shadcn.io is an independent project built on shadcn/ui
A Settings heading sits beside a muted expand control in brackets. It reveals Option 1, Option 2, and Option 3, each in a bordered row.
Use it on a dense settings page where a button would be too loud. If the control needs an icon, use a Button as the trigger. In Svelte, Ark UI does not remember that Settings was expanded.
Installation
Anatomy

Usage
<Collapsible class="flex w-full max-w-lg flex-col gap-2"><div class="flex items-center gap-2"><h4 class="font-semibold text-sm">Settings</h4><CollapsibleTrigger aria-label="Expand settings" class="text-muted-foreground text-sm underline-offset-4 hover:underline">[expand]</CollapsibleTrigger></div><CollapsibleContent class="flex flex-col gap-2">{#each options as option (option)}<div class="rounded-md border px-4 py-2 text-sm">{option}</div>{/each}</CollapsibleContent></Collapsible>FAQ
Does the Settings heading toggle the list?
No. The h4 sits beside the trigger in a flex items-center gap-2 row, and only [expand] toggles the options.
How is the expand control styled?
text-muted-foreground text-sm, with hover:underline and underline-offset-4. It has aria-label="Expand settings", so screen readers hear what it expands rather than the brackets.
How are Option 1, Option 2, and Option 3 drawn?
Each is a div with rounded-md border px-4 py-2 text-sm, from the options list at the top of the file. CollapsibleContent is a flex flex-col gap-2 column.
API Reference
Collapsible
Sets aria-label="Expand settings". The rest is on the Collapsible page.




