react-hook-form 7.78.0 → 7.79.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":"AAOA,OAAO,KAAK,EAcV,WAAW,EAiBX,YAAY,EAKZ,aAAa,EAYd,MAAM,UAAU,CAAC;AAuDlB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;CAY9B,CAAC;AAEF,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,CAyvDA"}
1
+ {"version":3,"file":"createFormControl.d.ts","sourceRoot":"","sources":["../../src/logic/createFormControl.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAcV,WAAW,EAiBX,YAAY,EAKZ,aAAa,EAYd,MAAM,UAAU,CAAC;AAuDlB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;CAY9B,CAAC;AAEF,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,CAwwDA"}
@@ -1 +1 @@
1
- {"version":3,"file":"validateField.d.ts","sourceRoot":"","sources":["../../src/logic/validateField.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,KAAK,EAEL,WAAW,EACX,mBAAmB,EACnB,eAAe,EAKhB,MAAM,UAAU,CAAC;yBAqBI,CAAC,SAAS,WAAW,EACzC,OAAO,KAAK,EACZ,oBAAoB,eAAe,EACnC,YAAY,CAAC,EACb,0BAA0B,OAAO,EACjC,4BAA4B,OAAO,EACnC,eAAe,OAAO,KACrB,OAAO,CAAC,mBAAmB,CAAC;AAP/B,wBA6PE"}
1
+ {"version":3,"file":"validateField.d.ts","sourceRoot":"","sources":["../../src/logic/validateField.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,KAAK,EAEL,WAAW,EACX,mBAAmB,EACnB,eAAe,EAKhB,MAAM,UAAU,CAAC;yBAqBI,CAAC,SAAS,WAAW,EACzC,OAAO,KAAK,EACZ,oBAAoB,eAAe,EACnC,YAAY,CAAC,EACb,0BAA0B,OAAO,EACjC,4BAA4B,OAAO,EACnC,eAAe,OAAO,KACrB,OAAO,CAAC,mBAAmB,CAAC;AAP/B,wBAkQE"}
@@ -110,7 +110,7 @@ var createSubject = () => {
110
110
  var isPrimitive = (value) => isNullOrUndefined(value) || !isObjectType(value);
111
111
 
112
112
  const isEmptyObjectWithCustomPrototype = (object, keys) => keys.length === 0 && !Array.isArray(object) && !isPlainObject(object);
113
- function deepEqual(object1, object2, visited = new WeakSet()) {
113
+ function deepEqual(object1, object2, visited = new WeakMap()) {
114
114
  if (object1 === object2) {
115
115
  return true;
116
116
  }
@@ -129,11 +129,16 @@ function deepEqual(object1, object2, visited = new WeakSet()) {
129
129
  isEmptyObjectWithCustomPrototype(object2, keys2)) {
130
130
  return Object.is(object1, object2);
131
131
  }
132
- if (visited.has(object1) || visited.has(object2)) {
132
+ const visitedPairs = visited.get(object1);
133
+ if (visitedPairs && visitedPairs.has(object2)) {
133
134
  return true;
134
135
  }
135
- visited.add(object1);
136
- visited.add(object2);
136
+ if (visitedPairs) {
137
+ visitedPairs.add(object2);
138
+ }
139
+ else {
140
+ visited.set(object1, new WeakSet([object2]));
141
+ }
137
142
  for (const key of keys1) {
138
143
  const val1 = object1[key];
139
144
  if (!(key in object2)) {
@@ -650,7 +655,13 @@ var validateField = async (field, disabledFieldNames, formValues, validateAllFie
650
655
  const inputRef = refs ? refs[0] : ref;
651
656
  const setCustomValidity = (message) => {
652
657
  if (shouldUseNativeValidation && inputRef.reportValidity) {
653
- inputRef.setCustomValidity(isBoolean(message) ? '' : message || '');
658
+ const validityMessage = isBoolean(message) ? '' : message || '';
659
+ if (refs) {
660
+ refs.forEach((ref) => ref.setCustomValidity(validityMessage));
661
+ }
662
+ else {
663
+ inputRef.setCustomValidity(validityMessage);
664
+ }
654
665
  inputRef.reportValidity();
655
666
  }
656
667
  };
@@ -982,6 +993,7 @@ function createFormControl(props = {}) {
982
993
  };
983
994
  const updateErrors = (name, error) => {
984
995
  set(_formState.errors, name, error);
996
+ _formState.errors = { ..._formState.errors };
985
997
  _subjects.state.next({
986
998
  errors: _formState.errors,
987
999
  });
@@ -1039,6 +1051,15 @@ function createFormControl(props = {}) {
1039
1051
  _subjects.state.next({ ..._formState });
1040
1052
  }
1041
1053
  }
1054
+ // When a watched field is re-registered after being unregistered and
1055
+ // its value is restored, trigger a deferred watch broadcast so that
1056
+ // components using watch() re-render with the new value.
1057
+ if (props.shouldUnregister &&
1058
+ wasUnsetInFormValues &&
1059
+ !isUndefined(get(_formValues, name)) &&
1060
+ isWatched(name, _names)) {
1061
+ _state.watch = true;
1062
+ }
1042
1063
  }
1043
1064
  }
1044
1065
  };
@@ -1103,6 +1124,7 @@ function createFormControl(props = {}) {
1103
1124
  error
1104
1125
  ? set(_formState.errors, name, error)
1105
1126
  : unset(_formState.errors, name);
1127
+ _formState.errors = { ..._formState.errors };
1106
1128
  }
1107
1129
  if ((error ? !deepEqual(previousFieldError, error) : previousFieldError) ||
1108
1130
  !isEmptyObject(fieldState) ||
@@ -1138,6 +1160,7 @@ function createFormControl(props = {}) {
1138
1160
  : set(_formState.errors, name, error)
1139
1161
  : unset(_formState.errors, name);
1140
1162
  }
1163
+ _formState.errors = { ..._formState.errors };
1141
1164
  }
1142
1165
  else {
1143
1166
  _formState.errors = errors;