dockview-core 1.16.1 → 1.17.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 (80) hide show
  1. package/dist/cjs/dnd/groupDragHandler.js +1 -1
  2. package/dist/cjs/dockview/components/tab/defaultTab.js +2 -2
  3. package/dist/cjs/dockview/components/tab/tab.js +1 -1
  4. package/dist/cjs/dockview/components/titlebar/tabsContainer.js +2 -2
  5. package/dist/cjs/dockview/components/watermark/watermark.d.ts +0 -7
  6. package/dist/cjs/dockview/components/watermark/watermark.js +3 -18
  7. package/dist/cjs/dockview/deserializer.js +4 -0
  8. package/dist/cjs/dockview/dockviewComponent.d.ts +2 -0
  9. package/dist/cjs/dockview/dockviewComponent.js +76 -58
  10. package/dist/cjs/dockview/dockviewGroupPanel.d.ts +4 -0
  11. package/dist/cjs/dockview/dockviewGroupPanel.js +49 -2
  12. package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +4 -0
  13. package/dist/cjs/dockview/dockviewGroupPanelModel.js +0 -1
  14. package/dist/cjs/dockview/dockviewPanel.d.ts +14 -1
  15. package/dist/cjs/dockview/dockviewPanel.js +36 -0
  16. package/dist/cjs/dockview/options.d.ts +16 -9
  17. package/dist/cjs/dockview/types.d.ts +5 -2
  18. package/dist/cjs/dom.d.ts +7 -0
  19. package/dist/cjs/dom.js +63 -1
  20. package/dist/cjs/gridview/baseComponentGridview.d.ts +2 -3
  21. package/dist/cjs/gridview/baseComponentGridview.js +28 -51
  22. package/dist/cjs/gridview/gridviewComponent.js +1 -2
  23. package/dist/cjs/gridview/gridviewPanel.d.ts +6 -0
  24. package/dist/cjs/overlay/overlay.js +8 -8
  25. package/dist/cjs/paneview/paneviewComponent.d.ts +1 -1
  26. package/dist/cjs/paneview/paneviewComponent.js +25 -63
  27. package/dist/cjs/splitview/splitviewComponent.d.ts +1 -1
  28. package/dist/cjs/splitview/splitviewComponent.js +29 -69
  29. package/dist/dockview-core.amd.js +221 -136
  30. package/dist/dockview-core.amd.js.map +1 -1
  31. package/dist/dockview-core.amd.min.js +2 -2
  32. package/dist/dockview-core.amd.min.js.map +1 -1
  33. package/dist/dockview-core.amd.min.noStyle.js +2 -2
  34. package/dist/dockview-core.amd.min.noStyle.js.map +1 -1
  35. package/dist/dockview-core.amd.noStyle.js +220 -135
  36. package/dist/dockview-core.amd.noStyle.js.map +1 -1
  37. package/dist/dockview-core.cjs.js +221 -136
  38. package/dist/dockview-core.cjs.js.map +1 -1
  39. package/dist/dockview-core.esm.js +221 -136
  40. package/dist/dockview-core.esm.js.map +1 -1
  41. package/dist/dockview-core.esm.min.js +2 -2
  42. package/dist/dockview-core.esm.min.js.map +1 -1
  43. package/dist/dockview-core.js +221 -136
  44. package/dist/dockview-core.js.map +1 -1
  45. package/dist/dockview-core.min.js +2 -2
  46. package/dist/dockview-core.min.js.map +1 -1
  47. package/dist/dockview-core.min.noStyle.js +2 -2
  48. package/dist/dockview-core.min.noStyle.js.map +1 -1
  49. package/dist/dockview-core.noStyle.js +220 -135
  50. package/dist/dockview-core.noStyle.js.map +1 -1
  51. package/dist/esm/dnd/groupDragHandler.js +1 -1
  52. package/dist/esm/dockview/components/tab/defaultTab.js +2 -2
  53. package/dist/esm/dockview/components/tab/tab.js +1 -1
  54. package/dist/esm/dockview/components/titlebar/tabsContainer.js +2 -2
  55. package/dist/esm/dockview/components/watermark/watermark.d.ts +0 -7
  56. package/dist/esm/dockview/components/watermark/watermark.js +3 -18
  57. package/dist/esm/dockview/deserializer.js +4 -0
  58. package/dist/esm/dockview/dockviewComponent.d.ts +2 -0
  59. package/dist/esm/dockview/dockviewComponent.js +75 -54
  60. package/dist/esm/dockview/dockviewGroupPanel.d.ts +4 -0
  61. package/dist/esm/dockview/dockviewGroupPanel.js +33 -2
  62. package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +4 -0
  63. package/dist/esm/dockview/dockviewGroupPanelModel.js +0 -1
  64. package/dist/esm/dockview/dockviewPanel.d.ts +14 -1
  65. package/dist/esm/dockview/dockviewPanel.js +20 -0
  66. package/dist/esm/dockview/options.d.ts +16 -9
  67. package/dist/esm/dockview/types.d.ts +5 -2
  68. package/dist/esm/dom.d.ts +7 -0
  69. package/dist/esm/dom.js +36 -0
  70. package/dist/esm/gridview/baseComponentGridview.d.ts +2 -3
  71. package/dist/esm/gridview/baseComponentGridview.js +26 -17
  72. package/dist/esm/gridview/gridviewComponent.js +1 -2
  73. package/dist/esm/gridview/gridviewPanel.d.ts +6 -0
  74. package/dist/esm/overlay/overlay.js +8 -8
  75. package/dist/esm/paneview/paneviewComponent.d.ts +1 -1
  76. package/dist/esm/paneview/paneviewComponent.js +8 -14
  77. package/dist/esm/splitview/splitviewComponent.d.ts +1 -1
  78. package/dist/esm/splitview/splitviewComponent.js +10 -18
  79. package/dist/styles/dockview.css +1 -1
  80. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * dockview-core
3
- * @version 1.16.1
3
+ * @version 1.17.1
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -31,7 +31,7 @@ function styleInject(css, ref) {
31
31
  }
32
32
  }
33
33
 
34
- var css_248z = ".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}";
34
+ var css_248z = ".dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-background-color: #ebeced;\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab .dockview-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .groupview .content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .groupview.active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview.inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:not(.disabled)::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:not(.disabled)::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.drop-target {\n position: relative;\n}\n.drop-target > .drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 1000;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition: top 70ms ease-out, left 70ms ease-out, width 70ms ease-out, height 70ms ease-out, opacity 0.15s ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\n}\n\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.groupview:focus {\n outline: none;\n}\n.groupview.empty > .tabs-and-actions-container {\n display: none;\n}\n.groupview > .content-container {\n flex-grow: 1;\n min-height: 0;\n outline: none;\n}\n.dv-root-wrapper {\n height: 100%;\n width: 100%;\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n position: absolute;\n z-index: 997;\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: 999;\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: se-resize;\n}\n.dv-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 998;\n}\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: var(--dv-background-color);\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.tab.inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dv-default-tab .dv-default-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
35
35
  styleInject(css_248z);
36
36
 
37
37
  class TransferObject {
@@ -579,6 +579,42 @@ function disableIframePointEvents() {
579
579
  },
580
580
  };
581
581
  }
582
+ function getDockviewTheme(element) {
583
+ function toClassList(element) {
584
+ const list = [];
585
+ for (let i = 0; i < element.classList.length; i++) {
586
+ list.push(element.classList.item(i));
587
+ }
588
+ return list;
589
+ }
590
+ let theme = undefined;
591
+ let parent = element;
592
+ while (parent !== null) {
593
+ theme = toClassList(parent).find((cls) => cls.startsWith('dockview-theme-'));
594
+ if (typeof theme === 'string') {
595
+ break;
596
+ }
597
+ parent = parent.parentElement;
598
+ }
599
+ return theme;
600
+ }
601
+ class Classnames {
602
+ constructor(element) {
603
+ this.element = element;
604
+ this._classNames = [];
605
+ }
606
+ setClassNames(classNames) {
607
+ for (const className of this._classNames) {
608
+ toggleClass(this.element, className, false);
609
+ }
610
+ this._classNames = classNames
611
+ .split(' ')
612
+ .filter((v) => v.trim().length > 0);
613
+ for (const className of this._classNames) {
614
+ toggleClass(this.element, className, true);
615
+ }
616
+ }
617
+ }
582
618
 
583
619
  function tail(arr) {
584
620
  if (arr.length === 0) {
@@ -2698,8 +2734,8 @@ class BaseGrid extends Resizable {
2698
2734
  set locked(value) {
2699
2735
  this.gridview.locked = value;
2700
2736
  }
2701
- constructor(options) {
2702
- var _a, _b;
2737
+ constructor(parentElement, options) {
2738
+ var _a;
2703
2739
  super(document.createElement('div'), options.disableAutoResizing);
2704
2740
  this._id = nextLayoutId$1.next();
2705
2741
  this._groups = new Map();
@@ -2713,14 +2749,11 @@ class BaseGrid extends Resizable {
2713
2749
  this.onDidLayoutChange = this._bufferOnDidLayoutChange.onEvent;
2714
2750
  this._onDidViewVisibilityChangeMicroTaskQueue = new AsapEvent();
2715
2751
  this.onDidViewVisibilityChangeMicroTaskQueue = this._onDidViewVisibilityChangeMicroTaskQueue.onEvent;
2716
- this.classNames = [];
2717
2752
  this.element.style.height = '100%';
2718
2753
  this.element.style.width = '100%';
2719
- this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
2720
- for (const className of this.classNames) {
2721
- toggleClass(this.element, className, true);
2722
- }
2723
- options.parentElement.appendChild(this.element);
2754
+ this._classNames = new Classnames(this.element);
2755
+ this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
2756
+ parentElement.appendChild(this.element);
2724
2757
  this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation, options.locked, options.margin);
2725
2758
  this.gridview.locked = !!options.locked;
2726
2759
  this.element.appendChild(this.gridview.element);
@@ -2744,15 +2777,22 @@ class BaseGrid extends Resizable {
2744
2777
  return this.gridview.isViewVisible(getGridLocation(panel.element));
2745
2778
  }
2746
2779
  updateOptions(options) {
2747
- var _a, _b;
2780
+ var _a, _b, _c, _d;
2781
+ if (typeof options.proportionalLayout === 'boolean') ;
2782
+ if (options.orientation) {
2783
+ this.gridview.orientation = options.orientation;
2784
+ }
2785
+ if ('disableResizing' in options) {
2786
+ this.disableResizing = (_a = options.disableAutoResizing) !== null && _a !== void 0 ? _a : false;
2787
+ }
2788
+ if ('locked' in options) {
2789
+ this.locked = (_b = options.locked) !== null && _b !== void 0 ? _b : false;
2790
+ }
2791
+ if ('margin' in options) {
2792
+ this.gridview.margin = (_c = options.margin) !== null && _c !== void 0 ? _c : 0;
2793
+ }
2748
2794
  if ('className' in options) {
2749
- for (const className of this.classNames) {
2750
- toggleClass(this.element, className, false);
2751
- }
2752
- this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
2753
- for (const className of this.classNames) {
2754
- toggleClass(this.element, className, true);
2755
- }
2795
+ this._classNames.setClassNames((_d = options.className) !== null && _d !== void 0 ? _d : '');
2756
2796
  }
2757
2797
  }
2758
2798
  maximizeGroup(panel) {
@@ -4678,7 +4718,7 @@ class Tab extends CompositeDisposable {
4678
4718
  this.onWillShowOverlay = this.dropTarget.onWillShowOverlay;
4679
4719
  this.addDisposables(this._onChanged, this._onDropped, this._onDragStart, dragHandler.onDragStart((event) => {
4680
4720
  this._onDragStart.fire(event);
4681
- }), dragHandler, addDisposableListener(this._element, 'mousedown', (event) => {
4721
+ }), dragHandler, addDisposableListener(this._element, 'pointerdown', (event) => {
4682
4722
  if (event.defaultPrevented) {
4683
4723
  return;
4684
4724
  }
@@ -4720,7 +4760,7 @@ class GroupDragHandler extends DragHandler {
4720
4760
  this.accessor = accessor;
4721
4761
  this.group = group;
4722
4762
  this.panelTransfer = LocalSelectionTransfer.getInstance();
4723
- this.addDisposables(addDisposableListener(element, 'mousedown', (e) => {
4763
+ this.addDisposables(addDisposableListener(element, 'pointerdown', (e) => {
4724
4764
  if (e.shiftKey) {
4725
4765
  /**
4726
4766
  * You cannot call e.preventDefault() because that will prevent drag events from firing
@@ -4939,7 +4979,7 @@ class TabsContainer extends CompositeDisposable {
4939
4979
  group: this.group,
4940
4980
  getData: getPanelData,
4941
4981
  }));
4942
- }), addDisposableListener(this.voidContainer.element, 'mousedown', (event) => {
4982
+ }), addDisposableListener(this.voidContainer.element, 'pointerdown', (event) => {
4943
4983
  const isFloatingGroupsEnabled = !this.accessor.options.disableFloatingGroups;
4944
4984
  if (isFloatingGroupsEnabled &&
4945
4985
  event.shiftKey &&
@@ -4953,7 +4993,7 @@ class TabsContainer extends CompositeDisposable {
4953
4993
  inDragMode: true,
4954
4994
  });
4955
4995
  }
4956
- }), addDisposableListener(this.tabContainer, 'mousedown', (event) => {
4996
+ }), addDisposableListener(this.tabContainer, 'pointerdown', (event) => {
4957
4997
  if (event.defaultPrevented) {
4958
4998
  return;
4959
4999
  }
@@ -5658,7 +5698,6 @@ class DockviewGroupPanelModel extends CompositeDisposable {
5658
5698
  });
5659
5699
  this.tabsContainer.hide();
5660
5700
  this.contentContainer.element.appendChild(this.watermark.element);
5661
- this.watermark.updateParentGroup(this.groupPanel, true);
5662
5701
  }
5663
5702
  if (!this.isEmpty && this.watermark) {
5664
5703
  this.watermark.element.remove();
@@ -6021,6 +6060,34 @@ class DockviewGroupPanelApiImpl extends GridviewPanelApiImpl {
6021
6060
  const MINIMUM_DOCKVIEW_GROUP_PANEL_WIDTH = 100;
6022
6061
  const MINIMUM_DOCKVIEW_GROUP_PANEL_HEIGHT = 100;
6023
6062
  class DockviewGroupPanel extends GridviewPanel {
6063
+ get minimumWidth() {
6064
+ var _a;
6065
+ const activePanelMinimumWidth = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.minimumWidth;
6066
+ return typeof activePanelMinimumWidth === 'number'
6067
+ ? activePanelMinimumWidth
6068
+ : MINIMUM_DOCKVIEW_GROUP_PANEL_WIDTH;
6069
+ }
6070
+ get minimumHeight() {
6071
+ var _a;
6072
+ const activePanelMinimumHeight = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.minimumHeight;
6073
+ return typeof activePanelMinimumHeight === 'number'
6074
+ ? activePanelMinimumHeight
6075
+ : MINIMUM_DOCKVIEW_GROUP_PANEL_HEIGHT;
6076
+ }
6077
+ get maximumWidth() {
6078
+ var _a;
6079
+ const activePanelMaximumWidth = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.maximumWidth;
6080
+ return typeof activePanelMaximumWidth === 'number'
6081
+ ? activePanelMaximumWidth
6082
+ : Number.MAX_SAFE_INTEGER;
6083
+ }
6084
+ get maximumHeight() {
6085
+ var _a;
6086
+ const activePanelMaximumHeight = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.maximumHeight;
6087
+ return typeof activePanelMaximumHeight === 'number'
6088
+ ? activePanelMaximumHeight
6089
+ : Number.MAX_SAFE_INTEGER;
6090
+ }
6024
6091
  get panels() {
6025
6092
  return this._model.panels;
6026
6093
  }
@@ -6043,9 +6110,12 @@ class DockviewGroupPanel extends GridviewPanel {
6043
6110
  return this._model.header;
6044
6111
  }
6045
6112
  constructor(accessor, id, options) {
6113
+ var _a, _b, _c, _d, _e, _f;
6046
6114
  super(id, 'groupview_default', {
6047
- minimumHeight: MINIMUM_DOCKVIEW_GROUP_PANEL_HEIGHT,
6048
- minimumWidth: MINIMUM_DOCKVIEW_GROUP_PANEL_WIDTH,
6115
+ minimumHeight: (_b = (_a = options.constraints) === null || _a === void 0 ? void 0 : _a.minimumHeight) !== null && _b !== void 0 ? _b : MINIMUM_DOCKVIEW_GROUP_PANEL_HEIGHT,
6116
+ minimumWidth: (_d = (_c = options.constraints) === null || _c === void 0 ? void 0 : _c.maximumHeight) !== null && _d !== void 0 ? _d : MINIMUM_DOCKVIEW_GROUP_PANEL_WIDTH,
6117
+ maximumHeight: (_e = options.constraints) === null || _e === void 0 ? void 0 : _e.maximumHeight,
6118
+ maximumWidth: (_f = options.constraints) === null || _f === void 0 ? void 0 : _f.maximumWidth,
6049
6119
  }, new DockviewGroupPanelApiImpl(id, accessor));
6050
6120
  this.api.initialize(this); // cannot use 'this' after after 'super' call
6051
6121
  this._model = new DockviewGroupPanelModel(this.element, accessor, id, options, this);
@@ -6201,6 +6271,18 @@ class DockviewPanel extends CompositeDisposable {
6201
6271
  var _a;
6202
6272
  return (_a = this._renderer) !== null && _a !== void 0 ? _a : this.accessor.renderer;
6203
6273
  }
6274
+ get minimumWidth() {
6275
+ return this._minimumWidth;
6276
+ }
6277
+ get minimumHeight() {
6278
+ return this._minimumHeight;
6279
+ }
6280
+ get maximumWidth() {
6281
+ return this._maximumWidth;
6282
+ }
6283
+ get maximumHeight() {
6284
+ return this._maximumHeight;
6285
+ }
6204
6286
  constructor(id, component, tabComponent, accessor, containerApi, group, view, options) {
6205
6287
  super();
6206
6288
  this.id = id;
@@ -6209,6 +6291,10 @@ class DockviewPanel extends CompositeDisposable {
6209
6291
  this.view = view;
6210
6292
  this._renderer = options.renderer;
6211
6293
  this._group = group;
6294
+ this._minimumWidth = options.minimumWidth;
6295
+ this._minimumHeight = options.minimumHeight;
6296
+ this._maximumWidth = options.maximumWidth;
6297
+ this._maximumHeight = options.maximumHeight;
6212
6298
  this.api = new DockviewPanelApiImpl(this, this._group, accessor, component, tabComponent);
6213
6299
  this.addDisposables(this.api.onActiveChange(() => {
6214
6300
  accessor.setActivePanel(this);
@@ -6245,6 +6331,10 @@ class DockviewPanel extends CompositeDisposable {
6245
6331
  : undefined,
6246
6332
  title: this.title,
6247
6333
  renderer: this._renderer,
6334
+ minimumHeight: this._minimumHeight,
6335
+ maximumHeight: this._maximumHeight,
6336
+ minimumWidth: this._minimumWidth,
6337
+ maximumWidth: this._maximumWidth,
6248
6338
  };
6249
6339
  }
6250
6340
  setTitle(title) {
@@ -6374,7 +6464,7 @@ class DefaultTab extends CompositeDisposable {
6374
6464
  this.action.appendChild(createCloseButton());
6375
6465
  this._element.appendChild(this._content);
6376
6466
  this._element.appendChild(this.action);
6377
- this.addDisposables(addDisposableListener(this.action, 'mousedown', (ev) => {
6467
+ this.addDisposables(addDisposableListener(this.action, 'pointerdown', (ev) => {
6378
6468
  ev.preventDefault();
6379
6469
  }));
6380
6470
  this.render();
@@ -6384,7 +6474,7 @@ class DefaultTab extends CompositeDisposable {
6384
6474
  this.addDisposables(params.api.onDidTitleChange((event) => {
6385
6475
  this._title = event.title;
6386
6476
  this.render();
6387
- }), addDisposableListener(this.action, 'mousedown', (ev) => {
6477
+ }), addDisposableListener(this.action, 'pointerdown', (ev) => {
6388
6478
  ev.preventDefault();
6389
6479
  }), addDisposableListener(this.action, 'click', (ev) => {
6390
6480
  if (ev.defaultPrevented) {
@@ -6485,6 +6575,10 @@ class DefaultDockviewDeserialzier {
6485
6575
  const view = new DockviewPanelModel(this.accessor, panelId, contentComponent, tabComponent);
6486
6576
  const panel = new DockviewPanel(panelId, contentComponent, tabComponent, this.accessor, new DockviewApi(this.accessor), group, view, {
6487
6577
  renderer: panelData.renderer,
6578
+ minimumWidth: panelData.minimumWidth,
6579
+ minimumHeight: panelData.minimumHeight,
6580
+ maximumWidth: panelData.maximumWidth,
6581
+ maximumHeight: panelData.maximumHeight,
6488
6582
  });
6489
6583
  panel.init({
6490
6584
  title: title !== null && title !== void 0 ? title : panelId,
@@ -6518,34 +6612,19 @@ class Watermark extends CompositeDisposable {
6518
6612
  actionsContainer.appendChild(closeAnchor);
6519
6613
  title.appendChild(emptySpace);
6520
6614
  title.appendChild(actionsContainer);
6521
- this.addDisposables(addDisposableListener(closeAnchor, 'click', (ev) => {
6615
+ this.addDisposables(addDisposableListener(closeAnchor, 'click', (event) => {
6522
6616
  var _a;
6523
- ev.preventDefault();
6617
+ event.preventDefault();
6524
6618
  if (this._group) {
6525
6619
  (_a = this._api) === null || _a === void 0 ? void 0 : _a.removeGroup(this._group);
6526
6620
  }
6527
6621
  }));
6528
6622
  }
6529
- update(_event) {
6530
- // noop
6531
- }
6532
- focus() {
6533
- // noop
6534
- }
6535
- layout(_width, _height) {
6536
- // noop
6537
- }
6538
6623
  init(_params) {
6539
6624
  this._api = _params.containerApi;
6625
+ this._group = _params.group;
6540
6626
  this.render();
6541
6627
  }
6542
- updateParentGroup(group, _visible) {
6543
- this._group = group;
6544
- this.render();
6545
- }
6546
- dispose() {
6547
- super.dispose();
6548
- }
6549
6628
  render() {
6550
6629
  const isOneGroup = !!(this._api && this._api.size <= 1);
6551
6630
  toggleClass(this.element, 'has-actions', isOneGroup);
@@ -6704,7 +6783,7 @@ class Overlay extends CompositeDisposable {
6704
6783
  dispose: () => {
6705
6784
  iframes.release();
6706
6785
  },
6707
- }, addDisposableWindowListener(window, 'mousemove', (e) => {
6786
+ }, addDisposableWindowListener(window, 'pointermove', (e) => {
6708
6787
  const containerRect = this.options.container.getBoundingClientRect();
6709
6788
  const x = e.clientX - containerRect.left;
6710
6789
  const y = e.clientY - containerRect.top;
@@ -6741,13 +6820,13 @@ class Overlay extends CompositeDisposable {
6741
6820
  bounds.right = right;
6742
6821
  }
6743
6822
  this.setBounds(bounds);
6744
- }), addDisposableWindowListener(window, 'mouseup', () => {
6823
+ }), addDisposableWindowListener(window, 'pointerup', () => {
6745
6824
  toggleClass(this._element, 'dv-resize-container-dragging', false);
6746
6825
  move.dispose();
6747
6826
  this._onDidChangeEnd.fire();
6748
6827
  }));
6749
6828
  };
6750
- this.addDisposables(move, addDisposableListener(dragTarget, 'mousedown', (event) => {
6829
+ this.addDisposables(move, addDisposableListener(dragTarget, 'pointerdown', (event) => {
6751
6830
  if (event.defaultPrevented) {
6752
6831
  event.preventDefault();
6753
6832
  return;
@@ -6758,7 +6837,7 @@ class Overlay extends CompositeDisposable {
6758
6837
  return;
6759
6838
  }
6760
6839
  track();
6761
- }), addDisposableListener(this.options.content, 'mousedown', (event) => {
6840
+ }), addDisposableListener(this.options.content, 'pointerdown', (event) => {
6762
6841
  if (event.defaultPrevented) {
6763
6842
  return;
6764
6843
  }
@@ -6770,7 +6849,7 @@ class Overlay extends CompositeDisposable {
6770
6849
  if (event.shiftKey) {
6771
6850
  track();
6772
6851
  }
6773
- }), addDisposableListener(this.options.content, 'mousedown', () => {
6852
+ }), addDisposableListener(this.options.content, 'pointerdown', () => {
6774
6853
  arialLevelTracker.push(this._element);
6775
6854
  }, true));
6776
6855
  if (options.inDragMode) {
@@ -6782,11 +6861,11 @@ class Overlay extends CompositeDisposable {
6782
6861
  resizeHandleElement.className = `dv-resize-handle-${direction}`;
6783
6862
  this._element.appendChild(resizeHandleElement);
6784
6863
  const move = new MutableDisposable();
6785
- this.addDisposables(move, addDisposableListener(resizeHandleElement, 'mousedown', (e) => {
6864
+ this.addDisposables(move, addDisposableListener(resizeHandleElement, 'pointerdown', (e) => {
6786
6865
  e.preventDefault();
6787
6866
  let startPosition = null;
6788
6867
  const iframes = disableIframePointEvents();
6789
- move.value = new CompositeDisposable(addDisposableWindowListener(window, 'mousemove', (e) => {
6868
+ move.value = new CompositeDisposable(addDisposableWindowListener(window, 'pointermove', (e) => {
6790
6869
  const containerRect = this.options.container.getBoundingClientRect();
6791
6870
  const overlayRect = this._element.getBoundingClientRect();
6792
6871
  const y = e.clientY - containerRect.top;
@@ -6910,7 +6989,7 @@ class Overlay extends CompositeDisposable {
6910
6989
  dispose: () => {
6911
6990
  iframes.release();
6912
6991
  },
6913
- }, addDisposableWindowListener(window, 'mouseup', () => {
6992
+ }, addDisposableWindowListener(window, 'pointerup', () => {
6914
6993
  move.dispose();
6915
6994
  this._onDidChangeEnd.fire();
6916
6995
  }));
@@ -7291,25 +7370,6 @@ function moveGroupWithoutDestroying(options) {
7291
7370
  });
7292
7371
  });
7293
7372
  }
7294
- function getDockviewTheme(element) {
7295
- function toClassList(element) {
7296
- const list = [];
7297
- for (let i = 0; i < element.classList.length; i++) {
7298
- list.push(element.classList.item(i));
7299
- }
7300
- return list;
7301
- }
7302
- let theme = undefined;
7303
- let parent = element;
7304
- while (parent !== null) {
7305
- theme = toClassList(parent).find((cls) => cls.startsWith('dockview-theme-'));
7306
- if (typeof theme === 'string') {
7307
- break;
7308
- }
7309
- parent = parent.parentElement;
7310
- }
7311
- return theme;
7312
- }
7313
7373
  class DockviewComponent extends BaseGrid {
7314
7374
  get orientation() {
7315
7375
  return this.gridview.orientation;
@@ -7345,13 +7405,12 @@ class DockviewComponent extends BaseGrid {
7345
7405
  }
7346
7406
  constructor(parentElement, options) {
7347
7407
  var _a;
7348
- super({
7408
+ super(parentElement, {
7349
7409
  proportionalLayout: true,
7350
7410
  orientation: Orientation.HORIZONTAL,
7351
7411
  styles: options.hideBorders
7352
7412
  ? { separatorBorder: 'transparent' }
7353
7413
  : undefined,
7354
- parentElement: parentElement,
7355
7414
  disableAutoResizing: options.disableAutoResizing,
7356
7415
  locked: options.locked,
7357
7416
  margin: options.gap,
@@ -7391,9 +7450,6 @@ class DockviewComponent extends BaseGrid {
7391
7450
  this._onDidActiveGroupChange = new Emitter();
7392
7451
  this.onDidActiveGroupChange = this._onDidActiveGroupChange.event;
7393
7452
  this._moving = false;
7394
- // const gready = document.createElement('div');
7395
- // gready.className = 'dv-overlay-render-container';
7396
- // this.gridview.element.appendChild(gready);
7397
7453
  this.overlayRenderContainer = new OverlayRenderContainer(this.gridview.element, this);
7398
7454
  toggleClass(this.gridview.element, 'dv-dockview', true);
7399
7455
  toggleClass(this.element, 'dv-debug', !!options.debug);
@@ -7842,16 +7898,11 @@ class DockviewComponent extends BaseGrid {
7842
7898
  }
7843
7899
  }
7844
7900
  updateOptions(options) {
7845
- var _a, _b;
7901
+ var _a, _b, _c, _d;
7846
7902
  super.updateOptions(options);
7847
- const changed_floatingGroupBounds = 'floatingGroupBounds' in options &&
7848
- options.floatingGroupBounds !== this.options.floatingGroupBounds;
7849
- const changed_rootOverlayOptions = 'rootOverlayModel' in options &&
7850
- options.rootOverlayModel !== this.options.rootOverlayModel;
7851
- this._options = Object.assign(Object.assign({}, this.options), options);
7852
- if (changed_floatingGroupBounds) {
7903
+ if ('floatingGroupBounds' in options) {
7853
7904
  for (const group of this._floatingGroups) {
7854
- switch (this.options.floatingGroupBounds) {
7905
+ switch (options.floatingGroupBounds) {
7855
7906
  case 'boundedWithinViewport':
7856
7907
  group.overlay.minimumInViewportHeight = undefined;
7857
7908
  group.overlay.minimumInViewportWidth = undefined;
@@ -7864,25 +7915,20 @@ class DockviewComponent extends BaseGrid {
7864
7915
  break;
7865
7916
  default:
7866
7917
  group.overlay.minimumInViewportHeight =
7867
- (_a = this.options.floatingGroupBounds) === null || _a === void 0 ? void 0 : _a.minimumHeightWithinViewport;
7918
+ (_a = options.floatingGroupBounds) === null || _a === void 0 ? void 0 : _a.minimumHeightWithinViewport;
7868
7919
  group.overlay.minimumInViewportWidth =
7869
- (_b = this.options.floatingGroupBounds) === null || _b === void 0 ? void 0 : _b.minimumWidthWithinViewport;
7920
+ (_b = options.floatingGroupBounds) === null || _b === void 0 ? void 0 : _b.minimumWidthWithinViewport;
7870
7921
  }
7871
7922
  group.overlay.setBounds();
7872
7923
  }
7873
7924
  }
7874
- if (changed_rootOverlayOptions) {
7875
- this._rootDropTarget.setOverlayModel(options.rootOverlayModel);
7925
+ if ('rootOverlayModel' in options) {
7926
+ this._rootDropTarget.setOverlayModel((_c = options.rootOverlayModel) !== null && _c !== void 0 ? _c : DEFAULT_ROOT_OVERLAY_MODEL);
7876
7927
  }
7877
- if (
7878
- // if explicitly set as `undefined`
7879
- 'gap' in options &&
7880
- options.gap === undefined) {
7881
- this.gridview.margin = 0;
7882
- }
7883
- if (typeof options.gap === 'number') {
7884
- this.gridview.margin = options.gap;
7928
+ if ('gap' in options) {
7929
+ this.gridview.margin = (_d = options.gap) !== null && _d !== void 0 ? _d : 0;
7885
7930
  }
7931
+ this._options = Object.assign(Object.assign({}, this.options), options);
7886
7932
  this.layout(this.gridview.width, this.gridview.height, true);
7887
7933
  }
7888
7934
  layout(width, height, forceResize) {
@@ -8139,6 +8185,10 @@ class DockviewComponent extends BaseGrid {
8139
8185
  if (options.position && options.floating) {
8140
8186
  throw new Error('you can only provide one of: position, floating as arguments to .addPanel(...)');
8141
8187
  }
8188
+ const initial = {
8189
+ width: options.initialWidth,
8190
+ height: options.initialHeight,
8191
+ };
8142
8192
  if (options.position) {
8143
8193
  if (isPanelOptionsWithPanel(options.position)) {
8144
8194
  const referencePanel = typeof options.position.referencePanel === 'string'
@@ -8168,6 +8218,10 @@ class DockviewComponent extends BaseGrid {
8168
8218
  if (!options.inactive) {
8169
8219
  this.doSetGroupAndPanelActive(group);
8170
8220
  }
8221
+ group.api.setSize({
8222
+ height: initial === null || initial === void 0 ? void 0 : initial.height,
8223
+ width: initial === null || initial === void 0 ? void 0 : initial.width,
8224
+ });
8171
8225
  return panel;
8172
8226
  }
8173
8227
  }
@@ -8198,6 +8252,10 @@ class DockviewComponent extends BaseGrid {
8198
8252
  skipSetActive: options.inactive,
8199
8253
  skipSetGroupActive: options.inactive,
8200
8254
  });
8255
+ referenceGroup.api.setSize({
8256
+ width: initial === null || initial === void 0 ? void 0 : initial.width,
8257
+ height: initial === null || initial === void 0 ? void 0 : initial.height,
8258
+ });
8201
8259
  if (!options.inactive) {
8202
8260
  this.doSetGroupAndPanelActive(referenceGroup);
8203
8261
  }
@@ -8205,7 +8263,10 @@ class DockviewComponent extends BaseGrid {
8205
8263
  else {
8206
8264
  const location = getGridLocation(referenceGroup.element);
8207
8265
  const relativeLocation = getRelativeLocation(this.gridview.orientation, location, target);
8208
- const group = this.createGroupAtLocation(relativeLocation);
8266
+ const group = this.createGroupAtLocation(relativeLocation, this.orientationAtLocation(relativeLocation) ===
8267
+ Orientation.VERTICAL
8268
+ ? initial === null || initial === void 0 ? void 0 : initial.height
8269
+ : initial === null || initial === void 0 ? void 0 : initial.width);
8209
8270
  panel = this.createPanel(options, group);
8210
8271
  group.model.openPanel(panel, {
8211
8272
  skipSetActive: options.inactive,
@@ -8231,7 +8292,9 @@ class DockviewComponent extends BaseGrid {
8231
8292
  });
8232
8293
  }
8233
8294
  else {
8234
- const group = this.createGroupAtLocation();
8295
+ const group = this.createGroupAtLocation([0], this.gridview.orientation === Orientation.VERTICAL
8296
+ ? initial === null || initial === void 0 ? void 0 : initial.height
8297
+ : initial === null || initial === void 0 ? void 0 : initial.width);
8235
8298
  panel = this.createPanel(options, group);
8236
8299
  group.model.openPanel(panel, {
8237
8300
  skipSetActive: options.inactive,
@@ -8325,7 +8388,11 @@ class DockviewComponent extends BaseGrid {
8325
8388
  const location = getGridLocation(referenceGroup.element);
8326
8389
  const relativeLocation = getRelativeLocation(this.gridview.orientation, location, target);
8327
8390
  const group = this.createGroup(options);
8328
- this.doAddGroup(group, relativeLocation);
8391
+ const size = this.getLocationOrientation(relativeLocation) ===
8392
+ Orientation.VERTICAL
8393
+ ? options.initialHeight
8394
+ : options.initialWidth;
8395
+ this.doAddGroup(group, relativeLocation, size);
8329
8396
  if (!options.skipSetActive) {
8330
8397
  this.doSetGroupAndPanelActive(group);
8331
8398
  }
@@ -8338,6 +8405,12 @@ class DockviewComponent extends BaseGrid {
8338
8405
  return group;
8339
8406
  }
8340
8407
  }
8408
+ getLocationOrientation(location) {
8409
+ return location.length % 2 == 0 &&
8410
+ this.gridview.orientation === Orientation.HORIZONTAL
8411
+ ? Orientation.HORIZONTAL
8412
+ : Orientation.VERTICAL;
8413
+ }
8341
8414
  removeGroup(group, options) {
8342
8415
  this.doRemoveGroup(group, options);
8343
8416
  }
@@ -8609,7 +8682,22 @@ class DockviewComponent extends BaseGrid {
8609
8682
  }
8610
8683
  const referenceLocation = getGridLocation(to.element);
8611
8684
  const dropLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, target);
8612
- this.gridview.addView(from, Sizing.Distribute, dropLocation);
8685
+ let size;
8686
+ switch (this.gridview.orientation) {
8687
+ case Orientation.VERTICAL:
8688
+ size =
8689
+ referenceLocation.length % 2 == 0
8690
+ ? from.api.width
8691
+ : from.api.height;
8692
+ break;
8693
+ case Orientation.HORIZONTAL:
8694
+ size =
8695
+ referenceLocation.length % 2 == 0
8696
+ ? from.api.height
8697
+ : from.api.width;
8698
+ break;
8699
+ }
8700
+ this.gridview.addView(from, size, dropLocation);
8613
8701
  }
8614
8702
  from.panels.forEach((panel) => {
8615
8703
  this._onDidMovePanel.fire({ panel, from });
@@ -8721,22 +8809,34 @@ class DockviewComponent extends BaseGrid {
8721
8809
  const contentComponent = options.component;
8722
8810
  const tabComponent = (_a = options.tabComponent) !== null && _a !== void 0 ? _a : this.options.defaultTabComponent;
8723
8811
  const view = new DockviewPanelModel(this, options.id, contentComponent, tabComponent);
8724
- const panel = new DockviewPanel(options.id, contentComponent, tabComponent, this, this._api, group, view, { renderer: options.renderer });
8812
+ const panel = new DockviewPanel(options.id, contentComponent, tabComponent, this, this._api, group, view, {
8813
+ renderer: options.renderer,
8814
+ minimumWidth: options.minimumWidth,
8815
+ minimumHeight: options.minimumHeight,
8816
+ maximumWidth: options.maximumWidth,
8817
+ maximumHeight: options.maximumHeight,
8818
+ });
8725
8819
  panel.init({
8726
8820
  title: (_b = options.title) !== null && _b !== void 0 ? _b : options.id,
8727
8821
  params: (_c = options === null || options === void 0 ? void 0 : options.params) !== null && _c !== void 0 ? _c : {},
8728
8822
  });
8729
8823
  return panel;
8730
8824
  }
8731
- createGroupAtLocation(location = [0]) {
8825
+ createGroupAtLocation(location, size) {
8732
8826
  const group = this.createGroup();
8733
- this.doAddGroup(group, location);
8827
+ this.doAddGroup(group, location, size);
8734
8828
  return group;
8735
8829
  }
8736
8830
  findGroup(panel) {
8737
8831
  var _a;
8738
8832
  return (_a = Array.from(this._groups.values()).find((group) => group.value.model.containsPanel(panel))) === null || _a === void 0 ? void 0 : _a.value;
8739
8833
  }
8834
+ orientationAtLocation(location) {
8835
+ const rootOrientation = this.gridview.orientation;
8836
+ return location.length % 2 == 1
8837
+ ? rootOrientation
8838
+ : orthogonal(rootOrientation);
8839
+ }
8740
8840
  }
8741
8841
 
8742
8842
  class GridviewComponent extends BaseGrid {
@@ -8756,8 +8856,7 @@ class GridviewComponent extends BaseGrid {
8756
8856
  this._deserializer = value;
8757
8857
  }
8758
8858
  constructor(parentElement, options) {
8759
- super({
8760
- parentElement: parentElement,
8859
+ super(parentElement, {
8761
8860
  proportionalLayout: options.proportionalLayout,
8762
8861
  orientation: options.orientation,
8763
8862
  styles: options.styles,
@@ -9056,7 +9155,7 @@ class SplitviewComponent extends Resizable {
9056
9155
  : this.splitview.orthogonalSize;
9057
9156
  }
9058
9157
  constructor(parentElement, options) {
9059
- var _a, _b;
9158
+ var _a;
9060
9159
  super(parentElement, options.disableAutoResizing);
9061
9160
  this._splitviewChangeDisposable = new MutableDisposable();
9062
9161
  this._panels = new Map();
@@ -9068,11 +9167,8 @@ class SplitviewComponent extends Resizable {
9068
9167
  this.onDidRemoveView = this._onDidRemoveView.event;
9069
9168
  this._onDidLayoutChange = new Emitter();
9070
9169
  this.onDidLayoutChange = this._onDidLayoutChange.event;
9071
- this.classNames = [];
9072
- this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
9073
- for (const className of this.classNames) {
9074
- toggleClass(this.element, className, true);
9075
- }
9170
+ this._classNames = new Classnames(this.element);
9171
+ this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
9076
9172
  this._options = options;
9077
9173
  if (!options.components) {
9078
9174
  options.components = {};
@@ -9086,20 +9182,15 @@ class SplitviewComponent extends Resizable {
9086
9182
  updateOptions(options) {
9087
9183
  var _a, _b;
9088
9184
  if ('className' in options) {
9089
- for (const className of this.classNames) {
9090
- toggleClass(this.element, className, false);
9091
- }
9092
- this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
9093
- for (const className of this.classNames) {
9094
- toggleClass(this.element, className, true);
9095
- }
9185
+ this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
9096
9186
  }
9097
- const hasOrientationChanged = typeof options.orientation === 'string' &&
9098
- this.options.orientation !== options.orientation;
9099
- this._options = Object.assign(Object.assign({}, this.options), options);
9100
- if (hasOrientationChanged) {
9187
+ if ('disableResizing' in options) {
9188
+ this.disableResizing = (_b = options.disableAutoResizing) !== null && _b !== void 0 ? _b : false;
9189
+ }
9190
+ if (typeof options.orientation === 'string') {
9101
9191
  this.splitview.orientation = options.orientation;
9102
9192
  }
9193
+ this._options = Object.assign(Object.assign({}, this.options), options);
9103
9194
  this.splitview.layout(this.splitview.size, this.splitview.orthogonalSize);
9104
9195
  }
9105
9196
  focus() {
@@ -9396,7 +9487,7 @@ class PaneviewComponent extends Resizable {
9396
9487
  return this._options;
9397
9488
  }
9398
9489
  constructor(parentElement, options) {
9399
- var _a, _b;
9490
+ var _a;
9400
9491
  super(parentElement, options.disableAutoResizing);
9401
9492
  this._id = nextLayoutId.next();
9402
9493
  this._disposable = new MutableDisposable();
@@ -9411,12 +9502,9 @@ class PaneviewComponent extends Resizable {
9411
9502
  this.onDidAddView = this._onDidAddView.event;
9412
9503
  this._onDidRemoveView = new Emitter();
9413
9504
  this.onDidRemoveView = this._onDidRemoveView.event;
9414
- this.classNames = [];
9415
9505
  this.addDisposables(this._onDidLayoutChange, this._onDidLayoutfromJSON, this._onDidDrop, this._onDidAddView, this._onDidRemoveView);
9416
- this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
9417
- for (const className of this.classNames) {
9418
- toggleClass(this.element, className, true);
9419
- }
9506
+ this._classNames = new Classnames(this.element);
9507
+ this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
9420
9508
  this._options = options;
9421
9509
  if (!options.components) {
9422
9510
  options.components = {};
@@ -9440,13 +9528,10 @@ class PaneviewComponent extends Resizable {
9440
9528
  updateOptions(options) {
9441
9529
  var _a, _b;
9442
9530
  if ('className' in options) {
9443
- for (const className of this.classNames) {
9444
- toggleClass(this.element, className, false);
9445
- }
9446
- this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
9447
- for (const className of this.classNames) {
9448
- toggleClass(this.element, className, true);
9449
- }
9531
+ this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
9532
+ }
9533
+ if ('disableResizing' in options) {
9534
+ this.disableResizing = (_b = options.disableAutoResizing) !== null && _b !== void 0 ? _b : false;
9450
9535
  }
9451
9536
  this._options = Object.assign(Object.assign({}, this.options), options);
9452
9537
  }