@better-auth-ui/heroui 1.6.8 → 1.6.10

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 (195) hide show
  1. package/dist/components/auth/api-key/api-key.d.ts +5 -1
  2. package/dist/components/auth/api-key/api-keys-empty.d.ts +3 -1
  3. package/dist/components/auth/api-key/api-keys.d.ts +9 -1
  4. package/dist/components/auth/api-key/create-api-key-dialog.d.ts +3 -1
  5. package/dist/components/auth/api-key/delete-api-key-dialog.d.ts +3 -1
  6. package/dist/components/auth/api-key/organization-api-keys.d.ts +14 -0
  7. package/dist/components/auth/delete-user/danger-zone.d.ts +1 -1
  8. package/dist/components/auth/delete-user/{delete-user.d.ts → delete-account.d.ts} +2 -2
  9. package/dist/components/auth/email/organization-invitation-email.d.ts +3 -0
  10. package/dist/components/auth/multi-session/switch-account-submenu-content.d.ts +3 -1
  11. package/dist/components/auth/multi-session/switch-account-submenu-item.d.ts +2 -1
  12. package/dist/components/auth/multi-session/switch-account-submenu.d.ts +2 -1
  13. package/dist/components/auth/organization/change-organization-logo.d.ts +4 -0
  14. package/dist/components/auth/organization/create-organization-dialog.d.ts +13 -0
  15. package/dist/components/auth/organization/delete-organization-dialog.d.ts +7 -0
  16. package/dist/components/auth/organization/delete-organization-skeleton.d.ts +4 -0
  17. package/dist/components/auth/organization/delete-organization.d.ts +5 -0
  18. package/dist/components/auth/organization/invite-member-dialog.d.ts +13 -0
  19. package/dist/components/auth/organization/leave-organization-dialog.d.ts +7 -0
  20. package/dist/components/auth/organization/leave-organization.d.ts +4 -0
  21. package/dist/components/auth/organization/organization-danger-zone.d.ts +16 -0
  22. package/dist/components/auth/organization/organization-invitation-row-skeleton.d.ts +5 -0
  23. package/dist/components/auth/organization/organization-invitation-row.d.ts +5 -0
  24. package/dist/components/auth/organization/organization-invitations-empty.d.ts +8 -0
  25. package/dist/components/auth/organization/organization-invitations.d.ts +9 -0
  26. package/dist/components/auth/organization/organization-logo.d.ts +15 -0
  27. package/dist/components/auth/organization/organization-member-row-skeleton.d.ts +4 -0
  28. package/dist/components/auth/organization/organization-member-row.d.ts +9 -0
  29. package/dist/components/auth/organization/organization-members.d.ts +9 -0
  30. package/dist/components/auth/organization/organization-people.d.ts +10 -0
  31. package/dist/components/auth/organization/organization-profile.d.ts +9 -0
  32. package/dist/components/auth/organization/organization-row.d.ts +8 -0
  33. package/dist/components/auth/organization/organization-settings.d.ts +12 -0
  34. package/dist/components/auth/organization/organization-switcher.d.ts +20 -0
  35. package/dist/components/auth/organization/organization-view-skeleton.d.ts +6 -0
  36. package/dist/components/auth/organization/organization-view.d.ts +15 -0
  37. package/dist/components/auth/organization/organization.d.ts +17 -0
  38. package/dist/components/auth/organization/organizations-empty.d.ts +4 -0
  39. package/dist/components/auth/organization/organizations-settings.d.ts +17 -0
  40. package/dist/components/auth/organization/organizations.d.ts +10 -0
  41. package/dist/components/auth/organization/remove-member-dialog.d.ts +9 -0
  42. package/dist/components/auth/organization/slug-field.d.ts +19 -0
  43. package/dist/components/auth/organization/user-invitation-row-skeleton.d.ts +4 -0
  44. package/dist/components/auth/organization/user-invitation-row.d.ts +10 -0
  45. package/dist/components/auth/organization/user-invitations-empty.d.ts +4 -0
  46. package/dist/components/auth/organization/user-invitations.d.ts +10 -0
  47. package/dist/components/auth/settings/settings.d.ts +1 -1
  48. package/dist/components/auth/user/user-avatar.d.ts +1 -1
  49. package/dist/components/auth/user/user-button.d.ts +4 -5
  50. package/dist/components/auth/user/user-view.d.ts +10 -4
  51. package/dist/email.d.ts +1 -0
  52. package/dist/email.js +211 -8
  53. package/dist/index.js +1682 -22
  54. package/dist/lib/auth/api-key-plugin.d.ts +5 -2
  55. package/dist/lib/auth/auth-plugin.d.ts +6 -2
  56. package/dist/lib/auth/delete-user-plugin.d.ts +4 -4
  57. package/dist/lib/auth/magic-link-plugin.d.ts +2 -2
  58. package/dist/lib/auth/multi-session-plugin.d.ts +2 -2
  59. package/dist/lib/auth/organization-plugin.d.ts +37 -0
  60. package/dist/lib/auth/passkey-plugin.d.ts +2 -2
  61. package/dist/lib/auth/theme-plugin.d.ts +3 -3
  62. package/dist/lib/auth/username-plugin.d.ts +8 -8
  63. package/dist/plugins.d.ts +25 -1
  64. package/dist/plugins.js +2824 -22
  65. package/dist/user-view--47tVtJ3.js +113 -0
  66. package/package.json +23 -18
  67. package/src/components/auth/api-key/api-key.tsx +25 -16
  68. package/src/components/auth/api-key/api-keys-empty.tsx +8 -4
  69. package/src/components/auth/api-key/api-keys.tsx +52 -14
  70. package/src/components/auth/api-key/create-api-key-dialog.tsx +15 -2
  71. package/src/components/auth/api-key/delete-api-key-dialog.tsx +10 -2
  72. package/src/components/auth/api-key/organization-api-keys.tsx +55 -0
  73. package/src/components/auth/delete-user/danger-zone.tsx +3 -3
  74. package/src/components/auth/delete-user/{delete-user.tsx → delete-account.tsx} +9 -9
  75. package/src/components/auth/email/organization-invitation-email.tsx +38 -0
  76. package/src/components/auth/error-toaster.tsx +28 -10
  77. package/src/components/auth/forgot-password.tsx +10 -2
  78. package/src/components/auth/multi-session/manage-accounts.tsx +1 -1
  79. package/src/components/auth/multi-session/switch-account-submenu-content.tsx +7 -2
  80. package/src/components/auth/multi-session/switch-account-submenu-item.tsx +4 -2
  81. package/src/components/auth/multi-session/switch-account-submenu.tsx +8 -4
  82. package/src/components/auth/organization/change-organization-logo.tsx +171 -0
  83. package/src/components/auth/organization/create-organization-dialog.tsx +133 -0
  84. package/src/components/auth/organization/delete-organization-dialog.tsx +97 -0
  85. package/src/components/auth/organization/delete-organization-skeleton.tsx +17 -0
  86. package/src/components/auth/organization/delete-organization.tsx +77 -0
  87. package/src/components/auth/organization/invite-member-dialog.tsx +177 -0
  88. package/src/components/auth/organization/leave-organization-dialog.tsx +95 -0
  89. package/src/components/auth/organization/leave-organization.tsx +59 -0
  90. package/src/components/auth/organization/organization-danger-zone.tsx +68 -0
  91. package/src/components/auth/organization/organization-invitation-row-skeleton.tsx +29 -0
  92. package/src/components/auth/organization/organization-invitation-row.tsx +97 -0
  93. package/src/components/auth/organization/organization-invitations-empty.tsx +39 -0
  94. package/src/components/auth/organization/organization-invitations.tsx +351 -0
  95. package/src/components/auth/organization/organization-logo.tsx +64 -0
  96. package/src/components/auth/organization/organization-member-row-skeleton.tsx +24 -0
  97. package/src/components/auth/organization/organization-member-row.tsx +157 -0
  98. package/src/components/auth/organization/organization-members.tsx +284 -0
  99. package/src/components/auth/organization/organization-people.tsx +26 -0
  100. package/src/components/auth/organization/organization-profile.tsx +141 -0
  101. package/src/components/auth/organization/organization-row.tsx +66 -0
  102. package/src/components/auth/organization/organization-settings.tsx +38 -0
  103. package/src/components/auth/organization/organization-switcher.tsx +233 -0
  104. package/src/components/auth/organization/organization-view-skeleton.tsx +36 -0
  105. package/src/components/auth/organization/organization-view.tsx +109 -0
  106. package/src/components/auth/organization/organization.tsx +162 -0
  107. package/src/components/auth/organization/organizations-empty.tsx +35 -0
  108. package/src/components/auth/organization/organizations-settings.tsx +36 -0
  109. package/src/components/auth/organization/organizations.tsx +80 -0
  110. package/src/components/auth/organization/remove-member-dialog.tsx +95 -0
  111. package/src/components/auth/organization/slug-field.tsx +111 -0
  112. package/src/components/auth/organization/user-invitation-row-skeleton.tsx +17 -0
  113. package/src/components/auth/organization/user-invitation-row.tsx +90 -0
  114. package/src/components/auth/organization/user-invitations-empty.tsx +30 -0
  115. package/src/components/auth/organization/user-invitations.tsx +59 -0
  116. package/src/components/auth/settings/account/change-email.tsx +1 -1
  117. package/src/components/auth/settings/account/user-profile.tsx +5 -5
  118. package/src/components/auth/settings/security/active-sessions.tsx +6 -4
  119. package/src/components/auth/settings/security/linked-accounts.tsx +2 -2
  120. package/src/components/auth/settings/settings.tsx +77 -14
  121. package/src/components/auth/user/user-avatar.tsx +4 -1
  122. package/src/components/auth/user/user-button.tsx +14 -11
  123. package/src/components/auth/user/user-view.tsx +32 -12
  124. package/src/email.ts +1 -0
  125. package/src/lib/auth/api-key-plugin.ts +10 -4
  126. package/src/lib/auth/auth-plugin.ts +6 -1
  127. package/src/lib/auth/organization-plugin.tsx +32 -0
  128. package/src/plugins.ts +25 -1
  129. package/dist/components/auth/additional-field.js +0 -270
  130. package/dist/components/auth/api-key/api-key-skeleton.js +0 -21
  131. package/dist/components/auth/api-key/api-key.js +0 -55
  132. package/dist/components/auth/api-key/api-keys-empty.js +0 -35
  133. package/dist/components/auth/api-key/api-keys.js +0 -41
  134. package/dist/components/auth/api-key/create-api-key-dialog.js +0 -74
  135. package/dist/components/auth/api-key/delete-api-key-dialog.js +0 -51
  136. package/dist/components/auth/api-key/new-api-key-dialog.js +0 -60
  137. package/dist/components/auth/auth-provider.js +0 -17
  138. package/dist/components/auth/auth.js +0 -63
  139. package/dist/components/auth/delete-user/danger-zone.js +0 -18
  140. package/dist/components/auth/delete-user/delete-user.js +0 -95
  141. package/dist/components/auth/email/email-changed-email.js +0 -30
  142. package/dist/components/auth/email/email-verification-email.js +0 -30
  143. package/dist/components/auth/email/magic-link-email.js +0 -30
  144. package/dist/components/auth/email/new-device-email.js +0 -30
  145. package/dist/components/auth/email/otp-email.js +0 -29
  146. package/dist/components/auth/email/password-changed-email.js +0 -30
  147. package/dist/components/auth/email/reset-password-email.js +0 -30
  148. package/dist/components/auth/error-toaster.js +0 -17
  149. package/dist/components/auth/field-separator.js +0 -18
  150. package/dist/components/auth/forgot-password.js +0 -89
  151. package/dist/components/auth/magic-link/magic-link-button.js +0 -20
  152. package/dist/components/auth/magic-link/magic-link.js +0 -87
  153. package/dist/components/auth/multi-session/manage-account.js +0 -49
  154. package/dist/components/auth/multi-session/manage-accounts.js +0 -34
  155. package/dist/components/auth/multi-session/switch-account-submenu-content.js +0 -28
  156. package/dist/components/auth/multi-session/switch-account-submenu-item.js +0 -20
  157. package/dist/components/auth/multi-session/switch-account-submenu.js +0 -24
  158. package/dist/components/auth/passkey/add-passkey-dialog.js +0 -65
  159. package/dist/components/auth/passkey/delete-passkey-dialog.js +0 -47
  160. package/dist/components/auth/passkey/passkey-button.js +0 -24
  161. package/dist/components/auth/passkey/passkey-skeleton.js +0 -17
  162. package/dist/components/auth/passkey/passkey.js +0 -48
  163. package/dist/components/auth/passkey/passkeys-empty.js +0 -35
  164. package/dist/components/auth/passkey/passkeys.js +0 -42
  165. package/dist/components/auth/provider-button.js +0 -25
  166. package/dist/components/auth/provider-buttons.js +0 -19
  167. package/dist/components/auth/reset-password.js +0 -147
  168. package/dist/components/auth/settings/account/account-settings.js +0 -20
  169. package/dist/components/auth/settings/account/change-avatar.js +0 -89
  170. package/dist/components/auth/settings/account/change-email.js +0 -54
  171. package/dist/components/auth/settings/account/user-profile.js +0 -86
  172. package/dist/components/auth/settings/security/active-session.js +0 -59
  173. package/dist/components/auth/settings/security/active-sessions.js +0 -34
  174. package/dist/components/auth/settings/security/change-password.js +0 -189
  175. package/dist/components/auth/settings/security/linked-account.js +0 -56
  176. package/dist/components/auth/settings/security/linked-accounts.js +0 -45
  177. package/dist/components/auth/settings/security/security-settings.js +0 -22
  178. package/dist/components/auth/settings/settings.js +0 -45
  179. package/dist/components/auth/sign-in.js +0 -133
  180. package/dist/components/auth/sign-out.js +0 -27
  181. package/dist/components/auth/sign-up.js +0 -212
  182. package/dist/components/auth/theme/appearance.js +0 -72
  183. package/dist/components/auth/theme/theme-toggle-item.js +0 -62
  184. package/dist/components/auth/user/user-avatar.js +0 -29
  185. package/dist/components/auth/user/user-button.js +0 -74
  186. package/dist/components/auth/user/user-view.js +0 -37
  187. package/dist/components/auth/username/sign-in-username.js +0 -148
  188. package/dist/components/auth/username/username-field.js +0 -53
  189. package/dist/lib/auth/api-key-plugin.js +0 -10
  190. package/dist/lib/auth/delete-user-plugin.js +0 -10
  191. package/dist/lib/auth/magic-link-plugin.js +0 -13
  192. package/dist/lib/auth/multi-session-plugin.js +0 -12
  193. package/dist/lib/auth/passkey-plugin.js +0 -12
  194. package/dist/lib/auth/theme-plugin.js +0 -23
  195. package/dist/lib/auth/username-plugin.js +0 -18
@@ -1,35 +0,0 @@
1
- import { apiKeyPlugin as e } from "../../../lib/auth/api-key-plugin.js";
2
- import { useAuthPlugin as t } from "@better-auth-ui/react";
3
- import { Key as n } from "@gravity-ui/icons";
4
- import { Button as r } from "@heroui/react";
5
- import { jsx as i, jsxs as a } from "react/jsx-runtime";
6
- //#region src/components/auth/api-key/api-keys-empty.tsx
7
- function o({ onCreatePress: o }) {
8
- let { localization: s } = t(e);
9
- return /* @__PURE__ */ a("div", {
10
- className: "flex flex-col items-center justify-center gap-4",
11
- children: [
12
- /* @__PURE__ */ i("div", {
13
- className: "flex size-10 items-center justify-center rounded-xl bg-surface-secondary",
14
- children: /* @__PURE__ */ i(n, { className: "size-4.5" })
15
- }),
16
- /* @__PURE__ */ a("div", {
17
- className: "flex flex-col items-center justify-center gap-1 text-center",
18
- children: [/* @__PURE__ */ i("p", {
19
- className: "text-sm font-semibold",
20
- children: s.noApiKeys
21
- }), /* @__PURE__ */ i("p", {
22
- className: "text-muted text-xs",
23
- children: s.apiKeysDescription
24
- })]
25
- }),
26
- /* @__PURE__ */ i(r, {
27
- size: "sm",
28
- onPress: o,
29
- children: s.createApiKey
30
- })
31
- ]
32
- });
33
- }
34
- //#endregion
35
- export { o as ApiKeysEmpty };
@@ -1,41 +0,0 @@
1
- import { apiKeyPlugin as e } from "../../../lib/auth/api-key-plugin.js";
2
- import { ApiKey as t } from "./api-key.js";
3
- import { ApiKeySkeleton as n } from "./api-key-skeleton.js";
4
- import { ApiKeysEmpty as r } from "./api-keys-empty.js";
5
- import { CreateApiKeyDialog as i } from "./create-api-key-dialog.js";
6
- import { useAuth as a, useAuthPlugin as o, useListApiKeys as s } from "@better-auth-ui/react";
7
- import { Button as c, Card as l, cn as u } from "@heroui/react";
8
- import { useState as d } from "react";
9
- import { jsx as f, jsxs as p } from "react/jsx-runtime";
10
- //#region src/components/auth/api-key/api-keys.tsx
11
- function m({ className: m, variant: h }) {
12
- let { authClient: g } = a(), { localization: _ } = o(e), { data: v, isPending: y } = s(g), [b, x] = d(!1);
13
- return /* @__PURE__ */ p("div", {
14
- className: u("flex flex-col gap-3", m),
15
- children: [
16
- /* @__PURE__ */ p("div", {
17
- className: "flex items-end justify-between gap-3",
18
- children: [/* @__PURE__ */ f("h2", {
19
- className: "text-sm font-semibold truncate",
20
- children: _.apiKeys
21
- }), /* @__PURE__ */ f(c, {
22
- className: "shrink-0",
23
- size: "sm",
24
- isDisabled: y,
25
- onPress: () => x(!0),
26
- children: _.createApiKey
27
- })]
28
- }),
29
- /* @__PURE__ */ f(l, {
30
- variant: h,
31
- children: /* @__PURE__ */ f(l.Content, { children: y ? /* @__PURE__ */ f(n, {}) : v?.apiKeys.length ? v?.apiKeys.map((e, n) => /* @__PURE__ */ p("div", { children: [n > 0 && /* @__PURE__ */ f("div", { className: "border-b border-dashed -mx-4 my-4" }), /* @__PURE__ */ f(t, { apiKey: e })] }, e.id)) : /* @__PURE__ */ f(r, { onCreatePress: () => x(!0) }) })
32
- }),
33
- /* @__PURE__ */ f(i, {
34
- isOpen: b,
35
- onOpenChange: x
36
- })
37
- ]
38
- });
39
- }
40
- //#endregion
41
- export { m as ApiKeys };
@@ -1,74 +0,0 @@
1
- import { apiKeyPlugin as e } from "../../../lib/auth/api-key-plugin.js";
2
- import { NewApiKeyDialog as t } from "./new-api-key-dialog.js";
3
- import { useAuth as n, useAuthPlugin as r, useCreateApiKey as i } from "@better-auth-ui/react";
4
- import { Key as a } from "@gravity-ui/icons";
5
- import { AlertDialog as o, Button as s, FieldError as c, Form as l, Input as u, Label as d, Spinner as f, TextField as p } from "@heroui/react";
6
- import { useState as m } from "react";
7
- import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime";
8
- //#region src/components/auth/api-key/create-api-key-dialog.tsx
9
- function v({ isOpen: v, onOpenChange: y }) {
10
- let { authClient: b, localization: x } = n(), { localization: S } = r(e), { mutate: C, isPending: w } = i(b), [T, E] = m(!1), [D, O] = m(null), [k, A] = m(null), j = (e) => {
11
- e || (O(null), A(null)), y(e);
12
- };
13
- return /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ g(o.Backdrop, {
14
- isOpen: v,
15
- onOpenChange: j,
16
- children: /* @__PURE__ */ g(o.Container, { children: /* @__PURE__ */ g(o.Dialog, { children: /* @__PURE__ */ _(l, {
17
- onSubmit: (e) => {
18
- e.preventDefault();
19
- let t = new FormData(e.target).get("name")?.trim();
20
- C(t ? { name: t } : void 0, { onSuccess: (e) => {
21
- j(!1), O(t), A(e.key), E(!0);
22
- } });
23
- },
24
- children: [
25
- /* @__PURE__ */ g(o.CloseTrigger, {}),
26
- /* @__PURE__ */ _(o.Header, { children: [/* @__PURE__ */ g(o.Icon, {
27
- status: "default",
28
- children: /* @__PURE__ */ g(a, {})
29
- }), /* @__PURE__ */ g(o.Heading, { children: S.createApiKey })] }),
30
- /* @__PURE__ */ _(o.Body, {
31
- className: "overflow-visible",
32
- children: [/* @__PURE__ */ g("p", {
33
- className: "text-muted text-sm",
34
- children: S.apiKeysDescription
35
- }), /* @__PURE__ */ _(p, {
36
- className: "mt-4",
37
- id: "name",
38
- name: "name",
39
- isDisabled: w,
40
- children: [
41
- /* @__PURE__ */ g(d, { children: S.name }),
42
- /* @__PURE__ */ g(u, {
43
- autoFocus: !0,
44
- placeholder: x.settings.optional,
45
- variant: "secondary"
46
- }),
47
- /* @__PURE__ */ g(c, {})
48
- ]
49
- })]
50
- }),
51
- /* @__PURE__ */ _(o.Footer, { children: [/* @__PURE__ */ g(s, {
52
- slot: "close",
53
- variant: "tertiary",
54
- isDisabled: w,
55
- children: x.settings.cancel
56
- }), /* @__PURE__ */ _(s, {
57
- type: "submit",
58
- isPending: w,
59
- children: [w && /* @__PURE__ */ g(f, {
60
- color: "current",
61
- size: "sm"
62
- }), S.createApiKey]
63
- })] })
64
- ]
65
- }) }) })
66
- }), /* @__PURE__ */ g(t, {
67
- isOpen: T,
68
- onOpenChange: E,
69
- secretKey: k,
70
- name: D
71
- })] });
72
- }
73
- //#endregion
74
- export { v as CreateApiKeyDialog };
@@ -1,51 +0,0 @@
1
- import { apiKeyPlugin as e } from "../../../lib/auth/api-key-plugin.js";
2
- import { useAuth as t, useAuthPlugin as n, useDeleteApiKey as r } from "@better-auth-ui/react";
3
- import { Key as i } from "@gravity-ui/icons";
4
- import { AlertDialog as a, Button as o, Input as s, Label as c, Spinner as l, TextField as u } from "@heroui/react";
5
- import { jsx as d, jsxs as f } from "react/jsx-runtime";
6
- //#region src/components/auth/api-key/delete-api-key-dialog.tsx
7
- function p({ isOpen: p, onOpenChange: m, apiKey: h }) {
8
- let { authClient: g, localization: _ } = t(), { localization: v } = n(e), y = `${h.start}${"*".repeat(16)}`, { mutate: b, isPending: x } = r(g, { onSuccess: () => m(!1) });
9
- return /* @__PURE__ */ d(a.Backdrop, {
10
- isOpen: p,
11
- onOpenChange: m,
12
- children: /* @__PURE__ */ d(a.Container, { children: /* @__PURE__ */ f(a.Dialog, { children: [
13
- /* @__PURE__ */ d(a.CloseTrigger, {}),
14
- /* @__PURE__ */ f(a.Header, { children: [/* @__PURE__ */ d(a.Icon, {
15
- status: "danger",
16
- children: /* @__PURE__ */ d(i, {})
17
- }), /* @__PURE__ */ d(a.Heading, { children: v.deleteApiKey })] }),
18
- /* @__PURE__ */ f(a.Body, {
19
- className: "flex flex-col gap-4 overflow-visible",
20
- children: [/* @__PURE__ */ d("p", {
21
- className: "text-muted text-sm",
22
- children: v.deleteApiKeyWarning
23
- }), /* @__PURE__ */ f(u, {
24
- value: y,
25
- className: "font-mono text-xs",
26
- variant: "secondary",
27
- children: [/* @__PURE__ */ d(c, { children: h.name || v.apiKey }), /* @__PURE__ */ d(s, {
28
- readOnly: !0,
29
- className: "font-mono text-xs"
30
- })]
31
- })]
32
- }),
33
- /* @__PURE__ */ f(a.Footer, { children: [/* @__PURE__ */ d(o, {
34
- slot: "close",
35
- variant: "tertiary",
36
- isDisabled: x,
37
- children: _.settings.cancel
38
- }), /* @__PURE__ */ f(o, {
39
- variant: "danger",
40
- onPress: () => b({ keyId: h.id }),
41
- isPending: x,
42
- children: [x && /* @__PURE__ */ d(l, {
43
- color: "current",
44
- size: "sm"
45
- }), v.deleteApiKey]
46
- })] })
47
- ] }) })
48
- });
49
- }
50
- //#endregion
51
- export { p as DeleteApiKeyDialog };
@@ -1,60 +0,0 @@
1
- import { apiKeyPlugin as e } from "../../../lib/auth/api-key-plugin.js";
2
- import { useAuth as t, useAuthPlugin as n } from "@better-auth-ui/react";
3
- import { Check as r, Copy as i, Key as a } from "@gravity-ui/icons";
4
- import { AlertDialog as o, Button as s, InputGroup as c, Label as l, TextField as u, toast as d } from "@heroui/react";
5
- import { useState as f } from "react";
6
- import { jsx as p, jsxs as m } from "react/jsx-runtime";
7
- //#region src/components/auth/api-key/new-api-key-dialog.tsx
8
- function h({ isOpen: h, onOpenChange: g, name: _, secretKey: v }) {
9
- let { localization: y } = t(), { localization: b } = n(e), [x, S] = f(!1);
10
- return /* @__PURE__ */ p(o.Backdrop, {
11
- isOpen: h,
12
- onOpenChange: g,
13
- children: /* @__PURE__ */ p(o.Container, { children: /* @__PURE__ */ m(o.Dialog, { children: [
14
- /* @__PURE__ */ p(o.CloseTrigger, {}),
15
- /* @__PURE__ */ m(o.Header, { children: [/* @__PURE__ */ p(o.Icon, {
16
- status: "warning",
17
- children: /* @__PURE__ */ p(a, {})
18
- }), /* @__PURE__ */ p(o.Heading, { children: b.newApiKey })] }),
19
- /* @__PURE__ */ m(o.Body, {
20
- className: "flex flex-col gap-4 overflow-visible",
21
- children: [/* @__PURE__ */ p("p", {
22
- className: "text-muted text-sm",
23
- children: b.newApiKeyWarning
24
- }), /* @__PURE__ */ m(u, {
25
- value: v ?? "",
26
- className: "font-mono text-xs",
27
- children: [/* @__PURE__ */ p(l, { children: _ || b.apiKey }), /* @__PURE__ */ m(c, {
28
- variant: "secondary",
29
- children: [/* @__PURE__ */ p(c.Input, {
30
- readOnly: !0,
31
- className: "font-mono text-xs"
32
- }), /* @__PURE__ */ p(c.Suffix, {
33
- className: "px-0",
34
- children: /* @__PURE__ */ p(s, {
35
- isIconOnly: !0,
36
- "aria-label": y.settings.copyToClipboard,
37
- size: "sm",
38
- variant: "ghost",
39
- onPress: async () => {
40
- if (v) try {
41
- await navigator.clipboard.writeText(v), S(!0), setTimeout(() => S(!1), 1500);
42
- } catch (e) {
43
- d.danger(e instanceof Error ? e.message : String(e));
44
- }
45
- },
46
- children: p(x ? r : i, {})
47
- })
48
- })]
49
- })]
50
- })]
51
- }),
52
- /* @__PURE__ */ p(o.Footer, { children: /* @__PURE__ */ p(s, {
53
- slot: "close",
54
- children: b.dismissNewKey
55
- }) })
56
- ] }) })
57
- });
58
- }
59
- //#endregion
60
- export { h as NewApiKeyDialog };
@@ -1,17 +0,0 @@
1
- import { ErrorToaster as e } from "./error-toaster.js";
2
- import { AuthProvider as t } from "@better-auth-ui/react";
3
- import { RouterProvider as n } from "@heroui/react";
4
- import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
- //#region src/components/auth/auth-provider.tsx
6
- function a({ children: a, navigate: o, ...s }) {
7
- return /* @__PURE__ */ r(t, {
8
- navigate: o,
9
- ...s,
10
- children: /* @__PURE__ */ i(n, {
11
- navigate: (e) => o({ to: e }),
12
- children: [a, /* @__PURE__ */ r(e, {})]
13
- })
14
- });
15
- }
16
- //#endregion
17
- export { a as AuthProvider };
@@ -1,63 +0,0 @@
1
- import { ForgotPassword as e } from "./forgot-password.js";
2
- import { ResetPassword as t } from "./reset-password.js";
3
- import { SignIn as n } from "./sign-in.js";
4
- import { SignOut as r } from "./sign-out.js";
5
- import { SignUp as i } from "./sign-up.js";
6
- import { useAuth as a } from "@better-auth-ui/react";
7
- import { useEffect as o } from "react";
8
- import { jsx as s } from "react/jsx-runtime";
9
- //#region src/components/auth/auth.tsx
10
- var c = [
11
- "signUp",
12
- "forgotPassword",
13
- "resetPassword"
14
- ], l = {
15
- signIn: n,
16
- signOut: r,
17
- signUp: i,
18
- forgotPassword: e,
19
- resetPassword: t
20
- };
21
- function u({ path: e, socialLayout: t, socialPosition: n, view: r, ...i }) {
22
- let { basePaths: u, emailAndPassword: d, plugins: f, viewPaths: p, navigate: m } = a();
23
- if (!r && !e) throw Error("[Better Auth UI] Either `view` or `path` must be provided");
24
- let h = r || Object.keys(p.auth).find((t) => p.auth[t] === e), g = !d?.enabled && h && c.includes(h);
25
- if (o(() => {
26
- g && m({
27
- to: `${u.auth}/${p.auth.signIn}`,
28
- replace: !0
29
- });
30
- }, [
31
- g,
32
- m,
33
- u.auth,
34
- p.auth.signIn
35
- ]), g) return null;
36
- for (let a of f) {
37
- let o = a.viewPaths?.auth, c = r ?? h ?? (o && Object.keys(o).find((t) => o[t] === e));
38
- if (!c) continue;
39
- let l = a.views?.auth?.[c];
40
- if (l) return /* @__PURE__ */ s(l, {
41
- socialLayout: t,
42
- socialPosition: n,
43
- ...i
44
- });
45
- }
46
- if (h === "signIn" && !d?.enabled) {
47
- let e = f.find((e) => e.fallbackViews?.auth?.signIn)?.fallbackViews?.auth?.signIn;
48
- if (e) return /* @__PURE__ */ s(e, {
49
- socialLayout: t,
50
- socialPosition: n,
51
- ...i
52
- });
53
- }
54
- let _ = h ? l[h] : void 0;
55
- if (!_) throw Error(`[Better Auth UI] Unknown view "${h}". Valid views are: ${Object.keys(l).join(", ")}`);
56
- return /* @__PURE__ */ s(_, {
57
- socialLayout: t,
58
- socialPosition: n,
59
- ...i
60
- });
61
- }
62
- //#endregion
63
- export { u as Auth };
@@ -1,18 +0,0 @@
1
- import { DeleteUser as e } from "./delete-user.js";
2
- import { useAuth as t } from "@better-auth-ui/react";
3
- import { cn as n } from "@heroui/react";
4
- import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
- //#region src/components/auth/delete-user/danger-zone.tsx
6
- function a({ className: a, variant: o, ...s }) {
7
- let { localization: c } = t();
8
- return /* @__PURE__ */ i("div", {
9
- className: n("flex w-full flex-col", a),
10
- ...s,
11
- children: [/* @__PURE__ */ r("h2", {
12
- className: n("text-sm font-semibold mb-3 text-danger"),
13
- children: c.settings.dangerZone
14
- }), /* @__PURE__ */ r(e, { variant: o })]
15
- });
16
- }
17
- //#endregion
18
- export { a as DangerZone };
@@ -1,95 +0,0 @@
1
- import { deleteUserPlugin as e } from "../../../lib/auth/delete-user-plugin.js";
2
- import { authQueryKeys as t } from "@better-auth-ui/core";
3
- import { useAuth as n, useAuthPlugin as r, useDeleteUser as i, useListAccounts as a } from "@better-auth-ui/react";
4
- import { TriangleExclamation as o } from "@gravity-ui/icons";
5
- import { AlertDialog as s, Button as c, Card as l, FieldError as u, Form as d, Input as f, Label as p, Spinner as m, TextField as h, toast as g } from "@heroui/react";
6
- import { useState as _ } from "react";
7
- import { jsx as v, jsxs as y } from "react/jsx-runtime";
8
- import { useQueryClient as b } from "@tanstack/react-query";
9
- //#region src/components/auth/delete-user/delete-user.tsx
10
- function x({ className: x, variant: S, ...C }) {
11
- let { authClient: w, basePaths: T, localization: E, navigate: D, viewPaths: O } = n(), { localization: k, sendDeleteAccountVerification: A } = r(e), { data: j } = a(w), M = b(), [N, P] = _(!1), [F, I] = _(""), L = j?.some((e) => e.providerId === "credential"), R = !A && L, { mutate: z, isPending: B } = i(w), V = (e) => {
12
- P(e), I("");
13
- }, H = async (e) => {
14
- e.preventDefault(), z({ ...R ? { password: F } : {} }, { onSuccess: () => {
15
- P(!1), I(""), A ? g.success(k.deleteUserVerificationSent) : (g.success(k.deleteUserSuccess), M.removeQueries({ queryKey: t.all }), D({
16
- to: `${T.auth}/${O.auth.signIn}`,
17
- replace: !0
18
- }));
19
- } });
20
- };
21
- return /* @__PURE__ */ v(l, {
22
- className: x,
23
- variant: S,
24
- ...C,
25
- children: /* @__PURE__ */ y(l.Content, {
26
- className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",
27
- children: [/* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
28
- className: "text-sm font-medium leading-tight",
29
- children: k.deleteUser
30
- }), /* @__PURE__ */ v("p", {
31
- className: "text-muted text-xs mt-0.5",
32
- children: k.deleteUserDescription
33
- })] }), /* @__PURE__ */ y(s, { children: [/* @__PURE__ */ v(c, {
34
- isDisabled: !j,
35
- size: "sm",
36
- variant: "danger-soft",
37
- onPress: () => P(!0),
38
- children: k.deleteUser
39
- }), /* @__PURE__ */ v(s.Backdrop, {
40
- isOpen: N,
41
- onOpenChange: V,
42
- children: /* @__PURE__ */ v(s.Container, { children: /* @__PURE__ */ v(s.Dialog, { children: /* @__PURE__ */ y(d, {
43
- onSubmit: H,
44
- children: [
45
- /* @__PURE__ */ v(s.CloseTrigger, {}),
46
- /* @__PURE__ */ y(s.Header, { children: [/* @__PURE__ */ v(s.Icon, {
47
- status: "danger",
48
- children: /* @__PURE__ */ v(o, {})
49
- }), /* @__PURE__ */ v(s.Heading, { children: k.deleteUser })] }),
50
- /* @__PURE__ */ y(s.Body, {
51
- className: "overflow-visible",
52
- children: [/* @__PURE__ */ v("p", {
53
- className: "text-muted text-sm",
54
- children: k.deleteUserDescription
55
- }), R && /* @__PURE__ */ y(h, {
56
- className: "mt-4",
57
- name: "password",
58
- type: "password",
59
- isDisabled: B,
60
- value: F,
61
- onChange: I,
62
- children: [
63
- /* @__PURE__ */ v(p, { children: E.auth.password }),
64
- /* @__PURE__ */ v(f, {
65
- autoComplete: "current-password",
66
- placeholder: E.auth.passwordPlaceholder,
67
- required: !0,
68
- variant: "secondary"
69
- }),
70
- /* @__PURE__ */ v(u, {})
71
- ]
72
- })]
73
- }),
74
- /* @__PURE__ */ y(s.Footer, { children: [/* @__PURE__ */ v(c, {
75
- slot: "close",
76
- variant: "tertiary",
77
- isDisabled: B,
78
- children: E.settings.cancel
79
- }), /* @__PURE__ */ y(c, {
80
- type: "submit",
81
- variant: "danger",
82
- isPending: B,
83
- children: [B && /* @__PURE__ */ v(m, {
84
- color: "current",
85
- size: "sm"
86
- }), k.deleteUser]
87
- })] })
88
- ]
89
- }) }) })
90
- })] })]
91
- })
92
- });
93
- }
94
- //#endregion
95
- export { x as DeleteUser };
@@ -1,30 +0,0 @@
1
- import { cn as e } from "@heroui/react";
2
- import { jsx as t } from "react/jsx-runtime";
3
- import { EmailChangedEmail as n } from "@better-auth-ui/react/email";
4
- //#region src/components/auth/email/email-changed-email.tsx
5
- function r({ colors: r, classNames: i, ...a }) {
6
- return /* @__PURE__ */ t(n, {
7
- colors: {
8
- light: {
9
- background: "#F5F5F5",
10
- primary: "#0285F7",
11
- primaryForeground: "#FCFCFC",
12
- ...r?.light
13
- },
14
- dark: {
15
- background: "#060607",
16
- primary: "#0584F6",
17
- primaryForeground: "#FCFCFC",
18
- ...r?.dark
19
- }
20
- },
21
- classNames: {
22
- ...i,
23
- card: e("border-none rounded-3xl", i?.card),
24
- button: e("rounded-full", i?.button)
25
- },
26
- ...a
27
- });
28
- }
29
- //#endregion
30
- export { r as EmailChangedEmail };
@@ -1,30 +0,0 @@
1
- import { cn as e } from "@heroui/react";
2
- import { jsx as t } from "react/jsx-runtime";
3
- import { EmailVerificationEmail as n } from "@better-auth-ui/react/email";
4
- //#region src/components/auth/email/email-verification-email.tsx
5
- function r({ colors: r, classNames: i, ...a }) {
6
- return /* @__PURE__ */ t(n, {
7
- colors: {
8
- light: {
9
- background: "#F5F5F5",
10
- primary: "#0285F7",
11
- primaryForeground: "#FCFCFC",
12
- ...r?.light
13
- },
14
- dark: {
15
- background: "#060607",
16
- primary: "#0584F6",
17
- primaryForeground: "#FCFCFC",
18
- ...r?.dark
19
- }
20
- },
21
- classNames: {
22
- ...i,
23
- card: e("border-none rounded-3xl", i?.card),
24
- button: e("rounded-full", i?.button)
25
- },
26
- ...a
27
- });
28
- }
29
- //#endregion
30
- export { r as EmailVerificationEmail };
@@ -1,30 +0,0 @@
1
- import { cn as e } from "@heroui/react";
2
- import { jsx as t } from "react/jsx-runtime";
3
- import { MagicLinkEmail as n } from "@better-auth-ui/react/email";
4
- //#region src/components/auth/email/magic-link-email.tsx
5
- function r({ colors: r, classNames: i, ...a }) {
6
- return /* @__PURE__ */ t(n, {
7
- colors: {
8
- light: {
9
- background: "#F5F5F5",
10
- primary: "#0285F7",
11
- primaryForeground: "#FCFCFC",
12
- ...r?.light
13
- },
14
- dark: {
15
- background: "#060607",
16
- primary: "#0584F6",
17
- primaryForeground: "#FCFCFC",
18
- ...r?.dark
19
- }
20
- },
21
- classNames: {
22
- ...i,
23
- card: e("border-none rounded-3xl", i?.card),
24
- button: e("rounded-full", i?.button)
25
- },
26
- ...a
27
- });
28
- }
29
- //#endregion
30
- export { r as MagicLinkEmail };
@@ -1,30 +0,0 @@
1
- import { cn as e } from "@heroui/react";
2
- import { jsx as t } from "react/jsx-runtime";
3
- import { NewDeviceEmail as n } from "@better-auth-ui/react/email";
4
- //#region src/components/auth/email/new-device-email.tsx
5
- function r({ colors: r, classNames: i, ...a }) {
6
- return /* @__PURE__ */ t(n, {
7
- colors: {
8
- light: {
9
- background: "#F5F5F5",
10
- primary: "#0285F7",
11
- primaryForeground: "#FCFCFC",
12
- ...r?.light
13
- },
14
- dark: {
15
- background: "#060607",
16
- primary: "#0584F6",
17
- primaryForeground: "#FCFCFC",
18
- ...r?.dark
19
- }
20
- },
21
- classNames: {
22
- ...i,
23
- card: e("border-none rounded-3xl", i?.card),
24
- button: e("rounded-full", i?.button)
25
- },
26
- ...a
27
- });
28
- }
29
- //#endregion
30
- export { r as NewDeviceEmail };
@@ -1,29 +0,0 @@
1
- import { cn as e } from "@heroui/react";
2
- import { jsx as t } from "react/jsx-runtime";
3
- import { OtpEmail as n } from "@better-auth-ui/react/email";
4
- //#region src/components/auth/email/otp-email.tsx
5
- function r({ colors: r, classNames: i, ...a }) {
6
- return /* @__PURE__ */ t(n, {
7
- colors: {
8
- light: {
9
- background: "#F5F5F5",
10
- primary: "#0285F7",
11
- primaryForeground: "#FCFCFC",
12
- ...r?.light
13
- },
14
- dark: {
15
- background: "#060607",
16
- primary: "#0584F6",
17
- primaryForeground: "#FCFCFC",
18
- ...r?.dark
19
- }
20
- },
21
- classNames: {
22
- ...i,
23
- card: e("border-none rounded-3xl", i?.card)
24
- },
25
- ...a
26
- });
27
- }
28
- //#endregion
29
- export { r as OtpEmail };
@@ -1,30 +0,0 @@
1
- import { cn as e } from "@heroui/react";
2
- import { jsx as t } from "react/jsx-runtime";
3
- import { PasswordChangedEmail as n } from "@better-auth-ui/react/email";
4
- //#region src/components/auth/email/password-changed-email.tsx
5
- function r({ colors: r, classNames: i, ...a }) {
6
- return /* @__PURE__ */ t(n, {
7
- colors: {
8
- light: {
9
- background: "#F5F5F5",
10
- primary: "#0285F7",
11
- primaryForeground: "#FCFCFC",
12
- ...r?.light
13
- },
14
- dark: {
15
- background: "#060607",
16
- primary: "#0584F6",
17
- primaryForeground: "#FCFCFC",
18
- ...r?.dark
19
- }
20
- },
21
- classNames: {
22
- ...i,
23
- card: e("border-none rounded-3xl", i?.card),
24
- button: e("rounded-full", i?.button)
25
- },
26
- ...a
27
- });
28
- }
29
- //#endregion
30
- export { r as PasswordChangedEmail };
@@ -1,30 +0,0 @@
1
- import { cn as e } from "@heroui/react";
2
- import { jsx as t } from "react/jsx-runtime";
3
- import { ResetPasswordEmail as n } from "@better-auth-ui/react/email";
4
- //#region src/components/auth/email/reset-password-email.tsx
5
- function r({ colors: r, classNames: i, ...a }) {
6
- return /* @__PURE__ */ t(n, {
7
- colors: {
8
- light: {
9
- background: "#F5F5F5",
10
- primary: "#0285F7",
11
- primaryForeground: "#FCFCFC",
12
- ...r?.light
13
- },
14
- dark: {
15
- background: "#060607",
16
- primary: "#0584F6",
17
- primaryForeground: "#FCFCFC",
18
- ...r?.dark
19
- }
20
- },
21
- classNames: {
22
- ...i,
23
- card: e("border-none rounded-3xl", i?.card),
24
- button: e("rounded-full", i?.button)
25
- },
26
- ...a
27
- });
28
- }
29
- //#endregion
30
- export { r as ResetPasswordEmail };