const quickViewWarpper=document.getElementById("quickViewWrapper");class quickViewModal extends HTMLElement{constructor(){super(),this.addEventListener("click",this.onClickQuickViewModal),quickViewWarpper.addEventListener("keyup",evt=>{evt.code==="Escape"&&(document.body.classList.remove("overflow-hidden"),quickViewWarpper.classList.remove("show__modal"),removeTrapFocus(this.querySelector("button.active")),this.querySelector("button").classList.remove("active"))}),document.addEventListener("click",function(event){event.target.closest(".quick_view__body")||(document.body.classList.remove("overflow-hidden"),quickViewWarpper.classList.remove("show__modal"),this.querySelector("button").classList.remove("active"))})}onClickQuickViewModal=async()=>{let quickViewModal2=this.querySelector("button"),productHandle=quickViewModal2.dataset.productHandle;quickViewModal2.classList.add("loading");try{const resText=await(await fetch(`/products/${productHandle}?view=quickview`)).text();quickViewWarpper.innerHTML=resText,window.Shopify&&Shopify.PaymentButton&&Shopify.PaymentButton.init(),document.body.classList.add("overflow-hidden"),quickViewWarpper.classList.add("show__modal"),quickViewModal2.classList.add("active")}catch(error){console.log("error",error)}finally{quickViewModal2.classList.remove("loading"),trapFocus(quickViewWarpper)}}}customElements.define("quick-view-modal",quickViewModal);class quickViewCloseTag extends HTMLElement{constructor(){super(),this.addEventListener("click",this.quickViewClose),this.currentVariant={}}quickViewClose(){document.body.classList.remove("overflow-hidden"),quickViewWarpper.classList.remove("show__modal"),document.querySelector(".cart--icon-button.active").classList.remove("active")}}customElements.define("quick-view-close",quickViewCloseTag);class QuickVariantSelects extends HTMLElement{constructor(){super(),this.addEventListener("change",this.onVariantChange)}onVariantChange(){this.updateOptions(),this.updateOptionsParent(),this.updateMasterId(),this.toggleAddButton(!0,"",!1),this.getPreOrderVariantData(),this.currentVariant?(this.updateMedia(),this.updateVariantInput(),this.renderProductInfo()):(this.toggleAddButton(!0,"",!0),this.setUnavailable())}updateOptions(){this.options=Array.from(this.querySelectorAll("select"),select=>select.value)}updateOptionsParent(){Array.from(this.querySelectorAll(".product-form__input--dropdown")).map((select,index)=>{select.children[0].children[1].innerHTML=this.options[index]})}updateMasterId(){this.currentVariant=this.getVariantData().find(variant=>!variant.options.map((option,index)=>this.options[index]===option).includes(!1))}updateMedia(){if(!this.currentVariant||!this.currentVariant.featured_media)return;const newMedia=document.querySelector(`[data-media-id="${this.dataset.section}-${this.currentVariant.featured_media.id}"]`);if(!newMedia)return;const parent=newMedia.parentElement;parent.firstChild!=newMedia&&(parent.prepend(newMedia),window.setTimeout(()=>{parent.scroll(0,0)}))}updateVariantInput(){document.querySelectorAll(`#product-form-${this.dataset.section}`).forEach(productForm=>{const input=productForm.querySelector('input[name="id"]');input.value=this.currentVariant.id,input.dispatchEvent(new Event("change",{bubbles:!0}))})}renderProductInfo(){fetch(`${this.dataset.url}?variant=${this.currentVariant.id}§ion_id=${this.dataset.section}`).then(response=>response.text()).then(responseText=>{const id=`price-${this.dataset.section}`,html=new DOMParser().parseFromString(responseText,"text/html"),destination=document.getElementById(id),source=html.getElementById(id);source&&destination&&(destination.innerHTML=source.innerHTML);const price=document.getElementById(`price-${this.dataset.section}`);price&&price.classList.remove("no-js-inline"),this.toggleAddButton(!this.currentVariant.available,window.variantStrings.soldOut)})}toggleAddButton(disable=!0,text,modifyClass=!0){const productForm=document.getElementById(`product-form-${this.dataset.section}`);if(!productForm)return;const addButton=productForm.querySelector('[name="add"]');if(!addButton)return;disable?(addButton.setAttribute("disabled",!0),text&&(addButton.textContent=text)):(addButton.removeAttribute("disabled"),addButton.textContent=window.variantStrings.addToCart);let productVarArray=this.PreorderVariantData,variant=this.currentVariant,VarInventoryManagement=this.currentVariant?.inventory_management??null,var_num="";if(VarInventoryManagement!=null)for(let variant_id in productVarArray){if(variant.id==variant_id){var_num=productVarArray[variant_id].qty;var inventoryQuantity=parseInt(var_num),inventoryPolicy=productVarArray[variant_id].inventory_policy}inventoryQuantity<=0&&inventoryPolicy==="continue"?(addButton.removeAttribute("disabled"),addButton.textContent=window.variantStrings.preorder):inventoryQuantity<=0&&inventoryPolicy!=="continue"?(addButton.setAttribute("disabled",!0),addButton.textContent=window.variantStrings.soldOut):(addButton.removeAttribute("disabled"),addButton.textContent=window.variantStrings.addToCart)}}setUnavailable(){const addButton=document.getElementById(`product-form-${this.dataset.section}`).querySelector('[name="add"]'),price=document.getElementById(`price-${this.dataset.section}`);addButton&&(addButton.textContent=window.variantStrings.unavailable,price&&price.classList.add("no-js-inline"))}getVariantData(){return this.variantData=this.variantData||JSON.parse(this.querySelector("[data-variant]").textContent),this.variantData}getPreOrderVariantData(){this.PreorderVariantData=this.PreorderVariantData||JSON.parse(this.querySelector("[data-preorder]").textContent)}}customElements.define("quick-variant-selects",QuickVariantSelects);class QuickVariantRadios extends QuickVariantSelects{constructor(){super(),this.fieldsets=Array.from(this.querySelectorAll("fieldset")),this.onColorSwatches()}onColorSwatches(){const swatchButtonList=this.querySelectorAll(`fieldset.variant--swatch-${this.dataset.colorSwatch} > label`),result=Object.values(this.getVariantData().reduce((total,item)=>{let k=`${item[this.dataset.colorSwatch]}`;return total[k]?total[k].count+=1:total[k]={...item,count:1},total},{}));swatchButtonList.forEach(button=>{result.forEach(data=>{data[this.dataset.colorSwatch]===button.dataset.value&&(this.dataset.colorSwatchStyle==="image"&&data.featured_image!==null?button.setAttribute("style",`--swatch-background-image: url(${data.featured_image.src}); --swatch-background-color: ${data[this.dataset.colorSwatch]};`):button.setAttribute("style",`--swatch-background-color: ${data[this.dataset.colorSwatch]};`))})})}updateOptions(){this.options=this.fieldsets.map(fieldset=>Array.from(fieldset.querySelectorAll("input")).find(radio=>radio.checked).value)}updateOptionsParent(){this.fieldsets.map((fieldset,index)=>{fieldset.children[0].children[1].innerHTML=this.options[index]})}}customElements.define("quick-variant-radios",QuickVariantRadios); //# sourceMappingURL=/cdn/shop/t/2/assets/quick_view_modal.js.map?v=152843599290069639481712183448