{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "console-output",
  "type": "registry:ui",
  "title": "Console output",
  "description": "Scrollable Tailwind console panel in monospace that prints log, warn and error lines with level labels. Uses a log role and is keyboard focusable.",
  "dependencies": [],
  "registryDependencies": [
    "utils"
  ],
  "files": [
    {
      "path": "registry/ui/console-output.tsx",
      "type": "registry:ui",
      "target": "components/ui/console-output.tsx",
      "content": "\"use client\"\nimport * as React from \"react\"\nimport { cn } from \"@/lib/utils\"\n\ntype Line = { level?: \"log\" | \"warn\" | \"error\"; text: string }\n\nfunction ConsoleOutput({ lines = [], className }: { lines?: Line[]; className?: string }) {\n  return (\n    <div\n      data-slot=\"console-output\"\n      role=\"log\"\n      aria-label=\"Console\"\n      tabIndex={0}\n      className={cn(\n        \"max-h-64 overflow-auto rounded-xl border border-border bg-sunken p-3 font-mono text-[12px]\",\n        className\n      )}\n    >\n      {lines.map((l, i) => (\n        <p key={i} className=\"flex gap-2 leading-relaxed text-fg\">\n          {l.level === \"error\" ? (\n            <span className=\"shrink-0 font-medium text-fg\">error</span>\n          ) : l.level === \"warn\" ? (\n            <span className=\"shrink-0 font-medium text-fg\">warn</span>\n          ) : null}\n          <span className=\"text-fg\">{l.level === \"error\" || l.level === \"warn\" ? l.text : l.text}</span>\n        </p>\n      ))}\n    </div>\n  )\n}\nexport { ConsoleOutput }\n"
    }
  ]
}
