{
  "name": "cn",
  "type": "utility",
  "description": "Merge class names with Tailwind conflict resolution. Wraps clsx + extendTailwindMerge with three Strix-specific collision groups (font-size vs text color, font-family vs weight role, gap tokens vs built-in gap) so a caller's className always wins.",
  "export": "cn",
  "path": "@gtmi/strix-react/cn",
  "signature": "cn(...inputs: ClassValue[]): string",
  "examples": [
    { "code": "cn('px-4', 'px-8')", "description": "Conflicting utilities resolve to the last one: 'px-8'" },
    { "code": "cn('text-text-accent', 'text-size-h1')", "description": "Color and size both survive" },
    { "code": "cn('font-sans', 'font-body-medium-regular')", "description": "Family and weight both survive" },
    { "code": "cn(base, cond && 'py-2', className)", "description": "Caller className last so it overrides" }
  ],
  "ai_tags": ["utility", "classname", "tailwind", "merge", "collision"],
  "since": "0.2.0"
}
