{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "theme-toggle", "type": "registry:ui", "title": "Theme Toggle", "description": "Animated sun/moon dark mode toggle.", "dependencies": [ "next-themes", "lucide-react" ], "registryDependencies": [], "files": [ { "path": "registry/starkui/theme-toggle.tsx", "content": "\"use client\";\n\nimport * as React from \"react\";\nimport { Moon, Sun } from \"lucide-react\";\nimport { useTheme } from \"next-themes\";\nimport { cn } from \"@/lib/utils\";\n\nexport function ThemeToggle({ className }: { className?: string }) {\n const { resolvedTheme, setTheme } = useTheme();\n const [mounted, setMounted] = React.useState(false);\n React.useEffect(() => setMounted(true), []);\n\n return (\n setTheme(resolvedTheme === \"dark\" ? \"light\" : \"dark\")}\n className={cn(\n \"relative inline-flex h-8 w-8 items-center justify-center rounded-md border transition-colors hover:bg-muted\",\n className\n )}\n >\n {mounted && (\n <>\n \n \n \n )}\n \n );\n}\n", "type": "registry:ui", "target": "components/ui/theme-toggle.tsx" } ] }