@erikey/react 0.2.7 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.mjs +10 -1659
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +90 -775
- package/dist/styles.css.map +1 -1
- package/dist/ui/index.css +90 -775
- package/dist/ui/index.css.map +1 -1
- package/dist/ui/index.d.mts +696 -14
- package/dist/ui/index.mjs +876 -29960
- package/dist/ui/index.mjs.map +1 -1
- package/package.json +15 -4
- package/dist/chunk-E3EMTIQ5.mjs +0 -57
- package/dist/chunk-E3EMTIQ5.mjs.map +0 -1
package/dist/ui/index.d.mts
CHANGED
|
@@ -1,22 +1,704 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
1
|
+
import React, { ComponentType, ReactNode, ButtonHTMLAttributes, InputHTMLAttributes } from 'react';
|
|
2
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
3
|
+
import { VariantProps } from 'class-variance-authority';
|
|
4
|
+
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
5
|
+
import * as SeparatorPrimitive from '@radix-ui/react-separator';
|
|
6
|
+
import { ClassValue } from 'clsx';
|
|
7
|
+
import { z } from 'zod';
|
|
4
8
|
|
|
5
|
-
type AuthProviderProps = AuthUIProviderProps;
|
|
6
9
|
/**
|
|
7
|
-
* Auth
|
|
10
|
+
* Auth client interface - matches what createAuthClient returns
|
|
11
|
+
*/
|
|
12
|
+
interface AuthClient {
|
|
13
|
+
signIn: {
|
|
14
|
+
email: (params: {
|
|
15
|
+
email: string;
|
|
16
|
+
password: string;
|
|
17
|
+
rememberMe?: boolean;
|
|
18
|
+
}) => Promise<any>;
|
|
19
|
+
social?: (params: {
|
|
20
|
+
provider: string;
|
|
21
|
+
callbackURL?: string;
|
|
22
|
+
}) => Promise<any>;
|
|
23
|
+
};
|
|
24
|
+
signUp: {
|
|
25
|
+
email: (params: {
|
|
26
|
+
email: string;
|
|
27
|
+
password: string;
|
|
28
|
+
name: string;
|
|
29
|
+
}) => Promise<any>;
|
|
30
|
+
};
|
|
31
|
+
signOut: () => Promise<any>;
|
|
32
|
+
useSession: () => {
|
|
33
|
+
data: {
|
|
34
|
+
session: any;
|
|
35
|
+
user: any;
|
|
36
|
+
} | null;
|
|
37
|
+
isPending: boolean;
|
|
38
|
+
error: any;
|
|
39
|
+
refetch?: () => Promise<void>;
|
|
40
|
+
};
|
|
41
|
+
forgetPassword?: (params: {
|
|
42
|
+
email: string;
|
|
43
|
+
redirectTo?: string;
|
|
44
|
+
}) => Promise<any>;
|
|
45
|
+
resetPassword?: (params: {
|
|
46
|
+
newPassword: string;
|
|
47
|
+
token?: string;
|
|
48
|
+
}) => Promise<any>;
|
|
49
|
+
getSession?: () => Promise<any>;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Link component type - for custom routing
|
|
53
|
+
*/
|
|
54
|
+
type LinkComponent = ComponentType<{
|
|
55
|
+
href: string;
|
|
56
|
+
children: ReactNode;
|
|
57
|
+
className?: string;
|
|
58
|
+
}>;
|
|
59
|
+
/**
|
|
60
|
+
* Social provider configuration
|
|
61
|
+
*/
|
|
62
|
+
interface SocialProvider {
|
|
63
|
+
id: string;
|
|
64
|
+
name: string;
|
|
65
|
+
icon?: ReactNode;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Toast notification function type
|
|
69
|
+
*/
|
|
70
|
+
type ToastFn = (options: {
|
|
71
|
+
title?: string;
|
|
72
|
+
description?: string;
|
|
73
|
+
variant?: 'default' | 'destructive';
|
|
74
|
+
}) => void;
|
|
75
|
+
/**
|
|
76
|
+
* Auth view paths configuration
|
|
77
|
+
*/
|
|
78
|
+
interface AuthViewPaths {
|
|
79
|
+
signIn: string;
|
|
80
|
+
signUp: string;
|
|
81
|
+
forgotPassword: string;
|
|
82
|
+
resetPassword: string;
|
|
83
|
+
twoFactor: string;
|
|
84
|
+
callback: string;
|
|
85
|
+
settings: string;
|
|
86
|
+
signOut: string;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Auth UI configuration options
|
|
90
|
+
*/
|
|
91
|
+
interface AuthUIConfig {
|
|
92
|
+
/**
|
|
93
|
+
* The auth client from createAuthClient()
|
|
94
|
+
*/
|
|
95
|
+
authClient: AuthClient;
|
|
96
|
+
/**
|
|
97
|
+
* Base path for auth routes
|
|
98
|
+
* @default '/auth'
|
|
99
|
+
*/
|
|
100
|
+
basePath?: string;
|
|
101
|
+
/**
|
|
102
|
+
* URL to redirect to after successful auth
|
|
103
|
+
* @default '/'
|
|
104
|
+
*/
|
|
105
|
+
redirectTo?: string;
|
|
106
|
+
/**
|
|
107
|
+
* Custom navigation function
|
|
108
|
+
* @default window.location.href = href
|
|
109
|
+
*/
|
|
110
|
+
navigate?: (href: string) => void;
|
|
111
|
+
/**
|
|
112
|
+
* Custom Link component for routing
|
|
113
|
+
* @default <a href={href}>
|
|
114
|
+
*/
|
|
115
|
+
Link?: LinkComponent;
|
|
116
|
+
/**
|
|
117
|
+
* Enable social OAuth providers
|
|
118
|
+
*/
|
|
119
|
+
providers?: SocialProvider[];
|
|
120
|
+
/**
|
|
121
|
+
* Enable forgot password flow
|
|
122
|
+
* @default true
|
|
123
|
+
*/
|
|
124
|
+
forgotPassword?: boolean;
|
|
125
|
+
/**
|
|
126
|
+
* Require name field in sign up
|
|
127
|
+
* @default true
|
|
128
|
+
*/
|
|
129
|
+
nameRequired?: boolean;
|
|
130
|
+
/**
|
|
131
|
+
* Show confirm password field in sign up
|
|
132
|
+
* @default false
|
|
133
|
+
*/
|
|
134
|
+
confirmPassword?: boolean;
|
|
135
|
+
/**
|
|
136
|
+
* Show remember me checkbox in sign in
|
|
137
|
+
* @default false
|
|
138
|
+
*/
|
|
139
|
+
rememberMe?: boolean;
|
|
140
|
+
/**
|
|
141
|
+
* Custom view paths
|
|
142
|
+
*/
|
|
143
|
+
viewPaths?: Partial<AuthViewPaths>;
|
|
144
|
+
/**
|
|
145
|
+
* Toast notification function
|
|
146
|
+
*/
|
|
147
|
+
toast?: ToastFn;
|
|
148
|
+
/**
|
|
149
|
+
* Callback after session changes
|
|
150
|
+
*/
|
|
151
|
+
onSessionChange?: () => void | Promise<void>;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Auth UI context value
|
|
155
|
+
*/
|
|
156
|
+
interface AuthUIContextValue extends Required<Omit<AuthUIConfig, 'viewPaths' | 'toast' | 'onSessionChange' | 'providers'>> {
|
|
157
|
+
viewPaths: AuthViewPaths;
|
|
158
|
+
toast: ToastFn;
|
|
159
|
+
onSessionChange?: () => void | Promise<void>;
|
|
160
|
+
providers: SocialProvider[];
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Hook to access auth UI context
|
|
165
|
+
*/
|
|
166
|
+
declare function useAuthUI(): AuthUIContextValue;
|
|
167
|
+
/**
|
|
168
|
+
* Props for AuthUIProvider
|
|
169
|
+
*/
|
|
170
|
+
interface AuthUIProviderProps extends AuthUIConfig {
|
|
171
|
+
children: ReactNode;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Auth UI Provider
|
|
175
|
+
*
|
|
176
|
+
* Provides configuration and utilities to all auth UI components.
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* ```tsx
|
|
180
|
+
* import { AuthUIProvider } from '@erikey/react/ui';
|
|
181
|
+
* import { authClient } from './auth-client';
|
|
182
|
+
*
|
|
183
|
+
* function App() {
|
|
184
|
+
* return (
|
|
185
|
+
* <AuthUIProvider
|
|
186
|
+
* authClient={authClient}
|
|
187
|
+
* navigate={(href) => router.push(href)}
|
|
188
|
+
* >
|
|
189
|
+
* <YourApp />
|
|
190
|
+
* </AuthUIProvider>
|
|
191
|
+
* );
|
|
192
|
+
* }
|
|
193
|
+
* ```
|
|
194
|
+
*/
|
|
195
|
+
declare function AuthUIProvider({ children, authClient, basePath, redirectTo, navigate, Link, providers, forgotPassword, nameRequired, confirmPassword, rememberMe, viewPaths, toast, onSessionChange, }: AuthUIProviderProps): React.JSX.Element;
|
|
196
|
+
|
|
197
|
+
interface SignInFormProps {
|
|
198
|
+
className?: string;
|
|
199
|
+
/**
|
|
200
|
+
* URL to redirect to after successful sign in
|
|
201
|
+
*/
|
|
202
|
+
redirectTo?: string;
|
|
203
|
+
/**
|
|
204
|
+
* Callback after successful sign in
|
|
205
|
+
*/
|
|
206
|
+
onSuccess?: () => void;
|
|
207
|
+
/**
|
|
208
|
+
* Callback on error
|
|
209
|
+
*/
|
|
210
|
+
onError?: (error: Error) => void;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Sign In Form Component
|
|
214
|
+
*
|
|
215
|
+
* A complete email/password sign in form with validation and error handling.
|
|
216
|
+
*
|
|
217
|
+
* @example
|
|
218
|
+
* ```tsx
|
|
219
|
+
* <SignInForm redirectTo="/dashboard" />
|
|
220
|
+
* ```
|
|
221
|
+
*/
|
|
222
|
+
declare function SignInForm({ className, redirectTo, onSuccess, onError }: SignInFormProps): React.JSX.Element;
|
|
223
|
+
|
|
224
|
+
interface SignUpFormProps {
|
|
225
|
+
className?: string;
|
|
226
|
+
/**
|
|
227
|
+
* URL to redirect to after successful sign up
|
|
228
|
+
*/
|
|
229
|
+
redirectTo?: string;
|
|
230
|
+
/**
|
|
231
|
+
* Callback after successful sign up
|
|
232
|
+
*/
|
|
233
|
+
onSuccess?: () => void;
|
|
234
|
+
/**
|
|
235
|
+
* Callback on error
|
|
236
|
+
*/
|
|
237
|
+
onError?: (error: Error) => void;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Sign Up Form Component
|
|
241
|
+
*
|
|
242
|
+
* A complete email/password sign up form with validation and error handling.
|
|
243
|
+
*
|
|
244
|
+
* @example
|
|
245
|
+
* ```tsx
|
|
246
|
+
* <SignUpForm redirectTo="/onboarding" />
|
|
247
|
+
* ```
|
|
248
|
+
*/
|
|
249
|
+
declare function SignUpForm({ className, redirectTo, onSuccess, onError }: SignUpFormProps): React.JSX.Element;
|
|
250
|
+
|
|
251
|
+
interface ForgotPasswordFormProps {
|
|
252
|
+
className?: string;
|
|
253
|
+
/**
|
|
254
|
+
* Callback after successful password reset request
|
|
255
|
+
*/
|
|
256
|
+
onSuccess?: () => void;
|
|
257
|
+
/**
|
|
258
|
+
* Callback on error
|
|
259
|
+
*/
|
|
260
|
+
onError?: (error: Error) => void;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Forgot Password Form Component
|
|
264
|
+
*
|
|
265
|
+
* Allows users to request a password reset link.
|
|
8
266
|
*
|
|
9
267
|
* @example
|
|
10
268
|
* ```tsx
|
|
11
|
-
* <
|
|
12
|
-
*
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
269
|
+
* <ForgotPasswordForm />
|
|
270
|
+
* ```
|
|
271
|
+
*/
|
|
272
|
+
declare function ForgotPasswordForm({ className, onSuccess, onError }: ForgotPasswordFormProps): React.JSX.Element;
|
|
273
|
+
|
|
274
|
+
interface ResetPasswordFormProps {
|
|
275
|
+
className?: string;
|
|
276
|
+
/**
|
|
277
|
+
* Reset token from URL
|
|
278
|
+
*/
|
|
279
|
+
token?: string;
|
|
280
|
+
/**
|
|
281
|
+
* Callback after successful password reset
|
|
282
|
+
*/
|
|
283
|
+
onSuccess?: () => void;
|
|
284
|
+
/**
|
|
285
|
+
* Callback on error
|
|
286
|
+
*/
|
|
287
|
+
onError?: (error: Error) => void;
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Reset Password Form Component
|
|
291
|
+
*
|
|
292
|
+
* Allows users to set a new password using a reset token.
|
|
293
|
+
*
|
|
294
|
+
* @example
|
|
295
|
+
* ```tsx
|
|
296
|
+
* <ResetPasswordForm token={tokenFromUrl} />
|
|
297
|
+
* ```
|
|
298
|
+
*/
|
|
299
|
+
declare function ResetPasswordForm({ className, token, onSuccess, onError, }: ResetPasswordFormProps): React.JSX.Element;
|
|
300
|
+
|
|
301
|
+
type AuthView = 'sign-in' | 'sign-up' | 'forgot-password' | 'reset-password';
|
|
302
|
+
interface AuthCardProps {
|
|
303
|
+
className?: string;
|
|
304
|
+
/**
|
|
305
|
+
* The auth view to display
|
|
306
|
+
*/
|
|
307
|
+
view?: AuthView;
|
|
308
|
+
/**
|
|
309
|
+
* The current pathname (alternative to view prop)
|
|
310
|
+
* Will be parsed to determine the view
|
|
311
|
+
*/
|
|
312
|
+
pathname?: string;
|
|
313
|
+
/**
|
|
314
|
+
* URL to redirect to after successful auth
|
|
315
|
+
*/
|
|
316
|
+
redirectTo?: string;
|
|
317
|
+
/**
|
|
318
|
+
* Reset token for password reset view
|
|
319
|
+
*/
|
|
320
|
+
resetToken?: string;
|
|
321
|
+
/**
|
|
322
|
+
* Callback after successful auth action
|
|
323
|
+
*/
|
|
324
|
+
onSuccess?: () => void;
|
|
325
|
+
/**
|
|
326
|
+
* Callback on error
|
|
327
|
+
*/
|
|
328
|
+
onError?: (error: Error) => void;
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* Auth Card Component
|
|
332
|
+
*
|
|
333
|
+
* A router component that displays the appropriate auth form based on
|
|
334
|
+
* the current view or pathname.
|
|
335
|
+
*
|
|
336
|
+
* @example
|
|
337
|
+
* ```tsx
|
|
338
|
+
* // Using view prop
|
|
339
|
+
* <AuthCard view="sign-in" />
|
|
340
|
+
*
|
|
341
|
+
* // Using pathname (parsed from URL)
|
|
342
|
+
* <AuthCard pathname="/auth/sign-up" />
|
|
18
343
|
* ```
|
|
19
344
|
*/
|
|
20
|
-
declare
|
|
345
|
+
declare function AuthCard({ className, view, pathname, redirectTo, resetToken, onSuccess, onError, }: AuthCardProps): React.JSX.Element;
|
|
346
|
+
|
|
347
|
+
interface UserAvatarProps {
|
|
348
|
+
className?: string;
|
|
349
|
+
/**
|
|
350
|
+
* User's profile image URL
|
|
351
|
+
*/
|
|
352
|
+
src?: string | null;
|
|
353
|
+
/**
|
|
354
|
+
* User's name (used for fallback initials)
|
|
355
|
+
*/
|
|
356
|
+
name?: string | null;
|
|
357
|
+
/**
|
|
358
|
+
* User's email (used for fallback if no name)
|
|
359
|
+
*/
|
|
360
|
+
email?: string | null;
|
|
361
|
+
/**
|
|
362
|
+
* Size of the avatar
|
|
363
|
+
* @default 'md'
|
|
364
|
+
*/
|
|
365
|
+
size?: 'sm' | 'md' | 'lg';
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* User Avatar Component
|
|
369
|
+
*
|
|
370
|
+
* Displays a user's profile picture with fallback to initials.
|
|
371
|
+
*
|
|
372
|
+
* @example
|
|
373
|
+
* ```tsx
|
|
374
|
+
* <UserAvatar src={user.image} name={user.name} />
|
|
375
|
+
* ```
|
|
376
|
+
*/
|
|
377
|
+
declare const UserAvatar: React.ForwardRefExoticComponent<UserAvatarProps & React.RefAttributes<HTMLSpanElement>>;
|
|
378
|
+
|
|
379
|
+
interface UserButtonProps {
|
|
380
|
+
className?: string;
|
|
381
|
+
/**
|
|
382
|
+
* Show settings link in dropdown
|
|
383
|
+
* @default true
|
|
384
|
+
*/
|
|
385
|
+
showSettings?: boolean;
|
|
386
|
+
/**
|
|
387
|
+
* Custom settings URL
|
|
388
|
+
*/
|
|
389
|
+
settingsUrl?: string;
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* User Button Component
|
|
393
|
+
*
|
|
394
|
+
* A dropdown button showing the user's avatar with sign out and settings options.
|
|
395
|
+
*
|
|
396
|
+
* @example
|
|
397
|
+
* ```tsx
|
|
398
|
+
* <UserButton />
|
|
399
|
+
* ```
|
|
400
|
+
*/
|
|
401
|
+
declare function UserButton({ className, showSettings, settingsUrl }: UserButtonProps): React.JSX.Element | null;
|
|
402
|
+
|
|
403
|
+
interface UserViewProps {
|
|
404
|
+
className?: string;
|
|
405
|
+
/**
|
|
406
|
+
* Show user's email
|
|
407
|
+
* @default true
|
|
408
|
+
*/
|
|
409
|
+
showEmail?: boolean;
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* User View Component
|
|
413
|
+
*
|
|
414
|
+
* Displays the current user's avatar and information.
|
|
415
|
+
*
|
|
416
|
+
* @example
|
|
417
|
+
* ```tsx
|
|
418
|
+
* <UserView />
|
|
419
|
+
* ```
|
|
420
|
+
*/
|
|
421
|
+
declare function UserView({ className, showEmail }: UserViewProps): React.JSX.Element | null;
|
|
422
|
+
|
|
423
|
+
interface SignedInProps {
|
|
424
|
+
children: ReactNode;
|
|
425
|
+
/**
|
|
426
|
+
* Fallback to show while session is loading
|
|
427
|
+
*/
|
|
428
|
+
fallback?: ReactNode;
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
* Signed In Component
|
|
432
|
+
*
|
|
433
|
+
* Only renders children when the user is authenticated.
|
|
434
|
+
*
|
|
435
|
+
* @example
|
|
436
|
+
* ```tsx
|
|
437
|
+
* <SignedIn>
|
|
438
|
+
* <p>Welcome back!</p>
|
|
439
|
+
* <UserButton />
|
|
440
|
+
* </SignedIn>
|
|
441
|
+
* ```
|
|
442
|
+
*/
|
|
443
|
+
declare function SignedIn({ children, fallback }: SignedInProps): React.JSX.Element | null;
|
|
444
|
+
|
|
445
|
+
interface SignedOutProps {
|
|
446
|
+
children: ReactNode;
|
|
447
|
+
/**
|
|
448
|
+
* Fallback to show while session is loading
|
|
449
|
+
*/
|
|
450
|
+
fallback?: ReactNode;
|
|
451
|
+
}
|
|
452
|
+
/**
|
|
453
|
+
* Signed Out Component
|
|
454
|
+
*
|
|
455
|
+
* Only renders children when the user is NOT authenticated.
|
|
456
|
+
*
|
|
457
|
+
* @example
|
|
458
|
+
* ```tsx
|
|
459
|
+
* <SignedOut>
|
|
460
|
+
* <Link href="/auth/sign-in">Sign In</Link>
|
|
461
|
+
* </SignedOut>
|
|
462
|
+
* ```
|
|
463
|
+
*/
|
|
464
|
+
declare function SignedOut({ children, fallback }: SignedOutProps): React.JSX.Element | null;
|
|
465
|
+
|
|
466
|
+
interface RedirectToSignInProps {
|
|
467
|
+
/**
|
|
468
|
+
* Custom redirect URL
|
|
469
|
+
*/
|
|
470
|
+
redirectTo?: string;
|
|
471
|
+
}
|
|
472
|
+
/**
|
|
473
|
+
* Redirect to Sign In Component
|
|
474
|
+
*
|
|
475
|
+
* Redirects unauthenticated users to the sign in page.
|
|
476
|
+
*
|
|
477
|
+
* @example
|
|
478
|
+
* ```tsx
|
|
479
|
+
* <SignedOut>
|
|
480
|
+
* <RedirectToSignIn />
|
|
481
|
+
* </SignedOut>
|
|
482
|
+
* ```
|
|
483
|
+
*/
|
|
484
|
+
declare function RedirectToSignIn({ redirectTo }: RedirectToSignInProps): null;
|
|
485
|
+
|
|
486
|
+
interface RedirectToSignUpProps {
|
|
487
|
+
/**
|
|
488
|
+
* Custom redirect URL
|
|
489
|
+
*/
|
|
490
|
+
redirectTo?: string;
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
* Redirect to Sign Up Component
|
|
494
|
+
*
|
|
495
|
+
* Redirects users to the sign up page.
|
|
496
|
+
*
|
|
497
|
+
* @example
|
|
498
|
+
* ```tsx
|
|
499
|
+
* <RedirectToSignUp />
|
|
500
|
+
* ```
|
|
501
|
+
*/
|
|
502
|
+
declare function RedirectToSignUp({ redirectTo }: RedirectToSignUpProps): null;
|
|
503
|
+
|
|
504
|
+
interface SettingsCardProps {
|
|
505
|
+
className?: string;
|
|
506
|
+
title: string;
|
|
507
|
+
description?: string;
|
|
508
|
+
children: ReactNode;
|
|
509
|
+
}
|
|
510
|
+
/**
|
|
511
|
+
* Settings Card Component
|
|
512
|
+
*
|
|
513
|
+
* A card wrapper for settings sections.
|
|
514
|
+
*
|
|
515
|
+
* @example
|
|
516
|
+
* ```tsx
|
|
517
|
+
* <SettingsCard title="Profile" description="Manage your profile settings">
|
|
518
|
+
* <form>...</form>
|
|
519
|
+
* </SettingsCard>
|
|
520
|
+
* ```
|
|
521
|
+
*/
|
|
522
|
+
declare function SettingsCard({ className, title, description, children }: SettingsCardProps): React.JSX.Element;
|
|
523
|
+
interface SettingsCardsProps {
|
|
524
|
+
className?: string;
|
|
525
|
+
children: ReactNode;
|
|
526
|
+
}
|
|
527
|
+
/**
|
|
528
|
+
* Settings Cards Container
|
|
529
|
+
*
|
|
530
|
+
* A container for multiple settings cards.
|
|
531
|
+
*
|
|
532
|
+
* @example
|
|
533
|
+
* ```tsx
|
|
534
|
+
* <SettingsCards>
|
|
535
|
+
* <SettingsCard title="Profile">...</SettingsCard>
|
|
536
|
+
* <SettingsCard title="Security">...</SettingsCard>
|
|
537
|
+
* </SettingsCards>
|
|
538
|
+
* ```
|
|
539
|
+
*/
|
|
540
|
+
declare function SettingsCards({ className, children }: SettingsCardsProps): React.JSX.Element;
|
|
541
|
+
|
|
542
|
+
declare const buttonVariants: (props?: ({
|
|
543
|
+
variant?: "default" | "destructive" | "link" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
544
|
+
size?: "default" | "sm" | "lg" | "icon" | null | undefined;
|
|
545
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
546
|
+
interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
547
|
+
asChild?: boolean;
|
|
548
|
+
}
|
|
549
|
+
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
550
|
+
|
|
551
|
+
interface InputProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
552
|
+
}
|
|
553
|
+
declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
|
|
554
|
+
|
|
555
|
+
declare const Label: React.ForwardRefExoticComponent<React.LabelHTMLAttributes<HTMLLabelElement> & VariantProps<(props?: class_variance_authority_types.ClassProp | undefined) => string> & React.RefAttributes<HTMLLabelElement>>;
|
|
556
|
+
|
|
557
|
+
declare const Card: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
558
|
+
declare const CardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
559
|
+
declare const CardTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLHeadingElement>>;
|
|
560
|
+
declare const CardDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
|
|
561
|
+
declare const CardContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
562
|
+
declare const CardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
563
|
+
|
|
564
|
+
declare const Checkbox: React.ForwardRefExoticComponent<Omit<CheckboxPrimitive.CheckboxProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
565
|
+
|
|
566
|
+
declare const Separator: React.ForwardRefExoticComponent<Omit<SeparatorPrimitive.SeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
567
|
+
|
|
568
|
+
/**
|
|
569
|
+
* Merge Tailwind CSS classes with proper precedence
|
|
570
|
+
*/
|
|
571
|
+
declare function cn(...inputs: ClassValue[]): string;
|
|
572
|
+
|
|
573
|
+
/**
|
|
574
|
+
* Email validation schema
|
|
575
|
+
*/
|
|
576
|
+
declare const emailSchema: z.ZodString;
|
|
577
|
+
/**
|
|
578
|
+
* Password validation schema with configurable constraints
|
|
579
|
+
*/
|
|
580
|
+
declare function createPasswordSchema(options?: {
|
|
581
|
+
minLength?: number;
|
|
582
|
+
maxLength?: number;
|
|
583
|
+
requireUppercase?: boolean;
|
|
584
|
+
requireLowercase?: boolean;
|
|
585
|
+
requireNumber?: boolean;
|
|
586
|
+
requireSpecial?: boolean;
|
|
587
|
+
}): z.ZodString;
|
|
588
|
+
/**
|
|
589
|
+
* Default password schema (8 chars minimum)
|
|
590
|
+
*/
|
|
591
|
+
declare const passwordSchema: z.ZodString;
|
|
592
|
+
/**
|
|
593
|
+
* Name validation schema
|
|
594
|
+
*/
|
|
595
|
+
declare const nameSchema: z.ZodString;
|
|
596
|
+
/**
|
|
597
|
+
* Sign in form schema
|
|
598
|
+
*/
|
|
599
|
+
declare const signInSchema: z.ZodObject<{
|
|
600
|
+
email: z.ZodString;
|
|
601
|
+
password: z.ZodString;
|
|
602
|
+
rememberMe: z.ZodOptional<z.ZodBoolean>;
|
|
603
|
+
}, "strip", z.ZodTypeAny, {
|
|
604
|
+
email: string;
|
|
605
|
+
password: string;
|
|
606
|
+
rememberMe?: boolean | undefined;
|
|
607
|
+
}, {
|
|
608
|
+
email: string;
|
|
609
|
+
password: string;
|
|
610
|
+
rememberMe?: boolean | undefined;
|
|
611
|
+
}>;
|
|
612
|
+
type SignInFormData = z.infer<typeof signInSchema>;
|
|
613
|
+
/**
|
|
614
|
+
* Sign up form schema
|
|
615
|
+
*/
|
|
616
|
+
declare const signUpSchema: z.ZodObject<{
|
|
617
|
+
name: z.ZodString;
|
|
618
|
+
email: z.ZodString;
|
|
619
|
+
password: z.ZodString;
|
|
620
|
+
}, "strip", z.ZodTypeAny, {
|
|
621
|
+
email: string;
|
|
622
|
+
password: string;
|
|
623
|
+
name: string;
|
|
624
|
+
}, {
|
|
625
|
+
email: string;
|
|
626
|
+
password: string;
|
|
627
|
+
name: string;
|
|
628
|
+
}>;
|
|
629
|
+
type SignUpFormData = z.infer<typeof signUpSchema>;
|
|
630
|
+
/**
|
|
631
|
+
* Sign up with confirm password schema
|
|
632
|
+
*/
|
|
633
|
+
declare const signUpWithConfirmSchema: z.ZodEffects<z.ZodObject<{
|
|
634
|
+
name: z.ZodString;
|
|
635
|
+
email: z.ZodString;
|
|
636
|
+
password: z.ZodString;
|
|
637
|
+
} & {
|
|
638
|
+
confirmPassword: z.ZodString;
|
|
639
|
+
}, "strip", z.ZodTypeAny, {
|
|
640
|
+
confirmPassword: string;
|
|
641
|
+
email: string;
|
|
642
|
+
password: string;
|
|
643
|
+
name: string;
|
|
644
|
+
}, {
|
|
645
|
+
confirmPassword: string;
|
|
646
|
+
email: string;
|
|
647
|
+
password: string;
|
|
648
|
+
name: string;
|
|
649
|
+
}>, {
|
|
650
|
+
confirmPassword: string;
|
|
651
|
+
email: string;
|
|
652
|
+
password: string;
|
|
653
|
+
name: string;
|
|
654
|
+
}, {
|
|
655
|
+
confirmPassword: string;
|
|
656
|
+
email: string;
|
|
657
|
+
password: string;
|
|
658
|
+
name: string;
|
|
659
|
+
}>;
|
|
660
|
+
type SignUpWithConfirmFormData = z.infer<typeof signUpWithConfirmSchema>;
|
|
661
|
+
/**
|
|
662
|
+
* Forgot password form schema
|
|
663
|
+
*/
|
|
664
|
+
declare const forgotPasswordSchema: z.ZodObject<{
|
|
665
|
+
email: z.ZodString;
|
|
666
|
+
}, "strip", z.ZodTypeAny, {
|
|
667
|
+
email: string;
|
|
668
|
+
}, {
|
|
669
|
+
email: string;
|
|
670
|
+
}>;
|
|
671
|
+
type ForgotPasswordFormData = z.infer<typeof forgotPasswordSchema>;
|
|
672
|
+
/**
|
|
673
|
+
* Reset password form schema
|
|
674
|
+
*/
|
|
675
|
+
declare const resetPasswordSchema: z.ZodEffects<z.ZodObject<{
|
|
676
|
+
password: z.ZodString;
|
|
677
|
+
confirmPassword: z.ZodString;
|
|
678
|
+
}, "strip", z.ZodTypeAny, {
|
|
679
|
+
confirmPassword: string;
|
|
680
|
+
password: string;
|
|
681
|
+
}, {
|
|
682
|
+
confirmPassword: string;
|
|
683
|
+
password: string;
|
|
684
|
+
}>, {
|
|
685
|
+
confirmPassword: string;
|
|
686
|
+
password: string;
|
|
687
|
+
}, {
|
|
688
|
+
confirmPassword: string;
|
|
689
|
+
password: string;
|
|
690
|
+
}>;
|
|
691
|
+
type ResetPasswordFormData = z.infer<typeof resetPasswordSchema>;
|
|
692
|
+
/**
|
|
693
|
+
* Two-factor authentication schema
|
|
694
|
+
*/
|
|
695
|
+
declare const twoFactorSchema: z.ZodObject<{
|
|
696
|
+
code: z.ZodString;
|
|
697
|
+
}, "strip", z.ZodTypeAny, {
|
|
698
|
+
code: string;
|
|
699
|
+
}, {
|
|
700
|
+
code: string;
|
|
701
|
+
}>;
|
|
702
|
+
type TwoFactorFormData = z.infer<typeof twoFactorSchema>;
|
|
21
703
|
|
|
22
|
-
export { AuthProvider, type AuthProviderProps };
|
|
704
|
+
export { AuthCard, type AuthCardProps, type AuthClient, AuthCard as AuthForm, AuthUIProvider as AuthProvider, type AuthUIProviderProps as AuthProviderProps, type AuthUIConfig, type AuthUIContextValue, AuthUIProvider, type AuthUIProviderProps, type AuthView, type AuthViewPaths, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, ForgotPasswordForm, type ForgotPasswordFormData, type ForgotPasswordFormProps, Input, type InputProps, Label, type LinkComponent, RedirectToSignIn, type RedirectToSignInProps, RedirectToSignUp, type RedirectToSignUpProps, ResetPasswordForm, type ResetPasswordFormData, type ResetPasswordFormProps, Separator, SettingsCard, type SettingsCardProps, SettingsCards, type SettingsCardsProps, SignInForm, type SignInFormData, type SignInFormProps, SignUpForm, type SignUpFormData, type SignUpFormProps, type SignUpWithConfirmFormData, SignedIn, type SignedInProps, SignedOut, type SignedOutProps, type SocialProvider, type ToastFn, type TwoFactorFormData, UserAvatar, type UserAvatarProps, UserButton, type UserButtonProps, UserView, type UserViewProps, buttonVariants, cn, createPasswordSchema, emailSchema, forgotPasswordSchema, nameSchema, passwordSchema, resetPasswordSchema, signInSchema, signUpSchema, signUpWithConfirmSchema, twoFactorSchema, useAuthUI };
|