UNPKG

847 BTypeScriptView Raw
1import { ListItemTypeMap } 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
15declare const MenuItem: OverridableComponent<
16 MenuItemTypeMap<{ button: false }, MenuItemTypeMap['defaultComponent']>
17> &
18 ExtendButtonBase<MenuItemTypeMap<{ button?: true }, MenuItemTypeMap['defaultComponent']>>;
19
20export type MenuItemProps<
21 D extends React.ElementType = MenuItemTypeMap['defaultComponent'],
22 P = {}
23> = OverrideProps<MenuItemTypeMap<P, D>, D>;
24
25export default MenuItem;