{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "ui-badge",
  "title": "UI Badge",
  "author": "AlgorizeTech",
  "description": "A small status label primitive with CVA-driven variants. Used internally by pricing blocks.",
  "dependencies": [
    "@radix-ui/react-slot",
    "class-variance-authority"
  ],
  "registryDependencies": [
    "utils"
  ],
  "files": [
    {
      "path": "src/components/custom/ui/badge.tsx",
      "content": "import { Slot } from \"@radix-ui/react-slot\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\nimport { badgeVariants } from \"./badge-variants\";\n\ntype BadgeVariant = \"default\" | \"secondary\" | \"destructive\" | \"outline\";\n\ntype BadgeProps = React.HTMLAttributes<HTMLElement> & {\n  className?: string;\n  variant?: BadgeVariant;\n  asChild?: boolean;\n};\n\nfunction Badge({\n  className,\n  variant = \"default\",\n  asChild = false,\n  ...props\n}: BadgeProps) {\n  const Comp = asChild ? Slot : \"span\";\n\n  return (\n    <Comp\n      data-slot=\"badge\"\n      className={cn(badgeVariants({ variant }), className)}\n      {...props}\n    />\n  );\n}\n\nexport { Badge };\n",
      "type": "registry:ui",
      "target": "components/custom/ui/badge.tsx"
    },
    {
      "path": "src/components/custom/ui/badge-variants.ts",
      "content": "import { cva } from \"class-variance-authority\";\n\nexport const badgeVariants = cva(\n  \"inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden\",\n  {\n    variants: {\n      variant: {\n        default:\n          \"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90\",\n        secondary:\n          \"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90\",\n        destructive:\n          \"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n        outline:\n          \"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n      },\n    },\n    defaultVariants: {\n      variant: \"default\",\n    },\n  },\n);\n",
      "type": "registry:ui",
      "target": "components/custom/ui/badge-variants.ts"
    }
  ],
  "docs": "Derived from shadcn/ui (MIT, Copyright (c) 2023 shadcn).",
  "categories": [
    "utilities"
  ],
  "type": "registry:ui"
}
