{"version":3,"sources":["utmParams.ts"],"sourcesContent":["// Declare the utmParams property on the global window object\ndeclare global {\n    interface Window {\n        utmParams?: Record<string, string>\n    }\n}\n\nexport function getUTMParameters() {\n    const urlParams = new URLSearchParams(window.location.search)\n    const utmParams = {}\n\n    const utmKeys = [\n        \"utm_source\",\n        \"utm_medium\",\n        \"utm_campaign\",\n        \"utm_term\",\n        \"utm_content\",\n    ]\n\n    utmKeys.forEach((key) => {\n        const value = urlParams.get(key)\n        if (value) {\n            utmParams[key] = value\n        }\n    })\n\n    // Store UTM params in sessionStorage if we have any\n    if (Object.keys(utmParams).length > 0) {\n        try {\n            sessionStorage.setItem(\"UTM_params\", JSON.stringify(utmParams))\n            window.utmParams = utmParams\n            // console.log(\"UTM Parameters stored:\", utmParams)\n        } catch (error) {\n            console.error(\"Error storing UTM parameters:\", error)\n        }\n    }\n\n    return utmParams\n}\n\nexport function getStoredUTMParameters() {\n    // First try to get from window object (for current session)\n    if (window.utmParams && Object.keys(window.utmParams).length > 0) {\n        return window.utmParams\n    }\n\n    // Then try to get from sessionStorage\n    try {\n        const storedParams = sessionStorage.getItem(\"UTM_params\")\n        if (storedParams) {\n            const parsedParams = JSON.parse(storedParams)\n            // Also set on window for easy access\n            window.utmParams = parsedParams\n            return parsedParams\n        }\n    } catch (error) {\n        console.error(\"Error retrieving stored UTM parameters:\", error)\n    }\n\n    return {}\n}\n\nexport function appendUTMParamsToUrl(checkoutUrl) {\n    if (!checkoutUrl) return checkoutUrl\n\n    // Get UTM params from storage instead of current URL\n    const utmParams = getStoredUTMParameters()\n\n    // If no stored UTM params, check current URL as fallback\n    if (Object.keys(utmParams).length === 0) {\n        getUTMParameters() // This will store them if present\n    }\n\n    // Get the (potentially) updated UTM params\n    const finalUtmParams = getStoredUTMParameters()\n\n    if (Object.keys(finalUtmParams).length > 0) {\n        try {\n            const url = new URL(checkoutUrl)\n\n            Object.keys(finalUtmParams).forEach((key) => {\n                url.searchParams.append(key, finalUtmParams[key])\n            })\n\n            const finalUrl = url.toString()\n            // console.log(\"Final URL with UTM Parameters:\", finalUrl)\n            return finalUrl\n        } catch (error) {\n            console.error(\"Error appending UTM params to URL:\", error)\n            return checkoutUrl\n        }\n    }\n\n    // console.log(\"No UTM Parameters to append.\")\n    return checkoutUrl\n}\n\n// Initialize UTM parameters tracking when this module loads\nif (typeof window !== \"undefined\") {\n    // Add a listener for when the DOM is fully loaded\n    if (document.readyState === \"complete\") {\n        getUTMParameters() // Document already loaded, capture UTMs now\n    } else {\n        window.addEventListener(\"load\", getUTMParameters)\n    }\n}\n"],"names":[],"mappings":"AAAA,6DAA6D;AAO7D,OAAO,SAAS,mBACZ,MAAM,UAAY,IAAI,gBAAgB,OAAO,QAAQ,CAAC,MAAM,EAC5D,MAAM,UAAY,CAAC,EAEnB,MAAM,QAAU,CACZ,aACA,aACA,eACA,WACA,cACH,CAED,QAAQ,OAAO,CAAC,AAAC,MACb,MAAM,MAAQ,UAAU,GAAG,CAAC,KAC5B,GAAI,MAAO,CACP,SAAS,CAAC,IAAI,CAAG,MACrB,CACJ,GAEA,oDAAoD;AACpD,GAAI,OAAO,IAAI,CAAC,WAAW,MAAM,CAAG,EAAG,CACnC,GAAI,CACA,eAAe,OAAO,CAAC,aAAc,KAAK,SAAS,CAAC,YACpD,OAAO,SAAS,CAAG,UACnB,mDAAmD;AACvD,CAAE,MAAO,MAAO,CACZ,QAAQ,KAAK,CAAC,gCAAiC,OACnD,CACJ,CAEA,OAAO,UACX,CAEA,OAAO,SAAS,yBACZ,4DAA4D;AAC5D,GAAI,OAAO,SAAS,EAAI,OAAO,IAAI,CAAC,OAAO,SAAS,EAAE,MAAM,CAAG,EAAG,CAC9D,OAAO,OAAO,SAAS,CAC3B,CAEA,sCAAsC;AACtC,GAAI,CACA,MAAM,aAAe,eAAe,OAAO,CAAC,cAC5C,GAAI,aAAc,CACd,MAAM,aAAe,KAAK,KAAK,CAAC,cAChC,qCAAqC;AACrC,OAAO,SAAS,CAAG,aACnB,OAAO,aACX,CACJ,CAAE,MAAO,MAAO,CACZ,QAAQ,KAAK,CAAC,0CAA2C,OAC7D,CAEA,MAAO,CAAC,EACZ,CAEA,OAAO,SAAS,qBAAqB,WAAW,EAC5C,GAAI,CAAC,YAAa,OAAO,YAEzB,qDAAqD;AACrD,MAAM,UAAY,yBAElB,yDAAyD;AACzD,GAAI,OAAO,IAAI,CAAC,WAAW,MAAM,GAAK,EAAG,CACrC,kBAAmB,kCAAkC;CACzD,CAEA,2CAA2C;AAC3C,MAAM,eAAiB,yBAEvB,GAAI,OAAO,IAAI,CAAC,gBAAgB,MAAM,CAAG,EAAG,CACxC,GAAI,CACA,MAAM,IAAM,IAAI,IAAI,aAEpB,OAAO,IAAI,CAAC,gBAAgB,OAAO,CAAC,AAAC,MACjC,IAAI,YAAY,CAAC,MAAM,CAAC,IAAK,cAAc,CAAC,IAAI,EACpD,GAEA,MAAM,SAAW,IAAI,QAAQ,GAC7B,0DAA0D;AAC1D,OAAO,SACX,CAAE,MAAO,MAAO,CACZ,QAAQ,KAAK,CAAC,qCAAsC,OACpD,OAAO,YACX,CACJ,CAEA,8CAA8C;AAC9C,OAAO,YACX,CAEA,4DAA4D;AAC5D,GAAI,OAAO,SAAW,YAAa,CAC/B,kDAAkD;AAClD,GAAI,SAAS,UAAU,GAAK,WAAY,CACpC,kBAAmB,4CAA4C;CACnE,KAAO,CACH,OAAO,gBAAgB,CAAC,OAAQ,kBACpC,CACJ"}