{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "error7",
  "title": "404 Notice Card",
  "description": "Compact bordered 404 card with a circular icon, status label, heading, one-line explanation, and stacked full-width buttons. Sized for app shells and modals as well as full pages.",
  "dependencies": [
    "clsx",
    "tailwind-merge",
    "lucide-react"
  ],
  "registryDependencies": [
    "button"
  ],
  "files": [
    {
      "path": "registry/error7/error7.tsx",
      "content": "\"use client\";\n\nimport { type LucideIcon, SearchX } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { Button } from \"@/components/ui/button\";\nimport { cn } from \"@/lib/utils\";\n\ninterface ActionButton {\n  label: string;\n  href: string;\n  variant?: \"default\" | \"outline\" | \"secondary\" | \"ghost\";\n  icon?: LucideIcon;\n}\n\ninterface Error7Props {\n  icon?: LucideIcon;\n  code?: string;\n  heading?: string;\n  description?: string;\n  buttons?: ActionButton[];\n  className?: string;\n}\n\nexport const error7Demo: Error7Props = {\n  icon: SearchX,\n  code: \"Error 404\",\n  heading: \"Page not found\",\n  description:\n    \"We looked, but there is nothing at this address. It may have been moved or deleted.\",\n  buttons: [\n    { label: \"Back to home\", href: \"https://beste.co\" },\n    { label: \"Contact support\", href: \"https://beste.co\", variant: \"ghost\" },\n  ],\n};\n\nexport function Error7({\n  icon: Icon,\n  code,\n  heading,\n  description,\n  buttons = [],\n  className,\n}: Error7Props) {\n  return (\n    <section className={cn(\"py-16 md:py-24 w-full\", className)}>\n      <div className=\"mx-auto max-w-md px-4 md:px-6\">\n        <div className=\"rounded-md border bg-card p-8 text-center\">\n          {Icon && (\n            <div className=\"mx-auto flex size-12 items-center justify-center rounded-full bg-muted text-muted-foreground\">\n              <Icon className=\"size-5\" />\n            </div>\n          )}\n\n          {code && (\n            <p className=\"mt-6 text-sm font-medium uppercase tracking-wider text-muted-foreground\">\n              {code}\n            </p>\n          )}\n\n          {heading && (\n            <h1 className=\"mt-2 text-xl font-semibold tracking-tight md:text-2xl\">\n              {heading}\n            </h1>\n          )}\n\n          {description && (\n            <p className=\"mt-3 text-base text-muted-foreground\">\n              {description}\n            </p>\n          )}\n\n          {buttons.length > 0 && (\n            <div className=\"mt-6 flex flex-col gap-2\">\n              {buttons.map((button, index) => (\n                <Button\n                  key={index}\n                  variant={button.variant ?? \"default\"}\n                  className=\"w-full\"\n                  asChild\n                >\n                  <Link href={button.href}>\n                    {button.icon && <button.icon className=\"size-4\" />}\n                    {button.label}\n                  </Link>\n                </Button>\n              ))}\n            </div>\n          )}\n        </div>\n      </div>\n    </section>\n  );\n}\n",
      "type": "registry:component",
      "target": "components/beste/block/error7.tsx"
    }
  ],
  "type": "registry:block"
}