UNPKG

1.26 kBTypeScriptView Raw
1import { ListItemTypeMap, ListItemProps } from '../ListItem';
2import { OverridableComponent, OverrideProps } from '../OverridableComponent';
3import { ExtendButtonBase } from '../ButtonBase';
4import { Omit } from '@material-ui/types';
5
6export type MenuItemClassKey = 'root' | 'gutters' | 'selected' | 'dense';
7
8export type MenuItemTypeMap<P = {}, D extends React.ElementType = 'li'> = Omit<
9 ListItemTypeMap<P, D>,
10 'classKey'
11> & {
12 classKey: MenuItemClassKey;
13 /**
14 * `classes` prop applied to the [`ListItem`](/api/list-item/) element.
15 */
16 ListItemClasses: ListItemProps['classes'];
17};
18
19/**
20 *
21 * Demos:
22 *
23 * - [Menus](https://material-ui.com/components/menus/)
24 *
25 * API:
26 *
27 * - [MenuItem API](https://material-ui.com/api/menu-item/)
28 * - inherits [ListItem API](https://material-ui.com/api/list-item/)
29 */
30declare const MenuItem: OverridableComponent<
31 MenuItemTypeMap<{ button: false }, MenuItemTypeMap['defaultComponent']>
32> &
33 ExtendButtonBase<MenuItemTypeMap<{ button?: true }, MenuItemTypeMap['defaultComponent']>>;
34
35export type MenuItemProps<
36 D extends React.ElementType = MenuItemTypeMap['defaultComponent'],
37 P = {}
38> = OverrideProps<MenuItemTypeMap<P, D>, D>;
39
40export default MenuItem;