@better-auth-ui/react 1.6.8 → 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 (334) hide show
  1. package/dist/components/auth/auth-context.d.ts +3 -0
  2. package/dist/components/auth/auth-context.js +4 -0
  3. package/dist/components/auth/auth-provider.d.ts +4 -4
  4. package/dist/components/auth/auth-provider.js +65 -41
  5. package/dist/components/auth/email/email-changed.d.ts +2 -2
  6. package/dist/components/auth/email/email-changed.js +68 -154
  7. package/dist/components/auth/email/email-localization.d.ts +11 -3
  8. package/dist/components/auth/email/email-localization.js +25 -18
  9. package/dist/components/auth/email/email-styles.js +77 -52
  10. package/dist/components/auth/email/email-verification.d.ts +2 -2
  11. package/dist/components/auth/email/email-verification.js +73 -138
  12. package/dist/components/auth/email/index.d.ts +10 -9
  13. package/dist/components/auth/email/index.js +10 -9
  14. package/dist/components/auth/email/magic-link.d.ts +2 -2
  15. package/dist/components/auth/email/magic-link.js +70 -139
  16. package/dist/components/auth/email/new-device.d.ts +2 -2
  17. package/dist/components/auth/email/new-device.js +88 -221
  18. package/dist/components/auth/email/organization-invitation.d.ts +121 -0
  19. package/dist/components/auth/email/organization-invitation.js +110 -0
  20. package/dist/components/auth/email/otp-email.d.ts +2 -2
  21. package/dist/components/auth/email/otp-email.js +63 -127
  22. package/dist/components/auth/email/password-changed.d.ts +2 -2
  23. package/dist/components/auth/email/password-changed.js +74 -157
  24. package/dist/components/auth/email/reset-password.d.ts +2 -2
  25. package/dist/components/auth/email/reset-password.js +66 -138
  26. package/dist/components/auth/fetch-options-provider.d.ts +1 -1
  27. package/dist/components/auth/fetch-options-provider.js +28 -27
  28. package/dist/components/icons/apple.d.ts +1 -1
  29. package/dist/components/icons/apple.js +9 -16
  30. package/dist/components/icons/atlassian.d.ts +1 -1
  31. package/dist/components/icons/atlassian.js +13 -38
  32. package/dist/components/icons/cognito.d.ts +1 -1
  33. package/dist/components/icons/cognito.js +9 -19
  34. package/dist/components/icons/discord.d.ts +1 -1
  35. package/dist/components/icons/discord.js +9 -16
  36. package/dist/components/icons/dropbox.d.ts +1 -1
  37. package/dist/components/icons/dropbox.js +9 -16
  38. package/dist/components/icons/facebook.d.ts +1 -1
  39. package/dist/components/icons/facebook.js +11 -19
  40. package/dist/components/icons/figma.d.ts +1 -1
  41. package/dist/components/icons/figma.js +12 -34
  42. package/dist/components/icons/github.d.ts +1 -1
  43. package/dist/components/icons/github.js +11 -16
  44. package/dist/components/icons/gitlab.d.ts +1 -1
  45. package/dist/components/icons/gitlab.js +9 -30
  46. package/dist/components/icons/google.d.ts +1 -1
  47. package/dist/components/icons/google.js +9 -39
  48. package/dist/components/icons/huggingface.d.ts +1 -1
  49. package/dist/components/icons/huggingface.js +9 -38
  50. package/dist/components/icons/index.d.ts +35 -35
  51. package/dist/components/icons/index.js +35 -35
  52. package/dist/components/icons/kakao.d.ts +1 -1
  53. package/dist/components/icons/kakao.js +11 -16
  54. package/dist/components/icons/kick.d.ts +1 -1
  55. package/dist/components/icons/kick.js +11 -20
  56. package/dist/components/icons/line.d.ts +1 -1
  57. package/dist/components/icons/line.js +9 -16
  58. package/dist/components/icons/linear.d.ts +1 -1
  59. package/dist/components/icons/linear.js +9 -16
  60. package/dist/components/icons/linkedin.d.ts +1 -1
  61. package/dist/components/icons/linkedin.js +9 -33
  62. package/dist/components/icons/microsoft.d.ts +1 -1
  63. package/dist/components/icons/microsoft.js +9 -30
  64. package/dist/components/icons/naver.d.ts +1 -1
  65. package/dist/components/icons/naver.js +9 -16
  66. package/dist/components/icons/notion.d.ts +1 -1
  67. package/dist/components/icons/notion.js +9 -16
  68. package/dist/components/icons/paybin.d.ts +1 -1
  69. package/dist/components/icons/paybin.js +8 -32
  70. package/dist/components/icons/paypal.d.ts +1 -1
  71. package/dist/components/icons/paypal.js +9 -30
  72. package/dist/components/icons/polar.d.ts +1 -1
  73. package/dist/components/icons/polar.js +9 -24
  74. package/dist/components/icons/railway.d.ts +1 -1
  75. package/dist/components/icons/railway.js +9 -16
  76. package/dist/components/icons/reddit.d.ts +1 -1
  77. package/dist/components/icons/reddit.js +9 -21
  78. package/dist/components/icons/roblox.d.ts +1 -1
  79. package/dist/components/icons/roblox.js +12 -17
  80. package/dist/components/icons/salesforce.d.ts +1 -1
  81. package/dist/components/icons/salesforce.js +9 -16
  82. package/dist/components/icons/slack.d.ts +1 -1
  83. package/dist/components/icons/slack.js +9 -30
  84. package/dist/components/icons/spotify.d.ts +1 -1
  85. package/dist/components/icons/spotify.js +9 -16
  86. package/dist/components/icons/tiktok.d.ts +1 -1
  87. package/dist/components/icons/tiktok.js +10 -23
  88. package/dist/components/icons/twitch.d.ts +1 -1
  89. package/dist/components/icons/twitch.js +12 -43
  90. package/dist/components/icons/vercel.d.ts +1 -1
  91. package/dist/components/icons/vercel.js +9 -16
  92. package/dist/components/icons/vk.d.ts +1 -1
  93. package/dist/components/icons/vk.js +9 -16
  94. package/dist/components/icons/wechat.d.ts +1 -1
  95. package/dist/components/icons/wechat.js +9 -16
  96. package/dist/components/icons/x.d.ts +1 -1
  97. package/dist/components/icons/x.js +9 -16
  98. package/dist/components/icons/zoom.d.ts +1 -1
  99. package/dist/components/icons/zoom.js +11 -69
  100. package/dist/components/mutation-invalidator.d.ts +1 -0
  101. package/dist/components/mutation-invalidator.js +31 -0
  102. package/dist/components/settings/account/theme-preview.js +7 -286
  103. package/dist/email.d.ts +1 -1
  104. package/dist/email.js +1 -11
  105. package/dist/hooks/auth/use-authenticate.d.ts +3 -3
  106. package/dist/hooks/auth/use-authenticate.js +28 -22
  107. package/dist/hooks/auth/use-user.d.ts +34 -34
  108. package/dist/hooks/auth/use-user.js +14 -10
  109. package/dist/hooks/use-auth-mutation.d.ts +4 -4
  110. package/dist/hooks/use-auth-mutation.js +18 -10
  111. package/dist/hooks/use-auth-plugin.d.ts +1 -1
  112. package/dist/hooks/use-auth-plugin.js +26 -8
  113. package/dist/hooks/use-auth-query.d.ts +3 -3
  114. package/dist/hooks/use-auth-query.js +20 -14
  115. package/dist/index.d.ts +48 -45
  116. package/dist/index.js +47 -79
  117. package/dist/lib/auth-client.d.ts +7 -4
  118. package/dist/lib/auth-client.js +1 -0
  119. package/dist/lib/auth-plugin.d.ts +19 -3
  120. package/dist/lib/auth-plugin.js +1 -0
  121. package/dist/lib/auth-server.d.ts +10 -3
  122. package/dist/lib/auth-server.js +1 -0
  123. package/dist/lib/provider-icons.d.ts +2 -2
  124. package/dist/lib/provider-icons.js +47 -75
  125. package/dist/lib/settings-tab.d.ts +19 -0
  126. package/dist/lib/settings-tab.js +1 -0
  127. package/dist/lib/utils.d.ts +1 -1
  128. package/dist/lib/utils.js +4 -7
  129. package/dist/mutations/api-key/create-api-key-mutation.d.ts +9 -7
  130. package/dist/mutations/api-key/create-api-key-mutation.js +37 -27
  131. package/dist/mutations/api-key/delete-api-key-mutation.d.ts +10 -6
  132. package/dist/mutations/api-key/delete-api-key-mutation.js +37 -27
  133. package/dist/mutations/auth/request-password-reset-mutation.d.ts +4 -4
  134. package/dist/mutations/auth/request-password-reset-mutation.js +31 -22
  135. package/dist/mutations/auth/reset-password-mutation.d.ts +4 -4
  136. package/dist/mutations/auth/reset-password-mutation.js +32 -22
  137. package/dist/mutations/auth/send-verification-email-mutation.d.ts +4 -4
  138. package/dist/mutations/auth/send-verification-email-mutation.js +31 -22
  139. package/dist/mutations/auth/sign-in-email-mutation.d.ts +10 -10
  140. package/dist/mutations/auth/sign-in-email-mutation.js +38 -27
  141. package/dist/mutations/auth/sign-in-social-mutation.d.ts +6 -6
  142. package/dist/mutations/auth/sign-in-social-mutation.js +36 -22
  143. package/dist/mutations/auth/sign-out-mutation.d.ts +9 -7
  144. package/dist/mutations/auth/sign-out-mutation.js +39 -26
  145. package/dist/mutations/auth/sign-up-email-mutation.d.ts +12 -12
  146. package/dist/mutations/auth/sign-up-email-mutation.js +34 -27
  147. package/dist/mutations/auth-mutation-options.d.ts +2 -2
  148. package/dist/mutations/auth-mutation-options.js +22 -18
  149. package/dist/mutations/magic-link/sign-in-magic-link-mutation.d.ts +4 -4
  150. package/dist/mutations/magic-link/sign-in-magic-link-mutation.js +31 -22
  151. package/dist/mutations/multi-session/revoke-multi-session-mutation.d.ts +8 -8
  152. package/dist/mutations/multi-session/revoke-multi-session-mutation.js +37 -27
  153. package/dist/mutations/multi-session/set-active-session-mutation.d.ts +8 -9
  154. package/dist/mutations/multi-session/set-active-session-mutation.js +38 -29
  155. package/dist/mutations/organization/accept-invitation-mutation.d.ts +43 -0
  156. package/dist/mutations/organization/accept-invitation-mutation.js +32 -0
  157. package/dist/mutations/organization/cancel-invitation-mutation.d.ts +25 -0
  158. package/dist/mutations/organization/cancel-invitation-mutation.js +28 -0
  159. package/dist/mutations/organization/check-slug-mutation.d.ts +21 -0
  160. package/dist/mutations/organization/check-slug-mutation.js +30 -0
  161. package/dist/mutations/organization/create-organization-mutation.d.ts +39 -0
  162. package/dist/mutations/organization/create-organization-mutation.js +29 -0
  163. package/dist/mutations/organization/delete-organization-mutation.d.ts +21 -0
  164. package/dist/mutations/organization/delete-organization-mutation.js +29 -0
  165. package/dist/mutations/organization/index.d.ts +12 -0
  166. package/dist/mutations/organization/index.js +12 -0
  167. package/dist/mutations/organization/invite-member-mutation.d.ts +43 -0
  168. package/dist/mutations/organization/invite-member-mutation.js +35 -0
  169. package/dist/mutations/organization/leave-organization-mutation.d.ts +65 -0
  170. package/dist/mutations/organization/leave-organization-mutation.js +32 -0
  171. package/dist/mutations/organization/reject-invitation-mutation.d.ts +31 -0
  172. package/dist/mutations/organization/reject-invitation-mutation.js +25 -0
  173. package/dist/mutations/organization/remove-member-mutation.d.ts +35 -0
  174. package/dist/mutations/organization/remove-member-mutation.js +29 -0
  175. package/dist/mutations/organization/set-active-organization-mutation.d.ts +71 -0
  176. package/dist/mutations/organization/set-active-organization-mutation.js +72 -0
  177. package/dist/mutations/organization/update-member-role-mutation.d.ts +31 -0
  178. package/dist/mutations/organization/update-member-role-mutation.js +36 -0
  179. package/dist/mutations/organization/update-organization-mutation.d.ts +21 -0
  180. package/dist/mutations/organization/update-organization-mutation.js +36 -0
  181. package/dist/mutations/passkey/add-passkey-mutation.d.ts +16 -16
  182. package/dist/mutations/passkey/add-passkey-mutation.js +38 -27
  183. package/dist/mutations/passkey/delete-passkey-mutation.d.ts +8 -8
  184. package/dist/mutations/passkey/delete-passkey-mutation.js +37 -27
  185. package/dist/mutations/passkey/sign-in-passkey-mutation.d.ts +24 -24
  186. package/dist/mutations/passkey/sign-in-passkey-mutation.js +36 -27
  187. package/dist/mutations/settings/change-email-mutation.d.ts +9 -8
  188. package/dist/mutations/settings/change-email-mutation.js +35 -27
  189. package/dist/mutations/settings/change-password-mutation.d.ts +6 -6
  190. package/dist/mutations/settings/change-password-mutation.js +31 -22
  191. package/dist/mutations/settings/delete-user-mutation.d.ts +4 -4
  192. package/dist/mutations/settings/delete-user-mutation.js +31 -22
  193. package/dist/mutations/settings/link-social-mutation.d.ts +4 -4
  194. package/dist/mutations/settings/link-social-mutation.js +31 -22
  195. package/dist/mutations/settings/revoke-session-mutation.d.ts +8 -8
  196. package/dist/mutations/settings/revoke-session-mutation.js +37 -27
  197. package/dist/mutations/settings/unlink-account-mutation.d.ts +8 -8
  198. package/dist/mutations/settings/unlink-account-mutation.js +37 -27
  199. package/dist/mutations/settings/update-user-mutation.d.ts +8 -8
  200. package/dist/mutations/settings/update-user-mutation.js +34 -33
  201. package/dist/mutations/username/is-username-available-mutation.d.ts +4 -4
  202. package/dist/mutations/username/is-username-available-mutation.js +34 -22
  203. package/dist/mutations/username/sign-in-username-mutation.d.ts +10 -10
  204. package/dist/mutations/username/sign-in-username-mutation.js +35 -27
  205. package/dist/plugins/captcha-plugin.d.ts +3 -3
  206. package/dist/plugins/captcha-plugin.js +31 -26
  207. package/dist/plugins.d.ts +1 -1
  208. package/dist/plugins.js +1 -2
  209. package/dist/queries/api-key/list-api-keys-query.d.ts +20 -11
  210. package/dist/queries/api-key/list-api-keys-query.js +52 -29
  211. package/dist/queries/auth/session-query.d.ts +6 -6
  212. package/dist/queries/auth/session-query.js +70 -28
  213. package/dist/queries/auth-query-options.d.ts +2 -2
  214. package/dist/queries/auth-query-options.js +20 -16
  215. package/dist/queries/multi-session/list-device-sessions-query.d.ts +8 -8
  216. package/dist/queries/multi-session/list-device-sessions-query.js +83 -29
  217. package/dist/queries/organization/active-organization-query.d.ts +39 -0
  218. package/dist/queries/organization/active-organization-query.js +37 -0
  219. package/dist/queries/organization/full-organization-query.d.ts +37 -0
  220. package/dist/queries/organization/full-organization-query.js +31 -0
  221. package/dist/queries/organization/has-permission-query.d.ts +21 -0
  222. package/dist/queries/organization/has-permission-query.js +38 -0
  223. package/dist/queries/organization/index.d.ts +7 -0
  224. package/dist/queries/organization/index.js +7 -0
  225. package/dist/queries/organization/list-invitations-query.d.ts +29 -0
  226. package/dist/queries/organization/list-invitations-query.js +37 -0
  227. package/dist/queries/organization/list-members-query.d.ts +61 -0
  228. package/dist/queries/organization/list-members-query.js +37 -0
  229. package/dist/queries/organization/list-organizations-query.d.ts +22 -0
  230. package/dist/queries/organization/list-organizations-query.js +31 -0
  231. package/dist/queries/organization/list-user-invitations-query.d.ts +29 -0
  232. package/dist/queries/organization/list-user-invitations-query.js +31 -0
  233. package/dist/queries/passkey/list-passkeys-query.d.ts +8 -8
  234. package/dist/queries/passkey/list-passkeys-query.js +81 -29
  235. package/dist/queries/settings/account-info-query.d.ts +6 -6
  236. package/dist/queries/settings/account-info-query.js +85 -29
  237. package/dist/queries/settings/list-accounts-query.d.ts +6 -6
  238. package/dist/queries/settings/list-accounts-query.js +83 -29
  239. package/dist/queries/settings/list-sessions-query.d.ts +6 -6
  240. package/dist/queries/settings/list-sessions-query.js +81 -29
  241. package/dist/server/queries/api-key/list-api-keys-query.d.ts +83 -0
  242. package/dist/server/queries/api-key/list-api-keys-query.js +49 -0
  243. package/dist/server/queries/auth/session-query.d.ts +5 -5
  244. package/dist/server/queries/auth/session-query.js +50 -12
  245. package/dist/server/queries/multi-session/list-device-sessions-query.d.ts +7 -7
  246. package/dist/server/queries/multi-session/list-device-sessions-query.js +53 -11
  247. package/dist/server/queries/organization/active-organization-query.d.ts +61 -0
  248. package/dist/server/queries/organization/active-organization-query.js +25 -0
  249. package/dist/server/queries/organization/full-organization-query.d.ts +42 -0
  250. package/dist/server/queries/organization/full-organization-query.js +21 -0
  251. package/dist/server/queries/organization/has-permission-query.d.ts +66 -0
  252. package/dist/server/queries/organization/has-permission-query.js +23 -0
  253. package/dist/server/queries/organization/list-invitations-query.d.ts +34 -0
  254. package/dist/server/queries/organization/list-invitations-query.js +21 -0
  255. package/dist/server/queries/organization/list-members-query.d.ts +66 -0
  256. package/dist/server/queries/organization/list-members-query.js +21 -0
  257. package/dist/server/queries/organization/list-organizations-query.d.ts +27 -0
  258. package/dist/server/queries/organization/list-organizations-query.js +21 -0
  259. package/dist/server/queries/organization/list-user-invitations-query.d.ts +34 -0
  260. package/dist/server/queries/organization/list-user-invitations-query.js +21 -0
  261. package/dist/server/queries/passkey/list-passkeys-query.d.ts +7 -7
  262. package/dist/server/queries/passkey/list-passkeys-query.js +53 -11
  263. package/dist/server/queries/settings/account-info-query.d.ts +5 -5
  264. package/dist/server/queries/settings/account-info-query.js +53 -11
  265. package/dist/server/queries/settings/list-accounts-query.d.ts +5 -5
  266. package/dist/server/queries/settings/list-accounts-query.js +53 -11
  267. package/dist/server/queries/settings/list-sessions-query.d.ts +5 -5
  268. package/dist/server/queries/settings/list-sessions-query.js +53 -11
  269. package/dist/server.d.ts +15 -7
  270. package/dist/server.js +14 -7
  271. package/package.json +20 -17
  272. package/src/components/auth/auth-context.tsx +7 -0
  273. package/src/components/auth/auth-provider.tsx +19 -31
  274. package/src/components/auth/email/email-localization.tsx +5 -3
  275. package/src/components/auth/email/index.ts +1 -0
  276. package/src/components/auth/email/organization-invitation.tsx +454 -0
  277. package/src/components/mutation-invalidator.tsx +67 -0
  278. package/src/index.ts +3 -0
  279. package/src/lib/auth-client.ts +7 -0
  280. package/src/lib/auth-plugin.ts +17 -0
  281. package/src/lib/auth-server.ts +17 -1
  282. package/src/lib/settings-tab.ts +21 -0
  283. package/src/mutations/api-key/create-api-key-mutation.ts +34 -19
  284. package/src/mutations/api-key/delete-api-key-mutation.ts +36 -19
  285. package/src/mutations/auth/sign-in-email-mutation.ts +18 -22
  286. package/src/mutations/auth/sign-out-mutation.ts +19 -13
  287. package/src/mutations/auth/sign-up-email-mutation.ts +18 -22
  288. package/src/mutations/multi-session/revoke-multi-session-mutation.ts +31 -20
  289. package/src/mutations/multi-session/set-active-session-mutation.ts +25 -44
  290. package/src/mutations/organization/accept-invitation-mutation.ts +71 -0
  291. package/src/mutations/organization/cancel-invitation-mutation.ts +67 -0
  292. package/src/mutations/organization/check-slug-mutation.ts +55 -0
  293. package/src/mutations/organization/create-organization-mutation.ts +71 -0
  294. package/src/mutations/organization/delete-organization-mutation.ts +71 -0
  295. package/src/mutations/organization/index.ts +12 -0
  296. package/src/mutations/organization/invite-member-mutation.ts +81 -0
  297. package/src/mutations/organization/leave-organization-mutation.ts +74 -0
  298. package/src/mutations/organization/reject-invitation-mutation.ts +64 -0
  299. package/src/mutations/organization/remove-member-mutation.ts +67 -0
  300. package/src/mutations/organization/set-active-organization-mutation.ts +142 -0
  301. package/src/mutations/organization/update-member-role-mutation.ts +81 -0
  302. package/src/mutations/organization/update-organization-mutation.ts +84 -0
  303. package/src/mutations/passkey/add-passkey-mutation.ts +28 -17
  304. package/src/mutations/passkey/delete-passkey-mutation.ts +27 -17
  305. package/src/mutations/passkey/sign-in-passkey-mutation.ts +18 -21
  306. package/src/mutations/settings/change-email-mutation.ts +22 -18
  307. package/src/mutations/settings/delete-user-mutation.ts +2 -2
  308. package/src/mutations/settings/revoke-session-mutation.ts +24 -19
  309. package/src/mutations/settings/unlink-account-mutation.ts +24 -17
  310. package/src/mutations/settings/update-user-mutation.ts +18 -30
  311. package/src/mutations/username/is-username-available-mutation.ts +2 -2
  312. package/src/mutations/username/sign-in-username-mutation.ts +20 -23
  313. package/src/queries/api-key/list-api-keys-query.ts +20 -8
  314. package/src/queries/multi-session/list-device-sessions-query.ts +2 -2
  315. package/src/queries/organization/active-organization-query.ts +140 -0
  316. package/src/queries/organization/full-organization-query.ts +113 -0
  317. package/src/queries/organization/has-permission-query.ts +124 -0
  318. package/src/queries/organization/index.ts +7 -0
  319. package/src/queries/organization/list-invitations-query.ts +133 -0
  320. package/src/queries/organization/list-members-query.ts +133 -0
  321. package/src/queries/organization/list-organizations-query.ts +122 -0
  322. package/src/queries/organization/list-user-invitations-query.ts +122 -0
  323. package/src/queries/passkey/list-passkeys-query.ts +2 -2
  324. package/src/server/queries/api-key/list-api-keys-query.ts +94 -0
  325. package/src/server/queries/multi-session/list-device-sessions-query.ts +2 -2
  326. package/src/server/queries/organization/active-organization-query.ts +92 -0
  327. package/src/server/queries/organization/full-organization-query.ts +64 -0
  328. package/src/server/queries/organization/has-permission-query.ts +66 -0
  329. package/src/server/queries/organization/list-invitations-query.ts +81 -0
  330. package/src/server/queries/organization/list-members-query.ts +75 -0
  331. package/src/server/queries/organization/list-organizations-query.ts +67 -0
  332. package/src/server/queries/organization/list-user-invitations-query.ts +68 -0
  333. package/src/server/queries/passkey/list-passkeys-query.ts +2 -2
  334. package/src/server.ts +8 -0
@@ -1,11 +1,19 @@
1
- import { authMutationOptions as e } from "../mutations/auth-mutation-options.js";
2
- import { useMutation as t } from "@tanstack/react-query";
3
- //#region src/hooks/use-auth-mutation.ts
4
- function n(n, r, i) {
5
- return t({
6
- ...e(n, r),
7
- ...i
8
- });
1
+ import { useMutation } from "@tanstack/react-query";
2
+ import { authMutationOptions } from "../mutations/auth-mutation-options";
3
+ /**
4
+ * Escape-hatch hook for Better Auth write endpoints that don't have a
5
+ * purpose-built mutation hook in this library yet. Thin wrapper over
6
+ * `useMutation` and `authMutationOptions`.
7
+ *
8
+ * @param authFn - Better Auth client method (e.g. `authClient.emailOtp.sendVerificationOtp`).
9
+ * @param mutationKey - Stable key for the mutation. Prefer an entry from
10
+ * `authMutationKeys` over an inline tuple so `useIsMutating` and global
11
+ * `MutationCache` observers line up.
12
+ * @param options - React Query options forwarded to `useMutation`.
13
+ */
14
+ export function useAuthMutation(authFn, mutationKey, options) {
15
+ return useMutation({
16
+ ...authMutationOptions(authFn, mutationKey),
17
+ ...options
18
+ });
9
19
  }
10
- //#endregion
11
- export { n as useAuthMutation };
@@ -1,4 +1,4 @@
1
- import { AuthPlugin } from '../lib/auth-plugin';
1
+ import type { AuthPlugin } from "../lib/auth-plugin";
2
2
  /**
3
3
  * Plugin factory shape accepted by {@link useAuthPlugin}. The `id` is read as
4
4
  * a static property — the factory is never invoked — so plugins with required
@@ -1,10 +1,28 @@
1
1
  "use client";
2
- import { useAuth as e } from "../components/auth/auth-provider.js";
3
- //#region src/hooks/use-auth-plugin.ts
4
- function t(t) {
5
- let { plugins: n } = e(), r = n?.find((e) => e.id === t.id);
6
- if (!r) throw Error(`[Better Auth UI] useAuthPlugin: plugin "${t.id}" is not registered on AuthProvider.`);
7
- return r;
2
+ import { useAuth } from "../components/auth/auth-provider";
3
+ /**
4
+ * Access a registered plugin by passing its factory.
5
+ *
6
+ * Use inside plugin slot components to read plugin state (localization,
7
+ * config, etc.) without prop drilling.
8
+ *
9
+ * Throws if the plugin isn't registered on `AuthProvider` — this is an
10
+ * invariant: plugin slot components only render when their plugin is in
11
+ * `plugins`.
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * function PasskeyButton() {
16
+ * const { localization } = useAuthPlugin(passkeyPlugin)
17
+ * return <button>{localization.passkey}</button>
18
+ * }
19
+ * ```
20
+ */
21
+ export function useAuthPlugin(pluginFactory) {
22
+ const { plugins } = useAuth();
23
+ const plugin = plugins?.find((p) => p.id === pluginFactory.id);
24
+ if (!plugin) {
25
+ throw new Error(`[Better Auth UI] useAuthPlugin: plugin "${pluginFactory.id}" is not registered on AuthProvider.`);
26
+ }
27
+ return plugin;
8
28
  }
9
- //#endregion
10
- export { t as useAuthPlugin };
@@ -1,5 +1,5 @@
1
- import { QueryKey } from '@tanstack/react-query';
2
- import { AuthQueryFn, AuthQueryOptions } from '../queries/auth-query-options';
1
+ import { type QueryKey } from "@tanstack/react-query";
2
+ import { type AuthQueryFn, type AuthQueryOptions } from "../queries/auth-query-options";
3
3
  type UseAuthQueryOptions<TFn extends AuthQueryFn, TPrefix extends QueryKey> = Omit<AuthQueryOptions<TFn, TPrefix>, "queryKey" | "queryFn"> & Pick<NonNullable<Parameters<TFn>[0]>, "query" | "fetchOptions">;
4
4
  /**
5
5
  * Escape-hatch hook for Better Auth endpoints that don't have a purpose-built
@@ -10,5 +10,5 @@ type UseAuthQueryOptions<TFn extends AuthQueryFn, TPrefix extends QueryKey> = Om
10
10
  * @param options - Better Auth params (`query`, `fetchOptions`) and React
11
11
  * Query options forwarded to `useQuery`.
12
12
  */
13
- export declare function useAuthQuery<TFn extends AuthQueryFn, const TQueryKey extends QueryKey>(authFn: TFn, queryKey: TQueryKey, options?: UseAuthQueryOptions<TFn, TQueryKey>): import('@tanstack/react-query').UseQueryResult<import('@tanstack/react-query').NoInfer<import('..').AuthQueryFnData<TFn>>, import('better-auth/client').BetterFetchError>;
13
+ export declare function useAuthQuery<TFn extends AuthQueryFn, const TQueryKey extends QueryKey>(authFn: TFn, queryKey: TQueryKey, options?: UseAuthQueryOptions<TFn, TQueryKey>): import("@tanstack/react-query").UseQueryResult<NoInfer<import("..").AuthQueryFnData<TFn>>, import("better-auth/client").BetterFetchError>;
14
14
  export {};
@@ -1,15 +1,21 @@
1
- import { authQueryOptions as e } from "../queries/auth-query-options.js";
2
- import { useQuery as t } from "@tanstack/react-query";
3
- //#region src/hooks/use-auth-query.ts
4
- function n(n, r, i) {
5
- let { query: a, fetchOptions: o, ...s } = i ?? {};
6
- return t({
7
- ...e(n, r, {
8
- query: a,
9
- fetchOptions: o
10
- }),
11
- ...s
12
- });
1
+ import { useQuery } from "@tanstack/react-query";
2
+ import { authQueryOptions } from "../queries/auth-query-options";
3
+ /**
4
+ * Escape-hatch hook for Better Auth endpoints that don't have a purpose-built
5
+ * hook in this library yet. Thin wrapper over `useQuery` and `authQueryOptions`.
6
+ *
7
+ * @param authFn - Better Auth client method (e.g. `authClient.magicLink.list`).
8
+ * @param queryKey - Scope prefix for the key. `options.query` is appended automatically.
9
+ * @param options - Better Auth params (`query`, `fetchOptions`) and React
10
+ * Query options forwarded to `useQuery`.
11
+ */
12
+ export function useAuthQuery(authFn, queryKey, options) {
13
+ const { query, fetchOptions, ...queryOptions } = options ?? {};
14
+ return useQuery({
15
+ ...authQueryOptions(authFn, queryKey, {
16
+ query,
17
+ fetchOptions
18
+ }),
19
+ ...queryOptions
20
+ });
13
21
  }
14
- //#endregion
15
- export { n as useAuthQuery };
package/dist/index.d.ts CHANGED
@@ -1,45 +1,48 @@
1
- export * from './components/auth/auth-provider';
2
- export * from './components/auth/fetch-options-provider';
3
- export * from './components/icons';
4
- export * from './components/settings/account/theme-preview';
5
- export * from './hooks/auth/use-authenticate';
6
- export * from './hooks/auth/use-user';
7
- export * from './hooks/use-auth-mutation';
8
- export * from './hooks/use-auth-plugin';
9
- export * from './hooks/use-auth-query';
10
- export type * from './lib/auth-client';
11
- export * from './lib/auth-plugin';
12
- export * from './lib/provider-icons';
13
- export * from './mutations/api-key/create-api-key-mutation';
14
- export * from './mutations/api-key/delete-api-key-mutation';
15
- export * from './mutations/auth/request-password-reset-mutation';
16
- export * from './mutations/auth/reset-password-mutation';
17
- export * from './mutations/auth/send-verification-email-mutation';
18
- export * from './mutations/auth/sign-in-email-mutation';
19
- export * from './mutations/auth/sign-in-social-mutation';
20
- export * from './mutations/auth/sign-out-mutation';
21
- export * from './mutations/auth/sign-up-email-mutation';
22
- export * from './mutations/auth-mutation-options';
23
- export * from './mutations/magic-link/sign-in-magic-link-mutation';
24
- export * from './mutations/multi-session/revoke-multi-session-mutation';
25
- export * from './mutations/multi-session/set-active-session-mutation';
26
- export * from './mutations/passkey/add-passkey-mutation';
27
- export * from './mutations/passkey/delete-passkey-mutation';
28
- export * from './mutations/passkey/sign-in-passkey-mutation';
29
- export * from './mutations/settings/change-email-mutation';
30
- export * from './mutations/settings/change-password-mutation';
31
- export * from './mutations/settings/delete-user-mutation';
32
- export * from './mutations/settings/link-social-mutation';
33
- export * from './mutations/settings/revoke-session-mutation';
34
- export * from './mutations/settings/unlink-account-mutation';
35
- export * from './mutations/settings/update-user-mutation';
36
- export * from './mutations/username/is-username-available-mutation';
37
- export * from './mutations/username/sign-in-username-mutation';
38
- export * from './queries/api-key/list-api-keys-query';
39
- export * from './queries/auth/session-query';
40
- export * from './queries/auth-query-options';
41
- export * from './queries/multi-session/list-device-sessions-query';
42
- export * from './queries/passkey/list-passkeys-query';
43
- export * from './queries/settings/account-info-query';
44
- export * from './queries/settings/list-accounts-query';
45
- export * from './queries/settings/list-sessions-query';
1
+ export * from "./components/auth/auth-provider";
2
+ export * from "./components/auth/fetch-options-provider";
3
+ export * from "./components/icons";
4
+ export * from "./components/settings/account/theme-preview";
5
+ export * from "./hooks/auth/use-authenticate";
6
+ export * from "./hooks/auth/use-user";
7
+ export * from "./hooks/use-auth-mutation";
8
+ export * from "./hooks/use-auth-plugin";
9
+ export * from "./hooks/use-auth-query";
10
+ export type * from "./lib/auth-client";
11
+ export * from "./lib/auth-plugin";
12
+ export * from "./lib/provider-icons";
13
+ export * from "./lib/settings-tab";
14
+ export * from "./mutations/api-key/create-api-key-mutation";
15
+ export * from "./mutations/api-key/delete-api-key-mutation";
16
+ export * from "./mutations/auth/request-password-reset-mutation";
17
+ export * from "./mutations/auth/reset-password-mutation";
18
+ export * from "./mutations/auth/send-verification-email-mutation";
19
+ export * from "./mutations/auth/sign-in-email-mutation";
20
+ export * from "./mutations/auth/sign-in-social-mutation";
21
+ export * from "./mutations/auth/sign-out-mutation";
22
+ export * from "./mutations/auth/sign-up-email-mutation";
23
+ export * from "./mutations/auth-mutation-options";
24
+ export * from "./mutations/magic-link/sign-in-magic-link-mutation";
25
+ export * from "./mutations/multi-session/revoke-multi-session-mutation";
26
+ export * from "./mutations/multi-session/set-active-session-mutation";
27
+ export * from "./mutations/organization";
28
+ export * from "./mutations/passkey/add-passkey-mutation";
29
+ export * from "./mutations/passkey/delete-passkey-mutation";
30
+ export * from "./mutations/passkey/sign-in-passkey-mutation";
31
+ export * from "./mutations/settings/change-email-mutation";
32
+ export * from "./mutations/settings/change-password-mutation";
33
+ export * from "./mutations/settings/delete-user-mutation";
34
+ export * from "./mutations/settings/link-social-mutation";
35
+ export * from "./mutations/settings/revoke-session-mutation";
36
+ export * from "./mutations/settings/unlink-account-mutation";
37
+ export * from "./mutations/settings/update-user-mutation";
38
+ export * from "./mutations/username/is-username-available-mutation";
39
+ export * from "./mutations/username/sign-in-username-mutation";
40
+ export * from "./queries/api-key/list-api-keys-query";
41
+ export * from "./queries/auth/session-query";
42
+ export * from "./queries/auth-query-options";
43
+ export * from "./queries/multi-session/list-device-sessions-query";
44
+ export * from "./queries/organization";
45
+ export * from "./queries/passkey/list-passkeys-query";
46
+ export * from "./queries/settings/account-info-query";
47
+ export * from "./queries/settings/list-accounts-query";
48
+ export * from "./queries/settings/list-sessions-query";
package/dist/index.js CHANGED
@@ -1,80 +1,48 @@
1
1
  "use client";
2
- import { FetchOptionsProvider as e, useFetchOptions as t } from "./components/auth/fetch-options-provider.js";
3
- import { AuthProvider as n, useAuth as r } from "./components/auth/auth-provider.js";
4
- import { Apple as i } from "./components/icons/apple.js";
5
- import { Atlassian as a } from "./components/icons/atlassian.js";
6
- import { Cognito as o } from "./components/icons/cognito.js";
7
- import { Discord as s } from "./components/icons/discord.js";
8
- import { Dropbox as c } from "./components/icons/dropbox.js";
9
- import { Facebook as l } from "./components/icons/facebook.js";
10
- import { Figma as u } from "./components/icons/figma.js";
11
- import { GitHub as d } from "./components/icons/github.js";
12
- import { GitLab as f } from "./components/icons/gitlab.js";
13
- import { Google as p } from "./components/icons/google.js";
14
- import { HuggingFace as m } from "./components/icons/huggingface.js";
15
- import { Kakao as h } from "./components/icons/kakao.js";
16
- import { Kick as g } from "./components/icons/kick.js";
17
- import { Line as _ } from "./components/icons/line.js";
18
- import { Linear as v } from "./components/icons/linear.js";
19
- import { LinkedIn as y } from "./components/icons/linkedin.js";
20
- import { Microsoft as b } from "./components/icons/microsoft.js";
21
- import { Naver as x } from "./components/icons/naver.js";
22
- import { Notion as S } from "./components/icons/notion.js";
23
- import { Paybin as C } from "./components/icons/paybin.js";
24
- import { PayPal as w } from "./components/icons/paypal.js";
25
- import { Polar as T } from "./components/icons/polar.js";
26
- import { Railway as E } from "./components/icons/railway.js";
27
- import { Reddit as D } from "./components/icons/reddit.js";
28
- import { Roblox as O } from "./components/icons/roblox.js";
29
- import { Salesforce as k } from "./components/icons/salesforce.js";
30
- import { Slack as A } from "./components/icons/slack.js";
31
- import { Spotify as j } from "./components/icons/spotify.js";
32
- import { TikTok as M } from "./components/icons/tiktok.js";
33
- import { Twitch as N } from "./components/icons/twitch.js";
34
- import { Vercel as P } from "./components/icons/vercel.js";
35
- import { VK as F } from "./components/icons/vk.js";
36
- import { WeChat as I } from "./components/icons/wechat.js";
37
- import { X as L } from "./components/icons/x.js";
38
- import { Zoom as R } from "./components/icons/zoom.js";
39
- import "./components/icons/index.js";
40
- import { ThemePreviewDark as z, ThemePreviewLight as B, ThemePreviewSystem as V } from "./components/settings/account/theme-preview.js";
41
- import { ensureSession as H, fetchSession as U, prefetchSession as W, sessionOptions as G, useSession as K } from "./queries/auth/session-query.js";
42
- import { useAuthenticate as q } from "./hooks/auth/use-authenticate.js";
43
- import { useUser as J } from "./hooks/auth/use-user.js";
44
- import { authMutationOptions as Y } from "./mutations/auth-mutation-options.js";
45
- import { useAuthMutation as X } from "./hooks/use-auth-mutation.js";
46
- import { useAuthPlugin as Z } from "./hooks/use-auth-plugin.js";
47
- import { authQueryOptions as Q } from "./queries/auth-query-options.js";
48
- import { useAuthQuery as $ } from "./hooks/use-auth-query.js";
49
- import { providerIcons as ee } from "./lib/provider-icons.js";
50
- import { ensureListApiKeys as te, fetchListApiKeys as ne, listApiKeysOptions as re, prefetchListApiKeys as ie, useListApiKeys as ae } from "./queries/api-key/list-api-keys-query.js";
51
- import { createApiKeyOptions as oe, useCreateApiKey as se } from "./mutations/api-key/create-api-key-mutation.js";
52
- import { deleteApiKeyOptions as ce, useDeleteApiKey as le } from "./mutations/api-key/delete-api-key-mutation.js";
53
- import { requestPasswordResetOptions as ue, useRequestPasswordReset as de } from "./mutations/auth/request-password-reset-mutation.js";
54
- import { resetPasswordOptions as fe, useResetPassword as pe } from "./mutations/auth/reset-password-mutation.js";
55
- import { sendVerificationEmailOptions as me, useSendVerificationEmail as he } from "./mutations/auth/send-verification-email-mutation.js";
56
- import { signInEmailOptions as ge, useSignInEmail as _e } from "./mutations/auth/sign-in-email-mutation.js";
57
- import { signInSocialOptions as ve, useSignInSocial as ye } from "./mutations/auth/sign-in-social-mutation.js";
58
- import { signOutOptions as be, useSignOut as xe } from "./mutations/auth/sign-out-mutation.js";
59
- import { signUpEmailOptions as Se, useSignUpEmail as Ce } from "./mutations/auth/sign-up-email-mutation.js";
60
- import { signInMagicLinkOptions as we, useSignInMagicLink as Te } from "./mutations/magic-link/sign-in-magic-link-mutation.js";
61
- import { ensureListDeviceSessions as Ee, fetchListDeviceSessions as De, listDeviceSessionsOptions as Oe, prefetchListDeviceSessions as ke, useListDeviceSessions as Ae } from "./queries/multi-session/list-device-sessions-query.js";
62
- import { revokeMultiSessionOptions as je, useRevokeMultiSession as Me } from "./mutations/multi-session/revoke-multi-session-mutation.js";
63
- import { setActiveSessionOptions as Ne, useSetActiveSession as Pe } from "./mutations/multi-session/set-active-session-mutation.js";
64
- import { ensureListPasskeys as Fe, fetchListPasskeys as Ie, listPasskeysOptions as Le, prefetchListPasskeys as Re, useListPasskeys as ze } from "./queries/passkey/list-passkeys-query.js";
65
- import { addPasskeyOptions as Be, useAddPasskey as Ve } from "./mutations/passkey/add-passkey-mutation.js";
66
- import { deletePasskeyOptions as He, useDeletePasskey as Ue } from "./mutations/passkey/delete-passkey-mutation.js";
67
- import { signInPasskeyOptions as We, useSignInPasskey as Ge } from "./mutations/passkey/sign-in-passkey-mutation.js";
68
- import { changeEmailOptions as Ke, useChangeEmail as qe } from "./mutations/settings/change-email-mutation.js";
69
- import { changePasswordOptions as Je, useChangePassword as Ye } from "./mutations/settings/change-password-mutation.js";
70
- import { deleteUserOptions as Xe, useDeleteUser as Ze } from "./mutations/settings/delete-user-mutation.js";
71
- import { linkSocialOptions as Qe, useLinkSocial as $e } from "./mutations/settings/link-social-mutation.js";
72
- import { ensureListSessions as et, fetchListSessions as tt, listSessionsOptions as nt, prefetchListSessions as rt, useListSessions as it } from "./queries/settings/list-sessions-query.js";
73
- import { revokeSessionOptions as at, useRevokeSession as ot } from "./mutations/settings/revoke-session-mutation.js";
74
- import { ensureListAccounts as st, fetchListAccounts as ct, listAccountsOptions as lt, prefetchListAccounts as ut, useListAccounts as dt } from "./queries/settings/list-accounts-query.js";
75
- import { unlinkAccountOptions as ft, useUnlinkAccount as pt } from "./mutations/settings/unlink-account-mutation.js";
76
- import { updateUserOptions as mt, useUpdateUser as ht } from "./mutations/settings/update-user-mutation.js";
77
- import { isUsernameAvailableOptions as gt, useIsUsernameAvailable as _t } from "./mutations/username/is-username-available-mutation.js";
78
- import { signInUsernameOptions as vt, useSignInUsername as yt } from "./mutations/username/sign-in-username-mutation.js";
79
- import { accountInfoOptions as bt, ensureAccountInfo as xt, fetchAccountInfo as St, prefetchAccountInfo as Ct, useAccountInfo as wt } from "./queries/settings/account-info-query.js";
80
- export { i as Apple, a as Atlassian, n as AuthProvider, o as Cognito, s as Discord, c as Dropbox, l as Facebook, e as FetchOptionsProvider, u as Figma, d as GitHub, f as GitLab, p as Google, m as HuggingFace, h as Kakao, g as Kick, _ as Line, v as Linear, y as LinkedIn, b as Microsoft, x as Naver, S as Notion, w as PayPal, C as Paybin, T as Polar, E as Railway, D as Reddit, O as Roblox, k as Salesforce, A as Slack, j as Spotify, z as ThemePreviewDark, B as ThemePreviewLight, V as ThemePreviewSystem, M as TikTok, N as Twitch, F as VK, P as Vercel, I as WeChat, L as X, R as Zoom, bt as accountInfoOptions, Be as addPasskeyOptions, Y as authMutationOptions, Q as authQueryOptions, Ke as changeEmailOptions, Je as changePasswordOptions, oe as createApiKeyOptions, ce as deleteApiKeyOptions, He as deletePasskeyOptions, Xe as deleteUserOptions, xt as ensureAccountInfo, st as ensureListAccounts, te as ensureListApiKeys, Ee as ensureListDeviceSessions, Fe as ensureListPasskeys, et as ensureListSessions, H as ensureSession, St as fetchAccountInfo, ct as fetchListAccounts, ne as fetchListApiKeys, De as fetchListDeviceSessions, Ie as fetchListPasskeys, tt as fetchListSessions, U as fetchSession, gt as isUsernameAvailableOptions, Qe as linkSocialOptions, lt as listAccountsOptions, re as listApiKeysOptions, Oe as listDeviceSessionsOptions, Le as listPasskeysOptions, nt as listSessionsOptions, Ct as prefetchAccountInfo, ut as prefetchListAccounts, ie as prefetchListApiKeys, ke as prefetchListDeviceSessions, Re as prefetchListPasskeys, rt as prefetchListSessions, W as prefetchSession, ee as providerIcons, ue as requestPasswordResetOptions, fe as resetPasswordOptions, je as revokeMultiSessionOptions, at as revokeSessionOptions, me as sendVerificationEmailOptions, G as sessionOptions, Ne as setActiveSessionOptions, ge as signInEmailOptions, we as signInMagicLinkOptions, We as signInPasskeyOptions, ve as signInSocialOptions, vt as signInUsernameOptions, be as signOutOptions, Se as signUpEmailOptions, ft as unlinkAccountOptions, mt as updateUserOptions, wt as useAccountInfo, Ve as useAddPasskey, r as useAuth, X as useAuthMutation, Z as useAuthPlugin, $ as useAuthQuery, q as useAuthenticate, qe as useChangeEmail, Ye as useChangePassword, se as useCreateApiKey, le as useDeleteApiKey, Ue as useDeletePasskey, Ze as useDeleteUser, t as useFetchOptions, _t as useIsUsernameAvailable, $e as useLinkSocial, dt as useListAccounts, ae as useListApiKeys, Ae as useListDeviceSessions, ze as useListPasskeys, it as useListSessions, de as useRequestPasswordReset, pe as useResetPassword, Me as useRevokeMultiSession, ot as useRevokeSession, he as useSendVerificationEmail, K as useSession, Pe as useSetActiveSession, _e as useSignInEmail, Te as useSignInMagicLink, Ge as useSignInPasskey, ye as useSignInSocial, yt as useSignInUsername, xe as useSignOut, Ce as useSignUpEmail, pt as useUnlinkAccount, ht as useUpdateUser, J as useUser };
2
+ export * from "./components/auth/auth-provider";
3
+ export * from "./components/auth/fetch-options-provider";
4
+ export * from "./components/icons";
5
+ export * from "./components/settings/account/theme-preview";
6
+ export * from "./hooks/auth/use-authenticate";
7
+ export * from "./hooks/auth/use-user";
8
+ export * from "./hooks/use-auth-mutation";
9
+ export * from "./hooks/use-auth-plugin";
10
+ export * from "./hooks/use-auth-query";
11
+ export * from "./lib/auth-plugin";
12
+ export * from "./lib/provider-icons";
13
+ export * from "./lib/settings-tab";
14
+ export * from "./mutations/api-key/create-api-key-mutation";
15
+ export * from "./mutations/api-key/delete-api-key-mutation";
16
+ export * from "./mutations/auth/request-password-reset-mutation";
17
+ export * from "./mutations/auth/reset-password-mutation";
18
+ export * from "./mutations/auth/send-verification-email-mutation";
19
+ export * from "./mutations/auth/sign-in-email-mutation";
20
+ export * from "./mutations/auth/sign-in-social-mutation";
21
+ export * from "./mutations/auth/sign-out-mutation";
22
+ export * from "./mutations/auth/sign-up-email-mutation";
23
+ export * from "./mutations/auth-mutation-options";
24
+ export * from "./mutations/magic-link/sign-in-magic-link-mutation";
25
+ export * from "./mutations/multi-session/revoke-multi-session-mutation";
26
+ export * from "./mutations/multi-session/set-active-session-mutation";
27
+ export * from "./mutations/organization";
28
+ export * from "./mutations/passkey/add-passkey-mutation";
29
+ export * from "./mutations/passkey/delete-passkey-mutation";
30
+ export * from "./mutations/passkey/sign-in-passkey-mutation";
31
+ export * from "./mutations/settings/change-email-mutation";
32
+ export * from "./mutations/settings/change-password-mutation";
33
+ export * from "./mutations/settings/delete-user-mutation";
34
+ export * from "./mutations/settings/link-social-mutation";
35
+ export * from "./mutations/settings/revoke-session-mutation";
36
+ export * from "./mutations/settings/unlink-account-mutation";
37
+ export * from "./mutations/settings/update-user-mutation";
38
+ export * from "./mutations/username/is-username-available-mutation";
39
+ export * from "./mutations/username/sign-in-username-mutation";
40
+ export * from "./queries/api-key/list-api-keys-query";
41
+ export * from "./queries/auth/session-query";
42
+ export * from "./queries/auth-query-options";
43
+ export * from "./queries/multi-session/list-device-sessions-query";
44
+ export * from "./queries/organization";
45
+ export * from "./queries/passkey/list-passkeys-query";
46
+ export * from "./queries/settings/account-info-query";
47
+ export * from "./queries/settings/list-accounts-query";
48
+ export * from "./queries/settings/list-sessions-query";
@@ -1,7 +1,7 @@
1
- import { apiKeyClient } from '@better-auth/api-key/client';
2
- import { passkeyClient } from '@better-auth/passkey/client';
3
- import { magicLinkClient, multiSessionClient, usernameClient } from 'better-auth/client/plugins';
4
- import { createAuthClient } from 'better-auth/react';
1
+ import type { apiKeyClient } from "@better-auth/api-key/client";
2
+ import type { passkeyClient } from "@better-auth/passkey/client";
3
+ import type { magicLinkClient, multiSessionClient, organizationClient, usernameClient } from "better-auth/client/plugins";
4
+ import type { createAuthClient } from "better-auth/react";
5
5
  export type AuthClient = ReturnType<typeof createAuthClient>;
6
6
  export type MagicLinkAuthClient = ReturnType<typeof createAuthClient<{
7
7
  plugins: [ReturnType<typeof magicLinkClient>];
@@ -18,6 +18,9 @@ export type ApiKeyAuthClient = ReturnType<typeof createAuthClient<{
18
18
  export type UsernameAuthClient = ReturnType<typeof createAuthClient<{
19
19
  plugins: [ReturnType<typeof usernameClient>];
20
20
  }>>;
21
+ export type OrganizationAuthClient = ReturnType<typeof createAuthClient<{
22
+ plugins: [ReturnType<typeof organizationClient<object>>];
23
+ }>>;
21
24
  /**
22
25
  * Unwraps a Better Auth client method's `data` payload.
23
26
  *
@@ -0,0 +1 @@
1
+ export {};
@@ -1,6 +1,7 @@
1
- import { AuthPluginBase, AuthView } from '@better-auth-ui/core';
2
- import { ComponentType, ReactNode } from 'react';
3
- export type { AuthPluginViewPaths } from '@better-auth-ui/core';
1
+ import type { AuthPluginBase, AuthView } from "@better-auth-ui/core";
2
+ import type { ComponentType, ReactNode } from "react";
3
+ import type { SettingsTab } from "./settings-tab";
4
+ export type { AuthPluginViewPaths } from "@better-auth-ui/core";
4
5
  /** Props for plugin-contributed auth buttons (e.g. passkey, magic link). */
5
6
  export type AuthButtonProps = {
6
7
  className?: string;
@@ -18,9 +19,16 @@ export type AccountCardProps = {
18
19
  className?: string;
19
20
  children?: ReactNode;
20
21
  };
22
+ /** Props for plugin-contributed cards under `/organization/...` settings. */
23
+ export type OrganizationCardProps = {
24
+ className?: string;
25
+ children?: ReactNode;
26
+ };
21
27
  /** Props for plugin-contributed items in the `UserButton` dropdown. */
22
28
  export type UserMenuItemProps = {
23
29
  className?: string;
30
+ /** When true, the subtitle line (email when name/username is shown) is hidden. */
31
+ hideSubtitle?: boolean;
24
32
  };
25
33
  /** Framework-agnostic slot component shapes. UI packages narrow these via `TComponents`. */
26
34
  export type AuthPluginComponents = {
@@ -32,6 +40,8 @@ export type AuthPluginComponents = {
32
40
  securityCards?: ComponentType<SecurityCardProps>[];
33
41
  /** Rendered as cards inside account settings. */
34
42
  accountCards?: ComponentType<AccountCardProps>[];
43
+ /** Rendered as cards inside the active organization's settings. */
44
+ organizationCards?: ComponentType<OrganizationCardProps>[];
35
45
  /** Rendered as items inside the `UserButton` dropdown. */
36
46
  userMenuItems?: ComponentType<UserMenuItemProps>[];
37
47
  };
@@ -58,4 +68,10 @@ export type AuthPluginFallbackViews<TAuthViewProps> = {
58
68
  export type AuthPlugin<TComponents = AuthPluginComponents, TAuthViewProps = any, TSettingsViewProps = any> = AuthPluginBase & TComponents & {
59
69
  views?: AuthPluginViews<TAuthViewProps, TSettingsViewProps>;
60
70
  fallbackViews?: AuthPluginFallbackViews<TAuthViewProps>;
71
+ /**
72
+ * Tabs the plugin contributes to the settings page. Each entry is a
73
+ * {@link SettingsTab} (`view`, `label`, `component`). Read at runtime via
74
+ * `useAuthPlugin(plugin).settingsTabs`.
75
+ */
76
+ settingsTabs?: SettingsTab[];
61
77
  };
@@ -0,0 +1 @@
1
+ export {};
@@ -1,6 +1,7 @@
1
- import { passkey } from '@better-auth/passkey';
2
- import { Auth } from 'better-auth';
3
- import { magicLink, multiSession, username } from 'better-auth/plugins';
1
+ import type { apiKey } from "@better-auth/api-key";
2
+ import type { passkey } from "@better-auth/passkey";
3
+ import type { Auth } from "better-auth";
4
+ import type { magicLink, multiSession, organization, username } from "better-auth/plugins";
4
5
  export type AuthServer = Pick<Auth, "api">;
5
6
  export type MagicLinkAuthServer = Pick<Auth<{
6
7
  plugins: [ReturnType<typeof magicLink>];
@@ -11,6 +12,12 @@ export type MultiSessionAuthServer = Pick<Auth<{
11
12
  export type PasskeyAuthServer = Pick<Auth<{
12
13
  plugins: [ReturnType<typeof passkey>];
13
14
  }>, "api">;
15
+ export type ApiKeyAuthServer = Pick<Auth<{
16
+ plugins: [ReturnType<typeof apiKey>];
17
+ }>, "api">;
14
18
  export type UsernameAuthServer = Pick<Auth<{
15
19
  plugins: [ReturnType<typeof username>];
16
20
  }>, "api">;
21
+ export type OrganizationAuthServer = Pick<Auth<{
22
+ plugins: [ReturnType<typeof organization>];
23
+ }>, "api">;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,5 @@
1
- import { SocialProvider } from 'better-auth/social-providers';
2
- import { ComponentPropsWithRef, ComponentType } from 'react';
1
+ import type { SocialProvider } from "better-auth/social-providers";
2
+ import type { ComponentPropsWithRef, ComponentType } from "react";
3
3
  /**
4
4
  * Mapping of social authentication provider names to their corresponding icon components.
5
5
  *