Theme Picker
Light, dark and system theme picker as a segmented radiogroup that toggles the dark class on the root element for Tailwind dark mode and reports it to onChange.
src/registry/ui/theme-picker.tsx/r/theme-picker.json
Installation#
bash
npx shadcn@latest add @minidev/theme-picker
MiniDev UI is in the shadcn registry directory, so the short form works with no setup. Older CLI versions can use the full URL: npx shadcn@latest add https://ui.minidev.pro/r/theme-picker.json
Usage#
tsx
import { ThemePicker } from "@/components/ui/theme-picker"
export function Example() {
return <ThemePicker />
}
API reference#
| Prop | Type | Default |
|---|---|---|
value | "light" | "dark" | "system" | "system" |
onChange | (v: "light" | "dark" | "system") => void | - |
className | string | - |
Related settings components#
Admin User RowUser management row with avatar, online status dot, name, email, a role chip for admin, write or read access, and an accessible actions menu button.Avatar UploadReact profile photo uploader with an avatar preview and an Upload button that opens a hidden image file input. Shows initials until a picture is chosen.Bulk User ImportCSV user import panel with a format hint for email, name and role, a CSV-only dropzone and an Import users button that enables once a file is added.Connected AccountTailwind settings row for a linked third party account showing the provider and account name, with a Disconnect button. For OAuth and integrations.Danger ZoneDanger zone settings card with a red outline, a warning that the action cannot be undone and a destructive delete button. Put it last on settings pages.Delete Account ConfirmAccount deletion step with a danger alert and a confirmation field: the delete button stays disabled until the user types DELETE. Guards against misclicks.
All settings page components