1if(!customElements.get("quick-add-drawer")){class QuickAddDrawer extends SideDrawer{constructor(){super(),this.content=this.querySelector(".js-product-details"),this.form=this.querySelector("product-form"),this.notification=this.querySelector(".js-added-to-cart"),document.addEventListener("click",this.handleDocumentClick.bind(this)),this.addEventListener("on:variant:change",this.handleVariantChange.bind(this))}handleDocumentClick(evt){evt.target.matches(".js-quick-add")&&this.open(evt.target)}handleVariantChange(evt){let url=this.productUrl;if(evt.detail.variant){const separator=this.productUrl.split("?").length>1?"&":"?";url+=`${separator}variant=${evt.detail.variant.id}`}this.querySelectorAll(".js-prod-link").forEach(link=>{link.href=url}),evt.detail.variant&&evt.detail.variant.featured_media&&this.updateMedia(evt.detail.variant.featured_media)}async open(opener){if(opener.setAttribute("aria-disabled","true"),this.notification.hidden=!0,this.productUrl&&this.productUrl===opener.dataset.productUrl){opener.dataset.selectedColor&&this.setActiveVariant(opener),super.open(opener),opener.removeAttribute("aria-disabled");return}this.productUrl=opener.dataset.productUrl,this.content.innerHTML="",super.open(opener);const response=await fetch(opener.dataset.productUrl);if(response.ok){const tmpl=document.createElement("template");tmpl.innerHTML=await response.text(),this.productEl=tmpl.content.getElementById("quick-buy-template").content.querySelector(".js-product"),this.renderProduct(opener)}opener.removeAttribute("aria-disabled")}renderProduct(opener){QuickAddDrawer.convertToQuickBuyContent(this.productEl),this.updateForm(),this.updateContent();let colorImageSet=!1;if(opener.dataset.selectedColor&&(this.setActiveVariant(opener),this.currentMediaId&&(colorImageSet=!0)),!colorImageSet){const activeMedia=this.productEl.querySelector(".media-viewer__item.is-active");activeMedia&&this.updateMedia(Number(activeMedia.dataset.mediaId))}}setActiveVariant(opener){this.querySelectorAll(".option-selector").forEach(optionSelector=>{const colorOption=optionSelector.querySelector(`.opt-btn[value="${CSS.escape(opener.dataset.selectedColor)}"]`);if(colorOption){colorOption.click();return}const firstBtn=optionSelector.querySelector(".opt-btn:not(.is-unavailable)");firstBtn&&!firstBtn.checked&&firstBtn.click()})}updateMedia(media){if(!media)return;const{src}=media.preview_image,container=this.querySelector(".quick-add-info__media"),width=container.offsetWidth,aspectRatio=media.preview_image.aspect_ratio,existingId=container.dataset.mediaId;(!container.querySelector("img")||existingId!==`${media.id}`)&&(container.innerHTML=` 2 <img src="${src}&width=${width}" srcset="${src}&width=${width}, ${src}&width=${width*2} 2x" width="${width*2}" height="${width*2/aspectRatio}" alt="${media.alt||""}"> 3 `,container.dataset.mediaId=media.id)}updateContent(){const productContent=this.productEl.querySelector(".js-product-details");productContent&&(this.content.innerHTML=productContent.innerHTML),this.classList.remove("is-loading"),this.content.classList.remove("drawer__content--out")}updateForm(){const productForm=this.productEl.querySelector("product-form");productForm?(this.form.innerHTML=productForm.innerHTML,QuickAddDrawer.restoreScripts(this.form),this.form.init(),Shopify&&Shopify.PaymentButton&&Shopify.PaymentButton.init()):this.form.innerHTML=""}getElementHtml(selector,...additionalSelectors){const selectors=[selector].concat(additionalSelectors);let html="";return selectors.forEach(sel=>{const els=this.productEl.querySelectorAll(sel);Array.from(els).forEach(el=>{html+=el.innerHTML})}),html}addedToCart(){this.notification.hidden=!1}static restoreScripts(el){Array.from(el.querySelectorAll("script")).forEac
3h(oldScriptEl=>{const newScriptEl=document.createElement("script");Array.from(oldScriptEl.attributes).forEach(attr=>{newScriptEl.setAttribute(attr.name,attr.value)});const scriptText=document.createTextNode(oldScriptEl.innerHTML);newScriptEl.appendChild(scriptText),oldScriptEl.parentNode.replaceChild(newScriptEl,oldScriptEl)})}static convertToQuickBuyContent(container){const variantPicker=container.querySelector("variant-picker");variantPicker&&(variantPicker.dataset.updateUrl="false");const sizeChartModal=container.querySelector('[data-modal^="size-chart-"]'),sizeChartDialog=container.querySelector('[id^="size-chart-"]');sizeChartModal&&sizeChartModal.remove(),sizeChartDialog&&sizeChartDialog.remove()}}customElements.define("quick-add-drawer",QuickAddDrawer),window.theme=window.theme||{},window.theme.quickBuy=window.theme.quickBuy||{},window.theme.quickBuy.convertToQuickBuyContent=QuickAddDrawer.convertToQuickBuyContent} 4//# sourceMappingURL=/cdn/shop/t/60/assets/quick-add.js.map?v=98812954754946052001778037098
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.