react-hook-form 7.46.1 → 7.47.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.
@@ -76,6 +76,8 @@ var get = (obj, path, defaultValue) => {
76
76
  : result;
77
77
  };
78
78
 
79
+ var isBoolean = (value) => typeof value === 'boolean';
80
+
79
81
  const EVENTS = {
80
82
  BLUR: 'blur',
81
83
  FOCUS_OUT: 'focusout',
@@ -197,15 +199,13 @@ var shouldRenderFormState = (formStateData, _proxyFormState, updateFormState, is
197
199
 
198
200
  var convertToArrayPayload = (value) => (Array.isArray(value) ? value : [value]);
199
201
 
200
- var shouldSubscribeByName = (name, signalName, exact) => exact && signalName
201
- ? name === signalName ||
202
- (Array.isArray(name) &&
203
- name.some((currentName) => currentName && exact && currentName === signalName))
204
- : !name ||
205
- !signalName ||
206
- name === signalName ||
207
- convertToArrayPayload(name).some((currentName) => currentName &&
208
- (currentName.startsWith(signalName) ||
202
+ var shouldSubscribeByName = (name, signalName, exact) => !name ||
203
+ !signalName ||
204
+ name === signalName ||
205
+ convertToArrayPayload(name).some((currentName) => currentName &&
206
+ (exact
207
+ ? currentName === signalName
208
+ : currentName.startsWith(signalName) ||
209
209
  signalName.startsWith(currentName)));
210
210
 
211
211
  function useSubscribe(props) {
@@ -434,17 +434,19 @@ function useController(props) {
434
434
  };
435
435
  }, [name, control, isArrayField, shouldUnregister]);
436
436
  React.useEffect(() => {
437
- control._updateDisabledField({
438
- disabled,
439
- fields: control._fields,
440
- name,
441
- });
437
+ if (get(control._fields, name)) {
438
+ control._updateDisabledField({
439
+ disabled,
440
+ fields: control._fields,
441
+ name,
442
+ });
443
+ }
442
444
  }, [disabled, name, control]);
443
445
  return {
444
446
  field: {
445
447
  name,
446
448
  value,
447
- disabled,
449
+ ...(isBoolean(disabled) ? { disabled } : {}),
448
450
  onChange: React.useCallback((event) => _registerProps.current.onChange({
449
451
  target: {
450
452
  value: getEventValue(event),
@@ -701,8 +703,6 @@ var updateFieldArrayRootError = (errors, error, name) => {
701
703
  return errors;
702
704
  };
703
705
 
704
- var isBoolean = (value) => typeof value === 'boolean';
705
-
706
706
  var isFileInput = (element) => element.type === 'file';
707
707
 
708
708
  var isFunction = (value) => typeof value === 'function';
@@ -1908,7 +1908,7 @@ function createFormControl(props = {}, flushRootRender) {
1908
1908
  else {
1909
1909
  error = (await validateField(field, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation))[name];
1910
1910
  isFieldValueUpdated =
1911
- isNaN(fieldValue) ||
1911
+ Number.isNaN(fieldValue) ||
1912
1912
  fieldValue === get(_formValues, name, fieldValue);
1913
1913
  if (isFieldValueUpdated) {
1914
1914
  if (error) {
@@ -2266,8 +2266,10 @@ function createFormControl(props = {}, flushRootRender) {
2266
2266
  ? _formState.touchedFields
2267
2267
  : {},
2268
2268
  errors: keepStateOptions.keepErrors ? _formState.errors : {},
2269
+ isSubmitSuccessful: keepStateOptions.keepIsSubmitSuccessful
2270
+ ? _formState.isSubmitSuccessful
2271
+ : false,
2269
2272
  isSubmitting: false,
2270
- isSubmitSuccessful: false,
2271
2273
  });
2272
2274
  };
2273
2275
  const reset = (formValues, keepStateOptions) => _reset(isFunction(formValues)