weboffice-js-sdk 2.0.5-beta.16 → 2.0.5-beta.17

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.
@@ -15,7 +15,6 @@ import type { OfficeSDKMethodPath } from './OfficeSDK.methods';
15
15
  import type { HeaderBarsFacade } from './OfficeSDK.headerBars';
16
16
  export * from './OfficeSDK.facade.types';
17
17
  export * from './OfficeSDK.headerBars';
18
- export { toHeaderBarsCallbackAnchorRect } from './headerBarsAnchor';
19
18
  export declare const MessageEvent: typeof InvokeMethod;
20
19
  export declare class OfficeSDK extends TinyEmitter {
21
20
  /**
@@ -206,14 +205,14 @@ export declare class OfficeSDK extends TinyEmitter {
206
205
  private headerBarsVisible;
207
206
  private readonly headerBarsCommands;
208
207
  private readonly headerBarsCommandOverrides;
209
- private readonly headerBarsCommandEventOverrides;
210
- private headerBarsCapabilities;
211
208
  private readonly slashMenuCallbacks;
212
209
  private readonly editorFacadeCallbacks;
213
210
  private readonly headerBarsCommandRefs;
214
211
  private headerBarsTitleChangeHandler?;
215
212
  private headerBarsTitleChangeSubscribed;
216
213
  private readonly onViewportResize;
214
+ private readonly onOutsidePointerDown;
215
+ private outsidePointerEventName?;
217
216
  /**
218
217
  * 归一化后的缺省页配置,构造时一次算完,后续仅读取。
219
218
  */
@@ -282,6 +281,24 @@ export declare class OfficeSDK extends TinyEmitter {
282
281
  * 获取性能信息片段列表,由于性能标记是分段的、异步的,因此每次调用时获取的列表有可能不一致
283
282
  */
284
283
  getPerformanceEntries(): Promise<PerformanceEntry[]>;
284
+ /**
285
+ * 在父文档 capture 阶段监听真实按下,点到本 iframe 之外时通知 iframe 结束编辑。
286
+ * 输入:无。
287
+ * 输出:无返回值,重复绑定会被忽略。
288
+ */
289
+ private bindOutsideIframePointerListener;
290
+ /**
291
+ * 拆除父文档上的 iframe 外按下监听。
292
+ * 输入:无。
293
+ * 输出:无返回值;未绑定时直接返回。
294
+ */
295
+ private unbindOutsideIframePointerListener;
296
+ /**
297
+ * 处理父页按下:目标不是本 iframe 时 fire-and-forget 通知 iframe。
298
+ * 输入:父文档上的 pointerdown/mousedown 事件。
299
+ * 输出:无返回值;channel 失败时吞掉,避免打断宿主页面。
300
+ */
301
+ private notifyOutsidePointerDown;
285
302
  disconnect(): void;
286
303
  /**
287
304
  * 初始化 SDK,返回 Promise,当 ReadState 变为 Ready 或 Failed 时,Promise 将被 resolve。
@@ -311,11 +328,6 @@ export declare class OfficeSDK extends TinyEmitter {
311
328
  */
312
329
  private ensureHeaderBarsTitleChangeSubscription;
313
330
  private invokeHeaderBars;
314
- /**
315
- * 将 iframe viewport 坐标转换为宿主 window viewport 坐标。
316
- * 输入为 iframe 内事件矩形;输出不包含任何 DOM 对象。
317
- */
318
- private toHeaderBarsCallbackAnchorRect;
319
331
  private syncHeaderBarsCommands;
320
332
  private createHeaderBarsHost;
321
333
  private applyHeaderBarsChanged;
@@ -1,5 +1,4 @@
1
1
  export declare const HEADER_BARS_METHOD: {
2
- readonly getCapabilities: "headerBars.getCapabilities";
3
2
  readonly getVisible: "headerBars.getVisible";
4
3
  readonly setVisible: "headerBars.setVisible";
5
4
  readonly addCommand: "headerBars.addCommand";
@@ -13,12 +12,6 @@ export declare const HEADER_BARS_METHOD: {
13
12
  readonly setCommandCallbackEnabled: "headerBars.setCommandCallbackEnabled";
14
13
  readonly listViewCommands: "headerBars.listViewCommands";
15
14
  readonly handleCommandClick: "headerBars.handleCommandClick";
16
- readonly addCommands: "headerBars.addCommands";
17
- readonly setSectionVisible: "headerBars.setSectionVisible";
18
- readonly setCommandOptions: "headerBars.setCommandOptions";
19
- readonly setCommandOpen: "headerBars.setCommandOpen";
20
- readonly setCommandEventCallbackEnabled: "headerBars.setCommandEventCallbackEnabled";
21
- readonly handleCommandEvent: "headerBars.handleCommandEvent";
22
15
  };
23
16
  export declare const HEADER_BARS_CHANGED_EVENT = "headerBars:changed";
24
17
  export interface HeaderBarsCommandDefinition {
@@ -33,21 +26,10 @@ export interface HeaderBarsCommandDefinition {
33
26
  type?: 'action' | 'structural';
34
27
  renderType?: string;
35
28
  src?: string;
36
- danger?: boolean;
37
- disabledTip?: string;
38
- itemType?: 'command' | 'divider';
39
- trigger?: 'hover' | 'click';
40
- open?: boolean;
41
- style?: HeaderBarsCommandStyle;
42
- toast?: Record<string, unknown>;
43
- subItems?: HeaderBarsCommandDefinition[];
44
29
  onClick?: () => void | Promise<void>;
45
- onOpen?: HeaderBarsCommandOpenHandler;
46
- onClose?: HeaderBarsCommandCloseHandler;
47
30
  }
48
31
  export interface HeaderBarsCommandState extends HeaderBarsCommandDefinition {
49
32
  type: 'action' | 'structural';
50
- open?: boolean;
51
33
  }
52
34
  export interface HeaderBarsCommandRef {
53
35
  readonly id: string;
@@ -57,87 +39,9 @@ export interface HeaderBarsCommandRef {
57
39
  src?: string;
58
40
  label?: string;
59
41
  editable?: boolean;
60
- open: boolean;
61
- style?: HeaderBarsCommandStyle;
62
- subItems?: HeaderBarsCommandDefinition[];
63
42
  onCommandClick?: () => void | Promise<void>;
64
- onCommandOpen?: HeaderBarsCommandOpenHandler;
65
- onCommandClose?: HeaderBarsCommandCloseHandler;
66
43
  getState: () => HeaderBarsCommandState | undefined;
67
44
  }
68
- export interface HeaderBarsCommandStyle {
69
- color?: string;
70
- fontSize?: number;
71
- fontWeight?: number;
72
- backgroundColor?: string;
73
- borderColor?: string;
74
- borderWidth?: number;
75
- borderRadius?: number;
76
- width?: number;
77
- height?: number;
78
- }
79
- export interface HeaderBarsAnchorRect {
80
- left: number;
81
- top: number;
82
- right: number;
83
- bottom: number;
84
- width: number;
85
- height: number;
86
- viewport: {
87
- width: number;
88
- height: number;
89
- };
90
- coordinateSpace: 'callback-window-viewport';
91
- }
92
- export interface HeaderBarsSourceAnchorRect {
93
- left: number;
94
- top: number;
95
- right: number;
96
- bottom: number;
97
- width: number;
98
- height: number;
99
- viewport: {
100
- width: number;
101
- height: number;
102
- };
103
- coordinateSpace: 'sdk-iframe-viewport';
104
- }
105
- export interface HeaderBarsCommandEventPayload {
106
- requestId: string;
107
- sequence: number;
108
- commandId: string;
109
- event: 'click' | 'open' | 'close';
110
- anchorRect: HeaderBarsSourceAnchorRect;
111
- context?: Record<string, unknown>;
112
- }
113
- export type HeaderBarsCommandEventResult = 'handled' | 'unhandled' | 'failed' | 'timedOut';
114
- export interface HeaderBarsCommandEvent {
115
- commandId: string;
116
- event: 'click' | 'open' | 'close';
117
- anchorRect: HeaderBarsAnchorRect;
118
- context?: Record<string, unknown>;
119
- }
120
- export type HeaderBarsCommandClickHandler = (event?: HeaderBarsCommandEvent) => void | Promise<void>;
121
- export type HeaderBarsCommandOpenHandler = (commandId: string, anchorRect: HeaderBarsAnchorRect, context: Record<string, unknown>) => void | Promise<void>;
122
- export type HeaderBarsCommandCloseHandler = HeaderBarsCommandOpenHandler;
123
- type HeaderBarsEventHandler = (...args: any[]) => void | Promise<void>;
124
- export interface HeaderBarsCapabilities {
125
- protocolVersion: 1 | 2;
126
- features: {
127
- treeCommands: boolean;
128
- batchCommands: boolean;
129
- sectionVisibility: boolean;
130
- commandOptions: boolean;
131
- commandOpenState: boolean;
132
- commandEvents: boolean;
133
- anchorEvents: boolean;
134
- };
135
- }
136
- export interface HeaderBarsMutationResult {
137
- success: boolean;
138
- code?: string;
139
- message?: string;
140
- }
141
45
  export type HeaderBarsTitleChangeHandler = (title: string) => void | Promise<void>;
142
46
  export interface HeaderBarsFacade {
143
47
  visible: boolean;
@@ -147,9 +51,6 @@ export interface HeaderBarsFacade {
147
51
  addCommand: (command: HeaderBarsCommandDefinition, posCommand: string, pos?: 'before' | 'after') => Promise<boolean>;
148
52
  getCommand: (id: string) => HeaderBarsCommandRef;
149
53
  listViewCommands: () => Promise<HeaderBarsCommandState[]>;
150
- getCapabilities: () => Promise<HeaderBarsCapabilities>;
151
- addCommands: (commands: HeaderBarsCommandDefinition[], posCommand: string, pos?: 'before' | 'after') => Promise<HeaderBarsMutationResult>;
152
- setSectionVisible: (section: 'left' | 'right', visible: boolean) => Promise<HeaderBarsMutationResult>;
153
54
  }
154
55
  export interface HeaderBarsChangedPayload {
155
56
  reason?: string;
@@ -165,10 +66,6 @@ interface HeaderBarsHost {
165
66
  setVisibleState(visible: boolean): void;
166
67
  getCommandsMap(): Map<string, HeaderBarsCommandState>;
167
68
  getOverridesMap(): Map<string, (() => void | Promise<void>) | undefined>;
168
- getEventOverridesMap(): Map<string, HeaderBarsEventHandler | undefined>;
169
- getCapabilitiesState(): HeaderBarsCapabilities;
170
- setCapabilitiesState(capabilities: HeaderBarsCapabilities): void;
171
- getIframeElement(): HTMLElement | null;
172
69
  getRefsMap(): Map<string, HeaderBarsCommandRef>;
173
70
  getTitleHandler(): HeaderBarsTitleChangeHandler | undefined;
174
71
  setTitleHandler(handler: HeaderBarsTitleChangeHandler | undefined): void;