@better-auth-ui/solid 1.6.19

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 (270) hide show
  1. package/dist/components/auth/email/email-changed.d.ts +59 -0
  2. package/dist/components/auth/email/email-changed.js +264 -0
  3. package/dist/components/auth/email/email-styles.d.ts +48 -0
  4. package/dist/components/auth/email/email-styles.js +107 -0
  5. package/dist/components/auth/email/email-verification.d.ts +51 -0
  6. package/dist/components/auth/email/email-verification.js +212 -0
  7. package/dist/components/auth/email/index.d.ts +9 -0
  8. package/dist/components/auth/email/magic-link.d.ts +53 -0
  9. package/dist/components/auth/email/magic-link.js +213 -0
  10. package/dist/components/auth/email/new-device.d.ts +77 -0
  11. package/dist/components/auth/email/new-device.js +326 -0
  12. package/dist/components/auth/email/organization-invitation.d.ts +70 -0
  13. package/dist/components/auth/email/organization-invitation.js +260 -0
  14. package/dist/components/auth/email/otp-email.d.ts +49 -0
  15. package/dist/components/auth/email/otp-email.js +191 -0
  16. package/dist/components/auth/email/password-changed.d.ts +56 -0
  17. package/dist/components/auth/email/password-changed.js +236 -0
  18. package/dist/components/auth/email/reset-password.d.ts +51 -0
  19. package/dist/components/auth/email/reset-password.js +212 -0
  20. package/dist/email.d.ts +18 -0
  21. package/dist/email.js +10 -0
  22. package/dist/hooks/auth/use-authenticate.d.ts +3 -0
  23. package/dist/hooks/auth/use-authenticate.js +18 -0
  24. package/dist/hooks/auth/use-sign-out.d.ts +2 -0
  25. package/dist/hooks/auth/use-sign-out.js +17 -0
  26. package/dist/hooks/auth/use-user.d.ts +213 -0
  27. package/dist/hooks/auth/use-user.js +13 -0
  28. package/dist/hooks/use-auth-mutation.d.ts +6 -0
  29. package/dist/hooks/use-auth-mutation.js +11 -0
  30. package/dist/hooks/use-auth-query.d.ts +5 -0
  31. package/dist/hooks/use-auth-query.js +17 -0
  32. package/dist/index.d.ts +48 -0
  33. package/dist/index.js +68 -0
  34. package/dist/lib/auth-client.d.ts +26 -0
  35. package/dist/lib/auth-config.d.ts +12 -0
  36. package/dist/lib/auth-config.js +21 -0
  37. package/dist/lib/auth-plugin.d.ts +16 -0
  38. package/dist/lib/auth-provider.d.ts +12 -0
  39. package/dist/lib/auth-provider.js +36 -0
  40. package/dist/lib/auth-server.d.ts +16 -0
  41. package/dist/lib/auth-utils.d.ts +3 -0
  42. package/dist/lib/auth-utils.js +12 -0
  43. package/dist/lib/fetch-options-provider.d.ts +23 -0
  44. package/dist/lib/fetch-options-provider.js +29 -0
  45. package/dist/lib/mutation-invalidator.d.ts +11 -0
  46. package/dist/lib/mutation-invalidator.js +20 -0
  47. package/dist/lib/provider-icons.d.ts +8 -0
  48. package/dist/lib/provider-icons.js +5 -0
  49. package/dist/mutations/api-key/create-api-key-mutation.d.ts +71 -0
  50. package/dist/mutations/api-key/create-api-key-mutation.js +12 -0
  51. package/dist/mutations/api-key/delete-api-key-mutation.d.ts +23 -0
  52. package/dist/mutations/api-key/delete-api-key-mutation.js +12 -0
  53. package/dist/mutations/auth/request-password-reset-mutation.d.ts +11 -0
  54. package/dist/mutations/auth/request-password-reset-mutation.js +8 -0
  55. package/dist/mutations/auth/reset-password-mutation.d.ts +13 -0
  56. package/dist/mutations/auth/reset-password-mutation.js +8 -0
  57. package/dist/mutations/auth/send-verification-email-mutation.d.ts +11 -0
  58. package/dist/mutations/auth/send-verification-email-mutation.js +8 -0
  59. package/dist/mutations/auth/sign-in-email-mutation.d.ts +15 -0
  60. package/dist/mutations/auth/sign-in-email-mutation.js +8 -0
  61. package/dist/mutations/auth/sign-in-social-mutation.d.ts +53 -0
  62. package/dist/mutations/auth/sign-in-social-mutation.js +8 -0
  63. package/dist/mutations/auth/sign-out-mutation.d.ts +6 -0
  64. package/dist/mutations/auth/sign-out-mutation.js +8 -0
  65. package/dist/mutations/auth/sign-up-email-mutation.d.ts +17 -0
  66. package/dist/mutations/auth/sign-up-email-mutation.js +8 -0
  67. package/dist/mutations/auth-mutation-options.d.ts +10 -0
  68. package/dist/mutations/auth-mutation-options.js +19 -0
  69. package/dist/mutations/create-auth-mutation.d.ts +10 -0
  70. package/dist/mutations/create-auth-mutation.js +20 -0
  71. package/dist/mutations/magic-link/sign-in-magic-link-mutation.d.ts +19 -0
  72. package/dist/mutations/magic-link/sign-in-magic-link-mutation.js +8 -0
  73. package/dist/mutations/multi-session/revoke-multi-session-mutation.d.ts +19 -0
  74. package/dist/mutations/multi-session/revoke-multi-session-mutation.js +12 -0
  75. package/dist/mutations/multi-session/set-active-session-mutation.d.ts +19 -0
  76. package/dist/mutations/multi-session/set-active-session-mutation.js +13 -0
  77. package/dist/mutations/organization/accept-invitation-mutation.d.ts +18 -0
  78. package/dist/mutations/organization/accept-invitation-mutation.js +12 -0
  79. package/dist/mutations/organization/cancel-invitation-mutation.d.ts +18 -0
  80. package/dist/mutations/organization/cancel-invitation-mutation.js +12 -0
  81. package/dist/mutations/organization/check-slug-mutation.d.ts +18 -0
  82. package/dist/mutations/organization/check-slug-mutation.js +15 -0
  83. package/dist/mutations/organization/create-organization-mutation.d.ts +38 -0
  84. package/dist/mutations/organization/create-organization-mutation.js +12 -0
  85. package/dist/mutations/organization/delete-organization-mutation.d.ts +18 -0
  86. package/dist/mutations/organization/delete-organization-mutation.js +12 -0
  87. package/dist/mutations/organization/index.d.ts +13 -0
  88. package/dist/mutations/organization/index.js +13 -0
  89. package/dist/mutations/organization/invite-member-mutation.d.ts +30 -0
  90. package/dist/mutations/organization/invite-member-mutation.js +12 -0
  91. package/dist/mutations/organization/leave-organization-mutation.d.ts +18 -0
  92. package/dist/mutations/organization/leave-organization-mutation.js +12 -0
  93. package/dist/mutations/organization/metadata.d.ts +13 -0
  94. package/dist/mutations/organization/metadata.js +27 -0
  95. package/dist/mutations/organization/reject-invitation-mutation.d.ts +18 -0
  96. package/dist/mutations/organization/reject-invitation-mutation.js +12 -0
  97. package/dist/mutations/organization/remove-member-mutation.d.ts +22 -0
  98. package/dist/mutations/organization/remove-member-mutation.js +12 -0
  99. package/dist/mutations/organization/set-active-organization-mutation.d.ts +24 -0
  100. package/dist/mutations/organization/set-active-organization-mutation.js +35 -0
  101. package/dist/mutations/organization/update-member-role-mutation.d.ts +26 -0
  102. package/dist/mutations/organization/update-member-role-mutation.js +12 -0
  103. package/dist/mutations/organization/update-organization-mutation.d.ts +42 -0
  104. package/dist/mutations/organization/update-organization-mutation.js +12 -0
  105. package/dist/mutations/organization/utils.d.ts +8 -0
  106. package/dist/mutations/organization/utils.js +17 -0
  107. package/dist/mutations/passkey/add-passkey-mutation.d.ts +73 -0
  108. package/dist/mutations/passkey/add-passkey-mutation.js +12 -0
  109. package/dist/mutations/passkey/delete-passkey-mutation.d.ts +19 -0
  110. package/dist/mutations/passkey/delete-passkey-mutation.js +12 -0
  111. package/dist/mutations/passkey/sign-in-passkey-mutation.d.ts +50 -0
  112. package/dist/mutations/passkey/sign-in-passkey-mutation.js +9 -0
  113. package/dist/mutations/settings/change-email-mutation.d.ts +11 -0
  114. package/dist/mutations/settings/change-email-mutation.js +8 -0
  115. package/dist/mutations/settings/change-password-mutation.d.ts +13 -0
  116. package/dist/mutations/settings/change-password-mutation.js +8 -0
  117. package/dist/mutations/settings/delete-user-mutation.d.ts +13 -0
  118. package/dist/mutations/settings/delete-user-mutation.js +8 -0
  119. package/dist/mutations/settings/link-social-mutation.d.ts +35 -0
  120. package/dist/mutations/settings/link-social-mutation.js +8 -0
  121. package/dist/mutations/settings/revoke-session-mutation.d.ts +19 -0
  122. package/dist/mutations/settings/revoke-session-mutation.js +12 -0
  123. package/dist/mutations/settings/unlink-account-mutation.d.ts +23 -0
  124. package/dist/mutations/settings/unlink-account-mutation.js +12 -0
  125. package/dist/mutations/settings/update-user-mutation.d.ts +6 -0
  126. package/dist/mutations/settings/update-user-mutation.js +8 -0
  127. package/dist/mutations/use-session-scoped-mutation.d.ts +17 -0
  128. package/dist/mutations/use-session-scoped-mutation.js +17 -0
  129. package/dist/mutations/username/is-username-available-mutation.d.ts +9 -0
  130. package/dist/mutations/username/is-username-available-mutation.js +8 -0
  131. package/dist/mutations/username/sign-in-username-mutation.d.ts +15 -0
  132. package/dist/mutations/username/sign-in-username-mutation.js +9 -0
  133. package/dist/plugins/captcha-plugin.d.ts +29 -0
  134. package/dist/plugins/captcha-plugin.js +26 -0
  135. package/dist/plugins.d.ts +2 -0
  136. package/dist/plugins.js +2 -0
  137. package/dist/queries/api-key/list-api-keys-query.d.ts +44 -0
  138. package/dist/queries/api-key/list-api-keys-query.js +17 -0
  139. package/dist/queries/auth/session-query.d.ts +22 -0
  140. package/dist/queries/auth/session-query.js +32 -0
  141. package/dist/queries/auth-query-options.d.ts +14 -0
  142. package/dist/queries/auth-query-options.js +17 -0
  143. package/dist/queries/create-user-scoped-query.d.ts +25 -0
  144. package/dist/queries/create-user-scoped-query.js +29 -0
  145. package/dist/queries/multi-session/list-device-sessions-query.d.ts +23 -0
  146. package/dist/queries/multi-session/list-device-sessions-query.js +17 -0
  147. package/dist/queries/organization/active-organization-query.d.ts +37 -0
  148. package/dist/queries/organization/active-organization-query.js +26 -0
  149. package/dist/queries/organization/full-organization-query.d.ts +35 -0
  150. package/dist/queries/organization/full-organization-query.js +25 -0
  151. package/dist/queries/organization/has-permission-query.d.ts +23 -0
  152. package/dist/queries/organization/has-permission-query.js +31 -0
  153. package/dist/queries/organization/index.d.ts +7 -0
  154. package/dist/queries/organization/index.js +7 -0
  155. package/dist/queries/organization/list-invitations-query.d.ts +29 -0
  156. package/dist/queries/organization/list-invitations-query.js +29 -0
  157. package/dist/queries/organization/list-members-query.d.ts +53 -0
  158. package/dist/queries/organization/list-members-query.js +29 -0
  159. package/dist/queries/organization/list-organizations-query.d.ts +23 -0
  160. package/dist/queries/organization/list-organizations-query.js +25 -0
  161. package/dist/queries/organization/list-user-invitations-query.d.ts +29 -0
  162. package/dist/queries/organization/list-user-invitations-query.js +25 -0
  163. package/dist/queries/organization/plugin.d.ts +1 -0
  164. package/dist/queries/organization/plugin.js +8 -0
  165. package/dist/queries/organization/utils.d.ts +16 -0
  166. package/dist/queries/organization/utils.js +18 -0
  167. package/dist/queries/passkey/list-passkeys-query.d.ts +23 -0
  168. package/dist/queries/passkey/list-passkeys-query.js +17 -0
  169. package/dist/queries/settings/account-info-query.d.ts +35 -0
  170. package/dist/queries/settings/account-info-query.js +17 -0
  171. package/dist/queries/settings/list-accounts-query.d.ts +23 -0
  172. package/dist/queries/settings/list-accounts-query.js +17 -0
  173. package/dist/queries/settings/list-sessions-query.d.ts +24 -0
  174. package/dist/queries/settings/list-sessions-query.js +17 -0
  175. package/dist/server/queries/auth/session-query.d.ts +19 -0
  176. package/dist/server/queries/auth/session-query.js +13 -0
  177. package/dist/server.d.ts +7 -0
  178. package/dist/server.js +7 -0
  179. package/package.json +63 -0
  180. package/src/components/auth/email/email-changed.tsx +305 -0
  181. package/src/components/auth/email/email-styles.tsx +139 -0
  182. package/src/components/auth/email/email-verification.tsx +249 -0
  183. package/src/components/auth/email/index.ts +9 -0
  184. package/src/components/auth/email/magic-link.tsx +254 -0
  185. package/src/components/auth/email/new-device.tsx +347 -0
  186. package/src/components/auth/email/organization-invitation.tsx +322 -0
  187. package/src/components/auth/email/otp-email.tsx +239 -0
  188. package/src/components/auth/email/password-changed.tsx +279 -0
  189. package/src/components/auth/email/reset-password.tsx +250 -0
  190. package/src/email.ts +49 -0
  191. package/src/hooks/auth/use-authenticate.ts +30 -0
  192. package/src/hooks/auth/use-sign-out.ts +23 -0
  193. package/src/hooks/auth/use-user.ts +19 -0
  194. package/src/hooks/use-auth-mutation.ts +35 -0
  195. package/src/hooks/use-auth-query.ts +33 -0
  196. package/src/index.ts +48 -0
  197. package/src/lib/auth-client.ts +43 -0
  198. package/src/lib/auth-config.ts +46 -0
  199. package/src/lib/auth-plugin.ts +20 -0
  200. package/src/lib/auth-provider.tsx +60 -0
  201. package/src/lib/auth-server.ts +25 -0
  202. package/src/lib/auth-utils.ts +25 -0
  203. package/src/lib/fetch-options-provider.tsx +77 -0
  204. package/src/lib/mutation-invalidator.tsx +82 -0
  205. package/src/lib/provider-icons.ts +10 -0
  206. package/src/mutations/api-key/create-api-key-mutation.ts +40 -0
  207. package/src/mutations/api-key/delete-api-key-mutation.ts +40 -0
  208. package/src/mutations/auth/request-password-reset-mutation.ts +15 -0
  209. package/src/mutations/auth/reset-password-mutation.ts +16 -0
  210. package/src/mutations/auth/send-verification-email-mutation.ts +15 -0
  211. package/src/mutations/auth/sign-in-email-mutation.ts +17 -0
  212. package/src/mutations/auth/sign-in-social-mutation.ts +16 -0
  213. package/src/mutations/auth/sign-out-mutation.ts +13 -0
  214. package/src/mutations/auth/sign-up-email-mutation.ts +17 -0
  215. package/src/mutations/auth-mutation-options.ts +62 -0
  216. package/src/mutations/create-auth-mutation.ts +44 -0
  217. package/src/mutations/magic-link/sign-in-magic-link-mutation.ts +15 -0
  218. package/src/mutations/multi-session/revoke-multi-session-mutation.ts +40 -0
  219. package/src/mutations/multi-session/set-active-session-mutation.ts +43 -0
  220. package/src/mutations/organization/accept-invitation-mutation.ts +38 -0
  221. package/src/mutations/organization/cancel-invitation-mutation.ts +38 -0
  222. package/src/mutations/organization/check-slug-mutation.ts +36 -0
  223. package/src/mutations/organization/create-organization-mutation.ts +37 -0
  224. package/src/mutations/organization/delete-organization-mutation.ts +37 -0
  225. package/src/mutations/organization/index.ts +13 -0
  226. package/src/mutations/organization/invite-member-mutation.ts +38 -0
  227. package/src/mutations/organization/leave-organization-mutation.ts +37 -0
  228. package/src/mutations/organization/metadata.ts +103 -0
  229. package/src/mutations/organization/reject-invitation-mutation.ts +38 -0
  230. package/src/mutations/organization/remove-member-mutation.ts +38 -0
  231. package/src/mutations/organization/set-active-organization-mutation.ts +110 -0
  232. package/src/mutations/organization/update-member-role-mutation.ts +38 -0
  233. package/src/mutations/organization/update-organization-mutation.ts +37 -0
  234. package/src/mutations/organization/utils.ts +51 -0
  235. package/src/mutations/passkey/add-passkey-mutation.ts +40 -0
  236. package/src/mutations/passkey/delete-passkey-mutation.ts +40 -0
  237. package/src/mutations/passkey/sign-in-passkey-mutation.ts +17 -0
  238. package/src/mutations/settings/change-email-mutation.ts +17 -0
  239. package/src/mutations/settings/change-password-mutation.ts +16 -0
  240. package/src/mutations/settings/delete-user-mutation.ts +16 -0
  241. package/src/mutations/settings/link-social-mutation.ts +16 -0
  242. package/src/mutations/settings/revoke-session-mutation.ts +38 -0
  243. package/src/mutations/settings/unlink-account-mutation.ts +38 -0
  244. package/src/mutations/settings/update-user-mutation.ts +17 -0
  245. package/src/mutations/use-session-scoped-mutation.ts +64 -0
  246. package/src/mutations/username/is-username-available-mutation.ts +15 -0
  247. package/src/mutations/username/sign-in-username-mutation.ts +17 -0
  248. package/src/plugins/captcha-plugin.tsx +64 -0
  249. package/src/plugins.ts +2 -0
  250. package/src/queries/api-key/list-api-keys-query.ts +93 -0
  251. package/src/queries/auth/session-query.ts +81 -0
  252. package/src/queries/auth-query-options.ts +57 -0
  253. package/src/queries/create-user-scoped-query.ts +107 -0
  254. package/src/queries/multi-session/list-device-sessions-query.ts +107 -0
  255. package/src/queries/organization/active-organization-query.ts +127 -0
  256. package/src/queries/organization/full-organization-query.ts +111 -0
  257. package/src/queries/organization/has-permission-query.ts +121 -0
  258. package/src/queries/organization/index.ts +7 -0
  259. package/src/queries/organization/list-invitations-query.ts +124 -0
  260. package/src/queries/organization/list-members-query.ts +124 -0
  261. package/src/queries/organization/list-organizations-query.ts +113 -0
  262. package/src/queries/organization/list-user-invitations-query.ts +114 -0
  263. package/src/queries/organization/plugin.ts +11 -0
  264. package/src/queries/organization/utils.ts +88 -0
  265. package/src/queries/passkey/list-passkeys-query.ts +93 -0
  266. package/src/queries/settings/account-info-query.ts +94 -0
  267. package/src/queries/settings/list-accounts-query.ts +94 -0
  268. package/src/queries/settings/list-sessions-query.ts +96 -0
  269. package/src/server/queries/auth/session-query.ts +56 -0
  270. package/src/server.ts +7 -0
@@ -0,0 +1,212 @@
1
+ import e from "./email-styles.js";
2
+ import { createComponent as t, ssr as n } from "solid-js/web";
3
+ import { Body as r, Button as i, Container as a, Head as o, Heading as s, Hr as c, Html as l, Img as u, Link as d, Preview as f, Section as p, Tailwind as m, Text as h } from "@solidjs-email/main";
4
+ import { Show as g } from "solid-js";
5
+ //#region src/components/auth/email/email-verification.tsx
6
+ var _ = "<meta content=\"light dark\" name=\"color-scheme\">", v = "<meta content=\"light dark\" name=\"supported-color-schemes\">";
7
+ function y(...e) {
8
+ return e.filter(Boolean).join(" ");
9
+ }
10
+ var b = {
11
+ VERIFY_YOUR_EMAIL_ADDRESS: "Verify your email address",
12
+ LOGO: "Logo",
13
+ CLICK_BUTTON_TO_VERIFY_EMAIL: "Click the button below to verify your email address {emailAddress} for your {appName} account.",
14
+ VERIFY_EMAIL_ADDRESS: "Verify email address",
15
+ OR_COPY_AND_PASTE_URL: "Or copy and paste this URL into your browser:",
16
+ THIS_LINK_EXPIRES_IN_MINUTES: "This link expires in {expirationMinutes} minutes.",
17
+ EMAIL_SENT_BY: "Email sent by {appName}.",
18
+ IF_YOU_DIDNT_REQUEST_THIS_EMAIL: "If you didn't request this email, you can safely ignore it. Someone else might have typed your email address by mistake.",
19
+ POWERED_BY_BETTER_AUTH: "Powered by {betterAuth}"
20
+ };
21
+ function x(e) {
22
+ return e.replace(/\s{2,}/g, " ").replace(" .", ".");
23
+ }
24
+ function S(b) {
25
+ let C = () => b.expirationMinutes ?? 60, w = () => b.darkMode ?? !0, T = () => ({
26
+ ...S.localization,
27
+ ...b.localization
28
+ }), E = () => x(T().CLICK_BUTTON_TO_VERIFY_EMAIL.replace("{appName}", b.appName || "").replace("{emailAddress}", b.email || ""));
29
+ return t(l, { get children() {
30
+ return [
31
+ t(o, { get children() {
32
+ return [
33
+ n(_),
34
+ n(v),
35
+ t(e, {
36
+ get colors() {
37
+ return b.colors;
38
+ },
39
+ get darkMode() {
40
+ return w();
41
+ }
42
+ }),
43
+ b.head
44
+ ];
45
+ } }),
46
+ t(f, { get children() {
47
+ return T().VERIFY_YOUR_EMAIL_ADDRESS;
48
+ } }),
49
+ t(m, { get children() {
50
+ return t(r, {
51
+ get class() {
52
+ return y("bg-background", b.classNames?.body);
53
+ },
54
+ style: { "font-family": "Arial, Helvetica, sans-serif" },
55
+ get children() {
56
+ return t(a, {
57
+ get class() {
58
+ return y("mx-auto my-auto max-w-xl px-2 py-10", b.classNames?.container);
59
+ },
60
+ get children() {
61
+ return t(p, {
62
+ get class() {
63
+ return y("rounded-none border border-border bg-card p-8 text-card-foreground", b.classNames?.card);
64
+ },
65
+ get children() {
66
+ return [
67
+ b.logoURL && (typeof b.logoURL == "string" ? t(u, {
68
+ get alt() {
69
+ return b.appName || T().LOGO;
70
+ },
71
+ get class() {
72
+ return y("mx-auto mb-8", b.classNames?.logo);
73
+ },
74
+ height: 48,
75
+ get src() {
76
+ return b.logoURL;
77
+ },
78
+ width: 48
79
+ }) : [t(u, {
80
+ get alt() {
81
+ return b.appName || T().LOGO;
82
+ },
83
+ get class() {
84
+ return y("logo-light mx-auto mb-8", b.classNames?.logo);
85
+ },
86
+ height: 48,
87
+ get src() {
88
+ return b.logoURL.light;
89
+ },
90
+ width: 48
91
+ }), t(u, {
92
+ get alt() {
93
+ return b.appName || T().LOGO;
94
+ },
95
+ get class() {
96
+ return y("logo-dark hidden mx-auto mb-8", b.classNames?.logo);
97
+ },
98
+ height: 48,
99
+ get src() {
100
+ return b.logoURL.dark;
101
+ },
102
+ width: 48
103
+ })]),
104
+ t(s, {
105
+ get class() {
106
+ return y("m-0 mb-5 font-semibold text-2xl", b.classNames?.title);
107
+ },
108
+ get children() {
109
+ return T().VERIFY_EMAIL_ADDRESS;
110
+ }
111
+ }),
112
+ t(h, {
113
+ get class() {
114
+ return y("font-normal text-sm", b.classNames?.content);
115
+ },
116
+ get children() {
117
+ return E();
118
+ }
119
+ }),
120
+ t(p, {
121
+ class: "my-6",
122
+ get children() {
123
+ return t(i, {
124
+ get class() {
125
+ return y("inline-block whitespace-nowrap rounded-none bg-primary px-6 py-2.5 font-medium text-primary-foreground text-sm no-underline", b.classNames?.button);
126
+ },
127
+ get href() {
128
+ return b.url;
129
+ },
130
+ get children() {
131
+ return T().VERIFY_EMAIL_ADDRESS;
132
+ }
133
+ });
134
+ }
135
+ }),
136
+ t(h, {
137
+ get class() {
138
+ return y("mb-3 text-muted-foreground text-xs", b.classNames?.description);
139
+ },
140
+ get children() {
141
+ return T().OR_COPY_AND_PASTE_URL;
142
+ }
143
+ }),
144
+ t(d, {
145
+ get class() {
146
+ return y("break-all text-primary text-xs", b.classNames?.link);
147
+ },
148
+ get href() {
149
+ return b.url;
150
+ },
151
+ get children() {
152
+ return b.url;
153
+ }
154
+ }),
155
+ t(c, { get class() {
156
+ return y("my-6 w-full border border-border border-solid", b.classNames?.separator);
157
+ } }),
158
+ t(h, {
159
+ get class() {
160
+ return y("mb-3 text-muted-foreground text-xs", b.classNames?.description);
161
+ },
162
+ get children() {
163
+ return [T().THIS_LINK_EXPIRES_IN_MINUTES.replace("{expirationMinutes}", C().toString()), t(g, {
164
+ get when() {
165
+ return b.appName;
166
+ },
167
+ children: (e) => ` ${T().EMAIL_SENT_BY.replace("{appName}", e())}`
168
+ })];
169
+ }
170
+ }),
171
+ t(h, {
172
+ get class() {
173
+ return y("mt-3 text-muted-foreground text-xs", b.classNames?.description);
174
+ },
175
+ get children() {
176
+ return T().IF_YOU_DIDNT_REQUEST_THIS_EMAIL;
177
+ }
178
+ }),
179
+ t(g, {
180
+ get when() {
181
+ return b.poweredBy;
182
+ },
183
+ get children() {
184
+ return t(h, {
185
+ get class() {
186
+ return y("mt-4 mb-0 text-center text-[11px] text-muted-foreground", b.classNames?.poweredBy);
187
+ },
188
+ get children() {
189
+ return T().POWERED_BY_BETTER_AUTH.replace("{betterAuth}", "better-auth");
190
+ }
191
+ });
192
+ }
193
+ })
194
+ ];
195
+ }
196
+ });
197
+ }
198
+ });
199
+ }
200
+ });
201
+ } })
202
+ ];
203
+ } });
204
+ }
205
+ S.localization = b, S.PreviewProps = {
206
+ url: "https://better-auth-ui.com/auth/verify-email",
207
+ appName: "Better Auth",
208
+ email: "m@example.com",
209
+ darkMode: !0
210
+ };
211
+ //#endregion
212
+ export { S as default };
@@ -0,0 +1,9 @@
1
+ export * from './email-changed';
2
+ export * from './email-styles';
3
+ export * from './email-verification';
4
+ export * from './magic-link';
5
+ export * from './new-device';
6
+ export * from './organization-invitation';
7
+ export * from './otp-email';
8
+ export * from './password-changed';
9
+ export * from './reset-password';
@@ -0,0 +1,53 @@
1
+ import { JSX } from 'solid-js';
2
+ import { EmailClassNames, EmailColors } from './email-styles';
3
+ declare const magicLinkEmailLocalization: {
4
+ SIGN_IN_TO_APP_NAME: string;
5
+ SIGN_IN_TO_YOUR_ACCOUNT: string;
6
+ YOUR_ACCOUNT: string;
7
+ LOGO: string;
8
+ CLICK_BUTTON_TO_SIGN_IN: string;
9
+ OR_COPY_AND_PASTE_URL: string;
10
+ THIS_LINK_EXPIRES_IN_MINUTES: string;
11
+ EMAIL_SENT_BY: string;
12
+ IF_YOU_DIDNT_REQUEST_THIS_EMAIL: string;
13
+ POWERED_BY_BETTER_AUTH: string;
14
+ };
15
+ export type MagicLinkEmailLocalization = typeof magicLinkEmailLocalization;
16
+ export interface MagicLinkEmailProps {
17
+ url: string;
18
+ email?: string;
19
+ appName?: string;
20
+ expirationMinutes?: number;
21
+ logoURL?: string | {
22
+ light: string;
23
+ dark: string;
24
+ };
25
+ classNames?: EmailClassNames;
26
+ colors?: EmailColors;
27
+ poweredBy?: boolean;
28
+ darkMode?: boolean;
29
+ head?: JSX.Element;
30
+ localization?: Partial<MagicLinkEmailLocalization>;
31
+ }
32
+ export declare function MagicLinkEmail(props: MagicLinkEmailProps): JSX.Element;
33
+ export declare namespace MagicLinkEmail {
34
+ var localization: {
35
+ SIGN_IN_TO_APP_NAME: string;
36
+ SIGN_IN_TO_YOUR_ACCOUNT: string;
37
+ YOUR_ACCOUNT: string;
38
+ LOGO: string;
39
+ CLICK_BUTTON_TO_SIGN_IN: string;
40
+ OR_COPY_AND_PASTE_URL: string;
41
+ THIS_LINK_EXPIRES_IN_MINUTES: string;
42
+ EMAIL_SENT_BY: string;
43
+ IF_YOU_DIDNT_REQUEST_THIS_EMAIL: string;
44
+ POWERED_BY_BETTER_AUTH: string;
45
+ };
46
+ var PreviewProps: {
47
+ url: string;
48
+ email: string;
49
+ appName: string;
50
+ darkMode: true;
51
+ };
52
+ }
53
+ export default MagicLinkEmail;
@@ -0,0 +1,213 @@
1
+ import e from "./email-styles.js";
2
+ import { createComponent as t, ssr as n } from "solid-js/web";
3
+ import { Body as r, Button as i, Container as a, Head as o, Heading as s, Hr as c, Html as l, Img as u, Link as d, Preview as f, Section as p, Tailwind as m, Text as h } from "@solidjs-email/main";
4
+ import { Show as g } from "solid-js";
5
+ //#region src/components/auth/email/magic-link.tsx
6
+ var _ = "<meta content=\"light dark\" name=\"color-scheme\">", v = "<meta content=\"light dark\" name=\"supported-color-schemes\">";
7
+ function y(...e) {
8
+ return e.filter(Boolean).join(" ");
9
+ }
10
+ var b = {
11
+ SIGN_IN_TO_APP_NAME: "Sign in to {appName}",
12
+ SIGN_IN_TO_YOUR_ACCOUNT: "Sign in to your account",
13
+ YOUR_ACCOUNT: "your account",
14
+ LOGO: "Logo",
15
+ CLICK_BUTTON_TO_SIGN_IN: "Click the button below to sign in to your account {emailAddress}.",
16
+ OR_COPY_AND_PASTE_URL: "Or copy and paste this URL into your browser:",
17
+ THIS_LINK_EXPIRES_IN_MINUTES: "This link expires in {expirationMinutes} minutes.",
18
+ EMAIL_SENT_BY: "Email sent by {appName}.",
19
+ IF_YOU_DIDNT_REQUEST_THIS_EMAIL: "If you didn't request this email, you can safely ignore it. Someone else might have typed your email address by mistake.",
20
+ POWERED_BY_BETTER_AUTH: "Powered by {betterAuth}"
21
+ };
22
+ function x(e) {
23
+ return e.replace(/\s{2,}/g, " ").replace(" .", ".");
24
+ }
25
+ function S(b) {
26
+ let C = () => b.expirationMinutes ?? 5, w = () => b.darkMode ?? !0, T = () => ({
27
+ ...S.localization,
28
+ ...b.localization
29
+ }), E = () => b.appName ? T().SIGN_IN_TO_APP_NAME.replace("{appName}", b.appName) : T().SIGN_IN_TO_YOUR_ACCOUNT, D = () => x(T().CLICK_BUTTON_TO_SIGN_IN.replace("{emailAddress}", b.email || ""));
30
+ return t(l, { get children() {
31
+ return [
32
+ t(o, { get children() {
33
+ return [
34
+ n(_),
35
+ n(v),
36
+ t(e, {
37
+ get colors() {
38
+ return b.colors;
39
+ },
40
+ get darkMode() {
41
+ return w();
42
+ }
43
+ }),
44
+ b.head
45
+ ];
46
+ } }),
47
+ t(f, { get children() {
48
+ return E();
49
+ } }),
50
+ t(m, { get children() {
51
+ return t(r, {
52
+ get class() {
53
+ return y("bg-background", b.classNames?.body);
54
+ },
55
+ style: { "font-family": "Arial, Helvetica, sans-serif" },
56
+ get children() {
57
+ return t(a, {
58
+ get class() {
59
+ return y("mx-auto my-auto max-w-xl px-2 py-10", b.classNames?.container);
60
+ },
61
+ get children() {
62
+ return t(p, {
63
+ get class() {
64
+ return y("rounded-none border border-border bg-card p-8 text-card-foreground", b.classNames?.card);
65
+ },
66
+ get children() {
67
+ return [
68
+ b.logoURL && (typeof b.logoURL == "string" ? t(u, {
69
+ get alt() {
70
+ return b.appName || T().LOGO;
71
+ },
72
+ get class() {
73
+ return y("mx-auto mb-8", b.classNames?.logo);
74
+ },
75
+ height: 48,
76
+ get src() {
77
+ return b.logoURL;
78
+ },
79
+ width: 48
80
+ }) : [t(u, {
81
+ get alt() {
82
+ return b.appName || T().LOGO;
83
+ },
84
+ get class() {
85
+ return y("logo-light mx-auto mb-8", b.classNames?.logo);
86
+ },
87
+ height: 48,
88
+ get src() {
89
+ return b.logoURL.light;
90
+ },
91
+ width: 48
92
+ }), t(u, {
93
+ get alt() {
94
+ return b.appName || T().LOGO;
95
+ },
96
+ get class() {
97
+ return y("logo-dark hidden mx-auto mb-8", b.classNames?.logo);
98
+ },
99
+ height: 48,
100
+ get src() {
101
+ return b.logoURL.dark;
102
+ },
103
+ width: 48
104
+ })]),
105
+ t(s, {
106
+ get class() {
107
+ return y("m-0 mb-5 font-semibold text-2xl", b.classNames?.title);
108
+ },
109
+ get children() {
110
+ return E();
111
+ }
112
+ }),
113
+ t(h, {
114
+ get class() {
115
+ return y("m-0 font-normal text-sm", b.classNames?.content);
116
+ },
117
+ get children() {
118
+ return D();
119
+ }
120
+ }),
121
+ t(p, {
122
+ class: "my-6",
123
+ get children() {
124
+ return t(i, {
125
+ get class() {
126
+ return y("inline-block whitespace-nowrap rounded-none bg-primary px-6 py-2.5 font-medium text-primary-foreground text-sm no-underline", b.classNames?.button);
127
+ },
128
+ get href() {
129
+ return b.url;
130
+ },
131
+ get children() {
132
+ return E();
133
+ }
134
+ });
135
+ }
136
+ }),
137
+ t(h, {
138
+ get class() {
139
+ return y("m-0 mb-3 text-muted-foreground text-xs", b.classNames?.description);
140
+ },
141
+ get children() {
142
+ return T().OR_COPY_AND_PASTE_URL;
143
+ }
144
+ }),
145
+ t(d, {
146
+ get class() {
147
+ return y("break-all text-primary text-xs", b.classNames?.link);
148
+ },
149
+ get href() {
150
+ return b.url;
151
+ },
152
+ get children() {
153
+ return b.url;
154
+ }
155
+ }),
156
+ t(c, { get class() {
157
+ return y("my-6 w-full border border-border border-solid", b.classNames?.separator);
158
+ } }),
159
+ t(h, {
160
+ get class() {
161
+ return y("m-0 mb-3 text-muted-foreground text-xs", b.classNames?.description);
162
+ },
163
+ get children() {
164
+ return [T().THIS_LINK_EXPIRES_IN_MINUTES.replace("{expirationMinutes}", C().toString()), t(g, {
165
+ get when() {
166
+ return b.appName;
167
+ },
168
+ children: (e) => ` ${T().EMAIL_SENT_BY.replace("{appName}", e())}`
169
+ })];
170
+ }
171
+ }),
172
+ t(h, {
173
+ get class() {
174
+ return y("m-0 text-muted-foreground text-xs", b.classNames?.description);
175
+ },
176
+ get children() {
177
+ return T().IF_YOU_DIDNT_REQUEST_THIS_EMAIL;
178
+ }
179
+ }),
180
+ t(g, {
181
+ get when() {
182
+ return b.poweredBy;
183
+ },
184
+ get children() {
185
+ return t(h, {
186
+ get class() {
187
+ return y("m-0 mt-4 text-center text-[11px] text-muted-foreground", b.classNames?.poweredBy);
188
+ },
189
+ get children() {
190
+ return T().POWERED_BY_BETTER_AUTH.replace("{betterAuth}", "better-auth");
191
+ }
192
+ });
193
+ }
194
+ })
195
+ ];
196
+ }
197
+ });
198
+ }
199
+ });
200
+ }
201
+ });
202
+ } })
203
+ ];
204
+ } });
205
+ }
206
+ S.localization = b, S.PreviewProps = {
207
+ url: "https://better-auth-ui.com/auth/verify",
208
+ email: "m@example.com",
209
+ appName: "Better Auth",
210
+ darkMode: !0
211
+ };
212
+ //#endregion
213
+ export { S as default };
@@ -0,0 +1,77 @@
1
+ import { JSX } from 'solid-js';
2
+ import { EmailClassNames, EmailColors } from './email-styles';
3
+ export interface DeviceInfo {
4
+ browser?: string;
5
+ os?: string;
6
+ location?: string;
7
+ ipAddress?: string;
8
+ timestamp?: string;
9
+ }
10
+ declare const newDeviceEmailLocalization: {
11
+ NEW_SIGN_IN_DETECTED: string;
12
+ LOGO: string;
13
+ NEW_SIGN_IN_TO_YOUR_ACCOUNT: string;
14
+ DEVICE_DETAILS: string;
15
+ BROWSER: string;
16
+ OPERATING_SYSTEM: string;
17
+ LOCATION: string;
18
+ IP_ADDRESS: string;
19
+ TIME: string;
20
+ IF_THIS_WAS_YOU: string;
21
+ SECURE_MY_ACCOUNT: string;
22
+ EMAIL_SENT_BY: string;
23
+ IF_YOU_DIDNT_SIGN_IN: string;
24
+ POWERED_BY_BETTER_AUTH: string;
25
+ };
26
+ export type NewDeviceEmailLocalization = typeof newDeviceEmailLocalization;
27
+ export interface NewDeviceEmailProps {
28
+ userEmail?: string;
29
+ deviceInfo?: DeviceInfo;
30
+ secureAccountLink?: string;
31
+ appName?: string;
32
+ supportEmail?: string;
33
+ logoURL?: string | {
34
+ light: string;
35
+ dark: string;
36
+ };
37
+ classNames?: EmailClassNames;
38
+ colors?: EmailColors;
39
+ poweredBy?: boolean;
40
+ darkMode?: boolean;
41
+ head?: JSX.Element;
42
+ localization?: Partial<NewDeviceEmailLocalization>;
43
+ }
44
+ export declare function NewDeviceEmail(props: NewDeviceEmailProps): JSX.Element;
45
+ export declare namespace NewDeviceEmail {
46
+ var localization: {
47
+ NEW_SIGN_IN_DETECTED: string;
48
+ LOGO: string;
49
+ NEW_SIGN_IN_TO_YOUR_ACCOUNT: string;
50
+ DEVICE_DETAILS: string;
51
+ BROWSER: string;
52
+ OPERATING_SYSTEM: string;
53
+ LOCATION: string;
54
+ IP_ADDRESS: string;
55
+ TIME: string;
56
+ IF_THIS_WAS_YOU: string;
57
+ SECURE_MY_ACCOUNT: string;
58
+ EMAIL_SENT_BY: string;
59
+ IF_YOU_DIDNT_SIGN_IN: string;
60
+ POWERED_BY_BETTER_AUTH: string;
61
+ };
62
+ var PreviewProps: {
63
+ userEmail: string;
64
+ deviceInfo: {
65
+ browser: string;
66
+ os: string;
67
+ location: string;
68
+ ipAddress: string;
69
+ timestamp: string;
70
+ };
71
+ secureAccountLink: string;
72
+ appName: string;
73
+ supportEmail: string;
74
+ darkMode: true;
75
+ };
76
+ }
77
+ export default NewDeviceEmail;