dockview-core 7.0.3 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/LICENCE.md +21 -0
  2. package/README.md +17 -86
  3. package/dist/cjs/api/component.api.d.ts +100 -9
  4. package/dist/cjs/api/dockviewGroupPanelApi.d.ts +45 -1
  5. package/dist/cjs/api/dockviewPanelApi.d.ts +21 -0
  6. package/dist/cjs/dismissableLayer.d.ts +57 -0
  7. package/dist/cjs/dnd/backend.d.ts +2 -2
  8. package/dist/cjs/dnd/dropTargetAnchorContainer.d.ts +12 -0
  9. package/dist/cjs/dnd/droptarget.d.ts +94 -0
  10. package/dist/cjs/dnd/ghost.d.ts +1 -0
  11. package/dist/cjs/dnd/pointer/longPress.d.ts +2 -2
  12. package/dist/cjs/dnd/pointer/pointerDragController.d.ts +5 -2
  13. package/dist/cjs/dnd/pointer/pointerDragSource.d.ts +1 -1
  14. package/dist/cjs/dnd/pointer/pointerDropTarget.d.ts +30 -1
  15. package/dist/cjs/dnd/pointer/pointerGhost.d.ts +1 -1
  16. package/dist/cjs/dockview/accessibilityMessages.d.ts +6 -0
  17. package/dist/cjs/dockview/advancedDnDService.d.ts +46 -0
  18. package/dist/cjs/dockview/components/panel/content.d.ts +1 -1
  19. package/dist/cjs/dockview/components/tab/defaultTab.d.ts +2 -0
  20. package/dist/cjs/dockview/components/tab/tab.d.ts +2 -0
  21. package/dist/cjs/dockview/components/titlebar/floatingTitleBar.d.ts +2 -2
  22. package/dist/cjs/dockview/components/titlebar/groupDragSource.d.ts +1 -1
  23. package/dist/cjs/dockview/components/titlebar/tabGroupChip.d.ts +1 -1
  24. package/dist/cjs/dockview/components/titlebar/tabGroupIndicator.d.ts +73 -2
  25. package/dist/cjs/dockview/components/titlebar/tabGroups.d.ts +1 -1
  26. package/dist/cjs/dockview/components/titlebar/tabReorderController.d.ts +295 -0
  27. package/dist/cjs/dockview/components/titlebar/tabs.d.ts +120 -50
  28. package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts +48 -0
  29. package/dist/cjs/dockview/dndCapabilities.d.ts +1 -1
  30. package/dist/cjs/dockview/dockviewComponent.d.ts +303 -19
  31. package/dist/cjs/dockview/dockviewGroupPanel.d.ts +5 -0
  32. package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +52 -2
  33. package/dist/cjs/dockview/dockviewPanel.d.ts +12 -0
  34. package/dist/cjs/dockview/dockviewShell.d.ts +48 -24
  35. package/dist/cjs/dockview/edgeGroupService.d.ts +20 -0
  36. package/dist/cjs/dockview/events.d.ts +6 -0
  37. package/dist/cjs/dockview/liveRegionService.d.ts +18 -5
  38. package/dist/cjs/dockview/moduleContracts.d.ts +480 -14
  39. package/dist/cjs/dockview/modules.d.ts +101 -22
  40. package/dist/cjs/dockview/options.d.ts +337 -30
  41. package/dist/cjs/dockview/optionsModules.d.ts +73 -0
  42. package/dist/cjs/dockview/popoutWindowService.d.ts +15 -10
  43. package/dist/cjs/dockview/rootDropTargetService.d.ts +11 -0
  44. package/dist/cjs/dockview/tabGroupAccent.d.ts +1 -1
  45. package/dist/cjs/dockview/tabGroupChipsService.d.ts +10 -0
  46. package/dist/cjs/dockview/theme.d.ts +2 -2
  47. package/dist/cjs/dockview/types.d.ts +3 -0
  48. package/dist/cjs/dom.d.ts +9 -1
  49. package/dist/cjs/gridview/baseComponentGridview.d.ts +2 -2
  50. package/dist/cjs/gridview/gridview.d.ts +2 -0
  51. package/dist/cjs/index.d.ts +35 -29
  52. package/dist/cjs/lifecycle.d.ts +1 -0
  53. package/dist/cjs/overlay/overlay.d.ts +4 -2
  54. package/dist/cjs/overlay/overlayRenderContainer.d.ts +8 -0
  55. package/dist/cjs/paneview/paneview.d.ts +2 -1
  56. package/dist/cjs/paneview/paneviewComponent.d.ts +3 -0
  57. package/dist/cjs/paneview/paneviewPanel.d.ts +5 -0
  58. package/dist/cjs/svg.d.ts +1 -0
  59. package/dist/cjs/types.d.ts +8 -0
  60. package/dist/dockview-core.js +18391 -19679
  61. package/dist/dockview-core.min.js +4138 -6
  62. package/dist/dockview-core.min.noStyle.js +6 -7
  63. package/dist/dockview-core.noStyle.js +18390 -19656
  64. package/dist/package/main.cjs.js +18002 -19268
  65. package/dist/package/main.cjs.min.js +6 -6
  66. package/dist/package/main.esm.min.mjs +6 -6
  67. package/dist/package/main.esm.mjs +17959 -19260
  68. package/package.json +81 -77
  69. package/dist/cjs/api/component.api.js +0 -1242
  70. package/dist/cjs/api/dockviewGroupPanelApi.js +0 -200
  71. package/dist/cjs/api/dockviewPanelApi.js +0 -172
  72. package/dist/cjs/api/entryPoints.js +0 -27
  73. package/dist/cjs/api/gridviewPanelApi.js +0 -45
  74. package/dist/cjs/api/panelApi.js +0 -133
  75. package/dist/cjs/api/paneviewPanelApi.js +0 -57
  76. package/dist/cjs/api/splitviewPanelApi.js +0 -47
  77. package/dist/cjs/array.js +0 -66
  78. package/dist/cjs/constants.js +0 -11
  79. package/dist/cjs/dnd/backend.js +0 -171
  80. package/dist/cjs/dnd/dataTransfer.js +0 -100
  81. package/dist/cjs/dnd/dnd.js +0 -74
  82. package/dist/cjs/dnd/dropOverlay.js +0 -197
  83. package/dist/cjs/dnd/dropTargetAnchorContainer.js +0 -104
  84. package/dist/cjs/dnd/droptarget.js +0 -362
  85. package/dist/cjs/dnd/ghost.js +0 -17
  86. package/dist/cjs/dnd/pointer/index.js +0 -13
  87. package/dist/cjs/dnd/pointer/longPress.js +0 -151
  88. package/dist/cjs/dnd/pointer/pointerDragController.js +0 -243
  89. package/dist/cjs/dnd/pointer/pointerDragSource.js +0 -197
  90. package/dist/cjs/dnd/pointer/pointerDropTarget.js +0 -198
  91. package/dist/cjs/dnd/pointer/pointerGhost.js +0 -44
  92. package/dist/cjs/dnd/pointer/types.js +0 -2
  93. package/dist/cjs/dockview/accessibilityMessages.js +0 -51
  94. package/dist/cjs/dockview/allModules.js +0 -25
  95. package/dist/cjs/dockview/components/panel/content.js +0 -213
  96. package/dist/cjs/dockview/components/popupService.js +0 -132
  97. package/dist/cjs/dockview/components/tab/defaultTab.js +0 -70
  98. package/dist/cjs/dockview/components/tab/tab.js +0 -281
  99. package/dist/cjs/dockview/components/titlebar/floatingTitleBar.js +0 -95
  100. package/dist/cjs/dockview/components/titlebar/groupDragSource.js +0 -218
  101. package/dist/cjs/dockview/components/titlebar/tabGroupChip.js +0 -104
  102. package/dist/cjs/dockview/components/titlebar/tabGroupIndicator.js +0 -477
  103. package/dist/cjs/dockview/components/titlebar/tabGroups.js +0 -854
  104. package/dist/cjs/dockview/components/titlebar/tabOverflowControl.js +0 -19
  105. package/dist/cjs/dockview/components/titlebar/tabs.js +0 -2016
  106. package/dist/cjs/dockview/components/titlebar/tabsContainer.js +0 -458
  107. package/dist/cjs/dockview/components/titlebar/voidContainer.js +0 -120
  108. package/dist/cjs/dockview/components/watermark/watermark.js +0 -40
  109. package/dist/cjs/dockview/deserializer.js +0 -39
  110. package/dist/cjs/dockview/dndCapabilities.js +0 -39
  111. package/dist/cjs/dockview/dockviewComponent.js +0 -3896
  112. package/dist/cjs/dockview/dockviewFloatingGroupPanel.js +0 -70
  113. package/dist/cjs/dockview/dockviewGroupPanel.js +0 -204
  114. package/dist/cjs/dockview/dockviewGroupPanelModel.js +0 -1514
  115. package/dist/cjs/dockview/dockviewPanel.js +0 -265
  116. package/dist/cjs/dockview/dockviewPanelModel.js +0 -105
  117. package/dist/cjs/dockview/dockviewShell.js +0 -744
  118. package/dist/cjs/dockview/edgeGroupService.js +0 -128
  119. package/dist/cjs/dockview/events.js +0 -67
  120. package/dist/cjs/dockview/floatingGroupService.js +0 -231
  121. package/dist/cjs/dockview/framework.js +0 -2
  122. package/dist/cjs/dockview/headerActionsService.js +0 -149
  123. package/dist/cjs/dockview/liveRegionService.js +0 -185
  124. package/dist/cjs/dockview/moduleContracts.js +0 -2
  125. package/dist/cjs/dockview/modules.js +0 -304
  126. package/dist/cjs/dockview/options.js +0 -103
  127. package/dist/cjs/dockview/popoutWindowService.js +0 -261
  128. package/dist/cjs/dockview/rootDropTargetService.js +0 -87
  129. package/dist/cjs/dockview/strictEventsSequencing.js +0 -63
  130. package/dist/cjs/dockview/tabGroup.js +0 -219
  131. package/dist/cjs/dockview/tabGroupAccent.js +0 -126
  132. package/dist/cjs/dockview/theme.js +0 -139
  133. package/dist/cjs/dockview/types.js +0 -2
  134. package/dist/cjs/dockview/validate.js +0 -76
  135. package/dist/cjs/dockview/watermarkService.js +0 -61
  136. package/dist/cjs/dom.js +0 -543
  137. package/dist/cjs/events.js +0 -296
  138. package/dist/cjs/framwork.js +0 -2
  139. package/dist/cjs/gridview/baseComponentGridview.js +0 -330
  140. package/dist/cjs/gridview/basePanelView.js +0 -162
  141. package/dist/cjs/gridview/branchNode.js +0 -372
  142. package/dist/cjs/gridview/gridview.js +0 -776
  143. package/dist/cjs/gridview/gridviewComponent.js +0 -363
  144. package/dist/cjs/gridview/gridviewPanel.js +0 -249
  145. package/dist/cjs/gridview/leafNode.js +0 -169
  146. package/dist/cjs/gridview/options.js +0 -17
  147. package/dist/cjs/gridview/types.js +0 -2
  148. package/dist/cjs/index.js +0 -105
  149. package/dist/cjs/lifecycle.js +0 -80
  150. package/dist/cjs/math.js +0 -38
  151. package/dist/cjs/overlay/overlay.js +0 -602
  152. package/dist/cjs/overlay/overlayRenderContainer.js +0 -309
  153. package/dist/cjs/panel/types.js +0 -2
  154. package/dist/cjs/paneview/defaultPaneviewHeader.js +0 -92
  155. package/dist/cjs/paneview/draggablePaneviewPanel.js +0 -141
  156. package/dist/cjs/paneview/options.js +0 -44
  157. package/dist/cjs/paneview/paneview.js +0 -203
  158. package/dist/cjs/paneview/paneviewComponent.js +0 -430
  159. package/dist/cjs/paneview/paneviewPanel.js +0 -275
  160. package/dist/cjs/popoutWindow.js +0 -244
  161. package/dist/cjs/resizable.js +0 -97
  162. package/dist/cjs/scrollbar.js +0 -169
  163. package/dist/cjs/splitview/options.js +0 -19
  164. package/dist/cjs/splitview/splitview.js +0 -999
  165. package/dist/cjs/splitview/splitviewComponent.js +0 -401
  166. package/dist/cjs/splitview/splitviewPanel.js +0 -179
  167. package/dist/cjs/splitview/viewItem.js +0 -119
  168. package/dist/cjs/svg.js +0 -43
  169. package/dist/cjs/types.js +0 -2
  170. package/dist/dockview-core.min.js.map +0 -1
  171. package/dist/dockview-core.min.noStyle.js.map +0 -1
  172. package/dist/esm/api/component.api.d.ts +0 -640
  173. package/dist/esm/api/component.api.js +0 -887
  174. package/dist/esm/api/dockviewGroupPanelApi.d.ts +0 -109
  175. package/dist/esm/api/dockviewGroupPanelApi.js +0 -155
  176. package/dist/esm/api/dockviewPanelApi.d.ts +0 -84
  177. package/dist/esm/api/dockviewPanelApi.js +0 -124
  178. package/dist/esm/api/entryPoints.d.ts +0 -9
  179. package/dist/esm/api/entryPoints.js +0 -21
  180. package/dist/esm/api/gridviewPanelApi.d.ts +0 -37
  181. package/dist/esm/api/gridviewPanelApi.js +0 -23
  182. package/dist/esm/api/panelApi.d.ts +0 -100
  183. package/dist/esm/api/panelApi.js +0 -87
  184. package/dist/esm/api/paneviewPanelApi.d.ts +0 -26
  185. package/dist/esm/api/paneviewPanelApi.js +0 -27
  186. package/dist/esm/api/splitviewPanelApi.d.ts +0 -32
  187. package/dist/esm/api/splitviewPanelApi.js +0 -25
  188. package/dist/esm/array.d.ts +0 -13
  189. package/dist/esm/array.js +0 -57
  190. package/dist/esm/constants.d.ts +0 -8
  191. package/dist/esm/constants.js +0 -8
  192. package/dist/esm/dnd/backend.d.ts +0 -70
  193. package/dist/esm/dnd/backend.js +0 -148
  194. package/dist/esm/dnd/dataTransfer.d.ts +0 -31
  195. package/dist/esm/dnd/dataTransfer.js +0 -67
  196. package/dist/esm/dnd/dnd.d.ts +0 -32
  197. package/dist/esm/dnd/dnd.js +0 -51
  198. package/dist/esm/dnd/dropOverlay.d.ts +0 -20
  199. package/dist/esm/dnd/dropOverlay.js +0 -192
  200. package/dist/esm/dnd/dropTargetAnchorContainer.d.ts +0 -16
  201. package/dist/esm/dnd/dropTargetAnchorContainer.js +0 -73
  202. package/dist/esm/dnd/droptarget.d.ts +0 -116
  203. package/dist/esm/dnd/droptarget.js +0 -316
  204. package/dist/esm/dnd/ghost.d.ts +0 -4
  205. package/dist/esm/dnd/ghost.js +0 -14
  206. package/dist/esm/dnd/pointer/index.d.ts +0 -11
  207. package/dist/esm/dnd/pointer/index.js +0 -5
  208. package/dist/esm/dnd/pointer/longPress.d.ts +0 -32
  209. package/dist/esm/dnd/pointer/longPress.js +0 -127
  210. package/dist/esm/dnd/pointer/pointerDragController.d.ts +0 -60
  211. package/dist/esm/dnd/pointer/pointerDragController.js +0 -193
  212. package/dist/esm/dnd/pointer/pointerDragSource.d.ts +0 -61
  213. package/dist/esm/dnd/pointer/pointerDragSource.js +0 -173
  214. package/dist/esm/dnd/pointer/pointerDropTarget.d.ts +0 -39
  215. package/dist/esm/dnd/pointer/pointerDropTarget.js +0 -168
  216. package/dist/esm/dnd/pointer/pointerGhost.d.ts +0 -30
  217. package/dist/esm/dnd/pointer/pointerGhost.js +0 -39
  218. package/dist/esm/dnd/pointer/types.d.ts +0 -16
  219. package/dist/esm/dnd/pointer/types.js +0 -1
  220. package/dist/esm/dockview/accessibilityMessages.d.ts +0 -32
  221. package/dist/esm/dockview/accessibilityMessages.js +0 -30
  222. package/dist/esm/dockview/allModules.d.ts +0 -8
  223. package/dist/esm/dockview/allModules.js +0 -22
  224. package/dist/esm/dockview/components/panel/content.d.ts +0 -54
  225. package/dist/esm/dockview/components/panel/content.js +0 -185
  226. package/dist/esm/dockview/components/popupService.d.ts +0 -21
  227. package/dist/esm/dockview/components/popupService.js +0 -108
  228. package/dist/esm/dockview/components/tab/defaultTab.d.ts +0 -12
  229. package/dist/esm/dockview/components/tab/defaultTab.js +0 -43
  230. package/dist/esm/dockview/components/tab/tab.d.ts +0 -44
  231. package/dist/esm/dockview/components/tab/tab.js +0 -242
  232. package/dist/esm/dockview/components/titlebar/floatingTitleBar.d.ts +0 -34
  233. package/dist/esm/dockview/components/titlebar/floatingTitleBar.js +0 -65
  234. package/dist/esm/dockview/components/titlebar/groupDragSource.d.ts +0 -51
  235. package/dist/esm/dockview/components/titlebar/groupDragSource.js +0 -178
  236. package/dist/esm/dockview/components/titlebar/tabGroupChip.d.ts +0 -37
  237. package/dist/esm/dockview/components/titlebar/tabGroupChip.js +0 -77
  238. package/dist/esm/dockview/components/titlebar/tabGroupIndicator.d.ts +0 -72
  239. package/dist/esm/dockview/components/titlebar/tabGroupIndicator.js +0 -360
  240. package/dist/esm/dockview/components/titlebar/tabGroups.d.ts +0 -107
  241. package/dist/esm/dockview/components/titlebar/tabGroups.js +0 -621
  242. package/dist/esm/dockview/components/titlebar/tabOverflowControl.d.ts +0 -8
  243. package/dist/esm/dockview/components/titlebar/tabOverflowControl.js +0 -16
  244. package/dist/esm/dockview/components/titlebar/tabs.d.ts +0 -167
  245. package/dist/esm/dockview/components/titlebar/tabs.js +0 -1653
  246. package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts +0 -104
  247. package/dist/esm/dockview/components/titlebar/tabsContainer.js +0 -359
  248. package/dist/esm/dockview/components/titlebar/voidContainer.d.ts +0 -21
  249. package/dist/esm/dockview/components/titlebar/voidContainer.js +0 -92
  250. package/dist/esm/dockview/components/watermark/watermark.d.ts +0 -8
  251. package/dist/esm/dockview/components/watermark/watermark.js +0 -14
  252. package/dist/esm/dockview/deserializer.d.ts +0 -12
  253. package/dist/esm/dockview/deserializer.js +0 -34
  254. package/dist/esm/dockview/dndCapabilities.d.ts +0 -19
  255. package/dist/esm/dockview/dndCapabilities.js +0 -36
  256. package/dist/esm/dockview/dockviewComponent.d.ts +0 -626
  257. package/dist/esm/dockview/dockviewComponent.js +0 -3214
  258. package/dist/esm/dockview/dockviewFloatingGroupPanel.d.ts +0 -45
  259. package/dist/esm/dockview/dockviewFloatingGroupPanel.js +0 -44
  260. package/dist/esm/dockview/dockviewGroupPanel.d.ts +0 -35
  261. package/dist/esm/dockview/dockviewGroupPanel.js +0 -142
  262. package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +0 -358
  263. package/dist/esm/dockview/dockviewGroupPanelModel.js +0 -1180
  264. package/dist/esm/dockview/dockviewPanel.d.ts +0 -69
  265. package/dist/esm/dockview/dockviewPanel.js +0 -178
  266. package/dist/esm/dockview/dockviewPanelModel.d.ts +0 -37
  267. package/dist/esm/dockview/dockviewPanelModel.js +0 -81
  268. package/dist/esm/dockview/dockviewShell.d.ts +0 -150
  269. package/dist/esm/dockview/dockviewShell.js +0 -678
  270. package/dist/esm/dockview/edgeGroupService.d.ts +0 -38
  271. package/dist/esm/dockview/edgeGroupService.js +0 -63
  272. package/dist/esm/dockview/events.d.ts +0 -38
  273. package/dist/esm/dockview/events.js +0 -34
  274. package/dist/esm/dockview/floatingGroupService.d.ts +0 -37
  275. package/dist/esm/dockview/floatingGroupService.js +0 -150
  276. package/dist/esm/dockview/framework.d.ts +0 -65
  277. package/dist/esm/dockview/framework.js +0 -1
  278. package/dist/esm/dockview/headerActionsService.d.ts +0 -32
  279. package/dist/esm/dockview/headerActionsService.js +0 -86
  280. package/dist/esm/dockview/liveRegionService.d.ts +0 -53
  281. package/dist/esm/dockview/liveRegionService.js +0 -159
  282. package/dist/esm/dockview/moduleContracts.d.ts +0 -119
  283. package/dist/esm/dockview/moduleContracts.js +0 -1
  284. package/dist/esm/dockview/modules.d.ts +0 -110
  285. package/dist/esm/dockview/modules.js +0 -170
  286. package/dist/esm/dockview/options.d.ts +0 -474
  287. package/dist/esm/dockview/options.js +0 -77
  288. package/dist/esm/dockview/popoutWindowService.d.ts +0 -95
  289. package/dist/esm/dockview/popoutWindowService.js +0 -175
  290. package/dist/esm/dockview/rootDropTargetService.d.ts +0 -35
  291. package/dist/esm/dockview/rootDropTargetService.js +0 -82
  292. package/dist/esm/dockview/strictEventsSequencing.d.ts +0 -7
  293. package/dist/esm/dockview/strictEventsSequencing.js +0 -41
  294. package/dist/esm/dockview/tabGroup.d.ts +0 -99
  295. package/dist/esm/dockview/tabGroup.js +0 -144
  296. package/dist/esm/dockview/tabGroupAccent.d.ts +0 -65
  297. package/dist/esm/dockview/tabGroupAccent.js +0 -114
  298. package/dist/esm/dockview/theme.d.ts +0 -86
  299. package/dist/esm/dockview/theme.js +0 -136
  300. package/dist/esm/dockview/types.d.ts +0 -53
  301. package/dist/esm/dockview/types.js +0 -1
  302. package/dist/esm/dockview/validate.d.ts +0 -0
  303. package/dist/esm/dockview/validate.js +0 -76
  304. package/dist/esm/dockview/watermarkService.d.ts +0 -30
  305. package/dist/esm/dockview/watermarkService.js +0 -56
  306. package/dist/esm/dom.d.ts +0 -60
  307. package/dist/esm/dom.js +0 -375
  308. package/dist/esm/events.d.ts +0 -79
  309. package/dist/esm/events.js +0 -219
  310. package/dist/esm/framwork.d.ts +0 -4
  311. package/dist/esm/framwork.js +0 -1
  312. package/dist/esm/gridview/baseComponentGridview.d.ts +0 -111
  313. package/dist/esm/gridview/baseComponentGridview.js +0 -237
  314. package/dist/esm/gridview/basePanelView.d.ts +0 -40
  315. package/dist/esm/gridview/basePanelView.js +0 -91
  316. package/dist/esm/gridview/branchNode.d.ts +0 -57
  317. package/dist/esm/gridview/branchNode.js +0 -257
  318. package/dist/esm/gridview/gridview.d.ts +0 -158
  319. package/dist/esm/gridview/gridview.js +0 -681
  320. package/dist/esm/gridview/gridviewComponent.d.ts +0 -88
  321. package/dist/esm/gridview/gridviewComponent.js +0 -265
  322. package/dist/esm/gridview/gridviewPanel.d.ts +0 -77
  323. package/dist/esm/gridview/gridviewPanel.js +0 -182
  324. package/dist/esm/gridview/leafNode.d.ts +0 -34
  325. package/dist/esm/gridview/leafNode.js +0 -102
  326. package/dist/esm/gridview/options.d.ts +0 -15
  327. package/dist/esm/gridview/options.js +0 -14
  328. package/dist/esm/gridview/types.d.ts +0 -3
  329. package/dist/esm/gridview/types.js +0 -1
  330. package/dist/esm/index.d.ts +0 -58
  331. package/dist/esm/index.js +0 -44
  332. package/dist/esm/lifecycle.d.ts +0 -25
  333. package/dist/esm/lifecycle.js +0 -56
  334. package/dist/esm/math.d.ts +0 -5
  335. package/dist/esm/math.js +0 -32
  336. package/dist/esm/overlay/overlay.d.ts +0 -91
  337. package/dist/esm/overlay/overlay.js +0 -520
  338. package/dist/esm/overlay/overlayRenderContainer.d.ts +0 -24
  339. package/dist/esm/overlay/overlayRenderContainer.js +0 -249
  340. package/dist/esm/panel/types.d.ts +0 -33
  341. package/dist/esm/panel/types.js +0 -1
  342. package/dist/esm/paneview/defaultPaneviewHeader.d.ts +0 -21
  343. package/dist/esm/paneview/defaultPaneviewHeader.js +0 -65
  344. package/dist/esm/paneview/draggablePaneviewPanel.d.ts +0 -38
  345. package/dist/esm/paneview/draggablePaneviewPanel.js +0 -107
  346. package/dist/esm/paneview/options.d.ts +0 -30
  347. package/dist/esm/paneview/options.js +0 -22
  348. package/dist/esm/paneview/paneview.d.ts +0 -41
  349. package/dist/esm/paneview/paneview.js +0 -148
  350. package/dist/esm/paneview/paneviewComponent.d.ts +0 -133
  351. package/dist/esm/paneview/paneviewComponent.js +0 -306
  352. package/dist/esm/paneview/paneviewPanel.d.ts +0 -98
  353. package/dist/esm/paneview/paneviewPanel.js +0 -192
  354. package/dist/esm/popoutWindow.d.ts +0 -38
  355. package/dist/esm/popoutWindow.js +0 -170
  356. package/dist/esm/resizable.d.ts +0 -12
  357. package/dist/esm/resizable.js +0 -66
  358. package/dist/esm/scrollbar.d.ts +0 -15
  359. package/dist/esm/scrollbar.js +0 -139
  360. package/dist/esm/splitview/options.d.ts +0 -21
  361. package/dist/esm/splitview/options.js +0 -16
  362. package/dist/esm/splitview/splitview.d.ts +0 -145
  363. package/dist/esm/splitview/splitview.js +0 -770
  364. package/dist/esm/splitview/splitviewComponent.d.ts +0 -101
  365. package/dist/esm/splitview/splitviewComponent.js +0 -267
  366. package/dist/esm/splitview/splitviewPanel.d.ts +0 -45
  367. package/dist/esm/splitview/splitviewPanel.js +0 -108
  368. package/dist/esm/splitview/viewItem.d.ts +0 -25
  369. package/dist/esm/splitview/viewItem.js +0 -74
  370. package/dist/esm/svg.d.ts +0 -3
  371. package/dist/esm/svg.js +0 -31
  372. package/dist/esm/types.d.ts +0 -31
  373. package/dist/esm/types.js +0 -1
  374. package/dist/styles/dockview.css +0 -3436
@@ -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;