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
idString—Optional component ID
panelsList<AccordionPanel>—List of collapsible panels
variantAccordionLayoutVariant—Visual style variant
styleString—Inline CSS
cssClassesString—CSS class names
PropertyTypeDefaultDescription
summaryComponent—Panel header / toggle trigger
contentComponent—Collapsible 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()