react-hook-form 7.32.0 → 7.33.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.
- package/README.md +8 -2
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.mjs +10 -7
- 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/getFieldValueAs.d.ts.map +1 -1
- package/dist/logic/getProxyFormState.d.ts +2 -2
- package/dist/logic/getProxyFormState.d.ts.map +1 -1
- package/dist/logic/getResolverOptions.d.ts +2 -2
- package/dist/logic/getResolverOptions.d.ts.map +1 -1
- package/dist/types/controller.d.ts +3 -3
- package/dist/types/controller.d.ts.map +1 -1
- package/dist/types/errors.d.ts +4 -2
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/fieldArray.d.ts +6 -6
- package/dist/types/fieldArray.d.ts.map +1 -1
- package/dist/types/form.d.ts +23 -17
- package/dist/types/form.d.ts.map +1 -1
- package/dist/types/resolvers.d.ts +4 -4
- package/dist/types/resolvers.d.ts.map +1 -1
- package/dist/types/utils.d.ts +3 -0
- package/dist/types/utils.d.ts.map +1 -1
- package/dist/useController.d.ts.map +1 -1
- package/dist/useFieldArray.d.ts.map +1 -1
- package/dist/useForm.d.ts +1 -1
- package/dist/useForm.d.ts.map +1 -1
- package/dist/useWatch.d.ts +2 -2
- package/dist/useWatch.d.ts.map +1 -1
- package/package.json +27 -25
package/dist/index.esm.mjs
CHANGED
@@ -409,6 +409,7 @@ function useController(props) {
|
|
409
409
|
if (elm && field && elm.focus) {
|
410
410
|
field._f.ref = {
|
411
411
|
focus: () => elm.focus(),
|
412
|
+
select: () => elm.select(),
|
412
413
|
setCustomValidity: (message) => elm.setCustomValidity(message),
|
413
414
|
reportValidity: () => elm.reportValidity(),
|
414
415
|
};
|
@@ -722,7 +723,7 @@ function useFieldArray(props) {
|
|
722
723
|
_name.current = name;
|
723
724
|
_fieldIds.current = fields;
|
724
725
|
control._names.array.add(name);
|
725
|
-
const callback = React.useCallback(({ values, name: fieldArrayName }) => {
|
726
|
+
const callback = React.useCallback(({ values, name: fieldArrayName, }) => {
|
726
727
|
if (fieldArrayName === _name.current || !fieldArrayName) {
|
727
728
|
const fieldValues = get(values, _name.current, []);
|
728
729
|
setFields(fieldValues);
|
@@ -1025,7 +1026,7 @@ var getCheckboxValue = (options) => {
|
|
1025
1026
|
var getFieldValueAs = (value, { valueAsNumber, valueAsDate, setValueAs }) => isUndefined(value)
|
1026
1027
|
? value
|
1027
1028
|
: valueAsNumber
|
1028
|
-
? value === ''
|
1029
|
+
? value === '' || isNullOrUndefined(value)
|
1029
1030
|
? NaN
|
1030
1031
|
: +value
|
1031
1032
|
: valueAsDate && isString(value)
|
@@ -1225,7 +1226,7 @@ var validateField = async (field, inputValue, validateAllFieldCriteria, shouldUs
|
|
1225
1226
|
let exceedMin;
|
1226
1227
|
const maxOutput = getValueAndMessage(max);
|
1227
1228
|
const minOutput = getValueAndMessage(min);
|
1228
|
-
if (!isNaN(inputValue)) {
|
1229
|
+
if (!isNullOrUndefined(inputValue) && !isNaN(inputValue)) {
|
1229
1230
|
const valueNumber = ref.valueAsNumber || +inputValue;
|
1230
1231
|
if (!isNullOrUndefined(maxOutput.value)) {
|
1231
1232
|
exceedMax = valueNumber > maxOutput.value;
|
@@ -1439,10 +1440,12 @@ function createFormControl(props = {}) {
|
|
1439
1440
|
set(_formValues, name, values);
|
1440
1441
|
}
|
1441
1442
|
};
|
1442
|
-
const updateErrors = (name, error) =>
|
1443
|
+
const updateErrors = (name, error) => {
|
1444
|
+
set(_formState.errors, name, error);
|
1443
1445
|
_subjects.state.next({
|
1444
1446
|
errors: _formState.errors,
|
1445
|
-
})
|
1447
|
+
});
|
1448
|
+
};
|
1446
1449
|
const updateValidAndValue = (name, shouldSkipSetValueAs, value, ref) => {
|
1447
1450
|
const field = get(_fields, name);
|
1448
1451
|
if (field) {
|
@@ -1492,12 +1495,12 @@ function createFormControl(props = {}) {
|
|
1492
1495
|
const previousFieldError = get(_formState.errors, name);
|
1493
1496
|
const shouldUpdateValid = _proxyFormState.isValid && _formState.isValid !== isValid;
|
1494
1497
|
if (props.delayError && error) {
|
1495
|
-
delayErrorCallback =
|
1496
|
-
delayErrorCallback || debounce(() => updateErrors(name, error));
|
1498
|
+
delayErrorCallback = debounce(() => updateErrors(name, error));
|
1497
1499
|
delayErrorCallback(props.delayError);
|
1498
1500
|
}
|
1499
1501
|
else {
|
1500
1502
|
clearTimeout(timer);
|
1503
|
+
delayErrorCallback = null;
|
1501
1504
|
error
|
1502
1505
|
? set(_formState.errors, name, error)
|
1503
1506
|
: unset(_formState.errors, name);
|