KQ-1193 · RADIO/TUNE

Radio Tune

An inline loader drawn as a small tabletop radio whose needle scans the dial like a seek radio: it sweeps up the band, catches each strong station with a hunting settle on the snap spring, dwells while the signal bars stand up, sweeps on and glides back to the bottom on glide, while the meter — the signal at the needle plus the band's own seeded static — wavers between stations. With progress the needle travels to the home station as the work goes on and at 1 locks on, a hair past the mark and back on snap, with the meter full and the backlight warm. It is a real slider: a drag moves the needle 1:1 under the pointer while the knob turns, a release coasts and is pulled onto a station within reach, arrow keys turn it finely, Page Up and Page Down seek, Home and End reach the ends, and focus stops the search.

KQ-1193 · RADIO/TUNE
Finding the relayDrag sideways or use the arrow keys to tune; Page Up and Page Down seek.
Meter 14, north yardListeningDrag sideways or use the arrow keys to tune; Page Up and Page Down seek.

searching · fm · turn the knob

Install

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

$ pnpm dlx shadcn@latest add @kinetiq/radio-tune

Props

label
string
default —
Visible text beside the glyph, and the loader's accessible name ("Loading" when omitted).
hideLabel
boolean
default false
Keep the label for assistive technology only.
size
number
default 32
The glyph's box in px, 16 to 64. Detail is chosen by size: scale marks, stations and five signal bars from 24, scale numbers, band name, feet and walnut grain from 40.
speed
number
default 1
How fast it sweeps, dwells and flickers, 0.5 to 2.
band
"fm" | "am" | "sw"
default "fm"
The waveband: FM 88–108 MHz with evenly spread stations and hiss, AM 530–1700 kHz on a compressed scale with stations crowded low and crackle, or SW 5.9–18 MHz with stations bunched in broadcast bands and a fading warble.
dial
"cream" | "walnut" | "black"
default "walnut"
The cabinet: cream bakelite, walnut or black bakelite, fixed pigments that read the same in both themes.
progress
number
default —
Determinate share done, 0 to 1: the needle travels toward the home station and locks on at 1. Omit for a radio that keeps searching.
sound
boolean
default false
While the visitor drags, play a hum loop as a heterodyne whistle that falls toward zero-beat on a station, a click for each scale mark passed and a brighter click when a hand, key or tap lands on a station. The search and the final lock are silent.
disabled
boolean
default false
Keeps searching, but cannot be tuned by hand or key.
className
string
default —
Classes for the inline root; the label inherits its font size and colour.