@insforge/react 0.4.0 → 0.4.5

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.cts CHANGED
@@ -1,11 +1,11 @@
1
- export { ForgotPassword, InsforgeCallback, InsforgeCallbackProps, Protect, ResetPassword, SignIn, SignUp, SignedIn, SignedOut, UserButton, VerifyEmail } from './components.cjs';
2
- export { ForgotPasswordForm, ResetPasswordForm, SignInForm, SignUpForm, VerifyEmailStatus } from './forms.cjs';
3
- export { AuthBranding, AuthContainer, AuthDivider, AuthEmailVerificationStep, AuthErrorBanner, AuthFormField, AuthHeader, AuthLink, AuthOAuthButton, AuthOAuthProviders, AuthPasswordField, AuthPasswordStrengthIndicator, AuthSubmitButton, AuthVerificationCodeInput } from './atoms.cjs';
1
+ export { ConditionalProps, ForgotPassword, ForgotPasswordProps, Protect, ProtectProps, ResetPassword, ResetPasswordProps, SignIn, SignInProps, SignUp, SignUpProps, SignedIn, SignedOut, UserButton, UserButtonProps, VerifyEmail, VerifyEmailProps } from './components.cjs';
2
+ export { ForgotPasswordForm, ForgotPasswordFormProps, ResetPasswordForm, ResetPasswordFormProps, SignInForm, SignInFormProps, SignUpForm, SignUpFormProps, VerifyEmailStatus, VerifyEmailStatusProps } from './forms.cjs';
3
+ export { AuthBranding, AuthContainer, AuthContainerProps, AuthDivider, AuthDividerProps, AuthEmailVerificationStep, AuthErrorBanner, AuthErrorBannerProps, AuthFormField, AuthFormFieldProps, AuthHeader, AuthHeaderProps, AuthLink, AuthLinkProps, AuthOAuthButton, AuthOAuthButtonProps, AuthOAuthProviders, AuthOAuthProvidersProps, AuthPasswordField, AuthPasswordFieldProps, AuthPasswordStrengthIndicator, AuthPasswordStrengthIndicatorProps, AuthResetPasswordVerificationStep, AuthSubmitButton, AuthSubmitButtonProps, AuthVerificationCodeInput, AuthVerificationCodeInputProps } from './atoms.cjs';
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
5
  import { ReactNode } from 'react';
6
6
  import { UserSchema } from '@insforge/sdk';
7
7
  import { InsforgeUser, OAuthProvider, OAuthProviderConfig } from './types.cjs';
8
- export { AuthConfig, AuthContainerProps, AuthDividerProps, AuthErrorBannerProps, AuthFormFieldProps, AuthHeaderProps, AuthLinkProps, AuthOAuthButtonProps, AuthOAuthProvidersProps, AuthPasswordFieldProps, AuthPasswordStrengthIndicatorProps, AuthSubmitButtonProps, AuthVerificationCodeInputProps, BaseAppearance, ConditionalProps, ForgotPasswordAppearance, ForgotPasswordFormProps, ProtectProps, ResetPasswordAppearance, ResetPasswordFormProps, SignInAppearance, SignInFormProps, SignInProps, SignUpAppearance, SignUpFormProps, SignUpProps, UserButtonProps, VerifyEmailStatusProps } from './types.cjs';
8
+ export { AuthConfig, EmailVerificationMethod } from './types.cjs';
9
9
  import { CreateSessionResponse, CreateUserResponse, ResetPasswordResponse, GetPublicAuthConfigResponse } from '@insforge/shared-schemas';
10
10
  export { useAuth, usePublicAuthConfig, useUser } from './hooks.cjs';
11
11
  export { checkPasswordStrength, createPasswordSchema, emailSchema, passwordSchema, validateEmail, validatePassword } from './lib.cjs';
@@ -34,16 +34,35 @@ interface InsforgeContextValue {
34
34
  success: boolean;
35
35
  error?: string;
36
36
  }>;
37
+ sendVerificationEmail: (email: string) => Promise<{
38
+ success: boolean;
39
+ message: string;
40
+ } | null>;
37
41
  sendResetPasswordEmail: (email: string) => Promise<{
38
42
  success: boolean;
39
43
  message: string;
40
44
  } | null>;
41
45
  resetPassword: (token: string, newPassword: string) => Promise<ResetPasswordResponse | null>;
42
- verifyEmail: (token: string) => Promise<{
46
+ verifyEmail: (otp: string, email?: string) => Promise<{
43
47
  accessToken: string;
44
48
  user?: UserSchema;
45
49
  redirectTo?: string;
50
+ error?: {
51
+ message: string;
52
+ };
46
53
  } | null>;
54
+ exchangeResetPasswordToken: (email: string, code: string) => Promise<{
55
+ token: string;
56
+ expiresAt?: string;
57
+ } | {
58
+ error: {
59
+ message: string;
60
+ };
61
+ }>;
62
+ loginWithOAuth: (provider: OAuthProvider, redirectTo: string) => Promise<{
63
+ url?: string | undefined;
64
+ provider?: string | undefined;
65
+ }>;
47
66
  getPublicAuthConfig: () => Promise<GetPublicAuthConfigResponse | null>;
48
67
  baseUrl: string;
49
68
  }
@@ -51,8 +70,8 @@ interface InsforgeProviderProps {
51
70
  children: ReactNode;
52
71
  baseUrl: string;
53
72
  onAuthChange?: (user: InsforgeUser | null) => void;
54
- syncTokenToCookie?: (token: string) => Promise<boolean>;
55
- clearCookie?: () => Promise<void>;
73
+ onSignIn?: (authToken: string) => Promise<void>;
74
+ onSignOut?: () => Promise<void>;
56
75
  }
57
76
  /**
58
77
  * Unified Insforge Provider - manages authentication state and configuration
@@ -79,22 +98,18 @@ interface InsforgeProviderProps {
79
98
  * // With cookie sync (Next.js optimization)
80
99
  * <InsforgeProvider
81
100
  * baseUrl={baseUrl}
82
- * syncTokenToCookie={async (token) => {
83
- * await fetch('/api/auth', {
84
- * method: 'POST',
85
- * body: JSON.stringify({ token })
86
- * });
87
- * return true;
101
+ * onSignIn={async (authToken) => {
102
+ * await signIn(authToken);
88
103
  * }}
89
- * clearCookie={async () => {
90
- * await fetch('/api/auth', { method: 'DELETE' });
104
+ * onSignOut={async () => {
105
+ * await signOut();
91
106
  * }}
92
107
  * >
93
108
  * {children}
94
109
  * </InsforgeProvider>
95
110
  * ```
96
111
  */
97
- declare function InsforgeProvider({ children, baseUrl, onAuthChange, syncTokenToCookie, clearCookie, }: InsforgeProviderProps): react_jsx_runtime.JSX.Element;
112
+ declare function InsforgeProvider({ children, baseUrl, onAuthChange, onSignIn, onSignOut, }: InsforgeProviderProps): react_jsx_runtime.JSX.Element;
98
113
  /**
99
114
  * Hook to access Insforge context
100
115
  *
package/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- export { ForgotPassword, InsforgeCallback, InsforgeCallbackProps, Protect, ResetPassword, SignIn, SignUp, SignedIn, SignedOut, UserButton, VerifyEmail } from './components.js';
2
- export { ForgotPasswordForm, ResetPasswordForm, SignInForm, SignUpForm, VerifyEmailStatus } from './forms.js';
3
- export { AuthBranding, AuthContainer, AuthDivider, AuthEmailVerificationStep, AuthErrorBanner, AuthFormField, AuthHeader, AuthLink, AuthOAuthButton, AuthOAuthProviders, AuthPasswordField, AuthPasswordStrengthIndicator, AuthSubmitButton, AuthVerificationCodeInput } from './atoms.js';
1
+ export { ConditionalProps, ForgotPassword, ForgotPasswordProps, Protect, ProtectProps, ResetPassword, ResetPasswordProps, SignIn, SignInProps, SignUp, SignUpProps, SignedIn, SignedOut, UserButton, UserButtonProps, VerifyEmail, VerifyEmailProps } from './components.js';
2
+ export { ForgotPasswordForm, ForgotPasswordFormProps, ResetPasswordForm, ResetPasswordFormProps, SignInForm, SignInFormProps, SignUpForm, SignUpFormProps, VerifyEmailStatus, VerifyEmailStatusProps } from './forms.js';
3
+ export { AuthBranding, AuthContainer, AuthContainerProps, AuthDivider, AuthDividerProps, AuthEmailVerificationStep, AuthErrorBanner, AuthErrorBannerProps, AuthFormField, AuthFormFieldProps, AuthHeader, AuthHeaderProps, AuthLink, AuthLinkProps, AuthOAuthButton, AuthOAuthButtonProps, AuthOAuthProviders, AuthOAuthProvidersProps, AuthPasswordField, AuthPasswordFieldProps, AuthPasswordStrengthIndicator, AuthPasswordStrengthIndicatorProps, AuthResetPasswordVerificationStep, AuthSubmitButton, AuthSubmitButtonProps, AuthVerificationCodeInput, AuthVerificationCodeInputProps } from './atoms.js';
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
5
  import { ReactNode } from 'react';
6
6
  import { UserSchema } from '@insforge/sdk';
7
7
  import { InsforgeUser, OAuthProvider, OAuthProviderConfig } from './types.js';
8
- export { AuthConfig, AuthContainerProps, AuthDividerProps, AuthErrorBannerProps, AuthFormFieldProps, AuthHeaderProps, AuthLinkProps, AuthOAuthButtonProps, AuthOAuthProvidersProps, AuthPasswordFieldProps, AuthPasswordStrengthIndicatorProps, AuthSubmitButtonProps, AuthVerificationCodeInputProps, BaseAppearance, ConditionalProps, ForgotPasswordAppearance, ForgotPasswordFormProps, ProtectProps, ResetPasswordAppearance, ResetPasswordFormProps, SignInAppearance, SignInFormProps, SignInProps, SignUpAppearance, SignUpFormProps, SignUpProps, UserButtonProps, VerifyEmailStatusProps } from './types.js';
8
+ export { AuthConfig, EmailVerificationMethod } from './types.js';
9
9
  import { CreateSessionResponse, CreateUserResponse, ResetPasswordResponse, GetPublicAuthConfigResponse } from '@insforge/shared-schemas';
10
10
  export { useAuth, usePublicAuthConfig, useUser } from './hooks.js';
11
11
  export { checkPasswordStrength, createPasswordSchema, emailSchema, passwordSchema, validateEmail, validatePassword } from './lib.js';
@@ -34,16 +34,35 @@ interface InsforgeContextValue {
34
34
  success: boolean;
35
35
  error?: string;
36
36
  }>;
37
+ sendVerificationEmail: (email: string) => Promise<{
38
+ success: boolean;
39
+ message: string;
40
+ } | null>;
37
41
  sendResetPasswordEmail: (email: string) => Promise<{
38
42
  success: boolean;
39
43
  message: string;
40
44
  } | null>;
41
45
  resetPassword: (token: string, newPassword: string) => Promise<ResetPasswordResponse | null>;
42
- verifyEmail: (token: string) => Promise<{
46
+ verifyEmail: (otp: string, email?: string) => Promise<{
43
47
  accessToken: string;
44
48
  user?: UserSchema;
45
49
  redirectTo?: string;
50
+ error?: {
51
+ message: string;
52
+ };
46
53
  } | null>;
54
+ exchangeResetPasswordToken: (email: string, code: string) => Promise<{
55
+ token: string;
56
+ expiresAt?: string;
57
+ } | {
58
+ error: {
59
+ message: string;
60
+ };
61
+ }>;
62
+ loginWithOAuth: (provider: OAuthProvider, redirectTo: string) => Promise<{
63
+ url?: string | undefined;
64
+ provider?: string | undefined;
65
+ }>;
47
66
  getPublicAuthConfig: () => Promise<GetPublicAuthConfigResponse | null>;
48
67
  baseUrl: string;
49
68
  }
@@ -51,8 +70,8 @@ interface InsforgeProviderProps {
51
70
  children: ReactNode;
52
71
  baseUrl: string;
53
72
  onAuthChange?: (user: InsforgeUser | null) => void;
54
- syncTokenToCookie?: (token: string) => Promise<boolean>;
55
- clearCookie?: () => Promise<void>;
73
+ onSignIn?: (authToken: string) => Promise<void>;
74
+ onSignOut?: () => Promise<void>;
56
75
  }
57
76
  /**
58
77
  * Unified Insforge Provider - manages authentication state and configuration
@@ -79,22 +98,18 @@ interface InsforgeProviderProps {
79
98
  * // With cookie sync (Next.js optimization)
80
99
  * <InsforgeProvider
81
100
  * baseUrl={baseUrl}
82
- * syncTokenToCookie={async (token) => {
83
- * await fetch('/api/auth', {
84
- * method: 'POST',
85
- * body: JSON.stringify({ token })
86
- * });
87
- * return true;
101
+ * onSignIn={async (authToken) => {
102
+ * await signIn(authToken);
88
103
  * }}
89
- * clearCookie={async () => {
90
- * await fetch('/api/auth', { method: 'DELETE' });
104
+ * onSignOut={async () => {
105
+ * await signOut();
91
106
  * }}
92
107
  * >
93
108
  * {children}
94
109
  * </InsforgeProvider>
95
110
  * ```
96
111
  */
97
- declare function InsforgeProvider({ children, baseUrl, onAuthChange, syncTokenToCookie, clearCookie, }: InsforgeProviderProps): react_jsx_runtime.JSX.Element;
112
+ declare function InsforgeProvider({ children, baseUrl, onAuthChange, onSignIn, onSignOut, }: InsforgeProviderProps): react_jsx_runtime.JSX.Element;
98
113
  /**
99
114
  * Hook to access Insforge context
100
115
  *