1 | import * as React from 'react';
|
2 | import { ExtendButtonBase } from '../ButtonBase';
|
3 | import { OverridableComponent, OverrideProps } from '../OverridableComponent';
|
4 |
|
5 | export interface ListItemTypeMap<P, D extends React.ElementType> {
|
6 | props: P & {
|
7 | alignItems?: 'flex-start' | 'center';
|
8 | autoFocus?: boolean;
|
9 | button?: boolean;
|
10 | ContainerComponent?: React.ElementType<React.HTMLAttributes<HTMLDivElement>>;
|
11 | ContainerProps?: React.HTMLAttributes<HTMLDivElement>;
|
12 | dense?: boolean;
|
13 | disabled?: boolean;
|
14 | disableGutters?: boolean;
|
15 | divider?: boolean;
|
16 | focusVisibleClassName?: string;
|
17 | selected?: boolean;
|
18 | };
|
19 | defaultComponent: D;
|
20 | classKey: ListItemClassKey;
|
21 | }
|
22 |
|
23 | declare const ListItem: OverridableComponent<ListItemTypeMap<{ button?: false }, 'li'>> &
|
24 | ExtendButtonBase<ListItemTypeMap<{ button: true }, 'div'>>;
|
25 |
|
26 | export type ListItemClassKey =
|
27 | | 'root'
|
28 | | 'container'
|
29 | | 'focusVisible'
|
30 | | 'default'
|
31 | | 'dense'
|
32 | | 'disabled'
|
33 | | 'divider'
|
34 | | 'gutters'
|
35 | | 'button'
|
36 | | 'secondaryAction'
|
37 | | 'selected';
|
38 |
|
39 | export type ListItemProps<D extends React.ElementType = 'li', P = {}> = OverrideProps<
|
40 | ListItemTypeMap<P, D>,
|
41 | D
|
42 | >;
|
43 |
|
44 | export default ListItem;
|