vue-multiple-themes v4: Dynamic Multi-Theme Support for Vue 2 & 3
I have been building UIs with Vue for years and one pattern comes up constantly, you need more than dark/light. Clients want seasonal themes, brand-specific palettes, and accessibility-compliant co...

Source: DEV Community
I have been building UIs with Vue for years and one pattern comes up constantly, you need more than dark/light. Clients want seasonal themes, brand-specific palettes, and accessibility-compliant contrasts. I extracted all of that into a standalone, typed library: vue-multiple-themes. Full Documentation & Demo What It Solves The standard approach is toggling a .dark class on <html> and writing a wall of CSS overrides. That works for two themes. Scale to three or more and you get duplicated selectors, fragile specificity battles, and no tooling for generating accessible palettes. vue-multiple-themes replaces that with: CSS custom properties (--vmt-*) injected at the target element: every theme is a swap of values at one cascade layer A reactive useTheme() composable accessible anywhere in the component tree 7 preset themes ready to use immediately A TailwindCSS plugin that exposes those tokens as Tailwind utilities WCAG color utilities for contrast checking, mixing, and palette