dockview 0.0.28 → 1.0.2

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 (355) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +60 -0
  3. package/dist/cjs/actionbar/actionsContainer.d.ts +7 -7
  4. package/dist/cjs/actionbar/actionsContainer.js +26 -26
  5. package/dist/cjs/api/component.api.d.ts +135 -131
  6. package/dist/cjs/api/component.api.js +486 -444
  7. package/dist/cjs/api/component.api.js.map +1 -1
  8. package/dist/cjs/api/gridviewPanelApi.d.ts +36 -36
  9. package/dist/cjs/api/gridviewPanelApi.js +46 -46
  10. package/dist/cjs/api/groupPanelApi.d.ts +44 -44
  11. package/dist/cjs/api/groupPanelApi.js +94 -94
  12. package/dist/cjs/api/groupPanelApi.js.map +1 -1
  13. package/dist/cjs/api/panelApi.d.ts +107 -107
  14. package/dist/cjs/api/panelApi.js +140 -140
  15. package/dist/cjs/api/paneviewPanelApi.d.ts +26 -26
  16. package/dist/cjs/api/paneviewPanelApi.js +56 -56
  17. package/dist/cjs/api/splitviewPanelApi.d.ts +33 -33
  18. package/dist/cjs/api/splitviewPanelApi.js +51 -51
  19. package/dist/cjs/array.d.ts +13 -13
  20. package/dist/cjs/array.js +77 -77
  21. package/dist/cjs/dnd/abstractDragHandler.d.ts +11 -11
  22. package/dist/cjs/dnd/abstractDragHandler.js +115 -115
  23. package/dist/cjs/dnd/dataTransfer.d.ts +56 -56
  24. package/dist/cjs/dnd/dataTransfer.js +144 -144
  25. package/dist/cjs/dnd/dataTransfer.js.map +1 -1
  26. package/dist/cjs/dnd/dnd.d.ts +40 -40
  27. package/dist/cjs/dnd/dnd.js +142 -142
  28. package/dist/cjs/dnd/droptarget.d.ts +33 -37
  29. package/dist/cjs/dnd/droptarget.js +177 -177
  30. package/dist/cjs/dnd/droptarget.js.map +1 -1
  31. package/dist/cjs/dockview/components/tab/defaultTab.d.ts +44 -44
  32. package/dist/cjs/dockview/components/tab/defaultTab.js +186 -186
  33. package/dist/cjs/dockview/components/watermark/watermark.d.ts +20 -20
  34. package/dist/cjs/dockview/components/watermark/watermark.js +99 -99
  35. package/dist/cjs/dockview/defaultGroupPanelView.d.ts +34 -34
  36. package/dist/cjs/dockview/defaultGroupPanelView.js +85 -83
  37. package/dist/cjs/dockview/defaultGroupPanelView.js.map +1 -1
  38. package/dist/cjs/dockview/deserializer.d.ts +14 -14
  39. package/dist/cjs/dockview/deserializer.js +47 -47
  40. package/dist/cjs/dockview/dockviewComponent.d.ts +121 -121
  41. package/dist/cjs/dockview/dockviewComponent.js +692 -692
  42. package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
  43. package/dist/cjs/dockview/dockviewGroupPanel.d.ts +35 -35
  44. package/dist/cjs/dockview/dockviewGroupPanel.js +195 -195
  45. package/dist/cjs/dockview/options.d.ts +79 -79
  46. package/dist/cjs/dockview/options.js +2 -2
  47. package/dist/cjs/dom.d.ts +14 -14
  48. package/dist/cjs/dom.js +182 -182
  49. package/dist/cjs/events.d.ts +30 -23
  50. package/dist/cjs/events.js +108 -87
  51. package/dist/cjs/events.js.map +1 -1
  52. package/dist/cjs/functions.d.ts +1 -1
  53. package/dist/cjs/functions.js +41 -41
  54. package/dist/cjs/gridview/baseComponentGridview.d.ts +98 -98
  55. package/dist/cjs/gridview/baseComponentGridview.js +285 -292
  56. package/dist/cjs/gridview/baseComponentGridview.js.map +1 -1
  57. package/dist/cjs/gridview/basePanelView.d.ts +46 -46
  58. package/dist/cjs/gridview/basePanelView.js +115 -115
  59. package/dist/cjs/gridview/branchNode.d.ts +46 -46
  60. package/dist/cjs/gridview/branchNode.js +342 -342
  61. package/dist/cjs/gridview/gridview.d.ts +123 -123
  62. package/dist/cjs/gridview/gridview.js +476 -477
  63. package/dist/cjs/gridview/gridview.js.map +1 -1
  64. package/dist/cjs/gridview/gridviewComponent.d.ts +88 -88
  65. package/dist/cjs/gridview/gridviewComponent.js +303 -303
  66. package/dist/cjs/gridview/gridviewComponent.js.map +1 -1
  67. package/dist/cjs/gridview/gridviewPanel.d.ts +62 -62
  68. package/dist/cjs/gridview/gridviewPanel.js +205 -205
  69. package/dist/cjs/gridview/leafNode.d.ts +31 -31
  70. package/dist/cjs/gridview/leafNode.js +164 -164
  71. package/dist/cjs/gridview/options.d.ts +18 -18
  72. package/dist/cjs/gridview/options.js +2 -2
  73. package/dist/cjs/gridview/types.d.ts +3 -3
  74. package/dist/cjs/gridview/types.js +2 -2
  75. package/dist/cjs/groupview/dnd.d.ts +5 -5
  76. package/dist/cjs/groupview/dnd.js +9 -9
  77. package/dist/cjs/groupview/groupPanel.d.ts +41 -41
  78. package/dist/cjs/groupview/groupPanel.js +2 -2
  79. package/dist/cjs/groupview/groupview.d.ts +154 -154
  80. package/dist/cjs/groupview/groupview.js +633 -633
  81. package/dist/cjs/groupview/groupview.js.map +1 -1
  82. package/dist/cjs/groupview/groupviewPanel.d.ts +18 -18
  83. package/dist/cjs/groupview/groupviewPanel.js +83 -83
  84. package/dist/cjs/groupview/panel/content.d.ts +30 -30
  85. package/dist/cjs/groupview/panel/content.js +99 -99
  86. package/dist/cjs/groupview/panel/hostedPanel.d.ts +22 -22
  87. package/dist/cjs/groupview/panel/hostedPanel.js +56 -56
  88. package/dist/cjs/groupview/panel/hostedPanel.js.map +1 -1
  89. package/dist/cjs/groupview/tab.d.ts +44 -44
  90. package/dist/cjs/groupview/tab.js +182 -182
  91. package/dist/cjs/groupview/titlebar/tabsContainer.d.ts +66 -66
  92. package/dist/cjs/groupview/titlebar/tabsContainer.js +260 -260
  93. package/dist/cjs/groupview/titlebar/tabsContainer.js.map +1 -1
  94. package/dist/cjs/groupview/types.d.ts +59 -59
  95. package/dist/cjs/groupview/types.js +2 -2
  96. package/dist/cjs/hostedContainer.d.ts +23 -23
  97. package/dist/cjs/hostedContainer.js +73 -73
  98. package/dist/cjs/hostedContainer.js.map +1 -1
  99. package/dist/cjs/index.d.ts +28 -26
  100. package/dist/cjs/index.js +37 -35
  101. package/dist/cjs/index.js.map +1 -1
  102. package/dist/cjs/json.d.ts +1 -1
  103. package/dist/cjs/json.js +13 -13
  104. package/dist/cjs/lifecycle.d.ts +22 -22
  105. package/dist/cjs/lifecycle.js +87 -87
  106. package/dist/cjs/math.d.ts +4 -4
  107. package/dist/cjs/math.js +15 -15
  108. package/dist/cjs/math.js.map +1 -1
  109. package/dist/cjs/panel/componentFactory.d.ts +8 -8
  110. package/dist/cjs/panel/componentFactory.js +30 -30
  111. package/dist/cjs/panel/componentFactory.js.map +1 -1
  112. package/dist/cjs/panel/types.d.ts +34 -34
  113. package/dist/cjs/panel/types.js +2 -2
  114. package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +18 -18
  115. package/dist/cjs/paneview/defaultPaneviewHeader.js +64 -64
  116. package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +17 -17
  117. package/dist/cjs/paneview/draggablePaneviewPanel.js +111 -111
  118. package/dist/cjs/paneview/options.d.ts +25 -25
  119. package/dist/cjs/paneview/options.js +2 -2
  120. package/dist/cjs/paneview/paneview.d.ts +38 -38
  121. package/dist/cjs/paneview/paneview.js +195 -198
  122. package/dist/cjs/paneview/paneview.js.map +1 -1
  123. package/dist/cjs/paneview/paneviewComponent.d.ts +115 -113
  124. package/dist/cjs/paneview/paneviewComponent.js +338 -338
  125. package/dist/cjs/paneview/paneviewComponent.js.map +1 -1
  126. package/dist/cjs/paneview/paneviewPanel.d.ts +85 -85
  127. package/dist/cjs/paneview/paneviewPanel.js +262 -262
  128. package/dist/cjs/paneview/paneviewPanel.js.map +1 -1
  129. package/dist/cjs/react/deserializer.d.ts +8 -8
  130. package/dist/cjs/react/deserializer.js +39 -39
  131. package/dist/cjs/react/dockview/components.d.ts +11 -11
  132. package/dist/cjs/react/dockview/components.js +76 -76
  133. package/dist/cjs/react/dockview/dockview.d.ts +34 -34
  134. package/dist/cjs/react/dockview/dockview.js +151 -135
  135. package/dist/cjs/react/dockview/dockview.js.map +1 -1
  136. package/dist/cjs/react/dockview/reactContentPart.d.ts +47 -47
  137. package/dist/cjs/react/dockview/reactContentPart.js +88 -88
  138. package/dist/cjs/react/dockview/reactHeaderPart.d.ts +24 -24
  139. package/dist/cjs/react/dockview/reactHeaderPart.js +50 -50
  140. package/dist/cjs/react/dockview/reactWatermarkPart.d.ts +30 -30
  141. package/dist/cjs/react/dockview/reactWatermarkPart.js +66 -66
  142. package/dist/cjs/react/dockview/v2/reactContentRenderer.d.ts +30 -30
  143. package/dist/cjs/react/dockview/v2/reactContentRenderer.js +90 -90
  144. package/dist/cjs/react/dockview/v2/reactGroupPanelView.d.ts +7 -7
  145. package/dist/cjs/react/dockview/v2/reactGroupPanelView.js +34 -34
  146. package/dist/cjs/react/dockview/v2/webviewContentRenderer.d.ts +18 -18
  147. package/dist/cjs/react/dockview/v2/webviewContentRenderer.js +45 -45
  148. package/dist/cjs/react/gridview/gridview.d.ts +24 -24
  149. package/dist/cjs/react/gridview/gridview.js +104 -96
  150. package/dist/cjs/react/gridview/gridview.js.map +1 -1
  151. package/dist/cjs/react/gridview/view.d.ts +10 -10
  152. package/dist/cjs/react/gridview/view.js +40 -40
  153. package/dist/cjs/react/index.d.ts +9 -9
  154. package/dist/cjs/react/index.js +21 -21
  155. package/dist/cjs/react/paneview/paneview.d.ts +28 -28
  156. package/dist/cjs/react/paneview/paneview.js +142 -138
  157. package/dist/cjs/react/paneview/paneview.js.map +1 -1
  158. package/dist/cjs/react/paneview/view.d.ts +20 -20
  159. package/dist/cjs/react/paneview/view.js +44 -44
  160. package/dist/cjs/react/react.d.ts +35 -35
  161. package/dist/cjs/react/react.js +181 -181
  162. package/dist/cjs/react/react.js.map +1 -1
  163. package/dist/cjs/react/splitview/splitview.d.ts +24 -24
  164. package/dist/cjs/react/splitview/splitview.js +101 -93
  165. package/dist/cjs/react/splitview/splitview.js.map +1 -1
  166. package/dist/cjs/react/splitview/view.d.ts +10 -10
  167. package/dist/cjs/react/splitview/view.js +40 -40
  168. package/dist/cjs/react/types.d.ts +7 -7
  169. package/dist/cjs/react/types.js +2 -2
  170. package/dist/cjs/splitview/core/options.d.ts +26 -26
  171. package/dist/cjs/splitview/core/options.js +2 -2
  172. package/dist/cjs/splitview/core/splitview.d.ts +124 -124
  173. package/dist/cjs/splitview/core/splitview.js +908 -908
  174. package/dist/cjs/splitview/core/splitview.js.map +1 -1
  175. package/dist/cjs/splitview/core/viewItem.d.ts +25 -25
  176. package/dist/cjs/splitview/core/viewItem.js +124 -124
  177. package/dist/cjs/splitview/splitviewComponent.d.ts +100 -100
  178. package/dist/cjs/splitview/splitviewComponent.js +327 -327
  179. package/dist/cjs/splitview/splitviewComponent.js.map +1 -1
  180. package/dist/cjs/splitview/splitviewPanel.d.ts +47 -47
  181. package/dist/cjs/splitview/splitviewPanel.js +178 -178
  182. package/dist/cjs/types.d.ts +7 -7
  183. package/dist/cjs/types.js +2 -2
  184. package/dist/dockview.amd.js +6759 -6712
  185. package/dist/dockview.amd.min.js +3 -3
  186. package/dist/dockview.amd.min.noStyle.js +3 -3
  187. package/dist/dockview.amd.noStyle.js +6752 -6705
  188. package/dist/dockview.cjs.js +6755 -6708
  189. package/dist/dockview.esm.js +6750 -6707
  190. package/dist/dockview.esm.min.js +3 -3
  191. package/dist/dockview.js +6759 -6712
  192. package/dist/dockview.min.js +3 -3
  193. package/dist/dockview.min.noStyle.js +3 -3
  194. package/dist/dockview.noStyle.js +6752 -6705
  195. package/dist/esm/actionbar/actionsContainer.d.ts +7 -7
  196. package/dist/esm/actionbar/actionsContainer.js +17 -17
  197. package/dist/esm/api/component.api.d.ts +135 -131
  198. package/dist/esm/api/component.api.js +305 -287
  199. package/dist/esm/api/gridviewPanelApi.d.ts +36 -36
  200. package/dist/esm/api/gridviewPanelApi.js +24 -24
  201. package/dist/esm/api/groupPanelApi.d.ts +44 -44
  202. package/dist/esm/api/groupPanelApi.js +52 -52
  203. package/dist/esm/api/panelApi.d.ts +107 -107
  204. package/dist/esm/api/panelApi.js +98 -98
  205. package/dist/esm/api/paneviewPanelApi.d.ts +26 -26
  206. package/dist/esm/api/paneviewPanelApi.js +26 -26
  207. package/dist/esm/api/splitviewPanelApi.d.ts +33 -33
  208. package/dist/esm/api/splitviewPanelApi.js +29 -29
  209. package/dist/esm/array.d.ts +13 -13
  210. package/dist/esm/array.js +67 -67
  211. package/dist/esm/dnd/abstractDragHandler.d.ts +11 -11
  212. package/dist/esm/dnd/abstractDragHandler.js +37 -37
  213. package/dist/esm/dnd/dataTransfer.d.ts +56 -56
  214. package/dist/esm/dnd/dataTransfer.js +109 -109
  215. package/dist/esm/dnd/dnd.d.ts +40 -40
  216. package/dist/esm/dnd/dnd.js +109 -109
  217. package/dist/esm/dnd/droptarget.d.ts +33 -37
  218. package/dist/esm/dnd/droptarget.js +143 -143
  219. package/dist/esm/dockview/components/tab/defaultTab.d.ts +44 -44
  220. package/dist/esm/dockview/components/tab/defaultTab.js +130 -130
  221. package/dist/esm/dockview/components/watermark/watermark.d.ts +20 -20
  222. package/dist/esm/dockview/components/watermark/watermark.js +68 -68
  223. package/dist/esm/dockview/defaultGroupPanelView.d.ts +34 -34
  224. package/dist/esm/dockview/defaultGroupPanelView.js +57 -55
  225. package/dist/esm/dockview/deserializer.d.ts +14 -14
  226. package/dist/esm/dockview/deserializer.js +20 -20
  227. package/dist/esm/dockview/dockviewComponent.d.ts +121 -121
  228. package/dist/esm/dockview/dockviewComponent.js +533 -533
  229. package/dist/esm/dockview/dockviewGroupPanel.d.ts +35 -35
  230. package/dist/esm/dockview/dockviewGroupPanel.js +145 -145
  231. package/dist/esm/dockview/options.d.ts +79 -79
  232. package/dist/esm/dockview/options.js +1 -1
  233. package/dist/esm/dom.d.ts +14 -14
  234. package/dist/esm/dom.js +113 -113
  235. package/dist/esm/events.d.ts +30 -23
  236. package/dist/esm/events.js +89 -71
  237. package/dist/esm/functions.d.ts +1 -1
  238. package/dist/esm/functions.js +8 -8
  239. package/dist/esm/gridview/baseComponentGridview.d.ts +98 -98
  240. package/dist/esm/gridview/baseComponentGridview.js +217 -224
  241. package/dist/esm/gridview/basePanelView.d.ts +46 -46
  242. package/dist/esm/gridview/basePanelView.js +70 -70
  243. package/dist/esm/gridview/branchNode.d.ts +46 -46
  244. package/dist/esm/gridview/branchNode.js +218 -218
  245. package/dist/esm/gridview/gridview.d.ts +123 -123
  246. package/dist/esm/gridview/gridview.js +395 -396
  247. package/dist/esm/gridview/gridviewComponent.d.ts +88 -88
  248. package/dist/esm/gridview/gridviewComponent.js +238 -238
  249. package/dist/esm/gridview/gridviewPanel.d.ts +62 -62
  250. package/dist/esm/gridview/gridviewPanel.js +141 -141
  251. package/dist/esm/gridview/leafNode.d.ts +31 -31
  252. package/dist/esm/gridview/leafNode.js +97 -97
  253. package/dist/esm/gridview/options.d.ts +18 -18
  254. package/dist/esm/gridview/options.js +1 -1
  255. package/dist/esm/gridview/types.d.ts +3 -3
  256. package/dist/esm/gridview/types.js +1 -1
  257. package/dist/esm/groupview/dnd.d.ts +5 -5
  258. package/dist/esm/groupview/dnd.js +6 -6
  259. package/dist/esm/groupview/groupPanel.d.ts +41 -41
  260. package/dist/esm/groupview/groupPanel.js +1 -1
  261. package/dist/esm/groupview/groupview.d.ts +154 -154
  262. package/dist/esm/groupview/groupview.js +448 -448
  263. package/dist/esm/groupview/groupviewPanel.d.ts +18 -18
  264. package/dist/esm/groupview/groupviewPanel.js +41 -41
  265. package/dist/esm/groupview/panel/content.d.ts +30 -30
  266. package/dist/esm/groupview/panel/content.js +72 -72
  267. package/dist/esm/groupview/panel/hostedPanel.d.ts +22 -22
  268. package/dist/esm/groupview/panel/hostedPanel.js +43 -43
  269. package/dist/esm/groupview/tab.d.ts +44 -44
  270. package/dist/esm/groupview/tab.js +101 -101
  271. package/dist/esm/groupview/titlebar/tabsContainer.d.ts +66 -66
  272. package/dist/esm/groupview/titlebar/tabsContainer.js +185 -185
  273. package/dist/esm/groupview/types.d.ts +59 -59
  274. package/dist/esm/groupview/types.js +1 -1
  275. package/dist/esm/hostedContainer.d.ts +23 -23
  276. package/dist/esm/hostedContainer.js +63 -63
  277. package/dist/esm/index.d.ts +28 -26
  278. package/dist/esm/index.js +23 -21
  279. package/dist/esm/json.d.ts +1 -1
  280. package/dist/esm/json.js +9 -9
  281. package/dist/esm/lifecycle.d.ts +22 -22
  282. package/dist/esm/lifecycle.js +38 -38
  283. package/dist/esm/math.d.ts +4 -4
  284. package/dist/esm/math.js +10 -10
  285. package/dist/esm/panel/componentFactory.d.ts +8 -8
  286. package/dist/esm/panel/componentFactory.js +24 -24
  287. package/dist/esm/panel/types.d.ts +34 -34
  288. package/dist/esm/panel/types.js +1 -1
  289. package/dist/esm/paneview/defaultPaneviewHeader.d.ts +18 -18
  290. package/dist/esm/paneview/defaultPaneviewHeader.js +37 -37
  291. package/dist/esm/paneview/draggablePaneviewPanel.d.ts +17 -17
  292. package/dist/esm/paneview/draggablePaneviewPanel.js +72 -72
  293. package/dist/esm/paneview/options.d.ts +25 -25
  294. package/dist/esm/paneview/options.js +1 -1
  295. package/dist/esm/paneview/paneview.d.ts +38 -38
  296. package/dist/esm/paneview/paneview.js +141 -144
  297. package/dist/esm/paneview/paneviewComponent.d.ts +115 -113
  298. package/dist/esm/paneview/paneviewComponent.js +247 -247
  299. package/dist/esm/paneview/paneviewPanel.d.ts +85 -85
  300. package/dist/esm/paneview/paneviewPanel.js +183 -183
  301. package/dist/esm/react/deserializer.d.ts +8 -8
  302. package/dist/esm/react/deserializer.js +34 -34
  303. package/dist/esm/react/dockview/components.d.ts +11 -11
  304. package/dist/esm/react/dockview/components.js +54 -54
  305. package/dist/esm/react/dockview/dockview.d.ts +34 -34
  306. package/dist/esm/react/dockview/dockview.js +113 -97
  307. package/dist/esm/react/dockview/reactContentPart.d.ts +47 -47
  308. package/dist/esm/react/dockview/reactContentPart.js +75 -75
  309. package/dist/esm/react/dockview/reactHeaderPart.d.ts +24 -24
  310. package/dist/esm/react/dockview/reactHeaderPart.js +41 -41
  311. package/dist/esm/react/dockview/reactWatermarkPart.d.ts +30 -30
  312. package/dist/esm/react/dockview/reactWatermarkPart.js +56 -56
  313. package/dist/esm/react/dockview/v2/reactContentRenderer.d.ts +30 -30
  314. package/dist/esm/react/dockview/v2/reactContentRenderer.js +72 -72
  315. package/dist/esm/react/dockview/v2/reactGroupPanelView.d.ts +7 -7
  316. package/dist/esm/react/dockview/v2/reactGroupPanelView.js +12 -12
  317. package/dist/esm/react/dockview/v2/webviewContentRenderer.d.ts +18 -18
  318. package/dist/esm/react/dockview/v2/webviewContentRenderer.js +36 -36
  319. package/dist/esm/react/gridview/gridview.d.ts +24 -24
  320. package/dist/esm/react/gridview/gridview.js +66 -58
  321. package/dist/esm/react/gridview/view.d.ts +10 -10
  322. package/dist/esm/react/gridview/view.js +18 -18
  323. package/dist/esm/react/index.d.ts +9 -9
  324. package/dist/esm/react/index.js +9 -9
  325. package/dist/esm/react/paneview/paneview.d.ts +28 -28
  326. package/dist/esm/react/paneview/paneview.js +91 -87
  327. package/dist/esm/react/paneview/view.d.ts +20 -20
  328. package/dist/esm/react/paneview/view.js +35 -35
  329. package/dist/esm/react/react.d.ts +35 -35
  330. package/dist/esm/react/react.js +116 -116
  331. package/dist/esm/react/splitview/splitview.d.ts +24 -24
  332. package/dist/esm/react/splitview/splitview.js +63 -55
  333. package/dist/esm/react/splitview/view.d.ts +10 -10
  334. package/dist/esm/react/splitview/view.js +18 -18
  335. package/dist/esm/react/types.d.ts +7 -7
  336. package/dist/esm/react/types.js +1 -1
  337. package/dist/esm/splitview/core/options.d.ts +26 -26
  338. package/dist/esm/splitview/core/options.js +1 -1
  339. package/dist/esm/splitview/core/splitview.d.ts +124 -124
  340. package/dist/esm/splitview/core/splitview.js +689 -689
  341. package/dist/esm/splitview/core/viewItem.d.ts +25 -25
  342. package/dist/esm/splitview/core/viewItem.js +79 -79
  343. package/dist/esm/splitview/splitviewComponent.d.ts +100 -100
  344. package/dist/esm/splitview/splitviewComponent.js +241 -241
  345. package/dist/esm/splitview/splitviewPanel.d.ts +47 -47
  346. package/dist/esm/splitview/splitviewPanel.js +107 -107
  347. package/dist/esm/types.d.ts +7 -7
  348. package/dist/esm/types.js +1 -1
  349. package/dist/styles/dockview.css +45 -45
  350. package/package.json +75 -75
  351. package/dist/cjs/footnote.d.ts +0 -1
  352. package/dist/cjs/footnote.js +0 -20
  353. package/dist/cjs/footnote.js.map +0 -1
  354. package/dist/esm/footnote.d.ts +0 -1
  355. package/dist/esm/footnote.js +0 -19
@@ -1,66 +1,66 @@
1
- import { IDisposable, CompositeDisposable } from '../../lifecycle';
2
- import { Event } from '../../events';
3
- import { ITab } from '../tab';
4
- import { IGroupPanel } from '../groupPanel';
5
- import { IDockviewComponent } from '../../dockview/dockviewComponent';
6
- import { GroupviewPanel } from '../groupviewPanel';
7
- export interface TabDropIndexEvent {
8
- event: DragEvent;
9
- readonly index: number;
10
- }
11
- export interface ITabsContainer extends IDisposable {
12
- readonly element: HTMLElement;
13
- readonly panels: string[];
14
- readonly size: number;
15
- height: number | undefined;
16
- delete: (id: string) => void;
17
- indexOf: (id: string) => number;
18
- at: (index: number) => ITab;
19
- onDrop: Event<TabDropIndexEvent>;
20
- setActive: (isGroupActive: boolean) => void;
21
- setActivePanel: (panel: IGroupPanel) => void;
22
- isActive: (tab: ITab) => boolean;
23
- closePanel: (panel: IGroupPanel) => void;
24
- openPanel: (panel: IGroupPanel, index?: number) => void;
25
- setActionElement(element: HTMLElement | undefined): void;
26
- show(): void;
27
- hide(): void;
28
- }
29
- export declare class TabsContainer extends CompositeDisposable implements ITabsContainer {
30
- private accessor;
31
- private group;
32
- private readonly _element;
33
- private readonly tabContainer;
34
- private readonly voidContainer;
35
- private readonly actionContainer;
36
- private readonly voidDropTarget;
37
- private tabs;
38
- private selectedIndex;
39
- private active;
40
- private activePanel;
41
- private actions;
42
- private _height;
43
- private readonly _onDrop;
44
- readonly onDrop: Event<TabDropIndexEvent>;
45
- get panels(): string[];
46
- get size(): number;
47
- get height(): number | undefined;
48
- set height(value: number | undefined);
49
- show(): void;
50
- hide(): void;
51
- setActionElement(element: HTMLElement | undefined): void;
52
- get element(): HTMLElement;
53
- isActive(tab: ITab): boolean;
54
- at(index: number): ITab;
55
- indexOf(id: string): number;
56
- constructor(accessor: IDockviewComponent, group: GroupviewPanel, options: {
57
- tabHeight?: number;
58
- });
59
- setActive(isGroupActive: boolean): void;
60
- private addTab;
61
- delete(id: string): void;
62
- setActivePanel(panel: IGroupPanel): void;
63
- openPanel(panel: IGroupPanel, index?: number): void;
64
- closePanel(panel: IGroupPanel): void;
65
- dispose(): void;
66
- }
1
+ import { IDisposable, CompositeDisposable } from '../../lifecycle';
2
+ import { Event } from '../../events';
3
+ import { ITab } from '../tab';
4
+ import { IGroupPanel } from '../groupPanel';
5
+ import { IDockviewComponent } from '../../dockview/dockviewComponent';
6
+ import { GroupviewPanel } from '../groupviewPanel';
7
+ export interface TabDropIndexEvent {
8
+ event: DragEvent;
9
+ readonly index: number;
10
+ }
11
+ export interface ITabsContainer extends IDisposable {
12
+ readonly element: HTMLElement;
13
+ readonly panels: string[];
14
+ readonly size: number;
15
+ height: number | undefined;
16
+ delete: (id: string) => void;
17
+ indexOf: (id: string) => number;
18
+ at: (index: number) => ITab;
19
+ onDrop: Event<TabDropIndexEvent>;
20
+ setActive: (isGroupActive: boolean) => void;
21
+ setActivePanel: (panel: IGroupPanel) => void;
22
+ isActive: (tab: ITab) => boolean;
23
+ closePanel: (panel: IGroupPanel) => void;
24
+ openPanel: (panel: IGroupPanel, index?: number) => void;
25
+ setActionElement(element: HTMLElement | undefined): void;
26
+ show(): void;
27
+ hide(): void;
28
+ }
29
+ export declare class TabsContainer extends CompositeDisposable implements ITabsContainer {
30
+ private accessor;
31
+ private group;
32
+ private readonly _element;
33
+ private readonly tabContainer;
34
+ private readonly voidContainer;
35
+ private readonly actionContainer;
36
+ private readonly voidDropTarget;
37
+ private tabs;
38
+ private selectedIndex;
39
+ private active;
40
+ private activePanel;
41
+ private actions;
42
+ private _height;
43
+ private readonly _onDrop;
44
+ readonly onDrop: Event<TabDropIndexEvent>;
45
+ get panels(): string[];
46
+ get size(): number;
47
+ get height(): number | undefined;
48
+ set height(value: number | undefined);
49
+ show(): void;
50
+ hide(): void;
51
+ setActionElement(element: HTMLElement | undefined): void;
52
+ get element(): HTMLElement;
53
+ isActive(tab: ITab): boolean;
54
+ at(index: number): ITab;
55
+ indexOf(id: string): number;
56
+ constructor(accessor: IDockviewComponent, group: GroupviewPanel, options: {
57
+ tabHeight?: number;
58
+ });
59
+ setActive(isGroupActive: boolean): void;
60
+ private addTab;
61
+ delete(id: string): void;
62
+ setActivePanel(panel: IGroupPanel): void;
63
+ openPanel(panel: IGroupPanel, index?: number): void;
64
+ closePanel(panel: IGroupPanel): void;
65
+ dispose(): void;
66
+ }
@@ -1,261 +1,261 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
- var __read = (this && this.__read) || function (o, n) {
29
- var m = typeof Symbol === "function" && o[Symbol.iterator];
30
- if (!m) return o;
31
- var i = m.call(o), r, ar = [], e;
32
- try {
33
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
34
- }
35
- catch (error) { e = { error: error }; }
36
- finally {
37
- try {
38
- if (r && !r.done && (m = i["return"])) m.call(i);
39
- }
40
- finally { if (e) throw e.error; }
41
- }
42
- return ar;
43
- };
44
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
45
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
46
- if (ar || !(i in from)) {
47
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
48
- ar[i] = from[i];
49
- }
50
- }
51
- return to.concat(ar || Array.prototype.slice.call(from));
52
- };
53
- Object.defineProperty(exports, "__esModule", { value: true });
54
- exports.TabsContainer = void 0;
55
- var lifecycle_1 = require("../../lifecycle");
56
- var events_1 = require("../../events");
57
- var tab_1 = require("../tab");
58
- var array_1 = require("../../array");
59
- var dataTransfer_1 = require("../../dnd/dataTransfer");
60
- var droptarget_1 = require("../../dnd/droptarget");
61
- var dnd_1 = require("../dnd");
62
- var TabsContainer = /** @class */ (function (_super) {
63
- __extends(TabsContainer, _super);
64
- function TabsContainer(accessor, group, options) {
65
- var _this = _super.call(this) || this;
66
- _this.accessor = accessor;
67
- _this.group = group;
68
- _this.tabs = [];
69
- _this.selectedIndex = -1;
70
- _this.active = false;
71
- _this._onDrop = new events_1.Emitter();
72
- _this.onDrop = _this._onDrop.event;
73
- _this.addDisposables(_this._onDrop);
74
- _this._element = document.createElement('div');
75
- _this._element.className = 'tabs-and-actions-container';
76
- _this.height = options.tabHeight;
77
- _this.actionContainer = document.createElement('div');
78
- _this.actionContainer.className = 'action-container';
79
- _this.tabContainer = document.createElement('div');
80
- _this.tabContainer.className = 'tabs-container';
81
- _this.voidContainer = document.createElement('div');
82
- _this.voidContainer.className = 'void-container';
83
- _this._element.appendChild(_this.tabContainer);
84
- _this._element.appendChild(_this.voidContainer);
85
- _this._element.appendChild(_this.actionContainer);
86
- _this.voidDropTarget = new droptarget_1.Droptarget(_this.voidContainer, {
87
- validOverlays: 'none',
88
- canDisplayOverlay: function (event) {
89
- var _a;
90
- var data = (0, dataTransfer_1.getPanelData)();
91
- if (data) {
92
- // don't show the overlay if the tab being dragged is the last panel of this group
93
- return ((_a = (0, array_1.last)(_this.tabs)) === null || _a === void 0 ? void 0 : _a.value.panelId) !== data.panelId;
94
- }
95
- return group.model.canDisplayOverlay(event, dnd_1.DockviewDropTargets.Panel);
96
- },
97
- });
98
- _this.addDisposables(_this.voidDropTarget.onDrop(function (event) {
99
- _this._onDrop.fire({
100
- event: event.event,
101
- index: _this.tabs.length,
102
- });
103
- }), _this.voidDropTarget, (0, events_1.addDisposableListener)(_this.tabContainer, 'mousedown', function (event) {
104
- if (event.defaultPrevented) {
105
- return;
106
- }
107
- var isLeftClick = event.button === 0;
108
- if (isLeftClick) {
109
- _this.accessor.doSetGroupActive(_this.group);
110
- }
111
- }));
112
- return _this;
113
- }
114
- Object.defineProperty(TabsContainer.prototype, "panels", {
115
- get: function () {
116
- return this.tabs.map(function (_) { return _.value.panelId; });
117
- },
118
- enumerable: false,
119
- configurable: true
120
- });
121
- Object.defineProperty(TabsContainer.prototype, "size", {
122
- get: function () {
123
- return this.tabs.length;
124
- },
125
- enumerable: false,
126
- configurable: true
127
- });
128
- Object.defineProperty(TabsContainer.prototype, "height", {
129
- get: function () {
130
- return this._height;
131
- },
132
- set: function (value) {
133
- this._height = value;
134
- if (typeof value !== 'number') {
135
- this.element.style.removeProperty('--dv-tabs-and-actions-container-height');
136
- }
137
- else {
138
- this.element.style.setProperty('--dv-tabs-and-actions-container-height', value + "px");
139
- }
140
- },
141
- enumerable: false,
142
- configurable: true
143
- });
144
- TabsContainer.prototype.show = function () {
145
- this.element.style.display = '';
146
- };
147
- TabsContainer.prototype.hide = function () {
148
- this.element.style.display = 'none';
149
- };
150
- TabsContainer.prototype.setActionElement = function (element) {
151
- if (this.actions === element) {
152
- return;
153
- }
154
- if (this.actions) {
155
- this.actions.remove();
156
- this.actions = undefined;
157
- }
158
- if (element) {
159
- this.actionContainer.appendChild(element);
160
- this.actions = element;
161
- }
162
- };
163
- Object.defineProperty(TabsContainer.prototype, "element", {
164
- get: function () {
165
- return this._element;
166
- },
167
- enumerable: false,
168
- configurable: true
169
- });
170
- TabsContainer.prototype.isActive = function (tab) {
171
- return (this.selectedIndex > -1 &&
172
- this.tabs[this.selectedIndex].value === tab);
173
- };
174
- TabsContainer.prototype.at = function (index) {
175
- var _a;
176
- return (_a = this.tabs[index]) === null || _a === void 0 ? void 0 : _a.value;
177
- };
178
- TabsContainer.prototype.indexOf = function (id) {
179
- return this.tabs.findIndex(function (tab) { return tab.value.panelId === id; });
180
- };
181
- TabsContainer.prototype.setActive = function (isGroupActive) {
182
- this.active = isGroupActive;
183
- };
184
- TabsContainer.prototype.addTab = function (tab, index) {
185
- if (index === void 0) { index = this.tabs.length; }
186
- if (index < 0 || index > this.tabs.length) {
187
- throw new Error('invalid location');
188
- }
189
- this.tabContainer.insertBefore(tab.value.element, this.tabContainer.children[index]);
190
- this.tabs = __spreadArray(__spreadArray(__spreadArray([], __read(this.tabs.slice(0, index)), false), [
191
- tab
192
- ], false), __read(this.tabs.slice(index)), false);
193
- if (this.selectedIndex < 0) {
194
- this.selectedIndex = index;
195
- }
196
- };
197
- TabsContainer.prototype.delete = function (id) {
198
- var index = this.tabs.findIndex(function (tab) { return tab.value.panelId === id; });
199
- var tabToRemove = this.tabs.splice(index, 1)[0];
200
- var value = tabToRemove.value, disposable = tabToRemove.disposable;
201
- disposable.dispose();
202
- value.element.remove();
203
- };
204
- TabsContainer.prototype.setActivePanel = function (panel) {
205
- this.tabs.forEach(function (tab) {
206
- var isActivePanel = panel.id === tab.value.panelId;
207
- tab.value.setActive(isActivePanel);
208
- });
209
- };
210
- TabsContainer.prototype.openPanel = function (panel, index) {
211
- var _this = this;
212
- var _a;
213
- if (index === void 0) { index = this.tabs.length; }
214
- if (this.tabs.find(function (tab) { return tab.value.panelId === panel.id; })) {
215
- return;
216
- }
217
- var tabToAdd = new tab_1.Tab(panel.id, this.accessor, this.group);
218
- if (!((_a = panel.view) === null || _a === void 0 ? void 0 : _a.tab)) {
219
- throw new Error('invalid header component');
220
- }
221
- tabToAdd.setContent(panel.view.tab);
222
- var disposable = lifecycle_1.CompositeDisposable.from(tabToAdd.onChanged(function (event) {
223
- var _a;
224
- var alreadyFocused = panel.id === ((_a = _this.group.model.activePanel) === null || _a === void 0 ? void 0 : _a.id) &&
225
- _this.group.model.isContentFocused();
226
- _this.accessor.fireMouseEvent(__assign(__assign({}, event), { panel: panel, tab: true }));
227
- var isLeftClick = event.event.button === 0;
228
- if (!isLeftClick || event.event.defaultPrevented) {
229
- return;
230
- }
231
- switch (event.kind) {
232
- case tab_1.MouseEventKind.CLICK:
233
- _this.group.model.openPanel(panel, {
234
- skipFocus: alreadyFocused,
235
- });
236
- break;
237
- }
238
- }), tabToAdd.onDrop(function (event) {
239
- _this._onDrop.fire({
240
- event: event.event,
241
- index: _this.tabs.findIndex(function (x) { return x.value === tabToAdd; }),
242
- });
243
- }));
244
- var value = { value: tabToAdd, disposable: disposable };
245
- this.addTab(value, index);
246
- this.activePanel = panel;
247
- };
248
- TabsContainer.prototype.closePanel = function (panel) {
249
- this.delete(panel.id);
250
- };
251
- TabsContainer.prototype.dispose = function () {
252
- _super.prototype.dispose.call(this);
253
- this.tabs.forEach(function (tab) {
254
- tab.disposable.dispose();
255
- });
256
- this.tabs = [];
257
- };
258
- return TabsContainer;
259
- }(lifecycle_1.CompositeDisposable));
260
- exports.TabsContainer = TabsContainer;
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ var __read = (this && this.__read) || function (o, n) {
29
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
30
+ if (!m) return o;
31
+ var i = m.call(o), r, ar = [], e;
32
+ try {
33
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
34
+ }
35
+ catch (error) { e = { error: error }; }
36
+ finally {
37
+ try {
38
+ if (r && !r.done && (m = i["return"])) m.call(i);
39
+ }
40
+ finally { if (e) throw e.error; }
41
+ }
42
+ return ar;
43
+ };
44
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
45
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
46
+ if (ar || !(i in from)) {
47
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
48
+ ar[i] = from[i];
49
+ }
50
+ }
51
+ return to.concat(ar || Array.prototype.slice.call(from));
52
+ };
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ exports.TabsContainer = void 0;
55
+ var lifecycle_1 = require("../../lifecycle");
56
+ var events_1 = require("../../events");
57
+ var tab_1 = require("../tab");
58
+ var array_1 = require("../../array");
59
+ var dataTransfer_1 = require("../../dnd/dataTransfer");
60
+ var droptarget_1 = require("../../dnd/droptarget");
61
+ var dnd_1 = require("../dnd");
62
+ var TabsContainer = /** @class */ (function (_super) {
63
+ __extends(TabsContainer, _super);
64
+ function TabsContainer(accessor, group, options) {
65
+ var _this = _super.call(this) || this;
66
+ _this.accessor = accessor;
67
+ _this.group = group;
68
+ _this.tabs = [];
69
+ _this.selectedIndex = -1;
70
+ _this.active = false;
71
+ _this._onDrop = new events_1.Emitter();
72
+ _this.onDrop = _this._onDrop.event;
73
+ _this.addDisposables(_this._onDrop);
74
+ _this._element = document.createElement('div');
75
+ _this._element.className = 'tabs-and-actions-container';
76
+ _this.height = options.tabHeight;
77
+ _this.actionContainer = document.createElement('div');
78
+ _this.actionContainer.className = 'action-container';
79
+ _this.tabContainer = document.createElement('div');
80
+ _this.tabContainer.className = 'tabs-container';
81
+ _this.voidContainer = document.createElement('div');
82
+ _this.voidContainer.className = 'void-container';
83
+ _this._element.appendChild(_this.tabContainer);
84
+ _this._element.appendChild(_this.voidContainer);
85
+ _this._element.appendChild(_this.actionContainer);
86
+ _this.voidDropTarget = new droptarget_1.Droptarget(_this.voidContainer, {
87
+ validOverlays: 'none',
88
+ canDisplayOverlay: function (event) {
89
+ var _a;
90
+ var data = (0, dataTransfer_1.getPanelData)();
91
+ if (data) {
92
+ // don't show the overlay if the tab being dragged is the last panel of this group
93
+ return ((_a = (0, array_1.last)(_this.tabs)) === null || _a === void 0 ? void 0 : _a.value.panelId) !== data.panelId;
94
+ }
95
+ return group.model.canDisplayOverlay(event, dnd_1.DockviewDropTargets.Panel);
96
+ },
97
+ });
98
+ _this.addDisposables(_this.voidDropTarget.onDrop(function (event) {
99
+ _this._onDrop.fire({
100
+ event: event.nativeEvent,
101
+ index: _this.tabs.length,
102
+ });
103
+ }), _this.voidDropTarget, (0, events_1.addDisposableListener)(_this.tabContainer, 'mousedown', function (event) {
104
+ if (event.defaultPrevented) {
105
+ return;
106
+ }
107
+ var isLeftClick = event.button === 0;
108
+ if (isLeftClick) {
109
+ _this.accessor.doSetGroupActive(_this.group);
110
+ }
111
+ }));
112
+ return _this;
113
+ }
114
+ Object.defineProperty(TabsContainer.prototype, "panels", {
115
+ get: function () {
116
+ return this.tabs.map(function (_) { return _.value.panelId; });
117
+ },
118
+ enumerable: false,
119
+ configurable: true
120
+ });
121
+ Object.defineProperty(TabsContainer.prototype, "size", {
122
+ get: function () {
123
+ return this.tabs.length;
124
+ },
125
+ enumerable: false,
126
+ configurable: true
127
+ });
128
+ Object.defineProperty(TabsContainer.prototype, "height", {
129
+ get: function () {
130
+ return this._height;
131
+ },
132
+ set: function (value) {
133
+ this._height = value;
134
+ if (typeof value !== 'number') {
135
+ this.element.style.removeProperty('--dv-tabs-and-actions-container-height');
136
+ }
137
+ else {
138
+ this.element.style.setProperty('--dv-tabs-and-actions-container-height', "".concat(value, "px"));
139
+ }
140
+ },
141
+ enumerable: false,
142
+ configurable: true
143
+ });
144
+ TabsContainer.prototype.show = function () {
145
+ this.element.style.display = '';
146
+ };
147
+ TabsContainer.prototype.hide = function () {
148
+ this.element.style.display = 'none';
149
+ };
150
+ TabsContainer.prototype.setActionElement = function (element) {
151
+ if (this.actions === element) {
152
+ return;
153
+ }
154
+ if (this.actions) {
155
+ this.actions.remove();
156
+ this.actions = undefined;
157
+ }
158
+ if (element) {
159
+ this.actionContainer.appendChild(element);
160
+ this.actions = element;
161
+ }
162
+ };
163
+ Object.defineProperty(TabsContainer.prototype, "element", {
164
+ get: function () {
165
+ return this._element;
166
+ },
167
+ enumerable: false,
168
+ configurable: true
169
+ });
170
+ TabsContainer.prototype.isActive = function (tab) {
171
+ return (this.selectedIndex > -1 &&
172
+ this.tabs[this.selectedIndex].value === tab);
173
+ };
174
+ TabsContainer.prototype.at = function (index) {
175
+ var _a;
176
+ return (_a = this.tabs[index]) === null || _a === void 0 ? void 0 : _a.value;
177
+ };
178
+ TabsContainer.prototype.indexOf = function (id) {
179
+ return this.tabs.findIndex(function (tab) { return tab.value.panelId === id; });
180
+ };
181
+ TabsContainer.prototype.setActive = function (isGroupActive) {
182
+ this.active = isGroupActive;
183
+ };
184
+ TabsContainer.prototype.addTab = function (tab, index) {
185
+ if (index === void 0) { index = this.tabs.length; }
186
+ if (index < 0 || index > this.tabs.length) {
187
+ throw new Error('invalid location');
188
+ }
189
+ this.tabContainer.insertBefore(tab.value.element, this.tabContainer.children[index]);
190
+ this.tabs = __spreadArray(__spreadArray(__spreadArray([], __read(this.tabs.slice(0, index)), false), [
191
+ tab
192
+ ], false), __read(this.tabs.slice(index)), false);
193
+ if (this.selectedIndex < 0) {
194
+ this.selectedIndex = index;
195
+ }
196
+ };
197
+ TabsContainer.prototype.delete = function (id) {
198
+ var index = this.tabs.findIndex(function (tab) { return tab.value.panelId === id; });
199
+ var tabToRemove = this.tabs.splice(index, 1)[0];
200
+ var value = tabToRemove.value, disposable = tabToRemove.disposable;
201
+ disposable.dispose();
202
+ value.element.remove();
203
+ };
204
+ TabsContainer.prototype.setActivePanel = function (panel) {
205
+ this.tabs.forEach(function (tab) {
206
+ var isActivePanel = panel.id === tab.value.panelId;
207
+ tab.value.setActive(isActivePanel);
208
+ });
209
+ };
210
+ TabsContainer.prototype.openPanel = function (panel, index) {
211
+ var _this = this;
212
+ var _a;
213
+ if (index === void 0) { index = this.tabs.length; }
214
+ if (this.tabs.find(function (tab) { return tab.value.panelId === panel.id; })) {
215
+ return;
216
+ }
217
+ var tabToAdd = new tab_1.Tab(panel.id, this.accessor, this.group);
218
+ if (!((_a = panel.view) === null || _a === void 0 ? void 0 : _a.tab)) {
219
+ throw new Error('invalid header component');
220
+ }
221
+ tabToAdd.setContent(panel.view.tab);
222
+ var disposable = lifecycle_1.CompositeDisposable.from(tabToAdd.onChanged(function (event) {
223
+ var _a;
224
+ var alreadyFocused = panel.id === ((_a = _this.group.model.activePanel) === null || _a === void 0 ? void 0 : _a.id) &&
225
+ _this.group.model.isContentFocused();
226
+ _this.accessor.fireMouseEvent(__assign(__assign({}, event), { panel: panel, tab: true }));
227
+ var isLeftClick = event.event.button === 0;
228
+ if (!isLeftClick || event.event.defaultPrevented) {
229
+ return;
230
+ }
231
+ switch (event.kind) {
232
+ case tab_1.MouseEventKind.CLICK:
233
+ _this.group.model.openPanel(panel, {
234
+ skipFocus: alreadyFocused,
235
+ });
236
+ break;
237
+ }
238
+ }), tabToAdd.onDrop(function (event) {
239
+ _this._onDrop.fire({
240
+ event: event.nativeEvent,
241
+ index: _this.tabs.findIndex(function (x) { return x.value === tabToAdd; }),
242
+ });
243
+ }));
244
+ var value = { value: tabToAdd, disposable: disposable };
245
+ this.addTab(value, index);
246
+ this.activePanel = panel;
247
+ };
248
+ TabsContainer.prototype.closePanel = function (panel) {
249
+ this.delete(panel.id);
250
+ };
251
+ TabsContainer.prototype.dispose = function () {
252
+ _super.prototype.dispose.call(this);
253
+ this.tabs.forEach(function (tab) {
254
+ tab.disposable.dispose();
255
+ });
256
+ this.tabs = [];
257
+ };
258
+ return TabsContainer;
259
+ }(lifecycle_1.CompositeDisposable));
260
+ exports.TabsContainer = TabsContainer;
261
261
  //# sourceMappingURL=tabsContainer.js.map