dockview 1.1.0 → 1.3.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 (162) hide show
  1. package/dist/cjs/api/component.api.d.ts +17 -15
  2. package/dist/cjs/api/component.api.js +22 -22
  3. package/dist/cjs/api/component.api.js.map +1 -1
  4. package/dist/cjs/dnd/abstractDragHandler.d.ts +1 -1
  5. package/dist/cjs/dnd/abstractDragHandler.js +2 -3
  6. package/dist/cjs/dnd/abstractDragHandler.js.map +1 -1
  7. package/dist/cjs/dnd/droptarget.js +3 -3
  8. package/dist/cjs/dnd/droptarget.js.map +1 -1
  9. package/dist/cjs/dockview/components/tab/defaultTab.d.ts +1 -1
  10. package/dist/cjs/dockview/components/tab/defaultTab.js +1 -1
  11. package/dist/cjs/dockview/components/tab/defaultTab.js.map +1 -1
  12. package/dist/cjs/dockview/components/watermark/watermark.d.ts +3 -3
  13. package/dist/cjs/dockview/components/watermark/watermark.js +4 -4
  14. package/dist/cjs/dockview/components/watermark/watermark.js.map +1 -1
  15. package/dist/cjs/dockview/deserializer.js.map +1 -1
  16. package/dist/cjs/dockview/dockviewComponent.d.ts +8 -5
  17. package/dist/cjs/dockview/dockviewComponent.js +60 -41
  18. package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
  19. package/dist/cjs/dockview/dockviewGroupPanel.d.ts +1 -0
  20. package/dist/cjs/dockview/dockviewGroupPanel.js +8 -0
  21. package/dist/cjs/dockview/dockviewGroupPanel.js.map +1 -1
  22. package/dist/cjs/gridview/baseComponentGridview.d.ts +3 -20
  23. package/dist/cjs/gridview/baseComponentGridview.js +35 -43
  24. package/dist/cjs/gridview/baseComponentGridview.js.map +1 -1
  25. package/dist/cjs/gridview/basePanelView.js +2 -0
  26. package/dist/cjs/gridview/basePanelView.js.map +1 -1
  27. package/dist/cjs/gridview/branchNode.js +2 -2
  28. package/dist/cjs/gridview/branchNode.js.map +1 -1
  29. package/dist/cjs/gridview/gridview.js +3 -2
  30. package/dist/cjs/gridview/gridview.js.map +1 -1
  31. package/dist/cjs/gridview/gridviewComponent.d.ts +3 -9
  32. package/dist/cjs/gridview/gridviewComponent.js +30 -18
  33. package/dist/cjs/gridview/gridviewComponent.js.map +1 -1
  34. package/dist/cjs/gridview/leafNode.js +1 -1
  35. package/dist/cjs/gridview/leafNode.js.map +1 -1
  36. package/dist/cjs/groupview/groupPanel.d.ts +1 -0
  37. package/dist/cjs/groupview/groupview.d.ts +3 -2
  38. package/dist/cjs/groupview/groupview.js +15 -6
  39. package/dist/cjs/groupview/groupview.js.map +1 -1
  40. package/dist/cjs/groupview/panel/content.d.ts +1 -1
  41. package/dist/cjs/groupview/panel/content.js +1 -1
  42. package/dist/cjs/groupview/panel/content.js.map +1 -1
  43. package/dist/cjs/hostedContainer.js +2 -2
  44. package/dist/cjs/hostedContainer.js.map +1 -1
  45. package/dist/cjs/index.d.ts +2 -2
  46. package/dist/cjs/index.js +8 -4
  47. package/dist/cjs/index.js.map +1 -1
  48. package/dist/cjs/panel/types.d.ts +1 -0
  49. package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +1 -1
  50. package/dist/cjs/paneview/defaultPaneviewHeader.js +1 -1
  51. package/dist/cjs/paneview/defaultPaneviewHeader.js.map +1 -1
  52. package/dist/cjs/paneview/draggablePaneviewPanel.js +1 -1
  53. package/dist/cjs/paneview/draggablePaneviewPanel.js.map +1 -1
  54. package/dist/cjs/paneview/paneview.d.ts +3 -1
  55. package/dist/cjs/paneview/paneview.js +12 -6
  56. package/dist/cjs/paneview/paneview.js.map +1 -1
  57. package/dist/cjs/paneview/paneviewComponent.d.ts +12 -5
  58. package/dist/cjs/paneview/paneviewComponent.js +68 -16
  59. package/dist/cjs/paneview/paneviewComponent.js.map +1 -1
  60. package/dist/cjs/react/dockview/components.js +5 -1
  61. package/dist/cjs/react/dockview/components.js.map +1 -1
  62. package/dist/cjs/react/dockview/dockview.js +32 -10
  63. package/dist/cjs/react/dockview/dockview.js.map +1 -1
  64. package/dist/cjs/react/dockview/reactContentPart.d.ts +2 -2
  65. package/dist/cjs/react/dockview/reactContentPart.js +2 -13
  66. package/dist/cjs/react/dockview/reactContentPart.js.map +1 -1
  67. package/dist/cjs/react/dockview/reactHeaderPart.d.ts +2 -2
  68. package/dist/cjs/react/dockview/reactHeaderPart.js +2 -2
  69. package/dist/cjs/react/dockview/reactHeaderPart.js.map +1 -1
  70. package/dist/cjs/react/dockview/reactWatermarkPart.d.ts +2 -2
  71. package/dist/cjs/react/dockview/reactWatermarkPart.js +2 -2
  72. package/dist/cjs/react/dockview/reactWatermarkPart.js.map +1 -1
  73. package/dist/cjs/react/dockview/v2/reactContentRenderer.d.ts +2 -2
  74. package/dist/cjs/react/dockview/v2/reactContentRenderer.js +2 -2
  75. package/dist/cjs/react/dockview/v2/reactContentRenderer.js.map +1 -1
  76. package/dist/cjs/react/dockview/v2/webviewContentRenderer.d.ts +2 -2
  77. package/dist/cjs/react/dockview/v2/webviewContentRenderer.js +2 -2
  78. package/dist/cjs/react/dockview/v2/webviewContentRenderer.js.map +1 -1
  79. package/dist/cjs/react/gridview/gridview.js +9 -2
  80. package/dist/cjs/react/gridview/gridview.js.map +1 -1
  81. package/dist/cjs/react/gridview/view.d.ts +3 -2
  82. package/dist/cjs/react/gridview/view.js.map +1 -1
  83. package/dist/cjs/react/index.js +5 -1
  84. package/dist/cjs/react/index.js.map +1 -1
  85. package/dist/cjs/react/paneview/paneview.js +6 -2
  86. package/dist/cjs/react/paneview/paneview.js.map +1 -1
  87. package/dist/cjs/react/react.js +5 -1
  88. package/dist/cjs/react/react.js.map +1 -1
  89. package/dist/cjs/react/splitview/splitview.js +8 -2
  90. package/dist/cjs/react/splitview/splitview.js.map +1 -1
  91. package/dist/cjs/splitview/core/splitview.js +1 -1
  92. package/dist/cjs/splitview/core/splitview.js.map +1 -1
  93. package/dist/cjs/splitview/splitviewComponent.d.ts +5 -3
  94. package/dist/cjs/splitview/splitviewComponent.js +55 -16
  95. package/dist/cjs/splitview/splitviewComponent.js.map +1 -1
  96. package/dist/dockview.amd.js +316 -312
  97. package/dist/dockview.amd.min.js +2 -2
  98. package/dist/dockview.amd.min.noStyle.js +2 -2
  99. package/dist/dockview.amd.noStyle.js +315 -311
  100. package/dist/dockview.cjs.js +316 -312
  101. package/dist/dockview.esm.js +316 -306
  102. package/dist/dockview.esm.min.js +2 -2
  103. package/dist/dockview.js +316 -312
  104. package/dist/dockview.min.js +2 -2
  105. package/dist/dockview.min.noStyle.js +2 -2
  106. package/dist/dockview.noStyle.js +315 -311
  107. package/dist/esm/api/component.api.d.ts +17 -15
  108. package/dist/esm/api/component.api.js +14 -14
  109. package/dist/esm/dnd/abstractDragHandler.d.ts +1 -1
  110. package/dist/esm/dnd/abstractDragHandler.js +2 -3
  111. package/dist/esm/dnd/droptarget.js +3 -3
  112. package/dist/esm/dockview/components/tab/defaultTab.d.ts +1 -1
  113. package/dist/esm/dockview/components/tab/defaultTab.js +1 -1
  114. package/dist/esm/dockview/components/watermark/watermark.d.ts +3 -3
  115. package/dist/esm/dockview/components/watermark/watermark.js +4 -4
  116. package/dist/esm/dockview/dockviewComponent.d.ts +8 -5
  117. package/dist/esm/dockview/dockviewComponent.js +34 -38
  118. package/dist/esm/dockview/dockviewGroupPanel.d.ts +1 -0
  119. package/dist/esm/dockview/dockviewGroupPanel.js +4 -0
  120. package/dist/esm/gridview/baseComponentGridview.d.ts +3 -20
  121. package/dist/esm/gridview/baseComponentGridview.js +13 -43
  122. package/dist/esm/gridview/basePanelView.js +2 -0
  123. package/dist/esm/gridview/branchNode.js +2 -2
  124. package/dist/esm/gridview/gridview.js +2 -1
  125. package/dist/esm/gridview/gridviewComponent.d.ts +3 -9
  126. package/dist/esm/gridview/gridviewComponent.js +9 -19
  127. package/dist/esm/groupview/groupPanel.d.ts +1 -0
  128. package/dist/esm/groupview/groupview.d.ts +3 -2
  129. package/dist/esm/groupview/groupview.js +8 -3
  130. package/dist/esm/groupview/panel/content.d.ts +1 -1
  131. package/dist/esm/groupview/panel/content.js +1 -1
  132. package/dist/esm/hostedContainer.js +2 -2
  133. package/dist/esm/index.d.ts +2 -2
  134. package/dist/esm/index.js +1 -2
  135. package/dist/esm/panel/types.d.ts +1 -0
  136. package/dist/esm/paneview/defaultPaneviewHeader.d.ts +1 -1
  137. package/dist/esm/paneview/defaultPaneviewHeader.js +1 -1
  138. package/dist/esm/paneview/draggablePaneviewPanel.js +1 -1
  139. package/dist/esm/paneview/paneview.d.ts +3 -1
  140. package/dist/esm/paneview/paneview.js +9 -5
  141. package/dist/esm/paneview/paneviewComponent.d.ts +12 -5
  142. package/dist/esm/paneview/paneviewComponent.js +34 -15
  143. package/dist/esm/react/dockview/dockview.js +27 -9
  144. package/dist/esm/react/dockview/reactContentPart.d.ts +2 -2
  145. package/dist/esm/react/dockview/reactContentPart.js +2 -13
  146. package/dist/esm/react/dockview/reactHeaderPart.d.ts +2 -2
  147. package/dist/esm/react/dockview/reactHeaderPart.js +2 -2
  148. package/dist/esm/react/dockview/reactWatermarkPart.d.ts +2 -2
  149. package/dist/esm/react/dockview/reactWatermarkPart.js +2 -2
  150. package/dist/esm/react/dockview/v2/reactContentRenderer.d.ts +2 -2
  151. package/dist/esm/react/dockview/v2/reactContentRenderer.js +2 -2
  152. package/dist/esm/react/dockview/v2/webviewContentRenderer.d.ts +2 -2
  153. package/dist/esm/react/dockview/v2/webviewContentRenderer.js +2 -2
  154. package/dist/esm/react/gridview/gridview.js +4 -1
  155. package/dist/esm/react/gridview/view.d.ts +3 -2
  156. package/dist/esm/react/paneview/paneview.js +1 -1
  157. package/dist/esm/react/splitview/splitview.js +3 -1
  158. package/dist/esm/splitview/core/splitview.js +1 -1
  159. package/dist/esm/splitview/splitviewComponent.d.ts +5 -3
  160. package/dist/esm/splitview/splitviewComponent.js +22 -15
  161. package/dist/styles/dockview.css +10 -10
  162. package/package.json +13 -13
package/dist/dockview.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * dockview
3
- * @version 1.1.0
3
+ * @version 1.3.1
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -58,9 +58,79 @@
58
58
  }
59
59
  }
60
60
 
61
- var css_248z = ".dockview-theme-dark {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --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>');\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --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>');\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --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>');\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-activegroup-visiblepanel-tab-background-color: dodgerblue;\n --dv-tabs-and-actions-container-height: 18px;\n --dv-tabs-and-actions-container-font-size: 11px;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.actions-bar {\n text-align: right;\n width: 28px;\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n.actions-bar .actions-container {\n display: flex;\n padding: 0px;\n margin: 0px;\n justify-content: flex-end;\n}\n.actions-bar .actions-container a:active {\n -webkit-mask-size: 100% 100% !important;\n mask-size: 100% 100% !important;\n}\n.actions-bar .actions-container .close-action {\n background-color: white;\n height: 16px;\n width: 16px;\n display: block;\n -webkit-mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n margin-right: \"0.5em\";\n cursor: pointer;\n}\n.drop-target {\n position: relative;\n}\n.drop-target > .drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 10000;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n pointer-events: none;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.left, .drop-target > .drop-target-dropzone > .drop-target-selection.right {\n width: 50%;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.right {\n transform: translate(100%, 0%);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.bottom {\n transform: translate(0%, 100%);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.top, .drop-target > .drop-target-dropzone > .drop-target-selection.bottom {\n height: 50%;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-top {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-bottom {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-left {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-right {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.custom-dragging {\n height: 24px;\n line-height: 24px;\n font-size: 11px;\n width: 100px;\n background-color: dodgerblue;\n color: ghostwhite;\n border-radius: 11px;\n position: absolute;\n padding-left: 10px;\n}\n\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab .tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab .tab-action {\n background-color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab .tab-action {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab .tab-action {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.tab.dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.groupview:focus {\n outline: none;\n}\n.groupview.empty > .tabs-and-actions-container {\n display: none;\n}\n.groupview > .content-container {\n flex-grow: 1;\n overflow: hidden;\n outline: none;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n}\n.pane-container .view .default-header > span {\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.dockview-react-part {\n height: 100%;\n width: 100%;\n}\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n}\n.split-view-container .sash-container .sash:active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dragged {\n transform: translate3d(0px, 0px, 0px);\n /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab.dragging .tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab > .default-tab .tab-action {\n visibility: visible;\n}\n.tab.inactive-tab > .default-tab .tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab > .default-tab:hover .tab-action {\n visibility: visible;\n}\n.tab .default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding-left: 10px;\n white-space: nowrap;\n text-overflow: elipsis;\n}\n.tab .default-tab .tab-content {\n flex-grow: 1;\n}\n.tab .default-tab .action-container {\n text-align: right;\n width: 28px;\n display: flex;\n}\n.tab .default-tab .action-container .tab-list {\n display: flex;\n padding: 0px;\n margin: 0px;\n justify-content: flex-end;\n}\n.tab .default-tab .action-container .tab-list a:active:hover {\n -webkit-mask-size: 100% 100% !important;\n mask-size: 100% 100% !important;\n}\n.tab .default-tab .action-container .tab-list .tab-action {\n height: 16px;\n width: 16px;\n display: block;\n -webkit-mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n margin-right: \"0.5em\";\n}\n.tab .default-tab .action-container .tab-list .tab-action.disable-close {\n display: none;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-bar {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}";
61
+ var css_248z = ".dockview-theme-dark {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --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>');\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --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>');\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --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>');\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-activegroup-visiblepanel-tab-background-color: dodgerblue;\n --dv-tabs-and-actions-container-height: 18px;\n --dv-tabs-and-actions-container-font-size: 11px;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.actions-bar {\n text-align: right;\n width: 28px;\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n.actions-bar .actions-container {\n display: flex;\n padding: 0px;\n margin: 0px;\n justify-content: flex-end;\n}\n.actions-bar .actions-container a:active {\n -webkit-mask-size: 100% 100% !important;\n mask-size: 100% 100% !important;\n}\n.actions-bar .actions-container .close-action {\n background-color: white;\n height: 16px;\n width: 16px;\n display: block;\n -webkit-mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n margin-right: \"0.5em\";\n cursor: pointer;\n}\n.drop-target {\n position: relative;\n}\n.drop-target > .drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 10000;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition: top 70ms ease-out, left 70ms ease-out, width 70ms ease-out, height 70ms ease-out, opacity 0.15s ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.left {\n transform: translateX(-25%) scaleX(0.5);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.right {\n transform: translateX(25%) scaleX(0.5);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.top {\n transform: translateY(-25%) scaleY(0.5);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.bottom {\n transform: translateY(25%) scaleY(0.5);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-top {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-bottom {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-left {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-right {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.custom-dragging {\n height: 24px;\n line-height: 24px;\n font-size: 11px;\n width: 100px;\n background-color: dodgerblue;\n color: ghostwhite;\n border-radius: 11px;\n position: absolute;\n padding-left: 10px;\n}\n\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab .tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab .tab-action {\n background-color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab .tab-action {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab .tab-action {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.tab.dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.groupview:focus {\n outline: none;\n}\n.groupview.empty > .tabs-and-actions-container {\n display: none;\n}\n.groupview > .content-container {\n flex-grow: 1;\n overflow: hidden;\n outline: none;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n}\n.pane-container .view .default-header > span {\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.dockview-react-part {\n height: 100%;\n width: 100%;\n}\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n}\n.split-view-container .sash-container .sash:active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dragged {\n transform: translate3d(0px, 0px, 0px);\n /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab.dragging .tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab > .default-tab .tab-action {\n visibility: visible;\n}\n.tab.inactive-tab > .default-tab .tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab > .default-tab:hover .tab-action {\n visibility: visible;\n}\n.tab .default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding-left: 10px;\n white-space: nowrap;\n text-overflow: elipsis;\n}\n.tab .default-tab .tab-content {\n flex-grow: 1;\n}\n.tab .default-tab .action-container {\n text-align: right;\n width: 28px;\n display: flex;\n}\n.tab .default-tab .action-container .tab-list {\n display: flex;\n padding: 0px;\n margin: 0px;\n justify-content: flex-end;\n}\n.tab .default-tab .action-container .tab-list a:active:hover {\n -webkit-mask-size: 100% 100% !important;\n mask-size: 100% 100% !important;\n}\n.tab .default-tab .action-container .tab-list .tab-action {\n height: 16px;\n width: 16px;\n display: block;\n -webkit-mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n margin-right: \"0.5em\";\n}\n.tab .default-tab .action-container .tab-list .tab-action.disable-close {\n display: none;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-bar {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}";
62
62
  styleInject(css_248z);
63
63
 
64
+ class TransferObject {
65
+ constructor() {
66
+ //
67
+ }
68
+ }
69
+ class PanelTransfer extends TransferObject {
70
+ constructor(viewId, groupId, panelId) {
71
+ super();
72
+ this.viewId = viewId;
73
+ this.groupId = groupId;
74
+ this.panelId = panelId;
75
+ }
76
+ }
77
+ class PaneTransfer extends TransferObject {
78
+ constructor(viewId, paneId) {
79
+ super();
80
+ this.viewId = viewId;
81
+ this.paneId = paneId;
82
+ }
83
+ }
84
+ /**
85
+ * A singleton to store transfer data during drag & drop operations that are only valid within the application.
86
+ */
87
+ class LocalSelectionTransfer {
88
+ constructor() {
89
+ // protect against external instantiation
90
+ }
91
+ static getInstance() {
92
+ return LocalSelectionTransfer.INSTANCE;
93
+ }
94
+ hasData(proto) {
95
+ return proto && proto === this.proto;
96
+ }
97
+ clearData(proto) {
98
+ if (this.hasData(proto)) {
99
+ this.proto = undefined;
100
+ this.data = undefined;
101
+ }
102
+ }
103
+ getData(proto) {
104
+ if (this.hasData(proto)) {
105
+ return this.data;
106
+ }
107
+ return undefined;
108
+ }
109
+ setData(data, proto) {
110
+ if (proto) {
111
+ this.data = data;
112
+ this.proto = proto;
113
+ }
114
+ }
115
+ }
116
+ LocalSelectionTransfer.INSTANCE = new LocalSelectionTransfer();
117
+ function getPanelData() {
118
+ const panelTransfer = LocalSelectionTransfer.getInstance();
119
+ const isPanelEvent = panelTransfer.hasData(PanelTransfer.prototype);
120
+ if (!isPanelEvent) {
121
+ return undefined;
122
+ }
123
+ return panelTransfer.getData(PanelTransfer.prototype)[0];
124
+ }
125
+ function getPaneData() {
126
+ const paneTransfer = LocalSelectionTransfer.getInstance();
127
+ const isPanelEvent = paneTransfer.hasData(PaneTransfer.prototype);
128
+ if (!isPanelEvent) {
129
+ return undefined;
130
+ }
131
+ return paneTransfer.getData(PaneTransfer.prototype)[0];
132
+ }
133
+
64
134
  exports.Event = void 0;
65
135
  (function (Event) {
66
136
  Event.any = (...children) => {
@@ -150,116 +220,6 @@
150
220
  }
151
221
  }
152
222
 
153
- exports.Disposable = void 0;
154
- (function (Disposable) {
155
- Disposable.NONE = {
156
- dispose: () => {
157
- // noop
158
- },
159
- };
160
- })(exports.Disposable || (exports.Disposable = {}));
161
- class CompositeDisposable {
162
- constructor(...args) {
163
- this.disposables = args;
164
- }
165
- static from(...args) {
166
- return new CompositeDisposable(...args);
167
- }
168
- addDisposables(...args) {
169
- args.forEach((arg) => this.disposables.push(arg));
170
- }
171
- dispose() {
172
- this.disposables.forEach((arg) => arg.dispose());
173
- }
174
- }
175
- class MutableDisposable {
176
- constructor() {
177
- this._disposable = exports.Disposable.NONE;
178
- }
179
- set value(disposable) {
180
- if (this._disposable) {
181
- this._disposable.dispose();
182
- }
183
- this._disposable = disposable;
184
- }
185
- dispose() {
186
- if (this._disposable) {
187
- this._disposable.dispose();
188
- this._disposable = exports.Disposable.NONE;
189
- }
190
- }
191
- }
192
-
193
- class TransferObject {
194
- constructor() {
195
- //
196
- }
197
- }
198
- class PanelTransfer extends TransferObject {
199
- constructor(viewId, groupId, panelId) {
200
- super();
201
- this.viewId = viewId;
202
- this.groupId = groupId;
203
- this.panelId = panelId;
204
- }
205
- }
206
- class PaneTransfer extends TransferObject {
207
- constructor(viewId, paneId) {
208
- super();
209
- this.viewId = viewId;
210
- this.paneId = paneId;
211
- }
212
- }
213
- /**
214
- * A singleton to store transfer data during drag & drop operations that are only valid within the application.
215
- */
216
- class LocalSelectionTransfer {
217
- constructor() {
218
- // protect against external instantiation
219
- }
220
- static getInstance() {
221
- return LocalSelectionTransfer.INSTANCE;
222
- }
223
- hasData(proto) {
224
- return proto && proto === this.proto;
225
- }
226
- clearData(proto) {
227
- if (this.hasData(proto)) {
228
- this.proto = undefined;
229
- this.data = undefined;
230
- }
231
- }
232
- getData(proto) {
233
- if (this.hasData(proto)) {
234
- return this.data;
235
- }
236
- return undefined;
237
- }
238
- setData(data, proto) {
239
- if (proto) {
240
- this.data = data;
241
- this.proto = proto;
242
- }
243
- }
244
- }
245
- LocalSelectionTransfer.INSTANCE = new LocalSelectionTransfer();
246
- function getPanelData() {
247
- const panelTransfer = LocalSelectionTransfer.getInstance();
248
- const isPanelEvent = panelTransfer.hasData(PanelTransfer.prototype);
249
- if (!isPanelEvent) {
250
- return undefined;
251
- }
252
- return panelTransfer.getData(PanelTransfer.prototype)[0];
253
- }
254
- function getPaneData() {
255
- const paneTransfer = LocalSelectionTransfer.getInstance();
256
- const isPanelEvent = paneTransfer.hasData(PaneTransfer.prototype);
257
- if (!isPanelEvent) {
258
- return undefined;
259
- }
260
- return paneTransfer.getData(PaneTransfer.prototype)[0];
261
- }
262
-
263
223
  class SplitviewApi {
264
224
  constructor(component) {
265
225
  this.component = component;
@@ -282,6 +242,9 @@
282
242
  get orientation() {
283
243
  return this.component.orientation;
284
244
  }
245
+ get onDidLayoutFromJSON() {
246
+ return this.component.onDidLayoutFromJSON;
247
+ }
285
248
  get onDidLayoutChange() {
286
249
  return this.component.onDidLayoutChange;
287
250
  }
@@ -324,8 +287,8 @@
324
287
  movePanel(from, to) {
325
288
  this.component.movePanel(from, to);
326
289
  }
327
- fromJSON(data, deferComponentLayout) {
328
- this.component.fromJSON(data, deferComponentLayout);
290
+ fromJSON(data) {
291
+ this.component.fromJSON(data);
329
292
  }
330
293
  toJSON() {
331
294
  return this.component.toJSON();
@@ -350,6 +313,9 @@
350
313
  get onDidLayoutChange() {
351
314
  return this.component.onDidLayoutChange;
352
315
  }
316
+ get onDidLayoutFromJSON() {
317
+ return this.component.onDidLayoutFromJSON;
318
+ }
353
319
  get onDidAddView() {
354
320
  return this.component.onDidAddView;
355
321
  }
@@ -386,13 +352,13 @@
386
352
  this.component.layout(width, height);
387
353
  }
388
354
  addPanel(options) {
389
- return this.component.addPanel(options);
355
+ this.component.addPanel(options);
390
356
  }
391
357
  resizeToFit() {
392
358
  this.component.resizeToFit();
393
359
  }
394
- fromJSON(data, deferComponentLayout) {
395
- this.component.fromJSON(data, deferComponentLayout);
360
+ fromJSON(data) {
361
+ this.component.fromJSON(data);
396
362
  }
397
363
  toJSON() {
398
364
  return this.component.toJSON();
@@ -420,9 +386,6 @@
420
386
  get height() {
421
387
  return this.component.height;
422
388
  }
423
- get onGridEvent() {
424
- return this.component.onGridEvent;
425
- }
426
389
  get onDidLayoutChange() {
427
390
  return this.component.onDidLayoutChange;
428
391
  }
@@ -477,8 +440,8 @@
477
440
  setActive(panel) {
478
441
  this.component.setActive(panel);
479
442
  }
480
- fromJSON(data, deferComponentLayout) {
481
- return this.component.fromJSON(data, deferComponentLayout);
443
+ fromJSON(data) {
444
+ return this.component.fromJSON(data);
482
445
  }
483
446
  toJSON() {
484
447
  return this.component.toJSON();
@@ -512,9 +475,6 @@
512
475
  get totalPanels() {
513
476
  return this.component.totalPanels;
514
477
  }
515
- get onGridEvent() {
516
- return this.component.onGridEvent;
517
- }
518
478
  get onDidActiveGroupChange() {
519
479
  return this.component.onDidActiveGroupChange;
520
480
  }
@@ -533,7 +493,7 @@
533
493
  get onDidRemovePanel() {
534
494
  return this.component.onDidRemovePanel;
535
495
  }
536
- get onDidLayoutfromJSON() {
496
+ get onDidLayoutFromJSON() {
537
497
  return this.component.onDidLayoutfromJSON;
538
498
  }
539
499
  get onDidLayoutChange() {
@@ -598,6 +558,46 @@
598
558
  }
599
559
  }
600
560
 
561
+ var Disposable;
562
+ (function (Disposable) {
563
+ Disposable.NONE = {
564
+ dispose: () => {
565
+ // noop
566
+ },
567
+ };
568
+ })(Disposable || (Disposable = {}));
569
+ class CompositeDisposable {
570
+ constructor(...args) {
571
+ this.disposables = args;
572
+ }
573
+ static from(...args) {
574
+ return new CompositeDisposable(...args);
575
+ }
576
+ addDisposables(...args) {
577
+ args.forEach((arg) => this.disposables.push(arg));
578
+ }
579
+ dispose() {
580
+ this.disposables.forEach((arg) => arg.dispose());
581
+ }
582
+ }
583
+ class MutableDisposable {
584
+ constructor() {
585
+ this._disposable = Disposable.NONE;
586
+ }
587
+ set value(disposable) {
588
+ if (this._disposable) {
589
+ this._disposable.dispose();
590
+ }
591
+ this._disposable = disposable;
592
+ }
593
+ dispose() {
594
+ if (this._disposable) {
595
+ this._disposable.dispose();
596
+ this._disposable = Disposable.NONE;
597
+ }
598
+ }
599
+ }
600
+
601
601
  function watchElementResize(element, cb) {
602
602
  const observer = new ResizeObserver((entires) => {
603
603
  const firstEntry = entires[0];
@@ -1543,13 +1543,13 @@
1543
1543
  this._onDidSashEnd.dispose();
1544
1544
  this._onDidAddView.dispose();
1545
1545
  this._onDidRemoveView.dispose();
1546
- this.element.remove();
1547
1546
  for (let i = 0; i < this.element.children.length; i++) {
1548
1547
  if (this.element.children.item(i) === this.element) {
1549
1548
  this.element.removeChild(this.element);
1550
1549
  break;
1551
1550
  }
1552
1551
  }
1552
+ this.element.remove();
1553
1553
  }
1554
1554
  }
1555
1555
 
@@ -1572,7 +1572,7 @@
1572
1572
  });
1573
1573
  // if we've added views from the descriptor we need to
1574
1574
  // add the panes to our Pane array and setup animation
1575
- this.getPanes().forEach((pane, index) => {
1575
+ this.getPanes().forEach((pane) => {
1576
1576
  const disposable = new CompositeDisposable(pane.onDidChangeExpansionState(() => {
1577
1577
  this.setupAnimation();
1578
1578
  this._onDidChange.fire(undefined);
@@ -1640,17 +1640,20 @@
1640
1640
  getPanes() {
1641
1641
  return this.splitview.getViews();
1642
1642
  }
1643
- removePane(index) {
1643
+ removePane(index, options = { skipDispose: false }) {
1644
1644
  const paneItem = this.paneItems.splice(index, 1)[0];
1645
1645
  this.splitview.removeView(index);
1646
- paneItem.disposable.dispose();
1646
+ if (!options.skipDispose) {
1647
+ paneItem.disposable.dispose();
1648
+ paneItem.pane.dispose();
1649
+ }
1647
1650
  return paneItem;
1648
1651
  }
1649
1652
  moveView(from, to) {
1650
1653
  if (from === to) {
1651
1654
  return;
1652
1655
  }
1653
- const view = this.removePane(from);
1656
+ const view = this.removePane(from, { skipDispose: true });
1654
1657
  this.skipAnimation = true;
1655
1658
  try {
1656
1659
  this.addPane(view.pane, view.pane.size, to, false);
@@ -1678,15 +1681,16 @@
1678
1681
  }
1679
1682
  dispose() {
1680
1683
  super.dispose();
1681
- this.splitview.dispose();
1682
1684
  if (this.animationTimer) {
1683
1685
  clearTimeout(this.animationTimer);
1684
1686
  this.animationTimer = undefined;
1685
1687
  }
1686
1688
  this.paneItems.forEach((paneItem) => {
1687
1689
  paneItem.disposable.dispose();
1690
+ paneItem.pane.dispose();
1688
1691
  });
1689
1692
  this.paneItems = [];
1693
+ this.splitview.dispose();
1690
1694
  this.element.remove();
1691
1695
  }
1692
1696
  }
@@ -1750,7 +1754,7 @@
1750
1754
  this._onDrop = new Emitter();
1751
1755
  this.onDrop = this._onDrop.event;
1752
1756
  this.addDisposables(this._onDrop, new DragAndDropObserver(this.element, {
1753
- onDragEnter: (e) => undefined,
1757
+ onDragEnter: () => undefined,
1754
1758
  onDragOver: (e) => {
1755
1759
  if (isBooleanValue(this.options.canDisplayOverlay)) {
1756
1760
  if (!this.options.canDisplayOverlay) {
@@ -1791,10 +1795,10 @@
1791
1795
  this.toggleClasses(quadrant, isSmallX, isSmallY);
1792
1796
  this.setState(quadrant);
1793
1797
  },
1794
- onDragLeave: (e) => {
1798
+ onDragLeave: () => {
1795
1799
  this.removeDropTarget();
1796
1800
  },
1797
- onDragEnd: (e) => {
1801
+ onDragEnd: () => {
1798
1802
  this.removeDropTarget();
1799
1803
  },
1800
1804
  onDrop: (e) => {
@@ -2005,7 +2009,7 @@
2005
2009
  this.children = [];
2006
2010
  this._onDidChange = new Emitter();
2007
2011
  this.onDidChange = this._onDidChange.event;
2008
- this._childrenDisposable = exports.Disposable.NONE;
2012
+ this._childrenDisposable = Disposable.NONE;
2009
2013
  this._orthogonalSize = orthogonalSize;
2010
2014
  this._size = size;
2011
2015
  this.element = document.createElement('div');
@@ -2030,7 +2034,7 @@
2030
2034
  : true,
2031
2035
  };
2032
2036
  }),
2033
- size: this.orthogonalSize,
2037
+ size: this.size,
2034
2038
  };
2035
2039
  this.children = childDescriptors.map((c) => c.node);
2036
2040
  this.splitview = new Splitview(this.element, {
@@ -2191,7 +2195,7 @@
2191
2195
  }
2192
2196
  setupChildrenEvents() {
2193
2197
  this._childrenDisposable.dispose();
2194
- this._childrenDisposable = exports.Event.any(...this.children.map((c) => c.onDidChange))((e) => {
2198
+ this._childrenDisposable = exports.Event.any(...this.children.map((c) => c.onDidChange))(() => {
2195
2199
  /**
2196
2200
  * indicate a change has occured to allows any re-rendering but don't bubble
2197
2201
  * event because that was specific to this branch
@@ -2351,6 +2355,7 @@
2351
2355
  this.disposable.dispose();
2352
2356
  this._onDidChange.dispose();
2353
2357
  this.root.dispose();
2358
+ this.element.remove();
2354
2359
  }
2355
2360
  clear() {
2356
2361
  const orientation = this.root.orientation;
@@ -2553,7 +2558,7 @@
2553
2558
  const [parentIndex, ...__] = [...rest].reverse();
2554
2559
  const isSiblingVisible = parent.isChildVisible(0);
2555
2560
  parent.removeChild(0, sizing);
2556
- const sizes = grandParent.children.map((size, i) => grandParent.getChildSize(i));
2561
+ const sizes = grandParent.children.map((_size, i) => grandParent.getChildSize(i));
2557
2562
  grandParent.removeChild(parentIndex, sizing);
2558
2563
  if (sibling instanceof BranchNode) {
2559
2564
  sizes.splice(parentIndex, 1, ...sibling.children.map((c) => c.size));
@@ -2652,7 +2657,7 @@
2652
2657
  }
2653
2658
  this.disposable.value = disposable;
2654
2659
  }
2655
- layout(width, height) {
2660
+ layout(_width, _height) {
2656
2661
  // noop
2657
2662
  }
2658
2663
  closePanel() {
@@ -2700,7 +2705,7 @@
2700
2705
  if (event.dataTransfer) {
2701
2706
  event.dataTransfer.effectAllowed = 'move';
2702
2707
  }
2703
- }), addDisposableListener(this.el, 'dragend', (ev) => {
2708
+ }), addDisposableListener(this.el, 'dragend', () => {
2704
2709
  for (const iframe of this.iframes) {
2705
2710
  iframe.style.pointerEvents = 'auto';
2706
2711
  }
@@ -3067,6 +3072,9 @@
3067
3072
  get maximumWidth() {
3068
3073
  return Number.MAX_SAFE_INTEGER;
3069
3074
  }
3075
+ get hasWatermark() {
3076
+ return !!(this.watermark && this.container.contains(this.watermark.element));
3077
+ }
3070
3078
  initialize() {
3071
3079
  var _a, _b;
3072
3080
  if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.panels) {
@@ -3145,10 +3153,10 @@
3145
3153
  containsPanel(panel) {
3146
3154
  return this.panels.includes(panel);
3147
3155
  }
3148
- init(params) {
3156
+ init(_params) {
3149
3157
  //noop
3150
3158
  }
3151
- update(params) {
3159
+ update(_params) {
3152
3160
  //noop
3153
3161
  }
3154
3162
  focus() {
@@ -3371,29 +3379,18 @@
3371
3379
  }
3372
3380
  }
3373
3381
  dispose() {
3382
+ var _a;
3383
+ super.dispose();
3384
+ (_a = this.watermark) === null || _a === void 0 ? void 0 : _a.dispose();
3374
3385
  for (const panel of this.panels) {
3375
3386
  panel.dispose();
3376
3387
  }
3377
- super.dispose();
3378
3388
  this.dropTarget.dispose();
3379
3389
  this.tabsContainer.dispose();
3380
3390
  this.contentContainer.dispose();
3381
3391
  }
3382
3392
  }
3383
3393
 
3384
- exports.GroupChangeKind = void 0;
3385
- (function (GroupChangeKind) {
3386
- GroupChangeKind["ADD_PANEL"] = "ADD_PANEL";
3387
- GroupChangeKind["REMOVE_PANEL"] = "REMOVE_PANEL";
3388
- GroupChangeKind["PANEL_ACTIVE"] = "PANEL_ACTIVE";
3389
- //
3390
- GroupChangeKind["GROUP_ACTIVE"] = "GROUP_ACTIVE";
3391
- GroupChangeKind["ADD_GROUP"] = "ADD_GROUP";
3392
- GroupChangeKind["REMOVE_GROUP"] = "REMOVE_GROUP";
3393
- //
3394
- GroupChangeKind["LAYOUT_FROM_JSON"] = "LAYOUT_FROM_JSON";
3395
- GroupChangeKind["LAYOUT"] = "LAYOUT";
3396
- })(exports.GroupChangeKind || (exports.GroupChangeKind = {}));
3397
3394
  const nextLayoutId = sequentialNumberGenerator();
3398
3395
  function toTarget(direction) {
3399
3396
  switch (direction) {
@@ -3416,9 +3413,6 @@
3416
3413
  this._element = _element;
3417
3414
  this._id = nextLayoutId.next();
3418
3415
  this._groups = new Map();
3419
- //
3420
- this._onGridEvent = new Emitter();
3421
- this.onGridEvent = this._onGridEvent.event;
3422
3416
  this._onDidLayoutChange = new Emitter();
3423
3417
  this.onDidLayoutChange = this._onDidLayoutChange.event;
3424
3418
  this._onDidRemoveGroup = new Emitter();
@@ -3427,30 +3421,18 @@
3427
3421
  this.onDidAddGroup = this._onDidAddGroup.event;
3428
3422
  this._onDidActiveGroupChange = new Emitter();
3429
3423
  this.onDidActiveGroupChange = this._onDidActiveGroupChange.event;
3424
+ this._bufferOnDidLayoutChange = new TickDelayedEvent();
3430
3425
  this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation);
3431
3426
  this.element.appendChild(this.gridview.element);
3432
3427
  this.layout(0, 0, true); // set some elements height/widths
3433
3428
  this.addDisposables(this.gridview.onDidChange(() => {
3434
- this._onGridEvent.fire({ kind: exports.GroupChangeKind.LAYOUT });
3429
+ this._onDidLayoutChange.fire();
3435
3430
  }));
3436
- this.addDisposables((() => {
3437
- const tickDelayedEvent = new TickDelayedEvent();
3438
- return new CompositeDisposable(this.onGridEvent((event) => {
3439
- if ([
3440
- exports.GroupChangeKind.ADD_GROUP,
3441
- exports.GroupChangeKind.REMOVE_GROUP,
3442
- exports.GroupChangeKind.ADD_PANEL,
3443
- exports.GroupChangeKind.REMOVE_PANEL,
3444
- exports.GroupChangeKind.GROUP_ACTIVE,
3445
- exports.GroupChangeKind.PANEL_ACTIVE,
3446
- exports.GroupChangeKind.LAYOUT,
3447
- ].includes(event.kind)) {
3448
- tickDelayedEvent.fire();
3449
- }
3450
- }), tickDelayedEvent.onEvent(() => {
3451
- this._onDidLayoutChange.fire();
3452
- }), tickDelayedEvent);
3453
- })());
3431
+ this.addDisposables(exports.Event.any(this.onDidAddGroup, this.onDidRemoveGroup, this.onDidActiveGroupChange)(() => {
3432
+ this._bufferOnDidLayoutChange.fire();
3433
+ }), this._bufferOnDidLayoutChange.onEvent(() => {
3434
+ this._onDidLayoutChange.fire();
3435
+ }), this._bufferOnDidLayoutChange);
3454
3436
  }
3455
3437
  get id() {
3456
3438
  return this._id;
@@ -3487,14 +3469,13 @@
3487
3469
  }
3488
3470
  setVisible(panel, visible) {
3489
3471
  this.gridview.setViewVisible(getGridLocation(panel.element), visible);
3490
- this._onGridEvent.fire({ kind: exports.GroupChangeKind.LAYOUT });
3472
+ this._onDidLayoutChange.fire();
3491
3473
  }
3492
3474
  isVisible(panel) {
3493
3475
  return this.gridview.isViewVisible(getGridLocation(panel.element));
3494
3476
  }
3495
3477
  doAddGroup(group, location = [0], size) {
3496
3478
  this.gridview.addView(group, size !== null && size !== void 0 ? size : exports.Sizing.Distribute, location);
3497
- this._onGridEvent.fire({ kind: exports.GroupChangeKind.ADD_GROUP });
3498
3479
  this._onDidAddGroup.fire(group);
3499
3480
  this.doSetGroupActive(group);
3500
3481
  }
@@ -3506,9 +3487,9 @@
3506
3487
  const view = this.gridview.remove(group, exports.Sizing.Distribute);
3507
3488
  if (item && !(options === null || options === void 0 ? void 0 : options.skipDispose)) {
3508
3489
  item.disposable.dispose();
3490
+ item.value.dispose();
3509
3491
  this._groups.delete(group.id);
3510
3492
  }
3511
- this._onGridEvent.fire({ kind: exports.GroupChangeKind.REMOVE_GROUP });
3512
3493
  this._onDidRemoveGroup.fire(group);
3513
3494
  if (!(options === null || options === void 0 ? void 0 : options.skipActive) && this._activeGroup === group) {
3514
3495
  const groups = Array.from(this._groups.values());
@@ -3537,9 +3518,6 @@
3537
3518
  }
3538
3519
  }
3539
3520
  this._activeGroup = group;
3540
- this._onGridEvent.fire({
3541
- kind: exports.GroupChangeKind.GROUP_ACTIVE,
3542
- });
3543
3521
  this._onDidActiveGroupChange.fire(group);
3544
3522
  }
3545
3523
  removeGroup(group) {
@@ -3596,11 +3574,13 @@
3596
3574
  }
3597
3575
  dispose() {
3598
3576
  super.dispose();
3599
- this._onGridEvent.dispose();
3600
3577
  this._onDidActiveGroupChange.dispose();
3601
3578
  this._onDidAddGroup.dispose();
3602
3579
  this._onDidRemoveGroup.dispose();
3603
3580
  this._onDidLayoutChange.dispose();
3581
+ for (const group of this.groups) {
3582
+ group.dispose();
3583
+ }
3604
3584
  this.gridview.dispose();
3605
3585
  }
3606
3586
  }
@@ -3778,6 +3758,10 @@
3778
3758
  this.update({ params: { title } });
3779
3759
  }));
3780
3760
  }
3761
+ get params() {
3762
+ var _a;
3763
+ return (_a = this._params) === null || _a === void 0 ? void 0 : _a.params;
3764
+ }
3781
3765
  get title() {
3782
3766
  return this._title;
3783
3767
  }
@@ -3926,7 +3910,7 @@
3926
3910
  get id() {
3927
3911
  return 'watermark';
3928
3912
  }
3929
- update(event) {
3913
+ update(_event) {
3930
3914
  // noop
3931
3915
  }
3932
3916
  focus() {
@@ -3935,17 +3919,17 @@
3935
3919
  toJSON() {
3936
3920
  return {};
3937
3921
  }
3938
- layout(width, height) {
3922
+ layout(_width, _height) {
3939
3923
  // noop
3940
3924
  }
3941
3925
  init(params) {
3942
3926
  this.params = params;
3943
- this.addDisposables(this.params.containerApi.onDidLayoutChange((event) => {
3927
+ this.addDisposables(this.params.containerApi.onDidLayoutChange(() => {
3944
3928
  this.render();
3945
3929
  }));
3946
3930
  this.render();
3947
3931
  }
3948
- updateParentGroup(group, visible) {
3932
+ updateParentGroup(group, _visible) {
3949
3933
  this.group = group;
3950
3934
  this.render();
3951
3935
  }
@@ -4120,7 +4104,7 @@
4120
4104
  this._isGroupActive = group.isActive;
4121
4105
  this.render();
4122
4106
  }
4123
- layout(width, height) {
4107
+ layout(_width, _height) {
4124
4108
  // noop
4125
4109
  }
4126
4110
  render() {
@@ -4194,8 +4178,10 @@
4194
4178
  };
4195
4179
  }
4196
4180
  dispose() {
4181
+ var _a;
4197
4182
  super.dispose();
4198
4183
  this.api.dispose();
4184
+ (_a = this.part) === null || _a === void 0 ? void 0 : _a.dispose();
4199
4185
  }
4200
4186
  }
4201
4187
 
@@ -4454,7 +4440,9 @@
4454
4440
  this.onDidLayoutfromJSON = this._onDidLayoutfromJSON.event;
4455
4441
  this._onDidActivePanelChange = new Emitter();
4456
4442
  this.onDidActivePanelChange = this._onDidActivePanelChange.event;
4457
- this.addDisposables(this._onTabInteractionEvent, this._onTabContextMenu, this._onDidDrop);
4443
+ this.addDisposables(this._onTabInteractionEvent, this._onTabContextMenu, this._onDidDrop, exports.Event.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidActivePanelChange)(() => {
4444
+ this._bufferOnDidLayoutChange.fire();
4445
+ }));
4458
4446
  this._options = options;
4459
4447
  if (!this.options.components) {
4460
4448
  this.options.components = {};
@@ -4588,11 +4576,12 @@
4588
4576
  };
4589
4577
  }
4590
4578
  fromJSON(data) {
4579
+ const groups = Array.from(this._groups.values()).map((_) => _.value);
4580
+ for (const group of groups) {
4581
+ // remove the group will automatically remove the panels
4582
+ this.removeGroup(group, true);
4583
+ }
4591
4584
  this.gridview.clear();
4592
- this.panels.forEach((panel) => {
4593
- panel.dispose();
4594
- });
4595
- this._groups.clear();
4596
4585
  if (!this.deserializer) {
4597
4586
  throw new Error('invalid deserializer');
4598
4587
  }
@@ -4616,7 +4605,6 @@
4616
4605
  }
4617
4606
  }
4618
4607
  this.gridview.layout(this.width, this.height);
4619
- this._onGridEvent.fire({ kind: exports.GroupChangeKind.LAYOUT_FROM_JSON });
4620
4608
  this._onDidLayoutfromJSON.fire();
4621
4609
  }
4622
4610
  closeAllGroups() {
@@ -4638,7 +4626,10 @@
4638
4626
  }
4639
4627
  addPanel(options) {
4640
4628
  var _a, _b;
4641
- const panel = this._addPanel(options);
4629
+ if (this.panels.find((_) => _.id === options.id)) {
4630
+ throw new Error(`panel with id ${options.id} already exists`);
4631
+ }
4632
+ const panel = this.createPanel(options);
4642
4633
  let referenceGroup;
4643
4634
  if ((_a = options.position) === null || _a === void 0 ? void 0 : _a.referencePanel) {
4644
4635
  const referencePanel = this.getGroupPanel(options.position.referencePanel);
@@ -4666,13 +4657,20 @@
4666
4657
  }
4667
4658
  return panel;
4668
4659
  }
4669
- removePanel(panel) {
4660
+ removePanel(panel, options = {
4661
+ removeEmptyGroup: true,
4662
+ skipDispose: false,
4663
+ }) {
4670
4664
  const group = panel.group;
4671
4665
  if (!group) {
4672
4666
  throw new Error(`cannot remove panel ${panel.id}. it's missing a group.`);
4673
4667
  }
4674
4668
  group.model.removePanel(panel);
4675
- if (group.model.size === 0) {
4669
+ panel.dispose();
4670
+ const retainGroupForWatermark = this.size === 1;
4671
+ if (!retainGroupForWatermark &&
4672
+ group.model.size === 0 &&
4673
+ options.removeEmptyGroup) {
4676
4674
  this.removeGroup(group);
4677
4675
  }
4678
4676
  }
@@ -4704,16 +4702,15 @@
4704
4702
  this.doAddGroup(group);
4705
4703
  }
4706
4704
  }
4707
- removeGroup(group) {
4705
+ removeGroup(group, skipActive = false) {
4708
4706
  const panels = [...group.model.panels]; // reassign since group panels will mutate
4709
- panels.forEach((panel) => {
4710
- this.removePanel(panel);
4711
- });
4712
- if (this._groups.size === 1) {
4713
- this._activeGroup = group;
4714
- return;
4707
+ for (const panel of panels) {
4708
+ this.removePanel(panel, {
4709
+ removeEmptyGroup: false,
4710
+ skipDispose: false,
4711
+ });
4715
4712
  }
4716
- super.removeGroup(group);
4713
+ super.doRemoveGroup(group, { skipActive });
4717
4714
  }
4718
4715
  moveGroupOrPanel(referenceGroup, groupId, itemId, target, index) {
4719
4716
  var _a;
@@ -4768,15 +4765,11 @@
4768
4765
  }
4769
4766
  }
4770
4767
  doSetGroupActive(group, skipFocus) {
4771
- var _a, _b, _c;
4768
+ var _a, _b;
4772
4769
  const isGroupAlreadyFocused = this._activeGroup === group;
4773
4770
  super.doSetGroupActive(group, skipFocus);
4774
4771
  if (!isGroupAlreadyFocused && ((_a = this._activeGroup) === null || _a === void 0 ? void 0 : _a.model.activePanel)) {
4775
- this._onGridEvent.fire({
4776
- kind: exports.GroupChangeKind.PANEL_ACTIVE,
4777
- panel: (_b = this._activeGroup) === null || _b === void 0 ? void 0 : _b.model.activePanel,
4778
- });
4779
- this._onDidActivePanelChange.fire((_c = this._activeGroup) === null || _c === void 0 ? void 0 : _c.model.activePanel);
4772
+ this._onDidActivePanelChange.fire((_b = this._activeGroup) === null || _b === void 0 ? void 0 : _b.model.activePanel);
4780
4773
  }
4781
4774
  }
4782
4775
  createGroup(options) {
@@ -4798,6 +4791,7 @@
4798
4791
  }
4799
4792
  }
4800
4793
  const view = new GroupviewPanel(this, id, options);
4794
+ view.init({ params: {}, containerApi: null }); // required to initialized .part and allow for correct disposal of group
4801
4795
  if (!this._groups.has(view.id)) {
4802
4796
  const disposable = new CompositeDisposable(view.model.onMove((event) => {
4803
4797
  const { groupId, itemId, target, index } = event;
@@ -4807,28 +4801,16 @@
4807
4801
  }), view.model.onDidGroupChange((event) => {
4808
4802
  switch (event.kind) {
4809
4803
  case exports.GroupChangeKind2.ADD_PANEL:
4810
- this._onGridEvent.fire({
4811
- kind: exports.GroupChangeKind.ADD_PANEL,
4812
- panel: event.panel,
4813
- });
4814
4804
  if (event.panel) {
4815
4805
  this._onDidAddPanel.fire(event.panel);
4816
4806
  }
4817
4807
  break;
4818
4808
  case exports.GroupChangeKind2.REMOVE_PANEL:
4819
- this._onGridEvent.fire({
4820
- kind: exports.GroupChangeKind.REMOVE_PANEL,
4821
- panel: event.panel,
4822
- });
4823
4809
  if (event.panel) {
4824
4810
  this._onDidRemovePanel.fire(event.panel);
4825
4811
  }
4826
4812
  break;
4827
4813
  case exports.GroupChangeKind2.PANEL_ACTIVE:
4828
- this._onGridEvent.fire({
4829
- kind: exports.GroupChangeKind.PANEL_ACTIVE,
4830
- panel: event.panel,
4831
- });
4832
4814
  this._onDidActivePanelChange.fire(event.panel);
4833
4815
  break;
4834
4816
  }
@@ -4843,7 +4825,7 @@
4843
4825
  }
4844
4826
  return view;
4845
4827
  }
4846
- _addPanel(options) {
4828
+ createPanel(options) {
4847
4829
  const view = new DefaultGroupPanelView({
4848
4830
  content: this.createContentComponent(options.id, options.component),
4849
4831
  tab: this.createTabComponent(options.id, options.tabComponent),
@@ -4944,7 +4926,7 @@
4944
4926
  this.gridview.setViewVisible(getGridLocation(panel.element), visible);
4945
4927
  }
4946
4928
  setActive(panel) {
4947
- this._groups.forEach((value, key) => {
4929
+ this._groups.forEach((value, _key) => {
4948
4930
  value.value.setActive(panel === value.value);
4949
4931
  });
4950
4932
  }
@@ -4955,10 +4937,14 @@
4955
4937
  var _a;
4956
4938
  (_a = this.activeGroup) === null || _a === void 0 ? void 0 : _a.focus();
4957
4939
  }
4958
- fromJSON(serializedGridview, deferComponentLayout) {
4940
+ fromJSON(serializedGridview) {
4959
4941
  const { grid, activePanel } = serializedGridview;
4942
+ const groups = Array.from(this._groups.values()); // reassign since group panels will mutate
4943
+ for (const group of groups) {
4944
+ group.disposable.dispose();
4945
+ this.doRemoveGroup(group.value, { skipActive: true });
4946
+ }
4960
4947
  this.gridview.clear();
4961
- this._groups.clear();
4962
4948
  const queue = [];
4963
4949
  this.gridview.deserialize(grid, {
4964
4950
  fromJSON: (node) => {
@@ -4985,21 +4971,13 @@
4985
4971
  },
4986
4972
  });
4987
4973
  this.layout(this.width, this.height, true);
4988
- if (deferComponentLayout) {
4989
- setTimeout(() => {
4990
- queue.forEach((f) => f());
4991
- }, 0);
4992
- }
4993
- else {
4994
- queue.forEach((f) => f());
4995
- }
4974
+ queue.forEach((f) => f());
4996
4975
  if (typeof activePanel === 'string') {
4997
4976
  const panel = this.getPanel(activePanel);
4998
4977
  if (panel) {
4999
4978
  this.doSetGroupActive(panel);
5000
4979
  }
5001
4980
  }
5002
- this._onGridEvent.fire({ kind: exports.GroupChangeKind.LAYOUT_FROM_JSON });
5003
4981
  this._onDidLayoutfromJSON.fire();
5004
4982
  }
5005
4983
  movePanel(panel, options) {
@@ -5056,7 +5034,6 @@
5056
5034
  });
5057
5035
  this.registerPanel(view);
5058
5036
  this.doAddGroup(view, relativeLocation, options.size);
5059
- return { api: view.api };
5060
5037
  }
5061
5038
  registerPanel(panel) {
5062
5039
  const disposable = new CompositeDisposable(panel.api.onDidFocusChange((event) => {
@@ -5107,11 +5084,6 @@
5107
5084
  }
5108
5085
  removeGroup(group) {
5109
5086
  super.removeGroup(group);
5110
- const panel = this._groups.get(group.id);
5111
- if (panel) {
5112
- panel.disposable.dispose();
5113
- this._groups.delete(group.id);
5114
- }
5115
5087
  }
5116
5088
  dispose() {
5117
5089
  super.dispose();
@@ -5128,6 +5100,8 @@
5128
5100
  this.element = element;
5129
5101
  this._disposable = new MutableDisposable();
5130
5102
  this.panels = new Map();
5103
+ this._onDidLayoutfromJSON = new Emitter();
5104
+ this.onDidLayoutFromJSON = this._onDidLayoutfromJSON.event;
5131
5105
  this._onDidAddView = new Emitter();
5132
5106
  this.onDidAddView = this._onDidAddView.event;
5133
5107
  this._onDidRemoveView = new Emitter();
@@ -5142,7 +5116,7 @@
5142
5116
  options.frameworkComponents = {};
5143
5117
  }
5144
5118
  this.splitview = new Splitview(this.element, options);
5145
- this.addDisposables(this._disposable, this._onDidAddView, this._onDidRemoveView, this._onDidLayoutChange);
5119
+ this.addDisposables(this._disposable, this._onDidAddView, this._onDidLayoutfromJSON, this._onDidRemoveView, this._onDidLayoutChange);
5146
5120
  }
5147
5121
  get options() {
5148
5122
  return this._options;
@@ -5218,7 +5192,11 @@
5218
5192
  }
5219
5193
  removePanel(panel, sizing) {
5220
5194
  const disposable = this.panels.get(panel.id);
5221
- disposable === null || disposable === void 0 ? void 0 : disposable.dispose();
5195
+ if (!disposable) {
5196
+ throw new Error(`unknown splitview panel ${panel.id}`);
5197
+ }
5198
+ disposable.disposable.dispose();
5199
+ disposable.value.dispose();
5222
5200
  this.panels.delete(panel.id);
5223
5201
  const index = this.getPanels().findIndex((_) => _ === panel);
5224
5202
  this.splitview.removeView(index, sizing);
@@ -5277,7 +5255,7 @@
5277
5255
  }
5278
5256
  this.setActive(view, true);
5279
5257
  });
5280
- this.panels.set(view.id, disposable);
5258
+ this.panels.set(view.id, { disposable, value: view });
5281
5259
  }
5282
5260
  toJSON() {
5283
5261
  var _a;
@@ -5299,8 +5277,13 @@
5299
5277
  orientation: this.splitview.orientation,
5300
5278
  };
5301
5279
  }
5302
- fromJSON(serializedSplitview, deferComponentLayout = false) {
5280
+ fromJSON(serializedSplitview) {
5303
5281
  const { views, orientation, size, activeView } = serializedSplitview;
5282
+ for (const [_, value] of this.panels.entries()) {
5283
+ value.disposable.dispose();
5284
+ value.value.dispose();
5285
+ }
5286
+ this.panels.clear();
5304
5287
  this.splitview.dispose();
5305
5288
  const queue = [];
5306
5289
  this.splitview = new Splitview(this.element, {
@@ -5340,26 +5323,22 @@
5340
5323
  },
5341
5324
  });
5342
5325
  this.layout(this.width, this.height);
5343
- if (deferComponentLayout) {
5344
- setTimeout(() => {
5345
- queue.forEach((f) => f());
5346
- }, 0);
5347
- }
5348
- else {
5349
- queue.forEach((f) => f());
5350
- }
5326
+ queue.forEach((f) => f());
5351
5327
  if (typeof activeView === 'string') {
5352
5328
  const panel = this.getPanel(activeView);
5353
5329
  if (panel) {
5354
5330
  this.setActive(panel);
5355
5331
  }
5356
5332
  }
5333
+ this._onDidLayoutfromJSON.fire();
5357
5334
  }
5358
5335
  dispose() {
5359
- Array.from(this.panels.values()).forEach((value) => {
5360
- value.dispose();
5361
- });
5336
+ for (const [_, value] of this.panels.entries()) {
5337
+ value.disposable.dispose();
5338
+ value.value.dispose();
5339
+ }
5362
5340
  this.panels.clear();
5341
+ this.splitview.dispose();
5363
5342
  super.dispose();
5364
5343
  }
5365
5344
  }
@@ -5628,7 +5607,7 @@
5628
5607
  })(this.header);
5629
5608
  this.target = new Droptarget(this.element, {
5630
5609
  validOverlays: 'vertical',
5631
- canDisplayOverlay: (event) => {
5610
+ canDisplayOverlay: () => {
5632
5611
  const data = getPaneData();
5633
5612
  if (!data) {
5634
5613
  return true;
@@ -5699,7 +5678,7 @@
5699
5678
  this._expander.textContent = e.isExpanded ? '<' : '>';
5700
5679
  });
5701
5680
  }
5702
- update(params) {
5681
+ update(_params) {
5703
5682
  //
5704
5683
  }
5705
5684
  dispose() {
@@ -5725,6 +5704,9 @@
5725
5704
  super();
5726
5705
  this.element = element;
5727
5706
  this._disposable = new MutableDisposable();
5707
+ this._viewDisposables = new Map();
5708
+ this._onDidLayoutfromJSON = new Emitter();
5709
+ this.onDidLayoutFromJSON = this._onDidLayoutfromJSON.event;
5728
5710
  this._onDidLayoutChange = new Emitter();
5729
5711
  this.onDidLayoutChange = this._onDidLayoutChange.event;
5730
5712
  this._onDidDrop = new Emitter();
@@ -5733,7 +5715,7 @@
5733
5715
  this.onDidAddView = this._onDidAddView.event;
5734
5716
  this._onDidRemoveView = new Emitter();
5735
5717
  this.onDidRemoveView = this._onDidRemoveView.event;
5736
- this.addDisposables(this._onDidLayoutChange, this._onDidDrop, this._onDidAddView, this._onDidRemoveView);
5718
+ this.addDisposables(this._onDidLayoutChange, this._onDidLayoutfromJSON, this._onDidDrop, this._onDidAddView, this._onDidRemoveView);
5737
5719
  this._options = options;
5738
5720
  if (!options.components) {
5739
5721
  options.components = {};
@@ -5809,9 +5791,7 @@
5809
5791
  isExpanded: !!options.isExpanded,
5810
5792
  disableDnd: !!this.options.disableDnd,
5811
5793
  });
5812
- const disposable = new CompositeDisposable(view.onDidDrop((event) => {
5813
- this._onDidDrop.fire(event);
5814
- }));
5794
+ this.doAddPanel(view);
5815
5795
  const size = typeof options.size === 'number' ? options.size : exports.Sizing.Distribute;
5816
5796
  const index = typeof options.index === 'number' ? options.index : undefined;
5817
5797
  view.init({
@@ -5824,7 +5804,7 @@
5824
5804
  });
5825
5805
  this.paneview.addPane(view, size, index);
5826
5806
  view.orientation = this.paneview.orientation;
5827
- return disposable;
5807
+ return view;
5828
5808
  }
5829
5809
  getPanels() {
5830
5810
  return this.paneview.getPanes();
@@ -5833,6 +5813,7 @@
5833
5813
  const views = this.getPanels();
5834
5814
  const index = views.findIndex((_) => _ === panel);
5835
5815
  this.paneview.removePane(index);
5816
+ this.doRemovePanel(panel);
5836
5817
  }
5837
5818
  movePanel(from, to) {
5838
5819
  this.paneview.moveView(from, to);
@@ -5879,9 +5860,13 @@
5879
5860
  size: this.paneview.size,
5880
5861
  };
5881
5862
  }
5882
- fromJSON(serializedPaneview, deferComponentLayout) {
5863
+ fromJSON(serializedPaneview) {
5883
5864
  const { views, size } = serializedPaneview;
5884
5865
  const queue = [];
5866
+ for (const [_, value] of this._viewDisposables.entries()) {
5867
+ value.dispose();
5868
+ }
5869
+ this._viewDisposables.clear();
5885
5870
  this.paneview.dispose();
5886
5871
  this.paneview = new Paneview(this.element, {
5887
5872
  orientation: exports.Orientation.VERTICAL,
@@ -5917,9 +5902,7 @@
5917
5902
  isExpanded: !!view.expanded,
5918
5903
  disableDnd: !!this.options.disableDnd,
5919
5904
  });
5920
- panel.onDidDrop((event) => {
5921
- this._onDidDrop.fire(event);
5922
- });
5905
+ this.doAddPanel(panel);
5923
5906
  queue.push(() => {
5924
5907
  panel.init({
5925
5908
  params: data.params || {},
@@ -5940,14 +5923,29 @@
5940
5923
  },
5941
5924
  });
5942
5925
  this.layout(this.width, this.height);
5943
- if (deferComponentLayout) {
5944
- setTimeout(() => {
5945
- queue.forEach((f) => f());
5946
- }, 0);
5926
+ queue.forEach((f) => f());
5927
+ this._onDidLayoutfromJSON.fire();
5928
+ }
5929
+ doAddPanel(panel) {
5930
+ const disposable = panel.onDidDrop((event) => {
5931
+ this._onDidDrop.fire(event);
5932
+ });
5933
+ this._viewDisposables.set(panel.id, disposable);
5934
+ }
5935
+ doRemovePanel(panel) {
5936
+ const disposable = this._viewDisposables.get(panel.id);
5937
+ if (disposable) {
5938
+ disposable.dispose();
5939
+ this._viewDisposables.delete(panel.id);
5947
5940
  }
5948
- else {
5949
- queue.forEach((f) => f());
5941
+ }
5942
+ dispose() {
5943
+ super.dispose();
5944
+ for (const [_, value] of this._viewDisposables.entries()) {
5945
+ value.dispose();
5950
5946
  }
5947
+ this._viewDisposables.clear();
5948
+ this.paneview.dispose();
5951
5949
  }
5952
5950
  }
5953
5951
 
@@ -6175,18 +6173,12 @@
6175
6173
  this.id = id;
6176
6174
  this.component = component;
6177
6175
  this.reactPortalStore = reactPortalStore;
6178
- // private hostedContainer: HostedContainer;
6179
6176
  this._onDidFocus = new Emitter();
6180
6177
  this.onDidFocus = this._onDidFocus.event;
6181
6178
  this._onDidBlur = new Emitter();
6182
6179
  this.onDidBlur = this._onDidBlur.event;
6183
6180
  this._element = document.createElement('div');
6184
6181
  this._element.className = 'dockview-react-part';
6185
- // this.hostedContainer = new HostedContainer({
6186
- // id,
6187
- // });
6188
- // this.hostedContainer.onDidFocus(() => this._onDidFocus.fire());
6189
- // this.hostedContainer.onDidBlur(() => this._onDidBlur.fire());
6190
6182
  this._actionsElement = document.createElement('div');
6191
6183
  this._actionsElement.className = 'dockview-react-part';
6192
6184
  }
@@ -6221,15 +6213,11 @@
6221
6213
  var _a;
6222
6214
  (_a = this.part) === null || _a === void 0 ? void 0 : _a.update(event.params);
6223
6215
  }
6224
- updateParentGroup(group, isPanelVisible) {
6216
+ updateParentGroup(group, _isPanelVisible) {
6225
6217
  this._group = group;
6226
6218
  }
6227
- layout(width, height) {
6219
+ layout(_width, _height) {
6228
6220
  // noop
6229
- // this.hostedContainer.layout(
6230
- // this.element
6231
- // // { width, height }
6232
- // );
6233
6221
  }
6234
6222
  close() {
6235
6223
  return Promise.resolve(true);
@@ -6239,7 +6227,6 @@
6239
6227
  this._onDidFocus.dispose();
6240
6228
  this._onDidBlur.dispose();
6241
6229
  (_a = this.part) === null || _a === void 0 ? void 0 : _a.dispose();
6242
- // this.hostedContainer?.dispose();
6243
6230
  (_b = this.actionsPart) === null || _b === void 0 ? void 0 : _b.dispose();
6244
6231
  }
6245
6232
  }
@@ -6274,10 +6261,10 @@
6274
6261
  id: this.id,
6275
6262
  };
6276
6263
  }
6277
- layout(width, height) {
6264
+ layout(_width, _height) {
6278
6265
  // noop - retrieval from api
6279
6266
  }
6280
- updateParentGroup(group, isPanelVisible) {
6267
+ updateParentGroup(_group, _isPanelVisible) {
6281
6268
  // noop - retrieval from api
6282
6269
  }
6283
6270
  dispose() {
@@ -6356,10 +6343,10 @@
6356
6343
  id: this.id,
6357
6344
  };
6358
6345
  }
6359
- layout(width, height) {
6346
+ layout(_width, _height) {
6360
6347
  // noop - retrieval from api
6361
6348
  }
6362
- updateParentGroup(group, isPanelVisible) {
6349
+ updateParentGroup(group, _isPanelVisible) {
6363
6350
  // noop - retrieval from api
6364
6351
  this._groupRef.value = group;
6365
6352
  }
@@ -6393,21 +6380,21 @@
6393
6380
  var _a;
6394
6381
  const factory = {
6395
6382
  content: {
6396
- createComponent: (id, componentId, component) => {
6383
+ createComponent: (_id, componentId, component) => {
6397
6384
  return new ReactPanelContentPart(componentId, component, {
6398
6385
  addPortal,
6399
6386
  });
6400
6387
  },
6401
6388
  },
6402
6389
  tab: {
6403
- createComponent: (id, componentId, component) => {
6390
+ createComponent: (_id, componentId, component) => {
6404
6391
  return new ReactPanelHeaderPart(componentId, component, {
6405
6392
  addPortal,
6406
6393
  });
6407
6394
  },
6408
6395
  },
6409
6396
  watermark: {
6410
- createComponent: (id, componentId, component) => {
6397
+ createComponent: (_id, componentId, component) => {
6411
6398
  return new ReactWatermarkPart(componentId, component, {
6412
6399
  addPortal,
6413
6400
  });
@@ -6426,11 +6413,6 @@
6426
6413
  ? { separatorBorder: 'transparent' }
6427
6414
  : undefined,
6428
6415
  });
6429
- const disposable = dockview.onDidDrop((event) => {
6430
- if (props.onDidDrop) {
6431
- props.onDidDrop(event);
6432
- }
6433
- });
6434
6416
  (_a = domRef.current) === null || _a === void 0 ? void 0 : _a.appendChild(dockview.element);
6435
6417
  dockview.deserializer = new ReactPanelDeserialzier(dockview);
6436
6418
  const { clientWidth, clientHeight } = domRef.current;
@@ -6440,10 +6422,25 @@
6440
6422
  }
6441
6423
  dockviewRef.current = dockview;
6442
6424
  return () => {
6443
- disposable.dispose();
6444
6425
  dockview.dispose();
6426
+ element.remove();
6445
6427
  };
6446
6428
  }, []);
6429
+ React__namespace.useEffect(() => {
6430
+ if (!dockviewRef.current) {
6431
+ return () => {
6432
+ // noop
6433
+ };
6434
+ }
6435
+ const disposable = dockviewRef.current.onDidDrop((event) => {
6436
+ if (props.onDidDrop) {
6437
+ props.onDidDrop(event);
6438
+ }
6439
+ });
6440
+ return () => {
6441
+ disposable.dispose();
6442
+ };
6443
+ }, [props.onDidDrop]);
6447
6444
  React__namespace.useEffect(() => {
6448
6445
  if (!dockviewRef.current) {
6449
6446
  return;
@@ -6452,6 +6449,14 @@
6452
6449
  frameworkComponents: props.components,
6453
6450
  });
6454
6451
  }, [props.components]);
6452
+ React__namespace.useEffect(() => {
6453
+ if (!dockviewRef.current) {
6454
+ return;
6455
+ }
6456
+ dockviewRef.current.updateOptions({
6457
+ watermarkFrameworkComponent: props.watermarkComponent,
6458
+ });
6459
+ }, [props.watermarkComponent]);
6455
6460
  React__namespace.useEffect(() => {
6456
6461
  if (!dockviewRef.current) {
6457
6462
  return;
@@ -6587,7 +6592,9 @@
6587
6592
  });
6588
6593
  },
6589
6594
  },
6590
- proportionalLayout: props.proportionalLayout,
6595
+ proportionalLayout: typeof props.proportionalLayout === 'boolean'
6596
+ ? props.proportionalLayout
6597
+ : true,
6591
6598
  styles: props.hideBorders
6592
6599
  ? { separatorBorder: 'transparent' }
6593
6600
  : undefined,
@@ -6655,7 +6662,9 @@
6655
6662
  var _a;
6656
6663
  const element = document.createElement('div');
6657
6664
  const gridview = new GridviewComponent(element, {
6658
- proportionalLayout: !!props.proportionalLayout,
6665
+ proportionalLayout: typeof props.proportionalLayout === 'boolean'
6666
+ ? props.proportionalLayout
6667
+ : true,
6659
6668
  orientation: props.orientation,
6660
6669
  frameworkComponents: props.components,
6661
6670
  frameworkComponentFactory: {
@@ -6678,6 +6687,7 @@
6678
6687
  gridviewRef.current = gridview;
6679
6688
  return () => {
6680
6689
  gridview.dispose();
6690
+ element.remove();
6681
6691
  };
6682
6692
  }, []);
6683
6693
  React__namespace.useEffect(() => {
@@ -6748,7 +6758,7 @@
6748
6758
  };
6749
6759
  }, [props.disableAutoResizing]);
6750
6760
  React__namespace.useEffect(() => {
6751
- const createComponent = (id, componentId, component) => new PanePanelSection(id, component, {
6761
+ const createComponent = (id, _componentId, component) => new PanePanelSection(id, component, {
6752
6762
  addPortal,
6753
6763
  });
6754
6764
  const paneview = new PaneviewComponent(domRef.current, {
@@ -6814,13 +6824,11 @@
6814
6824
  PaneviewReact.displayName = 'PaneviewComponent';
6815
6825
 
6816
6826
  exports.BaseGrid = BaseGrid;
6817
- exports.CompositeDisposable = CompositeDisposable;
6818
6827
  exports.ContentContainer = ContentContainer;
6819
6828
  exports.DockviewApi = DockviewApi;
6820
6829
  exports.DockviewComponent = DockviewComponent;
6821
6830
  exports.DockviewComponents = DockviewComponents;
6822
6831
  exports.DockviewReact = DockviewReact;
6823
- exports.Emitter = Emitter;
6824
6832
  exports.Gridview = Gridview;
6825
6833
  exports.GridviewApi = GridviewApi;
6826
6834
  exports.GridviewComponent = GridviewComponent;
@@ -6828,7 +6836,6 @@
6828
6836
  exports.GridviewReact = GridviewReact;
6829
6837
  exports.Groupview = Groupview;
6830
6838
  exports.LocalSelectionTransfer = LocalSelectionTransfer;
6831
- exports.MutableDisposable = MutableDisposable;
6832
6839
  exports.PaneFramework = PaneFramework;
6833
6840
  exports.PaneTransfer = PaneTransfer;
6834
6841
  exports.PanelTransfer = PanelTransfer;
@@ -6847,9 +6854,6 @@
6847
6854
  exports.SplitviewPanel = SplitviewPanel;
6848
6855
  exports.SplitviewReact = SplitviewReact;
6849
6856
  exports.Tab = Tab$1;
6850
- exports.TickDelayedEvent = TickDelayedEvent;
6851
- exports.addDisposableListener = addDisposableListener;
6852
- exports.addDisposableWindowListener = addDisposableWindowListener;
6853
6857
  exports.getDirectionOrientation = getDirectionOrientation;
6854
6858
  exports.getGridLocation = getGridLocation;
6855
6859
  exports.getLocationOrientation = getLocationOrientation;