1. Documentation
  2. Data display
  3. Status Bar
ReadmenpmGitHub
  • Introduction
  • Installation
  • Theming
  • Icons
  • Accordion
  • Card
  • Scroll Area
  • Separator
  • Sidebar
  • Field
  • Label
  • Input
  • Textarea
  • Number Field
  • OTP Field
  • Select
  • Combobox
  • Checkbox
  • Radio
  • Switch
  • Slider
  • Toggle
  • Calendar
  • Date Picker
  • File Upload
  • Button
  • Copy Button
  • Dropdown
  • Command
  • Tabs
  • Breadcrumb
  • Pagination
  • Tree
  • Table
  • Data Table
  • Stat
  • Timeline
  • Avatar
  • Status Bar
  • Badge
  • Meter
  • Empty
  • Skeleton
  • Spinner
  • Toast
  • Dialog
  • Sheet
  • Popover
  • Tooltip
  • Text
  • Kbd
  • Code Block
  • Utilities
  • Design rules

Status Bar

The uptime bar — one thin column per slice of time, coloured by what happened.

Loading documentation…

Avatar< PreviousBadgeNext >

Powered by heyo

On this page

UsageLevelsSizesThe live dotPropertiesStatusBarStatusBar.Dot
acme-api99.98% uptime
90 days agoToday
<StatusBarlabel="acme-api"value="99.98% uptime"legend={["90 days ago", "Today"]}ticks={history}/>

StatusBar is the uptime strip from a status page: one column per slice of time, oldest on the left, coloured by what happened.

The columns flex rather than sitting at a fixed width, so ninety days fit a sidebar and a phone without a horizontal scrollbar or a media query. The gaps stay 2px, which is what keeps it readable as ninety things rather than one smear.

Usage

tsx
import { StatusBar } from "@heyo-sh/heyo-ui";<StatusBar ticks={history} label="acme-api" value="99.98%" />;

Levels

operationalStatusLeveloptional

Everything worked.

degradedStatusLeveloptional

Slow, retried, partially failing.

partialStatusLeveloptional

Some components down, others fine.

downStatusLeveloptional

Not serving.

maintenanceStatusLeveloptional

Planned, and therefore not a failure.

unknownStatusLeveloptional

No data for that slice — not the same as "fine".

Sizes

<StatusBar size="sm" ticks={ticks} /><StatusBar size="base" ticks={ticks} /><StatusBar size="lg" ticks={ticks} />

The live dot

StatusBar.Dot is the current state, on its own. pulse adds a slow halo — only ever for now, never for history: a pulsing dot in a list of past events suggests something is still happening.

All systems operationalDegradedDown
<StatusBar.Dot pulse status="operational" label="All systems operational" /><StatusBar.Dot status="degraded" label="Degraded" /><StatusBar.Dot status="down" label="Down" />

Properties

StatusBar

ticksStatusTick[]required

Oldest first, newest last — the same direction as the time axis. Each tick is { status, label? }, where label becomes the native tooltip.

labelReactNodeoptional

The row above the bar.

valueReactNodeoptional

Right of the label — usually an uptime percentage.

legend[ReactNode, ReactNode]optional

Captions under the two ends, for example "90 days ago" and "Today".

size"sm" | "base" | "lg"optional

Column height. It defaults to base.

StatusBar.Dot

statusStatusLevelrequired

What it is reporting.

pulsebooleanoptional

Adds a slow halo. Only for the current state.

labelReactNodeoptional

What the dot means, rendered beside it.