dockview-core 1.15.2 → 1.16.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 (99) hide show
  1. package/dist/cjs/api/component.api.d.ts +30 -6
  2. package/dist/cjs/api/component.api.js +42 -6
  3. package/dist/cjs/api/dockviewPanelApi.d.ts +1 -1
  4. package/dist/cjs/api/entryPoints.d.ts +9 -0
  5. package/dist/cjs/api/entryPoints.js +28 -0
  6. package/dist/cjs/dnd/abstractDragHandler.js +2 -65
  7. package/dist/cjs/dockview/components/titlebar/voidContainer.js +1 -1
  8. package/dist/cjs/dockview/dockviewComponent.d.ts +4 -2
  9. package/dist/cjs/dockview/dockviewComponent.js +61 -17
  10. package/dist/cjs/dockview/dockviewFloatingGroupPanel.d.ts +1 -1
  11. package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +1 -1
  12. package/dist/cjs/dockview/dockviewGroupPanelModel.js +1 -1
  13. package/dist/cjs/dockview/dockviewPanel.d.ts +1 -1
  14. package/dist/cjs/dockview/dockviewPanel.js +1 -1
  15. package/dist/cjs/dockview/options.d.ts +2 -2
  16. package/dist/cjs/dockview/options.js +1 -0
  17. package/dist/cjs/dockview/types.d.ts +1 -1
  18. package/dist/cjs/dom.d.ts +3 -0
  19. package/dist/cjs/dom.js +66 -1
  20. package/dist/cjs/gridview/baseComponentGridview.d.ts +3 -2
  21. package/dist/cjs/gridview/baseComponentGridview.js +3 -0
  22. package/dist/cjs/gridview/gridviewComponent.d.ts +1 -1
  23. package/dist/cjs/gridview/gridviewComponent.js +3 -2
  24. package/dist/cjs/gridview/options.d.ts +1 -1
  25. package/dist/cjs/index.d.ts +2 -1
  26. package/dist/cjs/index.js +6 -1
  27. package/dist/cjs/{dnd → overlay}/overlay.d.ts +3 -0
  28. package/dist/cjs/{dnd → overlay}/overlay.js +41 -82
  29. package/dist/cjs/{overlayRenderContainer.d.ts → overlay/overlayRenderContainer.d.ts} +7 -5
  30. package/dist/cjs/{overlayRenderContainer.js → overlay/overlayRenderContainer.js} +41 -6
  31. package/dist/cjs/paneview/options.d.ts +1 -1
  32. package/dist/cjs/paneview/paneviewComponent.d.ts +1 -1
  33. package/dist/cjs/paneview/paneviewComponent.js +5 -2
  34. package/dist/cjs/splitview/options.d.ts +1 -1
  35. package/dist/cjs/splitview/splitview.js +64 -71
  36. package/dist/cjs/splitview/splitviewComponent.d.ts +1 -1
  37. package/dist/cjs/splitview/splitviewComponent.js +5 -2
  38. package/dist/dockview-core.amd.js +260 -98
  39. package/dist/dockview-core.amd.js.map +1 -1
  40. package/dist/dockview-core.amd.min.js +2 -2
  41. package/dist/dockview-core.amd.min.js.map +1 -1
  42. package/dist/dockview-core.amd.min.noStyle.js +2 -2
  43. package/dist/dockview-core.amd.min.noStyle.js.map +1 -1
  44. package/dist/dockview-core.amd.noStyle.js +259 -97
  45. package/dist/dockview-core.amd.noStyle.js.map +1 -1
  46. package/dist/dockview-core.cjs.js +260 -98
  47. package/dist/dockview-core.cjs.js.map +1 -1
  48. package/dist/dockview-core.esm.js +257 -99
  49. package/dist/dockview-core.esm.js.map +1 -1
  50. package/dist/dockview-core.esm.min.js +2 -2
  51. package/dist/dockview-core.esm.min.js.map +1 -1
  52. package/dist/dockview-core.js +260 -98
  53. package/dist/dockview-core.js.map +1 -1
  54. package/dist/dockview-core.min.js +2 -2
  55. package/dist/dockview-core.min.js.map +1 -1
  56. package/dist/dockview-core.min.noStyle.js +2 -2
  57. package/dist/dockview-core.min.noStyle.js.map +1 -1
  58. package/dist/dockview-core.noStyle.js +259 -97
  59. package/dist/dockview-core.noStyle.js.map +1 -1
  60. package/dist/esm/api/component.api.d.ts +30 -6
  61. package/dist/esm/api/component.api.js +42 -6
  62. package/dist/esm/api/dockviewPanelApi.d.ts +1 -1
  63. package/dist/esm/api/entryPoints.d.ts +9 -0
  64. package/dist/esm/api/entryPoints.js +21 -0
  65. package/dist/esm/dnd/abstractDragHandler.js +3 -11
  66. package/dist/esm/dockview/components/panel/content.js +1 -1
  67. package/dist/esm/dockview/components/titlebar/voidContainer.js +1 -1
  68. package/dist/esm/dockview/dockviewComponent.d.ts +4 -2
  69. package/dist/esm/dockview/dockviewComponent.js +49 -13
  70. package/dist/esm/dockview/dockviewFloatingGroupPanel.d.ts +1 -1
  71. package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +1 -1
  72. package/dist/esm/dockview/dockviewGroupPanelModel.js +1 -1
  73. package/dist/esm/dockview/dockviewPanel.d.ts +1 -1
  74. package/dist/esm/dockview/dockviewPanel.js +1 -1
  75. package/dist/esm/dockview/options.d.ts +2 -2
  76. package/dist/esm/dockview/options.js +1 -0
  77. package/dist/esm/dockview/types.d.ts +1 -1
  78. package/dist/esm/dom.d.ts +3 -0
  79. package/dist/esm/dom.js +20 -0
  80. package/dist/esm/gridview/baseComponentGridview.d.ts +3 -2
  81. package/dist/esm/gridview/baseComponentGridview.js +3 -0
  82. package/dist/esm/gridview/gridviewComponent.d.ts +1 -1
  83. package/dist/esm/gridview/gridviewComponent.js +3 -2
  84. package/dist/esm/gridview/options.d.ts +1 -1
  85. package/dist/esm/index.d.ts +2 -1
  86. package/dist/esm/index.js +1 -0
  87. package/dist/esm/{dnd → overlay}/overlay.d.ts +3 -0
  88. package/dist/esm/{dnd → overlay}/overlay.js +36 -32
  89. package/dist/esm/{overlayRenderContainer.d.ts → overlay/overlayRenderContainer.d.ts} +7 -5
  90. package/dist/esm/{overlayRenderContainer.js → overlay/overlayRenderContainer.js} +39 -6
  91. package/dist/esm/paneview/options.d.ts +1 -1
  92. package/dist/esm/paneview/paneviewComponent.d.ts +1 -1
  93. package/dist/esm/paneview/paneviewComponent.js +5 -2
  94. package/dist/esm/splitview/options.d.ts +1 -1
  95. package/dist/esm/splitview/splitview.js +37 -27
  96. package/dist/esm/splitview/splitviewComponent.d.ts +1 -1
  97. package/dist/esm/splitview/splitviewComponent.js +5 -2
  98. package/dist/styles/dockview.css +79 -83
  99. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * dockview-core
3
- * @version 1.15.2
3
+ * @version 1.16.0
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -33,7 +33,7 @@ function styleInject(css, ref) {
33
33
  }
34
34
  }
35
35
 
36
- var css_248z = ".dv-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 999;\n}\n\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\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-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-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\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-background-color: black;\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-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-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\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-background-color: black;\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-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-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\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-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-background-color: black;\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-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-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-background-color: black;\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-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-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-background-color: black;\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-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-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: ##fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-background-color: #ebeced;\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab .dockview-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .groupview .content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .groupview.active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview.inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\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: 1000;\n pointer-events: none;\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.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n position: absolute;\n z-index: 997;\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-bring-to-front {\n z-index: 998;\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: 999;\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: se-resize;\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\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.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n 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.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n 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.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\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 min-height: 0;\n outline: none;\n}\n.dv-root-wrapper {\n height: 100%;\n width: 100%;\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\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 cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\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.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\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 user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):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:not(.disabled):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 background-color: var(--dv-background-color);\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.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* 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:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.tab.inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: elipsis;\n}\n.tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dv-default-tab .dv-default-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-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.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\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.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\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}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
36
+ var css_248z = ".dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\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-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-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\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-background-color: black;\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-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-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\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-background-color: black;\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-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-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\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-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-background-color: black;\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-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-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-background-color: black;\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-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-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-background-color: black;\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-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-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: ##fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-background-color: #ebeced;\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab .dockview-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .groupview .content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .groupview.active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview.inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:not(.disabled)::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:not(.disabled)::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\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: 1000;\n pointer-events: none;\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.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\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.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n 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.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n 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.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\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 min-height: 0;\n outline: none;\n}\n.dv-root-wrapper {\n height: 100%;\n width: 100%;\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n position: absolute;\n z-index: 997;\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: 999;\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: se-resize;\n}\n.dv-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 998;\n}\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\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 cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\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.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\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 user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):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:not(.disabled):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 background-color: var(--dv-background-color);\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.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* 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:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.tab.inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dv-default-tab .dv-default-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-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.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\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.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\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}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
37
37
  styleInject(css_248z);
38
38
 
39
39
  class TransferObject {
@@ -561,6 +561,26 @@ function isInDocument(element) {
561
561
  function addTestId(element, id) {
562
562
  element.setAttribute('data-testid', id);
563
563
  }
564
+ function disableIframePointEvents() {
565
+ const iframes = [
566
+ ...getElementsByTagName('iframe'),
567
+ ...getElementsByTagName('webview'),
568
+ ];
569
+ const original = new WeakMap(); // don't hold onto HTMLElement references longer than required
570
+ for (const iframe of iframes) {
571
+ original.set(iframe, iframe.style.pointerEvents);
572
+ iframe.style.pointerEvents = 'none';
573
+ }
574
+ return {
575
+ release: () => {
576
+ var _a;
577
+ for (const iframe of iframes) {
578
+ iframe.style.pointerEvents = (_a = original.get(iframe)) !== null && _a !== void 0 ? _a : 'auto';
579
+ }
580
+ iframes.splice(0, iframes.length); // don't hold onto HTMLElement references longer than required
581
+ },
582
+ };
583
+ }
564
584
 
565
585
  function tail(arr) {
566
586
  if (arr.length === 0) {
@@ -1083,13 +1103,7 @@ class Splitview {
1083
1103
  for (const item of this.viewItems) {
1084
1104
  item.enabled = false;
1085
1105
  }
1086
- const iframes = [
1087
- ...getElementsByTagName('iframe'),
1088
- ...getElementsByTagName('webview'),
1089
- ];
1090
- for (const iframe of iframes) {
1091
- iframe.style.pointerEvents = 'none';
1092
- }
1106
+ const iframes = disableIframePointEvents();
1093
1107
  const start = this._orientation === exports.Orientation.HORIZONTAL
1094
1108
  ? event.clientX
1095
1109
  : event.clientY;
@@ -1151,9 +1165,7 @@ class Splitview {
1151
1165
  for (const item of this.viewItems) {
1152
1166
  item.enabled = true;
1153
1167
  }
1154
- for (const iframe of iframes) {
1155
- iframe.style.pointerEvents = 'auto';
1156
- }
1168
+ iframes.release();
1157
1169
  this.saveProportions();
1158
1170
  document.removeEventListener('pointermove', onPointerMove);
1159
1171
  document.removeEventListener('pointerup', end);
@@ -1320,29 +1332,47 @@ class Splitview {
1320
1332
  if (this.viewItems.length === 0) {
1321
1333
  return;
1322
1334
  }
1323
- const sashCount = this.viewItems.length - 1;
1324
- const marginReducedSize = (this.margin * sashCount) / this.viewItems.length;
1335
+ const visibleViewItems = this.viewItems.filter((i) => i.visible);
1336
+ const sashCount = Math.max(0, visibleViewItems.length - 1);
1337
+ const marginReducedSize = (this.margin * sashCount) / Math.max(1, visibleViewItems.length);
1325
1338
  let totalLeftOffset = 0;
1326
1339
  const viewLeftOffsets = [];
1327
- for (let i = 0; i < this.viewItems.length - 1; i++) {
1328
- totalLeftOffset += this.viewItems[i].size;
1329
- viewLeftOffsets.push(totalLeftOffset);
1330
- const offset = Math.min(Math.max(0, totalLeftOffset - 2), this.size - this.margin);
1331
- if (this._orientation === exports.Orientation.HORIZONTAL) {
1332
- this.sashes[i].container.style.left = `${offset}px`;
1333
- this.sashes[i].container.style.top = `0px`;
1340
+ const sashWidth = 4; // hardcoded in css
1341
+ const runningVisiblePanelCount = this.viewItems.reduce((arr, viewItem, i) => {
1342
+ const flag = viewItem.visible ? 1 : 0;
1343
+ if (i === 0) {
1344
+ arr.push(flag);
1334
1345
  }
1335
- if (this._orientation === exports.Orientation.VERTICAL) {
1336
- this.sashes[i].container.style.left = `0px`;
1337
- this.sashes[i].container.style.top = `${offset}px`;
1346
+ else {
1347
+ arr.push(arr[i - 1] + flag);
1338
1348
  }
1339
- }
1349
+ return arr;
1350
+ }, []);
1351
+ // calculate both view and cash positions
1340
1352
  this.viewItems.forEach((view, i) => {
1341
- const size = view.size - marginReducedSize;
1342
- const offset = i === 0
1353
+ totalLeftOffset += this.viewItems[i].size;
1354
+ viewLeftOffsets.push(totalLeftOffset);
1355
+ const size = view.visible ? view.size - marginReducedSize : 0;
1356
+ const visiblePanelsBeforeThisView = Math.max(0, runningVisiblePanelCount[i] - 1);
1357
+ const offset = i === 0 || visiblePanelsBeforeThisView === 0
1343
1358
  ? 0
1344
1359
  : viewLeftOffsets[i - 1] +
1345
- (i / sashCount) * marginReducedSize;
1360
+ (visiblePanelsBeforeThisView / sashCount) * marginReducedSize;
1361
+ if (i < this.viewItems.length - 1) {
1362
+ // calculate sash position
1363
+ const newSize = view.visible
1364
+ ? offset + size - sashWidth / 2 + this.margin / 2
1365
+ : offset;
1366
+ if (this._orientation === exports.Orientation.HORIZONTAL) {
1367
+ this.sashes[i].container.style.left = `${newSize}px`;
1368
+ this.sashes[i].container.style.top = `0px`;
1369
+ }
1370
+ if (this._orientation === exports.Orientation.VERTICAL) {
1371
+ this.sashes[i].container.style.left = `0px`;
1372
+ this.sashes[i].container.style.top = `${newSize}px`;
1373
+ }
1374
+ }
1375
+ // calculate view position
1346
1376
  if (this._orientation === exports.Orientation.HORIZONTAL) {
1347
1377
  view.container.style.width = `${size}px`;
1348
1378
  view.container.style.left = `${offset}px`;
@@ -2686,6 +2716,9 @@ class BaseGrid extends Resizable {
2686
2716
  this.onDidViewVisibilityChangeMicroTaskQueue = this._onDidViewVisibilityChangeMicroTaskQueue.onEvent;
2687
2717
  this.element.style.height = '100%';
2688
2718
  this.element.style.width = '100%';
2719
+ if (typeof options.className === 'string') {
2720
+ this.element.classList.add(options.className);
2721
+ }
2689
2722
  options.parentElement.appendChild(this.element);
2690
2723
  this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation, options.locked, options.margin);
2691
2724
  this.gridview.locked = !!options.locked;
@@ -2889,12 +2922,6 @@ class SplitviewApi {
2889
2922
  constructor(component) {
2890
2923
  this.component = component;
2891
2924
  }
2892
- /**
2893
- * Update configuratable options.
2894
- */
2895
- updateOptions(options) {
2896
- this.component.updateOptions(options);
2897
- }
2898
2925
  /**
2899
2926
  * Removes an existing panel and optionally provide a `Sizing` method
2900
2927
  * for the subsequent resize.
@@ -2948,6 +2975,18 @@ class SplitviewApi {
2948
2975
  clear() {
2949
2976
  this.component.clear();
2950
2977
  }
2978
+ /**
2979
+ * Update configuratable options.
2980
+ */
2981
+ updateOptions(options) {
2982
+ this.component.updateOptions(options);
2983
+ }
2984
+ /**
2985
+ * Release resources and teardown component. Do not call when using framework versions of dockview.
2986
+ */
2987
+ dispose() {
2988
+ this.component.dispose();
2989
+ }
2951
2990
  }
2952
2991
  class PaneviewApi {
2953
2992
  /**
@@ -3075,6 +3114,18 @@ class PaneviewApi {
3075
3114
  clear() {
3076
3115
  this.component.clear();
3077
3116
  }
3117
+ /**
3118
+ * Update configuratable options.
3119
+ */
3120
+ updateOptions(options) {
3121
+ this.component.updateOptions(options);
3122
+ }
3123
+ /**
3124
+ * Release resources and teardown component. Do not call when using framework versions of dockview.
3125
+ */
3126
+ dispose() {
3127
+ this.component.dispose();
3128
+ }
3078
3129
  }
3079
3130
  class GridviewApi {
3080
3131
  /**
@@ -3215,6 +3266,15 @@ class GridviewApi {
3215
3266
  clear() {
3216
3267
  this.component.clear();
3217
3268
  }
3269
+ updateOptions(options) {
3270
+ this.component.updateOptions(options);
3271
+ }
3272
+ /**
3273
+ * Release resources and teardown component. Do not call when using framework versions of dockview.
3274
+ */
3275
+ dispose() {
3276
+ this.component.dispose();
3277
+ }
3218
3278
  }
3219
3279
  class DockviewApi {
3220
3280
  /**
@@ -3507,6 +3567,15 @@ class DockviewApi {
3507
3567
  setGap(gap) {
3508
3568
  this.component.updateOptions({ gap });
3509
3569
  }
3570
+ updateOptions(options) {
3571
+ this.component.updateOptions(options);
3572
+ }
3573
+ /**
3574
+ * Release resources and teardown component. Do not call when using framework versions of dockview.
3575
+ */
3576
+ dispose() {
3577
+ this.component.dispose();
3578
+ }
3510
3579
  }
3511
3580
 
3512
3581
  class DragHandler extends CompositeDisposable {
@@ -3529,20 +3598,12 @@ class DragHandler extends CompositeDisposable {
3529
3598
  event.preventDefault();
3530
3599
  return;
3531
3600
  }
3532
- const iframes = [
3533
- ...getElementsByTagName('iframe'),
3534
- ...getElementsByTagName('webview'),
3535
- ];
3601
+ const iframes = disableIframePointEvents();
3536
3602
  this.pointerEventsDisposable.value = {
3537
3603
  dispose: () => {
3538
- for (const iframe of iframes) {
3539
- iframe.style.pointerEvents = 'auto';
3540
- }
3604
+ iframes.release();
3541
3605
  },
3542
3606
  };
3543
- for (const iframe of iframes) {
3544
- iframe.style.pointerEvents = 'none';
3545
- }
3546
3607
  this.el.classList.add('dv-dragged');
3547
3608
  setTimeout(() => this.el.classList.remove('dv-dragged'), 0);
3548
3609
  this.dataDisposable.value = this.getData(event);
@@ -4706,7 +4767,7 @@ class VoidContainer extends CompositeDisposable {
4706
4767
  this._element.className = 'void-container';
4707
4768
  this._element.tabIndex = 0;
4708
4769
  this._element.draggable = true;
4709
- this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, 'click', () => {
4770
+ this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, 'pointerdown', () => {
4710
4771
  this.accessor.doSetGroupActive(this.group);
4711
4772
  }));
4712
4773
  const handler = new GroupDragHandler(this._element, accessor, group);
@@ -5021,6 +5082,7 @@ const PROPERTY_KEYS = (() => {
5021
5082
  locked: undefined,
5022
5083
  disableDnd: undefined,
5023
5084
  gap: undefined,
5085
+ className: undefined,
5024
5086
  };
5025
5087
  return Object.keys(properties);
5026
5088
  })();
@@ -5576,7 +5638,7 @@ class DockviewGroupPanelModel extends CompositeDisposable {
5576
5638
  group: this.groupPanel,
5577
5639
  });
5578
5640
  this.watermark = watermark;
5579
- addDisposableListener(this.watermark.element, 'click', () => {
5641
+ addDisposableListener(this.watermark.element, 'pointerdown', () => {
5580
5642
  if (!this.isActive) {
5581
5643
  this.accessor.doSetGroupActive(this.groupPanel);
5582
5644
  }
@@ -6141,7 +6203,7 @@ class DockviewPanel extends CompositeDisposable {
6141
6203
  // forward the resize event to the group since if you want to resize a panel
6142
6204
  // you are actually just resizing the panels parent which is the group
6143
6205
  this.group.api.setSize(event);
6144
- }), this.api.onDidRendererChange((event) => {
6206
+ }), this.api.onDidRendererChange(() => {
6145
6207
  this.group.model.rerender(this);
6146
6208
  }));
6147
6209
  }
@@ -6477,17 +6539,30 @@ class Watermark extends CompositeDisposable {
6477
6539
  }
6478
6540
  }
6479
6541
 
6480
- const bringElementToFront = (() => {
6481
- let previous = null;
6482
- function pushToTop(element) {
6483
- if (previous !== element && previous !== null) {
6484
- toggleClass(previous, 'dv-bring-to-front', false);
6542
+ const DEFAULT_OVERLAY_Z_INDEX = 999;
6543
+ class AriaLevelTracker {
6544
+ constructor() {
6545
+ this._orderedList = [];
6546
+ }
6547
+ push(element) {
6548
+ this._orderedList = [
6549
+ ...this._orderedList.filter((item) => item !== element),
6550
+ element,
6551
+ ];
6552
+ this.update();
6553
+ }
6554
+ destroy(element) {
6555
+ this._orderedList = this._orderedList.filter((item) => item !== element);
6556
+ this.update();
6557
+ }
6558
+ update() {
6559
+ for (let i = 0; i < this._orderedList.length; i++) {
6560
+ this._orderedList[i].setAttribute('aria-level', `${i}`);
6561
+ this._orderedList[i].style.zIndex = `${DEFAULT_OVERLAY_Z_INDEX + i * 2}`;
6485
6562
  }
6486
- toggleClass(element, 'dv-bring-to-front', true);
6487
- previous = element;
6488
6563
  }
6489
- return pushToTop;
6490
- })();
6564
+ }
6565
+ const arialLevelTracker = new AriaLevelTracker();
6491
6566
  class Overlay extends CompositeDisposable {
6492
6567
  set minimumInViewportWidth(value) {
6493
6568
  this.options.minimumInViewportWidth = value;
@@ -6495,6 +6570,9 @@ class Overlay extends CompositeDisposable {
6495
6570
  set minimumInViewportHeight(value) {
6496
6571
  this.options.minimumInViewportHeight = value;
6497
6572
  }
6573
+ get element() {
6574
+ return this._element;
6575
+ }
6498
6576
  constructor(options) {
6499
6577
  super();
6500
6578
  this.options = options;
@@ -6517,6 +6595,10 @@ class Overlay extends CompositeDisposable {
6517
6595
  this.options.container.appendChild(this._element);
6518
6596
  // if input bad resize within acceptable boundaries
6519
6597
  this.setBounds(Object.assign(Object.assign(Object.assign(Object.assign({ height: this.options.height, width: this.options.width }, ('top' in this.options && { top: this.options.top })), ('bottom' in this.options && { bottom: this.options.bottom })), ('left' in this.options && { left: this.options.left })), ('right' in this.options && { right: this.options.right })));
6598
+ arialLevelTracker.push(this._element);
6599
+ }
6600
+ bringToFront() {
6601
+ arialLevelTracker.push(this._element);
6520
6602
  }
6521
6603
  setBounds(bounds = {}) {
6522
6604
  if (typeof bounds.height === 'number') {
@@ -6604,18 +6686,10 @@ class Overlay extends CompositeDisposable {
6604
6686
  const move = new MutableDisposable();
6605
6687
  const track = () => {
6606
6688
  let offset = null;
6607
- const iframes = [
6608
- ...getElementsByTagName('iframe'),
6609
- ...getElementsByTagName('webview'),
6610
- ];
6611
- for (const iframe of iframes) {
6612
- iframe.style.pointerEvents = 'none';
6613
- }
6689
+ const iframes = disableIframePointEvents();
6614
6690
  move.value = new CompositeDisposable({
6615
6691
  dispose: () => {
6616
- for (const iframe of iframes) {
6617
- iframe.style.pointerEvents = 'auto';
6618
- }
6692
+ iframes.release();
6619
6693
  },
6620
6694
  }, addDisposableWindowListener(window, 'mousemove', (e) => {
6621
6695
  const containerRect = this.options.container.getBoundingClientRect();
@@ -6684,9 +6758,8 @@ class Overlay extends CompositeDisposable {
6684
6758
  track();
6685
6759
  }
6686
6760
  }), addDisposableListener(this.options.content, 'mousedown', () => {
6687
- bringElementToFront(this._element);
6761
+ arialLevelTracker.push(this._element);
6688
6762
  }, true));
6689
- bringElementToFront(this._element);
6690
6763
  if (options.inDragMode) {
6691
6764
  track();
6692
6765
  }
@@ -6699,13 +6772,7 @@ class Overlay extends CompositeDisposable {
6699
6772
  this.addDisposables(move, addDisposableListener(resizeHandleElement, 'mousedown', (e) => {
6700
6773
  e.preventDefault();
6701
6774
  let startPosition = null;
6702
- const iframes = [
6703
- ...getElementsByTagName('iframe'),
6704
- ...getElementsByTagName('webview'),
6705
- ];
6706
- for (const iframe of iframes) {
6707
- iframe.style.pointerEvents = 'none';
6708
- }
6775
+ const iframes = disableIframePointEvents();
6709
6776
  move.value = new CompositeDisposable(addDisposableWindowListener(window, 'mousemove', (e) => {
6710
6777
  const containerRect = this.options.container.getBoundingClientRect();
6711
6778
  const overlayRect = this._element.getBoundingClientRect();
@@ -6828,9 +6895,7 @@ class Overlay extends CompositeDisposable {
6828
6895
  this.setBounds(bounds);
6829
6896
  }), {
6830
6897
  dispose: () => {
6831
- for (const iframe of iframes) {
6832
- iframe.style.pointerEvents = 'auto';
6833
- }
6898
+ iframes.release();
6834
6899
  },
6835
6900
  }, addDisposableWindowListener(window, 'mouseup', () => {
6836
6901
  move.dispose();
@@ -6851,6 +6916,7 @@ class Overlay extends CompositeDisposable {
6851
6916
  return 0;
6852
6917
  }
6853
6918
  dispose() {
6919
+ arialLevelTracker.destroy(this._element);
6854
6920
  this._element.remove();
6855
6921
  super.dispose();
6856
6922
  }
@@ -6879,9 +6945,10 @@ function createFocusableElement() {
6879
6945
  return element;
6880
6946
  }
6881
6947
  class OverlayRenderContainer extends CompositeDisposable {
6882
- constructor(element) {
6948
+ constructor(element, accessor) {
6883
6949
  super();
6884
6950
  this.element = element;
6951
+ this.accessor = accessor;
6885
6952
  this.map = {};
6886
6953
  this._disposed = false;
6887
6954
  this.addDisposables(exports.DockviewDisposable.from(() => {
@@ -6937,7 +7004,35 @@ class OverlayRenderContainer extends CompositeDisposable {
6937
7004
  }
6938
7005
  focusContainer.style.display = panel.api.isVisible ? '' : 'none';
6939
7006
  };
6940
- const disposable = new CompositeDisposable(
7007
+ const observerDisposable = new MutableDisposable();
7008
+ const correctLayerPosition = () => {
7009
+ if (panel.api.location.type === 'floating') {
7010
+ queueMicrotask(() => {
7011
+ const floatingGroup = this.accessor.floatingGroups.find((group) => group.group === panel.api.group);
7012
+ if (!floatingGroup) {
7013
+ return;
7014
+ }
7015
+ const element = floatingGroup.overlay.element;
7016
+ const update = () => {
7017
+ const level = Number(element.getAttribute('aria-level'));
7018
+ focusContainer.style.zIndex = `${DEFAULT_OVERLAY_Z_INDEX + level * 2 + 1}`;
7019
+ };
7020
+ const observer = new MutationObserver(() => {
7021
+ update();
7022
+ });
7023
+ observerDisposable.value = exports.DockviewDisposable.from(() => observer.disconnect());
7024
+ observer.observe(element, {
7025
+ attributeFilter: ['aria-level'],
7026
+ attributes: true,
7027
+ });
7028
+ update();
7029
+ });
7030
+ }
7031
+ else {
7032
+ focusContainer.style.zIndex = ''; // reset the z-index, perhaps CSS will take over here
7033
+ }
7034
+ };
7035
+ const disposable = new CompositeDisposable(observerDisposable,
6941
7036
  /**
6942
7037
  * since container is positioned absoutely we must explicitly forward
6943
7038
  * the dnd events for the expect behaviours to continue to occur in terms of dnd
@@ -6961,7 +7056,7 @@ class OverlayRenderContainer extends CompositeDisposable {
6961
7056
  onDragOver: (e) => {
6962
7057
  referenceContainer.dropTarget.dnd.onDragOver(e);
6963
7058
  },
6964
- }), panel.api.onDidVisibilityChange((event) => {
7059
+ }), panel.api.onDidVisibilityChange(() => {
6965
7060
  /**
6966
7061
  * Control the visibility of the content, however even when not visible (display: none)
6967
7062
  * the content is still maintained within the DOM hence DOM specific attributes
@@ -6973,6 +7068,8 @@ class OverlayRenderContainer extends CompositeDisposable {
6973
7068
  return;
6974
7069
  }
6975
7070
  resize();
7071
+ }), panel.api.onDidLocationChange(() => {
7072
+ correctLayerPosition();
6976
7073
  }));
6977
7074
  this.map[panel.api.id].destroy = exports.DockviewDisposable.from(() => {
6978
7075
  var _a;
@@ -6981,6 +7078,7 @@ class OverlayRenderContainer extends CompositeDisposable {
6981
7078
  }
6982
7079
  (_a = focusContainer.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(focusContainer);
6983
7080
  });
7081
+ correctLayerPosition();
6984
7082
  queueMicrotask(() => {
6985
7083
  if (this.isDisposed) {
6986
7084
  return;
@@ -7229,7 +7327,10 @@ class DockviewComponent extends BaseGrid {
7229
7327
  get gap() {
7230
7328
  return this.gridview.margin;
7231
7329
  }
7232
- constructor(options) {
7330
+ get floatingGroups() {
7331
+ return this._floatingGroups;
7332
+ }
7333
+ constructor(parentElement, options) {
7233
7334
  var _a;
7234
7335
  super({
7235
7336
  proportionalLayout: true,
@@ -7237,10 +7338,11 @@ class DockviewComponent extends BaseGrid {
7237
7338
  styles: options.hideBorders
7238
7339
  ? { separatorBorder: 'transparent' }
7239
7340
  : undefined,
7240
- parentElement: options.parentElement,
7341
+ parentElement: parentElement,
7241
7342
  disableAutoResizing: options.disableAutoResizing,
7242
7343
  locked: options.locked,
7243
7344
  margin: options.gap,
7345
+ className: options.className,
7244
7346
  });
7245
7347
  this.nextGroupId = sequentialNumberGenerator();
7246
7348
  this._deserializer = new DefaultDockviewDeserialzier(this);
@@ -7276,10 +7378,10 @@ class DockviewComponent extends BaseGrid {
7276
7378
  this._onDidActiveGroupChange = new Emitter();
7277
7379
  this.onDidActiveGroupChange = this._onDidActiveGroupChange.event;
7278
7380
  this._moving = false;
7279
- const gready = document.createElement('div');
7280
- gready.className = 'dv-overlay-render-container';
7281
- this.gridview.element.appendChild(gready);
7282
- this.overlayRenderContainer = new OverlayRenderContainer(gready);
7381
+ // const gready = document.createElement('div');
7382
+ // gready.className = 'dv-overlay-render-container';
7383
+ // this.gridview.element.appendChild(gready);
7384
+ this.overlayRenderContainer = new OverlayRenderContainer(this.gridview.element, this);
7283
7385
  toggleClass(this.gridview.element, 'dv-dockview', true);
7284
7386
  toggleClass(this.element, 'dv-debug', !!options.debug);
7285
7387
  this.addDisposables(this.overlayRenderContainer, this._onWillDragPanel, this._onWillDragGroup, this._onWillShowOverlay, this._onDidActivePanelChange, this._onDidAddPanel, this._onDidRemovePanel, this._onDidLayoutFromJSON, this._onDidDrop, this._onWillDrop, this._onDidMovePanel, this._onDidAddGroup, this._onDidRemoveGroup, this._onDidActiveGroupChange, this._onUnhandledDragOverEvent, this.onDidViewVisibilityChangeMicroTaskQueue(() => {
@@ -7445,7 +7547,7 @@ class DockviewComponent extends BaseGrid {
7445
7547
  }
7446
7548
  const gready = document.createElement('div');
7447
7549
  gready.className = 'dv-overlay-render-container';
7448
- const overlayRenderContainer = new OverlayRenderContainer(gready);
7550
+ const overlayRenderContainer = new OverlayRenderContainer(gready, this);
7449
7551
  const referenceGroup = itemToPopout instanceof DockviewPanel
7450
7552
  ? itemToPopout.group
7451
7553
  : itemToPopout;
@@ -7594,7 +7696,6 @@ class DockviewComponent extends BaseGrid {
7594
7696
  }
7595
7697
  }
7596
7698
  }
7597
- group.model.location = { type: 'floating' };
7598
7699
  function getAnchoredBox() {
7599
7700
  if (options === null || options === void 0 ? void 0 : options.position) {
7600
7701
  const result = {};
@@ -7661,10 +7762,14 @@ class DockviewComponent extends BaseGrid {
7661
7762
  : false,
7662
7763
  });
7663
7764
  const floatingGroupPanel = new DockviewFloatingGroupPanel(group, overlay);
7664
- const disposable = watchElementResize(group.element, (entry) => {
7765
+ const disposable = new CompositeDisposable(group.api.onDidActiveChange((event) => {
7766
+ if (event.isActive) {
7767
+ overlay.bringToFront();
7768
+ }
7769
+ }), watchElementResize(group.element, (entry) => {
7665
7770
  const { width, height } = entry.contentRect;
7666
7771
  group.layout(width, height); // let the group know it's size is changing so it can fire events to the panel
7667
- });
7772
+ }));
7668
7773
  floatingGroupPanel.addDisposables(overlay.onDidChange(() => {
7669
7774
  // this is either a resize or a move
7670
7775
  // to inform the panels .layout(...) the group with it's current size
@@ -7680,12 +7785,13 @@ class DockviewComponent extends BaseGrid {
7680
7785
  }), {
7681
7786
  dispose: () => {
7682
7787
  disposable.dispose();
7683
- group.model.location = { type: 'grid' };
7684
7788
  remove(this._floatingGroups, floatingGroupPanel);
7789
+ group.model.location = { type: 'grid' };
7685
7790
  this.updateWatermark();
7686
7791
  },
7687
7792
  });
7688
7793
  this._floatingGroups.push(floatingGroupPanel);
7794
+ group.model.location = { type: 'floating' };
7689
7795
  if (!(options === null || options === void 0 ? void 0 : options.skipActiveGroup)) {
7690
7796
  this.doSetGroupAndPanelActive(group);
7691
7797
  }
@@ -7925,6 +8031,8 @@ class DockviewComponent extends BaseGrid {
7925
8031
  const group = createGroupFromSerializedState(data);
7926
8032
  this.addFloatingGroup(group, {
7927
8033
  position: position,
8034
+ width: position.width,
8035
+ height: position.height,
7928
8036
  skipRemoveGroup: true,
7929
8037
  inDragMode: false,
7930
8038
  });
@@ -8265,6 +8373,7 @@ class DockviewComponent extends BaseGrid {
8265
8373
  this._groups.delete(group.id);
8266
8374
  this._onDidRemoveGroup.fire(group);
8267
8375
  }
8376
+ remove(this._popoutGroups, selectedGroup);
8268
8377
  const removedGroup = selectedGroup.disposable.dispose();
8269
8378
  if (!(options === null || options === void 0 ? void 0 : options.skipPopoutReturn) && removedGroup) {
8270
8379
  this.doAddGroup(removedGroup, [0]);
@@ -8376,6 +8485,31 @@ class DockviewComponent extends BaseGrid {
8376
8485
  return;
8377
8486
  }
8378
8487
  }
8488
+ if (sourceGroup.api.location.type === 'popout') {
8489
+ /**
8490
+ * the source group is a popout group with a single panel
8491
+ *
8492
+ * 1. remove the panel from the group without triggering any events
8493
+ * 2. remove the popout group
8494
+ * 3. create a new group at the requested location and add that panel
8495
+ */
8496
+ const popoutGroup = this._popoutGroups.find((group) => group.popoutGroup === sourceGroup);
8497
+ const removedPanel = this.movingLock(() => popoutGroup.popoutGroup.model.removePanel(popoutGroup.popoutGroup.panels[0], {
8498
+ skipSetActive: true,
8499
+ skipSetActiveGroup: true,
8500
+ }));
8501
+ this.doRemoveGroup(sourceGroup, { skipActive: true });
8502
+ const newGroup = this.createGroupAtLocation(targetLocation);
8503
+ this.movingLock(() => newGroup.model.openPanel(removedPanel, {
8504
+ skipSetActive: true,
8505
+ }));
8506
+ this.doSetGroupAndPanelActive(newGroup);
8507
+ this._onDidMovePanel.fire({
8508
+ panel: this.getGroupPanel(sourceItemId),
8509
+ from: sourceGroup,
8510
+ });
8511
+ return;
8512
+ }
8379
8513
  // source group will become empty so delete the group
8380
8514
  const targetGroup = this.movingLock(() => this.doRemoveGroup(sourceGroup, {
8381
8515
  skipActive: true,
@@ -8607,13 +8741,14 @@ class GridviewComponent extends BaseGrid {
8607
8741
  set deserializer(value) {
8608
8742
  this._deserializer = value;
8609
8743
  }
8610
- constructor(options) {
8744
+ constructor(parentElement, options) {
8611
8745
  super({
8612
- parentElement: options.parentElement,
8746
+ parentElement: parentElement,
8613
8747
  proportionalLayout: options.proportionalLayout,
8614
8748
  orientation: options.orientation,
8615
8749
  styles: options.styles,
8616
8750
  disableAutoResizing: options.disableAutoResizing,
8751
+ className: options.className,
8617
8752
  });
8618
8753
  this._onDidLayoutfromJSON = new Emitter();
8619
8754
  this.onDidLayoutFromJSON = this._onDidLayoutfromJSON.event;
@@ -8905,8 +9040,8 @@ class SplitviewComponent extends Resizable {
8905
9040
  ? this.splitview.size
8906
9041
  : this.splitview.orthogonalSize;
8907
9042
  }
8908
- constructor(options) {
8909
- super(options.parentElement, options.disableAutoResizing);
9043
+ constructor(parentElement, options) {
9044
+ super(parentElement, options.disableAutoResizing);
8910
9045
  this._splitviewChangeDisposable = new MutableDisposable();
8911
9046
  this._panels = new Map();
8912
9047
  this._onDidLayoutfromJSON = new Emitter();
@@ -8917,6 +9052,9 @@ class SplitviewComponent extends Resizable {
8917
9052
  this.onDidRemoveView = this._onDidRemoveView.event;
8918
9053
  this._onDidLayoutChange = new Emitter();
8919
9054
  this.onDidLayoutChange = this._onDidLayoutChange.event;
9055
+ if (typeof options.className === 'string') {
9056
+ this.element.classList.add(options.className);
9057
+ }
8920
9058
  this._options = options;
8921
9059
  if (!options.components) {
8922
9060
  options.components = {};
@@ -9229,8 +9367,8 @@ class PaneviewComponent extends Resizable {
9229
9367
  get options() {
9230
9368
  return this._options;
9231
9369
  }
9232
- constructor(options) {
9233
- super(options.parentElement, options.disableAutoResizing);
9370
+ constructor(parentElement, options) {
9371
+ super(parentElement, options.disableAutoResizing);
9234
9372
  this._id = nextLayoutId.next();
9235
9373
  this._disposable = new MutableDisposable();
9236
9374
  this._viewDisposables = new Map();
@@ -9244,6 +9382,9 @@ class PaneviewComponent extends Resizable {
9244
9382
  this.onDidAddView = this._onDidAddView.event;
9245
9383
  this._onDidRemoveView = new Emitter();
9246
9384
  this.onDidRemoveView = this._onDidRemoveView.event;
9385
+ if (typeof options.className === 'string') {
9386
+ this.element.classList.add(options.className);
9387
+ }
9247
9388
  this.addDisposables(this._onDidLayoutChange, this._onDidLayoutfromJSON, this._onDidDrop, this._onDidAddView, this._onDidRemoveView);
9248
9389
  this._options = options;
9249
9390
  if (!options.components) {
@@ -9559,6 +9700,23 @@ class SplitviewPanel extends BasePanelView {
9559
9700
  }
9560
9701
  }
9561
9702
 
9703
+ function createDockview(element, options) {
9704
+ const component = new DockviewComponent(element, options);
9705
+ return component.api;
9706
+ }
9707
+ function createSplitview(element, options) {
9708
+ const component = new SplitviewComponent(element, options);
9709
+ return new SplitviewApi(component);
9710
+ }
9711
+ function createGridview(element, options) {
9712
+ const component = new GridviewComponent(element, options);
9713
+ return new GridviewApi(component);
9714
+ }
9715
+ function createPaneview(element, options) {
9716
+ const component = new PaneviewComponent(element, options);
9717
+ return new PaneviewApi(component);
9718
+ }
9719
+
9562
9720
  exports.BaseGrid = BaseGrid;
9563
9721
  exports.ContentContainer = ContentContainer;
9564
9722
  exports.DefaultDockviewDeserialzier = DefaultDockviewDeserialzier;
@@ -9595,6 +9753,10 @@ exports.SplitviewPanel = SplitviewPanel;
9595
9753
  exports.Tab = Tab;
9596
9754
  exports.WillShowOverlayLocationEvent = WillShowOverlayLocationEvent;
9597
9755
  exports.createComponent = createComponent;
9756
+ exports.createDockview = createDockview;
9757
+ exports.createGridview = createGridview;
9758
+ exports.createPaneview = createPaneview;
9759
+ exports.createSplitview = createSplitview;
9598
9760
  exports.directionToPosition = directionToPosition;
9599
9761
  exports.getDirectionOrientation = getDirectionOrientation;
9600
9762
  exports.getGridLocation = getGridLocation;