Meter
canonA thin static bar showing how full something is against a limit or a goal; the value stands next to it as text.
AD 26 Sep 2026 (wave B inventory): Meter and Progress are two legitimate elements, the same pair as HTML <meter> vs <progress>. Meter = a static ratio to a limit or goal (budget drawn, room occupancy, KPI, progress to promotion, project done/total, portfolio weight); Progress = work running now that ends done or failed. 7 uses on main (Rozpočty ×2, Zasedačky, Tým detail, Člen týmu KPI + Rozpočty, Portfolio výsledky, StatTile pct); Kariéra (.kar-bar, acrm !3898) and the public project page (ProgressBar.tsx deleted, .dp-*, acrm !3900) were migrated onto it on 27 Sep 2026. Moved into @acrm/ui on 27 Sep 2026 (acrm !3929: Meter + usageTone, CSS layer ds/meter.css, stories with baseline, zero visual change on 776 snapshots). TaskList .tl-prog turned out to be dead API (no screen passed progress/pct) and is deleted (acrm !3947). Track = --border like Progress — approved by the owner 27 Sep 2026 (preview meter-draha: the --surface-75 track was practically invisible on white cards). Registry repaired 17 Oct 2026 (review F3): mapped existing Ladle stories.
Used in 19 files · 15 areas · 23× — components/StatTile, components/agent-desk, components/assistant, components/clen-tymu, components/mail, components/meetings …
A thin static bar that shows how full something is against a limit or a goal. The value itself stands next to it as text; the bar only lets the eye compare.
When to use
- A ratio to a limit or a goal that does not run by itself: budget drawn, room occupancy, KPI to target, progress to promotion, share in a portfolio, project done / total tasks.
- Inside a Stat tile, a row or a card, next to the number it visualises.
When not to use
- Work that is running now and will finish or fail (extraction, transcription, import) — that is Progress.
- A distribution of several parts (demography, speaking time, the make-up of spending) — that is a chart, not a meter.
- Position in a wizard — that is the wizard's stepper.
Anatomy
- Track —
.fin-bar, 6px, pill radius;size="sm"= 4px (.fin-bar.sm) for dense rows — meeting rail speaker share, list cells (2 Oct 2026). Same track tone (--border) and fills; the host gives the width. - Fill —
.fin-bar-fill, width = the percentage clamped to 0–100;positiveby default,warnabove 80 %,critabove 100 % (usageTone), or a colour passed by the host (KPI: reached =--positive, otherwise--accent).
Best practices
- Put the number next to the bar as text („62 %", „124 000 z 200 000 Kč").
- Use
usageTonefor anything that can be overdrawn, so the thresholds are the same everywhere.
- Don't draw a bar of your own (
.xxx-bar) — use<Meter>. A thinner bar issize="sm", never a class that overrides the height. - Don't give it a label of its own; the host's text is the label.
Content
- The value next to the bar: the number the bar shows, in the same unit.
Related
- Progress, Stat tile.
Threshold mark (acrm !4414, 2. 10. 2026)
mark?: number(0–100, clipped): a vertical mark for a threshold or limit (AI decision threshold, budget limit). 2 px--fg, over the track height with 2 px overshoot above and below, separated from the fill by a 1 px gap in the surface colour; stays inside the rounded track at 0 and 100.- Readable on the positive fill, the warn fill and the empty track in both themes (≥ 3 : 1 at the edge against both neighbours; light: mark × positive 5.67, × warn 9.76, × track 15.29; dark: the dark gap carries the edge — × positive 5.50, × warn 9.45).
markLabelis appended toariaLabel(„Jistota 72 %, práh 60 %“); withoutariaLabelthe bar stays decorative and the threshold must be in the host text.- One bar for static ratios in the app: no local copies with their own threshold (e.g.
.prof-bar-track,.whyp-mini-threshold) — migrate them to Meter.
Source: docs/stat-tile/meter.usage.md · GitLab