dockview-core 6.6.1 → 7.0.3

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 (203) hide show
  1. package/README.md +8 -1
  2. package/dist/cjs/api/component.api.d.ts +42 -21
  3. package/dist/cjs/api/component.api.js +111 -20
  4. package/dist/cjs/api/dockviewGroupPanelApi.d.ts +23 -8
  5. package/dist/cjs/api/dockviewGroupPanelApi.js +24 -1
  6. package/dist/cjs/api/dockviewPanelApi.d.ts +4 -3
  7. package/dist/cjs/api/dockviewPanelApi.js +8 -0
  8. package/dist/cjs/dnd/dropTargetAnchorContainer.js +1 -2
  9. package/dist/cjs/dnd/droptarget.d.ts +8 -0
  10. package/dist/cjs/dnd/droptarget.js +28 -0
  11. package/dist/cjs/dnd/pointer/longPress.js +1 -1
  12. package/dist/cjs/dnd/pointer/pointerDragController.js +9 -7
  13. package/dist/cjs/dnd/pointer/pointerDragSource.js +4 -2
  14. package/dist/cjs/dockview/accessibilityMessages.d.ts +32 -0
  15. package/dist/cjs/dockview/accessibilityMessages.js +51 -0
  16. package/dist/cjs/dockview/allModules.d.ts +8 -0
  17. package/dist/cjs/dockview/allModules.js +25 -0
  18. package/dist/cjs/dockview/components/panel/content.d.ts +2 -0
  19. package/dist/cjs/dockview/components/panel/content.js +41 -10
  20. package/dist/cjs/dockview/components/popupService.js +1 -1
  21. package/dist/cjs/dockview/components/tab/tab.js +35 -7
  22. package/dist/cjs/dockview/components/titlebar/floatingTitleBar.d.ts +34 -0
  23. package/dist/cjs/dockview/components/titlebar/floatingTitleBar.js +95 -0
  24. package/dist/cjs/dockview/components/titlebar/groupDragSource.d.ts +51 -0
  25. package/dist/cjs/dockview/components/titlebar/groupDragSource.js +218 -0
  26. package/dist/cjs/dockview/components/titlebar/tabGroupIndicator.d.ts +2 -1
  27. package/dist/cjs/dockview/components/titlebar/tabGroupIndicator.js +36 -30
  28. package/dist/cjs/dockview/components/titlebar/tabGroups.d.ts +27 -5
  29. package/dist/cjs/dockview/components/titlebar/tabGroups.js +104 -53
  30. package/dist/cjs/dockview/components/titlebar/tabs.d.ts +12 -0
  31. package/dist/cjs/dockview/components/titlebar/tabs.js +121 -25
  32. package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts +4 -0
  33. package/dist/cjs/dockview/components/titlebar/tabsContainer.js +13 -3
  34. package/dist/cjs/dockview/components/titlebar/voidContainer.d.ts +1 -4
  35. package/dist/cjs/dockview/components/titlebar/voidContainer.js +32 -156
  36. package/dist/cjs/dockview/dndCapabilities.js +3 -3
  37. package/dist/cjs/dockview/dockviewComponent.d.ts +304 -49
  38. package/dist/cjs/dockview/dockviewComponent.js +1839 -1075
  39. package/dist/cjs/dockview/dockviewFloatingGroupPanel.d.ts +33 -2
  40. package/dist/cjs/dockview/dockviewFloatingGroupPanel.js +39 -3
  41. package/dist/cjs/dockview/dockviewGroupPanel.d.ts +1 -2
  42. package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +36 -14
  43. package/dist/cjs/dockview/dockviewGroupPanelModel.js +151 -125
  44. package/dist/cjs/dockview/dockviewPanel.d.ts +2 -2
  45. package/dist/cjs/dockview/dockviewPanel.js +4 -5
  46. package/dist/cjs/dockview/dockviewShell.d.ts +29 -7
  47. package/dist/cjs/dockview/dockviewShell.js +94 -36
  48. package/dist/cjs/dockview/edgeGroupService.d.ts +38 -0
  49. package/dist/cjs/dockview/edgeGroupService.js +128 -0
  50. package/dist/cjs/dockview/floatingGroupService.d.ts +37 -0
  51. package/dist/cjs/dockview/floatingGroupService.js +231 -0
  52. package/dist/cjs/dockview/headerActionsService.d.ts +32 -0
  53. package/dist/cjs/dockview/headerActionsService.js +149 -0
  54. package/dist/cjs/dockview/liveRegionService.d.ts +53 -0
  55. package/dist/cjs/dockview/liveRegionService.js +185 -0
  56. package/dist/cjs/dockview/moduleContracts.d.ts +119 -0
  57. package/dist/cjs/dockview/moduleContracts.js +2 -0
  58. package/dist/cjs/dockview/modules.d.ts +110 -0
  59. package/dist/cjs/dockview/modules.js +304 -0
  60. package/dist/cjs/dockview/options.d.ts +159 -6
  61. package/dist/cjs/dockview/options.js +8 -1
  62. package/dist/cjs/dockview/popoutWindowService.d.ts +95 -0
  63. package/dist/cjs/dockview/popoutWindowService.js +261 -0
  64. package/dist/cjs/dockview/rootDropTargetService.d.ts +35 -0
  65. package/dist/cjs/dockview/rootDropTargetService.js +87 -0
  66. package/dist/cjs/dockview/strictEventsSequencing.js +6 -6
  67. package/dist/cjs/dockview/tabGroup.js +3 -3
  68. package/dist/cjs/dockview/tabGroupAccent.js +1 -3
  69. package/dist/cjs/dockview/watermarkService.d.ts +30 -0
  70. package/dist/cjs/dockview/watermarkService.js +61 -0
  71. package/dist/cjs/dom.js +1 -1
  72. package/dist/cjs/events.js +1 -1
  73. package/dist/cjs/gridview/baseComponentGridview.d.ts +1 -1
  74. package/dist/cjs/gridview/baseComponentGridview.js +6 -10
  75. package/dist/cjs/gridview/branchNode.js +13 -17
  76. package/dist/cjs/gridview/gridview.js +8 -8
  77. package/dist/cjs/gridview/gridviewComponent.d.ts +3 -3
  78. package/dist/cjs/gridview/gridviewComponent.js +1 -6
  79. package/dist/cjs/gridview/gridviewPanel.d.ts +1 -1
  80. package/dist/cjs/index.d.ts +11 -4
  81. package/dist/cjs/index.js +14 -1
  82. package/dist/cjs/overlay/overlay.d.ts +43 -1
  83. package/dist/cjs/overlay/overlay.js +82 -36
  84. package/dist/cjs/overlay/overlayRenderContainer.js +3 -4
  85. package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +2 -2
  86. package/dist/cjs/paneview/draggablePaneviewPanel.js +5 -5
  87. package/dist/cjs/paneview/paneviewComponent.d.ts +3 -3
  88. package/dist/cjs/paneview/paneviewComponent.js +7 -11
  89. package/dist/cjs/popoutWindow.js +4 -4
  90. package/dist/cjs/scrollbar.d.ts +1 -1
  91. package/dist/cjs/scrollbar.js +7 -6
  92. package/dist/cjs/splitview/splitview.d.ts +1 -1
  93. package/dist/cjs/splitview/splitview.js +21 -20
  94. package/dist/cjs/splitview/viewItem.js +1 -1
  95. package/dist/dockview-core.js +3548 -1544
  96. package/dist/dockview-core.min.js +2 -2
  97. package/dist/dockview-core.min.js.map +1 -1
  98. package/dist/dockview-core.min.noStyle.js +2 -2
  99. package/dist/dockview-core.min.noStyle.js.map +1 -1
  100. package/dist/dockview-core.noStyle.js +3547 -1543
  101. package/dist/esm/api/component.api.d.ts +42 -21
  102. package/dist/esm/api/component.api.js +63 -18
  103. package/dist/esm/api/dockviewGroupPanelApi.d.ts +23 -8
  104. package/dist/esm/api/dockviewGroupPanelApi.js +20 -1
  105. package/dist/esm/api/dockviewPanelApi.d.ts +4 -3
  106. package/dist/esm/api/dockviewPanelApi.js +7 -0
  107. package/dist/esm/dnd/dropTargetAnchorContainer.js +1 -2
  108. package/dist/esm/dnd/droptarget.d.ts +8 -0
  109. package/dist/esm/dnd/droptarget.js +28 -0
  110. package/dist/esm/dnd/pointer/longPress.js +1 -1
  111. package/dist/esm/dnd/pointer/pointerDragController.js +9 -7
  112. package/dist/esm/dnd/pointer/pointerDragSource.js +4 -2
  113. package/dist/esm/dockview/accessibilityMessages.d.ts +32 -0
  114. package/dist/esm/dockview/accessibilityMessages.js +30 -0
  115. package/dist/esm/dockview/allModules.d.ts +8 -0
  116. package/dist/esm/dockview/allModules.js +22 -0
  117. package/dist/esm/dockview/components/panel/content.d.ts +2 -0
  118. package/dist/esm/dockview/components/panel/content.js +42 -11
  119. package/dist/esm/dockview/components/popupService.js +1 -1
  120. package/dist/esm/dockview/components/tab/tab.js +35 -7
  121. package/dist/esm/dockview/components/titlebar/floatingTitleBar.d.ts +34 -0
  122. package/dist/esm/dockview/components/titlebar/floatingTitleBar.js +65 -0
  123. package/dist/esm/dockview/components/titlebar/groupDragSource.d.ts +51 -0
  124. package/dist/esm/dockview/components/titlebar/groupDragSource.js +178 -0
  125. package/dist/esm/dockview/components/titlebar/tabGroupIndicator.d.ts +2 -1
  126. package/dist/esm/dockview/components/titlebar/tabGroupIndicator.js +36 -30
  127. package/dist/esm/dockview/components/titlebar/tabGroups.d.ts +27 -5
  128. package/dist/esm/dockview/components/titlebar/tabGroups.js +91 -41
  129. package/dist/esm/dockview/components/titlebar/tabs.d.ts +12 -0
  130. package/dist/esm/dockview/components/titlebar/tabs.js +119 -26
  131. package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts +4 -0
  132. package/dist/esm/dockview/components/titlebar/tabsContainer.js +8 -2
  133. package/dist/esm/dockview/components/titlebar/voidContainer.d.ts +1 -4
  134. package/dist/esm/dockview/components/titlebar/voidContainer.js +34 -146
  135. package/dist/esm/dockview/dndCapabilities.js +3 -3
  136. package/dist/esm/dockview/dockviewComponent.d.ts +304 -49
  137. package/dist/esm/dockview/dockviewComponent.js +1459 -772
  138. package/dist/esm/dockview/dockviewFloatingGroupPanel.d.ts +33 -2
  139. package/dist/esm/dockview/dockviewFloatingGroupPanel.js +35 -3
  140. package/dist/esm/dockview/dockviewGroupPanel.d.ts +1 -2
  141. package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +36 -14
  142. package/dist/esm/dockview/dockviewGroupPanelModel.js +127 -117
  143. package/dist/esm/dockview/dockviewPanel.d.ts +2 -2
  144. package/dist/esm/dockview/dockviewPanel.js +1 -2
  145. package/dist/esm/dockview/dockviewShell.d.ts +29 -7
  146. package/dist/esm/dockview/dockviewShell.js +89 -37
  147. package/dist/esm/dockview/edgeGroupService.d.ts +38 -0
  148. package/dist/esm/dockview/edgeGroupService.js +63 -0
  149. package/dist/esm/dockview/floatingGroupService.d.ts +37 -0
  150. package/dist/esm/dockview/floatingGroupService.js +150 -0
  151. package/dist/esm/dockview/headerActionsService.d.ts +32 -0
  152. package/dist/esm/dockview/headerActionsService.js +86 -0
  153. package/dist/esm/dockview/liveRegionService.d.ts +53 -0
  154. package/dist/esm/dockview/liveRegionService.js +159 -0
  155. package/dist/esm/dockview/moduleContracts.d.ts +119 -0
  156. package/dist/esm/dockview/moduleContracts.js +1 -0
  157. package/dist/esm/dockview/modules.d.ts +110 -0
  158. package/dist/esm/dockview/modules.js +170 -0
  159. package/dist/esm/dockview/options.d.ts +159 -6
  160. package/dist/esm/dockview/options.js +8 -1
  161. package/dist/esm/dockview/popoutWindowService.d.ts +95 -0
  162. package/dist/esm/dockview/popoutWindowService.js +175 -0
  163. package/dist/esm/dockview/rootDropTargetService.d.ts +35 -0
  164. package/dist/esm/dockview/rootDropTargetService.js +82 -0
  165. package/dist/esm/dockview/strictEventsSequencing.js +6 -6
  166. package/dist/esm/dockview/tabGroup.js +3 -3
  167. package/dist/esm/dockview/tabGroupAccent.js +1 -3
  168. package/dist/esm/dockview/watermarkService.d.ts +30 -0
  169. package/dist/esm/dockview/watermarkService.js +56 -0
  170. package/dist/esm/dom.js +1 -1
  171. package/dist/esm/events.js +1 -1
  172. package/dist/esm/gridview/baseComponentGridview.d.ts +1 -1
  173. package/dist/esm/gridview/baseComponentGridview.js +5 -10
  174. package/dist/esm/gridview/branchNode.js +13 -15
  175. package/dist/esm/gridview/gridview.js +8 -8
  176. package/dist/esm/gridview/gridviewComponent.d.ts +3 -3
  177. package/dist/esm/gridview/gridviewComponent.js +1 -6
  178. package/dist/esm/gridview/gridviewPanel.d.ts +1 -1
  179. package/dist/esm/index.d.ts +11 -4
  180. package/dist/esm/index.js +4 -0
  181. package/dist/esm/overlay/overlay.d.ts +43 -1
  182. package/dist/esm/overlay/overlay.js +78 -36
  183. package/dist/esm/overlay/overlayRenderContainer.js +3 -4
  184. package/dist/esm/paneview/draggablePaneviewPanel.d.ts +2 -2
  185. package/dist/esm/paneview/draggablePaneviewPanel.js +5 -5
  186. package/dist/esm/paneview/paneviewComponent.d.ts +3 -3
  187. package/dist/esm/paneview/paneviewComponent.js +7 -11
  188. package/dist/esm/popoutWindow.js +4 -4
  189. package/dist/esm/scrollbar.d.ts +1 -1
  190. package/dist/esm/scrollbar.js +7 -6
  191. package/dist/esm/splitview/splitview.d.ts +1 -1
  192. package/dist/esm/splitview/splitview.js +21 -20
  193. package/dist/esm/splitview/viewItem.js +1 -1
  194. package/dist/package/main.cjs.js +3550 -1546
  195. package/dist/package/main.cjs.min.js +2 -2
  196. package/dist/package/main.esm.min.mjs +2 -2
  197. package/dist/package/main.esm.mjs +3538 -1545
  198. package/dist/styles/dockview.css +283 -21
  199. package/package.json +10 -1
  200. package/dist/cjs/dockview/contextMenu.d.ts +0 -10
  201. package/dist/cjs/dockview/contextMenu.js +0 -313
  202. package/dist/esm/dockview/contextMenu.d.ts +0 -10
  203. package/dist/esm/dockview/contextMenu.js +0 -228
@@ -1,14 +1,45 @@
1
1
  import { Overlay } from '../overlay/overlay';
2
2
  import { CompositeDisposable } from '../lifecycle';
3
+ import { Gridview } from '../gridview/gridview';
3
4
  import { AnchoredBox } from '../types';
4
5
  import { DockviewGroupPanel, IDockviewGroupPanel } from './dockviewGroupPanel';
5
6
  export interface IDockviewFloatingGroupPanel {
6
7
  readonly group: IDockviewGroupPanel;
7
8
  position(bounds: Partial<AnchoredBox>): void;
8
9
  }
10
+ /**
11
+ * The subset of the dedicated floating title bar this panel needs to keep in
12
+ * sync. Declared structurally to avoid a circular import on `FloatingTitleBar`.
13
+ */
14
+ export interface IAnchorTrackingTitleBar {
15
+ setGroup(group: DockviewGroupPanel): void;
16
+ }
9
17
  export declare class DockviewFloatingGroupPanel extends CompositeDisposable implements IDockviewFloatingGroupPanel {
10
- readonly group: DockviewGroupPanel;
11
18
  readonly overlay: Overlay;
12
- constructor(group: DockviewGroupPanel, overlay: Overlay);
19
+ /**
20
+ * The floating window hosts its own gridview so it can hold a nested
21
+ * splitview layout of groups, not just a single group.
22
+ */
23
+ readonly gridview: Gridview;
24
+ private _group;
25
+ private _titleBar;
26
+ /**
27
+ * The window's representative/anchor group. A floating window can host a
28
+ * nested layout of several groups; the anchor is used for back-compat
29
+ * single-group APIs and is reassigned if it leaves the window.
30
+ */
31
+ get group(): DockviewGroupPanel;
32
+ /**
33
+ * Register the dedicated title bar (if any) so anchor reassignment keeps
34
+ * its drag handle pointed at a group that still lives in this window.
35
+ */
36
+ setTitleBar(titleBar: IAnchorTrackingTitleBar | undefined): void;
37
+ setAnchorGroup(group: DockviewGroupPanel): void;
38
+ constructor(group: DockviewGroupPanel, overlay: Overlay,
39
+ /**
40
+ * The floating window hosts its own gridview so it can hold a nested
41
+ * splitview layout of groups, not just a single group.
42
+ */
43
+ gridview: Gridview);
13
44
  position(bounds: Partial<AnchoredBox>): void;
14
45
  }
@@ -1,10 +1,42 @@
1
1
  import { CompositeDisposable } from '../lifecycle';
2
2
  export class DockviewFloatingGroupPanel extends CompositeDisposable {
3
- constructor(group, overlay) {
3
+ /**
4
+ * The window's representative/anchor group. A floating window can host a
5
+ * nested layout of several groups; the anchor is used for back-compat
6
+ * single-group APIs and is reassigned if it leaves the window.
7
+ */
8
+ get group() {
9
+ return this._group;
10
+ }
11
+ /**
12
+ * Register the dedicated title bar (if any) so anchor reassignment keeps
13
+ * its drag handle pointed at a group that still lives in this window.
14
+ */
15
+ setTitleBar(titleBar) {
16
+ this._titleBar = titleBar;
17
+ }
18
+ setAnchorGroup(group) {
19
+ var _a;
20
+ this._group = group;
21
+ (_a = this._titleBar) === null || _a === void 0 ? void 0 : _a.setGroup(group);
22
+ }
23
+ constructor(group, overlay,
24
+ /**
25
+ * The floating window hosts its own gridview so it can hold a nested
26
+ * splitview layout of groups, not just a single group.
27
+ */
28
+ gridview) {
4
29
  super();
5
- this.group = group;
6
30
  this.overlay = overlay;
7
- this.addDisposables(overlay);
31
+ this.gridview = gridview;
32
+ this._group = group;
33
+ this.addDisposables(overlay, {
34
+ // The gridview owns the floating window's DOM subtree (mounted as
35
+ // the overlay's content). Disposing it tears down the splitview;
36
+ // it does NOT dispose the leaf views (groups) — their lifecycle is
37
+ // owned by the component's `_groups` map.
38
+ dispose: () => this.gridview.dispose(),
39
+ });
8
40
  }
9
41
  position(bounds) {
10
42
  this.overlay.setBounds(bounds);
@@ -11,10 +11,9 @@ export interface IDockviewGroupPanel extends IGridviewPanel<DockviewGroupPanelAp
11
11
  readonly panels: IDockviewPanel[];
12
12
  readonly activePanel: IDockviewPanel | undefined;
13
13
  }
14
- export type IDockviewGroupPanelPublic = IDockviewGroupPanel;
15
14
  export declare class DockviewGroupPanel extends GridviewPanel<DockviewGroupPanelApiImpl> implements IDockviewGroupPanel {
16
15
  private readonly _model;
17
- private _explicitConstraints;
16
+ private readonly _explicitConstraints;
18
17
  get minimumWidth(): number;
19
18
  get minimumHeight(): number;
20
19
  get maximumWidth(): number;
@@ -1,7 +1,7 @@
1
1
  import { DockviewApi } from '../api/component.api';
2
2
  import { PanelTransfer } from '../dnd/dataTransfer';
3
- import { Position } from '../dnd/droptarget';
4
- import { DockviewComponent } from './dockviewComponent';
3
+ import { Droptarget, Position } from '../dnd/droptarget';
4
+ import { DockviewComponent, DockviewOrigin } from './dockviewComponent';
5
5
  import { DockviewEvent, Event } from '../events';
6
6
  import { DockviewGroupDropLocation, DockviewWillShowOverlayLocationEvent } from './events';
7
7
  import { IViewSize } from '../gridview/gridview';
@@ -13,7 +13,7 @@ import { IDockviewPanel } from './dockviewPanel';
13
13
  import { DockviewDndOverlayEvent, DockviewHeaderDirection, DockviewHeaderPosition } from './options';
14
14
  import { OverlayRenderContainer } from '../overlay/overlayRenderContainer';
15
15
  import { TitleEvent } from '../api/dockviewPanelApi';
16
- import { Contraints } from '../gridview/gridviewPanel';
16
+ import { Constraints } from '../gridview/gridviewPanel';
17
17
  import { DropTargetAnchorContainer } from '../dnd/dropTargetAnchorContainer';
18
18
  import { ITabGroup, SerializedTabGroup, TabGroupOptions } from './tabGroup';
19
19
  import { EdgeGroupPosition } from './dockviewShell';
@@ -29,7 +29,7 @@ interface CoreGroupOptions {
29
29
  hideHeader?: boolean;
30
30
  headerPosition?: 'top' | 'bottom' | 'left' | 'right';
31
31
  skipSetActive?: boolean;
32
- constraints?: Partial<Contraints>;
32
+ constraints?: Partial<Constraints>;
33
33
  initialWidth?: number;
34
34
  initialHeight?: number;
35
35
  }
@@ -47,6 +47,15 @@ export interface GroupPanelViewState extends CoreGroupOptions {
47
47
  export interface DockviewGroupChangeEvent {
48
48
  readonly panel: IDockviewPanel;
49
49
  }
50
+ /**
51
+ * Payload for the group-level `onDidActivePanelChange`. Extends
52
+ * {@link DockviewGroupChangeEvent} with the {@link DockviewOrigin} so it mirrors
53
+ * the component-level `DockviewActivePanelChangeEvent` — both report whether the
54
+ * change came from a user gesture or an API call.
55
+ */
56
+ export interface DockviewGroupActivePanelChangeEvent extends DockviewGroupChangeEvent {
57
+ readonly origin: DockviewOrigin;
58
+ }
50
59
  export interface CreateTabGroupOptions extends TabGroupOptions {
51
60
  id?: string;
52
61
  }
@@ -100,7 +109,7 @@ export interface IDockviewGroupPanelModel extends IPanel {
100
109
  readonly onWillDrop: Event<DockviewWillDropEvent>;
101
110
  readonly onDidAddPanel: Event<DockviewGroupChangeEvent>;
102
111
  readonly onDidRemovePanel: Event<DockviewGroupChangeEvent>;
103
- readonly onDidActivePanelChange: Event<DockviewGroupChangeEvent>;
112
+ readonly onDidActivePanelChange: Event<DockviewGroupActivePanelChangeEvent>;
104
113
  readonly onMove: Event<GroupMoveEvent>;
105
114
  locked: DockviewGroupPanelLocked;
106
115
  headerPosition: DockviewHeaderPosition;
@@ -127,6 +136,8 @@ export interface IDockviewGroupPanelModel extends IPanel {
127
136
  suppressRoll?: boolean;
128
137
  }): void;
129
138
  canDisplayOverlay(event: DragEvent | PointerEvent, position: Position, target: DockviewGroupDropLocation): boolean;
139
+ updateHeaderActions(): void;
140
+ attachHeaderAction(slot: 'left' | 'right' | 'prefix', element: HTMLElement | undefined): void;
130
141
  }
131
142
  export type DockviewGroupLocation = {
132
143
  type: 'grid';
@@ -152,12 +163,6 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
152
163
  private watermark?;
153
164
  private _isGroupActive;
154
165
  private _locked;
155
- private _rightHeaderActions;
156
- private _leftHeaderActions;
157
- private _prefixHeaderActions;
158
- private readonly _rightHeaderActionsDisposable;
159
- private readonly _leftHeaderActionsDisposable;
160
- private readonly _prefixHeaderActionsDisposable;
161
166
  private _headerPosition;
162
167
  private _location;
163
168
  private mostRecentlyUsed;
@@ -192,9 +197,9 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
192
197
  private readonly _onDidRemovePanel;
193
198
  readonly onDidRemovePanel: Event<DockviewGroupChangeEvent>;
194
199
  private readonly _onDidActivePanelChange;
195
- readonly onDidActivePanelChange: Event<DockviewGroupChangeEvent>;
196
- private readonly _onUnhandledDragOverEvent;
197
- readonly onUnhandledDragOverEvent: Event<DockviewDndOverlayEvent>;
200
+ readonly onDidActivePanelChange: Event<DockviewGroupActivePanelChangeEvent>;
201
+ private readonly _onUnhandledDragOver;
202
+ readonly onUnhandledDragOver: Event<DockviewDndOverlayEvent>;
198
203
  private readonly _tabGroups;
199
204
  private readonly _tabGroupMap;
200
205
  private readonly _panelToTabGroup;
@@ -230,6 +235,10 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
230
235
  get tabGroups(): readonly ITabGroup[];
231
236
  get element(): HTMLElement;
232
237
  get activePanel(): IDockviewPanel | undefined;
238
+ /** DOM id of the content container (the group's tabpanel), referenced by each tab's `aria-controls`. */
239
+ get contentContainerId(): string;
240
+ /** The group's content drop target — lets keyboard docking preview a drop here. */
241
+ get contentDropTarget(): Droptarget;
233
242
  get locked(): DockviewGroupPanelLocked;
234
243
  set locked(value: DockviewGroupPanelLocked);
235
244
  get isActive(): boolean;
@@ -245,7 +254,16 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
245
254
  set location(value: DockviewGroupLocation);
246
255
  constructor(container: HTMLElement, accessor: DockviewComponent, id: string, options: GroupOptions, groupPanel: DockviewGroupPanel);
247
256
  private _scheduleTabGroupUpdate;
257
+ /**
258
+ * Bracket a tab-group mutation as a layout transaction. `accessor` is
259
+ * always a full {@link DockviewComponent} in production; the optional-call
260
+ * fallback keeps partial test doubles (which omit `mutation`) working.
261
+ * When nested inside a larger operation (a drag-driven move, fromJSON
262
+ * restore) the component's depth counter folds it into the outer one.
263
+ */
264
+ private _bracketTabGroupMutation;
248
265
  createTabGroup(options?: CreateTabGroupOptions): ITabGroup;
266
+ private _doCreateTabGroup;
249
267
  dissolveTabGroup(tabGroupId: string): void;
250
268
  addPanelToTabGroup(tabGroupId: string, panelId: string, index?: number): void;
251
269
  /**
@@ -285,12 +303,14 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
285
303
  /** Restore tab groups from serialized data (used by fromJSON) */
286
304
  restoreTabGroups(serializedGroups: SerializedTabGroup[]): void;
287
305
  focusContent(): void;
306
+ focusActiveTab(): void;
288
307
  set renderContainer(value: OverlayRenderContainer | null);
289
308
  get renderContainer(): OverlayRenderContainer;
290
309
  set dropTargetContainer(value: DropTargetAnchorContainer | null);
291
310
  get dropTargetContainer(): DropTargetAnchorContainer | null;
292
311
  initialize(): void;
293
312
  updateHeaderActions(): void;
313
+ attachHeaderAction(slot: 'left' | 'right' | 'prefix', element: HTMLElement | undefined): void;
294
314
  rerender(panel: IDockviewPanel): void;
295
315
  indexOf(panel: IDockviewPanel): number;
296
316
  toJSON(): GroupPanelViewState;
@@ -326,6 +346,8 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
326
346
  private doRemovePanel;
327
347
  private doAddPanel;
328
348
  private doSetActivePanel;
349
+ /** Label the group region with its active panel's title (the WAI-ARIA region name). */
350
+ private updateAccessibleLabel;
329
351
  private updateMru;
330
352
  private updateContainer;
331
353
  canDisplayOverlay(event: DragEvent | PointerEvent, position: Position, target: DockviewGroupDropLocation): boolean;