1class CartRemoveButton extends HTMLElement{constructor(){super(),this.addEventListener("click",event=>{event.preventDefault(),(this.closest("cart-items")||this.closest("cart-drawer-items")).updateQuantity(this.dataset.index,0)})}}customElements.define("cart-remove-button",CartRemoveButton);class CartItems extends HTMLElement{constructor(){super(),this.lineItemStatusElement=document.getElementById("shopping-cart-line-item-status")||document.getElementById("CartDrawer-LineItemStatus"),this.currentItemCount=Array.from(this.querySelectorAll('[name="updates[]"]')).reduce((total,quantityInput)=>total+parseInt(quantityInput.value),0),this.debouncedOnChange=debounce(event=>{this.onChange(event)},300),this.addEventListener("change",this.debouncedOnChange.bind(this))}onChange(event){this.updateQuantity(event.target.dataset.index,event.target.value,document.activeElement.getAttribute("name"))}getSectionsToRender(){return[{id:"main-cart-items",section:document.getElementById("main-cart-items").dataset.id,selector:".js-contents"},{id:"cart-icon-bubble",section:"cart-icon-bubble",selector:".shopify-section"},{id:"cart-live-region-text",section:"cart-live-region-text",selector:".shopify-section"},{id:"main-cart-footer",section:document.getElementById("main-cart-footer").dataset.id,selector:".js-contents"}]}updateQuantity(line,quantity,name){this.enableLoading(line);const body=JSON.stringify({line,quantity,sections:this.getSectionsToRender().map(section=>section.section),sections_url:window.location.pathname});fetch(`${routes.cart_change_url}`,{...fetchConfig(),body}).then(response=>response.text()).then(state=>{const parsedState=JSON.parse(state);this.classList.toggle("is-empty",parsedState.item_count===0);const cartDrawerWrapper=document.querySelector("cart-drawer"),cartFooter=document.getElementById("main-cart-footer");cartFooter&&cartFooter.classList.toggle("is-empty",parsedState.item_count===0),cartDrawerWrapper&&cartDrawerWrapper.classList.toggle("is-empty",parsedState.item_count===0),this.get
1SectionsToRender().forEach((section=>{const elementToReplace=document.getElementById(section.id).querySelector(section.selector)||document.getElementById(section.id);elementToReplace.innerHTML=this.getSectionInnerHTML(parsedState.sections[section.section],section.selector)}));let shipping_bar=document.querySelector(".shipping-percentage-bar");if(shipping_bar){let bar_width=parseFloat(shipping_bar.dataset.bar);shipping_bar.style.width="0",setTimeout(function(){shipping_bar.style.width=bar_width+"%"},1e3)}this.updateLiveRegions(line,parsedState.item_count);const lineItem=document.getElementById(`CartItem-${line}`)||document.getElementById(`CartDrawer-Item-${line}`);lineItem&&lineItem.querySelector(`[name="${name}"]`)?cartDrawerWrapper?trapFocus(cartDrawerWrapper,lineItem.querySelector(`[name="${name}"]`)):lineItem.querySelector(`[name="${name}"]`).focus():parsedState.item_count===0&&cartDrawerWrapper?trapFocus(cartDrawerWrapper.querySelector(".drawer__inner-empty"),cartDrawerWrapper.querySelector("a")):document.querySelector(".cart-item")&&cartDrawerWrapper&&trapFocus(cartDrawerWrapper,document.querySelector(".cart-item__name")),upsellProductSelection(),this.disableLoading()}).catch(()=>{this.querySelectorAll(".loading-overlay").forEach(overlay=>overlay.classList.add("hidden"));const errors=document.getElementById("cart-errors")||document.getElementById("CartDrawer-CartErrors");errors.textContent=window.cartStrings.error,this.disableLoading()})}updateLiveRegions(line,itemCount){if(this.currentItemCount===itemCount){const lineItemError=document.getElementById(`Line-item-error-${line}`)||document.getElementById(`CartDrawer-LineItemError-${line}`),quantityElement=document.getElementById(`Quantity-${line}`)||document.getElementById(`Drawer-quantity-${line}`);lineItemError.querySelector(".cart-item__error-text").innerHTML=window.cartStrings.quantityError.replace("[quantity]",quantityElement.value)}this.currentItemCount=itemCount,this.lineItemStatusElement.setAttribute("aria-hidden",!0);const cartStatus=document.getElementById("cart-live-region-text")||document.getElementById("CartDrawer-LiveRegionText");cartStatus.setAttribute("aria-hidden",!1),setTimeout(()=>{cartStatus.setAttribute("aria-hidden",!0)},1e3)}getSectionInnerHTML(html,selector){return new DOMParser().parseFromString(html,"text/html").querySelector(selector).innerHTML}enableLoading(line){(document.getElementById("main-cart-items")||document.getElementById("CartDrawer-CartItems")).classList.add("cart__items--disabled");const cartItemElements=this.querySelectorAll(`#CartItem-${line} .loading-overlay`),cartDrawerItemElements=this.querySelectorAll(`#CartDrawer-Item-${line} .loading-overlay`);
1[...cartItemElements,...cartDrawerItemElements].forEach(overlay=>overlay.classList.remove("hidden")),document.activeElement.blur(),this.lineItemStatusElement.setAttribute("aria-hidden",!1)}disableLoading(){(document.getElementById("main-cart-items")||document.getElementById("CartDrawer-CartItems")).classList.remove("cart__items--disabled")}}customElements.define("cart-items",CartItems),customElements.get("cart-note")||customElements.define("cart-note",class extends HTMLElement{constructor(){super(),this.addEventListener("change",debounce(event=>{const body=JSON.stringify({note:event.target.value});fetch(`${routes.cart_update_url}`,{...fetchConfig(),body})},300))}});function upsellProductSelection(){document.querySelectorAll(".cart-upsell-option").forEach(select=>{select.addEventListener("change",function(){let parentDiv=this.closest(".upsell-product-card"),img=parentDiv.querySelector(".upsell-product-image img"),priceDiv=parentDiv.querySelector(".upsell-product-price"),scriptTag=parentDiv.querySelector('script[type="application/json"]'),variantjson=JSON.parse(scriptTag.innerHTML),opts=[];parentDiv.querySelectorAll(".cart-upsell-option").forEach(optSelect=>{opts.push(optSelect.value)});let selectedVar=variantjson.filter(v=>v.option1==opts[0]&&v.option2==opts[1]&&v.option3==opts[2]),submitButton=parentDiv.querySelector(".quick-add__submit"),addToCartText=submitButton.querySelector("span:not(.sold-out-message)"),id_input=parentDiv.querySelector('input[name="id"'),selectedVarImg=selectedVar[0].featured_image.src;if(selectedVarImg&&img&&(img.src=selectedVarImg,img.srcset=selectedVarImg),!selectedVar[0]||selectedVar[0].available===!1)submitButton.setAttribute("disabled","true"),addToCartText.textContent="Sold out";else{let selectedVarId=selectedVar[0].id,selectVarOpt=document.querySelector(`select.upsell-variant option[value="${selectedVarId}"]`);if(submitButton.removeAttribute("disabled"),addToCartText.textContent="Add to bag",id_input.value=selectedVarId,console.log(selectVarOpt),selectVarOpt){let selectVarPrice=selectVarOpt.dataset.price;priceDiv.innerHTML=selectVarPrice}}})})}document.addEventListener("DOMContentLoaded",function(){upsellProductSelection()}); 2//# sourceMappingURL=/cdn/shop/t/13/assets/cart.js.map?v=104253976318442364051767988195
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.