KQ-906 · CALL/QUALITY

Call Quality

How good the line is, as a staircase of bars that rise and fall with the grade on flick — a level meter follows the signal rather than settling into it — leaving the steps it lost behind as hairline ghosts. A reconnecting line flattens the bars and spins a ring around them at a constant linear rate, because a wait turns at a constant rate; a lost line holds a broken arc in danger. The pill is a real disclosure whose detail panel opens in flow on glide at a ResizeObserver-measured height, and Enter or Space opens it.

KQ-906 · CALL/QUALITY
Excellent

38 ms · 0.1% loss · the line is good

Install

One command — the source lands in your repo. Or copy it from the Code tab.

$ pnpm dlx shadcn@latest add @kinetiq/call-quality

Props

level
number
default
Grade 0–4, clamped and rounded; 4 is a clean line.
state
"live" | "reconnecting" | "lost"
default "live"
The transport's own state; anything but live flattens the bars and shows the ring.
rttMs
number
default
Round-trip in milliseconds, printed in the pill and the panel.
lossPercent
number
default
Packet loss, printed with one decimal in the panel.
jitterMs
number
default
Jitter in milliseconds, printed in the panel.
dropNote
string
default
One sentence about the last drop, at the foot of the panel.
bars
number
default 5
Steps in the staircase.
open / defaultOpen
boolean
default false
The detail panel, controlled or initial.
onOpenChange
(open: boolean) => void
default
Fires as the panel opens and closes.
onGradeChange
(sentence: string) => void
default
Fires once per frozen change sentence, such as "The line dropped to poor".
label
string
default
Names the meter for assistive technology.