{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "icon-circle",
  "title": "Icon circle",
  "description": "leading icon well, row scale (≤64px) · `shape` circle/square · `tone`",
  "dependencies": [
    "cn@^0.4.0",
    "lucide-react@^1.52.0"
  ],
  "registryDependencies": [],
  "files": [
    {
      "path": "components/kit/icon-circle.tsx",
      "content": "import { cn } from 'cn';\nimport type { LucideIcon } from 'lucide-react';\n\nexport type IconCircleTone = 'muted' | 'primary' | 'success' | 'warning' | 'destructive' | 'info';\n\ntype Props = {\n  as: LucideIcon;\n  /** Diameter (px). Default 36 (list rows). */\n  size?: number;\n  /** `square` is the rounded-square well. Default `circle`. */\n  shape?: 'circle' | 'square';\n  tone?: IconCircleTone;\n  className?: string;\n  iconClassName?: string;\n};\n\nconst WELL: Record<IconCircleTone, string> = {\n  muted: 'bg-muted',\n  primary: 'bg-primary/15',\n  success: 'bg-success/15',\n  warning: 'bg-warning/15',\n  destructive: 'bg-destructive/15',\n  info: 'bg-info/15',\n};\nconst GLYPH: Record<IconCircleTone, string> = {\n  muted: 'text-foreground',\n  primary: 'text-primary',\n  success: 'text-success',\n  warning: 'text-warning',\n  destructive: 'text-destructive',\n  info: 'text-info',\n};\n\n/** A lucide icon in a small well: the leading slot of a ListRow, a feature bullet. Row scale only (32–64px). */\nexport function IconCircle({ as: Icon, size = 36, shape = 'circle', tone = 'muted', className, iconClassName }: Props) {\n  const glyph = Math.round(size * 0.5);\n  return (\n    <span className={cn(WELL[tone], shape === 'circle' ? 'rounded-full' : 'rounded-xl', 'flex shrink-0 items-center justify-center', className)} style={{ width: size, height: size }} aria-hidden>\n      <Icon className={cn(GLYPH[tone], iconClassName)} style={{ width: glyph, height: glyph }} />\n    </span>\n  );\n}\n",
      "type": "registry:component",
      "target": "components/kit/icon-circle.tsx"
    }
  ],
  "meta": {
    "exports": [
      "IconCircle"
    ],
    "api": "<IconCircle as size? shape=\"circle|square\" tone? />"
  },
  "docs": "Needs the kit theme (`@kit/theme`) and a next-themes ThemeProvider (attribute=\"class\") at the root.",
  "categories": [
    "data"
  ],
  "type": "registry:component"
}