{
  "version": 3,
  "sources": ["/cdn/shop/t/20/assets/cw-capture-bridge.js?cw=20260920-capture-01"],
  "sourcesContent": ["(function(root){\n  'use strict';\n  if(!root.document || root.__cwCaptureBridge || root.location.origin!=='https://craftedwondersart.com')return;\n  root.__cwCaptureBridge=true;\n  const endpoint='/apps/cw-preferences/capture', doc=root.document;\n  function analytics(){try{return root.Shopify?.customerPrivacy?.analyticsProcessingAllowed()===true;}catch(_){return false;}}\n  function revoke(token){\n    if(!/^[0-9a-f]{32}$/.test(token||''))return;\n    void root.fetch(endpoint+'/revoke',{method:'POST',credentials:'same-origin',cache:'no-store',redirect:'error',keepalive:true,headers:{'content-type':'application/json'},body:JSON.stringify({token})}).catch(()=>{});\n  }\n  for(const panel of doc.querySelectorAll('[data-cw-capture]')){\n    const form=panel.querySelector('form'), consent=form?.querySelector('[data-cw-marketing-consent]');\n    if(!form||!consent||!form.querySelector('[data-cw-capture-tags]'))continue;\n    let token=null, tokenUntil=0, task=null, generation=0, resumed=false, submitting=false;\n    const eligible=()=>consent.checked&&analytics();\n    function clear(){generation++; if(token)revoke(token); token=null; tokenUntil=0; task=null; delete form.dataset.cwCaptureTag;}\n    function prepare(){\n      if(!eligible()){clear();return Promise.resolve(false);}\n      if(token&&Date.now()<tokenUntil)return Promise.resolve(true);\n      if(token)clear();\n      if(task)return task;\n      const selected=[...form.querySelectorAll('[data-cw-interest]:checked')].map(x=>x.value);\n      const line=panel.dataset.interest || selected[0] || ({cigar_gifting:'cigar',collection:'collection',story_co_creation:'story'}[form.querySelector('[data-cw-preference=\"interest_line\"]')?.value]);\n      const touch=root.CwAttributionTools?.cleanTouch(root.location.href,{businessLine:line,articleId:panel.dataset.articleId,collectionId:panel.dataset.collectionId,productSku:panel.dataset.productSku},root.sessionStorage);\n      if(!touch)return Promise.resolve(false);\n      try{const ref=new URL(doc.referrer);if(ref.origin!==root.location.origin&&/^(?=.{1,160}$)[A-Za-z0-9.-]+$/.test(ref.hostname))touch.referrer_host=ref.hostname;}catch(_){}\n      const issuedGeneration=++generation;\n      let current;\n      current=(async()=>{\n        try{\n          const response=await root.fetch(endpoint+'/issue',{method:'POST',credentials:'same-origin',cache:'no-store',redirect:'error',signal:AbortSignal.timeout(2500),headers:{'content-type':'application/json'},body:JSON.stringify({analyticsConsent:true,marketingConsent:true,touch})});\n          if(!response.ok)return false;\n          const issued=await response.json();\n          if(!/^[0-9a-f]{32}$/.test(issued.token||'')||issued.tag!=='cw_capture_'+issued.token)return false;\n          if(issuedGeneration!==generation||!eligible()){revoke(issued.token);return false;}\n          token=issued.token;tokenUntil=Date.now()+30*60*1000;form.dataset.cwCaptureTag=issued.tag;return true;\n        }catch(_){return false;}\n        finally{if(task===current)task=null;}\n      })();\n      task=current;return current;\n    }\n    form.addEventListener('change',event=>{\n      if(event.target===consent||event.target.matches('[data-cw-interest],[data-cw-preference]')){clear();if(eligible())void prepare();}\n    });\n    doc.addEventListener('visitorConsentCollected',()=>{if(!eligible())clear();else void prepare();});\n    // A short preflight may delay the normal submit, but never replaces its native POST.\n    // requestSubmit runs the same HTML validation and Shopify CAPTCHA handlers again.\n    form.addEventListener('submit',event=>{\n      if(resumed||(token&&Date.now()<tokenUntil)||!eligible()||!form.checkValidity())return;\n      event.preventDefault();event.stopImmediatePropagation();\n      if(submitting)return;\n      submitting=true;\n      const button=event.submitter;\n      if(button)button.disabled=true;\n      void prepare().finally(()=>{\n        if(button)button.disabled=false;\n        submitting=false;\n        if(!consent.checked||!form.checkValidity())return;\n        resumed=true;\n        try{form.requestSubmit(button&&button.form===form?button:undefined);}finally{resumed=false;}\n      });\n    },true);\n  }\n})(window);\n"],
  "mappings": "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",
  "names": []
}
