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 |
|
24 |
|
25 |
|
26 |
|
27 |
|
28 |
|
29 |
|
30 |
|
31 |
|
32 |
|
33 |
|
34 | declare const ListItem: OverridableComponent<ListItemTypeMap<{ button?: false }, 'li'>> &
|
35 | ExtendButtonBase<ListItemTypeMap<{ button: true }, 'div'>>;
|
36 |
|
37 | export type ListItemClassKey =
|
38 | | 'root'
|
39 | | 'container'
|
40 | | 'focusVisible'
|
41 | | 'default'
|
42 | | 'dense'
|
43 | | 'disabled'
|
44 | | 'divider'
|
45 | | 'gutters'
|
46 | | 'button'
|
47 | | 'secondaryAction'
|
48 | | 'selected';
|
49 |
|
50 | export type ListItemProps<D extends React.ElementType = 'li', P = {}> = OverrideProps<
|
51 | ListItemTypeMap<P, D>,
|
52 | D
|
53 | >;
|
54 |
|
55 | export default ListItem;
|