Skip to content

Collapse API

API reference docs for the React Collapse 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 Collapse from '@mui/material/Collapse';
// or
import { Collapse } from '@mui/material';
You can learn about the difference by reading this guide on minimizing bundle size.

The Collapse transition is used by the Vertical Stepper StepContent component. It uses react-transition-group internally.

Component name

The name MuiCollapse can be used when providing default props or style overrides in the theme.

Props

Props of the Transition component are also available.

NameTypeDefaultDescription
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.
childrennode
The content node to be collapsed.
classesobject
Override or extend the styles applied to the component. See CSS API below for more details.
collapsedSizenumber
| string
'0px'
The width (horizontal) or height (vertical) of the container when collapsed.
componentelement type
The component used for the root node. Either a string to use a HTML element or a component.
⚠️ Needs to be able to hold a ref.
easing{ enter?: string, exit?: string }
| string
The transition timing function. You may specify a single easing or a object containing enter and exit values.
inbool
If true, the component will transition in.
orientation'horizontal'
| 'vertical'
'vertical'
The transition orientation.
sxArray<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.
timeout'auto'
| number
| { appear?: number, enter?: number, exit?: number }
duration.standard
The duration for the transition, in milliseconds. You may specify a single timeout for all transitions, or individually with an object.
Set to 'auto' to automatically calculate transition time based on height.

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

CSS

Rule nameGlobal classDescription
root.MuiCollapse-rootStyles applied to the root element.
horizontal.MuiCollapse-horizontalState class applied to the root element if orientation="horizontal".
entered.MuiCollapse-enteredStyles applied to the root element when the transition has entered.
hidden.MuiCollapse-hiddenStyles applied to the root element when the transition has exited and collapsedSize = 0px.
wrapper.MuiCollapse-wrapperStyles applied to the outer wrapper element.
wrapperInner.MuiCollapse-wrapperInnerStyles applied to the inner wrapper element.

You can override the style of the component using one of these customization options: