ns-ui / loud

Hero Chart Recorder

A chart-recorder hero: ruled paper feeds left at fixed px/s while a mechanical pen chases the live value through a deliberately underdamped spring, so a spike overshoots, quivers, and settles — and that tremor is stamped permanently into the trace.

Use when the live stream itself is the product — a status-page or dashboard hero where a strip-chart recorder's honest mechanical lag (spike overshoots, quivers, settles, and the quiver stays inked forever) IS the point; pick sparkline-automaton for a compact inline KPI tile instead, chart-ridgeline-terrain for an ambient receding ridgeline landscape rather than a legible time-series, and voice-recorder-meter for a voice-capture amplitude meter with no time axis at all — hero-chart-recorder is the only one of the four that is a recorder watching itself write, not a finished chart or a meter.

Install

npx shadcn add https://design.helpmarq.com/r/hero-chart-recorder.json
  • canvas
  • data-viz
  • chart-recorder
  • live
  • physics
  • spring
  • mono
  • aria-live
  • hero
  • status-page

ns-ui / hero-chart-recorder

The pen is honestly mechanical

It never teleports to the true value — it chases it through an underdamped spring, overshoots, quivers, and settles. Whatever the pen actually drew is what stays stamped on the paper, tremor included.

RESPONSE TIME
210ms

focus the strip, then use ← / → to scrub the trace — hover does the same with a pointer

Props

PropTypeDefaultDescription
valuenumberthe true, unlagged live value the pen chases
min?numberfixed vertical scale — recorder paper is calibrated, not auto-ranging
max?number
unit?string
label?stringused in the mono readout and the aria-live summary
speed?numberpaper feed speed, px/s
rangeMs?numberwindow used for the aria-live range/trend summary
formatValue?(value: number) => string
className?string