GFA Design System is still in development; component APIs and styles may change in upcoming releases.

Ask a Question
Language

Accordion (FAQ)

Stacked disclosure rows with bouncy spring motion—single or multi-open—for FAQs and policy lists.

Preview & code

GFA Studio CLI · Coming soon

Installation

CLI

GFA Studio CLI — Coming soon

The `npx gfa-studio` installer is not published yet. Use Manual install below or download the artifact JSON.

Artifact JSON
https://ui.gkhn.dev/gfa/accordion-list.json

Manual

  1. Download the component source from https://ui.gkhn.dev/gfa/accordion-list.json (or copy from this repo: apps/web/src/blocks/gfa/accordion-list.tsx).
  2. Place it in your project (for example: ./src/blocks/gfa/accordion-list.tsx) and adjust imports/aliases.
  3. Ensure cn from @/lib/utils exists.
  4. Theme tokens and utilities should align with globals.css.

Step-by-step getting started guide →

Dependencies

Uses Motion (motion/react) for panel height and chevron rotation. Client-only; bring your own copy and item ids.

Props

PropTypeDefaultDescription
itemsAccordionListItem[]Rows to render; each needs a stable string id, title, and content (React node) for the expanded body.
type"single" | "multiple""single"single keeps one panel open at a time; multiple allows several open rows.
defaultOpenIdsstring[]Optional ids that start expanded (uncontrolled initial state).
classNamestringExtra classes merged onto the outer list wrapper (e.g. max width).

Release note

Published
12 May 2026, 21:00(Türkiye — Ankara, Europe/Istanbul)
Last updated
12 May 2026, 18:30(Türkiye — Ankara, Europe/Istanbul)

Instants are stored as UTC (ISO) in the repo; above are the same moments in Türkiye local time. Ankara uses the Europe/Istanbul zone (same offset as İstanbul and the rest of the country).