@seamless-auth/react 0.0.6-beta.3 → 0.0.6-beta.4

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.
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface DeviceNameModalProps {
3
+ isOpen: boolean;
4
+ onCancel: () => void;
5
+ onConfirm: (name: string) => void;
6
+ }
7
+ declare const DeviceNameModal: React.FC<DeviceNameModalProps>;
8
+ export default DeviceNameModal;
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{jsx as e,jsxs as o,Fragment as r}from"react/jsx-runtime";import{createContext as t,useContext as n,useState as i,useEffect as a,useCallback as s,useRef as l}from"react";import{useNavigate as d,Routes as c,Route as _,Navigate as m}from"react-router-dom";import{startAuthentication as u,startRegistration as g,WebAuthnError as h}from"@simplewebauthn/browser";import p,{AsYouType as f,parsePhoneNumberFromString as y}from"libphonenumber-js";const b=t(void 0),v=({value:o,children:r})=>e(b.Provider,{value:o,children:r}),w=()=>{const e=n(b);if(!e)throw new Error("useInternalAuth must be used within InternalAuthProvider");return e},k=e=>{const{authMode:o,authHost:r}=e;return async function(e,t){const n=`${r}${"server"===o?"auth":""}${e.startsWith("/")?e:`/${e}`}`,i={...t,credentials:"include",headers:{"Content-Type":"application/json",...t?.headers}},a=await fetch(n,i);if(a.ok)return a;throw console.warn("Auth fetch failed:",a.status,n),new Error(`Failed to make API call to ${n}`)}},x=()=>e("div",{className:"flex items-center justify-center min-h-screen bg-gray-900",children:e("div",{"data-testid":"loading",className:"w-12 h-12 border-4 border-gray-600 border-t-blue-500 rounded-full animate-spin"})});const P=t(void 0),N=()=>{const e=n(P);if(!e)throw new Error("useAuth must be used within an AuthProvider");return e},S=({children:r,apiHost:t,autoDetectPreviousSignin:n=!0,mode:l="web"})=>{const[d,c]=i(null),[_,m]=i([]),[u,g]=i(!1),[h,p]=i(!0),[f,y]=i(null),{hasSignedInBefore:b,markSignedIn:w}=function(e="seamlessauth_seen"){const[o,r]=i(!1);return a(()=>{try{"true"===localStorage.getItem(e)&&r(!0)}catch{}},[e]),{hasSignedInBefore:o,markSignedIn:()=>{try{localStorage.setItem(e,"true"),r(!0)}catch{}}}}(),[N]=i(l),S=k({authMode:N,authHost:t}),C=s(async()=>{if(d)try{await S("/logout",{method:"GET"})}catch{console.error("Error during logout")}finally{g(!1),c(null),y(null)}},[S,d]),T=async()=>{try{const e=await S("users/me",{method:"GET"});if(e.ok){const{user:o,credentials:r}=await e.json();c(o),m(r),g(!0)}else C()}catch{C()}finally{p(!1)}};return a(()=>{T()},[]),a(()=>{d&&u&&w()},[d,u,w]),h?o("div",{className:"min-h-screen flex items-center justify-center bg-gray-100",children:[e(x,{}),";"]}):e(P.Provider,{value:{user:d,logout:C,deleteUser:async()=>{try{if((await S("/users/delete",{method:"delete"})).ok)return c(null),g(!1),void y(null);throw new Error("Could not delete user.")}catch(e){throw console.error("Something went wrong deleting user:",e),new Error("Could not delete user.")}},isAuthenticated:u,hasRole:e=>d?.roles?.includes(e),apiHost:t,token:f,markSignedIn:w,hasSignedInBefore:!!n&&b,mode:l,credentials:_,updateCredential:async e=>{const o=await S("users/credentials",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({friendlyName:e.friendlyName,id:e.id})});if(o.ok)return o.json();throw new Error("Failed to update credential")},deleteCredential:async e=>{const o=await S("users/credentials",{method:"DELETE",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e})});if(o.ok)return o.json();throw new Error("Failed to update credential")}},children:e(v,{value:{validateToken:T,setLoading:p},children:r})})};function C(e,o){void 0===o&&(o={});var r=o.insertAt;if(e&&"undefined"!=typeof document){var t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===r&&t.firstChild?t.insertBefore(n,t.firstChild):t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}var T="login-module__container___YggDx",O="login-module__card___Ub-Py",L="login-module__heading___neEqb",I="login-module__message___qSejT",M="login-module__inputGroup___P6qgS",E="login-module__label___mx5vu",j="login-module__input___U07lW",A="login-module__helperText___kDQ4-",F="login-module__error___40zxh",B="login-module__button___0kFBs",z="login-module__toggle___1JiG1",G="login-module__underline___gs-RS",V="login-module__phoneRow___oeNtq",$="login-module__select___rRV1O",q="login-module__phoneInput___2MPQC";C(".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}}");var R="termsModal-module__overlay___-j6r5",U="termsModal-module__modal___4PxZV",D="termsModal-module__header___B7wxb",J="termsModal-module__title___Sucwt",K="termsModal-module__closeBtn___evIs5",W="termsModal-module__content___5BDhN",H="termsModal-module__link___oPZrU";C(".termsModal-module__overlay___-j6r5{align-items:center;background-color:rgba(0,0,0,.7);display:flex;inset:0;justify-content:center;position:fixed;z-index:999}.termsModal-module__modal___4PxZV{background-color:#1a1a1a;border-radius:8px;box-shadow:0 10px 25px rgba(0,0,0,.4);color:#fff;max-height:80vh;max-width:640px;outline:none;overflow-y:auto;padding:24px;width:100%}.termsModal-module__header___B7wxb{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.termsModal-module__title___Sucwt{color:#60a5fa;font-size:1.25rem;font-weight:700}.termsModal-module__closeBtn___evIs5{background:none;border:none;color:#ccc;cursor:pointer;font-size:1.75rem}.termsModal-module__closeBtn___evIs5:hover{color:#fff}.termsModal-module__content___5BDhN{color:#d1d5db;font-size:.9rem;line-height:1.6}.termsModal-module__link___oPZrU{color:#60a5fa;text-decoration:underline}.termsModal-module__link___oPZrU:hover{text-decoration:none}");const Z=({isOpen:r,onClose:t})=>{const n=l(null);return a(()=>{const e=e=>{"Escape"===e.key&&t()};return r&&(document.addEventListener("keydown",e),n.current?.focus()),()=>{document.removeEventListener("keydown",e)}},[r,t]),r?e("div",{className:R,role:"dialog","aria-modal":"true","aria-labelledby":"terms-title",children:o("div",{className:U,tabIndex:-1,ref:n,children:[o("div",{className:D,children:[e("h2",{id:"terms-title",className:J,children:"SMS Terms & Conditions"}),e("button",{onClick:t,className:K,children:"×"})]}),o("div",{className:W,children:[o("p",{children:[e("strong",{children:"Effective Date:"})," June 01, 2025"]}),e("p",{children:"By providing your phone number to SeamlessAuth, a Fells Code LLC product, you agree to receive SMS messages for identity verification, authentication, and account security."}),o("p",{children:[e("strong",{children:"1. Purpose:"})," SMS is used only for account security (OTP, MFA). No marketing messages."]}),o("p",{children:[e("strong",{children:"2. Frequency:"})," Based on login and account activity."]}),o("p",{children:[e("strong",{children:"3. Opt-Out:"})," Contact support@seamlessauth.com to opt out."]}),o("p",{children:[e("strong",{children:"4. Fees:"})," Message and data rates may apply."]}),o("p",{children:[e("strong",{children:"5. Supported Carriers:"})," Most major providers supported, delivery not guaranteed."]}),o("p",{children:[e("strong",{children:"6. Privacy:"})," Your phone number is not shared or sold. See our Privacy Policy."]}),o("p",{children:[e("strong",{children:"7. Changes:"})," Terms may be updated with notice on this page."]}),o("p",{children:["Questions? Email us at"," ",e("a",{className:H,href:"mailto:support@seamlessauth.com",children:"support@seamlessauth.com"}),"."]})]})]})}):null},Y=[{code:"US",name:"United States",dialCode:"+1",flag:"🇺🇸"},{code:"CA",name:"Canada",dialCode:"+1",flag:"🇨🇦"},{code:"GB",name:"United Kingdom",dialCode:"+44",flag:"🇬🇧"},{code:"IN",name:"India",dialCode:"+91",flag:"🇮🇳"},{code:"AU",name:"Australia",dialCode:"+61",flag:"🇦🇺"}];function Q({phone:r,setPhone:t,phoneError:n,setPhoneError:s}){const[l,d]=i(!1),[c,_]=i(Y[0]);a(()=>{const e=function(){try{const e=Intl.DateTimeFormat().resolvedOptions().locale||"en-US",o=e.split("-")[1]?.toUpperCase()||"US";return Y.find(e=>e.code===o)||Y[0]}catch{return Y[0]}}();_(e)},[]);return o("div",{className:M,children:[e("label",{id:"phone",className:E,children:"Phone Number"}),o("div",{className:V,children:[e("select",{value:c.code,onChange:e=>{const o=Y.find(o=>o.code===e.target.value);if(o){_(o);const e=r.replace(/^\+\d+/,""),n=(new f).input(o.dialCode+e);t(n)}},className:$,children:Y.map(e=>o("option",{value:e.code,children:[e.flag," (",e.dialCode,")"]},e.code))}),e("input",{"aria-labelledby":"phone",type:"tel",value:r,onChange:e=>{const o=e.target.value,r=o.startsWith(c.dialCode)?o:c.dialCode+o,i=(new f).input(r);t(i),n&&s("")},onBlur:()=>{if(r){const e=y(r),o=e?.isValid();s(o?"":"Please enter a valid phone number.")}},autoComplete:"off",placeholder:"(555) 123-4567",className:q})]}),o("p",{className:A,children:["By signing up, you agree to our"," ",e("button",{onClick:()=>d(!0),className:G,children:"SMS Terms & Conditions"}),"."]}),n&&e("p",{className:F,children:n}),e(Z,{isOpen:l,onClose:()=>d(!1)})]})}const X=e=>{if("string"!=typeof e)return!1;const o=e.trim();if(o.length<3||o.length>320)return!1;const r=o.split("@");if(2!==r.length)return!1;const[t,n]=r;return!(!/^[A-Za-z0-9._%+-]+$/.test(t)||t.startsWith(".")||t.endsWith(".")||t.includes(".."))&&!(!/^[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/.test(n)||n.startsWith("-")||n.endsWith("-")||n.startsWith(".")||n.endsWith(".")||n.includes(".."))},ee=e=>{const o=p(e);return o?.isValid()||!1};async function oe(){if(window.PublicKeyCredential&&"function"==typeof window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable)try{return await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()}catch(e){return console.error("Error checking passkey support:",e),!1}return!1}const re=()=>{const t=d(),{apiHost:n,hasSignedInBefore:s,mode:l}=N(),{validateToken:c}=w(),[_,m]=i(""),[g,h]=i(""),[p,f]=i("register"),[y,b]=i(""),[v,x]=i(""),[P,S]=i(""),[C,G]=i(""),[V,$]=i(""),[q,R]=i(!1),U=k({authMode:l,authHost:n});a(()=>{!async function(){const e=await oe();R(e)}(),s&&f("login")},[s]);const D=async()=>{x("");try{if(!(await U("/login",{method:"POST",body:JSON.stringify({identifier:_,passkeyAvailable:q})})).ok)return void x("Failed to send login link. Please try again.");await(async()=>{try{const e=await U("/webAuthn/login/start",{method:"POST"});if(!e.ok)return void console.error("Something went wrong getting webauthn options");const o=await e.json(),r=await u({optionsJSON:o}),n=await U("/webAuthn/login/finish",{method:"POST",body:JSON.stringify({assertionResponse:r})});n.ok||console.error("Failed to verify passkey");const i=await n.json();if("Success"===i.message)return i.mfaLogin?void t("/mfaLogin"):(await c(),void t("/"));console.error("Passkey login failed:",i.message)}catch(e){console.error("Passkey login error:",e)}})()}catch(e){console.error("Unexpected login error",e),x("An unexpected error occured. Try again. If the problem persists, try resetting your password")}};return e("div",{className:T,children:o("div",{className:O,children:[e("h2",{className:L,children:"login"===p?"Sign In":"Create Account"}),q?e(r,{children:o("form",{onSubmit:async e=>{e.preventDefault(),"login"===p&&D(),"register"===p&&(async()=>{x("");try{const e=await U("/registration/register",{method:"POST",body:JSON.stringify({email:g,phone:y})});if(!e.ok)return void x("Failed to register. Please try again.");"Success"===(await e.json()).message&&t("/verifyOTP"),x("An unexpected error occured. Try again. If the problem persists, try resetting your password")}catch(e){console.error("Unexpected login error",e),x("An unexpected error occured. Try again. If the problem persists, try resetting your password")}})()},children:["login"===p&&o("div",{className:M,children:[e("label",{htmlFor:"identifier",className:E,children:"Email Address / Phone Number"}),e("input",{id:"identifier",type:"text",value:_,onChange:e=>{const o=e.target.value;m(o)},autoComplete:"off",placeholder:"Email or Phone Number",className:j,onBlur:()=>{if(_){const e=X(_)||ee(_);$(e?"":"Please enter a valid email or phone number")}},required:!0}),e("p",{className:A,children:"Phone numbers must include a country code e.g. +1"}),V&&e("p",{className:F,children:V})]}),"register"===p&&o(r,{children:[o("div",{className:M,children:[e("label",{htmlFor:"email",className:E,children:"Email Address"}),e("input",{id:"email",type:"email",value:g,onChange:e=>{const o=e.target.value;h(o)},autoComplete:"off",className:j,onBlur:()=>{if(g){const e=X(g);G(e?"":"Please enter a valid email")}},required:!0}),C&&e("p",{className:F,children:C})]}),e(Q,{phone:y,setPhone:b,phoneError:P,setPhoneError:S})]}),e("button",{type:"submit",className:B,disabled:!("login"===p&&_?X(_)||ee(_):X(g)&&ee(y)),children:"login"===p?"Login":"Register"}),v&&e("p",{className:F,children:v}),e("button",{type:"button",onClick:()=>f("login"===p?"register":"login"),className:z,children:"login"===p?"Don't have an account? Create one":"Already have an account? Sign in"})]})}):e("p",{className:I,children:"❌ This device doesn't support passkey login. You must provide or register a passkey."})]})})};var te="mfaLogin-module__container___CDMP9",ne="mfaLogin-module__card___kWS58",ie="mfaLogin-module__title___dZABE",ae="mfaLogin-module__msg___2lh2D",se="mfaLogin-module__buttonGroup___3Corm",le="mfaLogin-module__button___4X2WF",de="mfaLogin-module__selected___lkiW-",ce="mfaLogin-module__codeLabel___iC4bk",_e="mfaLogin-module__countdown___rgtkd",me="mfaLogin-module__input___JP-RF",ue="mfaLogin-module__submit___n4-FT",ge="mfaLogin-module__error___SqfpH";C(".mfaLogin-module__container___CDMP9{align-items:center;color:#fff;display:flex;justify-content:center;padding:1rem}.mfaLogin-module__card___kWS58{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:1.5rem;width:100%}.mfaLogin-module__title___dZABE{color:#fff;font-size:1.5rem;font-weight:600;text-align:center}.mfaLogin-module__msg___2lh2D{color:#4ade80;text-align:center}.mfaLogin-module__buttonGroup___3Corm{display:flex;flex-direction:column;gap:1rem}.mfaLogin-module__button___4X2WF{background-color:#374151;border:1px solid #4b5563;border-radius:.5rem;color:#fff;font-weight:500;padding:.75rem 1rem;text-align:left;transition:background-color .2s}.mfaLogin-module__button___4X2WF:hover{background-color:#4b5563}.mfaLogin-module__selected___lkiW-{background-color:#2563eb;border-color:#3b82f6}.mfaLogin-module__codeLabel___iC4bk{display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.mfaLogin-module__countdown___rgtkd{color:#facc15;font-size:.875rem}.mfaLogin-module__input___JP-RF{background-color:#374151;border:1px solid #4b5563;border-radius:.5rem;color:#fff;font-family:monospace;font-size:1.25rem;letter-spacing:.2em;padding:.75rem 1rem;width:100%}.mfaLogin-module__input___JP-RF:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f6;outline:none}.mfaLogin-module__submit___n4-FT{background-color:#2563eb;border:1px solid #3b82f6;border-radius:.5rem;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1rem;transition:background-color .2s}.mfaLogin-module__submit___n4-FT:disabled{background-color:#9ca3af;cursor:not-allowed}.mfaLogin-module__error___SqfpH{color:#f87171;margin-bottom:.5rem;text-align:center}@media (max-width:480px){.mfaLogin-module__card___kWS58{padding:1rem}.mfaLogin-module__input___JP-RF,.mfaLogin-module__submit___n4-FT{font-size:1rem}}");const he=()=>{const{apiHost:t,mode:n}=N(),{validateToken:s}=w(),l=d(),[c,_]=i(""),[m,u]=i(""),[g,h]=i(!1),[p,f]=i(""),[y,b]=i(300),[v,x]=i(null),P=k({authMode:n,authHost:t}),S=async()=>{const e="phone"===v?"otp/verify-login-phone-otp":"otp/verify-login-email-otp";try{if(!(await P(`/${e}`,{method:"POST",body:JSON.stringify({verificationToken:c})})).ok)return void u("Verification failed.");await s(),l("/")}catch(e){console.error("Error verifying OTP",e),u("Verification failed.")}},C=async e=>{u("");const o="phone"===e?"otp/generate-login-phone-otp":"otp/generate-login-email-otp";try{(await P(`/${o}`,{method:"GET"})).ok?f(`Verification ${"phone"===e?"SMS":"email"} has been sent.`):u(`Failed to send ${e} code. If this persists, refresh the page and try again.`)}catch{u(`Failed to send ${e} code. If this persists, refresh the page and try again.`)}};return a(()=>{const e=setInterval(()=>{b(e=>e>0?e-1:0)},1e3);return()=>clearInterval(e)},[]),e("div",{className:te,children:o("div",{className:ne,children:[e("h2",{className:ie,children:"Multi-factor Authentication"}),p&&e("p",{className:ae,children:p}),o("div",{className:se,children:[o("button",{onClick:()=>{x("phone"),C("phone")},className:`${le} ${"phone"===v?de:""}`,children:["Send code to phone: ",e("span",{className:"font-mono",children:"****1234"})]}),o("button",{onClick:()=>{x("email"),C("email")},className:`${le} ${"email"===v?de:""}`,children:["Send code to email: ",e("span",{className:"font-mono",children:"j***@example.com"})]})]}),v&&o(r,{children:[m&&e("p",{className:ge,children:m}),o("label",{htmlFor:"otp",className:ce,children:["Enter the 6-digit code sent to your ",v,". ",e("br",{}),o("span",{className:_e,children:["Code expires in: ",(T=y,`${Math.floor(T/60).toString().padStart(2,"0")}:${(T%60).toString().padStart(2,"0")}`)]})]}),e("input",{id:"otp",type:"text",maxLength:6,className:me,placeholder:"••••••",onChange:e=>_(e.target.value)}),e("button",{onClick:async e=>{e.preventDefault(),u(""),h(!0);try{await S()}catch{u("Unexpected error occurred.")}finally{h(!1)}},className:ue,disabled:!c||c.length<6||g,children:g?"Verifying...":"Verify"})]})]})});var T};var pe="passKeyLogin-module__container___IUKxF",fe="passKeyLogin-module__card___2sKM1",ye="passKeyLogin-module__title___HZxvc",be="passKeyLogin-module__button___FvR4I";C(".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 ve=()=>{const r=d(),{apiHost:t,mode:n}=N(),{validateToken:i}=w(),a=k({authMode:n,authHost:t});return e("div",{className:pe,children:o("div",{className:fe,children:[e("h2",{className:ye,children:"Login with Passkey"}),e("button",{onClick:async()=>{try{const e=await a("/webAuthn/login/start",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include"});if(!e.ok)return void console.error("Something went wrong getting webauthn options");const o=await e.json(),t=await u({optionsJSON:o}),n=await a("/webAuthn/login/finish",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({assertionResponse:t}),credentials:"include"});n.ok||console.error("Failed to verify passkey");const s=await n.json();if("Success"===s.message)return s.mfaLogin&&r("/mfaLogin"),await i(),void r("/");console.error("Passkey login failed")}catch{console.error("Passkey login error")}},className:be,children:"Use Passkey"})]})})};var we="registerPasskey-module__container___jqEh8",ke="registerPasskey-module__card___MJAyC",xe="registerPasskey-module__loading___Q4i1x",Pe="registerPasskey-module__spinner___V1nhd",Ne="registerPasskey-module__supported___ihTih",Se="registerPasskey-module__title___vn2Qu",Ce="registerPasskey-module__description___AWmO-",Te="registerPasskey-module__button___D3b4B",Oe="registerPasskey-module__message___RiOw-",Le="registerPasskey-module__success___HP5aX",Ie="registerPasskey-module__error___hGiqE";C(".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}");const Me=()=>{const{apiHost:r,mode:t}=N(),{validateToken:n}=w(),s=d(),[l,c]=i("idle"),[_,m]=i(""),[u,p]=i(!1),f=k({authMode:t,authHost:r}),y=async(e,o)=>{try{if(!(await f("/webAuthn/register/finish",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({attestationResponse:e,metadata:o}),credentials:"include"})).ok)return c("error"),void m("Something went wrong registering passkey.");await n()}catch(e){console.error(`An error occurred: ${e}`)}};return a(()=>{!async function(){const e=await oe();p(e)}()},[]),e("div",{className:we,children:e("div",{className:ke,children:u?u&&o("div",{className:Ne,children:[e("h2",{className:Se,children:"Secure Your Account with a Passkey"}),e("p",{className:Ce,children:"Your device supports passkeys! Register one to skip passwords forever."}),e("button",{onClick:async()=>{c("loading");const e=prompt("Name this device (e.g., 'MacBook Pro', 'iPhone', 'YubiKey')"),{platform:o,browser:r,deviceInfo:t}=function(){const e=navigator.userAgent.toLowerCase();let o="unknown",r="unknown";return/iphone|ipad|ipod/.test(e)?o="ios":/android/.test(e)?o="android":/mac os/.test(e)?o="mac":/windows/.test(e)?o="windows":/linux/.test(e)&&(o="linux"),/chrome/.test(e)&&(r="chrome"),/safari/.test(e)&&!/chrome/.test(e)&&(r="safari"),/firefox/.test(e)&&(r="firefox"),/edg/.test(e)&&(r="edge"),{platform:o,browser:r,deviceInfo:`${o} • ${r}`}}();try{const n=await f("/webAuthn/register/start",{method:"GET",headers:{"Content-Type":"application/json"},credentials:"include"});if(!n.ok)return c("error"),void m("Something went wrong registering passkey.");const i=await n.json();let a;try{a=await g({optionsJSON:i}),await y(a,{friendlyName:e,platform:o,browser:r,deviceInfo:t})}catch(e){return void(e instanceof h?(console.error(`Error occurred with webAuthn, ${e.name} - ${e.code}-${e.stack}`),c("error"),m(`Error: ${e.name}`)):(console.error("A problem happened.",e),c("error"),m(`Error: ${e}`)))}c("success"),m("Passkey registered successfully."),s("/")}catch(e){console.error(e),c("error"),m("Something went wrong registering passkey.")}},disabled:"loading"===l,className:Te,children:"loading"===l?"Registering...":"Register Passkey"}),_&&e("p",{className:`${Oe} ${"success"===l?Le:Ie}`,children:_})]}):o("div",{className:xe,children:[e("div",{className:Pe}),e("span",{children:"Checking for Passkey Support..."})]})})})};var Ee="verifyOTP-module__container___wgoDE",je="verifyOTP-module__card___3cs2p",Ae="verifyOTP-module__title___fZ-1d",Fe="verifyOTP-module__subtitle___dGSu3",Be="verifyOTP-module__error___GEtlG",ze="verifyOTP-module__success___46TjG",Ge="verifyOTP-module__form___jiGG-",Ve="verifyOTP-module__label___Zq5Mi",$e="verifyOTP-module__timer___smq-a",qe="verifyOTP-module__input___yqIXM",Re="verifyOTP-module__resend___PlmkG",Ue="verifyOTP-module__button___8pIuO",De="verifyOTP-module__toggle___wbzVa";C(".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%}");const Je=()=>{const r=d(),{apiHost:t,mode:n}=N(),[s,l]=i(""),[c,_]=i(""),[m,u]=i(null),[g,h]=i(null),[p,f]=i(""),[y,b]=i(!1),[v,w]=i(""),[x,P]=i(300),[S,C]=i(300),T=k({authMode:n,authHost:t}),O=async()=>{b(!0);try{if(!m){(await T("/otp/verify-phone-otp",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({verificationToken:c}),credentials:"include"})).ok?u(!0):f("Verification failed.")}}catch(e){console.error(e),f("Verification failed.")}b(!1)},L=async()=>{b(!0);try{if(!g){(await T("/otp/verify-email-otp",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({verificationToken:s}),credentials:"include"})).ok?h(!0):f("Verification failed.")}}catch(e){console.error(e),f("Verification failed.")}b(!1)},I=e=>{w(""),"email"===e?((async()=>{f("");const e=await T("/otp/generate-email-otp",{method:"GET",headers:{"Content-Type":"application/json"}}),o=await e.json();e.ok?(w("Verification email has been resent."),o.token&&localStorage.setItem("token",o.token)):f("Failed to send Email code. If this persists, refresh the page and try again.")})(),w("Verification email has been resent.")):((async()=>{f("");const e=await T("/otp/generate-phone-otp",{method:"GET",headers:{"Content-Type":"application/json"}}),o=await e.json();e.ok?(o.token&&localStorage.setItem("token",o.token),w("Verification SMS has been resent.")):f("Failed to send SMS code. If this persists, refresh the page and try again.")})(),w("Verification SMS has been resent."))},M=o=>!0===o?e("span",{className:"text-green-400 ml-2",children:"✅"}):!1===o?e("span",{className:"text-red-400 ml-2",children:"❌"}):null,E=e=>`${Math.floor(e/60).toString().padStart(2,"0")}:${(e%60).toString().padStart(2,"0")}`;return a(()=>{const e=setInterval(()=>{P(e=>e>0?e-1:0)},1e3);return()=>clearInterval(e)},[]),a(()=>{const e=setInterval(()=>{C(e=>e>0?e-1:0)},1e3);return()=>clearInterval(e)},[]),a(()=>{g&&m&&r("/registerPasskey")},[g,m,r]),e("div",{className:Ee,children:o("div",{className:je,children:[e("h2",{className:Ae,children:"Verify Your Contact Info"}),e("p",{className:Fe,children:"Enter the codes sent to your email and phone number."}),p&&e("p",{className:Be,children:p}),v&&e("p",{className:ze,children:v}),o("form",{onSubmit:async e=>{if(e.preventDefault(),f(""),6===s.length)if(6===c.length){b(!0);try{L(),O()}catch{f("Unexpected error occurred.")}finally{b(!1)}}else f("Please enter a valid code.");else f("Please enter a valid code.")},className:Ge,children:[o("div",{children:[o("label",{htmlFor:"emailCode",className:Ve,children:["Email Verification Code ",M(g)," -"," ",o("span",{className:$e,children:["Code expires in: ",E(x)]})]}),e("input",{id:"emailCode",type:"text",maxLength:6,value:s,autoComplete:"off",onChange:e=>{l(e.target.value),h(null)},className:qe,required:!0}),e("button",{type:"button",onClick:()=>I("email"),className:Re,children:"Resend code to email"})]}),o("div",{children:[o("label",{htmlFor:"phoneCode",className:Ve,children:["Phone Verification Code ",M(m)," -"," ",o("span",{className:$e,children:["Code expires in: ",E(S)]})]}),e("input",{id:"phoneCode",type:"text",maxLength:6,pattern:"\\d{6}",inputMode:"numeric",value:c,autoComplete:"off",onChange:e=>{_(e.target.value),u(null)},className:qe,required:!0}),e("button",{type:"button",onClick:()=>I("phone"),className:Re,children:"Resend code to phone"})]}),e("button",{type:"submit",className:Ue,children:y?"Verifying...":"Verify & Continue"}),e("button",{type:"button",onClick:()=>r("/login"),className:De,children:"Back to login"})]})]})})},Ke=()=>o(c,{children:[e(_,{path:"/login",element:e(re,{})}),e(_,{path:"/passKeyLogin",element:e(ve,{})}),e(_,{path:"/mfaLogin",element:e(he,{})}),e(_,{path:"/verifyOTP",element:e(Je,{})}),e(_,{path:"/registerPasskey",element:e(Me,{})}),e(_,{path:"*",element:e(m,{to:"/login",replace:!0})})]});export{S as AuthProvider,Ke as AuthRoutes,N as useAuth};
1
+ import{jsx as e,jsxs as o,Fragment as r}from"react/jsx-runtime";import{createContext as n,useContext as t,useState as i,useEffect as a,useCallback as l,useRef as s}from"react";import{useNavigate as d,Routes as c,Route as _,Navigate as m}from"react-router-dom";import{startAuthentication as u,startRegistration as g,WebAuthnError as p}from"@simplewebauthn/browser";import h,{AsYouType as f,parsePhoneNumberFromString as y}from"libphonenumber-js";const b=n(void 0),v=({value:o,children:r})=>e(b.Provider,{value:o,children:r}),w=()=>{const e=t(b);if(!e)throw new Error("useInternalAuth must be used within InternalAuthProvider");return e},k=e=>{const{authMode:o,authHost:r}=e;return async function(e,n){const t=`${r}${"server"===o?"auth":""}${e.startsWith("/")?e:`/${e}`}`,i={...n,credentials:"include",headers:{"Content-Type":"application/json",...n?.headers}},a=await fetch(t,i);if(a.ok)return a;throw console.warn("Auth fetch failed:",a.status,t),new Error(`Failed to make API call to ${t}`)}},x=()=>e("div",{className:"flex items-center justify-center min-h-screen bg-gray-900",children:e("div",{"data-testid":"loading",className:"w-12 h-12 border-4 border-gray-600 border-t-blue-500 rounded-full animate-spin"})});const P=n(void 0),N=()=>{const e=t(P);if(!e)throw new Error("useAuth must be used within an AuthProvider");return e},C=({children:r,apiHost:n,autoDetectPreviousSignin:t=!0,mode:s="web"})=>{const[d,c]=i(null),[_,m]=i([]),[u,g]=i(!1),[p,h]=i(!0),[f,y]=i(null),{hasSignedInBefore:b,markSignedIn:w}=function(e="seamlessauth_seen"){const[o,r]=i(!1);return a(()=>{try{"true"===localStorage.getItem(e)&&r(!0)}catch{}},[e]),{hasSignedInBefore:o,markSignedIn:()=>{try{localStorage.setItem(e,"true"),r(!0)}catch{}}}}(),[N]=i(s),C=k({authMode:N,authHost:n}),S=l(async()=>{if(d)try{await C("/logout",{method:"GET"})}catch{console.error("Error during logout")}finally{g(!1),c(null),y(null)}},[C,d]),T=async()=>{try{const e=await C("users/me",{method:"GET"});if(e.ok){const{user:o,credentials:r}=await e.json();c(o),m(r),g(!0)}else S()}catch{S()}finally{h(!1)}};return a(()=>{T()},[]),a(()=>{d&&u&&w()},[d,u,w]),p?o("div",{className:"min-h-screen flex items-center justify-center bg-gray-100",children:[e(x,{}),";"]}):e(P.Provider,{value:{user:d,logout:S,deleteUser:async()=>{try{if((await C("/users/delete",{method:"delete"})).ok)return c(null),g(!1),void y(null);throw new Error("Could not delete user.")}catch(e){throw console.error("Something went wrong deleting user:",e),new Error("Could not delete user.")}},isAuthenticated:u,hasRole:e=>d?.roles?.includes(e),apiHost:n,token:f,markSignedIn:w,hasSignedInBefore:!!t&&b,mode:s,credentials:_,updateCredential:async e=>{const o=await C("users/credentials",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({friendlyName:e.friendlyName,id:e.id})});if(o.ok)return o.json();throw new Error("Failed to update credential")},deleteCredential:async e=>{const o=await C("users/credentials",{method:"DELETE",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e})});if(o.ok)return o.json();throw new Error("Failed to update credential")}},children:e(v,{value:{validateToken:T,setLoading:h},children:r})})};function S(e,o){void 0===o&&(o={});var r=o.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css","top"===r&&n.firstChild?n.insertBefore(t,n.firstChild):n.appendChild(t),t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))}}var T="login-module__container___YggDx",O="login-module__card___Ub-Py",M="login-module__heading___neEqb",L="login-module__message___qSejT",I="login-module__inputGroup___P6qgS",E="login-module__label___mx5vu",j="login-module__input___U07lW",A="login-module__helperText___kDQ4-",F="login-module__error___40zxh",z="login-module__button___0kFBs",B="login-module__toggle___1JiG1",G="login-module__underline___gs-RS",V="login-module__phoneRow___oeNtq",q="login-module__select___rRV1O",R="login-module__phoneInput___2MPQC";S(".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}}");var U="termsModal-module__overlay___-j6r5",D="termsModal-module__modal___4PxZV",H="termsModal-module__header___B7wxb",K="termsModal-module__title___Sucwt",$="termsModal-module__closeBtn___evIs5",J="termsModal-module__content___5BDhN",W="termsModal-module__link___oPZrU";S(".termsModal-module__overlay___-j6r5{align-items:center;background-color:rgba(0,0,0,.7);display:flex;inset:0;justify-content:center;position:fixed;z-index:999}.termsModal-module__modal___4PxZV{background-color:#1a1a1a;border-radius:8px;box-shadow:0 10px 25px rgba(0,0,0,.4);color:#fff;max-height:80vh;max-width:640px;outline:none;overflow-y:auto;padding:24px;width:100%}.termsModal-module__header___B7wxb{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.termsModal-module__title___Sucwt{color:#60a5fa;font-size:1.25rem;font-weight:700}.termsModal-module__closeBtn___evIs5{background:none;border:none;color:#ccc;cursor:pointer;font-size:1.75rem}.termsModal-module__closeBtn___evIs5:hover{color:#fff}.termsModal-module__content___5BDhN{color:#d1d5db;font-size:.9rem;line-height:1.6}.termsModal-module__link___oPZrU{color:#60a5fa;text-decoration:underline}.termsModal-module__link___oPZrU:hover{text-decoration:none}");const Z=({isOpen:r,onClose:n})=>{const t=s(null);return a(()=>{const e=e=>{"Escape"===e.key&&n()};return r&&(document.addEventListener("keydown",e),t.current?.focus()),()=>{document.removeEventListener("keydown",e)}},[r,n]),r?e("div",{className:U,role:"dialog","aria-modal":"true","aria-labelledby":"terms-title",children:o("div",{className:D,tabIndex:-1,ref:t,children:[o("div",{className:H,children:[e("h2",{id:"terms-title",className:K,children:"SMS Terms & Conditions"}),e("button",{onClick:n,className:$,children:"×"})]}),o("div",{className:J,children:[o("p",{children:[e("strong",{children:"Effective Date:"})," June 01, 2025"]}),e("p",{children:"By providing your phone number to SeamlessAuth, a Fells Code LLC product, you agree to receive SMS messages for identity verification, authentication, and account security."}),o("p",{children:[e("strong",{children:"1. Purpose:"})," SMS is used only for account security (OTP, MFA). No marketing messages."]}),o("p",{children:[e("strong",{children:"2. Frequency:"})," Based on login and account activity."]}),o("p",{children:[e("strong",{children:"3. Opt-Out:"})," Contact support@seamlessauth.com to opt out."]}),o("p",{children:[e("strong",{children:"4. Fees:"})," Message and data rates may apply."]}),o("p",{children:[e("strong",{children:"5. Supported Carriers:"})," Most major providers supported, delivery not guaranteed."]}),o("p",{children:[e("strong",{children:"6. Privacy:"})," Your phone number is not shared or sold. See our Privacy Policy."]}),o("p",{children:[e("strong",{children:"7. Changes:"})," Terms may be updated with notice on this page."]}),o("p",{children:["Questions? Email us at"," ",e("a",{className:W,href:"mailto:support@seamlessauth.com",children:"support@seamlessauth.com"}),"."]})]})]})}):null},Q=[{code:"US",name:"United States",dialCode:"+1",flag:"🇺🇸"},{code:"CA",name:"Canada",dialCode:"+1",flag:"🇨🇦"},{code:"GB",name:"United Kingdom",dialCode:"+44",flag:"🇬🇧"},{code:"IN",name:"India",dialCode:"+91",flag:"🇮🇳"},{code:"AU",name:"Australia",dialCode:"+61",flag:"🇦🇺"}];function X({phone:r,setPhone:n,phoneError:t,setPhoneError:l}){const[s,d]=i(!1),[c,_]=i(Q[0]);a(()=>{const e=function(){try{const e=Intl.DateTimeFormat().resolvedOptions().locale||"en-US",o=e.split("-")[1]?.toUpperCase()||"US";return Q.find(e=>e.code===o)||Q[0]}catch{return Q[0]}}();_(e)},[]);return o("div",{className:I,children:[e("label",{id:"phone",className:E,children:"Phone Number"}),o("div",{className:V,children:[e("select",{value:c.code,onChange:e=>{const o=Q.find(o=>o.code===e.target.value);if(o){_(o);const e=r.replace(/^\+\d+/,""),t=(new f).input(o.dialCode+e);n(t)}},className:q,children:Q.map(e=>o("option",{value:e.code,children:[e.flag," (",e.dialCode,")"]},e.code))}),e("input",{"aria-labelledby":"phone",type:"tel",value:r,onChange:e=>{const o=e.target.value,r=o.startsWith(c.dialCode)?o:c.dialCode+o,i=(new f).input(r);n(i),t&&l("")},onBlur:()=>{if(r){const e=y(r),o=e?.isValid();l(o?"":"Please enter a valid phone number.")}},autoComplete:"off",placeholder:"(555) 123-4567",className:R})]}),o("p",{className:A,children:["By signing up, you agree to our"," ",e("button",{onClick:()=>d(!0),className:G,children:"SMS Terms & Conditions"}),"."]}),t&&e("p",{className:F,children:t}),e(Z,{isOpen:s,onClose:()=>d(!1)})]})}const Y=e=>{if("string"!=typeof e)return!1;const o=e.trim();if(o.length<3||o.length>320)return!1;const r=o.split("@");if(2!==r.length)return!1;const[n,t]=r;return!(!/^[A-Za-z0-9._%+-]+$/.test(n)||n.startsWith(".")||n.endsWith(".")||n.includes(".."))&&!(!/^[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/.test(t)||t.startsWith("-")||t.endsWith("-")||t.startsWith(".")||t.endsWith(".")||t.includes(".."))},ee=e=>{const o=h(e);return o?.isValid()||!1};async function oe(){if(window.PublicKeyCredential&&"function"==typeof window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable)try{return await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()}catch(e){return console.error("Error checking passkey support:",e),!1}return!1}const re=()=>{const n=d(),{apiHost:t,hasSignedInBefore:l,mode:s}=N(),{validateToken:c}=w(),[_,m]=i(""),[g,p]=i(""),[h,f]=i("register"),[y,b]=i(""),[v,x]=i(""),[P,C]=i(""),[S,G]=i(""),[V,q]=i(""),[R,U]=i(!1),D=k({authMode:s,authHost:t});a(()=>{!async function(){const e=await oe();U(e)}(),l&&f("login")},[l]);const H=async()=>{x("");try{if(!(await D("/login",{method:"POST",body:JSON.stringify({identifier:_,passkeyAvailable:R})})).ok)return void x("Failed to send login link. Please try again.");await(async()=>{try{const e=await D("/webAuthn/login/start",{method:"POST"});if(!e.ok)return void console.error("Something went wrong getting webauthn options");const o=await e.json(),r=await u({optionsJSON:o}),t=await D("/webAuthn/login/finish",{method:"POST",body:JSON.stringify({assertionResponse:r})});t.ok||console.error("Failed to verify passkey");const i=await t.json();if("Success"===i.message)return i.mfaLogin?void n("/mfaLogin"):(await c(),void n("/"));console.error("Passkey login failed:",i.message)}catch(e){console.error("Passkey login error:",e)}})()}catch(e){console.error("Unexpected login error",e),x("An unexpected error occured. Try again. If the problem persists, try resetting your password")}};return e("div",{className:T,children:o("div",{className:O,children:[e("h2",{className:M,children:"login"===h?"Sign In":"Create Account"}),R?e(r,{children:o("form",{onSubmit:async e=>{e.preventDefault(),"login"===h&&H(),"register"===h&&(async()=>{x("");try{const e=await D("/registration/register",{method:"POST",body:JSON.stringify({email:g,phone:y})});if(!e.ok)return void x("Failed to register. Please try again.");"Success"===(await e.json()).message&&n("/verifyOTP"),x("An unexpected error occured. Try again. If the problem persists, try resetting your password")}catch(e){console.error("Unexpected login error",e),x("An unexpected error occured. Try again. If the problem persists, try resetting your password")}})()},children:["login"===h&&o("div",{className:I,children:[e("label",{htmlFor:"identifier",className:E,children:"Email Address / Phone Number"}),e("input",{id:"identifier",type:"text",value:_,onChange:e=>{const o=e.target.value;m(o)},autoComplete:"off",placeholder:"Email or Phone Number",className:j,onBlur:()=>{if(_){const e=Y(_)||ee(_);q(e?"":"Please enter a valid email or phone number")}},required:!0}),e("p",{className:A,children:"Phone numbers must include a country code e.g. +1"}),V&&e("p",{className:F,children:V})]}),"register"===h&&o(r,{children:[o("div",{className:I,children:[e("label",{htmlFor:"email",className:E,children:"Email Address"}),e("input",{id:"email",type:"email",value:g,onChange:e=>{const o=e.target.value;p(o)},autoComplete:"off",className:j,onBlur:()=>{if(g){const e=Y(g);G(e?"":"Please enter a valid email")}},required:!0}),S&&e("p",{className:F,children:S})]}),e(X,{phone:y,setPhone:b,phoneError:P,setPhoneError:C})]}),e("button",{type:"submit",className:z,disabled:!("login"===h&&_?Y(_)||ee(_):Y(g)&&ee(y)),children:"login"===h?"Login":"Register"}),v&&e("p",{className:F,children:v}),e("button",{type:"button",onClick:()=>f("login"===h?"register":"login"),className:B,children:"login"===h?"Don't have an account? Create one":"Already have an account? Sign in"})]})}):e("p",{className:L,children:"❌ This device doesn't support passkey login. You must provide or register a passkey."})]})})};var ne="mfaLogin-module__container___CDMP9",te="mfaLogin-module__card___kWS58",ie="mfaLogin-module__title___dZABE",ae="mfaLogin-module__msg___2lh2D",le="mfaLogin-module__buttonGroup___3Corm",se="mfaLogin-module__button___4X2WF",de="mfaLogin-module__selected___lkiW-",ce="mfaLogin-module__codeLabel___iC4bk",_e="mfaLogin-module__countdown___rgtkd",me="mfaLogin-module__input___JP-RF",ue="mfaLogin-module__submit___n4-FT",ge="mfaLogin-module__error___SqfpH";S(".mfaLogin-module__container___CDMP9{align-items:center;color:#fff;display:flex;justify-content:center;padding:1rem}.mfaLogin-module__card___kWS58{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:1.5rem;width:100%}.mfaLogin-module__title___dZABE{color:#fff;font-size:1.5rem;font-weight:600;text-align:center}.mfaLogin-module__msg___2lh2D{color:#4ade80;text-align:center}.mfaLogin-module__buttonGroup___3Corm{display:flex;flex-direction:column;gap:1rem}.mfaLogin-module__button___4X2WF{background-color:#374151;border:1px solid #4b5563;border-radius:.5rem;color:#fff;font-weight:500;padding:.75rem 1rem;text-align:left;transition:background-color .2s}.mfaLogin-module__button___4X2WF:hover{background-color:#4b5563}.mfaLogin-module__selected___lkiW-{background-color:#2563eb;border-color:#3b82f6}.mfaLogin-module__codeLabel___iC4bk{display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.mfaLogin-module__countdown___rgtkd{color:#facc15;font-size:.875rem}.mfaLogin-module__input___JP-RF{background-color:#374151;border:1px solid #4b5563;border-radius:.5rem;color:#fff;font-family:monospace;font-size:1.25rem;letter-spacing:.2em;padding:.75rem 1rem;width:100%}.mfaLogin-module__input___JP-RF:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f6;outline:none}.mfaLogin-module__submit___n4-FT{background-color:#2563eb;border:1px solid #3b82f6;border-radius:.5rem;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1rem;transition:background-color .2s}.mfaLogin-module__submit___n4-FT:disabled{background-color:#9ca3af;cursor:not-allowed}.mfaLogin-module__error___SqfpH{color:#f87171;margin-bottom:.5rem;text-align:center}@media (max-width:480px){.mfaLogin-module__card___kWS58{padding:1rem}.mfaLogin-module__input___JP-RF,.mfaLogin-module__submit___n4-FT{font-size:1rem}}");const pe=()=>{const{apiHost:n,mode:t}=N(),{validateToken:l}=w(),s=d(),[c,_]=i(""),[m,u]=i(""),[g,p]=i(!1),[h,f]=i(""),[y,b]=i(300),[v,x]=i(null),P=k({authMode:t,authHost:n}),C=async()=>{const e="phone"===v?"otp/verify-login-phone-otp":"otp/verify-login-email-otp";try{if(!(await P(`/${e}`,{method:"POST",body:JSON.stringify({verificationToken:c})})).ok)return void u("Verification failed.");await l(),s("/")}catch(e){console.error("Error verifying OTP",e),u("Verification failed.")}},S=async e=>{u("");const o="phone"===e?"otp/generate-login-phone-otp":"otp/generate-login-email-otp";try{(await P(`/${o}`,{method:"GET"})).ok?f(`Verification ${"phone"===e?"SMS":"email"} has been sent.`):u(`Failed to send ${e} code. If this persists, refresh the page and try again.`)}catch{u(`Failed to send ${e} code. If this persists, refresh the page and try again.`)}};return a(()=>{const e=setInterval(()=>{b(e=>e>0?e-1:0)},1e3);return()=>clearInterval(e)},[]),e("div",{className:ne,children:o("div",{className:te,children:[e("h2",{className:ie,children:"Multi-factor Authentication"}),h&&e("p",{className:ae,children:h}),o("div",{className:le,children:[o("button",{onClick:()=>{x("phone"),S("phone")},className:`${se} ${"phone"===v?de:""}`,children:["Send code to phone: ",e("span",{className:"font-mono",children:"****1234"})]}),o("button",{onClick:()=>{x("email"),S("email")},className:`${se} ${"email"===v?de:""}`,children:["Send code to email: ",e("span",{className:"font-mono",children:"j***@example.com"})]})]}),v&&o(r,{children:[m&&e("p",{className:ge,children:m}),o("label",{htmlFor:"otp",className:ce,children:["Enter the 6-digit code sent to your ",v,". ",e("br",{}),o("span",{className:_e,children:["Code expires in: ",(T=y,`${Math.floor(T/60).toString().padStart(2,"0")}:${(T%60).toString().padStart(2,"0")}`)]})]}),e("input",{id:"otp",type:"text",maxLength:6,className:me,placeholder:"••••••",onChange:e=>_(e.target.value)}),e("button",{onClick:async e=>{e.preventDefault(),u(""),p(!0);try{await C()}catch{u("Unexpected error occurred.")}finally{p(!1)}},className:ue,disabled:!c||c.length<6||g,children:g?"Verifying...":"Verify"})]})]})});var T};var he="passKeyLogin-module__container___IUKxF",fe="passKeyLogin-module__card___2sKM1",ye="passKeyLogin-module__title___HZxvc",be="passKeyLogin-module__button___FvR4I";S(".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 ve=()=>{const r=d(),{apiHost:n,mode:t}=N(),{validateToken:i}=w(),a=k({authMode:t,authHost:n});return e("div",{className:he,children:o("div",{className:fe,children:[e("h2",{className:ye,children:"Login with Passkey"}),e("button",{onClick:async()=>{try{const e=await a("/webAuthn/login/start",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include"});if(!e.ok)return void console.error("Something went wrong getting webauthn options");const o=await e.json(),n=await u({optionsJSON:o}),t=await a("/webAuthn/login/finish",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({assertionResponse:n}),credentials:"include"});t.ok||console.error("Failed to verify passkey");const l=await t.json();if("Success"===l.message)return l.mfaLogin&&r("/mfaLogin"),await i(),void r("/");console.error("Passkey login failed")}catch{console.error("Passkey login error")}},className:be,children:"Use Passkey"})]})})};var we="registerPasskey-module__container___jqEh8",ke="registerPasskey-module__card___MJAyC",xe="registerPasskey-module__loading___Q4i1x",Pe="registerPasskey-module__spinner___V1nhd",Ne="registerPasskey-module__supported___ihTih",Ce="registerPasskey-module__title___vn2Qu",Se="registerPasskey-module__description___AWmO-",Te="registerPasskey-module__button___D3b4B",Oe="registerPasskey-module__message___RiOw-",Me="registerPasskey-module__success___HP5aX",Le="registerPasskey-module__error___hGiqE";S(".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 Ie="deviceNameModal-module__overlay___fmdPd",Ee="deviceNameModal-module__modal___uoEda",je="deviceNameModal-module__description___-HMTA",Ae="deviceNameModal-module__input___4vQMI",Fe="deviceNameModal-module__actions___KXw7b",ze="deviceNameModal-module__primary___9Ozlk",Be="deviceNameModal-module__secondary___HILhc";S(".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 Ge=({isOpen:r,onCancel:n,onConfirm:t})=>{const[a,l]=i("");return r?e("div",{className:Ie,children:o("div",{className:Ee,children:[e("h3",{children:"Name This Device"}),e("p",{className:je,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:a,onChange:e=>l(e.target.value),className:Ae,autoFocus:!0}),o("div",{className:Fe,children:[e("button",{onClick:n,className:Be,children:"Cancel"}),e("button",{onClick:()=>t(a.trim()),disabled:!a.trim(),className:ze,children:"Continue"})]})]})}):null},Ve=()=>{const{apiHost:n,mode:t}=N(),{validateToken:l}=w(),s=d(),[c,_]=i("idle"),[m,u]=i(""),[h,f]=i(!1),[y,b]=i(!1),[v,x]=i(null),P=k({authMode:t,authHost:n});a(()=>{!async function(){const e=await oe();f(e)}()},[]);const C=async(e,o)=>{if(!(await P("/webAuthn/register/finish",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({attestationResponse:e,metadata:o}),credentials:"include"})).ok)throw new Error("Verification failed");await l()};return o(r,{children:[e("div",{className:we,children:e("div",{className:ke,children:o("div",h?{className:Ne,children:[e("h2",{className:Ce,children:"Secure Your Account with a Passkey"}),e("p",{className:Se,children:"Your device supports passkeys! Register one to skip passwords forever."}),e("button",{onClick:()=>{const{platform:e,browser:o,deviceInfo:r}=function(){const e=navigator.userAgent.toLowerCase();let o="unknown",r="unknown";return/iphone|ipad|ipod/.test(e)?o="ios":/android/.test(e)?o="android":/mac os/.test(e)?o="mac":/windows/.test(e)?o="windows":/linux/.test(e)&&(o="linux"),/chrome/.test(e)&&(r="chrome"),/safari/.test(e)&&!/chrome/.test(e)&&(r="safari"),/firefox/.test(e)&&(r="firefox"),/edg/.test(e)&&(r="edge"),{platform:o,browser:r,deviceInfo:`${o} • ${r}`}}();x({platform:e,browser:o,deviceInfo:r}),b(!0)},disabled:"loading"===c,className:Te,children:"loading"===c?"Registering...":"Register Passkey"}),m&&e("p",{className:`${Oe} ${"success"===c?Me:Le}`,children:m})]}:{className:xe,children:[e("div",{className:Pe}),e("span",{children:"Checking for Passkey Support..."})]})})}),e(Ge,{isOpen:y,onCancel:()=>{b(!1),x(null)},onConfirm:async e=>{if(!v)return;const{platform:o,browser:r,deviceInfo:n}=v;_("loading");try{const t=await P("/webAuthn/register/start",{method:"GET",headers:{"Content-Type":"application/json"},credentials:"include"});if(!t.ok)throw new Error("Failed to fetch challenge");const i=await t.json();let a;try{a=await g({optionsJSON:i})}catch(e){if(e instanceof p)throw new Error(e.name);throw e}await C(a,{friendlyName:e,platform:o,browser:r,deviceInfo:n}),_("success"),u("Passkey registered successfully."),s("/")}catch(e){console.error(e),_("error"),u("Error registering passkey.")}finally{b(!1),x(null)}}})]})};var qe="verifyOTP-module__container___wgoDE",Re="verifyOTP-module__card___3cs2p",Ue="verifyOTP-module__title___fZ-1d",De="verifyOTP-module__subtitle___dGSu3",He="verifyOTP-module__error___GEtlG",Ke="verifyOTP-module__success___46TjG",$e="verifyOTP-module__form___jiGG-",Je="verifyOTP-module__label___Zq5Mi",We="verifyOTP-module__timer___smq-a",Ze="verifyOTP-module__input___yqIXM",Qe="verifyOTP-module__resend___PlmkG",Xe="verifyOTP-module__button___8pIuO",Ye="verifyOTP-module__toggle___wbzVa";S(".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%}");const eo=()=>{const r=d(),{apiHost:n,mode:t}=N(),[l,s]=i(""),[c,_]=i(""),[m,u]=i(null),[g,p]=i(null),[h,f]=i(""),[y,b]=i(!1),[v,w]=i(""),[x,P]=i(300),[C,S]=i(300),T=k({authMode:t,authHost:n}),O=async()=>{b(!0);try{if(!m){(await T("/otp/verify-phone-otp",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({verificationToken:c}),credentials:"include"})).ok?u(!0):f("Verification failed.")}}catch(e){console.error(e),f("Verification failed.")}b(!1)},M=async()=>{b(!0);try{if(!g){(await T("/otp/verify-email-otp",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({verificationToken:l}),credentials:"include"})).ok?p(!0):f("Verification failed.")}}catch(e){console.error(e),f("Verification failed.")}b(!1)},L=e=>{w(""),"email"===e?((async()=>{f("");const e=await T("/otp/generate-email-otp",{method:"GET",headers:{"Content-Type":"application/json"}}),o=await e.json();e.ok?(w("Verification email has been resent."),o.token&&localStorage.setItem("token",o.token)):f("Failed to send Email code. If this persists, refresh the page and try again.")})(),w("Verification email has been resent.")):((async()=>{f("");const e=await T("/otp/generate-phone-otp",{method:"GET",headers:{"Content-Type":"application/json"}}),o=await e.json();e.ok?(o.token&&localStorage.setItem("token",o.token),w("Verification SMS has been resent.")):f("Failed to send SMS code. If this persists, refresh the page and try again.")})(),w("Verification SMS has been resent."))},I=o=>!0===o?e("span",{className:"text-green-400 ml-2",children:"✅"}):!1===o?e("span",{className:"text-red-400 ml-2",children:"❌"}):null,E=e=>`${Math.floor(e/60).toString().padStart(2,"0")}:${(e%60).toString().padStart(2,"0")}`;return a(()=>{const e=setInterval(()=>{P(e=>e>0?e-1:0)},1e3);return()=>clearInterval(e)},[]),a(()=>{const e=setInterval(()=>{S(e=>e>0?e-1:0)},1e3);return()=>clearInterval(e)},[]),a(()=>{g&&m&&r("/registerPasskey")},[g,m,r]),e("div",{className:qe,children:o("div",{className:Re,children:[e("h2",{className:Ue,children:"Verify Your Contact Info"}),e("p",{className:De,children:"Enter the codes sent to your email and phone number."}),h&&e("p",{className:He,children:h}),v&&e("p",{className:Ke,children:v}),o("form",{onSubmit:async e=>{if(e.preventDefault(),f(""),6===l.length)if(6===c.length){b(!0);try{M(),O()}catch{f("Unexpected error occurred.")}finally{b(!1)}}else f("Please enter a valid code.");else f("Please enter a valid code.")},className:$e,children:[o("div",{children:[o("label",{htmlFor:"emailCode",className:Je,children:["Email Verification Code ",I(g)," -"," ",o("span",{className:We,children:["Code expires in: ",E(x)]})]}),e("input",{id:"emailCode",type:"text",maxLength:6,value:l,autoComplete:"off",onChange:e=>{s(e.target.value),p(null)},className:Ze,required:!0}),e("button",{type:"button",onClick:()=>L("email"),className:Qe,children:"Resend code to email"})]}),o("div",{children:[o("label",{htmlFor:"phoneCode",className:Je,children:["Phone Verification Code ",I(m)," -"," ",o("span",{className:We,children:["Code expires in: ",E(C)]})]}),e("input",{id:"phoneCode",type:"text",maxLength:6,pattern:"\\d{6}",inputMode:"numeric",value:c,autoComplete:"off",onChange:e=>{_(e.target.value),u(null)},className:Ze,required:!0}),e("button",{type:"button",onClick:()=>L("phone"),className:Qe,children:"Resend code to phone"})]}),e("button",{type:"submit",className:Xe,children:y?"Verifying...":"Verify & Continue"}),e("button",{type:"button",onClick:()=>r("/login"),className:Ye,children:"Back to login"})]})]})})},oo=()=>o(c,{children:[e(_,{path:"/login",element:e(re,{})}),e(_,{path:"/passKeyLogin",element:e(ve,{})}),e(_,{path:"/mfaLogin",element:e(pe,{})}),e(_,{path:"/verifyOTP",element:e(eo,{})}),e(_,{path:"/registerPasskey",element:e(Ve,{})}),e(_,{path:"*",element:e(m,{to:"/login",replace:!0})})]});export{C as AuthProvider,oo as AuthRoutes,N as useAuth};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/context/InternalAuthContext.tsx","../src/fetchWithAuth.ts","../src/LoadingSpinner.tsx","../src/AuthProvider.tsx","../src/hooks/usePreviousSignIn.ts","../node_modules/style-inject/dist/style-inject.es.js","../src/TermsModal.tsx","../src/components/phoneInput.tsx","../src/utils.ts","../src/Login.tsx","../src/MfaLogin.tsx","../src/PassKeyLogin.tsx","../src/RegisterPassKey.tsx","../src/VerifyOTP.tsx","../src/AuthRoutes.tsx"],"sourcesContent":[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],"names":["InternalAuthContext","createContext","undefined","InternalAuthProvider","value","children","_jsx","Provider","useInternalAuth","context","useContext","Error","createFetchWithAuth","opts","authMode","authHost","async","input","init","url","startsWith","requestInit","credentials","headers","response","fetch","ok","console","warn","status","LoadingSpinner","className","AuthContext","useAuth","AuthProvider","apiHost","autoDetectPreviousSignin","mode","user","setUser","useState","setCredentials","isAuthenticated","setIsAuthenticated","loading","setLoading","token","setToken","hasSignedInBefore","markSignedIn","storageKey","setHasSignedInBefore","useEffect","localStorage","getItem","setItem","usePreviousSignIn","fetchWithAuth","logout","useCallback","method","error","validateToken","json","_jsxs","deleteUser","hasRole","role","roles","includes","updateCredential","credential","body","JSON","stringify","friendlyName","id","deleteCredential","credentialId","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","TermsModal","isOpen","onClose","modalRef","useRef","handleKeyDown","e","key","addEventListener","current","focus","removeEventListener","styles","tabIndex","onClick","href","countries","code","name","dialCode","flag","PhoneInputWithCountryCode","phone","setPhone","phoneError","setPhoneError","showModal","setShowModal","selectedCountry","setSelectedCountry","defaultCountry","locale","Intl","DateTimeFormat","resolvedOptions","countryCode","split","toUpperCase","find","c","getDefaultCountry","onChange","country","target","stripped","replace","newPhone","AsYouType","map","raw","full","formatted","onBlur","parsed","parsePhoneNumberFromString","isValid","autoComplete","placeholder","isValidEmail","email","normalized","trim","length","parts","localPart","domainPart","test","endsWith","isValidPhoneNumber","phoneNumber","isPasskeySupported","window","PublicKeyCredential","isUserVerifyingPlatformAuthenticatorAvailable","Login","navigate","useNavigate","identifier","setIdentifier","setEmail","setMode","formErrors","setFormErrors","emailError","setEmailError","identifierError","setIdentifierError","passkeyAvailable","setPasskeyAvailable","supported","checkSupport","login","options","startAuthentication","optionsJSON","verificationResponse","assertionResponse","verificationResult","message","mfaLogin","handlePasskeyLogin","err","_Fragment","onSubmit","preventDefault","register","htmlFor","required","disabled","MfaLogin","OTP","setOTP","setError","resendMsg","setResendMsg","timeLeft","setTimeLeft","selectedMethod","setSelectedMethod","verifyOTP","endpoint","verificationToken","sendOTP","interval","setInterval","prev","clearInterval","seconds","Math","floor","toString","padStart","maxLength","PassKeyLogin","RegisterPasskey","setStatus","setMessage","verifyPassKey","attResp","metadata","attestationResponse","prompt","platform","browser","deviceInfo","ua","navigator","userAgent","toLowerCase","parseUserAgent","challengeRes","startRegistration","WebAuthnError","stack","VerifyOTP","emailOtp","setEmailOtp","phoneOtp","setPhoneOtp","phoneVerified","setPhoneVerified","emailVerified","setEmailVerified","emailTimeLeft","setEmailTimeLeft","phoneTimeLeft","setPhoneTimeLeft","verifyPhoneOTP","verifyEmailOTP","handleResend","data","onResendEmail","onResendPhone","getStatusIcon","verified","formatTime","pattern","inputMode","AuthRoutes","Routes","Route","path","element","Navigate","to"],"mappings":"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","x_google_ignoreList":[5]}
1
+ {"version":3,"file":"index.js","sources":["../src/context/InternalAuthContext.tsx","../src/fetchWithAuth.ts","../src/LoadingSpinner.tsx","../src/AuthProvider.tsx","../src/hooks/usePreviousSignIn.ts","../node_modules/style-inject/dist/style-inject.es.js","../src/TermsModal.tsx","../src/components/phoneInput.tsx","../src/utils.ts","../src/Login.tsx","../src/MfaLogin.tsx","../src/PassKeyLogin.tsx","../src/components/DeviceNameModal.tsx","../src/RegisterPassKey.tsx","../src/VerifyOTP.tsx","../src/AuthRoutes.tsx"],"sourcesContent":[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],"names":["InternalAuthContext","createContext","undefined","InternalAuthProvider","value","children","_jsx","Provider","useInternalAuth","context","useContext","Error","createFetchWithAuth","opts","authMode","authHost","async","input","init","url","startsWith","requestInit","credentials","headers","response","fetch","ok","console","warn","status","LoadingSpinner","className","AuthContext","useAuth","AuthProvider","apiHost","autoDetectPreviousSignin","mode","user","setUser","useState","setCredentials","isAuthenticated","setIsAuthenticated","loading","setLoading","token","setToken","hasSignedInBefore","markSignedIn","storageKey","setHasSignedInBefore","useEffect","localStorage","getItem","setItem","usePreviousSignIn","fetchWithAuth","logout","useCallback","method","error","validateToken","json","_jsxs","deleteUser","hasRole","role","roles","includes","updateCredential","credential","body","JSON","stringify","friendlyName","id","deleteCredential","credentialId","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","TermsModal","isOpen","onClose","modalRef","useRef","handleKeyDown","e","key","addEventListener","current","focus","removeEventListener","styles","tabIndex","onClick","href","countries","code","name","dialCode","flag","PhoneInputWithCountryCode","phone","setPhone","phoneError","setPhoneError","showModal","setShowModal","selectedCountry","setSelectedCountry","defaultCountry","locale","Intl","DateTimeFormat","resolvedOptions","countryCode","split","toUpperCase","find","c","getDefaultCountry","onChange","country","target","stripped","replace","newPhone","AsYouType","map","raw","full","formatted","onBlur","parsed","parsePhoneNumberFromString","isValid","autoComplete","placeholder","isValidEmail","email","normalized","trim","length","parts","localPart","domainPart","test","endsWith","isValidPhoneNumber","phoneNumber","isPasskeySupported","window","PublicKeyCredential","isUserVerifyingPlatformAuthenticatorAvailable","Login","navigate","useNavigate","identifier","setIdentifier","setEmail","setMode","formErrors","setFormErrors","emailError","setEmailError","identifierError","setIdentifierError","passkeyAvailable","setPasskeyAvailable","supported","checkSupport","login","options","startAuthentication","optionsJSON","verificationResponse","assertionResponse","verificationResult","message","mfaLogin","handlePasskeyLogin","err","_Fragment","onSubmit","preventDefault","register","htmlFor","required","disabled","MfaLogin","OTP","setOTP","setError","resendMsg","setResendMsg","timeLeft","setTimeLeft","selectedMethod","setSelectedMethod","verifyOTP","endpoint","verificationToken","sendOTP","interval","setInterval","prev","clearInterval","seconds","Math","floor","toString","padStart","maxLength","PassKeyLogin","DeviceNameModal","onCancel","onConfirm","setValue","autoFocus","RegisterPasskey","setStatus","setMessage","showDeviceModal","setShowDeviceModal","pendingMetadata","setPendingMetadata","verifyPassKey","attResp","metadata","attestationResponse","platform","browser","deviceInfo","ua","navigator","userAgent","toLowerCase","parseUserAgent","challengeRes","startRegistration","WebAuthnError","VerifyOTP","emailOtp","setEmailOtp","phoneOtp","setPhoneOtp","phoneVerified","setPhoneVerified","emailVerified","setEmailVerified","emailTimeLeft","setEmailTimeLeft","phoneTimeLeft","setPhoneTimeLeft","verifyPhoneOTP","verifyEmailOTP","handleResend","data","onResendEmail","onResendPhone","getStatusIcon","verified","formatTime","pattern","inputMode","AuthRoutes","Routes","Route","path","element","Navigate","to"],"mappings":"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","x_google_ignoreList":[5]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamless-auth/react",
3
- "version": "0.0.6-beta.3",
3
+ "version": "0.0.6-beta.4",
4
4
  "description": "A drop-in authentication solution for modern React applications.",
5
5
  "type": "module",
6
6
  "exports": {