react-hook-form 7.27.1 → 7.28.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.
- package/README.md +10 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.mjs +15 -13
- package/dist/index.esm.mjs.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/dist/logic/createFormControl.d.ts.map +1 -1
- package/dist/logic/getResolverOptions.d.ts +1 -1
- package/dist/types/fieldArray.d.ts +1 -1
- package/dist/types/form.d.ts +1 -1
- package/dist/types/form.d.ts.map +1 -1
- package/dist/types/validator.d.ts +1 -1
- package/dist/types/validator.d.ts.map +1 -1
- package/dist/useFieldArray.d.ts.map +1 -1
- package/dist/utils/unset.d.ts.map +1 -1
- package/package.json +20 -20
package/dist/index.esm.mjs
CHANGED
@@ -733,13 +733,14 @@ function useFieldArray(props) {
|
|
733
733
|
}, false);
|
734
734
|
};
|
735
735
|
const update = (index, value) => {
|
736
|
-
const
|
736
|
+
const updateValue = cloneObject(value);
|
737
|
+
const updatedFieldArrayValues = updateAt(control._getFieldArray(name), index, updateValue);
|
737
738
|
ids.current = [...updatedFieldArrayValues].map((item, i) => !item || i === index ? generateId() : ids.current[i]);
|
738
739
|
updateValues(updatedFieldArrayValues);
|
739
740
|
setFields([...updatedFieldArrayValues]);
|
740
741
|
control._updateFieldArray(name, updatedFieldArrayValues, updateAt, {
|
741
742
|
argA: index,
|
742
|
-
argB:
|
743
|
+
argB: updateValue,
|
743
744
|
}, true, false);
|
744
745
|
};
|
745
746
|
const replace = (value) => {
|
@@ -909,9 +910,7 @@ function unset(object, path) {
|
|
909
910
|
if (currentPathsLength === index &&
|
910
911
|
((isObject(objectRef) && isEmptyObject(objectRef)) ||
|
911
912
|
(Array.isArray(objectRef) &&
|
912
|
-
!objectRef.filter((data) =>
|
913
|
-
isBoolean(data) ||
|
914
|
-
(Array.isArray(data) && data.length)).length))) {
|
913
|
+
!objectRef.filter((data) => !isUndefined(data)).length))) {
|
915
914
|
previousObjRef ? delete previousObjRef[item] : delete object[item];
|
916
915
|
}
|
917
916
|
previousObjRef = objectRef;
|
@@ -1344,21 +1343,22 @@ function createFormControl(props = {}) {
|
|
1344
1343
|
}
|
1345
1344
|
return isValid;
|
1346
1345
|
};
|
1347
|
-
const _updateFieldArray = (name, values = [], method, args, shouldSetValues = true,
|
1346
|
+
const _updateFieldArray = (name, values = [], method, args, shouldSetValues = true, shouldUpdateFieldsAndState = true) => {
|
1348
1347
|
if (args && method) {
|
1349
1348
|
_stateFlags.action = true;
|
1350
|
-
if (
|
1349
|
+
if (shouldUpdateFieldsAndState && Array.isArray(get(_fields, name))) {
|
1351
1350
|
const fieldValues = method(get(_fields, name), args.argA, args.argB);
|
1352
1351
|
shouldSetValues && set(_fields, name, fieldValues);
|
1353
1352
|
}
|
1354
1353
|
if (_proxyFormState.errors &&
|
1355
|
-
|
1354
|
+
shouldUpdateFieldsAndState &&
|
1356
1355
|
Array.isArray(get(_formState.errors, name))) {
|
1357
1356
|
const errors = method(get(_formState.errors, name), args.argA, args.argB);
|
1358
1357
|
shouldSetValues && set(_formState.errors, name, errors);
|
1359
1358
|
unsetEmptyArray(_formState.errors, name);
|
1360
1359
|
}
|
1361
1360
|
if (_proxyFormState.touchedFields &&
|
1361
|
+
shouldUpdateFieldsAndState &&
|
1362
1362
|
Array.isArray(get(_formState.touchedFields, name))) {
|
1363
1363
|
const touchedFields = method(get(_formState.touchedFields, name), args.argA, args.argB);
|
1364
1364
|
shouldSetValues && set(_formState.touchedFields, name, touchedFields);
|
@@ -1545,9 +1545,10 @@ function createFormControl(props = {}) {
|
|
1545
1545
|
else if (fieldReference.refs) {
|
1546
1546
|
if (isCheckBoxInput(fieldReference.ref)) {
|
1547
1547
|
fieldReference.refs.length > 1
|
1548
|
-
? fieldReference.refs.forEach((checkboxRef) =>
|
1549
|
-
|
1550
|
-
|
1548
|
+
? fieldReference.refs.forEach((checkboxRef) => !checkboxRef.disabled &&
|
1549
|
+
(checkboxRef.checked = Array.isArray(fieldValue)
|
1550
|
+
? !!fieldValue.find((data) => data === checkboxRef.value)
|
1551
|
+
: fieldValue === checkboxRef.value))
|
1551
1552
|
: fieldReference.refs[0] &&
|
1552
1553
|
(fieldReference.refs[0].checked = !!fieldValue);
|
1553
1554
|
}
|
@@ -1667,7 +1668,8 @@ function createFormControl(props = {}) {
|
|
1667
1668
|
error = (await validateField(field, get(_formValues, name), shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation))[name];
|
1668
1669
|
isValid = await _updateValid(true);
|
1669
1670
|
}
|
1670
|
-
field._f.deps &&
|
1671
|
+
field._f.deps &&
|
1672
|
+
trigger(field._f.deps);
|
1671
1673
|
shouldRenderByError(false, name, isValid, error, fieldState);
|
1672
1674
|
}
|
1673
1675
|
};
|
@@ -1804,7 +1806,7 @@ function createFormControl(props = {}) {
|
|
1804
1806
|
set(_fields, name, {
|
1805
1807
|
_f: Object.assign(Object.assign({}, field._f), (radioOrCheckbox
|
1806
1808
|
? {
|
1807
|
-
refs: refs.
|
1809
|
+
refs: [...refs.filter(live), fieldRef],
|
1808
1810
|
ref: { type: fieldRef.type, name },
|
1809
1811
|
}
|
1810
1812
|
: { ref: fieldRef })),
|