1document.addEventListener("DOMContentLoaded",function(){if(window._nostoBundleAtcListenerInstalled){console.log("nosto: ATC listener already installed, skipping.");return}window._nostoBundleAtcListenerInstalled=!0;const CCART_SELECTOR=".js-drawer-open-cart";function checkNostoList(){var nostoList=document.querySelector(".template-product .nosto-list");if(!nostoList){setTimeout(checkNostoList,100);return}nostoList.style.visibility="hidden",nostoList.addEventListener("ready.flickity",function(){nostoList.style.visibility="visible"}),console.log("nosto: list found")}function bundleAddToCart(quantity,variantId,sourceBtn){if(!variantId)return;sourceBtn&&(sourceBtn.disabled=!0,sourceBtn.classList.add("is-busy"));let data={items:[{id:variantId,quantity}]};return fetch(window.Shopify.routes.root+"cart/add.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(data)}).then(response=>{if(document.dispatchEvent(new Event("cart:build")),!document.querySelector("#cnv-cart-popup-style")){const style=document.createElement("style");style.id="cnv-cart-popup-style",style.textContent=` 2 .cnv-cart-popup { 3 position: fixed; 4 align-items: center; 5 justify-content: center; 6 flex-direction: row-reverse; 7 gap: 2px; 8 top: 20px; 9 right: 20px; 10 background: #fff; 11 border: 1px solid #ddd; 12 box-shadow: 0 4px 16px rgba(0,0,0,0.15); 13 border-radius: 4px; 14 padding: 12px; 15 max-width: 300px; 16 z-index: 9999; 17 display: none; 18 opacity: 0; 19 transition: opacity 0.3s ease, transform 0.3s ease; 20 transform: translateY(-10px); 21 font-family: inherit; 22 } 23 .cnv-cart-popup.show { 24 display: flex; 25 opacity: 1; 26 transform: translateY(0); 27 } 28 .cnv-cart-popup img { 29 width: 60px; 30 height: auto; 31 float: left; 32 margin-right: 10px; 33 border-radius: 2px; 34 } 35 .cnv-cart-popup .details { 36 overflow: hidden; 37 font-size: 12px; 38 } 39 .cnv-cart-popup .title { 40 font-weight: 400; 41 margin-bottom: 4px; 42 } 43 .cnv-cart-popup .checkout-btn { 44 display: block; 45 text-align: center; 46 margin-top: 10px; 47 background: #000; 48 color: #fff; 49 padding: 10px; 50 font-weight: 600; 51 text-decoration: none; 52 } 53 .cnv-cart-popup .close-btn { 54 position: relative; 55 background: none; 56 border: none; 57 font-size: 18px; 58 line-height: 1; 59 cursor: pointer; 60 color: #999; 61 padding: 4px; 62 width: 24px; 63 height: 24px; 64 display: flex; 65 align-items: center; 66 justify-content: center; 67 } 68 .cnv-cart-popup .close-btn:hover { 69 color: #333; 70 } 71 `,document.head.appendChild(style)}const popup=document.createElement("div");popup.className="cnv-cart-popup",document.body.appendChild(popup);function closePopup(){popup.classList.remove("show"),setTimeout(()=>popup.style.display="none",300)}return fetch("/cart.js",{headers:{Accept:"application/json"}}).then(r=>r.json()).then(cart=>{if(!cart||!cart.items?.length)return;const item=cart.items[0];var nostoCartPopupTmpl=window.nostoBundleLocales&&window.nostoBundleLocales.cartPopup||"",titleLine=nostoCartPopupTmpl?nostoCartPopupTmpl.split("[[NBT]]").join(item.product_title):item.product_title+" added to cart.",closeLabel=window.theme&&window.theme.strings&&window.theme.strings.cnvCartPopupClose||"Close";popup.innerHTML=` 72 <button class="close-btn" aria-label="${closeLabel}">\xD7</button> 73 <div class="details"> 74 <div class="title">${titleLine}</div> 75 </div> 76 `,popup.querySelector(".close-btn").addEventListener("click",closePopup),popup.style.display="block",requestAnimationFrame(()=>popup.classList.add("show")),setTimeout(closePopup,5e3)}).catch(console.error),setTimeout(()=>{const ccart=document.querySelector(CCART_SELECTOR)},50),response.json()}).catch(error=>{console.error("nosto bundle add error:",error)}).finally(()=>{sourceBtn&&(sourceBtn.disabled=!1,sourceBtn.classList.remove("is-busy"),delete sourceBtn.dataset.nostoProcessing)})}document.addEventListener("click",function(e){const button=e.target.closest(".
76nosto-bundle-list-item .btn--full.add-to-cart");if(!button)return;if(button.dataset.nostoProcessing==="1"){console.log("nosto: ignored duplicate/rapid click for same button");return}button.dataset.nostoProcessing="1",setTimeout(()=>{button&&delete button.dataset.nostoProcessing},2e3),console.log("BUNDLE ATC CLICKED",new Date().toISOString(),button),console.trace();const parent=button.closest(".nosto-bundle-list-item"),optionSelect=parent&&parent.querySelector(".bundle-options");let variantId=optionSelect?optionSelect.value:null;if(!variantId){const sizeInput=parent.querySelector(".nosto-bundle-sizes-container input:checked, .nosto-bundle-sizes-container input");variantId=sizeInput?sizeInput.value:null}variantId?bundleAddToCart(1,variantId,button):delete button.dataset.nostoProcessing}),checkNostoList()}); 77//# sourceMappingURL=/cdn/shop/t/132/assets/nosto-bundle.js.map?v=56127402140492673041790672546
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.