BlogPlaygroundOne

VCard API


Props
name
type
default
string
undefined

Appends a v-avatar component after default content in the append slot.

  | string
  | (string | [string, number])[]
  | (new () => any)
  | FunctionalComponent
undefined

Creates a v-icon component after default content in the append slot.

string | number | boolean
false

Applies utility border classes to the component. To use it, you need to omit the border- prefix, (for example use border-sm as border="sm"). Find a list of the built-in border classes on the borders page.

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.

'default' | 'comfortable' | 'compact'
'default'

Adjusts the vertical height used by the component.

boolean
false

Removes the ability to click or target the component.

string | number
undefined

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

boolean
false

Exactly match the link. Without this, ‘/’ will match every route. You can find more information about the exact prop on the vue-router documentation.

boolean
false

Removes the card’s elevation.

string | number
undefined

Sets the height for the component.

boolean
false

Applies 3dp (level 2) of elevation when hovered (default 1dp). You can find more information on the elevation page.

string
undefined

Designates the component as anchor and applies the href attribute.

string
undefined

Apply a specific background image to the component.

boolean
undefined

Designates that the component is a link. This is automatic when using the href or to prop.

string | boolean
false

Displays linear progress bar. Can either be a String which specifies which color is applied to the progress bar (any material color or theme color - primary, secondary, success, info, warning, error) or a Boolean which uses the component color (set by color prop - if it’s supported by the component) or the primary color.

Anchor
undefined

Specifies the component’s location. Can combine by using a space separated string.

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.

'fixed' | 'static' | 'relative' | 'absolute' | 'sticky'
undefined

Sets the position for the component.

string
undefined

Prepends a v-avatar component in the prepend slot before default content.

  | string
  | (string | [string, number])[]
  | (new () => any)
  | FunctionalComponent
undefined

Prepends a v-icon component to the header.

boolean
false

Setting replace prop will call router.replace() instead of router.push() when clicked, so the navigation will not leave a history record. You can find more information about the replace prop on the vue-router documentation.

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

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 | number | boolean
undefined

Specify a subtitle text for the component.

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

Specify a custom tag used on the root element.

string | number | boolean
undefined

Specify content text for the component.

string
undefined

Specify a theme for this component and all of its children.

boolean
false

Removes any applied border-radius from the component.

string | number | boolean
undefined

Specify a title text for the component.

string | RouteLocationAsRelativeGeneric | RouteLocationAsPathGeneric
undefined

Denotes the target route of the link. You can find more information about the to prop on the vue-router documentation.

'text' | 'flat' | 'elevated' | 'tonal' | 'outlined' | 'plain'
'elevated'

Applies a distinct style to the component.

string | number
undefined

Sets the width for the component.

Slots
never
never
never
never
never
{ color: string; isActive: boolean }
never
never
never
never

The slot used for the card actions; located at the bottom of the card.

Adds an item inside the input and after input content.

The default Vue slot.

The slot used for the card image. This is used with the image prop.

Define a custom item appearance.

Slot for custom loader (displayed when loading prop is equal to true).

Adds an item outside the input and before input content.

Slot for the component’s subtitle content.

Slot for the component’s text content.

Slot for the component’s title content.

SASS Variables
name
default
.5rem
none
52px
.5rem
.5rem
flex-start
0
.5rem 1rem
rgb(var(--v-theme-surface))
(
  $card-border-color,
  $card-border-style,
  $card-border-width,
  $card-border-thin-width
)
settings.$border-color-root
settings.$border-radius-root
settings.$border-style-root
thin
0
tools.theme-color('on-surface', var(--v-high-emphasis-opacity))
0.6
1
none
3
1 1 auto
center
.625rem 1rem
auto
0
break-word
0
.62
absolute fixed
.5rem
tools.theme-color('on-surface', var(--v-medium-emphasis-opacity))
1.125rem
1rem
map.merge((
  null: $card-subtitle-line-height,
  'comfortable': $card-subtitle-comfortable-line-height,
  'compact': $card-subtitle-compact-line-height
), $card-subtitle-density-line-height)
none
tools.map-deep-get(settings.$typography, 'body-medium', 'size')
tools.map-deep-get(settings.$typography, 'body-medium', 'weight')
0 0 .25rem
tools.map-deep-get(settings.$typography, 'body-medium', 'letter-spacing')
tools.map-deep-get(settings.$typography, 'body-medium', 'line-height')
var(--v-card-subtitle-opacity, var(--v-medium-emphasis-opacity))
hidden
0 1rem
ellipsis
none
nowrap
1.2rem
1.15rem
map.merge((
  null: $card-text-line-height,
  'comfortable': $card-text-comfortable-line-height,
  'compact': $card-text-compact-line-height
), $card-text-density-line-height)
1 1 auto
tools.map-deep-get(settings.$typography, 'body-medium', 'size')
tools.map-deep-get(settings.$typography, 'body-medium', 'weight')
tools.map-deep-get(settings.$typography, 'body-medium', 'letter-spacing')
tools.map-deep-get(settings.$typography, 'body-medium', 'line-height')
var(--v-card-text-opacity, 1)
1rem
1rem
none
1.75rem
1.55rem
map.merge((
  null: $card-title-line-height,
  'comfortable': $card-title-comfortable-line-height,
  'compact': $card-title-compact-line-height
), $card-title-densities)
none
tools.map-deep-get(settings.$typography, 'title-large', 'size')
tools.map-deep-get(settings.$typography, 'title-large', 'weight')
0
auto
tools.map-deep-get(settings.$typography, 'title-large', 'letter-spacing')
tools.map-deep-get(settings.$typography, 'title-large', 'line-height')
hidden
normal
.5rem 1rem
1rem
ellipsis
none
nowrap
normal
break-word
0.28s
box-shadow, opacity, background, --v-elevation-overlay
settings.$standard-easing
(
  $card-background,
  $card-color,
  $card-elevation,
  $card-plain-opacity,
  'v-card'
)