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
  */
@@ -33,7 +33,7 @@ function styleInject(css, ref) {
33
33
  }
34
34
  }
35
35
 
36
- var css_248z = ".dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: ##fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-background-color: #ebeced;\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab .dockview-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .groupview .content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .groupview.active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview.inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:not(.disabled)::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:not(.disabled)::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.drop-target {\n position: relative;\n}\n.drop-target > .drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 1000;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition: top 70ms ease-out, left 70ms ease-out, width 70ms ease-out, height 70ms ease-out, opacity 0.15s ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\n}\n\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.groupview:focus {\n outline: none;\n}\n.groupview.empty > .tabs-and-actions-container {\n display: none;\n}\n.groupview > .content-container {\n flex-grow: 1;\n min-height: 0;\n outline: none;\n}\n.dv-root-wrapper {\n height: 100%;\n width: 100%;\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n position: absolute;\n z-index: 997;\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: 999;\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: se-resize;\n}\n.dv-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 998;\n}\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: var(--dv-background-color);\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.tab.inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dv-default-tab .dv-default-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
36
+ var css_248z = ".dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-background-color: #ebeced;\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab .dockview-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .groupview .content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .groupview.active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview.inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:not(.disabled)::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:not(.disabled)::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.drop-target {\n position: relative;\n}\n.drop-target > .drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 1000;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition: top 70ms ease-out, left 70ms ease-out, width 70ms ease-out, height 70ms ease-out, opacity 0.15s ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\n}\n\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.groupview:focus {\n outline: none;\n}\n.groupview.empty > .tabs-and-actions-container {\n display: none;\n}\n.groupview > .content-container {\n flex-grow: 1;\n min-height: 0;\n outline: none;\n}\n.dv-root-wrapper {\n height: 100%;\n width: 100%;\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n position: absolute;\n z-index: 997;\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: 999;\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: se-resize;\n}\n.dv-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 998;\n}\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: var(--dv-background-color);\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.tab.inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dv-default-tab .dv-default-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
37
37
  styleInject(css_248z);
38
38
 
39
39
  class TransferObject {
@@ -581,6 +581,42 @@ function disableIframePointEvents() {
581
581
  },
582
582
  };
583
583
  }
584
+ function getDockviewTheme(element) {
585
+ function toClassList(element) {
586
+ const list = [];
587
+ for (let i = 0; i < element.classList.length; i++) {
588
+ list.push(element.classList.item(i));
589
+ }
590
+ return list;
591
+ }
592
+ let theme = undefined;
593
+ let parent = element;
594
+ while (parent !== null) {
595
+ theme = toClassList(parent).find((cls) => cls.startsWith('dockview-theme-'));
596
+ if (typeof theme === 'string') {
597
+ break;
598
+ }
599
+ parent = parent.parentElement;
600
+ }
601
+ return theme;
602
+ }
603
+ class Classnames {
604
+ constructor(element) {
605
+ this.element = element;
606
+ this._classNames = [];
607
+ }
608
+ setClassNames(classNames) {
609
+ for (const className of this._classNames) {
610
+ toggleClass(this.element, className, false);
611
+ }
612
+ this._classNames = classNames
613
+ .split(' ')
614
+ .filter((v) => v.trim().length > 0);
615
+ for (const className of this._classNames) {
616
+ toggleClass(this.element, className, true);
617
+ }
618
+ }
619
+ }
584
620
 
585
621
  function tail(arr) {
586
622
  if (arr.length === 0) {
@@ -2700,8 +2736,8 @@ class BaseGrid extends Resizable {
2700
2736
  set locked(value) {
2701
2737
  this.gridview.locked = value;
2702
2738
  }
2703
- constructor(options) {
2704
- var _a, _b;
2739
+ constructor(parentElement, options) {
2740
+ var _a;
2705
2741
  super(document.createElement('div'), options.disableAutoResizing);
2706
2742
  this._id = nextLayoutId$1.next();
2707
2743
  this._groups = new Map();
@@ -2715,14 +2751,11 @@ class BaseGrid extends Resizable {
2715
2751
  this.onDidLayoutChange = this._bufferOnDidLayoutChange.onEvent;
2716
2752
  this._onDidViewVisibilityChangeMicroTaskQueue = new AsapEvent();
2717
2753
  this.onDidViewVisibilityChangeMicroTaskQueue = this._onDidViewVisibilityChangeMicroTaskQueue.onEvent;
2718
- this.classNames = [];
2719
2754
  this.element.style.height = '100%';
2720
2755
  this.element.style.width = '100%';
2721
- this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
2722
- for (const className of this.classNames) {
2723
- toggleClass(this.element, className, true);
2724
- }
2725
- options.parentElement.appendChild(this.element);
2756
+ this._classNames = new Classnames(this.element);
2757
+ this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
2758
+ parentElement.appendChild(this.element);
2726
2759
  this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation, options.locked, options.margin);
2727
2760
  this.gridview.locked = !!options.locked;
2728
2761
  this.element.appendChild(this.gridview.element);
@@ -2746,15 +2779,22 @@ class BaseGrid extends Resizable {
2746
2779
  return this.gridview.isViewVisible(getGridLocation(panel.element));
2747
2780
  }
2748
2781
  updateOptions(options) {
2749
- var _a, _b;
2782
+ var _a, _b, _c, _d;
2783
+ if (typeof options.proportionalLayout === 'boolean') ;
2784
+ if (options.orientation) {
2785
+ this.gridview.orientation = options.orientation;
2786
+ }
2787
+ if ('disableResizing' in options) {
2788
+ this.disableResizing = (_a = options.disableAutoResizing) !== null && _a !== void 0 ? _a : false;
2789
+ }
2790
+ if ('locked' in options) {
2791
+ this.locked = (_b = options.locked) !== null && _b !== void 0 ? _b : false;
2792
+ }
2793
+ if ('margin' in options) {
2794
+ this.gridview.margin = (_c = options.margin) !== null && _c !== void 0 ? _c : 0;
2795
+ }
2750
2796
  if ('className' in options) {
2751
- for (const className of this.classNames) {
2752
- toggleClass(this.element, className, false);
2753
- }
2754
- this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
2755
- for (const className of this.classNames) {
2756
- toggleClass(this.element, className, true);
2757
- }
2797
+ this._classNames.setClassNames((_d = options.className) !== null && _d !== void 0 ? _d : '');
2758
2798
  }
2759
2799
  }
2760
2800
  maximizeGroup(panel) {
@@ -4680,7 +4720,7 @@ class Tab extends CompositeDisposable {
4680
4720
  this.onWillShowOverlay = this.dropTarget.onWillShowOverlay;
4681
4721
  this.addDisposables(this._onChanged, this._onDropped, this._onDragStart, dragHandler.onDragStart((event) => {
4682
4722
  this._onDragStart.fire(event);
4683
- }), dragHandler, addDisposableListener(this._element, 'mousedown', (event) => {
4723
+ }), dragHandler, addDisposableListener(this._element, 'pointerdown', (event) => {
4684
4724
  if (event.defaultPrevented) {
4685
4725
  return;
4686
4726
  }
@@ -4722,7 +4762,7 @@ class GroupDragHandler extends DragHandler {
4722
4762
  this.accessor = accessor;
4723
4763
  this.group = group;
4724
4764
  this.panelTransfer = LocalSelectionTransfer.getInstance();
4725
- this.addDisposables(addDisposableListener(element, 'mousedown', (e) => {
4765
+ this.addDisposables(addDisposableListener(element, 'pointerdown', (e) => {
4726
4766
  if (e.shiftKey) {
4727
4767
  /**
4728
4768
  * You cannot call e.preventDefault() because that will prevent drag events from firing
@@ -4941,7 +4981,7 @@ class TabsContainer extends CompositeDisposable {
4941
4981
  group: this.group,
4942
4982
  getData: getPanelData,
4943
4983
  }));
4944
- }), addDisposableListener(this.voidContainer.element, 'mousedown', (event) => {
4984
+ }), addDisposableListener(this.voidContainer.element, 'pointerdown', (event) => {
4945
4985
  const isFloatingGroupsEnabled = !this.accessor.options.disableFloatingGroups;
4946
4986
  if (isFloatingGroupsEnabled &&
4947
4987
  event.shiftKey &&
@@ -4955,7 +4995,7 @@ class TabsContainer extends CompositeDisposable {
4955
4995
  inDragMode: true,
4956
4996
  });
4957
4997
  }
4958
- }), addDisposableListener(this.tabContainer, 'mousedown', (event) => {
4998
+ }), addDisposableListener(this.tabContainer, 'pointerdown', (event) => {
4959
4999
  if (event.defaultPrevented) {
4960
5000
  return;
4961
5001
  }
@@ -5660,7 +5700,6 @@ class DockviewGroupPanelModel extends CompositeDisposable {
5660
5700
  });
5661
5701
  this.tabsContainer.hide();
5662
5702
  this.contentContainer.element.appendChild(this.watermark.element);
5663
- this.watermark.updateParentGroup(this.groupPanel, true);
5664
5703
  }
5665
5704
  if (!this.isEmpty && this.watermark) {
5666
5705
  this.watermark.element.remove();
@@ -6023,6 +6062,34 @@ class DockviewGroupPanelApiImpl extends GridviewPanelApiImpl {
6023
6062
  const MINIMUM_DOCKVIEW_GROUP_PANEL_WIDTH = 100;
6024
6063
  const MINIMUM_DOCKVIEW_GROUP_PANEL_HEIGHT = 100;
6025
6064
  class DockviewGroupPanel extends GridviewPanel {
6065
+ get minimumWidth() {
6066
+ var _a;
6067
+ const activePanelMinimumWidth = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.minimumWidth;
6068
+ return typeof activePanelMinimumWidth === 'number'
6069
+ ? activePanelMinimumWidth
6070
+ : MINIMUM_DOCKVIEW_GROUP_PANEL_WIDTH;
6071
+ }
6072
+ get minimumHeight() {
6073
+ var _a;
6074
+ const activePanelMinimumHeight = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.minimumHeight;
6075
+ return typeof activePanelMinimumHeight === 'number'
6076
+ ? activePanelMinimumHeight
6077
+ : MINIMUM_DOCKVIEW_GROUP_PANEL_HEIGHT;
6078
+ }
6079
+ get maximumWidth() {
6080
+ var _a;
6081
+ const activePanelMaximumWidth = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.maximumWidth;
6082
+ return typeof activePanelMaximumWidth === 'number'
6083
+ ? activePanelMaximumWidth
6084
+ : Number.MAX_SAFE_INTEGER;
6085
+ }
6086
+ get maximumHeight() {
6087
+ var _a;
6088
+ const activePanelMaximumHeight = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.maximumHeight;
6089
+ return typeof activePanelMaximumHeight === 'number'
6090
+ ? activePanelMaximumHeight
6091
+ : Number.MAX_SAFE_INTEGER;
6092
+ }
6026
6093
  get panels() {
6027
6094
  return this._model.panels;
6028
6095
  }
@@ -6045,9 +6112,12 @@ class DockviewGroupPanel extends GridviewPanel {
6045
6112
  return this._model.header;
6046
6113
  }
6047
6114
  constructor(accessor, id, options) {
6115
+ var _a, _b, _c, _d, _e, _f;
6048
6116
  super(id, 'groupview_default', {
6049
- minimumHeight: MINIMUM_DOCKVIEW_GROUP_PANEL_HEIGHT,
6050
- minimumWidth: MINIMUM_DOCKVIEW_GROUP_PANEL_WIDTH,
6117
+ minimumHeight: (_b = (_a = options.constraints) === null || _a === void 0 ? void 0 : _a.minimumHeight) !== null && _b !== void 0 ? _b : MINIMUM_DOCKVIEW_GROUP_PANEL_HEIGHT,
6118
+ minimumWidth: (_d = (_c = options.constraints) === null || _c === void 0 ? void 0 : _c.maximumHeight) !== null && _d !== void 0 ? _d : MINIMUM_DOCKVIEW_GROUP_PANEL_WIDTH,
6119
+ maximumHeight: (_e = options.constraints) === null || _e === void 0 ? void 0 : _e.maximumHeight,
6120
+ maximumWidth: (_f = options.constraints) === null || _f === void 0 ? void 0 : _f.maximumWidth,
6051
6121
  }, new DockviewGroupPanelApiImpl(id, accessor));
6052
6122
  this.api.initialize(this); // cannot use 'this' after after 'super' call
6053
6123
  this._model = new DockviewGroupPanelModel(this.element, accessor, id, options, this);
@@ -6203,6 +6273,18 @@ class DockviewPanel extends CompositeDisposable {
6203
6273
  var _a;
6204
6274
  return (_a = this._renderer) !== null && _a !== void 0 ? _a : this.accessor.renderer;
6205
6275
  }
6276
+ get minimumWidth() {
6277
+ return this._minimumWidth;
6278
+ }
6279
+ get minimumHeight() {
6280
+ return this._minimumHeight;
6281
+ }
6282
+ get maximumWidth() {
6283
+ return this._maximumWidth;
6284
+ }
6285
+ get maximumHeight() {
6286
+ return this._maximumHeight;
6287
+ }
6206
6288
  constructor(id, component, tabComponent, accessor, containerApi, group, view, options) {
6207
6289
  super();
6208
6290
  this.id = id;
@@ -6211,6 +6293,10 @@ class DockviewPanel extends CompositeDisposable {
6211
6293
  this.view = view;
6212
6294
  this._renderer = options.renderer;
6213
6295
  this._group = group;
6296
+ this._minimumWidth = options.minimumWidth;
6297
+ this._minimumHeight = options.minimumHeight;
6298
+ this._maximumWidth = options.maximumWidth;
6299
+ this._maximumHeight = options.maximumHeight;
6214
6300
  this.api = new DockviewPanelApiImpl(this, this._group, accessor, component, tabComponent);
6215
6301
  this.addDisposables(this.api.onActiveChange(() => {
6216
6302
  accessor.setActivePanel(this);
@@ -6247,6 +6333,10 @@ class DockviewPanel extends CompositeDisposable {
6247
6333
  : undefined,
6248
6334
  title: this.title,
6249
6335
  renderer: this._renderer,
6336
+ minimumHeight: this._minimumHeight,
6337
+ maximumHeight: this._maximumHeight,
6338
+ minimumWidth: this._minimumWidth,
6339
+ maximumWidth: this._maximumWidth,
6250
6340
  };
6251
6341
  }
6252
6342
  setTitle(title) {
@@ -6376,7 +6466,7 @@ class DefaultTab extends CompositeDisposable {
6376
6466
  this.action.appendChild(createCloseButton());
6377
6467
  this._element.appendChild(this._content);
6378
6468
  this._element.appendChild(this.action);
6379
- this.addDisposables(addDisposableListener(this.action, 'mousedown', (ev) => {
6469
+ this.addDisposables(addDisposableListener(this.action, 'pointerdown', (ev) => {
6380
6470
  ev.preventDefault();
6381
6471
  }));
6382
6472
  this.render();
@@ -6386,7 +6476,7 @@ class DefaultTab extends CompositeDisposable {
6386
6476
  this.addDisposables(params.api.onDidTitleChange((event) => {
6387
6477
  this._title = event.title;
6388
6478
  this.render();
6389
- }), addDisposableListener(this.action, 'mousedown', (ev) => {
6479
+ }), addDisposableListener(this.action, 'pointerdown', (ev) => {
6390
6480
  ev.preventDefault();
6391
6481
  }), addDisposableListener(this.action, 'click', (ev) => {
6392
6482
  if (ev.defaultPrevented) {
@@ -6487,6 +6577,10 @@ class DefaultDockviewDeserialzier {
6487
6577
  const view = new DockviewPanelModel(this.accessor, panelId, contentComponent, tabComponent);
6488
6578
  const panel = new DockviewPanel(panelId, contentComponent, tabComponent, this.accessor, new DockviewApi(this.accessor), group, view, {
6489
6579
  renderer: panelData.renderer,
6580
+ minimumWidth: panelData.minimumWidth,
6581
+ minimumHeight: panelData.minimumHeight,
6582
+ maximumWidth: panelData.maximumWidth,
6583
+ maximumHeight: panelData.maximumHeight,
6490
6584
  });
6491
6585
  panel.init({
6492
6586
  title: title !== null && title !== void 0 ? title : panelId,
@@ -6520,34 +6614,19 @@ class Watermark extends CompositeDisposable {
6520
6614
  actionsContainer.appendChild(closeAnchor);
6521
6615
  title.appendChild(emptySpace);
6522
6616
  title.appendChild(actionsContainer);
6523
- this.addDisposables(addDisposableListener(closeAnchor, 'click', (ev) => {
6617
+ this.addDisposables(addDisposableListener(closeAnchor, 'click', (event) => {
6524
6618
  var _a;
6525
- ev.preventDefault();
6619
+ event.preventDefault();
6526
6620
  if (this._group) {
6527
6621
  (_a = this._api) === null || _a === void 0 ? void 0 : _a.removeGroup(this._group);
6528
6622
  }
6529
6623
  }));
6530
6624
  }
6531
- update(_event) {
6532
- // noop
6533
- }
6534
- focus() {
6535
- // noop
6536
- }
6537
- layout(_width, _height) {
6538
- // noop
6539
- }
6540
6625
  init(_params) {
6541
6626
  this._api = _params.containerApi;
6627
+ this._group = _params.group;
6542
6628
  this.render();
6543
6629
  }
6544
- updateParentGroup(group, _visible) {
6545
- this._group = group;
6546
- this.render();
6547
- }
6548
- dispose() {
6549
- super.dispose();
6550
- }
6551
6630
  render() {
6552
6631
  const isOneGroup = !!(this._api && this._api.size <= 1);
6553
6632
  toggleClass(this.element, 'has-actions', isOneGroup);
@@ -6706,7 +6785,7 @@ class Overlay extends CompositeDisposable {
6706
6785
  dispose: () => {
6707
6786
  iframes.release();
6708
6787
  },
6709
- }, addDisposableWindowListener(window, 'mousemove', (e) => {
6788
+ }, addDisposableWindowListener(window, 'pointermove', (e) => {
6710
6789
  const containerRect = this.options.container.getBoundingClientRect();
6711
6790
  const x = e.clientX - containerRect.left;
6712
6791
  const y = e.clientY - containerRect.top;
@@ -6743,13 +6822,13 @@ class Overlay extends CompositeDisposable {
6743
6822
  bounds.right = right;
6744
6823
  }
6745
6824
  this.setBounds(bounds);
6746
- }), addDisposableWindowListener(window, 'mouseup', () => {
6825
+ }), addDisposableWindowListener(window, 'pointerup', () => {
6747
6826
  toggleClass(this._element, 'dv-resize-container-dragging', false);
6748
6827
  move.dispose();
6749
6828
  this._onDidChangeEnd.fire();
6750
6829
  }));
6751
6830
  };
6752
- this.addDisposables(move, addDisposableListener(dragTarget, 'mousedown', (event) => {
6831
+ this.addDisposables(move, addDisposableListener(dragTarget, 'pointerdown', (event) => {
6753
6832
  if (event.defaultPrevented) {
6754
6833
  event.preventDefault();
6755
6834
  return;
@@ -6760,7 +6839,7 @@ class Overlay extends CompositeDisposable {
6760
6839
  return;
6761
6840
  }
6762
6841
  track();
6763
- }), addDisposableListener(this.options.content, 'mousedown', (event) => {
6842
+ }), addDisposableListener(this.options.content, 'pointerdown', (event) => {
6764
6843
  if (event.defaultPrevented) {
6765
6844
  return;
6766
6845
  }
@@ -6772,7 +6851,7 @@ class Overlay extends CompositeDisposable {
6772
6851
  if (event.shiftKey) {
6773
6852
  track();
6774
6853
  }
6775
- }), addDisposableListener(this.options.content, 'mousedown', () => {
6854
+ }), addDisposableListener(this.options.content, 'pointerdown', () => {
6776
6855
  arialLevelTracker.push(this._element);
6777
6856
  }, true));
6778
6857
  if (options.inDragMode) {
@@ -6784,11 +6863,11 @@ class Overlay extends CompositeDisposable {
6784
6863
  resizeHandleElement.className = `dv-resize-handle-${direction}`;
6785
6864
  this._element.appendChild(resizeHandleElement);
6786
6865
  const move = new MutableDisposable();
6787
- this.addDisposables(move, addDisposableListener(resizeHandleElement, 'mousedown', (e) => {
6866
+ this.addDisposables(move, addDisposableListener(resizeHandleElement, 'pointerdown', (e) => {
6788
6867
  e.preventDefault();
6789
6868
  let startPosition = null;
6790
6869
  const iframes = disableIframePointEvents();
6791
- move.value = new CompositeDisposable(addDisposableWindowListener(window, 'mousemove', (e) => {
6870
+ move.value = new CompositeDisposable(addDisposableWindowListener(window, 'pointermove', (e) => {
6792
6871
  const containerRect = this.options.container.getBoundingClientRect();
6793
6872
  const overlayRect = this._element.getBoundingClientRect();
6794
6873
  const y = e.clientY - containerRect.top;
@@ -6912,7 +6991,7 @@ class Overlay extends CompositeDisposable {
6912
6991
  dispose: () => {
6913
6992
  iframes.release();
6914
6993
  },
6915
- }, addDisposableWindowListener(window, 'mouseup', () => {
6994
+ }, addDisposableWindowListener(window, 'pointerup', () => {
6916
6995
  move.dispose();
6917
6996
  this._onDidChangeEnd.fire();
6918
6997
  }));
@@ -7293,25 +7372,6 @@ function moveGroupWithoutDestroying(options) {
7293
7372
  });
7294
7373
  });
7295
7374
  }
7296
- function getDockviewTheme(element) {
7297
- function toClassList(element) {
7298
- const list = [];
7299
- for (let i = 0; i < element.classList.length; i++) {
7300
- list.push(element.classList.item(i));
7301
- }
7302
- return list;
7303
- }
7304
- let theme = undefined;
7305
- let parent = element;
7306
- while (parent !== null) {
7307
- theme = toClassList(parent).find((cls) => cls.startsWith('dockview-theme-'));
7308
- if (typeof theme === 'string') {
7309
- break;
7310
- }
7311
- parent = parent.parentElement;
7312
- }
7313
- return theme;
7314
- }
7315
7375
  class DockviewComponent extends BaseGrid {
7316
7376
  get orientation() {
7317
7377
  return this.gridview.orientation;
@@ -7347,13 +7407,12 @@ class DockviewComponent extends BaseGrid {
7347
7407
  }
7348
7408
  constructor(parentElement, options) {
7349
7409
  var _a;
7350
- super({
7410
+ super(parentElement, {
7351
7411
  proportionalLayout: true,
7352
7412
  orientation: exports.Orientation.HORIZONTAL,
7353
7413
  styles: options.hideBorders
7354
7414
  ? { separatorBorder: 'transparent' }
7355
7415
  : undefined,
7356
- parentElement: parentElement,
7357
7416
  disableAutoResizing: options.disableAutoResizing,
7358
7417
  locked: options.locked,
7359
7418
  margin: options.gap,
@@ -7393,9 +7452,6 @@ class DockviewComponent extends BaseGrid {
7393
7452
  this._onDidActiveGroupChange = new Emitter();
7394
7453
  this.onDidActiveGroupChange = this._onDidActiveGroupChange.event;
7395
7454
  this._moving = false;
7396
- // const gready = document.createElement('div');
7397
- // gready.className = 'dv-overlay-render-container';
7398
- // this.gridview.element.appendChild(gready);
7399
7455
  this.overlayRenderContainer = new OverlayRenderContainer(this.gridview.element, this);
7400
7456
  toggleClass(this.gridview.element, 'dv-dockview', true);
7401
7457
  toggleClass(this.element, 'dv-debug', !!options.debug);
@@ -7844,16 +7900,11 @@ class DockviewComponent extends BaseGrid {
7844
7900
  }
7845
7901
  }
7846
7902
  updateOptions(options) {
7847
- var _a, _b;
7903
+ var _a, _b, _c, _d;
7848
7904
  super.updateOptions(options);
7849
- const changed_floatingGroupBounds = 'floatingGroupBounds' in options &&
7850
- options.floatingGroupBounds !== this.options.floatingGroupBounds;
7851
- const changed_rootOverlayOptions = 'rootOverlayModel' in options &&
7852
- options.rootOverlayModel !== this.options.rootOverlayModel;
7853
- this._options = Object.assign(Object.assign({}, this.options), options);
7854
- if (changed_floatingGroupBounds) {
7905
+ if ('floatingGroupBounds' in options) {
7855
7906
  for (const group of this._floatingGroups) {
7856
- switch (this.options.floatingGroupBounds) {
7907
+ switch (options.floatingGroupBounds) {
7857
7908
  case 'boundedWithinViewport':
7858
7909
  group.overlay.minimumInViewportHeight = undefined;
7859
7910
  group.overlay.minimumInViewportWidth = undefined;
@@ -7866,25 +7917,20 @@ class DockviewComponent extends BaseGrid {
7866
7917
  break;
7867
7918
  default:
7868
7919
  group.overlay.minimumInViewportHeight =
7869
- (_a = this.options.floatingGroupBounds) === null || _a === void 0 ? void 0 : _a.minimumHeightWithinViewport;
7920
+ (_a = options.floatingGroupBounds) === null || _a === void 0 ? void 0 : _a.minimumHeightWithinViewport;
7870
7921
  group.overlay.minimumInViewportWidth =
7871
- (_b = this.options.floatingGroupBounds) === null || _b === void 0 ? void 0 : _b.minimumWidthWithinViewport;
7922
+ (_b = options.floatingGroupBounds) === null || _b === void 0 ? void 0 : _b.minimumWidthWithinViewport;
7872
7923
  }
7873
7924
  group.overlay.setBounds();
7874
7925
  }
7875
7926
  }
7876
- if (changed_rootOverlayOptions) {
7877
- this._rootDropTarget.setOverlayModel(options.rootOverlayModel);
7927
+ if ('rootOverlayModel' in options) {
7928
+ this._rootDropTarget.setOverlayModel((_c = options.rootOverlayModel) !== null && _c !== void 0 ? _c : DEFAULT_ROOT_OVERLAY_MODEL);
7878
7929
  }
7879
- if (
7880
- // if explicitly set as `undefined`
7881
- 'gap' in options &&
7882
- options.gap === undefined) {
7883
- this.gridview.margin = 0;
7884
- }
7885
- if (typeof options.gap === 'number') {
7886
- this.gridview.margin = options.gap;
7930
+ if ('gap' in options) {
7931
+ this.gridview.margin = (_d = options.gap) !== null && _d !== void 0 ? _d : 0;
7887
7932
  }
7933
+ this._options = Object.assign(Object.assign({}, this.options), options);
7888
7934
  this.layout(this.gridview.width, this.gridview.height, true);
7889
7935
  }
7890
7936
  layout(width, height, forceResize) {
@@ -8141,6 +8187,10 @@ class DockviewComponent extends BaseGrid {
8141
8187
  if (options.position && options.floating) {
8142
8188
  throw new Error('you can only provide one of: position, floating as arguments to .addPanel(...)');
8143
8189
  }
8190
+ const initial = {
8191
+ width: options.initialWidth,
8192
+ height: options.initialHeight,
8193
+ };
8144
8194
  if (options.position) {
8145
8195
  if (isPanelOptionsWithPanel(options.position)) {
8146
8196
  const referencePanel = typeof options.position.referencePanel === 'string'
@@ -8170,6 +8220,10 @@ class DockviewComponent extends BaseGrid {
8170
8220
  if (!options.inactive) {
8171
8221
  this.doSetGroupAndPanelActive(group);
8172
8222
  }
8223
+ group.api.setSize({
8224
+ height: initial === null || initial === void 0 ? void 0 : initial.height,
8225
+ width: initial === null || initial === void 0 ? void 0 : initial.width,
8226
+ });
8173
8227
  return panel;
8174
8228
  }
8175
8229
  }
@@ -8200,6 +8254,10 @@ class DockviewComponent extends BaseGrid {
8200
8254
  skipSetActive: options.inactive,
8201
8255
  skipSetGroupActive: options.inactive,
8202
8256
  });
8257
+ referenceGroup.api.setSize({
8258
+ width: initial === null || initial === void 0 ? void 0 : initial.width,
8259
+ height: initial === null || initial === void 0 ? void 0 : initial.height,
8260
+ });
8203
8261
  if (!options.inactive) {
8204
8262
  this.doSetGroupAndPanelActive(referenceGroup);
8205
8263
  }
@@ -8207,7 +8265,10 @@ class DockviewComponent extends BaseGrid {
8207
8265
  else {
8208
8266
  const location = getGridLocation(referenceGroup.element);
8209
8267
  const relativeLocation = getRelativeLocation(this.gridview.orientation, location, target);
8210
- const group = this.createGroupAtLocation(relativeLocation);
8268
+ const group = this.createGroupAtLocation(relativeLocation, this.orientationAtLocation(relativeLocation) ===
8269
+ exports.Orientation.VERTICAL
8270
+ ? initial === null || initial === void 0 ? void 0 : initial.height
8271
+ : initial === null || initial === void 0 ? void 0 : initial.width);
8211
8272
  panel = this.createPanel(options, group);
8212
8273
  group.model.openPanel(panel, {
8213
8274
  skipSetActive: options.inactive,
@@ -8233,7 +8294,9 @@ class DockviewComponent extends BaseGrid {
8233
8294
  });
8234
8295
  }
8235
8296
  else {
8236
- const group = this.createGroupAtLocation();
8297
+ const group = this.createGroupAtLocation([0], this.gridview.orientation === exports.Orientation.VERTICAL
8298
+ ? initial === null || initial === void 0 ? void 0 : initial.height
8299
+ : initial === null || initial === void 0 ? void 0 : initial.width);
8237
8300
  panel = this.createPanel(options, group);
8238
8301
  group.model.openPanel(panel, {
8239
8302
  skipSetActive: options.inactive,
@@ -8327,7 +8390,11 @@ class DockviewComponent extends BaseGrid {
8327
8390
  const location = getGridLocation(referenceGroup.element);
8328
8391
  const relativeLocation = getRelativeLocation(this.gridview.orientation, location, target);
8329
8392
  const group = this.createGroup(options);
8330
- this.doAddGroup(group, relativeLocation);
8393
+ const size = this.getLocationOrientation(relativeLocation) ===
8394
+ exports.Orientation.VERTICAL
8395
+ ? options.initialHeight
8396
+ : options.initialWidth;
8397
+ this.doAddGroup(group, relativeLocation, size);
8331
8398
  if (!options.skipSetActive) {
8332
8399
  this.doSetGroupAndPanelActive(group);
8333
8400
  }
@@ -8340,6 +8407,12 @@ class DockviewComponent extends BaseGrid {
8340
8407
  return group;
8341
8408
  }
8342
8409
  }
8410
+ getLocationOrientation(location) {
8411
+ return location.length % 2 == 0 &&
8412
+ this.gridview.orientation === exports.Orientation.HORIZONTAL
8413
+ ? exports.Orientation.HORIZONTAL
8414
+ : exports.Orientation.VERTICAL;
8415
+ }
8343
8416
  removeGroup(group, options) {
8344
8417
  this.doRemoveGroup(group, options);
8345
8418
  }
@@ -8611,7 +8684,22 @@ class DockviewComponent extends BaseGrid {
8611
8684
  }
8612
8685
  const referenceLocation = getGridLocation(to.element);
8613
8686
  const dropLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, target);
8614
- this.gridview.addView(from, exports.Sizing.Distribute, dropLocation);
8687
+ let size;
8688
+ switch (this.gridview.orientation) {
8689
+ case exports.Orientation.VERTICAL:
8690
+ size =
8691
+ referenceLocation.length % 2 == 0
8692
+ ? from.api.width
8693
+ : from.api.height;
8694
+ break;
8695
+ case exports.Orientation.HORIZONTAL:
8696
+ size =
8697
+ referenceLocation.length % 2 == 0
8698
+ ? from.api.height
8699
+ : from.api.width;
8700
+ break;
8701
+ }
8702
+ this.gridview.addView(from, size, dropLocation);
8615
8703
  }
8616
8704
  from.panels.forEach((panel) => {
8617
8705
  this._onDidMovePanel.fire({ panel, from });
@@ -8723,22 +8811,34 @@ class DockviewComponent extends BaseGrid {
8723
8811
  const contentComponent = options.component;
8724
8812
  const tabComponent = (_a = options.tabComponent) !== null && _a !== void 0 ? _a : this.options.defaultTabComponent;
8725
8813
  const view = new DockviewPanelModel(this, options.id, contentComponent, tabComponent);
8726
- const panel = new DockviewPanel(options.id, contentComponent, tabComponent, this, this._api, group, view, { renderer: options.renderer });
8814
+ const panel = new DockviewPanel(options.id, contentComponent, tabComponent, this, this._api, group, view, {
8815
+ renderer: options.renderer,
8816
+ minimumWidth: options.minimumWidth,
8817
+ minimumHeight: options.minimumHeight,
8818
+ maximumWidth: options.maximumWidth,
8819
+ maximumHeight: options.maximumHeight,
8820
+ });
8727
8821
  panel.init({
8728
8822
  title: (_b = options.title) !== null && _b !== void 0 ? _b : options.id,
8729
8823
  params: (_c = options === null || options === void 0 ? void 0 : options.params) !== null && _c !== void 0 ? _c : {},
8730
8824
  });
8731
8825
  return panel;
8732
8826
  }
8733
- createGroupAtLocation(location = [0]) {
8827
+ createGroupAtLocation(location, size) {
8734
8828
  const group = this.createGroup();
8735
- this.doAddGroup(group, location);
8829
+ this.doAddGroup(group, location, size);
8736
8830
  return group;
8737
8831
  }
8738
8832
  findGroup(panel) {
8739
8833
  var _a;
8740
8834
  return (_a = Array.from(this._groups.values()).find((group) => group.value.model.containsPanel(panel))) === null || _a === void 0 ? void 0 : _a.value;
8741
8835
  }
8836
+ orientationAtLocation(location) {
8837
+ const rootOrientation = this.gridview.orientation;
8838
+ return location.length % 2 == 1
8839
+ ? rootOrientation
8840
+ : orthogonal(rootOrientation);
8841
+ }
8742
8842
  }
8743
8843
 
8744
8844
  class GridviewComponent extends BaseGrid {
@@ -8758,8 +8858,7 @@ class GridviewComponent extends BaseGrid {
8758
8858
  this._deserializer = value;
8759
8859
  }
8760
8860
  constructor(parentElement, options) {
8761
- super({
8762
- parentElement: parentElement,
8861
+ super(parentElement, {
8763
8862
  proportionalLayout: options.proportionalLayout,
8764
8863
  orientation: options.orientation,
8765
8864
  styles: options.styles,
@@ -9058,7 +9157,7 @@ class SplitviewComponent extends Resizable {
9058
9157
  : this.splitview.orthogonalSize;
9059
9158
  }
9060
9159
  constructor(parentElement, options) {
9061
- var _a, _b;
9160
+ var _a;
9062
9161
  super(parentElement, options.disableAutoResizing);
9063
9162
  this._splitviewChangeDisposable = new MutableDisposable();
9064
9163
  this._panels = new Map();
@@ -9070,11 +9169,8 @@ class SplitviewComponent extends Resizable {
9070
9169
  this.onDidRemoveView = this._onDidRemoveView.event;
9071
9170
  this._onDidLayoutChange = new Emitter();
9072
9171
  this.onDidLayoutChange = this._onDidLayoutChange.event;
9073
- this.classNames = [];
9074
- this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
9075
- for (const className of this.classNames) {
9076
- toggleClass(this.element, className, true);
9077
- }
9172
+ this._classNames = new Classnames(this.element);
9173
+ this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
9078
9174
  this._options = options;
9079
9175
  if (!options.components) {
9080
9176
  options.components = {};
@@ -9088,20 +9184,15 @@ class SplitviewComponent extends Resizable {
9088
9184
  updateOptions(options) {
9089
9185
  var _a, _b;
9090
9186
  if ('className' in options) {
9091
- for (const className of this.classNames) {
9092
- toggleClass(this.element, className, false);
9093
- }
9094
- this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
9095
- for (const className of this.classNames) {
9096
- toggleClass(this.element, className, true);
9097
- }
9187
+ this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
9098
9188
  }
9099
- const hasOrientationChanged = typeof options.orientation === 'string' &&
9100
- this.options.orientation !== options.orientation;
9101
- this._options = Object.assign(Object.assign({}, this.options), options);
9102
- if (hasOrientationChanged) {
9189
+ if ('disableResizing' in options) {
9190
+ this.disableResizing = (_b = options.disableAutoResizing) !== null && _b !== void 0 ? _b : false;
9191
+ }
9192
+ if (typeof options.orientation === 'string') {
9103
9193
  this.splitview.orientation = options.orientation;
9104
9194
  }
9195
+ this._options = Object.assign(Object.assign({}, this.options), options);
9105
9196
  this.splitview.layout(this.splitview.size, this.splitview.orthogonalSize);
9106
9197
  }
9107
9198
  focus() {
@@ -9398,7 +9489,7 @@ class PaneviewComponent extends Resizable {
9398
9489
  return this._options;
9399
9490
  }
9400
9491
  constructor(parentElement, options) {
9401
- var _a, _b;
9492
+ var _a;
9402
9493
  super(parentElement, options.disableAutoResizing);
9403
9494
  this._id = nextLayoutId.next();
9404
9495
  this._disposable = new MutableDisposable();
@@ -9413,12 +9504,9 @@ class PaneviewComponent extends Resizable {
9413
9504
  this.onDidAddView = this._onDidAddView.event;
9414
9505
  this._onDidRemoveView = new Emitter();
9415
9506
  this.onDidRemoveView = this._onDidRemoveView.event;
9416
- this.classNames = [];
9417
9507
  this.addDisposables(this._onDidLayoutChange, this._onDidLayoutfromJSON, this._onDidDrop, this._onDidAddView, this._onDidRemoveView);
9418
- this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
9419
- for (const className of this.classNames) {
9420
- toggleClass(this.element, className, true);
9421
- }
9508
+ this._classNames = new Classnames(this.element);
9509
+ this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
9422
9510
  this._options = options;
9423
9511
  if (!options.components) {
9424
9512
  options.components = {};
@@ -9442,13 +9530,10 @@ class PaneviewComponent extends Resizable {
9442
9530
  updateOptions(options) {
9443
9531
  var _a, _b;
9444
9532
  if ('className' in options) {
9445
- for (const className of this.classNames) {
9446
- toggleClass(this.element, className, false);
9447
- }
9448
- this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
9449
- for (const className of this.classNames) {
9450
- toggleClass(this.element, className, true);
9451
- }
9533
+ this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
9534
+ }
9535
+ if ('disableResizing' in options) {
9536
+ this.disableResizing = (_b = options.disableAutoResizing) !== null && _b !== void 0 ? _b : false;
9452
9537
  }
9453
9538
  this._options = Object.assign(Object.assign({}, this.options), options);
9454
9539
  }