Theme

Theme

Built-in dark/light/system theme — ThemeProvider, useTheme, ThemeToggle, initTheme.

Theme API

Manic ships a minimal theme system: ThemeProvider + useTheme + ThemeToggle, plus initTheme on the manicjs/theme entry.


Exports


Imports

import { ThemeProvider, useTheme, ThemeToggle } from 'manicjs';
import { initTheme } from 'manicjs/theme';

CSS variables & Tailwind

Manic toggles the dark class on <html> — pair with darkMode: 'class' in Tailwind v4 setup.

Optional CSS hooks used by built-in error shells:

:root {
  --manic-theme: light;
  --manic-is-dark: 0;
}

:root.dark {
  --manic-theme: dark;
  --manic-is-dark: 1;
}

Persistence

User preference is stored under localStorage['manic-theme'] (light | dark | system).


See also

On this page