{
  "version": 3,
  "sources": ["/cdn/shop/t/421/assets/aa-four-for-99-progress.js?aa_revision=aa-currency-20261011-2"],
  "sourcesContent": ["import {offerItems,hasOfferDiscount} from './aa-offer-cart.js?v=aa-currency-20261011-2';\nimport {currencyContext} from './aa-offer-currency.js?v=aa-currency-20261011-2';\n/* Draft storefront helper: never changes cart totals or prices. Shopify is authoritative. */\nconst rulesCache=new Map();\nconst getRules=url=>{\n if(!rulesCache.has(url))rulesCache.set(url,fetch(url).then(r=>{if(!r.ok)throw Error('Offer configuration unavailable');return r.json();}));\n return rulesCache.get(url);\n};\nclass AAOfferProgress extends HTMLElement {\n connectedCallback(){\n  this.controller?.abort();this.controller=new AbortController();\n  this.revision=0;\n  const initial=this.querySelector('[data-offer-cart]');\n  try{this.render(JSON.parse(initial?.textContent||'{}'));}catch{this.hidden=true;}\n  document.addEventListener('cart:change',e=>this.render(e.detail?.cart),{signal:this.controller.signal});\n  document.addEventListener('cart:refresh',()=>this.refresh(),{signal:this.controller.signal});\n }\n disconnectedCallback(){this.controller?.abort();this.revision++;}\n async refresh(){\n  try{const r=await fetch(`${window.Shopify?.routes?.root||'/'}cart.js`,{headers:{Accept:'application/json'}});if(r.ok)await this.render(await r.json());}catch{this.hidden=true;}\n }\n async render(cart){\n  const revision=++this.revision;\n  try{\n   const config=await getRules(this.dataset.config);\n   if(!this.isConnected||revision!==this.revision)return;\n   const context=currencyContext(config,cart.currency),bundle=context.offerMoney(context.offerBundleCents);\n   const qualifying=offerItems(cart,config,context);\n   const quantity=qualifying.reduce((n,item)=>n+item.quantity,0);\n   this.hidden=!quantity&&!this.hasAttribute('data-force-visible');\n   const applied=hasOfferDiscount(cart);\n   const remainder=quantity%4,needed=remainder?4-remainder:quantity>=4?0:4;\n   let message;\n   if(quantity<4)message=`Add ${needed} more ${needed===1?'piece':'pieces'} for 4 for ${bundle}.`;\n   else if(applied)message=`${Math.floor(quantity/4)} ${quantity<8?'bundle':'bundles'} at ${bundle}${remainder?` \u00B7 ${remainder} extra ${remainder===1?'piece':'pieces'} at regular price`:''}.`;\n   else message='Four eligible pieces selected. Check the offer in your cart before checkout.';\n   this.querySelector('[role=status]').textContent=message;\n   const progress=this.querySelector('progress');progress.value=quantity>=4&&!remainder?4:remainder;\n  }catch{if(revision===this.revision)this.hidden=true;}\n }\n}\nif(!customElements.get('aa-offer-progress'))customElements.define('aa-offer-progress',AAOfferProgress);\n"],
  "mappings": "AAAA,OAAQ,WAAW,qBAAuB,8CAC1C,OAAQ,oBAAsB,kDAE9B,MAAM,WAAW,IAAI,IACf,SAAS,MACV,WAAW,IAAI,GAAG,GAAE,WAAW,IAAI,IAAI,MAAM,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,MAAM,iCAAiC,EAAE,OAAO,EAAE,KAAK,CAAE,CAAC,CAAC,EAClI,WAAW,IAAI,GAAG,GAE1B,MAAM,wBAAwB,WAAY,CACzC,mBAAmB,CAClB,KAAK,YAAY,MAAM,EAAE,KAAK,WAAW,IAAI,gBAC7C,KAAK,SAAS,EACd,MAAM,QAAQ,KAAK,cAAc,mBAAmB,EACpD,GAAG,CAAC,KAAK,OAAO,KAAK,MAAM,SAAS,aAAa,IAAI,CAAC,CAAE,MAAM,CAAC,KAAK,OAAO,EAAK,CAChF,SAAS,iBAAiB,cAAc,GAAG,KAAK,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC,OAAO,KAAK,WAAW,MAAM,CAAC,EACtG,SAAS,iBAAiB,eAAe,IAAI,KAAK,QAAQ,EAAE,CAAC,OAAO,KAAK,WAAW,MAAM,CAAC,CAC5F,CACA,sBAAsB,CAAC,KAAK,YAAY,MAAM,EAAE,KAAK,UAAW,CAChE,MAAM,SAAS,CACd,GAAG,CAAC,MAAM,EAAE,MAAM,MAAM,GAAG,OAAO,SAAS,QAAQ,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,kBAAkB,CAAC,CAAC,EAAK,EAAE,IAAG,MAAM,KAAK,OAAO,MAAM,EAAE,KAAK,CAAC,CAAE,MAAM,CAAC,KAAK,OAAO,EAAK,CAChL,CACA,MAAM,OAAO,KAAK,CACjB,MAAM,SAAS,EAAE,KAAK,SACtB,GAAG,CACF,MAAM,OAAO,MAAM,SAAS,KAAK,QAAQ,MAAM,EAC/C,GAAG,CAAC,KAAK,aAAa,WAAW,KAAK,SAAS,OAC/C,MAAM,QAAQ,gBAAgB,OAAO,KAAK,QAAQ,EAAE,OAAO,QAAQ,WAAW,QAAQ,gBAAgB,EAEhG,SADW,WAAW,KAAK,OAAO,OAAO,EACrB,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,SAAS,CAAC,EAC5D,KAAK,OAAO,CAAC,UAAU,CAAC,KAAK,aAAa,oBAAoB,EAC9D,MAAM,QAAQ,iBAAiB,IAAI,EAC7B,UAAU,SAAS,EAAE,OAAO,UAAU,EAAE,UAAU,UAAU,EAAE,EAAE,EACtE,IAAI,QACD,SAAS,EAAE,QAAQ,OAAO,MAAM,SAAS,SAAS,EAAE,QAAQ,QAAQ,cAAc,MAAM,IACnF,QAAQ,QAAQ,GAAG,KAAK,MAAM,SAAS,CAAC,CAAC,IAAI,SAAS,EAAE,SAAS,SAAS,OAAO,MAAM,GAAG,UAAU,SAAM,SAAS,UAAU,YAAY,EAAE,QAAQ,QAAQ,oBAAoB,EAAE,IACpL,QAAQ,+EACb,KAAK,cAAc,eAAe,EAAE,YAAY,QAChD,MAAM,SAAS,KAAK,cAAc,UAAU,EAAE,SAAS,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,SACxF,MAAM,CAAI,WAAW,KAAK,WAAS,KAAK,OAAO,GAAK,CACrD,CACD,CACI,eAAe,IAAI,mBAAmB,GAAE,eAAe,OAAO,oBAAoB,eAAe",
  "names": []
}
