@better-auth-ui/react 1.6.7 → 1.6.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,7 +1,8 @@
1
- import { BetterFetchError } from 'better-auth/react';
2
- import { AuthClient } from '../../lib/auth-client';
1
+ import { type QueryClient } from "@tanstack/react-query";
2
+ import type { BetterFetchError } from "better-auth/react";
3
+ import type { AuthClient } from "../../lib/auth-client";
3
4
  export type SignInEmailParams<TAuthClient extends AuthClient> = Parameters<TAuthClient["signIn"]["email"]>[0];
4
- export type SignInEmailOptions<TAuthClient extends AuthClient> = Omit<ReturnType<typeof signInEmailOptions<TAuthClient>>, "mutationKey" | "mutationFn">;
5
+ export type SignInEmailOptions<TAuthClient extends AuthClient> = Omit<ReturnType<typeof signInEmailOptions<TAuthClient>>, "mutationKey" | "mutationFn" | "meta">;
5
6
  /**
6
7
  * Mutation options factory for email/password sign-in.
7
8
  *
@@ -11,7 +12,7 @@ export type SignInEmailOptions<TAuthClient extends AuthClient> = Omit<ReturnType
11
12
  *
12
13
  * @param authClient - The Better Auth client.
13
14
  */
14
- export declare function signInEmailOptions<TAuthClient extends AuthClient>(authClient: TAuthClient): import('@tanstack/react-query').WithRequired<import('@tanstack/react-query').UseMutationOptions<Omit<{
15
+ export declare function signInEmailOptions<TAuthClient extends AuthClient>(authClient: TAuthClient): import("@tanstack/react-query").WithRequired<import("@tanstack/react-query").UseMutationOptions<Omit<{
15
16
  redirect: boolean;
16
17
  token: string;
17
18
  url?: string | undefined;
@@ -25,7 +26,7 @@ export declare function signInEmailOptions<TAuthClient extends AuthClient>(authC
25
26
  image?: string | null | undefined | undefined;
26
27
  };
27
28
  }, "user"> & {
28
- user: import('better-auth').StripEmptyObjects<{
29
+ user: import("better-auth").StripEmptyObjects<{
29
30
  id: string;
30
31
  createdAt: Date;
31
32
  updatedAt: Date;
@@ -38,14 +39,13 @@ export declare function signInEmailOptions<TAuthClient extends AuthClient>(authC
38
39
  /**
39
40
  * Create a mutation for email/password sign-in.
40
41
  *
41
- * Wraps `authClient.signIn.email`, resets the session query on success so
42
- * the new session is refetched, and forwards React Query mutation options
43
- * such as `onSuccess`, `onError`, and `retry`.
42
+ * On success, `MutationInvalidator` awaits invalidation of the session
43
+ * query so the new session is refetched (see `meta.awaits`).
44
44
  *
45
45
  * @param authClient - The Better Auth client.
46
46
  * @param options - React Query options forwarded to `useMutation`.
47
47
  */
48
- export declare function useSignInEmail<TAuthClient extends AuthClient>(authClient: TAuthClient, options?: SignInEmailOptions<TAuthClient>): import('@tanstack/react-query').UseMutationResult<Omit<{
48
+ export declare function useSignInEmail<TAuthClient extends AuthClient>(authClient: TAuthClient, options?: SignInEmailOptions<TAuthClient>, queryClient?: QueryClient): import("@tanstack/react-query").UseMutationResult<Omit<{
49
49
  redirect: boolean;
50
50
  token: string;
51
51
  url?: string | undefined;
@@ -59,7 +59,7 @@ export declare function useSignInEmail<TAuthClient extends AuthClient>(authClien
59
59
  image?: string | null | undefined | undefined;
60
60
  };
61
61
  }, "user"> & {
62
- user: import('better-auth').StripEmptyObjects<{
62
+ user: import("better-auth").StripEmptyObjects<{
63
63
  id: string;
64
64
  createdAt: Date;
65
65
  updatedAt: Date;
@@ -1,29 +1,40 @@
1
- import { sessionOptions as e } from "../../queries/auth/session-query.js";
2
- import { authMutationKeys as t } from "@better-auth-ui/core";
3
- import { mutationOptions as n, useMutation as r, useQueryClient as i } from "@tanstack/react-query";
4
- //#region src/mutations/auth/sign-in-email-mutation.ts
5
- function a(e) {
6
- let r = t.signIn.email;
7
- return n({
8
- mutationKey: r,
9
- mutationFn: (t) => e.signIn.email({
10
- ...t,
11
- fetchOptions: {
12
- ...t?.fetchOptions,
13
- throw: !0
14
- }
15
- })
16
- });
1
+ import { authMutationKeys, authQueryKeys } from "@better-auth-ui/core";
2
+ import { mutationOptions, useMutation } from "@tanstack/react-query";
3
+ /**
4
+ * Mutation options factory for email/password sign-in.
5
+ *
6
+ * The returned `mutationKey` (`authMutationKeys.signIn.email`) is stable and
7
+ * can be passed to `useIsMutating` or matched inside a global
8
+ * `MutationCache` observer for toast handling.
9
+ *
10
+ * @param authClient - The Better Auth client.
11
+ */
12
+ export function signInEmailOptions(authClient) {
13
+ const mutationKey = authMutationKeys.signIn.email;
14
+ const mutationFn = (params) => authClient.signIn.email({
15
+ ...params,
16
+ fetchOptions: { ...params?.fetchOptions, throw: true }
17
+ });
18
+ return mutationOptions({
19
+ mutationKey,
20
+ mutationFn
21
+ });
17
22
  }
18
- function o(t, n) {
19
- let o = i();
20
- return r({
21
- ...a(t),
22
- ...n,
23
- onSuccess: async (...r) => {
24
- o.resetQueries({ queryKey: e(t).queryKey }), await n?.onSuccess?.(...r);
25
- }
26
- });
23
+ /**
24
+ * Create a mutation for email/password sign-in.
25
+ *
26
+ * On success, `MutationInvalidator` awaits invalidation of the session
27
+ * query so the new session is refetched (see `meta.awaits`).
28
+ *
29
+ * @param authClient - The Better Auth client.
30
+ * @param options - React Query options forwarded to `useMutation`.
31
+ */
32
+ export function useSignInEmail(authClient, options, queryClient) {
33
+ return useMutation({
34
+ ...signInEmailOptions(authClient),
35
+ ...options,
36
+ meta: {
37
+ awaits: [authQueryKeys.session]
38
+ }
39
+ }, queryClient);
27
40
  }
28
- //#endregion
29
- export { a as signInEmailOptions, o as useSignInEmail };
@@ -1,5 +1,5 @@
1
- import { BetterFetchError } from 'better-auth/react';
2
- import { AuthClient } from '../../lib/auth-client';
1
+ import type { BetterFetchError } from "better-auth/react";
2
+ import type { AuthClient } from "../../lib/auth-client";
3
3
  export type SignInSocialParams<TAuthClient extends AuthClient> = Parameters<TAuthClient["signIn"]["social"]>[0];
4
4
  export type SignInSocialOptions<TAuthClient extends AuthClient> = Omit<ReturnType<typeof signInSocialOptions<TAuthClient>>, "mutationKey" | "mutationFn">;
5
5
  /**
@@ -11,7 +11,7 @@ export type SignInSocialOptions<TAuthClient extends AuthClient> = Omit<ReturnTyp
11
11
  *
12
12
  * @param authClient - The Better Auth client.
13
13
  */
14
- export declare function signInSocialOptions<TAuthClient extends AuthClient>(authClient: TAuthClient): import('@tanstack/react-query').WithRequired<import('@tanstack/react-query').UseMutationOptions<{
14
+ export declare function signInSocialOptions<TAuthClient extends AuthClient>(authClient: TAuthClient): import("@tanstack/react-query").WithRequired<import("@tanstack/react-query").UseMutationOptions<{
15
15
  redirect: boolean;
16
16
  url: string;
17
17
  } | (Omit<{
@@ -28,7 +28,7 @@ export declare function signInSocialOptions<TAuthClient extends AuthClient>(auth
28
28
  image?: string | null | undefined | undefined;
29
29
  };
30
30
  }, "user"> & {
31
- user: import('better-auth').StripEmptyObjects<{
31
+ user: import("better-auth").StripEmptyObjects<{
32
32
  id: string;
33
33
  createdAt: Date;
34
34
  updatedAt: Date;
@@ -48,7 +48,7 @@ export declare function signInSocialOptions<TAuthClient extends AuthClient>(auth
48
48
  * @param authClient - The Better Auth client.
49
49
  * @param options - React Query options forwarded to `useMutation`.
50
50
  */
51
- export declare function useSignInSocial<TAuthClient extends AuthClient>(authClient: TAuthClient, options?: SignInSocialOptions<TAuthClient>): import('@tanstack/react-query').UseMutationResult<{
51
+ export declare function useSignInSocial<TAuthClient extends AuthClient>(authClient: TAuthClient, options?: SignInSocialOptions<TAuthClient>): import("@tanstack/react-query").UseMutationResult<{
52
52
  redirect: boolean;
53
53
  url: string;
54
54
  } | (Omit<{
@@ -65,7 +65,7 @@ export declare function useSignInSocial<TAuthClient extends AuthClient>(authClie
65
65
  image?: string | null | undefined | undefined;
66
66
  };
67
67
  }, "user"> & {
68
- user: import('better-auth').StripEmptyObjects<{
68
+ user: import("better-auth").StripEmptyObjects<{
69
69
  id: string;
70
70
  createdAt: Date;
71
71
  updatedAt: Date;
@@ -1,24 +1,38 @@
1
- import { authMutationKeys as e } from "@better-auth-ui/core";
2
- import { mutationOptions as t, useMutation as n } from "@tanstack/react-query";
3
- //#region src/mutations/auth/sign-in-social-mutation.ts
4
- function r(n) {
5
- let r = e.signIn.social;
6
- return t({
7
- mutationKey: r,
8
- mutationFn: (e) => n.signIn.social({
9
- ...e,
10
- fetchOptions: {
11
- ...e?.fetchOptions,
12
- throw: !0
13
- }
14
- })
15
- });
1
+ import { authMutationKeys } from "@better-auth-ui/core";
2
+ import { mutationOptions, useMutation } from "@tanstack/react-query";
3
+ /**
4
+ * Mutation options factory for social sign-in.
5
+ *
6
+ * The returned `mutationKey` (`["auth", "signIn", "social"]`) is stable and
7
+ * can be passed to `useIsMutating` or matched inside a global
8
+ * `MutationCache` observer for toast handling.
9
+ *
10
+ * @param authClient - The Better Auth client.
11
+ */
12
+ export function signInSocialOptions(authClient) {
13
+ const mutationKey = authMutationKeys.signIn.social;
14
+ const mutationFn = (params) => authClient.signIn.social({
15
+ ...params,
16
+ fetchOptions: { ...params?.fetchOptions, throw: true }
17
+ });
18
+ return mutationOptions({
19
+ mutationKey,
20
+ mutationFn
21
+ });
16
22
  }
17
- function i(e, t) {
18
- return n({
19
- ...r(e),
20
- ...t
21
- });
23
+ /**
24
+ * Create a mutation for social sign-in.
25
+ *
26
+ * Wraps `authClient.signIn.social` to initiate a provider redirect and
27
+ * forwards React Query mutation options such as `onSuccess`, `onError`,
28
+ * and `retry`.
29
+ *
30
+ * @param authClient - The Better Auth client.
31
+ * @param options - React Query options forwarded to `useMutation`.
32
+ */
33
+ export function useSignInSocial(authClient, options) {
34
+ return useMutation({
35
+ ...signInSocialOptions(authClient),
36
+ ...options
37
+ });
22
38
  }
23
- //#endregion
24
- export { r as signInSocialOptions, i as useSignInSocial };
@@ -1,5 +1,6 @@
1
- import { BetterFetchError } from 'better-auth/react';
2
- import { AuthClient } from '../../lib/auth-client';
1
+ import { type QueryClient } from "@tanstack/react-query";
2
+ import type { BetterFetchError } from "better-auth/react";
3
+ import type { AuthClient } from "../../lib/auth-client";
3
4
  export type SignOutParams<TAuthClient extends AuthClient> = Parameters<TAuthClient["signOut"]>[0];
4
5
  export type SignOutOptions<TAuthClient extends AuthClient> = Omit<ReturnType<typeof signOutOptions<TAuthClient>>, "mutationKey" | "mutationFn">;
5
6
  /**
@@ -7,19 +8,20 @@ export type SignOutOptions<TAuthClient extends AuthClient> = Omit<ReturnType<typ
7
8
  *
8
9
  * @param authClient - The Better Auth client.
9
10
  */
10
- export declare function signOutOptions<TAuthClient extends AuthClient>(authClient: TAuthClient): import('@tanstack/react-query').WithRequired<import('@tanstack/react-query').UseMutationOptions<{
11
+ export declare function signOutOptions<TAuthClient extends AuthClient>(authClient: TAuthClient): import("@tanstack/react-query").WithRequired<import("@tanstack/react-query").UseMutationOptions<{
11
12
  success: boolean;
12
13
  }, BetterFetchError, void | SignOutParams<TAuthClient> | undefined, unknown>, "mutationKey">;
13
14
  /**
14
15
  * Create a mutation for signing the current user out.
15
16
  *
16
- * Wraps `authClient.signOut`, removes all cached auth queries on success,
17
- * and forwards React Query mutation options such as `onSuccess`, `onError`,
18
- * and `retry`.
17
+ * On success, removes every cached auth query so no stale data leaks across
18
+ * accounts. Sign-out uses a direct `removeQueries` call (rather than the
19
+ * `meta.awaits` / `meta.invalidates` pattern) because the goal is to drop
20
+ * cache entries entirely, not to refetch them.
19
21
  *
20
22
  * @param authClient - The Better Auth client.
21
23
  * @param options - React Query options forwarded to `useMutation`.
22
24
  */
23
- export declare function useSignOut<TAuthClient extends AuthClient>(authClient: TAuthClient, options?: SignOutOptions<TAuthClient>): import('@tanstack/react-query').UseMutationResult<{
25
+ export declare function useSignOut<TAuthClient extends AuthClient>(authClient: TAuthClient, options?: SignOutOptions<TAuthClient>, queryClient?: QueryClient): import("@tanstack/react-query").UseMutationResult<{
24
26
  success: boolean;
25
27
  }, BetterFetchError, void | SignOutParams<TAuthClient> | undefined, unknown>;
@@ -1,28 +1,41 @@
1
- import { authMutationKeys as e, authQueryKeys as t } from "@better-auth-ui/core";
2
- import { mutationOptions as n, useMutation as r, useQueryClient as i } from "@tanstack/react-query";
3
- //#region src/mutations/auth/sign-out-mutation.ts
4
- function a(t) {
5
- let r = e.signOut;
6
- return n({
7
- mutationKey: r,
8
- mutationFn: (e) => t.signOut({
9
- ...e ?? {},
10
- fetchOptions: {
11
- ...e?.fetchOptions,
12
- throw: !0
13
- }
14
- })
15
- });
1
+ import { authMutationKeys, authQueryKeys } from "@better-auth-ui/core";
2
+ import { mutationOptions, useMutation, useQueryClient } from "@tanstack/react-query";
3
+ /**
4
+ * Mutation options factory for signing out.
5
+ *
6
+ * @param authClient - The Better Auth client.
7
+ */
8
+ export function signOutOptions(authClient) {
9
+ const mutationKey = authMutationKeys.signOut;
10
+ // biome-ignore lint/suspicious/noConfusingVoidType: void allows no-arg mutate
11
+ const mutationFn = (params) => authClient.signOut({
12
+ ...(params ?? {}),
13
+ fetchOptions: { ...params?.fetchOptions, throw: true }
14
+ });
15
+ return mutationOptions({
16
+ mutationKey,
17
+ mutationFn
18
+ });
16
19
  }
17
- function o(e, n) {
18
- let o = i();
19
- return r({
20
- ...a(e),
21
- ...n,
22
- onSuccess: async (...e) => {
23
- o.removeQueries({ queryKey: t.all }), await n?.onSuccess?.(...e);
24
- }
25
- });
20
+ /**
21
+ * Create a mutation for signing the current user out.
22
+ *
23
+ * On success, removes every cached auth query so no stale data leaks across
24
+ * accounts. Sign-out uses a direct `removeQueries` call (rather than the
25
+ * `meta.awaits` / `meta.invalidates` pattern) because the goal is to drop
26
+ * cache entries entirely, not to refetch them.
27
+ *
28
+ * @param authClient - The Better Auth client.
29
+ * @param options - React Query options forwarded to `useMutation`.
30
+ */
31
+ export function useSignOut(authClient, options, queryClient) {
32
+ const defaultQueryClient = useQueryClient(queryClient);
33
+ return useMutation({
34
+ ...signOutOptions(authClient),
35
+ ...options,
36
+ onSuccess: async (...args) => {
37
+ defaultQueryClient.removeQueries({ queryKey: authQueryKeys.all });
38
+ await options?.onSuccess?.(...args);
39
+ }
40
+ }, queryClient);
26
41
  }
27
- //#endregion
28
- export { a as signOutOptions, o as useSignOut };
@@ -1,13 +1,14 @@
1
- import { BetterFetchError } from 'better-auth/react';
2
- import { AuthClient } from '../../lib/auth-client';
1
+ import { type QueryClient } from "@tanstack/react-query";
2
+ import type { BetterFetchError } from "better-auth/react";
3
+ import type { AuthClient } from "../../lib/auth-client";
3
4
  export type SignUpEmailParams<TAuthClient extends AuthClient> = Parameters<TAuthClient["signUp"]["email"]>[0];
4
- export type SignUpEmailOptions<TAuthClient extends AuthClient> = Omit<ReturnType<typeof signUpEmailOptions<TAuthClient>>, "mutationKey" | "mutationFn">;
5
+ export type SignUpEmailOptions<TAuthClient extends AuthClient> = Omit<ReturnType<typeof signUpEmailOptions<TAuthClient>>, "mutationKey" | "mutationFn" | "meta">;
5
6
  /**
6
7
  * Mutation options factory for email/password sign-up.
7
8
  *
8
9
  * @param authClient - The Better Auth client.
9
10
  */
10
- export declare function signUpEmailOptions<TAuthClient extends AuthClient>(authClient: TAuthClient): import('@tanstack/react-query').WithRequired<import('@tanstack/react-query').UseMutationOptions<(Omit<{
11
+ export declare function signUpEmailOptions<TAuthClient extends AuthClient>(authClient: TAuthClient): import("@tanstack/react-query").WithRequired<import("@tanstack/react-query").UseMutationOptions<(Omit<{
11
12
  token: null;
12
13
  user: {
13
14
  id: string;
@@ -19,7 +20,7 @@ export declare function signUpEmailOptions<TAuthClient extends AuthClient>(authC
19
20
  image?: string | null | undefined | undefined;
20
21
  };
21
22
  }, "user"> & {
22
- user: import('better-auth').StripEmptyObjects<{
23
+ user: import("better-auth").StripEmptyObjects<{
23
24
  id: string;
24
25
  createdAt: Date;
25
26
  updatedAt: Date;
@@ -40,7 +41,7 @@ export declare function signUpEmailOptions<TAuthClient extends AuthClient>(authC
40
41
  image?: string | null | undefined | undefined;
41
42
  };
42
43
  }, "user"> & {
43
- user: import('better-auth').StripEmptyObjects<{
44
+ user: import("better-auth").StripEmptyObjects<{
44
45
  id: string;
45
46
  createdAt: Date;
46
47
  updatedAt: Date;
@@ -53,14 +54,13 @@ export declare function signUpEmailOptions<TAuthClient extends AuthClient>(authC
53
54
  /**
54
55
  * Create a mutation for email/password sign-up.
55
56
  *
56
- * Wraps `authClient.signUp.email`, resets the session query on success so
57
- * the new session is refetched, and forwards React Query mutation options
58
- * such as `onSuccess`, `onError`, and `retry`.
57
+ * On success, `MutationInvalidator` awaits invalidation of the session
58
+ * query so the new session is refetched (see `meta.awaits`).
59
59
  *
60
60
  * @param authClient - The Better Auth client.
61
61
  * @param options - React Query options forwarded to `useMutation`.
62
62
  */
63
- export declare function useSignUpEmail<TAuthClient extends AuthClient>(authClient: TAuthClient, options?: SignUpEmailOptions<TAuthClient>): import('@tanstack/react-query').UseMutationResult<(Omit<{
63
+ export declare function useSignUpEmail<TAuthClient extends AuthClient>(authClient: TAuthClient, options?: SignUpEmailOptions<TAuthClient>, queryClient?: QueryClient): import("@tanstack/react-query").UseMutationResult<(Omit<{
64
64
  token: null;
65
65
  user: {
66
66
  id: string;
@@ -72,7 +72,7 @@ export declare function useSignUpEmail<TAuthClient extends AuthClient>(authClien
72
72
  image?: string | null | undefined | undefined;
73
73
  };
74
74
  }, "user"> & {
75
- user: import('better-auth').StripEmptyObjects<{
75
+ user: import("better-auth").StripEmptyObjects<{
76
76
  id: string;
77
77
  createdAt: Date;
78
78
  updatedAt: Date;
@@ -93,7 +93,7 @@ export declare function useSignUpEmail<TAuthClient extends AuthClient>(authClien
93
93
  image?: string | null | undefined | undefined;
94
94
  };
95
95
  }, "user"> & {
96
- user: import('better-auth').StripEmptyObjects<{
96
+ user: import("better-auth").StripEmptyObjects<{
97
97
  id: string;
98
98
  createdAt: Date;
99
99
  updatedAt: Date;
@@ -1,29 +1,36 @@
1
- import { sessionOptions as e } from "../../queries/auth/session-query.js";
2
- import { authMutationKeys as t } from "@better-auth-ui/core";
3
- import { mutationOptions as n, useMutation as r, useQueryClient as i } from "@tanstack/react-query";
4
- //#region src/mutations/auth/sign-up-email-mutation.ts
5
- function a(e) {
6
- let r = t.signUp.email;
7
- return n({
8
- mutationKey: r,
9
- mutationFn: (t) => e.signUp.email({
10
- ...t,
11
- fetchOptions: {
12
- ...t?.fetchOptions,
13
- throw: !0
14
- }
15
- })
16
- });
1
+ import { authMutationKeys, authQueryKeys } from "@better-auth-ui/core";
2
+ import { mutationOptions, useMutation } from "@tanstack/react-query";
3
+ /**
4
+ * Mutation options factory for email/password sign-up.
5
+ *
6
+ * @param authClient - The Better Auth client.
7
+ */
8
+ export function signUpEmailOptions(authClient) {
9
+ const mutationKey = authMutationKeys.signUp.email;
10
+ const mutationFn = (params) => authClient.signUp.email({
11
+ ...params,
12
+ fetchOptions: { ...params?.fetchOptions, throw: true }
13
+ });
14
+ return mutationOptions({
15
+ mutationKey,
16
+ mutationFn
17
+ });
17
18
  }
18
- function o(t, n) {
19
- let o = i();
20
- return r({
21
- ...a(t),
22
- ...n,
23
- onSuccess: async (...r) => {
24
- o.resetQueries({ queryKey: e(t).queryKey }), await n?.onSuccess?.(...r);
25
- }
26
- });
19
+ /**
20
+ * Create a mutation for email/password sign-up.
21
+ *
22
+ * On success, `MutationInvalidator` awaits invalidation of the session
23
+ * query so the new session is refetched (see `meta.awaits`).
24
+ *
25
+ * @param authClient - The Better Auth client.
26
+ * @param options - React Query options forwarded to `useMutation`.
27
+ */
28
+ export function useSignUpEmail(authClient, options, queryClient) {
29
+ return useMutation({
30
+ ...signUpEmailOptions(authClient),
31
+ ...options,
32
+ meta: {
33
+ awaits: [authQueryKeys.session]
34
+ }
35
+ }, queryClient);
27
36
  }
28
- //#endregion
29
- export { a as signUpEmailOptions, o as useSignUpEmail };
@@ -1,5 +1,5 @@
1
- import { MutationKey, UseMutationOptions } from '@tanstack/react-query';
2
- import { BetterFetchError } from 'better-auth/client';
1
+ import { type MutationKey, type UseMutationOptions } from "@tanstack/react-query";
2
+ import type { BetterFetchError } from "better-auth/client";
3
3
  /**
4
4
  * Write-style Better Auth client method. Variables are a single object that
5
5
  * may carry top-level params plus `fetchOptions` (e.g. `signIn.email` takes
@@ -1,19 +1,23 @@
1
- import { mutationOptions as e } from "@tanstack/react-query";
2
- //#region src/mutations/auth-mutation-options.ts
3
- function t(t, n) {
4
- return e({
5
- mutationKey: n,
6
- mutationFn: (e) => {
7
- let n = e ?? {};
8
- return t({
9
- ...n,
10
- fetchOptions: {
11
- ...n.fetchOptions,
12
- throw: !0
13
- }
14
- });
15
- }
16
- });
1
+ import { mutationOptions } from "@tanstack/react-query";
2
+ /**
3
+ * Build `mutationOptions` for a write-style Better Auth endpoint.
4
+ *
5
+ * Injects `throw: true` into `fetchOptions` so the promise rejects with a
6
+ * `BetterFetchError` on failure instead of resolving to `{ data, error }`.
7
+ *
8
+ * @param authFn - Better Auth client method (e.g. `authClient.emailOtp.sendVerificationOtp`).
9
+ * @param mutationKey - Stable key for the mutation (used by `useIsMutating`, `MutationCache`, …).
10
+ */
11
+ export function authMutationOptions(authFn, mutationKey) {
12
+ const mutationFn = (variables) => {
13
+ const vars = (variables ?? {});
14
+ return authFn({
15
+ ...vars,
16
+ fetchOptions: { ...vars.fetchOptions, throw: true }
17
+ });
18
+ };
19
+ return mutationOptions({
20
+ mutationKey,
21
+ mutationFn
22
+ });
17
23
  }
18
- //#endregion
19
- export { t as authMutationOptions };
@@ -1,5 +1,5 @@
1
- import { BetterFetchError } from 'better-auth/react';
2
- import { MagicLinkAuthClient } from '../../lib/auth-client';
1
+ import type { BetterFetchError } from "better-auth/react";
2
+ import type { MagicLinkAuthClient } from "../../lib/auth-client";
3
3
  export type SignInMagicLinkParams<TAuthClient extends MagicLinkAuthClient> = Parameters<TAuthClient["signIn"]["magicLink"]>[0];
4
4
  export type SignInMagicLinkOptions<TAuthClient extends MagicLinkAuthClient> = Omit<ReturnType<typeof signInMagicLinkOptions<TAuthClient>>, "mutationKey" | "mutationFn">;
5
5
  /**
@@ -7,7 +7,7 @@ export type SignInMagicLinkOptions<TAuthClient extends MagicLinkAuthClient> = Om
7
7
  *
8
8
  * @param authClient - The Better Auth client.
9
9
  */
10
- export declare function signInMagicLinkOptions<TAuthClient extends MagicLinkAuthClient>(authClient: TAuthClient): import('@tanstack/react-query').WithRequired<import('@tanstack/react-query').UseMutationOptions<{
10
+ export declare function signInMagicLinkOptions<TAuthClient extends MagicLinkAuthClient>(authClient: TAuthClient): import("@tanstack/react-query").WithRequired<import("@tanstack/react-query").UseMutationOptions<{
11
11
  status: boolean;
12
12
  }, BetterFetchError, SignInMagicLinkParams<TAuthClient>, unknown>, "mutationKey">;
13
13
  /**
@@ -19,6 +19,6 @@ export declare function signInMagicLinkOptions<TAuthClient extends MagicLinkAuth
19
19
  * @param authClient - The Better Auth client with the magic-link plugin.
20
20
  * @param options - React Query options forwarded to `useMutation`.
21
21
  */
22
- export declare function useSignInMagicLink<TAuthClient extends MagicLinkAuthClient>(authClient: TAuthClient, options?: SignInMagicLinkOptions<TAuthClient>): import('@tanstack/react-query').UseMutationResult<{
22
+ export declare function useSignInMagicLink<TAuthClient extends MagicLinkAuthClient>(authClient: TAuthClient, options?: SignInMagicLinkOptions<TAuthClient>): import("@tanstack/react-query").UseMutationResult<{
23
23
  status: boolean;
24
24
  }, BetterFetchError, SignInMagicLinkParams<TAuthClient>, unknown>;
@@ -1,24 +1,33 @@
1
- import { mutationOptions as e, useMutation as t } from "@tanstack/react-query";
2
- import { magicLinkMutationKeys as n } from "@better-auth-ui/core/plugins";
3
- //#region src/mutations/magic-link/sign-in-magic-link-mutation.ts
4
- function r(t) {
5
- let r = n.signIn;
6
- return e({
7
- mutationKey: r,
8
- mutationFn: (e) => t.signIn.magicLink({
9
- ...e,
10
- fetchOptions: {
11
- ...e?.fetchOptions,
12
- throw: !0
13
- }
14
- })
15
- });
1
+ import { magicLinkMutationKeys } from "@better-auth-ui/core/plugins";
2
+ import { mutationOptions, useMutation } from "@tanstack/react-query";
3
+ /**
4
+ * Mutation options factory for magic-link sign-in.
5
+ *
6
+ * @param authClient - The Better Auth client.
7
+ */
8
+ export function signInMagicLinkOptions(authClient) {
9
+ const mutationKey = magicLinkMutationKeys.signIn;
10
+ const mutationFn = (params) => authClient.signIn.magicLink({
11
+ ...params,
12
+ fetchOptions: { ...params?.fetchOptions, throw: true }
13
+ });
14
+ return mutationOptions({
15
+ mutationKey,
16
+ mutationFn
17
+ });
16
18
  }
17
- function i(e, n) {
18
- return t({
19
- ...r(e),
20
- ...n
21
- });
19
+ /**
20
+ * Create a mutation for requesting a magic-link sign-in email.
21
+ *
22
+ * Wraps `authClient.signIn.magicLink` and forwards React Query mutation
23
+ * options such as `onSuccess`, `onError`, and `retry`.
24
+ *
25
+ * @param authClient - The Better Auth client with the magic-link plugin.
26
+ * @param options - React Query options forwarded to `useMutation`.
27
+ */
28
+ export function useSignInMagicLink(authClient, options) {
29
+ return useMutation({
30
+ ...signInMagicLinkOptions(authClient),
31
+ ...options
32
+ });
22
33
  }
23
- //#endregion
24
- export { r as signInMagicLinkOptions, i as useSignInMagicLink };