ENGLISH·COURSE API
    Preparing search index...
    • A thin gold meter with its reading beside it.

      Parameters

      • value: {
            value: number;
            max: number;
            label: string;
            ariaLabel: string;
            className?: string;
        }

        Where the learner is: watched percent, or completed lessons

      Returns Element

      Presentational and nothing else: it reads no storage, calls no hook and formats no copy. Both labels are passed in already localized, so the two islands that use it — one counting seconds of a video, one counting lessons of a module — differ in what they count without differing in how a bar looks.

      The state never rests on the fill alone: the bar carries role="progressbar" with its value and bounds for assistive technology, and the visible label states the same thing in text for a learner who cannot separate the gold from the track.

      The fill is clamped, so an out-of-range value — a stored position past a lesson's duration, say — draws a full bar rather than overflowing its track.

      <WatchProgressBar value={40} max={100} label="40%" ariaLabel="40% watched" />