One coherent interface language
The component preserves keyboard behavior, clear state, and calm visual hierarchy.
A platform-native single-open disclosure group with animated indicators.
The component preserves keyboard behavior, clear state, and calm visual hierarchy.
The command adds the component source and its DesignOS base dependency.
pnpm dlx shadcn@latest add https://designos.h4rithd.com/r/accordion.jsonimport * as React from "react"
import { ChevronDown } from "lucide-react"
import { clsx as cn } from "clsx"
import "@/components/designos/designos.css"
export type AccordionItem = { id: string; title: React.ReactNode; content: React.ReactNode }
export function Accordion({ items, className }: { items: AccordionItem[]; className?: string }) {
return <div className={cn("dos-accordion", className)}>{items.map((item) => <details key={item.id} name="designos-accordion"><summary>{item.title}<ChevronDown aria-hidden="true" /></summary><div className="dos-accordion__content">{item.content}</div></details>)}</div>
}