{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "error1",
  "title": "Centered 404 Message",
  "description": "Minimal centered 404 page with a large error code, a heading, a short explanation, two call-to-action buttons, and a divided row of popular page links underneath.",
  "dependencies": [
    "clsx",
    "tailwind-merge",
    "lucide-react"
  ],
  "registryDependencies": [
    "button"
  ],
  "files": [
    {
      "path": "registry/error1/error1.tsx",
      "content": "\"use client\";\n\nimport { ArrowRight, House, type LucideIcon } 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 QuickLink {\n  label: string;\n  href: string;\n}\n\ninterface Error1Props {\n  code?: string;\n  heading?: string;\n  description?: string;\n  buttons?: ActionButton[];\n  linksLabel?: string;\n  links?: QuickLink[];\n  className?: string;\n}\n\nexport const error1Demo: Error1Props = {\n  code: \"404\",\n  heading: \"This page could not be found\",\n  description:\n    \"The page you are looking for was moved, renamed, or never existed. Check the address, or pick one of the pages below.\",\n  buttons: [\n    { label: \"Back to home\", href: \"https://beste.co\", icon: House },\n    { label: \"Contact support\", href: \"https://beste.co\", variant: \"outline\" },\n  ],\n  linksLabel: \"Popular pages\",\n  links: [\n    { label: \"Documentation\", href: \"https://beste.co\" },\n    { label: \"Pricing\", href: \"https://beste.co\" },\n    { label: \"Blog\", href: \"https://beste.co\" },\n    { label: \"Changelog\", href: \"https://beste.co\" },\n  ],\n};\n\nexport function Error1({\n  code,\n  heading,\n  description,\n  buttons = [],\n  linksLabel,\n  links = [],\n  className,\n}: Error1Props) {\n  return (\n    <section className={cn(\"py-16 md:py-24 w-full\", className)}>\n      <div className=\"mx-auto max-w-2xl px-4 text-center md:px-6\">\n        {code && (\n          <p className=\"text-7xl font-bold tracking-tight text-muted-foreground md:text-8xl\">\n            {code}\n          </p>\n        )}\n\n        {heading && (\n          <h1 className=\"mt-6 text-balance text-3xl font-bold tracking-tight md:text-4xl\">\n            {heading}\n          </h1>\n        )}\n\n        {description && (\n          <p className=\"mx-auto mt-4 max-w-xl text-balance text-base text-muted-foreground md:text-lg\">\n            {description}\n          </p>\n        )}\n\n        {buttons.length > 0 && (\n          <div className=\"mt-8 flex flex-wrap justify-center gap-3\">\n            {buttons.map((button, index) => (\n              <Button\n                key={index}\n                variant={button.variant ?? \"default\"}\n                size=\"lg\"\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\n        {links.length > 0 && (\n          <div className=\"mt-12 border-t pt-8\">\n            {linksLabel && (\n              <p className=\"text-sm font-medium uppercase tracking-wider text-muted-foreground\">\n                {linksLabel}\n              </p>\n            )}\n            <div className=\"mt-4 flex flex-wrap justify-center gap-x-6 gap-y-3\">\n              {links.map((link, index) => (\n                <Link\n                  key={index}\n                  href={link.href}\n                  className=\"group/error1 inline-flex items-center gap-1.5 text-base font-medium text-foreground transition-colors hover:text-muted-foreground\"\n                >\n                  {link.label}\n                  <ArrowRight className=\"size-4 transition-transform group-hover/error1:translate-x-0.5\" />\n                </Link>\n              ))}\n            </div>\n          </div>\n        )}\n      </div>\n    </section>\n  );\n}\n",
      "type": "registry:component",
      "target": "components/beste/block/error1.tsx"
    }
  ],
  "type": "registry:block"
}