dockview 1.15.3 → 1.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +323 -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 +322 -124
- package/dist/dockview.amd.noStyle.js.map +1 -1
- package/dist/dockview.cjs.js +323 -125
- package/dist/dockview.cjs.js.map +1 -1
- package/dist/dockview.esm.js +320 -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 +323 -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 +322 -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 +78 -82
- 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.1
|
|
4
4
|
* @link https://github.com/mathuo/dockview
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
var css_248z = ".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}";
|
|
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`;
|
|
@@ -2675,6 +2705,7 @@
|
|
|
2675
2705
|
this.gridview.locked = value;
|
|
2676
2706
|
}
|
|
2677
2707
|
constructor(options) {
|
|
2708
|
+
var _a, _b;
|
|
2678
2709
|
super(document.createElement('div'), options.disableAutoResizing);
|
|
2679
2710
|
this._id = nextLayoutId$1.next();
|
|
2680
2711
|
this._groups = new Map();
|
|
@@ -2688,8 +2719,13 @@
|
|
|
2688
2719
|
this.onDidLayoutChange = this._bufferOnDidLayoutChange.onEvent;
|
|
2689
2720
|
this._onDidViewVisibilityChangeMicroTaskQueue = new AsapEvent();
|
|
2690
2721
|
this.onDidViewVisibilityChangeMicroTaskQueue = this._onDidViewVisibilityChangeMicroTaskQueue.onEvent;
|
|
2722
|
+
this.classNames = [];
|
|
2691
2723
|
this.element.style.height = '100%';
|
|
2692
2724
|
this.element.style.width = '100%';
|
|
2725
|
+
this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
|
|
2726
|
+
for (const className of this.classNames) {
|
|
2727
|
+
toggleClass(this.element, className, true);
|
|
2728
|
+
}
|
|
2693
2729
|
options.parentElement.appendChild(this.element);
|
|
2694
2730
|
this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation, options.locked, options.margin);
|
|
2695
2731
|
this.gridview.locked = !!options.locked;
|
|
@@ -2713,6 +2749,18 @@
|
|
|
2713
2749
|
isVisible(panel) {
|
|
2714
2750
|
return this.gridview.isViewVisible(getGridLocation(panel.element));
|
|
2715
2751
|
}
|
|
2752
|
+
updateOptions(options) {
|
|
2753
|
+
var _a, _b;
|
|
2754
|
+
if ('className' in options) {
|
|
2755
|
+
for (const className of this.classNames) {
|
|
2756
|
+
toggleClass(this.element, className, false);
|
|
2757
|
+
}
|
|
2758
|
+
this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
|
|
2759
|
+
for (const className of this.classNames) {
|
|
2760
|
+
toggleClass(this.element, className, true);
|
|
2761
|
+
}
|
|
2762
|
+
}
|
|
2763
|
+
}
|
|
2716
2764
|
maximizeGroup(panel) {
|
|
2717
2765
|
this.gridview.maximizeView(panel);
|
|
2718
2766
|
this.doSetGroupActive(panel);
|
|
@@ -2893,12 +2941,6 @@
|
|
|
2893
2941
|
constructor(component) {
|
|
2894
2942
|
this.component = component;
|
|
2895
2943
|
}
|
|
2896
|
-
/**
|
|
2897
|
-
* Update configuratable options.
|
|
2898
|
-
*/
|
|
2899
|
-
updateOptions(options) {
|
|
2900
|
-
this.component.updateOptions(options);
|
|
2901
|
-
}
|
|
2902
2944
|
/**
|
|
2903
2945
|
* Removes an existing panel and optionally provide a `Sizing` method
|
|
2904
2946
|
* for the subsequent resize.
|
|
@@ -2952,6 +2994,18 @@
|
|
|
2952
2994
|
clear() {
|
|
2953
2995
|
this.component.clear();
|
|
2954
2996
|
}
|
|
2997
|
+
/**
|
|
2998
|
+
* Update configuratable options.
|
|
2999
|
+
*/
|
|
3000
|
+
updateOptions(options) {
|
|
3001
|
+
this.component.updateOptions(options);
|
|
3002
|
+
}
|
|
3003
|
+
/**
|
|
3004
|
+
* Release resources and teardown component. Do not call when using framework versions of dockview.
|
|
3005
|
+
*/
|
|
3006
|
+
dispose() {
|
|
3007
|
+
this.component.dispose();
|
|
3008
|
+
}
|
|
2955
3009
|
}
|
|
2956
3010
|
class PaneviewApi {
|
|
2957
3011
|
/**
|
|
@@ -3079,6 +3133,18 @@
|
|
|
3079
3133
|
clear() {
|
|
3080
3134
|
this.component.clear();
|
|
3081
3135
|
}
|
|
3136
|
+
/**
|
|
3137
|
+
* Update configuratable options.
|
|
3138
|
+
*/
|
|
3139
|
+
updateOptions(options) {
|
|
3140
|
+
this.component.updateOptions(options);
|
|
3141
|
+
}
|
|
3142
|
+
/**
|
|
3143
|
+
* Release resources and teardown component. Do not call when using framework versions of dockview.
|
|
3144
|
+
*/
|
|
3145
|
+
dispose() {
|
|
3146
|
+
this.component.dispose();
|
|
3147
|
+
}
|
|
3082
3148
|
}
|
|
3083
3149
|
class GridviewApi {
|
|
3084
3150
|
/**
|
|
@@ -3219,6 +3285,15 @@
|
|
|
3219
3285
|
clear() {
|
|
3220
3286
|
this.component.clear();
|
|
3221
3287
|
}
|
|
3288
|
+
updateOptions(options) {
|
|
3289
|
+
this.component.updateOptions(options);
|
|
3290
|
+
}
|
|
3291
|
+
/**
|
|
3292
|
+
* Release resources and teardown component. Do not call when using framework versions of dockview.
|
|
3293
|
+
*/
|
|
3294
|
+
dispose() {
|
|
3295
|
+
this.component.dispose();
|
|
3296
|
+
}
|
|
3222
3297
|
}
|
|
3223
3298
|
class DockviewApi {
|
|
3224
3299
|
/**
|
|
@@ -3511,6 +3586,15 @@
|
|
|
3511
3586
|
setGap(gap) {
|
|
3512
3587
|
this.component.updateOptions({ gap });
|
|
3513
3588
|
}
|
|
3589
|
+
updateOptions(options) {
|
|
3590
|
+
this.component.updateOptions(options);
|
|
3591
|
+
}
|
|
3592
|
+
/**
|
|
3593
|
+
* Release resources and teardown component. Do not call when using framework versions of dockview.
|
|
3594
|
+
*/
|
|
3595
|
+
dispose() {
|
|
3596
|
+
this.component.dispose();
|
|
3597
|
+
}
|
|
3514
3598
|
}
|
|
3515
3599
|
|
|
3516
3600
|
class DragHandler extends CompositeDisposable {
|
|
@@ -3533,20 +3617,12 @@
|
|
|
3533
3617
|
event.preventDefault();
|
|
3534
3618
|
return;
|
|
3535
3619
|
}
|
|
3536
|
-
const iframes =
|
|
3537
|
-
...getElementsByTagName('iframe'),
|
|
3538
|
-
...getElementsByTagName('webview'),
|
|
3539
|
-
];
|
|
3620
|
+
const iframes = disableIframePointEvents();
|
|
3540
3621
|
this.pointerEventsDisposable.value = {
|
|
3541
3622
|
dispose: () => {
|
|
3542
|
-
|
|
3543
|
-
iframe.style.pointerEvents = 'auto';
|
|
3544
|
-
}
|
|
3623
|
+
iframes.release();
|
|
3545
3624
|
},
|
|
3546
3625
|
};
|
|
3547
|
-
for (const iframe of iframes) {
|
|
3548
|
-
iframe.style.pointerEvents = 'none';
|
|
3549
|
-
}
|
|
3550
3626
|
this.el.classList.add('dv-dragged');
|
|
3551
3627
|
setTimeout(() => this.el.classList.remove('dv-dragged'), 0);
|
|
3552
3628
|
this.dataDisposable.value = this.getData(event);
|
|
@@ -4710,7 +4786,7 @@
|
|
|
4710
4786
|
this._element.className = 'void-container';
|
|
4711
4787
|
this._element.tabIndex = 0;
|
|
4712
4788
|
this._element.draggable = true;
|
|
4713
|
-
this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, '
|
|
4789
|
+
this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, 'pointerdown', () => {
|
|
4714
4790
|
this.accessor.doSetGroupActive(this.group);
|
|
4715
4791
|
}));
|
|
4716
4792
|
const handler = new GroupDragHandler(this._element, accessor, group);
|
|
@@ -5025,6 +5101,7 @@
|
|
|
5025
5101
|
locked: undefined,
|
|
5026
5102
|
disableDnd: undefined,
|
|
5027
5103
|
gap: undefined,
|
|
5104
|
+
className: undefined,
|
|
5028
5105
|
};
|
|
5029
5106
|
return Object.keys(properties);
|
|
5030
5107
|
})();
|
|
@@ -5580,7 +5657,7 @@
|
|
|
5580
5657
|
group: this.groupPanel,
|
|
5581
5658
|
});
|
|
5582
5659
|
this.watermark = watermark;
|
|
5583
|
-
addDisposableListener(this.watermark.element, '
|
|
5660
|
+
addDisposableListener(this.watermark.element, 'pointerdown', () => {
|
|
5584
5661
|
if (!this.isActive) {
|
|
5585
5662
|
this.accessor.doSetGroupActive(this.groupPanel);
|
|
5586
5663
|
}
|
|
@@ -6145,7 +6222,7 @@
|
|
|
6145
6222
|
// forward the resize event to the group since if you want to resize a panel
|
|
6146
6223
|
// you are actually just resizing the panels parent which is the group
|
|
6147
6224
|
this.group.api.setSize(event);
|
|
6148
|
-
}), this.api.onDidRendererChange((
|
|
6225
|
+
}), this.api.onDidRendererChange(() => {
|
|
6149
6226
|
this.group.model.rerender(this);
|
|
6150
6227
|
}));
|
|
6151
6228
|
}
|
|
@@ -6481,17 +6558,30 @@
|
|
|
6481
6558
|
}
|
|
6482
6559
|
}
|
|
6483
6560
|
|
|
6484
|
-
const
|
|
6485
|
-
|
|
6486
|
-
|
|
6487
|
-
|
|
6488
|
-
|
|
6561
|
+
const DEFAULT_OVERLAY_Z_INDEX = 999;
|
|
6562
|
+
class AriaLevelTracker {
|
|
6563
|
+
constructor() {
|
|
6564
|
+
this._orderedList = [];
|
|
6565
|
+
}
|
|
6566
|
+
push(element) {
|
|
6567
|
+
this._orderedList = [
|
|
6568
|
+
...this._orderedList.filter((item) => item !== element),
|
|
6569
|
+
element,
|
|
6570
|
+
];
|
|
6571
|
+
this.update();
|
|
6572
|
+
}
|
|
6573
|
+
destroy(element) {
|
|
6574
|
+
this._orderedList = this._orderedList.filter((item) => item !== element);
|
|
6575
|
+
this.update();
|
|
6576
|
+
}
|
|
6577
|
+
update() {
|
|
6578
|
+
for (let i = 0; i < this._orderedList.length; i++) {
|
|
6579
|
+
this._orderedList[i].setAttribute('aria-level', `${i}`);
|
|
6580
|
+
this._orderedList[i].style.zIndex = `${DEFAULT_OVERLAY_Z_INDEX + i * 2}`;
|
|
6489
6581
|
}
|
|
6490
|
-
toggleClass(element, 'dv-bring-to-front', true);
|
|
6491
|
-
previous = element;
|
|
6492
6582
|
}
|
|
6493
|
-
|
|
6494
|
-
|
|
6583
|
+
}
|
|
6584
|
+
const arialLevelTracker = new AriaLevelTracker();
|
|
6495
6585
|
class Overlay extends CompositeDisposable {
|
|
6496
6586
|
set minimumInViewportWidth(value) {
|
|
6497
6587
|
this.options.minimumInViewportWidth = value;
|
|
@@ -6499,6 +6589,9 @@
|
|
|
6499
6589
|
set minimumInViewportHeight(value) {
|
|
6500
6590
|
this.options.minimumInViewportHeight = value;
|
|
6501
6591
|
}
|
|
6592
|
+
get element() {
|
|
6593
|
+
return this._element;
|
|
6594
|
+
}
|
|
6502
6595
|
constructor(options) {
|
|
6503
6596
|
super();
|
|
6504
6597
|
this.options = options;
|
|
@@ -6521,6 +6614,10 @@
|
|
|
6521
6614
|
this.options.container.appendChild(this._element);
|
|
6522
6615
|
// if input bad resize within acceptable boundaries
|
|
6523
6616
|
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 })));
|
|
6617
|
+
arialLevelTracker.push(this._element);
|
|
6618
|
+
}
|
|
6619
|
+
bringToFront() {
|
|
6620
|
+
arialLevelTracker.push(this._element);
|
|
6524
6621
|
}
|
|
6525
6622
|
setBounds(bounds = {}) {
|
|
6526
6623
|
if (typeof bounds.height === 'number') {
|
|
@@ -6608,18 +6705,10 @@
|
|
|
6608
6705
|
const move = new MutableDisposable();
|
|
6609
6706
|
const track = () => {
|
|
6610
6707
|
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
|
-
}
|
|
6708
|
+
const iframes = disableIframePointEvents();
|
|
6618
6709
|
move.value = new CompositeDisposable({
|
|
6619
6710
|
dispose: () => {
|
|
6620
|
-
|
|
6621
|
-
iframe.style.pointerEvents = 'auto';
|
|
6622
|
-
}
|
|
6711
|
+
iframes.release();
|
|
6623
6712
|
},
|
|
6624
6713
|
}, addDisposableWindowListener(window, 'mousemove', (e) => {
|
|
6625
6714
|
const containerRect = this.options.container.getBoundingClientRect();
|
|
@@ -6688,9 +6777,8 @@
|
|
|
6688
6777
|
track();
|
|
6689
6778
|
}
|
|
6690
6779
|
}), addDisposableListener(this.options.content, 'mousedown', () => {
|
|
6691
|
-
|
|
6780
|
+
arialLevelTracker.push(this._element);
|
|
6692
6781
|
}, true));
|
|
6693
|
-
bringElementToFront(this._element);
|
|
6694
6782
|
if (options.inDragMode) {
|
|
6695
6783
|
track();
|
|
6696
6784
|
}
|
|
@@ -6703,13 +6791,7 @@
|
|
|
6703
6791
|
this.addDisposables(move, addDisposableListener(resizeHandleElement, 'mousedown', (e) => {
|
|
6704
6792
|
e.preventDefault();
|
|
6705
6793
|
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
|
-
}
|
|
6794
|
+
const iframes = disableIframePointEvents();
|
|
6713
6795
|
move.value = new CompositeDisposable(addDisposableWindowListener(window, 'mousemove', (e) => {
|
|
6714
6796
|
const containerRect = this.options.container.getBoundingClientRect();
|
|
6715
6797
|
const overlayRect = this._element.getBoundingClientRect();
|
|
@@ -6832,9 +6914,7 @@
|
|
|
6832
6914
|
this.setBounds(bounds);
|
|
6833
6915
|
}), {
|
|
6834
6916
|
dispose: () => {
|
|
6835
|
-
|
|
6836
|
-
iframe.style.pointerEvents = 'auto';
|
|
6837
|
-
}
|
|
6917
|
+
iframes.release();
|
|
6838
6918
|
},
|
|
6839
6919
|
}, addDisposableWindowListener(window, 'mouseup', () => {
|
|
6840
6920
|
move.dispose();
|
|
@@ -6855,6 +6935,7 @@
|
|
|
6855
6935
|
return 0;
|
|
6856
6936
|
}
|
|
6857
6937
|
dispose() {
|
|
6938
|
+
arialLevelTracker.destroy(this._element);
|
|
6858
6939
|
this._element.remove();
|
|
6859
6940
|
super.dispose();
|
|
6860
6941
|
}
|
|
@@ -6883,9 +6964,10 @@
|
|
|
6883
6964
|
return element;
|
|
6884
6965
|
}
|
|
6885
6966
|
class OverlayRenderContainer extends CompositeDisposable {
|
|
6886
|
-
constructor(element) {
|
|
6967
|
+
constructor(element, accessor) {
|
|
6887
6968
|
super();
|
|
6888
6969
|
this.element = element;
|
|
6970
|
+
this.accessor = accessor;
|
|
6889
6971
|
this.map = {};
|
|
6890
6972
|
this._disposed = false;
|
|
6891
6973
|
this.addDisposables(exports.DockviewDisposable.from(() => {
|
|
@@ -6941,7 +7023,35 @@
|
|
|
6941
7023
|
}
|
|
6942
7024
|
focusContainer.style.display = panel.api.isVisible ? '' : 'none';
|
|
6943
7025
|
};
|
|
6944
|
-
const
|
|
7026
|
+
const observerDisposable = new MutableDisposable();
|
|
7027
|
+
const correctLayerPosition = () => {
|
|
7028
|
+
if (panel.api.location.type === 'floating') {
|
|
7029
|
+
queueMicrotask(() => {
|
|
7030
|
+
const floatingGroup = this.accessor.floatingGroups.find((group) => group.group === panel.api.group);
|
|
7031
|
+
if (!floatingGroup) {
|
|
7032
|
+
return;
|
|
7033
|
+
}
|
|
7034
|
+
const element = floatingGroup.overlay.element;
|
|
7035
|
+
const update = () => {
|
|
7036
|
+
const level = Number(element.getAttribute('aria-level'));
|
|
7037
|
+
focusContainer.style.zIndex = `${DEFAULT_OVERLAY_Z_INDEX + level * 2 + 1}`;
|
|
7038
|
+
};
|
|
7039
|
+
const observer = new MutationObserver(() => {
|
|
7040
|
+
update();
|
|
7041
|
+
});
|
|
7042
|
+
observerDisposable.value = exports.DockviewDisposable.from(() => observer.disconnect());
|
|
7043
|
+
observer.observe(element, {
|
|
7044
|
+
attributeFilter: ['aria-level'],
|
|
7045
|
+
attributes: true,
|
|
7046
|
+
});
|
|
7047
|
+
update();
|
|
7048
|
+
});
|
|
7049
|
+
}
|
|
7050
|
+
else {
|
|
7051
|
+
focusContainer.style.zIndex = ''; // reset the z-index, perhaps CSS will take over here
|
|
7052
|
+
}
|
|
7053
|
+
};
|
|
7054
|
+
const disposable = new CompositeDisposable(observerDisposable,
|
|
6945
7055
|
/**
|
|
6946
7056
|
* since container is positioned absoutely we must explicitly forward
|
|
6947
7057
|
* the dnd events for the expect behaviours to continue to occur in terms of dnd
|
|
@@ -6965,7 +7075,7 @@
|
|
|
6965
7075
|
onDragOver: (e) => {
|
|
6966
7076
|
referenceContainer.dropTarget.dnd.onDragOver(e);
|
|
6967
7077
|
},
|
|
6968
|
-
}), panel.api.onDidVisibilityChange((
|
|
7078
|
+
}), panel.api.onDidVisibilityChange(() => {
|
|
6969
7079
|
/**
|
|
6970
7080
|
* Control the visibility of the content, however even when not visible (display: none)
|
|
6971
7081
|
* the content is still maintained within the DOM hence DOM specific attributes
|
|
@@ -6977,6 +7087,8 @@
|
|
|
6977
7087
|
return;
|
|
6978
7088
|
}
|
|
6979
7089
|
resize();
|
|
7090
|
+
}), panel.api.onDidLocationChange(() => {
|
|
7091
|
+
correctLayerPosition();
|
|
6980
7092
|
}));
|
|
6981
7093
|
this.map[panel.api.id].destroy = exports.DockviewDisposable.from(() => {
|
|
6982
7094
|
var _a;
|
|
@@ -6985,6 +7097,7 @@
|
|
|
6985
7097
|
}
|
|
6986
7098
|
(_a = focusContainer.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(focusContainer);
|
|
6987
7099
|
});
|
|
7100
|
+
correctLayerPosition();
|
|
6988
7101
|
queueMicrotask(() => {
|
|
6989
7102
|
if (this.isDisposed) {
|
|
6990
7103
|
return;
|
|
@@ -7210,7 +7323,10 @@
|
|
|
7210
7323
|
get gap() {
|
|
7211
7324
|
return this.gridview.margin;
|
|
7212
7325
|
}
|
|
7213
|
-
|
|
7326
|
+
get floatingGroups() {
|
|
7327
|
+
return this._floatingGroups;
|
|
7328
|
+
}
|
|
7329
|
+
constructor(parentElement, options) {
|
|
7214
7330
|
var _a;
|
|
7215
7331
|
super({
|
|
7216
7332
|
proportionalLayout: true,
|
|
@@ -7218,10 +7334,11 @@
|
|
|
7218
7334
|
styles: options.hideBorders
|
|
7219
7335
|
? { separatorBorder: 'transparent' }
|
|
7220
7336
|
: undefined,
|
|
7221
|
-
parentElement:
|
|
7337
|
+
parentElement: parentElement,
|
|
7222
7338
|
disableAutoResizing: options.disableAutoResizing,
|
|
7223
7339
|
locked: options.locked,
|
|
7224
7340
|
margin: options.gap,
|
|
7341
|
+
className: options.className,
|
|
7225
7342
|
});
|
|
7226
7343
|
this.nextGroupId = sequentialNumberGenerator();
|
|
7227
7344
|
this._deserializer = new DefaultDockviewDeserialzier(this);
|
|
@@ -7257,10 +7374,10 @@
|
|
|
7257
7374
|
this._onDidActiveGroupChange = new Emitter();
|
|
7258
7375
|
this.onDidActiveGroupChange = this._onDidActiveGroupChange.event;
|
|
7259
7376
|
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(
|
|
7377
|
+
// const gready = document.createElement('div');
|
|
7378
|
+
// gready.className = 'dv-overlay-render-container';
|
|
7379
|
+
// this.gridview.element.appendChild(gready);
|
|
7380
|
+
this.overlayRenderContainer = new OverlayRenderContainer(this.gridview.element, this);
|
|
7264
7381
|
toggleClass(this.gridview.element, 'dv-dockview', true);
|
|
7265
7382
|
toggleClass(this.element, 'dv-debug', !!options.debug);
|
|
7266
7383
|
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 +7543,7 @@
|
|
|
7426
7543
|
}
|
|
7427
7544
|
const gready = document.createElement('div');
|
|
7428
7545
|
gready.className = 'dv-overlay-render-container';
|
|
7429
|
-
const overlayRenderContainer = new OverlayRenderContainer(gready);
|
|
7546
|
+
const overlayRenderContainer = new OverlayRenderContainer(gready, this);
|
|
7430
7547
|
const referenceGroup = itemToPopout instanceof DockviewPanel
|
|
7431
7548
|
? itemToPopout.group
|
|
7432
7549
|
: itemToPopout;
|
|
@@ -7575,7 +7692,6 @@
|
|
|
7575
7692
|
}
|
|
7576
7693
|
}
|
|
7577
7694
|
}
|
|
7578
|
-
group.model.location = { type: 'floating' };
|
|
7579
7695
|
function getAnchoredBox() {
|
|
7580
7696
|
if (options === null || options === void 0 ? void 0 : options.position) {
|
|
7581
7697
|
const result = {};
|
|
@@ -7642,10 +7758,14 @@
|
|
|
7642
7758
|
: false,
|
|
7643
7759
|
});
|
|
7644
7760
|
const floatingGroupPanel = new DockviewFloatingGroupPanel(group, overlay);
|
|
7645
|
-
const disposable =
|
|
7761
|
+
const disposable = new CompositeDisposable(group.api.onDidActiveChange((event) => {
|
|
7762
|
+
if (event.isActive) {
|
|
7763
|
+
overlay.bringToFront();
|
|
7764
|
+
}
|
|
7765
|
+
}), watchElementResize(group.element, (entry) => {
|
|
7646
7766
|
const { width, height } = entry.contentRect;
|
|
7647
7767
|
group.layout(width, height); // let the group know it's size is changing so it can fire events to the panel
|
|
7648
|
-
});
|
|
7768
|
+
}));
|
|
7649
7769
|
floatingGroupPanel.addDisposables(overlay.onDidChange(() => {
|
|
7650
7770
|
// this is either a resize or a move
|
|
7651
7771
|
// to inform the panels .layout(...) the group with it's current size
|
|
@@ -7661,12 +7781,13 @@
|
|
|
7661
7781
|
}), {
|
|
7662
7782
|
dispose: () => {
|
|
7663
7783
|
disposable.dispose();
|
|
7664
|
-
group.model.location = { type: 'grid' };
|
|
7665
7784
|
remove(this._floatingGroups, floatingGroupPanel);
|
|
7785
|
+
group.model.location = { type: 'grid' };
|
|
7666
7786
|
this.updateWatermark();
|
|
7667
7787
|
},
|
|
7668
7788
|
});
|
|
7669
7789
|
this._floatingGroups.push(floatingGroupPanel);
|
|
7790
|
+
group.model.location = { type: 'floating' };
|
|
7670
7791
|
if (!(options === null || options === void 0 ? void 0 : options.skipActiveGroup)) {
|
|
7671
7792
|
this.doSetGroupAndPanelActive(group);
|
|
7672
7793
|
}
|
|
@@ -7705,6 +7826,7 @@
|
|
|
7705
7826
|
}
|
|
7706
7827
|
updateOptions(options) {
|
|
7707
7828
|
var _a, _b;
|
|
7829
|
+
super.updateOptions(options);
|
|
7708
7830
|
const changed_floatingGroupBounds = 'floatingGroupBounds' in options &&
|
|
7709
7831
|
options.floatingGroupBounds !== this.options.floatingGroupBounds;
|
|
7710
7832
|
const changed_rootOverlayOptions = 'rootOverlayModel' in options &&
|
|
@@ -8248,6 +8370,7 @@
|
|
|
8248
8370
|
this._groups.delete(group.id);
|
|
8249
8371
|
this._onDidRemoveGroup.fire(group);
|
|
8250
8372
|
}
|
|
8373
|
+
remove(this._popoutGroups, selectedGroup);
|
|
8251
8374
|
const removedGroup = selectedGroup.disposable.dispose();
|
|
8252
8375
|
if (!(options === null || options === void 0 ? void 0 : options.skipPopoutReturn) && removedGroup) {
|
|
8253
8376
|
this.doAddGroup(removedGroup, [0]);
|
|
@@ -8359,6 +8482,31 @@
|
|
|
8359
8482
|
return;
|
|
8360
8483
|
}
|
|
8361
8484
|
}
|
|
8485
|
+
if (sourceGroup.api.location.type === 'popout') {
|
|
8486
|
+
/**
|
|
8487
|
+
* the source group is a popout group with a single panel
|
|
8488
|
+
*
|
|
8489
|
+
* 1. remove the panel from the group without triggering any events
|
|
8490
|
+
* 2. remove the popout group
|
|
8491
|
+
* 3. create a new group at the requested location and add that panel
|
|
8492
|
+
*/
|
|
8493
|
+
const popoutGroup = this._popoutGroups.find((group) => group.popoutGroup === sourceGroup);
|
|
8494
|
+
const removedPanel = this.movingLock(() => popoutGroup.popoutGroup.model.removePanel(popoutGroup.popoutGroup.panels[0], {
|
|
8495
|
+
skipSetActive: true,
|
|
8496
|
+
skipSetActiveGroup: true,
|
|
8497
|
+
}));
|
|
8498
|
+
this.doRemoveGroup(sourceGroup, { skipActive: true });
|
|
8499
|
+
const newGroup = this.createGroupAtLocation(targetLocation);
|
|
8500
|
+
this.movingLock(() => newGroup.model.openPanel(removedPanel, {
|
|
8501
|
+
skipSetActive: true,
|
|
8502
|
+
}));
|
|
8503
|
+
this.doSetGroupAndPanelActive(newGroup);
|
|
8504
|
+
this._onDidMovePanel.fire({
|
|
8505
|
+
panel: this.getGroupPanel(sourceItemId),
|
|
8506
|
+
from: sourceGroup,
|
|
8507
|
+
});
|
|
8508
|
+
return;
|
|
8509
|
+
}
|
|
8362
8510
|
// source group will become empty so delete the group
|
|
8363
8511
|
const targetGroup = this.movingLock(() => this.doRemoveGroup(sourceGroup, {
|
|
8364
8512
|
skipActive: true,
|
|
@@ -8590,13 +8738,14 @@
|
|
|
8590
8738
|
set deserializer(value) {
|
|
8591
8739
|
this._deserializer = value;
|
|
8592
8740
|
}
|
|
8593
|
-
constructor(options) {
|
|
8741
|
+
constructor(parentElement, options) {
|
|
8594
8742
|
super({
|
|
8595
|
-
parentElement:
|
|
8743
|
+
parentElement: parentElement,
|
|
8596
8744
|
proportionalLayout: options.proportionalLayout,
|
|
8597
8745
|
orientation: options.orientation,
|
|
8598
8746
|
styles: options.styles,
|
|
8599
8747
|
disableAutoResizing: options.disableAutoResizing,
|
|
8748
|
+
className: options.className,
|
|
8600
8749
|
});
|
|
8601
8750
|
this._onDidLayoutfromJSON = new Emitter();
|
|
8602
8751
|
this.onDidLayoutFromJSON = this._onDidLayoutfromJSON.event;
|
|
@@ -8622,6 +8771,7 @@
|
|
|
8622
8771
|
}
|
|
8623
8772
|
}
|
|
8624
8773
|
updateOptions(options) {
|
|
8774
|
+
super.updateOptions(options);
|
|
8625
8775
|
const hasOrientationChanged = typeof options.orientation === 'string' &&
|
|
8626
8776
|
this.gridview.orientation !== options.orientation;
|
|
8627
8777
|
this._options = Object.assign(Object.assign({}, this.options), options);
|
|
@@ -8888,8 +9038,9 @@
|
|
|
8888
9038
|
? this.splitview.size
|
|
8889
9039
|
: this.splitview.orthogonalSize;
|
|
8890
9040
|
}
|
|
8891
|
-
constructor(options) {
|
|
8892
|
-
|
|
9041
|
+
constructor(parentElement, options) {
|
|
9042
|
+
var _a, _b;
|
|
9043
|
+
super(parentElement, options.disableAutoResizing);
|
|
8893
9044
|
this._splitviewChangeDisposable = new MutableDisposable();
|
|
8894
9045
|
this._panels = new Map();
|
|
8895
9046
|
this._onDidLayoutfromJSON = new Emitter();
|
|
@@ -8900,6 +9051,11 @@
|
|
|
8900
9051
|
this.onDidRemoveView = this._onDidRemoveView.event;
|
|
8901
9052
|
this._onDidLayoutChange = new Emitter();
|
|
8902
9053
|
this.onDidLayoutChange = this._onDidLayoutChange.event;
|
|
9054
|
+
this.classNames = [];
|
|
9055
|
+
this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
|
|
9056
|
+
for (const className of this.classNames) {
|
|
9057
|
+
toggleClass(this.element, className, true);
|
|
9058
|
+
}
|
|
8903
9059
|
this._options = options;
|
|
8904
9060
|
if (!options.components) {
|
|
8905
9061
|
options.components = {};
|
|
@@ -8911,6 +9067,16 @@
|
|
|
8911
9067
|
this.addDisposables(this._onDidAddView, this._onDidLayoutfromJSON, this._onDidRemoveView, this._onDidLayoutChange);
|
|
8912
9068
|
}
|
|
8913
9069
|
updateOptions(options) {
|
|
9070
|
+
var _a, _b;
|
|
9071
|
+
if ('className' in options) {
|
|
9072
|
+
for (const className of this.classNames) {
|
|
9073
|
+
toggleClass(this.element, className, false);
|
|
9074
|
+
}
|
|
9075
|
+
this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
|
|
9076
|
+
for (const className of this.classNames) {
|
|
9077
|
+
toggleClass(this.element, className, true);
|
|
9078
|
+
}
|
|
9079
|
+
}
|
|
8914
9080
|
const hasOrientationChanged = typeof options.orientation === 'string' &&
|
|
8915
9081
|
this.options.orientation !== options.orientation;
|
|
8916
9082
|
this._options = Object.assign(Object.assign({}, this.options), options);
|
|
@@ -9212,8 +9378,9 @@
|
|
|
9212
9378
|
get options() {
|
|
9213
9379
|
return this._options;
|
|
9214
9380
|
}
|
|
9215
|
-
constructor(options) {
|
|
9216
|
-
|
|
9381
|
+
constructor(parentElement, options) {
|
|
9382
|
+
var _a, _b;
|
|
9383
|
+
super(parentElement, options.disableAutoResizing);
|
|
9217
9384
|
this._id = nextLayoutId.next();
|
|
9218
9385
|
this._disposable = new MutableDisposable();
|
|
9219
9386
|
this._viewDisposables = new Map();
|
|
@@ -9227,7 +9394,12 @@
|
|
|
9227
9394
|
this.onDidAddView = this._onDidAddView.event;
|
|
9228
9395
|
this._onDidRemoveView = new Emitter();
|
|
9229
9396
|
this.onDidRemoveView = this._onDidRemoveView.event;
|
|
9397
|
+
this.classNames = [];
|
|
9230
9398
|
this.addDisposables(this._onDidLayoutChange, this._onDidLayoutfromJSON, this._onDidDrop, this._onDidAddView, this._onDidRemoveView);
|
|
9399
|
+
this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
|
|
9400
|
+
for (const className of this.classNames) {
|
|
9401
|
+
toggleClass(this.element, className, true);
|
|
9402
|
+
}
|
|
9231
9403
|
this._options = options;
|
|
9232
9404
|
if (!options.components) {
|
|
9233
9405
|
options.components = {};
|
|
@@ -9249,6 +9421,16 @@
|
|
|
9249
9421
|
//noop
|
|
9250
9422
|
}
|
|
9251
9423
|
updateOptions(options) {
|
|
9424
|
+
var _a, _b;
|
|
9425
|
+
if ('className' in options) {
|
|
9426
|
+
for (const className of this.classNames) {
|
|
9427
|
+
toggleClass(this.element, className, false);
|
|
9428
|
+
}
|
|
9429
|
+
this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
|
|
9430
|
+
for (const className of this.classNames) {
|
|
9431
|
+
toggleClass(this.element, className, true);
|
|
9432
|
+
}
|
|
9433
|
+
}
|
|
9252
9434
|
this._options = Object.assign(Object.assign({}, this.options), options);
|
|
9253
9435
|
}
|
|
9254
9436
|
addPanel(options) {
|
|
@@ -9542,6 +9724,23 @@
|
|
|
9542
9724
|
}
|
|
9543
9725
|
}
|
|
9544
9726
|
|
|
9727
|
+
function createDockview(element, options) {
|
|
9728
|
+
const component = new DockviewComponent(element, options);
|
|
9729
|
+
return component.api;
|
|
9730
|
+
}
|
|
9731
|
+
function createSplitview(element, options) {
|
|
9732
|
+
const component = new SplitviewComponent(element, options);
|
|
9733
|
+
return new SplitviewApi(component);
|
|
9734
|
+
}
|
|
9735
|
+
function createGridview(element, options) {
|
|
9736
|
+
const component = new GridviewComponent(element, options);
|
|
9737
|
+
return new GridviewApi(component);
|
|
9738
|
+
}
|
|
9739
|
+
function createPaneview(element, options) {
|
|
9740
|
+
const component = new PaneviewComponent(element, options);
|
|
9741
|
+
return new PaneviewApi(component);
|
|
9742
|
+
}
|
|
9743
|
+
|
|
9545
9744
|
/**
|
|
9546
9745
|
* This component is intended to interface between vanilla-js and React hence we need to be
|
|
9547
9746
|
* creative in how we update props.
|
|
@@ -9921,20 +10120,19 @@
|
|
|
9921
10120
|
});
|
|
9922
10121
|
}
|
|
9923
10122
|
: undefined,
|
|
9924
|
-
parentElement: domRef.current,
|
|
9925
10123
|
defaultTabComponent: props.defaultTabComponent
|
|
9926
10124
|
? DEFAULT_REACT_TAB
|
|
9927
10125
|
: undefined,
|
|
9928
10126
|
};
|
|
9929
|
-
const
|
|
10127
|
+
const api = createDockview(domRef.current, Object.assign(Object.assign({}, extractCoreOptions(props)), frameworkOptions));
|
|
9930
10128
|
const { clientWidth, clientHeight } = domRef.current;
|
|
9931
|
-
|
|
10129
|
+
api.layout(clientWidth, clientHeight);
|
|
9932
10130
|
if (props.onReady) {
|
|
9933
|
-
props.onReady({ api
|
|
10131
|
+
props.onReady({ api });
|
|
9934
10132
|
}
|
|
9935
|
-
dockviewRef.current =
|
|
10133
|
+
dockviewRef.current = api;
|
|
9936
10134
|
return () => {
|
|
9937
|
-
|
|
10135
|
+
api.dispose();
|
|
9938
10136
|
};
|
|
9939
10137
|
}, []);
|
|
9940
10138
|
React.useEffect(() => {
|
|
@@ -10160,8 +10358,7 @@
|
|
|
10160
10358
|
React.useImperativeHandle(ref, () => domRef.current, []);
|
|
10161
10359
|
React.useEffect(() => {
|
|
10162
10360
|
var _a;
|
|
10163
|
-
const
|
|
10164
|
-
parentElement: domRef.current,
|
|
10361
|
+
const api = createSplitview(domRef.current, {
|
|
10165
10362
|
disableAutoResizing: props.disableAutoResizing,
|
|
10166
10363
|
orientation: (_a = props.orientation) !== null && _a !== void 0 ? _a : exports.Orientation.HORIZONTAL,
|
|
10167
10364
|
frameworkComponents: props.components,
|
|
@@ -10180,13 +10377,13 @@
|
|
|
10180
10377
|
: undefined,
|
|
10181
10378
|
});
|
|
10182
10379
|
const { clientWidth, clientHeight } = domRef.current;
|
|
10183
|
-
|
|
10380
|
+
api.layout(clientWidth, clientHeight);
|
|
10184
10381
|
if (props.onReady) {
|
|
10185
|
-
props.onReady({ api
|
|
10382
|
+
props.onReady({ api });
|
|
10186
10383
|
}
|
|
10187
|
-
splitviewRef.current =
|
|
10384
|
+
splitviewRef.current = api;
|
|
10188
10385
|
return () => {
|
|
10189
|
-
|
|
10386
|
+
api.dispose();
|
|
10190
10387
|
};
|
|
10191
10388
|
}, []);
|
|
10192
10389
|
React.useEffect(() => {
|
|
@@ -10231,8 +10428,7 @@
|
|
|
10231
10428
|
// noop
|
|
10232
10429
|
};
|
|
10233
10430
|
}
|
|
10234
|
-
const
|
|
10235
|
-
parentElement: domRef.current,
|
|
10431
|
+
const api = createGridview(domRef.current, {
|
|
10236
10432
|
disableAutoResizing: props.disableAutoResizing,
|
|
10237
10433
|
proportionalLayout: typeof props.proportionalLayout === 'boolean'
|
|
10238
10434
|
? props.proportionalLayout
|
|
@@ -10251,13 +10447,13 @@
|
|
|
10251
10447
|
: undefined,
|
|
10252
10448
|
});
|
|
10253
10449
|
const { clientWidth, clientHeight } = domRef.current;
|
|
10254
|
-
|
|
10450
|
+
api.layout(clientWidth, clientHeight);
|
|
10255
10451
|
if (props.onReady) {
|
|
10256
|
-
props.onReady({ api
|
|
10452
|
+
props.onReady({ api });
|
|
10257
10453
|
}
|
|
10258
|
-
gridviewRef.current =
|
|
10454
|
+
gridviewRef.current = api;
|
|
10259
10455
|
return () => {
|
|
10260
|
-
|
|
10456
|
+
api.dispose();
|
|
10261
10457
|
};
|
|
10262
10458
|
}, []);
|
|
10263
10459
|
React.useEffect(() => {
|
|
@@ -10316,8 +10512,7 @@
|
|
|
10316
10512
|
const createComponent = (id, _componentId, component) => new PanePanelSection(id, component, {
|
|
10317
10513
|
addPortal,
|
|
10318
10514
|
});
|
|
10319
|
-
const
|
|
10320
|
-
parentElement: domRef.current,
|
|
10515
|
+
const api = createPaneview(domRef.current, {
|
|
10321
10516
|
disableAutoResizing: props.disableAutoResizing,
|
|
10322
10517
|
frameworkComponents: props.components,
|
|
10323
10518
|
components: {},
|
|
@@ -10334,15 +10529,14 @@
|
|
|
10334
10529
|
},
|
|
10335
10530
|
showDndOverlay: props.showDndOverlay,
|
|
10336
10531
|
});
|
|
10337
|
-
const api = new PaneviewApi(paneview);
|
|
10338
10532
|
const { clientWidth, clientHeight } = domRef.current;
|
|
10339
|
-
|
|
10533
|
+
api.layout(clientWidth, clientHeight);
|
|
10340
10534
|
if (props.onReady) {
|
|
10341
10535
|
props.onReady({ api });
|
|
10342
10536
|
}
|
|
10343
|
-
paneviewRef.current =
|
|
10537
|
+
paneviewRef.current = api;
|
|
10344
10538
|
return () => {
|
|
10345
|
-
|
|
10539
|
+
api.dispose();
|
|
10346
10540
|
};
|
|
10347
10541
|
}, []);
|
|
10348
10542
|
React.useEffect(() => {
|
|
@@ -10367,10 +10561,10 @@
|
|
|
10367
10561
|
//
|
|
10368
10562
|
};
|
|
10369
10563
|
}
|
|
10370
|
-
const
|
|
10371
|
-
const disposable =
|
|
10564
|
+
const api = paneviewRef.current;
|
|
10565
|
+
const disposable = api.onDidDrop((event) => {
|
|
10372
10566
|
if (props.onDidDrop) {
|
|
10373
|
-
props.onDidDrop(Object.assign(Object.assign({}, event), { api
|
|
10567
|
+
props.onDidDrop(Object.assign(Object.assign({}, event), { api }));
|
|
10374
10568
|
}
|
|
10375
10569
|
});
|
|
10376
10570
|
return () => {
|
|
@@ -10432,6 +10626,10 @@
|
|
|
10432
10626
|
exports.Tab = Tab;
|
|
10433
10627
|
exports.WillShowOverlayLocationEvent = WillShowOverlayLocationEvent;
|
|
10434
10628
|
exports.createComponent = createComponent;
|
|
10629
|
+
exports.createDockview = createDockview;
|
|
10630
|
+
exports.createGridview = createGridview;
|
|
10631
|
+
exports.createPaneview = createPaneview;
|
|
10632
|
+
exports.createSplitview = createSplitview;
|
|
10435
10633
|
exports.directionToPosition = directionToPosition;
|
|
10436
10634
|
exports.getDirectionOrientation = getDirectionOrientation;
|
|
10437
10635
|
exports.getGridLocation = getGridLocation;
|