@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.
@@ -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.30 KB
12
- CJS dist/index.js.map 371.92 KB
13
- CJS ⚡️ Build success in 706ms
14
- ESM dist/esm/index.js 134.40 KB
15
- ESM dist/esm/index.js.map 370.64 KB
16
- ESM ⚡️ Build success in 709ms
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 15887ms
19
- DTS dist/index.d.ts 39.00 KB
20
- DTS dist/index.d.mts 39.00 KB
21
- Done in 19.66s.
18
+ DTS ⚡️ Build success in 15668ms
19
+ DTS dist/index.d.ts 39.03 KB
20
+ DTS dist/index.d.mts 39.03 KB
21
+ Done in 18.14s.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
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
+
9
+ ## 1.6.2
10
+
11
+ ### Patch Changes
12
+
13
+ - 0b3224b: Allow autocomplete components to display empty state
14
+ - Updated dependencies [f55c7f4]
15
+ - @sproutsocial/seeds-react-token-input@1.4.1
16
+
3
17
  ## 1.6.1
4
18
 
5
19
  ### Patch Changes
package/dist/esm/index.js CHANGED
@@ -3693,6 +3693,7 @@ var SingleAutocomplete = ({
3693
3693
  MenuItemComponent,
3694
3694
  itemToString: itemToString2 = itemToString,
3695
3695
  getIsItemVisible,
3696
+ autoCloseOnEmpty = true,
3696
3697
  ...useComboboxProps
3697
3698
  }) => {
3698
3699
  const { allMenuItems, children } = useMenuChildren({
@@ -3726,6 +3727,7 @@ var SingleAutocomplete = ({
3726
3727
  {
3727
3728
  ...{
3728
3729
  isListbox: true,
3730
+ autoCloseOnEmpty,
3729
3731
  items: allMenuItems,
3730
3732
  itemToString: itemToString2,
3731
3733
  ...useComboboxProps,
@@ -3736,7 +3738,6 @@ var SingleAutocomplete = ({
3736
3738
  focusOnContent: false,
3737
3739
  ...userPopoutProps
3738
3740
  },
3739
- autoCloseOnEmpty: true,
3740
3741
  children
3741
3742
  }
3742
3743
  );
@@ -3762,6 +3763,8 @@ var MultiAutocomplete = ({
3762
3763
  getA11yMultiStatusMessage,
3763
3764
  onMultiSelectStateChange,
3764
3765
  multiSelectStateReducer,
3766
+ autoCloseOnEmpty = true,
3767
+ selectedItems: selectedItemsProp,
3765
3768
  ...useComboboxProps
3766
3769
  }) => {
3767
3770
  const { allMenuItems, children } = useMenuChildren({
@@ -3769,8 +3772,15 @@ var MultiAutocomplete = ({
3769
3772
  menuItems,
3770
3773
  MenuItemComponent
3771
3774
  });
3772
- const [selectedItems, setSelectedItems] = React19.useState(initialSelectedItems);
3773
- 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
+ );
3774
3784
  const getIsItemVisibleMulti = React19.useCallback(
3775
3785
  (item, inputValue2) => {
3776
3786
  return (showSelectedItemsInDropdown || !selectedItemIds[item.id]) && getIsItemVisible(item, inputValue2);
@@ -3808,10 +3818,9 @@ var MultiAutocomplete = ({
3808
3818
  const useMultipleSelectionReturnProps = useMultipleSelection2({
3809
3819
  ...defaultDownshiftProps.multi,
3810
3820
  itemToKey: itemToKey3,
3811
- selectedItems,
3821
+ selectedItems: selectedItemsProp || selectedItems,
3812
3822
  onSelectedItemsChange: ({ selectedItems: selectedItems2, ...changes }) => {
3813
- setSelectedItems(selectedItems2);
3814
- setSelectedItemIds(getSelectedItemIds(selectedItems2));
3823
+ setSelectedItemsState(selectedItems2);
3815
3824
  onSelectedItemsChange && onSelectedItemsChange({ selectedItems: selectedItems2, ...changes });
3816
3825
  }
3817
3826
  });
@@ -3832,11 +3841,7 @@ var MultiAutocomplete = ({
3832
3841
  case useCombobox3.stateChangeTypes.ItemClick:
3833
3842
  if (newSelectedItem) {
3834
3843
  const newSelectedItems = [...selectedItems, newSelectedItem];
3835
- setSelectedItems(newSelectedItems);
3836
- setSelectedItemIds({
3837
- ...selectedItemIds,
3838
- [newSelectedItem.id]: true
3839
- });
3844
+ setSelectedItemsState(newSelectedItems);
3840
3845
  onSelectedItemsChange && onSelectedItemsChange({
3841
3846
  selectedItems: newSelectedItems,
3842
3847
  type: useMultipleSelection2.stateChangeTypes.FunctionSetSelectedItems
@@ -3864,6 +3869,7 @@ var MultiAutocomplete = ({
3864
3869
  {
3865
3870
  ...{
3866
3871
  isListbox: true,
3872
+ autoCloseOnEmpty,
3867
3873
  items: allMenuItems,
3868
3874
  itemToString: itemToString2,
3869
3875
  initialSelectedItems,
@@ -3881,7 +3887,6 @@ var MultiAutocomplete = ({
3881
3887
  focusOnContent: false,
3882
3888
  ...userPopoutProps
3883
3889
  },
3884
- autoCloseOnEmpty: true,
3885
3890
  children
3886
3891
  }
3887
3892
  );