payload-auth 1.0.2 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (423) hide show
  1. package/dist/better-auth/adapter/index.d.ts +2 -2
  2. package/dist/better-auth/adapter/index.d.ts.map +1 -1
  3. package/dist/better-auth/adapter/index.js +115 -69
  4. package/dist/better-auth/adapter/transform/index.d.ts +22 -10
  5. package/dist/better-auth/adapter/transform/index.d.ts.map +1 -1
  6. package/dist/better-auth/adapter/transform/index.js +387 -96
  7. package/dist/better-auth/adapter/types.d.ts +2 -1
  8. package/dist/better-auth/adapter/types.d.ts.map +1 -1
  9. package/dist/better-auth/adapter/types.js +1 -1
  10. package/dist/better-auth/plugin/helpers/check-passkey-plugin.d.ts +3 -0
  11. package/dist/better-auth/plugin/helpers/check-passkey-plugin.d.ts.map +1 -0
  12. package/dist/better-auth/plugin/helpers/check-passkey-plugin.js +5 -0
  13. package/dist/better-auth/plugin/helpers/check-username-plugin.d.ts +3 -0
  14. package/dist/better-auth/plugin/helpers/check-username-plugin.d.ts.map +1 -0
  15. package/dist/better-auth/plugin/helpers/check-username-plugin.js +5 -0
  16. package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts.map +1 -1
  17. package/dist/better-auth/plugin/helpers/generate-verify-email-url.js +8 -8
  18. package/dist/better-auth/plugin/helpers/get-admin-access.d.ts +8 -0
  19. package/dist/better-auth/plugin/helpers/get-admin-access.d.ts.map +1 -0
  20. package/dist/better-auth/plugin/helpers/get-admin-access.js +22 -0
  21. package/dist/better-auth/plugin/helpers/get-admin-routes.d.ts +14 -0
  22. package/dist/better-auth/plugin/helpers/get-admin-routes.d.ts.map +1 -0
  23. package/dist/better-auth/plugin/helpers/get-admin-routes.js +6 -0
  24. package/dist/better-auth/plugin/helpers/get-all-roles.d.ts +6 -0
  25. package/dist/better-auth/plugin/helpers/get-all-roles.d.ts.map +1 -0
  26. package/dist/better-auth/plugin/helpers/get-all-roles.js +20 -0
  27. package/dist/better-auth/plugin/helpers/get-ip.d.ts +1 -1
  28. package/dist/better-auth/plugin/helpers/get-ip.d.ts.map +1 -1
  29. package/dist/better-auth/plugin/helpers/get-ip.js +14 -14
  30. package/dist/better-auth/plugin/helpers/get-requst-collection.d.ts +3 -0
  31. package/dist/better-auth/plugin/helpers/get-requst-collection.d.ts.map +1 -0
  32. package/dist/better-auth/plugin/helpers/get-requst-collection.js +14 -0
  33. package/dist/better-auth/plugin/helpers/index.d.ts +1 -1
  34. package/dist/better-auth/plugin/helpers/index.js +2 -2
  35. package/dist/better-auth/plugin/{lib → helpers}/prepare-session-data.d.ts +3 -3
  36. package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts.map +1 -0
  37. package/dist/better-auth/plugin/helpers/prepare-session-data.js +42 -0
  38. package/dist/better-auth/plugin/helpers/serialize-cookie.d.ts +4 -4
  39. package/dist/better-auth/plugin/helpers/serialize-cookie.d.ts.map +1 -1
  40. package/dist/better-auth/plugin/helpers/serialize-cookie.js +34 -34
  41. package/dist/better-auth/plugin/index.d.ts +7 -7
  42. package/dist/better-auth/plugin/index.d.ts.map +1 -1
  43. package/dist/better-auth/plugin/index.js +145 -37
  44. package/dist/better-auth/plugin/{collections → lib/build-collections}/accounts/hooks/sync-password-to-user.d.ts +1 -1
  45. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts.map +1 -0
  46. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.js +47 -0
  47. package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts +7 -0
  48. package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts.map +1 -0
  49. package/dist/better-auth/plugin/lib/build-collections/accounts/index.js +159 -0
  50. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts +6 -0
  51. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts.map +1 -0
  52. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.js +11 -0
  53. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts +3 -0
  54. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts.map +1 -0
  55. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.js +8 -0
  56. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts +7 -0
  57. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts.map +1 -0
  58. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.js +107 -0
  59. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts +6 -0
  60. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts.map +1 -0
  61. package/dist/better-auth/plugin/lib/build-collections/api-keys.js +196 -0
  62. package/dist/better-auth/plugin/lib/build-collections/index.d.ts +12 -0
  63. package/dist/better-auth/plugin/lib/build-collections/index.d.ts.map +1 -0
  64. package/dist/better-auth/plugin/lib/build-collections/index.js +96 -0
  65. package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts +6 -0
  66. package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts.map +1 -0
  67. package/dist/better-auth/plugin/lib/build-collections/invitations.js +91 -0
  68. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts +6 -0
  69. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts.map +1 -0
  70. package/dist/better-auth/plugin/lib/build-collections/jwks.js +43 -0
  71. package/dist/better-auth/plugin/lib/build-collections/members.d.ts +6 -0
  72. package/dist/better-auth/plugin/lib/build-collections/members.d.ts.map +1 -0
  73. package/dist/better-auth/plugin/lib/build-collections/members.js +71 -0
  74. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts +6 -0
  75. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts.map +1 -0
  76. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.js +98 -0
  77. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts +6 -0
  78. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts.map +1 -0
  79. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.js +113 -0
  80. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts +6 -0
  81. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts.map +1 -0
  82. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.js +67 -0
  83. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts +6 -0
  84. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts.map +1 -0
  85. package/dist/better-auth/plugin/lib/build-collections/organizations.js +59 -0
  86. package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts +6 -0
  87. package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts.map +1 -0
  88. package/dist/better-auth/plugin/lib/build-collections/passkeys.js +108 -0
  89. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts +8 -0
  90. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts.map +1 -0
  91. package/dist/better-auth/plugin/lib/build-collections/sessions.js +123 -0
  92. package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts +6 -0
  93. package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts.map +1 -0
  94. package/dist/better-auth/plugin/lib/build-collections/sso-providers.js +83 -0
  95. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts +6 -0
  96. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts.map +1 -0
  97. package/dist/better-auth/plugin/lib/build-collections/teams.js +45 -0
  98. package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts +6 -0
  99. package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts.map +1 -0
  100. package/dist/better-auth/plugin/lib/build-collections/two-factors.js +56 -0
  101. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts +8 -0
  102. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts.map +1 -0
  103. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.js +52 -0
  104. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/forgot-password.d.ts +3 -0
  105. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/forgot-password.d.ts.map +1 -0
  106. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/forgot-password.js +96 -0
  107. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts +13 -0
  108. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts.map +1 -0
  109. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.js +67 -0
  110. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/login.d.ts +4 -0
  111. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/login.d.ts.map +1 -0
  112. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/login.js +115 -0
  113. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts +3 -0
  114. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts.map +1 -0
  115. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.js +110 -0
  116. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.d.ts +3 -0
  117. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.d.ts.map +1 -0
  118. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.js +62 -0
  119. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts +3 -0
  120. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts.map +1 -0
  121. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.js +42 -0
  122. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts +4 -0
  123. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts.map +1 -0
  124. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.js +79 -0
  125. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.d.ts +4 -0
  126. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.d.ts.map +1 -0
  127. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.js +153 -0
  128. package/dist/better-auth/plugin/{collections → lib/build-collections}/users/hooks/after-login.d.ts +1 -1
  129. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts.map +1 -0
  130. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.js +75 -0
  131. package/dist/better-auth/plugin/{collections → lib/build-collections}/users/hooks/after-logout.d.ts +1 -1
  132. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts.map +1 -0
  133. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.js +74 -0
  134. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts +7 -0
  135. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts.map +1 -0
  136. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.js +45 -0
  137. package/dist/better-auth/plugin/{collections → lib/build-collections}/users/hooks/before-login.d.ts +1 -1
  138. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts.map +1 -0
  139. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.js +18 -0
  140. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts +3 -0
  141. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts.map +1 -0
  142. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.js +14 -0
  143. package/dist/better-auth/plugin/{collections → lib/build-collections}/users/hooks/sync-account.d.ts +1 -1
  144. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts.map +1 -0
  145. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.js +82 -0
  146. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts +8 -0
  147. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts.map +1 -0
  148. package/dist/better-auth/plugin/lib/build-collections/users/index.js +345 -0
  149. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts +8 -0
  150. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts.map +1 -0
  151. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.js +31 -0
  152. package/dist/better-auth/plugin/lib/{payload-access.d.ts → build-collections/utils/payload-access.d.ts} +1 -1
  153. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts.map +1 -0
  154. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.js +64 -0
  155. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts +7 -0
  156. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts.map +1 -0
  157. package/dist/better-auth/plugin/lib/build-collections/verifications.js +63 -0
  158. package/dist/better-auth/plugin/lib/{config.d.ts → constants.d.ts} +13 -1
  159. package/dist/better-auth/plugin/lib/constants.d.ts.map +1 -0
  160. package/dist/better-auth/plugin/lib/constants.js +56 -0
  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 +2 -2
  164. package/dist/better-auth/plugin/lib/get-required-collection-slugs.d.ts +4 -4
  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 +26 -43
  167. package/dist/better-auth/plugin/lib/init-better-auth.d.ts +4 -3
  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 +7 -7
  170. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts +3 -0
  171. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts.map +1 -0
  172. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.js +8 -0
  173. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts +2 -0
  174. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts.map +1 -0
  175. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.js +17 -0
  176. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts +10 -0
  177. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts.map +1 -0
  178. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js +118 -0
  179. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts +2 -0
  180. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts.map +1 -0
  181. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.js +58 -0
  182. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts +2 -0
  183. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts.map +1 -0
  184. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.js +86 -0
  185. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts +2 -0
  186. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts.map +1 -0
  187. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.js +17 -0
  188. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts +2 -0
  189. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts.map +1 -0
  190. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.js +17 -0
  191. package/dist/better-auth/plugin/lib/{ensure-password-set-before-create.d.ts → sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts} +1 -1
  192. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts.map +1 -0
  193. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.js +23 -0
  194. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.d.ts.map +1 -0
  195. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.js +62 -0
  196. package/dist/better-auth/plugin/lib/{respect-save-to-jwt-fields-middleware.d.ts → sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts} +6 -6
  197. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts.map +1 -0
  198. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.js +30 -0
  199. package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts +8 -0
  200. package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts.map +1 -0
  201. package/dist/better-auth/plugin/payload/components/admin-buttons/index.js +115 -0
  202. package/dist/better-auth/plugin/payload/components/admin-buttons/index.scss +31 -0
  203. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts +11 -0
  204. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts.map +1 -0
  205. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.js +196 -0
  206. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.scss +131 -0
  207. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.d.ts +14 -0
  208. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.d.ts.map +1 -0
  209. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.js +111 -0
  210. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.scss +51 -0
  211. package/dist/better-auth/plugin/payload/components/form-header/index.d.ts +9 -0
  212. package/dist/better-auth/plugin/payload/components/form-header/index.d.ts.map +1 -0
  213. package/dist/better-auth/plugin/payload/components/form-header/index.js +23 -0
  214. package/dist/better-auth/plugin/payload/components/form-header/index.scss +8 -0
  215. package/dist/better-auth/plugin/payload/components/icons.d.ts +9 -0
  216. package/dist/better-auth/plugin/payload/components/icons.d.ts.map +1 -0
  217. package/dist/better-auth/plugin/payload/components/icons.js +437 -0
  218. package/dist/better-auth/plugin/payload/components/logo.d.ts +3 -2
  219. package/dist/better-auth/plugin/payload/components/logo.d.ts.map +1 -1
  220. package/dist/better-auth/plugin/payload/components/logo.js +22 -34
  221. package/dist/better-auth/plugin/payload/components/logout-button.d.ts +6 -0
  222. package/dist/better-auth/plugin/payload/components/logout-button.d.ts.map +1 -0
  223. package/dist/better-auth/plugin/payload/components/logout-button.js +27 -0
  224. package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts +7 -0
  225. package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts.map +1 -0
  226. package/dist/better-auth/plugin/payload/components/rsc-redirect.js +8 -0
  227. package/dist/better-auth/plugin/payload/components/styles.css +2 -2
  228. package/dist/better-auth/plugin/payload/components/token-field.d.ts +5 -0
  229. package/dist/better-auth/plugin/payload/components/token-field.d.ts.map +1 -0
  230. package/dist/better-auth/plugin/payload/components/token-field.js +30 -0
  231. package/dist/better-auth/plugin/payload/exports/client.d.ts +6 -3
  232. package/dist/better-auth/plugin/payload/exports/client.d.ts.map +1 -1
  233. package/dist/better-auth/plugin/payload/exports/client.js +7 -4
  234. package/dist/better-auth/plugin/payload/exports/rsc.d.ts +9 -5
  235. package/dist/better-auth/plugin/payload/exports/rsc.d.ts.map +1 -1
  236. package/dist/better-auth/plugin/payload/exports/rsc.js +10 -6
  237. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts +3 -0
  238. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts.map +1 -0
  239. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.js +8 -0
  240. package/dist/better-auth/plugin/payload/utils/generate-metadata.d.ts +15 -0
  241. package/dist/better-auth/plugin/payload/utils/generate-metadata.d.ts.map +1 -0
  242. package/dist/better-auth/plugin/payload/utils/generate-metadata.js +74 -0
  243. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.d.ts +2 -0
  244. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.d.ts.map +1 -0
  245. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.js +23 -0
  246. package/dist/better-auth/plugin/payload/views/admin-invite/client.d.ts +12 -0
  247. package/dist/better-auth/plugin/payload/views/admin-invite/client.d.ts.map +1 -0
  248. package/dist/better-auth/plugin/payload/views/admin-invite/client.js +92 -0
  249. package/dist/better-auth/plugin/payload/views/admin-invite/index.d.ts +11 -0
  250. package/dist/better-auth/plugin/payload/views/admin-invite/index.d.ts.map +1 -0
  251. package/dist/better-auth/plugin/payload/views/admin-invite/index.js +84 -0
  252. package/dist/better-auth/plugin/payload/views/admin-invite/index.scss +25 -0
  253. package/dist/better-auth/plugin/payload/views/create-first-admin/client.d.ts +14 -0
  254. package/dist/better-auth/plugin/payload/views/create-first-admin/client.d.ts.map +1 -0
  255. package/dist/better-auth/plugin/payload/views/create-first-admin/client.js +95 -0
  256. package/dist/better-auth/plugin/payload/views/create-first-admin/index.d.ts +10 -4
  257. package/dist/better-auth/plugin/payload/views/create-first-admin/index.d.ts.map +1 -1
  258. package/dist/better-auth/plugin/payload/views/create-first-admin/index.js +124 -92
  259. package/dist/better-auth/plugin/payload/views/create-first-admin/index.scss +29 -0
  260. package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts +8 -0
  261. package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts.map +1 -0
  262. package/dist/better-auth/plugin/payload/views/forgot-password/client.js +119 -0
  263. package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts +9 -0
  264. package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts.map +1 -0
  265. package/dist/better-auth/plugin/payload/views/forgot-password/index.js +69 -0
  266. package/dist/better-auth/plugin/payload/views/forgot-password/index.scss +0 -0
  267. package/dist/better-auth/plugin/payload/views/inactivity/index.d.ts +5 -0
  268. package/dist/better-auth/plugin/payload/views/inactivity/index.d.ts.map +1 -0
  269. package/dist/better-auth/plugin/payload/views/inactivity/index.js +12 -0
  270. package/dist/better-auth/plugin/payload/views/login/form/fields/login-field.d.ts +9 -0
  271. package/dist/better-auth/plugin/payload/views/login/form/fields/login-field.d.ts.map +1 -0
  272. package/dist/better-auth/plugin/payload/views/login/form/fields/login-field.js +54 -0
  273. package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.d.ts +1 -0
  274. package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.d.ts.map +1 -0
  275. package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.js +121 -0
  276. package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.scss +31 -0
  277. package/dist/better-auth/plugin/payload/views/login/form/fields/password/types.d.ts +56 -0
  278. package/dist/better-auth/plugin/payload/views/login/form/fields/password/types.d.ts.map +1 -0
  279. package/dist/better-auth/plugin/payload/views/login/form/fields/password/types.js +3 -0
  280. package/dist/better-auth/plugin/payload/views/login/form/index.d.ts +17 -0
  281. package/dist/better-auth/plugin/payload/views/login/form/index.d.ts.map +1 -0
  282. package/dist/better-auth/plugin/payload/views/login/form/index.js +137 -0
  283. package/dist/better-auth/plugin/payload/views/login/form/index.scss +23 -0
  284. package/dist/better-auth/plugin/payload/views/login/index.d.ts +10 -5
  285. package/dist/better-auth/plugin/payload/views/login/index.d.ts.map +1 -1
  286. package/dist/better-auth/plugin/payload/views/login/index.js +81 -61
  287. package/dist/better-auth/plugin/payload/views/login/index.scss +10 -0
  288. package/dist/better-auth/plugin/payload/views/logout/client.d.ts +8 -0
  289. package/dist/better-auth/plugin/payload/views/logout/client.d.ts.map +1 -0
  290. package/dist/better-auth/plugin/payload/views/logout/client.js +76 -0
  291. package/dist/better-auth/plugin/payload/views/logout/index.d.ts +8 -0
  292. package/dist/better-auth/plugin/payload/views/logout/index.d.ts.map +1 -0
  293. package/dist/better-auth/plugin/payload/views/logout/index.js +14 -0
  294. package/dist/better-auth/plugin/payload/views/logout/index.scss +0 -0
  295. package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts +7 -0
  296. package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts.map +1 -0
  297. package/dist/better-auth/plugin/payload/views/reset-password/client.js +72 -0
  298. package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts +5 -0
  299. package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts.map +1 -0
  300. package/dist/better-auth/plugin/payload/views/reset-password/index.js +81 -0
  301. package/dist/better-auth/plugin/payload/views/reset-password/index.scss +9 -0
  302. package/dist/better-auth/plugin/payload/views/reset-password/metadata.d.ts +3 -0
  303. package/dist/better-auth/plugin/payload/views/reset-password/metadata.d.ts.map +1 -0
  304. package/dist/better-auth/plugin/payload/views/reset-password/metadata.js +11 -0
  305. package/dist/better-auth/plugin/types.d.ts +170 -33
  306. package/dist/better-auth/plugin/types.d.ts.map +1 -1
  307. package/dist/better-auth/plugin/types.js +1 -1
  308. package/dist/clerk/plugin/components/sync-clerk-users-button.d.ts +1 -1
  309. package/dist/clerk/plugin/components/sync-clerk-users-button.d.ts.map +1 -1
  310. package/dist/clerk/utils/clerk-user.d.ts +0 -3
  311. package/dist/clerk/utils/clerk-user.d.ts.map +1 -1
  312. package/dist/clerk/utils/clerk-user.js +1 -3
  313. package/dist/clerk/utils/load-clerk-instance.d.ts +1 -1
  314. package/dist/clerk/utils/load-clerk-instance.d.ts.map +1 -1
  315. package/package.json +14 -14
  316. package/LICENSE.md +0 -17
  317. package/dist/better-auth/adapter/dev/bin/run.d.ts +0 -2
  318. package/dist/better-auth/adapter/dev/bin/run.d.ts.map +0 -1
  319. package/dist/better-auth/adapter/dev/bin/run.js +0 -64
  320. package/dist/better-auth/adapter/dev/bin/schema.d.ts +0 -23
  321. package/dist/better-auth/adapter/dev/bin/schema.d.ts.map +0 -1
  322. package/dist/better-auth/adapter/dev/bin/schema.js +0 -160
  323. package/dist/better-auth/adapter/dev/collections.d.ts +0 -4
  324. package/dist/better-auth/adapter/dev/collections.d.ts.map +0 -1
  325. package/dist/better-auth/adapter/dev/collections.js +0 -212
  326. package/dist/better-auth/adapter/dev/index.d.ts +0 -4
  327. package/dist/better-auth/adapter/dev/index.d.ts.map +0 -1
  328. package/dist/better-auth/adapter/dev/index.js +0 -168
  329. package/dist/better-auth/adapter/test/adapter.test.d.ts +0 -2
  330. package/dist/better-auth/adapter/test/adapter.test.d.ts.map +0 -1
  331. package/dist/better-auth/adapter/test/adapter.test.js +0 -181
  332. package/dist/better-auth/adapter/test/better-auth-adapter-test.d.ts +0 -8
  333. package/dist/better-auth/adapter/test/better-auth-adapter-test.d.ts.map +0 -1
  334. package/dist/better-auth/adapter/test/better-auth-adapter-test.js +0 -425
  335. package/dist/better-auth/adapter/test/schema.test.d.ts +0 -2
  336. package/dist/better-auth/adapter/test/schema.test.d.ts.map +0 -1
  337. package/dist/better-auth/adapter/test/schema.test.js +0 -796
  338. package/dist/better-auth/adapter/test/test_payload1/schema.d.ts +0 -24
  339. package/dist/better-auth/adapter/test/test_payload1/schema.d.ts.map +0 -1
  340. package/dist/better-auth/adapter/test/test_payload1/schema.js +0 -177
  341. package/dist/better-auth/adapter/test/test_payload2/schema.d.ts +0 -24
  342. package/dist/better-auth/adapter/test/test_payload2/schema.d.ts.map +0 -1
  343. package/dist/better-auth/adapter/test/test_payload2/schema.js +0 -167
  344. package/dist/better-auth/adapter/test/test_payload3/schema.d.ts +0 -24
  345. package/dist/better-auth/adapter/test/test_payload3/schema.d.ts.map +0 -1
  346. package/dist/better-auth/adapter/test/test_payload3/schema.js +0 -198
  347. package/dist/better-auth/plugin/collections/accounts/hooks/sync-password-to-user.d.ts.map +0 -1
  348. package/dist/better-auth/plugin/collections/accounts/hooks/sync-password-to-user.js +0 -47
  349. package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.d.ts +0 -7
  350. package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.d.ts.map +0 -1
  351. package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.js +0 -106
  352. package/dist/better-auth/plugin/collections/users/hooks/after-login.d.ts.map +0 -1
  353. package/dist/better-auth/plugin/collections/users/hooks/after-login.js +0 -71
  354. package/dist/better-auth/plugin/collections/users/hooks/after-logout.d.ts.map +0 -1
  355. package/dist/better-auth/plugin/collections/users/hooks/after-logout.js +0 -49
  356. package/dist/better-auth/plugin/collections/users/hooks/before-login.d.ts.map +0 -1
  357. package/dist/better-auth/plugin/collections/users/hooks/before-login.js +0 -18
  358. package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.d.ts +0 -6
  359. package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.d.ts.map +0 -1
  360. package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.js +0 -33
  361. package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.d.ts +0 -3
  362. package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.d.ts.map +0 -1
  363. package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.js +0 -14
  364. package/dist/better-auth/plugin/collections/users/hooks/sync-account.d.ts.map +0 -1
  365. package/dist/better-auth/plugin/collections/users/hooks/sync-account.js +0 -82
  366. package/dist/better-auth/plugin/lib/auth-strategy.d.ts +0 -9
  367. package/dist/better-auth/plugin/lib/auth-strategy.d.ts.map +0 -1
  368. package/dist/better-auth/plugin/lib/auth-strategy.js +0 -48
  369. package/dist/better-auth/plugin/lib/build-collection-configs.d.ts +0 -12
  370. package/dist/better-auth/plugin/lib/build-collection-configs.d.ts.map +0 -1
  371. package/dist/better-auth/plugin/lib/build-collection-configs.js +0 -1558
  372. package/dist/better-auth/plugin/lib/config.d.ts.map +0 -1
  373. package/dist/better-auth/plugin/lib/config.js +0 -44
  374. package/dist/better-auth/plugin/lib/ensure-password-set-before-create.d.ts.map +0 -1
  375. package/dist/better-auth/plugin/lib/ensure-password-set-before-create.js +0 -24
  376. package/dist/better-auth/plugin/lib/password.d.ts.map +0 -1
  377. package/dist/better-auth/plugin/lib/password.js +0 -63
  378. package/dist/better-auth/plugin/lib/payload-access.d.ts.map +0 -1
  379. package/dist/better-auth/plugin/lib/payload-access.js +0 -64
  380. package/dist/better-auth/plugin/lib/prepare-session-data.d.ts.map +0 -1
  381. package/dist/better-auth/plugin/lib/prepare-session-data.js +0 -42
  382. package/dist/better-auth/plugin/lib/respect-save-to-jwt-fields-middleware.d.ts.map +0 -1
  383. package/dist/better-auth/plugin/lib/respect-save-to-jwt-fields-middleware.js +0 -30
  384. package/dist/better-auth/plugin/lib/sanitize-auth-options.d.ts +0 -6
  385. package/dist/better-auth/plugin/lib/sanitize-auth-options.d.ts.map +0 -1
  386. package/dist/better-auth/plugin/lib/sanitize-auth-options.js +0 -298
  387. package/dist/better-auth/plugin/payload/components/admin-buttons.d.ts +0 -7
  388. package/dist/better-auth/plugin/payload/components/admin-buttons.d.ts.map +0 -1
  389. package/dist/better-auth/plugin/payload/components/admin-buttons.js +0 -219
  390. package/dist/better-auth/plugin/payload/components/login-redirect.d.ts +0 -2
  391. package/dist/better-auth/plugin/payload/components/login-redirect.d.ts.map +0 -1
  392. package/dist/better-auth/plugin/payload/components/login-redirect.js +0 -6
  393. package/dist/better-auth/plugin/payload/components/logout.d.ts +0 -3
  394. package/dist/better-auth/plugin/payload/components/logout.d.ts.map +0 -1
  395. package/dist/better-auth/plugin/payload/components/logout.js +0 -61
  396. package/dist/better-auth/plugin/payload/components/sign-in.d.ts +0 -4
  397. package/dist/better-auth/plugin/payload/components/sign-in.d.ts.map +0 -1
  398. package/dist/better-auth/plugin/payload/components/sign-in.js +0 -384
  399. package/dist/better-auth/plugin/payload/components/sign-up.d.ts +0 -7
  400. package/dist/better-auth/plugin/payload/components/sign-up.d.ts.map +0 -1
  401. package/dist/better-auth/plugin/payload/components/sign-up.js +0 -503
  402. package/dist/better-auth/plugin/payload/components/ui/button.d.ts +0 -11
  403. package/dist/better-auth/plugin/payload/components/ui/button.d.ts.map +0 -1
  404. package/dist/better-auth/plugin/payload/components/ui/button.js +0 -42
  405. package/dist/better-auth/plugin/payload/components/ui/card.d.ts +0 -10
  406. package/dist/better-auth/plugin/payload/components/ui/card.d.ts.map +0 -1
  407. package/dist/better-auth/plugin/payload/components/ui/card.js +0 -55
  408. package/dist/better-auth/plugin/payload/components/ui/checkbox.d.ts +0 -5
  409. package/dist/better-auth/plugin/payload/components/ui/checkbox.d.ts.map +0 -1
  410. package/dist/better-auth/plugin/payload/components/ui/checkbox.js +0 -23
  411. package/dist/better-auth/plugin/payload/components/ui/cn.d.ts +0 -3
  412. package/dist/better-auth/plugin/payload/components/ui/cn.d.ts.map +0 -1
  413. package/dist/better-auth/plugin/payload/components/ui/cn.js +0 -7
  414. package/dist/better-auth/plugin/payload/components/ui/input.d.ts +0 -4
  415. package/dist/better-auth/plugin/payload/components/ui/input.d.ts.map +0 -1
  416. package/dist/better-auth/plugin/payload/components/ui/input.js +0 -14
  417. package/dist/better-auth/plugin/payload/components/ui/label.d.ts +0 -5
  418. package/dist/better-auth/plugin/payload/components/ui/label.d.ts.map +0 -1
  419. package/dist/better-auth/plugin/payload/components/ui/label.js +0 -15
  420. package/dist/better-auth/plugin/payload/components/ui/password-input.d.ts +0 -3
  421. package/dist/better-auth/plugin/payload/components/ui/password-input.d.ts.map +0 -1
  422. package/dist/better-auth/plugin/payload/components/ui/password-input.js +0 -55
  423. /package/dist/better-auth/plugin/lib/{password.d.ts → sanitize-better-auth-options/utils/password.d.ts} +0 -0
@@ -0,0 +1,115 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Button, toast, useDocumentInfo, useFormFields } from "@payloadcms/ui";
4
+ import { adminClient } from "better-auth/client/plugins";
5
+ import { createAuthClient } from "better-auth/react";
6
+ import { useRouter } from "next/navigation";
7
+ import React, { Fragment, useMemo } from "react";
8
+ import "./index.scss";
9
+ const AdminButtons = ()=>{
10
+ const router = useRouter();
11
+ const { id } = useDocumentInfo();
12
+ const isBanned = useFormFields(([fields])=>fields.banned);
13
+ if (!id) {
14
+ return null;
15
+ }
16
+ const authClient = useMemo(()=>createAuthClient({
17
+ plugins: [
18
+ adminClient()
19
+ ]
20
+ }), []);
21
+ const handleImpersonate = async ()=>{
22
+ await authClient.admin.impersonateUser({
23
+ userId: String(id),
24
+ fetchOptions: {
25
+ onSuccess () {
26
+ router.push("/");
27
+ },
28
+ onError (error) {
29
+ console.error("Error impersonating user:", error);
30
+ toast.error("Failed to impersonate user");
31
+ }
32
+ }
33
+ });
34
+ };
35
+ const handleBan = async ()=>{
36
+ await authClient.admin.banUser({
37
+ userId: String(id),
38
+ fetchOptions: {
39
+ onSuccess () {
40
+ toast.success("User banned successfully");
41
+ router.refresh();
42
+ },
43
+ onError (error) {
44
+ console.error("Error banning user:", error);
45
+ toast.error("Failed to ban user");
46
+ }
47
+ }
48
+ });
49
+ };
50
+ const handleUnban = async ()=>{
51
+ await authClient.admin.unbanUser({
52
+ userId: String(id),
53
+ fetchOptions: {
54
+ onSuccess () {
55
+ toast.success("User unbanned successfully");
56
+ router.refresh();
57
+ },
58
+ onError (error) {
59
+ console.error("Error unbanning user:", error);
60
+ toast.error("Failed to unban user");
61
+ }
62
+ }
63
+ });
64
+ };
65
+ const handleRevokeAllSessions = async ()=>{
66
+ await authClient.admin.revokeUserSessions({
67
+ userId: String(id),
68
+ fetchOptions: {
69
+ onSuccess () {
70
+ toast.success("All sessions revoked successfully");
71
+ router.refresh();
72
+ },
73
+ onError (error) {
74
+ console.error("Error revoking all sessions:", error);
75
+ toast.error("Failed to revoke all sessions");
76
+ }
77
+ }
78
+ });
79
+ };
80
+ return /*#__PURE__*/ _jsxs(Fragment, {
81
+ children: [
82
+ /*#__PURE__*/ _jsx(Button, {
83
+ onClick: handleImpersonate,
84
+ buttonStyle: "pill",
85
+ className: "impersonate-button",
86
+ size: "medium",
87
+ children: "Impersonate"
88
+ }),
89
+ /*#__PURE__*/ _jsx(Button, {
90
+ onClick: handleRevokeAllSessions,
91
+ buttonStyle: "secondary",
92
+ className: "revoke-sessions-button",
93
+ size: "medium",
94
+ children: "Revoke All Sessions"
95
+ }),
96
+ !isBanned ? /*#__PURE__*/ _jsx(Button, {
97
+ onClick: handleBan,
98
+ buttonStyle: "error",
99
+ className: "ban-button",
100
+ size: "medium",
101
+ children: "Ban"
102
+ }) : null,
103
+ isBanned ? /*#__PURE__*/ _jsx(Button, {
104
+ onClick: handleUnban,
105
+ buttonStyle: "primary",
106
+ className: "unban-button",
107
+ size: "medium",
108
+ children: "Unban"
109
+ }) : null
110
+ ]
111
+ });
112
+ };
113
+ export default AdminButtons;
114
+
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC9jb21wb25lbnRzL2FkbWluLWJ1dHRvbnMvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG5pbXBvcnQgeyBCdXR0b24sIHRvYXN0LCB1c2VEb2N1bWVudEluZm8sIHVzZUZvcm1GaWVsZHMgfSBmcm9tIFwiQHBheWxvYWRjbXMvdWlcIjtcbmltcG9ydCB7IGFkbWluQ2xpZW50IH0gZnJvbSBcImJldHRlci1hdXRoL2NsaWVudC9wbHVnaW5zXCI7XG5pbXBvcnQgeyBjcmVhdGVBdXRoQ2xpZW50IH0gZnJvbSBcImJldHRlci1hdXRoL3JlYWN0XCI7XG5pbXBvcnQgeyB1c2VSb3V0ZXIgfSBmcm9tIFwibmV4dC9uYXZpZ2F0aW9uXCI7XG5pbXBvcnQgUmVhY3QsIHsgRnJhZ21lbnQsIHVzZU1lbW8gfSBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IFwiLi9pbmRleC5zY3NzXCI7XG5cbnR5cGUgQWRtaW5CdXR0b25zUHJvcHMgPSB7XG4gIHVzZXJTbHVnOiBzdHJpbmc7XG59O1xuXG5jb25zdCBBZG1pbkJ1dHRvbnM6IFJlYWN0LkZDPEFkbWluQnV0dG9uc1Byb3BzPiA9ICgpID0+IHtcbiAgY29uc3Qgcm91dGVyID0gdXNlUm91dGVyKCk7XG4gIGNvbnN0IHsgaWQgfSA9IHVzZURvY3VtZW50SW5mbygpO1xuICBjb25zdCBpc0Jhbm5lZCA9IHVzZUZvcm1GaWVsZHMoKFtmaWVsZHNdKSA9PiBmaWVsZHMuYmFubmVkKVxuXG4gIGlmICghaWQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGF1dGhDbGllbnQgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBjcmVhdGVBdXRoQ2xpZW50KHtcbiAgICAgICAgcGx1Z2luczogW2FkbWluQ2xpZW50KCldLFxuICAgICAgfSksXG4gICAgW11cbiAgKTtcblxuICBjb25zdCBoYW5kbGVJbXBlcnNvbmF0ZSA9IGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBhdXRoQ2xpZW50LmFkbWluLmltcGVyc29uYXRlVXNlcih7XG4gICAgICB1c2VySWQ6IFN0cmluZyhpZCksXG4gICAgICBmZXRjaE9wdGlvbnM6IHtcbiAgICAgICAgb25TdWNjZXNzKCkge1xuICAgICAgICAgIHJvdXRlci5wdXNoKFwiL1wiKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25FcnJvcihlcnJvcjogYW55KSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIGltcGVyc29uYXRpbmcgdXNlcjpcIiwgZXJyb3IpO1xuICAgICAgICAgIHRvYXN0LmVycm9yKFwiRmFpbGVkIHRvIGltcGVyc29uYXRlIHVzZXJcIik7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUJhbiA9IGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBhdXRoQ2xpZW50LmFkbWluLmJhblVzZXIoe1xuICAgICAgdXNlcklkOiBTdHJpbmcoaWQpLFxuICAgICAgZmV0Y2hPcHRpb25zOiB7XG4gICAgICAgIG9uU3VjY2VzcygpIHtcbiAgICAgICAgICB0b2FzdC5zdWNjZXNzKFwiVXNlciBiYW5uZWQgc3VjY2Vzc2Z1bGx5XCIpO1xuICAgICAgICAgIHJvdXRlci5yZWZyZXNoKCk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uRXJyb3IoZXJyb3I6IGFueSkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvciBiYW5uaW5nIHVzZXI6XCIsIGVycm9yKTtcbiAgICAgICAgICB0b2FzdC5lcnJvcihcIkZhaWxlZCB0byBiYW4gdXNlclwiKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlVW5iYW4gPSBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgYXV0aENsaWVudC5hZG1pbi51bmJhblVzZXIoe1xuICAgICAgdXNlcklkOiBTdHJpbmcoaWQpLFxuICAgICAgZmV0Y2hPcHRpb25zOiB7XG4gICAgICAgIG9uU3VjY2VzcygpIHtcbiAgICAgICAgICB0b2FzdC5zdWNjZXNzKFwiVXNlciB1bmJhbm5lZCBzdWNjZXNzZnVsbHlcIik7XG4gICAgICAgICAgcm91dGVyLnJlZnJlc2goKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25FcnJvcihlcnJvcjogYW55KSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIHVuYmFubmluZyB1c2VyOlwiLCBlcnJvcik7XG4gICAgICAgICAgdG9hc3QuZXJyb3IoXCJGYWlsZWQgdG8gdW5iYW4gdXNlclwiKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlUmV2b2tlQWxsU2Vzc2lvbnMgPSBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgYXV0aENsaWVudC5hZG1pbi5yZXZva2VVc2VyU2Vzc2lvbnMoe1xuICAgICAgdXNlcklkOiBTdHJpbmcoaWQpLFxuICAgICAgZmV0Y2hPcHRpb25zOiB7XG4gICAgICAgIG9uU3VjY2VzcygpIHtcbiAgICAgICAgICB0b2FzdC5zdWNjZXNzKFwiQWxsIHNlc3Npb25zIHJldm9rZWQgc3VjY2Vzc2Z1bGx5XCIpO1xuICAgICAgICAgIHJvdXRlci5yZWZyZXNoKCk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uRXJyb3IoZXJyb3I6IGFueSkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvciByZXZva2luZyBhbGwgc2Vzc2lvbnM6XCIsIGVycm9yKTtcbiAgICAgICAgICB0b2FzdC5lcnJvcihcIkZhaWxlZCB0byByZXZva2UgYWxsIHNlc3Npb25zXCIpO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxGcmFnbWVudD5cbiAgICAgIDxCdXR0b25cbiAgICAgICAgb25DbGljaz17aGFuZGxlSW1wZXJzb25hdGV9XG4gICAgICAgIGJ1dHRvblN0eWxlPVwicGlsbFwiXG4gICAgICAgIGNsYXNzTmFtZT1cImltcGVyc29uYXRlLWJ1dHRvblwiXG4gICAgICAgIHNpemU9XCJtZWRpdW1cIlxuICAgICAgPlxuICAgICAgICBJbXBlcnNvbmF0ZVxuICAgICAgPC9CdXR0b24+XG4gICAgICA8QnV0dG9uXG4gICAgICAgIG9uQ2xpY2s9e2hhbmRsZVJldm9rZUFsbFNlc3Npb25zfVxuICAgICAgICBidXR0b25TdHlsZT1cInNlY29uZGFyeVwiXG4gICAgICAgIGNsYXNzTmFtZT1cInJldm9rZS1zZXNzaW9ucy1idXR0b25cIlxuICAgICAgICBzaXplPVwibWVkaXVtXCJcbiAgICAgID5cbiAgICAgICAgUmV2b2tlIEFsbCBTZXNzaW9uc1xuICAgICAgPC9CdXR0b24+XG4gICAgICB7IWlzQmFubmVkID8gKFxuICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgb25DbGljaz17aGFuZGxlQmFufVxuICAgICAgICAgIGJ1dHRvblN0eWxlPVwiZXJyb3JcIlxuICAgICAgICAgIGNsYXNzTmFtZT1cImJhbi1idXR0b25cIlxuICAgICAgICAgIHNpemU9XCJtZWRpdW1cIlxuICAgICAgICA+XG4gICAgICAgICAgQmFuXG4gICAgICAgIDwvQnV0dG9uPlxuICAgICAgKSA6IG51bGx9XG4gICAgICB7aXNCYW5uZWQgPyAoXG4gICAgICAgIDxCdXR0b25cbiAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVVbmJhbn1cbiAgICAgICAgICBidXR0b25TdHlsZT1cInByaW1hcnlcIlxuICAgICAgICAgIGNsYXNzTmFtZT1cInVuYmFuLWJ1dHRvblwiXG4gICAgICAgICAgc2l6ZT1cIm1lZGl1bVwiXG4gICAgICAgID5cbiAgICAgICAgICBVbmJhblxuICAgICAgICA8L0J1dHRvbj5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvRnJhZ21lbnQ+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBBZG1pbkJ1dHRvbnM7XG4iXSwibmFtZXMiOlsiQnV0dG9uIiwidG9hc3QiLCJ1c2VEb2N1bWVudEluZm8iLCJ1c2VGb3JtRmllbGRzIiwiYWRtaW5DbGllbnQiLCJjcmVhdGVBdXRoQ2xpZW50IiwidXNlUm91dGVyIiwiUmVhY3QiLCJGcmFnbWVudCIsInVzZU1lbW8iLCJBZG1pbkJ1dHRvbnMiLCJyb3V0ZXIiLCJpZCIsImlzQmFubmVkIiwiZmllbGRzIiwiYmFubmVkIiwiYXV0aENsaWVudCIsInBsdWdpbnMiLCJoYW5kbGVJbXBlcnNvbmF0ZSIsImFkbWluIiwiaW1wZXJzb25hdGVVc2VyIiwidXNlcklkIiwiU3RyaW5nIiwiZmV0Y2hPcHRpb25zIiwib25TdWNjZXNzIiwicHVzaCIsIm9uRXJyb3IiLCJlcnJvciIsImNvbnNvbGUiLCJoYW5kbGVCYW4iLCJiYW5Vc2VyIiwic3VjY2VzcyIsInJlZnJlc2giLCJoYW5kbGVVbmJhbiIsInVuYmFuVXNlciIsImhhbmRsZVJldm9rZUFsbFNlc3Npb25zIiwicmV2b2tlVXNlclNlc3Npb25zIiwib25DbGljayIsImJ1dHRvblN0eWxlIiwiY2xhc3NOYW1lIiwic2l6ZSJdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUEsU0FBU0EsTUFBTSxFQUFFQyxLQUFLLEVBQUVDLGVBQWUsRUFBRUMsYUFBYSxRQUFRLGlCQUFpQjtBQUMvRSxTQUFTQyxXQUFXLFFBQVEsNkJBQTZCO0FBQ3pELFNBQVNDLGdCQUFnQixRQUFRLG9CQUFvQjtBQUNyRCxTQUFTQyxTQUFTLFFBQVEsa0JBQWtCO0FBQzVDLE9BQU9DLFNBQVNDLFFBQVEsRUFBRUMsT0FBTyxRQUFRLFFBQVE7QUFFakQsT0FBTyxlQUFlO0FBTXRCLE1BQU1DLGVBQTRDO0lBQ2hELE1BQU1DLFNBQVNMO0lBQ2YsTUFBTSxFQUFFTSxFQUFFLEVBQUUsR0FBR1Y7SUFDZixNQUFNVyxXQUFXVixjQUFjLENBQUMsQ0FBQ1csT0FBTyxHQUFLQSxPQUFPQyxNQUFNO0lBRTFELElBQUksQ0FBQ0gsSUFBSTtRQUNQLE9BQU87SUFDVDtJQUVBLE1BQU1JLGFBQWFQLFFBQ2pCLElBQ0VKLGlCQUFpQjtZQUNmWSxTQUFTO2dCQUFDYjthQUFjO1FBQzFCLElBQ0YsRUFBRTtJQUdKLE1BQU1jLG9CQUFvQjtRQUN4QixNQUFNRixXQUFXRyxLQUFLLENBQUNDLGVBQWUsQ0FBQztZQUNyQ0MsUUFBUUMsT0FBT1Y7WUFDZlcsY0FBYztnQkFDWkM7b0JBQ0ViLE9BQU9jLElBQUksQ0FBQztnQkFDZDtnQkFDQUMsU0FBUUMsS0FBVTtvQkFDaEJDLFFBQVFELEtBQUssQ0FBQyw2QkFBNkJBO29CQUMzQzFCLE1BQU0wQixLQUFLLENBQUM7Z0JBQ2Q7WUFDRjtRQUNGO0lBQ0Y7SUFFQSxNQUFNRSxZQUFZO1FBQ2hCLE1BQU1iLFdBQVdHLEtBQUssQ0FBQ1csT0FBTyxDQUFDO1lBQzdCVCxRQUFRQyxPQUFPVjtZQUNmVyxjQUFjO2dCQUNaQztvQkFDRXZCLE1BQU04QixPQUFPLENBQUM7b0JBQ2RwQixPQUFPcUIsT0FBTztnQkFDaEI7Z0JBQ0FOLFNBQVFDLEtBQVU7b0JBQ2hCQyxRQUFRRCxLQUFLLENBQUMsdUJBQXVCQTtvQkFDckMxQixNQUFNMEIsS0FBSyxDQUFDO2dCQUNkO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsTUFBTU0sY0FBYztRQUNsQixNQUFNakIsV0FBV0csS0FBSyxDQUFDZSxTQUFTLENBQUM7WUFDL0JiLFFBQVFDLE9BQU9WO1lBQ2ZXLGNBQWM7Z0JBQ1pDO29CQUNFdkIsTUFBTThCLE9BQU8sQ0FBQztvQkFDZHBCLE9BQU9xQixPQUFPO2dCQUNoQjtnQkFDQU4sU0FBUUMsS0FBVTtvQkFDaEJDLFFBQVFELEtBQUssQ0FBQyx5QkFBeUJBO29CQUN2QzFCLE1BQU0wQixLQUFLLENBQUM7Z0JBQ2Q7WUFDRjtRQUNGO0lBQ0Y7SUFFQSxNQUFNUSwwQkFBMEI7UUFDOUIsTUFBTW5CLFdBQVdHLEtBQUssQ0FBQ2lCLGtCQUFrQixDQUFDO1lBQ3hDZixRQUFRQyxPQUFPVjtZQUNmVyxjQUFjO2dCQUNaQztvQkFDRXZCLE1BQU04QixPQUFPLENBQUM7b0JBQ2RwQixPQUFPcUIsT0FBTztnQkFDaEI7Z0JBQ0FOLFNBQVFDLEtBQVU7b0JBQ2hCQyxRQUFRRCxLQUFLLENBQUMsZ0NBQWdDQTtvQkFDOUMxQixNQUFNMEIsS0FBSyxDQUFDO2dCQUNkO1lBQ0Y7UUFDRjtJQUNGO0lBRUEscUJBQ0UsTUFBQ25COzswQkFDQyxLQUFDUjtnQkFDQ3FDLFNBQVNuQjtnQkFDVG9CLGFBQVk7Z0JBQ1pDLFdBQVU7Z0JBQ1ZDLE1BQUs7MEJBQ047OzBCQUdELEtBQUN4QztnQkFDQ3FDLFNBQVNGO2dCQUNURyxhQUFZO2dCQUNaQyxXQUFVO2dCQUNWQyxNQUFLOzBCQUNOOztZQUdBLENBQUMzQix5QkFDQSxLQUFDYjtnQkFDQ3FDLFNBQVNSO2dCQUNUUyxhQUFZO2dCQUNaQyxXQUFVO2dCQUNWQyxNQUFLOzBCQUNOO2lCQUdDO1lBQ0gzQix5QkFDQyxLQUFDYjtnQkFDQ3FDLFNBQVNKO2dCQUNUSyxhQUFZO2dCQUNaQyxXQUFVO2dCQUNWQyxNQUFLOzBCQUNOO2lCQUdDOzs7QUFHVjtBQUVBLGVBQWU5QixhQUFhIn0=
@@ -0,0 +1,31 @@
1
+ .doc-tabs__tabs:has(.impersonate-button) .doc-tab {
2
+ order: 10;
3
+ }
4
+ .impersonate-button,
5
+ .revoke-sessions-button,
6
+ .ban-button,
7
+ .unban-button {
8
+ display: inline-flex;
9
+ align-items: center;
10
+ margin-block: 0;
11
+ padding-block: 0.23rem;
12
+ text-wrap: nowrap;
13
+ }
14
+ .ban-button {
15
+ background-color: oklch(0.258 0.092 26.042);
16
+ color: oklch(0.577 0.245 27.325);
17
+ border: 1px solid oklch(0.396 0.141 25.723);
18
+ &:hover {
19
+ color: #fff;
20
+ background-color: oklch(0.505 0.213 27.518);
21
+ }
22
+ }
23
+ .revoke-sessions-button {
24
+ --theme-elevation-800: oklch(0.396 0.141 25.723);
25
+ color: oklch(0.637 0.237 25.331);
26
+ &:hover {
27
+ --theme-elevation-400: oklch(0.396 0.141 25.723);
28
+ color: #fff;
29
+ background-color: oklch(0.396 0.141 25.723);
30
+ }
31
+ }
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import "./index.scss";
3
+ type AdminInviteButtonProps = {
4
+ roles: {
5
+ label: string;
6
+ value: string;
7
+ }[];
8
+ };
9
+ declare const AdminInviteButton: React.FC<AdminInviteButtonProps>;
10
+ export default AdminInviteButton;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/payload/components/admin-invite-button/index.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,cAAc,CAAC;AAKtB,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC3C,CAAC;AAEF,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAsLvD,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,196 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { Button, Modal, Select, TextInput, toast, useConfig, useModal } from "@payloadcms/ui";
4
+ import { Copy, Loader2, XIcon } from "lucide-react";
5
+ import React, { useState } from "react";
6
+ import "./index.scss";
7
+ import { usePathname } from "next/navigation";
8
+ const baseClass = "admin-invite-modal";
9
+ const AdminInviteButton = ({ roles })=>{
10
+ const [role, setRole] = useState(undefined);
11
+ const [email, setEmail] = useState("");
12
+ const [inviteLink, setInviteLink] = useState("");
13
+ const [isLoading, setIsLoading] = useState(false);
14
+ const [isCopyLoading, setIsCopyLoading] = useState(false);
15
+ const { toggleModal } = useModal();
16
+ const { config: { serverURL, routes: { api: apiRoute, admin: adminRoute }, admin: { user: userSlug } } } = useConfig();
17
+ // Only render invite button in list view.
18
+ const pathname = usePathname();
19
+ if (pathname !== `${adminRoute}/collections/${userSlug}`) return null;
20
+ const handleGenerateInvite = async ()=>{
21
+ try {
22
+ const url = `${serverURL}${apiRoute}/${userSlug}/generate-invite-url`;
23
+ const response = await fetch(url, {
24
+ method: "POST",
25
+ headers: {
26
+ "Content-Type": "application/json"
27
+ },
28
+ body: JSON.stringify({
29
+ role
30
+ }),
31
+ credentials: "include"
32
+ });
33
+ if (!response.ok) throw new Error("Failed to generate invite");
34
+ const data = await response.json();
35
+ setInviteLink(data.inviteLink);
36
+ return data.inviteLink;
37
+ } catch (error) {
38
+ toast.error("Failed to generate invite link");
39
+ return null;
40
+ }
41
+ };
42
+ const handleSendEmail = async ()=>{
43
+ if (!email) {
44
+ toast.error("Please enter an email address");
45
+ return;
46
+ }
47
+ try {
48
+ setIsLoading(true);
49
+ const response = await fetch(`${serverURL}${apiRoute}/${userSlug}/invite/send`, {
50
+ method: "POST",
51
+ headers: {
52
+ "Content-Type": "application/json"
53
+ },
54
+ body: JSON.stringify({
55
+ email,
56
+ role
57
+ }),
58
+ credentials: "include"
59
+ });
60
+ if (!response.ok) throw new Error("Failed to send invite");
61
+ toast.success("Invite sent successfully");
62
+ setIsLoading(false);
63
+ toggleModal("admin-invite-modal");
64
+ } catch (error) {
65
+ toast.error("Failed to send invite email");
66
+ setIsLoading(false);
67
+ }
68
+ };
69
+ const handleCopyLink = async ()=>{
70
+ try {
71
+ setIsCopyLoading(true);
72
+ console.log("inviteLink", inviteLink);
73
+ let linkToCopy = inviteLink;
74
+ if (!linkToCopy) {
75
+ linkToCopy = await handleGenerateInvite();
76
+ }
77
+ if (linkToCopy) {
78
+ await navigator.clipboard.writeText(linkToCopy);
79
+ toast.success("Invite link copied to clipboard");
80
+ toggleModal("admin-invite-modal");
81
+ }
82
+ } catch (error) {
83
+ toast.error("Failed to copy invite link");
84
+ } finally{
85
+ setIsCopyLoading(false);
86
+ }
87
+ };
88
+ const handleToggleModal = ()=>{
89
+ toggleModal("admin-invite-modal");
90
+ };
91
+ return /*#__PURE__*/ _jsxs(_Fragment, {
92
+ children: [
93
+ /*#__PURE__*/ _jsx(Button, {
94
+ onClick: handleToggleModal,
95
+ type: "button",
96
+ size: "small",
97
+ buttonStyle: "pill",
98
+ className: "admin-invite-button",
99
+ children: "Invite User"
100
+ }),
101
+ /*#__PURE__*/ _jsx(Modal, {
102
+ slug: "admin-invite-modal",
103
+ className: `${baseClass}`,
104
+ closeOnBlur: true,
105
+ children: /*#__PURE__*/ _jsxs("div", {
106
+ className: `${baseClass}__wrapper`,
107
+ children: [
108
+ /*#__PURE__*/ _jsx(Button, {
109
+ onClick: handleToggleModal,
110
+ buttonStyle: "icon-label",
111
+ size: "small",
112
+ className: `${baseClass}__close-button`,
113
+ children: /*#__PURE__*/ _jsx(XIcon, {
114
+ size: 24
115
+ })
116
+ }),
117
+ /*#__PURE__*/ _jsxs("div", {
118
+ className: `${baseClass}__content`,
119
+ style: {
120
+ maxWidth: "38rem"
121
+ },
122
+ children: [
123
+ /*#__PURE__*/ _jsx("h2", {
124
+ children: "Invite User"
125
+ }),
126
+ /*#__PURE__*/ _jsx("p", {
127
+ children: "Invite a user to your application. Select the role of the user and send the invite via email or copy the invite link."
128
+ }),
129
+ /*#__PURE__*/ _jsx(Select, {
130
+ options: roles,
131
+ value: role,
132
+ placeholder: "Select Role",
133
+ onChange: (option)=>setRole(option)
134
+ }),
135
+ /*#__PURE__*/ _jsxs("div", {
136
+ className: `${baseClass}__invite-controls`,
137
+ children: [
138
+ /*#__PURE__*/ _jsx("div", {
139
+ className: `${baseClass}__email-field`,
140
+ children: /*#__PURE__*/ _jsx(TextInput, {
141
+ label: "Email Address",
142
+ path: "email",
143
+ value: email,
144
+ onChange: (e)=>setEmail(e.target.value),
145
+ placeholder: "user@example.com"
146
+ })
147
+ }),
148
+ /*#__PURE__*/ _jsxs("div", {
149
+ className: `${baseClass}__buttons`,
150
+ children: [
151
+ /*#__PURE__*/ _jsxs(Button, {
152
+ type: "button",
153
+ onClick: handleSendEmail,
154
+ disabled: isLoading,
155
+ children: [
156
+ isLoading ? /*#__PURE__*/ _jsx(Loader2, {
157
+ size: 24,
158
+ className: "animate-spin mr-2"
159
+ }) : null,
160
+ "Send Email"
161
+ ]
162
+ }),
163
+ /*#__PURE__*/ _jsxs(Button, {
164
+ size: "medium",
165
+ buttonStyle: "transparent",
166
+ className: `${baseClass}__copy-button`,
167
+ type: "button",
168
+ onClick: handleCopyLink,
169
+ disabled: isCopyLoading,
170
+ children: [
171
+ isCopyLoading ? /*#__PURE__*/ _jsx(Loader2, {
172
+ size: 20,
173
+ strokeWidth: 1.5,
174
+ className: "animate-spin"
175
+ }) : /*#__PURE__*/ _jsx(Copy, {
176
+ size: 20,
177
+ strokeWidth: 1.5
178
+ }),
179
+ "Generate Link"
180
+ ]
181
+ })
182
+ ]
183
+ })
184
+ ]
185
+ })
186
+ ]
187
+ })
188
+ ]
189
+ })
190
+ })
191
+ ]
192
+ });
193
+ };
194
+ export default AdminInviteButton;
195
+
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC9jb21wb25lbnRzL2FkbWluLWludml0ZS1idXR0b24vaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuaW1wb3J0IHtcbiAgQnV0dG9uLFxuICBNb2RhbCxcbiAgU2VsZWN0LFxuICBUZXh0SW5wdXQsXG4gIHRvYXN0LFxuICB1c2VDb25maWcsXG4gIHVzZU1vZGFsLFxufSBmcm9tIFwiQHBheWxvYWRjbXMvdWlcIjtcbmltcG9ydCB0eXBlIHsgT3B0aW9uIH0gZnJvbSBcIkBwYXlsb2FkY21zL3VpL2VsZW1lbnRzL1JlYWN0U2VsZWN0XCI7XG5pbXBvcnQgeyBDb3B5LCBMb2FkZXIyLCBYSWNvbiB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIjtcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgXCIuL2luZGV4LnNjc3NcIjtcbmltcG9ydCB7IHVzZVBhdGhuYW1lIH0gZnJvbSBcIm5leHQvbmF2aWdhdGlvblwiO1xuXG5jb25zdCBiYXNlQ2xhc3MgPSBcImFkbWluLWludml0ZS1tb2RhbFwiO1xuXG50eXBlIEFkbWluSW52aXRlQnV0dG9uUHJvcHMgPSB7XG4gIHJvbGVzOiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdO1xufTtcblxuY29uc3QgQWRtaW5JbnZpdGVCdXR0b246IFJlYWN0LkZDPEFkbWluSW52aXRlQnV0dG9uUHJvcHM+ID0gKHsgcm9sZXMgfSkgPT4ge1xuICBjb25zdCBbcm9sZSwgc2V0Um9sZV0gPSB1c2VTdGF0ZTxPcHRpb24gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGNvbnN0IFtlbWFpbCwgc2V0RW1haWxdID0gdXNlU3RhdGUoXCJcIik7XG4gIGNvbnN0IFtpbnZpdGVMaW5rLCBzZXRJbnZpdGVMaW5rXSA9IHVzZVN0YXRlKFwiXCIpO1xuICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbaXNDb3B5TG9hZGluZywgc2V0SXNDb3B5TG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IHsgdG9nZ2xlTW9kYWwgfSA9IHVzZU1vZGFsKCk7XG5cbiAgY29uc3Qge1xuICAgIGNvbmZpZzoge1xuICAgICAgc2VydmVyVVJMLFxuICAgICAgcm91dGVzOiB7IGFwaTogYXBpUm91dGUsIGFkbWluOiBhZG1pblJvdXRlIH0sXG4gICAgICBhZG1pbjogeyB1c2VyOiB1c2VyU2x1ZyB9LFxuICAgIH0sXG4gIH0gPSB1c2VDb25maWcoKTtcblxuICAvLyBPbmx5IHJlbmRlciBpbnZpdGUgYnV0dG9uIGluIGxpc3Qgdmlldy5cbiAgY29uc3QgcGF0aG5hbWUgPSB1c2VQYXRobmFtZSgpO1xuICBpZiAocGF0aG5hbWUgIT09IGAke2FkbWluUm91dGV9L2NvbGxlY3Rpb25zLyR7dXNlclNsdWd9YCkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgaGFuZGxlR2VuZXJhdGVJbnZpdGUgPSBhc3luYyAoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHVybCA9IGAke3NlcnZlclVSTH0ke2FwaVJvdXRlfS8ke3VzZXJTbHVnfS9nZW5lcmF0ZS1pbnZpdGUtdXJsYDtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsLCB7XG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgfSxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyByb2xlIH0pLFxuICAgICAgICBjcmVkZW50aWFsczogXCJpbmNsdWRlXCIsXG4gICAgICB9KTtcbiAgICAgIGlmICghcmVzcG9uc2Uub2spIHRocm93IG5ldyBFcnJvcihcIkZhaWxlZCB0byBnZW5lcmF0ZSBpbnZpdGVcIik7XG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xuICAgICAgc2V0SW52aXRlTGluayhkYXRhLmludml0ZUxpbmspO1xuICAgICAgcmV0dXJuIGRhdGEuaW52aXRlTGluaztcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdG9hc3QuZXJyb3IoXCJGYWlsZWQgdG8gZ2VuZXJhdGUgaW52aXRlIGxpbmtcIik7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU2VuZEVtYWlsID0gYXN5bmMgKCkgPT4ge1xuICAgIGlmICghZW1haWwpIHtcbiAgICAgIHRvYXN0LmVycm9yKFwiUGxlYXNlIGVudGVyIGFuIGVtYWlsIGFkZHJlc3NcIik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHNldElzTG9hZGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goXG4gICAgICAgIGAke3NlcnZlclVSTH0ke2FwaVJvdXRlfS8ke3VzZXJTbHVnfS9pbnZpdGUvc2VuZGAsXG4gICAgICAgIHtcbiAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBlbWFpbCwgcm9sZSB9KSxcbiAgICAgICAgICBjcmVkZW50aWFsczogXCJpbmNsdWRlXCIsXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgICBpZiAoIXJlc3BvbnNlLm9rKSB0aHJvdyBuZXcgRXJyb3IoXCJGYWlsZWQgdG8gc2VuZCBpbnZpdGVcIik7XG4gICAgICB0b2FzdC5zdWNjZXNzKFwiSW52aXRlIHNlbnQgc3VjY2Vzc2Z1bGx5XCIpO1xuICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgIHRvZ2dsZU1vZGFsKFwiYWRtaW4taW52aXRlLW1vZGFsXCIpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0b2FzdC5lcnJvcihcIkZhaWxlZCB0byBzZW5kIGludml0ZSBlbWFpbFwiKTtcbiAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNvcHlMaW5rID0gYXN5bmMgKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBzZXRJc0NvcHlMb2FkaW5nKHRydWUpO1xuICAgICAgY29uc29sZS5sb2coXCJpbnZpdGVMaW5rXCIsIGludml0ZUxpbmspO1xuICAgICAgbGV0IGxpbmtUb0NvcHkgPSBpbnZpdGVMaW5rO1xuXG4gICAgICBpZiAoIWxpbmtUb0NvcHkpIHtcbiAgICAgICAgbGlua1RvQ29weSA9IGF3YWl0IGhhbmRsZUdlbmVyYXRlSW52aXRlKCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChsaW5rVG9Db3B5KSB7XG4gICAgICAgIGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGxpbmtUb0NvcHkpO1xuICAgICAgICB0b2FzdC5zdWNjZXNzKFwiSW52aXRlIGxpbmsgY29waWVkIHRvIGNsaXBib2FyZFwiKTtcbiAgICAgICAgdG9nZ2xlTW9kYWwoXCJhZG1pbi1pbnZpdGUtbW9kYWxcIik7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRvYXN0LmVycm9yKFwiRmFpbGVkIHRvIGNvcHkgaW52aXRlIGxpbmtcIik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldElzQ29weUxvYWRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVUb2dnbGVNb2RhbCA9ICgpID0+IHtcbiAgICB0b2dnbGVNb2RhbChcImFkbWluLWludml0ZS1tb2RhbFwiKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8QnV0dG9uXG4gICAgICAgIG9uQ2xpY2s9e2hhbmRsZVRvZ2dsZU1vZGFsfVxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgYnV0dG9uU3R5bGU9XCJwaWxsXCJcbiAgICAgICAgY2xhc3NOYW1lPVwiYWRtaW4taW52aXRlLWJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIEludml0ZSBVc2VyXG4gICAgICA8L0J1dHRvbj5cbiAgICAgIDxNb2RhbCBzbHVnPVwiYWRtaW4taW52aXRlLW1vZGFsXCIgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9YH0gY2xvc2VPbkJsdXI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X193cmFwcGVyYH0+XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgb25DbGljaz17aGFuZGxlVG9nZ2xlTW9kYWx9XG4gICAgICAgICAgICBidXR0b25TdHlsZT1cImljb24tbGFiZWxcIlxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fY2xvc2UtYnV0dG9uYH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8WEljb24gc2l6ZT17MjR9IC8+XG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19jb250ZW50YH1cbiAgICAgICAgICAgIHN0eWxlPXt7IG1heFdpZHRoOiBcIjM4cmVtXCIgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aDI+SW52aXRlIFVzZXI8L2gyPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgIEludml0ZSBhIHVzZXIgdG8geW91ciBhcHBsaWNhdGlvbi4gU2VsZWN0IHRoZSByb2xlIG9mIHRoZSB1c2VyIGFuZFxuICAgICAgICAgICAgICBzZW5kIHRoZSBpbnZpdGUgdmlhIGVtYWlsIG9yIGNvcHkgdGhlIGludml0ZSBsaW5rLlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICBvcHRpb25zPXtyb2xlc31cbiAgICAgICAgICAgICAgdmFsdWU9e3JvbGV9XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFJvbGVcIlxuICAgICAgICAgICAgICBvbkNoYW5nZT17KG9wdGlvbjogYW55KSA9PiBzZXRSb2xlKG9wdGlvbil9XG4gICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faW52aXRlLWNvbnRyb2xzYH0+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19lbWFpbC1maWVsZGB9PlxuICAgICAgICAgICAgICAgIDxUZXh0SW5wdXRcbiAgICAgICAgICAgICAgICAgIGxhYmVsPVwiRW1haWwgQWRkcmVzc1wiXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2VtYWlsfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlOiBhbnkpID0+IHNldEVtYWlsKGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwidXNlckBleGFtcGxlLmNvbVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2J1dHRvbnNgfT5cbiAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVNlbmRFbWFpbH1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0xvYWRpbmd9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2lzTG9hZGluZyA/IChcbiAgICAgICAgICAgICAgICAgICAgPExvYWRlcjIgc2l6ZT17MjR9IGNsYXNzTmFtZT1cImFuaW1hdGUtc3BpbiBtci0yXCIgLz5cbiAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgU2VuZCBFbWFpbFxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgc2l6ZT1cIm1lZGl1bVwiXG4gICAgICAgICAgICAgICAgICBidXR0b25TdHlsZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fY29weS1idXR0b25gfVxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDb3B5TGlua31cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0NvcHlMb2FkaW5nfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtpc0NvcHlMb2FkaW5nID8gKFxuICAgICAgICAgICAgICAgICAgICA8TG9hZGVyMlxuICAgICAgICAgICAgICAgICAgICAgIHNpemU9ezIwfVxuICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPXsxLjV9XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYW5pbWF0ZS1zcGluXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgIDxDb3B5IHNpemU9ezIwfSBzdHJva2VXaWR0aD17MS41fSAvPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIEdlbmVyYXRlIExpbmtcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L01vZGFsPlxuICAgIDwvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQWRtaW5JbnZpdGVCdXR0b247XG4iXSwibmFtZXMiOlsiQnV0dG9uIiwiTW9kYWwiLCJTZWxlY3QiLCJUZXh0SW5wdXQiLCJ0b2FzdCIsInVzZUNvbmZpZyIsInVzZU1vZGFsIiwiQ29weSIsIkxvYWRlcjIiLCJYSWNvbiIsIlJlYWN0IiwidXNlU3RhdGUiLCJ1c2VQYXRobmFtZSIsImJhc2VDbGFzcyIsIkFkbWluSW52aXRlQnV0dG9uIiwicm9sZXMiLCJyb2xlIiwic2V0Um9sZSIsInVuZGVmaW5lZCIsImVtYWlsIiwic2V0RW1haWwiLCJpbnZpdGVMaW5rIiwic2V0SW52aXRlTGluayIsImlzTG9hZGluZyIsInNldElzTG9hZGluZyIsImlzQ29weUxvYWRpbmciLCJzZXRJc0NvcHlMb2FkaW5nIiwidG9nZ2xlTW9kYWwiLCJjb25maWciLCJzZXJ2ZXJVUkwiLCJyb3V0ZXMiLCJhcGkiLCJhcGlSb3V0ZSIsImFkbWluIiwiYWRtaW5Sb3V0ZSIsInVzZXIiLCJ1c2VyU2x1ZyIsInBhdGhuYW1lIiwiaGFuZGxlR2VuZXJhdGVJbnZpdGUiLCJ1cmwiLCJyZXNwb25zZSIsImZldGNoIiwibWV0aG9kIiwiaGVhZGVycyIsImJvZHkiLCJKU09OIiwic3RyaW5naWZ5IiwiY3JlZGVudGlhbHMiLCJvayIsIkVycm9yIiwiZGF0YSIsImpzb24iLCJlcnJvciIsImhhbmRsZVNlbmRFbWFpbCIsInN1Y2Nlc3MiLCJoYW5kbGVDb3B5TGluayIsImNvbnNvbGUiLCJsb2ciLCJsaW5rVG9Db3B5IiwibmF2aWdhdG9yIiwiY2xpcGJvYXJkIiwid3JpdGVUZXh0IiwiaGFuZGxlVG9nZ2xlTW9kYWwiLCJvbkNsaWNrIiwidHlwZSIsInNpemUiLCJidXR0b25TdHlsZSIsImNsYXNzTmFtZSIsInNsdWciLCJjbG9zZU9uQmx1ciIsImRpdiIsInN0eWxlIiwibWF4V2lkdGgiLCJoMiIsInAiLCJvcHRpb25zIiwidmFsdWUiLCJwbGFjZWhvbGRlciIsIm9uQ2hhbmdlIiwib3B0aW9uIiwibGFiZWwiLCJwYXRoIiwiZSIsInRhcmdldCIsImRpc2FibGVkIiwic3Ryb2tlV2lkdGgiXSwibWFwcGluZ3MiOiJBQUFBOztBQUNBLFNBQ0VBLE1BQU0sRUFDTkMsS0FBSyxFQUNMQyxNQUFNLEVBQ05DLFNBQVMsRUFDVEMsS0FBSyxFQUNMQyxTQUFTLEVBQ1RDLFFBQVEsUUFDSCxpQkFBaUI7QUFFeEIsU0FBU0MsSUFBSSxFQUFFQyxPQUFPLEVBQUVDLEtBQUssUUFBUSxlQUFlO0FBQ3BELE9BQU9DLFNBQVNDLFFBQVEsUUFBUSxRQUFRO0FBRXhDLE9BQU8sZUFBZTtBQUN0QixTQUFTQyxXQUFXLFFBQVEsa0JBQWtCO0FBRTlDLE1BQU1DLFlBQVk7QUFNbEIsTUFBTUMsb0JBQXNELENBQUMsRUFBRUMsS0FBSyxFQUFFO0lBQ3BFLE1BQU0sQ0FBQ0MsTUFBTUMsUUFBUSxHQUFHTixTQUE2Qk87SUFDckQsTUFBTSxDQUFDQyxPQUFPQyxTQUFTLEdBQUdULFNBQVM7SUFDbkMsTUFBTSxDQUFDVSxZQUFZQyxjQUFjLEdBQUdYLFNBQVM7SUFDN0MsTUFBTSxDQUFDWSxXQUFXQyxhQUFhLEdBQUdiLFNBQVM7SUFDM0MsTUFBTSxDQUFDYyxlQUFlQyxpQkFBaUIsR0FBR2YsU0FBUztJQUNuRCxNQUFNLEVBQUVnQixXQUFXLEVBQUUsR0FBR3JCO0lBRXhCLE1BQU0sRUFDSnNCLFFBQVEsRUFDTkMsU0FBUyxFQUNUQyxRQUFRLEVBQUVDLEtBQUtDLFFBQVEsRUFBRUMsT0FBT0MsVUFBVSxFQUFFLEVBQzVDRCxPQUFPLEVBQUVFLE1BQU1DLFFBQVEsRUFBRSxFQUMxQixFQUNGLEdBQUcvQjtJQUVKLDBDQUEwQztJQUMxQyxNQUFNZ0MsV0FBV3pCO0lBQ2pCLElBQUl5QixhQUFhLEdBQUdILFdBQVcsYUFBYSxFQUFFRSxVQUFVLEVBQUUsT0FBTztJQUVqRSxNQUFNRSx1QkFBdUI7UUFDM0IsSUFBSTtZQUNGLE1B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
@@ -0,0 +1,131 @@
1
+ @mixin blur-bg($color: var(--theme-bg), $opacity: 0.75) {
2
+ &:before,
3
+ &:after {
4
+ content: " ";
5
+ position: absolute;
6
+ top: 0;
7
+ right: 0;
8
+ bottom: 0;
9
+ left: 0;
10
+ }
11
+
12
+ &:before {
13
+ background: $color;
14
+ opacity: $opacity;
15
+ }
16
+
17
+ &:after {
18
+ backdrop-filter: blur(8px);
19
+ }
20
+ }
21
+
22
+ @layer payload-default {
23
+ // .collection-list__sub-header:has(.admin-invite-button) {
24
+ // flex-basis: auto !important;
25
+ // }
26
+ .list-header:has(.collection-list__sub-header .admin-invite-button) {
27
+ display: flex;
28
+ align-items: center;
29
+ }
30
+
31
+ .list-header:has(.collection-list__sub-header .admin-invite-button)
32
+ .collection-list__sub-header {
33
+ margin-left: auto;
34
+ display: flex;
35
+ justify-content: flex-start;
36
+ flex-basis: auto !important;
37
+ }
38
+ .list-header:has(.collection-list__sub-header .admin-invite-button) .btn {
39
+ flex-shrink: 0;
40
+ margin-bottom: 0;
41
+ }
42
+ }
43
+
44
+ @layer payload-default {
45
+ .admin-invite-modal {
46
+ @include blur-bg;
47
+ display: flex;
48
+ align-items: center;
49
+ justify-content: center;
50
+ height: 100%;
51
+
52
+ &__wrapper {
53
+ z-index: 1;
54
+ position: relative;
55
+ display: flex;
56
+ flex-direction: column;
57
+ gap: 16px;
58
+ border-radius: 3px;
59
+ border: 1px solid var(--theme-border-color);
60
+ background-color: var(--theme-elevation-50);
61
+ }
62
+
63
+ &__close-button {
64
+ position: absolute;
65
+ top: 0;
66
+ right: 0;
67
+ margin-block: 0 !important;
68
+ padding: 10px !important;
69
+ svg {
70
+ width: 24px;
71
+ height: 24px;
72
+ }
73
+ }
74
+
75
+ &__content {
76
+ display: flex;
77
+ flex-direction: column;
78
+ gap: 1.5rem;
79
+ padding: 1rem;
80
+
81
+ h1 {
82
+ font-size: 1.5rem;
83
+ font-weight: 600;
84
+ margin: 0;
85
+ }
86
+
87
+ p {
88
+ margin: 0;
89
+ color: var(--theme-elevation-500);
90
+ }
91
+ }
92
+
93
+ &__invite-controls {
94
+ display: flex;
95
+ flex-direction: column;
96
+ gap: 1rem;
97
+ margin-top: 0.5rem;
98
+ }
99
+
100
+ &__email-field {
101
+ width: 100%;
102
+ }
103
+
104
+ &__buttons {
105
+ display: flex;
106
+ gap: 1rem;
107
+ align-items: center;
108
+ justify-content: flex-end;
109
+ > .btn {
110
+ margin-block: 0.5rem !important;
111
+ }
112
+ }
113
+
114
+ &__copy-button {
115
+ &:hover {
116
+ background-color: var(--theme-elevation-200) !important;
117
+ }
118
+
119
+ .btn__label {
120
+ gap: 0.5rem;
121
+ display: flex;
122
+ align-items: center;
123
+ justify-content: center;
124
+ }
125
+ }
126
+ }
127
+
128
+ .admin-invite-button {
129
+ display: block;
130
+ }
131
+ }
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ import type { SocialProviders } from "../../../../types";
3
+ import "./index.scss";
4
+ type AdminSocialProviderButtonsProps = {
5
+ allowSignup: boolean;
6
+ socialProviders: SocialProviders;
7
+ setLoading: (loading: boolean) => void;
8
+ hasPasskeySupport?: boolean;
9
+ redirectUrl?: string;
10
+ newUserCallbackURL?: string;
11
+ };
12
+ declare const AdminSocialProviderButtons: React.FC<AdminSocialProviderButtonsProps>;
13
+ export default AdminSocialProviderButtons;
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/payload/components/admin-social-provider-buttons/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAMvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,cAAc,CAAC;AAEtB,KAAK,+BAA+B,GAAG;IACrC,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,eAAe,CAAC;IACjC,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAIF,QAAA,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CAqHzE,CAAC;AAEF,eAAe,0BAA0B,CAAC"}