UNPKG

@mui/material

Version:

Quickly build beautiful React apps. MUI is a simple and customizable component library to build faster, beautiful, and more accessible React applications. Follow your own design system, or start with Material Design.

87 lines (80 loc) 2.63 kB
import * as React from 'react'; import { SxProps } from '@mui/system'; import { OverridableStringUnion } from '@mui/types'; import { Theme } from '..'; import { ExtendButtonBase, ExtendButtonBaseTypeMap } from '../ButtonBase'; import { OverrideProps } from '../OverridableComponent'; import { IconButtonClasses } from './iconButtonClasses'; export interface IconButtonPropsColorOverrides {} export interface IconButtonPropsSizeOverrides {} export type IconButtonTypeMap< P = {}, D extends React.ElementType = 'button', > = ExtendButtonBaseTypeMap<{ props: P & { /** * The icon to display. */ children?: React.ReactNode; /** * Override or extend the styles applied to the component. */ classes?: Partial<IconButtonClasses>; /** * The color of the component. It supports those theme colors that make sense for this component. * @default 'default' */ color?: OverridableStringUnion< 'inherit' | 'default' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning', IconButtonPropsColorOverrides >; /** * If `true`, the component is disabled. * @default false */ disabled?: boolean; /** * If `true`, the keyboard focus ripple is disabled. * @default false */ disableFocusRipple?: boolean; /** * If given, uses a negative margin to counteract the padding on one * side (this is often helpful for aligning the left or right * side of the icon with content above or below, without ruining the border * size and shape). * @default false */ edge?: 'start' | 'end' | false; /** * The size of the component. * `small` is equivalent to the dense button styling. * @default 'medium' */ size?: OverridableStringUnion<'small' | 'medium' | 'large', IconButtonPropsSizeOverrides>; /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx?: SxProps<Theme>; }; defaultComponent: D; }>; /** * Refer to the [Icons](https://mui.com/components/icons/) section of the documentation * regarding the available icon options. * * Demos: * * - [Buttons](https://mui.com/components/buttons/) * * API: * * - [IconButton API](https://mui.com/api/icon-button/) * - inherits [ButtonBase API](https://mui.com/api/button-base/) */ declare const IconButton: ExtendButtonBase<IconButtonTypeMap>; export type IconButtonProps< D extends React.ElementType = IconButtonTypeMap['defaultComponent'], P = {}, > = OverrideProps<IconButtonTypeMap<P, D>, D>; export default IconButton;