@main12/auth-login 0.2.1 → 0.2.3

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.
Files changed (48) hide show
  1. package/dist/auth/application/hooks/useLoginFlow.d.ts +1 -1
  2. package/dist/auth/application/hooks/useSetPasswordFlow.d.ts +1 -1
  3. package/dist/auth/application/services/authService.d.ts +1 -1
  4. package/dist/auth/domain/passwordRules.d.ts +1 -1
  5. package/dist/components/AuthLayout.d.ts +1 -1
  6. package/dist/components/AuthLayout.js +59 -35
  7. package/dist/components/AuthPages.d.ts +22 -0
  8. package/dist/components/AuthPages.js +83 -0
  9. package/dist/components/PoweredBy.js +40 -23
  10. package/dist/components/email/baseTemplate.d.ts +2 -2
  11. package/dist/components/email/index.d.ts +7 -7
  12. package/dist/components/email/templates/otp.d.ts +3 -3
  13. package/dist/components/email/templates/passwordChanged.d.ts +3 -3
  14. package/dist/components/email/templates/passwordReset.d.ts +3 -3
  15. package/dist/components/email/templates/welcome.d.ts +3 -3
  16. package/dist/components/pages/ForgotPasswordPage.d.ts +1 -1
  17. package/dist/components/pages/ForgotPasswordPageHero.d.ts +1 -1
  18. package/dist/components/pages/ForgotPasswordPageHero.js +24 -15
  19. package/dist/components/pages/ForgotPasswordPageTailwind.d.ts +1 -1
  20. package/dist/components/pages/LoginPage.d.ts +1 -1
  21. package/dist/components/pages/LoginPageHero.d.ts +1 -1
  22. package/dist/components/pages/LoginPageHero.js +81 -51
  23. package/dist/components/pages/LoginPageTailwind.d.ts +1 -1
  24. package/dist/components/pages/LoginPageTailwind.js +11 -20
  25. package/dist/components/pages/SetPasswordPage.d.ts +1 -1
  26. package/dist/components/pages/SetPasswordPageHero.d.ts +1 -1
  27. package/dist/components/pages/SetPasswordPageHero.js +50 -33
  28. package/dist/components/pages/SetPasswordPageTailwind.d.ts +1 -1
  29. package/dist/components/pages/SignupPage.d.ts +1 -1
  30. package/dist/components/pages/SignupPageHero.d.ts +1 -1
  31. package/dist/components/pages/SignupPageHero.js +46 -34
  32. package/dist/components/pages/SignupPageTailwind.d.ts +1 -1
  33. package/dist/components/pages/VerifyOtpPage.d.ts +1 -1
  34. package/dist/components/pages/VerifyOtpPageHero.d.ts +1 -1
  35. package/dist/components/pages/VerifyOtpPageHero.js +46 -10
  36. package/dist/components/pages/VerifyOtpPageTailwind.d.ts +1 -1
  37. package/dist/components/ui/index.d.ts +2 -1
  38. package/dist/components/ui/index.js +3 -2
  39. package/dist/config.d.ts +9 -0
  40. package/dist/config.js +8 -5
  41. package/dist/exports/client.d.ts +27 -24
  42. package/dist/exports/client.js +4 -0
  43. package/dist/exports/rsc.d.ts +6 -6
  44. package/dist/index.d.ts +15 -2
  45. package/dist/index.js +12 -1
  46. package/dist/proxy.d.ts +31 -0
  47. package/dist/proxy.js +55 -0
  48. package/package.json +23 -14
@@ -2,7 +2,7 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import React, { Suspense } from 'react';
4
4
  import { useSearchParams } from 'next/navigation';
5
- import { Button, Input, Divider, Spinner as HSpinner } from '@heroui/react';
5
+ import { Button, Input, Label, TextField, Separator, Spinner } from '@heroui/react';
6
6
  import { motion, AnimatePresence } from 'framer-motion';
7
7
  import { Icon } from '@iconify/react';
8
8
  import { useLoginFlow } from '../../auth/application/hooks/useLoginFlow.js';
@@ -57,29 +57,29 @@ function LoginHeroContent({ onPasswordLogin, redirectTo = '/', showGoogleOAuth =
57
57
  children: [
58
58
  showGoogleOAuth && /*#__PURE__*/ _jsxs(_Fragment, {
59
59
  children: [
60
- /*#__PURE__*/ _jsx(Button, {
60
+ /*#__PURE__*/ _jsxs(Button, {
61
61
  fullWidth: true,
62
- variant: "bordered",
63
- size: "lg",
64
- className: "mb-4 h-12 border-gray-300 rounded-full text-gray-700 hover:bg-gray-50",
65
- startContent: /*#__PURE__*/ _jsx(Icon, {
66
- icon: "flat-color-icons:google",
67
- width: 20
68
- }),
62
+ variant: "secondary",
69
63
  onPress: handleGoogleLogin,
70
- children: "Continue with Google"
64
+ children: [
65
+ /*#__PURE__*/ _jsx(Icon, {
66
+ icon: "flat-color-icons:google",
67
+ width: 20
68
+ }),
69
+ "Continue with Google"
70
+ ]
71
71
  }),
72
72
  /*#__PURE__*/ _jsxs("div", {
73
73
  className: "flex items-center gap-4 my-4",
74
74
  children: [
75
- /*#__PURE__*/ _jsx(Divider, {
75
+ /*#__PURE__*/ _jsx(Separator, {
76
76
  className: "flex-1"
77
77
  }),
78
78
  /*#__PURE__*/ _jsx("span", {
79
79
  className: "text-gray-500 text-sm",
80
80
  children: "or"
81
81
  }),
82
- /*#__PURE__*/ _jsx(Divider, {
82
+ /*#__PURE__*/ _jsx(Separator, {
83
83
  className: "flex-1"
84
84
  })
85
85
  ]
@@ -100,28 +100,36 @@ function LoginHeroContent({ onPasswordLogin, redirectTo = '/', showGoogleOAuth =
100
100
  },
101
101
  children: error
102
102
  }),
103
- /*#__PURE__*/ _jsx(Input, {
103
+ /*#__PURE__*/ _jsxs(TextField, {
104
104
  type: "email",
105
- label: "Email",
106
105
  value: email,
107
- onValueChange: setEmail,
108
- variant: "bordered",
109
- size: "lg",
106
+ onChange: setEmail,
110
107
  isRequired: true,
111
- classNames: {
112
- input: 'text-gray-900',
113
- label: 'text-gray-600',
114
- inputWrapper: 'border-gray-300 hover:border-gray-400 bg-white'
115
- }
108
+ fullWidth: true,
109
+ children: [
110
+ /*#__PURE__*/ _jsx(Label, {
111
+ className: "text-gray-600",
112
+ children: "Email"
113
+ }),
114
+ /*#__PURE__*/ _jsx(Input, {
115
+ variant: "secondary"
116
+ })
117
+ ]
116
118
  }),
117
119
  /*#__PURE__*/ _jsx(Button, {
118
120
  type: "submit",
119
121
  fullWidth: true,
120
122
  size: "lg",
121
- color: "primary",
122
- isLoading: isLoading,
123
- className: "h-12 font-semibold",
124
- children: "Continue"
123
+ isPending: isLoading,
124
+ children: ({ isPending })=>/*#__PURE__*/ _jsxs(_Fragment, {
125
+ children: [
126
+ isPending && /*#__PURE__*/ _jsx(Spinner, {
127
+ color: "current",
128
+ size: "sm"
129
+ }),
130
+ "Continue"
131
+ ]
132
+ })
125
133
  })
126
134
  ]
127
135
  })
@@ -173,29 +181,37 @@ function LoginHeroContent({ onPasswordLogin, redirectTo = '/', showGoogleOAuth =
173
181
  },
174
182
  children: error
175
183
  }),
176
- /*#__PURE__*/ _jsx(Input, {
184
+ /*#__PURE__*/ _jsxs(TextField, {
177
185
  type: showPassword ? 'text' : 'password',
178
- label: "Password",
179
186
  value: password,
180
- onValueChange: setPassword,
181
- variant: "bordered",
182
- size: "lg",
187
+ onChange: setPassword,
183
188
  isRequired: true,
184
189
  autoFocus: true,
185
- classNames: {
186
- input: 'text-gray-900',
187
- label: 'text-gray-600',
188
- inputWrapper: 'border-gray-300 hover:border-gray-400 bg-white'
189
- },
190
- endContent: /*#__PURE__*/ _jsx("button", {
191
- type: "button",
192
- onClick: ()=>setShowPassword(!showPassword),
193
- children: /*#__PURE__*/ _jsx(Icon, {
194
- icon: showPassword ? 'lucide:eye-off' : 'lucide:eye',
195
- className: "text-gray-400",
196
- width: 20
190
+ fullWidth: true,
191
+ children: [
192
+ /*#__PURE__*/ _jsx(Label, {
193
+ className: "text-gray-600",
194
+ children: "Password"
195
+ }),
196
+ /*#__PURE__*/ _jsxs("div", {
197
+ className: "relative",
198
+ children: [
199
+ /*#__PURE__*/ _jsx(Input, {
200
+ variant: "secondary"
201
+ }),
202
+ /*#__PURE__*/ _jsx("button", {
203
+ type: "button",
204
+ className: "absolute right-3 top-1/2 -translate-y-1/2",
205
+ onClick: ()=>setShowPassword(!showPassword),
206
+ children: /*#__PURE__*/ _jsx(Icon, {
207
+ icon: showPassword ? 'lucide:eye-off' : 'lucide:eye',
208
+ className: "text-gray-400",
209
+ width: 20
210
+ })
211
+ })
212
+ ]
197
213
  })
198
- })
214
+ ]
199
215
  }),
200
216
  /*#__PURE__*/ _jsx("div", {
201
217
  className: "text-left",
@@ -209,10 +225,17 @@ function LoginHeroContent({ onPasswordLogin, redirectTo = '/', showGoogleOAuth =
209
225
  type: "submit",
210
226
  fullWidth: true,
211
227
  size: "lg",
212
- color: "primary",
213
- isLoading: isLoading,
228
+ isPending: isLoading,
214
229
  className: "h-12 font-semibold",
215
- children: "Continue"
230
+ children: ({ isPending })=>/*#__PURE__*/ _jsxs(_Fragment, {
231
+ children: [
232
+ isPending && /*#__PURE__*/ _jsx(Spinner, {
233
+ color: "current",
234
+ size: "sm"
235
+ }),
236
+ "Continue"
237
+ ]
238
+ })
216
239
  })
217
240
  ]
218
241
  })
@@ -271,11 +294,18 @@ function LoginHeroContent({ onPasswordLogin, redirectTo = '/', showGoogleOAuth =
271
294
  /*#__PURE__*/ _jsx(Button, {
272
295
  fullWidth: true,
273
296
  size: "lg",
274
- color: "primary",
275
- isLoading: isSendingOtp,
297
+ isPending: isSendingOtp,
276
298
  onPress: handleSendOtp,
277
299
  className: "h-12 font-semibold",
278
- children: isSendingOtp ? 'Sending...' : 'Send Code'
300
+ children: ({ isPending })=>/*#__PURE__*/ _jsxs(_Fragment, {
301
+ children: [
302
+ isPending && /*#__PURE__*/ _jsx(Spinner, {
303
+ color: "current",
304
+ size: "sm"
305
+ }),
306
+ isPending ? 'Sending...' : 'Send Code'
307
+ ]
308
+ })
279
309
  })
280
310
  ]
281
311
  }, "otp-prompt")
@@ -287,7 +317,7 @@ export default function LoginPageHero(props) {
287
317
  return /*#__PURE__*/ _jsx(Suspense, {
288
318
  fallback: /*#__PURE__*/ _jsx("div", {
289
319
  className: "min-h-screen flex items-center justify-center",
290
- children: /*#__PURE__*/ _jsx(HSpinner, {
320
+ children: /*#__PURE__*/ _jsx(Spinner, {
291
321
  size: "lg"
292
322
  })
293
323
  }),
@@ -1,4 +1,4 @@
1
- import type { AuthLayoutConfig } from '../AuthLayout.js';
1
+ import type { AuthLayoutConfig } from '../AuthLayout';
2
2
  export interface LoginPageProps extends AuthLayoutConfig {
3
3
  onPasswordLogin: (credentials: {
4
4
  email: string;
@@ -41,7 +41,7 @@ function LoginContent({ onPasswordLogin, redirectTo = '/', showGoogleOAuth = tru
41
41
  children: [
42
42
  /*#__PURE__*/ _jsxs(Button, {
43
43
  fullWidth: true,
44
- variant: "bordered",
44
+ variant: "secondary",
45
45
  size: "lg",
46
46
  className: "mb-4",
47
47
  onPress: handleGoogleLogin,
@@ -83,7 +83,8 @@ function LoginContent({ onPasswordLogin, redirectTo = '/', showGoogleOAuth = tru
83
83
  label: "Email",
84
84
  value: email,
85
85
  onValueChange: setEmail,
86
- isRequired: true
86
+ isRequired: true,
87
+ variant: "secondary"
87
88
  }),
88
89
  /*#__PURE__*/ _jsx(Button, {
89
90
  type: "submit",
@@ -121,24 +122,14 @@ function LoginContent({ onPasswordLogin, redirectTo = '/', showGoogleOAuth = tru
121
122
  className: "bg-red-50 text-red-600 border border-red-200 rounded-lg p-3 text-sm",
122
123
  children: error
123
124
  }),
124
- /*#__PURE__*/ _jsxs("div", {
125
- className: "relative",
126
- children: [
127
- /*#__PURE__*/ _jsx(Input, {
128
- type: showPassword ? 'text' : 'password',
129
- label: "Password",
130
- value: password,
131
- onValueChange: setPassword,
132
- isRequired: true,
133
- autoFocus: true
134
- }),
135
- /*#__PURE__*/ _jsx("button", {
136
- type: "button",
137
- onClick: ()=>setShowPassword(!showPassword),
138
- className: "absolute right-4 top-9 text-gray-400 hover:text-gray-600",
139
- children: showPassword ? '🙈' : '👁'
140
- })
141
- ]
125
+ /*#__PURE__*/ _jsx(Input, {
126
+ type: showPassword ? 'text' : 'password',
127
+ label: "Password",
128
+ value: password,
129
+ onValueChange: setPassword,
130
+ isRequired: true,
131
+ autoFocus: true,
132
+ variant: "secondary"
142
133
  }),
143
134
  /*#__PURE__*/ _jsx("div", {
144
135
  className: "text-left",
@@ -1,4 +1,4 @@
1
- import type { AuthLayoutConfig } from '../AuthLayout.js';
1
+ import type { AuthLayoutConfig } from '../AuthLayout';
2
2
  export interface SetPasswordPageProps extends AuthLayoutConfig {
3
3
  redirectTo?: string;
4
4
  }
@@ -1,4 +1,4 @@
1
- import type { AuthLayoutConfig } from '../AuthLayout.js';
1
+ import type { AuthLayoutConfig } from '../AuthLayout';
2
2
  export interface SetPasswordPageHeroProps extends AuthLayoutConfig {
3
3
  redirectTo?: string;
4
4
  }
@@ -1,7 +1,7 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import React from 'react';
4
- import { Button, Input } from '@heroui/react';
4
+ import { Button, Input, Label, TextField, Spinner } from '@heroui/react';
5
5
  import { Icon } from '@iconify/react';
6
6
  import { motion } from 'framer-motion';
7
7
  import { useSetPasswordFlow } from '../../auth/application/hooks/useSetPasswordFlow.js';
@@ -34,29 +34,37 @@ export default function SetPasswordPageHero({ redirectTo = '/', logo, poweredBy,
34
34
  },
35
35
  children: error
36
36
  }),
37
- /*#__PURE__*/ _jsx(Input, {
37
+ /*#__PURE__*/ _jsxs(TextField, {
38
38
  type: showPassword ? 'text' : 'password',
39
- label: "New Password",
40
39
  value: password,
41
- onValueChange: setPassword,
42
- variant: "bordered",
43
- size: "lg",
40
+ onChange: setPassword,
44
41
  isRequired: true,
45
42
  autoFocus: true,
46
- classNames: {
47
- input: 'text-gray-900',
48
- label: 'text-gray-600',
49
- inputWrapper: 'border-gray-300 bg-white'
50
- },
51
- endContent: /*#__PURE__*/ _jsx("button", {
52
- type: "button",
53
- onClick: ()=>setShowPassword(!showPassword),
54
- children: /*#__PURE__*/ _jsx(Icon, {
55
- icon: showPassword ? 'lucide:eye-off' : 'lucide:eye',
56
- className: "text-gray-400",
57
- width: 20
43
+ fullWidth: true,
44
+ children: [
45
+ /*#__PURE__*/ _jsx(Label, {
46
+ className: "text-gray-600",
47
+ children: "New Password"
48
+ }),
49
+ /*#__PURE__*/ _jsxs("div", {
50
+ className: "relative",
51
+ children: [
52
+ /*#__PURE__*/ _jsx(Input, {
53
+ className: "w-full pr-10 bg-white"
54
+ }),
55
+ /*#__PURE__*/ _jsx("button", {
56
+ type: "button",
57
+ className: "absolute right-3 top-1/2 -translate-y-1/2",
58
+ onClick: ()=>setShowPassword(!showPassword),
59
+ children: /*#__PURE__*/ _jsx(Icon, {
60
+ icon: showPassword ? 'lucide:eye-off' : 'lucide:eye',
61
+ className: "text-gray-400",
62
+ width: 20
63
+ })
64
+ })
65
+ ]
58
66
  })
59
- })
67
+ ]
60
68
  }),
61
69
  password.length > 0 && /*#__PURE__*/ _jsx("div", {
62
70
  className: "flex gap-1",
@@ -64,28 +72,37 @@ export default function SetPasswordPageHero({ redirectTo = '/', logo, poweredBy,
64
72
  className: `h-1 flex-1 rounded-full ${a ? 'bg-[#D5E855]' : 'bg-gray-200'}`
65
73
  }, i))
66
74
  }),
67
- /*#__PURE__*/ _jsx(Input, {
75
+ /*#__PURE__*/ _jsxs(TextField, {
68
76
  type: showPassword ? 'text' : 'password',
69
- label: "Confirm Password",
70
77
  value: confirmPassword,
71
- onValueChange: setConfirmPassword,
72
- variant: "bordered",
73
- size: "lg",
78
+ onChange: setConfirmPassword,
74
79
  isRequired: true,
75
- classNames: {
76
- input: 'text-gray-900',
77
- label: 'text-gray-600',
78
- inputWrapper: 'border-gray-300 bg-white'
79
- }
80
+ fullWidth: true,
81
+ children: [
82
+ /*#__PURE__*/ _jsx(Label, {
83
+ className: "text-gray-600",
84
+ children: "Confirm Password"
85
+ }),
86
+ /*#__PURE__*/ _jsx(Input, {
87
+ className: "w-full bg-white"
88
+ })
89
+ ]
80
90
  }),
81
91
  /*#__PURE__*/ _jsx(Button, {
82
92
  type: "submit",
83
93
  fullWidth: true,
84
94
  size: "lg",
85
- color: "primary",
86
- isLoading: isLoading,
95
+ isPending: isLoading,
87
96
  className: "h-12 font-semibold",
88
- children: "Set Password"
97
+ children: ({ isPending })=>/*#__PURE__*/ _jsxs(_Fragment, {
98
+ children: [
99
+ isPending && /*#__PURE__*/ _jsx(Spinner, {
100
+ color: "current",
101
+ size: "sm"
102
+ }),
103
+ "Set Password"
104
+ ]
105
+ })
89
106
  })
90
107
  ]
91
108
  })
@@ -1,4 +1,4 @@
1
- import type { AuthLayoutConfig } from '../AuthLayout.js';
1
+ import type { AuthLayoutConfig } from '../AuthLayout';
2
2
  export interface SetPasswordPageProps extends AuthLayoutConfig {
3
3
  redirectTo?: string;
4
4
  }
@@ -1,4 +1,4 @@
1
- import type { AuthLayoutConfig } from '../AuthLayout.js';
1
+ import type { AuthLayoutConfig } from '../AuthLayout';
2
2
  export interface SignupPageProps extends AuthLayoutConfig {
3
3
  onSignup: (data: {
4
4
  name: string;
@@ -1,4 +1,4 @@
1
- import type { AuthLayoutConfig } from '../AuthLayout.js';
1
+ import type { AuthLayoutConfig } from '../AuthLayout';
2
2
  export interface SignupPageHeroProps extends AuthLayoutConfig {
3
3
  onSignup: (data: {
4
4
  name: string;
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import React from 'react';
4
- import { Button, Input, Divider } from '@heroui/react';
4
+ import { Button, Input, Label, TextField, Separator, Spinner } from '@heroui/react';
5
5
  import { Icon } from '@iconify/react';
6
6
  import { motion } from 'framer-motion';
7
7
  import { AuthLayout } from '../AuthLayout.js';
@@ -47,28 +47,29 @@ export default function SignupPageHero({ onSignup, showGoogleOAuth = true, login
47
47
  children: [
48
48
  showGoogleOAuth && /*#__PURE__*/ _jsxs(_Fragment, {
49
49
  children: [
50
- /*#__PURE__*/ _jsx(Button, {
50
+ /*#__PURE__*/ _jsxs(Button, {
51
51
  fullWidth: true,
52
- variant: "bordered",
53
52
  size: "lg",
54
- className: "mb-4 h-12 border-gray-300 rounded-full text-gray-700 hover:bg-gray-50",
55
- startContent: /*#__PURE__*/ _jsx(Icon, {
56
- icon: "flat-color-icons:google",
57
- width: 20
58
- }),
59
- children: "Continue with Google"
53
+ className: "mb-4 h-12 rounded-full",
54
+ children: [
55
+ /*#__PURE__*/ _jsx(Icon, {
56
+ icon: "flat-color-icons:google",
57
+ width: 20
58
+ }),
59
+ "Continue with Google"
60
+ ]
60
61
  }),
61
62
  /*#__PURE__*/ _jsxs("div", {
62
63
  className: "flex items-center gap-4 my-4",
63
64
  children: [
64
- /*#__PURE__*/ _jsx(Divider, {
65
+ /*#__PURE__*/ _jsx(Separator, {
65
66
  className: "flex-1"
66
67
  }),
67
68
  /*#__PURE__*/ _jsx("span", {
68
69
  className: "text-gray-500 text-sm",
69
70
  children: "or"
70
71
  }),
71
- /*#__PURE__*/ _jsx(Divider, {
72
+ /*#__PURE__*/ _jsx(Separator, {
72
73
  className: "flex-1"
73
74
  })
74
75
  ]
@@ -89,33 +90,37 @@ export default function SignupPageHero({ onSignup, showGoogleOAuth = true, login
89
90
  },
90
91
  children: error
91
92
  }),
92
- /*#__PURE__*/ _jsx(Input, {
93
+ /*#__PURE__*/ _jsxs(TextField, {
93
94
  type: "text",
94
- label: "Full Name",
95
95
  value: name,
96
- onValueChange: setName,
97
- variant: "bordered",
98
- size: "lg",
96
+ onChange: setName,
99
97
  isRequired: true,
100
- classNames: {
101
- input: 'text-gray-900',
102
- label: 'text-gray-600',
103
- inputWrapper: 'border-gray-300 bg-white'
104
- }
98
+ fullWidth: true,
99
+ children: [
100
+ /*#__PURE__*/ _jsx(Label, {
101
+ className: "text-gray-600",
102
+ children: "Full Name"
103
+ }),
104
+ /*#__PURE__*/ _jsx(Input, {
105
+ variant: "secondary"
106
+ })
107
+ ]
105
108
  }),
106
- /*#__PURE__*/ _jsx(Input, {
109
+ /*#__PURE__*/ _jsxs(TextField, {
107
110
  type: "email",
108
- label: "Email",
109
111
  value: email,
110
- onValueChange: setEmail,
111
- variant: "bordered",
112
- size: "lg",
112
+ onChange: setEmail,
113
113
  isRequired: true,
114
- classNames: {
115
- input: 'text-gray-900',
116
- label: 'text-gray-600',
117
- inputWrapper: 'border-gray-300 bg-white'
118
- }
114
+ fullWidth: true,
115
+ children: [
116
+ /*#__PURE__*/ _jsx(Label, {
117
+ className: "text-gray-600",
118
+ children: "Email"
119
+ }),
120
+ /*#__PURE__*/ _jsx(Input, {
121
+ variant: "secondary"
122
+ })
123
+ ]
119
124
  }),
120
125
  /*#__PURE__*/ _jsxs("p", {
121
126
  className: "text-xs text-gray-600 text-center",
@@ -138,10 +143,17 @@ export default function SignupPageHero({ onSignup, showGoogleOAuth = true, login
138
143
  type: "submit",
139
144
  fullWidth: true,
140
145
  size: "lg",
141
- color: "primary",
142
- isLoading: isLoading,
146
+ isPending: isLoading,
143
147
  className: "h-12 font-semibold",
144
- children: "Create Account"
148
+ children: ({ isPending })=>/*#__PURE__*/ _jsxs(_Fragment, {
149
+ children: [
150
+ isPending && /*#__PURE__*/ _jsx(Spinner, {
151
+ color: "current",
152
+ size: "sm"
153
+ }),
154
+ "Create Account"
155
+ ]
156
+ })
145
157
  })
146
158
  ]
147
159
  })
@@ -1,4 +1,4 @@
1
- import type { AuthLayoutConfig } from '../AuthLayout.js';
1
+ import type { AuthLayoutConfig } from '../AuthLayout';
2
2
  export interface SignupPageProps extends AuthLayoutConfig {
3
3
  onSignup: (data: {
4
4
  name: string;
@@ -1,4 +1,4 @@
1
- import type { AuthLayoutConfig } from '../AuthLayout.js';
1
+ import type { AuthLayoutConfig } from '../AuthLayout';
2
2
  export interface VerifyOtpPageProps extends AuthLayoutConfig {
3
3
  loginUrl?: string;
4
4
  }
@@ -1,4 +1,4 @@
1
- import type { AuthLayoutConfig } from '../AuthLayout.js';
1
+ import type { AuthLayoutConfig } from '../AuthLayout';
2
2
  export interface VerifyOtpPageHeroProps extends AuthLayoutConfig {
3
3
  loginUrl?: string;
4
4
  }