Skip to content

AccordionLayout

Groups content into collapsible panels. Only one (or none) panel is open at a time by default.

AccordionLayout.builder()
.panels(List.of(
AccordionPanel.builder()
.summary(new Text("Section 1"))
.content(new Text("Content for section 1"))
.build(),
AccordionPanel.builder()
.summary(new Text("Section 2"))
.content(new Text("Content for section 2"))
.opened(true)
.build()
))
.build()
PropertyTypeDefaultDescription
idStringOptional component ID
panelsList<AccordionPanel>List of collapsible panels
variantAccordionLayoutVariantVisual style variant
styleStringInline CSS
cssClassesStringCSS class names
PropertyTypeDefaultDescription
summaryComponentPanel header / toggle trigger
contentComponentCollapsible panel body
openedbooleanfalseWhether this panel is initially expanded
AccordionLayout.builder()
.panels(List.of(
AccordionPanel.builder()
.summary(new HorizontalLayout(new Icon(IconKey.Form), new Text("Personal data")))
.content(personalDataForm)
.opened(true)
.build(),
AccordionPanel.builder()
.summary(new Text("Address"))
.content(addressForm)
.build()
))
.build()