react-hook-form 7.34.1 → 7.35.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.
@@ -419,15 +419,19 @@ function useController(props) {
419
419
  formState,
420
420
  fieldState: Object.defineProperties({}, {
421
421
  invalid: {
422
+ enumerable: true,
422
423
  get: () => !!get(formState.errors, name),
423
424
  },
424
425
  isDirty: {
426
+ enumerable: true,
425
427
  get: () => !!get(formState.dirtyFields, name),
426
428
  },
427
429
  isTouched: {
430
+ enumerable: true,
428
431
  get: () => !!get(formState.touchedFields, name),
429
432
  },
430
433
  error: {
434
+ enumerable: true,
431
435
  get: () => get(formState.errors, name),
432
436
  },
433
437
  }),
@@ -687,7 +691,8 @@ var validateField = async (field, inputValue, validateAllFieldCriteria, shouldUs
687
691
  const maxOutput = getValueAndMessage(max);
688
692
  const minOutput = getValueAndMessage(min);
689
693
  if (!isNullOrUndefined(inputValue) && !isNaN(inputValue)) {
690
- const valueNumber = ref.valueAsNumber || +inputValue;
694
+ const valueNumber = ref.valueAsNumber ||
695
+ (inputValue ? +inputValue : inputValue);
691
696
  if (!isNullOrUndefined(maxOutput.value)) {
692
697
  exceedMax = valueNumber > maxOutput.value;
693
698
  }
@@ -1256,9 +1261,11 @@ var getDirtyFields = (defaultValues, formValues) => getDirtyFieldsFromDefaultVal
1256
1261
  var getFieldValueAs = (value, { valueAsNumber, valueAsDate, setValueAs }) => isUndefined(value)
1257
1262
  ? value
1258
1263
  : valueAsNumber
1259
- ? value === '' || isNullOrUndefined(value)
1264
+ ? value === ''
1260
1265
  ? NaN
1261
- : +value
1266
+ : value
1267
+ ? +value
1268
+ : value
1262
1269
  : valueAsDate && isString(value)
1263
1270
  ? new Date(value)
1264
1271
  : setValueAs
@@ -1893,6 +1900,7 @@ function createFormControl(props = {}) {
1893
1900
  let field = get(_fields, name);
1894
1901
  const disabledIsDefined = isBoolean(options.disabled);
1895
1902
  set(_fields, name, {
1903
+ ...(field || {}),
1896
1904
  _f: {
1897
1905
  ...(field && field._f ? field._f : { ref: { name } }),
1898
1906
  name,
@@ -1976,6 +1984,9 @@ function createFormControl(props = {}) {
1976
1984
  }
1977
1985
  let hasNoPromiseError = true;
1978
1986
  let fieldValues = cloneObject(_formValues);
1987
+ _subjects.state.next({
1988
+ isSubmitting: true,
1989
+ });
1979
1990
  try {
1980
1991
  if (_options.resolver) {
1981
1992
  const { errors, values } = await _executeSchema();
@@ -1999,9 +2010,6 @@ function createFormControl(props = {}) {
1999
2010
  _options.shouldFocusError &&
2000
2011
  focusFieldBy(_fields, (key) => get(_formState.errors, key), _names.mount);
2001
2012
  }
2002
- _subjects.state.next({
2003
- isSubmitting: true,
2004
- });
2005
2013
  }
2006
2014
  catch (err) {
2007
2015
  hasNoPromiseError = false;