{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "badge",
  "type": "registry:ui",
  "title": "Badge",
  "description": "Status badge with solid, soft and outline tones for tactical status states.",
  "dependencies": [
    "class-variance-authority"
  ],
  "devDependencies": [],
  "registryDependencies": [
    "utils"
  ],
  "files": [
    {
      "path": "registry/blacksite/ui/badge.tsx",
      "type": "registry:ui",
      "target": "components/ui/badge.tsx",
      "content": "import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst badgeVariants = cva(\n  [\n    \"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-sm\",\n    \"text-mono text-[10px] uppercase tracking-[0.08em] font-medium\",\n    \"border whitespace-nowrap\",\n  ].join(\" \"),\n  {\n    variants: {\n      tone: {\n        neutral: \"bg-secondary text-foreground border-border\",\n        primary: \"bg-primary/15 text-primary border-primary/40\",\n        success: \"bg-success/15 text-success border-success/40\",\n        warning: \"bg-warning/15 text-warning border-warning/40\",\n        danger: \"bg-danger/15 text-danger border-danger/40\",\n        info: \"bg-info/15 text-info border-info/40\",\n        gold: \"bg-gold/15 text-gold border-gold/40\",\n      },\n      variant: {\n        soft: \"\",\n        solid: \"\",\n        outline: \"bg-transparent\",\n      },\n    },\n    compoundVariants: [\n      {\n        variant: \"solid\",\n        tone: \"neutral\",\n        class: \"bg-foreground/90 text-background border-foreground/90\",\n      },\n      {\n        variant: \"solid\",\n        tone: \"primary\",\n        class: \"bg-primary text-primary-foreground border-primary\",\n      },\n      {\n        variant: \"solid\",\n        tone: \"success\",\n        class: \"bg-success text-success-foreground border-success\",\n      },\n      {\n        variant: \"solid\",\n        tone: \"warning\",\n        class: \"bg-warning text-warning-foreground border-warning\",\n      },\n      { variant: \"solid\", tone: \"danger\", class: \"bg-danger text-danger-foreground border-danger\" },\n      { variant: \"solid\", tone: \"info\", class: \"bg-info text-info-foreground border-info\" },\n      { variant: \"solid\", tone: \"gold\", class: \"bg-gold text-gold-foreground border-gold\" },\n    ],\n    defaultVariants: {\n      tone: \"neutral\",\n      variant: \"soft\",\n    },\n  },\n);\n\nexport interface BadgeProps\n  extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof badgeVariants> {}\n\nconst Badge = React.memo(function Badge({ className, tone, variant, ...props }: BadgeProps) {\n  return <span className={cn(badgeVariants({ tone, variant }), className)} {...props} />;\n});\n\nexport { Badge, badgeVariants };\n"
    }
  ]
}
