dockview-core 7.0.4 → 8.1.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 (380) 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/dataTransfer.d.ts +1 -0
  9. package/dist/cjs/dnd/dropTargetAnchorContainer.d.ts +12 -0
  10. package/dist/cjs/dnd/droptarget.d.ts +94 -0
  11. package/dist/cjs/dnd/ghost.d.ts +1 -0
  12. package/dist/cjs/dnd/pointer/longPress.d.ts +2 -2
  13. package/dist/cjs/dnd/pointer/pointerDragController.d.ts +5 -2
  14. package/dist/cjs/dnd/pointer/pointerDragSource.d.ts +1 -1
  15. package/dist/cjs/dnd/pointer/pointerDropTarget.d.ts +30 -1
  16. package/dist/cjs/dnd/pointer/pointerGhost.d.ts +1 -1
  17. package/dist/cjs/dockview/accessibilityMessages.d.ts +6 -0
  18. package/dist/cjs/dockview/advancedDnDService.d.ts +31 -0
  19. package/dist/cjs/dockview/components/panel/content.d.ts +1 -1
  20. package/dist/cjs/dockview/components/tab/defaultTab.d.ts +2 -0
  21. package/dist/cjs/dockview/components/tab/tab.d.ts +2 -0
  22. package/dist/cjs/dockview/components/titlebar/floatingTitleBar.d.ts +2 -2
  23. package/dist/cjs/dockview/components/titlebar/groupDragSource.d.ts +1 -1
  24. package/dist/cjs/dockview/components/titlebar/tabGroupChip.d.ts +1 -1
  25. package/dist/cjs/dockview/components/titlebar/tabGroupIndicator.d.ts +73 -2
  26. package/dist/cjs/dockview/components/titlebar/tabGroups.d.ts +1 -1
  27. package/dist/cjs/dockview/components/titlebar/tabReorderController.d.ts +295 -0
  28. package/dist/cjs/dockview/components/titlebar/tabs.d.ts +120 -50
  29. package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts +48 -0
  30. package/dist/cjs/dockview/dndCapabilities.d.ts +1 -1
  31. package/dist/cjs/dockview/dockviewComponent.d.ts +307 -19
  32. package/dist/cjs/dockview/dockviewGroupPanel.d.ts +5 -0
  33. package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +76 -2
  34. package/dist/cjs/dockview/dockviewPanel.d.ts +12 -0
  35. package/dist/cjs/dockview/dockviewShell.d.ts +48 -24
  36. package/dist/cjs/dockview/edgeGroupService.d.ts +20 -0
  37. package/dist/cjs/dockview/events.d.ts +6 -0
  38. package/dist/cjs/dockview/liveRegionService.d.ts +18 -5
  39. package/dist/cjs/dockview/moduleContracts.d.ts +485 -14
  40. package/dist/cjs/dockview/modules.d.ts +101 -22
  41. package/dist/cjs/dockview/options.d.ts +336 -30
  42. package/dist/cjs/dockview/optionsModules.d.ts +73 -0
  43. package/dist/cjs/dockview/popoutWindowService.d.ts +15 -10
  44. package/dist/cjs/dockview/rootDropTargetService.d.ts +11 -0
  45. package/dist/cjs/dockview/tabGroup.d.ts +3 -0
  46. package/dist/cjs/dockview/tabGroupAccent.d.ts +1 -1
  47. package/dist/cjs/dockview/tabGroupChipsService.d.ts +10 -0
  48. package/dist/cjs/dockview/theme.d.ts +2 -2
  49. package/dist/cjs/dockview/types.d.ts +3 -0
  50. package/dist/cjs/dom.d.ts +9 -1
  51. package/dist/cjs/events.d.ts +1 -1
  52. package/dist/cjs/gridview/baseComponentGridview.d.ts +2 -2
  53. package/dist/cjs/gridview/branchNode.d.ts +16 -0
  54. package/dist/cjs/gridview/gridview.d.ts +2 -0
  55. package/dist/cjs/index.d.ts +35 -29
  56. package/dist/cjs/lifecycle.d.ts +1 -0
  57. package/dist/cjs/overlay/overlay.d.ts +4 -2
  58. package/dist/cjs/overlay/overlayRenderContainer.d.ts +8 -0
  59. package/dist/cjs/paneview/paneview.d.ts +2 -1
  60. package/dist/cjs/paneview/paneviewComponent.d.ts +3 -0
  61. package/dist/cjs/paneview/paneviewPanel.d.ts +5 -0
  62. package/dist/cjs/scrollbar.d.ts +10 -0
  63. package/dist/cjs/splitview/viewItem.d.ts +10 -0
  64. package/dist/cjs/svg.d.ts +1 -0
  65. package/dist/cjs/types.d.ts +8 -0
  66. package/dist/dockview-core.js +18513 -19679
  67. package/dist/dockview-core.min.js +4138 -6
  68. package/dist/dockview-core.min.noStyle.js +6 -7
  69. package/dist/dockview-core.noStyle.js +18512 -19656
  70. package/dist/package/main.cjs.js +18123 -19267
  71. package/dist/package/main.cjs.min.js +6 -6
  72. package/dist/package/main.esm.min.mjs +6 -6
  73. package/dist/package/main.esm.mjs +18081 -19260
  74. package/package.json +81 -77
  75. package/dist/cjs/api/component.api.js +0 -1242
  76. package/dist/cjs/api/dockviewGroupPanelApi.js +0 -200
  77. package/dist/cjs/api/dockviewPanelApi.js +0 -172
  78. package/dist/cjs/api/entryPoints.js +0 -27
  79. package/dist/cjs/api/gridviewPanelApi.js +0 -45
  80. package/dist/cjs/api/panelApi.js +0 -133
  81. package/dist/cjs/api/paneviewPanelApi.js +0 -57
  82. package/dist/cjs/api/splitviewPanelApi.js +0 -47
  83. package/dist/cjs/array.js +0 -66
  84. package/dist/cjs/constants.js +0 -11
  85. package/dist/cjs/dnd/backend.js +0 -171
  86. package/dist/cjs/dnd/dataTransfer.js +0 -100
  87. package/dist/cjs/dnd/dnd.js +0 -74
  88. package/dist/cjs/dnd/dropOverlay.js +0 -197
  89. package/dist/cjs/dnd/dropTargetAnchorContainer.js +0 -104
  90. package/dist/cjs/dnd/droptarget.js +0 -362
  91. package/dist/cjs/dnd/ghost.js +0 -17
  92. package/dist/cjs/dnd/pointer/index.js +0 -13
  93. package/dist/cjs/dnd/pointer/longPress.js +0 -151
  94. package/dist/cjs/dnd/pointer/pointerDragController.js +0 -243
  95. package/dist/cjs/dnd/pointer/pointerDragSource.js +0 -197
  96. package/dist/cjs/dnd/pointer/pointerDropTarget.js +0 -198
  97. package/dist/cjs/dnd/pointer/pointerGhost.js +0 -44
  98. package/dist/cjs/dnd/pointer/types.js +0 -2
  99. package/dist/cjs/dockview/accessibilityMessages.js +0 -51
  100. package/dist/cjs/dockview/allModules.js +0 -25
  101. package/dist/cjs/dockview/components/panel/content.js +0 -213
  102. package/dist/cjs/dockview/components/popupService.js +0 -132
  103. package/dist/cjs/dockview/components/tab/defaultTab.js +0 -70
  104. package/dist/cjs/dockview/components/tab/tab.js +0 -281
  105. package/dist/cjs/dockview/components/titlebar/floatingTitleBar.js +0 -95
  106. package/dist/cjs/dockview/components/titlebar/groupDragSource.js +0 -218
  107. package/dist/cjs/dockview/components/titlebar/tabGroupChip.js +0 -104
  108. package/dist/cjs/dockview/components/titlebar/tabGroupIndicator.js +0 -477
  109. package/dist/cjs/dockview/components/titlebar/tabGroups.js +0 -854
  110. package/dist/cjs/dockview/components/titlebar/tabOverflowControl.js +0 -19
  111. package/dist/cjs/dockview/components/titlebar/tabs.js +0 -2016
  112. package/dist/cjs/dockview/components/titlebar/tabsContainer.js +0 -458
  113. package/dist/cjs/dockview/components/titlebar/voidContainer.js +0 -120
  114. package/dist/cjs/dockview/components/watermark/watermark.js +0 -40
  115. package/dist/cjs/dockview/deserializer.js +0 -39
  116. package/dist/cjs/dockview/dndCapabilities.js +0 -39
  117. package/dist/cjs/dockview/dockviewComponent.js +0 -3896
  118. package/dist/cjs/dockview/dockviewFloatingGroupPanel.js +0 -70
  119. package/dist/cjs/dockview/dockviewGroupPanel.js +0 -204
  120. package/dist/cjs/dockview/dockviewGroupPanelModel.js +0 -1514
  121. package/dist/cjs/dockview/dockviewPanel.js +0 -265
  122. package/dist/cjs/dockview/dockviewPanelModel.js +0 -105
  123. package/dist/cjs/dockview/dockviewShell.js +0 -744
  124. package/dist/cjs/dockview/edgeGroupService.js +0 -128
  125. package/dist/cjs/dockview/events.js +0 -67
  126. package/dist/cjs/dockview/floatingGroupService.js +0 -231
  127. package/dist/cjs/dockview/framework.js +0 -2
  128. package/dist/cjs/dockview/headerActionsService.js +0 -149
  129. package/dist/cjs/dockview/liveRegionService.js +0 -185
  130. package/dist/cjs/dockview/moduleContracts.js +0 -2
  131. package/dist/cjs/dockview/modules.js +0 -304
  132. package/dist/cjs/dockview/options.js +0 -103
  133. package/dist/cjs/dockview/popoutWindowService.js +0 -261
  134. package/dist/cjs/dockview/rootDropTargetService.js +0 -87
  135. package/dist/cjs/dockview/strictEventsSequencing.js +0 -63
  136. package/dist/cjs/dockview/tabGroup.js +0 -219
  137. package/dist/cjs/dockview/tabGroupAccent.js +0 -126
  138. package/dist/cjs/dockview/theme.js +0 -139
  139. package/dist/cjs/dockview/types.js +0 -2
  140. package/dist/cjs/dockview/validate.js +0 -76
  141. package/dist/cjs/dockview/watermarkService.js +0 -61
  142. package/dist/cjs/dom.js +0 -543
  143. package/dist/cjs/events.js +0 -296
  144. package/dist/cjs/framwork.js +0 -2
  145. package/dist/cjs/gridview/baseComponentGridview.js +0 -330
  146. package/dist/cjs/gridview/basePanelView.js +0 -162
  147. package/dist/cjs/gridview/branchNode.js +0 -372
  148. package/dist/cjs/gridview/gridview.js +0 -776
  149. package/dist/cjs/gridview/gridviewComponent.js +0 -363
  150. package/dist/cjs/gridview/gridviewPanel.js +0 -249
  151. package/dist/cjs/gridview/leafNode.js +0 -169
  152. package/dist/cjs/gridview/options.js +0 -17
  153. package/dist/cjs/gridview/types.js +0 -2
  154. package/dist/cjs/index.js +0 -105
  155. package/dist/cjs/lifecycle.js +0 -80
  156. package/dist/cjs/math.js +0 -38
  157. package/dist/cjs/overlay/overlay.js +0 -602
  158. package/dist/cjs/overlay/overlayRenderContainer.js +0 -309
  159. package/dist/cjs/panel/types.js +0 -2
  160. package/dist/cjs/paneview/defaultPaneviewHeader.js +0 -92
  161. package/dist/cjs/paneview/draggablePaneviewPanel.js +0 -141
  162. package/dist/cjs/paneview/options.js +0 -44
  163. package/dist/cjs/paneview/paneview.js +0 -203
  164. package/dist/cjs/paneview/paneviewComponent.js +0 -430
  165. package/dist/cjs/paneview/paneviewPanel.js +0 -275
  166. package/dist/cjs/popoutWindow.js +0 -244
  167. package/dist/cjs/resizable.js +0 -97
  168. package/dist/cjs/scrollbar.js +0 -169
  169. package/dist/cjs/splitview/options.js +0 -19
  170. package/dist/cjs/splitview/splitview.js +0 -999
  171. package/dist/cjs/splitview/splitviewComponent.js +0 -401
  172. package/dist/cjs/splitview/splitviewPanel.js +0 -179
  173. package/dist/cjs/splitview/viewItem.js +0 -119
  174. package/dist/cjs/svg.js +0 -43
  175. package/dist/cjs/types.js +0 -2
  176. package/dist/dockview-core.min.js.map +0 -1
  177. package/dist/dockview-core.min.noStyle.js.map +0 -1
  178. package/dist/esm/api/component.api.d.ts +0 -640
  179. package/dist/esm/api/component.api.js +0 -887
  180. package/dist/esm/api/dockviewGroupPanelApi.d.ts +0 -109
  181. package/dist/esm/api/dockviewGroupPanelApi.js +0 -155
  182. package/dist/esm/api/dockviewPanelApi.d.ts +0 -84
  183. package/dist/esm/api/dockviewPanelApi.js +0 -124
  184. package/dist/esm/api/entryPoints.d.ts +0 -9
  185. package/dist/esm/api/entryPoints.js +0 -21
  186. package/dist/esm/api/gridviewPanelApi.d.ts +0 -37
  187. package/dist/esm/api/gridviewPanelApi.js +0 -23
  188. package/dist/esm/api/panelApi.d.ts +0 -100
  189. package/dist/esm/api/panelApi.js +0 -87
  190. package/dist/esm/api/paneviewPanelApi.d.ts +0 -26
  191. package/dist/esm/api/paneviewPanelApi.js +0 -27
  192. package/dist/esm/api/splitviewPanelApi.d.ts +0 -32
  193. package/dist/esm/api/splitviewPanelApi.js +0 -25
  194. package/dist/esm/array.d.ts +0 -13
  195. package/dist/esm/array.js +0 -57
  196. package/dist/esm/constants.d.ts +0 -8
  197. package/dist/esm/constants.js +0 -8
  198. package/dist/esm/dnd/backend.d.ts +0 -70
  199. package/dist/esm/dnd/backend.js +0 -148
  200. package/dist/esm/dnd/dataTransfer.d.ts +0 -31
  201. package/dist/esm/dnd/dataTransfer.js +0 -67
  202. package/dist/esm/dnd/dnd.d.ts +0 -32
  203. package/dist/esm/dnd/dnd.js +0 -51
  204. package/dist/esm/dnd/dropOverlay.d.ts +0 -20
  205. package/dist/esm/dnd/dropOverlay.js +0 -192
  206. package/dist/esm/dnd/dropTargetAnchorContainer.d.ts +0 -16
  207. package/dist/esm/dnd/dropTargetAnchorContainer.js +0 -73
  208. package/dist/esm/dnd/droptarget.d.ts +0 -116
  209. package/dist/esm/dnd/droptarget.js +0 -316
  210. package/dist/esm/dnd/ghost.d.ts +0 -4
  211. package/dist/esm/dnd/ghost.js +0 -14
  212. package/dist/esm/dnd/pointer/index.d.ts +0 -11
  213. package/dist/esm/dnd/pointer/index.js +0 -5
  214. package/dist/esm/dnd/pointer/longPress.d.ts +0 -32
  215. package/dist/esm/dnd/pointer/longPress.js +0 -127
  216. package/dist/esm/dnd/pointer/pointerDragController.d.ts +0 -60
  217. package/dist/esm/dnd/pointer/pointerDragController.js +0 -193
  218. package/dist/esm/dnd/pointer/pointerDragSource.d.ts +0 -61
  219. package/dist/esm/dnd/pointer/pointerDragSource.js +0 -173
  220. package/dist/esm/dnd/pointer/pointerDropTarget.d.ts +0 -39
  221. package/dist/esm/dnd/pointer/pointerDropTarget.js +0 -168
  222. package/dist/esm/dnd/pointer/pointerGhost.d.ts +0 -30
  223. package/dist/esm/dnd/pointer/pointerGhost.js +0 -39
  224. package/dist/esm/dnd/pointer/types.d.ts +0 -16
  225. package/dist/esm/dnd/pointer/types.js +0 -1
  226. package/dist/esm/dockview/accessibilityMessages.d.ts +0 -32
  227. package/dist/esm/dockview/accessibilityMessages.js +0 -30
  228. package/dist/esm/dockview/allModules.d.ts +0 -8
  229. package/dist/esm/dockview/allModules.js +0 -22
  230. package/dist/esm/dockview/components/panel/content.d.ts +0 -54
  231. package/dist/esm/dockview/components/panel/content.js +0 -185
  232. package/dist/esm/dockview/components/popupService.d.ts +0 -21
  233. package/dist/esm/dockview/components/popupService.js +0 -108
  234. package/dist/esm/dockview/components/tab/defaultTab.d.ts +0 -12
  235. package/dist/esm/dockview/components/tab/defaultTab.js +0 -43
  236. package/dist/esm/dockview/components/tab/tab.d.ts +0 -44
  237. package/dist/esm/dockview/components/tab/tab.js +0 -242
  238. package/dist/esm/dockview/components/titlebar/floatingTitleBar.d.ts +0 -34
  239. package/dist/esm/dockview/components/titlebar/floatingTitleBar.js +0 -65
  240. package/dist/esm/dockview/components/titlebar/groupDragSource.d.ts +0 -51
  241. package/dist/esm/dockview/components/titlebar/groupDragSource.js +0 -178
  242. package/dist/esm/dockview/components/titlebar/tabGroupChip.d.ts +0 -37
  243. package/dist/esm/dockview/components/titlebar/tabGroupChip.js +0 -77
  244. package/dist/esm/dockview/components/titlebar/tabGroupIndicator.d.ts +0 -72
  245. package/dist/esm/dockview/components/titlebar/tabGroupIndicator.js +0 -360
  246. package/dist/esm/dockview/components/titlebar/tabGroups.d.ts +0 -107
  247. package/dist/esm/dockview/components/titlebar/tabGroups.js +0 -621
  248. package/dist/esm/dockview/components/titlebar/tabOverflowControl.d.ts +0 -8
  249. package/dist/esm/dockview/components/titlebar/tabOverflowControl.js +0 -16
  250. package/dist/esm/dockview/components/titlebar/tabs.d.ts +0 -167
  251. package/dist/esm/dockview/components/titlebar/tabs.js +0 -1653
  252. package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts +0 -104
  253. package/dist/esm/dockview/components/titlebar/tabsContainer.js +0 -359
  254. package/dist/esm/dockview/components/titlebar/voidContainer.d.ts +0 -21
  255. package/dist/esm/dockview/components/titlebar/voidContainer.js +0 -92
  256. package/dist/esm/dockview/components/watermark/watermark.d.ts +0 -8
  257. package/dist/esm/dockview/components/watermark/watermark.js +0 -14
  258. package/dist/esm/dockview/deserializer.d.ts +0 -12
  259. package/dist/esm/dockview/deserializer.js +0 -34
  260. package/dist/esm/dockview/dndCapabilities.d.ts +0 -19
  261. package/dist/esm/dockview/dndCapabilities.js +0 -36
  262. package/dist/esm/dockview/dockviewComponent.d.ts +0 -626
  263. package/dist/esm/dockview/dockviewComponent.js +0 -3214
  264. package/dist/esm/dockview/dockviewFloatingGroupPanel.d.ts +0 -45
  265. package/dist/esm/dockview/dockviewFloatingGroupPanel.js +0 -44
  266. package/dist/esm/dockview/dockviewGroupPanel.d.ts +0 -35
  267. package/dist/esm/dockview/dockviewGroupPanel.js +0 -142
  268. package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +0 -358
  269. package/dist/esm/dockview/dockviewGroupPanelModel.js +0 -1180
  270. package/dist/esm/dockview/dockviewPanel.d.ts +0 -69
  271. package/dist/esm/dockview/dockviewPanel.js +0 -178
  272. package/dist/esm/dockview/dockviewPanelModel.d.ts +0 -37
  273. package/dist/esm/dockview/dockviewPanelModel.js +0 -81
  274. package/dist/esm/dockview/dockviewShell.d.ts +0 -150
  275. package/dist/esm/dockview/dockviewShell.js +0 -678
  276. package/dist/esm/dockview/edgeGroupService.d.ts +0 -38
  277. package/dist/esm/dockview/edgeGroupService.js +0 -63
  278. package/dist/esm/dockview/events.d.ts +0 -38
  279. package/dist/esm/dockview/events.js +0 -34
  280. package/dist/esm/dockview/floatingGroupService.d.ts +0 -37
  281. package/dist/esm/dockview/floatingGroupService.js +0 -150
  282. package/dist/esm/dockview/framework.d.ts +0 -65
  283. package/dist/esm/dockview/framework.js +0 -1
  284. package/dist/esm/dockview/headerActionsService.d.ts +0 -32
  285. package/dist/esm/dockview/headerActionsService.js +0 -86
  286. package/dist/esm/dockview/liveRegionService.d.ts +0 -53
  287. package/dist/esm/dockview/liveRegionService.js +0 -159
  288. package/dist/esm/dockview/moduleContracts.d.ts +0 -119
  289. package/dist/esm/dockview/moduleContracts.js +0 -1
  290. package/dist/esm/dockview/modules.d.ts +0 -110
  291. package/dist/esm/dockview/modules.js +0 -170
  292. package/dist/esm/dockview/options.d.ts +0 -474
  293. package/dist/esm/dockview/options.js +0 -77
  294. package/dist/esm/dockview/popoutWindowService.d.ts +0 -95
  295. package/dist/esm/dockview/popoutWindowService.js +0 -175
  296. package/dist/esm/dockview/rootDropTargetService.d.ts +0 -35
  297. package/dist/esm/dockview/rootDropTargetService.js +0 -82
  298. package/dist/esm/dockview/strictEventsSequencing.d.ts +0 -7
  299. package/dist/esm/dockview/strictEventsSequencing.js +0 -41
  300. package/dist/esm/dockview/tabGroup.d.ts +0 -99
  301. package/dist/esm/dockview/tabGroup.js +0 -144
  302. package/dist/esm/dockview/tabGroupAccent.d.ts +0 -65
  303. package/dist/esm/dockview/tabGroupAccent.js +0 -114
  304. package/dist/esm/dockview/theme.d.ts +0 -86
  305. package/dist/esm/dockview/theme.js +0 -136
  306. package/dist/esm/dockview/types.d.ts +0 -53
  307. package/dist/esm/dockview/types.js +0 -1
  308. package/dist/esm/dockview/validate.d.ts +0 -0
  309. package/dist/esm/dockview/validate.js +0 -76
  310. package/dist/esm/dockview/watermarkService.d.ts +0 -30
  311. package/dist/esm/dockview/watermarkService.js +0 -56
  312. package/dist/esm/dom.d.ts +0 -60
  313. package/dist/esm/dom.js +0 -375
  314. package/dist/esm/events.d.ts +0 -79
  315. package/dist/esm/events.js +0 -219
  316. package/dist/esm/framwork.d.ts +0 -4
  317. package/dist/esm/framwork.js +0 -1
  318. package/dist/esm/gridview/baseComponentGridview.d.ts +0 -111
  319. package/dist/esm/gridview/baseComponentGridview.js +0 -237
  320. package/dist/esm/gridview/basePanelView.d.ts +0 -40
  321. package/dist/esm/gridview/basePanelView.js +0 -91
  322. package/dist/esm/gridview/branchNode.d.ts +0 -57
  323. package/dist/esm/gridview/branchNode.js +0 -257
  324. package/dist/esm/gridview/gridview.d.ts +0 -158
  325. package/dist/esm/gridview/gridview.js +0 -681
  326. package/dist/esm/gridview/gridviewComponent.d.ts +0 -88
  327. package/dist/esm/gridview/gridviewComponent.js +0 -265
  328. package/dist/esm/gridview/gridviewPanel.d.ts +0 -77
  329. package/dist/esm/gridview/gridviewPanel.js +0 -182
  330. package/dist/esm/gridview/leafNode.d.ts +0 -34
  331. package/dist/esm/gridview/leafNode.js +0 -102
  332. package/dist/esm/gridview/options.d.ts +0 -15
  333. package/dist/esm/gridview/options.js +0 -14
  334. package/dist/esm/gridview/types.d.ts +0 -3
  335. package/dist/esm/gridview/types.js +0 -1
  336. package/dist/esm/index.d.ts +0 -58
  337. package/dist/esm/index.js +0 -44
  338. package/dist/esm/lifecycle.d.ts +0 -25
  339. package/dist/esm/lifecycle.js +0 -56
  340. package/dist/esm/math.d.ts +0 -5
  341. package/dist/esm/math.js +0 -32
  342. package/dist/esm/overlay/overlay.d.ts +0 -91
  343. package/dist/esm/overlay/overlay.js +0 -520
  344. package/dist/esm/overlay/overlayRenderContainer.d.ts +0 -24
  345. package/dist/esm/overlay/overlayRenderContainer.js +0 -249
  346. package/dist/esm/panel/types.d.ts +0 -33
  347. package/dist/esm/panel/types.js +0 -1
  348. package/dist/esm/paneview/defaultPaneviewHeader.d.ts +0 -21
  349. package/dist/esm/paneview/defaultPaneviewHeader.js +0 -65
  350. package/dist/esm/paneview/draggablePaneviewPanel.d.ts +0 -38
  351. package/dist/esm/paneview/draggablePaneviewPanel.js +0 -107
  352. package/dist/esm/paneview/options.d.ts +0 -30
  353. package/dist/esm/paneview/options.js +0 -22
  354. package/dist/esm/paneview/paneview.d.ts +0 -41
  355. package/dist/esm/paneview/paneview.js +0 -148
  356. package/dist/esm/paneview/paneviewComponent.d.ts +0 -133
  357. package/dist/esm/paneview/paneviewComponent.js +0 -306
  358. package/dist/esm/paneview/paneviewPanel.d.ts +0 -98
  359. package/dist/esm/paneview/paneviewPanel.js +0 -192
  360. package/dist/esm/popoutWindow.d.ts +0 -38
  361. package/dist/esm/popoutWindow.js +0 -170
  362. package/dist/esm/resizable.d.ts +0 -12
  363. package/dist/esm/resizable.js +0 -66
  364. package/dist/esm/scrollbar.d.ts +0 -15
  365. package/dist/esm/scrollbar.js +0 -139
  366. package/dist/esm/splitview/options.d.ts +0 -21
  367. package/dist/esm/splitview/options.js +0 -16
  368. package/dist/esm/splitview/splitview.d.ts +0 -145
  369. package/dist/esm/splitview/splitview.js +0 -770
  370. package/dist/esm/splitview/splitviewComponent.d.ts +0 -101
  371. package/dist/esm/splitview/splitviewComponent.js +0 -267
  372. package/dist/esm/splitview/splitviewPanel.d.ts +0 -45
  373. package/dist/esm/splitview/splitviewPanel.js +0 -108
  374. package/dist/esm/splitview/viewItem.d.ts +0 -25
  375. package/dist/esm/splitview/viewItem.js +0 -74
  376. package/dist/esm/svg.d.ts +0 -3
  377. package/dist/esm/svg.js +0 -31
  378. package/dist/esm/types.d.ts +0 -31
  379. package/dist/esm/types.js +0 -1
  380. package/dist/styles/dockview.css +0 -3436
package/LICENCE.md ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2021 mathuo
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,96 +1,27 @@
1
1
  <div align="center">
2
+
3
+ <picture>
4
+ <source media="(prefers-color-scheme: dark)" srcset="https://github.com/dockview/dockview/blob/HEAD/static/img/dockview-lockup-dark.svg?raw=true">
5
+ <img src="https://github.com/dockview/dockview/blob/HEAD/static/img/dockview-lockup-light.svg?raw=true" alt="Dockview" width="480">
6
+ </picture>
7
+
2
8
  <h1>dockview-core</h1>
3
9
 
4
- <p>Framework-agnostic core layout engine — zero dependencies, JavaScript. Supports tabs, groups, grids and splitviews</p>
10
+ <p>Internal core layout engine. Not a supported install target.</p>
5
11
 
6
12
  </div>
7
13
 
8
14
  ---
9
15
 
10
- [![npm version](https://badge.fury.io/js/dockview-core.svg)](https://www.npmjs.com/package/dockview-core)
11
- [![npm](https://img.shields.io/npm/dm/dockview-core)](https://www.npmjs.com/package/dockview-core)
12
- [![CI Build](https://github.com/mathuo/dockview/workflows/CI/badge.svg)](https://github.com/mathuo/dockview/actions?query=workflow%3ACI)
13
- [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=mathuo_dockview&metric=coverage)](https://sonarcloud.io/summary/overall?id=mathuo_dockview)
14
- [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=mathuo_dockview&metric=alert_status)](https://sonarcloud.io/summary/overall?id=mathuo_dockview)
15
- [![Bundle Phobia](https://badgen.net/bundlephobia/minzip/dockview-core)](https://bundlephobia.com/result?p=dockview-core)
16
-
17
- ##
18
-
19
- ![](https://github.com/mathuo/dockview/blob/HEAD/packages/docs/static/img/splashscreenv2.png?raw=true)
20
-
21
- Please see the website: https://dockview.dev
22
-
23
- > **`dockview-core` is an internal package.** Install
24
- > **[`dockview`](https://www.npmjs.com/package/dockview)** instead — the JavaScript
25
- > JavaScript / TypeScript package that ships the full feature set out of the box. Using a
26
- > framework? Install the bindings: [`dockview-react`](https://www.npmjs.com/package/dockview-react),
27
- > [`dockview-vue`](https://www.npmjs.com/package/dockview-vue) or
28
- > [`dockview-angular`](https://www.npmjs.com/package/dockview-angular).
29
-
30
- ## Features
31
-
32
- - Serialization / deserialization with full layout management
33
- - Support for split-views, grid-views and 'dockable' views
34
- - Themeable and customizable
35
- - Tab and Group docking / Drag n' Drop
36
- - Touch & mobile support
37
- - Popout Windows
38
- - Floating Groups
39
- - Edge Groups
40
- - Tab Groups
41
- - Extensive API
42
- - Supports Shadow DOMs
43
- - High test coverage
44
- - Documentation website with live examples
45
- - Transparent builds and Code Analysis
46
- - Security at mind - verified publishing and builds through GitHub Actions
47
-
48
- ## Quick Start
49
-
50
- Install from [npm](https://www.npmjs.com/package/dockview-core):
51
-
52
- ```
53
- npm install dockview-core
54
- ```
55
-
56
- Import the stylesheet:
57
-
58
- ```css
59
- @import 'dockview-core/dist/styles/dockview.css';
60
- ```
61
-
62
- Create a dockview instance:
63
-
64
- ```ts
65
- import { DockviewComponent } from 'dockview-core';
66
-
67
- const element = document.getElementById('app');
68
-
69
- const dockview = new DockviewComponent(element, {
70
- createComponent: (options) => {
71
- switch (options.name) {
72
- case 'my-component':
73
- return {
74
- init: (params) => {
75
- params.containerElement.textContent = 'Hello World';
76
- },
77
- };
78
- }
79
- },
80
- });
81
-
82
- dockview.addPanel({
83
- id: 'panel_1',
84
- component: 'my-component',
85
- });
86
- ```
87
-
88
- Apply a theme to a parent element:
89
-
90
- ```html
91
- <div id="app" class="dockview-theme-dark" style="height: 400px;"></div>
92
- ```
16
+ > **`dockview-core` is an internal package.** It is published only because the
17
+ > public packages depend on it at install time. Install one of these instead:
18
+ >
19
+ > - **[`dockview`](https://www.npmjs.com/package/dockview)** - JavaScript / TypeScript
20
+ > - **[`dockview-react`](https://www.npmjs.com/package/dockview-react)** - React
21
+ > - **[`dockview-vue`](https://www.npmjs.com/package/dockview-vue)** - Vue 3
22
+ > - **[`dockview-angular`](https://www.npmjs.com/package/dockview-angular)** - Angular
93
23
 
94
- See the [documentation](https://dockview.dev) for full examples.
24
+ `dockview` re-exports this package in full, so everything documented on the website
25
+ is available from `dockview` or a framework binding.
95
26
 
96
- Want to verify our builds? Go [here](https://www.npmjs.com/package/dockview-core#Provenance).
27
+ Documentation: https://dockview.dev
@@ -1,5 +1,6 @@
1
- import { DockviewActivePanelChangeEvent, DockviewLayoutMutationEvent, DockviewMaximizedGroupChangeEvent, DockviewPopoutGroupOptions, FloatingGroupOptions, GroupNavigationDirection, IDockviewComponent, MovePanelEvent, PopoutGroup, PopoutGroupChangePositionEvent, PopoutGroupChangeSizeEvent, SerializedDockview } from '../dockview/dockviewComponent';
2
- import { AddGroupOptions, AddPanelOptions, DockviewComponentOptions, DockviewDndOverlayEvent, MovementOptions } from '../dockview/options';
1
+ import { DockviewActivePanelChangeEvent, DockviewPanelPinnedChangeEvent, DockviewLayoutMutationEvent, DockviewMaximizedGroupChangeEvent, DockviewPopoutGroupOptions, FloatingGroupOptions, GroupNavigationDirection, IDockviewComponent, MovePanelEvent, PopoutGroup, PopoutGroupChangePositionEvent, PopoutGroupChangeSizeEvent, SerializedDockview } from '../dockview/dockviewComponent';
2
+ import { AddGroupOptions, AddPanelOptions, DockviewComponentOptions, DockviewDndOverlayEvent, MovementOptions, SmartGuidesOptions } from '../dockview/options';
3
+ import { DockviewMessages } from '../dockview/accessibilityMessages';
3
4
  import { Parameters } from '../panel/types';
4
5
  import { Direction } from '../gridview/baseComponentGridview';
5
6
  import { AddGridviewComponentOptions, IGridviewComponent, SerializedGridviewComponent } from '../gridview/gridviewComponent';
@@ -11,6 +12,7 @@ import { IView, Orientation, Sizing } from '../splitview/splitview';
11
12
  import { ISplitviewPanel } from '../splitview/splitviewPanel';
12
13
  import { DockviewGroupPanel, IDockviewGroupPanel } from '../dockview/dockviewGroupPanel';
13
14
  import { Event } from '../events';
15
+ import { LayoutHistoryChangeEvent, SmartGuidesSnapEvent, SmartGuidesSnapTogetherEvent } from '../dockview/moduleContracts';
14
16
  import { IDockviewPanel } from '../dockview/dockviewPanel';
15
17
  import { PaneviewDidDropEvent } from '../paneview/draggablePaneviewPanel';
16
18
  import { GroupDragEvent, TabDragEvent } from '../dockview/components/titlebar/tabsContainer';
@@ -21,7 +23,7 @@ import { DockviewTabGroupColorEntry } from '../dockview/tabGroupAccent';
21
23
  import { PaneviewComponentOptions, PaneviewDndOverlayEvent } from '../paneview/options';
22
24
  import { SplitviewComponentOptions } from '../splitview/options';
23
25
  import { GridviewComponentOptions } from '../gridview/options';
24
- import { EdgeGroupPosition, EdgeGroupOptions } from '../dockview/dockviewShell';
26
+ import { EdgeGroupPosition, AddEdgeGroupOptions } from '../dockview/dockviewShell';
25
27
  import { DockviewGroupPanelApi } from './dockviewGroupPanelApi';
26
28
  export interface CommonApi<T = any> {
27
29
  readonly height: number;
@@ -384,6 +386,11 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
384
386
  * {@link DockviewOrigin} (`'user'` vs `'api'`) of the change.
385
387
  */
386
388
  get onDidActivePanelChange(): Event<DockviewActivePanelChangeEvent>;
389
+ /**
390
+ * Fired when a panel is pinned or unpinned (PinnedTabs module). Carries the
391
+ * panel and its new `isPinned` state.
392
+ */
393
+ get onDidPanelPinnedChange(): Event<DockviewPanelPinnedChangeEvent>;
387
394
  /**
388
395
  * Invoked when a panel is added. May be called multiple times when moving panels.
389
396
  */
@@ -416,7 +423,7 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
416
423
  * Fires before each top-level structural layout mutation (add / remove /
417
424
  * move / float / popout / maximize / load / clear). Compound operations
418
425
  * (e.g. a drag) fire once. Pair with `onDidMutateLayout` to bracket a
419
- * change — useful for undo/redo, autosave and dirty-tracking.
426
+ * change, which is useful for undo/redo, autosave and dirty-tracking.
420
427
  */
421
428
  get onWillMutateLayout(): Event<DockviewLayoutMutationEvent>;
422
429
  /** Fires after each top-level structural layout mutation. See `onWillMutateLayout`. */
@@ -451,7 +458,7 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
451
458
  */
452
459
  get onDidAddPopoutGroup(): Event<PopoutGroup>;
453
460
  /**
454
- * Fires when a popout group is removed — whether the user closed its window
461
+ * Fires when a popout group is removed, whether the user closed its window
455
462
  * or it was docked back programmatically. Symmetric with
456
463
  * {@link onDidAddPopoutGroup}; not fired during component disposal.
457
464
  */
@@ -493,7 +500,7 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
493
500
  get groups(): DockviewGroupPanel[];
494
501
  /**
495
502
  * The nearest grid group in a spatial direction from `group`, comparing
496
- * group centre points — e.g. the group visually to the left. Floating and
503
+ * group centre points, e.g. the group visually to the left. Floating and
497
504
  * popout groups are ignored. Returns `undefined` when there is no group in
498
505
  * that direction. Pair with `group.api.boundingBox` to build your own
499
506
  * spatial navigation.
@@ -507,6 +514,12 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
507
514
  * Active group object.
508
515
  */
509
516
  get activeGroup(): DockviewGroupPanel | undefined;
517
+ /**
518
+ * The resolved accessibility message catalog (the app's `messages`
519
+ * overrides merged over the English defaults). Used by parts that surface
520
+ * localisable AT strings, e.g. the default tab's close-button label.
521
+ */
522
+ get messages(): DockviewMessages;
510
523
  constructor(component: IDockviewComponent);
511
524
  /**
512
525
  * Focus the component. Will try to focus an active panel if one exists.
@@ -563,11 +576,64 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
563
576
  */
564
577
  clear(): void;
565
578
  /**
566
- * Move the focus progmatically to the next panel or group.
579
+ * Undo the previous recorded layout mutation. No-op when there is nothing
580
+ * to undo, when `layoutHistory.enabled` is not set, or when the
581
+ * LayoutHistory module is absent.
582
+ */
583
+ undo(): void;
584
+ /** Re-apply the next layout mutation undone via {@link undo}. */
585
+ redo(): void;
586
+ /** Whether {@link undo} would do something. Reactive via {@link onDidChangeHistory}. */
587
+ get canUndo(): boolean;
588
+ /** Whether {@link redo} would do something. */
589
+ get canRedo(): boolean;
590
+ /** Drop both undo and redo stacks (e.g. on document switch). */
591
+ clearHistory(): void;
592
+ /** Fires whenever the undo/redo stacks change. */
593
+ get onDidChangeHistory(): Event<LayoutHistoryChangeEvent>;
594
+ /**
595
+ * Whether Smart Guides snapping is active (the `smartGuides` option is
596
+ * present + enabled and the module is registered). Reactive via
597
+ * {@link setSmartGuidesEnabled}.
598
+ */
599
+ get smartGuidesEnabled(): boolean;
600
+ /** Toggle Smart Guides snapping at runtime (no-op when the module is absent). */
601
+ setSmartGuidesEnabled(enabled: boolean): void;
602
+ /** Merge a partial Smart Guides option override in at runtime. */
603
+ updateSmartGuidesOptions(options: Partial<SmartGuidesOptions>): void;
604
+ /** Fires when a dragged floating group commits an alignment snap on drop. */
605
+ get onDidSnapFloat(): Event<SmartGuidesSnapEvent>;
606
+ /** Fires when a dragged floating group docks/merges into another on drop. */
607
+ get onDidSnapTogether(): Event<SmartGuidesSnapTogetherEvent>;
608
+ /**
609
+ * Resolves once any in-flight popout-window restoration completes. Popout
610
+ * windows re-open asynchronously, so after an {@link undo} / {@link redo} (or
611
+ * {@link fromJSON}) that re-opens a popout, await this to know the window is
612
+ * ready. Already-resolved when nothing is restoring.
613
+ */
614
+ get popoutRestorationPromise(): Promise<void>;
615
+ /**
616
+ * Activate the next panel or group, moving focus programmatically. Pass
617
+ * `{ includePanel: true }` to step through the panels of the active group
618
+ * before advancing to the next group.
619
+ */
620
+ activateNext(options?: MovementOptions): void;
621
+ /**
622
+ * Activate the previous panel or group, moving focus programmatically. Pass
623
+ * `{ includePanel: true }` to step through the panels of the active group
624
+ * before advancing to the previous group.
625
+ */
626
+ activatePrevious(options?: MovementOptions): void;
627
+ /**
628
+ * @deprecated Use {@link DockviewApi.activateNext} instead. Renamed because
629
+ * this advances the active panel/group (focus), it does not relocate a
630
+ * panel. Removal planned for a future major release.
567
631
  */
568
632
  moveToNext(options?: MovementOptions): void;
569
633
  /**
570
- * Move the focus progmatically to the previous panel or group.
634
+ * @deprecated Use {@link DockviewApi.activatePrevious} instead. Renamed
635
+ * because this advances the active panel/group (focus), it does not
636
+ * relocate a panel. Removal planned for a future major release.
571
637
  */
572
638
  moveToPrevious(options?: MovementOptions): void;
573
639
  maximizeGroup(panel: IDockviewPanel): void;
@@ -582,7 +648,19 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
582
648
  * Add an edge group at the given position. Returns the group panel API
583
649
  * for the newly created group. Throws if a group already exists there.
584
650
  */
585
- addEdgeGroup(position: EdgeGroupPosition, options: EdgeGroupOptions): DockviewGroupPanelApi;
651
+ addEdgeGroup(position: EdgeGroupPosition, options: AddEdgeGroupOptions): DockviewGroupPanelApi;
652
+ /**
653
+ * Reveal (create-or-fill) the edge group at `position` and move the dragged
654
+ * item described by `data` into it. A newly created edge group tears down to
655
+ * zero footprint when later emptied. Drives the dock-to-edge groups behind
656
+ * the `dockToEdgeGroups` option; a no-op if edge groups are unavailable.
657
+ */
658
+ revealEdgeGroupWithData(position: EdgeGroupPosition, data: {
659
+ groupId: string;
660
+ panelId?: string | null;
661
+ }, options?: {
662
+ autoHide?: boolean;
663
+ }): void;
586
664
  /**
587
665
  * Get the group panel API for an edge group at the given position.
588
666
  * Returns `undefined` if no edge group is configured at that position.
@@ -601,6 +679,19 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
601
679
  * All panels inside the group are disposed. Throws if no group exists at position.
602
680
  */
603
681
  removeEdgeGroup(position: EdgeGroupPosition): void;
682
+ /**
683
+ * Pin (expand) the collapsed edge group at `position`. Requires the
684
+ * auto-hide edge groups module; no-op when it is absent.
685
+ */
686
+ pinEdgeGroup(position: EdgeGroupPosition): void;
687
+ /** Auto-hide (collapse to a strip) the edge group at `position`. */
688
+ autoHideEdgeGroup(position: EdgeGroupPosition): void;
689
+ /**
690
+ * Peek (slide out as an overlay, without reflowing the grid) or close the
691
+ * collapsed edge group at `position`. No-op when the auto-hide module is
692
+ * absent or the group is not collapsed.
693
+ */
694
+ peekEdgeGroup(position: EdgeGroupPosition, peek: boolean): void;
604
695
  updateOptions(options: Partial<DockviewComponentOptions>): void;
605
696
  private _getGroupModel;
606
697
  createTabGroup(options: {
@@ -3,7 +3,7 @@ import { DockviewComponent } from '../dockview/dockviewComponent';
3
3
  import { Box } from '../types';
4
4
  import { DockviewGroupPanel } from '../dockview/dockviewGroupPanel';
5
5
  import { DockviewGroupActivePanelChangeEvent, DockviewGroupLocation, DockviewGroupPanelLocked } from '../dockview/dockviewGroupPanelModel';
6
- import { DockviewHeaderPosition } from '../dockview/options';
6
+ import { DockviewHeaderDirection, DockviewHeaderPosition } from '../dockview/options';
7
7
  import { Emitter, Event } from '../events';
8
8
  import { GridviewPanelApi, GridviewPanelApiImpl, SizeEvent } from './gridviewPanelApi';
9
9
  export interface DockviewGroupMoveParams {
@@ -21,6 +21,15 @@ export interface DockviewGroupMoveParams {
21
21
  export interface DockviewGroupPanelCollapsedChangeEvent {
22
22
  readonly isCollapsed: boolean;
23
23
  }
24
+ export interface DockviewGroupPanelPeekChangeEvent {
25
+ readonly isPeeking: boolean;
26
+ }
27
+ export interface DockviewGroupPanelHeaderDirectionChangeEvent {
28
+ /** The header's new axis: `'horizontal'` (top/bottom) or `'vertical'` (left/right). */
29
+ readonly direction: DockviewHeaderDirection;
30
+ /** The header position that produced the new direction. */
31
+ readonly position: DockviewHeaderPosition;
32
+ }
24
33
  export interface DockviewGroupPanelApi extends GridviewPanelApi {
25
34
  readonly onDidLocationChange: Event<DockviewGroupPanelLocationChangeEvent>;
26
35
  /**
@@ -36,6 +45,19 @@ export interface DockviewGroupPanelApi extends GridviewPanelApi {
36
45
  * Never fires for non-edge groups.
37
46
  */
38
47
  readonly onDidCollapsedChange: Event<DockviewGroupPanelCollapsedChangeEvent>;
48
+ /**
49
+ * Fired when an edge group's auto-hide *peek* state changes (the slid-out
50
+ * overlay shown/hidden while the group stays logically collapsed). Never
51
+ * fires for non-edge groups or without the auto-hide module.
52
+ */
53
+ readonly onDidPeekChange: Event<DockviewGroupPanelPeekChangeEvent>;
54
+ /**
55
+ * Fires when this group's header flips orientation between horizontal
56
+ * (top/bottom) and vertical (left/right), e.g. when `headerPosition`
57
+ * moves from `top` to `left`. Does not fire for position changes that
58
+ * keep the same axis (top↔bottom, left↔right) or for the initial set.
59
+ */
60
+ readonly onDidHeaderDirectionChange: Event<DockviewGroupPanelHeaderDirectionChangeEvent>;
39
61
  readonly location: DockviewGroupLocation;
40
62
  /**
41
63
  * Whether this group is locked against drop interactions.
@@ -68,6 +90,21 @@ export interface DockviewGroupPanelApi extends GridviewPanelApi {
68
90
  * Always returns false for non-edge groups.
69
91
  */
70
92
  isCollapsed(): boolean;
93
+ /** True while this edge group is peeking (auto-hide slid-out overlay). */
94
+ isPeeking(): boolean;
95
+ /**
96
+ * Opt this edge group in/out of auto-hide (pinnable tool-window) behaviour
97
+ * at runtime, overriding the global `autoHideEdgeGroups` option. Pass
98
+ * `undefined` to clear the override and inherit the global. No-op for
99
+ * non-edge groups or without the auto-hide module.
100
+ */
101
+ setAutoHide(value: boolean | undefined): void;
102
+ /**
103
+ * The resolved auto-hide state of this edge group: the per-group override
104
+ * if one is set, otherwise the global `autoHideEdgeGroups` option for this
105
+ * edge. Always returns false for non-edge groups.
106
+ */
107
+ isAutoHide(): boolean;
71
108
  }
72
109
  export interface DockviewGroupPanelLocationChangeEvent {
73
110
  readonly location: DockviewGroupLocation;
@@ -82,6 +119,10 @@ export declare class DockviewGroupPanelApiImpl extends GridviewPanelApiImpl {
82
119
  readonly onDidActivePanelChange: Event<DockviewGroupActivePanelChangeEvent>;
83
120
  readonly _onDidCollapsedChange: Emitter<DockviewGroupPanelCollapsedChangeEvent>;
84
121
  readonly onDidCollapsedChange: Event<DockviewGroupPanelCollapsedChangeEvent>;
122
+ readonly _onDidPeekChange: Emitter<DockviewGroupPanelPeekChangeEvent>;
123
+ readonly onDidPeekChange: Event<DockviewGroupPanelPeekChangeEvent>;
124
+ readonly _onDidHeaderDirectionChange: Emitter<DockviewGroupPanelHeaderDirectionChangeEvent>;
125
+ readonly onDidHeaderDirectionChange: Event<DockviewGroupPanelHeaderDirectionChangeEvent>;
85
126
  get location(): DockviewGroupLocation;
86
127
  /**
87
128
  * The group's bounding box relative to the top-left of the dockview root,
@@ -105,5 +146,8 @@ export declare class DockviewGroupPanelApiImpl extends GridviewPanelApiImpl {
105
146
  collapse(): void;
106
147
  expand(): void;
107
148
  isCollapsed(): boolean;
149
+ isPeeking(): boolean;
150
+ setAutoHide(value: boolean | undefined): void;
151
+ isAutoHide(): boolean;
108
152
  initialize(group: DockviewGroupPanel): void;
109
153
  }
@@ -9,6 +9,9 @@ import { DockviewGroupLocation } from '../dockview/dockviewGroupPanelModel';
9
9
  export interface TitleEvent {
10
10
  readonly title: string;
11
11
  }
12
+ export interface PinnedChangeEvent {
13
+ readonly isPinned: boolean;
14
+ }
12
15
  export interface RendererChangedEvent {
13
16
  readonly renderer: DockviewPanelRenderer;
14
17
  }
@@ -29,14 +32,28 @@ export interface DockviewPanelApi extends Omit<GridviewPanelApi, 'setVisible' |
29
32
  readonly isGroupActive: boolean;
30
33
  readonly renderer: DockviewPanelRenderer;
31
34
  readonly title: string | undefined;
35
+ /**
36
+ * Whether this panel's tab is pinned. Pinned tabs render before unpinned
37
+ * tabs, never overflow, and resist cross-boundary reorder. Owned by the
38
+ * PinnedTabs module. Reads `false` until a panel is pinned, which requires
39
+ * `pinnedTabs.enabled` (both `setPinned` and restore are gated on it), so a
40
+ * component with pinning disabled always reports `false`.
41
+ */
42
+ readonly isPinned: boolean;
32
43
  readonly onDidActiveGroupChange: Event<ActiveGroupEvent>;
33
44
  readonly onDidGroupChange: Event<GroupChangedEvent>;
34
45
  readonly onDidTitleChange: Event<TitleEvent>;
46
+ readonly onDidChangePinned: Event<PinnedChangeEvent>;
35
47
  readonly onDidRendererChange: Event<RendererChangedEvent>;
36
48
  readonly location: DockviewGroupLocation;
37
49
  readonly onDidLocationChange: Event<DockviewGroupPanelLocationChangeEvent>;
38
50
  close(): void;
39
51
  setTitle(title: string): void;
52
+ /**
53
+ * Pin or unpin this panel's tab. No-op (warns once) when the PinnedTabs
54
+ * module is not registered, and dormant unless `pinnedTabs.enabled` is set.
55
+ */
56
+ setPinned(pinned: boolean): void;
40
57
  setRenderer(renderer: DockviewPanelRenderer): void;
41
58
  moveTo(options: DockviewPanelMoveParams): void;
42
59
  maximize(): void;
@@ -54,6 +71,8 @@ export declare class DockviewPanelApiImpl extends GridviewPanelApiImpl implement
54
71
  private readonly _tabComponent;
55
72
  readonly _onDidTitleChange: Emitter<TitleEvent>;
56
73
  readonly onDidTitleChange: Event<TitleEvent>;
74
+ readonly _onDidChangePinned: Emitter<PinnedChangeEvent>;
75
+ readonly onDidChangePinned: Event<PinnedChangeEvent>;
57
76
  private readonly _onDidActiveGroupChange;
58
77
  readonly onDidActiveGroupChange: Event<ActiveGroupEvent>;
59
78
  private readonly _onDidGroupChange;
@@ -65,6 +84,7 @@ export declare class DockviewPanelApiImpl extends GridviewPanelApiImpl implement
65
84
  private readonly groupEventsDisposable;
66
85
  get location(): DockviewGroupLocation;
67
86
  get title(): string | undefined;
87
+ get isPinned(): boolean;
68
88
  get isGroupActive(): boolean;
69
89
  get renderer(): DockviewPanelRenderer;
70
90
  set group(value: DockviewGroupPanel);
@@ -75,6 +95,7 @@ export declare class DockviewPanelApiImpl extends GridviewPanelApiImpl implement
75
95
  setActive(): void;
76
96
  moveTo(options: DockviewPanelMoveParams): void;
77
97
  setTitle(title: string): void;
98
+ setPinned(pinned: boolean): void;
78
99
  setRenderer(renderer: DockviewPanelRenderer): void;
79
100
  close(): void;
80
101
  maximize(): void;
@@ -0,0 +1,57 @@
1
+ import { IDisposable } from './lifecycle';
2
+ export interface DismissableLayerOptions {
3
+ /** Window to listen on. Pass the popout window for popout-hosted layers.
4
+ * Defaults to the global `window`. */
5
+ readonly window?: Window;
6
+ /** Invoked when any enabled dismiss signal fires. */
7
+ readonly onDismiss: () => void;
8
+ /** A pointerdown landed *inside* the layer (not a dismissal). Use it to
9
+ * mark interaction (e.g. make a transient layer sticky). */
10
+ readonly onInsidePointerDown?: (event: PointerEvent) => void;
11
+ /** Whether a pointer event is inside the layer. Defaults to a DOM
12
+ * `contains` check against {@link DismissableLayerOptions.elements}.
13
+ * Provide this for geometry-based hit testing (e.g. when the visible
14
+ * content is a sibling overlay stacked on top of the layer). */
15
+ readonly isInside?: (event: PointerEvent) => boolean;
16
+ /** Elements treated as "inside" by the default contains check. */
17
+ readonly elements?: () => HTMLElement[];
18
+ /** Dismiss on `Escape` (default `true`). */
19
+ readonly escape?: boolean;
20
+ /** Extra keys that also dismiss (e.g. `'Enter'`). */
21
+ readonly keys?: readonly string[];
22
+ /** Dismiss on a pointerdown outside the layer (default `true`). */
23
+ readonly outsidePointerDown?: boolean;
24
+ /** Ignore outside-pointerdowns for this many ms after opening. Covers the
25
+ * gesture that opened the layer (e.g. a touch long-press) dispatching a
26
+ * follow-up pointerdown just outside it. */
27
+ readonly pointerDownGraceMs?: number;
28
+ /** Dismiss on window resize, skipping touch-driven resizes (default
29
+ * `false`). */
30
+ readonly resize?: boolean;
31
+ /** Dismiss when focus moves to an element *outside* the layer (default
32
+ * `false`): the "slide back on focus loss" behaviour. */
33
+ readonly focusOut?: boolean;
34
+ /** Whether a newly-focused element is inside the layer (for
35
+ * {@link focusOut}). Defaults to a `contains` check against
36
+ * {@link elements}. Provide this for geometry-based testing when the
37
+ * content is a sibling overlay stacked on top of the layer. */
38
+ readonly isFocusInside?: (focused: Element) => boolean;
39
+ /** Listen in the capture phase (default `false`). Use capture when the
40
+ * layer must see the event before content handlers stop its propagation. */
41
+ readonly capture?: boolean;
42
+ /** Clock source for the grace window. Defaults to `Date.now`. */
43
+ readonly now?: () => number;
44
+ }
45
+ /**
46
+ * The shared dismissal lifecycle behind transient surfaces (popovers, menus,
47
+ * peeks): while it lives it watches a configurable set of dismiss signals
48
+ * (Escape / extra keys, outside-pointerdown with an optional grace window,
49
+ * window resize, focus moving outside) and calls `onDismiss`. Inside/outside is
50
+ * decided by an `isInside` predicate (geometry) or a `contains` check against
51
+ * `elements`. Dispose to detach every listener.
52
+ *
53
+ * It owns only the *signals*, not the surface element, its position, or any
54
+ * hover/keep-open policy, so callers keep their own element lifecycle and
55
+ * layer this underneath.
56
+ */
57
+ export declare function createDismissableLayer(options: DismissableLayerOptions): IDisposable;
@@ -5,8 +5,8 @@ import { DroptargetOptions, IDropTarget } from './droptarget';
5
5
  * mechanism (HTML5 native events, pointer events) behind a uniform set of
6
6
  * `createX` methods.
7
7
  *
8
- * The backends are stateless — `html5Backend` and `pointerBackend` below
9
- * are exported as module-level singletons so they need no construction
8
+ * The backends are stateless. `html5Backend` and `pointerBackend` below
9
+ * are exported as module-level singletons, so they need no construction
10
10
  * or wiring through the component tree.
11
11
  */
12
12
  export interface IDragBackend {
@@ -1,4 +1,5 @@
1
1
  declare class TransferObject {
2
+ protected constructor();
2
3
  }
3
4
  export declare class PanelTransfer extends TransferObject {
4
5
  readonly viewId: string;
@@ -5,8 +5,20 @@ export declare class DropTargetAnchorContainer extends CompositeDisposable {
5
5
  private _model;
6
6
  private _outline;
7
7
  private _disabled;
8
+ /**
9
+ * Handle for a deferred {@link DropTargetTargetModel.scheduleClear}. The
10
+ * HTML5 backend does not clear this container on `dragleave` (that would
11
+ * churn the shared overlay and kill its slide transition on every crossing
12
+ * between adjacent targets). Instead it *schedules* a clear, which a
13
+ * subsequent `getElements` (the next target rendering into this container)
14
+ * cancels — so the overlay slides between targets, but is torn down when the
15
+ * drag genuinely leaves to somewhere that doesn't re-render here.
16
+ */
17
+ private _pendingClear;
8
18
  get disabled(): boolean;
9
19
  set disabled(value: boolean);
20
+ private _cancelPendingClear;
21
+ private _clearNow;
10
22
  get model(): DropTargetTargetModel | undefined;
11
23
  constructor(element: HTMLElement, options: {
12
24
  disabled: boolean;