Package-level declarations

Types

Link copied to clipboard

Button - A UI component for interactive buttons.

Link copied to clipboard
data class ButtonOptions(val id: String, val text: String? = null, val icon: String? = null, val style: ComponentStyle = ComponentStyle(), val buttonType: ButtonType = ButtonType.Primary, val size: ButtonSize = ButtonSize.Medium, val shape: ButtonShape = ButtonShape.Rounded, val isLoading: Boolean = false, val enabled: Boolean = true, val visible: Boolean = true, val backgroundColor: Color = Color.Blue, val textColor: Color = Color.White, val iconColor: Color = Color.White, val disabledBackgroundColor: Color = Color.Gray, val disabledTextColor: Color = Color(0.7f, 0.7f, 0.7f), val pressedBackgroundColor: Color = Color(0.8f, 0.8f, 1f), val loadingColor: Color = Color.White, val borderRadius: Float = 8.0f, val padding: EdgeInsets = EdgeInsets.symmetric(horizontal = 16f, vertical = 8f), val margin: EdgeInsets = EdgeInsets.zero, val minWidth: Float = 0.0f, val minHeight: Float = 0.0f, val shadow: Shadow? = null, val onClick: () -> Unit? = null, val onLongPress: () -> Unit? = null, val onDoubleClick: () -> Unit? = null, val customComponent: MediaSfuUIComponent? = null)

Configuration options for the Button component.

Link copied to clipboard

Represents different button shapes.

Link copied to clipboard

Represents different button sizes.

Link copied to clipboard

Represents different button states.

Link copied to clipboard

Represents different button types.

Link copied to clipboard
Link copied to clipboard
data class ControlButtonOptions(val id: String, val text: String? = null, val icon: String? = null, val alternateIcon: String? = null, val active: Boolean = false, val enabled: Boolean = true, val visible: Boolean = true, val style: ComponentStyle = ComponentStyle(), val textColor: Color = Color.White, val activeColor: Color = Color.Blue, val inactiveColor: Color = Color.Gray, val backgroundColor: Color = Color.Transparent, val activeBackgroundColor: Color = Color(0.2f, 0.2f, 0.2f, 0.8f), val borderRadius: Float = 8.0f, val padding: EdgeInsets = EdgeInsets.all(8f), val onClick: () -> Unit? = null, val onLongPress: () -> Unit? = null, val onDoubleClick: () -> Unit? = null, val customComponent: MediaSfuUIComponent? = null)

Configuration options for individual control buttons.

Link copied to clipboard

ControlButtons - A UI component for displaying a collection of interactive control buttons.

Link copied to clipboard
data class ControlButtonsOptions(val id: String = "default", val buttons: List<ControlButtonOptions>, val layoutDirection: LayoutDirection = LayoutDirection.Horizontal, val alignment: Alignment = Alignment.Center, val style: ComponentStyle = ComponentStyle(), val spacing: Float = 8.0f, val padding: EdgeInsets = EdgeInsets.all(8f), val backgroundColor: Color = Color.Transparent, val borderRadius: Float = 8.0f, val buttonBackgroundColor: Color = Color.Transparent, val activeButtonBackgroundColor: Color = Color(0.2f, 0.2f, 0.2f, 0.8f))

Configuration options for the ControlButtons component.

Link copied to clipboard

Represents different positions for controls and info elements.

Link copied to clipboard

Grid - A UI component for arranging child components in a grid layout.

Link copied to clipboard
data class GridItem(val component: MediaSfuUIComponent, val row: Int, val column: Int, val rowSpan: Int = 1, val columnSpan: Int = 1, val aspectRatio: Float = 16f / 9f, val minWidth: Float = 0.0f, val minHeight: Float = 0.0f, val maxWidth: Float = Float.MAX_VALUE, val maxHeight: Float = Float.MAX_VALUE)

Represents a grid item with its component and position information.

Link copied to clipboard
data class GridLayout(val columns: Int, val rows: Int)

Represents grid layout information.

Link copied to clipboard
data class GridOptions(val columns: Int = 2, val rows: Int = 2, val items: List<GridItem>? = null, val style: ComponentStyle = ComponentStyle(), val spacing: Float = 8.0f, val aspectRatio: Float = 16f / 9f, val alignment: Alignment = Alignment.Center, val justifyContent: Alignment = Alignment.Center, val backgroundColor: Color = Color.Transparent, val padding: EdgeInsets = EdgeInsets.zero, val margin: EdgeInsets = EdgeInsets.zero, val borderRadius: Float = 0.0f, val borderWidth: Float = 0.0f, val borderColor: Color = Color.Transparent, val responsive: Boolean = true, val maxItemsPerRow: Int = 4, val minItemWidth: Float = 200.0f, val minItemHeight: Float = 150.0f)

Configuration options for the Grid component.

Link copied to clipboard

MeetingProgressTimer - A UI component for displaying meeting progress and elapsed time.

Link copied to clipboard
data class MeetingProgressTimerOptions(val isRunning: Boolean = false, val style: ComponentStyle = ComponentStyle(), val timeFormat: TimeFormat = TimeFormat.HHMMSS, val durationLimit: Long = 0, val stopOnLimitReached: Boolean = true, val showProgressBar: Boolean = false, val showRemainingTime: Boolean = false, val textColor: Color = Color.White, val backgroundColor: Color = Color.Transparent, val progressBarColor: Color = Color.Blue, val progressBarBackgroundColor: Color = Color.Gray, val fontSize: Float = 16.0f, val fontWeight: FontWeight = FontWeight.Normal, val padding: EdgeInsets = EdgeInsets.all(8f), val margin: EdgeInsets = EdgeInsets.zero, val onTimerStarted: () -> Unit? = null, val onTimerPaused: () -> Unit? = null, val onTimerResumed: () -> Unit? = null, val onTimerStopped: () -> Unit? = null, val onTimerReset: () -> Unit? = null, val onDurationLimitReached: () -> Unit? = null, val onTimeUpdated: (Long) -> Unit? = null)

Configuration options for the MeetingProgressTimer component.

Link copied to clipboard

Modal - A UI component for displaying modal dialogs and overlays.

Link copied to clipboard
data class ModalOptions(val id: String, val content: MediaSfuUIComponent? = null, val isOpen: Boolean = false, val style: ComponentStyle = ComponentStyle(), val size: ModalSize = ModalSize.Auto, val position: ModalPosition = ModalPosition.Center, val dismissible: Boolean = true, val showBackdrop: Boolean = true, val backdropColor: Color = Color(0f, 0f, 0f, 0.5f), val animateOnOpen: Boolean = true, val animateOnClose: Boolean = true, val animationDuration: Long = 300, val borderRadius: Float = 8.0f, val backgroundColor: Color = Color.White, val padding: EdgeInsets = EdgeInsets.all(16f), val margin: EdgeInsets = EdgeInsets.zero, val shadow: Shadow? = Shadow( color = Color(0f, 0f, 0f, 0.3f), offsetX = 0f, offsetY = 4f, blurRadius = 8f ), val onOpen: () -> Unit? = null, val onClose: () -> Unit? = null, val onDismiss: () -> Unit? = null)

Configuration options for the Modal component.

Link copied to clipboard
sealed class ModalPosition

Represents different modal positions.

Link copied to clipboard
sealed class ModalSize

Represents different modal sizes.

Link copied to clipboard

Text - A UI component for displaying text content.

Link copied to clipboard

Represents different text alignment options.

Link copied to clipboard

Represents different text decoration options.

Link copied to clipboard
data class TextMetrics(val width: Float, val height: Float, val lineCount: Int, val characterCount: Int)

Represents text metrics information.

Link copied to clipboard
data class TextOptions(val text: String = "", val style: ComponentStyle = ComponentStyle(), val alignment: TextAlignment = TextAlignment.Start, val maxLines: Int? = null, val overflow: TextOverflow = TextOverflow.Clip, val selectable: Boolean = false, val color: Color = Color.Black, val fontSize: Float = 14.0f, val fontWeight: FontWeight = FontWeight.Normal, val fontFamily: String? = null, val lineHeight: Float = 1.2f, val letterSpacing: Float = 0.0f, val wordSpacing: Float = 0.0f, val textDecoration: TextDecoration = TextDecoration.None, val backgroundColor: Color = Color.Transparent, val padding: EdgeInsets = EdgeInsets.zero, val margin: EdgeInsets = EdgeInsets.zero)

Configuration options for the Text component.

Link copied to clipboard

Represents different text overflow handling options.

Link copied to clipboard

Represents different time format options.

Link copied to clipboard

VideoCard - A UI component for displaying video streams with participant information and controls.

Link copied to clipboard
data class VideoCardOptions(val participant: Participant, val videoStream: MediaStream? = null, val eventType: EventType = EventType.CONFERENCE, val style: ComponentStyle = ComponentStyle(), val showControls: Boolean = true, val showInfo: Boolean = true, val showWaveform: Boolean = true, val controlsPosition: ControlPosition = ControlPosition.BottomLeft, val infoPosition: ControlPosition = ControlPosition.TopLeft, val backgroundColor: Color = Color(0.17f, 0.4f, 0.56f), val textColor: Color = Color.White, val barColor: Color = Color(0.91f, 0.18f, 0.18f), val doMirror: Boolean = false, val forceFullDisplay: Boolean = false, val roundedCorners: Boolean = false, val borderWidth: Float = 2.0f, val borderColor: Color = Color.Black, val onClick: () -> Unit? = null, val onLongPress: () -> Unit? = null, val onDoubleClick: () -> Unit? = null, val onAudioToggle: (Boolean) -> Unit? = null, val onVideoToggle: (Boolean) -> Unit? = null, val customInfoComponent: MediaSfuUIComponent? = null, val customControlsComponent: MediaSfuUIComponent? = null)

Configuration options for the VideoCard component.