react-hook-form 7.55.0-next.2 → 7.55.0-next.3

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.
@@ -106,7 +106,6 @@ var set = (object, path, value) => {
106
106
  object[key] = newValue;
107
107
  object = object[key];
108
108
  }
109
- return object;
110
109
  };
111
110
 
112
111
  const EVENTS = {
@@ -323,7 +322,7 @@ function useWatch(props) {
323
322
  },
324
323
  exact,
325
324
  callback: (formState) => !disabled &&
326
- updateValue(cloneObject(generateWatchOutput(_name.current, control._names, formState.values || control._formValues, false, defaultValue))),
325
+ updateValue(generateWatchOutput(_name.current, control._names, formState.values || control._formValues, false, defaultValue)),
327
326
  }), [control, defaultValue, disabled, exact]);
328
327
  const [value, updateValue] = React.useState(control._getWatch(name, defaultValue));
329
328
  React.useEffect(() => control._removeUnmounted());
@@ -369,6 +368,7 @@ function useController(props) {
369
368
  name,
370
369
  exact: true,
371
370
  });
371
+ const _props = React.useRef(props);
372
372
  const _registerProps = React.useRef(control.register(name, {
373
373
  ...props.rules,
374
374
  value,
@@ -433,6 +433,12 @@ function useController(props) {
433
433
  }), [name, disabled, formState.disabled, onChange, onBlur, ref, value]);
434
434
  React.useEffect(() => {
435
435
  const _shouldUnregisterField = control._options.shouldUnregister || shouldUnregister;
436
+ control.register(name, {
437
+ ..._props.current.rules,
438
+ ...(isBoolean(_props.current.disabled)
439
+ ? { disabled: _props.current.disabled }
440
+ : {}),
441
+ });
436
442
  const updateMounted = (name, value) => {
437
443
  const field = get(control._fields, name);
438
444
  if (field && field._f) {
@@ -1590,7 +1596,7 @@ function createFormControl(props = {}) {
1590
1596
  if (!fieldReference.ref.type) {
1591
1597
  _subjects.state.next({
1592
1598
  name,
1593
- values: { ..._formValues },
1599
+ values: cloneObject(_formValues),
1594
1600
  });
1595
1601
  }
1596
1602
  }
@@ -1621,7 +1627,7 @@ function createFormControl(props = {}) {
1621
1627
  if (isFieldArray) {
1622
1628
  _subjects.array.next({
1623
1629
  name,
1624
- values: { ..._formValues },
1630
+ values: cloneObject(_formValues),
1625
1631
  });
1626
1632
  if ((_proxyFormState.isDirty ||
1627
1633
  _proxyFormState.dirtyFields ||
@@ -1643,7 +1649,7 @@ function createFormControl(props = {}) {
1643
1649
  isWatched(name, _names) && _subjects.state.next({ ..._formState });
1644
1650
  _subjects.state.next({
1645
1651
  name: _state.mount ? name : undefined,
1646
- values: { ..._formValues },
1652
+ values: cloneObject(_formValues),
1647
1653
  });
1648
1654
  };
1649
1655
  const onChange = async (event) => {
@@ -1685,7 +1691,7 @@ function createFormControl(props = {}) {
1685
1691
  _subjects.state.next({
1686
1692
  name,
1687
1693
  type: event.type,
1688
- values: { ..._formValues },
1694
+ values: cloneObject(_formValues),
1689
1695
  });
1690
1696
  if (shouldSkipValidation) {
1691
1697
  if (_proxyFormState.isValid || _proxySubscribeFormState.isValid) {
@@ -1826,7 +1832,7 @@ function createFormControl(props = {}) {
1826
1832
  if (shouldSubscribeByName(props.name, formState.name, props.exact) &&
1827
1833
  shouldRenderFormState(formState, props.formState || _proxyFormState, _setFormState, props.reRenderRoot)) {
1828
1834
  props.callback({
1829
- values: _formValues,
1835
+ values: { ..._formValues },
1830
1836
  ..._formState,
1831
1837
  ...formState,
1832
1838
  });
@@ -1862,7 +1868,7 @@ function createFormControl(props = {}) {
1862
1868
  unset(_defaultValues, fieldName);
1863
1869
  }
1864
1870
  _subjects.state.next({
1865
- values: { ..._formValues },
1871
+ values: cloneObject(_formValues),
1866
1872
  });
1867
1873
  _subjects.state.next({
1868
1874
  ..._formState,
@@ -2526,7 +2532,7 @@ function useFieldArray(props) {
2526
2532
  }
2527
2533
  control._subjects.state.next({
2528
2534
  name,
2529
- values: { ...control._formValues },
2535
+ values: cloneObject(control._formValues),
2530
2536
  });
2531
2537
  control._names.focus &&
2532
2538
  iterateFieldsByAction(control._fields, (ref, key) => {