Skip to content

🎉 Material UI v5 is out! Head to the migration guide to get started.

ExpansionPanel API

The API documentation of the ExpansionPanel React component. Learn more about the props and the CSS customization points.


import ExpansionPanel from '@material-ui/core/ExpansionPanel';
// or
import { ExpansionPanel } from '@material-ui/core';

You can learn more about the difference by reading this guide.

⚠️ The ExpansionPanel component was renamed to Accordion to use a more common naming convention.

You should use import { Accordion } from '@material-ui/core' or import Accordion from '@material-ui/core/Accordion'.

Component name

The MuiExpansionPanel name can be used for providing default props or style overrides at the theme level.


Name Type Default Description
children* node The content of the expansion panel.
classes object Override or extend the styles applied to the component. See CSS API below for more details.
defaultExpanded bool false If true, expands the panel by default.
disabled bool false If true, the panel will be displayed in a disabled state.
expanded bool If true, expands the panel, otherwise collapse it. Setting this prop enables control over the panel.
onChange func Callback fired when the expand/collapse state is changed.

function(event: object, expanded: boolean) => void
event: The event source of the callback.
expanded: The expanded state of the panel.
square bool false If true, rounded corners are disabled.
TransitionComponent elementType Collapse The component used for the collapse effect. Follow this guide to learn more about the requirements for this component.
TransitionProps object Props applied to the Transition element.

The ref is forwarded to the root element.

Any other props supplied will be provided to the root element (Paper).


Rule name Global class Description
root .MuiExpansionPanel-root Styles applied to the root element.
rounded .MuiExpansionPanel-rounded Styles applied to the root element if square={false}.
expanded .Mui-expanded Styles applied to the root element if expanded={true}.
disabled .Mui-disabled Styles applied to the root element if disabled={true}.

You can override the style of the component thanks to one of these customization points:

If that's not sufficient, you can check the implementation of the component for more detail.


The props of the Paper component are also available. You can take advantage of this behavior to target nested components.