Skip to content

Expansion ​

The ue-expansion component is a single-panel wrapper around Vuetify's v-expansion-panels. Use it when you need one collapsible section with an optional action icon in the header.

Usage ​

html
<ue-expansion title="Details" :model-value="true">
  <p>Content goes here.</p>
</ue-expansion>

Props ​

PropTypeDefaultDescription
modelValueBooleantrueWhether the panel starts expanded
titleString''Panel header text
multipleBooleanfalseAllow multiple panels open simultaneously (forwarded to v-expansion-panels)
readonlyBooleanfalsePrevent the panel from being toggled
hasActionsBooleanfalseShow a custom chevron icon in the header actions slot
expandedIconString'mdi-chevron-down'Icon shown when the panel is expanded
collapsedIconString'mdi-chevron-up'Icon shown when the panel is collapsed

Slots ​

SlotDescription
defaultBody content rendered inside the expansion panel

Examples ​

html
<!-- Collapsed by default -->
<ue-expansion title="Advanced Settings" :model-value="false">
  <!-- settings inputs -->
</ue-expansion>

<!-- Read-only (always expanded, not togglable) -->
<ue-expansion title="System Info" readonly>
  <ue-property-list :data="systemInfo" />
</ue-expansion>

<!-- Custom action icons -->
<ue-expansion title="Notifications" has-actions expanded-icon="mdi-bell" collapsed-icon="mdi-bell-off">
  <!-- notification settings -->
</ue-expansion>

vs Collapsible

ue-expansion is backed by Vuetify's v-expansion-panels and follows its styling system. ue-collapsible is a lighter custom component with more layout control (borders, padding, dense mode). For simple single-section toggles in forms or cards, either works; prefer ue-collapsible when you need more styling control.