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,183 +1,183 @@
1
- import { PaneviewPanelApiImpl } from '../api/paneviewPanelApi';
2
- import { addClasses, removeClasses } from '../dom';
3
- import { addDisposableListener, Emitter } from '../events';
4
- import { BasePanelView, } from '../gridview/basePanelView';
5
- import { Orientation } from '../splitview/core/splitview';
6
- export class PaneviewPanel extends BasePanelView {
7
- constructor(id, component, headerComponent, orientation, isExpanded) {
8
- super(id, component, new PaneviewPanelApiImpl(id));
9
- this.headerComponent = headerComponent;
10
- this._onDidChangeExpansionState = new Emitter({ replay: true });
11
- this.onDidChangeExpansionState = this._onDidChangeExpansionState.event;
12
- this._onDidChange = new Emitter();
13
- this.onDidChange = this._onDidChange.event;
14
- this.headerSize = 22;
15
- this._orthogonalSize = 0;
16
- this._size = 0;
17
- this._minimumBodySize = 100;
18
- this._maximumBodySize = Number.POSITIVE_INFINITY;
19
- this._isExpanded = false;
20
- this.expandedSize = 0;
21
- this.api.pane = this; // TODO cannot use 'this' before 'super'
22
- this._isExpanded = isExpanded;
23
- this._onDidChangeExpansionState.fire(this.isExpanded()); // initialize value
24
- this._orientation = orientation;
25
- this.element.classList.add('pane');
26
- this.addDisposables(this.api.onDidSizeChange((event) => {
27
- this._onDidChange.fire(event.size);
28
- }), addDisposableListener(this.element, 'mouseenter', (ev) => {
29
- this.api._onMouseEnter.fire(ev);
30
- }), addDisposableListener(this.element, 'mouseleave', (ev) => {
31
- this.api._onMouseLeave.fire(ev);
32
- }));
33
- this.addDisposables(this._onDidChangeExpansionState, this.onDidChangeExpansionState((isPanelExpanded) => {
34
- this.api._onDidExpansionChange.fire({
35
- isExpanded: isPanelExpanded,
36
- });
37
- }), this.api.onDidFocusChange((e) => {
38
- if (!this.header) {
39
- return;
40
- }
41
- if (e.isFocused) {
42
- addClasses(this.header, 'focused');
43
- }
44
- else {
45
- removeClasses(this.header, 'focused');
46
- }
47
- }));
48
- this.renderOnce();
49
- }
50
- set orientation(value) {
51
- this._orientation = value;
52
- }
53
- get orientation() {
54
- return this._orientation;
55
- }
56
- get minimumSize() {
57
- const headerSize = this.headerSize;
58
- const expanded = this.isExpanded();
59
- const minimumBodySize = expanded ? this._minimumBodySize : 0;
60
- return headerSize + minimumBodySize;
61
- }
62
- get maximumSize() {
63
- const headerSize = this.headerSize;
64
- const expanded = this.isExpanded();
65
- const maximumBodySize = expanded ? this._maximumBodySize : 0;
66
- return headerSize + maximumBodySize;
67
- }
68
- get size() {
69
- return this._size;
70
- }
71
- get orthogonalSize() {
72
- return this._orthogonalSize;
73
- }
74
- set orthogonalSize(size) {
75
- this._orthogonalSize = size;
76
- }
77
- get minimumBodySize() {
78
- return this._minimumBodySize;
79
- }
80
- set minimumBodySize(value) {
81
- this._minimumBodySize = typeof value === 'number' ? value : 0;
82
- }
83
- get maximumBodySize() {
84
- return this._maximumBodySize;
85
- }
86
- set maximumBodySize(value) {
87
- this._maximumBodySize =
88
- typeof value === 'number' ? value : Number.POSITIVE_INFINITY;
89
- }
90
- setVisible(isVisible) {
91
- this.api._onDidVisibilityChange.fire({ isVisible });
92
- }
93
- setActive(isActive) {
94
- this.api._onDidActiveChange.fire({ isActive });
95
- }
96
- isExpanded() {
97
- return this._isExpanded;
98
- }
99
- setExpanded(expanded) {
100
- if (this._isExpanded === expanded) {
101
- return;
102
- }
103
- this._isExpanded = expanded;
104
- if (expanded) {
105
- if (this.animationTimer) {
106
- clearTimeout(this.animationTimer);
107
- }
108
- if (this.body) {
109
- this.element.appendChild(this.body);
110
- }
111
- }
112
- else {
113
- this.animationTimer = setTimeout(() => {
114
- var _a;
115
- (_a = this.body) === null || _a === void 0 ? void 0 : _a.remove();
116
- }, 200);
117
- }
118
- this._onDidChange.fire(expanded ? this.width : undefined);
119
- this._onDidChangeExpansionState.fire(expanded);
120
- }
121
- layout(size, orthogonalSize) {
122
- this._size = size;
123
- this._orthogonalSize = orthogonalSize;
124
- const [width, height] = this.orientation === Orientation.HORIZONTAL
125
- ? [size, orthogonalSize]
126
- : [orthogonalSize, size];
127
- if (this.isExpanded()) {
128
- this.expandedSize = width;
129
- }
130
- super.layout(width, height);
131
- }
132
- init(parameters) {
133
- var _a, _b;
134
- super.init(parameters);
135
- if (typeof parameters.minimumBodySize === 'number') {
136
- this.minimumBodySize = parameters.minimumBodySize;
137
- }
138
- if (typeof parameters.maximumBodySize === 'number') {
139
- this.maximumBodySize = parameters.maximumBodySize;
140
- }
141
- this.bodyPart = this.getBodyComponent();
142
- this.headerPart = this.getHeaderComponent();
143
- this.bodyPart.init(Object.assign(Object.assign({}, parameters), { api: this.api }));
144
- this.headerPart.init(Object.assign(Object.assign({}, parameters), { api: this.api }));
145
- (_a = this.body) === null || _a === void 0 ? void 0 : _a.append(this.bodyPart.element);
146
- (_b = this.header) === null || _b === void 0 ? void 0 : _b.append(this.headerPart.element);
147
- if (typeof parameters.isExpanded === 'boolean') {
148
- this.setExpanded(parameters.isExpanded);
149
- }
150
- }
151
- toJSON() {
152
- const params = this.params;
153
- return Object.assign(Object.assign({}, super.toJSON()), { headerComponent: this.headerComponent, title: params.title });
154
- }
155
- renderOnce() {
156
- this.header = document.createElement('div');
157
- this.header.tabIndex = 0;
158
- this.header.className = 'pane-header';
159
- this.header.style.height = `${this.headerSize}px`;
160
- this.header.style.lineHeight = `${this.headerSize}px`;
161
- this.header.style.minHeight = `${this.headerSize}px`;
162
- this.header.style.maxHeight = `${this.headerSize}px`;
163
- this.element.appendChild(this.header);
164
- this.body = document.createElement('div');
165
- this.body.className = 'pane-body';
166
- this.element.appendChild(this.body);
167
- }
168
- // TODO slightly hacky by-pass of the component to create a body and header component
169
- getComponent() {
170
- return {
171
- update: (params) => {
172
- var _a, _b;
173
- (_a = this.bodyPart) === null || _a === void 0 ? void 0 : _a.update({ params });
174
- (_b = this.headerPart) === null || _b === void 0 ? void 0 : _b.update({ params });
175
- },
176
- dispose: () => {
177
- var _a, _b;
178
- (_a = this.bodyPart) === null || _a === void 0 ? void 0 : _a.dispose();
179
- (_b = this.headerPart) === null || _b === void 0 ? void 0 : _b.dispose();
180
- },
181
- };
182
- }
183
- }
1
+ import { PaneviewPanelApiImpl } from '../api/paneviewPanelApi';
2
+ import { addClasses, removeClasses } from '../dom';
3
+ import { addDisposableListener, Emitter } from '../events';
4
+ import { BasePanelView, } from '../gridview/basePanelView';
5
+ import { Orientation } from '../splitview/core/splitview';
6
+ export class PaneviewPanel extends BasePanelView {
7
+ constructor(id, component, headerComponent, orientation, isExpanded) {
8
+ super(id, component, new PaneviewPanelApiImpl(id));
9
+ this.headerComponent = headerComponent;
10
+ this._onDidChangeExpansionState = new Emitter({ replay: true });
11
+ this.onDidChangeExpansionState = this._onDidChangeExpansionState.event;
12
+ this._onDidChange = new Emitter();
13
+ this.onDidChange = this._onDidChange.event;
14
+ this.headerSize = 22;
15
+ this._orthogonalSize = 0;
16
+ this._size = 0;
17
+ this._minimumBodySize = 100;
18
+ this._maximumBodySize = Number.POSITIVE_INFINITY;
19
+ this._isExpanded = false;
20
+ this.expandedSize = 0;
21
+ this.api.pane = this; // TODO cannot use 'this' before 'super'
22
+ this._isExpanded = isExpanded;
23
+ this._onDidChangeExpansionState.fire(this.isExpanded()); // initialize value
24
+ this._orientation = orientation;
25
+ this.element.classList.add('pane');
26
+ this.addDisposables(this.api.onDidSizeChange((event) => {
27
+ this._onDidChange.fire(event.size);
28
+ }), addDisposableListener(this.element, 'mouseenter', (ev) => {
29
+ this.api._onMouseEnter.fire(ev);
30
+ }), addDisposableListener(this.element, 'mouseleave', (ev) => {
31
+ this.api._onMouseLeave.fire(ev);
32
+ }));
33
+ this.addDisposables(this._onDidChangeExpansionState, this.onDidChangeExpansionState((isPanelExpanded) => {
34
+ this.api._onDidExpansionChange.fire({
35
+ isExpanded: isPanelExpanded,
36
+ });
37
+ }), this.api.onDidFocusChange((e) => {
38
+ if (!this.header) {
39
+ return;
40
+ }
41
+ if (e.isFocused) {
42
+ addClasses(this.header, 'focused');
43
+ }
44
+ else {
45
+ removeClasses(this.header, 'focused');
46
+ }
47
+ }));
48
+ this.renderOnce();
49
+ }
50
+ set orientation(value) {
51
+ this._orientation = value;
52
+ }
53
+ get orientation() {
54
+ return this._orientation;
55
+ }
56
+ get minimumSize() {
57
+ const headerSize = this.headerSize;
58
+ const expanded = this.isExpanded();
59
+ const minimumBodySize = expanded ? this._minimumBodySize : 0;
60
+ return headerSize + minimumBodySize;
61
+ }
62
+ get maximumSize() {
63
+ const headerSize = this.headerSize;
64
+ const expanded = this.isExpanded();
65
+ const maximumBodySize = expanded ? this._maximumBodySize : 0;
66
+ return headerSize + maximumBodySize;
67
+ }
68
+ get size() {
69
+ return this._size;
70
+ }
71
+ get orthogonalSize() {
72
+ return this._orthogonalSize;
73
+ }
74
+ set orthogonalSize(size) {
75
+ this._orthogonalSize = size;
76
+ }
77
+ get minimumBodySize() {
78
+ return this._minimumBodySize;
79
+ }
80
+ set minimumBodySize(value) {
81
+ this._minimumBodySize = typeof value === 'number' ? value : 0;
82
+ }
83
+ get maximumBodySize() {
84
+ return this._maximumBodySize;
85
+ }
86
+ set maximumBodySize(value) {
87
+ this._maximumBodySize =
88
+ typeof value === 'number' ? value : Number.POSITIVE_INFINITY;
89
+ }
90
+ setVisible(isVisible) {
91
+ this.api._onDidVisibilityChange.fire({ isVisible });
92
+ }
93
+ setActive(isActive) {
94
+ this.api._onDidActiveChange.fire({ isActive });
95
+ }
96
+ isExpanded() {
97
+ return this._isExpanded;
98
+ }
99
+ setExpanded(expanded) {
100
+ if (this._isExpanded === expanded) {
101
+ return;
102
+ }
103
+ this._isExpanded = expanded;
104
+ if (expanded) {
105
+ if (this.animationTimer) {
106
+ clearTimeout(this.animationTimer);
107
+ }
108
+ if (this.body) {
109
+ this.element.appendChild(this.body);
110
+ }
111
+ }
112
+ else {
113
+ this.animationTimer = setTimeout(() => {
114
+ var _a;
115
+ (_a = this.body) === null || _a === void 0 ? void 0 : _a.remove();
116
+ }, 200);
117
+ }
118
+ this._onDidChange.fire(expanded ? this.width : undefined);
119
+ this._onDidChangeExpansionState.fire(expanded);
120
+ }
121
+ layout(size, orthogonalSize) {
122
+ this._size = size;
123
+ this._orthogonalSize = orthogonalSize;
124
+ const [width, height] = this.orientation === Orientation.HORIZONTAL
125
+ ? [size, orthogonalSize]
126
+ : [orthogonalSize, size];
127
+ if (this.isExpanded()) {
128
+ this.expandedSize = width;
129
+ }
130
+ super.layout(width, height);
131
+ }
132
+ init(parameters) {
133
+ var _a, _b;
134
+ super.init(parameters);
135
+ if (typeof parameters.minimumBodySize === 'number') {
136
+ this.minimumBodySize = parameters.minimumBodySize;
137
+ }
138
+ if (typeof parameters.maximumBodySize === 'number') {
139
+ this.maximumBodySize = parameters.maximumBodySize;
140
+ }
141
+ this.bodyPart = this.getBodyComponent();
142
+ this.headerPart = this.getHeaderComponent();
143
+ this.bodyPart.init(Object.assign(Object.assign({}, parameters), { api: this.api }));
144
+ this.headerPart.init(Object.assign(Object.assign({}, parameters), { api: this.api }));
145
+ (_a = this.body) === null || _a === void 0 ? void 0 : _a.append(this.bodyPart.element);
146
+ (_b = this.header) === null || _b === void 0 ? void 0 : _b.append(this.headerPart.element);
147
+ if (typeof parameters.isExpanded === 'boolean') {
148
+ this.setExpanded(parameters.isExpanded);
149
+ }
150
+ }
151
+ toJSON() {
152
+ const params = this.params;
153
+ return Object.assign(Object.assign({}, super.toJSON()), { headerComponent: this.headerComponent, title: params.title });
154
+ }
155
+ renderOnce() {
156
+ this.header = document.createElement('div');
157
+ this.header.tabIndex = 0;
158
+ this.header.className = 'pane-header';
159
+ this.header.style.height = `${this.headerSize}px`;
160
+ this.header.style.lineHeight = `${this.headerSize}px`;
161
+ this.header.style.minHeight = `${this.headerSize}px`;
162
+ this.header.style.maxHeight = `${this.headerSize}px`;
163
+ this.element.appendChild(this.header);
164
+ this.body = document.createElement('div');
165
+ this.body.className = 'pane-body';
166
+ this.element.appendChild(this.body);
167
+ }
168
+ // TODO slightly hacky by-pass of the component to create a body and header component
169
+ getComponent() {
170
+ return {
171
+ update: (params) => {
172
+ var _a, _b;
173
+ (_a = this.bodyPart) === null || _a === void 0 ? void 0 : _a.update({ params });
174
+ (_b = this.headerPart) === null || _b === void 0 ? void 0 : _b.update({ params });
175
+ },
176
+ dispose: () => {
177
+ var _a, _b;
178
+ (_a = this.bodyPart) === null || _a === void 0 ? void 0 : _a.dispose();
179
+ (_b = this.headerPart) === null || _b === void 0 ? void 0 : _b.dispose();
180
+ },
181
+ };
182
+ }
183
+ }
@@ -1,8 +1,8 @@
1
- import { DockviewComponent } from '../dockview/dockviewComponent';
2
- import { GroupviewPanelState, IGroupPanel } from '../groupview/groupPanel';
3
- import { IPanelDeserializer } from '../dockview/deserializer';
4
- export declare class ReactPanelDeserialzier implements IPanelDeserializer {
5
- private readonly layout;
6
- constructor(layout: DockviewComponent);
7
- fromJSON(panelData: GroupviewPanelState): IGroupPanel;
8
- }
1
+ import { DockviewComponent } from '../dockview/dockviewComponent';
2
+ import { GroupviewPanelState, IGroupPanel } from '../groupview/groupPanel';
3
+ import { IPanelDeserializer } from '../dockview/deserializer';
4
+ export declare class ReactPanelDeserialzier implements IPanelDeserializer {
5
+ private readonly layout;
6
+ constructor(layout: DockviewComponent);
7
+ fromJSON(panelData: GroupviewPanelState): IGroupPanel;
8
+ }
@@ -1,34 +1,34 @@
1
- import { DockviewGroupPanel } from '../dockview/dockviewGroupPanel';
2
- import { createComponent } from '../panel/componentFactory';
3
- import { DockviewApi } from '../api/component.api';
4
- import { DefaultTab } from '../dockview/components/tab/defaultTab';
5
- import { DefaultGroupPanelView } from '../dockview/defaultGroupPanelView';
6
- export class ReactPanelDeserialzier {
7
- constructor(layout) {
8
- this.layout = layout;
9
- }
10
- fromJSON(panelData) {
11
- var _a, _b, _c;
12
- const panelId = panelData.id;
13
- const params = panelData.params;
14
- const title = panelData.title;
15
- const state = panelData.state;
16
- const suppressClosable = panelData.suppressClosable;
17
- const viewData = panelData.view;
18
- const view = new DefaultGroupPanelView({
19
- content: createComponent(viewData.content.id, viewData.content.id, this.layout.options.components, this.layout.options.frameworkComponents, (_a = this.layout.options.frameworkComponentFactory) === null || _a === void 0 ? void 0 : _a.content),
20
- tab: ((_b = viewData.tab) === null || _b === void 0 ? void 0 : _b.id)
21
- ? createComponent(viewData.tab.id, viewData.tab.id, this.layout.options.tabComponents, this.layout.options.frameworkTabComponents, (_c = this.layout.options.frameworkComponentFactory) === null || _c === void 0 ? void 0 : _c.tab)
22
- : new DefaultTab(),
23
- });
24
- const panel = new DockviewGroupPanel(panelId, new DockviewApi(this.layout));
25
- panel.init({
26
- view,
27
- title,
28
- suppressClosable,
29
- params: params || {},
30
- state: state || {},
31
- });
32
- return panel;
33
- }
34
- }
1
+ import { DockviewGroupPanel } from '../dockview/dockviewGroupPanel';
2
+ import { createComponent } from '../panel/componentFactory';
3
+ import { DockviewApi } from '../api/component.api';
4
+ import { DefaultTab } from '../dockview/components/tab/defaultTab';
5
+ import { DefaultGroupPanelView } from '../dockview/defaultGroupPanelView';
6
+ export class ReactPanelDeserialzier {
7
+ constructor(layout) {
8
+ this.layout = layout;
9
+ }
10
+ fromJSON(panelData) {
11
+ var _a, _b, _c;
12
+ const panelId = panelData.id;
13
+ const params = panelData.params;
14
+ const title = panelData.title;
15
+ const state = panelData.state;
16
+ const suppressClosable = panelData.suppressClosable;
17
+ const viewData = panelData.view;
18
+ const view = new DefaultGroupPanelView({
19
+ content: createComponent(viewData.content.id, viewData.content.id, this.layout.options.components, this.layout.options.frameworkComponents, (_a = this.layout.options.frameworkComponentFactory) === null || _a === void 0 ? void 0 : _a.content),
20
+ tab: ((_b = viewData.tab) === null || _b === void 0 ? void 0 : _b.id)
21
+ ? createComponent(viewData.tab.id, viewData.tab.id, this.layout.options.tabComponents, this.layout.options.frameworkTabComponents, (_c = this.layout.options.frameworkComponentFactory) === null || _c === void 0 ? void 0 : _c.tab)
22
+ : new DefaultTab(),
23
+ });
24
+ const panel = new DockviewGroupPanel(panelId, new DockviewApi(this.layout));
25
+ panel.init({
26
+ view,
27
+ title,
28
+ suppressClosable,
29
+ params: params || {},
30
+ state: state || {},
31
+ });
32
+ return panel;
33
+ }
34
+ }
@@ -1,11 +1,11 @@
1
- import * as React from 'react';
2
- interface WithChildren {
3
- children: React.ReactNode;
4
- }
5
- export declare const DockviewComponents: {
6
- Tab: React.FunctionComponent<WithChildren>;
7
- Content: React.FunctionComponent<WithChildren>;
8
- Actions: React.FunctionComponent<WithChildren>;
9
- Panel: React.FunctionComponent<WithChildren>;
10
- };
11
- export {};
1
+ import * as React from 'react';
2
+ interface WithChildren {
3
+ children: React.ReactNode;
4
+ }
5
+ export declare const DockviewComponents: {
6
+ Tab: React.FunctionComponent<WithChildren>;
7
+ Content: React.FunctionComponent<WithChildren>;
8
+ Actions: React.FunctionComponent<WithChildren>;
9
+ Panel: React.FunctionComponent<WithChildren>;
10
+ };
11
+ export {};
@@ -1,54 +1,54 @@
1
- import * as React from 'react';
2
- import * as ReactDOM from 'react-dom';
3
- import { isReactElement, ReactPartContext } from '../react';
4
- const Tab = (props) => {
5
- return React.createElement(React.Fragment, null, props.children);
6
- };
7
- const Content = (props) => {
8
- return React.createElement(React.Fragment, null, props.children);
9
- };
10
- const Actions = (props) => {
11
- return React.createElement(React.Fragment, null, props.children);
12
- };
13
- function isValidComponent(element) {
14
- return [Content, Actions, Tab].find((comp) => element.type === comp);
15
- }
16
- const Panel = (props) => {
17
- const context = React.useContext(ReactPartContext);
18
- const sections = React.useMemo(() => {
19
- var _a;
20
- const childs = ((_a = React.Children.map(props.children, (_) => _)) === null || _a === void 0 ? void 0 : _a.filter(isReactElement)) || [];
21
- const isInvalid = !!childs.find((_) => !isValidComponent(_));
22
- if (isInvalid) {
23
- throw new Error('Children of DockviewComponents.Panel must be one of the following: DockviewComponents.Content, DockviewComponents.Actions, DockviewComponents.Tab');
24
- }
25
- const body = childs.find((_) => _.type === Content);
26
- const actions = childs.find((_) => _.type === Actions);
27
- const tab = childs.find((_) => _.type === Tab);
28
- return { body, actions, tab };
29
- }, [props.children]);
30
- React.useEffect(() => {
31
- /**
32
- * hide or show the default tab behavior based on whether we want to override
33
- * with our own React tab.
34
- */
35
- if (sections.tab) {
36
- context.tabPortalElement.hide();
37
- }
38
- else {
39
- context.tabPortalElement.show();
40
- }
41
- }, [sections.tab]);
42
- return (React.createElement(React.Fragment, null,
43
- sections.actions &&
44
- ReactDOM.createPortal(sections.actions, context.actionsPortalElement),
45
- sections.tab &&
46
- ReactDOM.createPortal(sections.tab, context.tabPortalElement.element),
47
- sections.body || props.children));
48
- };
49
- export const DockviewComponents = {
50
- Tab,
51
- Content,
52
- Actions,
53
- Panel,
54
- };
1
+ import * as React from 'react';
2
+ import * as ReactDOM from 'react-dom';
3
+ import { isReactElement, ReactPartContext } from '../react';
4
+ const Tab = (props) => {
5
+ return React.createElement(React.Fragment, null, props.children);
6
+ };
7
+ const Content = (props) => {
8
+ return React.createElement(React.Fragment, null, props.children);
9
+ };
10
+ const Actions = (props) => {
11
+ return React.createElement(React.Fragment, null, props.children);
12
+ };
13
+ function isValidComponent(element) {
14
+ return [Content, Actions, Tab].find((comp) => element.type === comp);
15
+ }
16
+ const Panel = (props) => {
17
+ const context = React.useContext(ReactPartContext);
18
+ const sections = React.useMemo(() => {
19
+ var _a;
20
+ const childs = ((_a = React.Children.map(props.children, (_) => _)) === null || _a === void 0 ? void 0 : _a.filter(isReactElement)) || [];
21
+ const isInvalid = !!childs.find((_) => !isValidComponent(_));
22
+ if (isInvalid) {
23
+ throw new Error('Children of DockviewComponents.Panel must be one of the following: DockviewComponents.Content, DockviewComponents.Actions, DockviewComponents.Tab');
24
+ }
25
+ const body = childs.find((_) => _.type === Content);
26
+ const actions = childs.find((_) => _.type === Actions);
27
+ const tab = childs.find((_) => _.type === Tab);
28
+ return { body, actions, tab };
29
+ }, [props.children]);
30
+ React.useEffect(() => {
31
+ /**
32
+ * hide or show the default tab behavior based on whether we want to override
33
+ * with our own React tab.
34
+ */
35
+ if (sections.tab) {
36
+ context.tabPortalElement.hide();
37
+ }
38
+ else {
39
+ context.tabPortalElement.show();
40
+ }
41
+ }, [sections.tab]);
42
+ return (React.createElement(React.Fragment, null,
43
+ sections.actions &&
44
+ ReactDOM.createPortal(sections.actions, context.actionsPortalElement),
45
+ sections.tab &&
46
+ ReactDOM.createPortal(sections.tab, context.tabPortalElement.element),
47
+ sections.body || props.children));
48
+ };
49
+ export const DockviewComponents = {
50
+ Tab,
51
+ Content,
52
+ Actions,
53
+ Panel,
54
+ };
@@ -1,34 +1,34 @@
1
- import * as React from 'react';
2
- import { TabContextMenuEvent } from '../../dockview/options';
3
- import { DockviewPanelApi } from '../../api/groupPanelApi';
4
- import { DockviewApi } from '../../api/component.api';
5
- import { PanelCollection, PanelParameters } from '../types';
6
- export interface IGroupPanelBaseProps<T extends {} = Record<string, any>> extends PanelParameters<T> {
7
- api: DockviewPanelApi;
8
- containerApi: DockviewApi;
9
- }
10
- export interface IDockviewPanelProps<T extends {
11
- [index: string]: any;
12
- } = any> extends IGroupPanelBaseProps<T> {
13
- }
14
- export interface DockviewReadyEvent {
15
- api: DockviewApi;
16
- }
17
- export interface IWatermarkPanelProps<T extends {} = Record<string, any>> extends PanelParameters<T> {
18
- containerApi: DockviewApi;
19
- close(): void;
20
- }
21
- export interface IDockviewReactProps {
22
- components?: PanelCollection<IDockviewPanelProps>;
23
- tabComponents?: PanelCollection<IGroupPanelBaseProps>;
24
- watermarkComponent?: React.FunctionComponent<IWatermarkPanelProps>;
25
- onReady?: (event: DockviewReadyEvent) => void;
26
- debug?: boolean;
27
- tabHeight?: number;
28
- enableExternalDragEvents?: boolean;
29
- onTabContextMenu?: (event: TabContextMenuEvent) => void;
30
- hideBorders?: boolean;
31
- className?: string;
32
- disableAutoResizing?: boolean;
33
- }
34
- export declare const DockviewReact: React.ForwardRefExoticComponent<IDockviewReactProps & React.RefAttributes<HTMLDivElement>>;
1
+ import * as React from 'react';
2
+ import { TabContextMenuEvent } from '../../dockview/options';
3
+ import { DockviewPanelApi } from '../../api/groupPanelApi';
4
+ import { DockviewApi } from '../../api/component.api';
5
+ import { PanelCollection, PanelParameters } from '../types';
6
+ export interface IGroupPanelBaseProps<T extends {} = Record<string, any>> extends PanelParameters<T> {
7
+ api: DockviewPanelApi;
8
+ containerApi: DockviewApi;
9
+ }
10
+ export interface IDockviewPanelProps<T extends {
11
+ [index: string]: any;
12
+ } = any> extends IGroupPanelBaseProps<T> {
13
+ }
14
+ export interface DockviewReadyEvent {
15
+ api: DockviewApi;
16
+ }
17
+ export interface IWatermarkPanelProps<T extends {} = Record<string, any>> extends PanelParameters<T> {
18
+ containerApi: DockviewApi;
19
+ close(): void;
20
+ }
21
+ export interface IDockviewReactProps {
22
+ components?: PanelCollection<IDockviewPanelProps>;
23
+ tabComponents?: PanelCollection<IGroupPanelBaseProps>;
24
+ watermarkComponent?: React.FunctionComponent<IWatermarkPanelProps>;
25
+ onReady?: (event: DockviewReadyEvent) => void;
26
+ debug?: boolean;
27
+ tabHeight?: number;
28
+ enableExternalDragEvents?: boolean;
29
+ onTabContextMenu?: (event: TabContextMenuEvent) => void;
30
+ hideBorders?: boolean;
31
+ className?: string;
32
+ disableAutoResizing?: boolean;
33
+ }
34
+ export declare const DockviewReact: React.ForwardRefExoticComponent<IDockviewReactProps & React.RefAttributes<HTMLDivElement>>;