KQ-891 · CHANNEL/LIST

Channel List

The rooms you are in, ordered by what just happened in them. Rows carry layout, so a room that receives a message climbs and every row it passes trades places on glide, while the badge replays a landing from scale 1.18 on recoil and muted rows dim to a hollow badge that still shows its count. The list is one tab stop: Down and Up step rows, Home and End jump to the ends, Right moves to the row's bell and Left comes back.

KQ-891 · CHANNEL/LIST

Coldbrook yard · 8 unread · 2 muted

Install

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

$ pnpm dlx shadcn@latest add @kinetiq/channel-list

Props

channels
Channel[]
default
The rooms. Each carries an id, name, optional preview, unread count, an activity rank and a muted flag.
value / defaultValue
string
default
Controlled or initial id of the open room; the default is the most active one.
onValueChange
(id: string) => void
default
Fires from a row's click, Enter or Space.
onMuteToggle
(id: string, muted: boolean) => void
default
Fires from a row's bell with the state the host should store.
onAnnounce
(sentence: string) => void
default
Fires once per frozen change sentence, for a parent's own status line.
label
string
default
Names the list for assistive technology.
maxHeight
number
default 280
Tallest the list grows before it scrolls inside its own box.
emptyLabel
string
default "No rooms yet"
Drawn when there are no rooms.