{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "api-docs-page",
  "type": "registry:component",
  "title": "Api docs page",
  "description": "A React API reference page with a sidebar nav, endpoints tagged by HTTP method, a copy base URL action and a curl request example in a code block.",
  "dependencies": [],
  "registryDependencies": [
    "https://ui.minidev.pro/r/badge.json",
    "https://ui.minidev.pro/r/button.json",
    "https://ui.minidev.pro/r/code-block.json"
  ],
  "files": [
    {
      "path": "registry/blocks/api-docs-page.tsx",
      "type": "registry:ui",
      "target": "components/ui/api-docs-page.tsx",
      "content": "\"use client\"\nimport { Badge } from \"@/components/ui/badge\"\nimport { Button } from \"@/components/ui/button\"\nimport { CodeBlock } from \"@/components/ui/code-block\"\n\nconst ENDPOINTS = [\n  { method: \"GET\", path: \"/v1/components\", desc: \"List registry items\" },\n  { method: \"GET\", path: \"/v1/components/:name\", desc: \"Fetch a single component\" },\n  { method: \"POST\", path: \"/v1/audit\", desc: \"Run visual + axe gate\" },\n]\n\nfunction ApiDocsPage() {\n  return (\n    <div data-slot=\"api-docs-page\" className=\"grid gap-6 lg:grid-cols-[220px_1fr]\">\n      <aside className=\"rounded-2xl border border-border bg-sunken p-4\">\n        <p className=\"text-[11px] font-medium uppercase tracking-[0.01em] text-fg-muted\">API</p>\n        <ul className=\"mt-3 space-y-1 text-sm\">\n          {[\"Overview\", \"Auth\", \"Components\", \"Audit\", \"Webhooks\"].map((i) => (\n            <li key={i} className=\"rounded-lg px-2 py-1.5 text-fg-muted hover:bg-surface hover:text-fg\">{i}</li>\n          ))}\n        </ul>\n      </aside>\n      <div className=\"space-y-6 rounded-2xl border border-border bg-surface p-6 shadow-highlight\">\n        <div className=\"flex flex-wrap items-start justify-between gap-3\">\n          <div>\n            <h3 className=\"text-xl font-medium tracking-[-0.014em] text-fg\">Registry API</h3>\n            <p className=\"mt-1 text-sm text-fg-muted\">Read the catalog your product UI already ships from.</p>\n          </div>\n          <Button size=\"sm\" variant=\"outline\">Copy base URL</Button>\n        </div>\n        <ul className=\"space-y-3\">\n          {ENDPOINTS.map((e) => (\n            <li key={e.path} className=\"rounded-xl border border-border bg-bg p-3\">\n              <div className=\"flex flex-wrap items-center gap-2\">\n                <Badge variant=\"outline\">{e.method}</Badge>\n                <code className=\"font-mono text-sm text-fg\">{e.path}</code>\n              </div>\n              <p className=\"mt-1 text-xs text-fg-muted\">{e.desc}</p>\n            </li>\n          ))}\n        </ul>\n        <CodeBlock code={`curl https://api.minidev.pro/v1/components \\\\\\n  -H \"Authorization: Bearer $TOKEN\"`} language=\"bash\" />\n      </div>\n    </div>\n  )\n}\nexport { ApiDocsPage }\n"
    }
  ]
}
