Skip to content

Progress

Determinate or indeterminate accent bar on a tinted track.

Preview

68%

<div class="nx-progress" role="progressbar" aria-label="Upload" aria-valuenow="68" aria-valuemin="0" aria-valuemax="100"><div class="nx-progress__bar" style="width:68%"></div></div>

API

React props (NxKit)

React (NxKit) props
PropTypeDefaultRequiredDescription
valuenumber00-100, ignored when indeterminate.
labelstringundefinedRequired accessible name — NxProgress dev-warns when absent.
indeterminatebooleanfalseAnimated unknown-duration state (reduced-motion fallback: static 40% bar).

Classes

Framework-agnostic classes
ClassDescription
.nx-progressTrack, accent-100 bg, full radius
.nx-progress__barAccent fill bar
.nx-progress--indeterminateAnimated sweep, respects prefers-reduced-motion

States

indeterminate

Accessibility

  • role="progressbar" always needs an accessible name via aria-label/aria-labelledby — NxProgress dev-warns in non-production when label is missing.
  • Indeterminate omits aria-valuenow (unknown value); reduced-motion shows a static partial bar instead of the sweep animation.

Do / Don’t

  • Do: Always pass a label describing what's loading.Don’t: Don't set aria-valuenow on an indeterminate bar.

View in spec →