dockview-react 1.14.2 → 1.15.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/dockview-react.amd.js +317 -110
- package/dist/dockview-react.amd.js.map +1 -1
- package/dist/dockview-react.amd.min.js +2 -2
- package/dist/dockview-react.amd.min.js.map +1 -1
- package/dist/dockview-react.amd.min.noStyle.js +2 -2
- package/dist/dockview-react.amd.min.noStyle.js.map +1 -1
- package/dist/dockview-react.amd.noStyle.js +316 -109
- package/dist/dockview-react.amd.noStyle.js.map +1 -1
- package/dist/dockview-react.cjs.js +317 -110
- package/dist/dockview-react.cjs.js.map +1 -1
- package/dist/dockview-react.esm.js +317 -110
- package/dist/dockview-react.esm.js.map +1 -1
- package/dist/dockview-react.esm.min.js +2 -2
- package/dist/dockview-react.esm.min.js.map +1 -1
- package/dist/dockview-react.js +317 -110
- package/dist/dockview-react.js.map +1 -1
- package/dist/dockview-react.min.js +2 -2
- package/dist/dockview-react.min.js.map +1 -1
- package/dist/dockview-react.min.noStyle.js +2 -2
- package/dist/dockview-react.min.noStyle.js.map +1 -1
- package/dist/dockview-react.noStyle.js +316 -109
- package/dist/dockview-react.noStyle.js.map +1 -1
- package/dist/styles/dockview.css +0 -13
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dockview-react
|
|
3
|
-
* @version 1.
|
|
3
|
+
* @version 1.15.0
|
|
4
4
|
* @link https://github.com/mathuo/dockview
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -36,7 +36,7 @@ function styleInject(css, ref) {
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
var css_248z = ".dv-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 999;\n}\n\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-gap-size: 3px;\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: ##fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-background-color: #ebeced;\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab .dockview-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .groupview .content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .groupview.active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview.inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.drop-target {\n position: relative;\n}\n.drop-target > .drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 1000;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition: top 70ms ease-out, left 70ms ease-out, width 70ms ease-out, height 70ms ease-out, opacity 0.15s ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n position: absolute;\n z-index: 997;\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-bring-to-front {\n z-index: 998;\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: 999;\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: se-resize;\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\n}\n.dv-dockview .split-view-container.horizontal > .view-container > .view:not(:last-child) .groupview {\n border-right: var(--dv-group-gap-size) solid transparent;\n}\n.dv-dockview .split-view-container.horizontal > .view-container > .view:not(:first-child) .groupview {\n border-left: var(--dv-group-gap-size) solid transparent;\n}\n.dv-dockview .split-view-container.vertical > .view-container > .view:not(:last-child) .groupview {\n border-bottom: var(--dv-group-gap-size) solid transparent;\n}\n.dv-dockview .split-view-container.vertical > .view-container > .view:not(:first-child) .groupview {\n border-top: var(--dv-group-gap-size) solid transparent;\n}\n\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.groupview:focus {\n outline: none;\n}\n.groupview.empty > .tabs-and-actions-container {\n display: none;\n}\n.groupview > .content-container {\n flex-grow: 1;\n min-height: 0;\n outline: none;\n}\n.dv-root-wrapper {\n height: 100%;\n width: 100%;\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: var(--dv-background-color);\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.tab.inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: elipsis;\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}";
|
|
39
|
+
var css_248z = ".dv-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 999;\n}\n\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: ##fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-background-color: #ebeced;\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab .dockview-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .groupview .content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .groupview.active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview.inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.drop-target {\n position: relative;\n}\n.drop-target > .drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 1000;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition: top 70ms ease-out, left 70ms ease-out, width 70ms ease-out, height 70ms ease-out, opacity 0.15s ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n position: absolute;\n z-index: 997;\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-bring-to-front {\n z-index: 998;\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: 999;\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: se-resize;\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\n}\n\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.groupview:focus {\n outline: none;\n}\n.groupview.empty > .tabs-and-actions-container {\n display: none;\n}\n.groupview > .content-container {\n flex-grow: 1;\n min-height: 0;\n outline: none;\n}\n.dv-root-wrapper {\n height: 100%;\n width: 100%;\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: var(--dv-background-color);\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.tab.inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: elipsis;\n}\n.tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dv-default-tab .dv-default-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
|
|
40
40
|
styleInject(css_248z);
|
|
41
41
|
|
|
42
42
|
class TransferObject {
|
|
@@ -561,6 +561,9 @@ function isInDocument(element) {
|
|
|
561
561
|
}
|
|
562
562
|
return false;
|
|
563
563
|
}
|
|
564
|
+
function addTestId(element, id) {
|
|
565
|
+
element.setAttribute('data-testid', id);
|
|
566
|
+
}
|
|
564
567
|
|
|
565
568
|
function tail(arr) {
|
|
566
569
|
if (arr.length === 0) {
|
|
@@ -622,7 +625,11 @@ function remove(array, value) {
|
|
|
622
625
|
|
|
623
626
|
const clamp = (value, min, max) => {
|
|
624
627
|
if (min > max) {
|
|
625
|
-
|
|
628
|
+
/**
|
|
629
|
+
* caveat: an error should be thrown here if this was a proper `clamp` function but we need to handle
|
|
630
|
+
* cases where `min` > `max` and in those cases return `min`.
|
|
631
|
+
*/
|
|
632
|
+
return min;
|
|
626
633
|
}
|
|
627
634
|
return Math.min(max, Math.max(value, min));
|
|
628
635
|
};
|
|
@@ -827,7 +834,14 @@ class Splitview {
|
|
|
827
834
|
this._disabled = value;
|
|
828
835
|
toggleClass(this.element, 'dv-splitview-disabled', value);
|
|
829
836
|
}
|
|
837
|
+
get margin() {
|
|
838
|
+
return this._margin;
|
|
839
|
+
}
|
|
840
|
+
set margin(value) {
|
|
841
|
+
this._margin = value;
|
|
842
|
+
}
|
|
830
843
|
constructor(container, options) {
|
|
844
|
+
var _a;
|
|
831
845
|
this.container = container;
|
|
832
846
|
this.viewItems = [];
|
|
833
847
|
this.sashes = [];
|
|
@@ -838,6 +852,7 @@ class Splitview {
|
|
|
838
852
|
this._startSnappingEnabled = true;
|
|
839
853
|
this._endSnappingEnabled = true;
|
|
840
854
|
this._disabled = false;
|
|
855
|
+
this._margin = 0;
|
|
841
856
|
this._onDidSashEnd = new Emitter();
|
|
842
857
|
this.onDidSashEnd = this._onDidSashEnd.event;
|
|
843
858
|
this._onDidAddView = new Emitter();
|
|
@@ -926,6 +941,7 @@ class Splitview {
|
|
|
926
941
|
};
|
|
927
942
|
this._orientation = options.orientation;
|
|
928
943
|
this.element = this.createContainer();
|
|
944
|
+
this.margin = (_a = options.margin) !== null && _a !== void 0 ? _a : 0;
|
|
929
945
|
this.proportionalLayout =
|
|
930
946
|
options.proportionalLayout === undefined
|
|
931
947
|
? true
|
|
@@ -980,9 +996,7 @@ class Splitview {
|
|
|
980
996
|
if (index < 0 || index >= this.viewItems.length) {
|
|
981
997
|
throw new Error('Index out of bounds');
|
|
982
998
|
}
|
|
983
|
-
toggleClass(this.container, 'visible', visible);
|
|
984
999
|
const viewItem = this.viewItems[index];
|
|
985
|
-
toggleClass(this.container, 'visible', visible);
|
|
986
1000
|
viewItem.setVisible(visible, viewItem.size);
|
|
987
1001
|
this.distributeEmptySpace(index);
|
|
988
1002
|
this.layoutViews();
|
|
@@ -1294,15 +1308,29 @@ class Splitview {
|
|
|
1294
1308
|
this._proportions = this.viewItems.map((i) => i.visible ? i.size / this._contentSize : undefined);
|
|
1295
1309
|
}
|
|
1296
1310
|
}
|
|
1311
|
+
/**
|
|
1312
|
+
* Margin explain:
|
|
1313
|
+
*
|
|
1314
|
+
* For `n` views in a splitview there will be `n-1` margins `m`.
|
|
1315
|
+
*
|
|
1316
|
+
* To fit the margins each view must reduce in size by `(m * (n - 1)) / n`.
|
|
1317
|
+
*
|
|
1318
|
+
* For each view `i` the offet must be adjusted by `m * i/(n - 1)`.
|
|
1319
|
+
*/
|
|
1297
1320
|
layoutViews() {
|
|
1298
1321
|
this._contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);
|
|
1299
|
-
let sum = 0;
|
|
1300
|
-
const x = [];
|
|
1301
1322
|
this.updateSashEnablement();
|
|
1323
|
+
if (this.viewItems.length === 0) {
|
|
1324
|
+
return;
|
|
1325
|
+
}
|
|
1326
|
+
const sashCount = this.viewItems.length - 1;
|
|
1327
|
+
const marginReducedSize = (this.margin * sashCount) / this.viewItems.length;
|
|
1328
|
+
let totalLeftOffset = 0;
|
|
1329
|
+
const viewLeftOffsets = [];
|
|
1302
1330
|
for (let i = 0; i < this.viewItems.length - 1; i++) {
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
const offset = Math.min(Math.max(0,
|
|
1331
|
+
totalLeftOffset += this.viewItems[i].size;
|
|
1332
|
+
viewLeftOffsets.push(totalLeftOffset);
|
|
1333
|
+
const offset = Math.min(Math.max(0, totalLeftOffset - 2), this.size - this.margin);
|
|
1306
1334
|
if (this._orientation === exports.Orientation.HORIZONTAL) {
|
|
1307
1335
|
this.sashes[i].container.style.left = `${offset}px`;
|
|
1308
1336
|
this.sashes[i].container.style.top = `0px`;
|
|
@@ -1313,19 +1341,24 @@ class Splitview {
|
|
|
1313
1341
|
}
|
|
1314
1342
|
}
|
|
1315
1343
|
this.viewItems.forEach((view, i) => {
|
|
1344
|
+
const size = view.size - marginReducedSize;
|
|
1345
|
+
const offset = i === 0
|
|
1346
|
+
? 0
|
|
1347
|
+
: viewLeftOffsets[i - 1] +
|
|
1348
|
+
(i / sashCount) * marginReducedSize;
|
|
1316
1349
|
if (this._orientation === exports.Orientation.HORIZONTAL) {
|
|
1317
|
-
view.container.style.width = `${
|
|
1318
|
-
view.container.style.left =
|
|
1350
|
+
view.container.style.width = `${size}px`;
|
|
1351
|
+
view.container.style.left = `${offset}px`;
|
|
1319
1352
|
view.container.style.top = '';
|
|
1320
1353
|
view.container.style.height = '';
|
|
1321
1354
|
}
|
|
1322
1355
|
if (this._orientation === exports.Orientation.VERTICAL) {
|
|
1323
|
-
view.container.style.height = `${
|
|
1324
|
-
view.container.style.top =
|
|
1356
|
+
view.container.style.height = `${size}px`;
|
|
1357
|
+
view.container.style.top = `${offset}px`;
|
|
1325
1358
|
view.container.style.width = '';
|
|
1326
1359
|
view.container.style.left = '';
|
|
1327
1360
|
}
|
|
1328
|
-
view.view.layout(view.size, this._orthogonalSize);
|
|
1361
|
+
view.view.layout(view.size - marginReducedSize, this._orthogonalSize);
|
|
1329
1362
|
});
|
|
1330
1363
|
}
|
|
1331
1364
|
findFirstSnapIndex(indexes) {
|
|
@@ -1774,7 +1807,18 @@ class BranchNode extends CompositeDisposable {
|
|
|
1774
1807
|
set disabled(value) {
|
|
1775
1808
|
this.splitview.disabled = value;
|
|
1776
1809
|
}
|
|
1777
|
-
|
|
1810
|
+
get margin() {
|
|
1811
|
+
return this.splitview.margin;
|
|
1812
|
+
}
|
|
1813
|
+
set margin(value) {
|
|
1814
|
+
this.splitview.margin = value;
|
|
1815
|
+
this.children.forEach((child) => {
|
|
1816
|
+
if (child instanceof BranchNode) {
|
|
1817
|
+
child.margin = value;
|
|
1818
|
+
}
|
|
1819
|
+
});
|
|
1820
|
+
}
|
|
1821
|
+
constructor(orientation, proportionalLayout, styles, size, orthogonalSize, disabled, margin, childDescriptors) {
|
|
1778
1822
|
super();
|
|
1779
1823
|
this.orientation = orientation;
|
|
1780
1824
|
this.proportionalLayout = proportionalLayout;
|
|
@@ -1794,6 +1838,7 @@ class BranchNode extends CompositeDisposable {
|
|
|
1794
1838
|
orientation: this.orientation,
|
|
1795
1839
|
proportionalLayout,
|
|
1796
1840
|
styles,
|
|
1841
|
+
margin,
|
|
1797
1842
|
});
|
|
1798
1843
|
this.splitview.layout(this.size, this.orthogonalSize);
|
|
1799
1844
|
}
|
|
@@ -1817,6 +1862,7 @@ class BranchNode extends CompositeDisposable {
|
|
|
1817
1862
|
descriptor,
|
|
1818
1863
|
proportionalLayout,
|
|
1819
1864
|
styles,
|
|
1865
|
+
margin,
|
|
1820
1866
|
});
|
|
1821
1867
|
}
|
|
1822
1868
|
this.disabled = disabled;
|
|
@@ -1825,10 +1871,8 @@ class BranchNode extends CompositeDisposable {
|
|
|
1825
1871
|
}));
|
|
1826
1872
|
this.setupChildrenEvents();
|
|
1827
1873
|
}
|
|
1828
|
-
setVisible(
|
|
1829
|
-
|
|
1830
|
-
child.setVisible(visible);
|
|
1831
|
-
}
|
|
1874
|
+
setVisible(_visible) {
|
|
1875
|
+
// noop
|
|
1832
1876
|
}
|
|
1833
1877
|
isChildVisible(index) {
|
|
1834
1878
|
if (index < 0 || index >= this.children.length) {
|
|
@@ -1845,12 +1889,13 @@ class BranchNode extends CompositeDisposable {
|
|
|
1845
1889
|
}
|
|
1846
1890
|
const wereAllChildrenHidden = this.splitview.contentSize === 0;
|
|
1847
1891
|
this.splitview.setViewVisible(index, visible);
|
|
1892
|
+
// }
|
|
1848
1893
|
const areAllChildrenHidden = this.splitview.contentSize === 0;
|
|
1849
1894
|
// If all children are hidden then the parent should hide the entire splitview
|
|
1850
1895
|
// If the entire splitview is hidden then the parent should show the splitview when a child is shown
|
|
1851
1896
|
if ((visible && wereAllChildrenHidden) ||
|
|
1852
1897
|
(!visible && areAllChildrenHidden)) {
|
|
1853
|
-
this._onDidVisibilityChange.fire(visible);
|
|
1898
|
+
this._onDidVisibilityChange.fire({ visible });
|
|
1854
1899
|
}
|
|
1855
1900
|
}
|
|
1856
1901
|
moveChild(from, to) {
|
|
@@ -1923,7 +1968,7 @@ class BranchNode extends CompositeDisposable {
|
|
|
1923
1968
|
this._onDidChange.fire({ size: e.orthogonalSize });
|
|
1924
1969
|
}), ...this.children.map((c, i) => {
|
|
1925
1970
|
if (c instanceof BranchNode) {
|
|
1926
|
-
return c.onDidVisibilityChange((visible) => {
|
|
1971
|
+
return c.onDidVisibilityChange(({ visible }) => {
|
|
1927
1972
|
this.setChildVisible(i, visible);
|
|
1928
1973
|
});
|
|
1929
1974
|
}
|
|
@@ -1953,7 +1998,7 @@ function findLeaf(candiateNode, last) {
|
|
|
1953
1998
|
}
|
|
1954
1999
|
function flipNode(node, size, orthogonalSize) {
|
|
1955
2000
|
if (node instanceof BranchNode) {
|
|
1956
|
-
const result = new BranchNode(orthogonal(node.orientation), node.proportionalLayout, node.styles, size, orthogonalSize, node.disabled);
|
|
2001
|
+
const result = new BranchNode(orthogonal(node.orientation), node.proportionalLayout, node.styles, size, orthogonalSize, node.disabled, node.margin);
|
|
1957
2002
|
let totalSize = 0;
|
|
1958
2003
|
for (let i = node.children.length - 1; i >= 0; i--) {
|
|
1959
2004
|
const child = node.children[i];
|
|
@@ -2108,6 +2153,13 @@ class Gridview {
|
|
|
2108
2153
|
}
|
|
2109
2154
|
}
|
|
2110
2155
|
}
|
|
2156
|
+
get margin() {
|
|
2157
|
+
return this._margin;
|
|
2158
|
+
}
|
|
2159
|
+
set margin(value) {
|
|
2160
|
+
this._margin = value;
|
|
2161
|
+
this.root.margin = value;
|
|
2162
|
+
}
|
|
2111
2163
|
maximizedView() {
|
|
2112
2164
|
var _a;
|
|
2113
2165
|
return (_a = this._maximizedNode) === null || _a === void 0 ? void 0 : _a.leaf.view;
|
|
@@ -2193,13 +2245,14 @@ class Gridview {
|
|
|
2193
2245
|
this.disposable.dispose();
|
|
2194
2246
|
this._onDidChange.dispose();
|
|
2195
2247
|
this._onDidMaximizedNodeChange.dispose();
|
|
2248
|
+
this._onDidViewVisibilityChange.dispose();
|
|
2196
2249
|
this.root.dispose();
|
|
2197
2250
|
this._maximizedNode = undefined;
|
|
2198
2251
|
this.element.remove();
|
|
2199
2252
|
}
|
|
2200
2253
|
clear() {
|
|
2201
2254
|
const orientation = this.root.orientation;
|
|
2202
|
-
this.root = new BranchNode(orientation, this.proportionalLayout, this.styles, this.root.size, this.root.orthogonalSize, this.
|
|
2255
|
+
this.root = new BranchNode(orientation, this.proportionalLayout, this.styles, this.root.size, this.root.orthogonalSize, this.locked, this.margin);
|
|
2203
2256
|
}
|
|
2204
2257
|
deserialize(json, deserializer) {
|
|
2205
2258
|
const orientation = json.orientation;
|
|
@@ -2210,6 +2263,7 @@ class Gridview {
|
|
|
2210
2263
|
this.root = this._deserializeNode(root, orientation, deserializer, orthogonalSize);
|
|
2211
2264
|
}
|
|
2212
2265
|
_deserializeNode(node, orientation, deserializer, orthogonalSize) {
|
|
2266
|
+
var _a;
|
|
2213
2267
|
let result;
|
|
2214
2268
|
if (node.type === 'branch') {
|
|
2215
2269
|
const serializedChildren = node.data;
|
|
@@ -2221,10 +2275,14 @@ class Gridview {
|
|
|
2221
2275
|
});
|
|
2222
2276
|
result = new BranchNode(orientation, this.proportionalLayout, this.styles, node.size, // <- orthogonal size - flips at each depth
|
|
2223
2277
|
orthogonalSize, // <- size - flips at each depth,
|
|
2224
|
-
this.
|
|
2278
|
+
this.locked, this.margin, children);
|
|
2225
2279
|
}
|
|
2226
2280
|
else {
|
|
2227
|
-
|
|
2281
|
+
const view = deserializer.fromJSON(node);
|
|
2282
|
+
if (typeof node.visible === 'boolean') {
|
|
2283
|
+
(_a = view.setVisible) === null || _a === void 0 ? void 0 : _a.call(view, node.visible);
|
|
2284
|
+
}
|
|
2285
|
+
result = new LeafNode(view, orientation, orthogonalSize, node.size);
|
|
2228
2286
|
}
|
|
2229
2287
|
return result;
|
|
2230
2288
|
}
|
|
@@ -2254,7 +2312,7 @@ class Gridview {
|
|
|
2254
2312
|
}
|
|
2255
2313
|
const oldRoot = this.root;
|
|
2256
2314
|
oldRoot.element.remove();
|
|
2257
|
-
this._root = new BranchNode(orthogonal(oldRoot.orientation), this.proportionalLayout, this.styles, this.root.orthogonalSize, this.root.size, this.
|
|
2315
|
+
this._root = new BranchNode(orthogonal(oldRoot.orientation), this.proportionalLayout, this.styles, this.root.orthogonalSize, this.root.size, this.locked, this.margin);
|
|
2258
2316
|
if (oldRoot.children.length === 0) ;
|
|
2259
2317
|
else if (oldRoot.children.length === 1) {
|
|
2260
2318
|
// can remove one level of redundant branching if there is only a single child
|
|
@@ -2319,19 +2377,24 @@ class Gridview {
|
|
|
2319
2377
|
}
|
|
2320
2378
|
return findLeaf(this.root, reverse);
|
|
2321
2379
|
}
|
|
2322
|
-
constructor(proportionalLayout, styles, orientation) {
|
|
2380
|
+
constructor(proportionalLayout, styles, orientation, locked, margin) {
|
|
2323
2381
|
this.proportionalLayout = proportionalLayout;
|
|
2324
2382
|
this.styles = styles;
|
|
2325
2383
|
this._locked = false;
|
|
2384
|
+
this._margin = 0;
|
|
2326
2385
|
this._maximizedNode = undefined;
|
|
2327
2386
|
this.disposable = new MutableDisposable();
|
|
2328
2387
|
this._onDidChange = new Emitter();
|
|
2329
2388
|
this.onDidChange = this._onDidChange.event;
|
|
2389
|
+
this._onDidViewVisibilityChange = new Emitter();
|
|
2390
|
+
this.onDidViewVisibilityChange = this._onDidViewVisibilityChange.event;
|
|
2330
2391
|
this._onDidMaximizedNodeChange = new Emitter();
|
|
2331
2392
|
this.onDidMaximizedNodeChange = this._onDidMaximizedNodeChange.event;
|
|
2332
2393
|
this.element = document.createElement('div');
|
|
2333
2394
|
this.element.className = 'grid-view';
|
|
2334
|
-
this.
|
|
2395
|
+
this._locked = locked !== null && locked !== void 0 ? locked : false;
|
|
2396
|
+
this._margin = margin !== null && margin !== void 0 ? margin : 0;
|
|
2397
|
+
this.root = new BranchNode(orientation, proportionalLayout, styles, 0, 0, this.locked, this.margin);
|
|
2335
2398
|
}
|
|
2336
2399
|
isViewVisible(location) {
|
|
2337
2400
|
const [rest, index] = tail(location);
|
|
@@ -2350,6 +2413,7 @@ class Gridview {
|
|
|
2350
2413
|
if (!(parent instanceof BranchNode)) {
|
|
2351
2414
|
throw new Error('Invalid from location');
|
|
2352
2415
|
}
|
|
2416
|
+
this._onDidViewVisibilityChange.fire();
|
|
2353
2417
|
parent.setChildVisible(index, visible);
|
|
2354
2418
|
}
|
|
2355
2419
|
moveView(parentLocation, from, to) {
|
|
@@ -2382,7 +2446,7 @@ class Gridview {
|
|
|
2382
2446
|
}
|
|
2383
2447
|
const child = grandParent.removeChild(parentIndex);
|
|
2384
2448
|
child.dispose();
|
|
2385
|
-
const newParent = new BranchNode(parent.orientation, this.proportionalLayout, this.styles, parent.size, parent.orthogonalSize, this.
|
|
2449
|
+
const newParent = new BranchNode(parent.orientation, this.proportionalLayout, this.styles, parent.size, parent.orthogonalSize, this.locked, this.margin);
|
|
2386
2450
|
grandParent.addChild(newParent, parent.size, parentIndex);
|
|
2387
2451
|
const newSibling = new LeafNode(parent.view, grandParent.orientation, parent.size);
|
|
2388
2452
|
newParent.addChild(newSibling, newSiblingSize, 0);
|
|
@@ -2621,14 +2685,18 @@ class BaseGrid extends Resizable {
|
|
|
2621
2685
|
this.onDidActiveChange = this._onDidActiveChange.event;
|
|
2622
2686
|
this._bufferOnDidLayoutChange = new AsapEvent();
|
|
2623
2687
|
this.onDidLayoutChange = this._bufferOnDidLayoutChange.onEvent;
|
|
2688
|
+
this._onDidViewVisibilityChangeMicroTaskQueue = new AsapEvent();
|
|
2689
|
+
this.onDidViewVisibilityChangeMicroTaskQueue = this._onDidViewVisibilityChangeMicroTaskQueue.onEvent;
|
|
2624
2690
|
this.element.style.height = '100%';
|
|
2625
2691
|
this.element.style.width = '100%';
|
|
2626
2692
|
options.parentElement.appendChild(this.element);
|
|
2627
|
-
this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation);
|
|
2693
|
+
this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation, options.locked, options.margin);
|
|
2628
2694
|
this.gridview.locked = !!options.locked;
|
|
2629
2695
|
this.element.appendChild(this.gridview.element);
|
|
2630
2696
|
this.layout(0, 0, true); // set some elements height/widths
|
|
2631
|
-
this.addDisposables(
|
|
2697
|
+
this.addDisposables(this.gridview.onDidViewVisibilityChange(() => this._onDidViewVisibilityChangeMicroTaskQueue.fire()), this.onDidViewVisibilityChangeMicroTaskQueue(() => {
|
|
2698
|
+
this.layout(this.width, this.height, true);
|
|
2699
|
+
}), exports.DockviewDisposable.from(() => {
|
|
2632
2700
|
var _a;
|
|
2633
2701
|
(_a = this.element.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(this.element);
|
|
2634
2702
|
}), this.gridview.onDidChange(() => {
|
|
@@ -3242,6 +3310,9 @@ class DockviewApi {
|
|
|
3242
3310
|
get onDidRemovePanel() {
|
|
3243
3311
|
return this.component.onDidRemovePanel;
|
|
3244
3312
|
}
|
|
3313
|
+
get onDidMovePanel() {
|
|
3314
|
+
return this.component.onDidMovePanel;
|
|
3315
|
+
}
|
|
3245
3316
|
/**
|
|
3246
3317
|
* Invoked after a layout is deserialzied using the `fromJSON` method.
|
|
3247
3318
|
*/
|
|
@@ -3382,8 +3453,8 @@ class DockviewApi {
|
|
|
3382
3453
|
/**
|
|
3383
3454
|
* Add a floating group
|
|
3384
3455
|
*/
|
|
3385
|
-
addFloatingGroup(item,
|
|
3386
|
-
return this.component.addFloatingGroup(item,
|
|
3456
|
+
addFloatingGroup(item, options) {
|
|
3457
|
+
return this.component.addFloatingGroup(item, options);
|
|
3387
3458
|
}
|
|
3388
3459
|
/**
|
|
3389
3460
|
* Create a component from a serialized object.
|
|
@@ -3433,6 +3504,9 @@ class DockviewApi {
|
|
|
3433
3504
|
addPopoutGroup(item, options) {
|
|
3434
3505
|
return this.component.addPopoutGroup(item, options);
|
|
3435
3506
|
}
|
|
3507
|
+
setGap(gap) {
|
|
3508
|
+
this.component.updateOptions({ gap });
|
|
3509
|
+
}
|
|
3436
3510
|
}
|
|
3437
3511
|
|
|
3438
3512
|
class DragHandler extends CompositeDisposable {
|
|
@@ -4802,7 +4876,8 @@ class TabsContainer extends CompositeDisposable {
|
|
|
4802
4876
|
this.accessor.addFloatingGroup(this.group, {
|
|
4803
4877
|
x: left - rootLeft + 20,
|
|
4804
4878
|
y: top - rootTop + 20,
|
|
4805
|
-
|
|
4879
|
+
inDragMode: true,
|
|
4880
|
+
});
|
|
4806
4881
|
}
|
|
4807
4882
|
}), addDisposableListener(this.tabContainer, 'mousedown', (event) => {
|
|
4808
4883
|
if (event.defaultPrevented) {
|
|
@@ -4871,7 +4946,8 @@ class TabsContainer extends CompositeDisposable {
|
|
|
4871
4946
|
this.accessor.addFloatingGroup(panel, {
|
|
4872
4947
|
x: left - rootLeft,
|
|
4873
4948
|
y: top - rootTop,
|
|
4874
|
-
|
|
4949
|
+
inDragMode: true,
|
|
4950
|
+
});
|
|
4875
4951
|
return;
|
|
4876
4952
|
}
|
|
4877
4953
|
const isLeftClick = event.button === 0;
|
|
@@ -4944,6 +5020,7 @@ const PROPERTY_KEYS = (() => {
|
|
|
4944
5020
|
rootOverlayModel: undefined,
|
|
4945
5021
|
locked: undefined,
|
|
4946
5022
|
disableDnd: undefined,
|
|
5023
|
+
gap: undefined,
|
|
4947
5024
|
};
|
|
4948
5025
|
return Object.keys(properties);
|
|
4949
5026
|
})();
|
|
@@ -5674,6 +5751,9 @@ class GridviewPanel extends BasePanelView {
|
|
|
5674
5751
|
get isActive() {
|
|
5675
5752
|
return this.api.isActive;
|
|
5676
5753
|
}
|
|
5754
|
+
get isVisible() {
|
|
5755
|
+
return this.api.isVisible;
|
|
5756
|
+
}
|
|
5677
5757
|
constructor(id, component, options, api) {
|
|
5678
5758
|
super(id, component, api !== null && api !== void 0 ? api : new GridviewPanelApiImpl(id, component));
|
|
5679
5759
|
this._evaluatedMinimumWidth = 0;
|
|
@@ -6436,12 +6516,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6436
6516
|
this._element.appendChild(this.options.content);
|
|
6437
6517
|
this.options.container.appendChild(this._element);
|
|
6438
6518
|
// if input bad resize within acceptable boundaries
|
|
6439
|
-
this.setBounds({
|
|
6440
|
-
height: this.options.height,
|
|
6441
|
-
width: this.options.width,
|
|
6442
|
-
top: this.options.top,
|
|
6443
|
-
left: this.options.left,
|
|
6444
|
-
});
|
|
6519
|
+
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 })));
|
|
6445
6520
|
}
|
|
6446
6521
|
setBounds(bounds = {}) {
|
|
6447
6522
|
if (typeof bounds.height === 'number') {
|
|
@@ -6450,11 +6525,25 @@ class Overlay extends CompositeDisposable {
|
|
|
6450
6525
|
if (typeof bounds.width === 'number') {
|
|
6451
6526
|
this._element.style.width = `${bounds.width}px`;
|
|
6452
6527
|
}
|
|
6453
|
-
if (typeof bounds.top === 'number') {
|
|
6528
|
+
if ('top' in bounds && typeof bounds.top === 'number') {
|
|
6454
6529
|
this._element.style.top = `${bounds.top}px`;
|
|
6530
|
+
this._element.style.bottom = 'auto';
|
|
6531
|
+
this.verticalAlignment = 'top';
|
|
6532
|
+
}
|
|
6533
|
+
if ('bottom' in bounds && typeof bounds.bottom === 'number') {
|
|
6534
|
+
this._element.style.bottom = `${bounds.bottom}px`;
|
|
6535
|
+
this._element.style.top = 'auto';
|
|
6536
|
+
this.verticalAlignment = 'bottom';
|
|
6455
6537
|
}
|
|
6456
|
-
if (typeof bounds.left === 'number') {
|
|
6538
|
+
if ('left' in bounds && typeof bounds.left === 'number') {
|
|
6457
6539
|
this._element.style.left = `${bounds.left}px`;
|
|
6540
|
+
this._element.style.right = 'auto';
|
|
6541
|
+
this.horiziontalAlignment = 'left';
|
|
6542
|
+
}
|
|
6543
|
+
if ('right' in bounds && typeof bounds.right === 'number') {
|
|
6544
|
+
this._element.style.right = `${bounds.right}px`;
|
|
6545
|
+
this._element.style.left = 'auto';
|
|
6546
|
+
this.horiziontalAlignment = 'right';
|
|
6458
6547
|
}
|
|
6459
6548
|
const containerRect = this.options.container.getBoundingClientRect();
|
|
6460
6549
|
const overlayRect = this._element.getBoundingClientRect();
|
|
@@ -6462,24 +6551,54 @@ class Overlay extends CompositeDisposable {
|
|
|
6462
6551
|
// a minimum width of minimumViewportWidth must be inside the viewport
|
|
6463
6552
|
const xOffset = Math.max(0, this.getMinimumWidth(overlayRect.width));
|
|
6464
6553
|
// a minimum height of minimumViewportHeight must be inside the viewport
|
|
6465
|
-
const yOffset =
|
|
6466
|
-
|
|
6467
|
-
|
|
6468
|
-
|
|
6469
|
-
|
|
6470
|
-
|
|
6471
|
-
this.
|
|
6554
|
+
const yOffset = Math.max(0, this.getMinimumHeight(overlayRect.height));
|
|
6555
|
+
if (this.verticalAlignment === 'top') {
|
|
6556
|
+
const top = clamp(overlayRect.top - containerRect.top, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
6557
|
+
this._element.style.top = `${top}px`;
|
|
6558
|
+
this._element.style.bottom = 'auto';
|
|
6559
|
+
}
|
|
6560
|
+
if (this.verticalAlignment === 'bottom') {
|
|
6561
|
+
const bottom = clamp(containerRect.bottom - overlayRect.bottom, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
6562
|
+
this._element.style.bottom = `${bottom}px`;
|
|
6563
|
+
this._element.style.top = 'auto';
|
|
6564
|
+
}
|
|
6565
|
+
if (this.horiziontalAlignment === 'left') {
|
|
6566
|
+
const left = clamp(overlayRect.left - containerRect.left, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6567
|
+
this._element.style.left = `${left}px`;
|
|
6568
|
+
this._element.style.right = 'auto';
|
|
6569
|
+
}
|
|
6570
|
+
if (this.horiziontalAlignment === 'right') {
|
|
6571
|
+
const right = clamp(containerRect.right - overlayRect.right, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6572
|
+
this._element.style.right = `${right}px`;
|
|
6573
|
+
this._element.style.left = 'auto';
|
|
6574
|
+
}
|
|
6472
6575
|
this._onDidChange.fire();
|
|
6473
6576
|
}
|
|
6474
6577
|
toJSON() {
|
|
6475
6578
|
const container = this.options.container.getBoundingClientRect();
|
|
6476
6579
|
const element = this._element.getBoundingClientRect();
|
|
6477
|
-
|
|
6478
|
-
|
|
6479
|
-
|
|
6480
|
-
|
|
6481
|
-
|
|
6482
|
-
|
|
6580
|
+
const result = {};
|
|
6581
|
+
if (this.verticalAlignment === 'top') {
|
|
6582
|
+
result.top = parseFloat(this._element.style.top);
|
|
6583
|
+
}
|
|
6584
|
+
else if (this.verticalAlignment === 'bottom') {
|
|
6585
|
+
result.bottom = parseFloat(this._element.style.bottom);
|
|
6586
|
+
}
|
|
6587
|
+
else {
|
|
6588
|
+
result.top = element.top - container.top;
|
|
6589
|
+
}
|
|
6590
|
+
if (this.horiziontalAlignment === 'left') {
|
|
6591
|
+
result.left = parseFloat(this._element.style.left);
|
|
6592
|
+
}
|
|
6593
|
+
else if (this.horiziontalAlignment === 'right') {
|
|
6594
|
+
result.right = parseFloat(this._element.style.right);
|
|
6595
|
+
}
|
|
6596
|
+
else {
|
|
6597
|
+
result.left = element.left - container.left;
|
|
6598
|
+
}
|
|
6599
|
+
result.width = element.width;
|
|
6600
|
+
result.height = element.height;
|
|
6601
|
+
return result;
|
|
6483
6602
|
}
|
|
6484
6603
|
setupDrag(dragTarget, options = { inDragMode: false }) {
|
|
6485
6604
|
const move = new MutableDisposable();
|
|
@@ -6511,12 +6630,30 @@ class Overlay extends CompositeDisposable {
|
|
|
6511
6630
|
};
|
|
6512
6631
|
}
|
|
6513
6632
|
const xOffset = Math.max(0, this.getMinimumWidth(overlayRect.width));
|
|
6514
|
-
const yOffset = Math.max(0, this.
|
|
6515
|
-
? this.getMinimumHeight(overlayRect.height)
|
|
6516
|
-
: 0);
|
|
6517
|
-
const left = clamp(x - offset.x, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6633
|
+
const yOffset = Math.max(0, this.getMinimumHeight(overlayRect.height));
|
|
6518
6634
|
const top = clamp(y - offset.y, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
6519
|
-
|
|
6635
|
+
const bottom = clamp(offset.y -
|
|
6636
|
+
y +
|
|
6637
|
+
containerRect.height -
|
|
6638
|
+
overlayRect.height, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
6639
|
+
const left = clamp(x - offset.x, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6640
|
+
const right = clamp(offset.x - x + containerRect.width - overlayRect.width, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6641
|
+
const bounds = {};
|
|
6642
|
+
// Anchor to top or to bottom depending on which one is closer
|
|
6643
|
+
if (top <= bottom) {
|
|
6644
|
+
bounds.top = top;
|
|
6645
|
+
}
|
|
6646
|
+
else {
|
|
6647
|
+
bounds.bottom = bottom;
|
|
6648
|
+
}
|
|
6649
|
+
// Anchor to left or to right depending on which one is closer
|
|
6650
|
+
if (left <= right) {
|
|
6651
|
+
bounds.left = left;
|
|
6652
|
+
}
|
|
6653
|
+
else {
|
|
6654
|
+
bounds.right = right;
|
|
6655
|
+
}
|
|
6656
|
+
this.setBounds(bounds);
|
|
6520
6657
|
}), addDisposableWindowListener(window, 'mouseup', () => {
|
|
6521
6658
|
toggleClass(this._element, 'dv-resize-container-dragging', false);
|
|
6522
6659
|
move.dispose();
|
|
@@ -6584,8 +6721,10 @@ class Overlay extends CompositeDisposable {
|
|
|
6584
6721
|
};
|
|
6585
6722
|
}
|
|
6586
6723
|
let top = undefined;
|
|
6724
|
+
let bottom = undefined;
|
|
6587
6725
|
let height = undefined;
|
|
6588
6726
|
let left = undefined;
|
|
6727
|
+
let right = undefined;
|
|
6589
6728
|
let width = undefined;
|
|
6590
6729
|
const moveTop = () => {
|
|
6591
6730
|
top = clamp(y, -Number.MAX_VALUE, startPosition.originalY +
|
|
@@ -6599,6 +6738,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6599
6738
|
startPosition.originalY +
|
|
6600
6739
|
startPosition.originalHeight -
|
|
6601
6740
|
top;
|
|
6741
|
+
bottom = containerRect.height - top - height;
|
|
6602
6742
|
};
|
|
6603
6743
|
const moveBottom = () => {
|
|
6604
6744
|
top =
|
|
@@ -6610,6 +6750,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6610
6750
|
? -top +
|
|
6611
6751
|
this.options.minimumInViewportHeight
|
|
6612
6752
|
: Overlay.MINIMUM_HEIGHT, Number.MAX_VALUE);
|
|
6753
|
+
bottom = containerRect.height - top - height;
|
|
6613
6754
|
};
|
|
6614
6755
|
const moveLeft = () => {
|
|
6615
6756
|
left = clamp(x, -Number.MAX_VALUE, startPosition.originalX +
|
|
@@ -6623,6 +6764,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6623
6764
|
startPosition.originalX +
|
|
6624
6765
|
startPosition.originalWidth -
|
|
6625
6766
|
left;
|
|
6767
|
+
right = containerRect.width - left - width;
|
|
6626
6768
|
};
|
|
6627
6769
|
const moveRight = () => {
|
|
6628
6770
|
left =
|
|
@@ -6634,6 +6776,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6634
6776
|
? -left +
|
|
6635
6777
|
this.options.minimumInViewportWidth
|
|
6636
6778
|
: Overlay.MINIMUM_WIDTH, Number.MAX_VALUE);
|
|
6779
|
+
right = containerRect.width - left - width;
|
|
6637
6780
|
};
|
|
6638
6781
|
switch (direction) {
|
|
6639
6782
|
case 'top':
|
|
@@ -6665,7 +6808,24 @@ class Overlay extends CompositeDisposable {
|
|
|
6665
6808
|
moveRight();
|
|
6666
6809
|
break;
|
|
6667
6810
|
}
|
|
6668
|
-
|
|
6811
|
+
const bounds = {};
|
|
6812
|
+
// Anchor to top or to bottom depending on which one is closer
|
|
6813
|
+
if (top <= bottom) {
|
|
6814
|
+
bounds.top = top;
|
|
6815
|
+
}
|
|
6816
|
+
else {
|
|
6817
|
+
bounds.bottom = bottom;
|
|
6818
|
+
}
|
|
6819
|
+
// Anchor to left or to right depending on which one is closer
|
|
6820
|
+
if (left <= right) {
|
|
6821
|
+
bounds.left = left;
|
|
6822
|
+
}
|
|
6823
|
+
else {
|
|
6824
|
+
bounds.right = right;
|
|
6825
|
+
}
|
|
6826
|
+
bounds.height = height;
|
|
6827
|
+
bounds.width = width;
|
|
6828
|
+
this.setBounds(bounds);
|
|
6669
6829
|
}), {
|
|
6670
6830
|
dispose: () => {
|
|
6671
6831
|
for (const iframe of iframes) {
|
|
@@ -6688,7 +6848,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6688
6848
|
if (typeof this.options.minimumInViewportHeight === 'number') {
|
|
6689
6849
|
return height - this.options.minimumInViewportHeight;
|
|
6690
6850
|
}
|
|
6691
|
-
return
|
|
6851
|
+
return 0;
|
|
6692
6852
|
}
|
|
6693
6853
|
dispose() {
|
|
6694
6854
|
this._element.remove();
|
|
@@ -6711,7 +6871,7 @@ class DockviewFloatingGroupPanel extends CompositeDisposable {
|
|
|
6711
6871
|
}
|
|
6712
6872
|
|
|
6713
6873
|
const DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE = 100;
|
|
6714
|
-
const DEFAULT_FLOATING_GROUP_POSITION = { left: 100, top: 100 };
|
|
6874
|
+
const DEFAULT_FLOATING_GROUP_POSITION = { left: 100, top: 100, width: 300, height: 300 };
|
|
6715
6875
|
|
|
6716
6876
|
function createFocusableElement() {
|
|
6717
6877
|
const element = document.createElement('div');
|
|
@@ -7054,6 +7214,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
7054
7214
|
parentElement: options.parentElement,
|
|
7055
7215
|
disableAutoResizing: options.disableAutoResizing,
|
|
7056
7216
|
locked: options.locked,
|
|
7217
|
+
margin: options.gap,
|
|
7057
7218
|
});
|
|
7058
7219
|
this.nextGroupId = sequentialNumberGenerator();
|
|
7059
7220
|
this._deserializer = new DefaultDockviewDeserialzier(this);
|
|
@@ -7079,9 +7240,9 @@ class DockviewComponent extends BaseGrid {
|
|
|
7079
7240
|
this._onDidActivePanelChange = new Emitter();
|
|
7080
7241
|
this.onDidActivePanelChange = this._onDidActivePanelChange.event;
|
|
7081
7242
|
this._onDidMovePanel = new Emitter();
|
|
7243
|
+
this.onDidMovePanel = this._onDidMovePanel.event;
|
|
7082
7244
|
this._floatingGroups = [];
|
|
7083
7245
|
this._popoutGroups = [];
|
|
7084
|
-
this._ignoreEvents = 0;
|
|
7085
7246
|
this._onDidRemoveGroup = new Emitter();
|
|
7086
7247
|
this.onDidRemoveGroup = this._onDidRemoveGroup.event;
|
|
7087
7248
|
this._onDidAddGroup = new Emitter();
|
|
@@ -7095,7 +7256,9 @@ class DockviewComponent extends BaseGrid {
|
|
|
7095
7256
|
this.overlayRenderContainer = new OverlayRenderContainer(gready);
|
|
7096
7257
|
toggleClass(this.gridview.element, 'dv-dockview', true);
|
|
7097
7258
|
toggleClass(this.element, 'dv-debug', !!options.debug);
|
|
7098
|
-
this.addDisposables(this.overlayRenderContainer, this._onWillDragPanel, this._onWillDragGroup, this._onWillShowOverlay, this._onDidActivePanelChange, this._onDidAddPanel, this._onDidRemovePanel, this._onDidLayoutFromJSON, this._onDidDrop, this._onWillDrop, this._onDidMovePanel, this._onDidAddGroup, this._onDidRemoveGroup, this._onDidActiveGroupChange, this._onUnhandledDragOverEvent, this.
|
|
7259
|
+
this.addDisposables(this.overlayRenderContainer, this._onWillDragPanel, this._onWillDragGroup, this._onWillShowOverlay, this._onDidActivePanelChange, this._onDidAddPanel, this._onDidRemovePanel, this._onDidLayoutFromJSON, this._onDidDrop, this._onWillDrop, this._onDidMovePanel, this._onDidAddGroup, this._onDidRemoveGroup, this._onDidActiveGroupChange, this._onUnhandledDragOverEvent, this.onDidViewVisibilityChangeMicroTaskQueue(() => {
|
|
7260
|
+
this.updateWatermark();
|
|
7261
|
+
}), this.onDidAdd((event) => {
|
|
7099
7262
|
if (!this._moving) {
|
|
7100
7263
|
this._onDidAddGroup.fire(event);
|
|
7101
7264
|
}
|
|
@@ -7109,7 +7272,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
7109
7272
|
}
|
|
7110
7273
|
}), exports.DockviewEvent.any(this.onDidAdd, this.onDidRemove)(() => {
|
|
7111
7274
|
this.updateWatermark();
|
|
7112
|
-
}), exports.DockviewEvent.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidActivePanelChange)(() => {
|
|
7275
|
+
}), exports.DockviewEvent.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidAddGroup, this.onDidRemove, this.onDidMovePanel, this.onDidActivePanelChange)(() => {
|
|
7113
7276
|
this._bufferOnDidLayoutChange.fire();
|
|
7114
7277
|
}), exports.DockviewDisposable.from(() => {
|
|
7115
7278
|
// iterate over a copy of the array since .dispose() mutates the original array
|
|
@@ -7360,8 +7523,8 @@ class DockviewComponent extends BaseGrid {
|
|
|
7360
7523
|
console.error('dockview: failed to create popout window', err);
|
|
7361
7524
|
});
|
|
7362
7525
|
}
|
|
7363
|
-
addFloatingGroup(item,
|
|
7364
|
-
var _a, _b, _c, _d, _e
|
|
7526
|
+
addFloatingGroup(item, options) {
|
|
7527
|
+
var _a, _b, _c, _d, _e;
|
|
7365
7528
|
let group;
|
|
7366
7529
|
if (item instanceof DockviewPanel) {
|
|
7367
7530
|
group = this.createGroup();
|
|
@@ -7406,26 +7569,62 @@ class DockviewComponent extends BaseGrid {
|
|
|
7406
7569
|
}
|
|
7407
7570
|
}
|
|
7408
7571
|
group.model.location = { type: 'floating' };
|
|
7409
|
-
|
|
7410
|
-
|
|
7411
|
-
|
|
7412
|
-
|
|
7413
|
-
|
|
7414
|
-
|
|
7415
|
-
|
|
7416
|
-
|
|
7417
|
-
|
|
7418
|
-
|
|
7419
|
-
|
|
7420
|
-
|
|
7421
|
-
|
|
7422
|
-
|
|
7572
|
+
function getAnchoredBox() {
|
|
7573
|
+
if (options === null || options === void 0 ? void 0 : options.position) {
|
|
7574
|
+
const result = {};
|
|
7575
|
+
if ('left' in options.position) {
|
|
7576
|
+
result.left = Math.max(options.position.left, 0);
|
|
7577
|
+
}
|
|
7578
|
+
else if ('right' in options.position) {
|
|
7579
|
+
result.right = Math.max(options.position.right, 0);
|
|
7580
|
+
}
|
|
7581
|
+
else {
|
|
7582
|
+
result.left = DEFAULT_FLOATING_GROUP_POSITION.left;
|
|
7583
|
+
}
|
|
7584
|
+
if ('top' in options.position) {
|
|
7585
|
+
result.top = Math.max(options.position.top, 0);
|
|
7586
|
+
}
|
|
7587
|
+
else if ('bottom' in options.position) {
|
|
7588
|
+
result.bottom = Math.max(options.position.bottom, 0);
|
|
7589
|
+
}
|
|
7590
|
+
else {
|
|
7591
|
+
result.top = DEFAULT_FLOATING_GROUP_POSITION.top;
|
|
7592
|
+
}
|
|
7593
|
+
if ('width' in options.position) {
|
|
7594
|
+
result.width = Math.max(options.position.width, 0);
|
|
7595
|
+
}
|
|
7596
|
+
else {
|
|
7597
|
+
result.width = DEFAULT_FLOATING_GROUP_POSITION.width;
|
|
7598
|
+
}
|
|
7599
|
+
if ('height' in options.position) {
|
|
7600
|
+
result.height = Math.max(options.position.height, 0);
|
|
7601
|
+
}
|
|
7602
|
+
else {
|
|
7603
|
+
result.height = DEFAULT_FLOATING_GROUP_POSITION.height;
|
|
7604
|
+
}
|
|
7605
|
+
return result;
|
|
7606
|
+
}
|
|
7607
|
+
return {
|
|
7608
|
+
left: typeof (options === null || options === void 0 ? void 0 : options.x) === 'number'
|
|
7609
|
+
? Math.max(options.x, 0)
|
|
7610
|
+
: DEFAULT_FLOATING_GROUP_POSITION.left,
|
|
7611
|
+
top: typeof (options === null || options === void 0 ? void 0 : options.y) === 'number'
|
|
7612
|
+
? Math.max(options.y, 0)
|
|
7613
|
+
: DEFAULT_FLOATING_GROUP_POSITION.top,
|
|
7614
|
+
width: typeof (options === null || options === void 0 ? void 0 : options.width) === 'number'
|
|
7615
|
+
? Math.max(options.width, 0)
|
|
7616
|
+
: DEFAULT_FLOATING_GROUP_POSITION.width,
|
|
7617
|
+
height: typeof (options === null || options === void 0 ? void 0 : options.height) === 'number'
|
|
7618
|
+
? Math.max(options.height, 0)
|
|
7619
|
+
: DEFAULT_FLOATING_GROUP_POSITION.height,
|
|
7620
|
+
};
|
|
7621
|
+
}
|
|
7622
|
+
const anchoredBox = getAnchoredBox();
|
|
7623
|
+
const overlay = new Overlay(Object.assign(Object.assign({ container: this.gridview.element, content: group.element }, anchoredBox), { minimumInViewportWidth: this.options.floatingGroupBounds === 'boundedWithinViewport'
|
|
7423
7624
|
? undefined
|
|
7424
|
-
: (
|
|
7425
|
-
minimumInViewportHeight: this.options.floatingGroupBounds === 'boundedWithinViewport'
|
|
7625
|
+
: (_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'
|
|
7426
7626
|
? undefined
|
|
7427
|
-
: (
|
|
7428
|
-
});
|
|
7627
|
+
: (_e = (_d = this.options.floatingGroupBounds) === null || _d === void 0 ? void 0 : _d.minimumHeightWithinViewport) !== null && _e !== void 0 ? _e : DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE }));
|
|
7429
7628
|
const el = group.element.querySelector('.void-container');
|
|
7430
7629
|
if (!el) {
|
|
7431
7630
|
throw new Error('failed to find drag handle');
|
|
@@ -7523,12 +7722,18 @@ class DockviewComponent extends BaseGrid {
|
|
|
7523
7722
|
group.overlay.minimumInViewportWidth =
|
|
7524
7723
|
(_b = this.options.floatingGroupBounds) === null || _b === void 0 ? void 0 : _b.minimumWidthWithinViewport;
|
|
7525
7724
|
}
|
|
7526
|
-
group.overlay.setBounds(
|
|
7725
|
+
group.overlay.setBounds();
|
|
7527
7726
|
}
|
|
7528
7727
|
}
|
|
7529
7728
|
if (changed_rootOverlayOptions) {
|
|
7530
7729
|
this._rootDropTarget.setOverlayModel(options.rootOverlayModel);
|
|
7531
7730
|
}
|
|
7731
|
+
if (this.gridview.margin !== 0 && options.gap === undefined) {
|
|
7732
|
+
this.gridview.margin = 0;
|
|
7733
|
+
}
|
|
7734
|
+
if (typeof options.gap === 'number') {
|
|
7735
|
+
this.gridview.margin = options.gap;
|
|
7736
|
+
}
|
|
7532
7737
|
this.layout(this.gridview.width, this.gridview.height, true);
|
|
7533
7738
|
}
|
|
7534
7739
|
layout(width, height, forceResize) {
|
|
@@ -7690,11 +7895,10 @@ class DockviewComponent extends BaseGrid {
|
|
|
7690
7895
|
const { data, position } = serializedFloatingGroup;
|
|
7691
7896
|
const group = createGroupFromSerializedState(data);
|
|
7692
7897
|
this.addFloatingGroup(group, {
|
|
7693
|
-
|
|
7694
|
-
|
|
7695
|
-
|
|
7696
|
-
|
|
7697
|
-
}, { skipRemoveGroup: true, inDragMode: false });
|
|
7898
|
+
position: position,
|
|
7899
|
+
skipRemoveGroup: true,
|
|
7900
|
+
inDragMode: false,
|
|
7901
|
+
});
|
|
7698
7902
|
}
|
|
7699
7903
|
const serializedPopoutGroups = (_b = data.popoutGroups) !== null && _b !== void 0 ? _b : [];
|
|
7700
7904
|
for (const serializedPopoutGroup of serializedPopoutGroups) {
|
|
@@ -7829,11 +8033,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
7829
8033
|
options.floating !== null
|
|
7830
8034
|
? options.floating
|
|
7831
8035
|
: {};
|
|
7832
|
-
this.addFloatingGroup(group, o, {
|
|
7833
|
-
inDragMode: false,
|
|
7834
|
-
skipRemoveGroup: true,
|
|
7835
|
-
skipActiveGroup: true,
|
|
7836
|
-
});
|
|
8036
|
+
this.addFloatingGroup(group, Object.assign(Object.assign({}, o), { inDragMode: false, skipRemoveGroup: true, skipActiveGroup: true }));
|
|
7837
8037
|
panel = this.createPanel(options, group);
|
|
7838
8038
|
group.model.openPanel(panel, {
|
|
7839
8039
|
skipSetActive: options.inactive,
|
|
@@ -7872,11 +8072,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
7872
8072
|
options.floating !== null
|
|
7873
8073
|
? options.floating
|
|
7874
8074
|
: {};
|
|
7875
|
-
this.addFloatingGroup(group, coordinates, {
|
|
7876
|
-
inDragMode: false,
|
|
7877
|
-
skipRemoveGroup: true,
|
|
7878
|
-
skipActiveGroup: true,
|
|
7879
|
-
});
|
|
8075
|
+
this.addFloatingGroup(group, Object.assign(Object.assign({}, coordinates), { inDragMode: false, skipRemoveGroup: true, skipActiveGroup: true }));
|
|
7880
8076
|
panel = this.createPanel(options, group);
|
|
7881
8077
|
group.model.openPanel(panel, {
|
|
7882
8078
|
skipSetActive: options.inactive,
|
|
@@ -7931,6 +8127,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
7931
8127
|
});
|
|
7932
8128
|
const watermarkContainer = document.createElement('div');
|
|
7933
8129
|
watermarkContainer.className = 'dv-watermark-container';
|
|
8130
|
+
addTestId(watermarkContainer, 'watermark-component');
|
|
7934
8131
|
watermarkContainer.appendChild(this.watermark.element);
|
|
7935
8132
|
this.gridview.element.appendChild(watermarkContainer);
|
|
7936
8133
|
}
|
|
@@ -8119,6 +8316,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
8119
8316
|
this.doSetGroupAndPanelActive(destinationGroup);
|
|
8120
8317
|
this._onDidMovePanel.fire({
|
|
8121
8318
|
panel: removedPanel,
|
|
8319
|
+
from: sourceGroup,
|
|
8122
8320
|
});
|
|
8123
8321
|
}
|
|
8124
8322
|
else {
|
|
@@ -8142,6 +8340,10 @@ class DockviewComponent extends BaseGrid {
|
|
|
8142
8340
|
// if a group has one tab - we are essentially moving the 'group'
|
|
8143
8341
|
// which is equivalent to swapping two views in this case
|
|
8144
8342
|
this.gridview.moveView(sourceParentLocation, from, to);
|
|
8343
|
+
this._onDidMovePanel.fire({
|
|
8344
|
+
panel: this.getGroupPanel(sourceItemId),
|
|
8345
|
+
from: sourceGroup,
|
|
8346
|
+
});
|
|
8145
8347
|
return;
|
|
8146
8348
|
}
|
|
8147
8349
|
}
|
|
@@ -8155,6 +8357,10 @@ class DockviewComponent extends BaseGrid {
|
|
|
8155
8357
|
const location = getRelativeLocation(this.gridview.orientation, updatedReferenceLocation, destinationTarget);
|
|
8156
8358
|
this.movingLock(() => this.doAddGroup(targetGroup, location));
|
|
8157
8359
|
this.doSetGroupAndPanelActive(targetGroup);
|
|
8360
|
+
this._onDidMovePanel.fire({
|
|
8361
|
+
panel: this.getGroupPanel(sourceItemId),
|
|
8362
|
+
from: sourceGroup,
|
|
8363
|
+
});
|
|
8158
8364
|
}
|
|
8159
8365
|
else {
|
|
8160
8366
|
/**
|
|
@@ -8174,6 +8380,10 @@ class DockviewComponent extends BaseGrid {
|
|
|
8174
8380
|
skipSetGroupActive: true,
|
|
8175
8381
|
}));
|
|
8176
8382
|
this.doSetGroupAndPanelActive(group);
|
|
8383
|
+
this._onDidMovePanel.fire({
|
|
8384
|
+
panel: removedPanel,
|
|
8385
|
+
from: sourceGroup,
|
|
8386
|
+
});
|
|
8177
8387
|
}
|
|
8178
8388
|
}
|
|
8179
8389
|
}
|
|
@@ -8198,9 +8408,6 @@ class DockviewComponent extends BaseGrid {
|
|
|
8198
8408
|
}
|
|
8199
8409
|
});
|
|
8200
8410
|
this.doSetGroupAndPanelActive(to);
|
|
8201
|
-
panels.forEach((panel) => {
|
|
8202
|
-
this._onDidMovePanel.fire({ panel });
|
|
8203
|
-
});
|
|
8204
8411
|
}
|
|
8205
8412
|
else {
|
|
8206
8413
|
switch (from.api.location.type) {
|
|
@@ -8226,10 +8433,10 @@ class DockviewComponent extends BaseGrid {
|
|
|
8226
8433
|
const referenceLocation = getGridLocation(to.element);
|
|
8227
8434
|
const dropLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, target);
|
|
8228
8435
|
this.gridview.addView(from, exports.Sizing.Distribute, dropLocation);
|
|
8229
|
-
from.panels.forEach((panel) => {
|
|
8230
|
-
this._onDidMovePanel.fire({ panel });
|
|
8231
|
-
});
|
|
8232
8436
|
}
|
|
8437
|
+
from.panels.forEach((panel) => {
|
|
8438
|
+
this._onDidMovePanel.fire({ panel, from });
|
|
8439
|
+
});
|
|
8233
8440
|
}
|
|
8234
8441
|
doSetGroupActive(group) {
|
|
8235
8442
|
super.doSetGroupActive(group);
|