dockview-core 7.0.4 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/LICENCE.md +21 -0
  2. package/README.md +17 -86
  3. package/dist/cjs/api/component.api.d.ts +100 -9
  4. package/dist/cjs/api/dockviewGroupPanelApi.d.ts +45 -1
  5. package/dist/cjs/api/dockviewPanelApi.d.ts +21 -0
  6. package/dist/cjs/dismissableLayer.d.ts +57 -0
  7. package/dist/cjs/dnd/backend.d.ts +2 -2
  8. package/dist/cjs/dnd/dataTransfer.d.ts +1 -0
  9. package/dist/cjs/dnd/dropTargetAnchorContainer.d.ts +12 -0
  10. package/dist/cjs/dnd/droptarget.d.ts +94 -0
  11. package/dist/cjs/dnd/ghost.d.ts +1 -0
  12. package/dist/cjs/dnd/pointer/longPress.d.ts +2 -2
  13. package/dist/cjs/dnd/pointer/pointerDragController.d.ts +5 -2
  14. package/dist/cjs/dnd/pointer/pointerDragSource.d.ts +1 -1
  15. package/dist/cjs/dnd/pointer/pointerDropTarget.d.ts +30 -1
  16. package/dist/cjs/dnd/pointer/pointerGhost.d.ts +1 -1
  17. package/dist/cjs/dockview/accessibilityMessages.d.ts +6 -0
  18. package/dist/cjs/dockview/advancedDnDService.d.ts +31 -0
  19. package/dist/cjs/dockview/components/panel/content.d.ts +1 -1
  20. package/dist/cjs/dockview/components/tab/defaultTab.d.ts +2 -0
  21. package/dist/cjs/dockview/components/tab/tab.d.ts +2 -0
  22. package/dist/cjs/dockview/components/titlebar/floatingTitleBar.d.ts +2 -2
  23. package/dist/cjs/dockview/components/titlebar/groupDragSource.d.ts +1 -1
  24. package/dist/cjs/dockview/components/titlebar/tabGroupChip.d.ts +1 -1
  25. package/dist/cjs/dockview/components/titlebar/tabGroupIndicator.d.ts +73 -2
  26. package/dist/cjs/dockview/components/titlebar/tabGroups.d.ts +1 -1
  27. package/dist/cjs/dockview/components/titlebar/tabReorderController.d.ts +295 -0
  28. package/dist/cjs/dockview/components/titlebar/tabs.d.ts +120 -50
  29. package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts +48 -0
  30. package/dist/cjs/dockview/dndCapabilities.d.ts +1 -1
  31. package/dist/cjs/dockview/dockviewComponent.d.ts +307 -19
  32. package/dist/cjs/dockview/dockviewGroupPanel.d.ts +5 -0
  33. package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +76 -2
  34. package/dist/cjs/dockview/dockviewPanel.d.ts +12 -0
  35. package/dist/cjs/dockview/dockviewShell.d.ts +48 -24
  36. package/dist/cjs/dockview/edgeGroupService.d.ts +20 -0
  37. package/dist/cjs/dockview/events.d.ts +6 -0
  38. package/dist/cjs/dockview/liveRegionService.d.ts +18 -5
  39. package/dist/cjs/dockview/moduleContracts.d.ts +485 -14
  40. package/dist/cjs/dockview/modules.d.ts +101 -22
  41. package/dist/cjs/dockview/options.d.ts +336 -30
  42. package/dist/cjs/dockview/optionsModules.d.ts +73 -0
  43. package/dist/cjs/dockview/popoutWindowService.d.ts +15 -10
  44. package/dist/cjs/dockview/rootDropTargetService.d.ts +11 -0
  45. package/dist/cjs/dockview/tabGroup.d.ts +3 -0
  46. package/dist/cjs/dockview/tabGroupAccent.d.ts +1 -1
  47. package/dist/cjs/dockview/tabGroupChipsService.d.ts +10 -0
  48. package/dist/cjs/dockview/theme.d.ts +2 -2
  49. package/dist/cjs/dockview/types.d.ts +3 -0
  50. package/dist/cjs/dom.d.ts +9 -1
  51. package/dist/cjs/events.d.ts +1 -1
  52. package/dist/cjs/gridview/baseComponentGridview.d.ts +2 -2
  53. package/dist/cjs/gridview/branchNode.d.ts +16 -0
  54. package/dist/cjs/gridview/gridview.d.ts +2 -0
  55. package/dist/cjs/index.d.ts +35 -29
  56. package/dist/cjs/lifecycle.d.ts +1 -0
  57. package/dist/cjs/overlay/overlay.d.ts +4 -2
  58. package/dist/cjs/overlay/overlayRenderContainer.d.ts +8 -0
  59. package/dist/cjs/paneview/paneview.d.ts +2 -1
  60. package/dist/cjs/paneview/paneviewComponent.d.ts +3 -0
  61. package/dist/cjs/paneview/paneviewPanel.d.ts +5 -0
  62. package/dist/cjs/scrollbar.d.ts +10 -0
  63. package/dist/cjs/splitview/viewItem.d.ts +10 -0
  64. package/dist/cjs/svg.d.ts +1 -0
  65. package/dist/cjs/types.d.ts +8 -0
  66. package/dist/dockview-core.js +18513 -19679
  67. package/dist/dockview-core.min.js +4138 -6
  68. package/dist/dockview-core.min.noStyle.js +6 -7
  69. package/dist/dockview-core.noStyle.js +18512 -19656
  70. package/dist/package/main.cjs.js +18123 -19267
  71. package/dist/package/main.cjs.min.js +6 -6
  72. package/dist/package/main.esm.min.mjs +6 -6
  73. package/dist/package/main.esm.mjs +18081 -19260
  74. package/package.json +81 -77
  75. package/dist/cjs/api/component.api.js +0 -1242
  76. package/dist/cjs/api/dockviewGroupPanelApi.js +0 -200
  77. package/dist/cjs/api/dockviewPanelApi.js +0 -172
  78. package/dist/cjs/api/entryPoints.js +0 -27
  79. package/dist/cjs/api/gridviewPanelApi.js +0 -45
  80. package/dist/cjs/api/panelApi.js +0 -133
  81. package/dist/cjs/api/paneviewPanelApi.js +0 -57
  82. package/dist/cjs/api/splitviewPanelApi.js +0 -47
  83. package/dist/cjs/array.js +0 -66
  84. package/dist/cjs/constants.js +0 -11
  85. package/dist/cjs/dnd/backend.js +0 -171
  86. package/dist/cjs/dnd/dataTransfer.js +0 -100
  87. package/dist/cjs/dnd/dnd.js +0 -74
  88. package/dist/cjs/dnd/dropOverlay.js +0 -197
  89. package/dist/cjs/dnd/dropTargetAnchorContainer.js +0 -104
  90. package/dist/cjs/dnd/droptarget.js +0 -362
  91. package/dist/cjs/dnd/ghost.js +0 -17
  92. package/dist/cjs/dnd/pointer/index.js +0 -13
  93. package/dist/cjs/dnd/pointer/longPress.js +0 -151
  94. package/dist/cjs/dnd/pointer/pointerDragController.js +0 -243
  95. package/dist/cjs/dnd/pointer/pointerDragSource.js +0 -197
  96. package/dist/cjs/dnd/pointer/pointerDropTarget.js +0 -198
  97. package/dist/cjs/dnd/pointer/pointerGhost.js +0 -44
  98. package/dist/cjs/dnd/pointer/types.js +0 -2
  99. package/dist/cjs/dockview/accessibilityMessages.js +0 -51
  100. package/dist/cjs/dockview/allModules.js +0 -25
  101. package/dist/cjs/dockview/components/panel/content.js +0 -213
  102. package/dist/cjs/dockview/components/popupService.js +0 -132
  103. package/dist/cjs/dockview/components/tab/defaultTab.js +0 -70
  104. package/dist/cjs/dockview/components/tab/tab.js +0 -281
  105. package/dist/cjs/dockview/components/titlebar/floatingTitleBar.js +0 -95
  106. package/dist/cjs/dockview/components/titlebar/groupDragSource.js +0 -218
  107. package/dist/cjs/dockview/components/titlebar/tabGroupChip.js +0 -104
  108. package/dist/cjs/dockview/components/titlebar/tabGroupIndicator.js +0 -477
  109. package/dist/cjs/dockview/components/titlebar/tabGroups.js +0 -854
  110. package/dist/cjs/dockview/components/titlebar/tabOverflowControl.js +0 -19
  111. package/dist/cjs/dockview/components/titlebar/tabs.js +0 -2016
  112. package/dist/cjs/dockview/components/titlebar/tabsContainer.js +0 -458
  113. package/dist/cjs/dockview/components/titlebar/voidContainer.js +0 -120
  114. package/dist/cjs/dockview/components/watermark/watermark.js +0 -40
  115. package/dist/cjs/dockview/deserializer.js +0 -39
  116. package/dist/cjs/dockview/dndCapabilities.js +0 -39
  117. package/dist/cjs/dockview/dockviewComponent.js +0 -3896
  118. package/dist/cjs/dockview/dockviewFloatingGroupPanel.js +0 -70
  119. package/dist/cjs/dockview/dockviewGroupPanel.js +0 -204
  120. package/dist/cjs/dockview/dockviewGroupPanelModel.js +0 -1514
  121. package/dist/cjs/dockview/dockviewPanel.js +0 -265
  122. package/dist/cjs/dockview/dockviewPanelModel.js +0 -105
  123. package/dist/cjs/dockview/dockviewShell.js +0 -744
  124. package/dist/cjs/dockview/edgeGroupService.js +0 -128
  125. package/dist/cjs/dockview/events.js +0 -67
  126. package/dist/cjs/dockview/floatingGroupService.js +0 -231
  127. package/dist/cjs/dockview/framework.js +0 -2
  128. package/dist/cjs/dockview/headerActionsService.js +0 -149
  129. package/dist/cjs/dockview/liveRegionService.js +0 -185
  130. package/dist/cjs/dockview/moduleContracts.js +0 -2
  131. package/dist/cjs/dockview/modules.js +0 -304
  132. package/dist/cjs/dockview/options.js +0 -103
  133. package/dist/cjs/dockview/popoutWindowService.js +0 -261
  134. package/dist/cjs/dockview/rootDropTargetService.js +0 -87
  135. package/dist/cjs/dockview/strictEventsSequencing.js +0 -63
  136. package/dist/cjs/dockview/tabGroup.js +0 -219
  137. package/dist/cjs/dockview/tabGroupAccent.js +0 -126
  138. package/dist/cjs/dockview/theme.js +0 -139
  139. package/dist/cjs/dockview/types.js +0 -2
  140. package/dist/cjs/dockview/validate.js +0 -76
  141. package/dist/cjs/dockview/watermarkService.js +0 -61
  142. package/dist/cjs/dom.js +0 -543
  143. package/dist/cjs/events.js +0 -296
  144. package/dist/cjs/framwork.js +0 -2
  145. package/dist/cjs/gridview/baseComponentGridview.js +0 -330
  146. package/dist/cjs/gridview/basePanelView.js +0 -162
  147. package/dist/cjs/gridview/branchNode.js +0 -372
  148. package/dist/cjs/gridview/gridview.js +0 -776
  149. package/dist/cjs/gridview/gridviewComponent.js +0 -363
  150. package/dist/cjs/gridview/gridviewPanel.js +0 -249
  151. package/dist/cjs/gridview/leafNode.js +0 -169
  152. package/dist/cjs/gridview/options.js +0 -17
  153. package/dist/cjs/gridview/types.js +0 -2
  154. package/dist/cjs/index.js +0 -105
  155. package/dist/cjs/lifecycle.js +0 -80
  156. package/dist/cjs/math.js +0 -38
  157. package/dist/cjs/overlay/overlay.js +0 -602
  158. package/dist/cjs/overlay/overlayRenderContainer.js +0 -309
  159. package/dist/cjs/panel/types.js +0 -2
  160. package/dist/cjs/paneview/defaultPaneviewHeader.js +0 -92
  161. package/dist/cjs/paneview/draggablePaneviewPanel.js +0 -141
  162. package/dist/cjs/paneview/options.js +0 -44
  163. package/dist/cjs/paneview/paneview.js +0 -203
  164. package/dist/cjs/paneview/paneviewComponent.js +0 -430
  165. package/dist/cjs/paneview/paneviewPanel.js +0 -275
  166. package/dist/cjs/popoutWindow.js +0 -244
  167. package/dist/cjs/resizable.js +0 -97
  168. package/dist/cjs/scrollbar.js +0 -169
  169. package/dist/cjs/splitview/options.js +0 -19
  170. package/dist/cjs/splitview/splitview.js +0 -999
  171. package/dist/cjs/splitview/splitviewComponent.js +0 -401
  172. package/dist/cjs/splitview/splitviewPanel.js +0 -179
  173. package/dist/cjs/splitview/viewItem.js +0 -119
  174. package/dist/cjs/svg.js +0 -43
  175. package/dist/cjs/types.js +0 -2
  176. package/dist/dockview-core.min.js.map +0 -1
  177. package/dist/dockview-core.min.noStyle.js.map +0 -1
  178. package/dist/esm/api/component.api.d.ts +0 -640
  179. package/dist/esm/api/component.api.js +0 -887
  180. package/dist/esm/api/dockviewGroupPanelApi.d.ts +0 -109
  181. package/dist/esm/api/dockviewGroupPanelApi.js +0 -155
  182. package/dist/esm/api/dockviewPanelApi.d.ts +0 -84
  183. package/dist/esm/api/dockviewPanelApi.js +0 -124
  184. package/dist/esm/api/entryPoints.d.ts +0 -9
  185. package/dist/esm/api/entryPoints.js +0 -21
  186. package/dist/esm/api/gridviewPanelApi.d.ts +0 -37
  187. package/dist/esm/api/gridviewPanelApi.js +0 -23
  188. package/dist/esm/api/panelApi.d.ts +0 -100
  189. package/dist/esm/api/panelApi.js +0 -87
  190. package/dist/esm/api/paneviewPanelApi.d.ts +0 -26
  191. package/dist/esm/api/paneviewPanelApi.js +0 -27
  192. package/dist/esm/api/splitviewPanelApi.d.ts +0 -32
  193. package/dist/esm/api/splitviewPanelApi.js +0 -25
  194. package/dist/esm/array.d.ts +0 -13
  195. package/dist/esm/array.js +0 -57
  196. package/dist/esm/constants.d.ts +0 -8
  197. package/dist/esm/constants.js +0 -8
  198. package/dist/esm/dnd/backend.d.ts +0 -70
  199. package/dist/esm/dnd/backend.js +0 -148
  200. package/dist/esm/dnd/dataTransfer.d.ts +0 -31
  201. package/dist/esm/dnd/dataTransfer.js +0 -67
  202. package/dist/esm/dnd/dnd.d.ts +0 -32
  203. package/dist/esm/dnd/dnd.js +0 -51
  204. package/dist/esm/dnd/dropOverlay.d.ts +0 -20
  205. package/dist/esm/dnd/dropOverlay.js +0 -192
  206. package/dist/esm/dnd/dropTargetAnchorContainer.d.ts +0 -16
  207. package/dist/esm/dnd/dropTargetAnchorContainer.js +0 -73
  208. package/dist/esm/dnd/droptarget.d.ts +0 -116
  209. package/dist/esm/dnd/droptarget.js +0 -316
  210. package/dist/esm/dnd/ghost.d.ts +0 -4
  211. package/dist/esm/dnd/ghost.js +0 -14
  212. package/dist/esm/dnd/pointer/index.d.ts +0 -11
  213. package/dist/esm/dnd/pointer/index.js +0 -5
  214. package/dist/esm/dnd/pointer/longPress.d.ts +0 -32
  215. package/dist/esm/dnd/pointer/longPress.js +0 -127
  216. package/dist/esm/dnd/pointer/pointerDragController.d.ts +0 -60
  217. package/dist/esm/dnd/pointer/pointerDragController.js +0 -193
  218. package/dist/esm/dnd/pointer/pointerDragSource.d.ts +0 -61
  219. package/dist/esm/dnd/pointer/pointerDragSource.js +0 -173
  220. package/dist/esm/dnd/pointer/pointerDropTarget.d.ts +0 -39
  221. package/dist/esm/dnd/pointer/pointerDropTarget.js +0 -168
  222. package/dist/esm/dnd/pointer/pointerGhost.d.ts +0 -30
  223. package/dist/esm/dnd/pointer/pointerGhost.js +0 -39
  224. package/dist/esm/dnd/pointer/types.d.ts +0 -16
  225. package/dist/esm/dnd/pointer/types.js +0 -1
  226. package/dist/esm/dockview/accessibilityMessages.d.ts +0 -32
  227. package/dist/esm/dockview/accessibilityMessages.js +0 -30
  228. package/dist/esm/dockview/allModules.d.ts +0 -8
  229. package/dist/esm/dockview/allModules.js +0 -22
  230. package/dist/esm/dockview/components/panel/content.d.ts +0 -54
  231. package/dist/esm/dockview/components/panel/content.js +0 -185
  232. package/dist/esm/dockview/components/popupService.d.ts +0 -21
  233. package/dist/esm/dockview/components/popupService.js +0 -108
  234. package/dist/esm/dockview/components/tab/defaultTab.d.ts +0 -12
  235. package/dist/esm/dockview/components/tab/defaultTab.js +0 -43
  236. package/dist/esm/dockview/components/tab/tab.d.ts +0 -44
  237. package/dist/esm/dockview/components/tab/tab.js +0 -242
  238. package/dist/esm/dockview/components/titlebar/floatingTitleBar.d.ts +0 -34
  239. package/dist/esm/dockview/components/titlebar/floatingTitleBar.js +0 -65
  240. package/dist/esm/dockview/components/titlebar/groupDragSource.d.ts +0 -51
  241. package/dist/esm/dockview/components/titlebar/groupDragSource.js +0 -178
  242. package/dist/esm/dockview/components/titlebar/tabGroupChip.d.ts +0 -37
  243. package/dist/esm/dockview/components/titlebar/tabGroupChip.js +0 -77
  244. package/dist/esm/dockview/components/titlebar/tabGroupIndicator.d.ts +0 -72
  245. package/dist/esm/dockview/components/titlebar/tabGroupIndicator.js +0 -360
  246. package/dist/esm/dockview/components/titlebar/tabGroups.d.ts +0 -107
  247. package/dist/esm/dockview/components/titlebar/tabGroups.js +0 -621
  248. package/dist/esm/dockview/components/titlebar/tabOverflowControl.d.ts +0 -8
  249. package/dist/esm/dockview/components/titlebar/tabOverflowControl.js +0 -16
  250. package/dist/esm/dockview/components/titlebar/tabs.d.ts +0 -167
  251. package/dist/esm/dockview/components/titlebar/tabs.js +0 -1653
  252. package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts +0 -104
  253. package/dist/esm/dockview/components/titlebar/tabsContainer.js +0 -359
  254. package/dist/esm/dockview/components/titlebar/voidContainer.d.ts +0 -21
  255. package/dist/esm/dockview/components/titlebar/voidContainer.js +0 -92
  256. package/dist/esm/dockview/components/watermark/watermark.d.ts +0 -8
  257. package/dist/esm/dockview/components/watermark/watermark.js +0 -14
  258. package/dist/esm/dockview/deserializer.d.ts +0 -12
  259. package/dist/esm/dockview/deserializer.js +0 -34
  260. package/dist/esm/dockview/dndCapabilities.d.ts +0 -19
  261. package/dist/esm/dockview/dndCapabilities.js +0 -36
  262. package/dist/esm/dockview/dockviewComponent.d.ts +0 -626
  263. package/dist/esm/dockview/dockviewComponent.js +0 -3214
  264. package/dist/esm/dockview/dockviewFloatingGroupPanel.d.ts +0 -45
  265. package/dist/esm/dockview/dockviewFloatingGroupPanel.js +0 -44
  266. package/dist/esm/dockview/dockviewGroupPanel.d.ts +0 -35
  267. package/dist/esm/dockview/dockviewGroupPanel.js +0 -142
  268. package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +0 -358
  269. package/dist/esm/dockview/dockviewGroupPanelModel.js +0 -1180
  270. package/dist/esm/dockview/dockviewPanel.d.ts +0 -69
  271. package/dist/esm/dockview/dockviewPanel.js +0 -178
  272. package/dist/esm/dockview/dockviewPanelModel.d.ts +0 -37
  273. package/dist/esm/dockview/dockviewPanelModel.js +0 -81
  274. package/dist/esm/dockview/dockviewShell.d.ts +0 -150
  275. package/dist/esm/dockview/dockviewShell.js +0 -678
  276. package/dist/esm/dockview/edgeGroupService.d.ts +0 -38
  277. package/dist/esm/dockview/edgeGroupService.js +0 -63
  278. package/dist/esm/dockview/events.d.ts +0 -38
  279. package/dist/esm/dockview/events.js +0 -34
  280. package/dist/esm/dockview/floatingGroupService.d.ts +0 -37
  281. package/dist/esm/dockview/floatingGroupService.js +0 -150
  282. package/dist/esm/dockview/framework.d.ts +0 -65
  283. package/dist/esm/dockview/framework.js +0 -1
  284. package/dist/esm/dockview/headerActionsService.d.ts +0 -32
  285. package/dist/esm/dockview/headerActionsService.js +0 -86
  286. package/dist/esm/dockview/liveRegionService.d.ts +0 -53
  287. package/dist/esm/dockview/liveRegionService.js +0 -159
  288. package/dist/esm/dockview/moduleContracts.d.ts +0 -119
  289. package/dist/esm/dockview/moduleContracts.js +0 -1
  290. package/dist/esm/dockview/modules.d.ts +0 -110
  291. package/dist/esm/dockview/modules.js +0 -170
  292. package/dist/esm/dockview/options.d.ts +0 -474
  293. package/dist/esm/dockview/options.js +0 -77
  294. package/dist/esm/dockview/popoutWindowService.d.ts +0 -95
  295. package/dist/esm/dockview/popoutWindowService.js +0 -175
  296. package/dist/esm/dockview/rootDropTargetService.d.ts +0 -35
  297. package/dist/esm/dockview/rootDropTargetService.js +0 -82
  298. package/dist/esm/dockview/strictEventsSequencing.d.ts +0 -7
  299. package/dist/esm/dockview/strictEventsSequencing.js +0 -41
  300. package/dist/esm/dockview/tabGroup.d.ts +0 -99
  301. package/dist/esm/dockview/tabGroup.js +0 -144
  302. package/dist/esm/dockview/tabGroupAccent.d.ts +0 -65
  303. package/dist/esm/dockview/tabGroupAccent.js +0 -114
  304. package/dist/esm/dockview/theme.d.ts +0 -86
  305. package/dist/esm/dockview/theme.js +0 -136
  306. package/dist/esm/dockview/types.d.ts +0 -53
  307. package/dist/esm/dockview/types.js +0 -1
  308. package/dist/esm/dockview/validate.d.ts +0 -0
  309. package/dist/esm/dockview/validate.js +0 -76
  310. package/dist/esm/dockview/watermarkService.d.ts +0 -30
  311. package/dist/esm/dockview/watermarkService.js +0 -56
  312. package/dist/esm/dom.d.ts +0 -60
  313. package/dist/esm/dom.js +0 -375
  314. package/dist/esm/events.d.ts +0 -79
  315. package/dist/esm/events.js +0 -219
  316. package/dist/esm/framwork.d.ts +0 -4
  317. package/dist/esm/framwork.js +0 -1
  318. package/dist/esm/gridview/baseComponentGridview.d.ts +0 -111
  319. package/dist/esm/gridview/baseComponentGridview.js +0 -237
  320. package/dist/esm/gridview/basePanelView.d.ts +0 -40
  321. package/dist/esm/gridview/basePanelView.js +0 -91
  322. package/dist/esm/gridview/branchNode.d.ts +0 -57
  323. package/dist/esm/gridview/branchNode.js +0 -257
  324. package/dist/esm/gridview/gridview.d.ts +0 -158
  325. package/dist/esm/gridview/gridview.js +0 -681
  326. package/dist/esm/gridview/gridviewComponent.d.ts +0 -88
  327. package/dist/esm/gridview/gridviewComponent.js +0 -265
  328. package/dist/esm/gridview/gridviewPanel.d.ts +0 -77
  329. package/dist/esm/gridview/gridviewPanel.js +0 -182
  330. package/dist/esm/gridview/leafNode.d.ts +0 -34
  331. package/dist/esm/gridview/leafNode.js +0 -102
  332. package/dist/esm/gridview/options.d.ts +0 -15
  333. package/dist/esm/gridview/options.js +0 -14
  334. package/dist/esm/gridview/types.d.ts +0 -3
  335. package/dist/esm/gridview/types.js +0 -1
  336. package/dist/esm/index.d.ts +0 -58
  337. package/dist/esm/index.js +0 -44
  338. package/dist/esm/lifecycle.d.ts +0 -25
  339. package/dist/esm/lifecycle.js +0 -56
  340. package/dist/esm/math.d.ts +0 -5
  341. package/dist/esm/math.js +0 -32
  342. package/dist/esm/overlay/overlay.d.ts +0 -91
  343. package/dist/esm/overlay/overlay.js +0 -520
  344. package/dist/esm/overlay/overlayRenderContainer.d.ts +0 -24
  345. package/dist/esm/overlay/overlayRenderContainer.js +0 -249
  346. package/dist/esm/panel/types.d.ts +0 -33
  347. package/dist/esm/panel/types.js +0 -1
  348. package/dist/esm/paneview/defaultPaneviewHeader.d.ts +0 -21
  349. package/dist/esm/paneview/defaultPaneviewHeader.js +0 -65
  350. package/dist/esm/paneview/draggablePaneviewPanel.d.ts +0 -38
  351. package/dist/esm/paneview/draggablePaneviewPanel.js +0 -107
  352. package/dist/esm/paneview/options.d.ts +0 -30
  353. package/dist/esm/paneview/options.js +0 -22
  354. package/dist/esm/paneview/paneview.d.ts +0 -41
  355. package/dist/esm/paneview/paneview.js +0 -148
  356. package/dist/esm/paneview/paneviewComponent.d.ts +0 -133
  357. package/dist/esm/paneview/paneviewComponent.js +0 -306
  358. package/dist/esm/paneview/paneviewPanel.d.ts +0 -98
  359. package/dist/esm/paneview/paneviewPanel.js +0 -192
  360. package/dist/esm/popoutWindow.d.ts +0 -38
  361. package/dist/esm/popoutWindow.js +0 -170
  362. package/dist/esm/resizable.d.ts +0 -12
  363. package/dist/esm/resizable.js +0 -66
  364. package/dist/esm/scrollbar.d.ts +0 -15
  365. package/dist/esm/scrollbar.js +0 -139
  366. package/dist/esm/splitview/options.d.ts +0 -21
  367. package/dist/esm/splitview/options.js +0 -16
  368. package/dist/esm/splitview/splitview.d.ts +0 -145
  369. package/dist/esm/splitview/splitview.js +0 -770
  370. package/dist/esm/splitview/splitviewComponent.d.ts +0 -101
  371. package/dist/esm/splitview/splitviewComponent.js +0 -267
  372. package/dist/esm/splitview/splitviewPanel.d.ts +0 -45
  373. package/dist/esm/splitview/splitviewPanel.js +0 -108
  374. package/dist/esm/splitview/viewItem.d.ts +0 -25
  375. package/dist/esm/splitview/viewItem.js +0 -74
  376. package/dist/esm/svg.d.ts +0 -3
  377. package/dist/esm/svg.js +0 -31
  378. package/dist/esm/types.d.ts +0 -31
  379. package/dist/esm/types.js +0 -1
  380. package/dist/styles/dockview.css +0 -3436
@@ -1,193 +0,0 @@
1
- import { disableIframePointEvents } from '../../dom';
2
- import { addDisposableListener, Emitter } from '../../events';
3
- import { CompositeDisposable } from '../../lifecycle';
4
- /**
5
- * Singleton — only one pointer-driven drag active at a time.
6
- *
7
- * State is shared across every Dockview instance on the page. Targets
8
- * from instance B receive hit-tests from drags originating in instance A;
9
- * that's intentional for cross-instance drops since `LocalSelectionTransfer`
10
- * is also process-wide. The corollary is that every Tabs subscriber to
11
- * `onDragMove` fires for every pointer drag globally — each subscriber
12
- * hit-tests against its own DOM, so this is O(N) per pointermove where N
13
- * is the number of registered listeners across all instances.
14
- */
15
- export class PointerDragController extends CompositeDisposable {
16
- static getInstance() {
17
- var _a;
18
- (_a = PointerDragController._instance) !== null && _a !== void 0 ? _a : (PointerDragController._instance = new PointerDragController());
19
- return PointerDragController._instance;
20
- }
21
- constructor() {
22
- super();
23
- this._targets = new Set();
24
- /** Kept in sync with `_targets` so hit-testing is allocation-free. */
25
- this._targetByElement = new Map();
26
- this._onDragStart = new Emitter();
27
- this.onDragStart = this._onDragStart.event;
28
- this._onDragMove = new Emitter();
29
- this.onDragMove = this._onDragMove.event;
30
- this._onDragEnd = new Emitter();
31
- this.onDragEnd = this._onDragEnd.event;
32
- this.addDisposables(this._onDragStart, this._onDragMove, this._onDragEnd);
33
- }
34
- get active() {
35
- return this._active;
36
- }
37
- registerTarget(target) {
38
- this._targets.add(target);
39
- this._targetByElement.set(target.element, target);
40
- return {
41
- dispose: () => {
42
- this._targets.delete(target);
43
- if (this._targetByElement.get(target.element) === target) {
44
- this._targetByElement.delete(target.element);
45
- }
46
- if (this._currentTarget === target) {
47
- this._currentTarget = undefined;
48
- }
49
- },
50
- };
51
- }
52
- beginDrag(args) {
53
- var _a, _b, _c;
54
- if (this._active) {
55
- this.cancel();
56
- }
57
- const { pointerEvent, source } = args;
58
- // Call `getData()` before mutating controller state — a throw
59
- // here would otherwise leave `_active` populated with no window
60
- // listeners installed, blocking every subsequent drag.
61
- const dataDisposable = args.getData();
62
- this._active = {
63
- pointerId: pointerEvent.pointerId,
64
- startX: pointerEvent.clientX,
65
- startY: pointerEvent.clientY,
66
- source,
67
- };
68
- this._onDragMoveCallback = args.onDragMove;
69
- this._onDragEndCallback = args.onDragEnd;
70
- this._dataDisposable = dataDisposable;
71
- this._ghost = args.ghost;
72
- // Iframes capture pointermove once the cursor crosses into them,
73
- // which would freeze the drag from the parent window's POV.
74
- this._iframeShield = disableIframePointEvents((_a = source.ownerDocument) !== null && _a !== void 0 ? _a : document);
75
- const startEvent = {
76
- clientX: pointerEvent.clientX,
77
- clientY: pointerEvent.clientY,
78
- pointerEvent,
79
- };
80
- this._onDragStart.fire(startEvent);
81
- // Source's owning window — popout drags fire on their own window,
82
- // not the main one.
83
- const targetWindow = (_c = (_b = source.ownerDocument) === null || _b === void 0 ? void 0 : _b.defaultView) !== null && _c !== void 0 ? _c : globalThis.window;
84
- this._moveListener = addDisposableListener(targetWindow, 'pointermove', (e) => {
85
- var _a;
86
- if (e.pointerId !== ((_a = this._active) === null || _a === void 0 ? void 0 : _a.pointerId)) {
87
- return;
88
- }
89
- this._handleMove(e);
90
- });
91
- this._upListener = addDisposableListener(targetWindow, 'pointerup', (e) => {
92
- var _a;
93
- if (e.pointerId !== ((_a = this._active) === null || _a === void 0 ? void 0 : _a.pointerId)) {
94
- return;
95
- }
96
- this._handleEnd(e, true);
97
- });
98
- this._cancelListener = addDisposableListener(targetWindow, 'pointercancel', (e) => {
99
- var _a;
100
- if (e.pointerId !== ((_a = this._active) === null || _a === void 0 ? void 0 : _a.pointerId)) {
101
- return;
102
- }
103
- this._handleEnd(e, false);
104
- });
105
- }
106
- cancel() {
107
- var _a, _b;
108
- if (!this._active) {
109
- return;
110
- }
111
- (_a = this._currentTarget) === null || _a === void 0 ? void 0 : _a.handleDragLeave();
112
- this._teardown();
113
- (_b = this._dataDisposable) === null || _b === void 0 ? void 0 : _b.dispose();
114
- this._dataDisposable = undefined;
115
- }
116
- _findTargetUnder(x, y) {
117
- var _a, _b;
118
- // `elementsFromPoint` is topmost-first; walk up to find the closest
119
- // registered ancestor (so a tab beats the layout-root that contains it).
120
- // Use the source's owning document so popout drags hit their own targets.
121
- const sourceDoc = (_b = (_a = this._active) === null || _a === void 0 ? void 0 : _a.source.ownerDocument) !== null && _b !== void 0 ? _b : document;
122
- const elements = sourceDoc.elementsFromPoint(x, y);
123
- for (const el of elements) {
124
- let current = el;
125
- while (current) {
126
- const target = this._targetByElement.get(current);
127
- if (target) {
128
- return target;
129
- }
130
- current = current.parentElement;
131
- }
132
- }
133
- return undefined;
134
- }
135
- _handleMove(e) {
136
- var _a, _b, _c;
137
- (_a = this._ghost) === null || _a === void 0 ? void 0 : _a.update(e.clientX, e.clientY);
138
- const dragEvent = {
139
- clientX: e.clientX,
140
- clientY: e.clientY,
141
- pointerEvent: e,
142
- };
143
- const newTarget = this._findTargetUnder(e.clientX, e.clientY);
144
- if (newTarget !== this._currentTarget) {
145
- (_b = this._currentTarget) === null || _b === void 0 ? void 0 : _b.handleDragLeave();
146
- this._currentTarget = newTarget;
147
- }
148
- if (newTarget) {
149
- newTarget.handleDragOver(dragEvent);
150
- }
151
- (_c = this._onDragMoveCallback) === null || _c === void 0 ? void 0 : _c.call(this, dragEvent);
152
- this._onDragMove.fire(dragEvent);
153
- }
154
- _handleEnd(e, dropped) {
155
- var _a;
156
- const dragEvent = {
157
- clientX: e.clientX,
158
- clientY: e.clientY,
159
- pointerEvent: e,
160
- };
161
- if (dropped && this._currentTarget) {
162
- this._currentTarget.handleDrop(dragEvent);
163
- }
164
- else {
165
- (_a = this._currentTarget) === null || _a === void 0 ? void 0 : _a.handleDragLeave();
166
- }
167
- const onEnd = this._onDragEndCallback;
168
- const dataDisposable = this._dataDisposable;
169
- this._teardown();
170
- this._dataDisposable = undefined;
171
- // Defer disposal so drop handlers can still read the transfer data.
172
- setTimeout(() => dataDisposable === null || dataDisposable === void 0 ? void 0 : dataDisposable.dispose(), 0);
173
- onEnd === null || onEnd === void 0 ? void 0 : onEnd(dragEvent, dropped);
174
- this._onDragEnd.fire(dragEvent);
175
- }
176
- _teardown() {
177
- var _a, _b, _c, _d, _e;
178
- this._currentTarget = undefined;
179
- this._active = undefined;
180
- this._onDragMoveCallback = undefined;
181
- this._onDragEndCallback = undefined;
182
- (_a = this._ghost) === null || _a === void 0 ? void 0 : _a.dispose();
183
- this._ghost = undefined;
184
- (_b = this._iframeShield) === null || _b === void 0 ? void 0 : _b.release();
185
- this._iframeShield = undefined;
186
- (_c = this._moveListener) === null || _c === void 0 ? void 0 : _c.dispose();
187
- (_d = this._upListener) === null || _d === void 0 ? void 0 : _d.dispose();
188
- (_e = this._cancelListener) === null || _e === void 0 ? void 0 : _e.dispose();
189
- this._moveListener = undefined;
190
- this._upListener = undefined;
191
- this._cancelListener = undefined;
192
- }
193
- }
@@ -1,61 +0,0 @@
1
- import { CompositeDisposable, IDisposable } from '../../lifecycle';
2
- import { PointerGhost } from './pointerGhost';
3
- import { PointerDragEvent } from './types';
4
- export interface PointerDragSourceOptions {
5
- /** Populate transfer data; returned disposer clears it on drag end. */
6
- getData: (event: PointerEvent) => IDisposable;
7
- onDragStart?: (event: PointerEvent) => void;
8
- onDragMove?: (event: PointerDragEvent) => void;
9
- onDragEnd?: (event: PointerDragEvent, dropped: boolean) => void;
10
- /** Cancels the drag at pointerdown time. */
11
- isCancelled?: (event: PointerEvent) => boolean;
12
- /** Default 5px. Touch pointers also need `touchInitiationDelay` to elapse. */
13
- threshold?: number;
14
- /**
15
- * Touch-only long-press; movement past `pressTolerance` during the delay
16
- * still arms the drag (any flick is drag intent). Default 250ms. May be
17
- * a function so callers can vary it per gesture (e.g. require a longer
18
- * hold for floating-group redock vs docked-group rearrange).
19
- */
20
- touchInitiationDelay?: number | (() => number);
21
- /** Default 8px. May be a function — see `touchInitiationDelay`. */
22
- pressTolerance?: number | (() => number);
23
- /** Default true: mouse defers to HTML5; pointer path handles touch / pen only. */
24
- touchOnly?: boolean;
25
- /** Follow-finger ghost factory; if omitted the user only sees drop overlays. */
26
- createGhost?: (event: PointerEvent) => PointerGhost | undefined;
27
- }
28
- /**
29
- * Pointer-event drag source. Waits for movement past `threshold` (and
30
- * touch-only `touchInitiationDelay`) before promoting to a drag so taps
31
- * pass through unaffected.
32
- */
33
- export declare class PointerDragSource extends CompositeDisposable {
34
- private readonly element;
35
- private readonly options;
36
- private _disabled;
37
- private _touchOnly;
38
- private _pendingPointerId;
39
- private _pendingMoveListener;
40
- private _pendingUpListener;
41
- private _pendingCancelListener;
42
- private _armTimer;
43
- private _armed;
44
- private _startX;
45
- private _startY;
46
- private _startEvent;
47
- constructor(element: HTMLElement, options: PointerDragSourceOptions);
48
- setDisabled(value: boolean): void;
49
- /**
50
- * `false` lets the pointer source also handle mouse pointers; used when
51
- * `dndStrategy: 'pointer'` to drive every input type through this path.
52
- */
53
- setTouchOnly(value: boolean): void;
54
- private _shouldHandle;
55
- private _onPointerDown;
56
- /** For sibling gesture detectors (e.g. LongPressDetector) to dismiss a pending drag. */
57
- cancelPending(): void;
58
- private _cancelPending;
59
- private _beginDrag;
60
- dispose(): void;
61
- }
@@ -1,173 +0,0 @@
1
- import { addDisposableListener } from '../../events';
2
- import { CompositeDisposable } from '../../lifecycle';
3
- import { PointerDragController } from './pointerDragController';
4
- const DEFAULT_THRESHOLD = 5;
5
- const DEFAULT_TOUCH_INITIATION_DELAY = 250;
6
- const DEFAULT_PRESS_TOLERANCE = 8;
7
- /**
8
- * Pointer-event drag source. Waits for movement past `threshold` (and
9
- * touch-only `touchInitiationDelay`) before promoting to a drag so taps
10
- * pass through unaffected.
11
- */
12
- export class PointerDragSource extends CompositeDisposable {
13
- constructor(element, options) {
14
- var _a;
15
- super();
16
- this.element = element;
17
- this.options = options;
18
- this._disabled = false;
19
- this._armed = false;
20
- this._startX = 0;
21
- this._startY = 0;
22
- this._touchOnly = (_a = options.touchOnly) !== null && _a !== void 0 ? _a : true;
23
- this.addDisposables(addDisposableListener(this.element, 'pointerdown', (e) => {
24
- this._onPointerDown(e);
25
- }));
26
- }
27
- setDisabled(value) {
28
- this._disabled = value;
29
- if (value) {
30
- this._cancelPending();
31
- }
32
- }
33
- /**
34
- * `false` lets the pointer source also handle mouse pointers; used when
35
- * `dndStrategy: 'pointer'` to drive every input type through this path.
36
- */
37
- setTouchOnly(value) {
38
- if (this._touchOnly === value) {
39
- return;
40
- }
41
- this._touchOnly = value;
42
- // A pending mouse-tracked drag should be abandoned if we re-enable
43
- // the touch-only filter mid-flight.
44
- if (value) {
45
- this._cancelPending();
46
- }
47
- }
48
- _shouldHandle(event) {
49
- var _a, _b;
50
- if (this._disabled) {
51
- return false;
52
- }
53
- // Pointer-type filter runs before isCancelled — consumer state read
54
- // by isCancelled may not be populated for events we'll never handle.
55
- if (this._touchOnly &&
56
- event.pointerType !== 'touch' &&
57
- event.pointerType !== 'pen') {
58
- return false;
59
- }
60
- if ((_b = (_a = this.options).isCancelled) === null || _b === void 0 ? void 0 : _b.call(_a, event)) {
61
- return false;
62
- }
63
- return true;
64
- }
65
- _onPointerDown(event) {
66
- var _a, _b, _c, _d, _e;
67
- if (!this._shouldHandle(event)) {
68
- return;
69
- }
70
- // Defensive: a fresh pointerdown supersedes any in-flight tracking.
71
- this._cancelPending();
72
- this._pendingPointerId = event.pointerId;
73
- this._startX = event.clientX;
74
- this._startY = event.clientY;
75
- this._startEvent = event;
76
- const isTouch = event.pointerType === 'touch' || event.pointerType === 'pen';
77
- // Touch waits a short window so a still finger can press-and-hold
78
- // before drifting; once the timer fires, any motion past `threshold`
79
- // begins the drag.
80
- const initiationDelayOpt = this.options.touchInitiationDelay;
81
- const initiationDelay = (_a = (typeof initiationDelayOpt === 'function'
82
- ? initiationDelayOpt()
83
- : initiationDelayOpt)) !== null && _a !== void 0 ? _a : DEFAULT_TOUCH_INITIATION_DELAY;
84
- this._armed = !isTouch || initiationDelay <= 0;
85
- if (isTouch &&
86
- initiationDelay > 0 &&
87
- Number.isFinite(initiationDelay)) {
88
- this._armTimer = setTimeout(() => {
89
- this._armTimer = undefined;
90
- this._armed = true;
91
- }, initiationDelay);
92
- }
93
- const threshold = (_b = this.options.threshold) !== null && _b !== void 0 ? _b : DEFAULT_THRESHOLD;
94
- const pressToleranceOpt = this.options.pressTolerance;
95
- const pressTolerance = (_c = (typeof pressToleranceOpt === 'function'
96
- ? pressToleranceOpt()
97
- : pressToleranceOpt)) !== null && _c !== void 0 ? _c : DEFAULT_PRESS_TOLERANCE;
98
- // Source's owning window — popout drags fire on their own window.
99
- const targetWindow = (_e = (_d = this.element.ownerDocument) === null || _d === void 0 ? void 0 : _d.defaultView) !== null && _e !== void 0 ? _e : globalThis.window;
100
- this._pendingMoveListener = addDisposableListener(targetWindow, 'pointermove', (moveEvent) => {
101
- if (moveEvent.pointerId !== this._pendingPointerId) {
102
- return;
103
- }
104
- const dx = moveEvent.clientX - this._startX;
105
- const dy = moveEvent.clientY - this._startY;
106
- const distance = Math.hypot(dx, dy);
107
- if (this._armed) {
108
- if (distance >= threshold) {
109
- this._beginDrag(moveEvent);
110
- }
111
- return;
112
- }
113
- // Pre-arm phase: a flick past `pressTolerance` in any
114
- // direction is treated as drag intent. The element opts out
115
- // of native scroll via `touch-action: none`; container-level
116
- // scrolling lives on the surrounding strip's empty space.
117
- if (distance > pressTolerance) {
118
- this._beginDrag(moveEvent);
119
- }
120
- });
121
- this._pendingUpListener = addDisposableListener(targetWindow, 'pointerup', (upEvent) => {
122
- if (upEvent.pointerId !== this._pendingPointerId) {
123
- return;
124
- }
125
- this._cancelPending();
126
- });
127
- this._pendingCancelListener = addDisposableListener(targetWindow, 'pointercancel', (cancelEvent) => {
128
- if (cancelEvent.pointerId !== this._pendingPointerId) {
129
- return;
130
- }
131
- this._cancelPending();
132
- });
133
- }
134
- /** For sibling gesture detectors (e.g. LongPressDetector) to dismiss a pending drag. */
135
- cancelPending() {
136
- this._cancelPending();
137
- }
138
- _cancelPending() {
139
- var _a, _b, _c;
140
- this._pendingPointerId = undefined;
141
- if (this._armTimer !== undefined) {
142
- clearTimeout(this._armTimer);
143
- this._armTimer = undefined;
144
- }
145
- this._armed = false;
146
- (_a = this._pendingMoveListener) === null || _a === void 0 ? void 0 : _a.dispose();
147
- (_b = this._pendingUpListener) === null || _b === void 0 ? void 0 : _b.dispose();
148
- (_c = this._pendingCancelListener) === null || _c === void 0 ? void 0 : _c.dispose();
149
- this._pendingMoveListener = undefined;
150
- this._pendingUpListener = undefined;
151
- this._pendingCancelListener = undefined;
152
- this._startEvent = undefined;
153
- }
154
- _beginDrag(triggerEvent) {
155
- var _a, _b, _c, _d, _e;
156
- const startEvent = (_a = this._startEvent) !== null && _a !== void 0 ? _a : triggerEvent;
157
- this._cancelPending();
158
- (_c = (_b = this.options).onDragStart) === null || _c === void 0 ? void 0 : _c.call(_b, startEvent);
159
- const ghost = (_e = (_d = this.options).createGhost) === null || _e === void 0 ? void 0 : _e.call(_d, startEvent);
160
- PointerDragController.getInstance().beginDrag({
161
- pointerEvent: triggerEvent,
162
- source: this.element,
163
- getData: () => this.options.getData(startEvent),
164
- ghost,
165
- onDragMove: this.options.onDragMove,
166
- onDragEnd: this.options.onDragEnd,
167
- });
168
- }
169
- dispose() {
170
- this._cancelPending();
171
- super.dispose();
172
- }
173
- }
@@ -1,39 +0,0 @@
1
- import { Event } from '../../events';
2
- import { CompositeDisposable } from '../../lifecycle';
3
- import { CanDisplayOverlay, DropTargetTargetModel, DroptargetEvent, DroptargetOverlayModel, IDropTarget, Position, WillShowOverlayEvent } from '../droptarget';
4
- export interface PointerDropTargetOptions {
5
- canDisplayOverlay: CanDisplayOverlay;
6
- acceptedTargetZones: Position[];
7
- overlayModel?: DroptargetOverlayModel;
8
- /** Render into an external anchor container (floating groups, layout root). */
9
- getOverrideTarget?: () => DropTargetTargetModel | undefined;
10
- /** Outline element for positioning; falls back to the drop element. */
11
- getOverlayOutline?: () => HTMLElement | null;
12
- className?: string;
13
- }
14
- /** Pointer-driven counterpart to `Droptarget` with identical visual output. */
15
- export declare class PointerDropTarget extends CompositeDisposable implements IDropTarget {
16
- private readonly element;
17
- private readonly options;
18
- private _targetElement;
19
- private _overlayElement;
20
- private _state;
21
- private _acceptedTargetZonesSet;
22
- private readonly _onDrop;
23
- readonly onDrop: Event<DroptargetEvent>;
24
- private readonly _onWillShowOverlay;
25
- readonly onWillShowOverlay: Event<WillShowOverlayEvent>;
26
- private _disabled;
27
- get disabled(): boolean;
28
- set disabled(value: boolean);
29
- get state(): Position | undefined;
30
- constructor(element: HTMLElement, options: PointerDropTargetOptions);
31
- setTargetZones(zones: Position[]): void;
32
- setOverlayModel(model: DroptargetOverlayModel): void;
33
- dispose(): void;
34
- private _onDragOver;
35
- private _onDragLeave;
36
- private _onDropEvent;
37
- private _calculateQuadrant;
38
- private _removeOverlay;
39
- }
@@ -1,168 +0,0 @@
1
- import { Emitter } from '../../events';
2
- import { CompositeDisposable } from '../../lifecycle';
3
- import { createOverlayElements, renderAnchoredOverlay, renderInPlaceOverlay, } from '../dropOverlay';
4
- import { calculateQuadrantAsPercentage, calculateQuadrantAsPixels, WillShowOverlayEvent, } from '../droptarget';
5
- import { PointerDragController } from './pointerDragController';
6
- const DEFAULT_ACTIVATION_SIZE = {
7
- value: 20,
8
- type: 'percentage',
9
- };
10
- /** Pointer-driven counterpart to `Droptarget` with identical visual output. */
11
- export class PointerDropTarget extends CompositeDisposable {
12
- get disabled() {
13
- return this._disabled;
14
- }
15
- set disabled(value) {
16
- this._disabled = value;
17
- if (value) {
18
- this._removeOverlay();
19
- }
20
- }
21
- get state() {
22
- return this._state;
23
- }
24
- constructor(element, options) {
25
- super();
26
- this.element = element;
27
- this.options = options;
28
- this._onDrop = new Emitter();
29
- this.onDrop = this._onDrop.event;
30
- this._onWillShowOverlay = new Emitter();
31
- this.onWillShowOverlay = this._onWillShowOverlay.event;
32
- this._disabled = false;
33
- this._acceptedTargetZonesSet = new Set(options.acceptedTargetZones);
34
- const handle = {
35
- element: this.element,
36
- handleDragOver: (e) => this._onDragOver(e),
37
- handleDragLeave: () => this._onDragLeave(),
38
- handleDrop: (e) => this._onDropEvent(e),
39
- };
40
- this.addDisposables(this._onDrop, this._onWillShowOverlay, PointerDragController.getInstance().registerTarget(handle));
41
- }
42
- setTargetZones(zones) {
43
- this._acceptedTargetZonesSet = new Set(zones);
44
- }
45
- setOverlayModel(model) {
46
- this.options.overlayModel = model;
47
- }
48
- dispose() {
49
- this._removeOverlay();
50
- super.dispose();
51
- }
52
- _onDragOver(event) {
53
- var _a, _b, _c, _d, _e;
54
- if (this._disabled) {
55
- this._removeOverlay();
56
- return;
57
- }
58
- const overrideTarget = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
59
- if (this._acceptedTargetZonesSet.size === 0) {
60
- if (overrideTarget) {
61
- return;
62
- }
63
- this._removeOverlay();
64
- return;
65
- }
66
- const outlineEl = (_e = (_d = (_c = this.options).getOverlayOutline) === null || _d === void 0 ? void 0 : _d.call(_c)) !== null && _e !== void 0 ? _e : this.element;
67
- const width = outlineEl.offsetWidth;
68
- const height = outlineEl.offsetHeight;
69
- if (width === 0 || height === 0) {
70
- return;
71
- }
72
- const rect = outlineEl.getBoundingClientRect();
73
- const x = event.clientX - rect.left;
74
- const y = event.clientY - rect.top;
75
- const quadrant = this._calculateQuadrant(x, y, width, height);
76
- if (quadrant === null) {
77
- this._removeOverlay();
78
- return;
79
- }
80
- if (!this.options.canDisplayOverlay(event.pointerEvent, quadrant)) {
81
- if (overrideTarget) {
82
- return;
83
- }
84
- this._removeOverlay();
85
- return;
86
- }
87
- const willShow = new WillShowOverlayEvent({
88
- nativeEvent: event.pointerEvent,
89
- position: quadrant,
90
- });
91
- this._onWillShowOverlay.fire(willShow);
92
- if (willShow.defaultPrevented) {
93
- this._removeOverlay();
94
- return;
95
- }
96
- if (overrideTarget) {
97
- renderAnchoredOverlay({
98
- outlineElement: outlineEl,
99
- targetModel: overrideTarget,
100
- quadrant,
101
- width,
102
- height,
103
- overlayModel: this.options.overlayModel,
104
- className: this.options.className,
105
- });
106
- this._state = quadrant;
107
- return;
108
- }
109
- if (!this._targetElement) {
110
- const els = createOverlayElements();
111
- this._targetElement = els.dropzone;
112
- this._overlayElement = els.selection;
113
- this._state = 'center';
114
- this.element.classList.add('dv-drop-target');
115
- this.element.append(this._targetElement);
116
- }
117
- if (this._overlayElement) {
118
- renderInPlaceOverlay(this._overlayElement, quadrant, width, height, this.options.overlayModel);
119
- }
120
- this._state = quadrant;
121
- }
122
- _onDragLeave() {
123
- var _a, _b;
124
- const overrideTarget = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
125
- // Anchor target owns its own lifecycle; just clear our latched
126
- // state so a subsequent pointerup doesn't fire a stale drop.
127
- if (overrideTarget) {
128
- this._state = undefined;
129
- overrideTarget.clear();
130
- return;
131
- }
132
- this._removeOverlay();
133
- }
134
- _onDropEvent(event) {
135
- var _a, _b;
136
- const state = this._state;
137
- const overrideTarget = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
138
- this._removeOverlay();
139
- overrideTarget === null || overrideTarget === void 0 ? void 0 : overrideTarget.clear();
140
- if (state) {
141
- this._onDrop.fire({
142
- position: state,
143
- nativeEvent: event.pointerEvent,
144
- });
145
- }
146
- }
147
- _calculateQuadrant(x, y, width, height) {
148
- var _a, _b;
149
- const activation = (_b = (_a = this.options.overlayModel) === null || _a === void 0 ? void 0 : _a.activationSize) !== null && _b !== void 0 ? _b : DEFAULT_ACTIVATION_SIZE;
150
- if (activation.type === 'percentage') {
151
- return calculateQuadrantAsPercentage(this._acceptedTargetZonesSet, x, y, width, height, activation.value);
152
- }
153
- return calculateQuadrantAsPixels(this._acceptedTargetZonesSet, x, y, width, height, activation.value);
154
- }
155
- _removeOverlay() {
156
- var _a;
157
- if (this._targetElement) {
158
- this._state = undefined;
159
- (_a = this._targetElement.parentElement) === null || _a === void 0 ? void 0 : _a.classList.remove('dv-drop-target');
160
- this._targetElement.remove();
161
- this._targetElement = undefined;
162
- this._overlayElement = undefined;
163
- }
164
- else {
165
- this._state = undefined;
166
- }
167
- }
168
- }
@@ -1,30 +0,0 @@
1
- import { IDisposable } from '../../lifecycle';
2
- export interface PointerGhostOptions {
3
- element: HTMLElement;
4
- initialX: number;
5
- initialY: number;
6
- /** Pointer position within the ghost; default top-left. */
7
- offsetX?: number;
8
- offsetY?: number;
9
- /** Default 0.8. */
10
- opacity?: number;
11
- /**
12
- * Source element whose `ownerDocument.body` hosts the ghost — pass for
13
- * popout-window drags so the ghost renders in the popout's document.
14
- */
15
- owner?: Element;
16
- }
17
- /**
18
- * Floating clone that follows the pointer; appended to the owning
19
- * document's body with `pointer-events: none` so it doesn't intercept
20
- * hit-testing.
21
- */
22
- export declare class PointerGhost implements IDisposable {
23
- private readonly element;
24
- private readonly offsetX;
25
- private readonly offsetY;
26
- private _disposed;
27
- constructor(opts: PointerGhostOptions);
28
- update(clientX: number, clientY: number): void;
29
- dispose(): void;
30
- }