@sproutsocial/seeds-react-menu 1.6.2 → 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.
@@ -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.41 KB
12
+ CJS dist/index.js.map 372.05 KB
13
+ CJS ⚡️ Build success in 434ms
14
+ ESM dist/esm/index.js 134.50 KB
15
+ ESM dist/esm/index.js.map 370.77 KB
16
+ ESM ⚡️ Build success in 488ms
17
17
  DTS Build start
18
- DTS ⚡️ Build success in 16093ms
18
+ DTS ⚡️ Build success in 15668ms
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 18.14s.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @sproutsocial/seeds-react-menu
2
2
 
3
+ ## 1.6.3
4
+
5
+ ### Patch Changes
6
+
7
+ - e67391f: Allow MutiAutocomplete to be fully controlled
8
+
3
9
  ## 1.6.2
4
10
 
5
11
  ### 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,8 +3772,15 @@ 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
3785
  (item, inputValue2) => {
3778
3786
  return (showSelectedItemsInDropdown || !selectedItemIds[item.id]) && getIsItemVisible(item, inputValue2);
@@ -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
  });
@@ -3834,11 +3841,7 @@ var MultiAutocomplete = ({
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