1(function(){"use strict";var CHECKOUT_VALIDATION_TIMEOUT_MS=5e3,lastMerchandiseSignature=null,isMutating=!1,initialized=!1,validatingPromise=null,checkoutNavigationPending=!1;function root(){var nodes=document.querySelectorAll("[data-cart-lead-time-root]"),n=nodes.length;if(!n)return null;function likelyVisible(el){if(!el||el.hidden)return!1;if(el.offsetParent!==null)return!0;var rect=el.getBoundingClientRect();return rect.width>0&&rect.height>0}var i,lastVisible=null;for(i=0;i<n;i++)likelyVisible(nodes[i])&&(lastVisible=nodes[i]);return lastVisible||nodes[n-1]}function cartRoute(){return window.Shopify&&window.Shopify.routes&&window.Shopify.routes.root?window.Shopify.routes.root:"/"}function shouldReloadCartPage(){return typeof window.themeVariables!="undefined"&&window.themeVariables.settings&&window.themeVariables.settings.pageType==="cart"}function afterCartMutation(){checkoutNavigationPending||(document.documentElement.dispatchEvent(new CustomEvent("cart:refresh",{bubbles:!0})),shouldReloadCartPage()&&window.location.reload())}function cartFetch(url,body){return fetch(url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(body)}).then(function(res){return res.ok?res.json():res.text().then(function(t){throw new Error("Cart request failed: "+res.status+" "+t)})})}function readRootMeta(el){if(!el)return null;function attrBool(key){return el.getAttribute(key)==="true"}function attrStr(key){return el.getAttribute(key)||""}var feeMap={};try{feeMap=JSON.parse(el.getAttribute("data-fee-variants")||"{}")||{}}catch(e){feeMap={}}return{standardTimeframe:attrStr("data-standard-timeframe"),standardLeadTimeName:attrStr("data-standard-lead-time-name"),feeVariants:feeMap,hasProductItems:attrBool("data-has-product-items"),hasSamples:attrBool("data-has-samples"),hasHandpaintedSamples:attrBool("data-has-handpainted-samples"),isSampleOnly:attrBool("data-is-sample-only"),hasLeadTimeData:attrBool("data-has-lead-time-data"),needsAutoStandard:attrBool("data-needs-auto-standard")}}function currentMeta(){return readRootMeta(root())}function fetchFreshMeta(){return fetch(cartRoute()+"?section_id=cart-drawer",{credentials:"same-origin"}).then(function(res){if(!res.ok)throw new Error("Section fetch failed: "+res.status);return res.text()}).then(function(html){var doc=new DOMParser().parseFromString(html,"text/html");return readRootMeta(doc.querySelector("[data-cart-lead-time-root]"))})}function feeSetFromMap(map){var set={};return map&&Object.keys(map).forEach(function(k){var gid=map[k];if(gid){var n=parseInt(String(gid).replace(/\D/g,""),10);n&&(set[n]=!0)}}),set}function normalizeVariantId(id){return parseInt(String(id).replace(/\D/g,""),10)||0}function isSurchargeLine(item,feeSet){if(item.properties&&item.properties._lead_time_tier)return!0;var iv=normalizeVariantId(item.variant_id);return!!(iv&&feeSet&&feeSet[iv])}function findSurchargeLine(cart,feeSet){for(var items=cart&&cart.items||[],i=0;i<items.length;i++)if(isSurchargeLine(items[i],feeSet))return items[i];return null}function merchandiseSignature(cart,feeSet){var ids=(cart&&cart.items||[]).filter(function(item){return!isSurchargeLine(item,feeSet)}).map(function(item){return String(item.variant_id)+":"+String(item.quantity||0)}).sort();return ids.join(",")}function getCartAttributes(cart){return cart&&cart.attributes||{}}function computeDesiredState(cart,meta){if(!cart)return null;var feeSet=feeSetFromMap(meta&&meta.feeVariants),surcharge=findSurchargeLine(cart,feeSet),attrs=getCartAttributes(cart),tier=attrs._lead_time_tier||"",label=attrs._lead_time_label||"",name=attrs._lead_time_name||"",itemCount=cart.item_count||0;if(!meta)return itemCount===0&&(tier||label||name||surcharge)?{surchargeKeyToRemove:surcharge?surcharge.key:null,attrs:{_lead_time_tier:"",_lead_time_label:"",_lead_time_name:""}}:null;var hasAnyLeadTime=meta.hasProductItems||meta.hasSamples;if(!hasAnyLeadTime)return tier||label||name||surcharge?{surchargeKeyToRemove:surcharge?surcharge.key:null,attrs:{_lead_time_tier:"",_lead_time_label:"",_lead_time_name:""}}:null;if(!meta.hasProductItems){var stdLabel=meta.standardTimeframe,stdName=meta.standardLeadTimeName,mismatch=tier!=="standard"||label!==stdLabel||name!==stdName||!!surcharge;return mismatch?{surchargeKeyToRemove:surcharge?surcharge.key:null,attrs:{_lead_time_tier:"standard",_lead_time_label:stdLabel,_lead_time_name:stdName}}:null}if(!tier)return{surchargeKeyToRemove:surcharge?surcharge.key:null,attrs:{_lead_time_tier:"standard",_lead_time_label:meta.standardTimeframe,_lead_time_name:meta.standardLeadTimeName}};if(tier!=="standard"&&!surcharge)return{surchargeKeyToRemove:null,attrs:{_lead_time_tier:"standard",_lead_time_label:meta.standardTimeframe,_lead_time_name:meta.standardLeadTimeName}};if(tier==="standard"){var labelOk=label===meta.standardTimeframe,nameOk=name===meta.standardLeadTimeName;return!labelOk||!nameOk||surcharge?{surchargeKeyToRemove:surcharge?surcharge.key:null,attrs:{_lead_time_tier:"standard",_lead_time_label:meta.standardTimeframe,_lead_time_name:meta.standardLeadTimeName}}:null}return meta.standardLeadTimeName&&!name?{surchargeKeyToRemove:null,attrs:{_lead_time_name:meta.standardLeadTimeName},partialAttrs:!0}:null}function applyDesiredState(desired){var route=cartRoute();isMutating=!0;var chain=Promise.resolve();return desired.surchargeKeyToRemove&&(chain=chain.then(function(){return cartFetch(route+"cart/change.js",{id:desired.surchargeKeyToRemove,quantity:0})})),desired.attrs&&(chain=chain.then(function(){return cartFetch(route+"cart/update.js",{attributes:desired.attrs})})),chain.then(function(){return fetch(route+"cart.js").then(function(r){return r.json()})}).then(function(fresh){var freshMeta=currentMeta(),freshFeeSet=feeSetFromMap(freshMeta&&freshMeta.feeVariants);return lastMerchandiseSignature=merchandiseSignature(fresh,freshFeeSet),fresh}).finally(function(){isMutating=!1,afterCartMutation()})}function reconcile(opts){opts=opts||{};var cartPromise=opts.cart?Promise.resolve(opts.cart):fetch(cartRoute()+"cart.js").then(function(r){return r.json()}),metaPromise=opts.useCurrentMeta?Promise.resolve(currentMeta()):fetchFreshMeta().catch(function(){return currentMeta()});return Promise.all([cartPromise,metaPromise]).then(function(arr){var cart=arr[0],meta=arr[1],desired=computeDesiredState(cart,meta);return desired?applyDesiredState(desired):cart})}function validateForCheckout(){if(validatingPromise)return validatingPromise;var timeoutId,timeoutPromise=new Promise(function(resolve){timeoutId=setTimeout(function(){console.warn("[cart-lead-time-manager] validateForCheckout timed out after "+CHECKOUT_VALIDATION_TIMEOUT_MS+"ms \u2014 proceeding to checkout"),checkoutNavigationPending=!0,resolve()},CHECKOUT_VALIDATION_TIMEOUT_MS)}),workPromise=reconcile().catch(function(err){throw console.error("[cart-lead-time-manager] validateForCheckout:",err),err});return validatingPromise=Promise.race([workPromise,timeoutPromise]).finally(function(){timeoutId&&clearTimeout(timeoutId),validatingPromise=null}),validatingPromise}window.__cartLeadTimeManager={validateForCheckout:validateForCheckout,reconcile:reconcile};function onCartChange(cart){if(isMutating){var feeSet=feeSetFromMap((currentMeta()||{}).feeVariants);lastMerchandiseSignature=merchandiseSignature(cart,feeSet);return}var currFeeSet=feeSetFromMap((currentMeta()||{}).feeVariants),sig=merchandiseSignature(cart,currFeeSet);if(!initialized){initialized=!0,lastMerchandiseSignature=sig,reconcile({cart:cart,useCurrentMeta:!0}).catch(function(err){console.error("[cart-lead-time-manager] init reconcile:",err)});return}if(sig!==lastMerchandiseSignature){lastMerchandiseSignature=sig,reconcile().catch(function(err){console.error("[cart-lead-time-manager] change reconcile:",err)});return}reconcile({cart:cart,useCurrentMeta:!0}).catch(function(){})}function setSubmitterBusy(submitter,busy){submitter&&(busy?(submitter.setAttribute("data-cart-lead-time-validating","true"),submitter.setAttribute("aria-busy","true")):(submitter.removeAttribute("data-cart-lead-time-validating"),submitter.removeAttribute("aria-busy")))}function injectValidatingStyles(){if(!document.getElementById("cart-lead-time-manager-styles")){var style=document.createElement("style");style.id="cart-lead-time-manager-styles",style.textContent='[data-cart-lead-time-validating="true"]{position:relative;pointer-events:none;opacity:0.85;cursor:wait;}[data-cart-lead-time-validating="true"] > *{visibility:hidden;}[data-cart-lead-time-validating="true"]::after{content:"";position:absolute;top:50%;left:50%;width:1rem;height:1rem;margin:-0.5rem 0 0 -0.5rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:cart-lead-time-spin 0.7s linear infinite;}@keyframes cart-lead-time-spin{to{transform:rotate(360deg);}}',document.head.appendChild(style)}}function interceptCheckoutSubmit(event){var form=event.target;if(!(!form||form.tagName!=="FORM")&&!form.__cltmValidated){var action=form.getAttribute("action")||"";if(/\/cart(\?|$|\/)/.test(action)){var submitter=event.submitter;!submitter||submitter.name!=="checkout"||(event.preventDefault(),setSubmitterBusy(submitter,!0),validateForCheckout().then(function(){if(form.__cltmValidated=!0,checkoutNavigationPending=!0,typeof form.requestSubmit=="function")try{form.requestSubmit(submitter);return}catch(e){}var hidden=document.createElement("input");hidden.type="hidden",hidden.name=submitter.name||"checkout",hidden.value=submitter.value||"",form.appendChild(hidden),form.submit()},function(err){console.error("[cart-lead-time-manager] interceptCheckoutSubmit:",err),setSubmitterBusy(submitter,!1)}))}}}
1function init(){injectValidatingStyles();var route=cartRoute();fetch(route+"cart.js").then(function(r){return r.json()}).then(function(cart){initialized||onCartChange(cart)}).catch(function(err){console.error("[cart-lead-time-manager] init fetch:",err)}),document.addEventListener("cart:change",function(event){var cart=event.detail&&event.detail.cart;cart&&onCartChange(cart)},!1),document.addEventListener("cart:refresh",function(){isMutating||fetch(route+"cart.js").then(function(r){return r.json()}).then(function(cart){onCartChange(cart)}).catch(function(err){console.error("[cart-lead-time-manager] refresh fetch:",err)})},!1),document.addEventListener("submit",interceptCheckoutSubmit,!0),window.addEventListener("pageshow",function(event){if(event.persisted){checkoutNavigationPending=!1,validatingPromise=null;var forms=document.getElementsByTagName("form"),i;for(i=0;i<forms.length;i++){var form=forms[i],action=form.getAttribute("action")||"";if(/\/cart(\?|$|\/)/.test(action)){delete form.__cltmValidated;var checkoutControls=form.querySelectorAll('[name="checkout"]'),j;for(j=0;j<checkoutControls.length;j++)setSubmitterBusy(checkoutControls[j],!1)}}var stuckBusy=document.querySelectorAll('[data-cart-lead-time-validating="true"]');for(i=0;i<stuckBusy.length;i++)setSubmitterBusy(stuckBusy[i],!1)}})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",init):init()})(); 2//# sourceMappingURL=/cdn/shop/t/18/assets/cart-lead-time-manager.js.map?v=30406246676747664221776885194
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.