Member Junction
    Preparing search index...

    The floating left-edge toolbar of the live whiteboard: tool buttons with kbd hints, the pen color/width flyout (with the "violet = agent's" reservation note), the shape flyout, and undo/redo. Pure presentational — all state in/out via bindings.

    Index

    Constructors

    Properties

    ActiveTool:
        | "sticky"
        | "shape"
        | "text"
        | "image"
        | "connector"
        | "markdown"
        | "html"
        | "select"
        | "pan"
        | "pen"
        | "eraser" = 'select'

    The currently active tool.

    AgentName: string = 'Agent'

    Display name of the session's agent (the pen flyout note: "violet = Sage's").

    CanRedo: boolean = false
    CanUndo: boolean = false

    Whether undo / redo are available (drives nothing visually but kept for a11y).

    PenColor: string = ...

    Selected pen ink color (from WHITEBOARD_PEN_COLORS).

    PenColorChange: EventEmitter<string> = ...
    PenColors: readonly string[] = WHITEBOARD_PEN_COLORS
    PenWidth: number = 4

    Selected pen stroke width.

    PenWidthChange: EventEmitter<number> = ...
    PenWidths: readonly number[] = WHITEBOARD_PEN_WIDTHS
    Redo: EventEmitter<void> = ...
    ShapeKind: WhiteboardShapeKind = 'rect'

    Selected shape kind for drag-create.

    ShapeKindChange: EventEmitter<WhiteboardShapeKind> = ...
    ShapeKinds: { Icon: string; Kind: WhiteboardShapeKind; Title: string }[] = ...
    StyleSelection: EventEmitter<WhiteboardTextStyleEvent> = ...

    A style choice was made — the board applies it to the selected text/sticky item (if any).

    TextBold: boolean = true

    Selected text bold state (labels render bold by default).

    TextBoldChange: EventEmitter<boolean> = ...
    TextColor: string = null

    Selected text color (null = the theme default; palette excludes the agent's violet).

    TextColorChange: EventEmitter<string> = ...
    TextFamilies: FontFamilyEntry[] = ...
    TextFamily: WhiteboardFontFamily = 'sans'

    Selected text font family.

    TextFamilyChange: EventEmitter<WhiteboardFontFamily> = ...
    TextSize: number = 12

    Selected text font size (curated steps; 12 matches the CSS default).

    TextSizeChange: EventEmitter<number> = ...
    TextSizes: readonly number[] = WHITEBOARD_FONT_SIZES
    ToolChange: EventEmitter<
        | "sticky"
        | "shape"
        | "text"
        | "image"
        | "connector"
        | "markdown"
        | "html"
        | "select"
        | "pan"
        | "pen"
        | "eraser",
    > = ...
    Tools: ToolbarEntry[] = ...
    Undo: EventEmitter<void> = ...
    VisibleTools: ToolbarEntry[] = ...

    Tools narrowed by ToolRoster, in Tools order. The template loops over this. Recomputed by the ToolRoster setter; the default (no roster) is every tool.

    Accessors

    • get ToolRoster(): readonly (
          | "sticky"
          | "shape"
          | "text"
          | "image"
          | "connector"
          | "markdown"
          | "html"
          | "select"
          | "pan"
          | "pen"
          | "eraser"
      )[]

      Returns readonly (
          | "sticky"
          | "shape"
          | "text"
          | "image"
          | "connector"
          | "markdown"
          | "html"
          | "select"
          | "pan"
          | "pen"
          | "eraser"
      )[]

    • set ToolRoster(
          value: readonly (
              | "sticky"
              | "shape"
              | "text"
              | "image"
              | "connector"
              | "markdown"
              | "html"
              | "select"
              | "pan"
              | "pen"
              | "eraser"
          )[],
      ): void

      Which tools the palette offers. null (default) is all eleven, today's rendering. A host that narrows this also narrows the keyboard shortcuts and the canvas context menu, because the same roster is threaded to all three (see whiteboard-tool-roster.ts).

      A setter so VisibleTools is filtered ONCE per roster change rather than on every change-detection pass — the template loops over it, so a getter re-filtered the eleven entries (and allocated a new array, defeating @for reuse) on every tick.

      Parameters

      • value: readonly (
            | "sticky"
            | "shape"
            | "text"
            | "image"
            | "connector"
            | "markdown"
            | "html"
            | "select"
            | "pan"
            | "pen"
            | "eraser"
        )[]

      Returns void

    Methods

    • Parameters

      • tool:
            | "sticky"
            | "shape"
            | "text"
            | "image"
            | "connector"
            | "markdown"
            | "html"
            | "select"
            | "pan"
            | "pen"
            | "eraser"

      Returns void

    • Parameters

      • index: number
      • entry: ToolbarEntry

      Returns
          | "sticky"
          | "shape"
          | "text"
          | "image"
          | "connector"
          | "markdown"
          | "html"
          | "select"
          | "pan"
          | "pen"
          | "eraser"