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.

78 lines (72 loc) 2.19 kB
import * as React from 'react'; import { SxProps } from '@mui/system'; import { OverridableStringUnion } from '@mui/types'; import { Theme } from '../styles'; import { OverridableComponent, OverrideProps } from '../OverridableComponent'; import { IconClasses } from './iconClasses'; export interface IconPropsSizeOverrides {} export interface IconPropsColorOverrides {} export interface IconTypeMap<P = {}, D extends React.ElementType = 'span'> { props: P & { /** * The base class applied to the icon. Defaults to 'material-icons', but can be changed to any * other base class that suits the icon font you're using (e.g. material-icons-rounded, fas, etc). * @default 'material-icons' */ baseClassName?: string; /** * The name of the icon font ligature. */ children?: React.ReactNode; /** * Override or extend the styles applied to the component. */ classes?: Partial<IconClasses>; /** * The color of the component. It supports those theme colors that make sense for this component. * @default 'inherit' */ color?: OverridableStringUnion< | 'inherit' | 'action' | 'disabled' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning', IconPropsColorOverrides >; /** * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size. * @default 'medium' */ fontSize?: OverridableStringUnion< 'inherit' | 'large' | 'medium' | 'small', IconPropsSizeOverrides >; /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx?: SxProps<Theme>; }; defaultComponent: D; } /** * * Demos: * * - [Icons](https://mui.com/components/icons/) * - [Material Icons](https://mui.com/components/material-icons/) * * API: * * - [Icon API](https://mui.com/api/icon/) */ declare const Icon: OverridableComponent<IconTypeMap> & { muiName: string }; export type IconProps< D extends React.ElementType = IconTypeMap['defaultComponent'], P = {}, > = OverrideProps<IconTypeMap<P, D>, D>; export default Icon;