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 | { transition?: func | object } | {} | The props used for each slot inside. |
slots | { 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 v7. [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 |
---|---|---|---|
transition | {} | 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. |
.MuiSpeedDial-root | root | Styles applied to the root element. |
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
styleOverrides
property in a custom theme.