DS0
Components

Collapsible

A show/hide container for expandable content.

Overview

Collapsible provides a simple disclosure pattern — a trigger that toggles the visibility of its content section. Supports both controlled and uncontrolled modes with smooth height animations.

Usage

<Collapsible>
  <Collapsible.Trigger>Toggle Details</Collapsible.Trigger>
  <Collapsible.Content>
    <p>Hidden content revealed on toggle.</p>
  </Collapsible.Content>
</Collapsible>

Controlled

const [open, setOpen] = useState(false);

<Collapsible open={open} onOpenChange={setOpen}>
  <Collapsible.Trigger>
    {open ? 'Hide' : 'Show'} Details
  </Collapsible.Trigger>
  <Collapsible.Content>
    <p>Controlled collapsible content.</p>
  </Collapsible.Content>
</Collapsible>

Accessibility

KeyAction
Enter / SpaceToggles content visibility
  • Trigger has aria-expanded attribute
  • Content has aria-hidden when collapsed

API Reference

PropTypeDefaultDescription
openbooleanControlled open state
onOpenChange(open: boolean) => voidOpen state callback
defaultOpenbooleanfalseInitial open state
ComponentWhen to Use Instead
AccordionMultiple collapsible sections
DialogContent that overlays the page

On this page