120k

Collapsible

An interactive component which expands/collapses a panel.

Installation

pnpm dlx shadcn@latest add @force-ui-ember/collapsible

Usage

import {
  Collapsible,
  CollapsibleContent,
  CollapsibleTrigger,
} from '@/ui/collapsible';
<Collapsible>
  <CollapsibleTrigger>
    Can I use this in my project?
  </CollapsibleTrigger>
  <CollapsibleContent>
    Yes. Free to use for personal and commercial projects. No attribution
    required.
  </CollapsibleContent>
</Collapsible>

Composition

Use the following composition to build a Collapsible:

Collapsible
├── CollapsibleTrigger
└── CollapsibleContent

Controlled State

Use @open and @onOpenChange to control the state.

import Component from '@glimmer/component';
import { tracked } from '@glimmer/tracking';
import {
  Collapsible,
  CollapsibleContent,
  CollapsibleTrigger,
} from '@/ui/collapsible';
 
export default class Example extends Component {
  @tracked open = false;
 
  setOpen = (value: boolean) => {
    this.open = value;
  };
 
  <template>
    <Collapsible @open={{this.open}} @onOpenChange={{this.setOpen}}>
      <CollapsibleTrigger>Toggle</CollapsibleTrigger>
      <CollapsibleContent>Content</CollapsibleContent>
    </Collapsible>
  </template>
}

Examples

Basic

Settings Panel

Use a trigger button to reveal additional settings.

File Tree

Use nested collapsibles to build a file tree.

RTL

To enable RTL support in Force UI, see the RTL configuration guide.

API Reference

See the Radix UI documentation for more information.