Skip to content

Zoom API

API documentation for the React Zoom component. Learn about the available props and the CSS API.

Import

import Zoom from '@mui/material/Zoom';
// or
import { Zoom } from '@mui/material';
You can learn about the difference by reading this guide on minimizing bundle size.

The Zoom transition can be used for the floating variant of the Button component. It uses react-transition-group internally.

Props

Props of the Transition component are also available.

NameTypeDefaultDescription
children*element
A single child content element.
⚠️ Needs to be able to hold a ref.
addEndListenerfunc
Add a custom transition end trigger. Called with the transitioning DOM node and a done callback. Allows for more fine grained transition end logic. Note: Timeouts are still used as a fallback if provided.
appearbooltrue
Perform the enter transition when it first mounts if in is also true. Set this to false to disable this behavior.
easing{ enter?: string, exit?: string }
| string
The transition timing function. You may specify a single easing or a object containing enter and exit values.
inboolfalse
If true, the component will transition in.
timeoutnumber
| { 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.

The ref is forwarded to the root element.

Inheritance

While not explicitly documented above, the props of the Transition component from react-transition-group are also available on Zoom. You can take advantage of this to target nested components.

Demos