Settings

Sidebar
Display
Profile Panel
👤

John Doe

Administrator
  • 📊 Dashboard
  • 📝 Forms
  • 📋 Tables
Commands
🚀
Go to Page
Navigate to a page
/go
🌓
Toggle Theme
Switch between light and dark mode
/theme
📐
Toggle Sidebar
Show or hide the sidebar
/sidebar
⚙️
Open Settings
Open the settings panel
/settings
Search In
📄
Pages
Search pages
:p
🧩
Components
Search component pages
:c

Bloomberg-y "sparkline list" KPI indicator. Each KPI becomes one row: name · sparkline · value · Δ%. No view-mode toggle, no status pills, no prev row — built for fast vertical scanning and side-by-side comparison rather than per-tile depth. Sparkline gets a filled area under the line for stronger visual weight than the terminal-grid version. Hover any row for the structured detail breakdown.

Two list-level modifiers are independently composable: isChartFirst flips the value/chart stacking order at narrow widths, and noDelta drops the rightmost (Δ%) column when the sparkline's slope already conveys direction. Source markup stays the same; pick modifiers per instance.

Key Performance Indicators

LIVE
Completion Rate
87.9 %
+4.4%
Monthly Revenue
$ 862 K
+14.7%
Server Temp
23.8 °C
-2.7%
Server Capacity
83.1 %
+17.1%
Error Rate
0.25 %
-38.1%
Tokyo Office
¥ 11.6 M
+3.6%

Layout variant · noDelta

Drops the rightmost (Δ%) column — each row reads as label · sparkline · value. Useful when the sparkline's slope already conveys direction and the percentage delta would be redundant chrome. The row template shrinks from 4 to 3 columns at wide widths; at narrow widths the responsive 2-row / 3-row layouts also collapse to a delta-less shape. The Δ% data is left on each row so the popover still surfaces it on hover.

Key Performance Indicators

LIVE
Completion Rate
87.9 %
+4.4%
Monthly Revenue
$ 862 K
+14.7%
Server Temp
23.8 °C
-2.7%
Error Rate
0.25 %
-38.1%

1×3 page-grid — isChartFirst comparison

Three smaller cards side-by-side. The middle card uses the isChartFirst modifier so you can see the two stacking styles at the same width: card 1 + 3 = value-above-chart (default), card 2 = chart-above-value (modifier).

Completion Rate
87.9 %
+4.4%
Monthly Revenue
$ 862 K
+14.7%
Server Temp
23.8 °C
-2.7%
Server Capacity
83.1 %
+17.1%
Error Rate
0.25 %
-38.1%
Tokyo Office
¥ 11.6 M
+3.6%

Usage Guide

When to use

Vertical scanning of many KPIs side-by-side. Each row reads label · trend · value · Δ% in a single glance. Best for "give me the whole board at once" use cases — financial dashboards, ops monitoring, performance reviews. If you want per-tile depth or status pills, pick Terminal grid or Editorial minimal instead.

Chart cell is library-agnostic

Pass any chart content via the chart snippet — inline SVG (as shown), Chart.js <canvas>, or any other library. When SVG with a <circle> endpoint marker is detected, the kpiSparklineDots action auto-converts it to a CSS-pixel-sized span so the dot stays round under the SVG's preserveAspectRatio="none" stretching.

Two sentiment scales

variant sets the trend colour (line, area-fill, dot) via a currentColor cascade — 5 levels: up-strong / up / flat / down / down-strong. deltaVariant colours the Δ% cell using a different 5-step scale: very-positive / positive / neutral / negative / very-negative. The two scales are distinct because the line and the delta value can disagree (e.g., a sharp drop in error rate is line-going-down but delta-very-positive).

Responsive layout

Container queries (driven by card width, not viewport) collapse the 4-col grid in stages: below 640 px → label/value/delta on one row with chart spanning below; below 360 px → label / chart / value+delta as three rows.

List-level modifiers (composable)

Two independently composable boolean props on KpiSparklineList:

  • isChartFirst — flips the mid-narrow 2-row collapsed layout from "value-above-chart" to "label / chart / value+delta", preserving the canonical L→R reading order when rotated 90°. The very-narrow ≤360 px fallback always uses the 3-row layout regardless of modifier — neither variant has room for label+value+delta on one line at that width.
  • noDelta — drops the rightmost Δ% column. At wide widths the row shrinks from 4 cols to 3 (label · chart · value); at mid-narrow the top row becomes label value only; at very-narrow the bottom row becomes a single full-width value cell. The delta element is hidden via display: none, so the same markup keeps the value available for the popover on hover.

Composing both (isChartFirst + noDelta) at mid-narrow gives a clean 3-row single-column stack: label / chart / value.


Component Reference

KpiSparklineList props

  • titleText — card title in the header.
  • isLive — show the LIVE pill with animated green dot.
  • footerText — footer caption (plain string). Override via footer snippet.
  • isChartFirst — apply pa-kpi-spark-list--chart-first modifier (rotates the narrow-card layout to label-on-top / chart-middle / value+delta-bottom).
  • noDelta — apply pa-kpi-spark-list--no-delta modifier (drops the Δ% column; composes with isChartFirst).

KpiSparklineRow props

  • variant — trend line/area/dot colour: up-strong / up / flat / down / down-strong.
  • labelText — uppercase mono label.
  • valueText / unit / prefix — focal value cell.
  • deltaText + deltaVariant — Δ% text and sentiment: very-positive / positive / neutral / negative / very-negative.
  • chart — snippet for the chart cell (SVG, canvas, anything).
  • detailTitleText — popover title (setting this enables the auto-generated popover).
  • previousValueText — "Previous" row in the auto-generated popover.
  • targetText — "Target" row in the auto-generated popover.
  • deltaAbsoluteText — "Δ absolute" row in the auto-generated popover.

Keyboard Shortcuts

No shortcuts registered.