{
  "version": 3,
  "sources": ["/cdn/shop/t/4/assets/fmd-newsletter-discount.js?fmd=2"],
  "sourcesContent": ["(() => {\n  const dialog = document.querySelector('[data-fmd-newsletter-dialog]');\n  const openButton = document.querySelector('[data-fmd-newsletter-open]');\n\n  if (!(dialog instanceof HTMLDialogElement) || !(openButton instanceof HTMLButtonElement)) return;\n\n  const closeButton = dialog.querySelector('[data-fmd-newsletter-close]');\n  const formState = dialog.querySelector('[data-fmd-newsletter-state]');\n  const copyButton = dialog.querySelector('[data-fmd-newsletter-copy]');\n  const discountCode = dialog.querySelector('[data-fmd-newsletter-code]');\n  const copyStatus = dialog.querySelector('[data-fmd-newsletter-copy-status]');\n\n  const clearSubmittedUrlState = () => {\n    if (!window.history?.replaceState) return;\n\n    const url = new URL(window.location.href);\n    let changed = false;\n\n    if (url.searchParams.has('customer_posted')) {\n      url.searchParams.delete('customer_posted');\n      changed = true;\n    }\n\n    if (url.hash === '#FmdNewsletterDiscountForm' || url.hash === '#fmd-email-offer') {\n      url.hash = '';\n      changed = true;\n    }\n\n    if (changed) {\n      window.history.replaceState({}, document.title, `${url.pathname}${url.search}${url.hash}`);\n    }\n  };\n\n  const openDialog = () => {\n    if (!dialog.open) dialog.showModal();\n    openButton.hidden = true;\n\n    window.requestAnimationFrame(() => {\n      const focusTarget = dialog.querySelector('[autofocus], input, [data-fmd-newsletter-close]');\n      focusTarget?.focus();\n    });\n  };\n\n  const closeDialog = () => {\n    if (dialog.open) dialog.close();\n  };\n\n  const copyText = async (text) => {\n    if (navigator.clipboard?.writeText) {\n      try {\n        await navigator.clipboard.writeText(text);\n        return true;\n      } catch {\n        // Fall through to the selection-based copy method.\n      }\n    }\n\n    const textarea = document.createElement('textarea');\n    textarea.value = text;\n    textarea.setAttribute('readonly', '');\n    textarea.style.position = 'fixed';\n    textarea.style.opacity = '0';\n    document.body.appendChild(textarea);\n    textarea.select();\n\n    const copied = document.execCommand('copy');\n    textarea.remove();\n    return copied;\n  };\n\n  openButton.addEventListener('click', openDialog);\n  closeButton?.addEventListener('click', closeDialog);\n\n  dialog.addEventListener('click', (event) => {\n    if (event.target === dialog) closeDialog();\n  });\n\n  dialog.addEventListener('close', () => {\n    openButton.hidden = false;\n    openButton.focus();\n  });\n\n  copyButton?.addEventListener('click', async () => {\n    const code = discountCode?.textContent?.trim();\n    if (!code) return;\n\n    try {\n      const copied = await copyText(code);\n      if (copied) {\n        copyButton.textContent = 'Copied';\n        if (copyStatus) copyStatus.textContent = `${code} copied to your clipboard.`;\n      } else if (copyStatus) {\n        copyStatus.textContent = `Copy this code: ${code}`;\n      }\n    } catch {\n      if (copyStatus) copyStatus.textContent = `Copy this code: ${code}`;\n    }\n  });\n\n  const shouldOpenAfterSubmit = formState?.dataset.success === 'true' || formState?.dataset.errors === 'true';\n  const shouldOpenFromHash = window.location.hash === '#fmd-email-offer';\n\n  if (shouldOpenAfterSubmit || shouldOpenFromHash) {\n    openDialog();\n    clearSubmittedUrlState();\n  }\n})();\n"],
  "mappings": "CAAC,IAAM,CACL,MAAM,OAAS,SAAS,cAAc,8BAA8B,EAC9D,WAAa,SAAS,cAAc,4BAA4B,EAEtE,GAAI,EAAE,kBAAkB,oBAAsB,EAAE,sBAAsB,mBAAoB,OAE1F,MAAM,YAAc,OAAO,cAAc,6BAA6B,EAChE,UAAY,OAAO,cAAc,6BAA6B,EAC9D,WAAa,OAAO,cAAc,4BAA4B,EAC9D,aAAe,OAAO,cAAc,4BAA4B,EAChE,WAAa,OAAO,cAAc,mCAAmC,EAErE,uBAAyB,IAAM,CACnC,GAAI,CAAC,OAAO,SAAS,aAAc,OAEnC,MAAM,IAAM,IAAI,IAAI,OAAO,SAAS,IAAI,EACxC,IAAI,QAAU,GAEV,IAAI,aAAa,IAAI,iBAAiB,IACxC,IAAI,aAAa,OAAO,iBAAiB,EACzC,QAAU,KAGR,IAAI,OAAS,8BAAgC,IAAI,OAAS,sBAC5D,IAAI,KAAO,GACX,QAAU,IAGR,SACF,OAAO,QAAQ,aAAa,CAAC,EAAG,SAAS,MAAO,GAAG,IAAI,QAAQ,GAAG,IAAI,MAAM,GAAG,IAAI,IAAI,EAAE,CAE7F,EAEM,WAAa,IAAM,CAClB,OAAO,MAAM,OAAO,UAAU,EACnC,WAAW,OAAS,GAEpB,OAAO,sBAAsB,IAAM,CACb,OAAO,cAAc,iDAAiD,GAC7E,MAAM,CACrB,CAAC,CACH,EAEM,YAAc,IAAM,CACpB,OAAO,MAAM,OAAO,MAAM,CAChC,EAEM,SAAW,MAAO,MAAS,CAC/B,GAAI,UAAU,WAAW,UACvB,GAAI,CACF,aAAM,UAAU,UAAU,UAAU,IAAI,EACjC,EACT,MAAQ,CAER,CAGF,MAAM,SAAW,SAAS,cAAc,UAAU,EAClD,SAAS,MAAQ,KACjB,SAAS,aAAa,WAAY,EAAE,EACpC,SAAS,MAAM,SAAW,QAC1B,SAAS,MAAM,QAAU,IACzB,SAAS,KAAK,YAAY,QAAQ,EAClC,SAAS,OAAO,EAEhB,MAAM,OAAS,SAAS,YAAY,MAAM,EAC1C,gBAAS,OAAO,EACT,MACT,EAEA,WAAW,iBAAiB,QAAS,UAAU,EAC/C,aAAa,iBAAiB,QAAS,WAAW,EAElD,OAAO,iBAAiB,QAAU,OAAU,CACtC,MAAM,SAAW,QAAQ,YAAY,CAC3C,CAAC,EAED,OAAO,iBAAiB,QAAS,IAAM,CACrC,WAAW,OAAS,GACpB,WAAW,MAAM,CACnB,CAAC,EAED,YAAY,iBAAiB,QAAS,SAAY,CAChD,MAAM,KAAO,cAAc,aAAa,KAAK,EAC7C,GAAK,KAEL,GAAI,CACa,MAAM,SAAS,IAAI,GAEhC,WAAW,YAAc,SACrB,aAAY,WAAW,YAAc,GAAG,IAAI,+BACvC,aACT,WAAW,YAAc,mBAAmB,IAAI,GAEpD,MAAQ,CACF,aAAY,WAAW,YAAc,mBAAmB,IAAI,GAClE,CACF,CAAC,EAED,MAAM,sBAAwB,WAAW,QAAQ,UAAY,QAAU,WAAW,QAAQ,SAAW,OAC/F,mBAAqB,OAAO,SAAS,OAAS,oBAEhD,uBAAyB,sBAC3B,WAAW,EACX,uBAAuB,EAE3B,GAAG",
  "names": []
}
