react-hook-form 7.52.0 → 7.52.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/controller.d.ts +0 -1
  2. package/dist/controller.d.ts.map +1 -1
  3. package/dist/index.cjs.js +1 -1
  4. package/dist/index.cjs.js.map +1 -1
  5. package/dist/index.esm.mjs +6 -5
  6. package/dist/index.esm.mjs.map +1 -1
  7. package/dist/index.umd.js +1 -1
  8. package/dist/index.umd.js.map +1 -1
  9. package/dist/logic/generateWatchOutput.d.ts +1 -1
  10. package/dist/logic/generateWatchOutput.d.ts.map +1 -1
  11. package/dist/logic/getDirtyFields.d.ts.map +1 -1
  12. package/dist/logic/getFieldValueAs.d.ts +1 -1
  13. package/dist/logic/getFieldValueAs.d.ts.map +1 -1
  14. package/dist/logic/getProxyFormState.d.ts.map +1 -1
  15. package/dist/logic/getResolverOptions.d.ts +3 -3
  16. package/dist/logic/getResolverOptions.d.ts.map +1 -1
  17. package/dist/logic/getRuleValue.d.ts +1 -1
  18. package/dist/logic/getRuleValue.d.ts.map +1 -1
  19. package/dist/logic/hasValidation.d.ts +1 -1
  20. package/dist/logic/isNameInFieldArray.d.ts.map +1 -1
  21. package/dist/logic/iterateFieldsByAction.d.ts.map +1 -1
  22. package/dist/logic/shouldRenderFormState.d.ts +2 -2
  23. package/dist/logic/shouldRenderFormState.d.ts.map +1 -1
  24. package/dist/logic/shouldSubscribeByName.d.ts +1 -1
  25. package/dist/logic/shouldSubscribeByName.d.ts.map +1 -1
  26. package/dist/logic/skipValidation.d.ts.map +1 -1
  27. package/dist/logic/unsetEmptyArray.d.ts.map +1 -1
  28. package/dist/logic/updateFieldArrayRootError.d.ts.map +1 -1
  29. package/dist/logic/validateField.d.ts.map +1 -1
  30. package/dist/react-server.esm.mjs.map +1 -1
  31. package/dist/types/controller.d.ts +1 -1
  32. package/dist/types/errors.d.ts.map +1 -1
  33. package/dist/types/fieldArray.d.ts.map +1 -1
  34. package/dist/types/form.d.ts.map +1 -1
  35. package/dist/types/path/common.d.ts.map +1 -1
  36. package/dist/types/path/eager.d.ts.map +1 -1
  37. package/dist/types/utils.d.ts.map +1 -1
  38. package/dist/useController.d.ts.map +1 -1
  39. package/dist/useFieldArray.d.ts.map +1 -1
  40. package/dist/useFormContext.d.ts.map +1 -1
  41. package/dist/useWatch.d.ts.map +1 -1
  42. package/dist/utils/append.d.ts.map +1 -1
  43. package/dist/utils/compact.d.ts.map +1 -1
  44. package/dist/utils/convertToArrayPayload.d.ts.map +1 -1
  45. package/dist/utils/createSubject.d.ts.map +1 -1
  46. package/dist/utils/fillEmptyArray.d.ts.map +1 -1
  47. package/dist/utils/get.d.ts.map +1 -1
  48. package/dist/utils/isBoolean.d.ts.map +1 -1
  49. package/dist/utils/isCheckBoxInput.d.ts.map +1 -1
  50. package/dist/utils/isDateObject.d.ts.map +1 -1
  51. package/dist/utils/isEmptyObject.d.ts.map +1 -1
  52. package/dist/utils/isFileInput.d.ts.map +1 -1
  53. package/dist/utils/isFunction.d.ts.map +1 -1
  54. package/dist/utils/isHTMLElement.d.ts.map +1 -1
  55. package/dist/utils/isMessage.d.ts +2 -1
  56. package/dist/utils/isMessage.d.ts.map +1 -1
  57. package/dist/utils/isMultipleSelect.d.ts.map +1 -1
  58. package/dist/utils/isNullOrUndefined.d.ts.map +1 -1
  59. package/dist/utils/isObject.d.ts.map +1 -1
  60. package/dist/utils/isPrimitive.d.ts.map +1 -1
  61. package/dist/utils/isRadioInput.d.ts.map +1 -1
  62. package/dist/utils/isRadioOrCheckbox.d.ts.map +1 -1
  63. package/dist/utils/isRegex.d.ts.map +1 -1
  64. package/dist/utils/isString.d.ts.map +1 -1
  65. package/dist/utils/isUndefined.d.ts.map +1 -1
  66. package/dist/utils/move.d.ts.map +1 -1
  67. package/dist/utils/objectHasFunction.d.ts.map +1 -1
  68. package/dist/utils/prepend.d.ts.map +1 -1
  69. package/dist/utils/remove.d.ts.map +1 -1
  70. package/dist/utils/swap.d.ts.map +1 -1
  71. package/dist/utils/update.d.ts.map +1 -1
  72. package/package.json +34 -41
@@ -407,6 +407,7 @@ function useController(props) {
407
407
  const formState = useFormState({
408
408
  control,
409
409
  name,
410
+ exact: true,
410
411
  });
411
412
  const _registerProps = React.useRef(control.register(name, {
412
413
  ...props.rules,
@@ -468,7 +469,7 @@ function useController(props) {
468
469
  },
469
470
  type: EVENTS.BLUR,
470
471
  }), [name, control]),
471
- ref: (elm) => {
472
+ ref: React.useCallback((elm) => {
472
473
  const field = get(control._fields, name);
473
474
  if (field && elm) {
474
475
  field._f.ref = {
@@ -478,7 +479,7 @@ function useController(props) {
478
479
  reportValidity: () => elm.reportValidity(),
479
480
  };
480
481
  }
481
- },
482
+ }, [control._fields, name]),
482
483
  },
483
484
  formState,
484
485
  fieldState: Object.defineProperties({}, {
@@ -709,7 +710,7 @@ const iterateFieldsByAction = (fields, action, fieldsNames, abortEarly) => {
709
710
  };
710
711
 
711
712
  var updateFieldArrayRootError = (errors, error, name) => {
712
- const fieldArrayErrors = compact(get(errors, name));
713
+ const fieldArrayErrors = convertToArrayPayload(get(errors, name));
713
714
  set(fieldArrayErrors, 'root', error[name]);
714
715
  set(errors, name, fieldArrayErrors);
715
716
  return errors;
@@ -1791,7 +1792,7 @@ function createFormControl(props = {}) {
1791
1792
  : set(_formState.errors, _f.name, fieldError[_f.name])
1792
1793
  : unset(_formState.errors, _f.name));
1793
1794
  }
1794
- fieldValue &&
1795
+ !isEmptyObject(fieldValue) &&
1795
1796
  (await executeBuiltInValidation(fieldValue, shouldOnlyCheckValid, context));
1796
1797
  }
1797
1798
  }
@@ -2361,7 +2362,7 @@ function createFormControl(props = {}) {
2361
2362
  ? _formState.isSubmitted
2362
2363
  : false,
2363
2364
  dirtyFields: isEmptyResetValues
2364
- ? []
2365
+ ? {}
2365
2366
  : keepStateOptions.keepDirtyValues
2366
2367
  ? keepStateOptions.keepDefaultValues && _formValues
2367
2368
  ? getDirtyFields(_defaultValues, _formValues)