@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/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 [selectedItems, setSelectedItems] = import_react22.default.useState(initialSelectedItems);
3821
- 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
+ );
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
- setSelectedItems(selectedItems2);
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
- setSelectedItems(newSelectedItems);
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
  );