react-hook-form 7.22.0 → 7.22.4

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 (199) hide show
  1. package/dist/constants.d.ts +1 -0
  2. package/dist/constants.d.ts.map +1 -0
  3. package/dist/controller.d.ts +1 -0
  4. package/dist/controller.d.ts.map +1 -0
  5. package/dist/index.cjs.js +1 -1
  6. package/dist/index.cjs.js.map +1 -1
  7. package/dist/index.d.ts +1 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.esm.mjs +13 -16
  10. package/dist/index.esm.mjs.map +1 -1
  11. package/dist/index.umd.js +1 -1
  12. package/dist/index.umd.js.map +1 -1
  13. package/dist/logic/appendErrors.d.ts +1 -0
  14. package/dist/logic/appendErrors.d.ts.map +1 -0
  15. package/dist/logic/createFormControl.d.ts +1 -0
  16. package/dist/logic/createFormControl.d.ts.map +1 -0
  17. package/dist/logic/focusFieldBy.d.ts +1 -0
  18. package/dist/logic/focusFieldBy.d.ts.map +1 -0
  19. package/dist/logic/generateId.d.ts +1 -0
  20. package/dist/logic/generateId.d.ts.map +1 -0
  21. package/dist/logic/generateWatchOutput.d.ts +1 -0
  22. package/dist/logic/generateWatchOutput.d.ts.map +1 -0
  23. package/dist/logic/getCheckboxValue.d.ts +1 -0
  24. package/dist/logic/getCheckboxValue.d.ts.map +1 -0
  25. package/dist/logic/getDirtyFields.d.ts +1 -0
  26. package/dist/logic/getDirtyFields.d.ts.map +1 -0
  27. package/dist/logic/getEventValue.d.ts +1 -0
  28. package/dist/logic/getEventValue.d.ts.map +1 -0
  29. package/dist/logic/getFieldValue.d.ts +1 -0
  30. package/dist/logic/getFieldValue.d.ts.map +1 -0
  31. package/dist/logic/getFieldValueAs.d.ts +1 -0
  32. package/dist/logic/getFieldValueAs.d.ts.map +1 -0
  33. package/dist/logic/getFocusFieldName.d.ts +1 -0
  34. package/dist/logic/getFocusFieldName.d.ts.map +1 -0
  35. package/dist/logic/getNodeParentName.d.ts +1 -0
  36. package/dist/logic/getNodeParentName.d.ts.map +1 -0
  37. package/dist/logic/getProxyFormState.d.ts +1 -0
  38. package/dist/logic/getProxyFormState.d.ts.map +1 -0
  39. package/dist/logic/getRadioValue.d.ts +1 -0
  40. package/dist/logic/getRadioValue.d.ts.map +1 -0
  41. package/dist/logic/getResolverOptions.d.ts +1 -0
  42. package/dist/logic/getResolverOptions.d.ts.map +1 -0
  43. package/dist/logic/getRuleValue.d.ts +1 -0
  44. package/dist/logic/getRuleValue.d.ts.map +1 -0
  45. package/dist/logic/getValidateError.d.ts +1 -0
  46. package/dist/logic/getValidateError.d.ts.map +1 -0
  47. package/dist/logic/getValueAndMessage.d.ts +1 -0
  48. package/dist/logic/getValueAndMessage.d.ts.map +1 -0
  49. package/dist/logic/hasValidation.d.ts +1 -0
  50. package/dist/logic/hasValidation.d.ts.map +1 -0
  51. package/dist/logic/index.d.ts +1 -0
  52. package/dist/logic/index.d.ts.map +1 -0
  53. package/dist/logic/isNameInFieldArray.d.ts +1 -0
  54. package/dist/logic/isNameInFieldArray.d.ts.map +1 -0
  55. package/dist/logic/isWatched.d.ts +1 -0
  56. package/dist/logic/isWatched.d.ts.map +1 -0
  57. package/dist/logic/mapCurrentIds.d.ts +1 -0
  58. package/dist/logic/mapCurrentIds.d.ts.map +1 -0
  59. package/dist/logic/mapId.d.ts +1 -0
  60. package/dist/logic/mapId.d.ts.map +1 -0
  61. package/dist/logic/schemaErrorLookup.d.ts +1 -0
  62. package/dist/logic/schemaErrorLookup.d.ts.map +1 -0
  63. package/dist/logic/setCustomValidty.d.ts +1 -0
  64. package/dist/logic/setCustomValidty.d.ts.map +1 -0
  65. package/dist/logic/shouldRenderFormState.d.ts +1 -0
  66. package/dist/logic/shouldRenderFormState.d.ts.map +1 -0
  67. package/dist/logic/shouldSubscribeByName.d.ts +1 -0
  68. package/dist/logic/shouldSubscribeByName.d.ts.map +1 -0
  69. package/dist/logic/skipValidation.d.ts +1 -0
  70. package/dist/logic/skipValidation.d.ts.map +1 -0
  71. package/dist/logic/unsetEmptyArray.d.ts +1 -0
  72. package/dist/logic/unsetEmptyArray.d.ts.map +1 -0
  73. package/dist/logic/validateField.d.ts +1 -0
  74. package/dist/logic/validateField.d.ts.map +1 -0
  75. package/dist/types/controller.d.ts +1 -0
  76. package/dist/types/controller.d.ts.map +1 -0
  77. package/dist/types/errors.d.ts +1 -0
  78. package/dist/types/errors.d.ts.map +1 -0
  79. package/dist/types/events.d.ts +1 -0
  80. package/dist/types/events.d.ts.map +1 -0
  81. package/dist/types/fieldArray.d.ts +1 -0
  82. package/dist/types/fieldArray.d.ts.map +1 -0
  83. package/dist/types/fields.d.ts +1 -0
  84. package/dist/types/fields.d.ts.map +1 -0
  85. package/dist/types/form.d.ts +4 -3
  86. package/dist/types/form.d.ts.map +1 -0
  87. package/dist/types/index.d.ts +1 -0
  88. package/dist/types/index.d.ts.map +1 -0
  89. package/dist/types/resolvers.d.ts +1 -0
  90. package/dist/types/resolvers.d.ts.map +1 -0
  91. package/dist/types/utils.d.ts +1 -0
  92. package/dist/types/utils.d.ts.map +1 -0
  93. package/dist/types/validator.d.ts +1 -0
  94. package/dist/types/validator.d.ts.map +1 -0
  95. package/dist/useController.d.ts +1 -0
  96. package/dist/useController.d.ts.map +1 -0
  97. package/dist/useFieldArray.d.ts +1 -0
  98. package/dist/useFieldArray.d.ts.map +1 -0
  99. package/dist/useForm.d.ts +1 -0
  100. package/dist/useForm.d.ts.map +1 -0
  101. package/dist/useFormContext.d.ts +1 -0
  102. package/dist/useFormContext.d.ts.map +1 -0
  103. package/dist/useFormState.d.ts +1 -0
  104. package/dist/useFormState.d.ts.map +1 -0
  105. package/dist/useSubscribe.d.ts +1 -0
  106. package/dist/useSubscribe.d.ts.map +1 -0
  107. package/dist/useWatch.d.ts +1 -0
  108. package/dist/useWatch.d.ts.map +1 -0
  109. package/dist/utils/append.d.ts +1 -0
  110. package/dist/utils/append.d.ts.map +1 -0
  111. package/dist/utils/cloneObject.d.ts +1 -0
  112. package/dist/utils/cloneObject.d.ts.map +1 -0
  113. package/dist/utils/compact.d.ts +1 -0
  114. package/dist/utils/compact.d.ts.map +1 -0
  115. package/dist/utils/convertToArrayPayload.d.ts +1 -0
  116. package/dist/utils/convertToArrayPayload.d.ts.map +1 -0
  117. package/dist/utils/createSubject.d.ts +1 -0
  118. package/dist/utils/createSubject.d.ts.map +1 -0
  119. package/dist/utils/deepEqual.d.ts +1 -0
  120. package/dist/utils/deepEqual.d.ts.map +1 -0
  121. package/dist/utils/deepMerge.d.ts +1 -0
  122. package/dist/utils/deepMerge.d.ts.map +1 -0
  123. package/dist/utils/fillBooleanArray.d.ts +1 -0
  124. package/dist/utils/fillBooleanArray.d.ts.map +1 -0
  125. package/dist/utils/fillEmptyArray.d.ts +1 -0
  126. package/dist/utils/fillEmptyArray.d.ts.map +1 -0
  127. package/dist/utils/get.d.ts +1 -0
  128. package/dist/utils/get.d.ts.map +1 -0
  129. package/dist/utils/getValidationModes.d.ts +1 -0
  130. package/dist/utils/getValidationModes.d.ts.map +1 -0
  131. package/dist/utils/index.d.ts +1 -0
  132. package/dist/utils/index.d.ts.map +1 -0
  133. package/dist/utils/insert.d.ts +1 -0
  134. package/dist/utils/insert.d.ts.map +1 -0
  135. package/dist/utils/isBoolean.d.ts +1 -0
  136. package/dist/utils/isBoolean.d.ts.map +1 -0
  137. package/dist/utils/isCheckBoxInput.d.ts +1 -0
  138. package/dist/utils/isCheckBoxInput.d.ts.map +1 -0
  139. package/dist/utils/isDateObject.d.ts +1 -0
  140. package/dist/utils/isDateObject.d.ts.map +1 -0
  141. package/dist/utils/isEmptyObject.d.ts +1 -0
  142. package/dist/utils/isEmptyObject.d.ts.map +1 -0
  143. package/dist/utils/isFileInput.d.ts +1 -0
  144. package/dist/utils/isFileInput.d.ts.map +1 -0
  145. package/dist/utils/isFunction.d.ts +1 -0
  146. package/dist/utils/isFunction.d.ts.map +1 -0
  147. package/dist/utils/isHTMLElement.d.ts +1 -0
  148. package/dist/utils/isHTMLElement.d.ts.map +1 -0
  149. package/dist/utils/isKey.d.ts +1 -0
  150. package/dist/utils/isKey.d.ts.map +1 -0
  151. package/dist/utils/isMessage.d.ts +1 -0
  152. package/dist/utils/isMessage.d.ts.map +1 -0
  153. package/dist/utils/isMultipleSelect.d.ts +1 -0
  154. package/dist/utils/isMultipleSelect.d.ts.map +1 -0
  155. package/dist/utils/isNullOrUndefined.d.ts +1 -0
  156. package/dist/utils/isNullOrUndefined.d.ts.map +1 -0
  157. package/dist/utils/isObject.d.ts +1 -0
  158. package/dist/utils/isObject.d.ts.map +1 -0
  159. package/dist/utils/isPrimitive.d.ts +1 -0
  160. package/dist/utils/isPrimitive.d.ts.map +1 -0
  161. package/dist/utils/isRadioInput.d.ts +1 -0
  162. package/dist/utils/isRadioInput.d.ts.map +1 -0
  163. package/dist/utils/isRadioOrCheckbox.d.ts +1 -0
  164. package/dist/utils/isRadioOrCheckbox.d.ts.map +1 -0
  165. package/dist/utils/isRegex.d.ts +1 -0
  166. package/dist/utils/isRegex.d.ts.map +1 -0
  167. package/dist/utils/isSelectInput.d.ts +1 -0
  168. package/dist/utils/isSelectInput.d.ts.map +1 -0
  169. package/dist/utils/isString.d.ts +1 -0
  170. package/dist/utils/isString.d.ts.map +1 -0
  171. package/dist/utils/isUndefined.d.ts +1 -0
  172. package/dist/utils/isUndefined.d.ts.map +1 -0
  173. package/dist/utils/isWeb.d.ts +1 -0
  174. package/dist/utils/isWeb.d.ts.map +1 -0
  175. package/dist/utils/live.d.ts +1 -0
  176. package/dist/utils/live.d.ts.map +1 -0
  177. package/dist/utils/move.d.ts +1 -0
  178. package/dist/utils/move.d.ts.map +1 -0
  179. package/dist/utils/objectHasFunction.d.ts +1 -0
  180. package/dist/utils/objectHasFunction.d.ts.map +1 -0
  181. package/dist/utils/omit.d.ts +1 -0
  182. package/dist/utils/omit.d.ts.map +1 -0
  183. package/dist/utils/omitKeys.d.ts +1 -0
  184. package/dist/utils/omitKeys.d.ts.map +1 -0
  185. package/dist/utils/prepend.d.ts +1 -0
  186. package/dist/utils/prepend.d.ts.map +1 -0
  187. package/dist/utils/remove.d.ts +1 -0
  188. package/dist/utils/remove.d.ts.map +1 -0
  189. package/dist/utils/set.d.ts +1 -0
  190. package/dist/utils/set.d.ts.map +1 -0
  191. package/dist/utils/stringToPath.d.ts +1 -0
  192. package/dist/utils/stringToPath.d.ts.map +1 -0
  193. package/dist/utils/swap.d.ts +1 -0
  194. package/dist/utils/swap.d.ts.map +1 -0
  195. package/dist/utils/unset.d.ts +1 -0
  196. package/dist/utils/unset.d.ts.map +1 -0
  197. package/dist/utils/update.d.ts +1 -0
  198. package/dist/utils/update.d.ts.map +1 -0
  199. package/package.json +5 -1
package/dist/index.d.ts CHANGED
@@ -8,3 +8,4 @@ export * from './useFormContext';
8
8
  export * from './useFormState';
9
9
  export * from './useWatch';
10
10
  export * from './utils';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"}
@@ -235,14 +235,11 @@ function useController(props) {
235
235
  updateMounted(name, true);
236
236
  return () => {
237
237
  const _shouldUnregisterField = control._options.shouldUnregister || shouldUnregister;
238
- if (isArrayField
238
+ isArrayField
239
239
  ? _shouldUnregisterField && !control._stateFlags.action
240
- : _shouldUnregisterField) {
241
- control.unregister(name, { keepDefaultValue: true });
242
- }
243
- else {
244
- updateMounted(name, false);
245
- }
240
+ : _shouldUnregisterField
241
+ ? control.unregister(name)
242
+ : updateMounted(name, false);
246
243
  };
247
244
  }, [name, control, isArrayField, shouldUnregister]);
248
245
  return {
@@ -536,13 +533,13 @@ const useFieldArray = (props) => {
536
533
  control._updateFieldArray(name, updateAt, {
537
534
  argA: index,
538
535
  argB: value,
539
- }, fieldArrayValues, true, false);
536
+ }, fieldArrayValues, true, false, false);
540
537
  };
541
538
  const replace = (value) => {
542
539
  const updatedFieldArrayValuesWithKey = mapIds(convertToArrayPayload(value), keyName);
543
540
  const fieldArrayValues = updateValues(updatedFieldArrayValuesWithKey);
544
541
  setFields(updatedFieldArrayValuesWithKey);
545
- control._updateFieldArray(name, () => updatedFieldArrayValuesWithKey, {}, fieldArrayValues, true, false);
542
+ control._updateFieldArray(name, () => updatedFieldArrayValuesWithKey, {}, fieldArrayValues, true, false, false);
546
543
  };
547
544
  React.useEffect(() => {
548
545
  control._stateFlags.action = false;
@@ -1139,13 +1136,13 @@ function createFormControl(props = {}) {
1139
1136
  }
1140
1137
  return isValid;
1141
1138
  };
1142
- const _updateFieldArray = (name, method, args, values = [], shouldSetValues = true, shouldSetFields = true) => {
1139
+ const _updateFieldArray = (name, method, args, values = [], shouldSetValues = true, shouldSetFields = true, shouldSetError = true) => {
1143
1140
  _stateFlags.action = true;
1144
1141
  if (shouldSetFields && get(_fields, name)) {
1145
1142
  const fieldValues = method(get(_fields, name), args.argA, args.argB);
1146
1143
  shouldSetValues && set(_fields, name, fieldValues);
1147
1144
  }
1148
- if (Array.isArray(get(_formState.errors, name))) {
1145
+ if (shouldSetError && Array.isArray(get(_formState.errors, name))) {
1149
1146
  const errors = method(get(_formState.errors, name), args.argA, args.argB);
1150
1147
  shouldSetValues && set(_formState.errors, name, errors);
1151
1148
  unsetEmptyArray(_formState.errors, name);
@@ -1702,10 +1699,10 @@ function createFormControl(props = {}) {
1702
1699
  : {}
1703
1700
  : cloneUpdatedValues;
1704
1701
  _fields = {};
1705
- _subjects.watch.next({
1702
+ _subjects.array.next({
1706
1703
  values,
1707
1704
  });
1708
- _subjects.array.next({
1705
+ _subjects.watch.next({
1709
1706
  values,
1710
1707
  });
1711
1708
  }
@@ -1717,6 +1714,9 @@ function createFormControl(props = {}) {
1717
1714
  watchAll: false,
1718
1715
  focus: '',
1719
1716
  };
1717
+ _stateFlags.mount =
1718
+ !_proxyFormState.isValid || !!keepStateOptions.keepIsValid;
1719
+ _stateFlags.watch = !!props.shouldUnregister;
1720
1720
  _subjects.state.next({
1721
1721
  submitCount: keepStateOptions.keepSubmitCount
1722
1722
  ? _formState.submitCount
@@ -1743,9 +1743,6 @@ function createFormControl(props = {}) {
1743
1743
  isSubmitting: false,
1744
1744
  isSubmitSuccessful: false,
1745
1745
  });
1746
- _stateFlags.mount =
1747
- !_proxyFormState.isValid || !!keepStateOptions.keepIsValid;
1748
- _stateFlags.watch = !!props.shouldUnregister;
1749
1746
  };
1750
1747
  const setFocus = (name) => {
1751
1748
  const field = get(_fields, name)._f;