@sproutsocial/seeds-react-menu 1.0.1 → 1.2.0

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.
Files changed (44) hide show
  1. package/.turbo/turbo-build.log +86 -10
  2. package/CHANGELOG.md +44 -0
  3. package/dist/esm/index.js +537 -126
  4. package/dist/esm/index.js.map +1 -1
  5. package/dist/index.d.mts +47 -16
  6. package/dist/index.d.ts +47 -16
  7. package/dist/index.js +602 -184
  8. package/dist/index.js.map +1 -1
  9. package/package.json +5 -5
  10. package/src/ActionMenu/ActionMenu.tsx +4 -3
  11. package/src/ActionMenu/ActionMenuTypes.ts +5 -4
  12. package/src/ActionMenu/__tests__/ActionMenu.test.tsx +1 -1
  13. package/src/Autocomplete/Autocomplete.stories.tsx +124 -32
  14. package/src/Autocomplete/AutocompleteSelect.tsx +24 -0
  15. package/src/Autocomplete/AutocompleteTypes.ts +5 -2
  16. package/src/Autocomplete/MultiAutocomplete.tsx +3 -2
  17. package/src/Autocomplete/SingleAutocomplete.tsx +4 -4
  18. package/src/Autocomplete/index.ts +2 -0
  19. package/src/ListboxToggleButton.tsx +65 -0
  20. package/src/MenuContent/MenuContentTypes.ts +1 -2
  21. package/src/MenuContent/styles.tsx +6 -9
  22. package/src/MenuGroup/__tests__/MenuGroup.test.tsx +1 -1
  23. package/src/MenuItem/__tests__/MenuItem.test.tsx +1 -3
  24. package/src/MenuRoot/MenuRoot.tsx +95 -15
  25. package/src/MultiSelectMenu/MultiSelectMenu.stories.tsx +0 -1
  26. package/src/MultiSelectMenu/MultiSelectMenu.tsx +3 -2
  27. package/src/MultiSelectMenu/MultiSelectMenuTypes.ts +5 -3
  28. package/src/NestedMenu/NestedMenu.feature +1 -1
  29. package/src/NestedMenu/NestedMenu.stories.tsx +25 -7
  30. package/src/NestedMenu/NestedMenu.tsx +217 -43
  31. package/src/NestedMenu/NestedMenuContext.tsx +16 -0
  32. package/src/NestedMenu/NestedMenuHeader.tsx +19 -6
  33. package/src/NestedMenu/NestedMenuItem.tsx +11 -8
  34. package/src/NestedMenu/NestedMenuPopout.tsx +55 -0
  35. package/src/NestedMenu/NestedMenuRoot.tsx +27 -0
  36. package/src/NestedMenu/NestedMenuTypes.ts +3 -2
  37. package/src/NestedMenu/__tests__/NestedMenu.test.tsx +210 -19
  38. package/src/SingleSelectMenu/SingleSelectMenu.stories.tsx +0 -1
  39. package/src/SingleSelectMenu/SingleSelectMenu.tsx +3 -2
  40. package/src/SingleSelectMenu/SingleSelectMenuTypes.ts +5 -3
  41. package/src/__tests__/Menu.test.tsx +1 -1
  42. package/src/index.ts +1 -0
  43. package/src/storybookUtilities/menu-storybook-components.tsx +11 -31
  44. package/src/types.ts +5 -1
package/dist/index.d.mts CHANGED
@@ -1,14 +1,14 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { UseComboboxProps, UseSelectProps, UseMultipleSelectionProps, UseComboboxReturnValue, UseSelectReturnValue, UseMultipleSelectionReturnValue, UseComboboxGetInputPropsOptions, GetItemPropsOptions } from 'downshift';
3
3
  import { TypeBorderSystemProps, TypeColorSystemProps, TypeFlexboxSystemProps, TypeGridSystemProps, TypeLayoutSystemProps, TypePositionSystemProps, TypeSpaceSystemProps, TypeTypographySystemProps, TypeStyledComponentsCommonProps } from '@sproutsocial/seeds-react-system-props';
4
+ import * as styled_components from 'styled-components';
5
+ import * as _sproutsocial_seeds_react_box from '@sproutsocial/seeds-react-box';
6
+ import { TypeBoxProps } from '@sproutsocial/seeds-react-box';
7
+ export { TypeBoxProps as TypeMenuFooterProps } from '@sproutsocial/seeds-react-box';
4
8
  import * as React$1 from 'react';
5
9
  import React__default, { ReactNode } from 'react';
6
10
  import { TypePopoutProps } from '@sproutsocial/seeds-react-popout';
7
11
  import { TypeTokenInputProps, TypeTokenSpec } from '@sproutsocial/seeds-react-token-input';
8
- import * as styled_components from 'styled-components';
9
- import { HTMLMotionProps } from 'motion/react';
10
- import { TypeBoxProps } from '@sproutsocial/seeds-react-box';
11
- export { TypeBoxProps as TypeMenuFooterProps } from '@sproutsocial/seeds-react-box';
12
12
  import * as _sproutsocial_seeds_react_text from '@sproutsocial/seeds-react-text';
13
13
  import { TypeLabelProps } from '@sproutsocial/seeds-react-label';
14
14
  import { TypeButtonProps } from '@sproutsocial/seeds-react-button';
@@ -181,12 +181,20 @@ interface TypeMenuRootOwnProps {
181
181
  }
182
182
  interface TypeMenuRootProps extends Partial<TypeMenuContextProps>, Pick<TypeMenuProviderProps, "children">, TypeMenuRootOwnProps {
183
183
  }
184
+ declare const CustomPopoutContent: styled_components.StyledComponent<{
185
+ ({ children, ...rest }: _sproutsocial_seeds_react_box.TypeBoxProps): react_jsx_runtime.JSX.Element;
186
+ displayName: string;
187
+ }, styled_components.DefaultTheme, {}, never>;
188
+ interface TypeMenuPopoutProps extends Pick<Partial<TypeMenuContextProps>, "openMenu" | "closeMenu">, TypePopoutProps {
189
+ }
190
+ declare const MenuPopout: ({ content, width, isOpen, openMenu, closeMenu, focusLockProps, ...popoutProps }: TypeMenuPopoutProps) => react_jsx_runtime.JSX.Element;
184
191
  /**
185
192
  * @link https://seeds.sproutsocial.com/components/menu-root/
186
193
  *
187
194
  * @description MenuRoot is a utility component used to handle {@link https://github.com/sproutsocial/seeds/blob/dev/seeds-react/seeds-react-menu/src/MenuContext.tsx | MenuContext}. This component should rarely, if ever, be used directly unless building a custom menu type.
188
195
  */
189
196
  declare const MenuRoot: ({ children, menuToggleElement, popoutProps: { placement, focusLockProps, ...popoutProps }, width, ...contextProps }: TypeMenuRootProps) => react_jsx_runtime.JSX.Element;
197
+ declare const MenuRootNoPopout: ({ children, menuToggleElement, ...contextProps }: TypeMenuRootProps) => react_jsx_runtime.JSX.Element;
190
198
 
191
199
  interface TypeInternalItemProps<Item = TypeMenuItemProps> {
192
200
  id: string;
@@ -195,6 +203,9 @@ interface TypeInternalItemProps<Item = TypeMenuItemProps> {
195
203
  menuItemProps?: Item;
196
204
  menuGroupProps?: TypeMenuGroupBaseProps;
197
205
  }
206
+ interface TypeHigherOrderComponentProps extends TypeMenuRootOwnProps {
207
+ MenuRootComponent?: React.ComponentType<TypeMenuRootProps>;
208
+ }
198
209
  type TypeChildrenOrItems<I extends TypeMenuItemProps = TypeMenuItemProps> = {
199
210
  /** Allows menu items to be passed in as children. Cannot be used with the items prop.*/
200
211
  children: TypeMenuRootProps["children"];
@@ -262,7 +273,7 @@ interface TypeMenuHeaderProps extends Omit<React$1.ComponentPropsWithoutRef<"div
262
273
  */
263
274
  declare const MenuHeader: ({ children, title, leftAction, rightAction, ...rest }: TypeMenuHeaderProps) => react_jsx_runtime.JSX.Element;
264
275
 
265
- type TypeMenuContentProps<I extends TypeMenuItemProps = TypeMenuItemProps> = Omit<HTMLMotionProps<"ul">, "children"> & {
276
+ type TypeMenuContentProps<I extends TypeMenuItemProps = TypeMenuItemProps> = Omit<React.ComponentPropsWithoutRef<"ul">, "children"> & {
266
277
  innerRef?: React.Ref<HTMLUListElement>;
267
278
  } & TypeChildrenOrItems<I>;
268
279
 
@@ -346,7 +357,7 @@ interface TypeMenuSearchTokenInputProps extends TypeMenuTokenInputProps {
346
357
  declare const MenuSearchTokenInput: ({ getIsItemVisible, getTokenProps, onChange, inputProps: { value: inputPropsValue, ...inputProps }, value, ...tokenInputProps }: TypeMenuSearchTokenInputProps) => react_jsx_runtime.JSX.Element;
347
358
 
348
359
  type TypeInvalidMenuProps = "initialSelectedItem" | "defaultSelectedItem" | "selectedItem";
349
- interface TypeActionMenuBaseProps extends TypeMenuRootOwnProps, Omit<TypeDownshiftSelectProps, TypeInvalidMenuProps> {
360
+ interface TypeActionMenuBaseProps extends TypeHigherOrderComponentProps, Omit<TypeDownshiftSelectProps, TypeInvalidMenuProps> {
350
361
  }
351
362
  type TypeActionMenuProps<I extends TypeMenuItemProps = TypeMenuItemProps> = TypeActionMenuBaseProps & TypeChildrenOrItems<I>;
352
363
 
@@ -359,9 +370,9 @@ type TypeActionMenuProps<I extends TypeMenuItemProps = TypeMenuItemProps> = Type
359
370
  * @see {@link https://github.com/sproutsocial/seeds/tree/dev/seeds-react/seeds-react-menu/src/SingleSelectMenu | SingleSelectMenu}
360
371
  * @see {@link https://github.com/sproutsocial/seeds/tree/dev/seeds-react/seeds-react-menu/src/MultiSelectMenu | MultiSelectMenu}
361
372
  */
362
- declare const ActionMenu: <I extends TypeMenuItemProps = TypeMenuItemProps>({ children: childrenProp, menuItems, MenuItemComponent, stateReducer: externalStateReducer, ...useSelectProps }: TypeActionMenuProps<I>) => react_jsx_runtime.JSX.Element;
373
+ declare const ActionMenu: <I extends TypeMenuItemProps = TypeMenuItemProps>({ children: childrenProp, menuItems, MenuItemComponent, stateReducer: externalStateReducer, MenuRootComponent, ...useSelectProps }: TypeActionMenuProps<I>) => react_jsx_runtime.JSX.Element;
363
374
 
364
- interface TypeSingleSelectMenuBaseProps extends TypeMenuRootOwnProps, TypeDownshiftSelectProps {
375
+ interface TypeSingleSelectMenuBaseProps extends TypeHigherOrderComponentProps, TypeDownshiftSelectProps {
365
376
  }
366
377
  type TypeSingleSelectMenuProps<I extends TypeMenuItemProps = TypeMenuItemProps> = TypeSingleSelectMenuBaseProps & TypeChildrenOrItems<I>;
367
378
 
@@ -373,9 +384,9 @@ type TypeSingleSelectMenuProps<I extends TypeMenuItemProps = TypeMenuItemProps>
373
384
  * **To trigger actions from a menu:**
374
385
  * @see {@link https://github.com/sproutsocial/seeds/tree/dev/seeds-react/seeds-react-menu/src/ActionMenu | ActionMenu}
375
386
  */
376
- declare const SingleSelectMenu: <I extends TypeMenuItemProps = TypeMenuItemProps>({ children: childrenProp, stateReducer: externalStateReducer, menuItems, MenuItemComponent, ...useSelectProps }: TypeSingleSelectMenuProps<I>) => react_jsx_runtime.JSX.Element;
387
+ declare const SingleSelectMenu: <I extends TypeMenuItemProps = TypeMenuItemProps>({ children: childrenProp, stateReducer: externalStateReducer, menuItems, MenuItemComponent, MenuRootComponent, ...useSelectProps }: TypeSingleSelectMenuProps<I>) => react_jsx_runtime.JSX.Element;
377
388
 
378
- interface TypeMultiSelectMenuBaseProps extends TypeMenuRootOwnProps, TypeDownshiftSelectProps, TypeDownshiftMultiSelectProps {
389
+ interface TypeMultiSelectMenuBaseProps extends TypeHigherOrderComponentProps, TypeDownshiftSelectProps, TypeDownshiftMultiSelectProps {
379
390
  }
380
391
  type TypeMultiSelectMenuProps<I extends TypeMenuItemProps = TypeMenuItemProps> = TypeMultiSelectMenuBaseProps & TypeChildrenOrItems<I>;
381
392
 
@@ -386,7 +397,7 @@ type TypeMultiSelectMenuProps<I extends TypeMenuItemProps = TypeMenuItemProps> =
386
397
  *
387
398
  * @see {@link https://seeds.sproutsocial.com/components/menu-group/ | MenuGroup}
388
399
  */
389
- declare const MultiSelectMenu: <I extends TypeMenuItemProps = TypeMenuItemProps>({ children: childrenProp, menuItems, MenuItemComponent, onSelectedItemChange: externalOnSelectedItemChange, stateReducer: externalStateReducer, getA11yMultiStatusMessage, onMultiSelectStateChange, multiSelectStateReducer, ...useSelectProps }: TypeMultiSelectMenuProps<I>) => react_jsx_runtime.JSX.Element;
400
+ declare const MultiSelectMenu: <I extends TypeMenuItemProps = TypeMenuItemProps>({ children: childrenProp, menuItems, MenuItemComponent, onSelectedItemChange: externalOnSelectedItemChange, stateReducer: externalStateReducer, MenuRootComponent, getA11yMultiStatusMessage, onMultiSelectStateChange, multiSelectStateReducer, ...useSelectProps }: TypeMultiSelectMenuProps<I>) => react_jsx_runtime.JSX.Element;
390
401
 
391
402
  type TypeSubmenuValidMenuComponentProps<I extends TypeMenuItemProps> = TypeChildrenOrItems<I> & (TypeActionMenuProps<I> | TypeSingleSelectMenuProps<I> | TypeMultiSelectMenuProps<I>);
392
403
  interface TypeSubmenuItemProps<I extends TypeMenuItemProps, P extends TypeSubmenuValidMenuComponentProps<I>> extends TypeMenuItemProps {
@@ -401,7 +412,17 @@ declare const SubmenuItem: {
401
412
  __MENU_PRIMITIVE_TYPE: string;
402
413
  };
403
414
 
404
- type TypeSingleAutocompleteProps<I extends TypeMenuItemProps = TypeMenuItemProps> = TypeMenuRootOwnProps & TypeChildrenOrItems<I> & TypeDownshiftComboboxProps & {
415
+ interface TypeListboxToggleButtonProps extends TypeMenuToggleButtonProps {
416
+ invalid?: boolean;
417
+ }
418
+ declare const StyledListboxToggleButton: styled_components.StyledComponent<({ children, ...rest }: TypeMenuToggleButtonProps) => react_jsx_runtime.JSX.Element, styled_components.DefaultTheme, TypeListboxToggleButtonProps, never>;
419
+ interface TypeStyledChevronProps {
420
+ $isOpen?: boolean;
421
+ invalid?: boolean;
422
+ }
423
+ declare const ListboxToggleButton: ({ children, ...buttonProps }: TypeListboxToggleButtonProps) => react_jsx_runtime.JSX.Element;
424
+
425
+ type TypeSingleAutocompleteProps<I extends TypeMenuItemProps = TypeMenuItemProps> = TypeHigherOrderComponentProps & TypeChildrenOrItems<I> & TypeDownshiftComboboxProps & {
405
426
  getIsItemVisible?: TypeGetIsItemVisibleFn;
406
427
  };
407
428
  type TypeMultiAutocompleteProps<I extends TypeMenuItemProps = TypeMenuItemProps> = TypeSingleAutocompleteProps<I> & TypeDownshiftMultiSelectProps & {
@@ -425,6 +446,12 @@ interface TypeAutocompleteInputProps extends TypeDownshiftMergedInputProps<TypeI
425
446
  }
426
447
  declare const AutocompleteInput: ({ onKeyDown, onChange, onInput, onBlur, onClick, inputProps, ...rest }: TypeAutocompleteInputProps) => react_jsx_runtime.JSX.Element;
427
448
 
449
+ interface TypeAutocompleteTokenInputProps extends TypeDownshiftMergedInputProps<TypeMenuTokenInputProps> {
450
+ }
451
+ declare const AutocompleteTokenInput: ({ onKeyDown, onChange, onInput, onBlur, onClick, inputProps, getTokenProps, ...rest }: TypeAutocompleteTokenInputProps) => react_jsx_runtime.JSX.Element;
452
+
453
+ declare const AutocompleteSelect: (props: TypeAutocompleteInputProps) => react_jsx_runtime.JSX.Element;
454
+
428
455
  interface TypeNestedMenuMapProps<P, I extends TypeMenuItemProps = TypeNestedMenuItemProps> {
429
456
  MenuComponent: React.ComponentType<P>;
430
457
  menuProps: Omit<P, "menuToggleElement"> & TypeChildrenOrItems<I>;
@@ -441,9 +468,8 @@ interface TypeNestedMenuHeaderProps extends TypeMenuHeaderProps {
441
468
  interface TypeNestedMenuItemProps extends TypeMenuItemProps {
442
469
  childMenuId?: string;
443
470
  }
444
- interface TypeNestedMenuProps<I extends TypeMenuItemProps = TypeNestedMenuItemProps> {
471
+ interface TypeNestedMenuProps<I extends TypeMenuItemProps = TypeNestedMenuItemProps> extends Omit<TypeActionMenuBaseProps, "MenuRootComponent"> {
445
472
  initialMenuId: string;
446
- menuToggleElement: TypeMenuRootProps["menuToggleElement"];
447
473
  onBackButtonClick?: (menuId: string) => void;
448
474
  /** Sets the default localized label for the back arrow in all child menus.
449
475
  * This label can be overridden by including backArrowLabel in a menu's menuHeaderProps. */
@@ -454,7 +480,7 @@ interface TypeNestedMenuProps<I extends TypeMenuItemProps = TypeNestedMenuItemPr
454
480
  };
455
481
  }
456
482
 
457
- declare const NestedMenu: <I extends TypeMenuItemProps = TypeNestedMenuItemProps>({ initialMenuId, menus, onBackButtonClick, backArrowLabel, menuToggleElement, }: TypeNestedMenuProps<I>) => react_jsx_runtime.JSX.Element;
483
+ declare const NestedMenu: <I extends TypeMenuItemProps = TypeNestedMenuItemProps>({ initialMenuId, menus, onBackButtonClick, backArrowLabel, menuToggleElement, popoutProps, width, stateReducer: rootExternalStateReducer, id: externalNestedMenuId, ...useSelectProps }: TypeNestedMenuProps<I>) => react_jsx_runtime.JSX.Element;
458
484
 
459
485
  declare const NestedMenuItem: {
460
486
  ({ children, childMenuId, onClick: onClickProp, ...rest }: TypeNestedMenuItemProps): react_jsx_runtime.JSX.Element;
@@ -472,7 +498,12 @@ interface TypeNestedMenuContext {
472
498
  selectedMenuPath: string[];
473
499
  setSelectedMenuId?: (id: string) => void;
474
500
  setSelectedMenuPath?: (path: string[]) => void;
501
+ resetSelectedMenuPath?: () => void;
475
502
  goBack?: () => void;
503
+ rootMenuContextProps: Omit<TypeMenuContextProps, "items">;
504
+ activeMenuContext: TypeMenuContext;
505
+ setActiveMenuContext: (context: TypeMenuContext) => void;
506
+ animationSpeed: number;
476
507
  }
477
508
  interface TypeNestedMenuProviderProps extends TypeNestedMenuContext {
478
509
  children: TypeNotEmptyChildren;
@@ -522,4 +553,4 @@ declare const useMenuChildren: <I extends TypeMenuItemProps = TypeMenuItemProps>
522
553
  declare const useSelectStateReducer: Required<UseSelectProps<TypeInternalItemProps>>["stateReducer"];
523
554
  declare const useSelectStateReducerForMulti: Required<UseSelectProps<TypeInternalItemProps>>["stateReducer"];
524
555
 
525
- export { ActionMenu, Autocomplete, AutocompleteInput, INPUT_TYPES, type InputType, MenuContent, MenuContentContext, MenuContentProvider, MenuFooter, MenuGroup, MenuHeader, MenuItem, MenuItemAction, MenuItemActionLeft, MenuItemActionRight, MenuItemContainer, MenuItemRow, MenuItemText, MenuLabel, MenuRoot, MenuSearchInput, MenuSearchTokenInput, MenuToggleButton, MenuToggleContext, MenuToggleProvider, MenuTokenInput, MultiSelectMenu, NestedMenu, NestedMenuContent, NestedMenuContext, NestedMenuHeader, NestedMenuItem, NestedMenuProvider, SingleSelectMenu, StyledMenuGroup, StyledMenuGroupUl, StyledMenuItem, StyledTitle, SubmenuItem, type TypeActionMenuBaseProps, type TypeActionMenuProps, type TypeAutocompleteInputProps, type TypeAutocompleteProps, type TypeChildrenOrItems, type TypeDownshiftComboboxProps, type TypeDownshiftComboboxReturnValue, type TypeDownshiftMergedInputProps, type TypeDownshiftMultiSelectProps, type TypeDownshiftMultiSelectReturnValue, type TypeDownshiftSelectProps, type TypeDownshiftSelectReturnValue, type TypeInternalItemProps, type TypeItemElement, type TypeMapMenuItemsProps, type TypeMenuChildren, type TypeMenuContentElement, type TypeMenuContentProps, type TypeMenuContext, type TypeMenuContextBaseProps, type TypeMenuContextProps, type TypeMenuGroupBaseProps, type TypeMenuGroupElement, type TypeMenuGroupProps, type TypeMenuGroupStyledProps, type TypeMenuHeaderProps, type TypeMenuItemProps, type TypeMenuItemStyledProps, type TypeMenuProviderProps, type TypeMenuRootOwnProps, type TypeMenuRootProps, type TypeMenuSearchInputProps, type TypeMenuSearchTokenInputProps, type TypeMenuToggleButtonProps, type TypeMenuToggleContext, type TypeMenuToggleProviderProps, type TypeMenuTokenInputProps, type TypeMultiAutocompleteProps, type TypeMultiSelectMenuBaseProps, type TypeMultiSelectMenuProps, type TypeNestedMenuContext, type TypeNestedMenuHeaderProps, type TypeNestedMenuItemProps, type TypeNestedMenuMapProps, type TypeNestedMenuProps, type TypeNestedMenuProviderProps, type TypeNotEmptyChildren, type TypeSingleAutocompleteProps, type TypeSingleSelectMenuBaseProps, type TypeSingleSelectMenuProps, type TypeSubmenuItemProps, type TypeSubmenuValidMenuComponentProps, checkIfItemSelected, defaultMenuContext, getChildrenFromMenuItems, getSelectedItemIds, mapMenuItems, useMenu, useMenuChildren, useMenuContentContext, useMenuToggleContext, useNestedMenuContext, useSelectStateReducer, useSelectStateReducerForMulti };
556
+ export { ActionMenu, Autocomplete, AutocompleteInput, AutocompleteSelect, AutocompleteTokenInput, CustomPopoutContent, INPUT_TYPES, type InputType, ListboxToggleButton, MenuContent, MenuContentContext, MenuContentProvider, MenuFooter, MenuGroup, MenuHeader, MenuItem, MenuItemAction, MenuItemActionLeft, MenuItemActionRight, MenuItemContainer, MenuItemRow, MenuItemText, MenuLabel, MenuPopout, MenuRoot, MenuRootNoPopout, MenuSearchInput, MenuSearchTokenInput, MenuToggleButton, MenuToggleContext, MenuToggleProvider, MenuTokenInput, MultiSelectMenu, NestedMenu, NestedMenuContent, NestedMenuContext, NestedMenuHeader, NestedMenuItem, NestedMenuProvider, SingleSelectMenu, StyledListboxToggleButton, StyledMenuGroup, StyledMenuGroupUl, StyledMenuItem, StyledTitle, SubmenuItem, type TypeActionMenuBaseProps, type TypeActionMenuProps, type TypeAutocompleteInputProps, type TypeAutocompleteProps, type TypeAutocompleteTokenInputProps, type TypeChildrenOrItems, type TypeDownshiftComboboxProps, type TypeDownshiftComboboxReturnValue, type TypeDownshiftMergedInputProps, type TypeDownshiftMultiSelectProps, type TypeDownshiftMultiSelectReturnValue, type TypeDownshiftSelectProps, type TypeDownshiftSelectReturnValue, type TypeHigherOrderComponentProps, type TypeInternalItemProps, type TypeItemElement, type TypeListboxToggleButtonProps, type TypeMapMenuItemsProps, type TypeMenuChildren, type TypeMenuContentElement, type TypeMenuContentProps, type TypeMenuContext, type TypeMenuContextBaseProps, type TypeMenuContextProps, type TypeMenuGroupBaseProps, type TypeMenuGroupElement, type TypeMenuGroupProps, type TypeMenuGroupStyledProps, type TypeMenuHeaderProps, type TypeMenuItemProps, type TypeMenuItemStyledProps, type TypeMenuPopoutProps, type TypeMenuProviderProps, type TypeMenuRootOwnProps, type TypeMenuRootProps, type TypeMenuSearchInputProps, type TypeMenuSearchTokenInputProps, type TypeMenuToggleButtonProps, type TypeMenuToggleContext, type TypeMenuToggleProviderProps, type TypeMenuTokenInputProps, type TypeMultiAutocompleteProps, type TypeMultiSelectMenuBaseProps, type TypeMultiSelectMenuProps, type TypeNestedMenuContext, type TypeNestedMenuHeaderProps, type TypeNestedMenuItemProps, type TypeNestedMenuMapProps, type TypeNestedMenuProps, type TypeNestedMenuProviderProps, type TypeNotEmptyChildren, type TypeSingleAutocompleteProps, type TypeSingleSelectMenuBaseProps, type TypeSingleSelectMenuProps, type TypeStyledChevronProps, type TypeSubmenuItemProps, type TypeSubmenuValidMenuComponentProps, checkIfItemSelected, defaultMenuContext, getChildrenFromMenuItems, getSelectedItemIds, mapMenuItems, useMenu, useMenuChildren, useMenuContentContext, useMenuToggleContext, useNestedMenuContext, useSelectStateReducer, useSelectStateReducerForMulti };
package/dist/index.d.ts CHANGED
@@ -1,14 +1,14 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { UseComboboxProps, UseSelectProps, UseMultipleSelectionProps, UseComboboxReturnValue, UseSelectReturnValue, UseMultipleSelectionReturnValue, UseComboboxGetInputPropsOptions, GetItemPropsOptions } from 'downshift';
3
3
  import { TypeBorderSystemProps, TypeColorSystemProps, TypeFlexboxSystemProps, TypeGridSystemProps, TypeLayoutSystemProps, TypePositionSystemProps, TypeSpaceSystemProps, TypeTypographySystemProps, TypeStyledComponentsCommonProps } from '@sproutsocial/seeds-react-system-props';
4
+ import * as styled_components from 'styled-components';
5
+ import * as _sproutsocial_seeds_react_box from '@sproutsocial/seeds-react-box';
6
+ import { TypeBoxProps } from '@sproutsocial/seeds-react-box';
7
+ export { TypeBoxProps as TypeMenuFooterProps } from '@sproutsocial/seeds-react-box';
4
8
  import * as React$1 from 'react';
5
9
  import React__default, { ReactNode } from 'react';
6
10
  import { TypePopoutProps } from '@sproutsocial/seeds-react-popout';
7
11
  import { TypeTokenInputProps, TypeTokenSpec } from '@sproutsocial/seeds-react-token-input';
8
- import * as styled_components from 'styled-components';
9
- import { HTMLMotionProps } from 'motion/react';
10
- import { TypeBoxProps } from '@sproutsocial/seeds-react-box';
11
- export { TypeBoxProps as TypeMenuFooterProps } from '@sproutsocial/seeds-react-box';
12
12
  import * as _sproutsocial_seeds_react_text from '@sproutsocial/seeds-react-text';
13
13
  import { TypeLabelProps } from '@sproutsocial/seeds-react-label';
14
14
  import { TypeButtonProps } from '@sproutsocial/seeds-react-button';
@@ -181,12 +181,20 @@ interface TypeMenuRootOwnProps {
181
181
  }
182
182
  interface TypeMenuRootProps extends Partial<TypeMenuContextProps>, Pick<TypeMenuProviderProps, "children">, TypeMenuRootOwnProps {
183
183
  }
184
+ declare const CustomPopoutContent: styled_components.StyledComponent<{
185
+ ({ children, ...rest }: _sproutsocial_seeds_react_box.TypeBoxProps): react_jsx_runtime.JSX.Element;
186
+ displayName: string;
187
+ }, styled_components.DefaultTheme, {}, never>;
188
+ interface TypeMenuPopoutProps extends Pick<Partial<TypeMenuContextProps>, "openMenu" | "closeMenu">, TypePopoutProps {
189
+ }
190
+ declare const MenuPopout: ({ content, width, isOpen, openMenu, closeMenu, focusLockProps, ...popoutProps }: TypeMenuPopoutProps) => react_jsx_runtime.JSX.Element;
184
191
  /**
185
192
  * @link https://seeds.sproutsocial.com/components/menu-root/
186
193
  *
187
194
  * @description MenuRoot is a utility component used to handle {@link https://github.com/sproutsocial/seeds/blob/dev/seeds-react/seeds-react-menu/src/MenuContext.tsx | MenuContext}. This component should rarely, if ever, be used directly unless building a custom menu type.
188
195
  */
189
196
  declare const MenuRoot: ({ children, menuToggleElement, popoutProps: { placement, focusLockProps, ...popoutProps }, width, ...contextProps }: TypeMenuRootProps) => react_jsx_runtime.JSX.Element;
197
+ declare const MenuRootNoPopout: ({ children, menuToggleElement, ...contextProps }: TypeMenuRootProps) => react_jsx_runtime.JSX.Element;
190
198
 
191
199
  interface TypeInternalItemProps<Item = TypeMenuItemProps> {
192
200
  id: string;
@@ -195,6 +203,9 @@ interface TypeInternalItemProps<Item = TypeMenuItemProps> {
195
203
  menuItemProps?: Item;
196
204
  menuGroupProps?: TypeMenuGroupBaseProps;
197
205
  }
206
+ interface TypeHigherOrderComponentProps extends TypeMenuRootOwnProps {
207
+ MenuRootComponent?: React.ComponentType<TypeMenuRootProps>;
208
+ }
198
209
  type TypeChildrenOrItems<I extends TypeMenuItemProps = TypeMenuItemProps> = {
199
210
  /** Allows menu items to be passed in as children. Cannot be used with the items prop.*/
200
211
  children: TypeMenuRootProps["children"];
@@ -262,7 +273,7 @@ interface TypeMenuHeaderProps extends Omit<React$1.ComponentPropsWithoutRef<"div
262
273
  */
263
274
  declare const MenuHeader: ({ children, title, leftAction, rightAction, ...rest }: TypeMenuHeaderProps) => react_jsx_runtime.JSX.Element;
264
275
 
265
- type TypeMenuContentProps<I extends TypeMenuItemProps = TypeMenuItemProps> = Omit<HTMLMotionProps<"ul">, "children"> & {
276
+ type TypeMenuContentProps<I extends TypeMenuItemProps = TypeMenuItemProps> = Omit<React.ComponentPropsWithoutRef<"ul">, "children"> & {
266
277
  innerRef?: React.Ref<HTMLUListElement>;
267
278
  } & TypeChildrenOrItems<I>;
268
279
 
@@ -346,7 +357,7 @@ interface TypeMenuSearchTokenInputProps extends TypeMenuTokenInputProps {
346
357
  declare const MenuSearchTokenInput: ({ getIsItemVisible, getTokenProps, onChange, inputProps: { value: inputPropsValue, ...inputProps }, value, ...tokenInputProps }: TypeMenuSearchTokenInputProps) => react_jsx_runtime.JSX.Element;
347
358
 
348
359
  type TypeInvalidMenuProps = "initialSelectedItem" | "defaultSelectedItem" | "selectedItem";
349
- interface TypeActionMenuBaseProps extends TypeMenuRootOwnProps, Omit<TypeDownshiftSelectProps, TypeInvalidMenuProps> {
360
+ interface TypeActionMenuBaseProps extends TypeHigherOrderComponentProps, Omit<TypeDownshiftSelectProps, TypeInvalidMenuProps> {
350
361
  }
351
362
  type TypeActionMenuProps<I extends TypeMenuItemProps = TypeMenuItemProps> = TypeActionMenuBaseProps & TypeChildrenOrItems<I>;
352
363
 
@@ -359,9 +370,9 @@ type TypeActionMenuProps<I extends TypeMenuItemProps = TypeMenuItemProps> = Type
359
370
  * @see {@link https://github.com/sproutsocial/seeds/tree/dev/seeds-react/seeds-react-menu/src/SingleSelectMenu | SingleSelectMenu}
360
371
  * @see {@link https://github.com/sproutsocial/seeds/tree/dev/seeds-react/seeds-react-menu/src/MultiSelectMenu | MultiSelectMenu}
361
372
  */
362
- declare const ActionMenu: <I extends TypeMenuItemProps = TypeMenuItemProps>({ children: childrenProp, menuItems, MenuItemComponent, stateReducer: externalStateReducer, ...useSelectProps }: TypeActionMenuProps<I>) => react_jsx_runtime.JSX.Element;
373
+ declare const ActionMenu: <I extends TypeMenuItemProps = TypeMenuItemProps>({ children: childrenProp, menuItems, MenuItemComponent, stateReducer: externalStateReducer, MenuRootComponent, ...useSelectProps }: TypeActionMenuProps<I>) => react_jsx_runtime.JSX.Element;
363
374
 
364
- interface TypeSingleSelectMenuBaseProps extends TypeMenuRootOwnProps, TypeDownshiftSelectProps {
375
+ interface TypeSingleSelectMenuBaseProps extends TypeHigherOrderComponentProps, TypeDownshiftSelectProps {
365
376
  }
366
377
  type TypeSingleSelectMenuProps<I extends TypeMenuItemProps = TypeMenuItemProps> = TypeSingleSelectMenuBaseProps & TypeChildrenOrItems<I>;
367
378
 
@@ -373,9 +384,9 @@ type TypeSingleSelectMenuProps<I extends TypeMenuItemProps = TypeMenuItemProps>
373
384
  * **To trigger actions from a menu:**
374
385
  * @see {@link https://github.com/sproutsocial/seeds/tree/dev/seeds-react/seeds-react-menu/src/ActionMenu | ActionMenu}
375
386
  */
376
- declare const SingleSelectMenu: <I extends TypeMenuItemProps = TypeMenuItemProps>({ children: childrenProp, stateReducer: externalStateReducer, menuItems, MenuItemComponent, ...useSelectProps }: TypeSingleSelectMenuProps<I>) => react_jsx_runtime.JSX.Element;
387
+ declare const SingleSelectMenu: <I extends TypeMenuItemProps = TypeMenuItemProps>({ children: childrenProp, stateReducer: externalStateReducer, menuItems, MenuItemComponent, MenuRootComponent, ...useSelectProps }: TypeSingleSelectMenuProps<I>) => react_jsx_runtime.JSX.Element;
377
388
 
378
- interface TypeMultiSelectMenuBaseProps extends TypeMenuRootOwnProps, TypeDownshiftSelectProps, TypeDownshiftMultiSelectProps {
389
+ interface TypeMultiSelectMenuBaseProps extends TypeHigherOrderComponentProps, TypeDownshiftSelectProps, TypeDownshiftMultiSelectProps {
379
390
  }
380
391
  type TypeMultiSelectMenuProps<I extends TypeMenuItemProps = TypeMenuItemProps> = TypeMultiSelectMenuBaseProps & TypeChildrenOrItems<I>;
381
392
 
@@ -386,7 +397,7 @@ type TypeMultiSelectMenuProps<I extends TypeMenuItemProps = TypeMenuItemProps> =
386
397
  *
387
398
  * @see {@link https://seeds.sproutsocial.com/components/menu-group/ | MenuGroup}
388
399
  */
389
- declare const MultiSelectMenu: <I extends TypeMenuItemProps = TypeMenuItemProps>({ children: childrenProp, menuItems, MenuItemComponent, onSelectedItemChange: externalOnSelectedItemChange, stateReducer: externalStateReducer, getA11yMultiStatusMessage, onMultiSelectStateChange, multiSelectStateReducer, ...useSelectProps }: TypeMultiSelectMenuProps<I>) => react_jsx_runtime.JSX.Element;
400
+ declare const MultiSelectMenu: <I extends TypeMenuItemProps = TypeMenuItemProps>({ children: childrenProp, menuItems, MenuItemComponent, onSelectedItemChange: externalOnSelectedItemChange, stateReducer: externalStateReducer, MenuRootComponent, getA11yMultiStatusMessage, onMultiSelectStateChange, multiSelectStateReducer, ...useSelectProps }: TypeMultiSelectMenuProps<I>) => react_jsx_runtime.JSX.Element;
390
401
 
391
402
  type TypeSubmenuValidMenuComponentProps<I extends TypeMenuItemProps> = TypeChildrenOrItems<I> & (TypeActionMenuProps<I> | TypeSingleSelectMenuProps<I> | TypeMultiSelectMenuProps<I>);
392
403
  interface TypeSubmenuItemProps<I extends TypeMenuItemProps, P extends TypeSubmenuValidMenuComponentProps<I>> extends TypeMenuItemProps {
@@ -401,7 +412,17 @@ declare const SubmenuItem: {
401
412
  __MENU_PRIMITIVE_TYPE: string;
402
413
  };
403
414
 
404
- type TypeSingleAutocompleteProps<I extends TypeMenuItemProps = TypeMenuItemProps> = TypeMenuRootOwnProps & TypeChildrenOrItems<I> & TypeDownshiftComboboxProps & {
415
+ interface TypeListboxToggleButtonProps extends TypeMenuToggleButtonProps {
416
+ invalid?: boolean;
417
+ }
418
+ declare const StyledListboxToggleButton: styled_components.StyledComponent<({ children, ...rest }: TypeMenuToggleButtonProps) => react_jsx_runtime.JSX.Element, styled_components.DefaultTheme, TypeListboxToggleButtonProps, never>;
419
+ interface TypeStyledChevronProps {
420
+ $isOpen?: boolean;
421
+ invalid?: boolean;
422
+ }
423
+ declare const ListboxToggleButton: ({ children, ...buttonProps }: TypeListboxToggleButtonProps) => react_jsx_runtime.JSX.Element;
424
+
425
+ type TypeSingleAutocompleteProps<I extends TypeMenuItemProps = TypeMenuItemProps> = TypeHigherOrderComponentProps & TypeChildrenOrItems<I> & TypeDownshiftComboboxProps & {
405
426
  getIsItemVisible?: TypeGetIsItemVisibleFn;
406
427
  };
407
428
  type TypeMultiAutocompleteProps<I extends TypeMenuItemProps = TypeMenuItemProps> = TypeSingleAutocompleteProps<I> & TypeDownshiftMultiSelectProps & {
@@ -425,6 +446,12 @@ interface TypeAutocompleteInputProps extends TypeDownshiftMergedInputProps<TypeI
425
446
  }
426
447
  declare const AutocompleteInput: ({ onKeyDown, onChange, onInput, onBlur, onClick, inputProps, ...rest }: TypeAutocompleteInputProps) => react_jsx_runtime.JSX.Element;
427
448
 
449
+ interface TypeAutocompleteTokenInputProps extends TypeDownshiftMergedInputProps<TypeMenuTokenInputProps> {
450
+ }
451
+ declare const AutocompleteTokenInput: ({ onKeyDown, onChange, onInput, onBlur, onClick, inputProps, getTokenProps, ...rest }: TypeAutocompleteTokenInputProps) => react_jsx_runtime.JSX.Element;
452
+
453
+ declare const AutocompleteSelect: (props: TypeAutocompleteInputProps) => react_jsx_runtime.JSX.Element;
454
+
428
455
  interface TypeNestedMenuMapProps<P, I extends TypeMenuItemProps = TypeNestedMenuItemProps> {
429
456
  MenuComponent: React.ComponentType<P>;
430
457
  menuProps: Omit<P, "menuToggleElement"> & TypeChildrenOrItems<I>;
@@ -441,9 +468,8 @@ interface TypeNestedMenuHeaderProps extends TypeMenuHeaderProps {
441
468
  interface TypeNestedMenuItemProps extends TypeMenuItemProps {
442
469
  childMenuId?: string;
443
470
  }
444
- interface TypeNestedMenuProps<I extends TypeMenuItemProps = TypeNestedMenuItemProps> {
471
+ interface TypeNestedMenuProps<I extends TypeMenuItemProps = TypeNestedMenuItemProps> extends Omit<TypeActionMenuBaseProps, "MenuRootComponent"> {
445
472
  initialMenuId: string;
446
- menuToggleElement: TypeMenuRootProps["menuToggleElement"];
447
473
  onBackButtonClick?: (menuId: string) => void;
448
474
  /** Sets the default localized label for the back arrow in all child menus.
449
475
  * This label can be overridden by including backArrowLabel in a menu's menuHeaderProps. */
@@ -454,7 +480,7 @@ interface TypeNestedMenuProps<I extends TypeMenuItemProps = TypeNestedMenuItemPr
454
480
  };
455
481
  }
456
482
 
457
- declare const NestedMenu: <I extends TypeMenuItemProps = TypeNestedMenuItemProps>({ initialMenuId, menus, onBackButtonClick, backArrowLabel, menuToggleElement, }: TypeNestedMenuProps<I>) => react_jsx_runtime.JSX.Element;
483
+ declare const NestedMenu: <I extends TypeMenuItemProps = TypeNestedMenuItemProps>({ initialMenuId, menus, onBackButtonClick, backArrowLabel, menuToggleElement, popoutProps, width, stateReducer: rootExternalStateReducer, id: externalNestedMenuId, ...useSelectProps }: TypeNestedMenuProps<I>) => react_jsx_runtime.JSX.Element;
458
484
 
459
485
  declare const NestedMenuItem: {
460
486
  ({ children, childMenuId, onClick: onClickProp, ...rest }: TypeNestedMenuItemProps): react_jsx_runtime.JSX.Element;
@@ -472,7 +498,12 @@ interface TypeNestedMenuContext {
472
498
  selectedMenuPath: string[];
473
499
  setSelectedMenuId?: (id: string) => void;
474
500
  setSelectedMenuPath?: (path: string[]) => void;
501
+ resetSelectedMenuPath?: () => void;
475
502
  goBack?: () => void;
503
+ rootMenuContextProps: Omit<TypeMenuContextProps, "items">;
504
+ activeMenuContext: TypeMenuContext;
505
+ setActiveMenuContext: (context: TypeMenuContext) => void;
506
+ animationSpeed: number;
476
507
  }
477
508
  interface TypeNestedMenuProviderProps extends TypeNestedMenuContext {
478
509
  children: TypeNotEmptyChildren;
@@ -522,4 +553,4 @@ declare const useMenuChildren: <I extends TypeMenuItemProps = TypeMenuItemProps>
522
553
  declare const useSelectStateReducer: Required<UseSelectProps<TypeInternalItemProps>>["stateReducer"];
523
554
  declare const useSelectStateReducerForMulti: Required<UseSelectProps<TypeInternalItemProps>>["stateReducer"];
524
555
 
525
- export { ActionMenu, Autocomplete, AutocompleteInput, INPUT_TYPES, type InputType, MenuContent, MenuContentContext, MenuContentProvider, MenuFooter, MenuGroup, MenuHeader, MenuItem, MenuItemAction, MenuItemActionLeft, MenuItemActionRight, MenuItemContainer, MenuItemRow, MenuItemText, MenuLabel, MenuRoot, MenuSearchInput, MenuSearchTokenInput, MenuToggleButton, MenuToggleContext, MenuToggleProvider, MenuTokenInput, MultiSelectMenu, NestedMenu, NestedMenuContent, NestedMenuContext, NestedMenuHeader, NestedMenuItem, NestedMenuProvider, SingleSelectMenu, StyledMenuGroup, StyledMenuGroupUl, StyledMenuItem, StyledTitle, SubmenuItem, type TypeActionMenuBaseProps, type TypeActionMenuProps, type TypeAutocompleteInputProps, type TypeAutocompleteProps, type TypeChildrenOrItems, type TypeDownshiftComboboxProps, type TypeDownshiftComboboxReturnValue, type TypeDownshiftMergedInputProps, type TypeDownshiftMultiSelectProps, type TypeDownshiftMultiSelectReturnValue, type TypeDownshiftSelectProps, type TypeDownshiftSelectReturnValue, type TypeInternalItemProps, type TypeItemElement, type TypeMapMenuItemsProps, type TypeMenuChildren, type TypeMenuContentElement, type TypeMenuContentProps, type TypeMenuContext, type TypeMenuContextBaseProps, type TypeMenuContextProps, type TypeMenuGroupBaseProps, type TypeMenuGroupElement, type TypeMenuGroupProps, type TypeMenuGroupStyledProps, type TypeMenuHeaderProps, type TypeMenuItemProps, type TypeMenuItemStyledProps, type TypeMenuProviderProps, type TypeMenuRootOwnProps, type TypeMenuRootProps, type TypeMenuSearchInputProps, type TypeMenuSearchTokenInputProps, type TypeMenuToggleButtonProps, type TypeMenuToggleContext, type TypeMenuToggleProviderProps, type TypeMenuTokenInputProps, type TypeMultiAutocompleteProps, type TypeMultiSelectMenuBaseProps, type TypeMultiSelectMenuProps, type TypeNestedMenuContext, type TypeNestedMenuHeaderProps, type TypeNestedMenuItemProps, type TypeNestedMenuMapProps, type TypeNestedMenuProps, type TypeNestedMenuProviderProps, type TypeNotEmptyChildren, type TypeSingleAutocompleteProps, type TypeSingleSelectMenuBaseProps, type TypeSingleSelectMenuProps, type TypeSubmenuItemProps, type TypeSubmenuValidMenuComponentProps, checkIfItemSelected, defaultMenuContext, getChildrenFromMenuItems, getSelectedItemIds, mapMenuItems, useMenu, useMenuChildren, useMenuContentContext, useMenuToggleContext, useNestedMenuContext, useSelectStateReducer, useSelectStateReducerForMulti };
556
+ export { ActionMenu, Autocomplete, AutocompleteInput, AutocompleteSelect, AutocompleteTokenInput, CustomPopoutContent, INPUT_TYPES, type InputType, ListboxToggleButton, MenuContent, MenuContentContext, MenuContentProvider, MenuFooter, MenuGroup, MenuHeader, MenuItem, MenuItemAction, MenuItemActionLeft, MenuItemActionRight, MenuItemContainer, MenuItemRow, MenuItemText, MenuLabel, MenuPopout, MenuRoot, MenuRootNoPopout, MenuSearchInput, MenuSearchTokenInput, MenuToggleButton, MenuToggleContext, MenuToggleProvider, MenuTokenInput, MultiSelectMenu, NestedMenu, NestedMenuContent, NestedMenuContext, NestedMenuHeader, NestedMenuItem, NestedMenuProvider, SingleSelectMenu, StyledListboxToggleButton, StyledMenuGroup, StyledMenuGroupUl, StyledMenuItem, StyledTitle, SubmenuItem, type TypeActionMenuBaseProps, type TypeActionMenuProps, type TypeAutocompleteInputProps, type TypeAutocompleteProps, type TypeAutocompleteTokenInputProps, type TypeChildrenOrItems, type TypeDownshiftComboboxProps, type TypeDownshiftComboboxReturnValue, type TypeDownshiftMergedInputProps, type TypeDownshiftMultiSelectProps, type TypeDownshiftMultiSelectReturnValue, type TypeDownshiftSelectProps, type TypeDownshiftSelectReturnValue, type TypeHigherOrderComponentProps, type TypeInternalItemProps, type TypeItemElement, type TypeListboxToggleButtonProps, type TypeMapMenuItemsProps, type TypeMenuChildren, type TypeMenuContentElement, type TypeMenuContentProps, type TypeMenuContext, type TypeMenuContextBaseProps, type TypeMenuContextProps, type TypeMenuGroupBaseProps, type TypeMenuGroupElement, type TypeMenuGroupProps, type TypeMenuGroupStyledProps, type TypeMenuHeaderProps, type TypeMenuItemProps, type TypeMenuItemStyledProps, type TypeMenuPopoutProps, type TypeMenuProviderProps, type TypeMenuRootOwnProps, type TypeMenuRootProps, type TypeMenuSearchInputProps, type TypeMenuSearchTokenInputProps, type TypeMenuToggleButtonProps, type TypeMenuToggleContext, type TypeMenuToggleProviderProps, type TypeMenuTokenInputProps, type TypeMultiAutocompleteProps, type TypeMultiSelectMenuBaseProps, type TypeMultiSelectMenuProps, type TypeNestedMenuContext, type TypeNestedMenuHeaderProps, type TypeNestedMenuItemProps, type TypeNestedMenuMapProps, type TypeNestedMenuProps, type TypeNestedMenuProviderProps, type TypeNotEmptyChildren, type TypeSingleAutocompleteProps, type TypeSingleSelectMenuBaseProps, type TypeSingleSelectMenuProps, type TypeStyledChevronProps, type TypeSubmenuItemProps, type TypeSubmenuValidMenuComponentProps, checkIfItemSelected, defaultMenuContext, getChildrenFromMenuItems, getSelectedItemIds, mapMenuItems, useMenu, useMenuChildren, useMenuContentContext, useMenuToggleContext, useNestedMenuContext, useSelectStateReducer, useSelectStateReducerForMulti };