dockview-core 1.17.2 → 2.0.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 (122) hide show
  1. package/dist/cjs/api/component.api.d.ts +1 -1
  2. package/dist/cjs/api/dockviewGroupPanelApi.d.ts +10 -8
  3. package/dist/cjs/api/dockviewGroupPanelApi.js +1 -0
  4. package/dist/cjs/api/dockviewPanelApi.d.ts +6 -14
  5. package/dist/cjs/api/dockviewPanelApi.js +5 -3
  6. package/dist/cjs/dnd/abstractDragHandler.js +1 -1
  7. package/dist/cjs/dnd/dnd.d.ts +2 -2
  8. package/dist/cjs/dnd/droptarget.js +4 -4
  9. package/dist/cjs/dockview/components/panel/content.d.ts +2 -2
  10. package/dist/cjs/dockview/components/panel/content.js +3 -1
  11. package/dist/cjs/dockview/components/tab/defaultTab.d.ts +3 -3
  12. package/dist/cjs/dockview/components/tab/tab.js +4 -4
  13. package/dist/cjs/dockview/components/titlebar/tabsContainer.js +5 -9
  14. package/dist/cjs/dockview/components/titlebar/voidContainer.js +1 -1
  15. package/dist/cjs/dockview/components/watermark/watermark.d.ts +1 -1
  16. package/dist/cjs/dockview/components/watermark/watermark.js +6 -6
  17. package/dist/cjs/dockview/dockviewComponent.d.ts +2 -3
  18. package/dist/cjs/dockview/dockviewComponent.js +66 -35
  19. package/dist/cjs/dockview/dockviewGroupPanel.js +16 -12
  20. package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +3 -3
  21. package/dist/cjs/dockview/dockviewGroupPanelModel.js +7 -7
  22. package/dist/cjs/dockview/dockviewPanel.d.ts +4 -4
  23. package/dist/cjs/dockview/dockviewPanelModel.d.ts +1 -1
  24. package/dist/cjs/dockview/options.d.ts +8 -0
  25. package/dist/cjs/dom.d.ts +11 -1
  26. package/dist/cjs/dom.js +19 -1
  27. package/dist/cjs/gridview/basePanelView.d.ts +1 -1
  28. package/dist/cjs/gridview/branchNode.d.ts +1 -1
  29. package/dist/cjs/gridview/branchNode.js +1 -1
  30. package/dist/cjs/gridview/gridview.js +2 -2
  31. package/dist/cjs/gridview/gridviewPanel.d.ts +4 -0
  32. package/dist/cjs/gridview/gridviewPanel.js +60 -32
  33. package/dist/cjs/gridview/leafNode.d.ts +1 -1
  34. package/dist/cjs/index.d.ts +8 -9
  35. package/dist/cjs/index.js +14 -7
  36. package/dist/cjs/overlay/overlay.d.ts +3 -3
  37. package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +1 -1
  38. package/dist/cjs/paneview/defaultPaneviewHeader.js +5 -3
  39. package/dist/cjs/paneview/paneview.d.ts +3 -3
  40. package/dist/cjs/paneview/paneview.js +3 -3
  41. package/dist/cjs/paneview/paneviewComponent.d.ts +2 -2
  42. package/dist/cjs/paneview/paneviewPanel.d.ts +2 -2
  43. package/dist/cjs/paneview/paneviewPanel.js +3 -3
  44. package/dist/cjs/popoutWindow.js +23 -16
  45. package/dist/cjs/splitview/splitview.d.ts +6 -6
  46. package/dist/cjs/splitview/splitview.js +18 -17
  47. package/dist/cjs/splitview/splitviewComponent.d.ts +2 -2
  48. package/dist/cjs/splitview/viewItem.d.ts +1 -1
  49. package/dist/cjs/svg.js +1 -1
  50. package/dist/dockview-core.amd.js +241 -169
  51. package/dist/dockview-core.amd.js.map +1 -1
  52. package/dist/dockview-core.amd.min.js +2 -2
  53. package/dist/dockview-core.amd.min.js.map +1 -1
  54. package/dist/dockview-core.amd.min.noStyle.js +2 -2
  55. package/dist/dockview-core.amd.min.noStyle.js.map +1 -1
  56. package/dist/dockview-core.amd.noStyle.js +240 -168
  57. package/dist/dockview-core.amd.noStyle.js.map +1 -1
  58. package/dist/dockview-core.cjs.js +241 -169
  59. package/dist/dockview-core.cjs.js.map +1 -1
  60. package/dist/dockview-core.esm.js +242 -168
  61. package/dist/dockview-core.esm.js.map +1 -1
  62. package/dist/dockview-core.esm.min.js +2 -2
  63. package/dist/dockview-core.esm.min.js.map +1 -1
  64. package/dist/dockview-core.js +241 -169
  65. package/dist/dockview-core.js.map +1 -1
  66. package/dist/dockview-core.min.js +2 -2
  67. package/dist/dockview-core.min.js.map +1 -1
  68. package/dist/dockview-core.min.noStyle.js +2 -2
  69. package/dist/dockview-core.min.noStyle.js.map +1 -1
  70. package/dist/dockview-core.noStyle.js +240 -168
  71. package/dist/dockview-core.noStyle.js.map +1 -1
  72. package/dist/esm/api/component.api.d.ts +1 -1
  73. package/dist/esm/api/dockviewGroupPanelApi.d.ts +10 -8
  74. package/dist/esm/api/dockviewGroupPanelApi.js +1 -0
  75. package/dist/esm/api/dockviewPanelApi.d.ts +6 -14
  76. package/dist/esm/api/dockviewPanelApi.js +5 -3
  77. package/dist/esm/dnd/abstractDragHandler.js +1 -1
  78. package/dist/esm/dnd/dnd.d.ts +2 -2
  79. package/dist/esm/dnd/droptarget.js +4 -4
  80. package/dist/esm/dockview/components/panel/content.d.ts +2 -2
  81. package/dist/esm/dockview/components/panel/content.js +4 -2
  82. package/dist/esm/dockview/components/tab/defaultTab.d.ts +3 -3
  83. package/dist/esm/dockview/components/tab/tab.js +4 -4
  84. package/dist/esm/dockview/components/titlebar/tabsContainer.js +5 -9
  85. package/dist/esm/dockview/components/titlebar/voidContainer.js +1 -1
  86. package/dist/esm/dockview/components/watermark/watermark.d.ts +1 -1
  87. package/dist/esm/dockview/components/watermark/watermark.js +6 -6
  88. package/dist/esm/dockview/dockviewComponent.d.ts +2 -3
  89. package/dist/esm/dockview/dockviewComponent.js +65 -34
  90. package/dist/esm/dockview/dockviewGroupPanel.js +16 -12
  91. package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +3 -3
  92. package/dist/esm/dockview/dockviewGroupPanelModel.js +7 -7
  93. package/dist/esm/dockview/dockviewPanel.d.ts +4 -4
  94. package/dist/esm/dockview/dockviewPanelModel.d.ts +1 -1
  95. package/dist/esm/dockview/options.d.ts +8 -0
  96. package/dist/esm/dom.d.ts +11 -1
  97. package/dist/esm/dom.js +14 -0
  98. package/dist/esm/gridview/basePanelView.d.ts +1 -1
  99. package/dist/esm/gridview/branchNode.d.ts +1 -1
  100. package/dist/esm/gridview/branchNode.js +1 -1
  101. package/dist/esm/gridview/gridview.js +2 -2
  102. package/dist/esm/gridview/gridviewPanel.d.ts +4 -0
  103. package/dist/esm/gridview/gridviewPanel.js +40 -12
  104. package/dist/esm/gridview/leafNode.d.ts +1 -1
  105. package/dist/esm/index.d.ts +8 -9
  106. package/dist/esm/index.js +5 -6
  107. package/dist/esm/overlay/overlay.d.ts +3 -3
  108. package/dist/esm/paneview/defaultPaneviewHeader.d.ts +1 -1
  109. package/dist/esm/paneview/defaultPaneviewHeader.js +5 -3
  110. package/dist/esm/paneview/paneview.d.ts +3 -3
  111. package/dist/esm/paneview/paneview.js +3 -3
  112. package/dist/esm/paneview/paneviewComponent.d.ts +2 -2
  113. package/dist/esm/paneview/paneviewPanel.d.ts +2 -2
  114. package/dist/esm/paneview/paneviewPanel.js +3 -3
  115. package/dist/esm/popoutWindow.js +24 -17
  116. package/dist/esm/splitview/splitview.d.ts +6 -6
  117. package/dist/esm/splitview/splitview.js +18 -17
  118. package/dist/esm/splitview/splitviewComponent.d.ts +2 -2
  119. package/dist/esm/splitview/viewItem.d.ts +1 -1
  120. package/dist/esm/svg.js +1 -1
  121. package/dist/styles/dockview.css +114 -125
  122. package/package.json +1 -1
@@ -45,14 +45,14 @@ export interface IPaneviewPanel extends BasePanelViewExported<PaneviewPanelApiIm
45
45
  }
46
46
  export declare abstract class PaneviewPanel extends BasePanelView<PaneviewPanelApiImpl> implements IPaneview, IPaneviewPanel {
47
47
  private readonly headerComponent;
48
- private _onDidChangeExpansionState;
48
+ private readonly _onDidChangeExpansionState;
49
49
  onDidChangeExpansionState: Event<boolean>;
50
50
  private readonly _onDidChange;
51
51
  readonly onDidChange: Event<{
52
52
  size?: number;
53
53
  orthogonalSize?: number;
54
54
  }>;
55
- private headerSize;
55
+ private readonly headerSize;
56
56
  private _orthogonalSize;
57
57
  private _size;
58
58
  private _minimumBodySize;
@@ -70,7 +70,7 @@ var PaneviewPanel = /** @class */ (function (_super) {
70
70
  _this._headerVisible = isHeaderVisible;
71
71
  _this._onDidChangeExpansionState.fire(_this.isExpanded()); // initialize value
72
72
  _this._orientation = orientation;
73
- _this.element.classList.add('pane');
73
+ _this.element.classList.add('dv-pane');
74
74
  _this.addDisposables(_this.api.onWillVisibilityChange(function (event) {
75
75
  var isVisible = event.isVisible;
76
76
  var accessor = _this._params.accessor;
@@ -248,14 +248,14 @@ var PaneviewPanel = /** @class */ (function (_super) {
248
248
  PaneviewPanel.prototype.renderOnce = function () {
249
249
  this.header = document.createElement('div');
250
250
  this.header.tabIndex = 0;
251
- this.header.className = 'pane-header';
251
+ this.header.className = 'dv-pane-header';
252
252
  this.header.style.height = "".concat(this.headerSize, "px");
253
253
  this.header.style.lineHeight = "".concat(this.headerSize, "px");
254
254
  this.header.style.minHeight = "".concat(this.headerSize, "px");
255
255
  this.header.style.maxHeight = "".concat(this.headerSize, "px");
256
256
  this.element.appendChild(this.header);
257
257
  this.body = document.createElement('div');
258
- this.body.className = 'pane-body';
258
+ this.body.className = 'dv-pane-body';
259
259
  this.element.appendChild(this.body);
260
260
  };
261
261
  // TODO slightly hacky by-pass of the component to create a body and header component
@@ -117,7 +117,6 @@ var PopoutWindow = /** @class */ (function (_super) {
117
117
  window: this._window.value,
118
118
  });
119
119
  this._window.disposable.dispose();
120
- this._window.value.close();
121
120
  this._window = null;
122
121
  this._onDidClose.fire();
123
122
  }
@@ -152,7 +151,9 @@ var PopoutWindow = /** @class */ (function (_super) {
152
151
  }
153
152
  disposable = new lifecycle_1.CompositeDisposable();
154
153
  this._window = { value: externalWindow, disposable: disposable };
155
- disposable.addDisposables((0, events_1.addDisposableWindowListener)(window, 'beforeunload', function () {
154
+ disposable.addDisposables(lifecycle_1.Disposable.from(function () {
155
+ externalWindow.close();
156
+ }), (0, events_1.addDisposableWindowListener)(window, 'beforeunload', function () {
156
157
  /**
157
158
  * before the main window closes we should close this popup too
158
159
  * to be good citizens
@@ -169,7 +170,7 @@ var PopoutWindow = /** @class */ (function (_super) {
169
170
  id: this.target,
170
171
  window: externalWindow,
171
172
  });
172
- return [2 /*return*/, new Promise(function (resolve) {
173
+ return [2 /*return*/, new Promise(function (resolve, reject) {
173
174
  externalWindow.addEventListener('unload', function (e) {
174
175
  // if page fails to load before unloading
175
176
  // this.close();
@@ -178,21 +179,27 @@ var PopoutWindow = /** @class */ (function (_super) {
178
179
  /**
179
180
  * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event
180
181
  */
181
- var externalDocument = externalWindow.document;
182
- externalDocument.title = document.title;
183
- externalDocument.body.appendChild(container);
184
- (0, dom_1.addStyles)(externalDocument, window.document.styleSheets);
185
- /**
186
- * beforeunload must be registered after load for reasons I could not determine
187
- * otherwise the beforeunload event will not fire when the window is closed
188
- */
189
- (0, events_1.addDisposableWindowListener)(externalWindow, 'beforeunload', function () {
182
+ try {
183
+ var externalDocument = externalWindow.document;
184
+ externalDocument.title = document.title;
185
+ externalDocument.body.appendChild(container);
186
+ (0, dom_1.addStyles)(externalDocument, window.document.styleSheets);
190
187
  /**
191
- * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event
188
+ * beforeunload must be registered after load for reasons I could not determine
189
+ * otherwise the beforeunload event will not fire when the window is closed
192
190
  */
193
- _this.close();
194
- });
195
- resolve(container);
191
+ (0, events_1.addDisposableWindowListener)(externalWindow, 'beforeunload', function () {
192
+ /**
193
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event
194
+ */
195
+ _this.close();
196
+ });
197
+ resolve(container);
198
+ }
199
+ catch (err) {
200
+ // only except this is the DOM isn't setup. e.g. in a in correctly configured test
201
+ reject(err);
202
+ }
196
203
  });
197
204
  })];
198
205
  });
@@ -67,17 +67,17 @@ export interface ISplitViewDescriptor {
67
67
  }
68
68
  export declare class Splitview {
69
69
  private readonly container;
70
- private element;
71
- private viewContainer;
72
- private sashContainer;
73
- private viewItems;
74
- private sashes;
70
+ private readonly element;
71
+ private readonly viewContainer;
72
+ private readonly sashContainer;
73
+ private readonly viewItems;
74
+ private readonly sashes;
75
75
  private _orientation;
76
76
  private _size;
77
77
  private _orthogonalSize;
78
78
  private _contentSize;
79
79
  private _proportions;
80
- private proportionalLayout;
80
+ private readonly proportionalLayout;
81
81
  private _startSnappingEnabled;
82
82
  private _endSnappingEnabled;
83
83
  private _disabled;
@@ -285,10 +285,10 @@ var Splitview = /** @class */ (function () {
285
285
  var tmp = this.size;
286
286
  this.size = this.orthogonalSize;
287
287
  this.orthogonalSize = tmp;
288
- (0, dom_1.removeClasses)(this.element, 'horizontal', 'vertical');
288
+ (0, dom_1.removeClasses)(this.element, 'dv-horizontal', 'dv-vertical');
289
289
  this.element.classList.add(this.orientation == Orientation.HORIZONTAL
290
- ? 'horizontal'
291
- : 'vertical');
290
+ ? 'dv-horizontal'
291
+ : 'dv-vertical');
292
292
  },
293
293
  enumerable: false,
294
294
  configurable: true
@@ -360,11 +360,11 @@ var Splitview = /** @class */ (function () {
360
360
  });
361
361
  Splitview.prototype.style = function (styles) {
362
362
  if ((styles === null || styles === void 0 ? void 0 : styles.separatorBorder) === 'transparent') {
363
- (0, dom_1.removeClasses)(this.element, 'separator-border');
363
+ (0, dom_1.removeClasses)(this.element, 'dv-separator-border');
364
364
  this.element.style.removeProperty('--dv-separator-border');
365
365
  }
366
366
  else {
367
- (0, dom_1.addClasses)(this.element, 'separator-border');
367
+ (0, dom_1.addClasses)(this.element, 'dv-separator-border');
368
368
  if (styles === null || styles === void 0 ? void 0 : styles.separatorBorder) {
369
369
  this.element.style.setProperty('--dv-separator-border', styles.separatorBorder);
370
370
  }
@@ -437,7 +437,7 @@ var Splitview = /** @class */ (function () {
437
437
  if (size === void 0) { size = { type: 'distribute' }; }
438
438
  if (index === void 0) { index = this.viewItems.length; }
439
439
  var container = document.createElement('div');
440
- container.className = 'view';
440
+ container.className = 'dv-view';
441
441
  container.appendChild(view.element);
442
442
  var viewSize;
443
443
  if (typeof size === 'number') {
@@ -471,7 +471,7 @@ var Splitview = /** @class */ (function () {
471
471
  if (this.viewItems.length > 1) {
472
472
  //add sash
473
473
  var sash_1 = document.createElement('div');
474
- sash_1.className = 'sash';
474
+ sash_1.className = 'dv-sash';
475
475
  var onPointerStart_1 = function (event) {
476
476
  var e_3, _a;
477
477
  try {
@@ -808,7 +808,8 @@ var Splitview = /** @class */ (function () {
808
808
  var offset = i === 0 || visiblePanelsBeforeThisView === 0
809
809
  ? 0
810
810
  : viewLeftOffsets[i - 1] +
811
- (visiblePanelsBeforeThisView / sashCount) * marginReducedSize;
811
+ (visiblePanelsBeforeThisView / sashCount) *
812
+ marginReducedSize;
812
813
  if (i < _this.viewItems.length - 1) {
813
814
  // calculate sash position
814
815
  var newSize = view.visible
@@ -940,27 +941,27 @@ var Splitview = /** @class */ (function () {
940
941
  }
941
942
  };
942
943
  Splitview.prototype.updateSash = function (sash, state) {
943
- (0, dom_1.toggleClass)(sash.container, 'disabled', state === SashState.DISABLED);
944
- (0, dom_1.toggleClass)(sash.container, 'enabled', state === SashState.ENABLED);
945
- (0, dom_1.toggleClass)(sash.container, 'maximum', state === SashState.MAXIMUM);
946
- (0, dom_1.toggleClass)(sash.container, 'minimum', state === SashState.MINIMUM);
944
+ (0, dom_1.toggleClass)(sash.container, 'dv-disabled', state === SashState.DISABLED);
945
+ (0, dom_1.toggleClass)(sash.container, 'dv-enabled', state === SashState.ENABLED);
946
+ (0, dom_1.toggleClass)(sash.container, 'dv-maximum', state === SashState.MAXIMUM);
947
+ (0, dom_1.toggleClass)(sash.container, 'dv-minimum', state === SashState.MINIMUM);
947
948
  };
948
949
  Splitview.prototype.createViewContainer = function () {
949
950
  var element = document.createElement('div');
950
- element.className = 'view-container';
951
+ element.className = 'dv-view-container';
951
952
  return element;
952
953
  };
953
954
  Splitview.prototype.createSashContainer = function () {
954
955
  var element = document.createElement('div');
955
- element.className = 'sash-container';
956
+ element.className = 'dv-sash-container';
956
957
  return element;
957
958
  };
958
959
  Splitview.prototype.createContainer = function () {
959
960
  var element = document.createElement('div');
960
961
  var orientationClassname = this._orientation === Orientation.HORIZONTAL
961
- ? 'horizontal'
962
- : 'vertical';
963
- element.className = "split-view-container ".concat(orientationClassname);
962
+ ? 'dv-horizontal'
963
+ : 'dv-vertical';
964
+ element.className = "dv-split-view-container ".concat(orientationClassname);
964
965
  return element;
965
966
  };
966
967
  Splitview.prototype.dispose = function () {
@@ -59,10 +59,10 @@ export interface ISplitviewComponent extends IDisposable {
59
59
  * A high-level implementation of splitview that works using 'panels'
60
60
  */
61
61
  export declare class SplitviewComponent extends Resizable implements ISplitviewComponent {
62
- private _splitviewChangeDisposable;
62
+ private readonly _splitviewChangeDisposable;
63
63
  private _splitview;
64
64
  private _activePanel;
65
- private _panels;
65
+ private readonly _panels;
66
66
  private _options;
67
67
  private readonly _onDidLayoutfromJSON;
68
68
  readonly onDidLayoutFromJSON: Event<void>;
@@ -3,7 +3,7 @@ import { IView, LayoutPriority } from './splitview';
3
3
  export declare class ViewItem {
4
4
  container: HTMLElement;
5
5
  view: IView;
6
- private disposable;
6
+ private readonly disposable;
7
7
  private _size;
8
8
  private _cachedVisibleSize;
9
9
  set size(size: number);
package/dist/cjs/svg.js CHANGED
@@ -8,7 +8,7 @@ var createSvgElementFromPath = function (params) {
8
8
  svg.setAttributeNS(null, 'viewBox', params.viewbox);
9
9
  svg.setAttributeNS(null, 'aria-hidden', 'false');
10
10
  svg.setAttributeNS(null, 'focusable', 'false');
11
- svg.classList.add('dockview-svg');
11
+ svg.classList.add('dv-svg');
12
12
  var path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
13
13
  path.setAttributeNS(null, 'd', params.path);
14
14
  svg.appendChild(path);