payload-auth 1.1.1 → 1.2.0

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 (410) hide show
  1. package/dist/authjs/index.d.ts.map +1 -1
  2. package/dist/authjs/index.js +2 -2
  3. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.d.ts +1 -1
  4. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.d.ts.map +1 -1
  5. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.js +3 -3
  6. package/dist/better-auth/adapter/generate-schema/get-payload-schema.d.ts.map +1 -1
  7. package/dist/better-auth/adapter/generate-schema/get-payload-schema.js +4 -4
  8. package/dist/better-auth/adapter/generate-schema/index.js +5 -5
  9. package/dist/better-auth/adapter/generate-schema/utils.js +1 -1
  10. package/dist/better-auth/adapter/index.d.ts +2 -2
  11. package/dist/better-auth/adapter/index.d.ts.map +1 -1
  12. package/dist/better-auth/adapter/index.js +53 -53
  13. package/dist/better-auth/adapter/transform/index.d.ts +5 -5
  14. package/dist/better-auth/adapter/transform/index.d.ts.map +1 -1
  15. package/dist/better-auth/adapter/transform/index.js +69 -69
  16. package/dist/better-auth/adapter/types.d.ts +3 -3
  17. package/dist/better-auth/adapter/types.d.ts.map +1 -1
  18. package/dist/better-auth/adapter/types.js +1 -1
  19. package/dist/better-auth/index.js +4 -4
  20. package/dist/better-auth/plugin/{lib/constants.d.ts → constants.d.ts} +12 -6
  21. package/dist/better-auth/plugin/constants.d.ts.map +1 -0
  22. package/dist/better-auth/plugin/constants.js +62 -0
  23. package/dist/better-auth/plugin/helpers/check-passkey-plugin.d.ts +1 -1
  24. package/dist/better-auth/plugin/helpers/check-passkey-plugin.d.ts.map +1 -1
  25. package/dist/better-auth/plugin/helpers/check-passkey-plugin.js +2 -2
  26. package/dist/better-auth/plugin/helpers/check-username-plugin.d.ts +1 -1
  27. package/dist/better-auth/plugin/helpers/check-username-plugin.d.ts.map +1 -1
  28. package/dist/better-auth/plugin/helpers/check-username-plugin.js +2 -2
  29. package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts +1 -1
  30. package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts.map +1 -1
  31. package/dist/better-auth/plugin/helpers/generate-verify-email-url.js +7 -7
  32. package/dist/better-auth/plugin/helpers/get-admin-access.d.ts +1 -1
  33. package/dist/better-auth/plugin/helpers/get-admin-access.d.ts.map +1 -1
  34. package/dist/better-auth/plugin/helpers/get-admin-access.js +2 -2
  35. package/dist/better-auth/plugin/helpers/get-all-roles.d.ts +1 -1
  36. package/dist/better-auth/plugin/helpers/get-all-roles.d.ts.map +1 -1
  37. package/dist/better-auth/plugin/helpers/get-all-roles.js +4 -4
  38. package/dist/better-auth/plugin/helpers/get-ip.d.ts +1 -1
  39. package/dist/better-auth/plugin/helpers/get-ip.d.ts.map +1 -1
  40. package/dist/better-auth/plugin/helpers/get-ip.js +14 -14
  41. package/dist/better-auth/plugin/helpers/get-requst-collection.d.ts +1 -1
  42. package/dist/better-auth/plugin/helpers/get-requst-collection.d.ts.map +1 -1
  43. package/dist/better-auth/plugin/helpers/get-requst-collection.js +2 -2
  44. package/dist/better-auth/plugin/helpers/index.d.ts +1 -1
  45. package/dist/better-auth/plugin/helpers/index.d.ts.map +1 -1
  46. package/dist/better-auth/plugin/helpers/index.js +1 -1
  47. package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts +3 -3
  48. package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts.map +1 -1
  49. package/dist/better-auth/plugin/helpers/prepare-session-data.js +4 -3
  50. package/dist/better-auth/plugin/helpers/serialize-cookie.d.ts +2 -2
  51. package/dist/better-auth/plugin/helpers/serialize-cookie.d.ts.map +1 -1
  52. package/dist/better-auth/plugin/helpers/serialize-cookie.js +33 -33
  53. package/dist/better-auth/plugin/index.d.ts +6 -6
  54. package/dist/better-auth/plugin/index.d.ts.map +1 -1
  55. package/dist/better-auth/plugin/index.js +19 -53
  56. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts +1 -1
  57. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts.map +1 -1
  58. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.js +6 -6
  59. package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts +3 -3
  60. package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts.map +1 -1
  61. package/dist/better-auth/plugin/lib/build-collections/accounts/index.js +47 -47
  62. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts +3 -3
  63. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts.map +1 -1
  64. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.js +1 -1
  65. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts +1 -1
  66. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts.map +1 -1
  67. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.js +2 -2
  68. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts +3 -3
  69. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts.map +1 -1
  70. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.js +33 -24
  71. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts +3 -3
  72. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts.map +1 -1
  73. package/dist/better-auth/plugin/lib/build-collections/api-keys.js +77 -80
  74. package/dist/better-auth/plugin/lib/build-collections/index.d.ts +3 -3
  75. package/dist/better-auth/plugin/lib/build-collections/index.d.ts.map +1 -1
  76. package/dist/better-auth/plugin/lib/build-collections/index.js +2 -2
  77. package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts +3 -3
  78. package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts.map +1 -1
  79. package/dist/better-auth/plugin/lib/build-collections/invitations.js +30 -30
  80. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts +3 -3
  81. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts.map +1 -1
  82. package/dist/better-auth/plugin/lib/build-collections/jwks.js +13 -13
  83. package/dist/better-auth/plugin/lib/build-collections/members.d.ts +3 -3
  84. package/dist/better-auth/plugin/lib/build-collections/members.d.ts.map +1 -1
  85. package/dist/better-auth/plugin/lib/build-collections/members.js +22 -22
  86. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts +3 -3
  87. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts.map +1 -1
  88. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.js +33 -33
  89. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts +3 -3
  90. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts.map +1 -1
  91. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.js +40 -40
  92. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts +3 -3
  93. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts.map +1 -1
  94. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.js +20 -20
  95. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts +3 -3
  96. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts.map +1 -1
  97. package/dist/better-auth/plugin/lib/build-collections/organizations.js +21 -21
  98. package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts +3 -3
  99. package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts.map +1 -1
  100. package/dist/better-auth/plugin/lib/build-collections/passkeys.js +37 -37
  101. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts +3 -3
  102. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts.map +1 -1
  103. package/dist/better-auth/plugin/lib/build-collections/sessions.js +33 -33
  104. package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts +3 -3
  105. package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts.map +1 -1
  106. package/dist/better-auth/plugin/lib/build-collections/sso-providers.js +29 -29
  107. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts +3 -3
  108. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts.map +1 -1
  109. package/dist/better-auth/plugin/lib/build-collections/teams.js +13 -13
  110. package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts +3 -3
  111. package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts.map +1 -1
  112. package/dist/better-auth/plugin/lib/build-collections/two-factors.js +17 -17
  113. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts +1 -1
  114. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts.map +1 -1
  115. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.js +8 -8
  116. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts +3 -4
  117. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts.map +1 -1
  118. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.js +12 -11
  119. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts +1 -1
  120. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts.map +1 -1
  121. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.js +19 -18
  122. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts +3 -2
  123. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts.map +1 -1
  124. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.js +28 -6
  125. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts +2 -2
  126. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts.map +1 -1
  127. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.js +9 -8
  128. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.d.ts +2 -2
  129. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.d.ts.map +1 -1
  130. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.js +34 -30
  131. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts +1 -1
  132. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts.map +1 -1
  133. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.js +7 -6
  134. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts +1 -1
  135. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts.map +1 -1
  136. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.js +11 -11
  137. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts +2 -2
  138. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts.map +1 -1
  139. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.js +2 -2
  140. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts +1 -1
  141. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts.map +1 -1
  142. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.js +3 -3
  143. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts +1 -1
  144. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts.map +1 -1
  145. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.js +1 -1
  146. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts +1 -1
  147. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts.map +1 -1
  148. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.js +9 -9
  149. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts +3 -3
  150. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts.map +1 -1
  151. package/dist/better-auth/plugin/lib/build-collections/users/index.js +84 -94
  152. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts +1 -1
  153. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts.map +1 -1
  154. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.js +7 -7
  155. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts +1 -1
  156. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts.map +1 -1
  157. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.js +9 -9
  158. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts +3 -3
  159. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts.map +1 -1
  160. package/dist/better-auth/plugin/lib/build-collections/verifications.js +17 -17
  161. package/dist/better-auth/plugin/lib/get-payload-auth.d.ts +2 -2
  162. package/dist/better-auth/plugin/lib/get-payload-auth.d.ts.map +1 -1
  163. package/dist/better-auth/plugin/lib/get-payload-auth.js +1 -1
  164. package/dist/better-auth/plugin/lib/get-required-collection-slugs.d.ts +2 -2
  165. package/dist/better-auth/plugin/lib/get-required-collection-slugs.d.ts.map +1 -1
  166. package/dist/better-auth/plugin/lib/get-required-collection-slugs.js +7 -7
  167. package/dist/better-auth/plugin/lib/init-better-auth.d.ts +4 -4
  168. package/dist/better-auth/plugin/lib/init-better-auth.d.ts.map +1 -1
  169. package/dist/better-auth/plugin/lib/init-better-auth.js +1 -1
  170. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts +1 -1
  171. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts.map +1 -1
  172. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.js +3 -3
  173. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.js +3 -3
  174. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts +4 -4
  175. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts.map +1 -1
  176. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js +12 -12
  177. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.js +10 -11
  178. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.js +15 -16
  179. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.js +3 -3
  180. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.js +3 -3
  181. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts +1 -1
  182. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts.map +1 -1
  183. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.js +7 -6
  184. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.d.ts +1 -1
  185. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.d.ts.map +1 -1
  186. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.js +7 -6
  187. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts +4 -4
  188. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts.map +1 -1
  189. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.js +4 -4
  190. package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts +2 -2
  191. package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts.map +1 -1
  192. package/dist/better-auth/plugin/payload/components/admin-buttons/index.js +18 -18
  193. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts +2 -2
  194. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts.map +1 -1
  195. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.js +58 -40
  196. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.scss +2 -3
  197. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.d.ts +3 -3
  198. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.d.ts.map +1 -1
  199. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.js +7 -9
  200. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.scss +4 -1
  201. package/dist/better-auth/plugin/payload/components/logout-button.d.ts +1 -1
  202. package/dist/better-auth/plugin/payload/components/logout-button.d.ts.map +1 -1
  203. package/dist/better-auth/plugin/payload/components/logout-button.js +7 -9
  204. package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts +1 -1
  205. package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts.map +1 -1
  206. package/dist/better-auth/plugin/payload/components/rsc-redirect.js +1 -1
  207. package/dist/better-auth/plugin/payload/components/token-field.d.ts +2 -2
  208. package/dist/better-auth/plugin/payload/components/token-field.d.ts.map +1 -1
  209. package/dist/better-auth/plugin/payload/components/token-field.js +3 -3
  210. package/dist/better-auth/plugin/payload/exports/client.d.ts +5 -6
  211. package/dist/better-auth/plugin/payload/exports/client.d.ts.map +1 -1
  212. package/dist/better-auth/plugin/payload/exports/client.js +2 -3
  213. package/dist/better-auth/plugin/payload/exports/rsc.d.ts +6 -9
  214. package/dist/better-auth/plugin/payload/exports/rsc.d.ts.map +1 -1
  215. package/dist/better-auth/plugin/payload/exports/rsc.js +5 -8
  216. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts +1 -1
  217. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts.map +1 -1
  218. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.js +6 -5
  219. package/dist/better-auth/plugin/payload/utils/generate-metadata.d.ts +3 -3
  220. package/dist/better-auth/plugin/payload/utils/generate-metadata.d.ts.map +1 -1
  221. package/dist/better-auth/plugin/payload/utils/generate-metadata.js +18 -18
  222. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.d.ts.map +1 -1
  223. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.js +1 -1
  224. package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts +18 -0
  225. package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts.map +1 -0
  226. package/dist/better-auth/plugin/payload/views/admin-login/client.js +192 -0
  227. package/dist/better-auth/plugin/payload/views/admin-login/index.d.ts +11 -0
  228. package/dist/better-auth/plugin/payload/views/admin-login/index.d.ts.map +1 -0
  229. package/dist/better-auth/plugin/payload/views/admin-login/index.js +126 -0
  230. package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts +16 -0
  231. package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts.map +1 -0
  232. package/dist/better-auth/plugin/payload/views/admin-signup/client.js +190 -0
  233. package/dist/better-auth/plugin/payload/views/admin-signup/index.d.ts +12 -0
  234. package/dist/better-auth/plugin/payload/views/admin-signup/index.d.ts.map +1 -0
  235. package/dist/better-auth/plugin/payload/views/admin-signup/index.js +114 -0
  236. package/dist/better-auth/plugin/payload/views/{create-first-admin → admin-signup}/index.scss +1 -1
  237. package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts +4 -7
  238. package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts.map +1 -1
  239. package/dist/better-auth/plugin/payload/views/forgot-password/client.js +72 -100
  240. package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts +6 -6
  241. package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts.map +1 -1
  242. package/dist/better-auth/plugin/payload/views/forgot-password/index.js +23 -34
  243. package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts +4 -2
  244. package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts.map +1 -1
  245. package/dist/better-auth/plugin/payload/views/reset-password/client.js +88 -53
  246. package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts +2 -2
  247. package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts.map +1 -1
  248. package/dist/better-auth/plugin/payload/views/reset-password/index.js +51 -56
  249. package/dist/better-auth/plugin/types.d.ts +37 -19
  250. package/dist/better-auth/plugin/types.d.ts.map +1 -1
  251. package/dist/better-auth/plugin/types.js +1 -1
  252. package/dist/better-auth/types.js +2 -2
  253. package/dist/clerk/admin-ui.js +4 -4
  254. package/dist/clerk/index.js +5 -5
  255. package/dist/clerk/plugin/auth-strategy.js +4 -4
  256. package/dist/clerk/plugin/collections/users/access.js +1 -1
  257. package/dist/clerk/plugin/collections/users/endpoints/sync-from-clerk.d.ts +2 -2
  258. package/dist/clerk/plugin/collections/users/endpoints/sync-from-clerk.d.ts.map +1 -1
  259. package/dist/clerk/plugin/collections/users/endpoints/sync-from-clerk.js +9 -9
  260. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/index.js +4 -4
  261. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userCreated.d.ts.map +1 -1
  262. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userCreated.js +2 -2
  263. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userDeleted.d.ts.map +1 -1
  264. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userDeleted.js +2 -2
  265. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userUpdated.d.ts.map +1 -1
  266. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userUpdated.js +2 -2
  267. package/dist/clerk/plugin/collections/users/endpoints/webhook/index.d.ts.map +1 -1
  268. package/dist/clerk/plugin/collections/users/endpoints/webhook/index.js +5 -4
  269. package/dist/clerk/plugin/collections/users/fields.js +1 -1
  270. package/dist/clerk/plugin/collections/users/index.d.ts +1 -1
  271. package/dist/clerk/plugin/collections/users/index.d.ts.map +1 -1
  272. package/dist/clerk/plugin/collections/users/index.js +7 -7
  273. package/dist/clerk/plugin/components/after-login-form.js +4 -4
  274. package/dist/clerk/plugin/components/logout-button.d.ts.map +1 -1
  275. package/dist/clerk/plugin/components/logout-button.js +17 -17
  276. package/dist/clerk/plugin/components/sync-clerk-users-button.d.ts +1 -1
  277. package/dist/clerk/plugin/components/sync-clerk-users-button.d.ts.map +1 -1
  278. package/dist/clerk/plugin/components/sync-clerk-users-button.js +8 -8
  279. package/dist/clerk/plugin.d.ts +4 -4
  280. package/dist/clerk/plugin.d.ts.map +1 -1
  281. package/dist/clerk/plugin.js +4 -4
  282. package/dist/clerk/types.js +1 -1
  283. package/dist/clerk/utils/clerk-user.d.ts.map +1 -1
  284. package/dist/clerk/utils/clerk-user.js +1 -1
  285. package/dist/clerk/utils/index.js +4 -4
  286. package/dist/clerk/utils/load-clerk-instance.d.ts.map +1 -1
  287. package/dist/clerk/utils/load-clerk-instance.js +2 -2
  288. package/dist/clerk/utils/svix.d.ts +1 -1
  289. package/dist/clerk/utils/svix.d.ts.map +1 -1
  290. package/dist/clerk/utils/svix.js +2 -2
  291. package/dist/clerk/utils/user.d.ts.map +1 -1
  292. package/dist/clerk/utils/user.js +1 -1
  293. package/dist/index.d.ts +4 -4
  294. package/dist/index.d.ts.map +1 -1
  295. package/dist/index.js +1 -1
  296. package/dist/kinde/index.d.ts.map +1 -1
  297. package/dist/kinde/index.js +2 -2
  298. package/dist/{better-auth/plugin/payload → shared}/components/icons.d.ts +3 -3
  299. package/dist/shared/components/icons.d.ts.map +1 -0
  300. package/dist/shared/components/icons.js +437 -0
  301. package/dist/shared/components/logo.d.ts +4 -0
  302. package/dist/shared/components/logo.d.ts.map +1 -0
  303. package/dist/shared/components/logo.js +24 -0
  304. package/dist/shared/form/components/submit.d.ts +8 -0
  305. package/dist/shared/form/components/submit.d.ts.map +1 -0
  306. package/dist/shared/form/components/submit.js +21 -0
  307. package/dist/shared/form/fields/text-field.d.ts +8 -0
  308. package/dist/shared/form/fields/text-field.d.ts.map +1 -0
  309. package/dist/shared/form/fields/text-field.js +41 -0
  310. package/dist/shared/form/index.d.ts +34 -0
  311. package/dist/shared/form/index.d.ts.map +1 -0
  312. package/dist/shared/form/index.js +17 -0
  313. package/dist/shared/form/ui/header/index.d.ts +9 -0
  314. package/dist/shared/form/ui/header/index.d.ts.map +1 -0
  315. package/dist/shared/form/ui/header/index.js +24 -0
  316. package/dist/shared/form/ui/index.d.ts +31 -0
  317. package/dist/shared/form/ui/index.d.ts.map +1 -0
  318. package/dist/shared/form/ui/index.js +60 -0
  319. package/dist/shared/form/ui/index.scss +12 -0
  320. package/dist/shared/index.d.ts +3 -0
  321. package/dist/shared/index.d.ts.map +1 -0
  322. package/dist/shared/index.js +4 -0
  323. package/dist/shared/payload/fields/field-copy-button/index.css +47 -0
  324. package/dist/shared/payload/fields/field-copy-button/index.d.ts +4 -0
  325. package/dist/shared/payload/fields/field-copy-button/index.d.ts.map +1 -0
  326. package/dist/shared/payload/fields/field-copy-button/index.js +38 -0
  327. package/dist/shared/payload/fields/generate-uuid-button/index.css +14 -0
  328. package/dist/shared/payload/fields/generate-uuid-button/index.d.ts +4 -0
  329. package/dist/shared/payload/fields/generate-uuid-button/index.d.ts.map +1 -0
  330. package/dist/shared/payload/fields/generate-uuid-button/index.js +26 -0
  331. package/dist/shared/payload/fields/index.d.ts +3 -0
  332. package/dist/shared/payload/fields/index.d.ts.map +1 -0
  333. package/dist/shared/payload/fields/index.js +4 -0
  334. package/dist/shared/utils/regex.d.ts +3 -0
  335. package/dist/shared/utils/regex.d.ts.map +1 -0
  336. package/dist/shared/utils/regex.js +4 -0
  337. package/dist/shared/utils/try-catch.d.ts +12 -0
  338. package/dist/shared/utils/try-catch.d.ts.map +1 -0
  339. package/dist/shared/utils/try-catch.js +17 -0
  340. package/package.json +7 -5
  341. package/dist/better-auth/plugin/helpers/get-admin-routes.d.ts +0 -14
  342. package/dist/better-auth/plugin/helpers/get-admin-routes.d.ts.map +0 -1
  343. package/dist/better-auth/plugin/helpers/get-admin-routes.js +0 -6
  344. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/forgot-password.d.ts +0 -3
  345. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/forgot-password.d.ts.map +0 -1
  346. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/forgot-password.js +0 -96
  347. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/login.d.ts +0 -4
  348. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/login.d.ts.map +0 -1
  349. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/login.js +0 -115
  350. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.d.ts +0 -3
  351. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.d.ts.map +0 -1
  352. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.js +0 -62
  353. package/dist/better-auth/plugin/lib/constants.d.ts.map +0 -1
  354. package/dist/better-auth/plugin/lib/constants.js +0 -56
  355. package/dist/better-auth/plugin/payload/components/form-header/index.d.ts +0 -9
  356. package/dist/better-auth/plugin/payload/components/form-header/index.d.ts.map +0 -1
  357. package/dist/better-auth/plugin/payload/components/form-header/index.js +0 -23
  358. package/dist/better-auth/plugin/payload/components/icons.d.ts.map +0 -1
  359. package/dist/better-auth/plugin/payload/components/icons.js +0 -437
  360. package/dist/better-auth/plugin/payload/components/logo.d.ts +0 -4
  361. package/dist/better-auth/plugin/payload/components/logo.d.ts.map +0 -1
  362. package/dist/better-auth/plugin/payload/components/logo.js +0 -24
  363. package/dist/better-auth/plugin/payload/components/styles.css +0 -73
  364. package/dist/better-auth/plugin/payload/views/admin-invite/client.d.ts +0 -12
  365. package/dist/better-auth/plugin/payload/views/admin-invite/client.d.ts.map +0 -1
  366. package/dist/better-auth/plugin/payload/views/admin-invite/client.js +0 -92
  367. package/dist/better-auth/plugin/payload/views/admin-invite/index.d.ts +0 -11
  368. package/dist/better-auth/plugin/payload/views/admin-invite/index.d.ts.map +0 -1
  369. package/dist/better-auth/plugin/payload/views/admin-invite/index.js +0 -84
  370. package/dist/better-auth/plugin/payload/views/admin-invite/index.scss +0 -25
  371. package/dist/better-auth/plugin/payload/views/create-first-admin/client.d.ts +0 -14
  372. package/dist/better-auth/plugin/payload/views/create-first-admin/client.d.ts.map +0 -1
  373. package/dist/better-auth/plugin/payload/views/create-first-admin/client.js +0 -95
  374. package/dist/better-auth/plugin/payload/views/create-first-admin/index.d.ts +0 -12
  375. package/dist/better-auth/plugin/payload/views/create-first-admin/index.d.ts.map +0 -1
  376. package/dist/better-auth/plugin/payload/views/create-first-admin/index.js +0 -144
  377. package/dist/better-auth/plugin/payload/views/forgot-password/index.scss +0 -0
  378. package/dist/better-auth/plugin/payload/views/inactivity/index.d.ts +0 -5
  379. package/dist/better-auth/plugin/payload/views/inactivity/index.d.ts.map +0 -1
  380. package/dist/better-auth/plugin/payload/views/inactivity/index.js +0 -12
  381. package/dist/better-auth/plugin/payload/views/login/form/fields/login-field.d.ts +0 -9
  382. package/dist/better-auth/plugin/payload/views/login/form/fields/login-field.d.ts.map +0 -1
  383. package/dist/better-auth/plugin/payload/views/login/form/fields/login-field.js +0 -54
  384. package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.d.ts +0 -1
  385. package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.d.ts.map +0 -1
  386. package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.js +0 -121
  387. package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.scss +0 -31
  388. package/dist/better-auth/plugin/payload/views/login/form/fields/password/types.d.ts +0 -56
  389. package/dist/better-auth/plugin/payload/views/login/form/fields/password/types.d.ts.map +0 -1
  390. package/dist/better-auth/plugin/payload/views/login/form/fields/password/types.js +0 -3
  391. package/dist/better-auth/plugin/payload/views/login/form/index.d.ts +0 -17
  392. package/dist/better-auth/plugin/payload/views/login/form/index.d.ts.map +0 -1
  393. package/dist/better-auth/plugin/payload/views/login/form/index.js +0 -137
  394. package/dist/better-auth/plugin/payload/views/login/form/index.scss +0 -23
  395. package/dist/better-auth/plugin/payload/views/login/index.d.ts +0 -11
  396. package/dist/better-auth/plugin/payload/views/login/index.d.ts.map +0 -1
  397. package/dist/better-auth/plugin/payload/views/login/index.js +0 -98
  398. package/dist/better-auth/plugin/payload/views/login/index.scss +0 -10
  399. package/dist/better-auth/plugin/payload/views/logout/client.d.ts +0 -8
  400. package/dist/better-auth/plugin/payload/views/logout/client.d.ts.map +0 -1
  401. package/dist/better-auth/plugin/payload/views/logout/client.js +0 -76
  402. package/dist/better-auth/plugin/payload/views/logout/index.d.ts +0 -8
  403. package/dist/better-auth/plugin/payload/views/logout/index.d.ts.map +0 -1
  404. package/dist/better-auth/plugin/payload/views/logout/index.js +0 -14
  405. package/dist/better-auth/plugin/payload/views/logout/index.scss +0 -0
  406. package/dist/better-auth/plugin/payload/views/reset-password/index.scss +0 -9
  407. package/dist/better-auth/plugin/payload/views/reset-password/metadata.d.ts +0 -3
  408. package/dist/better-auth/plugin/payload/views/reset-password/metadata.d.ts.map +0 -1
  409. package/dist/better-auth/plugin/payload/views/reset-password/metadata.js +0 -11
  410. /package/dist/{better-auth/plugin/payload/components/form-header → shared/form/ui/header}/index.scss +0 -0
@@ -1,11 +1,8 @@
1
- import CreateFirstAdmin from "../views/create-first-admin";
2
- import Login from "../views/login";
3
- import Logout from "../views/logout";
4
- import Forgot from "../views/forgot-password";
5
- import AdminInvite from "../views/admin-invite";
6
- import Inactivity from "../views/inactivity";
1
+ import AdminSignup from "../views/admin-signup";
2
+ import AdminLogin from "../views/admin-login";
3
+ import ForgotPassword from "../views/forgot-password";
7
4
  import ResetPassword from "../views/reset-password";
8
5
  import RSCRedirect from "../components/rsc-redirect";
9
- export { CreateFirstAdmin, Login, Forgot, AdminInvite, Inactivity, Logout, ResetPassword, RSCRedirect };
6
+ export { AdminSignup, AdminLogin, ForgotPassword, ResetPassword, RSCRedirect };
10
7
 
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC9leHBvcnRzL3JzYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ3JlYXRlRmlyc3RBZG1pbiBmcm9tIFwiLi4vdmlld3MvY3JlYXRlLWZpcnN0LWFkbWluXCI7XG5pbXBvcnQgTG9naW4gZnJvbSBcIi4uL3ZpZXdzL2xvZ2luXCI7XG5pbXBvcnQgTG9nb3V0IGZyb20gXCIuLi92aWV3cy9sb2dvdXRcIjtcbmltcG9ydCBGb3Jnb3QgZnJvbSBcIi4uL3ZpZXdzL2ZvcmdvdC1wYXNzd29yZFwiO1xuaW1wb3J0IEFkbWluSW52aXRlIGZyb20gXCIuLi92aWV3cy9hZG1pbi1pbnZpdGVcIjtcbmltcG9ydCBJbmFjdGl2aXR5IGZyb20gXCIuLi92aWV3cy9pbmFjdGl2aXR5XCI7XG5pbXBvcnQgUmVzZXRQYXNzd29yZCBmcm9tIFwiLi4vdmlld3MvcmVzZXQtcGFzc3dvcmRcIjtcbmltcG9ydCBSU0NSZWRpcmVjdCBmcm9tIFwiLi4vY29tcG9uZW50cy9yc2MtcmVkaXJlY3RcIjtcblxuZXhwb3J0IHtcbiAgQ3JlYXRlRmlyc3RBZG1pbixcbiAgTG9naW4sXG4gIEZvcmdvdCxcbiAgQWRtaW5JbnZpdGUsXG4gIEluYWN0aXZpdHksXG4gIExvZ291dCxcbiAgUmVzZXRQYXNzd29yZCxcbiAgUlNDUmVkaXJlY3QsXG59O1xuIl0sIm5hbWVzIjpbIkNyZWF0ZUZpcnN0QWRtaW4iLCJMb2dpbiIsIkxvZ291dCIsIkZvcmdvdCIsIkFkbWluSW52aXRlIiwiSW5hY3Rpdml0eSIsIlJlc2V0UGFzc3dvcmQiLCJSU0NSZWRpcmVjdCJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0Esc0JBQXNCLDhCQUE4QjtBQUMzRCxPQUFPQyxXQUFXLGlCQUFpQjtBQUNuQyxPQUFPQyxZQUFZLGtCQUFrQjtBQUNyQyxPQUFPQyxZQUFZLDJCQUEyQjtBQUM5QyxPQUFPQyxpQkFBaUIsd0JBQXdCO0FBQ2hELE9BQU9DLGdCQUFnQixzQkFBc0I7QUFDN0MsT0FBT0MsbUJBQW1CLDBCQUEwQjtBQUNwRCxPQUFPQyxpQkFBaUIsNkJBQTZCO0FBRXJELFNBQ0VQLGdCQUFnQixFQUNoQkMsS0FBSyxFQUNMRSxNQUFNLEVBQ05DLFdBQVcsRUFDWEMsVUFBVSxFQUNWSCxNQUFNLEVBQ05JLGFBQWEsRUFDYkMsV0FBVyxHQUNYIn0=
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC9leHBvcnRzL3JzYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQWRtaW5TaWdudXAgZnJvbSAnLi4vdmlld3MvYWRtaW4tc2lnbnVwJ1xuaW1wb3J0IEFkbWluTG9naW4gZnJvbSAnLi4vdmlld3MvYWRtaW4tbG9naW4nXG5pbXBvcnQgRm9yZ290UGFzc3dvcmQgZnJvbSAnLi4vdmlld3MvZm9yZ290LXBhc3N3b3JkJ1xuaW1wb3J0IFJlc2V0UGFzc3dvcmQgZnJvbSAnLi4vdmlld3MvcmVzZXQtcGFzc3dvcmQnXG5pbXBvcnQgUlNDUmVkaXJlY3QgZnJvbSAnLi4vY29tcG9uZW50cy9yc2MtcmVkaXJlY3QnXG5cbmV4cG9ydCB7IEFkbWluU2lnbnVwLCBBZG1pbkxvZ2luLCBGb3Jnb3RQYXNzd29yZCwgUmVzZXRQYXNzd29yZCwgUlNDUmVkaXJlY3QgfVxuIl0sIm5hbWVzIjpbIkFkbWluU2lnbnVwIiwiQWRtaW5Mb2dpbiIsIkZvcmdvdFBhc3N3b3JkIiwiUmVzZXRQYXNzd29yZCIsIlJTQ1JlZGlyZWN0Il0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxpQkFBaUIsd0JBQXVCO0FBQy9DLE9BQU9DLGdCQUFnQix1QkFBc0I7QUFDN0MsT0FBT0Msb0JBQW9CLDJCQUEwQjtBQUNyRCxPQUFPQyxtQkFBbUIsMEJBQXlCO0FBQ25ELE9BQU9DLGlCQUFpQiw2QkFBNEI7QUFFcEQsU0FBU0osV0FBVyxFQUFFQyxVQUFVLEVBQUVDLGNBQWMsRUFBRUMsYUFBYSxFQUFFQyxXQUFXLEdBQUUifQ==
@@ -1,3 +1,3 @@
1
- import type { GenerateAdminInviteUrlFn } from "../../types";
1
+ import type { GenerateAdminInviteUrlFn } from '@/better-auth/plugin/types';
2
2
  export declare const generateAdminInviteUrl: GenerateAdminInviteUrlFn;
3
3
  //# sourceMappingURL=generate-admin-invite-url.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-admin-invite-url.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/payload/utils/generate-admin-invite-url.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5D,eAAO,MAAM,sBAAsB,EAAE,wBAcpC,CAAC"}
1
+ {"version":3,"file":"generate-admin-invite-url.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/payload/utils/generate-admin-invite-url.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAE1E,eAAO,MAAM,sBAAsB,EAAE,wBAKpC,CAAA"}
@@ -1,8 +1,9 @@
1
- import { getAdminRoutes } from "../../helpers/get-admin-routes";
1
+ import { adminRoutes } from "../../constants";
2
2
  export const generateAdminInviteUrl = ({ payload, token })=>{
3
- const { routes: { admin: adminRoute }, serverURL, admin: { custom } } = payload.config;
4
- const adminRoutes = getAdminRoutes(custom);
5
- return `${serverURL}${adminRoute}${adminRoutes.adminInvite}?token=${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}`;
6
7
  };
7
8
 
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC91dGlscy9nZW5lcmF0ZS1hZG1pbi1pbnZpdGUtdXJsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGF5bG9hZCB9IGZyb20gXCJwYXlsb2FkXCI7XG5pbXBvcnQgeyBnZXRBZG1pblJvdXRlcyB9IGZyb20gXCIuLi8uLi9oZWxwZXJzL2dldC1hZG1pbi1yb3V0ZXNcIjtcbmltcG9ydCB0eXBlIHsgR2VuZXJhdGVBZG1pbkludml0ZVVybEZuIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZUFkbWluSW52aXRlVXJsOiBHZW5lcmF0ZUFkbWluSW52aXRlVXJsRm4gPSAoe1xuICBwYXlsb2FkLFxuICB0b2tlbixcbn06IHtcbiAgcGF5bG9hZDogUGF5bG9hZDtcbiAgdG9rZW46IHN0cmluZztcbn0pID0+IHtcbiAgY29uc3Qge1xuICAgIHJvdXRlczogeyBhZG1pbjogYWRtaW5Sb3V0ZSB9LFxuICAgIHNlcnZlclVSTCxcbiAgICBhZG1pbjogeyBjdXN0b20gfSxcbiAgfSA9IHBheWxvYWQuY29uZmlnO1xuICBjb25zdCBhZG1pblJvdXRlcyA9IGdldEFkbWluUm91dGVzKGN1c3RvbSk7XG4gIHJldHVybiBgJHtzZXJ2ZXJVUkx9JHthZG1pblJvdXRlfSR7YWRtaW5Sb3V0ZXMuYWRtaW5JbnZpdGV9P3Rva2VuPSR7dG9rZW59YDtcbn07XG4iXSwibmFtZXMiOlsiZ2V0QWRtaW5Sb3V0ZXMiLCJnZW5lcmF0ZUFkbWluSW52aXRlVXJsIiwicGF5bG9hZCIsInRva2VuIiwicm91dGVzIiwiYWRtaW4iLCJhZG1pblJvdXRlIiwic2VydmVyVVJMIiwiY3VzdG9tIiwiY29uZmlnIiwiYWRtaW5Sb3V0ZXMiLCJhZG1pbkludml0ZSJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsY0FBYyxRQUFRLGlDQUFpQztBQUdoRSxPQUFPLE1BQU1DLHlCQUFtRCxDQUFDLEVBQy9EQyxPQUFPLEVBQ1BDLEtBQUssRUFJTjtJQUNDLE1BQU0sRUFDSkMsUUFBUSxFQUFFQyxPQUFPQyxVQUFVLEVBQUUsRUFDN0JDLFNBQVMsRUFDVEYsT0FBTyxFQUFFRyxNQUFNLEVBQUUsRUFDbEIsR0FBR04sUUFBUU8sTUFBTTtJQUNsQixNQUFNQyxjQUFjVixlQUFlUTtJQUNuQyxPQUFPLEdBQUdELFlBQVlELGFBQWFJLFlBQVlDLFdBQVcsQ0FBQyxPQUFPLEVBQUVSLE9BQU87QUFDN0UsRUFBRSJ9
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC91dGlscy9nZW5lcmF0ZS1hZG1pbi1pbnZpdGUtdXJsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFkbWluUm91dGVzIH0gZnJvbSAnQC9iZXR0ZXItYXV0aC9wbHVnaW4vY29uc3RhbnRzJ1xuaW1wb3J0IHR5cGUgeyBHZW5lcmF0ZUFkbWluSW52aXRlVXJsRm4gfSBmcm9tICdAL2JldHRlci1hdXRoL3BsdWdpbi90eXBlcydcblxuZXhwb3J0IGNvbnN0IGdlbmVyYXRlQWRtaW5JbnZpdGVVcmw6IEdlbmVyYXRlQWRtaW5JbnZpdGVVcmxGbiA9ICh7IHBheWxvYWQsIHRva2VuIH0pID0+IHtcbiAgaWYgKCFwYXlsb2FkPy5jb25maWc/LnNlcnZlclVSTCkge1xuICAgIHBheWxvYWQubG9nZ2VyLndhcm4oJ3BheWxvYWQuY29uZmlnLnNlcnZlclVSTCBpcyBub3Qgc2V0LiBTZXQgaXQgdG8gZ2VuZXJhdGUgYSBmdWxsIFVSTCBmb3IgdGhlIGFkbWluIGludml0ZSBsaW5rLicpXG4gIH1cbiAgcmV0dXJuIGAke3BheWxvYWQuZ2V0QWRtaW5VUkwoKX0ke2FkbWluUm91dGVzLmFkbWluU2lnbnVwfT90b2tlbj0ke3Rva2VufWBcbn1cbiJdLCJuYW1lcyI6WyJhZG1pblJvdXRlcyIsImdlbmVyYXRlQWRtaW5JbnZpdGVVcmwiLCJwYXlsb2FkIiwidG9rZW4iLCJjb25maWciLCJzZXJ2ZXJVUkwiLCJsb2dnZXIiLCJ3YXJuIiwiZ2V0QWRtaW5VUkwiLCJhZG1pblNpZ251cCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsV0FBVyxRQUFRLGtCQUFnQztBQUc1RCxPQUFPLE1BQU1DLHlCQUFtRCxDQUFDLEVBQUVDLE9BQU8sRUFBRUMsS0FBSyxFQUFFO0lBQ2pGLElBQUksQ0FBQ0QsU0FBU0UsUUFBUUMsV0FBVztRQUMvQkgsUUFBUUksTUFBTSxDQUFDQyxJQUFJLENBQUM7SUFDdEI7SUFDQSxPQUFPLEdBQUdMLFFBQVFNLFdBQVcsS0FBS1IsWUFBWVMsV0FBVyxDQUFDLE9BQU8sRUFBRU4sT0FBTztBQUM1RSxFQUFDIn0=
@@ -1,6 +1,6 @@
1
- import type { Metadata } from "next";
2
- import type { MetaConfig, SanitizedConfig } from "payload";
3
- import type { I18nClient } from "@payloadcms/translations";
1
+ import type { Metadata } from 'next';
2
+ import type { MetaConfig, SanitizedConfig } from 'payload';
3
+ import type { I18nClient } from '@payloadcms/translations';
4
4
  export declare const generateMetadata: (args: {
5
5
  serverURL: string;
6
6
  } & MetaConfig) => Promise<Metadata>;
@@ -1 +1 @@
1
- {"version":3,"file":"generate-metadata.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/payload/utils/generate-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAgB3D,eAAO,MAAM,gBAAgB,GAC3B,MAAM;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,KACvC,OAAO,CAAC,QAAQ,CA8FlB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAC;IACxB,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;CAC/C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"generate-metadata.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/payload/utils/generate-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAEpC,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAW1D,eAAO,MAAM,gBAAgB,GAAU,MAAM;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,KAAG,OAAO,CAAC,QAAQ,CA6EjG,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA"}
@@ -1,9 +1,9 @@
1
1
  import { payloadFaviconDark, payloadFaviconLight, staticOGImage } from "@payloadcms/ui/assets";
2
2
  import * as qs from "qs-esm";
3
3
  const defaultOpenGraph = {
4
- description: "Payload is a headless CMS and application framework built with TypeScript, Node.js, and React.",
5
- siteName: "Payload App",
6
- title: "Payload App"
4
+ description: 'Payload is a headless CMS and application framework built with TypeScript, Node.js, and React.',
5
+ siteName: 'Payload App',
6
+ title: 'Payload App'
7
7
  };
8
8
  export const generateMetadata = async (args)=>{
9
9
  const { defaultOGImageType, serverURL, titleSuffix, ...rest } = args;
@@ -14,27 +14,27 @@ export const generateMetadata = async (args)=>{
14
14
  */ const incomingMetadata = rest;
15
15
  const icons = incomingMetadata.icons || [
16
16
  {
17
- type: "image/png",
18
- rel: "icon",
19
- sizes: "32x32",
20
- url: typeof payloadFaviconDark === "object" ? payloadFaviconDark?.src : payloadFaviconDark
17
+ type: 'image/png',
18
+ rel: 'icon',
19
+ sizes: '32x32',
20
+ url: typeof payloadFaviconDark === 'object' ? payloadFaviconDark?.src : payloadFaviconDark
21
21
  },
22
22
  {
23
- type: "image/png",
24
- media: "(prefers-color-scheme: dark)",
25
- rel: "icon",
26
- sizes: "32x32",
27
- url: typeof payloadFaviconLight === "object" ? payloadFaviconLight?.src : payloadFaviconLight
23
+ type: 'image/png',
24
+ media: '(prefers-color-scheme: dark)',
25
+ rel: 'icon',
26
+ sizes: '32x32',
27
+ url: typeof payloadFaviconLight === 'object' ? payloadFaviconLight?.src : payloadFaviconLight
28
28
  }
29
29
  ];
30
30
  const metaTitle = [
31
31
  incomingMetadata.title,
32
32
  titleSuffix
33
- ].filter(Boolean).join(" ");
34
- const ogTitle = `${typeof incomingMetadata.openGraph?.title === "string" ? incomingMetadata.openGraph.title : incomingMetadata.title} ${titleSuffix}`;
33
+ ].filter(Boolean).join(' ');
34
+ const ogTitle = `${typeof incomingMetadata.openGraph?.title === 'string' ? incomingMetadata.openGraph.title : incomingMetadata.title} ${titleSuffix}`;
35
35
  const mergedOpenGraph = {
36
36
  ...defaultOpenGraph || {},
37
- ...defaultOGImageType === "dynamic" ? {
37
+ ...defaultOGImageType === 'dynamic' ? {
38
38
  images: [
39
39
  {
40
40
  alt: ogTitle,
@@ -49,12 +49,12 @@ export const generateMetadata = async (args)=>{
49
49
  }
50
50
  ]
51
51
  } : {},
52
- ...defaultOGImageType === "static" ? {
52
+ ...defaultOGImageType === 'static' ? {
53
53
  images: [
54
54
  {
55
55
  alt: ogTitle,
56
56
  height: 480,
57
- url: typeof staticOGImage === "object" ? staticOGImage?.src : staticOGImage,
57
+ url: typeof staticOGImage === 'object' ? staticOGImage?.src : staticOGImage,
58
58
  width: 640
59
59
  }
60
60
  ]
@@ -71,4 +71,4 @@ export const generateMetadata = async (args)=>{
71
71
  });
72
72
  };
73
73
 
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC91dGlscy9nZW5lcmF0ZS1tZXRhZGF0YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1ldGFkYXRhIH0gZnJvbSBcIm5leHRcIjtcbmltcG9ydCB0eXBlIHsgSWNvbiB9IGZyb20gXCJuZXh0L2Rpc3QvbGliL21ldGFkYXRhL3R5cGVzL21ldGFkYXRhLXR5cGVzLmpzXCI7XG5pbXBvcnQgdHlwZSB7IE1ldGFDb25maWcsIFNhbml0aXplZENvbmZpZyB9IGZyb20gXCJwYXlsb2FkXCI7XG5pbXBvcnQgdHlwZSB7IEkxOG5DbGllbnQgfSBmcm9tIFwiQHBheWxvYWRjbXMvdHJhbnNsYXRpb25zXCI7XG5cbmltcG9ydCB7XG4gIHBheWxvYWRGYXZpY29uRGFyayxcbiAgcGF5bG9hZEZhdmljb25MaWdodCxcbiAgc3RhdGljT0dJbWFnZSxcbn0gZnJvbSBcIkBwYXlsb2FkY21zL3VpL2Fzc2V0c1wiO1xuaW1wb3J0ICogYXMgcXMgZnJvbSBcInFzLWVzbVwiO1xuXG5jb25zdCBkZWZhdWx0T3BlbkdyYXBoOiBNZXRhZGF0YVtcIm9wZW5HcmFwaFwiXSA9IHtcbiAgZGVzY3JpcHRpb246XG4gICAgXCJQYXlsb2FkIGlzIGEgaGVhZGxlc3MgQ01TIGFuZCBhcHBsaWNhdGlvbiBmcmFtZXdvcmsgYnVpbHQgd2l0aCBUeXBlU2NyaXB0LCBOb2RlLmpzLCBhbmQgUmVhY3QuXCIsXG4gIHNpdGVOYW1lOiBcIlBheWxvYWQgQXBwXCIsXG4gIHRpdGxlOiBcIlBheWxvYWQgQXBwXCIsXG59O1xuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVNZXRhZGF0YSA9IGFzeW5jIChcbiAgYXJnczogeyBzZXJ2ZXJVUkw6IHN0cmluZyB9ICYgTWV0YUNvbmZpZ1xuKTogUHJvbWlzZTxNZXRhZGF0YT4gPT4ge1xuICBjb25zdCB7IGRlZmF1bHRPR0ltYWdlVHlwZSwgc2VydmVyVVJMLCB0aXRsZVN1ZmZpeCwgLi4ucmVzdCB9ID0gYXJncztcblxuICAvKipcbiAgICogQHRvZG8gZmluZCBhIHdheSB0byByZW1vdmUgdGhlIHR5cGUgYXNzZXJ0aW9uIGhlcmUuXG4gICAqIEl0IGlzIGEgcmVzdWx0IG9mIG5lZWRpbmcgdG8gYERlZXBDb3B5YCB0aGUgYE1ldGFDb25maWdgIHR5cGUgZnJvbSBQYXlsb2FkLlxuICAgKiBUaGlzIGlzIHJlcXVpcmVkIGZvciB0aGUgYERlZXBSZXF1aXJlZGAgZnJvbSBgQ29uZmlnYCB0byBgU2FuaXRpemVkQ29uZmlnYC5cbiAgICovXG4gIGNvbnN0IGluY29taW5nTWV0YWRhdGEgPSByZXN0IGFzIE1ldGFkYXRhO1xuXG4gIGNvbnN0IGljb25zOiBNZXRhZGF0YVtcImljb25zXCJdID1cbiAgICBpbmNvbWluZ01ldGFkYXRhLmljb25zIHx8XG4gICAgKFtcbiAgICAgIHtcbiAgICAgICAgdHlwZTogXCJpbWFnZS9wbmdcIixcbiAgICAgICAgcmVsOiBcImljb25cIixcbiAgICAgICAgc2l6ZXM6IFwiMzJ4MzJcIixcbiAgICAgICAgdXJsOlxuICAgICAgICAgIHR5cGVvZiBwYXlsb2FkRmF2aWNvbkRhcmsgPT09IFwib2JqZWN0XCJcbiAgICAgICAgICAgID8gcGF5bG9hZEZhdmljb25EYXJrPy5zcmNcbiAgICAgICAgICAgIDogcGF5bG9hZEZhdmljb25EYXJrLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogXCJpbWFnZS9wbmdcIixcbiAgICAgICAgbWVkaWE6IFwiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKVwiLFxuICAgICAgICByZWw6IFwiaWNvblwiLFxuICAgICAgICBzaXplczogXCIzMngzMlwiLFxuICAgICAgICB1cmw6XG4gICAgICAgICAgdHlwZW9mIHBheWxvYWRGYXZpY29uTGlnaHQgPT09IFwib2JqZWN0XCJcbiAgICAgICAgICAgID8gcGF5bG9hZEZhdmljb25MaWdodD8uc3JjXG4gICAgICAgICAgICA6IHBheWxvYWRGYXZpY29uTGlnaHQsXG4gICAgICB9LFxuICAgIF0gc2F0aXNmaWVzIEFycmF5PEljb24+KTtcblxuICBjb25zdCBtZXRhVGl0bGU6IE1ldGFkYXRhW1widGl0bGVcIl0gPSBbaW5jb21pbmdNZXRhZGF0YS50aXRsZSwgdGl0bGVTdWZmaXhdXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICAgIC5qb2luKFwiIFwiKTtcblxuICBjb25zdCBvZ1RpdGxlID0gYCR7dHlwZW9mIGluY29taW5nTWV0YWRhdGEub3BlbkdyYXBoPy50aXRsZSA9PT0gXCJzdHJpbmdcIiA/IGluY29taW5nTWV0YWRhdGEub3BlbkdyYXBoLnRpdGxlIDogaW5jb21pbmdNZXRhZGF0YS50aXRsZX0gJHt0aXRsZVN1ZmZpeH1gO1xuXG4gIGNvbnN0IG1lcmdlZE9wZW5HcmFwaDogTWV0YWRhdGFbXCJvcGVuR3JhcGhcIl0gPSB7XG4gICAgLi4uKGRlZmF1bHRPcGVuR3JhcGggfHwge30pLFxuICAgIC4uLihkZWZhdWx0T0dJbWFnZVR5cGUgPT09IFwiZHluYW1pY1wiXG4gICAgICA/IHtcbiAgICAgICAgICBpbWFnZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYWx0OiBvZ1RpdGxlLFxuICAgICAgICAgICAgICBoZWlnaHQ6IDYzMCxcbiAgICAgICAgICAgICAgdXJsOiBgL2FwaS9vZyR7cXMuc3RyaW5naWZ5KFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgICAgICBpbmNvbWluZ01ldGFkYXRhLm9wZW5HcmFwaD8uZGVzY3JpcHRpb24gfHxcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdE9wZW5HcmFwaC5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgIHRpdGxlOiBvZ1RpdGxlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgYWRkUXVlcnlQcmVmaXg6IHRydWUsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICApfWAsXG4gICAgICAgICAgICAgIHdpZHRoOiAxMjAwLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9XG4gICAgICA6IHt9KSxcbiAgICAuLi4oZGVmYXVsdE9HSW1hZ2VUeXBlID09PSBcInN0YXRpY1wiXG4gICAgICA/IHtcbiAgICAgICAgICBpbWFnZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYWx0OiBvZ1RpdGxlLFxuICAgICAgICAgICAgICBoZWlnaHQ6IDQ4MCxcbiAgICAgICAgICAgICAgdXJsOlxuICAgICAgICAgICAgICAgIHR5cGVvZiBzdGF0aWNPR0ltYWdlID09PSBcIm9iamVjdFwiXG4gICAgICAgICAgICAgICAgICA/IHN0YXRpY09HSW1hZ2U/LnNyY1xuICAgICAgICAgICAgICAgICAgOiBzdGF0aWNPR0ltYWdlLFxuICAgICAgICAgICAgICB3aWR0aDogNjQwLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9XG4gICAgICA6IHt9KSxcbiAgICB0aXRsZTogb2dUaXRsZSxcbiAgICAuLi4oaW5jb21pbmdNZXRhZGF0YS5vcGVuR3JhcGggfHwge30pLFxuICB9O1xuXG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgIC4uLmluY29taW5nTWV0YWRhdGEsXG4gICAgaWNvbnMsXG4gICAgbWV0YWRhdGFCYXNlOiBuZXcgVVJMKFxuICAgICAgc2VydmVyVVJMIHx8XG4gICAgICAgIHByb2Nlc3MuZW52LlBBWUxPQURfUFVCTElDX1NFUlZFUl9VUkwgfHxcbiAgICAgICAgYGh0dHA6Ly9sb2NhbGhvc3Q6JHtwcm9jZXNzLmVudi5QT1JUIHx8IDMwMDB9YFxuICAgICksXG4gICAgb3BlbkdyYXBoOiBtZXJnZWRPcGVuR3JhcGgsXG4gICAgdGl0bGU6IG1ldGFUaXRsZSxcbiAgfSk7XG59O1xuXG5leHBvcnQgdHlwZSBHZW5lcmF0ZVZpZXdNZXRhZGF0YSA9IChhcmdzOiB7XG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnO1xuICBpMThuOiBJMThuQ2xpZW50O1xuICBpc0VkaXRpbmc/OiBib29sZWFuO1xuICBwYXJhbXM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdIH07XG59KSA9PiBQcm9taXNlPE1ldGFkYXRhPjtcbiJdLCJuYW1lcyI6WyJwYXlsb2FkRmF2aWNvbkRhcmsiLCJwYXlsb2FkRmF2aWNvbkxpZ2h0Iiwic3RhdGljT0dJbWFnZSIsInFzIiwiZGVmYXVsdE9wZW5HcmFwaCIsImRlc2NyaXB0aW9uIiwic2l0ZU5hbWUiLCJ0aXRsZSIsImdlbmVyYXRlTWV0YWRhdGEiLCJhcmdzIiwiZGVmYXVsdE9HSW1hZ2VUeXBlIiwic2VydmVyVVJMIiwidGl0bGVTdWZmaXgiLCJyZXN0IiwiaW5jb21pbmdNZXRhZGF0YSIsImljb25zIiwidHlwZSIsInJlbCIsInNpemVzIiwidXJsIiwic3JjIiwibWVkaWEiLCJtZXRhVGl0bGUiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsIm9nVGl0bGUiLCJvcGVuR3JhcGgiLCJtZXJnZWRPcGVuR3JhcGgiLCJpbWFnZXMiLCJhbHQiLCJoZWlnaHQiLCJzdHJpbmdpZnkiLCJhZGRRdWVyeVByZWZpeCIsIndpZHRoIiwiUHJvbWlzZSIsInJlc29sdmUiLCJtZXRhZGF0YUJhc2UiLCJVUkwiLCJwcm9jZXNzIiwiZW52IiwiUEFZTE9BRF9QVUJMSUNfU0VSVkVSX1VSTCIsIlBPUlQiXSwibWFwcGluZ3MiOiJBQUtBLFNBQ0VBLGtCQUFrQixFQUNsQkMsbUJBQW1CLEVBQ25CQyxhQUFhLFFBQ1Isd0JBQXdCO0FBQy9CLFlBQVlDLFFBQVEsU0FBUztBQUU3QixNQUFNQyxtQkFBMEM7SUFDOUNDLGFBQ0U7SUFDRkMsVUFBVTtJQUNWQyxPQUFPO0FBQ1Q7QUFFQSxPQUFPLE1BQU1DLG1CQUFtQixPQUM5QkM7SUFFQSxNQUFNLEVBQUVDLGtCQUFrQixFQUFFQyxTQUFTLEVBQUVDLFdBQVcsRUFBRSxHQUFHQyxNQUFNLEdBQUdKO0lBRWhFOzs7O0dBSUMsR0FDRCxNQUFNSyxtQkFBbUJEO0lBRXpCLE1BQU1FLFFBQ0pELGlCQUFpQkMsS0FBSyxJQUNyQjtRQUNDO1lBQ0VDLE1BQU07WUFDTkMsS0FBSztZQUNMQyxPQUFPO1lBQ1BDLEtBQ0UsT0FBT25CLHVCQUF1QixXQUMxQkEsb0JBQW9Cb0IsTUFDcEJwQjtRQUNSO1FBQ0E7WUFDRWdCLE1BQU07WUFDTkssT0FBTztZQUNQSixLQUFLO1lBQ0xDLE9BQU87WUFDUEMsS0FDRSxPQUFPbEIsd0JBQXdCLFdBQzNCQSxxQkFBcUJtQixNQUNyQm5CO1FBQ1I7S0FDRDtJQUVILE1BQU1xQixZQUErQjtRQUFDUixpQkFBaUJQLEtBQUs7UUFBRUs7S0FBWSxDQUN2RVcsTUFBTSxDQUFDQyxTQUNQQyxJQUFJLENBQUM7SUFFUixNQUFNQyxVQUFVLEdBQUcsT0FBT1osaUJBQWlCYSxTQUFTLEVBQUVwQixVQUFVLFdBQVdPLGlCQUFpQmEsU0FBUyxDQUFDcEIsS0FBSyxHQUFHTyxpQkFBaUJQLEtBQUssQ0FBQyxDQUFDLEVBQUVLLGFBQWE7SUFFckosTUFBTWdCLGtCQUF5QztRQUM3QyxHQUFJeEIsb0JBQW9CLENBQUMsQ0FBQztRQUMxQixHQUFJTSx1QkFBdUIsWUFDdkI7WUFDRW1CLFFBQVE7Z0JBQ047b0JBQ0VDLEtBQUtKO29CQUNMSyxRQUFRO29CQUNSWixLQUFLLENBQUMsT0FBTyxFQUFFaEIsR0FBRzZCLFNBQVMsQ0FDekI7d0JBQ0UzQixhQUNFUyxpQkFBaUJhLFNBQVMsRUFBRXRCLGVBQzVCRCxpQkFBaUJDLFdBQVc7d0JBQzlCRSxPQUFPbUI7b0JBQ1QsR0FDQTt3QkFDRU8sZ0JBQWdCO29CQUNsQixJQUNDO29CQUNIQyxPQUFPO2dCQUNUO2FBQ0Q7UUFDSCxJQUNBLENBQUMsQ0FBQztRQUNOLEdBQUl4Qix1QkFBdUIsV0FDdkI7WUFDRW1CLFFBQVE7Z0JBQ047b0JBQ0VDLEtBQUtKO29CQUNMSyxRQUFRO29CQUNSWixLQUNFLE9BQU9qQixrQkFBa0IsV0FDckJBLGVBQWVrQixNQUNmbEI7b0JBQ05nQyxPQUFPO2dCQUNUO2FBQ0Q7UUFDSCxJQUNBLENBQUMsQ0FBQztRQUNOM0IsT0FBT21CO1FBQ1AsR0FBSVosaUJBQWlCYSxTQUFTLElBQUksQ0FBQyxDQUFDO0lBQ3RDO0lBRUEsT0FBT1EsUUFBUUMsT0FBTyxDQUFDO1FBQ3JCLEdBQUd0QixnQkFBZ0I7UUFDbkJDO1FBQ0FzQixjQUFjLElBQUlDLElBQ2hCM0IsYUFDRTRCLFFBQVFDLEdBQUcsQ0FBQ0MseUJBQXlCLElBQ3JDLENBQUMsaUJBQWlCLEVBQUVGLFFBQVFDLEdBQUcsQ0FBQ0UsSUFBSSxJQUFJLE1BQU07UUFFbERmLFdBQVdDO1FBQ1hyQixPQUFPZTtJQUNUO0FBQ0YsRUFBRSJ9
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC91dGlscy9nZW5lcmF0ZS1tZXRhZGF0YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1ldGFkYXRhIH0gZnJvbSAnbmV4dCdcbmltcG9ydCB0eXBlIHsgSWNvbiB9IGZyb20gJ25leHQvZGlzdC9saWIvbWV0YWRhdGEvdHlwZXMvbWV0YWRhdGEtdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IE1ldGFDb25maWcsIFNhbml0aXplZENvbmZpZyB9IGZyb20gJ3BheWxvYWQnXG5pbXBvcnQgdHlwZSB7IEkxOG5DbGllbnQgfSBmcm9tICdAcGF5bG9hZGNtcy90cmFuc2xhdGlvbnMnXG5cbmltcG9ydCB7IHBheWxvYWRGYXZpY29uRGFyaywgcGF5bG9hZEZhdmljb25MaWdodCwgc3RhdGljT0dJbWFnZSB9IGZyb20gJ0BwYXlsb2FkY21zL3VpL2Fzc2V0cydcbmltcG9ydCAqIGFzIHFzIGZyb20gJ3FzLWVzbSdcblxuY29uc3QgZGVmYXVsdE9wZW5HcmFwaDogTWV0YWRhdGFbJ29wZW5HcmFwaCddID0ge1xuICBkZXNjcmlwdGlvbjogJ1BheWxvYWQgaXMgYSBoZWFkbGVzcyBDTVMgYW5kIGFwcGxpY2F0aW9uIGZyYW1ld29yayBidWlsdCB3aXRoIFR5cGVTY3JpcHQsIE5vZGUuanMsIGFuZCBSZWFjdC4nLFxuICBzaXRlTmFtZTogJ1BheWxvYWQgQXBwJyxcbiAgdGl0bGU6ICdQYXlsb2FkIEFwcCdcbn1cblxuZXhwb3J0IGNvbnN0IGdlbmVyYXRlTWV0YWRhdGEgPSBhc3luYyAoYXJnczogeyBzZXJ2ZXJVUkw6IHN0cmluZyB9ICYgTWV0YUNvbmZpZyk6IFByb21pc2U8TWV0YWRhdGE+ID0+IHtcbiAgY29uc3QgeyBkZWZhdWx0T0dJbWFnZVR5cGUsIHNlcnZlclVSTCwgdGl0bGVTdWZmaXgsIC4uLnJlc3QgfSA9IGFyZ3NcblxuICAvKipcbiAgICogQHRvZG8gZmluZCBhIHdheSB0byByZW1vdmUgdGhlIHR5cGUgYXNzZXJ0aW9uIGhlcmUuXG4gICAqIEl0IGlzIGEgcmVzdWx0IG9mIG5lZWRpbmcgdG8gYERlZXBDb3B5YCB0aGUgYE1ldGFDb25maWdgIHR5cGUgZnJvbSBQYXlsb2FkLlxuICAgKiBUaGlzIGlzIHJlcXVpcmVkIGZvciB0aGUgYERlZXBSZXF1aXJlZGAgZnJvbSBgQ29uZmlnYCB0byBgU2FuaXRpemVkQ29uZmlnYC5cbiAgICovXG4gIGNvbnN0IGluY29taW5nTWV0YWRhdGEgPSByZXN0IGFzIE1ldGFkYXRhXG5cbiAgY29uc3QgaWNvbnM6IE1ldGFkYXRhWydpY29ucyddID1cbiAgICBpbmNvbWluZ01ldGFkYXRhLmljb25zIHx8XG4gICAgKFtcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ2ltYWdlL3BuZycsXG4gICAgICAgIHJlbDogJ2ljb24nLFxuICAgICAgICBzaXplczogJzMyeDMyJyxcbiAgICAgICAgdXJsOiB0eXBlb2YgcGF5bG9hZEZhdmljb25EYXJrID09PSAnb2JqZWN0JyA/IHBheWxvYWRGYXZpY29uRGFyaz8uc3JjIDogcGF5bG9hZEZhdmljb25EYXJrXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAnaW1hZ2UvcG5nJyxcbiAgICAgICAgbWVkaWE6ICcocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspJyxcbiAgICAgICAgcmVsOiAnaWNvbicsXG4gICAgICAgIHNpemVzOiAnMzJ4MzInLFxuICAgICAgICB1cmw6IHR5cGVvZiBwYXlsb2FkRmF2aWNvbkxpZ2h0ID09PSAnb2JqZWN0JyA/IHBheWxvYWRGYXZpY29uTGlnaHQ/LnNyYyA6IHBheWxvYWRGYXZpY29uTGlnaHRcbiAgICAgIH1cbiAgICBdIHNhdGlzZmllcyBBcnJheTxJY29uPilcblxuICBjb25zdCBtZXRhVGl0bGU6IE1ldGFkYXRhWyd0aXRsZSddID0gW2luY29taW5nTWV0YWRhdGEudGl0bGUsIHRpdGxlU3VmZml4XS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpXG5cbiAgY29uc3Qgb2dUaXRsZSA9IGAke3R5cGVvZiBpbmNvbWluZ01ldGFkYXRhLm9wZW5HcmFwaD8udGl0bGUgPT09ICdzdHJpbmcnID8gaW5jb21pbmdNZXRhZGF0YS5vcGVuR3JhcGgudGl0bGUgOiBpbmNvbWluZ01ldGFkYXRhLnRpdGxlfSAke3RpdGxlU3VmZml4fWBcblxuICBjb25zdCBtZXJnZWRPcGVuR3JhcGg6IE1ldGFkYXRhWydvcGVuR3JhcGgnXSA9IHtcbiAgICAuLi4oZGVmYXVsdE9wZW5HcmFwaCB8fCB7fSksXG4gICAgLi4uKGRlZmF1bHRPR0ltYWdlVHlwZSA9PT0gJ2R5bmFtaWMnXG4gICAgICA/IHtcbiAgICAgICAgICBpbWFnZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYWx0OiBvZ1RpdGxlLFxuICAgICAgICAgICAgICBoZWlnaHQ6IDYzMCxcbiAgICAgICAgICAgICAgdXJsOiBgL2FwaS9vZyR7cXMuc3RyaW5naWZ5KFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBpbmNvbWluZ01ldGFkYXRhLm9wZW5HcmFwaD8uZGVzY3JpcHRpb24gfHwgZGVmYXVsdE9wZW5HcmFwaC5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgIHRpdGxlOiBvZ1RpdGxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBhZGRRdWVyeVByZWZpeDogdHJ1ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgKX1gLFxuICAgICAgICAgICAgICB3aWR0aDogMTIwMFxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgOiB7fSksXG4gICAgLi4uKGRlZmF1bHRPR0ltYWdlVHlwZSA9PT0gJ3N0YXRpYydcbiAgICAgID8ge1xuICAgICAgICAgIGltYWdlczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBhbHQ6IG9nVGl0bGUsXG4gICAgICAgICAgICAgIGhlaWdodDogNDgwLFxuICAgICAgICAgICAgICB1cmw6IHR5cGVvZiBzdGF0aWNPR0ltYWdlID09PSAnb2JqZWN0JyA/IHN0YXRpY09HSW1hZ2U/LnNyYyA6IHN0YXRpY09HSW1hZ2UsXG4gICAgICAgICAgICAgIHdpZHRoOiA2NDBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIDoge30pLFxuICAgIHRpdGxlOiBvZ1RpdGxlLFxuICAgIC4uLihpbmNvbWluZ01ldGFkYXRhLm9wZW5HcmFwaCB8fCB7fSlcbiAgfVxuXG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgIC4uLmluY29taW5nTWV0YWRhdGEsXG4gICAgaWNvbnMsXG4gICAgbWV0YWRhdGFCYXNlOiBuZXcgVVJMKHNlcnZlclVSTCB8fCBwcm9jZXNzLmVudi5QQVlMT0FEX1BVQkxJQ19TRVJWRVJfVVJMIHx8IGBodHRwOi8vbG9jYWxob3N0OiR7cHJvY2Vzcy5lbnYuUE9SVCB8fCAzMDAwfWApLFxuICAgIG9wZW5HcmFwaDogbWVyZ2VkT3BlbkdyYXBoLFxuICAgIHRpdGxlOiBtZXRhVGl0bGVcbiAgfSlcbn1cblxuZXhwb3J0IHR5cGUgR2VuZXJhdGVWaWV3TWV0YWRhdGEgPSAoYXJnczoge1xuICBjb25maWc6IFNhbml0aXplZENvbmZpZ1xuICBpMThuOiBJMThuQ2xpZW50XG4gIGlzRWRpdGluZz86IGJvb2xlYW5cbiAgcGFyYW1zPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXSB9XG59KSA9PiBQcm9taXNlPE1ldGFkYXRhPlxuIl0sIm5hbWVzIjpbInBheWxvYWRGYXZpY29uRGFyayIsInBheWxvYWRGYXZpY29uTGlnaHQiLCJzdGF0aWNPR0ltYWdlIiwicXMiLCJkZWZhdWx0T3BlbkdyYXBoIiwiZGVzY3JpcHRpb24iLCJzaXRlTmFtZSIsInRpdGxlIiwiZ2VuZXJhdGVNZXRhZGF0YSIsImFyZ3MiLCJkZWZhdWx0T0dJbWFnZVR5cGUiLCJzZXJ2ZXJVUkwiLCJ0aXRsZVN1ZmZpeCIsInJlc3QiLCJpbmNvbWluZ01ldGFkYXRhIiwiaWNvbnMiLCJ0eXBlIiwicmVsIiwic2l6ZXMiLCJ1cmwiLCJzcmMiLCJtZWRpYSIsIm1ldGFUaXRsZSIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwib2dUaXRsZSIsIm9wZW5HcmFwaCIsIm1lcmdlZE9wZW5HcmFwaCIsImltYWdlcyIsImFsdCIsImhlaWdodCIsInN0cmluZ2lmeSIsImFkZFF1ZXJ5UHJlZml4Iiwid2lkdGgiLCJQcm9taXNlIiwicmVzb2x2ZSIsIm1ldGFkYXRhQmFzZSIsIlVSTCIsInByb2Nlc3MiLCJlbnYiLCJQQVlMT0FEX1BVQkxJQ19TRVJWRVJfVVJMIiwiUE9SVCJdLCJtYXBwaW5ncyI6IkFBS0EsU0FBU0Esa0JBQWtCLEVBQUVDLG1CQUFtQixFQUFFQyxhQUFhLFFBQVEsd0JBQXVCO0FBQzlGLFlBQVlDLFFBQVEsU0FBUTtBQUU1QixNQUFNQyxtQkFBMEM7SUFDOUNDLGFBQWE7SUFDYkMsVUFBVTtJQUNWQyxPQUFPO0FBQ1Q7QUFFQSxPQUFPLE1BQU1DLG1CQUFtQixPQUFPQztJQUNyQyxNQUFNLEVBQUVDLGtCQUFrQixFQUFFQyxTQUFTLEVBQUVDLFdBQVcsRUFBRSxHQUFHQyxNQUFNLEdBQUdKO0lBRWhFOzs7O0dBSUMsR0FDRCxNQUFNSyxtQkFBbUJEO0lBRXpCLE1BQU1FLFFBQ0pELGlCQUFpQkMsS0FBSyxJQUNyQjtRQUNDO1lBQ0VDLE1BQU07WUFDTkMsS0FBSztZQUNMQyxPQUFPO1lBQ1BDLEtBQUssT0FBT25CLHVCQUF1QixXQUFXQSxvQkFBb0JvQixNQUFNcEI7UUFDMUU7UUFDQTtZQUNFZ0IsTUFBTTtZQUNOSyxPQUFPO1lBQ1BKLEtBQUs7WUFDTEMsT0FBTztZQUNQQyxLQUFLLE9BQU9sQix3QkFBd0IsV0FBV0EscUJBQXFCbUIsTUFBTW5CO1FBQzVFO0tBQ0Q7SUFFSCxNQUFNcUIsWUFBK0I7UUFBQ1IsaUJBQWlCUCxLQUFLO1FBQUVLO0tBQVksQ0FBQ1csTUFBTSxDQUFDQyxTQUFTQyxJQUFJLENBQUM7SUFFaEcsTUFBTUMsVUFBVSxHQUFHLE9BQU9aLGlCQUFpQmEsU0FBUyxFQUFFcEIsVUFBVSxXQUFXTyxpQkFBaUJhLFNBQVMsQ0FBQ3BCLEtBQUssR0FBR08saUJBQWlCUCxLQUFLLENBQUMsQ0FBQyxFQUFFSyxhQUFhO0lBRXJKLE1BQU1nQixrQkFBeUM7UUFDN0MsR0FBSXhCLG9CQUFvQixDQUFDLENBQUM7UUFDMUIsR0FBSU0sdUJBQXVCLFlBQ3ZCO1lBQ0VtQixRQUFRO2dCQUNOO29CQUNFQyxLQUFLSjtvQkFDTEssUUFBUTtvQkFDUlosS0FBSyxDQUFDLE9BQU8sRUFBRWhCLEdBQUc2QixTQUFTLENBQ3pCO3dCQUNFM0IsYUFBYVMsaUJBQWlCYSxTQUFTLEVBQUV0QixlQUFlRCxpQkFBaUJDLFdBQVc7d0JBQ3BGRSxPQUFPbUI7b0JBQ1QsR0FDQTt3QkFDRU8sZ0JBQWdCO29CQUNsQixJQUNDO29CQUNIQyxPQUFPO2dCQUNUO2FBQ0Q7UUFDSCxJQUNBLENBQUMsQ0FBQztRQUNOLEdBQUl4Qix1QkFBdUIsV0FDdkI7WUFDRW1CLFFBQVE7Z0JBQ047b0JBQ0VDLEtBQUtKO29CQUNMSyxRQUFRO29CQUNSWixLQUFLLE9BQU9qQixrQkFBa0IsV0FBV0EsZUFBZWtCLE1BQU1sQjtvQkFDOURnQyxPQUFPO2dCQUNUO2FBQ0Q7UUFDSCxJQUNBLENBQUMsQ0FBQztRQUNOM0IsT0FBT21CO1FBQ1AsR0FBSVosaUJBQWlCYSxTQUFTLElBQUksQ0FBQyxDQUFDO0lBQ3RDO0lBRUEsT0FBT1EsUUFBUUMsT0FBTyxDQUFDO1FBQ3JCLEdBQUd0QixnQkFBZ0I7UUFDbkJDO1FBQ0FzQixjQUFjLElBQUlDLElBQUkzQixhQUFhNEIsUUFBUUMsR0FBRyxDQUFDQyx5QkFBeUIsSUFBSSxDQUFDLGlCQUFpQixFQUFFRixRQUFRQyxHQUFHLENBQUNFLElBQUksSUFBSSxNQUFNO1FBQzFIZixXQUFXQztRQUNYckIsT0FBT2U7SUFDVDtBQUNGLEVBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"get-safe-redirect.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/payload/utils/get-safe-redirect.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,GAC1B,eAAe,MAAM,GAAG,MAAM,EAAE,EAChC,WAAU,MAAY,KACrB,MA8BF,CAAA"}
1
+ {"version":3,"file":"get-safe-redirect.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/payload/utils/get-safe-redirect.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,GAAI,eAAe,MAAM,GAAG,MAAM,EAAE,EAAE,WAAU,MAAY,KAAG,MA8B1F,CAAA"}
@@ -20,4 +20,4 @@ export const getSafeRedirect = (redirectParam, fallback = '/')=>{
20
20
  return isSafeRedirect ? redirectPath : fallback;
21
21
  };
22
22
 
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC91dGlscy9nZXQtc2FmZS1yZWRpcmVjdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZ2V0U2FmZVJlZGlyZWN0ID0gKFxuICByZWRpcmVjdFBhcmFtOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgZmFsbGJhY2s6IHN0cmluZyA9ICcvJyxcbik6IHN0cmluZyA9PiB7XG4gIGlmICh0eXBlb2YgcmVkaXJlY3RQYXJhbSAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsbGJhY2tcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBhbmQgZGVjb2RlIHRoZSBwYXRoXG4gIGxldCByZWRpcmVjdFBhdGg6IHN0cmluZ1xuICB0cnkge1xuICAgIHJlZGlyZWN0UGF0aCA9IGRlY29kZVVSSUNvbXBvbmVudChyZWRpcmVjdFBhcmFtLnRyaW0oKSlcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbGxiYWNrIC8vIGludmFsaWQgZW5jb2RpbmdcbiAgfVxuXG4gIGNvbnN0IGlzU2FmZVJlZGlyZWN0ID1cbiAgICAvLyBNdXN0IHN0YXJ0IHdpdGggYSBzaW5nbGUgZm9yd2FyZCBzbGFzaCAoZS5nLiwgXCIvYWRtaW5cIilcbiAgICByZWRpcmVjdFBhdGguc3RhcnRzV2l0aCgnLycpICYmXG4gICAgLy8gUHJldmVudCBwcm90b2NvbC1yZWxhdGl2ZSBVUkxzIChlLmcuLCBcIi8vZXhhbXBsZS5jb21cIilcbiAgICAhcmVkaXJlY3RQYXRoLnN0YXJ0c1dpdGgoJy8vJykgJiZcbiAgICAvLyBQcmV2ZW50IGVuY29kZWQgc2xhc2hlcyB0aGF0IGNvdWxkIHJlc29sdmUgdG8gcHJvdG9jb2wtcmVsYXRpdmVcbiAgICAhcmVkaXJlY3RQYXRoLnN0YXJ0c1dpdGgoJy8lMkYnKSAmJlxuICAgIC8vIFByZXZlbnQgYmFja3NsYXNoLWJhc2VkIGVzY2FwZSBhdHRlbXB0cyAoZS5nLiwgXCIvXFxcXC9leGFtcGxlLmNvbVwiLCBcIi9cXFxcXFxcXGV4YW1wbGUuY29tXCIsIFwiL1xcXFxleGFtcGxlLmNvbVwiKVxuICAgICFyZWRpcmVjdFBhdGguc3RhcnRzV2l0aCgnL1xcXFwvJykgJiZcbiAgICAhcmVkaXJlY3RQYXRoLnN0YXJ0c1dpdGgoJy9cXFxcXFxcXCcpICYmXG4gICAgIXJlZGlyZWN0UGF0aC5zdGFydHNXaXRoKCcvXFxcXCcpICYmXG4gICAgLy8gUHJldmVudCBqYXZhc2NyaXB0LWJhc2VkIHNjaGVtZXMgKGUuZy4sIFwiL2phdmFzY3JpcHQ6YWxlcnQoMSlcIilcbiAgICAhcmVkaXJlY3RQYXRoLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCgnL2phdmFzY3JpcHQ6JykgJiZcbiAgICAvLyBQcmV2ZW50IGF0dGVtcHRzIHRvIHJlZGlyZWN0IHRvIGZ1bGwgVVJMcyB1c2luZyBcIi9odHRwOlwiIG9yIFwiL2h0dHBzOlwiXG4gICAgIXJlZGlyZWN0UGF0aC50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoJy9odHRwJylcblxuICByZXR1cm4gaXNTYWZlUmVkaXJlY3QgPyByZWRpcmVjdFBhdGggOiBmYWxsYmFja1xufVxuIl0sIm5hbWVzIjpbImdldFNhZmVSZWRpcmVjdCIsInJlZGlyZWN0UGFyYW0iLCJmYWxsYmFjayIsInJlZGlyZWN0UGF0aCIsImRlY29kZVVSSUNvbXBvbmVudCIsInRyaW0iLCJpc1NhZmVSZWRpcmVjdCIsInN0YXJ0c1dpdGgiLCJ0b0xvd2VyQ2FzZSJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNQSxrQkFBa0IsQ0FDN0JDLGVBQ0FDLFdBQW1CLEdBQUc7SUFFdEIsSUFBSSxPQUFPRCxrQkFBa0IsVUFBVTtRQUNyQyxPQUFPQztJQUNUO0lBRUEsZ0NBQWdDO0lBQ2hDLElBQUlDO0lBQ0osSUFBSTtRQUNGQSxlQUFlQyxtQkFBbUJILGNBQWNJLElBQUk7SUFDdEQsRUFBRSxPQUFNO1FBQ04sT0FBT0gsU0FBUyxtQkFBbUI7O0lBQ3JDO0lBRUEsTUFBTUksaUJBQ0osMERBQTBEO0lBQzFESCxhQUFhSSxVQUFVLENBQUMsUUFDeEIseURBQXlEO0lBQ3pELENBQUNKLGFBQWFJLFVBQVUsQ0FBQyxTQUN6QixrRUFBa0U7SUFDbEUsQ0FBQ0osYUFBYUksVUFBVSxDQUFDLFdBQ3pCLDBHQUEwRztJQUMxRyxDQUFDSixhQUFhSSxVQUFVLENBQUMsV0FDekIsQ0FBQ0osYUFBYUksVUFBVSxDQUFDLFlBQ3pCLENBQUNKLGFBQWFJLFVBQVUsQ0FBQyxVQUN6QixrRUFBa0U7SUFDbEUsQ0FBQ0osYUFBYUssV0FBVyxHQUFHRCxVQUFVLENBQUMsbUJBQ3ZDLHdFQUF3RTtJQUN4RSxDQUFDSixhQUFhSyxXQUFXLEdBQUdELFVBQVUsQ0FBQztJQUV6QyxPQUFPRCxpQkFBaUJILGVBQWVEO0FBQ3pDLEVBQUMifQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC91dGlscy9nZXQtc2FmZS1yZWRpcmVjdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZ2V0U2FmZVJlZGlyZWN0ID0gKHJlZGlyZWN0UGFyYW06IHN0cmluZyB8IHN0cmluZ1tdLCBmYWxsYmFjazogc3RyaW5nID0gJy8nKTogc3RyaW5nID0+IHtcbiAgaWYgKHR5cGVvZiByZWRpcmVjdFBhcmFtICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmYWxsYmFja1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGFuZCBkZWNvZGUgdGhlIHBhdGhcbiAgbGV0IHJlZGlyZWN0UGF0aDogc3RyaW5nXG4gIHRyeSB7XG4gICAgcmVkaXJlY3RQYXRoID0gZGVjb2RlVVJJQ29tcG9uZW50KHJlZGlyZWN0UGFyYW0udHJpbSgpKVxuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsbGJhY2sgLy8gaW52YWxpZCBlbmNvZGluZ1xuICB9XG5cbiAgY29uc3QgaXNTYWZlUmVkaXJlY3QgPVxuICAgIC8vIE11c3Qgc3RhcnQgd2l0aCBhIHNpbmdsZSBmb3J3YXJkIHNsYXNoIChlLmcuLCBcIi9hZG1pblwiKVxuICAgIHJlZGlyZWN0UGF0aC5zdGFydHNXaXRoKCcvJykgJiZcbiAgICAvLyBQcmV2ZW50IHByb3RvY29sLXJlbGF0aXZlIFVSTHMgKGUuZy4sIFwiLy9leGFtcGxlLmNvbVwiKVxuICAgICFyZWRpcmVjdFBhdGguc3RhcnRzV2l0aCgnLy8nKSAmJlxuICAgIC8vIFByZXZlbnQgZW5jb2RlZCBzbGFzaGVzIHRoYXQgY291bGQgcmVzb2x2ZSB0byBwcm90b2NvbC1yZWxhdGl2ZVxuICAgICFyZWRpcmVjdFBhdGguc3RhcnRzV2l0aCgnLyUyRicpICYmXG4gICAgLy8gUHJldmVudCBiYWNrc2xhc2gtYmFzZWQgZXNjYXBlIGF0dGVtcHRzIChlLmcuLCBcIi9cXFxcL2V4YW1wbGUuY29tXCIsIFwiL1xcXFxcXFxcZXhhbXBsZS5jb21cIiwgXCIvXFxcXGV4YW1wbGUuY29tXCIpXG4gICAgIXJlZGlyZWN0UGF0aC5zdGFydHNXaXRoKCcvXFxcXC8nKSAmJlxuICAgICFyZWRpcmVjdFBhdGguc3RhcnRzV2l0aCgnL1xcXFxcXFxcJykgJiZcbiAgICAhcmVkaXJlY3RQYXRoLnN0YXJ0c1dpdGgoJy9cXFxcJykgJiZcbiAgICAvLyBQcmV2ZW50IGphdmFzY3JpcHQtYmFzZWQgc2NoZW1lcyAoZS5nLiwgXCIvamF2YXNjcmlwdDphbGVydCgxKVwiKVxuICAgICFyZWRpcmVjdFBhdGgudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKCcvamF2YXNjcmlwdDonKSAmJlxuICAgIC8vIFByZXZlbnQgYXR0ZW1wdHMgdG8gcmVkaXJlY3QgdG8gZnVsbCBVUkxzIHVzaW5nIFwiL2h0dHA6XCIgb3IgXCIvaHR0cHM6XCJcbiAgICAhcmVkaXJlY3RQYXRoLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCgnL2h0dHAnKVxuXG4gIHJldHVybiBpc1NhZmVSZWRpcmVjdCA/IHJlZGlyZWN0UGF0aCA6IGZhbGxiYWNrXG59XG4iXSwibmFtZXMiOlsiZ2V0U2FmZVJlZGlyZWN0IiwicmVkaXJlY3RQYXJhbSIsImZhbGxiYWNrIiwicmVkaXJlY3RQYXRoIiwiZGVjb2RlVVJJQ29tcG9uZW50IiwidHJpbSIsImlzU2FmZVJlZGlyZWN0Iiwic3RhcnRzV2l0aCIsInRvTG93ZXJDYXNlIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU1BLGtCQUFrQixDQUFDQyxlQUFrQ0MsV0FBbUIsR0FBRztJQUN0RixJQUFJLE9BQU9ELGtCQUFrQixVQUFVO1FBQ3JDLE9BQU9DO0lBQ1Q7SUFFQSxnQ0FBZ0M7SUFDaEMsSUFBSUM7SUFDSixJQUFJO1FBQ0ZBLGVBQWVDLG1CQUFtQkgsY0FBY0ksSUFBSTtJQUN0RCxFQUFFLE9BQU07UUFDTixPQUFPSCxTQUFTLG1CQUFtQjs7SUFDckM7SUFFQSxNQUFNSSxpQkFDSiwwREFBMEQ7SUFDMURILGFBQWFJLFVBQVUsQ0FBQyxRQUN4Qix5REFBeUQ7SUFDekQsQ0FBQ0osYUFBYUksVUFBVSxDQUFDLFNBQ3pCLGtFQUFrRTtJQUNsRSxDQUFDSixhQUFhSSxVQUFVLENBQUMsV0FDekIsMEdBQTBHO0lBQzFHLENBQUNKLGFBQWFJLFVBQVUsQ0FBQyxXQUN6QixDQUFDSixhQUFhSSxVQUFVLENBQUMsWUFDekIsQ0FBQ0osYUFBYUksVUFBVSxDQUFDLFVBQ3pCLGtFQUFrRTtJQUNsRSxDQUFDSixhQUFhSyxXQUFXLEdBQUdELFVBQVUsQ0FBQyxtQkFDdkMsd0VBQXdFO0lBQ3hFLENBQUNKLGFBQWFLLFdBQVcsR0FBR0QsVUFBVSxDQUFDO0lBRXpDLE9BQU9ELGlCQUFpQkgsZUFBZUQ7QUFDekMsRUFBQyJ9
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import type { SocialProviders } from '@/better-auth/plugin/types';
3
+ import type { LoginWithUsernameOptions } from 'payload';
4
+ type AdminLoginClientProps = {
5
+ socialProviders: SocialProviders;
6
+ hasUsernamePlugin: boolean;
7
+ hasPasskeySupport: boolean;
8
+ prefillEmail?: string;
9
+ prefillPassword?: string;
10
+ prefillUsername?: string;
11
+ searchParams: {
12
+ [key: string]: string | string[] | undefined;
13
+ };
14
+ loginWithUsername: false | LoginWithUsernameOptions;
15
+ };
16
+ export declare const AdminLoginClient: React.FC<AdminLoginClientProps>;
17
+ export {};
18
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/payload/views/admin-login/client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAchD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAIvD,KAAK,qBAAqB,GAAG;IAC3B,eAAe,EAAE,eAAe,CAAA;IAChC,iBAAiB,EAAE,OAAO,CAAA;IAC1B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;IAC9D,iBAAiB,EAAE,KAAK,GAAG,wBAAwB,CAAA;CACpD,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA6J5D,CAAA"}
@@ -0,0 +1,192 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import React, { useMemo, useState } from "react";
4
+ import { z } from "zod";
5
+ import { useAppForm } from "../../../../../shared/form";
6
+ import { Form, FormInputWrap } from "../../../../../shared/form/ui";
7
+ import { FormHeader } from "../../../../../shared/form/ui/header";
8
+ import { createAuthClient } from "better-auth/client";
9
+ import { usernameClient } from "better-auth/client/plugins";
10
+ import { adminRoutes } from "../../../constants";
11
+ import { formatAdminURL, getLoginOptions } from "payload/shared";
12
+ import { getSafeRedirect } from "../../utils/get-safe-redirect";
13
+ import { Link, toast, useConfig, useTranslation } from "@payloadcms/ui";
14
+ import AdminSocialProviderButtons from "../../components/admin-social-provider-buttons";
15
+ import { emailRegex, usernameRegex } from "../../../../../shared/utils/regex";
16
+ const baseClass = 'login__form';
17
+ export const AdminLoginClient = ({ socialProviders, hasUsernamePlugin, hasPasskeySupport, prefillEmail, prefillPassword, prefillUsername, searchParams, loginWithUsername })=>{
18
+ const { config } = useConfig();
19
+ const { t } = useTranslation();
20
+ const { canLoginWithEmail, canLoginWithUsername } = getLoginOptions(loginWithUsername);
21
+ const usernameSettings = {
22
+ minLength: 5,
23
+ maxLength: 128
24
+ };
25
+ const redirectUrl = getSafeRedirect(searchParams?.redirect, config.routes.admin);
26
+ const forgotPasswordUrl = formatAdminURL({
27
+ adminRoute: config.routes.admin,
28
+ path: adminRoutes?.forgotPassword
29
+ });
30
+ const authClient = useMemo(()=>createAuthClient({
31
+ plugins: [
32
+ usernameClient()
33
+ ]
34
+ }), []);
35
+ const loginType = useMemo(()=>{
36
+ if (canLoginWithEmail && canLoginWithUsername && hasUsernamePlugin) return 'emailOrUsername';
37
+ if (canLoginWithUsername && hasUsernamePlugin) return 'username';
38
+ return 'email';
39
+ }, [
40
+ canLoginWithEmail,
41
+ canLoginWithUsername,
42
+ hasUsernamePlugin
43
+ ]);
44
+ const [requireEmailVerification, setRequireEmailVerification] = useState(false);
45
+ if (requireEmailVerification) {
46
+ return /*#__PURE__*/ _jsx(FormHeader, {
47
+ heading: "Please verify your email",
48
+ description: t('authentication:emailSent'),
49
+ style: {
50
+ textAlign: 'center'
51
+ }
52
+ });
53
+ }
54
+ const validationMap = {
55
+ email: {
56
+ isValid: (val)=>emailRegex.test(val),
57
+ getErrorMessage: ()=>t('authentication:emailNotValid') || 'Email is not valid'
58
+ },
59
+ username: {
60
+ isValid: (val)=>usernameRegex.test(val) && val.length >= usernameSettings.minLength && val.length <= usernameSettings.maxLength,
61
+ getErrorMessage: ()=>t('authentication:usernameNotValid') || 'Username is not valid'
62
+ },
63
+ emailOrUsername: {
64
+ isValid: (val)=>val.includes('@') ? emailRegex.test(val) : usernameRegex.test(val) && val.length >= usernameSettings.minLength && val.length <= usernameSettings.maxLength,
65
+ getErrorMessage: (val)=>{
66
+ const isProbablyEmail = val.includes('@') || !canLoginWithUsername;
67
+ return isProbablyEmail ? t('authentication:emailNotValid') || 'Email is not valid' : t('authentication:usernameNotValid') || 'Username is not valid';
68
+ }
69
+ }
70
+ };
71
+ const loginSchema = z.object({
72
+ login: z.string().refine((val)=>val ? validationMap[loginType].isValid(val) : false, (val)=>({
73
+ message: !val ? t('validation:required') : validationMap[loginType].getErrorMessage(val)
74
+ })),
75
+ password: z.string().min(1, 'Password is required')
76
+ });
77
+ const form = useAppForm({
78
+ defaultValues: {
79
+ login: prefillEmail ?? prefillUsername ?? '',
80
+ password: prefillPassword ?? ''
81
+ },
82
+ onSubmit: async ({ value })=>{
83
+ const { login, password } = value;
84
+ const isEmail = emailRegex.test(login);
85
+ try {
86
+ const { data, error } = await (loginType === 'email' || loginType === 'emailOrUsername' && isEmail ? authClient.signIn.email({
87
+ email: login,
88
+ password,
89
+ callbackURL: redirectUrl
90
+ }) : authClient.signIn.username({
91
+ username: login,
92
+ password
93
+ }));
94
+ if (error) {
95
+ if (error.code === 'EMAIL_NOT_VERIFIED') {
96
+ setRequireEmailVerification(true);
97
+ }
98
+ if (error.message) {
99
+ toast.error(error.message.charAt(0).toUpperCase() + error.message.slice(1));
100
+ }
101
+ }
102
+ if (data?.token) {
103
+ toast.success(t('general:success'));
104
+ window.location.href = redirectUrl;
105
+ }
106
+ } catch (err) {
107
+ toast.error(t('error:unknown') || 'An unexpected error occurred');
108
+ }
109
+ },
110
+ validators: {
111
+ onSubmit: loginSchema
112
+ }
113
+ });
114
+ const getLoginTypeLabel = ()=>{
115
+ const labels = {
116
+ email: t('general:email') || 'Email',
117
+ username: t('authentication:username') || 'Username',
118
+ emailOrUsername: t('authentication:emailOrUsername') || 'Email or Username'
119
+ };
120
+ return labels[loginType];
121
+ };
122
+ return /*#__PURE__*/ _jsxs("div", {
123
+ className: `${baseClass}__wrapper`,
124
+ children: [
125
+ /*#__PURE__*/ _jsxs(Form, {
126
+ className: baseClass,
127
+ onSubmit: (e)=>{
128
+ e.preventDefault();
129
+ void form.handleSubmit();
130
+ },
131
+ children: [
132
+ /*#__PURE__*/ _jsxs(FormInputWrap, {
133
+ className: baseClass,
134
+ children: [
135
+ /*#__PURE__*/ _jsx(form.AppField, {
136
+ name: "login",
137
+ children: (field)=>/*#__PURE__*/ _jsx(field.TextField, {
138
+ type: "text",
139
+ className: "email",
140
+ autoComplete: "email",
141
+ label: getLoginTypeLabel()
142
+ })
143
+ }),
144
+ /*#__PURE__*/ _jsx(form.AppField, {
145
+ name: "password",
146
+ children: (field)=>/*#__PURE__*/ _jsx(field.TextField, {
147
+ type: "password",
148
+ className: "password",
149
+ autoComplete: "password",
150
+ label: t('general:password')
151
+ })
152
+ })
153
+ ]
154
+ }),
155
+ /*#__PURE__*/ _jsx(Link, {
156
+ href: forgotPasswordUrl,
157
+ prefetch: false,
158
+ children: t('authentication:forgotPasswordQuestion')
159
+ }),
160
+ /*#__PURE__*/ _jsx(form.AppForm, {
161
+ children: /*#__PURE__*/ _jsx(form.Submit, {
162
+ label: t('authentication:login'),
163
+ loadingLabel: t('general:loading')
164
+ })
165
+ })
166
+ ]
167
+ }),
168
+ (Object.keys(socialProviders || {}).length > 0 || hasPasskeySupport) && /*#__PURE__*/ _jsx("div", {
169
+ style: {
170
+ textAlign: 'center',
171
+ fontSize: '0.875rem',
172
+ textTransform: 'uppercase',
173
+ marginTop: '-.5rem',
174
+ color: 'var(--theme-elevation-450)',
175
+ marginBottom: '1.5rem'
176
+ },
177
+ children: /*#__PURE__*/ _jsx("span", {
178
+ children: "Or login with"
179
+ })
180
+ }),
181
+ /*#__PURE__*/ _jsx(AdminSocialProviderButtons, {
182
+ allowSignup: false,
183
+ socialProviders: socialProviders,
184
+ setLoading: ()=>{},
185
+ hasPasskeySupport: hasPasskeySupport,
186
+ redirectUrl: redirectUrl
187
+ })
188
+ ]
189
+ });
190
+ };
191
+
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC92aWV3cy9hZG1pbi1sb2dpbi9jbGllbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHogfSBmcm9tICd6b2QnXG5pbXBvcnQgeyB1c2VBcHBGb3JtIH0gZnJvbSAnQC9zaGFyZWQvZm9ybSdcbmltcG9ydCB7IEZvcm0sIEZvcm1JbnB1dFdyYXAgfSBmcm9tICdAL3NoYXJlZC9mb3JtL3VpJ1xuaW1wb3J0IHsgRm9ybUhlYWRlciB9IGZyb20gJ0Avc2hhcmVkL2Zvcm0vdWkvaGVhZGVyJ1xuaW1wb3J0IHsgY3JlYXRlQXV0aENsaWVudCB9IGZyb20gJ2JldHRlci1hdXRoL2NsaWVudCdcbmltcG9ydCB7IHVzZXJuYW1lQ2xpZW50IH0gZnJvbSAnYmV0dGVyLWF1dGgvY2xpZW50L3BsdWdpbnMnXG5pbXBvcnQgeyBhZG1pblJvdXRlcyB9IGZyb20gJ0AvYmV0dGVyLWF1dGgvcGx1Z2luL2NvbnN0YW50cydcbmltcG9ydCB7IGZvcm1hdEFkbWluVVJMLCBnZXRMb2dpbk9wdGlvbnMgfSBmcm9tICdwYXlsb2FkL3NoYXJlZCdcbmltcG9ydCB7IGdldFNhZmVSZWRpcmVjdCB9IGZyb20gJ0AvYmV0dGVyLWF1dGgvcGx1Z2luL3BheWxvYWQvdXRpbHMvZ2V0LXNhZmUtcmVkaXJlY3QnXG5pbXBvcnQgeyBMaW5rLCB0b2FzdCwgdXNlQ29uZmlnLCB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ0BwYXlsb2FkY21zL3VpJ1xuaW1wb3J0IEFkbWluU29jaWFsUHJvdmlkZXJCdXR0b25zIGZyb20gJ0AvYmV0dGVyLWF1dGgvcGx1Z2luL3BheWxvYWQvY29tcG9uZW50cy9hZG1pbi1zb2NpYWwtcHJvdmlkZXItYnV0dG9ucydcbmltcG9ydCB7IGVtYWlsUmVnZXgsIHVzZXJuYW1lUmVnZXggfSBmcm9tICdAL3NoYXJlZC91dGlscy9yZWdleCdcblxuaW1wb3J0IHR5cGUgeyBTb2NpYWxQcm92aWRlcnMgfSBmcm9tICdAL2JldHRlci1hdXRoL3BsdWdpbi90eXBlcydcbmltcG9ydCB0eXBlIHsgTG9naW5XaXRoVXNlcm5hbWVPcHRpb25zIH0gZnJvbSAncGF5bG9hZCdcblxuY29uc3QgYmFzZUNsYXNzID0gJ2xvZ2luX19mb3JtJ1xuXG50eXBlIEFkbWluTG9naW5DbGllbnRQcm9wcyA9IHtcbiAgc29jaWFsUHJvdmlkZXJzOiBTb2NpYWxQcm92aWRlcnNcbiAgaGFzVXNlcm5hbWVQbHVnaW46IGJvb2xlYW5cbiAgaGFzUGFzc2tleVN1cHBvcnQ6IGJvb2xlYW5cbiAgcHJlZmlsbEVtYWlsPzogc3RyaW5nXG4gIHByZWZpbGxQYXNzd29yZD86IHN0cmluZ1xuICBwcmVmaWxsVXNlcm5hbWU/OiBzdHJpbmdcbiAgc2VhcmNoUGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdIHwgdW5kZWZpbmVkIH1cbiAgbG9naW5XaXRoVXNlcm5hbWU6IGZhbHNlIHwgTG9naW5XaXRoVXNlcm5hbWVPcHRpb25zXG59XG5cbmV4cG9ydCBjb25zdCBBZG1pbkxvZ2luQ2xpZW50OiBSZWFjdC5GQzxBZG1pbkxvZ2luQ2xpZW50UHJvcHM+ID0gKHtcbiAgc29jaWFsUHJvdmlkZXJzLFxuICBoYXNVc2VybmFtZVBsdWdpbixcbiAgaGFzUGFzc2tleVN1cHBvcnQsXG4gIHByZWZpbGxFbWFpbCxcbiAgcHJlZmlsbFBhc3N3b3JkLFxuICBwcmVmaWxsVXNlcm5hbWUsXG4gIHNlYXJjaFBhcmFtcyxcbiAgbG9naW5XaXRoVXNlcm5hbWVcbn0pID0+IHtcbiAgY29uc3QgeyBjb25maWcgfSA9IHVzZUNvbmZpZygpXG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKVxuICBjb25zdCB7IGNhbkxvZ2luV2l0aEVtYWlsLCBjYW5Mb2dpbldpdGhVc2VybmFtZSB9ID0gZ2V0TG9naW5PcHRpb25zKGxvZ2luV2l0aFVzZXJuYW1lKVxuICBjb25zdCB1c2VybmFtZVNldHRpbmdzID0geyBtaW5MZW5ndGg6IDUsIG1heExlbmd0aDogMTI4IH1cbiAgY29uc3QgcmVkaXJlY3RVcmwgPSBnZXRTYWZlUmVkaXJlY3Qoc2VhcmNoUGFyYW1zPy5yZWRpcmVjdCBhcyBzdHJpbmcsIGNvbmZpZy5yb3V0ZXMuYWRtaW4pXG4gIGNvbnN0IGZvcmdvdFBhc3N3b3JkVXJsID0gZm9ybWF0QWRtaW5VUkwoe1xuICAgIGFkbWluUm91dGU6IGNvbmZpZy5yb3V0ZXMuYWRtaW4sXG4gICAgcGF0aDogYWRtaW5Sb3V0ZXM/LmZvcmdvdFBhc3N3b3JkIGFzIGAvJHtzdHJpbmd9YFxuICB9KVxuICBjb25zdCBhdXRoQ2xpZW50ID0gdXNlTWVtbygoKSA9PiBjcmVhdGVBdXRoQ2xpZW50KHsgcGx1Z2luczogW3VzZXJuYW1lQ2xpZW50KCldIH0pLCBbXSlcbiAgY29uc3QgbG9naW5UeXBlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGNhbkxvZ2luV2l0aEVtYWlsICYmIGNhbkxvZ2luV2l0aFVzZXJuYW1lICYmIGhhc1VzZXJuYW1lUGx1Z2luKSByZXR1cm4gJ2VtYWlsT3JVc2VybmFtZSdcbiAgICBpZiAoY2FuTG9naW5XaXRoVXNlcm5hbWUgJiYgaGFzVXNlcm5hbWVQbHVnaW4pIHJldHVybiAndXNlcm5hbWUnXG4gICAgcmV0dXJuICdlbWFpbCdcbiAgfSwgW2NhbkxvZ2luV2l0aEVtYWlsLCBjYW5Mb2dpbldpdGhVc2VybmFtZSwgaGFzVXNlcm5hbWVQbHVnaW5dKVxuICBjb25zdCBbcmVxdWlyZUVtYWlsVmVyaWZpY2F0aW9uLCBzZXRSZXF1aXJlRW1haWxWZXJpZmljYXRpb25dID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpXG5cbiAgaWYgKHJlcXVpcmVFbWFpbFZlcmlmaWNhdGlvbikge1xuICAgIHJldHVybiA8Rm9ybUhlYWRlciBoZWFkaW5nPVwiUGxlYXNlIHZlcmlmeSB5b3VyIGVtYWlsXCIgZGVzY3JpcHRpb249e3QoJ2F1dGhlbnRpY2F0aW9uOmVtYWlsU2VudCcpfSBzdHlsZT17eyB0ZXh0QWxpZ246ICdjZW50ZXInIH19IC8+XG4gIH1cblxuICBjb25zdCB2YWxpZGF0aW9uTWFwID0ge1xuICAgIGVtYWlsOiB7XG4gICAgICBpc1ZhbGlkOiAodmFsOiBzdHJpbmcpID0+IGVtYWlsUmVnZXgudGVzdCh2YWwpLFxuICAgICAgZ2V0RXJyb3JNZXNzYWdlOiAoKSA9PiB0KCdhdXRoZW50aWNhdGlvbjplbWFpbE5vdFZhbGlkJykgfHwgJ0VtYWlsIGlzIG5vdCB2YWxpZCdcbiAgICB9LFxuICAgIHVzZXJuYW1lOiB7XG4gICAgICBpc1ZhbGlkOiAodmFsOiBzdHJpbmcpID0+XG4gICAgICAgIHVzZXJuYW1lUmVnZXgudGVzdCh2YWwpICYmIHZhbC5sZW5ndGggPj0gdXNlcm5hbWVTZXR0aW5ncy5taW5MZW5ndGggJiYgdmFsLmxlbmd0aCA8PSB1c2VybmFtZVNldHRpbmdzLm1heExlbmd0aCxcbiAgICAgIGdldEVycm9yTWVzc2FnZTogKCkgPT4gdCgnYXV0aGVudGljYXRpb246dXNlcm5hbWVOb3RWYWxpZCcpIHx8ICdVc2VybmFtZSBpcyBub3QgdmFsaWQnXG4gICAgfSxcbiAgICBlbWFpbE9yVXNlcm5hbWU6IHtcbiAgICAgIGlzVmFsaWQ6ICh2YWw6IHN0cmluZykgPT5cbiAgICAgICAgdmFsLmluY2x1ZGVzKCdAJylcbiAgICAgICAgICA/IGVtYWlsUmVnZXgudGVzdCh2YWwpXG4gICAgICAgICAgOiB1c2VybmFtZVJlZ2V4LnRlc3QodmFsKSAmJiB2YWwubGVuZ3RoID49IHVzZXJuYW1lU2V0dGluZ3MubWluTGVuZ3RoICYmIHZhbC5sZW5ndGggPD0gdXNlcm5hbWVTZXR0aW5ncy5tYXhMZW5ndGgsXG4gICAgICBnZXRFcnJvck1lc3NhZ2U6ICh2YWw6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBpc1Byb2JhYmx5RW1haWwgPSB2YWwuaW5jbHVkZXMoJ0AnKSB8fCAhY2FuTG9naW5XaXRoVXNlcm5hbWVcbiAgICAgICAgcmV0dXJuIGlzUHJvYmFibHlFbWFpbFxuICAgICAgICAgID8gdCgnYXV0aGVudGljYXRpb246ZW1haWxOb3RWYWxpZCcpIHx8ICdFbWFpbCBpcyBub3QgdmFsaWQnXG4gICAgICAgICAgOiB0KCdhdXRoZW50aWNhdGlvbjp1c2VybmFtZU5vdFZhbGlkJykgfHwgJ1VzZXJuYW1lIGlzIG5vdCB2YWxpZCdcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBsb2dpblNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBsb2dpbjogei5zdHJpbmcoKS5yZWZpbmUoXG4gICAgICAodmFsKSA9PiAodmFsID8gdmFsaWRhdGlvbk1hcFtsb2dpblR5cGVdLmlzVmFsaWQodmFsKSA6IGZhbHNlKSxcbiAgICAgICh2YWwpID0+ICh7XG4gICAgICAgIG1lc3NhZ2U6ICF2YWwgPyB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJykgOiB2YWxpZGF0aW9uTWFwW2xvZ2luVHlwZV0uZ2V0RXJyb3JNZXNzYWdlKHZhbClcbiAgICAgIH0pXG4gICAgKSxcbiAgICBwYXNzd29yZDogei5zdHJpbmcoKS5taW4oMSwgJ1Bhc3N3b3JkIGlzIHJlcXVpcmVkJylcbiAgfSlcblxuICBjb25zdCBmb3JtID0gdXNlQXBwRm9ybSh7XG4gICAgZGVmYXVsdFZhbHVlczoge1xuICAgICAgbG9naW46IHByZWZpbGxFbWFpbCA/PyBwcmVmaWxsVXNlcm5hbWUgPz8gJycsXG4gICAgICBwYXNzd29yZDogcHJlZmlsbFBhc3N3b3JkID8/ICcnXG4gICAgfSxcbiAgICBvblN1Ym1pdDogYXN5bmMgKHsgdmFsdWUgfSkgPT4ge1xuICAgICAgY29uc3QgeyBsb2dpbiwgcGFzc3dvcmQgfSA9IHZhbHVlXG4gICAgICBjb25zdCBpc0VtYWlsID0gZW1haWxSZWdleC50ZXN0KGxvZ2luKVxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBkYXRhLCBlcnJvciB9ID0gYXdhaXQgKGxvZ2luVHlwZSA9PT0gJ2VtYWlsJyB8fCAobG9naW5UeXBlID09PSAnZW1haWxPclVzZXJuYW1lJyAmJiBpc0VtYWlsKVxuICAgICAgICAgID8gYXV0aENsaWVudC5zaWduSW4uZW1haWwoeyBlbWFpbDogbG9naW4sIHBhc3N3b3JkLCBjYWxsYmFja1VSTDogcmVkaXJlY3RVcmwgfSlcbiAgICAgICAgICA6IGF1dGhDbGllbnQuc2lnbkluLnVzZXJuYW1lKHsgdXNlcm5hbWU6IGxvZ2luLCBwYXNzd29yZCB9KSlcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgaWYgKGVycm9yLmNvZGUgPT09ICdFTUFJTF9OT1RfVkVSSUZJRUQnKSB7XG4gICAgICAgICAgICBzZXRSZXF1aXJlRW1haWxWZXJpZmljYXRpb24odHJ1ZSlcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGVycm9yLm1lc3NhZ2UpIHtcbiAgICAgICAgICAgIHRvYXN0LmVycm9yKGVycm9yLm1lc3NhZ2UuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBlcnJvci5tZXNzYWdlLnNsaWNlKDEpKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZGF0YT8udG9rZW4pIHtcbiAgICAgICAgICB0b2FzdC5zdWNjZXNzKHQoJ2dlbmVyYWw6c3VjY2VzcycpKVxuICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gcmVkaXJlY3RVcmxcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHRvYXN0LmVycm9yKHQoJ2Vycm9yOnVua25vd24nKSB8fCAnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cnJlZCcpXG4gICAgICB9XG4gICAgfSxcbiAgICB2YWxpZGF0b3JzOiB7XG4gICAgICBvblN1Ym1pdDogbG9naW5TY2hlbWFcbiAgICB9XG4gIH0pXG5cbiAgY29uc3QgZ2V0TG9naW5UeXBlTGFiZWwgPSAoKSA9PiB7XG4gICAgY29uc3QgbGFiZWxzID0ge1xuICAgICAgZW1haWw6IHQoJ2dlbmVyYWw6ZW1haWwnKSB8fCAnRW1haWwnLFxuICAgICAgdXNlcm5hbWU6IHQoJ2F1dGhlbnRpY2F0aW9uOnVzZXJuYW1lJykgfHwgJ1VzZXJuYW1lJyxcbiAgICAgIGVtYWlsT3JVc2VybmFtZTogdCgnYXV0aGVudGljYXRpb246ZW1haWxPclVzZXJuYW1lJykgfHwgJ0VtYWlsIG9yIFVzZXJuYW1lJ1xuICAgIH1cblxuICAgIHJldHVybiBsYWJlbHNbbG9naW5UeXBlXVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fd3JhcHBlcmB9PlxuICAgICAgPEZvcm1cbiAgICAgICAgY2xhc3NOYW1lPXtiYXNlQ2xhc3N9XG4gICAgICAgIG9uU3VibWl0PXsoZSkgPT4ge1xuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgIHZvaWQgZm9ybS5oYW5kbGVTdWJtaXQoKVxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8Rm9ybUlucHV0V3JhcCBjbGFzc05hbWU9e2Jhc2VDbGFzc30+XG4gICAgICAgICAgPGZvcm0uQXBwRmllbGRcbiAgICAgICAgICAgIG5hbWU9XCJsb2dpblwiXG4gICAgICAgICAgICBjaGlsZHJlbj17KGZpZWxkKSA9PiA8ZmllbGQuVGV4dEZpZWxkIHR5cGU9XCJ0ZXh0XCIgY2xhc3NOYW1lPVwiZW1haWxcIiBhdXRvQ29tcGxldGU9XCJlbWFpbFwiIGxhYmVsPXtnZXRMb2dpblR5cGVMYWJlbCgpfSAvPn1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxmb3JtLkFwcEZpZWxkXG4gICAgICAgICAgICBuYW1lPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgY2hpbGRyZW49eyhmaWVsZCkgPT4gKFxuICAgICAgICAgICAgICA8ZmllbGQuVGV4dEZpZWxkIHR5cGU9XCJwYXNzd29yZFwiIGNsYXNzTmFtZT1cInBhc3N3b3JkXCIgYXV0b0NvbXBsZXRlPVwicGFzc3dvcmRcIiBsYWJlbD17dCgnZ2VuZXJhbDpwYXNzd29yZCcpfSAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0Zvcm1JbnB1dFdyYXA+XG4gICAgICAgIDxMaW5rIGhyZWY9e2ZvcmdvdFBhc3N3b3JkVXJsfSBwcmVmZXRjaD17ZmFsc2V9PlxuICAgICAgICAgIHt0KCdhdXRoZW50aWNhdGlvbjpmb3Jnb3RQYXNzd29yZFF1ZXN0aW9uJyl9XG4gICAgICAgIDwvTGluaz5cbiAgICAgICAgPGZvcm0uQXBwRm9ybSBjaGlsZHJlbj17PGZvcm0uU3VibWl0IGxhYmVsPXt0KCdhdXRoZW50aWNhdGlvbjpsb2dpbicpfSBsb2FkaW5nTGFiZWw9e3QoJ2dlbmVyYWw6bG9hZGluZycpfSAvPn0gLz5cbiAgICAgIDwvRm9ybT5cbiAgICAgIHsoT2JqZWN0LmtleXMoc29jaWFsUHJvdmlkZXJzIHx8IHt9KS5sZW5ndGggPiAwIHx8IGhhc1Bhc3NrZXlTdXBwb3J0KSAmJiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgICAgICAgICAgIGZvbnRTaXplOiAnMC44NzVyZW0nLFxuICAgICAgICAgICAgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZScsXG4gICAgICAgICAgICBtYXJnaW5Ub3A6ICctLjVyZW0nLFxuICAgICAgICAgICAgY29sb3I6ICd2YXIoLS10aGVtZS1lbGV2YXRpb24tNDUwKScsXG4gICAgICAgICAgICBtYXJnaW5Cb3R0b206ICcxLjVyZW0nXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuPk9yIGxvZ2luIHdpdGg8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICAgIDxBZG1pblNvY2lhbFByb3ZpZGVyQnV0dG9uc1xuICAgICAgICBhbGxvd1NpZ251cD17ZmFsc2V9XG4gICAgICAgIHNvY2lhbFByb3ZpZGVycz17c29jaWFsUHJvdmlkZXJzfVxuICAgICAgICBzZXRMb2FkaW5nPXsoKSA9PiB7fX1cbiAgICAgICAgaGFzUGFzc2tleVN1cHBvcnQ9e2hhc1Bhc3NrZXlTdXBwb3J0fVxuICAgICAgICByZWRpcmVjdFVybD17cmVkaXJlY3RVcmx9XG4gICAgICAvPlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VNZW1vIiwidXNlU3RhdGUiLCJ6IiwidXNlQXBwRm9ybSIsIkZvcm0iLCJGb3JtSW5wdXRXcmFwIiwiRm9ybUhlYWRlciIsImNyZWF0ZUF1dGhDbGllbnQiLCJ1c2VybmFtZUNsaWVudCIsImFkbWluUm91dGVzIiwiZm9ybWF0QWRtaW5VUkwiLCJnZXRMb2dpbk9wdGlvbnMiLCJnZXRTYWZlUmVkaXJlY3QiLCJMaW5rIiwidG9hc3QiLCJ1c2VDb25maWciLCJ1c2VUcmFuc2xhdGlvbiIsIkFkbWluU29jaWFsUHJvdmlkZXJCdXR0b25zIiwiZW1haWxSZWdleCIsInVzZXJuYW1lUmVnZXgiLCJiYXNlQ2xhc3MiLCJBZG1pbkxvZ2luQ2xpZW50Iiwic29jaWFsUHJvdmlkZXJzIiwiaGFzVXNlcm5hbWVQbHVnaW4iLCJoYXNQYXNza2V5U3VwcG9ydCIsInByZWZpbGxFbWFpbCIsInByZWZpbGxQYXNzd29yZCIsInByZWZpbGxVc2VybmFtZSIsInNlYXJjaFBhcmFtcyIsImxvZ2luV2l0aFVzZXJuYW1lIiwiY29uZmlnIiwidCIsImNhbkxvZ2luV2l0aEVtYWlsIiwiY2FuTG9naW5XaXRoVXNlcm5hbWUiLCJ1c2VybmFtZVNldHRpbmdzIiwibWluTGVuZ3RoIiwibWF4TGVuZ3RoIiwicmVkaXJlY3RVcmwiLCJyZWRpcmVjdCIsInJvdXRlcyIsImFkbWluIiwiZm9yZ290UGFzc3dvcmRVcmwiLCJhZG1pblJvdXRlIiwicGF0aCIsImZvcmdvdFBhc3N3b3JkIiwiYXV0aENsaWVudCIsInBsdWdpbnMiLCJsb2dpblR5cGUiLCJyZXF1aXJlRW1haWxWZXJpZmljYXRpb24iLCJzZXRSZXF1aXJlRW1haWxWZXJpZmljYXRpb24iLCJoZWFkaW5nIiwiZGVzY3JpcHRpb24iLCJzdHlsZSIsInRleHRBbGlnbiIsInZhbGlkYXRpb25NYXAiLCJlbWFpbCIsImlzVmFsaWQiLCJ2YWwiLCJ0ZXN0IiwiZ2V0RXJyb3JNZXNzYWdlIiwidXNlcm5hbWUiLCJsZW5ndGgiLCJlbWFpbE9yVXNlcm5hbWUiLCJpbmNsdWRlcyIsImlzUHJvYmFibHlFbWFpbCIsImxvZ2luU2NoZW1hIiwib2JqZWN0IiwibG9naW4iLCJzdHJpbmciLCJyZWZpbmUiLCJtZXNzYWdlIiwicGFzc3dvcmQiLCJtaW4iLCJmb3JtIiwiZGVmYXVsdFZhbHVlcyIsIm9uU3VibWl0IiwidmFsdWUiLCJpc0VtYWlsIiwiZGF0YSIsImVycm9yIiwic2lnbkluIiwiY2FsbGJhY2tVUkwiLCJjb2RlIiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzbGljZSIsInRva2VuIiwic3VjY2VzcyIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiIsImVyciIsInZhbGlkYXRvcnMiLCJnZXRMb2dpblR5cGVMYWJlbCIsImxhYmVscyIsImRpdiIsImNsYXNzTmFtZSIsImUiLCJwcmV2ZW50RGVmYXVsdCIsImhhbmRsZVN1Ym1pdCIsIkFwcEZpZWxkIiwibmFtZSIsImNoaWxkcmVuIiwiZmllbGQiLCJUZXh0RmllbGQiLCJ0eXBlIiwiYXV0b0NvbXBsZXRlIiwibGFiZWwiLCJwcmVmZXRjaCIsIkFwcEZvcm0iLCJTdWJtaXQiLCJsb2FkaW5nTGFiZWwiLCJPYmplY3QiLCJrZXlzIiwiZm9udFNpemUiLCJ0ZXh0VHJhbnNmb3JtIiwibWFyZ2luVG9wIiwiY29sb3IiLCJtYXJnaW5Cb3R0b20iLCJzcGFuIiwiYWxsb3dTaWdudXAiLCJzZXRMb2FkaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQSxPQUFPQSxTQUFTQyxPQUFPLEVBQUVDLFFBQVEsUUFBUSxRQUFPO0FBQ2hELFNBQVNDLENBQUMsUUFBUSxNQUFLO0FBQ3ZCLFNBQVNDLFVBQVUsUUFBUSw2QkFBZTtBQUMxQyxTQUFTQyxJQUFJLEVBQUVDLGFBQWEs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
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { type AdminViewServerProps } from 'payload';
3
+ import type { BetterAuthPluginOptions, SanitizedBetterAuthOptions } from '@/better-auth/plugin/types';
4
+ export declare const loginBaseClass = "login";
5
+ type AdminLoginProps = AdminViewServerProps & {
6
+ pluginOptions: BetterAuthPluginOptions;
7
+ betterAuthOptions: SanitizedBetterAuthOptions;
8
+ };
9
+ declare const AdminLogin: React.FC<AdminLoginProps>;
10
+ export default AdminLogin;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/payload/views/admin-login/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAWzB,OAAO,EAAE,KAAK,oBAAoB,EAAoB,MAAM,SAAS,CAAA;AACrE,OAAO,KAAK,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA;AAErG,eAAO,MAAM,cAAc,UAAU,CAAA;AAErC,KAAK,eAAe,GAAG,oBAAoB,GAAG;IAC5C,aAAa,EAAE,uBAAuB,CAAA;IACtC,iBAAiB,EAAE,0BAA0B,CAAA;CAC9C,CAAA;AAED,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAoIzC,CAAA;AAED,eAAe,UAAU,CAAA"}
@@ -0,0 +1,126 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { AdminLoginClient } from "./client";
4
+ import { redirect } from "next/navigation";
5
+ import { Logo } from "../../../../../shared/components/logo";
6
+ import { getSafeRedirect } from "../../utils/get-safe-redirect";
7
+ import { MinimalTemplate } from "@payloadcms/next/templates";
8
+ import { checkPasskeyPlugin } from "../../../helpers/check-passkey-plugin";
9
+ import { checkUsernamePlugin } from "../../../helpers/check-username-plugin";
10
+ import { RenderServerComponent } from "@payloadcms/ui/elements/RenderServerComponent";
11
+ import { adminRoutes, baseCollectionSlugs, defaults } from "../../../constants";
12
+ export const loginBaseClass = 'login';
13
+ const AdminLogin = async ({ initPageResult, params, searchParams, pluginOptions, betterAuthOptions })=>{
14
+ const { locale, permissions, req } = initPageResult;
15
+ const { i18n, payload: { config, collections }, payload, user } = req;
16
+ const { admin: { components: { afterLogin, beforeLogin } = {}, user: userSlug }, routes: { admin: adminRoute } } = config;
17
+ const invitationsCollection = pluginOptions.adminInvitations?.slug ?? baseCollectionSlugs.adminInvitations;
18
+ const adminRole = pluginOptions.users?.defaultAdminRole ?? defaults.adminRole;
19
+ const redirectUrl = getSafeRedirect(searchParams?.redirect ?? '', adminRoute);
20
+ if (user) {
21
+ redirect(redirectUrl);
22
+ }
23
+ const adminCount = await req.payload.count({
24
+ collection: userSlug,
25
+ where: {
26
+ role: {
27
+ equals: adminRole
28
+ }
29
+ }
30
+ });
31
+ if (adminCount.totalDocs === 0) {
32
+ // Check if we already have an admin invitation
33
+ const existingInvitations = await req.payload.find({
34
+ collection: invitationsCollection,
35
+ where: {
36
+ role: {
37
+ equals: adminRole
38
+ }
39
+ }
40
+ });
41
+ let token;
42
+ if (existingInvitations.totalDocs > 0) {
43
+ // Use existing token
44
+ token = existingInvitations.docs[0].token;
45
+ } else {
46
+ // Generate a new secure invite token
47
+ token = crypto.randomUUID();
48
+ await req.payload.create({
49
+ collection: invitationsCollection,
50
+ data: {
51
+ role: adminRole,
52
+ token
53
+ }
54
+ });
55
+ }
56
+ redirect(`${adminRoute}${adminRoutes.adminSignup}?token=${token}`);
57
+ }
58
+ // Filter out the first component from afterLogin array or set to undefined if not more than 1
59
+ // This is because of the custom login redirect component, we don't want an infinite loop
60
+ const filteredAfterLogin = Array.isArray(afterLogin) && afterLogin.length > 1 ? afterLogin.slice(1) : undefined;
61
+ const prefillAutoLogin = typeof config.admin?.autoLogin === 'object' && config.admin?.autoLogin.prefillOnly;
62
+ const prefillUsername = prefillAutoLogin && typeof config.admin?.autoLogin === 'object' ? config.admin?.autoLogin.username : undefined;
63
+ const prefillEmail = prefillAutoLogin && typeof config.admin?.autoLogin === 'object' ? config.admin?.autoLogin.email : undefined;
64
+ const prefillPassword = prefillAutoLogin && typeof config.admin?.autoLogin === 'object' ? config.admin?.autoLogin.password : undefined;
65
+ const hasUsernamePlugin = checkUsernamePlugin(betterAuthOptions);
66
+ const hasPasskeyPlugin = checkPasskeyPlugin(betterAuthOptions);
67
+ const socialProviders = pluginOptions.adminComponents?.socialProviders ?? {};
68
+ const loginWithUsername = collections?.[userSlug]?.config.auth.loginWithUsername;
69
+ const canLoginWithUsername = (hasUsernamePlugin && loginWithUsername) ?? false;
70
+ return /*#__PURE__*/ _jsxs(MinimalTemplate, {
71
+ className: loginBaseClass,
72
+ children: [
73
+ /*#__PURE__*/ _jsx("div", {
74
+ className: `${loginBaseClass}__brand`,
75
+ children: /*#__PURE__*/ _jsx(Logo, {
76
+ i18n: i18n,
77
+ locale: locale,
78
+ params: params,
79
+ payload: payload,
80
+ permissions: permissions,
81
+ searchParams: searchParams,
82
+ user: user ?? undefined
83
+ })
84
+ }),
85
+ RenderServerComponent({
86
+ Component: beforeLogin,
87
+ importMap: payload.importMap,
88
+ serverProps: {
89
+ i18n,
90
+ locale,
91
+ params,
92
+ payload,
93
+ permissions,
94
+ searchParams,
95
+ user: user ?? undefined
96
+ }
97
+ }),
98
+ /*#__PURE__*/ _jsx(AdminLoginClient, {
99
+ loginWithUsername: canLoginWithUsername,
100
+ hasPasskeySupport: hasPasskeyPlugin,
101
+ hasUsernamePlugin: hasUsernamePlugin,
102
+ socialProviders: socialProviders,
103
+ prefillEmail: prefillEmail,
104
+ prefillPassword: prefillPassword,
105
+ prefillUsername: prefillUsername,
106
+ searchParams: searchParams ?? {}
107
+ }),
108
+ RenderServerComponent({
109
+ Component: filteredAfterLogin,
110
+ importMap: payload.importMap,
111
+ serverProps: {
112
+ i18n,
113
+ locale,
114
+ params,
115
+ payload,
116
+ permissions,
117
+ searchParams,
118
+ user: user ?? undefined
119
+ }
120
+ })
121
+ ]
122
+ });
123
+ };
124
+ export default AdminLogin;
125
+
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC92aWV3cy9hZG1pbi1sb2dpbi9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQWRtaW5Mb2dpbkNsaWVudCB9IGZyb20gJy4vY2xpZW50J1xuaW1wb3J0IHsgcmVkaXJlY3QgfSBmcm9tICduZXh0L25hdmlnYXRpb24nXG5pbXBvcnQgeyBMb2dvIH0gZnJvbSAnQC9zaGFyZWQvY29tcG9uZW50cy9sb2dvJ1xuaW1wb3J0IHsgZ2V0U2FmZVJlZGlyZWN0IH0gZnJvbSAnQC9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC91dGlscy9nZXQtc2FmZS1yZWRpcmVjdCdcbmltcG9ydCB7IE1pbmltYWxUZW1wbGF0ZSB9IGZyb20gJ0BwYXlsb2FkY21zL25leHQvdGVtcGxhdGVzJ1xuaW1wb3J0IHsgY2hlY2tQYXNza2V5UGx1Z2luIH0gZnJvbSAnQC9iZXR0ZXItYXV0aC9wbHVnaW4vaGVscGVycy9jaGVjay1wYXNza2V5LXBsdWdpbidcbmltcG9ydCB7IGNoZWNrVXNlcm5hbWVQbHVnaW4gfSBmcm9tICdAL2JldHRlci1hdXRoL3BsdWdpbi9oZWxwZXJzL2NoZWNrLXVzZXJuYW1lLXBsdWdpbidcbmltcG9ydCB7IFJlbmRlclNlcnZlckNvbXBvbmVudCB9IGZyb20gJ0BwYXlsb2FkY21zL3VpL2VsZW1lbnRzL1JlbmRlclNlcnZlckNvbXBvbmVudCdcbmltcG9ydCB7IGFkbWluUm91dGVzLCBiYXNlQ29sbGVjdGlvblNsdWdzLCBkZWZhdWx0cyB9IGZyb20gJ0AvYmV0dGVyLWF1dGgvcGx1Z2luL2NvbnN0YW50cydcblxuaW1wb3J0IHsgdHlwZSBBZG1pblZpZXdTZXJ2ZXJQcm9wcywgdHlwZSBTZXJ2ZXJQcm9wcyB9IGZyb20gJ3BheWxvYWQnXG5pbXBvcnQgdHlwZSB7IEJldHRlckF1dGhQbHVnaW5PcHRpb25zLCBTYW5pdGl6ZWRCZXR0ZXJBdXRoT3B0aW9ucyB9IGZyb20gJ0AvYmV0dGVyLWF1dGgvcGx1Z2luL3R5cGVzJ1xuXG5leHBvcnQgY29uc3QgbG9naW5CYXNlQ2xhc3MgPSAnbG9naW4nXG5cbnR5cGUgQWRtaW5Mb2dpblByb3BzID0gQWRtaW5WaWV3U2VydmVyUHJvcHMgJiB7XG4gIHBsdWdpbk9wdGlvbnM6IEJldHRlckF1dGhQbHVnaW5PcHRpb25zXG4gIGJldHRlckF1dGhPcHRpb25zOiBTYW5pdGl6ZWRCZXR0ZXJBdXRoT3B0aW9uc1xufVxuXG5jb25zdCBBZG1pbkxvZ2luOiBSZWFjdC5GQzxBZG1pbkxvZ2luUHJvcHM+ID0gYXN5bmMgKHtcbiAgaW5pdFBhZ2VSZXN1bHQsXG4gIHBhcmFtcyxcbiAgc2VhcmNoUGFyYW1zLFxuICBwbHVnaW5PcHRpb25zLFxuICBiZXR0ZXJBdXRoT3B0aW9uc1xufTogQWRtaW5Mb2dpblByb3BzKSA9PiB7XG4gIGNvbnN0IHsgbG9jYWxlLCBwZXJtaXNzaW9ucywgcmVxIH0gPSBpbml0UGFnZVJlc3VsdFxuICBjb25zdCB7XG4gICAgaTE4bixcbiAgICBwYXlsb2FkOiB7IGNvbmZpZywgY29sbGVjdGlvbnMgfSxcbiAgICBwYXlsb2FkLFxuICAgIHVzZXJcbiAgfSA9IHJlcVxuXG4gIGNvbnN0IHtcbiAgICBhZG1pbjogeyBjb21wb25lbnRzOiB7IGFmdGVyTG9naW4sIGJlZm9yZUxvZ2luIH0gPSB7fSwgdXNlcjogdXNlclNsdWcgfSxcbiAgICByb3V0ZXM6IHsgYWRtaW46IGFkbWluUm91dGUgfVxuICB9ID0gY29uZmlnXG5cbiAgY29uc3QgaW52aXRhdGlvbnNDb2xsZWN0aW9uID0gcGx1Z2luT3B0aW9ucy5hZG1pbkludml0YXRpb25zPy5zbHVnID8/IGJhc2VDb2xsZWN0aW9uU2x1Z3MuYWRtaW5JbnZpdGF0aW9uc1xuICBjb25zdCBhZG1pblJvbGUgPSBwbHVnaW5PcHRpb25zLnVzZXJzPy5kZWZhdWx0QWRtaW5Sb2xlID8/IGRlZmF1bHRzLmFkbWluUm9sZVxuICBjb25zdCByZWRpcmVjdFVybCA9IGdldFNhZmVSZWRpcmVjdChzZWFyY2hQYXJhbXM/LnJlZGlyZWN0ID8/ICcnLCBhZG1pblJvdXRlKVxuXG4gIGlmICh1c2VyKSB7XG4gICAgcmVkaXJlY3QocmVkaXJlY3RVcmwpXG4gIH1cblxuICBjb25zdCBhZG1pbkNvdW50ID0gYXdhaXQgcmVxLnBheWxvYWQuY291bnQoe1xuICAgIGNvbGxlY3Rpb246IHVzZXJTbHVnLFxuICAgIHdoZXJlOiB7XG4gICAgICByb2xlOiB7XG4gICAgICAgIGVxdWFsczogYWRtaW5Sb2xlXG4gICAgICB9XG4gICAgfVxuICB9KVxuXG4gIGlmIChhZG1pbkNvdW50LnRvdGFsRG9jcyA9PT0gMCkge1xuICAgIC8vIENoZWNrIGlmIHdlIGFscmVhZHkgaGF2ZSBhbiBhZG1pbiBpbnZpdGF0aW9uXG4gICAgY29uc3QgZXhpc3RpbmdJbnZpdGF0aW9ucyA9IGF3YWl0IHJlcS5wYXlsb2FkLmZpbmQoe1xuICAgICAgY29sbGVjdGlvbjogaW52aXRhdGlvbnNDb2xsZWN0aW9uLFxuICAgICAgd2hlcmU6IHtcbiAgICAgICAgcm9sZToge1xuICAgICAgICAgIGVxdWFsczogYWRtaW5Sb2xlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuXG4gICAgbGV0IHRva2VuXG5cbiAgICBpZiAoZXhpc3RpbmdJbnZpdGF0aW9ucy50b3RhbERvY3MgPiAwKSB7XG4gICAgICAvLyBVc2UgZXhpc3RpbmcgdG9rZW5cbiAgICAgIHRva2VuID0gZXhpc3RpbmdJbnZpdGF0aW9ucy5kb2NzWzBdLnRva2VuXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEdlbmVyYXRlIGEgbmV3IHNlY3VyZSBpbnZpdGUgdG9rZW5cbiAgICAgIHRva2VuID0gY3J5cHRvLnJhbmRvbVVVSUQoKVxuICAgICAgYXdhaXQgcmVxLnBheWxvYWQuY3JlYXRlKHtcbiAgICAgICAgY29sbGVjdGlvbjogaW52aXRhdGlvbnNDb2xsZWN0aW9uLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgcm9sZTogYWRtaW5Sb2xlLFxuICAgICAgICAgIHRva2VuXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmVkaXJlY3QoYCR7YWRtaW5Sb3V0ZX0ke2FkbWluUm91dGVzLmFkbWluU2lnbnVwfT90b2tlbj0ke3Rva2VufWApXG4gIH1cblxuICAvLyBGaWx0ZXIgb3V0IHRoZSBmaXJzdCBjb21wb25lbnQgZnJvbSBhZnRlckxvZ2luIGFycmF5IG9yIHNldCB0byB1bmRlZmluZWQgaWYgbm90IG1vcmUgdGhhbiAxXG4gIC8vIFRoaXMgaXMgYmVjYXVzZSBvZiB0aGUgY3VzdG9tIGxvZ2luIHJlZGlyZWN0IGNvbXBvbmVudCwgd2UgZG9uJ3Qgd2FudCBhbiBpbmZpbml0ZSBsb29wXG4gIGNvbnN0IGZpbHRlcmVkQWZ0ZXJMb2dpbiA9IEFycmF5LmlzQXJyYXkoYWZ0ZXJMb2dpbikgJiYgYWZ0ZXJMb2dpbi5sZW5ndGggPiAxID8gYWZ0ZXJMb2dpbi5zbGljZSgxKSA6IHVuZGVmaW5lZFxuICBjb25zdCBwcmVmaWxsQXV0b0xvZ2luID0gdHlwZW9mIGNvbmZpZy5hZG1pbj8uYXV0b0xvZ2luID09PSAnb2JqZWN0JyAmJiBjb25maWcuYWRtaW4/LmF1dG9Mb2dpbi5wcmVmaWxsT25seVxuICBjb25zdCBwcmVmaWxsVXNlcm5hbWUgPSBwcmVmaWxsQXV0b0xvZ2luICYmIHR5cGVvZiBjb25maWcuYWRtaW4/LmF1dG9Mb2dpbiA9PT0gJ29iamVjdCcgPyBjb25maWcuYWRtaW4/LmF1dG9Mb2dpbi51c2VybmFtZSA6IHVuZGVmaW5lZFxuICBjb25zdCBwcmVmaWxsRW1haWwgPSBwcmVmaWxsQXV0b0xvZ2luICYmIHR5cGVvZiBjb25maWcuYWRtaW4/LmF1dG9Mb2dpbiA9PT0gJ29iamVjdCcgPyBjb25maWcuYWRtaW4/LmF1dG9Mb2dpbi5lbWFpbCA6IHVuZGVmaW5lZFxuICBjb25zdCBwcmVmaWxsUGFzc3dvcmQgPSBwcmVmaWxsQXV0b0xvZ2luICYmIHR5cGVvZiBjb25maWcuYWRtaW4/LmF1dG9Mb2dpbiA9PT0gJ29iamVjdCcgPyBjb25maWcuYWRtaW4/LmF1dG9Mb2dpbi5wYXNzd29yZCA6IHVuZGVmaW5lZFxuICBjb25zdCBoYXNVc2VybmFtZVBsdWdpbiA9IGNoZWNrVXNlcm5hbWVQbHVnaW4oYmV0dGVyQXV0aE9wdGlvbnMpXG4gIGNvbnN0IGhhc1Bhc3NrZXlQbHVnaW4gPSBjaGVja1Bhc3NrZXlQbHVnaW4oYmV0dGVyQXV0aE9wdGlvbnMpXG4gIGNvbnN0IHNvY2lhbFByb3ZpZGVycyA9IHBsdWdpbk9wdGlvbnMuYWRtaW5Db21wb25lbnRzPy5zb2NpYWxQcm92aWRlcnMgPz8ge31cbiAgY29uc3QgbG9naW5XaXRoVXNlcm5hbWUgPSBjb2xsZWN0aW9ucz8uW3VzZXJTbHVnXT8uY29uZmlnLmF1dGgubG9naW5XaXRoVXNlcm5hbWVcbiAgY29uc3QgY2FuTG9naW5XaXRoVXNlcm5hbWUgPSAoaGFzVXNlcm5hbWVQbHVnaW4gJiYgbG9naW5XaXRoVXNlcm5hbWUpID8/IGZhbHNlXG5cbiAgcmV0dXJuIChcbiAgICA8TWluaW1hbFRlbXBsYXRlIGNsYXNzTmFtZT17bG9naW5CYXNlQ2xhc3N9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2xvZ2luQmFzZUNsYXNzfV9fYnJhbmRgfT5cbiAgICAgICAgPExvZ29cbiAgICAgICAgICBpMThuPXtpMThufVxuICAgICAgICAgIGxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgIHBhcmFtcz17cGFyYW1zfVxuICAgICAgICAgIHBheWxvYWQ9e3BheWxvYWR9XG4gICAgICAgICAgcGVybWlzc2lvbnM9e3Blcm1pc3Npb25zfVxuICAgICAgICAgIHNlYXJjaFBhcmFtcz17c2VhcmNoUGFyYW1zfVxuICAgICAgICAgIHVzZXI9e3VzZXIgPz8gdW5kZWZpbmVkfVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgICB7UmVuZGVyU2VydmVyQ29tcG9uZW50KHtcbiAgICAgICAgQ29tcG9uZW50OiBiZWZvcmVMb2dpbixcbiAgICAgICAgaW1wb3J0TWFwOiBwYXlsb2FkLmltcG9ydE1hcCxcbiAgICAgICAgc2VydmVyUHJvcHM6IHtcbiAgICAgICAgICBpMThuLFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBwYXJhbXMsXG4gICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgICBwZXJtaXNzaW9ucyxcbiAgICAgICAgICBzZWFyY2hQYXJhbXMsXG4gICAgICAgICAgdXNlcjogdXNlciA/PyB1bmRlZmluZWRcbiAgICAgICAgfSBzYXRpc2ZpZXMgU2VydmVyUHJvcHNcbiAgICAgIH0pfVxuICAgICAgPEFkbWluTG9naW5DbGllbnRcbiAgICAgICAgbG9naW5XaXRoVXNlcm5hbWU9e2NhbkxvZ2luV2l0aFVzZXJuYW1lfVxuICAgICAgICBoYXNQYXNza2V5U3VwcG9ydD17aGFzUGFzc2tleVBsdWdpbn1cbiAgICAgICAgaGFzVXNlcm5hbWVQbHVnaW49e2hhc1VzZXJuYW1lUGx1Z2lufVxuICAgICAgICBzb2NpYWxQcm92aWRlcnM9e3NvY2lhbFByb3ZpZGVyc31cbiAgICAgICAgcHJlZmlsbEVtYWlsPXtwcmVmaWxsRW1haWx9XG4gICAgICAgIHByZWZpbGxQYXNzd29yZD17cHJlZmlsbFBhc3N3b3JkfVxuICAgICAgICBwcmVmaWxsVXNlcm5hbWU9e3ByZWZpbGxVc2VybmFtZX1cbiAgICAgICAgc2VhcmNoUGFyYW1zPXtzZWFyY2hQYXJhbXMgPz8ge319XG4gICAgICAvPlxuICAgICAge1JlbmRlclNlcnZlckNvbXBvbmVudCh7XG4gICAgICAgIENvbXBvbmVudDogZmlsdGVyZWRBZnRlckxvZ2luLFxuICAgICAgICBpbXBvcnRNYXA6IHBheWxvYWQuaW1wb3J0TWFwLFxuICAgICAgICBzZXJ2ZXJQcm9wczoge1xuICAgICAgICAgIGkxOG4sXG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIHBhcmFtcyxcbiAgICAgICAgICBwYXlsb2FkLFxuICAgICAgICAgIHBlcm1pc3Npb25zLFxuICAgICAgICAgIHNlYXJjaFBhcmFtcyxcbiAgICAgICAgICB1c2VyOiB1c2VyID8/IHVuZGVmaW5lZFxuICAgICAgICB9IHNhdGlzZmllcyBTZXJ2ZXJQcm9wc1xuICAgICAgfSl9XG4gICAgPC9NaW5pbWFsVGVtcGxhdGU+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgQWRtaW5Mb2dpblxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiQWRtaW5Mb2dpbkNsaWVudCIsInJlZGlyZWN0IiwiTG9nbyIsImdldFNhZmVSZWRpcmVjdCIsIk1pbmltYWxUZW1wbGF0ZSIsImNoZWNrUGFzc2tleVBsdWdpbiIsImNoZWNrVXNlcm5hbWVQbHVnaW4iLCJSZW5kZXJTZXJ2ZXJDb21wb25lbnQiLCJhZG1pblJvdXRlcyIsImJhc2VDb2xsZWN0aW9uU2x1Z3MiLCJkZWZhdWx0cyIsImxvZ2luQmFzZUNsYXNzIiwiQWRtaW5Mb2dpbiIsImluaXRQYWdlUmVzdWx0IiwicGFyYW1zIiwic2VhcmNoUGFyYW1zIiwicGx1Z2luT3B0aW9ucyIsImJldHRlckF1dGhPcHRpb25zIiwibG9jYWxlIiwicGVybWlzc2lvbnMiLCJyZXEiLCJpMThuIiwicGF5bG9hZCIsImNvbmZpZyIsImNvbGxlY3Rpb25zIiwidXNlciIsImFkbWluIiwiY29tcG9uZW50cyIsImFmdGVyTG9naW4iLCJiZWZvcmVMb2dpbiIsInVzZXJTbHVnIiwicm91dGVzIiwiYWRtaW5Sb3V0ZSIsImludml0YXRpb25zQ29sbGVjdGlvbiIsImFkbWluSW52aXRhdGlvbnMiLCJzbHVnIiwiYWRtaW5Sb2xlIiwidXNlcnMiLCJkZWZhdWx0QWRtaW5Sb2xlIiwicmVkaXJlY3RVcmwiLCJhZG1pbkNvdW50IiwiY291bnQiLCJjb2xsZWN0aW9uIiwid2hlcmUiLCJyb2xlIiwiZXF1YWxzIiwidG90YWxEb2NzIiwiZXhpc3RpbmdJbnZpdGF0aW9ucyIsImZpbmQiLCJ0b2tlbiIsImRvY3MiLCJjcnlwdG8iLCJyYW5kb21VVUlEIiwiY3JlYXRlIiwiZGF0YSIsImFkbWluU2lnbnVwIiwiZmlsdGVyZWRBZnRlckxvZ2luIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwic2xpY2UiLCJ1bmRlZmluZWQiLCJwcmVmaWxsQXV0b0xvZ2luIiwiYXV0b0xvZ2luIiwicHJlZmlsbE9ubHkiLCJwcmVmaWxsVXNlcm5hbWUiLCJ1c2VybmFtZSIsInByZWZpbGxFbWFpbCIsImVtYWlsIiwicHJlZmlsbFBhc3N3b3JkIiwicGFzc3dvcmQiLCJoYXNVc2VybmFtZVBsdWdpbiIsImhhc1Bhc3NrZXlQbHVnaW4iLCJzb2NpYWxQcm92aWRlcnMiLCJhZG1pbkNvbXBvbmVudHMiLCJsb2dpbldpdGhVc2VybmFtZSIsImF1dGgiLCJjYW5Mb2dpbldpdGhVc2VybmFtZSIsImNsYXNzTmFtZSIsImRpdiIsIkNvbXBvbmVudCIsImltcG9ydE1hcCIsInNlcnZlclByb3BzIiwiaGFzUGFzc2tleVN1cHBvcnQiXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxXQUFXLFFBQU87QUFDekIsU0FBU0MsZ0JBQWdCLFFBQVEsV0FBVTtBQUMzQyxTQUFTQyxRQUFRLFFBQVEsa0JBQWlCO0FBQzFDLFNBQVNDLElBQUksUUFBUSx3Q0FBMEI7QUFDL0MsU0FBU0MsZUFBZSxRQUFRLGdDQUFzRDtBQUN0RixTQUFTQyxlQUFlLFFBQVEsNkJBQTRCO0FBQzVELFNBQVNDLGtCQUFrQixRQUFRLHdDQUFtRDtBQUN0RixTQUFTQyxtQkFBbUIsUUFBUSx5Q0FBb0Q7QUFDeEYsU0FBU0MscUJBQXFCLFFBQVEsZ0RBQStDO0FBQ3JGLFNBQVNDLFdBQVcsRUFBRUMsbUJBQW1CLEVBQUVDLFFBQVEsUUFBUSxxQkFBZ0M7QUFLM0YsT0FBTyxNQUFNQyxpQkFBaUIsUUFBTztBQU9yQyxNQUFNQyxhQUF3QyxPQUFPLEVBQ25EQyxjQUFjLEVBQ2RDLE1BQU0sRUFDTkMsWUFBWSxFQUNaQyxhQUFhLEVBQ2JDLGlCQUFpQixFQUNEO0lBQ2hCLE1BQU0sRUFBRUMsTUFBTSxFQUFFQyxXQUFXLEVBQUVDLEdBQUcsRUFBRSxHQUFHUDtJQUNyQyxN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