{"version":3,"file":"UTM_Data_Save.Bath5KiJ.mjs","names":["React.useMemo","React.useCallback","__legacyOverrideHOC_DataObserverContext","_jsx"],"sources":["https:/framerusercontent.com/modules/4OX3fkxQua5n0O6D86yf/49GO6ubPToIFD2BAVgWM/UTM_Data_Save.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";/** =========================\n * UTM storage helpers (30-day TTL)\n * ========================= */const STORAGE_KEY=\"utm_override_store_v1\";const TTL_DAYS_DEFAULT=30;// Persist these keys + any that start with \"utm_\"\nconst UTM_KEYS=[\"utm_source\",\"utm_medium\",\"utm_campaign\",\"utm_term\",\"utm_content\",\"gclid\",\"fbclid\",\"msclkid\",\"ttclid\",\"twclid\",\"ref\",\"source\",\"campaign\",\"utm_fp_tid\",\"utm_fp_ref\"];function now(){return Date.now();}function parseQuery(search){const out={};const usp=new URLSearchParams(search||\"\");usp.forEach((v,k)=>{if(!v)return;if(UTM_KEYS.includes(k)||k.startsWith(\"utm_\"))out[k]=v;});return out;}function readStore(){try{const raw=localStorage.getItem(STORAGE_KEY);if(!raw)return null;const obj=JSON.parse(raw);if(obj?.expiresAt&&now()>obj.expiresAt){localStorage.removeItem(STORAGE_KEY);return null;}return obj;}catch{return null;}}function writeStore(values,ttlDays=TTL_DAYS_DEFAULT){if(!values||Object.keys(values).length===0)return;const expiresAt=now()+ttlDays*24*60*60*1e3;const payload={values,updatedAt:now(),expiresAt};try{localStorage.setItem(STORAGE_KEY,JSON.stringify(payload));// notify listeners\nwindow.dispatchEvent(new Event(\"utm_store_updated\"));}catch{}}function merge(a={},b={}){return{...a,...b};}function getActiveUTMs(){const stored=readStore();return stored?.values||{};}/** =========================\n * Normalizing helper\n * ========================= */function normalizeFPParamsOnURL(u){const sp=u.searchParams;const existingTid=sp.get(\"tid\");const existingRef=sp.get(\"ref_id\");let changed=false;if(existingTid&&!sp.has(\"utm_fp_tid\")){sp.set(\"utm_fp_tid\",existingTid);changed=true;}if(existingRef&&!sp.has(\"utm_fp_ref\")){sp.set(\"utm_fp_ref\",existingRef);changed=true;}// Remove original params so we only pass utm_fp_* forward\nif(sp.has(\"tid\")){sp.delete(\"tid\");changed=true;}if(sp.has(\"ref_id\")){sp.delete(\"ref_id\");changed=true;}return changed;}function buildURLWithUTMs(url,utms){if(!url)return url;const u=new URL(url,window.location.href);// 1) Normalize any existing tid/ref_id on the *target* URL\nnormalizeFPParamsOnURL(u);// 2) Append stored/live UTMs without overwriting\nconst sp=u.searchParams;Object.entries(utms||{}).forEach(([k,v])=>{if(v&&!sp.has(k))sp.set(k,v);});return u.toString();}/** =========================\n * FP cookie + URL fallback\n * ========================= */function getCookie(name){try{const match=document.cookie.match(new RegExp(\"(^|; )\"+name+\"=([^;]+)\"));return match?decodeURIComponent(match[2]):\"\";}catch{return\"\";}}function getFPParams(){let tid=getCookie(\"_fprom_tid\");let ref=getCookie(\"_fprom_ref\");// Fallback to URL params if cookies not present\nif(!tid||!ref){const usp=new URLSearchParams(window.location.search);if(!tid&&usp.get(\"tid\"))tid=usp.get(\"tid\")||\"\";if(!ref&&usp.get(\"ref_id\"))ref=usp.get(\"ref_id\")||\"\";}const out={};if(tid)out[\"utm_fp_tid\"]=tid;if(ref)out[\"utm_fp_ref\"]=ref;return out;}/** =========================\n * Live read helper (fixes timing issues)\n * ========================= */function getUTMsLive(){return{...getActiveUTMs(),...getFPParams()};}/** =========================\n * Public hook and API\n * ========================= */export function useUTMInit(ttlDays=TTL_DAYS_DEFAULT){React.useEffect(()=>{const urlUTMs=parseQuery(window.location.search);const stored=getActiveUTMs();const fp=getFPParams();const active=merge(stored,merge(urlUTMs,fp));if(Object.keys(active).length>0){writeStore(active,ttlDays);}else if(!active.utm_source&&document.referrer){try{const host=new URL(document.referrer).hostname;writeStore({utm_source:host},ttlDays);}catch{}}},[ttlDays]);}// Kept for compatibility; now auto-refreshes on updates\nexport function useUTMs(){const[utms,setUtms]=React.useState(()=>getUTMsLive());React.useEffect(()=>{const update=()=>setUtms(getUTMsLive());update();window.addEventListener(\"utm_store_updated\",update);window.addEventListener(\"storage\",update);const t=setTimeout(update,50);return()=>{clearTimeout(t);window.removeEventListener(\"utm_store_updated\",update);window.removeEventListener(\"storage\",update);};},[]);return utms;}function addStoredUTMsToURL(){const currentParams=parseQuery(window.location.search);const utms=getUTMsLive();if(Object.keys(currentParams).length===0&&Object.keys(utms).length>0){const newURL=buildURLWithUTMs(window.location.href,utms);window.history.replaceState({},\"\",newURL);}}/** =========================\n * Framer Overrides\n * ========================= */// 1) Attach to an always-mounted element on the first landing page\nexport function InitUTM(){useUTMInit();React.useEffect(()=>{// Normalize current URL too so your own page reflects utm_fp_* if present\ntry{const u=new URL(window.location.href);if(normalizeFPParamsOnURL(u)){window.history.replaceState({},\"\",u.toString());}}catch{}addStoredUTMsToURL();},[]);return{};}// 2) For Framer Link components (updates href using LIVE values)\nexport function AppendUTMToHref(props){const computed=React.useMemo(()=>props.href?buildURLWithUTMs(props.href,getUTMsLive()):props.href,[props.href]);// Also guard click to ensure latest UTMs on immediate navigation\nconst onTap=React.useCallback(e=>{if(!props.href)return;const final=buildURLWithUTMs(props.href,getUTMsLive());if(final!==props.href){const el=e?.target?.closest?.(\"a[href]\")??e?.currentTarget??e?.target;el?.setAttribute?.(\"href\",final);}},[props.href]);return{href:computed,onTap};}// 3) For Frames/Buttons that navigate (non-Link)\nexport function RedirectWithUTM(){return{onTap(event,props){const target=props?.[\"data-url\"]||props?.href||(props?.text&&String(props.text).startsWith(\"http\")?props.text:null);if(!target)return;const finalURL=buildURLWithUTMs(String(target),getUTMsLive());window.location.assign(finalURL);}};}// 4) Whop-only link (applies LIVE UTMs only for whop domains)\nconst WHOP_DOMAINS=[\"whop.com\",\"checkout.whop.com\"];function isWhop(url){if(!url)return false;try{const u=new URL(url,window.location.href);return WHOP_DOMAINS.some(d=>u.hostname===d||u.hostname.endsWith(\".\"+d));}catch{return false;}}export function WhopOnlyLink(props){const href=props.href&&isWhop(props.href)?buildURLWithUTMs(props.href,getUTMsLive()):props.href;return{href};}/** =========================\n * Global auto-patcher (recommended)\n * Attach this to any always-mounted element on the page.\n * It appends UTMs to ALL <a href> elements and watches for new ones.\n * ========================= */export function UTMAnchorAutoPatch(){React.useEffect(()=>{const apply=()=>{const utms=getUTMsLive();const anchors=Array.from(document.querySelectorAll(\"a[href]\"));anchors.forEach(a=>{const href=a.getAttribute(\"href\")||\"\";try{const u=new URL(href,window.location.href);let changed=false;// Normalize tid/ref_id -> utm_fp_* on the anchor href\nif(normalizeFPParamsOnURL(u))changed=true;// Append live UTMs without overwriting\nObject.entries(utms).forEach(([k,v])=>{if(v&&!u.searchParams.has(k)){u.searchParams.set(k,v);changed=true;}});if(changed)a.setAttribute(\"href\",u.toString());}catch{}});};// Initial run + when store updates\napply();const onUpdate=()=>apply();window.addEventListener(\"utm_store_updated\",onUpdate);window.addEventListener(\"storage\",onUpdate);// Patch future anchors\nconst mo=new MutationObserver(()=>apply());mo.observe(document.documentElement,{subtree:true,childList:true,attributes:true,attributeFilter:[\"href\"]});// Ensure click navigations also have freshest UTMs\nconst onClick=e=>{const a=e.target?.closest?e.target.closest(\"a[href]\"):null;if(!a)return;const href=a.getAttribute(\"href\");if(!href)return;const final=buildURLWithUTMs(href,getUTMsLive());if(final!==href)a.setAttribute(\"href\",final);};window.addEventListener(\"click\",onClick,true);return()=>{window.removeEventListener(\"utm_store_updated\",onUpdate);window.removeEventListener(\"storage\",onUpdate);window.removeEventListener(\"click\",onClick,true);mo.disconnect();};},[]);return{};}import{useContext as __legacyOverrideHOC_useContext}from\"react\";import{DataObserverContext as __legacyOverrideHOC_DataObserverContext}from\"framer\";export function withInitUTM(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...InitUTM(props)});};}withInitUTM.displayName=\"InitUTM\";export function withAppendUTMToHref(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...AppendUTMToHref(props)});};}withAppendUTMToHref.displayName=\"AppendUTMToHref\";export function withRedirectWithUTM(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...RedirectWithUTM(props)});};}withRedirectWithUTM.displayName=\"RedirectWithUTM\";export function withWhopOnlyLink(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...WhopOnlyLink(props)});};}withWhopOnlyLink.displayName=\"WhopOnlyLink\";export function withUTMAnchorAutoPatch(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...UTMAnchorAutoPatch(props)});};}withUTMAnchorAutoPatch.displayName=\"UTMAnchorAutoPatch\";\nexport const __FramerMetadata__ = {\"exports\":{\"useUTMInit\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withUTMAnchorAutoPatch\":{\"type\":\"reactHoc\",\"name\":\"withUTMAnchorAutoPatch\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"UTMAnchorAutoPatch\":{\"type\":\"override\",\"name\":\"UTMAnchorAutoPatch\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"WhopOnlyLink\":{\"type\":\"override\",\"name\":\"WhopOnlyLink\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUTMs\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withWhopOnlyLink\":{\"type\":\"reactHoc\",\"name\":\"withWhopOnlyLink\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withAppendUTMToHref\":{\"type\":\"reactHoc\",\"name\":\"withAppendUTMToHref\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withRedirectWithUTM\":{\"type\":\"reactHoc\",\"name\":\"withRedirectWithUTM\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withInitUTM\":{\"type\":\"reactHoc\",\"name\":\"withInitUTM\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AppendUTMToHref\":{\"type\":\"override\",\"name\":\"AppendUTMToHref\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RedirectWithUTM\":{\"type\":\"override\",\"name\":\"RedirectWithUTM\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"InitUTM\":{\"type\":\"override\",\"name\":\"InitUTM\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./UTM_Data_Save.map"],"mappings":"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"}