Documentation

Asgard

Getting started

Theming

Guides

Layout

Docking

Inputs & forms

Button

Switch

Checkbox

Radio

Select

Slider

TextBox

Upload

ImageCropper

Pickers

Color picker

Calendar

Time picker

DateTime input

Data display

Card

Accordion

Typography

Progress

DataTable

TreeView

SyntaxColor

MarkdownRenderer

Terminal

Layout & docking

Grid

Splitter

SDiv

Dock

Theme switcher

Media query

Feedback & overlays

Alert

Toast

Tooltip

Popups

Drawer

FloatingPanel

FloatingWindow

Navigation & chrome

Breadcrumb

Stepper

Toolbar

Ribbon

ContextMenu

FeatureTour

Documentation

Asgard

Getting started

Theming

Guides

Layout

Docking

Inputs & forms

Button

Switch

Checkbox

Radio

Select

Slider

TextBox

Upload

ImageCropper

Pickers

Color picker

Calendar

Time picker

DateTime input

Data display

Card

Accordion

Typography

Progress

DataTable

TreeView

SyntaxColor

MarkdownRenderer

Terminal

Layout & docking

Grid

Splitter

SDiv

Dock

Theme switcher

Media query

Feedback & overlays

Alert

Toast

Tooltip

Popups

Drawer

FloatingPanel

FloatingWindow

Navigation & chrome

Breadcrumb

Stepper

Toolbar

Ribbon

ContextMenu

FeatureTour

Data display

Progressively disclose content.

Collapsible accordion panel with smooth expand/collapse animations.

Key features:

  • Controlled (expanded) and uncontrolled (defaultExpanded) modes
  • Variants: plain, outlined, filled
  • Semantic colors, optional icons, and elevation shadows
  • Compose multiple panels with AccordionGroup for exclusive mode
Loading preview…
When to use it
  • FAQs and help content
  • Grouped settings sections
  • Collapsible detail panels
  • One-open-at-a-time vs allow-multiple groups
Properties
PropTypeDefaultDescription
titlestringHeader title text
childrenReactNodeContent revealed when expanded
expandedbooleanControlled expanded state
defaultExpandedbooleanfalseInitial expanded state (uncontrolled)
onChange(expanded: boolean) => voidCalled when expand/collapse state changes The handler receives the new value directly, NOT a DOM event (write onChange={(v) => setX(v)}, not e.target.value).
variant'plain' | 'outlined' | 'filled''plain'Visual style
type'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'info''primary'Semantic color type
disabledbooleanfalseDisable expand/collapse interaction
elevationbooleanfalseAdd a subtle box shadow
iconReactNodeCustom icon displayed in the header
summaryReactNodeAdditional summary content in the header
Notes
  • Compose multiple Accordion components in an AccordionGroup; set allowMultiple to keep more than one open at once.
  • The filled variant uses the semantic color as background.
Presets