@bombillazo/rhf-plus 7.69.0-plus.0 → 7.70.0-plus.0

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 (250) hide show
  1. package/dist/__tests__/controller.server.test.d.ts +2 -0
  2. package/dist/__tests__/controller.server.test.d.ts.map +1 -0
  3. package/dist/__tests__/controller.test.d.ts +2 -0
  4. package/dist/__tests__/controller.test.d.ts.map +1 -0
  5. package/dist/__tests__/disabled-arrays.test.d.ts +2 -0
  6. package/dist/__tests__/disabled-arrays.test.d.ts.map +1 -0
  7. package/dist/__tests__/form.test.d.ts +2 -0
  8. package/dist/__tests__/form.test.d.ts.map +1 -0
  9. package/dist/__tests__/formStateSubscribe.server.test.d.ts +2 -0
  10. package/dist/__tests__/formStateSubscribe.server.test.d.ts.map +1 -0
  11. package/dist/__tests__/formStateSubscribe.test.d.ts +2 -0
  12. package/dist/__tests__/formStateSubscribe.test.d.ts.map +1 -0
  13. package/dist/__tests__/isPlainObject.test.d.ts +2 -0
  14. package/dist/__tests__/isPlainObject.test.d.ts.map +1 -0
  15. package/dist/__tests__/logic/appendErrors.test.d.ts +2 -0
  16. package/dist/__tests__/logic/appendErrors.test.d.ts.map +1 -0
  17. package/dist/__tests__/logic/createFormControl.test.d.ts +2 -0
  18. package/dist/__tests__/logic/createFormControl.test.d.ts.map +1 -0
  19. package/dist/__tests__/logic/generateId.test.d.ts +2 -0
  20. package/dist/__tests__/logic/generateId.test.d.ts.map +1 -0
  21. package/dist/__tests__/logic/getCheckboxValue.test.d.ts +2 -0
  22. package/dist/__tests__/logic/getCheckboxValue.test.d.ts.map +1 -0
  23. package/dist/__tests__/logic/getDirtyFields.test.d.ts +2 -0
  24. package/dist/__tests__/logic/getDirtyFields.test.d.ts.map +1 -0
  25. package/dist/__tests__/logic/getEventValue.test.d.ts +2 -0
  26. package/dist/__tests__/logic/getEventValue.test.d.ts.map +1 -0
  27. package/dist/__tests__/logic/getFieldValue.test.d.ts +2 -0
  28. package/dist/__tests__/logic/getFieldValue.test.d.ts.map +1 -0
  29. package/dist/__tests__/logic/getFieldValueAs.test.d.ts +2 -0
  30. package/dist/__tests__/logic/getFieldValueAs.test.d.ts.map +1 -0
  31. package/dist/__tests__/logic/getFocusFieldName.test.d.ts +2 -0
  32. package/dist/__tests__/logic/getFocusFieldName.test.d.ts.map +1 -0
  33. package/dist/__tests__/logic/getNodeParentName.test.d.ts +2 -0
  34. package/dist/__tests__/logic/getNodeParentName.test.d.ts.map +1 -0
  35. package/dist/__tests__/logic/getRadioValue.test.d.ts +2 -0
  36. package/dist/__tests__/logic/getRadioValue.test.d.ts.map +1 -0
  37. package/dist/__tests__/logic/getResolverOptions.test.d.ts +2 -0
  38. package/dist/__tests__/logic/getResolverOptions.test.d.ts.map +1 -0
  39. package/dist/__tests__/logic/getRuleValue.test.d.ts +2 -0
  40. package/dist/__tests__/logic/getRuleValue.test.d.ts.map +1 -0
  41. package/dist/__tests__/logic/getValidateError.test.d.ts +2 -0
  42. package/dist/__tests__/logic/getValidateError.test.d.ts.map +1 -0
  43. package/dist/__tests__/logic/getValidationModes.test.d.ts +2 -0
  44. package/dist/__tests__/logic/getValidationModes.test.d.ts.map +1 -0
  45. package/dist/__tests__/logic/getValueAndMessage.test.d.ts +2 -0
  46. package/dist/__tests__/logic/getValueAndMessage.test.d.ts.map +1 -0
  47. package/dist/__tests__/logic/hasPromiseValidation.test.d.ts +2 -0
  48. package/dist/__tests__/logic/hasPromiseValidation.test.d.ts.map +1 -0
  49. package/dist/__tests__/logic/hasValidation.test.d.ts +2 -0
  50. package/dist/__tests__/logic/hasValidation.test.d.ts.map +1 -0
  51. package/dist/__tests__/logic/isNameInFieldArray.test.d.ts +2 -0
  52. package/dist/__tests__/logic/isNameInFieldArray.test.d.ts.map +1 -0
  53. package/dist/__tests__/logic/isWatched.test.d.ts +2 -0
  54. package/dist/__tests__/logic/isWatched.test.d.ts.map +1 -0
  55. package/dist/__tests__/logic/iterateFieldsByAction.test.d.ts +2 -0
  56. package/dist/__tests__/logic/iterateFieldsByAction.test.d.ts.map +1 -0
  57. package/dist/__tests__/logic/schemaErrorLookup.test.d.ts +2 -0
  58. package/dist/__tests__/logic/schemaErrorLookup.test.d.ts.map +1 -0
  59. package/dist/__tests__/logic/shouldRenderFormState.test.d.ts +2 -0
  60. package/dist/__tests__/logic/shouldRenderFormState.test.d.ts.map +1 -0
  61. package/dist/__tests__/logic/shouldSubscribeByName.test.d.ts +2 -0
  62. package/dist/__tests__/logic/shouldSubscribeByName.test.d.ts.map +1 -0
  63. package/dist/__tests__/logic/skipValidation.test.d.ts +2 -0
  64. package/dist/__tests__/logic/skipValidation.test.d.ts.map +1 -0
  65. package/dist/__tests__/logic/unsetEmptyArray.test.d.ts +2 -0
  66. package/dist/__tests__/logic/unsetEmptyArray.test.d.ts.map +1 -0
  67. package/dist/__tests__/logic/validateField.test.d.ts +2 -0
  68. package/dist/__tests__/logic/validateField.test.d.ts.map +1 -0
  69. package/dist/__tests__/readonly-validation.test.d.ts +2 -0
  70. package/dist/__tests__/readonly-validation.test.d.ts.map +1 -0
  71. package/dist/__tests__/type.test.d.ts +2 -0
  72. package/dist/__tests__/type.test.d.ts.map +1 -0
  73. package/dist/__tests__/useController.test.d.ts +2 -0
  74. package/dist/__tests__/useController.test.d.ts.map +1 -0
  75. package/dist/__tests__/useFieldArray/append.test.d.ts +2 -0
  76. package/dist/__tests__/useFieldArray/append.test.d.ts.map +1 -0
  77. package/dist/__tests__/useFieldArray/focus.test.d.ts +2 -0
  78. package/dist/__tests__/useFieldArray/focus.test.d.ts.map +1 -0
  79. package/dist/__tests__/useFieldArray/insert.test.d.ts +2 -0
  80. package/dist/__tests__/useFieldArray/insert.test.d.ts.map +1 -0
  81. package/dist/__tests__/useFieldArray/move.test.d.ts +2 -0
  82. package/dist/__tests__/useFieldArray/move.test.d.ts.map +1 -0
  83. package/dist/__tests__/useFieldArray/prepend.test.d.ts +2 -0
  84. package/dist/__tests__/useFieldArray/prepend.test.d.ts.map +1 -0
  85. package/dist/__tests__/useFieldArray/remove.test.d.ts +2 -0
  86. package/dist/__tests__/useFieldArray/remove.test.d.ts.map +1 -0
  87. package/dist/__tests__/useFieldArray/replace.test.d.ts +2 -0
  88. package/dist/__tests__/useFieldArray/replace.test.d.ts.map +1 -0
  89. package/dist/__tests__/useFieldArray/swap.test.d.ts +2 -0
  90. package/dist/__tests__/useFieldArray/swap.test.d.ts.map +1 -0
  91. package/dist/__tests__/useFieldArray/update.test.d.ts +2 -0
  92. package/dist/__tests__/useFieldArray/update.test.d.ts.map +1 -0
  93. package/dist/__tests__/useFieldArray.test.d.ts +2 -0
  94. package/dist/__tests__/useFieldArray.test.d.ts.map +1 -0
  95. package/dist/__tests__/useForm/clearErrors.test.d.ts +2 -0
  96. package/dist/__tests__/useForm/clearErrors.test.d.ts.map +1 -0
  97. package/dist/__tests__/useForm/formState.test.d.ts +2 -0
  98. package/dist/__tests__/useForm/formState.test.d.ts.map +1 -0
  99. package/dist/__tests__/useForm/getFieldState.test.d.ts +2 -0
  100. package/dist/__tests__/useForm/getFieldState.test.d.ts.map +1 -0
  101. package/dist/__tests__/useForm/getValues.test.d.ts +2 -0
  102. package/dist/__tests__/useForm/getValues.test.d.ts.map +1 -0
  103. package/dist/__tests__/useForm/handleSubmit.test.d.ts +2 -0
  104. package/dist/__tests__/useForm/handleSubmit.test.d.ts.map +1 -0
  105. package/dist/__tests__/useForm/hasBeenSubmitted.test.d.ts +2 -0
  106. package/dist/__tests__/useForm/hasBeenSubmitted.test.d.ts.map +1 -0
  107. package/dist/__tests__/useForm/isDirtySinceSubmit.test.d.ts +2 -0
  108. package/dist/__tests__/useForm/isDirtySinceSubmit.test.d.ts.map +1 -0
  109. package/dist/__tests__/useForm/register.test.d.ts +2 -0
  110. package/dist/__tests__/useForm/register.test.d.ts.map +1 -0
  111. package/dist/__tests__/useForm/reset.test.d.ts +2 -0
  112. package/dist/__tests__/useForm/reset.test.d.ts.map +1 -0
  113. package/dist/__tests__/useForm/resetField.test.d.ts +2 -0
  114. package/dist/__tests__/useForm/resetField.test.d.ts.map +1 -0
  115. package/dist/__tests__/useForm/resolver.test.d.ts +2 -0
  116. package/dist/__tests__/useForm/resolver.test.d.ts.map +1 -0
  117. package/dist/__tests__/useForm/setError.test.d.ts +2 -0
  118. package/dist/__tests__/useForm/setError.test.d.ts.map +1 -0
  119. package/dist/__tests__/useForm/setFocus.test.d.ts +2 -0
  120. package/dist/__tests__/useForm/setFocus.test.d.ts.map +1 -0
  121. package/dist/__tests__/useForm/setValue.test.d.ts +2 -0
  122. package/dist/__tests__/useForm/setValue.test.d.ts.map +1 -0
  123. package/dist/__tests__/useForm/setValueEmptyArray.test.d.ts +2 -0
  124. package/dist/__tests__/useForm/setValueEmptyArray.test.d.ts.map +1 -0
  125. package/dist/__tests__/useForm/subscribe.test.d.ts +2 -0
  126. package/dist/__tests__/useForm/subscribe.test.d.ts.map +1 -0
  127. package/dist/__tests__/useForm/trigger.test.d.ts +2 -0
  128. package/dist/__tests__/useForm/trigger.test.d.ts.map +1 -0
  129. package/dist/__tests__/useForm/unregister.test.d.ts +2 -0
  130. package/dist/__tests__/useForm/unregister.test.d.ts.map +1 -0
  131. package/dist/__tests__/useForm/useFormWithNullValues.test.d.ts +2 -0
  132. package/dist/__tests__/useForm/useFormWithNullValues.test.d.ts.map +1 -0
  133. package/dist/__tests__/useForm/watch.test.d.ts +2 -0
  134. package/dist/__tests__/useForm/watch.test.d.ts.map +1 -0
  135. package/dist/__tests__/useForm.server.test.d.ts +2 -0
  136. package/dist/__tests__/useForm.server.test.d.ts.map +1 -0
  137. package/dist/__tests__/useForm.test.d.ts +2 -0
  138. package/dist/__tests__/useForm.test.d.ts.map +1 -0
  139. package/dist/__tests__/useFormContext.server.test.d.ts +2 -0
  140. package/dist/__tests__/useFormContext.server.test.d.ts.map +1 -0
  141. package/dist/__tests__/useFormContext.test.d.ts +2 -0
  142. package/dist/__tests__/useFormContext.test.d.ts.map +1 -0
  143. package/dist/__tests__/useFormState.test.d.ts +2 -0
  144. package/dist/__tests__/useFormState.test.d.ts.map +1 -0
  145. package/dist/__tests__/useWatch.test.d.ts +2 -0
  146. package/dist/__tests__/useWatch.test.d.ts.map +1 -0
  147. package/dist/__tests__/utils/append.test.d.ts +2 -0
  148. package/dist/__tests__/utils/append.test.d.ts.map +1 -0
  149. package/dist/__tests__/utils/cloneObject.test.d.ts +2 -0
  150. package/dist/__tests__/utils/cloneObject.test.d.ts.map +1 -0
  151. package/dist/__tests__/utils/compact.test.d.ts +2 -0
  152. package/dist/__tests__/utils/compact.test.d.ts.map +1 -0
  153. package/dist/__tests__/utils/convertToArrayPayload.test.d.ts +2 -0
  154. package/dist/__tests__/utils/convertToArrayPayload.test.d.ts.map +1 -0
  155. package/dist/__tests__/utils/createSubject.test.d.ts +2 -0
  156. package/dist/__tests__/utils/createSubject.test.d.ts.map +1 -0
  157. package/dist/__tests__/utils/deepEqual.test.d.ts +2 -0
  158. package/dist/__tests__/utils/deepEqual.test.d.ts.map +1 -0
  159. package/dist/__tests__/utils/deepMerge.test.d.ts +2 -0
  160. package/dist/__tests__/utils/deepMerge.test.d.ts.map +1 -0
  161. package/dist/__tests__/utils/extractFormValues.test.d.ts +2 -0
  162. package/dist/__tests__/utils/extractFormValues.test.d.ts.map +1 -0
  163. package/dist/__tests__/utils/fillEmptyArray.test.d.ts +2 -0
  164. package/dist/__tests__/utils/fillEmptyArray.test.d.ts.map +1 -0
  165. package/dist/__tests__/utils/flatten.test.d.ts +2 -0
  166. package/dist/__tests__/utils/flatten.test.d.ts.map +1 -0
  167. package/dist/__tests__/utils/get.test.d.ts +2 -0
  168. package/dist/__tests__/utils/get.test.d.ts.map +1 -0
  169. package/dist/__tests__/utils/insert.test.d.ts +2 -0
  170. package/dist/__tests__/utils/insert.test.d.ts.map +1 -0
  171. package/dist/__tests__/utils/isBoolean.test.d.ts +2 -0
  172. package/dist/__tests__/utils/isBoolean.test.d.ts.map +1 -0
  173. package/dist/__tests__/utils/isCheckBoxInput.test.d.ts +2 -0
  174. package/dist/__tests__/utils/isCheckBoxInput.test.d.ts.map +1 -0
  175. package/dist/__tests__/utils/isEmptyObject.test.d.ts +2 -0
  176. package/dist/__tests__/utils/isEmptyObject.test.d.ts.map +1 -0
  177. package/dist/__tests__/utils/isFileInput.test.d.ts +2 -0
  178. package/dist/__tests__/utils/isFileInput.test.d.ts.map +1 -0
  179. package/dist/__tests__/utils/isFunction.test.d.ts +2 -0
  180. package/dist/__tests__/utils/isFunction.test.d.ts.map +1 -0
  181. package/dist/__tests__/utils/isHTMLElement.test.d.ts +2 -0
  182. package/dist/__tests__/utils/isHTMLElement.test.d.ts.map +1 -0
  183. package/dist/__tests__/utils/isKey.test.d.ts +2 -0
  184. package/dist/__tests__/utils/isKey.test.d.ts.map +1 -0
  185. package/dist/__tests__/utils/isMultipleSelect.test.d.ts +2 -0
  186. package/dist/__tests__/utils/isMultipleSelect.test.d.ts.map +1 -0
  187. package/dist/__tests__/utils/isNullOrUndefined.test.d.ts +2 -0
  188. package/dist/__tests__/utils/isNullOrUndefined.test.d.ts.map +1 -0
  189. package/dist/__tests__/utils/isObject.test.d.ts +2 -0
  190. package/dist/__tests__/utils/isObject.test.d.ts.map +1 -0
  191. package/dist/__tests__/utils/isPrimitive.test.d.ts +2 -0
  192. package/dist/__tests__/utils/isPrimitive.test.d.ts.map +1 -0
  193. package/dist/__tests__/utils/isRadioInput.test.d.ts +2 -0
  194. package/dist/__tests__/utils/isRadioInput.test.d.ts.map +1 -0
  195. package/dist/__tests__/utils/isRadioOrCheckbox.test.d.ts +2 -0
  196. package/dist/__tests__/utils/isRadioOrCheckbox.test.d.ts.map +1 -0
  197. package/dist/__tests__/utils/isRegex.test.d.ts +2 -0
  198. package/dist/__tests__/utils/isRegex.test.d.ts.map +1 -0
  199. package/dist/__tests__/utils/isString.test.d.ts +2 -0
  200. package/dist/__tests__/utils/isString.test.d.ts.map +1 -0
  201. package/dist/__tests__/utils/isUndefined.test.d.ts +2 -0
  202. package/dist/__tests__/utils/isUndefined.test.d.ts.map +1 -0
  203. package/dist/__tests__/utils/live.test.d.ts +2 -0
  204. package/dist/__tests__/utils/live.test.d.ts.map +1 -0
  205. package/dist/__tests__/utils/mergeMissingKeysAsUndefined.test.d.ts +2 -0
  206. package/dist/__tests__/utils/mergeMissingKeysAsUndefined.test.d.ts.map +1 -0
  207. package/dist/__tests__/utils/move.test.d.ts +2 -0
  208. package/dist/__tests__/utils/move.test.d.ts.map +1 -0
  209. package/dist/__tests__/utils/noop.test.d.ts +2 -0
  210. package/dist/__tests__/utils/noop.test.d.ts.map +1 -0
  211. package/dist/__tests__/utils/objectHasFunction.test.d.ts +2 -0
  212. package/dist/__tests__/utils/objectHasFunction.test.d.ts.map +1 -0
  213. package/dist/__tests__/utils/prepend.test.d.ts +2 -0
  214. package/dist/__tests__/utils/prepend.test.d.ts.map +1 -0
  215. package/dist/__tests__/utils/remove.test.d.ts +2 -0
  216. package/dist/__tests__/utils/remove.test.d.ts.map +1 -0
  217. package/dist/__tests__/utils/set.test.d.ts +2 -0
  218. package/dist/__tests__/utils/set.test.d.ts.map +1 -0
  219. package/dist/__tests__/utils/stringToPath.test.d.ts +2 -0
  220. package/dist/__tests__/utils/stringToPath.test.d.ts.map +1 -0
  221. package/dist/__tests__/utils/swap.test.d.ts +2 -0
  222. package/dist/__tests__/utils/swap.test.d.ts.map +1 -0
  223. package/dist/__tests__/utils/unset.test.d.ts +2 -0
  224. package/dist/__tests__/utils/unset.test.d.ts.map +1 -0
  225. package/dist/__tests__/utils/validationModeChecker.test.d.ts +2 -0
  226. package/dist/__tests__/utils/validationModeChecker.test.d.ts.map +1 -0
  227. package/dist/__tests__/watch.server.test.d.ts +2 -0
  228. package/dist/__tests__/watch.server.test.d.ts.map +1 -0
  229. package/dist/__tests__/watch.test.d.ts +2 -0
  230. package/dist/__tests__/watch.test.d.ts.map +1 -0
  231. package/dist/index.cjs.js +1 -1
  232. package/dist/index.cjs.js.map +1 -1
  233. package/dist/index.esm.mjs +25 -11
  234. package/dist/index.esm.mjs.map +1 -1
  235. package/dist/index.umd.js +1 -1
  236. package/dist/index.umd.js.map +1 -1
  237. package/dist/logic/createFormControl.d.ts.map +1 -1
  238. package/dist/react-server.esm.mjs +24 -10
  239. package/dist/react-server.esm.mjs.map +1 -1
  240. package/dist/types/form.d.ts +0 -8
  241. package/dist/types/form.d.ts.map +1 -1
  242. package/dist/types/index.d.ts +1 -0
  243. package/dist/types/index.d.ts.map +1 -1
  244. package/dist/types/utils.d.ts +3 -2
  245. package/dist/types/utils.d.ts.map +1 -1
  246. package/dist/types/watch.d.ts +32 -0
  247. package/dist/types/watch.d.ts.map +1 -0
  248. package/dist/watch.d.ts +2 -21
  249. package/dist/watch.d.ts.map +1 -1
  250. package/package.json +4 -4
@@ -317,7 +317,7 @@ function deepEqual(object1, object2, _internal_visited = new WeakSet()) {
317
317
  return Object.is(object1, object2);
318
318
  }
319
319
  if (isDateObject(object1) && isDateObject(object2)) {
320
- return object1.getTime() === object2.getTime();
320
+ return Object.is(object1.getTime(), object2.getTime());
321
321
  }
322
322
  const keys1 = Object.keys(object1);
323
323
  const keys2 = Object.keys(object2);
@@ -1830,7 +1830,7 @@ function createFormControl(props = {}) {
1830
1830
  }
1831
1831
  if (fieldError[_f.name]) {
1832
1832
  context.valid = false;
1833
- if (shouldOnlyCheckValid) {
1833
+ if (shouldOnlyCheckValid || props.shouldUseNativeValidation) {
1834
1834
  break;
1835
1835
  }
1836
1836
  }
@@ -1985,11 +1985,19 @@ function createFormControl(props = {}) {
1985
1985
  ? setValues(name, cloneValue, options)
1986
1986
  : setFieldValue(name, cloneValue, options);
1987
1987
  }
1988
- isWatched(name, _names) && _subjects.state.next({ ..._formState, name });
1989
- _subjects.state.next({
1990
- name: _state.mount ? name : undefined,
1991
- values: cloneObject(_formValues),
1992
- });
1988
+ if (isWatched(name, _names)) {
1989
+ _subjects.state.next({
1990
+ ..._formState,
1991
+ name,
1992
+ values: cloneObject(_formValues),
1993
+ });
1994
+ }
1995
+ else {
1996
+ _subjects.state.next({
1997
+ name: _state.mount ? name : undefined,
1998
+ values: cloneObject(_formValues),
1999
+ });
2000
+ }
1993
2001
  // Trigger validation when shouldValidate is true
1994
2002
  // This ensures validation happens for all cases including:
1995
2003
  // - Field arrays
@@ -2552,9 +2560,15 @@ function createFormControl(props = {}) {
2552
2560
  ...Object.keys(getDirtyFields(_defaultValues, _formValues)),
2553
2561
  ]);
2554
2562
  for (const fieldName of Array.from(fieldsToCheck)) {
2555
- get(_formState.dirtyFields, fieldName)
2556
- ? set(values, fieldName, get(_formValues, fieldName))
2557
- : setValue(fieldName, get(values, fieldName));
2563
+ const isDirty = get(_formState.dirtyFields, fieldName);
2564
+ const existingValue = get(_formValues, fieldName);
2565
+ const newValue = get(values, fieldName);
2566
+ if (isDirty && !isUndefined(existingValue)) {
2567
+ set(values, fieldName, existingValue);
2568
+ }
2569
+ else if (!isDirty && !isUndefined(newValue)) {
2570
+ setValue(fieldName, newValue);
2571
+ }
2558
2572
  }
2559
2573
  }
2560
2574
  else {
@@ -3352,7 +3366,7 @@ function useForm(props = {}) {
3352
3366
  * />
3353
3367
  * ```
3354
3368
  */
3355
- const Watch = ({ render, names, ...props }) => render(useWatch({ ...props, name: names }));
3369
+ const Watch = (props) => props.render(useWatch({ name: props.names, ...props }));
3356
3370
 
3357
3371
  export { Controller, Form, FormProvider, FormStateSubscribe, Watch, appendErrors, createFormControl, get, set, submitForm as submit, useController, useFieldArray, useForm, useFormContext, useFormState, useWatch };
3358
3372
  //# sourceMappingURL=index.esm.mjs.map