Run
Alkmaar / 06:00
Issue 03 is on the cylinder. Forty percent through the run.
On press40%
Shows completion for a known process. 4px bar; the label carries the percentage.
Alkmaar / 06:00
Issue 03 is on the cylinder. Forty percent through the run.
Three ways in. They share one source, so the pixels match whichever you pick.
npm install @noorddev/vlak-react
// once, next to your app's root
import "@noorddev/vlak-react/css";
import { Progress } from "@noorddev/vlak-react";Precompiled React and one stylesheet. No compiler to configure. Per-component imports work too: @noorddev/vlak-react/components/progress.
npx @noorddev/vlak-cli add progress
The StyleX leaf lands in components/vlak/, for your own compiler to own. See StyleX.
npx shadcn add https://vlak.dev/r/progress.json
The same registry item, installed by shadcn's CLI.
<link rel="stylesheet" href="node_modules/@noorddev/vlak/css/vlak.css" />
No React. Link vlak.css and use the markup and classes below.
import { Progress } from "@noorddev/vlak-react";
<Progress label="Uploading" value={40} />
<Progress value={3} max={5} aria-label="Steps done" />| Prop | Type | Default | Description |
|---|---|---|---|
valuerequired | number | ||
max | number | 100 | |
label | ReactNode | Label above the bar; it names the bar. The percentage lives here, never inside the bar. |
Also accepts HTMLAttributes<HTMLDivElement>.
<div class="rs-progress-head"><span id="upload-label">Uploading</span><span>40%</span></div><div class="rs-progress" role="progressbar" aria-labelledby="upload-label" aria-valuemin="0" aria-valuemax="100" aria-valuenow="40"><span class="rs-progress-fill" style="width:40%"></span></div>