@better-auth-ui/heroui 1.6.2 → 1.6.4

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 (213) hide show
  1. package/dist/components/auth/additional-field.d.ts +4 -0
  2. package/dist/components/auth/additional-field.js +270 -0
  3. package/dist/components/auth/auth-provider.d.ts +4 -6
  4. package/dist/components/auth/auth-provider.js +12 -11
  5. package/dist/components/auth/auth.d.ts +1 -1
  6. package/dist/components/auth/auth.js +54 -28
  7. package/dist/components/{settings/security → auth/delete-user}/danger-zone.d.ts +3 -4
  8. package/dist/components/{settings/security → auth/delete-user}/danger-zone.js +1 -1
  9. package/dist/components/{settings/security → auth/delete-user}/delete-user.d.ts +1 -1
  10. package/dist/components/auth/delete-user/delete-user.js +95 -0
  11. package/dist/components/{email → auth/email}/email-changed-email.d.ts +2 -2
  12. package/dist/components/{email → auth/email}/email-changed-email.js +7 -7
  13. package/dist/components/{email → auth/email}/email-verification-email.d.ts +2 -2
  14. package/dist/components/{email → auth/email}/email-verification-email.js +7 -7
  15. package/dist/components/auth/email/magic-link-email.d.ts +3 -0
  16. package/dist/components/{email → auth/email}/magic-link-email.js +7 -7
  17. package/dist/components/auth/email/new-device-email.d.ts +3 -0
  18. package/dist/components/{email → auth/email}/new-device-email.js +7 -7
  19. package/dist/components/auth/email/otp-email.d.ts +3 -0
  20. package/dist/components/{email → auth/email}/otp-email.js +6 -6
  21. package/dist/components/{email → auth/email}/password-changed-email.d.ts +2 -2
  22. package/dist/components/{email → auth/email}/password-changed-email.js +7 -7
  23. package/dist/components/{email → auth/email}/reset-password-email.d.ts +2 -2
  24. package/dist/components/{email → auth/email}/reset-password-email.js +7 -7
  25. package/dist/components/auth/error-toaster.d.ts +1 -0
  26. package/dist/components/auth/error-toaster.js +17 -0
  27. package/dist/components/auth/forgot-password.d.ts +2 -2
  28. package/dist/components/auth/forgot-password.js +42 -42
  29. package/dist/components/auth/magic-link/magic-link-button.d.ts +11 -0
  30. package/dist/components/auth/magic-link/magic-link-button.js +20 -0
  31. package/dist/components/auth/magic-link/magic-link.d.ts +16 -0
  32. package/dist/components/auth/magic-link/magic-link.js +87 -0
  33. package/dist/components/{settings/account → auth/multi-session}/manage-account.d.ts +2 -6
  34. package/dist/components/auth/multi-session/manage-account.js +49 -0
  35. package/dist/components/{settings/account → auth/multi-session}/manage-accounts.d.ts +1 -1
  36. package/dist/components/auth/multi-session/manage-accounts.js +34 -0
  37. package/dist/components/{user/switch-account-menu.d.ts → auth/multi-session/switch-account-submenu-content.d.ts} +3 -3
  38. package/dist/components/auth/multi-session/switch-account-submenu-content.js +29 -0
  39. package/dist/components/{user/switch-account-item.d.ts → auth/multi-session/switch-account-submenu-item.d.ts} +2 -2
  40. package/dist/components/auth/multi-session/switch-account-submenu-item.js +20 -0
  41. package/dist/components/auth/multi-session/switch-account-submenu.d.ts +13 -0
  42. package/dist/components/auth/multi-session/switch-account-submenu.js +24 -0
  43. package/dist/components/auth/passkey/passkey-button.d.ts +6 -0
  44. package/dist/components/auth/passkey/passkey-button.js +24 -0
  45. package/dist/components/auth/passkey/passkey.js +45 -0
  46. package/dist/components/{settings/security → auth/passkey}/passkeys.d.ts +1 -1
  47. package/dist/components/auth/passkey/passkeys.js +106 -0
  48. package/dist/components/auth/provider-button.d.ts +13 -0
  49. package/dist/components/auth/provider-button.js +25 -0
  50. package/dist/components/auth/provider-buttons.d.ts +3 -10
  51. package/dist/components/auth/provider-buttons.js +14 -22
  52. package/dist/components/auth/reset-password.d.ts +1 -1
  53. package/dist/components/auth/reset-password.js +110 -110
  54. package/dist/components/{settings → auth/settings}/account/account-settings.d.ts +5 -2
  55. package/dist/components/auth/settings/account/account-settings.js +20 -0
  56. package/dist/components/auth/settings/account/change-avatar.js +89 -0
  57. package/dist/components/{settings → auth/settings}/account/change-email.d.ts +1 -1
  58. package/dist/components/{settings → auth/settings}/account/change-email.js +17 -20
  59. package/dist/components/{settings → auth/settings}/account/user-profile.d.ts +3 -4
  60. package/dist/components/auth/settings/account/user-profile.js +86 -0
  61. package/dist/components/auth/settings/security/active-session.js +59 -0
  62. package/dist/components/{settings → auth/settings}/security/active-sessions.d.ts +1 -1
  63. package/dist/components/auth/settings/security/active-sessions.js +34 -0
  64. package/dist/components/{settings → auth/settings}/security/change-password.d.ts +1 -1
  65. package/dist/components/auth/settings/security/change-password.js +189 -0
  66. package/dist/components/auth/settings/security/linked-account.js +56 -0
  67. package/dist/components/{settings → auth/settings}/security/linked-accounts.d.ts +1 -1
  68. package/dist/components/auth/settings/security/linked-accounts.js +45 -0
  69. package/dist/components/{settings → auth/settings}/security/security-settings.d.ts +1 -1
  70. package/dist/components/auth/settings/security/security-settings.js +22 -0
  71. package/dist/components/auth/settings/settings.js +45 -0
  72. package/dist/components/auth/sign-in.d.ts +1 -1
  73. package/dist/components/auth/sign-in.js +64 -100
  74. package/dist/components/auth/sign-out.js +11 -11
  75. package/dist/components/auth/sign-up.d.ts +1 -1
  76. package/dist/components/auth/sign-up.js +123 -157
  77. package/dist/components/{settings/account → auth/theme}/appearance.d.ts +3 -6
  78. package/dist/components/auth/theme/appearance.js +72 -0
  79. package/dist/components/auth/theme/theme-toggle-item.d.ts +5 -0
  80. package/dist/components/auth/theme/theme-toggle-item.js +58 -0
  81. package/dist/components/auth/user/user-avatar.js +29 -0
  82. package/dist/components/{user → auth/user}/user-button.d.ts +2 -6
  83. package/dist/components/auth/user/user-button.js +55 -0
  84. package/dist/components/auth/user/user-view.js +37 -0
  85. package/dist/components/auth/username/sign-in-username.d.ts +14 -0
  86. package/dist/components/auth/username/sign-in-username.js +142 -0
  87. package/dist/components/auth/username/username-field.d.ts +8 -0
  88. package/dist/components/auth/username/username-field.js +51 -0
  89. package/dist/email.d.ts +7 -0
  90. package/dist/email.js +9 -0
  91. package/dist/index.d.ts +13 -27
  92. package/dist/index.js +22 -36
  93. package/dist/lib/auth/auth-plugin.d.ts +44 -0
  94. package/dist/lib/auth/delete-user-plugin.d.ts +17 -0
  95. package/dist/lib/auth/delete-user-plugin.js +10 -0
  96. package/dist/lib/auth/magic-link-plugin.d.ts +31 -0
  97. package/dist/lib/auth/magic-link-plugin.js +13 -0
  98. package/dist/lib/auth/multi-session-plugin.d.ts +18 -0
  99. package/dist/lib/auth/multi-session-plugin.js +12 -0
  100. package/dist/lib/auth/passkey-plugin.d.ts +20 -0
  101. package/dist/lib/auth/passkey-plugin.js +12 -0
  102. package/dist/lib/auth/theme-plugin.d.ts +68 -0
  103. package/dist/lib/auth/theme-plugin.js +23 -0
  104. package/dist/lib/auth/username-plugin.d.ts +63 -0
  105. package/dist/lib/auth/username-plugin.js +18 -0
  106. package/dist/plugins.d.ts +20 -0
  107. package/dist/plugins.js +21 -0
  108. package/package.json +22 -22
  109. package/src/components/auth/additional-field.tsx +554 -0
  110. package/src/components/auth/auth-provider.tsx +8 -5
  111. package/src/components/auth/auth.tsx +100 -36
  112. package/src/components/{settings/security → auth/delete-user}/danger-zone.tsx +3 -10
  113. package/src/components/{settings/security → auth/delete-user}/delete-user.tsx +31 -24
  114. package/src/components/{email → auth/email}/email-changed-email.tsx +2 -2
  115. package/src/components/{email → auth/email}/email-verification-email.tsx +2 -2
  116. package/src/components/{email → auth/email}/magic-link-email.tsx +2 -2
  117. package/src/components/{email → auth/email}/new-device-email.tsx +2 -2
  118. package/src/components/{email → auth/email}/otp-email.tsx +2 -2
  119. package/src/components/{email → auth/email}/password-changed-email.tsx +2 -2
  120. package/src/components/{email → auth/email}/reset-password-email.tsx +2 -2
  121. package/src/components/auth/error-toaster.tsx +25 -0
  122. package/src/components/auth/forgot-password.tsx +15 -13
  123. package/src/components/auth/magic-link/magic-link-button.tsx +61 -0
  124. package/src/components/auth/{magic-link.tsx → magic-link/magic-link.tsx} +52 -57
  125. package/src/components/{settings/account → auth/multi-session}/manage-account.tsx +15 -15
  126. package/src/components/{settings/account → auth/multi-session}/manage-accounts.tsx +16 -12
  127. package/src/components/{user/switch-account-menu.tsx → auth/multi-session/switch-account-submenu-content.tsx} +19 -17
  128. package/src/components/{user/switch-account-item.tsx → auth/multi-session/switch-account-submenu-item.tsx} +18 -8
  129. package/src/components/auth/multi-session/switch-account-submenu.tsx +50 -0
  130. package/src/components/auth/passkey/passkey-button.tsx +56 -0
  131. package/src/components/{settings/security → auth/passkey}/passkey.tsx +21 -9
  132. package/src/components/auth/passkey/passkeys.tsx +196 -0
  133. package/src/components/auth/provider-button.tsx +65 -0
  134. package/src/components/auth/provider-buttons.tsx +23 -45
  135. package/src/components/auth/reset-password.tsx +14 -9
  136. package/src/components/{settings → auth/settings}/account/account-settings.tsx +15 -13
  137. package/src/components/{settings → auth/settings}/account/change-avatar.tsx +4 -5
  138. package/src/components/{settings → auth/settings}/account/change-email.tsx +5 -6
  139. package/src/components/auth/settings/account/user-profile.tsx +171 -0
  140. package/src/components/{settings → auth/settings}/security/active-session.tsx +8 -6
  141. package/src/components/{settings → auth/settings}/security/active-sessions.tsx +5 -10
  142. package/src/components/{settings → auth/settings}/security/change-password.tsx +22 -14
  143. package/src/components/{settings → auth/settings}/security/linked-account.tsx +10 -16
  144. package/src/components/{settings → auth/settings}/security/linked-accounts.tsx +4 -9
  145. package/src/components/{settings → auth/settings}/security/security-settings.tsx +7 -6
  146. package/src/components/{settings → auth/settings}/settings.tsx +2 -2
  147. package/src/components/auth/sign-in.tsx +39 -80
  148. package/src/components/auth/sign-out.tsx +2 -2
  149. package/src/components/auth/sign-up.tsx +110 -147
  150. package/src/components/{settings/account → auth/theme}/appearance.tsx +18 -25
  151. package/src/components/auth/theme/theme-toggle-item.tsx +110 -0
  152. package/src/components/{user → auth/user}/user-avatar.tsx +12 -4
  153. package/src/components/{user → auth/user}/user-button.tsx +15 -88
  154. package/src/components/{user → auth/user}/user-view.tsx +12 -4
  155. package/src/components/auth/username/sign-in-username.tsx +283 -0
  156. package/src/components/auth/username/username-field.tsx +122 -0
  157. package/src/email.ts +9 -0
  158. package/src/index.tsx +13 -27
  159. package/src/lib/auth/auth-plugin.ts +67 -0
  160. package/src/lib/auth/delete-user-plugin.ts +15 -0
  161. package/src/lib/auth/magic-link-plugin.ts +26 -0
  162. package/src/lib/auth/multi-session-plugin.ts +17 -0
  163. package/src/lib/auth/passkey-plugin.ts +17 -0
  164. package/src/lib/auth/theme-plugin.ts +86 -0
  165. package/src/lib/auth/username-plugin.tsx +30 -0
  166. package/src/plugins.ts +23 -0
  167. package/dist/components/auth/magic-link-button.d.ts +0 -13
  168. package/dist/components/auth/magic-link-button.js +0 -16
  169. package/dist/components/auth/magic-link.d.ts +0 -17
  170. package/dist/components/auth/magic-link.js +0 -111
  171. package/dist/components/auth/passkey-button.d.ts +0 -4
  172. package/dist/components/auth/passkey-button.js +0 -24
  173. package/dist/components/email/magic-link-email.d.ts +0 -3
  174. package/dist/components/email/new-device-email.d.ts +0 -3
  175. package/dist/components/email/otp-email.d.ts +0 -3
  176. package/dist/components/settings/account/account-settings.js +0 -23
  177. package/dist/components/settings/account/appearance.js +0 -71
  178. package/dist/components/settings/account/change-avatar.js +0 -89
  179. package/dist/components/settings/account/manage-account.js +0 -51
  180. package/dist/components/settings/account/manage-accounts.js +0 -33
  181. package/dist/components/settings/account/user-profile.js +0 -106
  182. package/dist/components/settings/security/active-session.js +0 -62
  183. package/dist/components/settings/security/active-sessions.js +0 -34
  184. package/dist/components/settings/security/change-password.js +0 -192
  185. package/dist/components/settings/security/delete-user.js +0 -97
  186. package/dist/components/settings/security/linked-account.js +0 -62
  187. package/dist/components/settings/security/linked-accounts.js +0 -45
  188. package/dist/components/settings/security/passkey.js +0 -43
  189. package/dist/components/settings/security/passkeys.js +0 -53
  190. package/dist/components/settings/security/security-settings.js +0 -25
  191. package/dist/components/settings/settings.js +0 -45
  192. package/dist/components/user/switch-account-item.js +0 -20
  193. package/dist/components/user/switch-account-menu.js +0 -28
  194. package/dist/components/user/user-avatar.js +0 -29
  195. package/dist/components/user/user-button.js +0 -91
  196. package/dist/components/user/user-view.js +0 -37
  197. package/dist/core.d.ts +0 -1
  198. package/dist/core.js +0 -1
  199. package/dist/react-exports.d.ts +0 -1
  200. package/dist/react-exports.js +0 -1
  201. package/src/components/auth/magic-link-button.tsx +0 -43
  202. package/src/components/auth/passkey-button.tsx +0 -36
  203. package/src/components/settings/account/user-profile.tsx +0 -218
  204. package/src/components/settings/security/passkeys.tsx +0 -104
  205. package/src/core.ts +0 -1
  206. package/src/react-exports.ts +0 -1
  207. /package/dist/components/{settings/security → auth/passkey}/passkey.d.ts +0 -0
  208. /package/dist/components/{settings → auth/settings}/account/change-avatar.d.ts +0 -0
  209. /package/dist/components/{settings → auth/settings}/security/active-session.d.ts +0 -0
  210. /package/dist/components/{settings → auth/settings}/security/linked-account.d.ts +0 -0
  211. /package/dist/components/{settings → auth/settings}/settings.d.ts +0 -0
  212. /package/dist/components/{user → auth/user}/user-avatar.d.ts +0 -0
  213. /package/dist/components/{user → auth/user}/user-view.d.ts +0 -0
@@ -1,218 +0,0 @@
1
- import {
2
- useAuth,
3
- useIsUsernameAvailable,
4
- useSession,
5
- useUpdateUser
6
- } from "@better-auth-ui/react"
7
- import { Check, Xmark } from "@gravity-ui/icons"
8
- import {
9
- Button,
10
- Card,
11
- type CardProps,
12
- cn,
13
- FieldError,
14
- Fieldset,
15
- Form,
16
- Input,
17
- InputGroup,
18
- Label,
19
- Skeleton,
20
- Spinner,
21
- TextField,
22
- toast
23
- } from "@heroui/react"
24
- import { useDebouncer } from "@tanstack/react-pacer"
25
- import { type SyntheticEvent, useEffect, useState } from "react"
26
-
27
- import { ChangeAvatar } from "./change-avatar"
28
-
29
- export type UserProfileProps = {
30
- className?: string
31
- variant?: CardProps["variant"]
32
- }
33
-
34
- /**
35
- * Render a profile card that lets the authenticated user view and update their display name, username, and avatar.
36
- *
37
- * @returns A JSX element containing the user profile card with avatar upload and editable form fields
38
- */
39
- export function UserProfile({
40
- className,
41
- variant,
42
- ...props
43
- }: UserProfileProps & CardProps) {
44
- const { localization, username: usernameConfig } = useAuth()
45
- const { data: session } = useSession()
46
-
47
- const currentUsername =
48
- (usernameConfig?.displayUsername
49
- ? session?.user?.displayUsername
50
- : session?.user?.username) || ""
51
-
52
- const [username, setUsername] = useState(currentUsername)
53
-
54
- useEffect(() => {
55
- setUsername(currentUsername)
56
- }, [currentUsername])
57
-
58
- const {
59
- mutate: isUsernameAvailable,
60
- data: usernameData,
61
- error: usernameError,
62
- reset: resetUsername
63
- } = useIsUsernameAvailable()
64
-
65
- const usernameDebouncer = useDebouncer(
66
- (value: string) => {
67
- if (!value.trim() || value.trim() === currentUsername) {
68
- resetUsername()
69
- return
70
- }
71
-
72
- isUsernameAvailable({ username: value.trim() })
73
- },
74
- { wait: 500 }
75
- )
76
-
77
- function handleUsernameChange(value: string) {
78
- setUsername(value)
79
- resetUsername()
80
-
81
- if (usernameConfig?.isUsernameAvailable) {
82
- usernameDebouncer.maybeExecute(value)
83
- }
84
- }
85
-
86
- const { mutate: updateUser, isPending } = useUpdateUser({
87
- onError: (error) => toast.danger(error.error?.message || error.message),
88
- onSuccess: () => toast.success(localization.settings.profileUpdatedSuccess)
89
- })
90
-
91
- function handleSubmit(e: SyntheticEvent<HTMLFormElement>) {
92
- e.preventDefault()
93
- const formData = new FormData(e.currentTarget)
94
- const name = formData.get("name") as string
95
-
96
- updateUser({
97
- name,
98
- ...(usernameConfig?.enabled
99
- ? {
100
- username: username.trim(),
101
- ...(usernameConfig.displayUsername
102
- ? { displayUsername: username.trim() }
103
- : {})
104
- }
105
- : {})
106
- })
107
- }
108
-
109
- return (
110
- <div>
111
- <h2 className={cn("text-sm font-semibold mb-3")}>
112
- {localization.settings.profile}
113
- </h2>
114
-
115
- <Card className={cn("p-4 gap-4", className)} variant={variant} {...props}>
116
- <Card.Content>
117
- <Form onSubmit={handleSubmit}>
118
- <Fieldset className="w-full gap-4">
119
- <ChangeAvatar />
120
-
121
- <Fieldset.Group>
122
- {usernameConfig?.enabled && (
123
- <TextField
124
- type="text"
125
- autoComplete="username"
126
- minLength={usernameConfig.minUsernameLength}
127
- maxLength={usernameConfig.maxUsernameLength}
128
- isDisabled={isPending || !session}
129
- value={username}
130
- onChange={handleUsernameChange}
131
- isInvalid={
132
- !!usernameError ||
133
- (usernameData && !usernameData.available)
134
- }
135
- >
136
- <Label>{localization.auth.username}</Label>
137
-
138
- {session ? (
139
- <InputGroup
140
- variant={
141
- variant === "transparent" ? "primary" : "secondary"
142
- }
143
- >
144
- <InputGroup.Input
145
- placeholder={localization.auth.usernamePlaceholder}
146
- name="username"
147
- />
148
-
149
- {usernameConfig.isUsernameAvailable &&
150
- username.trim() &&
151
- username.trim() !== currentUsername && (
152
- <InputGroup.Suffix className="px-2">
153
- {usernameData?.available ? (
154
- <Check className="text-success" />
155
- ) : usernameError ||
156
- usernameData?.available === false ? (
157
- <Xmark className="text-danger" />
158
- ) : (
159
- <Spinner size="sm" color="current" />
160
- )}
161
- </InputGroup.Suffix>
162
- )}
163
- </InputGroup>
164
- ) : (
165
- <Skeleton className="h-10 md:h-9 w-full rounded-xl" />
166
- )}
167
-
168
- <FieldError>
169
- {usernameError?.error?.message ||
170
- usernameError?.message ||
171
- (usernameData?.available === false &&
172
- localization.auth.usernameTaken)}
173
- </FieldError>
174
- </TextField>
175
- )}
176
-
177
- <TextField
178
- key={session?.user?.name}
179
- name="name"
180
- defaultValue={session?.user.name}
181
- isDisabled={isPending || !session}
182
- >
183
- <Label>{localization.auth.name}</Label>
184
-
185
- {session ? (
186
- <Input
187
- autoComplete="name"
188
- placeholder={localization.auth.name}
189
- variant={
190
- variant === "transparent" ? "primary" : "secondary"
191
- }
192
- />
193
- ) : (
194
- <Skeleton className="h-10 md:h-9 w-full rounded-xl" />
195
- )}
196
-
197
- <FieldError />
198
- </TextField>
199
- </Fieldset.Group>
200
-
201
- <Fieldset.Actions>
202
- <Button
203
- type="submit"
204
- isPending={isPending}
205
- isDisabled={!session}
206
- size="sm"
207
- >
208
- {isPending && <Spinner color="current" size="sm" />}
209
- {localization.settings.saveChanges}
210
- </Button>
211
- </Fieldset.Actions>
212
- </Fieldset>
213
- </Form>
214
- </Card.Content>
215
- </Card>
216
- </div>
217
- )
218
- }
@@ -1,104 +0,0 @@
1
- import {
2
- useAddPasskey,
3
- useAuth,
4
- useListUserPasskeys
5
- } from "@better-auth-ui/react"
6
- import {
7
- Button,
8
- Card,
9
- type CardProps,
10
- cn,
11
- Skeleton,
12
- Spinner,
13
- toast
14
- } from "@heroui/react"
15
-
16
- import { Passkey } from "./passkey"
17
-
18
- export type PasskeysProps = {
19
- className?: string
20
- variant?: CardProps["variant"]
21
- }
22
-
23
- export function Passkeys({
24
- className,
25
- variant,
26
- ...props
27
- }: PasskeysProps & CardProps) {
28
- const { localization } = useAuth()
29
-
30
- const { data: passkeys, isPending } = useListUserPasskeys({
31
- throwOnError: (error) => {
32
- if (error.error) toast.danger(error.error.message)
33
- return false
34
- }
35
- })
36
-
37
- const { mutate: addPasskey, isPending: isAdding } = useAddPasskey({
38
- onError: (error) => toast.danger(error.error?.message || error.message)
39
- })
40
-
41
- return (
42
- <div>
43
- <h2 className={cn("text-sm font-semibold mb-3")}>
44
- {localization.settings.passkeys}
45
- </h2>
46
-
47
- <Card className={cn(className)} variant={variant} {...props}>
48
- <Card.Content className="gap-0">
49
- <div className="flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between">
50
- <div>
51
- <p className="text-sm font-medium leading-tight">
52
- {localization.settings.passkeysDescription}
53
- </p>
54
-
55
- <p className="text-muted text-xs mt-0.5">
56
- {localization.settings.passkeysInstructions}
57
- </p>
58
- </div>
59
-
60
- <Button
61
- className="shrink-0"
62
- size="sm"
63
- isPending={isAdding}
64
- isDisabled={isPending}
65
- onPress={() => addPasskey()}
66
- >
67
- {isAdding && <Spinner color="current" size="sm" />}
68
- {localization.settings.addPasskey}
69
- </Button>
70
- </div>
71
-
72
- {isPending ? (
73
- <>
74
- <div className="border-b border-dashed -mx-4 md:-mx-6 my-4" />
75
- <PasskeySkeleton />
76
- </>
77
- ) : (
78
- passkeys?.map((passkey) => (
79
- <div key={passkey.id}>
80
- <div className="border-b border-dashed -mx-4 md:-mx-6 my-4" />
81
- <Passkey passkey={passkey} />
82
- </div>
83
- ))
84
- )}
85
- </Card.Content>
86
- </Card>
87
- </div>
88
- )
89
- }
90
-
91
- function PasskeySkeleton() {
92
- return (
93
- <div className="flex items-center justify-between">
94
- <div className="flex items-center gap-3">
95
- <Skeleton className="size-10 rounded-xl" />
96
-
97
- <div className="flex flex-col gap-1">
98
- <Skeleton className="h-4 w-24 rounded-lg" />
99
- <Skeleton className="h-3 w-20 rounded-lg" />
100
- </div>
101
- </div>
102
- </div>
103
- )
104
- }
package/src/core.ts DELETED
@@ -1 +0,0 @@
1
- export * from "@better-auth-ui/react/core"
@@ -1 +0,0 @@
1
- export * from "@better-auth-ui/react"