1 viewer
Back to Components
Component · Feedback

Progress

Progress indicator with accessible range semantics.

Category
Feedback
Slots
6
States
3
Writer
Shared
cre8.primitive.progress

Preview

Live renderShared SSR + WASM writers
HyperDB Graph Indexing84%
<Progress label="HyperDB Graph Indexing" max={100} value={84} />

Variants

States and intents
Syncing HyperDB Block 184,20035%
Proof Verification Complete100%

Anatomy

The named parts of the rendered markup. Recipes style these hooks, and every renderer keeps them stable.

SlotDOM class
root.primitive-progress
header.primitive-progress__header
label.primitive-progress__label
percent.primitive-progress__percent
track.primitive-progress__track
fill.primitive-progress__fill
6 rows
Modifier
primitive-progress--{state}
State attribute
data-statefrom the state prop
Role
progressbar

States and platforms

The states the contract publishes, the platforms it declares, and the style recipes that dress it.

States
determinateindeterminatecomplete
Platforms
webnativeruntime-node
Recipes
unstyledruntime-console

Renderers

Shared writer
Progress renders through the one writer the server and the WASM DOM share, so both emit the same markup.

Every tag in the example above renders through a shared writer.

Declared adapters. A status is the manifest's declaration, not a measured parity result.

TargetRendererStatus
webreactexperimental
runtime-nodeview-nodeready
ssrhtml-semanticready
terminalterminal-textplanned
nativenative-adapterexperimental
5 rows

Accessibility

Exposes progressbar semantics, value bounds, and indeterminate state without relying on recipe styling.

  • Determinate progress exposes value, min, and max to assistive tech.
  • Indeterminate progress omits aria-valuenow while preserving an accessible name.