Skip to content

Zoom API

API reference docs for the React Zoom component. Learn about the props, CSS, and other APIs of this exported module.



import Zoom from '@mui/material/Zoom';
// or
import { Zoom } from '@mui/material';

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 of the Transition component are also available.


A single child content element.


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.


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.


If true, the component will transition in.

| { 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.


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