sheengemologic ui
All components

Collapsible

A native disclosure button with persistent, inert-when-closed content.@gemologic/sheen · navigation

Playground

This example has no scalar controls. Its validated source remains interactive below.
<Collapsible label="Advanced settings"><Input label="Timeout" /></Collapsible>

Variant matrix

Advanced settings

Anatomy

Package
@gemologic/sheen
Source
packages/ui/src/primitives/Collapsible.tsx
Tokens
  • --sheen-color-fg-muted
  • --sheen-space-block-sm
  • --sheen-duration-normal
  • --sheen-ease-standard

Accessibility

Role: button with aria-expanded and aria-controlsKeyboard: Tab, Shift+Tab, Enter, Space

Do

  • Keep a stable disclosure owner while its content refreshes.
  • Use independent disclosures for independent sections.

Do not

  • Do not use a disclosure as a substitute for route navigation.
  • Do not put interactive elements inside its label.

Generated props

NameTypeDefaultDescription
label *stringVisible disclosure-button label.
openbooleanApp-owned expanded state; owners may reject requested changes.
defaultOpenbooleanfalseInitial uncontrolled expanded state, including SSR.
onOpenChange(open: boolean) => voidRequested expanded-state changes.
disabledbooleanfalseDisables user activation without hiding already expanded content.
Native Solid/HTML attributes remain available and are omitted from this authored-prop view.