1document.addEventListener("alpine:init",()=>{Alpine.data("ThemeModule_CartItems",()=>({itemsRoot:null,locked:null,init(){this.itemsRoot=this.$root,window.addEventListener("cascade:modalcart:afteradditem",e=>{Alpine.morph(this.itemsRoot,querySelectorInHTMLString("[data-cart-items]",e.detail.response.sections["cart-items"]).outerHTML)}),window.addEventListener("cascade:modalcart:cartqtychange",e=>{Alpine.morph(this.itemsRoot,querySelectorInHTMLString("[data-cart-items]",e.detail.response.sections["cart-items"]).outerHTML),this.$nextTick(()=>{this.itemsRoot.querySelectorAll("input").forEach(inputEl=>{inputEl.value=inputEl.getAttribute("value")})});const liveRegionText=parseDOMFromString(e.detail.response.sections["cart-live-region"]).firstElementChild.textContent,cartStatus=document.getElementById("cart-live-region-text");cartStatus.textContent=liveRegionText,cartStatus.setAttribute("aria-hidden",!1),setTimeout(()=>{cartStatus.setAttribute("aria-hidden",!0)},1e3),e.detail.originalTarget&&this.$nextTick(()=>{if(!this.itemsRoot.contains(e.detail.originalTarget)){let focusRoot;this.itemsRoot.closest('[role="dialog"]')?focusRoot=this.itemsRoot.closest('[role="dialog"]').parentNode:focusRoot=this.itemsRoot,this.$focus.within(focusRoot).first()}})})},itemQuantityChange(key,value){if(this.locked)return;const lineItemEl=this.$el.closest("li[data-cart-item-key]"),id=key||lineItemEl.getAttribute("data-cart-item-key"),quantity=parseInt(isNaN(value)?this.$el.value:value,10),sections="cart-items,cart-footer,cart-item-count,cart-live-region",config=fetchConfigDefaults("javascript");config.body=JSON.stringify({id,quantity,sections,sections_url:window.location.pathname}),setTimeout(function(){var wrapper=jQuery(".agree-to-terms-wrapper").length;wrapper<1&&iatHandler()},1e3);const lastValue=parseInt(this.$el.dataset.lastValue,10);if(quantity!==lastValue){lineItemEl.classList.add("opacity-50","cursor-progress");const currentCount=Alpine.raw(Alpine.store("cart_count").count);this.locked=lineItemEl,fetch(theme.routes.cart_change_url,config).then(res=>res.json()).then(data=>{if(data.status===422){const errorEl=lineItemEl.querySelector("[data-cart-quantity-error]");errorEl.textContent=data.message,errorEl.classList.remove("hidden"),lineItemEl.classList.remove("opacity-50","cursor-progress"),this.$el.value=lastValue}else document.body.dispatchEvent(new CustomEvent("cascade:modalcart:cartqtychange",{bubbles:!0,detail:{response:data,originalTarget:lineItemEl}}))}).catch(()=>{document.getElementById("cart-errors").textContent=theme.strings.cartError}).finally(()=>{this.locked=null})}},removeItem(key){this.itemQuantityChange(key,0)},_adjustQty(el,operation){const inputEl=el.closest("li[key]").querySelector('input[type="number"]'),lastValue=parseInt(inputEl.dataset.lastValue,10);let newValue;operation=="increment"&&(newValue=lastValue+1),operation=="decrement"&&(lastValue>1?newValue=lastValue-1:newValue=1),operation=="remove"&&(newValue=0),inputEl.value=newValue,inputEl.dispatchEvent(new Event("change",{bubbles:!0}))},increment(){this._adjustQty(this.$el,"increment")},decrement(){this._adjustQty(this.$el,"decrement")},remove(){this._adjustQty(this.$el,"remove")}}))}); 2//# sourceMappingURL=/cdn/shop/t/17/assets/cart-items.js.map?v=174276957874367073951700209986
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.