Theme Controller
A checked theme-controller input switches the entire page theme via CSS — no JS required.
Use JS + localStorage if you need the choice to persist on page refresh.
Toggle
A checkbox styled as a toggle. Unchecked = current/default theme. Checked = the named theme.
Checkbox
Same logic as toggle, just a regular checkbox appearance.
Swap with theme-controller
Compose a swap label with a theme-controller checkbox inside.
The hidden checkbox drives both the swap animation and the theme switch simultaneously.
Radio inputs
Radio inputs in a group — only one theme active at a time.
Radio buttons
Radio inputs styled as buttons, grouped in a join.
Dropdown
Radio buttons inside a dropdown — pick a theme from a menu.