dockview-core 7.0.4 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/LICENCE.md +21 -0
  2. package/README.md +17 -86
  3. package/dist/cjs/api/component.api.d.ts +100 -9
  4. package/dist/cjs/api/dockviewGroupPanelApi.d.ts +45 -1
  5. package/dist/cjs/api/dockviewPanelApi.d.ts +21 -0
  6. package/dist/cjs/dismissableLayer.d.ts +57 -0
  7. package/dist/cjs/dnd/backend.d.ts +2 -2
  8. package/dist/cjs/dnd/dropTargetAnchorContainer.d.ts +12 -0
  9. package/dist/cjs/dnd/droptarget.d.ts +94 -0
  10. package/dist/cjs/dnd/ghost.d.ts +1 -0
  11. package/dist/cjs/dnd/pointer/longPress.d.ts +2 -2
  12. package/dist/cjs/dnd/pointer/pointerDragController.d.ts +5 -2
  13. package/dist/cjs/dnd/pointer/pointerDragSource.d.ts +1 -1
  14. package/dist/cjs/dnd/pointer/pointerDropTarget.d.ts +30 -1
  15. package/dist/cjs/dnd/pointer/pointerGhost.d.ts +1 -1
  16. package/dist/cjs/dockview/accessibilityMessages.d.ts +6 -0
  17. package/dist/cjs/dockview/advancedDnDService.d.ts +46 -0
  18. package/dist/cjs/dockview/components/panel/content.d.ts +1 -1
  19. package/dist/cjs/dockview/components/tab/defaultTab.d.ts +2 -0
  20. package/dist/cjs/dockview/components/tab/tab.d.ts +2 -0
  21. package/dist/cjs/dockview/components/titlebar/floatingTitleBar.d.ts +2 -2
  22. package/dist/cjs/dockview/components/titlebar/groupDragSource.d.ts +1 -1
  23. package/dist/cjs/dockview/components/titlebar/tabGroupChip.d.ts +1 -1
  24. package/dist/cjs/dockview/components/titlebar/tabGroupIndicator.d.ts +73 -2
  25. package/dist/cjs/dockview/components/titlebar/tabGroups.d.ts +1 -1
  26. package/dist/cjs/dockview/components/titlebar/tabReorderController.d.ts +295 -0
  27. package/dist/cjs/dockview/components/titlebar/tabs.d.ts +120 -50
  28. package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts +48 -0
  29. package/dist/cjs/dockview/dndCapabilities.d.ts +1 -1
  30. package/dist/cjs/dockview/dockviewComponent.d.ts +303 -19
  31. package/dist/cjs/dockview/dockviewGroupPanel.d.ts +5 -0
  32. package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +52 -2
  33. package/dist/cjs/dockview/dockviewPanel.d.ts +12 -0
  34. package/dist/cjs/dockview/dockviewShell.d.ts +48 -24
  35. package/dist/cjs/dockview/edgeGroupService.d.ts +20 -0
  36. package/dist/cjs/dockview/events.d.ts +6 -0
  37. package/dist/cjs/dockview/liveRegionService.d.ts +18 -5
  38. package/dist/cjs/dockview/moduleContracts.d.ts +480 -14
  39. package/dist/cjs/dockview/modules.d.ts +101 -22
  40. package/dist/cjs/dockview/options.d.ts +337 -30
  41. package/dist/cjs/dockview/optionsModules.d.ts +73 -0
  42. package/dist/cjs/dockview/popoutWindowService.d.ts +15 -10
  43. package/dist/cjs/dockview/rootDropTargetService.d.ts +11 -0
  44. package/dist/cjs/dockview/tabGroupAccent.d.ts +1 -1
  45. package/dist/cjs/dockview/tabGroupChipsService.d.ts +10 -0
  46. package/dist/cjs/dockview/theme.d.ts +2 -2
  47. package/dist/cjs/dockview/types.d.ts +3 -0
  48. package/dist/cjs/dom.d.ts +9 -1
  49. package/dist/cjs/gridview/baseComponentGridview.d.ts +2 -2
  50. package/dist/cjs/gridview/gridview.d.ts +2 -0
  51. package/dist/cjs/index.d.ts +35 -29
  52. package/dist/cjs/lifecycle.d.ts +1 -0
  53. package/dist/cjs/overlay/overlay.d.ts +4 -2
  54. package/dist/cjs/overlay/overlayRenderContainer.d.ts +8 -0
  55. package/dist/cjs/paneview/paneview.d.ts +2 -1
  56. package/dist/cjs/paneview/paneviewComponent.d.ts +3 -0
  57. package/dist/cjs/paneview/paneviewPanel.d.ts +5 -0
  58. package/dist/cjs/svg.d.ts +1 -0
  59. package/dist/cjs/types.d.ts +8 -0
  60. package/dist/dockview-core.js +18391 -19679
  61. package/dist/dockview-core.min.js +4138 -6
  62. package/dist/dockview-core.min.noStyle.js +6 -7
  63. package/dist/dockview-core.noStyle.js +18390 -19656
  64. package/dist/package/main.cjs.js +18002 -19268
  65. package/dist/package/main.cjs.min.js +6 -6
  66. package/dist/package/main.esm.min.mjs +6 -6
  67. package/dist/package/main.esm.mjs +17959 -19260
  68. package/package.json +81 -77
  69. package/dist/cjs/api/component.api.js +0 -1242
  70. package/dist/cjs/api/dockviewGroupPanelApi.js +0 -200
  71. package/dist/cjs/api/dockviewPanelApi.js +0 -172
  72. package/dist/cjs/api/entryPoints.js +0 -27
  73. package/dist/cjs/api/gridviewPanelApi.js +0 -45
  74. package/dist/cjs/api/panelApi.js +0 -133
  75. package/dist/cjs/api/paneviewPanelApi.js +0 -57
  76. package/dist/cjs/api/splitviewPanelApi.js +0 -47
  77. package/dist/cjs/array.js +0 -66
  78. package/dist/cjs/constants.js +0 -11
  79. package/dist/cjs/dnd/backend.js +0 -171
  80. package/dist/cjs/dnd/dataTransfer.js +0 -100
  81. package/dist/cjs/dnd/dnd.js +0 -74
  82. package/dist/cjs/dnd/dropOverlay.js +0 -197
  83. package/dist/cjs/dnd/dropTargetAnchorContainer.js +0 -104
  84. package/dist/cjs/dnd/droptarget.js +0 -362
  85. package/dist/cjs/dnd/ghost.js +0 -17
  86. package/dist/cjs/dnd/pointer/index.js +0 -13
  87. package/dist/cjs/dnd/pointer/longPress.js +0 -151
  88. package/dist/cjs/dnd/pointer/pointerDragController.js +0 -243
  89. package/dist/cjs/dnd/pointer/pointerDragSource.js +0 -197
  90. package/dist/cjs/dnd/pointer/pointerDropTarget.js +0 -198
  91. package/dist/cjs/dnd/pointer/pointerGhost.js +0 -44
  92. package/dist/cjs/dnd/pointer/types.js +0 -2
  93. package/dist/cjs/dockview/accessibilityMessages.js +0 -51
  94. package/dist/cjs/dockview/allModules.js +0 -25
  95. package/dist/cjs/dockview/components/panel/content.js +0 -213
  96. package/dist/cjs/dockview/components/popupService.js +0 -132
  97. package/dist/cjs/dockview/components/tab/defaultTab.js +0 -70
  98. package/dist/cjs/dockview/components/tab/tab.js +0 -281
  99. package/dist/cjs/dockview/components/titlebar/floatingTitleBar.js +0 -95
  100. package/dist/cjs/dockview/components/titlebar/groupDragSource.js +0 -218
  101. package/dist/cjs/dockview/components/titlebar/tabGroupChip.js +0 -104
  102. package/dist/cjs/dockview/components/titlebar/tabGroupIndicator.js +0 -477
  103. package/dist/cjs/dockview/components/titlebar/tabGroups.js +0 -854
  104. package/dist/cjs/dockview/components/titlebar/tabOverflowControl.js +0 -19
  105. package/dist/cjs/dockview/components/titlebar/tabs.js +0 -2016
  106. package/dist/cjs/dockview/components/titlebar/tabsContainer.js +0 -458
  107. package/dist/cjs/dockview/components/titlebar/voidContainer.js +0 -120
  108. package/dist/cjs/dockview/components/watermark/watermark.js +0 -40
  109. package/dist/cjs/dockview/deserializer.js +0 -39
  110. package/dist/cjs/dockview/dndCapabilities.js +0 -39
  111. package/dist/cjs/dockview/dockviewComponent.js +0 -3896
  112. package/dist/cjs/dockview/dockviewFloatingGroupPanel.js +0 -70
  113. package/dist/cjs/dockview/dockviewGroupPanel.js +0 -204
  114. package/dist/cjs/dockview/dockviewGroupPanelModel.js +0 -1514
  115. package/dist/cjs/dockview/dockviewPanel.js +0 -265
  116. package/dist/cjs/dockview/dockviewPanelModel.js +0 -105
  117. package/dist/cjs/dockview/dockviewShell.js +0 -744
  118. package/dist/cjs/dockview/edgeGroupService.js +0 -128
  119. package/dist/cjs/dockview/events.js +0 -67
  120. package/dist/cjs/dockview/floatingGroupService.js +0 -231
  121. package/dist/cjs/dockview/framework.js +0 -2
  122. package/dist/cjs/dockview/headerActionsService.js +0 -149
  123. package/dist/cjs/dockview/liveRegionService.js +0 -185
  124. package/dist/cjs/dockview/moduleContracts.js +0 -2
  125. package/dist/cjs/dockview/modules.js +0 -304
  126. package/dist/cjs/dockview/options.js +0 -103
  127. package/dist/cjs/dockview/popoutWindowService.js +0 -261
  128. package/dist/cjs/dockview/rootDropTargetService.js +0 -87
  129. package/dist/cjs/dockview/strictEventsSequencing.js +0 -63
  130. package/dist/cjs/dockview/tabGroup.js +0 -219
  131. package/dist/cjs/dockview/tabGroupAccent.js +0 -126
  132. package/dist/cjs/dockview/theme.js +0 -139
  133. package/dist/cjs/dockview/types.js +0 -2
  134. package/dist/cjs/dockview/validate.js +0 -76
  135. package/dist/cjs/dockview/watermarkService.js +0 -61
  136. package/dist/cjs/dom.js +0 -543
  137. package/dist/cjs/events.js +0 -296
  138. package/dist/cjs/framwork.js +0 -2
  139. package/dist/cjs/gridview/baseComponentGridview.js +0 -330
  140. package/dist/cjs/gridview/basePanelView.js +0 -162
  141. package/dist/cjs/gridview/branchNode.js +0 -372
  142. package/dist/cjs/gridview/gridview.js +0 -776
  143. package/dist/cjs/gridview/gridviewComponent.js +0 -363
  144. package/dist/cjs/gridview/gridviewPanel.js +0 -249
  145. package/dist/cjs/gridview/leafNode.js +0 -169
  146. package/dist/cjs/gridview/options.js +0 -17
  147. package/dist/cjs/gridview/types.js +0 -2
  148. package/dist/cjs/index.js +0 -105
  149. package/dist/cjs/lifecycle.js +0 -80
  150. package/dist/cjs/math.js +0 -38
  151. package/dist/cjs/overlay/overlay.js +0 -602
  152. package/dist/cjs/overlay/overlayRenderContainer.js +0 -309
  153. package/dist/cjs/panel/types.js +0 -2
  154. package/dist/cjs/paneview/defaultPaneviewHeader.js +0 -92
  155. package/dist/cjs/paneview/draggablePaneviewPanel.js +0 -141
  156. package/dist/cjs/paneview/options.js +0 -44
  157. package/dist/cjs/paneview/paneview.js +0 -203
  158. package/dist/cjs/paneview/paneviewComponent.js +0 -430
  159. package/dist/cjs/paneview/paneviewPanel.js +0 -275
  160. package/dist/cjs/popoutWindow.js +0 -244
  161. package/dist/cjs/resizable.js +0 -97
  162. package/dist/cjs/scrollbar.js +0 -169
  163. package/dist/cjs/splitview/options.js +0 -19
  164. package/dist/cjs/splitview/splitview.js +0 -999
  165. package/dist/cjs/splitview/splitviewComponent.js +0 -401
  166. package/dist/cjs/splitview/splitviewPanel.js +0 -179
  167. package/dist/cjs/splitview/viewItem.js +0 -119
  168. package/dist/cjs/svg.js +0 -43
  169. package/dist/cjs/types.js +0 -2
  170. package/dist/dockview-core.min.js.map +0 -1
  171. package/dist/dockview-core.min.noStyle.js.map +0 -1
  172. package/dist/esm/api/component.api.d.ts +0 -640
  173. package/dist/esm/api/component.api.js +0 -887
  174. package/dist/esm/api/dockviewGroupPanelApi.d.ts +0 -109
  175. package/dist/esm/api/dockviewGroupPanelApi.js +0 -155
  176. package/dist/esm/api/dockviewPanelApi.d.ts +0 -84
  177. package/dist/esm/api/dockviewPanelApi.js +0 -124
  178. package/dist/esm/api/entryPoints.d.ts +0 -9
  179. package/dist/esm/api/entryPoints.js +0 -21
  180. package/dist/esm/api/gridviewPanelApi.d.ts +0 -37
  181. package/dist/esm/api/gridviewPanelApi.js +0 -23
  182. package/dist/esm/api/panelApi.d.ts +0 -100
  183. package/dist/esm/api/panelApi.js +0 -87
  184. package/dist/esm/api/paneviewPanelApi.d.ts +0 -26
  185. package/dist/esm/api/paneviewPanelApi.js +0 -27
  186. package/dist/esm/api/splitviewPanelApi.d.ts +0 -32
  187. package/dist/esm/api/splitviewPanelApi.js +0 -25
  188. package/dist/esm/array.d.ts +0 -13
  189. package/dist/esm/array.js +0 -57
  190. package/dist/esm/constants.d.ts +0 -8
  191. package/dist/esm/constants.js +0 -8
  192. package/dist/esm/dnd/backend.d.ts +0 -70
  193. package/dist/esm/dnd/backend.js +0 -148
  194. package/dist/esm/dnd/dataTransfer.d.ts +0 -31
  195. package/dist/esm/dnd/dataTransfer.js +0 -67
  196. package/dist/esm/dnd/dnd.d.ts +0 -32
  197. package/dist/esm/dnd/dnd.js +0 -51
  198. package/dist/esm/dnd/dropOverlay.d.ts +0 -20
  199. package/dist/esm/dnd/dropOverlay.js +0 -192
  200. package/dist/esm/dnd/dropTargetAnchorContainer.d.ts +0 -16
  201. package/dist/esm/dnd/dropTargetAnchorContainer.js +0 -73
  202. package/dist/esm/dnd/droptarget.d.ts +0 -116
  203. package/dist/esm/dnd/droptarget.js +0 -316
  204. package/dist/esm/dnd/ghost.d.ts +0 -4
  205. package/dist/esm/dnd/ghost.js +0 -14
  206. package/dist/esm/dnd/pointer/index.d.ts +0 -11
  207. package/dist/esm/dnd/pointer/index.js +0 -5
  208. package/dist/esm/dnd/pointer/longPress.d.ts +0 -32
  209. package/dist/esm/dnd/pointer/longPress.js +0 -127
  210. package/dist/esm/dnd/pointer/pointerDragController.d.ts +0 -60
  211. package/dist/esm/dnd/pointer/pointerDragController.js +0 -193
  212. package/dist/esm/dnd/pointer/pointerDragSource.d.ts +0 -61
  213. package/dist/esm/dnd/pointer/pointerDragSource.js +0 -173
  214. package/dist/esm/dnd/pointer/pointerDropTarget.d.ts +0 -39
  215. package/dist/esm/dnd/pointer/pointerDropTarget.js +0 -168
  216. package/dist/esm/dnd/pointer/pointerGhost.d.ts +0 -30
  217. package/dist/esm/dnd/pointer/pointerGhost.js +0 -39
  218. package/dist/esm/dnd/pointer/types.d.ts +0 -16
  219. package/dist/esm/dnd/pointer/types.js +0 -1
  220. package/dist/esm/dockview/accessibilityMessages.d.ts +0 -32
  221. package/dist/esm/dockview/accessibilityMessages.js +0 -30
  222. package/dist/esm/dockview/allModules.d.ts +0 -8
  223. package/dist/esm/dockview/allModules.js +0 -22
  224. package/dist/esm/dockview/components/panel/content.d.ts +0 -54
  225. package/dist/esm/dockview/components/panel/content.js +0 -185
  226. package/dist/esm/dockview/components/popupService.d.ts +0 -21
  227. package/dist/esm/dockview/components/popupService.js +0 -108
  228. package/dist/esm/dockview/components/tab/defaultTab.d.ts +0 -12
  229. package/dist/esm/dockview/components/tab/defaultTab.js +0 -43
  230. package/dist/esm/dockview/components/tab/tab.d.ts +0 -44
  231. package/dist/esm/dockview/components/tab/tab.js +0 -242
  232. package/dist/esm/dockview/components/titlebar/floatingTitleBar.d.ts +0 -34
  233. package/dist/esm/dockview/components/titlebar/floatingTitleBar.js +0 -65
  234. package/dist/esm/dockview/components/titlebar/groupDragSource.d.ts +0 -51
  235. package/dist/esm/dockview/components/titlebar/groupDragSource.js +0 -178
  236. package/dist/esm/dockview/components/titlebar/tabGroupChip.d.ts +0 -37
  237. package/dist/esm/dockview/components/titlebar/tabGroupChip.js +0 -77
  238. package/dist/esm/dockview/components/titlebar/tabGroupIndicator.d.ts +0 -72
  239. package/dist/esm/dockview/components/titlebar/tabGroupIndicator.js +0 -360
  240. package/dist/esm/dockview/components/titlebar/tabGroups.d.ts +0 -107
  241. package/dist/esm/dockview/components/titlebar/tabGroups.js +0 -621
  242. package/dist/esm/dockview/components/titlebar/tabOverflowControl.d.ts +0 -8
  243. package/dist/esm/dockview/components/titlebar/tabOverflowControl.js +0 -16
  244. package/dist/esm/dockview/components/titlebar/tabs.d.ts +0 -167
  245. package/dist/esm/dockview/components/titlebar/tabs.js +0 -1653
  246. package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts +0 -104
  247. package/dist/esm/dockview/components/titlebar/tabsContainer.js +0 -359
  248. package/dist/esm/dockview/components/titlebar/voidContainer.d.ts +0 -21
  249. package/dist/esm/dockview/components/titlebar/voidContainer.js +0 -92
  250. package/dist/esm/dockview/components/watermark/watermark.d.ts +0 -8
  251. package/dist/esm/dockview/components/watermark/watermark.js +0 -14
  252. package/dist/esm/dockview/deserializer.d.ts +0 -12
  253. package/dist/esm/dockview/deserializer.js +0 -34
  254. package/dist/esm/dockview/dndCapabilities.d.ts +0 -19
  255. package/dist/esm/dockview/dndCapabilities.js +0 -36
  256. package/dist/esm/dockview/dockviewComponent.d.ts +0 -626
  257. package/dist/esm/dockview/dockviewComponent.js +0 -3214
  258. package/dist/esm/dockview/dockviewFloatingGroupPanel.d.ts +0 -45
  259. package/dist/esm/dockview/dockviewFloatingGroupPanel.js +0 -44
  260. package/dist/esm/dockview/dockviewGroupPanel.d.ts +0 -35
  261. package/dist/esm/dockview/dockviewGroupPanel.js +0 -142
  262. package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +0 -358
  263. package/dist/esm/dockview/dockviewGroupPanelModel.js +0 -1180
  264. package/dist/esm/dockview/dockviewPanel.d.ts +0 -69
  265. package/dist/esm/dockview/dockviewPanel.js +0 -178
  266. package/dist/esm/dockview/dockviewPanelModel.d.ts +0 -37
  267. package/dist/esm/dockview/dockviewPanelModel.js +0 -81
  268. package/dist/esm/dockview/dockviewShell.d.ts +0 -150
  269. package/dist/esm/dockview/dockviewShell.js +0 -678
  270. package/dist/esm/dockview/edgeGroupService.d.ts +0 -38
  271. package/dist/esm/dockview/edgeGroupService.js +0 -63
  272. package/dist/esm/dockview/events.d.ts +0 -38
  273. package/dist/esm/dockview/events.js +0 -34
  274. package/dist/esm/dockview/floatingGroupService.d.ts +0 -37
  275. package/dist/esm/dockview/floatingGroupService.js +0 -150
  276. package/dist/esm/dockview/framework.d.ts +0 -65
  277. package/dist/esm/dockview/framework.js +0 -1
  278. package/dist/esm/dockview/headerActionsService.d.ts +0 -32
  279. package/dist/esm/dockview/headerActionsService.js +0 -86
  280. package/dist/esm/dockview/liveRegionService.d.ts +0 -53
  281. package/dist/esm/dockview/liveRegionService.js +0 -159
  282. package/dist/esm/dockview/moduleContracts.d.ts +0 -119
  283. package/dist/esm/dockview/moduleContracts.js +0 -1
  284. package/dist/esm/dockview/modules.d.ts +0 -110
  285. package/dist/esm/dockview/modules.js +0 -170
  286. package/dist/esm/dockview/options.d.ts +0 -474
  287. package/dist/esm/dockview/options.js +0 -77
  288. package/dist/esm/dockview/popoutWindowService.d.ts +0 -95
  289. package/dist/esm/dockview/popoutWindowService.js +0 -175
  290. package/dist/esm/dockview/rootDropTargetService.d.ts +0 -35
  291. package/dist/esm/dockview/rootDropTargetService.js +0 -82
  292. package/dist/esm/dockview/strictEventsSequencing.d.ts +0 -7
  293. package/dist/esm/dockview/strictEventsSequencing.js +0 -41
  294. package/dist/esm/dockview/tabGroup.d.ts +0 -99
  295. package/dist/esm/dockview/tabGroup.js +0 -144
  296. package/dist/esm/dockview/tabGroupAccent.d.ts +0 -65
  297. package/dist/esm/dockview/tabGroupAccent.js +0 -114
  298. package/dist/esm/dockview/theme.d.ts +0 -86
  299. package/dist/esm/dockview/theme.js +0 -136
  300. package/dist/esm/dockview/types.d.ts +0 -53
  301. package/dist/esm/dockview/types.js +0 -1
  302. package/dist/esm/dockview/validate.d.ts +0 -0
  303. package/dist/esm/dockview/validate.js +0 -76
  304. package/dist/esm/dockview/watermarkService.d.ts +0 -30
  305. package/dist/esm/dockview/watermarkService.js +0 -56
  306. package/dist/esm/dom.d.ts +0 -60
  307. package/dist/esm/dom.js +0 -375
  308. package/dist/esm/events.d.ts +0 -79
  309. package/dist/esm/events.js +0 -219
  310. package/dist/esm/framwork.d.ts +0 -4
  311. package/dist/esm/framwork.js +0 -1
  312. package/dist/esm/gridview/baseComponentGridview.d.ts +0 -111
  313. package/dist/esm/gridview/baseComponentGridview.js +0 -237
  314. package/dist/esm/gridview/basePanelView.d.ts +0 -40
  315. package/dist/esm/gridview/basePanelView.js +0 -91
  316. package/dist/esm/gridview/branchNode.d.ts +0 -57
  317. package/dist/esm/gridview/branchNode.js +0 -257
  318. package/dist/esm/gridview/gridview.d.ts +0 -158
  319. package/dist/esm/gridview/gridview.js +0 -681
  320. package/dist/esm/gridview/gridviewComponent.d.ts +0 -88
  321. package/dist/esm/gridview/gridviewComponent.js +0 -265
  322. package/dist/esm/gridview/gridviewPanel.d.ts +0 -77
  323. package/dist/esm/gridview/gridviewPanel.js +0 -182
  324. package/dist/esm/gridview/leafNode.d.ts +0 -34
  325. package/dist/esm/gridview/leafNode.js +0 -102
  326. package/dist/esm/gridview/options.d.ts +0 -15
  327. package/dist/esm/gridview/options.js +0 -14
  328. package/dist/esm/gridview/types.d.ts +0 -3
  329. package/dist/esm/gridview/types.js +0 -1
  330. package/dist/esm/index.d.ts +0 -58
  331. package/dist/esm/index.js +0 -44
  332. package/dist/esm/lifecycle.d.ts +0 -25
  333. package/dist/esm/lifecycle.js +0 -56
  334. package/dist/esm/math.d.ts +0 -5
  335. package/dist/esm/math.js +0 -32
  336. package/dist/esm/overlay/overlay.d.ts +0 -91
  337. package/dist/esm/overlay/overlay.js +0 -520
  338. package/dist/esm/overlay/overlayRenderContainer.d.ts +0 -24
  339. package/dist/esm/overlay/overlayRenderContainer.js +0 -249
  340. package/dist/esm/panel/types.d.ts +0 -33
  341. package/dist/esm/panel/types.js +0 -1
  342. package/dist/esm/paneview/defaultPaneviewHeader.d.ts +0 -21
  343. package/dist/esm/paneview/defaultPaneviewHeader.js +0 -65
  344. package/dist/esm/paneview/draggablePaneviewPanel.d.ts +0 -38
  345. package/dist/esm/paneview/draggablePaneviewPanel.js +0 -107
  346. package/dist/esm/paneview/options.d.ts +0 -30
  347. package/dist/esm/paneview/options.js +0 -22
  348. package/dist/esm/paneview/paneview.d.ts +0 -41
  349. package/dist/esm/paneview/paneview.js +0 -148
  350. package/dist/esm/paneview/paneviewComponent.d.ts +0 -133
  351. package/dist/esm/paneview/paneviewComponent.js +0 -306
  352. package/dist/esm/paneview/paneviewPanel.d.ts +0 -98
  353. package/dist/esm/paneview/paneviewPanel.js +0 -192
  354. package/dist/esm/popoutWindow.d.ts +0 -38
  355. package/dist/esm/popoutWindow.js +0 -170
  356. package/dist/esm/resizable.d.ts +0 -12
  357. package/dist/esm/resizable.js +0 -66
  358. package/dist/esm/scrollbar.d.ts +0 -15
  359. package/dist/esm/scrollbar.js +0 -139
  360. package/dist/esm/splitview/options.d.ts +0 -21
  361. package/dist/esm/splitview/options.js +0 -16
  362. package/dist/esm/splitview/splitview.d.ts +0 -145
  363. package/dist/esm/splitview/splitview.js +0 -770
  364. package/dist/esm/splitview/splitviewComponent.d.ts +0 -101
  365. package/dist/esm/splitview/splitviewComponent.js +0 -267
  366. package/dist/esm/splitview/splitviewPanel.d.ts +0 -45
  367. package/dist/esm/splitview/splitviewPanel.js +0 -108
  368. package/dist/esm/splitview/viewItem.d.ts +0 -25
  369. package/dist/esm/splitview/viewItem.js +0 -74
  370. package/dist/esm/svg.d.ts +0 -3
  371. package/dist/esm/svg.js +0 -31
  372. package/dist/esm/types.d.ts +0 -31
  373. package/dist/esm/types.js +0 -1
  374. package/dist/styles/dockview.css +0 -3436
@@ -1,316 +0,0 @@
1
- import { DockviewEvent, Emitter } from '../events';
2
- import { CompositeDisposable } from '../lifecycle';
3
- import { DragAndDropObserver } from './dnd';
4
- import { createOverlayElements, renderAnchoredOverlay, renderInPlaceOverlay, } from './dropOverlay';
5
- export class WillShowOverlayEvent extends DockviewEvent {
6
- get nativeEvent() {
7
- return this.options.nativeEvent;
8
- }
9
- get position() {
10
- return this.options.position;
11
- }
12
- constructor(options) {
13
- super();
14
- this.options = options;
15
- }
16
- }
17
- export function directionToPosition(direction) {
18
- switch (direction) {
19
- case 'above':
20
- return 'top';
21
- case 'below':
22
- return 'bottom';
23
- case 'left':
24
- return 'left';
25
- case 'right':
26
- return 'right';
27
- case 'within':
28
- return 'center';
29
- default:
30
- throw new Error(`invalid direction '${direction}'`);
31
- }
32
- }
33
- export function positionToDirection(position) {
34
- switch (position) {
35
- case 'top':
36
- return 'above';
37
- case 'bottom':
38
- return 'below';
39
- case 'left':
40
- return 'left';
41
- case 'right':
42
- return 'right';
43
- case 'center':
44
- return 'within';
45
- default:
46
- throw new Error(`invalid position '${position}'`);
47
- }
48
- }
49
- const DEFAULT_ACTIVATION_SIZE = {
50
- value: 20,
51
- type: 'percentage',
52
- };
53
- export class Droptarget extends CompositeDisposable {
54
- get disabled() {
55
- return this._disabled;
56
- }
57
- set disabled(value) {
58
- this._disabled = value;
59
- }
60
- get state() {
61
- return this._state;
62
- }
63
- constructor(element, options) {
64
- super();
65
- this.element = element;
66
- this.options = options;
67
- this._onDrop = new Emitter();
68
- this.onDrop = this._onDrop.event;
69
- this._onWillShowOverlay = new Emitter();
70
- this.onWillShowOverlay = this._onWillShowOverlay.event;
71
- this._disabled = false;
72
- // use a set to take advantage of #<set>.has
73
- this._acceptedTargetZonesSet = new Set(this.options.acceptedTargetZones);
74
- this.dnd = new DragAndDropObserver(this.element, {
75
- onDragEnter: () => {
76
- var _a, _b, _c;
77
- (_c = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a)) === null || _c === void 0 ? void 0 : _c.getElements();
78
- },
79
- onDragOver: (e) => {
80
- var _a, _b, _c, _d, _e, _f, _g;
81
- Droptarget.ACTUAL_TARGET = this;
82
- const overrideTarget = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
83
- if (this._acceptedTargetZonesSet.size === 0) {
84
- if (overrideTarget) {
85
- return;
86
- }
87
- this.removeDropTarget();
88
- return;
89
- }
90
- const target = (_e = (_d = (_c = this.options).getOverlayOutline) === null || _d === void 0 ? void 0 : _d.call(_c)) !== null && _e !== void 0 ? _e : this.element;
91
- const width = target.offsetWidth;
92
- const height = target.offsetHeight;
93
- if (width === 0 || height === 0) {
94
- return; // avoid div!0
95
- }
96
- const rect = e.currentTarget.getBoundingClientRect();
97
- const x = ((_f = e.clientX) !== null && _f !== void 0 ? _f : 0) - rect.left;
98
- const y = ((_g = e.clientY) !== null && _g !== void 0 ? _g : 0) - rect.top;
99
- const quadrant = this.calculateQuadrant(this._acceptedTargetZonesSet, x, y, width, height);
100
- /**
101
- * If the event has already been used by another DropTarget instance
102
- * then don't show a second drop target, only one target should be
103
- * active at any one time
104
- */
105
- if (this.isAlreadyUsed(e) || quadrant === null) {
106
- // no drop target should be displayed
107
- this.removeDropTarget();
108
- return;
109
- }
110
- if (!this.options.canDisplayOverlay(e, quadrant)) {
111
- if (overrideTarget) {
112
- return;
113
- }
114
- this.removeDropTarget();
115
- return;
116
- }
117
- const willShowOverlayEvent = new WillShowOverlayEvent({
118
- nativeEvent: e,
119
- position: quadrant,
120
- });
121
- /**
122
- * Provide an opportunity to prevent the overlay appearing and in turn
123
- * any dnd behaviours
124
- */
125
- this._onWillShowOverlay.fire(willShowOverlayEvent);
126
- if (willShowOverlayEvent.defaultPrevented) {
127
- this.removeDropTarget();
128
- return;
129
- }
130
- this.markAsUsed(e);
131
- if (overrideTarget) {
132
- //
133
- }
134
- else if (!this.targetElement) {
135
- const els = createOverlayElements();
136
- this.targetElement = els.dropzone;
137
- this.overlayElement = els.selection;
138
- this._state = 'center';
139
- target.classList.add('dv-drop-target');
140
- target.append(this.targetElement);
141
- }
142
- this.toggleClasses(quadrant, width, height);
143
- this._state = quadrant;
144
- },
145
- onDragLeave: () => {
146
- var _a, _b;
147
- const target = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
148
- if (target) {
149
- return;
150
- }
151
- this.removeDropTarget();
152
- },
153
- onDragEnd: (e) => {
154
- var _a, _b;
155
- const target = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
156
- if (target && Droptarget.ACTUAL_TARGET === this) {
157
- if (this._state) {
158
- // only stop the propagation of the event if we are dealing with it
159
- // which is only when the target has state
160
- e.stopPropagation();
161
- this._onDrop.fire({
162
- position: this._state,
163
- nativeEvent: e,
164
- });
165
- }
166
- }
167
- this.removeDropTarget();
168
- target === null || target === void 0 ? void 0 : target.clear();
169
- },
170
- onDrop: (e) => {
171
- var _a, _b, _c;
172
- e.preventDefault();
173
- const state = this._state;
174
- this.removeDropTarget();
175
- (_c = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a)) === null || _c === void 0 ? void 0 : _c.clear();
176
- if (state) {
177
- // only stop the propagation of the event if we are dealing with it
178
- // which is only when the target has state
179
- e.stopPropagation();
180
- this._onDrop.fire({ position: state, nativeEvent: e });
181
- }
182
- },
183
- });
184
- this.addDisposables(this._onDrop, this._onWillShowOverlay, this.dnd);
185
- }
186
- setTargetZones(acceptedTargetZones) {
187
- this._acceptedTargetZonesSet = new Set(acceptedTargetZones);
188
- }
189
- setOverlayModel(model) {
190
- this.options.overlayModel = model;
191
- }
192
- dispose() {
193
- this.removeDropTarget();
194
- super.dispose();
195
- }
196
- /**
197
- * Add a property to the event object for other potential listeners to check
198
- */
199
- markAsUsed(event) {
200
- event[Droptarget.USED_EVENT_ID] = true;
201
- }
202
- /**
203
- * Check is the event has already been used by another instance of DropTarget
204
- */
205
- isAlreadyUsed(event) {
206
- const value = event[Droptarget.USED_EVENT_ID];
207
- return typeof value === 'boolean' && value;
208
- }
209
- toggleClasses(quadrant, width, height) {
210
- var _a, _b, _c, _d, _e;
211
- const target = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
212
- if (target) {
213
- const outlineEl = (_e = (_d = (_c = this.options).getOverlayOutline) === null || _d === void 0 ? void 0 : _d.call(_c)) !== null && _e !== void 0 ? _e : this.element;
214
- renderAnchoredOverlay({
215
- outlineElement: outlineEl,
216
- targetModel: target,
217
- quadrant,
218
- width,
219
- height,
220
- overlayModel: this.options.overlayModel,
221
- className: this.options.className,
222
- });
223
- return;
224
- }
225
- if (!this.overlayElement) {
226
- return;
227
- }
228
- renderInPlaceOverlay(this.overlayElement, quadrant, width, height, this.options.overlayModel);
229
- }
230
- calculateQuadrant(overlayType, x, y, width, height) {
231
- var _a, _b;
232
- const activationSizeOptions = (_b = (_a = this.options.overlayModel) === null || _a === void 0 ? void 0 : _a.activationSize) !== null && _b !== void 0 ? _b : DEFAULT_ACTIVATION_SIZE;
233
- const isPercentage = activationSizeOptions.type === 'percentage';
234
- if (isPercentage) {
235
- return calculateQuadrantAsPercentage(overlayType, x, y, width, height, activationSizeOptions.value);
236
- }
237
- return calculateQuadrantAsPixels(overlayType, x, y, width, height, activationSizeOptions.value);
238
- }
239
- removeDropTarget() {
240
- var _a;
241
- if (this.targetElement) {
242
- this._state = undefined;
243
- (_a = this.targetElement.parentElement) === null || _a === void 0 ? void 0 : _a.classList.remove('dv-drop-target');
244
- this.targetElement.remove();
245
- this.targetElement = undefined;
246
- this.overlayElement = undefined;
247
- }
248
- }
249
- /**
250
- * Render the drop overlay at `position` without a live drag, so keyboard
251
- * docking shows the exact same preview as a mouse drag. Mirrors the
252
- * `onDragOver` render path (in-place or anchored). Pair with `clearOverlay`.
253
- */
254
- showOverlay(position) {
255
- var _a, _b, _c, _d, _e;
256
- const overrideTarget = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
257
- const target = (_e = (_d = (_c = this.options).getOverlayOutline) === null || _d === void 0 ? void 0 : _d.call(_c)) !== null && _e !== void 0 ? _e : this.element;
258
- const width = target.offsetWidth;
259
- const height = target.offsetHeight;
260
- if (!overrideTarget && !this.targetElement) {
261
- const els = createOverlayElements();
262
- this.targetElement = els.dropzone;
263
- this.overlayElement = els.selection;
264
- target.classList.add('dv-drop-target');
265
- target.append(this.targetElement);
266
- }
267
- this.toggleClasses(position, width, height);
268
- this._state = position;
269
- }
270
- /** Clear an overlay shown via {@link showOverlay} (in-place or anchored). */
271
- clearOverlay() {
272
- var _a, _b, _c;
273
- this.removeDropTarget();
274
- (_c = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a)) === null || _c === void 0 ? void 0 : _c.clear();
275
- this._state = undefined;
276
- }
277
- }
278
- Droptarget.USED_EVENT_ID = '__dockview_droptarget_event_is_used__';
279
- export function calculateQuadrantAsPercentage(overlayType, x, y, width, height, threshold) {
280
- const xp = (100 * x) / width;
281
- const yp = (100 * y) / height;
282
- if (overlayType.has('left') && xp < threshold) {
283
- return 'left';
284
- }
285
- if (overlayType.has('right') && xp > 100 - threshold) {
286
- return 'right';
287
- }
288
- if (overlayType.has('top') && yp < threshold) {
289
- return 'top';
290
- }
291
- if (overlayType.has('bottom') && yp > 100 - threshold) {
292
- return 'bottom';
293
- }
294
- if (!overlayType.has('center')) {
295
- return null;
296
- }
297
- return 'center';
298
- }
299
- export function calculateQuadrantAsPixels(overlayType, x, y, width, height, threshold) {
300
- if (overlayType.has('left') && x < threshold) {
301
- return 'left';
302
- }
303
- if (overlayType.has('right') && x > width - threshold) {
304
- return 'right';
305
- }
306
- if (overlayType.has('top') && y < threshold) {
307
- return 'top';
308
- }
309
- if (overlayType.has('bottom') && y > height - threshold) {
310
- return 'bottom';
311
- }
312
- if (!overlayType.has('center')) {
313
- return null;
314
- }
315
- return 'center';
316
- }
@@ -1,4 +0,0 @@
1
- export declare function addGhostImage(dataTransfer: DataTransfer, ghostElement: HTMLElement, options?: {
2
- x?: number;
3
- y?: number;
4
- }): void;
@@ -1,14 +0,0 @@
1
- import { addClasses, removeClasses } from '../dom';
2
- export function addGhostImage(dataTransfer, ghostElement, options) {
3
- var _a, _b;
4
- // class dockview provides to force ghost image to be drawn on a different layer and prevent weird rendering issues
5
- addClasses(ghostElement, 'dv-dragged');
6
- // move the element off-screen initially otherwise it may in some cases be rendered at (0,0) momentarily
7
- ghostElement.style.top = '-9999px';
8
- document.body.appendChild(ghostElement);
9
- dataTransfer.setDragImage(ghostElement, (_a = options === null || options === void 0 ? void 0 : options.x) !== null && _a !== void 0 ? _a : 0, (_b = options === null || options === void 0 ? void 0 : options.y) !== null && _b !== void 0 ? _b : 0);
10
- setTimeout(() => {
11
- removeClasses(ghostElement, 'dv-dragged');
12
- ghostElement.remove();
13
- }, 0);
14
- }
@@ -1,11 +0,0 @@
1
- export { PointerDragController } from './pointerDragController';
2
- export type { ActiveDrag } from './pointerDragController';
3
- export { PointerDragSource } from './pointerDragSource';
4
- export type { PointerDragSourceOptions } from './pointerDragSource';
5
- export { PointerDropTarget } from './pointerDropTarget';
6
- export type { PointerDropTargetOptions } from './pointerDropTarget';
7
- export type { PointerDragEvent, PointerDroptargetEvent, IPointerDropTargetHandle, } from './types';
8
- export { LongPressDetector } from './longPress';
9
- export type { LongPressOptions } from './longPress';
10
- export { PointerGhost } from './pointerGhost';
11
- export type { PointerGhostOptions } from './pointerGhost';
@@ -1,5 +0,0 @@
1
- export { PointerDragController } from './pointerDragController';
2
- export { PointerDragSource } from './pointerDragSource';
3
- export { PointerDropTarget } from './pointerDropTarget';
4
- export { LongPressDetector } from './longPress';
5
- export { PointerGhost } from './pointerGhost';
@@ -1,32 +0,0 @@
1
- import { CompositeDisposable } from '../../lifecycle';
2
- export interface LongPressOptions {
3
- /** Default 500ms. */
4
- delay?: number;
5
- /** Default 8px. */
6
- tolerance?: number;
7
- /** Default true: mouse users have right-click and don't need this. */
8
- touchOnly?: boolean;
9
- /** Receives the `pointerdown` event so consumers can read `clientX/Y`. */
10
- onLongPress: (event: PointerEvent) => void;
11
- }
12
- /**
13
- * Passive — does not consume the pointer; movement past `tolerance`
14
- * cancels silently so a sibling `PointerDragSource` can take over.
15
- */
16
- export declare class LongPressDetector extends CompositeDisposable {
17
- private readonly element;
18
- private readonly options;
19
- private _pointerId;
20
- private _startX;
21
- private _startY;
22
- private _timer;
23
- private _moveListener;
24
- private _upListener;
25
- private _cancelListener;
26
- constructor(element: HTMLElement, options: LongPressOptions);
27
- private _onPointerDown;
28
- private _installContextMenuGuard;
29
- private _installClickGuard;
30
- private _cancelPending;
31
- dispose(): void;
32
- }
@@ -1,127 +0,0 @@
1
- import { addDisposableListener } from '../../events';
2
- import { CompositeDisposable } from '../../lifecycle';
3
- const DEFAULT_DELAY = 500;
4
- const DEFAULT_TOLERANCE = 8;
5
- /**
6
- * Passive — does not consume the pointer; movement past `tolerance`
7
- * cancels silently so a sibling `PointerDragSource` can take over.
8
- */
9
- export class LongPressDetector extends CompositeDisposable {
10
- constructor(element, options) {
11
- super();
12
- this.element = element;
13
- this.options = options;
14
- this._startX = 0;
15
- this._startY = 0;
16
- this.addDisposables(addDisposableListener(this.element, 'pointerdown', (e) => {
17
- this._onPointerDown(e);
18
- }));
19
- }
20
- _onPointerDown(event) {
21
- var _a, _b, _c, _d, _e;
22
- const touchOnly = (_a = this.options.touchOnly) !== null && _a !== void 0 ? _a : true;
23
- if (touchOnly &&
24
- event.pointerType !== 'touch' &&
25
- event.pointerType !== 'pen') {
26
- return;
27
- }
28
- // Defensive — supersede any in-flight press.
29
- this._cancelPending();
30
- this._pointerId = event.pointerId;
31
- this._startX = event.clientX;
32
- this._startY = event.clientY;
33
- const delay = (_b = this.options.delay) !== null && _b !== void 0 ? _b : DEFAULT_DELAY;
34
- const tolerance = (_c = this.options.tolerance) !== null && _c !== void 0 ? _c : DEFAULT_TOLERANCE;
35
- // Source's owning window — popout drags fire on their own window.
36
- const targetWindow = (_e = (_d = this.element.ownerDocument) === null || _d === void 0 ? void 0 : _d.defaultView) !== null && _e !== void 0 ? _e : globalThis.window;
37
- this._timer = setTimeout(() => {
38
- this._timer = undefined;
39
- this._cancelPending();
40
- // Touch browsers synthesize a compatibility `contextmenu` event
41
- // for long-press. preventDefault on the original pointerdown is
42
- // too late (already dispatched), so install a one-shot
43
- // capture-phase guard for the next contextmenu. Without this,
44
- // consumers that don't preventDefault inside their onLongPress
45
- // (or that early-return before doing so) leak the browser's
46
- // native menu on top of theirs.
47
- this._installContextMenuGuard(targetWindow);
48
- // Same idea for `click`: when the user releases their finger
49
- // after the long-press, touch browsers dispatch a `click` to
50
- // the element the touch ended on (the source). Consumers
51
- // typically wire click to a primary action (e.g. tab activate,
52
- // tab-group chip collapse-toggle). Without this guard, the
53
- // long-press immediately fires both the context menu AND the
54
- // primary action — and the action's side effects (e.g. a chip
55
- // collapse animation) read as a screen wobble while the menu
56
- // is supposed to be open. Scoped to the source element so
57
- // clicks on menu items elsewhere remain effective.
58
- this._installClickGuard(targetWindow);
59
- this.options.onLongPress(event);
60
- }, delay);
61
- this._moveListener = addDisposableListener(targetWindow, 'pointermove', (moveEvent) => {
62
- if (moveEvent.pointerId !== this._pointerId) {
63
- return;
64
- }
65
- const dx = moveEvent.clientX - this._startX;
66
- const dy = moveEvent.clientY - this._startY;
67
- if (Math.hypot(dx, dy) > tolerance) {
68
- this._cancelPending();
69
- }
70
- });
71
- this._upListener = addDisposableListener(targetWindow, 'pointerup', (upEvent) => {
72
- if (upEvent.pointerId !== this._pointerId) {
73
- return;
74
- }
75
- this._cancelPending();
76
- });
77
- this._cancelListener = addDisposableListener(targetWindow, 'pointercancel', (cancelEvent) => {
78
- if (cancelEvent.pointerId !== this._pointerId) {
79
- return;
80
- }
81
- this._cancelPending();
82
- });
83
- }
84
- _installContextMenuGuard(targetWindow) {
85
- let guard;
86
- const timeout = setTimeout(() => guard === null || guard === void 0 ? void 0 : guard.dispose(), 500);
87
- guard = addDisposableListener(targetWindow, 'contextmenu', (event) => {
88
- event.preventDefault();
89
- clearTimeout(timeout);
90
- guard === null || guard === void 0 ? void 0 : guard.dispose();
91
- }, { capture: true });
92
- }
93
- _installClickGuard(targetWindow) {
94
- let guard;
95
- const timeout = setTimeout(() => guard === null || guard === void 0 ? void 0 : guard.dispose(), 500);
96
- guard = addDisposableListener(targetWindow, 'click', (event) => {
97
- // Only suppress clicks targeted at the long-pressed element
98
- // or its descendants. A user tap on a context menu item (or
99
- // anywhere else) still gets through unchanged.
100
- const target = event.target;
101
- if (target && this.element.contains(target)) {
102
- event.preventDefault();
103
- event.stopPropagation();
104
- }
105
- clearTimeout(timeout);
106
- guard === null || guard === void 0 ? void 0 : guard.dispose();
107
- }, { capture: true });
108
- }
109
- _cancelPending() {
110
- var _a, _b, _c;
111
- if (this._timer !== undefined) {
112
- clearTimeout(this._timer);
113
- this._timer = undefined;
114
- }
115
- this._pointerId = undefined;
116
- (_a = this._moveListener) === null || _a === void 0 ? void 0 : _a.dispose();
117
- (_b = this._upListener) === null || _b === void 0 ? void 0 : _b.dispose();
118
- (_c = this._cancelListener) === null || _c === void 0 ? void 0 : _c.dispose();
119
- this._moveListener = undefined;
120
- this._upListener = undefined;
121
- this._cancelListener = undefined;
122
- }
123
- dispose() {
124
- this._cancelPending();
125
- super.dispose();
126
- }
127
- }
@@ -1,60 +0,0 @@
1
- import { Event } from '../../events';
2
- import { CompositeDisposable, IDisposable } from '../../lifecycle';
3
- import { PointerGhost } from './pointerGhost';
4
- import { IPointerDropTargetHandle, PointerDragEvent } from './types';
5
- export interface ActiveDrag {
6
- readonly pointerId: number;
7
- readonly startX: number;
8
- readonly startY: number;
9
- readonly source: HTMLElement;
10
- }
11
- /**
12
- * Singleton — only one pointer-driven drag active at a time.
13
- *
14
- * State is shared across every Dockview instance on the page. Targets
15
- * from instance B receive hit-tests from drags originating in instance A;
16
- * that's intentional for cross-instance drops since `LocalSelectionTransfer`
17
- * is also process-wide. The corollary is that every Tabs subscriber to
18
- * `onDragMove` fires for every pointer drag globally — each subscriber
19
- * hit-tests against its own DOM, so this is O(N) per pointermove where N
20
- * is the number of registered listeners across all instances.
21
- */
22
- export declare class PointerDragController extends CompositeDisposable {
23
- private static _instance;
24
- static getInstance(): PointerDragController;
25
- private readonly _targets;
26
- /** Kept in sync with `_targets` so hit-testing is allocation-free. */
27
- private readonly _targetByElement;
28
- private _active;
29
- private _currentTarget;
30
- private _dataDisposable;
31
- private _ghost;
32
- private _moveListener;
33
- private _upListener;
34
- private _cancelListener;
35
- private _iframeShield;
36
- private _onDragMoveCallback?;
37
- private _onDragEndCallback?;
38
- private readonly _onDragStart;
39
- readonly onDragStart: Event<PointerDragEvent>;
40
- private readonly _onDragMove;
41
- readonly onDragMove: Event<PointerDragEvent>;
42
- private readonly _onDragEnd;
43
- readonly onDragEnd: Event<PointerDragEvent>;
44
- private constructor();
45
- get active(): ActiveDrag | undefined;
46
- registerTarget(target: IPointerDropTargetHandle): IDisposable;
47
- beginDrag(args: {
48
- pointerEvent: PointerEvent;
49
- source: HTMLElement;
50
- getData: () => IDisposable;
51
- ghost?: PointerGhost;
52
- onDragMove?: (e: PointerDragEvent) => void;
53
- onDragEnd?: (e: PointerDragEvent, dropped: boolean) => void;
54
- }): void;
55
- cancel(): void;
56
- private _findTargetUnder;
57
- private _handleMove;
58
- private _handleEnd;
59
- private _teardown;
60
- }