1customElements.get("quick-view-modal-opener")||customElements.define("quick-view-modal-opener",class extends HTMLElement{constructor(){super(),this.button=this.querySelector("button"),this.onButtonClickHandler=this.onButtonClick.bind(this),this.button&&this.button.addEventListener("click",this.onButtonClickHandler)}onButtonClick(){if(!window.hasQuickViewModal)window.hasQuickViewModal=!0,this.button.setAttribute("aria-disabled",!0),this.button.classList.add("loading"),this.button.querySelector(".loading-overlay__spinner").classList.remove("hidden"),fetch(`${Shopify.routes.root}?section_id=quick-view-modal`).then(response=>response.text()).then(responseText=>{document.body.appendChild(getDomHtmlFromText(responseText,".quick-view-modal"));const modal=document.querySelector(this.dataset.modal);modal&&modal.show(this.button),HTMLUpdateUtility.reinjectsScripts(document.getElementById("QuickView-Modal"))});else{const modal=document.querySelector(this.dataset.modal);modal.modalContent.innerHTML="",modal&&modal.show(this.button)}}disconnectedCallback(){this.button&&this.button.removeEventListener("click",this.onButtonClickHandler)}}),customElements.get("quick-view-modal")||customElements.define("quick-view-modal",class extends ModalDialog{constructor(){super(),this.modalContent=this.querySelector('[id^="QuickViewInfo-"]'),this.moved=!0}hide(preventFocus=!1){this.classList.remove("open-content"),setTimeout(()=>{preventFocus&&(this.openedBy=null),super.hide(),setTimeout(()=>{this.modalContent.innerHTML=""},500)},300)}show(opener){opener.setAttribute("aria-disabled",!0),opener.classList.add("loading"),opener.querySelector(".loading-overlay__spinner").classList.remove("hidden"),document.body.classList.add("overflow-hidden");let url=opener.dataset.productUrl;url.includes("?")?url+="&":url+="?",url+="section_id=quick-view",fetch(url).then(response=>response.text()).then(responseText=>{const responseHTML=new DOMParser().parseFromString(responseText,"text/html");this.productElement=responseHTML.querySelector('product-info[id^="ProductQuickView-"]'),this.productElement.classList.remove("hidden"),HTMLUpdateUtility.setInnerHTML(this.modalContent,this.productElement.outerHTML),window?.Shopify?.PaymentButton?.init(),window?.ProductModel?.loadShopifyXR(),this.removeGalleryListSemantic(),this.updateImageSizes(),this.preventVariantURLSwitching(),super.show(opener),setTimeout(()=>{this.classList.add("open-content")},300),window.recentlyViewedStrings&&BtRecentlyViewedUtil.addProduct(this.productElement.dataset.productId,this.productElement.dataset.productUrl,this.productElement.dataset.productImage)}).finally(()=>{opener.removeAttribute("aria-disabled"),opener.classList.remove("loading"),opener.querySelector(".loading-overlay__spinner").classList.add("hidden")})}preventVariantURLSwitching(){const variantPicker=this.modalContent.querySelector("variant-radios,variant-selects");variantPicker&&variantPicker.setAttribute("data-update-url","false")}removeGalleryListSemantic(){const galleryList=this.modalContent.querySelector('[id^="Slider-Gallery"]');galleryList&&(galleryList.setAttribute("role","presentation"),galleryList.querySelectorAll('[id^="Slide-"]').forEach(li=>li.setAttribute("role","presentation")))}updateImageSizes(){const product=this.modalContent.querySelector(".product");if(!product.classList.contains("product--columns"))return;const mediaImages=product.querySelectorAll(".product__media img");if(!mediaImages.length)return;let mediaImageSizes="(min-width: 1000px) 715px, (min-width: 750px) calc((100vw - 11.5rem) / 2), calc(100vw - 4rem)";product.classList.contains("product--medium")?mediaImageSizes=mediaImageSizes.replace("715px","605px"):product.classList.contains("product--small")&&(mediaImageSizes=mediaImageSizes.replace("715px","495px")),mediaImages.forEach(img=>img.setAttribute("sizes",mediaImageSizes))}}); 2//# sourceMappingURL=/cdn/shop/t/61/assets/quick-view.js.map?v=111536774825665138101785937410
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.