{"version":3,"file":"ReturnIntent.9ABQZ2bl.mjs","names":["useState","__legacyOverrideHOC_DataObserverContext","_jsx"],"sources":["https:/framerusercontent.com/modules/KZhMYIv9pAg2OCqPychH/UYwJHFBOwIbSTuxwtkhz/ReturnIntent.js"],"sourcesContent":["//@ts-ignore\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useRouter}from\"framer\";//@ts-ignore\nimport{useEffect,useState}from\"react\";const RETURN_KEY=\"ara:returnAfterAuth\";const EXPIRY_MS=15*60*1e3;// Cross-subdomain return cookies are set on the apex by our subdomains before\n// redirecting into /sign-in. Each subdomain uses its own name; helpers below\n// take the cookie name as an argument.\nfunction clearCrossSubdomainReturnCookie(name){if(typeof document===\"undefined\")return;document.cookie=`${name}=; domain=.almeidaracingacademy.com; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT`;}function readCrossSubdomainReturnCookie(name){if(typeof document===\"undefined\")return null;const cookies=document.cookie.split(\";\").map(c=>c.trim());const match=cookies.find(c=>c.startsWith(`${name}=`));if(!match)return null;const raw=decodeURIComponent(match.split(\"=\").slice(1).join(\"=\"));try{const url=new URL(raw);if(!url.hostname.endsWith(\".almeidaracingacademy.com\"))return null;return url.toString();}catch{return null;}}function hasCrossSubdomainReturnFlag(name){if(typeof document===\"undefined\")return false;const cookies=document.cookie.split(\";\").map(c=>c.trim());const match=cookies.find(c=>c.startsWith(`${name}=`));if(!match)return false;const raw=decodeURIComponent(match.split(\"=\").slice(1).join(\"=\"));return raw.length>0&&raw!==\"0\";}function consumeCrossSubdomainReturnCookie(name){const url=readCrossSubdomainReturnCookie(name);if(url)clearCrossSubdomainReturnCookie(name);return url;}const EVENTS_RETURN_COOKIE=\"ara_events_return_url\";const EVENTS_RETURN_PENDING_COOKIE=\"ara_events_return_pending\";function consumeEventsReturnCookie(){const url=readCrossSubdomainReturnCookie(EVENTS_RETURN_COOKIE);const pending=hasCrossSubdomainReturnFlag(EVENTS_RETURN_PENDING_COOKIE);if(!url){if(pending)clearCrossSubdomainReturnCookie(EVENTS_RETURN_PENDING_COOKIE);return null;}let isEventsHost=false;try{const host=new URL(url).hostname;isEventsHost=host===\"events.almeidaracingacademy.com\"||host.endsWith(\".events.almeidaracingacademy.com\");}catch{isEventsHost=false;}// Pending is the explicit \"I just left events to sign in\" flag. Also honor\n// a still-valid events URL without it — older events builds only wrote the\n// URL cookie, and wiping that (the old behavior) silently dropped the bounce.\nif(!pending&&!isEventsHost)return null;clearCrossSubdomainReturnCookie(EVENTS_RETURN_PENDING_COOKIE);clearCrossSubdomainReturnCookie(EVENTS_RETURN_COOKIE);return url;}const OUTSETA_TOKEN_COOKIE=\"ara_outseta_access_token\";function readSharedOutsetaTokenCookie(){if(typeof document===\"undefined\")return null;const cookies=document.cookie.split(\";\").map(c=>c.trim());const match=cookies.find(c=>c.startsWith(`${OUTSETA_TOKEN_COOKIE}=`));if(!match)return null;const raw=match.split(\"=\").slice(1).join(\"=\");try{const value=decodeURIComponent(raw);return value.length>0?value:null;}catch{return raw.length>0?raw:null;}}/**\n * Subdomains (events, live) bridge their session on the shared\n * ara_outseta_access_token cookie. Email/password sign-in writes that token\n * asynchronously (no URL-hash hook like SSO), so a cross-subdomain bounce can\n * leave the apex before the cookie exists — the subdomain then lands\n * signed-out with nothing to bridge. Poll for the cookie, actively nudging the\n * apex Outseta module to materialize + persist it. Only delays the bounce; it\n * never changes which return URL was already chosen above.\n */async function waitForSharedOutsetaToken(timeoutMs=3e3,pollMs=75){if(typeof window===\"undefined\")return null;const existing=readSharedOutsetaTokenCookie();if(existing)return existing;const started=Date.now();while(Date.now()-started<timeoutMs){try{const mod=window.__outsetaFramerModule;if(mod?.getAccessTokenAsync){void mod.getAccessTokenAsync(\"returnIntent:wait\");}else if(mod?.getAccessToken){mod.getAccessToken();}}catch{}await new Promise(resolve=>setTimeout(resolve,pollMs));const token=readSharedOutsetaTokenCookie();if(token)return token;}return readSharedOutsetaTokenCookie();}// Paths that are part of the auth flow itself. Storing one as a return intent\n// would bounce the user straight back into auth after they sign in/up.\nconst AUTH_FLOW_PATHS=[\"/sign-up-free\",\"/sign-up\",\"/sign-in\",\"/set-password\",\"/link-email\",\"/success\",\"/thanks\",\"/404\"];function isAuthFlowPath(path){if(!path)return false;const clean=(path.split(\"#\")[0]||\"\").split(\"?\")[0]||\"\";if(!clean)return false;const lower=clean.toLowerCase();return AUTH_FLOW_PATHS.some(prefix=>lower===prefix||lower.startsWith(`${prefix}/`));}function deriveFallbackLabel(path){if(!path)return\"\";const clean=path.split(\"#\")[0].split(\"?\")[0];const segments=clean.split(\"/\").filter(Boolean);const slug=segments[segments.length-1]||clean;return slug.replace(/[-_]/g,\" \").replace(/\\s+/g,\" \").replace(/\\b\\w/g,char=>char.toUpperCase()).trim();}function storeReturnIntent(path,label){if(typeof window===\"undefined\")return;const normalizedPath=normalizeNavigationTarget(path);if(!normalizedPath)return;if(isAuthFlowPath(normalizedPath)){// Caller is on an auth page (e.g. user opened /sign-in directly and\n// tapped a returnIntentLink CTA). Don't store this -- and clear any\n// existing intent so we don't accidentally chain it.\nclearReturnIntent();return;}const payload={path:normalizedPath,label:label&&label.trim().length>0?label:deriveFallbackLabel(normalizedPath),ts:Date.now()};try{sessionStorage.setItem(RETURN_KEY,JSON.stringify(payload));}catch{// ignore storage failures\n}}function readReturnIntent(){if(typeof window===\"undefined\")return null;const raw=sessionStorage.getItem(RETURN_KEY);if(!raw)return null;try{const parsed=JSON.parse(raw);if(!parsed?.path)return null;// Defence in depth: this is our own sessionStorage, but a stored path\n// should always be a path on this site, never a whole URL.\nif(!parsed.path.startsWith(\"/\")||parsed.path.startsWith(\"//\")){sessionStorage.removeItem(RETURN_KEY);return null;}if(Date.now()-(parsed.ts??0)>EXPIRY_MS){sessionStorage.removeItem(RETURN_KEY);return null;}if(isAuthFlowPath(parsed.path)){// Defensive: drop any stale auth-page intent from older sessions.\nsessionStorage.removeItem(RETURN_KEY);return null;}return parsed;}catch{sessionStorage.removeItem(RETURN_KEY);return null;}}function clearReturnIntent(){if(typeof window===\"undefined\")return;sessionStorage.removeItem(RETURN_KEY);}export function getReturnIntent(){return readReturnIntent();}export function getReturnIntentPath(){return readReturnIntent()?.path??null;}const PRIMARY_DOMAIN=\"almeidaracingacademy.com\";/**\n * Would navigating here keep the member on our own site?\n *\n * Parses rather than string-matches, because the dangerous inputs look like\n * paths: \"//evil.com\" and \"/\\evil.com\" both start with a slash and both take\n * the browser somewhere else. Resolving against our own origin makes the real\n * destination visible, and only then is it safe to judge.\n *\n * Wherever we are currently served counts as ours too, so return paths still\n * resolve on the staging domain and Framer previews. An attacker gains nothing:\n * matching the host we are already on cannot move the member off this site.\n */function isSameSiteTarget(raw){if(typeof window===\"undefined\")return false;try{const url=new URL(raw,window.location.origin);// Blocks javascript: and data:, which carry no useful hostname.\nif(url.protocol!==\"https:\"&&url.protocol!==\"http:\")return false;const host=url.hostname.toLowerCase();// Dot-prefixed, so evilalmeidaracingacademy.com does not slip through.\nreturn host===window.location.hostname.toLowerCase()||host===PRIMARY_DOMAIN||host.endsWith(`.${PRIMARY_DOMAIN}`);}catch{return false;}}function normalizeNavigationTarget(raw){if(!raw)return\"\";const trimmed=raw.trim();if(trimmed.length===0)return\"\";// Absolute and protocol-relative targets are allowed, but only to us —\n// cross-subdomain links (events, live) legitimately need them. Anything\n// else returns \"\", which every caller already treats as \"do not navigate\".\nif(/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.test(trimmed)){return isSameSiteTarget(trimmed)?trimmed:\"\";}if(trimmed.startsWith(\"//\")){if(!isSameSiteTarget(trimmed))return\"\";const protocol=typeof window!==\"undefined\"?window.location.protocol:\"https:\";return`${protocol}${trimmed}`;}if(trimmed.startsWith(\"#\"))return trimmed;const withoutLeadingDots=trimmed.replace(/^\\.?\\//,\"\");const path=`/${withoutLeadingDots}`;// \"/\\evil.com\" and friends survive the rewrite above but are not ours.\nreturn isSameSiteTarget(path)?path:\"\";}export function consumeReturnIntent(){const payload=readReturnIntent();if(payload?.path){clearReturnIntent();return payload;}return null;}if(typeof window!==\"undefined\"){const existing=window.__araReturnIntent||{};existing.get=()=>readReturnIntent();existing.consume=()=>{const payload=readReturnIntent();if(payload?.path){clearReturnIntent();}return payload;};window.__araReturnIntent=existing;}function getCurrentUserSync(){if(typeof window===\"undefined\")return null;const module=window.__outsetaFramerModule;if(module?.getUser){try{const user=module.getUser()||null;return user;}catch{// ignore\n}}const cached=window.__outsetaCurrentUser;return cached||null;}function hasPreferredPlan(user){if(!user)return false;return Boolean(user.HasMotorsportsPlan||user.HasGoldPlan);}function redirectToPath(router,targetPath,label){if(!navigateViaRouter(router,targetPath)&&typeof window!==\"undefined\"){window.location.assign(targetPath);}}function resolvePreferredHomePath(path){const pathname=(path.split(\"#\")[0]?.split(\"?\")[0]||path).trim()||\"/\";if(pathname!==\"/\")return path;const user=getCurrentUserSync();if(!user)return path;const mapped=user.HasMotorsportsPlan?\"/motorsports/learn\":user.HasGoldPlan?\"/sim-racing/learn\":path;return mapped;}function redirectWithPreferredHome(router,rawDestination,label,hooks){const destination=normalizeNavigationTarget(rawDestination);if(!destination)return false;const pathname=(destination.split(\"#\")[0]?.split(\"?\")[0]||destination).trim()||\"/\";const user=getCurrentUserSync();const mappedDestination=resolvePreferredHomePath(destination);const mappedIsHome=mappedDestination===\"/\";const needsUser=pathname===\"/\"&&mappedIsHome&&!hasPreferredPlan(user);const attemptRedirect=redirectLabel=>{redirectToPath(router,resolvePreferredHomePath(destination),redirectLabel);};if(needsUser){if(typeof window!==\"undefined\"){const module=window.__outsetaFramerModule;if(module?.subscribe){const unsubscribe=module.subscribe(newUser=>{if(hasPreferredPlan(newUser)){unsubscribe();attemptRedirect(`${label}:userReady`);}});hooks.onSubscribe(unsubscribe);const timer=window.setTimeout(()=>{unsubscribe();attemptRedirect(`${label}:fallback`);},1500);hooks.onFallbackTimer(timer);return true;}}}attemptRedirect(label);return true;}function tryDirectRouterNavigation(routerNavigate,targetPath){if(typeof routerNavigate!==\"function\"||!targetPath)return false;try{const result=routerNavigate(targetPath);if(result===false)return false;if(result&&typeof result.then===\"function\"){result.then(undefined,()=>{});}return true;}catch{return false;}}function navigateViaRouter(router,targetPath){if(!router||typeof targetPath!==\"string\"||targetPath.length===0)return false;if(/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.test(targetPath)||targetPath.startsWith(\"//\"))return false;const normalizedWithQuery=targetPath.startsWith(\"/\")||targetPath.startsWith(\"#\")?targetPath:`/${targetPath}`;const{navigate,routes}=router;if(typeof navigate!==\"function\")return false;if(!routes||Object.keys(routes).length===0){return tryDirectRouterNavigation(navigate,normalizedWithQuery);}const cleanTarget=normalizedWithQuery.split(\"#\")[0]?.split(\"?\")[0]||normalizedWithQuery;const normalized=cleanTarget.startsWith(\"/\")?cleanTarget:`/${cleanTarget}`;for(const[routeId,routeInfo]of Object.entries(routes)){const pattern=routeInfo?.path;if(!pattern)continue;if(pattern===normalized){try{navigate(routeId,\"\",{});return true;}catch{return false;}}const paramNames=[];const regexPattern=pattern.replace(/:(\\w+)/g,(_,paramName)=>{paramNames.push(paramName);return\"([^/]+)\";});const regex=new RegExp(`^${regexPattern}$`);const match=normalized.match(regex);if(match){const params=paramNames.reduce((acc,name,index)=>{acc[name]=decodeURIComponent(match[index+1]||\"\");return acc;},{});try{navigate(routeId,\"\",params);return true;}catch{return false;}}}return tryDirectRouterNavigation(navigate,normalizedWithQuery);}function resolveHref(candidate){if(!candidate)return undefined;if(typeof candidate===\"string\")return candidate;return candidate.href||candidate.url||candidate.path||candidate.linkUrl||undefined;}function resolveHrefFromEvent(target,event){const direct=resolveHref(target?.props?.href)||resolveHref(target?.props?.link)||resolveHref(target?.props?.url)||resolveHref(target?.props?.target);if(direct)return direct;const domHref=event?.currentTarget&&event.currentTarget.getAttribute?.(\"href\")||event?.target&&event.target.getAttribute?.(\"href\");if(domHref)return domHref;if(typeof window!==\"undefined\"&&event?.target instanceof Element){const anchor=event.target.closest(\"a[href]\");if(anchor?.href){try{const url=new URL(anchor.href);return url.origin===window.location.origin?url.pathname+url.search+url.hash:url.href;}catch{return anchor.getAttribute(\"href\")||undefined;}}}return undefined;}const SSO_TOKEN_PARAMS=[{param:\"discord_token\",provider:\"discord\"},{param:\"google_token\",provider:\"google\"},{param:\"garage61_token\",provider:\"garage61\"},{param:\"iracing_token\",provider:\"iracing\"}];const LAST_USED_SSO_STORAGE_KEY=\"ara:lastUsedSsoProvider\";const LAST_USED_SSO_EVENT=\"ara:last-used-sso\";function markLastUsedSSO(provider){if(typeof window===\"undefined\")return;try{localStorage.setItem(LAST_USED_SSO_STORAGE_KEY,provider);window.dispatchEvent(new CustomEvent(LAST_USED_SSO_EVENT,{detail:provider}));}catch{// ignore storage errors\n}}async function waitForOutsetaSetter(timeoutMs=2500,pollInterval=50){if(typeof window===\"undefined\")return null;const started=Date.now();while(Date.now()-started<timeoutMs){const setter=window.Outseta?.setAccessToken;if(typeof setter===\"function\"){return setter;}await new Promise(resolve=>setTimeout(resolve,pollInterval));}return null;}/**\n * SSO providers return access_token in the URL hash. We apply it here before any\n * redirect so ara_outseta_access_token is set (via outseta.tsx setAccessToken\n * patch) before redirectToReturnIntent runs.\n *\n * Email/password login has no equivalent hook — the Outseta widget calls\n * setAccessToken on its own schedule. Subdomains that bridge on that cookie\n * (events AuthBridge) can race if we redirect away too early; see auth-client\n * syncLogoutIfOutsetaSessionEnded referrer grace and outseta-session.ts bridge.\n */async function applySsoTokenFromHash(){if(typeof window===\"undefined\")return false;const hash=window.location.hash;if(!hash||hash.length<=1)return false;const params=new URLSearchParams(hash.replace(/^#/,\"\"));for(const{param,provider}of SSO_TOKEN_PARAMS){if(!params.has(param))continue;const token=params.get(param);if(!token)continue;const setter=await waitForOutsetaSetter();if(!setter){console.warn(\"[ReturnIntent] Unable to apply SSO token; Outseta not ready.\");return false;}try{await setter(token);}catch(err){console.error(\"[ReturnIntent] Failed to set Outseta access token\",err);return false;}markLastUsedSSO(provider);params.delete(param);const remaining=params.toString();const nextUrl=window.location.pathname+window.location.search+(remaining.length>0?`#${remaining}`:\"\");window.history.replaceState(null,\"\",nextUrl);return true;}return false;}const SIGN_IN_PATH=\"/sign-in\";/**\n * SSO providers report failures (e.g. account_exists) as an #error hash on the\n * login return_url, which is /success. Nothing on /success renders those, so\n * without this the user is silently bounced to the fallback home redirect and\n * never learns why sign-in failed. Forward to /sign-in with the hash intact --\n * each provider's SSO button already reads error/message/provider from it.\n *\n * Uses a full page load rather than the Framer router so the sign-in page's\n * buttons mount fresh against a URL that actually carries the hash. The stored\n * return intent is deliberately left untouched so the user still lands on their\n * original destination once they sign in successfully.\n */function redirectAuthErrorToSignIn(){if(typeof window===\"undefined\")return false;const hash=window.location.hash;if(!hash||hash.length<=1)return false;const params=new URLSearchParams(hash.replace(/^#/,\"\"));if(!params.has(\"error\"))return false;const currentPath=window.location.pathname.toLowerCase();if(currentPath===SIGN_IN_PATH||currentPath.startsWith(`${SIGN_IN_PATH}/`)){return false;}window.location.assign(`${SIGN_IN_PATH}#${params.toString()}`);return true;}/**\n * Override: attach to any CTA/link that should remember\n * the current page before sending a user into authentication\n * or an upgrade flow.\n */export function returnIntentLink(){const router=useRouter();const storeAndNavigate=(event,target)=>{const href=resolveHrefFromEvent(target,event);if(!href)return;const resolvedHref=normalizeNavigationTarget(href);if(!resolvedHref)return;if(event?.preventDefault){event.preventDefault();}const label=(target?.props?.[\"data-return-label\"])||(target?.props?.[\"data-return-name\"])||(typeof target?.props?.children===\"string\"?target.props.children:undefined);const explicitPath=(target?.props?.[\"data-return-path\"])||(target?.props?.[\"data-return-slug\"]);const currentPath=typeof window!==\"undefined\"?window.location.pathname+window.location.search+window.location.hash:href;const desiredPath=explicitPath&&explicitPath.length>0?explicitPath:currentPath;const normalizedReturnPath=normalizeNavigationTarget(desiredPath);storeReturnIntent(normalizedReturnPath,label);const mappedDestination=resolvePreferredHomePath(resolvedHref);redirectToPath(router,mappedDestination,\"returnIntentLink\");};return{onTap:storeAndNavigate,onTapStart:storeAndNavigate,onClick:storeAndNavigate,href:undefined};}/**\n * Override: apply to a text layer to show a message like\n * “You'll return to X after this step”. Automatically hides\n * itself when no return intent is stored.\n */export function returnIntentNotice(){const[payload,setPayload]=useState(null);useEffect(()=>{const refresh=()=>setPayload(readReturnIntent());refresh();if(typeof window!==\"undefined\"){window.addEventListener(\"storage\",refresh);window.addEventListener(\"focus\",refresh);}return()=>{if(typeof window!==\"undefined\"){window.removeEventListener(\"storage\",refresh);window.removeEventListener(\"focus\",refresh);}};},[]);const label=payload?.label||deriveFallbackLabel(payload?.path??\"\");return{text:label,visible:Boolean(label),style:{display:label?undefined:\"none\"}};}/**\n * Override: apply to a button for a “Continue to lesson” call-to-action.\n * Redirects to the stored return intent when available, otherwise falls back\n * to the button's built-in navigation.\n */export function returnIntentButton(props={}){const router=useRouter();const[target,setTarget]=useState(null);useEffect(()=>{const refresh=()=>setTarget(readReturnIntent());refresh();if(typeof window!==\"undefined\"){window.addEventListener(\"storage\",refresh);window.addEventListener(\"focus\",refresh);}return()=>{if(typeof window!==\"undefined\"){window.removeEventListener(\"storage\",refresh);window.removeEventListener(\"focus\",refresh);}};},[]);return{onTap(event){if(!target?.path){if(typeof props?.onTap===\"function\"){try{props.onTap(event);}catch{// ignore handler errors\n}}return;}if(event?.preventDefault){event.preventDefault();}if(typeof props?.onTap===\"function\"){try{props.onTap(event);}catch{// ignore handler errors\n}}clearReturnIntent();const destination=normalizeNavigationTarget(target.path);if(!destination)return;const mappedDestination=resolvePreferredHomePath(destination);redirectToPath(router,mappedDestination,\"returnIntentButton\");}};}/**\n * Override: apply to a container/section that should only be visible\n * when a return intent is present.\n */export function showWhenReturnIntent(){const[hasIntent,setHasIntent]=useState(false);useEffect(()=>{const refresh=()=>setHasIntent(Boolean(readReturnIntent()));refresh();if(typeof window!==\"undefined\"){window.addEventListener(\"storage\",refresh);window.addEventListener(\"focus\",refresh);}return()=>{if(typeof window!==\"undefined\"){window.removeEventListener(\"storage\",refresh);window.removeEventListener(\"focus\",refresh);}};},[]);return{visible:hasIntent,style:{display:hasIntent?undefined:\"none\"}};}/**\n * Override: apply to a page/section that should immediately redirect\n * to the stored return intent if one exists (e.g. a post-auth success page).\n */export function redirectToReturnIntent(){const router=useRouter();useEffect(()=>{let isUnmounted=false;let unsubscribe=null;let fallbackTimer=null;const cleanup=()=>{unsubscribe?.();if(fallbackTimer!=null&&typeof window!==\"undefined\"){window.clearTimeout(fallbackTimer);}};const process=async()=>{if(redirectAuthErrorToSignIn())return;await applySsoTokenFromHash();if(isUnmounted)return;// Cross-subdomain cookies beat apex sessionStorage. Otherwise a\n// leftover academy return-intent (same tab, earlier lesson CTA)\n// swallows an events/live sign-in and never sends the user back.\nconst liveReturnUrl=consumeCrossSubdomainReturnCookie(\"ara_live_return_url\");const eventsReturnUrl=liveReturnUrl?null:consumeEventsReturnCookie();const crossSubdomainReturnUrl=liveReturnUrl||eventsReturnUrl;if(crossSubdomainReturnUrl){clearReturnIntent();await waitForSharedOutsetaToken();if(typeof window!==\"undefined\"){window.location.assign(crossSubdomainReturnUrl);}return;}const payload=consumeReturnIntent();if(payload?.path){redirectWithPreferredHome(router,payload.path,\"redirectToReturnIntent:sessionStorage\",{onSubscribe:unsub=>{unsubscribe=unsub;},onFallbackTimer:timer=>{fallbackTimer=timer;}});return;}redirectWithPreferredHome(router,\"/\",\"redirectToReturnIntent:fallbackHome\",{onSubscribe:unsub=>{unsubscribe=unsub;},onFallbackTimer:timer=>{fallbackTimer=timer;}});};process();return()=>{isUnmounted=true;cleanup();};},[router]);return{};}import{useContext as __legacyOverrideHOC_useContext}from\"react\";import{DataObserverContext as __legacyOverrideHOC_DataObserverContext}from\"framer\";export function withreturnIntentLink(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...returnIntentLink(props)});};}withreturnIntentLink.displayName=\"returnIntentLink\";export function withreturnIntentNotice(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...returnIntentNotice(props)});};}withreturnIntentNotice.displayName=\"returnIntentNotice\";export function withreturnIntentButton(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...returnIntentButton(props)});};}withreturnIntentButton.displayName=\"returnIntentButton\";export function withshowWhenReturnIntent(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...showWhenReturnIntent(props)});};}withshowWhenReturnIntent.displayName=\"showWhenReturnIntent\";export function withredirectToReturnIntent(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...redirectToReturnIntent(props)});};}withredirectToReturnIntent.displayName=\"redirectToReturnIntent\";\nexport const __FramerMetadata__ = {\"exports\":{\"withshowWhenReturnIntent\":{\"type\":\"reactHoc\",\"name\":\"withshowWhenReturnIntent\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"showWhenReturnIntent\":{\"type\":\"override\",\"name\":\"showWhenReturnIntent\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getReturnIntent\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withredirectToReturnIntent\":{\"type\":\"reactHoc\",\"name\":\"withredirectToReturnIntent\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withreturnIntentNotice\":{\"type\":\"reactHoc\",\"name\":\"withreturnIntentNotice\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withreturnIntentButton\":{\"type\":\"reactHoc\",\"name\":\"withreturnIntentButton\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"returnIntentButton\":{\"type\":\"override\",\"name\":\"returnIntentButton\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"returnIntentNotice\":{\"type\":\"override\",\"name\":\"returnIntentNotice\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getReturnIntentPath\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withreturnIntentLink\":{\"type\":\"reactHoc\",\"name\":\"withreturnIntentLink\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"redirectToReturnIntent\":{\"type\":\"override\",\"name\":\"redirectToReturnIntent\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"consumeReturnIntent\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"returnIntentLink\":{\"type\":\"override\",\"name\":\"returnIntentLink\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ReturnIntent.map"],"mappings":"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"}