Member Junction
    Preparing search index...

    The call overlay's BOTTOM DOCK — the progressive-disclosure composer (plans/realtime/mockups/redesign-a-progressive.html). One component, two shapes, keyed off the overlay's disclosure Level:

    • Levels 0–1 (phone-call strip) — big round call controls, centered: Mute, the Captions toggle (level 1+, arriving WITH the text it controls), the Details peek (level 0 paths where the surface panel isn't earned yet — lets the user look at the Activity/Whiteboard panels on demand), the Type control, and End call. There's no visible composer yet — the Type control opens it, and so does simply starting to type (the overlay captures the first printable keystroke and seeds it via AppendAndFocus).
    • Level 2+ (the dock) — mute/captions shrink to small circles and the in-call text input docks beside them (one bottom bar, per Redesign A's fused composer+controls). Submit calls RealtimeSessionService.SendText, which injects the text as a user turn into the SAME live voice call.

    The controls are the design system's: the microphone, the camera and Share are mj-media-controls (the call controls the LiveKit room uses too) and every other control an mjButton circle, sized per shape (52, 44 or 32 px). The camera and Share show only when the overlay says the call offers them; the camera is optional here, so it is neutral while off. In the strip and the lean dock the microphone carries the device chevron, whose menu picks the microphone and, while the camera is open, the camera (Devices); the fused dock, short of room, leaves it out, as it does the Share arrow.

    Mute talks to the session service directly (pure local toggle); captions / Details / End are emitted up so the overlay shell owns that state and lifecycle.

    Index

    Constructors

    Properties

    CameraOn: boolean = false

    Whether the camera is on (or starting).

    CameraToggled: EventEmitter<boolean> = ...

    The user asked to turn the camera on (true) or off (false). The overlay starts or stops it.

    CaptionsOn: boolean = true

    Whether captions are currently shown (drives the captions control's active state).

    CaptionsToggled: EventEmitter<boolean> = ...

    Emitted when the user toggles captions; the overlay flips its caption state.

    Compact: boolean = false

    COMPACT (Calm Orb · overlay) presentation: collapse the phone-call strip to the mockup's lean dock — Mute + End + a "•••" overflow button. The "•••" blooms a small sheet hosting the secondary actions (Captions / Details / Type). The fused level-2 dock (minis + text input) is unchanged. Fed from the overlay's resolved Ui.compact. Default false (the full 5-button strip is unchanged).

    DetailsOn: boolean = false

    Whether the Details peek is currently open (active state on the control).

    DetailsToggled: EventEmitter<void> = ...

    Emitted when the user toggles the Details peek (the on-demand surface panel).

    Devices: readonly MediaDevice[] = []

    The microphones and cameras the device menu offers: the call's microphones, and its cameras while the camera is open. With none there is no device chevron. The typed-input dock leaves the chevron out.

    DeviceSelected: EventEmitter<MediaDeviceSelection> = ...

    The user picked a microphone or a camera in the device menu. The overlay switches to it.

    Draft: string = ''

    Current draft text in the dock's composer input.

    EndRequested: EventEmitter<void> = ...

    Emitted when the user ends the call from the strip's End control.

    IsMuted: boolean = false

    The mic mute state. A two-way reflection: the overlay may push it down (e.g. its SetMuted() / focus-pill toggle) so all mute affordances stay in sync, and this component updates it locally + emits MuteChanged when its own button is used.

    MoreOpen: boolean = false

    Whether the compact "•••" overflow sheet (Captions / Details / Type) is open. Only used in Compact strip mode; any outside click or action selection closes it.

    MuteChanged: EventEmitter<boolean> = ...

    Emitted with the new muted state whenever the user toggles the mic from the dock.

    Open: boolean = false

    Whether the typed-input dock is OPEN. A two-way door owned by the user: the strip's Type control (or the T hotkey) opens it; the dock's hide control closes it — typing never becomes permanent chrome. Default closed (voice-first), reset per session.

    OpenChanged: EventEmitter<boolean> = ...

    Emitted when the user opens (Type control / typing) or closes (hide control) the dock.

    SelectedCameraID: string | null = null

    The camera the device menu shows as picked.

    SelectedMicrophoneID: string | null = null

    The microphone the device menu shows as picked.

    SharePanels: readonly MediaSharePanel[] = []

    The panels of the page the Share menu offers under "This panel" (the overlay's on-screen panels). The typed-input dock, whose Share button has no menu, leaves them out.

    ShareRequested: EventEmitter<MediaShareRequest> = ...

    The user asked to share a screen, window or tab, or one of SharePanels.

    Sharing: boolean = false

    Whether the user is sharing (or choosing what to share).

    ShowCamera: boolean = false

    Show the camera button: the call offers the camera (the runtime's CaptureOffers$).

    ShowDetails: boolean = false

    Whether the Details peek control renders (true until the surface panel is earned).

    ShowShare: boolean = false

    Show the Share button: the call offers a screen share.

    StopShareRequested: EventEmitter<void> = ...

    The user asked to stop sharing.

    Accessors

    Methods

    • TYPE-TO-COMPOSE: the overlay captured a printable keystroke while nothing was focused, so seed the draft with that character, focus the input, and put the caret at the end — the user just keeps typing and their first key isn't lost. Appends (rather than replaces) so a leftover draft is preserved. The native value is synced inline so the caret math is correct before Angular's next change-detection pass reconciles ngModel.

      Parameters

      • text: string

        the character(s) to seed (typically the single key that opened the composer).

      Returns void