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,999 +0,0 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Accreditation: This file is largly based upon the MIT licenced VSCode sourcecode found at:
4
- * https://github.com/microsoft/vscode/tree/main/src/vs/base/browser/ui/splitview
5
- *--------------------------------------------------------------------------------------------*/
6
- var __values = (this && this.__values) || function(o) {
7
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
8
- if (m) return m.call(o);
9
- if (o && typeof o.length === "number") return {
10
- next: function () {
11
- if (o && i >= o.length) o = void 0;
12
- return { value: o && o[i++], done: !o };
13
- }
14
- };
15
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
16
- };
17
- var __read = (this && this.__read) || function (o, n) {
18
- var m = typeof Symbol === "function" && o[Symbol.iterator];
19
- if (!m) return o;
20
- var i = m.call(o), r, ar = [], e;
21
- try {
22
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
23
- }
24
- catch (error) { e = { error: error }; }
25
- finally {
26
- try {
27
- if (r && !r.done && (m = i["return"])) m.call(i);
28
- }
29
- finally { if (e) throw e.error; }
30
- }
31
- return ar;
32
- };
33
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
34
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
35
- if (ar || !(i in from)) {
36
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
37
- ar[i] = from[i];
38
- }
39
- }
40
- return to.concat(ar || Array.prototype.slice.call(from));
41
- };
42
- Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.Splitview = exports.Sizing = exports.LayoutPriority = exports.SashState = exports.Orientation = void 0;
44
- var dom_1 = require("../dom");
45
- var events_1 = require("../events");
46
- var array_1 = require("../array");
47
- var math_1 = require("../math");
48
- var viewItem_1 = require("./viewItem");
49
- var Orientation;
50
- (function (Orientation) {
51
- Orientation["HORIZONTAL"] = "HORIZONTAL";
52
- Orientation["VERTICAL"] = "VERTICAL";
53
- })(Orientation || (exports.Orientation = Orientation = {}));
54
- var SashState;
55
- (function (SashState) {
56
- SashState[SashState["MAXIMUM"] = 0] = "MAXIMUM";
57
- SashState[SashState["MINIMUM"] = 1] = "MINIMUM";
58
- SashState[SashState["DISABLED"] = 2] = "DISABLED";
59
- SashState[SashState["ENABLED"] = 3] = "ENABLED";
60
- })(SashState || (exports.SashState = SashState = {}));
61
- var LayoutPriority;
62
- (function (LayoutPriority) {
63
- LayoutPriority["Low"] = "low";
64
- LayoutPriority["High"] = "high";
65
- LayoutPriority["Normal"] = "normal";
66
- })(LayoutPriority || (exports.LayoutPriority = LayoutPriority = {}));
67
- var Sizing;
68
- (function (Sizing) {
69
- Sizing.Distribute = { type: 'distribute' };
70
- function Split(index) {
71
- return { type: 'split', index: index };
72
- }
73
- Sizing.Split = Split;
74
- function Invisible(cachedVisibleSize) {
75
- return { type: 'invisible', cachedVisibleSize: cachedVisibleSize };
76
- }
77
- Sizing.Invisible = Invisible;
78
- })(Sizing || (exports.Sizing = Sizing = {}));
79
- var Splitview = /** @class */ (function () {
80
- function Splitview(container, options) {
81
- var _this = this;
82
- var _a, _b;
83
- this.container = container;
84
- this.viewItems = [];
85
- this.sashes = [];
86
- this._size = 0;
87
- this._orthogonalSize = 0;
88
- this._contentSize = 0;
89
- this._proportions = undefined;
90
- this._startSnappingEnabled = true;
91
- this._endSnappingEnabled = true;
92
- this._disabled = false;
93
- this._margin = 0;
94
- this._onDidSashEnd = new events_1.Emitter();
95
- this.onDidSashEnd = this._onDidSashEnd.event;
96
- this._onDidAddView = new events_1.Emitter();
97
- this.onDidAddView = this._onDidAddView.event;
98
- this._onDidRemoveView = new events_1.Emitter();
99
- this.onDidRemoveView = this._onDidRemoveView.event;
100
- this.resize = function (index, delta, sizes, lowPriorityIndexes, highPriorityIndexes, overloadMinDelta, overloadMaxDelta, snapBefore, snapAfter) {
101
- var e_1, _a, e_2, _b;
102
- if (sizes === void 0) { sizes = _this.viewItems.map(function (x) { return x.size; }); }
103
- if (overloadMinDelta === void 0) { overloadMinDelta = Number.NEGATIVE_INFINITY; }
104
- if (overloadMaxDelta === void 0) { overloadMaxDelta = Number.POSITIVE_INFINITY; }
105
- if (index < 0 || index > _this.viewItems.length) {
106
- return 0;
107
- }
108
- var upIndexes = (0, math_1.range)(index, -1);
109
- var downIndexes = (0, math_1.range)(index + 1, _this.viewItems.length);
110
- //
111
- if (highPriorityIndexes) {
112
- try {
113
- for (var highPriorityIndexes_1 = __values(highPriorityIndexes), highPriorityIndexes_1_1 = highPriorityIndexes_1.next(); !highPriorityIndexes_1_1.done; highPriorityIndexes_1_1 = highPriorityIndexes_1.next()) {
114
- var i = highPriorityIndexes_1_1.value;
115
- (0, array_1.pushToStart)(upIndexes, i);
116
- (0, array_1.pushToStart)(downIndexes, i);
117
- }
118
- }
119
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
120
- finally {
121
- try {
122
- if (highPriorityIndexes_1_1 && !highPriorityIndexes_1_1.done && (_a = highPriorityIndexes_1.return)) _a.call(highPriorityIndexes_1);
123
- }
124
- finally { if (e_1) throw e_1.error; }
125
- }
126
- }
127
- if (lowPriorityIndexes) {
128
- try {
129
- for (var lowPriorityIndexes_1 = __values(lowPriorityIndexes), lowPriorityIndexes_1_1 = lowPriorityIndexes_1.next(); !lowPriorityIndexes_1_1.done; lowPriorityIndexes_1_1 = lowPriorityIndexes_1.next()) {
130
- var i = lowPriorityIndexes_1_1.value;
131
- (0, array_1.pushToEnd)(upIndexes, i);
132
- (0, array_1.pushToEnd)(downIndexes, i);
133
- }
134
- }
135
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
136
- finally {
137
- try {
138
- if (lowPriorityIndexes_1_1 && !lowPriorityIndexes_1_1.done && (_b = lowPriorityIndexes_1.return)) _b.call(lowPriorityIndexes_1);
139
- }
140
- finally { if (e_2) throw e_2.error; }
141
- }
142
- }
143
- //
144
- var upItems = upIndexes.map(function (i) { return _this.viewItems[i]; });
145
- var upSizes = upIndexes.map(function (i) { return sizes[i]; });
146
- //
147
- var downItems = downIndexes.map(function (i) { return _this.viewItems[i]; });
148
- var downSizes = downIndexes.map(function (i) { return sizes[i]; });
149
- //
150
- var minDeltaUp = upIndexes.reduce(function (_, i) { return _ + _this.viewItems[i].minimumSize - sizes[i]; }, 0);
151
- var maxDeltaUp = upIndexes.reduce(function (_, i) { return _ + _this.viewItems[i].maximumSize - sizes[i]; }, 0);
152
- //
153
- var maxDeltaDown = downIndexes.length === 0
154
- ? Number.POSITIVE_INFINITY
155
- : downIndexes.reduce(function (_, i) { return _ + sizes[i] - _this.viewItems[i].minimumSize; }, 0);
156
- var minDeltaDown = downIndexes.length === 0
157
- ? Number.NEGATIVE_INFINITY
158
- : downIndexes.reduce(function (_, i) { return _ + sizes[i] - _this.viewItems[i].maximumSize; }, 0);
159
- //
160
- var minDelta = Math.max(minDeltaUp, minDeltaDown);
161
- var maxDelta = Math.min(maxDeltaDown, maxDeltaUp);
162
- //
163
- var snapped = false;
164
- if (snapBefore) {
165
- var snapView = _this.viewItems[snapBefore.index];
166
- var visible = delta >= snapBefore.limitDelta;
167
- snapped = visible !== snapView.visible;
168
- snapView.setVisible(visible, snapBefore.size);
169
- }
170
- if (!snapped && snapAfter) {
171
- var snapView = _this.viewItems[snapAfter.index];
172
- var visible = delta < snapAfter.limitDelta;
173
- snapped = visible !== snapView.visible;
174
- snapView.setVisible(visible, snapAfter.size);
175
- }
176
- if (snapped) {
177
- return _this.resize(index, delta, sizes, lowPriorityIndexes, highPriorityIndexes, overloadMinDelta, overloadMaxDelta);
178
- }
179
- //
180
- var tentativeDelta = (0, math_1.clamp)(delta, minDelta, maxDelta);
181
- var actualDelta = 0;
182
- //
183
- var deltaUp = tentativeDelta;
184
- for (var i = 0; i < upItems.length; i++) {
185
- var item = upItems[i];
186
- var size = (0, math_1.clamp)(upSizes[i] + deltaUp, item.minimumSize, item.maximumSize);
187
- var viewDelta = size - upSizes[i];
188
- actualDelta += viewDelta;
189
- deltaUp -= viewDelta;
190
- item.size = size;
191
- }
192
- //
193
- var deltaDown = actualDelta;
194
- for (var i = 0; i < downItems.length; i++) {
195
- var item = downItems[i];
196
- var size = (0, math_1.clamp)(downSizes[i] - deltaDown, item.minimumSize, item.maximumSize);
197
- var viewDelta = size - downSizes[i];
198
- deltaDown += viewDelta;
199
- item.size = size;
200
- }
201
- //
202
- return delta;
203
- };
204
- this._orientation = (_a = options.orientation) !== null && _a !== void 0 ? _a : Orientation.VERTICAL;
205
- this.element = this.createContainer();
206
- this.margin = (_b = options.margin) !== null && _b !== void 0 ? _b : 0;
207
- this.proportionalLayout =
208
- options.proportionalLayout === undefined
209
- ? true
210
- : !!options.proportionalLayout;
211
- this.viewContainer = this.createViewContainer();
212
- this.sashContainer = this.createSashContainer();
213
- this.element.appendChild(this.sashContainer);
214
- this.element.appendChild(this.viewContainer);
215
- this.container.appendChild(this.element);
216
- this.style(options.styles);
217
- // We have an existing set of view, add them now
218
- if (options.descriptor) {
219
- this._size = options.descriptor.size;
220
- options.descriptor.views.forEach(function (viewDescriptor, index) {
221
- var sizing = viewDescriptor.visible === undefined ||
222
- viewDescriptor.visible
223
- ? viewDescriptor.size
224
- : {
225
- type: 'invisible',
226
- cachedVisibleSize: viewDescriptor.size,
227
- };
228
- var view = viewDescriptor.view;
229
- _this.addView(view, sizing, index, true
230
- // true skip layout
231
- );
232
- });
233
- // Initialize content size and proportions for first layout
234
- this._contentSize = this.viewItems.reduce(function (r, i) { return r + i.size; }, 0);
235
- this.saveProportions();
236
- }
237
- }
238
- Object.defineProperty(Splitview.prototype, "contentSize", {
239
- get: function () {
240
- return this._contentSize;
241
- },
242
- enumerable: false,
243
- configurable: true
244
- });
245
- Object.defineProperty(Splitview.prototype, "size", {
246
- get: function () {
247
- return this._size;
248
- },
249
- set: function (value) {
250
- this._size = value;
251
- },
252
- enumerable: false,
253
- configurable: true
254
- });
255
- Object.defineProperty(Splitview.prototype, "orthogonalSize", {
256
- get: function () {
257
- return this._orthogonalSize;
258
- },
259
- set: function (value) {
260
- this._orthogonalSize = value;
261
- },
262
- enumerable: false,
263
- configurable: true
264
- });
265
- Object.defineProperty(Splitview.prototype, "length", {
266
- get: function () {
267
- return this.viewItems.length;
268
- },
269
- enumerable: false,
270
- configurable: true
271
- });
272
- Object.defineProperty(Splitview.prototype, "proportions", {
273
- get: function () {
274
- return this._proportions ? __spreadArray([], __read(this._proportions), false) : undefined;
275
- },
276
- enumerable: false,
277
- configurable: true
278
- });
279
- Object.defineProperty(Splitview.prototype, "orientation", {
280
- get: function () {
281
- return this._orientation;
282
- },
283
- set: function (value) {
284
- this._orientation = value;
285
- var tmp = this.size;
286
- this.size = this.orthogonalSize;
287
- this.orthogonalSize = tmp;
288
- (0, dom_1.removeClasses)(this.element, 'dv-horizontal', 'dv-vertical');
289
- this.element.classList.add(this.orientation == Orientation.HORIZONTAL
290
- ? 'dv-horizontal'
291
- : 'dv-vertical');
292
- },
293
- enumerable: false,
294
- configurable: true
295
- });
296
- Object.defineProperty(Splitview.prototype, "minimumSize", {
297
- get: function () {
298
- return this.viewItems.reduce(function (r, item) { return r + item.minimumSize; }, 0);
299
- },
300
- enumerable: false,
301
- configurable: true
302
- });
303
- Object.defineProperty(Splitview.prototype, "maximumSize", {
304
- get: function () {
305
- return this.length === 0
306
- ? Number.POSITIVE_INFINITY
307
- : this.viewItems.reduce(function (r, item) { return r + item.maximumSize; }, 0);
308
- },
309
- enumerable: false,
310
- configurable: true
311
- });
312
- Object.defineProperty(Splitview.prototype, "startSnappingEnabled", {
313
- get: function () {
314
- return this._startSnappingEnabled;
315
- },
316
- set: function (startSnappingEnabled) {
317
- if (this._startSnappingEnabled === startSnappingEnabled) {
318
- return;
319
- }
320
- this._startSnappingEnabled = startSnappingEnabled;
321
- this.updateSashEnablement();
322
- },
323
- enumerable: false,
324
- configurable: true
325
- });
326
- Object.defineProperty(Splitview.prototype, "endSnappingEnabled", {
327
- get: function () {
328
- return this._endSnappingEnabled;
329
- },
330
- set: function (endSnappingEnabled) {
331
- if (this._endSnappingEnabled === endSnappingEnabled) {
332
- return;
333
- }
334
- this._endSnappingEnabled = endSnappingEnabled;
335
- this.updateSashEnablement();
336
- },
337
- enumerable: false,
338
- configurable: true
339
- });
340
- Object.defineProperty(Splitview.prototype, "disabled", {
341
- get: function () {
342
- return this._disabled;
343
- },
344
- set: function (value) {
345
- this._disabled = value;
346
- (0, dom_1.toggleClass)(this.element, 'dv-splitview-disabled', value);
347
- },
348
- enumerable: false,
349
- configurable: true
350
- });
351
- Object.defineProperty(Splitview.prototype, "margin", {
352
- get: function () {
353
- return this._margin;
354
- },
355
- set: function (value) {
356
- this._margin = value;
357
- (0, dom_1.toggleClass)(this.element, 'dv-splitview-has-margin', value !== 0);
358
- },
359
- enumerable: false,
360
- configurable: true
361
- });
362
- Splitview.prototype.style = function (styles) {
363
- if ((styles === null || styles === void 0 ? void 0 : styles.separatorBorder) === 'transparent') {
364
- (0, dom_1.removeClasses)(this.element, 'dv-separator-border');
365
- this.element.style.removeProperty('--dv-separator-border');
366
- }
367
- else {
368
- (0, dom_1.addClasses)(this.element, 'dv-separator-border');
369
- if (styles === null || styles === void 0 ? void 0 : styles.separatorBorder) {
370
- this.element.style.setProperty('--dv-separator-border', styles.separatorBorder);
371
- }
372
- }
373
- };
374
- Splitview.prototype.isViewVisible = function (index) {
375
- if (index < 0 || index >= this.viewItems.length) {
376
- throw new Error('Index out of bounds');
377
- }
378
- var viewItem = this.viewItems[index];
379
- return viewItem.visible;
380
- };
381
- Splitview.prototype.setViewVisible = function (index, visible) {
382
- if (index < 0 || index >= this.viewItems.length) {
383
- throw new Error('Index out of bounds');
384
- }
385
- var viewItem = this.viewItems[index];
386
- viewItem.setVisible(visible, viewItem.size);
387
- this.distributeEmptySpace(index);
388
- this.layoutViews();
389
- this.saveProportions();
390
- };
391
- Splitview.prototype.getViewSize = function (index) {
392
- if (index < 0 || index >= this.viewItems.length) {
393
- return -1;
394
- }
395
- return this.viewItems[index].size;
396
- };
397
- Splitview.prototype.resizeView = function (index, size) {
398
- var _this = this;
399
- if (index < 0 || index >= this.viewItems.length) {
400
- return;
401
- }
402
- var indexes = (0, math_1.range)(this.viewItems.length).filter(function (i) { return i !== index; });
403
- var lowPriorityIndexes = __spreadArray(__spreadArray([], __read(indexes.filter(function (i) { return _this.viewItems[i].priority === LayoutPriority.Low; })), false), [
404
- index,
405
- ], false);
406
- var highPriorityIndexes = indexes.filter(function (i) { return _this.viewItems[i].priority === LayoutPriority.High; });
407
- var item = this.viewItems[index];
408
- size = Math.round(size);
409
- size = (0, math_1.clamp)(size, item.minimumSize, Math.min(item.maximumSize, this._size));
410
- item.size = size;
411
- this.relayout(lowPriorityIndexes, highPriorityIndexes);
412
- };
413
- Splitview.prototype.getViews = function () {
414
- return this.viewItems.map(function (x) { return x.view; });
415
- };
416
- Splitview.prototype.onDidChange = function (item, size) {
417
- var _this = this;
418
- var index = this.viewItems.indexOf(item);
419
- if (index < 0 || index >= this.viewItems.length) {
420
- return;
421
- }
422
- size = typeof size === 'number' ? size : item.size;
423
- size = (0, math_1.clamp)(size, item.minimumSize, item.maximumSize);
424
- item.size = size;
425
- var indexes = (0, math_1.range)(this.viewItems.length).filter(function (i) { return i !== index; });
426
- var lowPriorityIndexes = __spreadArray(__spreadArray([], __read(indexes.filter(function (i) { return _this.viewItems[i].priority === LayoutPriority.Low; })), false), [
427
- index,
428
- ], false);
429
- var highPriorityIndexes = indexes.filter(function (i) { return _this.viewItems[i].priority === LayoutPriority.High; });
430
- /**
431
- * add this view we are changing to the low-index list since we have determined the size
432
- * here and don't want it changed
433
- */
434
- this.relayout(__spreadArray(__spreadArray([], __read(lowPriorityIndexes), false), [index], false), highPriorityIndexes);
435
- };
436
- Splitview.prototype.addView = function (view, size, index, skipLayout) {
437
- var _this = this;
438
- if (size === void 0) { size = { type: 'distribute' }; }
439
- if (index === void 0) { index = this.viewItems.length; }
440
- var container = document.createElement('div');
441
- container.className = 'dv-view';
442
- container.appendChild(view.element);
443
- var viewSize;
444
- if (typeof size === 'number') {
445
- viewSize = size;
446
- }
447
- else if (size.type === 'split') {
448
- viewSize = this.getViewSize(size.index) / 2;
449
- }
450
- else if (size.type === 'invisible') {
451
- viewSize = { cachedVisibleSize: size.cachedVisibleSize };
452
- }
453
- else {
454
- viewSize = view.minimumSize;
455
- }
456
- var disposable = view.onDidChange(function (newSize) {
457
- return _this.onDidChange(viewItem, newSize.size);
458
- });
459
- var viewItem = new viewItem_1.ViewItem(container, view, viewSize, {
460
- dispose: function () {
461
- disposable.dispose();
462
- container.remove();
463
- },
464
- });
465
- if (index === this.viewItems.length) {
466
- this.viewContainer.appendChild(container);
467
- }
468
- else {
469
- this.viewContainer.insertBefore(container, this.viewContainer.children.item(index));
470
- }
471
- this.viewItems.splice(index, 0, viewItem);
472
- if (this.viewItems.length > 1) {
473
- //add sash
474
- var sash_1 = document.createElement('div');
475
- sash_1.className = 'dv-sash';
476
- var onPointerStart_1 = function (event) {
477
- var e_3, _a;
478
- try {
479
- for (var _b = __values(_this.viewItems), _c = _b.next(); !_c.done; _c = _b.next()) {
480
- var item = _c.value;
481
- item.enabled = false;
482
- }
483
- }
484
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
485
- finally {
486
- try {
487
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
488
- }
489
- finally { if (e_3) throw e_3.error; }
490
- }
491
- var iframes = (0, dom_1.disableIframePointEvents)();
492
- var start = _this._orientation === Orientation.HORIZONTAL
493
- ? event.clientX
494
- : event.clientY;
495
- var sashIndex = (0, array_1.firstIndex)(_this.sashes, function (s) { return s.container === sash_1; });
496
- //
497
- var sizes = _this.viewItems.map(function (x) { return x.size; });
498
- //
499
- var snapBefore;
500
- var snapAfter;
501
- var upIndexes = (0, math_1.range)(sashIndex, -1);
502
- var downIndexes = (0, math_1.range)(sashIndex + 1, _this.viewItems.length);
503
- var minDeltaUp = upIndexes.reduce(function (r, i) { return r + (_this.viewItems[i].minimumSize - sizes[i]); }, 0);
504
- var maxDeltaUp = upIndexes.reduce(function (r, i) {
505
- return r + (_this.viewItems[i].viewMaximumSize - sizes[i]);
506
- }, 0);
507
- var maxDeltaDown = downIndexes.length === 0
508
- ? Number.POSITIVE_INFINITY
509
- : downIndexes.reduce(function (r, i) {
510
- return r +
511
- (sizes[i] - _this.viewItems[i].minimumSize);
512
- }, 0);
513
- var minDeltaDown = downIndexes.length === 0
514
- ? Number.NEGATIVE_INFINITY
515
- : downIndexes.reduce(function (r, i) {
516
- return r +
517
- (sizes[i] -
518
- _this.viewItems[i].viewMaximumSize);
519
- }, 0);
520
- var minDelta = Math.max(minDeltaUp, minDeltaDown);
521
- var maxDelta = Math.min(maxDeltaDown, maxDeltaUp);
522
- var snapBeforeIndex = _this.findFirstSnapIndex(upIndexes);
523
- var snapAfterIndex = _this.findFirstSnapIndex(downIndexes);
524
- if (typeof snapBeforeIndex === 'number') {
525
- var snappedViewItem = _this.viewItems[snapBeforeIndex];
526
- var halfSize = Math.floor(snappedViewItem.viewMinimumSize / 2);
527
- snapBefore = {
528
- index: snapBeforeIndex,
529
- limitDelta: snappedViewItem.visible
530
- ? minDelta - halfSize
531
- : minDelta + halfSize,
532
- size: snappedViewItem.size,
533
- };
534
- }
535
- if (typeof snapAfterIndex === 'number') {
536
- var snappedViewItem = _this.viewItems[snapAfterIndex];
537
- var halfSize = Math.floor(snappedViewItem.viewMinimumSize / 2);
538
- snapAfter = {
539
- index: snapAfterIndex,
540
- limitDelta: snappedViewItem.visible
541
- ? maxDelta + halfSize
542
- : maxDelta - halfSize,
543
- size: snappedViewItem.size,
544
- };
545
- }
546
- var onPointerMove = function (event) {
547
- var current = _this._orientation === Orientation.HORIZONTAL
548
- ? event.clientX
549
- : event.clientY;
550
- var delta = current - start;
551
- _this.resize(sashIndex, delta, sizes, undefined, undefined, minDelta, maxDelta, snapBefore, snapAfter);
552
- _this.distributeEmptySpace();
553
- _this.layoutViews();
554
- };
555
- var doc = sash_1.ownerDocument;
556
- var end = function () {
557
- var e_4, _a;
558
- try {
559
- for (var _b = __values(_this.viewItems), _c = _b.next(); !_c.done; _c = _b.next()) {
560
- var item = _c.value;
561
- item.enabled = true;
562
- }
563
- }
564
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
565
- finally {
566
- try {
567
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
568
- }
569
- finally { if (e_4) throw e_4.error; }
570
- }
571
- iframes.release();
572
- _this.saveProportions();
573
- doc.removeEventListener('pointermove', onPointerMove);
574
- doc.removeEventListener('pointerup', end);
575
- doc.removeEventListener('pointercancel', end);
576
- doc.removeEventListener('contextmenu', end);
577
- _this._onDidSashEnd.fire(undefined);
578
- };
579
- doc.addEventListener('pointermove', onPointerMove);
580
- doc.addEventListener('pointerup', end);
581
- doc.addEventListener('pointercancel', end);
582
- doc.addEventListener('contextmenu', end);
583
- };
584
- sash_1.addEventListener('pointerdown', onPointerStart_1);
585
- var sashItem = {
586
- container: sash_1,
587
- disposable: function () {
588
- sash_1.removeEventListener('pointerdown', onPointerStart_1);
589
- sash_1.remove();
590
- },
591
- };
592
- this.sashContainer.appendChild(sash_1);
593
- this.sashes.push(sashItem);
594
- }
595
- if (!skipLayout) {
596
- this.relayout([index]);
597
- }
598
- if (!skipLayout &&
599
- typeof size !== 'number' &&
600
- size.type === 'distribute') {
601
- this.distributeViewSizes();
602
- }
603
- this._onDidAddView.fire(view);
604
- };
605
- Splitview.prototype.distributeViewSizes = function () {
606
- var e_5, _a, e_6, _b;
607
- var _this = this;
608
- var flexibleViewItems = [];
609
- var flexibleSize = 0;
610
- try {
611
- for (var _c = __values(this.viewItems), _d = _c.next(); !_d.done; _d = _c.next()) {
612
- var item = _d.value;
613
- if (item.maximumSize - item.minimumSize > 0) {
614
- flexibleViewItems.push(item);
615
- flexibleSize += item.size;
616
- }
617
- }
618
- }
619
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
620
- finally {
621
- try {
622
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
623
- }
624
- finally { if (e_5) throw e_5.error; }
625
- }
626
- var size = Math.floor(flexibleSize / flexibleViewItems.length);
627
- try {
628
- for (var flexibleViewItems_1 = __values(flexibleViewItems), flexibleViewItems_1_1 = flexibleViewItems_1.next(); !flexibleViewItems_1_1.done; flexibleViewItems_1_1 = flexibleViewItems_1.next()) {
629
- var item = flexibleViewItems_1_1.value;
630
- item.size = (0, math_1.clamp)(size, item.minimumSize, item.maximumSize);
631
- }
632
- }
633
- catch (e_6_1) { e_6 = { error: e_6_1 }; }
634
- finally {
635
- try {
636
- if (flexibleViewItems_1_1 && !flexibleViewItems_1_1.done && (_b = flexibleViewItems_1.return)) _b.call(flexibleViewItems_1);
637
- }
638
- finally { if (e_6) throw e_6.error; }
639
- }
640
- var indexes = (0, math_1.range)(this.viewItems.length);
641
- var lowPriorityIndexes = indexes.filter(function (i) { return _this.viewItems[i].priority === LayoutPriority.Low; });
642
- var highPriorityIndexes = indexes.filter(function (i) { return _this.viewItems[i].priority === LayoutPriority.High; });
643
- this.relayout(lowPriorityIndexes, highPriorityIndexes);
644
- };
645
- Splitview.prototype.removeView = function (index, sizing, skipLayout) {
646
- if (skipLayout === void 0) { skipLayout = false; }
647
- // Remove view
648
- var viewItem = this.viewItems.splice(index, 1)[0];
649
- viewItem.dispose();
650
- // Remove sash
651
- if (this.viewItems.length >= 1) {
652
- var sashIndex = Math.max(index - 1, 0);
653
- var sashItem = this.sashes.splice(sashIndex, 1)[0];
654
- sashItem.disposable();
655
- }
656
- if (!skipLayout) {
657
- this.relayout();
658
- }
659
- if ((sizing === null || sizing === void 0 ? void 0 : sizing.type) === 'distribute') {
660
- this.distributeViewSizes();
661
- }
662
- this._onDidRemoveView.fire(viewItem.view);
663
- return viewItem.view;
664
- };
665
- Splitview.prototype.getViewCachedVisibleSize = function (index) {
666
- if (index < 0 || index >= this.viewItems.length) {
667
- throw new Error('Index out of bounds');
668
- }
669
- var viewItem = this.viewItems[index];
670
- return viewItem.cachedVisibleSize;
671
- };
672
- Splitview.prototype.moveView = function (from, to) {
673
- var cachedVisibleSize = this.getViewCachedVisibleSize(from);
674
- var sizing = cachedVisibleSize === undefined
675
- ? this.getViewSize(from)
676
- : Sizing.Invisible(cachedVisibleSize);
677
- var view = this.removeView(from, undefined, true);
678
- this.addView(view, sizing, to);
679
- };
680
- Splitview.prototype.layout = function (size, orthogonalSize) {
681
- var _this = this;
682
- var previousSize = Math.max(this.size, this._contentSize);
683
- this.size = size;
684
- this.orthogonalSize = orthogonalSize;
685
- if (this.proportions) {
686
- var total = 0;
687
- for (var i = 0; i < this.viewItems.length; i++) {
688
- var item = this.viewItems[i];
689
- var proportion = this.proportions[i];
690
- if (typeof proportion === 'number') {
691
- total += proportion;
692
- }
693
- else {
694
- size -= item.size;
695
- }
696
- }
697
- for (var i = 0; i < this.viewItems.length; i++) {
698
- var item = this.viewItems[i];
699
- var proportion = this.proportions[i];
700
- if (typeof proportion === 'number' && total > 0) {
701
- item.size = (0, math_1.clamp)(Math.round((proportion * size) / total), item.minimumSize, item.maximumSize);
702
- }
703
- }
704
- }
705
- else {
706
- var indexes = (0, math_1.range)(this.viewItems.length);
707
- var lowPriorityIndexes = indexes.filter(function (i) { return _this.viewItems[i].priority === LayoutPriority.Low; });
708
- var highPriorityIndexes = indexes.filter(function (i) { return _this.viewItems[i].priority === LayoutPriority.High; });
709
- this.resize(this.viewItems.length - 1, size - previousSize, undefined, lowPriorityIndexes, highPriorityIndexes);
710
- }
711
- this.distributeEmptySpace();
712
- this.layoutViews();
713
- };
714
- Splitview.prototype.relayout = function (lowPriorityIndexes, highPriorityIndexes) {
715
- var contentSize = this.viewItems.reduce(function (r, i) { return r + i.size; }, 0);
716
- this.resize(this.viewItems.length - 1, this._size - contentSize, undefined, lowPriorityIndexes, highPriorityIndexes);
717
- this.distributeEmptySpace();
718
- this.layoutViews();
719
- this.saveProportions();
720
- };
721
- Splitview.prototype.distributeEmptySpace = function (lowPriorityIndex) {
722
- var e_7, _a, e_8, _b;
723
- var _this = this;
724
- var contentSize = this.viewItems.reduce(function (r, i) { return r + i.size; }, 0);
725
- var emptyDelta = this.size - contentSize;
726
- var indexes = (0, math_1.range)(this.viewItems.length - 1, -1);
727
- var lowPriorityIndexes = indexes.filter(function (i) { return _this.viewItems[i].priority === LayoutPriority.Low; });
728
- var highPriorityIndexes = indexes.filter(function (i) { return _this.viewItems[i].priority === LayoutPriority.High; });
729
- try {
730
- for (var highPriorityIndexes_2 = __values(highPriorityIndexes), highPriorityIndexes_2_1 = highPriorityIndexes_2.next(); !highPriorityIndexes_2_1.done; highPriorityIndexes_2_1 = highPriorityIndexes_2.next()) {
731
- var index = highPriorityIndexes_2_1.value;
732
- (0, array_1.pushToStart)(indexes, index);
733
- }
734
- }
735
- catch (e_7_1) { e_7 = { error: e_7_1 }; }
736
- finally {
737
- try {
738
- if (highPriorityIndexes_2_1 && !highPriorityIndexes_2_1.done && (_a = highPriorityIndexes_2.return)) _a.call(highPriorityIndexes_2);
739
- }
740
- finally { if (e_7) throw e_7.error; }
741
- }
742
- try {
743
- for (var lowPriorityIndexes_2 = __values(lowPriorityIndexes), lowPriorityIndexes_2_1 = lowPriorityIndexes_2.next(); !lowPriorityIndexes_2_1.done; lowPriorityIndexes_2_1 = lowPriorityIndexes_2.next()) {
744
- var index = lowPriorityIndexes_2_1.value;
745
- (0, array_1.pushToEnd)(indexes, index);
746
- }
747
- }
748
- catch (e_8_1) { e_8 = { error: e_8_1 }; }
749
- finally {
750
- try {
751
- if (lowPriorityIndexes_2_1 && !lowPriorityIndexes_2_1.done && (_b = lowPriorityIndexes_2.return)) _b.call(lowPriorityIndexes_2);
752
- }
753
- finally { if (e_8) throw e_8.error; }
754
- }
755
- if (typeof lowPriorityIndex === 'number') {
756
- (0, array_1.pushToEnd)(indexes, lowPriorityIndex);
757
- }
758
- for (var i = 0; emptyDelta !== 0 && i < indexes.length; i++) {
759
- var item = this.viewItems[indexes[i]];
760
- var size = (0, math_1.clamp)(item.size + emptyDelta, item.minimumSize, item.maximumSize);
761
- var viewDelta = size - item.size;
762
- emptyDelta -= viewDelta;
763
- item.size = size;
764
- }
765
- };
766
- Splitview.prototype.saveProportions = function () {
767
- var _this = this;
768
- if (this.proportionalLayout && this._contentSize > 0) {
769
- this._proportions = this.viewItems.map(function (i) {
770
- return i.visible ? i.size / _this._contentSize : undefined;
771
- });
772
- }
773
- };
774
- /**
775
- * Margin explain:
776
- *
777
- * For `n` views in a splitview there will be `n-1` margins `m`.
778
- *
779
- * To fit the margins each view must reduce in size by `(m * (n - 1)) / n`.
780
- *
781
- * For each view `i` the offet must be adjusted by `m * i/(n - 1)`.
782
- */
783
- Splitview.prototype.layoutViews = function () {
784
- var _this = this;
785
- this._contentSize = this.viewItems.reduce(function (r, i) { return r + i.size; }, 0);
786
- this.updateSashEnablement();
787
- if (this.viewItems.length === 0) {
788
- return;
789
- }
790
- var visibleViewItems = this.viewItems.filter(function (i) { return i.visible; });
791
- var sashCount = Math.max(0, visibleViewItems.length - 1);
792
- var marginReducedSize = (this.margin * sashCount) / Math.max(1, visibleViewItems.length);
793
- var totalLeftOffset = 0;
794
- var viewLeftOffsets = [];
795
- var sashWidth = 4; // hardcoded in css
796
- var runningVisiblePanelCount = this.viewItems.reduce(function (arr, viewItem, i) {
797
- var flag = viewItem.visible ? 1 : 0;
798
- if (i === 0) {
799
- arr.push(flag);
800
- }
801
- else {
802
- arr.push(arr[i - 1] + flag);
803
- }
804
- return arr;
805
- }, []);
806
- // calculate both view and cash positions
807
- this.viewItems.forEach(function (view, i) {
808
- totalLeftOffset += _this.viewItems[i].size;
809
- viewLeftOffsets.push(totalLeftOffset);
810
- var size = view.visible ? view.size - marginReducedSize : 0;
811
- var visiblePanelsBeforeThisView = Math.max(0, runningVisiblePanelCount[i] - 1);
812
- var offset = i === 0 || visiblePanelsBeforeThisView === 0
813
- ? 0
814
- : viewLeftOffsets[i - 1] +
815
- (visiblePanelsBeforeThisView / sashCount) *
816
- marginReducedSize;
817
- if (i < _this.viewItems.length - 1) {
818
- // calculate sash position
819
- var newSize = view.visible
820
- ? offset + size - sashWidth / 2 + _this.margin / 2
821
- : offset;
822
- if (_this._orientation === Orientation.HORIZONTAL) {
823
- _this.sashes[i].container.style.left = "".concat(newSize, "px");
824
- _this.sashes[i].container.style.top = "0px";
825
- }
826
- if (_this._orientation === Orientation.VERTICAL) {
827
- _this.sashes[i].container.style.left = "0px";
828
- _this.sashes[i].container.style.top = "".concat(newSize, "px");
829
- }
830
- }
831
- // calculate view position
832
- if (_this._orientation === Orientation.HORIZONTAL) {
833
- view.container.style.width = "".concat(size, "px");
834
- view.container.style.left = "".concat(offset, "px");
835
- view.container.style.top = '';
836
- view.container.style.height = '';
837
- }
838
- if (_this._orientation === Orientation.VERTICAL) {
839
- view.container.style.height = "".concat(size, "px");
840
- view.container.style.top = "".concat(offset, "px");
841
- view.container.style.width = '';
842
- view.container.style.left = '';
843
- }
844
- view.view.layout(view.size - marginReducedSize, _this._orthogonalSize);
845
- });
846
- };
847
- Splitview.prototype.findFirstSnapIndex = function (indexes) {
848
- var e_9, _a, e_10, _b;
849
- try {
850
- // visible views first
851
- for (var indexes_1 = __values(indexes), indexes_1_1 = indexes_1.next(); !indexes_1_1.done; indexes_1_1 = indexes_1.next()) {
852
- var index = indexes_1_1.value;
853
- var viewItem = this.viewItems[index];
854
- if (!viewItem.visible) {
855
- continue;
856
- }
857
- if (viewItem.snap) {
858
- return index;
859
- }
860
- }
861
- }
862
- catch (e_9_1) { e_9 = { error: e_9_1 }; }
863
- finally {
864
- try {
865
- if (indexes_1_1 && !indexes_1_1.done && (_a = indexes_1.return)) _a.call(indexes_1);
866
- }
867
- finally { if (e_9) throw e_9.error; }
868
- }
869
- try {
870
- // then, hidden views
871
- for (var indexes_2 = __values(indexes), indexes_2_1 = indexes_2.next(); !indexes_2_1.done; indexes_2_1 = indexes_2.next()) {
872
- var index = indexes_2_1.value;
873
- var viewItem = this.viewItems[index];
874
- if (viewItem.visible &&
875
- viewItem.maximumSize - viewItem.minimumSize > 0) {
876
- return undefined;
877
- }
878
- if (!viewItem.visible && viewItem.snap) {
879
- return index;
880
- }
881
- }
882
- }
883
- catch (e_10_1) { e_10 = { error: e_10_1 }; }
884
- finally {
885
- try {
886
- if (indexes_2_1 && !indexes_2_1.done && (_b = indexes_2.return)) _b.call(indexes_2);
887
- }
888
- finally { if (e_10) throw e_10.error; }
889
- }
890
- return undefined;
891
- };
892
- Splitview.prototype.updateSashEnablement = function () {
893
- var previous = false;
894
- var collapsesDown = this.viewItems.map(function (i) { return (previous = i.size - i.minimumSize > 0 || previous); });
895
- previous = false;
896
- var expandsDown = this.viewItems.map(function (i) { return (previous = i.maximumSize - i.size > 0 || previous); });
897
- var reverseViews = __spreadArray([], __read(this.viewItems), false).reverse();
898
- previous = false;
899
- var collapsesUp = reverseViews
900
- .map(function (i) { return (previous = i.size - i.minimumSize > 0 || previous); })
901
- .reverse();
902
- previous = false;
903
- var expandsUp = reverseViews
904
- .map(function (i) { return (previous = i.maximumSize - i.size > 0 || previous); })
905
- .reverse();
906
- var position = 0;
907
- for (var index = 0; index < this.sashes.length; index++) {
908
- var sash = this.sashes[index];
909
- var viewItem = this.viewItems[index];
910
- position += viewItem.size;
911
- var min = !(collapsesDown[index] && expandsUp[index + 1]);
912
- var max = !(expandsDown[index] && collapsesUp[index + 1]);
913
- if (min && max) {
914
- var upIndexes = (0, math_1.range)(index, -1);
915
- var downIndexes = (0, math_1.range)(index + 1, this.viewItems.length);
916
- var snapBeforeIndex = this.findFirstSnapIndex(upIndexes);
917
- var snapAfterIndex = this.findFirstSnapIndex(downIndexes);
918
- var snappedBefore = typeof snapBeforeIndex === 'number' &&
919
- !this.viewItems[snapBeforeIndex].visible;
920
- var snappedAfter = typeof snapAfterIndex === 'number' &&
921
- !this.viewItems[snapAfterIndex].visible;
922
- if (snappedBefore &&
923
- collapsesUp[index] &&
924
- (position > 0 || this.startSnappingEnabled)) {
925
- this.updateSash(sash, SashState.MINIMUM);
926
- }
927
- else if (snappedAfter &&
928
- collapsesDown[index] &&
929
- (position < this._contentSize || this.endSnappingEnabled)) {
930
- this.updateSash(sash, SashState.MAXIMUM);
931
- }
932
- else {
933
- this.updateSash(sash, SashState.DISABLED);
934
- }
935
- }
936
- else if (min && !max) {
937
- this.updateSash(sash, SashState.MINIMUM);
938
- }
939
- else if (!min && max) {
940
- this.updateSash(sash, SashState.MAXIMUM);
941
- }
942
- else {
943
- this.updateSash(sash, SashState.ENABLED);
944
- }
945
- }
946
- };
947
- Splitview.prototype.updateSash = function (sash, state) {
948
- (0, dom_1.toggleClass)(sash.container, 'dv-disabled', state === SashState.DISABLED);
949
- (0, dom_1.toggleClass)(sash.container, 'dv-enabled', state === SashState.ENABLED);
950
- (0, dom_1.toggleClass)(sash.container, 'dv-maximum', state === SashState.MAXIMUM);
951
- (0, dom_1.toggleClass)(sash.container, 'dv-minimum', state === SashState.MINIMUM);
952
- };
953
- Splitview.prototype.createViewContainer = function () {
954
- var element = document.createElement('div');
955
- element.className = 'dv-view-container';
956
- return element;
957
- };
958
- Splitview.prototype.createSashContainer = function () {
959
- var element = document.createElement('div');
960
- element.className = 'dv-sash-container';
961
- return element;
962
- };
963
- Splitview.prototype.createContainer = function () {
964
- var element = document.createElement('div');
965
- var orientationClassname = this._orientation === Orientation.HORIZONTAL
966
- ? 'dv-horizontal'
967
- : 'dv-vertical';
968
- element.className = "dv-split-view-container ".concat(orientationClassname);
969
- return element;
970
- };
971
- Splitview.prototype.dispose = function () {
972
- var e_11, _a;
973
- this._onDidSashEnd.dispose();
974
- this._onDidAddView.dispose();
975
- this._onDidRemoveView.dispose();
976
- for (var i = 0; i < this.element.children.length; i++) {
977
- if (this.element.children.item(i) === this.element) {
978
- this.element.remove();
979
- break;
980
- }
981
- }
982
- try {
983
- for (var _b = __values(this.viewItems), _c = _b.next(); !_c.done; _c = _b.next()) {
984
- var viewItem = _c.value;
985
- viewItem.dispose();
986
- }
987
- }
988
- catch (e_11_1) { e_11 = { error: e_11_1 }; }
989
- finally {
990
- try {
991
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
992
- }
993
- finally { if (e_11) throw e_11.error; }
994
- }
995
- this.element.remove();
996
- };
997
- return Splitview;
998
- }());
999
- exports.Splitview = Splitview;