Accordion

An accordion is a vertically stacked list that can be expanded and collapsed to reveal and hide nested content.

Examples

Definition list

Vivamus et tortor sed arcu congue vehicula eget et diam. Praesent nec dictum lorem. Aliquam id diam ultrices, faucibus erat id, maximus nunc.

Single expand behavior

Vivamus et tortor sed arcu congue vehicula eget et diam. Praesent nec dictum lorem. Aliquam id diam ultrices, faucibus erat id, maximus nunc.

Fixed with multiple expand behavior

Donec vel posuere orci. Phasellus quis tortor a ex hendrerit efficitur. Aliquam lacinia ligula pharetra, sagittis ex ut, pellentesque diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vestibulum ultricies nulla nibh. Etiam vel dui fermentum ligula ullamcorper eleifend non quis tortor. Morbi tempus ornare tempus. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Mauris et velit neque. Donec ultricies condimentum mauris, pellentesque imperdiet libero convallis convallis. Aliquam erat volutpat. Donec rutrum semper tempus. Proin dictum imperdiet nibh, quis dapibus nulla. Integer sed tincidunt lectus, sit amet auctor eros.

Donec vel posuere orci. Phasellus quis tortor a ex hendrerit efficitur. Aliquam lacinia ligula pharetra, sagittis ex ut, pellentesque diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vestibulum ultricies nulla nibh. Etiam vel dui fermentum ligula ullamcorper eleifend non quis tortor. Morbi tempus ornare tempus. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Mauris et velit neque. Donec ultricies condimentum mauris, pellentesque imperdiet libero convallis convallis. Aliquam erat volutpat. Donec rutrum semper tempus. Proin dictum imperdiet nibh, quis dapibus nulla. Integer sed tincidunt lectus, sit amet auctor eros.

Bordered

Donec vel posuere orci. Phasellus quis tortor a ex hendrerit efficitur. Aliquam lacinia ligula pharetra, sagittis ex ut, pellentesque diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vestibulum ultricies nulla nibh. Etiam vel dui fermentum ligula ullamcorper eleifend non quis tortor. Morbi tempus ornare tempus. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Mauris et velit neque. Donec ultricies condimentum mauris, pellentesque imperdiet libero convallis convallis. Aliquam erat volutpat. Donec rutrum semper tempus. Proin dictum imperdiet nibh, quis dapibus nulla. Integer sed tincidunt lectus, sit amet auctor eros.

Toggle icon at start

Vivamus et tortor sed arcu congue vehicula eget et diam. Praesent nec dictum lorem. Aliquam id diam ultrices, faucibus erat id, maximus nunc.

Props

Accordion

*required
NameTypeDefaultDescription
aria-labelstringAdds accessible text to the Accordion
asDefinitionListbooleantrueFlag to indicate whether use definition list or div
childrenReact.ReactNodenullContent rendered inside the Accordion
classNamestring''Additional classes added to the Accordion
displaySize'default' | 'lg''default'Display size variant.
headingLevel'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6''h3'Heading level to use
isBorderedbooleanfalseFlag to indicate the accordion had a border
togglePosition'start' | 'end''end'Sets the toggle icon position for all accordion toggles.

AccordionItem

*required
NameTypeDefaultDescription
childrenReact.ReactNodenullContent rendered inside the accordion item.
classNamestringAdditional classes added to the accordion item.
isExpandedbooleanfalseFlag to indicate whether the accordion item is expanded.

AccordionContent

*required
NameTypeDefaultDescription
aria-labelstring''Adds accessible text to the Accordion content
aria-labelledbystringId of the controlling accordion toggle to label the content.
childrenReact.ReactNodenullContent rendered inside the Accordion
classNamestring''Additional classes added to the Accordion content
componentReact.ElementTypeComponent to use as content container
contentBodyPropsAccordionExpandableContentBodyPropsProps passed to the AccordionExpandableContentBody *
idstring''Identify the AccordionContent item
isCustomContentReact.ReactNodefalseFlag indicating content is custom. Expanded content Body wrapper will be removed from children. This allows multiple bodies to be rendered as content.
isFixedbooleanfalseFlag to indicate Accordion content is fixed

AccordionToggle

*required
NameTypeDefaultDescription
idrequiredstringIdentify the Accordion toggle number
childrenReact.ReactNodenullContent rendered inside the Accordion toggle
classNamestring''Additional classes added to the Accordion Toggle
componentReact.ElementTypeContainer to override the default for toggle

AccordionExpandableContentBody

*required
NameTypeDefaultDescription
childrenReact.ReactNodenullContent rendered inside the accordion content body

CSS variables

Expand or collapse columnSelectorVariableValue
.pf-v6-c-accordion--pf-v6-c-accordion--BackgroundColor
(In light theme) #ffffff
.pf-v6-c-accordion--pf-v6-c-accordion--RowGap
0.25rem
.pf-v6-c-accordion--pf-v6-c-accordion__item--BorderRadius
6px
.pf-v6-c-accordion--pf-v6-c-accordion__item--m-expanded--BackgroundColor
(In light theme) rgba(199, 199, 199, 0.2500)
.pf-v6-c-accordion--pf-v6-c-accordion__toggle--ColumnGap
0.5rem
.pf-v6-c-accordion--pf-v6-c-accordion__toggle--PaddingBlockStart
0.5rem
.pf-v6-c-accordion--pf-v6-c-accordion__toggle--PaddingInlineEnd
1rem
.pf-v6-c-accordion--pf-v6-c-accordion__toggle--PaddingBlockEnd
0.5rem
.pf-v6-c-accordion--pf-v6-c-accordion__toggle--m-expanded--PaddingBlockEnd
0.5rem
.pf-v6-c-accordion--pf-v6-c-accordion__toggle--PaddingInlineStart
1rem
.pf-v6-c-accordion--pf-v6-c-accordion__toggle--BackgroundColor
(In light theme) rgba(255, 255, 255, 0.0000)
.pf-v6-c-accordion--pf-v6-c-accordion__toggle--hover--BackgroundColor
(In light theme) rgba(199, 199, 199, 0.2500)
.pf-v6-c-accordion--pf-v6-c-accordion__toggle--BorderRadius
6px
.pf-v6-c-accordion--pf-v6-c-accordion--m-toggle-start__toggle--ColumnGap
0.5rem
.pf-v6-c-accordion--pf-v6-c-accordion__toggle-text--Color
(In light theme) #151515
.pf-v6-c-accordion--pf-v6-c-accordion__toggle-text--FontWeight
400
.pf-v6-c-accordion--pf-v6-c-accordion__toggle--m-expanded__toggle-text--FontWeight
500
.pf-v6-c-accordion--pf-v6-c-accordion--m-display-lg__toggle--m-expanded__toggle-text--FontWeight
500
.pf-v6-c-accordion--pf-v6-c-accordion__toggle-icon--Transition
.2s ease-in 0s
.pf-v6-c-accordion--pf-v6-c-accordion__toggle--m-expanded__toggle-icon--Rotate
90deg
.pf-v6-c-accordion--pf-v6-c-accordion__expandable-content--MarginInlineEnd
1rem
.pf-v6-c-accordion--pf-v6-c-accordion__expandable-content--MarginBlockEnd
1rem
.pf-v6-c-accordion--pf-v6-c-accordion__expandable-content--MarginInlineStart
1rem
.pf-v6-c-accordion--pf-v6-c-accordion__expandable-content--BackgroundColor
(In light theme) #ffffff
.pf-v6-c-accordion--pf-v6-c-accordion__expandable-content--BorderRadius
6px
.pf-v6-c-accordion--pf-v6-c-accordion__expandable-content--Color
(In light theme) #151515
.pf-v6-c-accordion--pf-v6-c-accordion__expandable-content--FontSize
0.875rem
.pf-v6-c-accordion--pf-v6-c-accordion__expandable-content--m-fixed--MaxHeight
9.375rem
.pf-v6-c-accordion--pf-v6-c-accordion__expandable-content-body--PaddingBlockStart
0.5rem
.pf-v6-c-accordion--pf-v6-c-accordion__expandable-content-body--PaddingInlineEnd
0.5rem
.pf-v6-c-accordion--pf-v6-c-accordion__expandable-content-body--PaddingBlockEnd
0.5rem
.pf-v6-c-accordion--pf-v6-c-accordion__expandable-content-body--PaddingInlineStart
0.5rem
.pf-v6-c-accordion--pf-v6-c-accordion__expandable-content-body--expandable-content-body--PaddingBlockStart
0
.pf-v6-c-accordion--pf-v6-c-accordion--m-display-lg__toggle--PaddingBlockStart
1rem
.pf-v6-c-accordion--pf-v6-c-accordion--m-display-lg__toggle--PaddingInlineEnd
1rem
.pf-v6-c-accordion--pf-v6-c-accordion--m-display-lg__toggle--PaddingBlockEnd
1rem
.pf-v6-c-accordion--pf-v6-c-accordion--m-display-lg__toggle--m-expanded--PaddingBlockEnd
0.5rem
.pf-v6-c-accordion--pf-v6-c-accordion--m-display-lg__toggle--PaddingInlineStart
1rem
.pf-v6-c-accordion--pf-v6-c-accordion--m-display-lg__toggle--FontFamily
"Red Hat Display", "RedHatDisplay", "Noto Sans Arabic", "Noto Sans Hebrew", "Noto Sans JP", "Noto Sans KR", "Noto Sans Malayalam", "Noto Sans SC", "Noto Sans TC", "Noto Sans Thai", Helvetica, Arial, sans-serif
.pf-v6-c-accordion--pf-v6-c-accordion--m-display-lg__toggle--FontSize
1.125rem
.pf-v6-c-accordion--pf-v6-c-accordion--m-display-lg__toggle-text--FontWeight
500
.pf-v6-c-accordion--pf-v6-c-accordion--m-display-lg__expandable-content--FontSize
1rem
.pf-v6-c-accordion--pf-v6-c-accordion--m-display-lg__expandable-content--Color
(In light theme) #151515
.pf-v6-c-accordion--pf-v6-c-accordion--m-bordered--RowGap
0
.pf-v6-c-accordion--pf-v6-c-accordion__item--m-bordered--BorderBlockEndWidth
1px
.pf-v6-c-accordion--pf-v6-c-accordion__item--m-bordered--BorderBlockEndColor
(In light theme) #c7c7c7
.pf-v6-c-accordion.pf-m-toggle-start--pf-v6-c-accordion__toggle--ColumnGap
0.5rem
.pf-v6-c-accordion.pf-m-display-lg--pf-v6-c-accordion__toggle--PaddingBlockStart
1rem
.pf-v6-c-accordion.pf-m-display-lg--pf-v6-c-accordion__toggle--PaddingInlineEnd
1rem
.pf-v6-c-accordion.pf-m-display-lg--pf-v6-c-accordion__toggle--PaddingBlockEnd
1rem
.pf-v6-c-accordion.pf-m-display-lg--pf-v6-c-accordion__toggle--m-expanded--PaddingBlockEnd
0.5rem
.pf-v6-c-accordion.pf-m-display-lg--pf-v6-c-accordion__toggle--PaddingInlineStart
1rem
.pf-v6-c-accordion.pf-m-display-lg--pf-v6-c-accordion__toggle--FontFamily
"Red Hat Display", "RedHatDisplay", "Noto Sans Arabic", "Noto Sans Hebrew", "Noto Sans JP", "Noto Sans KR", "Noto Sans Malayalam", "Noto Sans SC", "Noto Sans TC", "Noto Sans Thai", Helvetica, Arial, sans-serif
.pf-v6-c-accordion.pf-m-display-lg--pf-v6-c-accordion__toggle--FontSize
1.125rem
.pf-v6-c-accordion.pf-m-display-lg--pf-v6-c-accordion__toggle-text--FontWeight
500
.pf-v6-c-accordion.pf-m-display-lg--pf-v6-c-accordion__toggle--m-expanded__toggle-text--FontWeight
500
.pf-v6-c-accordion.pf-m-display-lg--pf-v6-c-accordion__expandable-content--FontSize
1rem
.pf-v6-c-accordion.pf-m-display-lg--pf-v6-c-accordion__expandable-content--Color
(In light theme) #151515
.pf-v6-c-accordion.pf-m-bordered--pf-v6-c-accordion--RowGap
0
.pf-v6-c-accordion.pf-m-bordered--pf-v6-c-accordion__item--BorderRadius
0
.pf-v6-c-accordion.pf-m-bordered--pf-v6-c-accordion__toggle--BorderRadius
0
.pf-v6-c-accordion__item.pf-m-expanded--pf-v6-c-accordion__toggle--PaddingBlockEnd
0.5rem
.pf-v6-c-accordion__item.pf-m-expanded--pf-v6-c-accordion__toggle-text--FontWeight
500
.pf-v6-c-accordion__toggle:is(:hover, :focus)--pf-v6-c-accordion__toggle--BackgroundColor
(In light theme) rgba(199, 199, 199, 0.2500)
.pf-v6-c-accordion__expandable-content-body + .pf-v6-c-accordion__expandable-content-body--pf-v6-c-accordion__expandable-content-body--PaddingBlockStart
0