PageFeaturePRO
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.
<template>
  <UPageFeature title="Theme" />
</template>
Description
Use the description prop to set the description of the feature.
<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.
<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"
  />
</template>
Orientation
Use the orientation prop to change the orientation of the feature. Defaults to horizontal.
<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 | 
|---|---|---|
as | 
  | 
 The element or component this component should render as.  | 
icon | 
  | |
title | 
  | |
description | 
  | |
orientation | 
  | 
 The orientation of the page feature.  | 
to | 
 
  | |
target | 
  | |
ui | 
  | 
Slots
| Slot | Type | 
|---|---|
leading | 
  | 
title | 
  | 
description | 
  | 
default | 
  | 
Theme
export default defineAppConfig({
  uiPro: {
    pageFeature: {
      slots: {
        root: 'relative',
        wrapper: '',
        leading: 'inline-flex items-center justify-center',
        leadingIcon: 'size-5 shrink-0 text-(--ui-primary)',
        title: 'text-base text-pretty font-semibold text-(--ui-text-highlighted)',
        description: 'text-[15px] text-pretty text-(--ui-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'
          }
        }
      }
    }
  }
})
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-(--ui-primary)',
            title: 'text-base text-pretty font-semibold text-(--ui-text-highlighted)',
            description: 'text-[15px] text-pretty text-(--ui-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'
              }
            }
          }
        }
      }
    })
  ]
})