@sproutsocial/seeds-react-menu 1.8.4 → 1.8.6

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.
@@ -26,6 +26,12 @@ interface BaseSelectProps<T extends DataWithId> {
26
26
  onIsOpenChange?: (isOpen: boolean) => void;
27
27
  stateReducer?: any;
28
28
  menuProps?: React.HTMLAttributes<HTMLDivElement>;
29
+ onPointerDownOutside?: (event: CustomEvent<{
30
+ originalEvent: PointerEvent;
31
+ }>) => void;
32
+ onInteractOutside?: (event: CustomEvent<{
33
+ originalEvent: Event;
34
+ }>) => void;
29
35
  }
30
36
  /**
31
37
  * Props common to all single-select components
@@ -75,22 +81,22 @@ interface SingleSelectProps<T extends DataWithId> extends BaseSingleSelectProps<
75
81
  renderSelection?: (item: T | null) => ReactNode;
76
82
  triggerButtonProps?: any;
77
83
  }
78
- 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, }: SingleSelectProps<T>): react_jsx_runtime.JSX.Element;
84
+ 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, }: SingleSelectProps<T>): react_jsx_runtime.JSX.Element;
79
85
 
80
86
  interface MultiSelectProps<T extends DataWithId> extends BaseMultiSelectProps<T> {
81
87
  renderSelections?: (items: T[]) => ReactNode;
82
88
  triggerButtonProps?: any;
83
89
  shouldOverflow?: boolean;
84
90
  }
85
- 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, }: MultiSelectProps<T>): react_jsx_runtime.JSX.Element;
91
+ 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, }: MultiSelectProps<T>): react_jsx_runtime.JSX.Element;
86
92
 
87
93
  interface SingleAutocompleteProps<T extends DataWithId> extends BaseSingleAutocompleteProps<T> {
88
94
  includePlaceholderItem?: boolean;
89
95
  }
90
- 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, }: SingleAutocompleteProps<T>): react_jsx_runtime.JSX.Element;
96
+ 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, }: SingleAutocompleteProps<T>): react_jsx_runtime.JSX.Element;
91
97
 
92
98
  interface MultiAutocompleteProps<T extends DataWithId> extends BaseMultiAutocompleteProps<T> {
93
99
  }
94
- 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, }: MultiAutocompleteProps<T>): react_jsx_runtime.JSX.Element;
100
+ 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, }: MultiAutocompleteProps<T>): react_jsx_runtime.JSX.Element;
95
101
 
96
102
  export { MultiAutocomplete, type MultiAutocompleteProps, MultiSelect, type MultiSelectProps, SingleAutocomplete, type SingleAutocompleteProps, SingleSelect, type SingleSelectProps };
@@ -26,6 +26,12 @@ interface BaseSelectProps<T extends DataWithId> {
26
26
  onIsOpenChange?: (isOpen: boolean) => void;
27
27
  stateReducer?: any;
28
28
  menuProps?: React.HTMLAttributes<HTMLDivElement>;
29
+ onPointerDownOutside?: (event: CustomEvent<{
30
+ originalEvent: PointerEvent;
31
+ }>) => void;
32
+ onInteractOutside?: (event: CustomEvent<{
33
+ originalEvent: Event;
34
+ }>) => void;
29
35
  }
30
36
  /**
31
37
  * Props common to all single-select components
@@ -75,22 +81,22 @@ interface SingleSelectProps<T extends DataWithId> extends BaseSingleSelectProps<
75
81
  renderSelection?: (item: T | null) => ReactNode;
76
82
  triggerButtonProps?: any;
77
83
  }
78
- 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, }: SingleSelectProps<T>): react_jsx_runtime.JSX.Element;
84
+ 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, }: SingleSelectProps<T>): react_jsx_runtime.JSX.Element;
79
85
 
80
86
  interface MultiSelectProps<T extends DataWithId> extends BaseMultiSelectProps<T> {
81
87
  renderSelections?: (items: T[]) => ReactNode;
82
88
  triggerButtonProps?: any;
83
89
  shouldOverflow?: boolean;
84
90
  }
85
- 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, }: MultiSelectProps<T>): react_jsx_runtime.JSX.Element;
91
+ 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, }: MultiSelectProps<T>): react_jsx_runtime.JSX.Element;
86
92
 
87
93
  interface SingleAutocompleteProps<T extends DataWithId> extends BaseSingleAutocompleteProps<T> {
88
94
  includePlaceholderItem?: boolean;
89
95
  }
90
- 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, }: SingleAutocompleteProps<T>): react_jsx_runtime.JSX.Element;
96
+ 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, }: SingleAutocompleteProps<T>): react_jsx_runtime.JSX.Element;
91
97
 
92
98
  interface MultiAutocompleteProps<T extends DataWithId> extends BaseMultiAutocompleteProps<T> {
93
99
  }
94
- 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, }: MultiAutocompleteProps<T>): react_jsx_runtime.JSX.Element;
100
+ 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, }: MultiAutocompleteProps<T>): react_jsx_runtime.JSX.Element;
95
101
 
96
102
  export { MultiAutocomplete, type MultiAutocompleteProps, MultiSelect, type MultiSelectProps, SingleAutocomplete, type SingleAutocompleteProps, SingleSelect, type SingleSelectProps };
package/dist/v2/index.js CHANGED
@@ -231,6 +231,8 @@ function Popout({
231
231
  onOpenAutoFocus,
232
232
  onEscapeKeyDown,
233
233
  onCloseAutoFocus,
234
+ onPointerDownOutside,
235
+ onInteractOutside,
234
236
  ...rest
235
237
  }) {
236
238
  const [isOpen, setIsOpen] = React2.useState(defaultOpen ?? false);
@@ -258,6 +260,8 @@ function Popout({
258
260
  onOpenAutoFocus,
259
261
  onEscapeKeyDown,
260
262
  onCloseAutoFocus,
263
+ onPointerDownOutside,
264
+ onInteractOutside,
261
265
  role: "presentation",
262
266
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StyledMotionDiv, { ...animationConfig, ...rest, children: content })
263
267
  }
@@ -1122,7 +1126,9 @@ function SingleSelect({
1122
1126
  triggerButtonProps,
1123
1127
  menuProps,
1124
1128
  inputType = "icon",
1125
- removePlaceholderItem = false
1129
+ removePlaceholderItem = false,
1130
+ onPointerDownOutside,
1131
+ onInteractOutside
1126
1132
  }) {
1127
1133
  const [uncontrolledSelectedItemId, setUncontrolledSelectedItemId] = (0, import_react8.useState)(null);
1128
1134
  const [uncontrolledIsOpen, setUncontrolledIsOpen] = (0, import_react8.useState)(false);
@@ -1228,6 +1234,8 @@ function SingleSelect({
1228
1234
  onCloseAutoFocus: (e) => {
1229
1235
  e.preventDefault();
1230
1236
  },
1237
+ onPointerDownOutside,
1238
+ onInteractOutside,
1231
1239
  content: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1232
1240
  ComboboxContent,
1233
1241
  {
@@ -1333,7 +1341,9 @@ function MultiSelect({
1333
1341
  triggerButtonProps,
1334
1342
  menuProps,
1335
1343
  inputType = "checkbox",
1336
- shouldOverflow
1344
+ shouldOverflow,
1345
+ onPointerDownOutside,
1346
+ onInteractOutside
1337
1347
  }) {
1338
1348
  const [uncontrolledSelectedItemIds, setUncontrolledSelectedItemIds] = (0, import_react9.useState)([]);
1339
1349
  const [uncontrolledIsOpen, setUncontrolledIsOpen] = (0, import_react9.useState)(false);
@@ -1514,6 +1524,8 @@ function MultiSelect({
1514
1524
  onCloseAutoFocus: (e) => {
1515
1525
  e.preventDefault();
1516
1526
  },
1527
+ onPointerDownOutside,
1528
+ onInteractOutside,
1517
1529
  animationConfig: menuAnimationConfig,
1518
1530
  content: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1519
1531
  ComboboxContent,
@@ -1619,7 +1631,9 @@ function SingleAutocomplete({
1619
1631
  stateReducer = defaultReducer3,
1620
1632
  menuProps,
1621
1633
  inputType = "icon",
1622
- includePlaceholderItem = false
1634
+ includePlaceholderItem = false,
1635
+ onPointerDownOutside,
1636
+ onInteractOutside
1623
1637
  }) {
1624
1638
  const [uncontrolledInputValue, setUncontrolledInputValue] = (0, import_react10.useState)("");
1625
1639
  const [uncontrolledSelectedItemId, setUncontrolledSelectedItemId] = (0, import_react10.useState)(null);
@@ -1796,6 +1810,8 @@ function SingleAutocomplete({
1796
1810
  onCloseAutoFocus: (e) => {
1797
1811
  e.preventDefault();
1798
1812
  },
1813
+ onPointerDownOutside,
1814
+ onInteractOutside,
1799
1815
  content: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1800
1816
  ComboboxContent,
1801
1817
  {
@@ -1901,7 +1917,9 @@ function MultiAutocomplete({
1901
1917
  onIsOpenChange,
1902
1918
  stateReducer = defaultReducer4,
1903
1919
  menuProps,
1904
- inputType = "checkbox"
1920
+ inputType = "checkbox",
1921
+ onPointerDownOutside,
1922
+ onInteractOutside
1905
1923
  }) {
1906
1924
  const [uncontrolledInputValue, setUncontrolledInputValue] = (0, import_react11.useState)("");
1907
1925
  const [uncontrolledSelectedItemIds, setUncontrolledSelectedItemIds] = (0, import_react11.useState)([]);
@@ -2120,6 +2138,8 @@ function MultiAutocomplete({
2120
2138
  onCloseAutoFocus: (e) => {
2121
2139
  e.preventDefault();
2122
2140
  },
2141
+ onPointerDownOutside,
2142
+ onInteractOutside,
2123
2143
  animationConfig: menuAnimationConfig,
2124
2144
  content: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
2125
2145
  ComboboxContent,