@seamless-auth/react 0.5.0 → 0.6.0

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.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 1917ed7: Remove the admin bootstrap invite path from registration.
8
+
9
+ The Seamless Auth API dropped the bootstrap invite flow, so `POST /registration/register` no longer accepts a `bootstrapToken`. The field was silently stripped by the API's non-strict body schema, which made the client code dead: the bundled login screen read a `bootstrapToken` query parameter and forwarded it, and the value went nowhere.
10
+
11
+ BREAKING: `RegisterInput.bootstrapToken` is gone. It was optional, so callers that never set it need no change. Callers that did pass it should drop the field, since nothing on the server consumed it.
12
+
3
13
  ## 0.5.0
4
14
 
5
15
  ### Minor Changes
package/README.md CHANGED
@@ -404,7 +404,7 @@ For production providers, configure exact `redirectUris` on the Seamless Auth AP
404
404
  send the callback URL it expects to receive, but redirect allowlisting, signed state expiry, OIDC
405
405
  nonce handling, email verification policy, and account-linking policy are enforced by the API.
406
406
 
407
- The built-in views avoid logging OTPs, magic-link tokens, bootstrap tokens, PRF salts, or raw
407
+ The built-in views avoid logging OTPs, magic-link tokens, PRF salts, or raw
408
408
  exception payloads that may contain sensitive request URLs.
409
409
 
410
410
  ## Headless Client
@@ -17,7 +17,6 @@ export interface LoginStartResult {
17
17
  export interface RegisterInput {
18
18
  email: string;
19
19
  phone?: string | null;
20
- bootstrapToken?: string | null;
21
20
  }
22
21
  export interface PasskeyMetadata {
23
22
  friendlyName: string;
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{jsx as e,jsxs as t,Fragment as o}from"react/jsx-runtime";import{browserSupportsWebAuthn as i,bufferToBase64URLString as n,base64URLStringToBuffer as r,startAuthentication as a,startRegistration as s,WebAuthnError as l}from"@simplewebauthn/browser";import{useState as d,useEffect as c,createContext as u,useMemo as _,useCallback as m,useContext as g,useRef as p}from"react";import{useHref as f,useNavigate as h,useLocation as y,useSearchParams as b,Routes as k,Route as v,Navigate as w}from"react-router-dom";import x from"libphonenumber-js";class P extends Error{constructor(e,t,o){super(e),this.name="SeamlessAuthError",this.status=t,this.body=o}}async function S(e,t){let o;try{o=await e.json()}catch{o=void 0}return new P(function(e){if("object"!=typeof e||null===e)return;const{error:t,message:o}=e;return"string"==typeof t&&t?t:"string"==typeof o&&o?o:void 0}(o)??t,e.status,o)}async function N(e){try{return await e.json()}catch{return}}async function O(e,t){let o;try{o=await e}catch{return{data:null,error:new P(t,0)}}return o.ok?{data:await N(o),error:null}:{data:null,error:await S(o,t)}}function T(e){return{data:e,error:null}}function C(e,t=0,o){return{data:null,error:new P(e,t,o)}}function I(e){if(e instanceof ArrayBuffer)return e;const t=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),o=new Uint8Array(t.byteLength);return o.set(t),o.buffer}function M(e){return"string"==typeof e?e:n(I(e))}function A(e){return"string"==typeof e?r(e):e}function z(e){return{...e.credentialId?{credentialId:e.credentialId}:{},prf:{salt:M(e.salt),...e.secondSalt?{secondSalt:M(e.secondSalt)}:{}}}}async function E(){return!!i()&&("undefined"==typeof window||!1!==window.isSecureContext)&&void 0!==globalThis.PublicKeyCredential&&"undefined"!=typeof navigator&&"function"==typeof navigator.credentials?.get}function F(e){const t=e,o=t.extensions?.prf?.eval;return o?{...t,extensions:{...t.extensions,prf:{...t.extensions?.prf,eval:{...o,...o.first?{first:A(o.first)}:{},...o.second?{second:A(o.second)}:{}}}}}:e}function L(e){const t=e.clientExtensionResults,o=t?.prf?.results?.first;if(!o)return null;const i=(r=o)instanceof ArrayBuffer?new Uint8Array(r):new Uint8Array(r.buffer,r.byteOffset,r.byteLength);var r;return{credentialId:e.id,output:i,outputBase64url:n(I(i))}}function U(e){const t=e.clientExtensionResults;return t?.prf?.results?{...e,clientExtensionResults:{...e.clientExtensionResults,prf:{...t.prf,results:void 0}}}:e}function R(e,t){const o=e.method===t?e.method:null;return"Success"===e.message&&!0===e.fresh&&null!==o?T({fresh:!0,method:o,verifiedAt:e.verifiedAt??null,expiresAt:e.expiresAt??null,maxAgeSeconds:e.maxAgeSeconds??0}):C(e.message??"Step-up authentication failed.")}function B(e){return e?{method:"POST",body:JSON.stringify(z(e))}:{method:"POST"}}const q=e=>{const t=(e=>{const{authHost:t}=e;return async function(e,o){const i=`${t?.replace(/\/+$/,"")??""}/auth${e.startsWith("/")?e:`/${e}`}`,n=null!=o?.body,r={...o,credentials:"include",headers:{...n?{"Content-Type":"application/json"}:{},...o?.headers}};return fetch(i,r)}})({authHost:e.apiHost});return{getCurrentUser:()=>O(t("users/me",{method:"GET"}),"Failed to load the current user."),login:e=>O(t("/login",{method:"POST",body:JSON.stringify(e)}),"Failed to start sign-in."),loginWithPasskey:async e=>{const o=await O(t("/webAuthn/login/start",{...B(e?.prf)}),"Failed to start passkey login.");if(o.error)return o;let i,n;try{const e=await a({optionsJSON:F(o.data)});i=L(e),n=U(e)}catch{return console.error("Passkey login error."),C("Passkey login failed.")}const r=await O(t("/webAuthn/login/finish",{method:"POST",body:JSON.stringify({assertionResponse:n})}),"Failed to verify passkey.");return r.error?r:"Success"!==r.data?.message?C(r.data?.message??"Passkey login failed."):T(i?{prf:i}:{})},logout:(e={})=>O(t("all_sessions"===e.scope?"/logout/all":"/logout",{method:"DELETE"}),"Failed to sign out."),logoutAllSessions:()=>O(t("/logout/all",{method:"DELETE"}),"Failed to sign out of all sessions."),deleteUser:()=>O(t("/users/delete",{method:"DELETE"}),"Failed to delete the account."),register:e=>O(t("/registration/register",{method:"POST",body:JSON.stringify({email:e.email,...e.phone?{phone:e.phone}:{},...e.bootstrapToken?{bootstrapToken:e.bootstrapToken}:{}})}),"Failed to register."),requestPhoneOtp:()=>O(t("/otp/generate-phone-otp",{method:"POST",body:JSON.stringify({})}),"Failed to send the SMS code."),verifyPhoneOtp:e=>O(t("/otp/verify-phone-otp",{method:"POST",body:JSON.stringify({verificationToken:e})}),"Failed to verify the SMS code."),requestLoginPhoneOtp:()=>O(t("/otp/generate-login-phone-otp",{method:"POST",body:JSON.stringify({})}),"Failed to send the SMS code."),verifyLoginPhoneOtp:e=>O(t("/otp/verify-login-phone-otp",{method:"POST",body:JSON.stringify({verificationToken:e})}),"Failed to verify the SMS code."),requestEmailOtp:()=>O(t("/otp/generate-email-otp",{method:"POST",body:JSON.stringify({})}),"Failed to send the email code."),verifyEmailOtp:e=>O(t("/otp/verify-email-otp",{method:"POST",body:JSON.stringify({verificationToken:e})}),"Failed to verify the email code."),requestLoginEmailOtp:()=>O(t("/otp/generate-login-email-otp",{method:"POST",body:JSON.stringify({})}),"Failed to send the email code."),verifyLoginEmailOtp:e=>O(t("/otp/verify-login-email-otp",{method:"POST",body:JSON.stringify({verificationToken:e})}),"Failed to verify the email code."),requestMagicLink:()=>O(t("/magic-link",{method:"POST",body:JSON.stringify({})}),"Failed to send the magic link."),checkMagicLink:()=>O(t("/magic-link/check",{method:"GET"}),"Failed to check the magic link."),verifyMagicLink:e=>O(t(`/magic-link/verify/${encodeURIComponent(e)}`,{method:"GET"}),"Failed to verify the magic link."),listOAuthProviders:()=>O(t("/oauth/providers",{method:"GET"}),"Failed to list OAuth providers."),startOAuthLogin:e=>O(t(`/oauth/${encodeURIComponent(e.providerId)}/start`,{method:"POST",body:JSON.stringify({...e.redirectUri?{redirectUri:e.redirectUri}:{},...e.returnTo?{returnTo:e.returnTo}:{}})}),"Failed to start OAuth login."),finishOAuthLogin:e=>O(t(`/oauth/${encodeURIComponent(e.providerId)}/callback`,{method:"POST",body:JSON.stringify({code:e.code,state:e.state})}),"Failed to finish OAuth login."),registerPasskey:async e=>{const o=function(e){return"metadata"in e?e:{metadata:e}}(e),i=await O(t(function(e){const t=new URLSearchParams;e.requirePrf?t.set("requirePrf","true"):e.requestPrf&&t.set("requestPrf","true");const o=t.toString();return"/webAuthn/register/start"+(o?`?${o}`:"")}(o),{method:"GET"}),"Failed to fetch passkey registration challenge.");if(i.error)return i;let n;try{n=await s({optionsJSON:i.data})}catch(e){return e instanceof l?C(e.name):(console.error("Passkey registration error."),C("Passkey registration failed."))}const r=function(e){const t=e.clientExtensionResults;return!0===t?.prf?.enabled}(n),a=await O(t("/webAuthn/register/finish",{method:"POST",body:JSON.stringify({attestationResponse:n,metadata:{...o.metadata,prfCapable:r}})}),"Verification failed.");return a.error?a:T({credentialId:n.id,prfCapable:r})},isPasskeyPrfSupported:E,getStepUpStatus:()=>O(t("/step-up/status",{method:"GET"}),"Failed to load step-up status."),verifyStepUpWithPasskey:async()=>{const e=await O(t("/step-up/webauthn/start",{method:"POST"}),"Failed to start step-up authentication.");if(e.error)return e;let o;try{o=U(await a({optionsJSON:F(e.data)}))}catch{return console.error("Step-up authentication error."),C("Step-up authentication failed.")}const i=await O(t("/step-up/webauthn/finish",{method:"POST",body:JSON.stringify({assertionResponse:o})}),"Failed to verify step-up authentication.");return i.error?i:R(i.data??{},"webauthn")},verifyStepUpWithPasskeyPrf:async e=>{const o=await O(t("/step-up/webauthn/start",{...B(e)}),"Failed to start step-up authentication.");if(o.error)return o;let i,n;try{const e=await a({optionsJSON:F(o.data)});i=L(e),n=U(e)}catch{return console.error("Step-up authentication error."),C("Step-up authentication failed.")}if(!i)return C("Passkey did not return PRF output.");const r=await O(t("/step-up/webauthn/finish",{method:"POST",body:JSON.stringify({assertionResponse:n})}),"Failed to verify step-up authentication.");if(r.error)return r;const s=R(r.data??{},"webauthn");return s.error?s:T({...s.data,credentialId:i.credentialId,prf:i})},getTotpStatus:()=>O(t("/totp/status",{method:"GET"}),"Failed to load authenticator status."),startTotpEnrollment:()=>O(t("/totp/enroll/start",{method:"POST"}),"Failed to start authenticator enrollment."),verifyTotpEnrollment:e=>O(t("/totp/enroll/verify",{method:"POST",body:JSON.stringify({code:e})}),"Failed to verify the authenticator code."),disableTotp:e=>O(t("/totp/disable",{method:"POST",body:JSON.stringify({code:e})}),"Failed to disable the authenticator."),verifyStepUpWithTotp:async e=>{const o=await O(t("/totp/verify-mfa",{method:"POST",body:JSON.stringify({code:e})}),"Failed to verify step-up authentication.");return o.error?o:R(o.data??{},"totp")},updateCredential:e=>O(t("users/credentials",{method:"POST",body:JSON.stringify(e)}),"Failed to update credential."),deleteCredential:e=>O(t("users/credentials",{method:"DELETE",body:JSON.stringify({id:e})}),"Failed to delete credential."),listOrganizations:()=>O(t("/organizations",{method:"GET"}),"Failed to list organizations."),createOrganization:e=>O(t("/organizations",{method:"POST",body:JSON.stringify(e)}),"Failed to create organization."),getOrganization:e=>O(t(`/organizations/${encodeURIComponent(e)}`,{method:"GET"}),"Failed to load organization."),updateOrganization:(e,o)=>O(t(`/organizations/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(o)}),"Failed to update organization."),switchOrganization:e=>O(t(`/organizations/${encodeURIComponent(e)}/switch`,{method:"POST"}),"Failed to switch organization."),listOrganizationMembers:e=>O(t(`/organizations/${encodeURIComponent(e)}/members`,{method:"GET"}),"Failed to list organization members."),addOrganizationMember:(e,o)=>O(t(`/organizations/${encodeURIComponent(e)}/members`,{method:"POST",body:JSON.stringify(o)}),"Failed to add organization member."),updateOrganizationMember:(e,o,i)=>O(t(`/organizations/${encodeURIComponent(e)}/members/${encodeURIComponent(o)}`,{method:"PATCH",body:JSON.stringify(i)}),"Failed to update organization member."),removeOrganizationMember:(e,o)=>O(t(`/organizations/${encodeURIComponent(e)}/members/${encodeURIComponent(o)}`,{method:"DELETE"}),"Failed to remove organization member.")}};function J(e,t){const o=e.trim(),i=t.trim();if(!o||!i)return!1;if(o===i)return!0;if(o.endsWith(":*")){const e=o.slice(0,-2);return i===e||i.startsWith(`${e}:`)}if(!i.includes(":"))return!1;if(!o.includes(":"))return i.startsWith(`${o}:`);const n=o.split(":"),r=i.split(":"),a=n[n.length-1],s=r[r.length-1],l=n.slice(0,-1),d=r.slice(0,-1);return"write"===a&&"read"===s&&l.length===d.length&&l.every((e,t)=>e===d[t])}function G(e,t){if(!Array.isArray(e))return!1;const o=e.filter(e=>"string"==typeof e);return(Array.isArray(t)?t:[t]).some(e=>o.some(t=>J(t,e)))}const j=u(void 0),W=()=>{const e=g(j);if(!e)throw new Error("useAuth must be used within an AuthProvider");return e},D=({children:t,apiHost:o,autoDetectPreviousSignin:i=!0})=>{const[n,r]=d(null),[a,s]=d([]),[l,u]=d([]),[g,p]=d(null),[f,h]=d(null),[y,b]=d(!1),[k,v]=d(!0),{hasSignedInBefore:w,markSignedIn:x}=function(e="seamlessauth_seen"){const[t,o]=d(!1);return c(()=>{try{"true"===localStorage.getItem(e)&&o(!0)}catch{}},[e]),{hasSignedInBefore:t,markSignedIn:()=>{try{localStorage.setItem(e,"true"),o(!0)}catch{}}}}(),P=_(()=>q({apiHost:o}),[o]),S=m(()=>{b(!1),r(null),s([]),u([]),p(null),h(null)},[]),N=m(async()=>{try{return await P.logout()}finally{S()}},[P,S]),O=m(async()=>{try{return await P.logoutAllSessions()}finally{S()}},[P,S]),T=m(async()=>{v(!0);const e=await P.getCurrentUser();return e.error?(await N(),v(!1),e):(r(e.data.user),s(e.data.credentials??[]),u(e.data.organizations??[]),p(e.data.activeOrganization??null),b(!0),v(!1),e)},[P,N]),C=m(async()=>{const e=await P.getStepUpStatus();return h(e.error?null:e.data),e},[P]),I=m(async()=>{const e=await P.verifyStepUpWithPasskey();return e.error||h(e.data),e},[P]),M=m(async e=>{const t=await P.verifyStepUpWithPasskeyPrf(e);return t.error||h({fresh:t.data.fresh,method:t.data.method,verifiedAt:t.data.verifiedAt,expiresAt:t.data.expiresAt,maxAgeSeconds:t.data.maxAgeSeconds}),t},[P]),A=m(async e=>{const t=await P.verifyStepUpWithTotp(e);return t.error||h(t.data),t},[P]);return c(()=>{T()},[T]),c(()=>{n&&y&&x()},[n,y,x]),e(j.Provider,{value:{user:n,logout:N,logoutAllSessions:O,refreshSession:T,loading:k,deleteUser:async()=>{const e=await P.deleteUser();return e.error||S(),e},isAuthenticated:y,hasRole:e=>n?.roles?.includes(e),hasScopedRole:e=>n?G(n.roles,e):void 0,apiHost:o,markSignedIn:x,hasSignedInBefore:!!i&&w,credentials:a,organizations:l,activeOrganization:g,switchOrganization:async e=>{const t=await P.switchOrganization(e);return t.error||await T(),t},listOAuthProviders:()=>P.listOAuthProviders(),startOAuthLogin:e=>P.startOAuthLogin(e),finishOAuthLogin:async e=>{const t=await P.finishOAuthLogin(e);return t.error||await T(),t},stepUpStatus:f,updateCredential:async e=>{const{data:t,error:o}=await P.updateCredential({friendlyName:e.friendlyName,id:e.id});if(o)return{data:null,error:o};const i=t.credential;return s(e=>e.map(e=>e.id===i.id?{...e,...i}:e)),{data:i,error:null}},deleteCredential:async e=>{const t=await P.deleteCredential(e);return t.error||s(t=>t.filter(t=>t.id!==e)),t},login:(e,t)=>P.login({identifier:e,passkeyAvailable:t}),handlePasskeyLogin:async()=>{const e=await P.loginWithPasskey();return e.error||await T(),e},refreshStepUpStatus:C,verifyStepUpWithPasskey:I,verifyStepUpWithPasskeyPrf:M,verifyStepUpWithTotp:A},children:t})},$=()=>{const{apiHost:e}=W();return _(()=>q({apiHost:e}),[e])},V=e=>{if("string"!=typeof e)return!1;const t=e.trim();if(t.length<3||t.length>320)return!1;const o=t.split("@");if(2!==o.length)return!1;const[i,n]=o;return!(!/^[A-Za-z0-9._%+-]+$/.test(i)||i.startsWith(".")||i.endsWith(".")||i.includes(".."))&&!(!/^[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/.test(n)||n.startsWith("-")||n.endsWith("-")||n.startsWith(".")||n.endsWith(".")||n.includes(".."))},K=e=>{const t=x(e);return t?.isValid()||!1};async function H(){return async function(){if("undefined"==typeof window)return!1;if(window.PublicKeyCredential&&"function"==typeof window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable)try{return await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()}catch{return console.error("Error checking passkey support."),!1}return!1}()}const Y=()=>{const[e,t]=d(!1),[o,i]=d(!0);return c(()=>{let e=!0;return(async()=>{try{const o=await H();e&&t(o)}catch{e&&t(!1)}finally{e&&i(!1)}})(),()=>{e=!1}},[]),{passkeySupported:e,loading:o}},Q="/login",Z="/passkey-login",X="/verify-phone-otp",ee="/verify-email-otp",te="/verify-magiclink",oe="/oauth/callback",ie="/register-passkey",ne="/magic-link-sent";function re(e,t){void 0===t&&(t={});var o=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===o&&i.firstChild?i.insertBefore(n,i.firstChild):i.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}var ae="login-module__container___YggDx",se="login-module__card___Ub-Py",le="login-module__heading___neEqb",de="login-module__inputGroup___P6qgS",ce="login-module__label___mx5vu",ue="login-module__input___U07lW",_e="login-module__helperText___kDQ4-",me="login-module__error___40zxh",ge="login-module__button___0kFBs",pe="login-module__toggle___1JiG1",fe="login-module__fallbackCard___HdIk-",he="login-module__fallbackHeader___-il2v",ye="login-module__fallbackDescription___ea5EB",be="login-module__fallbackActions___AD3ni",ke="login-module__fallbackActionButton___lFgWf",ve="login-module__actionTitle___ycrMp",we="login-module__actionSubtext___opaIV",xe="login-module__linkButton___5lsoe";re(".login-module__container___YggDx{align-items:center;color:#fff;display:flex;justify-content:center}.login-module__card___Ub-Py{background-color:#1f2937;border-radius:.5rem;box-shadow:0 4px 6px rgba(0,0,0,.1);max-width:28rem;padding:2rem;width:100%}.login-module__heading___neEqb{color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.login-module__message___qSejT{color:#68d391;text-align:center}.login-module__inputGroup___P6qgS{margin-bottom:1rem}.login-module__label___mx5vu{color:#d1d5db;display:block}.login-module__input___U07lW{background-color:#4b5563;border:1px solid #d1d5db;border-radius:.375rem;margin-top:.25rem;padding:.5rem;width:100%}.login-module__input___U07lW:focus{box-shadow:0 0 0 2px #3b82f6;outline:none}.login-module__helperText___kDQ4-{color:#9ca3af;font-size:.75rem;margin-top:.5rem}.login-module__error___40zxh{color:#f87171;font-size:.875rem}.login-module__button___0kFBs{background-color:#2563eb;border-radius:.375rem;color:#fff;cursor:pointer;margin-top:1rem;padding:.5rem;transition:background-color .3s;width:100%}.login-module__button___0kFBs:hover{background-color:#1d4ed8}.login-module__button___0kFBs:disabled{background-color:#9ca3af;cursor:not-allowed}.login-module__toggle___1JiG1{background:none;border:none;color:#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:#4b5563;border:1px solid #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:hsla(0,0%,100%,.04);border:1px solid 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:#f3f4f6;font-size:.95rem;font-weight:600}.login-module__fallbackDescription___ea5EB{color:#9ca3af;font-size:.85rem;line-height:1.4}.login-module__fallbackActions___AD3ni{display:flex;flex-direction:column;gap:10px}.login-module__fallbackActionButton___lFgWf{background:rgba(0,0,0,.25);border:1px solid 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:hsla(0,0%,100%,.06);border-color:hsla(0,0%,100%,.15)}.login-module__actionTitle___ycrMp{color:#f9fafb;font-size:.9rem;font-weight:500}.login-module__actionSubtext___opaIV{color:#9ca3af;font-size:.75rem;margin-top:2px}.login-module__linkButton___5lsoe{background:none;border:none;color:#60a5fa;cursor:pointer;font-size:.8rem;margin-top:6px}.login-module__linkButton___5lsoe:hover{text-decoration:underline}");const Pe=({identifier:o,onMagicLink:i,onEmailOtp:n,onPhoneOtp:r,onPasskeyRetry:a,loginMethods:s})=>{const l=new Set(s??["passkey","magic_link","phone_otp"]),d=l.has("magic_link")&&V(o),c=l.has("email_otp")&&Boolean(n)&&V(o),u=l.has("phone_otp")&&K(o),_=l.has("passkey")&&Boolean(a);return d||c||u||_?t("div",{className:fe,children:[e("div",{className:he,children:"Choose a sign-in method"}),e("p",{className:ye,children:"Choose another secure sign-in method."}),t("div",{className:be,children:[d&&t("button",{type:"button",className:ke,onClick:i,children:[e("span",{className:ve,children:"Email Magic Link"}),e("span",{className:we,children:"Send a secure sign-in link to your email"})]}),c&&t("button",{type:"button",className:ke,onClick:n,children:[e("span",{className:ve,children:"Email Code"}),e("span",{className:we,children:"Receive a one-time code by email"})]}),u&&t("button",{type:"button",className:ke,onClick:r,children:[e("span",{className:ve,children:"Text Message Code"}),e("span",{className:we,children:"Receive a one-time code via SMS"})]})]}),_&&e("button",{type:"button",className:xe,onClick:a,children:"Try passkey anyway"})]}):null},Se="seamless:oauth:provider",Ne=()=>{const{listOAuthProviders:o,startOAuthLogin:i}=W(),n=f("/oauth/callback"),[r,a]=d([]),[s,l]=d("");if(c(()=>{let e=!0;return o().then(({data:t})=>{e&&a(t?.providers??[])}),()=>{e=!1}},[o]),0===r.length)return null;return t("div",{className:be,children:[r.map(o=>e("button",{type:"button",className:ke,onClick:()=>(async e=>{l(""),sessionStorage.setItem(Se,e);const{data:t,error:o}=await i({providerId:e,redirectUri:new URL(n,window.location.origin).toString()});o?l("Could not start sign-in with this provider."):window.location.assign(t.authorizationUrl)})(o.id),children:t("span",{className:ve,children:["Continue with ",o.name]})},o.id)),s&&e("p",{className:me,children:s})]})},Oe=["passkey","magic_link","phone_otp"],Te=()=>{const i=h(),{hasSignedInBefore:n,login:r,handlePasskeyLogin:a}=W(),s=$(),{passkeySupported:l}=Y(),[u,_]=d(""),[m,g]=d(""),[p,f]=d("register"),[y,b]=d(""),[k,v]=d(""),[w,x]=d(""),[P,S]=d(!1),[N,O]=d(Oe),[T,C]=d(null);c(()=>{n&&f("login");const e=new URLSearchParams(window.location.search).get("bootstrapToken");e&&e.length>10&&C(e)},[n]);return e("div",{className:ae,children:t("div",{className:se,children:[e("h2",{className:le,children:"login"===p?"Sign In":"Create Account"}),t(o,{children:[t("form",{onSubmit:async e=>{e.preventDefault(),b(""),S(!1);try{if("login"===p){const{data:e,error:t}=await r(u,l);if(t)return void b("Failed to start sign-in. Please try again.");const o=e?.loginMethods?.length?e.loginMethods:Oe;if(O(o),l&&o.includes("passkey")){const{error:e}=await a();return e?(S(!0),void b("Passkey sign-in could not be completed. Choose another sign-in method.")):void i("/")}return void S(!0)}"register"===p&&await(async()=>{b("");const{data:e,error:t}=await s.register({email:m,bootstrapToken:T});t?b("Failed to register. Please try again."):"Success"===e.message?i(ee):b("An unexpected error occurred. Try again. If the problem persists, contact support.")})()}catch{console.error("Failed to continue sign-in."),b("Failed to continue sign-in. Please try again.")}},children:["login"===p&&t("div",{className:de,children:[e("label",{htmlFor:"identifier",className:ce,children:"Email Address / Phone Number"}),e("input",{id:"identifier",type:"text",value:u,onChange:e=>{const t=e.target.value;_(t)},autoComplete:"off",placeholder:"Email or Phone Number",className:ue,onBlur:()=>{if(u){const e=V(u)||K(u);x(e?"":"Please enter a valid email or phone number")}},required:!0}),e("p",{className:_e,children:"Phone numbers must include a country code e.g. +1"}),P&&e(Pe,{identifier:u,onMagicLink:async()=>{const{error:e}=await s.requestMagicLink();e?b("Failed to send magic link."):i(ne,{state:{identifier:u}})},onEmailOtp:async()=>{const{error:e}=await s.requestLoginEmailOtp();e?b("Failed to send email code."):i(ee,{state:{flow:"login"}})},onPhoneOtp:async()=>{const{error:e}=await s.requestLoginPhoneOtp();e?b("Failed to send OTP."):i(X,{state:{flow:"login"}})},onPasskeyRetry:l?a:void 0,loginMethods:N}),w&&e("p",{className:me,children:w})]}),"register"===p&&t("div",{className:de,children:[e("label",{htmlFor:"email",className:ce,children:"Email Address"}),e("input",{id:"email",type:"email",value:m,onChange:e=>{const t=e.target.value;g(t)},autoComplete:"off",className:ue,onBlur:()=>{if(m){const e=V(m);v(e?"":"Please enter a valid email")}},required:!0}),k&&e("p",{className:me,children:k})]}),e("button",{type:"submit",className:ge,disabled:!("login"===p&&u?V(u)||K(u):V(m)),children:"login"===p?"Login":"Register"}),y&&e("p",{className:me,children:y}),e("button",{type:"button",onClick:()=>f("login"===p?"register":"login"),className:pe,children:"login"===p?"Don't have an account? Create one":"Already have an account? Sign in"})]}),e(Ne,{})]})]})})};var Ce={container:"passKeyLogin-module__container___IUKxF",card:"passKeyLogin-module__card___2sKM1",title:"passKeyLogin-module__title___HZxvc",button:"passKeyLogin-module__button___FvR4I"};re(".passKeyLogin-module__container___IUKxF{align-items:center;color:#fff;display:flex;justify-content:center;padding:1rem}.passKeyLogin-module__card___2sKM1{background-color:#1f2937;border-radius:1rem;box-shadow:0 4px 20px 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:#fff;font-size:1.5rem;font-weight:600;text-align:center}.passKeyLogin-module__button___FvR4I{background-color:#2563eb;border:1px solid #3b82f6;border-radius:.5rem;color:#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:#1d4ed8}@media (max-width:480px){.passKeyLogin-module__card___2sKM1{padding:1.25rem}.passKeyLogin-module__button___FvR4I{font-size:1rem}}");const Ie=()=>{const o=h(),{handlePasskeyLogin:i}=W(),[n,r]=d("");return e("div",{className:Ce.container,children:t("div",{className:Ce.card,children:[e("h2",{className:Ce.title,children:"Login with Passkey"}),e("button",{onClick:async()=>{r("");const{error:e}=await i();e?r("Passkey sign-in could not be completed. Try another sign-in method."):o("/")},className:Ce.button,children:"Use Passkey"}),n&&e("p",{className:Ce.error,children:n})]})})};var Me="registerPasskey-module__container___jqEh8",Ae="registerPasskey-module__card___MJAyC",ze="registerPasskey-module__loading___Q4i1x",Ee="registerPasskey-module__spinner___V1nhd",Fe="registerPasskey-module__supported___ihTih",Le="registerPasskey-module__title___vn2Qu",Ue="registerPasskey-module__description___AWmO-",Re="registerPasskey-module__button___D3b4B",Be="registerPasskey-module__message___RiOw-",qe="registerPasskey-module__success___HP5aX",Je="registerPasskey-module__error___hGiqE";re(".registerPasskey-module__container___jqEh8{align-items:center;color:#fff;display:flex;justify-content:center;padding:1rem}.registerPasskey-module__card___MJAyC{background-color:#1f2937;border-radius:1rem;box-shadow:0 4px 20px rgba(0,0,0,.4);max-width:400px;padding:1.5rem;width:100%}.registerPasskey-module__loading___Q4i1x{align-items:center;background-color:#f9fafb;border-radius:.75rem;box-shadow:0 2px 8px rgba(0,0,0,.1);color:#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-color:#3b82f6 transparent;border-radius:9999px;border-style:solid;border-width:2px;height:1.5rem;width:1.5rem}@keyframes registerPasskey-module__spin___oYcsC{to{transform:rotate(1turn)}}.registerPasskey-module__supported___ihTih{background-color:#ecfdf5;border-radius:.75rem;box-shadow:0 2px 12px rgba(0,0,0,.1);color:#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:#059669;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1rem;transition:background-color .2s ease;width:100%}.registerPasskey-module__button___D3b4B:hover{background-color:#047857}.registerPasskey-module__message___RiOw-{font-size:.875rem;margin-top:1rem}.registerPasskey-module__success___HP5aX{color:#6ee7b7}.registerPasskey-module__error___hGiqE{color:#f87171}");var Ge="deviceNameModal-module__overlay___fmdPd",je="deviceNameModal-module__modal___uoEda",We="deviceNameModal-module__description___-HMTA",De="deviceNameModal-module__input___4vQMI",$e="deviceNameModal-module__actions___KXw7b",Ve="deviceNameModal-module__primary___9Ozlk",Ke="deviceNameModal-module__secondary___HILhc";re(".deviceNameModal-module__overlay___fmdPd{align-items:center;background:rgba(0,0,0,.45);display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.deviceNameModal-module__modal___uoEda{background:#1f2937;border-radius:12px;box-shadow:0 20px 40px rgba(0,0,0,.15);color:#fff;max-width:420px;padding:24px;width:100%}.deviceNameModal-module__description___-HMTA{color:#fff;font-size:14px;margin-bottom:16px}.deviceNameModal-module__input___4vQMI{border:1px solid #ddd;border-radius:8px;font-size:14px;margin-bottom:20px;padding:10px 12px;width:100%}.deviceNameModal-module__actions___KXw7b{display:flex;gap:10px;justify-content:flex-end}.deviceNameModal-module__primary___9Ozlk{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:8px 14px}.deviceNameModal-module__secondary___HILhc{background:transparent;border:1px solid #ccc;border-radius:8px;cursor:pointer;padding:8px 14px}");const He=({isOpen:o,onCancel:i,onConfirm:n})=>{const[r,a]=d("");return o?e("div",{className:Ge,children:t("div",{className:je,children:[e("h3",{children:"Name This Device"}),e("p",{className:We,children:"Give this passkey a friendly name so you can recognize it later."}),e("input",{type:"text",placeholder:"e.g., MacBook Pro, iPhone, YubiKey",value:r,onChange:e=>a(e.target.value),className:De,autoFocus:!0}),t("div",{className:$e,children:[e("button",{onClick:i,className:Ke,children:"Cancel"}),e("button",{onClick:()=>n(r.trim()),disabled:!r.trim(),className:Ve,children:"Continue"})]})]})}):null},Ye=()=>{const{refreshSession:i}=W(),n=$(),{passkeySupported:r,loading:a}=Y(),s=h(),[l,c]=d("idle"),[u,_]=d(""),[m,g]=d(!1),[p,f]=d(null);return t(o,{children:[e("div",{className:Me,children:e("div",{className:Ae,children:t("div",a||!r?{className:ze,children:[e("div",{className:Ee}),e("span",{children:a?"Checking for Passkey Support...":"Passkeys are not supported on this device."})]}:{className:Fe,children:[e("h2",{className:Le,children:"Secure Your Account with a Passkey"}),e("p",{className:Ue,children:"Your device supports passkeys! Register one to skip passwords forever."}),e("button",{onClick:()=>{const{platform:e,browser:t,deviceInfo:o}=function(){const e=navigator.userAgent.toLowerCase();let t="unknown",o="unknown";return/iphone|ipad|ipod/.test(e)?t="ios":/android/.test(e)?t="android":/mac os/.test(e)?t="mac":/windows/.test(e)?t="windows":/linux/.test(e)&&(t="linux"),navigator.brave?o="brave":/edg\/|edgios/.test(e)?o="edge":/opr\/|opt\/|opera/.test(e)?o="opera":/vivaldi/.test(e)?o="vivaldi":/samsungbrowser/.test(e)?o="samsung":/firefox|fxios/.test(e)?o="firefox":/chrome|crios/.test(e)?o="chrome":/safari/.test(e)&&(o="safari"),{platform:t,browser:o,deviceInfo:`${t} • ${o}`}}();f({platform:e,browser:t,deviceInfo:o}),g(!0)},disabled:"loading"===l,className:Re,children:"loading"===l?"Registering...":"Register Passkey"}),u&&e("p",{className:`${Be} ${"success"===l?qe:Je}`,children:u})]})})}),e(He,{isOpen:m,onCancel:()=>{g(!1),f(null)},onConfirm:async e=>{if(!p)return;const t={friendlyName:e,...p};c("loading");try{const{error:e}=await n.registerPasskey(t);if(e)throw e;await i(),c("success"),_("Passkey registered successfully."),s("/")}catch{console.error("Passkey registration failed."),c("error"),_("Error registering passkey.")}finally{g(!1),f(null)}}})]})};var Qe="verifyOTP-module__container___wgoDE",Ze="verifyOTP-module__card___3cs2p",Xe="verifyOTP-module__title___fZ-1d",et="verifyOTP-module__subtitle___dGSu3",tt="verifyOTP-module__error___GEtlG",ot="verifyOTP-module__success___46TjG",it="verifyOTP-module__form___jiGG-",nt="verifyOTP-module__label___Zq5Mi",rt="verifyOTP-module__timer___smq-a",at="verifyOTP-module__resend___PlmkG",st="verifyOTP-module__button___8pIuO",lt="verifyOTP-module__toggle___wbzVa";re(".verifyOTP-module__container___wgoDE{align-items:center;color:#fff;display:flex;justify-content:center;padding:1rem}.verifyOTP-module__card___3cs2p{background-color:#1f2937;border-radius:.5rem;box-shadow:0 0 10px rgba(0,0,0,.3);max-width:28rem;padding:1.5rem;width:100%}.verifyOTP-module__title___fZ-1d{color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:1rem;text-align:center}.verifyOTP-module__subtitle___dGSu3{color:#9ca3af;font-size:.875rem;margin-bottom:1.5rem;text-align:center}.verifyOTP-module__error___GEtlG{color:#f87171;margin-bottom:1rem;text-align:center}.verifyOTP-module__success___46TjG{color:#34d399;margin-bottom:.75rem;text-align:center}.verifyOTP-module__form___jiGG-{display:flex;flex-direction:column;gap:1rem}.verifyOTP-module__label___Zq5Mi{color:#d1d5db;display:block;font-size:.875rem;margin-bottom:.25rem}.verifyOTP-module__timer___smq-a{color:#facc15;font-size:.875rem}.verifyOTP-module__input___yqIXM{background-color:#374151;border:1px solid #4b5563;border-radius:.375rem;color:#fff;outline:none;padding:.5rem;width:100%}.verifyOTP-module__input___yqIXM:focus{box-shadow:0 0 0 2px #3b82f6}.verifyOTP-module__resend___PlmkG{background:none;border:none;color:#60a5fa;cursor:pointer;font-size:.75rem;margin-top:.25rem;text-decoration:underline}.verifyOTP-module__resend___PlmkG:hover{color:#3b82f6}.verifyOTP-module__button___8pIuO{background-color:#2563eb;border:none;border-radius:.375rem;color:#fff;cursor:pointer;padding:.5rem;transition:background-color .2s;width:100%}.verifyOTP-module__button___8pIuO:hover{background-color:#1d4ed8}.verifyOTP-module__toggle___wbzVa{background:none;border:none;color:#60a5fa;cursor:pointer;font-size:.875rem;margin-top:1.5rem;text-align:center;width:100%}");var dt="otpInput-module__otpContainer___MUjby",ct="otpInput-module__otpInput___3YMVm";re(".otpInput-module__otpContainer___MUjby{display:flex;gap:8px;justify-content:center;margin-top:8px}.otpInput-module__otpInput___3YMVm{background:#374151;border:1px solid #4b5563;border-radius:8px;color:#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:#60a5fa;box-shadow:0 0 0 2px rgba(96,165,250,.25);outline:none}");const ut=({length:t=6,value:o,inputMode:i="numeric",onChange:n,name:r="otp"})=>{const a=p([]),s=o.split("").concat(Array(t).fill("")).slice(0,t),l=(e,t)=>{var o;if(t.length>1)d(e,t);else if(!t||(o=t,"numeric"===i?/^\d$/.test(o):/^[a-zA-Z]$/.test(o))){const o=[...s];o[e]=t;const i=o.join("");n(i),t&&a.current[e+1]&&a.current[e+1]?.focus()}},d=(e,o)=>{let r=o;r="numeric"===i?o.replace(/\D/g,""):o.replace(/[^a-zA-Z]/g,"");const l=r.slice(0,t).split(""),d=[...s];l.forEach((o,i)=>{e+i<t&&(d[e+i]=o)}),n(d.join("")),a.current[Math.min(e+l.length,t-1)]?.focus()};return e("div",{className:dt,role:"group","aria-label":"One-time password input",onPaste:e=>{e.preventDefault(),d(0,e.clipboardData.getData("text"))},children:s.map((o,d)=>e("input",{ref:e=>a.current[d]=e,type:"text",inputMode:"numeric"===i?"numeric":"text",autoComplete:"one-time-code",name:`${r}-${d}`,maxLength:1,value:o,className:ct,onChange:e=>l(d,e.target.value),onKeyDown:e=>((e,o)=>{if("Backspace"===o.key){o.preventDefault();const t=[...s];s[e]?(t[e]="",n(t.join(""))):e>0&&(t[e-1]="",n(t.join("")),a.current[e-1]?.focus())}"ArrowLeft"===o.key&&e>0&&a.current[e-1]?.focus(),"ArrowRight"===o.key&&e<t-1&&a.current[e+1]?.focus()})(d,e),"aria-label":`Digit ${d+1}`},d))})},_t=()=>{const o=h(),i=y(),{refreshSession:n}=W(),r="login"===i.state?.flow,[a,s]=d(""),[l,u]=d(null),[_,m]=d(""),[g,p]=d(!1),[f,b]=d(""),[k,v]=d(300),w=$(),x=async()=>{if(p(!0),!l){const{error:e}=r?await w.verifyLoginPhoneOtp(a):await w.verifyPhoneOtp(a);if(e)m("Verification failed.");else{if(r)return await n(),void o("/");u(!0)}}p(!1)},P=async()=>{b(""),await(async()=>{m("");const{error:e}=r?await w.requestLoginPhoneOtp():await w.requestPhoneOtp();e?m("Failed to send SMS code. If this persists, refresh the page and try again."):b("Verification SMS has been resent.")})(),b("Verification SMS has been resent.")};return c(()=>{const e=setInterval(()=>{v(e=>e>0?e-1:0)},1e3);return()=>clearInterval(e)},[]),c(()=>{l&&!r&&(async()=>{const{error:e}=await w.requestEmailOtp();e?m("Failed to send Email code. If this persists, refresh the page and try registering again."):o(ee)})()},[l,r,o,w]),e("div",{className:Qe,children:t("div",{className:Ze,children:[e("h2",{className:Xe,children:"Verify Your Phone Number"}),e("p",{className:et,children:"Enter the code sent to your phone number."}),_&&e("p",{className:tt,children:_}),f&&e("p",{className:ot,children:f}),t("form",{onSubmit:async e=>{if(e.preventDefault(),m(""),6===a.length){p(!0);try{await x()}catch{m("Unexpected error occurred.")}finally{p(!1)}}else m("Please enter a valid code.")},className:it,children:[t("div",{children:[t("label",{htmlFor:"phoneCode",className:nt,children:["Phone Verification Code ",(N=l,!0===N?e("span",{className:"text-green-400 ml-2",children:"✅"}):!1===N?e("span",{className:"text-red-400 ml-2",children:"❌"}):null)," -"," ",t("span",{className:rt,children:["Code expires in: ",(S=k,`${Math.floor(S/60).toString().padStart(2,"0")}:${(S%60).toString().padStart(2,"0")}`)]})]}),e(ut,{length:6,value:a,onChange:s}),e("button",{type:"button",onClick:()=>P(),className:at,children:"Resend code to phone"})]}),e("button",{type:"submit",className:st,children:g?"Verifying...":"Verify & Continue"}),e("button",{type:"button",onClick:()=>o("/login"),className:lt,children:"Back to login"})]})]})});var S,N},mt=()=>{const o=h(),i=y(),{refreshSession:n}=W(),r=$(),{passkeySupported:a}=Y(),s="login"===i.state?.flow,[l,u]=d(!1),[_,m]=d(""),[g,p]=d(300),[f,b]=d(""),[k,v]=d("");return c(()=>{const e=setInterval(()=>{p(e=>e>0?e-1:0)},1e3);return()=>clearInterval(e)},[]),e("div",{className:Qe,children:t("div",{className:Ze,children:[e("h2",{className:Xe,children:"Verify Your Email"}),e("p",{className:et,children:"We sent you a verification email. Enter the code below."}),f&&e("p",{className:tt,children:f}),k&&e("p",{className:ot,children:k}),t("form",{onSubmit:async e=>{if(e.preventDefault(),b(""),6===_.length){u(!0);try{const{error:e}=s?await r.verifyLoginEmailOtp(_):await r.verifyEmailOtp(_);if(e)return void b("Verification failed.");if(s)return await n(),void o("/");a?o(ie):(await n(),o("/"))}catch{console.error("Email OTP verification failed."),b("Verification failed.")}finally{u(!1)}}else b("Please enter a valid code.")},className:it,children:[t("div",{children:[t("label",{htmlFor:"emailCode",className:nt,children:["Email Verification Code",t("span",{className:rt,children:[" ","— Code expires in ",(w=g,`${Math.floor(w/60).toString().padStart(2,"0")}:${(w%60).toString().padStart(2,"0")}`)]})]}),e(ut,{length:6,value:_,onChange:m,inputMode:"text"}),e("button",{type:"button",onClick:async()=>{b(""),v("");const{error:e}=s?await r.requestLoginEmailOtp():await r.requestEmailOtp();e?b("Failed to send Email code. If this persists, refresh the page and try again."):v("Verification email has been resent.")},className:at,children:"Resend code to email"})]}),e("button",{type:"submit",className:st,disabled:l,children:l?"Verifying...":"Verify & Continue"}),e("button",{type:"button",onClick:()=>o("/login"),className:lt,children:"Back to login"})]})]})});var w};var gt={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"};re(".verifyMagiclink-module__container___qrSXf{align-items:center;color:#fff;display:flex;justify-content:center;padding:1rem}.verifyMagiclink-module__card___niKgr{background-color:#1f2937;border-radius:.5rem;box-shadow:0 0 10px rgba(0,0,0,.3);max-width:28rem;padding:1.5rem;width:100%}.verifyMagiclink-module__title___SumxD{color:#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 hsla(0,0%,100%,.15);border-radius:50%;border-top-color:#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:#34d399;height:22px;width:22px}.verifyMagiclink-module__successText___lO5Qq{color:#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 pt=()=>{const[o]=b(),i=h(),n=o.get("token"),[r,a]=d(""),[s,l]=d(""),u=$(),{refreshSession:_}=W();return c(()=>{let e=!0,t=null,o=null;return(async()=>{if(!n)return e&&a("Missing token for verification."),void console.error("No magic-link token found.");const{error:r}=await u.verifyMagicLink(n);if(r)return console.error("Failed to verify token"),void(e&&a("Failed to verify token"));await _(),e&&(t=new BroadcastChannel("seamless-auth"),t.postMessage({type:"MAGIC_LINK_AUTH_SUCCESS"}),l("You have been verified on the device and browser that initiated this request"),o=setTimeout(()=>{e&&i("/")},900))})(),()=>{e=!1,t?.close(),o&&clearTimeout(o)}},[n,u,i,_]),e("div",{className:gt.container,children:t("div",{className:gt.card,children:[e("h1",{className:gt.title,children:"Verifying your login"}),t("div",{className:gt.verificationContent,children:[!s&&!r&&e("div",{className:gt.spinner}),s&&e("div",{className:gt.successIcon,children:e("svg",{viewBox:"0 0 24 24",className:gt.checkIcon,fill:"none",stroke:"currentColor",strokeWidth:"2",children:e("path",{d:"M5 13l4 4L19 7"})})}),!s&&!r&&e("p",{className:gt.helperText,children:"Please wait while we securely verify your sign-in link."}),s&&e("p",{className:gt.successText,children:"Login verified. Redirecting…"}),r&&e("p",{className:gt.error,children:r})]})]})})},ft=()=>{const{finishOAuthLogin:i}=W(),n=h(),[r]=b(),[a,s]=d(""),l=p(!1);return c(()=>{if(l.current)return;l.current=!0;const e=r.get("code"),t=r.get("state"),o=sessionStorage.getItem(Se);e&&t&&o?i({providerId:o,code:e,state:t}).then(({error:e})=>{e?s("We could not complete sign-in. Please try again."):(sessionStorage.removeItem(Se),n("/"))}):s("This sign-in link is missing required information.")},[i,n,r]),t("div",{className:gt.container,children:[e("h2",{className:gt.title,children:a?"Sign-in failed":"Completing sign-in..."}),a&&t(o,{children:[e("p",{children:a}),e("button",{type:"button",onClick:()=>n("/login"),children:"Back to login"})]})]})};var ht="magiclink-module__container___45zcA",yt="magiclink-module__card___Au9oN",bt="magiclink-module__iconWrapper___k5ndr",kt="magiclink-module__mailIcon___Pwb7q",vt="magiclink-module__iconRing___bdLvf",wt="magiclink-module__heading___b9cre",xt="magiclink-module__message___kiVFj",Pt="magiclink-module__identifier___JtcFM",St="magiclink-module__helperText___7Mlfh",Nt="magiclink-module__actions___64I-3",Ot="magiclink-module__secondaryButton___BntAI",Tt="magiclink-module__cooldown___Ib4rm",Ct="magiclink-module__linkButton___maJiv";re(".magiclink-module__container___45zcA{align-items:center;color:#fff;display:flex;justify-content:center}.magiclink-module__card___Au9oN{background-color:#1f2937;border-radius:.75rem;box-shadow:0 10px 25px 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:#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:#d1d5db;font-size:.95rem;line-height:1.4;margin-bottom:1rem}.magiclink-module__identifier___JtcFM{background: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:#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:#111827;border:1px solid #374151;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:.65rem}.magiclink-module__secondaryButton___BntAI:hover:not(:disabled){background:#1f2937}.magiclink-module__secondaryButton___BntAI:disabled{cursor:not-allowed;opacity:.5}.magiclink-module__cooldown___Ib4rm{color:#9ca3af;font-size:.8rem}.magiclink-module__linkButton___maJiv{background:none;border:none;color:#a5b4fc;cursor:pointer;font-size:.85rem;margin-top:.4rem}.magiclink-module__linkButton___maJiv:hover{text-decoration:underline}");const It=()=>{const{refreshSession:o}=W(),i=h(),n=y(),r=$(),a=n.state?.identifier,[s,l]=d(30);c(()=>{const e=setInterval(()=>{l(e=>e>0?e-1:0)},1e3);return()=>clearInterval(e)},[]);const u=m(async()=>{const{data:e,error:t}=await r.checkMagicLink();return!t&&"Success"===e?.message},[r]);return c(()=>{const e=new BroadcastChannel("seamless-auth");return e.onmessage=async e=>{"MAGIC_LINK_AUTH_SUCCESS"===e.data?.type&&await u()&&(await o(),i("/"))},()=>{e.close()}},[u,i,o]),c(()=>{const e=setInterval(async()=>{try{await u()&&(await o(),i("/"))}catch{}},5e3);return()=>clearInterval(e)},[u,o,i]),e("div",{className:ht,children:t("div",{className:yt,children:[t("div",{className:bt,children:[e("div",{className:vt}),t("svg",{className:kt,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",children:[e("path",{d:"M4 6h16v12H4z"}),e("path",{d:"m4 6 8 6 8-6"})]})]}),e("h2",{className:wt,children:"Check your email"}),e("p",{className:xt,children:"If an account exists for this address, we sent a secure sign-in link."}),a&&e("div",{className:Pt,children:a}),e("p",{className:St,children:"Open the email and click the link to finish signing in."}),e("p",{className:St,children:"Didn’t receive anything? Check your spam folder or try creating a new account."}),t("div",{className:Nt,children:[e("button",{className:Ot,disabled:s>0,onClick:async()=>{s>0||(await r.requestMagicLink(),l(30))},children:"Resend link"}),s>0&&t("div",{className:Tt,children:["Available in ",s,"s"]}),e("button",{className:Ct,onClick:()=>i("/login"),children:"Change email or phone"})]})]})})},Mt=()=>t(k,{children:[e(v,{path:Q,element:e(Te,{})}),e(v,{path:Z,element:e(Ie,{})}),e(v,{path:X,element:e(_t,{})}),e(v,{path:ee,element:e(mt,{})}),e(v,{path:te,element:e(pt,{})}),e(v,{path:oe,element:e(ft,{})}),e(v,{path:ie,element:e(Ye,{})}),e(v,{path:ne,element:e(It,{})}),e(v,{path:"*",element:e(w,{to:Q,replace:!0})})]});export{D as AuthProvider,Mt as AuthRoutes,P as SeamlessAuthError,q as createSeamlessAuthClient,M as encodePrfSalt,L as extractPasskeyPrfResult,G as hasScopedRole,E as isPasskeyPrfSupported,J as roleGrantsAccess,W as useAuth,$ as useAuthClient,Y as usePasskeySupport};
1
+ import{jsx as e,jsxs as t,Fragment as i}from"react/jsx-runtime";import{browserSupportsWebAuthn as o,bufferToBase64URLString as r,base64URLStringToBuffer as n,startAuthentication as a,startRegistration as s,WebAuthnError as l}from"@simplewebauthn/browser";import{useState as d,useEffect as c,createContext as u,useMemo as _,useCallback as m,useContext as g,useRef as p}from"react";import{useHref as f,useNavigate as h,useLocation as y,useSearchParams as b,Routes as v,Route as k,Navigate as w}from"react-router-dom";import x from"libphonenumber-js";class P extends Error{constructor(e,t,i){super(e),this.name="SeamlessAuthError",this.status=t,this.body=i}}async function S(e,t){let i;try{i=await e.json()}catch{i=void 0}return new P(function(e){if("object"!=typeof e||null===e)return;const{error:t,message:i}=e;return"string"==typeof t&&t?t:"string"==typeof i&&i?i:void 0}(i)??t,e.status,i)}async function N(e){try{return await e.json()}catch{return}}async function O(e,t){let i;try{i=await e}catch{return{data:null,error:new P(t,0)}}return i.ok?{data:await N(i),error:null}:{data:null,error:await S(i,t)}}function T(e){return{data:e,error:null}}function C(e,t=0,i){return{data:null,error:new P(e,t,i)}}function I(e){if(e instanceof ArrayBuffer)return e;const t=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),i=new Uint8Array(t.byteLength);return i.set(t),i.buffer}function M(e){return"string"==typeof e?e:r(I(e))}function A(e){return"string"==typeof e?n(e):e}function z(e){return{...e.credentialId?{credentialId:e.credentialId}:{},prf:{salt:M(e.salt),...e.secondSalt?{secondSalt:M(e.secondSalt)}:{}}}}async function E(){return!!o()&&("undefined"==typeof window||!1!==window.isSecureContext)&&void 0!==globalThis.PublicKeyCredential&&"undefined"!=typeof navigator&&"function"==typeof navigator.credentials?.get}function F(e){const t=e,i=t.extensions?.prf?.eval;return i?{...t,extensions:{...t.extensions,prf:{...t.extensions?.prf,eval:{...i,...i.first?{first:A(i.first)}:{},...i.second?{second:A(i.second)}:{}}}}}:e}function L(e){const t=e.clientExtensionResults,i=t?.prf?.results?.first;if(!i)return null;const o=(n=i)instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer,n.byteOffset,n.byteLength);var n;return{credentialId:e.id,output:o,outputBase64url:r(I(o))}}function U(e){const t=e.clientExtensionResults;return t?.prf?.results?{...e,clientExtensionResults:{...e.clientExtensionResults,prf:{...t.prf,results:void 0}}}:e}function R(e,t){const i=e.method===t?e.method:null;return"Success"===e.message&&!0===e.fresh&&null!==i?T({fresh:!0,method:i,verifiedAt:e.verifiedAt??null,expiresAt:e.expiresAt??null,maxAgeSeconds:e.maxAgeSeconds??0}):C(e.message??"Step-up authentication failed.")}function B(e){return e?{method:"POST",body:JSON.stringify(z(e))}:{method:"POST"}}const q=e=>{const t=(e=>{const{authHost:t}=e;return async function(e,i){const o=`${t?.replace(/\/+$/,"")??""}/auth${e.startsWith("/")?e:`/${e}`}`,r=null!=i?.body,n={...i,credentials:"include",headers:{...r?{"Content-Type":"application/json"}:{},...i?.headers}};return fetch(o,n)}})({authHost:e.apiHost});return{getCurrentUser:()=>O(t("users/me",{method:"GET"}),"Failed to load the current user."),login:e=>O(t("/login",{method:"POST",body:JSON.stringify(e)}),"Failed to start sign-in."),loginWithPasskey:async e=>{const i=await O(t("/webAuthn/login/start",{...B(e?.prf)}),"Failed to start passkey login.");if(i.error)return i;let o,r;try{const e=await a({optionsJSON:F(i.data)});o=L(e),r=U(e)}catch{return console.error("Passkey login error."),C("Passkey login failed.")}const n=await O(t("/webAuthn/login/finish",{method:"POST",body:JSON.stringify({assertionResponse:r})}),"Failed to verify passkey.");return n.error?n:"Success"!==n.data?.message?C(n.data?.message??"Passkey login failed."):T(o?{prf:o}:{})},logout:(e={})=>O(t("all_sessions"===e.scope?"/logout/all":"/logout",{method:"DELETE"}),"Failed to sign out."),logoutAllSessions:()=>O(t("/logout/all",{method:"DELETE"}),"Failed to sign out of all sessions."),deleteUser:()=>O(t("/users/delete",{method:"DELETE"}),"Failed to delete the account."),register:e=>O(t("/registration/register",{method:"POST",body:JSON.stringify({email:e.email,...e.phone?{phone:e.phone}:{}})}),"Failed to register."),requestPhoneOtp:()=>O(t("/otp/generate-phone-otp",{method:"POST",body:JSON.stringify({})}),"Failed to send the SMS code."),verifyPhoneOtp:e=>O(t("/otp/verify-phone-otp",{method:"POST",body:JSON.stringify({verificationToken:e})}),"Failed to verify the SMS code."),requestLoginPhoneOtp:()=>O(t("/otp/generate-login-phone-otp",{method:"POST",body:JSON.stringify({})}),"Failed to send the SMS code."),verifyLoginPhoneOtp:e=>O(t("/otp/verify-login-phone-otp",{method:"POST",body:JSON.stringify({verificationToken:e})}),"Failed to verify the SMS code."),requestEmailOtp:()=>O(t("/otp/generate-email-otp",{method:"POST",body:JSON.stringify({})}),"Failed to send the email code."),verifyEmailOtp:e=>O(t("/otp/verify-email-otp",{method:"POST",body:JSON.stringify({verificationToken:e})}),"Failed to verify the email code."),requestLoginEmailOtp:()=>O(t("/otp/generate-login-email-otp",{method:"POST",body:JSON.stringify({})}),"Failed to send the email code."),verifyLoginEmailOtp:e=>O(t("/otp/verify-login-email-otp",{method:"POST",body:JSON.stringify({verificationToken:e})}),"Failed to verify the email code."),requestMagicLink:()=>O(t("/magic-link",{method:"POST",body:JSON.stringify({})}),"Failed to send the magic link."),checkMagicLink:()=>O(t("/magic-link/check",{method:"GET"}),"Failed to check the magic link."),verifyMagicLink:e=>O(t(`/magic-link/verify/${encodeURIComponent(e)}`,{method:"GET"}),"Failed to verify the magic link."),listOAuthProviders:()=>O(t("/oauth/providers",{method:"GET"}),"Failed to list OAuth providers."),startOAuthLogin:e=>O(t(`/oauth/${encodeURIComponent(e.providerId)}/start`,{method:"POST",body:JSON.stringify({...e.redirectUri?{redirectUri:e.redirectUri}:{},...e.returnTo?{returnTo:e.returnTo}:{}})}),"Failed to start OAuth login."),finishOAuthLogin:e=>O(t(`/oauth/${encodeURIComponent(e.providerId)}/callback`,{method:"POST",body:JSON.stringify({code:e.code,state:e.state})}),"Failed to finish OAuth login."),registerPasskey:async e=>{const i=function(e){return"metadata"in e?e:{metadata:e}}(e),o=await O(t(function(e){const t=new URLSearchParams;e.requirePrf?t.set("requirePrf","true"):e.requestPrf&&t.set("requestPrf","true");const i=t.toString();return"/webAuthn/register/start"+(i?`?${i}`:"")}(i),{method:"GET"}),"Failed to fetch passkey registration challenge.");if(o.error)return o;let r;try{r=await s({optionsJSON:o.data})}catch(e){return e instanceof l?C(e.name):(console.error("Passkey registration error."),C("Passkey registration failed."))}const n=function(e){const t=e.clientExtensionResults;return!0===t?.prf?.enabled}(r),a=await O(t("/webAuthn/register/finish",{method:"POST",body:JSON.stringify({attestationResponse:r,metadata:{...i.metadata,prfCapable:n}})}),"Verification failed.");return a.error?a:T({credentialId:r.id,prfCapable:n})},isPasskeyPrfSupported:E,getStepUpStatus:()=>O(t("/step-up/status",{method:"GET"}),"Failed to load step-up status."),verifyStepUpWithPasskey:async()=>{const e=await O(t("/step-up/webauthn/start",{method:"POST"}),"Failed to start step-up authentication.");if(e.error)return e;let i;try{i=U(await a({optionsJSON:F(e.data)}))}catch{return console.error("Step-up authentication error."),C("Step-up authentication failed.")}const o=await O(t("/step-up/webauthn/finish",{method:"POST",body:JSON.stringify({assertionResponse:i})}),"Failed to verify step-up authentication.");return o.error?o:R(o.data??{},"webauthn")},verifyStepUpWithPasskeyPrf:async e=>{const i=await O(t("/step-up/webauthn/start",{...B(e)}),"Failed to start step-up authentication.");if(i.error)return i;let o,r;try{const e=await a({optionsJSON:F(i.data)});o=L(e),r=U(e)}catch{return console.error("Step-up authentication error."),C("Step-up authentication failed.")}if(!o)return C("Passkey did not return PRF output.");const n=await O(t("/step-up/webauthn/finish",{method:"POST",body:JSON.stringify({assertionResponse:r})}),"Failed to verify step-up authentication.");if(n.error)return n;const s=R(n.data??{},"webauthn");return s.error?s:T({...s.data,credentialId:o.credentialId,prf:o})},getTotpStatus:()=>O(t("/totp/status",{method:"GET"}),"Failed to load authenticator status."),startTotpEnrollment:()=>O(t("/totp/enroll/start",{method:"POST"}),"Failed to start authenticator enrollment."),verifyTotpEnrollment:e=>O(t("/totp/enroll/verify",{method:"POST",body:JSON.stringify({code:e})}),"Failed to verify the authenticator code."),disableTotp:e=>O(t("/totp/disable",{method:"POST",body:JSON.stringify({code:e})}),"Failed to disable the authenticator."),verifyStepUpWithTotp:async e=>{const i=await O(t("/totp/verify-mfa",{method:"POST",body:JSON.stringify({code:e})}),"Failed to verify step-up authentication.");return i.error?i:R(i.data??{},"totp")},updateCredential:e=>O(t("users/credentials",{method:"POST",body:JSON.stringify(e)}),"Failed to update credential."),deleteCredential:e=>O(t("users/credentials",{method:"DELETE",body:JSON.stringify({id:e})}),"Failed to delete credential."),listOrganizations:()=>O(t("/organizations",{method:"GET"}),"Failed to list organizations."),createOrganization:e=>O(t("/organizations",{method:"POST",body:JSON.stringify(e)}),"Failed to create organization."),getOrganization:e=>O(t(`/organizations/${encodeURIComponent(e)}`,{method:"GET"}),"Failed to load organization."),updateOrganization:(e,i)=>O(t(`/organizations/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(i)}),"Failed to update organization."),switchOrganization:e=>O(t(`/organizations/${encodeURIComponent(e)}/switch`,{method:"POST"}),"Failed to switch organization."),listOrganizationMembers:e=>O(t(`/organizations/${encodeURIComponent(e)}/members`,{method:"GET"}),"Failed to list organization members."),addOrganizationMember:(e,i)=>O(t(`/organizations/${encodeURIComponent(e)}/members`,{method:"POST",body:JSON.stringify(i)}),"Failed to add organization member."),updateOrganizationMember:(e,i,o)=>O(t(`/organizations/${encodeURIComponent(e)}/members/${encodeURIComponent(i)}`,{method:"PATCH",body:JSON.stringify(o)}),"Failed to update organization member."),removeOrganizationMember:(e,i)=>O(t(`/organizations/${encodeURIComponent(e)}/members/${encodeURIComponent(i)}`,{method:"DELETE"}),"Failed to remove organization member.")}};function J(e,t){const i=e.trim(),o=t.trim();if(!i||!o)return!1;if(i===o)return!0;if(i.endsWith(":*")){const e=i.slice(0,-2);return o===e||o.startsWith(`${e}:`)}if(!o.includes(":"))return!1;if(!i.includes(":"))return o.startsWith(`${i}:`);const r=i.split(":"),n=o.split(":"),a=r[r.length-1],s=n[n.length-1],l=r.slice(0,-1),d=n.slice(0,-1);return"write"===a&&"read"===s&&l.length===d.length&&l.every((e,t)=>e===d[t])}function G(e,t){if(!Array.isArray(e))return!1;const i=e.filter(e=>"string"==typeof e);return(Array.isArray(t)?t:[t]).some(e=>i.some(t=>J(t,e)))}const j=u(void 0),W=()=>{const e=g(j);if(!e)throw new Error("useAuth must be used within an AuthProvider");return e},D=({children:t,apiHost:i,autoDetectPreviousSignin:o=!0})=>{const[r,n]=d(null),[a,s]=d([]),[l,u]=d([]),[g,p]=d(null),[f,h]=d(null),[y,b]=d(!1),[v,k]=d(!0),{hasSignedInBefore:w,markSignedIn:x}=function(e="seamlessauth_seen"){const[t,i]=d(!1);return c(()=>{try{"true"===localStorage.getItem(e)&&i(!0)}catch{}},[e]),{hasSignedInBefore:t,markSignedIn:()=>{try{localStorage.setItem(e,"true"),i(!0)}catch{}}}}(),P=_(()=>q({apiHost:i}),[i]),S=m(()=>{b(!1),n(null),s([]),u([]),p(null),h(null)},[]),N=m(async()=>{try{return await P.logout()}finally{S()}},[P,S]),O=m(async()=>{try{return await P.logoutAllSessions()}finally{S()}},[P,S]),T=m(async()=>{k(!0);const e=await P.getCurrentUser();return e.error?(await N(),k(!1),e):(n(e.data.user),s(e.data.credentials??[]),u(e.data.organizations??[]),p(e.data.activeOrganization??null),b(!0),k(!1),e)},[P,N]),C=m(async()=>{const e=await P.getStepUpStatus();return h(e.error?null:e.data),e},[P]),I=m(async()=>{const e=await P.verifyStepUpWithPasskey();return e.error||h(e.data),e},[P]),M=m(async e=>{const t=await P.verifyStepUpWithPasskeyPrf(e);return t.error||h({fresh:t.data.fresh,method:t.data.method,verifiedAt:t.data.verifiedAt,expiresAt:t.data.expiresAt,maxAgeSeconds:t.data.maxAgeSeconds}),t},[P]),A=m(async e=>{const t=await P.verifyStepUpWithTotp(e);return t.error||h(t.data),t},[P]);return c(()=>{T()},[T]),c(()=>{r&&y&&x()},[r,y,x]),e(j.Provider,{value:{user:r,logout:N,logoutAllSessions:O,refreshSession:T,loading:v,deleteUser:async()=>{const e=await P.deleteUser();return e.error||S(),e},isAuthenticated:y,hasRole:e=>r?.roles?.includes(e),hasScopedRole:e=>r?G(r.roles,e):void 0,apiHost:i,markSignedIn:x,hasSignedInBefore:!!o&&w,credentials:a,organizations:l,activeOrganization:g,switchOrganization:async e=>{const t=await P.switchOrganization(e);return t.error||await T(),t},listOAuthProviders:()=>P.listOAuthProviders(),startOAuthLogin:e=>P.startOAuthLogin(e),finishOAuthLogin:async e=>{const t=await P.finishOAuthLogin(e);return t.error||await T(),t},stepUpStatus:f,updateCredential:async e=>{const{data:t,error:i}=await P.updateCredential({friendlyName:e.friendlyName,id:e.id});if(i)return{data:null,error:i};const o=t.credential;return s(e=>e.map(e=>e.id===o.id?{...e,...o}:e)),{data:o,error:null}},deleteCredential:async e=>{const t=await P.deleteCredential(e);return t.error||s(t=>t.filter(t=>t.id!==e)),t},login:(e,t)=>P.login({identifier:e,passkeyAvailable:t}),handlePasskeyLogin:async()=>{const e=await P.loginWithPasskey();return e.error||await T(),e},refreshStepUpStatus:C,verifyStepUpWithPasskey:I,verifyStepUpWithPasskeyPrf:M,verifyStepUpWithTotp:A},children:t})},$=()=>{const{apiHost:e}=W();return _(()=>q({apiHost:e}),[e])},V=e=>{if("string"!=typeof e)return!1;const t=e.trim();if(t.length<3||t.length>320)return!1;const i=t.split("@");if(2!==i.length)return!1;const[o,r]=i;return!(!/^[A-Za-z0-9._%+-]+$/.test(o)||o.startsWith(".")||o.endsWith(".")||o.includes(".."))&&!(!/^[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/.test(r)||r.startsWith("-")||r.endsWith("-")||r.startsWith(".")||r.endsWith(".")||r.includes(".."))},K=e=>{const t=x(e);return t?.isValid()||!1};async function H(){return async function(){if("undefined"==typeof window)return!1;if(window.PublicKeyCredential&&"function"==typeof window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable)try{return await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()}catch{return console.error("Error checking passkey support."),!1}return!1}()}const Y=()=>{const[e,t]=d(!1),[i,o]=d(!0);return c(()=>{let e=!0;return(async()=>{try{const i=await H();e&&t(i)}catch{e&&t(!1)}finally{e&&o(!1)}})(),()=>{e=!1}},[]),{passkeySupported:e,loading:i}},Q="/login",Z="/passkey-login",X="/verify-phone-otp",ee="/verify-email-otp",te="/verify-magiclink",ie="/oauth/callback",oe="/register-passkey",re="/magic-link-sent";function ne(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===i&&o.firstChild?o.insertBefore(r,o.firstChild):o.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}var ae="login-module__container___YggDx",se="login-module__card___Ub-Py",le="login-module__heading___neEqb",de="login-module__inputGroup___P6qgS",ce="login-module__label___mx5vu",ue="login-module__input___U07lW",_e="login-module__helperText___kDQ4-",me="login-module__error___40zxh",ge="login-module__button___0kFBs",pe="login-module__toggle___1JiG1",fe="login-module__fallbackCard___HdIk-",he="login-module__fallbackHeader___-il2v",ye="login-module__fallbackDescription___ea5EB",be="login-module__fallbackActions___AD3ni",ve="login-module__fallbackActionButton___lFgWf",ke="login-module__actionTitle___ycrMp",we="login-module__actionSubtext___opaIV",xe="login-module__linkButton___5lsoe";ne(".login-module__container___YggDx{align-items:center;color:#fff;display:flex;justify-content:center}.login-module__card___Ub-Py{background-color:#1f2937;border-radius:.5rem;box-shadow:0 4px 6px rgba(0,0,0,.1);max-width:28rem;padding:2rem;width:100%}.login-module__heading___neEqb{color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.login-module__message___qSejT{color:#68d391;text-align:center}.login-module__inputGroup___P6qgS{margin-bottom:1rem}.login-module__label___mx5vu{color:#d1d5db;display:block}.login-module__input___U07lW{background-color:#4b5563;border:1px solid #d1d5db;border-radius:.375rem;margin-top:.25rem;padding:.5rem;width:100%}.login-module__input___U07lW:focus{box-shadow:0 0 0 2px #3b82f6;outline:none}.login-module__helperText___kDQ4-{color:#9ca3af;font-size:.75rem;margin-top:.5rem}.login-module__error___40zxh{color:#f87171;font-size:.875rem}.login-module__button___0kFBs{background-color:#2563eb;border-radius:.375rem;color:#fff;cursor:pointer;margin-top:1rem;padding:.5rem;transition:background-color .3s;width:100%}.login-module__button___0kFBs:hover{background-color:#1d4ed8}.login-module__button___0kFBs:disabled{background-color:#9ca3af;cursor:not-allowed}.login-module__toggle___1JiG1{background:none;border:none;color:#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:#4b5563;border:1px solid #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:hsla(0,0%,100%,.04);border:1px solid 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:#f3f4f6;font-size:.95rem;font-weight:600}.login-module__fallbackDescription___ea5EB{color:#9ca3af;font-size:.85rem;line-height:1.4}.login-module__fallbackActions___AD3ni{display:flex;flex-direction:column;gap:10px}.login-module__fallbackActionButton___lFgWf{background:rgba(0,0,0,.25);border:1px solid 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:hsla(0,0%,100%,.06);border-color:hsla(0,0%,100%,.15)}.login-module__actionTitle___ycrMp{color:#f9fafb;font-size:.9rem;font-weight:500}.login-module__actionSubtext___opaIV{color:#9ca3af;font-size:.75rem;margin-top:2px}.login-module__linkButton___5lsoe{background:none;border:none;color:#60a5fa;cursor:pointer;font-size:.8rem;margin-top:6px}.login-module__linkButton___5lsoe:hover{text-decoration:underline}");const Pe=({identifier:i,onMagicLink:o,onEmailOtp:r,onPhoneOtp:n,onPasskeyRetry:a,loginMethods:s})=>{const l=new Set(s??["passkey","magic_link","phone_otp"]),d=l.has("magic_link")&&V(i),c=l.has("email_otp")&&Boolean(r)&&V(i),u=l.has("phone_otp")&&K(i),_=l.has("passkey")&&Boolean(a);return d||c||u||_?t("div",{className:fe,children:[e("div",{className:he,children:"Choose a sign-in method"}),e("p",{className:ye,children:"Choose another secure sign-in method."}),t("div",{className:be,children:[d&&t("button",{type:"button",className:ve,onClick:o,children:[e("span",{className:ke,children:"Email Magic Link"}),e("span",{className:we,children:"Send a secure sign-in link to your email"})]}),c&&t("button",{type:"button",className:ve,onClick:r,children:[e("span",{className:ke,children:"Email Code"}),e("span",{className:we,children:"Receive a one-time code by email"})]}),u&&t("button",{type:"button",className:ve,onClick:n,children:[e("span",{className:ke,children:"Text Message Code"}),e("span",{className:we,children:"Receive a one-time code via SMS"})]})]}),_&&e("button",{type:"button",className:xe,onClick:a,children:"Try passkey anyway"})]}):null},Se="seamless:oauth:provider",Ne=()=>{const{listOAuthProviders:i,startOAuthLogin:o}=W(),r=f("/oauth/callback"),[n,a]=d([]),[s,l]=d("");if(c(()=>{let e=!0;return i().then(({data:t})=>{e&&a(t?.providers??[])}),()=>{e=!1}},[i]),0===n.length)return null;return t("div",{className:be,children:[n.map(i=>e("button",{type:"button",className:ve,onClick:()=>(async e=>{l(""),sessionStorage.setItem(Se,e);const{data:t,error:i}=await o({providerId:e,redirectUri:new URL(r,window.location.origin).toString()});i?l("Could not start sign-in with this provider."):window.location.assign(t.authorizationUrl)})(i.id),children:t("span",{className:ke,children:["Continue with ",i.name]})},i.id)),s&&e("p",{className:me,children:s})]})},Oe=["passkey","magic_link","phone_otp"],Te=()=>{const o=h(),{hasSignedInBefore:r,login:n,handlePasskeyLogin:a}=W(),s=$(),{passkeySupported:l}=Y(),[u,_]=d(""),[m,g]=d(""),[p,f]=d("register"),[y,b]=d(""),[v,k]=d(""),[w,x]=d(""),[P,S]=d(!1),[N,O]=d(Oe);c(()=>{r&&f("login")},[r]);return e("div",{className:ae,children:t("div",{className:se,children:[e("h2",{className:le,children:"login"===p?"Sign In":"Create Account"}),t(i,{children:[t("form",{onSubmit:async e=>{e.preventDefault(),b(""),S(!1);try{if("login"===p){const{data:e,error:t}=await n(u,l);if(t)return void b("Failed to start sign-in. Please try again.");const i=e?.loginMethods?.length?e.loginMethods:Oe;if(O(i),l&&i.includes("passkey")){const{error:e}=await a();return e?(S(!0),void b("Passkey sign-in could not be completed. Choose another sign-in method.")):void o("/")}return void S(!0)}"register"===p&&await(async()=>{b("");const{data:e,error:t}=await s.register({email:m});t?b("Failed to register. Please try again."):"Success"===e.message?o(ee):b("An unexpected error occurred. Try again. If the problem persists, contact support.")})()}catch{console.error("Failed to continue sign-in."),b("Failed to continue sign-in. Please try again.")}},children:["login"===p&&t("div",{className:de,children:[e("label",{htmlFor:"identifier",className:ce,children:"Email Address / Phone Number"}),e("input",{id:"identifier",type:"text",value:u,onChange:e=>{const t=e.target.value;_(t)},autoComplete:"off",placeholder:"Email or Phone Number",className:ue,onBlur:()=>{if(u){const e=V(u)||K(u);x(e?"":"Please enter a valid email or phone number")}},required:!0}),e("p",{className:_e,children:"Phone numbers must include a country code e.g. +1"}),P&&e(Pe,{identifier:u,onMagicLink:async()=>{const{error:e}=await s.requestMagicLink();e?b("Failed to send magic link."):o(re,{state:{identifier:u}})},onEmailOtp:async()=>{const{error:e}=await s.requestLoginEmailOtp();e?b("Failed to send email code."):o(ee,{state:{flow:"login"}})},onPhoneOtp:async()=>{const{error:e}=await s.requestLoginPhoneOtp();e?b("Failed to send OTP."):o(X,{state:{flow:"login"}})},onPasskeyRetry:l?a:void 0,loginMethods:N}),w&&e("p",{className:me,children:w})]}),"register"===p&&t("div",{className:de,children:[e("label",{htmlFor:"email",className:ce,children:"Email Address"}),e("input",{id:"email",type:"email",value:m,onChange:e=>{const t=e.target.value;g(t)},autoComplete:"off",className:ue,onBlur:()=>{if(m){const e=V(m);k(e?"":"Please enter a valid email")}},required:!0}),v&&e("p",{className:me,children:v})]}),e("button",{type:"submit",className:ge,disabled:!("login"===p&&u?V(u)||K(u):V(m)),children:"login"===p?"Login":"Register"}),y&&e("p",{className:me,children:y}),e("button",{type:"button",onClick:()=>f("login"===p?"register":"login"),className:pe,children:"login"===p?"Don't have an account? Create one":"Already have an account? Sign in"})]}),e(Ne,{})]})]})})};var Ce={container:"passKeyLogin-module__container___IUKxF",card:"passKeyLogin-module__card___2sKM1",title:"passKeyLogin-module__title___HZxvc",button:"passKeyLogin-module__button___FvR4I"};ne(".passKeyLogin-module__container___IUKxF{align-items:center;color:#fff;display:flex;justify-content:center;padding:1rem}.passKeyLogin-module__card___2sKM1{background-color:#1f2937;border-radius:1rem;box-shadow:0 4px 20px 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:#fff;font-size:1.5rem;font-weight:600;text-align:center}.passKeyLogin-module__button___FvR4I{background-color:#2563eb;border:1px solid #3b82f6;border-radius:.5rem;color:#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:#1d4ed8}@media (max-width:480px){.passKeyLogin-module__card___2sKM1{padding:1.25rem}.passKeyLogin-module__button___FvR4I{font-size:1rem}}");const Ie=()=>{const i=h(),{handlePasskeyLogin:o}=W(),[r,n]=d("");return e("div",{className:Ce.container,children:t("div",{className:Ce.card,children:[e("h2",{className:Ce.title,children:"Login with Passkey"}),e("button",{onClick:async()=>{n("");const{error:e}=await o();e?n("Passkey sign-in could not be completed. Try another sign-in method."):i("/")},className:Ce.button,children:"Use Passkey"}),r&&e("p",{className:Ce.error,children:r})]})})};var Me="registerPasskey-module__container___jqEh8",Ae="registerPasskey-module__card___MJAyC",ze="registerPasskey-module__loading___Q4i1x",Ee="registerPasskey-module__spinner___V1nhd",Fe="registerPasskey-module__supported___ihTih",Le="registerPasskey-module__title___vn2Qu",Ue="registerPasskey-module__description___AWmO-",Re="registerPasskey-module__button___D3b4B",Be="registerPasskey-module__message___RiOw-",qe="registerPasskey-module__success___HP5aX",Je="registerPasskey-module__error___hGiqE";ne(".registerPasskey-module__container___jqEh8{align-items:center;color:#fff;display:flex;justify-content:center;padding:1rem}.registerPasskey-module__card___MJAyC{background-color:#1f2937;border-radius:1rem;box-shadow:0 4px 20px rgba(0,0,0,.4);max-width:400px;padding:1.5rem;width:100%}.registerPasskey-module__loading___Q4i1x{align-items:center;background-color:#f9fafb;border-radius:.75rem;box-shadow:0 2px 8px rgba(0,0,0,.1);color:#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-color:#3b82f6 transparent;border-radius:9999px;border-style:solid;border-width:2px;height:1.5rem;width:1.5rem}@keyframes registerPasskey-module__spin___oYcsC{to{transform:rotate(1turn)}}.registerPasskey-module__supported___ihTih{background-color:#ecfdf5;border-radius:.75rem;box-shadow:0 2px 12px rgba(0,0,0,.1);color:#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:#059669;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1rem;transition:background-color .2s ease;width:100%}.registerPasskey-module__button___D3b4B:hover{background-color:#047857}.registerPasskey-module__message___RiOw-{font-size:.875rem;margin-top:1rem}.registerPasskey-module__success___HP5aX{color:#6ee7b7}.registerPasskey-module__error___hGiqE{color:#f87171}");var Ge="deviceNameModal-module__overlay___fmdPd",je="deviceNameModal-module__modal___uoEda",We="deviceNameModal-module__description___-HMTA",De="deviceNameModal-module__input___4vQMI",$e="deviceNameModal-module__actions___KXw7b",Ve="deviceNameModal-module__primary___9Ozlk",Ke="deviceNameModal-module__secondary___HILhc";ne(".deviceNameModal-module__overlay___fmdPd{align-items:center;background:rgba(0,0,0,.45);display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.deviceNameModal-module__modal___uoEda{background:#1f2937;border-radius:12px;box-shadow:0 20px 40px rgba(0,0,0,.15);color:#fff;max-width:420px;padding:24px;width:100%}.deviceNameModal-module__description___-HMTA{color:#fff;font-size:14px;margin-bottom:16px}.deviceNameModal-module__input___4vQMI{border:1px solid #ddd;border-radius:8px;font-size:14px;margin-bottom:20px;padding:10px 12px;width:100%}.deviceNameModal-module__actions___KXw7b{display:flex;gap:10px;justify-content:flex-end}.deviceNameModal-module__primary___9Ozlk{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:8px 14px}.deviceNameModal-module__secondary___HILhc{background:transparent;border:1px solid #ccc;border-radius:8px;cursor:pointer;padding:8px 14px}");const He=({isOpen:i,onCancel:o,onConfirm:r})=>{const[n,a]=d("");return i?e("div",{className:Ge,children:t("div",{className:je,children:[e("h3",{children:"Name This Device"}),e("p",{className:We,children:"Give this passkey a friendly name so you can recognize it later."}),e("input",{type:"text",placeholder:"e.g., MacBook Pro, iPhone, YubiKey",value:n,onChange:e=>a(e.target.value),className:De,autoFocus:!0}),t("div",{className:$e,children:[e("button",{onClick:o,className:Ke,children:"Cancel"}),e("button",{onClick:()=>r(n.trim()),disabled:!n.trim(),className:Ve,children:"Continue"})]})]})}):null},Ye=()=>{const{refreshSession:o}=W(),r=$(),{passkeySupported:n,loading:a}=Y(),s=h(),[l,c]=d("idle"),[u,_]=d(""),[m,g]=d(!1),[p,f]=d(null);return t(i,{children:[e("div",{className:Me,children:e("div",{className:Ae,children:t("div",a||!n?{className:ze,children:[e("div",{className:Ee}),e("span",{children:a?"Checking for Passkey Support...":"Passkeys are not supported on this device."})]}:{className:Fe,children:[e("h2",{className:Le,children:"Secure Your Account with a Passkey"}),e("p",{className:Ue,children:"Your device supports passkeys! Register one to skip passwords forever."}),e("button",{onClick:()=>{const{platform:e,browser:t,deviceInfo:i}=function(){const e=navigator.userAgent.toLowerCase();let t="unknown",i="unknown";return/iphone|ipad|ipod/.test(e)?t="ios":/android/.test(e)?t="android":/mac os/.test(e)?t="mac":/windows/.test(e)?t="windows":/linux/.test(e)&&(t="linux"),navigator.brave?i="brave":/edg\/|edgios/.test(e)?i="edge":/opr\/|opt\/|opera/.test(e)?i="opera":/vivaldi/.test(e)?i="vivaldi":/samsungbrowser/.test(e)?i="samsung":/firefox|fxios/.test(e)?i="firefox":/chrome|crios/.test(e)?i="chrome":/safari/.test(e)&&(i="safari"),{platform:t,browser:i,deviceInfo:`${t} • ${i}`}}();f({platform:e,browser:t,deviceInfo:i}),g(!0)},disabled:"loading"===l,className:Re,children:"loading"===l?"Registering...":"Register Passkey"}),u&&e("p",{className:`${Be} ${"success"===l?qe:Je}`,children:u})]})})}),e(He,{isOpen:m,onCancel:()=>{g(!1),f(null)},onConfirm:async e=>{if(!p)return;const t={friendlyName:e,...p};c("loading");try{const{error:e}=await r.registerPasskey(t);if(e)throw e;await o(),c("success"),_("Passkey registered successfully."),s("/")}catch{console.error("Passkey registration failed."),c("error"),_("Error registering passkey.")}finally{g(!1),f(null)}}})]})};var Qe="verifyOTP-module__container___wgoDE",Ze="verifyOTP-module__card___3cs2p",Xe="verifyOTP-module__title___fZ-1d",et="verifyOTP-module__subtitle___dGSu3",tt="verifyOTP-module__error___GEtlG",it="verifyOTP-module__success___46TjG",ot="verifyOTP-module__form___jiGG-",rt="verifyOTP-module__label___Zq5Mi",nt="verifyOTP-module__timer___smq-a",at="verifyOTP-module__resend___PlmkG",st="verifyOTP-module__button___8pIuO",lt="verifyOTP-module__toggle___wbzVa";ne(".verifyOTP-module__container___wgoDE{align-items:center;color:#fff;display:flex;justify-content:center;padding:1rem}.verifyOTP-module__card___3cs2p{background-color:#1f2937;border-radius:.5rem;box-shadow:0 0 10px rgba(0,0,0,.3);max-width:28rem;padding:1.5rem;width:100%}.verifyOTP-module__title___fZ-1d{color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:1rem;text-align:center}.verifyOTP-module__subtitle___dGSu3{color:#9ca3af;font-size:.875rem;margin-bottom:1.5rem;text-align:center}.verifyOTP-module__error___GEtlG{color:#f87171;margin-bottom:1rem;text-align:center}.verifyOTP-module__success___46TjG{color:#34d399;margin-bottom:.75rem;text-align:center}.verifyOTP-module__form___jiGG-{display:flex;flex-direction:column;gap:1rem}.verifyOTP-module__label___Zq5Mi{color:#d1d5db;display:block;font-size:.875rem;margin-bottom:.25rem}.verifyOTP-module__timer___smq-a{color:#facc15;font-size:.875rem}.verifyOTP-module__input___yqIXM{background-color:#374151;border:1px solid #4b5563;border-radius:.375rem;color:#fff;outline:none;padding:.5rem;width:100%}.verifyOTP-module__input___yqIXM:focus{box-shadow:0 0 0 2px #3b82f6}.verifyOTP-module__resend___PlmkG{background:none;border:none;color:#60a5fa;cursor:pointer;font-size:.75rem;margin-top:.25rem;text-decoration:underline}.verifyOTP-module__resend___PlmkG:hover{color:#3b82f6}.verifyOTP-module__button___8pIuO{background-color:#2563eb;border:none;border-radius:.375rem;color:#fff;cursor:pointer;padding:.5rem;transition:background-color .2s;width:100%}.verifyOTP-module__button___8pIuO:hover{background-color:#1d4ed8}.verifyOTP-module__toggle___wbzVa{background:none;border:none;color:#60a5fa;cursor:pointer;font-size:.875rem;margin-top:1.5rem;text-align:center;width:100%}");var dt="otpInput-module__otpContainer___MUjby",ct="otpInput-module__otpInput___3YMVm";ne(".otpInput-module__otpContainer___MUjby{display:flex;gap:8px;justify-content:center;margin-top:8px}.otpInput-module__otpInput___3YMVm{background:#374151;border:1px solid #4b5563;border-radius:8px;color:#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:#60a5fa;box-shadow:0 0 0 2px rgba(96,165,250,.25);outline:none}");const ut=({length:t=6,value:i,inputMode:o="numeric",onChange:r,name:n="otp"})=>{const a=p([]),s=i.split("").concat(Array(t).fill("")).slice(0,t),l=(e,t)=>{var i;if(t.length>1)d(e,t);else if(!t||(i=t,"numeric"===o?/^\d$/.test(i):/^[a-zA-Z]$/.test(i))){const i=[...s];i[e]=t;const o=i.join("");r(o),t&&a.current[e+1]&&a.current[e+1]?.focus()}},d=(e,i)=>{let n=i;n="numeric"===o?i.replace(/\D/g,""):i.replace(/[^a-zA-Z]/g,"");const l=n.slice(0,t).split(""),d=[...s];l.forEach((i,o)=>{e+o<t&&(d[e+o]=i)}),r(d.join("")),a.current[Math.min(e+l.length,t-1)]?.focus()};return e("div",{className:dt,role:"group","aria-label":"One-time password input",onPaste:e=>{e.preventDefault(),d(0,e.clipboardData.getData("text"))},children:s.map((i,d)=>e("input",{ref:e=>a.current[d]=e,type:"text",inputMode:"numeric"===o?"numeric":"text",autoComplete:"one-time-code",name:`${n}-${d}`,maxLength:1,value:i,className:ct,onChange:e=>l(d,e.target.value),onKeyDown:e=>((e,i)=>{if("Backspace"===i.key){i.preventDefault();const t=[...s];s[e]?(t[e]="",r(t.join(""))):e>0&&(t[e-1]="",r(t.join("")),a.current[e-1]?.focus())}"ArrowLeft"===i.key&&e>0&&a.current[e-1]?.focus(),"ArrowRight"===i.key&&e<t-1&&a.current[e+1]?.focus()})(d,e),"aria-label":`Digit ${d+1}`},d))})},_t=()=>{const i=h(),o=y(),{refreshSession:r}=W(),n="login"===o.state?.flow,[a,s]=d(""),[l,u]=d(null),[_,m]=d(""),[g,p]=d(!1),[f,b]=d(""),[v,k]=d(300),w=$(),x=async()=>{if(p(!0),!l){const{error:e}=n?await w.verifyLoginPhoneOtp(a):await w.verifyPhoneOtp(a);if(e)m("Verification failed.");else{if(n)return await r(),void i("/");u(!0)}}p(!1)},P=async()=>{b(""),await(async()=>{m("");const{error:e}=n?await w.requestLoginPhoneOtp():await w.requestPhoneOtp();e?m("Failed to send SMS code. If this persists, refresh the page and try again."):b("Verification SMS has been resent.")})(),b("Verification SMS has been resent.")};return c(()=>{const e=setInterval(()=>{k(e=>e>0?e-1:0)},1e3);return()=>clearInterval(e)},[]),c(()=>{l&&!n&&(async()=>{const{error:e}=await w.requestEmailOtp();e?m("Failed to send Email code. If this persists, refresh the page and try registering again."):i(ee)})()},[l,n,i,w]),e("div",{className:Qe,children:t("div",{className:Ze,children:[e("h2",{className:Xe,children:"Verify Your Phone Number"}),e("p",{className:et,children:"Enter the code sent to your phone number."}),_&&e("p",{className:tt,children:_}),f&&e("p",{className:it,children:f}),t("form",{onSubmit:async e=>{if(e.preventDefault(),m(""),6===a.length){p(!0);try{await x()}catch{m("Unexpected error occurred.")}finally{p(!1)}}else m("Please enter a valid code.")},className:ot,children:[t("div",{children:[t("label",{htmlFor:"phoneCode",className:rt,children:["Phone Verification Code ",(N=l,!0===N?e("span",{className:"text-green-400 ml-2",children:"✅"}):!1===N?e("span",{className:"text-red-400 ml-2",children:"❌"}):null)," -"," ",t("span",{className:nt,children:["Code expires in: ",(S=v,`${Math.floor(S/60).toString().padStart(2,"0")}:${(S%60).toString().padStart(2,"0")}`)]})]}),e(ut,{length:6,value:a,onChange:s}),e("button",{type:"button",onClick:()=>P(),className:at,children:"Resend code to phone"})]}),e("button",{type:"submit",className:st,children:g?"Verifying...":"Verify & Continue"}),e("button",{type:"button",onClick:()=>i("/login"),className:lt,children:"Back to login"})]})]})});var S,N},mt=()=>{const i=h(),o=y(),{refreshSession:r}=W(),n=$(),{passkeySupported:a}=Y(),s="login"===o.state?.flow,[l,u]=d(!1),[_,m]=d(""),[g,p]=d(300),[f,b]=d(""),[v,k]=d("");return c(()=>{const e=setInterval(()=>{p(e=>e>0?e-1:0)},1e3);return()=>clearInterval(e)},[]),e("div",{className:Qe,children:t("div",{className:Ze,children:[e("h2",{className:Xe,children:"Verify Your Email"}),e("p",{className:et,children:"We sent you a verification email. Enter the code below."}),f&&e("p",{className:tt,children:f}),v&&e("p",{className:it,children:v}),t("form",{onSubmit:async e=>{if(e.preventDefault(),b(""),6===_.length){u(!0);try{const{error:e}=s?await n.verifyLoginEmailOtp(_):await n.verifyEmailOtp(_);if(e)return void b("Verification failed.");if(s)return await r(),void i("/");a?i(oe):(await r(),i("/"))}catch{console.error("Email OTP verification failed."),b("Verification failed.")}finally{u(!1)}}else b("Please enter a valid code.")},className:ot,children:[t("div",{children:[t("label",{htmlFor:"emailCode",className:rt,children:["Email Verification Code",t("span",{className:nt,children:[" ","— Code expires in ",(w=g,`${Math.floor(w/60).toString().padStart(2,"0")}:${(w%60).toString().padStart(2,"0")}`)]})]}),e(ut,{length:6,value:_,onChange:m,inputMode:"text"}),e("button",{type:"button",onClick:async()=>{b(""),k("");const{error:e}=s?await n.requestLoginEmailOtp():await n.requestEmailOtp();e?b("Failed to send Email code. If this persists, refresh the page and try again."):k("Verification email has been resent.")},className:at,children:"Resend code to email"})]}),e("button",{type:"submit",className:st,disabled:l,children:l?"Verifying...":"Verify & Continue"}),e("button",{type:"button",onClick:()=>i("/login"),className:lt,children:"Back to login"})]})]})});var w};var gt={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"};ne(".verifyMagiclink-module__container___qrSXf{align-items:center;color:#fff;display:flex;justify-content:center;padding:1rem}.verifyMagiclink-module__card___niKgr{background-color:#1f2937;border-radius:.5rem;box-shadow:0 0 10px rgba(0,0,0,.3);max-width:28rem;padding:1.5rem;width:100%}.verifyMagiclink-module__title___SumxD{color:#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 hsla(0,0%,100%,.15);border-radius:50%;border-top-color:#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:#34d399;height:22px;width:22px}.verifyMagiclink-module__successText___lO5Qq{color:#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 pt=()=>{const[i]=b(),o=h(),r=i.get("token"),[n,a]=d(""),[s,l]=d(""),u=$(),{refreshSession:_}=W();return c(()=>{let e=!0,t=null,i=null;return(async()=>{if(!r)return e&&a("Missing token for verification."),void console.error("No magic-link token found.");const{error:n}=await u.verifyMagicLink(r);if(n)return console.error("Failed to verify token"),void(e&&a("Failed to verify token"));await _(),e&&(t=new BroadcastChannel("seamless-auth"),t.postMessage({type:"MAGIC_LINK_AUTH_SUCCESS"}),l("You have been verified on the device and browser that initiated this request"),i=setTimeout(()=>{e&&o("/")},900))})(),()=>{e=!1,t?.close(),i&&clearTimeout(i)}},[r,u,o,_]),e("div",{className:gt.container,children:t("div",{className:gt.card,children:[e("h1",{className:gt.title,children:"Verifying your login"}),t("div",{className:gt.verificationContent,children:[!s&&!n&&e("div",{className:gt.spinner}),s&&e("div",{className:gt.successIcon,children:e("svg",{viewBox:"0 0 24 24",className:gt.checkIcon,fill:"none",stroke:"currentColor",strokeWidth:"2",children:e("path",{d:"M5 13l4 4L19 7"})})}),!s&&!n&&e("p",{className:gt.helperText,children:"Please wait while we securely verify your sign-in link."}),s&&e("p",{className:gt.successText,children:"Login verified. Redirecting…"}),n&&e("p",{className:gt.error,children:n})]})]})})},ft=()=>{const{finishOAuthLogin:o}=W(),r=h(),[n]=b(),[a,s]=d(""),l=p(!1);return c(()=>{if(l.current)return;l.current=!0;const e=n.get("code"),t=n.get("state"),i=sessionStorage.getItem(Se);e&&t&&i?o({providerId:i,code:e,state:t}).then(({error:e})=>{e?s("We could not complete sign-in. Please try again."):(sessionStorage.removeItem(Se),r("/"))}):s("This sign-in link is missing required information.")},[o,r,n]),t("div",{className:gt.container,children:[e("h2",{className:gt.title,children:a?"Sign-in failed":"Completing sign-in..."}),a&&t(i,{children:[e("p",{children:a}),e("button",{type:"button",onClick:()=>r("/login"),children:"Back to login"})]})]})};var ht="magiclink-module__container___45zcA",yt="magiclink-module__card___Au9oN",bt="magiclink-module__iconWrapper___k5ndr",vt="magiclink-module__mailIcon___Pwb7q",kt="magiclink-module__iconRing___bdLvf",wt="magiclink-module__heading___b9cre",xt="magiclink-module__message___kiVFj",Pt="magiclink-module__identifier___JtcFM",St="magiclink-module__helperText___7Mlfh",Nt="magiclink-module__actions___64I-3",Ot="magiclink-module__secondaryButton___BntAI",Tt="magiclink-module__cooldown___Ib4rm",Ct="magiclink-module__linkButton___maJiv";ne(".magiclink-module__container___45zcA{align-items:center;color:#fff;display:flex;justify-content:center}.magiclink-module__card___Au9oN{background-color:#1f2937;border-radius:.75rem;box-shadow:0 10px 25px 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:#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:#d1d5db;font-size:.95rem;line-height:1.4;margin-bottom:1rem}.magiclink-module__identifier___JtcFM{background: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:#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:#111827;border:1px solid #374151;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:.65rem}.magiclink-module__secondaryButton___BntAI:hover:not(:disabled){background:#1f2937}.magiclink-module__secondaryButton___BntAI:disabled{cursor:not-allowed;opacity:.5}.magiclink-module__cooldown___Ib4rm{color:#9ca3af;font-size:.8rem}.magiclink-module__linkButton___maJiv{background:none;border:none;color:#a5b4fc;cursor:pointer;font-size:.85rem;margin-top:.4rem}.magiclink-module__linkButton___maJiv:hover{text-decoration:underline}");const It=()=>{const{refreshSession:i}=W(),o=h(),r=y(),n=$(),a=r.state?.identifier,[s,l]=d(30);c(()=>{const e=setInterval(()=>{l(e=>e>0?e-1:0)},1e3);return()=>clearInterval(e)},[]);const u=m(async()=>{const{data:e,error:t}=await n.checkMagicLink();return!t&&"Success"===e?.message},[n]);return c(()=>{const e=new BroadcastChannel("seamless-auth");return e.onmessage=async e=>{"MAGIC_LINK_AUTH_SUCCESS"===e.data?.type&&await u()&&(await i(),o("/"))},()=>{e.close()}},[u,o,i]),c(()=>{const e=setInterval(async()=>{try{await u()&&(await i(),o("/"))}catch{}},5e3);return()=>clearInterval(e)},[u,i,o]),e("div",{className:ht,children:t("div",{className:yt,children:[t("div",{className:bt,children:[e("div",{className:kt}),t("svg",{className:vt,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",children:[e("path",{d:"M4 6h16v12H4z"}),e("path",{d:"m4 6 8 6 8-6"})]})]}),e("h2",{className:wt,children:"Check your email"}),e("p",{className:xt,children:"If an account exists for this address, we sent a secure sign-in link."}),a&&e("div",{className:Pt,children:a}),e("p",{className:St,children:"Open the email and click the link to finish signing in."}),e("p",{className:St,children:"Didn’t receive anything? Check your spam folder or try creating a new account."}),t("div",{className:Nt,children:[e("button",{className:Ot,disabled:s>0,onClick:async()=>{s>0||(await n.requestMagicLink(),l(30))},children:"Resend link"}),s>0&&t("div",{className:Tt,children:["Available in ",s,"s"]}),e("button",{className:Ct,onClick:()=>o("/login"),children:"Change email or phone"})]})]})})},Mt=()=>t(v,{children:[e(k,{path:Q,element:e(Te,{})}),e(k,{path:Z,element:e(Ie,{})}),e(k,{path:X,element:e(_t,{})}),e(k,{path:ee,element:e(mt,{})}),e(k,{path:te,element:e(pt,{})}),e(k,{path:ie,element:e(ft,{})}),e(k,{path:oe,element:e(Ye,{})}),e(k,{path:re,element:e(It,{})}),e(k,{path:"*",element:e(w,{to:Q,replace:!0})})]});export{D as AuthProvider,Mt as AuthRoutes,P as SeamlessAuthError,q as createSeamlessAuthClient,M as encodePrfSalt,L as extractPasskeyPrfResult,G as hasScopedRole,E as isPasskeyPrfSupported,J as roleGrantsAccess,W as useAuth,$ as useAuthClient,Y as usePasskeySupport};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/client/errors.ts","../src/client/result.ts","../src/client/webauthnPrf.ts","../src/client/webauthnSupport.ts","../src/client/createSeamlessAuthClient.ts","../src/fetchWithAuth.ts","../src/scopedRoles.ts","../src/AuthProvider.tsx","../src/hooks/usePreviousSignIn.ts","../src/hooks/useAuthClient.ts","../src/utils.ts","../src/hooks/usePasskeySupport.ts","../src/routes.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/components/DeviceNameModal.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,null,null,null,null,null,null,null,null,null,null,null,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":["SeamlessAuthError","Error","constructor","message","status","body","super","this","name","async","toSeamlessAuthError","response","fallbackMessage","json","undefined","error","extractMessage","readBody","requestResult","request","data","ok","resultOf","resultError","toArrayBuffer","value","ArrayBuffer","source","Uint8Array","buffer","byteOffset","byteLength","copy","set","encodePrfSalt","salt","bufferToBase64URLString","saltToBufferSource","base64URLStringToBuffer","createPrfRequestBody","input","credentialId","prf","secondSalt","isPasskeyPrfSupported","browserSupportsWebAuthn","window","isSecureContext","globalThis","PublicKeyCredential","navigator","credentials","get","preparePrfRequestOptions","optionsJSON","options","prfEval","extensions","eval","first","second","extractPasskeyPrfResult","credential","extensionResults","clientExtensionResults","results","output","id","outputBase64url","stripPrfResultsFromAssertion","toStepUpStatus","payload","expectedMethod","method","fresh","verifiedAt","expiresAt","maxAgeSeconds","buildAssertionStartInit","JSON","stringify","createSeamlessAuthClient","opts","fetchWithAuth","authHost","init","url","replace","startsWith","hasBody","requestInit","headers","fetch","createFetchWithAuth","apiHost","getCurrentUser","login","loginWithPasskey","optionsInput","started","assertionResponse","startAuthentication","console","verified","logout","scope","logoutAllSessions","deleteUser","register","email","phone","bootstrapToken","requestPhoneOtp","verifyPhoneOtp","verificationToken","requestLoginPhoneOtp","verifyLoginPhoneOtp","requestEmailOtp","verifyEmailOtp","requestLoginEmailOtp","verifyLoginEmailOtp","requestMagicLink","checkMagicLink","verifyMagicLink","token","encodeURIComponent","listOAuthProviders","startOAuthLogin","providerId","redirectUri","returnTo","finishOAuthLogin","code","state","registerPasskey","registerInput","metadata","normalizeRegisterPasskeyInput","challenge","query","URLSearchParams","requirePrf","requestPrf","queryString","toString","buildRegisterStartPath","attestationResponse","startRegistration","WebAuthnError","prfCapable","enabled","getRegistrationPrfCapable","getStepUpStatus","verifyStepUpWithPasskey","verifyStepUpWithPasskeyPrf","getTotpStatus","startTotpEnrollment","verifyTotpEnrollment","disableTotp","verifyStepUpWithTotp","updateCredential","deleteCredential","listOrganizations","createOrganization","getOrganization","organizationId","updateOrganization","switchOrganization","listOrganizationMembers","addOrganizationMember","updateOrganizationMember","userId","removeOrganizationMember","roleGrantsAccess","grantedRole","requiredRole","granted","trim","required","endsWith","prefix","slice","includes","grantedParts","split","requiredParts","grantedAction","length","requiredAction","grantedPrefix","requiredPrefix","every","part","index","hasScopedRole","grantedRoles","requiredRoles","Array","isArray","filter","role","some","AuthContext","createContext","useAuth","context","useContext","AuthProvider","children","autoDetectPreviousSignin","user","setUser","useState","setCredentials","organizations","setOrganizations","activeOrganization","setActiveOrganization","stepUpStatus","setStepUpStatus","isAuthenticated","setIsAuthenticated","loading","setLoading","hasSignedInBefore","markSignedIn","storageKey","setHasSignedInBefore","useEffect","localStorage","getItem","setItem","usePreviousSignIn","authClient","useMemo","resetAuthState","useCallback","validateToken","result","refreshStepUpStatus","_jsx","Provider","refreshSession","hasRole","roles","rolesGrantScopedAccess","friendlyName","updatedCredential","currentCredentials","map","currentCredential","identifier","passkeyAvailable","handlePasskeyLogin","useAuthClient","isValidEmail","normalized","parts","localPart","domainPart","test","isValidPhoneNumber","phoneNumber","parsePhoneNumberFromString","isValid","isPasskeySupported","isUserVerifyingPlatformAuthenticatorAvailable","isPlatformAuthenticatorAvailable","usePasskeySupport","passkeySupported","setPasskeySupported","active","supported","checkSupport","authRoutePaths","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","AuthFallbackOptions","onMagicLink","onEmailOtp","onPhoneOtp","onPasskeyRetry","loginMethods","allowedMethods","Set","showMagicLink","has","showEmailOtp","Boolean","showPhoneOtp","showPasskeyRetry","_jsxs","className","styles","onClick","OAUTH_PROVIDER_STORAGE_KEY","OAuthProviderButtons","callbackHref","useHref","providers","setProviders","setError","then","provider","sessionStorage","URL","location","origin","assign","authorizationUrl","handleSelect","DEFAULT_LOGIN_METHODS","Login","navigate","useNavigate","setIdentifier","setEmail","mode","setMode","formErrors","setFormErrors","emailError","setEmailError","identifierError","setIdentifierError","showFallbackOptions","setShowFallbackOptions","setLoginMethods","setBootstrapToken","search","_Fragment","onSubmit","e","preventDefault","loginStart","availableMethods","passkeyError","htmlFor","onChange","target","autoComplete","placeholder","onBlur","flow","disabled","PassKeyLogin","runPasskeyLogin","container","card","title","button","DeviceNameModal","isOpen","onCancel","onConfirm","setValue","autoFocus","PasskeyRegistration","passkeySupportLoading","setStatus","setMessage","showDeviceModal","setShowDeviceModal","pendingMetadata","setPendingMetadata","platform","browser","deviceInfo","ua","userAgent","toLowerCase","brave","parseUserAgent","OtpInput","inputMode","inputs","useRef","values","concat","fill","handleChange","char","handleBulkInput","newValueArr","newValue","join","current","focus","cleaned","chars","forEach","i","Math","min","onPaste","clipboardData","getData","el","maxLength","onKeyDown","key","handleKeyDown","PhoneRegistration","useLocation","isLoginFlow","phoneOtp","setPhoneOtp","phoneVerified","setPhoneVerified","resendMsg","setResendMsg","phoneTimeLeft","setPhoneTimeLeft","verifyPhoneOTP","handleResend","onResendPhone","interval","setInterval","prev","clearInterval","nextStep","seconds","floor","padStart","EmailRegistration","emailOtp","setEmailOtp","emailTimeLeft","setEmailTimeLeft","VerifyMagicLink","searchParams","useSearchParams","successMsg","setSuccessMsg","mounted","channel","redirectTimeout","BroadcastChannel","postMessage","setTimeout","verify","close","clearTimeout","verificationContent","spinner","successIcon","viewBox","checkIcon","stroke","strokeWidth","d","helperText","successText","OAuthCallback","startedRef","finishError","removeItem","MagicLinkSent","cooldown","setCooldown","timer","c","magicLinkCompleted","onmessage","event","AuthRoutes","Routes","Route","path","element","Navigate","to"],"mappings":"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","x_google_ignoreList":[13]}
1
+ {"version":3,"file":"index.js","sources":["../src/client/errors.ts","../src/client/result.ts","../src/client/webauthnPrf.ts","../src/client/webauthnSupport.ts","../src/client/createSeamlessAuthClient.ts","../src/fetchWithAuth.ts","../src/scopedRoles.ts","../src/AuthProvider.tsx","../src/hooks/usePreviousSignIn.ts","../src/hooks/useAuthClient.ts","../src/utils.ts","../src/hooks/usePasskeySupport.ts","../src/routes.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/components/DeviceNameModal.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,null,null,null,null,null,null,null,null,null,null,null,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":["SeamlessAuthError","Error","constructor","message","status","body","super","this","name","async","toSeamlessAuthError","response","fallbackMessage","json","undefined","error","extractMessage","readBody","requestResult","request","data","ok","resultOf","resultError","toArrayBuffer","value","ArrayBuffer","source","Uint8Array","buffer","byteOffset","byteLength","copy","set","encodePrfSalt","salt","bufferToBase64URLString","saltToBufferSource","base64URLStringToBuffer","createPrfRequestBody","input","credentialId","prf","secondSalt","isPasskeyPrfSupported","browserSupportsWebAuthn","window","isSecureContext","globalThis","PublicKeyCredential","navigator","credentials","get","preparePrfRequestOptions","optionsJSON","options","prfEval","extensions","eval","first","second","extractPasskeyPrfResult","credential","extensionResults","clientExtensionResults","results","output","id","outputBase64url","stripPrfResultsFromAssertion","toStepUpStatus","payload","expectedMethod","method","fresh","verifiedAt","expiresAt","maxAgeSeconds","buildAssertionStartInit","JSON","stringify","createSeamlessAuthClient","opts","fetchWithAuth","authHost","init","url","replace","startsWith","hasBody","requestInit","headers","fetch","createFetchWithAuth","apiHost","getCurrentUser","login","loginWithPasskey","optionsInput","started","assertionResponse","startAuthentication","console","verified","logout","scope","logoutAllSessions","deleteUser","register","email","phone","requestPhoneOtp","verifyPhoneOtp","verificationToken","requestLoginPhoneOtp","verifyLoginPhoneOtp","requestEmailOtp","verifyEmailOtp","requestLoginEmailOtp","verifyLoginEmailOtp","requestMagicLink","checkMagicLink","verifyMagicLink","token","encodeURIComponent","listOAuthProviders","startOAuthLogin","providerId","redirectUri","returnTo","finishOAuthLogin","code","state","registerPasskey","registerInput","metadata","normalizeRegisterPasskeyInput","challenge","query","URLSearchParams","requirePrf","requestPrf","queryString","toString","buildRegisterStartPath","attestationResponse","startRegistration","WebAuthnError","prfCapable","enabled","getRegistrationPrfCapable","getStepUpStatus","verifyStepUpWithPasskey","verifyStepUpWithPasskeyPrf","getTotpStatus","startTotpEnrollment","verifyTotpEnrollment","disableTotp","verifyStepUpWithTotp","updateCredential","deleteCredential","listOrganizations","createOrganization","getOrganization","organizationId","updateOrganization","switchOrganization","listOrganizationMembers","addOrganizationMember","updateOrganizationMember","userId","removeOrganizationMember","roleGrantsAccess","grantedRole","requiredRole","granted","trim","required","endsWith","prefix","slice","includes","grantedParts","split","requiredParts","grantedAction","length","requiredAction","grantedPrefix","requiredPrefix","every","part","index","hasScopedRole","grantedRoles","requiredRoles","Array","isArray","filter","role","some","AuthContext","createContext","useAuth","context","useContext","AuthProvider","children","autoDetectPreviousSignin","user","setUser","useState","setCredentials","organizations","setOrganizations","activeOrganization","setActiveOrganization","stepUpStatus","setStepUpStatus","isAuthenticated","setIsAuthenticated","loading","setLoading","hasSignedInBefore","markSignedIn","storageKey","setHasSignedInBefore","useEffect","localStorage","getItem","setItem","usePreviousSignIn","authClient","useMemo","resetAuthState","useCallback","validateToken","result","refreshStepUpStatus","_jsx","Provider","refreshSession","hasRole","roles","rolesGrantScopedAccess","friendlyName","updatedCredential","currentCredentials","map","currentCredential","identifier","passkeyAvailable","handlePasskeyLogin","useAuthClient","isValidEmail","normalized","parts","localPart","domainPart","test","isValidPhoneNumber","phoneNumber","parsePhoneNumberFromString","isValid","isPasskeySupported","isUserVerifyingPlatformAuthenticatorAvailable","isPlatformAuthenticatorAvailable","usePasskeySupport","passkeySupported","setPasskeySupported","active","supported","checkSupport","authRoutePaths","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","AuthFallbackOptions","onMagicLink","onEmailOtp","onPhoneOtp","onPasskeyRetry","loginMethods","allowedMethods","Set","showMagicLink","has","showEmailOtp","Boolean","showPhoneOtp","showPasskeyRetry","_jsxs","className","styles","onClick","OAUTH_PROVIDER_STORAGE_KEY","OAuthProviderButtons","callbackHref","useHref","providers","setProviders","setError","then","provider","sessionStorage","URL","location","origin","assign","authorizationUrl","handleSelect","DEFAULT_LOGIN_METHODS","Login","navigate","useNavigate","setIdentifier","setEmail","mode","setMode","formErrors","setFormErrors","emailError","setEmailError","identifierError","setIdentifierError","showFallbackOptions","setShowFallbackOptions","setLoginMethods","_Fragment","onSubmit","e","preventDefault","loginStart","availableMethods","passkeyError","htmlFor","onChange","target","autoComplete","placeholder","onBlur","flow","disabled","PassKeyLogin","runPasskeyLogin","container","card","title","button","DeviceNameModal","isOpen","onCancel","onConfirm","setValue","autoFocus","PasskeyRegistration","passkeySupportLoading","setStatus","setMessage","showDeviceModal","setShowDeviceModal","pendingMetadata","setPendingMetadata","platform","browser","deviceInfo","ua","userAgent","toLowerCase","brave","parseUserAgent","OtpInput","inputMode","inputs","useRef","values","concat","fill","handleChange","char","handleBulkInput","newValueArr","newValue","join","current","focus","cleaned","chars","forEach","i","Math","min","onPaste","clipboardData","getData","el","maxLength","onKeyDown","key","handleKeyDown","PhoneRegistration","useLocation","isLoginFlow","phoneOtp","setPhoneOtp","phoneVerified","setPhoneVerified","resendMsg","setResendMsg","phoneTimeLeft","setPhoneTimeLeft","verifyPhoneOTP","handleResend","onResendPhone","interval","setInterval","prev","clearInterval","nextStep","seconds","floor","padStart","EmailRegistration","emailOtp","setEmailOtp","emailTimeLeft","setEmailTimeLeft","VerifyMagicLink","searchParams","useSearchParams","successMsg","setSuccessMsg","mounted","channel","redirectTimeout","BroadcastChannel","postMessage","setTimeout","verify","close","clearTimeout","verificationContent","spinner","successIcon","viewBox","checkIcon","stroke","strokeWidth","d","helperText","successText","OAuthCallback","startedRef","finishError","removeItem","MagicLinkSent","cooldown","setCooldown","timer","c","magicLinkCompleted","onmessage","event","AuthRoutes","Routes","Route","path","element","Navigate","to"],"mappings":"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","x_google_ignoreList":[13]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamless-auth/react",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "A drop-in authentication solution for modern React applications.",
5
5
  "type": "module",
6
6
  "exports": {