dockview-core 5.1.0 → 6.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.
- package/README.md +3 -1
- package/dist/cjs/api/component.api.d.ts +93 -1
- package/dist/cjs/api/component.api.js +146 -0
- package/dist/cjs/api/dockviewGroupPanelApi.d.ts +26 -0
- package/dist/cjs/api/dockviewGroupPanelApi.js +21 -1
- package/dist/cjs/api/entryPoints.js +4 -5
- package/dist/cjs/array.js +7 -8
- package/dist/cjs/dnd/dataTransfer.d.ts +2 -1
- package/dist/cjs/dnd/dataTransfer.js +5 -4
- package/dist/cjs/dnd/droptarget.d.ts +12 -0
- package/dist/cjs/dnd/droptarget.js +38 -10
- package/dist/cjs/dnd/ghost.js +1 -2
- package/dist/cjs/dockview/components/panel/content.js +5 -1
- package/dist/cjs/dockview/components/popupService.d.ts +9 -2
- package/dist/cjs/dockview/components/popupService.js +24 -9
- package/dist/cjs/dockview/components/tab/tab.d.ts +8 -1
- package/dist/cjs/dockview/components/tab/tab.js +94 -6
- package/dist/cjs/dockview/components/titlebar/tabGroupChip.d.ts +30 -0
- package/dist/cjs/dockview/components/titlebar/tabGroupChip.js +95 -0
- package/dist/cjs/dockview/components/titlebar/tabGroupIndicator.d.ts +71 -0
- package/dist/cjs/dockview/components/titlebar/tabGroupIndicator.js +471 -0
- package/dist/cjs/dockview/components/titlebar/tabGroups.d.ts +57 -0
- package/dist/cjs/dockview/components/titlebar/tabGroups.js +612 -0
- package/dist/cjs/dockview/components/titlebar/tabOverflowControl.js +1 -2
- package/dist/cjs/dockview/components/titlebar/tabs.d.ts +67 -0
- package/dist/cjs/dockview/components/titlebar/tabs.js +1464 -34
- package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts +6 -0
- package/dist/cjs/dockview/components/titlebar/tabsContainer.js +132 -14
- package/dist/cjs/dockview/contextMenu.d.ts +10 -0
- package/dist/cjs/dockview/contextMenu.js +298 -0
- package/dist/cjs/dockview/dockviewComponent.d.ts +60 -3
- package/dist/cjs/dockview/dockviewComponent.js +712 -126
- package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +83 -0
- package/dist/cjs/dockview/dockviewGroupPanelModel.js +619 -27
- package/dist/cjs/dockview/dockviewShell.d.ts +128 -0
- package/dist/cjs/dockview/dockviewShell.js +681 -0
- package/dist/cjs/dockview/events.d.ts +9 -0
- package/dist/cjs/dockview/framework.d.ts +14 -0
- package/dist/cjs/dockview/options.d.ts +97 -2
- package/dist/cjs/dockview/options.js +10 -5
- package/dist/cjs/dockview/tabGroup.d.ts +99 -0
- package/dist/cjs/dockview/tabGroup.js +219 -0
- package/dist/cjs/dockview/tabGroupAccent.d.ts +65 -0
- package/dist/cjs/dockview/tabGroupAccent.js +128 -0
- package/dist/cjs/dockview/theme.d.ts +56 -1
- package/dist/cjs/dockview/theme.js +103 -6
- package/dist/cjs/dockview/types.d.ts +2 -0
- package/dist/cjs/dom.js +19 -19
- package/dist/cjs/events.js +2 -2
- package/dist/cjs/gridview/baseComponentGridview.d.ts +1 -0
- package/dist/cjs/gridview/baseComponentGridview.js +6 -3
- package/dist/cjs/gridview/gridview.js +7 -7
- package/dist/cjs/index.d.ts +8 -5
- package/dist/cjs/index.js +6 -1
- package/dist/cjs/popoutWindow.js +3 -3
- package/dist/cjs/splitview/splitviewPanel.d.ts +1 -1
- package/dist/dockview-core.js +5188 -729
- package/dist/dockview-core.min.js +2 -2
- package/dist/dockview-core.min.js.map +1 -1
- package/dist/dockview-core.min.noStyle.js +2 -2
- package/dist/dockview-core.min.noStyle.js.map +1 -1
- package/dist/dockview-core.noStyle.js +5186 -727
- package/dist/esm/api/component.api.d.ts +93 -1
- package/dist/esm/api/component.api.js +118 -0
- package/dist/esm/api/dockviewGroupPanelApi.d.ts +26 -0
- package/dist/esm/api/dockviewGroupPanelApi.js +21 -1
- package/dist/esm/dnd/dataTransfer.d.ts +2 -1
- package/dist/esm/dnd/dataTransfer.js +2 -1
- package/dist/esm/dnd/droptarget.d.ts +12 -0
- package/dist/esm/dnd/droptarget.js +33 -5
- package/dist/esm/dockview/components/panel/content.js +5 -1
- package/dist/esm/dockview/components/popupService.d.ts +9 -2
- package/dist/esm/dockview/components/popupService.js +23 -9
- package/dist/esm/dockview/components/tab/tab.d.ts +8 -1
- package/dist/esm/dockview/components/tab/tab.js +96 -6
- package/dist/esm/dockview/components/titlebar/tabGroupChip.d.ts +30 -0
- package/dist/esm/dockview/components/titlebar/tabGroupChip.js +68 -0
- package/dist/esm/dockview/components/titlebar/tabGroupIndicator.d.ts +71 -0
- package/dist/esm/dockview/components/titlebar/tabGroupIndicator.js +354 -0
- package/dist/esm/dockview/components/titlebar/tabGroups.d.ts +57 -0
- package/dist/esm/dockview/components/titlebar/tabGroups.js +406 -0
- package/dist/esm/dockview/components/titlebar/tabs.d.ts +67 -0
- package/dist/esm/dockview/components/titlebar/tabs.js +1212 -25
- package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts +6 -0
- package/dist/esm/dockview/components/titlebar/tabsContainer.js +105 -7
- package/dist/esm/dockview/contextMenu.d.ts +10 -0
- package/dist/esm/dockview/contextMenu.js +213 -0
- package/dist/esm/dockview/dockviewComponent.d.ts +60 -3
- package/dist/esm/dockview/dockviewComponent.js +460 -35
- package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +83 -0
- package/dist/esm/dockview/dockviewGroupPanelModel.js +460 -4
- package/dist/esm/dockview/dockviewShell.d.ts +128 -0
- package/dist/esm/dockview/dockviewShell.js +621 -0
- package/dist/esm/dockview/events.d.ts +9 -0
- package/dist/esm/dockview/framework.d.ts +14 -0
- package/dist/esm/dockview/options.d.ts +97 -2
- package/dist/esm/dockview/options.js +5 -0
- package/dist/esm/dockview/tabGroup.d.ts +99 -0
- package/dist/esm/dockview/tabGroup.js +144 -0
- package/dist/esm/dockview/tabGroupAccent.d.ts +65 -0
- package/dist/esm/dockview/tabGroupAccent.js +116 -0
- package/dist/esm/dockview/theme.d.ts +56 -1
- package/dist/esm/dockview/theme.js +102 -5
- package/dist/esm/dockview/types.d.ts +2 -0
- package/dist/esm/dom.js +1 -1
- package/dist/esm/gridview/baseComponentGridview.d.ts +1 -0
- package/dist/esm/gridview/baseComponentGridview.js +4 -1
- package/dist/esm/index.d.ts +8 -5
- package/dist/esm/index.js +2 -1
- package/dist/esm/popoutWindow.js +1 -1
- package/dist/esm/splitview/splitviewPanel.d.ts +1 -1
- package/dist/package/main.cjs.js +5182 -753
- package/dist/package/main.cjs.min.js +2 -2
- package/dist/package/main.esm.min.mjs +2 -2
- package/dist/package/main.esm.mjs +5168 -753
- package/dist/styles/dockview.css +1968 -195
- package/package.json +5 -1
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { Event } from '../events';
|
|
2
|
+
import { IDisposable } from '../lifecycle';
|
|
3
|
+
import { IView, LayoutPriority } from '../splitview/splitview';
|
|
4
|
+
export type EdgeGroupPosition = 'top' | 'bottom' | 'left' | 'right';
|
|
5
|
+
export interface EdgeGroupOptions {
|
|
6
|
+
id: string;
|
|
7
|
+
initialSize?: number;
|
|
8
|
+
minimumSize?: number;
|
|
9
|
+
maximumSize?: number;
|
|
10
|
+
collapsedSize?: number;
|
|
11
|
+
collapsed?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface SerializedEdgeGroups {
|
|
14
|
+
top?: {
|
|
15
|
+
size: number;
|
|
16
|
+
visible: boolean;
|
|
17
|
+
collapsed?: boolean;
|
|
18
|
+
group?: unknown;
|
|
19
|
+
};
|
|
20
|
+
bottom?: {
|
|
21
|
+
size: number;
|
|
22
|
+
visible: boolean;
|
|
23
|
+
collapsed?: boolean;
|
|
24
|
+
group?: unknown;
|
|
25
|
+
};
|
|
26
|
+
left?: {
|
|
27
|
+
size: number;
|
|
28
|
+
visible: boolean;
|
|
29
|
+
collapsed?: boolean;
|
|
30
|
+
group?: unknown;
|
|
31
|
+
};
|
|
32
|
+
right?: {
|
|
33
|
+
size: number;
|
|
34
|
+
visible: boolean;
|
|
35
|
+
collapsed?: boolean;
|
|
36
|
+
group?: unknown;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Minimal interface for a edge group host.
|
|
41
|
+
* Avoids circular imports by not referencing DockviewGroupPanel directly.
|
|
42
|
+
*/
|
|
43
|
+
export interface IEdgeGroupHost {
|
|
44
|
+
readonly element: HTMLElement;
|
|
45
|
+
layout(width: number, height: number): void;
|
|
46
|
+
}
|
|
47
|
+
export declare class EdgeGroupView implements IView {
|
|
48
|
+
private readonly _group;
|
|
49
|
+
private readonly _orientation;
|
|
50
|
+
private readonly _onDidChange;
|
|
51
|
+
readonly onDidChange: Event<{
|
|
52
|
+
size?: number;
|
|
53
|
+
orthogonalSize?: number;
|
|
54
|
+
}>;
|
|
55
|
+
readonly snap = false;
|
|
56
|
+
readonly priority = LayoutPriority.Low;
|
|
57
|
+
private _isCollapsed;
|
|
58
|
+
private _lastExpandedSize;
|
|
59
|
+
private _collapsedSize;
|
|
60
|
+
private _expandedMinimumSize;
|
|
61
|
+
private readonly _expandedMaximumSize;
|
|
62
|
+
get minimumSize(): number;
|
|
63
|
+
get maximumSize(): number;
|
|
64
|
+
get element(): HTMLElement;
|
|
65
|
+
get isCollapsed(): boolean;
|
|
66
|
+
get lastExpandedSize(): number;
|
|
67
|
+
get collapsedSize(): number;
|
|
68
|
+
constructor(options: EdgeGroupOptions, group: IEdgeGroupHost, orientation: 'horizontal' | 'vertical');
|
|
69
|
+
layout(size: number, orthogonalSize: number): void;
|
|
70
|
+
setCollapsed(collapsed: boolean): void;
|
|
71
|
+
setVisible(_visible: boolean): void;
|
|
72
|
+
/**
|
|
73
|
+
* Restore the last-expanded size from serialized state without triggering
|
|
74
|
+
* a layout. Must be called before setCollapsed(true) during fromJSON so
|
|
75
|
+
* that expanding after deserialization restores the correct size.
|
|
76
|
+
*/
|
|
77
|
+
restoreExpandedSize(size: number): void;
|
|
78
|
+
/**
|
|
79
|
+
* Apply new effective collapsed and expanded-minimum sizes after a theme
|
|
80
|
+
* or gap change. The caller (ShellManager) is responsible for computing
|
|
81
|
+
* the correct values from the original config and the new gap.
|
|
82
|
+
*/
|
|
83
|
+
updateCollapsedSize(newCollapsedSize: number, newExpandedMinimumSize: number): void;
|
|
84
|
+
dispose(): void;
|
|
85
|
+
}
|
|
86
|
+
export declare class ShellManager implements IDisposable {
|
|
87
|
+
private readonly _outerSplitview;
|
|
88
|
+
private readonly _middleColumn;
|
|
89
|
+
private readonly _shellElement;
|
|
90
|
+
private _topView;
|
|
91
|
+
private _bottomView;
|
|
92
|
+
private _leftView;
|
|
93
|
+
private _rightView;
|
|
94
|
+
private _leftIndex;
|
|
95
|
+
private _middleIndex;
|
|
96
|
+
private _rightIndex;
|
|
97
|
+
private readonly _disposables;
|
|
98
|
+
private readonly _viewConfigs;
|
|
99
|
+
private _currentWidth;
|
|
100
|
+
private _currentHeight;
|
|
101
|
+
private _gap;
|
|
102
|
+
private _defaultCollapsedSize;
|
|
103
|
+
constructor(container: HTMLElement, dockviewElement: HTMLElement, layoutGrid: (width: number, height: number) => void, gap?: number, defaultCollapsedSize?: number);
|
|
104
|
+
get element(): HTMLElement;
|
|
105
|
+
/**
|
|
106
|
+
* Add an edge group view at the given position. The view wraps the
|
|
107
|
+
* provided group element inside the shell's splitview layout.
|
|
108
|
+
* Throws if a group at this position is already registered.
|
|
109
|
+
*/
|
|
110
|
+
addEdgeView(position: EdgeGroupPosition, options: EdgeGroupOptions, group: IEdgeGroupHost): EdgeGroupView;
|
|
111
|
+
layout(width: number, height: number): void;
|
|
112
|
+
/**
|
|
113
|
+
* Called when the active theme changes. Updates splitview margins and
|
|
114
|
+
* edge-group collapsed sizes so the layout matches the new theme's gap
|
|
115
|
+
* and tab-strip dimensions.
|
|
116
|
+
*/
|
|
117
|
+
updateTheme(gap: number, defaultCollapsedSize: number): void;
|
|
118
|
+
removeEdgeView(position: EdgeGroupPosition): void;
|
|
119
|
+
hasEdgeGroup(position: EdgeGroupPosition): boolean;
|
|
120
|
+
setEdgeGroupVisible(position: EdgeGroupPosition, visible: boolean): void;
|
|
121
|
+
isEdgeGroupVisible(position: EdgeGroupPosition): boolean;
|
|
122
|
+
setEdgeGroupCollapsed(position: EdgeGroupPosition, collapsed: boolean): void;
|
|
123
|
+
isEdgeGroupCollapsed(position: EdgeGroupPosition): boolean;
|
|
124
|
+
private _getView;
|
|
125
|
+
toJSON(): SerializedEdgeGroups;
|
|
126
|
+
fromJSON(data: SerializedEdgeGroups): void;
|
|
127
|
+
dispose(): void;
|
|
128
|
+
}
|