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
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 {
@@ -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;