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
@@ -7,30 +7,34 @@ export class DockviewGroupPanel extends GridviewPanel {
7
7
  get minimumWidth() {
8
8
  var _a;
9
9
  const activePanelMinimumWidth = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.minimumWidth;
10
- return typeof activePanelMinimumWidth === 'number'
11
- ? activePanelMinimumWidth
12
- : MINIMUM_DOCKVIEW_GROUP_PANEL_WIDTH;
10
+ if (typeof activePanelMinimumWidth === 'number') {
11
+ return activePanelMinimumWidth;
12
+ }
13
+ return super.__minimumWidth();
13
14
  }
14
15
  get minimumHeight() {
15
16
  var _a;
16
17
  const activePanelMinimumHeight = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.minimumHeight;
17
- return typeof activePanelMinimumHeight === 'number'
18
- ? activePanelMinimumHeight
19
- : MINIMUM_DOCKVIEW_GROUP_PANEL_HEIGHT;
18
+ if (typeof activePanelMinimumHeight === 'number') {
19
+ return activePanelMinimumHeight;
20
+ }
21
+ return super.__minimumHeight();
20
22
  }
21
23
  get maximumWidth() {
22
24
  var _a;
23
25
  const activePanelMaximumWidth = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.maximumWidth;
24
- return typeof activePanelMaximumWidth === 'number'
25
- ? activePanelMaximumWidth
26
- : Number.MAX_SAFE_INTEGER;
26
+ if (typeof activePanelMaximumWidth === 'number') {
27
+ return activePanelMaximumWidth;
28
+ }
29
+ return super.__maximumWidth();
27
30
  }
28
31
  get maximumHeight() {
29
32
  var _a;
30
33
  const activePanelMaximumHeight = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.maximumHeight;
31
- return typeof activePanelMaximumHeight === 'number'
32
- ? activePanelMaximumHeight
33
- : Number.MAX_SAFE_INTEGER;
34
+ if (typeof activePanelMaximumHeight === 'number') {
35
+ return activePanelMaximumHeight;
36
+ }
37
+ return super.__maximumHeight();
34
38
  }
35
39
  get panels() {
36
40
  return this._model.panels;
@@ -143,7 +143,7 @@ export declare class WillShowOverlayLocationEvent implements IDockviewEvent {
143
143
  }
144
144
  export declare class DockviewGroupPanelModel extends CompositeDisposable implements IDockviewGroupPanelModel {
145
145
  private readonly container;
146
- private accessor;
146
+ private readonly accessor;
147
147
  id: string;
148
148
  private readonly options;
149
149
  private readonly groupPanel;
@@ -158,11 +158,12 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
158
158
  private _prefixHeaderActions;
159
159
  private _location;
160
160
  private mostRecentlyUsed;
161
+ private _overwriteRenderContainer;
161
162
  private readonly _onDidChange;
162
163
  readonly onDidChange: Event<IViewSize | undefined>;
163
164
  private _width;
164
165
  private _height;
165
- private _panels;
166
+ private readonly _panels;
166
167
  private readonly _panelDisposables;
167
168
  private readonly _onMove;
168
169
  readonly onMove: Event<GroupMoveEvent>;
@@ -204,7 +205,6 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
204
205
  set location(value: DockviewGroupLocation);
205
206
  constructor(container: HTMLElement, accessor: DockviewComponent, id: string, options: GroupOptions, groupPanel: DockviewGroupPanel);
206
207
  focusContent(): void;
207
- private _overwriteRenderContainer;
208
208
  set renderContainer(value: OverlayRenderContainer | null);
209
209
  get renderContainer(): OverlayRenderContainer;
210
210
  initialize(): void;
@@ -74,7 +74,7 @@ export class WillShowOverlayLocationEvent {
74
74
  }
75
75
  export class DockviewGroupPanelModel extends CompositeDisposable {
76
76
  get element() {
77
- throw new Error('not supported');
77
+ throw new Error('dockview: not supported');
78
78
  }
79
79
  get activePanel() {
80
80
  return this._activePanel;
@@ -84,7 +84,7 @@ export class DockviewGroupPanelModel extends CompositeDisposable {
84
84
  }
85
85
  set locked(value) {
86
86
  this._locked = value;
87
- toggleClass(this.container, 'locked-groupview', value === 'no-drop-target' || value);
87
+ toggleClass(this.container, 'dv-locked-groupview', value === 'no-drop-target' || value);
88
88
  }
89
89
  get isActive() {
90
90
  return this._isGroupActive;
@@ -155,6 +155,7 @@ export class DockviewGroupPanelModel extends CompositeDisposable {
155
155
  this._locked = false;
156
156
  this._location = { type: 'grid' };
157
157
  this.mostRecentlyUsed = [];
158
+ this._overwriteRenderContainer = null;
158
159
  this._onDidChange = new Emitter();
159
160
  this.onDidChange = this._onDidChange.event;
160
161
  this._width = 0;
@@ -185,8 +186,7 @@ export class DockviewGroupPanelModel extends CompositeDisposable {
185
186
  this.onDidActivePanelChange = this._onDidActivePanelChange.event;
186
187
  this._onUnhandledDragOverEvent = new Emitter();
187
188
  this.onUnhandledDragOverEvent = this._onUnhandledDragOverEvent.event;
188
- this._overwriteRenderContainer = null;
189
- toggleClass(this.container, 'groupview', true);
189
+ toggleClass(this.container, 'dv-groupview', true);
190
190
  this._api = new DockviewApi(this.accessor);
191
191
  this.tabsContainer = new TabsContainer(this.accessor, this.groupPanel);
192
192
  this.contentContainer = new ContentContainer(this.accessor, this);
@@ -431,8 +431,8 @@ export class DockviewGroupPanelModel extends CompositeDisposable {
431
431
  return;
432
432
  }
433
433
  this._isGroupActive = isGroupActive;
434
- toggleClass(this.container, 'active-group', isGroupActive);
435
- toggleClass(this.container, 'inactive-group', !isGroupActive);
434
+ toggleClass(this.container, 'dv-active-group', isGroupActive);
435
+ toggleClass(this.container, 'dv-inactive-group', !isGroupActive);
436
436
  this.tabsContainer.setActive(this.isActive);
437
437
  if (!this._activePanel && this.panels.length > 0) {
438
438
  this.doSetActivePanel(this.panels[0]);
@@ -524,7 +524,7 @@ export class DockviewGroupPanelModel extends CompositeDisposable {
524
524
  }
525
525
  updateContainer() {
526
526
  var _a, _b;
527
- toggleClass(this.container, 'empty', this.isEmpty);
527
+ toggleClass(this.container, 'dv-empty', this.isEmpty);
528
528
  this.panels.forEach((panel) => panel.runEvents());
529
529
  if (this.isEmpty && !this.watermark) {
530
530
  const watermark = this.accessor.createWatermarkComponent();
@@ -37,10 +37,10 @@ export declare class DockviewPanel extends CompositeDisposable implements IDockv
37
37
  private _params?;
38
38
  private _title;
39
39
  private _renderer;
40
- private _minimumWidth;
41
- private _minimumHeight;
42
- private _maximumWidth;
43
- private _maximumHeight;
40
+ private readonly _minimumWidth;
41
+ private readonly _minimumHeight;
42
+ private readonly _maximumWidth;
43
+ private readonly _maximumHeight;
44
44
  get params(): Parameters | undefined;
45
45
  get title(): string | undefined;
46
46
  get group(): DockviewGroupPanel;
@@ -7,7 +7,7 @@ export interface IDockviewPanelModel extends IDisposable {
7
7
  readonly contentComponent: string;
8
8
  readonly tabComponent?: string;
9
9
  readonly content: IContentRenderer;
10
- readonly tab?: ITabRenderer;
10
+ readonly tab: ITabRenderer;
11
11
  update(event: PanelUpdateEvent): void;
12
12
  layout(width: number, height: number): void;
13
13
  init(params: GroupPanelPartInitParameters): void;
@@ -102,10 +102,18 @@ export interface PanelOptions<P extends object = Parameters> {
102
102
  type RelativePanel = {
103
103
  direction?: Direction;
104
104
  referencePanel: string | IDockviewPanel;
105
+ /**
106
+ * The index to place the panel within a group, only applicable if the placement is within an existing group
107
+ */
108
+ index?: number;
105
109
  };
106
110
  type RelativeGroup = {
107
111
  direction?: Direction;
108
112
  referenceGroup: string | DockviewGroupPanel;
113
+ /**
114
+ * The index to place the panel within a group, only applicable if the placement is within an existing group
115
+ */
116
+ index?: number;
109
117
  };
110
118
  type AbsolutePosition = {
111
119
  direction: Omit<Direction, 'within'>;
package/dist/esm/dom.d.ts CHANGED
@@ -1,5 +1,15 @@
1
1
  import { Event as DockviewEvent } from './events';
2
- import { IDisposable } from './lifecycle';
2
+ import { IDisposable, CompositeDisposable } from './lifecycle';
3
+ export interface OverflowEvent {
4
+ hasScrollX: boolean;
5
+ hasScrollY: boolean;
6
+ }
7
+ export declare class OverflowObserver extends CompositeDisposable {
8
+ private readonly _onDidChange;
9
+ readonly onDidChange: DockviewEvent<OverflowEvent>;
10
+ private _value;
11
+ constructor(el: HTMLElement);
12
+ }
3
13
  export declare function watchElementResize(element: HTMLElement, cb: (entry: ResizeObserverEntry) => void): IDisposable;
4
14
  export declare const removeClasses: (element: HTMLElement, ...classes: string[]) => void;
5
15
  export declare const addClasses: (element: HTMLElement, ...classes: string[]) => void;
package/dist/esm/dom.js CHANGED
@@ -1,5 +1,19 @@
1
1
  import { Emitter, addDisposableListener, addDisposableWindowListener, } from './events';
2
2
  import { CompositeDisposable } from './lifecycle';
3
+ export class OverflowObserver extends CompositeDisposable {
4
+ constructor(el) {
5
+ super();
6
+ this._onDidChange = new Emitter();
7
+ this.onDidChange = this._onDidChange.event;
8
+ this._value = null;
9
+ this.addDisposables(this._onDidChange, watchElementResize(el, (entry) => {
10
+ const hasScrollX = entry.target.scrollWidth > entry.target.clientWidth;
11
+ const hasScrollY = entry.target.scrollHeight > entry.target.clientHeight;
12
+ this._value = { hasScrollX, hasScrollY };
13
+ this._onDidChange.fire(this._value);
14
+ }));
15
+ }
16
+ }
3
17
  export function watchElementResize(element, cb) {
4
18
  const observer = new ResizeObserver((entires) => {
5
19
  /**
@@ -22,7 +22,7 @@ export declare abstract class BasePanelView<T extends PanelApiImpl> extends Comp
22
22
  readonly api: T;
23
23
  private _height;
24
24
  private _width;
25
- private _element;
25
+ private readonly _element;
26
26
  protected part?: IFrameworkPart;
27
27
  protected _params?: PanelInitParameters;
28
28
  protected abstract getComponent(): IFrameworkPart;
@@ -8,7 +8,7 @@ export declare class BranchNode extends CompositeDisposable implements IView {
8
8
  readonly proportionalLayout: boolean;
9
9
  readonly styles: ISplitviewStyles | undefined;
10
10
  readonly element: HTMLElement;
11
- private splitview;
11
+ private readonly splitview;
12
12
  private _orthogonalSize;
13
13
  private _size;
14
14
  private _childrenDisposable;
@@ -107,7 +107,7 @@ export class BranchNode extends CompositeDisposable {
107
107
  this._orthogonalSize = orthogonalSize;
108
108
  this._size = size;
109
109
  this.element = document.createElement('div');
110
- this.element.className = 'branch-node';
110
+ this.element.className = 'dv-branch-node';
111
111
  if (!childDescriptors) {
112
112
  this.splitview = new Splitview(this.element, {
113
113
  orientation: this.orientation,
@@ -64,7 +64,7 @@ export function getGridLocation(element) {
64
64
  if (!parentElement) {
65
65
  throw new Error('Invalid grid element');
66
66
  }
67
- if (/\bgrid-view\b/.test(parentElement.className)) {
67
+ if (/\bdv-grid-view\b/.test(parentElement.className)) {
68
68
  return [];
69
69
  }
70
70
  const index = indexInParent(parentElement);
@@ -414,7 +414,7 @@ export class Gridview {
414
414
  this._onDidMaximizedNodeChange = new Emitter();
415
415
  this.onDidMaximizedNodeChange = this._onDidMaximizedNodeChange.event;
416
416
  this.element = document.createElement('div');
417
- this.element.className = 'grid-view';
417
+ this.element.className = 'dv-grid-view';
418
418
  this._locked = locked !== null && locked !== void 0 ? locked : false;
419
419
  this._margin = margin !== null && margin !== void 0 ? margin : 0;
420
420
  this.root = new BranchNode(orientation, proportionalLayout, styles, 0, 0, this.locked, this.margin);
@@ -49,6 +49,10 @@ export declare abstract class GridviewPanel<T extends GridviewPanelApiImpl = Gri
49
49
  get minimumHeight(): number;
50
50
  get maximumHeight(): number;
51
51
  get maximumWidth(): number;
52
+ protected __minimumWidth(): number;
53
+ protected __maximumWidth(): number;
54
+ protected __minimumHeight(): number;
55
+ protected __maximumHeight(): number;
52
56
  get isActive(): boolean;
53
57
  get isVisible(): boolean;
54
58
  constructor(id: string, component: string, options?: {
@@ -9,6 +9,34 @@ export class GridviewPanel extends BasePanelView {
9
9
  return this._snap;
10
10
  }
11
11
  get minimumWidth() {
12
+ /**
13
+ * defer to protected function to allow subclasses to override easily.
14
+ * see https://github.com/microsoft/TypeScript/issues/338
15
+ */
16
+ return this.__minimumWidth();
17
+ }
18
+ get minimumHeight() {
19
+ /**
20
+ * defer to protected function to allow subclasses to override easily.
21
+ * see https://github.com/microsoft/TypeScript/issues/338
22
+ */
23
+ return this.__minimumHeight();
24
+ }
25
+ get maximumHeight() {
26
+ /**
27
+ * defer to protected function to allow subclasses to override easily.
28
+ * see https://github.com/microsoft/TypeScript/issues/338
29
+ */
30
+ return this.__maximumHeight();
31
+ }
32
+ get maximumWidth() {
33
+ /**
34
+ * defer to protected function to allow subclasses to override easily.
35
+ * see https://github.com/microsoft/TypeScript/issues/338
36
+ */
37
+ return this.__maximumWidth();
38
+ }
39
+ __minimumWidth() {
12
40
  const width = typeof this._minimumWidth === 'function'
13
41
  ? this._minimumWidth()
14
42
  : this._minimumWidth;
@@ -18,7 +46,17 @@ export class GridviewPanel extends BasePanelView {
18
46
  }
19
47
  return width;
20
48
  }
21
- get minimumHeight() {
49
+ __maximumWidth() {
50
+ const width = typeof this._maximumWidth === 'function'
51
+ ? this._maximumWidth()
52
+ : this._maximumWidth;
53
+ if (width !== this._evaluatedMaximumWidth) {
54
+ this._evaluatedMaximumWidth = width;
55
+ this.updateConstraints();
56
+ }
57
+ return width;
58
+ }
59
+ __minimumHeight() {
22
60
  const height = typeof this._minimumHeight === 'function'
23
61
  ? this._minimumHeight()
24
62
  : this._minimumHeight;
@@ -28,7 +66,7 @@ export class GridviewPanel extends BasePanelView {
28
66
  }
29
67
  return height;
30
68
  }
31
- get maximumHeight() {
69
+ __maximumHeight() {
32
70
  const height = typeof this._maximumHeight === 'function'
33
71
  ? this._maximumHeight()
34
72
  : this._maximumHeight;
@@ -38,16 +76,6 @@ export class GridviewPanel extends BasePanelView {
38
76
  }
39
77
  return height;
40
78
  }
41
- get maximumWidth() {
42
- const width = typeof this._maximumWidth === 'function'
43
- ? this._maximumWidth()
44
- : this._maximumWidth;
45
- if (width !== this._evaluatedMaximumWidth) {
46
- this._evaluatedMaximumWidth = width;
47
- this.updateConstraints();
48
- }
49
- return width;
50
- }
51
79
  get isActive() {
52
80
  return this.api.isActive;
53
81
  }
@@ -11,7 +11,7 @@ export declare class LeafNode implements IView {
11
11
  }>;
12
12
  private _size;
13
13
  private _orthogonalSize;
14
- private _disposable;
14
+ private readonly _disposable;
15
15
  private get minimumWidth();
16
16
  private get maximumWidth();
17
17
  private get minimumHeight();
@@ -1,20 +1,19 @@
1
- export * from './dnd/dataTransfer';
1
+ export { getPaneData, getPanelData, PaneTransfer, PanelTransfer, } from './dnd/dataTransfer';
2
2
  /**
3
3
  * Events, Emitters and Disposables are very common concepts that many codebases will contain, however we need
4
4
  * to export them for dockview framework packages to use.
5
5
  * To be a good citizen these are exported with a `Dockview` prefix to prevent accidental use by others.
6
6
  */
7
7
  export { Emitter as DockviewEmitter, Event as DockviewEvent } from './events';
8
- export { IDisposable as IDockviewDisposable, MutableDisposable as DockviewMutableDisposable, CompositeDisposable as DockviewCompositeDisposable, Disposable as DockviewDisposable, } from './lifecycle';
8
+ export { IDisposable as DockviewIDisposable, MutableDisposable as DockviewMutableDisposable, CompositeDisposable as DockviewCompositeDisposable, Disposable as DockviewDisposable, } from './lifecycle';
9
9
  export * from './panel/types';
10
- export * from './panel/componentFactory';
11
10
  export * from './splitview/splitview';
12
11
  export { SplitviewComponentOptions, PanelViewInitParameters, } from './splitview/options';
13
12
  export * from './paneview/paneview';
14
13
  export * from './gridview/gridview';
15
14
  export { GridviewComponentOptions } from './gridview/options';
16
15
  export * from './gridview/baseComponentGridview';
17
- export * from './paneview/draggablePaneviewPanel';
16
+ export { DraggablePaneviewPanel, PaneviewDropEvent, } from './paneview/draggablePaneviewPanel';
18
17
  export * from './dockview/components/panel/content';
19
18
  export * from './dockview/components/tab/tab';
20
19
  export * from './dockview/dockviewGroupPanelModel';
@@ -24,24 +23,24 @@ export * from './dockview/dockviewGroupPanel';
24
23
  export { IGroupPanelBaseProps, IDockviewPanelHeaderProps, IDockviewPanelProps, IDockviewHeaderActionsProps, IGroupHeaderProps, IWatermarkPanelProps, DockviewReadyEvent, } from './dockview/framework';
25
24
  export * from './dockview/options';
26
25
  export * from './dockview/dockviewPanel';
27
- export * from './dockview/components/tab/defaultTab';
28
- export * from './dockview/deserializer';
26
+ export { DefaultTab } from './dockview/components/tab/defaultTab';
27
+ export { DefaultDockviewDeserialzier, IPanelDeserializer, } from './dockview/deserializer';
29
28
  export * from './dockview/dockviewComponent';
30
29
  export * from './gridview/gridviewComponent';
31
30
  export * from './splitview/splitviewComponent';
32
31
  export * from './paneview/paneviewComponent';
33
32
  export { PaneviewComponentOptions } from './paneview/options';
34
33
  export * from './gridview/gridviewPanel';
35
- export * from './splitview/splitviewPanel';
34
+ export { SplitviewPanel, ISplitviewPanel } from './splitview/splitviewPanel';
36
35
  export * from './paneview/paneviewPanel';
37
36
  export * from './dockview/types';
38
37
  export { DockviewPanelRenderer } from './overlay/overlayRenderContainer';
39
38
  export { Position, positionToDirection, directionToPosition, MeasuredValue, DroptargetOverlayModel, } from './dnd/droptarget';
40
39
  export { FocusEvent, PanelDimensionChangeEvent, VisibilityEvent, ActiveEvent, PanelApi, } from './api/panelApi';
41
40
  export { SizeEvent, GridviewPanelApi, GridConstraintChangeEvent, } from './api/gridviewPanelApi';
42
- export { TitleEvent, RendererChangedEvent, DockviewPanelApi, } from './api/dockviewPanelApi';
41
+ export { TitleEvent, RendererChangedEvent, DockviewPanelApi, DockviewPanelMoveParams, } from './api/dockviewPanelApi';
43
42
  export { PanelSizeEvent, PanelConstraintChangeEvent, SplitviewPanelApi, } from './api/splitviewPanelApi';
44
43
  export { ExpansionEvent, PaneviewPanelApi } from './api/paneviewPanelApi';
45
- export { DockviewGroupPanelApi, DockviewGroupPanelFloatingChangeEvent, } from './api/dockviewGroupPanelApi';
44
+ export { DockviewGroupPanelApi, DockviewGroupPanelFloatingChangeEvent, DockviewGroupMoveParams, } from './api/dockviewGroupPanelApi';
46
45
  export { CommonApi, SplitviewApi, PaneviewApi, GridviewApi, DockviewApi, } from './api/component.api';
47
46
  export { createDockview, createGridview, createPaneview, createSplitview, } from './api/entryPoints';
package/dist/esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export * from './dnd/dataTransfer';
1
+ export { getPaneData, getPanelData, PaneTransfer, PanelTransfer, } from './dnd/dataTransfer';
2
2
  /**
3
3
  * Events, Emitters and Disposables are very common concepts that many codebases will contain, however we need
4
4
  * to export them for dockview framework packages to use.
@@ -7,12 +7,11 @@ export * from './dnd/dataTransfer';
7
7
  export { Emitter as DockviewEmitter, Event as DockviewEvent } from './events';
8
8
  export { MutableDisposable as DockviewMutableDisposable, CompositeDisposable as DockviewCompositeDisposable, Disposable as DockviewDisposable, } from './lifecycle';
9
9
  export * from './panel/types';
10
- export * from './panel/componentFactory';
11
10
  export * from './splitview/splitview';
12
11
  export * from './paneview/paneview';
13
12
  export * from './gridview/gridview';
14
13
  export * from './gridview/baseComponentGridview';
15
- export * from './paneview/draggablePaneviewPanel';
14
+ export { DraggablePaneviewPanel, } from './paneview/draggablePaneviewPanel';
16
15
  export * from './dockview/components/panel/content';
17
16
  export * from './dockview/components/tab/tab';
18
17
  export * from './dockview/dockviewGroupPanelModel';
@@ -20,14 +19,14 @@ export * from './dockview/types';
20
19
  export * from './dockview/dockviewGroupPanel';
21
20
  export * from './dockview/options';
22
21
  export * from './dockview/dockviewPanel';
23
- export * from './dockview/components/tab/defaultTab';
24
- export * from './dockview/deserializer';
22
+ export { DefaultTab } from './dockview/components/tab/defaultTab';
23
+ export { DefaultDockviewDeserialzier, } from './dockview/deserializer';
25
24
  export * from './dockview/dockviewComponent';
26
25
  export * from './gridview/gridviewComponent';
27
26
  export * from './splitview/splitviewComponent';
28
27
  export * from './paneview/paneviewComponent';
29
28
  export * from './gridview/gridviewPanel';
30
- export * from './splitview/splitviewPanel';
29
+ export { SplitviewPanel } from './splitview/splitviewPanel';
31
30
  export * from './paneview/paneviewPanel';
32
31
  export * from './dockview/types';
33
32
  export { positionToDirection, directionToPosition, } from './dnd/droptarget';
@@ -3,13 +3,13 @@ import { CompositeDisposable } from '../lifecycle';
3
3
  import { AnchoredBox } from '../types';
4
4
  export declare class Overlay extends CompositeDisposable {
5
5
  private readonly options;
6
- private _element;
6
+ private readonly _element;
7
7
  private readonly _onDidChange;
8
8
  readonly onDidChange: Event<void>;
9
9
  private readonly _onDidChangeEnd;
10
10
  readonly onDidChangeEnd: Event<void>;
11
- private static MINIMUM_HEIGHT;
12
- private static MINIMUM_WIDTH;
11
+ private static readonly MINIMUM_HEIGHT;
12
+ private static readonly MINIMUM_WIDTH;
13
13
  private verticalAlignment;
14
14
  private horiziontalAlignment;
15
15
  set minimumInViewportWidth(value: number | undefined);
@@ -9,7 +9,7 @@ export declare class DefaultHeader extends CompositeDisposable implements IPaneH
9
9
  private readonly _element;
10
10
  private readonly _content;
11
11
  private readonly _expander;
12
- private apiRef;
12
+ private readonly apiRef;
13
13
  get element(): HTMLElement;
14
14
  constructor();
15
15
  init(params: PanePanelInitParameter & {
@@ -11,12 +11,14 @@ export class DefaultHeader extends CompositeDisposable {
11
11
  this._expandedIcon = createExpandMoreButton();
12
12
  this._collapsedIcon = createChevronRightButton();
13
13
  this.disposable = new MutableDisposable();
14
- this.apiRef = { api: null };
14
+ this.apiRef = {
15
+ api: null,
16
+ };
15
17
  this._element = document.createElement('div');
16
- this.element.className = 'default-header';
18
+ this.element.className = 'dv-default-header';
17
19
  this._content = document.createElement('span');
18
20
  this._expander = document.createElement('div');
19
- this._expander.className = 'dockview-pane-header-icon';
21
+ this._expander.className = 'dv-pane-header-icon';
20
22
  this.element.appendChild(this._expander);
21
23
  this.element.appendChild(this._content);
22
24
  this.addDisposables(addDisposableListener(this._element, 'click', () => {
@@ -7,10 +7,10 @@ interface PaneItem {
7
7
  disposable: IDisposable;
8
8
  }
9
9
  export declare class Paneview extends CompositeDisposable implements IDisposable {
10
- private element;
11
- private splitview;
10
+ private readonly element;
11
+ private readonly splitview;
12
12
  private paneItems;
13
- private _orientation;
13
+ private readonly _orientation;
14
14
  private animationTimer;
15
15
  private skipAnimation;
16
16
  private readonly _onDidChange;
@@ -33,7 +33,7 @@ export class Paneview extends CompositeDisposable {
33
33
  this.onDidChange = this._onDidChange.event;
34
34
  this._orientation = (_a = options.orientation) !== null && _a !== void 0 ? _a : Orientation.VERTICAL;
35
35
  this.element = document.createElement('div');
36
- this.element.className = 'pane-container';
36
+ this.element.className = 'dv-pane-container';
37
37
  container.appendChild(this.element);
38
38
  this.splitview = new Splitview(this.element, {
39
39
  orientation: this._orientation,
@@ -125,10 +125,10 @@ export class Paneview extends CompositeDisposable {
125
125
  clearTimeout(this.animationTimer);
126
126
  this.animationTimer = undefined;
127
127
  }
128
- addClasses(this.element, 'animated');
128
+ addClasses(this.element, 'dv-animated');
129
129
  this.animationTimer = setTimeout(() => {
130
130
  this.animationTimer = undefined;
131
- removeClasses(this.element, 'animated');
131
+ removeClasses(this.element, 'dv-animated');
132
132
  }, 200);
133
133
  }
134
134
  dispose() {
@@ -90,8 +90,8 @@ export interface IPaneviewComponent extends IDisposable {
90
90
  export declare class PaneviewComponent extends Resizable implements IPaneviewComponent {
91
91
  private readonly _id;
92
92
  private _options;
93
- private _disposable;
94
- private _viewDisposables;
93
+ private readonly _disposable;
94
+ private readonly _viewDisposables;
95
95
  private _paneview;
96
96
  private readonly _onDidLayoutfromJSON;
97
97
  readonly onDidLayoutFromJSON: Event<void>;
@@ -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;
@@ -71,7 +71,7 @@ export class PaneviewPanel extends BasePanelView {
71
71
  this._headerVisible = isHeaderVisible;
72
72
  this._onDidChangeExpansionState.fire(this.isExpanded()); // initialize value
73
73
  this._orientation = orientation;
74
- this.element.classList.add('pane');
74
+ this.element.classList.add('dv-pane');
75
75
  this.addDisposables(this.api.onWillVisibilityChange((event) => {
76
76
  const { isVisible } = event;
77
77
  const { accessor } = this._params;
@@ -168,14 +168,14 @@ export class PaneviewPanel extends BasePanelView {
168
168
  renderOnce() {
169
169
  this.header = document.createElement('div');
170
170
  this.header.tabIndex = 0;
171
- this.header.className = 'pane-header';
171
+ this.header.className = 'dv-pane-header';
172
172
  this.header.style.height = `${this.headerSize}px`;
173
173
  this.header.style.lineHeight = `${this.headerSize}px`;
174
174
  this.header.style.minHeight = `${this.headerSize}px`;
175
175
  this.header.style.maxHeight = `${this.headerSize}px`;
176
176
  this.element.appendChild(this.header);
177
177
  this.body = document.createElement('div');
178
- this.body.className = 'pane-body';
178
+ this.body.className = 'dv-pane-body';
179
179
  this.element.appendChild(this.body);
180
180
  }
181
181
  // TODO slightly hacky by-pass of the component to create a body and header component