Skip to main content

Accordion

The Accordion component allows information to be displayed / hidden on a page behind a toggleable header.

Polymorphic Component

By default, content is rendered inside a <section>, but this can be overridden by passing any valid tag name or component with the as prop.

Examples

Defaults

<Accordion>
<AccordionSummary>
Accordion summary with text toggle
</AccordionSummary>
<AccordionContent>
...
</AccordionContent>
</Accordion>

Small header, small and large content

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec sapien enim, rutrum quis tristique ut, ultrices vitae nibh. Sed feugiat orci vel hendrerit accumsan
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec sapien enim, rutrum quis tristique ut, ultrices vitae nibh. Sed feugiat orci vel hendrerit accumsan
<Accordion open toggleType={"text|icon"}>
<AccordionSummary size={"small|large"}>
Accordion summary, text type, small header, small content
</AccordionSummary>
<AccordionContent size={"small|large"}>
...
</AccordionContent>
</Accordion>

Large header, small and large content

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec sapien enim, rutrum quis tristique ut, ultrices vitae nibh. Sed feugiat orci vel hendrerit accumsan
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec sapien enim, rutrum quis tristique ut, ultrices vitae nibh. Sed feugiat orci vel hendrerit accumsan
<Accordion open toggleType={"text|icon"}>
<AccordionSummary size={"small|large"}>
Accordion summary
</AccordionSummary>
<AccordionContent size={"small|large"}>
...
</AccordionContent>
</Accordion>

Enums

AccordionSize

KeyValue
Small"small"
Large"large"

AccordionToggleType

KeyValue
Icon"icon"
Text"text"

Props

Accordion

NameTypeDefault ValueRequiredDescription
defaultOpenbooleanfalseNoShould the uncontrolled Accordion default to open?
onToggle((open: boolean) => void)NoFires when the open/closed state of the Accordion changes.
openbooleanfalseNoIs the accordion open?
toggleType"text" | AccordionToggleType | "icon"{AccordionToggleType.Text}NoShow text or a button for the toggle?

Accordion Summary

NameTypeDefault ValueRequiredDescription
size"small" | AccordionSize | "large"AccordionSize.SmallNoWhat size to render the accordion content

AccordionContent

NameTypeDefault ValueRequiredDescription
size"small" | AccordionSize | "large"AccordionSize.SmallNoWhat size to render the accordion content