react-hook-form 7.56.2 → 7.56.4

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.
@@ -413,7 +413,12 @@ function useController(props) {
413
413
  const ref = React__default.useCallback((elm) => {
414
414
  const field = get(control._fields, name);
415
415
  if (field && elm) {
416
- field._f.ref = elm;
416
+ field._f.ref = {
417
+ focus: () => elm.focus(),
418
+ select: () => elm.select(),
419
+ setCustomValidity: (message) => elm.setCustomValidity(message),
420
+ reportValidity: () => elm.reportValidity(),
421
+ };
417
422
  }
418
423
  }, [control._fields, name]);
419
424
  const field = React__default.useMemo(() => ({
@@ -1300,8 +1305,6 @@ function createFormControl(props = {}) {
1300
1305
  array: createSubject(),
1301
1306
  state: createSubject(),
1302
1307
  };
1303
- const validationModeBeforeSubmit = getValidationModes(_options.mode);
1304
- const validationModeAfterSubmit = getValidationModes(_options.reValidateMode);
1305
1308
  const shouldDisplayAllAssociatedErrors = _options.criteriaMode === VALIDATION_MODE.all;
1306
1309
  const debounce = (callback) => (wait) => {
1307
1310
  clearTimeout(timer);
@@ -1572,13 +1575,17 @@ function createFormControl(props = {}) {
1572
1575
  }
1573
1576
  else if (fieldReference.refs) {
1574
1577
  if (isCheckBoxInput(fieldReference.ref)) {
1575
- fieldReference.refs.length > 1
1576
- ? fieldReference.refs.forEach((checkboxRef) => (!checkboxRef.defaultChecked || !checkboxRef.disabled) &&
1577
- (checkboxRef.checked = Array.isArray(fieldValue)
1578
- ? !!fieldValue.find((data) => data === checkboxRef.value)
1579
- : fieldValue === checkboxRef.value))
1580
- : fieldReference.refs[0] &&
1581
- (fieldReference.refs[0].checked = !!fieldValue);
1578
+ fieldReference.refs.forEach((checkboxRef) => {
1579
+ if (!checkboxRef.defaultChecked || !checkboxRef.disabled) {
1580
+ if (Array.isArray(fieldValue)) {
1581
+ checkboxRef.checked = !!fieldValue.find((data) => data === checkboxRef.value);
1582
+ }
1583
+ else {
1584
+ checkboxRef.checked =
1585
+ fieldValue === checkboxRef.value || !!fieldValue;
1586
+ }
1587
+ }
1588
+ });
1582
1589
  }
1583
1590
  else {
1584
1591
  fieldReference.refs.forEach((radioRef) => (radioRef.checked = radioRef.value === fieldValue));
@@ -1604,6 +1611,9 @@ function createFormControl(props = {}) {
1604
1611
  };
1605
1612
  const setValues = (name, value, options) => {
1606
1613
  for (const fieldKey in value) {
1614
+ if (!value.hasOwnProperty(fieldKey)) {
1615
+ return;
1616
+ }
1607
1617
  const fieldValue = value[fieldKey];
1608
1618
  const fieldName = `${name}.${fieldKey}`;
1609
1619
  const field = get(_fields, fieldName);
@@ -1660,6 +1670,8 @@ function createFormControl(props = {}) {
1660
1670
  (isDateObject(fieldValue) && isNaN(fieldValue.getTime())) ||
1661
1671
  deepEqual(fieldValue, get(_formValues, name, fieldValue));
1662
1672
  };
1673
+ const validationModeBeforeSubmit = getValidationModes(_options.mode);
1674
+ const validationModeAfterSubmit = getValidationModes(_options.reValidateMode);
1663
1675
  if (field) {
1664
1676
  let error;
1665
1677
  let isValid;