Card
Usage
Use markdown in the default slot of the card component to highlight your content.
Use the title, icon and color props to customize it. You can also pass any property from the <NuxtLink> component.
::card{title="Startup" icon="i-lucide-users" color="primary" to="https://nuxt.lemonsqueezy.com" target="_blank"}
Best suited for small teams, startups and agencies with up to 5 developers.
::
API
Props
| Prop | Default | Type |
|---|---|---|
to |
| |
target |
| |
icon |
| |
title |
| |
description |
| |
color |
|
|
ui |
|
Slots
| Slot | Type |
|---|---|
default |
|
title |
|
Theme
export default defineAppConfig({
ui: {
prose: {
card: {
slots: {
base: [
'group relative block my-5 p-4 sm:p-6 border border-default rounded-md bg-default',
'transition-colors'
],
icon: 'size-6 mb-2 block',
title: 'text-highlighted font-semibold',
description: 'text-[15px] text-muted *:first:mt-0 *:last:mb-0 *:my-1',
externalIcon: [
'size-4 align-top absolute right-2 top-2 text-dimmed pointer-events-none',
'transition-colors'
]
},
variants: {
color: {
primary: {
icon: 'text-primary'
},
secondary: {
icon: 'text-secondary'
},
success: {
icon: 'text-success'
},
info: {
icon: 'text-info'
},
warning: {
icon: 'text-warning'
},
error: {
icon: 'text-error'
},
neutral: {
icon: 'text-highlighted'
}
},
to: {
true: ''
},
title: {
true: {
description: 'mt-1'
}
}
},
compoundVariants: [
{
color: 'primary',
to: true,
class: {
base: 'hover:bg-primary/10 hover:border-primary',
externalIcon: 'group-hover:text-primary'
}
},
{
color: 'neutral',
to: true,
class: {
base: 'hover:bg-elevated/50 hover:border-inverted',
externalIcon: 'group-hover:text-highlighted'
}
}
],
defaultVariants: {
color: 'primary'
}
}
}
}
})
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import ui from '@nuxt/ui/vite'
export default defineConfig({
plugins: [
vue(),
ui({
ui: {
prose: {
card: {
slots: {
base: [
'group relative block my-5 p-4 sm:p-6 border border-default rounded-md bg-default',
'transition-colors'
],
icon: 'size-6 mb-2 block',
title: 'text-highlighted font-semibold',
description: 'text-[15px] text-muted *:first:mt-0 *:last:mb-0 *:my-1',
externalIcon: [
'size-4 align-top absolute right-2 top-2 text-dimmed pointer-events-none',
'transition-colors'
]
},
variants: {
color: {
primary: {
icon: 'text-primary'
},
secondary: {
icon: 'text-secondary'
},
success: {
icon: 'text-success'
},
info: {
icon: 'text-info'
},
warning: {
icon: 'text-warning'
},
error: {
icon: 'text-error'
},
neutral: {
icon: 'text-highlighted'
}
},
to: {
true: ''
},
title: {
true: {
description: 'mt-1'
}
}
},
compoundVariants: [
{
color: 'primary',
to: true,
class: {
base: 'hover:bg-primary/10 hover:border-primary',
externalIcon: 'group-hover:text-primary'
}
},
{
color: 'neutral',
to: true,
class: {
base: 'hover:bg-elevated/50 hover:border-inverted',
externalIcon: 'group-hover:text-highlighted'
}
}
],
defaultVariants: {
color: 'primary'
}
}
}
}
})
]
})