OptionaldominantUser ID of the participant shown fullscreen in overlay mode. Falls back to the first remote participant, or the local user if alone. Ignored in grid mode.
OptionalgapSpacing between tiles in pixels.
OptionalisWhether the local user's microphone is muted. Shows a mute badge on the local tile when true.
OptionalisWhether the local user's camera is off. Shows an avatar on the local tile when true.
OptionallayoutLayout mode.
'grid' (default): Equal-sized tiles in a grid.'overlay': Fullscreen dominant speaker with floating mini-tiles
in the top-right corner (FaceTime-style).OptionallocalDisplay name shown on the local user's tile. Falls back to the user ID.
Local camera MediaStream from useLocalMedia. Pass null when the camera is not yet available.
Local user's identifier, used for avatar color generation. Typically from useParticipants().localUserId.
OptionalmaxMaximum number of columns in the grid layout. Tiles wrap to additional rows when this limit is reached.
OptionalmuteCustom React element rendered inside the mute badge on every tile instead of the default "MIC OFF" text.
Array of remote participants. Each participant's video stream, mute state, and display name are passed to individual tiles.
OptionaltileColor overrides applied to every tile in the grid. See VideoTileColors.
Props for the VideoGrid component.