{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "info-list",
  "type": "registry:ui",
  "title": "Info List",
  "description": "A list component with support for items, headers, and icons slots.",
  "dependencies": ["@radix-ui/react-slot"],
  "files": [
    {
      "path": "registry/default/ui/info-list.tsx",
      "content": "import { cn } from \"@/lib/utils\"\nimport { Slot } from \"@radix-ui/react-slot\"\n\nexport function InfoList({ className, ...props }: React.ComponentProps<\"ul\">) {\n  return (\n    <ul\n      className={cn(\"flex flex-col gap-2\", className)}\n      data-slot=\"info-list\"\n      {...props}\n    />\n  )\n}\n\nexport function InfoListItem({\n  className,\n  ...props\n}: React.ComponentProps<\"li\">) {\n  return (\n    <li\n      className={cn(\n        \"flex gap-4 has-[*[data-slot='header']]:flex-col\",\n        className\n      )}\n      data-slot=\"info-list-item\"\n      {...props}\n    />\n  )\n}\n\nexport function InfoListHeader({\n  className,\n  ...props\n}: React.ComponentProps<\"header\">) {\n  return (\n    <header\n      className={cn(\"flex gap-4\", className)}\n      data-slot=\"info-list-header\"\n      {...props}\n    />\n  )\n}\n\nexport function InfoListIcon({\n  className,\n  ...props\n}: React.ComponentProps<\"span\">) {\n  return (\n    <span\n      className={cn(\n        \"flex h-[1lh] flex-none items-center [&>svg]:size-[1em]\",\n        className\n      )}\n      data-slot=\"info-list-icon\"\n      {...props}\n    />\n  )\n}\n\nexport function InfoListText({\n  className,\n  asChild,\n  ...props\n}: React.ComponentProps<\"p\"> & { asChild?: boolean }) {\n  const Comp = asChild ? Slot : \"p\"\n  return (\n    <Comp\n      className={cn(\"text-pretty\", className)}\n      data-slot=\"info-list-text\"\n      {...props}\n    />\n  )\n}\n",
      "type": "registry:ui"
    }
  ]
}
