@sproutsocial/seeds-react-menu 1.6.1 → 1.6.3
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/.turbo/turbo-build.log +10 -10
- package/CHANGELOG.md +14 -0
- package/dist/esm/index.js +17 -12
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +17 -12
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/Autocomplete/Autocomplete.stories.tsx +60 -3
- package/src/Autocomplete/AutocompleteTypes.ts +1 -0
- package/src/Autocomplete/MultiAutocomplete.tsx +15 -13
- package/src/Autocomplete/SingleAutocomplete.tsx +2 -1
- package/src/Autocomplete/__tests__/Autocomplete.test.tsx +18 -3
package/dist/index.d.mts
CHANGED
|
@@ -535,6 +535,7 @@ type TypeBaseAutocompleteProps = TypeHigherOrderComponentProps & TypeDownshiftCo
|
|
|
535
535
|
/** Set multiSelect to true to allow multiple selections.
|
|
536
536
|
* Default: false*/
|
|
537
537
|
multiSelect?: boolean;
|
|
538
|
+
autoCloseOnEmpty?: boolean;
|
|
538
539
|
};
|
|
539
540
|
type TypeSingleAutocompleteProps<I extends TypeMenuItemProps = TypeMenuItemProps> = TypeBaseAutocompleteProps & {
|
|
540
541
|
multiSelect?: false;
|
package/dist/index.d.ts
CHANGED
|
@@ -535,6 +535,7 @@ type TypeBaseAutocompleteProps = TypeHigherOrderComponentProps & TypeDownshiftCo
|
|
|
535
535
|
/** Set multiSelect to true to allow multiple selections.
|
|
536
536
|
* Default: false*/
|
|
537
537
|
multiSelect?: boolean;
|
|
538
|
+
autoCloseOnEmpty?: boolean;
|
|
538
539
|
};
|
|
539
540
|
type TypeSingleAutocompleteProps<I extends TypeMenuItemProps = TypeMenuItemProps> = TypeBaseAutocompleteProps & {
|
|
540
541
|
multiSelect?: false;
|
package/dist/index.js
CHANGED
|
@@ -3741,6 +3741,7 @@ var SingleAutocomplete = ({
|
|
|
3741
3741
|
MenuItemComponent,
|
|
3742
3742
|
itemToString: itemToString2 = itemToString,
|
|
3743
3743
|
getIsItemVisible,
|
|
3744
|
+
autoCloseOnEmpty = true,
|
|
3744
3745
|
...useComboboxProps
|
|
3745
3746
|
}) => {
|
|
3746
3747
|
const { allMenuItems, children } = useMenuChildren({
|
|
@@ -3774,6 +3775,7 @@ var SingleAutocomplete = ({
|
|
|
3774
3775
|
{
|
|
3775
3776
|
...{
|
|
3776
3777
|
isListbox: true,
|
|
3778
|
+
autoCloseOnEmpty,
|
|
3777
3779
|
items: allMenuItems,
|
|
3778
3780
|
itemToString: itemToString2,
|
|
3779
3781
|
...useComboboxProps,
|
|
@@ -3784,7 +3786,6 @@ var SingleAutocomplete = ({
|
|
|
3784
3786
|
focusOnContent: false,
|
|
3785
3787
|
...userPopoutProps
|
|
3786
3788
|
},
|
|
3787
|
-
autoCloseOnEmpty: true,
|
|
3788
3789
|
children
|
|
3789
3790
|
}
|
|
3790
3791
|
);
|
|
@@ -3810,6 +3811,8 @@ var MultiAutocomplete = ({
|
|
|
3810
3811
|
getA11yMultiStatusMessage,
|
|
3811
3812
|
onMultiSelectStateChange,
|
|
3812
3813
|
multiSelectStateReducer,
|
|
3814
|
+
autoCloseOnEmpty = true,
|
|
3815
|
+
selectedItems: selectedItemsProp,
|
|
3813
3816
|
...useComboboxProps
|
|
3814
3817
|
}) => {
|
|
3815
3818
|
const { allMenuItems, children } = useMenuChildren({
|
|
@@ -3817,8 +3820,15 @@ var MultiAutocomplete = ({
|
|
|
3817
3820
|
menuItems,
|
|
3818
3821
|
MenuItemComponent
|
|
3819
3822
|
});
|
|
3820
|
-
const [
|
|
3821
|
-
const
|
|
3823
|
+
const [selectedItemsState, setSelectedItemsState] = import_react22.default.useState(initialSelectedItems);
|
|
3824
|
+
const selectedItems = import_react22.default.useMemo(
|
|
3825
|
+
() => selectedItemsProp || selectedItemsState,
|
|
3826
|
+
[selectedItemsProp, selectedItemsState]
|
|
3827
|
+
);
|
|
3828
|
+
const selectedItemIds = import_react22.default.useMemo(
|
|
3829
|
+
() => getSelectedItemIds(selectedItems),
|
|
3830
|
+
[selectedItems]
|
|
3831
|
+
);
|
|
3822
3832
|
const getIsItemVisibleMulti = import_react22.default.useCallback(
|
|
3823
3833
|
(item, inputValue2) => {
|
|
3824
3834
|
return (showSelectedItemsInDropdown || !selectedItemIds[item.id]) && getIsItemVisible(item, inputValue2);
|
|
@@ -3856,10 +3866,9 @@ var MultiAutocomplete = ({
|
|
|
3856
3866
|
const useMultipleSelectionReturnProps = (0, import_downshift7.useMultipleSelection)({
|
|
3857
3867
|
...defaultDownshiftProps.multi,
|
|
3858
3868
|
itemToKey: itemToKey3,
|
|
3859
|
-
selectedItems,
|
|
3869
|
+
selectedItems: selectedItemsProp || selectedItems,
|
|
3860
3870
|
onSelectedItemsChange: ({ selectedItems: selectedItems2, ...changes }) => {
|
|
3861
|
-
|
|
3862
|
-
setSelectedItemIds(getSelectedItemIds(selectedItems2));
|
|
3871
|
+
setSelectedItemsState(selectedItems2);
|
|
3863
3872
|
onSelectedItemsChange && onSelectedItemsChange({ selectedItems: selectedItems2, ...changes });
|
|
3864
3873
|
}
|
|
3865
3874
|
});
|
|
@@ -3880,11 +3889,7 @@ var MultiAutocomplete = ({
|
|
|
3880
3889
|
case import_downshift7.useCombobox.stateChangeTypes.ItemClick:
|
|
3881
3890
|
if (newSelectedItem) {
|
|
3882
3891
|
const newSelectedItems = [...selectedItems, newSelectedItem];
|
|
3883
|
-
|
|
3884
|
-
setSelectedItemIds({
|
|
3885
|
-
...selectedItemIds,
|
|
3886
|
-
[newSelectedItem.id]: true
|
|
3887
|
-
});
|
|
3892
|
+
setSelectedItemsState(newSelectedItems);
|
|
3888
3893
|
onSelectedItemsChange && onSelectedItemsChange({
|
|
3889
3894
|
selectedItems: newSelectedItems,
|
|
3890
3895
|
type: import_downshift7.useMultipleSelection.stateChangeTypes.FunctionSetSelectedItems
|
|
@@ -3912,6 +3917,7 @@ var MultiAutocomplete = ({
|
|
|
3912
3917
|
{
|
|
3913
3918
|
...{
|
|
3914
3919
|
isListbox: true,
|
|
3920
|
+
autoCloseOnEmpty,
|
|
3915
3921
|
items: allMenuItems,
|
|
3916
3922
|
itemToString: itemToString2,
|
|
3917
3923
|
initialSelectedItems,
|
|
@@ -3929,7 +3935,6 @@ var MultiAutocomplete = ({
|
|
|
3929
3935
|
focusOnContent: false,
|
|
3930
3936
|
...userPopoutProps
|
|
3931
3937
|
},
|
|
3932
|
-
autoCloseOnEmpty: true,
|
|
3933
3938
|
children
|
|
3934
3939
|
}
|
|
3935
3940
|
);
|