Skip to content

Collapsible ​

The ue-collapsible component wraps any content in a togglable panel with a clickable header and Vuetify's expand transition. It supports v-model for controlled open/close state.

Usage ​

html
<ue-collapsible title="Advanced Options">
  <p>Hidden content shown when expanded.</p>
</ue-collapsible>

Props ​

PropTypeDefaultDescription
modelValueBooleanfalseControls open/closed state (use with v-model)
titleString''Header text. Can be replaced by the title slot
borderedBooleanfalseAdd a border and rounded corners around the component
elevatedBooleanfalseAdd a subtle box shadow
denseBooleanfalseApply compact spacing
noHeaderBackgroundBooleanfalseRemove the default faint header background
noCollapseBooleanfalseDisable toggling — content is always visible
horizontalPaddingNumber4Vuetify spacing scale for horizontal padding
verticalPaddingNumber3Vuetify spacing scale for vertical padding
colorString'primary'Reserved for future use

Events ​

EventPayloadDescription
update:modelValueBooleanEmitted when open state changes
open—Emitted when the panel opens
close—Emitted when the panel closes

Slots ​

SlotDescription
defaultThe collapsible body content
titleReplaces the header text with custom markup

Examples ​

html
<!-- Controlled with v-model -->
<ue-collapsible v-model="showDetails" title="Details" bordered>
  <ue-property-list :data="item" />
</ue-collapsible>

<!-- Always open (no-collapse) -->
<ue-collapsible title="Notes" no-collapse elevated>
  <p>{{ item.notes }}</p>
</ue-collapsible>

<!-- Custom title slot -->
<ue-collapsible bordered>
  <template #title>
    <v-icon class="mr-2">mdi-filter</v-icon> Filters
  </template>
  <!-- filter inputs -->
</ue-collapsible>