dockview 1.5.1 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +52 -52
  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 +145 -144
  6. package/dist/cjs/api/component.api.js +578 -571
  7. package/dist/cjs/api/component.api.js.map +1 -1
  8. package/dist/cjs/api/{groupPanelApi.d.ts → dockviewPanelApi.d.ts} +34 -34
  9. package/dist/cjs/api/{groupPanelApi.js → dockviewPanelApi.js} +84 -86
  10. package/dist/cjs/api/dockviewPanelApi.js.map +1 -0
  11. package/dist/cjs/api/gridviewPanelApi.d.ts +37 -36
  12. package/dist/cjs/api/gridviewPanelApi.js +47 -47
  13. package/dist/cjs/api/gridviewPanelApi.js.map +1 -1
  14. package/dist/cjs/api/panelApi.d.ts +88 -81
  15. package/dist/cjs/api/panelApi.js +137 -121
  16. package/dist/cjs/api/panelApi.js.map +1 -1
  17. package/dist/cjs/api/paneviewPanelApi.d.ts +26 -26
  18. package/dist/cjs/api/paneviewPanelApi.js +57 -57
  19. package/dist/cjs/api/splitviewPanelApi.d.ts +32 -32
  20. package/dist/cjs/api/splitviewPanelApi.js +47 -47
  21. package/dist/cjs/array.d.ts +13 -13
  22. package/dist/cjs/array.js +77 -77
  23. package/dist/cjs/dnd/abstractDragHandler.d.ts +11 -11
  24. package/dist/cjs/dnd/abstractDragHandler.js +115 -115
  25. package/dist/cjs/dnd/abstractDragHandler.js.map +1 -1
  26. package/dist/cjs/dnd/dataTransfer.d.ts +31 -31
  27. package/dist/cjs/dnd/dataTransfer.js +100 -100
  28. package/dist/cjs/dnd/dataTransfer.js.map +1 -1
  29. package/dist/cjs/dnd/dnd.d.ts +27 -27
  30. package/dist/cjs/dnd/dnd.js +59 -64
  31. package/dist/cjs/dnd/dnd.js.map +1 -1
  32. package/dist/cjs/dnd/droptarget.d.ts +42 -37
  33. package/dist/cjs/dnd/droptarget.js +279 -201
  34. package/dist/cjs/dnd/droptarget.js.map +1 -1
  35. package/dist/cjs/dnd/ghost.d.ts +1 -0
  36. package/dist/cjs/dnd/ghost.js +15 -0
  37. package/dist/cjs/dnd/ghost.js.map +1 -0
  38. package/dist/cjs/dnd/groupDragHandler.d.ts +11 -0
  39. package/dist/cjs/dnd/groupDragHandler.js +62 -0
  40. package/dist/cjs/dnd/groupDragHandler.js.map +1 -0
  41. package/dist/cjs/dockview/components/tab/defaultTab.d.ts +27 -27
  42. package/dist/cjs/dockview/components/tab/defaultTab.js +121 -121
  43. package/dist/cjs/dockview/components/watermark/watermark.d.ts +20 -20
  44. package/dist/cjs/dockview/components/watermark/watermark.js +101 -101
  45. package/dist/cjs/dockview/defaultGroupPanelView.d.ts +29 -29
  46. package/dist/cjs/dockview/defaultGroupPanelView.js +68 -68
  47. package/dist/cjs/dockview/deserializer.d.ts +6 -5
  48. package/dist/cjs/dockview/deserializer.js +2 -2
  49. package/dist/cjs/dockview/dockviewComponent.d.ts +133 -125
  50. package/dist/cjs/dockview/dockviewComponent.js +795 -614
  51. package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
  52. package/dist/{esm/dockview/dockviewGroupPanel.d.ts → cjs/dockview/dockviewPanel.d.ts} +42 -31
  53. package/dist/cjs/dockview/{dockviewGroupPanel.js → dockviewPanel.js} +161 -157
  54. package/dist/cjs/dockview/dockviewPanel.js.map +1 -0
  55. package/dist/cjs/dockview/options.d.ts +110 -88
  56. package/dist/cjs/dockview/options.js +31 -2
  57. package/dist/cjs/dockview/options.js.map +1 -1
  58. package/dist/cjs/dockview/validation.d.ts +2 -0
  59. package/dist/cjs/dockview/validation.js +135 -0
  60. package/dist/cjs/dockview/validation.js.map +1 -0
  61. package/dist/cjs/dom.d.ts +14 -14
  62. package/dist/cjs/dom.js +182 -182
  63. package/dist/cjs/events.d.ts +30 -30
  64. package/dist/cjs/events.js +129 -129
  65. package/dist/cjs/gridview/baseComponentGridview.d.ts +87 -87
  66. package/dist/cjs/gridview/baseComponentGridview.js +278 -279
  67. package/dist/cjs/gridview/baseComponentGridview.js.map +1 -1
  68. package/dist/cjs/gridview/basePanelView.d.ts +43 -43
  69. package/dist/cjs/gridview/basePanelView.js +123 -123
  70. package/dist/cjs/gridview/branchNode.d.ts +49 -46
  71. package/dist/cjs/gridview/branchNode.js +342 -342
  72. package/dist/cjs/gridview/branchNode.js.map +1 -1
  73. package/dist/cjs/gridview/gridview.d.ts +132 -123
  74. package/dist/cjs/gridview/gridview.js +510 -479
  75. package/dist/cjs/gridview/gridview.js.map +1 -1
  76. package/dist/cjs/gridview/gridviewComponent.d.ts +85 -85
  77. package/dist/cjs/gridview/gridviewComponent.js +324 -325
  78. package/dist/cjs/gridview/gridviewComponent.js.map +1 -1
  79. package/dist/cjs/gridview/gridviewPanel.d.ts +60 -60
  80. package/dist/cjs/gridview/gridviewPanel.js +201 -202
  81. package/dist/cjs/gridview/gridviewPanel.js.map +1 -1
  82. package/dist/cjs/gridview/leafNode.d.ts +34 -31
  83. package/dist/cjs/gridview/leafNode.js +170 -165
  84. package/dist/cjs/gridview/leafNode.js.map +1 -1
  85. package/dist/cjs/gridview/options.d.ts +18 -18
  86. package/dist/cjs/gridview/options.js +2 -2
  87. package/dist/cjs/gridview/types.d.ts +3 -3
  88. package/dist/cjs/gridview/types.js +2 -2
  89. package/dist/cjs/groupview/dnd.d.ts +6 -5
  90. package/dist/cjs/groupview/dnd.js +10 -9
  91. package/dist/cjs/groupview/dnd.js.map +1 -1
  92. package/dist/cjs/groupview/groupview.d.ts +177 -177
  93. package/dist/cjs/groupview/groupview.js +607 -589
  94. package/dist/cjs/groupview/groupview.js.map +1 -1
  95. package/dist/cjs/groupview/groupviewPanel.d.ts +35 -35
  96. package/dist/cjs/groupview/groupviewPanel.js +128 -128
  97. package/dist/cjs/groupview/panel/content.d.ts +30 -30
  98. package/dist/cjs/groupview/panel/content.js +100 -100
  99. package/dist/cjs/groupview/tab.d.ts +31 -41
  100. package/dist/cjs/groupview/tab.js +124 -120
  101. package/dist/cjs/groupview/tab.js.map +1 -1
  102. package/dist/cjs/groupview/titlebar/tabsContainer.d.ts +65 -68
  103. package/dist/cjs/groupview/titlebar/tabsContainer.js +251 -258
  104. package/dist/cjs/groupview/titlebar/tabsContainer.js.map +1 -1
  105. package/dist/cjs/groupview/titlebar/voidContainer.d.ts +15 -0
  106. package/dist/cjs/groupview/titlebar/voidContainer.js +74 -0
  107. package/dist/cjs/groupview/titlebar/voidContainer.js.map +1 -0
  108. package/dist/cjs/groupview/types.d.ts +68 -52
  109. package/dist/cjs/groupview/types.js +2 -2
  110. package/dist/cjs/hostedContainer.d.ts +23 -23
  111. package/dist/cjs/hostedContainer.js +73 -73
  112. package/dist/cjs/index.d.ts +30 -30
  113. package/dist/cjs/index.js +47 -46
  114. package/dist/cjs/index.js.map +1 -1
  115. package/dist/cjs/lifecycle.d.ts +22 -22
  116. package/dist/cjs/lifecycle.js +88 -88
  117. package/dist/cjs/math.d.ts +4 -4
  118. package/dist/cjs/math.js +15 -15
  119. package/dist/cjs/panel/componentFactory.d.ts +8 -8
  120. package/dist/cjs/panel/componentFactory.js +30 -30
  121. package/dist/cjs/panel/types.d.ts +33 -33
  122. package/dist/cjs/panel/types.js +2 -2
  123. package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +21 -21
  124. package/dist/cjs/paneview/defaultPaneviewHeader.js +90 -90
  125. package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +19 -19
  126. package/dist/cjs/paneview/draggablePaneviewPanel.js +130 -129
  127. package/dist/cjs/paneview/draggablePaneviewPanel.js.map +1 -1
  128. package/dist/cjs/paneview/options.d.ts +27 -27
  129. package/dist/cjs/paneview/options.js +2 -2
  130. package/dist/cjs/paneview/paneview.d.ts +40 -40
  131. package/dist/cjs/paneview/paneview.js +201 -201
  132. package/dist/cjs/paneview/paneviewComponent.d.ts +129 -129
  133. package/dist/cjs/paneview/paneviewComponent.js +394 -394
  134. package/dist/cjs/paneview/paneviewComponent.js.map +1 -1
  135. package/dist/cjs/paneview/paneviewPanel.d.ts +92 -89
  136. package/dist/cjs/paneview/paneviewPanel.js +275 -274
  137. package/dist/cjs/paneview/paneviewPanel.js.map +1 -1
  138. package/dist/cjs/react/deserializer.d.ts +10 -9
  139. package/dist/cjs/react/deserializer.js +43 -43
  140. package/dist/cjs/react/deserializer.js.map +1 -1
  141. package/dist/cjs/react/dockview/defaultTab.d.ts +4 -4
  142. package/dist/cjs/react/dockview/defaultTab.js +72 -72
  143. package/dist/cjs/react/dockview/dockview.d.ts +35 -34
  144. package/dist/cjs/react/dockview/dockview.js +213 -212
  145. package/dist/cjs/react/dockview/dockview.js.map +1 -1
  146. package/dist/cjs/react/dockview/groupControlsRenderer.d.ts +43 -43
  147. package/dist/cjs/react/dockview/groupControlsRenderer.js +86 -86
  148. package/dist/cjs/react/dockview/reactContentPart.d.ts +30 -30
  149. package/dist/cjs/react/dockview/reactContentPart.js +58 -58
  150. package/dist/cjs/react/dockview/reactHeaderPart.d.ts +26 -26
  151. package/dist/cjs/react/dockview/reactHeaderPart.js +55 -55
  152. package/dist/cjs/react/dockview/reactWatermarkPart.d.ts +29 -29
  153. package/dist/cjs/react/dockview/reactWatermarkPart.js +65 -65
  154. package/dist/cjs/react/dockview/v2/reactContentRenderer.d.ts +29 -29
  155. package/dist/cjs/react/dockview/v2/reactContentRenderer.js +87 -87
  156. package/dist/cjs/react/dockview/v2/reactGroupPanelView.d.ts +7 -7
  157. package/dist/cjs/react/dockview/v2/reactGroupPanelView.js +34 -34
  158. package/dist/cjs/react/dockview/v2/webviewContentRenderer.d.ts +18 -18
  159. package/dist/cjs/react/dockview/v2/webviewContentRenderer.js +45 -45
  160. package/dist/cjs/react/gridview/gridview.d.ts +24 -24
  161. package/dist/cjs/react/gridview/gridview.js +112 -112
  162. package/dist/cjs/react/gridview/view.d.ts +11 -11
  163. package/dist/cjs/react/gridview/view.js +41 -40
  164. package/dist/cjs/react/gridview/view.js.map +1 -1
  165. package/dist/cjs/react/index.d.ts +9 -9
  166. package/dist/cjs/react/index.js +23 -23
  167. package/dist/cjs/react/paneview/paneview.d.ts +30 -30
  168. package/dist/cjs/react/paneview/paneview.js +155 -155
  169. package/dist/cjs/react/paneview/view.d.ts +20 -20
  170. package/dist/cjs/react/paneview/view.js +44 -44
  171. package/dist/cjs/react/react.d.ts +36 -36
  172. package/dist/cjs/react/react.js +194 -194
  173. package/dist/cjs/react/splitview/splitview.d.ts +24 -24
  174. package/dist/cjs/react/splitview/splitview.js +108 -108
  175. package/dist/cjs/react/splitview/view.d.ts +10 -10
  176. package/dist/cjs/react/splitview/view.js +40 -40
  177. package/dist/cjs/react/svg.d.ts +3 -3
  178. package/dist/cjs/react/svg.js +35 -35
  179. package/dist/cjs/react/types.d.ts +7 -7
  180. package/dist/cjs/react/types.js +2 -2
  181. package/dist/cjs/splitview/core/options.d.ts +26 -26
  182. package/dist/cjs/splitview/core/options.js +2 -2
  183. package/dist/cjs/splitview/core/splitview.d.ts +127 -124
  184. package/dist/cjs/splitview/core/splitview.js +908 -908
  185. package/dist/cjs/splitview/core/splitview.js.map +1 -1
  186. package/dist/cjs/splitview/core/viewItem.d.ts +25 -25
  187. package/dist/cjs/splitview/core/viewItem.js +124 -124
  188. package/dist/cjs/splitview/splitviewComponent.d.ts +101 -101
  189. package/dist/cjs/splitview/splitviewComponent.js +373 -373
  190. package/dist/cjs/splitview/splitviewComponent.js.map +1 -1
  191. package/dist/cjs/splitview/splitviewPanel.d.ts +45 -42
  192. package/dist/cjs/splitview/splitviewPanel.js +179 -178
  193. package/dist/cjs/splitview/splitviewPanel.js.map +1 -1
  194. package/dist/cjs/svg.d.ts +3 -3
  195. package/dist/cjs/svg.js +43 -43
  196. package/dist/cjs/types.d.ts +8 -7
  197. package/dist/cjs/types.js +7 -2
  198. package/dist/cjs/types.js.map +1 -1
  199. package/dist/dockview.amd.js +7168 -6739
  200. package/dist/dockview.amd.min.js +2 -2
  201. package/dist/dockview.amd.min.noStyle.js +2 -2
  202. package/dist/dockview.amd.noStyle.js +7176 -6747
  203. package/dist/dockview.cjs.js +7167 -6738
  204. package/dist/dockview.esm.js +7152 -6726
  205. package/dist/dockview.esm.min.js +2 -2
  206. package/dist/dockview.js +7168 -6739
  207. package/dist/dockview.min.js +2 -2
  208. package/dist/dockview.min.noStyle.js +2 -2
  209. package/dist/dockview.noStyle.js +7176 -6747
  210. package/dist/esm/actionbar/actionsContainer.d.ts +7 -7
  211. package/dist/esm/actionbar/actionsContainer.js +17 -17
  212. package/dist/esm/api/component.api.d.ts +145 -144
  213. package/dist/esm/api/component.api.js +329 -326
  214. package/dist/esm/api/{groupPanelApi.d.ts → dockviewPanelApi.d.ts} +34 -34
  215. package/dist/esm/api/{groupPanelApi.js → dockviewPanelApi.js} +48 -50
  216. package/dist/esm/api/gridviewPanelApi.d.ts +37 -36
  217. package/dist/esm/api/gridviewPanelApi.js +25 -25
  218. package/dist/esm/api/panelApi.d.ts +88 -81
  219. package/dist/esm/api/panelApi.js +95 -79
  220. package/dist/esm/api/paneviewPanelApi.d.ts +26 -26
  221. package/dist/esm/api/paneviewPanelApi.js +27 -27
  222. package/dist/esm/api/splitviewPanelApi.d.ts +32 -32
  223. package/dist/esm/api/splitviewPanelApi.js +25 -25
  224. package/dist/esm/array.d.ts +13 -13
  225. package/dist/esm/array.js +67 -67
  226. package/dist/esm/dnd/abstractDragHandler.d.ts +11 -11
  227. package/dist/esm/dnd/abstractDragHandler.js +37 -37
  228. package/dist/esm/dnd/dataTransfer.d.ts +31 -31
  229. package/dist/esm/dnd/dataTransfer.js +69 -69
  230. package/dist/esm/dnd/dnd.d.ts +27 -27
  231. package/dist/esm/dnd/dnd.js +36 -41
  232. package/dist/esm/dnd/droptarget.d.ts +42 -37
  233. package/dist/esm/dnd/droptarget.js +249 -167
  234. package/dist/esm/dnd/ghost.d.ts +1 -0
  235. package/dist/esm/dnd/ghost.js +10 -0
  236. package/dist/esm/dnd/groupDragHandler.d.ts +11 -0
  237. package/dist/esm/dnd/groupDragHandler.js +38 -0
  238. package/dist/esm/dockview/components/tab/defaultTab.d.ts +27 -27
  239. package/dist/esm/dockview/components/tab/defaultTab.js +79 -79
  240. package/dist/esm/dockview/components/watermark/watermark.d.ts +20 -20
  241. package/dist/esm/dockview/components/watermark/watermark.js +70 -70
  242. package/dist/esm/dockview/defaultGroupPanelView.d.ts +29 -29
  243. package/dist/esm/dockview/defaultGroupPanelView.js +44 -44
  244. package/dist/esm/dockview/deserializer.d.ts +6 -5
  245. package/dist/esm/dockview/deserializer.js +1 -1
  246. package/dist/esm/dockview/dockviewComponent.d.ts +133 -125
  247. package/dist/esm/dockview/dockviewComponent.js +632 -468
  248. package/dist/{cjs/dockview/dockviewGroupPanel.d.ts → esm/dockview/dockviewPanel.d.ts} +42 -31
  249. package/dist/esm/dockview/{dockviewGroupPanel.js → dockviewPanel.js} +111 -107
  250. package/dist/esm/dockview/options.d.ts +110 -88
  251. package/dist/esm/dockview/options.js +24 -1
  252. package/dist/esm/dockview/validation.d.ts +2 -0
  253. package/dist/esm/dockview/validation.js +86 -0
  254. package/dist/esm/dom.d.ts +14 -14
  255. package/dist/esm/dom.js +113 -113
  256. package/dist/esm/events.d.ts +30 -30
  257. package/dist/esm/events.js +88 -88
  258. package/dist/esm/gridview/baseComponentGridview.d.ts +87 -87
  259. package/dist/esm/gridview/baseComponentGridview.js +188 -189
  260. package/dist/esm/gridview/basePanelView.d.ts +43 -43
  261. package/dist/esm/gridview/basePanelView.js +74 -74
  262. package/dist/esm/gridview/branchNode.d.ts +49 -46
  263. package/dist/esm/gridview/branchNode.js +218 -218
  264. package/dist/esm/gridview/gridview.d.ts +132 -123
  265. package/dist/esm/gridview/gridview.js +423 -397
  266. package/dist/esm/gridview/gridviewComponent.d.ts +85 -85
  267. package/dist/esm/gridview/gridviewComponent.js +237 -238
  268. package/dist/esm/gridview/gridviewPanel.d.ts +60 -60
  269. package/dist/esm/gridview/gridviewPanel.js +138 -138
  270. package/dist/esm/gridview/leafNode.d.ts +34 -31
  271. package/dist/esm/gridview/leafNode.js +103 -98
  272. package/dist/esm/gridview/options.d.ts +18 -18
  273. package/dist/esm/gridview/options.js +1 -1
  274. package/dist/esm/gridview/types.d.ts +3 -3
  275. package/dist/esm/gridview/types.js +1 -1
  276. package/dist/esm/groupview/dnd.d.ts +6 -5
  277. package/dist/esm/groupview/dnd.js +7 -6
  278. package/dist/esm/groupview/groupview.d.ts +177 -177
  279. package/dist/esm/groupview/groupview.js +462 -444
  280. package/dist/esm/groupview/groupviewPanel.d.ts +35 -35
  281. package/dist/esm/groupview/groupviewPanel.js +61 -61
  282. package/dist/esm/groupview/panel/content.d.ts +30 -30
  283. package/dist/esm/groupview/panel/content.js +73 -73
  284. package/dist/esm/groupview/tab.d.ts +31 -41
  285. package/dist/esm/groupview/tab.js +94 -90
  286. package/dist/esm/groupview/titlebar/tabsContainer.d.ts +65 -68
  287. package/dist/esm/groupview/titlebar/tabsContainer.js +183 -190
  288. package/dist/esm/groupview/titlebar/voidContainer.d.ts +15 -0
  289. package/dist/esm/groupview/titlebar/voidContainer.js +47 -0
  290. package/dist/esm/groupview/types.d.ts +68 -52
  291. package/dist/esm/groupview/types.js +1 -1
  292. package/dist/esm/hostedContainer.d.ts +23 -23
  293. package/dist/esm/hostedContainer.js +63 -63
  294. package/dist/esm/index.d.ts +30 -30
  295. package/dist/esm/index.js +23 -23
  296. package/dist/esm/lifecycle.d.ts +22 -22
  297. package/dist/esm/lifecycle.js +39 -39
  298. package/dist/esm/math.d.ts +4 -4
  299. package/dist/esm/math.js +10 -10
  300. package/dist/esm/panel/componentFactory.d.ts +8 -8
  301. package/dist/esm/panel/componentFactory.js +24 -24
  302. package/dist/esm/panel/types.d.ts +33 -33
  303. package/dist/esm/panel/types.js +1 -1
  304. package/dist/esm/paneview/defaultPaneviewHeader.d.ts +21 -21
  305. package/dist/esm/paneview/defaultPaneviewHeader.js +63 -63
  306. package/dist/esm/paneview/draggablePaneviewPanel.d.ts +19 -19
  307. package/dist/esm/paneview/draggablePaneviewPanel.js +91 -90
  308. package/dist/esm/paneview/options.d.ts +27 -27
  309. package/dist/esm/paneview/options.js +1 -1
  310. package/dist/esm/paneview/paneview.d.ts +40 -40
  311. package/dist/esm/paneview/paneview.js +145 -145
  312. package/dist/esm/paneview/paneviewComponent.d.ts +129 -129
  313. package/dist/esm/paneview/paneviewComponent.js +270 -270
  314. package/dist/esm/paneview/paneviewPanel.d.ts +92 -89
  315. package/dist/esm/paneview/paneviewPanel.js +192 -191
  316. package/dist/esm/react/deserializer.d.ts +10 -9
  317. package/dist/esm/react/deserializer.js +38 -38
  318. package/dist/esm/react/dockview/defaultTab.d.ts +4 -4
  319. package/dist/esm/react/dockview/defaultTab.js +34 -34
  320. package/dist/esm/react/dockview/dockview.d.ts +35 -34
  321. package/dist/esm/react/dockview/dockview.js +158 -157
  322. package/dist/esm/react/dockview/groupControlsRenderer.d.ts +43 -43
  323. package/dist/esm/react/dockview/groupControlsRenderer.js +68 -68
  324. package/dist/esm/react/dockview/reactContentPart.d.ts +30 -30
  325. package/dist/esm/react/dockview/reactContentPart.js +49 -49
  326. package/dist/esm/react/dockview/reactHeaderPart.d.ts +26 -26
  327. package/dist/esm/react/dockview/reactHeaderPart.js +46 -46
  328. package/dist/esm/react/dockview/reactWatermarkPart.d.ts +29 -29
  329. package/dist/esm/react/dockview/reactWatermarkPart.js +55 -55
  330. package/dist/esm/react/dockview/v2/reactContentRenderer.d.ts +29 -29
  331. package/dist/esm/react/dockview/v2/reactContentRenderer.js +69 -69
  332. package/dist/esm/react/dockview/v2/reactGroupPanelView.d.ts +7 -7
  333. package/dist/esm/react/dockview/v2/reactGroupPanelView.js +12 -12
  334. package/dist/esm/react/dockview/v2/webviewContentRenderer.d.ts +18 -18
  335. package/dist/esm/react/dockview/v2/webviewContentRenderer.js +36 -36
  336. package/dist/esm/react/gridview/gridview.d.ts +24 -24
  337. package/dist/esm/react/gridview/gridview.js +70 -70
  338. package/dist/esm/react/gridview/view.d.ts +11 -11
  339. package/dist/esm/react/gridview/view.js +19 -18
  340. package/dist/esm/react/index.d.ts +9 -9
  341. package/dist/esm/react/index.js +7 -7
  342. package/dist/esm/react/paneview/paneview.d.ts +30 -30
  343. package/dist/esm/react/paneview/paneview.js +100 -100
  344. package/dist/esm/react/paneview/view.d.ts +20 -20
  345. package/dist/esm/react/paneview/view.js +35 -35
  346. package/dist/esm/react/react.d.ts +36 -36
  347. package/dist/esm/react/react.js +125 -125
  348. package/dist/esm/react/splitview/splitview.d.ts +24 -24
  349. package/dist/esm/react/splitview/splitview.js +66 -66
  350. package/dist/esm/react/splitview/view.d.ts +10 -10
  351. package/dist/esm/react/splitview/view.js +18 -18
  352. package/dist/esm/react/svg.d.ts +3 -3
  353. package/dist/esm/react/svg.js +7 -7
  354. package/dist/esm/react/types.d.ts +7 -7
  355. package/dist/esm/react/types.js +1 -1
  356. package/dist/esm/splitview/core/options.d.ts +26 -26
  357. package/dist/esm/splitview/core/options.js +1 -1
  358. package/dist/esm/splitview/core/splitview.d.ts +127 -124
  359. package/dist/esm/splitview/core/splitview.js +689 -689
  360. package/dist/esm/splitview/core/viewItem.d.ts +25 -25
  361. package/dist/esm/splitview/core/viewItem.js +79 -79
  362. package/dist/esm/splitview/splitviewComponent.d.ts +101 -101
  363. package/dist/esm/splitview/splitviewComponent.js +249 -249
  364. package/dist/esm/splitview/splitviewPanel.d.ts +45 -42
  365. package/dist/esm/splitview/splitviewPanel.js +108 -107
  366. package/dist/esm/svg.d.ts +3 -3
  367. package/dist/esm/svg.js +31 -31
  368. package/dist/esm/types.d.ts +8 -7
  369. package/dist/esm/types.js +3 -1
  370. package/dist/styles/dockview.css +23 -26
  371. package/package.json +12 -16
  372. package/dist/cjs/api/groupPanelApi.js.map +0 -1
  373. package/dist/cjs/dockview/dockviewGroupPanel.js.map +0 -1
  374. package/dist/cjs/groupview/groupPanel.d.ts +0 -32
  375. package/dist/cjs/groupview/groupPanel.js +0 -3
  376. package/dist/cjs/groupview/groupPanel.js.map +0 -1
  377. package/dist/esm/groupview/groupPanel.d.ts +0 -32
  378. package/dist/esm/groupview/groupPanel.js +0 -1
@@ -1,31 +1,42 @@
1
- import { DockviewApi } from '../api/component.api';
2
- import { DockviewPanelApiImpl } from '../api/groupPanelApi';
3
- import { GroupPanelUpdateEvent, GroupviewPanelState, IDockviewPanel, IGroupPanelInitParameters } from '../groupview/groupPanel';
4
- import { GroupPanel } from '../groupview/groupviewPanel';
5
- import { CompositeDisposable } from '../lifecycle';
6
- import { Parameters } from '../panel/types';
7
- import { IGroupPanelView } from './defaultGroupPanelView';
8
- import { DockviewComponent } from './dockviewComponent';
9
- export declare class DockviewGroupPanel extends CompositeDisposable implements IDockviewPanel {
10
- readonly id: string;
11
- private readonly containerApi;
12
- private readonly mutableDisposable;
13
- readonly api: DockviewPanelApiImpl;
14
- private _group;
15
- private _params?;
16
- private _view?;
17
- private _title;
18
- get params(): Parameters | undefined;
19
- get title(): string;
20
- get group(): GroupPanel;
21
- get view(): IGroupPanelView | undefined;
22
- constructor(id: string, accessor: DockviewComponent, containerApi: DockviewApi, group: GroupPanel);
23
- init(params: IGroupPanelInitParameters): void;
24
- focus(): void;
25
- toJSON(): GroupviewPanelState;
26
- setTitle(title: string): void;
27
- update(event: GroupPanelUpdateEvent): void;
28
- updateParentGroup(group: GroupPanel, isGroupActive: boolean): void;
29
- layout(width: number, height: number): void;
30
- dispose(): void;
31
- }
1
+ import { DockviewApi } from '../api/component.api';
2
+ import { DockviewPanelApi, DockviewPanelApiImpl } from '../api/dockviewPanelApi';
3
+ import { GroupPanelUpdateEvent, GroupviewPanelState, IGroupPanelInitParameters } from '../groupview/types';
4
+ import { GroupPanel } from '../groupview/groupviewPanel';
5
+ import { CompositeDisposable, IDisposable } from '../lifecycle';
6
+ import { IPanel, Parameters } from '../panel/types';
7
+ import { IGroupPanelView } from './defaultGroupPanelView';
8
+ import { DockviewComponent } from './dockviewComponent';
9
+ export interface IDockviewPanel extends IDisposable, IPanel {
10
+ readonly view?: IGroupPanelView;
11
+ readonly group: GroupPanel;
12
+ readonly api: DockviewPanelApi;
13
+ readonly title: string;
14
+ readonly params: Record<string, any> | undefined;
15
+ updateParentGroup(group: GroupPanel, isGroupActive: boolean): void;
16
+ init(params: IGroupPanelInitParameters): void;
17
+ toJSON(): GroupviewPanelState;
18
+ update(event: GroupPanelUpdateEvent): void;
19
+ }
20
+ export declare class DockviewPanel extends CompositeDisposable implements IDockviewPanel {
21
+ readonly id: string;
22
+ private readonly containerApi;
23
+ private readonly mutableDisposable;
24
+ readonly api: DockviewPanelApiImpl;
25
+ private _group;
26
+ private _params?;
27
+ private _view?;
28
+ private _title;
29
+ get params(): Parameters | undefined;
30
+ get title(): string;
31
+ get group(): GroupPanel;
32
+ get view(): IGroupPanelView | undefined;
33
+ constructor(id: string, accessor: DockviewComponent, containerApi: DockviewApi, group: GroupPanel);
34
+ init(params: IGroupPanelInitParameters): void;
35
+ focus(): void;
36
+ toJSON(): GroupviewPanelState;
37
+ setTitle(title: string): void;
38
+ update(event: GroupPanelUpdateEvent): void;
39
+ updateParentGroup(group: GroupPanel, isGroupActive: boolean): void;
40
+ layout(width: number, height: number): void;
41
+ dispose(): void;
42
+ }
@@ -1,107 +1,111 @@
1
- import { DockviewPanelApiImpl } from '../api/groupPanelApi';
2
- import { CompositeDisposable, MutableDisposable } from '../lifecycle';
3
- export class DockviewGroupPanel extends CompositeDisposable {
4
- constructor(id, accessor, containerApi, group) {
5
- super();
6
- this.id = id;
7
- this.containerApi = containerApi;
8
- this.mutableDisposable = new MutableDisposable();
9
- this._title = '';
10
- this._group = group;
11
- this.api = new DockviewPanelApiImpl(this, this._group);
12
- this.addDisposables(this.api.onActiveChange(() => {
13
- accessor.setActivePanel(this);
14
- }));
15
- }
16
- get params() {
17
- return this._params;
18
- }
19
- get title() {
20
- return this._title;
21
- }
22
- get group() {
23
- return this._group;
24
- }
25
- get view() {
26
- return this._view;
27
- }
28
- init(params) {
29
- var _a;
30
- this._params = params.params;
31
- this._view = params.view;
32
- this.setTitle(params.title);
33
- (_a = this.view) === null || _a === void 0 ? void 0 : _a.init(Object.assign(Object.assign({}, params), { api: this.api, containerApi: this.containerApi }));
34
- }
35
- focus() {
36
- this.api._onFocusEvent.fire();
37
- }
38
- toJSON() {
39
- return {
40
- id: this.id,
41
- view: this.view.toJSON(),
42
- params: Object.keys(this._params || {}).length > 0
43
- ? this._params
44
- : undefined,
45
- title: this.title,
46
- };
47
- }
48
- setTitle(title) {
49
- var _a, _b;
50
- const didTitleChange = title !== ((_a = this._params) === null || _a === void 0 ? void 0 : _a.title);
51
- if (didTitleChange) {
52
- this._title = title;
53
- (_b = this.view) === null || _b === void 0 ? void 0 : _b.update({
54
- params: {
55
- params: this._params,
56
- title: this.title,
57
- },
58
- });
59
- this.api._onDidTitleChange.fire({ title });
60
- }
61
- }
62
- update(event) {
63
- var _a;
64
- const params = event.params;
65
- this._params = Object.assign(Object.assign({}, (this._params || {})), event.params.params);
66
- if (typeof params.title === 'string') {
67
- if (params.title !== this.title) {
68
- this._title = params.title;
69
- this.api._onDidTitleChange.fire({ title: this.title });
70
- }
71
- }
72
- (_a = this.view) === null || _a === void 0 ? void 0 : _a.update({
73
- params: {
74
- params: this._params,
75
- title: this.title,
76
- },
77
- });
78
- }
79
- updateParentGroup(group, isGroupActive) {
80
- var _a;
81
- this._group = group;
82
- this.api.group = group;
83
- const isPanelVisible = this._group.model.isPanelActive(this);
84
- this.api._onDidActiveChange.fire({
85
- isActive: isGroupActive && isPanelVisible,
86
- });
87
- this.api._onDidVisibilityChange.fire({
88
- isVisible: isPanelVisible,
89
- });
90
- (_a = this.view) === null || _a === void 0 ? void 0 : _a.updateParentGroup(this._group, this._group.model.isPanelActive(this));
91
- }
92
- layout(width, height) {
93
- var _a;
94
- // the obtain the correct dimensions of the content panel we must deduct the tab height
95
- this.api._onDidDimensionChange.fire({
96
- width,
97
- height: height - (this.group.model.header.height || 0),
98
- });
99
- (_a = this.view) === null || _a === void 0 ? void 0 : _a.layout(width, height);
100
- }
101
- dispose() {
102
- var _a;
103
- this.api.dispose();
104
- this.mutableDisposable.dispose();
105
- (_a = this.view) === null || _a === void 0 ? void 0 : _a.dispose();
106
- }
107
- }
1
+ import { DockviewPanelApiImpl, } from '../api/dockviewPanelApi';
2
+ import { CompositeDisposable, MutableDisposable, } from '../lifecycle';
3
+ export class DockviewPanel extends CompositeDisposable {
4
+ get params() {
5
+ return this._params;
6
+ }
7
+ get title() {
8
+ return this._title;
9
+ }
10
+ get group() {
11
+ return this._group;
12
+ }
13
+ get view() {
14
+ return this._view;
15
+ }
16
+ constructor(id, accessor, containerApi, group) {
17
+ super();
18
+ this.id = id;
19
+ this.containerApi = containerApi;
20
+ this.mutableDisposable = new MutableDisposable();
21
+ this._title = '';
22
+ this._group = group;
23
+ this.api = new DockviewPanelApiImpl(this, this._group);
24
+ this.addDisposables(this.api.onActiveChange(() => {
25
+ accessor.setActivePanel(this);
26
+ }), this.api.onDidSizeChange((event) => {
27
+ // forward the resize event to the group since if you want to resize a panel
28
+ // you are actually just resizing the panels parent which is the group
29
+ this.group.api.setSize(event);
30
+ }));
31
+ }
32
+ init(params) {
33
+ var _a;
34
+ this._params = params.params;
35
+ this._view = params.view;
36
+ this.setTitle(params.title);
37
+ (_a = this.view) === null || _a === void 0 ? void 0 : _a.init(Object.assign(Object.assign({}, params), { api: this.api, containerApi: this.containerApi }));
38
+ }
39
+ focus() {
40
+ this.api._onFocusEvent.fire();
41
+ }
42
+ toJSON() {
43
+ return {
44
+ id: this.id,
45
+ view: this.view.toJSON(),
46
+ params: Object.keys(this._params || {}).length > 0
47
+ ? this._params
48
+ : undefined,
49
+ title: this.title,
50
+ };
51
+ }
52
+ setTitle(title) {
53
+ var _a, _b;
54
+ const didTitleChange = title !== ((_a = this._params) === null || _a === void 0 ? void 0 : _a.title);
55
+ if (didTitleChange) {
56
+ this._title = title;
57
+ (_b = this.view) === null || _b === void 0 ? void 0 : _b.update({
58
+ params: {
59
+ params: this._params,
60
+ title: this.title,
61
+ },
62
+ });
63
+ this.api._onDidTitleChange.fire({ title });
64
+ }
65
+ }
66
+ update(event) {
67
+ var _a;
68
+ const params = event.params;
69
+ this._params = Object.assign(Object.assign({}, (this._params || {})), event.params.params);
70
+ if (typeof params.title === 'string') {
71
+ if (params.title !== this.title) {
72
+ this._title = params.title;
73
+ this.api._onDidTitleChange.fire({ title: this.title });
74
+ }
75
+ }
76
+ (_a = this.view) === null || _a === void 0 ? void 0 : _a.update({
77
+ params: {
78
+ params: this._params,
79
+ title: this.title,
80
+ },
81
+ });
82
+ }
83
+ updateParentGroup(group, isGroupActive) {
84
+ var _a;
85
+ this._group = group;
86
+ this.api.group = group;
87
+ const isPanelVisible = this._group.model.isPanelActive(this);
88
+ this.api._onDidActiveChange.fire({
89
+ isActive: isGroupActive && isPanelVisible,
90
+ });
91
+ this.api._onDidVisibilityChange.fire({
92
+ isVisible: isPanelVisible,
93
+ });
94
+ (_a = this.view) === null || _a === void 0 ? void 0 : _a.updateParentGroup(this._group, this._group.model.isPanelActive(this));
95
+ }
96
+ layout(width, height) {
97
+ var _a;
98
+ // the obtain the correct dimensions of the content panel we must deduct the tab height
99
+ this.api._onDidDimensionChange.fire({
100
+ width,
101
+ height: height - (this.group.model.header.height || 0),
102
+ });
103
+ (_a = this.view) === null || _a === void 0 ? void 0 : _a.layout(width, height);
104
+ }
105
+ dispose() {
106
+ var _a;
107
+ this.api.dispose();
108
+ this.mutableDisposable.dispose();
109
+ (_a = this.view) === null || _a === void 0 ? void 0 : _a.dispose();
110
+ }
111
+ }
@@ -1,88 +1,110 @@
1
- import { DockviewApi } from '../api/component.api';
2
- import { Direction } from '../gridview/baseComponentGridview';
3
- import { IGridView } from '../gridview/gridview';
4
- import { IDockviewPanel } from '../groupview/groupPanel';
5
- import { IContentRenderer, ITabRenderer, WatermarkConstructor, IWatermarkRenderer } from '../groupview/types';
6
- import { GroupPanel } from '../groupview/groupviewPanel';
7
- import { ISplitviewStyles, Orientation } from '../splitview/core/splitview';
8
- import { FrameworkFactory } from '../types';
9
- import { DockviewDropTargets } from '../groupview/dnd';
10
- import { PanelTransfer } from '../dnd/dataTransfer';
11
- import { IGroupControlRenderer } from '../react/dockview/groupControlsRenderer';
12
- export interface GroupPanelFrameworkComponentFactory {
13
- content: FrameworkFactory<IContentRenderer>;
14
- tab: FrameworkFactory<ITabRenderer>;
15
- watermark: FrameworkFactory<IWatermarkRenderer>;
16
- }
17
- export interface TabContextMenuEvent {
18
- event: MouseEvent;
19
- api: DockviewApi;
20
- panel: IDockviewPanel;
21
- }
22
- export interface DockviewRenderFunctions {
23
- tabComponents?: {
24
- [componentName: string]: {
25
- new (id: string, component: string): ITabRenderer;
26
- };
27
- };
28
- components?: {
29
- [componentName: string]: {
30
- new (id: string, component: string): IContentRenderer;
31
- };
32
- };
33
- frameworkTabComponents?: {
34
- [componentName: string]: any;
35
- };
36
- frameworkComponents?: {
37
- [componentName: string]: any;
38
- };
39
- }
40
- export interface ViewFactoryData {
41
- content: string;
42
- tab?: string;
43
- }
44
- export interface DockviewDndOverlayEvent {
45
- nativeEvent: DragEvent;
46
- target: DockviewDropTargets;
47
- group: GroupPanel;
48
- getData: () => PanelTransfer | undefined;
49
- }
50
- export interface DockviewComponentOptions extends DockviewRenderFunctions {
51
- watermarkComponent?: WatermarkConstructor;
52
- watermarkFrameworkComponent?: any;
53
- frameworkComponentFactory?: GroupPanelFrameworkComponentFactory;
54
- tabHeight?: number;
55
- orientation?: Orientation;
56
- styles?: ISplitviewStyles;
57
- defaultTabComponent?: string;
58
- showDndOverlay?: (event: DockviewDndOverlayEvent) => boolean;
59
- createGroupControlElement?: (group: GroupPanel) => IGroupControlRenderer;
60
- }
61
- export interface PanelOptions {
62
- component: string;
63
- tabComponent?: string;
64
- params?: {
65
- [key: string]: any;
66
- };
67
- id: string;
68
- title?: string;
69
- }
70
- export interface AddPanelOptions extends Omit<PanelOptions, 'component' | 'tabComponent'> {
71
- component: string;
72
- tabComponent?: string;
73
- position?: {
74
- direction?: Direction;
75
- referencePanel?: string;
76
- };
77
- }
78
- export interface AddGroupOptions {
79
- direction?: 'left' | 'right' | 'above' | 'below';
80
- referencePanel: string;
81
- }
82
- export interface MovementOptions2 {
83
- group?: IGridView;
84
- }
85
- export interface MovementOptions extends MovementOptions2 {
86
- includePanel?: boolean;
87
- group?: GroupPanel;
88
- }
1
+ import { DockviewApi } from '../api/component.api';
2
+ import { Direction } from '../gridview/baseComponentGridview';
3
+ import { IGridView } from '../gridview/gridview';
4
+ import { IContentRenderer, ITabRenderer, WatermarkConstructor, IWatermarkRenderer } from '../groupview/types';
5
+ import { GroupPanel } from '../groupview/groupviewPanel';
6
+ import { ISplitviewStyles, Orientation } from '../splitview/core/splitview';
7
+ import { FrameworkFactory } from '../types';
8
+ import { DockviewDropTargets } from '../groupview/dnd';
9
+ import { PanelTransfer } from '../dnd/dataTransfer';
10
+ import { IGroupControlRenderer } from '../react/dockview/groupControlsRenderer';
11
+ import { Position } from '../dnd/droptarget';
12
+ import { IDockviewPanel } from './dockviewPanel';
13
+ export interface GroupPanelFrameworkComponentFactory {
14
+ content: FrameworkFactory<IContentRenderer>;
15
+ tab: FrameworkFactory<ITabRenderer>;
16
+ watermark: FrameworkFactory<IWatermarkRenderer>;
17
+ }
18
+ export interface TabContextMenuEvent {
19
+ event: MouseEvent;
20
+ api: DockviewApi;
21
+ panel: IDockviewPanel;
22
+ }
23
+ export interface DockviewRenderFunctions {
24
+ tabComponents?: {
25
+ [componentName: string]: {
26
+ new (id: string, component: string): ITabRenderer;
27
+ };
28
+ };
29
+ components?: {
30
+ [componentName: string]: {
31
+ new (id: string, component: string): IContentRenderer;
32
+ };
33
+ };
34
+ frameworkTabComponents?: {
35
+ [componentName: string]: any;
36
+ };
37
+ frameworkComponents?: {
38
+ [componentName: string]: any;
39
+ };
40
+ }
41
+ export interface ViewFactoryData {
42
+ content: string;
43
+ tab?: string;
44
+ }
45
+ export interface DockviewDndOverlayEvent {
46
+ nativeEvent: DragEvent;
47
+ target: DockviewDropTargets;
48
+ position: Position;
49
+ group?: GroupPanel;
50
+ getData: () => PanelTransfer | undefined;
51
+ }
52
+ export interface DockviewComponentOptions extends DockviewRenderFunctions {
53
+ watermarkComponent?: WatermarkConstructor;
54
+ watermarkFrameworkComponent?: any;
55
+ frameworkComponentFactory?: GroupPanelFrameworkComponentFactory;
56
+ tabHeight?: number;
57
+ orientation?: Orientation;
58
+ styles?: ISplitviewStyles;
59
+ defaultTabComponent?: string;
60
+ showDndOverlay?: (event: DockviewDndOverlayEvent) => boolean;
61
+ createGroupControlElement?: (group: GroupPanel) => IGroupControlRenderer;
62
+ singleTabMode?: 'fullwidth' | 'default';
63
+ }
64
+ export interface PanelOptions {
65
+ component: string;
66
+ tabComponent?: string;
67
+ params?: {
68
+ [key: string]: any;
69
+ };
70
+ id: string;
71
+ title?: string;
72
+ }
73
+ type RelativePanel = {
74
+ direction?: Direction;
75
+ referencePanel: string | IDockviewPanel;
76
+ };
77
+ type RelativeGroup = {
78
+ direction?: Direction;
79
+ referenceGroup: string | GroupPanel;
80
+ };
81
+ type AbsolutePosition = {
82
+ direction: Omit<Direction, 'within'>;
83
+ };
84
+ export type AddPanelPositionOptions = RelativePanel | RelativeGroup | AbsolutePosition;
85
+ export declare function isPanelOptionsWithPanel(data: AddPanelPositionOptions): data is RelativePanel;
86
+ export declare function isPanelOptionsWithGroup(data: AddPanelPositionOptions): data is RelativeGroup;
87
+ export interface AddPanelOptions extends Omit<PanelOptions, 'component' | 'tabComponent'> {
88
+ component: string;
89
+ tabComponent?: string;
90
+ position?: AddPanelPositionOptions;
91
+ }
92
+ type AddGroupOptionsWithPanel = {
93
+ referencePanel: string | IDockviewPanel;
94
+ direction?: Omit<Direction, 'within'>;
95
+ };
96
+ type AddGroupOptionsWithGroup = {
97
+ referenceGroup: string | GroupPanel;
98
+ direction?: Omit<Direction, 'within'>;
99
+ };
100
+ export type AddGroupOptions = AddGroupOptionsWithGroup | AddGroupOptionsWithPanel | AbsolutePosition;
101
+ export declare function isGroupOptionsWithPanel(data: AddGroupOptions): data is AddGroupOptionsWithPanel;
102
+ export declare function isGroupOptionsWithGroup(data: AddGroupOptions): data is AddGroupOptionsWithGroup;
103
+ export interface MovementOptions2 {
104
+ group?: IGridView;
105
+ }
106
+ export interface MovementOptions extends MovementOptions2 {
107
+ includePanel?: boolean;
108
+ group?: GroupPanel;
109
+ }
110
+ export {};
@@ -1 +1,24 @@
1
- export {};
1
+ export function isPanelOptionsWithPanel(data) {
2
+ if (data.referencePanel) {
3
+ return true;
4
+ }
5
+ return false;
6
+ }
7
+ export function isPanelOptionsWithGroup(data) {
8
+ if (data.referenceGroup) {
9
+ return true;
10
+ }
11
+ return false;
12
+ }
13
+ export function isGroupOptionsWithPanel(data) {
14
+ if (data.referencePanel) {
15
+ return true;
16
+ }
17
+ return false;
18
+ }
19
+ export function isGroupOptionsWithGroup(data) {
20
+ if (data.referenceGroup) {
21
+ return true;
22
+ }
23
+ return false;
24
+ }
@@ -0,0 +1,2 @@
1
+ import { SerializedDockview } from './dockviewComponent';
2
+ export declare function validateSerializedDockview(data: SerializedDockview): void;
@@ -0,0 +1,86 @@
1
+ import { Orientation } from '../splitview/core/splitview';
2
+ function validateGroupViewPanelState(value) {
3
+ if (typeof value.id !== 'string') {
4
+ throw new Error('invalid layout');
5
+ }
6
+ if (typeof value.title !== 'string') {
7
+ throw new Error('invalid layout');
8
+ }
9
+ if (value.params !== undefined && typeof value.params !== 'object') {
10
+ throw new Error('invalid layout');
11
+ }
12
+ }
13
+ function validateGroupPanelViewState(value) {
14
+ if (typeof value.id !== 'string') {
15
+ throw new Error('invalid layout');
16
+ }
17
+ if (value.locked !== undefined && typeof value.locked !== 'boolean') {
18
+ throw new Error('invalid layout');
19
+ }
20
+ if (value.hideHeader !== undefined && typeof value.locked !== 'boolean') {
21
+ throw new Error('invalid layout');
22
+ }
23
+ if (value.activeView !== undefined &&
24
+ typeof value.activeView !== 'string') {
25
+ throw new Error('invalid layout');
26
+ }
27
+ if (!Array.isArray(value.views)) {
28
+ throw new Error('invalid layout');
29
+ }
30
+ for (const child of value.views) {
31
+ if (typeof child !== 'string') {
32
+ if (!Array.isArray(value.views)) {
33
+ throw new Error('invalid layout');
34
+ }
35
+ }
36
+ }
37
+ }
38
+ function validateSerializedGridObject(value) {
39
+ if (value.size !== undefined && typeof value.size !== 'number') {
40
+ throw new Error('invalid layout');
41
+ }
42
+ if (value.visible !== undefined && typeof value.size !== 'boolean') {
43
+ throw new Error('invalid layout');
44
+ }
45
+ if (value.type !== 'branch' && value.type !== 'leaf') {
46
+ throw new Error('invalid layout');
47
+ }
48
+ if (Array.isArray(value.data)) {
49
+ for (const child of value.data) {
50
+ validateSerializedGridObject(child);
51
+ }
52
+ }
53
+ else {
54
+ validateGroupPanelViewState(value.data);
55
+ }
56
+ }
57
+ export function validateSerializedDockview(data) {
58
+ if (typeof data !== 'object') {
59
+ throw new Error('invalid layout');
60
+ }
61
+ const { grid, panels, options, activeGroup } = data;
62
+ if (typeof grid !== 'object') {
63
+ throw new Error('invalid layout');
64
+ }
65
+ if (typeof grid.height !== 'number') {
66
+ throw new Error('invalid layout');
67
+ }
68
+ if (typeof grid.width !== 'number') {
69
+ throw new Error('invalid layout');
70
+ }
71
+ if (grid.orientation !== Orientation.HORIZONTAL &&
72
+ grid.orientation !== Orientation.VERTICAL) {
73
+ throw new Error('invalid layout');
74
+ }
75
+ validateSerializedGridObject(grid.root);
76
+ if (data.activeGroup !== undefined &&
77
+ typeof data.activeGroup !== 'string') {
78
+ throw new Error('invalid layout');
79
+ }
80
+ if (typeof data.panels !== 'object') {
81
+ throw new Error('invalid layout');
82
+ }
83
+ for (const value of Object.values(data.panels)) {
84
+ validateGroupViewPanelState(value);
85
+ }
86
+ }
package/dist/esm/dom.d.ts CHANGED
@@ -1,14 +1,14 @@
1
- import { Event } from './events';
2
- import { IDisposable } from './lifecycle';
3
- export declare function watchElementResize(element: HTMLElement, cb: (entry: ResizeObserverEntry) => void): IDisposable;
4
- export declare const removeClasses: (element: HTMLElement, ...classes: string[]) => void;
5
- export declare const addClasses: (element: HTMLElement, ...classes: string[]) => void;
6
- export declare const toggleClass: (element: HTMLElement, className: string, isToggled: boolean) => void;
7
- export declare function isAncestor(testChild: Node | null, testAncestor: Node | null): boolean;
8
- export declare function getElementsByTagName(tag: string): HTMLElement[];
9
- export interface IFocusTracker extends IDisposable {
10
- onDidFocus: Event<void>;
11
- onDidBlur: Event<void>;
12
- refreshState?(): void;
13
- }
14
- export declare function trackFocus(element: HTMLElement | Window): IFocusTracker;
1
+ import { Event } from './events';
2
+ import { IDisposable } from './lifecycle';
3
+ export declare function watchElementResize(element: HTMLElement, cb: (entry: ResizeObserverEntry) => void): IDisposable;
4
+ export declare const removeClasses: (element: HTMLElement, ...classes: string[]) => void;
5
+ export declare const addClasses: (element: HTMLElement, ...classes: string[]) => void;
6
+ export declare const toggleClass: (element: HTMLElement, className: string, isToggled: boolean) => void;
7
+ export declare function isAncestor(testChild: Node | null, testAncestor: Node | null): boolean;
8
+ export declare function getElementsByTagName(tag: string): HTMLElement[];
9
+ export interface IFocusTracker extends IDisposable {
10
+ onDidFocus: Event<void>;
11
+ onDidBlur: Event<void>;
12
+ refreshState?(): void;
13
+ }
14
+ export declare function trackFocus(element: HTMLElement | Window): IFocusTracker;