dockview-core 1.17.2 → 2.1.0
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.
- package/dist/cjs/api/component.api.d.ts +3 -3
- package/dist/cjs/api/dockviewGroupPanelApi.d.ts +10 -8
- package/dist/cjs/api/dockviewGroupPanelApi.js +1 -0
- package/dist/cjs/api/dockviewPanelApi.d.ts +6 -14
- package/dist/cjs/api/dockviewPanelApi.js +5 -3
- package/dist/cjs/dnd/abstractDragHandler.js +1 -1
- package/dist/cjs/dnd/dnd.d.ts +2 -2
- package/dist/cjs/dnd/droptarget.js +4 -4
- package/dist/cjs/dockview/components/panel/content.d.ts +2 -2
- package/dist/cjs/dockview/components/panel/content.js +3 -1
- package/dist/cjs/dockview/components/tab/defaultTab.d.ts +3 -3
- package/dist/cjs/dockview/components/tab/tab.js +4 -4
- package/dist/cjs/dockview/components/titlebar/tabsContainer.js +5 -9
- package/dist/cjs/dockview/components/titlebar/voidContainer.js +1 -2
- package/dist/cjs/dockview/components/watermark/watermark.d.ts +1 -4
- package/dist/cjs/dockview/components/watermark/watermark.js +2 -34
- package/dist/cjs/dockview/dockviewComponent.d.ts +33 -16
- package/dist/cjs/dockview/dockviewComponent.js +103 -38
- package/dist/cjs/dockview/dockviewGroupPanel.js +16 -12
- package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +4 -3
- package/dist/cjs/dockview/dockviewGroupPanelModel.js +10 -10
- package/dist/cjs/dockview/dockviewPanel.d.ts +4 -4
- package/dist/cjs/dockview/dockviewPanelModel.d.ts +1 -1
- package/dist/cjs/dockview/options.d.ts +12 -0
- package/dist/cjs/dockview/options.js +1 -0
- package/dist/cjs/dom.d.ts +11 -1
- package/dist/cjs/dom.js +19 -1
- package/dist/cjs/gridview/baseComponentGridview.d.ts +8 -3
- package/dist/cjs/gridview/baseComponentGridview.js +8 -8
- package/dist/cjs/gridview/basePanelView.d.ts +1 -1
- package/dist/cjs/gridview/branchNode.d.ts +1 -1
- package/dist/cjs/gridview/branchNode.js +1 -1
- package/dist/cjs/gridview/gridview.d.ts +9 -1
- package/dist/cjs/gridview/gridview.js +51 -7
- package/dist/cjs/gridview/gridviewPanel.d.ts +4 -0
- package/dist/cjs/gridview/gridviewPanel.js +60 -32
- package/dist/cjs/gridview/leafNode.d.ts +1 -1
- package/dist/cjs/index.d.ts +8 -9
- package/dist/cjs/index.js +14 -7
- package/dist/cjs/overlay/overlay.d.ts +6 -3
- package/dist/cjs/overlay/overlay.js +15 -0
- package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +1 -1
- package/dist/cjs/paneview/defaultPaneviewHeader.js +5 -3
- package/dist/cjs/paneview/paneview.d.ts +3 -3
- package/dist/cjs/paneview/paneview.js +3 -3
- package/dist/cjs/paneview/paneviewComponent.d.ts +2 -2
- package/dist/cjs/paneview/paneviewPanel.d.ts +2 -2
- package/dist/cjs/paneview/paneviewPanel.js +3 -3
- package/dist/cjs/popoutWindow.js +23 -16
- package/dist/cjs/splitview/splitview.d.ts +6 -6
- package/dist/cjs/splitview/splitview.js +18 -17
- package/dist/cjs/splitview/splitviewComponent.d.ts +2 -2
- package/dist/cjs/splitview/viewItem.d.ts +1 -1
- package/dist/cjs/svg.js +1 -1
- package/dist/dockview-core.amd.js +346 -210
- package/dist/dockview-core.amd.js.map +1 -1
- package/dist/dockview-core.amd.min.js +2 -2
- package/dist/dockview-core.amd.min.js.map +1 -1
- package/dist/dockview-core.amd.min.noStyle.js +2 -2
- package/dist/dockview-core.amd.min.noStyle.js.map +1 -1
- package/dist/dockview-core.amd.noStyle.js +345 -209
- package/dist/dockview-core.amd.noStyle.js.map +1 -1
- package/dist/dockview-core.cjs.js +346 -210
- package/dist/dockview-core.cjs.js.map +1 -1
- package/dist/dockview-core.esm.js +347 -209
- package/dist/dockview-core.esm.js.map +1 -1
- package/dist/dockview-core.esm.min.js +2 -2
- package/dist/dockview-core.esm.min.js.map +1 -1
- package/dist/dockview-core.js +346 -210
- package/dist/dockview-core.js.map +1 -1
- package/dist/dockview-core.min.js +2 -2
- package/dist/dockview-core.min.js.map +1 -1
- package/dist/dockview-core.min.noStyle.js +2 -2
- package/dist/dockview-core.min.noStyle.js.map +1 -1
- package/dist/dockview-core.noStyle.js +345 -209
- package/dist/dockview-core.noStyle.js.map +1 -1
- package/dist/esm/api/component.api.d.ts +3 -3
- package/dist/esm/api/dockviewGroupPanelApi.d.ts +10 -8
- package/dist/esm/api/dockviewGroupPanelApi.js +1 -0
- package/dist/esm/api/dockviewPanelApi.d.ts +6 -14
- package/dist/esm/api/dockviewPanelApi.js +5 -3
- package/dist/esm/dnd/abstractDragHandler.js +1 -1
- package/dist/esm/dnd/dnd.d.ts +2 -2
- package/dist/esm/dnd/droptarget.js +4 -4
- package/dist/esm/dockview/components/panel/content.d.ts +2 -2
- package/dist/esm/dockview/components/panel/content.js +4 -2
- package/dist/esm/dockview/components/tab/defaultTab.d.ts +3 -3
- package/dist/esm/dockview/components/tab/tab.js +4 -4
- package/dist/esm/dockview/components/titlebar/tabsContainer.js +5 -9
- package/dist/esm/dockview/components/titlebar/voidContainer.js +1 -2
- package/dist/esm/dockview/components/watermark/watermark.d.ts +1 -4
- package/dist/esm/dockview/components/watermark/watermark.js +2 -34
- package/dist/esm/dockview/dockviewComponent.d.ts +33 -16
- package/dist/esm/dockview/dockviewComponent.js +102 -37
- package/dist/esm/dockview/dockviewGroupPanel.js +16 -12
- package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +4 -3
- package/dist/esm/dockview/dockviewGroupPanelModel.js +10 -10
- package/dist/esm/dockview/dockviewPanel.d.ts +4 -4
- package/dist/esm/dockview/dockviewPanelModel.d.ts +1 -1
- package/dist/esm/dockview/options.d.ts +12 -0
- package/dist/esm/dockview/options.js +1 -0
- package/dist/esm/dom.d.ts +11 -1
- package/dist/esm/dom.js +14 -0
- package/dist/esm/gridview/baseComponentGridview.d.ts +8 -3
- package/dist/esm/gridview/baseComponentGridview.js +8 -4
- package/dist/esm/gridview/basePanelView.d.ts +1 -1
- package/dist/esm/gridview/branchNode.d.ts +1 -1
- package/dist/esm/gridview/branchNode.js +1 -1
- package/dist/esm/gridview/gridview.d.ts +9 -1
- package/dist/esm/gridview/gridview.js +51 -7
- package/dist/esm/gridview/gridviewPanel.d.ts +4 -0
- package/dist/esm/gridview/gridviewPanel.js +40 -12
- package/dist/esm/gridview/leafNode.d.ts +1 -1
- package/dist/esm/index.d.ts +8 -9
- package/dist/esm/index.js +5 -6
- package/dist/esm/overlay/overlay.d.ts +6 -3
- package/dist/esm/overlay/overlay.js +11 -0
- package/dist/esm/paneview/defaultPaneviewHeader.d.ts +1 -1
- package/dist/esm/paneview/defaultPaneviewHeader.js +5 -3
- package/dist/esm/paneview/paneview.d.ts +3 -3
- package/dist/esm/paneview/paneview.js +3 -3
- package/dist/esm/paneview/paneviewComponent.d.ts +2 -2
- package/dist/esm/paneview/paneviewPanel.d.ts +2 -2
- package/dist/esm/paneview/paneviewPanel.js +3 -3
- package/dist/esm/popoutWindow.js +24 -17
- package/dist/esm/splitview/splitview.d.ts +6 -6
- package/dist/esm/splitview/splitview.js +18 -17
- package/dist/esm/splitview/splitviewComponent.d.ts +2 -2
- package/dist/esm/splitview/viewItem.d.ts +1 -1
- package/dist/esm/svg.js +1 -1
- package/dist/styles/dockview.css +111 -151
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dockview-core
|
|
3
|
-
* @version 1.
|
|
3
|
+
* @version 2.1.0
|
|
4
4
|
* @link https://github.com/mathuo/dockview
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -31,7 +31,7 @@ function styleInject(css, ref) {
|
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
var css_248z = ".dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-overlay-z-index: 999;\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-overlay-z-index: 999;\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-overlay-z-index: 999;\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-overlay-z-index: 999;\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-overlay-z-index: 999;\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-overlay-z-index: 999;\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 --dv-overlay-z-index: var(--dv-overlay-z-index, 999);\n position: absolute;\n z-index: calc(var(--dv-overlay-z-index) - 2);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\n position: absolute;\n cursor: se-resize;\n}\n.dv-render-overlay {\n --dv-overlay-z-index: var(--dv-overlay-z-index, 999);\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: calc(var(--dv-overlay-z-index) - 1);\n}\n\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: var(--dv-background-color);\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.tab.inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dv-default-tab .dv-default-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
|
|
34
|
+
var css_248z = ".dv-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-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-overlay-z-index: 999;\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-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-overlay-z-index: 999;\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-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-overlay-z-index: 999;\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 .dv-groupview.dv-active-group > .dv-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 .dv-groupview.dv-active-group > .dv-tabs-and-actions-container .dv-tab.dv-active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .dv-groupview.dv-active-group > .dv-tabs-and-actions-container .dv-tab.dv-inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .dv-groupview.dv-inactive-group > .dv-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 .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container .dv-tab.dv-active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container .dv-tab.dv-inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\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-overlay-z-index: 999;\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-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-overlay-z-index: 999;\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 .dv-groupview.dv-active-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-active-tab {\n position: relative;\n}\n.dockview-theme-dracula .dv-groupview.dv-active-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-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 .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-active-tab {\n position: relative;\n}\n.dockview-theme-dracula .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-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-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-overlay-z-index: 999;\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-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .dv-groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .dv-groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab .dv-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .dv-groupview .dv-content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .dv-groupview.dv-active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .dv-groupview.dv-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 .dv-horizontal > .dv-sash-container > .dv-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 .dv-horizontal > .dv-sash-container > .dv-sash:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dv-drop-target {\n position: relative;\n}\n.dv-drop-target > .dv-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.dv-drop-target > .dv-drop-target-dropzone > .dv-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.dv-drop-target > .dv-drop-target-dropzone > .dv-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.dv-drop-target > .dv-drop-target-dropzone > .dv-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.dv-drop-target > .dv-drop-target-dropzone > .dv-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.dv-drop-target > .dv-drop-target-dropzone > .dv-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.dv-groupview.dv-active-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.dv-groupview.dv-active-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-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.dv-tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.dv-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.dv-groupview:focus {\n outline: none;\n}\n.dv-groupview > .dv-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.dv-grid-view,\n.dv-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 --dv-overlay-z-index: var(--dv-overlay-z-index, 999);\n position: absolute;\n z-index: calc(var(--dv-overlay-z-index) - 2);\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-hidden {\n display: none;\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\n position: absolute;\n cursor: se-resize;\n}\n.dv-render-overlay {\n --dv-overlay-z-index: var(--dv-overlay-z-index, 999);\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: calc(var(--dv-overlay-z-index) - 1);\n}\n\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.dv-pane-container {\n height: 100%;\n width: 100%;\n}\n.dv-pane-container.dv-animated .dv-view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.dv-pane-container .dv-view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.dv-pane-container .dv-view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.dv-pane-container .dv-view:not(:first-child) .dv-pane > .dv-pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.dv-pane-container .dv-view .dv-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.dv-pane-container .dv-view .dv-default-header .dv-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.dv-pane-container .dv-view .dv-default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.dv-pane-container:first-of-type > .dv-pane > .dv-pane-header {\n border-top: none !important;\n}\n.dv-pane-container .dv-pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.dv-pane-container .dv-pane .dv-pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.dv-pane-container .dv-pane .dv-pane-header.dv-pane-draggable {\n cursor: pointer;\n}\n.dv-pane-container .dv-pane .dv-pane-header:focus:before, .dv-pane-container .dv-pane .dv-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.dv-pane-container .dv-pane .dv-pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.dv-pane-container .dv-pane .dv-pane-body:focus:before, .dv-pane-container .dv-pane .dv-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 .dv-split-view-container .dv-sash-container .dv-sash.dv-enabled {\n background-color: black;\n}\n.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-disabled {\n background-color: orange;\n}\n.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-maximum {\n background-color: green;\n}\n.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-minimum {\n background-color: red;\n}\n\n.dv-split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.dv-split-view-container.dv-splitview-disabled > .dv-sash-container > .dv-sash {\n pointer-events: none;\n}\n.dv-split-view-container.dv-animation .dv-view,\n.dv-split-view-container.dv-animation .dv-sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.dv-split-view-container.dv-horizontal {\n height: 100%;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash {\n height: 100%;\n width: 4px;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-enabled {\n cursor: ew-resize;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-disabled {\n cursor: default;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-maximum {\n cursor: w-resize;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-minimum {\n cursor: e-resize;\n}\n.dv-split-view-container.dv-horizontal > .dv-view-container > .dv-view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.dv-split-view-container.dv-vertical {\n width: 100%;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash {\n width: 100%;\n height: 4px;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-enabled {\n cursor: ns-resize;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-disabled {\n cursor: default;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-maximum {\n cursor: n-resize;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-minimum {\n cursor: s-resize;\n}\n.dv-split-view-container.dv-vertical > .dv-view-container > .dv-view {\n width: 100%;\n}\n.dv-split-view-container.dv-vertical > .dv-view-container > .dv-view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.dv-split-view-container .dv-sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.dv-split-view-container .dv-sash-container .dv-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.dv-split-view-container .dv-sash-container .dv-sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.dv-split-view-container .dv-sash-container .dv-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.dv-split-view-container .dv-view-container {\n position: relative;\n height: 100%;\n width: 100%;\n}\n.dv-split-view-container .dv-view-container .dv-view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.dv-split-view-container.dv-separator-border .dv-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.dv-tab {\n flex-shrink: 0;\n}\n.dv-tab:focus-within, .dv-tab:focus {\n position: relative;\n}\n.dv-tab:focus-within::after, .dv-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.dv-tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.dv-tab.dv-active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.dv-tab.dv-inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.dv-tab.dv-inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.dv-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.dv-tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.dv-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.dv-tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.dv-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.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-tabs-container {\n flex-grow: 1;\n}\n.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-tabs-container .dv-tab {\n flex-grow: 1;\n}\n.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-void-container {\n flex-grow: 0;\n}\n.dv-tabs-and-actions-container .dv-void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.dv-tabs-and-actions-container .dv-tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.dv-tabs-and-actions-container .dv-tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.dv-tabs-and-actions-container .dv-tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.dv-tabs-and-actions-container .dv-tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.dv-tabs-and-actions-container .dv-tabs-container .dv-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.dv-tabs-and-actions-container .dv-tabs-container .dv-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.dv-watermark {\n display: flex;\n height: 100%;\n}";
|
|
35
35
|
styleInject(css_248z);
|
|
36
36
|
|
|
37
37
|
class TransferObject {
|
|
@@ -352,31 +352,6 @@ class MutableDisposable {
|
|
|
352
352
|
}
|
|
353
353
|
}
|
|
354
354
|
|
|
355
|
-
function createComponent(id, componentName, components = {}, frameworkComponents = {}, createFrameworkComponent, fallback) {
|
|
356
|
-
const Component = typeof componentName === 'string'
|
|
357
|
-
? components[componentName]
|
|
358
|
-
: undefined;
|
|
359
|
-
const FrameworkComponent = typeof componentName === 'string'
|
|
360
|
-
? frameworkComponents[componentName]
|
|
361
|
-
: undefined;
|
|
362
|
-
if (Component && FrameworkComponent) {
|
|
363
|
-
throw new Error(`Cannot create '${id}'. component '${componentName}' registered as both a component and frameworkComponent`);
|
|
364
|
-
}
|
|
365
|
-
if (FrameworkComponent) {
|
|
366
|
-
if (!createFrameworkComponent) {
|
|
367
|
-
throw new Error(`Cannot create '${id}' for framework component '${componentName}'. you must register a frameworkPanelWrapper to use framework components`);
|
|
368
|
-
}
|
|
369
|
-
return createFrameworkComponent.createComponent(id, componentName, FrameworkComponent);
|
|
370
|
-
}
|
|
371
|
-
if (!Component) {
|
|
372
|
-
if (fallback) {
|
|
373
|
-
return fallback();
|
|
374
|
-
}
|
|
375
|
-
throw new Error(`Cannot create '${id}', no component '${componentName}' provided`);
|
|
376
|
-
}
|
|
377
|
-
return new Component(id, componentName);
|
|
378
|
-
}
|
|
379
|
-
|
|
380
355
|
function watchElementResize(element, cb) {
|
|
381
356
|
const observer = new ResizeObserver((entires) => {
|
|
382
357
|
/**
|
|
@@ -845,10 +820,10 @@ class Splitview {
|
|
|
845
820
|
const tmp = this.size;
|
|
846
821
|
this.size = this.orthogonalSize;
|
|
847
822
|
this.orthogonalSize = tmp;
|
|
848
|
-
removeClasses(this.element, 'horizontal', 'vertical');
|
|
823
|
+
removeClasses(this.element, 'dv-horizontal', 'dv-vertical');
|
|
849
824
|
this.element.classList.add(this.orientation == Orientation.HORIZONTAL
|
|
850
|
-
? 'horizontal'
|
|
851
|
-
: 'vertical');
|
|
825
|
+
? 'dv-horizontal'
|
|
826
|
+
: 'dv-vertical');
|
|
852
827
|
}
|
|
853
828
|
get minimumSize() {
|
|
854
829
|
return this.viewItems.reduce((r, item) => r + item.minimumSize, 0);
|
|
@@ -1026,11 +1001,11 @@ class Splitview {
|
|
|
1026
1001
|
}
|
|
1027
1002
|
style(styles) {
|
|
1028
1003
|
if ((styles === null || styles === void 0 ? void 0 : styles.separatorBorder) === 'transparent') {
|
|
1029
|
-
removeClasses(this.element, 'separator-border');
|
|
1004
|
+
removeClasses(this.element, 'dv-separator-border');
|
|
1030
1005
|
this.element.style.removeProperty('--dv-separator-border');
|
|
1031
1006
|
}
|
|
1032
1007
|
else {
|
|
1033
|
-
addClasses(this.element, 'separator-border');
|
|
1008
|
+
addClasses(this.element, 'dv-separator-border');
|
|
1034
1009
|
if (styles === null || styles === void 0 ? void 0 : styles.separatorBorder) {
|
|
1035
1010
|
this.element.style.setProperty('--dv-separator-border', styles.separatorBorder);
|
|
1036
1011
|
}
|
|
@@ -1100,7 +1075,7 @@ class Splitview {
|
|
|
1100
1075
|
}
|
|
1101
1076
|
addView(view, size = { type: 'distribute' }, index = this.viewItems.length, skipLayout) {
|
|
1102
1077
|
const container = document.createElement('div');
|
|
1103
|
-
container.className = 'view';
|
|
1078
|
+
container.className = 'dv-view';
|
|
1104
1079
|
container.appendChild(view.element);
|
|
1105
1080
|
let viewSize;
|
|
1106
1081
|
if (typeof size === 'number') {
|
|
@@ -1132,7 +1107,7 @@ class Splitview {
|
|
|
1132
1107
|
if (this.viewItems.length > 1) {
|
|
1133
1108
|
//add sash
|
|
1134
1109
|
const sash = document.createElement('div');
|
|
1135
|
-
sash.className = 'sash';
|
|
1110
|
+
sash.className = 'dv-sash';
|
|
1136
1111
|
const onPointerStart = (event) => {
|
|
1137
1112
|
for (const item of this.viewItems) {
|
|
1138
1113
|
item.enabled = false;
|
|
@@ -1391,7 +1366,8 @@ class Splitview {
|
|
|
1391
1366
|
const offset = i === 0 || visiblePanelsBeforeThisView === 0
|
|
1392
1367
|
? 0
|
|
1393
1368
|
: viewLeftOffsets[i - 1] +
|
|
1394
|
-
(visiblePanelsBeforeThisView / sashCount) *
|
|
1369
|
+
(visiblePanelsBeforeThisView / sashCount) *
|
|
1370
|
+
marginReducedSize;
|
|
1395
1371
|
if (i < this.viewItems.length - 1) {
|
|
1396
1372
|
// calculate sash position
|
|
1397
1373
|
const newSize = view.visible
|
|
@@ -1502,27 +1478,27 @@ class Splitview {
|
|
|
1502
1478
|
}
|
|
1503
1479
|
}
|
|
1504
1480
|
updateSash(sash, state) {
|
|
1505
|
-
toggleClass(sash.container, 'disabled', state === SashState.DISABLED);
|
|
1506
|
-
toggleClass(sash.container, 'enabled', state === SashState.ENABLED);
|
|
1507
|
-
toggleClass(sash.container, 'maximum', state === SashState.MAXIMUM);
|
|
1508
|
-
toggleClass(sash.container, 'minimum', state === SashState.MINIMUM);
|
|
1481
|
+
toggleClass(sash.container, 'dv-disabled', state === SashState.DISABLED);
|
|
1482
|
+
toggleClass(sash.container, 'dv-enabled', state === SashState.ENABLED);
|
|
1483
|
+
toggleClass(sash.container, 'dv-maximum', state === SashState.MAXIMUM);
|
|
1484
|
+
toggleClass(sash.container, 'dv-minimum', state === SashState.MINIMUM);
|
|
1509
1485
|
}
|
|
1510
1486
|
createViewContainer() {
|
|
1511
1487
|
const element = document.createElement('div');
|
|
1512
|
-
element.className = 'view-container';
|
|
1488
|
+
element.className = 'dv-view-container';
|
|
1513
1489
|
return element;
|
|
1514
1490
|
}
|
|
1515
1491
|
createSashContainer() {
|
|
1516
1492
|
const element = document.createElement('div');
|
|
1517
|
-
element.className = 'sash-container';
|
|
1493
|
+
element.className = 'dv-sash-container';
|
|
1518
1494
|
return element;
|
|
1519
1495
|
}
|
|
1520
1496
|
createContainer() {
|
|
1521
1497
|
const element = document.createElement('div');
|
|
1522
1498
|
const orientationClassname = this._orientation === Orientation.HORIZONTAL
|
|
1523
|
-
? 'horizontal'
|
|
1524
|
-
: 'vertical';
|
|
1525
|
-
element.className = `split-view-container ${orientationClassname}`;
|
|
1499
|
+
? 'dv-horizontal'
|
|
1500
|
+
: 'dv-vertical';
|
|
1501
|
+
element.className = `dv-split-view-container ${orientationClassname}`;
|
|
1526
1502
|
return element;
|
|
1527
1503
|
}
|
|
1528
1504
|
dispose() {
|
|
@@ -1573,7 +1549,7 @@ class Paneview extends CompositeDisposable {
|
|
|
1573
1549
|
this.onDidChange = this._onDidChange.event;
|
|
1574
1550
|
this._orientation = (_a = options.orientation) !== null && _a !== void 0 ? _a : Orientation.VERTICAL;
|
|
1575
1551
|
this.element = document.createElement('div');
|
|
1576
|
-
this.element.className = 'pane-container';
|
|
1552
|
+
this.element.className = 'dv-pane-container';
|
|
1577
1553
|
container.appendChild(this.element);
|
|
1578
1554
|
this.splitview = new Splitview(this.element, {
|
|
1579
1555
|
orientation: this._orientation,
|
|
@@ -1665,10 +1641,10 @@ class Paneview extends CompositeDisposable {
|
|
|
1665
1641
|
clearTimeout(this.animationTimer);
|
|
1666
1642
|
this.animationTimer = undefined;
|
|
1667
1643
|
}
|
|
1668
|
-
addClasses(this.element, 'animated');
|
|
1644
|
+
addClasses(this.element, 'dv-animated');
|
|
1669
1645
|
this.animationTimer = setTimeout(() => {
|
|
1670
1646
|
this.animationTimer = undefined;
|
|
1671
|
-
removeClasses(this.element, 'animated');
|
|
1647
|
+
removeClasses(this.element, 'dv-animated');
|
|
1672
1648
|
}, 200);
|
|
1673
1649
|
}
|
|
1674
1650
|
dispose() {
|
|
@@ -1893,7 +1869,7 @@ class BranchNode extends CompositeDisposable {
|
|
|
1893
1869
|
this._orthogonalSize = orthogonalSize;
|
|
1894
1870
|
this._size = size;
|
|
1895
1871
|
this.element = document.createElement('div');
|
|
1896
|
-
this.element.className = 'branch-node';
|
|
1872
|
+
this.element.className = 'dv-branch-node';
|
|
1897
1873
|
if (!childDescriptors) {
|
|
1898
1874
|
this.splitview = new Splitview(this.element, {
|
|
1899
1875
|
orientation: this.orientation,
|
|
@@ -2104,7 +2080,7 @@ function getGridLocation(element) {
|
|
|
2104
2080
|
if (!parentElement) {
|
|
2105
2081
|
throw new Error('Invalid grid element');
|
|
2106
2082
|
}
|
|
2107
|
-
if (/\
|
|
2083
|
+
if (/\bdv-grid-view\b/.test(parentElement.className)) {
|
|
2108
2084
|
return [];
|
|
2109
2085
|
}
|
|
2110
2086
|
const index = indexInParent(parentElement);
|
|
@@ -2241,6 +2217,7 @@ class Gridview {
|
|
|
2241
2217
|
if (this.hasMaximizedView()) {
|
|
2242
2218
|
this.exitMaximizedView();
|
|
2243
2219
|
}
|
|
2220
|
+
serializeBranchNode(this.getView(), this.orientation);
|
|
2244
2221
|
const hiddenOnMaximize = [];
|
|
2245
2222
|
function hideAllViewsBut(parent, exclude) {
|
|
2246
2223
|
for (let i = 0; i < parent.children.length; i++) {
|
|
@@ -2262,7 +2239,10 @@ class Gridview {
|
|
|
2262
2239
|
}
|
|
2263
2240
|
hideAllViewsBut(this.root, node);
|
|
2264
2241
|
this._maximizedNode = { leaf: node, hiddenOnMaximize };
|
|
2265
|
-
this._onDidMaximizedNodeChange.fire(
|
|
2242
|
+
this._onDidMaximizedNodeChange.fire({
|
|
2243
|
+
view: node.view,
|
|
2244
|
+
isMaximized: true,
|
|
2245
|
+
});
|
|
2266
2246
|
}
|
|
2267
2247
|
exitMaximizedView() {
|
|
2268
2248
|
if (!this._maximizedNode) {
|
|
@@ -2283,24 +2263,51 @@ class Gridview {
|
|
|
2283
2263
|
}
|
|
2284
2264
|
}
|
|
2285
2265
|
showViewsInReverseOrder(this.root);
|
|
2266
|
+
const tmp = this._maximizedNode.leaf;
|
|
2286
2267
|
this._maximizedNode = undefined;
|
|
2287
|
-
this._onDidMaximizedNodeChange.fire(
|
|
2268
|
+
this._onDidMaximizedNodeChange.fire({
|
|
2269
|
+
view: tmp.view,
|
|
2270
|
+
isMaximized: false,
|
|
2271
|
+
});
|
|
2288
2272
|
}
|
|
2289
2273
|
serialize() {
|
|
2274
|
+
const maximizedView = this.maximizedView();
|
|
2275
|
+
let maxmizedViewLocation;
|
|
2276
|
+
if (maximizedView) {
|
|
2277
|
+
/**
|
|
2278
|
+
* The minimum information we can get away with in order to serialize a maxmized view is it's location within the grid
|
|
2279
|
+
* which is represented as a branch of indices
|
|
2280
|
+
*/
|
|
2281
|
+
maxmizedViewLocation = getGridLocation(maximizedView.element);
|
|
2282
|
+
}
|
|
2290
2283
|
if (this.hasMaximizedView()) {
|
|
2291
2284
|
/**
|
|
2292
|
-
*
|
|
2293
|
-
*
|
|
2285
|
+
* the saved layout cannot be in its maxmized state otherwise all of the underlying
|
|
2286
|
+
* view dimensions will be wrong
|
|
2287
|
+
*
|
|
2288
|
+
* To counteract this we temporaily remove the maximized view to compute the serialized output
|
|
2289
|
+
* of the grid before adding back the maxmized view as to not alter the layout from the users
|
|
2290
|
+
* perspective when `.toJSON()` is called
|
|
2294
2291
|
*/
|
|
2295
2292
|
this.exitMaximizedView();
|
|
2296
2293
|
}
|
|
2297
2294
|
const root = serializeBranchNode(this.getView(), this.orientation);
|
|
2298
|
-
|
|
2295
|
+
const resullt = {
|
|
2299
2296
|
root,
|
|
2300
2297
|
width: this.width,
|
|
2301
2298
|
height: this.height,
|
|
2302
2299
|
orientation: this.orientation,
|
|
2303
2300
|
};
|
|
2301
|
+
if (maxmizedViewLocation) {
|
|
2302
|
+
resullt.maximizedNode = {
|
|
2303
|
+
location: maxmizedViewLocation,
|
|
2304
|
+
};
|
|
2305
|
+
}
|
|
2306
|
+
if (maximizedView) {
|
|
2307
|
+
// replace any maximzied view that was removed for serialization purposes
|
|
2308
|
+
this.maximizeView(maximizedView);
|
|
2309
|
+
}
|
|
2310
|
+
return resullt;
|
|
2304
2311
|
}
|
|
2305
2312
|
dispose() {
|
|
2306
2313
|
this.disposable.dispose();
|
|
@@ -2319,6 +2326,19 @@ class Gridview {
|
|
|
2319
2326
|
const orientation = json.orientation;
|
|
2320
2327
|
const height = orientation === Orientation.VERTICAL ? json.height : json.width;
|
|
2321
2328
|
this._deserialize(json.root, orientation, deserializer, height);
|
|
2329
|
+
/**
|
|
2330
|
+
* The deserialied layout must be positioned through this.layout(...)
|
|
2331
|
+
* before any maximizedNode can be positioned
|
|
2332
|
+
*/
|
|
2333
|
+
this.layout(json.width, json.height);
|
|
2334
|
+
if (json.maximizedNode) {
|
|
2335
|
+
const location = json.maximizedNode.location;
|
|
2336
|
+
const [_, node] = this.getNode(location);
|
|
2337
|
+
if (!(node instanceof LeafNode)) {
|
|
2338
|
+
return;
|
|
2339
|
+
}
|
|
2340
|
+
this.maximizeView(node.view);
|
|
2341
|
+
}
|
|
2322
2342
|
}
|
|
2323
2343
|
_deserialize(root, orientation, deserializer, orthogonalSize) {
|
|
2324
2344
|
this.root = this._deserializeNode(root, orientation, deserializer, orthogonalSize);
|
|
@@ -2452,7 +2472,7 @@ class Gridview {
|
|
|
2452
2472
|
this._onDidMaximizedNodeChange = new Emitter();
|
|
2453
2473
|
this.onDidMaximizedNodeChange = this._onDidMaximizedNodeChange.event;
|
|
2454
2474
|
this.element = document.createElement('div');
|
|
2455
|
-
this.element.className = 'grid-view';
|
|
2475
|
+
this.element.className = 'dv-grid-view';
|
|
2456
2476
|
this._locked = locked !== null && locked !== void 0 ? locked : false;
|
|
2457
2477
|
this._margin = margin !== null && margin !== void 0 ? margin : 0;
|
|
2458
2478
|
this.root = new BranchNode(orientation, proportionalLayout, styles, 0, 0, this.locked, this.margin);
|
|
@@ -2743,6 +2763,8 @@ class BaseGrid extends Resizable {
|
|
|
2743
2763
|
this.onDidRemove = this._onDidRemove.event;
|
|
2744
2764
|
this._onDidAdd = new Emitter();
|
|
2745
2765
|
this.onDidAdd = this._onDidAdd.event;
|
|
2766
|
+
this._onDidMaximizedChange = new Emitter();
|
|
2767
|
+
this.onDidMaximizedChange = this._onDidMaximizedChange.event;
|
|
2746
2768
|
this._onDidActiveChange = new Emitter();
|
|
2747
2769
|
this.onDidActiveChange = this._onDidActiveChange.event;
|
|
2748
2770
|
this._bufferOnDidLayoutChange = new AsapEvent();
|
|
@@ -2758,7 +2780,12 @@ class BaseGrid extends Resizable {
|
|
|
2758
2780
|
this.gridview.locked = !!options.locked;
|
|
2759
2781
|
this.element.appendChild(this.gridview.element);
|
|
2760
2782
|
this.layout(0, 0, true); // set some elements height/widths
|
|
2761
|
-
this.addDisposables(this.gridview.
|
|
2783
|
+
this.addDisposables(this.gridview.onDidMaximizedNodeChange((event) => {
|
|
2784
|
+
this._onDidMaximizedChange.fire({
|
|
2785
|
+
panel: event.view,
|
|
2786
|
+
isMaximized: event.isMaximized,
|
|
2787
|
+
});
|
|
2788
|
+
}), this.gridview.onDidViewVisibilityChange(() => this._onDidViewVisibilityChangeMicroTaskQueue.fire()), this.onDidViewVisibilityChangeMicroTaskQueue(() => {
|
|
2762
2789
|
this.layout(this.width, this.height, true);
|
|
2763
2790
|
}), Disposable.from(() => {
|
|
2764
2791
|
var _a;
|
|
@@ -2808,9 +2835,6 @@ class BaseGrid extends Resizable {
|
|
|
2808
2835
|
hasMaximizedGroup() {
|
|
2809
2836
|
return this.gridview.hasMaximizedView();
|
|
2810
2837
|
}
|
|
2811
|
-
get onDidMaximizedGroupChange() {
|
|
2812
|
-
return this.gridview.onDidMaximizedNodeChange;
|
|
2813
|
-
}
|
|
2814
2838
|
doAddGroup(group, location = [0], size) {
|
|
2815
2839
|
this.gridview.addView(group, size !== null && size !== void 0 ? size : Sizing.Distribute, location);
|
|
2816
2840
|
this._onDidAdd.fire(group);
|
|
@@ -3674,7 +3698,7 @@ class DragHandler extends CompositeDisposable {
|
|
|
3674
3698
|
* dnd logic. You can see the code at
|
|
3675
3699
|
* https://github.com/react-dnd/react-dnd/blob/main/packages/backend-html5/src/HTML5BackendImpl.ts#L542
|
|
3676
3700
|
*/
|
|
3677
|
-
event.dataTransfer.setData('text/plain', '
|
|
3701
|
+
event.dataTransfer.setData('text/plain', '');
|
|
3678
3702
|
}
|
|
3679
3703
|
}
|
|
3680
3704
|
}), addDisposableListener(this.el, 'dragend', () => {
|
|
@@ -3848,12 +3872,12 @@ class Droptarget extends CompositeDisposable {
|
|
|
3848
3872
|
this.markAsUsed(e);
|
|
3849
3873
|
if (!this.targetElement) {
|
|
3850
3874
|
this.targetElement = document.createElement('div');
|
|
3851
|
-
this.targetElement.className = 'drop-target-dropzone';
|
|
3875
|
+
this.targetElement.className = 'dv-drop-target-dropzone';
|
|
3852
3876
|
this.overlayElement = document.createElement('div');
|
|
3853
|
-
this.overlayElement.className = 'drop-target-selection';
|
|
3877
|
+
this.overlayElement.className = 'dv-drop-target-selection';
|
|
3854
3878
|
this._state = 'center';
|
|
3855
3879
|
this.targetElement.appendChild(this.overlayElement);
|
|
3856
|
-
this.element.classList.add('drop-target');
|
|
3880
|
+
this.element.classList.add('dv-drop-target');
|
|
3857
3881
|
this.element.append(this.targetElement);
|
|
3858
3882
|
}
|
|
3859
3883
|
this.toggleClasses(quadrant, width, height);
|
|
@@ -3991,7 +4015,7 @@ class Droptarget extends CompositeDisposable {
|
|
|
3991
4015
|
this.element.removeChild(this.targetElement);
|
|
3992
4016
|
this.targetElement = undefined;
|
|
3993
4017
|
this.overlayElement = undefined;
|
|
3994
|
-
this.element.classList.remove('drop-target');
|
|
4018
|
+
this.element.classList.remove('dv-drop-target');
|
|
3995
4019
|
}
|
|
3996
4020
|
}
|
|
3997
4021
|
}
|
|
@@ -4328,7 +4352,7 @@ class PaneviewPanel extends BasePanelView {
|
|
|
4328
4352
|
this._headerVisible = isHeaderVisible;
|
|
4329
4353
|
this._onDidChangeExpansionState.fire(this.isExpanded()); // initialize value
|
|
4330
4354
|
this._orientation = orientation;
|
|
4331
|
-
this.element.classList.add('pane');
|
|
4355
|
+
this.element.classList.add('dv-pane');
|
|
4332
4356
|
this.addDisposables(this.api.onWillVisibilityChange((event) => {
|
|
4333
4357
|
const { isVisible } = event;
|
|
4334
4358
|
const { accessor } = this._params;
|
|
@@ -4425,14 +4449,14 @@ class PaneviewPanel extends BasePanelView {
|
|
|
4425
4449
|
renderOnce() {
|
|
4426
4450
|
this.header = document.createElement('div');
|
|
4427
4451
|
this.header.tabIndex = 0;
|
|
4428
|
-
this.header.className = 'pane-header';
|
|
4452
|
+
this.header.className = 'dv-pane-header';
|
|
4429
4453
|
this.header.style.height = `${this.headerSize}px`;
|
|
4430
4454
|
this.header.style.lineHeight = `${this.headerSize}px`;
|
|
4431
4455
|
this.header.style.minHeight = `${this.headerSize}px`;
|
|
4432
4456
|
this.header.style.maxHeight = `${this.headerSize}px`;
|
|
4433
4457
|
this.element.appendChild(this.header);
|
|
4434
4458
|
this.body = document.createElement('div');
|
|
4435
|
-
this.body.className = 'pane-body';
|
|
4459
|
+
this.body.className = 'dv-pane-body';
|
|
4436
4460
|
this.element.appendChild(this.body);
|
|
4437
4461
|
}
|
|
4438
4462
|
// TODO slightly hacky by-pass of the component to create a body and header component
|
|
@@ -4553,7 +4577,7 @@ class ContentContainer extends CompositeDisposable {
|
|
|
4553
4577
|
this._onDidBlur = new Emitter();
|
|
4554
4578
|
this.onDidBlur = this._onDidBlur.event;
|
|
4555
4579
|
this._element = document.createElement('div');
|
|
4556
|
-
this._element.className = 'content-container';
|
|
4580
|
+
this._element.className = 'dv-content-container';
|
|
4557
4581
|
this._element.tabIndex = -1;
|
|
4558
4582
|
this.addDisposables(this._onDidFocus, this._onDidBlur);
|
|
4559
4583
|
this.dropTarget = new Droptarget(this.element, {
|
|
@@ -4626,6 +4650,8 @@ class ContentContainer extends CompositeDisposable {
|
|
|
4626
4650
|
referenceContainer: this,
|
|
4627
4651
|
});
|
|
4628
4652
|
break;
|
|
4653
|
+
default:
|
|
4654
|
+
throw new Error(`dockview: invalid renderer type '${panel.api.renderer}'`);
|
|
4629
4655
|
}
|
|
4630
4656
|
if (doRender) {
|
|
4631
4657
|
const focusTracker = trackFocus(container);
|
|
@@ -4692,10 +4718,10 @@ class Tab extends CompositeDisposable {
|
|
|
4692
4718
|
this._onDragStart = new Emitter();
|
|
4693
4719
|
this.onDragStart = this._onDragStart.event;
|
|
4694
4720
|
this._element = document.createElement('div');
|
|
4695
|
-
this._element.className = 'tab';
|
|
4721
|
+
this._element.className = 'dv-tab';
|
|
4696
4722
|
this._element.tabIndex = 0;
|
|
4697
4723
|
this._element.draggable = true;
|
|
4698
|
-
toggleClass(this.element, 'inactive-tab', true);
|
|
4724
|
+
toggleClass(this.element, 'dv-inactive-tab', true);
|
|
4699
4725
|
const dragHandler = new TabDragHandler(this._element, this.accessor, this.group, this.panel);
|
|
4700
4726
|
this.dropTarget = new Droptarget(this._element, {
|
|
4701
4727
|
acceptedTargetZones: ['center'],
|
|
@@ -4728,8 +4754,8 @@ class Tab extends CompositeDisposable {
|
|
|
4728
4754
|
}), this.dropTarget);
|
|
4729
4755
|
}
|
|
4730
4756
|
setActive(isActive) {
|
|
4731
|
-
toggleClass(this.element, 'active-tab', isActive);
|
|
4732
|
-
toggleClass(this.element, 'inactive-tab', !isActive);
|
|
4757
|
+
toggleClass(this.element, 'dv-active-tab', isActive);
|
|
4758
|
+
toggleClass(this.element, 'dv-inactive-tab', !isActive);
|
|
4733
4759
|
}
|
|
4734
4760
|
setContent(part) {
|
|
4735
4761
|
if (this.content) {
|
|
@@ -4817,8 +4843,7 @@ class VoidContainer extends CompositeDisposable {
|
|
|
4817
4843
|
this._onDragStart = new Emitter();
|
|
4818
4844
|
this.onDragStart = this._onDragStart.event;
|
|
4819
4845
|
this._element = document.createElement('div');
|
|
4820
|
-
this._element.className = 'void-container';
|
|
4821
|
-
this._element.tabIndex = 0;
|
|
4846
|
+
this._element.className = 'dv-void-container';
|
|
4822
4847
|
this._element.draggable = true;
|
|
4823
4848
|
this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, 'pointerdown', () => {
|
|
4824
4849
|
this.accessor.doSetGroupActive(this.group);
|
|
@@ -4937,16 +4962,16 @@ class TabsContainer extends CompositeDisposable {
|
|
|
4937
4962
|
this._onWillShowOverlay = new Emitter();
|
|
4938
4963
|
this.onWillShowOverlay = this._onWillShowOverlay.event;
|
|
4939
4964
|
this._element = document.createElement('div');
|
|
4940
|
-
this._element.className = 'tabs-and-actions-container';
|
|
4965
|
+
this._element.className = 'dv-tabs-and-actions-container';
|
|
4941
4966
|
toggleClass(this._element, 'dv-full-width-single-tab', this.accessor.options.singleTabMode === 'fullwidth');
|
|
4942
4967
|
this.rightActionsContainer = document.createElement('div');
|
|
4943
|
-
this.rightActionsContainer.className = 'right-actions-container';
|
|
4968
|
+
this.rightActionsContainer.className = 'dv-right-actions-container';
|
|
4944
4969
|
this.leftActionsContainer = document.createElement('div');
|
|
4945
|
-
this.leftActionsContainer.className = 'left-actions-container';
|
|
4970
|
+
this.leftActionsContainer.className = 'dv-left-actions-container';
|
|
4946
4971
|
this.preActionsContainer = document.createElement('div');
|
|
4947
|
-
this.preActionsContainer.className = 'pre-actions-container';
|
|
4972
|
+
this.preActionsContainer.className = 'dv-pre-actions-container';
|
|
4948
4973
|
this.tabContainer = document.createElement('div');
|
|
4949
|
-
this.tabContainer.className = 'tabs-container';
|
|
4974
|
+
this.tabContainer.className = 'dv-tabs-container';
|
|
4950
4975
|
this.voidContainer = new VoidContainer(this.accessor, this.group);
|
|
4951
4976
|
this._element.appendChild(this.preActionsContainer);
|
|
4952
4977
|
this._element.appendChild(this.tabContainer);
|
|
@@ -5035,14 +5060,10 @@ class TabsContainer extends CompositeDisposable {
|
|
|
5035
5060
|
});
|
|
5036
5061
|
}
|
|
5037
5062
|
openPanel(panel, index = this.tabs.length) {
|
|
5038
|
-
var _a;
|
|
5039
5063
|
if (this.tabs.find((tab) => tab.value.panel.id === panel.id)) {
|
|
5040
5064
|
return;
|
|
5041
5065
|
}
|
|
5042
5066
|
const tab = new Tab(panel, this.accessor, this.group);
|
|
5043
|
-
if (!((_a = panel.view) === null || _a === void 0 ? void 0 : _a.tab)) {
|
|
5044
|
-
throw new Error('invalid header component');
|
|
5045
|
-
}
|
|
5046
5067
|
tab.setContent(panel.view.tab);
|
|
5047
5068
|
const disposable = new CompositeDisposable(tab.onDragStart((event) => {
|
|
5048
5069
|
this._onTabDragStart.fire({ nativeEvent: event, panel });
|
|
@@ -5136,6 +5157,7 @@ const PROPERTY_KEYS = (() => {
|
|
|
5136
5157
|
disableDnd: undefined,
|
|
5137
5158
|
gap: undefined,
|
|
5138
5159
|
className: undefined,
|
|
5160
|
+
noPanelsOverlay: undefined,
|
|
5139
5161
|
};
|
|
5140
5162
|
return Object.keys(properties);
|
|
5141
5163
|
})();
|
|
@@ -5232,7 +5254,7 @@ class WillShowOverlayLocationEvent {
|
|
|
5232
5254
|
}
|
|
5233
5255
|
class DockviewGroupPanelModel extends CompositeDisposable {
|
|
5234
5256
|
get element() {
|
|
5235
|
-
throw new Error('not supported');
|
|
5257
|
+
throw new Error('dockview: not supported');
|
|
5236
5258
|
}
|
|
5237
5259
|
get activePanel() {
|
|
5238
5260
|
return this._activePanel;
|
|
@@ -5242,7 +5264,7 @@ class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
5242
5264
|
}
|
|
5243
5265
|
set locked(value) {
|
|
5244
5266
|
this._locked = value;
|
|
5245
|
-
toggleClass(this.container, 'locked-groupview', value === 'no-drop-target' || value);
|
|
5267
|
+
toggleClass(this.container, 'dv-locked-groupview', value === 'no-drop-target' || value);
|
|
5246
5268
|
}
|
|
5247
5269
|
get isActive() {
|
|
5248
5270
|
return this._isGroupActive;
|
|
@@ -5313,6 +5335,7 @@ class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
5313
5335
|
this._locked = false;
|
|
5314
5336
|
this._location = { type: 'grid' };
|
|
5315
5337
|
this.mostRecentlyUsed = [];
|
|
5338
|
+
this._overwriteRenderContainer = null;
|
|
5316
5339
|
this._onDidChange = new Emitter();
|
|
5317
5340
|
this.onDidChange = this._onDidChange.event;
|
|
5318
5341
|
this._width = 0;
|
|
@@ -5343,8 +5366,7 @@ class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
5343
5366
|
this.onDidActivePanelChange = this._onDidActivePanelChange.event;
|
|
5344
5367
|
this._onUnhandledDragOverEvent = new Emitter();
|
|
5345
5368
|
this.onUnhandledDragOverEvent = this._onUnhandledDragOverEvent.event;
|
|
5346
|
-
this.
|
|
5347
|
-
toggleClass(this.container, 'groupview', true);
|
|
5369
|
+
toggleClass(this.container, 'dv-groupview', true);
|
|
5348
5370
|
this._api = new DockviewApi(this.accessor);
|
|
5349
5371
|
this.tabsContainer = new TabsContainer(this.accessor, this.groupPanel);
|
|
5350
5372
|
this.contentContainer = new ContentContainer(this.accessor, this);
|
|
@@ -5576,7 +5598,10 @@ class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
5576
5598
|
this.doClose(panel);
|
|
5577
5599
|
}
|
|
5578
5600
|
doClose(panel) {
|
|
5579
|
-
this.accessor.
|
|
5601
|
+
const isLast = this.panels.length === 1 && this.accessor.groups.length === 1;
|
|
5602
|
+
this.accessor.removePanel(panel, isLast && this.accessor.options.noPanelsOverlay === 'emptyGroup'
|
|
5603
|
+
? { removeEmptyGroup: false }
|
|
5604
|
+
: undefined);
|
|
5580
5605
|
}
|
|
5581
5606
|
isPanelActive(panel) {
|
|
5582
5607
|
return this._activePanel === panel;
|
|
@@ -5589,8 +5614,8 @@ class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
5589
5614
|
return;
|
|
5590
5615
|
}
|
|
5591
5616
|
this._isGroupActive = isGroupActive;
|
|
5592
|
-
toggleClass(this.container, 'active-group', isGroupActive);
|
|
5593
|
-
toggleClass(this.container, 'inactive-group', !isGroupActive);
|
|
5617
|
+
toggleClass(this.container, 'dv-active-group', isGroupActive);
|
|
5618
|
+
toggleClass(this.container, 'dv-inactive-group', !isGroupActive);
|
|
5594
5619
|
this.tabsContainer.setActive(this.isActive);
|
|
5595
5620
|
if (!this._activePanel && this.panels.length > 0) {
|
|
5596
5621
|
this.doSetActivePanel(this.panels[0]);
|
|
@@ -5682,7 +5707,6 @@ class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
5682
5707
|
}
|
|
5683
5708
|
updateContainer() {
|
|
5684
5709
|
var _a, _b;
|
|
5685
|
-
toggleClass(this.container, 'empty', this.isEmpty);
|
|
5686
5710
|
this.panels.forEach((panel) => panel.runEvents());
|
|
5687
5711
|
if (this.isEmpty && !this.watermark) {
|
|
5688
5712
|
const watermark = this.accessor.createWatermarkComponent();
|
|
@@ -5696,14 +5720,12 @@ class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
5696
5720
|
this.accessor.doSetGroupActive(this.groupPanel);
|
|
5697
5721
|
}
|
|
5698
5722
|
});
|
|
5699
|
-
this.tabsContainer.hide();
|
|
5700
5723
|
this.contentContainer.element.appendChild(this.watermark.element);
|
|
5701
5724
|
}
|
|
5702
5725
|
if (!this.isEmpty && this.watermark) {
|
|
5703
5726
|
this.watermark.element.remove();
|
|
5704
5727
|
(_b = (_a = this.watermark).dispose) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
5705
5728
|
this.watermark = undefined;
|
|
5706
|
-
this.tabsContainer.show();
|
|
5707
5729
|
}
|
|
5708
5730
|
}
|
|
5709
5731
|
canDisplayOverlay(event, position, target) {
|
|
@@ -5823,6 +5845,34 @@ class GridviewPanel extends BasePanelView {
|
|
|
5823
5845
|
return this._snap;
|
|
5824
5846
|
}
|
|
5825
5847
|
get minimumWidth() {
|
|
5848
|
+
/**
|
|
5849
|
+
* defer to protected function to allow subclasses to override easily.
|
|
5850
|
+
* see https://github.com/microsoft/TypeScript/issues/338
|
|
5851
|
+
*/
|
|
5852
|
+
return this.__minimumWidth();
|
|
5853
|
+
}
|
|
5854
|
+
get minimumHeight() {
|
|
5855
|
+
/**
|
|
5856
|
+
* defer to protected function to allow subclasses to override easily.
|
|
5857
|
+
* see https://github.com/microsoft/TypeScript/issues/338
|
|
5858
|
+
*/
|
|
5859
|
+
return this.__minimumHeight();
|
|
5860
|
+
}
|
|
5861
|
+
get maximumHeight() {
|
|
5862
|
+
/**
|
|
5863
|
+
* defer to protected function to allow subclasses to override easily.
|
|
5864
|
+
* see https://github.com/microsoft/TypeScript/issues/338
|
|
5865
|
+
*/
|
|
5866
|
+
return this.__maximumHeight();
|
|
5867
|
+
}
|
|
5868
|
+
get maximumWidth() {
|
|
5869
|
+
/**
|
|
5870
|
+
* defer to protected function to allow subclasses to override easily.
|
|
5871
|
+
* see https://github.com/microsoft/TypeScript/issues/338
|
|
5872
|
+
*/
|
|
5873
|
+
return this.__maximumWidth();
|
|
5874
|
+
}
|
|
5875
|
+
__minimumWidth() {
|
|
5826
5876
|
const width = typeof this._minimumWidth === 'function'
|
|
5827
5877
|
? this._minimumWidth()
|
|
5828
5878
|
: this._minimumWidth;
|
|
@@ -5832,7 +5882,17 @@ class GridviewPanel extends BasePanelView {
|
|
|
5832
5882
|
}
|
|
5833
5883
|
return width;
|
|
5834
5884
|
}
|
|
5835
|
-
|
|
5885
|
+
__maximumWidth() {
|
|
5886
|
+
const width = typeof this._maximumWidth === 'function'
|
|
5887
|
+
? this._maximumWidth()
|
|
5888
|
+
: this._maximumWidth;
|
|
5889
|
+
if (width !== this._evaluatedMaximumWidth) {
|
|
5890
|
+
this._evaluatedMaximumWidth = width;
|
|
5891
|
+
this.updateConstraints();
|
|
5892
|
+
}
|
|
5893
|
+
return width;
|
|
5894
|
+
}
|
|
5895
|
+
__minimumHeight() {
|
|
5836
5896
|
const height = typeof this._minimumHeight === 'function'
|
|
5837
5897
|
? this._minimumHeight()
|
|
5838
5898
|
: this._minimumHeight;
|
|
@@ -5842,7 +5902,7 @@ class GridviewPanel extends BasePanelView {
|
|
|
5842
5902
|
}
|
|
5843
5903
|
return height;
|
|
5844
5904
|
}
|
|
5845
|
-
|
|
5905
|
+
__maximumHeight() {
|
|
5846
5906
|
const height = typeof this._maximumHeight === 'function'
|
|
5847
5907
|
? this._maximumHeight()
|
|
5848
5908
|
: this._maximumHeight;
|
|
@@ -5852,16 +5912,6 @@ class GridviewPanel extends BasePanelView {
|
|
|
5852
5912
|
}
|
|
5853
5913
|
return height;
|
|
5854
5914
|
}
|
|
5855
|
-
get maximumWidth() {
|
|
5856
|
-
const width = typeof this._maximumWidth === 'function'
|
|
5857
|
-
? this._maximumWidth()
|
|
5858
|
-
: this._maximumWidth;
|
|
5859
|
-
if (width !== this._evaluatedMaximumWidth) {
|
|
5860
|
-
this._evaluatedMaximumWidth = width;
|
|
5861
|
-
this.updateConstraints();
|
|
5862
|
-
}
|
|
5863
|
-
return width;
|
|
5864
|
-
}
|
|
5865
5915
|
get isActive() {
|
|
5866
5916
|
return this.api.isActive;
|
|
5867
5917
|
}
|
|
@@ -6012,6 +6062,7 @@ class DockviewGroupPanelApiImpl extends GridviewPanelApiImpl {
|
|
|
6012
6062
|
position: options.group
|
|
6013
6063
|
? (_c = options.position) !== null && _c !== void 0 ? _c : 'center'
|
|
6014
6064
|
: 'center',
|
|
6065
|
+
index: options.index,
|
|
6015
6066
|
},
|
|
6016
6067
|
});
|
|
6017
6068
|
}
|
|
@@ -6063,30 +6114,34 @@ class DockviewGroupPanel extends GridviewPanel {
|
|
|
6063
6114
|
get minimumWidth() {
|
|
6064
6115
|
var _a;
|
|
6065
6116
|
const activePanelMinimumWidth = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.minimumWidth;
|
|
6066
|
-
|
|
6067
|
-
|
|
6068
|
-
|
|
6117
|
+
if (typeof activePanelMinimumWidth === 'number') {
|
|
6118
|
+
return activePanelMinimumWidth;
|
|
6119
|
+
}
|
|
6120
|
+
return super.__minimumWidth();
|
|
6069
6121
|
}
|
|
6070
6122
|
get minimumHeight() {
|
|
6071
6123
|
var _a;
|
|
6072
6124
|
const activePanelMinimumHeight = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.minimumHeight;
|
|
6073
|
-
|
|
6074
|
-
|
|
6075
|
-
|
|
6125
|
+
if (typeof activePanelMinimumHeight === 'number') {
|
|
6126
|
+
return activePanelMinimumHeight;
|
|
6127
|
+
}
|
|
6128
|
+
return super.__minimumHeight();
|
|
6076
6129
|
}
|
|
6077
6130
|
get maximumWidth() {
|
|
6078
6131
|
var _a;
|
|
6079
6132
|
const activePanelMaximumWidth = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.maximumWidth;
|
|
6080
|
-
|
|
6081
|
-
|
|
6082
|
-
|
|
6133
|
+
if (typeof activePanelMaximumWidth === 'number') {
|
|
6134
|
+
return activePanelMaximumWidth;
|
|
6135
|
+
}
|
|
6136
|
+
return super.__maximumWidth();
|
|
6083
6137
|
}
|
|
6084
6138
|
get maximumHeight() {
|
|
6085
6139
|
var _a;
|
|
6086
6140
|
const activePanelMaximumHeight = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.maximumHeight;
|
|
6087
|
-
|
|
6088
|
-
|
|
6089
|
-
|
|
6141
|
+
if (typeof activePanelMaximumHeight === 'number') {
|
|
6142
|
+
return activePanelMaximumHeight;
|
|
6143
|
+
}
|
|
6144
|
+
return super.__maximumHeight();
|
|
6090
6145
|
}
|
|
6091
6146
|
get panels() {
|
|
6092
6147
|
return this._model.panels;
|
|
@@ -6200,12 +6255,14 @@ class DockviewPanelApiImpl extends GridviewPanelApiImpl {
|
|
|
6200
6255
|
return this.group.api.getWindow();
|
|
6201
6256
|
}
|
|
6202
6257
|
moveTo(options) {
|
|
6203
|
-
var _a;
|
|
6258
|
+
var _a, _b;
|
|
6204
6259
|
this.accessor.moveGroupOrPanel({
|
|
6205
6260
|
from: { groupId: this._group.id, panelId: this.panel.id },
|
|
6206
6261
|
to: {
|
|
6207
|
-
group: options.group,
|
|
6208
|
-
position:
|
|
6262
|
+
group: (_a = options.group) !== null && _a !== void 0 ? _a : this._group,
|
|
6263
|
+
position: options.group
|
|
6264
|
+
? (_b = options.position) !== null && _b !== void 0 ? _b : 'center'
|
|
6265
|
+
: 'center',
|
|
6209
6266
|
index: options.index,
|
|
6210
6267
|
},
|
|
6211
6268
|
});
|
|
@@ -6424,7 +6481,7 @@ const createSvgElementFromPath = (params) => {
|
|
|
6424
6481
|
svg.setAttributeNS(null, 'viewBox', params.viewbox);
|
|
6425
6482
|
svg.setAttributeNS(null, 'aria-hidden', 'false');
|
|
6426
6483
|
svg.setAttributeNS(null, 'focusable', 'false');
|
|
6427
|
-
svg.classList.add('
|
|
6484
|
+
svg.classList.add('dv-svg');
|
|
6428
6485
|
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
|
|
6429
6486
|
path.setAttributeNS(null, 'd', params.path);
|
|
6430
6487
|
svg.appendChild(path);
|
|
@@ -6595,39 +6652,10 @@ class Watermark extends CompositeDisposable {
|
|
|
6595
6652
|
constructor() {
|
|
6596
6653
|
super();
|
|
6597
6654
|
this._element = document.createElement('div');
|
|
6598
|
-
this._element.className = 'watermark';
|
|
6599
|
-
const title = document.createElement('div');
|
|
6600
|
-
title.className = 'watermark-title';
|
|
6601
|
-
const emptySpace = document.createElement('span');
|
|
6602
|
-
emptySpace.style.flexGrow = '1';
|
|
6603
|
-
const content = document.createElement('div');
|
|
6604
|
-
content.className = 'watermark-content';
|
|
6605
|
-
this._element.appendChild(title);
|
|
6606
|
-
this._element.appendChild(content);
|
|
6607
|
-
const actionsContainer = document.createElement('div');
|
|
6608
|
-
actionsContainer.className = 'actions-container';
|
|
6609
|
-
const closeAnchor = document.createElement('div');
|
|
6610
|
-
closeAnchor.className = 'close-action';
|
|
6611
|
-
closeAnchor.appendChild(createCloseButton());
|
|
6612
|
-
actionsContainer.appendChild(closeAnchor);
|
|
6613
|
-
title.appendChild(emptySpace);
|
|
6614
|
-
title.appendChild(actionsContainer);
|
|
6615
|
-
this.addDisposables(addDisposableListener(closeAnchor, 'click', (event) => {
|
|
6616
|
-
var _a;
|
|
6617
|
-
event.preventDefault();
|
|
6618
|
-
if (this._group) {
|
|
6619
|
-
(_a = this._api) === null || _a === void 0 ? void 0 : _a.removeGroup(this._group);
|
|
6620
|
-
}
|
|
6621
|
-
}));
|
|
6655
|
+
this._element.className = 'dv-watermark';
|
|
6622
6656
|
}
|
|
6623
6657
|
init(_params) {
|
|
6624
|
-
|
|
6625
|
-
this._group = _params.group;
|
|
6626
|
-
this.render();
|
|
6627
|
-
}
|
|
6628
|
-
render() {
|
|
6629
|
-
const isOneGroup = !!(this._api && this._api.size <= 1);
|
|
6630
|
-
toggleClass(this.element, 'has-actions', isOneGroup);
|
|
6658
|
+
// noop
|
|
6631
6659
|
}
|
|
6632
6660
|
}
|
|
6633
6661
|
|
|
@@ -6664,6 +6692,9 @@ class Overlay extends CompositeDisposable {
|
|
|
6664
6692
|
get element() {
|
|
6665
6693
|
return this._element;
|
|
6666
6694
|
}
|
|
6695
|
+
get isVisible() {
|
|
6696
|
+
return this._isVisible;
|
|
6697
|
+
}
|
|
6667
6698
|
constructor(options) {
|
|
6668
6699
|
super();
|
|
6669
6700
|
this.options = options;
|
|
@@ -6674,6 +6705,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6674
6705
|
this.onDidChangeEnd = this._onDidChangeEnd.event;
|
|
6675
6706
|
this.addDisposables(this._onDidChange, this._onDidChangeEnd);
|
|
6676
6707
|
this._element.className = 'dv-resize-container';
|
|
6708
|
+
this._isVisible = true;
|
|
6677
6709
|
this.setupResize('top');
|
|
6678
6710
|
this.setupResize('bottom');
|
|
6679
6711
|
this.setupResize('left');
|
|
@@ -6688,6 +6720,13 @@ class Overlay extends CompositeDisposable {
|
|
|
6688
6720
|
this.setBounds(Object.assign(Object.assign(Object.assign(Object.assign({ height: this.options.height, width: this.options.width }, ('top' in this.options && { top: this.options.top })), ('bottom' in this.options && { bottom: this.options.bottom })), ('left' in this.options && { left: this.options.left })), ('right' in this.options && { right: this.options.right })));
|
|
6689
6721
|
arialLevelTracker.push(this._element);
|
|
6690
6722
|
}
|
|
6723
|
+
setVisible(isVisible) {
|
|
6724
|
+
if (isVisible === this.isVisible) {
|
|
6725
|
+
return;
|
|
6726
|
+
}
|
|
6727
|
+
this._isVisible = isVisible;
|
|
6728
|
+
toggleClass(this.element, 'dv-hidden', !this.isVisible);
|
|
6729
|
+
}
|
|
6691
6730
|
bringToFront() {
|
|
6692
6731
|
arialLevelTracker.push(this._element);
|
|
6693
6732
|
}
|
|
@@ -7261,7 +7300,6 @@ class PopoutWindow extends CompositeDisposable {
|
|
|
7261
7300
|
window: this._window.value,
|
|
7262
7301
|
});
|
|
7263
7302
|
this._window.disposable.dispose();
|
|
7264
|
-
this._window.value.close();
|
|
7265
7303
|
this._window = null;
|
|
7266
7304
|
this._onDidClose.fire();
|
|
7267
7305
|
}
|
|
@@ -7293,7 +7331,9 @@ class PopoutWindow extends CompositeDisposable {
|
|
|
7293
7331
|
}
|
|
7294
7332
|
const disposable = new CompositeDisposable();
|
|
7295
7333
|
this._window = { value: externalWindow, disposable };
|
|
7296
|
-
disposable.addDisposables(
|
|
7334
|
+
disposable.addDisposables(Disposable.from(() => {
|
|
7335
|
+
externalWindow.close();
|
|
7336
|
+
}), addDisposableWindowListener(window, 'beforeunload', () => {
|
|
7297
7337
|
/**
|
|
7298
7338
|
* before the main window closes we should close this popup too
|
|
7299
7339
|
* to be good citizens
|
|
@@ -7310,7 +7350,7 @@ class PopoutWindow extends CompositeDisposable {
|
|
|
7310
7350
|
id: this.target,
|
|
7311
7351
|
window: externalWindow,
|
|
7312
7352
|
});
|
|
7313
|
-
return new Promise((resolve) => {
|
|
7353
|
+
return new Promise((resolve, reject) => {
|
|
7314
7354
|
externalWindow.addEventListener('unload', (e) => {
|
|
7315
7355
|
// if page fails to load before unloading
|
|
7316
7356
|
// this.close();
|
|
@@ -7319,21 +7359,27 @@ class PopoutWindow extends CompositeDisposable {
|
|
|
7319
7359
|
/**
|
|
7320
7360
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event
|
|
7321
7361
|
*/
|
|
7322
|
-
|
|
7323
|
-
|
|
7324
|
-
|
|
7325
|
-
|
|
7326
|
-
|
|
7327
|
-
* beforeunload must be registered after load for reasons I could not determine
|
|
7328
|
-
* otherwise the beforeunload event will not fire when the window is closed
|
|
7329
|
-
*/
|
|
7330
|
-
addDisposableWindowListener(externalWindow, 'beforeunload', () => {
|
|
7362
|
+
try {
|
|
7363
|
+
const externalDocument = externalWindow.document;
|
|
7364
|
+
externalDocument.title = document.title;
|
|
7365
|
+
externalDocument.body.appendChild(container);
|
|
7366
|
+
addStyles(externalDocument, window.document.styleSheets);
|
|
7331
7367
|
/**
|
|
7332
|
-
*
|
|
7368
|
+
* beforeunload must be registered after load for reasons I could not determine
|
|
7369
|
+
* otherwise the beforeunload event will not fire when the window is closed
|
|
7333
7370
|
*/
|
|
7334
|
-
|
|
7335
|
-
|
|
7336
|
-
|
|
7371
|
+
addDisposableWindowListener(externalWindow, 'beforeunload', () => {
|
|
7372
|
+
/**
|
|
7373
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event
|
|
7374
|
+
*/
|
|
7375
|
+
this.close();
|
|
7376
|
+
});
|
|
7377
|
+
resolve(container);
|
|
7378
|
+
}
|
|
7379
|
+
catch (err) {
|
|
7380
|
+
// only except this is the DOM isn't setup. e.g. in a in correctly configured test
|
|
7381
|
+
reject(err);
|
|
7382
|
+
}
|
|
7337
7383
|
});
|
|
7338
7384
|
});
|
|
7339
7385
|
});
|
|
@@ -7440,6 +7486,8 @@ class DockviewComponent extends BaseGrid {
|
|
|
7440
7486
|
this.onDidActivePanelChange = this._onDidActivePanelChange.event;
|
|
7441
7487
|
this._onDidMovePanel = new Emitter();
|
|
7442
7488
|
this.onDidMovePanel = this._onDidMovePanel.event;
|
|
7489
|
+
this._onDidMaximizedGroupChange = new Emitter();
|
|
7490
|
+
this.onDidMaximizedGroupChange = this._onDidMaximizedGroupChange.event;
|
|
7443
7491
|
this._floatingGroups = [];
|
|
7444
7492
|
this._popoutGroups = [];
|
|
7445
7493
|
this._onDidRemoveGroup = new Emitter();
|
|
@@ -7466,6 +7514,11 @@ class DockviewComponent extends BaseGrid {
|
|
|
7466
7514
|
if (!this._moving) {
|
|
7467
7515
|
this._onDidActiveGroupChange.fire(event);
|
|
7468
7516
|
}
|
|
7517
|
+
}), this.onDidMaximizedChange((event) => {
|
|
7518
|
+
this._onDidMaximizedGroupChange.fire({
|
|
7519
|
+
group: event.panel,
|
|
7520
|
+
isMaximized: event.isMaximized,
|
|
7521
|
+
});
|
|
7469
7522
|
}), Event.any(this.onDidAdd, this.onDidRemove)(() => {
|
|
7470
7523
|
this.updateWatermark();
|
|
7471
7524
|
}), Event.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidAddGroup, this.onDidRemove, this.onDidMovePanel, this.onDidActivePanelChange)(() => {
|
|
@@ -7564,8 +7617,28 @@ class DockviewComponent extends BaseGrid {
|
|
|
7564
7617
|
this._api = new DockviewApi(this);
|
|
7565
7618
|
this.updateWatermark();
|
|
7566
7619
|
}
|
|
7620
|
+
setVisible(panel, visible) {
|
|
7621
|
+
switch (panel.api.location.type) {
|
|
7622
|
+
case 'grid':
|
|
7623
|
+
super.setVisible(panel, visible);
|
|
7624
|
+
break;
|
|
7625
|
+
case 'floating': {
|
|
7626
|
+
const item = this.floatingGroups.find((floatingGroup) => floatingGroup.group === panel);
|
|
7627
|
+
if (item) {
|
|
7628
|
+
item.overlay.setVisible(visible);
|
|
7629
|
+
panel.api._onDidVisibilityChange.fire({
|
|
7630
|
+
isVisible: visible,
|
|
7631
|
+
});
|
|
7632
|
+
}
|
|
7633
|
+
break;
|
|
7634
|
+
}
|
|
7635
|
+
case 'popout':
|
|
7636
|
+
console.warn('dockview: You cannot hide a group that is in a popout window');
|
|
7637
|
+
break;
|
|
7638
|
+
}
|
|
7639
|
+
}
|
|
7567
7640
|
addPopoutGroup(itemToPopout, options) {
|
|
7568
|
-
var _a, _b, _c;
|
|
7641
|
+
var _a, _b, _c, _d, _e;
|
|
7569
7642
|
if (itemToPopout instanceof DockviewPanel &&
|
|
7570
7643
|
itemToPopout.group.size === 1) {
|
|
7571
7644
|
return this.addPopoutGroup(itemToPopout.group, options);
|
|
@@ -7586,12 +7659,9 @@ class DockviewComponent extends BaseGrid {
|
|
|
7586
7659
|
}
|
|
7587
7660
|
const box = getBox();
|
|
7588
7661
|
const groupId = (_b = (_a = options === null || options === void 0 ? void 0 : options.overridePopoutGroup) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : this.getNextGroupId();
|
|
7589
|
-
if (itemToPopout.api.location.type === 'grid') {
|
|
7590
|
-
itemToPopout.api.setVisible(false);
|
|
7591
|
-
}
|
|
7592
7662
|
const _window = new PopoutWindow(`${this.id}-${groupId}`, // unique id
|
|
7593
7663
|
theme !== null && theme !== void 0 ? theme : '', {
|
|
7594
|
-
url: (_c = options === null || options === void 0 ? void 0 : options.popoutUrl) !== null && _c !== void 0 ? _c : '/popout.html',
|
|
7664
|
+
url: (_e = (_c = options === null || options === void 0 ? void 0 : options.popoutUrl) !== null && _c !== void 0 ? _c : (_d = this.options) === null || _d === void 0 ? void 0 : _d.popoutUrl) !== null && _e !== void 0 ? _e : '/popout.html',
|
|
7595
7665
|
left: window.screenX + box.left,
|
|
7596
7666
|
top: window.screenY + box.top,
|
|
7597
7667
|
width: box.width,
|
|
@@ -7605,13 +7675,12 @@ class DockviewComponent extends BaseGrid {
|
|
|
7605
7675
|
return _window
|
|
7606
7676
|
.open()
|
|
7607
7677
|
.then((popoutContainer) => {
|
|
7608
|
-
var _a;
|
|
7609
7678
|
if (_window.isDisposed) {
|
|
7610
|
-
return;
|
|
7679
|
+
return false;
|
|
7611
7680
|
}
|
|
7612
7681
|
if (popoutContainer === null) {
|
|
7613
7682
|
popoutWindowDisposable.dispose();
|
|
7614
|
-
return;
|
|
7683
|
+
return false;
|
|
7615
7684
|
}
|
|
7616
7685
|
const gready = document.createElement('div');
|
|
7617
7686
|
gready.className = 'dv-overlay-render-container';
|
|
@@ -7620,30 +7689,45 @@ class DockviewComponent extends BaseGrid {
|
|
|
7620
7689
|
? itemToPopout.group
|
|
7621
7690
|
: itemToPopout;
|
|
7622
7691
|
const referenceLocation = itemToPopout.api.location.type;
|
|
7623
|
-
|
|
7624
|
-
|
|
7625
|
-
|
|
7626
|
-
|
|
7692
|
+
/**
|
|
7693
|
+
* The group that is being added doesn't already exist within the DOM, the most likely occurance
|
|
7694
|
+
* of this case is when being called from the `fromJSON(...)` method
|
|
7695
|
+
*/
|
|
7696
|
+
const isGroupAddedToDom = referenceGroup.element.parentElement !== null;
|
|
7697
|
+
let group;
|
|
7698
|
+
if (!isGroupAddedToDom) {
|
|
7699
|
+
group = referenceGroup;
|
|
7627
7700
|
}
|
|
7628
|
-
if (
|
|
7629
|
-
|
|
7630
|
-
const panel = referenceGroup.model.removePanel(itemToPopout);
|
|
7631
|
-
group.model.openPanel(panel);
|
|
7632
|
-
});
|
|
7701
|
+
else if (options === null || options === void 0 ? void 0 : options.overridePopoutGroup) {
|
|
7702
|
+
group = options.overridePopoutGroup;
|
|
7633
7703
|
}
|
|
7634
7704
|
else {
|
|
7635
|
-
this.
|
|
7636
|
-
|
|
7637
|
-
|
|
7638
|
-
|
|
7639
|
-
|
|
7640
|
-
|
|
7641
|
-
|
|
7642
|
-
|
|
7643
|
-
|
|
7644
|
-
|
|
7645
|
-
|
|
7646
|
-
|
|
7705
|
+
group = this.createGroup({ id: groupId });
|
|
7706
|
+
this._onDidAddGroup.fire(group);
|
|
7707
|
+
}
|
|
7708
|
+
group.model.renderContainer = overlayRenderContainer;
|
|
7709
|
+
group.layout(_window.window.innerWidth, _window.window.innerHeight);
|
|
7710
|
+
if (!(options === null || options === void 0 ? void 0 : options.overridePopoutGroup) && isGroupAddedToDom) {
|
|
7711
|
+
if (itemToPopout instanceof DockviewPanel) {
|
|
7712
|
+
this.movingLock(() => {
|
|
7713
|
+
const panel = referenceGroup.model.removePanel(itemToPopout);
|
|
7714
|
+
group.model.openPanel(panel);
|
|
7715
|
+
});
|
|
7716
|
+
}
|
|
7717
|
+
else {
|
|
7718
|
+
this.movingLock(() => moveGroupWithoutDestroying({
|
|
7719
|
+
from: referenceGroup,
|
|
7720
|
+
to: group,
|
|
7721
|
+
}));
|
|
7722
|
+
switch (referenceLocation) {
|
|
7723
|
+
case 'grid':
|
|
7724
|
+
referenceGroup.api.setVisible(false);
|
|
7725
|
+
break;
|
|
7726
|
+
case 'floating':
|
|
7727
|
+
case 'popout':
|
|
7728
|
+
this.removeGroup(referenceGroup);
|
|
7729
|
+
break;
|
|
7730
|
+
}
|
|
7647
7731
|
}
|
|
7648
7732
|
}
|
|
7649
7733
|
popoutContainer.classList.add('dv-dockview');
|
|
@@ -7653,7 +7737,12 @@ class DockviewComponent extends BaseGrid {
|
|
|
7653
7737
|
group.model.location = {
|
|
7654
7738
|
type: 'popout',
|
|
7655
7739
|
getWindow: () => _window.window,
|
|
7740
|
+
popoutUrl: options === null || options === void 0 ? void 0 : options.popoutUrl,
|
|
7656
7741
|
};
|
|
7742
|
+
if (isGroupAddedToDom &&
|
|
7743
|
+
itemToPopout.api.location.type === 'grid') {
|
|
7744
|
+
itemToPopout.api.setVisible(false);
|
|
7745
|
+
}
|
|
7657
7746
|
this.doSetGroupAndPanelActive(group);
|
|
7658
7747
|
popoutWindowDisposable.addDisposables(group.api.onDidActiveChange((event) => {
|
|
7659
7748
|
var _a;
|
|
@@ -7665,10 +7754,13 @@ class DockviewComponent extends BaseGrid {
|
|
|
7665
7754
|
(_a = _window.window) === null || _a === void 0 ? void 0 : _a.focus();
|
|
7666
7755
|
}));
|
|
7667
7756
|
let returnedGroup;
|
|
7757
|
+
const isValidReferenceGroup = isGroupAddedToDom &&
|
|
7758
|
+
referenceGroup &&
|
|
7759
|
+
this.getPanel(referenceGroup.id);
|
|
7668
7760
|
const value = {
|
|
7669
7761
|
window: _window,
|
|
7670
7762
|
popoutGroup: group,
|
|
7671
|
-
referenceGroup:
|
|
7763
|
+
referenceGroup: isValidReferenceGroup
|
|
7672
7764
|
? referenceGroup.id
|
|
7673
7765
|
: undefined,
|
|
7674
7766
|
disposable: {
|
|
@@ -7685,9 +7777,10 @@ class DockviewComponent extends BaseGrid {
|
|
|
7685
7777
|
* window dimensions
|
|
7686
7778
|
*/
|
|
7687
7779
|
addDisposableWindowListener(_window.window, 'resize', () => {
|
|
7688
|
-
group.layout(window.innerWidth, window.innerHeight);
|
|
7780
|
+
group.layout(_window.window.innerWidth, _window.window.innerHeight);
|
|
7689
7781
|
}), overlayRenderContainer, Disposable.from(() => {
|
|
7690
|
-
if (
|
|
7782
|
+
if (isGroupAddedToDom &&
|
|
7783
|
+
this.getPanel(referenceGroup.id)) {
|
|
7691
7784
|
this.movingLock(() => moveGroupWithoutDestroying({
|
|
7692
7785
|
from: group,
|
|
7693
7786
|
to: referenceGroup,
|
|
@@ -7702,21 +7795,27 @@ class DockviewComponent extends BaseGrid {
|
|
|
7702
7795
|
}
|
|
7703
7796
|
}
|
|
7704
7797
|
else if (this.getPanel(group.id)) {
|
|
7705
|
-
|
|
7798
|
+
this.doRemoveGroup(group, {
|
|
7706
7799
|
skipDispose: true,
|
|
7707
7800
|
skipActive: true,
|
|
7801
|
+
skipPopoutReturn: true,
|
|
7708
7802
|
});
|
|
7803
|
+
const removedGroup = group;
|
|
7709
7804
|
removedGroup.model.renderContainer =
|
|
7710
7805
|
this.overlayRenderContainer;
|
|
7711
7806
|
removedGroup.model.location = { type: 'grid' };
|
|
7712
7807
|
returnedGroup = removedGroup;
|
|
7808
|
+
this.doAddGroup(removedGroup, [0]);
|
|
7809
|
+
this.doSetGroupAndPanelActive(removedGroup);
|
|
7713
7810
|
}
|
|
7714
7811
|
}));
|
|
7715
7812
|
this._popoutGroups.push(value);
|
|
7716
7813
|
this.updateWatermark();
|
|
7814
|
+
return true;
|
|
7717
7815
|
})
|
|
7718
7816
|
.catch((err) => {
|
|
7719
7817
|
console.error('dockview: failed to create popout window', err);
|
|
7818
|
+
return false;
|
|
7720
7819
|
});
|
|
7721
7820
|
}
|
|
7722
7821
|
addFloatingGroup(item, options) {
|
|
@@ -7820,7 +7919,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
7820
7919
|
: (_c = (_b = this.options.floatingGroupBounds) === null || _b === void 0 ? void 0 : _b.minimumWidthWithinViewport) !== null && _c !== void 0 ? _c : DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE, minimumInViewportHeight: this.options.floatingGroupBounds === 'boundedWithinViewport'
|
|
7821
7920
|
? undefined
|
|
7822
7921
|
: (_e = (_d = this.options.floatingGroupBounds) === null || _d === void 0 ? void 0 : _d.minimumHeightWithinViewport) !== null && _e !== void 0 ? _e : DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE }));
|
|
7823
|
-
const el = group.element.querySelector('.void-container');
|
|
7922
|
+
const el = group.element.querySelector('.dv-void-container');
|
|
7824
7923
|
if (!el) {
|
|
7825
7924
|
throw new Error('failed to find drag handle');
|
|
7826
7925
|
}
|
|
@@ -8012,6 +8111,9 @@ class DockviewComponent extends BaseGrid {
|
|
|
8012
8111
|
data: group.popoutGroup.toJSON(),
|
|
8013
8112
|
gridReferenceGroup: group.referenceGroup,
|
|
8014
8113
|
position: group.window.dimensions(),
|
|
8114
|
+
url: group.popoutGroup.api.location.type === 'popout'
|
|
8115
|
+
? group.popoutGroup.api.location.popoutUrl
|
|
8116
|
+
: undefined,
|
|
8015
8117
|
};
|
|
8016
8118
|
});
|
|
8017
8119
|
const result = {
|
|
@@ -8098,16 +8200,16 @@ class DockviewComponent extends BaseGrid {
|
|
|
8098
8200
|
}
|
|
8099
8201
|
const serializedPopoutGroups = (_b = data.popoutGroups) !== null && _b !== void 0 ? _b : [];
|
|
8100
8202
|
for (const serializedPopoutGroup of serializedPopoutGroups) {
|
|
8101
|
-
const { data, position, gridReferenceGroup } = serializedPopoutGroup;
|
|
8203
|
+
const { data, position, gridReferenceGroup, url } = serializedPopoutGroup;
|
|
8102
8204
|
const group = createGroupFromSerializedState(data);
|
|
8103
8205
|
this.addPopoutGroup((_c = (gridReferenceGroup
|
|
8104
8206
|
? this.getPanel(gridReferenceGroup)
|
|
8105
8207
|
: undefined)) !== null && _c !== void 0 ? _c : group, {
|
|
8106
|
-
skipRemoveGroup: true,
|
|
8107
8208
|
position: position !== null && position !== void 0 ? position : undefined,
|
|
8108
8209
|
overridePopoutGroup: gridReferenceGroup
|
|
8109
8210
|
? group
|
|
8110
8211
|
: undefined,
|
|
8212
|
+
popoutUrl: url,
|
|
8111
8213
|
});
|
|
8112
8214
|
}
|
|
8113
8215
|
for (const floatingGroup of this._floatingGroups) {
|
|
@@ -8121,6 +8223,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
8121
8223
|
}
|
|
8122
8224
|
}
|
|
8123
8225
|
catch (err) {
|
|
8226
|
+
console.error('dockview: failed to deserialize layout. Reverting changes', err);
|
|
8124
8227
|
/**
|
|
8125
8228
|
* Takes all the successfully created groups and remove all of their panels.
|
|
8126
8229
|
*/
|
|
@@ -8188,11 +8291,13 @@ class DockviewComponent extends BaseGrid {
|
|
|
8188
8291
|
width: options.initialWidth,
|
|
8189
8292
|
height: options.initialHeight,
|
|
8190
8293
|
};
|
|
8294
|
+
let index;
|
|
8191
8295
|
if (options.position) {
|
|
8192
8296
|
if (isPanelOptionsWithPanel(options.position)) {
|
|
8193
8297
|
const referencePanel = typeof options.position.referencePanel === 'string'
|
|
8194
8298
|
? this.getGroupPanel(options.position.referencePanel)
|
|
8195
8299
|
: options.position.referencePanel;
|
|
8300
|
+
index = options.position.index;
|
|
8196
8301
|
if (!referencePanel) {
|
|
8197
8302
|
throw new Error(`referencePanel '${options.position.referencePanel}' does not exist`);
|
|
8198
8303
|
}
|
|
@@ -8203,6 +8308,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
8203
8308
|
typeof options.position.referenceGroup === 'string'
|
|
8204
8309
|
? (_a = this._groups.get(options.position.referenceGroup)) === null || _a === void 0 ? void 0 : _a.value
|
|
8205
8310
|
: options.position.referenceGroup;
|
|
8311
|
+
index = options.position.index;
|
|
8206
8312
|
if (!referenceGroup) {
|
|
8207
8313
|
throw new Error(`referenceGroup '${options.position.referenceGroup}' does not exist`);
|
|
8208
8314
|
}
|
|
@@ -8213,6 +8319,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
8213
8319
|
group.model.openPanel(panel, {
|
|
8214
8320
|
skipSetActive: options.inactive,
|
|
8215
8321
|
skipSetGroupActive: options.inactive,
|
|
8322
|
+
index,
|
|
8216
8323
|
});
|
|
8217
8324
|
if (!options.inactive) {
|
|
8218
8325
|
this.doSetGroupAndPanelActive(group);
|
|
@@ -8242,6 +8349,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
8242
8349
|
group.model.openPanel(panel, {
|
|
8243
8350
|
skipSetActive: options.inactive,
|
|
8244
8351
|
skipSetGroupActive: options.inactive,
|
|
8352
|
+
index,
|
|
8245
8353
|
});
|
|
8246
8354
|
}
|
|
8247
8355
|
else if (referenceGroup.api.location.type === 'floating' ||
|
|
@@ -8250,6 +8358,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
8250
8358
|
referenceGroup.model.openPanel(panel, {
|
|
8251
8359
|
skipSetActive: options.inactive,
|
|
8252
8360
|
skipSetGroupActive: options.inactive,
|
|
8361
|
+
index,
|
|
8253
8362
|
});
|
|
8254
8363
|
referenceGroup.api.setSize({
|
|
8255
8364
|
width: initial === null || initial === void 0 ? void 0 : initial.width,
|
|
@@ -8270,6 +8379,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
8270
8379
|
group.model.openPanel(panel, {
|
|
8271
8380
|
skipSetActive: options.inactive,
|
|
8272
8381
|
skipSetGroupActive: options.inactive,
|
|
8382
|
+
index,
|
|
8273
8383
|
});
|
|
8274
8384
|
if (!options.inactive) {
|
|
8275
8385
|
this.doSetGroupAndPanelActive(group);
|
|
@@ -8288,6 +8398,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
8288
8398
|
group.model.openPanel(panel, {
|
|
8289
8399
|
skipSetActive: options.inactive,
|
|
8290
8400
|
skipSetGroupActive: options.inactive,
|
|
8401
|
+
index,
|
|
8291
8402
|
});
|
|
8292
8403
|
}
|
|
8293
8404
|
else {
|
|
@@ -8298,6 +8409,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
8298
8409
|
group.model.openPanel(panel, {
|
|
8299
8410
|
skipSetActive: options.inactive,
|
|
8300
8411
|
skipSetGroupActive: options.inactive,
|
|
8412
|
+
index,
|
|
8301
8413
|
});
|
|
8302
8414
|
if (!options.inactive) {
|
|
8303
8415
|
this.doSetGroupAndPanelActive(group);
|
|
@@ -8307,7 +8419,6 @@ class DockviewComponent extends BaseGrid {
|
|
|
8307
8419
|
}
|
|
8308
8420
|
removePanel(panel, options = {
|
|
8309
8421
|
removeEmptyGroup: true,
|
|
8310
|
-
skipDispose: false,
|
|
8311
8422
|
}) {
|
|
8312
8423
|
const group = panel.group;
|
|
8313
8424
|
if (!group) {
|
|
@@ -8838,6 +8949,31 @@ class DockviewComponent extends BaseGrid {
|
|
|
8838
8949
|
}
|
|
8839
8950
|
}
|
|
8840
8951
|
|
|
8952
|
+
function createComponent(id, componentName, components = {}, frameworkComponents = {}, createFrameworkComponent, fallback) {
|
|
8953
|
+
const Component = typeof componentName === 'string'
|
|
8954
|
+
? components[componentName]
|
|
8955
|
+
: undefined;
|
|
8956
|
+
const FrameworkComponent = typeof componentName === 'string'
|
|
8957
|
+
? frameworkComponents[componentName]
|
|
8958
|
+
: undefined;
|
|
8959
|
+
if (Component && FrameworkComponent) {
|
|
8960
|
+
throw new Error(`Cannot create '${id}'. component '${componentName}' registered as both a component and frameworkComponent`);
|
|
8961
|
+
}
|
|
8962
|
+
if (FrameworkComponent) {
|
|
8963
|
+
if (!createFrameworkComponent) {
|
|
8964
|
+
throw new Error(`Cannot create '${id}' for framework component '${componentName}'. you must register a frameworkPanelWrapper to use framework components`);
|
|
8965
|
+
}
|
|
8966
|
+
return createFrameworkComponent.createComponent(id, componentName, FrameworkComponent);
|
|
8967
|
+
}
|
|
8968
|
+
if (!Component) {
|
|
8969
|
+
if (fallback) {
|
|
8970
|
+
return fallback();
|
|
8971
|
+
}
|
|
8972
|
+
throw new Error(`Cannot create '${id}', no component '${componentName}' provided`);
|
|
8973
|
+
}
|
|
8974
|
+
return new Component(id, componentName);
|
|
8975
|
+
}
|
|
8976
|
+
|
|
8841
8977
|
class GridviewComponent extends BaseGrid {
|
|
8842
8978
|
get orientation() {
|
|
8843
8979
|
return this.gridview.orientation;
|
|
@@ -9386,12 +9522,14 @@ class DefaultHeader extends CompositeDisposable {
|
|
|
9386
9522
|
this._expandedIcon = createExpandMoreButton();
|
|
9387
9523
|
this._collapsedIcon = createChevronRightButton();
|
|
9388
9524
|
this.disposable = new MutableDisposable();
|
|
9389
|
-
this.apiRef = {
|
|
9525
|
+
this.apiRef = {
|
|
9526
|
+
api: null,
|
|
9527
|
+
};
|
|
9390
9528
|
this._element = document.createElement('div');
|
|
9391
|
-
this.element.className = 'default-header';
|
|
9529
|
+
this.element.className = 'dv-default-header';
|
|
9392
9530
|
this._content = document.createElement('span');
|
|
9393
9531
|
this._expander = document.createElement('div');
|
|
9394
|
-
this._expander.className = '
|
|
9532
|
+
this._expander.className = 'dv-pane-header-icon';
|
|
9395
9533
|
this.element.appendChild(this._expander);
|
|
9396
9534
|
this.element.appendChild(this._content);
|
|
9397
9535
|
this.addDisposables(addDisposableListener(this._element, 'click', () => {
|
|
@@ -9842,5 +9980,5 @@ function createPaneview(element, options) {
|
|
|
9842
9980
|
return new PaneviewApi(component);
|
|
9843
9981
|
}
|
|
9844
9982
|
|
|
9845
|
-
export { BaseGrid, ContentContainer, DefaultDockviewDeserialzier, DefaultTab, DockviewApi, DockviewComponent, CompositeDisposable as DockviewCompositeDisposable, DockviewDidDropEvent, Disposable as DockviewDisposable, Emitter as DockviewEmitter, Event as DockviewEvent, DockviewGroupPanel, DockviewGroupPanelModel, MutableDisposable as DockviewMutableDisposable, DockviewPanel, DockviewUnhandledDragOverEvent, DockviewWillDropEvent, DraggablePaneviewPanel, Gridview, GridviewApi, GridviewComponent, GridviewPanel, LayoutPriority,
|
|
9983
|
+
export { BaseGrid, ContentContainer, DefaultDockviewDeserialzier, DefaultTab, DockviewApi, DockviewComponent, CompositeDisposable as DockviewCompositeDisposable, DockviewDidDropEvent, Disposable as DockviewDisposable, Emitter as DockviewEmitter, Event as DockviewEvent, DockviewGroupPanel, DockviewGroupPanelModel, MutableDisposable as DockviewMutableDisposable, DockviewPanel, DockviewUnhandledDragOverEvent, DockviewWillDropEvent, DraggablePaneviewPanel, Gridview, GridviewApi, GridviewComponent, GridviewPanel, LayoutPriority, Orientation, PROPERTY_KEYS, PaneFramework, PaneTransfer, PanelTransfer, Paneview, PaneviewApi, PaneviewComponent, PaneviewPanel, SashState, Sizing, Splitview, SplitviewApi, SplitviewComponent, SplitviewPanel, Tab, WillShowOverlayLocationEvent, createDockview, createGridview, createPaneview, createSplitview, directionToPosition, getDirectionOrientation, getGridLocation, getLocationOrientation, getPaneData, getPanelData, getRelativeLocation, indexInParent, isGridBranchNode, isGroupOptionsWithGroup, isGroupOptionsWithPanel, isPanelOptionsWithGroup, isPanelOptionsWithPanel, orthogonal, positionToDirection, toTarget };
|
|
9846
9984
|
//# sourceMappingURL=dockview-core.esm.js.map
|