payload-auth 1.0.1 → 1.0.2

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 (328) hide show
  1. package/dist/authjs/index.d.ts +1 -0
  2. package/dist/authjs/index.d.ts.map +1 -0
  3. package/dist/authjs/index.js +1 -1
  4. package/dist/better-auth/adapter/dev/bin/run.d.ts +1 -0
  5. package/dist/better-auth/adapter/dev/bin/run.d.ts.map +1 -0
  6. package/dist/better-auth/adapter/dev/bin/run.js +1 -1
  7. package/dist/better-auth/adapter/dev/bin/schema.d.ts +1 -0
  8. package/dist/better-auth/adapter/dev/bin/schema.d.ts.map +1 -0
  9. package/dist/better-auth/adapter/dev/bin/schema.js +1 -1
  10. package/dist/better-auth/adapter/dev/collections.d.ts +1 -0
  11. package/dist/better-auth/adapter/dev/collections.d.ts.map +1 -0
  12. package/dist/better-auth/adapter/dev/collections.js +1 -1
  13. package/dist/better-auth/adapter/dev/index.d.ts +1 -0
  14. package/dist/better-auth/adapter/dev/index.d.ts.map +1 -0
  15. package/dist/better-auth/adapter/dev/index.js +1 -1
  16. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.d.ts +1 -0
  17. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.d.ts.map +1 -0
  18. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.js +1 -1
  19. package/dist/better-auth/adapter/generate-schema/get-payload-schema.d.ts +1 -0
  20. package/dist/better-auth/adapter/generate-schema/get-payload-schema.d.ts.map +1 -0
  21. package/dist/better-auth/adapter/generate-schema/get-payload-schema.js +1 -1
  22. package/dist/better-auth/adapter/generate-schema/index.d.ts +1 -0
  23. package/dist/better-auth/adapter/generate-schema/index.d.ts.map +1 -0
  24. package/dist/better-auth/adapter/generate-schema/index.js +3 -3
  25. package/dist/better-auth/adapter/generate-schema/utils.d.ts +1 -0
  26. package/dist/better-auth/adapter/generate-schema/utils.d.ts.map +1 -0
  27. package/dist/better-auth/adapter/generate-schema/utils.js +1 -1
  28. package/dist/better-auth/adapter/index.d.ts +1 -0
  29. package/dist/better-auth/adapter/index.d.ts.map +1 -0
  30. package/dist/better-auth/adapter/index.js +1 -1
  31. package/dist/better-auth/adapter/test/adapter.test.d.ts +1 -0
  32. package/dist/better-auth/adapter/test/adapter.test.d.ts.map +1 -0
  33. package/dist/better-auth/adapter/test/adapter.test.js +1 -1
  34. package/dist/better-auth/adapter/test/better-auth-adapter-test.d.ts +1 -0
  35. package/dist/better-auth/adapter/test/better-auth-adapter-test.d.ts.map +1 -0
  36. package/dist/better-auth/adapter/test/better-auth-adapter-test.js +1 -1
  37. package/dist/better-auth/adapter/test/schema.test.d.ts +1 -0
  38. package/dist/better-auth/adapter/test/schema.test.d.ts.map +1 -0
  39. package/dist/better-auth/adapter/test/schema.test.js +1 -1
  40. package/dist/better-auth/adapter/test/test_payload1/schema.d.ts +1 -0
  41. package/dist/better-auth/adapter/test/test_payload1/schema.d.ts.map +1 -0
  42. package/dist/better-auth/adapter/test/test_payload1/schema.js +1 -1
  43. package/dist/better-auth/adapter/test/test_payload2/schema.d.ts +1 -0
  44. package/dist/better-auth/adapter/test/test_payload2/schema.d.ts.map +1 -0
  45. package/dist/better-auth/adapter/test/test_payload2/schema.js +1 -1
  46. package/dist/better-auth/adapter/test/test_payload3/schema.d.ts +1 -0
  47. package/dist/better-auth/adapter/test/test_payload3/schema.d.ts.map +1 -0
  48. package/dist/better-auth/adapter/test/test_payload3/schema.js +1 -1
  49. package/dist/better-auth/adapter/transform/index.d.ts +5 -4
  50. package/dist/better-auth/adapter/transform/index.d.ts.map +1 -0
  51. package/dist/better-auth/adapter/transform/index.js +1 -1
  52. package/dist/better-auth/adapter/types.d.ts +1 -0
  53. package/dist/better-auth/adapter/types.d.ts.map +1 -0
  54. package/dist/better-auth/adapter/types.js +1 -1
  55. package/dist/better-auth/index.d.ts +1 -0
  56. package/dist/better-auth/index.d.ts.map +1 -0
  57. package/dist/better-auth/index.js +1 -1
  58. package/dist/better-auth/plugin/collections/accounts/hooks/sync-password-to-user.d.ts +1 -0
  59. package/dist/better-auth/plugin/collections/accounts/hooks/sync-password-to-user.d.ts.map +1 -0
  60. package/dist/better-auth/plugin/collections/accounts/hooks/sync-password-to-user.js +1 -1
  61. package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.d.ts +1 -0
  62. package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.d.ts.map +1 -0
  63. package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.js +1 -1
  64. package/dist/better-auth/plugin/collections/users/hooks/after-login.d.ts +1 -0
  65. package/dist/better-auth/plugin/collections/users/hooks/after-login.d.ts.map +1 -0
  66. package/dist/better-auth/plugin/collections/users/hooks/after-login.js +1 -1
  67. package/dist/better-auth/plugin/collections/users/hooks/after-logout.d.ts +1 -0
  68. package/dist/better-auth/plugin/collections/users/hooks/after-logout.d.ts.map +1 -0
  69. package/dist/better-auth/plugin/collections/users/hooks/after-logout.js +1 -1
  70. package/dist/better-auth/plugin/collections/users/hooks/before-login.d.ts +1 -0
  71. package/dist/better-auth/plugin/collections/users/hooks/before-login.d.ts.map +1 -0
  72. package/dist/better-auth/plugin/collections/users/hooks/before-login.js +1 -1
  73. package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.d.ts +1 -0
  74. package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.d.ts.map +1 -0
  75. package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.js +1 -1
  76. package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.d.ts +1 -0
  77. package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.d.ts.map +1 -0
  78. package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.js +1 -1
  79. package/dist/better-auth/plugin/collections/users/hooks/sync-account.d.ts +1 -0
  80. package/dist/better-auth/plugin/collections/users/hooks/sync-account.d.ts.map +1 -0
  81. package/dist/better-auth/plugin/collections/users/hooks/sync-account.js +2 -2
  82. package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts +1 -0
  83. package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts.map +1 -0
  84. package/dist/better-auth/plugin/helpers/generate-verify-email-url.js +1 -1
  85. package/dist/better-auth/plugin/helpers/get-ip.d.ts +1 -0
  86. package/dist/better-auth/plugin/helpers/get-ip.d.ts.map +1 -0
  87. package/dist/better-auth/plugin/helpers/get-ip.js +1 -1
  88. package/dist/better-auth/plugin/helpers/index.d.ts +1 -0
  89. package/dist/better-auth/plugin/helpers/index.d.ts.map +1 -0
  90. package/dist/better-auth/plugin/helpers/index.js +1 -1
  91. package/dist/better-auth/plugin/helpers/serialize-cookie.d.ts +3 -2
  92. package/dist/better-auth/plugin/helpers/serialize-cookie.d.ts.map +1 -0
  93. package/dist/better-auth/plugin/helpers/serialize-cookie.js +1 -1
  94. package/dist/better-auth/plugin/index.d.ts +1 -0
  95. package/dist/better-auth/plugin/index.d.ts.map +1 -0
  96. package/dist/better-auth/plugin/index.js +1 -1
  97. package/dist/better-auth/plugin/lib/auth-strategy.d.ts +1 -0
  98. package/dist/better-auth/plugin/lib/auth-strategy.d.ts.map +1 -0
  99. package/dist/better-auth/plugin/lib/auth-strategy.js +1 -1
  100. package/dist/better-auth/plugin/lib/build-collection-configs.d.ts +1 -0
  101. package/dist/better-auth/plugin/lib/build-collection-configs.d.ts.map +1 -0
  102. package/dist/better-auth/plugin/lib/build-collection-configs.js +1 -1
  103. package/dist/better-auth/plugin/lib/config.d.ts +2 -0
  104. package/dist/better-auth/plugin/lib/config.d.ts.map +1 -0
  105. package/dist/better-auth/plugin/lib/config.js +3 -2
  106. package/dist/better-auth/plugin/lib/ensure-password-set-before-create.d.ts +1 -0
  107. package/dist/better-auth/plugin/lib/ensure-password-set-before-create.d.ts.map +1 -0
  108. package/dist/better-auth/plugin/lib/ensure-password-set-before-create.js +1 -1
  109. package/dist/better-auth/plugin/lib/get-payload-auth.d.ts +1 -0
  110. package/dist/better-auth/plugin/lib/get-payload-auth.d.ts.map +1 -0
  111. package/dist/better-auth/plugin/lib/get-payload-auth.js +1 -1
  112. package/dist/better-auth/plugin/lib/get-required-collection-slugs.d.ts +1 -0
  113. package/dist/better-auth/plugin/lib/get-required-collection-slugs.d.ts.map +1 -0
  114. package/dist/better-auth/plugin/lib/get-required-collection-slugs.js +1 -1
  115. package/dist/better-auth/plugin/lib/init-better-auth.d.ts +1 -0
  116. package/dist/better-auth/plugin/lib/init-better-auth.d.ts.map +1 -0
  117. package/dist/better-auth/plugin/lib/init-better-auth.js +2 -2
  118. package/dist/better-auth/plugin/lib/password.d.ts +1 -0
  119. package/dist/better-auth/plugin/lib/password.d.ts.map +1 -0
  120. package/dist/better-auth/plugin/lib/password.js +1 -1
  121. package/dist/better-auth/plugin/lib/payload-access.d.ts +1 -0
  122. package/dist/better-auth/plugin/lib/payload-access.d.ts.map +1 -0
  123. package/dist/better-auth/plugin/lib/payload-access.js +1 -1
  124. package/dist/better-auth/plugin/lib/prepare-session-data.d.ts +2 -1
  125. package/dist/better-auth/plugin/lib/prepare-session-data.d.ts.map +1 -0
  126. package/dist/better-auth/plugin/lib/prepare-session-data.js +1 -1
  127. package/dist/better-auth/plugin/lib/respect-save-to-jwt-fields-middleware.d.ts +1 -0
  128. package/dist/better-auth/plugin/lib/respect-save-to-jwt-fields-middleware.d.ts.map +1 -0
  129. package/dist/better-auth/plugin/lib/respect-save-to-jwt-fields-middleware.js +1 -1
  130. package/dist/better-auth/plugin/lib/sanitize-auth-options.d.ts +1 -0
  131. package/dist/better-auth/plugin/lib/sanitize-auth-options.d.ts.map +1 -0
  132. package/dist/better-auth/plugin/lib/sanitize-auth-options.js +1 -1
  133. package/dist/better-auth/plugin/payload/components/admin-buttons.d.ts +3 -1
  134. package/dist/better-auth/plugin/payload/components/admin-buttons.d.ts.map +1 -0
  135. package/dist/better-auth/plugin/payload/components/admin-buttons.js +3 -6
  136. package/dist/better-auth/plugin/payload/components/login-redirect.d.ts +1 -0
  137. package/dist/better-auth/plugin/payload/components/login-redirect.d.ts.map +1 -0
  138. package/dist/better-auth/plugin/payload/components/login-redirect.js +1 -1
  139. package/dist/better-auth/plugin/payload/components/logo.d.ts +3 -1
  140. package/dist/better-auth/plugin/payload/components/logo.d.ts.map +1 -0
  141. package/dist/better-auth/plugin/payload/components/logo.js +1 -1
  142. package/dist/better-auth/plugin/payload/components/logout.d.ts +3 -1
  143. package/dist/better-auth/plugin/payload/components/logout.d.ts.map +1 -0
  144. package/dist/better-auth/plugin/payload/components/logout.js +1 -1
  145. package/dist/better-auth/plugin/payload/components/sign-in.d.ts +2 -1
  146. package/dist/better-auth/plugin/payload/components/sign-in.d.ts.map +1 -0
  147. package/dist/better-auth/plugin/payload/components/sign-in.js +1 -1
  148. package/dist/better-auth/plugin/payload/components/sign-up.d.ts +2 -1
  149. package/dist/better-auth/plugin/payload/components/sign-up.d.ts.map +1 -0
  150. package/dist/better-auth/plugin/payload/components/sign-up.js +2 -1
  151. package/dist/better-auth/plugin/payload/components/ui/button.d.ts +6 -5
  152. package/dist/better-auth/plugin/payload/components/ui/button.d.ts.map +1 -0
  153. package/dist/better-auth/plugin/payload/components/ui/button.js +1 -1
  154. package/dist/better-auth/plugin/payload/components/ui/card.d.ts +8 -7
  155. package/dist/better-auth/plugin/payload/components/ui/card.d.ts.map +1 -0
  156. package/dist/better-auth/plugin/payload/components/ui/card.js +1 -1
  157. package/dist/better-auth/plugin/payload/components/ui/checkbox.d.ts +2 -1
  158. package/dist/better-auth/plugin/payload/components/ui/checkbox.d.ts.map +1 -0
  159. package/dist/better-auth/plugin/payload/components/ui/checkbox.js +1 -1
  160. package/dist/better-auth/plugin/payload/components/ui/cn.d.ts +1 -0
  161. package/dist/better-auth/plugin/payload/components/ui/cn.d.ts.map +1 -0
  162. package/dist/better-auth/plugin/payload/components/ui/cn.js +1 -1
  163. package/dist/better-auth/plugin/payload/components/ui/input.d.ts +2 -1
  164. package/dist/better-auth/plugin/payload/components/ui/input.d.ts.map +1 -0
  165. package/dist/better-auth/plugin/payload/components/ui/input.js +1 -1
  166. package/dist/better-auth/plugin/payload/components/ui/label.d.ts +2 -1
  167. package/dist/better-auth/plugin/payload/components/ui/label.d.ts.map +1 -0
  168. package/dist/better-auth/plugin/payload/components/ui/label.js +1 -1
  169. package/dist/better-auth/plugin/payload/components/ui/password-input.d.ts +2 -1
  170. package/dist/better-auth/plugin/payload/components/ui/password-input.d.ts.map +1 -0
  171. package/dist/better-auth/plugin/payload/components/ui/password-input.js +1 -1
  172. package/dist/better-auth/plugin/payload/exports/client.d.ts +1 -0
  173. package/dist/better-auth/plugin/payload/exports/client.d.ts.map +1 -0
  174. package/dist/better-auth/plugin/payload/exports/client.js +1 -1
  175. package/dist/better-auth/plugin/payload/exports/rsc.d.ts +1 -0
  176. package/dist/better-auth/plugin/payload/exports/rsc.d.ts.map +1 -0
  177. package/dist/better-auth/plugin/payload/exports/rsc.js +1 -1
  178. package/dist/better-auth/plugin/payload/views/create-first-admin/index.d.ts +3 -1
  179. package/dist/better-auth/plugin/payload/views/create-first-admin/index.d.ts.map +1 -0
  180. package/dist/better-auth/plugin/payload/views/create-first-admin/index.js +1 -1
  181. package/dist/better-auth/plugin/payload/views/login/index.d.ts +3 -1
  182. package/dist/better-auth/plugin/payload/views/login/index.d.ts.map +1 -0
  183. package/dist/better-auth/plugin/payload/views/login/index.js +1 -1
  184. package/dist/better-auth/plugin/types.d.ts +1 -0
  185. package/dist/better-auth/plugin/types.d.ts.map +1 -0
  186. package/dist/better-auth/plugin/types.js +1 -1
  187. package/dist/better-auth/types.d.ts +1 -0
  188. package/dist/better-auth/types.d.ts.map +1 -0
  189. package/dist/better-auth/types.js +1 -1
  190. package/dist/clerk/admin-ui.d.ts +4 -0
  191. package/dist/clerk/admin-ui.d.ts.map +1 -0
  192. package/dist/clerk/admin-ui.js +5 -0
  193. package/dist/clerk/index.d.ts +7 -1
  194. package/dist/clerk/index.d.ts.map +1 -0
  195. package/dist/clerk/index.js +7 -2
  196. package/dist/clerk/plugin/auth-strategy.d.ts +11 -0
  197. package/dist/clerk/plugin/auth-strategy.d.ts.map +1 -0
  198. package/dist/clerk/plugin/auth-strategy.js +45 -0
  199. package/dist/clerk/plugin/collections/users/access.d.ts +14 -0
  200. package/dist/clerk/plugin/collections/users/access.d.ts.map +1 -0
  201. package/dist/clerk/plugin/collections/users/access.js +36 -0
  202. package/dist/clerk/plugin/collections/users/endpoints/sync-from-clerk.d.ts +14 -0
  203. package/dist/clerk/plugin/collections/users/endpoints/sync-from-clerk.d.ts.map +1 -0
  204. package/dist/clerk/plugin/collections/users/endpoints/sync-from-clerk.js +108 -0
  205. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/index.d.ts +4 -0
  206. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/index.d.ts.map +1 -0
  207. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/index.js +5 -0
  208. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userCreated.d.ts +13 -0
  209. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userCreated.d.ts.map +1 -0
  210. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userCreated.js +33 -0
  211. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userDeleted.d.ts +11 -0
  212. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userDeleted.d.ts.map +1 -0
  213. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userDeleted.js +27 -0
  214. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userUpdated.d.ts +13 -0
  215. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userUpdated.d.ts.map +1 -0
  216. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userUpdated.js +35 -0
  217. package/dist/clerk/plugin/collections/users/endpoints/webhook/index.d.ts +12 -0
  218. package/dist/clerk/plugin/collections/users/endpoints/webhook/index.d.ts.map +1 -0
  219. package/dist/clerk/plugin/collections/users/endpoints/webhook/index.js +86 -0
  220. package/dist/clerk/plugin/collections/users/fields.d.ts +6 -0
  221. package/dist/clerk/plugin/collections/users/fields.d.ts.map +1 -0
  222. package/dist/clerk/plugin/collections/users/fields.js +81 -0
  223. package/dist/clerk/plugin/collections/users/index.d.ts +10 -0
  224. package/dist/clerk/plugin/collections/users/index.d.ts.map +1 -0
  225. package/dist/clerk/plugin/collections/users/index.js +95 -0
  226. package/dist/clerk/plugin/components/after-login-form.d.ts +4 -0
  227. package/dist/clerk/plugin/components/after-login-form.d.ts.map +1 -0
  228. package/dist/clerk/plugin/components/after-login-form.js +65 -0
  229. package/dist/clerk/plugin/components/logout-button.d.ts +2 -0
  230. package/dist/clerk/plugin/components/logout-button.d.ts.map +1 -0
  231. package/dist/clerk/plugin/components/logout-button.js +49 -0
  232. package/dist/clerk/plugin/components/sync-clerk-users-button.d.ts +6 -0
  233. package/dist/clerk/plugin/components/sync-clerk-users-button.d.ts.map +1 -0
  234. package/dist/clerk/plugin/components/sync-clerk-users-button.js +75 -0
  235. package/dist/clerk/plugin.d.ts +6 -0
  236. package/dist/clerk/plugin.d.ts.map +1 -0
  237. package/dist/clerk/plugin.js +63 -0
  238. package/dist/clerk/types.d.ts +63 -0
  239. package/dist/clerk/types.d.ts.map +1 -0
  240. package/dist/clerk/types.js +3 -0
  241. package/dist/clerk/utils/clerk-user.d.ts +24 -0
  242. package/dist/clerk/utils/clerk-user.d.ts.map +1 -0
  243. package/dist/clerk/utils/clerk-user.js +47 -0
  244. package/dist/clerk/utils/index.d.ts +4 -0
  245. package/dist/clerk/utils/index.d.ts.map +1 -0
  246. package/dist/clerk/utils/index.js +5 -0
  247. package/dist/clerk/utils/load-clerk-instance.d.ts +8 -0
  248. package/dist/clerk/utils/load-clerk-instance.d.ts.map +1 -0
  249. package/dist/clerk/utils/load-clerk-instance.js +11 -0
  250. package/dist/clerk/utils/svix.d.ts +9 -0
  251. package/dist/clerk/utils/svix.d.ts.map +1 -0
  252. package/dist/clerk/utils/svix.js +40 -0
  253. package/dist/clerk/utils/user.d.ts +17 -0
  254. package/dist/clerk/utils/user.d.ts.map +1 -0
  255. package/dist/clerk/utils/user.js +46 -0
  256. package/dist/index.d.ts +5 -0
  257. package/dist/index.d.ts.map +1 -0
  258. package/dist/index.js +5 -5
  259. package/dist/kinde/index.d.ts +1 -0
  260. package/dist/kinde/index.d.ts.map +1 -0
  261. package/dist/kinde/index.js +1 -1
  262. package/package.json +38 -12
  263. package/dist/authjs/index.js.map +0 -1
  264. package/dist/better-auth/adapter/dev/bin/run.js.map +0 -1
  265. package/dist/better-auth/adapter/dev/bin/schema.js.map +0 -1
  266. package/dist/better-auth/adapter/dev/collections.js.map +0 -1
  267. package/dist/better-auth/adapter/dev/index.js.map +0 -1
  268. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.js.map +0 -1
  269. package/dist/better-auth/adapter/generate-schema/get-payload-schema.js.map +0 -1
  270. package/dist/better-auth/adapter/generate-schema/index.js.map +0 -1
  271. package/dist/better-auth/adapter/generate-schema/utils.js.map +0 -1
  272. package/dist/better-auth/adapter/index.js.map +0 -1
  273. package/dist/better-auth/adapter/test/adapter.test.js.map +0 -1
  274. package/dist/better-auth/adapter/test/better-auth-adapter-test.js.map +0 -1
  275. package/dist/better-auth/adapter/test/schema.test.js.map +0 -1
  276. package/dist/better-auth/adapter/test/test_payload1/schema.js.map +0 -1
  277. package/dist/better-auth/adapter/test/test_payload2/schema.js.map +0 -1
  278. package/dist/better-auth/adapter/test/test_payload3/schema.js.map +0 -1
  279. package/dist/better-auth/adapter/transform/index.js.map +0 -1
  280. package/dist/better-auth/adapter/types.js.map +0 -1
  281. package/dist/better-auth/index.js.map +0 -1
  282. package/dist/better-auth/plugin/collections/accounts/hooks/sync-password-to-user.js.map +0 -1
  283. package/dist/better-auth/plugin/collections/users/endpoints/refresh-token.js.map +0 -1
  284. package/dist/better-auth/plugin/collections/users/hooks/after-login.js.map +0 -1
  285. package/dist/better-auth/plugin/collections/users/hooks/after-logout.js.map +0 -1
  286. package/dist/better-auth/plugin/collections/users/hooks/before-login.js.map +0 -1
  287. package/dist/better-auth/plugin/collections/users/hooks/clean-up-user-after-delete.js.map +0 -1
  288. package/dist/better-auth/plugin/collections/users/hooks/on-verified-change.js.map +0 -1
  289. package/dist/better-auth/plugin/collections/users/hooks/sync-account.js.map +0 -1
  290. package/dist/better-auth/plugin/helpers/generate-verify-email-url.js.map +0 -1
  291. package/dist/better-auth/plugin/helpers/get-ip.js.map +0 -1
  292. package/dist/better-auth/plugin/helpers/index.js.map +0 -1
  293. package/dist/better-auth/plugin/helpers/serialize-cookie.js.map +0 -1
  294. package/dist/better-auth/plugin/index.js.map +0 -1
  295. package/dist/better-auth/plugin/lib/auth-strategy.js.map +0 -1
  296. package/dist/better-auth/plugin/lib/build-collection-configs.js.map +0 -1
  297. package/dist/better-auth/plugin/lib/config.js.map +0 -1
  298. package/dist/better-auth/plugin/lib/ensure-password-set-before-create.js.map +0 -1
  299. package/dist/better-auth/plugin/lib/get-payload-auth.js.map +0 -1
  300. package/dist/better-auth/plugin/lib/get-required-collection-slugs.js.map +0 -1
  301. package/dist/better-auth/plugin/lib/init-better-auth.js.map +0 -1
  302. package/dist/better-auth/plugin/lib/password.js.map +0 -1
  303. package/dist/better-auth/plugin/lib/payload-access.js.map +0 -1
  304. package/dist/better-auth/plugin/lib/prepare-session-data.js.map +0 -1
  305. package/dist/better-auth/plugin/lib/respect-save-to-jwt-fields-middleware.js.map +0 -1
  306. package/dist/better-auth/plugin/lib/sanitize-auth-options.js.map +0 -1
  307. package/dist/better-auth/plugin/payload/components/admin-buttons.js.map +0 -1
  308. package/dist/better-auth/plugin/payload/components/login-redirect.js.map +0 -1
  309. package/dist/better-auth/plugin/payload/components/logo.js.map +0 -1
  310. package/dist/better-auth/plugin/payload/components/logout.js.map +0 -1
  311. package/dist/better-auth/plugin/payload/components/sign-in.js.map +0 -1
  312. package/dist/better-auth/plugin/payload/components/sign-up.js.map +0 -1
  313. package/dist/better-auth/plugin/payload/components/ui/button.js.map +0 -1
  314. package/dist/better-auth/plugin/payload/components/ui/card.js.map +0 -1
  315. package/dist/better-auth/plugin/payload/components/ui/checkbox.js.map +0 -1
  316. package/dist/better-auth/plugin/payload/components/ui/cn.js.map +0 -1
  317. package/dist/better-auth/plugin/payload/components/ui/input.js.map +0 -1
  318. package/dist/better-auth/plugin/payload/components/ui/label.js.map +0 -1
  319. package/dist/better-auth/plugin/payload/components/ui/password-input.js.map +0 -1
  320. package/dist/better-auth/plugin/payload/exports/client.js.map +0 -1
  321. package/dist/better-auth/plugin/payload/exports/rsc.js.map +0 -1
  322. package/dist/better-auth/plugin/payload/views/create-first-admin/index.js.map +0 -1
  323. package/dist/better-auth/plugin/payload/views/login/index.js.map +0 -1
  324. package/dist/better-auth/plugin/types.js.map +0 -1
  325. package/dist/better-auth/types.js.map +0 -1
  326. package/dist/clerk/index.js.map +0 -1
  327. package/dist/index.js.map +0 -1
  328. package/dist/kinde/index.js.map +0 -1
@@ -0,0 +1,13 @@
1
+ import type { UserJSON } from '@clerk/backend';
2
+ import type { BasePayload, User } from 'payload';
3
+ import { ClerkPluginOptions } from '../../../../../../types';
4
+ interface UserCreatedHandlerParams {
5
+ data: any;
6
+ payload: BasePayload;
7
+ userSlug: string;
8
+ mappingFunction: (clerkUser: UserJSON) => Omit<User, 'id'>;
9
+ options: ClerkPluginOptions;
10
+ }
11
+ export declare function handleUserCreated({ data, payload, userSlug, mappingFunction, options }: UserCreatedHandlerParams): Promise<void>;
12
+ export {};
13
+ //# sourceMappingURL=userCreated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userCreated.d.ts","sourceRoot":"","sources":["../../../../../../../../src/clerk/plugin/collections/users/endpoints/webhook/handlers/userCreated.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAI5D,UAAU,wBAAwB;IAChC,IAAI,EAAE,GAAG,CAAA;IACT,OAAO,EAAE,WAAW,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,CAAC,SAAS,EAAE,QAAQ,KAAK,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC1D,OAAO,EAAE,kBAAkB,CAAA;CAC5B;AAED,wBAAsB,iBAAiB,CAAC,EACtC,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,eAAe,EACf,OAAO,EACR,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsC1C"}
@@ -0,0 +1,33 @@
1
+ import { findUserFromClerkUser } from '../../../../../../utils/user';
2
+ export async function handleUserCreated({ data, payload, userSlug, mappingFunction, options }) {
3
+ const clerkUser = data;
4
+ try {
5
+ const existingUsers = await findUserFromClerkUser({
6
+ payload,
7
+ userSlug,
8
+ clerkUser
9
+ });
10
+ if (existingUsers.docs.length === 0) {
11
+ let userData = {
12
+ ...mappingFunction(clerkUser)
13
+ };
14
+ if (!userData.role) {
15
+ userData.role = 'user';
16
+ }
17
+ if (!userData.password) {
18
+ userData.password = Array(3).fill(0).map(()=>Math.random().toString(36).slice(2)).join('');
19
+ }
20
+ await payload.create({
21
+ collection: userSlug,
22
+ data: userData
23
+ });
24
+ if (options.enableDebugLogs) {
25
+ console.log(`Created new user from Clerk: ${clerkUser.id}`);
26
+ }
27
+ }
28
+ } catch (error) {
29
+ console.error('Error creating user from Clerk webhook:', error);
30
+ }
31
+ }
32
+
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGVyay9wbHVnaW4vY29sbGVjdGlvbnMvdXNlcnMvZW5kcG9pbnRzL3dlYmhvb2svaGFuZGxlcnMvdXNlckNyZWF0ZWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVc2VySlNPTiB9IGZyb20gJ0BjbGVyay9iYWNrZW5kJ1xuaW1wb3J0IHR5cGUgeyBCYXNlUGF5bG9hZCwgVXNlciB9IGZyb20gJ3BheWxvYWQnXG5pbXBvcnQgeyBDbGVya1BsdWdpbk9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi90eXBlcydcbmltcG9ydCB7IGZpbmRVc2VyRnJvbUNsZXJrVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL3V0aWxzL3VzZXInXG5cblxuaW50ZXJmYWNlIFVzZXJDcmVhdGVkSGFuZGxlclBhcmFtcyB7XG4gIGRhdGE6IGFueVxuICBwYXlsb2FkOiBCYXNlUGF5bG9hZFxuICB1c2VyU2x1Zzogc3RyaW5nXG4gIG1hcHBpbmdGdW5jdGlvbjogKGNsZXJrVXNlcjogVXNlckpTT04pID0+IE9taXQ8VXNlciwgJ2lkJz5cbiAgb3B0aW9uczogQ2xlcmtQbHVnaW5PcHRpb25zXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVVc2VyQ3JlYXRlZCh7XG4gIGRhdGEsXG4gIHBheWxvYWQsXG4gIHVzZXJTbHVnLFxuICBtYXBwaW5nRnVuY3Rpb24sXG4gIG9wdGlvbnNcbn06IFVzZXJDcmVhdGVkSGFuZGxlclBhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBjbGVya1VzZXIgPSBkYXRhIGFzIFVzZXJKU09OXG4gIFxuICB0cnkge1xuICAgIGNvbnN0IGV4aXN0aW5nVXNlcnMgPSBhd2FpdCBmaW5kVXNlckZyb21DbGVya1VzZXIoe1xuICAgICAgcGF5bG9hZCxcbiAgICAgIHVzZXJTbHVnLFxuICAgICAgY2xlcmtVc2VyXG4gICAgfSlcbiAgICBcbiAgICBpZiAoZXhpc3RpbmdVc2Vycy5kb2NzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgbGV0IHVzZXJEYXRhID0ge1xuICAgICAgICAuLi5tYXBwaW5nRnVuY3Rpb24oY2xlcmtVc2VyKSxcbiAgICAgIH1cbiAgICAgIFxuICAgICAgaWYgKCF1c2VyRGF0YS5yb2xlKSB7XG4gICAgICAgIHVzZXJEYXRhLnJvbGUgPSAndXNlcidcbiAgICAgIH1cblxuICAgICAgaWYoIXVzZXJEYXRhLnBhc3N3b3JkKSB7XG4gICAgICAgIHVzZXJEYXRhLnBhc3N3b3JkID0gQXJyYXkoMylcbiAgICAgICAgICAuZmlsbCgwKVxuICAgICAgICAgIC5tYXAoKCkgPT4gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMikpXG4gICAgICAgICAgLmpvaW4oJycpXG4gICAgICB9XG4gICAgICBcbiAgICAgIGF3YWl0IHBheWxvYWQuY3JlYXRlKHtcbiAgICAgICAgY29sbGVjdGlvbjogdXNlclNsdWcsXG4gICAgICAgIGRhdGE6IHVzZXJEYXRhLFxuICAgICAgfSlcbiAgICAgIFxuICAgICAgaWYgKG9wdGlvbnMuZW5hYmxlRGVidWdMb2dzKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBDcmVhdGVkIG5ldyB1c2VyIGZyb20gQ2xlcms6ICR7Y2xlcmtVc2VyLmlkfWApXG4gICAgICB9XG4gICAgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGNyZWF0aW5nIHVzZXIgZnJvbSBDbGVyayB3ZWJob29rOicsIGVycm9yKVxuICB9XG59ICJdLCJuYW1lcyI6WyJmaW5kVXNlckZyb21DbGVya1VzZXIiLCJoYW5kbGVVc2VyQ3JlYXRlZCIsImRhdGEiLCJwYXlsb2FkIiwidXNlclNsdWciLCJtYXBwaW5nRnVuY3Rpb24iLCJvcHRpb25zIiwiY2xlcmtVc2VyIiwiZXhpc3RpbmdVc2VycyIsImRvY3MiLCJsZW5ndGgiLCJ1c2VyRGF0YSIsInJvbGUiLCJwYXNzd29yZCIsIkFycmF5IiwiZmlsbCIsIm1hcCIsIk1hdGgiLCJyYW5kb20iLCJ0b1N0cmluZyIsInNsaWNlIiwiam9pbiIsImNyZWF0ZSIsImNvbGxlY3Rpb24iLCJlbmFibGVEZWJ1Z0xvZ3MiLCJjb25zb2xlIiwibG9nIiwiaWQiLCJlcnJvciJdLCJtYXBwaW5ncyI6IkFBR0EsU0FBU0EscUJBQXFCLFFBQVEsK0JBQThCO0FBV3BFLE9BQU8sZUFBZUMsa0JBQWtCLEVBQ3RDQyxJQUFJLEVBQ0pDLE9BQU8sRUFDUEMsUUFBUSxFQUNSQyxlQUFlLEVBQ2ZDLE9BQU8sRUFDa0I7SUFDekIsTUFBTUMsWUFBWUw7SUFFbEIsSUFBSTtRQUNGLE1BQU1NLGdCQUFnQixNQUFNUixzQkFBc0I7WUFDaERHO1lBQ0FDO1lBQ0FHO1FBQ0Y7UUFFQSxJQUFJQyxjQUFjQyxJQUFJLENBQUNDLE1BQU0sS0FBSyxHQUFHO1lBQ25DLElBQUlDLFdBQVc7Z0JBQ2IsR0FBR04sZ0JBQWdCRSxVQUFVO1lBQy9CO1lBRUEsSUFBSSxDQUFDSSxTQUFTQyxJQUFJLEVBQUU7Z0JBQ2xCRCxTQUFTQyxJQUFJLEdBQUc7WUFDbEI7WUFFQSxJQUFHLENBQUNELFNBQVNFLFFBQVEsRUFBRTtnQkFDckJGLFNBQVNFLFFBQVEsR0FBR0MsTUFBTSxHQUN2QkMsSUFBSSxDQUFDLEdBQ0xDLEdBQUcsQ0FBQyxJQUFNQyxLQUFLQyxNQUFNLEdBQUdDLFFBQVEsQ0FBQyxJQUFJQyxLQUFLLENBQUMsSUFDM0NDLElBQUksQ0FBQztZQUNWO1lBRUEsTUFBTWxCLFFBQVFtQixNQUFNLENBQUM7Z0JBQ25CQyxZQUFZbkI7Z0JBQ1pGLE1BQU1TO1lBQ1I7WUFFQSxJQUFJTCxRQUFRa0IsZUFBZSxFQUFFO2dCQUMzQkMsUUFBUUMsR0FBRyxDQUFDLENBQUMsNkJBQTZCLEVBQUVuQixVQUFVb0IsRUFBRSxFQUFFO1lBQzVEO1FBQ0Y7SUFDRixFQUFFLE9BQU9DLE9BQU87UUFDZEgsUUFBUUcsS0FBSyxDQUFDLDJDQUEyQ0E7SUFDM0Q7QUFDRiJ9
@@ -0,0 +1,11 @@
1
+ import { Payload } from 'payload';
2
+ import { ClerkPluginOptions } from '../../../../../../types';
3
+ interface UserDeletedHandlerParams {
4
+ data: any;
5
+ payload: Payload;
6
+ userSlug: string;
7
+ options: ClerkPluginOptions;
8
+ }
9
+ export declare function handleUserDeleted({ data, payload, userSlug, options }: UserDeletedHandlerParams): Promise<void>;
10
+ export {};
11
+ //# sourceMappingURL=userDeleted.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userDeleted.d.ts","sourceRoot":"","sources":["../../../../../../../../src/clerk/plugin/collections/users/endpoints/webhook/handlers/userDeleted.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAG5D,UAAU,wBAAwB;IAChC,IAAI,EAAE,GAAG,CAAA;IACT,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,kBAAkB,CAAA;CAC5B;AAED,wBAAsB,iBAAiB,CAAC,EACtC,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,OAAO,EACR,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyB1C"}
@@ -0,0 +1,27 @@
1
+ import { findUserFromClerkUser } from '../../../../../../utils/user';
2
+ export async function handleUserDeleted({ data, payload, userSlug, options }) {
3
+ const clerkId = data.id;
4
+ try {
5
+ const existingUsers = await findUserFromClerkUser({
6
+ payload,
7
+ userSlug,
8
+ clerkUser: {
9
+ id: clerkId
10
+ }
11
+ });
12
+ if (existingUsers.docs.length > 0) {
13
+ const existingUser = existingUsers.docs[0];
14
+ await payload.delete({
15
+ collection: userSlug,
16
+ id: existingUser.id
17
+ });
18
+ if (options.enableDebugLogs) {
19
+ console.log(`Deleted user from Clerk: ${clerkId}`);
20
+ }
21
+ }
22
+ } catch (error) {
23
+ console.error('Error deleting user from Clerk webhook:', error);
24
+ }
25
+ }
26
+
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGVyay9wbHVnaW4vY29sbGVjdGlvbnMvdXNlcnMvZW5kcG9pbnRzL3dlYmhvb2svaGFuZGxlcnMvdXNlckRlbGV0ZWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGF5bG9hZCB9IGZyb20gJ3BheWxvYWQnXG5pbXBvcnQgeyBDbGVya1BsdWdpbk9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi90eXBlcydcbmltcG9ydCB7IGZpbmRVc2VyRnJvbUNsZXJrVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL3V0aWxzL3VzZXInXG5cbmludGVyZmFjZSBVc2VyRGVsZXRlZEhhbmRsZXJQYXJhbXMge1xuICBkYXRhOiBhbnlcbiAgcGF5bG9hZDogUGF5bG9hZFxuICB1c2VyU2x1Zzogc3RyaW5nXG4gIG9wdGlvbnM6IENsZXJrUGx1Z2luT3B0aW9uc1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlVXNlckRlbGV0ZWQoe1xuICBkYXRhLFxuICBwYXlsb2FkLFxuICB1c2VyU2x1ZyxcbiAgb3B0aW9uc1xufTogVXNlckRlbGV0ZWRIYW5kbGVyUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGNsZXJrSWQgPSBkYXRhLmlkXG4gIFxuICB0cnkge1xuICAgIGNvbnN0IGV4aXN0aW5nVXNlcnMgPSBhd2FpdCBmaW5kVXNlckZyb21DbGVya1VzZXIoe1xuICAgICAgcGF5bG9hZCxcbiAgICAgIHVzZXJTbHVnLFxuICAgICAgY2xlcmtVc2VyOiB7IGlkOiBjbGVya0lkIH1cbiAgICB9KVxuICAgIFxuICAgIGlmIChleGlzdGluZ1VzZXJzLmRvY3MubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZXhpc3RpbmdVc2VyID0gZXhpc3RpbmdVc2Vycy5kb2NzWzBdXG4gICAgICBcbiAgICAgIGF3YWl0IHBheWxvYWQuZGVsZXRlKHtcbiAgICAgICAgY29sbGVjdGlvbjogdXNlclNsdWcsXG4gICAgICAgIGlkOiBleGlzdGluZ1VzZXIuaWQsXG4gICAgICB9KVxuICAgICAgXG4gICAgICBpZiAob3B0aW9ucy5lbmFibGVEZWJ1Z0xvZ3MpIHtcbiAgICAgICAgY29uc29sZS5sb2coYERlbGV0ZWQgdXNlciBmcm9tIENsZXJrOiAke2NsZXJrSWR9YClcbiAgICAgIH1cbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcignRXJyb3IgZGVsZXRpbmcgdXNlciBmcm9tIENsZXJrIHdlYmhvb2s6JywgZXJyb3IpXG4gIH1cbn0gIl0sIm5hbWVzIjpbImZpbmRVc2VyRnJvbUNsZXJrVXNlciIsImhhbmRsZVVzZXJEZWxldGVkIiwiZGF0YSIsInBheWxvYWQiLCJ1c2VyU2x1ZyIsIm9wdGlvbnMiLCJjbGVya0lkIiwiaWQiLCJleGlzdGluZ1VzZXJzIiwiY2xlcmtVc2VyIiwiZG9jcyIsImxlbmd0aCIsImV4aXN0aW5nVXNlciIsImRlbGV0ZSIsImNvbGxlY3Rpb24iLCJlbmFibGVEZWJ1Z0xvZ3MiLCJjb25zb2xlIiwibG9nIiwiZXJyb3IiXSwibWFwcGluZ3MiOiJBQUVBLFNBQVNBLHFCQUFxQixRQUFRLCtCQUE4QjtBQVNwRSxPQUFPLGVBQWVDLGtCQUFrQixFQUN0Q0MsSUFBSSxFQUNKQyxPQUFPLEVBQ1BDLFFBQVEsRUFDUkMsT0FBTyxFQUNrQjtJQUN6QixNQUFNQyxVQUFVSixLQUFLSyxFQUFFO0lBRXZCLElBQUk7UUFDRixNQUFNQyxnQkFBZ0IsTUFBTVIsc0JBQXNCO1lBQ2hERztZQUNBQztZQUNBSyxXQUFXO2dCQUFFRixJQUFJRDtZQUFRO1FBQzNCO1FBRUEsSUFBSUUsY0FBY0UsSUFBSSxDQUFDQyxNQUFNLEdBQUcsR0FBRztZQUNqQyxNQUFNQyxlQUFlSixjQUFjRSxJQUFJLENBQUMsRUFBRTtZQUUxQyxNQUFNUCxRQUFRVSxNQUFNLENBQUM7Z0JBQ25CQyxZQUFZVjtnQkFDWkcsSUFBSUssYUFBYUwsRUFBRTtZQUNyQjtZQUVBLElBQUlGLFFBQVFVLGVBQWUsRUFBRTtnQkFDM0JDLFFBQVFDLEdBQUcsQ0FBQyxDQUFDLHlCQUF5QixFQUFFWCxTQUFTO1lBQ25EO1FBQ0Y7SUFDRixFQUFFLE9BQU9ZLE9BQU87UUFDZEYsUUFBUUUsS0FBSyxDQUFDLDJDQUEyQ0E7SUFDM0Q7QUFDRiJ9
@@ -0,0 +1,13 @@
1
+ import { Payload, User } from 'payload';
2
+ import { ClerkPluginOptions } from '../../../../../../types';
3
+ import type { UserJSON } from '@clerk/types';
4
+ interface UserUpdatedHandlerParams {
5
+ data: any;
6
+ payload: Payload;
7
+ userSlug: string;
8
+ mappingFunction: (clerkUser: Partial<UserJSON>) => Omit<User, 'id'>;
9
+ options: ClerkPluginOptions;
10
+ }
11
+ export declare function handleUserUpdated({ data, payload, userSlug, mappingFunction, options }: UserUpdatedHandlerParams): Promise<void>;
12
+ export {};
13
+ //# sourceMappingURL=userUpdated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userUpdated.d.ts","sourceRoot":"","sources":["../../../../../../../../src/clerk/plugin/collections/users/endpoints/webhook/handlers/userUpdated.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAE5C,UAAU,wBAAwB;IAChC,IAAI,EAAE,GAAG,CAAA;IACT,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACnE,OAAO,EAAE,kBAAkB,CAAA;CAC5B;AAED,wBAAsB,iBAAiB,CAAC,EACtC,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,eAAe,EACf,OAAO,EACR,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqC1C"}
@@ -0,0 +1,35 @@
1
+ import { findUserFromClerkUser } from '../../../../../../utils/user';
2
+ export async function handleUserUpdated({ data, payload, userSlug, mappingFunction, options }) {
3
+ const clerkUser = data;
4
+ try {
5
+ const existingUsers = await findUserFromClerkUser({
6
+ payload,
7
+ userSlug,
8
+ clerkUser
9
+ });
10
+ if (existingUsers.docs.length > 0) {
11
+ const existingUser = existingUsers.docs[0];
12
+ let userData = {
13
+ ...mappingFunction(clerkUser)
14
+ };
15
+ if ('role' in userData) {
16
+ const { role, ...dataWithoutRole } = userData;
17
+ userData = dataWithoutRole;
18
+ }
19
+ await payload.update({
20
+ collection: userSlug,
21
+ id: existingUser.id,
22
+ data: userData
23
+ });
24
+ if (options.enableDebugLogs) {
25
+ console.log(`Updated user from Clerk: ${clerkUser.id}`);
26
+ }
27
+ } else if (options.enableDebugLogs) {
28
+ console.log(`Attempted to update non-existent user: ${clerkUser.id}`);
29
+ }
30
+ } catch (error) {
31
+ console.error('Error updating user from Clerk webhook:', error);
32
+ }
33
+ }
34
+
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGVyay9wbHVnaW4vY29sbGVjdGlvbnMvdXNlcnMvZW5kcG9pbnRzL3dlYmhvb2svaGFuZGxlcnMvdXNlclVwZGF0ZWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGF5bG9hZCwgVXNlciB9IGZyb20gJ3BheWxvYWQnXG5pbXBvcnQgeyBDbGVya1BsdWdpbk9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi90eXBlcydcbmltcG9ydCB7IGZpbmRVc2VyRnJvbUNsZXJrVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL3V0aWxzL3VzZXInXG5pbXBvcnQgdHlwZSB7IFVzZXJKU09OIH0gZnJvbSAnQGNsZXJrL3R5cGVzJ1xuXG5pbnRlcmZhY2UgVXNlclVwZGF0ZWRIYW5kbGVyUGFyYW1zIHtcbiAgZGF0YTogYW55XG4gIHBheWxvYWQ6IFBheWxvYWRcbiAgdXNlclNsdWc6IHN0cmluZ1xuICBtYXBwaW5nRnVuY3Rpb246IChjbGVya1VzZXI6IFBhcnRpYWw8VXNlckpTT04+KSA9PiBPbWl0PFVzZXIsICdpZCc+XG4gIG9wdGlvbnM6IENsZXJrUGx1Z2luT3B0aW9uc1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlVXNlclVwZGF0ZWQoe1xuICBkYXRhLFxuICBwYXlsb2FkLFxuICB1c2VyU2x1ZyxcbiAgbWFwcGluZ0Z1bmN0aW9uLFxuICBvcHRpb25zXG59OiBVc2VyVXBkYXRlZEhhbmRsZXJQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgY2xlcmtVc2VyID0gZGF0YSBhcyBVc2VySlNPTlxuICBcbiAgdHJ5IHtcbiAgICBjb25zdCBleGlzdGluZ1VzZXJzID0gYXdhaXQgZmluZFVzZXJGcm9tQ2xlcmtVc2VyKHtcbiAgICAgIHBheWxvYWQsXG4gICAgICB1c2VyU2x1ZyxcbiAgICAgIGNsZXJrVXNlclxuICAgIH0pXG4gICAgXG4gICAgaWYgKGV4aXN0aW5nVXNlcnMuZG9jcy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBleGlzdGluZ1VzZXIgPSBleGlzdGluZ1VzZXJzLmRvY3NbMF1cbiAgICAgIFxuICAgICAgbGV0IHVzZXJEYXRhID0ge1xuICAgICAgICAuLi5tYXBwaW5nRnVuY3Rpb24oY2xlcmtVc2VyKSxcbiAgICAgIH1cbiAgICAgIFxuICAgICAgaWYgKCdyb2xlJyBpbiB1c2VyRGF0YSkge1xuICAgICAgICBjb25zdCB7IHJvbGUsIC4uLmRhdGFXaXRob3V0Um9sZSB9ID0gdXNlckRhdGFcbiAgICAgICAgdXNlckRhdGEgPSBkYXRhV2l0aG91dFJvbGVcbiAgICAgIH1cbiAgICAgIFxuICAgICAgYXdhaXQgcGF5bG9hZC51cGRhdGUoe1xuICAgICAgICBjb2xsZWN0aW9uOiB1c2VyU2x1ZyxcbiAgICAgICAgaWQ6IGV4aXN0aW5nVXNlci5pZCxcbiAgICAgICAgZGF0YTogdXNlckRhdGEsXG4gICAgICB9KVxuICAgICAgXG4gICAgICBpZiAob3B0aW9ucy5lbmFibGVEZWJ1Z0xvZ3MpIHtcbiAgICAgICAgY29uc29sZS5sb2coYFVwZGF0ZWQgdXNlciBmcm9tIENsZXJrOiAke2NsZXJrVXNlci5pZH1gKVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAob3B0aW9ucy5lbmFibGVEZWJ1Z0xvZ3MpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBBdHRlbXB0ZWQgdG8gdXBkYXRlIG5vbi1leGlzdGVudCB1c2VyOiAke2NsZXJrVXNlci5pZH1gKVxuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKCdFcnJvciB1cGRhdGluZyB1c2VyIGZyb20gQ2xlcmsgd2ViaG9vazonLCBlcnJvcilcbiAgfVxufSAiXSwibmFtZXMiOlsiZmluZFVzZXJGcm9tQ2xlcmtVc2VyIiwiaGFuZGxlVXNlclVwZGF0ZWQiLCJkYXRhIiwicGF5bG9hZCIsInVzZXJTbHVnIiwibWFwcGluZ0Z1bmN0aW9uIiwib3B0aW9ucyIsImNsZXJrVXNlciIsImV4aXN0aW5nVXNlcnMiLCJkb2NzIiwibGVuZ3RoIiwiZXhpc3RpbmdVc2VyIiwidXNlckRhdGEiLCJyb2xlIiwiZGF0YVdpdGhvdXRSb2xlIiwidXBkYXRlIiwiY29sbGVjdGlvbiIsImlkIiwiZW5hYmxlRGVidWdMb2dzIiwiY29uc29sZSIsImxvZyIsImVycm9yIl0sIm1hcHBpbmdzIjoiQUFFQSxTQUFTQSxxQkFBcUIsUUFBUSwrQkFBOEI7QUFXcEUsT0FBTyxlQUFlQyxrQkFBa0IsRUFDdENDLElBQUksRUFDSkMsT0FBTyxFQUNQQyxRQUFRLEVBQ1JDLGVBQWUsRUFDZkMsT0FBTyxFQUNrQjtJQUN6QixNQUFNQyxZQUFZTDtJQUVsQixJQUFJO1FBQ0YsTUFBTU0sZ0JBQWdCLE1BQU1SLHNCQUFzQjtZQUNoREc7WUFDQUM7WUFDQUc7UUFDRjtRQUVBLElBQUlDLGNBQWNDLElBQUksQ0FBQ0MsTUFBTSxHQUFHLEdBQUc7WUFDakMsTUFBTUMsZUFBZUgsY0FBY0MsSUFBSSxDQUFDLEVBQUU7WUFFMUMsSUFBSUcsV0FBVztnQkFDYixHQUFHUCxnQkFBZ0JFLFVBQVU7WUFDL0I7WUFFQSxJQUFJLFVBQVVLLFVBQVU7Z0JBQ3RCLE1BQU0sRUFBRUMsSUFBSSxFQUFFLEdBQUdDLGlCQUFpQixHQUFHRjtnQkFDckNBLFdBQVdFO1lBQ2I7WUFFQSxNQUFNWCxRQUFRWSxNQUFNLENBQUM7Z0JBQ25CQyxZQUFZWjtnQkFDWmEsSUFBSU4sYUFBYU0sRUFBRTtnQkFDbkJmLE1BQU1VO1lBQ1I7WUFFQSxJQUFJTixRQUFRWSxlQUFlLEVBQUU7Z0JBQzNCQyxRQUFRQyxHQUFHLENBQUMsQ0FBQyx5QkFBeUIsRUFBRWIsVUFBVVUsRUFBRSxFQUFFO1lBQ3hEO1FBQ0YsT0FBTyxJQUFJWCxRQUFRWSxlQUFlLEVBQUU7WUFDbENDLFFBQVFDLEdBQUcsQ0FBQyxDQUFDLHVDQUF1QyxFQUFFYixVQUFVVSxFQUFFLEVBQUU7UUFDdEU7SUFDRixFQUFFLE9BQU9JLE9BQU87UUFDZEYsUUFBUUUsS0FBSyxDQUFDLDJDQUEyQ0E7SUFDM0Q7QUFDRiJ9
@@ -0,0 +1,12 @@
1
+ import { Endpoint } from 'payload';
2
+ import { ClerkPluginOptions } from '../../../../../types';
3
+ interface ClerkWebhookEndpointOptions {
4
+ userSlug: string;
5
+ options: ClerkPluginOptions;
6
+ }
7
+ /**
8
+ * Creates a webhook endpoint for handling Clerk events
9
+ */
10
+ export declare const clerkWebhookEndpoint: ({ userSlug, options }: ClerkWebhookEndpointOptions) => Endpoint;
11
+ export {};
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/clerk/plugin/collections/users/endpoints/webhook/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAIzD,UAAU,2BAA2B;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,kBAAkB,CAAA;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,uBAGlC,2BAA2B,KAAG,QAkFhC,CAAA"}
@@ -0,0 +1,86 @@
1
+ import { APIError } from 'payload';
2
+ import { validateWebhook } from '../../../../../utils/svix';
3
+ import { handleUserCreated, handleUserDeleted, handleUserUpdated } from './handlers';
4
+ /**
5
+ * Creates a webhook endpoint for handling Clerk events
6
+ */ export const clerkWebhookEndpoint = ({ userSlug, options })=>{
7
+ const mappingFunction = options.users?.clerkToPayloadMapping // This is forced to be set by the plugin.ts
8
+ ;
9
+ if (!mappingFunction) {
10
+ throw new Error('Clerk to Payload mapping function is not set');
11
+ }
12
+ return {
13
+ path: '/clerk-webhook',
14
+ method: 'post',
15
+ handler: async (req)=>{
16
+ try {
17
+ const { payload } = req;
18
+ if (!req.text) {
19
+ throw new APIError('Invalid request body', 400);
20
+ }
21
+ // Validate the webhook before reading the body
22
+ if (!await validateWebhook({
23
+ request: req,
24
+ secret: options.webhook?.svixSecret
25
+ })) {
26
+ throw new APIError('Invalid webhook signature', 401);
27
+ }
28
+ // Now we can read the body safely
29
+ const rawBody = await req.text();
30
+ const webhookData = parseWebhookData(rawBody);
31
+ const { type, data } = webhookData;
32
+ if (options.enableDebugLogs) {
33
+ console.log(`Processing Clerk webhook: ${type}`);
34
+ }
35
+ switch(type){
36
+ case 'user.created':
37
+ await handleUserCreated({
38
+ data,
39
+ payload,
40
+ userSlug,
41
+ mappingFunction,
42
+ options
43
+ });
44
+ break;
45
+ case 'user.updated':
46
+ await handleUserUpdated({
47
+ data,
48
+ payload,
49
+ userSlug,
50
+ mappingFunction: mappingFunction,
51
+ options
52
+ });
53
+ break;
54
+ case 'user.deleted':
55
+ await handleUserDeleted({
56
+ data,
57
+ payload,
58
+ userSlug,
59
+ options
60
+ });
61
+ break;
62
+ default:
63
+ if (options.enableDebugLogs) {
64
+ console.log(`Unhandled Clerk webhook type: ${type}`);
65
+ }
66
+ }
67
+ return new Response(JSON.stringify({
68
+ success: true
69
+ }), {
70
+ status: 200,
71
+ headers: {
72
+ 'Content-Type': 'application/json'
73
+ }
74
+ });
75
+ } catch (error) {
76
+ console.error('Error processing Clerk webhook:', error);
77
+ throw new APIError('Internal server error', 500);
78
+ }
79
+ }
80
+ };
81
+ };
82
+ function parseWebhookData(rawBody) {
83
+ return typeof rawBody === 'string' ? JSON.parse(rawBody) : rawBody;
84
+ }
85
+
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGVyay9wbHVnaW4vY29sbGVjdGlvbnMvdXNlcnMvZW5kcG9pbnRzL3dlYmhvb2svaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBJRXJyb3IsIEVuZHBvaW50IH0gZnJvbSAncGF5bG9hZCdcbmltcG9ydCB7IENsZXJrUGx1Z2luT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHsgdmFsaWRhdGVXZWJob29rIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdXRpbHMvc3ZpeCdcbmltcG9ydCB7IGhhbmRsZVVzZXJDcmVhdGVkLCBoYW5kbGVVc2VyRGVsZXRlZCwgaGFuZGxlVXNlclVwZGF0ZWQgfSBmcm9tICcuL2hhbmRsZXJzJ1xuXG5pbnRlcmZhY2UgQ2xlcmtXZWJob29rRW5kcG9pbnRPcHRpb25zIHtcbiAgdXNlclNsdWc6IHN0cmluZ1xuICBvcHRpb25zOiBDbGVya1BsdWdpbk9wdGlvbnNcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgd2ViaG9vayBlbmRwb2ludCBmb3IgaGFuZGxpbmcgQ2xlcmsgZXZlbnRzXG4gKi9cbmV4cG9ydCBjb25zdCBjbGVya1dlYmhvb2tFbmRwb2ludCA9ICh7IFxuICB1c2VyU2x1ZywgXG4gIG9wdGlvbnMgXG59OiBDbGVya1dlYmhvb2tFbmRwb2ludE9wdGlvbnMpOiBFbmRwb2ludCA9PiB7XG4gIGNvbnN0IG1hcHBpbmdGdW5jdGlvbiA9IG9wdGlvbnMudXNlcnM/LmNsZXJrVG9QYXlsb2FkTWFwcGluZyAvLyBUaGlzIGlzIGZvcmNlZCB0byBiZSBzZXQgYnkgdGhlIHBsdWdpbi50c1xuICBcbiAgaWYgKCFtYXBwaW5nRnVuY3Rpb24pIHsgLy8gVGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuLiBKdXN0IHRvIG1ha2UgVFMgaGFwcHkuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdDbGVyayB0byBQYXlsb2FkIG1hcHBpbmcgZnVuY3Rpb24gaXMgbm90IHNldCcpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIHBhdGg6ICcvY2xlcmstd2ViaG9vaycsXG4gICAgbWV0aG9kOiAncG9zdCcsXG4gICAgaGFuZGxlcjogYXN5bmMgKHJlcSkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSByZXFcbiAgICAgICAgXG4gICAgICAgIGlmICghcmVxLnRleHQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgQVBJRXJyb3IoJ0ludmFsaWQgcmVxdWVzdCBib2R5JywgNDAwKVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAvLyBWYWxpZGF0ZSB0aGUgd2ViaG9vayBiZWZvcmUgcmVhZGluZyB0aGUgYm9keVxuICAgICAgICBpZiAoIWF3YWl0IHZhbGlkYXRlV2ViaG9vayh7XG4gICAgICAgICAgcmVxdWVzdDogcmVxLFxuICAgICAgICAgIHNlY3JldDogb3B0aW9ucy53ZWJob29rPy5zdml4U2VjcmV0XG4gICAgICAgIH0pKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEFQSUVycm9yKCdJbnZhbGlkIHdlYmhvb2sgc2lnbmF0dXJlJywgNDAxKVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAvLyBOb3cgd2UgY2FuIHJlYWQgdGhlIGJvZHkgc2FmZWx5XG4gICAgICAgIGNvbnN0IHJhd0JvZHkgPSBhd2FpdCByZXEudGV4dCgpXG4gICAgICAgIFxuICAgICAgICBjb25zdCB3ZWJob29rRGF0YSA9IHBhcnNlV2ViaG9va0RhdGEocmF3Qm9keSlcbiAgICAgICAgY29uc3QgeyB0eXBlLCBkYXRhIH0gPSB3ZWJob29rRGF0YVxuICAgICAgICBcbiAgICAgICAgaWYgKG9wdGlvbnMuZW5hYmxlRGVidWdMb2dzKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coYFByb2Nlc3NpbmcgQ2xlcmsgd2ViaG9vazogJHt0eXBlfWApXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgIGNhc2UgJ3VzZXIuY3JlYXRlZCc6XG4gICAgICAgICAgICBhd2FpdCBoYW5kbGVVc2VyQ3JlYXRlZCh7XG4gICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAgIHBheWxvYWQsXG4gICAgICAgICAgICAgIHVzZXJTbHVnLFxuICAgICAgICAgICAgICBtYXBwaW5nRnVuY3Rpb24sXG4gICAgICAgICAgICAgIG9wdGlvbnNcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgXG4gICAgICAgICAgY2FzZSAndXNlci51cGRhdGVkJzpcbiAgICAgICAgICAgIGF3YWl0IGhhbmRsZVVzZXJVcGRhdGVkKHtcbiAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgICAgICAgdXNlclNsdWcsXG4gICAgICAgICAgICAgIG1hcHBpbmdGdW5jdGlvbjogbWFwcGluZ0Z1bmN0aW9uIGFzIGFueSwgLy8gQFRPRE86IFR5cGUgdGhpcyBwcm9wZXJseVxuICAgICAgICAgICAgICBvcHRpb25zXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIFxuICAgICAgICAgIGNhc2UgJ3VzZXIuZGVsZXRlZCc6XG4gICAgICAgICAgICBhd2FpdCBoYW5kbGVVc2VyRGVsZXRlZCh7XG4gICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAgIHBheWxvYWQsXG4gICAgICAgICAgICAgIHVzZXJTbHVnLFxuICAgICAgICAgICAgICBvcHRpb25zXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIFxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5lbmFibGVEZWJ1Z0xvZ3MpIHtcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coYFVuaGFuZGxlZCBDbGVyayB3ZWJob29rIHR5cGU6ICR7dHlwZX1gKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICByZXR1cm4gbmV3IFJlc3BvbnNlKFxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHsgc3VjY2VzczogdHJ1ZSB9KSwgXG4gICAgICAgICAgeyBzdGF0dXM6IDIwMCwgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0gfVxuICAgICAgICApXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwcm9jZXNzaW5nIENsZXJrIHdlYmhvb2s6JywgZXJyb3IpXG4gICAgICAgIHRocm93IG5ldyBBUElFcnJvcignSW50ZXJuYWwgc2VydmVyIGVycm9yJywgNTAwKVxuICAgICAgfVxuICAgIH0sXG4gIH1cbn1cblxuZnVuY3Rpb24gcGFyc2VXZWJob29rRGF0YShyYXdCb2R5OiBhbnkpOiB7IHR5cGU6IHN0cmluZzsgZGF0YTogYW55IH0ge1xuICByZXR1cm4gdHlwZW9mIHJhd0JvZHkgPT09ICdzdHJpbmcnID8gSlNPTi5wYXJzZShyYXdCb2R5KSA6IHJhd0JvZHlcbn0iXSwibmFtZXMiOlsiQVBJRXJyb3IiLCJ2YWxpZGF0ZVdlYmhvb2siLCJoYW5kbGVVc2VyQ3JlYXRlZCIsImhhbmRsZVVzZXJEZWxldGVkIiwiaGFuZGxlVXNlclVwZGF0ZWQiLCJjbGVya1dlYmhvb2tFbmRwb2ludCIsInVzZXJTbHVnIiwib3B0aW9ucyIsIm1hcHBpbmdGdW5jdGlvbiIsInVzZXJzIiwiY2xlcmtUb1BheWxvYWRNYXBwaW5nIiwiRXJyb3IiLCJwYXRoIiwibWV0aG9kIiwiaGFuZGxlciIsInJlcSIsInBheWxvYWQiLCJ0ZXh0IiwicmVxdWVzdCIsInNlY3JldCIsIndlYmhvb2siLCJzdml4U2VjcmV0IiwicmF3Qm9keSIsIndlYmhvb2tEYXRhIiwicGFyc2VXZWJob29rRGF0YSIsInR5cGUiLCJkYXRhIiwiZW5hYmxlRGVidWdMb2dzIiwiY29uc29sZSIsImxvZyIsIlJlc3BvbnNlIiwiSlNPTiIsInN0cmluZ2lmeSIsInN1Y2Nlc3MiLCJzdGF0dXMiLCJoZWFkZXJzIiwiZXJyb3IiLCJwYXJzZSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsUUFBUSxRQUFrQixVQUFTO0FBRTVDLFNBQVNDLGVBQWUsUUFBUSw0QkFBMkI7QUFDM0QsU0FBU0MsaUJBQWlCLEVBQUVDLGlCQUFpQixFQUFFQyxpQkFBaUIsUUFBUSxhQUFZO0FBT3BGOztDQUVDLEdBQ0QsT0FBTyxNQUFNQyx1QkFBdUIsQ0FBQyxFQUNuQ0MsUUFBUSxFQUNSQyxPQUFPLEVBQ3FCO0lBQzVCLE1BQU1DLGtCQUFrQkQsUUFBUUUsS0FBSyxFQUFFQyxzQkFBc0IsNENBQTRDOztJQUV6RyxJQUFJLENBQUNGLGlCQUFpQjtRQUNwQixNQUFNLElBQUlHLE1BQU07SUFDbEI7SUFFQSxPQUFPO1FBQ0xDLE1BQU07UUFDTkMsUUFBUTtRQUNSQyxTQUFTLE9BQU9DO1lBQ2QsSUFBSTtnQkFDRixNQUFNLEVBQUVDLE9BQU8sRUFBRSxHQUFHRDtnQkFFcEIsSUFBSSxDQUFDQSxJQUFJRSxJQUFJLEVBQUU7b0JBQ2IsTUFBTSxJQUFJakIsU0FBUyx3QkFBd0I7Z0JBQzdDO2dCQUVBLCtDQUErQztnQkFDL0MsSUFBSSxDQUFDLE1BQU1DLGdCQUFnQjtvQkFDekJpQixTQUFTSDtvQkFDVEksUUFBUVosUUFBUWEsT0FBTyxFQUFFQztnQkFDM0IsSUFBSTtvQkFDRixNQUFNLElBQUlyQixTQUFTLDZCQUE2QjtnQkFDbEQ7Z0JBRUEsa0NBQWtDO2dCQUNsQyxNQUFNc0IsVUFBVSxNQUFNUCxJQUFJRSxJQUFJO2dCQUU5QixNQUFNTSxjQUFjQyxpQkFBaUJGO2dCQUNyQyxNQUFNLEVBQUVHLElBQUksRUFBRUMsSUFBSSxFQUFFLEdBQUdIO2dCQUV2QixJQUFJaEIsUUFBUW9CLGVBQWUsRUFBRTtvQkFDM0JDLFFBQVFDLEdBQUcsQ0FBQyxDQUFDLDBCQUEwQixFQUFFSixNQUFNO2dCQUNqRDtnQkFFQSxPQUFRQTtvQkFDTixLQUFLO3dCQUNILE1BQU12QixrQkFBa0I7NEJBQ3RCd0I7NEJBQ0FWOzRCQUNBVjs0QkFDQUU7NEJBQ0FEO3dCQUNGO3dCQUNBO29CQUVGLEtBQUs7d0JBQ0gsTUFBTUgsa0JBQWtCOzRCQUN0QnNCOzRCQUNBVjs0QkFDQVY7NEJBQ0FFLGlCQUFpQkE7NEJBQ2pCRDt3QkFDRjt3QkFDQTtvQkFFRixLQUFLO3dCQUNILE1BQU1KLGtCQUFrQjs0QkFDdEJ1Qjs0QkFDQVY7NEJBQ0FWOzRCQUNBQzt3QkFDRjt3QkFDQTtvQkFFRjt3QkFDRSxJQUFJQSxRQUFRb0IsZUFBZSxFQUFFOzRCQUMzQkMsUUFBUUMsR0FBRyxDQUFDLENBQUMsOEJBQThCLEVBQUVKLE1BQU07d0JBQ3JEO2dCQUNKO2dCQUVBLE9BQU8sSUFBSUssU0FDVEMsS0FBS0MsU0FBUyxDQUFDO29CQUFFQyxTQUFTO2dCQUFLLElBQy9CO29CQUFFQyxRQUFRO29CQUFLQyxTQUFTO3dCQUFFLGdCQUFnQjtvQkFBbUI7Z0JBQUU7WUFFbkUsRUFBRSxPQUFPQyxPQUFPO2dCQUNkUixRQUFRUSxLQUFLLENBQUMsbUNBQW1DQTtnQkFDakQsTUFBTSxJQUFJcEMsU0FBUyx5QkFBeUI7WUFDOUM7UUFDRjtJQUNGO0FBQ0YsRUFBQztBQUVELFNBQVN3QixpQkFBaUJGLE9BQVk7SUFDcEMsT0FBTyxPQUFPQSxZQUFZLFdBQVdTLEtBQUtNLEtBQUssQ0FBQ2YsV0FBV0E7QUFDN0QifQ==
@@ -0,0 +1,6 @@
1
+ import type { Field } from 'payload';
2
+ /**
3
+ * Clerk user fields to be added to the user collection
4
+ */
5
+ export declare const clerkUserFields: Field[];
6
+ //# sourceMappingURL=fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../../../src/clerk/plugin/collections/users/fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,EA4ElC,CAAA"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Clerk user fields to be added to the user collection
3
+ */ export const clerkUserFields = [
4
+ {
5
+ name: 'clerkId',
6
+ type: 'text',
7
+ unique: true,
8
+ index: true,
9
+ admin: {
10
+ description: 'Clerk user ID',
11
+ readOnly: true
12
+ }
13
+ },
14
+ {
15
+ name: 'emailVerified',
16
+ type: 'checkbox',
17
+ defaultValue: false,
18
+ admin: {
19
+ description: 'Whether the email is verified',
20
+ readOnly: true
21
+ }
22
+ },
23
+ {
24
+ name: 'firstName',
25
+ type: 'text',
26
+ admin: {
27
+ description: 'User first name'
28
+ }
29
+ },
30
+ {
31
+ name: 'lastName',
32
+ type: 'text',
33
+ admin: {
34
+ description: 'User last name'
35
+ }
36
+ },
37
+ {
38
+ name: 'imageUrl',
39
+ type: 'text',
40
+ admin: {
41
+ description: 'User profile image URL'
42
+ }
43
+ },
44
+ {
45
+ name: 'role',
46
+ type: 'select',
47
+ required: true,
48
+ defaultValue: 'user',
49
+ options: [
50
+ {
51
+ label: 'Admin',
52
+ value: 'admin'
53
+ },
54
+ {
55
+ label: 'User',
56
+ value: 'user'
57
+ }
58
+ ],
59
+ admin: {
60
+ description: 'User role for access control'
61
+ }
62
+ },
63
+ {
64
+ name: 'lastSyncedAt',
65
+ type: 'date',
66
+ admin: {
67
+ description: 'When the user was last synced with Clerk',
68
+ readOnly: true
69
+ }
70
+ },
71
+ {
72
+ name: 'clerkPublicMetadata',
73
+ type: 'json',
74
+ admin: {
75
+ description: 'Additional metadata from Clerk',
76
+ readOnly: true
77
+ }
78
+ }
79
+ ];
80
+
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jbGVyay9wbHVnaW4vY29sbGVjdGlvbnMvdXNlcnMvZmllbGRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICdwYXlsb2FkJ1xuXG4vKipcbiAqIENsZXJrIHVzZXIgZmllbGRzIHRvIGJlIGFkZGVkIHRvIHRoZSB1c2VyIGNvbGxlY3Rpb25cbiAqL1xuZXhwb3J0IGNvbnN0IGNsZXJrVXNlckZpZWxkczogRmllbGRbXSA9IFtcbiAge1xuICAgIG5hbWU6ICdjbGVya0lkJyxcbiAgICB0eXBlOiAndGV4dCcsXG4gICAgdW5pcXVlOiB0cnVlLFxuICAgIGluZGV4OiB0cnVlLFxuICAgIGFkbWluOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0NsZXJrIHVzZXIgSUQnLFxuICAgICAgcmVhZE9ubHk6IHRydWUsXG4gICAgfVxuICB9LFxuICB7XG4gICAgbmFtZTogJ2VtYWlsVmVyaWZpZWQnLFxuICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBhZG1pbjoge1xuICAgICAgZGVzY3JpcHRpb246ICdXaGV0aGVyIHRoZSBlbWFpbCBpcyB2ZXJpZmllZCcsXG4gICAgICByZWFkT25seTogdHJ1ZSxcbiAgICB9XG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnZmlyc3ROYW1lJyxcbiAgICB0eXBlOiAndGV4dCcsXG4gICAgYWRtaW46IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBmaXJzdCBuYW1lJyxcbiAgICB9XG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnbGFzdE5hbWUnLFxuICAgIHR5cGU6ICd0ZXh0JyxcbiAgICBhZG1pbjoge1xuICAgICAgZGVzY3JpcHRpb246ICdVc2VyIGxhc3QgbmFtZScsXG4gICAgfVxuICB9LFxuICB7XG4gICAgbmFtZTogJ2ltYWdlVXJsJyxcbiAgICB0eXBlOiAndGV4dCcsXG4gICAgYWRtaW46IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVXNlciBwcm9maWxlIGltYWdlIFVSTCcsXG4gICAgfVxuICB9LFxuICB7XG4gICAgbmFtZTogJ3JvbGUnLFxuICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlZmF1bHRWYWx1ZTogJ3VzZXInLFxuICAgIG9wdGlvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdBZG1pbicsXG4gICAgICAgIHZhbHVlOiAnYWRtaW4nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdVc2VyJyxcbiAgICAgICAgdmFsdWU6ICd1c2VyJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBhZG1pbjoge1xuICAgICAgZGVzY3JpcHRpb246ICdVc2VyIHJvbGUgZm9yIGFjY2VzcyBjb250cm9sJyxcbiAgICB9LFxuICB9LFxuICB7XG4gICAgbmFtZTogJ2xhc3RTeW5jZWRBdCcsXG4gICAgdHlwZTogJ2RhdGUnLFxuICAgIGFkbWluOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1doZW4gdGhlIHVzZXIgd2FzIGxhc3Qgc3luY2VkIHdpdGggQ2xlcmsnLFxuICAgICAgcmVhZE9ubHk6IHRydWUsXG4gICAgfVxuICB9LFxuICB7XG4gICAgbmFtZTogJ2NsZXJrUHVibGljTWV0YWRhdGEnLFxuICAgIHR5cGU6ICdqc29uJyxcbiAgICBhZG1pbjoge1xuICAgICAgZGVzY3JpcHRpb246ICdBZGRpdGlvbmFsIG1ldGFkYXRhIGZyb20gQ2xlcmsnLFxuICAgICAgcmVhZE9ubHk6IHRydWUsXG4gICAgfVxuICB9LFxuXSAiXSwibmFtZXMiOlsiY2xlcmtVc2VyRmllbGRzIiwibmFtZSIsInR5cGUiLCJ1bmlxdWUiLCJpbmRleCIsImFkbWluIiwiZGVzY3JpcHRpb24iLCJyZWFkT25seSIsImRlZmF1bHRWYWx1ZSIsInJlcXVpcmVkIiwib3B0aW9ucyIsImxhYmVsIiwidmFsdWUiXSwibWFwcGluZ3MiOiJBQUVBOztDQUVDLEdBQ0QsT0FBTyxNQUFNQSxrQkFBMkI7SUFDdEM7UUFDRUMsTUFBTTtRQUNOQyxNQUFNO1FBQ05DLFFBQVE7UUFDUkMsT0FBTztRQUNQQyxPQUFPO1lBQ0xDLGFBQWE7WUFDYkMsVUFBVTtRQUNaO0lBQ0Y7SUFDQTtRQUNFTixNQUFNO1FBQ05DLE1BQU07UUFDTk0sY0FBYztRQUNkSCxPQUFPO1lBQ0xDLGFBQWE7WUFDYkMsVUFBVTtRQUNaO0lBQ0Y7SUFDQTtRQUNFTixNQUFNO1FBQ05DLE1BQU07UUFDTkcsT0FBTztZQUNMQyxhQUFhO1FBQ2Y7SUFDRjtJQUNBO1FBQ0VMLE1BQU07UUFDTkMsTUFBTTtRQUNORyxPQUFPO1lBQ0xDLGFBQWE7UUFDZjtJQUNGO0lBQ0E7UUFDRUwsTUFBTTtRQUNOQyxNQUFNO1FBQ05HLE9BQU87WUFDTEMsYUFBYTtRQUNmO0lBQ0Y7SUFDQTtRQUNFTCxNQUFNO1FBQ05DLE1BQU07UUFDTk8sVUFBVTtRQUNWRCxjQUFjO1FBQ2RFLFNBQVM7WUFDUDtnQkFDRUMsT0FBTztnQkFDUEMsT0FBTztZQUNUO1lBQ0E7Z0JBQ0VELE9BQU87Z0JBQ1BDLE9BQU87WUFDVDtTQUNEO1FBQ0RQLE9BQU87WUFDTEMsYUFBYTtRQUNmO0lBQ0Y7SUFDQTtRQUNFTCxNQUFNO1FBQ05DLE1BQU07UUFDTkcsT0FBTztZQUNMQyxhQUFhO1lBQ2JDLFVBQVU7UUFDWjtJQUNGO0lBQ0E7UUFDRU4sTUFBTTtRQUNOQyxNQUFNO1FBQ05HLE9BQU87WUFDTEMsYUFBYTtZQUNiQyxVQUFVO1FBQ1o7SUFDRjtDQUNELENBQUEifQ==
@@ -0,0 +1,10 @@
1
+ import { type CollectionConfig } from 'payload';
2
+ import type { ClerkPluginOptions } from '../../../types';
3
+ export interface WithClerkUsersCollectionOptions {
4
+ collection?: Partial<CollectionConfig>;
5
+ options: ClerkPluginOptions;
6
+ apiBasePath?: string;
7
+ adminBasePath?: string;
8
+ }
9
+ export declare function withClerkUsersCollection({ collection, options, apiBasePath, adminBasePath, }: WithClerkUsersCollectionOptions): CollectionConfig;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/clerk/plugin/collections/users/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAQxD,MAAM,WAAW,+BAA+B;IAC9C,UAAU,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACtC,OAAO,EAAE,kBAAkB,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,wBAAgB,wBAAwB,CAAC,EACvC,UAA8B,EAC9B,OAAO,EACP,WAAoB,EACpB,aAAwB,GACzB,EAAE,+BAA+B,GAAG,gBAAgB,CAoEpD"}
@@ -0,0 +1,95 @@
1
+ import { clerkAuthStrategy } from '../../auth-strategy';
2
+ import { getCreateAccess, getDeleteAccess, getReadAccess, getUpdateAccess } from './access';
3
+ import { syncClerkUsersEndpoint } from './endpoints/sync-from-clerk';
4
+ import { clerkWebhookEndpoint } from './endpoints/webhook/index';
5
+ import { clerkUserFields } from './fields';
6
+ import { cookies } from 'next/headers';
7
+ export function withClerkUsersCollection({ collection = {
8
+ slug: 'users'
9
+ }, options, apiBasePath = '/api', adminBasePath = '/admin' }) {
10
+ const userSlug = options.users?.slug ?? 'users';
11
+ const adminRoles = options.users?.adminRoles ?? [
12
+ 'admin'
13
+ ];
14
+ let clerkUserCollection = {
15
+ ...collection,
16
+ slug: userSlug,
17
+ admin: {
18
+ useAsTitle: 'email',
19
+ defaultColumns: [
20
+ 'email',
21
+ 'clerkId',
22
+ 'firstName',
23
+ 'lastName'
24
+ ],
25
+ hidden: options.users?.hidden ?? false,
26
+ ...collection.admin || {},
27
+ components: {
28
+ Description: {
29
+ path: 'payload-auth/clerk/admin/ui#SyncClerkUsersButton',
30
+ clientProps: {
31
+ userCollectionSlug: userSlug,
32
+ apiBasePath,
33
+ adminBasePath
34
+ }
35
+ }
36
+ }
37
+ },
38
+ fields: [
39
+ ...collection.fields || [],
40
+ ...clerkUserFields
41
+ ],
42
+ auth: {
43
+ ...typeof collection?.auth === 'object' ? collection.auth : {},
44
+ strategies: [
45
+ clerkAuthStrategy(userSlug)
46
+ ]
47
+ },
48
+ access: {
49
+ read: getReadAccess({
50
+ adminRoles
51
+ }),
52
+ create: getCreateAccess({
53
+ adminRoles
54
+ }),
55
+ update: getUpdateAccess({
56
+ adminRoles
57
+ }),
58
+ delete: getDeleteAccess({
59
+ adminRoles
60
+ })
61
+ },
62
+ endpoints: [
63
+ ...collection.endpoints || [],
64
+ clerkWebhookEndpoint({
65
+ userSlug,
66
+ options
67
+ }),
68
+ syncClerkUsersEndpoint({
69
+ userCollectionSlug: userSlug
70
+ })
71
+ ],
72
+ hooks: {
73
+ afterLogout: [
74
+ async ()=>{
75
+ const cookieStore = await cookies();
76
+ // Get all cookies and delete any with __session or __clerk in their name
77
+ const allCookies = cookieStore.getAll();
78
+ allCookies.forEach((cookie)=>{
79
+ if (cookie.name.includes('__session') || cookie.name.includes('__clerk')) {
80
+ cookieStore.delete(cookie.name);
81
+ }
82
+ });
83
+ }
84
+ ]
85
+ }
86
+ };
87
+ if (options.users?.collectionOverrides) {
88
+ clerkUserCollection = options.users.collectionOverrides({
89
+ collection: clerkUserCollection
90
+ });
91
+ }
92
+ return clerkUserCollection;
93
+ }
94
+
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jbGVyay9wbHVnaW4vY29sbGVjdGlvbnMvdXNlcnMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAncGF5bG9hZCdcbmltcG9ydCB0eXBlIHsgQ2xlcmtQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnXG5pbXBvcnQgeyBjbGVya0F1dGhTdHJhdGVneSB9IGZyb20gJy4uLy4uL2F1dGgtc3RyYXRlZ3knXG5pbXBvcnQgeyBnZXRDcmVhdGVBY2Nlc3MsIGdldERlbGV0ZUFjY2VzcywgZ2V0UmVhZEFjY2VzcywgZ2V0VXBkYXRlQWNjZXNzIH0gZnJvbSAnLi9hY2Nlc3MnXG5pbXBvcnQgeyBzeW5jQ2xlcmtVc2Vyc0VuZHBvaW50IH0gZnJvbSAnLi9lbmRwb2ludHMvc3luYy1mcm9tLWNsZXJrJ1xuaW1wb3J0IHsgY2xlcmtXZWJob29rRW5kcG9pbnQgfSBmcm9tICcuL2VuZHBvaW50cy93ZWJob29rL2luZGV4J1xuaW1wb3J0IHsgY2xlcmtVc2VyRmllbGRzIH0gZnJvbSAnLi9maWVsZHMnXG5pbXBvcnQgeyBjb29raWVzIH0gZnJvbSAnbmV4dC9oZWFkZXJzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIFdpdGhDbGVya1VzZXJzQ29sbGVjdGlvbk9wdGlvbnMge1xuICBjb2xsZWN0aW9uPzogUGFydGlhbDxDb2xsZWN0aW9uQ29uZmlnPlxuICBvcHRpb25zOiBDbGVya1BsdWdpbk9wdGlvbnNcbiAgYXBpQmFzZVBhdGg/OiBzdHJpbmdcbiAgYWRtaW5CYXNlUGF0aD86IHN0cmluZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2l0aENsZXJrVXNlcnNDb2xsZWN0aW9uKHtcbiAgY29sbGVjdGlvbiA9IHsgc2x1ZzogJ3VzZXJzJyB9LFxuICBvcHRpb25zLFxuICBhcGlCYXNlUGF0aCA9ICcvYXBpJyxcbiAgYWRtaW5CYXNlUGF0aCA9ICcvYWRtaW4nLFxufTogV2l0aENsZXJrVXNlcnNDb2xsZWN0aW9uT3B0aW9ucyk6IENvbGxlY3Rpb25Db25maWcge1xuICBjb25zdCB1c2VyU2x1ZyA9IG9wdGlvbnMudXNlcnM/LnNsdWcgPz8gJ3VzZXJzJ1xuICBjb25zdCBhZG1pblJvbGVzID0gb3B0aW9ucy51c2Vycz8uYWRtaW5Sb2xlcyA/PyBbJ2FkbWluJ11cbiAgXG4gIGxldCBjbGVya1VzZXJDb2xsZWN0aW9uOiBDb2xsZWN0aW9uQ29uZmlnID0ge1xuICAgIC4uLmNvbGxlY3Rpb24sXG4gICAgc2x1ZzogdXNlclNsdWcsXG4gICAgYWRtaW46IHtcbiAgICAgIHVzZUFzVGl0bGU6ICdlbWFpbCcsXG4gICAgICBkZWZhdWx0Q29sdW1uczogWydlbWFpbCcsICdjbGVya0lkJywgJ2ZpcnN0TmFtZScsICdsYXN0TmFtZSddLFxuICAgICAgaGlkZGVuOiBvcHRpb25zLnVzZXJzPy5oaWRkZW4gPz8gZmFsc2UsXG4gICAgICAuLi4oY29sbGVjdGlvbi5hZG1pbiB8fCB7fSksXG4gICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgIERlc2NyaXB0aW9uOiB7XG4gICAgICAgICAgcGF0aDogJ3BheWxvYWQtYXV0aC9jbGVyay9hZG1pbi91aSNTeW5jQ2xlcmtVc2Vyc0J1dHRvbicsXG4gICAgICAgICAgY2xpZW50UHJvcHM6IHtcbiAgICAgICAgICAgIHVzZXJDb2xsZWN0aW9uU2x1ZzogdXNlclNsdWcsXG4gICAgICAgICAgICBhcGlCYXNlUGF0aCxcbiAgICAgICAgICAgIGFkbWluQmFzZVBhdGgsXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBmaWVsZHM6IFtcbiAgICAgIC4uLihjb2xsZWN0aW9uLmZpZWxkcyB8fCBbXSksXG4gICAgICAuLi5jbGVya1VzZXJGaWVsZHMsXG4gICAgXSxcbiAgICBhdXRoOiB7XG4gICAgICAuLi4odHlwZW9mIGNvbGxlY3Rpb24/LmF1dGggPT09ICdvYmplY3QnID8gY29sbGVjdGlvbi5hdXRoIDoge30pLFxuICAgICAgc3RyYXRlZ2llczogW1xuICAgICAgICBjbGVya0F1dGhTdHJhdGVneSh1c2VyU2x1ZyksXG4gICAgICBdLFxuICAgIH0sXG4gICAgYWNjZXNzOiB7XG4gICAgICByZWFkOiBnZXRSZWFkQWNjZXNzKHsgYWRtaW5Sb2xlcyB9KSxcbiAgICAgIGNyZWF0ZTogZ2V0Q3JlYXRlQWNjZXNzKHsgYWRtaW5Sb2xlcyB9KSxcbiAgICAgIHVwZGF0ZTogZ2V0VXBkYXRlQWNjZXNzKHsgYWRtaW5Sb2xlcyB9KSxcbiAgICAgIGRlbGV0ZTogZ2V0RGVsZXRlQWNjZXNzKHsgYWRtaW5Sb2xlcyB9KSxcbiAgICB9LFxuICAgIGVuZHBvaW50czogW1xuICAgICAgLi4uKGNvbGxlY3Rpb24uZW5kcG9pbnRzIHx8IFtdKSxcbiAgICAgIGNsZXJrV2ViaG9va0VuZHBvaW50KHsgdXNlclNsdWcsIG9wdGlvbnMgfSksXG4gICAgICBzeW5jQ2xlcmtVc2Vyc0VuZHBvaW50KHsgdXNlckNvbGxlY3Rpb25TbHVnOiB1c2VyU2x1ZyB9KVxuICAgIF0sXG4gICAgaG9va3M6IHtcbiAgICAgIGFmdGVyTG9nb3V0OiBbXG4gICAgICAgIGFzeW5jICgpID0+IHtcbiAgICAgICAgICBjb25zdCBjb29raWVTdG9yZSA9IGF3YWl0IGNvb2tpZXMoKVxuICAgICAgICAgIFxuICAgICAgICAgIC8vIEdldCBhbGwgY29va2llcyBhbmQgZGVsZXRlIGFueSB3aXRoIF9fc2Vzc2lvbiBvciBfX2NsZXJrIGluIHRoZWlyIG5hbWVcbiAgICAgICAgICBjb25zdCBhbGxDb29raWVzID0gY29va2llU3RvcmUuZ2V0QWxsKClcbiAgICAgICAgICBhbGxDb29raWVzLmZvckVhY2goY29va2llID0+IHtcbiAgICAgICAgICAgIGlmIChjb29raWUubmFtZS5pbmNsdWRlcygnX19zZXNzaW9uJykgfHwgY29va2llLm5hbWUuaW5jbHVkZXMoJ19fY2xlcmsnKSkge1xuICAgICAgICAgICAgICBjb29raWVTdG9yZS5kZWxldGUoY29va2llLm5hbWUpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH1cbiAgfVxuXG4gIGlmIChvcHRpb25zLnVzZXJzPy5jb2xsZWN0aW9uT3ZlcnJpZGVzKSB7XG4gICAgY2xlcmtVc2VyQ29sbGVjdGlvbiA9IG9wdGlvbnMudXNlcnMuY29sbGVjdGlvbk92ZXJyaWRlcyh7IFxuICAgICAgY29sbGVjdGlvbjogY2xlcmtVc2VyQ29sbGVjdGlvbiBcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIGNsZXJrVXNlckNvbGxlY3Rpb25cbn0gIl0sIm5hbWVzIjpbImNsZXJrQXV0aFN0cmF0ZWd5IiwiZ2V0Q3JlYXRlQWNjZXNzIiwiZ2V0RGVsZXRlQWNjZXNzIiwiZ2V0UmVhZEFjY2VzcyIsImdldFVwZGF0ZUFjY2VzcyIsInN5bmNDbGVya1VzZXJzRW5kcG9pbnQiLCJjbGVya1dlYmhvb2tFbmRwb2ludCIsImNsZXJrVXNlckZpZWxkcyIsImNvb2tpZXMiLCJ3aXRoQ2xlcmtVc2Vyc0NvbGxlY3Rpb24iLCJjb2xsZWN0aW9uIiwic2x1ZyIsIm9wdGlvbnMiLCJhcGlCYXNlUGF0aCIsImFkbWluQmFzZVBhdGgiLCJ1c2VyU2x1ZyIsInVzZXJzIiwiYWRtaW5Sb2xlcyIsImNsZXJrVXNlckNvbGxlY3Rpb24iLCJhZG1pbiIsInVzZUFzVGl0bGUiLCJkZWZhdWx0Q29sdW1ucyIsImhpZGRlbiIsImNvbXBvbmVudHMiLCJEZXNjcmlwdGlvbiIsInBhdGgiLCJjbGllbnRQcm9wcyIsInVzZXJDb2xsZWN0aW9uU2x1ZyIsImZpZWxkcyIsImF1dGgiLCJzdHJhdGVnaWVzIiwiYWNjZXNzIiwicmVhZCIsImNyZWF0ZSIsInVwZGF0ZSIsImRlbGV0ZSIsImVuZHBvaW50cyIsImhvb2tzIiwiYWZ0ZXJMb2dvdXQiLCJjb29raWVTdG9yZSIsImFsbENvb2tpZXMiLCJnZXRBbGwiLCJmb3JFYWNoIiwiY29va2llIiwibmFtZSIsImluY2x1ZGVzIiwiY29sbGVjdGlvbk92ZXJyaWRlcyJdLCJtYXBwaW5ncyI6IkFBRUEsU0FBU0EsaUJBQWlCLFFBQVEsc0JBQXFCO0FBQ3ZELFNBQVNDLGVBQWUsRUFBRUMsZUFBZSxFQUFFQyxhQUFhLEVBQUVDLGVBQWUsUUFBUSxXQUFVO0FBQzNGLFNBQVNDLHNCQUFzQixRQUFRLDhCQUE2QjtBQUNwRSxTQUFTQyxvQkFBb0IsUUFBUSw0QkFBMkI7QUFDaEUsU0FBU0MsZUFBZSxRQUFRLFdBQVU7QUFDMUMsU0FBU0MsT0FBTyxRQUFRLGVBQWM7QUFTdEMsT0FBTyxTQUFTQyx5QkFBeUIsRUFDdkNDLGFBQWE7SUFBRUMsTUFBTTtBQUFRLENBQUMsRUFDOUJDLE9BQU8sRUFDUEMsY0FBYyxNQUFNLEVBQ3BCQyxnQkFBZ0IsUUFBUSxFQUNRO0lBQ2hDLE1BQU1DLFdBQVdILFFBQVFJLEtBQUssRUFBRUwsUUFBUTtJQUN4QyxNQUFNTSxhQUFhTCxRQUFRSSxLQUFLLEVBQUVDLGNBQWM7UUFBQztLQUFRO0lBRXpELElBQUlDLHNCQUF3QztRQUMxQyxHQUFHUixVQUFVO1FBQ2JDLE1BQU1JO1FBQ05JLE9BQU87WUFDTEMsWUFBWTtZQUNaQyxnQkFBZ0I7Z0JBQUM7Z0JBQVM7Z0JBQVc7Z0JBQWE7YUFBVztZQUM3REMsUUFBUVYsUUFBUUksS0FBSyxFQUFFTSxVQUFVO1lBQ2pDLEdBQUlaLFdBQVdTLEtBQUssSUFBSSxDQUFDLENBQUM7WUFDMUJJLFlBQVk7Z0JBQ1ZDLGFBQWE7b0JBQ1hDLE1BQU07b0JBQ05DLGFBQWE7d0JBQ1hDLG9CQUFvQlo7d0JBQ3BCRjt3QkFDQUM7b0JBQ0Y7Z0JBQ0Y7WUFDRjtRQUNGO1FBQ0FjLFFBQVE7ZUFDRmxCLFdBQVdrQixNQUFNLElBQUksRUFBRTtlQUN4QnJCO1NBQ0o7UUFDRHNCLE1BQU07WUFDSixHQUFJLE9BQU9uQixZQUFZbUIsU0FBUyxXQUFXbkIsV0FBV21CLElBQUksR0FBRyxDQUFDLENBQUM7WUFDL0RDLFlBQVk7Z0JBQ1Y5QixrQkFBa0JlO2FBQ25CO1FBQ0g7UUFDQWdCLFFBQVE7WUFDTkMsTUFBTTdCLGNBQWM7Z0JBQUVjO1lBQVc7WUFDakNnQixRQUFRaEMsZ0JBQWdCO2dCQUFFZ0I7WUFBVztZQUNyQ2lCLFFBQVE5QixnQkFBZ0I7Z0JBQUVhO1lBQVc7WUFDckNrQixRQUFRakMsZ0JBQWdCO2dCQUFFZTtZQUFXO1FBQ3ZDO1FBQ0FtQixXQUFXO2VBQ0wxQixXQUFXMEIsU0FBUyxJQUFJLEVBQUU7WUFDOUI5QixxQkFBcUI7Z0JBQUVTO2dCQUFVSDtZQUFRO1lBQ3pDUCx1QkFBdUI7Z0JBQUVzQixvQkFBb0JaO1lBQVM7U0FDdkQ7UUFDRHNCLE9BQU87WUFDTEMsYUFBYTtnQkFDWDtvQkFDRSxNQUFNQyxjQUFjLE1BQU0vQjtvQkFFMUIseUVBQXlFO29CQUN6RSxNQUFNZ0MsYUFBYUQsWUFBWUUsTUFBTTtvQkFDckNELFdBQVdFLE9BQU8sQ0FBQ0MsQ0FBQUE7d0JBQ2pCLElBQUlBLE9BQU9DLElBQUksQ0FBQ0MsUUFBUSxDQUFDLGdCQUFnQkYsT0FBT0MsSUFBSSxDQUFDQyxRQUFRLENBQUMsWUFBWTs0QkFDeEVOLFlBQVlKLE1BQU0sQ0FBQ1EsT0FBT0MsSUFBSTt3QkFDaEM7b0JBQ0Y7Z0JBQ0Y7YUFDRDtRQUNIO0lBQ0Y7SUFFQSxJQUFJaEMsUUFBUUksS0FBSyxFQUFFOEIscUJBQXFCO1FBQ3RDNUIsc0JBQXNCTixRQUFRSSxLQUFLLENBQUM4QixtQkFBbUIsQ0FBQztZQUN0RHBDLFlBQVlRO1FBQ2Q7SUFDRjtJQUVBLE9BQU9BO0FBQ1QifQ==
@@ -0,0 +1,4 @@
1
+ export declare function AfterLoginForm({ redirectOnLoginTo }: {
2
+ redirectOnLoginTo: string;
3
+ }): import("react").JSX.Element;
4
+ //# sourceMappingURL=after-login-form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"after-login-form.d.ts","sourceRoot":"","sources":["../../../../src/clerk/plugin/components/after-login-form.tsx"],"names":[],"mappings":"AAMA,wBAAgB,cAAc,CAAC,EAAE,iBAAiB,EAAE,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAA;CAAE,+BAmElF"}
@@ -0,0 +1,65 @@
1
+ 'use client';
2
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useEffect, useState } from 'react';
4
+ import { useRouter } from 'next/navigation';
5
+ import { loadClerkInstance } from '../../utils/load-clerk-instance';
6
+ export function AfterLoginForm({ redirectOnLoginTo }) {
7
+ const router = useRouter();
8
+ const [isLoading, setIsLoading] = useState(false);
9
+ const [loginSuccessful, setLoginSuccessful] = useState(false);
10
+ useEffect(()=>{
11
+ loadClerkInstance().catch((err)=>console.error('Error loading clerk:', err));
12
+ }, []);
13
+ useEffect(()=>{
14
+ const form = document.querySelector('form.login__form');
15
+ if (!form) return;
16
+ const onSubmit = async (event)=>{
17
+ event.preventDefault();
18
+ setIsLoading(true);
19
+ try {
20
+ const emailInput = form.querySelector('input[name="email"]');
21
+ if (!emailInput) throw new Error('Email input not found');
22
+ const passwordInput = form.querySelector('input[name="password"]');
23
+ if (!passwordInput) throw new Error('Password input not found');
24
+ const email = emailInput.value;
25
+ if (!email) throw new Error('Email is required');
26
+ const password = passwordInput.value;
27
+ if (!password) throw new Error('Password is required');
28
+ const clerk = await loadClerkInstance();
29
+ if (!clerk) return;
30
+ const signInAttempt = await clerk.client?.signIn.create({
31
+ identifier: email,
32
+ password,
33
+ strategy: 'password'
34
+ });
35
+ if (signInAttempt?.status !== 'complete') {
36
+ console.error(JSON.stringify(signInAttempt, null, 2));
37
+ return;
38
+ }
39
+ setLoginSuccessful(true);
40
+ document.querySelector('.payload-toast-item')?.remove();
41
+ await clerk.setActive({
42
+ session: signInAttempt.createdSessionId
43
+ });
44
+ router.push(redirectOnLoginTo ?? '/admin');
45
+ } catch (error) {
46
+ console.log('Error logging in:', error);
47
+ } finally{
48
+ setIsLoading(false);
49
+ }
50
+ };
51
+ form.addEventListener('submit', onSubmit);
52
+ return ()=>form.removeEventListener('submit', onSubmit);
53
+ }, []);
54
+ return /*#__PURE__*/ _jsx(_Fragment, {
55
+ children: /*#__PURE__*/ _jsx("style", {
56
+ children: `
57
+ .payload-toast-item {
58
+ opacity: ${isLoading || loginSuccessful ? '0' : '1'} !important;
59
+ }
60
+ `
61
+ })
62
+ });
63
+ }
64
+
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGVyay9wbHVnaW4vY29tcG9uZW50cy9hZnRlci1sb2dpbi1mb3JtLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZVJvdXRlciB9IGZyb20gJ25leHQvbmF2aWdhdGlvbic7XG5pbXBvcnQgeyBsb2FkQ2xlcmtJbnN0YW5jZSB9IGZyb20gJy4uLy4uL3V0aWxzL2xvYWQtY2xlcmstaW5zdGFuY2UnO1xuXG5leHBvcnQgZnVuY3Rpb24gQWZ0ZXJMb2dpbkZvcm0oeyByZWRpcmVjdE9uTG9naW5UbyB9OiB7IHJlZGlyZWN0T25Mb2dpblRvOiBzdHJpbmcgfSkge1xuICBjb25zdCByb3V0ZXIgPSB1c2VSb3V0ZXIoKTtcbiAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2xvZ2luU3VjY2Vzc2Z1bCwgc2V0TG9naW5TdWNjZXNzZnVsXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxvYWRDbGVya0luc3RhbmNlKCkuY2F0Y2goKGVycjogYW55KSA9PiBjb25zb2xlLmVycm9yKCdFcnJvciBsb2FkaW5nIGNsZXJrOicsIGVycikpO1xuICB9LCBbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBmb3JtID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignZm9ybS5sb2dpbl9fZm9ybScpO1xuICAgIGlmICghZm9ybSkgcmV0dXJuO1xuXG4gICAgY29uc3Qgb25TdWJtaXQgPSBhc3luYyAoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHNldElzTG9hZGluZyh0cnVlKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZW1haWxJbnB1dCA9IGZvcm0ucXVlcnlTZWxlY3RvcignaW5wdXRbbmFtZT1cImVtYWlsXCJdJykgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgaWYgKCFlbWFpbElucHV0KSB0aHJvdyBuZXcgRXJyb3IoJ0VtYWlsIGlucHV0IG5vdCBmb3VuZCcpO1xuXG4gICAgICAgIGNvbnN0IHBhc3N3b3JkSW5wdXQgPSBmb3JtLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0W25hbWU9XCJwYXNzd29yZFwiXScpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGlmICghcGFzc3dvcmRJbnB1dCkgdGhyb3cgbmV3IEVycm9yKCdQYXNzd29yZCBpbnB1dCBub3QgZm91bmQnKTtcblxuICAgICAgICBjb25zdCBlbWFpbCA9IGVtYWlsSW5wdXQudmFsdWU7XG4gICAgICAgIGlmICghZW1haWwpIHRocm93IG5ldyBFcnJvcignRW1haWwgaXMgcmVxdWlyZWQnKTtcblxuICAgICAgICBjb25zdCBwYXNzd29yZCA9IHBhc3N3b3JkSW5wdXQudmFsdWU7XG4gICAgICAgIGlmICghcGFzc3dvcmQpIHRocm93IG5ldyBFcnJvcignUGFzc3dvcmQgaXMgcmVxdWlyZWQnKTtcblxuICAgICAgICBjb25zdCBjbGVyayA9IGF3YWl0IGxvYWRDbGVya0luc3RhbmNlKCk7XG4gICAgICAgIGlmICghY2xlcmspIHJldHVybjtcbiAgICAgICAgY29uc3Qgc2lnbkluQXR0ZW1wdCA9IGF3YWl0IGNsZXJrLmNsaWVudD8uc2lnbkluLmNyZWF0ZSh7XG4gICAgICAgICAgaWRlbnRpZmllcjogZW1haWwsXG4gICAgICAgICAgcGFzc3dvcmQsXG4gICAgICAgICAgc3RyYXRlZ3k6ICdwYXNzd29yZCcsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChzaWduSW5BdHRlbXB0Py5zdGF0dXMgIT09ICdjb21wbGV0ZScpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKEpTT04uc3RyaW5naWZ5KHNpZ25JbkF0dGVtcHQsIG51bGwsIDIpKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZXRMb2dpblN1Y2Nlc3NmdWwodHJ1ZSk7XG4gICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wYXlsb2FkLXRvYXN0LWl0ZW0nKT8ucmVtb3ZlKCk7XG4gICAgICAgIGF3YWl0IGNsZXJrLnNldEFjdGl2ZSh7IHNlc3Npb246IHNpZ25JbkF0dGVtcHQuY3JlYXRlZFNlc3Npb25JZCB9KTtcbiAgICAgICAgcm91dGVyLnB1c2gocmVkaXJlY3RPbkxvZ2luVG8gPz8gJy9hZG1pbicpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ0Vycm9yIGxvZ2dpbmcgaW46JywgZXJyb3IpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgZm9ybS5hZGRFdmVudExpc3RlbmVyKCdzdWJtaXQnLCBvblN1Ym1pdCk7XG4gICAgcmV0dXJuICgpID0+IGZvcm0ucmVtb3ZlRXZlbnRMaXN0ZW5lcignc3VibWl0Jywgb25TdWJtaXQpO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPHN0eWxlPntgXG4gICAgICAgIC5wYXlsb2FkLXRvYXN0LWl0ZW0ge1xuICAgICAgICAgIG9wYWNpdHk6ICR7aXNMb2FkaW5nIHx8IGxvZ2luU3VjY2Vzc2Z1bCA/ICcwJyA6ICcxJ30gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgYH08L3N0eWxlPlxuICAgIDwvPlxuICApO1xufVxuIl0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInVzZVN0YXRlIiwidXNlUm91dGVyIiwibG9hZENsZXJrSW5zdGFuY2UiLCJBZnRlckxvZ2luRm9ybSIsInJlZGlyZWN0T25Mb2dpblRvIiwicm91dGVyIiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwibG9naW5TdWNjZXNzZnVsIiwic2V0TG9naW5TdWNjZXNzZnVsIiwiY2F0Y2giLCJlcnIiLCJjb25zb2xlIiwiZXJyb3IiLCJmb3JtIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwib25TdWJtaXQiLCJldmVudCIsInByZXZlbnREZWZhdWx0IiwiZW1haWxJbnB1dCIsIkVycm9yIiwicGFzc3dvcmRJbnB1dCIsImVtYWlsIiwidmFsdWUiLCJwYXNzd29yZCIsImNsZXJrIiwic2lnbkluQXR0ZW1wdCIsImNsaWVudCIsInNpZ25JbiIsImNyZWF0ZSIsImlkZW50aWZpZXIiLCJzdHJhdGVneSIsInN0YXR1cyIsIkpTT04iLCJzdHJpbmdpZnkiLCJyZW1vdmUiLCJzZXRBY3RpdmUiLCJzZXNzaW9uIiwiY3JlYXRlZFNlc3Npb25JZCIsInB1c2giLCJsb2ciLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInN0eWxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQSxTQUFTQSxTQUFTLEVBQUVDLFFBQVEsUUFBUSxRQUFRO0FBQzVDLFNBQVNDLFNBQVMsUUFBUSxrQkFBa0I7QUFDNUMsU0FBU0MsaUJBQWlCLFFBQVEsa0NBQWtDO0FBRXBFLE9BQU8sU0FBU0MsZUFBZSxFQUFFQyxpQkFBaUIsRUFBaUM7SUFDakYsTUFBTUMsU0FBU0o7SUFDZixNQUFNLENBQUNLLFdBQVdDLGFBQWEsR0FBR1AsU0FBUztJQUMzQyxNQUFNLENBQUNRLGlCQUFpQkMsbUJBQW1CLEdBQUdULFNBQVM7SUFFdkRELFVBQVU7UUFDUkcsb0JBQW9CUSxLQUFLLENBQUMsQ0FBQ0MsTUFBYUMsUUFBUUMsS0FBSyxDQUFDLHdCQUF3QkY7SUFDaEYsR0FBRyxFQUFFO0lBRUxaLFVBQVU7UUFDUixNQUFNZSxPQUFPQyxTQUFTQyxhQUFhLENBQUM7UUFDcEMsSUFBSSxDQUFDRixNQUFNO1FBRVgsTUFBTUcsV0FBVyxPQUFPQztZQUN0QkEsTUFBTUMsY0FBYztZQUNwQlosYUFBYTtZQUViLElBQUk7Z0JBQ0YsTUFBTWEsYUFBYU4sS0FBS0UsYUFBYSxDQUFDO2dCQUN0QyxJQUFJLENBQUNJLFlBQVksTUFBTSxJQUFJQyxNQUFNO2dCQUVqQyxNQUFNQyxnQkFBZ0JSLEtBQUtFLGFBQWEsQ0FBQztnQkFDekMsSUFBSSxDQUFDTSxlQUFlLE1BQU0sSUFBSUQsTUFBTTtnQkFFcEMsTUFBTUUsUUFBUUgsV0FBV0ksS0FBSztnQkFDOUIsSUFBSSxDQUFDRCxPQUFPLE1BQU0sSUFBSUYsTUFBTTtnQkFFNUIsTUFBTUksV0FBV0gsY0FBY0UsS0FBSztnQkFDcEMsSUFBSSxDQUFDQyxVQUFVLE1BQU0sSUFBSUosTUFBTTtnQkFFL0IsTUFBTUssUUFBUSxNQUFNeEI7Z0JBQ3BCLElBQUksQ0FBQ3dCLE9BQU87Z0JBQ1osTUFBTUMsZ0JBQWdCLE1BQU1ELE1BQU1FLE1BQU0sRUFBRUMsT0FBT0MsT0FBTztvQkFDdERDLFlBQVlSO29CQUNaRTtvQkFDQU8sVUFBVTtnQkFDWjtnQkFFQSxJQUFJTCxlQUFlTSxXQUFXLFlBQVk7b0JBQ3hDckIsUUFBUUMsS0FBSyxDQUFDcUIsS0FBS0MsU0FBUyxDQUFDUixlQUFlLE1BQU07b0JBQ2xEO2dCQUNGO2dCQUVBbEIsbUJBQW1CO2dCQUNuQk0sU0FBU0MsYUFBYSxDQUFDLHdCQUF3Qm9CO2dCQUMvQyxNQUFNVixNQUFNVyxTQUFTLENBQUM7b0JBQUVDLFNBQVNYLGNBQWNZLGdCQUFnQjtnQkFBQztnQkFDaEVsQyxPQUFPbUMsSUFBSSxDQUFDcEMscUJBQXFCO1lBQ25DLEVBQUUsT0FBT1MsT0FBTztnQkFDZEQsUUFBUTZCLEdBQUcsQ0FBQyxxQkFBcUI1QjtZQUNuQyxTQUFVO2dCQUNSTixhQUFhO1lBQ2Y7UUFDRjtRQUVBTyxLQUFLNEIsZ0JBQWdCLENBQUMsVUFBVXpCO1FBQ2hDLE9BQU8sSUFBTUgsS0FBSzZCLG1CQUFtQixDQUFDLFVBQVUxQjtJQUNsRCxHQUFHLEVBQUU7SUFFTCxxQkFDRTtrQkFDRSxjQUFBLEtBQUMyQjtzQkFBTyxDQUFDOzttQkFFSSxFQUFFdEMsYUFBYUUsa0JBQWtCLE1BQU0sSUFBSTs7TUFFeEQsQ0FBQzs7O0FBR1AifQ==
@@ -0,0 +1,2 @@
1
+ export declare const LogoutButton: () => import("react").JSX.Element;
2
+ //# sourceMappingURL=logout-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout-button.d.ts","sourceRoot":"","sources":["../../../../src/clerk/plugin/components/logout-button.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY,mCAkDxB,CAAC"}