{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "description-list",
  "title": "Description list",
  "description": "Semantic dl, grouped dt and dd parts in stacked, inline or responsive two-column layouts. Details can use monospace; missing values show a dash and announce Not set.",
  "registryDependencies": [
    "@waimakers/utils",
    "@waimakers/theme"
  ],
  "files": [
    {
      "path": "src/components/ui/description-list.tsx",
      "content": "import type { ComponentProps } from \"react\";\nimport { cn } from \"../../lib/utils\";\n\nfunction DescriptionList({\n  layout = \"stacked\",\n  className,\n  ...props\n}: ComponentProps<\"dl\"> & { layout?: \"stacked\" | \"inline\" | \"grid-2\" }) {\n  return (\n    <dl\n      data-slot=\"description-list\"\n      data-layout={layout}\n      className={cn(\n        \"grid min-w-0 gap-x-6 gap-y-4 text-sm\",\n        layout === \"inline\" &&\n          \"[&>div]:grid [&>div]:grid-cols-[minmax(0,1fr)_minmax(0,2fr)] [&>div]:gap-x-4\",\n        layout === \"grid-2\" && \"sm:grid-cols-2\",\n        className,\n      )}\n      {...props}\n    />\n  );\n}\nfunction DescriptionItem({ className, ...props }: ComponentProps<\"div\">) {\n  return (\n    <div data-slot=\"description-item\" className={cn(\"min-w-0 space-y-1\", className)} {...props} />\n  );\n}\nfunction DescriptionTerm({ className, ...props }: ComponentProps<\"dt\">) {\n  return (\n    <dt\n      data-slot=\"description-term\"\n      className={cn(\"text-muted-foreground\", className)}\n      {...props}\n    />\n  );\n}\nfunction DescriptionDetails({\n  mono = false,\n  empty = false,\n  children,\n  className,\n  ...props\n}: ComponentProps<\"dd\"> & { mono?: boolean; empty?: boolean }) {\n  const missing = empty || children === null || children === undefined || children === \"\";\n  return (\n    <dd\n      data-slot=\"description-details\"\n      className={cn(\"min-w-0 break-words text-foreground\", mono && \"font-mono\", className)}\n      {...props}\n    >\n      {missing ? (\n        <>\n          <span aria-hidden=\"true\">—</span>\n          <span className=\"sr-only\">Not set</span>\n        </>\n      ) : (\n        children\n      )}\n    </dd>\n  );\n}\nexport { DescriptionList, DescriptionItem, DescriptionTerm, DescriptionDetails };\n",
      "type": "registry:ui",
      "target": "components/ui/description-list.tsx"
    }
  ],
  "type": "registry:ui"
}