Industrial alarm records with independent condition, acknowledgement and shelving states, explicit filters and host-confirmed actions.
Preview
Plant alarms
2 of 2 alarm records
Cooling flowMedium
Circulation loop
Condition
Cleared
Acknowledgement
Unacknowledged
Shelving
Not shelved
Sensor connection
Example instrument
Condition
Active
Acknowledgement
Acknowledged
Shelving
Shelved
Shelved until 15:00, local plant time
In action
Review a cleared event
Operator log / Local demonstration
Circulation events
The condition cleared before the operator reviewed it.
1 of 1 alarm records
Cooling flowMedium
Circulation loop / Example event
Condition
Cleared
Acknowledgement
Unacknowledged
Shelving
Not shelved
When to use
Use it for
Operator alarm lists with supplied lifecycle fields and explicit unknown values.
Supply allowed actions and onAction to request acknowledgement, shelving or unshelving. Return pending and then confirmed records from the host.
Use filter and onFilterChange for an application-owned filter; uncontrolled filtering starts from defaultFilter.
Provide unique alarm ids, a bounded set of visible records, event time labels and the site's explicit time-zone context.
Not for
Treating acknowledgement as clearing a condition, or shelving as acknowledgement.
Using a displayed action as proof that equipment changed state. The host owns permissions, audit records, filtering of large streams and shelving timers.
Install
Three ways in. They share one source, so the pixels match whichever you pick.
1. Import the package
npm install @noorddev/vlak-react
// once, next to your app's root
import "@noorddev/vlak-react/css";
import { AlarmPanel } from "@noorddev/vlak-react";
Precompiled React and one stylesheet. No compiler to configure. Per-component imports work too: @noorddev/vlak-react/components/alarm-panel.
2. Vendor the source
npx @noorddev/vlak-cli add alarm-panel
The StyleX leaf lands in components/vlak/ with its dependencies, for your own compiler to own. See StyleX.