Skip to content

Collapsible ​

Single disclosure runtime: Root owns open, Trigger toggles, Content shows by state.

Runtime ​

State contracts come from @varo-ui/headless; rendered parts come from @varo-ui/h5/primitives or @varo-ui/weapp/primitives.

Demo ​

Package@varo-ui/headless

Basic usage ​

Use the Demo panel above to switch H5 and Weapp primitive preview/code; each runtime renders only the current entry.

Controlled open ​

Use v-model:open when routing/analytics need ownership; height animation stays in UI wrappers.

Parts ​

PartPurpose
CollapsibleRootOpen state
CollapsibleTriggerToggle entry
CollapsibleContentExpandable content

Props ​

PropTypeDefaultDescription
openboolean | undefinedundefinedControlled open state
defaultOpenbooleanfalseUncontrolled initial state
disabledbooleanfalseDisabled
asstring'div'Root element tag

Events ​

EventPayloadDescription
update:openbooleanControlled sync
openChangebooleanOpen change

Accessibility ​

  • Trigger controls open.
  • Disabled state does not toggle.

Platform notes

  • Both runtimes share the open contract.
  • Motion stays outside the primitive. :::