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 compact minis 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.

    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

    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).

    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.

    ShowDetails: boolean = false

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

    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