{
  "version": 3,
  "sources": ["/cdn/shop/t/4/assets/ty-ticket-referral.js?tyv=20260509-ticket-referral1"],
  "sourcesContent": ["(() => {\n  const attributeName = \"Referred by\";\n  const storageKey = \"ty_artist_ref\";\n\n  const getStoredRef = () => {\n    try {\n      return window.sessionStorage.getItem(storageKey);\n    } catch (error) {\n      return \"\";\n    }\n  };\n\n  const setStoredRef = (value) => {\n    try {\n      window.sessionStorage.setItem(storageKey, value);\n    } catch (error) {\n      // Storage can be unavailable in strict privacy modes; cart attributes still handle this visit.\n    }\n  };\n\n  const getReferral = () => {\n    const params = new URLSearchParams(window.location.search);\n    const incomingRef = params.get(\"ref\");\n\n    if (incomingRef) {\n      const trimmedRef = incomingRef.trim();\n      setStoredRef(trimmedRef);\n      return trimmedRef;\n    }\n\n    return getStoredRef();\n  };\n\n  const updateCartAttribute = (ref) => {\n    if (!ref) return;\n\n    fetch(\"/cart/update.js\", {\n      method: \"POST\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n        Accept: \"application/json\",\n      },\n      body: JSON.stringify({\n        attributes: {\n          [attributeName]: ref,\n        },\n      }),\n    }).catch(() => {});\n  };\n\n  const attachReferralInput = (form, ref) => {\n    if (!form || !ref) return;\n\n    let input = form.querySelector(`input[name=\"attributes[${attributeName}]\"]`);\n\n    if (!input) {\n      input = document.createElement(\"input\");\n      input.type = \"hidden\";\n      input.name = `attributes[${attributeName}]`;\n      form.appendChild(input);\n    }\n\n    input.value = ref;\n  };\n\n  const hydrateProductForms = (ref) => {\n    document.querySelectorAll('form[action*=\"/cart/add\"]').forEach((form) => {\n      attachReferralInput(form, ref);\n    });\n  };\n\n  const referral = getReferral();\n\n  if (!referral) return;\n\n  updateCartAttribute(referral);\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", () => hydrateProductForms(referral), { once: true });\n  } else {\n    hydrateProductForms(referral);\n  }\n\n  document.addEventListener(\n    \"submit\",\n    (event) => {\n      const form = event.target;\n\n      if (form instanceof HTMLFormElement && form.matches('form[action*=\"/cart/add\"]')) {\n        attachReferralInput(form, referral);\n      }\n    },\n    true\n  );\n})();\n"],
  "mappings": "CAAC,IAAM,CACL,MAAM,cAAgB,cAChB,WAAa,gBAEb,aAAe,IAAM,CACzB,GAAI,CACF,OAAO,OAAO,eAAe,QAAQ,UAAU,CACjD,MAAgB,CACd,MAAO,EACT,CACF,EAEM,aAAgB,OAAU,CAC9B,GAAI,CACF,OAAO,eAAe,QAAQ,WAAY,KAAK,CACjD,MAAgB,CAEhB,CACF,EAEM,YAAc,IAAM,CAExB,MAAM,YADS,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAC9B,IAAI,KAAK,EAEpC,GAAI,YAAa,CACf,MAAM,WAAa,YAAY,KAAK,EACpC,oBAAa,UAAU,EAChB,UACT,CAEA,OAAO,aAAa,CACtB,EAEM,oBAAuB,KAAQ,CAC9B,KAEL,MAAM,kBAAmB,CACvB,OAAQ,OACR,QAAS,CACP,eAAgB,mBAChB,OAAQ,kBACV,EACA,KAAM,KAAK,UAAU,CACnB,WAAY,CACV,CAAC,aAAa,EAAG,GACnB,CACF,CAAC,CACH,CAAC,EAAE,MAAM,IAAM,CAAC,CAAC,CACnB,EAEM,oBAAsB,CAAC,KAAM,MAAQ,CACzC,GAAI,CAAC,MAAQ,CAAC,IAAK,OAEnB,IAAI,MAAQ,KAAK,cAAc,0BAA0B,aAAa,KAAK,EAEtE,QACH,MAAQ,SAAS,cAAc,OAAO,EACtC,MAAM,KAAO,SACb,MAAM,KAAO,cAAc,aAAa,IACxC,KAAK,YAAY,KAAK,GAGxB,MAAM,MAAQ,GAChB,EAEM,oBAAuB,KAAQ,CACnC,SAAS,iBAAiB,2BAA2B,EAAE,QAAS,MAAS,CACvE,oBAAoB,KAAM,GAAG,CAC/B,CAAC,CACH,EAEM,SAAW,YAAY,EAExB,WAEL,oBAAoB,QAAQ,EAExB,SAAS,aAAe,UAC1B,SAAS,iBAAiB,mBAAoB,IAAM,oBAAoB,QAAQ,EAAG,CAAE,KAAM,EAAK,CAAC,EAEjG,oBAAoB,QAAQ,EAG9B,SAAS,iBACP,SACC,OAAU,CACT,MAAM,KAAO,MAAM,OAEf,gBAAgB,iBAAmB,KAAK,QAAQ,2BAA2B,GAC7E,oBAAoB,KAAM,QAAQ,CAEtC,EACA,EACF,EACF,GAAG",
  "names": []
}
