{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "mobile-nav-drawer",
  "type": "registry:ui",
  "title": "Mobile nav drawer",
  "description": "A hamburger button that opens a right side navigation drawer as a modal dialog, with a close button and links that dismiss it on tap. Built in React.",
  "dependencies": [
    "lucide-react"
  ],
  "registryDependencies": [
    "https://ui.minidev.pro/r/button.json",
    "utils"
  ],
  "files": [
    {
      "path": "registry/ui/mobile-nav-drawer.tsx",
      "type": "registry:ui",
      "target": "components/ui/mobile-nav-drawer.tsx",
      "content": "\"use client\"\nimport * as React from \"react\"\nimport Link from \"next/link\"\nimport { Button } from \"@/components/ui/button\"\nimport { cn } from \"@/lib/utils\"\nimport { MenuIcon, XIcon } from \"lucide-react\"\n\nconst LINKS = [\n  { href: \"/gallery\", label: \"Gallery\" },\n  { href: \"/docs\", label: \"Docs\" },\n  { href: \"/playground\", label: \"Playground\" },\n  { href: \"/showcase\", label: \"Showcase\" },\n]\n\nfunction MobileNavDrawer({ className }: { className?: string }) {\n  const [open, setOpen] = React.useState(false)\n  return (\n    <div data-slot=\"mobile-nav-drawer\" className={cn(\"relative\", className)}>\n      <Button type=\"button\" size=\"icon\" variant=\"outline\" aria-expanded={open} aria-label=\"Open menu\" onClick={() => setOpen(true)}>\n        <MenuIcon className=\"size-4\" />\n      </Button>\n      {open ? (\n        <div className=\"fixed inset-0 z-50 bg-bg/80\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Mobile navigation\">\n          <div className=\"absolute inset-y-0 right-0 flex w-72 flex-col border-l border-border bg-surface p-4 shadow-highlight\">\n            <div className=\"mb-4 flex items-center justify-between\">\n              <p className=\"text-sm font-medium text-fg\">MiniDev UI</p>\n              <Button type=\"button\" size=\"icon-sm\" variant=\"ghost\" aria-label=\"Close menu\" onClick={() => setOpen(false)}>\n                <XIcon className=\"size-4\" />\n              </Button>\n            </div>\n            <nav className=\"flex flex-col gap-1\">\n              {LINKS.map((l) => (\n                <Link key={l.href} href={l.href} className=\"rounded-lg px-3 py-2 text-sm text-fg hover:bg-sunken\" onClick={() => setOpen(false)}>\n                  {l.label}\n                </Link>\n              ))}\n            </nav>\n          </div>\n        </div>\n      ) : null}\n    </div>\n  )\n}\nexport { MobileNavDrawer }\n"
    }
  ]
}
