@seamless-auth/react 0.15.2 → 0.15.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # @seamless-auth/react
2
2
 
3
+ ## 0.15.3
4
+
5
+ ### Patch Changes
6
+
7
+ - 5041bb3: The bundled screens now refuse a post-sign-in destination that a browser would read as another site. That covers a same-origin `returnTo` whose path starts with `//`, and a path hiding `//` behind a tab or newline. Older react-router 6 releases hand such a path to `window.location`, so it could have sent a user off-site.
8
+ - 5041bb3: `@seamless-auth/client` now exports the step logic behind the bundled sign-in screens: `beginSignIn`, `registerWithEmail`, `requestOtp` and `verifyOtp`, `watchMagicLink` and `finishMagicLinkSignIn`, `startOAuthSignIn` and `completeOAuthCallback`, `enrollPasskey`, `loadLoginMethods`, `fallbackSignInOptions`, `detectPasskeySupport`, `safeReturnPath` and `inAppPath`, plus `isValidEmail`, `isValidPhoneNumber` and `parseUserAgent`. A custom UI in any framework can call them, and every binding's screens now share one implementation. The React and React Native screens behave as before.
9
+ - Updated dependencies [5041bb3]
10
+ - Updated dependencies [5041bb3]
11
+ - @seamless-auth/client@0.4.0
12
+
3
13
  ## 0.15.2
4
14
 
5
15
  ### Patch Changes
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ import{createContext as e,useContext as t,useMemo as s,useRef as r,useSyncExternalStore as i,useEffect as o,useState as n}from"react";import{createBrowserOAuthRedirect as a,createBrowserPasskeyPort as c,createAuthSession as u,loadLoginMethods as p,detectPasskeySupport as d}from"@seamless-auth/client";import{jsx as h}from"react/jsx-runtime";const l=e(void 0),k=()=>{const e=t(l);if(!e)throw new Error("useAuth must be used within an AuthProvider");return e},m=({children:e,apiHost:t,autoDetectPreviousSignin:n=!0,magicLinkRedirectUri:p,transport:d,ports:k,initialSession:m})=>{const g=s(()=>({passkeys:k?.passkeys??c(),oauthRedirect:k?.oauthRedirect??a()}),[k?.passkeys,k?.oauthRedirect]),{mode:S,basePath:v,tokenStorage:y,fetch:b}=d??{},f=s(()=>d?{mode:S,basePath:v,tokenStorage:y,fetch:b}:void 0,[S,v,y,b]),P=r(m),R=s(()=>u({apiHost:t,magicLinkRedirectUri:p,transport:f,passkeys:g.passkeys,detectPreviousSignIn:n,initialSession:P.current}),[t,p,f,g.passkeys,n]),w=i(R.subscribe,R.getState,R.getServerState);o(()=>{R.actions.refreshSession({background:void 0!==P.current})},[R]);const A=s(()=>({...w,...R.actions,apiHost:t,magicLinkRedirectUri:p,client:R.client,ports:g}),[w,R,t,p,g]);return h(l.Provider,{value:A,children:e})},g=()=>k().client,S=()=>{const e=g(),[t,s]=n(null),[r,i]=n(!0);return o(()=>{let t=!0;return p(e).then(e=>{t&&(e&&s(e),i(!1))}),()=>{t=!1}},[e]),{loginMethods:t,loading:r}},v=()=>{const{ports:e}=k(),[t,s]=n(!1),[r,i]=n(!0);return o(()=>{let t=!0;return d(e.passkeys).then(e=>{t&&(s(e),i(!1))}),()=>{t=!1}},[e.passkeys]),{passkeySupported:t,loading:r}};export{m as A,g as a,S as b,v as c,k as u};
3
+ //# sourceMappingURL=shared-Bm18KGK2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-Bm18KGK2.js","sources":["../../src/AuthProvider.tsx","../../src/hooks/useAuthClient.ts","../../src/hooks/useLoginMethods.ts","../../src/hooks/usePasskeySupport.ts"],"sourcesContent":[null,null,null,null],"names":["AuthContext","createContext","undefined","useAuth","context","useContext","Error","AuthProvider","children","apiHost","autoDetectPreviousSignin","magicLinkRedirectUri","transport","ports","providedPorts","initialSession","useMemo","passkeys","createBrowserPasskeyPort","oauthRedirect","createBrowserOAuthRedirect","mode","basePath","tokenStorage","fetch","fetchImpl","stableTransport","initialSessionRef","useRef","session","createAuthSession","detectPreviousSignIn","current","state","useSyncExternalStore","subscribe","getState","getServerState","useEffect","actions","refreshSession","background","value","client","_jsx","Provider","useAuthClient","useLoginMethods","authClient","loginMethods","setLoginMethods","useState","loading","setLoading","active","loadLoginMethods","then","methods","usePasskeySupport","passkeySupported","setPasskeySupported","detectPasskeySupport","supported"],"mappings":";sVA4GA,MAAMA,EAAcC,OAA2CC,GAMlDC,EAAU,KACrB,MAAMC,EAAUC,EAAWL,GAC3B,IAAKI,EACH,MAAM,IAAIE,MAAM,+CAElB,OAAOF,GA6BIG,EAA4C,EACvDC,WACAC,UACAC,4BAA2B,EAC3BC,uBACAC,YACAC,MAAOC,EACPC,qBAKA,MAAMF,EAAQG,EACZ,KAAA,CACEC,SAAUH,GAAeG,UAAYC,IACrCC,cAAeL,GAAeK,eAAiBC,MAEjD,CAACN,GAAeG,SAAUH,GAAeK,iBAGrCE,KAAEA,EAAIC,SAAEA,EAAQC,aAAEA,EAAcC,MAAOC,GAAcb,GAAa,CAAA,EAClEc,EAAkBV,EACtB,IAAOJ,EAAY,CAAES,OAAMC,WAAUC,eAAcC,MAAOC,QAAcvB,EAExE,CAACmB,EAAMC,EAAUC,EAAcE,IAM3BE,EAAoBC,EAAOb,GAE3Bc,EAAUb,EACd,IACEc,EAAkB,CAChBrB,UACAE,uBACAC,UAAWc,EACXT,SAAUJ,EAAMI,SAChBc,qBAAsBrB,EACtBK,eAAgBY,EAAkBK,UAEtC,CACEvB,EACAE,EACAe,EACAb,EAAMI,SACNP,IAOEuB,EAAQC,EACZL,EAAQM,UACRN,EAAQO,SACRP,EAAQQ,gBAcVC,EAAU,KACHT,EAAQU,QAAQC,eAAe,CAClCC,gBAA0CvC,IAA9ByB,EAAkBK,WAE/B,CAACH,IAEJ,MAAMa,EAAQ1B,EACZ,KAAA,IACKiB,KACAJ,EAAQU,QACX9B,UACAE,uBACAgC,OAAQd,EAAQc,OAChB9B,UAEF,CAACoB,EAAOJ,EAASpB,EAASE,EAAsBE,IAGlD,OAAO+B,EAAC5C,EAAY6C,SAAQ,CAACH,MAAOA,EAAKlC,SAAGA,KChOjCsC,EAAgB,IACpB3C,IAAUwC,OCQNI,EAAkB,KAC7B,MAAMC,EAAaF,KACZG,EAAcC,GAAmBC,EAA+B,OAChEC,EAASC,GAAcF,GAAS,GAmBvC,OAjBAb,EAAU,KACR,IAAIgB,GAAS,EAWb,OATKC,EAAiBP,GAAYQ,KAAKC,IAChCH,IAEDG,GACFP,EAAgBO,GAElBJ,GAAW,MAGN,KACLC,GAAS,IAEV,CAACN,IAEG,CAAEC,eAAcG,YCjCZM,EAAoB,KAC/B,MAAM7C,MAAEA,GAAUV,KACXwD,EAAkBC,GAAuBT,GAAS,IAClDC,EAASC,GAAcF,GAAS,GAiBvC,OAfAb,EAAU,KACR,IAAIgB,GAAS,EASb,OAPKO,EAAqBhD,EAAMI,UAAUuC,KAAKM,IACzCR,IACFM,EAAoBE,GACpBT,GAAW,MAIR,KACLC,GAAS,IAEV,CAACzC,EAAMI,WAEH,CAAE0C,mBAAkBP"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { LoginMethod } from '@seamless-auth/client';
2
+ import { type LoginMethod } from '@seamless-auth/client';
3
3
  interface AuthFallbackOptionsProps {
4
4
  identifier: string;
5
5
  onMagicLink: () => void;
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
- export declare const OAUTH_PROVIDER_STORAGE_KEY = "seamless:oauth:provider";
2
+ export { OAUTH_PROVIDER_STORAGE_KEY } from '@seamless-auth/client';
3
3
  declare const OAuthProviderButtons: React.FC;
4
4
  export default OAuthProviderButtons;
@@ -1,12 +1,4 @@
1
- import type { LoginMethod } from '@seamless-auth/client';
2
- /**
3
- * Used only until the instance answers, and if it never does.
4
- *
5
- * Deliberately the narrowest useful set, and matching the auth server's own
6
- * defaults. Offering a method that turns out to be disabled sends a user down a
7
- * path that fails, which is worse than showing one option too few.
8
- */
9
- export declare const FALLBACK_LOGIN_METHODS: LoginMethod[];
1
+ export { FALLBACK_LOGIN_METHODS, hasNonPasskeyLoginMethod } from '@seamless-auth/client';
10
2
  /**
11
3
  * Which sign-in methods this instance has enabled, read from the auth server
12
4
  * rather than assumed.
@@ -20,11 +12,3 @@ export declare const useLoginMethods: () => {
20
12
  loginMethods: ("passkey" | "magic_link" | "email_otp" | "phone_otp" | "oauth")[] | null;
21
13
  loading: boolean;
22
14
  };
23
- /**
24
- * Whether a user who declines a passkey would still have a way to sign in.
25
- *
26
- * Returns false while the methods are unknown, so a failed or in-flight request
27
- * never produces a skip control that could strand someone in an account they
28
- * cannot get back into.
29
- */
30
- export declare const hasNonPasskeyLoginMethod: (loginMethods: LoginMethod[] | null) => boolean;
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  'use client';
2
- import{u as e}from"./chunks/shared-BzrBuR0z.js";export{A as AuthProvider,h as hasNonPasskeyLoginMethod,a as useAuthClient,b as useLoginMethods,c as usePasskeySupport}from"./chunks/shared-BzrBuR0z.js";export{SeamlessAuthError,createSeamlessAuthClient,encodePrfSalt,extractPasskeyPrfResult,getOAuthErrorCode,getPasskeyPolicyErrorCode,getWebAuthnErrorDetail,hasScopedRole,isPasskeyPrfSupported,isUnauthenticated,roleGrantsAccess}from"@seamless-auth/client";import"react";import"react/jsx-runtime";const s=()=>e().client.authorizedFetch;export{e as useAuth,s as useAuthorizedFetch};
2
+ import{u as e}from"./chunks/shared-Bm18KGK2.js";export{A as AuthProvider,a as useAuthClient,b as useLoginMethods,c as usePasskeySupport}from"./chunks/shared-Bm18KGK2.js";export{SeamlessAuthError,createSeamlessAuthClient,encodePrfSalt,extractPasskeyPrfResult,getOAuthErrorCode,getPasskeyPolicyErrorCode,getWebAuthnErrorDetail,hasNonPasskeyLoginMethod,hasScopedRole,isPasskeyPrfSupported,isUnauthenticated,roleGrantsAccess}from"@seamless-auth/client";import"react";import"react/jsx-runtime";const s=()=>e().client.authorizedFetch;export{e as useAuth,s as useAuthorizedFetch};
3
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/hooks/useAuthorizedFetch.ts"],"sourcesContent":[null],"names":["useAuthorizedFetch","useAuth","client","authorizedFetch"],"mappings":";8eAaO,MAAMA,EAAqB,IAAMC,IAAUC,OAAOC"}
1
+ {"version":3,"file":"index.js","sources":["../src/hooks/useAuthorizedFetch.ts"],"sourcesContent":[null],"names":["useAuthorizedFetch","useAuth","client","authorizedFetch"],"mappings":";yeAaO,MAAMA,EAAqB,IAAMC,IAAUC,OAAOC"}
package/dist/routes.js CHANGED
@@ -1,3 +1,3 @@
1
1
  'use client';
2
- import{jsxs as e,jsx as r,Fragment as a}from"react/jsx-runtime";import{useHref as o,useNavigate as i,useLocation as t,useSearchParams as n,Routes as s,Route as l,Navigate as c}from"react-router-dom";import{u as d,a as _,c as m,b as u,F as g,h as p}from"./chunks/shared-BzrBuR0z.js";import{useState as h,useEffect as f,useRef as v,useCallback as b}from"react";import y from"libphonenumber-js";import{isUnauthenticated as k,getPasskeyPolicyErrorCode as x,getOAuthErrorCode as w}from"@seamless-auth/client";const N="/login",P="/passkey-login",C="/verify-phone-otp",T="/verify-email-otp",I="/verify-magiclink",M="/oauth/callback",O="/register-passkey",S="/magic-link-sent";function z(e,r){void 0===r&&(r={});var a=r.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===a&&o.firstChild?o.insertBefore(i,o.firstChild):o.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var A="login-module__container___YggDx",B="login-module__card___Ub-Py",q="login-module__heading___neEqb",L="login-module__inputGroup___P6qgS",E="login-module__label___mx5vu",F="login-module__input___U07lW",j="login-module__helperText___kDQ4-",R="login-module__error___40zxh",D="login-module__button___0kFBs",V="login-module__submitHint___qOS5Z",G="login-module__toggle___1JiG1",W="login-module__fallbackCard___HdIk-",U="login-module__fallbackHeader___-il2v",K="login-module__fallbackDescription___ea5EB",Y="login-module__fallbackActions___AD3ni",$="login-module__fallbackActionButton___lFgWf",H="login-module__actionTitle___ycrMp",J="login-module__actionSubtext___opaIV",Z="login-module__linkButton___5lsoe";z(".login-module__container___YggDx{align-items:center;color:var(--seamless-text,#fff);display:flex;justify-content:center}.login-module__card___Ub-Py{background-color:var(--seamless-surface,#1f2937);border-radius:.5rem;box-shadow:0 4px 6px var(--seamless-shadow,rgba(0,0,0,.1));max-width:28rem;padding:2rem;width:100%}.login-module__heading___neEqb{color:var(--seamless-text,#fff);font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.login-module__message___qSejT{color:var(--seamless-success,#68d391);text-align:center}.login-module__inputGroup___P6qgS{margin-bottom:1rem}.login-module__label___mx5vu{color:var(--seamless-text-muted,#d1d5db);display:block}.login-module__input___U07lW{background-color:var(--seamless-surface-raised,#4b5563);border:1px solid var(--seamless-border,#d1d5db);border-radius:.375rem;margin-top:.25rem;padding:.5rem;width:100%}.login-module__input___U07lW:focus{box-shadow:0 0 0 2px var(--seamless-accent,#3b82f6);outline:none}.login-module__helperText___kDQ4-{color:var(--seamless-text-muted,#9ca3af);font-size:.75rem;margin-top:.5rem}.login-module__error___40zxh{color:var(--seamless-danger,#f87171);font-size:.875rem}.login-module__button___0kFBs{background-color:var(--seamless-accent,#2563eb);border-radius:.375rem;color:var(--seamless-accent-contrast,#fff);cursor:pointer;margin-top:1rem;padding:.5rem;transition:background-color .3s,opacity .3s;width:100%}.login-module__button___0kFBs:hover:not(:disabled){background-color:var(--seamless-accent-hover,#1d4ed8)}.login-module__button___0kFBs:disabled{cursor:not-allowed;opacity:.6}.login-module__submitHint___qOS5Z{color:var(--seamless-text-muted,#9ca3af);font-size:.75rem;margin-top:.5rem;text-align:center}.login-module__toggle___1JiG1{background:none;border:none;color:var(--seamless-accent-soft,#60a5fa);cursor:pointer;font-size:.875rem;margin-top:1.5rem;text-align:center;width:100%}.login-module__underline___gs-RS{text-decoration:underline}.login-module__phoneRow___oeNtq{display:grid;gap:.5rem;grid-template-columns:1fr 3fr;margin-top:.25rem}.login-module__phoneInput___2MPQC,.login-module__select___rRV1O{background-color:var(--seamless-surface-raised,#4b5563);border:1px solid var(--seamless-border,#d1d5db);border-radius:.375rem;padding:.5rem;width:100%}@media (max-width:500px){.login-module__phoneRow___oeNtq{grid-template-columns:1fr}}.login-module__fallbackCard___HdIk-{background:var(--seamless-surface-raised,hsla(0,0%,100%,.04));border:1px solid var(--seamless-border,hsla(0,0%,100%,.08));border-radius:12px;display:flex;flex-direction:column;gap:14px;margin-top:18px;padding:18px}.login-module__fallbackHeader___-il2v{color:var(--seamless-text,#f3f4f6);font-size:.95rem;font-weight:600}.login-module__fallbackDescription___ea5EB{color:var(--seamless-text-muted,#9ca3af);font-size:.85rem;line-height:1.4}.login-module__fallbackActions___AD3ni{display:flex;flex-direction:column;gap:10px}.login-module__fallbackActionButton___lFgWf{background:var(--seamless-surface,rgba(0,0,0,.25));border:1px solid var(--seamless-border,hsla(0,0%,100%,.08));border-radius:8px;cursor:pointer;display:flex;flex-direction:column;padding:12px 14px;text-align:left;transition:all .15s ease}.login-module__fallbackActionButton___lFgWf:hover{background:var(--seamless-surface-hover,hsla(0,0%,100%,.06));border-color:var(--seamless-border,hsla(0,0%,100%,.15))}.login-module__actionTitle___ycrMp{color:var(--seamless-text,#f9fafb);font-size:.9rem;font-weight:500}.login-module__actionSubtext___opaIV{color:var(--seamless-text-muted,#9ca3af);font-size:.75rem;margin-top:2px}.login-module__linkButton___5lsoe{background:none;border:none;color:var(--seamless-accent-soft,#60a5fa);cursor:pointer;font-size:.8rem;margin-top:6px}.login-module__linkButton___5lsoe:hover{text-decoration:underline}");const Q=e=>{if("string"!=typeof e)return!1;const r=e.trim();if(r.length<3||r.length>320)return!1;const a=r.split("@");if(2!==a.length)return!1;const[o,i]=a;return!(!/^[A-Za-z0-9._%+-]+$/.test(o)||o.startsWith(".")||o.endsWith(".")||o.includes(".."))&&!(!/^[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/.test(i)||i.startsWith("-")||i.endsWith("-")||i.startsWith(".")||i.endsWith(".")||i.includes(".."))},X=e=>{const r=y(e);return r?.isValid()||!1};const ee=({identifier:a,onMagicLink:o,onEmailOtp:i,onPhoneOtp:t,onPasskeyRetry:n,loginMethods:s})=>{const l=new Set(s??["passkey","magic_link","phone_otp"]),c=l.has("magic_link")&&Q(a),d=l.has("email_otp")&&Boolean(i)&&Q(a),_=l.has("phone_otp")&&X(a),m=l.has("passkey")&&Boolean(n);return c||d||_||m?e("div",{className:W,children:[r("div",{className:U,children:"Choose a sign-in method"}),r("p",{className:K,children:"Choose another secure sign-in method."}),e("div",{className:Y,children:[c&&e("button",{type:"button",className:$,onClick:o,children:[r("span",{className:H,children:"Email Magic Link"}),r("span",{className:J,children:"Send a secure sign-in link to your email"})]}),d&&e("button",{type:"button",className:$,onClick:i,children:[r("span",{className:H,children:"Email Code"}),r("span",{className:J,children:"Receive a one-time code by email"})]}),_&&e("button",{type:"button",className:$,onClick:t,children:[r("span",{className:H,children:"Text Message Code"}),r("span",{className:J,children:"Receive a one-time code via SMS"})]})]}),m&&r("button",{type:"button",className:Z,onClick:n,children:"Try passkey anyway"})]}):null},re="seamless:oauth:provider",ae=()=>{const{listOAuthProviders:a,startOAuthLogin:i,finishOAuthLogin:t,ports:n}=d(),s=o("/oauth/callback"),[l,c]=h([]),[_,m]=h("");if(f(()=>{let e=!0;return a().then(({data:r})=>{e&&c(r?.providers??[])}),()=>{e=!1}},[a]),0===l.length)return null;return e("div",{className:Y,children:[l.map(a=>r("button",{type:"button",className:$,onClick:()=>(async e=>{m(""),sessionStorage.setItem(re,e);const r=new URL(s,window.location.origin).toString(),{data:a,error:o}=await i({providerId:e,redirectUri:r});if(o)return void m("Could not start sign-in with this provider.");const l=await n.oauthRedirect.open(a.authorizationUrl,r);"callback"===l.type&&(await t({providerId:e,code:l.code,state:l.state})).error&&m("Could not finish sign-in with this provider.")})(a.id),children:e("span",{className:H,children:["Continue with ",a.name]})},a.id)),_&&r("p",{className:R,children:_})]})},oe=()=>{const o=i(),{hasSignedInBefore:t,login:n,handlePasskeyLogin:s}=d(),l=_(),{passkeySupported:c}=m(),{loginMethods:p}=u(),[v,b]=h(""),[y,k]=h(""),[x,w]=h("register"),[N,P]=h(""),[I,M]=h(""),[O,z]=h(""),[W,U]=h(!1),[K,Y]=h(null);f(()=>{t&&w("login")},[t]);const $=()=>"login"===x?Q(v)||X(v):Q(y);return r("div",{className:A,children:e("div",{className:B,children:[r("h2",{className:q,children:"login"===x?"Sign In":"Create Account"}),e(a,{children:[e("form",{onSubmit:async e=>{e.preventDefault(),P(""),U(!1);try{if("login"===x){const{data:e,error:r}=await n(v,c);if(r)return void P("Failed to start sign-in. Please try again.");const a=e?.loginMethods?.length?e.loginMethods:p??g;if(Y(a),c&&a.includes("passkey")){const{error:e}=await s();return e?(U(!0),void P("Passkey sign-in could not be completed. Choose another sign-in method.")):void o("/")}return void U(!0)}"register"===x&&await(async()=>{P("");const{data:e,error:r}=await l.register({email:y});r?P("Failed to register. Please try again."):"Success"===e.message?o(T):P("An unexpected error occurred. Try again. If the problem persists, contact support.")})()}catch{console.error("Failed to continue sign-in."),P("Failed to continue sign-in. Please try again.")}},children:["login"===x&&e("div",{className:L,children:[r("label",{htmlFor:"identifier",className:E,children:"Email Address / Phone Number"}),r("input",{id:"identifier",type:"text",value:v,onChange:e=>{const r=e.target.value;b(r)},autoComplete:"off",placeholder:"Email or Phone Number",className:F,onBlur:()=>{if(v){const e=Q(v)||X(v);z(e?"":"Please enter a valid email or phone number")}},required:!0}),r("p",{className:j,children:"Phone numbers must include a country code e.g. +1"}),W&&r(ee,{identifier:v,onMagicLink:async()=>{const{error:e}=await l.requestMagicLink();e?P("Failed to send magic link."):o(S,{state:{identifier:v}})},onEmailOtp:async()=>{const{error:e}=await l.requestLoginEmailOtp();e?P("Failed to send email code."):o(T,{state:{flow:"login"}})},onPhoneOtp:async()=>{const{error:e}=await l.requestLoginPhoneOtp();e?P("Failed to send OTP."):o(C,{state:{flow:"login"}})},onPasskeyRetry:c?s:void 0,loginMethods:K}),O&&r("p",{className:R,children:O})]}),"register"===x&&e("div",{className:L,children:[r("label",{htmlFor:"email",className:E,children:"Email Address"}),r("input",{id:"email",type:"email",value:y,onChange:e=>{const r=e.target.value;k(r)},autoComplete:"off",className:F,onBlur:()=>{if(y){const e=Q(y);M(e?"":"Please enter a valid email")}},required:!0}),I&&r("p",{className:R,children:I})]}),r("button",{type:"submit",className:D,disabled:!$(),"aria-describedby":"seamless-submit-hint",children:"login"===x?"Login":"Register"}),r("p",{id:"seamless-submit-hint",role:"status",className:V,children:"login"===x?v?$()?"Ready to continue.":"This does not look like a complete email or phone number yet.":"Enter your email or phone number to continue.":y?$()?"Ready to continue.":"This does not look like a complete email address yet.":"Enter your email address to continue."}),N&&r("p",{className:R,children:N}),r("button",{type:"button",onClick:()=>w("login"===x?"register":"login"),className:G,children:"login"===x?"Don't have an account? Create one":"Already have an account? Sign in"})]}),r(ae,{})]})]})})};var ie={container:"passKeyLogin-module__container___IUKxF",card:"passKeyLogin-module__card___2sKM1",title:"passKeyLogin-module__title___HZxvc",button:"passKeyLogin-module__button___FvR4I"};z(".passKeyLogin-module__container___IUKxF{align-items:center;color:var(--seamless-text,#fff);display:flex;justify-content:center;padding:1rem}.passKeyLogin-module__card___2sKM1{background-color:var(--seamless-surface,#1f2937);border-radius:1rem;box-shadow:0 4px 20px var(--seamless-shadow,rgba(0,0,0,.4));display:flex;flex-direction:column;gap:1.5rem;max-width:400px;padding:2rem;width:100%}.passKeyLogin-module__title___HZxvc{color:var(--seamless-text,#fff);font-size:1.5rem;font-weight:600;text-align:center}.passKeyLogin-module__button___FvR4I{background-color:var(--seamless-accent,#2563eb);border:1px solid var(--seamless-accent,#3b82f6);border-radius:.5rem;color:var(--seamless-accent-contrast,#fff);cursor:pointer;font-weight:500;padding:.75rem 1rem;text-align:center;transition:background-color .2s ease;width:100%}.passKeyLogin-module__button___FvR4I:hover{background-color:var(--seamless-accent-hover,#1d4ed8)}@media (max-width:480px){.passKeyLogin-module__card___2sKM1{padding:1.25rem}.passKeyLogin-module__button___FvR4I{font-size:1rem}}");const te=()=>{const a=i(),{handlePasskeyLogin:o}=d(),[t,n]=h("");return r("div",{className:ie.container,children:e("div",{className:ie.card,children:[r("h2",{className:ie.title,children:"Login with Passkey"}),r("button",{onClick:async()=>{n("");const{error:e}=await o();e?n("Passkey sign-in could not be completed. Try another sign-in method."):a("/")},className:ie.button,children:"Use Passkey"}),t&&r("p",{className:ie.error,children:t})]})})};var ne="registerPasskey-module__container___jqEh8",se="registerPasskey-module__card___MJAyC",le="registerPasskey-module__loading___Q4i1x",ce="registerPasskey-module__spinner___V1nhd",de="registerPasskey-module__supported___ihTih",_e="registerPasskey-module__title___vn2Qu",me="registerPasskey-module__description___AWmO-",ue="registerPasskey-module__button___D3b4B",ge="registerPasskey-module__message___RiOw-",pe="registerPasskey-module__success___HP5aX",he="registerPasskey-module__error___hGiqE",fe="registerPasskey-module__skip___1hDyU",ve="registerPasskey-module__secondary___bnOB4";z(".registerPasskey-module__container___jqEh8{align-items:center;color:var(--seamless-text,#fff);display:flex;justify-content:center;padding:1rem}.registerPasskey-module__card___MJAyC{background-color:var(--seamless-surface,#1f2937);border-radius:1rem;box-shadow:0 4px 20px var(--seamless-shadow,rgba(0,0,0,.4));max-width:400px;padding:1.5rem;width:100%}.registerPasskey-module__loading___Q4i1x{align-items:center;background-color:var(--seamless-surface,#f9fafb);border-radius:.75rem;box-shadow:0 2px 8px var(--seamless-shadow,rgba(0,0,0,.1));color:var(--seamless-text,#374151);display:flex;font-weight:500;gap:.75rem;justify-content:center;padding:1.5rem}.registerPasskey-module__spinner___V1nhd{animation:registerPasskey-module__spin___oYcsC 1s linear infinite;border-bottom:2px solid var(--seamless-accent,#3b82f6);border-left:2px solid transparent;border-radius:9999px;border-right:2px solid transparent;border-top:2px solid var(--seamless-accent,#3b82f6);height:1.5rem;width:1.5rem}@keyframes registerPasskey-module__spin___oYcsC{to{transform:rotate(1turn)}}.registerPasskey-module__supported___ihTih{background-color:var(--seamless-surface,#ecfdf5);border-radius:.75rem;box-shadow:0 2px 12px var(--seamless-shadow,rgba(0,0,0,.1));color:var(--seamless-text,#065f46);padding:1.25rem}.registerPasskey-module__title___vn2Qu{font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.registerPasskey-module__description___AWmO-{margin-bottom:1rem}.registerPasskey-module__button___D3b4B{background-color:var(--seamless-accent,#059669);border:none;border-radius:.5rem;color:var(--seamless-accent-contrast,#fff);cursor:pointer;font-weight:500;padding:.75rem 1rem;transition:background-color .2s ease;width:100%}.registerPasskey-module__button___D3b4B:hover{background-color:var(--seamless-accent-hover,#047857)}.registerPasskey-module__message___RiOw-{font-size:.875rem;margin-top:1rem}.registerPasskey-module__success___HP5aX{color:var(--seamless-success,#6ee7b7)}.registerPasskey-module__error___hGiqE{color:var(--seamless-danger,#f87171)}.registerPasskey-module__skip___1hDyU{background:none;border:none;color:var(--seamless-accent-soft,#60a5fa);cursor:pointer;font-size:.875rem;margin-top:1.5rem;text-align:center;width:100%}.registerPasskey-module__skip___1hDyU:disabled{cursor:default;opacity:.6}.registerPasskey-module__secondary___bnOB4{background:none;border:1px solid var(--seamless-accent,#059669);border-radius:.5rem;color:var(--seamless-accent,#059669);cursor:pointer;font-weight:500;margin-top:.75rem;padding:.75rem 1rem;transition:background-color .2s ease;width:100%}.registerPasskey-module__secondary___bnOB4:hover:not(:disabled){background-color:var(--seamless-accent-muted,rgba(5,150,105,.1))}.registerPasskey-module__secondary___bnOB4:disabled{cursor:default;opacity:.6}");const be={attachment_not_allowed:"This application does not accept that kind of authenticator. Try the other option.",synced_passkey_not_allowed:"This passkey syncs to a password manager, and this application requires one that stays on a single device, such as a security key.",authenticator_not_allowed:"This application does not accept this authenticator.",prf_required:"This authenticator does not support a feature this application requires."};const ye=()=>{const{refreshSession:a}=d(),o=_(),{passkeySupported:n,loading:s}=m(),{loginMethods:l,loading:c}=u(),g=i(),f=function(e){const r=e?.returnTo;return"string"!=typeof r||!r.startsWith("/")||r.startsWith("//")||r.startsWith("/\\")?"/":r}(t().state),[v,b]=h("idle"),[y,w]=h(""),N=p(l),P=async()=>{await a(),g(f)},C=async e=>{const{platform:r,browser:i,deviceInfo:t}=function(){const e=navigator.userAgent.toLowerCase();let r="unknown",a="unknown";return/iphone|ipad|ipod/.test(e)?r="ios":/android/.test(e)?r="android":/mac os/.test(e)?r="mac":/windows/.test(e)?r="windows":/linux/.test(e)&&(r="linux"),navigator.brave?a="brave":/edg\/|edgios/.test(e)?a="edge":/opr\/|opt\/|opera/.test(e)?a="opera":/vivaldi/.test(e)?a="vivaldi":/samsungbrowser/.test(e)?a="samsung":/firefox|fxios/.test(e)?a="firefox":/chrome|crios/.test(e)?a="chrome":/safari/.test(e)&&(a="safari"),{platform:r,browser:a,deviceInfo:`${r} • ${a}`}}(),n={friendlyName:t,platform:r,browser:i,deviceInfo:t};b("loading");try{const{error:r}=await o.registerPasskey({metadata:n,attachment:e});if(r)throw r;await a(),b("success"),w("Passkey registered successfully."),g(f)}catch(e){console.error("Passkey registration failed."),b("error"),w(function(e){const r=x(e);return r?be[r]:void 0}(e)??(k(e)?"Your session expired before the passkey was saved. Sign in again to add one.":"Error registering passkey."))}};return r("div",{className:ne,children:r("div",{className:se,children:e("div",s||c?{className:le,children:[r("div",{className:ce}),r("span",{children:"Checking for Passkey Support..."})]}:n?{className:de,children:[r("h2",{className:_e,children:"Secure Your Account with a Passkey"}),r("p",{className:me,children:"Your device supports passkeys! Register one to skip passwords forever."}),r("button",{onClick:()=>C(),disabled:"loading"===v,className:ue,children:"loading"===v?"Registering...":"Register Passkey"}),r("button",{type:"button",onClick:()=>C("cross-platform"),disabled:"loading"===v,className:ve,children:"Use a security key instead"}),y&&r("p",{className:`${ge} ${"success"===v?pe:he}`,children:y}),N&&r("button",{type:"button",onClick:P,disabled:"loading"===v,className:fe,children:"Skip for now"})]}:{className:de,children:[r("h2",{className:_e,children:"Passkeys are not available here"}),r("p",{className:me,children:N?"This device does not support passkeys. You can continue without one and add a passkey later from a device that does.":"This device does not support passkeys, and this application requires one to sign in. Try again from a device or browser that supports them."}),N&&r("button",{type:"button",onClick:P,className:ue,children:"Continue"})]})})})};var ke="verifyOTP-module__container___wgoDE",xe="verifyOTP-module__card___3cs2p",we="verifyOTP-module__title___fZ-1d",Ne="verifyOTP-module__subtitle___dGSu3",Pe="verifyOTP-module__error___GEtlG",Ce="verifyOTP-module__success___46TjG",Te="verifyOTP-module__form___jiGG-",Ie="verifyOTP-module__label___Zq5Mi",Me="verifyOTP-module__timer___smq-a",Oe="verifyOTP-module__resend___PlmkG",Se="verifyOTP-module__button___8pIuO",ze="verifyOTP-module__toggle___wbzVa";z(".verifyOTP-module__container___wgoDE{align-items:center;color:var(--seamless-text,#fff);display:flex;justify-content:center;padding:1rem}.verifyOTP-module__card___3cs2p{background-color:var(--seamless-surface,#1f2937);border-radius:.5rem;box-shadow:0 0 10px var(--seamless-shadow,rgba(0,0,0,.3));max-width:28rem;padding:1.5rem;width:100%}.verifyOTP-module__title___fZ-1d{color:var(--seamless-text,#fff);font-size:1.5rem;font-weight:700;margin-bottom:1rem;text-align:center}.verifyOTP-module__subtitle___dGSu3{color:var(--seamless-text-muted,#9ca3af);font-size:.875rem;margin-bottom:1.5rem;text-align:center}.verifyOTP-module__error___GEtlG{color:var(--seamless-danger,#f87171);margin-bottom:1rem;text-align:center}.verifyOTP-module__success___46TjG{color:var(--seamless-success,#34d399);margin-bottom:.75rem;text-align:center}.verifyOTP-module__form___jiGG-{display:flex;flex-direction:column;gap:1rem}.verifyOTP-module__label___Zq5Mi{color:var(--seamless-text-muted,#d1d5db);display:block;font-size:.875rem;margin-bottom:.25rem}.verifyOTP-module__timer___smq-a{color:var(--seamless-warning,#facc15);font-size:.875rem}.verifyOTP-module__input___yqIXM{background-color:var(--seamless-surface-raised,#374151);border:1px solid var(--seamless-border,#4b5563);border-radius:.375rem;color:var(--seamless-text,#fff);outline:none;padding:.5rem;width:100%}.verifyOTP-module__input___yqIXM:focus{box-shadow:0 0 0 2px var(--seamless-accent,#3b82f6)}.verifyOTP-module__resend___PlmkG{background:none;border:none;color:var(--seamless-accent-soft,#60a5fa);cursor:pointer;font-size:.75rem;margin-top:.25rem;text-decoration:underline}.verifyOTP-module__resend___PlmkG:hover{color:var(--seamless-accent,#3b82f6)}.verifyOTP-module__button___8pIuO{background-color:var(--seamless-accent,#2563eb);border:none;border-radius:.375rem;color:var(--seamless-accent-contrast,#fff);cursor:pointer;padding:.5rem;transition:background-color .2s;width:100%}.verifyOTP-module__button___8pIuO:hover{background-color:var(--seamless-accent-hover,#1d4ed8)}.verifyOTP-module__toggle___wbzVa{background:none;border:none;color:var(--seamless-accent-soft,#60a5fa);cursor:pointer;font-size:.875rem;margin-top:1.5rem;text-align:center;width:100%}");var Ae="otpInput-module__otpContainer___MUjby",Be="otpInput-module__otpInput___3YMVm";z(".otpInput-module__otpContainer___MUjby{display:flex;gap:8px;justify-content:center;margin-top:8px}.otpInput-module__otpInput___3YMVm{background:var(--seamless-surface-raised,#374151);border:1px solid var(--seamless-border,#4b5563);border-radius:8px;color:var(--seamless-text,#fff);font-size:1.2rem;height:48px;text-align:center;transition:border-color .15s ease,box-shadow .15s ease;width:42px}.otpInput-module__otpInput___3YMVm:focus{border-color:var(--seamless-accent,#60a5fa);box-shadow:0 0 0 2px var(--seamless-accent,rgba(96,165,250,.25));outline:none}");const qe=({length:e=6,value:a,inputMode:o="numeric",onChange:i,name:t="otp"})=>{const n=v([]),s=a.split("").concat(Array(e).fill("")).slice(0,e),l=(e,r)=>{var a;if(r.length>1)c(e,r);else if(!r||(a=r,"numeric"===o?/^\d$/.test(a):/^[a-zA-Z]$/.test(a))){const a=[...s];a[e]=r;const o=a.join("");i(o),r&&n.current[e+1]&&n.current[e+1]?.focus()}},c=(r,a)=>{let t=a;t="numeric"===o?a.replace(/\D/g,""):a.replace(/[^a-zA-Z]/g,"");const l=t.slice(0,e).split(""),c=[...s];l.forEach((a,o)=>{r+o<e&&(c[r+o]=a)}),i(c.join("")),n.current[Math.min(r+l.length,e-1)]?.focus()};return r("div",{className:Ae,role:"group","aria-label":"One-time password input",onPaste:e=>{e.preventDefault(),c(0,e.clipboardData.getData("text"))},children:s.map((a,c)=>r("input",{ref:e=>n.current[c]=e,type:"text",inputMode:"numeric"===o?"numeric":"text",autoComplete:"one-time-code",name:`${t}-${c}`,maxLength:1,value:a,className:Be,onChange:e=>l(c,e.target.value),onKeyDown:r=>((r,a)=>{if("Backspace"===a.key){a.preventDefault();const e=[...s];s[r]?(e[r]="",i(e.join(""))):r>0&&(e[r-1]="",i(e.join("")),n.current[r-1]?.focus())}"ArrowLeft"===a.key&&r>0&&n.current[r-1]?.focus(),"ArrowRight"===a.key&&r<e-1&&n.current[r+1]?.focus()})(c,r),"aria-label":`Digit ${c+1}`},c))})},Le=()=>{const a=i(),o=t(),{refreshSession:n}=d(),s="login"===o.state?.flow,[l,c]=h(""),[m,u]=h(null),[g,p]=h(""),[v,b]=h(!1),[y,k]=h(""),[x,w]=h(300),N=_(),P=async()=>{if(b(!0),!m){const{error:e}=s?await N.verifyLoginPhoneOtp(l):await N.verifyPhoneOtp(l);if(e)p("Verification failed.");else{if(s)return await n(),void a("/");u(!0)}}b(!1)},C=async()=>{k(""),await(async()=>{p("");const{error:e}=s?await N.requestLoginPhoneOtp():await N.requestPhoneOtp();e?p("Failed to send SMS code. If this persists, refresh the page and try again."):k("Verification SMS has been resent.")})(),k("Verification SMS has been resent.")};return f(()=>{const e=setInterval(()=>{w(e=>e>0?e-1:0)},1e3);return()=>clearInterval(e)},[]),f(()=>{m&&!s&&(async()=>{const{error:e}=await N.requestEmailOtp();e?p("Failed to send Email code. If this persists, refresh the page and try registering again."):a(T)})()},[m,s,a,N]),r("div",{className:ke,children:e("div",{className:xe,children:[r("h2",{className:we,children:"Verify Your Phone Number"}),r("p",{className:Ne,children:"Enter the code sent to your phone number."}),g&&r("p",{className:Pe,children:g}),y&&r("p",{className:Ce,children:y}),e("form",{onSubmit:async e=>{if(e.preventDefault(),p(""),6===l.length){b(!0);try{await P()}catch{p("Unexpected error occurred.")}finally{b(!1)}}else p("Please enter a valid code.")},className:Te,children:[e("div",{children:[e("label",{htmlFor:"phoneCode",className:Ie,children:["Phone Verification Code ",(M=m,!0===M?r("span",{className:"text-green-400 ml-2",children:"✅"}):!1===M?r("span",{className:"text-red-400 ml-2",children:"❌"}):null)," -"," ",e("span",{className:Me,children:["Code expires in: ",(I=x,`${Math.floor(I/60).toString().padStart(2,"0")}:${(I%60).toString().padStart(2,"0")}`)]})]}),r(qe,{length:6,value:l,onChange:c}),r("button",{type:"button",onClick:()=>C(),className:Oe,children:"Resend code to phone"})]}),r("button",{type:"submit",className:Se,children:v?"Verifying...":"Verify & Continue"}),r("button",{type:"button",onClick:()=>a("/login"),className:ze,children:"Back to login"})]})]})});var I,M},Ee=()=>{const a=i(),o=t(),{refreshSession:n}=d(),s=_(),{passkeySupported:l}=m(),c="login"===o.state?.flow,[u,g]=h(!1),[p,v]=h(""),[b,y]=h(300),[k,x]=h(""),[w,N]=h("");return f(()=>{const e=setInterval(()=>{y(e=>e>0?e-1:0)},1e3);return()=>clearInterval(e)},[]),r("div",{className:ke,children:e("div",{className:xe,children:[r("h2",{className:we,children:"Verify Your Email"}),r("p",{className:Ne,children:"We sent you a verification email. Enter the code below."}),k&&r("p",{className:Pe,children:k}),w&&r("p",{className:Ce,children:w}),e("form",{onSubmit:async e=>{if(e.preventDefault(),x(""),6===p.length){g(!0);try{const{error:e}=c?await s.verifyLoginEmailOtp(p):await s.verifyEmailOtp(p);if(e)return void x("Verification failed.");if(c)return await n(),void a("/");l?a(O):(await n(),a("/"))}catch{console.error("Email OTP verification failed."),x("Verification failed.")}finally{g(!1)}}else x("Please enter a valid code.")},className:Te,children:[e("div",{children:[e("label",{htmlFor:"emailCode",className:Ie,children:["Email Verification Code",e("span",{className:Me,children:[" ","— Code expires in ",(P=b,`${Math.floor(P/60).toString().padStart(2,"0")}:${(P%60).toString().padStart(2,"0")}`)]})]}),r(qe,{length:6,value:p,onChange:v,inputMode:"text"}),r("button",{type:"button",onClick:async()=>{x(""),N("");const{error:e}=c?await s.requestLoginEmailOtp():await s.requestEmailOtp();e?x("Failed to send Email code. If this persists, refresh the page and try again."):N("Verification email has been resent.")},className:Oe,children:"Resend code to email"})]}),r("button",{type:"submit",className:Se,disabled:u,children:u?"Verifying...":"Verify & Continue"}),r("button",{type:"button",onClick:()=>a("/login"),className:ze,children:"Back to login"})]})]})});var P};var Fe={container:"verifyMagiclink-module__container___qrSXf",card:"verifyMagiclink-module__card___niKgr",title:"verifyMagiclink-module__title___SumxD",verificationContent:"verifyMagiclink-module__verificationContent___NdsS0",spinner:"verifyMagiclink-module__spinner___lnW1k",successIcon:"verifyMagiclink-module__successIcon___XjFEM",checkIcon:"verifyMagiclink-module__checkIcon___I0JOP",successText:"verifyMagiclink-module__successText___lO5Qq"};z(".verifyMagiclink-module__container___qrSXf{align-items:center;color:var(--seamless-text,#fff);display:flex;justify-content:center;padding:1rem}.verifyMagiclink-module__card___niKgr{background-color:var(--seamless-surface,#1f2937);border-radius:.5rem;box-shadow:0 0 10px var(--seamless-shadow,rgba(0,0,0,.3));max-width:28rem;padding:1.5rem;width:100%}.verifyMagiclink-module__title___SumxD{color:var(--seamless-text,#fff);font-size:1.5rem;font-weight:700;margin-bottom:1rem;text-align:center}.verifyMagiclink-module__verificationContent___NdsS0{align-items:center;display:flex;flex-direction:column;gap:14px;margin:20px 0}.verifyMagiclink-module__spinner___lnW1k{animation:verifyMagiclink-module__spin___2lGzj .9s linear infinite;border:3px solid var(--seamless-border,hsla(0,0%,100%,.15));border-radius:50%;border-top-color:var(--seamless-accent,#60a5fa);height:28px;width:28px}.verifyMagiclink-module__successIcon___XjFEM{align-items:center;background:rgba(16,185,129,.15);border-radius:50%;display:flex;height:36px;justify-content:center;width:36px}.verifyMagiclink-module__checkIcon___I0JOP{animation:verifyMagiclink-module__checkPop___-3qJu .25s ease-out;color:var(--seamless-success,#34d399);height:22px;width:22px}.verifyMagiclink-module__successText___lO5Qq{color:var(--seamless-success,#34d399);font-size:.9rem}@keyframes verifyMagiclink-module__checkPop___-3qJu{0%{opacity:0;transform:scale(.6)}80%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes verifyMagiclink-module__spin___2lGzj{to{transform:rotate(1turn)}}");const je=()=>{const[a]=n(),o=i(),t=a.get("token"),[s,l]=h(""),[c,m]=h(null),u=_(),{refreshSession:g}=d(),p=v(null);return f(()=>{let e=!0,r=null;return(async()=>{if(!t)return e&&l("Missing token for verification."),void console.error("No magic-link token found.");p.current?.token!==t&&(p.current={token:t,result:u.verifyMagicLink(t)});const{error:a}=await p.current.result;if(!e)return;if(a)return console.error("Failed to verify token"),void l("Failed to verify token");const i=new BroadcastChannel("seamless-auth");i.postMessage({type:"MAGIC_LINK_AUTH_SUCCESS"}),i.close();let n=await g({background:!0});n.error&&(await u.checkMagicLink(),n=await g({background:!0})),e&&(n.error?m("elsewhere"):(m("signed-in"),r=setTimeout(()=>{e&&o("/")},900)))})(),()=>{e=!1,r&&clearTimeout(r)}},[t,u,o,g]),r("div",{className:Fe.container,children:e("div",{className:Fe.card,children:[r("h1",{className:Fe.title,children:"Verifying your login"}),e("div",{className:Fe.verificationContent,children:[!c&&!s&&r("div",{className:Fe.spinner}),c&&r("div",{className:Fe.successIcon,children:r("svg",{viewBox:"0 0 24 24",className:Fe.checkIcon,fill:"none",stroke:"currentColor",strokeWidth:"2",children:r("path",{d:"M5 13l4 4L19 7"})})}),!c&&!s&&r("p",{className:Fe.helperText,children:"Please wait while we securely verify your sign-in link."}),"signed-in"===c&&r("p",{className:Fe.successText,children:"Login verified. Redirecting…"}),"elsewhere"===c&&r("p",{className:Fe.successText,children:"Login verified. Return to the device where you requested this link to continue."}),s&&r("p",{className:Fe.error,children:s})]})]})})};const Re={oauth_missing_email:"Your provider account did not share an email address. Add an email to that account and make it visible, then try again.",oauth_email_not_verified:"The email address on your provider account is not verified. Verify it with your provider, then try again.",oauth_missing_subject:"Your provider did not return a usable account identifier. Try again, or sign in with a different method.",oauth_invalid_id_token:"Your provider sent a sign-in response that could not be verified. Try again, or sign in with a different method.",oauth_provider_retired:"Your organization no longer signs in with this provider. Sign in with your passkey or another method instead."},De=()=>{const{finishOAuthLogin:o}=d(),t=i(),[s]=n(),[l,c]=h(""),_=v(!1);return f(()=>{if(_.current)return;_.current=!0;const e=s.get("code"),r=s.get("state"),a=sessionStorage.getItem(re);e&&r&&a?o({providerId:a,code:e,state:r}).then(({data:e,error:r})=>{if(r){const e=w(r);return void c(e?Re[e]:"We could not complete sign-in. Please try again.")}sessionStorage.removeItem(re);const a=function(e){if(!e)return null;try{const r=new URL(e,window.location.origin);return r.origin!==window.location.origin?null:`${r.pathname}${r.search}${r.hash}`}catch{return null}}(e?.returnTo)??"/";"enroll_passkey"!==e?.nextStep?t(a):t(O,{state:{returnTo:a}})}):c("This sign-in link is missing required information.")},[o,t,s]),e("div",{className:Fe.container,children:[r("h2",{className:Fe.title,children:l?"Sign-in failed":"Completing sign-in..."}),l&&e(a,{children:[r("p",{children:l}),r("button",{type:"button",onClick:()=>t("/login"),children:"Back to login"})]})]})};var Ve="magiclink-module__container___45zcA",Ge="magiclink-module__card___Au9oN",We="magiclink-module__iconWrapper___k5ndr",Ue="magiclink-module__mailIcon___Pwb7q",Ke="magiclink-module__iconRing___bdLvf",Ye="magiclink-module__heading___b9cre",$e="magiclink-module__message___kiVFj",He="magiclink-module__identifier___JtcFM",Je="magiclink-module__helperText___7Mlfh",Ze="magiclink-module__actions___64I-3",Qe="magiclink-module__secondaryButton___BntAI",Xe="magiclink-module__cooldown___Ib4rm",er="magiclink-module__linkButton___maJiv";z(".magiclink-module__container___45zcA{align-items:center;color:var(--seamless-text,#fff);display:flex;justify-content:center}.magiclink-module__card___Au9oN{background-color:var(--seamless-surface,#1f2937);border-radius:.75rem;box-shadow:0 10px 25px var(--seamless-shadow,rgba(0,0,0,.25));max-width:420px;padding:2.5rem 2rem;text-align:center;width:100%}.magiclink-module__iconWrapper___k5ndr{display:flex;justify-content:center;margin-bottom:1.25rem;position:relative}.magiclink-module__mailIcon___Pwb7q{color:var(--seamless-accent-soft,#a5b4fc);height:38px;width:38px;z-index:2}.magiclink-module__iconRing___bdLvf{animation:magiclink-module__pulse___YGm-I 2s infinite;background:rgba(99,102,241,.15);border-radius:50%;height:72px;position:absolute;width:72px}@keyframes magiclink-module__pulse___YGm-I{0%{opacity:.8;transform:scale(.6)}70%{opacity:0;transform:scale(1.4)}to{opacity:0}}.magiclink-module__heading___b9cre{font-size:1.55rem;font-weight:600;margin-bottom:.75rem}.magiclink-module__message___kiVFj{color:var(--seamless-text-muted,#d1d5db);font-size:.95rem;line-height:1.4;margin-bottom:1rem}.magiclink-module__identifier___JtcFM{background:var(--seamless-surface-raised,hsla(0,0%,100%,.05));border-radius:6px;display:inline-block;font-size:1rem;font-weight:600;margin-bottom:1rem;padding:.45rem .6rem}.magiclink-module__helperText___7Mlfh{color:var(--seamless-text-muted,#9ca3af);font-size:.85rem;line-height:1.4;margin-bottom:.6rem}.magiclink-module__actions___64I-3{display:flex;flex-direction:column;gap:.6rem;margin-top:1.6rem}.magiclink-module__secondaryButton___BntAI{background:var(--seamless-surface,#111827);border:1px solid var(--seamless-border,#374151);border-radius:8px;color:var(--seamless-text,#fff);cursor:pointer;font-weight:500;padding:.65rem}.magiclink-module__secondaryButton___BntAI:hover:not(:disabled){background:var(--seamless-surface-hover,#1f2937)}.magiclink-module__secondaryButton___BntAI:disabled{cursor:not-allowed;opacity:.5}.magiclink-module__cooldown___Ib4rm{color:var(--seamless-text-muted,#9ca3af);font-size:.8rem}.magiclink-module__linkButton___maJiv{background:none;border:none;color:var(--seamless-accent-soft,#a5b4fc);cursor:pointer;font-size:.85rem;margin-top:.4rem}.magiclink-module__linkButton___maJiv:hover{text-decoration:underline}");const rr=()=>{const{refreshSession:a}=d(),o=i(),n=t(),s=_(),l=n.state?.identifier,[c,m]=h(30);f(()=>{const e=setInterval(()=>{m(e=>e>0?e-1:0)},1e3);return()=>clearInterval(e)},[]);const u=b(async()=>{const{data:e,error:r}=await s.checkMagicLink();return!r&&"Success"===e?.message},[s]);return f(()=>{const e=new BroadcastChannel("seamless-auth");return e.onmessage=async e=>{"MAGIC_LINK_AUTH_SUCCESS"===e.data?.type&&await u()&&(await a(),o("/"))},()=>{e.close()}},[u,o,a]),f(()=>{const e=setInterval(async()=>{try{await u()&&(await a(),o("/"))}catch{}},5e3);return()=>clearInterval(e)},[u,a,o]),r("div",{className:Ve,children:e("div",{className:Ge,children:[e("div",{className:We,children:[r("div",{className:Ke}),e("svg",{className:Ue,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",children:[r("path",{d:"M4 6h16v12H4z"}),r("path",{d:"m4 6 8 6 8-6"})]})]}),r("h2",{className:Ye,children:"Check your email"}),r("p",{className:$e,children:"If an account exists for this address, we sent a secure sign-in link."}),l&&r("div",{className:He,children:l}),r("p",{className:Je,children:"Open the email and click the link to finish signing in."}),r("p",{className:Je,children:"Didn’t receive anything? Check your spam folder or try creating a new account."}),e("div",{className:Ze,children:[r("button",{className:Qe,disabled:c>0,onClick:async()=>{c>0||(await s.requestMagicLink(),m(30))},children:"Resend link"}),c>0&&e("div",{className:Xe,children:["Available in ",c,"s"]}),r("button",{className:er,onClick:()=>o("/login"),children:"Change email or phone"})]})]})})},ar=()=>e(s,{children:[r(l,{path:N,element:r(oe,{})}),r(l,{path:P,element:r(te,{})}),r(l,{path:C,element:r(Le,{})}),r(l,{path:T,element:r(Ee,{})}),r(l,{path:I,element:r(je,{})}),r(l,{path:M,element:r(De,{})}),r(l,{path:O,element:r(ye,{})}),r(l,{path:S,element:r(rr,{})}),r(l,{path:"*",element:r(c,{to:N,replace:!0})})]});export{ar as AuthRoutes};
2
+ import{jsxs as e,jsx as r,Fragment as o}from"react/jsx-runtime";import{useHref as a,useNavigate as n,useLocation as i,useSearchParams as s,Routes as t,Route as l,Navigate as c}from"react-router-dom";import{u as d,a as _,c as m,b as u}from"./chunks/shared-Bm18KGK2.js";import{useState as g,useEffect as p,useRef as f}from"react";import{fallbackSignInOptions as h,hasFallbackSignInOption as b,OAUTH_CALLBACK_PATH as v,startOAuthSignIn as y,isValidEmail as k,isValidPhoneNumber as x,beginSignIn as w,PASSKEY_SIGN_IN_FAILED as N,registerWithEmail as P,safeReturnPath as C,hasNonPasskeyLoginMethod as M,enrollPasskey as O,isOtpCharacter as T,otpCharacters as I,OTP_LIFETIME_SECONDS as S,formatCountdown as B,OTP_LENGTH as z,verifyOtp as L,requestOtp as A,otpResendFailedMessage as q,finishMagicLinkSignIn as R,completeOAuthCallback as E,MAGIC_LINK_RESEND_COOLDOWN_SECONDS as j,watchMagicLink as F}from"@seamless-auth/client";const D="/login",G="/passkey-login",V="/verify-phone-otp",K="/verify-email-otp",U="/verify-magiclink",W="/oauth/callback",Y="/register-passkey",J="/magic-link-sent";function H(e,r){void 0===r&&(r={});var o=r.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===o&&a.firstChild?a.insertBefore(n,a.firstChild):a.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}var Q="login-module__container___YggDx",X="login-module__card___Ub-Py",Z="login-module__heading___neEqb",$="login-module__inputGroup___P6qgS",ee="login-module__label___mx5vu",re="login-module__input___U07lW",oe="login-module__helperText___kDQ4-",ae="login-module__error___40zxh",ne="login-module__button___0kFBs",ie="login-module__submitHint___qOS5Z",se="login-module__toggle___1JiG1",te="login-module__fallbackCard___HdIk-",le="login-module__fallbackHeader___-il2v",ce="login-module__fallbackDescription___ea5EB",de="login-module__fallbackActions___AD3ni",_e="login-module__fallbackActionButton___lFgWf",me="login-module__actionTitle___ycrMp",ue="login-module__actionSubtext___opaIV",ge="login-module__linkButton___5lsoe";H(".login-module__container___YggDx{align-items:center;color:var(--seamless-text,#fff);display:flex;justify-content:center}.login-module__card___Ub-Py{background-color:var(--seamless-surface,#1f2937);border-radius:.5rem;box-shadow:0 4px 6px var(--seamless-shadow,rgba(0,0,0,.1));max-width:28rem;padding:2rem;width:100%}.login-module__heading___neEqb{color:var(--seamless-text,#fff);font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.login-module__message___qSejT{color:var(--seamless-success,#68d391);text-align:center}.login-module__inputGroup___P6qgS{margin-bottom:1rem}.login-module__label___mx5vu{color:var(--seamless-text-muted,#d1d5db);display:block}.login-module__input___U07lW{background-color:var(--seamless-surface-raised,#4b5563);border:1px solid var(--seamless-border,#d1d5db);border-radius:.375rem;margin-top:.25rem;padding:.5rem;width:100%}.login-module__input___U07lW:focus{box-shadow:0 0 0 2px var(--seamless-accent,#3b82f6);outline:none}.login-module__helperText___kDQ4-{color:var(--seamless-text-muted,#9ca3af);font-size:.75rem;margin-top:.5rem}.login-module__error___40zxh{color:var(--seamless-danger,#f87171);font-size:.875rem}.login-module__button___0kFBs{background-color:var(--seamless-accent,#2563eb);border-radius:.375rem;color:var(--seamless-accent-contrast,#fff);cursor:pointer;margin-top:1rem;padding:.5rem;transition:background-color .3s,opacity .3s;width:100%}.login-module__button___0kFBs:hover:not(:disabled){background-color:var(--seamless-accent-hover,#1d4ed8)}.login-module__button___0kFBs:disabled{cursor:not-allowed;opacity:.6}.login-module__submitHint___qOS5Z{color:var(--seamless-text-muted,#9ca3af);font-size:.75rem;margin-top:.5rem;text-align:center}.login-module__toggle___1JiG1{background:none;border:none;color:var(--seamless-accent-soft,#60a5fa);cursor:pointer;font-size:.875rem;margin-top:1.5rem;text-align:center;width:100%}.login-module__underline___gs-RS{text-decoration:underline}.login-module__phoneRow___oeNtq{display:grid;gap:.5rem;grid-template-columns:1fr 3fr;margin-top:.25rem}.login-module__phoneInput___2MPQC,.login-module__select___rRV1O{background-color:var(--seamless-surface-raised,#4b5563);border:1px solid var(--seamless-border,#d1d5db);border-radius:.375rem;padding:.5rem;width:100%}@media (max-width:500px){.login-module__phoneRow___oeNtq{grid-template-columns:1fr}}.login-module__fallbackCard___HdIk-{background:var(--seamless-surface-raised,hsla(0,0%,100%,.04));border:1px solid var(--seamless-border,hsla(0,0%,100%,.08));border-radius:12px;display:flex;flex-direction:column;gap:14px;margin-top:18px;padding:18px}.login-module__fallbackHeader___-il2v{color:var(--seamless-text,#f3f4f6);font-size:.95rem;font-weight:600}.login-module__fallbackDescription___ea5EB{color:var(--seamless-text-muted,#9ca3af);font-size:.85rem;line-height:1.4}.login-module__fallbackActions___AD3ni{display:flex;flex-direction:column;gap:10px}.login-module__fallbackActionButton___lFgWf{background:var(--seamless-surface,rgba(0,0,0,.25));border:1px solid var(--seamless-border,hsla(0,0%,100%,.08));border-radius:8px;cursor:pointer;display:flex;flex-direction:column;padding:12px 14px;text-align:left;transition:all .15s ease}.login-module__fallbackActionButton___lFgWf:hover{background:var(--seamless-surface-hover,hsla(0,0%,100%,.06));border-color:var(--seamless-border,hsla(0,0%,100%,.15))}.login-module__actionTitle___ycrMp{color:var(--seamless-text,#f9fafb);font-size:.9rem;font-weight:500}.login-module__actionSubtext___opaIV{color:var(--seamless-text-muted,#9ca3af);font-size:.75rem;margin-top:2px}.login-module__linkButton___5lsoe{background:none;border:none;color:var(--seamless-accent-soft,#60a5fa);cursor:pointer;font-size:.8rem;margin-top:6px}.login-module__linkButton___5lsoe:hover{text-decoration:underline}");const pe=({identifier:o,onMagicLink:a,onEmailOtp:n,onPhoneOtp:i,onPasskeyRetry:s,loginMethods:t})=>{const l=h(o,t,{emailOtp:Boolean(n),passkeyRetry:Boolean(s)});return b(l)?e("div",{className:te,children:[r("div",{className:le,children:"Choose a sign-in method"}),r("p",{className:ce,children:"Choose another secure sign-in method."}),e("div",{className:de,children:[l.magicLink&&e("button",{type:"button",className:_e,onClick:a,children:[r("span",{className:me,children:"Email Magic Link"}),r("span",{className:ue,children:"Send a secure sign-in link to your email"})]}),l.emailOtp&&e("button",{type:"button",className:_e,onClick:n,children:[r("span",{className:me,children:"Email Code"}),r("span",{className:ue,children:"Receive a one-time code by email"})]}),l.phoneOtp&&e("button",{type:"button",className:_e,onClick:i,children:[r("span",{className:me,children:"Text Message Code"}),r("span",{className:ue,children:"Receive a one-time code via SMS"})]})]}),l.passkeyRetry&&r("button",{type:"button",className:ge,onClick:s,children:"Try passkey anyway"})]}):null},fe=()=>{const{listOAuthProviders:o,startOAuthLogin:n,finishOAuthLogin:i,ports:s}=d(),t=a(v),[l,c]=g([]),[_,m]=g("");if(p(()=>{let e=!0;return o().then(({data:r})=>{e&&c(r?.providers??[])}),()=>{e=!1}},[o]),0===l.length)return null;return e("div",{className:de,children:[l.map(o=>r("button",{type:"button",className:_e,onClick:()=>(async e=>{m("");const r=new URL(t,window.location.origin).toString(),{error:o}=await y({actions:{startOAuthLogin:n,finishOAuthLogin:i},oauthRedirect:s.oauthRedirect},{providerId:e,redirectUri:r});o&&m(o)})(o.id),children:e("span",{className:me,children:["Continue with ",o.name]})},o.id)),_&&r("p",{className:ae,children:_})]})},he=()=>{const a=n(),{hasSignedInBefore:i,login:s,handlePasskeyLogin:t}=d(),l=_(),{passkeySupported:c}=m(),{loginMethods:f}=u(),[h,b]=g(""),[v,y]=g(""),[C,M]=g("register"),[O,T]=g(""),[I,S]=g(""),[B,z]=g(""),[L,A]=g(!1),[q,R]=g(null);p(()=>{i&&M("login")},[i]);const E=()=>"login"===C?k(h)||x(h):k(v);return r("div",{className:Q,children:e("div",{className:X,children:[r("h2",{className:Z,children:"login"===C?"Sign In":"Create Account"}),e(o,{children:[e("form",{onSubmit:async e=>{e.preventDefault(),T(""),A(!1);try{if("login"===C){const e=await w({login:s,handlePasskeyLogin:t},{identifier:h,passkeySupported:c,configuredMethods:f});return"error"===e.kind?void T(e.message):"signed_in"===e.kind?void a("/"):(R(e.loginMethods),A(!0),void(e.passkeyFailed&&T(N)))}"register"===C&&await(async()=>{T("");const{error:e}=await P(l,v);e?T(e):a(K)})()}catch{console.error("Failed to continue sign-in."),T("Failed to continue sign-in. Please try again.")}},children:["login"===C&&e("div",{className:$,children:[r("label",{htmlFor:"identifier",className:ee,children:"Email Address / Phone Number"}),r("input",{id:"identifier",type:"text",value:h,onChange:e=>{const r=e.target.value;b(r)},autoComplete:"off",placeholder:"Email or Phone Number",className:re,onBlur:()=>{if(h){const e=k(h)||x(h);z(e?"":"Please enter a valid email or phone number")}},required:!0}),r("p",{className:oe,children:"Phone numbers must include a country code e.g. +1"}),L&&r(pe,{identifier:h,onMagicLink:async()=>{const{error:e}=await l.requestMagicLink();e?T("Failed to send magic link."):a(J,{state:{identifier:h}})},onEmailOtp:async()=>{const{error:e}=await l.requestLoginEmailOtp();e?T("Failed to send email code."):a(K,{state:{flow:"login"}})},onPhoneOtp:async()=>{const{error:e}=await l.requestLoginPhoneOtp();e?T("Failed to send OTP."):a(V,{state:{flow:"login"}})},onPasskeyRetry:c?t:void 0,loginMethods:q}),B&&r("p",{className:ae,children:B})]}),"register"===C&&e("div",{className:$,children:[r("label",{htmlFor:"email",className:ee,children:"Email Address"}),r("input",{id:"email",type:"email",value:v,onChange:e=>{const r=e.target.value;y(r)},autoComplete:"off",className:re,onBlur:()=>{if(v){const e=k(v);S(e?"":"Please enter a valid email")}},required:!0}),I&&r("p",{className:ae,children:I})]}),r("button",{type:"submit",className:ne,disabled:!E(),"aria-describedby":"seamless-submit-hint",children:"login"===C?"Login":"Register"}),r("p",{id:"seamless-submit-hint",role:"status",className:ie,children:"login"===C?h?E()?"Ready to continue.":"This does not look like a complete email or phone number yet.":"Enter your email or phone number to continue.":v?E()?"Ready to continue.":"This does not look like a complete email address yet.":"Enter your email address to continue."}),O&&r("p",{className:ae,children:O}),r("button",{type:"button",onClick:()=>M("login"===C?"register":"login"),className:se,children:"login"===C?"Don't have an account? Create one":"Already have an account? Sign in"})]}),r(fe,{})]})]})})};var be={container:"passKeyLogin-module__container___IUKxF",card:"passKeyLogin-module__card___2sKM1",title:"passKeyLogin-module__title___HZxvc",button:"passKeyLogin-module__button___FvR4I"};H(".passKeyLogin-module__container___IUKxF{align-items:center;color:var(--seamless-text,#fff);display:flex;justify-content:center;padding:1rem}.passKeyLogin-module__card___2sKM1{background-color:var(--seamless-surface,#1f2937);border-radius:1rem;box-shadow:0 4px 20px var(--seamless-shadow,rgba(0,0,0,.4));display:flex;flex-direction:column;gap:1.5rem;max-width:400px;padding:2rem;width:100%}.passKeyLogin-module__title___HZxvc{color:var(--seamless-text,#fff);font-size:1.5rem;font-weight:600;text-align:center}.passKeyLogin-module__button___FvR4I{background-color:var(--seamless-accent,#2563eb);border:1px solid var(--seamless-accent,#3b82f6);border-radius:.5rem;color:var(--seamless-accent-contrast,#fff);cursor:pointer;font-weight:500;padding:.75rem 1rem;text-align:center;transition:background-color .2s ease;width:100%}.passKeyLogin-module__button___FvR4I:hover{background-color:var(--seamless-accent-hover,#1d4ed8)}@media (max-width:480px){.passKeyLogin-module__card___2sKM1{padding:1.25rem}.passKeyLogin-module__button___FvR4I{font-size:1rem}}");const ve=()=>{const o=n(),{handlePasskeyLogin:a}=d(),[i,s]=g("");return r("div",{className:be.container,children:e("div",{className:be.card,children:[r("h2",{className:be.title,children:"Login with Passkey"}),r("button",{onClick:async()=>{s("");const{error:e}=await a();e?s("Passkey sign-in could not be completed. Try another sign-in method."):o("/")},className:be.button,children:"Use Passkey"}),i&&r("p",{className:be.error,children:i})]})})};var ye="registerPasskey-module__container___jqEh8",ke="registerPasskey-module__card___MJAyC",xe="registerPasskey-module__loading___Q4i1x",we="registerPasskey-module__spinner___V1nhd",Ne="registerPasskey-module__supported___ihTih",Pe="registerPasskey-module__title___vn2Qu",Ce="registerPasskey-module__description___AWmO-",Me="registerPasskey-module__button___D3b4B",Oe="registerPasskey-module__message___RiOw-",Te="registerPasskey-module__success___HP5aX",Ie="registerPasskey-module__error___hGiqE",Se="registerPasskey-module__skip___1hDyU",Be="registerPasskey-module__secondary___bnOB4";H(".registerPasskey-module__container___jqEh8{align-items:center;color:var(--seamless-text,#fff);display:flex;justify-content:center;padding:1rem}.registerPasskey-module__card___MJAyC{background-color:var(--seamless-surface,#1f2937);border-radius:1rem;box-shadow:0 4px 20px var(--seamless-shadow,rgba(0,0,0,.4));max-width:400px;padding:1.5rem;width:100%}.registerPasskey-module__loading___Q4i1x{align-items:center;background-color:var(--seamless-surface,#f9fafb);border-radius:.75rem;box-shadow:0 2px 8px var(--seamless-shadow,rgba(0,0,0,.1));color:var(--seamless-text,#374151);display:flex;font-weight:500;gap:.75rem;justify-content:center;padding:1.5rem}.registerPasskey-module__spinner___V1nhd{animation:registerPasskey-module__spin___oYcsC 1s linear infinite;border-bottom:2px solid var(--seamless-accent,#3b82f6);border-left:2px solid transparent;border-radius:9999px;border-right:2px solid transparent;border-top:2px solid var(--seamless-accent,#3b82f6);height:1.5rem;width:1.5rem}@keyframes registerPasskey-module__spin___oYcsC{to{transform:rotate(1turn)}}.registerPasskey-module__supported___ihTih{background-color:var(--seamless-surface,#ecfdf5);border-radius:.75rem;box-shadow:0 2px 12px var(--seamless-shadow,rgba(0,0,0,.1));color:var(--seamless-text,#065f46);padding:1.25rem}.registerPasskey-module__title___vn2Qu{font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.registerPasskey-module__description___AWmO-{margin-bottom:1rem}.registerPasskey-module__button___D3b4B{background-color:var(--seamless-accent,#059669);border:none;border-radius:.5rem;color:var(--seamless-accent-contrast,#fff);cursor:pointer;font-weight:500;padding:.75rem 1rem;transition:background-color .2s ease;width:100%}.registerPasskey-module__button___D3b4B:hover{background-color:var(--seamless-accent-hover,#047857)}.registerPasskey-module__message___RiOw-{font-size:.875rem;margin-top:1rem}.registerPasskey-module__success___HP5aX{color:var(--seamless-success,#6ee7b7)}.registerPasskey-module__error___hGiqE{color:var(--seamless-danger,#f87171)}.registerPasskey-module__skip___1hDyU{background:none;border:none;color:var(--seamless-accent-soft,#60a5fa);cursor:pointer;font-size:.875rem;margin-top:1.5rem;text-align:center;width:100%}.registerPasskey-module__skip___1hDyU:disabled{cursor:default;opacity:.6}.registerPasskey-module__secondary___bnOB4{background:none;border:1px solid var(--seamless-accent,#059669);border-radius:.5rem;color:var(--seamless-accent,#059669);cursor:pointer;font-weight:500;margin-top:.75rem;padding:.75rem 1rem;transition:background-color .2s ease;width:100%}.registerPasskey-module__secondary___bnOB4:hover:not(:disabled){background-color:var(--seamless-accent-muted,rgba(5,150,105,.1))}.registerPasskey-module__secondary___bnOB4:disabled{cursor:default;opacity:.6}");const ze=()=>{const{refreshSession:o}=d(),a=_(),{passkeySupported:s,loading:t}=m(),{loginMethods:l,loading:c}=u(),p=n(),f=C(i().state?.returnTo),[h,b]=g("idle"),[v,y]=g(""),k=M(l),x=async()=>{await o(),p(f)},w=async e=>{b("loading");const{error:r}=await O({client:a,refreshSession:o},e);if(r)return b("error"),void y(r);b("success"),y("Passkey registered successfully."),p(f)};return r("div",{className:ye,children:r("div",{className:ke,children:e("div",t||c?{className:xe,children:[r("div",{className:we}),r("span",{children:"Checking for Passkey Support..."})]}:s?{className:Ne,children:[r("h2",{className:Pe,children:"Secure Your Account with a Passkey"}),r("p",{className:Ce,children:"Your device supports passkeys! Register one to skip passwords forever."}),r("button",{onClick:()=>w(),disabled:"loading"===h,className:Me,children:"loading"===h?"Registering...":"Register Passkey"}),r("button",{type:"button",onClick:()=>w("cross-platform"),disabled:"loading"===h,className:Be,children:"Use a security key instead"}),v&&r("p",{className:`${Oe} ${"success"===h?Te:Ie}`,children:v}),k&&r("button",{type:"button",onClick:x,disabled:"loading"===h,className:Se,children:"Skip for now"})]}:{className:Ne,children:[r("h2",{className:Pe,children:"Passkeys are not available here"}),r("p",{className:Ce,children:k?"This device does not support passkeys. You can continue without one and add a passkey later from a device that does.":"This device does not support passkeys, and this application requires one to sign in. Try again from a device or browser that supports them."}),k&&r("button",{type:"button",onClick:x,className:Me,children:"Continue"})]})})})};var Le="verifyOTP-module__container___wgoDE",Ae="verifyOTP-module__card___3cs2p",qe="verifyOTP-module__title___fZ-1d",Re="verifyOTP-module__subtitle___dGSu3",Ee="verifyOTP-module__error___GEtlG",je="verifyOTP-module__success___46TjG",Fe="verifyOTP-module__form___jiGG-",De="verifyOTP-module__label___Zq5Mi",Ge="verifyOTP-module__timer___smq-a",Ve="verifyOTP-module__resend___PlmkG",Ke="verifyOTP-module__button___8pIuO",Ue="verifyOTP-module__toggle___wbzVa";H(".verifyOTP-module__container___wgoDE{align-items:center;color:var(--seamless-text,#fff);display:flex;justify-content:center;padding:1rem}.verifyOTP-module__card___3cs2p{background-color:var(--seamless-surface,#1f2937);border-radius:.5rem;box-shadow:0 0 10px var(--seamless-shadow,rgba(0,0,0,.3));max-width:28rem;padding:1.5rem;width:100%}.verifyOTP-module__title___fZ-1d{color:var(--seamless-text,#fff);font-size:1.5rem;font-weight:700;margin-bottom:1rem;text-align:center}.verifyOTP-module__subtitle___dGSu3{color:var(--seamless-text-muted,#9ca3af);font-size:.875rem;margin-bottom:1.5rem;text-align:center}.verifyOTP-module__error___GEtlG{color:var(--seamless-danger,#f87171);margin-bottom:1rem;text-align:center}.verifyOTP-module__success___46TjG{color:var(--seamless-success,#34d399);margin-bottom:.75rem;text-align:center}.verifyOTP-module__form___jiGG-{display:flex;flex-direction:column;gap:1rem}.verifyOTP-module__label___Zq5Mi{color:var(--seamless-text-muted,#d1d5db);display:block;font-size:.875rem;margin-bottom:.25rem}.verifyOTP-module__timer___smq-a{color:var(--seamless-warning,#facc15);font-size:.875rem}.verifyOTP-module__input___yqIXM{background-color:var(--seamless-surface-raised,#374151);border:1px solid var(--seamless-border,#4b5563);border-radius:.375rem;color:var(--seamless-text,#fff);outline:none;padding:.5rem;width:100%}.verifyOTP-module__input___yqIXM:focus{box-shadow:0 0 0 2px var(--seamless-accent,#3b82f6)}.verifyOTP-module__resend___PlmkG{background:none;border:none;color:var(--seamless-accent-soft,#60a5fa);cursor:pointer;font-size:.75rem;margin-top:.25rem;text-decoration:underline}.verifyOTP-module__resend___PlmkG:hover{color:var(--seamless-accent,#3b82f6)}.verifyOTP-module__button___8pIuO{background-color:var(--seamless-accent,#2563eb);border:none;border-radius:.375rem;color:var(--seamless-accent-contrast,#fff);cursor:pointer;padding:.5rem;transition:background-color .2s;width:100%}.verifyOTP-module__button___8pIuO:hover{background-color:var(--seamless-accent-hover,#1d4ed8)}.verifyOTP-module__toggle___wbzVa{background:none;border:none;color:var(--seamless-accent-soft,#60a5fa);cursor:pointer;font-size:.875rem;margin-top:1.5rem;text-align:center;width:100%}");var We="otpInput-module__otpContainer___MUjby",Ye="otpInput-module__otpInput___3YMVm";H(".otpInput-module__otpContainer___MUjby{display:flex;gap:8px;justify-content:center;margin-top:8px}.otpInput-module__otpInput___3YMVm{background:var(--seamless-surface-raised,#374151);border:1px solid var(--seamless-border,#4b5563);border-radius:8px;color:var(--seamless-text,#fff);font-size:1.2rem;height:48px;text-align:center;transition:border-color .15s ease,box-shadow .15s ease;width:42px}.otpInput-module__otpInput___3YMVm:focus{border-color:var(--seamless-accent,#60a5fa);box-shadow:0 0 0 2px var(--seamless-accent,rgba(96,165,250,.25));outline:none}");const Je=({length:e=6,value:o,inputMode:a="numeric",onChange:n,name:i="otp"})=>{const s=f([]),t=o.split("").concat(Array(e).fill("")).slice(0,e),l=(r,o)=>{const i=I(o,a).slice(0,e),l=[...t];i.forEach((o,a)=>{r+a<e&&(l[r+a]=o)}),n(l.join("")),s.current[Math.min(r+i.length,e-1)]?.focus()};return r("div",{className:We,role:"group","aria-label":"One-time password input",onPaste:e=>{e.preventDefault(),l(0,e.clipboardData.getData("text"))},children:t.map((o,c)=>r("input",{ref:e=>s.current[c]=e,type:"text",inputMode:"numeric"===a?"numeric":"text",autoComplete:"one-time-code",name:`${i}-${c}`,maxLength:1,value:o,className:Ye,onChange:e=>((e,r)=>{if(r.length>1)l(e,r);else if(!r||T(r,a)){const o=[...t];o[e]=r;const a=o.join("");n(a),r&&s.current[e+1]&&s.current[e+1]?.focus()}})(c,e.target.value),onKeyDown:r=>((r,o)=>{if("Backspace"===o.key){o.preventDefault();const e=[...t];t[r]?(e[r]="",n(e.join(""))):r>0&&(e[r-1]="",n(e.join("")),s.current[r-1]?.focus())}"ArrowLeft"===o.key&&r>0&&s.current[r-1]?.focus(),"ArrowRight"===o.key&&r<e-1&&s.current[r+1]?.focus()})(c,r),"aria-label":`Digit ${c+1}`},c))})},He=()=>{const o=n(),a=i(),{refreshSession:s}=d(),t="login"===a.state?.flow,[l,c]=g(""),[m,u]=g(null),[f,h]=g(""),[b,v]=g(!1),[y,k]=g(""),[x,w]=g(S),N=_(),P=async()=>{if(m)return;const{next:e,error:r}=await L({client:N,refreshSession:s},{channel:"phone",flow:t?"login":"register",code:l});if(null===r)return"verify_email"===e?(u(!0),void o(K)):void o("/");h(r)},C=async()=>{k(""),await(async()=>{h("");const{error:e}=await A(N,"phone",t?"login":"register");e?h(q("phone")):k("Verification SMS has been resent.")})(),k("Verification SMS has been resent.")};return p(()=>{const e=setInterval(()=>{w(e=>e>0?e-1:0)},1e3);return()=>clearInterval(e)},[]),r("div",{className:Le,children:e("div",{className:Ae,children:[r("h2",{className:qe,children:"Verify Your Phone Number"}),r("p",{className:Re,children:"Enter the code sent to your phone number."}),f&&r("p",{className:Ee,children:f}),y&&r("p",{className:je,children:y}),e("form",{onSubmit:async e=>{if(e.preventDefault(),h(""),l.length===z){v(!0);try{await P()}catch{h("Unexpected error occurred.")}finally{v(!1)}}else h("Please enter a valid code.")},className:Fe,children:[e("div",{children:[e("label",{htmlFor:"phoneCode",className:De,children:["Phone Verification Code ",(M=m,!0===M?r("span",{className:"text-green-400 ml-2",children:"✅"}):!1===M?r("span",{className:"text-red-400 ml-2",children:"❌"}):null)," -"," ",e("span",{className:Ge,children:["Code expires in: ",B(x)]})]}),r(Je,{length:6,value:l,onChange:c}),r("button",{type:"button",onClick:()=>C(),className:Ve,children:"Resend code to phone"})]}),r("button",{type:"submit",className:Ke,children:b?"Verifying...":"Verify & Continue"}),r("button",{type:"button",onClick:()=>o("/login"),className:Ue,children:"Back to login"})]})]})});var M},Qe=()=>{const o=n(),a=i(),{refreshSession:s}=d(),t=_(),{passkeySupported:l}=m(),c="login"===a.state?.flow,[u,f]=g(!1),[h,b]=g(""),[v,y]=g(S),[k,x]=g(""),[w,N]=g("");return p(()=>{const e=setInterval(()=>{y(e=>e>0?e-1:0)},1e3);return()=>clearInterval(e)},[]),r("div",{className:Le,children:e("div",{className:Ae,children:[r("h2",{className:qe,children:"Verify Your Email"}),r("p",{className:Re,children:"We sent you a verification email. Enter the code below."}),k&&r("p",{className:Ee,children:k}),w&&r("p",{className:je,children:w}),e("form",{onSubmit:async e=>{if(e.preventDefault(),x(""),h.length===z){f(!0);try{const{next:e,error:r}=await L({client:t,refreshSession:s},{channel:"email",flow:c?"login":"register",code:h,passkeySupported:l});if(null!==r)return void x(r);o("register_passkey"===e?Y:"/")}catch{console.error("Email OTP verification failed."),x("Verification failed.")}finally{f(!1)}}else x("Please enter a valid code.")},className:Fe,children:[e("div",{children:[e("label",{htmlFor:"emailCode",className:De,children:["Email Verification Code",e("span",{className:Ge,children:[" ","— Code expires in ",B(v)]})]}),r(Je,{length:6,value:h,onChange:b,inputMode:"text"}),r("button",{type:"button",onClick:async()=>{x(""),N("");const{error:e}=await A(t,"email",c?"login":"register");e?x(q("email")):N("Verification email has been resent.")},className:Ve,children:"Resend code to email"})]}),r("button",{type:"submit",className:Ke,disabled:u,children:u?"Verifying...":"Verify & Continue"}),r("button",{type:"button",onClick:()=>o("/login"),className:Ue,children:"Back to login"})]})]})})};var Xe={container:"verifyMagiclink-module__container___qrSXf",card:"verifyMagiclink-module__card___niKgr",title:"verifyMagiclink-module__title___SumxD",verificationContent:"verifyMagiclink-module__verificationContent___NdsS0",spinner:"verifyMagiclink-module__spinner___lnW1k",successIcon:"verifyMagiclink-module__successIcon___XjFEM",checkIcon:"verifyMagiclink-module__checkIcon___I0JOP",successText:"verifyMagiclink-module__successText___lO5Qq"};H(".verifyMagiclink-module__container___qrSXf{align-items:center;color:var(--seamless-text,#fff);display:flex;justify-content:center;padding:1rem}.verifyMagiclink-module__card___niKgr{background-color:var(--seamless-surface,#1f2937);border-radius:.5rem;box-shadow:0 0 10px var(--seamless-shadow,rgba(0,0,0,.3));max-width:28rem;padding:1.5rem;width:100%}.verifyMagiclink-module__title___SumxD{color:var(--seamless-text,#fff);font-size:1.5rem;font-weight:700;margin-bottom:1rem;text-align:center}.verifyMagiclink-module__verificationContent___NdsS0{align-items:center;display:flex;flex-direction:column;gap:14px;margin:20px 0}.verifyMagiclink-module__spinner___lnW1k{animation:verifyMagiclink-module__spin___2lGzj .9s linear infinite;border:3px solid var(--seamless-border,hsla(0,0%,100%,.15));border-radius:50%;border-top-color:var(--seamless-accent,#60a5fa);height:28px;width:28px}.verifyMagiclink-module__successIcon___XjFEM{align-items:center;background:rgba(16,185,129,.15);border-radius:50%;display:flex;height:36px;justify-content:center;width:36px}.verifyMagiclink-module__checkIcon___I0JOP{animation:verifyMagiclink-module__checkPop___-3qJu .25s ease-out;color:var(--seamless-success,#34d399);height:22px;width:22px}.verifyMagiclink-module__successText___lO5Qq{color:var(--seamless-success,#34d399);font-size:.9rem}@keyframes verifyMagiclink-module__checkPop___-3qJu{0%{opacity:0;transform:scale(.6)}80%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes verifyMagiclink-module__spin___2lGzj{to{transform:rotate(1turn)}}");const Ze=()=>{const[o]=s(),a=n(),i=o.get("token"),[t,l]=g(""),[c,m]=g(null),u=_(),{refreshSession:h}=d(),b=f(null);return p(()=>{let e=!0,r=null;return(async()=>{if(!i)return e&&l("Missing token for verification."),void console.error("No magic-link token found.");b.current?.token!==i&&(b.current={token:i,result:u.verifyMagicLink(i)});const{error:o}=await b.current.result;if(!e)return;if(o)return console.error("Failed to verify token"),void l("Failed to verify token");const n=await R({client:u,refreshSession:h});e&&(m(n),"elsewhere"!==n&&(r=setTimeout(()=>{e&&a("/")},900)))})(),()=>{e=!1,r&&clearTimeout(r)}},[i,u,a,h]),r("div",{className:Xe.container,children:e("div",{className:Xe.card,children:[r("h1",{className:Xe.title,children:"Verifying your login"}),e("div",{className:Xe.verificationContent,children:[!c&&!t&&r("div",{className:Xe.spinner}),c&&r("div",{className:Xe.successIcon,children:r("svg",{viewBox:"0 0 24 24",className:Xe.checkIcon,fill:"none",stroke:"currentColor",strokeWidth:"2",children:r("path",{d:"M5 13l4 4L19 7"})})}),!c&&!t&&r("p",{className:Xe.helperText,children:"Please wait while we securely verify your sign-in link."}),"signed-in"===c&&r("p",{className:Xe.successText,children:"Login verified. Redirecting…"}),"elsewhere"===c&&r("p",{className:Xe.successText,children:"Login verified. Return to the device where you requested this link to continue."}),t&&r("p",{className:Xe.error,children:t})]})]})})},$e=()=>{const{finishOAuthLogin:a}=d(),i=n(),[t]=s(),[l,c]=g(""),_=f(!1);return p(()=>{_.current||(_.current=!0,E({finishOAuthLogin:a},t,window.location.origin).then(e=>{"error"!==e.kind?"enroll_passkey"!==e.kind?i(e.destination):i(Y,{state:{returnTo:e.returnTo}}):c(e.message)}))},[a,i,t]),e("div",{className:Xe.container,children:[r("h2",{className:Xe.title,children:l?"Sign-in failed":"Completing sign-in..."}),l&&e(o,{children:[r("p",{children:l}),r("button",{type:"button",onClick:()=>i("/login"),children:"Back to login"})]})]})};var er="magiclink-module__container___45zcA",rr="magiclink-module__card___Au9oN",or="magiclink-module__iconWrapper___k5ndr",ar="magiclink-module__mailIcon___Pwb7q",nr="magiclink-module__iconRing___bdLvf",ir="magiclink-module__heading___b9cre",sr="magiclink-module__message___kiVFj",tr="magiclink-module__identifier___JtcFM",lr="magiclink-module__helperText___7Mlfh",cr="magiclink-module__actions___64I-3",dr="magiclink-module__secondaryButton___BntAI",_r="magiclink-module__cooldown___Ib4rm",mr="magiclink-module__linkButton___maJiv";H(".magiclink-module__container___45zcA{align-items:center;color:var(--seamless-text,#fff);display:flex;justify-content:center}.magiclink-module__card___Au9oN{background-color:var(--seamless-surface,#1f2937);border-radius:.75rem;box-shadow:0 10px 25px var(--seamless-shadow,rgba(0,0,0,.25));max-width:420px;padding:2.5rem 2rem;text-align:center;width:100%}.magiclink-module__iconWrapper___k5ndr{display:flex;justify-content:center;margin-bottom:1.25rem;position:relative}.magiclink-module__mailIcon___Pwb7q{color:var(--seamless-accent-soft,#a5b4fc);height:38px;width:38px;z-index:2}.magiclink-module__iconRing___bdLvf{animation:magiclink-module__pulse___YGm-I 2s infinite;background:rgba(99,102,241,.15);border-radius:50%;height:72px;position:absolute;width:72px}@keyframes magiclink-module__pulse___YGm-I{0%{opacity:.8;transform:scale(.6)}70%{opacity:0;transform:scale(1.4)}to{opacity:0}}.magiclink-module__heading___b9cre{font-size:1.55rem;font-weight:600;margin-bottom:.75rem}.magiclink-module__message___kiVFj{color:var(--seamless-text-muted,#d1d5db);font-size:.95rem;line-height:1.4;margin-bottom:1rem}.magiclink-module__identifier___JtcFM{background:var(--seamless-surface-raised,hsla(0,0%,100%,.05));border-radius:6px;display:inline-block;font-size:1rem;font-weight:600;margin-bottom:1rem;padding:.45rem .6rem}.magiclink-module__helperText___7Mlfh{color:var(--seamless-text-muted,#9ca3af);font-size:.85rem;line-height:1.4;margin-bottom:.6rem}.magiclink-module__actions___64I-3{display:flex;flex-direction:column;gap:.6rem;margin-top:1.6rem}.magiclink-module__secondaryButton___BntAI{background:var(--seamless-surface,#111827);border:1px solid var(--seamless-border,#374151);border-radius:8px;color:var(--seamless-text,#fff);cursor:pointer;font-weight:500;padding:.65rem}.magiclink-module__secondaryButton___BntAI:hover:not(:disabled){background:var(--seamless-surface-hover,#1f2937)}.magiclink-module__secondaryButton___BntAI:disabled{cursor:not-allowed;opacity:.5}.magiclink-module__cooldown___Ib4rm{color:var(--seamless-text-muted,#9ca3af);font-size:.8rem}.magiclink-module__linkButton___maJiv{background:none;border:none;color:var(--seamless-accent-soft,#a5b4fc);cursor:pointer;font-size:.85rem;margin-top:.4rem}.magiclink-module__linkButton___maJiv:hover{text-decoration:underline}");const ur=()=>{const{refreshSession:o}=d(),a=n(),s=i(),t=_(),l=s.state?.identifier,[c,m]=g(j);p(()=>{const e=setInterval(()=>{m(e=>e>0?e-1:0)},1e3);return()=>clearInterval(e)},[]);return p(()=>F({client:t,refreshSession:o,onSignedIn:()=>a("/")}),[t,a,o]),r("div",{className:er,children:e("div",{className:rr,children:[e("div",{className:or,children:[r("div",{className:nr}),e("svg",{className:ar,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",children:[r("path",{d:"M4 6h16v12H4z"}),r("path",{d:"m4 6 8 6 8-6"})]})]}),r("h2",{className:ir,children:"Check your email"}),r("p",{className:sr,children:"If an account exists for this address, we sent a secure sign-in link."}),l&&r("div",{className:tr,children:l}),r("p",{className:lr,children:"Open the email and click the link to finish signing in."}),r("p",{className:lr,children:"Didn’t receive anything? Check your spam folder or try creating a new account."}),e("div",{className:cr,children:[r("button",{className:dr,disabled:c>0,onClick:async()=>{c>0||(await t.requestMagicLink(),m(j))},children:"Resend link"}),c>0&&e("div",{className:_r,children:["Available in ",c,"s"]}),r("button",{className:mr,onClick:()=>a("/login"),children:"Change email or phone"})]})]})})},gr=()=>e(t,{children:[r(l,{path:D,element:r(he,{})}),r(l,{path:G,element:r(ve,{})}),r(l,{path:V,element:r(He,{})}),r(l,{path:K,element:r(Qe,{})}),r(l,{path:U,element:r(Ze,{})}),r(l,{path:W,element:r($e,{})}),r(l,{path:Y,element:r(ze,{})}),r(l,{path:J,element:r(ur,{})}),r(l,{path:"*",element:r(c,{to:D,replace:!0})})]});export{gr as AuthRoutes};
3
3
  //# sourceMappingURL=routes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sources":["../src/authRoutePaths.ts","../../../node_modules/style-inject/dist/style-inject.es.js","../src/utils.ts","../src/components/AuthFallbackOptions.tsx","../src/components/OAuthProviderButtons.tsx","../src/views/Login.tsx","../src/views/PassKeyLogin.tsx","../src/views/PassKeyRegistration.tsx","../src/components/OtpInput.tsx","../src/views/PhoneRegistration.tsx","../src/views/EmailRegistration.tsx","../src/views/VerifyMagicLink.tsx","../src/views/OAuthCallback.tsx","../src/components/MagicLinkSent.tsx","../src/AuthRoutes.tsx"],"sourcesContent":[null,"function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n",null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["authRoutePaths","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","isValidEmail","email","normalized","trim","length","parts","split","localPart","domainPart","test","startsWith","endsWith","includes","isValidPhoneNumber","phone","phoneNumber","parsePhoneNumberFromString","isValid","AuthFallbackOptions","identifier","onMagicLink","onEmailOtp","onPhoneOtp","onPasskeyRetry","loginMethods","allowedMethods","Set","showMagicLink","has","showEmailOtp","Boolean","showPhoneOtp","showPasskeyRetry","_jsxs","className","styles","children","_jsx","onClick","OAUTH_PROVIDER_STORAGE_KEY","OAuthProviderButtons","listOAuthProviders","startOAuthLogin","finishOAuthLogin","ports","useAuth","callbackHref","useHref","providers","setProviders","useState","error","setError","useEffect","active","then","data","map","provider","async","providerId","sessionStorage","setItem","redirectUri","URL","window","location","origin","toString","outcome","oauthRedirect","open","authorizationUrl","code","state","handleSelect","id","name","Login","navigate","useNavigate","hasSignedInBefore","login","handlePasskeyLogin","authClient","useAuthClient","passkeySupported","usePasskeySupport","configuredMethods","useLoginMethods","setIdentifier","setEmail","mode","setMode","formErrors","setFormErrors","emailError","setEmailError","identifierError","setIdentifierError","showFallbackOptions","setShowFallbackOptions","setLoginMethods","canSubmit","_Fragment","onSubmit","e","preventDefault","loginStart","availableMethods","FALLBACK_LOGIN_METHODS","passkeyError","register","message","console","htmlFor","value","onChange","target","autoComplete","placeholder","onBlur","required","requestMagicLink","requestLoginEmailOtp","flow","requestLoginPhoneOtp","undefined","disabled","role","PassKeyLogin","runPasskeyLogin","container","card","title","button","POLICY_REFUSAL_MESSAGES","attachment_not_allowed","synced_passkey_not_allowed","authenticator_not_allowed","prf_required","PasskeyRegistration","refreshSession","loading","passkeySupportLoading","loginMethodsLoading","destination","returnTo","destinationFrom","useLocation","status","setStatus","setMessage","canSkip","hasNonPasskeyLoginMethod","finishWithoutPasskey","registerPasskey","attachment","platform","browser","deviceInfo","ua","navigator","userAgent","toLowerCase","brave","parseUserAgent","metadata","friendlyName","getPasskeyPolicyErrorCode","policyRefusalMessage","isUnauthenticated","OtpInput","inputMode","inputs","useRef","values","concat","Array","fill","slice","handleChange","index","input","char","handleBulkInput","newValueArr","newValue","join","current","focus","cleaned","replace","chars","forEach","i","Math","min","onPaste","clipboardData","getData","el","maxLength","onKeyDown","key","handleKeyDown","PhoneRegistration","isLoginFlow","phoneOtp","setPhoneOtp","phoneVerified","setPhoneVerified","setLoading","resendMsg","setResendMsg","phoneTimeLeft","setPhoneTimeLeft","verifyPhoneOTP","verifyLoginPhoneOtp","verifyPhoneOtp","handleResend","requestPhoneOtp","onResendPhone","interval","setInterval","prev","clearInterval","requestEmailOtp","nextStep","verified","seconds","floor","padStart","EmailRegistration","emailOtp","setEmailOtp","emailTimeLeft","setEmailTimeLeft","verifyLoginEmailOtp","verifyEmailOtp","VerifyMagicLink","searchParams","useSearchParams","token","get","setOutcome","verification","mounted","redirectTimeout","result","verifyMagicLink","channel","BroadcastChannel","postMessage","close","session","background","checkMagicLink","setTimeout","verify","clearTimeout","verificationContent","spinner","successIcon","viewBox","checkIcon","stroke","strokeWidth","d","helperText","successText","CODE_ERRORS","oauth_missing_email","oauth_email_not_verified","oauth_missing_subject","oauth_invalid_id_token","oauth_provider_retired","OAuthCallback","startedRef","getItem","finishError","getOAuthErrorCode","removeItem","pathname","search","hash","inAppPath","MagicLinkSent","cooldown","setCooldown","timer","c","magicLinkCompleted","useCallback","onmessage","event","AuthRoutes","Routes","Route","path","element","Navigate","to"],"mappings":"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","x_google_ignoreList":[1]}
1
+ {"version":3,"file":"routes.js","sources":["../src/authRoutePaths.ts","../../../node_modules/style-inject/dist/style-inject.es.js","../src/components/AuthFallbackOptions.tsx","../src/components/OAuthProviderButtons.tsx","../src/views/Login.tsx","../src/views/PassKeyLogin.tsx","../src/views/PassKeyRegistration.tsx","../src/components/OtpInput.tsx","../src/views/PhoneRegistration.tsx","../src/views/EmailRegistration.tsx","../src/views/VerifyMagicLink.tsx","../src/views/OAuthCallback.tsx","../src/components/MagicLinkSent.tsx","../src/AuthRoutes.tsx"],"sourcesContent":[null,"function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n",null,null,null,null,null,null,null,null,null,null,null,null],"names":["authRoutePaths","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","AuthFallbackOptions","identifier","onMagicLink","onEmailOtp","onPhoneOtp","onPasskeyRetry","loginMethods","options","fallbackSignInOptions","emailOtp","Boolean","passkeyRetry","hasFallbackSignInOption","_jsxs","className","styles","children","_jsx","magicLink","onClick","phoneOtp","OAuthProviderButtons","listOAuthProviders","startOAuthLogin","finishOAuthLogin","ports","useAuth","callbackHref","useHref","OAUTH_CALLBACK_PATH","providers","setProviders","useState","error","setError","useEffect","active","then","data","length","map","provider","async","providerId","redirectUri","URL","window","location","origin","toString","startOAuthSignIn","actions","oauthRedirect","handleSelect","id","name","Login","navigate","useNavigate","hasSignedInBefore","login","handlePasskeyLogin","authClient","useAuthClient","passkeySupported","usePasskeySupport","configuredMethods","useLoginMethods","setIdentifier","email","setEmail","mode","setMode","formErrors","setFormErrors","emailError","setEmailError","identifierError","setIdentifierError","showFallbackOptions","setShowFallbackOptions","setLoginMethods","canSubmit","isValidEmail","isValidPhoneNumber","_Fragment","onSubmit","e","preventDefault","step","beginSignIn","kind","message","passkeyFailed","PASSKEY_SIGN_IN_FAILED","registerWithEmail","register","console","htmlFor","value","onChange","target","autoComplete","placeholder","onBlur","isValid","required","requestMagicLink","state","requestLoginEmailOtp","flow","requestLoginPhoneOtp","undefined","disabled","role","PassKeyLogin","runPasskeyLogin","container","card","title","passkeyError","button","PasskeyRegistration","refreshSession","loading","passkeySupportLoading","loginMethodsLoading","destination","safeReturnPath","useLocation","returnTo","status","setStatus","setMessage","canSkip","hasNonPasskeyLoginMethod","finishWithoutPasskey","registerPasskey","attachment","enrollPasskey","client","OtpInput","inputMode","inputs","useRef","values","split","concat","Array","fill","slice","handleBulkInput","index","input","chars","otpCharacters","newValueArr","forEach","char","i","join","current","Math","min","focus","onPaste","clipboardData","getData","el","maxLength","isOtpCharacter","newValue","handleChange","onKeyDown","key","handleKeyDown","PhoneRegistration","isLoginFlow","setPhoneOtp","phoneVerified","setPhoneVerified","setLoading","resendMsg","setResendMsg","phoneTimeLeft","setPhoneTimeLeft","OTP_LIFETIME_SECONDS","verifyPhoneOTP","next","verifyOtp","channel","code","handleResend","requestOtp","otpResendFailedMessage","onResendPhone","interval","setInterval","prev","clearInterval","OTP_LENGTH","verified","formatCountdown","EmailRegistration","setEmailOtp","emailTimeLeft","setEmailTimeLeft","VerifyMagicLink","searchParams","useSearchParams","token","get","outcome","setOutcome","verification","mounted","redirectTimeout","result","verifyMagicLink","finishMagicLinkSignIn","setTimeout","verify","clearTimeout","verificationContent","spinner","successIcon","viewBox","checkIcon","stroke","strokeWidth","d","helperText","successText","OAuthCallback","startedRef","completeOAuthCallback","MagicLinkSent","cooldown","setCooldown","MAGIC_LINK_RESEND_COOLDOWN_SECONDS","timer","c","watchMagicLink","onSignedIn","AuthRoutes","Routes","Route","path","element","Navigate","to","replace"],"mappings":"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","x_google_ignoreList":[1]}
package/dist/utils.d.ts CHANGED
@@ -1,27 +1,6 @@
1
- /**
2
- * isValidEmail
3
- *
4
- * Determine if value is a valid email
5
- *
6
- * @param email - The email address to validate
7
- * @returns boolean - Whether the email is syntactically valid
8
- */
9
- export declare const isValidEmail: (email: string) => boolean;
10
- /**
11
- * isValidPhoneNumber
12
- *
13
- * Determine if the given string is a valid phone number or not
14
- * @param phone A phone number
15
- * @returns {boolean} - Is the phone number valid or not
16
- */
17
- export declare const isValidPhoneNumber: (phone: string) => boolean;
1
+ export { isValidEmail, isValidPhoneNumber, parseUserAgent } from '@seamless-auth/client';
18
2
  /**
19
3
  * Check for Passkey support
20
4
  * @returns {boolean} - If the current context supports passkeys
21
5
  */
22
6
  export declare function isPasskeySupported(): Promise<boolean>;
23
- export declare function parseUserAgent(): {
24
- platform: string;
25
- browser: string;
26
- deviceInfo: string;
27
- };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamless-auth/react",
3
- "version": "0.15.2",
3
+ "version": "0.15.3",
4
4
  "description": "A drop-in authentication solution for modern React applications.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -56,7 +56,7 @@
56
56
  }
57
57
  },
58
58
  "dependencies": {
59
- "@seamless-auth/client": "^0.3.2",
59
+ "@seamless-auth/client": "^0.4.0",
60
60
  "@seamless-auth/types": "^0.28.0",
61
61
  "@simplewebauthn/browser": "^13.1.0",
62
62
  "libphonenumber-js": "^1.12.7"
@@ -1,3 +0,0 @@
1
- 'use client';
2
- import{createContext as t,useContext as e,useMemo as s,useRef as a,useSyncExternalStore as r,useEffect as i,useState as o}from"react";import{jsx as n}from"react/jsx-runtime";import{createBrowserOAuthRedirect as c,createBrowserPasskeyPort as l,createAuthSession as u}from"@seamless-auth/client";const p=t(void 0),d=()=>{const t=e(p);if(!t)throw new Error("useAuth must be used within an AuthProvider");return t},h=({children:t,apiHost:e,autoDetectPreviousSignin:o=!0,magicLinkRedirectUri:d,transport:h,ports:g,initialSession:k})=>{const y=s(()=>({passkeys:g?.passkeys??l(),oauthRedirect:g?.oauthRedirect??c()}),[g?.passkeys,g?.oauthRedirect]),{mode:m,basePath:S,tokenStorage:f,fetch:v}=h??{},b=s(()=>h?{mode:m,basePath:S,tokenStorage:f,fetch:v}:void 0,[m,S,f,v]),P=a(k),R=s(()=>u({apiHost:e,magicLinkRedirectUri:d,transport:b,passkeys:y.passkeys,detectPreviousSignIn:o,initialSession:P.current}),[e,d,b,y.passkeys,o]),w=r(R.subscribe,R.getState,R.getServerState);i(()=>{R.actions.refreshSession({background:void 0!==P.current})},[R]);const A=s(()=>({...w,...R.actions,apiHost:e,magicLinkRedirectUri:d,client:R.client,ports:y}),[w,R,e,d,y]);return n(p.Provider,{value:A,children:t})},g=()=>d().client,k=["passkey","magic_link"],y=()=>{const t=g(),[e,s]=o(null),[a,r]=o(!0);return i(()=>{let e=!0;return(async()=>{try{const{data:a,error:r}=await t.getPublicSystemConfig();e&&!r&&a?.loginMethods?.length&&s(a.loginMethods)}catch{}finally{e&&r(!1)}})(),()=>{e=!1}},[t]),{loginMethods:e,loading:a}},m=t=>Boolean(t?.some(t=>"passkey"!==t)),S=()=>{const{ports:t}=d(),[e,s]=o(!1),[a,r]=o(!0);return i(()=>{let e=!0;return(async()=>{try{const a=t.passkeys.isSupported()&&await t.passkeys.isPlatformAuthenticatorAvailable();e&&s(a)}catch{e&&s(!1)}finally{e&&r(!1)}})(),()=>{e=!1}},[t.passkeys]),{passkeySupported:e,loading:a}};export{h as A,k as F,g as a,y as b,S as c,m as h,d as u};
3
- //# sourceMappingURL=shared-BzrBuR0z.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared-BzrBuR0z.js","sources":["../../src/AuthProvider.tsx","../../src/hooks/useAuthClient.ts","../../src/hooks/useLoginMethods.ts","../../src/hooks/usePasskeySupport.ts"],"sourcesContent":[null,null,null,null],"names":["AuthContext","createContext","undefined","useAuth","context","useContext","Error","AuthProvider","children","apiHost","autoDetectPreviousSignin","magicLinkRedirectUri","transport","ports","providedPorts","initialSession","useMemo","passkeys","createBrowserPasskeyPort","oauthRedirect","createBrowserOAuthRedirect","mode","basePath","tokenStorage","fetch","fetchImpl","stableTransport","initialSessionRef","useRef","session","createAuthSession","detectPreviousSignIn","current","state","useSyncExternalStore","subscribe","getState","getServerState","useEffect","actions","refreshSession","background","value","client","_jsx","Provider","useAuthClient","FALLBACK_LOGIN_METHODS","useLoginMethods","authClient","loginMethods","setLoginMethods","useState","loading","setLoading","active","async","data","error","getPublicSystemConfig","length","read","hasNonPasskeyLoginMethod","Boolean","some","method","usePasskeySupport","passkeySupported","setPasskeySupported","supported","isSupported","isPlatformAuthenticatorAvailable","checkSupport"],"mappings":";sSA4GA,MAAMA,EAAcC,OAA2CC,GAMlDC,EAAU,KACrB,MAAMC,EAAUC,EAAWL,GAC3B,IAAKI,EACH,MAAM,IAAIE,MAAM,+CAElB,OAAOF,GA6BIG,EAA4C,EACvDC,WACAC,UACAC,4BAA2B,EAC3BC,uBACAC,YACAC,MAAOC,EACPC,qBAKA,MAAMF,EAAQG,EACZ,KAAA,CACEC,SAAUH,GAAeG,UAAYC,IACrCC,cAAeL,GAAeK,eAAiBC,MAEjD,CAACN,GAAeG,SAAUH,GAAeK,iBAGrCE,KAAEA,EAAIC,SAAEA,EAAQC,aAAEA,EAAcC,MAAOC,GAAcb,GAAa,CAAA,EAClEc,EAAkBV,EACtB,IAAOJ,EAAY,CAAES,OAAMC,WAAUC,eAAcC,MAAOC,QAAcvB,EAExE,CAACmB,EAAMC,EAAUC,EAAcE,IAM3BE,EAAoBC,EAAOb,GAE3Bc,EAAUb,EACd,IACEc,EAAkB,CAChBrB,UACAE,uBACAC,UAAWc,EACXT,SAAUJ,EAAMI,SAChBc,qBAAsBrB,EACtBK,eAAgBY,EAAkBK,UAEtC,CACEvB,EACAE,EACAe,EACAb,EAAMI,SACNP,IAOEuB,EAAQC,EACZL,EAAQM,UACRN,EAAQO,SACRP,EAAQQ,gBAcVC,EAAU,KACHT,EAAQU,QAAQC,eAAe,CAClCC,gBAA0CvC,IAA9ByB,EAAkBK,WAE/B,CAACH,IAEJ,MAAMa,EAAQ1B,EACZ,KAAA,IACKiB,KACAJ,EAAQU,QACX9B,UACAE,uBACAgC,OAAQd,EAAQc,OAChB9B,UAEF,CAACoB,EAAOJ,EAASpB,EAASE,EAAsBE,IAGlD,OAAO+B,EAAC5C,EAAY6C,SAAQ,CAACH,MAAOA,EAAKlC,SAAGA,KChOjCsC,EAAgB,IACpB3C,IAAUwC,OCINI,EAAwC,CAAC,UAAW,cAWpDC,EAAkB,KAC7B,MAAMC,EAAaH,KACZI,EAAcC,GAAmBC,EAA+B,OAChEC,EAASC,GAAcF,GAAS,GA8BvC,OA5BAd,EAAU,KACR,IAAIiB,GAAS,EAsBb,MApBaC,WACX,IACE,MAAMC,KAAEA,EAAIC,MAAEA,SAAgBT,EAAWU,wBAErCJ,IAAWG,GAASD,GAAMP,cAAcU,QAC1CT,EAAgBM,EAAKP,aAEzB,CAAE,MAIF,SACMK,GACFD,GAAW,EAEf,GAGGO,GAEE,KACLN,GAAS,IAEV,CAACN,IAEG,CAAEC,eAAcG,YAUZS,EAA4BZ,GACvCa,QAAQb,GAAcc,KAAKC,GAAqB,YAAXA,IC/D1BC,EAAoB,KAC/B,MAAMrD,MAAEA,GAAUV,KACXgE,EAAkBC,GAAuBhB,GAAS,IAClDC,EAASC,GAAcF,GAAS,GA+BvC,OA7BAd,EAAU,KACR,IAAIiB,GAAS,EAuBb,MArBqBC,WACnB,IACE,MAAMa,EACJxD,EAAMI,SAASqD,qBACRzD,EAAMI,SAASsD,mCACpBhB,GACFa,EAAoBC,EAExB,CAAE,MACId,GACFa,GAAoB,EAExB,SACMb,GACFD,GAAW,EAEf,GAGGkB,GAEE,KACLjB,GAAS,IAEV,CAAC1C,EAAMI,WAEH,CAAEkD,mBAAkBd"}