@baseplate-dev/plugin-auth 4.0.3 → 5.0.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 (449) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +3 -3
  3. package/dist/auth/core/node.d.ts.map +1 -1
  4. package/dist/auth/core/node.js +2 -1
  5. package/dist/auth/core/node.js.map +1 -1
  6. package/dist/auth/core/schema/plugin-definition.d.ts +2 -12
  7. package/dist/auth/core/schema/plugin-definition.d.ts.map +1 -1
  8. package/dist/auth/core/schema/roles/schema.d.ts +2 -12
  9. package/dist/auth/core/schema/roles/schema.d.ts.map +1 -1
  10. package/dist/auth/core/schema/roles/schema.js +10 -17
  11. package/dist/auth/core/schema/roles/schema.js.map +1 -1
  12. package/dist/auth/plugin.json +1 -1
  13. package/dist/better-auth/constants/model-names.d.ts +8 -0
  14. package/dist/better-auth/constants/model-names.d.ts.map +1 -0
  15. package/dist/better-auth/constants/model-names.js +8 -0
  16. package/dist/better-auth/constants/model-names.js.map +1 -0
  17. package/dist/better-auth/constants/packages.d.ts +4 -0
  18. package/dist/better-auth/constants/packages.d.ts.map +1 -0
  19. package/dist/better-auth/constants/packages.js +4 -0
  20. package/dist/better-auth/constants/packages.js.map +1 -0
  21. package/dist/better-auth/core/common.d.ts.map +1 -0
  22. package/dist/better-auth/core/common.js +17 -0
  23. package/dist/better-auth/core/common.js.map +1 -0
  24. package/dist/better-auth/core/components/better-auth-definition-editor.d.ts +5 -0
  25. package/dist/better-auth/core/components/better-auth-definition-editor.d.ts.map +1 -0
  26. package/dist/{auth0/core/components/auth0-definition-editor.js → better-auth/core/components/better-auth-definition-editor.js} +17 -17
  27. package/dist/better-auth/core/components/better-auth-definition-editor.js.map +1 -0
  28. package/dist/better-auth/core/index.d.ts +2 -0
  29. package/dist/better-auth/core/index.d.ts.map +1 -0
  30. package/dist/better-auth/core/index.js +2 -0
  31. package/dist/better-auth/core/index.js.map +1 -0
  32. package/dist/better-auth/core/node.d.ts.map +1 -0
  33. package/dist/{auth0 → better-auth}/core/node.js +16 -14
  34. package/dist/better-auth/core/node.js.map +1 -0
  35. package/dist/better-auth/core/schema/models.d.ts +3 -0
  36. package/dist/better-auth/core/schema/models.d.ts.map +1 -0
  37. package/dist/better-auth/core/schema/models.js +278 -0
  38. package/dist/better-auth/core/schema/models.js.map +1 -0
  39. package/dist/better-auth/core/schema/plugin-definition.d.ts +5 -0
  40. package/dist/better-auth/core/schema/plugin-definition.d.ts.map +1 -0
  41. package/dist/better-auth/core/schema/plugin-definition.js +4 -0
  42. package/dist/better-auth/core/schema/plugin-definition.js.map +1 -0
  43. package/dist/better-auth/core/web.d.ts.map +1 -0
  44. package/dist/{auth0 → better-auth}/core/web.js +2 -2
  45. package/dist/better-auth/core/web.js.map +1 -0
  46. package/dist/{auth0/generators/fastify/auth0-module/auth0-module.generator.d.ts → better-auth/generators/fastify/better-auth-module/better-auth-module.generator.d.ts} +20 -26
  47. package/dist/better-auth/generators/fastify/better-auth-module/better-auth-module.generator.d.ts.map +1 -0
  48. package/dist/better-auth/generators/fastify/better-auth-module/better-auth-module.generator.js +75 -0
  49. package/dist/better-auth/generators/fastify/better-auth-module/better-auth-module.generator.js.map +1 -0
  50. package/dist/{auth0/generators/fastify/auth0-module → better-auth/generators/fastify/better-auth-module}/generated/index.d.ts +41 -26
  51. package/dist/better-auth/generators/fastify/better-auth-module/generated/index.d.ts.map +1 -0
  52. package/dist/better-auth/generators/fastify/better-auth-module/generated/index.js +11 -0
  53. package/dist/better-auth/generators/fastify/better-auth-module/generated/index.js.map +1 -0
  54. package/dist/better-auth/generators/fastify/better-auth-module/generated/template-paths.d.ts +16 -0
  55. package/dist/better-auth/generators/fastify/better-auth-module/generated/template-paths.d.ts.map +1 -0
  56. package/dist/better-auth/generators/fastify/better-auth-module/generated/template-paths.js +28 -0
  57. package/dist/better-auth/generators/fastify/better-auth-module/generated/template-paths.js.map +1 -0
  58. package/dist/{auth0/generators/fastify/auth0-module → better-auth/generators/fastify/better-auth-module}/generated/template-renderers.d.ts +16 -10
  59. package/dist/better-auth/generators/fastify/better-auth-module/generated/template-renderers.d.ts.map +1 -0
  60. package/dist/{auth0/generators/fastify/auth0-module → better-auth/generators/fastify/better-auth-module}/generated/template-renderers.js +35 -16
  61. package/dist/better-auth/generators/fastify/better-auth-module/generated/template-renderers.js.map +1 -0
  62. package/dist/better-auth/generators/fastify/better-auth-module/generated/ts-import-providers.d.ts +30 -0
  63. package/dist/better-auth/generators/fastify/better-auth-module/generated/ts-import-providers.d.ts.map +1 -0
  64. package/dist/better-auth/generators/fastify/better-auth-module/generated/ts-import-providers.js +37 -0
  65. package/dist/better-auth/generators/fastify/better-auth-module/generated/ts-import-providers.js.map +1 -0
  66. package/dist/{auth0/generators/fastify/auth0-module → better-auth/generators/fastify/better-auth-module}/generated/typed-templates.d.ts +29 -20
  67. package/dist/better-auth/generators/fastify/better-auth-module/generated/typed-templates.d.ts.map +1 -0
  68. package/dist/{auth0/generators/fastify/auth0-module → better-auth/generators/fastify/better-auth-module}/generated/typed-templates.js +37 -9
  69. package/dist/better-auth/generators/fastify/better-auth-module/generated/typed-templates.js.map +1 -0
  70. package/dist/better-auth/generators/fastify/better-auth-module/index.d.ts +4 -0
  71. package/dist/better-auth/generators/fastify/better-auth-module/index.d.ts.map +1 -0
  72. package/dist/better-auth/generators/fastify/better-auth-module/index.js +3 -0
  73. package/dist/better-auth/generators/fastify/better-auth-module/index.js.map +1 -0
  74. package/dist/better-auth/generators/fastify/better-auth-module/templates/module/plugins/better-auth.plugin.ts +31 -0
  75. package/dist/{auth0/generators/fastify/auth0-module → better-auth/generators/fastify/better-auth-module}/templates/module/schema/user-session.queries.ts +1 -1
  76. package/dist/better-auth/generators/fastify/better-auth-module/templates/module/services/auth.ts +62 -0
  77. package/dist/better-auth/generators/fastify/better-auth-module/templates/module/services/user-session.service.ts +72 -0
  78. package/dist/better-auth/generators/fastify/better-auth-module/templates/module/utils/headers.utils.ts +21 -0
  79. package/dist/better-auth/generators/fastify/index.d.ts +2 -0
  80. package/dist/better-auth/generators/fastify/index.d.ts.map +1 -0
  81. package/dist/better-auth/generators/fastify/index.js +2 -0
  82. package/dist/better-auth/generators/fastify/index.js.map +1 -0
  83. package/dist/better-auth/generators/index.d.ts.map +1 -0
  84. package/dist/better-auth/generators/index.js.map +1 -0
  85. package/dist/{auth0/generators/react/auth0-hooks/auth0-hooks.generator.d.ts → better-auth/generators/react/better-auth-hooks/better-auth-hooks.generator.d.ts} +11 -7
  86. package/dist/better-auth/generators/react/better-auth-hooks/better-auth-hooks.generator.d.ts.map +1 -0
  87. package/dist/{auth0/generators/react/auth0-hooks/auth0-hooks.generator.js → better-auth/generators/react/better-auth-hooks/better-auth-hooks.generator.js} +8 -8
  88. package/dist/better-auth/generators/react/better-auth-hooks/better-auth-hooks.generator.js.map +1 -0
  89. package/dist/{auth0/generators/react/auth0-hooks → better-auth/generators/react/better-auth-hooks}/generated/index.d.ts +21 -8
  90. package/dist/better-auth/generators/react/better-auth-hooks/generated/index.d.ts.map +1 -0
  91. package/dist/better-auth/generators/react/better-auth-hooks/generated/index.js +11 -0
  92. package/dist/better-auth/generators/react/better-auth-hooks/generated/index.js.map +1 -0
  93. package/dist/better-auth/generators/react/better-auth-hooks/generated/template-paths.d.ts +14 -0
  94. package/dist/better-auth/generators/react/better-auth-hooks/generated/template-paths.d.ts.map +1 -0
  95. package/dist/{auth0/generators/react/auth0-hooks → better-auth/generators/react/better-auth-hooks}/generated/template-paths.js +9 -7
  96. package/dist/better-auth/generators/react/better-auth-hooks/generated/template-paths.js.map +1 -0
  97. package/dist/better-auth/generators/react/better-auth-hooks/generated/template-renderers.d.ts +27 -0
  98. package/dist/better-auth/generators/react/better-auth-hooks/generated/template-renderers.d.ts.map +1 -0
  99. package/dist/better-auth/generators/react/better-auth-hooks/generated/template-renderers.js +43 -0
  100. package/dist/better-auth/generators/react/better-auth-hooks/generated/template-renderers.js.map +1 -0
  101. package/dist/{auth0/generators/react/auth0-hooks → better-auth/generators/react/better-auth-hooks}/generated/ts-import-providers.d.ts +2 -2
  102. package/dist/better-auth/generators/react/better-auth-hooks/generated/ts-import-providers.d.ts.map +1 -0
  103. package/dist/{auth0/generators/react/auth0-hooks → better-auth/generators/react/better-auth-hooks}/generated/ts-import-providers.js +5 -5
  104. package/dist/better-auth/generators/react/better-auth-hooks/generated/ts-import-providers.js.map +1 -0
  105. package/dist/{auth0/generators/react/auth0-hooks → better-auth/generators/react/better-auth-hooks}/generated/typed-templates.d.ts +21 -3
  106. package/dist/better-auth/generators/react/better-auth-hooks/generated/typed-templates.d.ts.map +1 -0
  107. package/dist/{auth0/generators/react/auth0-hooks → better-auth/generators/react/better-auth-hooks}/generated/typed-templates.js +7 -3
  108. package/dist/better-auth/generators/react/better-auth-hooks/generated/typed-templates.js.map +1 -0
  109. package/dist/better-auth/generators/react/better-auth-hooks/index.d.ts +2 -0
  110. package/dist/better-auth/generators/react/better-auth-hooks/index.d.ts.map +1 -0
  111. package/dist/better-auth/generators/react/better-auth-hooks/index.js +2 -0
  112. package/dist/better-auth/generators/react/better-auth-hooks/index.js.map +1 -0
  113. package/dist/better-auth/generators/react/better-auth-hooks/templates/src/hooks/use-log-out.ts +18 -0
  114. package/dist/better-auth/generators/react/better-auth-hooks/templates/src/hooks/use-session.ts +30 -0
  115. package/dist/{auth0/generators/react/auth0-pages/auth0-pages.generator.d.ts → better-auth/generators/react/better-auth-pages/better-auth-pages.generator.d.ts} +15 -6
  116. package/dist/better-auth/generators/react/better-auth-pages/better-auth-pages.generator.d.ts.map +1 -0
  117. package/dist/{auth0/generators/react/auth0-pages/auth0-pages.generator.js → better-auth/generators/react/better-auth-pages/better-auth-pages.generator.js} +7 -7
  118. package/dist/better-auth/generators/react/better-auth-pages/better-auth-pages.generator.js.map +1 -0
  119. package/dist/{auth0/generators/react/auth0-pages → better-auth/generators/react/better-auth-pages}/generated/index.d.ts +246 -6
  120. package/dist/{auth0/generators/react/auth0-pages → better-auth/generators/react/better-auth-pages}/generated/index.d.ts.map +1 -1
  121. package/dist/better-auth/generators/react/better-auth-pages/generated/index.js +9 -0
  122. package/dist/better-auth/generators/react/better-auth-pages/generated/index.js.map +1 -0
  123. package/dist/better-auth/generators/react/better-auth-pages/generated/template-paths.d.ts +13 -0
  124. package/dist/better-auth/generators/react/better-auth-pages/generated/template-paths.d.ts.map +1 -0
  125. package/dist/better-auth/generators/react/better-auth-pages/generated/template-paths.js +25 -0
  126. package/dist/better-auth/generators/react/better-auth-pages/generated/template-paths.js.map +1 -0
  127. package/dist/{auth0/generators/react/react-auth0 → better-auth/generators/react/better-auth-pages}/generated/template-renderers.d.ts +13 -9
  128. package/dist/better-auth/generators/react/better-auth-pages/generated/template-renderers.d.ts.map +1 -0
  129. package/dist/better-auth/generators/react/better-auth-pages/generated/template-renderers.js +44 -0
  130. package/dist/better-auth/generators/react/better-auth-pages/generated/template-renderers.js.map +1 -0
  131. package/dist/better-auth/generators/react/better-auth-pages/generated/typed-templates.d.ts +895 -0
  132. package/dist/better-auth/generators/react/better-auth-pages/generated/typed-templates.d.ts.map +1 -0
  133. package/dist/better-auth/generators/react/better-auth-pages/generated/typed-templates.js +35 -0
  134. package/dist/better-auth/generators/react/better-auth-pages/generated/typed-templates.js.map +1 -0
  135. package/dist/better-auth/generators/react/better-auth-pages/index.d.ts +2 -0
  136. package/dist/better-auth/generators/react/better-auth-pages/index.d.ts.map +1 -0
  137. package/dist/better-auth/generators/react/better-auth-pages/index.js +2 -0
  138. package/dist/better-auth/generators/react/better-auth-pages/index.js.map +1 -0
  139. package/dist/better-auth/generators/react/better-auth-pages/templates/routes/auth/login.tsx +146 -0
  140. package/dist/better-auth/generators/react/better-auth-pages/templates/routes/auth/register.tsx +162 -0
  141. package/dist/better-auth/generators/react/index.d.ts +4 -0
  142. package/dist/better-auth/generators/react/index.d.ts.map +1 -0
  143. package/dist/better-auth/generators/react/index.js +4 -0
  144. package/dist/better-auth/generators/react/index.js.map +1 -0
  145. package/dist/{auth0/generators/react/react-auth0 → better-auth/generators/react/react-better-auth}/generated/index.d.ts +42 -7
  146. package/dist/{auth0/generators/react/react-auth0 → better-auth/generators/react/react-better-auth}/generated/index.d.ts.map +1 -1
  147. package/dist/better-auth/generators/react/react-better-auth/generated/index.js +11 -0
  148. package/dist/better-auth/generators/react/react-better-auth/generated/index.js.map +1 -0
  149. package/dist/better-auth/generators/react/react-better-auth/generated/template-paths.d.ts +13 -0
  150. package/dist/better-auth/generators/react/react-better-auth/generated/template-paths.d.ts.map +1 -0
  151. package/dist/better-auth/generators/react/react-better-auth/generated/template-paths.js +25 -0
  152. package/dist/better-auth/generators/react/react-better-auth/generated/template-paths.js.map +1 -0
  153. package/dist/{auth0/generators/react/auth0-pages → better-auth/generators/react/react-better-auth}/generated/template-renderers.d.ts +28 -9
  154. package/dist/better-auth/generators/react/react-better-auth/generated/template-renderers.d.ts.map +1 -0
  155. package/dist/better-auth/generators/react/react-better-auth/generated/template-renderers.js +51 -0
  156. package/dist/better-auth/generators/react/react-better-auth/generated/template-renderers.js.map +1 -0
  157. package/dist/better-auth/generators/react/react-better-auth/generated/ts-import-providers.d.ts +21 -0
  158. package/dist/better-auth/generators/react/react-better-auth/generated/ts-import-providers.d.ts.map +1 -0
  159. package/dist/better-auth/generators/react/react-better-auth/generated/ts-import-providers.js +30 -0
  160. package/dist/better-auth/generators/react/react-better-auth/generated/ts-import-providers.js.map +1 -0
  161. package/dist/{auth0/generators/react/react-auth0 → better-auth/generators/react/react-better-auth}/generated/typed-templates.d.ts +16 -2
  162. package/dist/better-auth/generators/react/react-better-auth/generated/typed-templates.d.ts.map +1 -0
  163. package/dist/better-auth/generators/react/react-better-auth/generated/typed-templates.js +33 -0
  164. package/dist/better-auth/generators/react/react-better-auth/generated/typed-templates.js.map +1 -0
  165. package/dist/better-auth/generators/react/react-better-auth/index.d.ts +4 -0
  166. package/dist/better-auth/generators/react/react-better-auth/index.d.ts.map +1 -0
  167. package/dist/better-auth/generators/react/react-better-auth/index.js +3 -0
  168. package/dist/better-auth/generators/react/react-better-auth/index.js.map +1 -0
  169. package/dist/{auth0/generators/react/react-auth0/react-auth0.generator.d.ts → better-auth/generators/react/react-better-auth/react-better-auth.generator.d.ts} +28 -25
  170. package/dist/better-auth/generators/react/react-better-auth/react-better-auth.generator.d.ts.map +1 -0
  171. package/dist/better-auth/generators/react/react-better-auth/react-better-auth.generator.js +74 -0
  172. package/dist/better-auth/generators/react/react-better-auth/react-better-auth.generator.js.map +1 -0
  173. package/dist/better-auth/generators/react/react-better-auth/templates/src/app/auth-loaded-gate.tsx +58 -0
  174. package/dist/better-auth/generators/react/react-better-auth/templates/src/services/auth-client.ts +15 -0
  175. package/dist/better-auth/index.d.ts +3 -0
  176. package/dist/better-auth/index.d.ts.map +1 -0
  177. package/dist/better-auth/index.js +2 -0
  178. package/dist/better-auth/index.js.map +1 -0
  179. package/dist/better-auth/plugin.json +9 -0
  180. package/dist/better-auth/static/icon.svg +10 -0
  181. package/dist/index.d.ts +1 -0
  182. package/dist/local-auth/core/components/local-auth-definition-editor.d.ts.map +1 -1
  183. package/dist/local-auth/core/components/local-auth-definition-editor.js +11 -11
  184. package/dist/local-auth/core/components/local-auth-definition-editor.js.map +1 -1
  185. package/dist/local-auth/core/generators/auth-apollo/auth-apollo.generator.d.ts +2 -2
  186. package/dist/local-auth/core/generators/auth-email-password/auth-email-password.generator.d.ts +4 -4
  187. package/dist/local-auth/core/generators/auth-email-password/templates/module/schema/password-reset.mutations.js +1 -1
  188. package/dist/local-auth/core/generators/auth-email-password/templates/module/schema/password-reset.mutations.js.map +1 -1
  189. package/dist/local-auth/core/generators/auth-email-password/templates/module/schema/password-reset.mutations.ts +1 -1
  190. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.d.ts +3 -1
  191. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.d.ts.map +1 -1
  192. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.js +6 -1
  193. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.js.map +1 -1
  194. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.ts +8 -2
  195. package/dist/local-auth/core/generators/auth-module/auth-module.generator.d.ts +1 -0
  196. package/dist/local-auth/core/generators/auth-module/auth-module.generator.d.ts.map +1 -1
  197. package/dist/local-auth/core/generators/auth-module/auth-module.generator.js +14 -3
  198. package/dist/local-auth/core/generators/auth-module/auth-module.generator.js.map +1 -1
  199. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.js +1 -1
  200. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.js.map +1 -1
  201. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.tsx +1 -1
  202. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/register.js +1 -1
  203. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/register.js.map +1 -1
  204. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/register.tsx +1 -1
  205. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/reset-password.js +34 -15
  206. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/reset-password.js.map +1 -1
  207. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/reset-password.tsx +58 -15
  208. package/dist/local-auth/core/node.d.ts.map +1 -1
  209. package/dist/local-auth/core/node.js +8 -6
  210. package/dist/local-auth/core/node.js.map +1 -1
  211. package/dist/local-auth/core/schema/models.d.ts +2 -4
  212. package/dist/local-auth/core/schema/models.d.ts.map +1 -1
  213. package/dist/local-auth/core/schema/models.js +254 -252
  214. package/dist/local-auth/core/schema/models.js.map +1 -1
  215. package/dist/local-auth/core/schema/plugin-definition.d.ts +2 -2
  216. package/dist/placeholder-auth/core/components/placeholder-auth-definition-editor.d.ts.map +1 -1
  217. package/dist/placeholder-auth/core/components/placeholder-auth-definition-editor.js +11 -11
  218. package/dist/placeholder-auth/core/components/placeholder-auth-definition-editor.js.map +1 -1
  219. package/dist/placeholder-auth/core/schema/models.d.ts +2 -4
  220. package/dist/placeholder-auth/core/schema/models.d.ts.map +1 -1
  221. package/dist/placeholder-auth/core/schema/models.js +30 -28
  222. package/dist/placeholder-auth/core/schema/models.js.map +1 -1
  223. package/dist/web/assets/{__federation_expose_authCoreCommon-Bg2mzE9K.js → __federation_expose_authCoreCommon-CIVhaGqo.js} +3 -3
  224. package/dist/web/assets/{__federation_expose_authCoreCommon-Bg2mzE9K.js.map → __federation_expose_authCoreCommon-CIVhaGqo.js.map} +1 -1
  225. package/dist/web/assets/{__federation_expose_authCoreWeb-DrOVHmj4.js → __federation_expose_authCoreWeb-N-mh42Bs.js} +6 -6
  226. package/dist/web/assets/{__federation_expose_authCoreWeb-DrOVHmj4.js.map → __federation_expose_authCoreWeb-N-mh42Bs.js.map} +1 -1
  227. package/dist/web/assets/__federation_expose_better-authCoreCommon-BIU3Fg7K.js +20 -0
  228. package/dist/web/assets/__federation_expose_better-authCoreCommon-BIU3Fg7K.js.map +1 -0
  229. package/dist/web/assets/__federation_expose_better-authCoreWeb-CMhPrXPA.js +402 -0
  230. package/dist/web/assets/__federation_expose_better-authCoreWeb-CMhPrXPA.js.map +1 -0
  231. package/dist/web/assets/{__federation_expose_local-authAdminCommon-Bzb0P17-.js → __federation_expose_local-authAdminCommon-DvHe9w29.js} +2 -2
  232. package/dist/web/assets/{__federation_expose_local-authAdminCommon-Bzb0P17-.js.map → __federation_expose_local-authAdminCommon-DvHe9w29.js.map} +1 -1
  233. package/dist/web/assets/{__federation_expose_local-authAdminWeb-D_LWcl7j.js → __federation_expose_local-authAdminWeb-CLU9aEy9.js} +2 -2
  234. package/dist/web/assets/{__federation_expose_local-authAdminWeb-D_LWcl7j.js.map → __federation_expose_local-authAdminWeb-CLU9aEy9.js.map} +1 -1
  235. package/dist/web/assets/{__federation_expose_local-authCoreCommon-D6OG-Rz6.js → __federation_expose_local-authCoreCommon-DbuvGG7o.js} +3 -3
  236. package/dist/web/assets/{__federation_expose_local-authCoreCommon-D6OG-Rz6.js.map → __federation_expose_local-authCoreCommon-DbuvGG7o.js.map} +1 -1
  237. package/dist/web/assets/__federation_expose_local-authCoreWeb-BY-mP3uS.js +432 -0
  238. package/dist/web/assets/__federation_expose_local-authCoreWeb-BY-mP3uS.js.map +1 -0
  239. package/dist/web/assets/{__federation_expose_placeholder-authCoreCommon-D7b3GEPP.js → __federation_expose_placeholder-authCoreCommon-BJBCuZvU.js} +3 -3
  240. package/dist/web/assets/{__federation_expose_placeholder-authCoreCommon-D7b3GEPP.js.map → __federation_expose_placeholder-authCoreCommon-BJBCuZvU.js.map} +1 -1
  241. package/dist/web/assets/{__federation_expose_placeholder-authCoreWeb-VZzvid5j.js → __federation_expose_placeholder-authCoreWeb-BaV-Ko2C.js} +61 -53
  242. package/dist/web/assets/__federation_expose_placeholder-authCoreWeb-BaV-Ko2C.js.map +1 -0
  243. package/dist/web/assets/{__federation_fn_import-DfNliZHH.js → __federation_fn_import-BLFDCY-V.js} +2 -2
  244. package/dist/web/assets/{__federation_fn_import-DfNliZHH.js.map → __federation_fn_import-BLFDCY-V.js.map} +1 -1
  245. package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/{web-BqJ1vSYx.js → web-bRU6KpPk.js} +48 -26
  246. package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-bRU6KpPk.js.map +1 -0
  247. package/dist/web/assets/__federation_shared_@baseplate-dev/{project-builder-lib-qf98MMJC.js → project-builder-lib-CQKLkNsU.js} +5705 -1957
  248. package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib-CQKLkNsU.js.map +1 -0
  249. package/dist/web/assets/__federation_shared_@baseplate-dev/{ui-components-DFkMnXmX.js → ui-components-DhyoEUTy.js} +5886 -1191
  250. package/dist/web/assets/__federation_shared_@baseplate-dev/ui-components-DhyoEUTy.js.map +1 -0
  251. package/dist/web/assets/__federation_shared_@baseplate-dev/{utils-CApJheqk.js → utils-9w-0yxVZ.js} +64 -45
  252. package/dist/web/assets/__federation_shared_@baseplate-dev/utils-9w-0yxVZ.js.map +1 -0
  253. package/dist/web/assets/__federation_shared_@tanstack/{react-router-YQslfDyE.js → react-router-CbExBaoL.js} +2 -2
  254. package/dist/web/assets/__federation_shared_@tanstack/{react-router-YQslfDyE.js.map → react-router-CbExBaoL.js.map} +1 -1
  255. package/dist/web/assets/{__federation_shared_zod-B6wbpZ4f.js → __federation_shared_zod-Do7Aa1b5.js} +3431 -2188
  256. package/dist/web/assets/__federation_shared_zod-Do7Aa1b5.js.map +1 -0
  257. package/dist/web/assets/{get-auth-plugin-definition-CVuj_mvy.js → get-auth-plugin-definition-BL50g0cJ.js} +2 -2
  258. package/dist/web/assets/{get-auth-plugin-definition-CVuj_mvy.js.map → get-auth-plugin-definition-BL50g0cJ.js.map} +1 -1
  259. package/dist/web/assets/{index-B00D4irM.js → index-B_A3cgiy.js} +2 -2
  260. package/dist/web/assets/{index-B00D4irM.js.map → index-B_A3cgiy.js.map} +1 -1
  261. package/dist/web/assets/{index.esm-1qBxxnfu.js → index.esm-BraHxHLB.js} +338 -231
  262. package/dist/web/assets/index.esm-BraHxHLB.js.map +1 -0
  263. package/dist/web/assets/{isEqual-BQtm2LNT.js → isEqual-tnzoadW8.js} +18 -18
  264. package/dist/web/assets/isEqual-tnzoadW8.js.map +1 -0
  265. package/dist/web/assets/mergeWith-VagwCqUi.js +76 -0
  266. package/dist/web/assets/mergeWith-VagwCqUi.js.map +1 -0
  267. package/dist/web/assets/model-utils-BfcjfzCn.js +694 -0
  268. package/dist/web/assets/model-utils-BfcjfzCn.js.map +1 -0
  269. package/dist/web/assets/plugin-definition-CXnKUJ1l.js +20 -0
  270. package/dist/web/assets/plugin-definition-CXnKUJ1l.js.map +1 -0
  271. package/dist/web/assets/{plugin-definition-CcdhC0td.js → plugin-definition-Ckl5hjD1.js} +2 -2
  272. package/dist/web/assets/{plugin-definition-CcdhC0td.js.map → plugin-definition-Ckl5hjD1.js.map} +1 -1
  273. package/dist/web/assets/{plugin-definition-B_hlyPlm.js → plugin-definition-D26rR8AB.js} +2 -2
  274. package/dist/web/assets/{plugin-definition-B_hlyPlm.js.map → plugin-definition-D26rR8AB.js.map} +1 -1
  275. package/dist/web/assets/{plugin-definition-BKCeZ0Ni.js → plugin-definition-DJzXScRp.js} +12 -19
  276. package/dist/web/assets/plugin-definition-DJzXScRp.js.map +1 -0
  277. package/dist/web/assets/{react-Df9ccuow.js → react-CL9M_wyN.js} +2 -2
  278. package/dist/web/assets/{react-Df9ccuow.js.map → react-CL9M_wyN.js.map} +1 -1
  279. package/dist/web/assets/{registries-19UehlAo.js → registries-Tz_dluz3.js} +51 -13
  280. package/dist/web/assets/registries-Tz_dluz3.js.map +1 -0
  281. package/dist/web/assets/remoteEntry.js +14 -14
  282. package/dist/web/assets/{styles-CbPVroCT.js → styles-tkrWV-ZE.js} +4 -4
  283. package/dist/web/assets/{styles-CbPVroCT.js.map → styles-tkrWV-ZE.js.map} +1 -1
  284. package/package.json +17 -17
  285. package/dist/auth0/constants/model-names.d.ts +0 -4
  286. package/dist/auth0/constants/model-names.d.ts.map +0 -1
  287. package/dist/auth0/constants/model-names.js +0 -4
  288. package/dist/auth0/constants/model-names.js.map +0 -1
  289. package/dist/auth0/constants/packages.d.ts +0 -6
  290. package/dist/auth0/constants/packages.d.ts.map +0 -1
  291. package/dist/auth0/constants/packages.js +0 -6
  292. package/dist/auth0/constants/packages.js.map +0 -1
  293. package/dist/auth0/core/common.d.ts.map +0 -1
  294. package/dist/auth0/core/common.js +0 -19
  295. package/dist/auth0/core/common.js.map +0 -1
  296. package/dist/auth0/core/components/auth0-definition-editor.d.ts +0 -5
  297. package/dist/auth0/core/components/auth0-definition-editor.d.ts.map +0 -1
  298. package/dist/auth0/core/components/auth0-definition-editor.js.map +0 -1
  299. package/dist/auth0/core/node.d.ts.map +0 -1
  300. package/dist/auth0/core/node.js.map +0 -1
  301. package/dist/auth0/core/schema/migrations.d.ts +0 -3
  302. package/dist/auth0/core/schema/migrations.d.ts.map +0 -1
  303. package/dist/auth0/core/schema/migrations.js +0 -19
  304. package/dist/auth0/core/schema/migrations.js.map +0 -1
  305. package/dist/auth0/core/schema/models.d.ts +0 -5
  306. package/dist/auth0/core/schema/models.d.ts.map +0 -1
  307. package/dist/auth0/core/schema/models.js +0 -40
  308. package/dist/auth0/core/schema/models.js.map +0 -1
  309. package/dist/auth0/core/schema/plugin-definition.d.ts +0 -5
  310. package/dist/auth0/core/schema/plugin-definition.d.ts.map +0 -1
  311. package/dist/auth0/core/schema/plugin-definition.js +0 -4
  312. package/dist/auth0/core/schema/plugin-definition.js.map +0 -1
  313. package/dist/auth0/core/web.d.ts.map +0 -1
  314. package/dist/auth0/core/web.js.map +0 -1
  315. package/dist/auth0/generators/fastify/auth0-module/auth0-module.generator.d.ts.map +0 -1
  316. package/dist/auth0/generators/fastify/auth0-module/auth0-module.generator.js +0 -114
  317. package/dist/auth0/generators/fastify/auth0-module/auth0-module.generator.js.map +0 -1
  318. package/dist/auth0/generators/fastify/auth0-module/generated/index.d.ts.map +0 -1
  319. package/dist/auth0/generators/fastify/auth0-module/generated/index.js +0 -11
  320. package/dist/auth0/generators/fastify/auth0-module/generated/index.js.map +0 -1
  321. package/dist/auth0/generators/fastify/auth0-module/generated/template-paths.d.ts +0 -14
  322. package/dist/auth0/generators/fastify/auth0-module/generated/template-paths.d.ts.map +0 -1
  323. package/dist/auth0/generators/fastify/auth0-module/generated/template-paths.js +0 -24
  324. package/dist/auth0/generators/fastify/auth0-module/generated/template-paths.js.map +0 -1
  325. package/dist/auth0/generators/fastify/auth0-module/generated/template-renderers.d.ts.map +0 -1
  326. package/dist/auth0/generators/fastify/auth0-module/generated/template-renderers.js.map +0 -1
  327. package/dist/auth0/generators/fastify/auth0-module/generated/ts-import-providers.d.ts +0 -10
  328. package/dist/auth0/generators/fastify/auth0-module/generated/ts-import-providers.d.ts.map +0 -1
  329. package/dist/auth0/generators/fastify/auth0-module/generated/ts-import-providers.js +0 -23
  330. package/dist/auth0/generators/fastify/auth0-module/generated/ts-import-providers.js.map +0 -1
  331. package/dist/auth0/generators/fastify/auth0-module/generated/typed-templates.d.ts.map +0 -1
  332. package/dist/auth0/generators/fastify/auth0-module/generated/typed-templates.js.map +0 -1
  333. package/dist/auth0/generators/fastify/auth0-module/index.d.ts +0 -2
  334. package/dist/auth0/generators/fastify/auth0-module/index.d.ts.map +0 -1
  335. package/dist/auth0/generators/fastify/auth0-module/index.js +0 -2
  336. package/dist/auth0/generators/fastify/auth0-module/index.js.map +0 -1
  337. package/dist/auth0/generators/fastify/auth0-module/templates/module/services/management.ts +0 -22
  338. package/dist/auth0/generators/fastify/auth0-module/templates/module/services/user-session.service.ts +0 -101
  339. package/dist/auth0/generators/fastify/index.d.ts +0 -2
  340. package/dist/auth0/generators/fastify/index.d.ts.map +0 -1
  341. package/dist/auth0/generators/fastify/index.js +0 -2
  342. package/dist/auth0/generators/fastify/index.js.map +0 -1
  343. package/dist/auth0/generators/index.d.ts.map +0 -1
  344. package/dist/auth0/generators/index.js.map +0 -1
  345. package/dist/auth0/generators/react/auth0-apollo/auth0-apollo.generator.d.ts +0 -10
  346. package/dist/auth0/generators/react/auth0-apollo/auth0-apollo.generator.d.ts.map +0 -1
  347. package/dist/auth0/generators/react/auth0-apollo/auth0-apollo.generator.js +0 -41
  348. package/dist/auth0/generators/react/auth0-apollo/auth0-apollo.generator.js.map +0 -1
  349. package/dist/auth0/generators/react/auth0-apollo/index.d.ts +0 -2
  350. package/dist/auth0/generators/react/auth0-apollo/index.d.ts.map +0 -1
  351. package/dist/auth0/generators/react/auth0-apollo/index.js +0 -2
  352. package/dist/auth0/generators/react/auth0-apollo/index.js.map +0 -1
  353. package/dist/auth0/generators/react/auth0-apollo/templates/auth-link.ts +0 -11
  354. package/dist/auth0/generators/react/auth0-hooks/auth0-hooks.generator.d.ts.map +0 -1
  355. package/dist/auth0/generators/react/auth0-hooks/auth0-hooks.generator.js.map +0 -1
  356. package/dist/auth0/generators/react/auth0-hooks/generated/index.d.ts.map +0 -1
  357. package/dist/auth0/generators/react/auth0-hooks/generated/index.js +0 -11
  358. package/dist/auth0/generators/react/auth0-hooks/generated/index.js.map +0 -1
  359. package/dist/auth0/generators/react/auth0-hooks/generated/template-paths.d.ts +0 -14
  360. package/dist/auth0/generators/react/auth0-hooks/generated/template-paths.d.ts.map +0 -1
  361. package/dist/auth0/generators/react/auth0-hooks/generated/template-paths.js.map +0 -1
  362. package/dist/auth0/generators/react/auth0-hooks/generated/template-renderers.d.ts +0 -23
  363. package/dist/auth0/generators/react/auth0-hooks/generated/template-renderers.d.ts.map +0 -1
  364. package/dist/auth0/generators/react/auth0-hooks/generated/template-renderers.js +0 -38
  365. package/dist/auth0/generators/react/auth0-hooks/generated/template-renderers.js.map +0 -1
  366. package/dist/auth0/generators/react/auth0-hooks/generated/ts-import-providers.d.ts.map +0 -1
  367. package/dist/auth0/generators/react/auth0-hooks/generated/ts-import-providers.js.map +0 -1
  368. package/dist/auth0/generators/react/auth0-hooks/generated/typed-templates.d.ts.map +0 -1
  369. package/dist/auth0/generators/react/auth0-hooks/generated/typed-templates.js.map +0 -1
  370. package/dist/auth0/generators/react/auth0-hooks/index.d.ts +0 -2
  371. package/dist/auth0/generators/react/auth0-hooks/index.d.ts.map +0 -1
  372. package/dist/auth0/generators/react/auth0-hooks/index.js +0 -2
  373. package/dist/auth0/generators/react/auth0-hooks/index.js.map +0 -1
  374. package/dist/auth0/generators/react/auth0-hooks/templates/src/hooks/use-log-out.ts +0 -14
  375. package/dist/auth0/generators/react/auth0-hooks/templates/src/hooks/use-session.ts +0 -36
  376. package/dist/auth0/generators/react/auth0-pages/auth0-pages.generator.d.ts.map +0 -1
  377. package/dist/auth0/generators/react/auth0-pages/auth0-pages.generator.js.map +0 -1
  378. package/dist/auth0/generators/react/auth0-pages/generated/index.js +0 -9
  379. package/dist/auth0/generators/react/auth0-pages/generated/index.js.map +0 -1
  380. package/dist/auth0/generators/react/auth0-pages/generated/template-paths.d.ts +0 -12
  381. package/dist/auth0/generators/react/auth0-pages/generated/template-paths.d.ts.map +0 -1
  382. package/dist/auth0/generators/react/auth0-pages/generated/template-paths.js +0 -20
  383. package/dist/auth0/generators/react/auth0-pages/generated/template-paths.js.map +0 -1
  384. package/dist/auth0/generators/react/auth0-pages/generated/template-renderers.d.ts.map +0 -1
  385. package/dist/auth0/generators/react/auth0-pages/generated/template-renderers.js +0 -37
  386. package/dist/auth0/generators/react/auth0-pages/generated/template-renderers.js.map +0 -1
  387. package/dist/auth0/generators/react/auth0-pages/generated/typed-templates.d.ts +0 -433
  388. package/dist/auth0/generators/react/auth0-pages/generated/typed-templates.d.ts.map +0 -1
  389. package/dist/auth0/generators/react/auth0-pages/generated/typed-templates.js +0 -18
  390. package/dist/auth0/generators/react/auth0-pages/generated/typed-templates.js.map +0 -1
  391. package/dist/auth0/generators/react/auth0-pages/index.d.ts +0 -2
  392. package/dist/auth0/generators/react/auth0-pages/index.d.ts.map +0 -1
  393. package/dist/auth0/generators/react/auth0-pages/index.js +0 -2
  394. package/dist/auth0/generators/react/auth0-pages/index.js.map +0 -1
  395. package/dist/auth0/generators/react/auth0-pages/templates/routes/login.tsx +0 -31
  396. package/dist/auth0/generators/react/index.d.ts +0 -5
  397. package/dist/auth0/generators/react/index.d.ts.map +0 -1
  398. package/dist/auth0/generators/react/index.js +0 -5
  399. package/dist/auth0/generators/react/index.js.map +0 -1
  400. package/dist/auth0/generators/react/react-auth0/generated/index.js +0 -9
  401. package/dist/auth0/generators/react/react-auth0/generated/index.js.map +0 -1
  402. package/dist/auth0/generators/react/react-auth0/generated/template-paths.d.ts +0 -12
  403. package/dist/auth0/generators/react/react-auth0/generated/template-paths.d.ts.map +0 -1
  404. package/dist/auth0/generators/react/react-auth0/generated/template-paths.js +0 -22
  405. package/dist/auth0/generators/react/react-auth0/generated/template-paths.js.map +0 -1
  406. package/dist/auth0/generators/react/react-auth0/generated/template-renderers.d.ts.map +0 -1
  407. package/dist/auth0/generators/react/react-auth0/generated/template-renderers.js +0 -39
  408. package/dist/auth0/generators/react/react-auth0/generated/template-renderers.js.map +0 -1
  409. package/dist/auth0/generators/react/react-auth0/generated/typed-templates.d.ts.map +0 -1
  410. package/dist/auth0/generators/react/react-auth0/generated/typed-templates.js +0 -17
  411. package/dist/auth0/generators/react/react-auth0/generated/typed-templates.js.map +0 -1
  412. package/dist/auth0/generators/react/react-auth0/index.d.ts +0 -2
  413. package/dist/auth0/generators/react/react-auth0/index.d.ts.map +0 -1
  414. package/dist/auth0/generators/react/react-auth0/index.js +0 -2
  415. package/dist/auth0/generators/react/react-auth0/index.js.map +0 -1
  416. package/dist/auth0/generators/react/react-auth0/react-auth0.generator.d.ts.map +0 -1
  417. package/dist/auth0/generators/react/react-auth0/react-auth0.generator.js +0 -107
  418. package/dist/auth0/generators/react/react-auth0/react-auth0.generator.js.map +0 -1
  419. package/dist/auth0/generators/react/react-auth0/templates/src/app/auth-loaded-gate.tsx +0 -78
  420. package/dist/auth0/plugin.json +0 -9
  421. package/dist/auth0/static/icon.svg +0 -7
  422. package/dist/web/assets/__federation_expose_auth0CoreCommon-e_GtBIIm.js +0 -40
  423. package/dist/web/assets/__federation_expose_auth0CoreCommon-e_GtBIIm.js.map +0 -1
  424. package/dist/web/assets/__federation_expose_auth0CoreWeb-CTfPylMw.js +0 -158
  425. package/dist/web/assets/__federation_expose_auth0CoreWeb-CTfPylMw.js.map +0 -1
  426. package/dist/web/assets/__federation_expose_local-authCoreWeb-CaR8fx1f.js +0 -424
  427. package/dist/web/assets/__federation_expose_local-authCoreWeb-CaR8fx1f.js.map +0 -1
  428. package/dist/web/assets/__federation_expose_placeholder-authCoreWeb-VZzvid5j.js.map +0 -1
  429. package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-BqJ1vSYx.js.map +0 -1
  430. package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib-qf98MMJC.js.map +0 -1
  431. package/dist/web/assets/__federation_shared_@baseplate-dev/ui-components-DFkMnXmX.js.map +0 -1
  432. package/dist/web/assets/__federation_shared_@baseplate-dev/utils-CApJheqk.js.map +0 -1
  433. package/dist/web/assets/__federation_shared_zod-B6wbpZ4f.js.map +0 -1
  434. package/dist/web/assets/index.esm-1qBxxnfu.js.map +0 -1
  435. package/dist/web/assets/isEqual-BQtm2LNT.js.map +0 -1
  436. package/dist/web/assets/model-merger-59HLmy_J.js +0 -1705
  437. package/dist/web/assets/model-merger-59HLmy_J.js.map +0 -1
  438. package/dist/web/assets/plugin-definition-BKCeZ0Ni.js.map +0 -1
  439. package/dist/web/assets/plugin-definition-Bkx-a_wA.js +0 -16
  440. package/dist/web/assets/plugin-definition-Bkx-a_wA.js.map +0 -1
  441. package/dist/web/assets/registries-19UehlAo.js.map +0 -1
  442. package/dist/web/assets/sortBy-BPH_zRB8.js +0 -34
  443. package/dist/web/assets/sortBy-BPH_zRB8.js.map +0 -1
  444. /package/dist/{auth0 → better-auth}/core/common.d.ts +0 -0
  445. /package/dist/{auth0 → better-auth}/core/node.d.ts +0 -0
  446. /package/dist/{auth0 → better-auth}/core/web.d.ts +0 -0
  447. /package/dist/{auth0 → better-auth}/generators/index.d.ts +0 -0
  448. /package/dist/{auth0 → better-auth}/generators/index.js +0 -0
  449. /package/dist/{auth0/generators/react/auth0-hooks → better-auth/generators/react/better-auth-hooks}/templates/src/hooks/use-required-user-id.ts +0 -0
@@ -1,9 +1,7 @@
1
- import { importShared } from './__federation_fn_import-DfNliZHH.js';
1
+ import { importShared } from './__federation_fn_import-BLFDCY-V.js';
2
2
 
3
3
  const React = await importShared('react');
4
4
 
5
- const React__default = await importShared('react');
6
-
7
5
 
8
6
  var isCheckBoxInput = (element) => element.type === 'checkbox';
9
7
 
@@ -37,29 +35,23 @@ var isWeb = typeof window !== 'undefined' &&
37
35
  typeof document !== 'undefined';
38
36
 
39
37
  function cloneObject(data) {
40
- let copy;
41
- const isArray = Array.isArray(data);
42
- const isFileListInstance = typeof FileList !== 'undefined' ? data instanceof FileList : false;
43
38
  if (data instanceof Date) {
44
- copy = new Date(data);
39
+ return new Date(data);
45
40
  }
46
- else if (!(isWeb && (data instanceof Blob || isFileListInstance)) &&
47
- (isArray || isObject(data))) {
48
- copy = isArray ? [] : {};
49
- if (!isArray && !isPlainObject(data)) {
50
- copy = data;
51
- }
52
- else {
53
- for (const key in data) {
54
- if (data.hasOwnProperty(key)) {
55
- copy[key] = cloneObject(data[key]);
56
- }
57
- }
58
- }
41
+ const isFileListInstance = typeof FileList !== 'undefined' && data instanceof FileList;
42
+ if (isWeb && (data instanceof Blob || isFileListInstance)) {
43
+ return data;
59
44
  }
60
- else {
45
+ const isArray = Array.isArray(data);
46
+ if (!isArray && !(isObject(data) && isPlainObject(data))) {
61
47
  return data;
62
48
  }
49
+ const copy = isArray ? [] : Object.create(Object.getPrototypeOf(data));
50
+ for (const key in data) {
51
+ if (Object.prototype.hasOwnProperty.call(data, key)) {
52
+ copy[key] = cloneObject(data[key]);
53
+ }
54
+ }
63
55
  return copy;
64
56
  }
65
57
 
@@ -85,6 +77,8 @@ var get = (object, path, defaultValue) => {
85
77
 
86
78
  var isBoolean = (value) => typeof value === 'boolean';
87
79
 
80
+ var isFunction = (value) => typeof value === 'function';
81
+
88
82
  var set = (object, path, value) => {
89
83
  let index = -1;
90
84
  const tempPath = isKey(path) ? [path] : stringToPath(path);
@@ -132,39 +126,16 @@ const INPUT_VALIDATION_RULES = {
132
126
  validate: 'validate',
133
127
  };
134
128
 
135
- const HookFormContext = React__default.createContext(null);
136
- HookFormContext.displayName = 'HookFormContext';
137
129
  /**
138
- * This custom hook allows you to access the form context. useFormContext is intended to be used in deeply nested structures, where it would become inconvenient to pass the context as a prop. To be used with {@link FormProvider}.
139
- *
140
- * @remarks
141
- * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)
142
- *
143
- * @returns return all useForm methods
144
- *
145
- * @example
146
- * ```tsx
147
- * function App() {
148
- * const methods = useForm();
149
- * const onSubmit = data => console.log(data);
150
- *
151
- * return (
152
- * <FormProvider {...methods} >
153
- * <form onSubmit={methods.handleSubmit(onSubmit)}>
154
- * <NestedInput />
155
- * <input type="submit" />
156
- * </form>
157
- * </FormProvider>
158
- * );
159
- * }
160
- *
161
- * function NestedInput() {
162
- * const { register } = useFormContext(); // retrieve all hook methods
163
- * return <input {...register("test")} />;
164
- * }
165
- * ```
130
+ * Separate context for `control` to prevent unnecessary rerenders.
131
+ * Internal hooks that only need control use this instead of full form context.
132
+ */
133
+ const HookFormControlContext = React.createContext(null);
134
+ HookFormControlContext.displayName = 'HookFormControlContext';
135
+ /**
136
+ * @internal Internal hook to access only control from context.
166
137
  */
167
- const useFormContext = () => React__default.useContext(HookFormContext);
138
+ const useFormControlContext = () => React.useContext(HookFormControlContext);
168
139
 
169
140
  var getProxyFormState = (formState, control, localProxyFormState, isRoot = true) => {
170
141
  const result = {
@@ -218,10 +189,10 @@ const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayou
218
189
  * ```
219
190
  */
220
191
  function useFormState(props) {
221
- const methods = useFormContext();
222
- const { control = methods.control, disabled, name, exact } = props || {};
223
- const [formState, updateFormState] = React__default.useState(control._formState);
224
- const _localProxyFormState = React__default.useRef({
192
+ const formControl = useFormControlContext();
193
+ const { control = formControl, disabled, name, exact } = props || {};
194
+ const [formState, updateFormState] = React.useState(control._formState);
195
+ const _localProxyFormState = React.useRef({
225
196
  isDirty: false,
226
197
  isLoading: false,
227
198
  dirtyFields: false,
@@ -243,10 +214,10 @@ function useFormState(props) {
243
214
  });
244
215
  },
245
216
  }), [name, disabled, exact]);
246
- React__default.useEffect(() => {
217
+ React.useEffect(() => {
247
218
  _localProxyFormState.current.isValid && control._setValid(true);
248
219
  }, [control]);
249
- return React__default.useMemo(() => getProxyFormState(formState, control, _localProxyFormState.current, false), [formState, control]);
220
+ return React.useMemo(() => getProxyFormState(formState, control, _localProxyFormState.current, false), [formState, control]);
250
221
  }
251
222
 
252
223
  var isString = (value) => typeof value === 'string';
@@ -264,6 +235,44 @@ var generateWatchOutput = (names, _names, formValues, isGlobal, defaultValue) =>
264
235
  return formValues;
265
236
  };
266
237
 
238
+ var isPrimitive = (value) => isNullOrUndefined(value) || !isObjectType(value);
239
+
240
+ function deepEqual(object1, object2, _internal_visited = new WeakSet()) {
241
+ if (isPrimitive(object1) || isPrimitive(object2)) {
242
+ return Object.is(object1, object2);
243
+ }
244
+ if (isDateObject(object1) && isDateObject(object2)) {
245
+ return Object.is(object1.getTime(), object2.getTime());
246
+ }
247
+ const keys1 = Object.keys(object1);
248
+ const keys2 = Object.keys(object2);
249
+ if (keys1.length !== keys2.length) {
250
+ return false;
251
+ }
252
+ if (_internal_visited.has(object1) || _internal_visited.has(object2)) {
253
+ return true;
254
+ }
255
+ _internal_visited.add(object1);
256
+ _internal_visited.add(object2);
257
+ for (const key of keys1) {
258
+ const val1 = object1[key];
259
+ if (!keys2.includes(key)) {
260
+ return false;
261
+ }
262
+ if (key !== 'ref') {
263
+ const val2 = object2[key];
264
+ if ((isDateObject(val1) && isDateObject(val2)) ||
265
+ (isObject(val1) && isObject(val2)) ||
266
+ (Array.isArray(val1) && Array.isArray(val2))
267
+ ? !deepEqual(val1, val2, _internal_visited)
268
+ : !Object.is(val1, val2)) {
269
+ return false;
270
+ }
271
+ }
272
+ }
273
+ return true;
274
+ }
275
+
267
276
  /**
268
277
  * Custom hook to subscribe to field change and isolate re-rendering at the component level.
269
278
  *
@@ -281,21 +290,73 @@ var generateWatchOutput = (names, _names, formValues, isGlobal, defaultValue) =>
281
290
  * ```
282
291
  */
283
292
  function useWatch(props) {
284
- const methods = useFormContext();
285
- const { control = methods.control, name, defaultValue, disabled, exact, } = props || {};
286
- const _defaultValue = React__default.useRef(defaultValue);
287
- const [value, updateValue] = React__default.useState(control._getWatch(name, _defaultValue.current));
288
- useIsomorphicLayoutEffect(() => control._subscribe({
289
- name,
290
- formState: {
291
- values: true,
292
- },
293
- exact,
294
- callback: (formState) => !disabled &&
295
- updateValue(generateWatchOutput(name, control._names, formState.values || control._formValues, false, _defaultValue.current)),
296
- }), [name, control, disabled, exact]);
297
- React__default.useEffect(() => control._removeUnmounted());
298
- return value;
293
+ const formControl = useFormControlContext();
294
+ const { control = formControl, name, defaultValue, disabled, exact, compute, } = props || {};
295
+ const _defaultValue = React.useRef(defaultValue);
296
+ const _compute = React.useRef(compute);
297
+ const _computeFormValues = React.useRef(undefined);
298
+ const _prevControl = React.useRef(control);
299
+ const _prevName = React.useRef(name);
300
+ _compute.current = compute;
301
+ const [value, updateValue] = React.useState(() => {
302
+ const defaultValue = control._getWatch(name, _defaultValue.current);
303
+ return _compute.current ? _compute.current(defaultValue) : defaultValue;
304
+ });
305
+ const getCurrentOutput = React.useCallback((values) => {
306
+ const formValues = generateWatchOutput(name, control._names, values || control._formValues, false, _defaultValue.current);
307
+ return _compute.current ? _compute.current(formValues) : formValues;
308
+ }, [control._formValues, control._names, name]);
309
+ const refreshValue = React.useCallback((values) => {
310
+ if (!disabled) {
311
+ const formValues = generateWatchOutput(name, control._names, values || control._formValues, false, _defaultValue.current);
312
+ if (_compute.current) {
313
+ const computedFormValues = _compute.current(formValues);
314
+ if (!deepEqual(computedFormValues, _computeFormValues.current)) {
315
+ updateValue(computedFormValues);
316
+ _computeFormValues.current = computedFormValues;
317
+ }
318
+ }
319
+ else {
320
+ updateValue(formValues);
321
+ }
322
+ }
323
+ }, [control._formValues, control._names, disabled, name]);
324
+ useIsomorphicLayoutEffect(() => {
325
+ if (_prevControl.current !== control ||
326
+ !deepEqual(_prevName.current, name)) {
327
+ _prevControl.current = control;
328
+ _prevName.current = name;
329
+ refreshValue();
330
+ }
331
+ return control._subscribe({
332
+ name,
333
+ formState: {
334
+ values: true,
335
+ },
336
+ exact,
337
+ callback: (formState) => {
338
+ refreshValue(formState.values);
339
+ },
340
+ });
341
+ }, [control, exact, name, refreshValue]);
342
+ React.useEffect(() => control._removeUnmounted());
343
+ // If name or control changed for this render, synchronously reflect the
344
+ // latest value so callers (like useController) see the correct value
345
+ // immediately on the same render.
346
+ // Optimize: Check control reference first before expensive deepEqual
347
+ const controlChanged = _prevControl.current !== control;
348
+ const prevName = _prevName.current;
349
+ // Cache the computed output to avoid duplicate calls within the same render
350
+ // We include shouldReturnImmediate in deps to ensure proper recomputation
351
+ const computedOutput = React.useMemo(() => {
352
+ if (disabled) {
353
+ return null;
354
+ }
355
+ const nameChanged = !controlChanged && !deepEqual(prevName, name);
356
+ const shouldReturnImmediate = controlChanged || nameChanged;
357
+ return shouldReturnImmediate ? getCurrentOutput() : null;
358
+ }, [disabled, controlChanged, name, prevName, getCurrentOutput]);
359
+ return computedOutput !== null ? computedOutput : value;
299
360
  }
300
361
 
301
362
  /**
@@ -323,27 +384,30 @@ function useWatch(props) {
323
384
  * ```
324
385
  */
325
386
  function useController(props) {
326
- const methods = useFormContext();
327
- const { name, disabled, control = methods.control, shouldUnregister } = props;
387
+ const formControl = useFormControlContext();
388
+ const { name, disabled, control = formControl, shouldUnregister, defaultValue, exact = true, } = props;
328
389
  const isArrayField = isNameInFieldArray(control._names.array, name);
390
+ const defaultValueMemo = React.useMemo(() => get(control._formValues, name, get(control._defaultValues, name, defaultValue)), [control, name, defaultValue]);
329
391
  const value = useWatch({
330
392
  control,
331
393
  name,
332
- defaultValue: get(control._formValues, name, get(control._defaultValues, name, props.defaultValue)),
333
- exact: true,
394
+ defaultValue: defaultValueMemo,
395
+ exact,
334
396
  });
335
397
  const formState = useFormState({
336
398
  control,
337
399
  name,
338
- exact: true,
400
+ exact,
339
401
  });
340
- const _props = React__default.useRef(props);
341
- const _registerProps = React__default.useRef(control.register(name, {
402
+ const _props = React.useRef(props);
403
+ const _previousNameRef = React.useRef(undefined);
404
+ const _registerProps = React.useRef(control.register(name, {
342
405
  ...props.rules,
343
406
  value,
344
407
  ...(isBoolean(props.disabled) ? { disabled: props.disabled } : {}),
345
408
  }));
346
- const fieldState = React__default.useMemo(() => Object.defineProperties({}, {
409
+ _props.current = props;
410
+ const fieldState = React.useMemo(() => Object.defineProperties({}, {
347
411
  invalid: {
348
412
  enumerable: true,
349
413
  get: () => !!get(formState.errors, name),
@@ -365,32 +429,32 @@ function useController(props) {
365
429
  get: () => get(formState.errors, name),
366
430
  },
367
431
  }), [formState, name]);
368
- const onChange = React__default.useCallback((event) => _registerProps.current.onChange({
432
+ const onChange = React.useCallback((event) => _registerProps.current.onChange({
369
433
  target: {
370
434
  value: getEventValue(event),
371
435
  name: name,
372
436
  },
373
437
  type: EVENTS.CHANGE,
374
438
  }), [name]);
375
- const onBlur = React__default.useCallback(() => _registerProps.current.onBlur({
439
+ const onBlur = React.useCallback(() => _registerProps.current.onBlur({
376
440
  target: {
377
441
  value: get(control._formValues, name),
378
442
  name: name,
379
443
  },
380
444
  type: EVENTS.BLUR,
381
445
  }), [name, control._formValues]);
382
- const ref = React__default.useCallback((elm) => {
446
+ const ref = React.useCallback((elm) => {
383
447
  const field = get(control._fields, name);
384
- if (field && elm) {
448
+ if (field && field._f && elm) {
385
449
  field._f.ref = {
386
- focus: () => elm.focus && elm.focus(),
387
- select: () => elm.select && elm.select(),
388
- setCustomValidity: (message) => elm.setCustomValidity(message),
389
- reportValidity: () => elm.reportValidity(),
450
+ focus: () => isFunction(elm.focus) && elm.focus(),
451
+ select: () => isFunction(elm.select) && elm.select(),
452
+ setCustomValidity: (message) => isFunction(elm.setCustomValidity) && elm.setCustomValidity(message),
453
+ reportValidity: () => isFunction(elm.reportValidity) && elm.reportValidity(),
390
454
  };
391
455
  }
392
456
  }, [control._fields, name]);
393
- const field = React__default.useMemo(() => ({
457
+ const field = React.useMemo(() => ({
394
458
  name,
395
459
  value,
396
460
  ...(isBoolean(disabled) || formState.disabled
@@ -400,8 +464,12 @@ function useController(props) {
400
464
  onBlur,
401
465
  ref,
402
466
  }), [name, disabled, formState.disabled, onChange, onBlur, ref, value]);
403
- React__default.useEffect(() => {
467
+ React.useEffect(() => {
404
468
  const _shouldUnregisterField = control._options.shouldUnregister || shouldUnregister;
469
+ const previousName = _previousNameRef.current;
470
+ if (previousName && previousName !== name && !isArrayField) {
471
+ control.unregister(previousName);
472
+ }
405
473
  control.register(name, {
406
474
  ..._props.current.rules,
407
475
  ...(isBoolean(_props.current.disabled)
@@ -416,13 +484,14 @@ function useController(props) {
416
484
  };
417
485
  updateMounted(name, true);
418
486
  if (_shouldUnregisterField) {
419
- const value = cloneObject(get(control._options.defaultValues, name));
487
+ const value = cloneObject(get(control._options.defaultValues, name, _props.current.defaultValue));
420
488
  set(control._defaultValues, name, value);
421
489
  if (isUndefined(get(control._formValues, name))) {
422
490
  set(control._formValues, name, value);
423
491
  }
424
492
  }
425
493
  !isArrayField && control.register(name);
494
+ _previousNameRef.current = name;
426
495
  return () => {
427
496
  (isArrayField
428
497
  ? _shouldUnregisterField && !control._state.action
@@ -431,19 +500,22 @@ function useController(props) {
431
500
  : updateMounted(name, false);
432
501
  };
433
502
  }, [name, control, isArrayField, shouldUnregister]);
434
- React__default.useEffect(() => {
503
+ React.useEffect(() => {
435
504
  control._setDisabledField({
436
505
  disabled,
437
506
  name,
438
507
  });
439
508
  }, [disabled, name, control]);
440
- return React__default.useMemo(() => ({
509
+ return React.useMemo(() => ({
441
510
  field,
442
511
  formState,
443
512
  fieldState,
444
513
  }), [field, formState, fieldState]);
445
514
  }
446
515
 
516
+ const HookFormContext = React.createContext(null);
517
+ HookFormContext.displayName = 'HookFormContext';
518
+
447
519
  var appendErrors = (name, validateAllFieldCriteria, errors, type, message) => validateAllFieldCriteria
448
520
  ? {
449
521
  ...errors[name],
@@ -484,50 +556,30 @@ var createSubject = () => {
484
556
  };
485
557
  };
486
558
 
487
- var isPrimitive = (value) => isNullOrUndefined(value) || !isObjectType(value);
488
-
489
- function deepEqual(object1, object2, _internal_visited = new WeakSet()) {
490
- if (isPrimitive(object1) || isPrimitive(object2)) {
491
- return object1 === object2;
492
- }
493
- if (isDateObject(object1) && isDateObject(object2)) {
494
- return object1.getTime() === object2.getTime();
495
- }
496
- const keys1 = Object.keys(object1);
497
- const keys2 = Object.keys(object2);
498
- if (keys1.length !== keys2.length) {
499
- return false;
500
- }
501
- if (_internal_visited.has(object1) || _internal_visited.has(object2)) {
502
- return true;
503
- }
504
- _internal_visited.add(object1);
505
- _internal_visited.add(object2);
506
- for (const key of keys1) {
507
- const val1 = object1[key];
508
- if (!keys2.includes(key)) {
509
- return false;
510
- }
511
- if (key !== 'ref') {
512
- const val2 = object2[key];
513
- if ((isDateObject(val1) && isDateObject(val2)) ||
514
- (isObject(val1) && isObject(val2)) ||
515
- (Array.isArray(val1) && Array.isArray(val2))
516
- ? !deepEqual(val1, val2, _internal_visited)
517
- : val1 !== val2) {
518
- return false;
559
+ function extractFormValues(fieldsState, formValues) {
560
+ const values = {};
561
+ for (const key in fieldsState) {
562
+ if (fieldsState.hasOwnProperty(key)) {
563
+ const fieldState = fieldsState[key];
564
+ const fieldValue = formValues[key];
565
+ if (fieldState && isObject(fieldState) && fieldValue) {
566
+ const nestedFieldsState = extractFormValues(fieldState, fieldValue);
567
+ if (isObject(nestedFieldsState)) {
568
+ values[key] = nestedFieldsState;
569
+ }
570
+ }
571
+ else if (fieldsState[key]) {
572
+ values[key] = fieldValue;
519
573
  }
520
574
  }
521
575
  }
522
- return true;
576
+ return values;
523
577
  }
524
578
 
525
579
  var isEmptyObject = (value) => isObject(value) && !Object.keys(value).length;
526
580
 
527
581
  var isFileInput = (element) => element.type === 'file';
528
582
 
529
- var isFunction = (value) => typeof value === 'function';
530
-
531
583
  var isHTMLElement = (value) => {
532
584
  if (!isWeb) {
533
585
  return false;
@@ -590,46 +642,43 @@ var objectHasFunction = (data) => {
590
642
  return false;
591
643
  };
592
644
 
645
+ function isTraversable(value) {
646
+ return Array.isArray(value) || (isObject(value) && !objectHasFunction(value));
647
+ }
593
648
  function markFieldsDirty(data, fields = {}) {
594
- const isParentNodeArray = Array.isArray(data);
595
- if (isObject(data) || isParentNodeArray) {
596
- for (const key in data) {
597
- if (Array.isArray(data[key]) ||
598
- (isObject(data[key]) && !objectHasFunction(data[key]))) {
599
- fields[key] = Array.isArray(data[key]) ? [] : {};
600
- markFieldsDirty(data[key], fields[key]);
601
- }
602
- else if (!isNullOrUndefined(data[key])) {
603
- fields[key] = true;
604
- }
649
+ for (const key in data) {
650
+ const value = data[key];
651
+ if (isTraversable(value)) {
652
+ fields[key] = Array.isArray(value) ? [] : {};
653
+ markFieldsDirty(value, fields[key]);
654
+ }
655
+ else if (!isUndefined(value)) {
656
+ fields[key] = true;
605
657
  }
606
658
  }
607
659
  return fields;
608
660
  }
609
- function getDirtyFieldsFromDefaultValues(data, formValues, dirtyFieldsFromValues) {
610
- const isParentNodeArray = Array.isArray(data);
611
- if (isObject(data) || isParentNodeArray) {
612
- for (const key in data) {
613
- if (Array.isArray(data[key]) ||
614
- (isObject(data[key]) && !objectHasFunction(data[key]))) {
615
- if (isUndefined(formValues) ||
616
- isPrimitive(dirtyFieldsFromValues[key])) {
617
- dirtyFieldsFromValues[key] = Array.isArray(data[key])
618
- ? markFieldsDirty(data[key], [])
619
- : { ...markFieldsDirty(data[key]) };
620
- }
621
- else {
622
- getDirtyFieldsFromDefaultValues(data[key], isNullOrUndefined(formValues) ? {} : formValues[key], dirtyFieldsFromValues[key]);
623
- }
661
+ function getDirtyFields(data, formValues, dirtyFieldsFromValues) {
662
+ if (!dirtyFieldsFromValues) {
663
+ dirtyFieldsFromValues = markFieldsDirty(formValues);
664
+ }
665
+ for (const key in data) {
666
+ const value = data[key];
667
+ if (isTraversable(value)) {
668
+ if (isUndefined(formValues) || isPrimitive(dirtyFieldsFromValues[key])) {
669
+ dirtyFieldsFromValues[key] = markFieldsDirty(value, Array.isArray(value) ? [] : {});
624
670
  }
625
671
  else {
626
- dirtyFieldsFromValues[key] = !deepEqual(data[key], formValues[key]);
672
+ getDirtyFields(value, isNullOrUndefined(formValues) ? {} : formValues[key], dirtyFieldsFromValues[key]);
627
673
  }
628
674
  }
675
+ else {
676
+ const formValue = formValues[key];
677
+ dirtyFieldsFromValues[key] = !deepEqual(value, formValue);
678
+ }
629
679
  }
630
680
  return dirtyFieldsFromValues;
631
681
  }
632
- var getDirtyFields = (defaultValues, formValues) => getDirtyFieldsFromDefaultValues(defaultValues, formValues, markFieldsDirty(formValues));
633
682
 
634
683
  const defaultResult = {
635
684
  value: false,
@@ -863,15 +912,13 @@ var updateFieldArrayRootError = (errors, error, name) => {
863
912
  return errors;
864
913
  };
865
914
 
866
- var isMessage = (value) => isString(value);
867
-
868
915
  function getValidateError(result, ref, type = 'validate') {
869
- if (isMessage(result) ||
870
- (Array.isArray(result) && result.every(isMessage)) ||
916
+ if (isString(result) ||
917
+ (Array.isArray(result) && result.every(isString)) ||
871
918
  (isBoolean(result) && !result)) {
872
919
  return {
873
920
  type,
874
- message: isMessage(result) ? result : '',
921
+ message: isString(result) ? result : '',
875
922
  ref,
876
923
  };
877
924
  }
@@ -924,7 +971,7 @@ var validateField = async (field, disabledFieldNames, formValues, validateAllFie
924
971
  (isBoolean(inputValue) && !inputValue) ||
925
972
  (isCheckBox && !getCheckboxValue(refs).isValid) ||
926
973
  (isRadio && !getRadioValue(refs).isValid))) {
927
- const { value, message } = isMessage(required)
974
+ const { value, message } = isString(required)
928
975
  ? { value: !!required, message: required }
929
976
  : getValueAndMessage(required);
930
977
  if (value) {
@@ -1100,6 +1147,7 @@ function createFormControl(props = {}) {
1100
1147
  action: false,
1101
1148
  mount: false,
1102
1149
  watch: false,
1150
+ keepIsValid: false,
1103
1151
  };
1104
1152
  let _names = {
1105
1153
  mount: new Set(),
@@ -1110,7 +1158,7 @@ function createFormControl(props = {}) {
1110
1158
  };
1111
1159
  let delayErrorCallback;
1112
1160
  let timer = 0;
1113
- const _proxyFormState = {
1161
+ const defaultProxyFormState = {
1114
1162
  isDirty: false,
1115
1163
  dirtyFields: false,
1116
1164
  validatingFields: false,
@@ -1119,6 +1167,9 @@ function createFormControl(props = {}) {
1119
1167
  isValid: false,
1120
1168
  errors: false,
1121
1169
  };
1170
+ const _proxyFormState = {
1171
+ ...defaultProxyFormState,
1172
+ };
1122
1173
  let _proxySubscribeFormState = {
1123
1174
  ..._proxyFormState,
1124
1175
  };
@@ -1132,13 +1183,21 @@ function createFormControl(props = {}) {
1132
1183
  timer = setTimeout(callback, wait);
1133
1184
  };
1134
1185
  const _setValid = async (shouldUpdateValid) => {
1186
+ if (_state.keepIsValid) {
1187
+ return;
1188
+ }
1135
1189
  if (!_options.disabled &&
1136
1190
  (_proxyFormState.isValid ||
1137
1191
  _proxySubscribeFormState.isValid ||
1138
1192
  shouldUpdateValid)) {
1139
- const isValid = _options.resolver
1140
- ? isEmptyObject((await _runSchema()).errors)
1141
- : await executeBuiltInValidation(_fields, true);
1193
+ let isValid;
1194
+ if (_options.resolver) {
1195
+ isValid = isEmptyObject((await _runSchema()).errors);
1196
+ _updateIsValidating();
1197
+ }
1198
+ else {
1199
+ isValid = await executeBuiltInValidation(_fields, true);
1200
+ }
1142
1201
  if (isValid !== _formState.isValid) {
1143
1202
  _subjects.state.next({
1144
1203
  isValid,
@@ -1222,7 +1281,7 @@ function createFormControl(props = {}) {
1222
1281
  shouldSkipSetValueAs
1223
1282
  ? set(_formValues, name, shouldSkipSetValueAs ? defaultValue : getFieldValue(field._f))
1224
1283
  : setFieldValue(name, defaultValue);
1225
- _state.mount && _setValid();
1284
+ _state.mount && !_state.action && _setValid();
1226
1285
  }
1227
1286
  };
1228
1287
  const updateTouchAndDirty = (name, fieldValue, isBlurEvent, shouldDirty, shouldRender) => {
@@ -1301,11 +1360,11 @@ function createFormControl(props = {}) {
1301
1360
  const _runSchema = async (name) => {
1302
1361
  _updateIsValidating(name, true);
1303
1362
  const result = await _options.resolver(_formValues, _options.context, getResolverOptions(name || _names.mount, _fields, _options.criteriaMode, _options.shouldUseNativeValidation));
1304
- _updateIsValidating(name);
1305
1363
  return result;
1306
1364
  };
1307
1365
  const executeSchemaAndUpdateState = async (names) => {
1308
1366
  const { errors } = await _runSchema(names);
1367
+ _updateIsValidating(names);
1309
1368
  if (names) {
1310
1369
  for (const name of names) {
1311
1370
  const error = get(errors, name);
@@ -1330,15 +1389,15 @@ function createFormControl(props = {}) {
1330
1389
  const isFieldArrayRoot = _names.array.has(_f.name);
1331
1390
  const isPromiseFunction = field._f && hasPromiseValidation(field._f);
1332
1391
  if (isPromiseFunction && _proxyFormState.validatingFields) {
1333
- _updateIsValidating([name], true);
1392
+ _updateIsValidating([_f.name], true);
1334
1393
  }
1335
1394
  const fieldError = await validateField(field, _names.disabled, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation && !shouldOnlyCheckValid, isFieldArrayRoot);
1336
1395
  if (isPromiseFunction && _proxyFormState.validatingFields) {
1337
- _updateIsValidating([name]);
1396
+ _updateIsValidating([_f.name]);
1338
1397
  }
1339
1398
  if (fieldError[_f.name]) {
1340
1399
  context.valid = false;
1341
- if (shouldOnlyCheckValid) {
1400
+ if (shouldOnlyCheckValid || props.shouldUseNativeValidation) {
1342
1401
  break;
1343
1402
  }
1344
1403
  }
@@ -1473,11 +1532,19 @@ function createFormControl(props = {}) {
1473
1532
  ? setValues(name, cloneValue, options)
1474
1533
  : setFieldValue(name, cloneValue, options);
1475
1534
  }
1476
- isWatched(name, _names) && _subjects.state.next({ ..._formState });
1477
- _subjects.state.next({
1478
- name: _state.mount ? name : undefined,
1479
- values: cloneObject(_formValues),
1480
- });
1535
+ if (isWatched(name, _names)) {
1536
+ _subjects.state.next({
1537
+ ..._formState,
1538
+ name,
1539
+ values: cloneObject(_formValues),
1540
+ });
1541
+ }
1542
+ else {
1543
+ _subjects.state.next({
1544
+ name: _state.mount ? name : undefined,
1545
+ values: cloneObject(_formValues),
1546
+ });
1547
+ }
1481
1548
  };
1482
1549
  const onChange = async (event) => {
1483
1550
  _state.mount = true;
@@ -1508,8 +1575,10 @@ function createFormControl(props = {}) {
1508
1575
  const watched = isWatched(name, _names, isBlurEvent);
1509
1576
  set(_formValues, name, fieldValue);
1510
1577
  if (isBlurEvent) {
1511
- field._f.onBlur && field._f.onBlur(event);
1512
- delayErrorCallback && delayErrorCallback(0);
1578
+ if (!target || !target.readOnly) {
1579
+ field._f.onBlur && field._f.onBlur(event);
1580
+ delayErrorCallback && delayErrorCallback(0);
1581
+ }
1513
1582
  }
1514
1583
  else if (field._f.onChange) {
1515
1584
  field._f.onChange(event);
@@ -1539,6 +1608,7 @@ function createFormControl(props = {}) {
1539
1608
  !isBlurEvent && watched && _subjects.state.next({ ..._formState });
1540
1609
  if (_options.resolver) {
1541
1610
  const { errors } = await _runSchema([name]);
1611
+ _updateIsValidating([name]);
1542
1612
  _updateIsFieldValueUpdated(fieldValue);
1543
1613
  if (isFieldValueUpdated) {
1544
1614
  const previousErrorLookupResult = schemaErrorLookup(_formState.errors, _fields, name);
@@ -1565,6 +1635,7 @@ function createFormControl(props = {}) {
1565
1635
  }
1566
1636
  if (isFieldValueUpdated) {
1567
1637
  field._f.deps &&
1638
+ (!Array.isArray(field._f.deps) || field._f.deps.length > 0) &&
1568
1639
  trigger(field._f.deps);
1569
1640
  shouldRenderByError(name, isValid, error, fieldState);
1570
1641
  }
@@ -1612,10 +1683,13 @@ function createFormControl(props = {}) {
1612
1683
  iterateFieldsByAction(_fields, _focusInput, name ? fieldNames : _names.mount);
1613
1684
  return validationResult;
1614
1685
  };
1615
- const getValues = (fieldNames) => {
1616
- const values = {
1686
+ const getValues = (fieldNames, config) => {
1687
+ let values = {
1617
1688
  ...(_state.mount ? _formValues : _defaultValues),
1618
1689
  };
1690
+ if (config) {
1691
+ values = extractFormValues(config.dirtyFields ? _formState.dirtyFields : _formState.touchedFields, values);
1692
+ }
1619
1693
  return isUndefined(fieldNames)
1620
1694
  ? values
1621
1695
  : isString(fieldNames)
@@ -1655,7 +1729,8 @@ function createFormControl(props = {}) {
1655
1729
  };
1656
1730
  const watch = (name, defaultValue) => isFunction(name)
1657
1731
  ? _subjects.state.subscribe({
1658
- next: (payload) => name(_getWatch(undefined, defaultValue), payload),
1732
+ next: (payload) => 'values' in payload &&
1733
+ name(_getWatch(undefined, defaultValue), payload),
1659
1734
  })
1660
1735
  : _getWatch(name, defaultValue, true);
1661
1736
  const _subscribe = (props) => _subjects.state.subscribe({
@@ -1666,6 +1741,7 @@ function createFormControl(props = {}) {
1666
1741
  values: { ..._formValues },
1667
1742
  ..._formState,
1668
1743
  ...formState,
1744
+ defaultValues: _defaultValues,
1669
1745
  });
1670
1746
  }
1671
1747
  },
@@ -1678,7 +1754,10 @@ function createFormControl(props = {}) {
1678
1754
  };
1679
1755
  return _subscribe({
1680
1756
  ...props,
1681
- formState: _proxySubscribeFormState,
1757
+ formState: {
1758
+ ...defaultProxyFormState,
1759
+ ...props.formState,
1760
+ },
1682
1761
  });
1683
1762
  };
1684
1763
  const unregister = (name, options = {}) => {
@@ -1711,7 +1790,11 @@ function createFormControl(props = {}) {
1711
1790
  if ((isBoolean(disabled) && _state.mount) ||
1712
1791
  !!disabled ||
1713
1792
  _names.disabled.has(name)) {
1793
+ const wasDisabled = _names.disabled.has(name);
1794
+ const isDisabled = !!disabled;
1795
+ const disabledStateChanged = wasDisabled !== isDisabled;
1714
1796
  disabled ? _names.disabled.add(name) : _names.disabled.delete(name);
1797
+ disabledStateChanged && _state.mount && !_state.action && _setValid();
1715
1798
  }
1716
1799
  };
1717
1800
  const register = (name, options = {}) => {
@@ -1831,6 +1914,7 @@ function createFormControl(props = {}) {
1831
1914
  });
1832
1915
  if (_options.resolver) {
1833
1916
  const { errors, values } = await _runSchema();
1917
+ _updateIsValidating();
1834
1918
  _formState.errors = errors;
1835
1919
  fieldValues = cloneObject(values);
1836
1920
  }
@@ -1912,9 +1996,15 @@ function createFormControl(props = {}) {
1912
1996
  ...Object.keys(getDirtyFields(_defaultValues, _formValues)),
1913
1997
  ]);
1914
1998
  for (const fieldName of Array.from(fieldsToCheck)) {
1915
- get(_formState.dirtyFields, fieldName)
1916
- ? set(values, fieldName, get(_formValues, fieldName))
1917
- : setValue(fieldName, get(values, fieldName));
1999
+ const isDirty = get(_formState.dirtyFields, fieldName);
2000
+ const existingValue = get(_formValues, fieldName);
2001
+ const newValue = get(values, fieldName);
2002
+ if (isDirty && !isUndefined(existingValue)) {
2003
+ set(values, fieldName, existingValue);
2004
+ }
2005
+ else if (!isDirty && !isUndefined(newValue)) {
2006
+ setValue(fieldName, newValue);
2007
+ }
1918
2008
  }
1919
2009
  }
1920
2010
  else {
@@ -1968,8 +2058,17 @@ function createFormControl(props = {}) {
1968
2058
  _state.mount =
1969
2059
  !_proxyFormState.isValid ||
1970
2060
  !!keepStateOptions.keepIsValid ||
1971
- !!keepStateOptions.keepDirtyValues;
2061
+ !!keepStateOptions.keepDirtyValues ||
2062
+ (!_options.shouldUnregister && !isEmptyObject(values));
1972
2063
  _state.watch = !!_options.shouldUnregister;
2064
+ _state.keepIsValid = !!keepStateOptions.keepIsValid;
2065
+ _state.action = false;
2066
+ // Clear errors synchronously to prevent validation errors on subsequent submissions
2067
+ // This fixes the issue where form.reset() causes validation errors on subsequent
2068
+ // submissions in Next.js 16 with Server Actions
2069
+ if (!keepStateOptions.keepErrors) {
2070
+ _formState.errors = {};
2071
+ }
1973
2072
  _subjects.state.next({
1974
2073
  submitCount: keepStateOptions.keepSubmitCount
1975
2074
  ? _formState.submitCount
@@ -2002,11 +2101,12 @@ function createFormControl(props = {}) {
2002
2101
  ? _formState.isSubmitSuccessful
2003
2102
  : false,
2004
2103
  isSubmitting: false,
2104
+ defaultValues: _defaultValues,
2005
2105
  });
2006
2106
  };
2007
2107
  const reset = (formValues, keepStateOptions) => _reset(isFunction(formValues)
2008
2108
  ? formValues(_formValues)
2009
- : formValues, keepStateOptions);
2109
+ : formValues, { ..._options.resetOptions, ...keepStateOptions });
2010
2110
  const setFocus = (name, options = {}) => {
2011
2111
  const field = get(_fields, name);
2012
2112
  const fieldReference = field && field._f;
@@ -2015,10 +2115,14 @@ function createFormControl(props = {}) {
2015
2115
  ? fieldReference.refs[0]
2016
2116
  : fieldReference.ref;
2017
2117
  if (fieldRef.focus) {
2018
- fieldRef.focus();
2019
- options.shouldSelect &&
2020
- isFunction(fieldRef.select) &&
2021
- fieldRef.select();
2118
+ // Use setTimeout to ensure focus happens after any pending state updates
2119
+ // This fixes the issue where setFocus doesn't work immediately after setError
2120
+ setTimeout(() => {
2121
+ fieldRef.focus();
2122
+ options.shouldSelect &&
2123
+ isFunction(fieldRef.select) &&
2124
+ fieldRef.select();
2125
+ });
2022
2126
  }
2023
2127
  }
2024
2128
  };
@@ -2044,6 +2148,7 @@ function createFormControl(props = {}) {
2044
2148
  setError,
2045
2149
  _subscribe,
2046
2150
  _runSchema,
2151
+ _updateIsValidating,
2047
2152
  _focusError,
2048
2153
  _getWatch,
2049
2154
  _getDirty,
@@ -2119,7 +2224,7 @@ var generateId = () => {
2119
2224
  }
2120
2225
  const d = typeof performance === 'undefined' ? Date.now() : performance.now() * 1000;
2121
2226
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
2122
- const r = (Math.random() * 16 + d) % 16 | 0;
2227
+ const r = ((Math.random() * 16 + d) % 16) | 0;
2123
2228
  return (c == 'x' ? r : (r & 0x3) | 0x8).toString(16);
2124
2229
  });
2125
2230
  };
@@ -2220,30 +2325,27 @@ var updateAt = (fieldValues, index, value) => {
2220
2325
  * ```
2221
2326
  */
2222
2327
  function useFieldArray(props) {
2223
- const methods = useFormContext();
2224
- const { control = methods.control, name, keyName = 'id', shouldUnregister, rules, } = props;
2225
- const [fields, setFields] = React__default.useState(control._getFieldArray(name));
2226
- const ids = React__default.useRef(control._getFieldArray(name).map(generateId));
2227
- const _fieldIds = React__default.useRef(fields);
2228
- const _name = React__default.useRef(name);
2229
- const _actioned = React__default.useRef(false);
2230
- _name.current = name;
2231
- _fieldIds.current = fields;
2328
+ const formControl = useFormControlContext();
2329
+ const { control = formControl, name, keyName = 'id', shouldUnregister, rules, } = props;
2330
+ const [fields, setFields] = React.useState(control._getFieldArray(name));
2331
+ const ids = React.useRef(control._getFieldArray(name).map(generateId));
2332
+ const _actioned = React.useRef(false);
2232
2333
  control._names.array.add(name);
2233
- rules &&
2234
- control.register(name, rules);
2334
+ React.useMemo(() => rules &&
2335
+ fields.length >= 0 &&
2336
+ control.register(name, rules), [control, name, fields.length, rules]);
2235
2337
  useIsomorphicLayoutEffect(() => control._subjects.array.subscribe({
2236
2338
  next: ({ values, name: fieldArrayName, }) => {
2237
- if (fieldArrayName === _name.current || !fieldArrayName) {
2238
- const fieldValues = get(values, _name.current);
2339
+ if (fieldArrayName === name || !fieldArrayName) {
2340
+ const fieldValues = get(values, name);
2239
2341
  if (Array.isArray(fieldValues)) {
2240
2342
  setFields(fieldValues);
2241
2343
  ids.current = fieldValues.map(generateId);
2242
2344
  }
2243
2345
  }
2244
2346
  },
2245
- }).unsubscribe, [control]);
2246
- const updateValues = React__default.useCallback((updatedFieldArrayValues) => {
2347
+ }).unsubscribe, [control, name]);
2348
+ const updateValues = React.useCallback((updatedFieldArrayValues) => {
2247
2349
  _actioned.current = true;
2248
2350
  control._setFieldArray(name, updatedFieldArrayValues);
2249
2351
  }, [control, name]);
@@ -2332,7 +2434,7 @@ function useFieldArray(props) {
2332
2434
  setFields([...updatedFieldArrayValues]);
2333
2435
  control._setFieldArray(name, [...updatedFieldArrayValues], (data) => data, {}, true, false);
2334
2436
  };
2335
- React__default.useEffect(() => {
2437
+ React.useEffect(() => {
2336
2438
  control._state.action = false;
2337
2439
  isWatched(name, control._names) &&
2338
2440
  control._subjects.state.next({
@@ -2344,6 +2446,7 @@ function useFieldArray(props) {
2344
2446
  !getValidationModes(control._options.reValidateMode).isOnSubmit) {
2345
2447
  if (control._options.resolver) {
2346
2448
  control._runSchema([name]).then((result) => {
2449
+ control._updateIsValidating([name]);
2347
2450
  const error = get(result.errors, name);
2348
2451
  const existingError = get(control._formState.errors, name);
2349
2452
  if (existingError
@@ -2392,7 +2495,7 @@ function useFieldArray(props) {
2392
2495
  control._setValid();
2393
2496
  _actioned.current = false;
2394
2497
  }, [fields, name, control]);
2395
- React__default.useEffect(() => {
2498
+ React.useEffect(() => {
2396
2499
  !get(control._formValues, name) && control._setFieldArray(name);
2397
2500
  return () => {
2398
2501
  const updateMounted = (name, value) => {
@@ -2407,15 +2510,15 @@ function useFieldArray(props) {
2407
2510
  };
2408
2511
  }, [name, control, keyName, shouldUnregister]);
2409
2512
  return {
2410
- swap: React__default.useCallback(swap, [updateValues, name, control]),
2411
- move: React__default.useCallback(move, [updateValues, name, control]),
2412
- prepend: React__default.useCallback(prepend, [updateValues, name, control]),
2413
- append: React__default.useCallback(append, [updateValues, name, control]),
2414
- remove: React__default.useCallback(remove, [updateValues, name, control]),
2415
- insert: React__default.useCallback(insert$1, [updateValues, name, control]),
2416
- update: React__default.useCallback(update, [updateValues, name, control]),
2417
- replace: React__default.useCallback(replace, [updateValues, name, control]),
2418
- fields: React__default.useMemo(() => fields.map((field, index) => ({
2513
+ swap: React.useCallback(swap, [updateValues, name, control]),
2514
+ move: React.useCallback(move, [updateValues, name, control]),
2515
+ prepend: React.useCallback(prepend, [updateValues, name, control]),
2516
+ append: React.useCallback(append, [updateValues, name, control]),
2517
+ remove: React.useCallback(remove, [updateValues, name, control]),
2518
+ insert: React.useCallback(insert$1, [updateValues, name, control]),
2519
+ update: React.useCallback(update, [updateValues, name, control]),
2520
+ replace: React.useCallback(replace, [updateValues, name, control]),
2521
+ fields: React.useMemo(() => fields.map((field, index) => ({
2419
2522
  ...field,
2420
2523
  [keyName]: ids.current[index] || generateId(),
2421
2524
  })), [fields, keyName]),
@@ -2452,9 +2555,9 @@ function useFieldArray(props) {
2452
2555
  * ```
2453
2556
  */
2454
2557
  function useForm(props = {}) {
2455
- const _formControl = React__default.useRef(undefined);
2456
- const _values = React__default.useRef(undefined);
2457
- const [formState, updateFormState] = React__default.useState({
2558
+ const _formControl = React.useRef(undefined);
2559
+ const _values = React.useRef(undefined);
2560
+ const [formState, updateFormState] = React.useState({
2458
2561
  isDirty: false,
2459
2562
  isValidating: false,
2460
2563
  isLoading: isFunction(props.defaultValues),
@@ -2506,8 +2609,8 @@ function useForm(props = {}) {
2506
2609
  control._formState.isReady = true;
2507
2610
  return sub;
2508
2611
  }, [control]);
2509
- React__default.useEffect(() => control._disableForm(props.disabled), [control, props.disabled]);
2510
- React__default.useEffect(() => {
2612
+ React.useEffect(() => control._disableForm(props.disabled), [control, props.disabled]);
2613
+ React.useEffect(() => {
2511
2614
  if (props.mode) {
2512
2615
  control._options.mode = props.mode;
2513
2616
  }
@@ -2515,19 +2618,19 @@ function useForm(props = {}) {
2515
2618
  control._options.reValidateMode = props.reValidateMode;
2516
2619
  }
2517
2620
  }, [control, props.mode, props.reValidateMode]);
2518
- React__default.useEffect(() => {
2621
+ React.useEffect(() => {
2519
2622
  if (props.errors) {
2520
2623
  control._setErrors(props.errors);
2521
2624
  control._focusError();
2522
2625
  }
2523
2626
  }, [control, props.errors]);
2524
- React__default.useEffect(() => {
2627
+ React.useEffect(() => {
2525
2628
  props.shouldUnregister &&
2526
2629
  control._subjects.state.next({
2527
2630
  values: control._getWatch(),
2528
2631
  });
2529
2632
  }, [control, props.shouldUnregister]);
2530
- React__default.useEffect(() => {
2633
+ React.useEffect(() => {
2531
2634
  if (control._proxyFormState.isDirty) {
2532
2635
  const isDirty = control._getDirty();
2533
2636
  if (isDirty !== formState.isDirty) {
@@ -2537,12 +2640,16 @@ function useForm(props = {}) {
2537
2640
  }
2538
2641
  }
2539
2642
  }, [control, formState.isDirty]);
2540
- React__default.useEffect(() => {
2643
+ React.useEffect(() => {
2644
+ var _a;
2541
2645
  if (props.values && !deepEqual(props.values, _values.current)) {
2542
2646
  control._reset(props.values, {
2543
2647
  keepFieldsRef: true,
2544
2648
  ...control._options.resetOptions,
2545
2649
  });
2650
+ if (!((_a = control._options.resetOptions) === null || _a === void 0 ? void 0 : _a.keepIsValid)) {
2651
+ control._setValid();
2652
+ }
2546
2653
  _values.current = props.values;
2547
2654
  updateFormState((state) => ({ ...state }));
2548
2655
  }
@@ -2550,7 +2657,7 @@ function useForm(props = {}) {
2550
2657
  control._resetDefaultValues();
2551
2658
  }
2552
2659
  }, [control, props.values]);
2553
- React__default.useEffect(() => {
2660
+ React.useEffect(() => {
2554
2661
  if (!control._state.mount) {
2555
2662
  control._setValid();
2556
2663
  control._state.mount = true;
@@ -2561,9 +2668,9 @@ function useForm(props = {}) {
2561
2668
  }
2562
2669
  control._removeUnmounted();
2563
2670
  });
2564
- _formControl.current.formState = getProxyFormState(formState, control);
2671
+ _formControl.current.formState = React.useMemo(() => getProxyFormState(formState, control), [control, formState]);
2565
2672
  return _formControl.current;
2566
2673
  }
2567
2674
 
2568
2675
  export { useForm as a, useController as b, useFieldArray as c, useWatch as d, appendErrors as e, get as g, set as s, useFormState as u };
2569
- //# sourceMappingURL=index.esm-1qBxxnfu.js.map
2676
+ //# sourceMappingURL=index.esm-BraHxHLB.js.map