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