1// class NewsletterValidation extends HTMLElement{constructor(){super(),document.querySelector(".newsletter_btn").addEventListener("click",this.CheckValidation.bind(this))}CheckValidation(e){this.querySelector(".newsletter_err").innerHTML="";const t=document.querySelector(".email"),r=document.querySelector(".newsletter_err");if(t.value){if(t.value.match(/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/))return!0;r.innerHTML="Valid email address is required",t.focus(),e.preventDefault()}else r.innerHTML="Email address is required",t.focus(),e.preventDefault()}}customElements.define("newsletter-tag",NewsletterValidation);class LoadMore extends HTMLElement{constructor(){super(),this.querySelector(".load_more").addEventListener("click",this.LoadMoreData.bind(this))}LoadMoreData(e){e.preventDefault();const t=window.location.search.substring(1),r=document.querySelector(".colle_item").dataset.next;if(t)var o=r+"&"+t;else o=r;o&&(this.classList.add("loading"),fetch(o).then(e=>e.text()).then(e=>{const t=(new DOMParser).parseFromString(e,"text/html"),r=document.querySelector(".colle_item"),o=t.querySelector(".colle_item");r.innerHTML+=o.innerHTML,r.dataset.next=o.dataset.next,""==o.dataset.next?(this.classList.remove("loading"),this.classList.add("no-product")):this.classList.add("loading"),this.classList.remove("loading");var api=new Yotpo.API(yotpo);api.refreshWidgets()}),SetWishlist())}}customElements.define("load-more",LoadMore);class LoadMoreColle extends HTMLElement{constructor(){super(),this.querySelector(".load_more_colle").addEventListener("click",this.LoadMoreDataColl.bind(this))}LoadMoreDataColl(e){e.preventDefault();const t=window.location.search.substring(1),r=document.querySelector(".main_grid").dataset.next;if(t)var o=r+"&"+t;else o=r;o&&(this.classList.add("loading"),fetch(o).then(e=>e.text()).then(e=>{const t=(new DOMParser).parseFromString(e,"text/html"),r=document.querySelector(".main_grid"),o=t.querySelector(".main_grid");r.innerHTML+=o.innerHTML,r.dataset.next=o.dataset.next,""==o.dataset.next?(this.classList.remove("loading"),this.classList.add("no-product")):this.classList.add("loading"),this.classList.remove("loading")}))}}customElements.define("load-more-colle",LoadMoreColle);/*class CollectionFilter extends HTMLElement{constructor(){super(),this.filterOption=[],console.log(12);this.main_form=document.getElementById("filter-form-id"),this.active_filter=document.querySelector(".active_filter_cls"),this.active_filter_mobile=document.querySelector(".mobile_active_filter_cls"),this.debounce=(e=>{let t;return function(){const r=this,o=arguments;clearTimeout(t),t=setTimeout(()=>e.apply(r,o),500)}}),this.querySelector("form").addEventListener("input",this.debounce(this.applyFilter.bind(this))),document.querySelectorAll("#active_option_id").length>0&&document.querySelectorAll(".active_option_cls").forEach(e=>{e.addEventListener("click",this.removeFilter.bind(this))}),this.HideEmptyActivePart(),""==this.active_filter.textContent.trim()&&(this.active_filter.innerHTML=""),""==this.active_filter_mobile.textContent.trim()&&(this.active_filter_mobile.innerHTML="")}applyFilter(e){"sort_by"==e.target.name&&document.body.classList.contains("filter_menu")&&document.body.classList.remove("filter_menu");const t=new FormData(e.target.closest("form")),r=new URLSearchParams(t).toString();this.getPage(r,e)}resetFilter(e){e.preventDefault();e.target.href;this.getPage(new URL(e.target.href).searchParams.toString())}removeFilter(e){e.preventDefault(),e.target.classList.contains("apply_all_cls")?document.body.classList.contains("filter_menu")&&document.body.classList.remove("filter_menu"):(console.log(e.target),this.getPage(new URL(e.target.href).searchParams.toString()),this.main_form.querySelectorAll(".filter-drop").forEach(e=>{e.classList.remove("open")}))}getPage(e,t){this.getSection().map(r=>{const o=window.location.pathname+"?section_id="+r.section+"&"+e,n=e=>e.url===o;this.filterOption.some(n)?this.renderFromArray(n,r,t):this.renderFromUrl(o,r,t),this.updateUrl(e)})}renderFromUrl(e,t,r){fetch(e).then(e=>e.text()).then(t=>{const o=t;this.filterOption=[...this.filterOption,{response_html:o,url:e}
1],"true"==this.main_form.dataset.filter&&this.renderFilter(o,r),this.renderProductList(o)})}renderFromArray(e,t,r){const o=this.filterOption.find(e).response_html;"true"==this.main_form.dataset.filter&&this.renderFilter(o,r),this.renderProductList(o)}renderFilter(e,t){const r=(new DOMParser).parseFromString(e,"text/html").querySelectorAll("#filter-form-id .filter_option_cls");Array.from(r).forEach(e=>{document.querySelector('.filter_option_cls[data-index="'+e.dataset.index+'"]').innerHTML=e.innerHTML,document.querySelector('.filter_option_cls[data-index="'+e.dataset.index+'"]').classList.contains("open")?document.querySelector('.filter_option_cls[data-index="'+e.dataset.index+'"] .filter__dec').style.display="block":document.querySelector('.filter_option_cls[data-index="'+e.dataset.index+'"] .filter__dec').style.display="none"}),this.renderActiveFilter(e)}renderProductList(e){const t=(new DOMParser).parseFromString(e,"text/html"),r=document.getElementById("main_collection_cls");r.innerHTML=t.getElementById("main_collection_cls").innerHTML,"true"==this.main_form.dataset.pagination&&t.getElementById("main_collection_cls").dataset.next&&(r.dataset.next=t.getElementById("main_collection_cls").dataset.next);var api=new Yotpo.API(yotpo);api.refreshWidgets()}renderActiveFilter(e){[".active_filter_cls",".mobile_active_filter_cls"].forEach(t=>{const r=(new DOMParser).parseFromString(e,"text/html");r.querySelector(t)&&(document.querySelector(t).innerHTML=r.querySelector(t).innerHTML)}),this.HideEmptyActivePart(),this.setResetButton(),this.setRemoveButton()}HideEmptyActivePart(){""==this.active_filter.textContent.trim()?(this.active_filter.innerHTML="",this.active_filter.style.display="none"):this.active_filter.style.display="flex",""==this.active_filter_mobile.textContent.trim()?(this.active_filter_mobile.innerHTML="",this.active_filter_mobile.style.display="none"):this.active_filter_mobile.style.display="flex"}setResetButton(){document.querySelectorAll(".reset_filter").forEach(e=>{e.addEventListener("click",this.resetFilter.bind(this))})}setRemoveButton(){document.querySelectorAll(".active_option_cls").forEach(e=>{e.addEventListener("click",this.removeFilter.bind(this))})}getSection(){return[{id:"main_collection_cls",section:document.getElementById("main_collection_cls").dataset.id}]}updateUrl(e){history.pushState({},"",`${window.location.pathname}${e&&"?".concat(e)}`)}}customElements.define("filter-menu",CollectionFilter);*/class PriceFieldFilter extends HTMLElement{constructor(){super(),this.querySelectorAll("input").forEach(e=>{e.addEventListener("change",this.onInputField.bind(this))}),this.setMinMaxVal()}onInputField(e){this.setMinMaxVal()}setMinMaxVal(){const e=this.querySelectorAll("input"),t=e[0],r=e[1];r.value&&t.setAttribute("max",r.value),t.value&&r.setAttribute("min",t.value),""===t.value&&t.setAttribute("min",t.min),""===r.value&&r.setAttribute("max",r.getAttribute("max"))}}customElements.define("price-field",PriceFieldFilter);class Cart extends HTMLElement{constructor(){super()}updateQuantity(e,t,r){var o={method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({line:e,quantity:t})};fetch("/cart/change.js",o).then(e=>e.json()).then(e=>{var t="";"drawer"==r?t="/":"cart"==r&&(t="/cart"),update_cart_drawer(t)})}}customElements.define("cart-item",Cart);class CartItemRemove extends HTMLElement{constructor(){super(),this.querySelectorAll(".cart_item_remove").forEach(e=>{e.addEventListener("click",function(e){e.preventDefault(),this.closest("cart-item").updateQuantity(this.dataset.index,0,this.dataset.class)})})}}customElements.define("cart-remove",CartItemRemove);class ChangeQuantity extends Cart{constructor(){super(),this.input=this.querySelector("input"),this.querySelectorAll(".update_qnt_btn").forEach(e=>e.addEventListener("click",this.ChangeVal.bind(this,e))),this.querySelectorAll(".quantity-input").forEach(e=>e.addEventListener("change",this.ChangeVal.bind(this,e)))}ChangeVal(e,t){"click"==t.type&&("plus"===e.dataset.name?this.input.stepUp():this.input.stepDown());var r=e.dataset.index,o=parseInt(this.input.value),n=parseInt(this.input.dataset.max),i=this.input.dataset.title,l=this.input.dataset.class;if(void 0!==this.input.dataset.max)if(n>=o)this.updateQuantity(r,o,l);else{var s=this;this.closest("tr").querySelector(".cart_error").innerHTML="All "+n+' "'+i+'" product are in y
1our cart.',setTimeout(function(){s.closest("tr").querySelector(".cart_error").innerHTML="",s.updateQuantity(r,n,l)},4e3),this.input.value=n}else this.updateQuantity(r,o,l)}}customElements.define("quantity-input",ChangeQuantity);class AddToCart extends HTMLElement{constructor(){super(),this.querySelectorAll(".add_to_cart_btn").forEach(t=>{t.addEventListener("click",this.addToCart.bind(this))})}addToCart(t){t.preventDefault();var e=this.querySelector(".add_to_cart_btn"),a=this.querySelector("input[name='id']").value;e.classList.add("loading");var d={method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({id:a,quantity:1})};fetch("/cart/add.js",d).then(t=>t.json()).then(t=>{update_cart_drawer("/"),setTimeout(function(){document.body.classList.add("cartDrawer"),e.classList.remove("loading")},600)}).catch(function(t){console.log("Request failed",t)})}}customElements.define("add-to-cart",AddToCart);class PinCodeVerify extends HTMLElement{constructor(){super();const e=document.querySelector(".verify_btn");this.input=document.querySelector(".pin_code_text"),e.addEventListener("click",this.VerifyPincode.bind(this))}VerifyPincode(e){if(e.preventDefault(),this.querySelector(".erroe-msg").innerHTML="",""==this.input.value)this.querySelector(".erroe-msg").innerHTML="Please enter pincode",this.querySelector(".erroe-msg").style.color="red";else{const e=this.querySelector("[data-ele='pincodes_file']").dataset.file,r=this.input.value;var t=!1;console.log(e),fetch(e).then(e=>e.text()).then(e=>{for(var o=e.split("\n"),n=0;n<o.length;n++){var i=o[n].split(",");""!=i[0]&&i[0]==r&&(t=!0,this.querySelector(".erroe-msg").innerHTML=i[3],this.querySelector(".erroe-msg").style.color="green")}0==t&&(this.querySelector(".erroe-msg").innerHTML="Sorry, Delivery not available on your location",this.querySelector(".erroe-msg").style.color="red")})}}}customElements.define("location-verify",PinCodeVerify);class ChangeProductQuantity extends HTMLElement{constructor(){super(),this.input=this.querySelector("input"),this.querySelectorAll(".update_qnt_btn").forEach(e=>e.addEventListener("click",this.ChangeVal.bind(this,e)))}ChangeVal(e,t){"plus"===e.dataset.name?this.input.stepUp():this.input.stepDown()}}var form;(customElements.define("quantity-input-button",ChangeProductQuantity),document.querySelector("button.add_to_cart_button")&&document.querySelector("button.add_to_cart_button").addEventListener("click",function(e){e.preventDefault();var t=this;this.form=this.closest("form");var r=this.form.querySelector("input[name='id']").value,o=1;this.form.querySelector(".quantity-input")&&(o=this.form.querySelector(".quantity-input").value);var n={method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({id:r,quantity:o})};t.classList.add("loading"),fetch("/cart/add.js",n).then(e=>e.json()).then(e=>{update_cart_drawer("/"),setTimeout(function(){document.body.classList.add("cartDrawer"),t.classList.remove("loading")},600)}).catch(function(e){console.log("Request failed",e)})}),document.querySelectorAll(".testimonial_img").forEach(e=>{e.addEventListener("click",function(){if(document.body.classList.add("popupmodal"),this.parentNode.querySelector(".modal_body"))var e=this.parentNode.querySelector(".modal_body").innerHTML;var t=document.querySelector(".modal");void 0!==e&&null!=e&&(t.querySelector(".modal_body").innerHTML=e)})}),document.querySelectorAll(".modal-i-close").forEach(e=>{e.addEventListener("click",function(){document.body.classList.remove("popupmodal")})}),window.addEventListener("load",e=>{if(document.querySelector(".testimonial-grid")){for(var t=document.querySelector(".testimonial-grid").querySelectorAll("li.li_list").length,r=document.querySelector(".testimonial-grid").dataset.limit,o=0;o<r;o++)void 0!==document.querySelector(".testimonial-grid").querySelectorAll("li.li_list")[o]&&document.querySelector(".testimonial-grid").querySelectorAll("li.li_list")[o].classList.contains("inactive")&&(document.querySelector(".testimonial-grid").querySelectorAll("li.li_list")[o].classList.remove("inactive"),document.querySelector(".testimonial-grid").querySelectorAll("li.li_list")[o].classList.add("active"));document.querySelector(".monial_grid .load_more_testimonials").style.display=t>r?"inline-block":"none"}}),document.querySelector(".monial_grid .load_more_testimonials")&&document.querySelector(".monial_grid .load_more_testimonials").addEventListener("click",function(){for(var e=document.querySelector(".testimonial-grid").dataset.limit,t=0;t<e;t++)document.querySelector(".testimonial-grid").querySelectorAll("li.inactive")[0]&&document.querySelector(".testimonial-grid").querySelectorAll("li.inactive")[0].classList.remove("inactive");check_load_more()}),document.querySelector(".contact_us_btn"))&&((form=document.querySelector(".contact_us_btn").closest("form")).querySelectorAll(".form__field").forEach((e,t)=>{e.addEventListener("keyup",function(e){checkVal(form)})}),form.querySelector(".contact_us_btn").addEventListener("click",function(e){var t=form.querySelector(".name"),r=form.querySelector(".email"),o=form.querySelector(".phone_no"),n=form.querySelector(".message"),i=form.querySelector(".alert--error");
1if(t.value)if(r.value)if(r.value.match(/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/))if(o.value){if(n.value)return!0;i.innerHTML="Enter your message",n.focus(),e.preventDefault()}else i.innerHTML="Enter your phone number",o.focus(),e.preventDefault();else i.innerHTML="Enter your valid email address",r.focus(),e.preventDefault();else i.innerHTML="Enter your email address",r.focus(),e.preventDefault();else i.innerHTML="Enter your name",t.focus(),e.preventDefault()}));document.querySelector(".registration_btn")&&(form=document.querySelector(".registration_btn").closest("form")).querySelector(".registration_btn").addEventListener("click",function(e){var t=form.querySelector(".fname"),r=form.querySelector(".lname"),o=form.querySelector(".email"),n=form.querySelector(".password"),i=form.querySelector(".alert--error");if(t.value)if(r.value)if(o.value)if(o.value.match(/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/))if(n.value){if(!(n.value.length<5))return!0;i.innerHTML="Password is too short (minimum is 5 characters)",n.focus(),e.preventDefault()}else i.innerHTML="Enter your password",n.focus(),e.preventDefault();else i.innerHTML="Enter your valid email address",o.focus(),e.preventDefault();else i.innerHTML="Enter your email address",o.focus(),e.preventDefault();else i.innerHTML="Enter your last name",r.focus(),e.preventDefault();else i.innerHTML="Enter your first name",t.focus(),e.preventDefault()});function update_cart_drawer(e){fetch(e).then(e=>e.text()).then(e=>{var t=(new DOMParser).parseFromString(e,"text/html"),r=0;t.querySelector(".cart_cls")&&(r=t.querySelector(".cart_cls").dataset.item,document.querySelector(".cart_cls").innerHTML=t.querySelector(".cart_cls").innerHTML),t.querySelector(".cart_drawer_update")&&(r=t.querySelector(".cart_drawer_update").dataset.item,document.querySelector(".cart_drawer_update").innerHTML=t.querySelector(".cart_drawer_update").innerHTML),r>0?(document.querySelector(".cart_bubble").style.display="flex",document.querySelector(".cart_bubble").innerHTML=r):document.querySelector(".cart_bubble").style.display="none"})}function check_load_more(){var e=document.querySelector(".testimonial-grid").querySelectorAll("li.inactive").length,t=document.querySelector(".testimonial-grid").dataset.limit;e>=parseInt(t)?document.querySelector(".monial_grid .load_more_testimonials").style.display="block":document.querySelector(".monial_grid .load_more_testimonials").style.display="none"}function checkVal(e){var t=e.querySelector(".name"),r=e.querySelector(".email"),o=e.querySelector(".phone_no"),n=e.querySelector(".message");""!=t.value&&""!=r.value&&""!=o.value&&""!=n.value?e.querySelector(".contact_us_btn").classList.remove("disabled"):e.querySelector(".contact_us_btn").classList.add("disabled")}document.querySelector(".login_btn")&&document.querySelector(".login_btn").addEventListener("click",function(e){var t=this.closest(".login_form"),r=t.querySelector(".email"),o=t.querySelector(".password"),n=t.querySelector(".alert--error");if(r.value)if(r.value.match(/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)){if(o.value)return!0;n.innerHTML="Enter your password",o.focus(),e.preventDefault()}else n.innerHTML="Enter your valid email address",r.focus(),e.preventDefault();else n.innerHTML="Enter your email address",r.focus(),e.preventDefault()}),document.querySelector(".forgot_pass_btn")&&document.querySelector(".forgot_pass_btn").addEventListener("click",function(e){var t=this.closest(".recover-pss"),r=t.querySelector(".email"),o=t.querySelector(".alert--error");if(r.value){if(r.value.match(/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/))return!0;o.innerHTML="Enter your valid email address",r.focus(),e.preventDefault()}else o.innerHTML="Enter your email address",r.focus(),e.preventDefault()}),document.querySelector(".activate_acc_btn")&&document.querySelector(".activate_acc_btn").addEventListener("click",function(e){var t=this.closest(".form"),r=t.querySelector(".password"),o=t.querySelector(".confirm_password"),n=t.querySelector(".alert--error");
1if(r.value)if(o.value){if(r.value==o.value)return!0;n.innerHTML="Password does not match with confirm password",o.focus(),o.value="",e.preventDefault()}else n.innerHTML="Enter your confirm password",o.focus(),e.preventDefault();else n.innerHTML="Enter your password",r.focus(),e.preventDefault()}),document.querySelector(".reset_pass_btn")&&document.querySelector(".reset_pass_btn").addEventListener("click",function(e){var t=this.closest(".form"),r=t.querySelector(".password"),o=t.querySelector(".confirm_password"),n=t.querySelector(".alert--error");if(r.value)if(o.value){if(r.value==o.value)return!0;n.innerHTML="Password does not match with confirm password",o.focus(),o.value="",e.preventDefault()}else n.innerHTML="Enter your confirm password",o.focus(),e.preventDefault();else n.innerHTML="Enter your password",r.focus(),e.preventDefault()}),document.querySelector(".btn_address")&&document.querySelectorAll(".btn_address").forEach(e=>{e.addEventListener("click",function(e){var t=this.closest("form"),r=t.querySelector(".fname"),o=t.querySelector(".lname"),n=t.querySelector(".company"),i=t.querySelector(".add1"),l=t.querySelector(".city"),s=t.querySelector(".selcountry"),c=t.querySelector(".zipcode"),a=t.querySelector(".phone_no");t.querySelectorAll(".form-error").forEach(e=>{e.style.display="none"});var u=[];if(r.value?o.value?n.value?i.value?l.value?"---"==s.value?(s.focus(),u.push("selcountry"),e.preventDefault()):c.value?a.value||(a.focus(),u.push("phone_no"),e.preventDefault()):(c.focus(),u.push("zipcode"),e.preventDefault()):(l.focus(),u.push("city"),e.preventDefault()):(i.focus(),u.push("add1"),e.preventDefault()):(n.focus(),u.push("company"),e.preventDefault()):(o.focus(),u.push("lname"),e.preventDefault()):(r.focus(),u.push("fname"),e.preventDefault()),u.length>0){var d="";return d="selcountry"==u[0]?"please select country":"* This field is required",t.querySelector(".err-"+u[0]).innerHTML=d,t.querySelector(".err-"+u[0]).style.display="block",t.querySelector("."+u[0]).focus(),!1}return t.querySelector(".form-error").style.display="none",!0})}),document.querySelector(".province_cls")&&document.querySelectorAll(".province_cls").forEach(e=>{e.addEventListener("change",function(){this.closest("form").querySelector(".err-selcountry").style.display="none"})}),document.addEventListener("DOMContentLoaded",function(e){document.querySelector(".faq-panel")&&document.querySelectorAll(".faq-panel").forEach(e=>{""==e.querySelector(".faq-inner-panel").innerHTML.trim()&&e.remove()})}),document.querySelector(".serch_icon_")&&document.querySelector(".serch_icon_").addEventListener("click",function(){document.body.classList.add("search_bar")}),document.querySelector(".close-icon")&&document.querySelector(".close-icon").addEventListener("click",function(){document.body.classList.remove("search_bar")}),document.querySelector(".user_icon_")&&document.querySelector(".user_icon_").addEventListener("click",function(){document.body.classList.toggle("active"),document.querySelector(".currunt_ul").classList.toggle("show-menu")}),document.querySelector(".back_to_top")&&document.querySelector(".back_to_top").addEventListener("click",function(){window.scrollTo({top:0,behavior:"smooth"})});const debounce=(e,t)=>{let r;return function(){const o=this,n=arguments;clearTimeout(r),r=setTimeout(()=>e.apply(o,n),t)}};function CodeCopy(e){const t=document.querySelector("body"),r=document.createElement("textarea");t.appendChild(r),r.value=e,r.select(),document.execCommand("copy"),t.removeChild(r)}document.querySelector(".topbar_dec img.copy_icon_cls")&&document.querySelectorAll(".topbar_dec").forEach(e=>{e.querySelector("img.copy_icon_cls").addEventListener("click",function(e){e.preventDefault();var t=this.closest(".topbar-handline").querySelector("span").innerHTML;""==t&&void 0===t||(this.closest(".topbar_dec").querySelector(".Copied-text").style.display="block",CodeCopy(t)),debounce(function(e){e.closest(".topbar_dec").querySelector(".Copied-text").style.display="none"},2e3)(this)})}),document.querySelector(".discount-copy-img")&&document.querySelector(".discount-copy-img").addEventListener("click",function(){var e=this.closest(".discount-copy").querySelector(".discount_code").innerHTML;
1""==e&&void 0===e||(this.closest(".discount-copy").querySelector(".Copied-text").style.display="block",CodeCopy(e)),debounce(function(e){e.closest(".discount-copy").querySelector(".Copied-text").style.display="none"},2e3)(this)});document.querySelector(".buy_now_button")&&document.querySelector(".buy_now_button").addEventListener("click",(function(){var t=new Event("click",{bubbles:!0});document.querySelector(".shopify-payment-button")&&document.querySelector(".shopify-payment-button").querySelector('button[data-testid="Checkout-button"]').dispatchEvent(t)})); 2 3class NewsletterValidation extends HTMLElement { 4 constructor() { 5 super(), document.querySelector(".newsletter_btn").addEventListener("click", this.CheckValidation.bind(this)); 6 } 7 CheckValidation(e) { 8 this.querySelector(".newsletter_err").innerHTML = ""; 9 const t = document.querySelector(".email"), 10 r = document.querySelector(".newsletter_err"); 11 if (t.value) { 12 if (t.value.match(/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)) return !0; 13 (r.innerHTML = "Valid email address is required"), t.focus(), e.preventDefault(); 14 } else (r.innerHTML = "Email address is required"), t.focus(), e.preventDefault(); 15 } 16} 17customElements.define("newsletter-tag", NewsletterValidation); 18 19class LoadMore extends HTMLElement { 20 constructor() { 21 super(), this.querySelector(".load_more").addEventListener("click", this.LoadMoreData.bind(this)); 22 } 23 LoadMoreData(e) { 24 e.preventDefault(); 25 const t = window.location.search.substring(1), 26 r = document.querySelector(".colle_item").dataset.next; 27 if (t) var o = r + "&" + t; 28 else o = r; 29 o && 30 (this.classList.add("loading"), 31 fetch(o) 32 .then((e) => e.text()) 33 .then((e) => { 34 const t = new DOMParser().parseFromString(e, "text/html"), 35 r = document.querySelector(".colle_item"), 36 o = t.querySelector(".colle_item"); 37 (r.innerHTML += o.innerHTML), 38 (r.dataset.next = o.dataset.next), 39 "" == o.dataset.next ? (this.classList.remove("loading"), this.classList.add("no-product")) : this.classList.add("loading"), 40 this.classList.remove("loading"); 41 var api = new Yotpo.API(yotpo); 42 api.refreshWidgets(); 43 }), 44 SetWishlist()); 45 } 46} 47customElements.define("load-more", LoadMore); 48 49class LoadMoreColle extends HTMLElement { 50 constructor() { 51 super(), this.querySelector(".load_more_colle").addEventListener("click", this.LoadMoreDataColl.bind(this)); 52 } 53 54 LoadMoreDataColl(e) { 55 e.preventDefault(); 56 const t = window.location.search.substring(1), 57 r = document.querySelector(".main_grid").dataset.next; 58 if (t) var o = r + "&" + t; 59 else o = r; 60 o && 61 (this.classList.add("loading"), 62 fetch(o) 63 .then((e) => e.text()) 64 .then((e) => { 65 const t = new DOMParser().parseFromString(e, "text/html"), 66 r = document.querySelector(".main_grid"), 67 o = t.querySelector(".main_grid"); 68 (r.innerHTML += o.innerHTML), 69 (r.dataset.next = o.dataset.next), 70 "" == o.dataset.next ? (this.classList.remove("loading"), this.classList.add("no-product")) : this.classList.add("loading"), 71 this.classList.remove("loading"); 72 })); 73 } 74} 75customElements.define("load-more-colle", LoadMoreColle); 76 77/*class CollectionFilter extends HTMLElement{constructor(){super(),this.filterOption=[],console.log(12);this.main_form=document.getElementById("filter-form-id"),this.active_filter=document.querySelector(".active_filter_cls"),this.active_filter_mobile=document.querySelector(".mobile_active_filter_cls"),this.debounce=(e=>{let t;return function(){const r=this,o=arguments;clearTimeout(t),t=setTimeout(()=>e.apply(r,o),500)}}),this.querySelector("form").addEventListener("input",this.debounce(this.applyFilter.bind(this))),document.querySelectorAll("#active_option_id").length>
770&&document.querySelectorAll(".active_option_cls").forEach(e=>{e.addEventListener("click",this.removeFilter.bind(this))}),this.HideEmptyActivePart(),""==this.active_filter.textContent.trim()&&(this.active_filter.innerHTML=""),""==this.active_filter_mobile.textContent.trim()&&(this.active_filter_mobile.innerHTML="")}applyFilter(e){"sort_by"==e.target.name&&document.body.classList.contains("filter_menu")&&document.body.classList.remove("filter_menu");const t=new FormData(e.target.closest("form")),r=new URLSearchParams(t).toString();this.getPage(r,e)}resetFilter(e){e.preventDefault();e.target.href;this.getPage(new URL(e.target.href).searchParams.toString())}removeFilter(e){e.preventDefault(),e.target.classList.contains("apply_all_cls")?document.body.classList.contains("filter_menu")&&document.body.classList.remove("filter_menu"):(console.log(e.target),this.getPage(new URL(e.target.href).searchParams.toString()),this.main_form.querySelectorAll(".filter-drop").forEach(e=>{e.classList.remove("open")}))}getPage(e,t){this.getSection().map(r=>{const o=window.location.pathname+"?section_id="+r.section+"&"+e,n=e=>e.url===o;this.filterOption.some(n)?this.renderFromArray(n,r,t):this.renderFromUrl(o,r,t),this.updateUrl(e)})}renderFromUrl(e,t,r){fetch(e).then(e=>e.text()).then(t=>{const o=t;this.filterOption=[...this.filterOption,{response_html:o,url:e}],"true"==this.main_form.dataset.filter&&this.renderFilter(o,r),this.renderProductList(o)})}renderFromArray(e,t,r){const o=this.filterOption.find(e).response_html;"true"==this.main_form.dataset.filter&&this.renderFilter(o,r),this.renderProductList(o)}renderFilter(e,t){const r=(new DOMParser).parseFromString(e,"text/html").querySelectorAll("#filter-form-id .filter_option_cls");Array.from(r).forEach(e=>{document.querySelector('.filter_option_cls[data-index="'+e.dataset.index+'"]').innerHTML=e.innerHTML,document.querySelector('.filter_option_cls[data-index="'+e.dataset.index+'"]').classList.contains("open")?document.querySelector('.filter_option_cls[data-index="'+e.dataset.index+'"] .filter__dec').style.display="block":document.querySelector('.filter_option_cls[data-index="'+e.dataset.index+'"] .filter__dec').style.display="none"}),this.renderActiveFilter(e)}renderProductList(e){const t=(new DOMParser).parseFromString(e,"text/html"),r=document.getElementById("main_collection_cls");r.innerHTML=t.getElementById("main_collection_cls").innerHTML,"true"==this.main_form.dataset.pagination&&t.getElementById("main_collection_cls").dataset.next&&(r.dataset.next=t.getElementById("main_collection_cls").dataset.next);var api=new Yotpo.API(yotpo);api.refreshWidgets()}renderActiveFilter(e){[".active_filter_cls",".mobile_active_filter_cls"].forEach(t=>{const r=(new DOMParser).parseFromString(e,"text/html");r.querySelector(t)&&(document.querySelector(t).innerHTML=r.querySelector(t).innerHTML)}),this.HideEmptyActivePart(),this.setResetButton(),this.setRemoveButton()}HideEmptyActivePart(){""==this.active_filter.textContent.trim()?(this.active_filter.innerHTML="",this.active_filter.style.display="none"):this.active_filter.style.display="flex",""==this.active_filter_mobile.textContent.trim()?(this.active_filter_mobile.innerHTML="",this.active_filter_mobile.style.display="none"):this.active_filter_mobile.style.display="flex"}setResetButton(){document.querySelectorAll(".reset_filter").forEach(e=>{e.addEventListener("click",this.resetFilter.bind(this))})}setRemoveButton(){document.querySelectorAll(".active_option_cls").forEach(e=>{e.addEventListener("click",this.removeFilter.bind(this))})}getSection(){return[{id:"main_collection_cls",section:document.getElementById("main_collection_cls").dataset.id}]}updateUrl(e){history.pushState({},"",`${window.location.pathname}${e&&"?".concat(e)}`)}}customElements.define("filter-menu",CollectionFilter);*/ 78class PriceFieldFilter extends HTMLElement { 79 constructor() { 80 super(), 81 this.querySelectorAll("input").forEach((e) => { 82 e.addEventListener("change", this.onInputField.bind(this)); 83 }), 84 this.setMinMaxVal(); 85 } 86 onInputField(e) { 87 this.setMinMaxVal(); 88 } 89 setMinMaxVal() { 90 const e = this.querySelectorAll("input"), 91 t = e[0], 92 r = e[1]; 93 r.value && t.setAttribute("max", r.value), t.value && r.setAttribute("min", t.value), "" === t.value && t.setAttribute("min", t.min), "" === r.value && r.setAttribute("max", r.getAttribute("max")); 94 } 95} 96customElements.define("price-field", PriceFieldFilter); 97 98class Cart extends HTMLElement { 99 constructor() { 100 super(); 101 } 102 updateQuantity(e, t, r) { 103 var o = { 104 method: "POST", 105 headers: { "Content-Type": "application/json", Accept: "application/json" }, 106 body: JSON.stringify({ line: e, quantity: t }) 107 }; 108 fetch("/cart/change.js", o) 109 .then((e) => e.json()) 110 .then((e) => { 111 var t = ""; 112 "drawer" == r ? (t = "/") : "cart" == r && (t = "/cart"), update_cart_drawer(t); 113 }); 114 } 115} 116customElements.define("cart-item", Cart); 117 118class CartItemRemove extends HTMLElement { 119 constructor() { 120 super(), 121 this.querySelectorAll(".cart_item_remove").forEach((e) => { 122 e.addEventListener("click", function (e) { 123 e.preventDefault(); 124 125 var data_id = $(this).parents(".cart_item").attr("data_id"); 126 var remove_Ids = []; 127 128 if(data_id != ""){ 129 $(".cart_item[data_id='"+data_id+"']").each(function(index, value) { 130 remove_Ids.push($(this).attr("data_vid")); 131 }); 132 } 133 134 if(remove_Ids == "" ){ 135 this.closest("cart-item").updateQuantity(this.dataset.index, 0, this.dataset.class); 136 } 137 else{ 138 remove_products(remove_Ids,this.dataset.class) 139 } 140 }); 141 }); 142 } 143} 144customElements.define("cart-remove", CartItemRemove); 145 146function remove_products(remove_ids,r) { 147 var data = { updates: {} }; 148 for (i = 0; i < remove_ids.length; i++) { 149 data.updates[remove_ids[i]] = 0; 150 } 151 152 var o = { 153 method: "POST", 154 headers: { "Content-Type": "application/json", Accept: "application/json" }, 155 body: JSON.stringify(data) 156 }; 157 fetch("/cart/update.js", o) 158 .then((e) => e.json()) 159 .then((e) => { 160 var t = ""; 161 "drawer" == r ? (t = "/") : "cart" == r && (t = "/cart"), update_cart_drawer(t); 162 }); 163} 164 165class ChangeQuantity extends Cart { 166 constructor(){ 167 super(); 168 this.input = this.querySelector("input");
169 this.querySelectorAll(".update_qnt_btn").forEach((button) => button.addEventListener("click", this.ChangeVal.bind(this, button))); 170 this.querySelectorAll(".quantity-input").forEach((input) => input.addEventListener("change", this.ChangeVal.bind(this, input))); 171 } 172 173 ChangeVal(obj, event){ 174 if(event.type == 'click'){ 175 obj.dataset.name === 'plus'?this.input.stepUp():this.input.stepDown(); 176 } 177 178 var index = obj.dataset.index; 179 var input_val = parseInt(this.input.value); 180 var max_val = parseInt(this.input.dataset.max); 181 var title = this.input.dataset.title; 182 var type_cls = this.input.dataset.class; 183 184 if(typeof this.input.dataset.max !== 'undefined'){ 185 if(max_val >= input_val){ 186 187 var data_id = $(this).parents(".cart_item").attr("data_id"); 188 var update_qty = []; 189 190 if(data_id != ""){ 191 $(".cart_item[data_id='"+data_id+"']").each(function(index, value) { 192 update_qty.push($(this).attr("data_vid")); 193 }); 194 } 195 196 if(update_qty == "" ){ 197 this.updateQuantity(index, input_val, type_cls); 198 } 199 else{ 200 update_products(update_qty,input_val,type_cls) 201 } 202 } 203 else{ 204 var obje = this; 205 this.closest("tr").querySelector(".cart_error").innerHTML = 'All '+max_val+' "'+title+'" product are in your cart.'; 206 setTimeout(function(){ obje.closest("tr").querySelector(".cart_error").innerHTML = ''; 207 obje.updateQuantity(index, max_val, type_cls); 208 }, 4000); 209 this.input.value = max_val; 210 } 211 } 212 else{ 213 var data_id = $(this).parents(".cart_item").attr("data_id"); 214 var update_qty = []; 215 216 if(data_id != ""){ 217 $(".cart_item[data_id='"+data_id+"']").each(function(index, value) { 218 update_qty.push($(this).attr("data_vid")); 219 }); 220 } 221 222 if(update_qty == "" ){ 223 this.updateQuantity(index, input_val, type_cls); 224 } 225 else{ 226 update_products(update_qty,input_val,type_cls) 227 } 228 } 229 } 230} 231customElements.define('quantity-input', ChangeQuantity); 232 233function update_products(update_qty,qty,r){ 234 var update_data = { updates: {} }; 235 236 for (i = 0; i < update_qty.length; i++) { 237 update_data.updates[update_qty[i]] = qty; 238 } 239 240 var o = { 241 method: "POST", 242 headers: { "Content-Type": "application/json", Accept: "application/json" }, 243 body: JSON.stringify(update_data) 244 }; 245 fetch("/cart/update.js", o) 246 .then((e) => e.json()) 247 .then((e) => { 248 var t = ""; 249 "drawer" == r ? (t = "/") : "cart" == r && (t = "/cart"), update_cart_drawer(t); 250 }); 251} 252 253class AddToCart extends HTMLElement { 254 constructor() { 255 super(), 256 this.querySelectorAll(".add_to_cart_btn").forEach((t) => { 257 t.addEventListener("click", this.addToCart.bind(this)); 258 }); 259 } 260 addToCart(t) { 261 t.preventDefault(); 262 var e = this.querySelector(".add_to_cart_btn"), 263 a = this.querySelector("input[name='id']").value; 264 265 266 if($(this).hasClass("stpro-btn")){ 267 268 var form = $("form.product_form"); 269 270 var color_length = form.find(".var_dropdown .color_dropdown").length; 271 var active_color_length = form.find(".var_dropdown .color_dropdown").find("li.active").not("li.select_opt").length; 272 273 var cushion_length = form.find(".var_dropdown .cushion-type_dropdown").length; 274 var active_cushion_length = form.find(".var_dropdown .cushion-type_dropdown").find("li.active").not("li.select_opt").length; 275 276 var header_height = $("#headers").height(); 277 278 if(color_length > 0 && active_color_length == 0){ 279 form.find(".var_dropdown .color_dropdown").find(".frm_error").text("* Please select any color.").show(); 280 $('html, body').animate({ 281 scrollTop: form.find(".var_dropdown .color_dropdown").offset().top - header_height - 5 282 },300); 283 return false; 284 } 285 else if(cushion_length > 0 && active_cushion_length == 0) { 286 form.find(".var_dropdown .cushion-type_dropdown").find(".frm_error").text("* Please select any cushion type.").show(); 287 $('html, body').animate({ 288 scrollTop: form.find(".var_dropdown .cushion-type_dropdown").offset().top - header_height - 5 289 },300); 290 return false;
291 } 292 293 var qty = form.find(".quantity-input").val(); 294 295 if(form.find(".var_dropdown .foam_comfort_dropdown").length > 0 && form.find(".var_dropdown .foam_comfort_dropdown .form_comfart li").hasClass("active")){ 296 var foam_prod = $(".form_comfart_variants option:selected").attr("data-id"); 297 var foam_value = $(".form_comfart_variants option:selected").val(); 298 e.classList.add("loading"); 299 300 var formData = { 301 'items': [{'id': a,'quantity': qty,'properties': {'time': $.now(),'sub_prod':foam_value}},{'id': foam_prod,'quantity': qty,'properties': {'time': $.now(),'prod_type':'sub_prod'}}] 302 }; 303 } 304 else{ 305 var formData = {'items': [{'id': a,'quantity': qty}]} 306 } 307 } 308 else{ 309 var formData = {'items': [{'id': a,'quantity': 1}]} 310 } 311 312 var d = { 313 method: "POST", 314 headers: { "Content-Type": "application/json", Accept: "application/json" }, 315 body: JSON.stringify(formData) 316 }; 317 fetch("/cart/add.js", d) 318 .then((t) => t.json()) 319 .then((t) => { 320 update_cart_drawer("/"), 321 setTimeout(function () { 322 document.body.classList.add("cartDrawer"), e.classList.remove("loading"); 323 }, 600); 324 }) 325 .catch(function (t) { 326 console.log("Request failed", t); 327 }); 328 } 329} 330customElements.define("add-to-cart", AddToCart); 331 332class PinCodeVerify extends HTMLElement { 333 constructor() { 334 super(); 335 const e = document.querySelector(".verify_btn"); 336 (this.input = document.querySelector(".pin_code_text")), e.addEventListener("click", this.VerifyPincode.bind(this)); 337 } 338 VerifyPincode(e) { 339 if ((e.preventDefault(), (this.querySelector(".erroe-msg").innerHTML = ""), "" == this.input.value)) (this.querySelector(".erroe-msg").innerHTML = "Please enter pincode"), (this.querySelector(".erroe-msg").style.color = "red"); 340 else { 341 const e = this.querySelector("[data-ele='pincodes_file']").dataset.file, 342 r = this.input.value; 343 var t = !1; 344 console.log(e), 345 fetch(e) 346 .then((e) => e.text()) 347 .then((e) => { 348 for (var o = e.split("\n"), n = 0; n < o.length; n++) { 349 var i = o[n].split(","); 350 "" != i[0] && i[0] == r && ((t = !0), (this.querySelector(".erroe-msg").innerHTML = i[3]), (this.querySelector(".erroe-msg").style.color = "green")); 351 } 352 0 == t && ((this.querySelector(".erroe-msg").innerHTML = "Sorry, Delivery not available on your location"), (this.querySelector(".erroe-msg").style.color = "red")); 353 }); 354 } 355 } 356} 357customElements.define("location-verify", PinCodeVerify); 358 359class ChangeProductQuantity extends HTMLElement { 360 constructor() { 361 super(), (this.input = this.querySelector("input")), this.querySelectorAll(".update_qnt_btn").forEach((e) => e.addEventListener("click", this.ChangeVal.bind(this, e))); 362 } 363 ChangeVal(e, t) { 364 "plus" === e.dataset.name ? this.input.stepUp() : this.input.stepDown(); 365 } 366} 367var form; 368(customElements.define("quantity-input-button", ChangeProductQuantity), 369document.querySelector("button.add_to_cart_button") && 370 document.querySelector("button.add_to_cart_button").addEventListener("click", function (e) { 371 e.preventDefault(); 372 var t = this; 373 this.form = this.closest("form"); 374 var r = this.form.querySelector("input[name='id']").value, 375 o = 1; 376 this.form.querySelector(".quantity-input") && (o = this.form.querySelector(".quantity-input").value); 377 378 var color_length = $(this).parents("form").find(".var_dropdown .color_dropdown").length; 379 var active_color_length = $(this).parents("form").find(".var_dropdown .color_dropdown").find("li.active").not("li.select_opt").length; 380 381 var cushion_length = $(this).parents("form").find(".var_dropdown .cushion-type_dropdown").length; 382 var active_cushion_length = $(this).parents("form").find(".var_dropdown .cushion-type_dropdown").find("li.active").not("li.select_opt").length; 383 384 var header_height = $("#headers").height(); 385 if(color_length > 0 && active_color_length == 0){ 386 $(this).parents("form").find(".var_dropdown .color_dropdown").find(".frm_error").text("* Please select any color.").show(); 387 $('html, body').animate({ 388 scrollTop: $(this).parents("form").find(".var_dropdown .color_dropdown").offset().top - header_height - 5 389 },300); 390 return false;
391 } 392 else if(cushion_length > 0 && active_cushion_length == 0) { 393 $(this).parents("form").find(".var_dropdown .cushion-type_dropdown").find(".frm_error").text("* Please select any cushion type.").show(); 394 $('html, body').animate({ 395 scrollTop: $(this).parents("form").find(".var_dropdown .cushion-type_dropdown").offset().top - header_height - 5 396 },300); 397 return false; 398 } 399 400 if($(this).parents("form").find(".var_dropdown .foam_comfort_dropdown").length > 0 && $(this).parents("form").find(".var_dropdown .foam_comfort_dropdown .form_comfart li").hasClass("active")){ 401 var foam_prod = $(this).parents("form").find(".form_comfart_variants option:selected").attr("data-id"); 402 var foam_value = $(this).parents("form").find(".form_comfart_variants option:selected").val(); 403 404 var formData = { 405 'items': [{'id': r,'quantity': o,'properties': {'time': $.now(),'sub_prod':foam_value}},{'id': foam_prod,'quantity': o,'properties': {'time': $.now(),'prod_type':'sub_prod'}}] 406 }; 407 } 408 else{ 409 var formData = {'items': [{'id': r,'quantity': o}]} 410 } 411 412 var n = { 413 method: "POST", 414 headers: { "Content-Type": "application/json", Accept: "application/json" }, 415 body: JSON.stringify(formData) }; 416 t.classList.add("loading"), 417 fetch("/cart/add.js", n) 418 .then((e) => e.json()) 419 .then((e) => { 420 update_cart_drawer("/"), 421 setTimeout(function () { 422 document.body.classList.add("cartDrawer"), t.classList.remove("loading"); 423 }, 600); 424 }) 425 .catch(function (e) { 426 console.log("Request failed", e); 427 }); 428 }), 429 // document.querySelector("magic-checkout-btn").addEventListener("click", function(event){ 430 // //event.preventDefault(); 431 // //event.stopImmediatePropagation(); 432 // console.log(1); 433 // }), 434document.querySelectorAll(".testimonial_img").forEach((e) => { 435 e.addEventListener("click", function () { 436 if ((document.body.classList.add("popupmodal"), this.parentNode.querySelector(".modal_body"))) var e = this.parentNode.querySelector(".modal_body").innerHTML; 437 var t = document.querySelector(".modal"); 438 void 0 !== e && null != e && (t.querySelector(".modal_body").innerHTML = e); 439 }); 440}), 441document.querySelectorAll(".modal-i-close").forEach((e) => { 442 e.addEventListener("click", function () { 443 document.body.classList.remove("popupmodal"); 444 }); 445}), 446window.addEventListener("load", (e) => { 447 if (document.querySelector(".testimonial-grid")) { 448 for (var t = document.querySelector(".testimonial-grid").querySelectorAll("li.li_list").length, r = document.querySelector(".testimonial-grid").dataset.limit, o = 0; o < r; o++) 449 void 0 !== document.querySelector(".testimonial-grid").querySelectorAll("li.li_list")[o] && 450 document.querySelector(".testimonial-grid").querySelectorAll("li.li_list")[o].classList.contains("inactive") && 451 (document.querySelector(".testimonial-grid").querySelectorAll("li.li_list")[o].classList.remove("inactive"), document.querySelector(".testimonial-grid").querySelectorAll("li.li_list")[o].classList.add("active")); 452 document.querySelector(".monial_grid .load_more_testimonials").style.display = t > r ? "inline-block" : "none"; 453 } 454}), 455document.querySelector(".monial_grid .load_more_testimonials") && 456 document.querySelector(".monial_grid .load_more_testimonials").addEventListener("click", function () { 457 for (var e = document.querySelector(".testimonial-grid").dataset.limit, t = 0; t < e; t++) 458 document.querySelector(".testimonial-grid").querySelectorAll("li.inactive")[0] && document.querySelector(".testimonial-grid").querySelectorAll("li.inactive")[0].classList.remove("inactive"); 459 check_load_more(); 460 }), 461document.querySelector(".contact_us_btn")) && 462 ((form = document.querySelector(".contact_us_btn").closest("form")).querySelectorAll(".form__field").forEach((e, t) => { 463 e.addEventListener("keyup", function (e) { 464 checkVal(form); 465 }); 466 }), 467 form.querySelector(".contact_us_btn").addEventListener("click", function (e) { 468 var t = form.querySelector(".name"), 469 r = form.querySelector(".email"), 470 o = form.querySelector(".phone_no"), 471 n = form.querySelector(".message"), 472 i = form.querySelector(".alert--error"); 473 if (t.value) 474 if (r.value) 475 if (r.value.match(/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)) 476 if (o.value) { 477 if (n.value) return !0; 478 (i.innerHTML = "Enter your message"), n.focus(), e.preventDefault(); 479 } else (i.innerHTML = "Enter your phone number"), o.focus(), e.preventDefault(); 480 else (i.innerHTML = "Enter your valid email address"), r.focus(), e.preventDefault(); 481 else (i.innerHTML = "Enter your email address"), r.focus(), e.preventDefault(); 482 else (i.innerHTML = "Enter your name"), t.focus(), e.preventDefault(); 483 })); 484document.querySelector(".registration_btn") && 485 (form = document.querySelector(".registration_btn").closest("form")).querySelector(".registration_btn").addEventListener("click", function (e) { 486 var t = form.querySelector(".fname"), 487 r = form.querySelector(".lname"), 488 o = form.querySelector(".email"), 489 n = form.querySelector(".password"), 490 i = form.querySelector(".alert--error"); 491 if (t.value) 492 if (r.value) 493 if (o.value) 494 if (o.value.match(/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)) 495 if (n.value) { 496 if (!(n.value.length < 5)) return !0; 497 (i.innerHTML = "Password is too short (minimum is 5 characters)"), n.focus(), e.preventDefault(); 498 } else (i.innerHTML = "Enter your password"), n.focus(), e.preventDefault(); 499 else (i.innerHTML = "Enter your valid email address"), o.focus(), e.preventDefault(); 500 else (i.innerHTML = "Enter your email address"), o.focus(), e.preventDefault(); 501 else (i.innerHTML = "Enter your last name"), r.focus(), e.preventDefault(); 502 else (i.innerHTML = "Enter your first name"), t.focus(), e.preventDefault(); 503 }); 504function update_cart_drawer(e) { 505 fetch(e) 506 .then((e) => e.text()) 507 .then((e) => { 508 var t = new DOMParser().parseFromString(e, "text/html"), 509 r = 0; 510 t.querySelector(".cart_cls") && ((r = t.querySelector(".cart_cls").dataset.item), (document.querySelector(".cart_cls").innerHTML = t.querySelector(".cart_cls").innerHTML)), 511 t.querySelector(".cart_drawer_update") && ((r = t.querySelector(".cart_drawer_update").dataset.item), (document.querySelector(".cart_drawer_update").innerHTML = t.querySelector(".cart_drawer_update").innerHTML)), 512 r > 0 ? ((document.querySelector(".cart_bubble").style.display = "flex"), (document.querySelector(".cart_bubble").innerHTML = r)) : (document.querySelector(".cart_bubble").style.display = "none"); 513 }); 514} 515function check_load_more() { 516 var e = document.querySelector(".testimonial-grid").querySelectorAll("li.inactive").length, 517 t = document.querySelector(".testimonial-grid").dataset.limit; 518 e >= parseInt(t) ? (document.querySelector(".monial_grid .load_more_testimonials").style.display = "block") : (document.querySelector(".monial_grid .load_more_testimonials").style.display = "none"); 519} 520function checkVal(e) { 521 var t = e.querySelector(".name"), 522 r = e.querySelector(".email"), 523 o = e.querySelector(".phone_no"), 524 n = e.querySelector(".message"); 525 "" != t.value && "" != r.value && "" != o.value && "" != n.value ? e.querySelector(".contact_us_btn").classList.remove("disabled") : e.querySelector(".contact_us_btn").classList.add("disabled"); 526} 527document.querySelector(".login_btn") && 528 document.querySelector(".login_btn").addEventListener("click", function (e) { 529 var t = this.closest(".login_form"), 530 r = t.querySelector(".email"), 531 o = t.querySelector(".password"), 532 n = t.querySelector(".alert--error"); 533 if (r.value) 534 if (r.value.match(/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)) { 535 if (o.value) return !0; 536 (n.innerHTML = "Enter your password"), o.focus(), e.preventDefault(); 537 } else (n.innerHTML = "Enter your valid email address"), r.focus(), e.preventDefault(); 538 else (n.innerHTML = "Enter your email address"), r.focus(), e.preventDefault(); 539 }), 540 document.querySelector(".forgot_pass_btn") && 541 document.querySelector(".forgot_pass_btn").addEventListener("click", function (e) { 542 var t = this.closest(".recover-pss"), 543 r = t.querySelector(".email"), 544 o = t.querySelector(".alert--error"); 545 if (r.value) { 546 if (r.value.match(/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)) return !0; 547 (o.innerHTML = "Enter your valid email address"), r.focus(), e.preventDefault(); 548 } else (o.innerHTML = "Enter your email address"), r.focus(), e.preventDefault(); 549 }), 550 document.querySelector(".activate_acc_btn") && 551 document.querySelector(".activate_acc_btn").addEventListener("click", function (e) { 552 var t = this.closest(".form"), 553 r = t.querySelector(".password"), 554 o = t.querySelector(".confirm_password"), 555 n = t.querySelector(".alert--error"); 556 if (r.value) 557 if (o.value) { 558 if (r.value == o.value) return !0; 559 (n.innerHTML = "Password does not match with confirm password"), o.focus(), (o.value = ""), e.preventDefault(); 560 } else (n.innerHTML = "Enter your confirm password"), o.focus(), e.preventDefault(); 561 else (n.innerHTML = "Enter your password"), r.focus(), e.preventDefault(); 562 }), 563 document.querySelector(".reset_pass_btn") && 564 document.querySelector(".reset_pass_btn").addEventListener("click", function (e) { 565 var t = this.closest(".form"), 566 r = t.querySelector(".password"), 567 o = t.querySelector(".confirm_password"), 568 n = t.querySelector(".alert--error"); 569 if (r.value) 570 if (o.value) { 571 if (r.value == o.value) return !0; 572 (n.innerHTML = "Password does not match with confirm password"), o.focus(), (o.value = ""), e.preventDefault(); 573 } else (n.innerHTML = "Enter your confirm password"), o.focus(), e.preventDefault(); 574 else (n.innerHTML = "Enter your password"), r.focus(), e.preventDefault(); 575 }), 576 document.querySelector(".btn_address") && 577 document.querySelectorAll(".btn_address").forEach((e) => { 578 e.addEventListener("click", function (e) { 579 var t = this.closest("form"), 580 r = t.querySelector(".fname"), 581 o = t.querySelector(".lname"), 582 n = t.querySelector(".company"), 583 i = t.querySelector(".add1"), 584 l = t.querySelector(".city"), 585 s = t.querySelector(".selcountry"), 586 c = t.querySelector(".zipcode"), 587 a = t.querySelector(".phone_no"); 588 t.querySelectorAll(".form-error").forEach((e) => { 589 e.style.display = "none"; 590 }); 591 var u = []; 592 if ( 593 (r.value 594 ? o.value 595 ? n.value 596 ? i.value 597 ? l.value 598 ? "---" == s.value 599 ? (s.focus(), u.push("selcountry"), e.preventDefault()) 600 : c.value 601 ? a.value || (a.focus(), u.push("phone_no"), e.preventDefault()) 602 : (c.focus(), u.push("zipcode"), e.preventDefault())
603 : (l.focus(), u.push("city"), e.preventDefault()) 604 : (i.focus(), u.push("add1"), e.preventDefault()) 605 : (n.focus(), u.push("company"), e.preventDefault()) 606 : (o.focus(), u.push("lname"), e.preventDefault()) 607 : (r.focus(), u.push("fname"), e.preventDefault()), 608 u.length > 0) 609 ) { 610 var d = ""; 611 return ( 612 (d = "selcountry" == u[0] ? "please select country" : "* This field is required"), 613 (t.querySelector(".err-" + u[0]).innerHTML = d), 614 (t.querySelector(".err-" + u[0]).style.display = "block"), 615 t.querySelector("." + u[0]).focus(), 616 !1 617 ); 618 } 619 return (t.querySelector(".form-error").style.display = "none"), !0; 620 }); 621 }), 622document.querySelector(".province_cls") && 623 document.querySelectorAll(".province_cls").forEach((e) => { 624 e.addEventListener("change", function () { 625 this.closest("form").querySelector(".err-selcountry").style.display = "none"; 626 }); 627 }), 628document.addEventListener("DOMContentLoaded", function (e) { 629 document.querySelector(".faq-panel") && 630 document.querySelectorAll(".faq-panel").forEach((e) => { 631 "" == e.querySelector(".faq-inner-panel").innerHTML.trim() && e.remove(); 632 }); 633}), 634document.querySelector(".serch_icon_") && 635 document.querySelector(".serch_icon_").addEventListener("click", function () { 636 document.body.classList.add("search_bar"); 637 }), 638document.querySelector(".close-icon") && 639 document.querySelector(".close-icon").addEventListener("click", function () { 640 document.body.classList.remove("search_bar"); 641 }), 642document.querySelector(".user_icon_") && 643 document.querySelector(".user_icon_").addEventListener("click", function () { 644 document.body.classList.toggle("active"), document.querySelector(".currunt_ul").classList.toggle("show-menu"); 645 }), 646document.querySelector(".back_to_top") && 647 document.querySelector(".back_to_top").addEventListener("click", function () { 648 window.scrollTo({ top: 0, behavior: "smooth" }); 649}); 650const debounce = (e, t) => { 651 let r; 652 return function () { 653 const o = this, 654 n = arguments; 655 clearTimeout(r), (r = setTimeout(() => e.apply(o, n), t)); 656 }; 657}; 658function CodeCopy(e) { 659 const t = document.querySelector("body"), 660 r = document.createElement("textarea"); 661 t.appendChild(r), (r.value = e), r.select(), document.execCommand("copy"), t.removeChild(r); 662} 663document.querySelector(".topbar_dec img.copy_icon_cls") && 664 document.querySelectorAll(".topbar_dec").forEach((e) => { 665 e.querySelector("img.copy_icon_cls").addEventListener("click", function (e) { 666 e.preventDefault(); 667 var t = this.closest(".topbar-handline").querySelector("span").innerHTML; 668 ("" == t && void 0 === t) || ((this.closest(".topbar_dec").querySelector(".Copied-text").style.display = "block"), CodeCopy(t)), 669 debounce(function (e) { 670 e.closest(".topbar_dec").querySelector(".Copied-text").style.display = "none"; 671 }, 2e3)(this); 672 }); 673}), 674document.querySelector(".discount-copy-img") && 675 document.querySelector(".discount-copy-img").addEventListener("click", function () { 676 var e = this.closest(".discount-copy").querySelector(".discount_code").innerHTML; 677 ("" == e && void 0 === e) || ((this.closest(".discount-copy").querySelector(".Copied-text").style.display = "block"), CodeCopy(e)), 678 debounce(function (e) { 679 e.closest(".discount-copy").querySelector(".Copied-text").style.display = "none"; 680 }, 2e3)(this); 681}); 682document.querySelector(".buy_now_button") && 683 document.querySelector(".buy_now_button").addEventListener("click", function () { 684 var t = new Event("click", { bubbles: !0 }); 685 document.querySelector(".shopify-payment-button") && document.querySelector(".shopify-payment-button").querySelector('button[data-testid="Checkout-button"]').dispatchEvent(t); 686}); 687 688 689 690$(document).on("click",".discount-code-copy",function(){ 691 var code = $(this).parents(".discount-box").find(".code-text").html(); 692 693 if(code != '' || typeof code != 'undefined'){ 694 $(this).parents(".discount-box").find(".Copied-text").show() 695 CodeCopy(code); 696 } 697 698 setTimeout(function() { 699 $(".discount-box").find(".Copied-text").hide(); 700 }, 2000); 701}); 702 703/* Filter and Sorting */ 704class CollectionPageFilterNew extends HTMLElement { 705 constructor(){ 706 super(); 707 this.filterOption = []; 708 this.main_form = this.querySelector("form"); 709 710 this.debounce = (func) => { 711 let debounceTimer 712 return function() { 713 const context = this 714 const args = arguments 715 clearTimeout(debounceTimer) 716 debounceTimer 717 = setTimeout(() =>
717 func.apply(context, args), 500) 718 } 719 } 720 721 this.main_form.addEventListener("input", this.debounce(this.applyFilter.bind(this))); 722 document.querySelector(".filter-btn").addEventListener("click", this.openFilterDrawer.bind(this)); 723 724 /*document.body.addEventListener('click', (event) => { 725 console.log(1, event.target); 726 if(!this.querySelector("form").contains(event.target) && !this.querySelector(".filter-mob").contains(event.target)){ 727 console.log(12, this.querySelector("form").contains(event.target), this.querySelector(".filter-mob").contains(event.target)); 728 this.closeFilterDrawer(); 729 } 730 });*/ 731 } 732 733 openFilterDrawer(event){ 734 if(!event.target.closest(".container").querySelector("colle-filter").classList.contains("open")){ 735 event.target.closest(".container").querySelector("colle-filter").classList.add("open"); 736 !document.body.classList.contains("overflow-hidden") ? document.body.classList.add("overflow-hidden") : ''; 737 } 738 } 739 740 closeFilterDrawer(){ 741 console.log("close"); 742 this.classList.contains("open") ? this.classList.remove("open") : ''; 743 document.body.classList.contains("overflow-hidden") ? document.body.classList.remove("overflow-hidden") : ''; 744 } 745 746 openMobFilterDropdown(event){ 747 if(event.currentTarget.classList.contains("active")){ 748 event.currentTarget.classList.remove("active"); 749 }else{ 750 event.currentTarget.closest(".filter-wrapper").querySelectorAll(".filter-title-wrap").forEach(filterGroup => { 751 if(filterGroup.classList.contains("active")){ 752 filterGroup.classList.remove("active"); 753 } 754 }); 755 event.currentTarget.classList.add("active"); 756 } 757 } 758 759 applyFilter(event){ 760 const form_data = new FormData(this.main_form); 761 const search_para = new URLSearchParams(form_data).toString(); 762 this.getPage(search_para, event); 763 } 764 765 getPage(searchParam, event){ 766 const sections = this.getSection(); 767 768 sections.map((section)=>{ 769 const url= window.location.pathname+"?section_id="+section.section+"&"+searchParam; 770 const filterDataUrl = element => element.url === url; 771 console.log(url) 772 this.filterOption.some(filterDataUrl)? this.renderFromArray(filterDataUrl, section, event):this.renderFromUrl(url, section, event); 773 this.updateUrl(searchParam); 774 }); 775 } 776 777 renderFromUrl(url, section, event){ 778 fetch(url) 779 .then((response_data)=> { return response_data.text() }) 780 .then((response) => { 781 const response_html = response; 782 this.filterOption = [...this.filterOption, {response_html, url}]; 783 784 if(this.main_form.dataset.filter == 'true'){ 785 this.renderFilter(response_html,event); 786 } 787 this.renderProductList(response_html); 788 }); 789 } 790 791 renderFromArray(filterDataUrl, section, event){ 792 const html = this.filterOption.find(filterDataUrl).response_html; 793 if(this.main_form.dataset.filter == 'true'){ 794 this.renderFilter(html,event); 795 } 796 this.renderProductList(html); 797 } 798 799 renderFilter(response_html,event){ 800 const html_data = new DOMParser().parseFromString(response_html, 'text/html'); 801 const newFilterData = html_data.querySelector(".collection-filter"); 802 if(document.querySelector(".collection-filter") && html_data.querySelector(".collection-filter")){ 803 document.querySelector(".collection-filter").innerHTML = html_data.querySelector(".collection-filter").innerHTML; 804 } 805 } 806 807 renderProductList(response_html) { 808 const html_data = new DOMParser().parseFromString(response_html, 'text/html'); 809 const select = document.getElementById("main_collection_cls"); 810 if(select && html_data.getElementById("main_collection_cls")){ 811 select.innerHTML = html_data.getElementById("main_collection_cls").innerHTML; 812 } 813 814 if(this.main_form.dataset.pagination == 'true'){ 815 if(html_data.getElementById("main_collection_cls").dataset.next){ 816 select.dataset.next = html_data.getElementById("main_collection_cls").dataset.next; 817 }else{ 818 } 819 } 820 var api = new Yotpo.API(yotpo); 821 api.refreshWidgets(); 822 } 823 824 onActiveFilterClick(event) { 825 this.getPage(new URL(event.currentTarget.href).searchParams.toString()); 826 } 827 828 getSection(){ 829 return [ 830 { 831 id:'main_collection_cls', 832 section:document.getElementById("main_collection_cls").dataset.id 833 } 834 ] 835 } 836 837 updateUrl(searchParam){ 838 history.pushState({}, '', `${window.location.pathname}${searchParam && '?'.concat(searchParam)}`); 839 } 840} 841customElements.define('colle-filter', CollectionPageFilterNew); 842 843/* Remove active filters */ 844class removeActiveFilter extends HTMLElement { 845 constructor(){ 846 super(); 847 const facetLink = this.querySelector('a'); 848 facetLink.setAttribute('role', 'button'); 849 facetLink.addEventListener('click', this.closeFilter.bind(this)); 850 } 851 852 closeFilter(event) { 853 event.preventDefault(); 854 const form = this.closest('colle-filter') || document.querySelector('colle-filter'); 855 form.onActiveFilterClick(event); 856 } 857} 858customElements.define("remove-filter", removeActiveFilter); 859 860/* Show more filters */ 861class showMoreFilters extends HTMLElement { 862 constructor(){ 863 super(); 864 this.addEventListener('click', this.showMoreFilter.bind(this)); 865 } 866 867 showMoreFilter(event){ 868 event.preventDefault(); 869 if(event.target.closest(".filter-group").querySelector("ul").classList.contains("show-all-filter-value")){ 870 event.target.closest(".filter-group").querySelector("ul").classList.remove("show-all-filter-value"); 871 this.querySelector("a.show-more").style.display = 'block'; 872 this.querySelector("a.show-less").style.display = 'none'; 873 }else{ 874 event.target.closest(".filter-group").querySelector("ul").classList.add("show-all-filter-value"); 875 this.querySelector("a.show-more").style.display = 'none'; 876 this.querySelector("a.show-less").style.display = 'block'; 877 } 878 } 879} 880customElements.define("show-more-filter", showMoreFilters); 881 882/* Close mobile filter drawer */ 883class closeFilterDrawerClass extends HTMLElement { 884 constructor(){ 885 super(); 886 const removeIcon = this.querySelector('.close-mob-filter-drawer'); 887 removeIcon.addEventListener('click', (event) => { 888 const form = this.closest('colle-filter') || document.querySelector('colle-filter'); 889 form.closeFilterDrawer(event); 890 }); 891 } 892} 893customElements.define("close-filter-drawer", closeFilterDrawerClass); 894 895/* Open mobile filter drawer */ 896class openFilterDropDownMobile extends HTMLElement { 897 constructor(){ 898 super(); 899 this.addEventListener('click', function(event){ 900 const form = this.closest('colle-filter') || document.querySelector('colle-filter'); 901 form.openMobFilterDropdown(event); 902 }); 903 } 904} 905customElements.define("filter-title", openFilterDropDownMobile); 906
907$(document).on("click",".filter-apply-btn button",function(){ 908 $(".close-mob-filter-drawer").trigger("click"); 909}); 910 911 912 913/* Product varient show */ 914class VariantSelects extends HTMLElement { 915 constructor() { 916 super(); 917 this.addEventListener('change', this.onVariantChange); 918 } 919 920 onVariantChange() { 921 this.updateOptions(); 922 this.updateMasterId(); 923 this.toggleAddButton(true, '', false); 924 this.removeErrorMessage(); 925 this.updateVariantStatuses(); 926 927 if (!this.currentVariant) { 928 this.toggleAddButton(true, '', true); 929 this.setUnavailable(); 930 } else { 931 this.updateMedia(); 932 this.updateURL(); 933 this.updateVariantInput(); 934 this.renderProductInfo(); 935 } 936 } 937 938 updateOptions() { 939 this.options = Array.from(this.querySelectorAll('select'), (select) => select.value); 940 } 941 942 updateMasterId() { 943 this.currentVariant = this.getVariantData().find((variant) => { 944 return !variant.options 945 .map((option, index) => { 946 return this.options[index] === option; 947 }) 948 .includes(false); 949 }); 950 } 951 952 updateMedia() { 953 if (!this.currentVariant) return; 954 if (!this.currentVariant.featured_media) return; 955 956 document.getElementById('pro-img-'+this.currentVariant.featured_media.id)?.click(); 957 958 /*const mediaGalleries = document.querySelectorAll(`[id^="MediaGallery-${this.dataset.section}"]`); 959 mediaGalleries.forEach((mediaGallery) => 960 mediaGallery.setActiveMedia(`${this.dataset.section}-${this.currentVariant.featured_media.id}`, true) 961 ); 962 963 const modalContent = document.querySelector(`#ProductModal-${this.dataset.section} .product-media-modal__content`); 964 if (!modalContent) return; 965 const newMediaModal = modalContent.querySelector(`[data-media-id="${this.currentVariant.featured_media.id}"]`); 966 modalContent.prepend(newMediaModal);*/ 967 968 // Selected Variants Code 969 /* const variantValues = this.currentVariant.options 970 const mediaGallery = document.querySelector(`[id^="MediaGallery-${this.dataset.section}"]`) 971 if (mediaGallery.hasAttribute("image-grouping-enabled")) { 972 mediaGallery.querySelectorAll('[data-image-group]').forEach(el => el.classList.add('hide-media')) 973 variantValues.forEach(value => { mediaGallery.querySelectorAll(`[data-image-group="${value}"]`).forEach(el => el.classList.remove('hide-media')) }) 974 mediaGallery.querySelectorAll('slider-component').forEach(sli
974der => { slider.initPages() }) 975 }*/ 976 // Selected Variants Code end 977 } 978 979 updateURL() { 980 if (!this.currentVariant || this.dataset.updateUrl === 'false') return; 981 window.history.replaceState({}, '', `${this.dataset.url}?variant=${this.currentVariant.id}`); 982 } 983 984 updateVariantInput() { 985 const productForms = document.querySelectorAll(`#product-form-${this.dataset.section}`); 986 productForms.forEach((productForm) => { 987 const input = productForm.querySelector('input[name="id"]'); 988 input.value = this.currentVariant.id; 989 input.dispatchEvent(new Event('change', { bubbles: true })); 990 }); 991 } 992 993 updateVariantStatuses() { 994 const selectedOptionOneVariants = this.variantData.filter( 995 (variant) => this.querySelector(':checked').value === variant.option1 996 ); 997 const inputWrappers = [...this.querySelectorAll('.product-form__input')]; 998 inputWrappers.forEach((option, index) => { 999 if (index === 0) return; 1000 const optionInputs = [...option.querySelectorAll('input[type="radio"], option')]; 1001 const previousOptionSelected = inputWrappers[index - 1].querySelector(':checked').value; 1002 const availableOptionInputsValue = selectedOptionOneVariants 1003 .filter((variant) => variant.available && variant[`option${index}`] === previousOptionSelected) 1004 .map((variantOption) => variantOption[`option${index + 1}`]); 1005 this.setInputAvailability(optionInputs, availableOptionInputsValue); 1006 }); 1007 } 1008 1009 setInputAvailability(listOfOptions, listOfAvailableOptions) { 1010 listOfOptions.forEach((input) => { 1011 if (listOfAvailableOptions.includes(input.getAttribute('value'))) { 1012 input.innerText = input.getAttribute('value'); 1013 } else { 1014 input.innerText = window.variantStrings.unavailable_with_option.replace('[value]', input.getAttribute('value')); 1015 } 1016 }); 1017 } 1018 1019 removeErrorMessage() { 1020 const section = this.closest('section'); 1021 if (!section) return; 1022 1023 const productForm = section.querySelector('product-form'); 1024 if (productForm) productForm.handleErrorMessage(); 1025 } 1026 1027 renderProductInfo() { 1028 const requestedVariantId = this.currentVariant.id; 1029 const sectionId = this.dataset.originalSection ? this.dataset.originalSection : this.dataset.section; 1030 1031 fetch( 1032 `${this.dataset.url}?variant=${requestedVariantId}§ion_id=${ 1033 this.dataset.originalSection ? this.dataset.originalSection : this.dataset.section 1034 }` 1035 ) 1036 .then((response) => response.text()) 1037 .then((responseText) => { 1038 // prevent unnecessary ui changes from abandoned selections 1039 if (this.currentVariant.id !== requestedVariantId) return; 1040 1041 const html = new DOMParser().parseFromString(responseText, 'text/html'); 1042 1043 const destination = document.getElementById(`price-${this.dataset.section}`); 1044 const source = html.getElementById(`price-${this.dataset.originalSection ? this.dataset.originalSection : this.dataset.section}`); 1045 1046 const stPrice = document.getElementById(`stprice-${this.dataset.section}`); 1047 const AddstPrice = html.getElementById(`stprice-${this.dataset.section}`); 1048 1049 //const inventorySource = html.getElementById(`Inventory-${this.dataset.originalSection ? this.dataset.originalSection : this.dataset.section}`); 1050 //const inventoryDestination = document.getElementById(`Inventory-${this.dataset.section}`); 1051 1052 // const pricePerItemDestination = document.getElementById(`Price-Per-Item-${this.dataset.section}`); 1053 // const pricePerItemSource = html.getElementById(`Price-Per-Item-${this.dataset.originalSection ? this.dataset.originalSection : this.dataset.section}`); 1054 1055 if (source && destination) destination.innerHTML = source.innerHTML; 1056 if (AddstPrice && stPrice) stPrice.innerHTML = AddstPrice.innerHTML; 1057 1058 // if (inventorySource && inventoryDestination) inventoryDestination.innerHTML = inventorySource.innerHTML; 1059 1060 // if (pricePerItemSource && pricePerItemDestination) { 1061 // pricePerItemDestination.innerHTML = pricePerItemSource.innerHTML; 1062 // pricePerItemDestination.classList.toggle('hidden', pricePerItemSource.classList.contains('hidden')); 1063 // } 1064 1065 /* Change color wise image */ 1066 const mainSource = html.getElementById(`main-${this.dataset.originalSection ? this.dataset.originalSection : this.dataset.section}`); 1067 const mainDestination = document.getElementById(`main-${this.dataset.section}`); 1068 1069 const thumnSource = html.getElementById(`thumb-${this.dataset.originalSection ? this.dataset.originalSection : this.dataset.section}`);
1070 const thumbDestination = document.getElementById(`thumb-${this.dataset.section}`); 1071 1072 // Destroy existing sliders 1073 $('.product_details_main').slick('unslick'); 1074 $('.product_details_sub').slick('unslick'); 1075 1076 setTimeout(() => { 1077 $(".product_details_main").slick({ 1078 infinite: false, 1079 draggable: false, 1080 slidesToShow: 1, 1081 slidesToScroll: 1, 1082 arrows: false, 1083 fade: false, 1084 dots: true, 1085 asNavFor: ".product_details_sub" 1086 }); 1087 1088 $(".product_details_sub").slick({ 1089 infinite: true, 1090 slidesToShow: 6, 1091 slidesToScroll: 1, 1092 asNavFor: ".product_details_main", 1093 dots: false, 1094 arrows: false, 1095 focusOnSelect: true, 1096 responsive: [ 1097 { 1098 breakpoint: 1025, 1099 settings: { 1100 slidesToShow: 3 1101 } 1102 }, 1103 { 1104 breakpoint: 768, 1105 settings: { 1106 slidesToShow: 4 1107 } 1108 } 1109 ] 1110 }); 1111 }, 50); 1112 1113 if (mainSource && mainDestination) mainDestination.innerHTML = mainSource.innerHTML; 1114 if (thumnSource && thumbDestination) thumbDestination.innerHTML = thumnSource.innerHTML; 1115 /* end Change color wise image */ 1116 1117 const price = document.getElementById(`price-${this.dataset.section}`); 1118 if (price) price.classList.remove('hidden'); 1119 1120 const addButtonUpdated = html.getElementById(`ProductSubmitButton-${sectionId}`); 1121 const StickyAddButtonUpdated = html.getElementById(`StProSubmitButton-${sectionId}`); 1122 1123 this.toggleAddButton( 1124 addButtonUpdated ? addButtonUpdated.hasAttribute('disabled') : true, 1125 "Sold out" 1126 ); 1127 }); 1128 } 1129 1130 toggleAddButton(disable = true, text, modifyClass = true) { 1131 const productForm = document.getElementById(`product-form-${this.dataset.section}`); 1132 if (!productForm) return; 1133 const addButton = productForm.querySelector('[name="add"]'); 1134 const StaddBtn = document.querySelector(".stpro-btn [name='add']"); 1135 if (!addButton) return; 1136 1137 if (disable) { 1138 addButton.setAttribute('disabled', 'disabled'); 1139 if (text) addButton.textContent = text; 1140 1141 StaddBtn.setAttribute('disabled', 'disabled'); 1142 StaddBtn.classList.add('disabled'); 1143 if (text) StaddBtn.textContent = text; 1144 1145 } else { 1146 addButton.removeAttribute('disabled'); 1147 addButton.textContent = "Add to Cart"; 1148 1149 StaddBtn.removeAttribute('disabled', 'disabled'); 1150 StaddBtn.classList.remove('disabled'); 1151 StaddBtn.textContent = "Add to Cart"; 1152 } 1153 if (!modifyClass) return; 1154 } 1155 1156 setUnavailable() { 1157 const button = document.getElementById(`product-form-${this.dataset.section}`); 1158 const addButton = button.querySelector('[name="add"]'); 1159 const addButtonText = button.querySelector('[name="add"]'); 1160 const price = document.getElementById(`price-${this.dataset.section}`); 1161 // const inventory = document.getElementById(`Inventory-${this.dataset.section}`); 1162 // const pricePerItem = document.getElementById(`Price-Per-Item-${this.dataset.section}`); 1163 1164 if (!addButton) return; 1165 addButtonText.textContent = "Unavailable"; 1166 if (price) price.classList.add('hidden'); 1167 // if (inventory) inventory.classList.add('hidden'); 1168 // if (pricePerItem) pricePerItem.classList.add('hidden'); 1169 1170 } 1171 1172 getVariantData() { 1173 this.variantData = this.variantData || JSON.parse(this.querySelector('[type="application/json"]').textContent); 1174 return this.variantData; 1175 } 1176} 1177 1178customElements.define('variant-selects', VariantSelects); 1179 1180class VariantRadios extends VariantSelects { 1181 constructor() { 1182 super(); 1183 } 1184 1185 setInputAvailability(listOfOptions, listOfAvailableOptions) { 1186 listOfOptions.forEach((input) => { 1187 if (listOfAvailableOptions.includes(input.getAttribute('value'))) { 1188 input.classList.remove('disabled'); 1189 } else { 1190 input.classList.add('disabled'); 1191 } 1192 }); 1193 } 1194 1195 updateOptions() { 1196 const fieldsets = Array.from(this.querySelectorAll('fieldset')); 1197 1198 this.options = fieldsets.map((fieldset) => { 1199 if(fieldset.classList.contains("opt_color")){
1200 var selColor_val = fieldset.querySelector('input[type="radio"]:checked').value; 1201 document.querySelector(".product-form__input.opt_color").querySelector(".opt_val").innerHTML = selColor_val; 1202 } 1203 return Array.from(fieldset.querySelectorAll('input')).find((radio) => radio.checked).value; 1204 }); 1205 } 1206} 1207 1208customElements.define('variant-radios', VariantRadios); 1209
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.