1(function(){"use strict";var busy=!1;function routes(){var r=window.theme&&window.theme.routes||{};return{change:r.cartChange||"/cart/change.js",update:"/cart/update.js",clear:"/cart/clear.js",cart:r.cart||"/cart.js"}}function getCart(){return fetch(routes().cart+"?t="+Date.now(),{credentials:"same-origin"}).then(function(r){return r.json()})}function post(url,payload){return fetch(url+"?t="+Date.now(),{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json","X-Requested-With":"XMLHttpRequest"},body:JSON.stringify(payload)}).then(function(r){return r.json()})}function rowId(item){var props=item.getAttribute("data-lnq-props");return props||(props="{}"),{variant:String(item.getAttribute("data-lnq-variant")||""),props:props}}function sameLine(line,id){return String(line.variant_id)!==id.variant?!1:JSON.stringify(line.properties||{})===id.props}function linesOf(cart,id){var items=cart.items||[],exact=items.filter(function(l){return sameLine(l,id)});return exact.length?exact:items.filter(function(l){return String(l.variant_id)===id.variant})}function indexOfLine(cart,id){for(var items=cart.items||[],i=0;i<items.length;i++)if(sameLine(items[i],id))return i;for(var j=0;j<items.length;j++)if(String(items[j].variant_id)===id.variant)return j;return-1}function lastIndexOfVariant(cart,variant){for(var items=cart.items||[],i=items.length-1;i>=0;i--)if(String(items[i].variant_id)===variant)return i;return-1}function removeRow(id){return getCart().then(function(cart){var lines=linesOf(cart,id);if(!lines.length)return cart;var updates={};return updates[id.variant]=0,post(routes().update,{updates:updates}).catch(function(){return null}).then(function(){return removeRemaining(id.variant,12)})})}function removeRemaining(variant,n){return getCart().then(function(cart){var idx=lastIndexOfVariant(cart,variant);return idx<0||n<=0?cart:post(routes().change,{line:idx+1,quantity:0}).then(function(){return removeRemaining(variant,n-1)})})}function changeQty(id,delta){return getCart().then(function(cart){var items=cart.items||[],paidIdx=-1,paidQty=0,i;for(i=0;i<items.length;i++)sameLine(items[i],id)&&items[i].final_line_price!==0&&items[i].quantity>paidQty&&(paidQty=items[i].quantity,paidIdx=i);if(paidIdx<0){if(paidIdx=indexOfLine(cart,id),paidIdx<0)return cart;paidQty=items[paidIdx].quantity}var next=paidQty+delta;return next<=0?removeRow(id):post(routes().change,{line:paidIdx+1,quantity:next})})}function setQty(id,total){return total<=0?removeRow(id):getCart().then(function(cart){var idx=indexOfLine(cart,id);return idx<0?cart:post(routes().change,{line:idx+1,quantity:total})})}function clearCart(){return post(routes().clear,{})}function refresh(cart){try{document.dispatchEvent(new CustomEvent("cart:build")),cart&&document.dispatchEvent(new CustomEvent("cart:updated",{detail:{cart:cart}}))}catch(e){}var form=document.getElementById("CartPageForm");return form?new Promise(function(done){setTimeout(done,400)}).then(function(){return fetch("/cart?t="+Date.now(),{credentials:"same-origin"}).then(function(r){return r.text()}).then(function(html){var doc=new DOMParser().parseFromString(html,"text/html"),src=doc.getElementById("CartPageForm");if(!src){window.location.reload();return}["[data-products]","[data-subtotal]","[data-discounts]"].forEach(function(sel){var n=src.querySelector(sel),c=form.querySelector(sel);n&&c&&(c.innerHTML=n.innerHTML)}),window.lazySizes&&window.lazySizes.autoSizer&&window.lazySizes.autoSizer.checkElems()})}).catch(function(){window.location.reload()}):Promise.resolve()}function run(promiseFactory,item){busy||(busy=!0,item&&item.classList.add("is-loading"),promiseFactory().then(function(cart){return refresh(cart)}).catch(function(){window.location.reload()}).then(function(){busy=!1}))}document.addEventListener("click",function(evt){var t=evt.target;if(!(!t||!t.closest)){var clear=t.closest('[data-lnq-clear], .cart__clear, a[href*="/cart/clear"]');if(clear){evt.preventDefault(),evt.stopImmediatePropagation(),run(function(){return clearCart()},null);return}var rm=t.closest(".cart__remove a, [data-lnq-remove]");if(rm){var itemR=rm.closest(".cart__item");if(!itemR)return;evt.preventDefault(),evt.stopImmediatePropagation();var idR=rowId(itemR);run(function(){return removeRow(idR)},itemR);return}
1var btn=t.closest(".js-qty__adjust");if(btn){var itemQ=btn.closest(".cart__item"),wrapper=btn.closest(".js-qty__wrapper");if(!itemQ||!wrapper)return;evt.preventDefault(),evt.stopImmediatePropagation();var input=wrapper.querySelector(".js-qty__num"),shown=parseInt(input&&input.value,10);isNaN(shown)&&(shown=1);var plus=btn.classList.contains("js-qty__adjust--plus");input&&(input.value=plus?shown+1:Math.max(shown-1,0));var idQ=rowId(itemQ);run(function(){return changeQty(idQ,plus?1:-1)},itemQ);return}}},!0),document.addEventListener("change",function(evt){var input=evt.target;if(!(!input||!input.classList||!input.classList.contains("js-qty__num"))){var item=input.closest?input.closest(".cart__item"):null;if(item){evt.preventDefault(),evt.stopImmediatePropagation();var total=parseInt(input.value,10);(isNaN(total)||total<0)&&(total=0);var id=rowId(item);run(function(){return setQty(id,total)},item)}}},!0),document.addEventListener("submit",function(evt){var f=evt.target;if(!(!f||f.id!=="CartPageForm")){var s=evt.submitter;s&&s.name==="checkout"||(evt.preventDefault(),evt.stopImmediatePropagation())}},!0);function neutralizeHrefs(root){for(var scope=root&&root.querySelectorAll?root:document,links=scope.querySelectorAll('.cart__item .cart__remove a[href*="/cart/change"]'),i=0;i<links.length;i++)links[i].setAttribute("data-lnq-href-original",links[i].getAttribute("href")),links[i].setAttribute("data-lnq-remove",""),links[i].setAttribute("href","/cart")}function watchCart(){if(neutralizeHrefs(document),!!window.MutationObserver){var pending=!1,obs=new MutationObserver(function(){pending||(pending=!0,setTimeout(function(){pending=!1,neutralizeHrefs(document)},60))});obs.observe(document.body,{childList:!0,subtree:!0})}}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",watchCart):watchCart()})(); 2//# sourceMappingURL=/cdn/shop/t/17/assets/lnq-cart-qty.js.map?v=74217905401979913541790987737
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.