@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.
@@ -1,22 +1,704 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { AuthUIProviderProps } from '@daveyplate/better-auth-ui';
3
- export { AuthCard, AuthForm, AuthUIProviderProps, ForgotPasswordForm, RedirectToSignIn, RedirectToSignUp, ResetPasswordForm, SettingsCard, SettingsCards, SignInForm, SignUpForm, SignedIn, SignedOut, UserAvatar, UserButton, UserView } from '@daveyplate/better-auth-ui';
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 provider wrapper - pass your authClient and router functions
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
- * <AuthProvider
12
- * authClient={authClient}
13
- * navigate={(href) => router.push(href)}
14
- * Link={NextLink}
15
- * >
16
- * {children}
17
- * </AuthProvider>
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 const AuthProvider: ({ children, authClient, avatarExtension, avatarSize, basePath, baseURL, captcha, redirectTo, credentials, changeEmail, forgotPassword, freshAge, hooks: hooksProp, mutators: mutatorsProp, localization: localizationProp, nameRequired, settingsFields, signUp, signUpFields, toast, viewPaths: viewPathsProp, navigate, replace, uploadAvatar, Link, ...props }: AuthUIProviderProps) => react_jsx_runtime.JSX.Element;
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 };