LIVE の札LiveBadgeExperimental
「これはいまの値です」を示す小さな札です。枠と、ゆっくり明滅する点。実時間から外れているときは札を引っ込め、代わりに「いつの値か」を出します。
プレビュー
待ち時間LIVE
12分
10秒ごとに更新しています
状態とバリエーション
いまの値
success の色・枠・言葉と、ゆっくり明滅する点。点は飾りで、状態を言っているのは文字です。
LIVE
いつの値か
実時間から外れたら、札は LIVE を名乗らず、その場所で「いつの値か」を答えます。色も warning に替わりますが、言っているのは文字です。
09:40 時点
何も出さない
live でなく、detached も渡されていないとき、札は何も描きません。いつの値か分からないのに札を残すと、古い値が現在の値に見えます。(下のプレビューは空です)
(札は描かれていません)
大きさ
Badge と同じ段(sm / default / lg)。密な盤では sm、見出しの横では lg。
LIVELIVELIVE
言葉を差し替える
「LIVE」でなければならない理由はありません。実況・受信中・自動更新中など、その画面の言葉にします。
実況中受信中自動更新
TimeTransport の中
操作盤の実時間の札は、この部品が描いています。時刻を動かすと札は「いつの値か」の側に替わります(同じ形を2か所に作り置きしません)。
09:00
2026-09-12 JST
プロパティ
表は横にスクロールできます
| プロパティ | 型 | 初期値 | 説明 |
|---|---|---|---|
| live | boolean | - | 隣の値がいまの値かどうか。決めるのは呼び出し側です。札は時計を持たず、何も比較しません。 |
| children | ReactNode | - | live のときの札の文字。⚠️ 必ず言葉にしてください。明滅する点は飾りで、点だけに載せた状態は半分の読み手に届きません。 |
| detached | ReactNode | - | live でないときに、札の代わりに出すもの=「ではいつの値か」の答え(日付・時刻・「09:40 時点」)。渡さなければ何も描きません(部品は推測しません)。 |
| size | "sm" | "default" | "lg" | - | 大きさ。Badge と同じ段です。 |
| as | "span" | "div" | - | 描く要素。既定は span で、文の中にも置けます。 |
使い方
import { LiveBadge } from "@gunjo/ui";
// ⭐ live かどうかは呼び出し側が決めます。札は時計も持たず、比較もしません。
export function WaitTime({ value, connected, receivedAt }) {
return (
<Statistic
label={
<span className="inline-flex items-center gap-2">
待ち時間
{/* 実時間から外れたら、札の代わりに「いつの値か」を出します */}
<LiveBadge live={connected} detached={`${receivedAt} 時点`}>
LIVE
</LiveBadge>
</span>
}
value={value}
/>
);
}
// detached を渡さなければ、外れているとき札そのものが消えます(推測しません)
<LiveBadge live={false} />
// 変化そのものが知らせたいことなら、読み上げ領域は呼び出し側で付けます
<LiveBadge live={connected} detached={receivedAt} role="status" />設計の判断
- 「LIVE」を独立した札にしています。出どころでは
EARTH · TERMINATOR LIVEと一続きの文字で出していて、 触ってもらった人に「どういう意味?」と聞かれました。枠で囲って言葉を独立させると、 それが状態の札だと分かります。 - 読み上げ領域には、既定ではしていません。
role="status"を既定で付けると、再接続のたびに読み上げへ割り込みます。 多くの画面でこの札は環境音なので、割り込むべき画面でだけ呼び出し側が付けます。 - 外れているときに「古い」とは言いません。言うのはいつの値かです。読み手が必要としているのは評価ではなく時刻で、 それが分からないなら札は出しません。
- 時計を持たず、何も比較しません。「いまの値か」は締切・再接続・バッファなど画面ごとの事情で決まります。 2つの数の差では言えないので、判断は呼び出し側に置いています(
TimeTransportと同じ決まり)。 - Badge を組んで作っています。枠・色・大きさの段はすでにあるので、足したのは明滅する点と、live / 外れているの対だけです。