{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "status-dot",
  "title": "Status Dot",
  "description": "A status shape with its label, for lists and headers.",
  "registryDependencies": [
    "https://sproutboat.com/ikada/r/theme.json",
    "https://sproutboat.com/ikada/r/cn.json",
    "https://sproutboat.com/ikada/r/status.json",
    "https://sproutboat.com/ikada/r/status-glyph.json"
  ],
  "files": [
    {
      "path": "registry/ikada/ui/status-dot.tsx",
      "content": "\"use client\";\n\nimport type { ComponentProps } from \"react\";\nimport { cn } from \"@/components/ikada/lib/cn\";\nimport type { Status } from \"@/components/ikada/status\";\nimport { StatusGlyph } from \"@/components/ikada/status-glyph\";\n\nexport interface StatusDotProps extends Omit<ComponentProps<\"span\">, \"children\"> {\n  /** Which status: sets the shape and the colour. Default neutral. */\n  tone?: Status;\n  /** @deprecated Use `tone`; removed in 0.3.0. */\n  status?: Status;\n  /** Required: a dot is never the only signal. */\n  label: string;\n  /** Keeps the label for screen readers and hides it visually (dense tables). */\n  hideLabel?: boolean;\n  /** Success that is serving traffic (\"Live 90%\"): its own bullseye shape, not the \"Ready\" circle. */\n  live?: boolean;\n  /** Pulses for in-progress states; the ring stops spinning when motion is reduced. */\n  pulse?: boolean;\n  /** Success that just happened: the shape sprouts on mount (grows up and sends one ring out). */\n  sprout?: boolean;\n}\n\n/** A status shape with its label, for lists and headers. Never colour alone. */\nexport function StatusDot({\n  tone,\n  status: legacyStatus,\n  label,\n  hideLabel = false,\n  live = false,\n  pulse = false,\n  sprout = false,\n  className,\n  ref,\n  ...props\n}: StatusDotProps) {\n  const status: Status = tone ?? legacyStatus ?? \"neutral\";\n  return (\n    <span\n      data-slot=\"status-dot\"\n      ref={ref}\n      data-status={status}\n      className={cn(\"inline-flex max-w-full items-center gap-2 text-sb-base text-fg\", className)}\n      {...props}\n    >\n      <StatusGlyph tone={status} live={live} pulse={pulse} sprout={sprout} />\n      <span className={hideLabel ? \"sr-only\" : \"min-w-0 [overflow-wrap:anywhere]\"}>{label}</span>\n    </span>\n  );\n}\n",
      "type": "registry:ui",
      "target": "@components/ikada/status-dot.tsx"
    }
  ],
  "categories": [
    "data-display"
  ],
  "type": "registry:ui"
}