{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "description-list",
  "title": "Description List",
  "description": "Term and details pairs: an account, a deployment.",
  "registryDependencies": [
    "https://sproutboat.com/ikada/r/theme.json",
    "https://sproutboat.com/ikada/r/cn.json"
  ],
  "files": [
    {
      "path": "registry/ikada/ui/description-list.tsx",
      "content": "\"use client\";\n\nimport type { ComponentProps, ReactNode } from \"react\";\nimport { cn } from \"@/components/ikada/lib/cn\";\n\nexport interface DescriptionItem {\n  /** Stable key. */\n  id: string;\n  term: ReactNode;\n  details: ReactNode;\n  /** Monospace face for ids, hostnames and hashes. */\n  mono?: boolean;\n}\n\nexport interface DescriptionListProps extends Omit<ComponentProps<\"dl\">, \"children\"> {\n  /** Term and details pairs, in order, each with a stable id. */\n  items: readonly DescriptionItem[];\n  /** `stacked` puts each term above its details; `inline` puts them side by side from 32rem up. */\n  layout?: \"stacked\" | \"inline\";\n}\n\n/** Term and details pairs: an account, a deployment. Rules between rows, no boxes. */\nexport function DescriptionList({ items, layout = \"inline\", className, ref, ...props }: DescriptionListProps) {\n  return (\n    <dl\n      data-slot=\"description-list\"\n      ref={ref}\n      className={cn(\"@container m-0 flex flex-col text-sb-base\", className)}\n      {...props}\n    >\n      {items.map((item) => (\n        <div\n          key={item.id}\n          className={cn(\n            \"grid gap-x-6 gap-y-0.5 border-b border-hairline py-3 first:pt-0 last:border-b-0 last:pb-0\",\n            layout === \"inline\" && \"@md:grid-cols-[10rem_minmax(0,1fr)]\",\n          )}\n        >\n          <dt className=\"min-w-0 break-words text-sb-sm font-medium text-fg-muted\">{item.term}</dt>\n          <dd className={cn(\"m-0 min-w-0 break-words text-pretty\", item.mono && \"font-mono text-sb-sm\")}>\n            {item.details}\n          </dd>\n        </div>\n      ))}\n    </dl>\n  );\n}\n",
      "type": "registry:ui",
      "target": "@components/ikada/description-list.tsx"
    }
  ],
  "categories": [
    "data-display"
  ],
  "type": "registry:ui"
}