Accent Picker
Accent color row: eight swatches (red to slate) that retint primary, focus rings, selection, switches and checkboxes app-wide. Persisted, applied before paint, or set your own hue with --accent-hue.
Appearance
Accent color
import { AccentPicker } from "@/components/ui/accent-picker";import { ThemeToggle } from "@/components/ui/theme-toggle";export function AppearanceSettings() { return ( <section aria-labelledby="appearance" className="grid gap-3"> <h2 id="appearance" className="font-medium"> Appearance </h2> <div className="flex items-center justify-between"> <span className="text-sm">Theme</span> <ThemeToggle /> </div> <div className="flex items-center justify-between"> <span className="text-sm">Accent color</span> <AccentPicker /> </div> </section> );}import { setAccent } from "@/lib/theme";// One of the presets, persisted and applied before paint on the next visit:setAccent("green");// Or your own color, in CSS: :root { --accent-hue: 160; --accent-chroma: 0.15; }<AccentPicker>
Accent color row: radio swatches that retint the whole app via setAccent().
* required. Every component also takes className.