{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "presence-dot",
  "type": "registry:ui",
  "title": "Presence dot",
  "description": "A small colored dot for user status: online, away, busy or offline, exposed with role status and an aria label. Overlay it on avatars in chat and team lists.",
  "dependencies": [],
  "registryDependencies": [
    "utils"
  ],
  "files": [
    {
      "path": "registry/ui/presence-dot.tsx",
      "type": "registry:ui",
      "target": "components/ui/presence-dot.tsx",
      "content": "\"use client\"\nimport * as React from \"react\"\nimport { cn } from \"@/lib/utils\"\n\nconst tones = {\n  online: \"bg-success\",\n  away: \"bg-warning\",\n  busy: \"bg-danger\",\n  offline: \"bg-fg-subtle\",\n} as const\n\nfunction PresenceDot({\n  status = \"offline\",\n  className,\n  label,\n}: {\n  status?: keyof typeof tones\n  className?: string\n  label?: string\n}) {\n  return (\n    <span\n      data-slot=\"presence-dot\"\n      role=\"status\"\n      aria-label={label ?? status}\n      className={cn(\"inline-block size-2.5 rounded-full\", tones[status], className)}\n    />\n  )\n}\nexport { PresenceDot }\n"
    }
  ]
}
