@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.
@@ -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.34 KB
12
- CJS dist/index.js.map 372.00 KB
13
- CJS ⚡️ Build success in 526ms
14
- ESM dist/esm/index.js 134.45 KB
15
- ESM dist/esm/index.js.map 370.73 KB
16
- ESM ⚡️ Build success in 532ms
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 16093ms
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 18.50s.
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 [selectedItems, setSelectedItems] = React19.useState(initialSelectedItems);
3775
- const [selectedItemIds, setSelectedItemIds] = React19.useState(getSelectedItemIds(initialSelectedItems));
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, inputValue2) => {
3778
- return (showSelectedItemsInDropdown || !selectedItemIds[item.id]) && getIsItemVisible(item, inputValue2);
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
- setSelectedItems(selectedItems2);
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: inputValue2 } = changes;
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
- setSelectedItems(newSelectedItems);
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 (inputValue2 !== void 0) updateFilteredItems({ inputValue: inputValue2 });
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
  {