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
  */
@@ -37,7 +37,7 @@
37
37
  }
38
38
  }
39
39
 
40
- 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}";
40
+ 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}";
41
41
  styleInject(css_248z);
42
42
 
43
43
  class TransferObject {
@@ -565,6 +565,26 @@
565
565
  function addTestId(element, id) {
566
566
  element.setAttribute('data-testid', id);
567
567
  }
568
+ function disableIframePointEvents() {
569
+ const iframes = [
570
+ ...getElementsByTagName('iframe'),
571
+ ...getElementsByTagName('webview'),
572
+ ];
573
+ const original = new WeakMap(); // don't hold onto HTMLElement references longer than required
574
+ for (const iframe of iframes) {
575
+ original.set(iframe, iframe.style.pointerEvents);
576
+ iframe.style.pointerEvents = 'none';
577
+ }
578
+ return {
579
+ release: () => {
580
+ var _a;
581
+ for (const iframe of iframes) {
582
+ iframe.style.pointerEvents = (_a = original.get(iframe)) !== null && _a !== void 0 ? _a : 'auto';
583
+ }
584
+ iframes.splice(0, iframes.length); // don't hold onto HTMLElement references longer than required
585
+ },
586
+ };
587
+ }
568
588
 
569
589
  function tail(arr) {
570
590
  if (arr.length === 0) {
@@ -1087,13 +1107,7 @@
1087
1107
  for (const item of this.viewItems) {
1088
1108
  item.enabled = false;
1089
1109
  }
1090
- const iframes = [
1091
- ...getElementsByTagName('iframe'),
1092
- ...getElementsByTagName('webview'),
1093
- ];
1094
- for (const iframe of iframes) {
1095
- iframe.style.pointerEvents = 'none';
1096
- }
1110
+ const iframes = disableIframePointEvents();
1097
1111
  const start = this._orientation === exports.Orientation.HORIZONTAL
1098
1112
  ? event.clientX
1099
1113
  : event.clientY;
@@ -1155,9 +1169,7 @@
1155
1169
  for (const item of this.viewItems) {
1156
1170
  item.enabled = true;
1157
1171
  }
1158
- for (const iframe of iframes) {
1159
- iframe.style.pointerEvents = 'auto';
1160
- }
1172
+ iframes.release();
1161
1173
  this.saveProportions();
1162
1174
  document.removeEventListener('pointermove', onPointerMove);
1163
1175
  document.removeEventListener('pointerup', end);
@@ -1324,29 +1336,47 @@
1324
1336
  if (this.viewItems.length === 0) {
1325
1337
  return;
1326
1338
  }
1327
- const sashCount = this.viewItems.length - 1;
1328
- const marginReducedSize = (this.margin * sashCount) / this.viewItems.length;
1339
+ const visibleViewItems = this.viewItems.filter((i) => i.visible);
1340
+ const sashCount = Math.max(0, visibleViewItems.length - 1);
1341
+ const marginReducedSize = (this.margin * sashCount) / Math.max(1, visibleViewItems.length);
1329
1342
  let totalLeftOffset = 0;
1330
1343
  const viewLeftOffsets = [];
1331
- for (let i = 0; i < this.viewItems.length - 1; i++) {
1332
- totalLeftOffset += this.viewItems[i].size;
1333
- viewLeftOffsets.push(totalLeftOffset);
1334
- const offset = Math.min(Math.max(0, totalLeftOffset - 2), this.size - this.margin);
1335
- if (this._orientation === exports.Orientation.HORIZONTAL) {
1336
- this.sashes[i].container.style.left = `${offset}px`;
1337
- this.sashes[i].container.style.top = `0px`;
1344
+ const sashWidth = 4; // hardcoded in css
1345
+ const runningVisiblePanelCount = this.viewItems.reduce((arr, viewItem, i) => {
1346
+ const flag = viewItem.visible ? 1 : 0;
1347
+ if (i === 0) {
1348
+ arr.push(flag);
1338
1349
  }
1339
- if (this._orientation === exports.Orientation.VERTICAL) {
1340
- this.sashes[i].container.style.left = `0px`;
1341
- this.sashes[i].container.style.top = `${offset}px`;
1350
+ else {
1351
+ arr.push(arr[i - 1] + flag);
1342
1352
  }
1343
- }
1353
+ return arr;
1354
+ }, []);
1355
+ // calculate both view and cash positions
1344
1356
  this.viewItems.forEach((view, i) => {
1345
- const size = view.size - marginReducedSize;
1346
- const offset = i === 0
1357
+ totalLeftOffset += this.viewItems[i].size;
1358
+ viewLeftOffsets.push(totalLeftOffset);
1359
+ const size = view.visible ? view.size - marginReducedSize : 0;
1360
+ const visiblePanelsBeforeThisView = Math.max(0, runningVisiblePanelCount[i] - 1);
1361
+ const offset = i === 0 || visiblePanelsBeforeThisView === 0
1347
1362
  ? 0
1348
1363
  : viewLeftOffsets[i - 1] +
1349
- (i / sashCount) * marginReducedSize;
1364
+ (visiblePanelsBeforeThisView / sashCount) * marginReducedSize;
1365
+ if (i < this.viewItems.length - 1) {
1366
+ // calculate sash position
1367
+ const newSize = view.visible
1368
+ ? offset + size - sashWidth / 2 + this.margin / 2
1369
+ : offset;
1370
+ if (this._orientation === exports.Orientation.HORIZONTAL) {
1371
+ this.sashes[i].container.style.left = `${newSize}px`;
1372
+ this.sashes[i].container.style.top = `0px`;
1373
+ }
1374
+ if (this._orientation === exports.Orientation.VERTICAL) {
1375
+ this.sashes[i].container.style.left = `0px`;
1376
+ this.sashes[i].container.style.top = `${newSize}px`;
1377
+ }
1378
+ }
1379
+ // calculate view position
1350
1380
  if (this._orientation === exports.Orientation.HORIZONTAL) {
1351
1381
  view.container.style.width = `${size}px`;
1352
1382
  view.container.style.left = `${offset}px`;
@@ -2675,6 +2705,7 @@
2675
2705
  this.gridview.locked = value;
2676
2706
  }
2677
2707
  constructor(options) {
2708
+ var _a, _b;
2678
2709
  super(document.createElement('div'), options.disableAutoResizing);
2679
2710
  this._id = nextLayoutId$1.next();
2680
2711
  this._groups = new Map();
@@ -2688,8 +2719,13 @@
2688
2719
  this.onDidLayoutChange = this._bufferOnDidLayoutChange.onEvent;
2689
2720
  this._onDidViewVisibilityChangeMicroTaskQueue = new AsapEvent();
2690
2721
  this.onDidViewVisibilityChangeMicroTaskQueue = this._onDidViewVisibilityChangeMicroTaskQueue.onEvent;
2722
+ this.classNames = [];
2691
2723
  this.element.style.height = '100%';
2692
2724
  this.element.style.width = '100%';
2725
+ this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
2726
+ for (const className of this.classNames) {
2727
+ toggleClass(this.element, className, true);
2728
+ }
2693
2729
  options.parentElement.appendChild(this.element);
2694
2730
  this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation, options.locked, options.margin);
2695
2731
  this.gridview.locked = !!options.locked;
@@ -2713,6 +2749,18 @@
2713
2749
  isVisible(panel) {
2714
2750
  return this.gridview.isViewVisible(getGridLocation(panel.element));
2715
2751
  }
2752
+ updateOptions(options) {
2753
+ var _a, _b;
2754
+ if ('className' in options) {
2755
+ for (const className of this.classNames) {
2756
+ toggleClass(this.element, className, false);
2757
+ }
2758
+ this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
2759
+ for (const className of this.classNames) {
2760
+ toggleClass(this.element, className, true);
2761
+ }
2762
+ }
2763
+ }
2716
2764
  maximizeGroup(panel) {
2717
2765
  this.gridview.maximizeView(panel);
2718
2766
  this.doSetGroupActive(panel);
@@ -2893,12 +2941,6 @@
2893
2941
  constructor(component) {
2894
2942
  this.component = component;
2895
2943
  }
2896
- /**
2897
- * Update configuratable options.
2898
- */
2899
- updateOptions(options) {
2900
- this.component.updateOptions(options);
2901
- }
2902
2944
  /**
2903
2945
  * Removes an existing panel and optionally provide a `Sizing` method
2904
2946
  * for the subsequent resize.
@@ -2952,6 +2994,18 @@
2952
2994
  clear() {
2953
2995
  this.component.clear();
2954
2996
  }
2997
+ /**
2998
+ * Update configuratable options.
2999
+ */
3000
+ updateOptions(options) {
3001
+ this.component.updateOptions(options);
3002
+ }
3003
+ /**
3004
+ * Release resources and teardown component. Do not call when using framework versions of dockview.
3005
+ */
3006
+ dispose() {
3007
+ this.component.dispose();
3008
+ }
2955
3009
  }
2956
3010
  class PaneviewApi {
2957
3011
  /**
@@ -3079,6 +3133,18 @@
3079
3133
  clear() {
3080
3134
  this.component.clear();
3081
3135
  }
3136
+ /**
3137
+ * Update configuratable options.
3138
+ */
3139
+ updateOptions(options) {
3140
+ this.component.updateOptions(options);
3141
+ }
3142
+ /**
3143
+ * Release resources and teardown component. Do not call when using framework versions of dockview.
3144
+ */
3145
+ dispose() {
3146
+ this.component.dispose();
3147
+ }
3082
3148
  }
3083
3149
  class GridviewApi {
3084
3150
  /**
@@ -3219,6 +3285,15 @@
3219
3285
  clear() {
3220
3286
  this.component.clear();
3221
3287
  }
3288
+ updateOptions(options) {
3289
+ this.component.updateOptions(options);
3290
+ }
3291
+ /**
3292
+ * Release resources and teardown component. Do not call when using framework versions of dockview.
3293
+ */
3294
+ dispose() {
3295
+ this.component.dispose();
3296
+ }
3222
3297
  }
3223
3298
  class DockviewApi {
3224
3299
  /**
@@ -3511,6 +3586,15 @@
3511
3586
  setGap(gap) {
3512
3587
  this.component.updateOptions({ gap });
3513
3588
  }
3589
+ updateOptions(options) {
3590
+ this.component.updateOptions(options);
3591
+ }
3592
+ /**
3593
+ * Release resources and teardown component. Do not call when using framework versions of dockview.
3594
+ */
3595
+ dispose() {
3596
+ this.component.dispose();
3597
+ }
3514
3598
  }
3515
3599
 
3516
3600
  class DragHandler extends CompositeDisposable {
@@ -3533,20 +3617,12 @@
3533
3617
  event.preventDefault();
3534
3618
  return;
3535
3619
  }
3536
- const iframes = [
3537
- ...getElementsByTagName('iframe'),
3538
- ...getElementsByTagName('webview'),
3539
- ];
3620
+ const iframes = disableIframePointEvents();
3540
3621
  this.pointerEventsDisposable.value = {
3541
3622
  dispose: () => {
3542
- for (const iframe of iframes) {
3543
- iframe.style.pointerEvents = 'auto';
3544
- }
3623
+ iframes.release();
3545
3624
  },
3546
3625
  };
3547
- for (const iframe of iframes) {
3548
- iframe.style.pointerEvents = 'none';
3549
- }
3550
3626
  this.el.classList.add('dv-dragged');
3551
3627
  setTimeout(() => this.el.classList.remove('dv-dragged'), 0);
3552
3628
  this.dataDisposable.value = this.getData(event);
@@ -4710,7 +4786,7 @@
4710
4786
  this._element.className = 'void-container';
4711
4787
  this._element.tabIndex = 0;
4712
4788
  this._element.draggable = true;
4713
- this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, 'click', () => {
4789
+ this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, 'pointerdown', () => {
4714
4790
  this.accessor.doSetGroupActive(this.group);
4715
4791
  }));
4716
4792
  const handler = new GroupDragHandler(this._element, accessor, group);
@@ -5025,6 +5101,7 @@
5025
5101
  locked: undefined,
5026
5102
  disableDnd: undefined,
5027
5103
  gap: undefined,
5104
+ className: undefined,
5028
5105
  };
5029
5106
  return Object.keys(properties);
5030
5107
  })();
@@ -5580,7 +5657,7 @@
5580
5657
  group: this.groupPanel,
5581
5658
  });
5582
5659
  this.watermark = watermark;
5583
- addDisposableListener(this.watermark.element, 'click', () => {
5660
+ addDisposableListener(this.watermark.element, 'pointerdown', () => {
5584
5661
  if (!this.isActive) {
5585
5662
  this.accessor.doSetGroupActive(this.groupPanel);
5586
5663
  }
@@ -6145,7 +6222,7 @@
6145
6222
  // forward the resize event to the group since if you want to resize a panel
6146
6223
  // you are actually just resizing the panels parent which is the group
6147
6224
  this.group.api.setSize(event);
6148
- }), this.api.onDidRendererChange((event) => {
6225
+ }), this.api.onDidRendererChange(() => {
6149
6226
  this.group.model.rerender(this);
6150
6227
  }));
6151
6228
  }
@@ -6481,17 +6558,30 @@
6481
6558
  }
6482
6559
  }
6483
6560
 
6484
- const bringElementToFront = (() => {
6485
- let previous = null;
6486
- function pushToTop(element) {
6487
- if (previous !== element && previous !== null) {
6488
- toggleClass(previous, 'dv-bring-to-front', false);
6561
+ const DEFAULT_OVERLAY_Z_INDEX = 999;
6562
+ class AriaLevelTracker {
6563
+ constructor() {
6564
+ this._orderedList = [];
6565
+ }
6566
+ push(element) {
6567
+ this._orderedList = [
6568
+ ...this._orderedList.filter((item) => item !== element),
6569
+ element,
6570
+ ];
6571
+ this.update();
6572
+ }
6573
+ destroy(element) {
6574
+ this._orderedList = this._orderedList.filter((item) => item !== element);
6575
+ this.update();
6576
+ }
6577
+ update() {
6578
+ for (let i = 0; i < this._orderedList.length; i++) {
6579
+ this._orderedList[i].setAttribute('aria-level', `${i}`);
6580
+ this._orderedList[i].style.zIndex = `${DEFAULT_OVERLAY_Z_INDEX + i * 2}`;
6489
6581
  }
6490
- toggleClass(element, 'dv-bring-to-front', true);
6491
- previous = element;
6492
6582
  }
6493
- return pushToTop;
6494
- })();
6583
+ }
6584
+ const arialLevelTracker = new AriaLevelTracker();
6495
6585
  class Overlay extends CompositeDisposable {
6496
6586
  set minimumInViewportWidth(value) {
6497
6587
  this.options.minimumInViewportWidth = value;
@@ -6499,6 +6589,9 @@
6499
6589
  set minimumInViewportHeight(value) {
6500
6590
  this.options.minimumInViewportHeight = value;
6501
6591
  }
6592
+ get element() {
6593
+ return this._element;
6594
+ }
6502
6595
  constructor(options) {
6503
6596
  super();
6504
6597
  this.options = options;
@@ -6521,6 +6614,10 @@
6521
6614
  this.options.container.appendChild(this._element);
6522
6615
  // if input bad resize within acceptable boundaries
6523
6616
  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 })));
6617
+ arialLevelTracker.push(this._element);
6618
+ }
6619
+ bringToFront() {
6620
+ arialLevelTracker.push(this._element);
6524
6621
  }
6525
6622
  setBounds(bounds = {}) {
6526
6623
  if (typeof bounds.height === 'number') {
@@ -6608,18 +6705,10 @@
6608
6705
  const move = new MutableDisposable();
6609
6706
  const track = () => {
6610
6707
  let offset = null;
6611
- const iframes = [
6612
- ...getElementsByTagName('iframe'),
6613
- ...getElementsByTagName('webview'),
6614
- ];
6615
- for (const iframe of iframes) {
6616
- iframe.style.pointerEvents = 'none';
6617
- }
6708
+ const iframes = disableIframePointEvents();
6618
6709
  move.value = new CompositeDisposable({
6619
6710
  dispose: () => {
6620
- for (const iframe of iframes) {
6621
- iframe.style.pointerEvents = 'auto';
6622
- }
6711
+ iframes.release();
6623
6712
  },
6624
6713
  }, addDisposableWindowListener(window, 'mousemove', (e) => {
6625
6714
  const containerRect = this.options.container.getBoundingClientRect();
@@ -6688,9 +6777,8 @@
6688
6777
  track();
6689
6778
  }
6690
6779
  }), addDisposableListener(this.options.content, 'mousedown', () => {
6691
- bringElementToFront(this._element);
6780
+ arialLevelTracker.push(this._element);
6692
6781
  }, true));
6693
- bringElementToFront(this._element);
6694
6782
  if (options.inDragMode) {
6695
6783
  track();
6696
6784
  }
@@ -6703,13 +6791,7 @@
6703
6791
  this.addDisposables(move, addDisposableListener(resizeHandleElement, 'mousedown', (e) => {
6704
6792
  e.preventDefault();
6705
6793
  let startPosition = null;
6706
- const iframes = [
6707
- ...getElementsByTagName('iframe'),
6708
- ...getElementsByTagName('webview'),
6709
- ];
6710
- for (const iframe of iframes) {
6711
- iframe.style.pointerEvents = 'none';
6712
- }
6794
+ const iframes = disableIframePointEvents();
6713
6795
  move.value = new CompositeDisposable(addDisposableWindowListener(window, 'mousemove', (e) => {
6714
6796
  const containerRect = this.options.container.getBoundingClientRect();
6715
6797
  const overlayRect = this._element.getBoundingClientRect();
@@ -6832,9 +6914,7 @@
6832
6914
  this.setBounds(bounds);
6833
6915
  }), {
6834
6916
  dispose: () => {
6835
- for (const iframe of iframes) {
6836
- iframe.style.pointerEvents = 'auto';
6837
- }
6917
+ iframes.release();
6838
6918
  },
6839
6919
  }, addDisposableWindowListener(window, 'mouseup', () => {
6840
6920
  move.dispose();
@@ -6855,6 +6935,7 @@
6855
6935
  return 0;
6856
6936
  }
6857
6937
  dispose() {
6938
+ arialLevelTracker.destroy(this._element);
6858
6939
  this._element.remove();
6859
6940
  super.dispose();
6860
6941
  }
@@ -6883,9 +6964,10 @@
6883
6964
  return element;
6884
6965
  }
6885
6966
  class OverlayRenderContainer extends CompositeDisposable {
6886
- constructor(element) {
6967
+ constructor(element, accessor) {
6887
6968
  super();
6888
6969
  this.element = element;
6970
+ this.accessor = accessor;
6889
6971
  this.map = {};
6890
6972
  this._disposed = false;
6891
6973
  this.addDisposables(exports.DockviewDisposable.from(() => {
@@ -6941,7 +7023,35 @@
6941
7023
  }
6942
7024
  focusContainer.style.display = panel.api.isVisible ? '' : 'none';
6943
7025
  };
6944
- const disposable = new CompositeDisposable(
7026
+ const observerDisposable = new MutableDisposable();
7027
+ const correctLayerPosition = () => {
7028
+ if (panel.api.location.type === 'floating') {
7029
+ queueMicrotask(() => {
7030
+ const floatingGroup = this.accessor.floatingGroups.find((group) => group.group === panel.api.group);
7031
+ if (!floatingGroup) {
7032
+ return;
7033
+ }
7034
+ const element = floatingGroup.overlay.element;
7035
+ const update = () => {
7036
+ const level = Number(element.getAttribute('aria-level'));
7037
+ focusContainer.style.zIndex = `${DEFAULT_OVERLAY_Z_INDEX + level * 2 + 1}`;
7038
+ };
7039
+ const observer = new MutationObserver(() => {
7040
+ update();
7041
+ });
7042
+ observerDisposable.value = exports.DockviewDisposable.from(() => observer.disconnect());
7043
+ observer.observe(element, {
7044
+ attributeFilter: ['aria-level'],
7045
+ attributes: true,
7046
+ });
7047
+ update();
7048
+ });
7049
+ }
7050
+ else {
7051
+ focusContainer.style.zIndex = ''; // reset the z-index, perhaps CSS will take over here
7052
+ }
7053
+ };
7054
+ const disposable = new CompositeDisposable(observerDisposable,
6945
7055
  /**
6946
7056
  * since container is positioned absoutely we must explicitly forward
6947
7057
  * the dnd events for the expect behaviours to continue to occur in terms of dnd
@@ -6965,7 +7075,7 @@
6965
7075
  onDragOver: (e) => {
6966
7076
  referenceContainer.dropTarget.dnd.onDragOver(e);
6967
7077
  },
6968
- }), panel.api.onDidVisibilityChange((event) => {
7078
+ }), panel.api.onDidVisibilityChange(() => {
6969
7079
  /**
6970
7080
  * Control the visibility of the content, however even when not visible (display: none)
6971
7081
  * the content is still maintained within the DOM hence DOM specific attributes
@@ -6977,6 +7087,8 @@
6977
7087
  return;
6978
7088
  }
6979
7089
  resize();
7090
+ }), panel.api.onDidLocationChange(() => {
7091
+ correctLayerPosition();
6980
7092
  }));
6981
7093
  this.map[panel.api.id].destroy = exports.DockviewDisposable.from(() => {
6982
7094
  var _a;
@@ -6985,6 +7097,7 @@
6985
7097
  }
6986
7098
  (_a = focusContainer.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(focusContainer);
6987
7099
  });
7100
+ correctLayerPosition();
6988
7101
  queueMicrotask(() => {
6989
7102
  if (this.isDisposed) {
6990
7103
  return;
@@ -7233,7 +7346,10 @@
7233
7346
  get gap() {
7234
7347
  return this.gridview.margin;
7235
7348
  }
7236
- constructor(options) {
7349
+ get floatingGroups() {
7350
+ return this._floatingGroups;
7351
+ }
7352
+ constructor(parentElement, options) {
7237
7353
  var _a;
7238
7354
  super({
7239
7355
  proportionalLayout: true,
@@ -7241,10 +7357,11 @@
7241
7357
  styles: options.hideBorders
7242
7358
  ? { separatorBorder: 'transparent' }
7243
7359
  : undefined,
7244
- parentElement: options.parentElement,
7360
+ parentElement: parentElement,
7245
7361
  disableAutoResizing: options.disableAutoResizing,
7246
7362
  locked: options.locked,
7247
7363
  margin: options.gap,
7364
+ className: options.className,
7248
7365
  });
7249
7366
  this.nextGroupId = sequentialNumberGenerator();
7250
7367
  this._deserializer = new DefaultDockviewDeserialzier(this);
@@ -7280,10 +7397,10 @@
7280
7397
  this._onDidActiveGroupChange = new Emitter();
7281
7398
  this.onDidActiveGroupChange = this._onDidActiveGroupChange.event;
7282
7399
  this._moving = false;
7283
- const gready = document.createElement('div');
7284
- gready.className = 'dv-overlay-render-container';
7285
- this.gridview.element.appendChild(gready);
7286
- this.overlayRenderContainer = new OverlayRenderContainer(gready);
7400
+ // const gready = document.createElement('div');
7401
+ // gready.className = 'dv-overlay-render-container';
7402
+ // this.gridview.element.appendChild(gready);
7403
+ this.overlayRenderContainer = new OverlayRenderContainer(this.gridview.element, this);
7287
7404
  toggleClass(this.gridview.element, 'dv-dockview', true);
7288
7405
  toggleClass(this.element, 'dv-debug', !!options.debug);
7289
7406
  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(() => {
@@ -7449,7 +7566,7 @@
7449
7566
  }
7450
7567
  const gready = document.createElement('div');
7451
7568
  gready.className = 'dv-overlay-render-container';
7452
- const overlayRenderContainer = new OverlayRenderContainer(gready);
7569
+ const overlayRenderContainer = new OverlayRenderContainer(gready, this);
7453
7570
  const referenceGroup = itemToPopout instanceof DockviewPanel
7454
7571
  ? itemToPopout.group
7455
7572
  : itemToPopout;
@@ -7598,7 +7715,6 @@
7598
7715
  }
7599
7716
  }
7600
7717
  }
7601
- group.model.location = { type: 'floating' };
7602
7718
  function getAnchoredBox() {
7603
7719
  if (options === null || options === void 0 ? void 0 : options.position) {
7604
7720
  const result = {};
@@ -7665,10 +7781,14 @@
7665
7781
  : false,
7666
7782
  });
7667
7783
  const floatingGroupPanel = new DockviewFloatingGroupPanel(group, overlay);
7668
- const disposable = watchElementResize(group.element, (entry) => {
7784
+ const disposable = new CompositeDisposable(group.api.onDidActiveChange((event) => {
7785
+ if (event.isActive) {
7786
+ overlay.bringToFront();
7787
+ }
7788
+ }), watchElementResize(group.element, (entry) => {
7669
7789
  const { width, height } = entry.contentRect;
7670
7790
  group.layout(width, height); // let the group know it's size is changing so it can fire events to the panel
7671
- });
7791
+ }));
7672
7792
  floatingGroupPanel.addDisposables(overlay.onDidChange(() => {
7673
7793
  // this is either a resize or a move
7674
7794
  // to inform the panels .layout(...) the group with it's current size
@@ -7684,12 +7804,13 @@
7684
7804
  }), {
7685
7805
  dispose: () => {
7686
7806
  disposable.dispose();
7687
- group.model.location = { type: 'grid' };
7688
7807
  remove(this._floatingGroups, floatingGroupPanel);
7808
+ group.model.location = { type: 'grid' };
7689
7809
  this.updateWatermark();
7690
7810
  },
7691
7811
  });
7692
7812
  this._floatingGroups.push(floatingGroupPanel);
7813
+ group.model.location = { type: 'floating' };
7693
7814
  if (!(options === null || options === void 0 ? void 0 : options.skipActiveGroup)) {
7694
7815
  this.doSetGroupAndPanelActive(group);
7695
7816
  }
@@ -7728,6 +7849,7 @@
7728
7849
  }
7729
7850
  updateOptions(options) {
7730
7851
  var _a, _b;
7852
+ super.updateOptions(options);
7731
7853
  const changed_floatingGroupBounds = 'floatingGroupBounds' in options &&
7732
7854
  options.floatingGroupBounds !== this.options.floatingGroupBounds;
7733
7855
  const changed_rootOverlayOptions = 'rootOverlayModel' in options &&
@@ -8271,6 +8393,7 @@
8271
8393
  this._groups.delete(group.id);
8272
8394
  this._onDidRemoveGroup.fire(group);
8273
8395
  }
8396
+ remove(this._popoutGroups, selectedGroup);
8274
8397
  const removedGroup = selectedGroup.disposable.dispose();
8275
8398
  if (!(options === null || options === void 0 ? void 0 : options.skipPopoutReturn) && removedGroup) {
8276
8399
  this.doAddGroup(removedGroup, [0]);
@@ -8382,6 +8505,31 @@
8382
8505
  return;
8383
8506
  }
8384
8507
  }
8508
+ if (sourceGroup.api.location.type === 'popout') {
8509
+ /**
8510
+ * the source group is a popout group with a single panel
8511
+ *
8512
+ * 1. remove the panel from the group without triggering any events
8513
+ * 2. remove the popout group
8514
+ * 3. create a new group at the requested location and add that panel
8515
+ */
8516
+ const popoutGroup = this._popoutGroups.find((group) => group.popoutGroup === sourceGroup);
8517
+ const removedPanel = this.movingLock(() => popoutGroup.popoutGroup.model.removePanel(popoutGroup.popoutGroup.panels[0], {
8518
+ skipSetActive: true,
8519
+ skipSetActiveGroup: true,
8520
+ }));
8521
+ this.doRemoveGroup(sourceGroup, { skipActive: true });
8522
+ const newGroup = this.createGroupAtLocation(targetLocation);
8523
+ this.movingLock(() => newGroup.model.openPanel(removedPanel, {
8524
+ skipSetActive: true,
8525
+ }));
8526
+ this.doSetGroupAndPanelActive(newGroup);
8527
+ this._onDidMovePanel.fire({
8528
+ panel: this.getGroupPanel(sourceItemId),
8529
+ from: sourceGroup,
8530
+ });
8531
+ return;
8532
+ }
8385
8533
  // source group will become empty so delete the group
8386
8534
  const targetGroup = this.movingLock(() => this.doRemoveGroup(sourceGroup, {
8387
8535
  skipActive: true,
@@ -8613,13 +8761,14 @@
8613
8761
  set deserializer(value) {
8614
8762
  this._deserializer = value;
8615
8763
  }
8616
- constructor(options) {
8764
+ constructor(parentElement, options) {
8617
8765
  super({
8618
- parentElement: options.parentElement,
8766
+ parentElement: parentElement,
8619
8767
  proportionalLayout: options.proportionalLayout,
8620
8768
  orientation: options.orientation,
8621
8769
  styles: options.styles,
8622
8770
  disableAutoResizing: options.disableAutoResizing,
8771
+ className: options.className,
8623
8772
  });
8624
8773
  this._onDidLayoutfromJSON = new Emitter();
8625
8774
  this.onDidLayoutFromJSON = this._onDidLayoutfromJSON.event;
@@ -8645,6 +8794,7 @@
8645
8794
  }
8646
8795
  }
8647
8796
  updateOptions(options) {
8797
+ super.updateOptions(options);
8648
8798
  const hasOrientationChanged = typeof options.orientation === 'string' &&
8649
8799
  this.gridview.orientation !== options.orientation;
8650
8800
  this._options = Object.assign(Object.assign({}, this.options), options);
@@ -8911,8 +9061,9 @@
8911
9061
  ? this.splitview.size
8912
9062
  : this.splitview.orthogonalSize;
8913
9063
  }
8914
- constructor(options) {
8915
- super(options.parentElement, options.disableAutoResizing);
9064
+ constructor(parentElement, options) {
9065
+ var _a, _b;
9066
+ super(parentElement, options.disableAutoResizing);
8916
9067
  this._splitviewChangeDisposable = new MutableDisposable();
8917
9068
  this._panels = new Map();
8918
9069
  this._onDidLayoutfromJSON = new Emitter();
@@ -8923,6 +9074,11 @@
8923
9074
  this.onDidRemoveView = this._onDidRemoveView.event;
8924
9075
  this._onDidLayoutChange = new Emitter();
8925
9076
  this.onDidLayoutChange = this._onDidLayoutChange.event;
9077
+ this.classNames = [];
9078
+ this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
9079
+ for (const className of this.classNames) {
9080
+ toggleClass(this.element, className, true);
9081
+ }
8926
9082
  this._options = options;
8927
9083
  if (!options.components) {
8928
9084
  options.components = {};
@@ -8934,6 +9090,16 @@
8934
9090
  this.addDisposables(this._onDidAddView, this._onDidLayoutfromJSON, this._onDidRemoveView, this._onDidLayoutChange);
8935
9091
  }
8936
9092
  updateOptions(options) {
9093
+ var _a, _b;
9094
+ if ('className' in options) {
9095
+ for (const className of this.classNames) {
9096
+ toggleClass(this.element, className, false);
9097
+ }
9098
+ this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
9099
+ for (const className of this.classNames) {
9100
+ toggleClass(this.element, className, true);
9101
+ }
9102
+ }
8937
9103
  const hasOrientationChanged = typeof options.orientation === 'string' &&
8938
9104
  this.options.orientation !== options.orientation;
8939
9105
  this._options = Object.assign(Object.assign({}, this.options), options);
@@ -9235,8 +9401,9 @@
9235
9401
  get options() {
9236
9402
  return this._options;
9237
9403
  }
9238
- constructor(options) {
9239
- super(options.parentElement, options.disableAutoResizing);
9404
+ constructor(parentElement, options) {
9405
+ var _a, _b;
9406
+ super(parentElement, options.disableAutoResizing);
9240
9407
  this._id = nextLayoutId.next();
9241
9408
  this._disposable = new MutableDisposable();
9242
9409
  this._viewDisposables = new Map();
@@ -9250,7 +9417,12 @@
9250
9417
  this.onDidAddView = this._onDidAddView.event;
9251
9418
  this._onDidRemoveView = new Emitter();
9252
9419
  this.onDidRemoveView = this._onDidRemoveView.event;
9420
+ this.classNames = [];
9253
9421
  this.addDisposables(this._onDidLayoutChange, this._onDidLayoutfromJSON, this._onDidDrop, this._onDidAddView, this._onDidRemoveView);
9422
+ this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
9423
+ for (const className of this.classNames) {
9424
+ toggleClass(this.element, className, true);
9425
+ }
9254
9426
  this._options = options;
9255
9427
  if (!options.components) {
9256
9428
  options.components = {};
@@ -9272,6 +9444,16 @@
9272
9444
  //noop
9273
9445
  }
9274
9446
  updateOptions(options) {
9447
+ var _a, _b;
9448
+ if ('className' in options) {
9449
+ for (const className of this.classNames) {
9450
+ toggleClass(this.element, className, false);
9451
+ }
9452
+ this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
9453
+ for (const className of this.classNames) {
9454
+ toggleClass(this.element, className, true);
9455
+ }
9456
+ }
9275
9457
  this._options = Object.assign(Object.assign({}, this.options), options);
9276
9458
  }
9277
9459
  addPanel(options) {
@@ -9565,6 +9747,23 @@
9565
9747
  }
9566
9748
  }
9567
9749
 
9750
+ function createDockview(element, options) {
9751
+ const component = new DockviewComponent(element, options);
9752
+ return component.api;
9753
+ }
9754
+ function createSplitview(element, options) {
9755
+ const component = new SplitviewComponent(element, options);
9756
+ return new SplitviewApi(component);
9757
+ }
9758
+ function createGridview(element, options) {
9759
+ const component = new GridviewComponent(element, options);
9760
+ return new GridviewApi(component);
9761
+ }
9762
+ function createPaneview(element, options) {
9763
+ const component = new PaneviewComponent(element, options);
9764
+ return new PaneviewApi(component);
9765
+ }
9766
+
9568
9767
  exports.BaseGrid = BaseGrid;
9569
9768
  exports.ContentContainer = ContentContainer;
9570
9769
  exports.DefaultDockviewDeserialzier = DefaultDockviewDeserialzier;
@@ -9601,6 +9800,10 @@
9601
9800
  exports.Tab = Tab;
9602
9801
  exports.WillShowOverlayLocationEvent = WillShowOverlayLocationEvent;
9603
9802
  exports.createComponent = createComponent;
9803
+ exports.createDockview = createDockview;
9804
+ exports.createGridview = createGridview;
9805
+ exports.createPaneview = createPaneview;
9806
+ exports.createSplitview = createSplitview;
9604
9807
  exports.directionToPosition = directionToPosition;
9605
9808
  exports.getDirectionOrientation = getDirectionOrientation;
9606
9809
  exports.getGridLocation = getGridLocation;