{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "roll-verdict",
  "title": "Roll verdict",
  "description": "A curated-roll verdict badge, colored by the status palette.",
  "dependencies": [
    "@engram/core"
  ],
  "registryDependencies": [
    "@engram/cn",
    "@engram/tokens"
  ],
  "files": [
    {
      "path": "src/components/roll-verdict.tsx",
      "content": "import type { RollVerdict } from \"@engram/core\";\nimport type { HTMLAttributes } from \"react\";\nimport { cn } from \"../lib/cn.js\";\n\nconst VERDICT: Record<RollVerdict, { label: string; color: string }> = {\n  \"god-roll\": { label: \"God Roll\", color: \"var(--engram-ok)\" },\n  partial: { label: \"Partial\", color: \"var(--engram-warn)\" },\n  \"off-meta\": { label: \"Off-meta\", color: \"var(--engram-muted)\" },\n  trash: { label: \"Trash\", color: \"var(--engram-bad)\" },\n  unranked: { label: \"Unranked\", color: \"var(--engram-faint)\" },\n};\n\nexport interface RollVerdictBadgeProps\n  extends Omit<HTMLAttributes<HTMLSpanElement>, \"color\"> {\n  verdict: RollVerdict;\n}\n\n/** A curated-roll verdict badge, colored by the status palette. */\nexport function RollVerdictBadge({\n  verdict,\n  className,\n  style,\n  ...props\n}: RollVerdictBadgeProps) {\n  const v = VERDICT[verdict];\n  return (\n    <span\n      className={cn(\n        \"inline-flex items-center gap-1.5 px-2 py-0.5 font-engram-display font-semibold text-[11px] uppercase tracking-[0.1em]\",\n        className,\n      )}\n      style={{\n        color: v.color,\n        background: `color-mix(in oklch, ${v.color} 16%, transparent)`,\n        ...style,\n      }}\n      {...props}\n    >\n      {v.label}\n    </span>\n  );\n}\n",
      "type": "registry:component",
      "target": "components/engram/roll-verdict.tsx"
    }
  ],
  "meta": {
    "level": "component"
  },
  "docs": "Extend without forking: edit the copied source, use `asChild` (Radix Slot) to change the rendered element, pass the typed `annotations` prop for curated data (verdict/tags/per-plug), or use slot / render-prop props for arbitrary content. Requires the @engram/tokens theme (--engram-* CSS variables).",
  "categories": [
    "crucible"
  ],
  "type": "registry:component"
}