Skip to content

Preset Themes

vue-multiple-themes ships with 7 ready-to-use preset themes:

Light
data-theme="light"
Dark
data-theme="dark"
Sepia
data-theme="sepia"
Ocean
data-theme="ocean"
Forest
data-theme="forest"
Sunset
data-theme="sunset"
Winter
data-theme="winter"

Usage

ts
import {
  PRESET_THEMES,
  lightTheme,
  darkTheme,
  oceanTheme,
} from 'vue-multiple-themes';

// Use all presets
useTheme({ themes: PRESET_THEMES });

// Pick a subset
useTheme({ themes: [lightTheme, darkTheme] });

Available presets

NameLabelIconDescription
lightLightsunClean white with blue accents
darkDarkmoonDeep navy with soft blue tones
sepiaSepiacoffeeWarm paper-like reading mode
oceanOceandropletsDeep ocean with cyan accents
forestForestleafDark forest green
sunsetSunsetflameWarm amber-orange palette
winterWintersnowflakeCool indigo-purple night sky

Extending presets

ts
import { PRESET_THEMES } from 'vue-multiple-themes';
import type { ThemeDefinition } from 'vue-multiple-themes';

const myTheme: ThemeDefinition = {
  name: 'rose',
  label: 'Rose',
  icon: 'star',
  colors: {
    primary: '#f43f5e',
    background: '#fff1f2',
    surface: '#ffe4e6',
    text: '#1c0b0e',
    textMuted: '#9f1239',
    textInverse: '#fff1f2',
    border: '#fda4af',
    ring: '#f43f5e',
    success: '#10b981',
    warning: '#f59e0b',
    error: '#ef4444',
    info: '#3b82f6',
    // ──── any custom tokens ────
    heroBanner: '#fda4af',
  },
};

useTheme({ themes: [...PRESET_THEMES, myTheme] });

Released under the MIT License.