@atzentis/auth-react 0.0.14 → 0.0.16

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/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
3
  import { ReactNode } from 'react';
4
4
  import * as _atzentis_auth_sdk from '@atzentis/auth-sdk';
5
- import { AuthClient, User, Session, AuthError, LoginAlert, ITokenStorage, ApiKey, CreateApiKeyRequest, UpdateApiKeyRequest, LoginCredentials, UsernameLoginCredentials, SignupData, GetOAuthUrlRequest, VerifyOAuthCodeRequest, SendMagicLinkRequest, VerifyMagicLinkRequest, Device, LoginEvent, ListLoginEventsRequest, Organization, CreateOrganizationRequest, UpdateOrganizationRequest, ListMembersRequest, UpdateMemberRequest, InviteMemberRequest, ListInvitationsRequest, AcceptInvitationRequest, DeclineInvitationRequest, DeviceSession, RevokeAllSessionsOptions, UserUpdate, ConnectOAuthRequest, OAuthProvider } from '@atzentis/auth-sdk';
5
+ import { AuthClient, User, Session, AuthError, LoginAlert, ITokenStorage, ApiKey, CreateApiKeyRequest, UpdateApiKeyRequest, GetOAuthUrlRequest, LoginCredentials, UsernameLoginCredentials, RequestPasswordResetRequest, ResetPasswordRequest, SendMagicLinkRequest, SendVerificationEmailRequest, SignupData, VerifyEmailRequest, VerifyMagicLinkRequest, VerifyOAuthCodeRequest, Device, LoginEvent, ListLoginEventsRequest, Organization, CreateOrganizationRequest, UpdateOrganizationRequest, ListMembersRequest, UpdateMemberRequest, InviteMemberRequest, ListInvitationsRequest, AcceptInvitationRequest, DeclineInvitationRequest, Passkey, DeviceSession, RevokeAllSessionsOptions, UserUpdate, ConnectOAuthRequest, OAuthProvider } from '@atzentis/auth-sdk';
6
6
  import { z } from 'zod';
7
7
 
8
8
  /**
@@ -195,6 +195,8 @@ declare const authLocalization: {
195
195
  CHANGE_PASSWORD_DESCRIPTION: string;
196
196
  /** @default "Password has been changed" */
197
197
  CHANGE_PASSWORD_SUCCESS: string;
198
+ /** @default "Changing password..." */
199
+ CHANGING_PASSWORD: string;
198
200
  /** @default "Forgot Password" */
199
201
  FORGOT_PASSWORD: string;
200
202
  /** @default "Send reset link" */
@@ -209,10 +211,62 @@ declare const authLocalization: {
209
211
  RESET_PASSWORD_ACTION: string;
210
212
  /** @default "Password reset successfully" */
211
213
  RESET_PASSWORD_SUCCESS: string;
214
+ /** @default "Confirm new password" */
215
+ CONFIRM_NEW_PASSWORD: string;
212
216
  /** @default "Set Password" */
213
217
  SET_PASSWORD: string;
214
218
  /** @default "Click the button to receive an email to set your password" */
215
219
  SET_PASSWORD_DESCRIPTION: string;
220
+ /** @default "Change Username" */
221
+ CHANGE_USERNAME: string;
222
+ /** @default "Your unique username" */
223
+ CHANGE_USERNAME_DESCRIPTION: string;
224
+ /** @default "Username available" */
225
+ USERNAME_AVAILABLE_STATUS: string;
226
+ /** @default "Username is taken" */
227
+ USERNAME_TAKEN_STATUS: string;
228
+ /** @default "Checking..." */
229
+ CHECKING_AVAILABILITY: string;
230
+ /** @default "Username updated" */
231
+ USERNAME_UPDATED: string;
232
+ /** @default "Check your email" */
233
+ CHECK_YOUR_EMAIL: string;
234
+ /** @default "Resend in {{seconds}}s" */
235
+ RESEND_IN: string;
236
+ /** @default "Email Verification" */
237
+ EMAIL_VERIFICATION: string;
238
+ /** @default "Verify your email address" */
239
+ EMAIL_VERIFICATION_DESCRIPTION: string;
240
+ /** @default "Email verified successfully" */
241
+ EMAIL_VERIFICATION_SUCCESS: string;
242
+ /** @default "Verifying your email..." */
243
+ EMAIL_VERIFICATION_CHECKING: string;
244
+ /** @default "Resend verification email" */
245
+ RESEND_VERIFICATION_EMAIL: string;
246
+ /** @default "Verification email sent" */
247
+ VERIFICATION_EMAIL_SENT: string;
248
+ /** @default "Email Code Verification" */
249
+ EMAIL_OTP: string;
250
+ /** @default "Enter your email to receive a verification code" */
251
+ EMAIL_OTP_DESCRIPTION: string;
252
+ /** @default "We sent a code to" */
253
+ EMAIL_OTP_SENT: string;
254
+ /** @default "Enter the 6-digit code" */
255
+ ENTER_VERIFICATION_CODE: string;
256
+ /** @default "Recover Account" */
257
+ RECOVER_ACCOUNT: string;
258
+ /** @default "Recover access to your account" */
259
+ RECOVER_ACCOUNT_DESCRIPTION: string;
260
+ /** @default "Select recovery method" */
261
+ SELECT_RECOVERY_METHOD: string;
262
+ /** @default "Reset via email link" */
263
+ RESET_VIA_EMAIL: string;
264
+ /** @default "Verify with email code" */
265
+ VERIFY_WITH_CODE: string;
266
+ /** @default "Verify via phone" */
267
+ VERIFY_VIA_PHONE: string;
268
+ /** @default "Step {{current}} of {{total}}" */
269
+ STEP_OF: string;
216
270
  /** @default "Current Session" */
217
271
  CURRENT_SESSION: string;
218
272
  /** @default "Current device" */
@@ -221,6 +275,18 @@ declare const authLocalization: {
221
275
  SESSIONS: string;
222
276
  /** @default "Manage your active sessions" */
223
277
  SESSIONS_DESCRIPTION: string;
278
+ /** @default "Revoke" */
279
+ REVOKE_SESSION: string;
280
+ /** @default "Revoke all other sessions" */
281
+ REVOKE_ALL_OTHER_SESSIONS: string;
282
+ /** @default "Session revoked" */
283
+ SESSION_REVOKED: string;
284
+ /** @default "All other sessions revoked" */
285
+ ALL_SESSIONS_REVOKED: string;
286
+ /** @default "No other sessions" */
287
+ NO_OTHER_SESSIONS: string;
288
+ /** @default "Loading sessions..." */
289
+ LOADING_SESSIONS: string;
224
290
  /** @default "Trust" */
225
291
  TRUST_DEVICE: string;
226
292
  /** @default "Untrust" */
@@ -313,10 +379,26 @@ declare const authLocalization: {
313
379
  DELETE_AVATAR: string;
314
380
  /** @default "Upload Avatar" */
315
381
  UPLOAD_AVATAR: string;
382
+ /** @default "Avatar updated" */
383
+ AVATAR_UPDATED: string;
384
+ /** @default "Avatar deleted" */
385
+ AVATAR_DELETED: string;
386
+ /** @default "Click to upload" */
387
+ CLICK_TO_UPLOAD: string;
388
+ /** @default "File too large" */
389
+ FILE_TOO_LARGE: string;
390
+ /** @default "Max file size:" */
391
+ MAX_FILE_SIZE: string;
316
392
  /** @default "Email" */
317
393
  EMAIL: string;
318
394
  /** @default "Name" */
319
395
  NAME: string;
396
+ /** @default "Update Name" */
397
+ UPDATE_NAME: string;
398
+ /** @default "Your display name" */
399
+ UPDATE_NAME_DESCRIPTION: string;
400
+ /** @default "Name updated" */
401
+ NAME_UPDATED: string;
320
402
  /** @default "Two-Factor" */
321
403
  TWO_FACTOR: string;
322
404
  /** @default "Two-Factor Authentication" */
@@ -337,6 +419,150 @@ declare const authLocalization: {
337
419
  BACKUP_CODES: string;
338
420
  /** @default "Save these codes in a secure place" */
339
421
  BACKUP_CODES_DESCRIPTION: string;
422
+ /** @default "Enter your 6-digit code" */
423
+ ENTER_TOTP_CODE: string;
424
+ /** @default "Use backup code" */
425
+ USE_BACKUP_CODE: string;
426
+ /** @default "Use authenticator" */
427
+ USE_AUTHENTICATOR: string;
428
+ /** @default "Enter backup code" */
429
+ BACKUP_CODE_PLACEHOLDER: string;
430
+ /** @default "Scan this QR code with your authenticator app" */
431
+ SCAN_QR_CODE: string;
432
+ /** @default "Or enter this code manually" */
433
+ MANUAL_ENTRY_CODE: string;
434
+ /** @default "Enter the code from your authenticator" */
435
+ ENTER_CODE_TO_VERIFY: string;
436
+ /** @default "Copy all codes" */
437
+ COPY_BACKUP_CODES: string;
438
+ /** @default "Codes copied" */
439
+ BACKUP_CODES_COPIED: string;
440
+ /** @default "Enter your password to disable two-factor" */
441
+ CONFIRM_DISABLE_2FA: string;
442
+ /** @default "Two-factor enabled" */
443
+ TWO_FACTOR_SETUP_SUCCESS: string;
444
+ /** @default "Status" */
445
+ STATUS: string;
446
+ /** @default "Enabled" */
447
+ ENABLED: string;
448
+ /** @default "Disabled" */
449
+ DISABLED: string;
450
+ /** @default "Enable" */
451
+ ENABLE: string;
452
+ /** @default "Disable" */
453
+ DISABLE: string;
454
+ /** @default "Back" */
455
+ BACK: string;
456
+ /** @default "Next" */
457
+ NEXT: string;
458
+ /** @default "Finish" */
459
+ FINISH: string;
460
+ /** @default "Change Email" */
461
+ CHANGE_EMAIL: string;
462
+ /** @default "Enter a new email address" */
463
+ CHANGE_EMAIL_DESCRIPTION: string;
464
+ /** @default "Current email" */
465
+ CURRENT_EMAIL: string;
466
+ /** @default "New email" */
467
+ NEW_EMAIL_PLACEHOLDER: string;
468
+ /** @default "Verification email sent to your new address" */
469
+ CHANGE_EMAIL_SENT: string;
470
+ /** @default "Connected Accounts" */
471
+ CONNECTED_PROVIDERS: string;
472
+ /** @default "Manage linked sign-in methods" */
473
+ CONNECTED_PROVIDERS_DESCRIPTION: string;
474
+ /** @default "Connect" */
475
+ CONNECT_PROVIDER: string;
476
+ /** @default "Disconnect" */
477
+ DISCONNECT_PROVIDER: string;
478
+ /** @default "No accounts connected" */
479
+ NO_PROVIDERS_CONNECTED: string;
480
+ /** @default "Provider disconnected" */
481
+ PROVIDER_DISCONNECTED: string;
482
+ /** @default "Connected on" */
483
+ CONNECTED_ON: string;
484
+ /** @default "Passkeys" */
485
+ PASSKEYS: string;
486
+ /** @default "Manage your passkeys for passwordless sign-in" */
487
+ PASSKEYS_DESCRIPTION: string;
488
+ /** @default "Register passkey" */
489
+ REGISTER_PASSKEY: string;
490
+ /** @default "Remove" */
491
+ REMOVE_PASSKEY: string;
492
+ /** @default "Passkey name" */
493
+ PASSKEY_NAME: string;
494
+ /** @default "No passkeys registered" */
495
+ NO_PASSKEYS: string;
496
+ /** @default "Your browser doesn't support passkeys" */
497
+ WEBAUTHN_NOT_SUPPORTED: string;
498
+ /** @default "Passkey registered" */
499
+ PASSKEY_REGISTERED: string;
500
+ /** @default "Passkey removed" */
501
+ PASSKEY_REMOVED: string;
502
+ /** @default "Loading passkeys..." */
503
+ LOADING_PASSKEYS: string;
504
+ /** @default "Created" */
505
+ CREATED: string;
506
+ /** @default "Last used" */
507
+ LAST_USED_DATE: string;
508
+ /** @default "Never" */
509
+ NEVER: string;
510
+ /** @default "Are you sure you want to remove this passkey?" */
511
+ CONFIRM_REMOVE_PASSKEY: string;
512
+ /** @default "Registering..." */
513
+ REGISTERING_PASSKEY: string;
514
+ /** @default "Removing..." */
515
+ REMOVING_PASSKEY: string;
516
+ /** @default "Delete Account" */
517
+ DELETE_ACCOUNT: string;
518
+ /** @default "Permanently delete your account and all data" */
519
+ DELETE_ACCOUNT_WARNING: string;
520
+ /** @default "Type \"{{phrase}}\" to confirm" */
521
+ TYPE_TO_CONFIRM: string;
522
+ /** @default "delete my account" */
523
+ DEFAULT_CONFIRM_PHRASE: string;
524
+ /** @default "Confirm deletion" */
525
+ CONFIRM_DELETION: string;
526
+ /** @default "Deleting account..." */
527
+ DELETING_ACCOUNT: string;
528
+ /** @default "Reason for leaving (optional)" */
529
+ DELETE_REASON: string;
530
+ /** @default "API Keys" */
531
+ API_KEYS: string;
532
+ /** @default "Manage your API keys" */
533
+ API_KEYS_DESCRIPTION: string;
534
+ /** @default "Create API key" */
535
+ CREATE_API_KEY: string;
536
+ /** @default "Revoke" */
537
+ REVOKE_API_KEY: string;
538
+ /** @default "Key name" */
539
+ KEY_NAME: string;
540
+ /** @default "Scopes" */
541
+ KEY_SCOPES: string;
542
+ /** @default "Expires" */
543
+ KEY_EXPIRES: string;
544
+ /** @default "Copy this key now — it won't be shown again" */
545
+ KEY_CREATED_WARNING: string;
546
+ /** @default "Copy key" */
547
+ COPY_KEY: string;
548
+ /** @default "Key copied" */
549
+ KEY_COPIED: string;
550
+ /** @default "No API keys" */
551
+ NO_API_KEYS: string;
552
+ /** @default "30 days" */
553
+ EXPIRES_30_DAYS: string;
554
+ /** @default "90 days" */
555
+ EXPIRES_90_DAYS: string;
556
+ /** @default "1 year" */
557
+ EXPIRES_1_YEAR: string;
558
+ /** @default "Loading API keys..." */
559
+ LOADING_API_KEYS: string;
560
+ /** @default "my-api-key" */
561
+ KEY_NAME_PLACEHOLDER: string;
562
+ /** @default "Account Settings" */
563
+ ACCOUNT_SETTINGS: string;
564
+ /** @default "Danger Zone" */
565
+ DANGER_ZONE: string;
340
566
  /** @default "Passwords do not match" */
341
567
  PASSWORDS_DO_NOT_MATCH: string;
342
568
  /** @default "Password is required" */
@@ -461,24 +687,28 @@ declare function useAuth(): {
461
687
  isAuthenticated: boolean;
462
688
  isLoading: boolean;
463
689
  error: _atzentis_auth_sdk.AuthError | null;
464
- login: (credentials: LoginCredentials) => Promise<_atzentis_auth_sdk.LoginResponse>;
465
- loginWithUsername: (credentials: UsernameLoginCredentials) => Promise<_atzentis_auth_sdk.LoginResponse>;
466
- signup: (data: SignupData) => Promise<_atzentis_auth_sdk.SignupResponse>;
467
- logout: () => Promise<void>;
468
- logoutAllDevices: () => Promise<void>;
469
- getOAuthUrl: (config: GetOAuthUrlRequest) => string;
470
- verifyOAuthCode: (request: VerifyOAuthCodeRequest) => Promise<_atzentis_auth_sdk.LoginResponse>;
471
- sendMagicLink: (request: SendMagicLinkRequest) => Promise<void>;
472
- verifyMagicLink: (request: VerifyMagicLinkRequest) => Promise<_atzentis_auth_sdk.LoginResponse>;
473
- isUsernameAvailable: (username: string) => Promise<boolean>;
690
+ clearError: () => void;
474
691
  getAccessToken: () => Promise<string | null>;
475
- refreshToken: () => Promise<_atzentis_auth_sdk.RefreshTokenResponse>;
476
692
  getAuthHeader: () => Promise<{
477
693
  Authorization: string;
478
694
  } | {
479
695
  Authorization?: undefined;
480
696
  }>;
481
- clearError: () => void;
697
+ getOAuthUrl: (config: GetOAuthUrlRequest) => string;
698
+ isUsernameAvailable: (username: string) => Promise<boolean>;
699
+ login: (credentials: LoginCredentials) => Promise<_atzentis_auth_sdk.LoginResponse>;
700
+ loginWithUsername: (credentials: UsernameLoginCredentials) => Promise<_atzentis_auth_sdk.LoginResponse>;
701
+ logout: () => Promise<void>;
702
+ logoutAllDevices: () => Promise<void>;
703
+ refreshToken: () => Promise<_atzentis_auth_sdk.RefreshTokenResponse>;
704
+ requestPasswordReset: (request: RequestPasswordResetRequest) => Promise<void>;
705
+ resetPassword: (request: ResetPasswordRequest) => Promise<_atzentis_auth_sdk.ResetPasswordResponse>;
706
+ sendMagicLink: (request: SendMagicLinkRequest) => Promise<void>;
707
+ sendVerificationEmail: (request: SendVerificationEmailRequest) => Promise<void>;
708
+ signup: (data: SignupData) => Promise<_atzentis_auth_sdk.SignupResponse>;
709
+ verifyEmail: (request: VerifyEmailRequest) => Promise<_atzentis_auth_sdk.VerifyEmailResponse>;
710
+ verifyMagicLink: (request: VerifyMagicLinkRequest) => Promise<_atzentis_auth_sdk.LoginResponse>;
711
+ verifyOAuthCode: (request: VerifyOAuthCodeRequest) => Promise<_atzentis_auth_sdk.LoginResponse>;
482
712
  };
483
713
 
484
714
  declare function useAuthContext(): AuthContextValue;
@@ -537,6 +767,15 @@ declare function useOrganizations(): {
537
767
  leave: (orgId: string) => Promise<void>;
538
768
  };
539
769
 
770
+ declare function usePasskeys(): {
771
+ passkeys: Passkey[];
772
+ isLoading: boolean;
773
+ error: AuthError | null;
774
+ refresh: () => Promise<void>;
775
+ register: (name: string) => Promise<_atzentis_auth_sdk.RegisterPasskeyResponse>;
776
+ remove: (passkeyId: string) => Promise<void>;
777
+ };
778
+
540
779
  declare function usePhone(): {
541
780
  isSending: boolean;
542
781
  isVerifying: boolean;
@@ -681,37 +920,338 @@ interface OrganizationMenuProps {
681
920
  onCreateNew?: () => void;
682
921
  className?: string;
683
922
  }
923
+ interface ForgotPasswordFormProps {
924
+ redirectUrl: string;
925
+ onSuccess?: () => void;
926
+ onError?: (error: AuthError) => void;
927
+ onBackToLogin?: () => void;
928
+ resendCooldown?: number;
929
+ className?: string;
930
+ }
931
+ interface TwoFactorFormProps {
932
+ onVerify: (code: string) => void | Promise<void>;
933
+ onError?: (error: AuthError) => void;
934
+ autoSubmit?: boolean;
935
+ isLoading?: boolean;
936
+ className?: string;
937
+ }
938
+ interface EmailVerificationFormProps {
939
+ token?: string;
940
+ email?: string;
941
+ redirectUrl: string;
942
+ onSuccess?: (user: User) => void;
943
+ onError?: (error: AuthError) => void;
944
+ resendCooldown?: number;
945
+ className?: string;
946
+ }
947
+ interface EmailOTPFormProps {
948
+ redirectUrl: string;
949
+ onSuccess?: (user: User) => void;
950
+ onError?: (error: AuthError) => void;
951
+ resendCooldown?: number;
952
+ autoSubmit?: boolean;
953
+ className?: string;
954
+ }
955
+ interface ResetPasswordFormProps {
956
+ token: string;
957
+ onSuccess?: () => void;
958
+ onError?: (error: AuthError) => void;
959
+ className?: string;
960
+ }
961
+ interface RecoverAccountFormProps {
962
+ redirectUrl: string;
963
+ enablePhone?: boolean;
964
+ onSuccess?: () => void;
965
+ onError?: (error: AuthError) => void;
966
+ resendCooldown?: number;
967
+ className?: string;
968
+ }
969
+ interface ChangePasswordCardProps {
970
+ className?: string;
971
+ onError?: (error: AuthError) => void;
972
+ onSuccess?: () => void;
973
+ }
974
+ interface UpdateNameCardProps {
975
+ onSuccess?: (user: User) => void;
976
+ onError?: (error: AuthError) => void;
977
+ className?: string;
978
+ }
979
+ interface ChangeEmailCardProps {
980
+ redirectUrl: string;
981
+ onSuccess?: () => void;
982
+ onError?: (error: AuthError) => void;
983
+ resendCooldown?: number;
984
+ className?: string;
985
+ }
986
+ interface UpdateUsernameCardProps {
987
+ onSuccess?: (user: User) => void;
988
+ onError?: (error: AuthError) => void;
989
+ className?: string;
990
+ }
991
+ interface UpdateAvatarCardProps {
992
+ onUpload: (file: File) => Promise<string>;
993
+ onSuccess?: (user: User) => void;
994
+ onError?: (error: AuthError) => void;
995
+ maxSizeMB?: number;
996
+ className?: string;
997
+ }
998
+ interface SessionsCardProps {
999
+ onSessionRevoked?: (sessionId: string) => void;
1000
+ className?: string;
1001
+ }
1002
+ interface ProvidersCardProps {
1003
+ availableProviders: OAuthProvider[];
1004
+ oauthRedirectUri: string;
1005
+ onConnect?: (provider: OAuthProvider) => void;
1006
+ onDisconnect?: (provider: string) => void;
1007
+ onError?: (error: AuthError) => void;
1008
+ className?: string;
1009
+ }
1010
+ interface PasskeysCardProps {
1011
+ onRegistered?: (passkey: Passkey) => void;
1012
+ onRemoved?: (passkeyId: string) => void;
1013
+ onError?: (error: AuthError) => void;
1014
+ className?: string;
1015
+ }
1016
+ interface TwoFactorCardProps {
1017
+ onEnabled?: () => void;
1018
+ onDisabled?: () => void;
1019
+ onError?: (error: AuthError) => void;
1020
+ className?: string;
1021
+ }
1022
+ interface DeleteAccountCardProps {
1023
+ onDeleted?: () => void;
1024
+ onError?: (error: AuthError) => void;
1025
+ confirmationPhrase?: string;
1026
+ className?: string;
1027
+ }
1028
+ interface ApiKeysCardProps {
1029
+ availableScopes?: string[];
1030
+ onCreated?: (apiKey: _atzentis_auth_sdk.ApiKey) => void;
1031
+ onRevoked?: (keyId: string) => void;
1032
+ onError?: (error: AuthError) => void;
1033
+ className?: string;
1034
+ }
1035
+ type AccountViewSection = "/account" | "/security" | "/sessions" | "/providers" | "/api-keys" | "/danger";
1036
+ interface AccountViewProps {
1037
+ section: string;
1038
+ sections?: Partial<Record<AccountViewSection, string>>;
1039
+ fallback?: ReactNode;
1040
+ onSectionChange?: (section: string) => void;
1041
+ oauthProviders?: OAuthProvider[];
1042
+ oauthRedirectUri?: string;
1043
+ redirectUrl?: string;
1044
+ onUpload?: (file: File) => Promise<string>;
1045
+ availableScopes?: string[];
1046
+ className?: string;
1047
+ }
684
1048
  interface LoadingBoundaryProps {
685
1049
  children: ReactNode;
686
1050
  spinner?: ReactNode;
687
1051
  delay?: number;
688
1052
  className?: string;
689
1053
  }
1054
+ type AuthViewPath = "/sign-in" | "/sign-up" | "/forgot-password" | "/reset-password" | "/verify-email" | "/email-otp" | "/recover-account" | "/two-factor";
1055
+ interface AuthViewProps {
1056
+ pathname: string;
1057
+ paths?: Partial<Record<AuthViewPath, string>>;
1058
+ fallback?: ReactNode;
1059
+ searchParams?: Record<string, string | undefined>;
1060
+ getSearchParam?: (key: string) => string | undefined;
1061
+ onSuccess?: (userOrVoid?: User) => void;
1062
+ onError?: (error: AuthError) => void;
1063
+ enablePhone?: boolean;
1064
+ oauthProviders?: OAuthProvider[];
1065
+ oauthRedirectUri?: string;
1066
+ redirectUrl?: string;
1067
+ className?: string;
1068
+ }
1069
+
1070
+ /**
1071
+ * AccountView — Section-based settings page orchestrator.
1072
+ * Renders navigation sidebar and the appropriate settings card group.
1073
+ *
1074
+ * @example
1075
+ * // Next.js App Router:
1076
+ * import { AccountView } from "@atzentis/auth-react";
1077
+ *
1078
+ * export default function SettingsPage({ params }) {
1079
+ * const section = `/${params.section || "account"}`;
1080
+ * return (
1081
+ * <AccountView
1082
+ * section={section}
1083
+ * onSectionChange={(s) => router.push(`/settings${s}`)}
1084
+ * redirectUrl="/settings/account"
1085
+ * onUpload={async (file) => uploadToR2(file)}
1086
+ * />
1087
+ * );
1088
+ * }
1089
+ */
1090
+ declare function AccountView({ section, sections, fallback, onSectionChange, oauthProviders, oauthRedirectUri, redirectUrl, onUpload, availableScopes, className, }: AccountViewProps): react_jsx_runtime.JSX.Element;
1091
+
1092
+ /**
1093
+ * Default section mapping for AccountView component.
1094
+ * Maps logical settings sections to URL paths.
1095
+ *
1096
+ * @example
1097
+ * // Use in Next.js App Router:
1098
+ * <AccountView section={pathname} sections={accountViewSections} />
1099
+ *
1100
+ * // Override specific sections:
1101
+ * <AccountView
1102
+ * section={pathname}
1103
+ * sections={{ ...accountViewSections, "/account": "/profile" }}
1104
+ * />
1105
+ */
1106
+ declare const accountViewSections: Record<AccountViewSection, string>;
1107
+
1108
+ interface AccountSettingsCardsProps {
1109
+ redirectUrl?: string;
1110
+ onUpload?: (file: File) => Promise<string>;
1111
+ onSuccess?: (user: User) => void;
1112
+ onError?: (error: AuthError) => void;
1113
+ className?: string;
1114
+ }
1115
+ declare function AccountSettingsCards({ redirectUrl, onUpload, onSuccess, onError, className, }: AccountSettingsCardsProps): react_jsx_runtime.JSX.Element;
1116
+
1117
+ declare function ApiKeysCard({ availableScopes, onCreated, onRevoked, onError, className, }: ApiKeysCardProps): react_jsx_runtime.JSX.Element;
1118
+
1119
+ declare function ChangeEmailCard({ redirectUrl, onSuccess, onError, resendCooldown, className, }: ChangeEmailCardProps): react_jsx_runtime.JSX.Element;
1120
+
1121
+ declare function ChangePasswordCard({ onSuccess, onError, className }: ChangePasswordCardProps): react_jsx_runtime.JSX.Element;
1122
+
1123
+ declare function DeleteAccountCard({ onDeleted, onError, confirmationPhrase, className, }: DeleteAccountCardProps): react_jsx_runtime.JSX.Element;
1124
+
1125
+ declare function PasskeysCard({ onRegistered, onRemoved, onError, className }: PasskeysCardProps): react_jsx_runtime.JSX.Element;
1126
+
1127
+ declare function ProvidersCard({ availableProviders, oauthRedirectUri: _oauthRedirectUri, onConnect, onDisconnect, onError, className, }: ProvidersCardProps): react_jsx_runtime.JSX.Element;
1128
+
1129
+ interface SecuritySettingsCardsProps {
1130
+ onError?: (error: AuthError) => void;
1131
+ className?: string;
1132
+ }
1133
+ declare function SecuritySettingsCards({ onError, className }: SecuritySettingsCardsProps): react_jsx_runtime.JSX.Element;
1134
+
1135
+ declare function SessionsCard({ onSessionRevoked, className }: SessionsCardProps): react_jsx_runtime.JSX.Element;
1136
+
1137
+ declare function TwoFactorCard({ onEnabled, onDisabled, onError, className }: TwoFactorCardProps): react_jsx_runtime.JSX.Element;
1138
+
1139
+ declare function UpdateAvatarCard({ onUpload, onSuccess, onError, maxSizeMB, className, }: UpdateAvatarCardProps): react_jsx_runtime.JSX.Element;
1140
+
1141
+ declare function UpdateNameCard({ onSuccess, onError, className }: UpdateNameCardProps): react_jsx_runtime.JSX.Element;
1142
+
1143
+ declare function UpdateUsernameCard({ onSuccess, onError, className }: UpdateUsernameCardProps): react_jsx_runtime.JSX.Element;
690
1144
 
691
1145
  declare function AccountSwitcher({ showAddAccount, onSwitch, onAddAccount, maxAccounts, className, }: AccountSwitcherProps): react_jsx_runtime.JSX.Element;
692
1146
 
693
1147
  declare function SessionGuard({ children, fallback, loadingFallback, freshRequired, freshThreshold, requiredRole, className, }: SessionGuardProps): react_jsx_runtime.JSX.Element;
694
1148
 
695
- declare function DeviceList({ showTrustToggle, showRemoveAction, onDeviceTrusted, onDeviceUntrusted, onDeviceRemoved, renderDeviceIcon, className, }: DeviceListProps): react_jsx_runtime.JSX.Element;
1149
+ /**
1150
+ * AuthView — Pathname-based router for auth flows.
1151
+ * Renders the appropriate auth form component based on the pathname prop.
1152
+ *
1153
+ * @example
1154
+ * // Next.js App Router:
1155
+ * import { AuthView } from "@atzentis/auth-react";
1156
+ *
1157
+ * export default function AuthPage({ params, searchParams }) {
1158
+ * const pathname = `/${params.slug?.join("/") || ""}`;
1159
+ * return <AuthView pathname={pathname} searchParams={searchParams} />;
1160
+ * }
1161
+ *
1162
+ * @example
1163
+ * // Custom path mapping:
1164
+ * <AuthView
1165
+ * pathname="/login"
1166
+ * paths={{ "/sign-in": "/login", "/sign-up": "/register" }}
1167
+ * onSuccess={(user) => router.push("/dashboard")}
1168
+ * />
1169
+ */
1170
+ declare function AuthView({ pathname, paths, fallback, searchParams, getSearchParam, onSuccess, onError, enablePhone, oauthProviders, oauthRedirectUri, redirectUrl, className, }: AuthViewProps): react_jsx_runtime.JSX.Element;
696
1171
 
697
- declare function LoadingBoundary({ children, spinner, delay, className, }: LoadingBoundaryProps): react_jsx_runtime.JSX.Element | null;
1172
+ /**
1173
+ * Default path mapping for AuthView component.
1174
+ * Maps logical auth flow paths to actual URL paths.
1175
+ *
1176
+ * @example
1177
+ * // Use in Next.js App Router:
1178
+ * <AuthView pathname={pathname} paths={authViewPaths} />
1179
+ *
1180
+ * // Override specific paths:
1181
+ * <AuthView
1182
+ * pathname={pathname}
1183
+ * paths={{ ...authViewPaths, "/sign-in": "/login" }}
1184
+ * />
1185
+ */
1186
+ declare const authViewPaths: Record<AuthViewPath, string>;
698
1187
 
699
- declare function LoginActivityFeed({ limit, showRiskBadge, showReportActions, filterByStatus, onSuspiciousReported, className, }: LoginActivityFeedProps): react_jsx_runtime.JSX.Element;
1188
+ declare function EmailOTPForm({ redirectUrl, onSuccess, onError, resendCooldown, autoSubmit, className, }: EmailOTPFormProps): react_jsx_runtime.JSX.Element;
1189
+
1190
+ declare function EmailVerificationForm({ token, email, redirectUrl, onSuccess, onError, resendCooldown, className, }: EmailVerificationFormProps): react_jsx_runtime.JSX.Element;
1191
+
1192
+ declare function ForgotPasswordForm({ redirectUrl, onSuccess, onError, onBackToLogin, resendCooldown, className, }: ForgotPasswordFormProps): react_jsx_runtime.JSX.Element;
700
1193
 
701
1194
  declare function LoginForm({ onSuccess, onError, enablePhone, enableForgotPassword, onForgotPasswordClick, className, ...oauthProps }: LoginFormProps): react_jsx_runtime.JSX.Element;
702
1195
 
703
1196
  declare function MagicLinkForm({ redirectUrl, onSuccess, onError, className }: MagicLinkFormProps): react_jsx_runtime.JSX.Element;
704
1197
 
705
- declare function OAuthButton({ provider, redirectUri, state, variant, size, className, }: OAuthButtonProps): react_jsx_runtime.JSX.Element;
706
-
707
1198
  declare function PhoneLoginForm({ onSuccess, onError, allowedCountryCodes, showPasswordFallback, className, }: PhoneLoginFormProps): react_jsx_runtime.JSX.Element;
708
1199
 
1200
+ declare function RecoverAccountForm({ redirectUrl, enablePhone, onSuccess, onError, resendCooldown, className, }: RecoverAccountFormProps): react_jsx_runtime.JSX.Element | null;
1201
+
1202
+ declare function ResetPasswordForm({ token, onSuccess, onError, className, }: ResetPasswordFormProps): react_jsx_runtime.JSX.Element;
1203
+
709
1204
  declare function SignupForm({ onSuccess, onError, showUsernameField, showPhoneField, organizationName, acceptTermsRequired, onLoginClick, className, }: SignupFormProps): react_jsx_runtime.JSX.Element;
710
1205
 
1206
+ declare function TwoFactorForm({ onVerify, onError, autoSubmit, isLoading, className, }: TwoFactorFormProps): react_jsx_runtime.JSX.Element;
1207
+
1208
+ declare function OAuthButton({ provider, redirectUri, state, variant, size, className, }: OAuthButtonProps): react_jsx_runtime.JSX.Element;
1209
+
1210
+ declare function DeviceList({ showTrustToggle, showRemoveAction, onDeviceTrusted, onDeviceUntrusted, onDeviceRemoved, renderDeviceIcon, className, }: DeviceListProps): react_jsx_runtime.JSX.Element;
1211
+
1212
+ declare function LoadingBoundary({ children, spinner, delay, className, }: LoadingBoundaryProps): react_jsx_runtime.JSX.Element | null;
1213
+
1214
+ declare function isEmail(value: string): boolean;
1215
+ declare function maskEmail(email: string): string;
1216
+
1217
+ declare function LoginActivityFeed({ limit, showRiskBadge, showReportActions, filterByStatus, onSuspiciousReported, className, }: LoginActivityFeedProps): react_jsx_runtime.JSX.Element;
1218
+
711
1219
  declare function OrganizationMenu({ showCreateNew, currentOrgId, onSwitch, onCreateNew, className, }: OrganizationMenuProps): react_jsx_runtime.JSX.Element;
712
1220
 
713
1221
  declare function UserMenu({ showOrganization, menuItems, className }: UserMenuProps): react_jsx_runtime.JSX.Element | null;
714
1222
 
1223
+ declare const changeEmailSchema: z.ZodObject<{
1224
+ email: z.ZodString;
1225
+ }, "strip", z.ZodTypeAny, {
1226
+ email: string;
1227
+ }, {
1228
+ email: string;
1229
+ }>;
1230
+ type ChangeEmailFormData = z.infer<typeof changeEmailSchema>;
1231
+
1232
+ declare const changePasswordSchema: z.ZodEffects<z.ZodObject<{
1233
+ confirmPassword: z.ZodString;
1234
+ currentPassword: z.ZodString;
1235
+ newPassword: z.ZodString;
1236
+ }, "strip", z.ZodTypeAny, {
1237
+ confirmPassword: string;
1238
+ currentPassword: string;
1239
+ newPassword: string;
1240
+ }, {
1241
+ confirmPassword: string;
1242
+ currentPassword: string;
1243
+ newPassword: string;
1244
+ }>, {
1245
+ confirmPassword: string;
1246
+ currentPassword: string;
1247
+ newPassword: string;
1248
+ }, {
1249
+ confirmPassword: string;
1250
+ currentPassword: string;
1251
+ newPassword: string;
1252
+ }>;
1253
+ type ChangePasswordFormData = z.infer<typeof changePasswordSchema>;
1254
+
715
1255
  declare const credentialLoginSchema: z.ZodObject<{
716
1256
  identity: z.ZodString;
717
1257
  password: z.ZodString;
@@ -746,6 +1286,32 @@ declare const otpVerifySchema$1: z.ZodObject<{
746
1286
  }>;
747
1287
  type OtpVerifyFormData$1 = z.infer<typeof otpVerifySchema$1>;
748
1288
 
1289
+ declare const emailOtpEmailSchema: z.ZodObject<{
1290
+ email: z.ZodString;
1291
+ }, "strip", z.ZodTypeAny, {
1292
+ email: string;
1293
+ }, {
1294
+ email: string;
1295
+ }>;
1296
+ type EmailOtpEmailFormData = z.infer<typeof emailOtpEmailSchema>;
1297
+ declare const emailOtpCodeSchema: z.ZodObject<{
1298
+ code: z.ZodString;
1299
+ }, "strip", z.ZodTypeAny, {
1300
+ code: string;
1301
+ }, {
1302
+ code: string;
1303
+ }>;
1304
+ type EmailOtpCodeFormData = z.infer<typeof emailOtpCodeSchema>;
1305
+
1306
+ declare const forgotPasswordSchema: z.ZodObject<{
1307
+ email: z.ZodString;
1308
+ }, "strip", z.ZodTypeAny, {
1309
+ email: string;
1310
+ }, {
1311
+ email: string;
1312
+ }>;
1313
+ type ForgotPasswordFormData = z.infer<typeof forgotPasswordSchema>;
1314
+
749
1315
  declare const magicLinkSchema: z.ZodObject<{
750
1316
  email: z.ZodString;
751
1317
  }, "strip", z.ZodTypeAny, {
@@ -789,6 +1355,67 @@ declare const phonePasswordSchema: z.ZodObject<{
789
1355
  }>;
790
1356
  type PhonePasswordFormData = z.infer<typeof phonePasswordSchema>;
791
1357
 
1358
+ declare const recoverEmailSchema: z.ZodObject<{
1359
+ email: z.ZodString;
1360
+ }, "strip", z.ZodTypeAny, {
1361
+ email: string;
1362
+ }, {
1363
+ email: string;
1364
+ }>;
1365
+ type RecoverEmailFormData = z.infer<typeof recoverEmailSchema>;
1366
+ declare const recoverCodeSchema: z.ZodObject<{
1367
+ code: z.ZodString;
1368
+ }, "strip", z.ZodTypeAny, {
1369
+ code: string;
1370
+ }, {
1371
+ code: string;
1372
+ }>;
1373
+ type RecoverCodeFormData = z.infer<typeof recoverCodeSchema>;
1374
+ declare const recoverNewPasswordSchema: z.ZodEffects<z.ZodObject<{
1375
+ newPassword: z.ZodString;
1376
+ confirmPassword: z.ZodString;
1377
+ }, "strip", z.ZodTypeAny, {
1378
+ confirmPassword: string;
1379
+ newPassword: string;
1380
+ }, {
1381
+ confirmPassword: string;
1382
+ newPassword: string;
1383
+ }>, {
1384
+ confirmPassword: string;
1385
+ newPassword: string;
1386
+ }, {
1387
+ confirmPassword: string;
1388
+ newPassword: string;
1389
+ }>;
1390
+ type RecoverNewPasswordFormData = z.infer<typeof recoverNewPasswordSchema>;
1391
+ declare const recoverPhoneSchema: z.ZodObject<{
1392
+ phoneNumber: z.ZodString;
1393
+ }, "strip", z.ZodTypeAny, {
1394
+ phoneNumber: string;
1395
+ }, {
1396
+ phoneNumber: string;
1397
+ }>;
1398
+ type RecoverPhoneFormData = z.infer<typeof recoverPhoneSchema>;
1399
+ type RecoveryMethod = "email_link" | "email_code" | "phone_otp";
1400
+
1401
+ declare const resetPasswordSchema: z.ZodEffects<z.ZodObject<{
1402
+ newPassword: z.ZodString;
1403
+ confirmPassword: z.ZodString;
1404
+ }, "strip", z.ZodTypeAny, {
1405
+ confirmPassword: string;
1406
+ newPassword: string;
1407
+ }, {
1408
+ confirmPassword: string;
1409
+ newPassword: string;
1410
+ }>, {
1411
+ confirmPassword: string;
1412
+ newPassword: string;
1413
+ }, {
1414
+ confirmPassword: string;
1415
+ newPassword: string;
1416
+ }>;
1417
+ type ResetPasswordFormData = z.infer<typeof resetPasswordSchema>;
1418
+
792
1419
  declare const signupSchema: z.ZodObject<{
793
1420
  email: z.ZodString;
794
1421
  password: z.ZodString;
@@ -799,28 +1426,67 @@ declare const signupSchema: z.ZodObject<{
799
1426
  acceptTerms: z.ZodBoolean;
800
1427
  captchaToken: z.ZodOptional<z.ZodString>;
801
1428
  }, "strip", z.ZodTypeAny, {
802
- password: string;
803
- name: string;
804
1429
  email: string;
1430
+ name: string;
1431
+ password: string;
805
1432
  acceptTerms: boolean;
1433
+ username?: string | undefined;
806
1434
  captchaToken?: string | undefined;
807
1435
  phoneNumber?: string | undefined;
808
- username?: string | undefined;
809
1436
  organizationName?: string | undefined;
810
1437
  }, {
811
- password: string;
812
- name: string;
813
1438
  email: string;
1439
+ name: string;
1440
+ password: string;
814
1441
  acceptTerms: boolean;
1442
+ username?: string | undefined;
815
1443
  captchaToken?: string | undefined;
816
1444
  phoneNumber?: string | undefined;
817
- username?: string | undefined;
818
1445
  organizationName?: string | undefined;
819
1446
  }>;
820
1447
  type SignupFormData = z.infer<typeof signupSchema>;
821
1448
 
1449
+ declare const totpSchema: z.ZodObject<{
1450
+ code: z.ZodString;
1451
+ }, "strip", z.ZodTypeAny, {
1452
+ code: string;
1453
+ }, {
1454
+ code: string;
1455
+ }>;
1456
+ type TotpFormData = z.infer<typeof totpSchema>;
1457
+ declare const backupCodeSchema: z.ZodObject<{
1458
+ backupCode: z.ZodString;
1459
+ }, "strip", z.ZodTypeAny, {
1460
+ backupCode: string;
1461
+ }, {
1462
+ backupCode: string;
1463
+ }>;
1464
+ type BackupCodeFormData = z.infer<typeof backupCodeSchema>;
1465
+
1466
+ declare const updateNameSchema: z.ZodObject<{
1467
+ name: z.ZodString;
1468
+ }, "strip", z.ZodTypeAny, {
1469
+ name: string;
1470
+ }, {
1471
+ name: string;
1472
+ }>;
1473
+ type UpdateNameFormData = z.infer<typeof updateNameSchema>;
1474
+
1475
+ declare const updateUsernameSchema: z.ZodObject<{
1476
+ username: z.ZodString;
1477
+ }, "strip", z.ZodTypeAny, {
1478
+ username: string;
1479
+ }, {
1480
+ username: string;
1481
+ }>;
1482
+ type UpdateUsernameFormData = z.infer<typeof updateUsernameSchema>;
1483
+
822
1484
  declare function getInitials(name: string): string;
823
1485
 
1486
+ type RiskLevel = "low" | "medium" | "high";
1487
+ declare function getRiskLevel(score: number): RiskLevel;
1488
+ declare const RISK_COLORS: Record<RiskLevel, string>;
1489
+
824
1490
  /**
825
1491
  * Safely converts an unknown caught value to AuthError.
826
1492
  * If the value is already an AuthError, returns it directly.
@@ -828,8 +1494,4 @@ declare function getInitials(name: string): string;
828
1494
  */
829
1495
  declare function toAuthError(error: unknown): AuthError;
830
1496
 
831
- type RiskLevel = "low" | "medium" | "high";
832
- declare function getRiskLevel(score: number): RiskLevel;
833
- declare const RISK_COLORS: Record<RiskLevel, string>;
834
-
835
- export { AUTH_ERROR_CODES, AccountSwitcher, type AccountSwitcherProps, AuthContext, type AuthContextValue, type AuthLocalization, AuthProvider, type AuthProviderProps, type CredentialLoginFormData, DeviceList, type DeviceListProps, LoadingBoundary, type LoadingBoundaryProps, LocalizationContext, type LocalizationContextValue, LoginActivityFeed, type LoginActivityFeedProps, LoginForm, type LoginFormProps, MagicLinkForm, type MagicLinkFormData, type MagicLinkFormProps, OAuthButton, type OAuthButtonProps, OrganizationMenu, type OrganizationMenuProps, type OtpVerifyFormData$1 as OtpVerifyFormData, PhoneLoginForm, type PhoneLoginFormData, type PhoneLoginFormProps, type PhoneNumberFormData, type OtpVerifyFormData as PhoneOtpVerifyFormData, type PhonePasswordFormData, RISK_COLORS, type RiskLevel, SessionGuard, type SessionGuardProps, SignupForm, type SignupFormData, type SignupFormProps, UserMenu, type UserMenuProps, authLocalization, credentialLoginSchema, getInitials, getLocalizedError, getRiskLevel, magicLinkSchema, otpVerifySchema$1 as otpVerifySchema, phoneLoginSchema, phoneNumberSchema, otpVerifySchema as phoneOtpVerifySchema, phonePasswordSchema, signupSchema, toAuthError, useApiKeys, useAuth, useAuthContext, useAuthLocalization, useDevices, useLoginActivity, useOrganizations, usePhone, useSession, useSessions, useUser };
1497
+ export { AUTH_ERROR_CODES, AccountSettingsCards, type AccountSettingsCardsProps, AccountSwitcher, type AccountSwitcherProps, AccountView, type AccountViewProps, type AccountViewSection, ApiKeysCard, type ApiKeysCardProps, AuthContext, type AuthContextValue, type AuthLocalization, AuthProvider, type AuthProviderProps, AuthView, type AuthViewPath, type AuthViewProps, type BackupCodeFormData, ChangeEmailCard, type ChangeEmailCardProps, type ChangeEmailFormData, ChangePasswordCard, type ChangePasswordCardProps, type ChangePasswordFormData, type CredentialLoginFormData, DeleteAccountCard, type DeleteAccountCardProps, DeviceList, type DeviceListProps, EmailOTPForm, type EmailOTPFormProps, type EmailOtpCodeFormData, type EmailOtpEmailFormData, EmailVerificationForm, type EmailVerificationFormProps, ForgotPasswordForm, type ForgotPasswordFormData, type ForgotPasswordFormProps, LoadingBoundary, type LoadingBoundaryProps, LocalizationContext, type LocalizationContextValue, LoginActivityFeed, type LoginActivityFeedProps, LoginForm, type LoginFormProps, MagicLinkForm, type MagicLinkFormData, type MagicLinkFormProps, OAuthButton, type OAuthButtonProps, OrganizationMenu, type OrganizationMenuProps, type OtpVerifyFormData$1 as OtpVerifyFormData, PasskeysCard, type PasskeysCardProps, PhoneLoginForm, type PhoneLoginFormData, type PhoneLoginFormProps, type PhoneNumberFormData, type OtpVerifyFormData as PhoneOtpVerifyFormData, type PhonePasswordFormData, ProvidersCard, type ProvidersCardProps, RISK_COLORS, RecoverAccountForm, type RecoverAccountFormProps, type RecoverCodeFormData, type RecoverEmailFormData, type RecoverNewPasswordFormData, type RecoverPhoneFormData, type RecoveryMethod, ResetPasswordForm, type ResetPasswordFormData, type ResetPasswordFormProps, type RiskLevel, SecuritySettingsCards, type SecuritySettingsCardsProps, SessionGuard, type SessionGuardProps, SessionsCard, type SessionsCardProps, SignupForm, type SignupFormData, type SignupFormProps, type TotpFormData, TwoFactorCard, type TwoFactorCardProps, TwoFactorForm, type TwoFactorFormProps, UpdateAvatarCard, type UpdateAvatarCardProps, UpdateNameCard, type UpdateNameCardProps, type UpdateNameFormData, UpdateUsernameCard, type UpdateUsernameCardProps, type UpdateUsernameFormData, UserMenu, type UserMenuProps, accountViewSections, authLocalization, authViewPaths, backupCodeSchema, changeEmailSchema, changePasswordSchema, credentialLoginSchema, emailOtpCodeSchema, emailOtpEmailSchema, forgotPasswordSchema, getInitials, getLocalizedError, getRiskLevel, isEmail, magicLinkSchema, maskEmail, otpVerifySchema$1 as otpVerifySchema, phoneLoginSchema, phoneNumberSchema, otpVerifySchema as phoneOtpVerifySchema, phonePasswordSchema, recoverCodeSchema, recoverEmailSchema, recoverNewPasswordSchema, recoverPhoneSchema, resetPasswordSchema, signupSchema, toAuthError, totpSchema, updateNameSchema, updateUsernameSchema, useApiKeys, useAuth, useAuthContext, useAuthLocalization, useDevices, useLoginActivity, useOrganizations, usePasskeys, usePhone, useSession, useSessions, useUser };