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.

Demos

For examples and details on the usage of this React component, visit the component demo pages:

Import

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

Props of the Transition component are also available.

childrenRequired

A single child content element.

Type:

element
addEndListener

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.

Type:

func
appear

Perform the enter transition when it first mounts if in is also true. Set this to false to disable this behavior.

Type:

bool

Default:

true
easing

The transition timing function. You may specify a single easing or a object containing enter and exit values.

Type:

{ enter?: string, exit?: string } | string
in

If true, the component will transition in.

Type:

bool
timeout

The duration for the transition, in milliseconds. You may specify a single timeout for all transitions, or individually with an object.

Type:

number | { appear?: number, enter?: number, exit?: number }

Default:

{ enter: theme.transitions.duration.enteringScreen, exit: theme.transitions.duration.leavingScreen, }

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 in Zoom. You can take advantage of this to target nested components.