{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "sidebar-toggle",
  "type": "registry:component",
  "title": "Sidebar Toggle",
  "description": "Responsive toggle button for opening and closing the sidebar.",
  "dependencies": [
    "@vllnt/ui@^0.2.1",
    "lucide-react"
  ],
  "registryDependencies": [],
  "files": [
    {
      "path": "registry/default/sidebar-toggle/sidebar-toggle.tsx",
      "content": "\"use client\";\n\nimport { Menu, X } from \"lucide-react\";\n\nimport { cn } from \"@vllnt/ui\";\nimport { Button } from \"@vllnt/ui\";\n\nexport type SidebarToggleProps = {\n  className?: string;\n  /** Called when user clicks the toggle. */\n  onToggle: () => void;\n  /** Whether the sidebar is open. */\n  open: boolean;\n};\n\n/** Responsive sidebar toggle button that shows Menu/X icons based on state. */\nexport function SidebarToggle({\n  className,\n  onToggle,\n  open,\n}: SidebarToggleProps) {\n  return (\n    <>\n      {/* Mobile: shows X when open, Menu when closed */}\n      <Button\n        className={cn(\"lg:hidden\", className)}\n        onClick={onToggle}\n        size=\"icon\"\n        variant=\"ghost\"\n      >\n        {open ? <X className=\"size-5\" /> : <Menu className=\"size-5\" />}\n      </Button>\n      {/* Desktop: always shows Menu icon */}\n      <Button\n        className={cn(\"hidden lg:flex\", className)}\n        onClick={onToggle}\n        size=\"icon\"\n        variant=\"ghost\"\n      >\n        <Menu className=\"size-5\" />\n      </Button>\n    </>\n  );\n}\n",
      "type": "registry:component"
    }
  ],
  "version": "0.2.1",
  "stability": "stable"
}
