PrimeVue Black and White Theme
TypeScript
import { definePreset } from '@primeuix/themes'
import Aura from '@primeuix/themes/aura'
// 黑/白单色主题:primary 映射到中性色阶
// light:近黑按钮 + 白字;dark:白按钮 + 黑字
// https://nuxt.com/docs/api/configuration/nuxt-config
const Noir = definePreset(Aura, { //自定义主题
semantic: {
primary: {
50: '{zinc.50}',
100: '{zinc.100}',
200: '{zinc.200}',
300: '{zinc.300}',
400: '{zinc.400}',
500: '{zinc.500}',
600: '{zinc.600}',
700: '{zinc.700}',
800: '{zinc.800}',
900: '{zinc.900}',
950: '{zinc.950}'
},
colorScheme: {
light: {
primary: {
color: '{zinc.950}',
inverseColor: '#ffffff',
hoverColor: '{zinc.900}',
activeColor: '{zinc.800}'
}
},
dark: {
primary: {
color: '{zinc.50}',
inverseColor: '{zinc.950}',
hoverColor: '{zinc.100}',
activeColor: '{zinc.200}'
}
}
}
},
// Aura 默认是红/蓝/绿/黄四色渐变圈,改为灰阶
components: {
progressspinner: {
colorScheme: {
light: {
root: {
colorOne: '{zinc.300}',
colorTwo: '{zinc.500}',
colorThree: '{zinc.700}',
colorFour: '{zinc.900}'
}
},
dark: {
root: {
colorOne: '{zinc.700}',
colorTwo: '{zinc.500}',
colorThree: '{zinc.300}',
colorFour: '{zinc.100}'
}
}
}
}
}
})
// 替换成vue的配置应该类似
export default defineNuxtConfig({
compatibilityDate: '2025-07-15',
devtools: { enabled: true },
css: ['~/assets/css/main.scss'],
modules: ['@primevue/nuxt-module'],
primevue: {
options: {
ripple: false,
theme: {
preset: Noir //在这里引入了主题
}
}
},
})