react-hook-form 7.49.2 → 7.49.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.
@@ -447,7 +447,7 @@ function useController(props) {
447
447
  field: {
448
448
  name,
449
449
  value,
450
- ...(isBoolean(disabled) || isBoolean(formState.disabled)
450
+ ...(isBoolean(disabled) || formState.disabled
451
451
  ? { disabled: formState.disabled || disabled }
452
452
  : {}),
453
453
  onChange: React.useCallback((event) => _registerProps.current.onChange({
@@ -1532,7 +1532,7 @@ function createFormControl(props = {}, flushRootRender) {
1532
1532
  touchedFields: {},
1533
1533
  dirtyFields: {},
1534
1534
  errors: _options.errors || {},
1535
- disabled: false,
1535
+ disabled: _options.disabled || false,
1536
1536
  };
1537
1537
  let _fields = {};
1538
1538
  let _defaultValues = isObject(_options.defaultValues) || isObject(_options.values)
@@ -1567,7 +1567,6 @@ function createFormControl(props = {}, flushRootRender) {
1567
1567
  array: createSubject(),
1568
1568
  state: createSubject(),
1569
1569
  };
1570
- const shouldCaptureDirtyFields = props.resetOptions && props.resetOptions.keepDirtyValues;
1571
1570
  const validationModeBeforeSubmit = getValidationModes(_options.mode);
1572
1571
  const validationModeAfterSubmit = getValidationModes(_options.reValidateMode);
1573
1572
  const shouldDisplayAllAssociatedErrors = _options.criteriaMode === VALIDATION_MODE.all;
@@ -2216,11 +2215,11 @@ function createFormControl(props = {}, flushRootRender) {
2216
2215
  const resetField = (name, options = {}) => {
2217
2216
  if (get(_fields, name)) {
2218
2217
  if (isUndefined(options.defaultValue)) {
2219
- setValue(name, get(_defaultValues, name));
2218
+ setValue(name, cloneObject(get(_defaultValues, name)));
2220
2219
  }
2221
2220
  else {
2222
2221
  setValue(name, options.defaultValue);
2223
- set(_defaultValues, name, options.defaultValue);
2222
+ set(_defaultValues, name, cloneObject(options.defaultValue));
2224
2223
  }
2225
2224
  if (!options.keepTouched) {
2226
2225
  unset(_formState.touchedFields, name);
@@ -2228,7 +2227,7 @@ function createFormControl(props = {}, flushRootRender) {
2228
2227
  if (!options.keepDirty) {
2229
2228
  unset(_formState.dirtyFields, name);
2230
2229
  _formState.isDirty = options.defaultValue
2231
- ? _getDirty(name, get(_defaultValues, name))
2230
+ ? _getDirty(name, cloneObject(get(_defaultValues, name)))
2232
2231
  : _getDirty();
2233
2232
  }
2234
2233
  if (!options.keepError) {
@@ -2248,7 +2247,7 @@ function createFormControl(props = {}, flushRootRender) {
2248
2247
  _defaultValues = updatedValues;
2249
2248
  }
2250
2249
  if (!keepStateOptions.keepValues) {
2251
- if (keepStateOptions.keepDirtyValues || shouldCaptureDirtyFields) {
2250
+ if (keepStateOptions.keepDirtyValues) {
2252
2251
  for (const fieldName of _names.mount) {
2253
2252
  get(_formState.dirtyFields, fieldName)
2254
2253
  ? set(values, fieldName, get(_formValues, fieldName))
@@ -2472,7 +2471,7 @@ function useForm(props = {}) {
2472
2471
  dirtyFields: {},
2473
2472
  touchedFields: {},
2474
2473
  errors: props.errors || {},
2475
- disabled: false,
2474
+ disabled: props.disabled || false,
2476
2475
  defaultValues: isFunction(props.defaultValues)
2477
2476
  ? undefined
2478
2477
  : props.defaultValues,