react-hook-form 7.65.0 → 7.66.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"createFormControl.d.ts","sourceRoot":"","sources":["../../src/logic/createFormControl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAaV,WAAW,EAiBX,YAAY,EAIZ,aAAa,EAUd,MAAM,UAAU,CAAC;AAqDlB,wBAAgB,iBAAiB,CAC/B,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,QAAQ,GAAG,GAAG,EACd,kBAAkB,GAAG,YAAY,EAEjC,KAAK,GAAE,YAAY,CAAC,YAAY,EAAE,QAAQ,EAAE,kBAAkB,CAAM,GACnE,IAAI,CACL,aAAa,CAAC,YAAY,EAAE,QAAQ,EAAE,kBAAkB,CAAC,EACzD,WAAW,CACZ,GAAG;IACF,WAAW,EAAE,IAAI,CACf,aAAa,CAAC,YAAY,EAAE,QAAQ,EAAE,kBAAkB,CAAC,EACzD,WAAW,CACZ,CAAC;CACH,CA07CA"}
1
+ {"version":3,"file":"createFormControl.d.ts","sourceRoot":"","sources":["../../src/logic/createFormControl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAaV,WAAW,EAiBX,YAAY,EAIZ,aAAa,EAUd,MAAM,UAAU,CAAC;AAqDlB,wBAAgB,iBAAiB,CAC/B,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,QAAQ,GAAG,GAAG,EACd,kBAAkB,GAAG,YAAY,EAEjC,KAAK,GAAE,YAAY,CAAC,YAAY,EAAE,QAAQ,EAAE,kBAAkB,CAAM,GACnE,IAAI,CACL,aAAa,CAAC,YAAY,EAAE,QAAQ,EAAE,kBAAkB,CAAC,EACzD,WAAW,CACZ,GAAG;IACF,WAAW,EAAE,IAAI,CACf,aAAa,CAAC,YAAY,EAAE,QAAQ,EAAE,kBAAkB,CAAC,EACzD,WAAW,CACZ,CAAC;CACH,CA27CA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getDirtyFields.d.ts","sourceRoot":"","sources":["../../src/logic/getDirtyFields.ts"],"names":[],"mappings":"AAWA,iBAAS,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,uBAWpE;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,EACtC,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,CAAC,EACb,qBAAqB,CAAC,EAAE,MAAM,CAC5B,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EACxB,UAAU,CAAC,OAAO,eAAe,CAAC,GAAG,OAAO,CAC7C,mEA0BF"}
1
+ {"version":3,"file":"getDirtyFields.d.ts","sourceRoot":"","sources":["../../src/logic/getDirtyFields.ts"],"names":[],"mappings":"AAWA,iBAAS,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,uBAapE;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,EACtC,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,CAAC,EACb,qBAAqB,CAAC,EAAE,MAAM,CAC5B,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EACxB,UAAU,CAAC,OAAO,eAAe,CAAC,GAAG,OAAO,CAC7C,mEA6BF"}
@@ -110,7 +110,7 @@ var isPrimitive = (value) => isNullOrUndefined(value) || !isObjectType(value);
110
110
 
111
111
  function deepEqual(object1, object2, _internal_visited = new WeakSet()) {
112
112
  if (isPrimitive(object1) || isPrimitive(object2)) {
113
- return object1 === object2;
113
+ return Object.is(object1, object2);
114
114
  }
115
115
  if (isDateObject(object1) && isDateObject(object2)) {
116
116
  return object1.getTime() === object2.getTime();
@@ -136,7 +136,7 @@ function deepEqual(object1, object2, _internal_visited = new WeakSet()) {
136
136
  (isObject(val1) && isObject(val2)) ||
137
137
  (Array.isArray(val1) && Array.isArray(val2))
138
138
  ? !deepEqual(val1, val2, _internal_visited)
139
- : val1 !== val2) {
139
+ : !Object.is(val1, val2)) {
140
140
  return false;
141
141
  }
142
142
  }
@@ -299,11 +299,12 @@ function isTraversable(value) {
299
299
  }
300
300
  function markFieldsDirty(data, fields = {}) {
301
301
  for (const key in data) {
302
- if (isTraversable(data[key])) {
303
- fields[key] = Array.isArray(data[key]) ? [] : {};
304
- markFieldsDirty(data[key], fields[key]);
302
+ const value = data[key];
303
+ if (isTraversable(value)) {
304
+ fields[key] = Array.isArray(value) ? [] : {};
305
+ markFieldsDirty(value, fields[key]);
305
306
  }
306
- else if (!isUndefined(data[key])) {
307
+ else if (!isUndefined(value)) {
307
308
  fields[key] = true;
308
309
  }
309
310
  }
@@ -314,16 +315,18 @@ function getDirtyFields(data, formValues, dirtyFieldsFromValues) {
314
315
  dirtyFieldsFromValues = markFieldsDirty(formValues);
315
316
  }
316
317
  for (const key in data) {
317
- if (isTraversable(data[key])) {
318
+ const value = data[key];
319
+ if (isTraversable(value)) {
318
320
  if (isUndefined(formValues) || isPrimitive(dirtyFieldsFromValues[key])) {
319
- dirtyFieldsFromValues[key] = markFieldsDirty(data[key], Array.isArray(data[key]) ? [] : {});
321
+ dirtyFieldsFromValues[key] = markFieldsDirty(value, Array.isArray(value) ? [] : {});
320
322
  }
321
323
  else {
322
- getDirtyFields(data[key], isNullOrUndefined(formValues) ? {} : formValues[key], dirtyFieldsFromValues[key]);
324
+ getDirtyFields(value, isNullOrUndefined(formValues) ? {} : formValues[key], dirtyFieldsFromValues[key]);
323
325
  }
324
326
  }
325
327
  else {
326
- dirtyFieldsFromValues[key] = !deepEqual(data[key], formValues[key]);
328
+ const formValue = formValues[key];
329
+ dirtyFieldsFromValues[key] = !deepEqual(value, formValue);
327
330
  }
328
331
  }
329
332
  return dirtyFieldsFromValues;
@@ -928,7 +931,7 @@ function createFormControl(props = {}) {
928
931
  shouldSkipSetValueAs
929
932
  ? set(_formValues, name, shouldSkipSetValueAs ? defaultValue : getFieldValue(field._f))
930
933
  : setFieldValue(name, defaultValue);
931
- _state.mount && _setValid();
934
+ _state.mount && !_state.action && _setValid();
932
935
  }
933
936
  };
934
937
  const updateTouchAndDirty = (name, fieldValue, isBlurEvent, shouldDirty, shouldRender) => {
@@ -1682,7 +1685,8 @@ function createFormControl(props = {}) {
1682
1685
  _state.mount =
1683
1686
  !_proxyFormState.isValid ||
1684
1687
  !!keepStateOptions.keepIsValid ||
1685
- !!keepStateOptions.keepDirtyValues;
1688
+ !!keepStateOptions.keepDirtyValues ||
1689
+ (!_options.shouldUnregister && !isEmptyObject(values));
1686
1690
  _state.watch = !!_options.shouldUnregister;
1687
1691
  _subjects.state.next({
1688
1692
  submitCount: keepStateOptions.keepSubmitCount