dockview-react 1.15.3 → 1.16.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 +280 -125
- 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 +279 -124
- package/dist/dockview-react.amd.noStyle.js.map +1 -1
- package/dist/dockview-react.cjs.js +280 -125
- package/dist/dockview-react.cjs.js.map +1 -1
- package/dist/dockview-react.esm.js +277 -126
- 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 +280 -125
- 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 +279 -124
- package/dist/dockview-react.noStyle.js.map +1 -1
- package/dist/styles/dockview.css +78 -82
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dockview-react
|
|
3
|
-
* @version 1.
|
|
3
|
+
* @version 1.16.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-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: ellipsis;\n}\n.tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dv-default-tab .dv-default-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
|
|
39
|
+
var css_248z = ".dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: ##fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-background-color: #ebeced;\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab .dockview-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .groupview .content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .groupview.active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview.inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:not(.disabled)::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:not(.disabled)::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.drop-target {\n position: relative;\n}\n.drop-target > .drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 1000;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition: top 70ms ease-out, left 70ms ease-out, width 70ms ease-out, height 70ms ease-out, opacity 0.15s ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\n}\n\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.groupview:focus {\n outline: none;\n}\n.groupview.empty > .tabs-and-actions-container {\n display: none;\n}\n.groupview > .content-container {\n flex-grow: 1;\n min-height: 0;\n outline: none;\n}\n.dv-root-wrapper {\n height: 100%;\n width: 100%;\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n position: absolute;\n z-index: 997;\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: 999;\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: se-resize;\n}\n.dv-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 998;\n}\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: var(--dv-background-color);\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.tab.inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dv-default-tab .dv-default-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
|
|
40
40
|
styleInject(css_248z);
|
|
41
41
|
|
|
42
42
|
class TransferObject {
|
|
@@ -564,6 +564,26 @@ function isInDocument(element) {
|
|
|
564
564
|
function addTestId(element, id) {
|
|
565
565
|
element.setAttribute('data-testid', id);
|
|
566
566
|
}
|
|
567
|
+
function disableIframePointEvents() {
|
|
568
|
+
const iframes = [
|
|
569
|
+
...getElementsByTagName('iframe'),
|
|
570
|
+
...getElementsByTagName('webview'),
|
|
571
|
+
];
|
|
572
|
+
const original = new WeakMap(); // don't hold onto HTMLElement references longer than required
|
|
573
|
+
for (const iframe of iframes) {
|
|
574
|
+
original.set(iframe, iframe.style.pointerEvents);
|
|
575
|
+
iframe.style.pointerEvents = 'none';
|
|
576
|
+
}
|
|
577
|
+
return {
|
|
578
|
+
release: () => {
|
|
579
|
+
var _a;
|
|
580
|
+
for (const iframe of iframes) {
|
|
581
|
+
iframe.style.pointerEvents = (_a = original.get(iframe)) !== null && _a !== void 0 ? _a : 'auto';
|
|
582
|
+
}
|
|
583
|
+
iframes.splice(0, iframes.length); // don't hold onto HTMLElement references longer than required
|
|
584
|
+
},
|
|
585
|
+
};
|
|
586
|
+
}
|
|
567
587
|
|
|
568
588
|
function tail(arr) {
|
|
569
589
|
if (arr.length === 0) {
|
|
@@ -1086,13 +1106,7 @@ class Splitview {
|
|
|
1086
1106
|
for (const item of this.viewItems) {
|
|
1087
1107
|
item.enabled = false;
|
|
1088
1108
|
}
|
|
1089
|
-
const iframes =
|
|
1090
|
-
...getElementsByTagName('iframe'),
|
|
1091
|
-
...getElementsByTagName('webview'),
|
|
1092
|
-
];
|
|
1093
|
-
for (const iframe of iframes) {
|
|
1094
|
-
iframe.style.pointerEvents = 'none';
|
|
1095
|
-
}
|
|
1109
|
+
const iframes = disableIframePointEvents();
|
|
1096
1110
|
const start = this._orientation === exports.Orientation.HORIZONTAL
|
|
1097
1111
|
? event.clientX
|
|
1098
1112
|
: event.clientY;
|
|
@@ -1154,9 +1168,7 @@ class Splitview {
|
|
|
1154
1168
|
for (const item of this.viewItems) {
|
|
1155
1169
|
item.enabled = true;
|
|
1156
1170
|
}
|
|
1157
|
-
|
|
1158
|
-
iframe.style.pointerEvents = 'auto';
|
|
1159
|
-
}
|
|
1171
|
+
iframes.release();
|
|
1160
1172
|
this.saveProportions();
|
|
1161
1173
|
document.removeEventListener('pointermove', onPointerMove);
|
|
1162
1174
|
document.removeEventListener('pointerup', end);
|
|
@@ -1323,29 +1335,47 @@ class Splitview {
|
|
|
1323
1335
|
if (this.viewItems.length === 0) {
|
|
1324
1336
|
return;
|
|
1325
1337
|
}
|
|
1326
|
-
const
|
|
1327
|
-
const
|
|
1338
|
+
const visibleViewItems = this.viewItems.filter((i) => i.visible);
|
|
1339
|
+
const sashCount = Math.max(0, visibleViewItems.length - 1);
|
|
1340
|
+
const marginReducedSize = (this.margin * sashCount) / Math.max(1, visibleViewItems.length);
|
|
1328
1341
|
let totalLeftOffset = 0;
|
|
1329
1342
|
const viewLeftOffsets = [];
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
this.sashes[i].container.style.left = `${offset}px`;
|
|
1336
|
-
this.sashes[i].container.style.top = `0px`;
|
|
1343
|
+
const sashWidth = 4; // hardcoded in css
|
|
1344
|
+
const runningVisiblePanelCount = this.viewItems.reduce((arr, viewItem, i) => {
|
|
1345
|
+
const flag = viewItem.visible ? 1 : 0;
|
|
1346
|
+
if (i === 0) {
|
|
1347
|
+
arr.push(flag);
|
|
1337
1348
|
}
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
this.sashes[i].container.style.top = `${offset}px`;
|
|
1349
|
+
else {
|
|
1350
|
+
arr.push(arr[i - 1] + flag);
|
|
1341
1351
|
}
|
|
1342
|
-
|
|
1352
|
+
return arr;
|
|
1353
|
+
}, []);
|
|
1354
|
+
// calculate both view and cash positions
|
|
1343
1355
|
this.viewItems.forEach((view, i) => {
|
|
1344
|
-
|
|
1345
|
-
|
|
1356
|
+
totalLeftOffset += this.viewItems[i].size;
|
|
1357
|
+
viewLeftOffsets.push(totalLeftOffset);
|
|
1358
|
+
const size = view.visible ? view.size - marginReducedSize : 0;
|
|
1359
|
+
const visiblePanelsBeforeThisView = Math.max(0, runningVisiblePanelCount[i] - 1);
|
|
1360
|
+
const offset = i === 0 || visiblePanelsBeforeThisView === 0
|
|
1346
1361
|
? 0
|
|
1347
1362
|
: viewLeftOffsets[i - 1] +
|
|
1348
|
-
(
|
|
1363
|
+
(visiblePanelsBeforeThisView / sashCount) * marginReducedSize;
|
|
1364
|
+
if (i < this.viewItems.length - 1) {
|
|
1365
|
+
// calculate sash position
|
|
1366
|
+
const newSize = view.visible
|
|
1367
|
+
? offset + size - sashWidth / 2 + this.margin / 2
|
|
1368
|
+
: offset;
|
|
1369
|
+
if (this._orientation === exports.Orientation.HORIZONTAL) {
|
|
1370
|
+
this.sashes[i].container.style.left = `${newSize}px`;
|
|
1371
|
+
this.sashes[i].container.style.top = `0px`;
|
|
1372
|
+
}
|
|
1373
|
+
if (this._orientation === exports.Orientation.VERTICAL) {
|
|
1374
|
+
this.sashes[i].container.style.left = `0px`;
|
|
1375
|
+
this.sashes[i].container.style.top = `${newSize}px`;
|
|
1376
|
+
}
|
|
1377
|
+
}
|
|
1378
|
+
// calculate view position
|
|
1349
1379
|
if (this._orientation === exports.Orientation.HORIZONTAL) {
|
|
1350
1380
|
view.container.style.width = `${size}px`;
|
|
1351
1381
|
view.container.style.left = `${offset}px`;
|
|
@@ -2689,6 +2719,9 @@ class BaseGrid extends Resizable {
|
|
|
2689
2719
|
this.onDidViewVisibilityChangeMicroTaskQueue = this._onDidViewVisibilityChangeMicroTaskQueue.onEvent;
|
|
2690
2720
|
this.element.style.height = '100%';
|
|
2691
2721
|
this.element.style.width = '100%';
|
|
2722
|
+
if (typeof options.className === 'string') {
|
|
2723
|
+
this.element.classList.add(options.className);
|
|
2724
|
+
}
|
|
2692
2725
|
options.parentElement.appendChild(this.element);
|
|
2693
2726
|
this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation, options.locked, options.margin);
|
|
2694
2727
|
this.gridview.locked = !!options.locked;
|
|
@@ -2892,12 +2925,6 @@ class SplitviewApi {
|
|
|
2892
2925
|
constructor(component) {
|
|
2893
2926
|
this.component = component;
|
|
2894
2927
|
}
|
|
2895
|
-
/**
|
|
2896
|
-
* Update configuratable options.
|
|
2897
|
-
*/
|
|
2898
|
-
updateOptions(options) {
|
|
2899
|
-
this.component.updateOptions(options);
|
|
2900
|
-
}
|
|
2901
2928
|
/**
|
|
2902
2929
|
* Removes an existing panel and optionally provide a `Sizing` method
|
|
2903
2930
|
* for the subsequent resize.
|
|
@@ -2951,6 +2978,18 @@ class SplitviewApi {
|
|
|
2951
2978
|
clear() {
|
|
2952
2979
|
this.component.clear();
|
|
2953
2980
|
}
|
|
2981
|
+
/**
|
|
2982
|
+
* Update configuratable options.
|
|
2983
|
+
*/
|
|
2984
|
+
updateOptions(options) {
|
|
2985
|
+
this.component.updateOptions(options);
|
|
2986
|
+
}
|
|
2987
|
+
/**
|
|
2988
|
+
* Release resources and teardown component. Do not call when using framework versions of dockview.
|
|
2989
|
+
*/
|
|
2990
|
+
dispose() {
|
|
2991
|
+
this.component.dispose();
|
|
2992
|
+
}
|
|
2954
2993
|
}
|
|
2955
2994
|
class PaneviewApi {
|
|
2956
2995
|
/**
|
|
@@ -3078,6 +3117,18 @@ class PaneviewApi {
|
|
|
3078
3117
|
clear() {
|
|
3079
3118
|
this.component.clear();
|
|
3080
3119
|
}
|
|
3120
|
+
/**
|
|
3121
|
+
* Update configuratable options.
|
|
3122
|
+
*/
|
|
3123
|
+
updateOptions(options) {
|
|
3124
|
+
this.component.updateOptions(options);
|
|
3125
|
+
}
|
|
3126
|
+
/**
|
|
3127
|
+
* Release resources and teardown component. Do not call when using framework versions of dockview.
|
|
3128
|
+
*/
|
|
3129
|
+
dispose() {
|
|
3130
|
+
this.component.dispose();
|
|
3131
|
+
}
|
|
3081
3132
|
}
|
|
3082
3133
|
class GridviewApi {
|
|
3083
3134
|
/**
|
|
@@ -3218,6 +3269,15 @@ class GridviewApi {
|
|
|
3218
3269
|
clear() {
|
|
3219
3270
|
this.component.clear();
|
|
3220
3271
|
}
|
|
3272
|
+
updateOptions(options) {
|
|
3273
|
+
this.component.updateOptions(options);
|
|
3274
|
+
}
|
|
3275
|
+
/**
|
|
3276
|
+
* Release resources and teardown component. Do not call when using framework versions of dockview.
|
|
3277
|
+
*/
|
|
3278
|
+
dispose() {
|
|
3279
|
+
this.component.dispose();
|
|
3280
|
+
}
|
|
3221
3281
|
}
|
|
3222
3282
|
class DockviewApi {
|
|
3223
3283
|
/**
|
|
@@ -3510,6 +3570,15 @@ class DockviewApi {
|
|
|
3510
3570
|
setGap(gap) {
|
|
3511
3571
|
this.component.updateOptions({ gap });
|
|
3512
3572
|
}
|
|
3573
|
+
updateOptions(options) {
|
|
3574
|
+
this.component.updateOptions(options);
|
|
3575
|
+
}
|
|
3576
|
+
/**
|
|
3577
|
+
* Release resources and teardown component. Do not call when using framework versions of dockview.
|
|
3578
|
+
*/
|
|
3579
|
+
dispose() {
|
|
3580
|
+
this.component.dispose();
|
|
3581
|
+
}
|
|
3513
3582
|
}
|
|
3514
3583
|
|
|
3515
3584
|
class DragHandler extends CompositeDisposable {
|
|
@@ -3532,20 +3601,12 @@ class DragHandler extends CompositeDisposable {
|
|
|
3532
3601
|
event.preventDefault();
|
|
3533
3602
|
return;
|
|
3534
3603
|
}
|
|
3535
|
-
const iframes =
|
|
3536
|
-
...getElementsByTagName('iframe'),
|
|
3537
|
-
...getElementsByTagName('webview'),
|
|
3538
|
-
];
|
|
3604
|
+
const iframes = disableIframePointEvents();
|
|
3539
3605
|
this.pointerEventsDisposable.value = {
|
|
3540
3606
|
dispose: () => {
|
|
3541
|
-
|
|
3542
|
-
iframe.style.pointerEvents = 'auto';
|
|
3543
|
-
}
|
|
3607
|
+
iframes.release();
|
|
3544
3608
|
},
|
|
3545
3609
|
};
|
|
3546
|
-
for (const iframe of iframes) {
|
|
3547
|
-
iframe.style.pointerEvents = 'none';
|
|
3548
|
-
}
|
|
3549
3610
|
this.el.classList.add('dv-dragged');
|
|
3550
3611
|
setTimeout(() => this.el.classList.remove('dv-dragged'), 0);
|
|
3551
3612
|
this.dataDisposable.value = this.getData(event);
|
|
@@ -4709,7 +4770,7 @@ class VoidContainer extends CompositeDisposable {
|
|
|
4709
4770
|
this._element.className = 'void-container';
|
|
4710
4771
|
this._element.tabIndex = 0;
|
|
4711
4772
|
this._element.draggable = true;
|
|
4712
|
-
this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, '
|
|
4773
|
+
this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, 'pointerdown', () => {
|
|
4713
4774
|
this.accessor.doSetGroupActive(this.group);
|
|
4714
4775
|
}));
|
|
4715
4776
|
const handler = new GroupDragHandler(this._element, accessor, group);
|
|
@@ -5024,6 +5085,7 @@ const PROPERTY_KEYS = (() => {
|
|
|
5024
5085
|
locked: undefined,
|
|
5025
5086
|
disableDnd: undefined,
|
|
5026
5087
|
gap: undefined,
|
|
5088
|
+
className: undefined,
|
|
5027
5089
|
};
|
|
5028
5090
|
return Object.keys(properties);
|
|
5029
5091
|
})();
|
|
@@ -5579,7 +5641,7 @@ class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
5579
5641
|
group: this.groupPanel,
|
|
5580
5642
|
});
|
|
5581
5643
|
this.watermark = watermark;
|
|
5582
|
-
addDisposableListener(this.watermark.element, '
|
|
5644
|
+
addDisposableListener(this.watermark.element, 'pointerdown', () => {
|
|
5583
5645
|
if (!this.isActive) {
|
|
5584
5646
|
this.accessor.doSetGroupActive(this.groupPanel);
|
|
5585
5647
|
}
|
|
@@ -6144,7 +6206,7 @@ class DockviewPanel extends CompositeDisposable {
|
|
|
6144
6206
|
// forward the resize event to the group since if you want to resize a panel
|
|
6145
6207
|
// you are actually just resizing the panels parent which is the group
|
|
6146
6208
|
this.group.api.setSize(event);
|
|
6147
|
-
}), this.api.onDidRendererChange((
|
|
6209
|
+
}), this.api.onDidRendererChange(() => {
|
|
6148
6210
|
this.group.model.rerender(this);
|
|
6149
6211
|
}));
|
|
6150
6212
|
}
|
|
@@ -6480,17 +6542,30 @@ class Watermark extends CompositeDisposable {
|
|
|
6480
6542
|
}
|
|
6481
6543
|
}
|
|
6482
6544
|
|
|
6483
|
-
const
|
|
6484
|
-
|
|
6485
|
-
|
|
6486
|
-
|
|
6487
|
-
|
|
6545
|
+
const DEFAULT_OVERLAY_Z_INDEX = 999;
|
|
6546
|
+
class AriaLevelTracker {
|
|
6547
|
+
constructor() {
|
|
6548
|
+
this._orderedList = [];
|
|
6549
|
+
}
|
|
6550
|
+
push(element) {
|
|
6551
|
+
this._orderedList = [
|
|
6552
|
+
...this._orderedList.filter((item) => item !== element),
|
|
6553
|
+
element,
|
|
6554
|
+
];
|
|
6555
|
+
this.update();
|
|
6556
|
+
}
|
|
6557
|
+
destroy(element) {
|
|
6558
|
+
this._orderedList = this._orderedList.filter((item) => item !== element);
|
|
6559
|
+
this.update();
|
|
6560
|
+
}
|
|
6561
|
+
update() {
|
|
6562
|
+
for (let i = 0; i < this._orderedList.length; i++) {
|
|
6563
|
+
this._orderedList[i].setAttribute('aria-level', `${i}`);
|
|
6564
|
+
this._orderedList[i].style.zIndex = `${DEFAULT_OVERLAY_Z_INDEX + i * 2}`;
|
|
6488
6565
|
}
|
|
6489
|
-
toggleClass(element, 'dv-bring-to-front', true);
|
|
6490
|
-
previous = element;
|
|
6491
6566
|
}
|
|
6492
|
-
|
|
6493
|
-
|
|
6567
|
+
}
|
|
6568
|
+
const arialLevelTracker = new AriaLevelTracker();
|
|
6494
6569
|
class Overlay extends CompositeDisposable {
|
|
6495
6570
|
set minimumInViewportWidth(value) {
|
|
6496
6571
|
this.options.minimumInViewportWidth = value;
|
|
@@ -6498,6 +6573,9 @@ class Overlay extends CompositeDisposable {
|
|
|
6498
6573
|
set minimumInViewportHeight(value) {
|
|
6499
6574
|
this.options.minimumInViewportHeight = value;
|
|
6500
6575
|
}
|
|
6576
|
+
get element() {
|
|
6577
|
+
return this._element;
|
|
6578
|
+
}
|
|
6501
6579
|
constructor(options) {
|
|
6502
6580
|
super();
|
|
6503
6581
|
this.options = options;
|
|
@@ -6520,6 +6598,10 @@ class Overlay extends CompositeDisposable {
|
|
|
6520
6598
|
this.options.container.appendChild(this._element);
|
|
6521
6599
|
// if input bad resize within acceptable boundaries
|
|
6522
6600
|
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 })));
|
|
6601
|
+
arialLevelTracker.push(this._element);
|
|
6602
|
+
}
|
|
6603
|
+
bringToFront() {
|
|
6604
|
+
arialLevelTracker.push(this._element);
|
|
6523
6605
|
}
|
|
6524
6606
|
setBounds(bounds = {}) {
|
|
6525
6607
|
if (typeof bounds.height === 'number') {
|
|
@@ -6607,18 +6689,10 @@ class Overlay extends CompositeDisposable {
|
|
|
6607
6689
|
const move = new MutableDisposable();
|
|
6608
6690
|
const track = () => {
|
|
6609
6691
|
let offset = null;
|
|
6610
|
-
const iframes =
|
|
6611
|
-
...getElementsByTagName('iframe'),
|
|
6612
|
-
...getElementsByTagName('webview'),
|
|
6613
|
-
];
|
|
6614
|
-
for (const iframe of iframes) {
|
|
6615
|
-
iframe.style.pointerEvents = 'none';
|
|
6616
|
-
}
|
|
6692
|
+
const iframes = disableIframePointEvents();
|
|
6617
6693
|
move.value = new CompositeDisposable({
|
|
6618
6694
|
dispose: () => {
|
|
6619
|
-
|
|
6620
|
-
iframe.style.pointerEvents = 'auto';
|
|
6621
|
-
}
|
|
6695
|
+
iframes.release();
|
|
6622
6696
|
},
|
|
6623
6697
|
}, addDisposableWindowListener(window, 'mousemove', (e) => {
|
|
6624
6698
|
const containerRect = this.options.container.getBoundingClientRect();
|
|
@@ -6687,9 +6761,8 @@ class Overlay extends CompositeDisposable {
|
|
|
6687
6761
|
track();
|
|
6688
6762
|
}
|
|
6689
6763
|
}), addDisposableListener(this.options.content, 'mousedown', () => {
|
|
6690
|
-
|
|
6764
|
+
arialLevelTracker.push(this._element);
|
|
6691
6765
|
}, true));
|
|
6692
|
-
bringElementToFront(this._element);
|
|
6693
6766
|
if (options.inDragMode) {
|
|
6694
6767
|
track();
|
|
6695
6768
|
}
|
|
@@ -6702,13 +6775,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6702
6775
|
this.addDisposables(move, addDisposableListener(resizeHandleElement, 'mousedown', (e) => {
|
|
6703
6776
|
e.preventDefault();
|
|
6704
6777
|
let startPosition = null;
|
|
6705
|
-
const iframes =
|
|
6706
|
-
...getElementsByTagName('iframe'),
|
|
6707
|
-
...getElementsByTagName('webview'),
|
|
6708
|
-
];
|
|
6709
|
-
for (const iframe of iframes) {
|
|
6710
|
-
iframe.style.pointerEvents = 'none';
|
|
6711
|
-
}
|
|
6778
|
+
const iframes = disableIframePointEvents();
|
|
6712
6779
|
move.value = new CompositeDisposable(addDisposableWindowListener(window, 'mousemove', (e) => {
|
|
6713
6780
|
const containerRect = this.options.container.getBoundingClientRect();
|
|
6714
6781
|
const overlayRect = this._element.getBoundingClientRect();
|
|
@@ -6831,9 +6898,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6831
6898
|
this.setBounds(bounds);
|
|
6832
6899
|
}), {
|
|
6833
6900
|
dispose: () => {
|
|
6834
|
-
|
|
6835
|
-
iframe.style.pointerEvents = 'auto';
|
|
6836
|
-
}
|
|
6901
|
+
iframes.release();
|
|
6837
6902
|
},
|
|
6838
6903
|
}, addDisposableWindowListener(window, 'mouseup', () => {
|
|
6839
6904
|
move.dispose();
|
|
@@ -6854,6 +6919,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6854
6919
|
return 0;
|
|
6855
6920
|
}
|
|
6856
6921
|
dispose() {
|
|
6922
|
+
arialLevelTracker.destroy(this._element);
|
|
6857
6923
|
this._element.remove();
|
|
6858
6924
|
super.dispose();
|
|
6859
6925
|
}
|
|
@@ -6882,9 +6948,10 @@ function createFocusableElement() {
|
|
|
6882
6948
|
return element;
|
|
6883
6949
|
}
|
|
6884
6950
|
class OverlayRenderContainer extends CompositeDisposable {
|
|
6885
|
-
constructor(element) {
|
|
6951
|
+
constructor(element, accessor) {
|
|
6886
6952
|
super();
|
|
6887
6953
|
this.element = element;
|
|
6954
|
+
this.accessor = accessor;
|
|
6888
6955
|
this.map = {};
|
|
6889
6956
|
this._disposed = false;
|
|
6890
6957
|
this.addDisposables(exports.DockviewDisposable.from(() => {
|
|
@@ -6940,7 +7007,35 @@ class OverlayRenderContainer extends CompositeDisposable {
|
|
|
6940
7007
|
}
|
|
6941
7008
|
focusContainer.style.display = panel.api.isVisible ? '' : 'none';
|
|
6942
7009
|
};
|
|
6943
|
-
const
|
|
7010
|
+
const observerDisposable = new MutableDisposable();
|
|
7011
|
+
const correctLayerPosition = () => {
|
|
7012
|
+
if (panel.api.location.type === 'floating') {
|
|
7013
|
+
queueMicrotask(() => {
|
|
7014
|
+
const floatingGroup = this.accessor.floatingGroups.find((group) => group.group === panel.api.group);
|
|
7015
|
+
if (!floatingGroup) {
|
|
7016
|
+
return;
|
|
7017
|
+
}
|
|
7018
|
+
const element = floatingGroup.overlay.element;
|
|
7019
|
+
const update = () => {
|
|
7020
|
+
const level = Number(element.getAttribute('aria-level'));
|
|
7021
|
+
focusContainer.style.zIndex = `${DEFAULT_OVERLAY_Z_INDEX + level * 2 + 1}`;
|
|
7022
|
+
};
|
|
7023
|
+
const observer = new MutationObserver(() => {
|
|
7024
|
+
update();
|
|
7025
|
+
});
|
|
7026
|
+
observerDisposable.value = exports.DockviewDisposable.from(() => observer.disconnect());
|
|
7027
|
+
observer.observe(element, {
|
|
7028
|
+
attributeFilter: ['aria-level'],
|
|
7029
|
+
attributes: true,
|
|
7030
|
+
});
|
|
7031
|
+
update();
|
|
7032
|
+
});
|
|
7033
|
+
}
|
|
7034
|
+
else {
|
|
7035
|
+
focusContainer.style.zIndex = ''; // reset the z-index, perhaps CSS will take over here
|
|
7036
|
+
}
|
|
7037
|
+
};
|
|
7038
|
+
const disposable = new CompositeDisposable(observerDisposable,
|
|
6944
7039
|
/**
|
|
6945
7040
|
* since container is positioned absoutely we must explicitly forward
|
|
6946
7041
|
* the dnd events for the expect behaviours to continue to occur in terms of dnd
|
|
@@ -6964,7 +7059,7 @@ class OverlayRenderContainer extends CompositeDisposable {
|
|
|
6964
7059
|
onDragOver: (e) => {
|
|
6965
7060
|
referenceContainer.dropTarget.dnd.onDragOver(e);
|
|
6966
7061
|
},
|
|
6967
|
-
}), panel.api.onDidVisibilityChange((
|
|
7062
|
+
}), panel.api.onDidVisibilityChange(() => {
|
|
6968
7063
|
/**
|
|
6969
7064
|
* Control the visibility of the content, however even when not visible (display: none)
|
|
6970
7065
|
* the content is still maintained within the DOM hence DOM specific attributes
|
|
@@ -6976,6 +7071,8 @@ class OverlayRenderContainer extends CompositeDisposable {
|
|
|
6976
7071
|
return;
|
|
6977
7072
|
}
|
|
6978
7073
|
resize();
|
|
7074
|
+
}), panel.api.onDidLocationChange(() => {
|
|
7075
|
+
correctLayerPosition();
|
|
6979
7076
|
}));
|
|
6980
7077
|
this.map[panel.api.id].destroy = exports.DockviewDisposable.from(() => {
|
|
6981
7078
|
var _a;
|
|
@@ -6984,6 +7081,7 @@ class OverlayRenderContainer extends CompositeDisposable {
|
|
|
6984
7081
|
}
|
|
6985
7082
|
(_a = focusContainer.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(focusContainer);
|
|
6986
7083
|
});
|
|
7084
|
+
correctLayerPosition();
|
|
6987
7085
|
queueMicrotask(() => {
|
|
6988
7086
|
if (this.isDisposed) {
|
|
6989
7087
|
return;
|
|
@@ -7209,7 +7307,10 @@ class DockviewComponent extends BaseGrid {
|
|
|
7209
7307
|
get gap() {
|
|
7210
7308
|
return this.gridview.margin;
|
|
7211
7309
|
}
|
|
7212
|
-
|
|
7310
|
+
get floatingGroups() {
|
|
7311
|
+
return this._floatingGroups;
|
|
7312
|
+
}
|
|
7313
|
+
constructor(parentElement, options) {
|
|
7213
7314
|
var _a;
|
|
7214
7315
|
super({
|
|
7215
7316
|
proportionalLayout: true,
|
|
@@ -7217,10 +7318,11 @@ class DockviewComponent extends BaseGrid {
|
|
|
7217
7318
|
styles: options.hideBorders
|
|
7218
7319
|
? { separatorBorder: 'transparent' }
|
|
7219
7320
|
: undefined,
|
|
7220
|
-
parentElement:
|
|
7321
|
+
parentElement: parentElement,
|
|
7221
7322
|
disableAutoResizing: options.disableAutoResizing,
|
|
7222
7323
|
locked: options.locked,
|
|
7223
7324
|
margin: options.gap,
|
|
7325
|
+
className: options.className,
|
|
7224
7326
|
});
|
|
7225
7327
|
this.nextGroupId = sequentialNumberGenerator();
|
|
7226
7328
|
this._deserializer = new DefaultDockviewDeserialzier(this);
|
|
@@ -7256,10 +7358,10 @@ class DockviewComponent extends BaseGrid {
|
|
|
7256
7358
|
this._onDidActiveGroupChange = new Emitter();
|
|
7257
7359
|
this.onDidActiveGroupChange = this._onDidActiveGroupChange.event;
|
|
7258
7360
|
this._moving = false;
|
|
7259
|
-
const gready = document.createElement('div');
|
|
7260
|
-
gready.className = 'dv-overlay-render-container';
|
|
7261
|
-
this.gridview.element.appendChild(gready);
|
|
7262
|
-
this.overlayRenderContainer = new OverlayRenderContainer(
|
|
7361
|
+
// const gready = document.createElement('div');
|
|
7362
|
+
// gready.className = 'dv-overlay-render-container';
|
|
7363
|
+
// this.gridview.element.appendChild(gready);
|
|
7364
|
+
this.overlayRenderContainer = new OverlayRenderContainer(this.gridview.element, this);
|
|
7263
7365
|
toggleClass(this.gridview.element, 'dv-dockview', true);
|
|
7264
7366
|
toggleClass(this.element, 'dv-debug', !!options.debug);
|
|
7265
7367
|
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(() => {
|
|
@@ -7425,7 +7527,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
7425
7527
|
}
|
|
7426
7528
|
const gready = document.createElement('div');
|
|
7427
7529
|
gready.className = 'dv-overlay-render-container';
|
|
7428
|
-
const overlayRenderContainer = new OverlayRenderContainer(gready);
|
|
7530
|
+
const overlayRenderContainer = new OverlayRenderContainer(gready, this);
|
|
7429
7531
|
const referenceGroup = itemToPopout instanceof DockviewPanel
|
|
7430
7532
|
? itemToPopout.group
|
|
7431
7533
|
: itemToPopout;
|
|
@@ -7574,7 +7676,6 @@ class DockviewComponent extends BaseGrid {
|
|
|
7574
7676
|
}
|
|
7575
7677
|
}
|
|
7576
7678
|
}
|
|
7577
|
-
group.model.location = { type: 'floating' };
|
|
7578
7679
|
function getAnchoredBox() {
|
|
7579
7680
|
if (options === null || options === void 0 ? void 0 : options.position) {
|
|
7580
7681
|
const result = {};
|
|
@@ -7641,10 +7742,14 @@ class DockviewComponent extends BaseGrid {
|
|
|
7641
7742
|
: false,
|
|
7642
7743
|
});
|
|
7643
7744
|
const floatingGroupPanel = new DockviewFloatingGroupPanel(group, overlay);
|
|
7644
|
-
const disposable =
|
|
7745
|
+
const disposable = new CompositeDisposable(group.api.onDidActiveChange((event) => {
|
|
7746
|
+
if (event.isActive) {
|
|
7747
|
+
overlay.bringToFront();
|
|
7748
|
+
}
|
|
7749
|
+
}), watchElementResize(group.element, (entry) => {
|
|
7645
7750
|
const { width, height } = entry.contentRect;
|
|
7646
7751
|
group.layout(width, height); // let the group know it's size is changing so it can fire events to the panel
|
|
7647
|
-
});
|
|
7752
|
+
}));
|
|
7648
7753
|
floatingGroupPanel.addDisposables(overlay.onDidChange(() => {
|
|
7649
7754
|
// this is either a resize or a move
|
|
7650
7755
|
// to inform the panels .layout(...) the group with it's current size
|
|
@@ -7660,12 +7765,13 @@ class DockviewComponent extends BaseGrid {
|
|
|
7660
7765
|
}), {
|
|
7661
7766
|
dispose: () => {
|
|
7662
7767
|
disposable.dispose();
|
|
7663
|
-
group.model.location = { type: 'grid' };
|
|
7664
7768
|
remove(this._floatingGroups, floatingGroupPanel);
|
|
7769
|
+
group.model.location = { type: 'grid' };
|
|
7665
7770
|
this.updateWatermark();
|
|
7666
7771
|
},
|
|
7667
7772
|
});
|
|
7668
7773
|
this._floatingGroups.push(floatingGroupPanel);
|
|
7774
|
+
group.model.location = { type: 'floating' };
|
|
7669
7775
|
if (!(options === null || options === void 0 ? void 0 : options.skipActiveGroup)) {
|
|
7670
7776
|
this.doSetGroupAndPanelActive(group);
|
|
7671
7777
|
}
|
|
@@ -8247,6 +8353,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
8247
8353
|
this._groups.delete(group.id);
|
|
8248
8354
|
this._onDidRemoveGroup.fire(group);
|
|
8249
8355
|
}
|
|
8356
|
+
remove(this._popoutGroups, selectedGroup);
|
|
8250
8357
|
const removedGroup = selectedGroup.disposable.dispose();
|
|
8251
8358
|
if (!(options === null || options === void 0 ? void 0 : options.skipPopoutReturn) && removedGroup) {
|
|
8252
8359
|
this.doAddGroup(removedGroup, [0]);
|
|
@@ -8358,6 +8465,31 @@ class DockviewComponent extends BaseGrid {
|
|
|
8358
8465
|
return;
|
|
8359
8466
|
}
|
|
8360
8467
|
}
|
|
8468
|
+
if (sourceGroup.api.location.type === 'popout') {
|
|
8469
|
+
/**
|
|
8470
|
+
* the source group is a popout group with a single panel
|
|
8471
|
+
*
|
|
8472
|
+
* 1. remove the panel from the group without triggering any events
|
|
8473
|
+
* 2. remove the popout group
|
|
8474
|
+
* 3. create a new group at the requested location and add that panel
|
|
8475
|
+
*/
|
|
8476
|
+
const popoutGroup = this._popoutGroups.find((group) => group.popoutGroup === sourceGroup);
|
|
8477
|
+
const removedPanel = this.movingLock(() => popoutGroup.popoutGroup.model.removePanel(popoutGroup.popoutGroup.panels[0], {
|
|
8478
|
+
skipSetActive: true,
|
|
8479
|
+
skipSetActiveGroup: true,
|
|
8480
|
+
}));
|
|
8481
|
+
this.doRemoveGroup(sourceGroup, { skipActive: true });
|
|
8482
|
+
const newGroup = this.createGroupAtLocation(targetLocation);
|
|
8483
|
+
this.movingLock(() => newGroup.model.openPanel(removedPanel, {
|
|
8484
|
+
skipSetActive: true,
|
|
8485
|
+
}));
|
|
8486
|
+
this.doSetGroupAndPanelActive(newGroup);
|
|
8487
|
+
this._onDidMovePanel.fire({
|
|
8488
|
+
panel: this.getGroupPanel(sourceItemId),
|
|
8489
|
+
from: sourceGroup,
|
|
8490
|
+
});
|
|
8491
|
+
return;
|
|
8492
|
+
}
|
|
8361
8493
|
// source group will become empty so delete the group
|
|
8362
8494
|
const targetGroup = this.movingLock(() => this.doRemoveGroup(sourceGroup, {
|
|
8363
8495
|
skipActive: true,
|
|
@@ -8589,13 +8721,14 @@ class GridviewComponent extends BaseGrid {
|
|
|
8589
8721
|
set deserializer(value) {
|
|
8590
8722
|
this._deserializer = value;
|
|
8591
8723
|
}
|
|
8592
|
-
constructor(options) {
|
|
8724
|
+
constructor(parentElement, options) {
|
|
8593
8725
|
super({
|
|
8594
|
-
parentElement:
|
|
8726
|
+
parentElement: parentElement,
|
|
8595
8727
|
proportionalLayout: options.proportionalLayout,
|
|
8596
8728
|
orientation: options.orientation,
|
|
8597
8729
|
styles: options.styles,
|
|
8598
8730
|
disableAutoResizing: options.disableAutoResizing,
|
|
8731
|
+
className: options.className,
|
|
8599
8732
|
});
|
|
8600
8733
|
this._onDidLayoutfromJSON = new Emitter();
|
|
8601
8734
|
this.onDidLayoutFromJSON = this._onDidLayoutfromJSON.event;
|
|
@@ -8887,8 +9020,8 @@ class SplitviewComponent extends Resizable {
|
|
|
8887
9020
|
? this.splitview.size
|
|
8888
9021
|
: this.splitview.orthogonalSize;
|
|
8889
9022
|
}
|
|
8890
|
-
constructor(options) {
|
|
8891
|
-
super(
|
|
9023
|
+
constructor(parentElement, options) {
|
|
9024
|
+
super(parentElement, options.disableAutoResizing);
|
|
8892
9025
|
this._splitviewChangeDisposable = new MutableDisposable();
|
|
8893
9026
|
this._panels = new Map();
|
|
8894
9027
|
this._onDidLayoutfromJSON = new Emitter();
|
|
@@ -8899,6 +9032,9 @@ class SplitviewComponent extends Resizable {
|
|
|
8899
9032
|
this.onDidRemoveView = this._onDidRemoveView.event;
|
|
8900
9033
|
this._onDidLayoutChange = new Emitter();
|
|
8901
9034
|
this.onDidLayoutChange = this._onDidLayoutChange.event;
|
|
9035
|
+
if (typeof options.className === 'string') {
|
|
9036
|
+
this.element.classList.add(options.className);
|
|
9037
|
+
}
|
|
8902
9038
|
this._options = options;
|
|
8903
9039
|
if (!options.components) {
|
|
8904
9040
|
options.components = {};
|
|
@@ -9211,8 +9347,8 @@ class PaneviewComponent extends Resizable {
|
|
|
9211
9347
|
get options() {
|
|
9212
9348
|
return this._options;
|
|
9213
9349
|
}
|
|
9214
|
-
constructor(options) {
|
|
9215
|
-
super(
|
|
9350
|
+
constructor(parentElement, options) {
|
|
9351
|
+
super(parentElement, options.disableAutoResizing);
|
|
9216
9352
|
this._id = nextLayoutId.next();
|
|
9217
9353
|
this._disposable = new MutableDisposable();
|
|
9218
9354
|
this._viewDisposables = new Map();
|
|
@@ -9226,6 +9362,9 @@ class PaneviewComponent extends Resizable {
|
|
|
9226
9362
|
this.onDidAddView = this._onDidAddView.event;
|
|
9227
9363
|
this._onDidRemoveView = new Emitter();
|
|
9228
9364
|
this.onDidRemoveView = this._onDidRemoveView.event;
|
|
9365
|
+
if (typeof options.className === 'string') {
|
|
9366
|
+
this.element.classList.add(options.className);
|
|
9367
|
+
}
|
|
9229
9368
|
this.addDisposables(this._onDidLayoutChange, this._onDidLayoutfromJSON, this._onDidDrop, this._onDidAddView, this._onDidRemoveView);
|
|
9230
9369
|
this._options = options;
|
|
9231
9370
|
if (!options.components) {
|
|
@@ -9541,6 +9680,23 @@ class SplitviewPanel extends BasePanelView {
|
|
|
9541
9680
|
}
|
|
9542
9681
|
}
|
|
9543
9682
|
|
|
9683
|
+
function createDockview(element, options) {
|
|
9684
|
+
const component = new DockviewComponent(element, options);
|
|
9685
|
+
return component.api;
|
|
9686
|
+
}
|
|
9687
|
+
function createSplitview(element, options) {
|
|
9688
|
+
const component = new SplitviewComponent(element, options);
|
|
9689
|
+
return new SplitviewApi(component);
|
|
9690
|
+
}
|
|
9691
|
+
function createGridview(element, options) {
|
|
9692
|
+
const component = new GridviewComponent(element, options);
|
|
9693
|
+
return new GridviewApi(component);
|
|
9694
|
+
}
|
|
9695
|
+
function createPaneview(element, options) {
|
|
9696
|
+
const component = new PaneviewComponent(element, options);
|
|
9697
|
+
return new PaneviewApi(component);
|
|
9698
|
+
}
|
|
9699
|
+
|
|
9544
9700
|
/**
|
|
9545
9701
|
* This component is intended to interface between vanilla-js and React hence we need to be
|
|
9546
9702
|
* creative in how we update props.
|
|
@@ -9920,20 +10076,19 @@ const DockviewReact = React.forwardRef((props, ref) => {
|
|
|
9920
10076
|
});
|
|
9921
10077
|
}
|
|
9922
10078
|
: undefined,
|
|
9923
|
-
parentElement: domRef.current,
|
|
9924
10079
|
defaultTabComponent: props.defaultTabComponent
|
|
9925
10080
|
? DEFAULT_REACT_TAB
|
|
9926
10081
|
: undefined,
|
|
9927
10082
|
};
|
|
9928
|
-
const
|
|
10083
|
+
const api = createDockview(domRef.current, Object.assign(Object.assign({}, extractCoreOptions(props)), frameworkOptions));
|
|
9929
10084
|
const { clientWidth, clientHeight } = domRef.current;
|
|
9930
|
-
|
|
10085
|
+
api.layout(clientWidth, clientHeight);
|
|
9931
10086
|
if (props.onReady) {
|
|
9932
|
-
props.onReady({ api
|
|
10087
|
+
props.onReady({ api });
|
|
9933
10088
|
}
|
|
9934
|
-
dockviewRef.current =
|
|
10089
|
+
dockviewRef.current = api;
|
|
9935
10090
|
return () => {
|
|
9936
|
-
|
|
10091
|
+
api.dispose();
|
|
9937
10092
|
};
|
|
9938
10093
|
}, []);
|
|
9939
10094
|
React.useEffect(() => {
|
|
@@ -10136,8 +10291,7 @@ const SplitviewReact = React.forwardRef((props, ref) => {
|
|
|
10136
10291
|
React.useImperativeHandle(ref, () => domRef.current, []);
|
|
10137
10292
|
React.useEffect(() => {
|
|
10138
10293
|
var _a;
|
|
10139
|
-
const
|
|
10140
|
-
parentElement: domRef.current,
|
|
10294
|
+
const api = createSplitview(domRef.current, {
|
|
10141
10295
|
disableAutoResizing: props.disableAutoResizing,
|
|
10142
10296
|
orientation: (_a = props.orientation) !== null && _a !== void 0 ? _a : exports.Orientation.HORIZONTAL,
|
|
10143
10297
|
frameworkComponents: props.components,
|
|
@@ -10156,13 +10310,13 @@ const SplitviewReact = React.forwardRef((props, ref) => {
|
|
|
10156
10310
|
: undefined,
|
|
10157
10311
|
});
|
|
10158
10312
|
const { clientWidth, clientHeight } = domRef.current;
|
|
10159
|
-
|
|
10313
|
+
api.layout(clientWidth, clientHeight);
|
|
10160
10314
|
if (props.onReady) {
|
|
10161
|
-
props.onReady({ api
|
|
10315
|
+
props.onReady({ api });
|
|
10162
10316
|
}
|
|
10163
|
-
splitviewRef.current =
|
|
10317
|
+
splitviewRef.current = api;
|
|
10164
10318
|
return () => {
|
|
10165
|
-
|
|
10319
|
+
api.dispose();
|
|
10166
10320
|
};
|
|
10167
10321
|
}, []);
|
|
10168
10322
|
React.useEffect(() => {
|
|
@@ -10207,8 +10361,7 @@ const GridviewReact = React.forwardRef((props, ref) => {
|
|
|
10207
10361
|
// noop
|
|
10208
10362
|
};
|
|
10209
10363
|
}
|
|
10210
|
-
const
|
|
10211
|
-
parentElement: domRef.current,
|
|
10364
|
+
const api = createGridview(domRef.current, {
|
|
10212
10365
|
disableAutoResizing: props.disableAutoResizing,
|
|
10213
10366
|
proportionalLayout: typeof props.proportionalLayout === 'boolean'
|
|
10214
10367
|
? props.proportionalLayout
|
|
@@ -10227,13 +10380,13 @@ const GridviewReact = React.forwardRef((props, ref) => {
|
|
|
10227
10380
|
: undefined,
|
|
10228
10381
|
});
|
|
10229
10382
|
const { clientWidth, clientHeight } = domRef.current;
|
|
10230
|
-
|
|
10383
|
+
api.layout(clientWidth, clientHeight);
|
|
10231
10384
|
if (props.onReady) {
|
|
10232
|
-
props.onReady({ api
|
|
10385
|
+
props.onReady({ api });
|
|
10233
10386
|
}
|
|
10234
|
-
gridviewRef.current =
|
|
10387
|
+
gridviewRef.current = api;
|
|
10235
10388
|
return () => {
|
|
10236
|
-
|
|
10389
|
+
api.dispose();
|
|
10237
10390
|
};
|
|
10238
10391
|
}, []);
|
|
10239
10392
|
React.useEffect(() => {
|
|
@@ -10292,8 +10445,7 @@ const PaneviewReact = React.forwardRef((props, ref) => {
|
|
|
10292
10445
|
const createComponent = (id, _componentId, component) => new PanePanelSection(id, component, {
|
|
10293
10446
|
addPortal,
|
|
10294
10447
|
});
|
|
10295
|
-
const
|
|
10296
|
-
parentElement: domRef.current,
|
|
10448
|
+
const api = createPaneview(domRef.current, {
|
|
10297
10449
|
disableAutoResizing: props.disableAutoResizing,
|
|
10298
10450
|
frameworkComponents: props.components,
|
|
10299
10451
|
components: {},
|
|
@@ -10310,15 +10462,14 @@ const PaneviewReact = React.forwardRef((props, ref) => {
|
|
|
10310
10462
|
},
|
|
10311
10463
|
showDndOverlay: props.showDndOverlay,
|
|
10312
10464
|
});
|
|
10313
|
-
const api = new PaneviewApi(paneview);
|
|
10314
10465
|
const { clientWidth, clientHeight } = domRef.current;
|
|
10315
|
-
|
|
10466
|
+
api.layout(clientWidth, clientHeight);
|
|
10316
10467
|
if (props.onReady) {
|
|
10317
10468
|
props.onReady({ api });
|
|
10318
10469
|
}
|
|
10319
|
-
paneviewRef.current =
|
|
10470
|
+
paneviewRef.current = api;
|
|
10320
10471
|
return () => {
|
|
10321
|
-
|
|
10472
|
+
api.dispose();
|
|
10322
10473
|
};
|
|
10323
10474
|
}, []);
|
|
10324
10475
|
React.useEffect(() => {
|
|
@@ -10343,10 +10494,10 @@ const PaneviewReact = React.forwardRef((props, ref) => {
|
|
|
10343
10494
|
//
|
|
10344
10495
|
};
|
|
10345
10496
|
}
|
|
10346
|
-
const
|
|
10347
|
-
const disposable =
|
|
10497
|
+
const api = paneviewRef.current;
|
|
10498
|
+
const disposable = api.onDidDrop((event) => {
|
|
10348
10499
|
if (props.onDidDrop) {
|
|
10349
|
-
props.onDidDrop(Object.assign(Object.assign({}, event), { api
|
|
10500
|
+
props.onDidDrop(Object.assign(Object.assign({}, event), { api }));
|
|
10350
10501
|
}
|
|
10351
10502
|
});
|
|
10352
10503
|
return () => {
|
|
@@ -10408,6 +10559,10 @@ exports.SplitviewReact = SplitviewReact;
|
|
|
10408
10559
|
exports.Tab = Tab;
|
|
10409
10560
|
exports.WillShowOverlayLocationEvent = WillShowOverlayLocationEvent;
|
|
10410
10561
|
exports.createComponent = createComponent;
|
|
10562
|
+
exports.createDockview = createDockview;
|
|
10563
|
+
exports.createGridview = createGridview;
|
|
10564
|
+
exports.createPaneview = createPaneview;
|
|
10565
|
+
exports.createSplitview = createSplitview;
|
|
10411
10566
|
exports.directionToPosition = directionToPosition;
|
|
10412
10567
|
exports.getDirectionOrientation = getDirectionOrientation;
|
|
10413
10568
|
exports.getGridLocation = getGridLocation;
|