dockview 1.1.0 → 1.3.1

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 (162) hide show
  1. package/dist/cjs/api/component.api.d.ts +17 -15
  2. package/dist/cjs/api/component.api.js +22 -22
  3. package/dist/cjs/api/component.api.js.map +1 -1
  4. package/dist/cjs/dnd/abstractDragHandler.d.ts +1 -1
  5. package/dist/cjs/dnd/abstractDragHandler.js +2 -3
  6. package/dist/cjs/dnd/abstractDragHandler.js.map +1 -1
  7. package/dist/cjs/dnd/droptarget.js +3 -3
  8. package/dist/cjs/dnd/droptarget.js.map +1 -1
  9. package/dist/cjs/dockview/components/tab/defaultTab.d.ts +1 -1
  10. package/dist/cjs/dockview/components/tab/defaultTab.js +1 -1
  11. package/dist/cjs/dockview/components/tab/defaultTab.js.map +1 -1
  12. package/dist/cjs/dockview/components/watermark/watermark.d.ts +3 -3
  13. package/dist/cjs/dockview/components/watermark/watermark.js +4 -4
  14. package/dist/cjs/dockview/components/watermark/watermark.js.map +1 -1
  15. package/dist/cjs/dockview/deserializer.js.map +1 -1
  16. package/dist/cjs/dockview/dockviewComponent.d.ts +8 -5
  17. package/dist/cjs/dockview/dockviewComponent.js +60 -41
  18. package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
  19. package/dist/cjs/dockview/dockviewGroupPanel.d.ts +1 -0
  20. package/dist/cjs/dockview/dockviewGroupPanel.js +8 -0
  21. package/dist/cjs/dockview/dockviewGroupPanel.js.map +1 -1
  22. package/dist/cjs/gridview/baseComponentGridview.d.ts +3 -20
  23. package/dist/cjs/gridview/baseComponentGridview.js +35 -43
  24. package/dist/cjs/gridview/baseComponentGridview.js.map +1 -1
  25. package/dist/cjs/gridview/basePanelView.js +2 -0
  26. package/dist/cjs/gridview/basePanelView.js.map +1 -1
  27. package/dist/cjs/gridview/branchNode.js +2 -2
  28. package/dist/cjs/gridview/branchNode.js.map +1 -1
  29. package/dist/cjs/gridview/gridview.js +3 -2
  30. package/dist/cjs/gridview/gridview.js.map +1 -1
  31. package/dist/cjs/gridview/gridviewComponent.d.ts +3 -9
  32. package/dist/cjs/gridview/gridviewComponent.js +30 -18
  33. package/dist/cjs/gridview/gridviewComponent.js.map +1 -1
  34. package/dist/cjs/gridview/leafNode.js +1 -1
  35. package/dist/cjs/gridview/leafNode.js.map +1 -1
  36. package/dist/cjs/groupview/groupPanel.d.ts +1 -0
  37. package/dist/cjs/groupview/groupview.d.ts +3 -2
  38. package/dist/cjs/groupview/groupview.js +15 -6
  39. package/dist/cjs/groupview/groupview.js.map +1 -1
  40. package/dist/cjs/groupview/panel/content.d.ts +1 -1
  41. package/dist/cjs/groupview/panel/content.js +1 -1
  42. package/dist/cjs/groupview/panel/content.js.map +1 -1
  43. package/dist/cjs/hostedContainer.js +2 -2
  44. package/dist/cjs/hostedContainer.js.map +1 -1
  45. package/dist/cjs/index.d.ts +2 -2
  46. package/dist/cjs/index.js +8 -4
  47. package/dist/cjs/index.js.map +1 -1
  48. package/dist/cjs/panel/types.d.ts +1 -0
  49. package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +1 -1
  50. package/dist/cjs/paneview/defaultPaneviewHeader.js +1 -1
  51. package/dist/cjs/paneview/defaultPaneviewHeader.js.map +1 -1
  52. package/dist/cjs/paneview/draggablePaneviewPanel.js +1 -1
  53. package/dist/cjs/paneview/draggablePaneviewPanel.js.map +1 -1
  54. package/dist/cjs/paneview/paneview.d.ts +3 -1
  55. package/dist/cjs/paneview/paneview.js +12 -6
  56. package/dist/cjs/paneview/paneview.js.map +1 -1
  57. package/dist/cjs/paneview/paneviewComponent.d.ts +12 -5
  58. package/dist/cjs/paneview/paneviewComponent.js +68 -16
  59. package/dist/cjs/paneview/paneviewComponent.js.map +1 -1
  60. package/dist/cjs/react/dockview/components.js +5 -1
  61. package/dist/cjs/react/dockview/components.js.map +1 -1
  62. package/dist/cjs/react/dockview/dockview.js +32 -10
  63. package/dist/cjs/react/dockview/dockview.js.map +1 -1
  64. package/dist/cjs/react/dockview/reactContentPart.d.ts +2 -2
  65. package/dist/cjs/react/dockview/reactContentPart.js +2 -13
  66. package/dist/cjs/react/dockview/reactContentPart.js.map +1 -1
  67. package/dist/cjs/react/dockview/reactHeaderPart.d.ts +2 -2
  68. package/dist/cjs/react/dockview/reactHeaderPart.js +2 -2
  69. package/dist/cjs/react/dockview/reactHeaderPart.js.map +1 -1
  70. package/dist/cjs/react/dockview/reactWatermarkPart.d.ts +2 -2
  71. package/dist/cjs/react/dockview/reactWatermarkPart.js +2 -2
  72. package/dist/cjs/react/dockview/reactWatermarkPart.js.map +1 -1
  73. package/dist/cjs/react/dockview/v2/reactContentRenderer.d.ts +2 -2
  74. package/dist/cjs/react/dockview/v2/reactContentRenderer.js +2 -2
  75. package/dist/cjs/react/dockview/v2/reactContentRenderer.js.map +1 -1
  76. package/dist/cjs/react/dockview/v2/webviewContentRenderer.d.ts +2 -2
  77. package/dist/cjs/react/dockview/v2/webviewContentRenderer.js +2 -2
  78. package/dist/cjs/react/dockview/v2/webviewContentRenderer.js.map +1 -1
  79. package/dist/cjs/react/gridview/gridview.js +9 -2
  80. package/dist/cjs/react/gridview/gridview.js.map +1 -1
  81. package/dist/cjs/react/gridview/view.d.ts +3 -2
  82. package/dist/cjs/react/gridview/view.js.map +1 -1
  83. package/dist/cjs/react/index.js +5 -1
  84. package/dist/cjs/react/index.js.map +1 -1
  85. package/dist/cjs/react/paneview/paneview.js +6 -2
  86. package/dist/cjs/react/paneview/paneview.js.map +1 -1
  87. package/dist/cjs/react/react.js +5 -1
  88. package/dist/cjs/react/react.js.map +1 -1
  89. package/dist/cjs/react/splitview/splitview.js +8 -2
  90. package/dist/cjs/react/splitview/splitview.js.map +1 -1
  91. package/dist/cjs/splitview/core/splitview.js +1 -1
  92. package/dist/cjs/splitview/core/splitview.js.map +1 -1
  93. package/dist/cjs/splitview/splitviewComponent.d.ts +5 -3
  94. package/dist/cjs/splitview/splitviewComponent.js +55 -16
  95. package/dist/cjs/splitview/splitviewComponent.js.map +1 -1
  96. package/dist/dockview.amd.js +316 -312
  97. package/dist/dockview.amd.min.js +2 -2
  98. package/dist/dockview.amd.min.noStyle.js +2 -2
  99. package/dist/dockview.amd.noStyle.js +315 -311
  100. package/dist/dockview.cjs.js +316 -312
  101. package/dist/dockview.esm.js +316 -306
  102. package/dist/dockview.esm.min.js +2 -2
  103. package/dist/dockview.js +316 -312
  104. package/dist/dockview.min.js +2 -2
  105. package/dist/dockview.min.noStyle.js +2 -2
  106. package/dist/dockview.noStyle.js +315 -311
  107. package/dist/esm/api/component.api.d.ts +17 -15
  108. package/dist/esm/api/component.api.js +14 -14
  109. package/dist/esm/dnd/abstractDragHandler.d.ts +1 -1
  110. package/dist/esm/dnd/abstractDragHandler.js +2 -3
  111. package/dist/esm/dnd/droptarget.js +3 -3
  112. package/dist/esm/dockview/components/tab/defaultTab.d.ts +1 -1
  113. package/dist/esm/dockview/components/tab/defaultTab.js +1 -1
  114. package/dist/esm/dockview/components/watermark/watermark.d.ts +3 -3
  115. package/dist/esm/dockview/components/watermark/watermark.js +4 -4
  116. package/dist/esm/dockview/dockviewComponent.d.ts +8 -5
  117. package/dist/esm/dockview/dockviewComponent.js +34 -38
  118. package/dist/esm/dockview/dockviewGroupPanel.d.ts +1 -0
  119. package/dist/esm/dockview/dockviewGroupPanel.js +4 -0
  120. package/dist/esm/gridview/baseComponentGridview.d.ts +3 -20
  121. package/dist/esm/gridview/baseComponentGridview.js +13 -43
  122. package/dist/esm/gridview/basePanelView.js +2 -0
  123. package/dist/esm/gridview/branchNode.js +2 -2
  124. package/dist/esm/gridview/gridview.js +2 -1
  125. package/dist/esm/gridview/gridviewComponent.d.ts +3 -9
  126. package/dist/esm/gridview/gridviewComponent.js +9 -19
  127. package/dist/esm/groupview/groupPanel.d.ts +1 -0
  128. package/dist/esm/groupview/groupview.d.ts +3 -2
  129. package/dist/esm/groupview/groupview.js +8 -3
  130. package/dist/esm/groupview/panel/content.d.ts +1 -1
  131. package/dist/esm/groupview/panel/content.js +1 -1
  132. package/dist/esm/hostedContainer.js +2 -2
  133. package/dist/esm/index.d.ts +2 -2
  134. package/dist/esm/index.js +1 -2
  135. package/dist/esm/panel/types.d.ts +1 -0
  136. package/dist/esm/paneview/defaultPaneviewHeader.d.ts +1 -1
  137. package/dist/esm/paneview/defaultPaneviewHeader.js +1 -1
  138. package/dist/esm/paneview/draggablePaneviewPanel.js +1 -1
  139. package/dist/esm/paneview/paneview.d.ts +3 -1
  140. package/dist/esm/paneview/paneview.js +9 -5
  141. package/dist/esm/paneview/paneviewComponent.d.ts +12 -5
  142. package/dist/esm/paneview/paneviewComponent.js +34 -15
  143. package/dist/esm/react/dockview/dockview.js +27 -9
  144. package/dist/esm/react/dockview/reactContentPart.d.ts +2 -2
  145. package/dist/esm/react/dockview/reactContentPart.js +2 -13
  146. package/dist/esm/react/dockview/reactHeaderPart.d.ts +2 -2
  147. package/dist/esm/react/dockview/reactHeaderPart.js +2 -2
  148. package/dist/esm/react/dockview/reactWatermarkPart.d.ts +2 -2
  149. package/dist/esm/react/dockview/reactWatermarkPart.js +2 -2
  150. package/dist/esm/react/dockview/v2/reactContentRenderer.d.ts +2 -2
  151. package/dist/esm/react/dockview/v2/reactContentRenderer.js +2 -2
  152. package/dist/esm/react/dockview/v2/webviewContentRenderer.d.ts +2 -2
  153. package/dist/esm/react/dockview/v2/webviewContentRenderer.js +2 -2
  154. package/dist/esm/react/gridview/gridview.js +4 -1
  155. package/dist/esm/react/gridview/view.d.ts +3 -2
  156. package/dist/esm/react/paneview/paneview.js +1 -1
  157. package/dist/esm/react/splitview/splitview.js +3 -1
  158. package/dist/esm/splitview/core/splitview.js +1 -1
  159. package/dist/esm/splitview/splitviewComponent.d.ts +5 -3
  160. package/dist/esm/splitview/splitviewComponent.js +22 -15
  161. package/dist/styles/dockview.css +10 -10
  162. package/package.json +13 -13
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * dockview
3
- * @version 1.1.0
3
+ * @version 1.3.1
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -27,6 +27,76 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
27
27
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
28
28
  var ReactDOM__namespace = /*#__PURE__*/_interopNamespace(ReactDOM);
29
29
 
30
+ class TransferObject {
31
+ constructor() {
32
+ //
33
+ }
34
+ }
35
+ class PanelTransfer extends TransferObject {
36
+ constructor(viewId, groupId, panelId) {
37
+ super();
38
+ this.viewId = viewId;
39
+ this.groupId = groupId;
40
+ this.panelId = panelId;
41
+ }
42
+ }
43
+ class PaneTransfer extends TransferObject {
44
+ constructor(viewId, paneId) {
45
+ super();
46
+ this.viewId = viewId;
47
+ this.paneId = paneId;
48
+ }
49
+ }
50
+ /**
51
+ * A singleton to store transfer data during drag & drop operations that are only valid within the application.
52
+ */
53
+ class LocalSelectionTransfer {
54
+ constructor() {
55
+ // protect against external instantiation
56
+ }
57
+ static getInstance() {
58
+ return LocalSelectionTransfer.INSTANCE;
59
+ }
60
+ hasData(proto) {
61
+ return proto && proto === this.proto;
62
+ }
63
+ clearData(proto) {
64
+ if (this.hasData(proto)) {
65
+ this.proto = undefined;
66
+ this.data = undefined;
67
+ }
68
+ }
69
+ getData(proto) {
70
+ if (this.hasData(proto)) {
71
+ return this.data;
72
+ }
73
+ return undefined;
74
+ }
75
+ setData(data, proto) {
76
+ if (proto) {
77
+ this.data = data;
78
+ this.proto = proto;
79
+ }
80
+ }
81
+ }
82
+ LocalSelectionTransfer.INSTANCE = new LocalSelectionTransfer();
83
+ function getPanelData() {
84
+ const panelTransfer = LocalSelectionTransfer.getInstance();
85
+ const isPanelEvent = panelTransfer.hasData(PanelTransfer.prototype);
86
+ if (!isPanelEvent) {
87
+ return undefined;
88
+ }
89
+ return panelTransfer.getData(PanelTransfer.prototype)[0];
90
+ }
91
+ function getPaneData() {
92
+ const paneTransfer = LocalSelectionTransfer.getInstance();
93
+ const isPanelEvent = paneTransfer.hasData(PaneTransfer.prototype);
94
+ if (!isPanelEvent) {
95
+ return undefined;
96
+ }
97
+ return paneTransfer.getData(PaneTransfer.prototype)[0];
98
+ }
99
+
30
100
  exports.Event = void 0;
31
101
  (function (Event) {
32
102
  Event.any = (...children) => {
@@ -116,116 +186,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
116
186
  }
117
187
  }
118
188
 
119
- exports.Disposable = void 0;
120
- (function (Disposable) {
121
- Disposable.NONE = {
122
- dispose: () => {
123
- // noop
124
- },
125
- };
126
- })(exports.Disposable || (exports.Disposable = {}));
127
- class CompositeDisposable {
128
- constructor(...args) {
129
- this.disposables = args;
130
- }
131
- static from(...args) {
132
- return new CompositeDisposable(...args);
133
- }
134
- addDisposables(...args) {
135
- args.forEach((arg) => this.disposables.push(arg));
136
- }
137
- dispose() {
138
- this.disposables.forEach((arg) => arg.dispose());
139
- }
140
- }
141
- class MutableDisposable {
142
- constructor() {
143
- this._disposable = exports.Disposable.NONE;
144
- }
145
- set value(disposable) {
146
- if (this._disposable) {
147
- this._disposable.dispose();
148
- }
149
- this._disposable = disposable;
150
- }
151
- dispose() {
152
- if (this._disposable) {
153
- this._disposable.dispose();
154
- this._disposable = exports.Disposable.NONE;
155
- }
156
- }
157
- }
158
-
159
- class TransferObject {
160
- constructor() {
161
- //
162
- }
163
- }
164
- class PanelTransfer extends TransferObject {
165
- constructor(viewId, groupId, panelId) {
166
- super();
167
- this.viewId = viewId;
168
- this.groupId = groupId;
169
- this.panelId = panelId;
170
- }
171
- }
172
- class PaneTransfer extends TransferObject {
173
- constructor(viewId, paneId) {
174
- super();
175
- this.viewId = viewId;
176
- this.paneId = paneId;
177
- }
178
- }
179
- /**
180
- * A singleton to store transfer data during drag & drop operations that are only valid within the application.
181
- */
182
- class LocalSelectionTransfer {
183
- constructor() {
184
- // protect against external instantiation
185
- }
186
- static getInstance() {
187
- return LocalSelectionTransfer.INSTANCE;
188
- }
189
- hasData(proto) {
190
- return proto && proto === this.proto;
191
- }
192
- clearData(proto) {
193
- if (this.hasData(proto)) {
194
- this.proto = undefined;
195
- this.data = undefined;
196
- }
197
- }
198
- getData(proto) {
199
- if (this.hasData(proto)) {
200
- return this.data;
201
- }
202
- return undefined;
203
- }
204
- setData(data, proto) {
205
- if (proto) {
206
- this.data = data;
207
- this.proto = proto;
208
- }
209
- }
210
- }
211
- LocalSelectionTransfer.INSTANCE = new LocalSelectionTransfer();
212
- function getPanelData() {
213
- const panelTransfer = LocalSelectionTransfer.getInstance();
214
- const isPanelEvent = panelTransfer.hasData(PanelTransfer.prototype);
215
- if (!isPanelEvent) {
216
- return undefined;
217
- }
218
- return panelTransfer.getData(PanelTransfer.prototype)[0];
219
- }
220
- function getPaneData() {
221
- const paneTransfer = LocalSelectionTransfer.getInstance();
222
- const isPanelEvent = paneTransfer.hasData(PaneTransfer.prototype);
223
- if (!isPanelEvent) {
224
- return undefined;
225
- }
226
- return paneTransfer.getData(PaneTransfer.prototype)[0];
227
- }
228
-
229
189
  class SplitviewApi {
230
190
  constructor(component) {
231
191
  this.component = component;
@@ -248,6 +208,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
248
208
  get orientation() {
249
209
  return this.component.orientation;
250
210
  }
211
+ get onDidLayoutFromJSON() {
212
+ return this.component.onDidLayoutFromJSON;
213
+ }
251
214
  get onDidLayoutChange() {
252
215
  return this.component.onDidLayoutChange;
253
216
  }
@@ -290,8 +253,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
290
253
  movePanel(from, to) {
291
254
  this.component.movePanel(from, to);
292
255
  }
293
- fromJSON(data, deferComponentLayout) {
294
- this.component.fromJSON(data, deferComponentLayout);
256
+ fromJSON(data) {
257
+ this.component.fromJSON(data);
295
258
  }
296
259
  toJSON() {
297
260
  return this.component.toJSON();
@@ -316,6 +279,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
316
279
  get onDidLayoutChange() {
317
280
  return this.component.onDidLayoutChange;
318
281
  }
282
+ get onDidLayoutFromJSON() {
283
+ return this.component.onDidLayoutFromJSON;
284
+ }
319
285
  get onDidAddView() {
320
286
  return this.component.onDidAddView;
321
287
  }
@@ -352,13 +318,13 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
352
318
  this.component.layout(width, height);
353
319
  }
354
320
  addPanel(options) {
355
- return this.component.addPanel(options);
321
+ this.component.addPanel(options);
356
322
  }
357
323
  resizeToFit() {
358
324
  this.component.resizeToFit();
359
325
  }
360
- fromJSON(data, deferComponentLayout) {
361
- this.component.fromJSON(data, deferComponentLayout);
326
+ fromJSON(data) {
327
+ this.component.fromJSON(data);
362
328
  }
363
329
  toJSON() {
364
330
  return this.component.toJSON();
@@ -386,9 +352,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
386
352
  get height() {
387
353
  return this.component.height;
388
354
  }
389
- get onGridEvent() {
390
- return this.component.onGridEvent;
391
- }
392
355
  get onDidLayoutChange() {
393
356
  return this.component.onDidLayoutChange;
394
357
  }
@@ -443,8 +406,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
443
406
  setActive(panel) {
444
407
  this.component.setActive(panel);
445
408
  }
446
- fromJSON(data, deferComponentLayout) {
447
- return this.component.fromJSON(data, deferComponentLayout);
409
+ fromJSON(data) {
410
+ return this.component.fromJSON(data);
448
411
  }
449
412
  toJSON() {
450
413
  return this.component.toJSON();
@@ -478,9 +441,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
478
441
  get totalPanels() {
479
442
  return this.component.totalPanels;
480
443
  }
481
- get onGridEvent() {
482
- return this.component.onGridEvent;
483
- }
484
444
  get onDidActiveGroupChange() {
485
445
  return this.component.onDidActiveGroupChange;
486
446
  }
@@ -499,7 +459,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
499
459
  get onDidRemovePanel() {
500
460
  return this.component.onDidRemovePanel;
501
461
  }
502
- get onDidLayoutfromJSON() {
462
+ get onDidLayoutFromJSON() {
503
463
  return this.component.onDidLayoutfromJSON;
504
464
  }
505
465
  get onDidLayoutChange() {
@@ -564,6 +524,46 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
564
524
  }
565
525
  }
566
526
 
527
+ var Disposable;
528
+ (function (Disposable) {
529
+ Disposable.NONE = {
530
+ dispose: () => {
531
+ // noop
532
+ },
533
+ };
534
+ })(Disposable || (Disposable = {}));
535
+ class CompositeDisposable {
536
+ constructor(...args) {
537
+ this.disposables = args;
538
+ }
539
+ static from(...args) {
540
+ return new CompositeDisposable(...args);
541
+ }
542
+ addDisposables(...args) {
543
+ args.forEach((arg) => this.disposables.push(arg));
544
+ }
545
+ dispose() {
546
+ this.disposables.forEach((arg) => arg.dispose());
547
+ }
548
+ }
549
+ class MutableDisposable {
550
+ constructor() {
551
+ this._disposable = Disposable.NONE;
552
+ }
553
+ set value(disposable) {
554
+ if (this._disposable) {
555
+ this._disposable.dispose();
556
+ }
557
+ this._disposable = disposable;
558
+ }
559
+ dispose() {
560
+ if (this._disposable) {
561
+ this._disposable.dispose();
562
+ this._disposable = Disposable.NONE;
563
+ }
564
+ }
565
+ }
566
+
567
567
  function watchElementResize(element, cb) {
568
568
  const observer = new ResizeObserver((entires) => {
569
569
  const firstEntry = entires[0];
@@ -1509,13 +1509,13 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
1509
1509
  this._onDidSashEnd.dispose();
1510
1510
  this._onDidAddView.dispose();
1511
1511
  this._onDidRemoveView.dispose();
1512
- this.element.remove();
1513
1512
  for (let i = 0; i < this.element.children.length; i++) {
1514
1513
  if (this.element.children.item(i) === this.element) {
1515
1514
  this.element.removeChild(this.element);
1516
1515
  break;
1517
1516
  }
1518
1517
  }
1518
+ this.element.remove();
1519
1519
  }
1520
1520
  }
1521
1521
 
@@ -1538,7 +1538,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
1538
1538
  });
1539
1539
  // if we've added views from the descriptor we need to
1540
1540
  // add the panes to our Pane array and setup animation
1541
- this.getPanes().forEach((pane, index) => {
1541
+ this.getPanes().forEach((pane) => {
1542
1542
  const disposable = new CompositeDisposable(pane.onDidChangeExpansionState(() => {
1543
1543
  this.setupAnimation();
1544
1544
  this._onDidChange.fire(undefined);
@@ -1606,17 +1606,20 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
1606
1606
  getPanes() {
1607
1607
  return this.splitview.getViews();
1608
1608
  }
1609
- removePane(index) {
1609
+ removePane(index, options = { skipDispose: false }) {
1610
1610
  const paneItem = this.paneItems.splice(index, 1)[0];
1611
1611
  this.splitview.removeView(index);
1612
- paneItem.disposable.dispose();
1612
+ if (!options.skipDispose) {
1613
+ paneItem.disposable.dispose();
1614
+ paneItem.pane.dispose();
1615
+ }
1613
1616
  return paneItem;
1614
1617
  }
1615
1618
  moveView(from, to) {
1616
1619
  if (from === to) {
1617
1620
  return;
1618
1621
  }
1619
- const view = this.removePane(from);
1622
+ const view = this.removePane(from, { skipDispose: true });
1620
1623
  this.skipAnimation = true;
1621
1624
  try {
1622
1625
  this.addPane(view.pane, view.pane.size, to, false);
@@ -1644,15 +1647,16 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
1644
1647
  }
1645
1648
  dispose() {
1646
1649
  super.dispose();
1647
- this.splitview.dispose();
1648
1650
  if (this.animationTimer) {
1649
1651
  clearTimeout(this.animationTimer);
1650
1652
  this.animationTimer = undefined;
1651
1653
  }
1652
1654
  this.paneItems.forEach((paneItem) => {
1653
1655
  paneItem.disposable.dispose();
1656
+ paneItem.pane.dispose();
1654
1657
  });
1655
1658
  this.paneItems = [];
1659
+ this.splitview.dispose();
1656
1660
  this.element.remove();
1657
1661
  }
1658
1662
  }
@@ -1716,7 +1720,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
1716
1720
  this._onDrop = new Emitter();
1717
1721
  this.onDrop = this._onDrop.event;
1718
1722
  this.addDisposables(this._onDrop, new DragAndDropObserver(this.element, {
1719
- onDragEnter: (e) => undefined,
1723
+ onDragEnter: () => undefined,
1720
1724
  onDragOver: (e) => {
1721
1725
  if (isBooleanValue(this.options.canDisplayOverlay)) {
1722
1726
  if (!this.options.canDisplayOverlay) {
@@ -1757,10 +1761,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
1757
1761
  this.toggleClasses(quadrant, isSmallX, isSmallY);
1758
1762
  this.setState(quadrant);
1759
1763
  },
1760
- onDragLeave: (e) => {
1764
+ onDragLeave: () => {
1761
1765
  this.removeDropTarget();
1762
1766
  },
1763
- onDragEnd: (e) => {
1767
+ onDragEnd: () => {
1764
1768
  this.removeDropTarget();
1765
1769
  },
1766
1770
  onDrop: (e) => {
@@ -1971,7 +1975,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
1971
1975
  this.children = [];
1972
1976
  this._onDidChange = new Emitter();
1973
1977
  this.onDidChange = this._onDidChange.event;
1974
- this._childrenDisposable = exports.Disposable.NONE;
1978
+ this._childrenDisposable = Disposable.NONE;
1975
1979
  this._orthogonalSize = orthogonalSize;
1976
1980
  this._size = size;
1977
1981
  this.element = document.createElement('div');
@@ -1996,7 +2000,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
1996
2000
  : true,
1997
2001
  };
1998
2002
  }),
1999
- size: this.orthogonalSize,
2003
+ size: this.size,
2000
2004
  };
2001
2005
  this.children = childDescriptors.map((c) => c.node);
2002
2006
  this.splitview = new Splitview(this.element, {
@@ -2157,7 +2161,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
2157
2161
  }
2158
2162
  setupChildrenEvents() {
2159
2163
  this._childrenDisposable.dispose();
2160
- this._childrenDisposable = exports.Event.any(...this.children.map((c) => c.onDidChange))((e) => {
2164
+ this._childrenDisposable = exports.Event.any(...this.children.map((c) => c.onDidChange))(() => {
2161
2165
  /**
2162
2166
  * indicate a change has occured to allows any re-rendering but don't bubble
2163
2167
  * event because that was specific to this branch
@@ -2317,6 +2321,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
2317
2321
  this.disposable.dispose();
2318
2322
  this._onDidChange.dispose();
2319
2323
  this.root.dispose();
2324
+ this.element.remove();
2320
2325
  }
2321
2326
  clear() {
2322
2327
  const orientation = this.root.orientation;
@@ -2519,7 +2524,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
2519
2524
  const [parentIndex, ...__] = [...rest].reverse();
2520
2525
  const isSiblingVisible = parent.isChildVisible(0);
2521
2526
  parent.removeChild(0, sizing);
2522
- const sizes = grandParent.children.map((size, i) => grandParent.getChildSize(i));
2527
+ const sizes = grandParent.children.map((_size, i) => grandParent.getChildSize(i));
2523
2528
  grandParent.removeChild(parentIndex, sizing);
2524
2529
  if (sibling instanceof BranchNode) {
2525
2530
  sizes.splice(parentIndex, 1, ...sibling.children.map((c) => c.size));
@@ -2618,7 +2623,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
2618
2623
  }
2619
2624
  this.disposable.value = disposable;
2620
2625
  }
2621
- layout(width, height) {
2626
+ layout(_width, _height) {
2622
2627
  // noop
2623
2628
  }
2624
2629
  closePanel() {
@@ -2666,7 +2671,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
2666
2671
  if (event.dataTransfer) {
2667
2672
  event.dataTransfer.effectAllowed = 'move';
2668
2673
  }
2669
- }), addDisposableListener(this.el, 'dragend', (ev) => {
2674
+ }), addDisposableListener(this.el, 'dragend', () => {
2670
2675
  for (const iframe of this.iframes) {
2671
2676
  iframe.style.pointerEvents = 'auto';
2672
2677
  }
@@ -3033,6 +3038,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
3033
3038
  get maximumWidth() {
3034
3039
  return Number.MAX_SAFE_INTEGER;
3035
3040
  }
3041
+ get hasWatermark() {
3042
+ return !!(this.watermark && this.container.contains(this.watermark.element));
3043
+ }
3036
3044
  initialize() {
3037
3045
  var _a, _b;
3038
3046
  if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.panels) {
@@ -3111,10 +3119,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
3111
3119
  containsPanel(panel) {
3112
3120
  return this.panels.includes(panel);
3113
3121
  }
3114
- init(params) {
3122
+ init(_params) {
3115
3123
  //noop
3116
3124
  }
3117
- update(params) {
3125
+ update(_params) {
3118
3126
  //noop
3119
3127
  }
3120
3128
  focus() {
@@ -3337,29 +3345,18 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
3337
3345
  }
3338
3346
  }
3339
3347
  dispose() {
3348
+ var _a;
3349
+ super.dispose();
3350
+ (_a = this.watermark) === null || _a === void 0 ? void 0 : _a.dispose();
3340
3351
  for (const panel of this.panels) {
3341
3352
  panel.dispose();
3342
3353
  }
3343
- super.dispose();
3344
3354
  this.dropTarget.dispose();
3345
3355
  this.tabsContainer.dispose();
3346
3356
  this.contentContainer.dispose();
3347
3357
  }
3348
3358
  }
3349
3359
 
3350
- exports.GroupChangeKind = void 0;
3351
- (function (GroupChangeKind) {
3352
- GroupChangeKind["ADD_PANEL"] = "ADD_PANEL";
3353
- GroupChangeKind["REMOVE_PANEL"] = "REMOVE_PANEL";
3354
- GroupChangeKind["PANEL_ACTIVE"] = "PANEL_ACTIVE";
3355
- //
3356
- GroupChangeKind["GROUP_ACTIVE"] = "GROUP_ACTIVE";
3357
- GroupChangeKind["ADD_GROUP"] = "ADD_GROUP";
3358
- GroupChangeKind["REMOVE_GROUP"] = "REMOVE_GROUP";
3359
- //
3360
- GroupChangeKind["LAYOUT_FROM_JSON"] = "LAYOUT_FROM_JSON";
3361
- GroupChangeKind["LAYOUT"] = "LAYOUT";
3362
- })(exports.GroupChangeKind || (exports.GroupChangeKind = {}));
3363
3360
  const nextLayoutId = sequentialNumberGenerator();
3364
3361
  function toTarget(direction) {
3365
3362
  switch (direction) {
@@ -3382,9 +3379,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
3382
3379
  this._element = _element;
3383
3380
  this._id = nextLayoutId.next();
3384
3381
  this._groups = new Map();
3385
- //
3386
- this._onGridEvent = new Emitter();
3387
- this.onGridEvent = this._onGridEvent.event;
3388
3382
  this._onDidLayoutChange = new Emitter();
3389
3383
  this.onDidLayoutChange = this._onDidLayoutChange.event;
3390
3384
  this._onDidRemoveGroup = new Emitter();
@@ -3393,30 +3387,18 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
3393
3387
  this.onDidAddGroup = this._onDidAddGroup.event;
3394
3388
  this._onDidActiveGroupChange = new Emitter();
3395
3389
  this.onDidActiveGroupChange = this._onDidActiveGroupChange.event;
3390
+ this._bufferOnDidLayoutChange = new TickDelayedEvent();
3396
3391
  this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation);
3397
3392
  this.element.appendChild(this.gridview.element);
3398
3393
  this.layout(0, 0, true); // set some elements height/widths
3399
3394
  this.addDisposables(this.gridview.onDidChange(() => {
3400
- this._onGridEvent.fire({ kind: exports.GroupChangeKind.LAYOUT });
3395
+ this._onDidLayoutChange.fire();
3401
3396
  }));
3402
- this.addDisposables((() => {
3403
- const tickDelayedEvent = new TickDelayedEvent();
3404
- return new CompositeDisposable(this.onGridEvent((event) => {
3405
- if ([
3406
- exports.GroupChangeKind.ADD_GROUP,
3407
- exports.GroupChangeKind.REMOVE_GROUP,
3408
- exports.GroupChangeKind.ADD_PANEL,
3409
- exports.GroupChangeKind.REMOVE_PANEL,
3410
- exports.GroupChangeKind.GROUP_ACTIVE,
3411
- exports.GroupChangeKind.PANEL_ACTIVE,
3412
- exports.GroupChangeKind.LAYOUT,
3413
- ].includes(event.kind)) {
3414
- tickDelayedEvent.fire();
3415
- }
3416
- }), tickDelayedEvent.onEvent(() => {
3417
- this._onDidLayoutChange.fire();
3418
- }), tickDelayedEvent);
3419
- })());
3397
+ this.addDisposables(exports.Event.any(this.onDidAddGroup, this.onDidRemoveGroup, this.onDidActiveGroupChange)(() => {
3398
+ this._bufferOnDidLayoutChange.fire();
3399
+ }), this._bufferOnDidLayoutChange.onEvent(() => {
3400
+ this._onDidLayoutChange.fire();
3401
+ }), this._bufferOnDidLayoutChange);
3420
3402
  }
3421
3403
  get id() {
3422
3404
  return this._id;
@@ -3453,14 +3435,13 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
3453
3435
  }
3454
3436
  setVisible(panel, visible) {
3455
3437
  this.gridview.setViewVisible(getGridLocation(panel.element), visible);
3456
- this._onGridEvent.fire({ kind: exports.GroupChangeKind.LAYOUT });
3438
+ this._onDidLayoutChange.fire();
3457
3439
  }
3458
3440
  isVisible(panel) {
3459
3441
  return this.gridview.isViewVisible(getGridLocation(panel.element));
3460
3442
  }
3461
3443
  doAddGroup(group, location = [0], size) {
3462
3444
  this.gridview.addView(group, size !== null && size !== void 0 ? size : exports.Sizing.Distribute, location);
3463
- this._onGridEvent.fire({ kind: exports.GroupChangeKind.ADD_GROUP });
3464
3445
  this._onDidAddGroup.fire(group);
3465
3446
  this.doSetGroupActive(group);
3466
3447
  }
@@ -3472,9 +3453,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
3472
3453
  const view = this.gridview.remove(group, exports.Sizing.Distribute);
3473
3454
  if (item && !(options === null || options === void 0 ? void 0 : options.skipDispose)) {
3474
3455
  item.disposable.dispose();
3456
+ item.value.dispose();
3475
3457
  this._groups.delete(group.id);
3476
3458
  }
3477
- this._onGridEvent.fire({ kind: exports.GroupChangeKind.REMOVE_GROUP });
3478
3459
  this._onDidRemoveGroup.fire(group);
3479
3460
  if (!(options === null || options === void 0 ? void 0 : options.skipActive) && this._activeGroup === group) {
3480
3461
  const groups = Array.from(this._groups.values());
@@ -3503,9 +3484,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
3503
3484
  }
3504
3485
  }
3505
3486
  this._activeGroup = group;
3506
- this._onGridEvent.fire({
3507
- kind: exports.GroupChangeKind.GROUP_ACTIVE,
3508
- });
3509
3487
  this._onDidActiveGroupChange.fire(group);
3510
3488
  }
3511
3489
  removeGroup(group) {
@@ -3562,11 +3540,13 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
3562
3540
  }
3563
3541
  dispose() {
3564
3542
  super.dispose();
3565
- this._onGridEvent.dispose();
3566
3543
  this._onDidActiveGroupChange.dispose();
3567
3544
  this._onDidAddGroup.dispose();
3568
3545
  this._onDidRemoveGroup.dispose();
3569
3546
  this._onDidLayoutChange.dispose();
3547
+ for (const group of this.groups) {
3548
+ group.dispose();
3549
+ }
3570
3550
  this.gridview.dispose();
3571
3551
  }
3572
3552
  }
@@ -3744,6 +3724,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
3744
3724
  this.update({ params: { title } });
3745
3725
  }));
3746
3726
  }
3727
+ get params() {
3728
+ var _a;
3729
+ return (_a = this._params) === null || _a === void 0 ? void 0 : _a.params;
3730
+ }
3747
3731
  get title() {
3748
3732
  return this._title;
3749
3733
  }
@@ -3892,7 +3876,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
3892
3876
  get id() {
3893
3877
  return 'watermark';
3894
3878
  }
3895
- update(event) {
3879
+ update(_event) {
3896
3880
  // noop
3897
3881
  }
3898
3882
  focus() {
@@ -3901,17 +3885,17 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
3901
3885
  toJSON() {
3902
3886
  return {};
3903
3887
  }
3904
- layout(width, height) {
3888
+ layout(_width, _height) {
3905
3889
  // noop
3906
3890
  }
3907
3891
  init(params) {
3908
3892
  this.params = params;
3909
- this.addDisposables(this.params.containerApi.onDidLayoutChange((event) => {
3893
+ this.addDisposables(this.params.containerApi.onDidLayoutChange(() => {
3910
3894
  this.render();
3911
3895
  }));
3912
3896
  this.render();
3913
3897
  }
3914
- updateParentGroup(group, visible) {
3898
+ updateParentGroup(group, _visible) {
3915
3899
  this.group = group;
3916
3900
  this.render();
3917
3901
  }
@@ -4086,7 +4070,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4086
4070
  this._isGroupActive = group.isActive;
4087
4071
  this.render();
4088
4072
  }
4089
- layout(width, height) {
4073
+ layout(_width, _height) {
4090
4074
  // noop
4091
4075
  }
4092
4076
  render() {
@@ -4160,8 +4144,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4160
4144
  };
4161
4145
  }
4162
4146
  dispose() {
4147
+ var _a;
4163
4148
  super.dispose();
4164
4149
  this.api.dispose();
4150
+ (_a = this.part) === null || _a === void 0 ? void 0 : _a.dispose();
4165
4151
  }
4166
4152
  }
4167
4153
 
@@ -4420,7 +4406,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4420
4406
  this.onDidLayoutfromJSON = this._onDidLayoutfromJSON.event;
4421
4407
  this._onDidActivePanelChange = new Emitter();
4422
4408
  this.onDidActivePanelChange = this._onDidActivePanelChange.event;
4423
- this.addDisposables(this._onTabInteractionEvent, this._onTabContextMenu, this._onDidDrop);
4409
+ this.addDisposables(this._onTabInteractionEvent, this._onTabContextMenu, this._onDidDrop, exports.Event.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidActivePanelChange)(() => {
4410
+ this._bufferOnDidLayoutChange.fire();
4411
+ }));
4424
4412
  this._options = options;
4425
4413
  if (!this.options.components) {
4426
4414
  this.options.components = {};
@@ -4554,11 +4542,12 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4554
4542
  };
4555
4543
  }
4556
4544
  fromJSON(data) {
4545
+ const groups = Array.from(this._groups.values()).map((_) => _.value);
4546
+ for (const group of groups) {
4547
+ // remove the group will automatically remove the panels
4548
+ this.removeGroup(group, true);
4549
+ }
4557
4550
  this.gridview.clear();
4558
- this.panels.forEach((panel) => {
4559
- panel.dispose();
4560
- });
4561
- this._groups.clear();
4562
4551
  if (!this.deserializer) {
4563
4552
  throw new Error('invalid deserializer');
4564
4553
  }
@@ -4582,7 +4571,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4582
4571
  }
4583
4572
  }
4584
4573
  this.gridview.layout(this.width, this.height);
4585
- this._onGridEvent.fire({ kind: exports.GroupChangeKind.LAYOUT_FROM_JSON });
4586
4574
  this._onDidLayoutfromJSON.fire();
4587
4575
  }
4588
4576
  closeAllGroups() {
@@ -4604,7 +4592,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4604
4592
  }
4605
4593
  addPanel(options) {
4606
4594
  var _a, _b;
4607
- const panel = this._addPanel(options);
4595
+ if (this.panels.find((_) => _.id === options.id)) {
4596
+ throw new Error(`panel with id ${options.id} already exists`);
4597
+ }
4598
+ const panel = this.createPanel(options);
4608
4599
  let referenceGroup;
4609
4600
  if ((_a = options.position) === null || _a === void 0 ? void 0 : _a.referencePanel) {
4610
4601
  const referencePanel = this.getGroupPanel(options.position.referencePanel);
@@ -4632,13 +4623,20 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4632
4623
  }
4633
4624
  return panel;
4634
4625
  }
4635
- removePanel(panel) {
4626
+ removePanel(panel, options = {
4627
+ removeEmptyGroup: true,
4628
+ skipDispose: false,
4629
+ }) {
4636
4630
  const group = panel.group;
4637
4631
  if (!group) {
4638
4632
  throw new Error(`cannot remove panel ${panel.id}. it's missing a group.`);
4639
4633
  }
4640
4634
  group.model.removePanel(panel);
4641
- if (group.model.size === 0) {
4635
+ panel.dispose();
4636
+ const retainGroupForWatermark = this.size === 1;
4637
+ if (!retainGroupForWatermark &&
4638
+ group.model.size === 0 &&
4639
+ options.removeEmptyGroup) {
4642
4640
  this.removeGroup(group);
4643
4641
  }
4644
4642
  }
@@ -4670,16 +4668,15 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4670
4668
  this.doAddGroup(group);
4671
4669
  }
4672
4670
  }
4673
- removeGroup(group) {
4671
+ removeGroup(group, skipActive = false) {
4674
4672
  const panels = [...group.model.panels]; // reassign since group panels will mutate
4675
- panels.forEach((panel) => {
4676
- this.removePanel(panel);
4677
- });
4678
- if (this._groups.size === 1) {
4679
- this._activeGroup = group;
4680
- return;
4673
+ for (const panel of panels) {
4674
+ this.removePanel(panel, {
4675
+ removeEmptyGroup: false,
4676
+ skipDispose: false,
4677
+ });
4681
4678
  }
4682
- super.removeGroup(group);
4679
+ super.doRemoveGroup(group, { skipActive });
4683
4680
  }
4684
4681
  moveGroupOrPanel(referenceGroup, groupId, itemId, target, index) {
4685
4682
  var _a;
@@ -4734,15 +4731,11 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4734
4731
  }
4735
4732
  }
4736
4733
  doSetGroupActive(group, skipFocus) {
4737
- var _a, _b, _c;
4734
+ var _a, _b;
4738
4735
  const isGroupAlreadyFocused = this._activeGroup === group;
4739
4736
  super.doSetGroupActive(group, skipFocus);
4740
4737
  if (!isGroupAlreadyFocused && ((_a = this._activeGroup) === null || _a === void 0 ? void 0 : _a.model.activePanel)) {
4741
- this._onGridEvent.fire({
4742
- kind: exports.GroupChangeKind.PANEL_ACTIVE,
4743
- panel: (_b = this._activeGroup) === null || _b === void 0 ? void 0 : _b.model.activePanel,
4744
- });
4745
- this._onDidActivePanelChange.fire((_c = this._activeGroup) === null || _c === void 0 ? void 0 : _c.model.activePanel);
4738
+ this._onDidActivePanelChange.fire((_b = this._activeGroup) === null || _b === void 0 ? void 0 : _b.model.activePanel);
4746
4739
  }
4747
4740
  }
4748
4741
  createGroup(options) {
@@ -4764,6 +4757,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4764
4757
  }
4765
4758
  }
4766
4759
  const view = new GroupviewPanel(this, id, options);
4760
+ view.init({ params: {}, containerApi: null }); // required to initialized .part and allow for correct disposal of group
4767
4761
  if (!this._groups.has(view.id)) {
4768
4762
  const disposable = new CompositeDisposable(view.model.onMove((event) => {
4769
4763
  const { groupId, itemId, target, index } = event;
@@ -4773,28 +4767,16 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4773
4767
  }), view.model.onDidGroupChange((event) => {
4774
4768
  switch (event.kind) {
4775
4769
  case exports.GroupChangeKind2.ADD_PANEL:
4776
- this._onGridEvent.fire({
4777
- kind: exports.GroupChangeKind.ADD_PANEL,
4778
- panel: event.panel,
4779
- });
4780
4770
  if (event.panel) {
4781
4771
  this._onDidAddPanel.fire(event.panel);
4782
4772
  }
4783
4773
  break;
4784
4774
  case exports.GroupChangeKind2.REMOVE_PANEL:
4785
- this._onGridEvent.fire({
4786
- kind: exports.GroupChangeKind.REMOVE_PANEL,
4787
- panel: event.panel,
4788
- });
4789
4775
  if (event.panel) {
4790
4776
  this._onDidRemovePanel.fire(event.panel);
4791
4777
  }
4792
4778
  break;
4793
4779
  case exports.GroupChangeKind2.PANEL_ACTIVE:
4794
- this._onGridEvent.fire({
4795
- kind: exports.GroupChangeKind.PANEL_ACTIVE,
4796
- panel: event.panel,
4797
- });
4798
4780
  this._onDidActivePanelChange.fire(event.panel);
4799
4781
  break;
4800
4782
  }
@@ -4809,7 +4791,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4809
4791
  }
4810
4792
  return view;
4811
4793
  }
4812
- _addPanel(options) {
4794
+ createPanel(options) {
4813
4795
  const view = new DefaultGroupPanelView({
4814
4796
  content: this.createContentComponent(options.id, options.component),
4815
4797
  tab: this.createTabComponent(options.id, options.tabComponent),
@@ -4910,7 +4892,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4910
4892
  this.gridview.setViewVisible(getGridLocation(panel.element), visible);
4911
4893
  }
4912
4894
  setActive(panel) {
4913
- this._groups.forEach((value, key) => {
4895
+ this._groups.forEach((value, _key) => {
4914
4896
  value.value.setActive(panel === value.value);
4915
4897
  });
4916
4898
  }
@@ -4921,10 +4903,14 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4921
4903
  var _a;
4922
4904
  (_a = this.activeGroup) === null || _a === void 0 ? void 0 : _a.focus();
4923
4905
  }
4924
- fromJSON(serializedGridview, deferComponentLayout) {
4906
+ fromJSON(serializedGridview) {
4925
4907
  const { grid, activePanel } = serializedGridview;
4908
+ const groups = Array.from(this._groups.values()); // reassign since group panels will mutate
4909
+ for (const group of groups) {
4910
+ group.disposable.dispose();
4911
+ this.doRemoveGroup(group.value, { skipActive: true });
4912
+ }
4926
4913
  this.gridview.clear();
4927
- this._groups.clear();
4928
4914
  const queue = [];
4929
4915
  this.gridview.deserialize(grid, {
4930
4916
  fromJSON: (node) => {
@@ -4951,21 +4937,13 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4951
4937
  },
4952
4938
  });
4953
4939
  this.layout(this.width, this.height, true);
4954
- if (deferComponentLayout) {
4955
- setTimeout(() => {
4956
- queue.forEach((f) => f());
4957
- }, 0);
4958
- }
4959
- else {
4960
- queue.forEach((f) => f());
4961
- }
4940
+ queue.forEach((f) => f());
4962
4941
  if (typeof activePanel === 'string') {
4963
4942
  const panel = this.getPanel(activePanel);
4964
4943
  if (panel) {
4965
4944
  this.doSetGroupActive(panel);
4966
4945
  }
4967
4946
  }
4968
- this._onGridEvent.fire({ kind: exports.GroupChangeKind.LAYOUT_FROM_JSON });
4969
4947
  this._onDidLayoutfromJSON.fire();
4970
4948
  }
4971
4949
  movePanel(panel, options) {
@@ -5022,7 +5000,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5022
5000
  });
5023
5001
  this.registerPanel(view);
5024
5002
  this.doAddGroup(view, relativeLocation, options.size);
5025
- return { api: view.api };
5026
5003
  }
5027
5004
  registerPanel(panel) {
5028
5005
  const disposable = new CompositeDisposable(panel.api.onDidFocusChange((event) => {
@@ -5073,11 +5050,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5073
5050
  }
5074
5051
  removeGroup(group) {
5075
5052
  super.removeGroup(group);
5076
- const panel = this._groups.get(group.id);
5077
- if (panel) {
5078
- panel.disposable.dispose();
5079
- this._groups.delete(group.id);
5080
- }
5081
5053
  }
5082
5054
  dispose() {
5083
5055
  super.dispose();
@@ -5094,6 +5066,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5094
5066
  this.element = element;
5095
5067
  this._disposable = new MutableDisposable();
5096
5068
  this.panels = new Map();
5069
+ this._onDidLayoutfromJSON = new Emitter();
5070
+ this.onDidLayoutFromJSON = this._onDidLayoutfromJSON.event;
5097
5071
  this._onDidAddView = new Emitter();
5098
5072
  this.onDidAddView = this._onDidAddView.event;
5099
5073
  this._onDidRemoveView = new Emitter();
@@ -5108,7 +5082,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5108
5082
  options.frameworkComponents = {};
5109
5083
  }
5110
5084
  this.splitview = new Splitview(this.element, options);
5111
- this.addDisposables(this._disposable, this._onDidAddView, this._onDidRemoveView, this._onDidLayoutChange);
5085
+ this.addDisposables(this._disposable, this._onDidAddView, this._onDidLayoutfromJSON, this._onDidRemoveView, this._onDidLayoutChange);
5112
5086
  }
5113
5087
  get options() {
5114
5088
  return this._options;
@@ -5184,7 +5158,11 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5184
5158
  }
5185
5159
  removePanel(panel, sizing) {
5186
5160
  const disposable = this.panels.get(panel.id);
5187
- disposable === null || disposable === void 0 ? void 0 : disposable.dispose();
5161
+ if (!disposable) {
5162
+ throw new Error(`unknown splitview panel ${panel.id}`);
5163
+ }
5164
+ disposable.disposable.dispose();
5165
+ disposable.value.dispose();
5188
5166
  this.panels.delete(panel.id);
5189
5167
  const index = this.getPanels().findIndex((_) => _ === panel);
5190
5168
  this.splitview.removeView(index, sizing);
@@ -5243,7 +5221,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5243
5221
  }
5244
5222
  this.setActive(view, true);
5245
5223
  });
5246
- this.panels.set(view.id, disposable);
5224
+ this.panels.set(view.id, { disposable, value: view });
5247
5225
  }
5248
5226
  toJSON() {
5249
5227
  var _a;
@@ -5265,8 +5243,13 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5265
5243
  orientation: this.splitview.orientation,
5266
5244
  };
5267
5245
  }
5268
- fromJSON(serializedSplitview, deferComponentLayout = false) {
5246
+ fromJSON(serializedSplitview) {
5269
5247
  const { views, orientation, size, activeView } = serializedSplitview;
5248
+ for (const [_, value] of this.panels.entries()) {
5249
+ value.disposable.dispose();
5250
+ value.value.dispose();
5251
+ }
5252
+ this.panels.clear();
5270
5253
  this.splitview.dispose();
5271
5254
  const queue = [];
5272
5255
  this.splitview = new Splitview(this.element, {
@@ -5306,26 +5289,22 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5306
5289
  },
5307
5290
  });
5308
5291
  this.layout(this.width, this.height);
5309
- if (deferComponentLayout) {
5310
- setTimeout(() => {
5311
- queue.forEach((f) => f());
5312
- }, 0);
5313
- }
5314
- else {
5315
- queue.forEach((f) => f());
5316
- }
5292
+ queue.forEach((f) => f());
5317
5293
  if (typeof activeView === 'string') {
5318
5294
  const panel = this.getPanel(activeView);
5319
5295
  if (panel) {
5320
5296
  this.setActive(panel);
5321
5297
  }
5322
5298
  }
5299
+ this._onDidLayoutfromJSON.fire();
5323
5300
  }
5324
5301
  dispose() {
5325
- Array.from(this.panels.values()).forEach((value) => {
5326
- value.dispose();
5327
- });
5302
+ for (const [_, value] of this.panels.entries()) {
5303
+ value.disposable.dispose();
5304
+ value.value.dispose();
5305
+ }
5328
5306
  this.panels.clear();
5307
+ this.splitview.dispose();
5329
5308
  super.dispose();
5330
5309
  }
5331
5310
  }
@@ -5594,7 +5573,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5594
5573
  })(this.header);
5595
5574
  this.target = new Droptarget(this.element, {
5596
5575
  validOverlays: 'vertical',
5597
- canDisplayOverlay: (event) => {
5576
+ canDisplayOverlay: () => {
5598
5577
  const data = getPaneData();
5599
5578
  if (!data) {
5600
5579
  return true;
@@ -5665,7 +5644,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5665
5644
  this._expander.textContent = e.isExpanded ? '<' : '>';
5666
5645
  });
5667
5646
  }
5668
- update(params) {
5647
+ update(_params) {
5669
5648
  //
5670
5649
  }
5671
5650
  dispose() {
@@ -5691,6 +5670,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5691
5670
  super();
5692
5671
  this.element = element;
5693
5672
  this._disposable = new MutableDisposable();
5673
+ this._viewDisposables = new Map();
5674
+ this._onDidLayoutfromJSON = new Emitter();
5675
+ this.onDidLayoutFromJSON = this._onDidLayoutfromJSON.event;
5694
5676
  this._onDidLayoutChange = new Emitter();
5695
5677
  this.onDidLayoutChange = this._onDidLayoutChange.event;
5696
5678
  this._onDidDrop = new Emitter();
@@ -5699,7 +5681,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5699
5681
  this.onDidAddView = this._onDidAddView.event;
5700
5682
  this._onDidRemoveView = new Emitter();
5701
5683
  this.onDidRemoveView = this._onDidRemoveView.event;
5702
- this.addDisposables(this._onDidLayoutChange, this._onDidDrop, this._onDidAddView, this._onDidRemoveView);
5684
+ this.addDisposables(this._onDidLayoutChange, this._onDidLayoutfromJSON, this._onDidDrop, this._onDidAddView, this._onDidRemoveView);
5703
5685
  this._options = options;
5704
5686
  if (!options.components) {
5705
5687
  options.components = {};
@@ -5775,9 +5757,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5775
5757
  isExpanded: !!options.isExpanded,
5776
5758
  disableDnd: !!this.options.disableDnd,
5777
5759
  });
5778
- const disposable = new CompositeDisposable(view.onDidDrop((event) => {
5779
- this._onDidDrop.fire(event);
5780
- }));
5760
+ this.doAddPanel(view);
5781
5761
  const size = typeof options.size === 'number' ? options.size : exports.Sizing.Distribute;
5782
5762
  const index = typeof options.index === 'number' ? options.index : undefined;
5783
5763
  view.init({
@@ -5790,7 +5770,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5790
5770
  });
5791
5771
  this.paneview.addPane(view, size, index);
5792
5772
  view.orientation = this.paneview.orientation;
5793
- return disposable;
5773
+ return view;
5794
5774
  }
5795
5775
  getPanels() {
5796
5776
  return this.paneview.getPanes();
@@ -5799,6 +5779,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5799
5779
  const views = this.getPanels();
5800
5780
  const index = views.findIndex((_) => _ === panel);
5801
5781
  this.paneview.removePane(index);
5782
+ this.doRemovePanel(panel);
5802
5783
  }
5803
5784
  movePanel(from, to) {
5804
5785
  this.paneview.moveView(from, to);
@@ -5845,9 +5826,13 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5845
5826
  size: this.paneview.size,
5846
5827
  };
5847
5828
  }
5848
- fromJSON(serializedPaneview, deferComponentLayout) {
5829
+ fromJSON(serializedPaneview) {
5849
5830
  const { views, size } = serializedPaneview;
5850
5831
  const queue = [];
5832
+ for (const [_, value] of this._viewDisposables.entries()) {
5833
+ value.dispose();
5834
+ }
5835
+ this._viewDisposables.clear();
5851
5836
  this.paneview.dispose();
5852
5837
  this.paneview = new Paneview(this.element, {
5853
5838
  orientation: exports.Orientation.VERTICAL,
@@ -5883,9 +5868,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5883
5868
  isExpanded: !!view.expanded,
5884
5869
  disableDnd: !!this.options.disableDnd,
5885
5870
  });
5886
- panel.onDidDrop((event) => {
5887
- this._onDidDrop.fire(event);
5888
- });
5871
+ this.doAddPanel(panel);
5889
5872
  queue.push(() => {
5890
5873
  panel.init({
5891
5874
  params: data.params || {},
@@ -5906,14 +5889,29 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5906
5889
  },
5907
5890
  });
5908
5891
  this.layout(this.width, this.height);
5909
- if (deferComponentLayout) {
5910
- setTimeout(() => {
5911
- queue.forEach((f) => f());
5912
- }, 0);
5892
+ queue.forEach((f) => f());
5893
+ this._onDidLayoutfromJSON.fire();
5894
+ }
5895
+ doAddPanel(panel) {
5896
+ const disposable = panel.onDidDrop((event) => {
5897
+ this._onDidDrop.fire(event);
5898
+ });
5899
+ this._viewDisposables.set(panel.id, disposable);
5900
+ }
5901
+ doRemovePanel(panel) {
5902
+ const disposable = this._viewDisposables.get(panel.id);
5903
+ if (disposable) {
5904
+ disposable.dispose();
5905
+ this._viewDisposables.delete(panel.id);
5913
5906
  }
5914
- else {
5915
- queue.forEach((f) => f());
5907
+ }
5908
+ dispose() {
5909
+ super.dispose();
5910
+ for (const [_, value] of this._viewDisposables.entries()) {
5911
+ value.dispose();
5916
5912
  }
5913
+ this._viewDisposables.clear();
5914
+ this.paneview.dispose();
5917
5915
  }
5918
5916
  }
5919
5917
 
@@ -6141,18 +6139,12 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6141
6139
  this.id = id;
6142
6140
  this.component = component;
6143
6141
  this.reactPortalStore = reactPortalStore;
6144
- // private hostedContainer: HostedContainer;
6145
6142
  this._onDidFocus = new Emitter();
6146
6143
  this.onDidFocus = this._onDidFocus.event;
6147
6144
  this._onDidBlur = new Emitter();
6148
6145
  this.onDidBlur = this._onDidBlur.event;
6149
6146
  this._element = document.createElement('div');
6150
6147
  this._element.className = 'dockview-react-part';
6151
- // this.hostedContainer = new HostedContainer({
6152
- // id,
6153
- // });
6154
- // this.hostedContainer.onDidFocus(() => this._onDidFocus.fire());
6155
- // this.hostedContainer.onDidBlur(() => this._onDidBlur.fire());
6156
6148
  this._actionsElement = document.createElement('div');
6157
6149
  this._actionsElement.className = 'dockview-react-part';
6158
6150
  }
@@ -6187,15 +6179,11 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6187
6179
  var _a;
6188
6180
  (_a = this.part) === null || _a === void 0 ? void 0 : _a.update(event.params);
6189
6181
  }
6190
- updateParentGroup(group, isPanelVisible) {
6182
+ updateParentGroup(group, _isPanelVisible) {
6191
6183
  this._group = group;
6192
6184
  }
6193
- layout(width, height) {
6185
+ layout(_width, _height) {
6194
6186
  // noop
6195
- // this.hostedContainer.layout(
6196
- // this.element
6197
- // // { width, height }
6198
- // );
6199
6187
  }
6200
6188
  close() {
6201
6189
  return Promise.resolve(true);
@@ -6205,7 +6193,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6205
6193
  this._onDidFocus.dispose();
6206
6194
  this._onDidBlur.dispose();
6207
6195
  (_a = this.part) === null || _a === void 0 ? void 0 : _a.dispose();
6208
- // this.hostedContainer?.dispose();
6209
6196
  (_b = this.actionsPart) === null || _b === void 0 ? void 0 : _b.dispose();
6210
6197
  }
6211
6198
  }
@@ -6240,10 +6227,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6240
6227
  id: this.id,
6241
6228
  };
6242
6229
  }
6243
- layout(width, height) {
6230
+ layout(_width, _height) {
6244
6231
  // noop - retrieval from api
6245
6232
  }
6246
- updateParentGroup(group, isPanelVisible) {
6233
+ updateParentGroup(_group, _isPanelVisible) {
6247
6234
  // noop - retrieval from api
6248
6235
  }
6249
6236
  dispose() {
@@ -6322,10 +6309,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6322
6309
  id: this.id,
6323
6310
  };
6324
6311
  }
6325
- layout(width, height) {
6312
+ layout(_width, _height) {
6326
6313
  // noop - retrieval from api
6327
6314
  }
6328
- updateParentGroup(group, isPanelVisible) {
6315
+ updateParentGroup(group, _isPanelVisible) {
6329
6316
  // noop - retrieval from api
6330
6317
  this._groupRef.value = group;
6331
6318
  }
@@ -6359,21 +6346,21 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6359
6346
  var _a;
6360
6347
  const factory = {
6361
6348
  content: {
6362
- createComponent: (id, componentId, component) => {
6349
+ createComponent: (_id, componentId, component) => {
6363
6350
  return new ReactPanelContentPart(componentId, component, {
6364
6351
  addPortal,
6365
6352
  });
6366
6353
  },
6367
6354
  },
6368
6355
  tab: {
6369
- createComponent: (id, componentId, component) => {
6356
+ createComponent: (_id, componentId, component) => {
6370
6357
  return new ReactPanelHeaderPart(componentId, component, {
6371
6358
  addPortal,
6372
6359
  });
6373
6360
  },
6374
6361
  },
6375
6362
  watermark: {
6376
- createComponent: (id, componentId, component) => {
6363
+ createComponent: (_id, componentId, component) => {
6377
6364
  return new ReactWatermarkPart(componentId, component, {
6378
6365
  addPortal,
6379
6366
  });
@@ -6392,11 +6379,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6392
6379
  ? { separatorBorder: 'transparent' }
6393
6380
  : undefined,
6394
6381
  });
6395
- const disposable = dockview.onDidDrop((event) => {
6396
- if (props.onDidDrop) {
6397
- props.onDidDrop(event);
6398
- }
6399
- });
6400
6382
  (_a = domRef.current) === null || _a === void 0 ? void 0 : _a.appendChild(dockview.element);
6401
6383
  dockview.deserializer = new ReactPanelDeserialzier(dockview);
6402
6384
  const { clientWidth, clientHeight } = domRef.current;
@@ -6406,10 +6388,25 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6406
6388
  }
6407
6389
  dockviewRef.current = dockview;
6408
6390
  return () => {
6409
- disposable.dispose();
6410
6391
  dockview.dispose();
6392
+ element.remove();
6411
6393
  };
6412
6394
  }, []);
6395
+ React__namespace.useEffect(() => {
6396
+ if (!dockviewRef.current) {
6397
+ return () => {
6398
+ // noop
6399
+ };
6400
+ }
6401
+ const disposable = dockviewRef.current.onDidDrop((event) => {
6402
+ if (props.onDidDrop) {
6403
+ props.onDidDrop(event);
6404
+ }
6405
+ });
6406
+ return () => {
6407
+ disposable.dispose();
6408
+ };
6409
+ }, [props.onDidDrop]);
6413
6410
  React__namespace.useEffect(() => {
6414
6411
  if (!dockviewRef.current) {
6415
6412
  return;
@@ -6418,6 +6415,14 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6418
6415
  frameworkComponents: props.components,
6419
6416
  });
6420
6417
  }, [props.components]);
6418
+ React__namespace.useEffect(() => {
6419
+ if (!dockviewRef.current) {
6420
+ return;
6421
+ }
6422
+ dockviewRef.current.updateOptions({
6423
+ watermarkFrameworkComponent: props.watermarkComponent,
6424
+ });
6425
+ }, [props.watermarkComponent]);
6421
6426
  React__namespace.useEffect(() => {
6422
6427
  if (!dockviewRef.current) {
6423
6428
  return;
@@ -6553,7 +6558,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6553
6558
  });
6554
6559
  },
6555
6560
  },
6556
- proportionalLayout: props.proportionalLayout,
6561
+ proportionalLayout: typeof props.proportionalLayout === 'boolean'
6562
+ ? props.proportionalLayout
6563
+ : true,
6557
6564
  styles: props.hideBorders
6558
6565
  ? { separatorBorder: 'transparent' }
6559
6566
  : undefined,
@@ -6621,7 +6628,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6621
6628
  var _a;
6622
6629
  const element = document.createElement('div');
6623
6630
  const gridview = new GridviewComponent(element, {
6624
- proportionalLayout: !!props.proportionalLayout,
6631
+ proportionalLayout: typeof props.proportionalLayout === 'boolean'
6632
+ ? props.proportionalLayout
6633
+ : true,
6625
6634
  orientation: props.orientation,
6626
6635
  frameworkComponents: props.components,
6627
6636
  frameworkComponentFactory: {
@@ -6644,6 +6653,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6644
6653
  gridviewRef.current = gridview;
6645
6654
  return () => {
6646
6655
  gridview.dispose();
6656
+ element.remove();
6647
6657
  };
6648
6658
  }, []);
6649
6659
  React__namespace.useEffect(() => {
@@ -6714,7 +6724,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6714
6724
  };
6715
6725
  }, [props.disableAutoResizing]);
6716
6726
  React__namespace.useEffect(() => {
6717
- const createComponent = (id, componentId, component) => new PanePanelSection(id, component, {
6727
+ const createComponent = (id, _componentId, component) => new PanePanelSection(id, component, {
6718
6728
  addPortal,
6719
6729
  });
6720
6730
  const paneview = new PaneviewComponent(domRef.current, {
@@ -6780,13 +6790,11 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6780
6790
  PaneviewReact.displayName = 'PaneviewComponent';
6781
6791
 
6782
6792
  exports.BaseGrid = BaseGrid;
6783
- exports.CompositeDisposable = CompositeDisposable;
6784
6793
  exports.ContentContainer = ContentContainer;
6785
6794
  exports.DockviewApi = DockviewApi;
6786
6795
  exports.DockviewComponent = DockviewComponent;
6787
6796
  exports.DockviewComponents = DockviewComponents;
6788
6797
  exports.DockviewReact = DockviewReact;
6789
- exports.Emitter = Emitter;
6790
6798
  exports.Gridview = Gridview;
6791
6799
  exports.GridviewApi = GridviewApi;
6792
6800
  exports.GridviewComponent = GridviewComponent;
@@ -6794,7 +6802,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6794
6802
  exports.GridviewReact = GridviewReact;
6795
6803
  exports.Groupview = Groupview;
6796
6804
  exports.LocalSelectionTransfer = LocalSelectionTransfer;
6797
- exports.MutableDisposable = MutableDisposable;
6798
6805
  exports.PaneFramework = PaneFramework;
6799
6806
  exports.PaneTransfer = PaneTransfer;
6800
6807
  exports.PanelTransfer = PanelTransfer;
@@ -6813,9 +6820,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6813
6820
  exports.SplitviewPanel = SplitviewPanel;
6814
6821
  exports.SplitviewReact = SplitviewReact;
6815
6822
  exports.Tab = Tab$1;
6816
- exports.TickDelayedEvent = TickDelayedEvent;
6817
- exports.addDisposableListener = addDisposableListener;
6818
- exports.addDisposableWindowListener = addDisposableWindowListener;
6819
6823
  exports.getDirectionOrientation = getDirectionOrientation;
6820
6824
  exports.getGridLocation = getGridLocation;
6821
6825
  exports.getLocationOrientation = getLocationOrientation;