Dark Mode Toggle

A sun/moon toggle button for switching between light and dark themes, with smooth icon transitions.

Preview

Sizes

Usage

tsx
import { DarkModeToggle } from "zostel-ui";
import { useTheme } from "zostel-ui/hooks";

const { theme, setTheme } = useTheme();

<DarkModeToggle
  theme={theme}
  onToggle={() => setTheme(theme === "dark" ? "light" : "dark")}
/>

Props

theme
Type: "light" | "dark"
Default: "light"

Current active theme

onToggle
Type: () => void
Default:

Callback when the toggle is clicked

size
Type: "sm" | "md" | "lg"
Default: "md"

Size of the toggle button