1. framework components
  2. collapsible

Collapsible

A container that can be expanded or collapsed to show or hide content.

Controlled

Control the active state of the component.

Indicator

Add a visual indicator to the toggle button.

Disabled

Set the disabled state for the component.

Alignment

Control the position and alignment of the trigger and content.

Direction

Set the text direction (ltr or rtl) using the dir prop.

API Reference

Root

txt
w-full data-[state=open]:space-y-2
PropDefaultType
idsPartial<{ root: string; content: string; trigger: string; }> | undefined

The ids of the elements in the collapsible. Useful for composition.

openboolean | undefined

The controlled open state of the collapsible.

defaultOpenboolean | undefined

The initial open state of the collapsible when rendered. Use when you don't need to control the open state of the collapsible.

onOpenChange((details: OpenChangeDetails) => void) | undefined

The callback invoked when the open state changes.

onExitCompleteVoidFunction | undefined

The callback invoked when the exit animation completes.

disabledboolean | undefined

Whether the collapsible is disabled.

collapsedHeightstring | number | undefined

The height of the content when collapsed.

collapsedWidthstring | number | undefined

The width of the content when collapsed.

getRootNode(() => ShadowRoot | Node | Document) | undefined

A root node to correctly resolve document in custom environments. E.x.: Iframes, Electron.

dir"ltr""ltr" | "rtl" | undefined

The document's text/writing direction.

element((attributes: HTMLAttributes<"div">) => Element) | undefined

Render the element yourself

Provider

PropDefaultType
valueCollapsibleApi<PropTypes>

element((attributes: HTMLAttributes<"div">) => Element) | undefined

Render the element yourself

Context

PropDefaultType
children(collapsible: CollapsibleApi<PropTypes>) => ReactNode

Trigger

txt
data-disabled:opacity-50 data-disabled:pointer-events-none
PropDefaultType
element((attributes: HTMLAttributes<"button">) => Element) | undefined

Render the element yourself

Indicator

PropDefaultType
element((attributes: HTMLAttributes<"div">) => Element) | undefined

Render the element yourself

Content

PropDefaultType
element((attributes: HTMLAttributes<"div">) => Element) | undefined

Render the element yourself

View page on GitHub