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/esm/types/components/Select/Select.d.ts +1 -1
- package/dist/esm/types/types/select.d.ts +1 -0
- package/dist/index.esm.js +20 -11
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +20 -11
- package/dist/index.js.map +1 -1
- package/lib/components/Form/Item/Item.tsx +1 -1
- package/lib/components/Select/Select.tsx +9 -8
- package/lib/hooks/useForm.ts +24 -11
- package/lib/types/select.ts +2 -1
- package/package.json +1 -1
- package/src/app/page.tsx +26 -7
package/dist/index.js
CHANGED
|
@@ -699,7 +699,15 @@ const useForm = (initialValues = {}, onFieldsChange, onValuesChange, scrollToFir
|
|
|
699
699
|
}
|
|
700
700
|
});
|
|
701
701
|
} else {
|
|
702
|
-
|
|
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
|
};
|