payload-auth 1.1.2 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) hide show
  1. package/dist/authjs/index.d.ts.map +1 -1
  2. package/dist/authjs/index.js +2 -2
  3. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.d.ts +1 -1
  4. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.d.ts.map +1 -1
  5. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.js +3 -3
  6. package/dist/better-auth/adapter/generate-schema/get-payload-schema.d.ts.map +1 -1
  7. package/dist/better-auth/adapter/generate-schema/get-payload-schema.js +4 -4
  8. package/dist/better-auth/adapter/generate-schema/index.js +5 -5
  9. package/dist/better-auth/adapter/generate-schema/utils.js +1 -1
  10. package/dist/better-auth/adapter/index.d.ts +2 -2
  11. package/dist/better-auth/adapter/index.d.ts.map +1 -1
  12. package/dist/better-auth/adapter/index.js +53 -53
  13. package/dist/better-auth/adapter/transform/index.d.ts +5 -5
  14. package/dist/better-auth/adapter/transform/index.d.ts.map +1 -1
  15. package/dist/better-auth/adapter/transform/index.js +69 -69
  16. package/dist/better-auth/adapter/types.d.ts +3 -3
  17. package/dist/better-auth/adapter/types.d.ts.map +1 -1
  18. package/dist/better-auth/adapter/types.js +1 -1
  19. package/dist/better-auth/index.js +4 -4
  20. package/dist/better-auth/plugin/{lib/constants.d.ts → constants.d.ts} +14 -6
  21. package/dist/better-auth/plugin/constants.d.ts.map +1 -0
  22. package/dist/better-auth/plugin/constants.js +91 -0
  23. package/dist/better-auth/plugin/helpers/check-passkey-plugin.d.ts +1 -1
  24. package/dist/better-auth/plugin/helpers/check-passkey-plugin.d.ts.map +1 -1
  25. package/dist/better-auth/plugin/helpers/check-passkey-plugin.js +2 -2
  26. package/dist/better-auth/plugin/helpers/check-username-plugin.d.ts +1 -1
  27. package/dist/better-auth/plugin/helpers/check-username-plugin.d.ts.map +1 -1
  28. package/dist/better-auth/plugin/helpers/check-username-plugin.js +2 -2
  29. package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts +1 -1
  30. package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts.map +1 -1
  31. package/dist/better-auth/plugin/helpers/generate-verify-email-url.js +7 -7
  32. package/dist/better-auth/plugin/helpers/get-admin-access.d.ts +1 -1
  33. package/dist/better-auth/plugin/helpers/get-admin-access.d.ts.map +1 -1
  34. package/dist/better-auth/plugin/helpers/get-admin-access.js +2 -2
  35. package/dist/better-auth/plugin/helpers/get-all-roles.d.ts +1 -1
  36. package/dist/better-auth/plugin/helpers/get-all-roles.d.ts.map +1 -1
  37. package/dist/better-auth/plugin/helpers/get-all-roles.js +4 -4
  38. package/dist/better-auth/plugin/helpers/get-ip.d.ts +1 -1
  39. package/dist/better-auth/plugin/helpers/get-ip.d.ts.map +1 -1
  40. package/dist/better-auth/plugin/helpers/get-ip.js +14 -14
  41. package/dist/better-auth/plugin/helpers/get-requst-collection.d.ts +1 -1
  42. package/dist/better-auth/plugin/helpers/get-requst-collection.d.ts.map +1 -1
  43. package/dist/better-auth/plugin/helpers/get-requst-collection.js +2 -2
  44. package/dist/better-auth/plugin/helpers/index.d.ts +1 -1
  45. package/dist/better-auth/plugin/helpers/index.d.ts.map +1 -1
  46. package/dist/better-auth/plugin/helpers/index.js +1 -1
  47. package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts +3 -3
  48. package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts.map +1 -1
  49. package/dist/better-auth/plugin/helpers/prepare-session-data.js +1 -1
  50. package/dist/better-auth/plugin/helpers/serialize-cookie.d.ts +2 -2
  51. package/dist/better-auth/plugin/helpers/serialize-cookie.d.ts.map +1 -1
  52. package/dist/better-auth/plugin/helpers/serialize-cookie.js +33 -33
  53. package/dist/better-auth/plugin/index.d.ts +6 -6
  54. package/dist/better-auth/plugin/index.d.ts.map +1 -1
  55. package/dist/better-auth/plugin/index.js +27 -57
  56. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts +1 -1
  57. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts.map +1 -1
  58. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.js +6 -6
  59. package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts +3 -3
  60. package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts.map +1 -1
  61. package/dist/better-auth/plugin/lib/build-collections/accounts/index.js +47 -47
  62. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts +3 -3
  63. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts.map +1 -1
  64. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.js +1 -1
  65. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts +1 -1
  66. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts.map +1 -1
  67. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.js +2 -2
  68. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts +3 -3
  69. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts.map +1 -1
  70. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.js +33 -24
  71. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts +3 -3
  72. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts.map +1 -1
  73. package/dist/better-auth/plugin/lib/build-collections/api-keys.js +77 -80
  74. package/dist/better-auth/plugin/lib/build-collections/index.d.ts +3 -3
  75. package/dist/better-auth/plugin/lib/build-collections/index.d.ts.map +1 -1
  76. package/dist/better-auth/plugin/lib/build-collections/index.js +2 -2
  77. package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts +3 -3
  78. package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts.map +1 -1
  79. package/dist/better-auth/plugin/lib/build-collections/invitations.js +30 -30
  80. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts +3 -3
  81. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts.map +1 -1
  82. package/dist/better-auth/plugin/lib/build-collections/jwks.js +13 -13
  83. package/dist/better-auth/plugin/lib/build-collections/members.d.ts +3 -3
  84. package/dist/better-auth/plugin/lib/build-collections/members.d.ts.map +1 -1
  85. package/dist/better-auth/plugin/lib/build-collections/members.js +22 -22
  86. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts +3 -3
  87. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts.map +1 -1
  88. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.js +33 -33
  89. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts +3 -3
  90. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts.map +1 -1
  91. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.js +40 -40
  92. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts +3 -3
  93. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts.map +1 -1
  94. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.js +20 -20
  95. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts +3 -3
  96. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts.map +1 -1
  97. package/dist/better-auth/plugin/lib/build-collections/organizations.js +21 -21
  98. package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts +3 -3
  99. package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts.map +1 -1
  100. package/dist/better-auth/plugin/lib/build-collections/passkeys.js +37 -37
  101. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts +3 -3
  102. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts.map +1 -1
  103. package/dist/better-auth/plugin/lib/build-collections/sessions.js +33 -33
  104. package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts +3 -3
  105. package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts.map +1 -1
  106. package/dist/better-auth/plugin/lib/build-collections/sso-providers.js +29 -29
  107. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts +3 -3
  108. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts.map +1 -1
  109. package/dist/better-auth/plugin/lib/build-collections/teams.js +13 -13
  110. package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts +3 -3
  111. package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts.map +1 -1
  112. package/dist/better-auth/plugin/lib/build-collections/two-factors.js +17 -17
  113. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts +1 -1
  114. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts.map +1 -1
  115. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.js +8 -8
  116. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts +3 -4
  117. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts.map +1 -1
  118. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.js +12 -11
  119. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts +1 -1
  120. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts.map +1 -1
  121. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.js +19 -18
  122. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts +3 -2
  123. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts.map +1 -1
  124. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.js +28 -6
  125. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts +2 -2
  126. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts.map +1 -1
  127. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.js +9 -8
  128. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.d.ts +2 -2
  129. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.d.ts.map +1 -1
  130. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.js +34 -30
  131. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts +1 -1
  132. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts.map +1 -1
  133. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.js +7 -6
  134. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts +1 -1
  135. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts.map +1 -1
  136. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.js +11 -11
  137. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts +2 -2
  138. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts.map +1 -1
  139. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.js +2 -2
  140. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts +1 -1
  141. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts.map +1 -1
  142. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.js +3 -3
  143. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts +1 -1
  144. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts.map +1 -1
  145. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.js +1 -1
  146. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts +1 -1
  147. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts.map +1 -1
  148. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.js +9 -9
  149. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts +3 -3
  150. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts.map +1 -1
  151. package/dist/better-auth/plugin/lib/build-collections/users/index.js +84 -94
  152. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts +1 -1
  153. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts.map +1 -1
  154. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.js +7 -7
  155. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts +1 -1
  156. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts.map +1 -1
  157. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.js +9 -9
  158. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts +3 -3
  159. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts.map +1 -1
  160. package/dist/better-auth/plugin/lib/build-collections/verifications.js +17 -17
  161. package/dist/better-auth/plugin/lib/get-payload-auth.d.ts +2 -2
  162. package/dist/better-auth/plugin/lib/get-payload-auth.d.ts.map +1 -1
  163. package/dist/better-auth/plugin/lib/get-payload-auth.js +1 -1
  164. package/dist/better-auth/plugin/lib/get-required-collection-slugs.d.ts +2 -2
  165. package/dist/better-auth/plugin/lib/get-required-collection-slugs.d.ts.map +1 -1
  166. package/dist/better-auth/plugin/lib/get-required-collection-slugs.js +7 -7
  167. package/dist/better-auth/plugin/lib/init-better-auth.d.ts +4 -4
  168. package/dist/better-auth/plugin/lib/init-better-auth.d.ts.map +1 -1
  169. package/dist/better-auth/plugin/lib/init-better-auth.js +1 -1
  170. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts +1 -1
  171. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts.map +1 -1
  172. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.js +3 -3
  173. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.js +3 -3
  174. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts +4 -4
  175. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts.map +1 -1
  176. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js +28 -12
  177. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.js +10 -11
  178. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.js +15 -16
  179. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.js +3 -3
  180. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.js +3 -3
  181. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts +1 -1
  182. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts.map +1 -1
  183. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.js +7 -6
  184. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.d.ts +1 -1
  185. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.d.ts.map +1 -1
  186. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.js +7 -6
  187. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.d.ts +10 -0
  188. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.d.ts.map +1 -0
  189. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.js +43 -0
  190. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts +4 -4
  191. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts.map +1 -1
  192. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.js +9 -4
  193. package/dist/better-auth/plugin/lib/set-login-methods.d.ts +5 -0
  194. package/dist/better-auth/plugin/lib/set-login-methods.d.ts.map +1 -0
  195. package/dist/better-auth/plugin/lib/set-login-methods.js +16 -0
  196. package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts +4 -4
  197. package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts.map +1 -1
  198. package/dist/better-auth/plugin/payload/components/admin-buttons/index.js +19 -20
  199. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts +4 -4
  200. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts.map +1 -1
  201. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.js +59 -42
  202. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.scss +7 -6
  203. package/dist/better-auth/plugin/payload/components/logout-button.d.ts +2 -3
  204. package/dist/better-auth/plugin/payload/components/logout-button.d.ts.map +1 -1
  205. package/dist/better-auth/plugin/payload/components/logout-button.js +8 -11
  206. package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts +1 -1
  207. package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts.map +1 -1
  208. package/dist/better-auth/plugin/payload/components/rsc-redirect.js +1 -1
  209. package/dist/better-auth/plugin/payload/components/social-provider-buttons/index.d.ts +14 -0
  210. package/dist/better-auth/plugin/payload/components/social-provider-buttons/index.d.ts.map +1 -0
  211. package/dist/better-auth/plugin/payload/components/social-provider-buttons/index.js +142 -0
  212. package/dist/better-auth/plugin/payload/components/{admin-social-provider-buttons → social-provider-buttons}/index.scss +4 -1
  213. package/dist/better-auth/plugin/payload/components/token-field.d.ts +2 -2
  214. package/dist/better-auth/plugin/payload/components/token-field.d.ts.map +1 -1
  215. package/dist/better-auth/plugin/payload/components/token-field.js +3 -3
  216. package/dist/better-auth/plugin/payload/exports/client.d.ts +5 -6
  217. package/dist/better-auth/plugin/payload/exports/client.d.ts.map +1 -1
  218. package/dist/better-auth/plugin/payload/exports/client.js +6 -7
  219. package/dist/better-auth/plugin/payload/exports/rsc.d.ts +6 -9
  220. package/dist/better-auth/plugin/payload/exports/rsc.d.ts.map +1 -1
  221. package/dist/better-auth/plugin/payload/exports/rsc.js +5 -8
  222. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts +1 -1
  223. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts.map +1 -1
  224. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.js +6 -5
  225. package/dist/better-auth/plugin/payload/utils/generate-metadata.d.ts +3 -3
  226. package/dist/better-auth/plugin/payload/utils/generate-metadata.d.ts.map +1 -1
  227. package/dist/better-auth/plugin/payload/utils/generate-metadata.js +18 -18
  228. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.d.ts.map +1 -1
  229. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.js +1 -1
  230. package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts +17 -0
  231. package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts.map +1 -0
  232. package/dist/better-auth/plugin/payload/views/admin-login/client.js +175 -0
  233. package/dist/better-auth/plugin/payload/views/admin-login/index.d.ts +11 -0
  234. package/dist/better-auth/plugin/payload/views/admin-login/index.d.ts.map +1 -0
  235. package/dist/better-auth/plugin/payload/views/admin-login/index.js +125 -0
  236. package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts +15 -0
  237. package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts.map +1 -0
  238. package/dist/better-auth/plugin/payload/views/admin-signup/client.js +156 -0
  239. package/dist/better-auth/plugin/payload/views/admin-signup/index.d.ts +11 -0
  240. package/dist/better-auth/plugin/payload/views/admin-signup/index.d.ts.map +1 -0
  241. package/dist/better-auth/plugin/payload/views/admin-signup/index.js +71 -0
  242. package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts +4 -7
  243. package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts.map +1 -1
  244. package/dist/better-auth/plugin/payload/views/forgot-password/client.js +70 -100
  245. package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts +6 -6
  246. package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts.map +1 -1
  247. package/dist/better-auth/plugin/payload/views/forgot-password/index.js +23 -34
  248. package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts +4 -2
  249. package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts.map +1 -1
  250. package/dist/better-auth/plugin/payload/views/reset-password/client.js +88 -53
  251. package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts +2 -2
  252. package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts.map +1 -1
  253. package/dist/better-auth/plugin/payload/views/reset-password/index.js +51 -56
  254. package/dist/better-auth/plugin/types.d.ts +58 -31
  255. package/dist/better-auth/plugin/types.d.ts.map +1 -1
  256. package/dist/better-auth/plugin/types.js +1 -1
  257. package/dist/better-auth/types.js +2 -2
  258. package/dist/clerk/admin-ui.js +4 -4
  259. package/dist/clerk/index.js +5 -5
  260. package/dist/clerk/plugin/auth-strategy.js +4 -4
  261. package/dist/clerk/plugin/collections/users/access.js +1 -1
  262. package/dist/clerk/plugin/collections/users/endpoints/sync-from-clerk.d.ts +2 -2
  263. package/dist/clerk/plugin/collections/users/endpoints/sync-from-clerk.d.ts.map +1 -1
  264. package/dist/clerk/plugin/collections/users/endpoints/sync-from-clerk.js +9 -9
  265. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/index.js +4 -4
  266. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userCreated.d.ts.map +1 -1
  267. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userCreated.js +2 -2
  268. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userDeleted.d.ts.map +1 -1
  269. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userDeleted.js +2 -2
  270. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userUpdated.d.ts.map +1 -1
  271. package/dist/clerk/plugin/collections/users/endpoints/webhook/handlers/userUpdated.js +2 -2
  272. package/dist/clerk/plugin/collections/users/endpoints/webhook/index.d.ts.map +1 -1
  273. package/dist/clerk/plugin/collections/users/endpoints/webhook/index.js +5 -4
  274. package/dist/clerk/plugin/collections/users/fields.js +1 -1
  275. package/dist/clerk/plugin/collections/users/index.d.ts +1 -1
  276. package/dist/clerk/plugin/collections/users/index.d.ts.map +1 -1
  277. package/dist/clerk/plugin/collections/users/index.js +7 -7
  278. package/dist/clerk/plugin/components/after-login-form.js +4 -4
  279. package/dist/clerk/plugin/components/logout-button.d.ts.map +1 -1
  280. package/dist/clerk/plugin/components/logout-button.js +17 -17
  281. package/dist/clerk/plugin/components/sync-clerk-users-button.d.ts +1 -1
  282. package/dist/clerk/plugin/components/sync-clerk-users-button.d.ts.map +1 -1
  283. package/dist/clerk/plugin/components/sync-clerk-users-button.js +8 -8
  284. package/dist/clerk/plugin.d.ts +4 -4
  285. package/dist/clerk/plugin.d.ts.map +1 -1
  286. package/dist/clerk/plugin.js +4 -4
  287. package/dist/clerk/types.js +1 -1
  288. package/dist/clerk/utils/clerk-user.d.ts.map +1 -1
  289. package/dist/clerk/utils/clerk-user.js +1 -1
  290. package/dist/clerk/utils/index.js +4 -4
  291. package/dist/clerk/utils/load-clerk-instance.d.ts.map +1 -1
  292. package/dist/clerk/utils/load-clerk-instance.js +2 -2
  293. package/dist/clerk/utils/svix.d.ts +1 -1
  294. package/dist/clerk/utils/svix.d.ts.map +1 -1
  295. package/dist/clerk/utils/svix.js +2 -2
  296. package/dist/clerk/utils/user.d.ts.map +1 -1
  297. package/dist/clerk/utils/user.js +1 -1
  298. package/dist/index.d.ts +4 -4
  299. package/dist/index.d.ts.map +1 -1
  300. package/dist/index.js +1 -1
  301. package/dist/kinde/index.d.ts.map +1 -1
  302. package/dist/kinde/index.js +2 -2
  303. package/dist/{better-auth/plugin/payload → shared}/components/icons.d.ts +3 -3
  304. package/dist/shared/components/icons.d.ts.map +1 -0
  305. package/dist/shared/components/icons.js +437 -0
  306. package/dist/shared/components/logo.d.ts +4 -0
  307. package/dist/shared/components/logo.d.ts.map +1 -0
  308. package/dist/shared/components/logo.js +24 -0
  309. package/dist/shared/form/components/submit.d.ts +8 -0
  310. package/dist/shared/form/components/submit.d.ts.map +1 -0
  311. package/dist/shared/form/components/submit.js +21 -0
  312. package/dist/shared/form/fields/text-field.d.ts +8 -0
  313. package/dist/shared/form/fields/text-field.d.ts.map +1 -0
  314. package/dist/shared/form/fields/text-field.js +41 -0
  315. package/dist/shared/form/index.d.ts +34 -0
  316. package/dist/shared/form/index.d.ts.map +1 -0
  317. package/dist/shared/form/index.js +17 -0
  318. package/dist/shared/form/ui/header/index.d.ts +9 -0
  319. package/dist/shared/form/ui/header/index.d.ts.map +1 -0
  320. package/dist/shared/form/ui/header/index.js +24 -0
  321. package/dist/shared/form/ui/index.d.ts +31 -0
  322. package/dist/shared/form/ui/index.d.ts.map +1 -0
  323. package/dist/shared/form/ui/index.js +57 -0
  324. package/dist/shared/form/ui/index.scss +27 -0
  325. package/dist/shared/form/validation.d.ts +103 -0
  326. package/dist/shared/form/validation.d.ts.map +1 -0
  327. package/dist/shared/form/validation.js +108 -0
  328. package/dist/shared/index.d.ts +3 -0
  329. package/dist/shared/index.d.ts.map +1 -0
  330. package/dist/shared/index.js +4 -0
  331. package/dist/shared/payload/fields/field-copy-button/index.css +47 -0
  332. package/dist/shared/payload/fields/field-copy-button/index.d.ts +4 -0
  333. package/dist/shared/payload/fields/field-copy-button/index.d.ts.map +1 -0
  334. package/dist/shared/payload/fields/field-copy-button/index.js +38 -0
  335. package/dist/shared/payload/fields/generate-uuid-button/index.css +14 -0
  336. package/dist/shared/payload/fields/generate-uuid-button/index.d.ts +4 -0
  337. package/dist/shared/payload/fields/generate-uuid-button/index.d.ts.map +1 -0
  338. package/dist/shared/payload/fields/generate-uuid-button/index.js +26 -0
  339. package/dist/shared/payload/fields/index.d.ts +3 -0
  340. package/dist/shared/payload/fields/index.d.ts.map +1 -0
  341. package/dist/shared/payload/fields/index.js +4 -0
  342. package/dist/shared/utils/regex.d.ts +3 -0
  343. package/dist/shared/utils/regex.d.ts.map +1 -0
  344. package/dist/shared/utils/regex.js +4 -0
  345. package/dist/shared/utils/try-catch.d.ts +12 -0
  346. package/dist/shared/utils/try-catch.d.ts.map +1 -0
  347. package/dist/shared/utils/try-catch.js +17 -0
  348. package/package.json +7 -5
  349. package/dist/better-auth/plugin/helpers/get-admin-routes.d.ts +0 -14
  350. package/dist/better-auth/plugin/helpers/get-admin-routes.d.ts.map +0 -1
  351. package/dist/better-auth/plugin/helpers/get-admin-routes.js +0 -6
  352. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/forgot-password.d.ts +0 -3
  353. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/forgot-password.d.ts.map +0 -1
  354. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/forgot-password.js +0 -96
  355. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/login.d.ts +0 -4
  356. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/login.d.ts.map +0 -1
  357. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/login.js +0 -115
  358. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.d.ts +0 -3
  359. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.d.ts.map +0 -1
  360. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/reset-password.js +0 -62
  361. package/dist/better-auth/plugin/lib/constants.d.ts.map +0 -1
  362. package/dist/better-auth/plugin/lib/constants.js +0 -56
  363. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.d.ts +0 -14
  364. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.d.ts.map +0 -1
  365. package/dist/better-auth/plugin/payload/components/admin-social-provider-buttons/index.js +0 -111
  366. package/dist/better-auth/plugin/payload/components/form-header/index.d.ts +0 -9
  367. package/dist/better-auth/plugin/payload/components/form-header/index.d.ts.map +0 -1
  368. package/dist/better-auth/plugin/payload/components/form-header/index.js +0 -23
  369. package/dist/better-auth/plugin/payload/components/icons.d.ts.map +0 -1
  370. package/dist/better-auth/plugin/payload/components/icons.js +0 -437
  371. package/dist/better-auth/plugin/payload/components/logo.d.ts +0 -4
  372. package/dist/better-auth/plugin/payload/components/logo.d.ts.map +0 -1
  373. package/dist/better-auth/plugin/payload/components/logo.js +0 -24
  374. package/dist/better-auth/plugin/payload/components/styles.css +0 -73
  375. package/dist/better-auth/plugin/payload/views/admin-invite/client.d.ts +0 -12
  376. package/dist/better-auth/plugin/payload/views/admin-invite/client.d.ts.map +0 -1
  377. package/dist/better-auth/plugin/payload/views/admin-invite/client.js +0 -92
  378. package/dist/better-auth/plugin/payload/views/admin-invite/index.d.ts +0 -11
  379. package/dist/better-auth/plugin/payload/views/admin-invite/index.d.ts.map +0 -1
  380. package/dist/better-auth/plugin/payload/views/admin-invite/index.js +0 -84
  381. package/dist/better-auth/plugin/payload/views/admin-invite/index.scss +0 -25
  382. package/dist/better-auth/plugin/payload/views/create-first-admin/client.d.ts +0 -14
  383. package/dist/better-auth/plugin/payload/views/create-first-admin/client.d.ts.map +0 -1
  384. package/dist/better-auth/plugin/payload/views/create-first-admin/client.js +0 -95
  385. package/dist/better-auth/plugin/payload/views/create-first-admin/index.d.ts +0 -12
  386. package/dist/better-auth/plugin/payload/views/create-first-admin/index.d.ts.map +0 -1
  387. package/dist/better-auth/plugin/payload/views/create-first-admin/index.js +0 -144
  388. package/dist/better-auth/plugin/payload/views/create-first-admin/index.scss +0 -29
  389. package/dist/better-auth/plugin/payload/views/forgot-password/index.scss +0 -0
  390. package/dist/better-auth/plugin/payload/views/inactivity/index.d.ts +0 -5
  391. package/dist/better-auth/plugin/payload/views/inactivity/index.d.ts.map +0 -1
  392. package/dist/better-auth/plugin/payload/views/inactivity/index.js +0 -12
  393. package/dist/better-auth/plugin/payload/views/login/form/fields/login-field.d.ts +0 -9
  394. package/dist/better-auth/plugin/payload/views/login/form/fields/login-field.d.ts.map +0 -1
  395. package/dist/better-auth/plugin/payload/views/login/form/fields/login-field.js +0 -54
  396. package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.d.ts +0 -1
  397. package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.d.ts.map +0 -1
  398. package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.js +0 -121
  399. package/dist/better-auth/plugin/payload/views/login/form/fields/password/index.scss +0 -31
  400. package/dist/better-auth/plugin/payload/views/login/form/fields/password/types.d.ts +0 -56
  401. package/dist/better-auth/plugin/payload/views/login/form/fields/password/types.d.ts.map +0 -1
  402. package/dist/better-auth/plugin/payload/views/login/form/fields/password/types.js +0 -3
  403. package/dist/better-auth/plugin/payload/views/login/form/index.d.ts +0 -17
  404. package/dist/better-auth/plugin/payload/views/login/form/index.d.ts.map +0 -1
  405. package/dist/better-auth/plugin/payload/views/login/form/index.js +0 -137
  406. package/dist/better-auth/plugin/payload/views/login/form/index.scss +0 -23
  407. package/dist/better-auth/plugin/payload/views/login/index.d.ts +0 -11
  408. package/dist/better-auth/plugin/payload/views/login/index.d.ts.map +0 -1
  409. package/dist/better-auth/plugin/payload/views/login/index.js +0 -98
  410. package/dist/better-auth/plugin/payload/views/login/index.scss +0 -10
  411. package/dist/better-auth/plugin/payload/views/logout/client.d.ts +0 -8
  412. package/dist/better-auth/plugin/payload/views/logout/client.d.ts.map +0 -1
  413. package/dist/better-auth/plugin/payload/views/logout/client.js +0 -76
  414. package/dist/better-auth/plugin/payload/views/logout/index.d.ts +0 -8
  415. package/dist/better-auth/plugin/payload/views/logout/index.d.ts.map +0 -1
  416. package/dist/better-auth/plugin/payload/views/logout/index.js +0 -14
  417. package/dist/better-auth/plugin/payload/views/logout/index.scss +0 -0
  418. package/dist/better-auth/plugin/payload/views/reset-password/index.scss +0 -9
  419. package/dist/better-auth/plugin/payload/views/reset-password/metadata.d.ts +0 -3
  420. package/dist/better-auth/plugin/payload/views/reset-password/metadata.d.ts.map +0 -1
  421. package/dist/better-auth/plugin/payload/views/reset-password/metadata.js +0 -11
  422. /package/dist/{better-auth/plugin/payload/components/form-header → shared/form/ui/header}/index.scss +0 -0
@@ -0,0 +1,41 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useStore } from "@tanstack/react-form";
3
+ import { useFieldContext } from "../index";
4
+ import { FieldErrors, FieldInputWrap, FormField, FormLabel } from "../ui";
5
+ export function TextField({ className, label, required = false, type = 'text', autoComplete = 'off' }) {
6
+ const field = useFieldContext();
7
+ const meta = useStore(field.store, (state)=>state.meta);
8
+ const hasError = meta.isTouched && meta.errors.length > 0;
9
+ return /*#__PURE__*/ _jsxs(FormField, {
10
+ id: field.name,
11
+ className: className,
12
+ hasError: hasError,
13
+ children: [
14
+ /*#__PURE__*/ _jsx(FormLabel, {
15
+ label: label,
16
+ htmlFor: field.name,
17
+ required: required
18
+ }),
19
+ /*#__PURE__*/ _jsxs(FieldInputWrap, {
20
+ children: [
21
+ /*#__PURE__*/ _jsx("input", {
22
+ autoComplete: autoComplete,
23
+ type: type,
24
+ id: field.name,
25
+ name: field.name,
26
+ value: field.state.value,
27
+ onChange: (e)=>field.handleChange(e.target.value),
28
+ onBlur: field.handleBlur,
29
+ required: required,
30
+ className: "text-field"
31
+ }),
32
+ /*#__PURE__*/ _jsx(FieldErrors, {
33
+ meta: meta
34
+ })
35
+ ]
36
+ })
37
+ ]
38
+ });
39
+ }
40
+
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvZm9ybS9maWVsZHMvdGV4dC1maWVsZC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RvcmUgfSBmcm9tICdAdGFuc3RhY2svcmVhY3QtZm9ybSdcbmltcG9ydCB7IHVzZUZpZWxkQ29udGV4dCB9IGZyb20gJy4uL2luZGV4J1xuaW1wb3J0IHsgRmllbGRFcnJvcnMsIEZpZWxkSW5wdXRXcmFwLCBGb3JtRmllbGQsIEZvcm1MYWJlbCB9IGZyb20gJy4uL3VpJ1xuXG5leHBvcnQgZnVuY3Rpb24gVGV4dEZpZWxkKHtcbiAgY2xhc3NOYW1lLFxuICBsYWJlbCxcbiAgcmVxdWlyZWQgPSBmYWxzZSxcbiAgdHlwZSA9ICd0ZXh0JyxcbiAgYXV0b0NvbXBsZXRlID0gJ29mZidcbn06IHtcbiAgY2xhc3NOYW1lOiBzdHJpbmdcbiAgbGFiZWw6IHN0cmluZ1xuICByZXF1aXJlZD86IGJvb2xlYW5cbiAgdHlwZT86IHN0cmluZ1xuICBhdXRvQ29tcGxldGU/OiBzdHJpbmdcbn0pIHtcbiAgY29uc3QgZmllbGQgPSB1c2VGaWVsZENvbnRleHQ8c3RyaW5nPigpXG4gIGNvbnN0IG1ldGEgPSB1c2VTdG9yZShmaWVsZC5zdG9yZSwgKHN0YXRlKSA9PiBzdGF0ZS5tZXRhKVxuXG4gIGNvbnN0IGhhc0Vycm9yID0gbWV0YS5pc1RvdWNoZWQgJiYgbWV0YS5lcnJvcnMubGVuZ3RoID4gMFxuXG4gIHJldHVybiAoXG4gICAgPEZvcm1GaWVsZCBpZD17ZmllbGQubmFtZX0gY2xhc3NOYW1lPXtjbGFzc05hbWV9IGhhc0Vycm9yPXtoYXNFcnJvcn0+XG4gICAgICA8Rm9ybUxhYmVsIGxhYmVsPXtsYWJlbH0gaHRtbEZvcj17ZmllbGQubmFtZX0gcmVxdWlyZWQ9e3JlcXVpcmVkfSAvPlxuICAgICAgPEZpZWxkSW5wdXRXcmFwPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBhdXRvQ29tcGxldGU9e2F1dG9Db21wbGV0ZX1cbiAgICAgICAgICB0eXBlPXt0eXBlfVxuICAgICAgICAgIGlkPXtmaWVsZC5uYW1lfVxuICAgICAgICAgIG5hbWU9e2ZpZWxkLm5hbWV9XG4gICAgICAgICAgdmFsdWU9e2ZpZWxkLnN0YXRlLnZhbHVlfVxuICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gZmllbGQuaGFuZGxlQ2hhbmdlKGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICBvbkJsdXI9e2ZpZWxkLmhhbmRsZUJsdXJ9XG4gICAgICAgICAgcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtZmllbGRcIlxuICAgICAgICAvPlxuICAgICAgICA8RmllbGRFcnJvcnMgbWV0YT17bWV0YX0gLz5cbiAgICAgIDwvRmllbGRJbnB1dFdyYXA+XG4gICAgPC9Gb3JtRmllbGQ+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJ1c2VTdG9yZSIsInVzZUZpZWxkQ29udGV4dCIsIkZpZWxkRXJyb3JzIiwiRmllbGRJbnB1dFdyYXAiLCJGb3JtRmllbGQiLCJGb3JtTGFiZWwiLCJUZXh0RmllbGQiLCJjbGFzc05hbWUiLCJsYWJlbCIsInJlcXVpcmVkIiwidHlwZSIsImF1dG9Db21wbGV0ZSIsImZpZWxkIiwibWV0YSIsInN0b3JlIiwic3RhdGUiLCJoYXNFcnJvciIsImlzVG91Y2hlZCIsImVycm9ycyIsImxlbmd0aCIsImlkIiwibmFtZSIsImh0bWxGb3IiLCJpbnB1dCIsInZhbHVlIiwib25DaGFuZ2UiLCJlIiwiaGFuZGxlQ2hhbmdlIiwidGFyZ2V0Iiwib25CbHVyIiwiaGFuZGxlQmx1ciJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVNBLFFBQVEsUUFBUSx1QkFBc0I7QUFDL0MsU0FBU0MsZUFBZSxRQUFRLFdBQVU7QUFDMUMsU0FBU0MsV0FBVyxFQUFFQyxjQUFjLEVBQUVDLFNBQVMsRUFBRUMsU0FBUyxRQUFRLFFBQU87QUFFekUsT0FBTyxTQUFTQyxVQUFVLEVBQ3hCQyxTQUFTLEVBQ1RDLEtBQUssRUFDTEMsV0FBVyxLQUFLLEVBQ2hCQyxPQUFPLE1BQU0sRUFDYkMsZUFBZSxLQUFLLEVBT3JCO0lBQ0MsTUFBTUMsUUFBUVg7SUFDZCxNQUFNWSxPQUFPYixTQUFTWSxNQUFNRSxLQUFLLEVBQUUsQ0FBQ0MsUUFBVUEsTUFBTUYsSUFBSTtJQUV4RCxNQUFNRyxXQUFXSCxLQUFLSSxTQUFTLElBQUlKLEtBQUtLLE1BQU0sQ0FBQ0MsTUFBTSxHQUFHO0lBRXhELHFCQUNFLE1BQUNmO1FBQVVnQixJQUFJUixNQUFNUyxJQUFJO1FBQUVkLFdBQVdBO1FBQVdTLFVBQVVBOzswQkFDekQsS0FBQ1g7Z0JBQVVHLE9BQU9BO2dCQUFPYyxTQUFTVixNQUFNUyxJQUFJO2dCQUFFWixVQUFVQTs7MEJBQ3hELE1BQUNOOztrQ0FDQyxLQUFDb0I7d0JBQ0NaLGNBQWNBO3dCQUNkRCxNQUFNQTt3QkFDTlUsSUFBSVIsTUFBTVMsSUFBSTt3QkFDZEEsTUFBTVQsTUFBTVMsSUFBSTt3QkFDaEJHLE9BQU9aLE1BQU1HLEtBQUssQ0FBQ1MsS0FBSzt3QkFDeEJDLFVBQVUsQ0FBQ0MsSUFBTWQsTUFBTWUsWUFBWSxDQUFDRCxFQUFFRSxNQUFNLENBQUNKLEtBQUs7d0JBQ2xESyxRQUFRakIsTUFBTWtCLFVBQVU7d0JBQ3hCckIsVUFBVUE7d0JBQ1ZGLFdBQVU7O2tDQUVaLEtBQUNMO3dCQUFZVyxNQUFNQTs7Ozs7O0FBSTNCIn0=
@@ -0,0 +1,34 @@
1
+ import { TextField } from './fields/text-field';
2
+ declare const fieldContext: import("react").Context<import("@tanstack/react-form").AnyFieldApi>, formContext: import("react").Context<import("@tanstack/react-form").AnyFormApi>, useFieldContext: <TData>() => import("@tanstack/react-form").FieldApi<any, string, TData, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>, useFormContext: () => import("@tanstack/react-form").ReactFormExtendedApi<Record<string, never>, any, any, any, any, any, any, any, any, any>;
3
+ declare const useAppForm: <TFormData, TOnMount extends import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined, TOnChange extends import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined, TOnChangeAsync extends import("@tanstack/react-form").FormAsyncValidateOrFn<TFormData> | undefined, TOnBlur extends import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined, TOnBlurAsync extends import("@tanstack/react-form").FormAsyncValidateOrFn<TFormData> | undefined, TOnSubmit extends import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined, TOnSubmitAsync extends import("@tanstack/react-form").FormAsyncValidateOrFn<TFormData> | undefined, TOnServer extends import("@tanstack/react-form").FormAsyncValidateOrFn<TFormData> | undefined, TSubmitMeta>(props: import("@tanstack/react-form").FormOptions<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta>) => import("@tanstack/react-form").FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta> & import("@tanstack/react-form").ReactFormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta> & NoInfer<{
4
+ readonly Submit: import("react").FC<{
5
+ label: string;
6
+ loadingLabel: string;
7
+ }>;
8
+ }> & {
9
+ AppField: import("@tanstack/react-form").FieldComponent<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta, NoInfer<{
10
+ readonly TextField: typeof TextField;
11
+ }>>;
12
+ AppForm: import("react").ComponentType<import("react").PropsWithChildren>;
13
+ }, withForm: <TFormData, TOnMount extends import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined, TOnChange extends import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined, TOnChangeAsync extends import("@tanstack/react-form").FormAsyncValidateOrFn<TFormData> | undefined, TOnBlur extends import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined, TOnBlurAsync extends import("@tanstack/react-form").FormAsyncValidateOrFn<TFormData> | undefined, TOnSubmit extends import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined, TOnSubmitAsync extends import("@tanstack/react-form").FormAsyncValidateOrFn<TFormData> | undefined, TOnServer extends import("@tanstack/react-form").FormAsyncValidateOrFn<TFormData> | undefined, TSubmitMeta, TRenderProps extends Record<string, unknown> = {}>({ render, props, }: import("@tanstack/react-form").WithFormProps<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta, {
14
+ readonly TextField: typeof TextField;
15
+ }, {
16
+ readonly Submit: import("react").FC<{
17
+ label: string;
18
+ loadingLabel: string;
19
+ }>;
20
+ }, TRenderProps>) => (props: import("react").PropsWithChildren<NoInfer<[unknown] extends [TRenderProps] ? any : TRenderProps> & {
21
+ form: import("@tanstack/react-form").FormApi<[unknown] extends [TFormData] ? any : TFormData, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnMount] ? [TOnMount] extends [TOnMount & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnMount : TOnMount, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnChange] ? [TOnChange] extends [TOnChange & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnChange : TOnChange, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnChangeAsync] ? [TOnChangeAsync] extends [TOnChangeAsync & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnChangeAsync : TOnChangeAsync, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnBlur] ? [TOnBlur] extends [TOnBlur & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnBlur : TOnBlur, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnBlurAsync] ? [TOnBlurAsync] extends [TOnBlurAsync & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnBlurAsync : TOnBlurAsync, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnSubmit] ? [TOnSubmit] extends [TOnSubmit & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnSubmit : TOnSubmit, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnSubmitAsync] ? [TOnSubmitAsync] extends [TOnSubmitAsync & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnSubmitAsync : TOnSubmitAsync, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnServer] ? [TOnServer] extends [TOnServer & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnServer : TOnServer, [unknown] extends [TSubmitMeta] ? any : TSubmitMeta> & import("@tanstack/react-form").ReactFormApi<[unknown] extends [TFormData] ? any : TFormData, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnMount] ? [TOnMount] extends [TOnMount & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnMount : TOnMount, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnChange] ? [TOnChange] extends [TOnChange & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnChange : TOnChange, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnChangeAsync] ? [TOnChangeAsync] extends [TOnChangeAsync & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnChangeAsync : TOnChangeAsync, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnBlur] ? [TOnBlur] extends [TOnBlur & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnBlur : TOnBlur, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnBlurAsync] ? [TOnBlurAsync] extends [TOnBlurAsync & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnBlurAsync : TOnBlurAsync, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnSubmit] ? [TOnSubmit] extends [TOnSubmit & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnSubmit : TOnSubmit, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnSubmitAsync] ? [TOnSubmitAsync] extends [TOnSubmitAsync & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnSubmitAsync : TOnSubmitAsync, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnServer] ? [TOnServer] extends [TOnServer & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnServer : TOnServer, [unknown] extends [TSubmitMeta] ? any : TSubmitMeta> & NoInfer<{
22
+ readonly Submit: import("react").FC<{
23
+ label: string;
24
+ loadingLabel: string;
25
+ }>;
26
+ }> & {
27
+ AppField: import("@tanstack/react-form").FieldComponent<[unknown] extends [TFormData] ? any : TFormData, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnMount] ? [TOnMount] extends [TOnMount & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnMount : TOnMount, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnChange] ? [TOnChange] extends [TOnChange & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnChange : TOnChange, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnChangeAsync] ? [TOnChangeAsync] extends [TOnChangeAsync & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnChangeAsync : TOnChangeAsync, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnBlur] ? [TOnBlur] extends [TOnBlur & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnBlur : TOnBlur, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnBlurAsync] ? [TOnBlurAsync] extends [TOnBlurAsync & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnBlurAsync : TOnBlurAsync, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnSubmit] ? [TOnSubmit] extends [TOnSubmit & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnSubmit : TOnSubmit, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnSubmitAsync] ? [TOnSubmitAsync] extends [TOnSubmitAsync & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnSubmitAsync : TOnSubmitAsync, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnServer] ? [TOnServer] extends [TOnServer & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnServer : TOnServer, [unknown] extends [TSubmitMeta] ? any : TSubmitMeta, NoInfer<{
28
+ readonly TextField: typeof TextField;
29
+ }>>;
30
+ AppForm: import("react").ComponentType<import("react").PropsWithChildren>;
31
+ };
32
+ }>) => import("react").JSX.Element;
33
+ export { useAppForm, withForm, fieldContext, formContext, useFieldContext, useFormContext };
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/form/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAG/C,QAAA,MAAQ,YAAY,uEAAE,WAAW,sEAAE,eAAe,4JAAE,cAAc,+HAA6B,CAAA;AAE/F,QAAA,MAAQ,UAAU;;;;;;;;;;GAAE,QAAQ;;;;;;;;;;;;;;;;;;;kCAS1B,CAAA;AAEF,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { createFormHookContexts, createFormHook } from "@tanstack/react-form";
2
+ import { TextField } from "./fields/text-field";
3
+ import { Submit } from "./components/submit";
4
+ const { fieldContext, formContext, useFieldContext, useFormContext } = createFormHookContexts();
5
+ const { useAppForm, withForm } = createFormHook({
6
+ fieldContext,
7
+ formContext,
8
+ fieldComponents: {
9
+ TextField
10
+ },
11
+ formComponents: {
12
+ Submit
13
+ }
14
+ });
15
+ export { useAppForm, withForm, fieldContext, formContext, useFieldContext, useFormContext };
16
+
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaGFyZWQvZm9ybS9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGb3JtSG9va0NvbnRleHRzLCBjcmVhdGVGb3JtSG9vayB9IGZyb20gJ0B0YW5zdGFjay9yZWFjdC1mb3JtJ1xuaW1wb3J0IHsgVGV4dEZpZWxkIH0gZnJvbSAnLi9maWVsZHMvdGV4dC1maWVsZCdcbmltcG9ydCB7IFN1Ym1pdCB9IGZyb20gJy4vY29tcG9uZW50cy9zdWJtaXQnXG5cbmNvbnN0IHsgZmllbGRDb250ZXh0LCBmb3JtQ29udGV4dCwgdXNlRmllbGRDb250ZXh0LCB1c2VGb3JtQ29udGV4dCB9ID0gY3JlYXRlRm9ybUhvb2tDb250ZXh0cygpXG5cbmNvbnN0IHsgdXNlQXBwRm9ybSwgd2l0aEZvcm0gfSA9IGNyZWF0ZUZvcm1Ib29rKHtcbiAgZmllbGRDb250ZXh0LFxuICBmb3JtQ29udGV4dCxcbiAgZmllbGRDb21wb25lbnRzOiB7XG4gICAgVGV4dEZpZWxkXG4gIH0sXG4gIGZvcm1Db21wb25lbnRzOiB7XG4gICAgU3VibWl0XG4gIH1cbn0pXG5cbmV4cG9ydCB7IHVzZUFwcEZvcm0sIHdpdGhGb3JtLCBmaWVsZENvbnRleHQsIGZvcm1Db250ZXh0LCB1c2VGaWVsZENvbnRleHQsIHVzZUZvcm1Db250ZXh0IH1cbiJdLCJuYW1lcyI6WyJjcmVhdGVGb3JtSG9va0NvbnRleHRzIiwiY3JlYXRlRm9ybUhvb2siLCJUZXh0RmllbGQiLCJTdWJtaXQiLCJmaWVsZENvbnRleHQiLCJmb3JtQ29udGV4dCIsInVzZUZpZWxkQ29udGV4dCIsInVzZUZvcm1Db250ZXh0IiwidXNlQXBwRm9ybSIsIndpdGhGb3JtIiwiZmllbGRDb21wb25lbnRzIiwiZm9ybUNvbXBvbmVudHMiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLHNCQUFzQixFQUFFQyxjQUFjLFFBQVEsdUJBQXNCO0FBQzdFLFNBQVNDLFNBQVMsUUFBUSxzQkFBcUI7QUFDL0MsU0FBU0MsTUFBTSxRQUFRLHNCQUFxQjtBQUU1QyxNQUFNLEVBQUVDLFlBQVksRUFBRUMsV0FBVyxFQUFFQyxlQUFlLEVBQUVDLGNBQWMsRUFBRSxHQUFHUDtBQUV2RSxNQUFNLEVBQUVRLFVBQVUsRUFBRUMsUUFBUSxFQUFFLEdBQUdSLGVBQWU7SUFDOUNHO0lBQ0FDO0lBQ0FLLGlCQUFpQjtRQUNmUjtJQUNGO0lBQ0FTLGdCQUFnQjtRQUNkUjtJQUNGO0FBQ0Y7QUFFQSxTQUFTSyxVQUFVLEVBQUVDLFFBQVEsRUFBRUwsWUFBWSxFQUFFQyxXQUFXLEVBQUVDLGVBQWUsRUFBRUMsY0FBYyxHQUFFIn0=
@@ -0,0 +1,9 @@
1
+ import React, { type ComponentPropsWithoutRef } from 'react';
2
+ import './index.scss';
3
+ type Props = ComponentPropsWithoutRef<'div'> & {
4
+ description?: React.ReactNode | string;
5
+ heading: string;
6
+ };
7
+ declare const FormHeader: React.FC<Props>;
8
+ export { FormHeader };
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared/form/ui/header/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,wBAAwB,EAAE,MAAM,OAAO,CAAA;AAE5D,OAAO,cAAc,CAAA;AAIrB,KAAK,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,GAAG;IAC7C,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAA;IACtC,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAW/B,CAAA;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import "./index.scss";
4
+ const baseClass = 'form-header';
5
+ const FormHeader = ({ description, heading, ...props })=>{
6
+ if (!heading) {
7
+ return null;
8
+ }
9
+ return /*#__PURE__*/ _jsxs("div", {
10
+ className: baseClass,
11
+ ...props,
12
+ children: [
13
+ /*#__PURE__*/ _jsx("h1", {
14
+ children: heading
15
+ }),
16
+ Boolean(description) && /*#__PURE__*/ _jsx("p", {
17
+ children: description
18
+ })
19
+ ]
20
+ });
21
+ };
22
+ export { FormHeader };
23
+
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvZm9ybS91aS9oZWFkZXIvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB0eXBlIENvbXBvbmVudFByb3BzV2l0aG91dFJlZiB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcblxuY29uc3QgYmFzZUNsYXNzID0gJ2Zvcm0taGVhZGVyJ1xuXG50eXBlIFByb3BzID0gQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPCdkaXYnPiAmIHtcbiAgZGVzY3JpcHRpb24/OiBSZWFjdC5SZWFjdE5vZGUgfCBzdHJpbmdcbiAgaGVhZGluZzogc3RyaW5nXG59XG5cbmNvbnN0IEZvcm1IZWFkZXI6IFJlYWN0LkZDPFByb3BzPiA9ICh7IGRlc2NyaXB0aW9uLCBoZWFkaW5nLCAuLi5wcm9wcyB9KSA9PiB7XG4gIGlmICghaGVhZGluZykge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtiYXNlQ2xhc3N9IHsuLi5wcm9wc30+XG4gICAgICA8aDE+e2hlYWRpbmd9PC9oMT5cbiAgICAgIHtCb29sZWFuKGRlc2NyaXB0aW9uKSAmJiA8cD57ZGVzY3JpcHRpb259PC9wPn1cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgeyBGb3JtSGVhZGVyIH1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsImJhc2VDbGFzcyIsIkZvcm1IZWFkZXIiLCJkZXNjcmlwdGlvbiIsImhlYWRpbmciLCJwcm9wcyIsImRpdiIsImNsYXNzTmFtZSIsImgxIiwiQm9vbGVhbiIsInAiXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxXQUE4QyxRQUFPO0FBRTVELE9BQU8sZUFBYztBQUVyQixNQUFNQyxZQUFZO0FBT2xCLE1BQU1DLGFBQThCLENBQUMsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUUsR0FBR0MsT0FBTztJQUNyRSxJQUFJLENBQUNELFNBQVM7UUFDWixPQUFPO0lBQ1Q7SUFFQSxxQkFDRSxNQUFDRTtRQUFJQyxXQUFXTjtRQUFZLEdBQUdJLEtBQUs7OzBCQUNsQyxLQUFDRzswQkFBSUo7O1lBQ0pLLFFBQVFOLDhCQUFnQixLQUFDTzswQkFBR1A7Ozs7QUFHbkM7QUFFQSxTQUFTRCxVQUFVLEdBQUUifQ==
@@ -0,0 +1,31 @@
1
+ import React, { type ComponentPropsWithoutRef, type ReactNode } from 'react';
2
+ import type { AnyFieldMeta } from '@tanstack/react-form';
3
+ import './index.scss';
4
+ type FormFieldProps = ComponentPropsWithoutRef<'div'> & {
5
+ hasError?: boolean;
6
+ };
7
+ declare const FormField: React.FC<FormFieldProps>;
8
+ type FormLabelProps = ComponentPropsWithoutRef<'label'> & {
9
+ label: ReactNode;
10
+ required?: boolean;
11
+ };
12
+ declare const FormLabel: React.FC<FormLabelProps>;
13
+ type FieldErrorsProps = {
14
+ meta: AnyFieldMeta;
15
+ className?: string;
16
+ };
17
+ export declare const FieldErrors: ({ meta, className }: FieldErrorsProps) => React.JSX.Element | null;
18
+ type FormErrorProps = {
19
+ errors?: string[];
20
+ className?: string;
21
+ };
22
+ declare const FormError: React.FC<FormErrorProps>;
23
+ type FormProps = ComponentPropsWithoutRef<'form'>;
24
+ declare const Form: React.FC<FormProps>;
25
+ type FormInputWrapProps = ComponentPropsWithoutRef<'div'>;
26
+ declare const FormInputWrap: React.FC<FormInputWrapProps>;
27
+ type FieldInputWrapProps = ComponentPropsWithoutRef<'div'>;
28
+ declare const FieldInputWrap: React.FC<FieldInputWrapProps>;
29
+ export type { FormFieldProps, FormLabelProps, FormErrorProps, FormProps, FormInputWrapProps };
30
+ export { FormField, FormLabel, FormError, Form, FormInputWrap, FieldInputWrap };
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared/form/ui/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,wBAAwB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAE5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGxD,OAAO,cAAc,CAAA;AAErB,KAAK,cAAc,GAAG,wBAAwB,CAAC,KAAK,CAAC,GAAG;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAIvC,CAAA;AAED,KAAK,cAAc,GAAG,wBAAwB,CAAC,OAAO,CAAC,GAAG;IACxD,KAAK,EAAE,SAAS,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAKvC,CAAA;AAED,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,YAAY,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,qBAAqB,gBAAgB,6BAShE,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAK9B,CAAA;AAEV,KAAK,SAAS,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAA;AAEjD,QAAA,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAI7B,CAAA;AAED,KAAK,kBAAkB,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAA;AAEzD,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAI/C,CAAA;AAED,KAAK,mBAAmB,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAA;AAE1D,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAIjD,CAAA;AAED,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAA;AAC7F,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE,CAAA"}
@@ -0,0 +1,57 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import clsx from "clsx";
4
+ import { Tooltip } from "@payloadcms/ui/elements/Tooltip";
5
+ import "./index.scss";
6
+ const FormField = ({ children, hasError, className, ...rest })=>/*#__PURE__*/ _jsx("div", {
7
+ className: clsx('field-type', className, {
8
+ error: hasError
9
+ }),
10
+ ...rest,
11
+ children: children
12
+ });
13
+ const FormLabel = ({ label, required = false, className, ...rest })=>/*#__PURE__*/ _jsxs("label", {
14
+ className: clsx('field-label', className),
15
+ ...rest,
16
+ children: [
17
+ label,
18
+ required && /*#__PURE__*/ _jsx("span", {
19
+ className: "required",
20
+ children: "*"
21
+ })
22
+ ]
23
+ });
24
+ export const FieldErrors = ({ meta, className })=>{
25
+ if (!meta.isTouched) return null;
26
+ const error = meta.errors.at(0)?.message || null;
27
+ return /*#__PURE__*/ _jsx(Tooltip, {
28
+ alignCaret: "right",
29
+ className: clsx('field-error', className),
30
+ show: !!error,
31
+ delay: 0,
32
+ staticPositioning: true,
33
+ children: error
34
+ });
35
+ };
36
+ const FormError = ({ errors, className })=>errors ? /*#__PURE__*/ _jsx("div", {
37
+ className: clsx('form-error', className),
38
+ children: errors.join(', ')
39
+ }) : null;
40
+ const Form = ({ children, className, ...rest })=>/*#__PURE__*/ _jsx("form", {
41
+ className: clsx('form', className),
42
+ ...rest,
43
+ children: children
44
+ });
45
+ const FormInputWrap = ({ children, className, ...rest })=>/*#__PURE__*/ _jsx("div", {
46
+ className: `${className}__inputWrap`,
47
+ ...rest,
48
+ children: children
49
+ });
50
+ const FieldInputWrap = ({ children, className, ...rest })=>/*#__PURE__*/ _jsx("div", {
51
+ className: clsx('field-type__wrap', className),
52
+ ...rest,
53
+ children: children
54
+ });
55
+ export { FormField, FormLabel, FormError, Form, FormInputWrap, FieldInputWrap };
56
+
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zaGFyZWQvZm9ybS91aS9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHR5cGUgQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmLCB0eXBlIFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcbmltcG9ydCB0eXBlIHsgQW55RmllbGRNZXRhIH0gZnJvbSAnQHRhbnN0YWNrL3JlYWN0LWZvcm0nXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHBheWxvYWRjbXMvdWkvZWxlbWVudHMvVG9vbHRpcCdcblxuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5cbnR5cGUgRm9ybUZpZWxkUHJvcHMgPSBDb21wb25lbnRQcm9wc1dpdGhvdXRSZWY8J2Rpdic+ICYge1xuICBoYXNFcnJvcj86IGJvb2xlYW5cbn1cblxuY29uc3QgRm9ybUZpZWxkOiBSZWFjdC5GQzxGb3JtRmllbGRQcm9wcz4gPSAoeyBjaGlsZHJlbiwgaGFzRXJyb3IsIGNsYXNzTmFtZSwgLi4ucmVzdCB9KSA9PiAoXG4gIDxkaXYgY2xhc3NOYW1lPXtjbHN4KCdmaWVsZC10eXBlJywgY2xhc3NOYW1lLCB7IGVycm9yOiBoYXNFcnJvciB9KX0gey4uLnJlc3R9PlxuICAgIHtjaGlsZHJlbn1cbiAgPC9kaXY+XG4pXG5cbnR5cGUgRm9ybUxhYmVsUHJvcHMgPSBDb21wb25lbnRQcm9wc1dpdGhvdXRSZWY8J2xhYmVsJz4gJiB7XG4gIGxhYmVsOiBSZWFjdE5vZGVcbiAgcmVxdWlyZWQ/OiBib29sZWFuXG59XG5cbmNvbnN0IEZvcm1MYWJlbDogUmVhY3QuRkM8Rm9ybUxhYmVsUHJvcHM+ID0gKHsgbGFiZWwsIHJlcXVpcmVkID0gZmFsc2UsIGNsYXNzTmFtZSwgLi4ucmVzdCB9KSA9PiAoXG4gIDxsYWJlbCBjbGFzc05hbWU9e2Nsc3goJ2ZpZWxkLWxhYmVsJywgY2xhc3NOYW1lKX0gey4uLnJlc3R9PlxuICAgIHtsYWJlbH1cbiAgICB7cmVxdWlyZWQgJiYgPHNwYW4gY2xhc3NOYW1lPVwicmVxdWlyZWRcIj4qPC9zcGFuPn1cbiAgPC9sYWJlbD5cbilcblxudHlwZSBGaWVsZEVycm9yc1Byb3BzID0ge1xuICBtZXRhOiBBbnlGaWVsZE1ldGFcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCBGaWVsZEVycm9ycyA9ICh7IG1ldGEsIGNsYXNzTmFtZSB9OiBGaWVsZEVycm9yc1Byb3BzKSA9PiB7XG4gIGlmICghbWV0YS5pc1RvdWNoZWQpIHJldHVybiBudWxsXG4gIGNvbnN0IGVycm9yID0gbWV0YS5lcnJvcnMuYXQoMCk/Lm1lc3NhZ2UgfHwgbnVsbFxuXG4gIHJldHVybiAoXG4gICAgPFRvb2x0aXAgYWxpZ25DYXJldD1cInJpZ2h0XCIgY2xhc3NOYW1lPXtjbHN4KCdmaWVsZC1lcnJvcicsIGNsYXNzTmFtZSl9IHNob3c9eyEhZXJyb3J9IGRlbGF5PXswfSBzdGF0aWNQb3NpdGlvbmluZz5cbiAgICAgIHtlcnJvcn1cbiAgICA8L1Rvb2x0aXA+XG4gIClcbn1cblxudHlwZSBGb3JtRXJyb3JQcm9wcyA9IHtcbiAgZXJyb3JzPzogc3RyaW5nW11cbiAgY2xhc3NOYW1lPzogc3RyaW5nXG59XG5cbmNvbnN0IEZvcm1FcnJvcjogUmVhY3QuRkM8Rm9ybUVycm9yUHJvcHM+ID0gKHsgZXJyb3JzLCBjbGFzc05hbWUgfSkgPT5cbiAgZXJyb3JzID8gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjbHN4KCdmb3JtLWVycm9yJywgY2xhc3NOYW1lKX0+XG4gICAgICB7ZXJyb3JzLmpvaW4oJywgJyl9XG4gICAgPC9kaXY+XG4gICkgOiBudWxsXG5cbnR5cGUgRm9ybVByb3BzID0gQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPCdmb3JtJz5cblxuY29uc3QgRm9ybTogUmVhY3QuRkM8Rm9ybVByb3BzPiA9ICh7IGNoaWxkcmVuLCBjbGFzc05hbWUsIC4uLnJlc3QgfSkgPT4gKFxuICA8Zm9ybSBjbGFzc05hbWU9e2Nsc3goJ2Zvcm0nLCBjbGFzc05hbWUpfSB7Li4ucmVzdH0+XG4gICAge2NoaWxkcmVufVxuICA8L2Zvcm0+XG4pXG5cbnR5cGUgRm9ybUlucHV0V3JhcFByb3BzID0gQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPCdkaXYnPlxuXG5jb25zdCBGb3JtSW5wdXRXcmFwOiBSZWFjdC5GQzxGb3JtSW5wdXRXcmFwUHJvcHM+ID0gKHsgY2hpbGRyZW4sIGNsYXNzTmFtZSwgLi4ucmVzdCB9KSA9PiAoXG4gIDxkaXYgY2xhc3NOYW1lPXtgJHtjbGFzc05hbWV9X19pbnB1dFdyYXBgfSB7Li4ucmVzdH0+XG4gICAge2NoaWxkcmVufVxuICA8L2Rpdj5cbilcblxudHlwZSBGaWVsZElucHV0V3JhcFByb3BzID0gQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPCdkaXYnPlxuXG5jb25zdCBGaWVsZElucHV0V3JhcDogUmVhY3QuRkM8RmllbGRJbnB1dFdyYXBQcm9wcz4gPSAoeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCAuLi5yZXN0IH0pID0+IChcbiAgPGRpdiBjbGFzc05hbWU9e2Nsc3goJ2ZpZWxkLXR5cGVfX3dyYXAnLCBjbGFzc05hbWUpfSB7Li4ucmVzdH0+XG4gICAge2NoaWxkcmVufVxuICA8L2Rpdj5cbilcblxuZXhwb3J0IHR5cGUgeyBGb3JtRmllbGRQcm9wcywgRm9ybUxhYmVsUHJvcHMsIEZvcm1FcnJvclByb3BzLCBGb3JtUHJvcHMsIEZvcm1JbnB1dFdyYXBQcm9wcyB9XG5leHBvcnQgeyBGb3JtRmllbGQsIEZvcm1MYWJlbCwgRm9ybUVycm9yLCBGb3JtLCBGb3JtSW5wdXRXcmFwLCBGaWVsZElucHV0V3JhcCB9XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJjbHN4IiwiVG9vbHRpcCIsIkZvcm1GaWVsZCIsImNoaWxkcmVuIiwiaGFzRXJyb3IiLCJjbGFzc05hbWUiLCJyZXN0IiwiZGl2IiwiZXJyb3IiLCJGb3JtTGFiZWwiLCJsYWJlbCIsInJlcXVpcmVkIiwic3BhbiIsIkZpZWxkRXJyb3JzIiwibWV0YSIsImlzVG91Y2hlZCIsImVycm9ycyIsImF0IiwibWVzc2FnZSIsImFsaWduQ2FyZXQiLCJzaG93IiwiZGVsYXkiLCJzdGF0aWNQb3NpdGlvbmluZyIsIkZvcm1FcnJvciIsImpvaW4iLCJGb3JtIiwiZm9ybSIsIkZvcm1JbnB1dFdyYXAiLCJGaWVsZElucHV0V3JhcCJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLFdBQThELFFBQU87QUFDNUUsT0FBT0MsVUFBVSxPQUFNO0FBRXZCLFNBQVNDLE9BQU8sUUFBUSxrQ0FBaUM7QUFFekQsT0FBTyxlQUFjO0FBTXJCLE1BQU1DLFlBQXNDLENBQUMsRUFBRUMsUUFBUSxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsRUFBRSxHQUFHQyxNQUFNLGlCQUNyRixLQUFDQztRQUFJRixXQUFXTCxLQUFLLGNBQWNLLFdBQVc7WUFBRUcsT0FBT0o7UUFBUztRQUFLLEdBQUdFLElBQUk7a0JBQ3pFSDs7QUFTTCxNQUFNTSxZQUFzQyxDQUFDLEVBQUVDLEtBQUssRUFBRUMsV0FBVyxLQUFLLEVBQUVOLFNBQVMsRUFBRSxHQUFHQyxNQUFNLGlCQUMxRixNQUFDSTtRQUFNTCxXQUFXTCxLQUFLLGVBQWVLO1FBQWEsR0FBR0MsSUFBSTs7WUFDdkRJO1lBQ0FDLDBCQUFZLEtBQUNDO2dCQUFLUCxXQUFVOzBCQUFXOzs7O0FBUzVDLE9BQU8sTUFBTVEsY0FBYyxDQUFDLEVBQUVDLElBQUksRUFBRVQsU0FBUyxFQUFvQjtJQUMvRCxJQUFJLENBQUNTLEtBQUtDLFNBQVMsRUFBRSxPQUFPO0lBQzVCLE1BQU1QLFFBQVFNLEtBQUtFLE1BQU0sQ0FBQ0MsRUFBRSxDQUFDLElBQUlDLFdBQVc7SUFFNUMscUJBQ0UsS0FBQ2pCO1FBQVFrQixZQUFXO1FBQVFkLFdBQVdMLEtBQUssZUFBZUs7UUFBWWUsTUFBTSxDQUFDLENBQUNaO1FBQU9hLE9BQU87UUFBR0MsaUJBQWlCO2tCQUM5R2Q7O0FBR1AsRUFBQztBQU9ELE1BQU1lLFlBQXNDLENBQUMsRUFBRVAsTUFBTSxFQUFFWCxTQUFTLEVBQUUsR0FDaEVXLHVCQUNFLEtBQUNUO1FBQUlGLFdBQVdMLEtBQUssY0FBY0s7a0JBQ2hDVyxPQUFPUSxJQUFJLENBQUM7U0FFYjtBQUlOLE1BQU1DLE9BQTRCLENBQUMsRUFBRXRCLFFBQVEsRUFBRUUsU0FBUyxFQUFFLEdBQUdDLE1BQU0saUJBQ2pFLEtBQUNvQjtRQUFLckIsV0FBV0wsS0FBSyxRQUFRSztRQUFhLEdBQUdDLElBQUk7a0JBQy9DSDs7QUFNTCxNQUFNd0IsZ0JBQThDLENBQUMsRUFBRXhCLFFBQVEsRUFBRUUsU0FBUyxFQUFFLEdBQUdDLE1BQU0saUJBQ25GLEtBQUNDO1FBQUlGLFdBQVcsR0FBR0EsVUFBVSxXQUFXLENBQUM7UUFBRyxHQUFHQyxJQUFJO2tCQUNoREg7O0FBTUwsTUFBTXlCLGlCQUFnRCxDQUFDLEVBQUV6QixRQUFRLEVBQUVFLFNBQVMsRUFBRSxHQUFHQyxNQUFNLGlCQUNyRixLQUFDQztRQUFJRixXQUFXTCxLQUFLLG9CQUFvQks7UUFBYSxHQUFHQyxJQUFJO2tCQUMxREg7O0FBS0wsU0FBU0QsU0FBUyxFQUFFTyxTQUFTLEVBQUVjLFNBQVMsRUFBRUUsSUFBSSxFQUFFRSxhQUFhLEVBQUVDLGNBQWMsR0FBRSJ9
@@ -0,0 +1,27 @@
1
+ .field-error {
2
+ display: block;
3
+ }
4
+
5
+ .field-error-message {
6
+ margin-top: 6px;
7
+ color: var(--theme-error-950);
8
+ background-color: var(--theme-error-300);
9
+ border-radius: 2px;
10
+ padding: 4px 8px;
11
+ line-height: 15px;
12
+ }
13
+
14
+ html[data-theme="light"] .form-error {
15
+ background-color: var(--theme-error-200);
16
+ color: black;
17
+ }
18
+
19
+ .form-error {
20
+ display: block;
21
+ color: var(--theme-error-950);
22
+ background-color: var(--theme-error-300);
23
+ color: white;
24
+ border-radius: var(--style-radius-s);
25
+ padding: 10px 15px;
26
+ margin-bottom: 1.2rem;
27
+ }
@@ -0,0 +1,103 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Minimal translation function type extracted from `i18next`.
4
+ * Accepts a key and returns the translated string.
5
+ */
6
+ export type Translate = (...args: any[]) => string;
7
+ export declare const emailField: ({ t, required }: {
8
+ t: Translate;
9
+ required?: boolean;
10
+ }) => z.ZodEffects<z.ZodString, string, string>;
11
+ export declare const usernameField: ({ t, required, minLength, maxLength }: {
12
+ t: Translate;
13
+ required?: boolean;
14
+ minLength?: number;
15
+ maxLength?: number;
16
+ }) => z.ZodEffects<z.ZodString, string, string>;
17
+ export declare const passwordField: ({ t, required, minLength }: {
18
+ t: Translate;
19
+ required?: boolean;
20
+ minLength?: number;
21
+ }) => z.ZodString;
22
+ export declare const confirmPasswordField: ({ t, required }: {
23
+ t: Translate;
24
+ required?: boolean;
25
+ }) => z.ZodString;
26
+ /**
27
+ * Returns a Zod object schema with `password` and `confirmPassword` fields
28
+ * and a refinement that ensures they match.
29
+ */
30
+ export declare const passwordWithConfirmation: ({ t, minLength }: {
31
+ t: Translate;
32
+ minLength?: number;
33
+ }) => z.ZodEffects<z.ZodObject<{
34
+ password: z.ZodString;
35
+ confirmPassword: z.ZodString;
36
+ }, "strip", z.ZodTypeAny, {
37
+ password: string;
38
+ confirmPassword: string;
39
+ }, {
40
+ password: string;
41
+ confirmPassword: string;
42
+ }>, {
43
+ password: string;
44
+ confirmPassword: string;
45
+ }, {
46
+ password: string;
47
+ confirmPassword: string;
48
+ }>;
49
+ export declare const isValidEmail: (val: string) => boolean;
50
+ export declare const isValidUsername: (val: string, { minLength, maxLength }?: {
51
+ minLength?: number;
52
+ maxLength?: number;
53
+ }) => boolean;
54
+ type UsernameSettings = {
55
+ minLength: number;
56
+ maxLength: number;
57
+ };
58
+ export declare const createLoginSchema: ({ t, loginType, canLoginWithUsername, usernameSettings }: {
59
+ t: Translate;
60
+ loginType: "email" | "username" | "emailOrUsername";
61
+ canLoginWithUsername?: boolean;
62
+ usernameSettings?: UsernameSettings;
63
+ }) => z.ZodObject<{
64
+ login: z.ZodEffects<z.ZodString, string, string>;
65
+ password: z.ZodString;
66
+ }, "strip", z.ZodTypeAny, {
67
+ password: string;
68
+ login: string;
69
+ }, {
70
+ password: string;
71
+ login: string;
72
+ }>;
73
+ export declare const createSignupSchema: ({ t, requireUsername }: {
74
+ t: Translate;
75
+ requireUsername?: boolean;
76
+ }) => z.ZodEffects<z.ZodObject<{
77
+ email: z.ZodEffects<z.ZodString, string, string>;
78
+ username: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
79
+ password: z.ZodString;
80
+ confirmPassword: z.ZodString;
81
+ }, "strip", z.ZodTypeAny, {
82
+ email: string;
83
+ password: string;
84
+ confirmPassword: string;
85
+ username?: string | undefined;
86
+ }, {
87
+ email: string;
88
+ password: string;
89
+ confirmPassword: string;
90
+ username?: string | undefined;
91
+ }>, {
92
+ email: string;
93
+ password: string;
94
+ confirmPassword: string;
95
+ username?: string | undefined;
96
+ }, {
97
+ email: string;
98
+ password: string;
99
+ confirmPassword: string;
100
+ username?: string | undefined;
101
+ }>;
102
+ export {};
103
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/shared/form/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAQvB;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAA;AAMlD,eAAO,MAAM,UAAU,GAAI,iBAAwB;IAAE,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,8CAMtF,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,uCAK3B;IACD,CAAC,EAAE,SAAS,CAAA;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,8CAMA,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,4BAAuC;IAAE,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,gBAI5H,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,iBAAwB;IAAE,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,gBAIhG,CAAA;AAMD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GAAI,kBAAsB;IAAE,CAAC,EAAE,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;EAS7F,CAAA;AAMN,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,YAAyB,CAAA;AACjE,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,EAAE,2BAAoC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,YACjD,CAAA;AAM/E,KAAK,gBAAgB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhE,eAAO,MAAM,iBAAiB,GAAI,0DAK/B;IACD,CAAC,EAAE,SAAS,CAAA;IACZ,SAAS,EAAE,OAAO,GAAG,UAAU,GAAG,iBAAiB,CAAA;IACnD,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CACpC;;;;;;;;;EA8BG,CAAA;AAEJ,eAAO,MAAM,kBAAkB,GAAI,wBAAgC;IAAE,CAAC,EAAE,SAAS,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;EAWxG,CAAA"}
@@ -0,0 +1,108 @@
1
+ import { z } from "zod";
2
+ import { emailRegex, usernameRegex } from "../utils/regex";
3
+ // ---------------------------------------------------------------------------
4
+ // Field builders
5
+ // ---------------------------------------------------------------------------
6
+ export const emailField = ({ t, required = true })=>{
7
+ let schema = z.string();
8
+ if (required) schema = schema.min(1, t('validation:required'));
9
+ return schema.refine((val)=>emailRegex.test(val), {
10
+ message: t('authentication:emailNotValid') || 'Email is not valid'
11
+ });
12
+ };
13
+ export const usernameField = ({ t, required = true, minLength = 5, maxLength = 128 })=>{
14
+ let schema = z.string();
15
+ if (required) schema = schema.min(1, t('validation:required'));
16
+ return schema.refine((val)=>usernameRegex.test(val) && val.length >= minLength && val.length <= maxLength, {
17
+ message: t('authentication:usernameNotValid') || 'Username is not valid'
18
+ });
19
+ };
20
+ export const passwordField = ({ t, required = true, minLength = 1 })=>{
21
+ let schema = z.string();
22
+ if (required) schema = schema.min(minLength, t('validation:required') || 'Password is required');
23
+ return schema;
24
+ };
25
+ export const confirmPasswordField = ({ t, required = true })=>{
26
+ let schema = z.string();
27
+ if (required) schema = schema.min(1, t('validation:required') || 'Confirm password is required');
28
+ return schema;
29
+ };
30
+ // ---------------------------------------------------------------------------
31
+ // Composables
32
+ // ---------------------------------------------------------------------------
33
+ /**
34
+ * Returns a Zod object schema with `password` and `confirmPassword` fields
35
+ * and a refinement that ensures they match.
36
+ */ export const passwordWithConfirmation = ({ t, minLength = 1 })=>z.object({
37
+ password: passwordField({
38
+ t,
39
+ minLength
40
+ }),
41
+ confirmPassword: confirmPasswordField({
42
+ t
43
+ })
44
+ }).refine((data)=>data.password === data.confirmPassword, {
45
+ path: [
46
+ 'confirmPassword'
47
+ ],
48
+ message: t('fields:passwordsDoNotMatch') || 'Passwords do not match'
49
+ });
50
+ // ---------------------------------------------------------------------------
51
+ // Utility validators (non‑Zod) — handy for dynamic login field checks
52
+ // ---------------------------------------------------------------------------
53
+ export const isValidEmail = (val)=>emailRegex.test(val);
54
+ export const isValidUsername = (val, { minLength = 5, maxLength = 128 } = {})=>usernameRegex.test(val) && val.length >= minLength && val.length <= maxLength;
55
+ export const createLoginSchema = ({ t, loginType, canLoginWithUsername = false, usernameSettings = {
56
+ minLength: 5,
57
+ maxLength: 128
58
+ } })=>z.object({
59
+ login: z.string().refine((val)=>{
60
+ if (!val) return false;
61
+ if (loginType === 'email') return isValidEmail(val);
62
+ if (loginType === 'username') return isValidUsername(val, usernameSettings);
63
+ return isValidEmail(val) || isValidUsername(val, usernameSettings);
64
+ }, (val)=>{
65
+ if (!val) return {
66
+ message: t('validation:required')
67
+ };
68
+ const isProbablyEmail = val.includes('@') || !canLoginWithUsername;
69
+ if (loginType === 'email') {
70
+ return {
71
+ message: t('authentication:emailNotValid') || 'Email is not valid'
72
+ };
73
+ }
74
+ if (loginType === 'username') {
75
+ return {
76
+ message: t('authentication:usernameNotValid') || 'Username is not valid'
77
+ };
78
+ }
79
+ return {
80
+ message: isProbablyEmail ? t('authentication:emailNotValid') || 'Email is not valid' : t('authentication:usernameNotValid') || 'Username is not valid'
81
+ };
82
+ }),
83
+ password: passwordField({
84
+ t
85
+ })
86
+ });
87
+ export const createSignupSchema = ({ t, requireUsername = false })=>z.object({
88
+ email: emailField({
89
+ t
90
+ }),
91
+ username: usernameField({
92
+ t,
93
+ required: requireUsername
94
+ }).optional(),
95
+ password: passwordField({
96
+ t
97
+ }),
98
+ confirmPassword: confirmPasswordField({
99
+ t
100
+ })
101
+ }).refine((data)=>data.password === data.confirmPassword, {
102
+ path: [
103
+ 'confirmPassword'
104
+ ],
105
+ message: t('fields:passwordsDoNotMatch') || 'Passwords do not match'
106
+ });
107
+
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaGFyZWQvZm9ybS92YWxpZGF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHogfSBmcm9tICd6b2QnXG5cbmltcG9ydCB7IGVtYWlsUmVnZXgsIHVzZXJuYW1lUmVnZXggfSBmcm9tICdAL3NoYXJlZC91dGlscy9yZWdleCdcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUeXBlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qKlxuICogTWluaW1hbCB0cmFuc2xhdGlvbiBmdW5jdGlvbiB0eXBlIGV4dHJhY3RlZCBmcm9tIGBpMThuZXh0YC5cbiAqIEFjY2VwdHMgYSBrZXkgYW5kIHJldHVybnMgdGhlIHRyYW5zbGF0ZWQgc3RyaW5nLlxuICovXG5leHBvcnQgdHlwZSBUcmFuc2xhdGUgPSAoLi4uYXJnczogYW55W10pID0+IHN0cmluZ1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZpZWxkIGJ1aWxkZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuZXhwb3J0IGNvbnN0IGVtYWlsRmllbGQgPSAoeyB0LCByZXF1aXJlZCA9IHRydWUgfTogeyB0OiBUcmFuc2xhdGU7IHJlcXVpcmVkPzogYm9vbGVhbiB9KSA9PiB7XG4gIGxldCBzY2hlbWEgPSB6LnN0cmluZygpXG4gIGlmIChyZXF1aXJlZCkgc2NoZW1hID0gc2NoZW1hLm1pbigxLCB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJykpXG4gIHJldHVybiBzY2hlbWEucmVmaW5lKCh2YWwpID0+IGVtYWlsUmVnZXgudGVzdCh2YWwpLCB7XG4gICAgbWVzc2FnZTogdCgnYXV0aGVudGljYXRpb246ZW1haWxOb3RWYWxpZCcpIHx8ICdFbWFpbCBpcyBub3QgdmFsaWQnXG4gIH0pXG59XG5cbmV4cG9ydCBjb25zdCB1c2VybmFtZUZpZWxkID0gKHtcbiAgdCxcbiAgcmVxdWlyZWQgPSB0cnVlLFxuICBtaW5MZW5ndGggPSA1LFxuICBtYXhMZW5ndGggPSAxMjhcbn06IHtcbiAgdDogVHJhbnNsYXRlXG4gIHJlcXVpcmVkPzogYm9vbGVhblxuICBtaW5MZW5ndGg/OiBudW1iZXJcbiAgbWF4TGVuZ3RoPzogbnVtYmVyXG59KSA9PiB7XG4gIGxldCBzY2hlbWEgPSB6LnN0cmluZygpXG4gIGlmIChyZXF1aXJlZCkgc2NoZW1hID0gc2NoZW1hLm1pbigxLCB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJykpXG4gIHJldHVybiBzY2hlbWEucmVmaW5lKCh2YWwpID0+IHVzZXJuYW1lUmVnZXgudGVzdCh2YWwpICYmIHZhbC5sZW5ndGggPj0gbWluTGVuZ3RoICYmIHZhbC5sZW5ndGggPD0gbWF4TGVuZ3RoLCB7XG4gICAgbWVzc2FnZTogdCgnYXV0aGVudGljYXRpb246dXNlcm5hbWVOb3RWYWxpZCcpIHx8ICdVc2VybmFtZSBpcyBub3QgdmFsaWQnXG4gIH0pXG59XG5cbmV4cG9ydCBjb25zdCBwYXNzd29yZEZpZWxkID0gKHsgdCwgcmVxdWlyZWQgPSB0cnVlLCBtaW5MZW5ndGggPSAxIH06IHsgdDogVHJhbnNsYXRlOyByZXF1aXJlZD86IGJvb2xlYW47IG1pbkxlbmd0aD86IG51bWJlciB9KSA9PiB7XG4gIGxldCBzY2hlbWEgPSB6LnN0cmluZygpXG4gIGlmIChyZXF1aXJlZCkgc2NoZW1hID0gc2NoZW1hLm1pbihtaW5MZW5ndGgsIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKSB8fCAnUGFzc3dvcmQgaXMgcmVxdWlyZWQnKVxuICByZXR1cm4gc2NoZW1hXG59XG5cbmV4cG9ydCBjb25zdCBjb25maXJtUGFzc3dvcmRGaWVsZCA9ICh7IHQsIHJlcXVpcmVkID0gdHJ1ZSB9OiB7IHQ6IFRyYW5zbGF0ZTsgcmVxdWlyZWQ/OiBib29sZWFuIH0pID0+IHtcbiAgbGV0IHNjaGVtYSA9IHouc3RyaW5nKClcbiAgaWYgKHJlcXVpcmVkKSBzY2hlbWEgPSBzY2hlbWEubWluKDEsIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKSB8fCAnQ29uZmlybSBwYXNzd29yZCBpcyByZXF1aXJlZCcpXG4gIHJldHVybiBzY2hlbWFcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb21wb3NhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qKlxuICogUmV0dXJucyBhIFpvZCBvYmplY3Qgc2NoZW1hIHdpdGggYHBhc3N3b3JkYCBhbmQgYGNvbmZpcm1QYXNzd29yZGAgZmllbGRzXG4gKiBhbmQgYSByZWZpbmVtZW50IHRoYXQgZW5zdXJlcyB0aGV5IG1hdGNoLlxuICovXG5leHBvcnQgY29uc3QgcGFzc3dvcmRXaXRoQ29uZmlybWF0aW9uID0gKHsgdCwgbWluTGVuZ3RoID0gMSB9OiB7IHQ6IFRyYW5zbGF0ZTsgbWluTGVuZ3RoPzogbnVtYmVyIH0pID0+XG4gIHpcbiAgICAub2JqZWN0KHtcbiAgICAgIHBhc3N3b3JkOiBwYXNzd29yZEZpZWxkKHsgdCwgbWluTGVuZ3RoIH0pLFxuICAgICAgY29uZmlybVBhc3N3b3JkOiBjb25maXJtUGFzc3dvcmRGaWVsZCh7IHQgfSlcbiAgICB9KVxuICAgIC5yZWZpbmUoKGRhdGEpID0+IGRhdGEucGFzc3dvcmQgPT09IGRhdGEuY29uZmlybVBhc3N3b3JkLCB7XG4gICAgICBwYXRoOiBbJ2NvbmZpcm1QYXNzd29yZCddLFxuICAgICAgbWVzc2FnZTogdCgnZmllbGRzOnBhc3N3b3Jkc0RvTm90TWF0Y2gnKSB8fCAnUGFzc3dvcmRzIGRvIG5vdCBtYXRjaCdcbiAgICB9KVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFV0aWxpdHkgdmFsaWRhdG9ycyAobm9u4oCRWm9kKSDigJQgaGFuZHkgZm9yIGR5bmFtaWMgbG9naW4gZmllbGQgY2hlY2tzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRFbWFpbCA9ICh2YWw6IHN0cmluZykgPT4gZW1haWxSZWdleC50ZXN0KHZhbClcbmV4cG9ydCBjb25zdCBpc1ZhbGlkVXNlcm5hbWUgPSAodmFsOiBzdHJpbmcsIHsgbWluTGVuZ3RoID0gNSwgbWF4TGVuZ3RoID0gMTI4IH06IHsgbWluTGVuZ3RoPzogbnVtYmVyOyBtYXhMZW5ndGg/OiBudW1iZXIgfSA9IHt9KSA9PlxuICB1c2VybmFtZVJlZ2V4LnRlc3QodmFsKSAmJiB2YWwubGVuZ3RoID49IG1pbkxlbmd0aCAmJiB2YWwubGVuZ3RoIDw9IG1heExlbmd0aFxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNjaGVtYSBidWlsZGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnR5cGUgVXNlcm5hbWVTZXR0aW5ncyA9IHsgbWluTGVuZ3RoOiBudW1iZXI7IG1heExlbmd0aDogbnVtYmVyIH1cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUxvZ2luU2NoZW1hID0gKHtcbiAgdCxcbiAgbG9naW5UeXBlLFxuICBjYW5Mb2dpbldpdGhVc2VybmFtZSA9IGZhbHNlLFxuICB1c2VybmFtZVNldHRpbmdzID0geyBtaW5MZW5ndGg6IDUsIG1heExlbmd0aDogMTI4IH1cbn06IHtcbiAgdDogVHJhbnNsYXRlXG4gIGxvZ2luVHlwZTogJ2VtYWlsJyB8ICd1c2VybmFtZScgfCAnZW1haWxPclVzZXJuYW1lJ1xuICBjYW5Mb2dpbldpdGhVc2VybmFtZT86IGJvb2xlYW5cbiAgdXNlcm5hbWVTZXR0aW5ncz86IFVzZXJuYW1lU2V0dGluZ3Ncbn0pID0+XG4gIHoub2JqZWN0KHtcbiAgICBsb2dpbjogei5zdHJpbmcoKS5yZWZpbmUoXG4gICAgICAodmFsKSA9PiB7XG4gICAgICAgIGlmICghdmFsKSByZXR1cm4gZmFsc2VcbiAgICAgICAgaWYgKGxvZ2luVHlwZSA9PT0gJ2VtYWlsJykgcmV0dXJuIGlzVmFsaWRFbWFpbCh2YWwpXG4gICAgICAgIGlmIChsb2dpblR5cGUgPT09ICd1c2VybmFtZScpIHJldHVybiBpc1ZhbGlkVXNlcm5hbWUodmFsLCB1c2VybmFtZVNldHRpbmdzKVxuICAgICAgICByZXR1cm4gaXNWYWxpZEVtYWlsKHZhbCkgfHwgaXNWYWxpZFVzZXJuYW1lKHZhbCwgdXNlcm5hbWVTZXR0aW5ncylcbiAgICAgIH0sXG4gICAgICAodmFsKSA9PiB7XG4gICAgICAgIGlmICghdmFsKSByZXR1cm4geyBtZXNzYWdlOiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJykgfVxuXG4gICAgICAgIGNvbnN0IGlzUHJvYmFibHlFbWFpbCA9IHZhbC5pbmNsdWRlcygnQCcpIHx8ICFjYW5Mb2dpbldpdGhVc2VybmFtZVxuXG4gICAgICAgIGlmIChsb2dpblR5cGUgPT09ICdlbWFpbCcpIHtcbiAgICAgICAgICByZXR1cm4geyBtZXNzYWdlOiB0KCdhdXRoZW50aWNhdGlvbjplbWFpbE5vdFZhbGlkJykgfHwgJ0VtYWlsIGlzIG5vdCB2YWxpZCcgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxvZ2luVHlwZSA9PT0gJ3VzZXJuYW1lJykge1xuICAgICAgICAgIHJldHVybiB7IG1lc3NhZ2U6IHQoJ2F1dGhlbnRpY2F0aW9uOnVzZXJuYW1lTm90VmFsaWQnKSB8fCAnVXNlcm5hbWUgaXMgbm90IHZhbGlkJyB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG1lc3NhZ2U6IGlzUHJvYmFibHlFbWFpbFxuICAgICAgICAgICAgPyB0KCdhdXRoZW50aWNhdGlvbjplbWFpbE5vdFZhbGlkJykgfHwgJ0VtYWlsIGlzIG5vdCB2YWxpZCdcbiAgICAgICAgICAgIDogdCgnYXV0aGVudGljYXRpb246dXNlcm5hbWVOb3RWYWxpZCcpIHx8ICdVc2VybmFtZSBpcyBub3QgdmFsaWQnXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApLFxuICAgIHBhc3N3b3JkOiBwYXNzd29yZEZpZWxkKHsgdCB9KVxuICB9KVxuXG5leHBvcnQgY29uc3QgY3JlYXRlU2lnbnVwU2NoZW1hID0gKHsgdCwgcmVxdWlyZVVzZXJuYW1lID0gZmFsc2UgfTogeyB0OiBUcmFuc2xhdGU7IHJlcXVpcmVVc2VybmFtZT86IGJvb2xlYW4gfSkgPT5cbiAgelxuICAgIC5vYmplY3Qoe1xuICAgICAgZW1haWw6IGVtYWlsRmllbGQoeyB0IH0pLFxuICAgICAgdXNlcm5hbWU6IHVzZXJuYW1lRmllbGQoeyB0LCByZXF1aXJlZDogcmVxdWlyZVVzZXJuYW1lIH0pLm9wdGlvbmFsKCksXG4gICAgICBwYXNzd29yZDogcGFzc3dvcmRGaWVsZCh7IHQgfSksXG4gICAgICBjb25maXJtUGFzc3dvcmQ6IGNvbmZpcm1QYXNzd29yZEZpZWxkKHsgdCB9KVxuICAgIH0pXG4gICAgLnJlZmluZSgoZGF0YSkgPT4gZGF0YS5wYXNzd29yZCA9PT0gZGF0YS5jb25maXJtUGFzc3dvcmQsIHtcbiAgICAgIHBhdGg6IFsnY29uZmlybVBhc3N3b3JkJ10sXG4gICAgICBtZXNzYWdlOiB0KCdmaWVsZHM6cGFzc3dvcmRzRG9Ob3RNYXRjaCcpIHx8ICdQYXNzd29yZHMgZG8gbm90IG1hdGNoJ1xuICAgIH0pXG4iXSwibmFtZXMiOlsieiIsImVtYWlsUmVnZXgiLCJ1c2VybmFtZVJlZ2V4IiwiZW1haWxGaWVsZCIsInQiLCJyZXF1aXJlZCIsInNjaGVtYSIsInN0cmluZyIsIm1pbiIsInJlZmluZSIsInZhbCIsInRlc3QiLCJtZXNzYWdlIiwidXNlcm5hbWVGaWVsZCIsIm1pbkxlbmd0aCIsIm1heExlbmd0aCIsImxlbmd0aCIsInBhc3N3b3JkRmllbGQiLCJjb25maXJtUGFzc3dvcmRGaWVsZCIsInBhc3N3b3JkV2l0aENvbmZpcm1hdGlvbiIsIm9iamVjdCIsInBhc3N3b3JkIiwiY29uZmlybVBhc3N3b3JkIiwiZGF0YSIsInBhdGgiLCJpc1ZhbGlkRW1haWwiLCJpc1ZhbGlkVXNlcm5hbWUiLCJjcmVhdGVMb2dpblNjaGVtYSIsImxvZ2luVHlwZSIsImNhbkxvZ2luV2l0aFVzZXJuYW1lIiwidXNlcm5hbWVTZXR0aW5ncyIsImxvZ2luIiwiaXNQcm9iYWJseUVtYWlsIiwiaW5jbHVkZXMiLCJjcmVhdGVTaWdudXBTY2hlbWEiLCJyZXF1aXJlVXNlcm5hbWUiLCJlbWFpbCIsInVzZXJuYW1lIiwib3B0aW9uYWwiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLENBQUMsUUFBUSxNQUFLO0FBRXZCLFNBQVNDLFVBQVUsRUFBRUMsYUFBYSxRQUFRLGlCQUFzQjtBQVloRSw4RUFBOEU7QUFDOUUsaUJBQWlCO0FBQ2pCLDhFQUE4RTtBQUU5RSxPQUFPLE1BQU1DLGFBQWEsQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLFdBQVcsSUFBSSxFQUF3QztJQUNyRixJQUFJQyxTQUFTTixFQUFFTyxNQUFNO0lBQ3JCLElBQUlGLFVBQVVDLFNBQVNBLE9BQU9FLEdBQUcsQ0FBQyxHQUFHSixFQUFFO0lBQ3ZDLE9BQU9FLE9BQU9HLE1BQU0sQ0FBQyxDQUFDQyxNQUFRVCxXQUFXVSxJQUFJLENBQUNELE1BQU07UUFDbERFLFNBQVNSLEVBQUUsbUNBQW1DO0lBQ2hEO0FBQ0YsRUFBQztBQUVELE9BQU8sTUFBTVMsZ0JBQWdCLENBQUMsRUFDNUJULENBQUMsRUFDREMsV0FBVyxJQUFJLEVBQ2ZTLFlBQVksQ0FBQyxFQUNiQyxZQUFZLEdBQUcsRUFNaEI7SUFDQyxJQUFJVCxTQUFTTixFQUFFTyxNQUFNO0lBQ3JCLElBQUlGLFVBQVVDLFNBQVNBLE9BQU9FLEdBQUcsQ0FBQyxHQUFHSixFQUFFO0lBQ3ZDLE9BQU9FLE9BQU9HLE1BQU0sQ0FBQyxDQUFDQyxNQUFRUixjQUFjUyxJQUFJLENBQUNELFFBQVFBLElBQUlNLE1BQU0sSUFBSUYsYUFBYUosSUFBSU0sTUFBTSxJQUFJRCxXQUFXO1FBQzNHSCxTQUFTUixFQUFFLHNDQUFzQztJQUNuRDtBQUNGLEVBQUM7QUFFRCxPQUFPLE1BQU1hLGdCQUFnQixDQUFDLEVBQUViLENBQUMsRUFBRUMsV0FBVyxJQUFJLEVBQUVTLFlBQVksQ0FBQyxFQUE0RDtJQUMzSCxJQUFJUixTQUFTTixFQUFFTyxNQUFNO0lBQ3JCLElBQUlGLFVBQVVDLFNBQVNBLE9BQU9FLEdBQUcsQ0FBQ00sV0FBV1YsRUFBRSwwQkFBMEI7SUFDekUsT0FBT0U7QUFDVCxFQUFDO0FBRUQsT0FBTyxNQUFNWSx1QkFBdUIsQ0FBQyxFQUFFZCxDQUFDLEVBQUVDLFdBQVcsSUFBSSxFQUF3QztJQUMvRixJQUFJQyxTQUFTTixFQUFFTyxNQUFNO0lBQ3JCLElBQUlGLFVBQVVDLFNBQVNBLE9BQU9FLEdBQUcsQ0FBQyxHQUFHSixFQUFFLDBCQUEwQjtJQUNqRSxPQUFPRTtBQUNULEVBQUM7QUFFRCw4RUFBOEU7QUFDOUUsY0FBYztBQUNkLDhFQUE4RTtBQUU5RTs7O0NBR0MsR0FDRCxPQUFPLE1BQU1hLDJCQUEyQixDQUFDLEVBQUVmLENBQUMsRUFBRVUsWUFBWSxDQUFDLEVBQXdDLEdBQ2pHZCxFQUNHb0IsTUFBTSxDQUFDO1FBQ05DLFVBQVVKLGNBQWM7WUFBRWI7WUFBR1U7UUFBVTtRQUN2Q1EsaUJBQWlCSixxQkFBcUI7WUFBRWQ7UUFBRTtJQUM1QyxHQUNDSyxNQUFNLENBQUMsQ0FBQ2MsT0FBU0EsS0FBS0YsUUFBUSxLQUFLRSxLQUFLRCxlQUFlLEVBQUU7UUFDeERFLE1BQU07WUFBQztTQUFrQjtRQUN6QlosU0FBU1IsRUFBRSxpQ0FBaUM7SUFDOUMsR0FBRTtBQUVOLDhFQUE4RTtBQUM5RSxzRUFBc0U7QUFDdEUsOEVBQThFO0FBRTlFLE9BQU8sTUFBTXFCLGVBQWUsQ0FBQ2YsTUFBZ0JULFdBQVdVLElBQUksQ0FBQ0QsS0FBSTtBQUNqRSxPQUFPLE1BQU1nQixrQkFBa0IsQ0FBQ2hCLEtBQWEsRUFBRUksWUFBWSxDQUFDLEVBQUVDLFlBQVksR0FBRyxFQUE4QyxHQUFHLENBQUMsQ0FBQyxHQUM5SGIsY0FBY1MsSUFBSSxDQUFDRCxRQUFRQSxJQUFJTSxNQUFNLElBQUlGLGFBQWFKLElBQUlNLE1BQU0sSUFBSUQsVUFBUztBQVEvRSxPQUFPLE1BQU1ZLG9CQUFvQixDQUFDLEVBQ2hDdkIsQ0FBQyxFQUNEd0IsU0FBUyxFQUNUQyx1QkFBdUIsS0FBSyxFQUM1QkMsbUJBQW1CO0lBQUVoQixXQUFXO0lBQUdDLFdBQVc7QUFBSSxDQUFDLEVBTXBELEdBQ0NmLEVBQUVvQixNQUFNLENBQUM7UUFDUFcsT0FBTy9CLEVBQUVPLE1BQU0sR0FBR0UsTUFBTSxDQUN0QixDQUFDQztZQUNDLElBQUksQ0FBQ0EsS0FBSyxPQUFPO1lBQ2pCLElBQUlrQixjQUFjLFNBQVMsT0FBT0gsYUFBYWY7WUFDL0MsSUFBSWtCLGNBQWMsWUFBWSxPQUFPRixnQkFBZ0JoQixLQUFLb0I7WUFDMUQsT0FBT0wsYUFBYWYsUUFBUWdCLGdCQUFnQmhCLEtBQUtvQjtRQUNuRCxHQUNBLENBQUNwQjtZQUNDLElBQUksQ0FBQ0EsS0FBSyxPQUFPO2dCQUFFRSxTQUFTUixFQUFFO1lBQXVCO1lBRXJELE1BQU00QixrQkFBa0J0QixJQUFJdUIsUUFBUSxDQUFDLFFBQVEsQ0FBQ0o7WUFFOUMsSUFBSUQsY0FBYyxTQUFTO2dCQUN6QixPQUFPO29CQUFFaEIsU0FBU1IsRUFBRSxtQ0FBbUM7Z0JBQXFCO1lBQzlFO1lBRUEsSUFBSXdCLGNBQWMsWUFBWTtnQkFDNUIsT0FBTztvQkFBRWhCLFNBQVNSLEVBQUUsc0NBQXNDO2dCQUF3QjtZQUNwRjtZQUVBLE9BQU87Z0JBQ0xRLFNBQVNvQixrQkFDTDVCLEVBQUUsbUNBQW1DLHVCQUNyQ0EsRUFBRSxzQ0FBc0M7WUFDOUM7UUFDRjtRQUVGaUIsVUFBVUosY0FBYztZQUFFYjtRQUFFO0lBQzlCLEdBQUU7QUFFSixPQUFPLE1BQU04QixxQkFBcUIsQ0FBQyxFQUFFOUIsQ0FBQyxFQUFFK0Isa0JBQWtCLEtBQUssRUFBK0MsR0FDNUduQyxFQUNHb0IsTUFBTSxDQUFDO1FBQ05nQixPQUFPakMsV0FBVztZQUFFQztRQUFFO1FBQ3RCaUMsVUFBVXhCLGNBQWM7WUFBRVQ7WUFBR0MsVUFBVThCO1FBQWdCLEdBQUdHLFFBQVE7UUFDbEVqQixVQUFVSixjQUFjO1lBQUViO1FBQUU7UUFDNUJrQixpQkFBaUJKLHFCQUFxQjtZQUFFZDtRQUFFO0lBQzVDLEdBQ0NLLE1BQU0sQ0FBQyxDQUFDYyxPQUFTQSxLQUFLRixRQUFRLEtBQUtFLEtBQUtELGVBQWUsRUFBRTtRQUN4REUsTUFBTTtZQUFDO1NBQWtCO1FBQ3pCWixTQUFTUixFQUFFLGlDQUFpQztJQUM5QyxHQUFFIn0=
@@ -0,0 +1,3 @@
1
+ export * from './payload/fields/field-copy-button';
2
+ export * from './payload/fields/generate-uuid-button';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAA;AAClD,cAAc,uCAAuC,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from "./payload/fields/field-copy-button";
2
+ export * from "./payload/fields/generate-uuid-button";
3
+
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaGFyZWQvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wYXlsb2FkL2ZpZWxkcy9maWVsZC1jb3B5LWJ1dHRvbidcbmV4cG9ydCAqIGZyb20gJy4vcGF5bG9hZC9maWVsZHMvZ2VuZXJhdGUtdXVpZC1idXR0b24nXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQ0FBb0M7QUFDbEQsY0FBYyx3Q0FBdUMifQ==
@@ -0,0 +1,47 @@
1
+ .field-copy-text__button-wrapper {
2
+ position: absolute;
3
+ right: 0;
4
+ top: 0;
5
+ height: 100%;
6
+ }
7
+
8
+ .field-copy-text__button {
9
+ margin-block: 0;
10
+ height: 100%;
11
+ }
12
+
13
+ .field-copy-text__button:focus {
14
+ background-color: transparent;
15
+ }
16
+
17
+ .field-copy-text__tooltip {
18
+ position: absolute;
19
+ bottom: 100%;
20
+ right: 50%;
21
+ transform: translateX(50%) translateY(5px);
22
+ background-color: var(--theme-elevation-800);
23
+ color: var(--theme-elevation-0);
24
+ padding: 2px 8px;
25
+ border-radius: var(--style-radius-m);
26
+ font-size: 13px;
27
+ opacity: 0;
28
+ pointer-events: none;
29
+ transition: all 0.2s ease;
30
+ z-index: 3;
31
+ }
32
+
33
+ .field-copy-text__tooltip[data-visible='true'] {
34
+ opacity: 1;
35
+ transform: translateX(50%) translateY(0);
36
+ }
37
+
38
+ .field-copy-text__tooltip::after {
39
+ content: '';
40
+ position: absolute;
41
+ top: 100%;
42
+ left: 50%;
43
+ transform: translateX(-50%);
44
+ border-left: 6px solid transparent;
45
+ border-right: 6px solid transparent;
46
+ border-top: 6px solid var(--theme-elevation-800);
47
+ }
@@ -0,0 +1,4 @@
1
+ import './index.css';
2
+ import { TextField } from '@payloadcms/ui';
3
+ export declare const FieldCopyButton: typeof TextField;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared/payload/fields/field-copy-button/index.tsx"],"names":[],"mappings":"AACA,OAAO,aAAa,CAAA;AACpB,OAAO,EAAoB,SAAS,EAAY,MAAM,gBAAgB,CAAA;AAGtE,eAAO,MAAM,eAAe,EAAE,OAAO,SAoBpC,CAAA"}