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.
- package/README.md +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.mjs +79 -36
- 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/getDirtyFields.d.ts.map +1 -1
- package/dist/react-server.esm.mjs +16 -12
- package/dist/react-server.esm.mjs.map +1 -1
- package/dist/useForm.d.ts.map +1 -1
- package/dist/useFormContext.d.ts +1 -1
- package/dist/watch.d.ts +1 -1
- package/dist/watch.d.ts.map +1 -1
- package/package.json +15 -15
|
@@ -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,
|
|
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,
|
|
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
|
|
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
|
|
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
|
-
|
|
303
|
-
|
|
304
|
-
|
|
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(
|
|
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
|
-
|
|
318
|
+
const value = data[key];
|
|
319
|
+
if (isTraversable(value)) {
|
|
318
320
|
if (isUndefined(formValues) || isPrimitive(dirtyFieldsFromValues[key])) {
|
|
319
|
-
dirtyFieldsFromValues[key] = markFieldsDirty(
|
|
321
|
+
dirtyFieldsFromValues[key] = markFieldsDirty(value, Array.isArray(value) ? [] : {});
|
|
320
322
|
}
|
|
321
323
|
else {
|
|
322
|
-
getDirtyFields(
|
|
324
|
+
getDirtyFields(value, isNullOrUndefined(formValues) ? {} : formValues[key], dirtyFieldsFromValues[key]);
|
|
323
325
|
}
|
|
324
326
|
}
|
|
325
327
|
else {
|
|
326
|
-
|
|
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
|