@revealui/auth 0.0.1-pre.0 → 0.2.1

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 (487) hide show
  1. package/LICENSE +22 -202
  2. package/README.md +101 -0
  3. package/dist/index.d.ts +10 -1
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +10 -4
  6. package/dist/react/index.d.ts +15 -0
  7. package/dist/react/index.d.ts.map +1 -0
  8. package/dist/react/index.js +10 -0
  9. package/dist/react/useSession.d.ts +32 -0
  10. package/dist/react/useSession.d.ts.map +1 -0
  11. package/dist/react/useSession.js +98 -0
  12. package/dist/react/useSignIn.d.ts +41 -0
  13. package/dist/react/useSignIn.d.ts.map +1 -0
  14. package/dist/react/useSignIn.js +99 -0
  15. package/dist/react/useSignOut.d.ts +30 -0
  16. package/dist/react/useSignOut.d.ts.map +1 -0
  17. package/dist/react/useSignOut.js +57 -0
  18. package/dist/react/useSignUp.d.ts +43 -0
  19. package/dist/react/useSignUp.d.ts.map +1 -0
  20. package/dist/react/useSignUp.js +90 -0
  21. package/dist/server/auth.d.ts +46 -0
  22. package/dist/server/auth.d.ts.map +1 -0
  23. package/dist/server/auth.js +314 -0
  24. package/dist/server/brute-force.d.ts +44 -0
  25. package/dist/server/brute-force.d.ts.map +1 -0
  26. package/dist/server/brute-force.js +149 -0
  27. package/dist/server/errors.d.ts +28 -0
  28. package/dist/server/errors.d.ts.map +1 -0
  29. package/dist/server/errors.js +51 -0
  30. package/dist/server/index.d.ts +17 -0
  31. package/dist/server/index.d.ts.map +1 -0
  32. package/dist/server/index.js +14 -0
  33. package/dist/server/oauth.d.ts +49 -0
  34. package/dist/server/oauth.d.ts.map +1 -0
  35. package/dist/server/oauth.js +223 -0
  36. package/dist/server/password-reset.d.ts +55 -0
  37. package/dist/server/password-reset.d.ts.map +1 -0
  38. package/dist/server/password-reset.js +232 -0
  39. package/dist/server/password-validation.d.ts +25 -0
  40. package/dist/server/password-validation.d.ts.map +1 -0
  41. package/dist/server/password-validation.js +47 -0
  42. package/dist/server/providers/github.d.ts +14 -0
  43. package/dist/server/providers/github.d.ts.map +1 -0
  44. package/dist/server/providers/github.js +73 -0
  45. package/dist/server/providers/google.d.ts +11 -0
  46. package/dist/server/providers/google.d.ts.map +1 -0
  47. package/dist/server/providers/google.js +53 -0
  48. package/dist/server/providers/vercel.d.ts +11 -0
  49. package/dist/server/providers/vercel.d.ts.map +1 -0
  50. package/dist/server/providers/vercel.js +47 -0
  51. package/dist/server/rate-limit.d.ts +45 -0
  52. package/dist/server/rate-limit.d.ts.map +1 -0
  53. package/dist/server/rate-limit.js +130 -0
  54. package/dist/server/session.d.ts +47 -0
  55. package/dist/server/session.d.ts.map +1 -0
  56. package/dist/server/session.js +248 -0
  57. package/dist/server/storage/database.d.ts +26 -0
  58. package/dist/server/storage/database.d.ts.map +1 -0
  59. package/dist/server/storage/database.js +102 -0
  60. package/dist/server/storage/in-memory.d.ts +28 -0
  61. package/dist/server/storage/in-memory.d.ts.map +1 -0
  62. package/dist/server/storage/in-memory.js +80 -0
  63. package/dist/server/storage/index.d.ts +26 -0
  64. package/dist/server/storage/index.d.ts.map +1 -0
  65. package/dist/server/storage/index.js +80 -0
  66. package/dist/server/storage/interface.d.ts +46 -0
  67. package/dist/server/storage/interface.d.ts.map +1 -0
  68. package/dist/server/storage/interface.js +6 -0
  69. package/dist/types.d.ts +66 -0
  70. package/dist/types.d.ts.map +1 -0
  71. package/dist/types.js +8 -0
  72. package/dist/utils/database.d.ts +53 -0
  73. package/dist/utils/database.d.ts.map +1 -0
  74. package/dist/utils/database.js +144 -0
  75. package/dist/utils/token.d.ts +30 -0
  76. package/dist/utils/token.d.ts.map +1 -0
  77. package/dist/utils/token.js +39 -0
  78. package/package.json +50 -106
  79. package/dist/better-auth/adapter/__tests__/transform.test.js +0 -213
  80. package/dist/better-auth/adapter/__tests__/transform.test.js.map +0 -1
  81. package/dist/better-auth/adapter/generate-schema/biome.d.js +0 -2
  82. package/dist/better-auth/adapter/generate-schema/biome.d.js.map +0 -1
  83. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.d.ts +0 -5
  84. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.js +0 -482
  85. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.js.map +0 -1
  86. package/dist/better-auth/adapter/generate-schema/get-payload-schema.d.ts +0 -1
  87. package/dist/better-auth/adapter/generate-schema/get-payload-schema.js +0 -42
  88. package/dist/better-auth/adapter/generate-schema/get-payload-schema.js.map +0 -1
  89. package/dist/better-auth/adapter/generate-schema/index.d.ts +0 -4
  90. package/dist/better-auth/adapter/generate-schema/index.js +0 -19
  91. package/dist/better-auth/adapter/generate-schema/index.js.map +0 -1
  92. package/dist/better-auth/adapter/generate-schema/utils.d.ts +0 -2
  93. package/dist/better-auth/adapter/generate-schema/utils.js +0 -20
  94. package/dist/better-auth/adapter/generate-schema/utils.js.map +0 -1
  95. package/dist/better-auth/adapter/index.d.ts +0 -15
  96. package/dist/better-auth/adapter/index.js +0 -731
  97. package/dist/better-auth/adapter/index.js.map +0 -1
  98. package/dist/better-auth/adapter/tests/adapter.test.js +0 -174
  99. package/dist/better-auth/adapter/tests/adapter.test.js.map +0 -1
  100. package/dist/better-auth/adapter/tests/base-collections-tests.js +0 -575
  101. package/dist/better-auth/adapter/tests/base-collections-tests.js.map +0 -1
  102. package/dist/better-auth/adapter/tests/dev/index.js +0 -117
  103. package/dist/better-auth/adapter/tests/dev/index.js.map +0 -1
  104. package/dist/better-auth/adapter/tests/dev/migrate.js +0 -26
  105. package/dist/better-auth/adapter/tests/dev/migrate.js.map +0 -1
  106. package/dist/better-auth/adapter/tests/dev/migrations/20250423_232936_init.js +0 -218
  107. package/dist/better-auth/adapter/tests/dev/migrations/20250423_232936_init.js.map +0 -1
  108. package/dist/better-auth/adapter/tests/dev/schema.js +0 -160
  109. package/dist/better-auth/adapter/tests/dev/schema.js.map +0 -1
  110. package/dist/better-auth/adapter/tests/plugins-tests.js +0 -2
  111. package/dist/better-auth/adapter/tests/plugins-tests.js.map +0 -1
  112. package/dist/better-auth/adapter/transform/index.d.ts +0 -27
  113. package/dist/better-auth/adapter/transform/index.js +0 -664
  114. package/dist/better-auth/adapter/transform/index.js.map +0 -1
  115. package/dist/better-auth/adapter/types.d.ts +0 -10
  116. package/dist/better-auth/adapter/types.js +0 -3
  117. package/dist/better-auth/adapter/types.js.map +0 -1
  118. package/dist/better-auth/generated-types.d.ts +0 -285
  119. package/dist/better-auth/index.d.ts +0 -3
  120. package/dist/better-auth/index.js +0 -5
  121. package/dist/better-auth/index.js.map +0 -1
  122. package/dist/better-auth/plugin/__tests__/plugin.test.js +0 -162
  123. package/dist/better-auth/plugin/__tests__/plugin.test.js.map +0 -1
  124. package/dist/better-auth/plugin/constants.d.ts +0 -220
  125. package/dist/better-auth/plugin/constants.js +0 -249
  126. package/dist/better-auth/plugin/constants.js.map +0 -1
  127. package/dist/better-auth/plugin/helpers/check-plugin-exists.d.ts +0 -12
  128. package/dist/better-auth/plugin/helpers/check-plugin-exists.js +0 -14
  129. package/dist/better-auth/plugin/helpers/check-plugin-exists.js.map +0 -1
  130. package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts +0 -29
  131. package/dist/better-auth/plugin/helpers/generate-verify-email-url.js +0 -46
  132. package/dist/better-auth/plugin/helpers/generate-verify-email-url.js.map +0 -1
  133. package/dist/better-auth/plugin/helpers/get-admin-access.d.ts +0 -7
  134. package/dist/better-auth/plugin/helpers/get-admin-access.js +0 -22
  135. package/dist/better-auth/plugin/helpers/get-admin-access.js.map +0 -1
  136. package/dist/better-auth/plugin/helpers/get-all-roles.d.ts +0 -5
  137. package/dist/better-auth/plugin/helpers/get-all-roles.js +0 -20
  138. package/dist/better-auth/plugin/helpers/get-all-roles.js.map +0 -1
  139. package/dist/better-auth/plugin/helpers/get-better-auth-schema.d.ts +0 -18
  140. package/dist/better-auth/plugin/helpers/get-better-auth-schema.js +0 -70
  141. package/dist/better-auth/plugin/helpers/get-better-auth-schema.js.map +0 -1
  142. package/dist/better-auth/plugin/helpers/get-collection-slug.d.ts +0 -5
  143. package/dist/better-auth/plugin/helpers/get-collection-slug.js +0 -20
  144. package/dist/better-auth/plugin/helpers/get-collection-slug.js.map +0 -1
  145. package/dist/better-auth/plugin/helpers/get-collection.d.ts +0 -15
  146. package/dist/better-auth/plugin/helpers/get-collection.js +0 -29
  147. package/dist/better-auth/plugin/helpers/get-collection.js.map +0 -1
  148. package/dist/better-auth/plugin/helpers/get-ip.d.ts +0 -2
  149. package/dist/better-auth/plugin/helpers/get-ip.js +0 -31
  150. package/dist/better-auth/plugin/helpers/get-ip.js.map +0 -1
  151. package/dist/better-auth/plugin/helpers/get-signed-cookie.d.ts +0 -2
  152. package/dist/better-auth/plugin/helpers/get-signed-cookie.js +0 -65
  153. package/dist/better-auth/plugin/helpers/get-signed-cookie.js.map +0 -1
  154. package/dist/better-auth/plugin/helpers/index.d.ts +0 -1
  155. package/dist/better-auth/plugin/helpers/index.js +0 -3
  156. package/dist/better-auth/plugin/helpers/index.js.map +0 -1
  157. package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts +0 -59
  158. package/dist/better-auth/plugin/helpers/prepare-session-data.js +0 -49
  159. package/dist/better-auth/plugin/helpers/prepare-session-data.js.map +0 -1
  160. package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.d.ts +0 -20
  161. package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.js +0 -67
  162. package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.js.map +0 -1
  163. package/dist/better-auth/plugin/index.d.ts +0 -11
  164. package/dist/better-auth/plugin/index.js +0 -125
  165. package/dist/better-auth/plugin/index.js.map +0 -1
  166. package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.d.ts +0 -12
  167. package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.js +0 -87
  168. package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.js.map +0 -1
  169. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts +0 -3
  170. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.js +0 -60
  171. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.js.map +0 -1
  172. package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts +0 -3
  173. package/dist/better-auth/plugin/lib/build-collections/accounts/index.js +0 -154
  174. package/dist/better-auth/plugin/lib/build-collections/accounts/index.js.map +0 -1
  175. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts +0 -5
  176. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.js +0 -11
  177. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.js.map +0 -1
  178. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts +0 -2
  179. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.js +0 -8
  180. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.js.map +0 -1
  181. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts +0 -6
  182. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.js +0 -119
  183. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.js.map +0 -1
  184. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts +0 -3
  185. package/dist/better-auth/plugin/lib/build-collections/api-keys.js +0 -177
  186. package/dist/better-auth/plugin/lib/build-collections/api-keys.js.map +0 -1
  187. package/dist/better-auth/plugin/lib/build-collections/device-code.d.ts +0 -3
  188. package/dist/better-auth/plugin/lib/build-collections/device-code.js +0 -50
  189. package/dist/better-auth/plugin/lib/build-collections/device-code.js.map +0 -1
  190. package/dist/better-auth/plugin/lib/build-collections/index.d.ts +0 -10
  191. package/dist/better-auth/plugin/lib/build-collections/index.js +0 -73
  192. package/dist/better-auth/plugin/lib/build-collections/index.js.map +0 -1
  193. package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts +0 -3
  194. package/dist/better-auth/plugin/lib/build-collections/invitations.js +0 -94
  195. package/dist/better-auth/plugin/lib/build-collections/invitations.js.map +0 -1
  196. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts +0 -3
  197. package/dist/better-auth/plugin/lib/build-collections/jwks.js +0 -59
  198. package/dist/better-auth/plugin/lib/build-collections/jwks.js.map +0 -1
  199. package/dist/better-auth/plugin/lib/build-collections/members.d.ts +0 -3
  200. package/dist/better-auth/plugin/lib/build-collections/members.js +0 -73
  201. package/dist/better-auth/plugin/lib/build-collections/members.js.map +0 -1
  202. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts +0 -3
  203. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.js +0 -107
  204. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.js.map +0 -1
  205. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts +0 -3
  206. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.js +0 -118
  207. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.js.map +0 -1
  208. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts +0 -3
  209. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.js +0 -89
  210. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.js.map +0 -1
  211. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts +0 -3
  212. package/dist/better-auth/plugin/lib/build-collections/organizations.js +0 -70
  213. package/dist/better-auth/plugin/lib/build-collections/organizations.js.map +0 -1
  214. package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts +0 -3
  215. package/dist/better-auth/plugin/lib/build-collections/passkeys.js +0 -115
  216. package/dist/better-auth/plugin/lib/build-collections/passkeys.js.map +0 -1
  217. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts +0 -3
  218. package/dist/better-auth/plugin/lib/build-collections/sessions.js +0 -170
  219. package/dist/better-auth/plugin/lib/build-collections/sessions.js.map +0 -1
  220. package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts +0 -3
  221. package/dist/better-auth/plugin/lib/build-collections/sso-providers.js +0 -81
  222. package/dist/better-auth/plugin/lib/build-collections/sso-providers.js.map +0 -1
  223. package/dist/better-auth/plugin/lib/build-collections/subscriptions.d.ts +0 -3
  224. package/dist/better-auth/plugin/lib/build-collections/subscriptions.js +0 -111
  225. package/dist/better-auth/plugin/lib/build-collections/subscriptions.js.map +0 -1
  226. package/dist/better-auth/plugin/lib/build-collections/team-members.d.ts +0 -3
  227. package/dist/better-auth/plugin/lib/build-collections/team-members.js +0 -57
  228. package/dist/better-auth/plugin/lib/build-collections/team-members.js.map +0 -1
  229. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts +0 -3
  230. package/dist/better-auth/plugin/lib/build-collections/teams.js +0 -76
  231. package/dist/better-auth/plugin/lib/build-collections/teams.js.map +0 -1
  232. package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts +0 -3
  233. package/dist/better-auth/plugin/lib/build-collections/two-factors.js +0 -67
  234. package/dist/better-auth/plugin/lib/build-collections/two-factors.js.map +0 -1
  235. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts +0 -7
  236. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.js +0 -53
  237. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.js.map +0 -1
  238. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts +0 -11
  239. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.js +0 -75
  240. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.js.map +0 -1
  241. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.d.ts +0 -4
  242. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.js +0 -6
  243. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.js.map +0 -1
  244. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts +0 -2
  245. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.js +0 -115
  246. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.js.map +0 -1
  247. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts +0 -3
  248. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.js +0 -64
  249. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.js.map +0 -1
  250. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts +0 -3
  251. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.js +0 -80
  252. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.js.map +0 -1
  253. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts +0 -6
  254. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.js +0 -79
  255. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.js.map +0 -1
  256. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts +0 -2
  257. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.js +0 -82
  258. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.js.map +0 -1
  259. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts +0 -2
  260. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.js +0 -54
  261. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.js.map +0 -1
  262. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts +0 -6
  263. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.js +0 -15
  264. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.js.map +0 -1
  265. package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.d.ts +0 -6
  266. package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.js +0 -8
  267. package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.js.map +0 -1
  268. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts +0 -2
  269. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.js +0 -17
  270. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.js.map +0 -1
  271. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts +0 -2
  272. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.js +0 -91
  273. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.js.map +0 -1
  274. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts +0 -3
  275. package/dist/better-auth/plugin/lib/build-collections/users/index.js +0 -341
  276. package/dist/better-auth/plugin/lib/build-collections/users/index.js.map +0 -1
  277. package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.d.ts +0 -15
  278. package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.js +0 -24
  279. package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.js.map +0 -1
  280. package/dist/better-auth/plugin/lib/build-collections/utils/filter-duplicate-fields.d.ts +0 -10
  281. package/dist/better-auth/plugin/lib/build-collections/utils/filter-duplicate-fields.js +0 -67
  282. package/dist/better-auth/plugin/lib/build-collections/utils/filter-duplicate-fields.js.map +0 -1
  283. package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.d.ts +0 -9
  284. package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.js +0 -94
  285. package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.js.map +0 -1
  286. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts +0 -7
  287. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.js +0 -35
  288. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.js.map +0 -1
  289. package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.d.ts +0 -12
  290. package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.js +0 -25
  291. package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.js.map +0 -1
  292. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts +0 -14
  293. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.js +0 -67
  294. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.js.map +0 -1
  295. package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.d.ts +0 -20
  296. package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.js +0 -98
  297. package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.js.map +0 -1
  298. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts +0 -3
  299. package/dist/better-auth/plugin/lib/build-collections/verifications.js +0 -87
  300. package/dist/better-auth/plugin/lib/build-collections/verifications.js.map +0 -1
  301. package/dist/better-auth/plugin/lib/get-payload-auth.d.ts +0 -5
  302. package/dist/better-auth/plugin/lib/get-payload-auth.js +0 -9
  303. package/dist/better-auth/plugin/lib/get-payload-auth.js.map +0 -1
  304. package/dist/better-auth/plugin/lib/init-better-auth.d.ts +0 -7
  305. package/dist/better-auth/plugin/lib/init-better-auth.js +0 -46
  306. package/dist/better-auth/plugin/lib/init-better-auth.js.map +0 -1
  307. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts +0 -2
  308. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.js +0 -9
  309. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.js.map +0 -1
  310. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts +0 -2
  311. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.js +0 -10
  312. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.js.map +0 -1
  313. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.d.ts +0 -2
  314. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.js +0 -8
  315. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.js.map +0 -1
  316. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts +0 -10
  317. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js +0 -156
  318. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js.map +0 -1
  319. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts +0 -2
  320. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.js +0 -18
  321. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.js.map +0 -1
  322. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts +0 -2
  323. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.js +0 -34
  324. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.js.map +0 -1
  325. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts +0 -2
  326. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.js +0 -11
  327. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.js.map +0 -1
  328. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts +0 -2
  329. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.js +0 -10
  330. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.js.map +0 -1
  331. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.d.ts +0 -2
  332. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.js +0 -11
  333. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.js.map +0 -1
  334. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts +0 -7
  335. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.js +0 -23
  336. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.js.map +0 -1
  337. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.d.ts +0 -25
  338. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.js +0 -62
  339. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.js.map +0 -1
  340. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.d.ts +0 -9
  341. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.js +0 -47
  342. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.js.map +0 -1
  343. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts +0 -15
  344. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.js +0 -42
  345. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.js.map +0 -1
  346. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.d.ts +0 -9
  347. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.js +0 -63
  348. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.js.map +0 -1
  349. package/dist/better-auth/plugin/lib/set-login-methods.d.ts +0 -4
  350. package/dist/better-auth/plugin/lib/set-login-methods.js +0 -14
  351. package/dist/better-auth/plugin/lib/set-login-methods.js.map +0 -1
  352. package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts +0 -9
  353. package/dist/better-auth/plugin/payload/components/admin-buttons/index.js +0 -143
  354. package/dist/better-auth/plugin/payload/components/admin-buttons/index.js.map +0 -1
  355. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts +0 -10
  356. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.js +0 -219
  357. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.js.map +0 -1
  358. package/dist/better-auth/plugin/payload/components/logout-button.d.ts +0 -4
  359. package/dist/better-auth/plugin/payload/components/logout-button.js +0 -24
  360. package/dist/better-auth/plugin/payload/components/logout-button.js.map +0 -1
  361. package/dist/better-auth/plugin/payload/components/passkeys/add-button.d.ts +0 -8
  362. package/dist/better-auth/plugin/payload/components/passkeys/add-button.js +0 -117
  363. package/dist/better-auth/plugin/payload/components/passkeys/add-button.js.map +0 -1
  364. package/dist/better-auth/plugin/payload/components/passkeys/client.d.ts +0 -3
  365. package/dist/better-auth/plugin/payload/components/passkeys/client.js +0 -66
  366. package/dist/better-auth/plugin/payload/components/passkeys/client.js.map +0 -1
  367. package/dist/better-auth/plugin/payload/components/passkeys/index.d.ts +0 -4
  368. package/dist/better-auth/plugin/payload/components/passkeys/index.js +0 -52
  369. package/dist/better-auth/plugin/payload/components/passkeys/index.js.map +0 -1
  370. package/dist/better-auth/plugin/payload/components/passkeys/list.d.ts +0 -8
  371. package/dist/better-auth/plugin/payload/components/passkeys/list.js +0 -57
  372. package/dist/better-auth/plugin/payload/components/passkeys/list.js.map +0 -1
  373. package/dist/better-auth/plugin/payload/components/passkeys/types.d.ts +0 -22
  374. package/dist/better-auth/plugin/payload/components/passkeys/types.js +0 -3
  375. package/dist/better-auth/plugin/payload/components/passkeys/types.js.map +0 -1
  376. package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts +0 -6
  377. package/dist/better-auth/plugin/payload/components/rsc-redirect.js +0 -7
  378. package/dist/better-auth/plugin/payload/components/rsc-redirect.js.map +0 -1
  379. package/dist/better-auth/plugin/payload/components/social-provider-buttons/index.d.ts +0 -15
  380. package/dist/better-auth/plugin/payload/components/social-provider-buttons/index.js +0 -157
  381. package/dist/better-auth/plugin/payload/components/social-provider-buttons/index.js.map +0 -1
  382. package/dist/better-auth/plugin/payload/components/token-field.d.ts +0 -4
  383. package/dist/better-auth/plugin/payload/components/token-field.js +0 -31
  384. package/dist/better-auth/plugin/payload/components/token-field.js.map +0 -1
  385. package/dist/better-auth/plugin/payload/components/two-factor-auth/index.d.ts +0 -8
  386. package/dist/better-auth/plugin/payload/components/two-factor-auth/index.js +0 -300
  387. package/dist/better-auth/plugin/payload/components/two-factor-auth/index.js.map +0 -1
  388. package/dist/better-auth/plugin/payload/exports/client.d.ts +0 -6
  389. package/dist/better-auth/plugin/payload/exports/client.js +0 -8
  390. package/dist/better-auth/plugin/payload/exports/client.js.map +0 -1
  391. package/dist/better-auth/plugin/payload/exports/rsc.d.ts +0 -8
  392. package/dist/better-auth/plugin/payload/exports/rsc.js +0 -10
  393. package/dist/better-auth/plugin/payload/exports/rsc.js.map +0 -1
  394. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts +0 -2
  395. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.js +0 -9
  396. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.js.map +0 -1
  397. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.d.ts +0 -1
  398. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.js +0 -22
  399. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.js.map +0 -1
  400. package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts +0 -19
  401. package/dist/better-auth/plugin/payload/views/admin-login/client.js +0 -226
  402. package/dist/better-auth/plugin/payload/views/admin-login/client.js.map +0 -1
  403. package/dist/better-auth/plugin/payload/views/admin-login/index.d.ts +0 -10
  404. package/dist/better-auth/plugin/payload/views/admin-login/index.js +0 -150
  405. package/dist/better-auth/plugin/payload/views/admin-login/index.js.map +0 -1
  406. package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts +0 -16
  407. package/dist/better-auth/plugin/payload/views/admin-signup/client.js +0 -299
  408. package/dist/better-auth/plugin/payload/views/admin-signup/client.js.map +0 -1
  409. package/dist/better-auth/plugin/payload/views/admin-signup/index.d.ts +0 -9
  410. package/dist/better-auth/plugin/payload/views/admin-signup/index.js +0 -104
  411. package/dist/better-auth/plugin/payload/views/admin-signup/index.js.map +0 -1
  412. package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts +0 -7
  413. package/dist/better-auth/plugin/payload/views/forgot-password/client.js +0 -119
  414. package/dist/better-auth/plugin/payload/views/forgot-password/client.js.map +0 -1
  415. package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts +0 -8
  416. package/dist/better-auth/plugin/payload/views/forgot-password/index.js +0 -78
  417. package/dist/better-auth/plugin/payload/views/forgot-password/index.js.map +0 -1
  418. package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts +0 -10
  419. package/dist/better-auth/plugin/payload/views/reset-password/client.js +0 -144
  420. package/dist/better-auth/plugin/payload/views/reset-password/client.js.map +0 -1
  421. package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts +0 -8
  422. package/dist/better-auth/plugin/payload/views/reset-password/index.js +0 -96
  423. package/dist/better-auth/plugin/payload/views/reset-password/index.js.map +0 -1
  424. package/dist/better-auth/plugin/payload/views/two-factor-verify/client.d.ts +0 -6
  425. package/dist/better-auth/plugin/payload/views/two-factor-verify/client.js +0 -96
  426. package/dist/better-auth/plugin/payload/views/two-factor-verify/client.js.map +0 -1
  427. package/dist/better-auth/plugin/payload/views/two-factor-verify/index.d.ts +0 -9
  428. package/dist/better-auth/plugin/payload/views/two-factor-verify/index.js +0 -56
  429. package/dist/better-auth/plugin/payload/views/two-factor-verify/index.js.map +0 -1
  430. package/dist/better-auth/plugin/types.d.ts +0 -429
  431. package/dist/better-auth/plugin/types.js +0 -3
  432. package/dist/better-auth/plugin/types.js.map +0 -1
  433. package/dist/better-auth/plugin/utils/set.d.ts +0 -39
  434. package/dist/better-auth/plugin/utils/set.js +0 -103
  435. package/dist/better-auth/plugin/utils/set.js.map +0 -1
  436. package/dist/better-auth/scripts/generate-types.d.ts +0 -1
  437. package/dist/better-auth/scripts/generate-types.js +0 -234
  438. package/dist/better-auth/scripts/generate-types.js.map +0 -1
  439. package/dist/better-auth/types.d.ts +0 -2
  440. package/dist/better-auth/types.js +0 -4
  441. package/dist/better-auth/types.js.map +0 -1
  442. package/dist/index.js.map +0 -1
  443. package/dist/shared/components/icons.d.ts +0 -7
  444. package/dist/shared/components/icons.js +0 -442
  445. package/dist/shared/components/icons.js.map +0 -1
  446. package/dist/shared/components/logo.d.ts +0 -3
  447. package/dist/shared/components/logo.js +0 -24
  448. package/dist/shared/components/logo.js.map +0 -1
  449. package/dist/shared/form/components/submit.d.ts +0 -7
  450. package/dist/shared/form/components/submit.js +0 -16
  451. package/dist/shared/form/components/submit.js.map +0 -1
  452. package/dist/shared/form/fields/text-field.d.ts +0 -8
  453. package/dist/shared/form/fields/text-field.js +0 -37
  454. package/dist/shared/form/fields/text-field.js.map +0 -1
  455. package/dist/shared/form/index.d.ts +0 -4
  456. package/dist/shared/form/index.js +0 -8
  457. package/dist/shared/form/index.js.map +0 -1
  458. package/dist/shared/form/ui/header/index.d.ts +0 -8
  459. package/dist/shared/form/ui/header/index.js +0 -24
  460. package/dist/shared/form/ui/header/index.js.map +0 -1
  461. package/dist/shared/form/ui/index.d.ts +0 -31
  462. package/dist/shared/form/ui/index.js +0 -57
  463. package/dist/shared/form/ui/index.js.map +0 -1
  464. package/dist/shared/form/validation.d.ts +0 -51
  465. package/dist/shared/form/validation.js +0 -127
  466. package/dist/shared/form/validation.js.map +0 -1
  467. package/dist/shared/index.d.ts +0 -2
  468. package/dist/shared/index.js +0 -4
  469. package/dist/shared/index.js.map +0 -1
  470. package/dist/shared/payload/fields/field-copy-button/index.d.ts +0 -3
  471. package/dist/shared/payload/fields/field-copy-button/index.js +0 -38
  472. package/dist/shared/payload/fields/field-copy-button/index.js.map +0 -1
  473. package/dist/shared/payload/fields/generate-uuid-button/index.d.ts +0 -3
  474. package/dist/shared/payload/fields/generate-uuid-button/index.js +0 -26
  475. package/dist/shared/payload/fields/generate-uuid-button/index.js.map +0 -1
  476. package/dist/shared/payload/fields/index.d.ts +0 -2
  477. package/dist/shared/payload/fields/index.js +0 -4
  478. package/dist/shared/payload/fields/index.js.map +0 -1
  479. package/dist/shared/utils/regex.d.ts +0 -2
  480. package/dist/shared/utils/regex.js +0 -4
  481. package/dist/shared/utils/regex.js.map +0 -1
  482. package/dist/shared/utils/try-catch.d.ts +0 -11
  483. package/dist/shared/utils/try-catch.js +0 -17
  484. package/dist/shared/utils/try-catch.js.map +0 -1
  485. package/dist/shared/utils/value-or-default.d.ts +0 -9
  486. package/dist/shared/utils/value-or-default.js +0 -12
  487. package/dist/shared/utils/value-or-default.js.map +0 -1
@@ -1,4 +0,0 @@
1
- import type { TextFieldClientProps } from 'payload';
2
- import type React from 'react';
3
- declare const AdminInviteTokenField: React.FC<TextFieldClientProps>;
4
- export default AdminInviteTokenField;
@@ -1,31 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { Button, TextInput, useField, useFormFields } from "@payloadcms/ui";
4
- const AdminInviteTokenField = (props)=>{
5
- const { path } = props;
6
- const { setValue } = useField({
7
- path
8
- });
9
- // Using any because PayloadCMS useFormFields returns dynamic field structures that vary by form
10
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
- const token = useFormFields(([fields])=>fields.token);
12
- const value = token.value ?? '';
13
- return /*#__PURE__*/ _jsxs("div", {
14
- children: [
15
- /*#__PURE__*/ _jsx(Button, {
16
- onClick: ()=>setValue(crypto.randomUUID()),
17
- children: "Generate Token"
18
- }),
19
- /*#__PURE__*/ _jsx(TextInput, {
20
- path: path,
21
- readOnly: true,
22
- label: "Token",
23
- placeholder: "Click 'Generate Token' to create a token",
24
- value: value
25
- })
26
- ]
27
- });
28
- };
29
- export default AdminInviteTokenField;
30
-
31
- //# sourceMappingURL=token-field.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/better-auth/plugin/payload/components/token-field.tsx"],"sourcesContent":["'use client';\n\nimport { Button, TextInput, useField, useFormFields } from '@payloadcms/ui';\nimport type { TextFieldClientProps } from 'payload';\nimport type React from 'react';\n\nconst AdminInviteTokenField: React.FC<TextFieldClientProps> = props => {\n const { path } = props;\n const { setValue } = useField({ path });\n // Using any because PayloadCMS useFormFields returns dynamic field structures that vary by form\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const token = useFormFields(([fields]) => (fields as any).token);\n const value = (token.value as string) ?? '';\n\n return (\n <div>\n <Button onClick={() => setValue(crypto.randomUUID())}>Generate Token</Button>\n <TextInput\n path={path}\n readOnly\n label='Token'\n placeholder=\"Click 'Generate Token' to create a token\"\n value={value}\n />\n </div>\n );\n};\n\nexport default AdminInviteTokenField;\n"],"names":["Button","TextInput","useField","useFormFields","AdminInviteTokenField","props","path","setValue","token","fields","value","div","onClick","crypto","randomUUID","readOnly","label","placeholder"],"mappings":"AAAA;;AAEA,SAASA,MAAM,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,aAAa,QAAQ,iBAAiB;AAI5E,MAAMC,wBAAwDC,CAAAA;IAC5D,MAAM,EAAEC,IAAI,EAAE,GAAGD;IACjB,MAAM,EAAEE,QAAQ,EAAE,GAAGL,SAAS;QAAEI;IAAK;IACrC,gGAAgG;IAChG,8DAA8D;IAC9D,MAAME,QAAQL,cAAc,CAAC,CAACM,OAAO,GAAK,AAACA,OAAeD,KAAK;IAC/D,MAAME,QAAQ,AAACF,MAAME,KAAK,IAAe;IAEzC,qBACE,MAACC;;0BACC,KAACX;gBAAOY,SAAS,IAAML,SAASM,OAAOC,UAAU;0BAAK;;0BACtD,KAACb;gBACCK,MAAMA;gBACNS,QAAQ;gBACRC,OAAM;gBACNC,aAAY;gBACZP,OAAOA;;;;AAIf;AAEA,eAAeN,sBAAsB"}
@@ -1,8 +0,0 @@
1
- import './index.scss';
2
- import React from 'react';
3
- type TwoFactorAuthProps = {
4
- baseURL?: string;
5
- basePath?: string;
6
- };
7
- export declare const TwoFactorAuth: React.FC<TwoFactorAuthProps>;
8
- export {};
@@ -1,300 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import "./index.scss";
4
- import { zodResolver } from "@hookform/resolvers/zod";
5
- import { Button, Modal, toast, useField, useFormFields, useModal } from "@payloadcms/ui";
6
- import { twoFactorClient } from "better-auth/client/plugins";
7
- import { createAuthClient } from "better-auth/react";
8
- import { Copy, X as XIcon } from "lucide-react";
9
- import dynamic from "next/dynamic";
10
- import { FormProvider, useForm } from "react-hook-form";
11
- const QRCodeSVG = dynamic(()=>import("qrcode.react").then((m)=>m.QRCodeSVG), {
12
- ssr: false
13
- });
14
- import React, { useMemo, useState } from "react";
15
- import { z } from "zod";
16
- const baseClass = 'two-factor-auth-modal';
17
- export const TwoFactorAuth = ({ baseURL, basePath })=>{
18
- const [totpURI, setTotpURI] = useState('');
19
- const [backupCodes, setBackupCodes] = useState(null);
20
- const [formState, setFormState] = useState('enable');
21
- const { openModal, closeModal } = useModal();
22
- const twoFactorEnabledField = useFormFields(([fields])=>fields.twoFactorEnabled);
23
- const twoFactorEnabled = Boolean(twoFactorEnabledField?.value);
24
- const { setValue: setTwoFactorEnabled } = useField({
25
- path: 'twoFactorEnabled'
26
- });
27
- const authClient = useMemo(()=>{
28
- const options = {
29
- plugins: [
30
- twoFactorClient()
31
- ]
32
- };
33
- if (baseURL) options.baseURL = baseURL;
34
- if (basePath) options.basePath = basePath;
35
- return createAuthClient(options);
36
- }, []);
37
- const copyURI = async ()=>{
38
- if (!totpURI) return;
39
- try {
40
- await navigator.clipboard.writeText(totpURI);
41
- toast.success('Copied');
42
- } catch {
43
- toast.error('Failed to copy');
44
- }
45
- };
46
- // Form Schemas
47
- const passwordSchema = z.object({
48
- password: z.string().min(1, 'Required')
49
- });
50
- const otpSchema = z.object({
51
- otp: z.string().length(6, 'Code must be 6 digits').refine((val)=>/^\d{6}$/.test(val), 'Code must be numeric')
52
- });
53
- const EnableForm = ()=>{
54
- const methods = useForm({
55
- defaultValues: {
56
- password: ''
57
- },
58
- resolver: zodResolver(passwordSchema),
59
- mode: 'onSubmit'
60
- });
61
- const onSubmit = async (value)=>{
62
- const { data, error } = await authClient.twoFactor.enable({
63
- password: value.password
64
- });
65
- if (error) {
66
- toast.error(error.message);
67
- return;
68
- }
69
- setTotpURI(data.totpURI);
70
- if (data && 'backupCodes' in data && data.backupCodes) {
71
- setBackupCodes(Array.isArray(data.backupCodes) ? data.backupCodes : String(data.backupCodes).split(/\s+/).filter(Boolean));
72
- } else {
73
- setBackupCodes(null);
74
- }
75
- setFormState('verify');
76
- };
77
- return /*#__PURE__*/ _jsx(FormProvider, {
78
- ...methods,
79
- children: /*#__PURE__*/ _jsx("form", {
80
- onSubmit: methods.handleSubmit(onSubmit),
81
- className: "two-factor-enable-form",
82
- children: /*#__PURE__*/ _jsx("div", {
83
- className: "two-factor-enable-form__inputWrap",
84
- children: /*#__PURE__*/ _jsx(Button, {
85
- type: "submit",
86
- children: "Enable"
87
- })
88
- })
89
- })
90
- });
91
- };
92
- const VerifyForm = ()=>{
93
- const methods = useForm({
94
- defaultValues: {
95
- otp: ''
96
- },
97
- resolver: zodResolver(otpSchema),
98
- mode: 'onSubmit'
99
- });
100
- const onSubmit = async (value)=>{
101
- const { data, error } = await authClient.twoFactor.verifyTotp({
102
- code: value.otp
103
- });
104
- if (error) {
105
- toast.error(error.message);
106
- return;
107
- }
108
- if (data && 'backupCodes' in data && data.backupCodes) {
109
- setBackupCodes(Array.isArray(data.backupCodes) ? data.backupCodes : String(data.backupCodes).split(/\s+/).filter(Boolean));
110
- }
111
- toast.success('Two‑factor verified & enabled');
112
- setTwoFactorEnabled(true);
113
- setFormState('backupCodes');
114
- };
115
- return /*#__PURE__*/ _jsx(FormProvider, {
116
- ...methods,
117
- children: /*#__PURE__*/ _jsx("form", {
118
- onSubmit: methods.handleSubmit(onSubmit),
119
- className: "two-factor-verify-form",
120
- children: /*#__PURE__*/ _jsx("div", {
121
- className: "tf__inputWrap",
122
- children: /*#__PURE__*/ _jsx(Button, {
123
- type: "submit",
124
- children: "Verify"
125
- })
126
- })
127
- })
128
- });
129
- };
130
- const DisableForm = ()=>{
131
- const methods = useForm({
132
- defaultValues: {
133
- password: ''
134
- },
135
- resolver: zodResolver(passwordSchema),
136
- mode: 'onSubmit'
137
- });
138
- const onSubmit = async (value)=>{
139
- await authClient.twoFactor.disable({
140
- password: value.password
141
- }, {
142
- onSuccess () {
143
- toast.success('Two‑factor disabled');
144
- setTwoFactorEnabled(false);
145
- closeModal('two-factor-auth-modal');
146
- return undefined;
147
- },
148
- onError (ctx) {
149
- toast.error(ctx.error.message);
150
- }
151
- });
152
- };
153
- return /*#__PURE__*/ _jsx(FormProvider, {
154
- ...methods,
155
- children: /*#__PURE__*/ _jsx("form", {
156
- onSubmit: methods.handleSubmit(onSubmit),
157
- className: "two-factor-disable-form mt-4",
158
- children: /*#__PURE__*/ _jsx("div", {
159
- className: "two-factor-disable-form__inputWrap",
160
- children: /*#__PURE__*/ _jsx(Button, {
161
- type: "submit",
162
- children: "Disable Two‑Factor"
163
- })
164
- })
165
- })
166
- });
167
- };
168
- return /*#__PURE__*/ _jsxs("div", {
169
- className: "two-factor-auth-field",
170
- children: [
171
- twoFactorEnabled ? /*#__PURE__*/ _jsx(Button, {
172
- onClick: ()=>{
173
- setFormState('disable');
174
- openModal('two-factor-auth-modal');
175
- },
176
- size: "medium",
177
- buttonStyle: "pill",
178
- children: "Disable Two-Factor"
179
- }) : /*#__PURE__*/ _jsx(Button, {
180
- onClick: ()=>{
181
- setFormState('enable');
182
- openModal('two-factor-auth-modal');
183
- },
184
- size: "medium",
185
- buttonStyle: "pill",
186
- children: "Enable Two-Factor"
187
- }),
188
- /*#__PURE__*/ _jsx(Modal, {
189
- slug: "two-factor-auth-modal",
190
- className: baseClass,
191
- closeOnBlur: true,
192
- children: /*#__PURE__*/ _jsxs("div", {
193
- className: `${baseClass}__wrapper`,
194
- children: [
195
- /*#__PURE__*/ _jsx(Button, {
196
- onClick: ()=>closeModal('two-factor-auth-modal'),
197
- buttonStyle: "icon-label",
198
- size: "small",
199
- className: `${baseClass}__close-button`,
200
- children: /*#__PURE__*/ _jsx(XIcon, {
201
- size: 24
202
- })
203
- }),
204
- /*#__PURE__*/ _jsxs("div", {
205
- className: `${baseClass}__content`,
206
- style: {
207
- maxWidth: '38rem'
208
- },
209
- children: [
210
- formState === 'enable' && /*#__PURE__*/ _jsxs(_Fragment, {
211
- children: [
212
- /*#__PURE__*/ _jsx("h2", {
213
- children: "Enable Two‑Factor"
214
- }),
215
- /*#__PURE__*/ _jsx(EnableForm, {})
216
- ]
217
- }),
218
- formState === 'verify' && /*#__PURE__*/ _jsxs(_Fragment, {
219
- children: [
220
- /*#__PURE__*/ _jsx("h2", {
221
- children: "Verify Two‑Factor"
222
- }),
223
- /*#__PURE__*/ _jsxs("div", {
224
- className: "two-factor-auth-modal__verify-block",
225
- children: [
226
- /*#__PURE__*/ _jsx("p", {
227
- children: "Scan the QR code with your authenticator app or copy the URI."
228
- }),
229
- /*#__PURE__*/ _jsx("div", {
230
- className: "two-factor-auth-modal__qrcode",
231
- children: /*#__PURE__*/ _jsx(QRCodeSVG, {
232
- value: totpURI,
233
- size: 200
234
- })
235
- }),
236
- /*#__PURE__*/ _jsxs(Button, {
237
- size: "small",
238
- buttonStyle: "transparent",
239
- onClick: copyURI,
240
- className: "two-factor-auth-modal__copy-btn",
241
- children: [
242
- /*#__PURE__*/ _jsx(Copy, {
243
- size: 18,
244
- className: "two-factor-auth-modal__copy-icon"
245
- }),
246
- " Copy URI"
247
- ]
248
- }),
249
- /*#__PURE__*/ _jsx(VerifyForm, {})
250
- ]
251
- })
252
- ]
253
- }),
254
- formState === 'backupCodes' && backupCodes && /*#__PURE__*/ _jsxs(_Fragment, {
255
- children: [
256
- /*#__PURE__*/ _jsx("h2", {
257
- children: "Backup Codes"
258
- }),
259
- /*#__PURE__*/ _jsxs("div", {
260
- className: "two-factor-auth-modal__backup-codes",
261
- children: [
262
- /*#__PURE__*/ _jsx("ul", {
263
- children: backupCodes.map((code, i)=>/*#__PURE__*/ _jsx("li", {
264
- className: "two-factor-auth-modal__backup-code",
265
- children: code
266
- }, `backup-code-${i}-${code}`))
267
- }),
268
- /*#__PURE__*/ _jsx("p", {
269
- className: "two-factor-auth-modal__backup-desc",
270
- children: "Store these codes in a safe place. Each code can be used once if you lose access to your authenticator."
271
- })
272
- ]
273
- }),
274
- /*#__PURE__*/ _jsx(Button, {
275
- onClick: ()=>closeModal('two-factor-auth-modal'),
276
- buttonStyle: "primary",
277
- size: "large",
278
- className: "two-factor-auth-modal__backup-codes-close-button",
279
- children: "Saved them!"
280
- })
281
- ]
282
- }),
283
- formState === 'disable' && /*#__PURE__*/ _jsxs(_Fragment, {
284
- children: [
285
- /*#__PURE__*/ _jsx("h2", {
286
- children: "Two‑Factor Authentication"
287
- }),
288
- /*#__PURE__*/ _jsx(DisableForm, {})
289
- ]
290
- })
291
- ]
292
- })
293
- ]
294
- })
295
- })
296
- ]
297
- });
298
- };
299
-
300
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../src/better-auth/plugin/payload/components/two-factor-auth/index.tsx"],"sourcesContent":["'use client';\n\nimport './index.scss';\n\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { Button, Modal, toast, useField, useFormFields, useModal } from '@payloadcms/ui';\nimport { twoFactorClient } from 'better-auth/client/plugins';\nimport { createAuthClient } from 'better-auth/react';\nimport { Copy, X as XIcon } from 'lucide-react';\nimport dynamic from 'next/dynamic';\nimport { FormProvider, useForm } from 'react-hook-form';\nconst QRCodeSVG = dynamic(() => import('qrcode.react').then(m => m.QRCodeSVG), {\n ssr: false,\n});\nimport React, { useMemo, useState } from 'react';\nimport { z } from 'zod';\n\nconst baseClass = 'two-factor-auth-modal';\n\ntype TwoFactorAuthProps = {\n baseURL?: string;\n basePath?: string;\n};\n\nexport const TwoFactorAuth: React.FC<TwoFactorAuthProps> = ({ baseURL, basePath }) => {\n const [totpURI, setTotpURI] = useState('');\n const [backupCodes, setBackupCodes] = useState<string[] | null>(null);\n const [formState, setFormState] = useState<'enable' | 'verify' | 'backupCodes' | 'disable'>(\n 'enable'\n );\n const { openModal, closeModal } = useModal();\n const twoFactorEnabledField = useFormFields(([fields]) => (fields as any).twoFactorEnabled);\n const twoFactorEnabled = Boolean(twoFactorEnabledField?.value);\n const { setValue: setTwoFactorEnabled } = useField({ path: 'twoFactorEnabled' });\n\n const authClient = useMemo(() => {\n const options: any = { plugins: [twoFactorClient() as any] };\n if (baseURL) options.baseURL = baseURL;\n if (basePath) options.basePath = basePath;\n return createAuthClient(options);\n }, []);\n\n const copyURI = async () => {\n if (!totpURI) return;\n try {\n await navigator.clipboard.writeText(totpURI);\n toast.success('Copied');\n } catch {\n toast.error('Failed to copy');\n }\n };\n\n // Form Schemas\n const passwordSchema = z.object({\n password: z.string().min(1, 'Required'), // simple required validation\n });\n\n const otpSchema = z.object({\n otp: z\n .string()\n .length(6, 'Code must be 6 digits')\n .refine(val => /^\\d{6}$/.test(val), 'Code must be numeric'),\n });\n\n const EnableForm = () => {\n const methods = useForm({\n defaultValues: { password: '' },\n resolver: zodResolver(passwordSchema),\n mode: 'onSubmit',\n });\n\n const onSubmit = async (value: { password: string }) => {\n const { data, error } = await (authClient as any).twoFactor.enable({\n password: value.password,\n });\n if (error) {\n toast.error(error.message);\n return;\n }\n setTotpURI(data.totpURI);\n if (data && 'backupCodes' in data && data.backupCodes) {\n setBackupCodes(\n Array.isArray(data.backupCodes)\n ? data.backupCodes\n : String(data.backupCodes).split(/\\s+/).filter(Boolean)\n );\n } else {\n setBackupCodes(null);\n }\n setFormState('verify');\n };\n\n return (\n <FormProvider {...methods}>\n <form onSubmit={methods.handleSubmit(onSubmit)} className='two-factor-enable-form'>\n <div className='two-factor-enable-form__inputWrap'>\n <Button type='submit'>Enable</Button>\n </div>\n </form>\n </FormProvider>\n );\n };\n\n const VerifyForm = () => {\n const methods = useForm({\n defaultValues: { otp: '' },\n resolver: zodResolver(otpSchema),\n mode: 'onSubmit',\n });\n\n const onSubmit = async (value: { otp: string }) => {\n const { data, error } = await (authClient as any).twoFactor.verifyTotp({ code: value.otp });\n if (error) {\n toast.error(error.message);\n return;\n }\n if (data && 'backupCodes' in data && data.backupCodes) {\n setBackupCodes(\n Array.isArray(data.backupCodes)\n ? data.backupCodes\n : String(data.backupCodes).split(/\\s+/).filter(Boolean)\n );\n }\n toast.success('Two‑factor verified & enabled');\n setTwoFactorEnabled(true);\n setFormState('backupCodes');\n };\n\n return (\n <FormProvider {...methods}>\n <form onSubmit={methods.handleSubmit(onSubmit)} className='two-factor-verify-form'>\n <div className='tf__inputWrap'>\n <Button type='submit'>Verify</Button>\n </div>\n </form>\n </FormProvider>\n );\n };\n\n const DisableForm = () => {\n const methods = useForm({\n defaultValues: { password: '' },\n resolver: zodResolver(passwordSchema),\n mode: 'onSubmit',\n });\n\n const onSubmit = async (value: { password: string }) => {\n await (authClient as any).twoFactor.disable(\n { password: value.password },\n {\n onSuccess() {\n toast.success('Two‑factor disabled');\n setTwoFactorEnabled(false);\n closeModal('two-factor-auth-modal');\n return undefined;\n },\n onError(ctx: any) {\n toast.error(ctx.error.message);\n },\n }\n );\n };\n\n return (\n <FormProvider {...methods}>\n <form onSubmit={methods.handleSubmit(onSubmit)} className='two-factor-disable-form mt-4'>\n <div className='two-factor-disable-form__inputWrap'>\n <Button type='submit'>Disable Two‑Factor</Button>\n </div>\n </form>\n </FormProvider>\n );\n };\n\n return (\n <div className='two-factor-auth-field'>\n {twoFactorEnabled ? (\n <Button\n onClick={() => {\n setFormState('disable');\n openModal('two-factor-auth-modal');\n }}\n size='medium'\n buttonStyle='pill'\n >\n Disable Two-Factor\n </Button>\n ) : (\n <Button\n onClick={() => {\n setFormState('enable');\n openModal('two-factor-auth-modal');\n }}\n size='medium'\n buttonStyle='pill'\n >\n Enable Two-Factor\n </Button>\n )}\n <Modal slug='two-factor-auth-modal' className={baseClass} closeOnBlur>\n <div className={`${baseClass}__wrapper`}>\n <Button\n onClick={() => closeModal('two-factor-auth-modal')}\n buttonStyle='icon-label'\n size='small'\n className={`${baseClass}__close-button`}\n >\n <XIcon size={24} />\n </Button>\n\n <div className={`${baseClass}__content`} style={{ maxWidth: '38rem' }}>\n {formState === 'enable' && (\n <>\n <h2>Enable Two‑Factor</h2>\n <EnableForm />\n </>\n )}\n {formState === 'verify' && (\n <>\n <h2>Verify Two‑Factor</h2>\n <div className='two-factor-auth-modal__verify-block'>\n <p>Scan the QR code with your authenticator app or copy the URI.</p>\n <div className='two-factor-auth-modal__qrcode'>\n <QRCodeSVG value={totpURI} size={200} />\n </div>\n <Button\n size='small'\n buttonStyle='transparent'\n onClick={copyURI}\n className='two-factor-auth-modal__copy-btn'\n >\n <Copy size={18} className='two-factor-auth-modal__copy-icon' /> Copy URI\n </Button>\n <VerifyForm />\n </div>\n </>\n )}\n {formState === 'backupCodes' && backupCodes && (\n <>\n <h2>Backup Codes</h2>\n <div className='two-factor-auth-modal__backup-codes'>\n <ul>\n {backupCodes.map((code, i) => (\n <li\n key={`backup-code-${i}-${code}`}\n className='two-factor-auth-modal__backup-code'\n >\n {code}\n </li>\n ))}\n </ul>\n <p className='two-factor-auth-modal__backup-desc'>\n Store these codes in a safe place. Each code can be used once if you lose access\n to your authenticator.\n </p>\n </div>\n <Button\n onClick={() => closeModal('two-factor-auth-modal')}\n buttonStyle='primary'\n size='large'\n className='two-factor-auth-modal__backup-codes-close-button'\n >\n Saved them!\n </Button>\n </>\n )}\n {formState === 'disable' && (\n <>\n <h2>Two‑Factor Authentication</h2>\n <DisableForm />\n </>\n )}\n </div>\n </div>\n </Modal>\n </div>\n );\n};\n"],"names":["zodResolver","Button","Modal","toast","useField","useFormFields","useModal","twoFactorClient","createAuthClient","Copy","X","XIcon","dynamic","FormProvider","useForm","QRCodeSVG","then","m","ssr","React","useMemo","useState","z","baseClass","TwoFactorAuth","baseURL","basePath","totpURI","setTotpURI","backupCodes","setBackupCodes","formState","setFormState","openModal","closeModal","twoFactorEnabledField","fields","twoFactorEnabled","Boolean","value","setValue","setTwoFactorEnabled","path","authClient","options","plugins","copyURI","navigator","clipboard","writeText","success","error","passwordSchema","object","password","string","min","otpSchema","otp","length","refine","val","test","EnableForm","methods","defaultValues","resolver","mode","onSubmit","data","twoFactor","enable","message","Array","isArray","String","split","filter","form","handleSubmit","className","div","type","VerifyForm","verifyTotp","code","DisableForm","disable","onSuccess","undefined","onError","ctx","onClick","size","buttonStyle","slug","closeOnBlur","style","maxWidth","h2","p","ul","map","i","li"],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { AdminButtons } from '../components/admin-buttons';
2
- import { AdminInviteButton } from '../components/admin-invite-button';
3
- import { LogoutButton } from '../components/logout-button';
4
- import { AdminSocialProviderButtons } from '../components/social-provider-buttons';
5
- import { TwoFactorAuth } from '../components/two-factor-auth';
6
- export { AdminButtons, AdminInviteButton, LogoutButton, AdminSocialProviderButtons, TwoFactorAuth };
@@ -1,8 +0,0 @@
1
- import { AdminButtons } from "../components/admin-buttons";
2
- import { AdminInviteButton } from "../components/admin-invite-button";
3
- import { LogoutButton } from "../components/logout-button";
4
- import { AdminSocialProviderButtons } from "../components/social-provider-buttons";
5
- import { TwoFactorAuth } from "../components/two-factor-auth";
6
- export { AdminButtons, AdminInviteButton, LogoutButton, AdminSocialProviderButtons, TwoFactorAuth };
7
-
8
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/better-auth/plugin/payload/exports/client.ts"],"sourcesContent":["import { AdminButtons } from '../components/admin-buttons';\nimport { AdminInviteButton } from '../components/admin-invite-button';\nimport { LogoutButton } from '../components/logout-button';\nimport { AdminSocialProviderButtons } from '../components/social-provider-buttons';\nimport { TwoFactorAuth } from '../components/two-factor-auth';\n\nexport { AdminButtons, AdminInviteButton, LogoutButton, AdminSocialProviderButtons, TwoFactorAuth };\n"],"names":["AdminButtons","AdminInviteButton","LogoutButton","AdminSocialProviderButtons","TwoFactorAuth"],"mappings":"AAAA,SAASA,YAAY,QAAQ,8BAA8B;AAC3D,SAASC,iBAAiB,QAAQ,oCAAoC;AACtE,SAASC,YAAY,QAAQ,8BAA8B;AAC3D,SAASC,0BAA0B,QAAQ,wCAAwC;AACnF,SAASC,aAAa,QAAQ,gCAAgC;AAE9D,SAASJ,YAAY,EAAEC,iBAAiB,EAAEC,YAAY,EAAEC,0BAA0B,EAAEC,aAAa,GAAG"}
@@ -1,8 +0,0 @@
1
- import { Passkeys } from '../components/passkeys';
2
- import RSCRedirect from '../components/rsc-redirect';
3
- import AdminLogin from '../views/admin-login';
4
- import AdminSignup from '../views/admin-signup';
5
- import ForgotPassword from '../views/forgot-password';
6
- import ResetPassword from '../views/reset-password';
7
- import TwoFactorVerify from '../views/two-factor-verify';
8
- export { AdminSignup, AdminLogin, ForgotPassword, ResetPassword, RSCRedirect, TwoFactorVerify, Passkeys, };
@@ -1,10 +0,0 @@
1
- import { Passkeys } from "../components/passkeys";
2
- import RSCRedirect from "../components/rsc-redirect";
3
- import AdminLogin from "../views/admin-login";
4
- import AdminSignup from "../views/admin-signup";
5
- import ForgotPassword from "../views/forgot-password";
6
- import ResetPassword from "../views/reset-password";
7
- import TwoFactorVerify from "../views/two-factor-verify";
8
- export { AdminSignup, AdminLogin, ForgotPassword, ResetPassword, RSCRedirect, TwoFactorVerify, Passkeys };
9
-
10
- //# sourceMappingURL=rsc.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/better-auth/plugin/payload/exports/rsc.ts"],"sourcesContent":["import { Passkeys } from '../components/passkeys';\nimport RSCRedirect from '../components/rsc-redirect';\nimport AdminLogin from '../views/admin-login';\nimport AdminSignup from '../views/admin-signup';\nimport ForgotPassword from '../views/forgot-password';\nimport ResetPassword from '../views/reset-password';\nimport TwoFactorVerify from '../views/two-factor-verify';\n\nexport {\n AdminSignup,\n AdminLogin,\n ForgotPassword,\n ResetPassword,\n RSCRedirect,\n TwoFactorVerify,\n Passkeys,\n};\n"],"names":["Passkeys","RSCRedirect","AdminLogin","AdminSignup","ForgotPassword","ResetPassword","TwoFactorVerify"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,yBAAyB;AAClD,OAAOC,iBAAiB,6BAA6B;AACrD,OAAOC,gBAAgB,uBAAuB;AAC9C,OAAOC,iBAAiB,wBAAwB;AAChD,OAAOC,oBAAoB,2BAA2B;AACtD,OAAOC,mBAAmB,0BAA0B;AACpD,OAAOC,qBAAqB,6BAA6B;AAEzD,SACEH,WAAW,EACXD,UAAU,EACVE,cAAc,EACdC,aAAa,EACbJ,WAAW,EACXK,eAAe,EACfN,QAAQ,GACR"}
@@ -1,2 +0,0 @@
1
- import type { GenerateAdminInviteUrlFn } from '@/better-auth/plugin/types';
2
- export declare const generateAdminInviteUrl: GenerateAdminInviteUrlFn;
@@ -1,9 +0,0 @@
1
- import { adminRoutes } from "@/better-auth/plugin/constants";
2
- export const generateAdminInviteUrl = ({ payload, token })=>{
3
- if (!payload?.config?.serverURL) {
4
- payload.logger.warn('payload.config.serverURL is not set. Set it to generate a full URL for the admin invite link.');
5
- }
6
- return `${payload.getAdminURL()}${adminRoutes.adminSignup}?token=${token}`;
7
- };
8
-
9
- //# sourceMappingURL=generate-admin-invite-url.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/better-auth/plugin/payload/utils/generate-admin-invite-url.ts"],"sourcesContent":["import { adminRoutes } from '@/better-auth/plugin/constants';\nimport type { GenerateAdminInviteUrlFn } from '@/better-auth/plugin/types';\n\nexport const generateAdminInviteUrl: GenerateAdminInviteUrlFn = ({ payload, token }) => {\n if (!payload?.config?.serverURL) {\n payload.logger.warn(\n 'payload.config.serverURL is not set. Set it to generate a full URL for the admin invite link.'\n );\n }\n return `${payload.getAdminURL()}${adminRoutes.adminSignup}?token=${token}`;\n};\n"],"names":["adminRoutes","generateAdminInviteUrl","payload","token","config","serverURL","logger","warn","getAdminURL","adminSignup"],"mappings":"AAAA,SAASA,WAAW,QAAQ,iCAAiC;AAG7D,OAAO,MAAMC,yBAAmD,CAAC,EAAEC,OAAO,EAAEC,KAAK,EAAE;IACjF,IAAI,CAACD,SAASE,QAAQC,WAAW;QAC/BH,QAAQI,MAAM,CAACC,IAAI,CACjB;IAEJ;IACA,OAAO,GAAGL,QAAQM,WAAW,KAAKR,YAAYS,WAAW,CAAC,OAAO,EAAEN,OAAO;AAC5E,EAAE"}
@@ -1 +0,0 @@
1
- export declare const getSafeRedirect: (redirectParam: string | string[], fallback?: string) => string;
@@ -1,22 +0,0 @@
1
- export const getSafeRedirect = (redirectParam, fallback = '/')=>{
2
- if (typeof redirectParam !== 'string') {
3
- return fallback;
4
- }
5
- // Normalize and decode the path
6
- let redirectPath;
7
- try {
8
- redirectPath = decodeURIComponent(redirectParam.trim());
9
- } catch {
10
- return fallback; // invalid encoding
11
- }
12
- const isSafeRedirect = // Must start with a single forward slash (e.g., "/admin")
13
- redirectPath.startsWith('/') && // Prevent protocol-relative URLs (e.g., "//example.com")
14
- !redirectPath.startsWith('//') && // Prevent encoded slashes that could resolve to protocol-relative
15
- !redirectPath.startsWith('/%2F') && // Prevent backslash-based escape attempts (e.g., "/\\/example.com", "/\\\\example.com", "/\\example.com")
16
- !redirectPath.startsWith('/\\/') && !redirectPath.startsWith('/\\\\') && !redirectPath.startsWith('/\\') && // Prevent javascript-based schemes (e.g., "/javascript:alert(1)")
17
- !redirectPath.toLowerCase().startsWith('/javascript:') && // Prevent attempts to redirect to full URLs using "/http:" or "/https:"
18
- !redirectPath.toLowerCase().startsWith('/http');
19
- return isSafeRedirect ? redirectPath : fallback;
20
- };
21
-
22
- //# sourceMappingURL=get-safe-redirect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/better-auth/plugin/payload/utils/get-safe-redirect.ts"],"sourcesContent":["export const getSafeRedirect = (\n redirectParam: string | string[],\n fallback: string = '/'\n): string => {\n if (typeof redirectParam !== 'string') {\n return fallback;\n }\n\n // Normalize and decode the path\n let redirectPath: string;\n try {\n redirectPath = decodeURIComponent(redirectParam.trim());\n } catch {\n return fallback; // invalid encoding\n }\n\n const isSafeRedirect =\n // Must start with a single forward slash (e.g., \"/admin\")\n redirectPath.startsWith('/') &&\n // Prevent protocol-relative URLs (e.g., \"//example.com\")\n !redirectPath.startsWith('//') &&\n // Prevent encoded slashes that could resolve to protocol-relative\n !redirectPath.startsWith('/%2F') &&\n // Prevent backslash-based escape attempts (e.g., \"/\\\\/example.com\", \"/\\\\\\\\example.com\", \"/\\\\example.com\")\n !redirectPath.startsWith('/\\\\/') &&\n !redirectPath.startsWith('/\\\\\\\\') &&\n !redirectPath.startsWith('/\\\\') &&\n // Prevent javascript-based schemes (e.g., \"/javascript:alert(1)\")\n !redirectPath.toLowerCase().startsWith('/javascript:') &&\n // Prevent attempts to redirect to full URLs using \"/http:\" or \"/https:\"\n !redirectPath.toLowerCase().startsWith('/http');\n\n return isSafeRedirect ? redirectPath : fallback;\n};\n"],"names":["getSafeRedirect","redirectParam","fallback","redirectPath","decodeURIComponent","trim","isSafeRedirect","startsWith","toLowerCase"],"mappings":"AAAA,OAAO,MAAMA,kBAAkB,CAC7BC,eACAC,WAAmB,GAAG;IAEtB,IAAI,OAAOD,kBAAkB,UAAU;QACrC,OAAOC;IACT;IAEA,gCAAgC;IAChC,IAAIC;IACJ,IAAI;QACFA,eAAeC,mBAAmBH,cAAcI,IAAI;IACtD,EAAE,OAAM;QACN,OAAOH,UAAU,mBAAmB;IACtC;IAEA,MAAMI,iBACJ,0DAA0D;IAC1DH,aAAaI,UAAU,CAAC,QACxB,yDAAyD;IACzD,CAACJ,aAAaI,UAAU,CAAC,SACzB,kEAAkE;IAClE,CAACJ,aAAaI,UAAU,CAAC,WACzB,0GAA0G;IAC1G,CAACJ,aAAaI,UAAU,CAAC,WACzB,CAACJ,aAAaI,UAAU,CAAC,YACzB,CAACJ,aAAaI,UAAU,CAAC,UACzB,kEAAkE;IAClE,CAACJ,aAAaK,WAAW,GAAGD,UAAU,CAAC,mBACvC,wEAAwE;IACxE,CAACJ,aAAaK,WAAW,GAAGD,UAAU,CAAC;IAEzC,OAAOD,iBAAiBH,eAAeD;AACzC,EAAE"}
@@ -1,19 +0,0 @@
1
- import type { LoginMethod } from '@/better-auth/plugin/types';
2
- import type { LoginWithUsernameOptions } from 'payload';
3
- import React from 'react';
4
- type AdminLoginClientProps = {
5
- loginMethods: LoginMethod[];
6
- hasUsernamePlugin: boolean;
7
- hasPasskeyPlugin: boolean;
8
- prefillEmail?: string;
9
- prefillPassword?: string;
10
- prefillUsername?: string;
11
- searchParams: {
12
- [key: string]: string | string[] | undefined;
13
- };
14
- loginWithUsername: false | LoginWithUsernameOptions;
15
- baseURL?: string;
16
- basePath?: string;
17
- };
18
- export declare const AdminLoginClient: React.FC<AdminLoginClientProps>;
19
- export {};