dockview-core 5.2.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 +6 -1
- package/dist/cjs/dockview/components/tab/tab.js +81 -9
- 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 +59 -0
- package/dist/cjs/dockview/components/titlebar/tabs.js +1227 -144
- 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 +92 -10
- package/dist/cjs/dockview/options.js +10 -7
- 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 +6942 -2777
- 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 +6940 -2775
- 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 +6 -1
- package/dist/esm/dockview/components/tab/tab.js +83 -9
- 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 +59 -0
- package/dist/esm/dockview/components/titlebar/tabs.js +1011 -99
- 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 +92 -10
- package/dist/esm/dockview/options.js +5 -2
- 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 +6936 -2801
- package/dist/package/main.cjs.min.js +2 -2
- package/dist/package/main.esm.min.mjs +2 -2
- package/dist/package/main.esm.mjs +6922 -2800
- package/dist/styles/dockview.css +1945 -196
- package/package.json +5 -1
|
@@ -15,11 +15,14 @@ import { OverlayRenderContainer } from '../overlay/overlayRenderContainer';
|
|
|
15
15
|
import { TitleEvent } from '../api/dockviewPanelApi';
|
|
16
16
|
import { Contraints } from '../gridview/gridviewPanel';
|
|
17
17
|
import { DropTargetAnchorContainer } from '../dnd/dropTargetAnchorContainer';
|
|
18
|
+
import { ITabGroup, SerializedTabGroup, TabGroupOptions } from './tabGroup';
|
|
19
|
+
import { EdgeGroupPosition } from './dockviewShell';
|
|
18
20
|
interface GroupMoveEvent {
|
|
19
21
|
groupId: string;
|
|
20
22
|
itemId?: string;
|
|
21
23
|
target: Position;
|
|
22
24
|
index?: number;
|
|
25
|
+
tabGroupId?: string;
|
|
23
26
|
}
|
|
24
27
|
interface CoreGroupOptions {
|
|
25
28
|
locked?: DockviewGroupPanelLocked;
|
|
@@ -39,10 +42,14 @@ export interface GroupPanelViewState extends CoreGroupOptions {
|
|
|
39
42
|
views: string[];
|
|
40
43
|
activeView?: string;
|
|
41
44
|
id: string;
|
|
45
|
+
tabGroups?: SerializedTabGroup[];
|
|
42
46
|
}
|
|
43
47
|
export interface DockviewGroupChangeEvent {
|
|
44
48
|
readonly panel: IDockviewPanel;
|
|
45
49
|
}
|
|
50
|
+
export interface CreateTabGroupOptions extends TabGroupOptions {
|
|
51
|
+
id?: string;
|
|
52
|
+
}
|
|
46
53
|
export declare class DockviewDidDropEvent extends DockviewEvent {
|
|
47
54
|
private readonly options;
|
|
48
55
|
get nativeEvent(): DragEvent;
|
|
@@ -125,6 +132,9 @@ export type DockviewGroupLocation = {
|
|
|
125
132
|
type: 'popout';
|
|
126
133
|
getWindow: () => Window;
|
|
127
134
|
popoutUrl?: string;
|
|
135
|
+
} | {
|
|
136
|
+
type: 'edge';
|
|
137
|
+
position: EdgeGroupPosition;
|
|
128
138
|
};
|
|
129
139
|
export declare class DockviewGroupPanelModel extends CompositeDisposable implements IDockviewGroupPanelModel {
|
|
130
140
|
private readonly container;
|
|
@@ -155,6 +165,8 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
|
|
|
155
165
|
private _height;
|
|
156
166
|
private readonly _panels;
|
|
157
167
|
private readonly _panelDisposables;
|
|
168
|
+
private readonly _tabGroupDisposables;
|
|
169
|
+
private readonly _pendingMicrotaskDisposables;
|
|
158
170
|
private readonly _onMove;
|
|
159
171
|
readonly onMove: Event<GroupMoveEvent>;
|
|
160
172
|
private readonly _onDidDrop;
|
|
@@ -179,7 +191,39 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
|
|
|
179
191
|
readonly onDidActivePanelChange: Event<DockviewGroupChangeEvent>;
|
|
180
192
|
private readonly _onUnhandledDragOverEvent;
|
|
181
193
|
readonly onUnhandledDragOverEvent: Event<DockviewDndOverlayEvent>;
|
|
194
|
+
private readonly _tabGroups;
|
|
195
|
+
private readonly _tabGroupMap;
|
|
196
|
+
private readonly _panelToTabGroup;
|
|
197
|
+
private _tabGroupIdCounter;
|
|
198
|
+
private _pendingTabGroupUpdate;
|
|
199
|
+
private readonly _onDidCreateTabGroup;
|
|
200
|
+
readonly onDidCreateTabGroup: Event<{
|
|
201
|
+
tabGroup: ITabGroup;
|
|
202
|
+
}>;
|
|
203
|
+
private readonly _onDidDestroyTabGroup;
|
|
204
|
+
readonly onDidDestroyTabGroup: Event<{
|
|
205
|
+
tabGroup: ITabGroup;
|
|
206
|
+
}>;
|
|
207
|
+
private readonly _onDidAddPanelToTabGroup;
|
|
208
|
+
readonly onDidAddPanelToTabGroup: Event<{
|
|
209
|
+
tabGroup: ITabGroup;
|
|
210
|
+
panelId: string;
|
|
211
|
+
}>;
|
|
212
|
+
private readonly _onDidRemovePanelFromTabGroup;
|
|
213
|
+
readonly onDidRemovePanelFromTabGroup: Event<{
|
|
214
|
+
tabGroup: ITabGroup;
|
|
215
|
+
panelId: string;
|
|
216
|
+
}>;
|
|
217
|
+
private readonly _onDidTabGroupChange;
|
|
218
|
+
readonly onDidTabGroupChange: Event<{
|
|
219
|
+
tabGroup: ITabGroup;
|
|
220
|
+
}>;
|
|
221
|
+
private readonly _onDidTabGroupCollapsedChange;
|
|
222
|
+
readonly onDidTabGroupCollapsedChange: Event<{
|
|
223
|
+
tabGroup: ITabGroup;
|
|
224
|
+
}>;
|
|
182
225
|
private readonly _api;
|
|
226
|
+
get tabGroups(): readonly ITabGroup[];
|
|
183
227
|
get element(): HTMLElement;
|
|
184
228
|
get activePanel(): IDockviewPanel | undefined;
|
|
185
229
|
get locked(): DockviewGroupPanelLocked;
|
|
@@ -196,6 +240,45 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
|
|
|
196
240
|
get location(): DockviewGroupLocation;
|
|
197
241
|
set location(value: DockviewGroupLocation);
|
|
198
242
|
constructor(container: HTMLElement, accessor: DockviewComponent, id: string, options: GroupOptions, groupPanel: DockviewGroupPanel);
|
|
243
|
+
private _scheduleTabGroupUpdate;
|
|
244
|
+
createTabGroup(options?: CreateTabGroupOptions): ITabGroup;
|
|
245
|
+
dissolveTabGroup(tabGroupId: string): void;
|
|
246
|
+
addPanelToTabGroup(tabGroupId: string, panelId: string, index?: number): void;
|
|
247
|
+
/**
|
|
248
|
+
* Move a panel to a new index within its tab group.
|
|
249
|
+
* Updates both the group's panelIds order and the flat _panels array.
|
|
250
|
+
*/
|
|
251
|
+
movePanelWithinGroup(tabGroupId: string, panelId: string, newIndex: number): void;
|
|
252
|
+
/**
|
|
253
|
+
* Move a panel from one tab group to another.
|
|
254
|
+
*/
|
|
255
|
+
movePanelBetweenGroups(sourcePanelId: string, targetTabGroupId: string, targetIndex?: number): void;
|
|
256
|
+
/**
|
|
257
|
+
* Move an entire tab group to a new position in the tab bar.
|
|
258
|
+
* The group's internal panel order is preserved.
|
|
259
|
+
*/
|
|
260
|
+
moveTabGroup(tabGroupId: string, targetIndex: number): void;
|
|
261
|
+
/**
|
|
262
|
+
* Ensure a panel is at the correct global index in _panels
|
|
263
|
+
* to maintain contiguity of its tab group members.
|
|
264
|
+
*/
|
|
265
|
+
private _enforceContiguity;
|
|
266
|
+
/**
|
|
267
|
+
* Compute the global index in _panels for a group-local index.
|
|
268
|
+
* Finds where the group's panels start in the flat array and offsets.
|
|
269
|
+
*/
|
|
270
|
+
private _computeGlobalIndex;
|
|
271
|
+
removePanelFromTabGroup(panelId: string): void;
|
|
272
|
+
getTabGroups(): readonly ITabGroup[];
|
|
273
|
+
updateTabGroups(): void;
|
|
274
|
+
refreshTabGroupAccent(): void;
|
|
275
|
+
getTabGroupForPanel(panelId: string): ITabGroup | undefined;
|
|
276
|
+
private _findTabGroupForPanel;
|
|
277
|
+
private _removeTabGroupInternal;
|
|
278
|
+
private _handleGroupCollapse;
|
|
279
|
+
private _handleGroupExpand;
|
|
280
|
+
/** Restore tab groups from serialized data (used by fromJSON) */
|
|
281
|
+
restoreTabGroups(serializedGroups: SerializedTabGroup[]): void;
|
|
199
282
|
focusContent(): void;
|
|
200
283
|
set renderContainer(value: OverlayRenderContainer | null);
|
|
201
284
|
get renderContainer(): OverlayRenderContainer;
|