ThemeToggle
v1.0.8Updated 27 Aug 2026Light / dark / system color-scheme control over next-themes, in menu, segmented or single-icon form, with an optional brand-accent submenu. Drop into any app bar or settings row.
Preview
Live · 8 storiesDefaultOpen ↗
▸Why this is recommendedthemedark-modecolor-schemetoggle+3
The default, out-of-the-box ThemeToggle.
Recommended for+14
- ✓App bars / top bars
- ✓Settings > appearance
- ✓Marketing site headers
Tags+6
themedark-modecolor-schemetogglenext-themesnavigationdefault
Features+4
- menu / segmented / icon variants
- Light / Dark / System options
- Optional brand-accent submenu (AccentPicker)
- SSR-safe (hydration-guarded)
- Theme-token styling, no hardcoded colors
- i18n: labels prop overrides the trigger aria-label and the Light/Dark/System/Accent option names; merged over DEFAULT_THEME_TOGGLE_LABELS
Not recommended for−2
- ✕Apps with no dark theme
- ✕Forcing a fixed brand theme (use ThemeProvider brandTheme)
Install
Ask your agent, or call the MCP tool directly. The resolved bundle is written into your project.
Usage
Tick variants in the left menu — each adds a tab with that variant’s real story source, the same code the preview above renders.
Props
PropTypeRequired
variantInteraction form (default "menu")
—showSystemOffer the follow-OS option (default true)
—accentAppend a brand-accent submenu (menu variant only)
—sizeControl size (default "sm")
—labelsOverride built-in UI strings (i18n): trigger aria-label + Light/Dark/System/Accent names. Merged over DEFAULT_THEME_TOGGLE_LABELS
—