@better-auth-ui/heroui 1.6.7 → 1.6.9

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 (280) hide show
  1. package/dist/components/auth/additional-field.d.ts +2 -2
  2. package/dist/components/auth/additional-field.js +133 -266
  3. package/dist/components/auth/api-key/api-key-skeleton.js +4 -20
  4. package/dist/components/auth/api-key/api-key.d.ts +6 -2
  5. package/dist/components/auth/api-key/api-key.js +16 -54
  6. package/dist/components/auth/api-key/api-keys-empty.d.ts +3 -1
  7. package/dist/components/auth/api-key/api-keys-empty.js +8 -34
  8. package/dist/components/auth/api-key/api-keys.d.ts +10 -2
  9. package/dist/components/auth/api-key/api-keys.js +21 -40
  10. package/dist/components/auth/api-key/create-api-key-dialog.d.ts +3 -1
  11. package/dist/components/auth/api-key/create-api-key-dialog.js +43 -73
  12. package/dist/components/auth/api-key/delete-api-key-dialog.d.ts +4 -2
  13. package/dist/components/auth/api-key/delete-api-key-dialog.js +16 -50
  14. package/dist/components/auth/api-key/new-api-key-dialog.js +23 -59
  15. package/dist/components/auth/api-key/organization-api-keys.d.ts +14 -0
  16. package/dist/components/auth/api-key/organization-api-keys.js +22 -0
  17. package/dist/components/auth/auth-provider.d.ts +1 -1
  18. package/dist/components/auth/auth-provider.js +10 -16
  19. package/dist/components/auth/auth.d.ts +3 -3
  20. package/dist/components/auth/auth.js +86 -61
  21. package/dist/components/auth/delete-user/danger-zone.d.ts +3 -3
  22. package/dist/components/auth/delete-user/danger-zone.js +11 -17
  23. package/dist/components/auth/delete-user/delete-account.d.ts +9 -0
  24. package/dist/components/auth/delete-user/delete-account.js +50 -0
  25. package/dist/components/auth/email/email-changed-email.d.ts +2 -2
  26. package/dist/components/auth/email/email-changed-email.js +22 -29
  27. package/dist/components/auth/email/email-verification-email.d.ts +2 -2
  28. package/dist/components/auth/email/email-verification-email.js +22 -29
  29. package/dist/components/auth/email/magic-link-email.d.ts +2 -2
  30. package/dist/components/auth/email/magic-link-email.js +22 -29
  31. package/dist/components/auth/email/new-device-email.d.ts +2 -2
  32. package/dist/components/auth/email/new-device-email.js +22 -29
  33. package/dist/components/auth/email/organization-invitation-email.d.ts +3 -0
  34. package/dist/components/auth/email/organization-invitation-email.js +23 -0
  35. package/dist/components/auth/email/otp-email.d.ts +2 -2
  36. package/dist/components/auth/email/otp-email.js +21 -28
  37. package/dist/components/auth/email/password-changed-email.d.ts +2 -2
  38. package/dist/components/auth/email/password-changed-email.js +22 -29
  39. package/dist/components/auth/email/reset-password-email.d.ts +2 -2
  40. package/dist/components/auth/email/reset-password-email.js +22 -29
  41. package/dist/components/auth/error-toaster.js +32 -16
  42. package/dist/components/auth/field-separator.d.ts +1 -1
  43. package/dist/components/auth/field-separator.js +4 -17
  44. package/dist/components/auth/forgot-password.d.ts +1 -1
  45. package/dist/components/auth/forgot-password.js +36 -88
  46. package/dist/components/auth/magic-link/magic-link-button.d.ts +1 -1
  47. package/dist/components/auth/magic-link/magic-link-button.js +33 -19
  48. package/dist/components/auth/magic-link/magic-link.d.ts +2 -2
  49. package/dist/components/auth/magic-link/magic-link.js +39 -86
  50. package/dist/components/auth/multi-session/manage-account.d.ts +1 -1
  51. package/dist/components/auth/multi-session/manage-account.js +32 -48
  52. package/dist/components/auth/multi-session/manage-accounts.d.ts +1 -1
  53. package/dist/components/auth/multi-session/manage-accounts.js +32 -33
  54. package/dist/components/auth/multi-session/switch-account-submenu-content.d.ts +3 -1
  55. package/dist/components/auth/multi-session/switch-account-submenu-content.js +24 -27
  56. package/dist/components/auth/multi-session/switch-account-submenu-item.d.ts +3 -2
  57. package/dist/components/auth/multi-session/switch-account-submenu-item.js +16 -19
  58. package/dist/components/auth/multi-session/switch-account-submenu.d.ts +2 -1
  59. package/dist/components/auth/multi-session/switch-account-submenu.js +23 -23
  60. package/dist/components/auth/organization/change-organization-logo.d.ts +4 -0
  61. package/dist/components/auth/organization/change-organization-logo.js +69 -0
  62. package/dist/components/auth/organization/create-organization-dialog.d.ts +13 -0
  63. package/dist/components/auth/organization/create-organization-dialog.js +37 -0
  64. package/dist/components/auth/organization/delete-organization-dialog.d.ts +7 -0
  65. package/dist/components/auth/organization/delete-organization-dialog.js +25 -0
  66. package/dist/components/auth/organization/delete-organization-skeleton.d.ts +4 -0
  67. package/dist/components/auth/organization/delete-organization-skeleton.js +8 -0
  68. package/dist/components/auth/organization/delete-organization.d.ts +5 -0
  69. package/dist/components/auth/organization/delete-organization.js +27 -0
  70. package/dist/components/auth/organization/invite-member-dialog.d.ts +13 -0
  71. package/dist/components/auth/organization/invite-member-dialog.js +47 -0
  72. package/dist/components/auth/organization/leave-organization-dialog.d.ts +7 -0
  73. package/dist/components/auth/organization/leave-organization-dialog.js +21 -0
  74. package/dist/components/auth/organization/leave-organization.d.ts +4 -0
  75. package/dist/components/auth/organization/leave-organization.js +16 -0
  76. package/dist/components/auth/organization/organization-danger-zone.d.ts +16 -0
  77. package/dist/components/auth/organization/organization-danger-zone.js +23 -0
  78. package/dist/components/auth/organization/organization-invitation-row-skeleton.d.ts +5 -0
  79. package/dist/components/auth/organization/organization-invitation-row-skeleton.js +9 -0
  80. package/dist/components/auth/organization/organization-invitation-row.d.ts +5 -0
  81. package/dist/components/auth/organization/organization-invitation-row.js +31 -0
  82. package/dist/components/auth/organization/organization-invitations-empty.d.ts +8 -0
  83. package/dist/components/auth/organization/organization-invitations-empty.js +13 -0
  84. package/dist/components/auth/organization/organization-invitations.d.ts +9 -0
  85. package/dist/components/auth/organization/organization-invitations.js +66 -0
  86. package/dist/components/auth/organization/organization-logo.d.ts +15 -0
  87. package/dist/components/auth/organization/organization-logo.js +14 -0
  88. package/dist/components/auth/organization/organization-member-row-skeleton.d.ts +4 -0
  89. package/dist/components/auth/organization/organization-member-row-skeleton.js +9 -0
  90. package/dist/components/auth/organization/organization-member-row.d.ts +9 -0
  91. package/dist/components/auth/organization/organization-member-row.js +34 -0
  92. package/dist/components/auth/organization/organization-members.d.ts +9 -0
  93. package/dist/components/auth/organization/organization-members.js +67 -0
  94. package/dist/components/auth/organization/organization-people.d.ts +10 -0
  95. package/dist/components/auth/organization/organization-people.js +11 -0
  96. package/dist/components/auth/organization/organization-profile.d.ts +9 -0
  97. package/dist/components/auth/organization/organization-profile.js +34 -0
  98. package/dist/components/auth/organization/organization-row.d.ts +8 -0
  99. package/dist/components/auth/organization/organization-row.js +31 -0
  100. package/dist/components/auth/organization/organization-settings.d.ts +12 -0
  101. package/dist/components/auth/organization/organization-settings.js +13 -0
  102. package/dist/components/auth/organization/organization-switcher.d.ts +20 -0
  103. package/dist/components/auth/organization/organization-switcher.js +48 -0
  104. package/dist/components/auth/organization/organization-view-skeleton.d.ts +6 -0
  105. package/dist/components/auth/organization/organization-view-skeleton.js +9 -0
  106. package/dist/components/auth/organization/organization-view.d.ts +15 -0
  107. package/dist/components/auth/organization/organization-view.js +31 -0
  108. package/dist/components/auth/organization/organization.d.ts +17 -0
  109. package/dist/components/auth/organization/organization.js +60 -0
  110. package/dist/components/auth/organization/organizations-empty.d.ts +4 -0
  111. package/dist/components/auth/organization/organizations-empty.js +9 -0
  112. package/dist/components/auth/organization/organizations-settings.d.ts +17 -0
  113. package/dist/components/auth/organization/organizations-settings.js +17 -0
  114. package/dist/components/auth/organization/organizations.d.ts +10 -0
  115. package/dist/components/auth/organization/organizations.js +21 -0
  116. package/dist/components/auth/organization/remove-member-dialog.d.ts +9 -0
  117. package/dist/components/auth/organization/remove-member-dialog.js +20 -0
  118. package/dist/components/auth/organization/slug-field.d.ts +19 -0
  119. package/dist/components/auth/organization/slug-field.js +38 -0
  120. package/dist/components/auth/organization/user-invitation-row-skeleton.d.ts +4 -0
  121. package/dist/components/auth/organization/user-invitation-row-skeleton.js +8 -0
  122. package/dist/components/auth/organization/user-invitation-row.d.ts +10 -0
  123. package/dist/components/auth/organization/user-invitation-row.js +22 -0
  124. package/dist/components/auth/organization/user-invitations-empty.d.ts +4 -0
  125. package/dist/components/auth/organization/user-invitations-empty.js +12 -0
  126. package/dist/components/auth/organization/user-invitations.d.ts +10 -0
  127. package/dist/components/auth/organization/user-invitations.js +18 -0
  128. package/dist/components/auth/passkey/add-passkey-dialog.d.ts +5 -0
  129. package/dist/components/auth/passkey/add-passkey-dialog.js +22 -0
  130. package/dist/components/auth/passkey/delete-passkey-dialog.d.ts +11 -0
  131. package/dist/components/auth/passkey/delete-passkey-dialog.js +14 -0
  132. package/dist/components/auth/passkey/passkey-button.d.ts +1 -1
  133. package/dist/components/auth/passkey/passkey-button.js +24 -23
  134. package/dist/components/auth/passkey/passkey-skeleton.d.ts +1 -0
  135. package/dist/components/auth/passkey/passkey-skeleton.js +5 -0
  136. package/dist/components/auth/passkey/passkey.d.ts +2 -5
  137. package/dist/components/auth/passkey/passkey.js +16 -44
  138. package/dist/components/auth/passkey/passkeys-empty.d.ts +4 -0
  139. package/dist/components/auth/passkey/passkeys-empty.js +9 -0
  140. package/dist/components/auth/passkey/passkeys.d.ts +1 -1
  141. package/dist/components/auth/passkey/passkeys.js +15 -105
  142. package/dist/components/auth/provider-button.d.ts +2 -2
  143. package/dist/components/auth/provider-button.js +28 -24
  144. package/dist/components/auth/provider-buttons.js +28 -18
  145. package/dist/components/auth/reset-password.d.ts +1 -1
  146. package/dist/components/auth/reset-password.js +56 -146
  147. package/dist/components/auth/settings/account/account-settings.d.ts +2 -2
  148. package/dist/components/auth/settings/account/account-settings.js +21 -19
  149. package/dist/components/auth/settings/account/change-avatar.js +53 -88
  150. package/dist/components/auth/settings/account/change-email.d.ts +1 -1
  151. package/dist/components/auth/settings/account/change-email.js +27 -53
  152. package/dist/components/auth/settings/account/user-profile.d.ts +1 -1
  153. package/dist/components/auth/settings/account/user-profile.js +64 -85
  154. package/dist/components/auth/settings/security/active-session.d.ts +1 -1
  155. package/dist/components/auth/settings/security/active-session.js +50 -57
  156. package/dist/components/auth/settings/security/active-sessions.d.ts +1 -1
  157. package/dist/components/auth/settings/security/active-sessions.js +21 -32
  158. package/dist/components/auth/settings/security/change-password.d.ts +1 -1
  159. package/dist/components/auth/settings/security/change-password.js +76 -186
  160. package/dist/components/auth/settings/security/linked-account.d.ts +1 -1
  161. package/dist/components/auth/settings/security/linked-account.js +37 -55
  162. package/dist/components/auth/settings/security/linked-accounts.d.ts +1 -1
  163. package/dist/components/auth/settings/security/linked-accounts.js +34 -43
  164. package/dist/components/auth/settings/security/security-settings.d.ts +2 -2
  165. package/dist/components/auth/settings/security/security-settings.js +19 -21
  166. package/dist/components/auth/settings/settings.d.ts +4 -4
  167. package/dist/components/auth/settings/settings.js +52 -44
  168. package/dist/components/auth/sign-in.d.ts +2 -2
  169. package/dist/components/auth/sign-in.js +63 -132
  170. package/dist/components/auth/sign-out.js +32 -26
  171. package/dist/components/auth/sign-up.d.ts +2 -2
  172. package/dist/components/auth/sign-up.js +97 -211
  173. package/dist/components/auth/theme/appearance.d.ts +1 -1
  174. package/dist/components/auth/theme/appearance.js +23 -71
  175. package/dist/components/auth/theme/theme-toggle-item.js +56 -61
  176. package/dist/components/auth/user/user-avatar.d.ts +4 -4
  177. package/dist/components/auth/user/user-avatar.js +31 -28
  178. package/dist/components/auth/user/user-button.d.ts +6 -7
  179. package/dist/components/auth/user/user-button.js +38 -72
  180. package/dist/components/auth/user/user-view.d.ts +13 -7
  181. package/dist/components/auth/user/user-view.js +26 -36
  182. package/dist/components/auth/username/sign-in-username.d.ts +2 -2
  183. package/dist/components/auth/username/sign-in-username.js +87 -147
  184. package/dist/components/auth/username/username-field.d.ts +1 -1
  185. package/dist/components/auth/username/username-field.js +44 -52
  186. package/dist/email.d.ts +8 -7
  187. package/dist/email.js +8 -8
  188. package/dist/index.d.ts +21 -21
  189. package/dist/index.js +21 -22
  190. package/dist/lib/auth/api-key-plugin.d.ts +7 -4
  191. package/dist/lib/auth/api-key-plugin.js +12 -10
  192. package/dist/lib/auth/auth-plugin.d.ts +10 -6
  193. package/dist/lib/auth/auth-plugin.js +1 -0
  194. package/dist/lib/auth/delete-user-plugin.d.ts +6 -6
  195. package/dist/lib/auth/delete-user-plugin.js +6 -9
  196. package/dist/lib/auth/magic-link-plugin.d.ts +5 -5
  197. package/dist/lib/auth/magic-link-plugin.js +17 -12
  198. package/dist/lib/auth/multi-session-plugin.d.ts +5 -5
  199. package/dist/lib/auth/multi-session-plugin.js +8 -11
  200. package/dist/lib/auth/organization-plugin.d.ts +37 -0
  201. package/dist/lib/auth/organization-plugin.js +19 -0
  202. package/dist/lib/auth/passkey-plugin.d.ts +9 -6
  203. package/dist/lib/auth/passkey-plugin.js +8 -11
  204. package/dist/lib/auth/theme-plugin.d.ts +6 -6
  205. package/dist/lib/auth/theme-plugin.js +25 -22
  206. package/dist/lib/auth/username-plugin.d.ts +11 -11
  207. package/dist/lib/auth/username-plugin.js +18 -17
  208. package/dist/plugins.d.ts +46 -22
  209. package/dist/plugins.js +47 -22
  210. package/package.json +25 -19
  211. package/src/components/auth/api-key/api-key.tsx +25 -16
  212. package/src/components/auth/api-key/api-keys-empty.tsx +8 -4
  213. package/src/components/auth/api-key/api-keys.tsx +52 -14
  214. package/src/components/auth/api-key/create-api-key-dialog.tsx +17 -4
  215. package/src/components/auth/api-key/delete-api-key-dialog.tsx +10 -2
  216. package/src/components/auth/api-key/organization-api-keys.tsx +55 -0
  217. package/src/components/auth/delete-user/danger-zone.tsx +3 -3
  218. package/src/components/auth/delete-user/{delete-user.tsx → delete-account.tsx} +9 -9
  219. package/src/components/auth/email/organization-invitation-email.tsx +38 -0
  220. package/src/components/auth/error-toaster.tsx +28 -10
  221. package/src/components/auth/forgot-password.tsx +10 -2
  222. package/src/components/auth/multi-session/manage-accounts.tsx +1 -1
  223. package/src/components/auth/multi-session/switch-account-submenu-content.tsx +7 -2
  224. package/src/components/auth/multi-session/switch-account-submenu-item.tsx +4 -2
  225. package/src/components/auth/multi-session/switch-account-submenu.tsx +8 -4
  226. package/src/components/auth/organization/change-organization-logo.tsx +171 -0
  227. package/src/components/auth/organization/create-organization-dialog.tsx +133 -0
  228. package/src/components/auth/organization/delete-organization-dialog.tsx +97 -0
  229. package/src/components/auth/organization/delete-organization-skeleton.tsx +17 -0
  230. package/src/components/auth/organization/delete-organization.tsx +77 -0
  231. package/src/components/auth/organization/invite-member-dialog.tsx +177 -0
  232. package/src/components/auth/organization/leave-organization-dialog.tsx +95 -0
  233. package/src/components/auth/organization/leave-organization.tsx +59 -0
  234. package/src/components/auth/organization/organization-danger-zone.tsx +68 -0
  235. package/src/components/auth/organization/organization-invitation-row-skeleton.tsx +29 -0
  236. package/src/components/auth/organization/organization-invitation-row.tsx +97 -0
  237. package/src/components/auth/organization/organization-invitations-empty.tsx +39 -0
  238. package/src/components/auth/organization/organization-invitations.tsx +351 -0
  239. package/src/components/auth/organization/organization-logo.tsx +64 -0
  240. package/src/components/auth/organization/organization-member-row-skeleton.tsx +24 -0
  241. package/src/components/auth/organization/organization-member-row.tsx +157 -0
  242. package/src/components/auth/organization/organization-members.tsx +284 -0
  243. package/src/components/auth/organization/organization-people.tsx +26 -0
  244. package/src/components/auth/organization/organization-profile.tsx +141 -0
  245. package/src/components/auth/organization/organization-row.tsx +66 -0
  246. package/src/components/auth/organization/organization-settings.tsx +38 -0
  247. package/src/components/auth/organization/organization-switcher.tsx +233 -0
  248. package/src/components/auth/organization/organization-view-skeleton.tsx +36 -0
  249. package/src/components/auth/organization/organization-view.tsx +109 -0
  250. package/src/components/auth/organization/organization.tsx +162 -0
  251. package/src/components/auth/organization/organizations-empty.tsx +35 -0
  252. package/src/components/auth/organization/organizations-settings.tsx +36 -0
  253. package/src/components/auth/organization/organizations.tsx +80 -0
  254. package/src/components/auth/organization/remove-member-dialog.tsx +95 -0
  255. package/src/components/auth/organization/slug-field.tsx +111 -0
  256. package/src/components/auth/organization/user-invitation-row-skeleton.tsx +17 -0
  257. package/src/components/auth/organization/user-invitation-row.tsx +90 -0
  258. package/src/components/auth/organization/user-invitations-empty.tsx +30 -0
  259. package/src/components/auth/organization/user-invitations.tsx +59 -0
  260. package/src/components/auth/passkey/add-passkey-dialog.tsx +109 -0
  261. package/src/components/auth/passkey/delete-passkey-dialog.tsx +95 -0
  262. package/src/components/auth/passkey/passkey-skeleton.tsx +16 -0
  263. package/src/components/auth/passkey/passkey.tsx +23 -22
  264. package/src/components/auth/passkey/passkeys-empty.tsx +35 -0
  265. package/src/components/auth/passkey/passkeys.tsx +33 -154
  266. package/src/components/auth/settings/account/change-email.tsx +1 -1
  267. package/src/components/auth/settings/account/user-profile.tsx +5 -5
  268. package/src/components/auth/settings/security/active-sessions.tsx +6 -4
  269. package/src/components/auth/settings/security/linked-accounts.tsx +2 -2
  270. package/src/components/auth/settings/settings.tsx +77 -14
  271. package/src/components/auth/user/user-avatar.tsx +4 -1
  272. package/src/components/auth/user/user-button.tsx +14 -11
  273. package/src/components/auth/user/user-view.tsx +32 -12
  274. package/src/email.ts +1 -0
  275. package/src/lib/auth/api-key-plugin.ts +10 -4
  276. package/src/lib/auth/auth-plugin.ts +6 -1
  277. package/src/lib/auth/organization-plugin.tsx +32 -0
  278. package/src/plugins.ts +25 -1
  279. package/dist/components/auth/delete-user/delete-user.d.ts +0 -9
  280. package/dist/components/auth/delete-user/delete-user.js +0 -95
@@ -1,53 +1,45 @@
1
- import { usernamePlugin as e } from "../../../lib/auth/username-plugin.js";
2
- import { useAuth as t, useAuthPlugin as n, useIsUsernameAvailable as r } from "@better-auth-ui/react";
3
- import { Check as i, Xmark as a } from "@gravity-ui/icons";
4
- import { FieldError as o, InputGroup as s, Label as c, Spinner as l, TextField as u } from "@heroui/react";
5
- import { useState as d } from "react";
6
- import { jsx as f, jsxs as p } from "react/jsx-runtime";
7
- import { useDebouncer as m } from "@tanstack/react-pacer";
8
- //#region src/components/auth/username/username-field.tsx
9
- function h({ name: h, field: g, isPending: _, variant: v }) {
10
- let { authClient: y } = t(), { localization: b, minUsernameLength: x, maxUsernameLength: S, isUsernameAvailable: C } = n(e), w = String(g.defaultValue ?? ""), [T, E] = d(w), { mutate: D, data: O, error: k, reset: A } = r(y, { onError: () => {} }), j = m((e) => {
11
- let t = e.trim();
12
- if (!t || t === w) {
13
- A();
14
- return;
15
- }
16
- D({ username: t });
17
- }, { wait: 500 });
18
- function M(e) {
19
- E(e), A(), C && j.maybeExecute(e);
20
- }
21
- let N = !!C && !!T.trim() && T.trim() !== w;
22
- return /* @__PURE__ */ p(u, {
23
- name: h,
24
- type: "text",
25
- autoComplete: "username",
26
- minLength: x,
27
- maxLength: S,
28
- isDisabled: _,
29
- isReadOnly: g.readOnly,
30
- value: T,
31
- onChange: M,
32
- children: [
33
- /* @__PURE__ */ f(c, { children: g.label }),
34
- /* @__PURE__ */ p(s, {
35
- variant: v === "transparent" ? "primary" : "secondary",
36
- children: [/* @__PURE__ */ f(s.Input, {
37
- placeholder: g.placeholder,
38
- required: g.required
39
- }), N && /* @__PURE__ */ f(s.Suffix, {
40
- "aria-label": O?.available ? b.usernameAvailable : O?.available === !1 ? b.usernameTaken : void 0,
41
- className: "px-2",
42
- children: O?.available ? /* @__PURE__ */ f(i, { className: "text-success" }) : k || O?.available === !1 ? /* @__PURE__ */ f(a, { className: "text-danger" }) : /* @__PURE__ */ f(l, {
43
- size: "sm",
44
- color: "current"
45
- })
46
- })]
47
- }),
48
- /* @__PURE__ */ f(o, {})
49
- ]
50
- });
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useAuth, useAuthPlugin, useIsUsernameAvailable } from "@better-auth-ui/react";
3
+ import { Check, Xmark } from "@gravity-ui/icons";
4
+ import { FieldError, InputGroup, Label, Spinner, TextField } from "@heroui/react";
5
+ import { useDebouncer } from "@tanstack/react-pacer";
6
+ import { useState } from "react";
7
+ import { usernamePlugin } from "../../../lib/auth/username-plugin";
8
+ /**
9
+ * Renderer for the `username` additional field. Owns availability checking,
10
+ * length limits, and visual indicators. `FieldError` automatically surfaces
11
+ * native validation messages. Availability feedback is shown via the icon and
12
+ * aria-label without affecting the field's invalid state.
13
+ */
14
+ export function UsernameField({ name, field, isPending, variant }) {
15
+ const { authClient } = useAuth();
16
+ const { localization, minUsernameLength, maxUsernameLength, isUsernameAvailable: checkAvailability } = useAuthPlugin(usernamePlugin);
17
+ const currentUsername = String(field.defaultValue ?? "");
18
+ const [value, setValue] = useState(currentUsername);
19
+ const { mutate: requestAvailability, data: availability, error: availabilityError, reset: resetAvailability } = useIsUsernameAvailable(authClient, {
20
+ // Bypass global error toast
21
+ onError: () => { }
22
+ });
23
+ const debouncer = useDebouncer((next) => {
24
+ const trimmed = next.trim();
25
+ // Skip blank input and the user's own current username (profile view).
26
+ if (!trimmed || trimmed === currentUsername) {
27
+ resetAvailability();
28
+ return;
29
+ }
30
+ requestAvailability({ username: trimmed });
31
+ }, { wait: 500 });
32
+ function handleChange(next) {
33
+ setValue(next);
34
+ resetAvailability();
35
+ if (checkAvailability) {
36
+ debouncer.maybeExecute(next);
37
+ }
38
+ }
39
+ const isCheckingAvailability = !!checkAvailability && !!value.trim() && value.trim() !== currentUsername;
40
+ return (_jsxs(TextField, { name: name, type: "text", autoComplete: "username", minLength: minUsernameLength, maxLength: maxUsernameLength, isDisabled: isPending, isReadOnly: field.readOnly, value: value, onChange: handleChange, children: [_jsx(Label, { children: field.label }), _jsxs(InputGroup, { variant: variant === "transparent" ? "primary" : "secondary", children: [_jsx(InputGroup.Input, { placeholder: field.placeholder, required: field.required }), isCheckingAvailability && (_jsx(InputGroup.Suffix, { "aria-label": availability?.available
41
+ ? localization.usernameAvailable
42
+ : availability?.available === false
43
+ ? localization.usernameTaken
44
+ : undefined, className: "px-2", children: availability?.available ? (_jsx(Check, { className: "text-success" })) : availabilityError || availability?.available === false ? (_jsx(Xmark, { className: "text-danger" })) : (_jsx(Spinner, { size: "sm", color: "current" })) }))] }), _jsx(FieldError, {})] }));
51
45
  }
52
- //#endregion
53
- export { h as UsernameField };
package/dist/email.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- export * from './components/auth/email/email-changed-email';
2
- export * from './components/auth/email/email-verification-email';
3
- export * from './components/auth/email/magic-link-email';
4
- export * from './components/auth/email/new-device-email';
5
- export * from './components/auth/email/otp-email';
6
- export * from './components/auth/email/password-changed-email';
7
- export * from './components/auth/email/reset-password-email';
1
+ export * from "./components/auth/email/email-changed-email";
2
+ export * from "./components/auth/email/email-verification-email";
3
+ export * from "./components/auth/email/magic-link-email";
4
+ export * from "./components/auth/email/new-device-email";
5
+ export * from "./components/auth/email/organization-invitation-email";
6
+ export * from "./components/auth/email/otp-email";
7
+ export * from "./components/auth/email/password-changed-email";
8
+ export * from "./components/auth/email/reset-password-email";
package/dist/email.js CHANGED
@@ -1,9 +1,9 @@
1
1
  "use client";
2
- import { EmailChangedEmail as e } from "./components/auth/email/email-changed-email.js";
3
- import { EmailVerificationEmail as t } from "./components/auth/email/email-verification-email.js";
4
- import { MagicLinkEmail as n } from "./components/auth/email/magic-link-email.js";
5
- import { NewDeviceEmail as r } from "./components/auth/email/new-device-email.js";
6
- import { OtpEmail as i } from "./components/auth/email/otp-email.js";
7
- import { PasswordChangedEmail as a } from "./components/auth/email/password-changed-email.js";
8
- import { ResetPasswordEmail as o } from "./components/auth/email/reset-password-email.js";
9
- export { e as EmailChangedEmail, t as EmailVerificationEmail, n as MagicLinkEmail, r as NewDeviceEmail, i as OtpEmail, a as PasswordChangedEmail, o as ResetPasswordEmail };
2
+ export * from "./components/auth/email/email-changed-email";
3
+ export * from "./components/auth/email/email-verification-email";
4
+ export * from "./components/auth/email/magic-link-email";
5
+ export * from "./components/auth/email/new-device-email";
6
+ export * from "./components/auth/email/organization-invitation-email";
7
+ export * from "./components/auth/email/otp-email";
8
+ export * from "./components/auth/email/password-changed-email";
9
+ export * from "./components/auth/email/reset-password-email";
package/dist/index.d.ts CHANGED
@@ -1,21 +1,21 @@
1
- export * from './components/auth/additional-field';
2
- export * from './components/auth/auth';
3
- export * from './components/auth/auth-provider';
4
- export * from './components/auth/forgot-password';
5
- export * from './components/auth/provider-button';
6
- export * from './components/auth/provider-buttons';
7
- export * from './components/auth/reset-password';
8
- export * from './components/auth/settings/account/account-settings';
9
- export * from './components/auth/settings/account/change-email';
10
- export * from './components/auth/settings/account/user-profile';
11
- export * from './components/auth/settings/security/active-sessions';
12
- export * from './components/auth/settings/security/change-password';
13
- export * from './components/auth/settings/security/linked-accounts';
14
- export * from './components/auth/settings/security/security-settings';
15
- export * from './components/auth/settings/settings';
16
- export * from './components/auth/sign-in';
17
- export * from './components/auth/sign-out';
18
- export * from './components/auth/sign-up';
19
- export * from './components/auth/user/user-avatar';
20
- export * from './components/auth/user/user-button';
21
- export * from './components/auth/user/user-view';
1
+ export * from "./components/auth/additional-field";
2
+ export * from "./components/auth/auth";
3
+ export * from "./components/auth/auth-provider";
4
+ export * from "./components/auth/forgot-password";
5
+ export * from "./components/auth/provider-button";
6
+ export * from "./components/auth/provider-buttons";
7
+ export * from "./components/auth/reset-password";
8
+ export * from "./components/auth/settings/account/account-settings";
9
+ export * from "./components/auth/settings/account/change-email";
10
+ export * from "./components/auth/settings/account/user-profile";
11
+ export * from "./components/auth/settings/security/active-sessions";
12
+ export * from "./components/auth/settings/security/change-password";
13
+ export * from "./components/auth/settings/security/linked-accounts";
14
+ export * from "./components/auth/settings/security/security-settings";
15
+ export * from "./components/auth/settings/settings";
16
+ export * from "./components/auth/sign-in";
17
+ export * from "./components/auth/sign-out";
18
+ export * from "./components/auth/sign-up";
19
+ export * from "./components/auth/user/user-avatar";
20
+ export * from "./components/auth/user/user-button";
21
+ export * from "./components/auth/user/user-view";
package/dist/index.js CHANGED
@@ -1,23 +1,22 @@
1
1
  "use client";
2
- import { AdditionalField as e } from "./components/auth/additional-field.js";
3
- import { ForgotPassword as t } from "./components/auth/forgot-password.js";
4
- import { ResetPassword as n } from "./components/auth/reset-password.js";
5
- import { ProviderButton as r } from "./components/auth/provider-button.js";
6
- import { ProviderButtons as i } from "./components/auth/provider-buttons.js";
7
- import { SignIn as a } from "./components/auth/sign-in.js";
8
- import { SignOut as o } from "./components/auth/sign-out.js";
9
- import { SignUp as s } from "./components/auth/sign-up.js";
10
- import { Auth as c } from "./components/auth/auth.js";
11
- import { AuthProvider as l } from "./components/auth/auth-provider.js";
12
- import { ChangeEmail as u } from "./components/auth/settings/account/change-email.js";
13
- import { UserAvatar as d } from "./components/auth/user/user-avatar.js";
14
- import { UserProfile as f } from "./components/auth/settings/account/user-profile.js";
15
- import { AccountSettings as p } from "./components/auth/settings/account/account-settings.js";
16
- import { ActiveSessions as m } from "./components/auth/settings/security/active-sessions.js";
17
- import { ChangePassword as h } from "./components/auth/settings/security/change-password.js";
18
- import { LinkedAccounts as g } from "./components/auth/settings/security/linked-accounts.js";
19
- import { SecuritySettings as _ } from "./components/auth/settings/security/security-settings.js";
20
- import { Settings as v } from "./components/auth/settings/settings.js";
21
- import { UserView as y } from "./components/auth/user/user-view.js";
22
- import { UserButton as b } from "./components/auth/user/user-button.js";
23
- export { p as AccountSettings, m as ActiveSessions, e as AdditionalField, c as Auth, l as AuthProvider, u as ChangeEmail, h as ChangePassword, t as ForgotPassword, g as LinkedAccounts, r as ProviderButton, i as ProviderButtons, n as ResetPassword, _ as SecuritySettings, v as Settings, a as SignIn, o as SignOut, s as SignUp, d as UserAvatar, b as UserButton, f as UserProfile, y as UserView };
2
+ export * from "./components/auth/additional-field";
3
+ export * from "./components/auth/auth";
4
+ export * from "./components/auth/auth-provider";
5
+ export * from "./components/auth/forgot-password";
6
+ export * from "./components/auth/provider-button";
7
+ export * from "./components/auth/provider-buttons";
8
+ export * from "./components/auth/reset-password";
9
+ export * from "./components/auth/settings/account/account-settings";
10
+ export * from "./components/auth/settings/account/change-email";
11
+ export * from "./components/auth/settings/account/user-profile";
12
+ export * from "./components/auth/settings/security/active-sessions";
13
+ export * from "./components/auth/settings/security/change-password";
14
+ export * from "./components/auth/settings/security/linked-accounts";
15
+ export * from "./components/auth/settings/security/security-settings";
16
+ export * from "./components/auth/settings/settings";
17
+ export * from "./components/auth/sign-in";
18
+ export * from "./components/auth/sign-out";
19
+ export * from "./components/auth/sign-up";
20
+ export * from "./components/auth/user/user-avatar";
21
+ export * from "./components/auth/user/user-button";
22
+ export * from "./components/auth/user/user-view";
@@ -1,6 +1,8 @@
1
- import { ApiKeyPluginOptions } from '@better-auth-ui/core/plugins';
2
- import { ApiKeys } from '../../components/auth/api-key/api-keys';
3
- export declare const apiKeyPlugin: ((options?: ApiKeyPluginOptions | undefined) => Omit<{
1
+ import { type ApiKeyPluginOptions } from "@better-auth-ui/core/plugins";
2
+ import { ApiKeys } from "../../components/auth/api-key/api-keys";
3
+ import { OrganizationApiKeys } from "../../components/auth/api-key/organization-api-keys";
4
+ export declare const apiKeyPlugin: ((options?: ApiKeyPluginOptions | undefined) => {
5
+ organizationCards?: (typeof OrganizationApiKeys)[] | undefined;
4
6
  securityCards: (typeof ApiKeys)[];
5
7
  localization: {
6
8
  apiKey: string;
@@ -15,8 +17,9 @@ export declare const apiKeyPlugin: ((options?: ApiKeyPluginOptions | undefined)
15
17
  deleteApiKeyWarning: string;
16
18
  dismissNewKey: string;
17
19
  };
20
+ organization: boolean;
18
21
  id: "apiKey";
19
- }, "id"> & {
22
+ } & {
20
23
  id: "apiKey";
21
24
  }) & {
22
25
  id: "apiKey";
@@ -1,10 +1,12 @@
1
- import { ApiKeys as e } from "../../components/auth/api-key/api-keys.js";
2
- import { createAuthPlugin as t } from "@better-auth-ui/core";
3
- import { apiKeyPlugin as n } from "@better-auth-ui/core/plugins";
4
- //#region src/lib/auth/api-key-plugin.ts
5
- var r = t(n.id, (t = {}) => ({
6
- ...n(t),
7
- securityCards: [e]
8
- }));
9
- //#endregion
10
- export { r as apiKeyPlugin };
1
+ import { createAuthPlugin } from "@better-auth-ui/core";
2
+ import { apiKeyPlugin as coreApiKeyPlugin } from "@better-auth-ui/core/plugins";
3
+ import { ApiKeys } from "../../components/auth/api-key/api-keys";
4
+ import { OrganizationApiKeys } from "../../components/auth/api-key/organization-api-keys";
5
+ export const apiKeyPlugin = createAuthPlugin(coreApiKeyPlugin.id, (options = {}) => {
6
+ const core = coreApiKeyPlugin(options);
7
+ return {
8
+ ...core,
9
+ securityCards: [ApiKeys],
10
+ ...(core.organization ? { organizationCards: [OrganizationApiKeys] } : {})
11
+ };
12
+ });
@@ -1,8 +1,8 @@
1
- import { AdditionalField as AdditionalFieldConfig } from '@better-auth-ui/core';
2
- import { AccountCardProps, AuthPlugin as AuthPluginPrimitive, AuthPluginComponents as BaseAuthPluginComponents, SecurityCardProps, UserMenuItemProps } from '@better-auth-ui/react';
3
- import { CardProps } from '@heroui/react';
4
- import { ComponentType, ReactNode } from 'react';
5
- import { SocialLayout } from '../../components/auth/provider-buttons';
1
+ import type { AdditionalField as AdditionalFieldConfig } from "@better-auth-ui/core";
2
+ import type { AccountCardProps, AuthPlugin as AuthPluginPrimitive, AuthPluginComponents as BaseAuthPluginComponents, OrganizationCardProps, SecurityCardProps, UserMenuItemProps } from "@better-auth-ui/react";
3
+ import type { CardProps } from "@heroui/react";
4
+ import type { ComponentType, ReactNode } from "react";
5
+ import type { SocialLayout } from "../../components/auth/provider-buttons";
6
6
  /** Props for the heroui `<AdditionalField>` component and `field.render` callbacks. */
7
7
  export type AdditionalFieldProps = {
8
8
  name: string;
@@ -21,7 +21,7 @@ declare module "@better-auth-ui/core" {
21
21
  }
22
22
  }
23
23
  /** Heroui slot component shapes — inherits from the framework-agnostic defaults and narrows slots that receive a heroui variant from the host. */
24
- export type AuthPluginComponents = Omit<BaseAuthPluginComponents, "securityCards" | "accountCards"> & {
24
+ export type AuthPluginComponents = Omit<BaseAuthPluginComponents, "securityCards" | "accountCards" | "organizationCards"> & {
25
25
  /** Rendered as cards inside security settings */
26
26
  securityCards?: ComponentType<SecurityCardProps & {
27
27
  variant?: CardProps["variant"];
@@ -30,6 +30,10 @@ export type AuthPluginComponents = Omit<BaseAuthPluginComponents, "securityCards
30
30
  accountCards?: ComponentType<AccountCardProps & {
31
31
  variant?: CardProps["variant"];
32
32
  }>[];
33
+ /** Rendered as cards inside the active organization's settings */
34
+ organizationCards?: ComponentType<OrganizationCardProps & {
35
+ variant?: CardProps["variant"];
36
+ }>[];
33
37
  /** Rendered as items inside the `UserButton` dropdown (e.g. account switcher). */
34
38
  userMenuItems?: ComponentType<UserMenuItemProps>[];
35
39
  };
@@ -0,0 +1 @@
1
+ export {};
@@ -1,16 +1,16 @@
1
- import { DeleteUserPluginOptions } from '@better-auth-ui/core/plugins';
2
- import { DangerZone } from '../../components/auth/delete-user/danger-zone';
3
- export declare const deleteUserPlugin: ((options?: DeleteUserPluginOptions | undefined) => Omit<{
1
+ import { type DeleteUserPluginOptions } from "@better-auth-ui/core/plugins";
2
+ import { DangerZone } from "../../components/auth/delete-user/danger-zone";
3
+ export declare const deleteUserPlugin: ((options?: DeleteUserPluginOptions | undefined) => {
4
4
  securityCards: (typeof DangerZone)[];
5
5
  localization: {
6
- deleteUser: string;
7
- deleteUserDescription: string;
6
+ deleteAccount: string;
7
+ deleteAccountDescription: string;
8
8
  deleteUserVerificationSent: string;
9
9
  deleteUserSuccess: string;
10
10
  };
11
11
  sendDeleteAccountVerification: boolean;
12
12
  id: "deleteUser";
13
- }, "id"> & {
13
+ } & {
14
14
  id: "deleteUser";
15
15
  }) & {
16
16
  id: "deleteUser";
@@ -1,10 +1,7 @@
1
- import { DangerZone as e } from "../../components/auth/delete-user/danger-zone.js";
2
- import { createAuthPlugin as t } from "@better-auth-ui/core";
3
- import { deleteUserPlugin as n } from "@better-auth-ui/core/plugins";
4
- //#region src/lib/auth/delete-user-plugin.ts
5
- var r = t(n.id, (t = {}) => ({
6
- ...n(t),
7
- securityCards: [e]
1
+ import { createAuthPlugin } from "@better-auth-ui/core";
2
+ import { deleteUserPlugin as coreDeleteUserPlugin } from "@better-auth-ui/core/plugins";
3
+ import { DangerZone } from "../../components/auth/delete-user/danger-zone";
4
+ export const deleteUserPlugin = createAuthPlugin(coreDeleteUserPlugin.id, (options = {}) => ({
5
+ ...coreDeleteUserPlugin(options),
6
+ securityCards: [DangerZone]
8
7
  }));
9
- //#endregion
10
- export { r as deleteUserPlugin };
@@ -1,7 +1,7 @@
1
- import { MagicLinkPluginOptions } from '@better-auth-ui/core/plugins';
2
- import { MagicLink } from '../../components/auth/magic-link/magic-link';
3
- import { MagicLinkButton } from '../../components/auth/magic-link/magic-link-button';
4
- export declare const magicLinkPlugin: ((options?: MagicLinkPluginOptions | undefined) => Omit<{
1
+ import { type MagicLinkPluginOptions } from "@better-auth-ui/core/plugins";
2
+ import { MagicLink } from "../../components/auth/magic-link/magic-link";
3
+ import { MagicLinkButton } from "../../components/auth/magic-link/magic-link-button";
4
+ export declare const magicLinkPlugin: ((options?: MagicLinkPluginOptions | undefined) => {
5
5
  authButtons: (typeof MagicLinkButton)[];
6
6
  views: {
7
7
  auth: {
@@ -24,7 +24,7 @@ export declare const magicLinkPlugin: ((options?: MagicLinkPluginOptions | undef
24
24
  };
25
25
  };
26
26
  id: "magicLink";
27
- }, "id"> & {
27
+ } & {
28
28
  id: "magicLink";
29
29
  }) & {
30
30
  id: "magicLink";
@@ -1,13 +1,18 @@
1
- import { MagicLinkButton as e } from "../../components/auth/magic-link/magic-link-button.js";
2
- import { MagicLink as t } from "../../components/auth/magic-link/magic-link.js";
3
- import { createAuthPlugin as n } from "@better-auth-ui/core";
4
- import { magicLinkPlugin as r } from "@better-auth-ui/core/plugins";
5
- //#region src/lib/auth/magic-link-plugin.ts
6
- var i = n(r.id, (n = {}) => ({
7
- ...r(n),
8
- authButtons: [e],
9
- views: { auth: { magicLink: t } },
10
- fallbackViews: { auth: { signIn: t } }
1
+ import { createAuthPlugin } from "@better-auth-ui/core";
2
+ import { magicLinkPlugin as coreMagicLinkPlugin } from "@better-auth-ui/core/plugins";
3
+ import { MagicLink } from "../../components/auth/magic-link/magic-link";
4
+ import { MagicLinkButton } from "../../components/auth/magic-link/magic-link-button";
5
+ export const magicLinkPlugin = createAuthPlugin(coreMagicLinkPlugin.id, (options = {}) => ({
6
+ ...coreMagicLinkPlugin(options),
7
+ authButtons: [MagicLinkButton],
8
+ views: {
9
+ auth: { magicLink: MagicLink }
10
+ },
11
+ // Conditional, not an override: when `emailAndPassword.enabled === false`
12
+ // the `<Auth>` router renders this at `/auth/sign-in` instead of the
13
+ // disabled password form. With password auth on, the built-in `SignIn`
14
+ // still wins.
15
+ fallbackViews: {
16
+ auth: { signIn: MagicLink }
17
+ }
11
18
  }));
12
- //#endregion
13
- export { i as magicLinkPlugin };
@@ -1,7 +1,7 @@
1
- import { MultiSessionPluginOptions } from '@better-auth-ui/core/plugins';
2
- import { ManageAccounts } from '../../components/auth/multi-session/manage-accounts';
3
- import { SwitchAccountSubmenu } from '../../components/auth/multi-session/switch-account-submenu';
4
- export declare const multiSessionPlugin: ((options?: MultiSessionPluginOptions | undefined) => Omit<{
1
+ import { type MultiSessionPluginOptions } from "@better-auth-ui/core/plugins";
2
+ import { ManageAccounts } from "../../components/auth/multi-session/manage-accounts";
3
+ import { SwitchAccountSubmenu } from "../../components/auth/multi-session/switch-account-submenu";
4
+ export declare const multiSessionPlugin: ((options?: MultiSessionPluginOptions | undefined) => {
5
5
  accountCards: (typeof ManageAccounts)[];
6
6
  userMenuItems: (typeof SwitchAccountSubmenu)[];
7
7
  localization: {
@@ -11,7 +11,7 @@ export declare const multiSessionPlugin: ((options?: MultiSessionPluginOptions |
11
11
  manageAccountsDescription: string;
12
12
  };
13
13
  id: "multiSession";
14
- }, "id"> & {
14
+ } & {
15
15
  id: "multiSession";
16
16
  }) & {
17
17
  id: "multiSession";
@@ -1,12 +1,9 @@
1
- import { ManageAccounts as e } from "../../components/auth/multi-session/manage-accounts.js";
2
- import { SwitchAccountSubmenu as t } from "../../components/auth/multi-session/switch-account-submenu.js";
3
- import { createAuthPlugin as n } from "@better-auth-ui/core";
4
- import { multiSessionPlugin as r } from "@better-auth-ui/core/plugins";
5
- //#region src/lib/auth/multi-session-plugin.ts
6
- var i = n(r.id, (n = {}) => ({
7
- ...r(n),
8
- accountCards: [e],
9
- userMenuItems: [t]
1
+ import { createAuthPlugin } from "@better-auth-ui/core";
2
+ import { multiSessionPlugin as coreMultiSessionPlugin } from "@better-auth-ui/core/plugins";
3
+ import { ManageAccounts } from "../../components/auth/multi-session/manage-accounts";
4
+ import { SwitchAccountSubmenu } from "../../components/auth/multi-session/switch-account-submenu";
5
+ export const multiSessionPlugin = createAuthPlugin(coreMultiSessionPlugin.id, (options = {}) => ({
6
+ ...coreMultiSessionPlugin(options),
7
+ accountCards: [ManageAccounts],
8
+ userMenuItems: [SwitchAccountSubmenu]
10
9
  }));
11
- //#endregion
12
- export { i as multiSessionPlugin };
@@ -0,0 +1,37 @@
1
+ import { type OrganizationLocalization, type OrganizationPluginOptions } from "@better-auth-ui/core/plugins";
2
+ import { OrganizationsSettings } from "../../components/auth/organization/organizations-settings";
3
+ export declare const organizationPlugin: ((options?: OrganizationPluginOptions | undefined) => {
4
+ localization: OrganizationLocalization;
5
+ settingsTabs: {
6
+ view: "organizations";
7
+ label: import("react/jsx-runtime").JSX.Element;
8
+ component: typeof OrganizationsSettings;
9
+ }[];
10
+ slug: string | null | undefined;
11
+ checkSlug: boolean;
12
+ logo: {
13
+ delete?: (url: string) => Promise<void>;
14
+ enabled: boolean;
15
+ extension: "png" | "jpg" | "webp" | "inherit";
16
+ resize: (file: File, size?: number, extension?: "png" | "jpg" | "webp" | "inherit") => Promise<File>;
17
+ size: number;
18
+ upload?: (file: File) => Promise<string>;
19
+ };
20
+ roles: {
21
+ [x: string]: string;
22
+ };
23
+ viewPaths: {
24
+ settings: {
25
+ organizations: string;
26
+ };
27
+ organization: {
28
+ settings: string;
29
+ people: string;
30
+ };
31
+ };
32
+ id: "organization";
33
+ } & {
34
+ id: "organization";
35
+ }) & {
36
+ id: "organization";
37
+ };
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { createAuthPlugin } from "@better-auth-ui/core";
3
+ import { organizationPlugin as coreOrganizationPlugin } from "@better-auth-ui/core/plugins";
4
+ import { Briefcase } from "@gravity-ui/icons";
5
+ import { OrganizationsSettings } from "../../components/auth/organization/organizations-settings";
6
+ export const organizationPlugin = createAuthPlugin(coreOrganizationPlugin.id, (options = {}) => {
7
+ const coreOptions = coreOrganizationPlugin(options);
8
+ return {
9
+ ...coreOptions,
10
+ localization: coreOptions.localization,
11
+ settingsTabs: [
12
+ {
13
+ view: "organizations",
14
+ label: (_jsxs(_Fragment, { children: [_jsx(Briefcase, { className: "text-muted" }), coreOptions.localization.organizations] })),
15
+ component: OrganizationsSettings
16
+ }
17
+ ]
18
+ };
19
+ });
@@ -1,19 +1,22 @@
1
- import { PasskeyPluginOptions } from '@better-auth-ui/core/plugins';
2
- import { PasskeyButton } from '../../components/auth/passkey/passkey-button';
3
- import { Passkeys } from '../../components/auth/passkey/passkeys';
4
- export declare const passkeyPlugin: ((options?: PasskeyPluginOptions | undefined) => Omit<{
1
+ import { type PasskeyPluginOptions } from "@better-auth-ui/core/plugins";
2
+ import { PasskeyButton } from "../../components/auth/passkey/passkey-button";
3
+ import { Passkeys } from "../../components/auth/passkey/passkeys";
4
+ export declare const passkeyPlugin: ((options?: PasskeyPluginOptions | undefined) => {
5
5
  authButtons: (typeof PasskeyButton)[];
6
6
  securityCards: (typeof Passkeys)[];
7
7
  localization: {
8
8
  passkey: string;
9
9
  addPasskey: string;
10
10
  deletePasskey: string;
11
+ deletePasskeyTitle: string;
12
+ deletePasskeyWarning: string;
11
13
  passkeys: string;
12
14
  passkeysDescription: string;
13
- passkeysInstructions: string;
15
+ noPasskeys: string;
16
+ name: string;
14
17
  };
15
18
  id: "passkey";
16
- }, "id"> & {
19
+ } & {
17
20
  id: "passkey";
18
21
  }) & {
19
22
  id: "passkey";
@@ -1,12 +1,9 @@
1
- import { PasskeyButton as e } from "../../components/auth/passkey/passkey-button.js";
2
- import { Passkeys as t } from "../../components/auth/passkey/passkeys.js";
3
- import { createAuthPlugin as n } from "@better-auth-ui/core";
4
- import { passkeyPlugin as r } from "@better-auth-ui/core/plugins";
5
- //#region src/lib/auth/passkey-plugin.ts
6
- var i = n(r.id, (n = {}) => ({
7
- ...r(n),
8
- authButtons: [e],
9
- securityCards: [t]
1
+ import { createAuthPlugin } from "@better-auth-ui/core";
2
+ import { passkeyPlugin as corePasskeyPlugin } from "@better-auth-ui/core/plugins";
3
+ import { PasskeyButton } from "../../components/auth/passkey/passkey-button";
4
+ import { Passkeys } from "../../components/auth/passkey/passkeys";
5
+ export const passkeyPlugin = createAuthPlugin(corePasskeyPlugin.id, (options = {}) => ({
6
+ ...corePasskeyPlugin(options),
7
+ authButtons: [PasskeyButton],
8
+ securityCards: [Passkeys]
10
9
  }));
11
- //#endregion
12
- export { i as passkeyPlugin };
@@ -1,6 +1,6 @@
1
- import { ThemeLocalization } from '@better-auth-ui/core/plugins';
2
- import { Appearance } from '../../components/auth/theme/appearance';
3
- import { ThemeToggleItem } from '../../components/auth/theme/theme-toggle-item';
1
+ import { type ThemeLocalization } from "@better-auth-ui/core/plugins";
2
+ import { Appearance } from "../../components/auth/theme/appearance";
3
+ import { ThemeToggleItem } from "../../components/auth/theme/theme-toggle-item";
4
4
  /**
5
5
  * Hook shape compatible with `next-themes`' `useTheme` and similar APIs. The
6
6
  * hook is invoked inside the plugin factory so consumers can register the
@@ -45,7 +45,7 @@ export type ThemePluginOptions = CommonThemeOptions & ({
45
45
  setTheme: (theme: string) => void;
46
46
  useTheme?: never;
47
47
  });
48
- export declare const themePlugin: ((args_0: ThemePluginOptions) => Omit<{
48
+ export declare const themePlugin: ((args_0: ThemePluginOptions) => {
49
49
  useTheme: UseThemeHook;
50
50
  userMenuItems: (typeof ThemeToggleItem)[];
51
51
  accountCards: (typeof Appearance)[];
@@ -57,10 +57,10 @@ export declare const themePlugin: ((args_0: ThemePluginOptions) => Omit<{
57
57
  dark: string;
58
58
  };
59
59
  theme: string;
60
- themes: string[];
61
60
  setTheme: (theme: string) => void;
61
+ themes: string[];
62
62
  id: "theme";
63
- }, "id"> & {
63
+ } & {
64
64
  id: "theme";
65
65
  }) & {
66
66
  id: "theme";