@sproutsocial/seeds-react-menu 1.6.2 → 1.6.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.
- package/.turbo/turbo-build.log +8 -8
- package/CHANGELOG.md +12 -0
- package/dist/esm/index.js +17 -21
- package/dist/esm/index.js.map +1 -1
- package/dist/index.js +17 -21
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/Autocomplete/Autocomplete.stories.tsx +60 -3
- package/src/Autocomplete/MultiAutocomplete.tsx +13 -20
package/.turbo/turbo-build.log
CHANGED
|
@@ -8,14 +8,14 @@ CLI Target: es2022
|
|
|
8
8
|
CLI Cleaning output folder
|
|
9
9
|
CJS Build start
|
|
10
10
|
ESM Build start
|
|
11
|
-
CJS dist/index.js 144.
|
|
12
|
-
CJS dist/index.js.map
|
|
13
|
-
CJS ⚡️ Build success in
|
|
14
|
-
ESM dist/esm/index.js 134.
|
|
15
|
-
ESM dist/esm/index.js.map 370.
|
|
16
|
-
ESM ⚡️ Build success in
|
|
11
|
+
CJS dist/index.js 144.07 KB
|
|
12
|
+
CJS dist/index.js.map 371.53 KB
|
|
13
|
+
CJS ⚡️ Build success in 640ms
|
|
14
|
+
ESM dist/esm/index.js 134.18 KB
|
|
15
|
+
ESM dist/esm/index.js.map 370.25 KB
|
|
16
|
+
ESM ⚡️ Build success in 643ms
|
|
17
17
|
DTS Build start
|
|
18
|
-
DTS ⚡️ Build success in
|
|
18
|
+
DTS ⚡️ Build success in 17318ms
|
|
19
19
|
DTS dist/index.d.ts 39.03 KB
|
|
20
20
|
DTS dist/index.d.mts 39.03 KB
|
|
21
|
-
Done in
|
|
21
|
+
Done in 21.11s.
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @sproutsocial/seeds-react-menu
|
|
2
2
|
|
|
3
|
+
## 1.6.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 7748350: fix MutiAutocomplete rendering empty state
|
|
8
|
+
|
|
9
|
+
## 1.6.3
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- e67391f: Allow MutiAutocomplete to be fully controlled
|
|
14
|
+
|
|
3
15
|
## 1.6.2
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/dist/esm/index.js
CHANGED
|
@@ -3764,6 +3764,7 @@ var MultiAutocomplete = ({
|
|
|
3764
3764
|
onMultiSelectStateChange,
|
|
3765
3765
|
multiSelectStateReducer,
|
|
3766
3766
|
autoCloseOnEmpty = true,
|
|
3767
|
+
selectedItems: selectedItemsProp,
|
|
3767
3768
|
...useComboboxProps
|
|
3768
3769
|
}) => {
|
|
3769
3770
|
const { allMenuItems, children } = useMenuChildren({
|
|
@@ -3771,11 +3772,18 @@ var MultiAutocomplete = ({
|
|
|
3771
3772
|
menuItems,
|
|
3772
3773
|
MenuItemComponent
|
|
3773
3774
|
});
|
|
3774
|
-
const [
|
|
3775
|
-
const
|
|
3775
|
+
const [selectedItemsState, setSelectedItemsState] = React19.useState(initialSelectedItems);
|
|
3776
|
+
const selectedItems = React19.useMemo(
|
|
3777
|
+
() => selectedItemsProp || selectedItemsState,
|
|
3778
|
+
[selectedItemsProp, selectedItemsState]
|
|
3779
|
+
);
|
|
3780
|
+
const selectedItemIds = React19.useMemo(
|
|
3781
|
+
() => getSelectedItemIds(selectedItems),
|
|
3782
|
+
[selectedItems]
|
|
3783
|
+
);
|
|
3776
3784
|
const getIsItemVisibleMulti = React19.useCallback(
|
|
3777
|
-
(item,
|
|
3778
|
-
return (showSelectedItemsInDropdown || !selectedItemIds[item.id]) && getIsItemVisible(item,
|
|
3785
|
+
(item, inputValue) => {
|
|
3786
|
+
return (showSelectedItemsInDropdown || !selectedItemIds[item.id]) && getIsItemVisible(item, inputValue);
|
|
3779
3787
|
},
|
|
3780
3788
|
[selectedItemIds, showSelectedItemsInDropdown, getIsItemVisible]
|
|
3781
3789
|
);
|
|
@@ -3810,10 +3818,9 @@ var MultiAutocomplete = ({
|
|
|
3810
3818
|
const useMultipleSelectionReturnProps = useMultipleSelection2({
|
|
3811
3819
|
...defaultDownshiftProps.multi,
|
|
3812
3820
|
itemToKey: itemToKey3,
|
|
3813
|
-
selectedItems,
|
|
3821
|
+
selectedItems: selectedItemsProp || selectedItems,
|
|
3814
3822
|
onSelectedItemsChange: ({ selectedItems: selectedItems2, ...changes }) => {
|
|
3815
|
-
|
|
3816
|
-
setSelectedItemIds(getSelectedItemIds(selectedItems2));
|
|
3823
|
+
setSelectedItemsState(selectedItems2);
|
|
3817
3824
|
onSelectedItemsChange && onSelectedItemsChange({ selectedItems: selectedItems2, ...changes });
|
|
3818
3825
|
}
|
|
3819
3826
|
});
|
|
@@ -3827,18 +3834,14 @@ var MultiAutocomplete = ({
|
|
|
3827
3834
|
externalStateReducer
|
|
3828
3835
|
),
|
|
3829
3836
|
onStateChange(changes) {
|
|
3830
|
-
const { type, selectedItem: newSelectedItem, inputValue
|
|
3837
|
+
const { type, selectedItem: newSelectedItem, inputValue } = changes;
|
|
3831
3838
|
switch (type) {
|
|
3832
3839
|
// Add the selected item to the selected items list
|
|
3833
3840
|
case useCombobox3.stateChangeTypes.InputKeyDownEnter:
|
|
3834
3841
|
case useCombobox3.stateChangeTypes.ItemClick:
|
|
3835
3842
|
if (newSelectedItem) {
|
|
3836
3843
|
const newSelectedItems = [...selectedItems, newSelectedItem];
|
|
3837
|
-
|
|
3838
|
-
setSelectedItemIds({
|
|
3839
|
-
...selectedItemIds,
|
|
3840
|
-
[newSelectedItem.id]: true
|
|
3841
|
-
});
|
|
3844
|
+
setSelectedItemsState(newSelectedItems);
|
|
3842
3845
|
onSelectedItemsChange && onSelectedItemsChange({
|
|
3843
3846
|
selectedItems: newSelectedItems,
|
|
3844
3847
|
type: useMultipleSelection2.stateChangeTypes.FunctionSetSelectedItems
|
|
@@ -3848,19 +3851,12 @@ var MultiAutocomplete = ({
|
|
|
3848
3851
|
default:
|
|
3849
3852
|
break;
|
|
3850
3853
|
}
|
|
3851
|
-
if (
|
|
3854
|
+
if (inputValue !== void 0) updateFilteredItems({ inputValue });
|
|
3852
3855
|
onStateChange && onStateChange(changes);
|
|
3853
3856
|
},
|
|
3854
3857
|
...useComboboxProps
|
|
3855
3858
|
});
|
|
3856
|
-
const { isOpen, closeMenu, inputValue } = useComboboxReturnProps;
|
|
3857
3859
|
const { popoutProps: userPopoutProps } = useComboboxProps;
|
|
3858
|
-
React19.useEffect(() => {
|
|
3859
|
-
if (!inputValue) return;
|
|
3860
|
-
if (allMenuItems && hiddenItemsCount >= allMenuItems.length && isOpen) {
|
|
3861
|
-
closeMenu?.();
|
|
3862
|
-
}
|
|
3863
|
-
}, [hiddenItemsCount, allMenuItems?.length, isOpen, inputValue]);
|
|
3864
3860
|
return /* @__PURE__ */ jsx23(
|
|
3865
3861
|
MenuRootComponent,
|
|
3866
3862
|
{
|