PageSourceSearch

https://assaultind.com/cdn/shop/t/19/assets/quick-add.js?v=27048075368974319941791315881

js assaultind.com collected 2026-10-08 09:16:47 UTC 13,420 bytes, 6 lines download raw bytes

1customElements.get("quick-add-modal")||customElements.define("quick-add-modal",class extends ModalDialog{constructor(){super(),this.modalContent=this.querySelector('[id^="QuickAddInfo-"]'),window.addEventListener("keyup",evt=>{evt.code==="Escape"&&(this.classList.contains("active")||this.classList.contains("quick-add-modal--closing"))&&this.hide()}),window.addEventListener("resize",()=>{this.modalContent.querySelectorAll(".js-media-list").forEach(element=>{element.swiper?.destroy()}),this.modalContent.querySelectorAll(".js-media-sublist").forEach(element=>{element.swiper?.destroy()}),setTimeout(()=>{subSliderInit(this.modalContent,!0),sliderInit(this.modalContent,!0)},200)})}hide(preventFocus=!1){if(preventFocus&&(this.openedBy=null),this.classList.contains("quick-add-modal--closing")){this._clearQuickAddCloseAnimation(),this._quickAddFinalizeRan=!1,this._finalizeQuickAddTeardown();return}if(!this.classList.contains("active"))return;const content=this.querySelector(".quick-add-modal__content");if(!content||!this.modalContent){this.classList.remove("active"),super.hide();return}this._quickAddFinalizeRan=!1,this.dataset.closeAnimating="true",this._quickAddPanelForClose=content,this._boundQuickAddPanelTransitionEnd=event=>{event.target!==content||event.propertyName!=="transform"||this._finalizeQuickAddTeardown()},content.addEventListener("transitionend",this._boundQuickAddPanelTransitionEnd),this.classList.add("quick-add-modal--closing"),this.classList.remove("active"),this._quickAddCloseFallback=window.setTimeout(()=>{this._finalizeQuickAddTeardown()},450)}_clearQuickAddCloseAnimation(){this._quickAddCloseFallback&&(clearTimeout(this._quickAddCloseFallback),this._quickAddCloseFallback=null),this._boundQuickAddPanelTransitionEnd&&this._quickAddPanelForClose&&this._quickAddPanelForClose.removeEventListener("transitionend",this._boundQuickAddPanelTransitionEnd),this._boundQuickAddPanelTransitionEnd=null,this._quickAddPanelForClose=null}_finalizeQuickAddTeardown(){if(!this._quickAddFinalizeRan){if(this._quickAddFinalizeRan=!0,this._clearQuickAddCloseAnimation(),this.classList.remove("quick-add-modal--closing"),this.dataset.closeAnimating="false",!this.modalContent){super.hide();return}this.modalContent.innerHTML="",this.modalContent.querySelectorAll(".js-media-list").forEach(el=>{el.swiper?.destroy()}),this.modalContent.querySelectorAll(".js-media-sublist").forEach(el=>{el.swiper?.destroy()}),subSliderInit(this.modalContent,!0),sliderInit(this.modalContent,!0),super.hide(),this.openedBy?.closest(".collection-product-card")?this.openedBy.focus({preventScroll:!0}):this.openedBy?.closest(".card__links")?.nextElementSibling?.focus?.()}}show(opener){(this.classList.contains("quick-add-modal--closing")||this.dataset.closeAnimating==="true")&&(this._clearQuickAddCloseAnimation(),this._quickAddFinalizeRan=!1,this._finalizeQuickAddTeardown()),opener.setAttribute("aria-disabled",!0),opener.classList.add("loading");const spinner=opener.querySelector(".loading-overlay__spinner");spinner&&spinner.classList.remove("hidden"),fetch(opener.getAttribute("data-product-url")).then(response=>response.text()).then(responseText=>{const responseHTML=new DOMParser().parseFromString(responseText,"text/html");this.productElement=responseHTML.querySelector('section[id^="MainProduct-"]'),this.preventDuplicatedIDs(),this.removeDOMElements(),this.setInnerHTML(this.modalContent,this.productElement.innerHTML,opener),this.injectMediaStylesheets(responseHTML),window.Shopify&&Shopify.PaymentButton&&Shopify.PaymentButton.init(),window.ProductModel&&window.ProductModel.loadShopifyXR(),this.updateImageSizes(),this.preventVariantURLSwitching(),setTimeout(()=>{this.classList.add("active")}),super.show(opener),this.addEventListener("transitionend",()=>{const containerToTrapFocusOn=this,focusElement=this.querySelector(".quick-add-modal__content");trapFocus(containerToTrapFocusOn,focusElement)},{once:!0})}).finally(()=>{opener.removeAttribute("aria-disabled"),opener.classList.remove("loading"),opener.querySelector(".loading-overlay__spinner")&&opener.querySelector(".loading-overlay__spinner").classList.add("hidden"),this.modalContent.querySelectorAll(".js-media-list").forEach(element=>{element.swiper?.destroy()}),this.modalContent.querySelectorAll(".js-media-sublist").forEach(element=>{element.swiper?.destroy()}),subSliderInit(this.modalContent,!0),sliderInit(this.modalContent,!0),selectDropDown(),this.initDropdown(),this.initProductAccordion(),this.setScrollClass(this.modalContent),this.clearMediaClasses()})}setInnerHTML(element,html,opener){element.innerHTML=html,element.querySelectorAll("script").forEach(oldScriptTag=>{const newScriptTag=document.createElement("script");
1Array.from(oldScriptTag.attributes).forEach(attribute=>{newScriptTag.setAttribute(attribute.name,attribute.value)}),newScriptTag.appendChild(document.createTextNode(oldScriptTag.innerHTML)),oldScriptTag.parentNode.replaceChild(newScriptTag,oldScriptTag)});const wrapper=document.createElement("div");wrapper.className="product__full-details-wrapper";const moreBtn=document.createElement("a");moreBtn.innerHTML=`<span>${theme.quickviewMore}</span>`,moreBtn.setAttribute("href",opener.getAttribute("data-product-url")),moreBtn.setAttribute("class","product__full-details button button-link");const svgArrow=`
2          <svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
3            <path d="M4 2L7.84496 6L4 10" stroke="currentColor" stroke-width="2" stroke-linecap="square"/>
4          </svg>
5        `;wrapper.appendChild(moreBtn),wrapper.insertAdjacentHTML("beforeend",svgArrow),element.querySelectorAll(".product__info-column")&&element.querySelectorAll(".product__info-column").length>0,element.querySelector(".product__info-container").appendChild(wrapper);const copyLink=this.querySelector(".copy-btn");copyLink.addEventListener("click",e=>this.copyURI(e,copyLink))}calcContainerHeight(element){const topHeigh=this.querySelector(".quick-add-modal__top").clientHeight,buyBlockHeight=element.querySelector(".product__buy-buttons")?.clientHeight;element.style.height="100%"}setBuyButtonsHeightVar(element){const modalContent=this.querySelector(".quick-add-modal__content");if(!modalContent||!element)return;const buyButtons=element.querySelector(".product__buy-buttons"),buyButtonsHeight=buyButtons?Math.ceil(buyButtons.getBoundingClientRect().height):null;buyButtonsHeight!=null&&modalContent.style.setProperty("--quick-add-buy-buttons-height",`${buyButtonsHeight}px`)}copyURI(e,copyLink){e.preventDefault();const url=e?.target?.parentElement?.dataset?.copyHref,handleCopy=(btn,success)=>{success?(btn.classList.add("copied"),setTimeout(()=>{btn.classList.remove("copied")},1e3)):(btn.classList.add("notCopied"),setTimeout(()=>{btn.classList.remove("notCopied")},1e3))};navigator.clipboard.writeText(url).then(()=>{handleCopy(copyLink,!0)},()=>{handleCopy(copyLink,!1)})}toggleScrollClass(element){const infoContainer=element?.querySelector(".product__info-container"),baseHeight=element.getBoundingClientRect().height,productMedia=element.querySelector(".product__main");if(!productMedia||!infoContainer||!baseHeight)return;const productMediaType=productMedia.dataset.imageType,heightRatio=productMediaType==="portrait"?1.266:productMediaType==="landscape"?.75:1,imageHeight=productMedia.clientWidth*heightRatio,toShowHeight=baseHeight-16-imageHeight;infoContainer.scrollHeight>toShowHeight?element.classList.add("has-scroll"):element.classList.remove("has-scroll")}setScrollClass(element){const resizeObserver=new ResizeObserver(entries=>{const[entry]=entries,dialog=entry.target.querySelector(".quick-add-modal__content-info");dialog&&(this.setBuyButtonsHeightVar(element),this.calcContainerHeight(element),this.toggleScrollClass(dialog))});element&&resizeObserver.observe(this)}initDropdown=()=>{const getDropdowns=()=>this.querySelectorAll(".quick-add-modal__content .dropdown-opener"),dropdowns=getDropdowns();if(!dropdowns.length)return;const closeAllDropdownsExcept=(exception=null)=>{getDropdowns().forEach(dropdown=>{dropdown!==exception&&dropdown.classList.remove("active")})};dropdowns.forEach(dropdown=>{dropdown.dataset.dropdownInitialized!=="true"&&(dropdown.dataset.dropdownInitialized="true",dropdown.addEventListener("click",e=>{e.stopPropagation(),closeAllDropdownsExcept(dropdown),dropdown.classList.toggle("active")}),dropdown.addEventListener("keydown",e=>{const next=dropdown.nextElementSibling,el=next.querySelector("li a");(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),closeAllDropdownsExcept(dropdown),dropdown.classList.toggle("active"),trapFocus(next,el))}))}),this.quickAddDropdownClickHandler||(this.quickAddDropdownClickHandler=event=>{!event.target.closest(".dropdown-opener")&&!event.target.closest(".share-buttons__list")&&!event.target.closest(".copy")?closeAllDropdownsExcept():event.target.closest(".copy")&&setTimeout(()=>{closeAllDropdownsExcept()},800)},document.addEventListener("click",this.quickAddDropdownClickHandler)),this.quickAddDropdownKeydownHandler||(this.quickAddDropdownKeydownHandler=event=>{event.key==="Escape"&&closeAllDropdownsExcept()},document.addEventListener("keydown",this.quickAddDropdownKeydownHandler))};initProductAccordion=()=>{document.querySelectorAll(".about__accordion-toggle").forEach(toggle=>{toggle.addEventListener("click",()=>{const descriptions=toggle.parentElement.querySelectorAll(".about__accordion-description");if(toggle.classList.contains("active"))toggle.classList.remove("active"),descriptions.forEach(desc=>{slideUp(toggle,desc)});else{toggle.classList.add("active");const index=Array.from(toggle.parentElement.children).indexOf(toggle),target=descriptions[index];target&&slideDown(toggle,target)}})})};clearMediaClasses(){const mediaWrapper=this.modalContent.querySelector(".product__media");if(!mediaWrapper)return;
5const keepClasses=["product__media","product__media--no-media"],filteredClasses=[...mediaWrapper.classList].filter(cssClass=>keepClasses.includes(cssClass)),productOuter=this.querySelector(".product__outer");productOuter&&productOuter.classList.remove("product__outer--desktop-order"),mediaWrapper.className=filteredClasses.join(" ")}injectMediaStylesheets(responseHTML){['link[href*="component-deferred-media"]','link[href*="component-product-model"]','link[href*="component-model-viewer-ui"]','link[id="ModelViewerStyle"]','link[id="ModelViewerOverride"]'].forEach(selector=>{const sourceLink=responseHTML.querySelector(selector);if(!sourceLink)return;const href=sourceLink.getAttribute("href"),id=sourceLink.id||null;if(id&&document.getElementById(id)||document.querySelector(`link[href="${href}"]`))return;const link=document.createElement("link");link.rel="stylesheet",link.href=href,id&&(link.id=id),document.head.appendChild(link)})}removeDOMElements(){const popup=this.productElement.querySelectorAll(".product-popup");popup&&popup.forEach(el=>{el.remove()});const sku=this.productElement.querySelector(".product__sku");sku&&sku.remove();const productDivider=this.productElement.querySelector(".product__divider");productDivider&&productDivider.remove();const breadcrumb=this.productElement.querySelector(".breadcrumb");breadcrumb&&breadcrumb.remove();const countdown=this.productElement.querySelector(".product-countdown");countdown&&countdown.remove();const productStickyBar=this.productElement.querySelector(".product-sticky-bar");productStickyBar&&productStickyBar.remove();const bigProductModal=this.productElement.querySelector("product-modal");bigProductModal&&bigProductModal.remove();const productFullDetailsLink=this.productElement.querySelector(".product__full-details-wrap");productFullDetailsLink&&productFullDetailsLink.remove();const pickupAvailability=this.productElement.querySelector(".pickup-availability");pickupAvailability&&pickupAvailability.remove();const iconWithTexts=this.productElement.querySelectorAll(".product__text-icons");iconWithTexts&&iconWithTexts.forEach(el=>{el.remove()});const recommendations=this.productElement.querySelector("product-recommendations");recommendations&&recommendations.remove();const customLiquid=this.productElement.querySelector(".custom-liquid");customLiquid&&customLiquid.remove()}preventDuplicatedIDs(){const sectionId=this.productElement.dataset.section;this.productElement.innerHTML=this.productElement.innerHTML.replaceAll(sectionId,`quickadd-${sectionId}`),this.productElement.querySelectorAll("variant-selects, variant-radios").forEach(variantSelect=>{variantSelect.dataset.originalSection=sectionId})}preventVariantURLSwitching(){this.modalContent.querySelector("variant-radios,variant-selects")&&this.modalContent.querySelector("variant-radios,variant-selects").setAttribute("data-update-url","false")}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: 576px) 316px, 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))}});
6//# sourceMappingURL=/cdn/shop/t/19/assets/quick-add.js.map?v=27048075368974319941791315881

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.