@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
@@ -1 +1 @@
1
- {"version":3,"file":"createFormControl.d.ts","sourceRoot":"","sources":["../../src/logic/createFormControl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAaV,WAAW,EACX,YAAY,EAiBZ,YAAY,EAIZ,aAAa,EAUd,MAAM,UAAU,CAAC;AAyDlB,wBAAgB,iBAAiB,CAC/B,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,QAAQ,GAAG,GAAG,EACd,kBAAkB,GAAG,YAAY,EACjC,SAAS,SAAS,YAAY,GAAG,GAAG,EAEpC,KAAK,GAAE,YAAY,CACjB,YAAY,EACZ,QAAQ,EACR,kBAAkB,EAClB,SAAS,CACL,GACL,IAAI,CACL,aAAa,CAAC,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,SAAS,CAAC,EACpE,WAAW,CACZ,GAAG;IACF,WAAW,EAAE,IAAI,CACf,aAAa,CAAC,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,SAAS,CAAC,EACpE,WAAW,CACZ,CAAC;CACH,CA0yDA"}
1
+ {"version":3,"file":"createFormControl.d.ts","sourceRoot":"","sources":["../../src/logic/createFormControl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAaV,WAAW,EACX,YAAY,EAiBZ,YAAY,EAIZ,aAAa,EAUd,MAAM,UAAU,CAAC;AAyDlB,wBAAgB,iBAAiB,CAC/B,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,QAAQ,GAAG,GAAG,EACd,kBAAkB,GAAG,YAAY,EACjC,SAAS,SAAS,YAAY,GAAG,GAAG,EAEpC,KAAK,GAAE,YAAY,CACjB,YAAY,EACZ,QAAQ,EACR,kBAAkB,EAClB,SAAS,CACL,GACL,IAAI,CACL,aAAa,CAAC,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,SAAS,CAAC,EACpE,WAAW,CACZ,GAAG;IACF,WAAW,EAAE,IAAI,CACf,aAAa,CAAC,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,SAAS,CAAC,EACpE,WAAW,CACZ,CAAC;CACH,CAozDA"}
@@ -121,7 +121,7 @@ function deepEqual(object1, object2, _internal_visited = new WeakSet()) {
121
121
  return Object.is(object1, object2);
122
122
  }
123
123
  if (isDateObject(object1) && isDateObject(object2)) {
124
- return object1.getTime() === object2.getTime();
124
+ return Object.is(object1.getTime(), object2.getTime());
125
125
  }
126
126
  const keys1 = Object.keys(object1);
127
127
  const keys2 = Object.keys(object2);
@@ -1176,7 +1176,7 @@ function createFormControl(props = {}) {
1176
1176
  }
1177
1177
  if (fieldError[_f.name]) {
1178
1178
  context.valid = false;
1179
- if (shouldOnlyCheckValid) {
1179
+ if (shouldOnlyCheckValid || props.shouldUseNativeValidation) {
1180
1180
  break;
1181
1181
  }
1182
1182
  }
@@ -1331,11 +1331,19 @@ function createFormControl(props = {}) {
1331
1331
  ? setValues(name, cloneValue, options)
1332
1332
  : setFieldValue(name, cloneValue, options);
1333
1333
  }
1334
- isWatched(name, _names) && _subjects.state.next({ ..._formState, name });
1335
- _subjects.state.next({
1336
- name: _state.mount ? name : undefined,
1337
- values: cloneObject(_formValues),
1338
- });
1334
+ if (isWatched(name, _names)) {
1335
+ _subjects.state.next({
1336
+ ..._formState,
1337
+ name,
1338
+ values: cloneObject(_formValues),
1339
+ });
1340
+ }
1341
+ else {
1342
+ _subjects.state.next({
1343
+ name: _state.mount ? name : undefined,
1344
+ values: cloneObject(_formValues),
1345
+ });
1346
+ }
1339
1347
  // Trigger validation when shouldValidate is true
1340
1348
  // This ensures validation happens for all cases including:
1341
1349
  // - Field arrays
@@ -1898,9 +1906,15 @@ function createFormControl(props = {}) {
1898
1906
  ...Object.keys(getDirtyFields(_defaultValues, _formValues)),
1899
1907
  ]);
1900
1908
  for (const fieldName of Array.from(fieldsToCheck)) {
1901
- get(_formState.dirtyFields, fieldName)
1902
- ? set(values, fieldName, get(_formValues, fieldName))
1903
- : setValue(fieldName, get(values, fieldName));
1909
+ const isDirty = get(_formState.dirtyFields, fieldName);
1910
+ const existingValue = get(_formValues, fieldName);
1911
+ const newValue = get(values, fieldName);
1912
+ if (isDirty && !isUndefined(existingValue)) {
1913
+ set(values, fieldName, existingValue);
1914
+ }
1915
+ else if (!isDirty && !isUndefined(newValue)) {
1916
+ setValue(fieldName, newValue);
1917
+ }
1904
1918
  }
1905
1919
  }
1906
1920
  else {