react-hook-form 7.55.0-next.7 → 7.55.0-next.9

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 (41) hide show
  1. package/dist/__typetest__/form.test-d.d.ts +10 -1
  2. package/dist/__typetest__/form.test-d.d.ts.map +1 -1
  3. package/dist/__typetest__/use-form-context.test-d.d.ts +2 -0
  4. package/dist/__typetest__/use-form-context.test-d.d.ts.map +1 -0
  5. package/dist/controller.d.ts +1 -1
  6. package/dist/controller.d.ts.map +1 -1
  7. package/dist/form.d.ts +1 -1
  8. package/dist/form.d.ts.map +1 -1
  9. package/dist/index.cjs.js +1 -1
  10. package/dist/index.cjs.js.map +1 -1
  11. package/dist/index.esm.mjs +21 -11
  12. package/dist/index.esm.mjs.map +1 -1
  13. package/dist/index.umd.js +1 -1
  14. package/dist/index.umd.js.map +1 -1
  15. package/dist/logic/createFormControl.d.ts +2 -2
  16. package/dist/logic/createFormControl.d.ts.map +1 -1
  17. package/dist/logic/getProxyFormState.d.ts +1 -1
  18. package/dist/logic/getProxyFormState.d.ts.map +1 -1
  19. package/dist/react-server.esm.mjs +6 -8
  20. package/dist/react-server.esm.mjs.map +1 -1
  21. package/dist/types/controller.d.ts +4 -4
  22. package/dist/types/controller.d.ts.map +1 -1
  23. package/dist/types/fieldArray.d.ts +2 -2
  24. package/dist/types/fieldArray.d.ts.map +1 -1
  25. package/dist/types/form.d.ts +19 -19
  26. package/dist/types/form.d.ts.map +1 -1
  27. package/dist/types/resolvers.d.ts +4 -4
  28. package/dist/types/resolvers.d.ts.map +1 -1
  29. package/dist/useController.d.ts +1 -1
  30. package/dist/useController.d.ts.map +1 -1
  31. package/dist/useFieldArray.d.ts +1 -1
  32. package/dist/useFieldArray.d.ts.map +1 -1
  33. package/dist/useForm.d.ts +1 -1
  34. package/dist/useForm.d.ts.map +1 -1
  35. package/dist/useFormContext.d.ts +2 -2
  36. package/dist/useFormContext.d.ts.map +1 -1
  37. package/dist/useFormState.d.ts +1 -1
  38. package/dist/useFormState.d.ts.map +1 -1
  39. package/dist/useWatch.d.ts +6 -6
  40. package/dist/useWatch.d.ts.map +1 -1
  41. package/package.json +4 -3
@@ -1268,9 +1268,9 @@ function createFormControl(props = {}) {
1268
1268
  errors: _options.errors || {},
1269
1269
  disabled: _options.disabled || false,
1270
1270
  };
1271
- let _fields = {};
1271
+ const _fields = {};
1272
1272
  let _defaultValues = isObject(_options.defaultValues) || isObject(_options.values)
1273
- ? cloneObject(_options.defaultValues || _options.values) || {}
1273
+ ? cloneObject(_options.values || _options.defaultValues) || {}
1274
1274
  : {};
1275
1275
  let _formValues = _options.shouldUnregister
1276
1276
  ? {}
@@ -2107,13 +2107,11 @@ function createFormControl(props = {}) {
2107
2107
  }
2108
2108
  }
2109
2109
  }
2110
- _fields = {};
2110
+ for (const fieldName of _names.mount) {
2111
+ setValue(fieldName, get(values, fieldName));
2112
+ }
2111
2113
  }
2112
- _formValues = _options.shouldUnregister
2113
- ? keepStateOptions.keepDefaultValues
2114
- ? cloneObject(_defaultValues)
2115
- : {}
2116
- : cloneObject(values);
2114
+ _formValues = cloneObject(values);
2117
2115
  _subjects.array.next({
2118
2116
  values: { ...values },
2119
2117
  });
@@ -2556,8 +2554,15 @@ function useFieldArray(props) {
2556
2554
  React.useEffect(() => {
2557
2555
  !get(control._formValues, name) && control._setFieldArray(name);
2558
2556
  return () => {
2559
- (control._options.shouldUnregister || shouldUnregister) &&
2560
- control.unregister(name);
2557
+ const updateMounted = (name, value) => {
2558
+ const field = get(control._fields, name);
2559
+ if (field && field._f) {
2560
+ field._f.mount = value;
2561
+ }
2562
+ };
2563
+ control._options.shouldUnregister || shouldUnregister
2564
+ ? control.unregister(name)
2565
+ : updateMounted(name, false);
2561
2566
  };
2562
2567
  }, [name, control, keyName, shouldUnregister]);
2563
2568
  return {
@@ -2607,7 +2612,7 @@ function useFieldArray(props) {
2607
2612
  */
2608
2613
  function useForm(props = {}) {
2609
2614
  const _formControl = React.useRef(undefined);
2610
- const _values = React.useRef(props.values);
2615
+ const _values = React.useRef(undefined);
2611
2616
  const [formState, updateFormState] = React.useState({
2612
2617
  isDirty: false,
2613
2618
  isValidating: false,
@@ -2631,6 +2636,11 @@ function useForm(props = {}) {
2631
2636
  ...(props.formControl ? props.formControl : createFormControl(props)),
2632
2637
  formState,
2633
2638
  };
2639
+ if (props.formControl &&
2640
+ props.defaultValues &&
2641
+ !isFunction(props.defaultValues)) {
2642
+ props.formControl.reset(props.defaultValues, props.resetOptions);
2643
+ }
2634
2644
  }
2635
2645
  const control = _formControl.current.control;
2636
2646
  control._options = props;