Accordion
Molecule
A vertically stacked group of disclosure rows: each items entry is a header (its title plus a chevron that rotates when the row opens) over a collapsible content panel.
Playground
Every control sets a real prop of AccordionProps. The JSX below updates as you go.
Web
iOS
Android
JSX · AccordionProps
Variants
6 examples from src/molecules/accordion/accordion.md, each rendered live from its own JSX.
States
Hover, focus and press are pinned so they can be compared side by side; the rest are real props.
Anatomy
1
Item
2
Header
3
Chevron
4
Panel
Dimmed parts appear only in some states or variants.
Props
12 props on AccordionProps, grouped as they are declared in source. Required props are marked *.
Accessibility and keyboard
Keyboard
Enter
Space
Expands or collapses
ArrowUp
ArrowDown
Moves between headers
Home
End
First · last header
Semantics
Roles
button
States
disabled
expanded
ARIA on web
aria-expanded
Platform skins
The playground's props on each platform: same tree, native shapes, type and touch sizes.
Usage
Single-open by default (opening one row closes the others); pass multiple to let any number stay open. Open state is controlled (value + onValueChange) or uncontrolled (defaultValue). An item's description adds a muted secondary line under its title; card wraps the whole group in an outlined card surface on web and Android (on iOS the default look already is the inset-grouped card, so card is a no-op there).
Tokens
Read from the playground render. Values follow the scheme and the ion hue.
--fd
--ft
--ln
--sf
--tx2
--tx3