{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "badge",
  "title": "Badge",
  "description": "Small status or count label with semantic color variants.",
  "dependencies": [
    "@base-ui/react@^1.8.0",
    "class-variance-authority@^0.7.1"
  ],
  "files": [
    {
      "path": "registry/rapid/ui/badge/badge.tsx",
      "content": "import { mergeProps } from '@base-ui/react/merge-props'\nimport { useRender } from '@base-ui/react/use-render'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '@/lib/utils'\n\nconst badgeVariants = cva(\n\t'group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!',\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault: 'bg-muted text-foreground [a]:hover:bg-muted/80',\n\t\t\t\tsecondary: 'bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80',\n\t\t\t\tdestructive: 'bg-destructive-subtle text-destructive-subtle-foreground [a]:hover:bg-destructive-subtle/60',\n\t\t\t\tinfo: 'bg-info-subtle text-info-subtle-foreground [a]:hover:bg-info-subtle/60',\n\t\t\t\tsuccess: 'bg-success-subtle text-success-subtle-foreground [a]:hover:bg-success-subtle/60',\n\t\t\t\twarning: 'bg-warning-subtle text-warning-subtle-foreground [a]:hover:bg-warning-subtle/60',\n\t\t\t\toutline: 'border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground',\n\t\t\t\tghost: 'hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50',\n\t\t\t\tlink: 'text-primary underline underline-offset-4',\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: 'default',\n\t\t},\n\t},\n)\n\nfunction Badge({\n\tclassName,\n\tvariant = 'default',\n\trender,\n\t...props\n}: useRender.ComponentProps<'span'> & VariantProps<typeof badgeVariants>) {\n\treturn useRender({\n\t\tdefaultTagName: 'span',\n\t\tprops: mergeProps<'span'>(\n\t\t\t{\n\t\t\t\tclassName: cn(badgeVariants({ variant }), className),\n\t\t\t},\n\t\t\tprops,\n\t\t),\n\t\trender,\n\t\tstate: {\n\t\t\tslot: 'badge',\n\t\t\tvariant,\n\t\t},\n\t})\n}\n\nexport { Badge, badgeVariants }\n",
      "type": "registry:ui",
      "target": "components/ui/badge.tsx"
    }
  ],
  "type": "registry:ui"
}