Package-level declarations

Types

Link copied to clipboard
Link copied to clipboard
data class AlertComponentOptions(val isVisible: Boolean = false, val message: String = "", val type: AlertType = AlertType.SUCCESS, val duration: Long = 3000, val textColor: Int = 0xFF000000.toInt(), val onHide: () -> Unit? = null)

AlertComponent - Displays alert messages with auto-hide functionality.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class AudioCardOptions(val name: String, val barColor: Int = 0xFFE82E2E.toInt(), val textColor: Int = 0xFF191919.toInt(), val customStyle: Map<String, Any> = emptyMap(), val controlsPosition: String = "topLeft", val infoPosition: String = "topRight", val participant: Participant, val backgroundColor: Int = 0xFF2C678F.toInt(), val audioDecibels: List<AudioDecibels> = emptyList(), val roundedImage: Boolean = false, val imageSource: String = "", val showControls: Boolean = true, val showInfo: Boolean = true, val showWaveform: Boolean = true, val waveformColor: Int = 0xFF4CAF50.toInt(), val onToggleAudio: AudioControlAction? = null, val onToggleVideo: AudioControlAction? = null)

AudioCard - Displays an audio-only participant card with waveform animation.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class AudioDecibelCheckOptions(val name: String, val audioDecibels: List<AudioDecibels> = emptyList(), val barColor: Int = 0xFFE82E2E.toInt(), val waveformColor: Int = 0xFF4CAF50.toInt(), val customStyle: Map<String, Any> = emptyMap())

AudioDecibelCheck - Displays audio waveform animation based on decibel levels.

Link copied to clipboard
Link copied to clipboard
data class AudioGridOptions(val participants: List<Participant>, val audioDecibels: List<AudioDecibels> = emptyList(), val backgroundColor: Int = 0xFF000000.toInt(), val columnsPerRow: Int = 4, val showControls: Boolean = true, val customAudioCardComponent: (AudioCardOptions) -> AudioCard? = null)

AudioGrid - Displays a grid of audio-only participants.

Link copied to clipboard

Simplified breakout participant representation for pagination. Only needs name field to check room membership.

Link copied to clipboard
Link copied to clipboard
data class CardVideoDisplayOptions(val videoStream: MediaStream?, val remoteProducerId: String = "", val eventType: String = "", val forceFullDisplay: Boolean = false, val customStyle: Map<String, Any> = emptyMap(), val backgroundColor: Int = 0xFF2C678F.toInt(), val doMirror: Boolean = false, val displayLabel: String = "", val showControls: Boolean = false, val showInfo: Boolean = true, val controlsPosition: String = "topLeft", val infoPosition: String = "topRight", val participant: Participant? = null, val onAudioToggle: (Participant) -> Unit? = null, val onVideoToggle: (Participant) -> Unit? = null, val audioDecibels: List<AudioDecibels> = emptyList(), val barColor: Int = 0xFFE82E2E.toInt())

CardVideoDisplay - Displays a video stream within a card.

Link copied to clipboard
data class ControlButton(val icon: String, val active: Boolean = false, val onPress: () -> Unit, val activeColor: Int = 0xFF4CAF50.toInt(), val inactiveColor: Int = 0xFFFFFFFF.toInt(), val disabled: Boolean = false, val customComponent: MediaSfuUIComponent? = null, val iconComponent: MediaSfuUIComponent? = null, val alternateIconComponent: MediaSfuUIComponent? = null, val name: String = "")
Link copied to clipboard
data class ControlButtonsAltComponentOptions(val buttons: List<ControlButton> = emptyList(), val position: String = "bottom", val location: String = "center", val direction: String = "horizontal", val showAspect: Boolean = true, val backgroundColor: Int = 0x80000000.toInt())

ControlButtonsAltComponent - Alternative control buttons layout for media controls.

Link copied to clipboard
data class ControlButtonsComponentTouchOptions(val buttons: List<ControlButtonOptions> = emptyList(), val position: String = "bottom", val direction: String = "horizontal", val showAspect: Boolean = true, val backgroundColor: Int = 0x80000000.toInt(), val buttonBackgroundColor: Int = 0x40FFFFFF.toInt(), val buttonSpacing: Int = 16, val buttonSize: Int = 56)

ControlButtonsComponentTouch - Touch-optimized control buttons for mobile devices.

Link copied to clipboard

Default implementation of AlertComponent

Link copied to clipboard

Default implementation of AudioCard

Link copied to clipboard

Default implementation of AudioDecibelCheck

Link copied to clipboard

Default implementation of AudioGrid

Link copied to clipboard

Default implementation of CardVideoDisplay

Link copied to clipboard

Default implementation of ControlButtonsAltComponent

Link copied to clipboard

Default implementation of ControlButtonsComponentTouch

Link copied to clipboard

Default implementation of FlexibleGrid

Link copied to clipboard

Default implementation of FlexibleVideo

Link copied to clipboard

Default implementation of LoadingModal

Link copied to clipboard

Default implementation of MainAspectComponent

Link copied to clipboard

Default implementation of MainContainerComponent

Link copied to clipboard

Default implementation of MainGridComponent

Link copied to clipboard

Default implementation of MainScreenComponent

Link copied to clipboard

Default implementation of MiniAudio

Link copied to clipboard

Default implementation of MiniCard

Link copied to clipboard

Default implementation of OtherGridComponent

Link copied to clipboard

Default implementation of Pagination

Link copied to clipboard

Default implementation of SubAspectComponent

Link copied to clipboard
Link copied to clipboard
data class FlexibleGridOptions(val customWidth: Int, val customHeight: Int, val rows: Int, val columns: Int, val componentsToRender: List<MediaSfuUIComponent>, val backgroundColor: Int = 0xFF2C678F.toInt(), val participants: List<Participant> = emptyList(), val showAspect: Boolean = true, val cardWidthOverride: Int? = null, val cardHeightOverride: Int? = null, val horizontalSpacingDp: Int = 0, val verticalSpacingDp: Int = 0)

FlexibleGrid - Displays a flexible grid of video/audio participants.

Link copied to clipboard
Link copied to clipboard
data class FlexibleVideoOptions(val customWidth: Int, val customHeight: Int, val rows: Int = 1, val columns: Int = 1, val componentsToRender: List<MediaSfuUIComponent> = emptyList(), val backgroundColor: Int = 0xFF2C678F.toInt(), val showAspect: Boolean = false)

FlexibleVideo - Displays a flexible video container that adapts to content.

Link copied to clipboard
Link copied to clipboard
data class LoadingModalOptions(val isVisible: Boolean = false, val backgroundColor: Int = 0x80000000.toInt(), val indicatorColor: Int = 0xFFFFFFFF.toInt(), val displayColor: Int = 0xFFFFFFFF.toInt(), val message: String? = null)

LoadingModal - Displays a loading indicator with backdrop overlay.

Link copied to clipboard
Link copied to clipboard
data class MainAspectComponentOptions(val backgroundColor: Int = 0xFF2C678F.toInt(), val defaultFraction: Double = 1.0, val showControls: Boolean = true, val children: List<MediaSfuUIComponent> = emptyList(), val updateIsWideScreen: (Boolean) -> Unit? = null, val updateIsMediumScreen: (Boolean) -> Unit? = null, val updateIsSmallScreen: (Boolean) -> Unit? = null)

MainAspectComponent - Main aspect ratio container for primary video display.

Link copied to clipboard
data class MainContainerComponentOptions(val backgroundColor: Int = 0xFF000000.toInt(), val children: List<MediaSfuUIComponent> = emptyList(), val containerWidthFraction: Double = 1.0, val containerHeightFraction: Double = 1.0, val marginLeft: Int = 0, val marginRight: Int = 0, val marginTop: Int = 0, val marginBottom: Int = 0, val padding: Int = 0)

MainContainerComponent - Main container for the entire application layout.

Link copied to clipboard
Link copied to clipboard
data class MainGridComponentOptions(val height: Int, val width: Int, val backgroundColor: Int = 0xFF2C678F.toInt(), val children: List<MediaSfuUIComponent> = emptyList(), val mainSize: Double = 0.0, val showAspect: Boolean = true, val timeBackgroundColor: Int = 0xFFFFFFFF.toInt(), val showTimer: Boolean = true)

MainGridComponent - Main grid layout for displaying multiple participants.

Link copied to clipboard
Link copied to clipboard
data class MainScreenComponentOptions(val children: List<MediaSfuUIComponent> = emptyList(), val backgroundColor: Int = 0xFF2C678F.toInt(), val mainSize: Double = 1.0, val showAspect: Boolean = true, val updateComponentSizes: (Map<String, Any>) -> Unit? = null)

MainScreenComponent - Main screen container for primary content display.

Link copied to clipboard
Link copied to clipboard
data class MiniAudioOptions(val name: String, val visible: Boolean = true, val showWaveform: Boolean = true, val customStyle: Map<String, Any> = emptyMap(), val backgroundColor: Int = 0xFF2C678F.toInt(), val imageSource: String = "", val roundedImage: Boolean = true, val audioDecibels: List<AudioDecibels> = emptyList())

MiniAudio - Displays a mini audio card for compact participant view.

Link copied to clipboard
Link copied to clipboard
data class MiniCardOptions(val name: String, val showVideo: Boolean = true, val customStyle: Map<String, Any> = emptyMap(), val backgroundColor: Int = 0xFF2C678F.toInt(), val imageSource: String = "", val roundedImage: Boolean = false, val videoStream: MediaStream? = null, val participant: Participant)

MiniCard - Displays a mini video/audio card for compact participant view.

Link copied to clipboard
Link copied to clipboard
data class OtherGridComponentOptions(val height: Int, val width: Int, val backgroundColor: Int = 0xFF2C678F.toInt(), val children: List<MediaSfuUIComponent> = emptyList(), val gridSize: Double = 0.0, val showAspect: Boolean = true)

OtherGridComponent - Secondary grid for additional participants.

Link copied to clipboard
Link copied to clipboard
data class PaginationOptions(val totalPages: Int, val currentUserPage: Int, val handlePageChange: suspend (GeneratePageContentOptions) -> Unit, val parameters: PaginationParameters, val position: String = "middle", val location: String = "top", val direction: String = "horizontal", val showAspect: Boolean = true, val backgroundColor: Int = 0xFFFFFFFF.toInt(), val activeColor: Int = 0xFF2c678f.toInt(), val inactiveColor: Int = 0xFFFFFFFF.toInt(), val paginationHeight: Int = 40)

Pagination - Displays pagination controls for navigating through pages.

Link copied to clipboard

Extended parameters interface for Pagination with breakout room support. Matches Flutter's PaginationParameters.

Link copied to clipboard
Link copied to clipboard
data class SubAspectComponentOptions(val backgroundColor: Int = 0xFF2C678F.toInt(), val showControls: Boolean = false, val children: List<MediaSfuUIComponent> = emptyList(), val defaultFraction: Double = 0.0)

SubAspectComponent - Sub aspect ratio container for secondary video displays.

Functions

Link copied to clipboard
actual fun PlatformVideoRenderer(track: MediaStreamTrack, doMirror: Boolean, forceFullDisplay: Boolean, modifier: Modifier)
expect fun PlatformVideoRenderer(track: MediaStreamTrack, doMirror: Boolean, forceFullDisplay: Boolean, modifier: Modifier = Modifier)
Link copied to clipboard

Composable extension for rendering AlertComponent in Jetpack Compose

Composable extension for rendering AudioDecibelCheck in Jetpack Compose

Composable extension for rendering AudioGrid in Jetpack Compose

Composable extension for rendering CardVideoDisplay in Jetpack Compose

Composable extension for rendering ControlButtonsAltComponent in Jetpack Compose

Composable extension for rendering ControlButtonsComponentTouch in Jetpack Compose


Composable extension for rendering FlexibleVideo in Jetpack Compose

Composable extension for rendering Pagination in Jetpack Compose

Composable extension for rendering SubAspectComponent in Jetpack Compose

fun AudioCard.renderCompose(modifier: Modifier = Modifier)

Composable render function for AudioCard.

Composable extension for rendering MainAspectComponent in Jetpack Compose

Composable extension for rendering MainContainerComponent in Jetpack Compose

Composable extension for rendering MainScreenComponent in Jetpack Compose

fun MiniAudio.renderCompose(modifier: Modifier = Modifier)

Composable render function for MiniAudio.

fun MiniCard.renderCompose(modifier: Modifier = Modifier)

Composable render function for MiniCard.

Composable extension for rendering OtherGridComponent in Jetpack Compose

fun MainGridComponent.renderCompose(renderTimer: Boolean = options.showTimer, timer: @Composable BoxScope.() -> Unit? = null, content: @Composable BoxScope.() -> Unit)

Composable extension for rendering MainGridComponent in Jetpack Compose