dockview 1.6.0 → 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (473) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +50 -52
  3. package/dist/{esm/react → cjs}/dockview/defaultTab.d.ts +5 -4
  4. package/dist/cjs/dockview/defaultTab.d.ts.map +1 -0
  5. package/dist/cjs/{react/dockview → dockview}/defaultTab.js +72 -72
  6. package/dist/cjs/dockview/defaultTab.js.map +1 -0
  7. package/dist/{esm/react → cjs}/dockview/dockview.d.ts +36 -35
  8. package/dist/cjs/dockview/dockview.d.ts.map +1 -0
  9. package/dist/cjs/{react/dockview → dockview}/dockview.js +196 -213
  10. package/dist/cjs/dockview/dockview.js.map +1 -0
  11. package/dist/cjs/{react/dockview → dockview}/groupControlsRenderer.d.ts +33 -43
  12. package/dist/cjs/dockview/groupControlsRenderer.d.ts.map +1 -0
  13. package/dist/cjs/{react/dockview → dockview}/groupControlsRenderer.js +86 -86
  14. package/dist/cjs/dockview/groupControlsRenderer.js.map +1 -0
  15. package/dist/{esm/react → cjs}/dockview/reactContentPart.d.ts +23 -30
  16. package/dist/cjs/dockview/reactContentPart.d.ts.map +1 -0
  17. package/dist/cjs/{react/dockview → dockview}/reactContentPart.js +50 -58
  18. package/dist/cjs/dockview/reactContentPart.js.map +1 -0
  19. package/dist/cjs/{react/dockview → dockview}/reactHeaderPart.d.ts +19 -26
  20. package/dist/cjs/dockview/reactHeaderPart.d.ts.map +1 -0
  21. package/dist/cjs/{react/dockview → dockview}/reactHeaderPart.js +43 -55
  22. package/dist/cjs/dockview/reactHeaderPart.js.map +1 -0
  23. package/dist/cjs/{react/dockview → dockview}/reactWatermarkPart.d.ts +25 -29
  24. package/dist/cjs/dockview/reactWatermarkPart.d.ts.map +1 -0
  25. package/dist/cjs/{react/dockview → dockview}/reactWatermarkPart.js +53 -65
  26. package/dist/cjs/dockview/reactWatermarkPart.js.map +1 -0
  27. package/dist/cjs/gridview/gridview.d.ts +23 -132
  28. package/dist/cjs/gridview/gridview.d.ts.map +1 -0
  29. package/dist/cjs/gridview/gridview.js +96 -510
  30. package/dist/cjs/gridview/gridview.js.map +1 -1
  31. package/dist/{esm/react → cjs}/gridview/view.d.ts +11 -11
  32. package/dist/cjs/gridview/view.d.ts.map +1 -0
  33. package/dist/cjs/{react/gridview → gridview}/view.js +39 -41
  34. package/dist/cjs/gridview/view.js.map +1 -0
  35. package/dist/cjs/index.d.ts +11 -30
  36. package/dist/cjs/index.d.ts.map +1 -0
  37. package/dist/cjs/index.js +24 -47
  38. package/dist/cjs/index.js.map +1 -1
  39. package/dist/cjs/paneview/paneview.d.ts +25 -40
  40. package/dist/cjs/paneview/paneview.d.ts.map +1 -0
  41. package/dist/cjs/paneview/paneview.js +139 -201
  42. package/dist/cjs/paneview/paneview.js.map +1 -1
  43. package/dist/cjs/{react/paneview → paneview}/view.d.ts +20 -20
  44. package/dist/cjs/paneview/view.d.ts.map +1 -0
  45. package/dist/cjs/{react/paneview → paneview}/view.js +44 -44
  46. package/dist/cjs/paneview/view.js.map +1 -0
  47. package/dist/{esm/react → cjs}/react.d.ts +36 -36
  48. package/dist/cjs/react.d.ts.map +1 -0
  49. package/dist/cjs/{react/react.js → react.js} +196 -194
  50. package/dist/cjs/react.js.map +1 -0
  51. package/dist/{esm/react → cjs}/splitview/splitview.d.ts +23 -24
  52. package/dist/cjs/splitview/splitview.d.ts.map +1 -0
  53. package/dist/cjs/{react/splitview → splitview}/splitview.js +91 -108
  54. package/dist/cjs/splitview/splitview.js.map +1 -0
  55. package/dist/{esm/react → cjs}/splitview/view.d.ts +11 -10
  56. package/dist/cjs/splitview/view.d.ts.map +1 -0
  57. package/dist/cjs/{react/splitview → splitview}/view.js +39 -40
  58. package/dist/cjs/splitview/view.js.map +1 -0
  59. package/dist/cjs/svg.d.ts +4 -3
  60. package/dist/cjs/svg.d.ts.map +1 -0
  61. package/dist/cjs/svg.js +35 -43
  62. package/dist/cjs/svg.js.map +1 -1
  63. package/dist/cjs/types.d.ts +8 -8
  64. package/dist/cjs/types.d.ts.map +1 -0
  65. package/dist/cjs/types.js +2 -7
  66. package/dist/cjs/types.js.map +1 -1
  67. package/dist/dockview.amd.js +7047 -7153
  68. package/dist/dockview.amd.min.js +2 -2
  69. package/dist/dockview.amd.min.noStyle.js +2 -2
  70. package/dist/dockview.amd.noStyle.js +7043 -7149
  71. package/dist/dockview.cjs.js +7052 -7158
  72. package/dist/dockview.esm.js +7035 -7151
  73. package/dist/dockview.esm.min.js +2 -2
  74. package/dist/dockview.js +7047 -7153
  75. package/dist/dockview.min.js +2 -2
  76. package/dist/dockview.min.noStyle.js +2 -2
  77. package/dist/dockview.noStyle.js +7043 -7149
  78. package/dist/{cjs/react → esm}/dockview/defaultTab.d.ts +5 -4
  79. package/dist/esm/dockview/defaultTab.d.ts.map +1 -0
  80. package/dist/esm/{react/dockview → dockview}/defaultTab.js +35 -34
  81. package/dist/esm/dockview/defaultTab.js.map +1 -0
  82. package/dist/{cjs/react → esm}/dockview/dockview.d.ts +36 -35
  83. package/dist/esm/dockview/dockview.d.ts.map +1 -0
  84. package/dist/esm/{react/dockview → dockview}/dockview.js +155 -158
  85. package/dist/esm/dockview/dockview.js.map +1 -0
  86. package/dist/esm/{react/dockview → dockview}/groupControlsRenderer.d.ts +33 -43
  87. package/dist/esm/dockview/groupControlsRenderer.d.ts.map +1 -0
  88. package/dist/esm/{react/dockview → dockview}/groupControlsRenderer.js +69 -68
  89. package/dist/esm/dockview/groupControlsRenderer.js.map +1 -0
  90. package/dist/{cjs/react → esm}/dockview/reactContentPart.d.ts +23 -30
  91. package/dist/esm/dockview/reactContentPart.d.ts.map +1 -0
  92. package/dist/esm/{react/dockview → dockview}/reactContentPart.js +42 -49
  93. package/dist/esm/dockview/reactContentPart.js.map +1 -0
  94. package/dist/esm/{react/dockview → dockview}/reactHeaderPart.d.ts +19 -26
  95. package/dist/esm/dockview/reactHeaderPart.d.ts.map +1 -0
  96. package/dist/esm/{react/dockview → dockview}/reactHeaderPart.js +35 -46
  97. package/dist/esm/dockview/reactHeaderPart.js.map +1 -0
  98. package/dist/esm/{react/dockview → dockview}/reactWatermarkPart.d.ts +25 -29
  99. package/dist/esm/dockview/reactWatermarkPart.d.ts.map +1 -0
  100. package/dist/esm/{react/dockview → dockview}/reactWatermarkPart.js +45 -55
  101. package/dist/esm/dockview/reactWatermarkPart.js.map +1 -0
  102. package/dist/esm/gridview/gridview.d.ts +23 -132
  103. package/dist/esm/gridview/gridview.d.ts.map +1 -0
  104. package/dist/esm/gridview/gridview.js +55 -423
  105. package/dist/esm/gridview/gridview.js.map +1 -0
  106. package/dist/{cjs/react → esm}/gridview/view.d.ts +11 -11
  107. package/dist/esm/gridview/view.d.ts.map +1 -0
  108. package/dist/esm/{react/gridview → gridview}/view.js +18 -19
  109. package/dist/esm/gridview/view.js.map +1 -0
  110. package/dist/esm/index.d.ts +11 -30
  111. package/dist/esm/index.d.ts.map +1 -0
  112. package/dist/esm/index.js +9 -23
  113. package/dist/esm/index.js.map +1 -0
  114. package/dist/esm/paneview/paneview.d.ts +25 -40
  115. package/dist/esm/paneview/paneview.d.ts.map +1 -0
  116. package/dist/esm/paneview/paneview.js +85 -145
  117. package/dist/esm/paneview/paneview.js.map +1 -0
  118. package/dist/esm/{react/paneview → paneview}/view.d.ts +20 -20
  119. package/dist/esm/paneview/view.d.ts.map +1 -0
  120. package/dist/esm/{react/paneview → paneview}/view.js +36 -35
  121. package/dist/esm/paneview/view.js.map +1 -0
  122. package/dist/{cjs/react → esm}/react.d.ts +36 -36
  123. package/dist/esm/react.d.ts.map +1 -0
  124. package/dist/esm/{react/react.js → react.js} +128 -125
  125. package/dist/esm/react.js.map +1 -0
  126. package/dist/{cjs/react → esm}/splitview/splitview.d.ts +23 -24
  127. package/dist/esm/splitview/splitview.d.ts.map +1 -0
  128. package/dist/esm/{react/splitview → splitview}/splitview.js +50 -66
  129. package/dist/esm/splitview/splitview.js.map +1 -0
  130. package/dist/{cjs/react → esm}/splitview/view.d.ts +11 -10
  131. package/dist/esm/splitview/view.d.ts.map +1 -0
  132. package/dist/esm/{react/splitview → splitview}/view.js +18 -18
  133. package/dist/esm/splitview/view.js.map +1 -0
  134. package/dist/esm/svg.d.ts +4 -3
  135. package/dist/esm/svg.d.ts.map +1 -0
  136. package/dist/esm/svg.js +8 -31
  137. package/dist/esm/svg.js.map +1 -0
  138. package/dist/esm/types.d.ts +8 -8
  139. package/dist/esm/types.d.ts.map +1 -0
  140. package/dist/esm/types.js +2 -3
  141. package/dist/{cjs/panel → esm}/types.js.map +1 -1
  142. package/dist/styles/dockview.css +1 -617
  143. package/package.json +9 -5
  144. package/dist/cjs/actionbar/actionsContainer.d.ts +0 -7
  145. package/dist/cjs/actionbar/actionsContainer.js +0 -27
  146. package/dist/cjs/actionbar/actionsContainer.js.map +0 -1
  147. package/dist/cjs/api/component.api.d.ts +0 -145
  148. package/dist/cjs/api/component.api.js +0 -579
  149. package/dist/cjs/api/component.api.js.map +0 -1
  150. package/dist/cjs/api/dockviewPanelApi.d.ts +0 -34
  151. package/dist/cjs/api/dockviewPanelApi.js +0 -84
  152. package/dist/cjs/api/dockviewPanelApi.js.map +0 -1
  153. package/dist/cjs/api/gridviewPanelApi.d.ts +0 -37
  154. package/dist/cjs/api/gridviewPanelApi.js +0 -48
  155. package/dist/cjs/api/gridviewPanelApi.js.map +0 -1
  156. package/dist/cjs/api/panelApi.d.ts +0 -88
  157. package/dist/cjs/api/panelApi.js +0 -138
  158. package/dist/cjs/api/panelApi.js.map +0 -1
  159. package/dist/cjs/api/paneviewPanelApi.d.ts +0 -26
  160. package/dist/cjs/api/paneviewPanelApi.js +0 -58
  161. package/dist/cjs/api/paneviewPanelApi.js.map +0 -1
  162. package/dist/cjs/api/splitviewPanelApi.d.ts +0 -32
  163. package/dist/cjs/api/splitviewPanelApi.js +0 -48
  164. package/dist/cjs/api/splitviewPanelApi.js.map +0 -1
  165. package/dist/cjs/array.d.ts +0 -13
  166. package/dist/cjs/array.js +0 -78
  167. package/dist/cjs/array.js.map +0 -1
  168. package/dist/cjs/dnd/abstractDragHandler.d.ts +0 -11
  169. package/dist/cjs/dnd/abstractDragHandler.js +0 -116
  170. package/dist/cjs/dnd/abstractDragHandler.js.map +0 -1
  171. package/dist/cjs/dnd/dataTransfer.d.ts +0 -31
  172. package/dist/cjs/dnd/dataTransfer.js +0 -101
  173. package/dist/cjs/dnd/dataTransfer.js.map +0 -1
  174. package/dist/cjs/dnd/dnd.d.ts +0 -27
  175. package/dist/cjs/dnd/dnd.js +0 -60
  176. package/dist/cjs/dnd/dnd.js.map +0 -1
  177. package/dist/cjs/dnd/droptarget.d.ts +0 -42
  178. package/dist/cjs/dnd/droptarget.js +0 -280
  179. package/dist/cjs/dnd/droptarget.js.map +0 -1
  180. package/dist/cjs/dnd/ghost.d.ts +0 -1
  181. package/dist/cjs/dnd/ghost.js +0 -15
  182. package/dist/cjs/dnd/ghost.js.map +0 -1
  183. package/dist/cjs/dnd/groupDragHandler.d.ts +0 -11
  184. package/dist/cjs/dnd/groupDragHandler.js +0 -62
  185. package/dist/cjs/dnd/groupDragHandler.js.map +0 -1
  186. package/dist/cjs/dockview/components/tab/defaultTab.d.ts +0 -27
  187. package/dist/cjs/dockview/components/tab/defaultTab.js +0 -122
  188. package/dist/cjs/dockview/components/tab/defaultTab.js.map +0 -1
  189. package/dist/cjs/dockview/components/watermark/watermark.d.ts +0 -20
  190. package/dist/cjs/dockview/components/watermark/watermark.js +0 -102
  191. package/dist/cjs/dockview/components/watermark/watermark.js.map +0 -1
  192. package/dist/cjs/dockview/defaultGroupPanelView.d.ts +0 -29
  193. package/dist/cjs/dockview/defaultGroupPanelView.js +0 -69
  194. package/dist/cjs/dockview/defaultGroupPanelView.js.map +0 -1
  195. package/dist/cjs/dockview/deserializer.d.ts +0 -6
  196. package/dist/cjs/dockview/deserializer.js +0 -3
  197. package/dist/cjs/dockview/deserializer.js.map +0 -1
  198. package/dist/cjs/dockview/dockviewComponent.d.ts +0 -133
  199. package/dist/cjs/dockview/dockviewComponent.js +0 -796
  200. package/dist/cjs/dockview/dockviewComponent.js.map +0 -1
  201. package/dist/cjs/dockview/dockviewPanel.d.ts +0 -42
  202. package/dist/cjs/dockview/dockviewPanel.js +0 -161
  203. package/dist/cjs/dockview/dockviewPanel.js.map +0 -1
  204. package/dist/cjs/dockview/options.d.ts +0 -110
  205. package/dist/cjs/dockview/options.js +0 -32
  206. package/dist/cjs/dockview/options.js.map +0 -1
  207. package/dist/cjs/dockview/validation.d.ts +0 -2
  208. package/dist/cjs/dockview/validation.js +0 -135
  209. package/dist/cjs/dockview/validation.js.map +0 -1
  210. package/dist/cjs/dom.d.ts +0 -14
  211. package/dist/cjs/dom.js +0 -183
  212. package/dist/cjs/dom.js.map +0 -1
  213. package/dist/cjs/events.d.ts +0 -30
  214. package/dist/cjs/events.js +0 -130
  215. package/dist/cjs/events.js.map +0 -1
  216. package/dist/cjs/gridview/baseComponentGridview.d.ts +0 -87
  217. package/dist/cjs/gridview/baseComponentGridview.js +0 -279
  218. package/dist/cjs/gridview/baseComponentGridview.js.map +0 -1
  219. package/dist/cjs/gridview/basePanelView.d.ts +0 -43
  220. package/dist/cjs/gridview/basePanelView.js +0 -124
  221. package/dist/cjs/gridview/basePanelView.js.map +0 -1
  222. package/dist/cjs/gridview/branchNode.d.ts +0 -49
  223. package/dist/cjs/gridview/branchNode.js +0 -343
  224. package/dist/cjs/gridview/branchNode.js.map +0 -1
  225. package/dist/cjs/gridview/gridviewComponent.d.ts +0 -85
  226. package/dist/cjs/gridview/gridviewComponent.js +0 -325
  227. package/dist/cjs/gridview/gridviewComponent.js.map +0 -1
  228. package/dist/cjs/gridview/gridviewPanel.d.ts +0 -60
  229. package/dist/cjs/gridview/gridviewPanel.js +0 -202
  230. package/dist/cjs/gridview/gridviewPanel.js.map +0 -1
  231. package/dist/cjs/gridview/leafNode.d.ts +0 -34
  232. package/dist/cjs/gridview/leafNode.js +0 -171
  233. package/dist/cjs/gridview/leafNode.js.map +0 -1
  234. package/dist/cjs/gridview/options.d.ts +0 -18
  235. package/dist/cjs/gridview/options.js +0 -3
  236. package/dist/cjs/gridview/options.js.map +0 -1
  237. package/dist/cjs/gridview/types.d.ts +0 -3
  238. package/dist/cjs/gridview/types.js +0 -3
  239. package/dist/cjs/gridview/types.js.map +0 -1
  240. package/dist/cjs/groupview/dnd.d.ts +0 -6
  241. package/dist/cjs/groupview/dnd.js +0 -11
  242. package/dist/cjs/groupview/dnd.js.map +0 -1
  243. package/dist/cjs/groupview/groupview.d.ts +0 -177
  244. package/dist/cjs/groupview/groupview.js +0 -608
  245. package/dist/cjs/groupview/groupview.js.map +0 -1
  246. package/dist/cjs/groupview/groupviewPanel.d.ts +0 -35
  247. package/dist/cjs/groupview/groupviewPanel.js +0 -129
  248. package/dist/cjs/groupview/groupviewPanel.js.map +0 -1
  249. package/dist/cjs/groupview/panel/content.d.ts +0 -30
  250. package/dist/cjs/groupview/panel/content.js +0 -101
  251. package/dist/cjs/groupview/panel/content.js.map +0 -1
  252. package/dist/cjs/groupview/tab.d.ts +0 -31
  253. package/dist/cjs/groupview/tab.js +0 -125
  254. package/dist/cjs/groupview/tab.js.map +0 -1
  255. package/dist/cjs/groupview/titlebar/tabsContainer.d.ts +0 -65
  256. package/dist/cjs/groupview/titlebar/tabsContainer.js +0 -252
  257. package/dist/cjs/groupview/titlebar/tabsContainer.js.map +0 -1
  258. package/dist/cjs/groupview/titlebar/voidContainer.d.ts +0 -15
  259. package/dist/cjs/groupview/titlebar/voidContainer.js +0 -74
  260. package/dist/cjs/groupview/titlebar/voidContainer.js.map +0 -1
  261. package/dist/cjs/groupview/types.d.ts +0 -68
  262. package/dist/cjs/groupview/types.js +0 -3
  263. package/dist/cjs/groupview/types.js.map +0 -1
  264. package/dist/cjs/hostedContainer.d.ts +0 -23
  265. package/dist/cjs/hostedContainer.js +0 -74
  266. package/dist/cjs/hostedContainer.js.map +0 -1
  267. package/dist/cjs/lifecycle.d.ts +0 -22
  268. package/dist/cjs/lifecycle.js +0 -89
  269. package/dist/cjs/lifecycle.js.map +0 -1
  270. package/dist/cjs/math.d.ts +0 -4
  271. package/dist/cjs/math.js +0 -16
  272. package/dist/cjs/math.js.map +0 -1
  273. package/dist/cjs/panel/componentFactory.d.ts +0 -8
  274. package/dist/cjs/panel/componentFactory.js +0 -31
  275. package/dist/cjs/panel/componentFactory.js.map +0 -1
  276. package/dist/cjs/panel/types.d.ts +0 -33
  277. package/dist/cjs/panel/types.js +0 -3
  278. package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +0 -21
  279. package/dist/cjs/paneview/defaultPaneviewHeader.js +0 -91
  280. package/dist/cjs/paneview/defaultPaneviewHeader.js.map +0 -1
  281. package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +0 -19
  282. package/dist/cjs/paneview/draggablePaneviewPanel.js +0 -131
  283. package/dist/cjs/paneview/draggablePaneviewPanel.js.map +0 -1
  284. package/dist/cjs/paneview/options.d.ts +0 -27
  285. package/dist/cjs/paneview/options.js +0 -3
  286. package/dist/cjs/paneview/options.js.map +0 -1
  287. package/dist/cjs/paneview/paneviewComponent.d.ts +0 -129
  288. package/dist/cjs/paneview/paneviewComponent.js +0 -395
  289. package/dist/cjs/paneview/paneviewComponent.js.map +0 -1
  290. package/dist/cjs/paneview/paneviewPanel.d.ts +0 -92
  291. package/dist/cjs/paneview/paneviewPanel.js +0 -276
  292. package/dist/cjs/paneview/paneviewPanel.js.map +0 -1
  293. package/dist/cjs/react/deserializer.d.ts +0 -10
  294. package/dist/cjs/react/deserializer.js +0 -44
  295. package/dist/cjs/react/deserializer.js.map +0 -1
  296. package/dist/cjs/react/dockview/defaultTab.js.map +0 -1
  297. package/dist/cjs/react/dockview/dockview.js.map +0 -1
  298. package/dist/cjs/react/dockview/groupControlsRenderer.js.map +0 -1
  299. package/dist/cjs/react/dockview/reactContentPart.js.map +0 -1
  300. package/dist/cjs/react/dockview/reactHeaderPart.js.map +0 -1
  301. package/dist/cjs/react/dockview/reactWatermarkPart.js.map +0 -1
  302. package/dist/cjs/react/dockview/v2/reactContentRenderer.d.ts +0 -29
  303. package/dist/cjs/react/dockview/v2/reactContentRenderer.js +0 -88
  304. package/dist/cjs/react/dockview/v2/reactContentRenderer.js.map +0 -1
  305. package/dist/cjs/react/dockview/v2/reactGroupPanelView.d.ts +0 -7
  306. package/dist/cjs/react/dockview/v2/reactGroupPanelView.js +0 -35
  307. package/dist/cjs/react/dockview/v2/reactGroupPanelView.js.map +0 -1
  308. package/dist/cjs/react/dockview/v2/webviewContentRenderer.d.ts +0 -18
  309. package/dist/cjs/react/dockview/v2/webviewContentRenderer.js +0 -46
  310. package/dist/cjs/react/dockview/v2/webviewContentRenderer.js.map +0 -1
  311. package/dist/cjs/react/gridview/gridview.d.ts +0 -24
  312. package/dist/cjs/react/gridview/gridview.js +0 -113
  313. package/dist/cjs/react/gridview/gridview.js.map +0 -1
  314. package/dist/cjs/react/gridview/view.js.map +0 -1
  315. package/dist/cjs/react/index.d.ts +0 -9
  316. package/dist/cjs/react/index.js +0 -24
  317. package/dist/cjs/react/index.js.map +0 -1
  318. package/dist/cjs/react/paneview/paneview.d.ts +0 -30
  319. package/dist/cjs/react/paneview/paneview.js +0 -156
  320. package/dist/cjs/react/paneview/paneview.js.map +0 -1
  321. package/dist/cjs/react/paneview/view.js.map +0 -1
  322. package/dist/cjs/react/react.js.map +0 -1
  323. package/dist/cjs/react/splitview/splitview.js.map +0 -1
  324. package/dist/cjs/react/splitview/view.js.map +0 -1
  325. package/dist/cjs/react/svg.d.ts +0 -3
  326. package/dist/cjs/react/svg.js +0 -36
  327. package/dist/cjs/react/svg.js.map +0 -1
  328. package/dist/cjs/react/types.d.ts +0 -7
  329. package/dist/cjs/react/types.js +0 -3
  330. package/dist/cjs/react/types.js.map +0 -1
  331. package/dist/cjs/splitview/core/options.d.ts +0 -26
  332. package/dist/cjs/splitview/core/options.js +0 -3
  333. package/dist/cjs/splitview/core/options.js.map +0 -1
  334. package/dist/cjs/splitview/core/splitview.d.ts +0 -127
  335. package/dist/cjs/splitview/core/splitview.js +0 -909
  336. package/dist/cjs/splitview/core/splitview.js.map +0 -1
  337. package/dist/cjs/splitview/core/viewItem.d.ts +0 -25
  338. package/dist/cjs/splitview/core/viewItem.js +0 -125
  339. package/dist/cjs/splitview/core/viewItem.js.map +0 -1
  340. package/dist/cjs/splitview/splitviewComponent.d.ts +0 -101
  341. package/dist/cjs/splitview/splitviewComponent.js +0 -374
  342. package/dist/cjs/splitview/splitviewComponent.js.map +0 -1
  343. package/dist/cjs/splitview/splitviewPanel.d.ts +0 -45
  344. package/dist/cjs/splitview/splitviewPanel.js +0 -180
  345. package/dist/cjs/splitview/splitviewPanel.js.map +0 -1
  346. package/dist/esm/actionbar/actionsContainer.d.ts +0 -7
  347. package/dist/esm/actionbar/actionsContainer.js +0 -17
  348. package/dist/esm/api/component.api.d.ts +0 -145
  349. package/dist/esm/api/component.api.js +0 -329
  350. package/dist/esm/api/dockviewPanelApi.d.ts +0 -34
  351. package/dist/esm/api/dockviewPanelApi.js +0 -48
  352. package/dist/esm/api/gridviewPanelApi.d.ts +0 -37
  353. package/dist/esm/api/gridviewPanelApi.js +0 -25
  354. package/dist/esm/api/panelApi.d.ts +0 -88
  355. package/dist/esm/api/panelApi.js +0 -95
  356. package/dist/esm/api/paneviewPanelApi.d.ts +0 -26
  357. package/dist/esm/api/paneviewPanelApi.js +0 -27
  358. package/dist/esm/api/splitviewPanelApi.d.ts +0 -32
  359. package/dist/esm/api/splitviewPanelApi.js +0 -25
  360. package/dist/esm/array.d.ts +0 -13
  361. package/dist/esm/array.js +0 -67
  362. package/dist/esm/dnd/abstractDragHandler.d.ts +0 -11
  363. package/dist/esm/dnd/abstractDragHandler.js +0 -37
  364. package/dist/esm/dnd/dataTransfer.d.ts +0 -31
  365. package/dist/esm/dnd/dataTransfer.js +0 -69
  366. package/dist/esm/dnd/dnd.d.ts +0 -27
  367. package/dist/esm/dnd/dnd.js +0 -36
  368. package/dist/esm/dnd/droptarget.d.ts +0 -42
  369. package/dist/esm/dnd/droptarget.js +0 -249
  370. package/dist/esm/dnd/ghost.d.ts +0 -1
  371. package/dist/esm/dnd/ghost.js +0 -10
  372. package/dist/esm/dnd/groupDragHandler.d.ts +0 -11
  373. package/dist/esm/dnd/groupDragHandler.js +0 -38
  374. package/dist/esm/dockview/components/tab/defaultTab.d.ts +0 -27
  375. package/dist/esm/dockview/components/tab/defaultTab.js +0 -79
  376. package/dist/esm/dockview/components/watermark/watermark.d.ts +0 -20
  377. package/dist/esm/dockview/components/watermark/watermark.js +0 -70
  378. package/dist/esm/dockview/defaultGroupPanelView.d.ts +0 -29
  379. package/dist/esm/dockview/defaultGroupPanelView.js +0 -44
  380. package/dist/esm/dockview/deserializer.d.ts +0 -6
  381. package/dist/esm/dockview/deserializer.js +0 -1
  382. package/dist/esm/dockview/dockviewComponent.d.ts +0 -133
  383. package/dist/esm/dockview/dockviewComponent.js +0 -632
  384. package/dist/esm/dockview/dockviewPanel.d.ts +0 -42
  385. package/dist/esm/dockview/dockviewPanel.js +0 -111
  386. package/dist/esm/dockview/options.d.ts +0 -110
  387. package/dist/esm/dockview/options.js +0 -24
  388. package/dist/esm/dockview/validation.d.ts +0 -2
  389. package/dist/esm/dockview/validation.js +0 -86
  390. package/dist/esm/dom.d.ts +0 -14
  391. package/dist/esm/dom.js +0 -113
  392. package/dist/esm/events.d.ts +0 -30
  393. package/dist/esm/events.js +0 -88
  394. package/dist/esm/gridview/baseComponentGridview.d.ts +0 -87
  395. package/dist/esm/gridview/baseComponentGridview.js +0 -188
  396. package/dist/esm/gridview/basePanelView.d.ts +0 -43
  397. package/dist/esm/gridview/basePanelView.js +0 -74
  398. package/dist/esm/gridview/branchNode.d.ts +0 -49
  399. package/dist/esm/gridview/branchNode.js +0 -218
  400. package/dist/esm/gridview/gridviewComponent.d.ts +0 -85
  401. package/dist/esm/gridview/gridviewComponent.js +0 -237
  402. package/dist/esm/gridview/gridviewPanel.d.ts +0 -60
  403. package/dist/esm/gridview/gridviewPanel.js +0 -138
  404. package/dist/esm/gridview/leafNode.d.ts +0 -34
  405. package/dist/esm/gridview/leafNode.js +0 -103
  406. package/dist/esm/gridview/options.d.ts +0 -18
  407. package/dist/esm/gridview/options.js +0 -1
  408. package/dist/esm/gridview/types.d.ts +0 -3
  409. package/dist/esm/gridview/types.js +0 -1
  410. package/dist/esm/groupview/dnd.d.ts +0 -6
  411. package/dist/esm/groupview/dnd.js +0 -7
  412. package/dist/esm/groupview/groupview.d.ts +0 -177
  413. package/dist/esm/groupview/groupview.js +0 -462
  414. package/dist/esm/groupview/groupviewPanel.d.ts +0 -35
  415. package/dist/esm/groupview/groupviewPanel.js +0 -61
  416. package/dist/esm/groupview/panel/content.d.ts +0 -30
  417. package/dist/esm/groupview/panel/content.js +0 -73
  418. package/dist/esm/groupview/tab.d.ts +0 -31
  419. package/dist/esm/groupview/tab.js +0 -94
  420. package/dist/esm/groupview/titlebar/tabsContainer.d.ts +0 -65
  421. package/dist/esm/groupview/titlebar/tabsContainer.js +0 -183
  422. package/dist/esm/groupview/titlebar/voidContainer.d.ts +0 -15
  423. package/dist/esm/groupview/titlebar/voidContainer.js +0 -47
  424. package/dist/esm/groupview/types.d.ts +0 -68
  425. package/dist/esm/groupview/types.js +0 -1
  426. package/dist/esm/hostedContainer.d.ts +0 -23
  427. package/dist/esm/hostedContainer.js +0 -63
  428. package/dist/esm/lifecycle.d.ts +0 -22
  429. package/dist/esm/lifecycle.js +0 -39
  430. package/dist/esm/math.d.ts +0 -4
  431. package/dist/esm/math.js +0 -10
  432. package/dist/esm/panel/componentFactory.d.ts +0 -8
  433. package/dist/esm/panel/componentFactory.js +0 -24
  434. package/dist/esm/panel/types.d.ts +0 -33
  435. package/dist/esm/panel/types.js +0 -1
  436. package/dist/esm/paneview/defaultPaneviewHeader.d.ts +0 -21
  437. package/dist/esm/paneview/defaultPaneviewHeader.js +0 -63
  438. package/dist/esm/paneview/draggablePaneviewPanel.d.ts +0 -19
  439. package/dist/esm/paneview/draggablePaneviewPanel.js +0 -91
  440. package/dist/esm/paneview/options.d.ts +0 -27
  441. package/dist/esm/paneview/options.js +0 -1
  442. package/dist/esm/paneview/paneviewComponent.d.ts +0 -129
  443. package/dist/esm/paneview/paneviewComponent.js +0 -270
  444. package/dist/esm/paneview/paneviewPanel.d.ts +0 -92
  445. package/dist/esm/paneview/paneviewPanel.js +0 -192
  446. package/dist/esm/react/deserializer.d.ts +0 -10
  447. package/dist/esm/react/deserializer.js +0 -38
  448. package/dist/esm/react/dockview/v2/reactContentRenderer.d.ts +0 -29
  449. package/dist/esm/react/dockview/v2/reactContentRenderer.js +0 -69
  450. package/dist/esm/react/dockview/v2/reactGroupPanelView.d.ts +0 -7
  451. package/dist/esm/react/dockview/v2/reactGroupPanelView.js +0 -12
  452. package/dist/esm/react/dockview/v2/webviewContentRenderer.d.ts +0 -18
  453. package/dist/esm/react/dockview/v2/webviewContentRenderer.js +0 -36
  454. package/dist/esm/react/gridview/gridview.d.ts +0 -24
  455. package/dist/esm/react/gridview/gridview.js +0 -70
  456. package/dist/esm/react/index.d.ts +0 -9
  457. package/dist/esm/react/index.js +0 -7
  458. package/dist/esm/react/paneview/paneview.d.ts +0 -30
  459. package/dist/esm/react/paneview/paneview.js +0 -100
  460. package/dist/esm/react/svg.d.ts +0 -3
  461. package/dist/esm/react/svg.js +0 -7
  462. package/dist/esm/react/types.d.ts +0 -7
  463. package/dist/esm/react/types.js +0 -1
  464. package/dist/esm/splitview/core/options.d.ts +0 -26
  465. package/dist/esm/splitview/core/options.js +0 -1
  466. package/dist/esm/splitview/core/splitview.d.ts +0 -127
  467. package/dist/esm/splitview/core/splitview.js +0 -689
  468. package/dist/esm/splitview/core/viewItem.d.ts +0 -25
  469. package/dist/esm/splitview/core/viewItem.js +0 -79
  470. package/dist/esm/splitview/splitviewComponent.d.ts +0 -101
  471. package/dist/esm/splitview/splitviewComponent.js +0 -249
  472. package/dist/esm/splitview/splitviewPanel.d.ts +0 -45
  473. package/dist/esm/splitview/splitviewPanel.js +0 -108
@@ -1,132 +1,23 @@
1
- import { ISplitviewStyles, LayoutPriority, Orientation, Sizing } from '../splitview/core/splitview';
2
- import { LeafNode } from './leafNode';
3
- import { Node } from './types';
4
- import { Event } from '../events';
5
- import { IDisposable } from '../lifecycle';
6
- import { Position } from '../dnd/droptarget';
7
- export declare function indexInParent(element: HTMLElement): number;
8
- /**
9
- * Find the grid location of a specific DOM element by traversing the parent
10
- * chain and finding each child index on the way.
11
- *
12
- * This will break as soon as DOM structures of the Splitview or Gridview change.
13
- */
14
- export declare function getGridLocation(element: HTMLElement): number[];
15
- export declare function getRelativeLocation(rootOrientation: Orientation, location: number[], direction: Position): number[];
16
- export declare function getDirectionOrientation(direction: Position): Orientation;
17
- export declare function getLocationOrientation(rootOrientation: Orientation, location: number[]): Orientation;
18
- export interface IViewSize {
19
- width?: number;
20
- height?: number;
21
- }
22
- export interface IGridView {
23
- readonly onDidChange: Event<IViewSize | undefined>;
24
- readonly element: HTMLElement;
25
- readonly minimumWidth: number;
26
- readonly maximumWidth: number;
27
- readonly minimumHeight: number;
28
- readonly maximumHeight: number;
29
- priority?: LayoutPriority;
30
- layout(width: number, height: number): void;
31
- toJSON(): object;
32
- fromJSON?(json: object): void;
33
- snap?: boolean;
34
- setVisible?(visible: boolean): void;
35
- }
36
- export declare const orthogonal: (orientation: Orientation) => Orientation;
37
- export interface GridLeafNode<T extends IGridView> {
38
- readonly view: T;
39
- readonly cachedVisibleSize: number | undefined;
40
- readonly box: {
41
- width: number;
42
- height: number;
43
- };
44
- }
45
- export interface GridBranchNode<T extends IGridView> {
46
- readonly children: GridNode<T>[];
47
- readonly box: {
48
- width: number;
49
- height: number;
50
- };
51
- }
52
- export type GridNode<T extends IGridView> = GridLeafNode<T> | GridBranchNode<T>;
53
- export declare function isGridBranchNode<T extends IGridView>(node: GridNode<T>): node is GridBranchNode<T>;
54
- export interface SerializedGridObject<T> {
55
- type: 'leaf' | 'branch';
56
- data: T | SerializedGridObject<T>[];
57
- size?: number;
58
- visible?: boolean;
59
- }
60
- export interface ISerializedLeafNode<T = any> {
61
- type: 'leaf';
62
- data: T;
63
- size: number;
64
- visible?: boolean;
65
- }
66
- export interface ISerializedBranchNode {
67
- type: 'branch';
68
- data: ISerializedNode[];
69
- size: number;
70
- }
71
- export type ISerializedNode = ISerializedLeafNode | ISerializedBranchNode;
72
- export interface INodeDescriptor {
73
- node: Node;
74
- visible?: boolean;
75
- }
76
- export interface IViewDeserializer {
77
- fromJSON: (data: ISerializedLeafNode) => IGridView;
78
- }
79
- export declare class Gridview implements IDisposable {
80
- readonly proportionalLayout: boolean;
81
- readonly styles: ISplitviewStyles | undefined;
82
- private _root;
83
- readonly element: HTMLElement;
84
- private disposable;
85
- private readonly _onDidChange;
86
- readonly onDidChange: Event<{
87
- size?: number;
88
- orthogonalSize?: number;
89
- }>;
90
- get length(): number;
91
- serialize(): {
92
- root: SerializedGridObject<any>;
93
- width: number;
94
- height: number;
95
- orientation: Orientation;
96
- };
97
- dispose(): void;
98
- clear(): void;
99
- deserialize(json: any, deserializer: IViewDeserializer): void;
100
- private _deserialize;
101
- private _deserializeNode;
102
- get orientation(): Orientation;
103
- set orientation(orientation: Orientation);
104
- private get root();
105
- private set root(value);
106
- /**
107
- * If the root is orientated as a VERTICAL node then nest the existing root within a new HORIZIONTAL root node
108
- * If the root is orientated as a HORIZONTAL node then nest the existing root within a new VERITCAL root node
109
- */
110
- insertOrthogonalSplitviewAtRoot(): void;
111
- next(location: number[]): LeafNode;
112
- previous(location: number[]): LeafNode;
113
- getView(): GridBranchNode<IGridView>;
114
- getView(location?: number[]): GridNode<IGridView>;
115
- private _getViews;
116
- private progmaticSelect;
117
- get width(): number;
118
- get height(): number;
119
- get minimumWidth(): number;
120
- get minimumHeight(): number;
121
- get maximumWidth(): number;
122
- get maximumHeight(): number;
123
- constructor(proportionalLayout: boolean, styles: ISplitviewStyles | undefined, orientation: Orientation);
124
- isViewVisible(location: number[]): boolean;
125
- setViewVisible(location: number[], visible: boolean): void;
126
- moveView(parentLocation: number[], from: number, to: number): void;
127
- addView(view: IGridView, size: number | Sizing, location: number[]): void;
128
- remove(view: IGridView, sizing?: Sizing): IGridView;
129
- removeView(location: number[], sizing?: Sizing): IGridView;
130
- layout(width: number, height: number): void;
131
- private getNode;
132
- }
1
+ import * as React from 'react';
2
+ import { GridviewPanelApi, Orientation, GridviewApi } from 'dockview-core';
3
+ import { PanelCollection, PanelParameters } from '../types';
4
+ export interface GridviewReadyEvent {
5
+ api: GridviewApi;
6
+ }
7
+ export interface IGridviewPanelProps<T extends {
8
+ [index: string]: any;
9
+ } = any> extends PanelParameters<T> {
10
+ api: GridviewPanelApi;
11
+ containerApi: GridviewApi;
12
+ }
13
+ export interface IGridviewReactProps {
14
+ orientation?: Orientation;
15
+ onReady: (event: GridviewReadyEvent) => void;
16
+ components: PanelCollection<IGridviewPanelProps>;
17
+ hideBorders?: boolean;
18
+ className?: string;
19
+ proportionalLayout?: boolean;
20
+ disableAutoResizing?: boolean;
21
+ }
22
+ export declare const GridviewReact: React.ForwardRefExoticComponent<IGridviewReactProps & React.RefAttributes<HTMLDivElement>>;
23
+ //# sourceMappingURL=gridview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gridview.d.ts","sourceRoot":"","sources":["../../../src/gridview/gridview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAGH,gBAAgB,EAChB,WAAW,EACX,WAAW,EACd,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IAC/B,GAAG,EAAE,WAAW,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,GAAG,CACzE,SAAQ,eAAe,CAAC,CAAC,CAAC;IAC1B,GAAG,EAAE,gBAAgB,CAAC;IACtB,YAAY,EAAE,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAChC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC7C,UAAU,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;IACjD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,eAAO,MAAM,aAAa,4FAyEzB,CAAC"}
@@ -1,423 +1,55 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Accreditation: This file is largly based upon the MIT licenced VSCode sourcecode found at:
3
- * https://github.com/microsoft/vscode/tree/main/src/vs/base/browser/ui/grid
4
- *--------------------------------------------------------------------------------------------*/
5
- import { Orientation, Sizing, } from '../splitview/core/splitview';
6
- import { tail } from '../array';
7
- import { LeafNode } from './leafNode';
8
- import { BranchNode } from './branchNode';
9
- import { Emitter } from '../events';
10
- import { MutableDisposable } from '../lifecycle';
11
- function findLeaf(candiateNode, last) {
12
- if (candiateNode instanceof LeafNode) {
13
- return candiateNode;
14
- }
15
- if (candiateNode instanceof BranchNode) {
16
- return findLeaf(candiateNode.children[last ? candiateNode.children.length - 1 : 0], last);
17
- }
18
- throw new Error('invalid node');
19
- }
20
- function flipNode(node, size, orthogonalSize) {
21
- if (node instanceof BranchNode) {
22
- const result = new BranchNode(orthogonal(node.orientation), node.proportionalLayout, node.styles, size, orthogonalSize);
23
- let totalSize = 0;
24
- for (let i = node.children.length - 1; i >= 0; i--) {
25
- const child = node.children[i];
26
- const childSize = child instanceof BranchNode ? child.orthogonalSize : child.size;
27
- let newSize = node.size === 0
28
- ? 0
29
- : Math.round((size * childSize) / node.size);
30
- totalSize += newSize;
31
- // The last view to add should adjust to rounding errors
32
- if (i === 0) {
33
- newSize += size - totalSize;
34
- }
35
- result.addChild(flipNode(child, orthogonalSize, newSize), newSize, 0, true);
36
- }
37
- return result;
38
- }
39
- else {
40
- return new LeafNode(node.view, orthogonal(node.orientation), orthogonalSize);
41
- }
42
- }
43
- export function indexInParent(element) {
44
- const parentElement = element.parentElement;
45
- if (!parentElement) {
46
- throw new Error('Invalid grid element');
47
- }
48
- let el = parentElement.firstElementChild;
49
- let index = 0;
50
- while (el !== element && el !== parentElement.lastElementChild && el) {
51
- el = el.nextElementSibling;
52
- index++;
53
- }
54
- return index;
55
- }
56
- /**
57
- * Find the grid location of a specific DOM element by traversing the parent
58
- * chain and finding each child index on the way.
59
- *
60
- * This will break as soon as DOM structures of the Splitview or Gridview change.
61
- */
62
- export function getGridLocation(element) {
63
- const parentElement = element.parentElement;
64
- if (!parentElement) {
65
- throw new Error('Invalid grid element');
66
- }
67
- if (/\bgrid-view\b/.test(parentElement.className)) {
68
- return [];
69
- }
70
- const index = indexInParent(parentElement);
71
- const ancestor = parentElement.parentElement.parentElement.parentElement;
72
- return [...getGridLocation(ancestor), index];
73
- }
74
- export function getRelativeLocation(rootOrientation, location, direction) {
75
- const orientation = getLocationOrientation(rootOrientation, location);
76
- const directionOrientation = getDirectionOrientation(direction);
77
- if (orientation === directionOrientation) {
78
- const [rest, _index] = tail(location);
79
- let index = _index;
80
- if (direction === 'right' || direction === 'bottom') {
81
- index += 1;
82
- }
83
- return [...rest, index];
84
- }
85
- else {
86
- const index = direction === 'right' || direction === 'bottom' ? 1 : 0;
87
- return [...location, index];
88
- }
89
- }
90
- export function getDirectionOrientation(direction) {
91
- return direction === 'top' || direction === 'bottom'
92
- ? Orientation.VERTICAL
93
- : Orientation.HORIZONTAL;
94
- }
95
- export function getLocationOrientation(rootOrientation, location) {
96
- return location.length % 2 === 0
97
- ? orthogonal(rootOrientation)
98
- : rootOrientation;
99
- }
100
- export const orthogonal = (orientation) => orientation === Orientation.HORIZONTAL
101
- ? Orientation.VERTICAL
102
- : Orientation.HORIZONTAL;
103
- export function isGridBranchNode(node) {
104
- return !!node.children;
105
- }
106
- const serializeBranchNode = (node, orientation) => {
107
- const size = orientation === Orientation.VERTICAL ? node.box.width : node.box.height;
108
- if (!isGridBranchNode(node)) {
109
- if (typeof node.cachedVisibleSize === 'number') {
110
- return {
111
- type: 'leaf',
112
- data: node.view.toJSON(),
113
- size: node.cachedVisibleSize,
114
- visible: false,
115
- };
116
- }
117
- return { type: 'leaf', data: node.view.toJSON(), size };
118
- }
119
- return {
120
- type: 'branch',
121
- data: node.children.map((c) => serializeBranchNode(c, orthogonal(orientation))),
122
- size,
123
- };
124
- };
125
- export class Gridview {
126
- get length() {
127
- return this._root ? this._root.children.length : 0;
128
- }
129
- serialize() {
130
- const root = serializeBranchNode(this.getView(), this.orientation);
131
- return {
132
- root,
133
- width: this.width,
134
- height: this.height,
135
- orientation: this.orientation,
136
- };
137
- }
138
- dispose() {
139
- this.disposable.dispose();
140
- this._onDidChange.dispose();
141
- this.root.dispose();
142
- this.element.remove();
143
- }
144
- clear() {
145
- const orientation = this.root.orientation;
146
- this.root = new BranchNode(orientation, this.proportionalLayout, this.styles, this.root.size, this.root.orthogonalSize);
147
- }
148
- deserialize(json, deserializer) {
149
- const orientation = json.orientation;
150
- const height = orientation === Orientation.VERTICAL ? json.height : json.width;
151
- this._deserialize(json.root, orientation, deserializer, height);
152
- }
153
- _deserialize(root, orientation, deserializer, orthogonalSize) {
154
- this.root = this._deserializeNode(root, orientation, deserializer, orthogonalSize, true);
155
- }
156
- _deserializeNode(node, orientation, deserializer, orthogonalSize, isRoot = false) {
157
- let result;
158
- if (node.type === 'branch') {
159
- const serializedChildren = node.data;
160
- const children = serializedChildren.map((serializedChild) => {
161
- return {
162
- node: this._deserializeNode(serializedChild, orthogonal(orientation), deserializer, node.size),
163
- visible: serializedChild.visible,
164
- };
165
- });
166
- // HORIZONTAL => height=orthogonalsize width=size
167
- // VERTICAL => height=size width=orthogonalsize
168
- result = new BranchNode(orientation, this.proportionalLayout, this.styles, isRoot ? orthogonalSize : node.size, isRoot ? node.size : orthogonalSize, children);
169
- }
170
- else {
171
- result = new LeafNode(deserializer.fromJSON(node), orientation, orthogonalSize, node.size);
172
- }
173
- return result;
174
- }
175
- get orientation() {
176
- return this.root.orientation;
177
- }
178
- set orientation(orientation) {
179
- if (this.root.orientation === orientation) {
180
- return;
181
- }
182
- const { size, orthogonalSize } = this.root;
183
- this.root = flipNode(this.root, orthogonalSize, size);
184
- this.root.layout(size, orthogonalSize);
185
- }
186
- get root() {
187
- return this._root;
188
- }
189
- set root(root) {
190
- const oldRoot = this._root;
191
- if (oldRoot) {
192
- oldRoot.dispose();
193
- this.element.removeChild(oldRoot.element);
194
- }
195
- this._root = root;
196
- this.element.appendChild(this._root.element);
197
- this.disposable.value = this._root.onDidChange((e) => {
198
- this._onDidChange.fire(e);
199
- });
200
- }
201
- /**
202
- * If the root is orientated as a VERTICAL node then nest the existing root within a new HORIZIONTAL root node
203
- * If the root is orientated as a HORIZONTAL node then nest the existing root within a new VERITCAL root node
204
- */
205
- insertOrthogonalSplitviewAtRoot() {
206
- if (!this._root) {
207
- return;
208
- }
209
- const oldRoot = this.root;
210
- oldRoot.element.remove();
211
- this._root = new BranchNode(orthogonal(oldRoot.orientation), this.proportionalLayout, this.styles, this.root.orthogonalSize, this.root.size);
212
- if (oldRoot.children.length === 1) {
213
- // can remove one level of redundant branching if there is only a single child
214
- const childReference = oldRoot.children[0];
215
- oldRoot.removeChild(0); // remove to prevent disposal when disposing of unwanted root
216
- oldRoot.dispose();
217
- this._root.addChild(childReference, Sizing.Distribute, 0);
218
- }
219
- else {
220
- this._root.addChild(oldRoot, Sizing.Distribute, 0);
221
- }
222
- this.element.appendChild(this._root.element);
223
- this.disposable.value = this._root.onDidChange((e) => {
224
- this._onDidChange.fire(e);
225
- });
226
- }
227
- next(location) {
228
- return this.progmaticSelect(location);
229
- }
230
- previous(location) {
231
- return this.progmaticSelect(location, true);
232
- }
233
- getView(location) {
234
- const node = location ? this.getNode(location)[1] : this.root;
235
- return this._getViews(node, this.orientation);
236
- }
237
- _getViews(node, orientation, cachedVisibleSize) {
238
- const box = { height: node.height, width: node.width };
239
- if (node instanceof LeafNode) {
240
- return { box, view: node.view, cachedVisibleSize };
241
- }
242
- const children = [];
243
- for (let i = 0; i < node.children.length; i++) {
244
- const child = node.children[i];
245
- const nodeCachedVisibleSize = node.getChildCachedVisibleSize(i);
246
- children.push(this._getViews(child, orthogonal(orientation), nodeCachedVisibleSize));
247
- }
248
- return { box, children };
249
- }
250
- progmaticSelect(location, reverse = false) {
251
- const [path, node] = this.getNode(location);
252
- if (!(node instanceof LeafNode)) {
253
- throw new Error('invalid location');
254
- }
255
- for (let i = path.length - 1; i > -1; i--) {
256
- const n = path[i];
257
- const l = location[i] || 0;
258
- const canProgressInCurrentLevel = reverse
259
- ? l - 1 > -1
260
- : l + 1 < n.children.length;
261
- if (canProgressInCurrentLevel) {
262
- return findLeaf(n.children[reverse ? l - 1 : l + 1], reverse);
263
- }
264
- }
265
- return findLeaf(this.root, reverse);
266
- }
267
- get width() {
268
- return this.root.width;
269
- }
270
- get height() {
271
- return this.root.height;
272
- }
273
- get minimumWidth() {
274
- return this.root.minimumWidth;
275
- }
276
- get minimumHeight() {
277
- return this.root.minimumHeight;
278
- }
279
- get maximumWidth() {
280
- return this.root.maximumHeight;
281
- }
282
- get maximumHeight() {
283
- return this.root.maximumHeight;
284
- }
285
- constructor(proportionalLayout, styles, orientation) {
286
- this.proportionalLayout = proportionalLayout;
287
- this.styles = styles;
288
- this.disposable = new MutableDisposable();
289
- this._onDidChange = new Emitter();
290
- this.onDidChange = this._onDidChange.event;
291
- this.element = document.createElement('div');
292
- this.element.className = 'grid-view';
293
- this.root = new BranchNode(orientation, proportionalLayout, styles, 0, 0);
294
- }
295
- isViewVisible(location) {
296
- const [rest, index] = tail(location);
297
- const [, parent] = this.getNode(rest);
298
- if (!(parent instanceof BranchNode)) {
299
- throw new Error('Invalid from location');
300
- }
301
- return parent.isChildVisible(index);
302
- }
303
- setViewVisible(location, visible) {
304
- const [rest, index] = tail(location);
305
- const [, parent] = this.getNode(rest);
306
- if (!(parent instanceof BranchNode)) {
307
- throw new Error('Invalid from location');
308
- }
309
- parent.setChildVisible(index, visible);
310
- }
311
- moveView(parentLocation, from, to) {
312
- const [, parent] = this.getNode(parentLocation);
313
- if (!(parent instanceof BranchNode)) {
314
- throw new Error('Invalid location');
315
- }
316
- parent.moveChild(from, to);
317
- }
318
- addView(view, size, location) {
319
- const [rest, index] = tail(location);
320
- const [pathToParent, parent] = this.getNode(rest);
321
- if (parent instanceof BranchNode) {
322
- const node = new LeafNode(view, orthogonal(parent.orientation), parent.orthogonalSize);
323
- parent.addChild(node, size, index);
324
- }
325
- else {
326
- const [grandParent, ..._] = [...pathToParent].reverse();
327
- const [parentIndex, ...__] = [...rest].reverse();
328
- let newSiblingSize = 0;
329
- const newSiblingCachedVisibleSize = grandParent.getChildCachedVisibleSize(parentIndex);
330
- if (typeof newSiblingCachedVisibleSize === 'number') {
331
- newSiblingSize = Sizing.Invisible(newSiblingCachedVisibleSize);
332
- }
333
- grandParent.removeChild(parentIndex);
334
- const newParent = new BranchNode(parent.orientation, this.proportionalLayout, this.styles, parent.size, parent.orthogonalSize);
335
- grandParent.addChild(newParent, parent.size, parentIndex);
336
- const newSibling = new LeafNode(parent.view, grandParent.orientation, parent.size);
337
- newParent.addChild(newSibling, newSiblingSize, 0);
338
- if (typeof size !== 'number' && size.type === 'split') {
339
- size = { type: 'split', index: 0 };
340
- }
341
- const node = new LeafNode(view, grandParent.orientation, parent.size);
342
- newParent.addChild(node, size, index);
343
- }
344
- }
345
- remove(view, sizing) {
346
- const location = getGridLocation(view.element);
347
- return this.removeView(location, sizing);
348
- }
349
- removeView(location, sizing) {
350
- const [rest, index] = tail(location);
351
- const [pathToParent, parent] = this.getNode(rest);
352
- if (!(parent instanceof BranchNode)) {
353
- throw new Error('Invalid location');
354
- }
355
- const node = parent.children[index];
356
- if (!(node instanceof LeafNode)) {
357
- throw new Error('Invalid location');
358
- }
359
- parent.removeChild(index, sizing);
360
- if (parent.children.length === 0) {
361
- return node.view;
362
- }
363
- if (parent.children.length > 1) {
364
- return node.view;
365
- }
366
- const sibling = parent.children[0];
367
- if (pathToParent.length === 0) {
368
- // parent is root
369
- if (sibling instanceof LeafNode) {
370
- return node.view;
371
- }
372
- // we must promote sibling to be the new root
373
- parent.removeChild(0, sizing);
374
- this.root = sibling;
375
- return node.view;
376
- }
377
- const [grandParent, ..._] = [...pathToParent].reverse();
378
- const [parentIndex, ...__] = [...rest].reverse();
379
- const isSiblingVisible = parent.isChildVisible(0);
380
- parent.removeChild(0, sizing);
381
- const sizes = grandParent.children.map((_size, i) => grandParent.getChildSize(i));
382
- grandParent.removeChild(parentIndex, sizing);
383
- if (sibling instanceof BranchNode) {
384
- sizes.splice(parentIndex, 1, ...sibling.children.map((c) => c.size));
385
- for (let i = 0; i < sibling.children.length; i++) {
386
- const child = sibling.children[i];
387
- grandParent.addChild(child, child.size, parentIndex + i);
388
- }
389
- }
390
- else {
391
- const newSibling = new LeafNode(sibling.view, orthogonal(sibling.orientation), sibling.size);
392
- const siblingSizing = isSiblingVisible
393
- ? sibling.orthogonalSize
394
- : Sizing.Invisible(sibling.orthogonalSize);
395
- grandParent.addChild(newSibling, siblingSizing, parentIndex);
396
- }
397
- for (let i = 0; i < sizes.length; i++) {
398
- grandParent.resizeChild(i, sizes[i]);
399
- }
400
- return node.view;
401
- }
402
- layout(width, height) {
403
- const [size, orthogonalSize] = this.root.orientation === Orientation.HORIZONTAL
404
- ? [height, width]
405
- : [width, height];
406
- this.root.layout(size, orthogonalSize);
407
- }
408
- getNode(location, node = this.root, path = []) {
409
- if (location.length === 0) {
410
- return [path, node];
411
- }
412
- if (!(node instanceof BranchNode)) {
413
- throw new Error('Invalid location');
414
- }
415
- const [index, ...rest] = location;
416
- if (index < 0 || index >= node.children.length) {
417
- throw new Error('Invalid location');
418
- }
419
- const child = node.children[index];
420
- path.push(node);
421
- return this.getNode(rest, child, path);
422
- }
423
- }
1
+ import * as React from 'react';
2
+ import { GridviewComponent, Orientation, GridviewApi, } from 'dockview-core';
3
+ import { ReactGridPanelView } from './view';
4
+ import { usePortalsLifecycle } from '../react';
5
+ export const GridviewReact = React.forwardRef((props, ref) => {
6
+ const domRef = React.useRef(null);
7
+ const gridviewRef = React.useRef();
8
+ const [portals, addPortal] = usePortalsLifecycle();
9
+ React.useImperativeHandle(ref, () => domRef.current, []);
10
+ React.useEffect(() => {
11
+ if (!domRef.current) {
12
+ return () => {
13
+ // noop
14
+ };
15
+ }
16
+ const gridview = new GridviewComponent({
17
+ parentElement: domRef.current,
18
+ proportionalLayout: typeof props.proportionalLayout === 'boolean'
19
+ ? props.proportionalLayout
20
+ : true,
21
+ orientation: props.orientation || Orientation.HORIZONTAL,
22
+ frameworkComponents: props.components,
23
+ frameworkComponentFactory: {
24
+ createComponent: (id, componentId, component) => {
25
+ return new ReactGridPanelView(id, componentId, component, {
26
+ addPortal,
27
+ });
28
+ },
29
+ },
30
+ styles: props.hideBorders
31
+ ? { separatorBorder: 'transparent' }
32
+ : undefined,
33
+ });
34
+ const { clientWidth, clientHeight } = domRef.current;
35
+ gridview.layout(clientWidth, clientHeight);
36
+ if (props.onReady) {
37
+ props.onReady({ api: new GridviewApi(gridview) });
38
+ }
39
+ gridviewRef.current = gridview;
40
+ return () => {
41
+ gridview.dispose();
42
+ };
43
+ }, []);
44
+ React.useEffect(() => {
45
+ if (!gridviewRef.current) {
46
+ return;
47
+ }
48
+ gridviewRef.current.updateOptions({
49
+ frameworkComponents: props.components,
50
+ });
51
+ }, [props.components]);
52
+ return (React.createElement("div", { className: props.className, style: { height: '100%', width: '100%' }, ref: domRef }, portals));
53
+ });
54
+ GridviewReact.displayName = 'GridviewComponent';
55
+ //# sourceMappingURL=gridview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gridview.js","sourceRoot":"","sources":["../../../src/gridview/gridview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACH,iBAAiB,EAGjB,WAAW,EACX,WAAW,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAuB/C,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CACzC,CAAC,KAA0B,EAAE,GAAuC,EAAE,EAAE;IACpE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,EAAsB,CAAC;IACvD,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,mBAAmB,EAAE,CAAC;IAEnD,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAQ,EAAE,EAAE,CAAC,CAAC;IAE1D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACjB,OAAO,GAAG,EAAE;gBACR,OAAO;YACX,CAAC,CAAC;SACL;QAED,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC;YACnC,aAAa,EAAE,MAAM,CAAC,OAAO;YAC7B,kBAAkB,EACd,OAAO,KAAK,CAAC,kBAAkB,KAAK,SAAS;gBACzC,CAAC,CAAC,KAAK,CAAC,kBAAkB;gBAC1B,CAAC,CAAC,IAAI;YACd,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,UAAU;YACxD,mBAAmB,EAAE,KAAK,CAAC,UAAU;YACrC,yBAAyB,EAAE;gBACvB,eAAe,EAAE,CAAC,EAAU,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE;oBACpD,OAAO,IAAI,kBAAkB,CACzB,EAAE,EACF,WAAW,EACX,SAAS,EACT;wBACI,SAAS;qBACZ,CACJ,CAAC;gBACN,CAAC;aACJ;YACD,MAAM,EAAE,KAAK,CAAC,WAAW;gBACrB,CAAC,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE;gBACpC,CAAC,CAAC,SAAS;SAClB,CAAC,CAAC;QAEH,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;QACrD,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAE3C,IAAI,KAAK,CAAC,OAAO,EAAE;YACf,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SACrD;QAED,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;QAE/B,OAAO,GAAG,EAAE;YACR,QAAQ,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YACtB,OAAO;SACV;QACD,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC;YAC9B,mBAAmB,EAAE,KAAK,CAAC,UAAU;SACxC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IAEvB,OAAO,CACH,6BACI,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EACxC,GAAG,EAAE,MAAM,IAEV,OAAO,CACN,CACT,CAAC;AACN,CAAC,CACJ,CAAC;AACF,aAAa,CAAC,WAAW,GAAG,mBAAmB,CAAC"}
@@ -1,11 +1,11 @@
1
- /// <reference types="react" />
2
- import { GridviewPanel } from '../../gridview/gridviewPanel';
3
- import { IFrameworkPart } from '../../panel/types';
4
- import { ReactPortalStore } from '../react';
5
- import { IGridviewPanelProps } from './gridview';
6
- export declare class ReactGridPanelView extends GridviewPanel {
7
- private readonly reactComponent;
8
- private readonly reactPortalStore;
9
- constructor(id: string, component: string, reactComponent: React.FunctionComponent<IGridviewPanelProps>, reactPortalStore: ReactPortalStore);
10
- getComponent(): IFrameworkPart;
11
- }
1
+ /// <reference types="react" />
2
+ import { GridviewPanel, IFrameworkPart } from 'dockview-core';
3
+ import { ReactPortalStore } from '../react';
4
+ import { IGridviewPanelProps } from './gridview';
5
+ export declare class ReactGridPanelView extends GridviewPanel {
6
+ private readonly reactComponent;
7
+ private readonly reactPortalStore;
8
+ constructor(id: string, component: string, reactComponent: React.FunctionComponent<IGridviewPanelProps>, reactPortalStore: ReactPortalStore);
9
+ getComponent(): IFrameworkPart;
10
+ }
11
+ //# sourceMappingURL=view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/gridview/view.ts"],"names":[],"mappings":";AAAA,OAAO,EAEH,aAAa,EAEb,cAAc,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAa,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,qBAAa,kBAAmB,SAAQ,aAAa;IAI7C,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAHjC,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,EACA,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,EAC5D,gBAAgB,EAAE,gBAAgB;IAKvD,YAAY,IAAI,cAAc;CAcjC"}