@seatlayer/js 0.16.1 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -929,6 +929,9 @@ interface SeatManagerActivity {
929
929
  /** Human verb: held / booked / released / blocked / unblocked. */
930
930
  verb: string;
931
931
  status: DoStatus;
932
+ /** Spatial context for grouped activity when the chart defines sections. */
933
+ sectionIds?: string[];
934
+ sectionLabels?: string[];
932
935
  }
933
936
  /** Fired after a successful organizer action, for host toasts/telemetry. */
934
937
  interface SeatManagerActionResult {
@@ -959,6 +962,11 @@ interface SeatManagerOptions {
959
962
  * rAF throttling on occluded tabs never leaves the board stale. Default true.
960
963
  */
961
964
  keepLiveWhileHidden?: boolean;
965
+ /**
966
+ * Opt in to camera-following for new buyer holds/bookings. Off by default so
967
+ * a live event never steals an operator's current map context.
968
+ */
969
+ followLive?: boolean;
962
970
  /** Chart + first snapshot are loaded and the board is live. */
963
971
  onReady?: () => void;
964
972
  /** Live KPI tallies changed. */
@@ -974,6 +982,8 @@ interface SeatManagerOptions {
974
982
  }>;
975
983
  /** Tool/mode changed from inside the shared cockpit. */
976
984
  onModeChange?: (mode: SeatManagerMode) => void;
985
+ /** Follow-live preference changed from inside the cockpit. */
986
+ onFollowLiveChange?: (enabled: boolean) => void;
977
987
  /** Block-mode selection changed (marquee / ⌘A / category / section / tap). */
978
988
  onSelectionChange?: (seats: ExpandedSeat[]) => void;
979
989
  /** A block/unblock/cancel action completed successfully. */
@@ -1004,6 +1014,9 @@ declare class SeatManager {
1004
1014
  private controlRoomSnapshot;
1005
1015
  private trendWindowMinutes;
1006
1016
  private heatEnabled;
1017
+ private followLive;
1018
+ private lastKpiValues;
1019
+ private activeKpiDeltas;
1007
1020
  private ws;
1008
1021
  private reconnectTimer;
1009
1022
  private attempt;
@@ -1012,6 +1025,10 @@ declare class SeatManager {
1012
1025
  private feed;
1013
1026
  private feedTimer;
1014
1027
  private toastTimer;
1028
+ private liveEventTimer;
1029
+ private kpiCleanupTimer;
1030
+ private followLiveTimer;
1031
+ private followSeatTimer;
1015
1032
  private releaseAt;
1016
1033
  private layoutObserver;
1017
1034
  private tokenExpiresAt;
@@ -1026,12 +1043,15 @@ declare class SeatManager {
1026
1043
  private unblockAllConfirmTimer;
1027
1044
  private readonly onFullscreenChange;
1028
1045
  private readonly onKeyDown;
1046
+ private readonly onRailClick;
1029
1047
  constructor(options: SeatManagerOptions);
1030
1048
  /** Build the DOM, load the chart, subscribe to realtime, mount the board. */
1031
1049
  render(): Promise<this>;
1032
1050
  setMode(mode: SeatManagerMode): void;
1033
1051
  /** Toggle the normalized sales-velocity outline overlay without changing seat colors. */
1034
1052
  setHeatOverlay(enabled: boolean): void;
1053
+ /** Toggle opt-in camera following for new buyer hold/book events. */
1054
+ setFollowLive(enabled: boolean): void;
1035
1055
  /** Change the current-vs-previous sales window and refresh the private projection. */
1036
1056
  setTrendWindow(windowMinutes: number): Promise<ControlRoomSnapshot>;
1037
1057
  enterFullscreen(): Promise<void>;
@@ -1084,7 +1104,14 @@ declare class SeatManager {
1084
1104
  private setSeatsLocal;
1085
1105
  /** Keep the canvas painting on hidden/occluded tabs (war-room second monitor). */
1086
1106
  private afterPaint;
1087
- private flash;
1107
+ private activityColor;
1108
+ private sectionsForLabels;
1109
+ private pulseSeatLabels;
1110
+ /** Render one grouped realtime operation at the right semantic zoom level. */
1111
+ private paintSpatialActivity;
1112
+ private locateSection;
1113
+ private locateActivity;
1114
+ private showLiveEvent;
1088
1115
  private applyReportRevenue;
1089
1116
  private refreshControlRoom;
1090
1117
  private scheduleRevenueRefresh;
@@ -1100,12 +1127,14 @@ declare class SeatManager {
1100
1127
  private sectionOptions;
1101
1128
  private buildSectionOptions;
1102
1129
  private paintModeTabs;
1130
+ private paintFollowLiveButton;
1103
1131
  private paintHeatButton;
1104
1132
  private paintMomentumHelp;
1105
1133
  private paintFullscreenButton;
1106
1134
  private paintTrendWindow;
1107
1135
  private setLive;
1108
1136
  private updateZoomHint;
1137
+ private formatKpiDelta;
1109
1138
  private paintKpis;
1110
1139
  private paintRail;
1111
1140
  private renderViewRail;
package/dist/index.d.ts CHANGED
@@ -929,6 +929,9 @@ interface SeatManagerActivity {
929
929
  /** Human verb: held / booked / released / blocked / unblocked. */
930
930
  verb: string;
931
931
  status: DoStatus;
932
+ /** Spatial context for grouped activity when the chart defines sections. */
933
+ sectionIds?: string[];
934
+ sectionLabels?: string[];
932
935
  }
933
936
  /** Fired after a successful organizer action, for host toasts/telemetry. */
934
937
  interface SeatManagerActionResult {
@@ -959,6 +962,11 @@ interface SeatManagerOptions {
959
962
  * rAF throttling on occluded tabs never leaves the board stale. Default true.
960
963
  */
961
964
  keepLiveWhileHidden?: boolean;
965
+ /**
966
+ * Opt in to camera-following for new buyer holds/bookings. Off by default so
967
+ * a live event never steals an operator's current map context.
968
+ */
969
+ followLive?: boolean;
962
970
  /** Chart + first snapshot are loaded and the board is live. */
963
971
  onReady?: () => void;
964
972
  /** Live KPI tallies changed. */
@@ -974,6 +982,8 @@ interface SeatManagerOptions {
974
982
  }>;
975
983
  /** Tool/mode changed from inside the shared cockpit. */
976
984
  onModeChange?: (mode: SeatManagerMode) => void;
985
+ /** Follow-live preference changed from inside the cockpit. */
986
+ onFollowLiveChange?: (enabled: boolean) => void;
977
987
  /** Block-mode selection changed (marquee / ⌘A / category / section / tap). */
978
988
  onSelectionChange?: (seats: ExpandedSeat[]) => void;
979
989
  /** A block/unblock/cancel action completed successfully. */
@@ -1004,6 +1014,9 @@ declare class SeatManager {
1004
1014
  private controlRoomSnapshot;
1005
1015
  private trendWindowMinutes;
1006
1016
  private heatEnabled;
1017
+ private followLive;
1018
+ private lastKpiValues;
1019
+ private activeKpiDeltas;
1007
1020
  private ws;
1008
1021
  private reconnectTimer;
1009
1022
  private attempt;
@@ -1012,6 +1025,10 @@ declare class SeatManager {
1012
1025
  private feed;
1013
1026
  private feedTimer;
1014
1027
  private toastTimer;
1028
+ private liveEventTimer;
1029
+ private kpiCleanupTimer;
1030
+ private followLiveTimer;
1031
+ private followSeatTimer;
1015
1032
  private releaseAt;
1016
1033
  private layoutObserver;
1017
1034
  private tokenExpiresAt;
@@ -1026,12 +1043,15 @@ declare class SeatManager {
1026
1043
  private unblockAllConfirmTimer;
1027
1044
  private readonly onFullscreenChange;
1028
1045
  private readonly onKeyDown;
1046
+ private readonly onRailClick;
1029
1047
  constructor(options: SeatManagerOptions);
1030
1048
  /** Build the DOM, load the chart, subscribe to realtime, mount the board. */
1031
1049
  render(): Promise<this>;
1032
1050
  setMode(mode: SeatManagerMode): void;
1033
1051
  /** Toggle the normalized sales-velocity outline overlay without changing seat colors. */
1034
1052
  setHeatOverlay(enabled: boolean): void;
1053
+ /** Toggle opt-in camera following for new buyer hold/book events. */
1054
+ setFollowLive(enabled: boolean): void;
1035
1055
  /** Change the current-vs-previous sales window and refresh the private projection. */
1036
1056
  setTrendWindow(windowMinutes: number): Promise<ControlRoomSnapshot>;
1037
1057
  enterFullscreen(): Promise<void>;
@@ -1084,7 +1104,14 @@ declare class SeatManager {
1084
1104
  private setSeatsLocal;
1085
1105
  /** Keep the canvas painting on hidden/occluded tabs (war-room second monitor). */
1086
1106
  private afterPaint;
1087
- private flash;
1107
+ private activityColor;
1108
+ private sectionsForLabels;
1109
+ private pulseSeatLabels;
1110
+ /** Render one grouped realtime operation at the right semantic zoom level. */
1111
+ private paintSpatialActivity;
1112
+ private locateSection;
1113
+ private locateActivity;
1114
+ private showLiveEvent;
1088
1115
  private applyReportRevenue;
1089
1116
  private refreshControlRoom;
1090
1117
  private scheduleRevenueRefresh;
@@ -1100,12 +1127,14 @@ declare class SeatManager {
1100
1127
  private sectionOptions;
1101
1128
  private buildSectionOptions;
1102
1129
  private paintModeTabs;
1130
+ private paintFollowLiveButton;
1103
1131
  private paintHeatButton;
1104
1132
  private paintMomentumHelp;
1105
1133
  private paintFullscreenButton;
1106
1134
  private paintTrendWindow;
1107
1135
  private setLive;
1108
1136
  private updateZoomHint;
1137
+ private formatKpiDelta;
1109
1138
  private paintKpis;
1110
1139
  private paintRail;
1111
1140
  private renderViewRail;