{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "icon-circle",
  "title": "Icon circle",
  "description": "leading icon well, row scale (≤44px) · `shape` circle/square · `tone`",
  "dependencies": [
    "lucide-react-native@^1.21.0"
  ],
  "registryDependencies": [
    "@kit-native/icon",
    "@kit-native/lib-utils"
  ],
  "files": [
    {
      "path": "components/kit/icon-circle.tsx",
      "content": "import { Icon } from '@/components/ui/icon';\nimport { cn } from '@/lib/utils';\nimport type { LucideIcon } from 'lucide-react-native';\nimport { View } from 'react-native';\n\nexport type IconCircleTone = 'muted' | 'primary' | 'success' | 'warning' | 'destructive' | 'info';\n\ntype Props = React.ComponentProps<typeof View> & {\n  as: LucideIcon;\n  /** Diameter. Default 36 (list rows). */\n  size?: number;\n  /** `square` is the rounded-square well. Default `circle`. */\n  shape?: 'circle' | 'square';\n  tone?: IconCircleTone;\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};\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/**\n * A lucide icon in a small well — the leading slot of a ListRow, a feature bullet.\n *\n * Row scale only. At illustration scale (64px and up) use `Spot`.\n */\nexport function IconCircle({ as, size = 36, shape = 'circle', tone = 'muted', className, iconClassName, style, ...props }: Props) {\n  return (\n    <View\n      className={cn(WELL[tone], shape === 'circle' ? 'rounded-full' : 'rounded-xl', 'items-center justify-center', className)}\n      style={[{ width: size, height: size }, style]}\n      {...props}>\n      <Icon as={as} size={Math.round(size * 0.5)} className={cn(GLYPH[tone], iconClassName)} />\n    </View>\n  );\n}\n",
      "type": "registry:component",
      "target": "components/kit/icon-circle.tsx"
    }
  ],
  "meta": {
    "exports": [
      "IconCircle"
    ],
    "api": "<IconCircle as size? shape=\"circle|square\" tone? />"
  },
  "docs": "Run `npx expo install --fix` afterwards so Expo SDK packages match your SDK. Needs the kit theme (`@kit-native/theme`) and `KitThemeProvider` from `@kit-native/lib-theme-context` at the root.",
  "categories": [
    "data"
  ],
  "type": "registry:component"
}