{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "role-badge",
  "title": "Role Badge",
  "description": "Account role indicator for owners, admins, members, and billing contacts.",
  "dependencies": [
    "@vllnt/ui@^0.3.0"
  ],
  "registryDependencies": [],
  "files": [
    {
      "path": "registry/default/role-badge/role-badge.tsx",
      "content": "import * as React from \"react\";\n\nimport { cn } from \"@vllnt/ui\";\nimport { badgeVariants } from \"@vllnt/ui\";\n\nexport type RoleBadgeRole = \"admin\" | \"billing\" | \"member\" | \"owner\";\n\nexport type RoleBadgeProps = Omit<\n  React.ComponentPropsWithoutRef<\"span\">,\n  \"children\"\n> & {\n  accountRole: RoleBadgeRole;\n  label?: string;\n};\n\nfunction getRoleLabel(accountRole: RoleBadgeRole): string {\n  switch (accountRole) {\n    case \"admin\":\n      return \"Admin\";\n    case \"billing\":\n      return \"Billing\";\n    case \"member\":\n      return \"Member\";\n    case \"owner\":\n      return \"Owner\";\n  }\n}\n\nfunction getRoleClasses(accountRole: RoleBadgeRole): string {\n  switch (accountRole) {\n    case \"admin\":\n      return \"border-violet-500/30 bg-violet-500/10 text-violet-700 dark:text-violet-300\";\n    case \"billing\":\n      return \"border-sky-500/30 bg-sky-500/10 text-sky-700 dark:text-sky-300\";\n    case \"member\":\n      return \"border-border bg-muted text-muted-foreground\";\n    case \"owner\":\n      return \"border-primary/30 bg-primary/10 text-primary\";\n  }\n}\n\nexport const RoleBadge = ({\n  accountRole,\n  className,\n  label,\n  ref: reference,\n  ...props\n}: RoleBadgeProps & { ref?: React.Ref<HTMLSpanElement> }) => {\n  return (\n    <span\n      className={cn(\n        badgeVariants({ variant: \"outline\" }),\n        \"rounded-full px-2.5 py-1 text-[11px] font-medium shadow-none\",\n        getRoleClasses(accountRole),\n        className,\n      )}\n      ref={reference}\n      {...props}\n    >\n      {label ?? getRoleLabel(accountRole)}\n    </span>\n  );\n};\n\nRoleBadge.displayName = \"RoleBadge\";\n",
      "type": "registry:component"
    }
  ],
  "type": "registry:component",
  "version": "0.3.0",
  "stability": "stable"
}
