Undesigned by default
Components ship structure, behavior, and a11y only — layered theme resolution with variants supplies the look.
Components that ship undesigned — structure, behavior, accessibility — and themes that supply the design: Tailwind, Bootstrap, Bulma, or your own. Build your own component library on the same machinery, and consumers restyle everything through one config.
Primary palette
Neutral palette
Click swatches to recolor every component on the page in real time — powered by setColorPalette().
Components ship structure, behavior, and a11y only — layered theme resolution with variants supplies the look.
Drop-in themes for Tailwind v4, Bootstrap 5, and Bulma 1.0+ — emitting each framework's native classes.
Publish components on the same machinery — consumers restyle your library and vuecs through one theme config.
22 palettes, 6 semantic scales, dark mode via .dark — switch palette at runtime, no rebuild.
SSR-safe color mode, palette & locale via @vuecs/nuxt — zero FOUC on first paint.
Augmentable theme & defaults interfaces — autocomplete for component names and slot keys.
vuecs ships drop-in themes for Tailwind v4 and Bootstrap. Add icons through Iconify via @vuecs/icons-lucide, @vuecs/icons-font-awesome, or any other preset.
Native pairing for @vuecs/design — utility-first, JIT-compiled, dark-mode aware.
Drop-in Bootstrap 5 classes with optional design-token bridge for runtime palette switching.
Three steps. Tailwind v4 + design tokens come pre-wired.
npm install @vuecs/core @vuecs/theme-tailwind @vuecs/design@vuecs/nuxt
SSR-safe palette and color-mode plumbing — server-rendered classes match the client on first paint, no flash, no hydration mismatch.
// nuxt.config.ts
export default defineNuxtConfig({
modules: ['@vuecs/nuxt'],
vuecs: {
themes: ['@vuecs/theme-tailwind'],
colorMode: { value: 'system' },
colorPalette: { value: { primary: 'green', neutral: 'zinc' } },
},
});