Skip to main content

Subcomponents Library

Set of components to be composed as needed by the user.



The object containing all the default icons used in the ui.


IconsInterface

IconNameType
Video camera
videocamstring
Video camera
videocamOffstring
Video camera
micstring
Video camera
micOffstring
Video camera
recordingIconstring
Video camera
recordingActiveIconstring
Video camera
screenshareIconstring
Video camera
screenshareOffIconstring
Video camera
raiseHandIconstring
Video camera
endCallstring
Video camera
gridLayoutIconstring
Video camera
gridLayoutFilledIconstring
Video camera
pinnedLayoutIconstring
Video camera
participantIconstring
Video camera
participantFilledIconstring
Video camera
chatIconstring
Video camera
chatIconFilledstring
Video camera
settingsstring
Video camera
settingFilledstring
Video camera
clipboardstring
Video camera
checkCircleIconstring
Video camera
crossCircleIconstring
Video camera
demoteIconstring
Video camera
exclamationIconstring
Video camera
backBtnstring
Video camera

Video camera

Video camera

Video camera
networkIcons{
Excellent: string,
Unsupported: string,
Good: string,
Bad: string,
VeryBad: string,
Loading: string,
}

The ChatSendButton component displays the chat send button. Relies on ChatUiControl app state to determine required information.


ChatSendButtonProps

PropTypeDescription
render?( onPress: () => void ) => JSX.ElementRender method for ChatSendButton

The ChatTextInput component displays the chat input box. Relies on ChatUiControl app state to determine required information.


ChatTextInputProps

PropTypeDescription
render?(ChatTextInputRenderProps) => JSX.ElementRender method for ChatTextInput

ChatTextInputRenderProps

PropType
messagestring
onChangeText( text: string ) => void,
onSubmitEditing() => void,
chatMessageInputPlaceholderstring

The Chat Bubble component displays the message inside the chat ui. It is conditionally styled based on message origin (ie local or remote).


ChatBubbleProps

PropTypeDescription
msgIdstringMessage id
messagestringContent of the chat message
uidUidTypeName of the user who sent the message
isLocalbooleanSpecifies if the message is from a local user or if it is from a remote user
isDeletedbooleanSpecifies if the message has been deleted
createdTimestampnumberMessage creation timestamp
updatedTimestampnumberLast message update timestamp
render?( msg: string, isLocal: boolean, uid: string, ts: number) => JSX.ElementRender method for chat bubble to provide a custom jsx

The Chat component displays the chat sidepanel. Relies on ChatUiControl app state to determine required information.


ChatProps

PropTypeDescription
chatBubble?React.ComponentType<ChatBubbleProps>ChatBubble component to be used
chatTextInput?React.ComponentType<ChatTextInputProps>ChatTextInput component to be used
chatSendButton?React.ComponentType<ChatSendButtonProps>ChatSendButton component to be used

The MaxVideoView component is used to render the user video feed using UiKitMaxVideoView along with overlay components like NameWithMicStatus, NetworkQualityPill etc.


MaxVideoRendererProps

PropTypeDescription
user :RenderInterfaceThe user object you need to display the video feed off

The GridLayout component is used to render the user video feeds in a responsive grid pattern.


The PinnedLayout component is used to render the user video feeds in a pinned view with a collapsible sidebar displaying unpinned user feeds.

VideoComponent :

React.ComponentType

The VideoComponent is used to automatically render the user video feeds in the selected layout.


The NameWithMicIcon component is used to render the user name along with their mic muted state.


NameWithMicIconProps

PropTypeDescription
user :RenderInterfaceThe user object you need to display the name and mic status of

The NetworkQualityPill component is used to render the user network quality in a pill container that expands when hovered over.


NetworkQualityPillProps

PropTypeDescription
user :RenderInterfaceThe user object you need to display the network quality of

VideocallScreen :

React.ComponentType

The VideocallScreen component is used to render the entire video call screen.

SettingsView :

React.ComponentType

The SettingsView component is used to render the settings side panel.

ParticipantsView :

React.ComponentType

The ParticipantsView component is used to render the participant panel that lists all the users in the video call / livestream along with their audio and video status. Hosts additionally are able to see user controls such as mute participant , remove participant from call.


The Controls component is used to render all the meeting controls.

note

The controls displayed change depending on the operating system/platform and the user config


The NavBar component displays the nav bar.


PropTypeDescription
messagestringContent of the chat message


The HorizontalRule component displays a horizontal line.


HorizontalRuleProps

PropTypeDescription
styleviewPropscustom css to override existing style

The Render component handles rendering the correct content view component as defined in custom content api based on the content type corresponding to the uid as defined in the Render app state.


RenderComponentProps

PropTypeDescription
uiduidtypeuid of renderObject to be rendered

The TextInput component is used to render a text input box.



The PrimaryButton component is used to render a button with app builder primary button styling.


PrimaryButtonProps

PropTypeDescription
textstringText to be displayed on the button

The SecondaryButton component is used to render a button with app builder primary button styling.


SecondaryButtonProps

PropTypeDescription
textstringText to be displayed on the button

UiKitBtnTemplate :

BtnTemplate

The UiKitBtnTemplate component renders a button in UiKit button structure.

UiKitMaxVideoView :

MaxVideoView

The UiKitMaxVideoView component is used to render the user video feed along with a fallback component in case user video feed is disabled.

UiKitImageIcon :

ImageIcon

The UiKitImageIcon component is used to render a given icon within a wrapper component.

React.ComponentType[]

The NavBarComponentsArray is an array of all buttons present on the default nav bar component.

IndexNameTypeDescription
0CopyJoinInfoCopyJoinInfoComponentButton to copy meeting invite
1ParticipantsCountViewParticipantsCountViewComponentElement to show number of participant in the chat
2ParticipantsIconButtonParticipantsIconButtonComponentButton to toggle participants sidepanel
3ChatIconButtonChatIconButtonComponentButton to toggle chat sidepanel
4LayoutIconButtonLayoutIconButtonComponentButton to switch layouts
5SettingsIconButtonSettingsIconButtonComponentButton to toggle setting sidepanel

Navbar Components:

CopyJoinInfoComponent: React.ComponentType<CopyJoinInfoProps>

CopyJoinInfoProps

KeyTypeDescription
showTextbooleanFlag to determine whether to show text besides button
buttonTemplateNamebuttonTemplateNameType of button template to be used for the button
render?( onPress: ()=>void, buttonTemplateName: buttonTemplateName ) => JSX.ElementComponent to be used to render the button

ParticipantsCountViewComponent: React.ComponentType


ParticipantsIconButtonComponent: React.ComponentType<ParticipantsIconButtonProps>

ParticipantsIconButtonProps

KeyTypeDescription
badgeContainerPosition{ top?: number, right?: number, left?: number, bottom?: number }Position for pending chat messages alert badge
badgeTextStyleTextStylecustom style for badge text
buttonTemplateNamebuttonTemplateNameType of button template to be used for the button
render?( onPress: ()=>void , isPanelActive: boolean, totalUnreadCount: number , buttonTemplateName: buttonTemplateName ) => JSX.ElementFunction to be used to render the button

ChatIconButtonComponent: React.ComponentType<ChatIconButtonProps>

ChatIconButtonProps

KeyTypeDescription
liveStreamingRequestAlertIconPosition{ top?: number, right?: number, left?: number, bottom?: number }Position for pending raise hand requests alert badge
buttonTemplateNamebuttonTemplateNameType of button template to be used for the button
render?( onPress: ()=>void, isPanelActive: boolean, buttonTemplateName: buttonTemplateName ) => JSX.ElementFunction to be used to render the button

LayoutIconButtonComponent: React.ComponentType<LayoutIconButtonProps>

LayoutIconButtonProps

KeyTypeDescription
modalPosition{ top?: number, right?: number, left?: number, bottom?: number }Position of the switch layout modal
buttonTemplateNamebuttonTemplateNameType of button template to be used for the button
render?( onPress: ()=>void, buttonTemplateName: buttonTemplateName ) => JSX.ElementFunction to be used to render the button

SettingsIconButtonComponent: React.ComponentType<SettingsIconButtonProps>

SettingsIconButtonProps

KeyTypeDescription
buttonTemplateNamebuttonTemplateNameType of button template to be used for the button
render?( onPress: ()=>void, buttonTemplateName: buttonTemplateName ) => JSX.ElementFunction to be used to render the button

ControlsComponentsArray :

React.ComponentType[]

The ControlsComponentsArray is an array of all meeting control button subcomponents listed below.

IndexNameTypeDescription
0LocalAudioMuteLocalAudioMuteComponentControl button to mute/unmute local user audio
1LocalVideoMuteLocalVideoMuteComponentControl button to mute/unmute local user video
2LocalSwitchCameraLocalSwitchCameraComponentControl button to switch local user video camera
3ScreenshareButtonScreenshareButtonComponentControl button to start/stop screenshare
4RecordingRecordingComponentControl button to start/stop meeting recording
5LocalEndCallLocalEndCallComponentControl button to end local user call
6LiveStreamControlsLiveStreamControlsComponentControl button to send/recall local user raise hand request

Control Components:

LocalAudioMuteComponent: React.ComponentType<LocalAudioMuteProps>

LocalAudioMuteProps

KeyTypeDescription
buttonTemplateNamebuttonTemplateNameType of button template to be used for the button
render?( onPress: ()=>void, isEnabled: boolean, buttonTemplateName: buttonTemplateName ) => JSX.ElementComponent to be used to render the button

LocalVideoMuteComponent: React.ComponentType<LocalVideoMuteProps>

LocalVideoMuteProps

KeyTypeDescription
buttonTemplateNamebuttonTemplateNameType of button template to be used for the button
render?( onPress: ()=>void , isEnabled: boolean , buttonTemplateName: buttonTemplateName ) => JSX.ElementFunction to be used to render the button

LocalSwitchCameraComponent: React.ComponentType<LocalSwitchCameraProps>

LocalSwitchCameraProps

KeyTypeDescription
buttonTemplateNamebuttonTemplateNameType of button template to be used for the button
render?( onPress: ()=>void , isEnabled: boolean , buttonTemplateName: buttonTemplateName ) => JSX.ElementFunction to be used to render the button

ScreenshareButtonComponent: React.ComponentType<ScreenshareButtonProps>

ScreenshareButtonProps

KeyTypeDescription
buttonTemplateNamebuttonTemplateNameType of button template to be used for the button
render?( onPress: ()=>void , isEnabled: boolean , buttonTemplateName: buttonTemplateName ) => JSX.ElementFunction to be used to render the button

RecordingComponent: React.ComponentType<RecordingProps>

RecordingProps

KeyTypeDescription
buttonTemplateNamebuttonTemplateNameType of button template to be used for the button
render?( onPress: ()=>void , isEnabled: boolean , buttonTemplateName: buttonTemplateName ) => JSX.ElementFunction to be used to render the button

LocalEndCallComponent: React.ComponentType<LocalEndCallProps>

LocalEndCallProps

KeyTypeDescription
buttonTemplateNamebuttonTemplateNameType of button template to be used for the button
render?( onPress: ()=>void , buttonTemplateName: buttonTemplateName ) => JSX.ElementFunction to be used to render the button

LiveStreamControlsComponent : React.ComponentType<LiveStreamControlsProps>

LiveStreamControlsProps

KeyTypeDescription
showControlsbooleanDetermines if livestream controls are renders

SidePanelButtonsArray :

React.ComponentType[]

The SidePanelButtonsArray is an array of all the side panel button subcomponents listed below.

IndexNameTypeDescription
0RemoteAudioMuteRemoteAudioMuteComponentSide panel button to mute remote user audio
1RemoteVideoMuteRemoteVideoMuteComponentSide panel button to mute remote user video
2RemoteEndCallRemoteEndCallComponentSide panel button to remote remote user from call
3RemoteLiveStreamApprovedRequestRecallRemoteLiveStreamApprovedRequestRecallComponentSide panel button to recall attendee raise hand request
4RemoteLiveStreamRequestApproveRemoteLiveStreamRequestApproveComponentSide panel button to approve attendee raise hand request
5RemoteLiveStreamRequestRejectRemoteLiveStreamRequestRejectComponentSide panel button to reject attendee raise hand request
6ChatSendButtonChatSendButtonComponentSide panel button send chat message
7MuteAllAudioButtonMuteAllAudioButtonComponentSide panel button to mute all remote users audio
8MuteAllVideoButtonMuteAllVideoButtonComponentSide panel button to mute all remote users video

SidePanel Button Components:

RemoteAudioMuteComponent : React.ComponentType<RemoteAudioMuteProps>

RemoteAudioMuteProps

KeyTypeDescription
uidUidTypeuid of the user to perform the action for
audiobooleanaudio mute state of the remote user
isHostbooleanhost status of the local user

RemoteVideoMuteComponent : React.ComponentType<RemoteVideoMuteProps>

RemoteVideoMuteProps

KeyTypeDescription
uidUidTypeuid of the user to perform the action for
videobooleanvideo mute state of the remote user
isHostbooleanhost status of the local user

RemoteEndCallComponent : React.ComponentType<RemoteEndCallProps>

RemoteEndCallProps

KeyTypeDescription
uidUidTypeuid of the user to perform the action for
isHostbooleanhost status of the local user

RemoteLiveStreamApprovedRequestRecallComponent : React.ComponentType<RemoteLiveStreamApprovedRequestRecallProps>

RemoteLiveStreamApprovedRequestRecallProps

KeyTypeDescription
uidUidTypeuid of the user to perform the action for

RemoteLiveStreamRequestApproveComponent : React.ComponentType<RemoteLiveStreamControlApproveProps>

RemoteLiveStreamRequestApproveProps

KeyTypeDescription
uidUidTypeuid of the user to perform the action for

RemoteLiveStreamRequestRejectComponent : React.ComponentType<RemoteLiveStreamControlRejectProps>

RemoteLiveStreamRequestRejectProps

KeyTypeDescription
uidUidTypeuid of the user to perform the action for

ChatSendButtonComponent : React.ComponentType<ChatSendButtonProps>

ChatSendButtonProps

KeyTypeDescription
render(onPress: () => void) => JSX.ElementFunction to be used to render the button

MuteAllAudioButtonComponent : React.ComponentType<MuteAllAudioButtonProps>

MuteAllAudioButtonProps

KeyTypeDescription
render(onPress: () => void) => JSX.ElementFunction to be used to render the button

MuteAllVideoButtonComponent: React.ComponentType<MuteAllVideoButtonProps>

MuteAllVideoButtonProps

KeyTypeDescription
render(onPress: () => void) => JSX.ElementFunction to be used to render the button