Search
Search components and blocks
Accordion
Open pageOne connected card with divider lines between rows instead of shadcn's underlined list — opening a row expands it in place rather than pushing a gap through the group. Content height animates to a measured pixel value rather than Motion's built-in 'auto' interpolation, which is what makes the reveal feel exact instead of janky.
type="multiple" instead of type="single" and each item opens independently.disabled to an AccordionItem and it becomes inert and dimmed.Install
Props
type"single" | "multiple"—collapsiblebooleanfalsevaluestring | string[]—defaultValuestring | string[]—onValueChange(value: string | string[]) => void—A dark, icon-led variant for support/FAQ sections — each row's icon pops up, tilts, and shifts to full color when its row opens, the trailing indicator morphs from a plus into a minus instead of rotating a chevron, and the open row's question bolds up while its answer blurs into focus and indents to sit under the question text rather than the icon.
Props
Leading iconeach question ships its own icon; it pops up, tilts, and shifts to full foreground color when its row opens, and nudges on hover—valuestring—defaultValuestringlast questiononValueChange(value: string) => void—Indicatora plus that morphs into a minus (two bars, the vertical one scales away) instead of a rotating chevron—Active questionbolds to full foreground color while its answer is open—Answer revealcontent blurs in from 6px alongside the height/opacity spring, instead of just fading—Answer alignmentindented to line up under the question text, not the icon—classNamestring—Bouncy Accordion
Open pageSeparate cards instead of one connected list, the round chevron flips with a bounce and squishes on press, while the height uses a softer spring so the answer glides open without jitter.
Install
Props
type"single" | "multiple"—collapsiblebooleanfalsevaluestring | string[]—defaultValuestring | string[]—onValueChange(value: string | string[]) => void—classNamestring—When to use the accordion
Use an accordion to keep long content scannable: FAQs, settings groups, step details. Items expand with a spring, and this page includes a FAQ accordion and a bouncy variant.
Run the shadcn CLI with the DitherUI accordion name. It is built on Radix, so each item is keyboard accessible.