Components / Feedback

Ring nativelite

A circular progress ring for a fraction, sized like an icon.

Children
none
Loading the renderer…
Ring rendered by the React renderer on Web
Web React
Ring rendered by the SwiftUI renderer on iOS
iOS SwiftUI
Ring rendered by the Compose renderer on Android
Android Compose
Ring rendered by the gpui renderer on Desktop
Desktop gpui

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

size · sm
size · default
size · lg
tone · neutral
tone · primary
tone · success
tone · warning
tone · danger
tone · info
PropTypeDefaultDescription
valuerequiredbindnumber–The fraction 0 to 1.
sizesm | default | lg"default"Diameter class.
toneneutral | primary | success | warning | danger | info"primary"The arc colour tone.
labelstring–An accessibility label.

No events, no slots. Children: none.

Role
progressbar
Semantics
progressbar (value 0..1 as percent)

Not focusable; no keys.

Recipe parts
Ring/rootRing/trackRing/fillRing/label
Keyed by
sizetone:hover:pressed:focus:disabled:checked:open:selected:invalid:dragover

Themes · Write a theme

Context ring

EXP-877: how full the agent's context window is, as a 16px radial where the context pill used to be — and the trigger of the usage overlay the session already had.

More

The arc is a stroked circle rotated a quarter turn, the track the same circle at 20% opacity, and the tone is the session's, not the ring's: the app maps its own thresholds onto normal / warning / danger and passes one in. A run nothing has measured renders NOTHING unless `showEmpty` says the run has other usage worth opening.

Webok
ContextRingpackages/ui/src/context-ring.tsx

ringGeometry + RING_TONE_CLASS ship with it; the app's lib/context-ring.ts derives percent and tone

Desktopok
usage_sheet::context_ringapps/desktop/crates/ui/src/usage_sheet.rs

mounted by steer_viewer::render_context_ring; the percentage comes from usage_bar::context_percent

Sub-issue progress ring

EXP-1097: the completion ring that leads the issue detail's Sub-issues band — done of total as an arc over a 20% track, the SAME 16-unit box, 2-unit stroke and track as the context ring (`ringGeometry`), drawn at 14px and painted in the team's COMPLETED status colour.

More

The band reads ring · "Sub-issues" · `done/total` · `+` over flat rows (`lib/issue-relations-view.ts`, fixture-locked ×4).

Webok
ProgressRingpackages/ui/src/progress-ring.tsx

the Sub-issues band in components/issue-relations-card.tsx mounts it

iOSok
ProgressRingapps/ios/ExpUI/Sources/ProgressRing.swift

EXP-1097: IssueSubIssuesSection (IssueRelationRows.swift) leads its band with it

Androidok
SubIssueProgressRingapps/android/app/src/main/java/com/exponential/app/ui/issue/RelationsSection.kt

EXP-1097: SubIssuesSection leads its band with it

Desktopok
issue_relations::render_sub_issuesapps/desktop/crates/ui/src/issue_relations.rs

EXP-1097: a ProgressCircle on the context ring's geometry, the COMPLETED status colour