SpeedDial API
API reference docs for the React SpeedDial component. Learn about the props, CSS, and other APIs of this exported module.
Demos
Import
import SpeedDial from '@mui/material/SpeedDial';
// or
import { SpeedDial } from '@mui/material';Learn about the difference by reading this guide on minimizing bundle size.
Props of the native component are also available.
| Name | Type | Default | Description |
|---|---|---|---|
| ariaLabel* | string | - | The aria-label of the button element. Also used to provide the |
| children | node | - | SpeedDialActions to display when the SpeedDial is |
| classes | object | - | Override or extend the styles applied to the component. See CSS classes API below for more details. |
| direction | 'down' | 'left' | 'right' | 'up' | 'up' | The direction the actions open relative to the floating action button. |
| FabProps | object | {} | Props applied to the |
| icon | node | - | The icon to display in the SpeedDial Fab. The |
| onClose | func | - | Callback fired when the component requests to be closed. Signature: function(event: object, reason: string) => void
|
| onOpen | func | - | Callback fired when the component requests to be open. Signature: function(event: object, reason: string) => void
|
| open | bool | - | If |
| openIcon | node | - | The icon to display in the SpeedDial Fab when the SpeedDial is open. |
| slotProps | { root?: func | object, transition?: func | object } | {} | The props used for each slot inside. |
| slots | { root?: elementType, transition?: elementType } | {} | The components used for each slot inside. |
| 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. |
| TransitionComponent | elementType | Zoom * @deprecated Use `slots.transition` instead. This prop will be removed in a future major release. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/) | The component used for the transition. Follow this guide to learn more about the requirements for this component. |
| transitionDuration | number | { appear?: number, enter?: number, exit?: number } | { enter: theme.transitions.duration.enteringScreen, exit: theme.transitions.duration.leavingScreen, } | The duration for the transition, in milliseconds. You may specify a single timeout for all transitions, or individually with an object. |
| TransitionProps | object | - | Props applied to the transition element. By default, the element is based on this |
ref is forwarded to the root element.Theme default props
You can use MuiSpeedDial to change the default props of this component with the theme.
| Slot name | Class name | Default component | Description |
|---|---|---|---|
| root | .MuiSpeedDial-root | 'div' | The component that renders the root slot. |
| transition | Zoom | The component that renders the transition. Follow this guide to learn more about the requirements for this component. |
These class names are useful for styling with CSS. They are applied to the component's slots when specific states are triggered.
| Class name | Rule name | Description |
|---|---|---|
| .MuiSpeedDial-actions | actions | Styles applied to the actions (children wrapper) element. |
| .MuiSpeedDial-actionsClosed | actionsClosed | Styles applied to the actions (children wrapper) element if open={false}. |
| .MuiSpeedDial-directionDown | directionDown | Styles applied to the root element if direction="down" |
| .MuiSpeedDial-directionLeft | directionLeft | Styles applied to the root element if direction="left" |
| .MuiSpeedDial-directionRight | directionRight | Styles applied to the root element if direction="right" |
| .MuiSpeedDial-directionUp | directionUp | Styles applied to the root element if direction="up" |
| .MuiSpeedDial-fab | fab | Styles applied to the Fab component. |
You can override the style of the component using one of these customization options:
- With a global class name.
- With a rule name as part of the component's
styleOverridesproperty in a custom theme.
Source code
If you did not find the information in this page, consider having a look at the implementation of the component for more detail.