UNPKG

@mui/material

Version:

Material UI is an open-source React component library that implements Google's Material Design. It's comprehensive and can be used in production out of the box.

85 lines (83 loc) 2.8 kB
import * as React from 'react'; import { SxProps } from '@mui/system'; import { Theme } from "../styles/index.js"; import { ExtendButtonBase, ExtendButtonBaseTypeMap } from "../ButtonBase/index.js"; import { OverrideProps } from "../OverridableComponent/index.js"; import { ListItemButtonClasses } from "./listItemButtonClasses.js"; /** * This interface is kept for backward compatibility. To extend `LitItemButton` * props through module augmentation, use `ListItemButtonOwnProps`. */ export interface ListItemButtonBaseProps { /** * Defines the `align-items` style property. * @default 'center' */ alignItems?: 'flex-start' | 'center'; /** * If `true`, the list item is focused during the first mount. * Focus will also be triggered if the value changes from false to true. * @default false */ autoFocus?: boolean; /** * The content of the component if a `ListItemSecondaryAction` is used it must * be the last child. */ children?: React.ReactNode; /** * Override or extend the styles applied to the component. */ classes?: Partial<ListItemButtonClasses>; /** * If `true`, compact vertical padding designed for keyboard and mouse input is used. * The prop defaults to the value inherited from the parent List component. * @default false */ dense?: boolean; /** * If `true`, the component is disabled. * @default false */ disabled?: boolean; /** * If `true`, the left and right padding is removed. * @default false */ disableGutters?: boolean; /** * If `true`, a 1px light border is added to the bottom of the list item. * @default false */ divider?: boolean; /** * Use to apply selected styling. * @default false */ selected?: boolean; /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx?: SxProps<Theme>; } export interface ListItemButtonOwnProps extends ListItemButtonBaseProps {} export type ListItemButtonTypeMap<AdditionalProps = {}, RootComponent extends React.ElementType = 'div'> = ExtendButtonBaseTypeMap<{ props: AdditionalProps & ListItemButtonOwnProps; defaultComponent: RootComponent; }>; /** * * Demos: * * - [Lists](https://mui.com/material-ui/react-list/) * * API: * * - [ListItemButton API](https://mui.com/material-ui/api/list-item-button/) * - inherits [ButtonBase API](https://mui.com/material-ui/api/button-base/) */ declare const ListItemButton: ExtendButtonBase<ListItemButtonTypeMap>; export type ListItemButtonProps<RootComponent extends React.ElementType = ListItemButtonTypeMap['defaultComponent'], AdditionalProps = {}> = OverrideProps<ListItemButtonTypeMap<AdditionalProps, RootComponent>, RootComponent> & { component?: React.ElementType; }; export default ListItemButton;