Indication of confidence in an AI result.
Confidence: medium 72%
<div class="ai-confidence ai-confidence--medium">
<span class="ai-confidence__icon" aria-hidden="true">
<span class="glyph glyph--high">▲</span>
<span class="glyph glyph--medium">●</span>
<span class="glyph glyph--low">▼</span>
</span>
<p class="ai-confidence__text">
<span class="ai-confidence__label">Confidence:</span>
<span class="ai-confidence__level">medium</span>
<span class="ai-confidence__score">72%</span>
</p>
</div>
<style>
.ai-confidence { display: inline-flex; align-items: center; gap: 8px; font: 14px/1.4 system-ui, sans-serif; padding: 8px 12px; border-radius: 10px; background: #24143008; color: #241430; }
.ai-confidence__icon { display: inline-flex; font-size: 13px; }
.ai-confidence__icon .glyph { display: none; }
.ai-confidence--high .glyph--high, .ai-confidence--medium .glyph--medium, .ai-confidence--low .glyph--low { display: inline; }
.ai-confidence--high { border-left: 3px solid #241430; }
.ai-confidence--high .ai-confidence__icon { color: #2F8F5B; }
.ai-confidence--medium .ai-confidence__icon { color: #B4790A; }
.ai-confidence--low .ai-confidence__icon { color: #B4432F; }
.ai-confidence--high { box-shadow: inset 0 0 0 1.5px #2F8F5B55; }
.ai-confidence--medium { box-shadow: inset 0 0 0 1.5px #B4790A55; }
.ai-confidence--low { box-shadow: inset 0 0 0 1.5px #B4432F55; }
.ai-confidence__text { margin: 0; }
.ai-confidence__label { font-weight: 600; margin-right: 4px; }
.ai-confidence__level { text-transform: capitalize; font-weight: 700; }
.ai-confidence__score { margin-left: 6px; color: #24143099; }
</style><div class="ai-confidence-tw ai-confidence-tw--medium inline-flex items-center gap-2 font-sans text-sm px-3 py-2 rounded-[10px] bg-[#24143008] text-[#241430]">
<span class="ai-confidence-tw__icon inline-flex text-[13px]" aria-hidden="true">
<span class="glyph glyph--high">▲</span>
<span class="glyph glyph--medium">●</span>
<span class="glyph glyph--low">▼</span>
</span>
<p class="m-0">
<span class="font-semibold mr-1">Confidence:</span>
<span class="capitalize font-bold">medium</span>
<span class="ml-1.5 text-[#24143099]">72%</span>
</p>
</div>
<style>
.ai-confidence-tw__icon .glyph { display: none; }
.ai-confidence-tw--high .glyph--high, .ai-confidence-tw--medium .glyph--medium, .ai-confidence-tw--low .glyph--low { display: inline; }
.ai-confidence-tw--high .ai-confidence-tw__icon { color: #2F8F5B; }
.ai-confidence-tw--medium .ai-confidence-tw__icon { color: #B4790A; }
.ai-confidence-tw--low .ai-confidence-tw__icon { color: #B4432F; }
.ai-confidence-tw--high { box-shadow: inset 0 0 0 1.5px #2F8F5B55; }
.ai-confidence-tw--medium { box-shadow: inset 0 0 0 1.5px #B4790A55; }
.ai-confidence-tw--low { box-shadow: inset 0 0 0 1.5px #B4432F55; }
</style>export function AiConfidence({
label = "Confidence",
level = "medium",
score = 72,
showScore = true,
}) {
const palette = {
high: { icon: "\u25B2", color: "#2F8F5B" },
medium: { icon: "\u25CF", color: "#B4790A" },
low: { icon: "\u25BC", color: "#B4432F" },
}[level] ?? { icon: "\u25CF", color: "#B4790A" };
return (
<div style={{ display: "inline-flex", alignItems: "center", gap: 8, fontSize: 14, padding: "8px 12px",
borderRadius: 10, background: "#24143008", color: "#241430", boxShadow: `inset 0 0 0 1.5px ${palette.color}55`,
fontFamily: "system-ui, sans-serif" }}>
<span aria-hidden="true" style={{ fontSize: 13, color: palette.color }}>{palette.icon}</span>
<p style={{ margin: 0 }}>
<span style={{ fontWeight: 600, marginRight: 4 }}>{label}:</span>
<span style={{ textTransform: "capitalize", fontWeight: 700 }}>{level}</span>
{showScore && <span style={{ marginLeft: 6, color: "#24143099" }}>{score}%</span>}
</p>
</div>
);
}