{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "match-card-compact",
  "title": "Match Card Compact",
  "description": "Minimal match row: overlapping crests plus a label, no score/status/odds.",
  "registryDependencies": [
    "entity-image"
  ],
  "files": [
    {
      "path": "registry/mrdoge-ui/match-card-compact/match-card-compact.tsx",
      "content": "import { cn } from \"@/lib/utils\"\nimport { EntityImage } from \"@/registry/mrdoge-ui/entity-image/entity-image\"\n\nexport interface MatchCardCompactTeam {\n  name: string\n  logoUrl?: string\n}\n\nexport interface MatchCardCompactProps {\n  home: MatchCardCompactTeam\n  away: MatchCardCompactTeam\n  /** Shown next to the crests. Defaults to \"home vs away\". */\n  label?: string\n  /**\n   * Shown right-aligned, e.g. a score. Takes priority over `kickoff` when\n   * both are set, so a live score can override the date once one exists.\n   */\n  info?: string\n  /** Formatted and shown right-aligned when `info` isn't set, e.g. \"Aug 9\". No time-of-day or \"today\" special-casing — this is a compact identifier row, not the primary place a match's kickoff lives (that's Match Card / Match Highlight's job). */\n  kickoff?: Date | string\n  className?: string\n}\n\nfunction formatKickoff(kickoff: Date | string) {\n  const date = typeof kickoff === \"string\" ? new Date(kickoff) : kickoff\n  return date.toLocaleDateString(undefined, { month: \"short\", day: \"numeric\" })\n}\n\n/**\n * A minimal match row: overlapping crests plus a label, no\n * score/status/odds. Deliberately lighter than Match Card, for contexts\n * that just need to identify a match at a glance: a dropdown item, a\n * group header. See Bet Slip's `BetSlipMatchGroup` and Match Highlight's\n * competition dropdown.\n */\nexport function MatchCardCompact({ home, away, label, info, kickoff, className }: MatchCardCompactProps) {\n  const trailing = info ?? (kickoff ? formatKickoff(kickoff) : undefined)\n  return (\n    <div className={cn(\"flex items-center gap-2\", className)}>\n      <div className=\"flex shrink-0 gap-2\">\n        <EntityImage src={home.logoUrl} name={home.name} size=\"sm\"  />\n        <EntityImage src={away.logoUrl} name={away.name} size=\"sm\" />\n      </div>\n      <span className=\"min-w-0 flex-1 truncate text-sm font-medium\">{label ?? `${home.name} vs ${away.name}`}</span>\n      {trailing ? <span className=\"shrink-0 text-xs tabular-nums text-muted-foreground\">{trailing}</span> : null}\n    </div>\n  )\n}\n",
      "type": "registry:component"
    }
  ],
  "type": "registry:component"
}