{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "badge",
  "title": "Badge",
  "description": "Status pill in neutral/accent/alt/positive/warning/danger.",
  "dependencies": [
    "class-variance-authority"
  ],
  "registryDependencies": [
    "@hjconsult/lib"
  ],
  "files": [
    {
      "path": "src/components/badge/index.tsx",
      "content": "import type { ComponentPropsWithoutRef, Ref } from 'react'\nimport { cn, cva, type VariantProps } from '../../lib'\n\nexport const badgeVariants = cva(\n  'inline-flex shrink-0 items-center gap-1.5 whitespace-nowrap rounded-pill border px-2.5 py-0.5 font-label text-caption font-medium uppercase tracking-wide',\n  {\n    variants: {\n      variant: {\n        neutral: 'border-line bg-surface-raised text-fg-muted',\n        accent: 'border-transparent bg-accent-soft text-accent',\n        alt: 'border-transparent bg-accent-alt text-accent-alt-fg',\n        positive: 'border-positive/30 bg-positive/10 text-positive',\n        warning: 'border-warning/30 bg-warning/10 text-warning',\n        danger: 'border-danger/30 bg-danger/10 text-danger',\n      },\n    },\n    defaultVariants: { variant: 'neutral' },\n  },\n)\n\nexport interface BadgeProps\n  extends ComponentPropsWithoutRef<'span'>,\n    VariantProps<typeof badgeVariants> {\n  /** Leading status dot in the current colour. */\n  dot?: boolean\n  ref?: Ref<HTMLSpanElement>\n}\n\nexport function Badge({ variant, dot = false, className, children, ...props }: BadgeProps) {\n  return (\n    <span className={cn(badgeVariants({ variant }), className)} {...props}>\n      {dot ? <span aria-hidden=\"true\" className=\"size-1.5 rounded-full bg-current\" /> : null}\n      {children}\n    </span>\n  )\n}\n",
      "type": "registry:ui",
      "target": "hj/components/badge/index.tsx"
    }
  ],
  "cssVars": {},
  "type": "registry:ui"
}