Review acquisition
Optics bench / Example run
Optical measurement
Awaiting reviewRun 042
- Sample
- 042
- Recorded temperature
- 21.4 °C
- Acquire readingsRecordedData file attached to the run record
- Review acquisitionNot reviewed
Supplied experiment metadata, conditions and ordered protocol steps with explicit statuses and controlled recording actions.
Optical measurement
Awaiting reviewRun 042
Optics bench / Example run
Optical measurement
Awaiting reviewRun 042
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 { ExperimentRun } from "@noorddev/vlak-react";Precompiled React and one stylesheet. No compiler to configure. Per-component imports work too: @noorddev/vlak-react/components/experiment-run.
npx @noorddev/vlak-cli add experiment-run
The StyleX leaf lands in components/vlak/ with its dependencies, for your own compiler to own. See StyleX.
npx shadcn add https://vlak.dev/r/experiment-run.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 { ExperimentRun } from "@noorddev/vlak-react";
<ExperimentRun label="Optical measurement" runId="042" protocol="Protocol revision 3" status="Awaiting review" conditions={[{ id: "temperature", label: "Recorded temperature", value: "21.4 °C" }]} steps={[
{ id: "acquisition", label: "Acquire readings", status: "Recorded", details: "Data file supplied by the instrument" },
{ id: "review", label: "Review acquisition", status: "Not reviewed" },
]} />Supplied run metadata and protocol steps, with application-owned transitions.
| Prop | Type | Default | Description |
|---|---|---|---|
labelrequired | string | ||
runId | string | ||
protocol | ReactNode | ||
statusrequired | string | ||
conditions | readonly ExperimentCondition[] | [] | |
stepsrequired | readonly ExperimentStep[] | ||
onAction | (stepId: string, actionId: string) => void | Requests an explicit action. State remains supplied by the application. |
Also accepts HTMLAttributes<HTMLDivElement>.
| Keys | Does |
|---|---|
| Tab | Moves between supplied links and enabled step actions. |
| Enter, Space | Requests the focused step action through onAction. |
<div class="rs-experiment-run" role="group" aria-label="Optical measurement"><div class="rs-experiment-run-head"><p class="rs-experiment-run-title">Optical measurement</p><span class="rs-experiment-run-context">Awaiting review</span></div><p class="rs-experiment-run-context">Run 042</p><ol class="rs-experiment-run-list"><li class="rs-experiment-run-step"><div class="rs-experiment-run-head"><span>Review acquisition</span><span class="rs-experiment-run-context">Not reviewed</span></div></li></ol></div>