{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "priority-picker",
  "type": "registry:ui",
  "title": "Priority picker",
  "description": "A radio group of priority chips, Low, Medium, High and Urgent, each with a colored dot and aria-checked state. Built for issue trackers, tasks and ticket forms.",
  "dependencies": [],
  "registryDependencies": [
    "utils"
  ],
  "files": [
    {
      "path": "registry/ui/priority-picker.tsx",
      "type": "registry:ui",
      "target": "components/ui/priority-picker.tsx",
      "content": "\"use client\"\nimport * as React from \"react\"\nimport { cn } from \"@/lib/utils\"\n\nconst levels = [\n  { value: \"low\", label: \"Low\", color: \"bg-fg-subtle\" },\n  { value: \"medium\", label: \"Medium\", color: \"bg-warning\" },\n  { value: \"high\", label: \"High\", color: \"bg-danger\" },\n  { value: \"urgent\", label: \"Urgent\", color: \"bg-danger\" },\n] as const\n\nfunction PriorityPicker({\n  value,\n  onChange,\n  className,\n}: {\n  value?: string\n  onChange?: (value: string) => void\n  className?: string\n}) {\n  return (\n    <div data-slot=\"priority-picker\" role=\"radiogroup\" aria-label=\"Priority\" className={cn(\"flex flex-wrap gap-1.5\", className)}>\n      {levels.map((l) => {\n        const on = l.value === value\n        return (\n          <button\n            key={l.value}\n            type=\"button\"\n            role=\"radio\"\n            aria-checked={on}\n            className={cn(\n              \"inline-flex h-7 items-center gap-1.5 rounded-md border px-2 text-xs font-medium outline-none focus-visible:ring-2 focus-visible:ring-accent\",\n              on ? \"border-border bg-sunken text-fg\" : \"border-transparent text-fg-muted hover:bg-sunken\"\n            )}\n            onClick={() => onChange?.(l.value)}\n          >\n            <span className={cn(\"size-1.5 rounded-full\", l.color)} aria-hidden />\n            {l.label}\n          </button>\n        )\n      })}\n    </div>\n  )\n}\nexport { PriorityPicker }\n"
    }
  ]
}
