PageSourceSearch

https://naoko-store.com/cdn/shop/t/20/assets/quick-add.js?v=169681939287482237851780471694

js naoko-store.com collected 2026-10-04 00:18:59 UTC 3,505 bytes, 2 lines download raw bytes

1customElements.get("quick-add-modal")||customElements.define("quick-add-modal",class extends ModalDialog{constructor(){super(),this.modalContent=this.querySelector("#QuickStandardModal"),this.addEventListener("product-info:loaded",({target})=>{target.addPreProcessCallback(this.preprocessHTML.bind(this))})}hide(preventFocus=!1){const cartNotification=document.querySelector("cart-drawer");cartNotification&&cartNotification.setActiveElement(this.openedBy),setTimeout(()=>this.modalContent.innerHTML="",500),preventFocus&&(this.openedBy=null),super.hide()}show(opener){opener.setAttribute("aria-disabled",!0),opener.classList.add("loading"),opener.querySelector(".loading__spinner").classList.remove("hidden"),fetch(opener.getAttribute("data-product-url").split("?")[0]+"?view=quick_add").then(response=>response.text()).then(responseText=>{const productElement=new DOMParser().parseFromString(responseText,"text/html").querySelector("product-info");this.preprocessHTML(productElement),HTMLUpdateUtility.setInnerHTML(this.modalContent,productElement.outerHTML),window.Shopify&&Shopify.PaymentButton&&Shopify.PaymentButton.init(),window.ProductModel&&window.ProductModel.loadShopifyXR(),super.show(opener)}).finally(()=>{opener.removeAttribute("aria-disabled"),opener.classList.remove("loading"),opener.querySelector(".loading__spinner").classList.add("hidden")})}preprocessHTML(productElement){productElement.classList.forEach(classApplied=>{(classApplied.startsWith("color-")||classApplied==="gradient")&&this.modalContent.classList.add(classApplied)}),this.preventDuplicatedIDs(productElement),this.removeDOMElements(productElement),this.removeGalleryListSemantic(productElement),this.preventVariantURLSwitching(productElement)}preventVariantURLSwitching(productElement){productElement.setAttribute("data-update-url","false")}removeDOMElements(productElement){const pickupAvailability=productElement.querySelector("pickup-availability");pickupAvailability&&pickupAvailability.remove();const shareButton=productElement.querySelector("share-button");shareButton&&shareButton.remove();const productModal=productElement.querySelector("product-modal");productModal&&productModal.remove();const modalDialog=productElement.querySelectorAll("modal-dialog");modalDialog&&modalDialog.forEach(modal=>modal.remove());const sideDrawerOpener=productElement.querySelectorAll("side-drawer-opener");sideDrawerOpener&&sideDrawerOpener.forEach(button=>{button.classList.contains("product-popup-modal__opener--keep")||button.remove()});const sideDrawer=productElement.querySelectorAll("side-drawer");sideDrawer&&sideDrawer.forEach(drawer=>{drawer.classList.contains("product-popup-modal__drawer--keep")||drawer.remove()})}preventDuplicatedIDs(productElement){const sectionId=productElement.dataset.section,oldId=sectionId,newId=`quickadd-${sectionId}`;productElement.innerHTML=productElement.innerHTML.replaceAll(oldId,newId),Array.from(productElement.attributes).forEach(attribute=>{attribute.value.includes(oldId)&&productElement.setAttribute(attribute.name,attribute.value.replace(oldId,newId))}),productElement.dataset.originalSection=sectionId}removeGalleryListSemantic(productElement){const galleryList=productElement.querySelector('[id^="Slider-Gallery"]');galleryList&&(galleryList.setAttribute("role","presentation"),galleryList.querySelectorAll('[id^="Slide-"]').forEach(li=>li.setAttribute("role","presentation")))}});
2//# sourceMappingURL=/cdn/shop/t/20/assets/quick-add.js.map?v=169681939287482237851780471694

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.