dockview-core 7.0.3 → 8.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 (374) hide show
  1. package/LICENCE.md +21 -0
  2. package/README.md +17 -86
  3. package/dist/cjs/api/component.api.d.ts +100 -9
  4. package/dist/cjs/api/dockviewGroupPanelApi.d.ts +45 -1
  5. package/dist/cjs/api/dockviewPanelApi.d.ts +21 -0
  6. package/dist/cjs/dismissableLayer.d.ts +57 -0
  7. package/dist/cjs/dnd/backend.d.ts +2 -2
  8. package/dist/cjs/dnd/dropTargetAnchorContainer.d.ts +12 -0
  9. package/dist/cjs/dnd/droptarget.d.ts +94 -0
  10. package/dist/cjs/dnd/ghost.d.ts +1 -0
  11. package/dist/cjs/dnd/pointer/longPress.d.ts +2 -2
  12. package/dist/cjs/dnd/pointer/pointerDragController.d.ts +5 -2
  13. package/dist/cjs/dnd/pointer/pointerDragSource.d.ts +1 -1
  14. package/dist/cjs/dnd/pointer/pointerDropTarget.d.ts +30 -1
  15. package/dist/cjs/dnd/pointer/pointerGhost.d.ts +1 -1
  16. package/dist/cjs/dockview/accessibilityMessages.d.ts +6 -0
  17. package/dist/cjs/dockview/advancedDnDService.d.ts +46 -0
  18. package/dist/cjs/dockview/components/panel/content.d.ts +1 -1
  19. package/dist/cjs/dockview/components/tab/defaultTab.d.ts +2 -0
  20. package/dist/cjs/dockview/components/tab/tab.d.ts +2 -0
  21. package/dist/cjs/dockview/components/titlebar/floatingTitleBar.d.ts +2 -2
  22. package/dist/cjs/dockview/components/titlebar/groupDragSource.d.ts +1 -1
  23. package/dist/cjs/dockview/components/titlebar/tabGroupChip.d.ts +1 -1
  24. package/dist/cjs/dockview/components/titlebar/tabGroupIndicator.d.ts +73 -2
  25. package/dist/cjs/dockview/components/titlebar/tabGroups.d.ts +1 -1
  26. package/dist/cjs/dockview/components/titlebar/tabReorderController.d.ts +295 -0
  27. package/dist/cjs/dockview/components/titlebar/tabs.d.ts +120 -50
  28. package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts +48 -0
  29. package/dist/cjs/dockview/dndCapabilities.d.ts +1 -1
  30. package/dist/cjs/dockview/dockviewComponent.d.ts +303 -19
  31. package/dist/cjs/dockview/dockviewGroupPanel.d.ts +5 -0
  32. package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +52 -2
  33. package/dist/cjs/dockview/dockviewPanel.d.ts +12 -0
  34. package/dist/cjs/dockview/dockviewShell.d.ts +48 -24
  35. package/dist/cjs/dockview/edgeGroupService.d.ts +20 -0
  36. package/dist/cjs/dockview/events.d.ts +6 -0
  37. package/dist/cjs/dockview/liveRegionService.d.ts +18 -5
  38. package/dist/cjs/dockview/moduleContracts.d.ts +480 -14
  39. package/dist/cjs/dockview/modules.d.ts +101 -22
  40. package/dist/cjs/dockview/options.d.ts +337 -30
  41. package/dist/cjs/dockview/optionsModules.d.ts +73 -0
  42. package/dist/cjs/dockview/popoutWindowService.d.ts +15 -10
  43. package/dist/cjs/dockview/rootDropTargetService.d.ts +11 -0
  44. package/dist/cjs/dockview/tabGroupAccent.d.ts +1 -1
  45. package/dist/cjs/dockview/tabGroupChipsService.d.ts +10 -0
  46. package/dist/cjs/dockview/theme.d.ts +2 -2
  47. package/dist/cjs/dockview/types.d.ts +3 -0
  48. package/dist/cjs/dom.d.ts +9 -1
  49. package/dist/cjs/gridview/baseComponentGridview.d.ts +2 -2
  50. package/dist/cjs/gridview/gridview.d.ts +2 -0
  51. package/dist/cjs/index.d.ts +35 -29
  52. package/dist/cjs/lifecycle.d.ts +1 -0
  53. package/dist/cjs/overlay/overlay.d.ts +4 -2
  54. package/dist/cjs/overlay/overlayRenderContainer.d.ts +8 -0
  55. package/dist/cjs/paneview/paneview.d.ts +2 -1
  56. package/dist/cjs/paneview/paneviewComponent.d.ts +3 -0
  57. package/dist/cjs/paneview/paneviewPanel.d.ts +5 -0
  58. package/dist/cjs/svg.d.ts +1 -0
  59. package/dist/cjs/types.d.ts +8 -0
  60. package/dist/dockview-core.js +18391 -19679
  61. package/dist/dockview-core.min.js +4138 -6
  62. package/dist/dockview-core.min.noStyle.js +6 -7
  63. package/dist/dockview-core.noStyle.js +18390 -19656
  64. package/dist/package/main.cjs.js +18002 -19268
  65. package/dist/package/main.cjs.min.js +6 -6
  66. package/dist/package/main.esm.min.mjs +6 -6
  67. package/dist/package/main.esm.mjs +17959 -19260
  68. package/package.json +81 -77
  69. package/dist/cjs/api/component.api.js +0 -1242
  70. package/dist/cjs/api/dockviewGroupPanelApi.js +0 -200
  71. package/dist/cjs/api/dockviewPanelApi.js +0 -172
  72. package/dist/cjs/api/entryPoints.js +0 -27
  73. package/dist/cjs/api/gridviewPanelApi.js +0 -45
  74. package/dist/cjs/api/panelApi.js +0 -133
  75. package/dist/cjs/api/paneviewPanelApi.js +0 -57
  76. package/dist/cjs/api/splitviewPanelApi.js +0 -47
  77. package/dist/cjs/array.js +0 -66
  78. package/dist/cjs/constants.js +0 -11
  79. package/dist/cjs/dnd/backend.js +0 -171
  80. package/dist/cjs/dnd/dataTransfer.js +0 -100
  81. package/dist/cjs/dnd/dnd.js +0 -74
  82. package/dist/cjs/dnd/dropOverlay.js +0 -197
  83. package/dist/cjs/dnd/dropTargetAnchorContainer.js +0 -104
  84. package/dist/cjs/dnd/droptarget.js +0 -362
  85. package/dist/cjs/dnd/ghost.js +0 -17
  86. package/dist/cjs/dnd/pointer/index.js +0 -13
  87. package/dist/cjs/dnd/pointer/longPress.js +0 -151
  88. package/dist/cjs/dnd/pointer/pointerDragController.js +0 -243
  89. package/dist/cjs/dnd/pointer/pointerDragSource.js +0 -197
  90. package/dist/cjs/dnd/pointer/pointerDropTarget.js +0 -198
  91. package/dist/cjs/dnd/pointer/pointerGhost.js +0 -44
  92. package/dist/cjs/dnd/pointer/types.js +0 -2
  93. package/dist/cjs/dockview/accessibilityMessages.js +0 -51
  94. package/dist/cjs/dockview/allModules.js +0 -25
  95. package/dist/cjs/dockview/components/panel/content.js +0 -213
  96. package/dist/cjs/dockview/components/popupService.js +0 -132
  97. package/dist/cjs/dockview/components/tab/defaultTab.js +0 -70
  98. package/dist/cjs/dockview/components/tab/tab.js +0 -281
  99. package/dist/cjs/dockview/components/titlebar/floatingTitleBar.js +0 -95
  100. package/dist/cjs/dockview/components/titlebar/groupDragSource.js +0 -218
  101. package/dist/cjs/dockview/components/titlebar/tabGroupChip.js +0 -104
  102. package/dist/cjs/dockview/components/titlebar/tabGroupIndicator.js +0 -477
  103. package/dist/cjs/dockview/components/titlebar/tabGroups.js +0 -854
  104. package/dist/cjs/dockview/components/titlebar/tabOverflowControl.js +0 -19
  105. package/dist/cjs/dockview/components/titlebar/tabs.js +0 -2016
  106. package/dist/cjs/dockview/components/titlebar/tabsContainer.js +0 -458
  107. package/dist/cjs/dockview/components/titlebar/voidContainer.js +0 -120
  108. package/dist/cjs/dockview/components/watermark/watermark.js +0 -40
  109. package/dist/cjs/dockview/deserializer.js +0 -39
  110. package/dist/cjs/dockview/dndCapabilities.js +0 -39
  111. package/dist/cjs/dockview/dockviewComponent.js +0 -3896
  112. package/dist/cjs/dockview/dockviewFloatingGroupPanel.js +0 -70
  113. package/dist/cjs/dockview/dockviewGroupPanel.js +0 -204
  114. package/dist/cjs/dockview/dockviewGroupPanelModel.js +0 -1514
  115. package/dist/cjs/dockview/dockviewPanel.js +0 -265
  116. package/dist/cjs/dockview/dockviewPanelModel.js +0 -105
  117. package/dist/cjs/dockview/dockviewShell.js +0 -744
  118. package/dist/cjs/dockview/edgeGroupService.js +0 -128
  119. package/dist/cjs/dockview/events.js +0 -67
  120. package/dist/cjs/dockview/floatingGroupService.js +0 -231
  121. package/dist/cjs/dockview/framework.js +0 -2
  122. package/dist/cjs/dockview/headerActionsService.js +0 -149
  123. package/dist/cjs/dockview/liveRegionService.js +0 -185
  124. package/dist/cjs/dockview/moduleContracts.js +0 -2
  125. package/dist/cjs/dockview/modules.js +0 -304
  126. package/dist/cjs/dockview/options.js +0 -103
  127. package/dist/cjs/dockview/popoutWindowService.js +0 -261
  128. package/dist/cjs/dockview/rootDropTargetService.js +0 -87
  129. package/dist/cjs/dockview/strictEventsSequencing.js +0 -63
  130. package/dist/cjs/dockview/tabGroup.js +0 -219
  131. package/dist/cjs/dockview/tabGroupAccent.js +0 -126
  132. package/dist/cjs/dockview/theme.js +0 -139
  133. package/dist/cjs/dockview/types.js +0 -2
  134. package/dist/cjs/dockview/validate.js +0 -76
  135. package/dist/cjs/dockview/watermarkService.js +0 -61
  136. package/dist/cjs/dom.js +0 -543
  137. package/dist/cjs/events.js +0 -296
  138. package/dist/cjs/framwork.js +0 -2
  139. package/dist/cjs/gridview/baseComponentGridview.js +0 -330
  140. package/dist/cjs/gridview/basePanelView.js +0 -162
  141. package/dist/cjs/gridview/branchNode.js +0 -372
  142. package/dist/cjs/gridview/gridview.js +0 -776
  143. package/dist/cjs/gridview/gridviewComponent.js +0 -363
  144. package/dist/cjs/gridview/gridviewPanel.js +0 -249
  145. package/dist/cjs/gridview/leafNode.js +0 -169
  146. package/dist/cjs/gridview/options.js +0 -17
  147. package/dist/cjs/gridview/types.js +0 -2
  148. package/dist/cjs/index.js +0 -105
  149. package/dist/cjs/lifecycle.js +0 -80
  150. package/dist/cjs/math.js +0 -38
  151. package/dist/cjs/overlay/overlay.js +0 -602
  152. package/dist/cjs/overlay/overlayRenderContainer.js +0 -309
  153. package/dist/cjs/panel/types.js +0 -2
  154. package/dist/cjs/paneview/defaultPaneviewHeader.js +0 -92
  155. package/dist/cjs/paneview/draggablePaneviewPanel.js +0 -141
  156. package/dist/cjs/paneview/options.js +0 -44
  157. package/dist/cjs/paneview/paneview.js +0 -203
  158. package/dist/cjs/paneview/paneviewComponent.js +0 -430
  159. package/dist/cjs/paneview/paneviewPanel.js +0 -275
  160. package/dist/cjs/popoutWindow.js +0 -244
  161. package/dist/cjs/resizable.js +0 -97
  162. package/dist/cjs/scrollbar.js +0 -169
  163. package/dist/cjs/splitview/options.js +0 -19
  164. package/dist/cjs/splitview/splitview.js +0 -999
  165. package/dist/cjs/splitview/splitviewComponent.js +0 -401
  166. package/dist/cjs/splitview/splitviewPanel.js +0 -179
  167. package/dist/cjs/splitview/viewItem.js +0 -119
  168. package/dist/cjs/svg.js +0 -43
  169. package/dist/cjs/types.js +0 -2
  170. package/dist/dockview-core.min.js.map +0 -1
  171. package/dist/dockview-core.min.noStyle.js.map +0 -1
  172. package/dist/esm/api/component.api.d.ts +0 -640
  173. package/dist/esm/api/component.api.js +0 -887
  174. package/dist/esm/api/dockviewGroupPanelApi.d.ts +0 -109
  175. package/dist/esm/api/dockviewGroupPanelApi.js +0 -155
  176. package/dist/esm/api/dockviewPanelApi.d.ts +0 -84
  177. package/dist/esm/api/dockviewPanelApi.js +0 -124
  178. package/dist/esm/api/entryPoints.d.ts +0 -9
  179. package/dist/esm/api/entryPoints.js +0 -21
  180. package/dist/esm/api/gridviewPanelApi.d.ts +0 -37
  181. package/dist/esm/api/gridviewPanelApi.js +0 -23
  182. package/dist/esm/api/panelApi.d.ts +0 -100
  183. package/dist/esm/api/panelApi.js +0 -87
  184. package/dist/esm/api/paneviewPanelApi.d.ts +0 -26
  185. package/dist/esm/api/paneviewPanelApi.js +0 -27
  186. package/dist/esm/api/splitviewPanelApi.d.ts +0 -32
  187. package/dist/esm/api/splitviewPanelApi.js +0 -25
  188. package/dist/esm/array.d.ts +0 -13
  189. package/dist/esm/array.js +0 -57
  190. package/dist/esm/constants.d.ts +0 -8
  191. package/dist/esm/constants.js +0 -8
  192. package/dist/esm/dnd/backend.d.ts +0 -70
  193. package/dist/esm/dnd/backend.js +0 -148
  194. package/dist/esm/dnd/dataTransfer.d.ts +0 -31
  195. package/dist/esm/dnd/dataTransfer.js +0 -67
  196. package/dist/esm/dnd/dnd.d.ts +0 -32
  197. package/dist/esm/dnd/dnd.js +0 -51
  198. package/dist/esm/dnd/dropOverlay.d.ts +0 -20
  199. package/dist/esm/dnd/dropOverlay.js +0 -192
  200. package/dist/esm/dnd/dropTargetAnchorContainer.d.ts +0 -16
  201. package/dist/esm/dnd/dropTargetAnchorContainer.js +0 -73
  202. package/dist/esm/dnd/droptarget.d.ts +0 -116
  203. package/dist/esm/dnd/droptarget.js +0 -316
  204. package/dist/esm/dnd/ghost.d.ts +0 -4
  205. package/dist/esm/dnd/ghost.js +0 -14
  206. package/dist/esm/dnd/pointer/index.d.ts +0 -11
  207. package/dist/esm/dnd/pointer/index.js +0 -5
  208. package/dist/esm/dnd/pointer/longPress.d.ts +0 -32
  209. package/dist/esm/dnd/pointer/longPress.js +0 -127
  210. package/dist/esm/dnd/pointer/pointerDragController.d.ts +0 -60
  211. package/dist/esm/dnd/pointer/pointerDragController.js +0 -193
  212. package/dist/esm/dnd/pointer/pointerDragSource.d.ts +0 -61
  213. package/dist/esm/dnd/pointer/pointerDragSource.js +0 -173
  214. package/dist/esm/dnd/pointer/pointerDropTarget.d.ts +0 -39
  215. package/dist/esm/dnd/pointer/pointerDropTarget.js +0 -168
  216. package/dist/esm/dnd/pointer/pointerGhost.d.ts +0 -30
  217. package/dist/esm/dnd/pointer/pointerGhost.js +0 -39
  218. package/dist/esm/dnd/pointer/types.d.ts +0 -16
  219. package/dist/esm/dnd/pointer/types.js +0 -1
  220. package/dist/esm/dockview/accessibilityMessages.d.ts +0 -32
  221. package/dist/esm/dockview/accessibilityMessages.js +0 -30
  222. package/dist/esm/dockview/allModules.d.ts +0 -8
  223. package/dist/esm/dockview/allModules.js +0 -22
  224. package/dist/esm/dockview/components/panel/content.d.ts +0 -54
  225. package/dist/esm/dockview/components/panel/content.js +0 -185
  226. package/dist/esm/dockview/components/popupService.d.ts +0 -21
  227. package/dist/esm/dockview/components/popupService.js +0 -108
  228. package/dist/esm/dockview/components/tab/defaultTab.d.ts +0 -12
  229. package/dist/esm/dockview/components/tab/defaultTab.js +0 -43
  230. package/dist/esm/dockview/components/tab/tab.d.ts +0 -44
  231. package/dist/esm/dockview/components/tab/tab.js +0 -242
  232. package/dist/esm/dockview/components/titlebar/floatingTitleBar.d.ts +0 -34
  233. package/dist/esm/dockview/components/titlebar/floatingTitleBar.js +0 -65
  234. package/dist/esm/dockview/components/titlebar/groupDragSource.d.ts +0 -51
  235. package/dist/esm/dockview/components/titlebar/groupDragSource.js +0 -178
  236. package/dist/esm/dockview/components/titlebar/tabGroupChip.d.ts +0 -37
  237. package/dist/esm/dockview/components/titlebar/tabGroupChip.js +0 -77
  238. package/dist/esm/dockview/components/titlebar/tabGroupIndicator.d.ts +0 -72
  239. package/dist/esm/dockview/components/titlebar/tabGroupIndicator.js +0 -360
  240. package/dist/esm/dockview/components/titlebar/tabGroups.d.ts +0 -107
  241. package/dist/esm/dockview/components/titlebar/tabGroups.js +0 -621
  242. package/dist/esm/dockview/components/titlebar/tabOverflowControl.d.ts +0 -8
  243. package/dist/esm/dockview/components/titlebar/tabOverflowControl.js +0 -16
  244. package/dist/esm/dockview/components/titlebar/tabs.d.ts +0 -167
  245. package/dist/esm/dockview/components/titlebar/tabs.js +0 -1653
  246. package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts +0 -104
  247. package/dist/esm/dockview/components/titlebar/tabsContainer.js +0 -359
  248. package/dist/esm/dockview/components/titlebar/voidContainer.d.ts +0 -21
  249. package/dist/esm/dockview/components/titlebar/voidContainer.js +0 -92
  250. package/dist/esm/dockview/components/watermark/watermark.d.ts +0 -8
  251. package/dist/esm/dockview/components/watermark/watermark.js +0 -14
  252. package/dist/esm/dockview/deserializer.d.ts +0 -12
  253. package/dist/esm/dockview/deserializer.js +0 -34
  254. package/dist/esm/dockview/dndCapabilities.d.ts +0 -19
  255. package/dist/esm/dockview/dndCapabilities.js +0 -36
  256. package/dist/esm/dockview/dockviewComponent.d.ts +0 -626
  257. package/dist/esm/dockview/dockviewComponent.js +0 -3214
  258. package/dist/esm/dockview/dockviewFloatingGroupPanel.d.ts +0 -45
  259. package/dist/esm/dockview/dockviewFloatingGroupPanel.js +0 -44
  260. package/dist/esm/dockview/dockviewGroupPanel.d.ts +0 -35
  261. package/dist/esm/dockview/dockviewGroupPanel.js +0 -142
  262. package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +0 -358
  263. package/dist/esm/dockview/dockviewGroupPanelModel.js +0 -1180
  264. package/dist/esm/dockview/dockviewPanel.d.ts +0 -69
  265. package/dist/esm/dockview/dockviewPanel.js +0 -178
  266. package/dist/esm/dockview/dockviewPanelModel.d.ts +0 -37
  267. package/dist/esm/dockview/dockviewPanelModel.js +0 -81
  268. package/dist/esm/dockview/dockviewShell.d.ts +0 -150
  269. package/dist/esm/dockview/dockviewShell.js +0 -678
  270. package/dist/esm/dockview/edgeGroupService.d.ts +0 -38
  271. package/dist/esm/dockview/edgeGroupService.js +0 -63
  272. package/dist/esm/dockview/events.d.ts +0 -38
  273. package/dist/esm/dockview/events.js +0 -34
  274. package/dist/esm/dockview/floatingGroupService.d.ts +0 -37
  275. package/dist/esm/dockview/floatingGroupService.js +0 -150
  276. package/dist/esm/dockview/framework.d.ts +0 -65
  277. package/dist/esm/dockview/framework.js +0 -1
  278. package/dist/esm/dockview/headerActionsService.d.ts +0 -32
  279. package/dist/esm/dockview/headerActionsService.js +0 -86
  280. package/dist/esm/dockview/liveRegionService.d.ts +0 -53
  281. package/dist/esm/dockview/liveRegionService.js +0 -159
  282. package/dist/esm/dockview/moduleContracts.d.ts +0 -119
  283. package/dist/esm/dockview/moduleContracts.js +0 -1
  284. package/dist/esm/dockview/modules.d.ts +0 -110
  285. package/dist/esm/dockview/modules.js +0 -170
  286. package/dist/esm/dockview/options.d.ts +0 -474
  287. package/dist/esm/dockview/options.js +0 -77
  288. package/dist/esm/dockview/popoutWindowService.d.ts +0 -95
  289. package/dist/esm/dockview/popoutWindowService.js +0 -175
  290. package/dist/esm/dockview/rootDropTargetService.d.ts +0 -35
  291. package/dist/esm/dockview/rootDropTargetService.js +0 -82
  292. package/dist/esm/dockview/strictEventsSequencing.d.ts +0 -7
  293. package/dist/esm/dockview/strictEventsSequencing.js +0 -41
  294. package/dist/esm/dockview/tabGroup.d.ts +0 -99
  295. package/dist/esm/dockview/tabGroup.js +0 -144
  296. package/dist/esm/dockview/tabGroupAccent.d.ts +0 -65
  297. package/dist/esm/dockview/tabGroupAccent.js +0 -114
  298. package/dist/esm/dockview/theme.d.ts +0 -86
  299. package/dist/esm/dockview/theme.js +0 -136
  300. package/dist/esm/dockview/types.d.ts +0 -53
  301. package/dist/esm/dockview/types.js +0 -1
  302. package/dist/esm/dockview/validate.d.ts +0 -0
  303. package/dist/esm/dockview/validate.js +0 -76
  304. package/dist/esm/dockview/watermarkService.d.ts +0 -30
  305. package/dist/esm/dockview/watermarkService.js +0 -56
  306. package/dist/esm/dom.d.ts +0 -60
  307. package/dist/esm/dom.js +0 -375
  308. package/dist/esm/events.d.ts +0 -79
  309. package/dist/esm/events.js +0 -219
  310. package/dist/esm/framwork.d.ts +0 -4
  311. package/dist/esm/framwork.js +0 -1
  312. package/dist/esm/gridview/baseComponentGridview.d.ts +0 -111
  313. package/dist/esm/gridview/baseComponentGridview.js +0 -237
  314. package/dist/esm/gridview/basePanelView.d.ts +0 -40
  315. package/dist/esm/gridview/basePanelView.js +0 -91
  316. package/dist/esm/gridview/branchNode.d.ts +0 -57
  317. package/dist/esm/gridview/branchNode.js +0 -257
  318. package/dist/esm/gridview/gridview.d.ts +0 -158
  319. package/dist/esm/gridview/gridview.js +0 -681
  320. package/dist/esm/gridview/gridviewComponent.d.ts +0 -88
  321. package/dist/esm/gridview/gridviewComponent.js +0 -265
  322. package/dist/esm/gridview/gridviewPanel.d.ts +0 -77
  323. package/dist/esm/gridview/gridviewPanel.js +0 -182
  324. package/dist/esm/gridview/leafNode.d.ts +0 -34
  325. package/dist/esm/gridview/leafNode.js +0 -102
  326. package/dist/esm/gridview/options.d.ts +0 -15
  327. package/dist/esm/gridview/options.js +0 -14
  328. package/dist/esm/gridview/types.d.ts +0 -3
  329. package/dist/esm/gridview/types.js +0 -1
  330. package/dist/esm/index.d.ts +0 -58
  331. package/dist/esm/index.js +0 -44
  332. package/dist/esm/lifecycle.d.ts +0 -25
  333. package/dist/esm/lifecycle.js +0 -56
  334. package/dist/esm/math.d.ts +0 -5
  335. package/dist/esm/math.js +0 -32
  336. package/dist/esm/overlay/overlay.d.ts +0 -91
  337. package/dist/esm/overlay/overlay.js +0 -520
  338. package/dist/esm/overlay/overlayRenderContainer.d.ts +0 -24
  339. package/dist/esm/overlay/overlayRenderContainer.js +0 -249
  340. package/dist/esm/panel/types.d.ts +0 -33
  341. package/dist/esm/panel/types.js +0 -1
  342. package/dist/esm/paneview/defaultPaneviewHeader.d.ts +0 -21
  343. package/dist/esm/paneview/defaultPaneviewHeader.js +0 -65
  344. package/dist/esm/paneview/draggablePaneviewPanel.d.ts +0 -38
  345. package/dist/esm/paneview/draggablePaneviewPanel.js +0 -107
  346. package/dist/esm/paneview/options.d.ts +0 -30
  347. package/dist/esm/paneview/options.js +0 -22
  348. package/dist/esm/paneview/paneview.d.ts +0 -41
  349. package/dist/esm/paneview/paneview.js +0 -148
  350. package/dist/esm/paneview/paneviewComponent.d.ts +0 -133
  351. package/dist/esm/paneview/paneviewComponent.js +0 -306
  352. package/dist/esm/paneview/paneviewPanel.d.ts +0 -98
  353. package/dist/esm/paneview/paneviewPanel.js +0 -192
  354. package/dist/esm/popoutWindow.d.ts +0 -38
  355. package/dist/esm/popoutWindow.js +0 -170
  356. package/dist/esm/resizable.d.ts +0 -12
  357. package/dist/esm/resizable.js +0 -66
  358. package/dist/esm/scrollbar.d.ts +0 -15
  359. package/dist/esm/scrollbar.js +0 -139
  360. package/dist/esm/splitview/options.d.ts +0 -21
  361. package/dist/esm/splitview/options.js +0 -16
  362. package/dist/esm/splitview/splitview.d.ts +0 -145
  363. package/dist/esm/splitview/splitview.js +0 -770
  364. package/dist/esm/splitview/splitviewComponent.d.ts +0 -101
  365. package/dist/esm/splitview/splitviewComponent.js +0 -267
  366. package/dist/esm/splitview/splitviewPanel.d.ts +0 -45
  367. package/dist/esm/splitview/splitviewPanel.js +0 -108
  368. package/dist/esm/splitview/viewItem.d.ts +0 -25
  369. package/dist/esm/splitview/viewItem.js +0 -74
  370. package/dist/esm/svg.d.ts +0 -3
  371. package/dist/esm/svg.js +0 -31
  372. package/dist/esm/types.d.ts +0 -31
  373. package/dist/esm/types.js +0 -1
  374. package/dist/styles/dockview.css +0 -3436
@@ -1,10 +1,10 @@
1
1
  import { SerializedGridObject, Gridview, SerializedGridview } from '../gridview/gridview';
2
- import { DroptargetOverlayModel, Position } from '../dnd/droptarget';
2
+ import { DroptargetOverlayModel, Position, PositionResolver } from '../dnd/droptarget';
3
3
  import { DockviewPanel, IDockviewPanel } from './dockviewPanel';
4
4
  import { IDisposable } from '../lifecycle';
5
5
  import { Event, Emitter } from '../events';
6
6
  import { IWatermarkRenderer, GroupviewPanelState } from './types';
7
- import { AddGroupOptions, AddPanelOptions, DockviewComponentOptions, DockviewDndOverlayEvent, DockviewOptions, MovementOptions, DockviewHeaderPosition } from './options';
7
+ import { AddGroupOptions, AddPanelOptions, DockviewComponentOptions, DockviewDndOverlayEvent, DockviewOptions, MovementOptions, DockviewHeaderPosition, SmartGuidesOptions } from './options';
8
8
  import { BaseGrid, IBaseGrid } from '../gridview/baseComponentGridview';
9
9
  import { DockviewApi } from '../api/component.api';
10
10
  import { Orientation } from '../splitview/splitview';
@@ -18,7 +18,7 @@ import { IFloatingGroupHost } from './floatingGroupService';
18
18
  import { IPopoutWindowHost } from './popoutWindowService';
19
19
  import { IWatermarkHost } from './watermarkService';
20
20
  import { IEdgeGroupServiceHost } from './edgeGroupService';
21
- import { IAccessibilityHost, IAdvancedDnDHost, IContextMenuHost, IContextMenuService, ITabGroupChipsHost } from './moduleContracts';
21
+ import { IKeyboardNavigationHost, IAdvancedDnDHost, IAutoHideEdgeGroupHost, IContextMenuHost, IContextMenuService, IDndCompassHost, ILayoutHistoryHost, LayoutHistoryChangeEvent, IMultiRowTabsHost, ISmartGuidesHost, SmartGuidesSnapEvent, SmartGuidesSnapTogetherEvent, ITabGroupChipsHost, IPinnedTabsService, IAdvancedOverflowService } from './moduleContracts';
22
22
  import { IHeaderActionsHost } from './headerActionsService';
23
23
  import { AnchoredBox, AnchorPosition, Box } from '../types';
24
24
  import { DockviewPanelRenderer, OverlayRenderContainer } from '../overlay/overlayRenderContainer';
@@ -27,7 +27,7 @@ import { IRootDropTargetHost } from './rootDropTargetService';
27
27
  import { ILiveRegionHost } from './liveRegionService';
28
28
  import { IDragGhostSpec } from '../dnd/backend';
29
29
  import { DropTargetAnchorContainer } from '../dnd/dropTargetAnchorContainer';
30
- import { EdgeGroupPosition, EdgeGroupOptions, SerializedEdgeGroups } from './dockviewShell';
30
+ import { EdgeGroupPosition, AddEdgeGroupOptions, SerializedEdgeGroups } from './dockviewShell';
31
31
  import { DockviewGroupPanelApi } from '../api/dockviewGroupPanelApi';
32
32
  import { TabGroupColorPalette } from './tabGroupAccent';
33
33
  export interface DockviewPopoutGroupOptions {
@@ -147,6 +147,12 @@ export interface FloatingGroupOptions {
147
147
  * group only. See {@link DockviewOptions.floatingGroupDragHandle}.
148
148
  */
149
149
  dragHandle?: 'titlebar' | 'tabbar';
150
+ /**
151
+ * Exclude this floating group from Smart Guides so it never snaps and shows
152
+ * no guides when dragged (e.g. a pinned HUD). See
153
+ * {@link DockviewOptions.smartGuides}.
154
+ */
155
+ disableSmartGuides?: boolean;
150
156
  }
151
157
  interface FloatingGroupOptionsInternal extends FloatingGroupOptions {
152
158
  skipRemoveGroup?: boolean;
@@ -181,6 +187,14 @@ export interface DockviewActivePanelChangeEvent {
181
187
  readonly panel: IDockviewPanel | undefined;
182
188
  readonly origin: DockviewOrigin;
183
189
  }
190
+ /**
191
+ * Fired by `onDidPanelPinnedChange` when a panel is pinned or unpinned via the
192
+ * PinnedTabs module. `isPinned` is the new state.
193
+ */
194
+ export interface DockviewPanelPinnedChangeEvent {
195
+ readonly panel: IDockviewPanel;
196
+ readonly isPinned: boolean;
197
+ }
184
198
  export interface PopoutGroupChangeSizeEvent {
185
199
  width: number;
186
200
  height: number;
@@ -219,6 +233,7 @@ export interface IDockviewComponent extends IBaseGrid<DockviewGroupPanel> {
219
233
  readonly onDidAddPanel: Event<IDockviewPanel>;
220
234
  readonly onDidLayoutFromJSON: Event<void>;
221
235
  readonly onDidActivePanelChange: Event<DockviewActivePanelChangeEvent>;
236
+ readonly onDidPanelPinnedChange: Event<DockviewPanelPinnedChangeEvent>;
222
237
  readonly onWillDragPanel: Event<TabDragEvent>;
223
238
  readonly onWillDragGroup: Event<GroupDragEvent>;
224
239
  readonly onDidRemoveGroup: Event<DockviewGroupPanel>;
@@ -244,6 +259,7 @@ export interface IDockviewComponent extends IBaseGrid<DockviewGroupPanel> {
244
259
  updateOptions(options: DockviewOptions): void;
245
260
  moveGroupOrPanel(options: MoveGroupOrPanelOptions): void;
246
261
  moveGroup(options: MoveGroupOptions): void;
262
+ setPanelPinned(panel: DockviewPanel, pinned: boolean): void;
247
263
  doSetGroupActive: (group: DockviewGroupPanel, skipFocus?: boolean) => void;
248
264
  removeGroup: (group: DockviewGroupPanel) => void;
249
265
  addPanel<T extends object = Parameters>(options: AddPanelOptions<T>): IDockviewPanel;
@@ -253,8 +269,8 @@ export interface IDockviewComponent extends IBaseGrid<DockviewGroupPanel> {
253
269
  addGroup(options?: AddGroupOptions): DockviewGroupPanel;
254
270
  closeAllGroups(): void;
255
271
  adjacentGroupInDirection(group: DockviewGroupPanel, direction: GroupNavigationDirection): DockviewGroupPanel | undefined;
256
- moveToNext(options?: MovementOptions): void;
257
- moveToPrevious(options?: MovementOptions): void;
272
+ activateNext(options?: MovementOptions): void;
273
+ activatePrevious(options?: MovementOptions): void;
258
274
  setActivePanel(panel: IDockviewPanel): void;
259
275
  focus(): void;
260
276
  toJSON(): SerializedDockview;
@@ -264,13 +280,40 @@ export interface IDockviewComponent extends IBaseGrid<DockviewGroupPanel> {
264
280
  fromJSON(data: any, options?: {
265
281
  reuseExistingPanels: boolean;
266
282
  }): void;
267
- addEdgeGroup(position: EdgeGroupPosition, options: EdgeGroupOptions): DockviewGroupPanelApi;
283
+ addEdgeGroup(position: EdgeGroupPosition, options: AddEdgeGroupOptions): DockviewGroupPanelApi;
284
+ revealEdgeGroupWithData(position: EdgeGroupPosition, data: {
285
+ groupId: string;
286
+ panelId?: string | null;
287
+ }, options?: {
288
+ autoHide?: boolean;
289
+ }): void;
268
290
  getEdgeGroup(position: EdgeGroupPosition): DockviewGroupPanelApi | undefined;
269
291
  setEdgeGroupVisible(position: EdgeGroupPosition, visible: boolean): void;
270
292
  isEdgeGroupVisible(position: EdgeGroupPosition): boolean;
271
293
  removeEdgeGroup(position: EdgeGroupPosition): void;
294
+ getEdgeGroupPanel(position: EdgeGroupPosition): DockviewGroupPanel | undefined;
295
+ pinEdgeGroup(position: EdgeGroupPosition): void;
296
+ autoHideEdgeGroup(position: EdgeGroupPosition): void;
297
+ peekEdgeGroup(position: EdgeGroupPosition, peek: boolean): void;
298
+ isEdgeGroupAutoHide(group: DockviewGroupPanel): boolean;
299
+ setEdgeGroupAutoHide(group: DockviewGroupPanel, value: boolean | undefined): void;
300
+ readonly onDidEdgeGroupAutoHideChange: Event<DockviewGroupPanel>;
301
+ readonly overlayRoot: HTMLElement;
302
+ getEdgeGroupExpandedSize(position: EdgeGroupPosition): number;
303
+ undo(): void;
304
+ redo(): void;
305
+ readonly canUndo: boolean;
306
+ readonly canRedo: boolean;
307
+ clearHistory(): void;
308
+ readonly onDidChangeHistory: Event<LayoutHistoryChangeEvent>;
309
+ readonly popoutRestorationPromise: Promise<void>;
310
+ readonly smartGuidesEnabled: boolean;
311
+ setSmartGuidesEnabled(enabled: boolean): void;
312
+ updateSmartGuidesOptions(options: Partial<SmartGuidesOptions>): void;
313
+ readonly onDidSnapFloat: Event<SmartGuidesSnapEvent>;
314
+ readonly onDidSnapTogether: Event<SmartGuidesSnapTogetherEvent>;
272
315
  }
273
- export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> implements IDockviewComponent, IFloatingGroupHost, IPopoutWindowHost, IWatermarkHost, IEdgeGroupServiceHost, ITabGroupChipsHost, IContextMenuHost, IRootDropTargetHost, IHeaderActionsHost, IAdvancedDnDHost, ILiveRegionHost, IAccessibilityHost {
316
+ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> implements IDockviewComponent, IFloatingGroupHost, IPopoutWindowHost, IWatermarkHost, IEdgeGroupServiceHost, ITabGroupChipsHost, IContextMenuHost, IRootDropTargetHost, IHeaderActionsHost, IAdvancedDnDHost, ILiveRegionHost, IKeyboardNavigationHost, ILayoutHistoryHost, IDndCompassHost, ISmartGuidesHost, IAutoHideEdgeGroupHost, IMultiRowTabsHost {
274
317
  private readonly nextGroupId;
275
318
  private readonly _deserializer;
276
319
  private readonly _api;
@@ -281,6 +324,18 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
281
324
  readonly overlayRenderContainer: OverlayRenderContainer;
282
325
  readonly popupService: PopupService;
283
326
  readonly rootDropTargetContainer: DropTargetAnchorContainer;
327
+ /**
328
+ * Shell-level anchor container dedicated to floating groups. Unlike
329
+ * {@link rootDropTargetContainer} it is never disabled by the
330
+ * `dndOverlayMounting: 'relative'` theme setting: a floating group cannot
331
+ * use an in-place ('relative') overlay because the overlay would be
332
+ * appended inside the floating window's stacking context
333
+ * (`.dv-resize-container`, a lower z-index than the shell-level render
334
+ * overlay that hosts the floating panel's content) and be painted over.
335
+ * Routing floating groups through this always-anchored container keeps
336
+ * their drop overlays visible in both mounting modes.
337
+ */
338
+ readonly floatingDropTargetContainer: DropTargetAnchorContainer;
284
339
  private readonly _onWillDragPanel;
285
340
  readonly onWillDragPanel: Event<TabDragEvent>;
286
341
  private readonly _onWillDragGroup;
@@ -312,12 +367,29 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
312
367
  readonly onDidAddPopoutGroup: Event<PopoutGroup>;
313
368
  private readonly _onDidRemovePopoutGroup;
314
369
  readonly onDidRemovePopoutGroup: Event<PopoutGroup>;
370
+ private readonly _onDidChangePopouts;
371
+ /** Fires whenever a popout window opens or closes, i.e. the set of popout
372
+ * documents changed. Used by accessibility services that mirror per-window
373
+ * state (e.g. a live region in each popout). */
374
+ readonly onDidChangePopouts: Event<void>;
315
375
  private readonly _onDidOpenPopoutWindowFail;
316
376
  readonly onDidOpenPopoutWindowFail: Event<void>;
377
+ private readonly _onDidStartFloatingGroupDrag;
378
+ /** Fires with the dragged group when a floating group move-drag first moves.
379
+ * Consumed by the Smart Guides service (`ISmartGuidesHost`) to start each
380
+ * drag from a clean slate (a redock long-press aborts with no end event). */
381
+ readonly onDidStartFloatingGroupDrag: Event<DockviewGroupPanel>;
382
+ private readonly _onDidEndFloatingGroupDrag;
383
+ /** Fires with the dragged group when a floating group's move/resize drag
384
+ * ends. Consumed by the Smart Guides service (`ISmartGuidesHost`) to tear
385
+ * down its per-drag guides. */
386
+ readonly onDidEndFloatingGroupDrag: Event<DockviewGroupPanel>;
317
387
  private readonly _onDidLayoutFromJSON;
318
388
  readonly onDidLayoutFromJSON: Event<void>;
319
389
  private readonly _onDidActivePanelChange;
320
390
  readonly onDidActivePanelChange: Event<DockviewActivePanelChangeEvent>;
391
+ private readonly _onDidPanelPinnedChange;
392
+ readonly onDidPanelPinnedChange: Event<DockviewPanelPinnedChangeEvent>;
321
393
  private readonly _onDidMovePanel;
322
394
  readonly onDidMovePanel: Event<MovePanelEvent>;
323
395
  private readonly _onDidCreateTabGroup;
@@ -345,6 +417,8 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
345
417
  private _inShellLayout;
346
418
  private readonly _onDidRemoveGroup;
347
419
  readonly onDidRemoveGroup: Event<DockviewGroupPanel>;
420
+ private readonly _onDidEdgeGroupAutoHideChange;
421
+ readonly onDidEdgeGroupAutoHideChange: Event<DockviewGroupPanel>;
348
422
  protected readonly _onDidAddGroup: Emitter<DockviewGroupPanel>;
349
423
  readonly onDidAddGroup: Event<DockviewGroupPanel>;
350
424
  private readonly _onDidOptionsChange;
@@ -361,6 +435,16 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
361
435
  get defaultHeaderPosition(): DockviewHeaderPosition;
362
436
  get api(): DockviewApi;
363
437
  get floatingGroups(): readonly DockviewFloatingGroupPanel[];
438
+ /**
439
+ * Resolve the floating window hosting `group`, matched by membership so it
440
+ * finds nested (non-anchor) members too — a floating window can host a
441
+ * whole nested gridview, not just its anchor group. Returns `undefined`
442
+ * when the group isn't in any floating window. `floatingGroups` alone only
443
+ * exposes each window's anchor, so consumers that must act on any member
444
+ * (e.g. lifting an `always`-rendered panel's overlay above the window)
445
+ * should use this instead of a `.find(f => f.group === group)`.
446
+ */
447
+ getFloatingWindowForGroup(group: DockviewGroupPanel): DockviewFloatingGroupPanel | undefined;
364
448
  /**
365
449
  * Boxes of the floating groups other than `exclude`, in coordinates
366
450
  * relative to the floating overlay container. Supplied to a
@@ -368,13 +452,108 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
368
452
  * align the dragged float against its siblings.
369
453
  */
370
454
  private _gatherFloatingGroupBoxes;
455
+ /**
456
+ * ISmartGuidesHost: the positioning parent floats are placed in, also the
457
+ * coordinate space the Smart Guides overlay draws its alignment lines in.
458
+ */
459
+ getFloatingContainer(): HTMLElement;
460
+ /** ISmartGuidesHost: the other floats' group identity + container-relative
461
+ * box, for the snap-together detector. */
462
+ getFloatingGroupSnapshots(exclude: DockviewGroupPanel): readonly {
463
+ group: DockviewGroupPanel;
464
+ box: Box;
465
+ }[];
466
+ /** ISmartGuidesHost: dock/merge a dragged float into a target group via the
467
+ * existing move primitive (so events + undo cover it). */
468
+ mergeFloatInto(dragged: DockviewGroupPanel, target: DockviewGroupPanel, position: Position): void;
469
+ /** ISmartGuidesHost: the main grid's splitter (sash) rectangles, in the
470
+ * floating container's coordinate space, for the optional splitter target. */
471
+ getGridSplitterRects(): Box[];
472
+ private get _smartGuidesService();
473
+ /** Whether Smart Guides snapping is currently active. */
474
+ get smartGuidesEnabled(): boolean;
475
+ /** Toggle Smart Guides snapping at runtime (no-op if the module is absent). */
476
+ setSmartGuidesEnabled(enabled: boolean): void;
477
+ /** Merge a partial Smart Guides option override in at runtime. */
478
+ updateSmartGuidesOptions(options: Partial<SmartGuidesOptions>): void;
479
+ /** Fires when a dragged float commits an alignment snap on drop. */
480
+ get onDidSnapFloat(): Event<SmartGuidesSnapEvent>;
481
+ /** Fires when a dragged float commits a dock/merge on drop. */
482
+ get onDidSnapTogether(): Event<SmartGuidesSnapTogetherEvent>;
483
+ /**
484
+ * Compose the float drag-position transform from the public
485
+ * `transformFloatingGroupDrag` option and the optional Smart Guides module,
486
+ * so an app and the module can both nudge a single drag rather than one
487
+ * clobbering the other. Returns `undefined` only when the app option is
488
+ * unset and the module is absent (the removability case); then no transform
489
+ * is installed and the sibling-box snapshot is skipped, so the drag loop is
490
+ * truly byte-for-byte unchanged. When the module is present but `smartGuides`
491
+ * is unset it installs a cheap pass-through (the service snaps nothing and
492
+ * early-returns), so observable drag behaviour is still unchanged.
493
+ */
494
+ private _buildFloatingDragTransform;
371
495
  private get _floatingGroupService();
372
496
  private get _popoutWindowService();
373
497
  private get _watermarkService();
374
498
  private get _edgeGroupService();
375
499
  private get _rootDropTargetService();
376
500
  private get _advancedDnDService();
501
+ private get _dndCompassService();
502
+ /** IDndCompassHost: whether a content drop at `position` on `group` is
503
+ * allowed, for compass cell gating (only legal cells are shown). The same
504
+ * predicate the content drop target uses, so the compass and the real drop
505
+ * agree. */
506
+ canDropOnGroup(group: DockviewGroupPanel, position: Position, event: DragEvent | PointerEvent): boolean;
507
+ /** IDndCompassHost: the frame the content drop target measures (mirrors the
508
+ * `getOverlayOutline` rule in `content.ts`): the whole group when
509
+ * `dndPanelOverlay === 'group'`, else just the content. The compass paints
510
+ * in this frame so its cells align with where a drop resolves. */
511
+ getDropOverlayElement(group: DockviewGroupPanel): HTMLElement | undefined;
512
+ /** IMultiRowTabsHost: the group's scrollable tab list (`.dv-tabs-container`),
513
+ * the element the wrap controller toggles + measures. */
514
+ getTabsListElement(group: DockviewGroupPanel): HTMLElement | undefined;
515
+ /** IMultiRowTabsHost: re-run a group's layout so a wrapped-header height
516
+ * change propagates to the content + active panel. */
517
+ relayoutGroup(group: DockviewGroupPanel): void;
518
+ /** IMultiRowTabsHost: force the wrap controller's surplus set (rows beyond
519
+ * `overflow.maxRows`) into the group's overflow dropdown. */
520
+ setForcedOverflow(group: DockviewGroupPanel, fn: (panelId: string) => boolean): void;
521
+ /** IDndCompassHost: the layout root (`.dv-dockview`, a positioned element),
522
+ * the surface the outer-cell landing preview is drawn over. */
523
+ getLayoutElement(): HTMLElement;
524
+ /**
525
+ * The drop-position resolver installed on the group content drop targets:
526
+ * the app's `dropPositionResolver` option if set, else the DnD compass
527
+ * module's compass resolver (undefined when the compass is disabled). Read
528
+ * live by the content drop targets; undefined ⇒ default cursor-quadrant.
529
+ */
530
+ getDropPositionResolver(): PositionResolver | undefined;
531
+ /**
532
+ * Dock the dragged item against the whole-layout edge at `position` (the
533
+ * orthogonalized root group), as the layout-edge drop zones do. Shared by
534
+ * the root drop target and by an `edge`-flagged drop on a group content
535
+ * target (a position resolver that marks an outer "dock to the layout edge"
536
+ * cell). No-op when there is no active drag data.
537
+ */
538
+ dockToLayoutEdge(nativeEvent: DragEvent | PointerEvent, position: Position): void;
377
539
  get headerActionsService(): import("./headerActionsService").IHeaderActionsService | undefined;
540
+ private get _layoutHistoryService();
541
+ /** Undo the previous recorded layout mutation (no-op if nothing to undo or
542
+ * the LayoutHistory module is absent). Requires `layoutHistory.enabled`. */
543
+ undo(): void;
544
+ /** Re-apply the next layout mutation (no-op if nothing to redo). */
545
+ redo(): void;
546
+ get canUndo(): boolean;
547
+ get canRedo(): boolean;
548
+ /** Drop both undo and redo stacks. */
549
+ clearHistory(): void;
550
+ get onDidChangeHistory(): Event<LayoutHistoryChangeEvent>;
551
+ /**
552
+ * Whether the two-band edge drag-reveal affordance is registered. See
553
+ * {@link IRootDropTargetHost.hasEdgeDragReveal}; must not be read during
554
+ * module initialisation, only from `init`/postConstruct onwards.
555
+ */
556
+ get hasEdgeDragReveal(): boolean;
378
557
  isGridEmpty(): boolean;
379
558
  rootDropTargetOverrideTarget(): import("../dnd/droptarget").DropTargetTargetModel | undefined;
380
559
  dispatchUnhandledDragOver(nativeEvent: DragEvent | PointerEvent, position: Position): boolean;
@@ -385,7 +564,7 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
385
564
  /**
386
565
  * Resolve the custom group drag ghost (via the AdvancedDnD module), or
387
566
  * `undefined` to fall back to the default chip. Returns `undefined` when
388
- * the module is absent — the default ghost then renders.
567
+ * the module is absent, and the default ghost then renders.
389
568
  */
390
569
  buildGroupDragGhost(group: DockviewGroupPanel): IDragGhostSpec | undefined;
391
570
  /**
@@ -393,13 +572,22 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
393
572
  * for a group drop target, or `undefined` to keep the target's default.
394
573
  */
395
574
  resolveDropOverlayModel(location: DockviewGroupDropLocation, group?: DockviewGroupPanel): DroptargetOverlayModel | undefined;
396
- /** Outermost element — the shell (incl. edge groups) once built, else the gridview. */
575
+ /** Outermost element: the shell (incl. edge groups) once built, else the gridview. */
397
576
  get rootElement(): HTMLElement;
577
+ /**
578
+ * Does this dock own `node`, in any of its windows? True when the node is
579
+ * inside the main shell, or inside one of this component's popout documents.
580
+ * A popout window hosts only this component's content, so whole-document
581
+ * membership is sufficient there; the main document may hold sibling docks,
582
+ * so it must be a containment check. A same-document popout (the jsdom mock)
583
+ * is already covered by the main check and contributes nothing.
584
+ */
585
+ ownsElement(node: Node): boolean;
398
586
  /**
399
587
  * The next / previous group in gridview (spatial) order, wrapping round.
400
588
  * The keyboard accessibility module's focus navigation is built on this
401
- * primitive — the only piece that needs the grid internals; the rest of
402
- * the navigation logic lives in the AccessibilityService.
589
+ * primitive, the only piece that needs the grid internals; the rest of
590
+ * the navigation logic lives in the KeyboardNavigationService.
403
591
  */
404
592
  adjacentGroup(group: DockviewGroupPanel, reverse: boolean): DockviewGroupPanel | undefined;
405
593
  /**
@@ -412,7 +600,22 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
412
600
  showDropPreview(group: DockviewGroupPanel, position: Position): IDisposable;
413
601
  announce(message: string): void;
414
602
  dockPanel(panel: IDockviewPanel, group: DockviewGroupPanel, position: Position): void;
603
+ floatPanel(panel: IDockviewPanel): void;
415
604
  get contextMenuService(): IContextMenuService | undefined;
605
+ get pinnedTabsService(): IPinnedTabsService | undefined;
606
+ get advancedOverflowService(): IAdvancedOverflowService | undefined;
607
+ /**
608
+ * Pin/unpin a panel's tab. The single gated entry point behind
609
+ * `panel.api.setPinned`. Dormant unless `pinnedTabs.enabled` is set (a
610
+ * silent no-op), and a silent no-op when the PinnedTabs module is not
611
+ * registered: reaching past the `enabled` check means the option was set,
612
+ * so the option rule has already named the missing module. When active it
613
+ * mutates the panel's pinned flag (which fires
614
+ * `panel.api.onDidChangePinned`) and the component-level
615
+ * `onDidPanelPinnedChange`; the module reacts to enforce pinned-first
616
+ * ordering.
617
+ */
618
+ setPanelPinned(panel: DockviewPanel, pinned: boolean): void;
416
619
  get mountElement(): HTMLElement;
417
620
  hasVisibleGridGroup(): boolean;
418
621
  fireLayoutChange(): void;
@@ -433,9 +636,12 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
433
636
  addPopoutGroup(itemToPopout: DockviewPanel | DockviewGroupPanel, options?: DockviewPopoutGroupOptionsInternal): Promise<boolean>;
434
637
  /** Enumerate the popout groups currently open in their own windows. */
435
638
  getPopouts(): PopoutGroup[];
639
+ /** The live popout `Window` handles, one per open popout group. The
640
+ * narrow surface accessibility services need to mirror per-window state. */
641
+ getPopoutWindows(): Window[];
436
642
  private _doAddPopoutGroup;
437
643
  /**
438
- * The popout window was blocked (e.g. by the browser's popup blocker —
644
+ * The popout window was blocked (e.g. by the browser's popup blocker,
439
645
  * common when restoring popouts on load). Fall back gracefully so the
440
646
  * group(s) end up valid and visible in the main grid rather than as
441
647
  * orphans that later crash clear()/remove().
@@ -445,7 +651,7 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
445
651
  * Wire a group that has been displaced from a floating / popout window back
446
652
  * to the main grid's render & drop-target containers and dock it at the
447
653
  * root. The caller is responsible for first detaching it from its old
448
- * gridview — the detach strategy differs between the window-teardown path
654
+ * gridview; the detach strategy differs between the window-teardown path
449
655
  * (`doRemoveGroup`) and the blocked-window path (`gridview.remove`).
450
656
  */
451
657
  private redockGroupToMainGrid;
@@ -472,29 +678,107 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
472
678
  private mountFloatingWindow;
473
679
  private orthogonalize;
474
680
  updateOptions(options: Partial<DockviewComponentOptions>): void;
681
+ /**
682
+ * Report any option the caller set whose module isn't registered. Logs
683
+ * once per module+reason; never throws, matching the module system's
684
+ * degrade-to-no-op contract.
685
+ */
686
+ private reportMissingOptionModules;
475
687
  layout(width: number, height: number, forceResize?: boolean | undefined): void;
476
688
  private _syncFloatingOverlayHost;
477
689
  private _layoutFromShell;
478
690
  protected forceRelayout(): void;
479
- addEdgeGroup(position: EdgeGroupPosition, options: EdgeGroupOptions): DockviewGroupPanelApi;
691
+ addEdgeGroup(position: EdgeGroupPosition, options: AddEdgeGroupOptions): DockviewGroupPanelApi;
692
+ /**
693
+ * Reveal (create-or-fill) the edge group at `position` and move the dragged
694
+ * item described by `data` into it. A newly created edge group is created
695
+ * collapsed and flagged `autoReveal` so it tears down to zero footprint when
696
+ * later emptied. If an edge group already exists there it is reused: the
697
+ * panel is added to its tabs and its collapsed/toggled state is left as-is
698
+ * (never re-created; `addEdgeGroup` throws on a duplicate position). No-op if
699
+ * the EdgeGroup module is absent.
700
+ *
701
+ * This is the primitive behind the dock-to-edge groups: the two-band
702
+ * drag-reveal affordance routes its outer-band drops here.
703
+ */
704
+ revealEdgeGroupWithData(position: EdgeGroupPosition, data: {
705
+ groupId: string;
706
+ panelId?: string | null;
707
+ }, options?: {
708
+ autoHide?: boolean;
709
+ }): void;
480
710
  getEdgeGroup(position: EdgeGroupPosition): DockviewGroupPanelApi | undefined;
711
+ /** The edge group panel at a position (the model, not the api). */
712
+ getEdgeGroupPanel(position: EdgeGroupPosition): DockviewGroupPanel | undefined;
713
+ /** Pin (expand) the edge group at a position. Reports the missing module if
714
+ * AutoHideEdgeGroup is absent, since this command is reachable without the
715
+ * `autoHideEdgeGroups` option that would otherwise have named it. */
716
+ pinEdgeGroup(position: EdgeGroupPosition): void;
717
+ /** Auto-hide (collapse to strip) the edge group at a position. */
718
+ autoHideEdgeGroup(position: EdgeGroupPosition): void;
719
+ /** Peek (slide out) / close the collapsed edge group at a position. */
720
+ peekEdgeGroup(position: EdgeGroupPosition, peek: boolean): void;
721
+ /** The auto-hide peek mounts on the shell, the same element the
722
+ * `OverlayRenderContainer` roots on, so `always` content re-anchors in the
723
+ * peek's coordinate space. */
724
+ get overlayRoot(): HTMLElement;
725
+ /** Viewport rect of the docked content area (the element the root/group drop
726
+ * targets hit-test against), used by the two-band drag-reveal affordance to
727
+ * classify a pointer's distance from each edge. This is the gridview/center
728
+ * container, which is inset when edge groups are present, so the outer band
729
+ * sits at the boundary of the content area (adjacent to any existing edge
730
+ * group) rather than at the shell's outer edge. */
731
+ getDropZoneRect(): DOMRect;
732
+ /** The size an edge group expands to (pre-collapse); sizes the peek. */
733
+ getEdgeGroupExpandedSize(position: EdgeGroupPosition): number;
734
+ /** Reposition a single `renderer:'always'` panel's overlay over its
735
+ * reference container, optionally forcing it visible (the auto-hide peek
736
+ * slides an `always` panel out without reparenting it or touching its
737
+ * visibility state). No-op for non-overlay-rendered panels. */
738
+ repositionPanelOverlay(panel: IDockviewPanel, forceVisible: boolean, clip?: DOMRect): void;
481
739
  setEdgeGroupVisible(position: EdgeGroupPosition, visible: boolean): void;
482
740
  isEdgeGroupVisible(position: EdgeGroupPosition): boolean;
483
741
  removeEdgeGroup(position: EdgeGroupPosition): void;
484
742
  setEdgeGroupCollapsed(group: DockviewGroupPanel, collapsed: boolean): void;
485
743
  isEdgeGroupCollapsed(group: DockviewGroupPanel): boolean;
744
+ /** Edge groups currently peeking (auto-hide). The peek state is owned by the
745
+ * auto-hide module; the component just records it so `group.api.isPeeking()`
746
+ * / `onDidPeekChange` work. */
747
+ private readonly _peekingGroups;
748
+ isEdgeGroupPeeking(group: DockviewGroupPanel): boolean;
749
+ /** Set the peek state and fire the group's `onDidPeekChange` (called by the
750
+ * auto-hide service). */
751
+ setEdgeGroupPeeking(group: DockviewGroupPanel, peeking: boolean): void;
752
+ /**
753
+ * Resolve whether an edge group should behave as an auto-hide (pinnable)
754
+ * tool window: the per-group flag when set, otherwise the per-edge
755
+ * `autoHideEdgeGroups` option for the group's edge. This is what lets a
756
+ * static edge group and an auto-hiding one co-exist in the same layout.
757
+ */
758
+ isEdgeGroupAutoHide(group: DockviewGroupPanel): boolean;
759
+ /**
760
+ * Set (or clear, via `undefined`) the per-group auto-hide flag and notify
761
+ * the auto-hide module so it can dock/undock the group at runtime.
762
+ */
763
+ setEdgeGroupAutoHide(group: DockviewGroupPanel, value: boolean | undefined): void;
486
764
  private updateDragAndDropState;
487
765
  focus(): void;
488
766
  getGroupPanel(id: string): IDockviewPanel | undefined;
489
767
  setActivePanel(panel: IDockviewPanel): void;
490
- moveToNext(options?: MovementOptions): void;
491
- moveToPrevious(options?: MovementOptions): void;
768
+ activateNext(options?: MovementOptions): void;
769
+ activatePrevious(options?: MovementOptions): void;
492
770
  /**
493
771
  * Serialize the current state of the layout
494
772
  *
495
773
  * @returns A JSON respresentation of the layout
496
774
  */
497
775
  toJSON(): SerializedDockview;
776
+ /**
777
+ * Serialize the edge groups, augmenting each shell entry with the serialized
778
+ * group state + the component-owned per-group presentation flags (the shell
779
+ * only knows geometry/collapse). Returns `undefined` when there are none.
780
+ */
781
+ private _serializeEdgeGroups;
498
782
  fromJSON(data: SerializedDockview, options?: {
499
783
  reuseExistingPanels: boolean;
500
784
  }): void;
@@ -536,7 +820,7 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
536
820
  *
537
821
  * @returns `true` if the group was detached from a multi-member window;
538
822
  * `false` if `group` is not in a nested window, or is the window's only
539
- * member — in which case the caller is responsible for disposing the whole
823
+ * member, in which case the caller is responsible for disposing the whole
540
824
  * window.
541
825
  */
542
826
  private detachFromNestedWindow;
@@ -579,7 +863,7 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
579
863
  * Run `func` with the operation origin set to `origin`, restoring the
580
864
  * previous value afterwards. Used by the DockviewApi boundary to tag
581
865
  * programmatic operations as `'api'`, and by user-gesture handlers to tag
582
- * `'user'`. Only the outermost caller sets the origin — a nested call (or a
866
+ * `'user'`. Only the outermost caller sets the origin; a nested call (or a
583
867
  * call made while a mutation is already in flight) keeps whatever the
584
868
  * enclosing operation established, so the trigger always wins.
585
869
  */
@@ -30,6 +30,11 @@ export declare class DockviewGroupPanel extends GridviewPanel<DockviewGroupPanel
30
30
  initialize(): void;
31
31
  setActive(isActive: boolean): void;
32
32
  layout(width: number, height: number): void;
33
+ /**
34
+ * Re-run the group's layout with its current dimensions, propagating a
35
+ * header-size change down to the content + active panel.
36
+ */
37
+ relayout(): void;
33
38
  getComponent(): IFrameworkPart;
34
39
  toJSON(): any;
35
40
  }
@@ -50,7 +50,7 @@ export interface DockviewGroupChangeEvent {
50
50
  /**
51
51
  * Payload for the group-level `onDidActivePanelChange`. Extends
52
52
  * {@link DockviewGroupChangeEvent} with the {@link DockviewOrigin} so it mirrors
53
- * the component-level `DockviewActivePanelChangeEvent` — both report whether the
53
+ * the component-level `DockviewActivePanelChangeEvent`. Both report whether the
54
54
  * change came from a user gesture or an API call.
55
55
  */
56
56
  export interface DockviewGroupActivePanelChangeEvent extends DockviewGroupChangeEvent {
@@ -96,6 +96,25 @@ export declare class DockviewWillDropEvent extends DockviewDidDropEvent {
96
96
  export interface IHeader {
97
97
  hidden: boolean;
98
98
  direction: DockviewHeaderDirection;
99
+ /** Register a predicate that keeps matching panels out of the overflow
100
+ * dropdown (used by the PinnedTabs module). No-op default. */
101
+ setOverflowExclude(fn: (panelId: string) => boolean): void;
102
+ /** Register a predicate that forces matching panels into the overflow
103
+ * dropdown regardless of horizontal fit (used by the MultiRowTabs module
104
+ * for the surplus rows beyond `overflow.maxRows`). No-op default. */
105
+ setForcedOverflow(fn: (panelId: string) => boolean): void;
106
+ /** Re-evaluate the overflow dropdown now (e.g. after the exclusion set
107
+ * changed). */
108
+ refreshOverflow(): void;
109
+ /** Enable/disable sticky-on-scroll for pinned tabs (PinnedTabs inline mode):
110
+ * pinned tabs freeze to the left edge as the strip scrolls. No-op default. */
111
+ setPinnedSticky(enabled: boolean): void;
112
+ /** Register a resolver that clamps/redirects a header drop index (used by
113
+ * the PinnedTabs module to enforce the pin boundary). Identity default. */
114
+ setDropIndexResolver(fn: (panelId: string, index: number) => number): void;
115
+ /** Mount (or clear, with `undefined`) a second tab row above the main strip
116
+ * (PinnedTabs `separate-row` mode). The module owns the element. */
117
+ setPinnedRow(el: HTMLElement | undefined): void;
99
118
  }
100
119
  export type DockviewGroupPanelLocked = boolean | 'no-drop-target';
101
120
  export interface IDockviewGroupPanelModel extends IPanel {
@@ -115,6 +134,8 @@ export interface IDockviewGroupPanelModel extends IPanel {
115
134
  headerPosition: DockviewHeaderPosition;
116
135
  setActive(isActive: boolean): void;
117
136
  initialize(): void;
137
+ relayout(): void;
138
+ readonly tabsListElement: HTMLElement;
118
139
  isPanelActive: (panel: IDockviewPanel) => boolean;
119
140
  indexOf(panel: IDockviewPanel): number;
120
141
  openPanel(panel: IDockviewPanel, options?: {
@@ -164,6 +185,7 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
164
185
  private _isGroupActive;
165
186
  private _locked;
166
187
  private _headerPosition;
188
+ private _headerDirection;
167
189
  private _location;
168
190
  private mostRecentlyUsed;
169
191
  private _overwriteRenderContainer;
@@ -237,7 +259,7 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
237
259
  get activePanel(): IDockviewPanel | undefined;
238
260
  /** DOM id of the content container (the group's tabpanel), referenced by each tab's `aria-controls`. */
239
261
  get contentContainerId(): string;
240
- /** The group's content drop target — lets keyboard docking preview a drop here. */
262
+ /** The group's content drop target; lets keyboard docking preview a drop here. */
241
263
  get contentDropTarget(): Droptarget;
242
264
  get locked(): DockviewGroupPanelLocked;
243
265
  set locked(value: DockviewGroupPanelLocked);
@@ -247,6 +269,13 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
247
269
  get isEmpty(): boolean;
248
270
  get hasWatermark(): boolean;
249
271
  get header(): IHeader;
272
+ /** The scrollable tab list element (`.dv-tabs-container`), exposed for the
273
+ * multi-row wrap controller to measure rows / toggle the wrap class. */
274
+ get tabsListElement(): HTMLElement;
275
+ /** The panel whose tab owns `element` (the tab itself or a descendant of
276
+ * it), or `undefined` when the target isn't a tab. The robust inverse of a
277
+ * tab→panel lookup, with no positional/DOM-order assumptions. */
278
+ getPanelForTab(element: Element): IDockviewPanel | undefined;
250
279
  get isContentFocused(): boolean;
251
280
  get headerPosition(): DockviewHeaderPosition;
252
281
  set headerPosition(value: DockviewHeaderPosition);
@@ -342,6 +371,20 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
342
371
  updateActions(element: HTMLElement | undefined): void;
343
372
  setActive(isGroupActive: boolean, force?: boolean): void;
344
373
  layout(width: number, height: number): void;
374
+ /**
375
+ * Re-run the group's layout with its current dimensions. Used to propagate a
376
+ * header-size change (e.g. a header that grew/shrank without the group box
377
+ * changing) down to the content + active panel.
378
+ */
379
+ relayout(): void;
380
+ /**
381
+ * The dimensions available to the content/panel: the group box minus the
382
+ * header along its axis. The header (`dv-tabs-and-actions-container`) is
383
+ * laid out top/bottom (subtract its height) or left/right (subtract its
384
+ * width); a hidden header has `display:none` so its `offset*` is 0 and
385
+ * nothing is subtracted.
386
+ */
387
+ private contentDimensions;
345
388
  private _removePanel;
346
389
  private doRemovePanel;
347
390
  private doAddPanel;
@@ -351,6 +394,13 @@ export declare class DockviewGroupPanelModel extends CompositeDisposable impleme
351
394
  private updateMru;
352
395
  private updateContainer;
353
396
  canDisplayOverlay(event: DragEvent | PointerEvent, position: Position, target: DockviewGroupDropLocation): boolean;
397
+ /**
398
+ * Whether a content drop at `position` is allowed: the locked rules, the
399
+ * shift-to-not-drop gesture, the same-component shortcut, then the
400
+ * `canDisplayOverlay` veto. The single source of truth for the content drop
401
+ * target (`content.ts`) and the compass cell gating (`canDropOnGroup`).
402
+ */
403
+ canDisplayContentOverlay(event: DragEvent | PointerEvent, position: Position): boolean;
354
404
  private handleDropEvent;
355
405
  updateDragAndDropState(): void;
356
406
  dispose(): void;