Installation
Setup
Add to a Nuxt project
Install the Nuxt UI package
pnpm add @nuxt/ui
yarn add @nuxt/ui
npm install @nuxt/ui
bun add @nuxt/ui
shamefully-hoist=true
in your .npmrc
file or install tailwindcss
in your project's root directory.Add the Nuxt UI module in your nuxt.config.ts
export default defineNuxtConfig({
modules: ['@nuxt/ui']
})
Import Tailwind CSS and Nuxt UI in your CSS
@import "tailwindcss";
@import "@nuxt/ui";
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css']
})
{
"files.associations": {
"*.css": "tailwindcss"
},
"editor.quickSuggestions": {
"strings": "on"
},
"tailwindCSS.classAttributes": ["class", "ui"],
"tailwindCSS.experimental.classRegex": [
["ui:\\s*{([^)]*)\\s*}", "(?:'|\"|`)([^']*)(?:'|\"|`)"]
]
}
Wrap your app with App component
<template>
<UApp>
<NuxtPage />
</UApp>
</template>
Use a Nuxt template
To quickly get started with Nuxt UI, you can use the starter template by running:
npm create nuxt@latest -- -t ui
You can also get started with one of our official templates:
You can use the Use this template
button on GitHub to create a new repository or use the CLI:
npm create nuxt@latest -- -t ui
npm create nuxt@latest -- -t ui/landing
npm create nuxt@latest -- -t ui/docs
npm create nuxt@latest -- -t ui/saas
npm create nuxt@latest -- -t ui/dashboard
npm create nuxt@latest -- -t ui/chat
npm create nuxt@latest -- -t ui/portfolio
npm create nuxt@latest -- -t ui/changelog
Options
You can customize Nuxt UI by providing options in your nuxt.config.ts
.
prefix
Use the prefix
option to change the prefix of the components.
- Default:
U
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
prefix: 'Nuxt'
}
})
fonts
Use the fonts
option to enable or disable the @nuxt/fonts
module.
- Default:
true
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
fonts: false
}
})
colorMode
Use the colorMode
option to enable or disable the @nuxt/color-mode
module.
- Default:
true
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
colorMode: false
}
})
theme.colors
Use the theme.colors
option to define the dynamic color aliases used to generate components theme.
- Default:
['primary', 'secondary', 'success', 'info', 'warning', 'error']
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
theme: {
colors: ['primary', 'error']
}
}
})
theme.transitions
Use the theme.transitions
option to enable or disable transitions on components.
- Default:
true
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
theme: {
transitions: false
}
}
})
transition-colors
class on components with hover or active states.theme.defaultVariants
Use the theme.defaultVariants
option to override the default color
and size
variants for components.
- Default:
{ color: 'primary', size: 'md' }
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
theme: {
defaultVariants: {
color: 'neutral',
size: 'sm'
}
}
}
})
mdc
Use the mdc
option to force the import of Nuxt UI <Prose>
components even if @nuxtjs/mdc
or @nuxt/content
is not installed.
- Default:
false
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
mdc: true
}
})
content
Use the content
option to force the import of Nuxt UI <Prose>
and <UContent>
components even if @nuxt/content
is not installed (@nuxtjs/mdc
is installed by @nuxt/content
).
- Default:
false
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css'],
ui: {
content: true
}
})
Continuous releases
Nuxt UI uses pkg.pr.new for continuous preview releases, providing developers with instant access to the latest features and bug fixes without waiting for official releases.
Automatic preview releases are created for all commits and PRs to the v4
branch. Use them by replacing your package version with the specific commit hash or PR number.
{
"dependencies": {
- "@nuxt/ui": "^4.0.0",
+ "@nuxt/ui": "https://pkg.pr.new/@nuxt/ui@4c96909",
}
}