PageFeaturePRO
A component to showcase key features of your application.
Usage
The PageFeature component is used by the PageSection component to display features.
Title
Use the title
prop to set the title of the feature.
Theme
<template>
<UPageFeature title="Theme" />
</template>
Description
Use the description
prop to set the description of the feature.
Theme
Customize Nuxt UI with your own colors, fonts, and more.
<template>
<UPageFeature
title="Theme"
description="Customize Nuxt UI with your own colors, fonts, and more."
/>
</template>
Icon
Use the icon
prop to set the icon of the feature.
Theme
Customize Nuxt UI with your own colors, fonts, and more.
<template>
<UPageFeature
title="Theme"
description="Customize Nuxt UI with your own colors, fonts, and more."
icon="i-lucide-swatch-book"
/>
</template>
Link
You can pass any property from the <NuxtLink>
component such as to
, target
, rel
, etc.
<template>
<UPageFeature
title="Theme"
description="Customize Nuxt UI with your own colors, fonts, and more."
icon="i-lucide-swatch-book"
to="/getting-started/theme"
target="_blank"
/>
</template>
Orientation
Use the orientation
prop to change the orientation of the feature. Defaults to horizontal
.
Theme
Customize Nuxt UI with your own colors, fonts, and more.
<template>
<UPageFeature
orientation="vertical"
title="Theme"
description="Customize Nuxt UI with your own colors, fonts, and more."
icon="i-lucide-swatch-book"
/>
</template>
API
Props
Prop | Default | Type |
---|
Slots
Slot | Type |
---|
Theme
app.config.ts
export default defineAppConfig({
uiPro: {
pageFeature: {
slots: {
root: 'relative',
wrapper: '',
leading: 'inline-flex items-center justify-center',
leadingIcon: 'size-5 shrink-0 text-primary',
title: 'text-base text-pretty font-semibold text-highlighted',
description: 'text-[15px] text-pretty text-muted'
},
variants: {
orientation: {
horizontal: {
root: 'flex items-start gap-2.5',
leading: 'p-0.5'
},
vertical: {
leading: 'mb-2.5'
}
},
title: {
true: {
description: 'mt-1'
}
}
}
}
}
})
vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import ui from '@nuxt/ui/vite'
export default defineConfig({
plugins: [
vue(),
ui({
uiPro: {
pageFeature: {
slots: {
root: 'relative',
wrapper: '',
leading: 'inline-flex items-center justify-center',
leadingIcon: 'size-5 shrink-0 text-primary',
title: 'text-base text-pretty font-semibold text-highlighted',
description: 'text-[15px] text-pretty text-muted'
},
variants: {
orientation: {
horizontal: {
root: 'flex items-start gap-2.5',
leading: 'p-0.5'
},
vertical: {
leading: 'mb-2.5'
}
},
title: {
true: {
description: 'mt-1'
}
}
}
}
}
})
]
})
vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import uiPro from '@nuxt/ui-pro/vite'
export default defineConfig({
plugins: [
vue(),
uiPro({
uiPro: {
pageFeature: {
slots: {
root: 'relative',
wrapper: '',
leading: 'inline-flex items-center justify-center',
leadingIcon: 'size-5 shrink-0 text-primary',
title: 'text-base text-pretty font-semibold text-highlighted',
description: 'text-[15px] text-pretty text-muted'
},
variants: {
orientation: {
horizontal: {
root: 'flex items-start gap-2.5',
leading: 'p-0.5'
},
vertical: {
leading: 'mb-2.5'
}
},
title: {
true: {
description: 'mt-1'
}
}
}
}
}
})
]
})