1window.refreshCartContents=async response=>{console.log(response);const offcanvasCart=document.querySelector("#offcanvas-cart"),cartPage=document.querySelector("#cart");offcanvasCart?.classList.add("loading"),cartPage?.classList.add("loading");const text=await(await fetch(window.location.href)).text(),newDocument=new DOMParser().parseFromString(text,"text/html");if(offcanvasCart?.querySelector(".offcanvas-body").replaceWith(newDocument.querySelector("#offcanvas-cart .offcanvas-body")),offcanvasCart?.querySelector(".offcanvas-footer").replaceWith(newDocument.querySelector("#offcanvas-cart .offcanvas-footer")),cartPage?.replaceWith(newDocument.querySelector("#cart")),document.querySelectorAll(".cart-count-badge").forEach(badge=>{badge.textContent=newDocument.querySelector(".cart-count-badge").textContent,badge.removeAttribute("hidden")}),offcanvasCart?.classList.remove("loading"),cartPage?.classList.remove("loading"),window.dispatchEvent(new Event("updated.ecomify.cart")),response.ok)if(response.url.includes("add.js")){offcanvasCart?.querySelector("#offcanvas-cart-alert-add").removeAttribute("hidden");const data=await response.json();if(data.items?.length>1){const elemAlertItemsAdded=offcanvasCart?.querySelector("#offcanvas-cart-alert-add [data-alert-items-added]");elemAlertItemsAdded.textContent=elemAlertItemsAdded.textContent.replace("[count]",data.items.length),elemAlertItemsAdded.removeAttribute("hidden")}else offcanvasCart?.querySelector("#offcanvas-cart-alert-add [data-alert-item-added]").removeAttribute("hidden")}else offcanvasCart?.querySelector("#offcanvas-cart-alert-updated").removeAttribute("hidden");else{const data=await response.json(),alert=document.querySelector("#offcanvas-cart-alert-error");alert.querySelector("span").textContent=`${data.message} - ${data.description}`,alert.removeAttribute("hidden")}offcanvasCart?.querySelector("#offcanvas-cart-empty")&&setTimeout(()=>{bootstrap.Offcanvas.getOrCreateInstance(offcanvasCart).hide()},1e3),offcanvasCart?.querySelector("#cart-shipping-rates")&&new Shopify.CountryProvinceSelector("shipping-rates-modal-country","shipping-rates-modal-province",{hideElement:"shipping-rates-modal-province-wrapper"})},window.onChangeCartQty=async input=>{const response=await fetch("/cart/change.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:input.dataset.lineItemKey,quantity:input.value})});window.refreshCartContents(response)},window.onRemoveCartItem=async btn=>{const response=await fetch("/cart/change.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:btn.dataset.lineItemKey,quantity:0})});window.refreshCartContents(response)},window.onSaveCartNote=async btn=>{btn.innerHTML=` 2 <div class="spinner-border spinner-border-sm" role="status" style="width: 1rem; height: 1rem"> 3 <span class="visually-hidden">Loading...</span> 4 </div> 5 `;const note=btn.closest("#cart-note").querySelector('[name="note"]').value;await fetch("/cart/update.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({note})}),btn.innerHTML=`\u2713 <span class="visually-hidden">${btn.dataset.textNoteSaved}</span>`,setTimeout(()=>{btn.innerHTML=btn.dataset.textBtnSave},4e3)},window.onClickCheckoutBtn=btn=>{btn.style.height=btn.clientHeight+"px",btn.innerHTML=` 6 <div class="spinner-border spinner-border-sm" role="status" style="width: 1.2rem; height: 1.2rem"> 7 <span class="visually-hidden">Loading...</span> 8 </div> 9 `};const initCartGoal=()=>{const progressBar=document.querySelector("#cart-goal .progress-bar");progressBar&&setTimeout(()=>{progressBar.style.width=progressBar.dataset.width},250)};initCartGoal(),window.addEventListener("updated.ecomify.cart",()=>{initCartGoal()});const initCartGoalFreeProduct=async()=>{const cartGoal=document.querySelector("#cart-goal");if(!cartGoal)return;const freeProductHandle=cartGoal.dataset.freeProductHandle;if(!freeProductHandle.length)return;const goalCompleted=cartGoal.dataset.goalCompleted==="2";let isFreeProductInCart=!1;document.querySelectorAll("[data-cart-line-item]").forEach(elem=>{elem.dataset.productHandle===freeProductHandle&&(isFreeProductInCart=!0)});const freeProductVariantId=Number(cartGoal.dataset.freeProductVariantId);if(goalCompleted&&!isFreeProductInCart){const response=await fetch("/cart/add.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({items:[{id:freeProductVariantId,quantity:1}]})});window.refreshCartContents(response)}console.log(freeProductHandle)};initCartGoal(),window.addEventListener("updated.ecomify.cart",()=>{initCartGoalFreeProduct()});const initStickySummaryCard=()=>{const card=document.querySelector("#cart-summary");if(!card||window.matchMedia("max-width: 991px").matches)return;const navbarHeight=document.querySelector('[id*="__navbar"].sticky-top')?.clientHeight||0,announcementBarHeight=document.querySelector('[id*="__announcement-bar"].sticky-top')?.clientHeight||0;card.style.position="sticky",card.style.top=`${navbarHeight+announcementBarHeight+20}px`};initStickySummaryCard(),window.addEventListener("updated.ecomify.cart",()=>{initStickySummaryCard()}),window.generateShippingRates=async btn=>{btn.innerHTML=` 10 <div class="spinner-border spinner-border-sm" role="status" style="width: 1rem; height: 1rem">
11 <span class="visually-hidden">Loading...</span> 12 </div> 13 `;const wrapper=document.querySelector("#cart-shipping-rates-collapse");wrapper.querySelector("#shipping-rates-modal-alert-danger").innerHTML="",wrapper.querySelector("#shipping-rates-modal-alert-danger").setAttribute("hidden","hidden"),wrapper.querySelector("#shipping-rates-modal-alert-warning").innerHTML="",wrapper.querySelector("#shipping-rates-modal-alert-warning").setAttribute("hidden","hidden"),wrapper.querySelector("#shipping-rates-modal-alert-success").innerHTML="",wrapper.querySelector("#shipping-rates-modal-alert-success").setAttribute("hidden","hidden");const country=wrapper.querySelector("#shipping-rates-modal-country").value,province=wrapper.querySelector("#shipping-rates-modal-province").value,zip=wrapper.querySelector("#shipping-rates-modal-zip").value,prepareResponse=await fetch(`/cart/prepare_shipping_rates.json?shipping_address[zip]=${zip}&shipping_address[country]=${country}&shipping_address[province]=${province}`,{method:"POST"});if(console.log(prepareResponse),prepareResponse.ok){const asyncRespose=await fetch(`/cart/async_shipping_rates.json?shipping_address[zip]=${zip}&shipping_address[country]=${country}&shipping_address[province]=${province}`);console.log(asyncRespose);const data=await asyncRespose.json();console.log(data);let html="";
13data.shipping_rates.length?(data.shipping_rates.forEach(elem=>{html+=` 14 <li> 15 <strong>${elem.presentment_name}</strong>: ${elem.price} ${elem.currency} 16 </li> 17 `}),wrapper.querySelector("#shipping-rates-modal-alert-success").innerHTML=` 18 <ul class="ps-5 mb-0"> 19 ${html} 20 </ul> 21 `,wrapper.querySelector("#shipping-rates-modal-alert-success").removeAttribute("hidden")):(wrapper.querySelector("#shipping-rates-modal-alert-warning").innerHTML=` 22 <p class="mb-0"> 23 ${wrapper.dataset.textNoResults} 24 </p> 25 `,wrapper.querySelector("#shipping-rates-modal-alert-warning").removeAttribute("hidden"))}else{const data=await prepareResponse.json();console.log(data);let html="";for(const[key,value]of Object.entries(data))html+=` 26 <li> 27 <strong>${key}</strong>: ${value.toString()} 28 </li> 29 `;wrapper.querySelector("#shipping-rates-modal-alert-danger").innerHTML=` 30 <ul class="ps-5 mb-0"> 31 ${html} 32 </ul> 33 `,wrapper.querySelector("#shipping-rates-modal-alert-danger").removeAttribute("hidden")}btn.innerHTML=btn.dataset.text};const fixScrollingOffcanvasCollapses=()=>{document.querySelectorAll('#offcanvas-cart [data-bs-toggle="collapse"]').forEach(elem=>{elem.addEventListener("click",()=>{setTimeout(()=>{const offcanvasBody=document.querySelector("#offcanvas-cart .offcanvas-body");offcanvasBody.scroll({top:offcanvasBody.scrollHeight,behavior:"smooth"})},250)})})};fixScrollingOffcanvasCollapses(),window.addEventListener("updated.ecomify.cart",()=>{fixScrollingOffcanvasCollapses()}),window.onChangeCartUpgradeToSub=async select=>{await fetch("/cart/change.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:select.dataset.lineItemKey,quantity:0})});const response=await fetch("/cart/add.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({items:[{quantity:Number(select.dataset.quantity),id:Number(select.dataset.variantId),selling_plan:Number(select.value)}]})});window.refreshCartContents(response)},window.onChangeCartGiftWrap=async input=>{let response;input.checked?response=await fetch("/cart/add.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({items:[{quantity:1,id:Number(input.value)}]})}):response=await fetch("/cart/change.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:input.dataset.lineItemKey,quantity:0})}),window.refreshCartContents(response)};const initCartMinOrder=()=>{const wrapper=document.querySelector("#cart-min-order");wrapper&&wrapper.dataset.goalReached==="false"&&(wrapper.closest("form").querySelector(".btn-checkout").disabled=!0)};initCartMinOrder(),window.addEventListener("updated.ecomify.cart",()=>{initCartMinOrder()});const initCartShippingProtection=async()=>{if(document.querySelector('[data-shipping-protection-enabled="true"]')&&document.querySelector('[data-shipping-protection-auto-init="true"]')&&!window.localStorage.getItem("ecomify-shipping-protection-init")){const variantId=Number(document.querySelector("[data-shipping-protection-variant-id]").dataset.shippingProtectionVariantId),response=await fetch("/cart/add.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({items:[{quantity:1,id:variantId}]})});window.refreshCartContents(response),window.localStorage.setItem("ecomify-shipping-protection-init",!0)}};window.addEventListener("updated.ecomify.cart",()=>{initCartShippingProtection()}),window.onChangeCartShippingProtection=async input=>{let response;input.checked?response=await fetch("/cart/add.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({items:[{quantity:1,id:Number(input.value)}]})}):response=await fetch("/cart/change.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:input.dataset.lineItemKey,quantity:0})}),window.refreshCartContents(response)},window.onChangeCartLineItemVariant=async select=>{await fetch("/cart/change.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:select.dataset.lineItemKey,quantity:0})});const response=await fetch("/cart/add.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({items:[{quantity:Number(select.dataset.quantity),id:Number(select.value),selling_plan:select.dataset.sellingPlanId.length?Number(select.dataset.sellingPlanId):null}]})});window.refreshCartContents(response)};const initTermsCheckbox=()=>{const checkbox=document.querySelector("#cart-terms-checkbox");if(!checkbox)return;const checkoutBtn=checkbox.closest("form").querySelector(".btn-checkout");checkoutBtn.disabled=!0,checkbox.addEventListener("change",()=>{checkbox.checked?checkoutBtn.disabled=!1:checkoutBtn.disabled=!0})};initTermsCheckbox(),window.addEventListener("updated.ecomify.cart",()=>{initTermsCheckbox()}),window.onCartDiscountClick=async btn=>{const wrapper=document.querySelector("#cart-discount");btn.innerHTML=` 34 <div class="spinner-border spinner-border-sm" role="status" style="width: 1rem; height: 1rem">
35 <span class="visually-hidden">Loading...</span> 36 </div> 37 `,await fetch(`/discount/${wrapper.querySelector(".form-control").value}`),window.location.href="/checkout"}; 38//# sourceMappingURL=/cdn/shop/t/35/assets/cart.js.map?v=23706751352150479071775108815
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.