react-hook-form 7.58.1 → 7.60.0-next.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.
@@ -1 +1 @@
1
- {"version":3,"file":"createFormControl.d.ts","sourceRoot":"","sources":["../../src/logic/createFormControl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAaV,WAAW,EAgBX,YAAY,EAIZ,aAAa,EAUd,MAAM,UAAU,CAAC;AAoDlB,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,CAg6CA"}
1
+ {"version":3,"file":"createFormControl.d.ts","sourceRoot":"","sources":["../../src/logic/createFormControl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAaV,WAAW,EAgBX,YAAY,EAIZ,aAAa,EAUd,MAAM,UAAU,CAAC;AAoDlB,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,CAy6CA"}
@@ -1 +1 @@
1
- {"version":3,"file":"generateWatchOutput.d.ts","sourceRoot":"","sources":["../../src/logic/generateWatchOutput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;yBAIhD,CAAC,EACf,OAAO,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACpC,QAAQ,KAAK,EACb,aAAa,WAAW,EACxB,WAAW,OAAO,EAClB,eAAe,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO;AALzC,wBAuBE"}
1
+ {"version":3,"file":"generateWatchOutput.d.ts","sourceRoot":"","sources":["../../src/logic/generateWatchOutput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;yBAIhD,CAAC,EACf,OAAO,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACpC,QAAQ,KAAK,EACb,aAAa,WAAW,EACxB,WAAW,OAAO,EAClB,eAAe,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO;AALzC,wBAwBE"}
@@ -54,9 +54,6 @@ function cloneObject(data) {
54
54
  if (data instanceof Date) {
55
55
  copy = new Date(data);
56
56
  }
57
- else if (data instanceof Set) {
58
- copy = new Set(data);
59
- }
60
57
  else if (!(isWeb && (data instanceof Blob || isFileListInstance)) &&
61
58
  (isArray || isObject(data))) {
62
59
  copy = isArray ? [] : {};
@@ -111,7 +108,7 @@ var createSubject = () => {
111
108
 
112
109
  var isPrimitive = (value) => isNullOrUndefined(value) || !isObjectType(value);
113
110
 
114
- function deepEqual(object1, object2) {
111
+ function deepEqual(object1, object2, _internal_visited = new WeakSet()) {
115
112
  if (isPrimitive(object1) || isPrimitive(object2)) {
116
113
  return object1 === object2;
117
114
  }
@@ -123,6 +120,11 @@ function deepEqual(object1, object2) {
123
120
  if (keys1.length !== keys2.length) {
124
121
  return false;
125
122
  }
123
+ if (_internal_visited.has(object1) || _internal_visited.has(object2)) {
124
+ return true;
125
+ }
126
+ _internal_visited.add(object1);
127
+ _internal_visited.add(object2);
126
128
  for (const key of keys1) {
127
129
  const val1 = object1[key];
128
130
  if (!keys2.includes(key)) {
@@ -133,7 +135,7 @@ function deepEqual(object1, object2) {
133
135
  if ((isDateObject(val1) && isDateObject(val2)) ||
134
136
  (isObject(val1) && isObject(val2)) ||
135
137
  (Array.isArray(val1) && Array.isArray(val2))
136
- ? !deepEqual(val1, val2)
138
+ ? !deepEqual(val1, val2, _internal_visited)
137
139
  : val1 !== val2) {
138
140
  return false;
139
141
  }
@@ -256,7 +258,8 @@ var generateWatchOutput = (names, _names, formValues, isGlobal, defaultValue) =>
256
258
  return get(formValues, names, defaultValue);
257
259
  }
258
260
  if (Array.isArray(names)) {
259
- return names.map((fieldName) => (isGlobal && _names.watch.add(fieldName), get(formValues, fieldName)));
261
+ return names.map((fieldName) => (isGlobal && _names.watch.add(fieldName),
262
+ get(formValues, fieldName)));
260
263
  }
261
264
  isGlobal && (_names.watchAll = true);
262
265
  return formValues;
@@ -780,7 +783,7 @@ function createFormControl(props = {}) {
780
783
  errors: _options.errors || {},
781
784
  disabled: _options.disabled || false,
782
785
  };
783
- const _fields = {};
786
+ let _fields = {};
784
787
  let _defaultValues = isObject(_options.defaultValues) || isObject(_options.values)
785
788
  ? cloneObject(_options.defaultValues || _options.values) || {}
786
789
  : {};
@@ -1523,14 +1526,14 @@ function createFormControl(props = {}) {
1523
1526
  if (_options.resolver) {
1524
1527
  const { errors, values } = await _runSchema();
1525
1528
  _formState.errors = errors;
1526
- fieldValues = values;
1529
+ fieldValues = cloneObject(values);
1527
1530
  }
1528
1531
  else {
1529
1532
  await executeBuiltInValidation(_fields);
1530
1533
  }
1531
1534
  if (_names.disabled.size) {
1532
1535
  for (const name of _names.disabled) {
1533
- set(fieldValues, name, undefined);
1536
+ unset(fieldValues, name);
1534
1537
  }
1535
1538
  }
1536
1539
  unset(_formState.errors, 'root');
@@ -1626,11 +1629,20 @@ function createFormControl(props = {}) {
1626
1629
  }
1627
1630
  }
1628
1631
  }
1629
- for (const fieldName of _names.mount) {
1630
- setValue(fieldName, get(values, fieldName));
1632
+ if (keepStateOptions.keepFieldsRef) {
1633
+ for (const fieldName of _names.mount) {
1634
+ setValue(fieldName, get(values, fieldName));
1635
+ }
1636
+ }
1637
+ else {
1638
+ _fields = {};
1631
1639
  }
1632
1640
  }
1633
- _formValues = cloneObject(values);
1641
+ _formValues = _options.shouldUnregister
1642
+ ? keepStateOptions.keepDefaultValues
1643
+ ? cloneObject(_defaultValues)
1644
+ : {}
1645
+ : cloneObject(values);
1634
1646
  _subjects.array.next({
1635
1647
  values: { ...values },
1636
1648
  });