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,478 +1,477 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Accreditation: This file is largly based upon the MIT licenced VSCode sourcecode found at:
4
- * https://github.com/microsoft/vscode/tree/main/src/vs/base/browser/ui/grid
5
- *--------------------------------------------------------------------------------------------*/
6
- var __read = (this && this.__read) || function (o, n) {
7
- var m = typeof Symbol === "function" && o[Symbol.iterator];
8
- if (!m) return o;
9
- var i = m.call(o), r, ar = [], e;
10
- try {
11
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
12
- }
13
- catch (error) { e = { error: error }; }
14
- finally {
15
- try {
16
- if (r && !r.done && (m = i["return"])) m.call(i);
17
- }
18
- finally { if (e) throw e.error; }
19
- }
20
- return ar;
21
- };
22
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
23
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
24
- if (ar || !(i in from)) {
25
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
26
- ar[i] = from[i];
27
- }
28
- }
29
- return to.concat(ar || Array.prototype.slice.call(from));
30
- };
31
- Object.defineProperty(exports, "__esModule", { value: true });
32
- exports.Gridview = exports.isGridBranchNode = exports.orthogonal = exports.getLocationOrientation = exports.getDirectionOrientation = exports.getRelativeLocation = exports.getGridLocation = exports.indexInParent = void 0;
33
- var splitview_1 = require("../splitview/core/splitview");
34
- var droptarget_1 = require("../dnd/droptarget");
35
- var array_1 = require("../array");
36
- var leafNode_1 = require("./leafNode");
37
- var branchNode_1 = require("./branchNode");
38
- var events_1 = require("../events");
39
- var lifecycle_1 = require("../lifecycle");
40
- function flipNode(node, size, orthogonalSize) {
41
- if (node instanceof branchNode_1.BranchNode) {
42
- var result = new branchNode_1.BranchNode((0, exports.orthogonal)(node.orientation), node.proportionalLayout, node.styles, size, orthogonalSize);
43
- var totalSize = 0;
44
- for (var i = node.children.length - 1; i >= 0; i--) {
45
- var child = node.children[i];
46
- var childSize = child instanceof branchNode_1.BranchNode ? child.orthogonalSize : child.size;
47
- var newSize = node.size === 0
48
- ? 0
49
- : Math.round((size * childSize) / node.size);
50
- totalSize += newSize;
51
- // The last view to add should adjust to rounding errors
52
- if (i === 0) {
53
- newSize += size - totalSize;
54
- }
55
- result.addChild(flipNode(child, orthogonalSize, newSize), newSize, 0, true);
56
- }
57
- return result;
58
- }
59
- else {
60
- return new leafNode_1.LeafNode(node.view, (0, exports.orthogonal)(node.orientation), orthogonalSize);
61
- }
62
- }
63
- function indexInParent(element) {
64
- var parentElement = element.parentElement;
65
- if (!parentElement) {
66
- throw new Error('Invalid grid element');
67
- }
68
- var el = parentElement.firstElementChild;
69
- var index = 0;
70
- while (el !== element && el !== parentElement.lastElementChild && el) {
71
- el = el.nextElementSibling;
72
- index++;
73
- }
74
- return index;
75
- }
76
- exports.indexInParent = indexInParent;
77
- /**
78
- * Find the grid location of a specific DOM element by traversing the parent
79
- * chain and finding each child index on the way.
80
- *
81
- * This will break as soon as DOM structures of the Splitview or Gridview change.
82
- */
83
- function getGridLocation(element) {
84
- var parentElement = element.parentElement;
85
- if (!parentElement) {
86
- throw new Error('Invalid grid element');
87
- }
88
- if (/\bgrid-view\b/.test(parentElement.className)) {
89
- return [];
90
- }
91
- var index = indexInParent(parentElement);
92
- var ancestor = parentElement.parentElement.parentElement.parentElement;
93
- return __spreadArray(__spreadArray([], __read(getGridLocation(ancestor)), false), [index], false);
94
- }
95
- exports.getGridLocation = getGridLocation;
96
- function getRelativeLocation(rootOrientation, location, direction) {
97
- var orientation = getLocationOrientation(rootOrientation, location);
98
- var directionOrientation = getDirectionOrientation(direction);
99
- if (orientation === directionOrientation) {
100
- var _a = __read((0, array_1.tail)(location), 2), rest = _a[0], _index = _a[1];
101
- var index = _index;
102
- if (direction === droptarget_1.Position.Right || direction === droptarget_1.Position.Bottom) {
103
- index += 1;
104
- }
105
- return __spreadArray(__spreadArray([], __read(rest), false), [index], false);
106
- }
107
- else {
108
- var index = direction === droptarget_1.Position.Right || direction === droptarget_1.Position.Bottom
109
- ? 1
110
- : 0;
111
- return __spreadArray(__spreadArray([], __read(location), false), [index], false);
112
- }
113
- }
114
- exports.getRelativeLocation = getRelativeLocation;
115
- function getDirectionOrientation(direction) {
116
- return direction === droptarget_1.Position.Top || direction === droptarget_1.Position.Bottom
117
- ? splitview_1.Orientation.VERTICAL
118
- : splitview_1.Orientation.HORIZONTAL;
119
- }
120
- exports.getDirectionOrientation = getDirectionOrientation;
121
- function getLocationOrientation(rootOrientation, location) {
122
- return location.length % 2 === 0
123
- ? (0, exports.orthogonal)(rootOrientation)
124
- : rootOrientation;
125
- }
126
- exports.getLocationOrientation = getLocationOrientation;
127
- var orthogonal = function (orientation) {
128
- return orientation === splitview_1.Orientation.HORIZONTAL
129
- ? splitview_1.Orientation.VERTICAL
130
- : splitview_1.Orientation.HORIZONTAL;
131
- };
132
- exports.orthogonal = orthogonal;
133
- function isGridBranchNode(node) {
134
- return !!node.children;
135
- }
136
- exports.isGridBranchNode = isGridBranchNode;
137
- var serializeBranchNode = function (node, orientation) {
138
- var size = orientation === splitview_1.Orientation.VERTICAL ? node.box.width : node.box.height;
139
- if (!isGridBranchNode(node)) {
140
- if (typeof node.cachedVisibleSize === 'number') {
141
- return {
142
- type: 'leaf',
143
- data: node.view.toJSON(),
144
- size: node.cachedVisibleSize,
145
- visible: false,
146
- };
147
- }
148
- return { type: 'leaf', data: node.view.toJSON(), size: size };
149
- }
150
- return {
151
- type: 'branch',
152
- data: node.children.map(function (c) {
153
- return serializeBranchNode(c, (0, exports.orthogonal)(orientation));
154
- }),
155
- size: size,
156
- };
157
- };
158
- var Gridview = /** @class */ (function () {
159
- function Gridview(proportionalLayout, styles, orientation) {
160
- this.proportionalLayout = proportionalLayout;
161
- this.styles = styles;
162
- this.disposable = new lifecycle_1.MutableDisposable();
163
- this._onDidChange = new events_1.Emitter();
164
- this.onDidChange = this._onDidChange.event;
165
- this.element = document.createElement('div');
166
- this.element.className = 'grid-view';
167
- this.root = new branchNode_1.BranchNode(orientation, proportionalLayout, styles, 0, 0);
168
- }
169
- Gridview.prototype.serialize = function () {
170
- var root = serializeBranchNode(this.getView(), this.orientation);
171
- return {
172
- root: root,
173
- width: this.width,
174
- height: this.height,
175
- orientation: this.orientation,
176
- };
177
- };
178
- Gridview.prototype.dispose = function () {
179
- this.disposable.dispose();
180
- this._onDidChange.dispose();
181
- this.root.dispose();
182
- };
183
- Gridview.prototype.clear = function () {
184
- var orientation = this.root.orientation;
185
- this.root = new branchNode_1.BranchNode(orientation, this.proportionalLayout, this.styles, this.root.size, this.root.orthogonalSize);
186
- };
187
- Gridview.prototype.deserialize = function (json, deserializer) {
188
- var orientation = json.orientation;
189
- var height = json.height;
190
- this._deserialize(json.root, orientation, deserializer, height);
191
- };
192
- Gridview.prototype._deserialize = function (root, orientation, deserializer, orthogonalSize) {
193
- this.root = this._deserializeNode(root, orientation, deserializer, orthogonalSize);
194
- };
195
- Gridview.prototype._deserializeNode = function (node, orientation, deserializer, orthogonalSize) {
196
- var _this = this;
197
- var result;
198
- if (node.type === 'branch') {
199
- var serializedChildren = node.data;
200
- var children = serializedChildren.map(function (serializedChild) {
201
- return {
202
- node: _this._deserializeNode(serializedChild, (0, exports.orthogonal)(orientation), deserializer, node.size),
203
- visible: serializedChild.visible,
204
- };
205
- });
206
- result = new branchNode_1.BranchNode(orientation, this.proportionalLayout, this.styles, node.size, orthogonalSize, children);
207
- }
208
- else {
209
- result = new leafNode_1.LeafNode(deserializer.fromJSON(node), orientation, orthogonalSize, node.size);
210
- }
211
- return result;
212
- };
213
- Object.defineProperty(Gridview.prototype, "orientation", {
214
- get: function () {
215
- return this.root.orientation;
216
- },
217
- set: function (orientation) {
218
- if (this.root.orientation === orientation) {
219
- return;
220
- }
221
- var _a = this.root, size = _a.size, orthogonalSize = _a.orthogonalSize;
222
- this.root = flipNode(this.root, orthogonalSize, size);
223
- this.root.layout(size, orthogonalSize);
224
- },
225
- enumerable: false,
226
- configurable: true
227
- });
228
- Object.defineProperty(Gridview.prototype, "root", {
229
- get: function () {
230
- return this._root;
231
- },
232
- set: function (root) {
233
- var _this = this;
234
- var oldRoot = this._root;
235
- if (oldRoot) {
236
- oldRoot.dispose();
237
- this.element.removeChild(oldRoot.element);
238
- }
239
- this._root = root;
240
- this.element.appendChild(this._root.element);
241
- this.disposable.value = this._root.onDidChange(function (e) {
242
- _this._onDidChange.fire(e);
243
- });
244
- },
245
- enumerable: false,
246
- configurable: true
247
- });
248
- Gridview.prototype.next = function (location) {
249
- return this.progmaticSelect(location);
250
- };
251
- Gridview.prototype.previous = function (location) {
252
- return this.progmaticSelect(location, true);
253
- };
254
- Gridview.prototype.getView = function (location) {
255
- var node = location ? this.getNode(location)[1] : this.root;
256
- return this._getViews(node, this.orientation);
257
- };
258
- Gridview.prototype._getViews = function (node, orientation, cachedVisibleSize) {
259
- var box = { height: node.height, width: node.width };
260
- if (node instanceof leafNode_1.LeafNode) {
261
- return { box: box, view: node.view, cachedVisibleSize: cachedVisibleSize };
262
- }
263
- var children = [];
264
- for (var i = 0; i < node.children.length; i++) {
265
- var child = node.children[i];
266
- var nodeCachedVisibleSize = node.getChildCachedVisibleSize(i);
267
- children.push(this._getViews(child, (0, exports.orthogonal)(orientation), nodeCachedVisibleSize));
268
- }
269
- return { box: box, children: children };
270
- };
271
- Gridview.prototype.progmaticSelect = function (location, reverse) {
272
- if (reverse === void 0) { reverse = false; }
273
- var _a = __read(this.getNode(location), 2), path = _a[0], node = _a[1];
274
- if (!(node instanceof leafNode_1.LeafNode)) {
275
- throw new Error('invalid location');
276
- }
277
- var findLeaf = function (candiateNode, last) {
278
- if (candiateNode instanceof leafNode_1.LeafNode) {
279
- return candiateNode;
280
- }
281
- if (candiateNode instanceof branchNode_1.BranchNode) {
282
- return findLeaf(candiateNode.children[last ? candiateNode.children.length - 1 : 0], last);
283
- }
284
- throw new Error('invalid node');
285
- };
286
- for (var i = path.length - 1; i > -1; i--) {
287
- var n = path[i];
288
- var l = location[i] || 0;
289
- var canProgressInCurrentLevel = reverse
290
- ? l - 1 > -1
291
- : l + 1 < n.children.length;
292
- if (canProgressInCurrentLevel) {
293
- return findLeaf(n.children[reverse ? l - 1 : l + 1], reverse);
294
- }
295
- }
296
- return findLeaf(this.root, reverse);
297
- };
298
- Object.defineProperty(Gridview.prototype, "width", {
299
- get: function () {
300
- return this.root.width;
301
- },
302
- enumerable: false,
303
- configurable: true
304
- });
305
- Object.defineProperty(Gridview.prototype, "height", {
306
- get: function () {
307
- return this.root.height;
308
- },
309
- enumerable: false,
310
- configurable: true
311
- });
312
- Object.defineProperty(Gridview.prototype, "minimumWidth", {
313
- get: function () {
314
- return this.root.minimumWidth;
315
- },
316
- enumerable: false,
317
- configurable: true
318
- });
319
- Object.defineProperty(Gridview.prototype, "minimumHeight", {
320
- get: function () {
321
- return this.root.minimumHeight;
322
- },
323
- enumerable: false,
324
- configurable: true
325
- });
326
- Object.defineProperty(Gridview.prototype, "maximumWidth", {
327
- get: function () {
328
- return this.root.maximumHeight;
329
- },
330
- enumerable: false,
331
- configurable: true
332
- });
333
- Object.defineProperty(Gridview.prototype, "maximumHeight", {
334
- get: function () {
335
- return this.root.maximumHeight;
336
- },
337
- enumerable: false,
338
- configurable: true
339
- });
340
- Gridview.prototype.isViewVisible = function (location) {
341
- var _a = __read((0, array_1.tail)(location), 2), rest = _a[0], index = _a[1];
342
- var _b = __read(this.getNode(rest), 2), parent = _b[1];
343
- if (!(parent instanceof branchNode_1.BranchNode)) {
344
- throw new Error('Invalid from location');
345
- }
346
- return parent.isChildVisible(index);
347
- };
348
- Gridview.prototype.setViewVisible = function (location, visible) {
349
- var _a = __read((0, array_1.tail)(location), 2), rest = _a[0], index = _a[1];
350
- var _b = __read(this.getNode(rest), 2), parent = _b[1];
351
- if (!(parent instanceof branchNode_1.BranchNode)) {
352
- throw new Error('Invalid from location');
353
- }
354
- parent.setChildVisible(index, visible);
355
- };
356
- Gridview.prototype.moveView = function (parentLocation, from, to) {
357
- var _a = __read(this.getNode(parentLocation), 2), parent = _a[1];
358
- if (!(parent instanceof branchNode_1.BranchNode)) {
359
- throw new Error('Invalid location');
360
- }
361
- parent.moveChild(from, to);
362
- };
363
- Gridview.prototype.addView = function (view, size, location) {
364
- var _a = __read((0, array_1.tail)(location), 2), rest = _a[0], index = _a[1];
365
- var _b = __read(this.getNode(rest), 2), pathToParent = _b[0], parent = _b[1];
366
- if (parent instanceof branchNode_1.BranchNode) {
367
- var node = new leafNode_1.LeafNode(view, (0, exports.orthogonal)(parent.orientation), parent.orthogonalSize);
368
- parent.addChild(node, size, index);
369
- }
370
- else {
371
- var _c = __read(__spreadArray([], __read(pathToParent), false).reverse()), grandParent = _c[0], _ = _c.slice(1);
372
- var _d = __read(__spreadArray([], __read(rest), false).reverse()), parentIndex = _d[0], __ = _d.slice(1);
373
- var newSiblingSize = 0;
374
- var newSiblingCachedVisibleSize = grandParent.getChildCachedVisibleSize(parentIndex);
375
- if (typeof newSiblingCachedVisibleSize === 'number') {
376
- newSiblingSize = splitview_1.Sizing.Invisible(newSiblingCachedVisibleSize);
377
- }
378
- grandParent.removeChild(parentIndex);
379
- var newParent = new branchNode_1.BranchNode(parent.orientation, this.proportionalLayout, this.styles, parent.size, parent.orthogonalSize);
380
- grandParent.addChild(newParent, parent.size, parentIndex);
381
- var newSibling = new leafNode_1.LeafNode(parent.view, grandParent.orientation, parent.size);
382
- newParent.addChild(newSibling, newSiblingSize, 0);
383
- if (typeof size !== 'number' && size.type === 'split') {
384
- size = { type: 'split', index: 0 };
385
- }
386
- var node = new leafNode_1.LeafNode(view, grandParent.orientation, parent.size);
387
- newParent.addChild(node, size, index);
388
- }
389
- };
390
- Gridview.prototype.remove = function (view, sizing) {
391
- var location = getGridLocation(view.element);
392
- return this.removeView(location, sizing);
393
- };
394
- Gridview.prototype.removeView = function (location, sizing) {
395
- var _a = __read((0, array_1.tail)(location), 2), rest = _a[0], index = _a[1];
396
- var _b = __read(this.getNode(rest), 2), pathToParent = _b[0], parent = _b[1];
397
- if (!(parent instanceof branchNode_1.BranchNode)) {
398
- throw new Error('Invalid location');
399
- }
400
- var node = parent.children[index];
401
- if (!(node instanceof leafNode_1.LeafNode)) {
402
- throw new Error('Invalid location');
403
- }
404
- parent.removeChild(index, sizing);
405
- if (parent.children.length === 0) {
406
- // throw new Error('Invalid grid state');
407
- return node.view;
408
- }
409
- if (parent.children.length > 1) {
410
- return node.view;
411
- }
412
- if (pathToParent.length === 0) {
413
- // parent is root
414
- var sibling_1 = parent.children[0];
415
- if (sibling_1 instanceof leafNode_1.LeafNode) {
416
- return node.view;
417
- }
418
- // we must promote sibling to be the new root
419
- parent.removeChild(0, sizing);
420
- this.root = sibling_1;
421
- return node.view;
422
- }
423
- var _c = __read(__spreadArray([], __read(pathToParent), false).reverse()), grandParent = _c[0], _ = _c.slice(1);
424
- var _d = __read(__spreadArray([], __read(rest), false).reverse()), parentIndex = _d[0], __ = _d.slice(1);
425
- var sibling = parent.children[0];
426
- var isSiblingVisible = parent.isChildVisible(0);
427
- parent.removeChild(0, sizing);
428
- var sizes = grandParent.children.map(function (size, i) {
429
- return grandParent.getChildSize(i);
430
- });
431
- grandParent.removeChild(parentIndex, sizing);
432
- if (sibling instanceof branchNode_1.BranchNode) {
433
- sizes.splice.apply(sizes, __spreadArray([parentIndex,
434
- 1], __read(sibling.children.map(function (c) { return c.size; })), false));
435
- for (var i = 0; i < sibling.children.length; i++) {
436
- var child = sibling.children[i];
437
- grandParent.addChild(child, child.size, parentIndex + i);
438
- }
439
- }
440
- else {
441
- var newSibling = new leafNode_1.LeafNode(sibling.view, (0, exports.orthogonal)(sibling.orientation), sibling.size);
442
- var siblingSizing = isSiblingVisible
443
- ? sibling.orthogonalSize
444
- : splitview_1.Sizing.Invisible(sibling.orthogonalSize);
445
- grandParent.addChild(newSibling, siblingSizing, parentIndex);
446
- }
447
- for (var i = 0; i < sizes.length; i++) {
448
- grandParent.resizeChild(i, sizes[i]);
449
- }
450
- return node.view;
451
- };
452
- Gridview.prototype.layout = function (width, height) {
453
- var _a = __read(this.root.orientation === splitview_1.Orientation.HORIZONTAL
454
- ? [height, width]
455
- : [width, height], 2), size = _a[0], orthogonalSize = _a[1];
456
- this.root.layout(size, orthogonalSize);
457
- };
458
- Gridview.prototype.getNode = function (location, node, path) {
459
- if (node === void 0) { node = this.root; }
460
- if (path === void 0) { path = []; }
461
- if (location.length === 0) {
462
- return [path, node];
463
- }
464
- if (!(node instanceof branchNode_1.BranchNode)) {
465
- throw new Error('Invalid location');
466
- }
467
- var _a = __read(location), index = _a[0], rest = _a.slice(1);
468
- if (index < 0 || index >= node.children.length) {
469
- throw new Error('Invalid location');
470
- }
471
- var child = node.children[index];
472
- path.push(node);
473
- return this.getNode(rest, child, path);
474
- };
475
- return Gridview;
476
- }());
477
- exports.Gridview = Gridview;
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Accreditation: This file is largly based upon the MIT licenced VSCode sourcecode found at:
4
+ * https://github.com/microsoft/vscode/tree/main/src/vs/base/browser/ui/grid
5
+ *--------------------------------------------------------------------------------------------*/
6
+ var __read = (this && this.__read) || function (o, n) {
7
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
8
+ if (!m) return o;
9
+ var i = m.call(o), r, ar = [], e;
10
+ try {
11
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
12
+ }
13
+ catch (error) { e = { error: error }; }
14
+ finally {
15
+ try {
16
+ if (r && !r.done && (m = i["return"])) m.call(i);
17
+ }
18
+ finally { if (e) throw e.error; }
19
+ }
20
+ return ar;
21
+ };
22
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
23
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
24
+ if (ar || !(i in from)) {
25
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
26
+ ar[i] = from[i];
27
+ }
28
+ }
29
+ return to.concat(ar || Array.prototype.slice.call(from));
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ exports.Gridview = exports.isGridBranchNode = exports.orthogonal = exports.getLocationOrientation = exports.getDirectionOrientation = exports.getRelativeLocation = exports.getGridLocation = exports.indexInParent = void 0;
33
+ var splitview_1 = require("../splitview/core/splitview");
34
+ var droptarget_1 = require("../dnd/droptarget");
35
+ var array_1 = require("../array");
36
+ var leafNode_1 = require("./leafNode");
37
+ var branchNode_1 = require("./branchNode");
38
+ var events_1 = require("../events");
39
+ var lifecycle_1 = require("../lifecycle");
40
+ function flipNode(node, size, orthogonalSize) {
41
+ if (node instanceof branchNode_1.BranchNode) {
42
+ var result = new branchNode_1.BranchNode((0, exports.orthogonal)(node.orientation), node.proportionalLayout, node.styles, size, orthogonalSize);
43
+ var totalSize = 0;
44
+ for (var i = node.children.length - 1; i >= 0; i--) {
45
+ var child = node.children[i];
46
+ var childSize = child instanceof branchNode_1.BranchNode ? child.orthogonalSize : child.size;
47
+ var newSize = node.size === 0
48
+ ? 0
49
+ : Math.round((size * childSize) / node.size);
50
+ totalSize += newSize;
51
+ // The last view to add should adjust to rounding errors
52
+ if (i === 0) {
53
+ newSize += size - totalSize;
54
+ }
55
+ result.addChild(flipNode(child, orthogonalSize, newSize), newSize, 0, true);
56
+ }
57
+ return result;
58
+ }
59
+ else {
60
+ return new leafNode_1.LeafNode(node.view, (0, exports.orthogonal)(node.orientation), orthogonalSize);
61
+ }
62
+ }
63
+ function indexInParent(element) {
64
+ var parentElement = element.parentElement;
65
+ if (!parentElement) {
66
+ throw new Error('Invalid grid element');
67
+ }
68
+ var el = parentElement.firstElementChild;
69
+ var index = 0;
70
+ while (el !== element && el !== parentElement.lastElementChild && el) {
71
+ el = el.nextElementSibling;
72
+ index++;
73
+ }
74
+ return index;
75
+ }
76
+ exports.indexInParent = indexInParent;
77
+ /**
78
+ * Find the grid location of a specific DOM element by traversing the parent
79
+ * chain and finding each child index on the way.
80
+ *
81
+ * This will break as soon as DOM structures of the Splitview or Gridview change.
82
+ */
83
+ function getGridLocation(element) {
84
+ var parentElement = element.parentElement;
85
+ if (!parentElement) {
86
+ throw new Error('Invalid grid element');
87
+ }
88
+ if (/\bgrid-view\b/.test(parentElement.className)) {
89
+ return [];
90
+ }
91
+ var index = indexInParent(parentElement);
92
+ var ancestor = parentElement.parentElement.parentElement.parentElement;
93
+ return __spreadArray(__spreadArray([], __read(getGridLocation(ancestor)), false), [index], false);
94
+ }
95
+ exports.getGridLocation = getGridLocation;
96
+ function getRelativeLocation(rootOrientation, location, direction) {
97
+ var orientation = getLocationOrientation(rootOrientation, location);
98
+ var directionOrientation = getDirectionOrientation(direction);
99
+ if (orientation === directionOrientation) {
100
+ var _a = __read((0, array_1.tail)(location), 2), rest = _a[0], _index = _a[1];
101
+ var index = _index;
102
+ if (direction === droptarget_1.Position.Right || direction === droptarget_1.Position.Bottom) {
103
+ index += 1;
104
+ }
105
+ return __spreadArray(__spreadArray([], __read(rest), false), [index], false);
106
+ }
107
+ else {
108
+ var index = direction === droptarget_1.Position.Right || direction === droptarget_1.Position.Bottom
109
+ ? 1
110
+ : 0;
111
+ return __spreadArray(__spreadArray([], __read(location), false), [index], false);
112
+ }
113
+ }
114
+ exports.getRelativeLocation = getRelativeLocation;
115
+ function getDirectionOrientation(direction) {
116
+ return direction === droptarget_1.Position.Top || direction === droptarget_1.Position.Bottom
117
+ ? splitview_1.Orientation.VERTICAL
118
+ : splitview_1.Orientation.HORIZONTAL;
119
+ }
120
+ exports.getDirectionOrientation = getDirectionOrientation;
121
+ function getLocationOrientation(rootOrientation, location) {
122
+ return location.length % 2 === 0
123
+ ? (0, exports.orthogonal)(rootOrientation)
124
+ : rootOrientation;
125
+ }
126
+ exports.getLocationOrientation = getLocationOrientation;
127
+ var orthogonal = function (orientation) {
128
+ return orientation === splitview_1.Orientation.HORIZONTAL
129
+ ? splitview_1.Orientation.VERTICAL
130
+ : splitview_1.Orientation.HORIZONTAL;
131
+ };
132
+ exports.orthogonal = orthogonal;
133
+ function isGridBranchNode(node) {
134
+ return !!node.children;
135
+ }
136
+ exports.isGridBranchNode = isGridBranchNode;
137
+ var serializeBranchNode = function (node, orientation) {
138
+ var size = orientation === splitview_1.Orientation.VERTICAL ? node.box.width : node.box.height;
139
+ if (!isGridBranchNode(node)) {
140
+ if (typeof node.cachedVisibleSize === 'number') {
141
+ return {
142
+ type: 'leaf',
143
+ data: node.view.toJSON(),
144
+ size: node.cachedVisibleSize,
145
+ visible: false,
146
+ };
147
+ }
148
+ return { type: 'leaf', data: node.view.toJSON(), size: size };
149
+ }
150
+ return {
151
+ type: 'branch',
152
+ data: node.children.map(function (c) {
153
+ return serializeBranchNode(c, (0, exports.orthogonal)(orientation));
154
+ }),
155
+ size: size,
156
+ };
157
+ };
158
+ var Gridview = /** @class */ (function () {
159
+ function Gridview(proportionalLayout, styles, orientation) {
160
+ this.proportionalLayout = proportionalLayout;
161
+ this.styles = styles;
162
+ this.disposable = new lifecycle_1.MutableDisposable();
163
+ this._onDidChange = new events_1.Emitter();
164
+ this.onDidChange = this._onDidChange.event;
165
+ this.element = document.createElement('div');
166
+ this.element.className = 'grid-view';
167
+ this.root = new branchNode_1.BranchNode(orientation, proportionalLayout, styles, 0, 0);
168
+ }
169
+ Gridview.prototype.serialize = function () {
170
+ var root = serializeBranchNode(this.getView(), this.orientation);
171
+ return {
172
+ root: root,
173
+ width: this.width,
174
+ height: this.height,
175
+ orientation: this.orientation,
176
+ };
177
+ };
178
+ Gridview.prototype.dispose = function () {
179
+ this.disposable.dispose();
180
+ this._onDidChange.dispose();
181
+ this.root.dispose();
182
+ };
183
+ Gridview.prototype.clear = function () {
184
+ var orientation = this.root.orientation;
185
+ this.root = new branchNode_1.BranchNode(orientation, this.proportionalLayout, this.styles, this.root.size, this.root.orthogonalSize);
186
+ };
187
+ Gridview.prototype.deserialize = function (json, deserializer) {
188
+ var orientation = json.orientation;
189
+ var height = json.height;
190
+ this._deserialize(json.root, orientation, deserializer, height);
191
+ };
192
+ Gridview.prototype._deserialize = function (root, orientation, deserializer, orthogonalSize) {
193
+ this.root = this._deserializeNode(root, orientation, deserializer, orthogonalSize);
194
+ };
195
+ Gridview.prototype._deserializeNode = function (node, orientation, deserializer, orthogonalSize) {
196
+ var _this = this;
197
+ var result;
198
+ if (node.type === 'branch') {
199
+ var serializedChildren = node.data;
200
+ var children = serializedChildren.map(function (serializedChild) {
201
+ return {
202
+ node: _this._deserializeNode(serializedChild, (0, exports.orthogonal)(orientation), deserializer, node.size),
203
+ visible: serializedChild.visible,
204
+ };
205
+ });
206
+ result = new branchNode_1.BranchNode(orientation, this.proportionalLayout, this.styles, node.size, orthogonalSize, children);
207
+ }
208
+ else {
209
+ result = new leafNode_1.LeafNode(deserializer.fromJSON(node), orientation, orthogonalSize, node.size);
210
+ }
211
+ return result;
212
+ };
213
+ Object.defineProperty(Gridview.prototype, "orientation", {
214
+ get: function () {
215
+ return this.root.orientation;
216
+ },
217
+ set: function (orientation) {
218
+ if (this.root.orientation === orientation) {
219
+ return;
220
+ }
221
+ var _a = this.root, size = _a.size, orthogonalSize = _a.orthogonalSize;
222
+ this.root = flipNode(this.root, orthogonalSize, size);
223
+ this.root.layout(size, orthogonalSize);
224
+ },
225
+ enumerable: false,
226
+ configurable: true
227
+ });
228
+ Object.defineProperty(Gridview.prototype, "root", {
229
+ get: function () {
230
+ return this._root;
231
+ },
232
+ set: function (root) {
233
+ var _this = this;
234
+ var oldRoot = this._root;
235
+ if (oldRoot) {
236
+ oldRoot.dispose();
237
+ this.element.removeChild(oldRoot.element);
238
+ }
239
+ this._root = root;
240
+ this.element.appendChild(this._root.element);
241
+ this.disposable.value = this._root.onDidChange(function (e) {
242
+ _this._onDidChange.fire(e);
243
+ });
244
+ },
245
+ enumerable: false,
246
+ configurable: true
247
+ });
248
+ Gridview.prototype.next = function (location) {
249
+ return this.progmaticSelect(location);
250
+ };
251
+ Gridview.prototype.previous = function (location) {
252
+ return this.progmaticSelect(location, true);
253
+ };
254
+ Gridview.prototype.getView = function (location) {
255
+ var node = location ? this.getNode(location)[1] : this.root;
256
+ return this._getViews(node, this.orientation);
257
+ };
258
+ Gridview.prototype._getViews = function (node, orientation, cachedVisibleSize) {
259
+ var box = { height: node.height, width: node.width };
260
+ if (node instanceof leafNode_1.LeafNode) {
261
+ return { box: box, view: node.view, cachedVisibleSize: cachedVisibleSize };
262
+ }
263
+ var children = [];
264
+ for (var i = 0; i < node.children.length; i++) {
265
+ var child = node.children[i];
266
+ var nodeCachedVisibleSize = node.getChildCachedVisibleSize(i);
267
+ children.push(this._getViews(child, (0, exports.orthogonal)(orientation), nodeCachedVisibleSize));
268
+ }
269
+ return { box: box, children: children };
270
+ };
271
+ Gridview.prototype.progmaticSelect = function (location, reverse) {
272
+ if (reverse === void 0) { reverse = false; }
273
+ var _a = __read(this.getNode(location), 2), path = _a[0], node = _a[1];
274
+ if (!(node instanceof leafNode_1.LeafNode)) {
275
+ throw new Error('invalid location');
276
+ }
277
+ var findLeaf = function (candiateNode, last) {
278
+ if (candiateNode instanceof leafNode_1.LeafNode) {
279
+ return candiateNode;
280
+ }
281
+ if (candiateNode instanceof branchNode_1.BranchNode) {
282
+ return findLeaf(candiateNode.children[last ? candiateNode.children.length - 1 : 0], last);
283
+ }
284
+ throw new Error('invalid node');
285
+ };
286
+ for (var i = path.length - 1; i > -1; i--) {
287
+ var n = path[i];
288
+ var l = location[i] || 0;
289
+ var canProgressInCurrentLevel = reverse
290
+ ? l - 1 > -1
291
+ : l + 1 < n.children.length;
292
+ if (canProgressInCurrentLevel) {
293
+ return findLeaf(n.children[reverse ? l - 1 : l + 1], reverse);
294
+ }
295
+ }
296
+ return findLeaf(this.root, reverse);
297
+ };
298
+ Object.defineProperty(Gridview.prototype, "width", {
299
+ get: function () {
300
+ return this.root.width;
301
+ },
302
+ enumerable: false,
303
+ configurable: true
304
+ });
305
+ Object.defineProperty(Gridview.prototype, "height", {
306
+ get: function () {
307
+ return this.root.height;
308
+ },
309
+ enumerable: false,
310
+ configurable: true
311
+ });
312
+ Object.defineProperty(Gridview.prototype, "minimumWidth", {
313
+ get: function () {
314
+ return this.root.minimumWidth;
315
+ },
316
+ enumerable: false,
317
+ configurable: true
318
+ });
319
+ Object.defineProperty(Gridview.prototype, "minimumHeight", {
320
+ get: function () {
321
+ return this.root.minimumHeight;
322
+ },
323
+ enumerable: false,
324
+ configurable: true
325
+ });
326
+ Object.defineProperty(Gridview.prototype, "maximumWidth", {
327
+ get: function () {
328
+ return this.root.maximumHeight;
329
+ },
330
+ enumerable: false,
331
+ configurable: true
332
+ });
333
+ Object.defineProperty(Gridview.prototype, "maximumHeight", {
334
+ get: function () {
335
+ return this.root.maximumHeight;
336
+ },
337
+ enumerable: false,
338
+ configurable: true
339
+ });
340
+ Gridview.prototype.isViewVisible = function (location) {
341
+ var _a = __read((0, array_1.tail)(location), 2), rest = _a[0], index = _a[1];
342
+ var _b = __read(this.getNode(rest), 2), parent = _b[1];
343
+ if (!(parent instanceof branchNode_1.BranchNode)) {
344
+ throw new Error('Invalid from location');
345
+ }
346
+ return parent.isChildVisible(index);
347
+ };
348
+ Gridview.prototype.setViewVisible = function (location, visible) {
349
+ var _a = __read((0, array_1.tail)(location), 2), rest = _a[0], index = _a[1];
350
+ var _b = __read(this.getNode(rest), 2), parent = _b[1];
351
+ if (!(parent instanceof branchNode_1.BranchNode)) {
352
+ throw new Error('Invalid from location');
353
+ }
354
+ parent.setChildVisible(index, visible);
355
+ };
356
+ Gridview.prototype.moveView = function (parentLocation, from, to) {
357
+ var _a = __read(this.getNode(parentLocation), 2), parent = _a[1];
358
+ if (!(parent instanceof branchNode_1.BranchNode)) {
359
+ throw new Error('Invalid location');
360
+ }
361
+ parent.moveChild(from, to);
362
+ };
363
+ Gridview.prototype.addView = function (view, size, location) {
364
+ var _a = __read((0, array_1.tail)(location), 2), rest = _a[0], index = _a[1];
365
+ var _b = __read(this.getNode(rest), 2), pathToParent = _b[0], parent = _b[1];
366
+ if (parent instanceof branchNode_1.BranchNode) {
367
+ var node = new leafNode_1.LeafNode(view, (0, exports.orthogonal)(parent.orientation), parent.orthogonalSize);
368
+ parent.addChild(node, size, index);
369
+ }
370
+ else {
371
+ var _c = __read(__spreadArray([], __read(pathToParent), false).reverse()), grandParent = _c[0], _ = _c.slice(1);
372
+ var _d = __read(__spreadArray([], __read(rest), false).reverse()), parentIndex = _d[0], __ = _d.slice(1);
373
+ var newSiblingSize = 0;
374
+ var newSiblingCachedVisibleSize = grandParent.getChildCachedVisibleSize(parentIndex);
375
+ if (typeof newSiblingCachedVisibleSize === 'number') {
376
+ newSiblingSize = splitview_1.Sizing.Invisible(newSiblingCachedVisibleSize);
377
+ }
378
+ grandParent.removeChild(parentIndex);
379
+ var newParent = new branchNode_1.BranchNode(parent.orientation, this.proportionalLayout, this.styles, parent.size, parent.orthogonalSize);
380
+ grandParent.addChild(newParent, parent.size, parentIndex);
381
+ var newSibling = new leafNode_1.LeafNode(parent.view, grandParent.orientation, parent.size);
382
+ newParent.addChild(newSibling, newSiblingSize, 0);
383
+ if (typeof size !== 'number' && size.type === 'split') {
384
+ size = { type: 'split', index: 0 };
385
+ }
386
+ var node = new leafNode_1.LeafNode(view, grandParent.orientation, parent.size);
387
+ newParent.addChild(node, size, index);
388
+ }
389
+ };
390
+ Gridview.prototype.remove = function (view, sizing) {
391
+ var location = getGridLocation(view.element);
392
+ return this.removeView(location, sizing);
393
+ };
394
+ Gridview.prototype.removeView = function (location, sizing) {
395
+ var _a = __read((0, array_1.tail)(location), 2), rest = _a[0], index = _a[1];
396
+ var _b = __read(this.getNode(rest), 2), pathToParent = _b[0], parent = _b[1];
397
+ if (!(parent instanceof branchNode_1.BranchNode)) {
398
+ throw new Error('Invalid location');
399
+ }
400
+ var node = parent.children[index];
401
+ if (!(node instanceof leafNode_1.LeafNode)) {
402
+ throw new Error('Invalid location');
403
+ }
404
+ parent.removeChild(index, sizing);
405
+ if (parent.children.length === 0) {
406
+ return node.view;
407
+ }
408
+ if (parent.children.length > 1) {
409
+ return node.view;
410
+ }
411
+ if (pathToParent.length === 0) {
412
+ // parent is root
413
+ var sibling_1 = parent.children[0];
414
+ if (sibling_1 instanceof leafNode_1.LeafNode) {
415
+ return node.view;
416
+ }
417
+ // we must promote sibling to be the new root
418
+ parent.removeChild(0, sizing);
419
+ this.root = sibling_1;
420
+ return node.view;
421
+ }
422
+ var _c = __read(__spreadArray([], __read(pathToParent), false).reverse()), grandParent = _c[0], _ = _c.slice(1);
423
+ var _d = __read(__spreadArray([], __read(rest), false).reverse()), parentIndex = _d[0], __ = _d.slice(1);
424
+ var sibling = parent.children[0];
425
+ var isSiblingVisible = parent.isChildVisible(0);
426
+ parent.removeChild(0, sizing);
427
+ var sizes = grandParent.children.map(function (size, i) {
428
+ return grandParent.getChildSize(i);
429
+ });
430
+ grandParent.removeChild(parentIndex, sizing);
431
+ if (sibling instanceof branchNode_1.BranchNode) {
432
+ sizes.splice.apply(sizes, __spreadArray([parentIndex,
433
+ 1], __read(sibling.children.map(function (c) { return c.size; })), false));
434
+ for (var i = 0; i < sibling.children.length; i++) {
435
+ var child = sibling.children[i];
436
+ grandParent.addChild(child, child.size, parentIndex + i);
437
+ }
438
+ }
439
+ else {
440
+ var newSibling = new leafNode_1.LeafNode(sibling.view, (0, exports.orthogonal)(sibling.orientation), sibling.size);
441
+ var siblingSizing = isSiblingVisible
442
+ ? sibling.orthogonalSize
443
+ : splitview_1.Sizing.Invisible(sibling.orthogonalSize);
444
+ grandParent.addChild(newSibling, siblingSizing, parentIndex);
445
+ }
446
+ for (var i = 0; i < sizes.length; i++) {
447
+ grandParent.resizeChild(i, sizes[i]);
448
+ }
449
+ return node.view;
450
+ };
451
+ Gridview.prototype.layout = function (width, height) {
452
+ var _a = __read(this.root.orientation === splitview_1.Orientation.HORIZONTAL
453
+ ? [height, width]
454
+ : [width, height], 2), size = _a[0], orthogonalSize = _a[1];
455
+ this.root.layout(size, orthogonalSize);
456
+ };
457
+ Gridview.prototype.getNode = function (location, node, path) {
458
+ if (node === void 0) { node = this.root; }
459
+ if (path === void 0) { path = []; }
460
+ if (location.length === 0) {
461
+ return [path, node];
462
+ }
463
+ if (!(node instanceof branchNode_1.BranchNode)) {
464
+ throw new Error('Invalid location');
465
+ }
466
+ var _a = __read(location), index = _a[0], rest = _a.slice(1);
467
+ if (index < 0 || index >= node.children.length) {
468
+ throw new Error('Invalid location');
469
+ }
470
+ var child = node.children[index];
471
+ path.push(node);
472
+ return this.getNode(rest, child, path);
473
+ };
474
+ return Gridview;
475
+ }());
476
+ exports.Gridview = Gridview;
478
477
  //# sourceMappingURL=gridview.js.map