@baseplate-dev/plugin-auth 4.0.3 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +51 -0
- package/README.md +3 -3
- package/dist/auth/core/node.d.ts.map +1 -1
- package/dist/auth/core/node.js +2 -1
- package/dist/auth/core/node.js.map +1 -1
- package/dist/auth/core/schema/plugin-definition.d.ts +2 -12
- package/dist/auth/core/schema/plugin-definition.d.ts.map +1 -1
- package/dist/auth/core/schema/roles/schema.d.ts +2 -12
- package/dist/auth/core/schema/roles/schema.d.ts.map +1 -1
- package/dist/auth/core/schema/roles/schema.js +10 -17
- package/dist/auth/core/schema/roles/schema.js.map +1 -1
- package/dist/auth/plugin.json +1 -1
- package/dist/better-auth/constants/model-names.d.ts +8 -0
- package/dist/better-auth/constants/model-names.d.ts.map +1 -0
- package/dist/better-auth/constants/model-names.js +8 -0
- package/dist/better-auth/constants/model-names.js.map +1 -0
- package/dist/better-auth/constants/packages.d.ts +4 -0
- package/dist/better-auth/constants/packages.d.ts.map +1 -0
- package/dist/better-auth/constants/packages.js +4 -0
- package/dist/better-auth/constants/packages.js.map +1 -0
- package/dist/better-auth/core/common.d.ts.map +1 -0
- package/dist/better-auth/core/common.js +17 -0
- package/dist/better-auth/core/common.js.map +1 -0
- package/dist/better-auth/core/components/better-auth-definition-editor.d.ts +5 -0
- package/dist/better-auth/core/components/better-auth-definition-editor.d.ts.map +1 -0
- package/dist/{auth0/core/components/auth0-definition-editor.js → better-auth/core/components/better-auth-definition-editor.js} +17 -17
- package/dist/better-auth/core/components/better-auth-definition-editor.js.map +1 -0
- package/dist/better-auth/core/index.d.ts +2 -0
- package/dist/better-auth/core/index.d.ts.map +1 -0
- package/dist/better-auth/core/index.js +2 -0
- package/dist/better-auth/core/index.js.map +1 -0
- package/dist/better-auth/core/node.d.ts.map +1 -0
- package/dist/{auth0 → better-auth}/core/node.js +16 -14
- package/dist/better-auth/core/node.js.map +1 -0
- package/dist/better-auth/core/schema/models.d.ts +3 -0
- package/dist/better-auth/core/schema/models.d.ts.map +1 -0
- package/dist/better-auth/core/schema/models.js +278 -0
- package/dist/better-auth/core/schema/models.js.map +1 -0
- package/dist/better-auth/core/schema/plugin-definition.d.ts +5 -0
- package/dist/better-auth/core/schema/plugin-definition.d.ts.map +1 -0
- package/dist/better-auth/core/schema/plugin-definition.js +4 -0
- package/dist/better-auth/core/schema/plugin-definition.js.map +1 -0
- package/dist/better-auth/core/web.d.ts.map +1 -0
- package/dist/{auth0 → better-auth}/core/web.js +2 -2
- package/dist/better-auth/core/web.js.map +1 -0
- 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
- package/dist/better-auth/generators/fastify/better-auth-module/better-auth-module.generator.d.ts.map +1 -0
- package/dist/better-auth/generators/fastify/better-auth-module/better-auth-module.generator.js +75 -0
- package/dist/better-auth/generators/fastify/better-auth-module/better-auth-module.generator.js.map +1 -0
- package/dist/{auth0/generators/fastify/auth0-module → better-auth/generators/fastify/better-auth-module}/generated/index.d.ts +41 -26
- package/dist/better-auth/generators/fastify/better-auth-module/generated/index.d.ts.map +1 -0
- package/dist/better-auth/generators/fastify/better-auth-module/generated/index.js +11 -0
- package/dist/better-auth/generators/fastify/better-auth-module/generated/index.js.map +1 -0
- package/dist/better-auth/generators/fastify/better-auth-module/generated/template-paths.d.ts +16 -0
- package/dist/better-auth/generators/fastify/better-auth-module/generated/template-paths.d.ts.map +1 -0
- package/dist/better-auth/generators/fastify/better-auth-module/generated/template-paths.js +28 -0
- package/dist/better-auth/generators/fastify/better-auth-module/generated/template-paths.js.map +1 -0
- package/dist/{auth0/generators/fastify/auth0-module → better-auth/generators/fastify/better-auth-module}/generated/template-renderers.d.ts +16 -10
- package/dist/better-auth/generators/fastify/better-auth-module/generated/template-renderers.d.ts.map +1 -0
- package/dist/{auth0/generators/fastify/auth0-module → better-auth/generators/fastify/better-auth-module}/generated/template-renderers.js +35 -16
- package/dist/better-auth/generators/fastify/better-auth-module/generated/template-renderers.js.map +1 -0
- package/dist/better-auth/generators/fastify/better-auth-module/generated/ts-import-providers.d.ts +30 -0
- package/dist/better-auth/generators/fastify/better-auth-module/generated/ts-import-providers.d.ts.map +1 -0
- package/dist/better-auth/generators/fastify/better-auth-module/generated/ts-import-providers.js +37 -0
- package/dist/better-auth/generators/fastify/better-auth-module/generated/ts-import-providers.js.map +1 -0
- package/dist/{auth0/generators/fastify/auth0-module → better-auth/generators/fastify/better-auth-module}/generated/typed-templates.d.ts +29 -20
- package/dist/better-auth/generators/fastify/better-auth-module/generated/typed-templates.d.ts.map +1 -0
- package/dist/{auth0/generators/fastify/auth0-module → better-auth/generators/fastify/better-auth-module}/generated/typed-templates.js +37 -9
- package/dist/better-auth/generators/fastify/better-auth-module/generated/typed-templates.js.map +1 -0
- package/dist/better-auth/generators/fastify/better-auth-module/index.d.ts +4 -0
- package/dist/better-auth/generators/fastify/better-auth-module/index.d.ts.map +1 -0
- package/dist/better-auth/generators/fastify/better-auth-module/index.js +3 -0
- package/dist/better-auth/generators/fastify/better-auth-module/index.js.map +1 -0
- package/dist/better-auth/generators/fastify/better-auth-module/templates/module/plugins/better-auth.plugin.ts +31 -0
- package/dist/{auth0/generators/fastify/auth0-module → better-auth/generators/fastify/better-auth-module}/templates/module/schema/user-session.queries.ts +1 -1
- package/dist/better-auth/generators/fastify/better-auth-module/templates/module/services/auth.ts +62 -0
- package/dist/better-auth/generators/fastify/better-auth-module/templates/module/services/user-session.service.ts +72 -0
- package/dist/better-auth/generators/fastify/better-auth-module/templates/module/utils/headers.utils.ts +21 -0
- package/dist/better-auth/generators/fastify/index.d.ts +2 -0
- package/dist/better-auth/generators/fastify/index.d.ts.map +1 -0
- package/dist/better-auth/generators/fastify/index.js +2 -0
- package/dist/better-auth/generators/fastify/index.js.map +1 -0
- package/dist/better-auth/generators/index.d.ts.map +1 -0
- package/dist/better-auth/generators/index.js.map +1 -0
- 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
- package/dist/better-auth/generators/react/better-auth-hooks/better-auth-hooks.generator.d.ts.map +1 -0
- 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
- package/dist/better-auth/generators/react/better-auth-hooks/better-auth-hooks.generator.js.map +1 -0
- package/dist/{auth0/generators/react/auth0-hooks → better-auth/generators/react/better-auth-hooks}/generated/index.d.ts +21 -8
- package/dist/better-auth/generators/react/better-auth-hooks/generated/index.d.ts.map +1 -0
- package/dist/better-auth/generators/react/better-auth-hooks/generated/index.js +11 -0
- package/dist/better-auth/generators/react/better-auth-hooks/generated/index.js.map +1 -0
- package/dist/better-auth/generators/react/better-auth-hooks/generated/template-paths.d.ts +14 -0
- package/dist/better-auth/generators/react/better-auth-hooks/generated/template-paths.d.ts.map +1 -0
- package/dist/{auth0/generators/react/auth0-hooks → better-auth/generators/react/better-auth-hooks}/generated/template-paths.js +9 -7
- package/dist/better-auth/generators/react/better-auth-hooks/generated/template-paths.js.map +1 -0
- package/dist/better-auth/generators/react/better-auth-hooks/generated/template-renderers.d.ts +27 -0
- package/dist/better-auth/generators/react/better-auth-hooks/generated/template-renderers.d.ts.map +1 -0
- package/dist/better-auth/generators/react/better-auth-hooks/generated/template-renderers.js +43 -0
- package/dist/better-auth/generators/react/better-auth-hooks/generated/template-renderers.js.map +1 -0
- package/dist/{auth0/generators/react/auth0-hooks → better-auth/generators/react/better-auth-hooks}/generated/ts-import-providers.d.ts +2 -2
- package/dist/better-auth/generators/react/better-auth-hooks/generated/ts-import-providers.d.ts.map +1 -0
- package/dist/{auth0/generators/react/auth0-hooks → better-auth/generators/react/better-auth-hooks}/generated/ts-import-providers.js +5 -5
- package/dist/better-auth/generators/react/better-auth-hooks/generated/ts-import-providers.js.map +1 -0
- package/dist/{auth0/generators/react/auth0-hooks → better-auth/generators/react/better-auth-hooks}/generated/typed-templates.d.ts +21 -3
- package/dist/better-auth/generators/react/better-auth-hooks/generated/typed-templates.d.ts.map +1 -0
- package/dist/{auth0/generators/react/auth0-hooks → better-auth/generators/react/better-auth-hooks}/generated/typed-templates.js +7 -3
- package/dist/better-auth/generators/react/better-auth-hooks/generated/typed-templates.js.map +1 -0
- package/dist/better-auth/generators/react/better-auth-hooks/index.d.ts +2 -0
- package/dist/better-auth/generators/react/better-auth-hooks/index.d.ts.map +1 -0
- package/dist/better-auth/generators/react/better-auth-hooks/index.js +2 -0
- package/dist/better-auth/generators/react/better-auth-hooks/index.js.map +1 -0
- package/dist/better-auth/generators/react/better-auth-hooks/templates/src/hooks/use-log-out.ts +18 -0
- package/dist/better-auth/generators/react/better-auth-hooks/templates/src/hooks/use-session.ts +30 -0
- 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
- package/dist/better-auth/generators/react/better-auth-pages/better-auth-pages.generator.d.ts.map +1 -0
- 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
- package/dist/better-auth/generators/react/better-auth-pages/better-auth-pages.generator.js.map +1 -0
- package/dist/{auth0/generators/react/auth0-pages → better-auth/generators/react/better-auth-pages}/generated/index.d.ts +246 -6
- package/dist/{auth0/generators/react/auth0-pages → better-auth/generators/react/better-auth-pages}/generated/index.d.ts.map +1 -1
- package/dist/better-auth/generators/react/better-auth-pages/generated/index.js +9 -0
- package/dist/better-auth/generators/react/better-auth-pages/generated/index.js.map +1 -0
- package/dist/better-auth/generators/react/better-auth-pages/generated/template-paths.d.ts +13 -0
- package/dist/better-auth/generators/react/better-auth-pages/generated/template-paths.d.ts.map +1 -0
- package/dist/better-auth/generators/react/better-auth-pages/generated/template-paths.js +25 -0
- package/dist/better-auth/generators/react/better-auth-pages/generated/template-paths.js.map +1 -0
- package/dist/{auth0/generators/react/react-auth0 → better-auth/generators/react/better-auth-pages}/generated/template-renderers.d.ts +13 -9
- package/dist/better-auth/generators/react/better-auth-pages/generated/template-renderers.d.ts.map +1 -0
- package/dist/better-auth/generators/react/better-auth-pages/generated/template-renderers.js +44 -0
- package/dist/better-auth/generators/react/better-auth-pages/generated/template-renderers.js.map +1 -0
- package/dist/better-auth/generators/react/better-auth-pages/generated/typed-templates.d.ts +895 -0
- package/dist/better-auth/generators/react/better-auth-pages/generated/typed-templates.d.ts.map +1 -0
- package/dist/better-auth/generators/react/better-auth-pages/generated/typed-templates.js +35 -0
- package/dist/better-auth/generators/react/better-auth-pages/generated/typed-templates.js.map +1 -0
- package/dist/better-auth/generators/react/better-auth-pages/index.d.ts +2 -0
- package/dist/better-auth/generators/react/better-auth-pages/index.d.ts.map +1 -0
- package/dist/better-auth/generators/react/better-auth-pages/index.js +2 -0
- package/dist/better-auth/generators/react/better-auth-pages/index.js.map +1 -0
- package/dist/better-auth/generators/react/better-auth-pages/templates/routes/auth/login.tsx +146 -0
- package/dist/better-auth/generators/react/better-auth-pages/templates/routes/auth/register.tsx +162 -0
- package/dist/better-auth/generators/react/index.d.ts +4 -0
- package/dist/better-auth/generators/react/index.d.ts.map +1 -0
- package/dist/better-auth/generators/react/index.js +4 -0
- package/dist/better-auth/generators/react/index.js.map +1 -0
- package/dist/{auth0/generators/react/react-auth0 → better-auth/generators/react/react-better-auth}/generated/index.d.ts +42 -7
- package/dist/{auth0/generators/react/react-auth0 → better-auth/generators/react/react-better-auth}/generated/index.d.ts.map +1 -1
- package/dist/better-auth/generators/react/react-better-auth/generated/index.js +11 -0
- package/dist/better-auth/generators/react/react-better-auth/generated/index.js.map +1 -0
- package/dist/better-auth/generators/react/react-better-auth/generated/template-paths.d.ts +13 -0
- package/dist/better-auth/generators/react/react-better-auth/generated/template-paths.d.ts.map +1 -0
- package/dist/better-auth/generators/react/react-better-auth/generated/template-paths.js +25 -0
- package/dist/better-auth/generators/react/react-better-auth/generated/template-paths.js.map +1 -0
- package/dist/{auth0/generators/react/auth0-pages → better-auth/generators/react/react-better-auth}/generated/template-renderers.d.ts +28 -9
- package/dist/better-auth/generators/react/react-better-auth/generated/template-renderers.d.ts.map +1 -0
- package/dist/better-auth/generators/react/react-better-auth/generated/template-renderers.js +51 -0
- package/dist/better-auth/generators/react/react-better-auth/generated/template-renderers.js.map +1 -0
- package/dist/better-auth/generators/react/react-better-auth/generated/ts-import-providers.d.ts +21 -0
- package/dist/better-auth/generators/react/react-better-auth/generated/ts-import-providers.d.ts.map +1 -0
- package/dist/better-auth/generators/react/react-better-auth/generated/ts-import-providers.js +30 -0
- package/dist/better-auth/generators/react/react-better-auth/generated/ts-import-providers.js.map +1 -0
- package/dist/{auth0/generators/react/react-auth0 → better-auth/generators/react/react-better-auth}/generated/typed-templates.d.ts +16 -2
- package/dist/better-auth/generators/react/react-better-auth/generated/typed-templates.d.ts.map +1 -0
- package/dist/better-auth/generators/react/react-better-auth/generated/typed-templates.js +33 -0
- package/dist/better-auth/generators/react/react-better-auth/generated/typed-templates.js.map +1 -0
- package/dist/better-auth/generators/react/react-better-auth/index.d.ts +4 -0
- package/dist/better-auth/generators/react/react-better-auth/index.d.ts.map +1 -0
- package/dist/better-auth/generators/react/react-better-auth/index.js +3 -0
- package/dist/better-auth/generators/react/react-better-auth/index.js.map +1 -0
- 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
- package/dist/better-auth/generators/react/react-better-auth/react-better-auth.generator.d.ts.map +1 -0
- package/dist/better-auth/generators/react/react-better-auth/react-better-auth.generator.js +74 -0
- package/dist/better-auth/generators/react/react-better-auth/react-better-auth.generator.js.map +1 -0
- package/dist/better-auth/generators/react/react-better-auth/templates/src/app/auth-loaded-gate.tsx +58 -0
- package/dist/better-auth/generators/react/react-better-auth/templates/src/services/auth-client.ts +15 -0
- package/dist/better-auth/index.d.ts +3 -0
- package/dist/better-auth/index.d.ts.map +1 -0
- package/dist/better-auth/index.js +2 -0
- package/dist/better-auth/index.js.map +1 -0
- package/dist/better-auth/plugin.json +9 -0
- package/dist/better-auth/static/icon.svg +10 -0
- package/dist/index.d.ts +1 -0
- package/dist/local-auth/core/components/local-auth-definition-editor.d.ts.map +1 -1
- package/dist/local-auth/core/components/local-auth-definition-editor.js +11 -11
- package/dist/local-auth/core/components/local-auth-definition-editor.js.map +1 -1
- package/dist/local-auth/core/generators/auth-apollo/auth-apollo.generator.d.ts +2 -2
- package/dist/local-auth/core/generators/auth-email-password/auth-email-password.generator.d.ts +4 -4
- package/dist/local-auth/core/generators/auth-email-password/templates/module/schema/password-reset.mutations.js +1 -1
- package/dist/local-auth/core/generators/auth-email-password/templates/module/schema/password-reset.mutations.js.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/templates/module/schema/password-reset.mutations.ts +1 -1
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.d.ts +3 -1
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.js +6 -1
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.js.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.ts +8 -2
- package/dist/local-auth/core/generators/auth-module/auth-module.generator.d.ts +1 -0
- package/dist/local-auth/core/generators/auth-module/auth-module.generator.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-module/auth-module.generator.js +14 -3
- package/dist/local-auth/core/generators/auth-module/auth-module.generator.js.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.js +1 -1
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.js.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.tsx +1 -1
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/register.js +1 -1
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/register.js.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/register.tsx +1 -1
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/reset-password.js +34 -15
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/reset-password.js.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/reset-password.tsx +58 -15
- package/dist/local-auth/core/node.d.ts.map +1 -1
- package/dist/local-auth/core/node.js +8 -6
- package/dist/local-auth/core/node.js.map +1 -1
- package/dist/local-auth/core/schema/models.d.ts +2 -4
- package/dist/local-auth/core/schema/models.d.ts.map +1 -1
- package/dist/local-auth/core/schema/models.js +254 -252
- package/dist/local-auth/core/schema/models.js.map +1 -1
- package/dist/local-auth/core/schema/plugin-definition.d.ts +2 -2
- package/dist/placeholder-auth/core/components/placeholder-auth-definition-editor.d.ts.map +1 -1
- package/dist/placeholder-auth/core/components/placeholder-auth-definition-editor.js +11 -11
- package/dist/placeholder-auth/core/components/placeholder-auth-definition-editor.js.map +1 -1
- package/dist/placeholder-auth/core/schema/models.d.ts +2 -4
- package/dist/placeholder-auth/core/schema/models.d.ts.map +1 -1
- package/dist/placeholder-auth/core/schema/models.js +30 -28
- package/dist/placeholder-auth/core/schema/models.js.map +1 -1
- package/dist/web/assets/{__federation_expose_authCoreCommon-Bg2mzE9K.js → __federation_expose_authCoreCommon-CIVhaGqo.js} +3 -3
- package/dist/web/assets/{__federation_expose_authCoreCommon-Bg2mzE9K.js.map → __federation_expose_authCoreCommon-CIVhaGqo.js.map} +1 -1
- package/dist/web/assets/{__federation_expose_authCoreWeb-DrOVHmj4.js → __federation_expose_authCoreWeb-N-mh42Bs.js} +6 -6
- package/dist/web/assets/{__federation_expose_authCoreWeb-DrOVHmj4.js.map → __federation_expose_authCoreWeb-N-mh42Bs.js.map} +1 -1
- package/dist/web/assets/__federation_expose_better-authCoreCommon-BIU3Fg7K.js +20 -0
- package/dist/web/assets/__federation_expose_better-authCoreCommon-BIU3Fg7K.js.map +1 -0
- package/dist/web/assets/__federation_expose_better-authCoreWeb-CMhPrXPA.js +402 -0
- package/dist/web/assets/__federation_expose_better-authCoreWeb-CMhPrXPA.js.map +1 -0
- package/dist/web/assets/{__federation_expose_local-authAdminCommon-Bzb0P17-.js → __federation_expose_local-authAdminCommon-DvHe9w29.js} +2 -2
- package/dist/web/assets/{__federation_expose_local-authAdminCommon-Bzb0P17-.js.map → __federation_expose_local-authAdminCommon-DvHe9w29.js.map} +1 -1
- package/dist/web/assets/{__federation_expose_local-authAdminWeb-D_LWcl7j.js → __federation_expose_local-authAdminWeb-CLU9aEy9.js} +2 -2
- package/dist/web/assets/{__federation_expose_local-authAdminWeb-D_LWcl7j.js.map → __federation_expose_local-authAdminWeb-CLU9aEy9.js.map} +1 -1
- package/dist/web/assets/{__federation_expose_local-authCoreCommon-D6OG-Rz6.js → __federation_expose_local-authCoreCommon-DbuvGG7o.js} +3 -3
- package/dist/web/assets/{__federation_expose_local-authCoreCommon-D6OG-Rz6.js.map → __federation_expose_local-authCoreCommon-DbuvGG7o.js.map} +1 -1
- package/dist/web/assets/__federation_expose_local-authCoreWeb-BY-mP3uS.js +432 -0
- package/dist/web/assets/__federation_expose_local-authCoreWeb-BY-mP3uS.js.map +1 -0
- package/dist/web/assets/{__federation_expose_placeholder-authCoreCommon-D7b3GEPP.js → __federation_expose_placeholder-authCoreCommon-BJBCuZvU.js} +3 -3
- package/dist/web/assets/{__federation_expose_placeholder-authCoreCommon-D7b3GEPP.js.map → __federation_expose_placeholder-authCoreCommon-BJBCuZvU.js.map} +1 -1
- package/dist/web/assets/{__federation_expose_placeholder-authCoreWeb-VZzvid5j.js → __federation_expose_placeholder-authCoreWeb-BaV-Ko2C.js} +61 -53
- package/dist/web/assets/__federation_expose_placeholder-authCoreWeb-BaV-Ko2C.js.map +1 -0
- package/dist/web/assets/{__federation_fn_import-DfNliZHH.js → __federation_fn_import-BLFDCY-V.js} +2 -2
- package/dist/web/assets/{__federation_fn_import-DfNliZHH.js.map → __federation_fn_import-BLFDCY-V.js.map} +1 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/{web-BqJ1vSYx.js → web-bRU6KpPk.js} +48 -26
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-bRU6KpPk.js.map +1 -0
- package/dist/web/assets/__federation_shared_@baseplate-dev/{project-builder-lib-qf98MMJC.js → project-builder-lib-CQKLkNsU.js} +5705 -1957
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib-CQKLkNsU.js.map +1 -0
- package/dist/web/assets/__federation_shared_@baseplate-dev/{ui-components-DFkMnXmX.js → ui-components-DhyoEUTy.js} +5886 -1191
- package/dist/web/assets/__federation_shared_@baseplate-dev/ui-components-DhyoEUTy.js.map +1 -0
- package/dist/web/assets/__federation_shared_@baseplate-dev/{utils-CApJheqk.js → utils-9w-0yxVZ.js} +64 -45
- package/dist/web/assets/__federation_shared_@baseplate-dev/utils-9w-0yxVZ.js.map +1 -0
- package/dist/web/assets/__federation_shared_@tanstack/{react-router-YQslfDyE.js → react-router-CbExBaoL.js} +2 -2
- package/dist/web/assets/__federation_shared_@tanstack/{react-router-YQslfDyE.js.map → react-router-CbExBaoL.js.map} +1 -1
- package/dist/web/assets/{__federation_shared_zod-B6wbpZ4f.js → __federation_shared_zod-Do7Aa1b5.js} +3431 -2188
- package/dist/web/assets/__federation_shared_zod-Do7Aa1b5.js.map +1 -0
- package/dist/web/assets/{get-auth-plugin-definition-CVuj_mvy.js → get-auth-plugin-definition-BL50g0cJ.js} +2 -2
- package/dist/web/assets/{get-auth-plugin-definition-CVuj_mvy.js.map → get-auth-plugin-definition-BL50g0cJ.js.map} +1 -1
- package/dist/web/assets/{index-B00D4irM.js → index-B_A3cgiy.js} +2 -2
- package/dist/web/assets/{index-B00D4irM.js.map → index-B_A3cgiy.js.map} +1 -1
- package/dist/web/assets/{index.esm-1qBxxnfu.js → index.esm-BraHxHLB.js} +338 -231
- package/dist/web/assets/index.esm-BraHxHLB.js.map +1 -0
- package/dist/web/assets/{isEqual-BQtm2LNT.js → isEqual-tnzoadW8.js} +18 -18
- package/dist/web/assets/isEqual-tnzoadW8.js.map +1 -0
- package/dist/web/assets/mergeWith-VagwCqUi.js +76 -0
- package/dist/web/assets/mergeWith-VagwCqUi.js.map +1 -0
- package/dist/web/assets/model-utils-BfcjfzCn.js +694 -0
- package/dist/web/assets/model-utils-BfcjfzCn.js.map +1 -0
- package/dist/web/assets/plugin-definition-CXnKUJ1l.js +20 -0
- package/dist/web/assets/plugin-definition-CXnKUJ1l.js.map +1 -0
- package/dist/web/assets/{plugin-definition-CcdhC0td.js → plugin-definition-Ckl5hjD1.js} +2 -2
- package/dist/web/assets/{plugin-definition-CcdhC0td.js.map → plugin-definition-Ckl5hjD1.js.map} +1 -1
- package/dist/web/assets/{plugin-definition-B_hlyPlm.js → plugin-definition-D26rR8AB.js} +2 -2
- package/dist/web/assets/{plugin-definition-B_hlyPlm.js.map → plugin-definition-D26rR8AB.js.map} +1 -1
- package/dist/web/assets/{plugin-definition-BKCeZ0Ni.js → plugin-definition-DJzXScRp.js} +12 -19
- package/dist/web/assets/plugin-definition-DJzXScRp.js.map +1 -0
- package/dist/web/assets/{react-Df9ccuow.js → react-CL9M_wyN.js} +2 -2
- package/dist/web/assets/{react-Df9ccuow.js.map → react-CL9M_wyN.js.map} +1 -1
- package/dist/web/assets/{registries-19UehlAo.js → registries-Tz_dluz3.js} +51 -13
- package/dist/web/assets/registries-Tz_dluz3.js.map +1 -0
- package/dist/web/assets/remoteEntry.js +14 -14
- package/dist/web/assets/{styles-CbPVroCT.js → styles-tkrWV-ZE.js} +4 -4
- package/dist/web/assets/{styles-CbPVroCT.js.map → styles-tkrWV-ZE.js.map} +1 -1
- package/package.json +17 -17
- package/dist/auth0/constants/model-names.d.ts +0 -4
- package/dist/auth0/constants/model-names.d.ts.map +0 -1
- package/dist/auth0/constants/model-names.js +0 -4
- package/dist/auth0/constants/model-names.js.map +0 -1
- package/dist/auth0/constants/packages.d.ts +0 -6
- package/dist/auth0/constants/packages.d.ts.map +0 -1
- package/dist/auth0/constants/packages.js +0 -6
- package/dist/auth0/constants/packages.js.map +0 -1
- package/dist/auth0/core/common.d.ts.map +0 -1
- package/dist/auth0/core/common.js +0 -19
- package/dist/auth0/core/common.js.map +0 -1
- package/dist/auth0/core/components/auth0-definition-editor.d.ts +0 -5
- package/dist/auth0/core/components/auth0-definition-editor.d.ts.map +0 -1
- package/dist/auth0/core/components/auth0-definition-editor.js.map +0 -1
- package/dist/auth0/core/node.d.ts.map +0 -1
- package/dist/auth0/core/node.js.map +0 -1
- package/dist/auth0/core/schema/migrations.d.ts +0 -3
- package/dist/auth0/core/schema/migrations.d.ts.map +0 -1
- package/dist/auth0/core/schema/migrations.js +0 -19
- package/dist/auth0/core/schema/migrations.js.map +0 -1
- package/dist/auth0/core/schema/models.d.ts +0 -5
- package/dist/auth0/core/schema/models.d.ts.map +0 -1
- package/dist/auth0/core/schema/models.js +0 -40
- package/dist/auth0/core/schema/models.js.map +0 -1
- package/dist/auth0/core/schema/plugin-definition.d.ts +0 -5
- package/dist/auth0/core/schema/plugin-definition.d.ts.map +0 -1
- package/dist/auth0/core/schema/plugin-definition.js +0 -4
- package/dist/auth0/core/schema/plugin-definition.js.map +0 -1
- package/dist/auth0/core/web.d.ts.map +0 -1
- package/dist/auth0/core/web.js.map +0 -1
- package/dist/auth0/generators/fastify/auth0-module/auth0-module.generator.d.ts.map +0 -1
- package/dist/auth0/generators/fastify/auth0-module/auth0-module.generator.js +0 -114
- package/dist/auth0/generators/fastify/auth0-module/auth0-module.generator.js.map +0 -1
- package/dist/auth0/generators/fastify/auth0-module/generated/index.d.ts.map +0 -1
- package/dist/auth0/generators/fastify/auth0-module/generated/index.js +0 -11
- package/dist/auth0/generators/fastify/auth0-module/generated/index.js.map +0 -1
- package/dist/auth0/generators/fastify/auth0-module/generated/template-paths.d.ts +0 -14
- package/dist/auth0/generators/fastify/auth0-module/generated/template-paths.d.ts.map +0 -1
- package/dist/auth0/generators/fastify/auth0-module/generated/template-paths.js +0 -24
- package/dist/auth0/generators/fastify/auth0-module/generated/template-paths.js.map +0 -1
- package/dist/auth0/generators/fastify/auth0-module/generated/template-renderers.d.ts.map +0 -1
- package/dist/auth0/generators/fastify/auth0-module/generated/template-renderers.js.map +0 -1
- package/dist/auth0/generators/fastify/auth0-module/generated/ts-import-providers.d.ts +0 -10
- package/dist/auth0/generators/fastify/auth0-module/generated/ts-import-providers.d.ts.map +0 -1
- package/dist/auth0/generators/fastify/auth0-module/generated/ts-import-providers.js +0 -23
- package/dist/auth0/generators/fastify/auth0-module/generated/ts-import-providers.js.map +0 -1
- package/dist/auth0/generators/fastify/auth0-module/generated/typed-templates.d.ts.map +0 -1
- package/dist/auth0/generators/fastify/auth0-module/generated/typed-templates.js.map +0 -1
- package/dist/auth0/generators/fastify/auth0-module/index.d.ts +0 -2
- package/dist/auth0/generators/fastify/auth0-module/index.d.ts.map +0 -1
- package/dist/auth0/generators/fastify/auth0-module/index.js +0 -2
- package/dist/auth0/generators/fastify/auth0-module/index.js.map +0 -1
- package/dist/auth0/generators/fastify/auth0-module/templates/module/services/management.ts +0 -22
- package/dist/auth0/generators/fastify/auth0-module/templates/module/services/user-session.service.ts +0 -101
- package/dist/auth0/generators/fastify/index.d.ts +0 -2
- package/dist/auth0/generators/fastify/index.d.ts.map +0 -1
- package/dist/auth0/generators/fastify/index.js +0 -2
- package/dist/auth0/generators/fastify/index.js.map +0 -1
- package/dist/auth0/generators/index.d.ts.map +0 -1
- package/dist/auth0/generators/index.js.map +0 -1
- package/dist/auth0/generators/react/auth0-apollo/auth0-apollo.generator.d.ts +0 -10
- package/dist/auth0/generators/react/auth0-apollo/auth0-apollo.generator.d.ts.map +0 -1
- package/dist/auth0/generators/react/auth0-apollo/auth0-apollo.generator.js +0 -41
- package/dist/auth0/generators/react/auth0-apollo/auth0-apollo.generator.js.map +0 -1
- package/dist/auth0/generators/react/auth0-apollo/index.d.ts +0 -2
- package/dist/auth0/generators/react/auth0-apollo/index.d.ts.map +0 -1
- package/dist/auth0/generators/react/auth0-apollo/index.js +0 -2
- package/dist/auth0/generators/react/auth0-apollo/index.js.map +0 -1
- package/dist/auth0/generators/react/auth0-apollo/templates/auth-link.ts +0 -11
- package/dist/auth0/generators/react/auth0-hooks/auth0-hooks.generator.d.ts.map +0 -1
- package/dist/auth0/generators/react/auth0-hooks/auth0-hooks.generator.js.map +0 -1
- package/dist/auth0/generators/react/auth0-hooks/generated/index.d.ts.map +0 -1
- package/dist/auth0/generators/react/auth0-hooks/generated/index.js +0 -11
- package/dist/auth0/generators/react/auth0-hooks/generated/index.js.map +0 -1
- package/dist/auth0/generators/react/auth0-hooks/generated/template-paths.d.ts +0 -14
- package/dist/auth0/generators/react/auth0-hooks/generated/template-paths.d.ts.map +0 -1
- package/dist/auth0/generators/react/auth0-hooks/generated/template-paths.js.map +0 -1
- package/dist/auth0/generators/react/auth0-hooks/generated/template-renderers.d.ts +0 -23
- package/dist/auth0/generators/react/auth0-hooks/generated/template-renderers.d.ts.map +0 -1
- package/dist/auth0/generators/react/auth0-hooks/generated/template-renderers.js +0 -38
- package/dist/auth0/generators/react/auth0-hooks/generated/template-renderers.js.map +0 -1
- package/dist/auth0/generators/react/auth0-hooks/generated/ts-import-providers.d.ts.map +0 -1
- package/dist/auth0/generators/react/auth0-hooks/generated/ts-import-providers.js.map +0 -1
- package/dist/auth0/generators/react/auth0-hooks/generated/typed-templates.d.ts.map +0 -1
- package/dist/auth0/generators/react/auth0-hooks/generated/typed-templates.js.map +0 -1
- package/dist/auth0/generators/react/auth0-hooks/index.d.ts +0 -2
- package/dist/auth0/generators/react/auth0-hooks/index.d.ts.map +0 -1
- package/dist/auth0/generators/react/auth0-hooks/index.js +0 -2
- package/dist/auth0/generators/react/auth0-hooks/index.js.map +0 -1
- package/dist/auth0/generators/react/auth0-hooks/templates/src/hooks/use-log-out.ts +0 -14
- package/dist/auth0/generators/react/auth0-hooks/templates/src/hooks/use-session.ts +0 -36
- package/dist/auth0/generators/react/auth0-pages/auth0-pages.generator.d.ts.map +0 -1
- package/dist/auth0/generators/react/auth0-pages/auth0-pages.generator.js.map +0 -1
- package/dist/auth0/generators/react/auth0-pages/generated/index.js +0 -9
- package/dist/auth0/generators/react/auth0-pages/generated/index.js.map +0 -1
- package/dist/auth0/generators/react/auth0-pages/generated/template-paths.d.ts +0 -12
- package/dist/auth0/generators/react/auth0-pages/generated/template-paths.d.ts.map +0 -1
- package/dist/auth0/generators/react/auth0-pages/generated/template-paths.js +0 -20
- package/dist/auth0/generators/react/auth0-pages/generated/template-paths.js.map +0 -1
- package/dist/auth0/generators/react/auth0-pages/generated/template-renderers.d.ts.map +0 -1
- package/dist/auth0/generators/react/auth0-pages/generated/template-renderers.js +0 -37
- package/dist/auth0/generators/react/auth0-pages/generated/template-renderers.js.map +0 -1
- package/dist/auth0/generators/react/auth0-pages/generated/typed-templates.d.ts +0 -433
- package/dist/auth0/generators/react/auth0-pages/generated/typed-templates.d.ts.map +0 -1
- package/dist/auth0/generators/react/auth0-pages/generated/typed-templates.js +0 -18
- package/dist/auth0/generators/react/auth0-pages/generated/typed-templates.js.map +0 -1
- package/dist/auth0/generators/react/auth0-pages/index.d.ts +0 -2
- package/dist/auth0/generators/react/auth0-pages/index.d.ts.map +0 -1
- package/dist/auth0/generators/react/auth0-pages/index.js +0 -2
- package/dist/auth0/generators/react/auth0-pages/index.js.map +0 -1
- package/dist/auth0/generators/react/auth0-pages/templates/routes/login.tsx +0 -31
- package/dist/auth0/generators/react/index.d.ts +0 -5
- package/dist/auth0/generators/react/index.d.ts.map +0 -1
- package/dist/auth0/generators/react/index.js +0 -5
- package/dist/auth0/generators/react/index.js.map +0 -1
- package/dist/auth0/generators/react/react-auth0/generated/index.js +0 -9
- package/dist/auth0/generators/react/react-auth0/generated/index.js.map +0 -1
- package/dist/auth0/generators/react/react-auth0/generated/template-paths.d.ts +0 -12
- package/dist/auth0/generators/react/react-auth0/generated/template-paths.d.ts.map +0 -1
- package/dist/auth0/generators/react/react-auth0/generated/template-paths.js +0 -22
- package/dist/auth0/generators/react/react-auth0/generated/template-paths.js.map +0 -1
- package/dist/auth0/generators/react/react-auth0/generated/template-renderers.d.ts.map +0 -1
- package/dist/auth0/generators/react/react-auth0/generated/template-renderers.js +0 -39
- package/dist/auth0/generators/react/react-auth0/generated/template-renderers.js.map +0 -1
- package/dist/auth0/generators/react/react-auth0/generated/typed-templates.d.ts.map +0 -1
- package/dist/auth0/generators/react/react-auth0/generated/typed-templates.js +0 -17
- package/dist/auth0/generators/react/react-auth0/generated/typed-templates.js.map +0 -1
- package/dist/auth0/generators/react/react-auth0/index.d.ts +0 -2
- package/dist/auth0/generators/react/react-auth0/index.d.ts.map +0 -1
- package/dist/auth0/generators/react/react-auth0/index.js +0 -2
- package/dist/auth0/generators/react/react-auth0/index.js.map +0 -1
- package/dist/auth0/generators/react/react-auth0/react-auth0.generator.d.ts.map +0 -1
- package/dist/auth0/generators/react/react-auth0/react-auth0.generator.js +0 -107
- package/dist/auth0/generators/react/react-auth0/react-auth0.generator.js.map +0 -1
- package/dist/auth0/generators/react/react-auth0/templates/src/app/auth-loaded-gate.tsx +0 -78
- package/dist/auth0/plugin.json +0 -9
- package/dist/auth0/static/icon.svg +0 -7
- package/dist/web/assets/__federation_expose_auth0CoreCommon-e_GtBIIm.js +0 -40
- package/dist/web/assets/__federation_expose_auth0CoreCommon-e_GtBIIm.js.map +0 -1
- package/dist/web/assets/__federation_expose_auth0CoreWeb-CTfPylMw.js +0 -158
- package/dist/web/assets/__federation_expose_auth0CoreWeb-CTfPylMw.js.map +0 -1
- package/dist/web/assets/__federation_expose_local-authCoreWeb-CaR8fx1f.js +0 -424
- package/dist/web/assets/__federation_expose_local-authCoreWeb-CaR8fx1f.js.map +0 -1
- package/dist/web/assets/__federation_expose_placeholder-authCoreWeb-VZzvid5j.js.map +0 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-BqJ1vSYx.js.map +0 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib-qf98MMJC.js.map +0 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/ui-components-DFkMnXmX.js.map +0 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/utils-CApJheqk.js.map +0 -1
- package/dist/web/assets/__federation_shared_zod-B6wbpZ4f.js.map +0 -1
- package/dist/web/assets/index.esm-1qBxxnfu.js.map +0 -1
- package/dist/web/assets/isEqual-BQtm2LNT.js.map +0 -1
- package/dist/web/assets/model-merger-59HLmy_J.js +0 -1705
- package/dist/web/assets/model-merger-59HLmy_J.js.map +0 -1
- package/dist/web/assets/plugin-definition-BKCeZ0Ni.js.map +0 -1
- package/dist/web/assets/plugin-definition-Bkx-a_wA.js +0 -16
- package/dist/web/assets/plugin-definition-Bkx-a_wA.js.map +0 -1
- package/dist/web/assets/registries-19UehlAo.js.map +0 -1
- package/dist/web/assets/sortBy-BPH_zRB8.js +0 -34
- package/dist/web/assets/sortBy-BPH_zRB8.js.map +0 -1
- /package/dist/{auth0 → better-auth}/core/common.d.ts +0 -0
- /package/dist/{auth0 → better-auth}/core/node.d.ts +0 -0
- /package/dist/{auth0 → better-auth}/core/web.d.ts +0 -0
- /package/dist/{auth0 → better-auth}/generators/index.d.ts +0 -0
- /package/dist/{auth0 → better-auth}/generators/index.js +0 -0
- /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-
|
|
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
|
-
|
|
39
|
+
return new Date(data);
|
|
45
40
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
|
|
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
|
-
*
|
|
139
|
-
*
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
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
|
|
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
|
|
222
|
-
const { control =
|
|
223
|
-
const [formState, updateFormState] =
|
|
224
|
-
const _localProxyFormState =
|
|
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
|
-
|
|
217
|
+
React.useEffect(() => {
|
|
247
218
|
_localProxyFormState.current.isValid && control._setValid(true);
|
|
248
219
|
}, [control]);
|
|
249
|
-
return
|
|
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
|
|
285
|
-
const { control =
|
|
286
|
-
const _defaultValue =
|
|
287
|
-
const
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
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
|
|
327
|
-
const { name, disabled, control =
|
|
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:
|
|
333
|
-
exact
|
|
394
|
+
defaultValue: defaultValueMemo,
|
|
395
|
+
exact,
|
|
334
396
|
});
|
|
335
397
|
const formState = useFormState({
|
|
336
398
|
control,
|
|
337
399
|
name,
|
|
338
|
-
exact
|
|
400
|
+
exact,
|
|
339
401
|
});
|
|
340
|
-
const _props =
|
|
341
|
-
const
|
|
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
|
-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
503
|
+
React.useEffect(() => {
|
|
435
504
|
control._setDisabledField({
|
|
436
505
|
disabled,
|
|
437
506
|
name,
|
|
438
507
|
});
|
|
439
508
|
}, [disabled, name, control]);
|
|
440
|
-
return
|
|
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
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
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
|
|
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
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
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
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
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
|
-
|
|
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 (
|
|
870
|
-
(Array.isArray(result) && result.every(
|
|
916
|
+
if (isString(result) ||
|
|
917
|
+
(Array.isArray(result) && result.every(isString)) ||
|
|
871
918
|
(isBoolean(result) && !result)) {
|
|
872
919
|
return {
|
|
873
920
|
type,
|
|
874
|
-
message:
|
|
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 } =
|
|
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
|
|
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
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
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)
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
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
|
-
|
|
1512
|
-
|
|
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
|
-
|
|
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) =>
|
|
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:
|
|
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
|
-
|
|
1917
|
-
|
|
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
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
fieldRef.
|
|
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
|
|
2224
|
-
const { control =
|
|
2225
|
-
const [fields, setFields] =
|
|
2226
|
-
const ids =
|
|
2227
|
-
const
|
|
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
|
-
|
|
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 ===
|
|
2238
|
-
const fieldValues = get(values,
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
2411
|
-
move:
|
|
2412
|
-
prepend:
|
|
2413
|
-
append:
|
|
2414
|
-
remove:
|
|
2415
|
-
insert:
|
|
2416
|
-
update:
|
|
2417
|
-
replace:
|
|
2418
|
-
fields:
|
|
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 =
|
|
2456
|
-
const _values =
|
|
2457
|
-
const [formState, updateFormState] =
|
|
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
|
-
|
|
2510
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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-
|
|
2676
|
+
//# sourceMappingURL=index.esm-BraHxHLB.js.map
|