LiveReadouts

data-display

Real-time biometric readout panel with metric cards in responsive grid. Each card shows large monospace value, unit, trend arrow, status dot, and optional sparkline. Supports normal/warning/critical states and active pulse animation.

Import

typescript
import { LiveReadouts } from "packages/ui/src";

Props

LiveReadoutsProps

PropTypeRequired
metricsReadoutMetric[]Yes
titlestringNo
columns2|3|4No

Examples

Kaleido-Life Biometrics

Live Readouts

Real-time biometric readout panel with sparklines, trend indicators, and color-coded status dots. Built from the Stitch “Clinical Sentinel” design system via the full pipeline.

Vital Signs (Normal)

Five biometric metrics in healthy range. Heart rate has active pulse animation. Sparklines show 5-minute trend history.

Patient Dashboard

Heart Rate
72bpm
Blood Pressure
120/80mmHg
SpO2
98%
Stress Level
Low
Respiration
16rpm

Critical Alert State

Metrics in warning/critical range trigger color changes and blinking status indicators. Critical dots blink to draw attention.

Alert: Elevated Vitals

Heart Rate
142bpm
Blood Pressure
165/95mmHg
SpO2
91%
Temperature
38.9°C

Minimal (No Trends/Sparklines)

Metrics can be displayed without optional features — just label and value. Auto-fit grid adapts to content width.

Steps
8,421
Calories
2180kcal
Sleep
7h 23m

Pipeline Journey

1Brain recommended Live Readouts from Kaleido-Life biometrics
2Stitch generated “Clinical Sentinel” / Biometric Pulse design
315 DTCG tokens extracted (card glass, status colors, sparkline)
4React component with metric cards, sparkline SVG, trend arrows
5Showcase deployed to cms.chem.dev/readouts

Metadata

Component Metadata
Familydata-display
FrameworksNext.js, Astro/EmDash
DescriptionReal-time biometric readout panel with metric cards in responsive grid. Each card shows large monospace value, unit, trend arrow, status dot, and optional sparkline. Supports normal/warning/critical states and active pulse animation.
PropsLiveReadoutsProps (metrics: ReadoutMetric[], title?: string, columns?: 2|3|4)
Statesnormal, warning, critical, active-pulse, with-sparkline, with-trend
A11y
  • Region has role=region with aria-label
  • Status dot has aria-label
  • Trend arrow has aria-label
  • Sparkline is aria-hidden
Responsive
  • Auto-fit grid (min 160px)
  • Optional fixed 2/3/4 columns
Motion
  • Active card pulse 2s ease-in-out infinite
  • Critical status blink 1s
  • Card box-shadow transition 300ms
Token Dependencies
  • components.liveReadouts.cardBackground
  • components.liveReadouts.cardBorderRadius
  • components.liveReadouts.cardBorder
  • components.liveReadouts.valueColor
  • components.liveReadouts.valueFontFamily
  • components.liveReadouts.labelColor
  • components.liveReadouts.unitColor
  • components.liveReadouts.trendUpColor
  • components.liveReadouts.trendDownColor
  • components.liveReadouts.trendFlatColor
  • components.liveReadouts.statusNormal
  • components.liveReadouts.statusWarning
  • components.liveReadouts.statusCritical
  • components.liveReadouts.sparklineColor
  • components.liveReadouts.pulseGlowColor
Content Slotsmetrics (ReadoutMetric[]), title (string)
CMS Bindings
  • Metrics from CMS biometric data
  • Thresholds from CMS config
Test Cases
  • Renders metric cards with labels
  • Displays value and unit
  • Shows trend arrow with correct direction
  • Renders status dot with correct class
  • Shows sparkline when data provided
  • Applies active pulse class
  • Renders title when provided
  • Passes className through