@insforge/nextjs 0.4.0 → 0.5.6

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.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
- import { ReactNode } from 'react';
3
+ import { ReactNode, CSSProperties, InputHTMLAttributes } from 'react';
4
4
 
5
5
  interface InsforgeUser {
6
6
  id: string;
@@ -19,25 +19,8 @@ interface InsforgeSession {
19
19
  expiresAt: string;
20
20
  createdAt: string;
21
21
  }
22
- interface AuthContextValue {
23
- user: InsforgeUser | null;
24
- session: InsforgeSession | null;
25
- isLoaded: boolean;
26
- isSignedIn: boolean;
27
- signIn: (email: string, password: string) => Promise<void>;
28
- signUp: (email: string, password: string) => Promise<void>;
29
- signOut: () => Promise<void>;
30
- updateUser: (data: Partial<InsforgeUser>) => Promise<void>;
31
- }
32
- interface AuthProviderProps {
33
- children: ReactNode;
34
- baseUrl: string;
35
- onAuthChange?: (user: InsforgeUser | null) => void;
36
- }
37
22
  interface SignInProps {
38
- baseUrl: string;
39
23
  afterSignInUrl?: string;
40
- providers?: OAuthProvider[];
41
24
  appearance?: {
42
25
  container?: React.CSSProperties;
43
26
  form?: React.CSSProperties;
@@ -60,9 +43,7 @@ interface SignInProps {
60
43
  onError?: (error: Error) => void;
61
44
  }
62
45
  interface SignUpProps {
63
- baseUrl: string;
64
46
  afterSignUpUrl?: string;
65
- providers?: OAuthProvider[];
66
47
  appearance?: {
67
48
  container?: React.CSSProperties;
68
49
  form?: React.CSSProperties;
@@ -76,6 +57,9 @@ interface SignUpProps {
76
57
  passwordPlaceholder?: string;
77
58
  submitButtonText?: string;
78
59
  loadingButtonText?: string;
60
+ verifyButtonText?: string;
61
+ loadingVerifyButtonText?: string;
62
+ verifiedButtonText?: string;
79
63
  signInText?: string;
80
64
  signInLinkText?: string;
81
65
  signInUrl?: string;
@@ -100,40 +84,64 @@ interface ProtectProps {
100
84
  interface ConditionalProps {
101
85
  children: ReactNode;
102
86
  }
103
- type OAuthProvider = 'google' | 'github';
104
-
105
- declare function AuthProvider({ children, baseUrl, onAuthChange }: AuthProviderProps): react_jsx_runtime.JSX.Element;
87
+ type OAuthProvider = 'google' | 'github' | 'discord' | 'facebook' | 'linkedin' | 'instagram' | 'tiktok' | 'apple' | 'x' | 'spotify' | 'microsoft';
88
+ interface OAuthProviderConfig {
89
+ name: string;
90
+ svg: JSX.Element;
91
+ className: string;
92
+ }
106
93
 
107
- interface InsforgeConfig {
108
- oauthProviders: OAuthProvider[];
94
+ interface InsforgeContextValue {
95
+ user: InsforgeUser | null;
96
+ session: InsforgeSession | null;
109
97
  isLoaded: boolean;
110
- refetch: () => Promise<void>;
98
+ isSignedIn: boolean;
99
+ signIn: (email: string, password: string) => Promise<void>;
100
+ signUp: (email: string, password: string) => Promise<void>;
101
+ signOut: () => Promise<void>;
102
+ updateUser: (data: Partial<InsforgeUser>) => Promise<void>;
103
+ sendVerificationCode: (email: string, type: 'signup' | 'signin') => Promise<void>;
104
+ verifySignUpCode: (email: string, password: string, code: string) => Promise<void>;
105
+ verifySignInCode: (email: string, code: string) => Promise<void>;
106
+ oauthProviders: OAuthProvider[];
107
+ isConfigLoaded: boolean;
108
+ baseUrl: string;
111
109
  }
112
- interface InsforgeConfigProviderProps {
110
+ interface InsforgeProviderProps {
113
111
  children: ReactNode;
114
112
  baseUrl: string;
113
+ onAuthChange?: (user: InsforgeUser | null) => void;
115
114
  }
116
- declare function InsforgeConfigProvider({ children, baseUrl }: InsforgeConfigProviderProps): react_jsx_runtime.JSX.Element;
117
- declare function useInsforgeConfig(): InsforgeConfig;
115
+ declare function InsforgeProvider({ children, baseUrl, onAuthChange }: InsforgeProviderProps): react_jsx_runtime.JSX.Element;
116
+ declare function useInsforge(): InsforgeContextValue;
118
117
 
119
- declare function useAuth(): AuthContextValue;
118
+ declare function useAuth(): {
119
+ signIn: (email: string, password: string) => Promise<void>;
120
+ signUp: (email: string, password: string) => Promise<void>;
121
+ signOut: () => Promise<void>;
122
+ isLoaded: boolean;
123
+ isSignedIn: boolean;
124
+ };
120
125
 
121
126
  declare function useUser(): {
122
127
  user: InsforgeUser | null;
123
128
  isLoaded: boolean;
129
+ updateUser: (data: Partial<InsforgeUser>) => Promise<void>;
124
130
  };
125
131
 
126
132
  declare function useSession(): {
127
133
  session: InsforgeSession | null;
128
134
  isLoaded: boolean;
129
- isSignedIn: boolean;
130
135
  };
131
136
 
132
- declare function useOAuthProviders(): OAuthProvider[];
137
+ declare function useOAuthProviders(): {
138
+ providers: OAuthProvider[];
139
+ isLoaded: boolean;
140
+ };
133
141
 
134
- declare function SignIn({ baseUrl, afterSignInUrl, providers, appearance, title, subtitle, emailLabel, emailPlaceholder, passwordLabel, passwordPlaceholder, forgotPasswordText, submitButtonText, loadingButtonText, signUpText, signUpLinkText, signUpUrl, dividerText, onSuccess, onError, }: SignInProps): react_jsx_runtime.JSX.Element;
142
+ declare function SignIn({ afterSignInUrl, appearance, title, subtitle, emailLabel, emailPlaceholder, passwordLabel, passwordPlaceholder, forgotPasswordText, submitButtonText, loadingButtonText, signUpText, signUpLinkText, signUpUrl, dividerText, onSuccess, onError, }: SignInProps): react_jsx_runtime.JSX.Element;
135
143
 
136
- declare function SignUp({ baseUrl, afterSignUpUrl, providers, appearance, title, subtitle, emailLabel, emailPlaceholder, passwordLabel, passwordPlaceholder, submitButtonText, loadingButtonText, signInText, signInLinkText, signInUrl, dividerText, onSuccess, onError, }: SignUpProps): react_jsx_runtime.JSX.Element;
144
+ declare function SignUp({ afterSignUpUrl, appearance, title, subtitle, emailLabel, emailPlaceholder, passwordLabel, passwordPlaceholder, submitButtonText, loadingButtonText, verifyButtonText, loadingVerifyButtonText, verifiedButtonText, signInText, signInLinkText, signInUrl, dividerText, onSuccess, onError, }: SignUpProps): react_jsx_runtime.JSX.Element;
137
145
 
138
146
  declare function UserButton({ afterSignOutUrl, mode, appearance, }: UserButtonProps): react_jsx_runtime.JSX.Element | null;
139
147
 
@@ -143,4 +151,104 @@ declare function SignedOut({ children }: ConditionalProps): react_jsx_runtime.JS
143
151
 
144
152
  declare function Protect({ children, fallback, redirectTo, condition, }: ProtectProps): string | number | bigint | true | Iterable<react.ReactNode> | Promise<react.AwaitedReactNode> | react_jsx_runtime.JSX.Element | null;
145
153
 
146
- export { type AuthContextValue, AuthProvider, type AuthProviderProps, type ConditionalProps, InsforgeConfigProvider, type InsforgeSession, type InsforgeUser, type OAuthProvider, Protect, type ProtectProps, SignIn, type SignInProps, SignUp, type SignUpProps, SignedIn, SignedOut, UserButton, type UserButtonProps, useAuth, useInsforgeConfig, useOAuthProviders, useSession, useUser };
154
+ interface AuthContainerProps {
155
+ children: ReactNode;
156
+ style?: CSSProperties;
157
+ }
158
+ declare function AuthContainer({ children, style }: AuthContainerProps): react_jsx_runtime.JSX.Element;
159
+
160
+ interface AuthHeaderProps {
161
+ title: string;
162
+ subtitle?: string;
163
+ }
164
+ declare function AuthHeader({ title, subtitle }: AuthHeaderProps): react_jsx_runtime.JSX.Element;
165
+
166
+ interface AuthErrorBannerProps {
167
+ error: string;
168
+ }
169
+ declare function AuthErrorBanner({ error }: AuthErrorBannerProps): react_jsx_runtime.JSX.Element | null;
170
+
171
+ interface AuthFormFieldProps extends InputHTMLAttributes<HTMLInputElement> {
172
+ label: string;
173
+ id: string;
174
+ }
175
+ declare function AuthFormField({ label, id, className, ...props }: AuthFormFieldProps): react_jsx_runtime.JSX.Element;
176
+
177
+ interface AuthPasswordFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
178
+ label: string;
179
+ id: string;
180
+ showStrengthIndicator?: boolean;
181
+ forgotPasswordLink?: {
182
+ href: string;
183
+ text?: string;
184
+ };
185
+ }
186
+ declare function AuthPasswordField({ label, id, showStrengthIndicator, forgotPasswordLink, value, className, onFocus, ...props }: AuthPasswordFieldProps): react_jsx_runtime.JSX.Element;
187
+
188
+ interface AuthSubmitButtonProps {
189
+ children: ReactNode;
190
+ isLoading?: boolean;
191
+ confirmed?: boolean;
192
+ disabled?: boolean;
193
+ style?: CSSProperties;
194
+ }
195
+ declare function AuthSubmitButton({ children, isLoading, confirmed, disabled, style, }: AuthSubmitButtonProps): react_jsx_runtime.JSX.Element;
196
+
197
+ interface AuthDividerProps {
198
+ text?: string;
199
+ }
200
+ declare function AuthDivider({ text }: AuthDividerProps): react_jsx_runtime.JSX.Element;
201
+
202
+ interface AuthLinkProps {
203
+ text: string;
204
+ linkText: string;
205
+ href: string;
206
+ }
207
+ declare function AuthLink({ text, linkText, href }: AuthLinkProps): react_jsx_runtime.JSX.Element;
208
+
209
+ interface AuthOAuthProvidersProps {
210
+ providers: OAuthProvider[];
211
+ onClick: (provider: OAuthProvider) => void;
212
+ disabled?: boolean;
213
+ loading: OAuthProvider | null;
214
+ }
215
+ declare function AuthOAuthProviders({ providers, onClick, disabled, loading, }: AuthOAuthProvidersProps): react_jsx_runtime.JSX.Element | null;
216
+
217
+ interface AuthBrandingProps {
218
+ text?: string;
219
+ href?: string;
220
+ }
221
+ declare function AuthBranding({ text, href }: AuthBrandingProps): react_jsx_runtime.JSX.Element;
222
+
223
+ type DisplayMode = 'full' | 'short' | 'icon';
224
+ interface AuthOAuthButtonProps {
225
+ provider: OAuthProvider;
226
+ onClick: (provider: OAuthProvider) => void;
227
+ disabled?: boolean;
228
+ loading?: boolean;
229
+ displayMode?: DisplayMode;
230
+ style?: React.CSSProperties;
231
+ }
232
+ declare function AuthOAuthButton({ provider, onClick, disabled, loading, displayMode, style }: AuthOAuthButtonProps): react_jsx_runtime.JSX.Element | null;
233
+
234
+ interface AuthPasswordStrengthIndicatorProps {
235
+ password: string;
236
+ }
237
+ declare function validatePasswordStrength(password: string): boolean;
238
+ declare function AuthPasswordStrengthIndicator({ password }: AuthPasswordStrengthIndicatorProps): react_jsx_runtime.JSX.Element;
239
+
240
+ interface AuthVerificationCodeInputProps {
241
+ length?: number;
242
+ value: string;
243
+ email: string;
244
+ onChange: (value: string) => void;
245
+ disabled?: boolean;
246
+ }
247
+ declare function AuthVerificationCodeInput({ length, value, email, onChange, disabled, }: AuthVerificationCodeInputProps): react_jsx_runtime.JSX.Element;
248
+
249
+ declare const OAUTH_PROVIDER_CONFIG: Record<OAuthProvider, OAuthProviderConfig>;
250
+ declare function getProviderConfig(provider: OAuthProvider): OAuthProviderConfig | null;
251
+ declare function getProviderName(provider: OAuthProvider): string;
252
+ declare function isProviderSupported(provider: string): provider is OAuthProvider;
253
+
254
+ export { AuthBranding, AuthContainer, AuthDivider, AuthErrorBanner, AuthFormField, AuthHeader, AuthLink, AuthOAuthButton, AuthOAuthProviders, AuthPasswordField, AuthPasswordStrengthIndicator, AuthSubmitButton, AuthVerificationCodeInput, type ConditionalProps, InsforgeProvider, type InsforgeSession, type InsforgeUser, OAUTH_PROVIDER_CONFIG, type OAuthProvider, type OAuthProviderConfig, Protect, type ProtectProps, SignIn, type SignInProps, SignUp, type SignUpProps, SignedIn, SignedOut, UserButton, type UserButtonProps, getProviderConfig, getProviderName, isProviderSupported, useAuth, useInsforge, useOAuthProviders, useSession, useUser, validatePasswordStrength };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
- import { ReactNode } from 'react';
3
+ import { ReactNode, CSSProperties, InputHTMLAttributes } from 'react';
4
4
 
5
5
  interface InsforgeUser {
6
6
  id: string;
@@ -19,25 +19,8 @@ interface InsforgeSession {
19
19
  expiresAt: string;
20
20
  createdAt: string;
21
21
  }
22
- interface AuthContextValue {
23
- user: InsforgeUser | null;
24
- session: InsforgeSession | null;
25
- isLoaded: boolean;
26
- isSignedIn: boolean;
27
- signIn: (email: string, password: string) => Promise<void>;
28
- signUp: (email: string, password: string) => Promise<void>;
29
- signOut: () => Promise<void>;
30
- updateUser: (data: Partial<InsforgeUser>) => Promise<void>;
31
- }
32
- interface AuthProviderProps {
33
- children: ReactNode;
34
- baseUrl: string;
35
- onAuthChange?: (user: InsforgeUser | null) => void;
36
- }
37
22
  interface SignInProps {
38
- baseUrl: string;
39
23
  afterSignInUrl?: string;
40
- providers?: OAuthProvider[];
41
24
  appearance?: {
42
25
  container?: React.CSSProperties;
43
26
  form?: React.CSSProperties;
@@ -60,9 +43,7 @@ interface SignInProps {
60
43
  onError?: (error: Error) => void;
61
44
  }
62
45
  interface SignUpProps {
63
- baseUrl: string;
64
46
  afterSignUpUrl?: string;
65
- providers?: OAuthProvider[];
66
47
  appearance?: {
67
48
  container?: React.CSSProperties;
68
49
  form?: React.CSSProperties;
@@ -76,6 +57,9 @@ interface SignUpProps {
76
57
  passwordPlaceholder?: string;
77
58
  submitButtonText?: string;
78
59
  loadingButtonText?: string;
60
+ verifyButtonText?: string;
61
+ loadingVerifyButtonText?: string;
62
+ verifiedButtonText?: string;
79
63
  signInText?: string;
80
64
  signInLinkText?: string;
81
65
  signInUrl?: string;
@@ -100,40 +84,64 @@ interface ProtectProps {
100
84
  interface ConditionalProps {
101
85
  children: ReactNode;
102
86
  }
103
- type OAuthProvider = 'google' | 'github';
104
-
105
- declare function AuthProvider({ children, baseUrl, onAuthChange }: AuthProviderProps): react_jsx_runtime.JSX.Element;
87
+ type OAuthProvider = 'google' | 'github' | 'discord' | 'facebook' | 'linkedin' | 'instagram' | 'tiktok' | 'apple' | 'x' | 'spotify' | 'microsoft';
88
+ interface OAuthProviderConfig {
89
+ name: string;
90
+ svg: JSX.Element;
91
+ className: string;
92
+ }
106
93
 
107
- interface InsforgeConfig {
108
- oauthProviders: OAuthProvider[];
94
+ interface InsforgeContextValue {
95
+ user: InsforgeUser | null;
96
+ session: InsforgeSession | null;
109
97
  isLoaded: boolean;
110
- refetch: () => Promise<void>;
98
+ isSignedIn: boolean;
99
+ signIn: (email: string, password: string) => Promise<void>;
100
+ signUp: (email: string, password: string) => Promise<void>;
101
+ signOut: () => Promise<void>;
102
+ updateUser: (data: Partial<InsforgeUser>) => Promise<void>;
103
+ sendVerificationCode: (email: string, type: 'signup' | 'signin') => Promise<void>;
104
+ verifySignUpCode: (email: string, password: string, code: string) => Promise<void>;
105
+ verifySignInCode: (email: string, code: string) => Promise<void>;
106
+ oauthProviders: OAuthProvider[];
107
+ isConfigLoaded: boolean;
108
+ baseUrl: string;
111
109
  }
112
- interface InsforgeConfigProviderProps {
110
+ interface InsforgeProviderProps {
113
111
  children: ReactNode;
114
112
  baseUrl: string;
113
+ onAuthChange?: (user: InsforgeUser | null) => void;
115
114
  }
116
- declare function InsforgeConfigProvider({ children, baseUrl }: InsforgeConfigProviderProps): react_jsx_runtime.JSX.Element;
117
- declare function useInsforgeConfig(): InsforgeConfig;
115
+ declare function InsforgeProvider({ children, baseUrl, onAuthChange }: InsforgeProviderProps): react_jsx_runtime.JSX.Element;
116
+ declare function useInsforge(): InsforgeContextValue;
118
117
 
119
- declare function useAuth(): AuthContextValue;
118
+ declare function useAuth(): {
119
+ signIn: (email: string, password: string) => Promise<void>;
120
+ signUp: (email: string, password: string) => Promise<void>;
121
+ signOut: () => Promise<void>;
122
+ isLoaded: boolean;
123
+ isSignedIn: boolean;
124
+ };
120
125
 
121
126
  declare function useUser(): {
122
127
  user: InsforgeUser | null;
123
128
  isLoaded: boolean;
129
+ updateUser: (data: Partial<InsforgeUser>) => Promise<void>;
124
130
  };
125
131
 
126
132
  declare function useSession(): {
127
133
  session: InsforgeSession | null;
128
134
  isLoaded: boolean;
129
- isSignedIn: boolean;
130
135
  };
131
136
 
132
- declare function useOAuthProviders(): OAuthProvider[];
137
+ declare function useOAuthProviders(): {
138
+ providers: OAuthProvider[];
139
+ isLoaded: boolean;
140
+ };
133
141
 
134
- declare function SignIn({ baseUrl, afterSignInUrl, providers, appearance, title, subtitle, emailLabel, emailPlaceholder, passwordLabel, passwordPlaceholder, forgotPasswordText, submitButtonText, loadingButtonText, signUpText, signUpLinkText, signUpUrl, dividerText, onSuccess, onError, }: SignInProps): react_jsx_runtime.JSX.Element;
142
+ declare function SignIn({ afterSignInUrl, appearance, title, subtitle, emailLabel, emailPlaceholder, passwordLabel, passwordPlaceholder, forgotPasswordText, submitButtonText, loadingButtonText, signUpText, signUpLinkText, signUpUrl, dividerText, onSuccess, onError, }: SignInProps): react_jsx_runtime.JSX.Element;
135
143
 
136
- declare function SignUp({ baseUrl, afterSignUpUrl, providers, appearance, title, subtitle, emailLabel, emailPlaceholder, passwordLabel, passwordPlaceholder, submitButtonText, loadingButtonText, signInText, signInLinkText, signInUrl, dividerText, onSuccess, onError, }: SignUpProps): react_jsx_runtime.JSX.Element;
144
+ declare function SignUp({ afterSignUpUrl, appearance, title, subtitle, emailLabel, emailPlaceholder, passwordLabel, passwordPlaceholder, submitButtonText, loadingButtonText, verifyButtonText, loadingVerifyButtonText, verifiedButtonText, signInText, signInLinkText, signInUrl, dividerText, onSuccess, onError, }: SignUpProps): react_jsx_runtime.JSX.Element;
137
145
 
138
146
  declare function UserButton({ afterSignOutUrl, mode, appearance, }: UserButtonProps): react_jsx_runtime.JSX.Element | null;
139
147
 
@@ -143,4 +151,104 @@ declare function SignedOut({ children }: ConditionalProps): react_jsx_runtime.JS
143
151
 
144
152
  declare function Protect({ children, fallback, redirectTo, condition, }: ProtectProps): string | number | bigint | true | Iterable<react.ReactNode> | Promise<react.AwaitedReactNode> | react_jsx_runtime.JSX.Element | null;
145
153
 
146
- export { type AuthContextValue, AuthProvider, type AuthProviderProps, type ConditionalProps, InsforgeConfigProvider, type InsforgeSession, type InsforgeUser, type OAuthProvider, Protect, type ProtectProps, SignIn, type SignInProps, SignUp, type SignUpProps, SignedIn, SignedOut, UserButton, type UserButtonProps, useAuth, useInsforgeConfig, useOAuthProviders, useSession, useUser };
154
+ interface AuthContainerProps {
155
+ children: ReactNode;
156
+ style?: CSSProperties;
157
+ }
158
+ declare function AuthContainer({ children, style }: AuthContainerProps): react_jsx_runtime.JSX.Element;
159
+
160
+ interface AuthHeaderProps {
161
+ title: string;
162
+ subtitle?: string;
163
+ }
164
+ declare function AuthHeader({ title, subtitle }: AuthHeaderProps): react_jsx_runtime.JSX.Element;
165
+
166
+ interface AuthErrorBannerProps {
167
+ error: string;
168
+ }
169
+ declare function AuthErrorBanner({ error }: AuthErrorBannerProps): react_jsx_runtime.JSX.Element | null;
170
+
171
+ interface AuthFormFieldProps extends InputHTMLAttributes<HTMLInputElement> {
172
+ label: string;
173
+ id: string;
174
+ }
175
+ declare function AuthFormField({ label, id, className, ...props }: AuthFormFieldProps): react_jsx_runtime.JSX.Element;
176
+
177
+ interface AuthPasswordFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
178
+ label: string;
179
+ id: string;
180
+ showStrengthIndicator?: boolean;
181
+ forgotPasswordLink?: {
182
+ href: string;
183
+ text?: string;
184
+ };
185
+ }
186
+ declare function AuthPasswordField({ label, id, showStrengthIndicator, forgotPasswordLink, value, className, onFocus, ...props }: AuthPasswordFieldProps): react_jsx_runtime.JSX.Element;
187
+
188
+ interface AuthSubmitButtonProps {
189
+ children: ReactNode;
190
+ isLoading?: boolean;
191
+ confirmed?: boolean;
192
+ disabled?: boolean;
193
+ style?: CSSProperties;
194
+ }
195
+ declare function AuthSubmitButton({ children, isLoading, confirmed, disabled, style, }: AuthSubmitButtonProps): react_jsx_runtime.JSX.Element;
196
+
197
+ interface AuthDividerProps {
198
+ text?: string;
199
+ }
200
+ declare function AuthDivider({ text }: AuthDividerProps): react_jsx_runtime.JSX.Element;
201
+
202
+ interface AuthLinkProps {
203
+ text: string;
204
+ linkText: string;
205
+ href: string;
206
+ }
207
+ declare function AuthLink({ text, linkText, href }: AuthLinkProps): react_jsx_runtime.JSX.Element;
208
+
209
+ interface AuthOAuthProvidersProps {
210
+ providers: OAuthProvider[];
211
+ onClick: (provider: OAuthProvider) => void;
212
+ disabled?: boolean;
213
+ loading: OAuthProvider | null;
214
+ }
215
+ declare function AuthOAuthProviders({ providers, onClick, disabled, loading, }: AuthOAuthProvidersProps): react_jsx_runtime.JSX.Element | null;
216
+
217
+ interface AuthBrandingProps {
218
+ text?: string;
219
+ href?: string;
220
+ }
221
+ declare function AuthBranding({ text, href }: AuthBrandingProps): react_jsx_runtime.JSX.Element;
222
+
223
+ type DisplayMode = 'full' | 'short' | 'icon';
224
+ interface AuthOAuthButtonProps {
225
+ provider: OAuthProvider;
226
+ onClick: (provider: OAuthProvider) => void;
227
+ disabled?: boolean;
228
+ loading?: boolean;
229
+ displayMode?: DisplayMode;
230
+ style?: React.CSSProperties;
231
+ }
232
+ declare function AuthOAuthButton({ provider, onClick, disabled, loading, displayMode, style }: AuthOAuthButtonProps): react_jsx_runtime.JSX.Element | null;
233
+
234
+ interface AuthPasswordStrengthIndicatorProps {
235
+ password: string;
236
+ }
237
+ declare function validatePasswordStrength(password: string): boolean;
238
+ declare function AuthPasswordStrengthIndicator({ password }: AuthPasswordStrengthIndicatorProps): react_jsx_runtime.JSX.Element;
239
+
240
+ interface AuthVerificationCodeInputProps {
241
+ length?: number;
242
+ value: string;
243
+ email: string;
244
+ onChange: (value: string) => void;
245
+ disabled?: boolean;
246
+ }
247
+ declare function AuthVerificationCodeInput({ length, value, email, onChange, disabled, }: AuthVerificationCodeInputProps): react_jsx_runtime.JSX.Element;
248
+
249
+ declare const OAUTH_PROVIDER_CONFIG: Record<OAuthProvider, OAuthProviderConfig>;
250
+ declare function getProviderConfig(provider: OAuthProvider): OAuthProviderConfig | null;
251
+ declare function getProviderName(provider: OAuthProvider): string;
252
+ declare function isProviderSupported(provider: string): provider is OAuthProvider;
253
+
254
+ export { AuthBranding, AuthContainer, AuthDivider, AuthErrorBanner, AuthFormField, AuthHeader, AuthLink, AuthOAuthButton, AuthOAuthProviders, AuthPasswordField, AuthPasswordStrengthIndicator, AuthSubmitButton, AuthVerificationCodeInput, type ConditionalProps, InsforgeProvider, type InsforgeSession, type InsforgeUser, OAUTH_PROVIDER_CONFIG, type OAuthProvider, type OAuthProviderConfig, Protect, type ProtectProps, SignIn, type SignInProps, SignUp, type SignUpProps, SignedIn, SignedOut, UserButton, type UserButtonProps, getProviderConfig, getProviderName, isProviderSupported, useAuth, useInsforge, useOAuthProviders, useSession, useUser, validatePasswordStrength };