Skip to content

Accordion API

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

Import

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

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

Component name

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

Props

Name Type Default Description
children* node The content of the accordion.
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 accordion by default.
disabled bool false If true, the accordion will be displayed in a disabled state.
expanded bool If true, expands the accordion, otherwise collapse it. Setting this prop enables control over the accordion.
onChange func Callback fired when the expand/collapse state is changed.

Signature:
function(event: object, expanded: boolean) => void
event: The event source of the callback. Warning: This is a generic event not a change event.
expanded: The expanded state of the accordion.
square bool false If true, rounded corners are disabled.
TransitionComponent elementType Collapse The component used for the transition. Follow this guide to learn more about the requirements for this component.
TransitionProps object Props applied to the transition element. By default, the element is based on this Transition component.

The ref is forwarded to the root element.

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

CSS

Rule name Global class Description
root .MuiAccordion-root Styles applied to the root element.
rounded .MuiAccordion-rounded Styles applied to the root element unless square={true}.
expanded .Mui-expanded Pseudo-class applied to the root element if expanded={true}.
disabled .Mui-disabled Pseudo-class applied to the root element if disabled={true}.
region .MuiAccordion-region Styles applied to the region element, the container of the children.

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.

Inheritance

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

Demos