{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "badge",
  "type": "registry:ui",
  "dependencies": [
    "class-variance-authority",
    "clsx",
    "tailwind-merge"
  ],
  "registryDependencies": [],
  "files": [
    {
      "path": "badge.tsx",
      "target": "components/ui/badge.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 badgeVariants = cva(\n  \"inline-flex items-center gap-1.5 rounded-full border px-2.5 py-0.5 text-xs font-medium tabular-nums\",\n  {\n    variants: {\n      tone: {\n        neutral: \"border-border bg-surface-2 text-muted\",\n        accent: \"border-accent/25 bg-accent/12 text-accent\",\n        \"accent-alt\": \"border-accent-alt/25 bg-accent-alt/12 text-accent-alt\",\n        success: \"border-success/25 bg-success/12 text-success\",\n        warning: \"border-warning/25 bg-warning/12 text-warning\",\n        danger: \"border-danger/25 bg-danger/12 text-danger\",\n      },\n      mono: {\n        true: \"font-mono text-[0.6875rem] font-semibold uppercase leading-none tracking-wide\",\n        false: \"\",\n      },\n    },\n    defaultVariants: { tone: \"neutral\", mono: false },\n  },\n);\n\nexport interface BadgeProps\n  extends React.HTMLAttributes<HTMLSpanElement>,\n    VariantProps<typeof badgeVariants> {\n  live?: boolean;\n}\n\nexport function Badge({\n  className,\n  tone,\n  mono,\n  live,\n  children,\n  ...props\n}: BadgeProps) {\n  return (\n    <span\n      className={cn(\n        badgeVariants({ tone, mono }),\n        live && \"border-live/25 bg-live/12 text-live\",\n        className,\n      )}\n      {...props}\n    >\n      {live ? (\n        <span\n          aria-hidden=\"true\"\n          className=\"-ml-0.5 h-1.5 w-1.5 rounded-full bg-live animate-live-pulse\"\n        />\n      ) : null}\n      {children}\n    </span>\n  );\n}\n"
    }
  ]
}