{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "badge",
  "title": "badge",
  "dependencies": [
    "@radix-ui/react-slot",
    "class-variance-authority@^0.7"
  ],
  "registryDependencies": [
    "@dwellir/dwellir-theme",
    "@dwellir/utils"
  ],
  "files": [
    {
      "path": "components/ui/badge.tsx",
      "content": "import { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport type { ComponentProps } from 'react';\nimport { cn } from '@/lib/utils';\n\n/*\n * ui-badge holds upstream's hover for a badge that renders a link, per\n * data-variant, so a span badge carries no extra classes. A link or an\n * action is still a Button.\n */\nconst badgeVariants = cva('ui-badge text-xs w-fit', {\n  variants: {\n    variant: {\n      neutral: 'badge-neutral',\n      /* Brand status: new, featured, included. */\n      accent: 'badge-accent',\n      /* The aurora hues tell categories apart, such as chain families. */\n      green: 'badge-green',\n      violet: 'badge-violet',\n      rose: 'badge-rose',\n      gold: 'badge-gold',\n      /* Errors and warnings as categories, such as failed and limited requests. */\n      red: 'badge-red',\n      orange: 'badge-orange',\n      /* Status tones (the uptime scale): the label says the state, with no dot. */\n      operational: 'badge-operational',\n      minor: 'badge-minor',\n      major: 'badge-major',\n      down: 'badge-down',\n      /* The primary fill: upstream's default badge. */\n      solid: 'border-transparent bg-primary text-primary-foreground',\n      outline: 'border-foreground-25 text-foreground',\n      secondary: 'border-transparent bg-secondary text-secondary-foreground',\n      /* A solid fill: on the sky, the destructive ink misses AA on its own tint. */\n      destructive: 'border-transparent bg-destructive text-background',\n      ghost: 'border-transparent text-foreground',\n      link: 'border-transparent text-accent-ink underline-offset-4',\n    },\n  },\n  defaultVariants: { variant: 'neutral' },\n});\n\ntype BadgeProps = ComponentProps<'span'> &\n  VariantProps<typeof badgeVariants> & {\n    asChild?: boolean;\n  };\n\nfunction Badge({ className, variant, asChild = false, ...props }: BadgeProps) {\n  const Comp = asChild ? Slot : 'span';\n  return (\n    <Comp\n      data-slot=\"badge\"\n      data-variant={variant ?? 'neutral'}\n      className={cn(badgeVariants({ variant }), className)}\n      {...props}\n    />\n  );\n}\n\nexport { Badge, badgeVariants };\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}