Collapsible

Show/hide a single block of content. A simpler primitive than Accordion when you do not need multiple panels or item-level state.

Default

Single togglable block.

Dark previewReplay previewOpen in new tab

Show shipping details

Usage

Import the parts you need from the component's folder.

ts
import { Collapsible, CollapsibleTrigger, CollapsibleContent } from "@/components/ui/collapsible";

Basic

The classic pattern: a summary row stays visible while the rest tucks behind a ghost icon trigger.

Dark previewReplay previewOpen in new tab

@peduarte starred 3 repositories

@radix-ui/primitives

Settings card

Reveal advanced options inside a card. The trigger row flips a chevron as it opens.

Dark previewReplay previewOpen in new tab

File tree

Nest collapsibles to build a disclosure tree with folders and files.

Dark previewReplay previewOpen in new tab
App.vue
main.ts

Controlled

Drive open state externally with v-model:open.

Dark previewReplay previewOpen in new tab

Disabled

Set disabled to lock the block so the trigger cannot toggle it.

Dark previewReplay previewOpen in new tab

Locked section

API Reference

Collapsible

PropTypeDefaultDescription
openbooleanfalseOpen state. Supports v-model:open.
defaultOpenbooleanfalseInitial open state when v-model is not used.
disabledbooleanfalsePrevent toggling.
EventDescription
update:openFires when the open state changes. Enables v-model:open.
SlotDescription
defaultScoped slot exposing { open } alongside the trigger and content.

CollapsibleTrigger

PropTypeDefaultDescription
asChildbooleanfalseMerge props onto the child element. Forwards to reka-ui CollapsibleTrigger.
SlotDescription
defaultThe element that toggles the panel.

CollapsibleContent

PropTypeDefaultDescription
forceMountbooleanfalseKeep content mounted while collapsed. Forwards to reka-ui CollapsibleContent.
SlotDescription
defaultContent revealed when open.