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
  */
@@ -33,7 +33,7 @@ define(['exports'], (function (exports) { 'use strict';
33
33
  }
34
34
  }
35
35
 
36
- var css_248z = ".dv-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 999;\n}\n\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: ##fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-background-color: #ebeced;\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab .dockview-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .groupview .content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .groupview.active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview.inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.drop-target {\n position: relative;\n}\n.drop-target > .drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 1000;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition: top 70ms ease-out, left 70ms ease-out, width 70ms ease-out, height 70ms ease-out, opacity 0.15s ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n position: absolute;\n z-index: 997;\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-bring-to-front {\n z-index: 998;\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: 999;\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: se-resize;\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\n}\n\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.groupview:focus {\n outline: none;\n}\n.groupview.empty > .tabs-and-actions-container {\n display: none;\n}\n.groupview > .content-container {\n flex-grow: 1;\n min-height: 0;\n outline: none;\n}\n.dv-root-wrapper {\n height: 100%;\n width: 100%;\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: var(--dv-background-color);\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.tab.inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: 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}";
36
+ var css_248z = ".dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: ##fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-background-color: #ebeced;\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab .dockview-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .groupview .content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .groupview.active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview.inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:not(.disabled)::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:not(.disabled)::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.drop-target {\n position: relative;\n}\n.drop-target > .drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 1000;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition: top 70ms ease-out, left 70ms ease-out, width 70ms ease-out, height 70ms ease-out, opacity 0.15s ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\n}\n\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.groupview:focus {\n outline: none;\n}\n.groupview.empty > .tabs-and-actions-container {\n display: none;\n}\n.groupview > .content-container {\n flex-grow: 1;\n min-height: 0;\n outline: none;\n}\n.dv-root-wrapper {\n height: 100%;\n width: 100%;\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n position: absolute;\n z-index: 997;\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: 999;\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: se-resize;\n}\n.dv-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 998;\n}\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: var(--dv-background-color);\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.tab.inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dv-default-tab .dv-default-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
37
37
  styleInject(css_248z);
38
38
 
39
39
  class TransferObject {
@@ -561,6 +561,26 @@ define(['exports'], (function (exports) { 'use strict';
561
561
  function addTestId(element, id) {
562
562
  element.setAttribute('data-testid', id);
563
563
  }
564
+ function disableIframePointEvents() {
565
+ const iframes = [
566
+ ...getElementsByTagName('iframe'),
567
+ ...getElementsByTagName('webview'),
568
+ ];
569
+ const original = new WeakMap(); // don't hold onto HTMLElement references longer than required
570
+ for (const iframe of iframes) {
571
+ original.set(iframe, iframe.style.pointerEvents);
572
+ iframe.style.pointerEvents = 'none';
573
+ }
574
+ return {
575
+ release: () => {
576
+ var _a;
577
+ for (const iframe of iframes) {
578
+ iframe.style.pointerEvents = (_a = original.get(iframe)) !== null && _a !== void 0 ? _a : 'auto';
579
+ }
580
+ iframes.splice(0, iframes.length); // don't hold onto HTMLElement references longer than required
581
+ },
582
+ };
583
+ }
564
584
 
565
585
  function tail(arr) {
566
586
  if (arr.length === 0) {
@@ -1083,13 +1103,7 @@ define(['exports'], (function (exports) { 'use strict';
1083
1103
  for (const item of this.viewItems) {
1084
1104
  item.enabled = false;
1085
1105
  }
1086
- const iframes = [
1087
- ...getElementsByTagName('iframe'),
1088
- ...getElementsByTagName('webview'),
1089
- ];
1090
- for (const iframe of iframes) {
1091
- iframe.style.pointerEvents = 'none';
1092
- }
1106
+ const iframes = disableIframePointEvents();
1093
1107
  const start = this._orientation === exports.Orientation.HORIZONTAL
1094
1108
  ? event.clientX
1095
1109
  : event.clientY;
@@ -1151,9 +1165,7 @@ define(['exports'], (function (exports) { 'use strict';
1151
1165
  for (const item of this.viewItems) {
1152
1166
  item.enabled = true;
1153
1167
  }
1154
- for (const iframe of iframes) {
1155
- iframe.style.pointerEvents = 'auto';
1156
- }
1168
+ iframes.release();
1157
1169
  this.saveProportions();
1158
1170
  document.removeEventListener('pointermove', onPointerMove);
1159
1171
  document.removeEventListener('pointerup', end);
@@ -1320,29 +1332,47 @@ define(['exports'], (function (exports) { 'use strict';
1320
1332
  if (this.viewItems.length === 0) {
1321
1333
  return;
1322
1334
  }
1323
- const sashCount = this.viewItems.length - 1;
1324
- const marginReducedSize = (this.margin * sashCount) / this.viewItems.length;
1335
+ const visibleViewItems = this.viewItems.filter((i) => i.visible);
1336
+ const sashCount = Math.max(0, visibleViewItems.length - 1);
1337
+ const marginReducedSize = (this.margin * sashCount) / Math.max(1, visibleViewItems.length);
1325
1338
  let totalLeftOffset = 0;
1326
1339
  const viewLeftOffsets = [];
1327
- for (let i = 0; i < this.viewItems.length - 1; i++) {
1328
- totalLeftOffset += this.viewItems[i].size;
1329
- viewLeftOffsets.push(totalLeftOffset);
1330
- const offset = Math.min(Math.max(0, totalLeftOffset - 2), this.size - this.margin);
1331
- if (this._orientation === exports.Orientation.HORIZONTAL) {
1332
- this.sashes[i].container.style.left = `${offset}px`;
1333
- this.sashes[i].container.style.top = `0px`;
1340
+ const sashWidth = 4; // hardcoded in css
1341
+ const runningVisiblePanelCount = this.viewItems.reduce((arr, viewItem, i) => {
1342
+ const flag = viewItem.visible ? 1 : 0;
1343
+ if (i === 0) {
1344
+ arr.push(flag);
1334
1345
  }
1335
- if (this._orientation === exports.Orientation.VERTICAL) {
1336
- this.sashes[i].container.style.left = `0px`;
1337
- this.sashes[i].container.style.top = `${offset}px`;
1346
+ else {
1347
+ arr.push(arr[i - 1] + flag);
1338
1348
  }
1339
- }
1349
+ return arr;
1350
+ }, []);
1351
+ // calculate both view and cash positions
1340
1352
  this.viewItems.forEach((view, i) => {
1341
- const size = view.size - marginReducedSize;
1342
- const offset = i === 0
1353
+ totalLeftOffset += this.viewItems[i].size;
1354
+ viewLeftOffsets.push(totalLeftOffset);
1355
+ const size = view.visible ? view.size - marginReducedSize : 0;
1356
+ const visiblePanelsBeforeThisView = Math.max(0, runningVisiblePanelCount[i] - 1);
1357
+ const offset = i === 0 || visiblePanelsBeforeThisView === 0
1343
1358
  ? 0
1344
1359
  : viewLeftOffsets[i - 1] +
1345
- (i / sashCount) * marginReducedSize;
1360
+ (visiblePanelsBeforeThisView / sashCount) * marginReducedSize;
1361
+ if (i < this.viewItems.length - 1) {
1362
+ // calculate sash position
1363
+ const newSize = view.visible
1364
+ ? offset + size - sashWidth / 2 + this.margin / 2
1365
+ : offset;
1366
+ if (this._orientation === exports.Orientation.HORIZONTAL) {
1367
+ this.sashes[i].container.style.left = `${newSize}px`;
1368
+ this.sashes[i].container.style.top = `0px`;
1369
+ }
1370
+ if (this._orientation === exports.Orientation.VERTICAL) {
1371
+ this.sashes[i].container.style.left = `0px`;
1372
+ this.sashes[i].container.style.top = `${newSize}px`;
1373
+ }
1374
+ }
1375
+ // calculate view position
1346
1376
  if (this._orientation === exports.Orientation.HORIZONTAL) {
1347
1377
  view.container.style.width = `${size}px`;
1348
1378
  view.container.style.left = `${offset}px`;
@@ -2671,6 +2701,7 @@ define(['exports'], (function (exports) { 'use strict';
2671
2701
  this.gridview.locked = value;
2672
2702
  }
2673
2703
  constructor(options) {
2704
+ var _a, _b;
2674
2705
  super(document.createElement('div'), options.disableAutoResizing);
2675
2706
  this._id = nextLayoutId$1.next();
2676
2707
  this._groups = new Map();
@@ -2684,8 +2715,13 @@ define(['exports'], (function (exports) { 'use strict';
2684
2715
  this.onDidLayoutChange = this._bufferOnDidLayoutChange.onEvent;
2685
2716
  this._onDidViewVisibilityChangeMicroTaskQueue = new AsapEvent();
2686
2717
  this.onDidViewVisibilityChangeMicroTaskQueue = this._onDidViewVisibilityChangeMicroTaskQueue.onEvent;
2718
+ this.classNames = [];
2687
2719
  this.element.style.height = '100%';
2688
2720
  this.element.style.width = '100%';
2721
+ this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
2722
+ for (const className of this.classNames) {
2723
+ toggleClass(this.element, className, true);
2724
+ }
2689
2725
  options.parentElement.appendChild(this.element);
2690
2726
  this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation, options.locked, options.margin);
2691
2727
  this.gridview.locked = !!options.locked;
@@ -2709,6 +2745,18 @@ define(['exports'], (function (exports) { 'use strict';
2709
2745
  isVisible(panel) {
2710
2746
  return this.gridview.isViewVisible(getGridLocation(panel.element));
2711
2747
  }
2748
+ updateOptions(options) {
2749
+ var _a, _b;
2750
+ if ('className' in options) {
2751
+ for (const className of this.classNames) {
2752
+ toggleClass(this.element, className, false);
2753
+ }
2754
+ this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
2755
+ for (const className of this.classNames) {
2756
+ toggleClass(this.element, className, true);
2757
+ }
2758
+ }
2759
+ }
2712
2760
  maximizeGroup(panel) {
2713
2761
  this.gridview.maximizeView(panel);
2714
2762
  this.doSetGroupActive(panel);
@@ -2889,12 +2937,6 @@ define(['exports'], (function (exports) { 'use strict';
2889
2937
  constructor(component) {
2890
2938
  this.component = component;
2891
2939
  }
2892
- /**
2893
- * Update configuratable options.
2894
- */
2895
- updateOptions(options) {
2896
- this.component.updateOptions(options);
2897
- }
2898
2940
  /**
2899
2941
  * Removes an existing panel and optionally provide a `Sizing` method
2900
2942
  * for the subsequent resize.
@@ -2948,6 +2990,18 @@ define(['exports'], (function (exports) { 'use strict';
2948
2990
  clear() {
2949
2991
  this.component.clear();
2950
2992
  }
2993
+ /**
2994
+ * Update configuratable options.
2995
+ */
2996
+ updateOptions(options) {
2997
+ this.component.updateOptions(options);
2998
+ }
2999
+ /**
3000
+ * Release resources and teardown component. Do not call when using framework versions of dockview.
3001
+ */
3002
+ dispose() {
3003
+ this.component.dispose();
3004
+ }
2951
3005
  }
2952
3006
  class PaneviewApi {
2953
3007
  /**
@@ -3075,6 +3129,18 @@ define(['exports'], (function (exports) { 'use strict';
3075
3129
  clear() {
3076
3130
  this.component.clear();
3077
3131
  }
3132
+ /**
3133
+ * Update configuratable options.
3134
+ */
3135
+ updateOptions(options) {
3136
+ this.component.updateOptions(options);
3137
+ }
3138
+ /**
3139
+ * Release resources and teardown component. Do not call when using framework versions of dockview.
3140
+ */
3141
+ dispose() {
3142
+ this.component.dispose();
3143
+ }
3078
3144
  }
3079
3145
  class GridviewApi {
3080
3146
  /**
@@ -3215,6 +3281,15 @@ define(['exports'], (function (exports) { 'use strict';
3215
3281
  clear() {
3216
3282
  this.component.clear();
3217
3283
  }
3284
+ updateOptions(options) {
3285
+ this.component.updateOptions(options);
3286
+ }
3287
+ /**
3288
+ * Release resources and teardown component. Do not call when using framework versions of dockview.
3289
+ */
3290
+ dispose() {
3291
+ this.component.dispose();
3292
+ }
3218
3293
  }
3219
3294
  class DockviewApi {
3220
3295
  /**
@@ -3507,6 +3582,15 @@ define(['exports'], (function (exports) { 'use strict';
3507
3582
  setGap(gap) {
3508
3583
  this.component.updateOptions({ gap });
3509
3584
  }
3585
+ updateOptions(options) {
3586
+ this.component.updateOptions(options);
3587
+ }
3588
+ /**
3589
+ * Release resources and teardown component. Do not call when using framework versions of dockview.
3590
+ */
3591
+ dispose() {
3592
+ this.component.dispose();
3593
+ }
3510
3594
  }
3511
3595
 
3512
3596
  class DragHandler extends CompositeDisposable {
@@ -3529,20 +3613,12 @@ define(['exports'], (function (exports) { 'use strict';
3529
3613
  event.preventDefault();
3530
3614
  return;
3531
3615
  }
3532
- const iframes = [
3533
- ...getElementsByTagName('iframe'),
3534
- ...getElementsByTagName('webview'),
3535
- ];
3616
+ const iframes = disableIframePointEvents();
3536
3617
  this.pointerEventsDisposable.value = {
3537
3618
  dispose: () => {
3538
- for (const iframe of iframes) {
3539
- iframe.style.pointerEvents = 'auto';
3540
- }
3619
+ iframes.release();
3541
3620
  },
3542
3621
  };
3543
- for (const iframe of iframes) {
3544
- iframe.style.pointerEvents = 'none';
3545
- }
3546
3622
  this.el.classList.add('dv-dragged');
3547
3623
  setTimeout(() => this.el.classList.remove('dv-dragged'), 0);
3548
3624
  this.dataDisposable.value = this.getData(event);
@@ -4706,7 +4782,7 @@ define(['exports'], (function (exports) { 'use strict';
4706
4782
  this._element.className = 'void-container';
4707
4783
  this._element.tabIndex = 0;
4708
4784
  this._element.draggable = true;
4709
- this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, 'click', () => {
4785
+ this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, 'pointerdown', () => {
4710
4786
  this.accessor.doSetGroupActive(this.group);
4711
4787
  }));
4712
4788
  const handler = new GroupDragHandler(this._element, accessor, group);
@@ -5021,6 +5097,7 @@ define(['exports'], (function (exports) { 'use strict';
5021
5097
  locked: undefined,
5022
5098
  disableDnd: undefined,
5023
5099
  gap: undefined,
5100
+ className: undefined,
5024
5101
  };
5025
5102
  return Object.keys(properties);
5026
5103
  })();
@@ -5576,7 +5653,7 @@ define(['exports'], (function (exports) { 'use strict';
5576
5653
  group: this.groupPanel,
5577
5654
  });
5578
5655
  this.watermark = watermark;
5579
- addDisposableListener(this.watermark.element, 'click', () => {
5656
+ addDisposableListener(this.watermark.element, 'pointerdown', () => {
5580
5657
  if (!this.isActive) {
5581
5658
  this.accessor.doSetGroupActive(this.groupPanel);
5582
5659
  }
@@ -6141,7 +6218,7 @@ define(['exports'], (function (exports) { 'use strict';
6141
6218
  // forward the resize event to the group since if you want to resize a panel
6142
6219
  // you are actually just resizing the panels parent which is the group
6143
6220
  this.group.api.setSize(event);
6144
- }), this.api.onDidRendererChange((event) => {
6221
+ }), this.api.onDidRendererChange(() => {
6145
6222
  this.group.model.rerender(this);
6146
6223
  }));
6147
6224
  }
@@ -6477,17 +6554,30 @@ define(['exports'], (function (exports) { 'use strict';
6477
6554
  }
6478
6555
  }
6479
6556
 
6480
- const bringElementToFront = (() => {
6481
- let previous = null;
6482
- function pushToTop(element) {
6483
- if (previous !== element && previous !== null) {
6484
- toggleClass(previous, 'dv-bring-to-front', false);
6557
+ const DEFAULT_OVERLAY_Z_INDEX = 999;
6558
+ class AriaLevelTracker {
6559
+ constructor() {
6560
+ this._orderedList = [];
6561
+ }
6562
+ push(element) {
6563
+ this._orderedList = [
6564
+ ...this._orderedList.filter((item) => item !== element),
6565
+ element,
6566
+ ];
6567
+ this.update();
6568
+ }
6569
+ destroy(element) {
6570
+ this._orderedList = this._orderedList.filter((item) => item !== element);
6571
+ this.update();
6572
+ }
6573
+ update() {
6574
+ for (let i = 0; i < this._orderedList.length; i++) {
6575
+ this._orderedList[i].setAttribute('aria-level', `${i}`);
6576
+ this._orderedList[i].style.zIndex = `${DEFAULT_OVERLAY_Z_INDEX + i * 2}`;
6485
6577
  }
6486
- toggleClass(element, 'dv-bring-to-front', true);
6487
- previous = element;
6488
6578
  }
6489
- return pushToTop;
6490
- })();
6579
+ }
6580
+ const arialLevelTracker = new AriaLevelTracker();
6491
6581
  class Overlay extends CompositeDisposable {
6492
6582
  set minimumInViewportWidth(value) {
6493
6583
  this.options.minimumInViewportWidth = value;
@@ -6495,6 +6585,9 @@ define(['exports'], (function (exports) { 'use strict';
6495
6585
  set minimumInViewportHeight(value) {
6496
6586
  this.options.minimumInViewportHeight = value;
6497
6587
  }
6588
+ get element() {
6589
+ return this._element;
6590
+ }
6498
6591
  constructor(options) {
6499
6592
  super();
6500
6593
  this.options = options;
@@ -6517,6 +6610,10 @@ define(['exports'], (function (exports) { 'use strict';
6517
6610
  this.options.container.appendChild(this._element);
6518
6611
  // if input bad resize within acceptable boundaries
6519
6612
  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 })));
6613
+ arialLevelTracker.push(this._element);
6614
+ }
6615
+ bringToFront() {
6616
+ arialLevelTracker.push(this._element);
6520
6617
  }
6521
6618
  setBounds(bounds = {}) {
6522
6619
  if (typeof bounds.height === 'number') {
@@ -6604,18 +6701,10 @@ define(['exports'], (function (exports) { 'use strict';
6604
6701
  const move = new MutableDisposable();
6605
6702
  const track = () => {
6606
6703
  let offset = null;
6607
- const iframes = [
6608
- ...getElementsByTagName('iframe'),
6609
- ...getElementsByTagName('webview'),
6610
- ];
6611
- for (const iframe of iframes) {
6612
- iframe.style.pointerEvents = 'none';
6613
- }
6704
+ const iframes = disableIframePointEvents();
6614
6705
  move.value = new CompositeDisposable({
6615
6706
  dispose: () => {
6616
- for (const iframe of iframes) {
6617
- iframe.style.pointerEvents = 'auto';
6618
- }
6707
+ iframes.release();
6619
6708
  },
6620
6709
  }, addDisposableWindowListener(window, 'mousemove', (e) => {
6621
6710
  const containerRect = this.options.container.getBoundingClientRect();
@@ -6684,9 +6773,8 @@ define(['exports'], (function (exports) { 'use strict';
6684
6773
  track();
6685
6774
  }
6686
6775
  }), addDisposableListener(this.options.content, 'mousedown', () => {
6687
- bringElementToFront(this._element);
6776
+ arialLevelTracker.push(this._element);
6688
6777
  }, true));
6689
- bringElementToFront(this._element);
6690
6778
  if (options.inDragMode) {
6691
6779
  track();
6692
6780
  }
@@ -6699,13 +6787,7 @@ define(['exports'], (function (exports) { 'use strict';
6699
6787
  this.addDisposables(move, addDisposableListener(resizeHandleElement, 'mousedown', (e) => {
6700
6788
  e.preventDefault();
6701
6789
  let startPosition = null;
6702
- const iframes = [
6703
- ...getElementsByTagName('iframe'),
6704
- ...getElementsByTagName('webview'),
6705
- ];
6706
- for (const iframe of iframes) {
6707
- iframe.style.pointerEvents = 'none';
6708
- }
6790
+ const iframes = disableIframePointEvents();
6709
6791
  move.value = new CompositeDisposable(addDisposableWindowListener(window, 'mousemove', (e) => {
6710
6792
  const containerRect = this.options.container.getBoundingClientRect();
6711
6793
  const overlayRect = this._element.getBoundingClientRect();
@@ -6828,9 +6910,7 @@ define(['exports'], (function (exports) { 'use strict';
6828
6910
  this.setBounds(bounds);
6829
6911
  }), {
6830
6912
  dispose: () => {
6831
- for (const iframe of iframes) {
6832
- iframe.style.pointerEvents = 'auto';
6833
- }
6913
+ iframes.release();
6834
6914
  },
6835
6915
  }, addDisposableWindowListener(window, 'mouseup', () => {
6836
6916
  move.dispose();
@@ -6851,6 +6931,7 @@ define(['exports'], (function (exports) { 'use strict';
6851
6931
  return 0;
6852
6932
  }
6853
6933
  dispose() {
6934
+ arialLevelTracker.destroy(this._element);
6854
6935
  this._element.remove();
6855
6936
  super.dispose();
6856
6937
  }
@@ -6879,9 +6960,10 @@ define(['exports'], (function (exports) { 'use strict';
6879
6960
  return element;
6880
6961
  }
6881
6962
  class OverlayRenderContainer extends CompositeDisposable {
6882
- constructor(element) {
6963
+ constructor(element, accessor) {
6883
6964
  super();
6884
6965
  this.element = element;
6966
+ this.accessor = accessor;
6885
6967
  this.map = {};
6886
6968
  this._disposed = false;
6887
6969
  this.addDisposables(exports.DockviewDisposable.from(() => {
@@ -6937,7 +7019,35 @@ define(['exports'], (function (exports) { 'use strict';
6937
7019
  }
6938
7020
  focusContainer.style.display = panel.api.isVisible ? '' : 'none';
6939
7021
  };
6940
- const disposable = new CompositeDisposable(
7022
+ const observerDisposable = new MutableDisposable();
7023
+ const correctLayerPosition = () => {
7024
+ if (panel.api.location.type === 'floating') {
7025
+ queueMicrotask(() => {
7026
+ const floatingGroup = this.accessor.floatingGroups.find((group) => group.group === panel.api.group);
7027
+ if (!floatingGroup) {
7028
+ return;
7029
+ }
7030
+ const element = floatingGroup.overlay.element;
7031
+ const update = () => {
7032
+ const level = Number(element.getAttribute('aria-level'));
7033
+ focusContainer.style.zIndex = `${DEFAULT_OVERLAY_Z_INDEX + level * 2 + 1}`;
7034
+ };
7035
+ const observer = new MutationObserver(() => {
7036
+ update();
7037
+ });
7038
+ observerDisposable.value = exports.DockviewDisposable.from(() => observer.disconnect());
7039
+ observer.observe(element, {
7040
+ attributeFilter: ['aria-level'],
7041
+ attributes: true,
7042
+ });
7043
+ update();
7044
+ });
7045
+ }
7046
+ else {
7047
+ focusContainer.style.zIndex = ''; // reset the z-index, perhaps CSS will take over here
7048
+ }
7049
+ };
7050
+ const disposable = new CompositeDisposable(observerDisposable,
6941
7051
  /**
6942
7052
  * since container is positioned absoutely we must explicitly forward
6943
7053
  * the dnd events for the expect behaviours to continue to occur in terms of dnd
@@ -6961,7 +7071,7 @@ define(['exports'], (function (exports) { 'use strict';
6961
7071
  onDragOver: (e) => {
6962
7072
  referenceContainer.dropTarget.dnd.onDragOver(e);
6963
7073
  },
6964
- }), panel.api.onDidVisibilityChange((event) => {
7074
+ }), panel.api.onDidVisibilityChange(() => {
6965
7075
  /**
6966
7076
  * Control the visibility of the content, however even when not visible (display: none)
6967
7077
  * the content is still maintained within the DOM hence DOM specific attributes
@@ -6973,6 +7083,8 @@ define(['exports'], (function (exports) { 'use strict';
6973
7083
  return;
6974
7084
  }
6975
7085
  resize();
7086
+ }), panel.api.onDidLocationChange(() => {
7087
+ correctLayerPosition();
6976
7088
  }));
6977
7089
  this.map[panel.api.id].destroy = exports.DockviewDisposable.from(() => {
6978
7090
  var _a;
@@ -6981,6 +7093,7 @@ define(['exports'], (function (exports) { 'use strict';
6981
7093
  }
6982
7094
  (_a = focusContainer.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(focusContainer);
6983
7095
  });
7096
+ correctLayerPosition();
6984
7097
  queueMicrotask(() => {
6985
7098
  if (this.isDisposed) {
6986
7099
  return;
@@ -7229,7 +7342,10 @@ define(['exports'], (function (exports) { 'use strict';
7229
7342
  get gap() {
7230
7343
  return this.gridview.margin;
7231
7344
  }
7232
- constructor(options) {
7345
+ get floatingGroups() {
7346
+ return this._floatingGroups;
7347
+ }
7348
+ constructor(parentElement, options) {
7233
7349
  var _a;
7234
7350
  super({
7235
7351
  proportionalLayout: true,
@@ -7237,10 +7353,11 @@ define(['exports'], (function (exports) { 'use strict';
7237
7353
  styles: options.hideBorders
7238
7354
  ? { separatorBorder: 'transparent' }
7239
7355
  : undefined,
7240
- parentElement: options.parentElement,
7356
+ parentElement: parentElement,
7241
7357
  disableAutoResizing: options.disableAutoResizing,
7242
7358
  locked: options.locked,
7243
7359
  margin: options.gap,
7360
+ className: options.className,
7244
7361
  });
7245
7362
  this.nextGroupId = sequentialNumberGenerator();
7246
7363
  this._deserializer = new DefaultDockviewDeserialzier(this);
@@ -7276,10 +7393,10 @@ define(['exports'], (function (exports) { 'use strict';
7276
7393
  this._onDidActiveGroupChange = new Emitter();
7277
7394
  this.onDidActiveGroupChange = this._onDidActiveGroupChange.event;
7278
7395
  this._moving = false;
7279
- const gready = document.createElement('div');
7280
- gready.className = 'dv-overlay-render-container';
7281
- this.gridview.element.appendChild(gready);
7282
- this.overlayRenderContainer = new OverlayRenderContainer(gready);
7396
+ // const gready = document.createElement('div');
7397
+ // gready.className = 'dv-overlay-render-container';
7398
+ // this.gridview.element.appendChild(gready);
7399
+ this.overlayRenderContainer = new OverlayRenderContainer(this.gridview.element, this);
7283
7400
  toggleClass(this.gridview.element, 'dv-dockview', true);
7284
7401
  toggleClass(this.element, 'dv-debug', !!options.debug);
7285
7402
  this.addDisposables(this.overlayRenderContainer, this._onWillDragPanel, this._onWillDragGroup, this._onWillShowOverlay, this._onDidActivePanelChange, this._onDidAddPanel, this._onDidRemovePanel, this._onDidLayoutFromJSON, this._onDidDrop, this._onWillDrop, this._onDidMovePanel, this._onDidAddGroup, this._onDidRemoveGroup, this._onDidActiveGroupChange, this._onUnhandledDragOverEvent, this.onDidViewVisibilityChangeMicroTaskQueue(() => {
@@ -7445,7 +7562,7 @@ define(['exports'], (function (exports) { 'use strict';
7445
7562
  }
7446
7563
  const gready = document.createElement('div');
7447
7564
  gready.className = 'dv-overlay-render-container';
7448
- const overlayRenderContainer = new OverlayRenderContainer(gready);
7565
+ const overlayRenderContainer = new OverlayRenderContainer(gready, this);
7449
7566
  const referenceGroup = itemToPopout instanceof DockviewPanel
7450
7567
  ? itemToPopout.group
7451
7568
  : itemToPopout;
@@ -7594,7 +7711,6 @@ define(['exports'], (function (exports) { 'use strict';
7594
7711
  }
7595
7712
  }
7596
7713
  }
7597
- group.model.location = { type: 'floating' };
7598
7714
  function getAnchoredBox() {
7599
7715
  if (options === null || options === void 0 ? void 0 : options.position) {
7600
7716
  const result = {};
@@ -7661,10 +7777,14 @@ define(['exports'], (function (exports) { 'use strict';
7661
7777
  : false,
7662
7778
  });
7663
7779
  const floatingGroupPanel = new DockviewFloatingGroupPanel(group, overlay);
7664
- const disposable = watchElementResize(group.element, (entry) => {
7780
+ const disposable = new CompositeDisposable(group.api.onDidActiveChange((event) => {
7781
+ if (event.isActive) {
7782
+ overlay.bringToFront();
7783
+ }
7784
+ }), watchElementResize(group.element, (entry) => {
7665
7785
  const { width, height } = entry.contentRect;
7666
7786
  group.layout(width, height); // let the group know it's size is changing so it can fire events to the panel
7667
- });
7787
+ }));
7668
7788
  floatingGroupPanel.addDisposables(overlay.onDidChange(() => {
7669
7789
  // this is either a resize or a move
7670
7790
  // to inform the panels .layout(...) the group with it's current size
@@ -7680,12 +7800,13 @@ define(['exports'], (function (exports) { 'use strict';
7680
7800
  }), {
7681
7801
  dispose: () => {
7682
7802
  disposable.dispose();
7683
- group.model.location = { type: 'grid' };
7684
7803
  remove(this._floatingGroups, floatingGroupPanel);
7804
+ group.model.location = { type: 'grid' };
7685
7805
  this.updateWatermark();
7686
7806
  },
7687
7807
  });
7688
7808
  this._floatingGroups.push(floatingGroupPanel);
7809
+ group.model.location = { type: 'floating' };
7689
7810
  if (!(options === null || options === void 0 ? void 0 : options.skipActiveGroup)) {
7690
7811
  this.doSetGroupAndPanelActive(group);
7691
7812
  }
@@ -7724,6 +7845,7 @@ define(['exports'], (function (exports) { 'use strict';
7724
7845
  }
7725
7846
  updateOptions(options) {
7726
7847
  var _a, _b;
7848
+ super.updateOptions(options);
7727
7849
  const changed_floatingGroupBounds = 'floatingGroupBounds' in options &&
7728
7850
  options.floatingGroupBounds !== this.options.floatingGroupBounds;
7729
7851
  const changed_rootOverlayOptions = 'rootOverlayModel' in options &&
@@ -8267,6 +8389,7 @@ define(['exports'], (function (exports) { 'use strict';
8267
8389
  this._groups.delete(group.id);
8268
8390
  this._onDidRemoveGroup.fire(group);
8269
8391
  }
8392
+ remove(this._popoutGroups, selectedGroup);
8270
8393
  const removedGroup = selectedGroup.disposable.dispose();
8271
8394
  if (!(options === null || options === void 0 ? void 0 : options.skipPopoutReturn) && removedGroup) {
8272
8395
  this.doAddGroup(removedGroup, [0]);
@@ -8378,6 +8501,31 @@ define(['exports'], (function (exports) { 'use strict';
8378
8501
  return;
8379
8502
  }
8380
8503
  }
8504
+ if (sourceGroup.api.location.type === 'popout') {
8505
+ /**
8506
+ * the source group is a popout group with a single panel
8507
+ *
8508
+ * 1. remove the panel from the group without triggering any events
8509
+ * 2. remove the popout group
8510
+ * 3. create a new group at the requested location and add that panel
8511
+ */
8512
+ const popoutGroup = this._popoutGroups.find((group) => group.popoutGroup === sourceGroup);
8513
+ const removedPanel = this.movingLock(() => popoutGroup.popoutGroup.model.removePanel(popoutGroup.popoutGroup.panels[0], {
8514
+ skipSetActive: true,
8515
+ skipSetActiveGroup: true,
8516
+ }));
8517
+ this.doRemoveGroup(sourceGroup, { skipActive: true });
8518
+ const newGroup = this.createGroupAtLocation(targetLocation);
8519
+ this.movingLock(() => newGroup.model.openPanel(removedPanel, {
8520
+ skipSetActive: true,
8521
+ }));
8522
+ this.doSetGroupAndPanelActive(newGroup);
8523
+ this._onDidMovePanel.fire({
8524
+ panel: this.getGroupPanel(sourceItemId),
8525
+ from: sourceGroup,
8526
+ });
8527
+ return;
8528
+ }
8381
8529
  // source group will become empty so delete the group
8382
8530
  const targetGroup = this.movingLock(() => this.doRemoveGroup(sourceGroup, {
8383
8531
  skipActive: true,
@@ -8609,13 +8757,14 @@ define(['exports'], (function (exports) { 'use strict';
8609
8757
  set deserializer(value) {
8610
8758
  this._deserializer = value;
8611
8759
  }
8612
- constructor(options) {
8760
+ constructor(parentElement, options) {
8613
8761
  super({
8614
- parentElement: options.parentElement,
8762
+ parentElement: parentElement,
8615
8763
  proportionalLayout: options.proportionalLayout,
8616
8764
  orientation: options.orientation,
8617
8765
  styles: options.styles,
8618
8766
  disableAutoResizing: options.disableAutoResizing,
8767
+ className: options.className,
8619
8768
  });
8620
8769
  this._onDidLayoutfromJSON = new Emitter();
8621
8770
  this.onDidLayoutFromJSON = this._onDidLayoutfromJSON.event;
@@ -8641,6 +8790,7 @@ define(['exports'], (function (exports) { 'use strict';
8641
8790
  }
8642
8791
  }
8643
8792
  updateOptions(options) {
8793
+ super.updateOptions(options);
8644
8794
  const hasOrientationChanged = typeof options.orientation === 'string' &&
8645
8795
  this.gridview.orientation !== options.orientation;
8646
8796
  this._options = Object.assign(Object.assign({}, this.options), options);
@@ -8907,8 +9057,9 @@ define(['exports'], (function (exports) { 'use strict';
8907
9057
  ? this.splitview.size
8908
9058
  : this.splitview.orthogonalSize;
8909
9059
  }
8910
- constructor(options) {
8911
- super(options.parentElement, options.disableAutoResizing);
9060
+ constructor(parentElement, options) {
9061
+ var _a, _b;
9062
+ super(parentElement, options.disableAutoResizing);
8912
9063
  this._splitviewChangeDisposable = new MutableDisposable();
8913
9064
  this._panels = new Map();
8914
9065
  this._onDidLayoutfromJSON = new Emitter();
@@ -8919,6 +9070,11 @@ define(['exports'], (function (exports) { 'use strict';
8919
9070
  this.onDidRemoveView = this._onDidRemoveView.event;
8920
9071
  this._onDidLayoutChange = new Emitter();
8921
9072
  this.onDidLayoutChange = this._onDidLayoutChange.event;
9073
+ this.classNames = [];
9074
+ this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
9075
+ for (const className of this.classNames) {
9076
+ toggleClass(this.element, className, true);
9077
+ }
8922
9078
  this._options = options;
8923
9079
  if (!options.components) {
8924
9080
  options.components = {};
@@ -8930,6 +9086,16 @@ define(['exports'], (function (exports) { 'use strict';
8930
9086
  this.addDisposables(this._onDidAddView, this._onDidLayoutfromJSON, this._onDidRemoveView, this._onDidLayoutChange);
8931
9087
  }
8932
9088
  updateOptions(options) {
9089
+ var _a, _b;
9090
+ if ('className' in options) {
9091
+ for (const className of this.classNames) {
9092
+ toggleClass(this.element, className, false);
9093
+ }
9094
+ this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
9095
+ for (const className of this.classNames) {
9096
+ toggleClass(this.element, className, true);
9097
+ }
9098
+ }
8933
9099
  const hasOrientationChanged = typeof options.orientation === 'string' &&
8934
9100
  this.options.orientation !== options.orientation;
8935
9101
  this._options = Object.assign(Object.assign({}, this.options), options);
@@ -9231,8 +9397,9 @@ define(['exports'], (function (exports) { 'use strict';
9231
9397
  get options() {
9232
9398
  return this._options;
9233
9399
  }
9234
- constructor(options) {
9235
- super(options.parentElement, options.disableAutoResizing);
9400
+ constructor(parentElement, options) {
9401
+ var _a, _b;
9402
+ super(parentElement, options.disableAutoResizing);
9236
9403
  this._id = nextLayoutId.next();
9237
9404
  this._disposable = new MutableDisposable();
9238
9405
  this._viewDisposables = new Map();
@@ -9246,7 +9413,12 @@ define(['exports'], (function (exports) { 'use strict';
9246
9413
  this.onDidAddView = this._onDidAddView.event;
9247
9414
  this._onDidRemoveView = new Emitter();
9248
9415
  this.onDidRemoveView = this._onDidRemoveView.event;
9416
+ this.classNames = [];
9249
9417
  this.addDisposables(this._onDidLayoutChange, this._onDidLayoutfromJSON, this._onDidDrop, this._onDidAddView, this._onDidRemoveView);
9418
+ this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
9419
+ for (const className of this.classNames) {
9420
+ toggleClass(this.element, className, true);
9421
+ }
9250
9422
  this._options = options;
9251
9423
  if (!options.components) {
9252
9424
  options.components = {};
@@ -9268,6 +9440,16 @@ define(['exports'], (function (exports) { 'use strict';
9268
9440
  //noop
9269
9441
  }
9270
9442
  updateOptions(options) {
9443
+ var _a, _b;
9444
+ if ('className' in options) {
9445
+ for (const className of this.classNames) {
9446
+ toggleClass(this.element, className, false);
9447
+ }
9448
+ this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
9449
+ for (const className of this.classNames) {
9450
+ toggleClass(this.element, className, true);
9451
+ }
9452
+ }
9271
9453
  this._options = Object.assign(Object.assign({}, this.options), options);
9272
9454
  }
9273
9455
  addPanel(options) {
@@ -9561,6 +9743,23 @@ define(['exports'], (function (exports) { 'use strict';
9561
9743
  }
9562
9744
  }
9563
9745
 
9746
+ function createDockview(element, options) {
9747
+ const component = new DockviewComponent(element, options);
9748
+ return component.api;
9749
+ }
9750
+ function createSplitview(element, options) {
9751
+ const component = new SplitviewComponent(element, options);
9752
+ return new SplitviewApi(component);
9753
+ }
9754
+ function createGridview(element, options) {
9755
+ const component = new GridviewComponent(element, options);
9756
+ return new GridviewApi(component);
9757
+ }
9758
+ function createPaneview(element, options) {
9759
+ const component = new PaneviewComponent(element, options);
9760
+ return new PaneviewApi(component);
9761
+ }
9762
+
9564
9763
  exports.BaseGrid = BaseGrid;
9565
9764
  exports.ContentContainer = ContentContainer;
9566
9765
  exports.DefaultDockviewDeserialzier = DefaultDockviewDeserialzier;
@@ -9597,6 +9796,10 @@ define(['exports'], (function (exports) { 'use strict';
9597
9796
  exports.Tab = Tab;
9598
9797
  exports.WillShowOverlayLocationEvent = WillShowOverlayLocationEvent;
9599
9798
  exports.createComponent = createComponent;
9799
+ exports.createDockview = createDockview;
9800
+ exports.createGridview = createGridview;
9801
+ exports.createPaneview = createPaneview;
9802
+ exports.createSplitview = createSplitview;
9600
9803
  exports.directionToPosition = directionToPosition;
9601
9804
  exports.getDirectionOrientation = getDirectionOrientation;
9602
9805
  exports.getGridLocation = getGridLocation;