dockview 1.6.0 → 1.7.1

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 (473) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +50 -52
  3. package/dist/{esm/react → cjs}/dockview/defaultTab.d.ts +5 -4
  4. package/dist/cjs/dockview/defaultTab.d.ts.map +1 -0
  5. package/dist/cjs/{react/dockview → dockview}/defaultTab.js +72 -72
  6. package/dist/cjs/dockview/defaultTab.js.map +1 -0
  7. package/dist/{esm/react → cjs}/dockview/dockview.d.ts +36 -35
  8. package/dist/cjs/dockview/dockview.d.ts.map +1 -0
  9. package/dist/cjs/{react/dockview → dockview}/dockview.js +196 -213
  10. package/dist/cjs/dockview/dockview.js.map +1 -0
  11. package/dist/cjs/{react/dockview → dockview}/groupControlsRenderer.d.ts +33 -43
  12. package/dist/cjs/dockview/groupControlsRenderer.d.ts.map +1 -0
  13. package/dist/cjs/{react/dockview → dockview}/groupControlsRenderer.js +86 -86
  14. package/dist/cjs/dockview/groupControlsRenderer.js.map +1 -0
  15. package/dist/{esm/react → cjs}/dockview/reactContentPart.d.ts +23 -30
  16. package/dist/cjs/dockview/reactContentPart.d.ts.map +1 -0
  17. package/dist/cjs/{react/dockview → dockview}/reactContentPart.js +50 -58
  18. package/dist/cjs/dockview/reactContentPart.js.map +1 -0
  19. package/dist/cjs/{react/dockview → dockview}/reactHeaderPart.d.ts +19 -26
  20. package/dist/cjs/dockview/reactHeaderPart.d.ts.map +1 -0
  21. package/dist/cjs/{react/dockview → dockview}/reactHeaderPart.js +43 -55
  22. package/dist/cjs/dockview/reactHeaderPart.js.map +1 -0
  23. package/dist/cjs/{react/dockview → dockview}/reactWatermarkPart.d.ts +25 -29
  24. package/dist/cjs/dockview/reactWatermarkPart.d.ts.map +1 -0
  25. package/dist/cjs/{react/dockview → dockview}/reactWatermarkPart.js +53 -65
  26. package/dist/cjs/dockview/reactWatermarkPart.js.map +1 -0
  27. package/dist/cjs/gridview/gridview.d.ts +23 -132
  28. package/dist/cjs/gridview/gridview.d.ts.map +1 -0
  29. package/dist/cjs/gridview/gridview.js +96 -510
  30. package/dist/cjs/gridview/gridview.js.map +1 -1
  31. package/dist/{esm/react → cjs}/gridview/view.d.ts +11 -11
  32. package/dist/cjs/gridview/view.d.ts.map +1 -0
  33. package/dist/cjs/{react/gridview → gridview}/view.js +39 -41
  34. package/dist/cjs/gridview/view.js.map +1 -0
  35. package/dist/cjs/index.d.ts +11 -30
  36. package/dist/cjs/index.d.ts.map +1 -0
  37. package/dist/cjs/index.js +24 -47
  38. package/dist/cjs/index.js.map +1 -1
  39. package/dist/cjs/paneview/paneview.d.ts +25 -40
  40. package/dist/cjs/paneview/paneview.d.ts.map +1 -0
  41. package/dist/cjs/paneview/paneview.js +139 -201
  42. package/dist/cjs/paneview/paneview.js.map +1 -1
  43. package/dist/cjs/{react/paneview → paneview}/view.d.ts +20 -20
  44. package/dist/cjs/paneview/view.d.ts.map +1 -0
  45. package/dist/cjs/{react/paneview → paneview}/view.js +44 -44
  46. package/dist/cjs/paneview/view.js.map +1 -0
  47. package/dist/{esm/react → cjs}/react.d.ts +36 -36
  48. package/dist/cjs/react.d.ts.map +1 -0
  49. package/dist/cjs/{react/react.js → react.js} +196 -194
  50. package/dist/cjs/react.js.map +1 -0
  51. package/dist/{esm/react → cjs}/splitview/splitview.d.ts +23 -24
  52. package/dist/cjs/splitview/splitview.d.ts.map +1 -0
  53. package/dist/cjs/{react/splitview → splitview}/splitview.js +91 -108
  54. package/dist/cjs/splitview/splitview.js.map +1 -0
  55. package/dist/{esm/react → cjs}/splitview/view.d.ts +11 -10
  56. package/dist/cjs/splitview/view.d.ts.map +1 -0
  57. package/dist/cjs/{react/splitview → splitview}/view.js +39 -40
  58. package/dist/cjs/splitview/view.js.map +1 -0
  59. package/dist/cjs/svg.d.ts +4 -3
  60. package/dist/cjs/svg.d.ts.map +1 -0
  61. package/dist/cjs/svg.js +35 -43
  62. package/dist/cjs/svg.js.map +1 -1
  63. package/dist/cjs/types.d.ts +8 -8
  64. package/dist/cjs/types.d.ts.map +1 -0
  65. package/dist/cjs/types.js +2 -7
  66. package/dist/cjs/types.js.map +1 -1
  67. package/dist/dockview.amd.js +7047 -7153
  68. package/dist/dockview.amd.min.js +2 -2
  69. package/dist/dockview.amd.min.noStyle.js +2 -2
  70. package/dist/dockview.amd.noStyle.js +7043 -7149
  71. package/dist/dockview.cjs.js +7052 -7158
  72. package/dist/dockview.esm.js +7035 -7151
  73. package/dist/dockview.esm.min.js +2 -2
  74. package/dist/dockview.js +7047 -7153
  75. package/dist/dockview.min.js +2 -2
  76. package/dist/dockview.min.noStyle.js +2 -2
  77. package/dist/dockview.noStyle.js +7043 -7149
  78. package/dist/{cjs/react → esm}/dockview/defaultTab.d.ts +5 -4
  79. package/dist/esm/dockview/defaultTab.d.ts.map +1 -0
  80. package/dist/esm/{react/dockview → dockview}/defaultTab.js +35 -34
  81. package/dist/esm/dockview/defaultTab.js.map +1 -0
  82. package/dist/{cjs/react → esm}/dockview/dockview.d.ts +36 -35
  83. package/dist/esm/dockview/dockview.d.ts.map +1 -0
  84. package/dist/esm/{react/dockview → dockview}/dockview.js +155 -158
  85. package/dist/esm/dockview/dockview.js.map +1 -0
  86. package/dist/esm/{react/dockview → dockview}/groupControlsRenderer.d.ts +33 -43
  87. package/dist/esm/dockview/groupControlsRenderer.d.ts.map +1 -0
  88. package/dist/esm/{react/dockview → dockview}/groupControlsRenderer.js +69 -68
  89. package/dist/esm/dockview/groupControlsRenderer.js.map +1 -0
  90. package/dist/{cjs/react → esm}/dockview/reactContentPart.d.ts +23 -30
  91. package/dist/esm/dockview/reactContentPart.d.ts.map +1 -0
  92. package/dist/esm/{react/dockview → dockview}/reactContentPart.js +42 -49
  93. package/dist/esm/dockview/reactContentPart.js.map +1 -0
  94. package/dist/esm/{react/dockview → dockview}/reactHeaderPart.d.ts +19 -26
  95. package/dist/esm/dockview/reactHeaderPart.d.ts.map +1 -0
  96. package/dist/esm/{react/dockview → dockview}/reactHeaderPart.js +35 -46
  97. package/dist/esm/dockview/reactHeaderPart.js.map +1 -0
  98. package/dist/esm/{react/dockview → dockview}/reactWatermarkPart.d.ts +25 -29
  99. package/dist/esm/dockview/reactWatermarkPart.d.ts.map +1 -0
  100. package/dist/esm/{react/dockview → dockview}/reactWatermarkPart.js +45 -55
  101. package/dist/esm/dockview/reactWatermarkPart.js.map +1 -0
  102. package/dist/esm/gridview/gridview.d.ts +23 -132
  103. package/dist/esm/gridview/gridview.d.ts.map +1 -0
  104. package/dist/esm/gridview/gridview.js +55 -423
  105. package/dist/esm/gridview/gridview.js.map +1 -0
  106. package/dist/{cjs/react → esm}/gridview/view.d.ts +11 -11
  107. package/dist/esm/gridview/view.d.ts.map +1 -0
  108. package/dist/esm/{react/gridview → gridview}/view.js +18 -19
  109. package/dist/esm/gridview/view.js.map +1 -0
  110. package/dist/esm/index.d.ts +11 -30
  111. package/dist/esm/index.d.ts.map +1 -0
  112. package/dist/esm/index.js +9 -23
  113. package/dist/esm/index.js.map +1 -0
  114. package/dist/esm/paneview/paneview.d.ts +25 -40
  115. package/dist/esm/paneview/paneview.d.ts.map +1 -0
  116. package/dist/esm/paneview/paneview.js +85 -145
  117. package/dist/esm/paneview/paneview.js.map +1 -0
  118. package/dist/esm/{react/paneview → paneview}/view.d.ts +20 -20
  119. package/dist/esm/paneview/view.d.ts.map +1 -0
  120. package/dist/esm/{react/paneview → paneview}/view.js +36 -35
  121. package/dist/esm/paneview/view.js.map +1 -0
  122. package/dist/{cjs/react → esm}/react.d.ts +36 -36
  123. package/dist/esm/react.d.ts.map +1 -0
  124. package/dist/esm/{react/react.js → react.js} +128 -125
  125. package/dist/esm/react.js.map +1 -0
  126. package/dist/{cjs/react → esm}/splitview/splitview.d.ts +23 -24
  127. package/dist/esm/splitview/splitview.d.ts.map +1 -0
  128. package/dist/esm/{react/splitview → splitview}/splitview.js +50 -66
  129. package/dist/esm/splitview/splitview.js.map +1 -0
  130. package/dist/{cjs/react → esm}/splitview/view.d.ts +11 -10
  131. package/dist/esm/splitview/view.d.ts.map +1 -0
  132. package/dist/esm/{react/splitview → splitview}/view.js +18 -18
  133. package/dist/esm/splitview/view.js.map +1 -0
  134. package/dist/esm/svg.d.ts +4 -3
  135. package/dist/esm/svg.d.ts.map +1 -0
  136. package/dist/esm/svg.js +8 -31
  137. package/dist/esm/svg.js.map +1 -0
  138. package/dist/esm/types.d.ts +8 -8
  139. package/dist/esm/types.d.ts.map +1 -0
  140. package/dist/esm/types.js +2 -3
  141. package/dist/{cjs/panel → esm}/types.js.map +1 -1
  142. package/dist/styles/dockview.css +1 -617
  143. package/package.json +9 -5
  144. package/dist/cjs/actionbar/actionsContainer.d.ts +0 -7
  145. package/dist/cjs/actionbar/actionsContainer.js +0 -27
  146. package/dist/cjs/actionbar/actionsContainer.js.map +0 -1
  147. package/dist/cjs/api/component.api.d.ts +0 -145
  148. package/dist/cjs/api/component.api.js +0 -579
  149. package/dist/cjs/api/component.api.js.map +0 -1
  150. package/dist/cjs/api/dockviewPanelApi.d.ts +0 -34
  151. package/dist/cjs/api/dockviewPanelApi.js +0 -84
  152. package/dist/cjs/api/dockviewPanelApi.js.map +0 -1
  153. package/dist/cjs/api/gridviewPanelApi.d.ts +0 -37
  154. package/dist/cjs/api/gridviewPanelApi.js +0 -48
  155. package/dist/cjs/api/gridviewPanelApi.js.map +0 -1
  156. package/dist/cjs/api/panelApi.d.ts +0 -88
  157. package/dist/cjs/api/panelApi.js +0 -138
  158. package/dist/cjs/api/panelApi.js.map +0 -1
  159. package/dist/cjs/api/paneviewPanelApi.d.ts +0 -26
  160. package/dist/cjs/api/paneviewPanelApi.js +0 -58
  161. package/dist/cjs/api/paneviewPanelApi.js.map +0 -1
  162. package/dist/cjs/api/splitviewPanelApi.d.ts +0 -32
  163. package/dist/cjs/api/splitviewPanelApi.js +0 -48
  164. package/dist/cjs/api/splitviewPanelApi.js.map +0 -1
  165. package/dist/cjs/array.d.ts +0 -13
  166. package/dist/cjs/array.js +0 -78
  167. package/dist/cjs/array.js.map +0 -1
  168. package/dist/cjs/dnd/abstractDragHandler.d.ts +0 -11
  169. package/dist/cjs/dnd/abstractDragHandler.js +0 -116
  170. package/dist/cjs/dnd/abstractDragHandler.js.map +0 -1
  171. package/dist/cjs/dnd/dataTransfer.d.ts +0 -31
  172. package/dist/cjs/dnd/dataTransfer.js +0 -101
  173. package/dist/cjs/dnd/dataTransfer.js.map +0 -1
  174. package/dist/cjs/dnd/dnd.d.ts +0 -27
  175. package/dist/cjs/dnd/dnd.js +0 -60
  176. package/dist/cjs/dnd/dnd.js.map +0 -1
  177. package/dist/cjs/dnd/droptarget.d.ts +0 -42
  178. package/dist/cjs/dnd/droptarget.js +0 -280
  179. package/dist/cjs/dnd/droptarget.js.map +0 -1
  180. package/dist/cjs/dnd/ghost.d.ts +0 -1
  181. package/dist/cjs/dnd/ghost.js +0 -15
  182. package/dist/cjs/dnd/ghost.js.map +0 -1
  183. package/dist/cjs/dnd/groupDragHandler.d.ts +0 -11
  184. package/dist/cjs/dnd/groupDragHandler.js +0 -62
  185. package/dist/cjs/dnd/groupDragHandler.js.map +0 -1
  186. package/dist/cjs/dockview/components/tab/defaultTab.d.ts +0 -27
  187. package/dist/cjs/dockview/components/tab/defaultTab.js +0 -122
  188. package/dist/cjs/dockview/components/tab/defaultTab.js.map +0 -1
  189. package/dist/cjs/dockview/components/watermark/watermark.d.ts +0 -20
  190. package/dist/cjs/dockview/components/watermark/watermark.js +0 -102
  191. package/dist/cjs/dockview/components/watermark/watermark.js.map +0 -1
  192. package/dist/cjs/dockview/defaultGroupPanelView.d.ts +0 -29
  193. package/dist/cjs/dockview/defaultGroupPanelView.js +0 -69
  194. package/dist/cjs/dockview/defaultGroupPanelView.js.map +0 -1
  195. package/dist/cjs/dockview/deserializer.d.ts +0 -6
  196. package/dist/cjs/dockview/deserializer.js +0 -3
  197. package/dist/cjs/dockview/deserializer.js.map +0 -1
  198. package/dist/cjs/dockview/dockviewComponent.d.ts +0 -133
  199. package/dist/cjs/dockview/dockviewComponent.js +0 -796
  200. package/dist/cjs/dockview/dockviewComponent.js.map +0 -1
  201. package/dist/cjs/dockview/dockviewPanel.d.ts +0 -42
  202. package/dist/cjs/dockview/dockviewPanel.js +0 -161
  203. package/dist/cjs/dockview/dockviewPanel.js.map +0 -1
  204. package/dist/cjs/dockview/options.d.ts +0 -110
  205. package/dist/cjs/dockview/options.js +0 -32
  206. package/dist/cjs/dockview/options.js.map +0 -1
  207. package/dist/cjs/dockview/validation.d.ts +0 -2
  208. package/dist/cjs/dockview/validation.js +0 -135
  209. package/dist/cjs/dockview/validation.js.map +0 -1
  210. package/dist/cjs/dom.d.ts +0 -14
  211. package/dist/cjs/dom.js +0 -183
  212. package/dist/cjs/dom.js.map +0 -1
  213. package/dist/cjs/events.d.ts +0 -30
  214. package/dist/cjs/events.js +0 -130
  215. package/dist/cjs/events.js.map +0 -1
  216. package/dist/cjs/gridview/baseComponentGridview.d.ts +0 -87
  217. package/dist/cjs/gridview/baseComponentGridview.js +0 -279
  218. package/dist/cjs/gridview/baseComponentGridview.js.map +0 -1
  219. package/dist/cjs/gridview/basePanelView.d.ts +0 -43
  220. package/dist/cjs/gridview/basePanelView.js +0 -124
  221. package/dist/cjs/gridview/basePanelView.js.map +0 -1
  222. package/dist/cjs/gridview/branchNode.d.ts +0 -49
  223. package/dist/cjs/gridview/branchNode.js +0 -343
  224. package/dist/cjs/gridview/branchNode.js.map +0 -1
  225. package/dist/cjs/gridview/gridviewComponent.d.ts +0 -85
  226. package/dist/cjs/gridview/gridviewComponent.js +0 -325
  227. package/dist/cjs/gridview/gridviewComponent.js.map +0 -1
  228. package/dist/cjs/gridview/gridviewPanel.d.ts +0 -60
  229. package/dist/cjs/gridview/gridviewPanel.js +0 -202
  230. package/dist/cjs/gridview/gridviewPanel.js.map +0 -1
  231. package/dist/cjs/gridview/leafNode.d.ts +0 -34
  232. package/dist/cjs/gridview/leafNode.js +0 -171
  233. package/dist/cjs/gridview/leafNode.js.map +0 -1
  234. package/dist/cjs/gridview/options.d.ts +0 -18
  235. package/dist/cjs/gridview/options.js +0 -3
  236. package/dist/cjs/gridview/options.js.map +0 -1
  237. package/dist/cjs/gridview/types.d.ts +0 -3
  238. package/dist/cjs/gridview/types.js +0 -3
  239. package/dist/cjs/gridview/types.js.map +0 -1
  240. package/dist/cjs/groupview/dnd.d.ts +0 -6
  241. package/dist/cjs/groupview/dnd.js +0 -11
  242. package/dist/cjs/groupview/dnd.js.map +0 -1
  243. package/dist/cjs/groupview/groupview.d.ts +0 -177
  244. package/dist/cjs/groupview/groupview.js +0 -608
  245. package/dist/cjs/groupview/groupview.js.map +0 -1
  246. package/dist/cjs/groupview/groupviewPanel.d.ts +0 -35
  247. package/dist/cjs/groupview/groupviewPanel.js +0 -129
  248. package/dist/cjs/groupview/groupviewPanel.js.map +0 -1
  249. package/dist/cjs/groupview/panel/content.d.ts +0 -30
  250. package/dist/cjs/groupview/panel/content.js +0 -101
  251. package/dist/cjs/groupview/panel/content.js.map +0 -1
  252. package/dist/cjs/groupview/tab.d.ts +0 -31
  253. package/dist/cjs/groupview/tab.js +0 -125
  254. package/dist/cjs/groupview/tab.js.map +0 -1
  255. package/dist/cjs/groupview/titlebar/tabsContainer.d.ts +0 -65
  256. package/dist/cjs/groupview/titlebar/tabsContainer.js +0 -252
  257. package/dist/cjs/groupview/titlebar/tabsContainer.js.map +0 -1
  258. package/dist/cjs/groupview/titlebar/voidContainer.d.ts +0 -15
  259. package/dist/cjs/groupview/titlebar/voidContainer.js +0 -74
  260. package/dist/cjs/groupview/titlebar/voidContainer.js.map +0 -1
  261. package/dist/cjs/groupview/types.d.ts +0 -68
  262. package/dist/cjs/groupview/types.js +0 -3
  263. package/dist/cjs/groupview/types.js.map +0 -1
  264. package/dist/cjs/hostedContainer.d.ts +0 -23
  265. package/dist/cjs/hostedContainer.js +0 -74
  266. package/dist/cjs/hostedContainer.js.map +0 -1
  267. package/dist/cjs/lifecycle.d.ts +0 -22
  268. package/dist/cjs/lifecycle.js +0 -89
  269. package/dist/cjs/lifecycle.js.map +0 -1
  270. package/dist/cjs/math.d.ts +0 -4
  271. package/dist/cjs/math.js +0 -16
  272. package/dist/cjs/math.js.map +0 -1
  273. package/dist/cjs/panel/componentFactory.d.ts +0 -8
  274. package/dist/cjs/panel/componentFactory.js +0 -31
  275. package/dist/cjs/panel/componentFactory.js.map +0 -1
  276. package/dist/cjs/panel/types.d.ts +0 -33
  277. package/dist/cjs/panel/types.js +0 -3
  278. package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +0 -21
  279. package/dist/cjs/paneview/defaultPaneviewHeader.js +0 -91
  280. package/dist/cjs/paneview/defaultPaneviewHeader.js.map +0 -1
  281. package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +0 -19
  282. package/dist/cjs/paneview/draggablePaneviewPanel.js +0 -131
  283. package/dist/cjs/paneview/draggablePaneviewPanel.js.map +0 -1
  284. package/dist/cjs/paneview/options.d.ts +0 -27
  285. package/dist/cjs/paneview/options.js +0 -3
  286. package/dist/cjs/paneview/options.js.map +0 -1
  287. package/dist/cjs/paneview/paneviewComponent.d.ts +0 -129
  288. package/dist/cjs/paneview/paneviewComponent.js +0 -395
  289. package/dist/cjs/paneview/paneviewComponent.js.map +0 -1
  290. package/dist/cjs/paneview/paneviewPanel.d.ts +0 -92
  291. package/dist/cjs/paneview/paneviewPanel.js +0 -276
  292. package/dist/cjs/paneview/paneviewPanel.js.map +0 -1
  293. package/dist/cjs/react/deserializer.d.ts +0 -10
  294. package/dist/cjs/react/deserializer.js +0 -44
  295. package/dist/cjs/react/deserializer.js.map +0 -1
  296. package/dist/cjs/react/dockview/defaultTab.js.map +0 -1
  297. package/dist/cjs/react/dockview/dockview.js.map +0 -1
  298. package/dist/cjs/react/dockview/groupControlsRenderer.js.map +0 -1
  299. package/dist/cjs/react/dockview/reactContentPart.js.map +0 -1
  300. package/dist/cjs/react/dockview/reactHeaderPart.js.map +0 -1
  301. package/dist/cjs/react/dockview/reactWatermarkPart.js.map +0 -1
  302. package/dist/cjs/react/dockview/v2/reactContentRenderer.d.ts +0 -29
  303. package/dist/cjs/react/dockview/v2/reactContentRenderer.js +0 -88
  304. package/dist/cjs/react/dockview/v2/reactContentRenderer.js.map +0 -1
  305. package/dist/cjs/react/dockview/v2/reactGroupPanelView.d.ts +0 -7
  306. package/dist/cjs/react/dockview/v2/reactGroupPanelView.js +0 -35
  307. package/dist/cjs/react/dockview/v2/reactGroupPanelView.js.map +0 -1
  308. package/dist/cjs/react/dockview/v2/webviewContentRenderer.d.ts +0 -18
  309. package/dist/cjs/react/dockview/v2/webviewContentRenderer.js +0 -46
  310. package/dist/cjs/react/dockview/v2/webviewContentRenderer.js.map +0 -1
  311. package/dist/cjs/react/gridview/gridview.d.ts +0 -24
  312. package/dist/cjs/react/gridview/gridview.js +0 -113
  313. package/dist/cjs/react/gridview/gridview.js.map +0 -1
  314. package/dist/cjs/react/gridview/view.js.map +0 -1
  315. package/dist/cjs/react/index.d.ts +0 -9
  316. package/dist/cjs/react/index.js +0 -24
  317. package/dist/cjs/react/index.js.map +0 -1
  318. package/dist/cjs/react/paneview/paneview.d.ts +0 -30
  319. package/dist/cjs/react/paneview/paneview.js +0 -156
  320. package/dist/cjs/react/paneview/paneview.js.map +0 -1
  321. package/dist/cjs/react/paneview/view.js.map +0 -1
  322. package/dist/cjs/react/react.js.map +0 -1
  323. package/dist/cjs/react/splitview/splitview.js.map +0 -1
  324. package/dist/cjs/react/splitview/view.js.map +0 -1
  325. package/dist/cjs/react/svg.d.ts +0 -3
  326. package/dist/cjs/react/svg.js +0 -36
  327. package/dist/cjs/react/svg.js.map +0 -1
  328. package/dist/cjs/react/types.d.ts +0 -7
  329. package/dist/cjs/react/types.js +0 -3
  330. package/dist/cjs/react/types.js.map +0 -1
  331. package/dist/cjs/splitview/core/options.d.ts +0 -26
  332. package/dist/cjs/splitview/core/options.js +0 -3
  333. package/dist/cjs/splitview/core/options.js.map +0 -1
  334. package/dist/cjs/splitview/core/splitview.d.ts +0 -127
  335. package/dist/cjs/splitview/core/splitview.js +0 -909
  336. package/dist/cjs/splitview/core/splitview.js.map +0 -1
  337. package/dist/cjs/splitview/core/viewItem.d.ts +0 -25
  338. package/dist/cjs/splitview/core/viewItem.js +0 -125
  339. package/dist/cjs/splitview/core/viewItem.js.map +0 -1
  340. package/dist/cjs/splitview/splitviewComponent.d.ts +0 -101
  341. package/dist/cjs/splitview/splitviewComponent.js +0 -374
  342. package/dist/cjs/splitview/splitviewComponent.js.map +0 -1
  343. package/dist/cjs/splitview/splitviewPanel.d.ts +0 -45
  344. package/dist/cjs/splitview/splitviewPanel.js +0 -180
  345. package/dist/cjs/splitview/splitviewPanel.js.map +0 -1
  346. package/dist/esm/actionbar/actionsContainer.d.ts +0 -7
  347. package/dist/esm/actionbar/actionsContainer.js +0 -17
  348. package/dist/esm/api/component.api.d.ts +0 -145
  349. package/dist/esm/api/component.api.js +0 -329
  350. package/dist/esm/api/dockviewPanelApi.d.ts +0 -34
  351. package/dist/esm/api/dockviewPanelApi.js +0 -48
  352. package/dist/esm/api/gridviewPanelApi.d.ts +0 -37
  353. package/dist/esm/api/gridviewPanelApi.js +0 -25
  354. package/dist/esm/api/panelApi.d.ts +0 -88
  355. package/dist/esm/api/panelApi.js +0 -95
  356. package/dist/esm/api/paneviewPanelApi.d.ts +0 -26
  357. package/dist/esm/api/paneviewPanelApi.js +0 -27
  358. package/dist/esm/api/splitviewPanelApi.d.ts +0 -32
  359. package/dist/esm/api/splitviewPanelApi.js +0 -25
  360. package/dist/esm/array.d.ts +0 -13
  361. package/dist/esm/array.js +0 -67
  362. package/dist/esm/dnd/abstractDragHandler.d.ts +0 -11
  363. package/dist/esm/dnd/abstractDragHandler.js +0 -37
  364. package/dist/esm/dnd/dataTransfer.d.ts +0 -31
  365. package/dist/esm/dnd/dataTransfer.js +0 -69
  366. package/dist/esm/dnd/dnd.d.ts +0 -27
  367. package/dist/esm/dnd/dnd.js +0 -36
  368. package/dist/esm/dnd/droptarget.d.ts +0 -42
  369. package/dist/esm/dnd/droptarget.js +0 -249
  370. package/dist/esm/dnd/ghost.d.ts +0 -1
  371. package/dist/esm/dnd/ghost.js +0 -10
  372. package/dist/esm/dnd/groupDragHandler.d.ts +0 -11
  373. package/dist/esm/dnd/groupDragHandler.js +0 -38
  374. package/dist/esm/dockview/components/tab/defaultTab.d.ts +0 -27
  375. package/dist/esm/dockview/components/tab/defaultTab.js +0 -79
  376. package/dist/esm/dockview/components/watermark/watermark.d.ts +0 -20
  377. package/dist/esm/dockview/components/watermark/watermark.js +0 -70
  378. package/dist/esm/dockview/defaultGroupPanelView.d.ts +0 -29
  379. package/dist/esm/dockview/defaultGroupPanelView.js +0 -44
  380. package/dist/esm/dockview/deserializer.d.ts +0 -6
  381. package/dist/esm/dockview/deserializer.js +0 -1
  382. package/dist/esm/dockview/dockviewComponent.d.ts +0 -133
  383. package/dist/esm/dockview/dockviewComponent.js +0 -632
  384. package/dist/esm/dockview/dockviewPanel.d.ts +0 -42
  385. package/dist/esm/dockview/dockviewPanel.js +0 -111
  386. package/dist/esm/dockview/options.d.ts +0 -110
  387. package/dist/esm/dockview/options.js +0 -24
  388. package/dist/esm/dockview/validation.d.ts +0 -2
  389. package/dist/esm/dockview/validation.js +0 -86
  390. package/dist/esm/dom.d.ts +0 -14
  391. package/dist/esm/dom.js +0 -113
  392. package/dist/esm/events.d.ts +0 -30
  393. package/dist/esm/events.js +0 -88
  394. package/dist/esm/gridview/baseComponentGridview.d.ts +0 -87
  395. package/dist/esm/gridview/baseComponentGridview.js +0 -188
  396. package/dist/esm/gridview/basePanelView.d.ts +0 -43
  397. package/dist/esm/gridview/basePanelView.js +0 -74
  398. package/dist/esm/gridview/branchNode.d.ts +0 -49
  399. package/dist/esm/gridview/branchNode.js +0 -218
  400. package/dist/esm/gridview/gridviewComponent.d.ts +0 -85
  401. package/dist/esm/gridview/gridviewComponent.js +0 -237
  402. package/dist/esm/gridview/gridviewPanel.d.ts +0 -60
  403. package/dist/esm/gridview/gridviewPanel.js +0 -138
  404. package/dist/esm/gridview/leafNode.d.ts +0 -34
  405. package/dist/esm/gridview/leafNode.js +0 -103
  406. package/dist/esm/gridview/options.d.ts +0 -18
  407. package/dist/esm/gridview/options.js +0 -1
  408. package/dist/esm/gridview/types.d.ts +0 -3
  409. package/dist/esm/gridview/types.js +0 -1
  410. package/dist/esm/groupview/dnd.d.ts +0 -6
  411. package/dist/esm/groupview/dnd.js +0 -7
  412. package/dist/esm/groupview/groupview.d.ts +0 -177
  413. package/dist/esm/groupview/groupview.js +0 -462
  414. package/dist/esm/groupview/groupviewPanel.d.ts +0 -35
  415. package/dist/esm/groupview/groupviewPanel.js +0 -61
  416. package/dist/esm/groupview/panel/content.d.ts +0 -30
  417. package/dist/esm/groupview/panel/content.js +0 -73
  418. package/dist/esm/groupview/tab.d.ts +0 -31
  419. package/dist/esm/groupview/tab.js +0 -94
  420. package/dist/esm/groupview/titlebar/tabsContainer.d.ts +0 -65
  421. package/dist/esm/groupview/titlebar/tabsContainer.js +0 -183
  422. package/dist/esm/groupview/titlebar/voidContainer.d.ts +0 -15
  423. package/dist/esm/groupview/titlebar/voidContainer.js +0 -47
  424. package/dist/esm/groupview/types.d.ts +0 -68
  425. package/dist/esm/groupview/types.js +0 -1
  426. package/dist/esm/hostedContainer.d.ts +0 -23
  427. package/dist/esm/hostedContainer.js +0 -63
  428. package/dist/esm/lifecycle.d.ts +0 -22
  429. package/dist/esm/lifecycle.js +0 -39
  430. package/dist/esm/math.d.ts +0 -4
  431. package/dist/esm/math.js +0 -10
  432. package/dist/esm/panel/componentFactory.d.ts +0 -8
  433. package/dist/esm/panel/componentFactory.js +0 -24
  434. package/dist/esm/panel/types.d.ts +0 -33
  435. package/dist/esm/panel/types.js +0 -1
  436. package/dist/esm/paneview/defaultPaneviewHeader.d.ts +0 -21
  437. package/dist/esm/paneview/defaultPaneviewHeader.js +0 -63
  438. package/dist/esm/paneview/draggablePaneviewPanel.d.ts +0 -19
  439. package/dist/esm/paneview/draggablePaneviewPanel.js +0 -91
  440. package/dist/esm/paneview/options.d.ts +0 -27
  441. package/dist/esm/paneview/options.js +0 -1
  442. package/dist/esm/paneview/paneviewComponent.d.ts +0 -129
  443. package/dist/esm/paneview/paneviewComponent.js +0 -270
  444. package/dist/esm/paneview/paneviewPanel.d.ts +0 -92
  445. package/dist/esm/paneview/paneviewPanel.js +0 -192
  446. package/dist/esm/react/deserializer.d.ts +0 -10
  447. package/dist/esm/react/deserializer.js +0 -38
  448. package/dist/esm/react/dockview/v2/reactContentRenderer.d.ts +0 -29
  449. package/dist/esm/react/dockview/v2/reactContentRenderer.js +0 -69
  450. package/dist/esm/react/dockview/v2/reactGroupPanelView.d.ts +0 -7
  451. package/dist/esm/react/dockview/v2/reactGroupPanelView.js +0 -12
  452. package/dist/esm/react/dockview/v2/webviewContentRenderer.d.ts +0 -18
  453. package/dist/esm/react/dockview/v2/webviewContentRenderer.js +0 -36
  454. package/dist/esm/react/gridview/gridview.d.ts +0 -24
  455. package/dist/esm/react/gridview/gridview.js +0 -70
  456. package/dist/esm/react/index.d.ts +0 -9
  457. package/dist/esm/react/index.js +0 -7
  458. package/dist/esm/react/paneview/paneview.d.ts +0 -30
  459. package/dist/esm/react/paneview/paneview.js +0 -100
  460. package/dist/esm/react/svg.d.ts +0 -3
  461. package/dist/esm/react/svg.js +0 -7
  462. package/dist/esm/react/types.d.ts +0 -7
  463. package/dist/esm/react/types.js +0 -1
  464. package/dist/esm/splitview/core/options.d.ts +0 -26
  465. package/dist/esm/splitview/core/options.js +0 -1
  466. package/dist/esm/splitview/core/splitview.d.ts +0 -127
  467. package/dist/esm/splitview/core/splitview.js +0 -689
  468. package/dist/esm/splitview/core/viewItem.d.ts +0 -25
  469. package/dist/esm/splitview/core/viewItem.js +0 -79
  470. package/dist/esm/splitview/splitviewComponent.d.ts +0 -101
  471. package/dist/esm/splitview/splitviewComponent.js +0 -249
  472. package/dist/esm/splitview/splitviewPanel.d.ts +0 -45
  473. package/dist/esm/splitview/splitviewPanel.js +0 -108
@@ -1,177 +0,0 @@
1
- import { PanelTransfer } from '../dnd/dataTransfer';
2
- import { Position } from '../dnd/droptarget';
3
- import { DockviewComponent } from '../dockview/dockviewComponent';
4
- import { Event } from '../events';
5
- import { IGridPanelView } from '../gridview/baseComponentGridview';
6
- import { IViewSize } from '../gridview/gridview';
7
- import { CompositeDisposable, IDisposable } from '../lifecycle';
8
- import { PanelInitParameters, PanelUpdateEvent } from '../panel/types';
9
- import { GroupPanel } from './groupviewPanel';
10
- import { DockviewDropTargets } from './dnd';
11
- import { IDockviewPanel } from '../dockview/dockviewPanel';
12
- export interface DndService {
13
- canDisplayOverlay(group: IGroupview, event: DragEvent, target: DockviewDropTargets): boolean;
14
- onDrop(group: IGroupview, event: DragEvent, position: Position, index?: number): void;
15
- }
16
- export interface IGroupItem {
17
- id: string;
18
- header: {
19
- element: HTMLElement;
20
- };
21
- body: {
22
- element: HTMLElement;
23
- };
24
- }
25
- interface GroupMoveEvent {
26
- groupId: string;
27
- itemId?: string;
28
- target: Position;
29
- index?: number;
30
- }
31
- interface CoreGroupOptions {
32
- locked?: boolean;
33
- hideHeader?: boolean;
34
- }
35
- export interface GroupOptions extends CoreGroupOptions {
36
- readonly panels?: IDockviewPanel[];
37
- readonly activePanel?: IDockviewPanel;
38
- readonly id?: string;
39
- tabHeight?: number;
40
- }
41
- export interface GroupPanelViewState extends CoreGroupOptions {
42
- views: string[];
43
- activeView?: string;
44
- id: string;
45
- }
46
- export interface GroupviewChangeEvent {
47
- readonly panel: IDockviewPanel;
48
- }
49
- export interface GroupviewDropEvent {
50
- readonly nativeEvent: DragEvent;
51
- readonly position: Position;
52
- readonly index?: number;
53
- getData(): PanelTransfer | undefined;
54
- }
55
- export interface IHeader {
56
- hidden: boolean;
57
- height: number | undefined;
58
- }
59
- export interface IGroupview extends IDisposable, IGridPanelView {
60
- readonly isActive: boolean;
61
- readonly size: number;
62
- readonly panels: IDockviewPanel[];
63
- readonly activePanel: IDockviewPanel | undefined;
64
- readonly header: IHeader;
65
- readonly isContentFocused: boolean;
66
- readonly onDidDrop: Event<GroupviewDropEvent>;
67
- readonly onDidAddPanel: Event<GroupviewChangeEvent>;
68
- readonly onDidRemovePanel: Event<GroupviewChangeEvent>;
69
- readonly onDidActivePanelChange: Event<GroupviewChangeEvent>;
70
- readonly onMove: Event<GroupMoveEvent>;
71
- locked: boolean;
72
- isPanelActive: (panel: IDockviewPanel) => boolean;
73
- indexOf(panel: IDockviewPanel): number;
74
- openPanel(panel: IDockviewPanel, options?: {
75
- index?: number;
76
- skipFocus?: boolean;
77
- }): void;
78
- closePanel(panel: IDockviewPanel): void;
79
- closeAllPanels(): void;
80
- containsPanel(panel: IDockviewPanel): boolean;
81
- removePanel: (panelOrId: IDockviewPanel | string) => IDockviewPanel;
82
- moveToNext(options?: {
83
- panel?: IDockviewPanel;
84
- suppressRoll?: boolean;
85
- }): void;
86
- moveToPrevious(options?: {
87
- panel?: IDockviewPanel;
88
- suppressRoll?: boolean;
89
- }): void;
90
- canDisplayOverlay(event: DragEvent, position: Position, target: DockviewDropTargets): boolean;
91
- }
92
- export declare class Groupview extends CompositeDisposable implements IGroupview {
93
- private readonly container;
94
- private accessor;
95
- id: string;
96
- private readonly options;
97
- private readonly groupPanel;
98
- private readonly tabsContainer;
99
- private readonly contentContainer;
100
- private readonly dropTarget;
101
- private _activePanel;
102
- private watermark?;
103
- private _isGroupActive;
104
- private _locked;
105
- private _control;
106
- private mostRecentlyUsed;
107
- private readonly _onDidChange;
108
- readonly onDidChange: Event<IViewSize | undefined>;
109
- private _width;
110
- private _height;
111
- private _panels;
112
- private readonly _onMove;
113
- readonly onMove: Event<GroupMoveEvent>;
114
- private readonly _onDidDrop;
115
- readonly onDidDrop: Event<GroupviewDropEvent>;
116
- private readonly _onDidAddPanel;
117
- readonly onDidAddPanel: Event<GroupviewChangeEvent>;
118
- private readonly _onDidRemovePanel;
119
- readonly onDidRemovePanel: Event<GroupviewChangeEvent>;
120
- private readonly _onDidActivePanelChange;
121
- readonly onDidActivePanelChange: Event<GroupviewChangeEvent>;
122
- get element(): HTMLElement;
123
- get activePanel(): IDockviewPanel | undefined;
124
- get locked(): boolean;
125
- set locked(value: boolean);
126
- get isActive(): boolean;
127
- get panels(): IDockviewPanel[];
128
- get size(): number;
129
- get isEmpty(): boolean;
130
- get minimumHeight(): number;
131
- get maximumHeight(): number;
132
- get minimumWidth(): number;
133
- get maximumWidth(): number;
134
- get hasWatermark(): boolean;
135
- get header(): IHeader;
136
- get isContentFocused(): boolean;
137
- constructor(container: HTMLElement, accessor: DockviewComponent, id: string, options: GroupOptions, groupPanel: GroupPanel);
138
- initialize(): void;
139
- indexOf(panel: IDockviewPanel): number;
140
- toJSON(): GroupPanelViewState;
141
- moveToNext(options?: {
142
- panel?: IDockviewPanel;
143
- suppressRoll?: boolean;
144
- }): void;
145
- moveToPrevious(options?: {
146
- panel?: IDockviewPanel;
147
- suppressRoll?: boolean;
148
- }): void;
149
- containsPanel(panel: IDockviewPanel): boolean;
150
- init(_params: PanelInitParameters): void;
151
- update(_params: PanelUpdateEvent): void;
152
- focus(): void;
153
- openPanel(panel: IDockviewPanel, options?: {
154
- index?: number;
155
- skipFocus?: boolean;
156
- skipSetPanelActive?: boolean;
157
- skipSetGroupActive?: boolean;
158
- }): void;
159
- removePanel(groupItemOrId: IDockviewPanel | string): IDockviewPanel;
160
- closeAllPanels(): void;
161
- closePanel(panel: IDockviewPanel): void;
162
- private doClose;
163
- isPanelActive(panel: IDockviewPanel): boolean;
164
- updateActions(element: HTMLElement | undefined): void;
165
- setActive(isGroupActive: boolean, skipFocus?: boolean, force?: boolean): void;
166
- layout(width: number, height: number): void;
167
- private _removePanel;
168
- private doRemovePanel;
169
- private doAddPanel;
170
- private doSetActivePanel;
171
- private updateMru;
172
- private updateContainer;
173
- canDisplayOverlay(event: DragEvent, position: Position, target: DockviewDropTargets): boolean;
174
- private handleDropEvent;
175
- dispose(): void;
176
- }
177
- export {};
@@ -1,462 +0,0 @@
1
- import { DockviewApi } from '../api/component.api';
2
- import { getPanelData } from '../dnd/dataTransfer';
3
- import { Droptarget } from '../dnd/droptarget';
4
- import { isAncestor, toggleClass } from '../dom';
5
- import { addDisposableListener, Emitter } from '../events';
6
- import { CompositeDisposable } from '../lifecycle';
7
- import { ContentContainer } from './panel/content';
8
- import { TabsContainer } from './titlebar/tabsContainer';
9
- import { DockviewDropTargets } from './dnd';
10
- export class Groupview extends CompositeDisposable {
11
- get element() {
12
- throw new Error('not supported');
13
- }
14
- get activePanel() {
15
- return this._activePanel;
16
- }
17
- get locked() {
18
- return this._locked;
19
- }
20
- set locked(value) {
21
- this._locked = value;
22
- toggleClass(this.container, 'locked-groupview', value);
23
- }
24
- get isActive() {
25
- return this._isGroupActive;
26
- }
27
- get panels() {
28
- return this._panels;
29
- }
30
- get size() {
31
- return this._panels.length;
32
- }
33
- get isEmpty() {
34
- return this._panels.length === 0;
35
- }
36
- get minimumHeight() {
37
- return 100;
38
- }
39
- get maximumHeight() {
40
- return Number.MAX_SAFE_INTEGER;
41
- }
42
- get minimumWidth() {
43
- return 100;
44
- }
45
- get maximumWidth() {
46
- return Number.MAX_SAFE_INTEGER;
47
- }
48
- get hasWatermark() {
49
- return !!(this.watermark && this.container.contains(this.watermark.element));
50
- }
51
- get header() {
52
- return this.tabsContainer;
53
- }
54
- get isContentFocused() {
55
- if (!document.activeElement) {
56
- return false;
57
- }
58
- return isAncestor(document.activeElement, this.contentContainer.element);
59
- }
60
- constructor(container, accessor, id, options, groupPanel) {
61
- super();
62
- this.container = container;
63
- this.accessor = accessor;
64
- this.id = id;
65
- this.options = options;
66
- this.groupPanel = groupPanel;
67
- this._isGroupActive = false;
68
- this._locked = false;
69
- this.mostRecentlyUsed = [];
70
- this._onDidChange = new Emitter();
71
- this.onDidChange = this._onDidChange.event;
72
- this._width = 0;
73
- this._height = 0;
74
- this._panels = [];
75
- this._onMove = new Emitter();
76
- this.onMove = this._onMove.event;
77
- this._onDidDrop = new Emitter();
78
- this.onDidDrop = this._onDidDrop.event;
79
- this._onDidAddPanel = new Emitter();
80
- this.onDidAddPanel = this._onDidAddPanel.event;
81
- this._onDidRemovePanel = new Emitter();
82
- this.onDidRemovePanel = this._onDidRemovePanel.event;
83
- this._onDidActivePanelChange = new Emitter();
84
- this.onDidActivePanelChange = this._onDidActivePanelChange.event;
85
- this.container.classList.add('groupview');
86
- this.tabsContainer = new TabsContainer(this.accessor, this.groupPanel);
87
- this.contentContainer = new ContentContainer();
88
- this.dropTarget = new Droptarget(this.contentContainer.element, {
89
- acceptedTargetZones: ['top', 'bottom', 'left', 'right', 'center'],
90
- canDisplayOverlay: (event, position) => {
91
- if (this.locked && position === 'center') {
92
- return false;
93
- }
94
- const data = getPanelData();
95
- if (data && data.viewId === this.accessor.id) {
96
- if (data.groupId === this.id) {
97
- if (position === 'center') {
98
- // don't allow to drop on self for center position
99
- return false;
100
- }
101
- if (data.panelId === null) {
102
- // don't allow group move to drop anywhere on self
103
- return false;
104
- }
105
- }
106
- const groupHasOnePanelAndIsActiveDragElement = this._panels.length === 1 && data.groupId === this.id;
107
- return !groupHasOnePanelAndIsActiveDragElement;
108
- }
109
- return this.canDisplayOverlay(event, position, DockviewDropTargets.Panel);
110
- },
111
- });
112
- container.append(this.tabsContainer.element, this.contentContainer.element);
113
- this.header.hidden = !!options.hideHeader;
114
- this.locked = !!options.locked;
115
- this.addDisposables(this._onMove, this._onDidChange, this._onDidDrop, this._onDidAddPanel, this._onDidRemovePanel, this._onDidActivePanelChange, this.tabsContainer.onDrop((event) => {
116
- this.handleDropEvent(event.event, 'center', event.index);
117
- }), this.contentContainer.onDidFocus(() => {
118
- this.accessor.doSetGroupActive(this.groupPanel, true);
119
- }), this.contentContainer.onDidBlur(() => {
120
- // noop
121
- }), this.dropTarget.onDrop((event) => {
122
- this.handleDropEvent(event.nativeEvent, event.position);
123
- }));
124
- }
125
- initialize() {
126
- var _a, _b;
127
- if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.panels) {
128
- this.options.panels.forEach((panel) => {
129
- this.doAddPanel(panel);
130
- });
131
- }
132
- if ((_b = this.options) === null || _b === void 0 ? void 0 : _b.activePanel) {
133
- this.openPanel(this.options.activePanel);
134
- }
135
- // must be run after the constructor otherwise this.parent may not be
136
- // correctly initialized
137
- this.setActive(this.isActive, true, true);
138
- this.updateContainer();
139
- if (this.accessor.options.createGroupControlElement) {
140
- this._control = this.accessor.options.createGroupControlElement(this.groupPanel);
141
- this.addDisposables(this._control);
142
- this._control.init({
143
- containerApi: new DockviewApi(this.accessor),
144
- api: this.groupPanel.api,
145
- });
146
- this.tabsContainer.setActionElement(this._control.element);
147
- }
148
- }
149
- indexOf(panel) {
150
- return this.tabsContainer.indexOf(panel.id);
151
- }
152
- toJSON() {
153
- var _a;
154
- const result = {
155
- views: this.tabsContainer.panels,
156
- activeView: (_a = this._activePanel) === null || _a === void 0 ? void 0 : _a.id,
157
- id: this.id,
158
- };
159
- if (this.locked) {
160
- result.locked = true;
161
- }
162
- if (this.header.hidden) {
163
- result.hideHeader = true;
164
- }
165
- return result;
166
- }
167
- moveToNext(options) {
168
- if (!options) {
169
- options = {};
170
- }
171
- if (!options.panel) {
172
- options.panel = this.activePanel;
173
- }
174
- const index = options.panel ? this.panels.indexOf(options.panel) : -1;
175
- let normalizedIndex;
176
- if (index < this.panels.length - 1) {
177
- normalizedIndex = index + 1;
178
- }
179
- else if (!options.suppressRoll) {
180
- normalizedIndex = 0;
181
- }
182
- else {
183
- return;
184
- }
185
- this.openPanel(this.panels[normalizedIndex]);
186
- }
187
- moveToPrevious(options) {
188
- if (!options) {
189
- options = {};
190
- }
191
- if (!options.panel) {
192
- options.panel = this.activePanel;
193
- }
194
- if (!options.panel) {
195
- return;
196
- }
197
- const index = this.panels.indexOf(options.panel);
198
- let normalizedIndex;
199
- if (index > 0) {
200
- normalizedIndex = index - 1;
201
- }
202
- else if (!options.suppressRoll) {
203
- normalizedIndex = this.panels.length - 1;
204
- }
205
- else {
206
- return;
207
- }
208
- this.openPanel(this.panels[normalizedIndex]);
209
- }
210
- containsPanel(panel) {
211
- return this.panels.includes(panel);
212
- }
213
- init(_params) {
214
- //noop
215
- }
216
- update(_params) {
217
- //noop
218
- }
219
- focus() {
220
- var _a;
221
- (_a = this._activePanel) === null || _a === void 0 ? void 0 : _a.focus();
222
- }
223
- openPanel(panel, options = {}) {
224
- if (typeof options.index !== 'number' ||
225
- options.index > this.panels.length) {
226
- options.index = this.panels.length;
227
- }
228
- const skipSetPanelActive = !!options.skipSetPanelActive;
229
- const skipSetGroupActive = !!options.skipSetGroupActive;
230
- // ensure the group is updated before we fire any events
231
- panel.updateParentGroup(this.groupPanel, true);
232
- if (this._activePanel === panel) {
233
- if (!skipSetGroupActive) {
234
- this.accessor.doSetGroupActive(this.groupPanel);
235
- }
236
- return;
237
- }
238
- this.doAddPanel(panel, options.index, skipSetPanelActive);
239
- if (!skipSetPanelActive) {
240
- this.doSetActivePanel(panel);
241
- }
242
- if (!skipSetGroupActive) {
243
- this.accessor.doSetGroupActive(this.groupPanel, !!options.skipFocus);
244
- }
245
- this.updateContainer();
246
- }
247
- removePanel(groupItemOrId) {
248
- const id = typeof groupItemOrId === 'string'
249
- ? groupItemOrId
250
- : groupItemOrId.id;
251
- const panelToRemove = this._panels.find((panel) => panel.id === id);
252
- if (!panelToRemove) {
253
- throw new Error('invalid operation');
254
- }
255
- return this._removePanel(panelToRemove);
256
- }
257
- closeAllPanels() {
258
- if (this.panels.length > 0) {
259
- // take a copy since we will be edting the array as we iterate through
260
- const arrPanelCpy = [...this.panels];
261
- for (const panel of arrPanelCpy) {
262
- this.doClose(panel);
263
- }
264
- }
265
- else {
266
- this.accessor.removeGroup(this.groupPanel);
267
- }
268
- }
269
- closePanel(panel) {
270
- this.doClose(panel);
271
- }
272
- doClose(panel) {
273
- this.accessor.removePanel(panel);
274
- }
275
- isPanelActive(panel) {
276
- return this._activePanel === panel;
277
- }
278
- updateActions(element) {
279
- this.tabsContainer.setActionElement(element);
280
- }
281
- setActive(isGroupActive, skipFocus = false, force = false) {
282
- var _a, _b;
283
- if (!force && this.isActive === isGroupActive) {
284
- if (!skipFocus) {
285
- (_a = this._activePanel) === null || _a === void 0 ? void 0 : _a.focus();
286
- }
287
- return;
288
- }
289
- this._isGroupActive = isGroupActive;
290
- toggleClass(this.container, 'active-group', isGroupActive);
291
- toggleClass(this.container, 'inactive-group', !isGroupActive);
292
- this.tabsContainer.setActive(this.isActive);
293
- if (!this._activePanel && this.panels.length > 0) {
294
- this.doSetActivePanel(this.panels[0]);
295
- }
296
- this.updateContainer();
297
- if (isGroupActive) {
298
- if (!skipFocus) {
299
- (_b = this._activePanel) === null || _b === void 0 ? void 0 : _b.focus();
300
- }
301
- }
302
- }
303
- layout(width, height) {
304
- var _a;
305
- this._width = width;
306
- this._height = height;
307
- this.contentContainer.layout(this._width, this._height);
308
- if ((_a = this._activePanel) === null || _a === void 0 ? void 0 : _a.layout) {
309
- this._activePanel.layout(this._width, this._height);
310
- }
311
- }
312
- _removePanel(panel) {
313
- const isActivePanel = this._activePanel === panel;
314
- this.doRemovePanel(panel);
315
- if (isActivePanel && this.panels.length > 0) {
316
- const nextPanel = this.mostRecentlyUsed[0];
317
- this.openPanel(nextPanel);
318
- }
319
- if (this._activePanel && this.panels.length === 0) {
320
- this.doSetActivePanel(undefined);
321
- }
322
- this.updateContainer();
323
- return panel;
324
- }
325
- doRemovePanel(panel) {
326
- const index = this.panels.indexOf(panel);
327
- if (this._activePanel === panel) {
328
- this.contentContainer.closePanel();
329
- }
330
- this.tabsContainer.delete(panel.id);
331
- this._panels.splice(index, 1);
332
- if (this.mostRecentlyUsed.includes(panel)) {
333
- this.mostRecentlyUsed.splice(this.mostRecentlyUsed.indexOf(panel), 1);
334
- }
335
- this._onDidRemovePanel.fire({ panel });
336
- }
337
- doAddPanel(panel, index = this.panels.length, skipSetActive = false) {
338
- const existingPanel = this._panels.indexOf(panel);
339
- const hasExistingPanel = existingPanel > -1;
340
- this.tabsContainer.openPanel(panel, index);
341
- if (!skipSetActive) {
342
- this.contentContainer.openPanel(panel);
343
- }
344
- this.tabsContainer.show();
345
- this.contentContainer.show();
346
- if (hasExistingPanel) {
347
- // TODO - need to ensure ordering hasn't changed and if it has need to re-order this.panels
348
- return;
349
- }
350
- this.updateMru(panel);
351
- this.panels.splice(index, 0, panel);
352
- this._onDidAddPanel.fire({ panel });
353
- }
354
- doSetActivePanel(panel) {
355
- this._activePanel = panel;
356
- if (panel) {
357
- this.tabsContainer.setActivePanel(panel);
358
- panel.layout(this._width, this._height);
359
- this.updateMru(panel);
360
- this._onDidActivePanelChange.fire({ panel });
361
- }
362
- }
363
- updateMru(panel) {
364
- if (this.mostRecentlyUsed.includes(panel)) {
365
- this.mostRecentlyUsed.splice(this.mostRecentlyUsed.indexOf(panel), 1);
366
- }
367
- this.mostRecentlyUsed = [panel, ...this.mostRecentlyUsed];
368
- }
369
- updateContainer() {
370
- toggleClass(this.container, 'empty', this.isEmpty);
371
- this.panels.forEach((panel) => panel.updateParentGroup(this.groupPanel, this.isActive));
372
- if (this.isEmpty && !this.watermark) {
373
- const watermark = this.accessor.createWatermarkComponent();
374
- watermark.init({
375
- containerApi: new DockviewApi(this.accessor),
376
- params: {},
377
- title: '',
378
- api: null,
379
- });
380
- this.watermark = watermark;
381
- addDisposableListener(this.watermark.element, 'click', () => {
382
- if (!this.isActive) {
383
- this.accessor.doSetGroupActive(this.groupPanel);
384
- }
385
- });
386
- this.tabsContainer.hide();
387
- this.contentContainer.element.appendChild(this.watermark.element);
388
- this.watermark.updateParentGroup(this.groupPanel, true);
389
- }
390
- if (!this.isEmpty && this.watermark) {
391
- this.watermark.element.remove();
392
- this.watermark.dispose();
393
- this.watermark = undefined;
394
- this.tabsContainer.show();
395
- }
396
- }
397
- canDisplayOverlay(event, position, target) {
398
- // custom overlay handler
399
- if (this.accessor.options.showDndOverlay) {
400
- return this.accessor.options.showDndOverlay({
401
- nativeEvent: event,
402
- target,
403
- group: this.accessor.getPanel(this.id),
404
- position,
405
- getData: getPanelData,
406
- });
407
- }
408
- return false;
409
- }
410
- handleDropEvent(event, position, index) {
411
- const data = getPanelData();
412
- if (data && data.viewId === this.accessor.id) {
413
- if (data.panelId === null) {
414
- // this is a group move dnd event
415
- const { groupId } = data;
416
- this._onMove.fire({
417
- target: position,
418
- groupId: groupId,
419
- index,
420
- });
421
- return;
422
- }
423
- const fromSameGroup = this.tabsContainer.indexOf(data.panelId) !== -1;
424
- if (fromSameGroup && this.tabsContainer.size === 1) {
425
- return;
426
- }
427
- const { groupId, panelId } = data;
428
- const isSameGroup = this.id === groupId;
429
- if (isSameGroup && !position) {
430
- const oldIndex = this.tabsContainer.indexOf(panelId);
431
- if (oldIndex === index) {
432
- return;
433
- }
434
- }
435
- this._onMove.fire({
436
- target: position,
437
- groupId: data.groupId,
438
- itemId: data.panelId,
439
- index,
440
- });
441
- }
442
- else {
443
- this._onDidDrop.fire({
444
- nativeEvent: event,
445
- position,
446
- index,
447
- getData: () => getPanelData(),
448
- });
449
- }
450
- }
451
- dispose() {
452
- var _a;
453
- super.dispose();
454
- (_a = this.watermark) === null || _a === void 0 ? void 0 : _a.dispose();
455
- for (const panel of this.panels) {
456
- panel.dispose();
457
- }
458
- this.dropTarget.dispose();
459
- this.tabsContainer.dispose();
460
- this.contentContainer.dispose();
461
- }
462
- }
@@ -1,35 +0,0 @@
1
- import { IFrameworkPart } from '../panel/types';
2
- import { DockviewComponent } from '../dockview/dockviewComponent';
3
- import { GridviewPanelApi } from '../api/gridviewPanelApi';
4
- import { Groupview, GroupOptions, IHeader } from './groupview';
5
- import { GridviewPanel, IGridviewPanel } from '../gridview/gridviewPanel';
6
- import { IDockviewPanel } from '../dockview/dockviewPanel';
7
- export interface IGroupviewPanel extends IGridviewPanel {
8
- model: Groupview;
9
- locked: boolean;
10
- readonly size: number;
11
- readonly panels: IDockviewPanel[];
12
- readonly activePanel: IDockviewPanel | undefined;
13
- }
14
- export type IGroupviewPanelPublic = IGroupviewPanel;
15
- export type GroupviewPanelApi = GridviewPanelApi;
16
- export declare class GroupPanel extends GridviewPanel implements IGroupviewPanel {
17
- private readonly _model;
18
- get panels(): IDockviewPanel[];
19
- get activePanel(): IDockviewPanel | undefined;
20
- get size(): number;
21
- get model(): Groupview;
22
- get minimumHeight(): number;
23
- get maximumHeight(): number;
24
- get minimumWidth(): number;
25
- get maximumWidth(): number;
26
- get locked(): boolean;
27
- set locked(value: boolean);
28
- get header(): IHeader;
29
- constructor(accessor: DockviewComponent, id: string, options: GroupOptions);
30
- initialize(): void;
31
- setActive(isActive: boolean): void;
32
- layout(width: number, height: number): void;
33
- getComponent(): IFrameworkPart;
34
- toJSON(): any;
35
- }