Member Junction
    Preparing search index...

    mj-livekit-room — a full-featured, framework-portable LiveKit room UI. Owns a LiveKitRoomController, renders a participant grid/spotlight, control bar, chat, device picker, and participants roster, and re-surfaces the core's cancelable event model as @Output()s.

    Every feature is gated by an @Input so a host can compose exactly the experience it wants (voice-only widget, full conferencing surface, embedded co-agent panel, …) without forking the component.

    Public class members are PascalCase (MJ convention); private/protected members are camelCase.

    Implements

    • OnInit
    • OnChanges
    • OnDestroy
    • AfterViewChecked
    Index

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    ActiveSpeakersChanged: EventEmitter<LiveKitActiveSpeakersEvent> = ...

    Fired when the active-speaker set changes.

    AgentAvatarUrl: string | null = null

    Optional avatar URL for the agent participant (matched by agent role).

    AutoConnect: boolean = true

    Connect automatically once ServerUrl + Token are present.

    BeforeConnect: EventEmitter<LiveKitBeforeConnectEvent> = ...

    Fired before connecting. Cancelable.

    BeforeDeviceSwitch: EventEmitter<LiveKitBeforeDeviceSwitchEvent> = ...

    Fired before the active device is switched. Cancelable.

    BeforeDisconnect: EventEmitter<LiveKitBeforeDisconnectEvent> = ...

    Fired before disconnecting/leaving. Cancelable (e.g. confirm "leave call?").

    BeforeMediaToggle: EventEmitter<LiveKitBeforeMediaToggleEvent> = ...

    Fired before a local-media track is toggled. Cancelable.

    BeforeSendData: EventEmitter<LiveKitBeforeSendDataEvent> = ...

    Fired before a data-channel message is sent. Cancelable; Text is mutable.

    CanEndForAll: boolean = false

    Turns the leave button into a Zoom/Teams-style split offering Leave vs. End meeting for everyone. Purely presentational here — this generic component has no notion of "ending for everyone"; it just emits EndForAll so the host (e.g. the MJ binding) can tear down agents/the room. Default false (plain Leave).

    ChatMessage: EventEmitter<LiveKitChatMessage> = ...

    Fired when a chat message (chat-topic data) is received or sent locally.

    ChatMessages: LiveKitChatMessage[] = []

    The accumulated chat messages.

    ChatOpenByDefault: boolean = false

    Open the chat panel by default on connect.

    Connected: EventEmitter<LiveKitRoomState> = ...

    Fired when the room connects.

    DataReceived: EventEmitter<LiveKitDataMessage> = ...

    Fired for every inbound data-channel message (all topics).

    DeviceMenuOpen: boolean = false

    Whether the device menu popover is open.

    Devices: LiveKitDeviceLists = ...

    The device lists for the device menu.

    Disconnected: EventEmitter<LiveKitDisconnectedEvent> = ...

    Fired when the room disconnects.

    DisplayName: string | null = null

    The display name to publish for the local participant.

    E2EEPassphrase: string | null = null

    End-to-end-encryption passphrase. When set with E2EEWorker, the room connects with E2EE.

    E2EEWorker: Worker | null = null

    The E2EE web worker (host-provided, bundler-specific). Required for E2EEPassphrase.

    EnableBackgroundEffects: boolean = false

    Expose the background-blur toggle in the settings menu.

    EnableCameraControl: boolean = true

    Allow toggling the camera.

    EnableDeviceSettings: boolean = true

    Allow opening the device-settings menu.

    EnableLayoutSwitcher: boolean = true

    Show the layout switcher (gallery / active speaker / split / audio-only).

    EnableLeaveControl: boolean = true

    Allow leaving the room from the control bar.

    EnableMicrophoneControl: boolean = true

    Allow toggling the microphone.

    EnableNoiseFilter: boolean = false

    Expose the Krisp noise-filter toggle in the settings menu (LiveKit Cloud).

    EnablePinning: boolean = true

    Allow pinning a participant to the spotlight (hover pin button on tiles).

    EnableScreenShareControl: boolean = true

    Allow screen sharing.

    EndForAll: EventEmitter<void> = ...

    Fired when the user chooses "End meeting for everyone" from the split-leave menu (only reachable when CanEndForAll). The host should tear down the meeting (e.g. stop all agents), then disconnect.

    ErrorOccurred: EventEmitter<LiveKitRoomError> = ...

    Fired when a room error occurs.

    IsRecording: boolean = false

    Whether a recording is currently in progress (host-managed).

    LastErrorMessage: string | null = null

    The last room error message, surfaced in the overlay.

    Layout: LiveKitRoomLayout = 'grid'

    The stage layout mode.

    LayoutChange: EventEmitter<LiveKitRoomLayout> = ...

    Fired when the user changes the layout via the layout switcher.

    LayoutMenuOpen: boolean = false

    Whether the layout switcher popover is open.

    LayoutOptions: LiveKitLayoutOption[] = ...

    The available layout options for the switcher.

    LocalMediaChanged: EventEmitter<LiveKitLocalMediaState> = ...

    Fired when the local-media toggle state changes.

    ParticipantJoined: EventEmitter<LiveKitParticipantJoinedEvent> = ...

    Fired when a participant joins.

    ParticipantLeft: EventEmitter<LiveKitParticipantLeftEvent> = ...

    Fired when a participant leaves.

    PinnedIdentity: string | null = null

    The identity of the pinned participant (drives spotlight when EnablePinning).

    PreJoinChoices: LiveKitPreJoinChoices | null = null

    The PreJoin choices, once confirmed.

    PreJoinComplete: boolean = false

    Whether the user has passed the PreJoin lobby (or PreJoin is disabled).

    Reconnected: EventEmitter<LiveKitRoomState> = ...

    Fired when reconnection succeeds.

    Reconnecting: EventEmitter<void> = ...

    Fired when reconnection begins.

    SelectedCameraId: string | null = null

    The active camera deviceId, used to pre-select it in the device menu.

    SelectedMicrophoneId: string | null = null

    The active microphone deviceId, used to pre-select it in the device menu.

    SelectedSpeakerId: string | null = null

    The active speaker deviceId, used to pre-select it in the device menu.

    ShowActiveSpeakerHighlight: boolean = true

    Highlight active speakers with a ring.

    ShowAgentState: boolean = false

    Show the agent-state visualizer (listening/thinking/speaking) for the agent participant.

    ShowAudioMeters: boolean = true

    Show per-tile audio meters.

    ShowChat: boolean = true

    Enable the data-channel chat feature (toggle + panel).

    ShowConnectionOverlay: boolean = true

    Render the connecting/reconnecting/error overlay.

    ShowConnectionQuality: boolean = true

    Show per-tile connection-quality indicators.

    ShowControlBar: boolean = true

    Show the control bar at all.

    ShowHeader: boolean = true

    Show the header bar.

    ShowNameBadges: boolean = true

    Show participant name badges on tiles.

    ShowParticipantCount: boolean = true

    Show the participant count in the header.

    ShowParticipantsPanel: boolean = true

    Enable the participants roster panel (toggle + panel).

    ShowPreJoin: boolean = false

    Show a device-preview PreJoin lobby before connecting (suppresses auto-connect until the user joins).

    ShowRecordingControl: boolean = false

    Show the recording toggle in the control bar (the host wires the actual egress call).

    ShowSelfView: boolean = true

    Show the local participant's self-view tile.

    ShowWhiteboard: boolean = false

    Enable the collaborative whiteboard surface (data-channel-synced; agent co-authoring supported).

    SidePanel: LiveKitSidePanel = 'none'

    Which side panel is currently open.

    SplitRatio: number = 0.62

    The split-view ratio (left/screen pane fraction, 0.2–0.8).

    StartWithCamera: boolean = false

    Start with the camera enabled.

    StartWithMicrophone: boolean = true

    Start with the microphone enabled.

    State: LiveKitRoomState = ...

    The current normalized room state snapshot.

    StateChanged: EventEmitter<LiveKitRoomState> = ...

    Fired on every normalized room state change.

    Title: string | null = null

    The header title.

    ToggleRecording: EventEmitter<void> = ...

    Fired when the user toggles recording (the host performs the server-side egress call).

    UnreadChatCount: number = 0

    The unread chat count (since the chat panel was last open).

    WhiteboardActive: boolean = false

    Whether the whiteboard surface is currently shown (replaces the participant stage).

    Accessors

    • get AgentParticipant(): LiveKitParticipantView | null

      The agent participant whose name/state the agent indicator shows. In a MULTI-agent room this prefers the agent that is currently speaking (so the indicator reads e.g. "Marketing Agent · speaking", not whichever agent merely joined first), falling back to the first agent when none is speaking.

      Returns LiveKitParticipantView | null

    Methods

    • Connects to the room using the current inputs. Safe to call repeatedly.

      Returns Promise<void>

    • A callback method that is invoked immediately after the default change detector has completed one change-check cycle for a component's view.

      Returns void

    • A callback method that is invoked immediately after the default change detector has checked data-bound properties if at least one has changed, and before the view and content children are checked.

      Parameters

      • _changes: { [propName: string]: SimpleChange<any> }

      Returns void

    • A callback method that performs custom clean-up, invoked immediately before a directive, pipe, or service instance is destroyed.

      Returns void

    • A callback method that is invoked immediately after the default change detector has checked the directive's data-bound properties for the first time, and before any of the view or content children have been checked. It is invoked only once when the directive is instantiated.

      Returns void

    • Toggles camera background blur.

      Parameters

      • enabled: boolean

      Returns void

    • Resumes audio playback after a browser autoplay block (must run from a user gesture).

      Returns void

    • Toggles the Krisp noise filter.

      Parameters

      • enabled: boolean

      Returns void

    • Opens the device menu and (re)loads device lists.

      Returns Promise<void>

    • Sends a chat message on the chat topic and optimistically renders it locally.

      Parameters

      • text: string

      Returns void

    • Updates the split ratio while dragging the divider, clamped to 20–80%.

      Parameters

      • event: PointerEvent
      • container: HTMLElement

      Returns void

    • Begins dragging the split-view divider.

      Parameters

      • event: PointerEvent

      Returns void

    • Pins/unpins a participant to the spotlight (toggles off if already pinned).

      Parameters

      • identity: string

      Returns void

    • Toggles recording intent (the host performs the actual server-side egress call).

      Returns void

    • Broadcasts a local whiteboard snapshot to the room over the data channel.

      Parameters

      • json: string

      Returns void