react-hook-form 7.53.1 → 7.53.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 (92) hide show
  1. package/dist/index.cjs.js +1 -1
  2. package/dist/index.cjs.js.map +1 -1
  3. package/dist/index.esm.mjs +17 -14
  4. package/dist/index.esm.mjs.map +1 -1
  5. package/dist/index.umd.js +1 -1
  6. package/dist/index.umd.js.map +1 -1
  7. package/dist/logic/createFormControl.d.ts.map +1 -1
  8. package/dist/useForm.d.ts.map +1 -1
  9. package/package.json +1 -1
  10. package/dist/__tests__/controller.server.test.d.ts +0 -2
  11. package/dist/__tests__/controller.server.test.d.ts.map +0 -1
  12. package/dist/__tests__/controller.test.d.ts +0 -2
  13. package/dist/__tests__/controller.test.d.ts.map +0 -1
  14. package/dist/__tests__/form.test.d.ts +0 -2
  15. package/dist/__tests__/form.test.d.ts.map +0 -1
  16. package/dist/__tests__/logic/validateField.test.d.ts +0 -2
  17. package/dist/__tests__/logic/validateField.test.d.ts.map +0 -1
  18. package/dist/__tests__/type.test.d.ts +0 -2
  19. package/dist/__tests__/type.test.d.ts.map +0 -1
  20. package/dist/__tests__/useController.test.d.ts +0 -2
  21. package/dist/__tests__/useController.test.d.ts.map +0 -1
  22. package/dist/__tests__/useFieldArray/append.test.d.ts +0 -2
  23. package/dist/__tests__/useFieldArray/append.test.d.ts.map +0 -1
  24. package/dist/__tests__/useFieldArray/focus.test.d.ts +0 -2
  25. package/dist/__tests__/useFieldArray/focus.test.d.ts.map +0 -1
  26. package/dist/__tests__/useFieldArray/insert.test.d.ts +0 -2
  27. package/dist/__tests__/useFieldArray/insert.test.d.ts.map +0 -1
  28. package/dist/__tests__/useFieldArray/move.test.d.ts +0 -2
  29. package/dist/__tests__/useFieldArray/move.test.d.ts.map +0 -1
  30. package/dist/__tests__/useFieldArray/prepend.test.d.ts +0 -2
  31. package/dist/__tests__/useFieldArray/prepend.test.d.ts.map +0 -1
  32. package/dist/__tests__/useFieldArray/remove.test.d.ts +0 -2
  33. package/dist/__tests__/useFieldArray/remove.test.d.ts.map +0 -1
  34. package/dist/__tests__/useFieldArray/replace.test.d.ts +0 -2
  35. package/dist/__tests__/useFieldArray/replace.test.d.ts.map +0 -1
  36. package/dist/__tests__/useFieldArray/swap.test.d.ts +0 -2
  37. package/dist/__tests__/useFieldArray/swap.test.d.ts.map +0 -1
  38. package/dist/__tests__/useFieldArray/update.test.d.ts +0 -2
  39. package/dist/__tests__/useFieldArray/update.test.d.ts.map +0 -1
  40. package/dist/__tests__/useFieldArray.test.d.ts +0 -2
  41. package/dist/__tests__/useFieldArray.test.d.ts.map +0 -1
  42. package/dist/__tests__/useForm/clearErrors.test.d.ts +0 -2
  43. package/dist/__tests__/useForm/clearErrors.test.d.ts.map +0 -1
  44. package/dist/__tests__/useForm/formState.test.d.ts +0 -2
  45. package/dist/__tests__/useForm/formState.test.d.ts.map +0 -1
  46. package/dist/__tests__/useForm/getFieldState.test.d.ts +0 -2
  47. package/dist/__tests__/useForm/getFieldState.test.d.ts.map +0 -1
  48. package/dist/__tests__/useForm/getValues.test.d.ts +0 -2
  49. package/dist/__tests__/useForm/getValues.test.d.ts.map +0 -1
  50. package/dist/__tests__/useForm/handleSubmit.test.d.ts +0 -2
  51. package/dist/__tests__/useForm/handleSubmit.test.d.ts.map +0 -1
  52. package/dist/__tests__/useForm/register.test.d.ts +0 -2
  53. package/dist/__tests__/useForm/register.test.d.ts.map +0 -1
  54. package/dist/__tests__/useForm/reset.test.d.ts +0 -2
  55. package/dist/__tests__/useForm/reset.test.d.ts.map +0 -1
  56. package/dist/__tests__/useForm/resetField.test.d.ts +0 -2
  57. package/dist/__tests__/useForm/resetField.test.d.ts.map +0 -1
  58. package/dist/__tests__/useForm/resolver.test.d.ts +0 -2
  59. package/dist/__tests__/useForm/resolver.test.d.ts.map +0 -1
  60. package/dist/__tests__/useForm/setError.test.d.ts +0 -2
  61. package/dist/__tests__/useForm/setError.test.d.ts.map +0 -1
  62. package/dist/__tests__/useForm/setValue.test.d.ts +0 -2
  63. package/dist/__tests__/useForm/setValue.test.d.ts.map +0 -1
  64. package/dist/__tests__/useForm/trigger.test.d.ts +0 -2
  65. package/dist/__tests__/useForm/trigger.test.d.ts.map +0 -1
  66. package/dist/__tests__/useForm/unregister.test.d.ts +0 -2
  67. package/dist/__tests__/useForm/unregister.test.d.ts.map +0 -1
  68. package/dist/__tests__/useForm/watch.test.d.ts +0 -2
  69. package/dist/__tests__/useForm/watch.test.d.ts.map +0 -1
  70. package/dist/__tests__/useForm.server.test.d.ts +0 -2
  71. package/dist/__tests__/useForm.server.test.d.ts.map +0 -1
  72. package/dist/__tests__/useForm.test.d.ts +0 -2
  73. package/dist/__tests__/useForm.test.d.ts.map +0 -1
  74. package/dist/__tests__/useFormContext.server.test.d.ts +0 -2
  75. package/dist/__tests__/useFormContext.server.test.d.ts.map +0 -1
  76. package/dist/__tests__/useFormContext.test.d.ts +0 -2
  77. package/dist/__tests__/useFormContext.test.d.ts.map +0 -1
  78. package/dist/__tests__/useFormState.test.d.ts +0 -2
  79. package/dist/__tests__/useFormState.test.d.ts.map +0 -1
  80. package/dist/__tests__/useWatch.test.d.ts +0 -2
  81. package/dist/__tests__/useWatch.test.d.ts.map +0 -1
  82. package/dist/logic/focusFieldBy.d.ts +0 -8
  83. package/dist/logic/focusFieldBy.d.ts.map +0 -1
  84. package/dist/tsdoc-metadata.json +0 -11
  85. package/dist/utils/fillBooleanArray.d.ts +0 -3
  86. package/dist/utils/fillBooleanArray.d.ts.map +0 -1
  87. package/dist/utils/isSelectInput.d.ts +0 -4
  88. package/dist/utils/isSelectInput.d.ts.map +0 -1
  89. package/dist/utils/objectHasTruthyValue.d.ts +0 -3
  90. package/dist/utils/objectHasTruthyValue.d.ts.map +0 -1
  91. package/dist/utils/omit.d.ts +0 -6
  92. package/dist/utils/omit.d.ts.map +0 -1
@@ -1618,7 +1618,7 @@ function createFormControl(props = {}) {
1618
1618
  timer = setTimeout(callback, wait);
1619
1619
  };
1620
1620
  const _updateValid = async (shouldUpdateValid) => {
1621
- if (!props.disabled && (_proxyFormState.isValid || shouldUpdateValid)) {
1621
+ if (!_options.disabled && (_proxyFormState.isValid || shouldUpdateValid)) {
1622
1622
  const isValid = _options.resolver
1623
1623
  ? isEmptyObject((await _executeSchema()).errors)
1624
1624
  : await executeBuiltInValidation(_fields, true);
@@ -1630,7 +1630,7 @@ function createFormControl(props = {}) {
1630
1630
  }
1631
1631
  };
1632
1632
  const _updateIsValidating = (names, isValidating) => {
1633
- if (!props.disabled &&
1633
+ if (!_options.disabled &&
1634
1634
  (_proxyFormState.isValidating || _proxyFormState.validatingFields)) {
1635
1635
  (names || Array.from(_names.mount)).forEach((name) => {
1636
1636
  if (name) {
@@ -1646,7 +1646,7 @@ function createFormControl(props = {}) {
1646
1646
  }
1647
1647
  };
1648
1648
  const _updateFieldArray = (name, values = [], method, args, shouldSetValues = true, shouldUpdateFieldsAndState = true) => {
1649
- if (args && method && !props.disabled) {
1649
+ if (args && method && !_options.disabled) {
1650
1650
  _state.action = true;
1651
1651
  if (shouldUpdateFieldsAndState && Array.isArray(get(_fields, name))) {
1652
1652
  const fieldValues = method(get(_fields, name), args.argA, args.argB);
@@ -1710,7 +1710,7 @@ function createFormControl(props = {}) {
1710
1710
  const output = {
1711
1711
  name,
1712
1712
  };
1713
- if (!props.disabled) {
1713
+ if (!_options.disabled) {
1714
1714
  const disabledField = !!(get(_fields, name) &&
1715
1715
  get(_fields, name)._f &&
1716
1716
  get(_fields, name)._f.disabled);
@@ -1846,7 +1846,7 @@ function createFormControl(props = {}) {
1846
1846
  }
1847
1847
  _names.unMount = new Set();
1848
1848
  };
1849
- const _getDirty = (name, data) => !props.disabled &&
1849
+ const _getDirty = (name, data) => !_options.disabled &&
1850
1850
  (name && data && set(_formValues, name, data),
1851
1851
  !deepEqual(getValues(), _defaultValues));
1852
1852
  const _getWatch = (names, defaultValue, isGlobal) => generateWatchOutput(names, _names, {
@@ -2162,7 +2162,7 @@ function createFormControl(props = {}) {
2162
2162
  };
2163
2163
  const register = (name, options = {}) => {
2164
2164
  let field = get(_fields, name);
2165
- const disabledIsDefined = isBoolean(options.disabled) || isBoolean(props.disabled);
2165
+ const disabledIsDefined = isBoolean(options.disabled) || isBoolean(_options.disabled);
2166
2166
  set(_fields, name, {
2167
2167
  ...(field || {}),
2168
2168
  _f: {
@@ -2178,7 +2178,7 @@ function createFormControl(props = {}) {
2178
2178
  field,
2179
2179
  disabled: isBoolean(options.disabled)
2180
2180
  ? options.disabled
2181
- : props.disabled,
2181
+ : _options.disabled,
2182
2182
  name,
2183
2183
  value: options.value,
2184
2184
  });
@@ -2188,7 +2188,7 @@ function createFormControl(props = {}) {
2188
2188
  }
2189
2189
  return {
2190
2190
  ...(disabledIsDefined
2191
- ? { disabled: options.disabled || props.disabled }
2191
+ ? { disabled: options.disabled || _options.disabled }
2192
2192
  : {}),
2193
2193
  ...(_options.progressive
2194
2194
  ? {
@@ -2272,6 +2272,12 @@ function createFormControl(props = {}) {
2272
2272
  e.preventDefault && e.preventDefault();
2273
2273
  e.persist && e.persist();
2274
2274
  }
2275
+ if (_options.disabled) {
2276
+ if (onInvalid) {
2277
+ await onInvalid({ ..._formState.errors }, e);
2278
+ }
2279
+ return;
2280
+ }
2275
2281
  let fieldValues = cloneObject(_formValues);
2276
2282
  _subjects.state.next({
2277
2283
  isSubmitting: true,
@@ -2450,7 +2456,9 @@ function createFormControl(props = {}) {
2450
2456
  : fieldReference.ref;
2451
2457
  if (fieldRef.focus) {
2452
2458
  fieldRef.focus();
2453
- options.shouldSelect && fieldRef.select();
2459
+ options.shouldSelect &&
2460
+ isFunction(fieldRef.select) &&
2461
+ fieldRef.select();
2454
2462
  }
2455
2463
  }
2456
2464
  };
@@ -2651,11 +2659,6 @@ function useForm(props = {}) {
2651
2659
  values: control._getWatch(),
2652
2660
  });
2653
2661
  }, [props.shouldUnregister, control]);
2654
- React.useEffect(() => {
2655
- if (_formControl.current) {
2656
- _formControl.current.watch = _formControl.current.watch.bind({});
2657
- }
2658
- }, [formState]);
2659
2662
  _formControl.current.formState = getProxyFormState(formState, control);
2660
2663
  return _formControl.current;
2661
2664
  }