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
  */
@@ -37,7 +37,7 @@
37
37
  }
38
38
  }
39
39
 
40
- var css_248z = ".dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: ##fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-background-color: #ebeced;\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab .dockview-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .groupview .content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .groupview.active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview.inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:not(.disabled)::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:not(.disabled)::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.drop-target {\n position: relative;\n}\n.drop-target > .drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 1000;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition: top 70ms ease-out, left 70ms ease-out, width 70ms ease-out, height 70ms ease-out, opacity 0.15s ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\n}\n\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.groupview:focus {\n outline: none;\n}\n.groupview.empty > .tabs-and-actions-container {\n display: none;\n}\n.groupview > .content-container {\n flex-grow: 1;\n min-height: 0;\n outline: none;\n}\n.dv-root-wrapper {\n height: 100%;\n width: 100%;\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n position: absolute;\n z-index: 997;\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: 999;\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: se-resize;\n}\n.dv-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 998;\n}\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: var(--dv-background-color);\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.tab.inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dv-default-tab .dv-default-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
40
+ var css_248z = ".dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-background-color: #ebeced;\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab .dockview-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .groupview .content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .groupview.active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview.inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:not(.disabled)::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:not(.disabled)::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.drop-target {\n position: relative;\n}\n.drop-target > .drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 1000;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition: top 70ms ease-out, left 70ms ease-out, width 70ms ease-out, height 70ms ease-out, opacity 0.15s ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\n}\n\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.groupview:focus {\n outline: none;\n}\n.groupview.empty > .tabs-and-actions-container {\n display: none;\n}\n.groupview > .content-container {\n flex-grow: 1;\n min-height: 0;\n outline: none;\n}\n.dv-root-wrapper {\n height: 100%;\n width: 100%;\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n position: absolute;\n z-index: 997;\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: 999;\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: se-resize;\n}\n.dv-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 998;\n}\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: var(--dv-background-color);\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.tab.inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dv-default-tab .dv-default-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
41
41
  styleInject(css_248z);
42
42
 
43
43
  class TransferObject {
@@ -585,6 +585,42 @@
585
585
  },
586
586
  };
587
587
  }
588
+ function getDockviewTheme(element) {
589
+ function toClassList(element) {
590
+ const list = [];
591
+ for (let i = 0; i < element.classList.length; i++) {
592
+ list.push(element.classList.item(i));
593
+ }
594
+ return list;
595
+ }
596
+ let theme = undefined;
597
+ let parent = element;
598
+ while (parent !== null) {
599
+ theme = toClassList(parent).find((cls) => cls.startsWith('dockview-theme-'));
600
+ if (typeof theme === 'string') {
601
+ break;
602
+ }
603
+ parent = parent.parentElement;
604
+ }
605
+ return theme;
606
+ }
607
+ class Classnames {
608
+ constructor(element) {
609
+ this.element = element;
610
+ this._classNames = [];
611
+ }
612
+ setClassNames(classNames) {
613
+ for (const className of this._classNames) {
614
+ toggleClass(this.element, className, false);
615
+ }
616
+ this._classNames = classNames
617
+ .split(' ')
618
+ .filter((v) => v.trim().length > 0);
619
+ for (const className of this._classNames) {
620
+ toggleClass(this.element, className, true);
621
+ }
622
+ }
623
+ }
588
624
 
589
625
  function tail(arr) {
590
626
  if (arr.length === 0) {
@@ -2704,8 +2740,8 @@
2704
2740
  set locked(value) {
2705
2741
  this.gridview.locked = value;
2706
2742
  }
2707
- constructor(options) {
2708
- var _a, _b;
2743
+ constructor(parentElement, options) {
2744
+ var _a;
2709
2745
  super(document.createElement('div'), options.disableAutoResizing);
2710
2746
  this._id = nextLayoutId$1.next();
2711
2747
  this._groups = new Map();
@@ -2719,14 +2755,11 @@
2719
2755
  this.onDidLayoutChange = this._bufferOnDidLayoutChange.onEvent;
2720
2756
  this._onDidViewVisibilityChangeMicroTaskQueue = new AsapEvent();
2721
2757
  this.onDidViewVisibilityChangeMicroTaskQueue = this._onDidViewVisibilityChangeMicroTaskQueue.onEvent;
2722
- this.classNames = [];
2723
2758
  this.element.style.height = '100%';
2724
2759
  this.element.style.width = '100%';
2725
- this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
2726
- for (const className of this.classNames) {
2727
- toggleClass(this.element, className, true);
2728
- }
2729
- options.parentElement.appendChild(this.element);
2760
+ this._classNames = new Classnames(this.element);
2761
+ this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
2762
+ parentElement.appendChild(this.element);
2730
2763
  this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation, options.locked, options.margin);
2731
2764
  this.gridview.locked = !!options.locked;
2732
2765
  this.element.appendChild(this.gridview.element);
@@ -2750,15 +2783,22 @@
2750
2783
  return this.gridview.isViewVisible(getGridLocation(panel.element));
2751
2784
  }
2752
2785
  updateOptions(options) {
2753
- var _a, _b;
2786
+ var _a, _b, _c, _d;
2787
+ if (typeof options.proportionalLayout === 'boolean') ;
2788
+ if (options.orientation) {
2789
+ this.gridview.orientation = options.orientation;
2790
+ }
2791
+ if ('disableResizing' in options) {
2792
+ this.disableResizing = (_a = options.disableAutoResizing) !== null && _a !== void 0 ? _a : false;
2793
+ }
2794
+ if ('locked' in options) {
2795
+ this.locked = (_b = options.locked) !== null && _b !== void 0 ? _b : false;
2796
+ }
2797
+ if ('margin' in options) {
2798
+ this.gridview.margin = (_c = options.margin) !== null && _c !== void 0 ? _c : 0;
2799
+ }
2754
2800
  if ('className' in options) {
2755
- for (const className of this.classNames) {
2756
- toggleClass(this.element, className, false);
2757
- }
2758
- this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
2759
- for (const className of this.classNames) {
2760
- toggleClass(this.element, className, true);
2761
- }
2801
+ this._classNames.setClassNames((_d = options.className) !== null && _d !== void 0 ? _d : '');
2762
2802
  }
2763
2803
  }
2764
2804
  maximizeGroup(panel) {
@@ -4684,7 +4724,7 @@
4684
4724
  this.onWillShowOverlay = this.dropTarget.onWillShowOverlay;
4685
4725
  this.addDisposables(this._onChanged, this._onDropped, this._onDragStart, dragHandler.onDragStart((event) => {
4686
4726
  this._onDragStart.fire(event);
4687
- }), dragHandler, addDisposableListener(this._element, 'mousedown', (event) => {
4727
+ }), dragHandler, addDisposableListener(this._element, 'pointerdown', (event) => {
4688
4728
  if (event.defaultPrevented) {
4689
4729
  return;
4690
4730
  }
@@ -4726,7 +4766,7 @@
4726
4766
  this.accessor = accessor;
4727
4767
  this.group = group;
4728
4768
  this.panelTransfer = LocalSelectionTransfer.getInstance();
4729
- this.addDisposables(addDisposableListener(element, 'mousedown', (e) => {
4769
+ this.addDisposables(addDisposableListener(element, 'pointerdown', (e) => {
4730
4770
  if (e.shiftKey) {
4731
4771
  /**
4732
4772
  * You cannot call e.preventDefault() because that will prevent drag events from firing
@@ -4945,7 +4985,7 @@
4945
4985
  group: this.group,
4946
4986
  getData: getPanelData,
4947
4987
  }));
4948
- }), addDisposableListener(this.voidContainer.element, 'mousedown', (event) => {
4988
+ }), addDisposableListener(this.voidContainer.element, 'pointerdown', (event) => {
4949
4989
  const isFloatingGroupsEnabled = !this.accessor.options.disableFloatingGroups;
4950
4990
  if (isFloatingGroupsEnabled &&
4951
4991
  event.shiftKey &&
@@ -4959,7 +4999,7 @@
4959
4999
  inDragMode: true,
4960
5000
  });
4961
5001
  }
4962
- }), addDisposableListener(this.tabContainer, 'mousedown', (event) => {
5002
+ }), addDisposableListener(this.tabContainer, 'pointerdown', (event) => {
4963
5003
  if (event.defaultPrevented) {
4964
5004
  return;
4965
5005
  }
@@ -5664,7 +5704,6 @@
5664
5704
  });
5665
5705
  this.tabsContainer.hide();
5666
5706
  this.contentContainer.element.appendChild(this.watermark.element);
5667
- this.watermark.updateParentGroup(this.groupPanel, true);
5668
5707
  }
5669
5708
  if (!this.isEmpty && this.watermark) {
5670
5709
  this.watermark.element.remove();
@@ -6027,6 +6066,34 @@
6027
6066
  const MINIMUM_DOCKVIEW_GROUP_PANEL_WIDTH = 100;
6028
6067
  const MINIMUM_DOCKVIEW_GROUP_PANEL_HEIGHT = 100;
6029
6068
  class DockviewGroupPanel extends GridviewPanel {
6069
+ get minimumWidth() {
6070
+ var _a;
6071
+ const activePanelMinimumWidth = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.minimumWidth;
6072
+ return typeof activePanelMinimumWidth === 'number'
6073
+ ? activePanelMinimumWidth
6074
+ : MINIMUM_DOCKVIEW_GROUP_PANEL_WIDTH;
6075
+ }
6076
+ get minimumHeight() {
6077
+ var _a;
6078
+ const activePanelMinimumHeight = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.minimumHeight;
6079
+ return typeof activePanelMinimumHeight === 'number'
6080
+ ? activePanelMinimumHeight
6081
+ : MINIMUM_DOCKVIEW_GROUP_PANEL_HEIGHT;
6082
+ }
6083
+ get maximumWidth() {
6084
+ var _a;
6085
+ const activePanelMaximumWidth = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.maximumWidth;
6086
+ return typeof activePanelMaximumWidth === 'number'
6087
+ ? activePanelMaximumWidth
6088
+ : Number.MAX_SAFE_INTEGER;
6089
+ }
6090
+ get maximumHeight() {
6091
+ var _a;
6092
+ const activePanelMaximumHeight = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.maximumHeight;
6093
+ return typeof activePanelMaximumHeight === 'number'
6094
+ ? activePanelMaximumHeight
6095
+ : Number.MAX_SAFE_INTEGER;
6096
+ }
6030
6097
  get panels() {
6031
6098
  return this._model.panels;
6032
6099
  }
@@ -6049,9 +6116,12 @@
6049
6116
  return this._model.header;
6050
6117
  }
6051
6118
  constructor(accessor, id, options) {
6119
+ var _a, _b, _c, _d, _e, _f;
6052
6120
  super(id, 'groupview_default', {
6053
- minimumHeight: MINIMUM_DOCKVIEW_GROUP_PANEL_HEIGHT,
6054
- minimumWidth: MINIMUM_DOCKVIEW_GROUP_PANEL_WIDTH,
6121
+ minimumHeight: (_b = (_a = options.constraints) === null || _a === void 0 ? void 0 : _a.minimumHeight) !== null && _b !== void 0 ? _b : MINIMUM_DOCKVIEW_GROUP_PANEL_HEIGHT,
6122
+ minimumWidth: (_d = (_c = options.constraints) === null || _c === void 0 ? void 0 : _c.maximumHeight) !== null && _d !== void 0 ? _d : MINIMUM_DOCKVIEW_GROUP_PANEL_WIDTH,
6123
+ maximumHeight: (_e = options.constraints) === null || _e === void 0 ? void 0 : _e.maximumHeight,
6124
+ maximumWidth: (_f = options.constraints) === null || _f === void 0 ? void 0 : _f.maximumWidth,
6055
6125
  }, new DockviewGroupPanelApiImpl(id, accessor));
6056
6126
  this.api.initialize(this); // cannot use 'this' after after 'super' call
6057
6127
  this._model = new DockviewGroupPanelModel(this.element, accessor, id, options, this);
@@ -6207,6 +6277,18 @@
6207
6277
  var _a;
6208
6278
  return (_a = this._renderer) !== null && _a !== void 0 ? _a : this.accessor.renderer;
6209
6279
  }
6280
+ get minimumWidth() {
6281
+ return this._minimumWidth;
6282
+ }
6283
+ get minimumHeight() {
6284
+ return this._minimumHeight;
6285
+ }
6286
+ get maximumWidth() {
6287
+ return this._maximumWidth;
6288
+ }
6289
+ get maximumHeight() {
6290
+ return this._maximumHeight;
6291
+ }
6210
6292
  constructor(id, component, tabComponent, accessor, containerApi, group, view, options) {
6211
6293
  super();
6212
6294
  this.id = id;
@@ -6215,6 +6297,10 @@
6215
6297
  this.view = view;
6216
6298
  this._renderer = options.renderer;
6217
6299
  this._group = group;
6300
+ this._minimumWidth = options.minimumWidth;
6301
+ this._minimumHeight = options.minimumHeight;
6302
+ this._maximumWidth = options.maximumWidth;
6303
+ this._maximumHeight = options.maximumHeight;
6218
6304
  this.api = new DockviewPanelApiImpl(this, this._group, accessor, component, tabComponent);
6219
6305
  this.addDisposables(this.api.onActiveChange(() => {
6220
6306
  accessor.setActivePanel(this);
@@ -6251,6 +6337,10 @@
6251
6337
  : undefined,
6252
6338
  title: this.title,
6253
6339
  renderer: this._renderer,
6340
+ minimumHeight: this._minimumHeight,
6341
+ maximumHeight: this._maximumHeight,
6342
+ minimumWidth: this._minimumWidth,
6343
+ maximumWidth: this._maximumWidth,
6254
6344
  };
6255
6345
  }
6256
6346
  setTitle(title) {
@@ -6380,7 +6470,7 @@
6380
6470
  this.action.appendChild(createCloseButton());
6381
6471
  this._element.appendChild(this._content);
6382
6472
  this._element.appendChild(this.action);
6383
- this.addDisposables(addDisposableListener(this.action, 'mousedown', (ev) => {
6473
+ this.addDisposables(addDisposableListener(this.action, 'pointerdown', (ev) => {
6384
6474
  ev.preventDefault();
6385
6475
  }));
6386
6476
  this.render();
@@ -6390,7 +6480,7 @@
6390
6480
  this.addDisposables(params.api.onDidTitleChange((event) => {
6391
6481
  this._title = event.title;
6392
6482
  this.render();
6393
- }), addDisposableListener(this.action, 'mousedown', (ev) => {
6483
+ }), addDisposableListener(this.action, 'pointerdown', (ev) => {
6394
6484
  ev.preventDefault();
6395
6485
  }), addDisposableListener(this.action, 'click', (ev) => {
6396
6486
  if (ev.defaultPrevented) {
@@ -6491,6 +6581,10 @@
6491
6581
  const view = new DockviewPanelModel(this.accessor, panelId, contentComponent, tabComponent);
6492
6582
  const panel = new DockviewPanel(panelId, contentComponent, tabComponent, this.accessor, new DockviewApi(this.accessor), group, view, {
6493
6583
  renderer: panelData.renderer,
6584
+ minimumWidth: panelData.minimumWidth,
6585
+ minimumHeight: panelData.minimumHeight,
6586
+ maximumWidth: panelData.maximumWidth,
6587
+ maximumHeight: panelData.maximumHeight,
6494
6588
  });
6495
6589
  panel.init({
6496
6590
  title: title !== null && title !== void 0 ? title : panelId,
@@ -6524,34 +6618,19 @@
6524
6618
  actionsContainer.appendChild(closeAnchor);
6525
6619
  title.appendChild(emptySpace);
6526
6620
  title.appendChild(actionsContainer);
6527
- this.addDisposables(addDisposableListener(closeAnchor, 'click', (ev) => {
6621
+ this.addDisposables(addDisposableListener(closeAnchor, 'click', (event) => {
6528
6622
  var _a;
6529
- ev.preventDefault();
6623
+ event.preventDefault();
6530
6624
  if (this._group) {
6531
6625
  (_a = this._api) === null || _a === void 0 ? void 0 : _a.removeGroup(this._group);
6532
6626
  }
6533
6627
  }));
6534
6628
  }
6535
- update(_event) {
6536
- // noop
6537
- }
6538
- focus() {
6539
- // noop
6540
- }
6541
- layout(_width, _height) {
6542
- // noop
6543
- }
6544
6629
  init(_params) {
6545
6630
  this._api = _params.containerApi;
6631
+ this._group = _params.group;
6546
6632
  this.render();
6547
6633
  }
6548
- updateParentGroup(group, _visible) {
6549
- this._group = group;
6550
- this.render();
6551
- }
6552
- dispose() {
6553
- super.dispose();
6554
- }
6555
6634
  render() {
6556
6635
  const isOneGroup = !!(this._api && this._api.size <= 1);
6557
6636
  toggleClass(this.element, 'has-actions', isOneGroup);
@@ -6710,7 +6789,7 @@
6710
6789
  dispose: () => {
6711
6790
  iframes.release();
6712
6791
  },
6713
- }, addDisposableWindowListener(window, 'mousemove', (e) => {
6792
+ }, addDisposableWindowListener(window, 'pointermove', (e) => {
6714
6793
  const containerRect = this.options.container.getBoundingClientRect();
6715
6794
  const x = e.clientX - containerRect.left;
6716
6795
  const y = e.clientY - containerRect.top;
@@ -6747,13 +6826,13 @@
6747
6826
  bounds.right = right;
6748
6827
  }
6749
6828
  this.setBounds(bounds);
6750
- }), addDisposableWindowListener(window, 'mouseup', () => {
6829
+ }), addDisposableWindowListener(window, 'pointerup', () => {
6751
6830
  toggleClass(this._element, 'dv-resize-container-dragging', false);
6752
6831
  move.dispose();
6753
6832
  this._onDidChangeEnd.fire();
6754
6833
  }));
6755
6834
  };
6756
- this.addDisposables(move, addDisposableListener(dragTarget, 'mousedown', (event) => {
6835
+ this.addDisposables(move, addDisposableListener(dragTarget, 'pointerdown', (event) => {
6757
6836
  if (event.defaultPrevented) {
6758
6837
  event.preventDefault();
6759
6838
  return;
@@ -6764,7 +6843,7 @@
6764
6843
  return;
6765
6844
  }
6766
6845
  track();
6767
- }), addDisposableListener(this.options.content, 'mousedown', (event) => {
6846
+ }), addDisposableListener(this.options.content, 'pointerdown', (event) => {
6768
6847
  if (event.defaultPrevented) {
6769
6848
  return;
6770
6849
  }
@@ -6776,7 +6855,7 @@
6776
6855
  if (event.shiftKey) {
6777
6856
  track();
6778
6857
  }
6779
- }), addDisposableListener(this.options.content, 'mousedown', () => {
6858
+ }), addDisposableListener(this.options.content, 'pointerdown', () => {
6780
6859
  arialLevelTracker.push(this._element);
6781
6860
  }, true));
6782
6861
  if (options.inDragMode) {
@@ -6788,11 +6867,11 @@
6788
6867
  resizeHandleElement.className = `dv-resize-handle-${direction}`;
6789
6868
  this._element.appendChild(resizeHandleElement);
6790
6869
  const move = new MutableDisposable();
6791
- this.addDisposables(move, addDisposableListener(resizeHandleElement, 'mousedown', (e) => {
6870
+ this.addDisposables(move, addDisposableListener(resizeHandleElement, 'pointerdown', (e) => {
6792
6871
  e.preventDefault();
6793
6872
  let startPosition = null;
6794
6873
  const iframes = disableIframePointEvents();
6795
- move.value = new CompositeDisposable(addDisposableWindowListener(window, 'mousemove', (e) => {
6874
+ move.value = new CompositeDisposable(addDisposableWindowListener(window, 'pointermove', (e) => {
6796
6875
  const containerRect = this.options.container.getBoundingClientRect();
6797
6876
  const overlayRect = this._element.getBoundingClientRect();
6798
6877
  const y = e.clientY - containerRect.top;
@@ -6916,7 +6995,7 @@
6916
6995
  dispose: () => {
6917
6996
  iframes.release();
6918
6997
  },
6919
- }, addDisposableWindowListener(window, 'mouseup', () => {
6998
+ }, addDisposableWindowListener(window, 'pointerup', () => {
6920
6999
  move.dispose();
6921
7000
  this._onDidChangeEnd.fire();
6922
7001
  }));
@@ -7297,25 +7376,6 @@
7297
7376
  });
7298
7377
  });
7299
7378
  }
7300
- function getDockviewTheme(element) {
7301
- function toClassList(element) {
7302
- const list = [];
7303
- for (let i = 0; i < element.classList.length; i++) {
7304
- list.push(element.classList.item(i));
7305
- }
7306
- return list;
7307
- }
7308
- let theme = undefined;
7309
- let parent = element;
7310
- while (parent !== null) {
7311
- theme = toClassList(parent).find((cls) => cls.startsWith('dockview-theme-'));
7312
- if (typeof theme === 'string') {
7313
- break;
7314
- }
7315
- parent = parent.parentElement;
7316
- }
7317
- return theme;
7318
- }
7319
7379
  class DockviewComponent extends BaseGrid {
7320
7380
  get orientation() {
7321
7381
  return this.gridview.orientation;
@@ -7351,13 +7411,12 @@
7351
7411
  }
7352
7412
  constructor(parentElement, options) {
7353
7413
  var _a;
7354
- super({
7414
+ super(parentElement, {
7355
7415
  proportionalLayout: true,
7356
7416
  orientation: exports.Orientation.HORIZONTAL,
7357
7417
  styles: options.hideBorders
7358
7418
  ? { separatorBorder: 'transparent' }
7359
7419
  : undefined,
7360
- parentElement: parentElement,
7361
7420
  disableAutoResizing: options.disableAutoResizing,
7362
7421
  locked: options.locked,
7363
7422
  margin: options.gap,
@@ -7397,9 +7456,6 @@
7397
7456
  this._onDidActiveGroupChange = new Emitter();
7398
7457
  this.onDidActiveGroupChange = this._onDidActiveGroupChange.event;
7399
7458
  this._moving = false;
7400
- // const gready = document.createElement('div');
7401
- // gready.className = 'dv-overlay-render-container';
7402
- // this.gridview.element.appendChild(gready);
7403
7459
  this.overlayRenderContainer = new OverlayRenderContainer(this.gridview.element, this);
7404
7460
  toggleClass(this.gridview.element, 'dv-dockview', true);
7405
7461
  toggleClass(this.element, 'dv-debug', !!options.debug);
@@ -7848,16 +7904,11 @@
7848
7904
  }
7849
7905
  }
7850
7906
  updateOptions(options) {
7851
- var _a, _b;
7907
+ var _a, _b, _c, _d;
7852
7908
  super.updateOptions(options);
7853
- const changed_floatingGroupBounds = 'floatingGroupBounds' in options &&
7854
- options.floatingGroupBounds !== this.options.floatingGroupBounds;
7855
- const changed_rootOverlayOptions = 'rootOverlayModel' in options &&
7856
- options.rootOverlayModel !== this.options.rootOverlayModel;
7857
- this._options = Object.assign(Object.assign({}, this.options), options);
7858
- if (changed_floatingGroupBounds) {
7909
+ if ('floatingGroupBounds' in options) {
7859
7910
  for (const group of this._floatingGroups) {
7860
- switch (this.options.floatingGroupBounds) {
7911
+ switch (options.floatingGroupBounds) {
7861
7912
  case 'boundedWithinViewport':
7862
7913
  group.overlay.minimumInViewportHeight = undefined;
7863
7914
  group.overlay.minimumInViewportWidth = undefined;
@@ -7870,25 +7921,20 @@
7870
7921
  break;
7871
7922
  default:
7872
7923
  group.overlay.minimumInViewportHeight =
7873
- (_a = this.options.floatingGroupBounds) === null || _a === void 0 ? void 0 : _a.minimumHeightWithinViewport;
7924
+ (_a = options.floatingGroupBounds) === null || _a === void 0 ? void 0 : _a.minimumHeightWithinViewport;
7874
7925
  group.overlay.minimumInViewportWidth =
7875
- (_b = this.options.floatingGroupBounds) === null || _b === void 0 ? void 0 : _b.minimumWidthWithinViewport;
7926
+ (_b = options.floatingGroupBounds) === null || _b === void 0 ? void 0 : _b.minimumWidthWithinViewport;
7876
7927
  }
7877
7928
  group.overlay.setBounds();
7878
7929
  }
7879
7930
  }
7880
- if (changed_rootOverlayOptions) {
7881
- this._rootDropTarget.setOverlayModel(options.rootOverlayModel);
7931
+ if ('rootOverlayModel' in options) {
7932
+ this._rootDropTarget.setOverlayModel((_c = options.rootOverlayModel) !== null && _c !== void 0 ? _c : DEFAULT_ROOT_OVERLAY_MODEL);
7882
7933
  }
7883
- if (
7884
- // if explicitly set as `undefined`
7885
- 'gap' in options &&
7886
- options.gap === undefined) {
7887
- this.gridview.margin = 0;
7888
- }
7889
- if (typeof options.gap === 'number') {
7890
- this.gridview.margin = options.gap;
7934
+ if ('gap' in options) {
7935
+ this.gridview.margin = (_d = options.gap) !== null && _d !== void 0 ? _d : 0;
7891
7936
  }
7937
+ this._options = Object.assign(Object.assign({}, this.options), options);
7892
7938
  this.layout(this.gridview.width, this.gridview.height, true);
7893
7939
  }
7894
7940
  layout(width, height, forceResize) {
@@ -8145,6 +8191,10 @@
8145
8191
  if (options.position && options.floating) {
8146
8192
  throw new Error('you can only provide one of: position, floating as arguments to .addPanel(...)');
8147
8193
  }
8194
+ const initial = {
8195
+ width: options.initialWidth,
8196
+ height: options.initialHeight,
8197
+ };
8148
8198
  if (options.position) {
8149
8199
  if (isPanelOptionsWithPanel(options.position)) {
8150
8200
  const referencePanel = typeof options.position.referencePanel === 'string'
@@ -8174,6 +8224,10 @@
8174
8224
  if (!options.inactive) {
8175
8225
  this.doSetGroupAndPanelActive(group);
8176
8226
  }
8227
+ group.api.setSize({
8228
+ height: initial === null || initial === void 0 ? void 0 : initial.height,
8229
+ width: initial === null || initial === void 0 ? void 0 : initial.width,
8230
+ });
8177
8231
  return panel;
8178
8232
  }
8179
8233
  }
@@ -8204,6 +8258,10 @@
8204
8258
  skipSetActive: options.inactive,
8205
8259
  skipSetGroupActive: options.inactive,
8206
8260
  });
8261
+ referenceGroup.api.setSize({
8262
+ width: initial === null || initial === void 0 ? void 0 : initial.width,
8263
+ height: initial === null || initial === void 0 ? void 0 : initial.height,
8264
+ });
8207
8265
  if (!options.inactive) {
8208
8266
  this.doSetGroupAndPanelActive(referenceGroup);
8209
8267
  }
@@ -8211,7 +8269,10 @@
8211
8269
  else {
8212
8270
  const location = getGridLocation(referenceGroup.element);
8213
8271
  const relativeLocation = getRelativeLocation(this.gridview.orientation, location, target);
8214
- const group = this.createGroupAtLocation(relativeLocation);
8272
+ const group = this.createGroupAtLocation(relativeLocation, this.orientationAtLocation(relativeLocation) ===
8273
+ exports.Orientation.VERTICAL
8274
+ ? initial === null || initial === void 0 ? void 0 : initial.height
8275
+ : initial === null || initial === void 0 ? void 0 : initial.width);
8215
8276
  panel = this.createPanel(options, group);
8216
8277
  group.model.openPanel(panel, {
8217
8278
  skipSetActive: options.inactive,
@@ -8237,7 +8298,9 @@
8237
8298
  });
8238
8299
  }
8239
8300
  else {
8240
- const group = this.createGroupAtLocation();
8301
+ const group = this.createGroupAtLocation([0], this.gridview.orientation === exports.Orientation.VERTICAL
8302
+ ? initial === null || initial === void 0 ? void 0 : initial.height
8303
+ : initial === null || initial === void 0 ? void 0 : initial.width);
8241
8304
  panel = this.createPanel(options, group);
8242
8305
  group.model.openPanel(panel, {
8243
8306
  skipSetActive: options.inactive,
@@ -8331,7 +8394,11 @@
8331
8394
  const location = getGridLocation(referenceGroup.element);
8332
8395
  const relativeLocation = getRelativeLocation(this.gridview.orientation, location, target);
8333
8396
  const group = this.createGroup(options);
8334
- this.doAddGroup(group, relativeLocation);
8397
+ const size = this.getLocationOrientation(relativeLocation) ===
8398
+ exports.Orientation.VERTICAL
8399
+ ? options.initialHeight
8400
+ : options.initialWidth;
8401
+ this.doAddGroup(group, relativeLocation, size);
8335
8402
  if (!options.skipSetActive) {
8336
8403
  this.doSetGroupAndPanelActive(group);
8337
8404
  }
@@ -8344,6 +8411,12 @@
8344
8411
  return group;
8345
8412
  }
8346
8413
  }
8414
+ getLocationOrientation(location) {
8415
+ return location.length % 2 == 0 &&
8416
+ this.gridview.orientation === exports.Orientation.HORIZONTAL
8417
+ ? exports.Orientation.HORIZONTAL
8418
+ : exports.Orientation.VERTICAL;
8419
+ }
8347
8420
  removeGroup(group, options) {
8348
8421
  this.doRemoveGroup(group, options);
8349
8422
  }
@@ -8615,7 +8688,22 @@
8615
8688
  }
8616
8689
  const referenceLocation = getGridLocation(to.element);
8617
8690
  const dropLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, target);
8618
- this.gridview.addView(from, exports.Sizing.Distribute, dropLocation);
8691
+ let size;
8692
+ switch (this.gridview.orientation) {
8693
+ case exports.Orientation.VERTICAL:
8694
+ size =
8695
+ referenceLocation.length % 2 == 0
8696
+ ? from.api.width
8697
+ : from.api.height;
8698
+ break;
8699
+ case exports.Orientation.HORIZONTAL:
8700
+ size =
8701
+ referenceLocation.length % 2 == 0
8702
+ ? from.api.height
8703
+ : from.api.width;
8704
+ break;
8705
+ }
8706
+ this.gridview.addView(from, size, dropLocation);
8619
8707
  }
8620
8708
  from.panels.forEach((panel) => {
8621
8709
  this._onDidMovePanel.fire({ panel, from });
@@ -8727,22 +8815,34 @@
8727
8815
  const contentComponent = options.component;
8728
8816
  const tabComponent = (_a = options.tabComponent) !== null && _a !== void 0 ? _a : this.options.defaultTabComponent;
8729
8817
  const view = new DockviewPanelModel(this, options.id, contentComponent, tabComponent);
8730
- const panel = new DockviewPanel(options.id, contentComponent, tabComponent, this, this._api, group, view, { renderer: options.renderer });
8818
+ const panel = new DockviewPanel(options.id, contentComponent, tabComponent, this, this._api, group, view, {
8819
+ renderer: options.renderer,
8820
+ minimumWidth: options.minimumWidth,
8821
+ minimumHeight: options.minimumHeight,
8822
+ maximumWidth: options.maximumWidth,
8823
+ maximumHeight: options.maximumHeight,
8824
+ });
8731
8825
  panel.init({
8732
8826
  title: (_b = options.title) !== null && _b !== void 0 ? _b : options.id,
8733
8827
  params: (_c = options === null || options === void 0 ? void 0 : options.params) !== null && _c !== void 0 ? _c : {},
8734
8828
  });
8735
8829
  return panel;
8736
8830
  }
8737
- createGroupAtLocation(location = [0]) {
8831
+ createGroupAtLocation(location, size) {
8738
8832
  const group = this.createGroup();
8739
- this.doAddGroup(group, location);
8833
+ this.doAddGroup(group, location, size);
8740
8834
  return group;
8741
8835
  }
8742
8836
  findGroup(panel) {
8743
8837
  var _a;
8744
8838
  return (_a = Array.from(this._groups.values()).find((group) => group.value.model.containsPanel(panel))) === null || _a === void 0 ? void 0 : _a.value;
8745
8839
  }
8840
+ orientationAtLocation(location) {
8841
+ const rootOrientation = this.gridview.orientation;
8842
+ return location.length % 2 == 1
8843
+ ? rootOrientation
8844
+ : orthogonal(rootOrientation);
8845
+ }
8746
8846
  }
8747
8847
 
8748
8848
  class GridviewComponent extends BaseGrid {
@@ -8762,8 +8862,7 @@
8762
8862
  this._deserializer = value;
8763
8863
  }
8764
8864
  constructor(parentElement, options) {
8765
- super({
8766
- parentElement: parentElement,
8865
+ super(parentElement, {
8767
8866
  proportionalLayout: options.proportionalLayout,
8768
8867
  orientation: options.orientation,
8769
8868
  styles: options.styles,
@@ -9062,7 +9161,7 @@
9062
9161
  : this.splitview.orthogonalSize;
9063
9162
  }
9064
9163
  constructor(parentElement, options) {
9065
- var _a, _b;
9164
+ var _a;
9066
9165
  super(parentElement, options.disableAutoResizing);
9067
9166
  this._splitviewChangeDisposable = new MutableDisposable();
9068
9167
  this._panels = new Map();
@@ -9074,11 +9173,8 @@
9074
9173
  this.onDidRemoveView = this._onDidRemoveView.event;
9075
9174
  this._onDidLayoutChange = new Emitter();
9076
9175
  this.onDidLayoutChange = this._onDidLayoutChange.event;
9077
- this.classNames = [];
9078
- this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
9079
- for (const className of this.classNames) {
9080
- toggleClass(this.element, className, true);
9081
- }
9176
+ this._classNames = new Classnames(this.element);
9177
+ this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
9082
9178
  this._options = options;
9083
9179
  if (!options.components) {
9084
9180
  options.components = {};
@@ -9092,20 +9188,15 @@
9092
9188
  updateOptions(options) {
9093
9189
  var _a, _b;
9094
9190
  if ('className' in options) {
9095
- for (const className of this.classNames) {
9096
- toggleClass(this.element, className, false);
9097
- }
9098
- this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
9099
- for (const className of this.classNames) {
9100
- toggleClass(this.element, className, true);
9101
- }
9191
+ this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
9102
9192
  }
9103
- const hasOrientationChanged = typeof options.orientation === 'string' &&
9104
- this.options.orientation !== options.orientation;
9105
- this._options = Object.assign(Object.assign({}, this.options), options);
9106
- if (hasOrientationChanged) {
9193
+ if ('disableResizing' in options) {
9194
+ this.disableResizing = (_b = options.disableAutoResizing) !== null && _b !== void 0 ? _b : false;
9195
+ }
9196
+ if (typeof options.orientation === 'string') {
9107
9197
  this.splitview.orientation = options.orientation;
9108
9198
  }
9199
+ this._options = Object.assign(Object.assign({}, this.options), options);
9109
9200
  this.splitview.layout(this.splitview.size, this.splitview.orthogonalSize);
9110
9201
  }
9111
9202
  focus() {
@@ -9402,7 +9493,7 @@
9402
9493
  return this._options;
9403
9494
  }
9404
9495
  constructor(parentElement, options) {
9405
- var _a, _b;
9496
+ var _a;
9406
9497
  super(parentElement, options.disableAutoResizing);
9407
9498
  this._id = nextLayoutId.next();
9408
9499
  this._disposable = new MutableDisposable();
@@ -9417,12 +9508,9 @@
9417
9508
  this.onDidAddView = this._onDidAddView.event;
9418
9509
  this._onDidRemoveView = new Emitter();
9419
9510
  this.onDidRemoveView = this._onDidRemoveView.event;
9420
- this.classNames = [];
9421
9511
  this.addDisposables(this._onDidLayoutChange, this._onDidLayoutfromJSON, this._onDidDrop, this._onDidAddView, this._onDidRemoveView);
9422
- this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
9423
- for (const className of this.classNames) {
9424
- toggleClass(this.element, className, true);
9425
- }
9512
+ this._classNames = new Classnames(this.element);
9513
+ this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
9426
9514
  this._options = options;
9427
9515
  if (!options.components) {
9428
9516
  options.components = {};
@@ -9446,13 +9534,10 @@
9446
9534
  updateOptions(options) {
9447
9535
  var _a, _b;
9448
9536
  if ('className' in options) {
9449
- for (const className of this.classNames) {
9450
- toggleClass(this.element, className, false);
9451
- }
9452
- this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
9453
- for (const className of this.classNames) {
9454
- toggleClass(this.element, className, true);
9455
- }
9537
+ this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
9538
+ }
9539
+ if ('disableResizing' in options) {
9540
+ this.disableResizing = (_b = options.disableAutoResizing) !== null && _b !== void 0 ? _b : false;
9456
9541
  }
9457
9542
  this._options = Object.assign(Object.assign({}, this.options), options);
9458
9543
  }