FAQ Tabbed Grid
BlockFrequently asked questions in category tabs, each category a grid of always-visible answers.
- Sections
- 1 components
- 1 file
Loading the example…
pnpm dlx @dowel-ui/cli add faq-tabbed-gridimport { DEFAULT } from "@/components/blocks/faq-tabbed-grid"; export default function Page() { return <DEFAULT />;}<FaqTabbedGridBlock>
| Prop | Type | Default |
|---|---|---|
categories | FaqTabbedGridCategory[] | DEFAULT_FAQ_TABBED_GRID_CATEGORIES |
categoriesLabelAccessible name of the tab list. | string | "Question categories" |
defaultValueInitial category id when uncontrolled. Defaults to the first. | string | — |
description | ReactNode | "Quick, complete answers to common questions about the platform, its services and its features." |
heading | ReactNode | "FAQs" |
headingLevelLevel of the section heading. Questions are the list's terms ( | 1 | 2 | 3 | 4 | 5 | 6 | 2 |
onValueChange | (value: string) => void | — |
valueControlled active category id. | string | — |
Plus every attribute of <section> except title, defaultValue.
Categories are real tabs (a named tablist, arrow keys, one panel each) whose underline slides between them. Each panel is a description list — questions as terms, answers as details — so the pairing is announced. Icons are decorative. The staggered rise of a newly shown panel collapses to nothing under reduced motion.