IconButton API
Demos
For examples and details on the usage of this React component, visit the component demo pages:
Import
import IconButton from '@mui/joy/IconButton';
// or
import { IconButton } from '@mui/joy';Props
| Name | Type | Default | Description | 
|---|---|---|---|
| action | func | { current?: { focusVisible: func } } | A ref for imperative actions. It currently only supports  focusVisible()action. | |
| color | 'danger' | 'info' | 'neutral' | 'primary' | 'success' | 'warning' | string | 'primary' | The color of the component. It supports those theme colors that make sense for this component. To learn how to add your own colors, check out Themed components—Extend colors. | 
| component | elementType | The component used for the root node. Either a string to use a HTML element or a component. | |
| disabled | bool | false | If  true, the component is disabled. | 
| focusVisibleClassName | string | This prop can help identify which element has keyboard focus. The class name will be applied when the element gains the focus through keyboard interaction. It's a polyfill for the CSS :focus-visible selector. The rationale for using this feature is explained here. A polyfill can be used to apply a  focus-visibleclass to other components if needed. | |
| size | 'sm' | 'md' | 'lg' | string | 'md' | The size of the component. To learn how to add custom sizes to the component, check out Themed components—Extend sizes. | 
| sx | Array<func | object | bool> | func | object | The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details. | |
| variant | 'outlined' | 'plain' | 'soft' | 'solid' | string | 'soft' | The global variant to use. To learn how to add your own variants, check out Themed components—Extend variants. | 
The
ref is forwarded to the root element.Theme default props
You can useJoyIconButton to change the default props of this component with the theme.