x-ui-design 0.6.99 → 0.7.21

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.
package/dist/index.js CHANGED
@@ -699,7 +699,15 @@ const useForm = (initialValues = {}, onFieldsChange, onValuesChange, scrollToFir
699
699
  }
700
700
  });
701
701
  } else {
702
- errorsRef.current[name] = errors;
702
+ if (reset === -1) {
703
+ setTimeout(() => {
704
+ errorsRef.current[name] = errors;
705
+ notifyErrorSubscribers(name);
706
+ }, 0);
707
+ } else {
708
+ errorsRef.current[name] = errors;
709
+ notifyErrorSubscribers(name);
710
+ }
703
711
  }
704
712
  }
705
713
  function setFieldsValue(values, reset) {
@@ -710,7 +718,7 @@ const useForm = (initialValues = {}, onFieldsChange, onValuesChange, scrollToFir
710
718
  name,
711
719
  value,
712
720
  errors
713
- }) => setFieldValue(Array.isArray(name) ? name[0] : name, value, errors));
721
+ }) => setFieldValue(Array.isArray(name) ? name[0] : name, value ?? getFieldValue(Array.isArray(name) ? name[0] : name), errors, -1));
714
722
  }
715
723
  function setFieldInstance(fieldName, fieldRef) {
716
724
  fieldInstancesRef.current[fieldName] = fieldRef;
@@ -1099,7 +1107,7 @@ const FormItem$1 = ({
1099
1107
  if (initialValue && getFieldValue(name) === undefined) {
1100
1108
  setFieldValue(name, initialValue);
1101
1109
  }
1102
- }, []);
1110
+ }, [name]);
1103
1111
  React.useEffect(() => {
1104
1112
  if (name && dependencies.length > 0) {
1105
1113
  const unsubscribe = subscribeToFields(dependencies, () => {
@@ -3501,7 +3509,8 @@ const Select = ({
3501
3509
  dropdownRender,
3502
3510
  onDropdownVisibleChange,
3503
3511
  iconClick,
3504
- ref
3512
+ ref,
3513
+ controlled
3505
3514
  }) => {
3506
3515
  const asTag = mode === 'tags';
3507
3516
  const asMultiple = mode === 'multiple';
@@ -3691,26 +3700,26 @@ const Select = ({
3691
3700
  return;
3692
3701
  }
3693
3702
  const newSelection = selected.includes(optionValue) ? selected.filter(item => item !== optionValue) : [...selected, optionValue];
3694
- setSelected(newSelection);
3703
+ !controlled && setSelected(newSelection);
3695
3704
  onChange?.(newSelection, option);
3696
3705
  if (selected.includes(optionValue)) {
3697
- onDeselect?.(optionValue, option);
3706
+ !controlled && onDeselect?.(optionValue, option);
3698
3707
  } else {
3699
- onSelect?.(optionValue, option);
3708
+ !controlled && onSelect?.(optionValue, option);
3700
3709
  }
3701
3710
  } else {
3702
3711
  setIsOpen(defaultOpen);
3703
- setSelected(optionValue);
3712
+ !controlled && setSelected(optionValue);
3704
3713
  onChange?.(optionValue, option);
3705
- onSelect?.(optionValue, option);
3714
+ !controlled && onSelect?.(optionValue, option);
3706
3715
  }
3707
3716
  handleClearInputValue();
3708
3717
  };
3709
3718
  const handleClear = () => {
3710
3719
  const value = hasMode ? [] : '';
3711
- setSelected(value);
3720
+ !controlled && setSelected(value);
3712
3721
  onChange?.('');
3713
- onSelect?.('');
3722
+ !controlled && onSelect?.('');
3714
3723
  onClear?.();
3715
3724
  handleClearInputValue();
3716
3725
  };