{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/ieKS1rkAamBwxQyZz7BA/C4Mm5Ntn6YNJt2v2mQKO/CrossDomainUTM_Tracking.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect}from\"react\";export function crossDomainTracking(){useEffect(()=>{function handleClick(e){// Prevent the default navigation behavior.\ne.preventDefault();// Build the new URL with the parameters.\nconst url=new URL(e.currentTarget.href);// For Koodoo and agent URLs, add PostHog tracking IDs\nif(url.hostname.includes(\"koodoo.io\")||url.hostname.includes(\"agent.koodoo.io\")){// Retrieve the latest PostHog IDs.\nconst distinctId=posthog.get_distinct_id();const sessionId=posthog.get_session_id();if(distinctId&&sessionId){url.searchParams.set(\"sessionId\",sessionId);url.searchParams.set(\"distinctId\",distinctId);url.searchParams.set(\"endUserId\",distinctId)// Using distinctId as endUserId.\n;}else{console.warn(\"PostHog IDs not available on click.\");}}// Get UTM parameters from local storage - applies to all tracked URLs\ntry{const journeyData=localStorage.getItem(\"journey\");if(journeyData){const journey=JSON.parse(journeyData);// Set endUserId if available\nif(journey.endUserId){url.searchParams.set(\"endUserId\",journey.endUserId);}// Set introducer if available\nif(journey.introducer){url.searchParams.set(\"introducer\",journey.introducer);}// Check if UTM parameters exist in the nested utm object and add them to the URL\nif(journey.utm){if(journey.utm.source)url.searchParams.set(\"utm_source\",journey.utm.source);if(journey.utm.medium)url.searchParams.set(\"utm_medium\",journey.utm.medium);if(journey.utm.campaign)url.searchParams.set(\"utm_campaign\",journey.utm.campaign);if(journey.utm.content)url.searchParams.set(\"utm_content\",journey.utm.content);if(journey.utm.term)url.searchParams.set(\"utm_term\",journey.utm.term);}console.log(\"Added parameters from local storage journey:\",journey);}}catch(error){console.error(\"Error retrieving data from local storage:\",error);}console.log(\"Updating link on click:\",url.toString());// Check if the link should open in a new tab.\nconst targetAttr=e.currentTarget.getAttribute(\"target\");if(targetAttr===\"_blank\"){window.open(url.toString(),\"_blank\");}else{window.location.href=url.toString();}}// Attach the click handler to matching links.\nfunction attachClickListeners(){const links=document.querySelectorAll('a[href^=\"https://mip.koodoo.io/\"], '+'a[href^=\"https://agent.koodoo.io/\"], '+'a[href^=\"https://calendly.com/koodoo/get-mortgage-advice-snoop\"]');links.forEach(link=>{// Avoid attaching duplicate handlers.\nlink.removeEventListener(\"click\",handleClick);link.addEventListener(\"click\",handleClick);});}// Attach listeners initially.\nattachClickListeners();// Use a MutationObserver to re-attach listeners if new links appear.\nconst observer=new MutationObserver(()=>{attachClickListeners();});observer.observe(document.body,{childList:true,subtree:true});// Cleanup on unmount.\nreturn()=>{const links=document.querySelectorAll('a[href^=\"https://mip.koodoo.io/\"], '+'a[href^=\"https://agent.koodoo.io/\"], '+'a[href^=\"https://calendly.com/koodoo/get-mortgage-advice-snoop\"]');links.forEach(link=>{link.removeEventListener(\"click\",handleClick);});observer.disconnect();};},[]);return{}// Return an empty object to satisfy Framer Override.\n;}import{useContext as __legacyOverrideHOC_useContext}from\"react\";import{DataObserverContext as __legacyOverrideHOC_DataObserverContext}from\"framer\";export function withcrossDomainTracking(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...crossDomainTracking(props)});};}withcrossDomainTracking.displayName=\"crossDomainTracking\";\nexport const __FramerMetadata__ = {\"exports\":{\"crossDomainTracking\":{\"type\":\"override\",\"name\":\"crossDomainTracking\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withcrossDomainTracking\":{\"type\":\"reactHoc\",\"name\":\"withcrossDomainTracking\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CrossDomainUTM_Tracking.map"],
  "mappings": "wGAA+E,SAASA,GAAqB,CAAC,OAAAC,EAAU,IAAI,CAAC,SAASC,EAAYC,EAAE,CACpJA,EAAE,eAAe,EACjB,IAAMC,EAAI,IAAI,IAAID,EAAE,cAAc,IAAI,EACtC,GAAGC,EAAI,SAAS,SAAS,WAAW,GAAGA,EAAI,SAAS,SAAS,iBAAiB,EAAE,CAChF,IAAMC,EAAW,QAAQ,gBAAgB,EAAQC,EAAU,QAAQ,eAAe,EAAKD,GAAYC,GAAWF,EAAI,aAAa,IAAI,YAAYE,CAAS,EAAEF,EAAI,aAAa,IAAI,aAAaC,CAAU,EAAED,EAAI,aAAa,IAAI,YAAYC,CAAU,GAC5O,QAAQ,KAAK,qCAAqC,CAAG,CAC5D,GAAG,CAAC,IAAME,EAAY,aAAa,QAAQ,SAAS,EAAE,GAAGA,EAAY,CAAC,IAAMC,EAAQ,KAAK,MAAMD,CAAW,EACvGC,EAAQ,WAAWJ,EAAI,aAAa,IAAI,YAAYI,EAAQ,SAAS,EACrEA,EAAQ,YAAYJ,EAAI,aAAa,IAAI,aAAaI,EAAQ,UAAU,EACxEA,EAAQ,MAAQA,EAAQ,IAAI,QAAOJ,EAAI,aAAa,IAAI,aAAaI,EAAQ,IAAI,MAAM,EAAKA,EAAQ,IAAI,QAAOJ,EAAI,aAAa,IAAI,aAAaI,EAAQ,IAAI,MAAM,EAAKA,EAAQ,IAAI,UAASJ,EAAI,aAAa,IAAI,eAAeI,EAAQ,IAAI,QAAQ,EAAKA,EAAQ,IAAI,SAAQJ,EAAI,aAAa,IAAI,cAAcI,EAAQ,IAAI,OAAO,EAAKA,EAAQ,IAAI,MAAKJ,EAAI,aAAa,IAAI,WAAWI,EAAQ,IAAI,IAAI,GAAG,QAAQ,IAAI,+CAA+CA,CAAO,CAAE,CAAC,OAAOC,EAAM,CAAC,QAAQ,MAAM,4CAA4CA,CAAK,CAAE,CAAC,QAAQ,IAAI,0BAA0BL,EAAI,SAAS,CAAC,EACxkBD,EAAE,cAAc,aAAa,QAAQ,IAAkB,SAAUO,EAAO,KAAKN,EAAI,SAAS,EAAE,QAAQ,EAAQM,EAAO,SAAS,KAAKN,EAAI,SAAS,CAAG,CAClK,SAASO,GAAsB,CAAa,SAAS,iBAAiB,0IAAgJ,EAAQ,QAAQC,GAAM,CAC5OA,EAAK,oBAAoB,QAAQV,CAAW,EAAEU,EAAK,iBAAiB,QAAQV,CAAW,CAAE,CAAC,CAAE,CAC5FS,EAAqB,EACrB,IAAME,EAAS,IAAI,iBAAiB,IAAI,CAACF,EAAqB,CAAE,CAAC,EAAE,OAAAE,EAAS,QAAQ,SAAS,KAAK,CAAC,UAAU,GAAK,QAAQ,EAAI,CAAC,EACzH,IAAI,CAAa,SAAS,iBAAiB,0IAAgJ,EAAQ,QAAQD,GAAM,CAACA,EAAK,oBAAoB,QAAQV,CAAW,CAAE,CAAC,EAAEW,EAAS,WAAW,CAAE,CAAE,EAAE,CAAC,CAAC,EAAQ,CAAC,CAC7S,CAA2J,SAASC,EAAwBC,EAAE,CAAC,OAAOC,IAAQC,EAA+BC,CAAuC,EAASC,EAAKJ,EAAE,CAAC,GAAGC,EAAM,GAAGhB,EAAoBgB,CAAK,CAAC,CAAC,EAAI,CAACF,EAAwB,YAAY",
  "names": ["crossDomainTracking", "ue", "handleClick", "e", "url", "distinctId", "sessionId", "journeyData", "journey", "error", "window", "attachClickListeners", "link", "observer", "withcrossDomainTracking", "C", "props", "re", "DataObserverContext", "p"]
}
