@sproutsocial/seeds-react-menu 1.10.1 → 1.10.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.
@@ -22,6 +22,7 @@ interface BaseSelectProps<T extends DataWithId> {
22
22
  groupBy?: (item: T) => string;
23
23
  renderGroupHeading?: (label: string) => string;
24
24
  isVirtualized?: boolean;
25
+ estimatedItemHeight?: number;
25
26
  placeholder: string;
26
27
  onIsOpenChange?: (isOpen: boolean) => void;
27
28
  stateReducer?: any;
@@ -86,22 +87,22 @@ interface SingleSelectProps<T extends DataWithId> extends BaseSingleSelectProps<
86
87
  renderSelection?: (item: T | null) => ReactNode;
87
88
  triggerButtonProps?: any;
88
89
  }
89
- declare function SingleSelect<T extends DataWithId>({ id, data, selectedItemId: controlledSelectedItemId, isOpen: controlledIsOpen, itemToKey, itemToString, itemToSelection, renderSelection, renderItem, groupBy, renderGroupHeading, isVirtualized, placeholder, onSelectedItemIdChange, onIsOpenChange, stateReducer, triggerButtonProps, menuProps, inputType, removePlaceholderItem, onPointerDownOutside, onInteractOutside, popoutPlacement, }: SingleSelectProps<T>): react_jsx_runtime.JSX.Element;
90
+ declare function SingleSelect<T extends DataWithId>({ id, data, selectedItemId: controlledSelectedItemId, isOpen: controlledIsOpen, itemToKey, itemToString, itemToSelection, renderSelection, renderItem, groupBy, renderGroupHeading, isVirtualized, estimatedItemHeight, placeholder, onSelectedItemIdChange, onIsOpenChange, stateReducer, triggerButtonProps, menuProps, inputType, removePlaceholderItem, onPointerDownOutside, onInteractOutside, popoutPlacement, }: SingleSelectProps<T>): react_jsx_runtime.JSX.Element;
90
91
 
91
92
  interface MultiSelectProps<T extends DataWithId> extends BaseMultiSelectProps<T> {
92
93
  renderSelections?: (items: T[]) => ReactNode;
93
94
  triggerButtonProps?: any;
94
95
  shouldOverflow?: boolean;
95
96
  }
96
- declare function MultiSelect<T extends DataWithId>({ id, data, selectedItemIds: controlledSelectedItemIds, isOpen: controlledIsOpen, itemToKey, itemToString, renderSelections, renderItem, groupBy, renderGroupHeading, isVirtualized, showSelectedItems, selectHeadings, selectAllItem, placeholder, onSelectedItemIdsChange, onIsOpenChange, stateReducer, triggerButtonProps, menuProps, inputType, shouldOverflow, onPointerDownOutside, onInteractOutside, popoutPlacement, }: MultiSelectProps<T>): react_jsx_runtime.JSX.Element;
97
+ declare function MultiSelect<T extends DataWithId>({ id, data, selectedItemIds: controlledSelectedItemIds, isOpen: controlledIsOpen, itemToKey, itemToString, renderSelections, renderItem, groupBy, renderGroupHeading, isVirtualized, estimatedItemHeight, showSelectedItems, selectHeadings, selectAllItem, placeholder, onSelectedItemIdsChange, onIsOpenChange, stateReducer, triggerButtonProps, menuProps, inputType, shouldOverflow, onPointerDownOutside, onInteractOutside, popoutPlacement, }: MultiSelectProps<T>): react_jsx_runtime.JSX.Element;
97
98
 
98
99
  interface SingleAutocompleteProps<T extends DataWithId> extends BaseSingleAutocompleteProps<T> {
99
100
  includePlaceholderItem?: boolean;
100
101
  }
101
- declare function SingleAutocomplete<T extends DataWithId>({ id, data, selectedItemId: controlledSelectedItemId, inputValue: controlledInputValue, isOpen: controlledIsOpen, itemToKey, itemToString, itemToSearchString, renderItem, groupBy, renderGroupHeading, isVirtualized, EmptyState, placeholder, onSelectedItemIdChange, onInputValueChange, onIsOpenChange, stateReducer, menuProps, inputType, includePlaceholderItem, onPointerDownOutside, onInteractOutside, popoutPlacement, }: SingleAutocompleteProps<T>): react_jsx_runtime.JSX.Element;
102
+ declare function SingleAutocomplete<T extends DataWithId>({ id, data, selectedItemId: controlledSelectedItemId, inputValue: controlledInputValue, isOpen: controlledIsOpen, itemToKey, itemToString, itemToSearchString, renderItem, groupBy, renderGroupHeading, isVirtualized, estimatedItemHeight, EmptyState, placeholder, onSelectedItemIdChange, onInputValueChange, onIsOpenChange, stateReducer, menuProps, inputType, includePlaceholderItem, onPointerDownOutside, onInteractOutside, popoutPlacement, }: SingleAutocompleteProps<T>): react_jsx_runtime.JSX.Element;
102
103
 
103
104
  interface MultiAutocompleteProps<T extends DataWithId> extends BaseMultiAutocompleteProps<T> {
104
105
  }
105
- declare function MultiAutocomplete<T extends DataWithId>({ id, data, selectedItemIds: controlledSelectedItemIds, inputValue: controlledInputValue, isOpen: controlledIsOpen, itemToKey, itemToString, itemToSearchString, renderItem, groupBy, renderGroupHeading, isVirtualized, showSelectedItems, selectHeadings, selectAllItem, EmptyState, placeholder, onSelectedItemIdsChange, onInputValueChange, onIsOpenChange, stateReducer, menuProps, inputType, onPointerDownOutside, onInteractOutside, popoutPlacement, }: MultiAutocompleteProps<T>): react_jsx_runtime.JSX.Element;
106
+ declare function MultiAutocomplete<T extends DataWithId>({ id, data, selectedItemIds: controlledSelectedItemIds, inputValue: controlledInputValue, isOpen: controlledIsOpen, itemToKey, itemToString, itemToSearchString, renderItem, groupBy, renderGroupHeading, isVirtualized, estimatedItemHeight, showSelectedItems, selectHeadings, selectAllItem, EmptyState, placeholder, onSelectedItemIdsChange, onInputValueChange, onIsOpenChange, stateReducer, menuProps, inputType, onPointerDownOutside, onInteractOutside, popoutPlacement, }: MultiAutocompleteProps<T>): react_jsx_runtime.JSX.Element;
106
107
 
107
108
  export { MultiAutocomplete, type MultiAutocompleteProps, MultiSelect, type MultiSelectProps, SingleAutocomplete, type SingleAutocompleteProps, SingleSelect, type SingleSelectProps };
@@ -22,6 +22,7 @@ interface BaseSelectProps<T extends DataWithId> {
22
22
  groupBy?: (item: T) => string;
23
23
  renderGroupHeading?: (label: string) => string;
24
24
  isVirtualized?: boolean;
25
+ estimatedItemHeight?: number;
25
26
  placeholder: string;
26
27
  onIsOpenChange?: (isOpen: boolean) => void;
27
28
  stateReducer?: any;
@@ -86,22 +87,22 @@ interface SingleSelectProps<T extends DataWithId> extends BaseSingleSelectProps<
86
87
  renderSelection?: (item: T | null) => ReactNode;
87
88
  triggerButtonProps?: any;
88
89
  }
89
- declare function SingleSelect<T extends DataWithId>({ id, data, selectedItemId: controlledSelectedItemId, isOpen: controlledIsOpen, itemToKey, itemToString, itemToSelection, renderSelection, renderItem, groupBy, renderGroupHeading, isVirtualized, placeholder, onSelectedItemIdChange, onIsOpenChange, stateReducer, triggerButtonProps, menuProps, inputType, removePlaceholderItem, onPointerDownOutside, onInteractOutside, popoutPlacement, }: SingleSelectProps<T>): react_jsx_runtime.JSX.Element;
90
+ declare function SingleSelect<T extends DataWithId>({ id, data, selectedItemId: controlledSelectedItemId, isOpen: controlledIsOpen, itemToKey, itemToString, itemToSelection, renderSelection, renderItem, groupBy, renderGroupHeading, isVirtualized, estimatedItemHeight, placeholder, onSelectedItemIdChange, onIsOpenChange, stateReducer, triggerButtonProps, menuProps, inputType, removePlaceholderItem, onPointerDownOutside, onInteractOutside, popoutPlacement, }: SingleSelectProps<T>): react_jsx_runtime.JSX.Element;
90
91
 
91
92
  interface MultiSelectProps<T extends DataWithId> extends BaseMultiSelectProps<T> {
92
93
  renderSelections?: (items: T[]) => ReactNode;
93
94
  triggerButtonProps?: any;
94
95
  shouldOverflow?: boolean;
95
96
  }
96
- declare function MultiSelect<T extends DataWithId>({ id, data, selectedItemIds: controlledSelectedItemIds, isOpen: controlledIsOpen, itemToKey, itemToString, renderSelections, renderItem, groupBy, renderGroupHeading, isVirtualized, showSelectedItems, selectHeadings, selectAllItem, placeholder, onSelectedItemIdsChange, onIsOpenChange, stateReducer, triggerButtonProps, menuProps, inputType, shouldOverflow, onPointerDownOutside, onInteractOutside, popoutPlacement, }: MultiSelectProps<T>): react_jsx_runtime.JSX.Element;
97
+ declare function MultiSelect<T extends DataWithId>({ id, data, selectedItemIds: controlledSelectedItemIds, isOpen: controlledIsOpen, itemToKey, itemToString, renderSelections, renderItem, groupBy, renderGroupHeading, isVirtualized, estimatedItemHeight, showSelectedItems, selectHeadings, selectAllItem, placeholder, onSelectedItemIdsChange, onIsOpenChange, stateReducer, triggerButtonProps, menuProps, inputType, shouldOverflow, onPointerDownOutside, onInteractOutside, popoutPlacement, }: MultiSelectProps<T>): react_jsx_runtime.JSX.Element;
97
98
 
98
99
  interface SingleAutocompleteProps<T extends DataWithId> extends BaseSingleAutocompleteProps<T> {
99
100
  includePlaceholderItem?: boolean;
100
101
  }
101
- declare function SingleAutocomplete<T extends DataWithId>({ id, data, selectedItemId: controlledSelectedItemId, inputValue: controlledInputValue, isOpen: controlledIsOpen, itemToKey, itemToString, itemToSearchString, renderItem, groupBy, renderGroupHeading, isVirtualized, EmptyState, placeholder, onSelectedItemIdChange, onInputValueChange, onIsOpenChange, stateReducer, menuProps, inputType, includePlaceholderItem, onPointerDownOutside, onInteractOutside, popoutPlacement, }: SingleAutocompleteProps<T>): react_jsx_runtime.JSX.Element;
102
+ declare function SingleAutocomplete<T extends DataWithId>({ id, data, selectedItemId: controlledSelectedItemId, inputValue: controlledInputValue, isOpen: controlledIsOpen, itemToKey, itemToString, itemToSearchString, renderItem, groupBy, renderGroupHeading, isVirtualized, estimatedItemHeight, EmptyState, placeholder, onSelectedItemIdChange, onInputValueChange, onIsOpenChange, stateReducer, menuProps, inputType, includePlaceholderItem, onPointerDownOutside, onInteractOutside, popoutPlacement, }: SingleAutocompleteProps<T>): react_jsx_runtime.JSX.Element;
102
103
 
103
104
  interface MultiAutocompleteProps<T extends DataWithId> extends BaseMultiAutocompleteProps<T> {
104
105
  }
105
- declare function MultiAutocomplete<T extends DataWithId>({ id, data, selectedItemIds: controlledSelectedItemIds, inputValue: controlledInputValue, isOpen: controlledIsOpen, itemToKey, itemToString, itemToSearchString, renderItem, groupBy, renderGroupHeading, isVirtualized, showSelectedItems, selectHeadings, selectAllItem, EmptyState, placeholder, onSelectedItemIdsChange, onInputValueChange, onIsOpenChange, stateReducer, menuProps, inputType, onPointerDownOutside, onInteractOutside, popoutPlacement, }: MultiAutocompleteProps<T>): react_jsx_runtime.JSX.Element;
106
+ declare function MultiAutocomplete<T extends DataWithId>({ id, data, selectedItemIds: controlledSelectedItemIds, inputValue: controlledInputValue, isOpen: controlledIsOpen, itemToKey, itemToString, itemToSearchString, renderItem, groupBy, renderGroupHeading, isVirtualized, estimatedItemHeight, showSelectedItems, selectHeadings, selectAllItem, EmptyState, placeholder, onSelectedItemIdsChange, onInputValueChange, onIsOpenChange, stateReducer, menuProps, inputType, onPointerDownOutside, onInteractOutside, popoutPlacement, }: MultiAutocompleteProps<T>): react_jsx_runtime.JSX.Element;
106
107
 
107
108
  export { MultiAutocomplete, type MultiAutocompleteProps, MultiSelect, type MultiSelectProps, SingleAutocomplete, type SingleAutocompleteProps, SingleSelect, type SingleSelectProps };
package/dist/v2/index.js CHANGED
@@ -787,6 +787,7 @@ var VirtualizedComboboxContent = ({
787
787
  groupBy,
788
788
  allData,
789
789
  selectAllItem,
790
+ estimatedItemHeight = 35,
790
791
  ...rest
791
792
  }) => {
792
793
  const containerRef = (0, import_react7.useRef)(null);
@@ -796,7 +797,7 @@ var VirtualizedComboboxContent = ({
796
797
  getScrollElement: () => containerRef.current,
797
798
  estimateSize: (index) => {
798
799
  const item = items[index];
799
- return isGroupHeading(item) ? 30 : 35;
800
+ return isGroupHeading(item) ? 40 : estimatedItemHeight;
800
801
  }
801
802
  });
802
803
  (0, import_react7.useEffect)(() => {
@@ -843,6 +844,7 @@ var VirtualizedComboboxContent = ({
843
844
  return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
844
845
  MenuHeading,
845
846
  {
847
+ ref: rowVirtualizer.measureElement,
846
848
  ...headingItemProps,
847
849
  $highlighted: highlightedIndex === virtualItem.index,
848
850
  label: item.label,
@@ -864,6 +866,7 @@ var VirtualizedComboboxContent = ({
864
866
  return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
865
867
  MenuItem,
866
868
  {
869
+ ref: rowVirtualizer.measureElement,
867
870
  inputType,
868
871
  selected: isItemSelected2,
869
872
  id: toggleItem.id,
@@ -892,6 +895,7 @@ var VirtualizedComboboxContent = ({
892
895
  },
893
896
  $highlighted: highlightedIndex === virtualItem.index,
894
897
  $active: false,
898
+ ref: rowVirtualizer.measureElement,
895
899
  children: renderItem(dataItem)
896
900
  },
897
901
  virtualItem.key
@@ -1133,6 +1137,7 @@ function SingleSelect({
1133
1137
  groupBy,
1134
1138
  renderGroupHeading,
1135
1139
  isVirtualized = false,
1140
+ estimatedItemHeight,
1136
1141
  placeholder,
1137
1142
  onSelectedItemIdChange,
1138
1143
  onIsOpenChange,
@@ -1288,6 +1293,7 @@ function SingleSelect({
1288
1293
  itemToString,
1289
1294
  inputType,
1290
1295
  isVirtualized,
1296
+ estimatedItemHeight,
1291
1297
  groupBy,
1292
1298
  selectHeadings: false,
1293
1299
  ...menuProps
@@ -1347,6 +1353,7 @@ function MultiSelect({
1347
1353
  groupBy,
1348
1354
  renderGroupHeading,
1349
1355
  isVirtualized = false,
1356
+ estimatedItemHeight,
1350
1357
  showSelectedItems = false,
1351
1358
  selectHeadings = false,
1352
1359
  selectAllItem,
@@ -1589,6 +1596,7 @@ function MultiSelect({
1589
1596
  allData: data,
1590
1597
  selectAllItem,
1591
1598
  isVirtualized,
1599
+ estimatedItemHeight,
1592
1600
  ...menuProps
1593
1601
  }
1594
1602
  ),
@@ -1641,6 +1649,7 @@ function SingleAutocomplete({
1641
1649
  groupBy,
1642
1650
  renderGroupHeading,
1643
1651
  isVirtualized = false,
1652
+ estimatedItemHeight,
1644
1653
  EmptyState,
1645
1654
  placeholder,
1646
1655
  onSelectedItemIdChange,
@@ -1862,6 +1871,7 @@ function SingleAutocomplete({
1862
1871
  selectHeadings: false,
1863
1872
  groupBy,
1864
1873
  isVirtualized,
1874
+ estimatedItemHeight,
1865
1875
  placeholderItem: includePlaceholderItem ? placeholderItem : void 0,
1866
1876
  ...menuProps
1867
1877
  }
@@ -1927,6 +1937,7 @@ function MultiAutocomplete({
1927
1937
  groupBy,
1928
1938
  renderGroupHeading,
1929
1939
  isVirtualized = false,
1940
+ estimatedItemHeight,
1930
1941
  showSelectedItems = false,
1931
1942
  selectHeadings = false,
1932
1943
  selectAllItem,
@@ -2218,6 +2229,7 @@ function MultiAutocomplete({
2218
2229
  allData: data,
2219
2230
  selectAllItem,
2220
2231
  isVirtualized,
2232
+ estimatedItemHeight,
2221
2233
  ...menuProps
2222
2234
  }
2223
2235
  ),