PageSourceSearch

https://spigen.com.sg/cdn/shop/t/8/assets/quick-view.s.min.js?v=152424350406592421821767779323

js spigen.com.sg collected 2026-09-29 19:08:41 UTC 3,728 bytes, 1 lines download raw bytes

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){const t=document.querySelector(this.dataset.modal);t&&t.show(this.button)}else 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((t=>t.text())).then((t=>{document.body.appendChild(getDomHtmlFromText(t,".quick-view-modal"));const e=document.querySelector(this.dataset.modal);e&&e.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(t=!1){this.classList.remove("open-content"),setTimeout((()=>{t&&(this.openedBy=null),super.hide(),setTimeout((()=>{this.modalContent.innerHTML=""}),500)}),300)}show(t){t.setAttribute("aria-disabled",!0),t.classList.add("loading"),t.querySelector(".loading-overlay__spinner").classList.remove("hidden"),document.body.classList.add("overflow-hidden");let e=t.dataset.productUrl;e.includes("?")?e+="&":e+="?",e+="section_id=quick-view",fetch(e).then((t=>t.text())).then((e=>{const i=(new DOMParser).parseFromString(e,"text/html");this.productElement=i.querySelector('section[id^="MainProductQuickView-"]'),this.preventDuplicatedIDs(),this.setInnerHTML(this.modalContent,this.productElement.innerHTML),window.Shopify&&Shopify.PaymentButton&&Shopify.PaymentButton.init(),window.ProductModel&&window.ProductModel.loadShopifyXR(),this.removeGalleryListSemantic(),this.updateImageSizes(),this.preventVariantURLSwitching(),super.show(t),setTimeout((()=>{this.classList.add("open-content")}),300)})).finally((()=>{t.removeAttribute("aria-disabled"),t.classList.remove("loading"),t.querySelector(".loading-overlay__spinner").classList.add("hidden")}))}setInnerHTML(t,e){t.innerHTML=e,t.querySelectorAll("script").forEach((t=>{const e=document.createElement("script");Array.from(t.attributes).forEach((t=>{e.setAttribute(t.name,t.value)})),e.appendChild(document.createTextNode(t.innerHTML)),t.parentNode.replaceChild(e,t)}))}preventVariantURLSwitching(){const t=this.modalContent.querySelector("variant-radios,variant-selects");t&&t.setAttribute("data-update-url","false")}preventDuplicatedIDs(){const t=this.productElement.dataset.section;this.productElement.innerHTML=this.productElement.innerHTML.replaceAll(t,`quickview-${t}`),this.productElement.querySelectorAll("variant-selects, variant-radios").forEach((e=>{e.dataset.originalSection=t}))}removeGalleryListSemantic(){const t=this.modalContent.querySelector('[id^="Slider-Gallery"]');t&&(t.setAttribute("role","presentation"),t.querySelectorAll('[id^="Slide-"]').forEach((t=>t.setAttribute("role","presentation"))))}updateImageSizes(){const t=this.modalContent.querySelector(".product");if(!t.classList.contains("product--columns"))return;const e=t.querySelectorAll(".product__media img");if(!e.length)return;let i="(min-width: 1000px) 715px, (min-width: 750px) calc((100vw - 11.5rem) / 2), calc(100vw - 4rem)";t.classList.contains("product--medium")?i=i.replace("715px","605px"):t.classList.contains("product--small")&&(i=i.replace("715px","495px")),e.forEach((t=>t.setAttribute("sizes",i)))}});

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.