Skip to content

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.


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.
TransitionComponent elementType Collapse The component used for the collapse effect.
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).


  • Style sheet name: MuiExpansionPanel.
  • Style sheet details:
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.