Collapsible sections on Radix Accordion — one open (default) or many.
Anatomy
┌─ Fees ────────────────── ▾ ┐ ← Trigger (h-min 44px, chevron ├────────────────────────────┤ rotates 180° when open) │ 0.25% taker · 0.10% maker │ ← Content (height-animated) ├─ Route details ──────── ▾ ┤ └────────────────────────────┘ ← items divided by outline-variant
Props
| Prop | Type | Default | Notes | |
|---|---|---|---|---|
items | AccordionItem[] | — | { value, title, content } per section. | |
type | "single" | "multiple"` | "single" | Single is collapsible (all can close). |
className | string | — | cn-merged onto the root. |
Motion
Open/close animates height via --radix-accordion-content-height
(settle curve, ~180ms); the chevron rotates over 150ms. Neutralized by
prefers-reduced-motion.
A11y
Radix wiring: triggers are real buttons with aria-expanded +
aria-controls; panels are regions labelled by their trigger. Keyboard:
↑/↓ move between triggers, Home/End jump, Enter/Space toggle. The
chevron is aria-hidden — state is conveyed by aria-expanded, not the
glyph.