DocumentationNuxt Charts v3

Status Tracker Chart

Learn how to implement and customize Status Tracker Charts in your Nuxt application.

The StatusTrackerChart component renders a compact, responsive timeline of categorical status bars — the familiar uptime / status-page view. When the container cannot fit every bar, older records are dropped so the newest stay visible on the right. New in v3.

Basic Usage

Props

PropTypeDefaultDescription
dataT[]RequiredStatus samples ordered oldest-to-newest.
categoriesRecord<string, BulletLegendItemInterface>RequiredMaps each status key to its display label and color.
titlestringundefinedOptional chart title shown in the header.
summarystring | numberundefinedOptional summary shown in the header, e.g. "99.99% uptime".
heightnumber28Fixed chart height in pixels.
barWidthnumber8Width of each status bar in pixels.
barGapnumber3Gap between status bars in pixels.
visibleBarsnumberundefinedExplicit number of bars to render. Overrides responsive fitting.
startLabelstringundefinedLabel shown under the left edge of the tracker.
endLabelstringundefinedLabel shown under the right edge of the tracker.
emptyStatusstring'empty'Status key used for generated empty bars.
emptyColorstringvar(--chart-empty-color, #e5e7eb)Fallback colour for generated empty bars.
statusAccessor(datum: T, index: number) => stringdatum.statusResolve a status key from a datum.
labelAccessor(datum: T, index: number) => stringdatum.labelResolve a tooltip/ARIA label from a datum.
valueAccessor(datum: T, index: number) => number | undefineddatum.valueResolve a numeric value shown in tooltips.
valueFormatter(value: number, datum: T, index: number) => stringundefinedFormat numeric values for tooltips.
hideHeaderbooleanfalseHide the header region.
hideLegendbooleanfalseHide the status legend.
hideTooltipbooleanfalseHide native browser tooltips.
roundedbooleantrueRound only the first and last visible bars.

Data Format

Provide samples oldest-to-newest. Each status must have a matching entry in categories.

types.ts
interface StatusTrackerDatum {
  status: string;
  label?: string;
  value?: number;
}