dock-spawn-ts 2.200.0 → 2.240.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.
Files changed (39) hide show
  1. package/lib/css/dock-manager.css +10 -0
  2. package/lib/es5/dock-spawn-ts.js +1 -1
  3. package/lib/js/Dialog.d.ts +2 -1
  4. package/lib/js/Dialog.js +12 -2
  5. package/lib/js/Dialog.js.map +1 -1
  6. package/lib/js/DockManager.d.ts +1 -1
  7. package/lib/js/DockManager.js +4 -4
  8. package/lib/js/DockManager.js.map +1 -1
  9. package/lib/js/DockWheel.js +5 -3
  10. package/lib/js/DockWheel.js.map +1 -1
  11. package/lib/js/PanelContainer.d.ts +2 -0
  12. package/lib/js/PanelContainer.js +11 -0
  13. package/lib/js/PanelContainer.js.map +1 -1
  14. package/lib/js/SplitterPanel.js +2 -2
  15. package/lib/js/SplitterPanel.js.map +1 -1
  16. package/lib/js/TabHandle.js +231 -235
  17. package/lib/js/TabHandle.js.map +1 -1
  18. package/lib/js/Utils.js +58 -62
  19. package/lib/js/Utils.js.map +1 -1
  20. package/lib/js/interfaces/IDockContainer.js +1 -0
  21. package/lib/js/interfaces/IDockContainerWithSize.js +1 -0
  22. package/lib/js/interfaces/ILayoutEventListener.js +1 -0
  23. package/lib/js/interfaces/IMouseOrTouchEvent.js +1 -0
  24. package/lib/js/interfaces/INodeInfo.js +1 -0
  25. package/lib/js/interfaces/IPanelInfo.js +1 -0
  26. package/lib/js/interfaces/IRectangle.js +1 -0
  27. package/lib/js/interfaces/ISize.js +1 -0
  28. package/lib/js/interfaces/IState.js +1 -0
  29. package/lib/js/interfaces/IThickness.js +1 -0
  30. package/lib/js/webcomponent/DockSpawnTsWebcomponent.d.ts +1 -0
  31. package/lib/js/webcomponent/DockSpawnTsWebcomponent.js +142 -144
  32. package/lib/js/webcomponent/DockSpawnTsWebcomponent.js.map +1 -1
  33. package/package.json +10 -10
  34. package/src/Dialog.ts +16 -3
  35. package/src/DockManager.ts +4 -4
  36. package/src/DockWheel.ts +5 -3
  37. package/src/PanelContainer.ts +13 -0
  38. package/src/SplitterPanel.ts +2 -2
  39. package/src/webcomponent/DockSpawnTsWebcomponent.ts +6 -3
@@ -6,263 +6,259 @@ import { PanelType } from "./enums/PanelType.js";
6
6
  /**
7
7
  * A tab handle represents the tab button on the tab strip
8
8
  */
9
- let TabHandle = /** @class */ (() => {
10
- class TabHandle {
11
- constructor(parent) {
12
- this.parent = parent;
13
- let undockHandler = this._performUndock.bind(this);
14
- this.elementBase = document.createElement('div');
15
- this.elementText = document.createElement('div');
16
- this.elementCloseButton = document.createElement('div');
17
- this.elementBase.classList.add('dockspan-tab-handle');
18
- this.elementBase.classList.add('disable-selection'); // Disable text selection
19
- this.elementText.classList.add('dockspan-tab-handle-text');
20
- this.elementCloseButton.classList.add('dockspan-tab-handle-close-button');
21
- this.elementBase.appendChild(this.elementText);
22
- if (this.parent.host.displayCloseButton)
23
- this.elementBase.appendChild(this.elementCloseButton);
24
- if (this.parent.container._hideCloseButton)
25
- this.elementCloseButton.style.display = 'none';
26
- this.parent.host.tabListElement.appendChild(this.elementBase);
27
- let panel = parent.container;
28
- let title = panel.getRawTitle();
29
- this.undockListener = {
30
- onDockEnabled: (e) => { this.undockEnabled(e.state); },
31
- onHideCloseButton: (e) => { this.hideCloseButton(e.state); }
32
- };
33
- this.eventListeners = [];
34
- panel.addListener(this.undockListener);
35
- this.elementText.innerHTML = title;
36
- this.elementText.title = this.elementText.innerText;
37
- this._bringToFront(this.elementBase);
38
- this.undockInitiator = new UndockInitiator(this.elementBase, undockHandler);
39
- this.undockInitiator.enabled = true;
40
- this.mouseDownHandler = new EventHandler(this.elementBase, 'mousedown', this.onMouseDown.bind(this));
41
- this.touchDownHandler = new EventHandler(this.elementBase, 'touchstart', this.onMouseDown.bind(this), { passive: false });
42
- this.closeButtonHandler = new EventHandler(this.elementCloseButton, 'click', this.onCloseButtonClicked.bind(this));
43
- this.closeButtonTouchHandler = new EventHandler(this.elementCloseButton, 'touchstart', this.onCloseButtonClicked.bind(this));
44
- this.auxClickHandler = new EventHandler(this.elementBase, 'auxclick', this.onCloseButtonClicked.bind(this));
45
- this.contextMenuHandler = new EventHandler(this.elementBase, 'contextmenu', this.oncontextMenuClicked.bind(this));
46
- this.zIndexCounter = parent.host.dockManager.zIndexTabHandle;
47
- }
48
- addListener(listener) {
49
- this.eventListeners.push(listener);
50
- }
51
- removeListener(listener) {
52
- this.eventListeners.splice(this.eventListeners.indexOf(listener), 1);
53
- }
54
- undockEnabled(state) {
55
- this.undockInitiator.enabled = state;
56
- }
57
- oncontextMenuClicked(e) {
58
- e.preventDefault();
59
- if (!this._ctxMenu && TabHandle.createContextMenuContentCallback) {
60
- this._ctxMenu = document.createElement('div');
61
- this._ctxMenu.className = 'dockspab-tab-handle-context-menu';
62
- TabHandle.createContextMenuContentCallback(this, this._ctxMenu, this.parent.container.dockManager.context.model.documentManagerNode.children);
63
- this._ctxMenu.style.left = e.pageX + "px";
64
- this._ctxMenu.style.top = e.pageY + "px";
65
- document.body.appendChild(this._ctxMenu);
66
- this._windowsContextMenuCloseBound = this.windowsContextMenuClose.bind(this);
67
- window.addEventListener('mouseup', this._windowsContextMenuCloseBound);
68
- }
69
- else {
70
- this.closeContextMenu();
71
- }
72
- }
73
- closeContextMenu() {
74
- if (this._ctxMenu) {
75
- document.body.removeChild(this._ctxMenu);
76
- delete this._ctxMenu;
77
- window.removeEventListener('mouseup', this._windowsContextMenuCloseBound);
78
- }
9
+ export class TabHandle {
10
+ constructor(parent) {
11
+ this.parent = parent;
12
+ let undockHandler = this._performUndock.bind(this);
13
+ this.elementBase = document.createElement('div');
14
+ this.elementText = document.createElement('div');
15
+ this.elementCloseButton = document.createElement('div');
16
+ this.elementBase.classList.add('dockspan-tab-handle');
17
+ this.elementBase.classList.add('disable-selection'); // Disable text selection
18
+ this.elementText.classList.add('dockspan-tab-handle-text');
19
+ this.elementCloseButton.classList.add('dockspan-tab-handle-close-button');
20
+ this.elementBase.appendChild(this.elementText);
21
+ if (this.parent.host.displayCloseButton)
22
+ this.elementBase.appendChild(this.elementCloseButton);
23
+ if (this.parent.container._hideCloseButton)
24
+ this.elementCloseButton.style.display = 'none';
25
+ this.parent.host.tabListElement.appendChild(this.elementBase);
26
+ let panel = parent.container;
27
+ let title = panel.getRawTitle();
28
+ this.undockListener = {
29
+ onDockEnabled: (e) => { this.undockEnabled(e.state); },
30
+ onHideCloseButton: (e) => { this.hideCloseButton(e.state); }
31
+ };
32
+ this.eventListeners = [];
33
+ panel.addListener(this.undockListener);
34
+ this.elementText.innerHTML = title;
35
+ this.elementText.title = this.elementText.innerText;
36
+ this._bringToFront(this.elementBase);
37
+ this.undockInitiator = new UndockInitiator(this.elementBase, undockHandler);
38
+ this.undockInitiator.enabled = true;
39
+ this.mouseDownHandler = new EventHandler(this.elementBase, 'mousedown', this.onMouseDown.bind(this));
40
+ this.touchDownHandler = new EventHandler(this.elementBase, 'touchstart', this.onMouseDown.bind(this), { passive: false });
41
+ this.closeButtonHandler = new EventHandler(this.elementCloseButton, 'click', this.onCloseButtonClicked.bind(this));
42
+ this.closeButtonTouchHandler = new EventHandler(this.elementCloseButton, 'touchstart', this.onCloseButtonClicked.bind(this));
43
+ this.auxClickHandler = new EventHandler(this.elementBase, 'auxclick', this.onCloseButtonClicked.bind(this));
44
+ this.contextMenuHandler = new EventHandler(this.elementBase, 'contextmenu', this.oncontextMenuClicked.bind(this));
45
+ this.zIndexCounter = parent.host.dockManager.zIndexTabHandle;
46
+ }
47
+ addListener(listener) {
48
+ this.eventListeners.push(listener);
49
+ }
50
+ removeListener(listener) {
51
+ this.eventListeners.splice(this.eventListeners.indexOf(listener), 1);
52
+ }
53
+ undockEnabled(state) {
54
+ this.undockInitiator.enabled = state;
55
+ }
56
+ oncontextMenuClicked(e) {
57
+ e.preventDefault();
58
+ if (!this._ctxMenu && TabHandle.createContextMenuContentCallback) {
59
+ this._ctxMenu = document.createElement('div');
60
+ this._ctxMenu.className = 'dockspab-tab-handle-context-menu';
61
+ TabHandle.createContextMenuContentCallback(this, this._ctxMenu, this.parent.container.dockManager.context.model.documentManagerNode.children);
62
+ this._ctxMenu.style.left = e.pageX + "px";
63
+ this._ctxMenu.style.top = e.pageY + "px";
64
+ document.body.appendChild(this._ctxMenu);
65
+ this._windowsContextMenuCloseBound = this.windowsContextMenuClose.bind(this);
66
+ window.addEventListener('mouseup', this._windowsContextMenuCloseBound);
79
67
  }
80
- windowsContextMenuClose(e) {
81
- let cp = e.composedPath();
82
- for (let i in cp) {
83
- let el = cp[i];
84
- if (el == this._ctxMenu)
85
- return;
86
- }
68
+ else {
87
69
  this.closeContextMenu();
88
70
  }
89
- onMouseDown(e) {
90
- e.preventDefault();
91
- this.parent.onSelected();
92
- if (this.mouseMoveHandler) {
93
- this.mouseMoveHandler.cancel();
94
- delete this.mouseMoveHandler;
95
- }
96
- if (this.touchMoveHandler) {
97
- this.touchMoveHandler.cancel();
98
- delete this.touchMoveHandler;
99
- }
100
- if (this.mouseUpHandler) {
101
- this.mouseUpHandler.cancel();
102
- delete this.mouseUpHandler;
103
- }
104
- if (this.touchUpHandler) {
105
- this.touchUpHandler.cancel();
106
- delete this.touchUpHandler;
107
- }
108
- this.stargDragPosition = e.clientX;
109
- this.mouseMoveHandler = new EventHandler(window, 'mousemove', this.onMouseMove.bind(this));
110
- this.touchMoveHandler = new EventHandler(window, 'touchmove', this.onMouseMove.bind(this), { passive: false });
111
- this.mouseUpHandler = new EventHandler(window, 'mouseup', this.onMouseUp.bind(this));
112
- this.touchUpHandler = new EventHandler(window, 'touchend', this.onMouseUp.bind(this));
71
+ }
72
+ closeContextMenu() {
73
+ if (this._ctxMenu) {
74
+ document.body.removeChild(this._ctxMenu);
75
+ delete this._ctxMenu;
76
+ window.removeEventListener('mouseup', this._windowsContextMenuCloseBound);
113
77
  }
114
- onMouseUp(e) {
115
- if (this.elementBase) {
116
- this.elementBase.classList.remove('dockspan-tab-handle-dragged');
117
- }
118
- this.dragged = false;
119
- if (this.mouseMoveHandler)
120
- this.mouseMoveHandler.cancel();
121
- if (this.touchMoveHandler)
122
- this.touchMoveHandler.cancel();
123
- if (this.mouseUpHandler)
124
- this.mouseUpHandler.cancel();
125
- if (this.touchUpHandler)
126
- this.touchUpHandler.cancel();
78
+ }
79
+ windowsContextMenuClose(e) {
80
+ let cp = e.composedPath();
81
+ for (let i in cp) {
82
+ let el = cp[i];
83
+ if (el == this._ctxMenu)
84
+ return;
85
+ }
86
+ this.closeContextMenu();
87
+ }
88
+ onMouseDown(e) {
89
+ e.preventDefault();
90
+ this.parent.onSelected();
91
+ if (this.mouseMoveHandler) {
92
+ this.mouseMoveHandler.cancel();
127
93
  delete this.mouseMoveHandler;
94
+ }
95
+ if (this.touchMoveHandler) {
96
+ this.touchMoveHandler.cancel();
128
97
  delete this.touchMoveHandler;
129
- delete this.mouseUpHandler;
130
- delete this.touchUpHandler;
131
98
  }
132
- moveTabEvent(that, state) {
133
- that.eventListeners.forEach((listener) => {
134
- if (listener.onMoveTab) {
135
- listener.onMoveTab({ self: that, state: state });
136
- }
137
- });
99
+ if (this.mouseUpHandler) {
100
+ this.mouseUpHandler.cancel();
101
+ delete this.mouseUpHandler;
138
102
  }
139
- onMouseMove(e) {
140
- e.preventDefault();
141
- if (Math.abs(this.stargDragPosition - e.clientX) < 10)
142
- return;
143
- if (this.elementBase != null) { //Todo: because of this is null, we need to drag 2 times, needs fix
144
- this.elementBase.classList.add('dockspan-tab-handle-dragged');
145
- this.dragged = true;
146
- this.prev = this.current;
147
- this.current = e.clientX;
148
- this.direction = this.current - this.prev;
149
- let tabRect = this.elementBase.getBoundingClientRect();
150
- let event = this.direction < 0
151
- ? { state: 'left', bound: tabRect.left, rect: tabRect }
152
- : { state: 'right', bound: tabRect.right, rect: tabRect };
153
- if ((e.clientX < tabRect.left && this.direction < 0) || (e.clientX > tabRect.left + tabRect.width && this.direction > 0))
154
- this.moveTabEvent(this, event.state);
155
- }
103
+ if (this.touchUpHandler) {
104
+ this.touchUpHandler.cancel();
105
+ delete this.touchUpHandler;
156
106
  }
157
- hideCloseButton(state) {
158
- this.elementCloseButton.style.display = state ? 'none' : 'block';
107
+ this.stargDragPosition = e.clientX;
108
+ this.mouseMoveHandler = new EventHandler(window, 'mousemove', this.onMouseMove.bind(this));
109
+ this.touchMoveHandler = new EventHandler(window, 'touchmove', this.onMouseMove.bind(this), { passive: false });
110
+ this.mouseUpHandler = new EventHandler(window, 'mouseup', this.onMouseUp.bind(this));
111
+ this.touchUpHandler = new EventHandler(window, 'touchend', this.onMouseUp.bind(this));
112
+ }
113
+ onMouseUp(e) {
114
+ if (this.elementBase) {
115
+ this.elementBase.classList.remove('dockspan-tab-handle-dragged');
159
116
  }
160
- updateTitle() {
161
- if (this.parent.container instanceof PanelContainer) {
162
- let panel = this.parent.container;
163
- let title = panel.getRawTitle();
164
- this.elementText.innerHTML = title;
117
+ this.dragged = false;
118
+ if (this.mouseMoveHandler)
119
+ this.mouseMoveHandler.cancel();
120
+ if (this.touchMoveHandler)
121
+ this.touchMoveHandler.cancel();
122
+ if (this.mouseUpHandler)
123
+ this.mouseUpHandler.cancel();
124
+ if (this.touchUpHandler)
125
+ this.touchUpHandler.cancel();
126
+ delete this.mouseMoveHandler;
127
+ delete this.touchMoveHandler;
128
+ delete this.mouseUpHandler;
129
+ delete this.touchUpHandler;
130
+ }
131
+ moveTabEvent(that, state) {
132
+ that.eventListeners.forEach((listener) => {
133
+ if (listener.onMoveTab) {
134
+ listener.onMoveTab({ self: that, state: state });
165
135
  }
136
+ });
137
+ }
138
+ onMouseMove(e) {
139
+ e.preventDefault();
140
+ if (Math.abs(this.stargDragPosition - e.clientX) < 10)
141
+ return;
142
+ if (this.elementBase != null) { //Todo: because of this is null, we need to drag 2 times, needs fix
143
+ this.elementBase.classList.add('dockspan-tab-handle-dragged');
144
+ this.dragged = true;
145
+ this.prev = this.current;
146
+ this.current = e.clientX;
147
+ this.direction = this.current - this.prev;
148
+ let tabRect = this.elementBase.getBoundingClientRect();
149
+ let event = this.direction < 0
150
+ ? { state: 'left', bound: tabRect.left, rect: tabRect }
151
+ : { state: 'right', bound: tabRect.right, rect: tabRect };
152
+ if ((e.clientX < tabRect.left && this.direction < 0) || (e.clientX > tabRect.left + tabRect.width && this.direction > 0))
153
+ this.moveTabEvent(this, event.state);
166
154
  }
167
- destroy() {
155
+ }
156
+ hideCloseButton(state) {
157
+ this.elementCloseButton.style.display = state ? 'none' : 'block';
158
+ }
159
+ updateTitle() {
160
+ if (this.parent.container instanceof PanelContainer) {
168
161
  let panel = this.parent.container;
169
- panel.removeListener(this.undockListener);
170
- this.mouseDownHandler.cancel();
171
- this.touchDownHandler.cancel();
172
- this.closeButtonHandler.cancel();
173
- this.closeButtonTouchHandler.cancel();
174
- this.auxClickHandler.cancel();
175
- if (this.mouseMoveHandler) {
176
- this.mouseMoveHandler.cancel();
177
- }
178
- if (this.touchMoveHandler) {
179
- this.touchMoveHandler.cancel();
180
- }
181
- if (this.mouseUpHandler) {
182
- this.mouseUpHandler.cancel();
183
- }
184
- if (this.touchUpHandler) {
185
- this.touchUpHandler.cancel();
186
- }
187
- if (this.contextMenuHandler) {
188
- this.contextMenuHandler.cancel();
189
- }
190
- Utils.removeNode(this.elementBase);
191
- Utils.removeNode(this.elementCloseButton);
192
- delete this.elementBase;
193
- delete this.elementCloseButton;
162
+ let title = panel.getRawTitle();
163
+ this.elementText.innerHTML = title;
194
164
  }
195
- _performUndock(e, dragOffset) {
196
- if (this.parent.container.containerType === 'panel') {
197
- this.undockInitiator.enabled = false;
198
- let panel = this.parent.container;
199
- return panel.performUndockToDialog(e, dragOffset);
200
- }
201
- else
202
- return null;
165
+ }
166
+ destroy() {
167
+ let panel = this.parent.container;
168
+ panel.removeListener(this.undockListener);
169
+ this.mouseDownHandler.cancel();
170
+ this.touchDownHandler.cancel();
171
+ this.closeButtonHandler.cancel();
172
+ this.closeButtonTouchHandler.cancel();
173
+ this.auxClickHandler.cancel();
174
+ if (this.mouseMoveHandler) {
175
+ this.mouseMoveHandler.cancel();
203
176
  }
204
- onCloseButtonClicked(e) {
205
- if (this.elementCloseButton.style.display !== 'none') {
206
- if (e.button !== 2) {
207
- // If the page contains a panel element, undock it and destroy it
208
- if (this.parent.container.containerType === 'panel') {
209
- let panel = this.parent.container;
210
- panel.close();
211
- }
212
- }
213
- }
177
+ if (this.touchMoveHandler) {
178
+ this.touchMoveHandler.cancel();
214
179
  }
215
- setSelected(isSelected) {
216
- if (isSelected)
217
- this.elementBase.classList.add('dockspan-tab-handle-selected');
218
- else {
219
- this.elementBase.classList.remove('dockspan-tab-handle-selected');
220
- this.elementBase.classList.remove('dockspan-tab-handle-active');
221
- }
180
+ if (this.mouseUpHandler) {
181
+ this.mouseUpHandler.cancel();
222
182
  }
223
- setActive(isActive) {
224
- if (this.elementBase) {
225
- if (isActive)
226
- this.elementBase.classList.add('dockspan-tab-handle-active');
227
- else
228
- this.elementBase.classList.remove('dockspan-tab-handle-active');
229
- }
183
+ if (this.touchUpHandler) {
184
+ this.touchUpHandler.cancel();
230
185
  }
231
- setZIndex(zIndex) {
232
- this.elementBase.style.zIndex = zIndex;
186
+ if (this.contextMenuHandler) {
187
+ this.contextMenuHandler.cancel();
233
188
  }
234
- _bringToFront(element) {
235
- element.style.zIndex = this.zIndexCounter;
236
- this.zIndexCounter++;
189
+ Utils.removeNode(this.elementBase);
190
+ Utils.removeNode(this.elementCloseButton);
191
+ delete this.elementBase;
192
+ delete this.elementCloseButton;
193
+ }
194
+ _performUndock(e, dragOffset) {
195
+ if (this.parent.container.containerType === 'panel') {
196
+ this.undockInitiator.enabled = false;
197
+ let panel = this.parent.container;
198
+ return panel.performUndockToDialog(e, dragOffset);
237
199
  }
200
+ else
201
+ return null;
238
202
  }
239
- TabHandle.createContextMenuContentCallback = (tabHandle, contextMenuContainer, documentMangerNodes) => {
240
- let btnCloseAll = document.createElement('div');
241
- btnCloseAll.innerText = 'Close all documents';
242
- contextMenuContainer.append(btnCloseAll);
243
- let btnCloseAllButThis = document.createElement('div');
244
- btnCloseAllButThis.innerText = 'Close all documents but this';
245
- contextMenuContainer.append(btnCloseAllButThis);
246
- btnCloseAll.onclick = () => {
247
- let length = documentMangerNodes.length;
248
- for (let i = length - 1; i >= 0; i--) {
249
- let panel = documentMangerNodes[i].container;
250
- if (panel.panelType == PanelType.document)
251
- panel.close();
252
- }
253
- tabHandle.closeContextMenu();
254
- };
255
- btnCloseAllButThis.onclick = () => {
256
- let length = documentMangerNodes.length;
257
- for (let i = length - 1; i >= 0; i--) {
258
- let panel = documentMangerNodes[i].container;
259
- if (tabHandle.parent.container != panel && panel.panelType == PanelType.document)
203
+ onCloseButtonClicked(e) {
204
+ if (this.elementCloseButton.style.display !== 'none') {
205
+ if (e.button !== 2) {
206
+ // If the page contains a panel element, undock it and destroy it
207
+ if (this.parent.container.containerType === 'panel') {
208
+ let panel = this.parent.container;
260
209
  panel.close();
210
+ }
261
211
  }
262
- tabHandle.closeContextMenu();
263
- };
212
+ }
213
+ }
214
+ setSelected(isSelected) {
215
+ if (isSelected)
216
+ this.elementBase.classList.add('dockspan-tab-handle-selected');
217
+ else {
218
+ this.elementBase.classList.remove('dockspan-tab-handle-selected');
219
+ this.elementBase.classList.remove('dockspan-tab-handle-active');
220
+ }
221
+ }
222
+ setActive(isActive) {
223
+ if (this.elementBase) {
224
+ if (isActive)
225
+ this.elementBase.classList.add('dockspan-tab-handle-active');
226
+ else
227
+ this.elementBase.classList.remove('dockspan-tab-handle-active');
228
+ }
229
+ }
230
+ setZIndex(zIndex) {
231
+ this.elementBase.style.zIndex = zIndex;
232
+ }
233
+ _bringToFront(element) {
234
+ element.style.zIndex = this.zIndexCounter;
235
+ this.zIndexCounter++;
236
+ }
237
+ }
238
+ TabHandle.createContextMenuContentCallback = (tabHandle, contextMenuContainer, documentMangerNodes) => {
239
+ let btnCloseAll = document.createElement('div');
240
+ btnCloseAll.innerText = 'Close all documents';
241
+ contextMenuContainer.append(btnCloseAll);
242
+ let btnCloseAllButThis = document.createElement('div');
243
+ btnCloseAllButThis.innerText = 'Close all documents but this';
244
+ contextMenuContainer.append(btnCloseAllButThis);
245
+ btnCloseAll.onclick = () => {
246
+ let length = documentMangerNodes.length;
247
+ for (let i = length - 1; i >= 0; i--) {
248
+ let panel = documentMangerNodes[i].container;
249
+ if (panel.panelType == PanelType.document)
250
+ panel.close();
251
+ }
252
+ tabHandle.closeContextMenu();
253
+ };
254
+ btnCloseAllButThis.onclick = () => {
255
+ let length = documentMangerNodes.length;
256
+ for (let i = length - 1; i >= 0; i--) {
257
+ let panel = documentMangerNodes[i].container;
258
+ if (tabHandle.parent.container != panel && panel.panelType == PanelType.document)
259
+ panel.close();
260
+ }
261
+ tabHandle.closeContextMenu();
264
262
  };
265
- return TabHandle;
266
- })();
267
- export { TabHandle };
263
+ };
268
264
  //# sourceMappingURL=TabHandle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabHandle.js","sourceRoot":"","sources":["../../src/TabHandle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TabHandle.js","sourceRoot":"","sources":["../../src/TabHandle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD;;GAEG;AACH,MAAM,OAAO,SAAS;IA4BlB,YAAY,MAAe;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,yBAAyB;QAC9E,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAC3D,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAC1E,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB;YACnC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC1D,IAAqB,IAAI,CAAC,MAAM,CAAC,SAAU,CAAC,gBAAgB;YACxD,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE9D,IAAI,KAAK,GAAG,MAAM,CAAC,SAA2B,CAAC;QAC/C,IAAI,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC,cAAc,GAAG;YAClB,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtD,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC/D,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEvC,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;QAEpD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAErC,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAC5E,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,gBAAgB,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1H,IAAI,CAAC,kBAAkB,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnH,IAAI,CAAC,uBAAuB,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7H,IAAI,CAAC,eAAe,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5G,IAAI,CAAC,kBAAkB,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAElH,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;IACjE,CAAC;IAED,WAAW,CAAC,QAAQ;QAChB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,cAAc,CAAC,QAAQ;QACnB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,aAAa,CAAC,KAAc;QACxB,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,KAAK,CAAC;IACzC,CAAC;IAgCD,oBAAoB,CAAC,CAAa;QAC9B,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,gCAAgC,EAAE;YAC9D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,kCAAkC,CAAC;YAE7D,SAAS,CAAC,gCAAgC,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAE9I,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;YACzC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC5E,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC;SAC1E;aAAM;YACH,IAAI,CAAC,gBAAgB,EAAE,CAAC;SAC3B;IACL,CAAC;IAED,gBAAgB;QACZ,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC,QAAQ,CAAC;YACrB,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC;SAC7E;IACL,CAAC;IAED,uBAAuB,CAAC,CAAQ;QAC5B,IAAI,EAAE,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE;YACd,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACf,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ;gBACnB,OAAO;SACd;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAED,WAAW,CAAC,CAAC;QACT,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAEzB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,gBAAgB,CAAC;SAChC;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,gBAAgB,CAAC;SAChC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,cAAc,CAAC;SAC9B;QACD,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,cAAc,CAAC;SAC9B;QACD,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC,gBAAgB,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/G,IAAI,CAAC,cAAc,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,cAAc,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,SAAS,CAAC,CAAC;QACP,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC;SACpE;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,IAAI,CAAC,gBAAgB;YACrB,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,gBAAgB;YACrB,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,cAAc;YACnB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,cAAc;YACnB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,gBAAgB,CAAC;QAC7B,OAAO,IAAI,CAAC,gBAAgB,CAAC;QAC7B,OAAO,IAAI,CAAC,cAAc,CAAC;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,YAAY,CAAC,IAAI,EAAE,KAAK;QACpB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACrC,IAAI,QAAQ,CAAC,SAAS,EAAE;gBACpB,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;aACpD;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CAAC,CAAC;QACT,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACjD,OAAO;QACX,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE,EAAE,mEAAmE;YAC/F,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;YAC9D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;YAC1C,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC;YACvD,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC;gBAC1B,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;gBACvD,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAC9D,IAAI,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;gBACpH,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;SAC5C;IACL,CAAC;IAED,eAAe,CAAC,KAAK;QACjB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IACrE,CAAC;IAED,WAAW;QACP,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,YAAY,cAAc,EAAE;YACjD,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YAClC,IAAI,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;SACtC;IACL,CAAC;IAED,OAAO;QACH,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAA2B,CAAC;QACpD,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE1C,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAC/B,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC;QACtC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;QAE9B,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;SAClC;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;SAClC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;SAChC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;SAChC;QACD,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzB,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;SACpC;QAED,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,WAAW,CAAC;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;IAED,cAAc,CAAC,CAAC,EAAE,UAAU;QACxB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,KAAK,OAAO,EAAE;YACjD,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,KAAK,CAAC;YACrC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAA2B,CAAC;YACpD,OAAO,KAAK,CAAC,qBAAqB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;SACrD;;YAEG,OAAO,IAAI,CAAC;IACpB,CAAC;IAED,oBAAoB,CAAC,CAAC;QAClB,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE;YAClD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBAChB,iEAAiE;gBACjE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,KAAK,OAAO,EAAE;oBACjD,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAA2B,CAAC;oBACpD,KAAK,CAAC,KAAK,EAAE,CAAC;iBACjB;aACJ;SACJ;IACL,CAAC;IAED,WAAW,CAAC,UAAmB;QAC3B,IAAI,UAAU;YACV,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;aAC9D;YACD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC;YAClE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;SACnE;IACL,CAAC;IAED,SAAS,CAAC,QAAiB;QACvB,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,QAAQ;gBACR,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;;gBAE7D,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;SACvE;IACL,CAAC;IAED,SAAS,CAAC,MAAc;QACpB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAgB,MAAM,CAAC;IACxD,CAAC;IAED,aAAa,CAAC,OAAoB;QAC9B,OAAO,CAAC,KAAK,CAAC,MAAM,GAAgB,IAAI,CAAC,aAAa,CAAC;QACvD,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;;AAzOM,0CAAgC,GAAG,CAAC,SAAoB,EAAE,oBAAoC,EAAE,mBAA+B,EAAE,EAAE;IACtI,IAAI,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAChD,WAAW,CAAC,SAAS,GAAG,qBAAqB,CAAC;IAC9C,oBAAoB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAEzC,IAAI,kBAAkB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACvD,kBAAkB,CAAC,SAAS,GAAG,8BAA8B,CAAC;IAC9D,oBAAoB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAEhD,WAAW,CAAC,OAAO,GAAG,GAAG,EAAE;QACvB,IAAI,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAClC,IAAI,KAAK,GAAoB,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAU,CAAC;YAC/D,IAAI,KAAK,CAAC,SAAS,IAAI,SAAS,CAAC,QAAQ;gBACrC,KAAK,CAAC,KAAK,EAAE,CAAC;SACrB;QACD,SAAS,CAAC,gBAAgB,EAAE,CAAC;IACjC,CAAC,CAAC;IAEF,kBAAkB,CAAC,OAAO,GAAG,GAAG,EAAE;QAC9B,IAAI,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAClC,IAAI,KAAK,GAAoB,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAU,CAAC;YAC/D,IAAI,SAAS,CAAC,MAAM,CAAC,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC,SAAS,IAAI,SAAS,CAAC,QAAQ;gBAC5E,KAAK,CAAC,KAAK,EAAE,CAAC;SACrB;QACD,SAAS,CAAC,gBAAgB,EAAE,CAAC;IACjC,CAAC,CAAC;AACN,CAAC,CAAA"}