@project44-manifest/react
Version:
Manifest Design System react components
50 lines (47 loc) • 1.22 kB
text/typescript
import type { IconProps } from '@project44-manifest/react-icon';
import type { CSS } from '@project44-manifest/react-styles';
import type { MenuItemProps } from '../MenuItem';
import type { TypographyProps } from '../Typography';
export type MenuGroupElement = 'div';
export interface MenuGroupProps {
/**
* Theme aware style object
*/
css?: CSS;
/**
* Whether the menu group is open by default (uncontrolled).
*/
defaultExpanded?: boolean;
/**
* Props pass to the end icon.
*/
iconProps?: IconProps;
/**
* Whether the menu group is expanded by default (controlled).
*/
isExpanded?: boolean;
/**
* Props passed to the root menu item.
*/
itemProps?: MenuItemProps;
/**
* The text for the menu group label.
*/
label: string;
/**
* Props passed to the label component.
*/
labelProps?: TypographyProps;
/**
* Handler that is called when the menu group's open state changes.
*/
onExpandedChange?: (isOpen: boolean) => void;
/**
* Icon added before the button text.
*/
startIcon?: React.ReactElement;
/**
* Adds a highlight style when a submenu is selected and menu group is not in expanded mode.
*/
isSelected?: boolean;
}