Search by name, tag, category or type
Source and install need .
pnpm dlx shadcn@latest add @assembli/video-callA video meeting room. Tiles re-flow to fit as people join and leave, or switch to speaker view with a filmstrip. Who's talking gets a ring and level meter, with mute, raised-hand and weak-connection badges. The controls cover mic and camera (⌘D, ⌘E), live captions, reactions that float up, screen sharing and leave or end for all. People and chat open in a side panel, with a waiting room.
Other props pass through to the root element.
title*
string
you*
CallParticipant
The local participant.
participants*
CallParticipant[]
Everyone else in the call.
waiting
CallParticipant[]
Default []
People in the waiting room, who can be admitted or denied.
captions
CallCaption[]
Default []
A looping script of who says what. Without it nobody speaks.
defaultCaptionsOn
boolean
Default false
messages
CallMessage[]
Default []
recording
boolean
Default false
elapsed
number
Default 0
Seconds the call has been running when it mounts.
screen
React.ReactNode
What appears when you share your screen. Defaults to a slide.
defaultLayout
"grid" | "speaker"
Default "grid"
onLeave
() => void
onEnd
() => void
| Description | |||
|---|---|---|---|
| title* | string | – | |
| you* | CallParticipant | – | The local participant. |
| participants* | CallParticipant[] | – | Everyone else in the call. |
| waiting | CallParticipant[] | [] | People in the waiting room, who can be admitted or denied. |
| captions | CallCaption[] | [] | A looping script of who says what. Without it nobody speaks. |
| defaultCaptionsOn | boolean | false | |
| messages | CallMessage[] | [] | |
| recording | boolean | false | |
| elapsed | number | 0 | Seconds the call has been running when it mounts. |
| screen | React.ReactNode | – | What appears when you share your screen. Defaults to a slide. |
| defaultLayout | "grid" | "speaker" | "grid" | |
| onLeave | () => void | – | |
| onEnd | () => void | – |