Components / Feedback

Meter macrolite

A usage track: a bar of coloured segments against a maximum, with a caption and a value.

Built from
BoxText
Children
none
Loading the renderer…
Meter rendered by the React renderer on Web
Web React
Meter rendered by the SwiftUI renderer on iOS
iOS SwiftUI
Meter rendered by the Compose renderer on Android
Android Compose
Meter rendered by the gpui renderer on Desktop
Desktop gpui

View exponential-ui-meter, painted by each native renderer.

PropTypeDefaultDescription
segmentsrequired[segment]–The slices in order.
maxnumber100The full amount.
labelstring–A caption before the track.
valuestring–A formatted value after the track.

No events, no slots. Children: none.

Role
meter
Semantics
meter (value of max, labelled by its label)

Not focusable; no keys.

Recipe parts
Meter/rootMeter/headerMeter/labelMeter/valueMeter/trackMeter/segment
Keyed by
tone:hover:pressed:focus:disabled:checked:open:selected:invalid:dragover

Themes · Write a theme

Meter

The ONE bar every usage surface draws — the rate-limit windows, the run's context, the mini line.

More

A capsule track in the strong stroke with a capsule fill, and exactly three tones: foreground at 30% normally, the yellow semantic from 75%, the destructive from 95%. The height is the caller's (6px full, 4px mini); the tone is the only decision. Before EXP-909 there were two bars two rows apart — a bare Progress with the primary fill, and a hand-rolled span with its own tone map — reading the same percent in different colours.

Segmented bar

EXP-1051: the context window's breakdown — the Meter's track, filled left to right by one slice per layer the run's context_layout named (base, tools, playbook, team prompt, project, task) and the derived conversation, in the contract's tones, clipped at 100% and never rescaled; free space is the bare track.

More

Three hairline ticks mark the compaction floor (50%) and the two usage thresholds (75%, 95%). The legend swatch beside each row reuses the slice's tone, so a square and its slice cannot disagree.