{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "stat-chip",
  "type": "registry:ui",
  "dependencies": [
    "class-variance-authority",
    "clsx",
    "tailwind-merge"
  ],
  "registryDependencies": [],
  "files": [
    {
      "path": "stat-chip.tsx",
      "target": "components/ui/stat-chip.tsx",
      "type": "registry:ui",
      "content": "import { cva, type VariantProps } from \"class-variance-authority\";\nimport type * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nexport const statChipVariants = cva(\n  cn(\n    \"inline-flex items-center gap-1.5 rounded-full border px-2.5 font-mono tabular-nums\",\n    \"transition-tint duration-fast ease-soft\",\n  ),\n  {\n    variants: {\n      tone: {\n        neutral: \"border-border bg-surface-2\",\n        accent: \"border-accent/25 bg-accent/8\",\n        \"accent-alt\": \"border-accent-alt/25 bg-accent-alt/8\",\n        success: \"border-success/25 bg-success/8\",\n        warning: \"border-warning/25 bg-warning/8\",\n        danger: \"border-danger/25 bg-danger/8\",\n      },\n      size: {\n        sm: \"h-6 text-[0.6875rem]\",\n        md: \"h-7 text-xs\",\n      },\n    },\n    defaultVariants: { tone: \"neutral\", size: \"md\" },\n  },\n);\n\nconst valueTone: Record<string, string> = {\n  neutral: \"text-ink\",\n  accent: \"text-accent\",\n  \"accent-alt\": \"text-accent-alt\",\n  success: \"text-success\",\n  warning: \"text-warning\",\n  danger: \"text-danger\",\n};\n\nexport interface StatChipProps\n  extends React.HTMLAttributes<HTMLSpanElement>,\n    VariantProps<typeof statChipVariants> {\n  /** Leading muted label, e.g. \"credits\". */\n  label?: React.ReactNode;\n  /** The figure. Rendered semibold and tabular. */\n  value: React.ReactNode;\n  /** Trailing faint unit, e.g. \"cr\", \"%\". */\n  unit?: React.ReactNode;\n}\n\nexport function StatChip({\n  className,\n  tone = \"neutral\",\n  size,\n  label,\n  value,\n  unit,\n  ...props\n}: StatChipProps) {\n  return (\n    <span\n      className={cn(statChipVariants({ tone, size }), className)}\n      {...props}\n    >\n      {label != null && (\n        <span className=\"uppercase tracking-wide text-muted\">{label}</span>\n      )}\n      <span className={cn(\"font-semibold\", valueTone[tone ?? \"neutral\"])}>\n        {value}\n      </span>\n      {unit != null && <span className=\"text-muted\">{unit}</span>}\n    </span>\n  );\n}\nStatChip.displayName = \"StatChip\";\n"
    }
  ]
}