{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "admin-user-row",
  "type": "registry:ui",
  "title": "Admin user row",
  "description": "User management row with avatar, online status dot, name, email, a role chip for admin, write or read access, and an accessible actions menu button.",
  "dependencies": [
    "lucide-react"
  ],
  "registryDependencies": [
    "https://ui.minidev.pro/r/avatar.json",
    "https://ui.minidev.pro/r/icon-button.json",
    "https://ui.minidev.pro/r/permission-chip.json",
    "https://ui.minidev.pro/r/status-dot.json",
    "utils"
  ],
  "files": [
    {
      "path": "registry/ui/admin-user-row.tsx",
      "type": "registry:ui",
      "target": "components/ui/admin-user-row.tsx",
      "content": "\"use client\"\nimport * as React from \"react\"\nimport { MoreHorizontalIcon } from \"lucide-react\"\nimport { cn } from \"@/lib/utils\"\nimport { Avatar, AvatarFallback } from \"@/components/ui/avatar\"\nimport { PermissionChip } from \"@/components/ui/permission-chip\"\nimport { IconButton } from \"@/components/ui/icon-button\"\nimport { StatusDot } from \"@/components/ui/status-dot\"\n\n/** One member row for an admin user list: avatar with presence, name, email, permission level and an actions menu. */\ntype AdminUserRowProps = {\n  name?: string\n  email?: string\n  role?: \"admin\" | \"write\" | \"read\"\n  /** Presence dot: true for online, false for offline, omit to hide. */\n  online?: boolean\n  className?: string\n}\n\nfunction AdminUserRow({\n  name = \"Maya Chen\",\n  email = \"maya.chen@northwind.com\",\n  role = \"read\",\n  online,\n  className,\n}: AdminUserRowProps) {\n  return (\n    <div data-slot=\"admin-user-row\" className={cn(\"flex items-center gap-3 border-b border-border px-3 py-2.5\", className)}>\n      <div className=\"relative\">\n        <Avatar className=\"size-8\">\n          <AvatarFallback>{name.slice(0, 2).toUpperCase()}</AvatarFallback>\n        </Avatar>\n        {online != null ? <StatusDot className=\"absolute -right-0.5 -bottom-0.5\" tone={online ? \"success\" : \"neutral\"} /> : null}\n      </div>\n      <div className=\"min-w-0 flex-1\">\n        <p className=\"truncate text-sm font-medium text-fg\">{name}</p>\n        <p className=\"truncate text-xs text-fg-muted\">{email}</p>\n      </div>\n      <PermissionChip level={role} />\n      <IconButton type=\"button\" size=\"icon-sm\" variant=\"ghost\" aria-label={`Actions for ${name}`}>\n        <MoreHorizontalIcon />\n      </IconButton>\n    </div>\n  )\n}\nexport { AdminUserRow }\nexport type { AdminUserRowProps }\n"
    }
  ]
}
