dockview 1.0.3 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/README.md +243 -186
  2. package/dist/cjs/api/component.api.d.ts +31 -25
  3. package/dist/cjs/api/component.api.js +97 -40
  4. package/dist/cjs/api/component.api.js.map +1 -1
  5. package/dist/cjs/api/gridviewPanelApi.js +1 -0
  6. package/dist/cjs/api/gridviewPanelApi.js.map +1 -1
  7. package/dist/cjs/api/groupPanelApi.d.ts +11 -14
  8. package/dist/cjs/api/groupPanelApi.js +19 -17
  9. package/dist/cjs/api/groupPanelApi.js.map +1 -1
  10. package/dist/cjs/api/panelApi.d.ts +0 -25
  11. package/dist/cjs/api/panelApi.js +1 -20
  12. package/dist/cjs/api/panelApi.js.map +1 -1
  13. package/dist/cjs/api/paneviewPanelApi.js +1 -0
  14. package/dist/cjs/api/paneviewPanelApi.js.map +1 -1
  15. package/dist/cjs/api/splitviewPanelApi.d.ts +0 -1
  16. package/dist/cjs/api/splitviewPanelApi.js +1 -5
  17. package/dist/cjs/api/splitviewPanelApi.js.map +1 -1
  18. package/dist/cjs/dnd/abstractDragHandler.d.ts +2 -2
  19. package/dist/cjs/dnd/abstractDragHandler.js +15 -15
  20. package/dist/cjs/dnd/abstractDragHandler.js.map +1 -1
  21. package/dist/cjs/dnd/dataTransfer.d.ts +0 -25
  22. package/dist/cjs/dnd/dataTransfer.js +1 -45
  23. package/dist/cjs/dnd/dataTransfer.js.map +1 -1
  24. package/dist/cjs/dnd/dnd.d.ts +1 -14
  25. package/dist/cjs/dnd/dnd.js +1 -79
  26. package/dist/cjs/dnd/dnd.js.map +1 -1
  27. package/dist/cjs/dnd/droptarget.d.ts +3 -0
  28. package/dist/cjs/dnd/droptarget.js +72 -48
  29. package/dist/cjs/dnd/droptarget.js.map +1 -1
  30. package/dist/cjs/dockview/components/tab/defaultTab.d.ts +1 -2
  31. package/dist/cjs/dockview/components/tab/defaultTab.js +1 -9
  32. package/dist/cjs/dockview/components/tab/defaultTab.js.map +1 -1
  33. package/dist/cjs/dockview/components/watermark/watermark.d.ts +3 -3
  34. package/dist/cjs/dockview/components/watermark/watermark.js +4 -4
  35. package/dist/cjs/dockview/components/watermark/watermark.js.map +1 -1
  36. package/dist/cjs/dockview/deserializer.js.map +1 -1
  37. package/dist/cjs/dockview/dockviewComponent.d.ts +34 -23
  38. package/dist/cjs/dockview/dockviewComponent.js +117 -209
  39. package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
  40. package/dist/cjs/dockview/dockviewGroupPanel.d.ts +3 -5
  41. package/dist/cjs/dockview/dockviewGroupPanel.js +10 -31
  42. package/dist/cjs/dockview/dockviewGroupPanel.js.map +1 -1
  43. package/dist/cjs/dockview/options.d.ts +2 -1
  44. package/dist/cjs/events.js +25 -4
  45. package/dist/cjs/events.js.map +1 -1
  46. package/dist/cjs/gridview/baseComponentGridview.d.ts +12 -20
  47. package/dist/cjs/gridview/baseComponentGridview.js +49 -45
  48. package/dist/cjs/gridview/baseComponentGridview.js.map +1 -1
  49. package/dist/cjs/gridview/basePanelView.d.ts +5 -8
  50. package/dist/cjs/gridview/basePanelView.js +16 -8
  51. package/dist/cjs/gridview/basePanelView.js.map +1 -1
  52. package/dist/cjs/gridview/branchNode.js +3 -3
  53. package/dist/cjs/gridview/branchNode.js.map +1 -1
  54. package/dist/cjs/gridview/gridview.js +21 -18
  55. package/dist/cjs/gridview/gridview.js.map +1 -1
  56. package/dist/cjs/gridview/gridviewComponent.d.ts +5 -6
  57. package/dist/cjs/gridview/gridviewComponent.js +33 -9
  58. package/dist/cjs/gridview/gridviewComponent.js.map +1 -1
  59. package/dist/cjs/gridview/gridviewPanel.d.ts +0 -1
  60. package/dist/cjs/gridview/gridviewPanel.js +3 -6
  61. package/dist/cjs/gridview/gridviewPanel.js.map +1 -1
  62. package/dist/cjs/gridview/leafNode.js +2 -1
  63. package/dist/cjs/gridview/leafNode.js.map +1 -1
  64. package/dist/cjs/groupview/groupPanel.d.ts +1 -7
  65. package/dist/cjs/groupview/groupview.d.ts +18 -10
  66. package/dist/cjs/groupview/groupview.js +51 -129
  67. package/dist/cjs/groupview/groupview.js.map +1 -1
  68. package/dist/cjs/groupview/groupviewPanel.d.ts +5 -2
  69. package/dist/cjs/groupview/groupviewPanel.js.map +1 -1
  70. package/dist/cjs/groupview/panel/content.d.ts +1 -1
  71. package/dist/cjs/groupview/panel/content.js +2 -1
  72. package/dist/cjs/groupview/panel/content.js.map +1 -1
  73. package/dist/cjs/groupview/tab.d.ts +10 -13
  74. package/dist/cjs/groupview/tab.js +22 -80
  75. package/dist/cjs/groupview/tab.js.map +1 -1
  76. package/dist/cjs/groupview/titlebar/tabsContainer.js +4 -6
  77. package/dist/cjs/groupview/titlebar/tabsContainer.js.map +1 -1
  78. package/dist/cjs/hostedContainer.js +2 -2
  79. package/dist/cjs/hostedContainer.js.map +1 -1
  80. package/dist/cjs/index.d.ts +3 -3
  81. package/dist/cjs/index.js +8 -4
  82. package/dist/cjs/index.js.map +1 -1
  83. package/dist/cjs/lifecycle.js +2 -1
  84. package/dist/cjs/lifecycle.js.map +1 -1
  85. package/dist/cjs/panel/types.d.ts +0 -2
  86. package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +1 -1
  87. package/dist/cjs/paneview/defaultPaneviewHeader.js +1 -1
  88. package/dist/cjs/paneview/defaultPaneviewHeader.js.map +1 -1
  89. package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +2 -2
  90. package/dist/cjs/paneview/draggablePaneviewPanel.js +32 -29
  91. package/dist/cjs/paneview/draggablePaneviewPanel.js.map +1 -1
  92. package/dist/cjs/paneview/paneview.d.ts +3 -1
  93. package/dist/cjs/paneview/paneview.js +13 -7
  94. package/dist/cjs/paneview/paneview.js.map +1 -1
  95. package/dist/cjs/paneview/paneviewComponent.d.ts +7 -6
  96. package/dist/cjs/paneview/paneviewComponent.js +65 -8
  97. package/dist/cjs/paneview/paneviewComponent.js.map +1 -1
  98. package/dist/cjs/paneview/paneviewPanel.js +1 -1
  99. package/dist/cjs/paneview/paneviewPanel.js.map +1 -1
  100. package/dist/cjs/react/deserializer.js +1 -3
  101. package/dist/cjs/react/deserializer.js.map +1 -1
  102. package/dist/cjs/react/dockview/components.js +5 -1
  103. package/dist/cjs/react/dockview/components.js.map +1 -1
  104. package/dist/cjs/react/dockview/dockview.d.ts +9 -9
  105. package/dist/cjs/react/dockview/dockview.js +40 -5
  106. package/dist/cjs/react/dockview/dockview.js.map +1 -1
  107. package/dist/cjs/react/dockview/reactContentPart.d.ts +2 -2
  108. package/dist/cjs/react/dockview/reactContentPart.js +6 -17
  109. package/dist/cjs/react/dockview/reactContentPart.js.map +1 -1
  110. package/dist/cjs/react/dockview/reactHeaderPart.d.ts +2 -2
  111. package/dist/cjs/react/dockview/reactHeaderPart.js +3 -2
  112. package/dist/cjs/react/dockview/reactHeaderPart.js.map +1 -1
  113. package/dist/cjs/react/dockview/reactWatermarkPart.d.ts +3 -4
  114. package/dist/cjs/react/dockview/reactWatermarkPart.js +3 -4
  115. package/dist/cjs/react/dockview/reactWatermarkPart.js.map +1 -1
  116. package/dist/cjs/react/dockview/v2/reactContentRenderer.d.ts +2 -2
  117. package/dist/cjs/react/dockview/v2/reactContentRenderer.js +2 -2
  118. package/dist/cjs/react/dockview/v2/reactContentRenderer.js.map +1 -1
  119. package/dist/cjs/react/dockview/v2/webviewContentRenderer.d.ts +2 -2
  120. package/dist/cjs/react/dockview/v2/webviewContentRenderer.js +2 -2
  121. package/dist/cjs/react/dockview/v2/webviewContentRenderer.js.map +1 -1
  122. package/dist/cjs/react/gridview/gridview.js +9 -2
  123. package/dist/cjs/react/gridview/gridview.js.map +1 -1
  124. package/dist/cjs/react/gridview/view.d.ts +3 -2
  125. package/dist/cjs/react/gridview/view.js +2 -2
  126. package/dist/cjs/react/gridview/view.js.map +1 -1
  127. package/dist/cjs/react/index.d.ts +1 -0
  128. package/dist/cjs/react/index.js +5 -1
  129. package/dist/cjs/react/index.js.map +1 -1
  130. package/dist/cjs/react/paneview/paneview.js +6 -2
  131. package/dist/cjs/react/paneview/paneview.js.map +1 -1
  132. package/dist/cjs/react/react.js +6 -3
  133. package/dist/cjs/react/react.js.map +1 -1
  134. package/dist/cjs/react/splitview/splitview.js +8 -2
  135. package/dist/cjs/react/splitview/splitview.js.map +1 -1
  136. package/dist/cjs/react/splitview/view.js +2 -2
  137. package/dist/cjs/react/splitview/view.js.map +1 -1
  138. package/dist/cjs/splitview/core/splitview.js +1 -1
  139. package/dist/cjs/splitview/core/splitview.js.map +1 -1
  140. package/dist/cjs/splitview/splitviewComponent.d.ts +0 -3
  141. package/dist/cjs/splitview/splitviewComponent.js +50 -6
  142. package/dist/cjs/splitview/splitviewComponent.js.map +1 -1
  143. package/dist/cjs/splitview/splitviewPanel.d.ts +1 -6
  144. package/dist/cjs/splitview/splitviewPanel.js +5 -3
  145. package/dist/cjs/splitview/splitviewPanel.js.map +1 -1
  146. package/dist/dockview.amd.js +666 -791
  147. package/dist/dockview.amd.min.js +2 -16
  148. package/dist/dockview.amd.min.noStyle.js +2 -16
  149. package/dist/dockview.amd.noStyle.js +665 -790
  150. package/dist/dockview.cjs.js +666 -791
  151. package/dist/dockview.esm.js +666 -780
  152. package/dist/dockview.esm.min.js +2 -16
  153. package/dist/dockview.js +666 -791
  154. package/dist/dockview.min.js +2 -16
  155. package/dist/dockview.min.noStyle.js +2 -16
  156. package/dist/dockview.noStyle.js +665 -790
  157. package/dist/esm/api/component.api.d.ts +31 -25
  158. package/dist/esm/api/component.api.js +47 -26
  159. package/dist/esm/api/gridviewPanelApi.js +1 -0
  160. package/dist/esm/api/groupPanelApi.d.ts +11 -14
  161. package/dist/esm/api/groupPanelApi.js +18 -13
  162. package/dist/esm/api/panelApi.d.ts +0 -25
  163. package/dist/esm/api/panelApi.js +1 -20
  164. package/dist/esm/api/paneviewPanelApi.js +1 -0
  165. package/dist/esm/api/splitviewPanelApi.d.ts +0 -1
  166. package/dist/esm/api/splitviewPanelApi.js +1 -5
  167. package/dist/esm/dnd/abstractDragHandler.d.ts +2 -2
  168. package/dist/esm/dnd/abstractDragHandler.js +10 -10
  169. package/dist/esm/dnd/dataTransfer.d.ts +0 -25
  170. package/dist/esm/dnd/dataTransfer.js +0 -40
  171. package/dist/esm/dnd/dnd.d.ts +1 -14
  172. package/dist/esm/dnd/dnd.js +1 -69
  173. package/dist/esm/dnd/droptarget.d.ts +3 -0
  174. package/dist/esm/dnd/droptarget.js +72 -48
  175. package/dist/esm/dockview/components/tab/defaultTab.d.ts +1 -2
  176. package/dist/esm/dockview/components/tab/defaultTab.js +2 -10
  177. package/dist/esm/dockview/components/watermark/watermark.d.ts +3 -3
  178. package/dist/esm/dockview/components/watermark/watermark.js +4 -4
  179. package/dist/esm/dockview/dockviewComponent.d.ts +34 -23
  180. package/dist/esm/dockview/dockviewComponent.js +82 -150
  181. package/dist/esm/dockview/dockviewGroupPanel.d.ts +3 -5
  182. package/dist/esm/dockview/dockviewGroupPanel.js +6 -30
  183. package/dist/esm/dockview/options.d.ts +2 -1
  184. package/dist/esm/events.js +2 -3
  185. package/dist/esm/gridview/baseComponentGridview.d.ts +12 -20
  186. package/dist/esm/gridview/baseComponentGridview.js +27 -45
  187. package/dist/esm/gridview/basePanelView.d.ts +5 -8
  188. package/dist/esm/gridview/basePanelView.js +12 -8
  189. package/dist/esm/gridview/branchNode.js +3 -3
  190. package/dist/esm/gridview/gridview.js +18 -16
  191. package/dist/esm/gridview/gridviewComponent.d.ts +5 -6
  192. package/dist/esm/gridview/gridviewComponent.js +12 -10
  193. package/dist/esm/gridview/gridviewPanel.d.ts +0 -1
  194. package/dist/esm/gridview/gridviewPanel.js +3 -6
  195. package/dist/esm/gridview/leafNode.js +1 -0
  196. package/dist/esm/groupview/groupPanel.d.ts +1 -7
  197. package/dist/esm/groupview/groupview.d.ts +18 -10
  198. package/dist/esm/groupview/groupview.js +30 -59
  199. package/dist/esm/groupview/groupviewPanel.d.ts +5 -2
  200. package/dist/esm/groupview/panel/content.d.ts +1 -1
  201. package/dist/esm/groupview/panel/content.js +2 -1
  202. package/dist/esm/groupview/tab.d.ts +10 -13
  203. package/dist/esm/groupview/tab.js +17 -24
  204. package/dist/esm/groupview/titlebar/tabsContainer.js +4 -6
  205. package/dist/esm/hostedContainer.js +2 -2
  206. package/dist/esm/index.d.ts +3 -3
  207. package/dist/esm/index.js +1 -2
  208. package/dist/esm/lifecycle.js +2 -1
  209. package/dist/esm/panel/types.d.ts +0 -2
  210. package/dist/esm/paneview/defaultPaneviewHeader.d.ts +1 -1
  211. package/dist/esm/paneview/defaultPaneviewHeader.js +1 -1
  212. package/dist/esm/paneview/draggablePaneviewPanel.d.ts +2 -2
  213. package/dist/esm/paneview/draggablePaneviewPanel.js +32 -29
  214. package/dist/esm/paneview/paneview.d.ts +3 -1
  215. package/dist/esm/paneview/paneview.js +10 -6
  216. package/dist/esm/paneview/paneviewComponent.d.ts +7 -6
  217. package/dist/esm/paneview/paneviewComponent.js +31 -7
  218. package/dist/esm/paneview/paneviewPanel.js +1 -1
  219. package/dist/esm/react/deserializer.js +1 -3
  220. package/dist/esm/react/dockview/dockview.d.ts +9 -9
  221. package/dist/esm/react/dockview/dockview.js +36 -5
  222. package/dist/esm/react/dockview/reactContentPart.d.ts +2 -2
  223. package/dist/esm/react/dockview/reactContentPart.js +6 -17
  224. package/dist/esm/react/dockview/reactHeaderPart.d.ts +2 -2
  225. package/dist/esm/react/dockview/reactHeaderPart.js +3 -2
  226. package/dist/esm/react/dockview/reactWatermarkPart.d.ts +3 -4
  227. package/dist/esm/react/dockview/reactWatermarkPart.js +3 -4
  228. package/dist/esm/react/dockview/v2/reactContentRenderer.d.ts +2 -2
  229. package/dist/esm/react/dockview/v2/reactContentRenderer.js +2 -2
  230. package/dist/esm/react/dockview/v2/webviewContentRenderer.d.ts +2 -2
  231. package/dist/esm/react/dockview/v2/webviewContentRenderer.js +2 -2
  232. package/dist/esm/react/gridview/gridview.js +4 -1
  233. package/dist/esm/react/gridview/view.d.ts +3 -2
  234. package/dist/esm/react/gridview/view.js +2 -2
  235. package/dist/esm/react/index.d.ts +1 -0
  236. package/dist/esm/react/paneview/paneview.js +1 -1
  237. package/dist/esm/react/react.js +1 -2
  238. package/dist/esm/react/splitview/splitview.js +3 -1
  239. package/dist/esm/react/splitview/view.js +2 -2
  240. package/dist/esm/splitview/core/splitview.js +1 -1
  241. package/dist/esm/splitview/splitviewComponent.d.ts +0 -3
  242. package/dist/esm/splitview/splitviewComponent.js +17 -6
  243. package/dist/esm/splitview/splitviewPanel.d.ts +1 -6
  244. package/dist/esm/splitview/splitviewPanel.js +5 -3
  245. package/dist/styles/dockview.css +14 -17
  246. package/package.json +13 -13
  247. package/dist/cjs/functions.d.ts +0 -1
  248. package/dist/cjs/functions.js +0 -42
  249. package/dist/cjs/functions.js.map +0 -1
  250. package/dist/cjs/groupview/panel/hostedPanel.d.ts +0 -22
  251. package/dist/cjs/groupview/panel/hostedPanel.js +0 -57
  252. package/dist/cjs/groupview/panel/hostedPanel.js.map +0 -1
  253. package/dist/cjs/json.d.ts +0 -1
  254. package/dist/cjs/json.js +0 -14
  255. package/dist/cjs/json.js.map +0 -1
  256. package/dist/esm/functions.d.ts +0 -1
  257. package/dist/esm/functions.js +0 -8
  258. package/dist/esm/groupview/panel/hostedPanel.d.ts +0 -22
  259. package/dist/esm/groupview/panel/hostedPanel.js +0 -43
  260. package/dist/esm/json.d.ts +0 -1
  261. package/dist/esm/json.js +0 -9
@@ -12,12 +12,14 @@ export class SplitviewPanel extends BasePanelView {
12
12
  this._snap = false;
13
13
  this._onDidChange = new Emitter();
14
14
  this.onDidChange = this._onDidChange.event;
15
- this.addDisposables(this.api.onVisibilityChange((event) => {
15
+ this.addDisposables(this._onDidChange, this.api.onVisibilityChange((event) => {
16
16
  const { isVisible } = event;
17
- const { containerApi } = this.params;
17
+ const { containerApi } = this
18
+ ._params;
18
19
  containerApi.setVisible(this, isVisible);
19
20
  }), this.api.onActiveChange(() => {
20
- const { containerApi } = this.params;
21
+ const { containerApi } = this
22
+ ._params;
21
23
  containerApi.setActive(this);
22
24
  }), this.api.onDidConstraintsChangeInternal((event) => {
23
25
  if (typeof event.minimumSize === 'number' ||
@@ -3,7 +3,6 @@
3
3
  --dv-tabs-and-actions-container-font-size: 13px;
4
4
  --dv-tabs-and-actions-container-height: 35px;
5
5
  --dv-tab-close-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>');
6
- --dv-tab-dirty-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2z"/></svg>');
7
6
  --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);
8
7
  --dv-drag-over-border-color: white;
9
8
  --dv-tabs-container-scrollbar-color: #888;
@@ -27,7 +26,6 @@
27
26
  --dv-tabs-and-actions-container-font-size: 13px;
28
27
  --dv-tabs-and-actions-container-height: 35px;
29
28
  --dv-tab-close-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>');
30
- --dv-tab-dirty-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2z"/></svg>');
31
29
  --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);
32
30
  --dv-drag-over-border-color: white;
33
31
  --dv-tabs-container-scrollbar-color: #888;
@@ -51,7 +49,6 @@
51
49
  --dv-tabs-and-actions-container-font-size: 13px;
52
50
  --dv-tabs-and-actions-container-height: 35px;
53
51
  --dv-tab-close-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>');
54
- --dv-tab-dirty-icon: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2z"/></svg>');
55
52
  --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);
56
53
  --dv-drag-over-border-color: white;
57
54
  --dv-tabs-container-scrollbar-color: #888;
@@ -118,25 +115,26 @@
118
115
  }
119
116
  .drop-target > .drop-target-dropzone > .drop-target-selection {
120
117
  position: relative;
121
- pointer-events: none;
122
118
  box-sizing: border-box;
123
119
  height: 100%;
124
120
  width: 100%;
125
121
  background-color: var(--dv-drag-over-background-color);
126
122
  transition-duration: 0.15s;
127
123
  transition-timing-function: ease-out;
124
+ will-change: transform;
125
+ pointer-events: none;
128
126
  }
129
- .drop-target > .drop-target-dropzone > .drop-target-selection.left, .drop-target > .drop-target-dropzone > .drop-target-selection.right {
130
- width: 50%;
127
+ .drop-target > .drop-target-dropzone > .drop-target-selection.left {
128
+ transform: translateX(-25%) scaleX(50%);
131
129
  }
132
130
  .drop-target > .drop-target-dropzone > .drop-target-selection.right {
133
- transform: translate(100%, 0%);
131
+ transform: translateX(25%) scaleX(50%);
134
132
  }
135
- .drop-target > .drop-target-dropzone > .drop-target-selection.bottom {
136
- transform: translate(0%, 100%);
133
+ .drop-target > .drop-target-dropzone > .drop-target-selection.top {
134
+ transform: translateY(-25%) scaleY(50%);
137
135
  }
138
- .drop-target > .drop-target-dropzone > .drop-target-selection.top, .drop-target > .drop-target-dropzone > .drop-target-selection.bottom {
139
- height: 50%;
136
+ .drop-target > .drop-target-dropzone > .drop-target-selection.bottom {
137
+ transform: translateY(25%) scaleY(50%);
140
138
  }
141
139
  .drop-target > .drop-target-dropzone > .drop-target-selection.small-top {
142
140
  border-top: 1px solid var(--dv-drag-over-border-color);
@@ -357,6 +355,10 @@
357
355
  width: 1px;
358
356
  height: 100%;
359
357
  }
358
+ .dockview-react-part {
359
+ height: 100%;
360
+ width: 100%;
361
+ }
360
362
  .split-view-container {
361
363
  position: relative;
362
364
  overflow: hidden;
@@ -470,7 +472,7 @@
470
472
  .tab.active-tab > .default-tab .tab-action {
471
473
  visibility: visible;
472
474
  }
473
- .tab.inactive-tab > .default-tab .tab-action:not(.dirty) {
475
+ .tab.inactive-tab > .default-tab .tab-action {
474
476
  visibility: hidden;
475
477
  }
476
478
  .tab.inactive-tab > .default-tab:hover .tab-action {
@@ -515,11 +517,6 @@
515
517
  .tab .default-tab .action-container .tab-list .tab-action.disable-close {
516
518
  display: none;
517
519
  }
518
- .tab .default-tab .action-container .tab-list .tab-action.dirty:not(:hover) {
519
- display: block;
520
- -webkit-mask: var(--dv-tab-dirty-icon) 50% 50%/60% 60% no-repeat;
521
- mask: var(--dv-tab-dirty-icon) 50% 50%/60% 60% no-repeat;
522
- }
523
520
  .watermark {
524
521
  display: flex;
525
522
  width: 100%;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dockview",
3
- "version": "1.0.3",
3
+ "version": "1.3.0",
4
4
  "description": "Zero dependency layout manager supporting tabs, grids and splitviews with ReactJS support",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "types": "./dist/cjs/index.d.ts",
@@ -55,23 +55,23 @@
55
55
  "author": "https://github.com/mathuo",
56
56
  "license": "MIT",
57
57
  "devDependencies": {
58
- "@rollup/plugin-typescript": "^8.3.0",
59
- "@testing-library/react": "^12.1.3",
60
- "@types/react": "^17.0.39",
61
- "@types/react-dom": "^17.0.11",
58
+ "@rollup/plugin-typescript": "^8.3.2",
59
+ "@testing-library/react": "^13.1.0",
60
+ "@types/react": "^18.0.5",
61
+ "@types/react-dom": "^18.0.1",
62
62
  "cross-env": "^7.0.3",
63
- "postcss": "^8.4.6",
64
- "react": "^17.0.1",
65
- "react-dom": "^17.0.1",
63
+ "postcss": "^8.4.12",
64
+ "react": "^18.0.0",
65
+ "react-dom": "^18.0.0",
66
66
  "rimraf": "^3.0.2",
67
- "rollup": "^2.68.0",
67
+ "rollup": "^2.70.2",
68
68
  "rollup-plugin-postcss": "^4.0.2",
69
69
  "rollup-plugin-terser": "^7.0.2",
70
- "typedoc": "^0.22.12"
70
+ "typedoc": "^0.22.15"
71
71
  },
72
72
  "peerDependencies": {
73
- "react": ">=16.8.0",
74
- "react-dom": ">=16.8.0"
73
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
74
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
75
75
  },
76
- "gitHead": "0b051157332ff2611a95f53a39e4643cac70f020"
76
+ "gitHead": "bbf59bd31179a6a386a18433cb5dfb32e6b837d3"
77
77
  }
@@ -1 +0,0 @@
1
- export declare function debounce<T extends Function>(cb: T, wait: number): T;
@@ -1,42 +0,0 @@
1
- "use strict";
2
- var __read = (this && this.__read) || function (o, n) {
3
- var m = typeof Symbol === "function" && o[Symbol.iterator];
4
- if (!m) return o;
5
- var i = m.call(o), r, ar = [], e;
6
- try {
7
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
- }
9
- catch (error) { e = { error: error }; }
10
- finally {
11
- try {
12
- if (r && !r.done && (m = i["return"])) m.call(i);
13
- }
14
- finally { if (e) throw e.error; }
15
- }
16
- return ar;
17
- };
18
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
- if (ar || !(i in from)) {
21
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
- ar[i] = from[i];
23
- }
24
- }
25
- return to.concat(ar || Array.prototype.slice.call(from));
26
- };
27
- Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.debounce = void 0;
29
- function debounce(cb, wait) {
30
- var timeout;
31
- var callable = function () {
32
- var args = [];
33
- for (var _i = 0; _i < arguments.length; _i++) {
34
- args[_i] = arguments[_i];
35
- }
36
- clearTimeout(timeout);
37
- timeout = setTimeout(function () { return cb.apply(void 0, __spreadArray([], __read(args), false)); }, wait);
38
- };
39
- return callable;
40
- }
41
- exports.debounce = debounce;
42
- //# sourceMappingURL=functions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/functions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAgB,QAAQ,CAAqB,EAAK,EAAE,IAAY;IAC5D,IAAI,OAAY,CAAC;IAEjB,IAAM,QAAQ,GAAG;QAAC,cAAY;aAAZ,UAAY,EAAZ,qBAAY,EAAZ,IAAY;YAAZ,yBAAY;;QAC1B,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,GAAG,UAAU,CAAC,cAAM,OAAA,EAAE,wCAAI,IAAI,YAAV,CAAW,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC;IACF,OAAgB,QAAS,CAAC;AAC9B,CAAC;AARD,4BAQC"}
@@ -1,22 +0,0 @@
1
- import { IDisposable } from '../../lifecycle';
2
- import { IGroupPanel } from '../groupPanel';
3
- import { IRenderable } from '../types';
4
- export interface HostedPanelOptions {
5
- id: string;
6
- parent?: HTMLElement;
7
- }
8
- export declare class HostedPanel implements IRenderable, IDisposable {
9
- private readonly panel;
10
- private readonly options;
11
- private readonly _element;
12
- get element(): HTMLElement;
13
- get id(): string;
14
- constructor(panel: IGroupPanel, options: HostedPanelOptions);
15
- hide(): void;
16
- show(): void;
17
- layout(element: HTMLElement, dimension?: {
18
- width: number;
19
- height: number;
20
- }): void;
21
- dispose(): void;
22
- }
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HostedPanel = void 0;
4
- var HostedPanel = /** @class */ (function () {
5
- function HostedPanel(panel, options) {
6
- this.panel = panel;
7
- this.options = options;
8
- if (!options.parent) {
9
- options.parent = document.getElementById('app');
10
- options.parent.style.position = 'relative';
11
- }
12
- this._element = document.createElement('div');
13
- this._element.style.visibility = 'hidden';
14
- this._element.style.overflow = 'hidden';
15
- // this._element.style.pointerEvents = 'none';
16
- this._element.id = "webivew-".concat(options.id);
17
- options.parent.appendChild(this._element);
18
- }
19
- Object.defineProperty(HostedPanel.prototype, "element", {
20
- get: function () {
21
- return this._element;
22
- },
23
- enumerable: false,
24
- configurable: true
25
- });
26
- Object.defineProperty(HostedPanel.prototype, "id", {
27
- get: function () {
28
- return this.panel.id;
29
- },
30
- enumerable: false,
31
- configurable: true
32
- });
33
- HostedPanel.prototype.hide = function () {
34
- this._element.style.visibility = 'hidden';
35
- };
36
- HostedPanel.prototype.show = function () {
37
- this._element.style.visibility = 'visible';
38
- };
39
- HostedPanel.prototype.layout = function (element, dimension) {
40
- if (!this.element || !this.element.parentElement) {
41
- return;
42
- }
43
- var frameRect = element.getBoundingClientRect();
44
- var containerRect = this.element.parentElement.getBoundingClientRect();
45
- this.element.style.position = 'absolute';
46
- this.element.style.top = "".concat(frameRect.top - containerRect.top, "px");
47
- this.element.style.left = "".concat(frameRect.left - containerRect.left, "px");
48
- this.element.style.width = "".concat(dimension ? dimension.width : frameRect.width, "px");
49
- this.element.style.height = "".concat(dimension ? dimension.height : frameRect.height, "px");
50
- };
51
- HostedPanel.prototype.dispose = function () {
52
- this._element.remove();
53
- };
54
- return HostedPanel;
55
- }());
56
- exports.HostedPanel = HostedPanel;
57
- //# sourceMappingURL=hostedPanel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hostedPanel.js","sourceRoot":"","sources":["../../../../src/groupview/panel/hostedPanel.ts"],"names":[],"mappings":";;;AASA;IAWI,qBACqB,KAAkB,EAClB,OAA2B;QAD3B,UAAK,GAAL,KAAK,CAAa;QAClB,YAAO,GAAP,OAAO,CAAoB;QAE5C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACjB,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAgB,CAAC;YAC/D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;SAC9C;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACxC,8CAA8C;QAC9C,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,kBAAW,OAAO,CAAC,EAAE,CAAE,CAAC;QAE3C,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAxBD,sBAAI,gCAAO;aAAX;YACI,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;;;OAAA;IAED,sBAAI,2BAAE;aAAN;YACI,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,CAAC;;;OAAA;IAoBD,0BAAI,GAAJ;QACI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC9C,CAAC;IAED,0BAAI,GAAJ;QACI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;IAC/C,CAAC;IAED,4BAAM,GAAN,UACI,OAAoB,EACpB,SAA6C;QAE7C,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;YAC9C,OAAO;SACV;QACD,IAAM,SAAS,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAClD,IAAM,aAAa,GACf,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,UAAG,SAAS,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,OAAI,CAAC;QAClE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,UAAG,SAAS,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,OAAI,CAAC;QACrE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,UACvB,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,OAC7C,CAAC;QACL,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,UACxB,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,OAC/C,CAAC;IACT,CAAC;IAED,6BAAO,GAAP;QACI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IACL,kBAAC;AAAD,CAAC,AA7DD,IA6DC;AA7DY,kCAAW"}
@@ -1 +0,0 @@
1
- export declare function tryParseJSON(text: string, reviver?: (this: any, key: string, value: any) => any): any | undefined;
package/dist/cjs/json.js DELETED
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tryParseJSON = void 0;
4
- function tryParseJSON(text, reviver) {
5
- try {
6
- return JSON.parse(text, reviver);
7
- }
8
- catch (err) {
9
- console.warn('failed to parse JSON');
10
- return undefined;
11
- }
12
- }
13
- exports.tryParseJSON = tryParseJSON;
14
- //# sourceMappingURL=json.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/json.ts"],"names":[],"mappings":";;;AAIA,SAAgB,YAAY,CACxB,IAAY,EACZ,OAAqD;IAErD,IAAI;QACA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAM,CAAC;KACzC;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACrC,OAAO,SAAS,CAAC;KACpB;AACL,CAAC;AAVD,oCAUC"}
@@ -1 +0,0 @@
1
- export declare function debounce<T extends Function>(cb: T, wait: number): T;
@@ -1,8 +0,0 @@
1
- export function debounce(cb, wait) {
2
- let timeout;
3
- const callable = (...args) => {
4
- clearTimeout(timeout);
5
- timeout = setTimeout(() => cb(...args), wait);
6
- };
7
- return callable;
8
- }
@@ -1,22 +0,0 @@
1
- import { IDisposable } from '../../lifecycle';
2
- import { IGroupPanel } from '../groupPanel';
3
- import { IRenderable } from '../types';
4
- export interface HostedPanelOptions {
5
- id: string;
6
- parent?: HTMLElement;
7
- }
8
- export declare class HostedPanel implements IRenderable, IDisposable {
9
- private readonly panel;
10
- private readonly options;
11
- private readonly _element;
12
- get element(): HTMLElement;
13
- get id(): string;
14
- constructor(panel: IGroupPanel, options: HostedPanelOptions);
15
- hide(): void;
16
- show(): void;
17
- layout(element: HTMLElement, dimension?: {
18
- width: number;
19
- height: number;
20
- }): void;
21
- dispose(): void;
22
- }
@@ -1,43 +0,0 @@
1
- export class HostedPanel {
2
- constructor(panel, options) {
3
- this.panel = panel;
4
- this.options = options;
5
- if (!options.parent) {
6
- options.parent = document.getElementById('app');
7
- options.parent.style.position = 'relative';
8
- }
9
- this._element = document.createElement('div');
10
- this._element.style.visibility = 'hidden';
11
- this._element.style.overflow = 'hidden';
12
- // this._element.style.pointerEvents = 'none';
13
- this._element.id = `webivew-${options.id}`;
14
- options.parent.appendChild(this._element);
15
- }
16
- get element() {
17
- return this._element;
18
- }
19
- get id() {
20
- return this.panel.id;
21
- }
22
- hide() {
23
- this._element.style.visibility = 'hidden';
24
- }
25
- show() {
26
- this._element.style.visibility = 'visible';
27
- }
28
- layout(element, dimension) {
29
- if (!this.element || !this.element.parentElement) {
30
- return;
31
- }
32
- const frameRect = element.getBoundingClientRect();
33
- const containerRect = this.element.parentElement.getBoundingClientRect();
34
- this.element.style.position = 'absolute';
35
- this.element.style.top = `${frameRect.top - containerRect.top}px`;
36
- this.element.style.left = `${frameRect.left - containerRect.left}px`;
37
- this.element.style.width = `${dimension ? dimension.width : frameRect.width}px`;
38
- this.element.style.height = `${dimension ? dimension.height : frameRect.height}px`;
39
- }
40
- dispose() {
41
- this._element.remove();
42
- }
43
- }
@@ -1 +0,0 @@
1
- export declare function tryParseJSON(text: string, reviver?: (this: any, key: string, value: any) => any): any | undefined;
package/dist/esm/json.js DELETED
@@ -1,9 +0,0 @@
1
- export function tryParseJSON(text, reviver) {
2
- try {
3
- return JSON.parse(text, reviver);
4
- }
5
- catch (err) {
6
- console.warn('failed to parse JSON');
7
- return undefined;
8
- }
9
- }