dockview-react 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/dockview-react.amd.js +323 -125
- package/dist/dockview-react.amd.js.map +1 -1
- package/dist/dockview-react.amd.min.js +2 -2
- package/dist/dockview-react.amd.min.js.map +1 -1
- package/dist/dockview-react.amd.min.noStyle.js +2 -2
- package/dist/dockview-react.amd.min.noStyle.js.map +1 -1
- package/dist/dockview-react.amd.noStyle.js +322 -124
- package/dist/dockview-react.amd.noStyle.js.map +1 -1
- package/dist/dockview-react.cjs.js +323 -125
- package/dist/dockview-react.cjs.js.map +1 -1
- package/dist/dockview-react.esm.js +320 -126
- package/dist/dockview-react.esm.js.map +1 -1
- package/dist/dockview-react.esm.min.js +2 -2
- package/dist/dockview-react.esm.min.js.map +1 -1
- package/dist/dockview-react.js +323 -125
- package/dist/dockview-react.js.map +1 -1
- package/dist/dockview-react.min.js +2 -2
- package/dist/dockview-react.min.js.map +1 -1
- package/dist/dockview-react.min.noStyle.js +2 -2
- package/dist/dockview-react.min.noStyle.js.map +1 -1
- package/dist/dockview-react.noStyle.js +322 -124
- package/dist/dockview-react.noStyle.js.map +1 -1
- package/dist/styles/dockview.css +78 -82
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dockview-react
|
|
3
|
-
* @version 1.
|
|
3
|
+
* @version 1.16.1
|
|
4
4
|
* @link https://github.com/mathuo/dockview
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -36,7 +36,7 @@ function styleInject(css, ref) {
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
var css_248z = ".dv-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 999;\n}\n\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: ##fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-background-color: #ebeced;\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab .dockview-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .groupview .content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .groupview.active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview.inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.drop-target {\n position: relative;\n}\n.drop-target > .drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 1000;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition: top 70ms ease-out, left 70ms ease-out, width 70ms ease-out, height 70ms ease-out, opacity 0.15s ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n position: absolute;\n z-index: 997;\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-bring-to-front {\n z-index: 998;\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: 999;\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: se-resize;\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\n}\n\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.groupview:focus {\n outline: none;\n}\n.groupview.empty > .tabs-and-actions-container {\n display: none;\n}\n.groupview > .content-container {\n flex-grow: 1;\n min-height: 0;\n outline: none;\n}\n.dv-root-wrapper {\n height: 100%;\n width: 100%;\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: var(--dv-background-color);\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.tab.inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dv-default-tab .dv-default-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
|
|
39
|
+
var css_248z = ".dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: ##fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-background-color: #ebeced;\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab .dockview-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .groupview .content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .groupview.active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview.inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:not(.disabled)::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:not(.disabled)::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.drop-target {\n position: relative;\n}\n.drop-target > .drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 1000;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition: top 70ms ease-out, left 70ms ease-out, width 70ms ease-out, height 70ms ease-out, opacity 0.15s ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\n}\n\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.groupview:focus {\n outline: none;\n}\n.groupview.empty > .tabs-and-actions-container {\n display: none;\n}\n.groupview > .content-container {\n flex-grow: 1;\n min-height: 0;\n outline: none;\n}\n.dv-root-wrapper {\n height: 100%;\n width: 100%;\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n position: absolute;\n z-index: 997;\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: 999;\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: se-resize;\n}\n.dv-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 998;\n}\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: var(--dv-background-color);\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.tab.inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dv-default-tab .dv-default-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
|
|
40
40
|
styleInject(css_248z);
|
|
41
41
|
|
|
42
42
|
class TransferObject {
|
|
@@ -564,6 +564,26 @@ function isInDocument(element) {
|
|
|
564
564
|
function addTestId(element, id) {
|
|
565
565
|
element.setAttribute('data-testid', id);
|
|
566
566
|
}
|
|
567
|
+
function disableIframePointEvents() {
|
|
568
|
+
const iframes = [
|
|
569
|
+
...getElementsByTagName('iframe'),
|
|
570
|
+
...getElementsByTagName('webview'),
|
|
571
|
+
];
|
|
572
|
+
const original = new WeakMap(); // don't hold onto HTMLElement references longer than required
|
|
573
|
+
for (const iframe of iframes) {
|
|
574
|
+
original.set(iframe, iframe.style.pointerEvents);
|
|
575
|
+
iframe.style.pointerEvents = 'none';
|
|
576
|
+
}
|
|
577
|
+
return {
|
|
578
|
+
release: () => {
|
|
579
|
+
var _a;
|
|
580
|
+
for (const iframe of iframes) {
|
|
581
|
+
iframe.style.pointerEvents = (_a = original.get(iframe)) !== null && _a !== void 0 ? _a : 'auto';
|
|
582
|
+
}
|
|
583
|
+
iframes.splice(0, iframes.length); // don't hold onto HTMLElement references longer than required
|
|
584
|
+
},
|
|
585
|
+
};
|
|
586
|
+
}
|
|
567
587
|
|
|
568
588
|
function tail(arr) {
|
|
569
589
|
if (arr.length === 0) {
|
|
@@ -1086,13 +1106,7 @@ class Splitview {
|
|
|
1086
1106
|
for (const item of this.viewItems) {
|
|
1087
1107
|
item.enabled = false;
|
|
1088
1108
|
}
|
|
1089
|
-
const iframes =
|
|
1090
|
-
...getElementsByTagName('iframe'),
|
|
1091
|
-
...getElementsByTagName('webview'),
|
|
1092
|
-
];
|
|
1093
|
-
for (const iframe of iframes) {
|
|
1094
|
-
iframe.style.pointerEvents = 'none';
|
|
1095
|
-
}
|
|
1109
|
+
const iframes = disableIframePointEvents();
|
|
1096
1110
|
const start = this._orientation === exports.Orientation.HORIZONTAL
|
|
1097
1111
|
? event.clientX
|
|
1098
1112
|
: event.clientY;
|
|
@@ -1154,9 +1168,7 @@ class Splitview {
|
|
|
1154
1168
|
for (const item of this.viewItems) {
|
|
1155
1169
|
item.enabled = true;
|
|
1156
1170
|
}
|
|
1157
|
-
|
|
1158
|
-
iframe.style.pointerEvents = 'auto';
|
|
1159
|
-
}
|
|
1171
|
+
iframes.release();
|
|
1160
1172
|
this.saveProportions();
|
|
1161
1173
|
document.removeEventListener('pointermove', onPointerMove);
|
|
1162
1174
|
document.removeEventListener('pointerup', end);
|
|
@@ -1323,29 +1335,47 @@ class Splitview {
|
|
|
1323
1335
|
if (this.viewItems.length === 0) {
|
|
1324
1336
|
return;
|
|
1325
1337
|
}
|
|
1326
|
-
const
|
|
1327
|
-
const
|
|
1338
|
+
const visibleViewItems = this.viewItems.filter((i) => i.visible);
|
|
1339
|
+
const sashCount = Math.max(0, visibleViewItems.length - 1);
|
|
1340
|
+
const marginReducedSize = (this.margin * sashCount) / Math.max(1, visibleViewItems.length);
|
|
1328
1341
|
let totalLeftOffset = 0;
|
|
1329
1342
|
const viewLeftOffsets = [];
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
this.sashes[i].container.style.left = `${offset}px`;
|
|
1336
|
-
this.sashes[i].container.style.top = `0px`;
|
|
1343
|
+
const sashWidth = 4; // hardcoded in css
|
|
1344
|
+
const runningVisiblePanelCount = this.viewItems.reduce((arr, viewItem, i) => {
|
|
1345
|
+
const flag = viewItem.visible ? 1 : 0;
|
|
1346
|
+
if (i === 0) {
|
|
1347
|
+
arr.push(flag);
|
|
1337
1348
|
}
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
this.sashes[i].container.style.top = `${offset}px`;
|
|
1349
|
+
else {
|
|
1350
|
+
arr.push(arr[i - 1] + flag);
|
|
1341
1351
|
}
|
|
1342
|
-
|
|
1352
|
+
return arr;
|
|
1353
|
+
}, []);
|
|
1354
|
+
// calculate both view and cash positions
|
|
1343
1355
|
this.viewItems.forEach((view, i) => {
|
|
1344
|
-
|
|
1345
|
-
|
|
1356
|
+
totalLeftOffset += this.viewItems[i].size;
|
|
1357
|
+
viewLeftOffsets.push(totalLeftOffset);
|
|
1358
|
+
const size = view.visible ? view.size - marginReducedSize : 0;
|
|
1359
|
+
const visiblePanelsBeforeThisView = Math.max(0, runningVisiblePanelCount[i] - 1);
|
|
1360
|
+
const offset = i === 0 || visiblePanelsBeforeThisView === 0
|
|
1346
1361
|
? 0
|
|
1347
1362
|
: viewLeftOffsets[i - 1] +
|
|
1348
|
-
(
|
|
1363
|
+
(visiblePanelsBeforeThisView / sashCount) * marginReducedSize;
|
|
1364
|
+
if (i < this.viewItems.length - 1) {
|
|
1365
|
+
// calculate sash position
|
|
1366
|
+
const newSize = view.visible
|
|
1367
|
+
? offset + size - sashWidth / 2 + this.margin / 2
|
|
1368
|
+
: offset;
|
|
1369
|
+
if (this._orientation === exports.Orientation.HORIZONTAL) {
|
|
1370
|
+
this.sashes[i].container.style.left = `${newSize}px`;
|
|
1371
|
+
this.sashes[i].container.style.top = `0px`;
|
|
1372
|
+
}
|
|
1373
|
+
if (this._orientation === exports.Orientation.VERTICAL) {
|
|
1374
|
+
this.sashes[i].container.style.left = `0px`;
|
|
1375
|
+
this.sashes[i].container.style.top = `${newSize}px`;
|
|
1376
|
+
}
|
|
1377
|
+
}
|
|
1378
|
+
// calculate view position
|
|
1349
1379
|
if (this._orientation === exports.Orientation.HORIZONTAL) {
|
|
1350
1380
|
view.container.style.width = `${size}px`;
|
|
1351
1381
|
view.container.style.left = `${offset}px`;
|
|
@@ -2674,6 +2704,7 @@ class BaseGrid extends Resizable {
|
|
|
2674
2704
|
this.gridview.locked = value;
|
|
2675
2705
|
}
|
|
2676
2706
|
constructor(options) {
|
|
2707
|
+
var _a, _b;
|
|
2677
2708
|
super(document.createElement('div'), options.disableAutoResizing);
|
|
2678
2709
|
this._id = nextLayoutId$1.next();
|
|
2679
2710
|
this._groups = new Map();
|
|
@@ -2687,8 +2718,13 @@ class BaseGrid extends Resizable {
|
|
|
2687
2718
|
this.onDidLayoutChange = this._bufferOnDidLayoutChange.onEvent;
|
|
2688
2719
|
this._onDidViewVisibilityChangeMicroTaskQueue = new AsapEvent();
|
|
2689
2720
|
this.onDidViewVisibilityChangeMicroTaskQueue = this._onDidViewVisibilityChangeMicroTaskQueue.onEvent;
|
|
2721
|
+
this.classNames = [];
|
|
2690
2722
|
this.element.style.height = '100%';
|
|
2691
2723
|
this.element.style.width = '100%';
|
|
2724
|
+
this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
|
|
2725
|
+
for (const className of this.classNames) {
|
|
2726
|
+
toggleClass(this.element, className, true);
|
|
2727
|
+
}
|
|
2692
2728
|
options.parentElement.appendChild(this.element);
|
|
2693
2729
|
this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation, options.locked, options.margin);
|
|
2694
2730
|
this.gridview.locked = !!options.locked;
|
|
@@ -2712,6 +2748,18 @@ class BaseGrid extends Resizable {
|
|
|
2712
2748
|
isVisible(panel) {
|
|
2713
2749
|
return this.gridview.isViewVisible(getGridLocation(panel.element));
|
|
2714
2750
|
}
|
|
2751
|
+
updateOptions(options) {
|
|
2752
|
+
var _a, _b;
|
|
2753
|
+
if ('className' in options) {
|
|
2754
|
+
for (const className of this.classNames) {
|
|
2755
|
+
toggleClass(this.element, className, false);
|
|
2756
|
+
}
|
|
2757
|
+
this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
|
|
2758
|
+
for (const className of this.classNames) {
|
|
2759
|
+
toggleClass(this.element, className, true);
|
|
2760
|
+
}
|
|
2761
|
+
}
|
|
2762
|
+
}
|
|
2715
2763
|
maximizeGroup(panel) {
|
|
2716
2764
|
this.gridview.maximizeView(panel);
|
|
2717
2765
|
this.doSetGroupActive(panel);
|
|
@@ -2892,12 +2940,6 @@ class SplitviewApi {
|
|
|
2892
2940
|
constructor(component) {
|
|
2893
2941
|
this.component = component;
|
|
2894
2942
|
}
|
|
2895
|
-
/**
|
|
2896
|
-
* Update configuratable options.
|
|
2897
|
-
*/
|
|
2898
|
-
updateOptions(options) {
|
|
2899
|
-
this.component.updateOptions(options);
|
|
2900
|
-
}
|
|
2901
2943
|
/**
|
|
2902
2944
|
* Removes an existing panel and optionally provide a `Sizing` method
|
|
2903
2945
|
* for the subsequent resize.
|
|
@@ -2951,6 +2993,18 @@ class SplitviewApi {
|
|
|
2951
2993
|
clear() {
|
|
2952
2994
|
this.component.clear();
|
|
2953
2995
|
}
|
|
2996
|
+
/**
|
|
2997
|
+
* Update configuratable options.
|
|
2998
|
+
*/
|
|
2999
|
+
updateOptions(options) {
|
|
3000
|
+
this.component.updateOptions(options);
|
|
3001
|
+
}
|
|
3002
|
+
/**
|
|
3003
|
+
* Release resources and teardown component. Do not call when using framework versions of dockview.
|
|
3004
|
+
*/
|
|
3005
|
+
dispose() {
|
|
3006
|
+
this.component.dispose();
|
|
3007
|
+
}
|
|
2954
3008
|
}
|
|
2955
3009
|
class PaneviewApi {
|
|
2956
3010
|
/**
|
|
@@ -3078,6 +3132,18 @@ class PaneviewApi {
|
|
|
3078
3132
|
clear() {
|
|
3079
3133
|
this.component.clear();
|
|
3080
3134
|
}
|
|
3135
|
+
/**
|
|
3136
|
+
* Update configuratable options.
|
|
3137
|
+
*/
|
|
3138
|
+
updateOptions(options) {
|
|
3139
|
+
this.component.updateOptions(options);
|
|
3140
|
+
}
|
|
3141
|
+
/**
|
|
3142
|
+
* Release resources and teardown component. Do not call when using framework versions of dockview.
|
|
3143
|
+
*/
|
|
3144
|
+
dispose() {
|
|
3145
|
+
this.component.dispose();
|
|
3146
|
+
}
|
|
3081
3147
|
}
|
|
3082
3148
|
class GridviewApi {
|
|
3083
3149
|
/**
|
|
@@ -3218,6 +3284,15 @@ class GridviewApi {
|
|
|
3218
3284
|
clear() {
|
|
3219
3285
|
this.component.clear();
|
|
3220
3286
|
}
|
|
3287
|
+
updateOptions(options) {
|
|
3288
|
+
this.component.updateOptions(options);
|
|
3289
|
+
}
|
|
3290
|
+
/**
|
|
3291
|
+
* Release resources and teardown component. Do not call when using framework versions of dockview.
|
|
3292
|
+
*/
|
|
3293
|
+
dispose() {
|
|
3294
|
+
this.component.dispose();
|
|
3295
|
+
}
|
|
3221
3296
|
}
|
|
3222
3297
|
class DockviewApi {
|
|
3223
3298
|
/**
|
|
@@ -3510,6 +3585,15 @@ class DockviewApi {
|
|
|
3510
3585
|
setGap(gap) {
|
|
3511
3586
|
this.component.updateOptions({ gap });
|
|
3512
3587
|
}
|
|
3588
|
+
updateOptions(options) {
|
|
3589
|
+
this.component.updateOptions(options);
|
|
3590
|
+
}
|
|
3591
|
+
/**
|
|
3592
|
+
* Release resources and teardown component. Do not call when using framework versions of dockview.
|
|
3593
|
+
*/
|
|
3594
|
+
dispose() {
|
|
3595
|
+
this.component.dispose();
|
|
3596
|
+
}
|
|
3513
3597
|
}
|
|
3514
3598
|
|
|
3515
3599
|
class DragHandler extends CompositeDisposable {
|
|
@@ -3532,20 +3616,12 @@ class DragHandler extends CompositeDisposable {
|
|
|
3532
3616
|
event.preventDefault();
|
|
3533
3617
|
return;
|
|
3534
3618
|
}
|
|
3535
|
-
const iframes =
|
|
3536
|
-
...getElementsByTagName('iframe'),
|
|
3537
|
-
...getElementsByTagName('webview'),
|
|
3538
|
-
];
|
|
3619
|
+
const iframes = disableIframePointEvents();
|
|
3539
3620
|
this.pointerEventsDisposable.value = {
|
|
3540
3621
|
dispose: () => {
|
|
3541
|
-
|
|
3542
|
-
iframe.style.pointerEvents = 'auto';
|
|
3543
|
-
}
|
|
3622
|
+
iframes.release();
|
|
3544
3623
|
},
|
|
3545
3624
|
};
|
|
3546
|
-
for (const iframe of iframes) {
|
|
3547
|
-
iframe.style.pointerEvents = 'none';
|
|
3548
|
-
}
|
|
3549
3625
|
this.el.classList.add('dv-dragged');
|
|
3550
3626
|
setTimeout(() => this.el.classList.remove('dv-dragged'), 0);
|
|
3551
3627
|
this.dataDisposable.value = this.getData(event);
|
|
@@ -4709,7 +4785,7 @@ class VoidContainer extends CompositeDisposable {
|
|
|
4709
4785
|
this._element.className = 'void-container';
|
|
4710
4786
|
this._element.tabIndex = 0;
|
|
4711
4787
|
this._element.draggable = true;
|
|
4712
|
-
this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, '
|
|
4788
|
+
this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, 'pointerdown', () => {
|
|
4713
4789
|
this.accessor.doSetGroupActive(this.group);
|
|
4714
4790
|
}));
|
|
4715
4791
|
const handler = new GroupDragHandler(this._element, accessor, group);
|
|
@@ -5024,6 +5100,7 @@ const PROPERTY_KEYS = (() => {
|
|
|
5024
5100
|
locked: undefined,
|
|
5025
5101
|
disableDnd: undefined,
|
|
5026
5102
|
gap: undefined,
|
|
5103
|
+
className: undefined,
|
|
5027
5104
|
};
|
|
5028
5105
|
return Object.keys(properties);
|
|
5029
5106
|
})();
|
|
@@ -5579,7 +5656,7 @@ class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
5579
5656
|
group: this.groupPanel,
|
|
5580
5657
|
});
|
|
5581
5658
|
this.watermark = watermark;
|
|
5582
|
-
addDisposableListener(this.watermark.element, '
|
|
5659
|
+
addDisposableListener(this.watermark.element, 'pointerdown', () => {
|
|
5583
5660
|
if (!this.isActive) {
|
|
5584
5661
|
this.accessor.doSetGroupActive(this.groupPanel);
|
|
5585
5662
|
}
|
|
@@ -6144,7 +6221,7 @@ class DockviewPanel extends CompositeDisposable {
|
|
|
6144
6221
|
// forward the resize event to the group since if you want to resize a panel
|
|
6145
6222
|
// you are actually just resizing the panels parent which is the group
|
|
6146
6223
|
this.group.api.setSize(event);
|
|
6147
|
-
}), this.api.onDidRendererChange((
|
|
6224
|
+
}), this.api.onDidRendererChange(() => {
|
|
6148
6225
|
this.group.model.rerender(this);
|
|
6149
6226
|
}));
|
|
6150
6227
|
}
|
|
@@ -6480,17 +6557,30 @@ class Watermark extends CompositeDisposable {
|
|
|
6480
6557
|
}
|
|
6481
6558
|
}
|
|
6482
6559
|
|
|
6483
|
-
const
|
|
6484
|
-
|
|
6485
|
-
|
|
6486
|
-
|
|
6487
|
-
|
|
6560
|
+
const DEFAULT_OVERLAY_Z_INDEX = 999;
|
|
6561
|
+
class AriaLevelTracker {
|
|
6562
|
+
constructor() {
|
|
6563
|
+
this._orderedList = [];
|
|
6564
|
+
}
|
|
6565
|
+
push(element) {
|
|
6566
|
+
this._orderedList = [
|
|
6567
|
+
...this._orderedList.filter((item) => item !== element),
|
|
6568
|
+
element,
|
|
6569
|
+
];
|
|
6570
|
+
this.update();
|
|
6571
|
+
}
|
|
6572
|
+
destroy(element) {
|
|
6573
|
+
this._orderedList = this._orderedList.filter((item) => item !== element);
|
|
6574
|
+
this.update();
|
|
6575
|
+
}
|
|
6576
|
+
update() {
|
|
6577
|
+
for (let i = 0; i < this._orderedList.length; i++) {
|
|
6578
|
+
this._orderedList[i].setAttribute('aria-level', `${i}`);
|
|
6579
|
+
this._orderedList[i].style.zIndex = `${DEFAULT_OVERLAY_Z_INDEX + i * 2}`;
|
|
6488
6580
|
}
|
|
6489
|
-
toggleClass(element, 'dv-bring-to-front', true);
|
|
6490
|
-
previous = element;
|
|
6491
6581
|
}
|
|
6492
|
-
|
|
6493
|
-
|
|
6582
|
+
}
|
|
6583
|
+
const arialLevelTracker = new AriaLevelTracker();
|
|
6494
6584
|
class Overlay extends CompositeDisposable {
|
|
6495
6585
|
set minimumInViewportWidth(value) {
|
|
6496
6586
|
this.options.minimumInViewportWidth = value;
|
|
@@ -6498,6 +6588,9 @@ class Overlay extends CompositeDisposable {
|
|
|
6498
6588
|
set minimumInViewportHeight(value) {
|
|
6499
6589
|
this.options.minimumInViewportHeight = value;
|
|
6500
6590
|
}
|
|
6591
|
+
get element() {
|
|
6592
|
+
return this._element;
|
|
6593
|
+
}
|
|
6501
6594
|
constructor(options) {
|
|
6502
6595
|
super();
|
|
6503
6596
|
this.options = options;
|
|
@@ -6520,6 +6613,10 @@ class Overlay extends CompositeDisposable {
|
|
|
6520
6613
|
this.options.container.appendChild(this._element);
|
|
6521
6614
|
// if input bad resize within acceptable boundaries
|
|
6522
6615
|
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 })));
|
|
6616
|
+
arialLevelTracker.push(this._element);
|
|
6617
|
+
}
|
|
6618
|
+
bringToFront() {
|
|
6619
|
+
arialLevelTracker.push(this._element);
|
|
6523
6620
|
}
|
|
6524
6621
|
setBounds(bounds = {}) {
|
|
6525
6622
|
if (typeof bounds.height === 'number') {
|
|
@@ -6607,18 +6704,10 @@ class Overlay extends CompositeDisposable {
|
|
|
6607
6704
|
const move = new MutableDisposable();
|
|
6608
6705
|
const track = () => {
|
|
6609
6706
|
let offset = null;
|
|
6610
|
-
const iframes =
|
|
6611
|
-
...getElementsByTagName('iframe'),
|
|
6612
|
-
...getElementsByTagName('webview'),
|
|
6613
|
-
];
|
|
6614
|
-
for (const iframe of iframes) {
|
|
6615
|
-
iframe.style.pointerEvents = 'none';
|
|
6616
|
-
}
|
|
6707
|
+
const iframes = disableIframePointEvents();
|
|
6617
6708
|
move.value = new CompositeDisposable({
|
|
6618
6709
|
dispose: () => {
|
|
6619
|
-
|
|
6620
|
-
iframe.style.pointerEvents = 'auto';
|
|
6621
|
-
}
|
|
6710
|
+
iframes.release();
|
|
6622
6711
|
},
|
|
6623
6712
|
}, addDisposableWindowListener(window, 'mousemove', (e) => {
|
|
6624
6713
|
const containerRect = this.options.container.getBoundingClientRect();
|
|
@@ -6687,9 +6776,8 @@ class Overlay extends CompositeDisposable {
|
|
|
6687
6776
|
track();
|
|
6688
6777
|
}
|
|
6689
6778
|
}), addDisposableListener(this.options.content, 'mousedown', () => {
|
|
6690
|
-
|
|
6779
|
+
arialLevelTracker.push(this._element);
|
|
6691
6780
|
}, true));
|
|
6692
|
-
bringElementToFront(this._element);
|
|
6693
6781
|
if (options.inDragMode) {
|
|
6694
6782
|
track();
|
|
6695
6783
|
}
|
|
@@ -6702,13 +6790,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6702
6790
|
this.addDisposables(move, addDisposableListener(resizeHandleElement, 'mousedown', (e) => {
|
|
6703
6791
|
e.preventDefault();
|
|
6704
6792
|
let startPosition = null;
|
|
6705
|
-
const iframes =
|
|
6706
|
-
...getElementsByTagName('iframe'),
|
|
6707
|
-
...getElementsByTagName('webview'),
|
|
6708
|
-
];
|
|
6709
|
-
for (const iframe of iframes) {
|
|
6710
|
-
iframe.style.pointerEvents = 'none';
|
|
6711
|
-
}
|
|
6793
|
+
const iframes = disableIframePointEvents();
|
|
6712
6794
|
move.value = new CompositeDisposable(addDisposableWindowListener(window, 'mousemove', (e) => {
|
|
6713
6795
|
const containerRect = this.options.container.getBoundingClientRect();
|
|
6714
6796
|
const overlayRect = this._element.getBoundingClientRect();
|
|
@@ -6831,9 +6913,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6831
6913
|
this.setBounds(bounds);
|
|
6832
6914
|
}), {
|
|
6833
6915
|
dispose: () => {
|
|
6834
|
-
|
|
6835
|
-
iframe.style.pointerEvents = 'auto';
|
|
6836
|
-
}
|
|
6916
|
+
iframes.release();
|
|
6837
6917
|
},
|
|
6838
6918
|
}, addDisposableWindowListener(window, 'mouseup', () => {
|
|
6839
6919
|
move.dispose();
|
|
@@ -6854,6 +6934,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6854
6934
|
return 0;
|
|
6855
6935
|
}
|
|
6856
6936
|
dispose() {
|
|
6937
|
+
arialLevelTracker.destroy(this._element);
|
|
6857
6938
|
this._element.remove();
|
|
6858
6939
|
super.dispose();
|
|
6859
6940
|
}
|
|
@@ -6882,9 +6963,10 @@ function createFocusableElement() {
|
|
|
6882
6963
|
return element;
|
|
6883
6964
|
}
|
|
6884
6965
|
class OverlayRenderContainer extends CompositeDisposable {
|
|
6885
|
-
constructor(element) {
|
|
6966
|
+
constructor(element, accessor) {
|
|
6886
6967
|
super();
|
|
6887
6968
|
this.element = element;
|
|
6969
|
+
this.accessor = accessor;
|
|
6888
6970
|
this.map = {};
|
|
6889
6971
|
this._disposed = false;
|
|
6890
6972
|
this.addDisposables(exports.DockviewDisposable.from(() => {
|
|
@@ -6940,7 +7022,35 @@ class OverlayRenderContainer extends CompositeDisposable {
|
|
|
6940
7022
|
}
|
|
6941
7023
|
focusContainer.style.display = panel.api.isVisible ? '' : 'none';
|
|
6942
7024
|
};
|
|
6943
|
-
const
|
|
7025
|
+
const observerDisposable = new MutableDisposable();
|
|
7026
|
+
const correctLayerPosition = () => {
|
|
7027
|
+
if (panel.api.location.type === 'floating') {
|
|
7028
|
+
queueMicrotask(() => {
|
|
7029
|
+
const floatingGroup = this.accessor.floatingGroups.find((group) => group.group === panel.api.group);
|
|
7030
|
+
if (!floatingGroup) {
|
|
7031
|
+
return;
|
|
7032
|
+
}
|
|
7033
|
+
const element = floatingGroup.overlay.element;
|
|
7034
|
+
const update = () => {
|
|
7035
|
+
const level = Number(element.getAttribute('aria-level'));
|
|
7036
|
+
focusContainer.style.zIndex = `${DEFAULT_OVERLAY_Z_INDEX + level * 2 + 1}`;
|
|
7037
|
+
};
|
|
7038
|
+
const observer = new MutationObserver(() => {
|
|
7039
|
+
update();
|
|
7040
|
+
});
|
|
7041
|
+
observerDisposable.value = exports.DockviewDisposable.from(() => observer.disconnect());
|
|
7042
|
+
observer.observe(element, {
|
|
7043
|
+
attributeFilter: ['aria-level'],
|
|
7044
|
+
attributes: true,
|
|
7045
|
+
});
|
|
7046
|
+
update();
|
|
7047
|
+
});
|
|
7048
|
+
}
|
|
7049
|
+
else {
|
|
7050
|
+
focusContainer.style.zIndex = ''; // reset the z-index, perhaps CSS will take over here
|
|
7051
|
+
}
|
|
7052
|
+
};
|
|
7053
|
+
const disposable = new CompositeDisposable(observerDisposable,
|
|
6944
7054
|
/**
|
|
6945
7055
|
* since container is positioned absoutely we must explicitly forward
|
|
6946
7056
|
* the dnd events for the expect behaviours to continue to occur in terms of dnd
|
|
@@ -6964,7 +7074,7 @@ class OverlayRenderContainer extends CompositeDisposable {
|
|
|
6964
7074
|
onDragOver: (e) => {
|
|
6965
7075
|
referenceContainer.dropTarget.dnd.onDragOver(e);
|
|
6966
7076
|
},
|
|
6967
|
-
}), panel.api.onDidVisibilityChange((
|
|
7077
|
+
}), panel.api.onDidVisibilityChange(() => {
|
|
6968
7078
|
/**
|
|
6969
7079
|
* Control the visibility of the content, however even when not visible (display: none)
|
|
6970
7080
|
* the content is still maintained within the DOM hence DOM specific attributes
|
|
@@ -6976,6 +7086,8 @@ class OverlayRenderContainer extends CompositeDisposable {
|
|
|
6976
7086
|
return;
|
|
6977
7087
|
}
|
|
6978
7088
|
resize();
|
|
7089
|
+
}), panel.api.onDidLocationChange(() => {
|
|
7090
|
+
correctLayerPosition();
|
|
6979
7091
|
}));
|
|
6980
7092
|
this.map[panel.api.id].destroy = exports.DockviewDisposable.from(() => {
|
|
6981
7093
|
var _a;
|
|
@@ -6984,6 +7096,7 @@ class OverlayRenderContainer extends CompositeDisposable {
|
|
|
6984
7096
|
}
|
|
6985
7097
|
(_a = focusContainer.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(focusContainer);
|
|
6986
7098
|
});
|
|
7099
|
+
correctLayerPosition();
|
|
6987
7100
|
queueMicrotask(() => {
|
|
6988
7101
|
if (this.isDisposed) {
|
|
6989
7102
|
return;
|
|
@@ -7209,7 +7322,10 @@ class DockviewComponent extends BaseGrid {
|
|
|
7209
7322
|
get gap() {
|
|
7210
7323
|
return this.gridview.margin;
|
|
7211
7324
|
}
|
|
7212
|
-
|
|
7325
|
+
get floatingGroups() {
|
|
7326
|
+
return this._floatingGroups;
|
|
7327
|
+
}
|
|
7328
|
+
constructor(parentElement, options) {
|
|
7213
7329
|
var _a;
|
|
7214
7330
|
super({
|
|
7215
7331
|
proportionalLayout: true,
|
|
@@ -7217,10 +7333,11 @@ class DockviewComponent extends BaseGrid {
|
|
|
7217
7333
|
styles: options.hideBorders
|
|
7218
7334
|
? { separatorBorder: 'transparent' }
|
|
7219
7335
|
: undefined,
|
|
7220
|
-
parentElement:
|
|
7336
|
+
parentElement: parentElement,
|
|
7221
7337
|
disableAutoResizing: options.disableAutoResizing,
|
|
7222
7338
|
locked: options.locked,
|
|
7223
7339
|
margin: options.gap,
|
|
7340
|
+
className: options.className,
|
|
7224
7341
|
});
|
|
7225
7342
|
this.nextGroupId = sequentialNumberGenerator();
|
|
7226
7343
|
this._deserializer = new DefaultDockviewDeserialzier(this);
|
|
@@ -7256,10 +7373,10 @@ class DockviewComponent extends BaseGrid {
|
|
|
7256
7373
|
this._onDidActiveGroupChange = new Emitter();
|
|
7257
7374
|
this.onDidActiveGroupChange = this._onDidActiveGroupChange.event;
|
|
7258
7375
|
this._moving = false;
|
|
7259
|
-
const gready = document.createElement('div');
|
|
7260
|
-
gready.className = 'dv-overlay-render-container';
|
|
7261
|
-
this.gridview.element.appendChild(gready);
|
|
7262
|
-
this.overlayRenderContainer = new OverlayRenderContainer(
|
|
7376
|
+
// const gready = document.createElement('div');
|
|
7377
|
+
// gready.className = 'dv-overlay-render-container';
|
|
7378
|
+
// this.gridview.element.appendChild(gready);
|
|
7379
|
+
this.overlayRenderContainer = new OverlayRenderContainer(this.gridview.element, this);
|
|
7263
7380
|
toggleClass(this.gridview.element, 'dv-dockview', true);
|
|
7264
7381
|
toggleClass(this.element, 'dv-debug', !!options.debug);
|
|
7265
7382
|
this.addDisposables(this.overlayRenderContainer, this._onWillDragPanel, this._onWillDragGroup, this._onWillShowOverlay, this._onDidActivePanelChange, this._onDidAddPanel, this._onDidRemovePanel, this._onDidLayoutFromJSON, this._onDidDrop, this._onWillDrop, this._onDidMovePanel, this._onDidAddGroup, this._onDidRemoveGroup, this._onDidActiveGroupChange, this._onUnhandledDragOverEvent, this.onDidViewVisibilityChangeMicroTaskQueue(() => {
|
|
@@ -7425,7 +7542,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
7425
7542
|
}
|
|
7426
7543
|
const gready = document.createElement('div');
|
|
7427
7544
|
gready.className = 'dv-overlay-render-container';
|
|
7428
|
-
const overlayRenderContainer = new OverlayRenderContainer(gready);
|
|
7545
|
+
const overlayRenderContainer = new OverlayRenderContainer(gready, this);
|
|
7429
7546
|
const referenceGroup = itemToPopout instanceof DockviewPanel
|
|
7430
7547
|
? itemToPopout.group
|
|
7431
7548
|
: itemToPopout;
|
|
@@ -7574,7 +7691,6 @@ class DockviewComponent extends BaseGrid {
|
|
|
7574
7691
|
}
|
|
7575
7692
|
}
|
|
7576
7693
|
}
|
|
7577
|
-
group.model.location = { type: 'floating' };
|
|
7578
7694
|
function getAnchoredBox() {
|
|
7579
7695
|
if (options === null || options === void 0 ? void 0 : options.position) {
|
|
7580
7696
|
const result = {};
|
|
@@ -7641,10 +7757,14 @@ class DockviewComponent extends BaseGrid {
|
|
|
7641
7757
|
: false,
|
|
7642
7758
|
});
|
|
7643
7759
|
const floatingGroupPanel = new DockviewFloatingGroupPanel(group, overlay);
|
|
7644
|
-
const disposable =
|
|
7760
|
+
const disposable = new CompositeDisposable(group.api.onDidActiveChange((event) => {
|
|
7761
|
+
if (event.isActive) {
|
|
7762
|
+
overlay.bringToFront();
|
|
7763
|
+
}
|
|
7764
|
+
}), watchElementResize(group.element, (entry) => {
|
|
7645
7765
|
const { width, height } = entry.contentRect;
|
|
7646
7766
|
group.layout(width, height); // let the group know it's size is changing so it can fire events to the panel
|
|
7647
|
-
});
|
|
7767
|
+
}));
|
|
7648
7768
|
floatingGroupPanel.addDisposables(overlay.onDidChange(() => {
|
|
7649
7769
|
// this is either a resize or a move
|
|
7650
7770
|
// to inform the panels .layout(...) the group with it's current size
|
|
@@ -7660,12 +7780,13 @@ class DockviewComponent extends BaseGrid {
|
|
|
7660
7780
|
}), {
|
|
7661
7781
|
dispose: () => {
|
|
7662
7782
|
disposable.dispose();
|
|
7663
|
-
group.model.location = { type: 'grid' };
|
|
7664
7783
|
remove(this._floatingGroups, floatingGroupPanel);
|
|
7784
|
+
group.model.location = { type: 'grid' };
|
|
7665
7785
|
this.updateWatermark();
|
|
7666
7786
|
},
|
|
7667
7787
|
});
|
|
7668
7788
|
this._floatingGroups.push(floatingGroupPanel);
|
|
7789
|
+
group.model.location = { type: 'floating' };
|
|
7669
7790
|
if (!(options === null || options === void 0 ? void 0 : options.skipActiveGroup)) {
|
|
7670
7791
|
this.doSetGroupAndPanelActive(group);
|
|
7671
7792
|
}
|
|
@@ -7704,6 +7825,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
7704
7825
|
}
|
|
7705
7826
|
updateOptions(options) {
|
|
7706
7827
|
var _a, _b;
|
|
7828
|
+
super.updateOptions(options);
|
|
7707
7829
|
const changed_floatingGroupBounds = 'floatingGroupBounds' in options &&
|
|
7708
7830
|
options.floatingGroupBounds !== this.options.floatingGroupBounds;
|
|
7709
7831
|
const changed_rootOverlayOptions = 'rootOverlayModel' in options &&
|
|
@@ -8247,6 +8369,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
8247
8369
|
this._groups.delete(group.id);
|
|
8248
8370
|
this._onDidRemoveGroup.fire(group);
|
|
8249
8371
|
}
|
|
8372
|
+
remove(this._popoutGroups, selectedGroup);
|
|
8250
8373
|
const removedGroup = selectedGroup.disposable.dispose();
|
|
8251
8374
|
if (!(options === null || options === void 0 ? void 0 : options.skipPopoutReturn) && removedGroup) {
|
|
8252
8375
|
this.doAddGroup(removedGroup, [0]);
|
|
@@ -8358,6 +8481,31 @@ class DockviewComponent extends BaseGrid {
|
|
|
8358
8481
|
return;
|
|
8359
8482
|
}
|
|
8360
8483
|
}
|
|
8484
|
+
if (sourceGroup.api.location.type === 'popout') {
|
|
8485
|
+
/**
|
|
8486
|
+
* the source group is a popout group with a single panel
|
|
8487
|
+
*
|
|
8488
|
+
* 1. remove the panel from the group without triggering any events
|
|
8489
|
+
* 2. remove the popout group
|
|
8490
|
+
* 3. create a new group at the requested location and add that panel
|
|
8491
|
+
*/
|
|
8492
|
+
const popoutGroup = this._popoutGroups.find((group) => group.popoutGroup === sourceGroup);
|
|
8493
|
+
const removedPanel = this.movingLock(() => popoutGroup.popoutGroup.model.removePanel(popoutGroup.popoutGroup.panels[0], {
|
|
8494
|
+
skipSetActive: true,
|
|
8495
|
+
skipSetActiveGroup: true,
|
|
8496
|
+
}));
|
|
8497
|
+
this.doRemoveGroup(sourceGroup, { skipActive: true });
|
|
8498
|
+
const newGroup = this.createGroupAtLocation(targetLocation);
|
|
8499
|
+
this.movingLock(() => newGroup.model.openPanel(removedPanel, {
|
|
8500
|
+
skipSetActive: true,
|
|
8501
|
+
}));
|
|
8502
|
+
this.doSetGroupAndPanelActive(newGroup);
|
|
8503
|
+
this._onDidMovePanel.fire({
|
|
8504
|
+
panel: this.getGroupPanel(sourceItemId),
|
|
8505
|
+
from: sourceGroup,
|
|
8506
|
+
});
|
|
8507
|
+
return;
|
|
8508
|
+
}
|
|
8361
8509
|
// source group will become empty so delete the group
|
|
8362
8510
|
const targetGroup = this.movingLock(() => this.doRemoveGroup(sourceGroup, {
|
|
8363
8511
|
skipActive: true,
|
|
@@ -8589,13 +8737,14 @@ class GridviewComponent extends BaseGrid {
|
|
|
8589
8737
|
set deserializer(value) {
|
|
8590
8738
|
this._deserializer = value;
|
|
8591
8739
|
}
|
|
8592
|
-
constructor(options) {
|
|
8740
|
+
constructor(parentElement, options) {
|
|
8593
8741
|
super({
|
|
8594
|
-
parentElement:
|
|
8742
|
+
parentElement: parentElement,
|
|
8595
8743
|
proportionalLayout: options.proportionalLayout,
|
|
8596
8744
|
orientation: options.orientation,
|
|
8597
8745
|
styles: options.styles,
|
|
8598
8746
|
disableAutoResizing: options.disableAutoResizing,
|
|
8747
|
+
className: options.className,
|
|
8599
8748
|
});
|
|
8600
8749
|
this._onDidLayoutfromJSON = new Emitter();
|
|
8601
8750
|
this.onDidLayoutFromJSON = this._onDidLayoutfromJSON.event;
|
|
@@ -8621,6 +8770,7 @@ class GridviewComponent extends BaseGrid {
|
|
|
8621
8770
|
}
|
|
8622
8771
|
}
|
|
8623
8772
|
updateOptions(options) {
|
|
8773
|
+
super.updateOptions(options);
|
|
8624
8774
|
const hasOrientationChanged = typeof options.orientation === 'string' &&
|
|
8625
8775
|
this.gridview.orientation !== options.orientation;
|
|
8626
8776
|
this._options = Object.assign(Object.assign({}, this.options), options);
|
|
@@ -8887,8 +9037,9 @@ class SplitviewComponent extends Resizable {
|
|
|
8887
9037
|
? this.splitview.size
|
|
8888
9038
|
: this.splitview.orthogonalSize;
|
|
8889
9039
|
}
|
|
8890
|
-
constructor(options) {
|
|
8891
|
-
|
|
9040
|
+
constructor(parentElement, options) {
|
|
9041
|
+
var _a, _b;
|
|
9042
|
+
super(parentElement, options.disableAutoResizing);
|
|
8892
9043
|
this._splitviewChangeDisposable = new MutableDisposable();
|
|
8893
9044
|
this._panels = new Map();
|
|
8894
9045
|
this._onDidLayoutfromJSON = new Emitter();
|
|
@@ -8899,6 +9050,11 @@ class SplitviewComponent extends Resizable {
|
|
|
8899
9050
|
this.onDidRemoveView = this._onDidRemoveView.event;
|
|
8900
9051
|
this._onDidLayoutChange = new Emitter();
|
|
8901
9052
|
this.onDidLayoutChange = this._onDidLayoutChange.event;
|
|
9053
|
+
this.classNames = [];
|
|
9054
|
+
this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
|
|
9055
|
+
for (const className of this.classNames) {
|
|
9056
|
+
toggleClass(this.element, className, true);
|
|
9057
|
+
}
|
|
8902
9058
|
this._options = options;
|
|
8903
9059
|
if (!options.components) {
|
|
8904
9060
|
options.components = {};
|
|
@@ -8910,6 +9066,16 @@ class SplitviewComponent extends Resizable {
|
|
|
8910
9066
|
this.addDisposables(this._onDidAddView, this._onDidLayoutfromJSON, this._onDidRemoveView, this._onDidLayoutChange);
|
|
8911
9067
|
}
|
|
8912
9068
|
updateOptions(options) {
|
|
9069
|
+
var _a, _b;
|
|
9070
|
+
if ('className' in options) {
|
|
9071
|
+
for (const className of this.classNames) {
|
|
9072
|
+
toggleClass(this.element, className, false);
|
|
9073
|
+
}
|
|
9074
|
+
this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
|
|
9075
|
+
for (const className of this.classNames) {
|
|
9076
|
+
toggleClass(this.element, className, true);
|
|
9077
|
+
}
|
|
9078
|
+
}
|
|
8913
9079
|
const hasOrientationChanged = typeof options.orientation === 'string' &&
|
|
8914
9080
|
this.options.orientation !== options.orientation;
|
|
8915
9081
|
this._options = Object.assign(Object.assign({}, this.options), options);
|
|
@@ -9211,8 +9377,9 @@ class PaneviewComponent extends Resizable {
|
|
|
9211
9377
|
get options() {
|
|
9212
9378
|
return this._options;
|
|
9213
9379
|
}
|
|
9214
|
-
constructor(options) {
|
|
9215
|
-
|
|
9380
|
+
constructor(parentElement, options) {
|
|
9381
|
+
var _a, _b;
|
|
9382
|
+
super(parentElement, options.disableAutoResizing);
|
|
9216
9383
|
this._id = nextLayoutId.next();
|
|
9217
9384
|
this._disposable = new MutableDisposable();
|
|
9218
9385
|
this._viewDisposables = new Map();
|
|
@@ -9226,7 +9393,12 @@ class PaneviewComponent extends Resizable {
|
|
|
9226
9393
|
this.onDidAddView = this._onDidAddView.event;
|
|
9227
9394
|
this._onDidRemoveView = new Emitter();
|
|
9228
9395
|
this.onDidRemoveView = this._onDidRemoveView.event;
|
|
9396
|
+
this.classNames = [];
|
|
9229
9397
|
this.addDisposables(this._onDidLayoutChange, this._onDidLayoutfromJSON, this._onDidDrop, this._onDidAddView, this._onDidRemoveView);
|
|
9398
|
+
this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
|
|
9399
|
+
for (const className of this.classNames) {
|
|
9400
|
+
toggleClass(this.element, className, true);
|
|
9401
|
+
}
|
|
9230
9402
|
this._options = options;
|
|
9231
9403
|
if (!options.components) {
|
|
9232
9404
|
options.components = {};
|
|
@@ -9248,6 +9420,16 @@ class PaneviewComponent extends Resizable {
|
|
|
9248
9420
|
//noop
|
|
9249
9421
|
}
|
|
9250
9422
|
updateOptions(options) {
|
|
9423
|
+
var _a, _b;
|
|
9424
|
+
if ('className' in options) {
|
|
9425
|
+
for (const className of this.classNames) {
|
|
9426
|
+
toggleClass(this.element, className, false);
|
|
9427
|
+
}
|
|
9428
|
+
this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
|
|
9429
|
+
for (const className of this.classNames) {
|
|
9430
|
+
toggleClass(this.element, className, true);
|
|
9431
|
+
}
|
|
9432
|
+
}
|
|
9251
9433
|
this._options = Object.assign(Object.assign({}, this.options), options);
|
|
9252
9434
|
}
|
|
9253
9435
|
addPanel(options) {
|
|
@@ -9541,6 +9723,23 @@ class SplitviewPanel extends BasePanelView {
|
|
|
9541
9723
|
}
|
|
9542
9724
|
}
|
|
9543
9725
|
|
|
9726
|
+
function createDockview(element, options) {
|
|
9727
|
+
const component = new DockviewComponent(element, options);
|
|
9728
|
+
return component.api;
|
|
9729
|
+
}
|
|
9730
|
+
function createSplitview(element, options) {
|
|
9731
|
+
const component = new SplitviewComponent(element, options);
|
|
9732
|
+
return new SplitviewApi(component);
|
|
9733
|
+
}
|
|
9734
|
+
function createGridview(element, options) {
|
|
9735
|
+
const component = new GridviewComponent(element, options);
|
|
9736
|
+
return new GridviewApi(component);
|
|
9737
|
+
}
|
|
9738
|
+
function createPaneview(element, options) {
|
|
9739
|
+
const component = new PaneviewComponent(element, options);
|
|
9740
|
+
return new PaneviewApi(component);
|
|
9741
|
+
}
|
|
9742
|
+
|
|
9544
9743
|
/**
|
|
9545
9744
|
* This component is intended to interface between vanilla-js and React hence we need to be
|
|
9546
9745
|
* creative in how we update props.
|
|
@@ -9920,20 +10119,19 @@ const DockviewReact = React.forwardRef((props, ref) => {
|
|
|
9920
10119
|
});
|
|
9921
10120
|
}
|
|
9922
10121
|
: undefined,
|
|
9923
|
-
parentElement: domRef.current,
|
|
9924
10122
|
defaultTabComponent: props.defaultTabComponent
|
|
9925
10123
|
? DEFAULT_REACT_TAB
|
|
9926
10124
|
: undefined,
|
|
9927
10125
|
};
|
|
9928
|
-
const
|
|
10126
|
+
const api = createDockview(domRef.current, Object.assign(Object.assign({}, extractCoreOptions(props)), frameworkOptions));
|
|
9929
10127
|
const { clientWidth, clientHeight } = domRef.current;
|
|
9930
|
-
|
|
10128
|
+
api.layout(clientWidth, clientHeight);
|
|
9931
10129
|
if (props.onReady) {
|
|
9932
|
-
props.onReady({ api
|
|
10130
|
+
props.onReady({ api });
|
|
9933
10131
|
}
|
|
9934
|
-
dockviewRef.current =
|
|
10132
|
+
dockviewRef.current = api;
|
|
9935
10133
|
return () => {
|
|
9936
|
-
|
|
10134
|
+
api.dispose();
|
|
9937
10135
|
};
|
|
9938
10136
|
}, []);
|
|
9939
10137
|
React.useEffect(() => {
|
|
@@ -10136,8 +10334,7 @@ const SplitviewReact = React.forwardRef((props, ref) => {
|
|
|
10136
10334
|
React.useImperativeHandle(ref, () => domRef.current, []);
|
|
10137
10335
|
React.useEffect(() => {
|
|
10138
10336
|
var _a;
|
|
10139
|
-
const
|
|
10140
|
-
parentElement: domRef.current,
|
|
10337
|
+
const api = createSplitview(domRef.current, {
|
|
10141
10338
|
disableAutoResizing: props.disableAutoResizing,
|
|
10142
10339
|
orientation: (_a = props.orientation) !== null && _a !== void 0 ? _a : exports.Orientation.HORIZONTAL,
|
|
10143
10340
|
frameworkComponents: props.components,
|
|
@@ -10156,13 +10353,13 @@ const SplitviewReact = React.forwardRef((props, ref) => {
|
|
|
10156
10353
|
: undefined,
|
|
10157
10354
|
});
|
|
10158
10355
|
const { clientWidth, clientHeight } = domRef.current;
|
|
10159
|
-
|
|
10356
|
+
api.layout(clientWidth, clientHeight);
|
|
10160
10357
|
if (props.onReady) {
|
|
10161
|
-
props.onReady({ api
|
|
10358
|
+
props.onReady({ api });
|
|
10162
10359
|
}
|
|
10163
|
-
splitviewRef.current =
|
|
10360
|
+
splitviewRef.current = api;
|
|
10164
10361
|
return () => {
|
|
10165
|
-
|
|
10362
|
+
api.dispose();
|
|
10166
10363
|
};
|
|
10167
10364
|
}, []);
|
|
10168
10365
|
React.useEffect(() => {
|
|
@@ -10207,8 +10404,7 @@ const GridviewReact = React.forwardRef((props, ref) => {
|
|
|
10207
10404
|
// noop
|
|
10208
10405
|
};
|
|
10209
10406
|
}
|
|
10210
|
-
const
|
|
10211
|
-
parentElement: domRef.current,
|
|
10407
|
+
const api = createGridview(domRef.current, {
|
|
10212
10408
|
disableAutoResizing: props.disableAutoResizing,
|
|
10213
10409
|
proportionalLayout: typeof props.proportionalLayout === 'boolean'
|
|
10214
10410
|
? props.proportionalLayout
|
|
@@ -10227,13 +10423,13 @@ const GridviewReact = React.forwardRef((props, ref) => {
|
|
|
10227
10423
|
: undefined,
|
|
10228
10424
|
});
|
|
10229
10425
|
const { clientWidth, clientHeight } = domRef.current;
|
|
10230
|
-
|
|
10426
|
+
api.layout(clientWidth, clientHeight);
|
|
10231
10427
|
if (props.onReady) {
|
|
10232
|
-
props.onReady({ api
|
|
10428
|
+
props.onReady({ api });
|
|
10233
10429
|
}
|
|
10234
|
-
gridviewRef.current =
|
|
10430
|
+
gridviewRef.current = api;
|
|
10235
10431
|
return () => {
|
|
10236
|
-
|
|
10432
|
+
api.dispose();
|
|
10237
10433
|
};
|
|
10238
10434
|
}, []);
|
|
10239
10435
|
React.useEffect(() => {
|
|
@@ -10292,8 +10488,7 @@ const PaneviewReact = React.forwardRef((props, ref) => {
|
|
|
10292
10488
|
const createComponent = (id, _componentId, component) => new PanePanelSection(id, component, {
|
|
10293
10489
|
addPortal,
|
|
10294
10490
|
});
|
|
10295
|
-
const
|
|
10296
|
-
parentElement: domRef.current,
|
|
10491
|
+
const api = createPaneview(domRef.current, {
|
|
10297
10492
|
disableAutoResizing: props.disableAutoResizing,
|
|
10298
10493
|
frameworkComponents: props.components,
|
|
10299
10494
|
components: {},
|
|
@@ -10310,15 +10505,14 @@ const PaneviewReact = React.forwardRef((props, ref) => {
|
|
|
10310
10505
|
},
|
|
10311
10506
|
showDndOverlay: props.showDndOverlay,
|
|
10312
10507
|
});
|
|
10313
|
-
const api = new PaneviewApi(paneview);
|
|
10314
10508
|
const { clientWidth, clientHeight } = domRef.current;
|
|
10315
|
-
|
|
10509
|
+
api.layout(clientWidth, clientHeight);
|
|
10316
10510
|
if (props.onReady) {
|
|
10317
10511
|
props.onReady({ api });
|
|
10318
10512
|
}
|
|
10319
|
-
paneviewRef.current =
|
|
10513
|
+
paneviewRef.current = api;
|
|
10320
10514
|
return () => {
|
|
10321
|
-
|
|
10515
|
+
api.dispose();
|
|
10322
10516
|
};
|
|
10323
10517
|
}, []);
|
|
10324
10518
|
React.useEffect(() => {
|
|
@@ -10343,10 +10537,10 @@ const PaneviewReact = React.forwardRef((props, ref) => {
|
|
|
10343
10537
|
//
|
|
10344
10538
|
};
|
|
10345
10539
|
}
|
|
10346
|
-
const
|
|
10347
|
-
const disposable =
|
|
10540
|
+
const api = paneviewRef.current;
|
|
10541
|
+
const disposable = api.onDidDrop((event) => {
|
|
10348
10542
|
if (props.onDidDrop) {
|
|
10349
|
-
props.onDidDrop(Object.assign(Object.assign({}, event), { api
|
|
10543
|
+
props.onDidDrop(Object.assign(Object.assign({}, event), { api }));
|
|
10350
10544
|
}
|
|
10351
10545
|
});
|
|
10352
10546
|
return () => {
|
|
@@ -10408,6 +10602,10 @@ exports.SplitviewReact = SplitviewReact;
|
|
|
10408
10602
|
exports.Tab = Tab;
|
|
10409
10603
|
exports.WillShowOverlayLocationEvent = WillShowOverlayLocationEvent;
|
|
10410
10604
|
exports.createComponent = createComponent;
|
|
10605
|
+
exports.createDockview = createDockview;
|
|
10606
|
+
exports.createGridview = createGridview;
|
|
10607
|
+
exports.createPaneview = createPaneview;
|
|
10608
|
+
exports.createSplitview = createSplitview;
|
|
10411
10609
|
exports.directionToPosition = directionToPosition;
|
|
10412
10610
|
exports.getDirectionOrientation = getDirectionOrientation;
|
|
10413
10611
|
exports.getGridLocation = getGridLocation;
|