@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/dist/index.js CHANGED
@@ -3812,6 +3812,7 @@ var MultiAutocomplete = ({
3812
3812
  onMultiSelectStateChange,
3813
3813
  multiSelectStateReducer,
3814
3814
  autoCloseOnEmpty = true,
3815
+ selectedItems: selectedItemsProp,
3815
3816
  ...useComboboxProps
3816
3817
  }) => {
3817
3818
  const { allMenuItems, children } = useMenuChildren({
@@ -3819,11 +3820,18 @@ var MultiAutocomplete = ({
3819
3820
  menuItems,
3820
3821
  MenuItemComponent
3821
3822
  });
3822
- const [selectedItems, setSelectedItems] = import_react22.default.useState(initialSelectedItems);
3823
- const [selectedItemIds, setSelectedItemIds] = import_react22.default.useState(getSelectedItemIds(initialSelectedItems));
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
+ );
3824
3832
  const getIsItemVisibleMulti = import_react22.default.useCallback(
3825
- (item, inputValue2) => {
3826
- return (showSelectedItemsInDropdown || !selectedItemIds[item.id]) && getIsItemVisible(item, inputValue2);
3833
+ (item, inputValue) => {
3834
+ return (showSelectedItemsInDropdown || !selectedItemIds[item.id]) && getIsItemVisible(item, inputValue);
3827
3835
  },
3828
3836
  [selectedItemIds, showSelectedItemsInDropdown, getIsItemVisible]
3829
3837
  );
@@ -3858,10 +3866,9 @@ var MultiAutocomplete = ({
3858
3866
  const useMultipleSelectionReturnProps = (0, import_downshift7.useMultipleSelection)({
3859
3867
  ...defaultDownshiftProps.multi,
3860
3868
  itemToKey: itemToKey3,
3861
- selectedItems,
3869
+ selectedItems: selectedItemsProp || selectedItems,
3862
3870
  onSelectedItemsChange: ({ selectedItems: selectedItems2, ...changes }) => {
3863
- setSelectedItems(selectedItems2);
3864
- setSelectedItemIds(getSelectedItemIds(selectedItems2));
3871
+ setSelectedItemsState(selectedItems2);
3865
3872
  onSelectedItemsChange && onSelectedItemsChange({ selectedItems: selectedItems2, ...changes });
3866
3873
  }
3867
3874
  });
@@ -3875,18 +3882,14 @@ var MultiAutocomplete = ({
3875
3882
  externalStateReducer
3876
3883
  ),
3877
3884
  onStateChange(changes) {
3878
- const { type, selectedItem: newSelectedItem, inputValue: inputValue2 } = changes;
3885
+ const { type, selectedItem: newSelectedItem, inputValue } = changes;
3879
3886
  switch (type) {
3880
3887
  // Add the selected item to the selected items list
3881
3888
  case import_downshift7.useCombobox.stateChangeTypes.InputKeyDownEnter:
3882
3889
  case import_downshift7.useCombobox.stateChangeTypes.ItemClick:
3883
3890
  if (newSelectedItem) {
3884
3891
  const newSelectedItems = [...selectedItems, newSelectedItem];
3885
- setSelectedItems(newSelectedItems);
3886
- setSelectedItemIds({
3887
- ...selectedItemIds,
3888
- [newSelectedItem.id]: true
3889
- });
3892
+ setSelectedItemsState(newSelectedItems);
3890
3893
  onSelectedItemsChange && onSelectedItemsChange({
3891
3894
  selectedItems: newSelectedItems,
3892
3895
  type: import_downshift7.useMultipleSelection.stateChangeTypes.FunctionSetSelectedItems
@@ -3896,19 +3899,12 @@ var MultiAutocomplete = ({
3896
3899
  default:
3897
3900
  break;
3898
3901
  }
3899
- if (inputValue2 !== void 0) updateFilteredItems({ inputValue: inputValue2 });
3902
+ if (inputValue !== void 0) updateFilteredItems({ inputValue });
3900
3903
  onStateChange && onStateChange(changes);
3901
3904
  },
3902
3905
  ...useComboboxProps
3903
3906
  });
3904
- const { isOpen, closeMenu, inputValue } = useComboboxReturnProps;
3905
3907
  const { popoutProps: userPopoutProps } = useComboboxProps;
3906
- import_react22.default.useEffect(() => {
3907
- if (!inputValue) return;
3908
- if (allMenuItems && hiddenItemsCount >= allMenuItems.length && isOpen) {
3909
- closeMenu?.();
3910
- }
3911
- }, [hiddenItemsCount, allMenuItems?.length, isOpen, inputValue]);
3912
3908
  return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
3913
3909
  MenuRootComponent,
3914
3910
  {