{"version":3,"file":"LocaleRedirect.CbPNQ0xY.mjs","names":["useRef"],"sources":["https:/framerusercontent.com/modules/dfYc4KA6xesPrympt4Ga/KX3HmuBU5vYIrr6mCEss/LocaleRedirect.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,useEffect,useRef}from\"react\";import{useLocaleInfo,RenderTarget}from\"framer\";/**\n * Trackbase — locale-aware redirect after contact-form submit\n *\n * The Sales Contact form lives on the localized /contact page (EN + NL),\n * so its built-in \"Redirect\" can only point to one page (/contact-submitted).\n * This override is applied to the ContactSuccess component on the\n * /contact-submitted page. When the active locale is Dutch, the visitor is\n * forwarded to the dedicated NL thank-you page instead.\n */const NL_THANK_YOU=\"/nl/contact-verzonden\";function useIsDutch(){let code=\"\";try{const info=useLocaleInfo();code=(info?.activeLocale?.code??\"\").toLowerCase();}catch{code=\"\";}if(code)return code.startsWith(\"nl\");if(typeof window!==\"undefined\"){const path=window.location.pathname;return path===\"/nl\"||path.startsWith(\"/nl/\");}return false;}export function withLocaleRedirect(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const isDutch=useIsDutch();const onCanvas=RenderTarget.current()===RenderTarget.canvas;useEffect(()=>{if(onCanvas)return;if(typeof window===\"undefined\")return;if(!isDutch)return;if(window.location.pathname===NL_THANK_YOU)return;window.location.replace(NL_THANK_YOU+window.location.search);},[isDutch,onCanvas]);return /*#__PURE__*/_jsx(Component,{ref:ref,...props});});}/**\n * Trackbase — Dutch onboarding link\n *\n * Dutch visitors (nl-NL locale) sign up through the Dutch onboarding flow at\n * app.trackbase.ai/nl/register. Framer cannot give a button a different\n * external link per locale, so this override rewrites every\n * app.trackbase.ai/register link prop to /nl/register on Dutch pages and keeps\n * the query string (?ref=...). A ref that ends in -en (such as lp-launch-en)\n * becomes -nl, so sign-ups from the Dutch version of a page get their own ref.\n * English pages are left untouched. Apply it to a button that links to\n * https://app.trackbase.ai/register, or to a component instance that passes\n * that link on (such as a Pricing Card).\n */const REGISTER=/^https:\\/\\/app\\.trackbase\\.ai\\/register(?=[?#]|$)/;const NL_REGISTER=\"https://app.trackbase.ai/nl/register\";const REF_EN=/([?&]ref=[^&#]*)-en(?=[&#]|$)/;function useIsDutchLocale(){try{const info=useLocaleInfo();return(info?.activeLocale?.code??\"\").toLowerCase().startsWith(\"nl\");}catch{return false;}}export function withNlRegister(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const isDutch=useIsDutchLocale();if(!isDutch)return /*#__PURE__*/_jsx(Component,{ref:ref,...props});const next={...props};for(const key of Object.keys(next)){const value=next[key];if(typeof value===\"string\"&&REGISTER.test(value)){next[key]=value.replace(REGISTER,NL_REGISTER).replace(REF_EN,\"$1-nl\");}}return /*#__PURE__*/_jsx(Component,{ref:ref,...next});});}/**\n * Trackbase — Dutch onboarding link for linked frames\n *\n * Same idea as withNlRegister, for a frame whose own link points to\n * https://app.trackbase.ai/register (such as the announcement banner in the\n * Nav). On Dutch pages the rendered link becomes /nl/register; the query string\n * is kept. English pages keep the original link.\n */export function withNlRegisterLink(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const isDutch=useIsDutchLocale();const own=useRef(null);const setRef=el=>{own.current=el;if(typeof ref===\"function\")ref(el);else if(ref)ref.current=el;};const next={...props};if(isDutch){for(const key of Object.keys(next)){const value=next[key];if(typeof value===\"string\"&&REGISTER.test(value)){next[key]=value.replace(REGISTER,NL_REGISTER).replace(REF_EN,\"$1-nl\");}}}useEffect(()=>{const el=own.current;if(!el)return;const links=[el,...Array.from(el.querySelectorAll(\"a\"))].filter(n=>n instanceof HTMLAnchorElement);const closest=el.closest(\"a\");if(closest&&!links.includes(closest))links.push(closest);for(const a of links){const original=a.dataset.enHref??a.getAttribute(\"href\")??\"\";if(!REGISTER.test(original))continue;a.dataset.enHref=original;a.setAttribute(\"href\",isDutch?original.replace(REGISTER,NL_REGISTER).replace(REF_EN,\"$1-nl\"):original);}},[isDutch]);return /*#__PURE__*/_jsx(Component,{...next,ref:setRef});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withLocaleRedirect\":{\"type\":\"reactHoc\",\"name\":\"withLocaleRedirect\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withNlRegisterLink\":{\"type\":\"reactHoc\",\"name\":\"withNlRegisterLink\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withNlRegister\":{\"type\":\"reactHoc\",\"name\":\"withNlRegister\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LocaleRedirect.map"],"mappings":"mMAQ8C,SAAS,GAAY,CAAC,IAAI,EAAK,GAAG,GAAG,CAA4B,GAAhB,EAAyB,CAAC,EAAE,cAAc,MAAM,GAAA,CAAI,YAAY,CAAE,MAAM,CAAC,EAAK,EAAG,CAAC,GAAG,EAAK,OAAO,EAAK,WAAW,IAAI,EAAE,GAAU,IAAS,OAAY,CAAC,IAAM,EAAK,EAAO,SAAS,SAAS,OAAO,IAAO,OAAO,EAAK,WAAW,MAAM,CAAE,CAAC,MAAO,EAAM,CAAC,SAAgB,EAAmB,EAAU,CAAC,OAAoB,GAAY,EAAM,IAAM,CAAC,IAAM,EAAQ,EAAW,EAAQ,EAAS,EAAa,QAAQ,IAAI,EAAa,OAAuO,OAAhO,MAAc,CAAI,GAA0B,IAAS,QAAuB,GAAkB,EAAO,SAAS,WAAW,GAAoB,EAAO,SAAS,QAAQ,EAAa,EAAO,SAAS,MAAM,CAAE,EAAE,CAAC,EAAQ,CAAQ,CAAC,EAAsB,EAAK,EAAU,CAAK,MAAI,GAAG,CAAK,CAAC,CAAE,CAAC,CAAE,CAYtnB,SAAS,GAAkB,CAAC,GAAG,CAA4B,OAAhB,EAA0B,CAAC,EAAE,cAAc,MAAM,GAAA,CAAI,YAAY,CAAC,CAAC,WAAW,IAAI,CAAE,MAAM,CAAC,MAAO,EAAM,CAAC,CAAC,SAAgB,EAAe,EAAU,CAAC,OAAoB,GAAY,EAAM,IAAM,CAAkC,GAAG,CAAtB,EAA6B,EAAE,OAAoB,EAAK,EAAU,CAAK,MAAI,GAAG,CAAK,CAAC,EAAE,IAAM,EAAK,CAAC,GAAG,CAAK,EAAE,IAAI,IAAM,KAAO,OAAO,KAAK,CAAI,EAAE,CAAC,IAAM,EAAM,EAAK,GAAQ,OAAO,GAAQ,UAAU,EAAS,KAAK,CAAK,IAAG,EAAK,GAAK,EAAM,QAAQ,EAAS,CAAW,CAAC,CAAC,QAAQ,EAAO,OAAO,EAAG,CAAC,OAAoB,EAAK,EAAU,CAAK,MAAI,GAAG,CAAI,CAAC,CAAE,CAAC,CAAE,CAO5vB,SAAgB,EAAmB,EAAU,CAAC,OAAoB,GAAY,EAAM,IAAM,CAAC,IAAM,EAAQ,EAAiB,EAAQ,EAAIA,EAAO,IAAI,EAAQ,EAAO,GAAI,CAAC,EAAI,QAAQ,EAAM,OAAO,GAAM,WAAW,EAAI,CAAE,EAAU,IAAI,EAAI,QAAQ,EAAG,EAAQ,EAAK,CAAC,GAAG,CAAK,EAAE,GAAG,EAAS,IAAI,IAAM,KAAO,OAAO,KAAK,CAAI,EAAE,CAAC,IAAM,EAAM,EAAK,GAAQ,OAAO,GAAQ,UAAU,EAAS,KAAK,CAAK,IAAG,EAAK,GAAK,EAAM,QAAQ,EAAS,CAAW,CAAC,CAAC,QAAQ,EAAO,OAAO,EAAG,CAAof,OAAlf,MAAc,CAAC,IAAM,EAAG,EAAI,QAAQ,GAAG,CAAC,EAAG,OAAO,IAAM,EAAM,CAAC,EAAG,GAAG,MAAM,KAAK,EAAG,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,aAAa,iBAAiB,EAAQ,EAAQ,EAAG,QAAQ,GAAG,EAAK,GAAS,CAAC,EAAM,SAAS,CAAO,GAAE,EAAM,KAAK,CAAO,EAAE,IAAI,IAAM,KAAK,EAAM,CAAC,IAAM,EAAS,EAAE,QAAQ,QAAQ,EAAE,aAAa,MAAM,GAAG,GAAO,EAAS,KAAK,CAAQ,IAAW,EAAE,QAAQ,OAAO,EAAS,EAAE,aAAa,OAAO,EAAQ,EAAS,QAAQ,EAAS,CAAW,CAAC,CAAC,QAAQ,EAAO,OAAO,EAAE,CAAQ,EAAE,CAAC,EAAE,CAAC,CAAO,CAAC,EAAsB,EAAK,EAAU,CAAC,GAAG,EAAK,IAAI,CAAM,CAAC,CAAE,CAAC,CAAE,6BA3Bl9B,IAA+C,IAA+C,EAQ/H,EAAa,wBAYb,EAAS,oDAA0D,EAAY,uCAA6C,EAAO"}