dockview-core 1.15.3 → 1.16.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 (99) hide show
  1. package/dist/cjs/api/component.api.d.ts +32 -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 +60 -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 +5 -2
  21. package/dist/cjs/gridview/baseComponentGridview.js +54 -3
  22. package/dist/cjs/gridview/gridviewComponent.d.ts +3 -4
  23. package/dist/cjs/gridview/gridviewComponent.js +4 -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 +2 -1
  33. package/dist/cjs/paneview/paneviewComponent.js +68 -19
  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 +5 -5
  37. package/dist/cjs/splitview/splitviewComponent.js +70 -21
  38. package/dist/dockview-core.amd.js +301 -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 +300 -97
  45. package/dist/dockview-core.amd.noStyle.js.map +1 -1
  46. package/dist/dockview-core.cjs.js +301 -98
  47. package/dist/dockview-core.cjs.js.map +1 -1
  48. package/dist/dockview-core.esm.js +298 -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 +301 -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 +300 -97
  59. package/dist/dockview-core.noStyle.js.map +1 -1
  60. package/dist/esm/api/component.api.d.ts +32 -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 +48 -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 +5 -2
  81. package/dist/esm/gridview/baseComponentGridview.js +19 -0
  82. package/dist/esm/gridview/gridviewComponent.d.ts +3 -4
  83. package/dist/esm/gridview/gridviewComponent.js +4 -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 +2 -1
  93. package/dist/esm/paneview/paneviewComponent.js +19 -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 +5 -5
  97. package/dist/esm/splitview/splitviewComponent.js +19 -2
  98. package/dist/styles/dockview.css +78 -82
  99. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * dockview-core
3
- * @version 1.15.3
3
+ * @version 1.16.1
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -31,7 +31,7 @@ function styleInject(css, ref) {
31
31
  }
32
32
  }
33
33
 
34
- 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: 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}";
34
+ 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}";
35
35
  styleInject(css_248z);
36
36
 
37
37
  class TransferObject {
@@ -559,6 +559,26 @@ function isInDocument(element) {
559
559
  function addTestId(element, id) {
560
560
  element.setAttribute('data-testid', id);
561
561
  }
562
+ function disableIframePointEvents() {
563
+ const iframes = [
564
+ ...getElementsByTagName('iframe'),
565
+ ...getElementsByTagName('webview'),
566
+ ];
567
+ const original = new WeakMap(); // don't hold onto HTMLElement references longer than required
568
+ for (const iframe of iframes) {
569
+ original.set(iframe, iframe.style.pointerEvents);
570
+ iframe.style.pointerEvents = 'none';
571
+ }
572
+ return {
573
+ release: () => {
574
+ var _a;
575
+ for (const iframe of iframes) {
576
+ iframe.style.pointerEvents = (_a = original.get(iframe)) !== null && _a !== void 0 ? _a : 'auto';
577
+ }
578
+ iframes.splice(0, iframes.length); // don't hold onto HTMLElement references longer than required
579
+ },
580
+ };
581
+ }
562
582
 
563
583
  function tail(arr) {
564
584
  if (arr.length === 0) {
@@ -1081,13 +1101,7 @@ class Splitview {
1081
1101
  for (const item of this.viewItems) {
1082
1102
  item.enabled = false;
1083
1103
  }
1084
- const iframes = [
1085
- ...getElementsByTagName('iframe'),
1086
- ...getElementsByTagName('webview'),
1087
- ];
1088
- for (const iframe of iframes) {
1089
- iframe.style.pointerEvents = 'none';
1090
- }
1104
+ const iframes = disableIframePointEvents();
1091
1105
  const start = this._orientation === Orientation.HORIZONTAL
1092
1106
  ? event.clientX
1093
1107
  : event.clientY;
@@ -1149,9 +1163,7 @@ class Splitview {
1149
1163
  for (const item of this.viewItems) {
1150
1164
  item.enabled = true;
1151
1165
  }
1152
- for (const iframe of iframes) {
1153
- iframe.style.pointerEvents = 'auto';
1154
- }
1166
+ iframes.release();
1155
1167
  this.saveProportions();
1156
1168
  document.removeEventListener('pointermove', onPointerMove);
1157
1169
  document.removeEventListener('pointerup', end);
@@ -1318,29 +1330,47 @@ class Splitview {
1318
1330
  if (this.viewItems.length === 0) {
1319
1331
  return;
1320
1332
  }
1321
- const sashCount = this.viewItems.length - 1;
1322
- const marginReducedSize = (this.margin * sashCount) / this.viewItems.length;
1333
+ const visibleViewItems = this.viewItems.filter((i) => i.visible);
1334
+ const sashCount = Math.max(0, visibleViewItems.length - 1);
1335
+ const marginReducedSize = (this.margin * sashCount) / Math.max(1, visibleViewItems.length);
1323
1336
  let totalLeftOffset = 0;
1324
1337
  const viewLeftOffsets = [];
1325
- for (let i = 0; i < this.viewItems.length - 1; i++) {
1326
- totalLeftOffset += this.viewItems[i].size;
1327
- viewLeftOffsets.push(totalLeftOffset);
1328
- const offset = Math.min(Math.max(0, totalLeftOffset - 2), this.size - this.margin);
1329
- if (this._orientation === Orientation.HORIZONTAL) {
1330
- this.sashes[i].container.style.left = `${offset}px`;
1331
- this.sashes[i].container.style.top = `0px`;
1338
+ const sashWidth = 4; // hardcoded in css
1339
+ const runningVisiblePanelCount = this.viewItems.reduce((arr, viewItem, i) => {
1340
+ const flag = viewItem.visible ? 1 : 0;
1341
+ if (i === 0) {
1342
+ arr.push(flag);
1332
1343
  }
1333
- if (this._orientation === Orientation.VERTICAL) {
1334
- this.sashes[i].container.style.left = `0px`;
1335
- this.sashes[i].container.style.top = `${offset}px`;
1344
+ else {
1345
+ arr.push(arr[i - 1] + flag);
1336
1346
  }
1337
- }
1347
+ return arr;
1348
+ }, []);
1349
+ // calculate both view and cash positions
1338
1350
  this.viewItems.forEach((view, i) => {
1339
- const size = view.size - marginReducedSize;
1340
- const offset = i === 0
1351
+ totalLeftOffset += this.viewItems[i].size;
1352
+ viewLeftOffsets.push(totalLeftOffset);
1353
+ const size = view.visible ? view.size - marginReducedSize : 0;
1354
+ const visiblePanelsBeforeThisView = Math.max(0, runningVisiblePanelCount[i] - 1);
1355
+ const offset = i === 0 || visiblePanelsBeforeThisView === 0
1341
1356
  ? 0
1342
1357
  : viewLeftOffsets[i - 1] +
1343
- (i / sashCount) * marginReducedSize;
1358
+ (visiblePanelsBeforeThisView / sashCount) * marginReducedSize;
1359
+ if (i < this.viewItems.length - 1) {
1360
+ // calculate sash position
1361
+ const newSize = view.visible
1362
+ ? offset + size - sashWidth / 2 + this.margin / 2
1363
+ : offset;
1364
+ if (this._orientation === Orientation.HORIZONTAL) {
1365
+ this.sashes[i].container.style.left = `${newSize}px`;
1366
+ this.sashes[i].container.style.top = `0px`;
1367
+ }
1368
+ if (this._orientation === Orientation.VERTICAL) {
1369
+ this.sashes[i].container.style.left = `0px`;
1370
+ this.sashes[i].container.style.top = `${newSize}px`;
1371
+ }
1372
+ }
1373
+ // calculate view position
1344
1374
  if (this._orientation === Orientation.HORIZONTAL) {
1345
1375
  view.container.style.width = `${size}px`;
1346
1376
  view.container.style.left = `${offset}px`;
@@ -2669,6 +2699,7 @@ class BaseGrid extends Resizable {
2669
2699
  this.gridview.locked = value;
2670
2700
  }
2671
2701
  constructor(options) {
2702
+ var _a, _b;
2672
2703
  super(document.createElement('div'), options.disableAutoResizing);
2673
2704
  this._id = nextLayoutId$1.next();
2674
2705
  this._groups = new Map();
@@ -2682,8 +2713,13 @@ class BaseGrid extends Resizable {
2682
2713
  this.onDidLayoutChange = this._bufferOnDidLayoutChange.onEvent;
2683
2714
  this._onDidViewVisibilityChangeMicroTaskQueue = new AsapEvent();
2684
2715
  this.onDidViewVisibilityChangeMicroTaskQueue = this._onDidViewVisibilityChangeMicroTaskQueue.onEvent;
2716
+ this.classNames = [];
2685
2717
  this.element.style.height = '100%';
2686
2718
  this.element.style.width = '100%';
2719
+ this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
2720
+ for (const className of this.classNames) {
2721
+ toggleClass(this.element, className, true);
2722
+ }
2687
2723
  options.parentElement.appendChild(this.element);
2688
2724
  this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation, options.locked, options.margin);
2689
2725
  this.gridview.locked = !!options.locked;
@@ -2707,6 +2743,18 @@ class BaseGrid extends Resizable {
2707
2743
  isVisible(panel) {
2708
2744
  return this.gridview.isViewVisible(getGridLocation(panel.element));
2709
2745
  }
2746
+ updateOptions(options) {
2747
+ var _a, _b;
2748
+ if ('className' in options) {
2749
+ for (const className of this.classNames) {
2750
+ toggleClass(this.element, className, false);
2751
+ }
2752
+ this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
2753
+ for (const className of this.classNames) {
2754
+ toggleClass(this.element, className, true);
2755
+ }
2756
+ }
2757
+ }
2710
2758
  maximizeGroup(panel) {
2711
2759
  this.gridview.maximizeView(panel);
2712
2760
  this.doSetGroupActive(panel);
@@ -2887,12 +2935,6 @@ class SplitviewApi {
2887
2935
  constructor(component) {
2888
2936
  this.component = component;
2889
2937
  }
2890
- /**
2891
- * Update configuratable options.
2892
- */
2893
- updateOptions(options) {
2894
- this.component.updateOptions(options);
2895
- }
2896
2938
  /**
2897
2939
  * Removes an existing panel and optionally provide a `Sizing` method
2898
2940
  * for the subsequent resize.
@@ -2946,6 +2988,18 @@ class SplitviewApi {
2946
2988
  clear() {
2947
2989
  this.component.clear();
2948
2990
  }
2991
+ /**
2992
+ * Update configuratable options.
2993
+ */
2994
+ updateOptions(options) {
2995
+ this.component.updateOptions(options);
2996
+ }
2997
+ /**
2998
+ * Release resources and teardown component. Do not call when using framework versions of dockview.
2999
+ */
3000
+ dispose() {
3001
+ this.component.dispose();
3002
+ }
2949
3003
  }
2950
3004
  class PaneviewApi {
2951
3005
  /**
@@ -3073,6 +3127,18 @@ class PaneviewApi {
3073
3127
  clear() {
3074
3128
  this.component.clear();
3075
3129
  }
3130
+ /**
3131
+ * Update configuratable options.
3132
+ */
3133
+ updateOptions(options) {
3134
+ this.component.updateOptions(options);
3135
+ }
3136
+ /**
3137
+ * Release resources and teardown component. Do not call when using framework versions of dockview.
3138
+ */
3139
+ dispose() {
3140
+ this.component.dispose();
3141
+ }
3076
3142
  }
3077
3143
  class GridviewApi {
3078
3144
  /**
@@ -3213,6 +3279,15 @@ class GridviewApi {
3213
3279
  clear() {
3214
3280
  this.component.clear();
3215
3281
  }
3282
+ updateOptions(options) {
3283
+ this.component.updateOptions(options);
3284
+ }
3285
+ /**
3286
+ * Release resources and teardown component. Do not call when using framework versions of dockview.
3287
+ */
3288
+ dispose() {
3289
+ this.component.dispose();
3290
+ }
3216
3291
  }
3217
3292
  class DockviewApi {
3218
3293
  /**
@@ -3505,6 +3580,15 @@ class DockviewApi {
3505
3580
  setGap(gap) {
3506
3581
  this.component.updateOptions({ gap });
3507
3582
  }
3583
+ updateOptions(options) {
3584
+ this.component.updateOptions(options);
3585
+ }
3586
+ /**
3587
+ * Release resources and teardown component. Do not call when using framework versions of dockview.
3588
+ */
3589
+ dispose() {
3590
+ this.component.dispose();
3591
+ }
3508
3592
  }
3509
3593
 
3510
3594
  class DragHandler extends CompositeDisposable {
@@ -3527,20 +3611,12 @@ class DragHandler extends CompositeDisposable {
3527
3611
  event.preventDefault();
3528
3612
  return;
3529
3613
  }
3530
- const iframes = [
3531
- ...getElementsByTagName('iframe'),
3532
- ...getElementsByTagName('webview'),
3533
- ];
3614
+ const iframes = disableIframePointEvents();
3534
3615
  this.pointerEventsDisposable.value = {
3535
3616
  dispose: () => {
3536
- for (const iframe of iframes) {
3537
- iframe.style.pointerEvents = 'auto';
3538
- }
3617
+ iframes.release();
3539
3618
  },
3540
3619
  };
3541
- for (const iframe of iframes) {
3542
- iframe.style.pointerEvents = 'none';
3543
- }
3544
3620
  this.el.classList.add('dv-dragged');
3545
3621
  setTimeout(() => this.el.classList.remove('dv-dragged'), 0);
3546
3622
  this.dataDisposable.value = this.getData(event);
@@ -4704,7 +4780,7 @@ class VoidContainer extends CompositeDisposable {
4704
4780
  this._element.className = 'void-container';
4705
4781
  this._element.tabIndex = 0;
4706
4782
  this._element.draggable = true;
4707
- this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, 'click', () => {
4783
+ this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, 'pointerdown', () => {
4708
4784
  this.accessor.doSetGroupActive(this.group);
4709
4785
  }));
4710
4786
  const handler = new GroupDragHandler(this._element, accessor, group);
@@ -5019,6 +5095,7 @@ const PROPERTY_KEYS = (() => {
5019
5095
  locked: undefined,
5020
5096
  disableDnd: undefined,
5021
5097
  gap: undefined,
5098
+ className: undefined,
5022
5099
  };
5023
5100
  return Object.keys(properties);
5024
5101
  })();
@@ -5574,7 +5651,7 @@ class DockviewGroupPanelModel extends CompositeDisposable {
5574
5651
  group: this.groupPanel,
5575
5652
  });
5576
5653
  this.watermark = watermark;
5577
- addDisposableListener(this.watermark.element, 'click', () => {
5654
+ addDisposableListener(this.watermark.element, 'pointerdown', () => {
5578
5655
  if (!this.isActive) {
5579
5656
  this.accessor.doSetGroupActive(this.groupPanel);
5580
5657
  }
@@ -6139,7 +6216,7 @@ class DockviewPanel extends CompositeDisposable {
6139
6216
  // forward the resize event to the group since if you want to resize a panel
6140
6217
  // you are actually just resizing the panels parent which is the group
6141
6218
  this.group.api.setSize(event);
6142
- }), this.api.onDidRendererChange((event) => {
6219
+ }), this.api.onDidRendererChange(() => {
6143
6220
  this.group.model.rerender(this);
6144
6221
  }));
6145
6222
  }
@@ -6475,17 +6552,30 @@ class Watermark extends CompositeDisposable {
6475
6552
  }
6476
6553
  }
6477
6554
 
6478
- const bringElementToFront = (() => {
6479
- let previous = null;
6480
- function pushToTop(element) {
6481
- if (previous !== element && previous !== null) {
6482
- toggleClass(previous, 'dv-bring-to-front', false);
6555
+ const DEFAULT_OVERLAY_Z_INDEX = 999;
6556
+ class AriaLevelTracker {
6557
+ constructor() {
6558
+ this._orderedList = [];
6559
+ }
6560
+ push(element) {
6561
+ this._orderedList = [
6562
+ ...this._orderedList.filter((item) => item !== element),
6563
+ element,
6564
+ ];
6565
+ this.update();
6566
+ }
6567
+ destroy(element) {
6568
+ this._orderedList = this._orderedList.filter((item) => item !== element);
6569
+ this.update();
6570
+ }
6571
+ update() {
6572
+ for (let i = 0; i < this._orderedList.length; i++) {
6573
+ this._orderedList[i].setAttribute('aria-level', `${i}`);
6574
+ this._orderedList[i].style.zIndex = `${DEFAULT_OVERLAY_Z_INDEX + i * 2}`;
6483
6575
  }
6484
- toggleClass(element, 'dv-bring-to-front', true);
6485
- previous = element;
6486
6576
  }
6487
- return pushToTop;
6488
- })();
6577
+ }
6578
+ const arialLevelTracker = new AriaLevelTracker();
6489
6579
  class Overlay extends CompositeDisposable {
6490
6580
  set minimumInViewportWidth(value) {
6491
6581
  this.options.minimumInViewportWidth = value;
@@ -6493,6 +6583,9 @@ class Overlay extends CompositeDisposable {
6493
6583
  set minimumInViewportHeight(value) {
6494
6584
  this.options.minimumInViewportHeight = value;
6495
6585
  }
6586
+ get element() {
6587
+ return this._element;
6588
+ }
6496
6589
  constructor(options) {
6497
6590
  super();
6498
6591
  this.options = options;
@@ -6515,6 +6608,10 @@ class Overlay extends CompositeDisposable {
6515
6608
  this.options.container.appendChild(this._element);
6516
6609
  // if input bad resize within acceptable boundaries
6517
6610
  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 })));
6611
+ arialLevelTracker.push(this._element);
6612
+ }
6613
+ bringToFront() {
6614
+ arialLevelTracker.push(this._element);
6518
6615
  }
6519
6616
  setBounds(bounds = {}) {
6520
6617
  if (typeof bounds.height === 'number') {
@@ -6602,18 +6699,10 @@ class Overlay extends CompositeDisposable {
6602
6699
  const move = new MutableDisposable();
6603
6700
  const track = () => {
6604
6701
  let offset = null;
6605
- const iframes = [
6606
- ...getElementsByTagName('iframe'),
6607
- ...getElementsByTagName('webview'),
6608
- ];
6609
- for (const iframe of iframes) {
6610
- iframe.style.pointerEvents = 'none';
6611
- }
6702
+ const iframes = disableIframePointEvents();
6612
6703
  move.value = new CompositeDisposable({
6613
6704
  dispose: () => {
6614
- for (const iframe of iframes) {
6615
- iframe.style.pointerEvents = 'auto';
6616
- }
6705
+ iframes.release();
6617
6706
  },
6618
6707
  }, addDisposableWindowListener(window, 'mousemove', (e) => {
6619
6708
  const containerRect = this.options.container.getBoundingClientRect();
@@ -6682,9 +6771,8 @@ class Overlay extends CompositeDisposable {
6682
6771
  track();
6683
6772
  }
6684
6773
  }), addDisposableListener(this.options.content, 'mousedown', () => {
6685
- bringElementToFront(this._element);
6774
+ arialLevelTracker.push(this._element);
6686
6775
  }, true));
6687
- bringElementToFront(this._element);
6688
6776
  if (options.inDragMode) {
6689
6777
  track();
6690
6778
  }
@@ -6697,13 +6785,7 @@ class Overlay extends CompositeDisposable {
6697
6785
  this.addDisposables(move, addDisposableListener(resizeHandleElement, 'mousedown', (e) => {
6698
6786
  e.preventDefault();
6699
6787
  let startPosition = null;
6700
- const iframes = [
6701
- ...getElementsByTagName('iframe'),
6702
- ...getElementsByTagName('webview'),
6703
- ];
6704
- for (const iframe of iframes) {
6705
- iframe.style.pointerEvents = 'none';
6706
- }
6788
+ const iframes = disableIframePointEvents();
6707
6789
  move.value = new CompositeDisposable(addDisposableWindowListener(window, 'mousemove', (e) => {
6708
6790
  const containerRect = this.options.container.getBoundingClientRect();
6709
6791
  const overlayRect = this._element.getBoundingClientRect();
@@ -6826,9 +6908,7 @@ class Overlay extends CompositeDisposable {
6826
6908
  this.setBounds(bounds);
6827
6909
  }), {
6828
6910
  dispose: () => {
6829
- for (const iframe of iframes) {
6830
- iframe.style.pointerEvents = 'auto';
6831
- }
6911
+ iframes.release();
6832
6912
  },
6833
6913
  }, addDisposableWindowListener(window, 'mouseup', () => {
6834
6914
  move.dispose();
@@ -6849,6 +6929,7 @@ class Overlay extends CompositeDisposable {
6849
6929
  return 0;
6850
6930
  }
6851
6931
  dispose() {
6932
+ arialLevelTracker.destroy(this._element);
6852
6933
  this._element.remove();
6853
6934
  super.dispose();
6854
6935
  }
@@ -6877,9 +6958,10 @@ function createFocusableElement() {
6877
6958
  return element;
6878
6959
  }
6879
6960
  class OverlayRenderContainer extends CompositeDisposable {
6880
- constructor(element) {
6961
+ constructor(element, accessor) {
6881
6962
  super();
6882
6963
  this.element = element;
6964
+ this.accessor = accessor;
6883
6965
  this.map = {};
6884
6966
  this._disposed = false;
6885
6967
  this.addDisposables(Disposable.from(() => {
@@ -6935,7 +7017,35 @@ class OverlayRenderContainer extends CompositeDisposable {
6935
7017
  }
6936
7018
  focusContainer.style.display = panel.api.isVisible ? '' : 'none';
6937
7019
  };
6938
- const disposable = new CompositeDisposable(
7020
+ const observerDisposable = new MutableDisposable();
7021
+ const correctLayerPosition = () => {
7022
+ if (panel.api.location.type === 'floating') {
7023
+ queueMicrotask(() => {
7024
+ const floatingGroup = this.accessor.floatingGroups.find((group) => group.group === panel.api.group);
7025
+ if (!floatingGroup) {
7026
+ return;
7027
+ }
7028
+ const element = floatingGroup.overlay.element;
7029
+ const update = () => {
7030
+ const level = Number(element.getAttribute('aria-level'));
7031
+ focusContainer.style.zIndex = `${DEFAULT_OVERLAY_Z_INDEX + level * 2 + 1}`;
7032
+ };
7033
+ const observer = new MutationObserver(() => {
7034
+ update();
7035
+ });
7036
+ observerDisposable.value = Disposable.from(() => observer.disconnect());
7037
+ observer.observe(element, {
7038
+ attributeFilter: ['aria-level'],
7039
+ attributes: true,
7040
+ });
7041
+ update();
7042
+ });
7043
+ }
7044
+ else {
7045
+ focusContainer.style.zIndex = ''; // reset the z-index, perhaps CSS will take over here
7046
+ }
7047
+ };
7048
+ const disposable = new CompositeDisposable(observerDisposable,
6939
7049
  /**
6940
7050
  * since container is positioned absoutely we must explicitly forward
6941
7051
  * the dnd events for the expect behaviours to continue to occur in terms of dnd
@@ -6959,7 +7069,7 @@ class OverlayRenderContainer extends CompositeDisposable {
6959
7069
  onDragOver: (e) => {
6960
7070
  referenceContainer.dropTarget.dnd.onDragOver(e);
6961
7071
  },
6962
- }), panel.api.onDidVisibilityChange((event) => {
7072
+ }), panel.api.onDidVisibilityChange(() => {
6963
7073
  /**
6964
7074
  * Control the visibility of the content, however even when not visible (display: none)
6965
7075
  * the content is still maintained within the DOM hence DOM specific attributes
@@ -6971,6 +7081,8 @@ class OverlayRenderContainer extends CompositeDisposable {
6971
7081
  return;
6972
7082
  }
6973
7083
  resize();
7084
+ }), panel.api.onDidLocationChange(() => {
7085
+ correctLayerPosition();
6974
7086
  }));
6975
7087
  this.map[panel.api.id].destroy = Disposable.from(() => {
6976
7088
  var _a;
@@ -6979,6 +7091,7 @@ class OverlayRenderContainer extends CompositeDisposable {
6979
7091
  }
6980
7092
  (_a = focusContainer.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(focusContainer);
6981
7093
  });
7094
+ correctLayerPosition();
6982
7095
  queueMicrotask(() => {
6983
7096
  if (this.isDisposed) {
6984
7097
  return;
@@ -7227,7 +7340,10 @@ class DockviewComponent extends BaseGrid {
7227
7340
  get gap() {
7228
7341
  return this.gridview.margin;
7229
7342
  }
7230
- constructor(options) {
7343
+ get floatingGroups() {
7344
+ return this._floatingGroups;
7345
+ }
7346
+ constructor(parentElement, options) {
7231
7347
  var _a;
7232
7348
  super({
7233
7349
  proportionalLayout: true,
@@ -7235,10 +7351,11 @@ class DockviewComponent extends BaseGrid {
7235
7351
  styles: options.hideBorders
7236
7352
  ? { separatorBorder: 'transparent' }
7237
7353
  : undefined,
7238
- parentElement: options.parentElement,
7354
+ parentElement: parentElement,
7239
7355
  disableAutoResizing: options.disableAutoResizing,
7240
7356
  locked: options.locked,
7241
7357
  margin: options.gap,
7358
+ className: options.className,
7242
7359
  });
7243
7360
  this.nextGroupId = sequentialNumberGenerator();
7244
7361
  this._deserializer = new DefaultDockviewDeserialzier(this);
@@ -7274,10 +7391,10 @@ class DockviewComponent extends BaseGrid {
7274
7391
  this._onDidActiveGroupChange = new Emitter();
7275
7392
  this.onDidActiveGroupChange = this._onDidActiveGroupChange.event;
7276
7393
  this._moving = false;
7277
- const gready = document.createElement('div');
7278
- gready.className = 'dv-overlay-render-container';
7279
- this.gridview.element.appendChild(gready);
7280
- this.overlayRenderContainer = new OverlayRenderContainer(gready);
7394
+ // const gready = document.createElement('div');
7395
+ // gready.className = 'dv-overlay-render-container';
7396
+ // this.gridview.element.appendChild(gready);
7397
+ this.overlayRenderContainer = new OverlayRenderContainer(this.gridview.element, this);
7281
7398
  toggleClass(this.gridview.element, 'dv-dockview', true);
7282
7399
  toggleClass(this.element, 'dv-debug', !!options.debug);
7283
7400
  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(() => {
@@ -7443,7 +7560,7 @@ class DockviewComponent extends BaseGrid {
7443
7560
  }
7444
7561
  const gready = document.createElement('div');
7445
7562
  gready.className = 'dv-overlay-render-container';
7446
- const overlayRenderContainer = new OverlayRenderContainer(gready);
7563
+ const overlayRenderContainer = new OverlayRenderContainer(gready, this);
7447
7564
  const referenceGroup = itemToPopout instanceof DockviewPanel
7448
7565
  ? itemToPopout.group
7449
7566
  : itemToPopout;
@@ -7592,7 +7709,6 @@ class DockviewComponent extends BaseGrid {
7592
7709
  }
7593
7710
  }
7594
7711
  }
7595
- group.model.location = { type: 'floating' };
7596
7712
  function getAnchoredBox() {
7597
7713
  if (options === null || options === void 0 ? void 0 : options.position) {
7598
7714
  const result = {};
@@ -7659,10 +7775,14 @@ class DockviewComponent extends BaseGrid {
7659
7775
  : false,
7660
7776
  });
7661
7777
  const floatingGroupPanel = new DockviewFloatingGroupPanel(group, overlay);
7662
- const disposable = watchElementResize(group.element, (entry) => {
7778
+ const disposable = new CompositeDisposable(group.api.onDidActiveChange((event) => {
7779
+ if (event.isActive) {
7780
+ overlay.bringToFront();
7781
+ }
7782
+ }), watchElementResize(group.element, (entry) => {
7663
7783
  const { width, height } = entry.contentRect;
7664
7784
  group.layout(width, height); // let the group know it's size is changing so it can fire events to the panel
7665
- });
7785
+ }));
7666
7786
  floatingGroupPanel.addDisposables(overlay.onDidChange(() => {
7667
7787
  // this is either a resize or a move
7668
7788
  // to inform the panels .layout(...) the group with it's current size
@@ -7678,12 +7798,13 @@ class DockviewComponent extends BaseGrid {
7678
7798
  }), {
7679
7799
  dispose: () => {
7680
7800
  disposable.dispose();
7681
- group.model.location = { type: 'grid' };
7682
7801
  remove(this._floatingGroups, floatingGroupPanel);
7802
+ group.model.location = { type: 'grid' };
7683
7803
  this.updateWatermark();
7684
7804
  },
7685
7805
  });
7686
7806
  this._floatingGroups.push(floatingGroupPanel);
7807
+ group.model.location = { type: 'floating' };
7687
7808
  if (!(options === null || options === void 0 ? void 0 : options.skipActiveGroup)) {
7688
7809
  this.doSetGroupAndPanelActive(group);
7689
7810
  }
@@ -7722,6 +7843,7 @@ class DockviewComponent extends BaseGrid {
7722
7843
  }
7723
7844
  updateOptions(options) {
7724
7845
  var _a, _b;
7846
+ super.updateOptions(options);
7725
7847
  const changed_floatingGroupBounds = 'floatingGroupBounds' in options &&
7726
7848
  options.floatingGroupBounds !== this.options.floatingGroupBounds;
7727
7849
  const changed_rootOverlayOptions = 'rootOverlayModel' in options &&
@@ -8265,6 +8387,7 @@ class DockviewComponent extends BaseGrid {
8265
8387
  this._groups.delete(group.id);
8266
8388
  this._onDidRemoveGroup.fire(group);
8267
8389
  }
8390
+ remove(this._popoutGroups, selectedGroup);
8268
8391
  const removedGroup = selectedGroup.disposable.dispose();
8269
8392
  if (!(options === null || options === void 0 ? void 0 : options.skipPopoutReturn) && removedGroup) {
8270
8393
  this.doAddGroup(removedGroup, [0]);
@@ -8376,6 +8499,31 @@ class DockviewComponent extends BaseGrid {
8376
8499
  return;
8377
8500
  }
8378
8501
  }
8502
+ if (sourceGroup.api.location.type === 'popout') {
8503
+ /**
8504
+ * the source group is a popout group with a single panel
8505
+ *
8506
+ * 1. remove the panel from the group without triggering any events
8507
+ * 2. remove the popout group
8508
+ * 3. create a new group at the requested location and add that panel
8509
+ */
8510
+ const popoutGroup = this._popoutGroups.find((group) => group.popoutGroup === sourceGroup);
8511
+ const removedPanel = this.movingLock(() => popoutGroup.popoutGroup.model.removePanel(popoutGroup.popoutGroup.panels[0], {
8512
+ skipSetActive: true,
8513
+ skipSetActiveGroup: true,
8514
+ }));
8515
+ this.doRemoveGroup(sourceGroup, { skipActive: true });
8516
+ const newGroup = this.createGroupAtLocation(targetLocation);
8517
+ this.movingLock(() => newGroup.model.openPanel(removedPanel, {
8518
+ skipSetActive: true,
8519
+ }));
8520
+ this.doSetGroupAndPanelActive(newGroup);
8521
+ this._onDidMovePanel.fire({
8522
+ panel: this.getGroupPanel(sourceItemId),
8523
+ from: sourceGroup,
8524
+ });
8525
+ return;
8526
+ }
8379
8527
  // source group will become empty so delete the group
8380
8528
  const targetGroup = this.movingLock(() => this.doRemoveGroup(sourceGroup, {
8381
8529
  skipActive: true,
@@ -8607,13 +8755,14 @@ class GridviewComponent extends BaseGrid {
8607
8755
  set deserializer(value) {
8608
8756
  this._deserializer = value;
8609
8757
  }
8610
- constructor(options) {
8758
+ constructor(parentElement, options) {
8611
8759
  super({
8612
- parentElement: options.parentElement,
8760
+ parentElement: parentElement,
8613
8761
  proportionalLayout: options.proportionalLayout,
8614
8762
  orientation: options.orientation,
8615
8763
  styles: options.styles,
8616
8764
  disableAutoResizing: options.disableAutoResizing,
8765
+ className: options.className,
8617
8766
  });
8618
8767
  this._onDidLayoutfromJSON = new Emitter();
8619
8768
  this.onDidLayoutFromJSON = this._onDidLayoutfromJSON.event;
@@ -8639,6 +8788,7 @@ class GridviewComponent extends BaseGrid {
8639
8788
  }
8640
8789
  }
8641
8790
  updateOptions(options) {
8791
+ super.updateOptions(options);
8642
8792
  const hasOrientationChanged = typeof options.orientation === 'string' &&
8643
8793
  this.gridview.orientation !== options.orientation;
8644
8794
  this._options = Object.assign(Object.assign({}, this.options), options);
@@ -8905,8 +9055,9 @@ class SplitviewComponent extends Resizable {
8905
9055
  ? this.splitview.size
8906
9056
  : this.splitview.orthogonalSize;
8907
9057
  }
8908
- constructor(options) {
8909
- super(options.parentElement, options.disableAutoResizing);
9058
+ constructor(parentElement, options) {
9059
+ var _a, _b;
9060
+ super(parentElement, options.disableAutoResizing);
8910
9061
  this._splitviewChangeDisposable = new MutableDisposable();
8911
9062
  this._panels = new Map();
8912
9063
  this._onDidLayoutfromJSON = new Emitter();
@@ -8917,6 +9068,11 @@ class SplitviewComponent extends Resizable {
8917
9068
  this.onDidRemoveView = this._onDidRemoveView.event;
8918
9069
  this._onDidLayoutChange = new Emitter();
8919
9070
  this.onDidLayoutChange = this._onDidLayoutChange.event;
9071
+ this.classNames = [];
9072
+ this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
9073
+ for (const className of this.classNames) {
9074
+ toggleClass(this.element, className, true);
9075
+ }
8920
9076
  this._options = options;
8921
9077
  if (!options.components) {
8922
9078
  options.components = {};
@@ -8928,6 +9084,16 @@ class SplitviewComponent extends Resizable {
8928
9084
  this.addDisposables(this._onDidAddView, this._onDidLayoutfromJSON, this._onDidRemoveView, this._onDidLayoutChange);
8929
9085
  }
8930
9086
  updateOptions(options) {
9087
+ var _a, _b;
9088
+ if ('className' in options) {
9089
+ for (const className of this.classNames) {
9090
+ toggleClass(this.element, className, false);
9091
+ }
9092
+ this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
9093
+ for (const className of this.classNames) {
9094
+ toggleClass(this.element, className, true);
9095
+ }
9096
+ }
8931
9097
  const hasOrientationChanged = typeof options.orientation === 'string' &&
8932
9098
  this.options.orientation !== options.orientation;
8933
9099
  this._options = Object.assign(Object.assign({}, this.options), options);
@@ -9229,8 +9395,9 @@ class PaneviewComponent extends Resizable {
9229
9395
  get options() {
9230
9396
  return this._options;
9231
9397
  }
9232
- constructor(options) {
9233
- super(options.parentElement, options.disableAutoResizing);
9398
+ constructor(parentElement, options) {
9399
+ var _a, _b;
9400
+ super(parentElement, options.disableAutoResizing);
9234
9401
  this._id = nextLayoutId.next();
9235
9402
  this._disposable = new MutableDisposable();
9236
9403
  this._viewDisposables = new Map();
@@ -9244,7 +9411,12 @@ class PaneviewComponent extends Resizable {
9244
9411
  this.onDidAddView = this._onDidAddView.event;
9245
9412
  this._onDidRemoveView = new Emitter();
9246
9413
  this.onDidRemoveView = this._onDidRemoveView.event;
9414
+ this.classNames = [];
9247
9415
  this.addDisposables(this._onDidLayoutChange, this._onDidLayoutfromJSON, this._onDidDrop, this._onDidAddView, this._onDidRemoveView);
9416
+ this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
9417
+ for (const className of this.classNames) {
9418
+ toggleClass(this.element, className, true);
9419
+ }
9248
9420
  this._options = options;
9249
9421
  if (!options.components) {
9250
9422
  options.components = {};
@@ -9266,6 +9438,16 @@ class PaneviewComponent extends Resizable {
9266
9438
  //noop
9267
9439
  }
9268
9440
  updateOptions(options) {
9441
+ var _a, _b;
9442
+ if ('className' in options) {
9443
+ for (const className of this.classNames) {
9444
+ toggleClass(this.element, className, false);
9445
+ }
9446
+ this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
9447
+ for (const className of this.classNames) {
9448
+ toggleClass(this.element, className, true);
9449
+ }
9450
+ }
9269
9451
  this._options = Object.assign(Object.assign({}, this.options), options);
9270
9452
  }
9271
9453
  addPanel(options) {
@@ -9559,5 +9741,22 @@ class SplitviewPanel extends BasePanelView {
9559
9741
  }
9560
9742
  }
9561
9743
 
9562
- export { BaseGrid, ContentContainer, DefaultDockviewDeserialzier, DefaultTab, DockviewApi, DockviewComponent, CompositeDisposable as DockviewCompositeDisposable, DockviewDidDropEvent, Disposable as DockviewDisposable, Emitter as DockviewEmitter, Event as DockviewEvent, DockviewGroupPanel, DockviewGroupPanelModel, MutableDisposable as DockviewMutableDisposable, DockviewPanel, DockviewUnhandledDragOverEvent, DockviewWillDropEvent, DraggablePaneviewPanel, Gridview, GridviewApi, GridviewComponent, GridviewPanel, LayoutPriority, LocalSelectionTransfer, Orientation, PROPERTY_KEYS, PaneFramework, PaneTransfer, PanelTransfer, Paneview, PaneviewApi, PaneviewComponent, PaneviewPanel, SashState, Sizing, Splitview, SplitviewApi, SplitviewComponent, SplitviewPanel, Tab, WillShowOverlayLocationEvent, createComponent, directionToPosition, getDirectionOrientation, getGridLocation, getLocationOrientation, getPaneData, getPanelData, getRelativeLocation, indexInParent, isGridBranchNode, isGroupOptionsWithGroup, isGroupOptionsWithPanel, isPanelOptionsWithGroup, isPanelOptionsWithPanel, orthogonal, positionToDirection, toTarget };
9744
+ function createDockview(element, options) {
9745
+ const component = new DockviewComponent(element, options);
9746
+ return component.api;
9747
+ }
9748
+ function createSplitview(element, options) {
9749
+ const component = new SplitviewComponent(element, options);
9750
+ return new SplitviewApi(component);
9751
+ }
9752
+ function createGridview(element, options) {
9753
+ const component = new GridviewComponent(element, options);
9754
+ return new GridviewApi(component);
9755
+ }
9756
+ function createPaneview(element, options) {
9757
+ const component = new PaneviewComponent(element, options);
9758
+ return new PaneviewApi(component);
9759
+ }
9760
+
9761
+ export { BaseGrid, ContentContainer, DefaultDockviewDeserialzier, DefaultTab, DockviewApi, DockviewComponent, CompositeDisposable as DockviewCompositeDisposable, DockviewDidDropEvent, Disposable as DockviewDisposable, Emitter as DockviewEmitter, Event as DockviewEvent, DockviewGroupPanel, DockviewGroupPanelModel, MutableDisposable as DockviewMutableDisposable, DockviewPanel, DockviewUnhandledDragOverEvent, DockviewWillDropEvent, DraggablePaneviewPanel, Gridview, GridviewApi, GridviewComponent, GridviewPanel, LayoutPriority, LocalSelectionTransfer, Orientation, PROPERTY_KEYS, PaneFramework, PaneTransfer, PanelTransfer, Paneview, PaneviewApi, PaneviewComponent, PaneviewPanel, SashState, Sizing, Splitview, SplitviewApi, SplitviewComponent, SplitviewPanel, Tab, WillShowOverlayLocationEvent, createComponent, createDockview, createGridview, createPaneview, createSplitview, directionToPosition, getDirectionOrientation, getGridLocation, getLocationOrientation, getPaneData, getPanelData, getRelativeLocation, indexInParent, isGridBranchNode, isGroupOptionsWithGroup, isGroupOptionsWithPanel, isPanelOptionsWithGroup, isPanelOptionsWithPanel, orthogonal, positionToDirection, toTarget };
9563
9762
  //# sourceMappingURL=dockview-core.esm.js.map