BlogPlaygroundOne

VExpansionPanel API


Props
name
type
default
string
undefined

Applies specified color to the control’s background. Used on components that also support the color prop. - supports utility colors with or without bg- prefix (for example success, purple or bg-purple) or CSS color (#033 or rgba(255, 0, 0, 0.5)). Find a list of built-in classes on the colors page.

  | string
  | (string | [string, number])[]
  | (new () => any)
  | FunctionalComponent
'$collapse'

Icon used when the expansion panel is in a collapsable state.

string
undefined

Applies specified color to the control - supports utility colors with or without text- prefix (for example success, purple or text-purple) or CSS color (#033 or rgba(255, 0, 0, 0.5)). Find a list of built-in classes on the colors page.

boolean
false

Disables the expansion-panel content.

boolean
false

Forces the component’s content to render when it mounts. This is useful if you have content that will not be rendered in the DOM that you want crawled for SEO.

string | number
undefined

Designates an elevation applied to the component between 0 and 5. You can find more information on the elevation page.

  | string
  | (string | [string, number])[]
  | (new () => any)
  | FunctionalComponent
'$expand'

Icon used when the expansion panel is in a expandable state.

boolean
false

Makes the expansion panel content focusable.

string | number
undefined

Sets the height for the component.

boolean
false

Hide the expand icon in the content title.

string | number
undefined

Sets the maximum height for the component.

string | number
undefined

Sets the maximum width for the component.

string | number
undefined

Sets the minimum height for the component.

string | number
undefined

Sets the minimum width for the component.

boolean
false

Makes the expansion panel content read only.

boolean | { class: string; keys: string[] }
false

Applies the v-ripple directive.

string | number | boolean
undefined

Designates the border-radius applied to the component. This can be 0, xs, sm, true, lg, xl, pill, circle, and shaped. Find more information on available border radius classes on the Border Radius page.

string
undefined

Configure the active CSS class applied when an item is selected.

boolean
false

Remove title size expansion when selected.

string | (new () => any) | FunctionalComponent
'div'

Specify a custom tag used on the root element.

string
undefined

Specify content text for the component.

boolean
false

Removes any applied border-radius from the component.

string
undefined

Specify a title text for the component.

any
undefined

Controls the opened/closed state of content.

string | number
undefined

Sets the width for the component.

Events
name
type
[{ value: boolean }]

Event that is emitted when an item is selected within a group.

Slots
never
never
never

The default Vue slot.

Slot for the component’s text content.

Slot for the component’s title content.

Exposed
{ id: string isSelected: boolean isFirst: boolean isLast: boolean toggle: () => void select: (value: boolean) => void selectedClass: false | (string | undefined)[] value: unknown disabled: boolean | undefined group: { register: (item: GroupItem, cmp: ComponentInternalInstance) => void unregister: (id: string) => void select: (id: string, value: boolean) => void selected: readonly string[] isSelected: (id: string) => boolean prev: () => void next: () => void selectedClass: string | undefined items: { id: string; value: unknown; disabled: boolean | undefined }[] disabled: boolean | undefined getItemIndex: (value: unknown) => number } register: () => void unregister: () => void }

The current expansion panel within the group in <v-expansion-panels>.

SASS Variables
name
default
16px
64px
rgb(var(--v-theme-surface))
rgba(var(--v-border-color), var(--v-border-opacity))
settings.$border-radius-root
tools.theme-color('on-surface', var(--v-high-emphasis-opacity))
tools.theme-color('on-surface', $expansion-panel-disabled-opacity)
0.26
0.12
calc(100% - #{$expansion-panel-active-margin * 2})
100%
calc(100% + #{$expansion-panel-active-margin})
calc(100% - #{$expansion-panel-active-margin * 2})
8px 24px 16px
0.9375rem
48px
16px 24px