Button API
Demos
For examples and details on the usage of this React component, visit the component demo pages:
Import
import Button from '@mui/joy/Button';
// or
import { Button } from '@mui/joy';
Component name
The nameJoyButton
can be used when providing default props or style overrides in the theme.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. |
disabled | bool | false | If true , the component is disabled. |
endDecorator | node | Element placed after the children. | |
fullWidth | bool | false | If true , the button will take up the full width of its container. |
loading | bool | false | If true , the loading indicator is shown. |
loadingIndicator | node | <CircularProgress /> | The node should contain an element with role="progressbar" with an accessible name. By default we render a CircularProgress that is labelled by the button itself. |
loadingPosition | 'center' | 'end' | 'start' | 'center' | The loading indicator can be positioned on the start, end, or the center of the button. |
size | 'sm' | 'md' | 'lg' | string | 'md' | The size of the component. |
startDecorator | node | Element placed before the children. | |
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 | 'solid' | The variant to use. |
The
ref
is forwarded to the root element.