Back to Supabase

Collapsible

apps/design-system/content/docs/components/collapsible.mdx

1.26.081.3 KB
Original Source

Collapsible is a low-level primitive for revealing and hiding related content. Use it when a component needs custom trigger or content composition.

Use Collapsible for generic disclosure behaviour: rows, sections, menus, tool details, and custom layouts. Use Collapsible Alert instead when the disclosure is an alert-styled callout that should keep standard alert padding, variants, trigger styling, and toggle treatment.

<ComponentPreview name="collapsible-demo" peekCode wide />

Usage

tsx
import {
  Collapsible,
  CollapsibleContent,
  CollapsibleTrigger,
} from 'ui/src/components/shadcn/ui/collapsible'
tsx
<Collapsible>
  <CollapsibleTrigger>Toggle</CollapsibleTrigger>
  <CollapsibleContent>
    <p>Content revealed when expanded.</p>
  </CollapsibleContent>
</Collapsible>

Default open

tsx
<Collapsible defaultOpen>
  <CollapsibleTrigger>Details</CollapsibleTrigger>
  <CollapsibleContent>
    <p>This section is expanded by default.</p>
  </CollapsibleContent>
</Collapsible>

Animation

Add animation classes to CollapsibleContent when animated open and close transitions are needed.

tsx
<CollapsibleContent className="data-closed:animate-collapsible-up data-open:animate-collapsible-down">
  <p>Content revealed when expanded.</p>
</CollapsibleContent>