コンテンツにスキップ

スパークライン

hc-sparkline は、数値の隣にメトリクスの最近の方向を示すための小さな インライントレンドチャートです — 例えばカバレッジやパス率のトレンド。 CSP セーフ(default-src 'self')です: チャートライブラリへの依存も インラインスクリプトもありません。installSparkline()data-values 属性から DOM API で <svg> を描き、サーバが同じ SVG を 直接出力しても構いません(マークアップ規約)。

軸・凡例・複数系列を持つ本格的なチャートには、代わりに chart を使ってください — そちらは Observable Plot でデータテーブルを昇格させます。

別名: インラインチャート、マイクロチャート、トレンドライン。

ホストにカンマ区切りの data-values 系列と aria-label を与えます。 ビヘイビアがホストのボックスを満たすインラインの線を描画します。 サイズは --hc-sparkline-width / --hc-sparkline-height から来ます。

Line coverage 82%
import { installSparkline } from '@hypermedia-components/core';
installSparkline();

installSparkline() は冪等で、アンインストーラを返します。ゼロ設定の @hypermedia-components/core/behaviors エントリが自動インストールし、 htmx でスワップされた内容も自動で拾います。

線の下を塗るには data-area を足します。data-variant はマーク全体を 塗り替えます — successwarningerror — semantic のステータス パレットを通すため、data-theme="dark" の下で再解決されます。

Pass rate Flaky rate Error rate

値の範囲は data-min / data-max で固定できます(デフォルトは系列 自身の最小と最大)— 0..1 の比率を固定したり、複数行で 1 つの スケールを共有するのに便利です。

描画される SVG は素のマークアップなので、サーバが直接出力して ビヘイビアを丸ごとスキップできます — スタイリングは引き続きキットの 所有です。この形を使ってください。role="img"aria-label は 自分で与える点に注意してください(ビヘイビアは自身が描画するとき だけそれらを足します)。装飾なら aria-hidden の印を:

<span class="hc-sparkline" role="img" aria-label="SQL line coverage trend">
<svg class="hc-sparkline__svg" viewBox="0 0 100 100"
preserveAspectRatio="none" aria-hidden="true" focusable="false">
<polyline class="hc-sparkline__line" points="0,84 20,76 40,60 60,52 80,28 100,16"></polyline>
</svg>
</span>

installSparkline() は、すでに .hc-sparkline__svg を含むホストを スキップするため、2 つのパスは 1 ページで共存できます。

  • スパークラインは視覚的な要約です。実際の数値はその隣のテキストに 住むべきです。ホストにトレンドを説明する aria-label を与えて ください — ビヘイビアがそれを role="img" として公開します。 ラベルがなければ装飾(aria-hidden)として扱われます。
  • 内側の <svg> は常にアクセシビリティツリーから隠されます (aria-hiddenfocusable="false")。
  • data-variant の色は補強にすぎません — 意味は色相ではなく隣の テキストに保ってください。
トークンパス用途
sparkline.widthホストのデフォルト inline-size。
sparkline.heightホストのデフォルト block-size。
sparkline.colorデフォルトの線の色(アクセント)。
sparkline.stroke-width線の太さ(非スケーリング)。
sparkline.area-opacitydata-area の塗りの不透明度。
sparkline.success / sparkline.warning / sparkline.errordata-variant の色。
生成される CSS 変数を表示
--hc-sparkline-width | -height
--hc-sparkline-color | -stroke-width | -area-opacity
--hc-sparkline-success | -warning | -error
  • chart — データテーブルからの 本格的なチャート(軸、凡例、系列)。Observable Plot 経由。
  • ステータスカラーdata-variant のトレンド色が解決されるパレット。
  • プログレス — 単一値の バー。スパークラインは系列を示します。

レシピでの利用: チャート