dockview-react 1.15.2 → 1.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dockview-react.amd.js +282 -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 +281 -124
- package/dist/dockview-react.amd.noStyle.js.map +1 -1
- package/dist/dockview-react.cjs.js +282 -125
- package/dist/dockview-react.cjs.js.map +1 -1
- package/dist/dockview-react.esm.js +279 -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 +282 -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 +281 -124
- package/dist/dockview-react.noStyle.js.map +1 -1
- package/dist/styles/dockview.css +79 -83
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dockview-react
|
|
3
|
-
* @version 1.
|
|
3
|
+
* @version 1.16.0
|
|
4
4
|
* @link https://github.com/mathuo/dockview
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -34,7 +34,7 @@ function styleInject(css, ref) {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
var css_248z = ".dv-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 999;\n}\n\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: ##fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-background-color: #ebeced;\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab .dockview-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .groupview .content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .groupview.active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview.inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.drop-target {\n position: relative;\n}\n.drop-target > .drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 1000;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition: top 70ms ease-out, left 70ms ease-out, width 70ms ease-out, height 70ms ease-out, opacity 0.15s ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n position: absolute;\n z-index: 997;\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-bring-to-front {\n z-index: 998;\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: 999;\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: se-resize;\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\n}\n\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.groupview:focus {\n outline: none;\n}\n.groupview.empty > .tabs-and-actions-container {\n display: none;\n}\n.groupview > .content-container {\n flex-grow: 1;\n min-height: 0;\n outline: none;\n}\n.dv-root-wrapper {\n height: 100%;\n width: 100%;\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: var(--dv-background-color);\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.tab.inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: elipsis;\n}\n.tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dv-default-tab .dv-default-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
|
|
37
|
+
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}";
|
|
38
38
|
styleInject(css_248z);
|
|
39
39
|
|
|
40
40
|
class TransferObject {
|
|
@@ -562,6 +562,26 @@ function isInDocument(element) {
|
|
|
562
562
|
function addTestId(element, id) {
|
|
563
563
|
element.setAttribute('data-testid', id);
|
|
564
564
|
}
|
|
565
|
+
function disableIframePointEvents() {
|
|
566
|
+
const iframes = [
|
|
567
|
+
...getElementsByTagName('iframe'),
|
|
568
|
+
...getElementsByTagName('webview'),
|
|
569
|
+
];
|
|
570
|
+
const original = new WeakMap(); // don't hold onto HTMLElement references longer than required
|
|
571
|
+
for (const iframe of iframes) {
|
|
572
|
+
original.set(iframe, iframe.style.pointerEvents);
|
|
573
|
+
iframe.style.pointerEvents = 'none';
|
|
574
|
+
}
|
|
575
|
+
return {
|
|
576
|
+
release: () => {
|
|
577
|
+
var _a;
|
|
578
|
+
for (const iframe of iframes) {
|
|
579
|
+
iframe.style.pointerEvents = (_a = original.get(iframe)) !== null && _a !== void 0 ? _a : 'auto';
|
|
580
|
+
}
|
|
581
|
+
iframes.splice(0, iframes.length); // don't hold onto HTMLElement references longer than required
|
|
582
|
+
},
|
|
583
|
+
};
|
|
584
|
+
}
|
|
565
585
|
|
|
566
586
|
function tail(arr) {
|
|
567
587
|
if (arr.length === 0) {
|
|
@@ -1084,13 +1104,7 @@ class Splitview {
|
|
|
1084
1104
|
for (const item of this.viewItems) {
|
|
1085
1105
|
item.enabled = false;
|
|
1086
1106
|
}
|
|
1087
|
-
const iframes =
|
|
1088
|
-
...getElementsByTagName('iframe'),
|
|
1089
|
-
...getElementsByTagName('webview'),
|
|
1090
|
-
];
|
|
1091
|
-
for (const iframe of iframes) {
|
|
1092
|
-
iframe.style.pointerEvents = 'none';
|
|
1093
|
-
}
|
|
1107
|
+
const iframes = disableIframePointEvents();
|
|
1094
1108
|
const start = this._orientation === Orientation.HORIZONTAL
|
|
1095
1109
|
? event.clientX
|
|
1096
1110
|
: event.clientY;
|
|
@@ -1152,9 +1166,7 @@ class Splitview {
|
|
|
1152
1166
|
for (const item of this.viewItems) {
|
|
1153
1167
|
item.enabled = true;
|
|
1154
1168
|
}
|
|
1155
|
-
|
|
1156
|
-
iframe.style.pointerEvents = 'auto';
|
|
1157
|
-
}
|
|
1169
|
+
iframes.release();
|
|
1158
1170
|
this.saveProportions();
|
|
1159
1171
|
document.removeEventListener('pointermove', onPointerMove);
|
|
1160
1172
|
document.removeEventListener('pointerup', end);
|
|
@@ -1321,29 +1333,47 @@ class Splitview {
|
|
|
1321
1333
|
if (this.viewItems.length === 0) {
|
|
1322
1334
|
return;
|
|
1323
1335
|
}
|
|
1324
|
-
const
|
|
1325
|
-
const
|
|
1336
|
+
const visibleViewItems = this.viewItems.filter((i) => i.visible);
|
|
1337
|
+
const sashCount = Math.max(0, visibleViewItems.length - 1);
|
|
1338
|
+
const marginReducedSize = (this.margin * sashCount) / Math.max(1, visibleViewItems.length);
|
|
1326
1339
|
let totalLeftOffset = 0;
|
|
1327
1340
|
const viewLeftOffsets = [];
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
this.sashes[i].container.style.left = `${offset}px`;
|
|
1334
|
-
this.sashes[i].container.style.top = `0px`;
|
|
1341
|
+
const sashWidth = 4; // hardcoded in css
|
|
1342
|
+
const runningVisiblePanelCount = this.viewItems.reduce((arr, viewItem, i) => {
|
|
1343
|
+
const flag = viewItem.visible ? 1 : 0;
|
|
1344
|
+
if (i === 0) {
|
|
1345
|
+
arr.push(flag);
|
|
1335
1346
|
}
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
this.sashes[i].container.style.top = `${offset}px`;
|
|
1347
|
+
else {
|
|
1348
|
+
arr.push(arr[i - 1] + flag);
|
|
1339
1349
|
}
|
|
1340
|
-
|
|
1350
|
+
return arr;
|
|
1351
|
+
}, []);
|
|
1352
|
+
// calculate both view and cash positions
|
|
1341
1353
|
this.viewItems.forEach((view, i) => {
|
|
1342
|
-
|
|
1343
|
-
|
|
1354
|
+
totalLeftOffset += this.viewItems[i].size;
|
|
1355
|
+
viewLeftOffsets.push(totalLeftOffset);
|
|
1356
|
+
const size = view.visible ? view.size - marginReducedSize : 0;
|
|
1357
|
+
const visiblePanelsBeforeThisView = Math.max(0, runningVisiblePanelCount[i] - 1);
|
|
1358
|
+
const offset = i === 0 || visiblePanelsBeforeThisView === 0
|
|
1344
1359
|
? 0
|
|
1345
1360
|
: viewLeftOffsets[i - 1] +
|
|
1346
|
-
(
|
|
1361
|
+
(visiblePanelsBeforeThisView / sashCount) * marginReducedSize;
|
|
1362
|
+
if (i < this.viewItems.length - 1) {
|
|
1363
|
+
// calculate sash position
|
|
1364
|
+
const newSize = view.visible
|
|
1365
|
+
? offset + size - sashWidth / 2 + this.margin / 2
|
|
1366
|
+
: offset;
|
|
1367
|
+
if (this._orientation === Orientation.HORIZONTAL) {
|
|
1368
|
+
this.sashes[i].container.style.left = `${newSize}px`;
|
|
1369
|
+
this.sashes[i].container.style.top = `0px`;
|
|
1370
|
+
}
|
|
1371
|
+
if (this._orientation === Orientation.VERTICAL) {
|
|
1372
|
+
this.sashes[i].container.style.left = `0px`;
|
|
1373
|
+
this.sashes[i].container.style.top = `${newSize}px`;
|
|
1374
|
+
}
|
|
1375
|
+
}
|
|
1376
|
+
// calculate view position
|
|
1347
1377
|
if (this._orientation === Orientation.HORIZONTAL) {
|
|
1348
1378
|
view.container.style.width = `${size}px`;
|
|
1349
1379
|
view.container.style.left = `${offset}px`;
|
|
@@ -2687,6 +2717,9 @@ class BaseGrid extends Resizable {
|
|
|
2687
2717
|
this.onDidViewVisibilityChangeMicroTaskQueue = this._onDidViewVisibilityChangeMicroTaskQueue.onEvent;
|
|
2688
2718
|
this.element.style.height = '100%';
|
|
2689
2719
|
this.element.style.width = '100%';
|
|
2720
|
+
if (typeof options.className === 'string') {
|
|
2721
|
+
this.element.classList.add(options.className);
|
|
2722
|
+
}
|
|
2690
2723
|
options.parentElement.appendChild(this.element);
|
|
2691
2724
|
this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation, options.locked, options.margin);
|
|
2692
2725
|
this.gridview.locked = !!options.locked;
|
|
@@ -2890,12 +2923,6 @@ class SplitviewApi {
|
|
|
2890
2923
|
constructor(component) {
|
|
2891
2924
|
this.component = component;
|
|
2892
2925
|
}
|
|
2893
|
-
/**
|
|
2894
|
-
* Update configuratable options.
|
|
2895
|
-
*/
|
|
2896
|
-
updateOptions(options) {
|
|
2897
|
-
this.component.updateOptions(options);
|
|
2898
|
-
}
|
|
2899
2926
|
/**
|
|
2900
2927
|
* Removes an existing panel and optionally provide a `Sizing` method
|
|
2901
2928
|
* for the subsequent resize.
|
|
@@ -2949,6 +2976,18 @@ class SplitviewApi {
|
|
|
2949
2976
|
clear() {
|
|
2950
2977
|
this.component.clear();
|
|
2951
2978
|
}
|
|
2979
|
+
/**
|
|
2980
|
+
* Update configuratable options.
|
|
2981
|
+
*/
|
|
2982
|
+
updateOptions(options) {
|
|
2983
|
+
this.component.updateOptions(options);
|
|
2984
|
+
}
|
|
2985
|
+
/**
|
|
2986
|
+
* Release resources and teardown component. Do not call when using framework versions of dockview.
|
|
2987
|
+
*/
|
|
2988
|
+
dispose() {
|
|
2989
|
+
this.component.dispose();
|
|
2990
|
+
}
|
|
2952
2991
|
}
|
|
2953
2992
|
class PaneviewApi {
|
|
2954
2993
|
/**
|
|
@@ -3076,6 +3115,18 @@ class PaneviewApi {
|
|
|
3076
3115
|
clear() {
|
|
3077
3116
|
this.component.clear();
|
|
3078
3117
|
}
|
|
3118
|
+
/**
|
|
3119
|
+
* Update configuratable options.
|
|
3120
|
+
*/
|
|
3121
|
+
updateOptions(options) {
|
|
3122
|
+
this.component.updateOptions(options);
|
|
3123
|
+
}
|
|
3124
|
+
/**
|
|
3125
|
+
* Release resources and teardown component. Do not call when using framework versions of dockview.
|
|
3126
|
+
*/
|
|
3127
|
+
dispose() {
|
|
3128
|
+
this.component.dispose();
|
|
3129
|
+
}
|
|
3079
3130
|
}
|
|
3080
3131
|
class GridviewApi {
|
|
3081
3132
|
/**
|
|
@@ -3216,6 +3267,15 @@ class GridviewApi {
|
|
|
3216
3267
|
clear() {
|
|
3217
3268
|
this.component.clear();
|
|
3218
3269
|
}
|
|
3270
|
+
updateOptions(options) {
|
|
3271
|
+
this.component.updateOptions(options);
|
|
3272
|
+
}
|
|
3273
|
+
/**
|
|
3274
|
+
* Release resources and teardown component. Do not call when using framework versions of dockview.
|
|
3275
|
+
*/
|
|
3276
|
+
dispose() {
|
|
3277
|
+
this.component.dispose();
|
|
3278
|
+
}
|
|
3219
3279
|
}
|
|
3220
3280
|
class DockviewApi {
|
|
3221
3281
|
/**
|
|
@@ -3508,6 +3568,15 @@ class DockviewApi {
|
|
|
3508
3568
|
setGap(gap) {
|
|
3509
3569
|
this.component.updateOptions({ gap });
|
|
3510
3570
|
}
|
|
3571
|
+
updateOptions(options) {
|
|
3572
|
+
this.component.updateOptions(options);
|
|
3573
|
+
}
|
|
3574
|
+
/**
|
|
3575
|
+
* Release resources and teardown component. Do not call when using framework versions of dockview.
|
|
3576
|
+
*/
|
|
3577
|
+
dispose() {
|
|
3578
|
+
this.component.dispose();
|
|
3579
|
+
}
|
|
3511
3580
|
}
|
|
3512
3581
|
|
|
3513
3582
|
class DragHandler extends CompositeDisposable {
|
|
@@ -3530,20 +3599,12 @@ class DragHandler extends CompositeDisposable {
|
|
|
3530
3599
|
event.preventDefault();
|
|
3531
3600
|
return;
|
|
3532
3601
|
}
|
|
3533
|
-
const iframes =
|
|
3534
|
-
...getElementsByTagName('iframe'),
|
|
3535
|
-
...getElementsByTagName('webview'),
|
|
3536
|
-
];
|
|
3602
|
+
const iframes = disableIframePointEvents();
|
|
3537
3603
|
this.pointerEventsDisposable.value = {
|
|
3538
3604
|
dispose: () => {
|
|
3539
|
-
|
|
3540
|
-
iframe.style.pointerEvents = 'auto';
|
|
3541
|
-
}
|
|
3605
|
+
iframes.release();
|
|
3542
3606
|
},
|
|
3543
3607
|
};
|
|
3544
|
-
for (const iframe of iframes) {
|
|
3545
|
-
iframe.style.pointerEvents = 'none';
|
|
3546
|
-
}
|
|
3547
3608
|
this.el.classList.add('dv-dragged');
|
|
3548
3609
|
setTimeout(() => this.el.classList.remove('dv-dragged'), 0);
|
|
3549
3610
|
this.dataDisposable.value = this.getData(event);
|
|
@@ -4707,7 +4768,7 @@ class VoidContainer extends CompositeDisposable {
|
|
|
4707
4768
|
this._element.className = 'void-container';
|
|
4708
4769
|
this._element.tabIndex = 0;
|
|
4709
4770
|
this._element.draggable = true;
|
|
4710
|
-
this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, '
|
|
4771
|
+
this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, 'pointerdown', () => {
|
|
4711
4772
|
this.accessor.doSetGroupActive(this.group);
|
|
4712
4773
|
}));
|
|
4713
4774
|
const handler = new GroupDragHandler(this._element, accessor, group);
|
|
@@ -5022,6 +5083,7 @@ const PROPERTY_KEYS = (() => {
|
|
|
5022
5083
|
locked: undefined,
|
|
5023
5084
|
disableDnd: undefined,
|
|
5024
5085
|
gap: undefined,
|
|
5086
|
+
className: undefined,
|
|
5025
5087
|
};
|
|
5026
5088
|
return Object.keys(properties);
|
|
5027
5089
|
})();
|
|
@@ -5577,7 +5639,7 @@ class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
5577
5639
|
group: this.groupPanel,
|
|
5578
5640
|
});
|
|
5579
5641
|
this.watermark = watermark;
|
|
5580
|
-
addDisposableListener(this.watermark.element, '
|
|
5642
|
+
addDisposableListener(this.watermark.element, 'pointerdown', () => {
|
|
5581
5643
|
if (!this.isActive) {
|
|
5582
5644
|
this.accessor.doSetGroupActive(this.groupPanel);
|
|
5583
5645
|
}
|
|
@@ -6142,7 +6204,7 @@ class DockviewPanel extends CompositeDisposable {
|
|
|
6142
6204
|
// forward the resize event to the group since if you want to resize a panel
|
|
6143
6205
|
// you are actually just resizing the panels parent which is the group
|
|
6144
6206
|
this.group.api.setSize(event);
|
|
6145
|
-
}), this.api.onDidRendererChange((
|
|
6207
|
+
}), this.api.onDidRendererChange(() => {
|
|
6146
6208
|
this.group.model.rerender(this);
|
|
6147
6209
|
}));
|
|
6148
6210
|
}
|
|
@@ -6478,17 +6540,30 @@ class Watermark extends CompositeDisposable {
|
|
|
6478
6540
|
}
|
|
6479
6541
|
}
|
|
6480
6542
|
|
|
6481
|
-
const
|
|
6482
|
-
|
|
6483
|
-
|
|
6484
|
-
|
|
6485
|
-
|
|
6543
|
+
const DEFAULT_OVERLAY_Z_INDEX = 999;
|
|
6544
|
+
class AriaLevelTracker {
|
|
6545
|
+
constructor() {
|
|
6546
|
+
this._orderedList = [];
|
|
6547
|
+
}
|
|
6548
|
+
push(element) {
|
|
6549
|
+
this._orderedList = [
|
|
6550
|
+
...this._orderedList.filter((item) => item !== element),
|
|
6551
|
+
element,
|
|
6552
|
+
];
|
|
6553
|
+
this.update();
|
|
6554
|
+
}
|
|
6555
|
+
destroy(element) {
|
|
6556
|
+
this._orderedList = this._orderedList.filter((item) => item !== element);
|
|
6557
|
+
this.update();
|
|
6558
|
+
}
|
|
6559
|
+
update() {
|
|
6560
|
+
for (let i = 0; i < this._orderedList.length; i++) {
|
|
6561
|
+
this._orderedList[i].setAttribute('aria-level', `${i}`);
|
|
6562
|
+
this._orderedList[i].style.zIndex = `${DEFAULT_OVERLAY_Z_INDEX + i * 2}`;
|
|
6486
6563
|
}
|
|
6487
|
-
toggleClass(element, 'dv-bring-to-front', true);
|
|
6488
|
-
previous = element;
|
|
6489
6564
|
}
|
|
6490
|
-
|
|
6491
|
-
|
|
6565
|
+
}
|
|
6566
|
+
const arialLevelTracker = new AriaLevelTracker();
|
|
6492
6567
|
class Overlay extends CompositeDisposable {
|
|
6493
6568
|
set minimumInViewportWidth(value) {
|
|
6494
6569
|
this.options.minimumInViewportWidth = value;
|
|
@@ -6496,6 +6571,9 @@ class Overlay extends CompositeDisposable {
|
|
|
6496
6571
|
set minimumInViewportHeight(value) {
|
|
6497
6572
|
this.options.minimumInViewportHeight = value;
|
|
6498
6573
|
}
|
|
6574
|
+
get element() {
|
|
6575
|
+
return this._element;
|
|
6576
|
+
}
|
|
6499
6577
|
constructor(options) {
|
|
6500
6578
|
super();
|
|
6501
6579
|
this.options = options;
|
|
@@ -6518,6 +6596,10 @@ class Overlay extends CompositeDisposable {
|
|
|
6518
6596
|
this.options.container.appendChild(this._element);
|
|
6519
6597
|
// if input bad resize within acceptable boundaries
|
|
6520
6598
|
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 })));
|
|
6599
|
+
arialLevelTracker.push(this._element);
|
|
6600
|
+
}
|
|
6601
|
+
bringToFront() {
|
|
6602
|
+
arialLevelTracker.push(this._element);
|
|
6521
6603
|
}
|
|
6522
6604
|
setBounds(bounds = {}) {
|
|
6523
6605
|
if (typeof bounds.height === 'number') {
|
|
@@ -6605,18 +6687,10 @@ class Overlay extends CompositeDisposable {
|
|
|
6605
6687
|
const move = new MutableDisposable();
|
|
6606
6688
|
const track = () => {
|
|
6607
6689
|
let offset = null;
|
|
6608
|
-
const iframes =
|
|
6609
|
-
...getElementsByTagName('iframe'),
|
|
6610
|
-
...getElementsByTagName('webview'),
|
|
6611
|
-
];
|
|
6612
|
-
for (const iframe of iframes) {
|
|
6613
|
-
iframe.style.pointerEvents = 'none';
|
|
6614
|
-
}
|
|
6690
|
+
const iframes = disableIframePointEvents();
|
|
6615
6691
|
move.value = new CompositeDisposable({
|
|
6616
6692
|
dispose: () => {
|
|
6617
|
-
|
|
6618
|
-
iframe.style.pointerEvents = 'auto';
|
|
6619
|
-
}
|
|
6693
|
+
iframes.release();
|
|
6620
6694
|
},
|
|
6621
6695
|
}, addDisposableWindowListener(window, 'mousemove', (e) => {
|
|
6622
6696
|
const containerRect = this.options.container.getBoundingClientRect();
|
|
@@ -6685,9 +6759,8 @@ class Overlay extends CompositeDisposable {
|
|
|
6685
6759
|
track();
|
|
6686
6760
|
}
|
|
6687
6761
|
}), addDisposableListener(this.options.content, 'mousedown', () => {
|
|
6688
|
-
|
|
6762
|
+
arialLevelTracker.push(this._element);
|
|
6689
6763
|
}, true));
|
|
6690
|
-
bringElementToFront(this._element);
|
|
6691
6764
|
if (options.inDragMode) {
|
|
6692
6765
|
track();
|
|
6693
6766
|
}
|
|
@@ -6700,13 +6773,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6700
6773
|
this.addDisposables(move, addDisposableListener(resizeHandleElement, 'mousedown', (e) => {
|
|
6701
6774
|
e.preventDefault();
|
|
6702
6775
|
let startPosition = null;
|
|
6703
|
-
const iframes =
|
|
6704
|
-
...getElementsByTagName('iframe'),
|
|
6705
|
-
...getElementsByTagName('webview'),
|
|
6706
|
-
];
|
|
6707
|
-
for (const iframe of iframes) {
|
|
6708
|
-
iframe.style.pointerEvents = 'none';
|
|
6709
|
-
}
|
|
6776
|
+
const iframes = disableIframePointEvents();
|
|
6710
6777
|
move.value = new CompositeDisposable(addDisposableWindowListener(window, 'mousemove', (e) => {
|
|
6711
6778
|
const containerRect = this.options.container.getBoundingClientRect();
|
|
6712
6779
|
const overlayRect = this._element.getBoundingClientRect();
|
|
@@ -6829,9 +6896,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6829
6896
|
this.setBounds(bounds);
|
|
6830
6897
|
}), {
|
|
6831
6898
|
dispose: () => {
|
|
6832
|
-
|
|
6833
|
-
iframe.style.pointerEvents = 'auto';
|
|
6834
|
-
}
|
|
6899
|
+
iframes.release();
|
|
6835
6900
|
},
|
|
6836
6901
|
}, addDisposableWindowListener(window, 'mouseup', () => {
|
|
6837
6902
|
move.dispose();
|
|
@@ -6852,6 +6917,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6852
6917
|
return 0;
|
|
6853
6918
|
}
|
|
6854
6919
|
dispose() {
|
|
6920
|
+
arialLevelTracker.destroy(this._element);
|
|
6855
6921
|
this._element.remove();
|
|
6856
6922
|
super.dispose();
|
|
6857
6923
|
}
|
|
@@ -6880,9 +6946,10 @@ function createFocusableElement() {
|
|
|
6880
6946
|
return element;
|
|
6881
6947
|
}
|
|
6882
6948
|
class OverlayRenderContainer extends CompositeDisposable {
|
|
6883
|
-
constructor(element) {
|
|
6949
|
+
constructor(element, accessor) {
|
|
6884
6950
|
super();
|
|
6885
6951
|
this.element = element;
|
|
6952
|
+
this.accessor = accessor;
|
|
6886
6953
|
this.map = {};
|
|
6887
6954
|
this._disposed = false;
|
|
6888
6955
|
this.addDisposables(Disposable.from(() => {
|
|
@@ -6938,7 +7005,35 @@ class OverlayRenderContainer extends CompositeDisposable {
|
|
|
6938
7005
|
}
|
|
6939
7006
|
focusContainer.style.display = panel.api.isVisible ? '' : 'none';
|
|
6940
7007
|
};
|
|
6941
|
-
const
|
|
7008
|
+
const observerDisposable = new MutableDisposable();
|
|
7009
|
+
const correctLayerPosition = () => {
|
|
7010
|
+
if (panel.api.location.type === 'floating') {
|
|
7011
|
+
queueMicrotask(() => {
|
|
7012
|
+
const floatingGroup = this.accessor.floatingGroups.find((group) => group.group === panel.api.group);
|
|
7013
|
+
if (!floatingGroup) {
|
|
7014
|
+
return;
|
|
7015
|
+
}
|
|
7016
|
+
const element = floatingGroup.overlay.element;
|
|
7017
|
+
const update = () => {
|
|
7018
|
+
const level = Number(element.getAttribute('aria-level'));
|
|
7019
|
+
focusContainer.style.zIndex = `${DEFAULT_OVERLAY_Z_INDEX + level * 2 + 1}`;
|
|
7020
|
+
};
|
|
7021
|
+
const observer = new MutationObserver(() => {
|
|
7022
|
+
update();
|
|
7023
|
+
});
|
|
7024
|
+
observerDisposable.value = Disposable.from(() => observer.disconnect());
|
|
7025
|
+
observer.observe(element, {
|
|
7026
|
+
attributeFilter: ['aria-level'],
|
|
7027
|
+
attributes: true,
|
|
7028
|
+
});
|
|
7029
|
+
update();
|
|
7030
|
+
});
|
|
7031
|
+
}
|
|
7032
|
+
else {
|
|
7033
|
+
focusContainer.style.zIndex = ''; // reset the z-index, perhaps CSS will take over here
|
|
7034
|
+
}
|
|
7035
|
+
};
|
|
7036
|
+
const disposable = new CompositeDisposable(observerDisposable,
|
|
6942
7037
|
/**
|
|
6943
7038
|
* since container is positioned absoutely we must explicitly forward
|
|
6944
7039
|
* the dnd events for the expect behaviours to continue to occur in terms of dnd
|
|
@@ -6962,7 +7057,7 @@ class OverlayRenderContainer extends CompositeDisposable {
|
|
|
6962
7057
|
onDragOver: (e) => {
|
|
6963
7058
|
referenceContainer.dropTarget.dnd.onDragOver(e);
|
|
6964
7059
|
},
|
|
6965
|
-
}), panel.api.onDidVisibilityChange((
|
|
7060
|
+
}), panel.api.onDidVisibilityChange(() => {
|
|
6966
7061
|
/**
|
|
6967
7062
|
* Control the visibility of the content, however even when not visible (display: none)
|
|
6968
7063
|
* the content is still maintained within the DOM hence DOM specific attributes
|
|
@@ -6974,6 +7069,8 @@ class OverlayRenderContainer extends CompositeDisposable {
|
|
|
6974
7069
|
return;
|
|
6975
7070
|
}
|
|
6976
7071
|
resize();
|
|
7072
|
+
}), panel.api.onDidLocationChange(() => {
|
|
7073
|
+
correctLayerPosition();
|
|
6977
7074
|
}));
|
|
6978
7075
|
this.map[panel.api.id].destroy = Disposable.from(() => {
|
|
6979
7076
|
var _a;
|
|
@@ -6982,6 +7079,7 @@ class OverlayRenderContainer extends CompositeDisposable {
|
|
|
6982
7079
|
}
|
|
6983
7080
|
(_a = focusContainer.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(focusContainer);
|
|
6984
7081
|
});
|
|
7082
|
+
correctLayerPosition();
|
|
6985
7083
|
queueMicrotask(() => {
|
|
6986
7084
|
if (this.isDisposed) {
|
|
6987
7085
|
return;
|
|
@@ -7207,7 +7305,10 @@ class DockviewComponent extends BaseGrid {
|
|
|
7207
7305
|
get gap() {
|
|
7208
7306
|
return this.gridview.margin;
|
|
7209
7307
|
}
|
|
7210
|
-
|
|
7308
|
+
get floatingGroups() {
|
|
7309
|
+
return this._floatingGroups;
|
|
7310
|
+
}
|
|
7311
|
+
constructor(parentElement, options) {
|
|
7211
7312
|
var _a;
|
|
7212
7313
|
super({
|
|
7213
7314
|
proportionalLayout: true,
|
|
@@ -7215,10 +7316,11 @@ class DockviewComponent extends BaseGrid {
|
|
|
7215
7316
|
styles: options.hideBorders
|
|
7216
7317
|
? { separatorBorder: 'transparent' }
|
|
7217
7318
|
: undefined,
|
|
7218
|
-
parentElement:
|
|
7319
|
+
parentElement: parentElement,
|
|
7219
7320
|
disableAutoResizing: options.disableAutoResizing,
|
|
7220
7321
|
locked: options.locked,
|
|
7221
7322
|
margin: options.gap,
|
|
7323
|
+
className: options.className,
|
|
7222
7324
|
});
|
|
7223
7325
|
this.nextGroupId = sequentialNumberGenerator();
|
|
7224
7326
|
this._deserializer = new DefaultDockviewDeserialzier(this);
|
|
@@ -7254,10 +7356,10 @@ class DockviewComponent extends BaseGrid {
|
|
|
7254
7356
|
this._onDidActiveGroupChange = new Emitter();
|
|
7255
7357
|
this.onDidActiveGroupChange = this._onDidActiveGroupChange.event;
|
|
7256
7358
|
this._moving = false;
|
|
7257
|
-
const gready = document.createElement('div');
|
|
7258
|
-
gready.className = 'dv-overlay-render-container';
|
|
7259
|
-
this.gridview.element.appendChild(gready);
|
|
7260
|
-
this.overlayRenderContainer = new OverlayRenderContainer(
|
|
7359
|
+
// const gready = document.createElement('div');
|
|
7360
|
+
// gready.className = 'dv-overlay-render-container';
|
|
7361
|
+
// this.gridview.element.appendChild(gready);
|
|
7362
|
+
this.overlayRenderContainer = new OverlayRenderContainer(this.gridview.element, this);
|
|
7261
7363
|
toggleClass(this.gridview.element, 'dv-dockview', true);
|
|
7262
7364
|
toggleClass(this.element, 'dv-debug', !!options.debug);
|
|
7263
7365
|
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(() => {
|
|
@@ -7423,7 +7525,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
7423
7525
|
}
|
|
7424
7526
|
const gready = document.createElement('div');
|
|
7425
7527
|
gready.className = 'dv-overlay-render-container';
|
|
7426
|
-
const overlayRenderContainer = new OverlayRenderContainer(gready);
|
|
7528
|
+
const overlayRenderContainer = new OverlayRenderContainer(gready, this);
|
|
7427
7529
|
const referenceGroup = itemToPopout instanceof DockviewPanel
|
|
7428
7530
|
? itemToPopout.group
|
|
7429
7531
|
: itemToPopout;
|
|
@@ -7572,7 +7674,6 @@ class DockviewComponent extends BaseGrid {
|
|
|
7572
7674
|
}
|
|
7573
7675
|
}
|
|
7574
7676
|
}
|
|
7575
|
-
group.model.location = { type: 'floating' };
|
|
7576
7677
|
function getAnchoredBox() {
|
|
7577
7678
|
if (options === null || options === void 0 ? void 0 : options.position) {
|
|
7578
7679
|
const result = {};
|
|
@@ -7639,10 +7740,14 @@ class DockviewComponent extends BaseGrid {
|
|
|
7639
7740
|
: false,
|
|
7640
7741
|
});
|
|
7641
7742
|
const floatingGroupPanel = new DockviewFloatingGroupPanel(group, overlay);
|
|
7642
|
-
const disposable =
|
|
7743
|
+
const disposable = new CompositeDisposable(group.api.onDidActiveChange((event) => {
|
|
7744
|
+
if (event.isActive) {
|
|
7745
|
+
overlay.bringToFront();
|
|
7746
|
+
}
|
|
7747
|
+
}), watchElementResize(group.element, (entry) => {
|
|
7643
7748
|
const { width, height } = entry.contentRect;
|
|
7644
7749
|
group.layout(width, height); // let the group know it's size is changing so it can fire events to the panel
|
|
7645
|
-
});
|
|
7750
|
+
}));
|
|
7646
7751
|
floatingGroupPanel.addDisposables(overlay.onDidChange(() => {
|
|
7647
7752
|
// this is either a resize or a move
|
|
7648
7753
|
// to inform the panels .layout(...) the group with it's current size
|
|
@@ -7658,12 +7763,13 @@ class DockviewComponent extends BaseGrid {
|
|
|
7658
7763
|
}), {
|
|
7659
7764
|
dispose: () => {
|
|
7660
7765
|
disposable.dispose();
|
|
7661
|
-
group.model.location = { type: 'grid' };
|
|
7662
7766
|
remove(this._floatingGroups, floatingGroupPanel);
|
|
7767
|
+
group.model.location = { type: 'grid' };
|
|
7663
7768
|
this.updateWatermark();
|
|
7664
7769
|
},
|
|
7665
7770
|
});
|
|
7666
7771
|
this._floatingGroups.push(floatingGroupPanel);
|
|
7772
|
+
group.model.location = { type: 'floating' };
|
|
7667
7773
|
if (!(options === null || options === void 0 ? void 0 : options.skipActiveGroup)) {
|
|
7668
7774
|
this.doSetGroupAndPanelActive(group);
|
|
7669
7775
|
}
|
|
@@ -7903,6 +8009,8 @@ class DockviewComponent extends BaseGrid {
|
|
|
7903
8009
|
const group = createGroupFromSerializedState(data);
|
|
7904
8010
|
this.addFloatingGroup(group, {
|
|
7905
8011
|
position: position,
|
|
8012
|
+
width: position.width,
|
|
8013
|
+
height: position.height,
|
|
7906
8014
|
skipRemoveGroup: true,
|
|
7907
8015
|
inDragMode: false,
|
|
7908
8016
|
});
|
|
@@ -8243,6 +8351,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
8243
8351
|
this._groups.delete(group.id);
|
|
8244
8352
|
this._onDidRemoveGroup.fire(group);
|
|
8245
8353
|
}
|
|
8354
|
+
remove(this._popoutGroups, selectedGroup);
|
|
8246
8355
|
const removedGroup = selectedGroup.disposable.dispose();
|
|
8247
8356
|
if (!(options === null || options === void 0 ? void 0 : options.skipPopoutReturn) && removedGroup) {
|
|
8248
8357
|
this.doAddGroup(removedGroup, [0]);
|
|
@@ -8354,6 +8463,31 @@ class DockviewComponent extends BaseGrid {
|
|
|
8354
8463
|
return;
|
|
8355
8464
|
}
|
|
8356
8465
|
}
|
|
8466
|
+
if (sourceGroup.api.location.type === 'popout') {
|
|
8467
|
+
/**
|
|
8468
|
+
* the source group is a popout group with a single panel
|
|
8469
|
+
*
|
|
8470
|
+
* 1. remove the panel from the group without triggering any events
|
|
8471
|
+
* 2. remove the popout group
|
|
8472
|
+
* 3. create a new group at the requested location and add that panel
|
|
8473
|
+
*/
|
|
8474
|
+
const popoutGroup = this._popoutGroups.find((group) => group.popoutGroup === sourceGroup);
|
|
8475
|
+
const removedPanel = this.movingLock(() => popoutGroup.popoutGroup.model.removePanel(popoutGroup.popoutGroup.panels[0], {
|
|
8476
|
+
skipSetActive: true,
|
|
8477
|
+
skipSetActiveGroup: true,
|
|
8478
|
+
}));
|
|
8479
|
+
this.doRemoveGroup(sourceGroup, { skipActive: true });
|
|
8480
|
+
const newGroup = this.createGroupAtLocation(targetLocation);
|
|
8481
|
+
this.movingLock(() => newGroup.model.openPanel(removedPanel, {
|
|
8482
|
+
skipSetActive: true,
|
|
8483
|
+
}));
|
|
8484
|
+
this.doSetGroupAndPanelActive(newGroup);
|
|
8485
|
+
this._onDidMovePanel.fire({
|
|
8486
|
+
panel: this.getGroupPanel(sourceItemId),
|
|
8487
|
+
from: sourceGroup,
|
|
8488
|
+
});
|
|
8489
|
+
return;
|
|
8490
|
+
}
|
|
8357
8491
|
// source group will become empty so delete the group
|
|
8358
8492
|
const targetGroup = this.movingLock(() => this.doRemoveGroup(sourceGroup, {
|
|
8359
8493
|
skipActive: true,
|
|
@@ -8585,13 +8719,14 @@ class GridviewComponent extends BaseGrid {
|
|
|
8585
8719
|
set deserializer(value) {
|
|
8586
8720
|
this._deserializer = value;
|
|
8587
8721
|
}
|
|
8588
|
-
constructor(options) {
|
|
8722
|
+
constructor(parentElement, options) {
|
|
8589
8723
|
super({
|
|
8590
|
-
parentElement:
|
|
8724
|
+
parentElement: parentElement,
|
|
8591
8725
|
proportionalLayout: options.proportionalLayout,
|
|
8592
8726
|
orientation: options.orientation,
|
|
8593
8727
|
styles: options.styles,
|
|
8594
8728
|
disableAutoResizing: options.disableAutoResizing,
|
|
8729
|
+
className: options.className,
|
|
8595
8730
|
});
|
|
8596
8731
|
this._onDidLayoutfromJSON = new Emitter();
|
|
8597
8732
|
this.onDidLayoutFromJSON = this._onDidLayoutfromJSON.event;
|
|
@@ -8883,8 +9018,8 @@ class SplitviewComponent extends Resizable {
|
|
|
8883
9018
|
? this.splitview.size
|
|
8884
9019
|
: this.splitview.orthogonalSize;
|
|
8885
9020
|
}
|
|
8886
|
-
constructor(options) {
|
|
8887
|
-
super(
|
|
9021
|
+
constructor(parentElement, options) {
|
|
9022
|
+
super(parentElement, options.disableAutoResizing);
|
|
8888
9023
|
this._splitviewChangeDisposable = new MutableDisposable();
|
|
8889
9024
|
this._panels = new Map();
|
|
8890
9025
|
this._onDidLayoutfromJSON = new Emitter();
|
|
@@ -8895,6 +9030,9 @@ class SplitviewComponent extends Resizable {
|
|
|
8895
9030
|
this.onDidRemoveView = this._onDidRemoveView.event;
|
|
8896
9031
|
this._onDidLayoutChange = new Emitter();
|
|
8897
9032
|
this.onDidLayoutChange = this._onDidLayoutChange.event;
|
|
9033
|
+
if (typeof options.className === 'string') {
|
|
9034
|
+
this.element.classList.add(options.className);
|
|
9035
|
+
}
|
|
8898
9036
|
this._options = options;
|
|
8899
9037
|
if (!options.components) {
|
|
8900
9038
|
options.components = {};
|
|
@@ -9207,8 +9345,8 @@ class PaneviewComponent extends Resizable {
|
|
|
9207
9345
|
get options() {
|
|
9208
9346
|
return this._options;
|
|
9209
9347
|
}
|
|
9210
|
-
constructor(options) {
|
|
9211
|
-
super(
|
|
9348
|
+
constructor(parentElement, options) {
|
|
9349
|
+
super(parentElement, options.disableAutoResizing);
|
|
9212
9350
|
this._id = nextLayoutId.next();
|
|
9213
9351
|
this._disposable = new MutableDisposable();
|
|
9214
9352
|
this._viewDisposables = new Map();
|
|
@@ -9222,6 +9360,9 @@ class PaneviewComponent extends Resizable {
|
|
|
9222
9360
|
this.onDidAddView = this._onDidAddView.event;
|
|
9223
9361
|
this._onDidRemoveView = new Emitter();
|
|
9224
9362
|
this.onDidRemoveView = this._onDidRemoveView.event;
|
|
9363
|
+
if (typeof options.className === 'string') {
|
|
9364
|
+
this.element.classList.add(options.className);
|
|
9365
|
+
}
|
|
9225
9366
|
this.addDisposables(this._onDidLayoutChange, this._onDidLayoutfromJSON, this._onDidDrop, this._onDidAddView, this._onDidRemoveView);
|
|
9226
9367
|
this._options = options;
|
|
9227
9368
|
if (!options.components) {
|
|
@@ -9537,6 +9678,23 @@ class SplitviewPanel extends BasePanelView {
|
|
|
9537
9678
|
}
|
|
9538
9679
|
}
|
|
9539
9680
|
|
|
9681
|
+
function createDockview(element, options) {
|
|
9682
|
+
const component = new DockviewComponent(element, options);
|
|
9683
|
+
return component.api;
|
|
9684
|
+
}
|
|
9685
|
+
function createSplitview(element, options) {
|
|
9686
|
+
const component = new SplitviewComponent(element, options);
|
|
9687
|
+
return new SplitviewApi(component);
|
|
9688
|
+
}
|
|
9689
|
+
function createGridview(element, options) {
|
|
9690
|
+
const component = new GridviewComponent(element, options);
|
|
9691
|
+
return new GridviewApi(component);
|
|
9692
|
+
}
|
|
9693
|
+
function createPaneview(element, options) {
|
|
9694
|
+
const component = new PaneviewComponent(element, options);
|
|
9695
|
+
return new PaneviewApi(component);
|
|
9696
|
+
}
|
|
9697
|
+
|
|
9540
9698
|
/**
|
|
9541
9699
|
* This component is intended to interface between vanilla-js and React hence we need to be
|
|
9542
9700
|
* creative in how we update props.
|
|
@@ -9916,20 +10074,19 @@ const DockviewReact = React.forwardRef((props, ref) => {
|
|
|
9916
10074
|
});
|
|
9917
10075
|
}
|
|
9918
10076
|
: undefined,
|
|
9919
|
-
parentElement: domRef.current,
|
|
9920
10077
|
defaultTabComponent: props.defaultTabComponent
|
|
9921
10078
|
? DEFAULT_REACT_TAB
|
|
9922
10079
|
: undefined,
|
|
9923
10080
|
};
|
|
9924
|
-
const
|
|
10081
|
+
const api = createDockview(domRef.current, Object.assign(Object.assign({}, extractCoreOptions(props)), frameworkOptions));
|
|
9925
10082
|
const { clientWidth, clientHeight } = domRef.current;
|
|
9926
|
-
|
|
10083
|
+
api.layout(clientWidth, clientHeight);
|
|
9927
10084
|
if (props.onReady) {
|
|
9928
|
-
props.onReady({ api
|
|
10085
|
+
props.onReady({ api });
|
|
9929
10086
|
}
|
|
9930
|
-
dockviewRef.current =
|
|
10087
|
+
dockviewRef.current = api;
|
|
9931
10088
|
return () => {
|
|
9932
|
-
|
|
10089
|
+
api.dispose();
|
|
9933
10090
|
};
|
|
9934
10091
|
}, []);
|
|
9935
10092
|
React.useEffect(() => {
|
|
@@ -10132,8 +10289,7 @@ const SplitviewReact = React.forwardRef((props, ref) => {
|
|
|
10132
10289
|
React.useImperativeHandle(ref, () => domRef.current, []);
|
|
10133
10290
|
React.useEffect(() => {
|
|
10134
10291
|
var _a;
|
|
10135
|
-
const
|
|
10136
|
-
parentElement: domRef.current,
|
|
10292
|
+
const api = createSplitview(domRef.current, {
|
|
10137
10293
|
disableAutoResizing: props.disableAutoResizing,
|
|
10138
10294
|
orientation: (_a = props.orientation) !== null && _a !== void 0 ? _a : Orientation.HORIZONTAL,
|
|
10139
10295
|
frameworkComponents: props.components,
|
|
@@ -10152,13 +10308,13 @@ const SplitviewReact = React.forwardRef((props, ref) => {
|
|
|
10152
10308
|
: undefined,
|
|
10153
10309
|
});
|
|
10154
10310
|
const { clientWidth, clientHeight } = domRef.current;
|
|
10155
|
-
|
|
10311
|
+
api.layout(clientWidth, clientHeight);
|
|
10156
10312
|
if (props.onReady) {
|
|
10157
|
-
props.onReady({ api
|
|
10313
|
+
props.onReady({ api });
|
|
10158
10314
|
}
|
|
10159
|
-
splitviewRef.current =
|
|
10315
|
+
splitviewRef.current = api;
|
|
10160
10316
|
return () => {
|
|
10161
|
-
|
|
10317
|
+
api.dispose();
|
|
10162
10318
|
};
|
|
10163
10319
|
}, []);
|
|
10164
10320
|
React.useEffect(() => {
|
|
@@ -10203,8 +10359,7 @@ const GridviewReact = React.forwardRef((props, ref) => {
|
|
|
10203
10359
|
// noop
|
|
10204
10360
|
};
|
|
10205
10361
|
}
|
|
10206
|
-
const
|
|
10207
|
-
parentElement: domRef.current,
|
|
10362
|
+
const api = createGridview(domRef.current, {
|
|
10208
10363
|
disableAutoResizing: props.disableAutoResizing,
|
|
10209
10364
|
proportionalLayout: typeof props.proportionalLayout === 'boolean'
|
|
10210
10365
|
? props.proportionalLayout
|
|
@@ -10223,13 +10378,13 @@ const GridviewReact = React.forwardRef((props, ref) => {
|
|
|
10223
10378
|
: undefined,
|
|
10224
10379
|
});
|
|
10225
10380
|
const { clientWidth, clientHeight } = domRef.current;
|
|
10226
|
-
|
|
10381
|
+
api.layout(clientWidth, clientHeight);
|
|
10227
10382
|
if (props.onReady) {
|
|
10228
|
-
props.onReady({ api
|
|
10383
|
+
props.onReady({ api });
|
|
10229
10384
|
}
|
|
10230
|
-
gridviewRef.current =
|
|
10385
|
+
gridviewRef.current = api;
|
|
10231
10386
|
return () => {
|
|
10232
|
-
|
|
10387
|
+
api.dispose();
|
|
10233
10388
|
};
|
|
10234
10389
|
}, []);
|
|
10235
10390
|
React.useEffect(() => {
|
|
@@ -10288,8 +10443,7 @@ const PaneviewReact = React.forwardRef((props, ref) => {
|
|
|
10288
10443
|
const createComponent = (id, _componentId, component) => new PanePanelSection(id, component, {
|
|
10289
10444
|
addPortal,
|
|
10290
10445
|
});
|
|
10291
|
-
const
|
|
10292
|
-
parentElement: domRef.current,
|
|
10446
|
+
const api = createPaneview(domRef.current, {
|
|
10293
10447
|
disableAutoResizing: props.disableAutoResizing,
|
|
10294
10448
|
frameworkComponents: props.components,
|
|
10295
10449
|
components: {},
|
|
@@ -10306,15 +10460,14 @@ const PaneviewReact = React.forwardRef((props, ref) => {
|
|
|
10306
10460
|
},
|
|
10307
10461
|
showDndOverlay: props.showDndOverlay,
|
|
10308
10462
|
});
|
|
10309
|
-
const api = new PaneviewApi(paneview);
|
|
10310
10463
|
const { clientWidth, clientHeight } = domRef.current;
|
|
10311
|
-
|
|
10464
|
+
api.layout(clientWidth, clientHeight);
|
|
10312
10465
|
if (props.onReady) {
|
|
10313
10466
|
props.onReady({ api });
|
|
10314
10467
|
}
|
|
10315
|
-
paneviewRef.current =
|
|
10468
|
+
paneviewRef.current = api;
|
|
10316
10469
|
return () => {
|
|
10317
|
-
|
|
10470
|
+
api.dispose();
|
|
10318
10471
|
};
|
|
10319
10472
|
}, []);
|
|
10320
10473
|
React.useEffect(() => {
|
|
@@ -10339,10 +10492,10 @@ const PaneviewReact = React.forwardRef((props, ref) => {
|
|
|
10339
10492
|
//
|
|
10340
10493
|
};
|
|
10341
10494
|
}
|
|
10342
|
-
const
|
|
10343
|
-
const disposable =
|
|
10495
|
+
const api = paneviewRef.current;
|
|
10496
|
+
const disposable = api.onDidDrop((event) => {
|
|
10344
10497
|
if (props.onDidDrop) {
|
|
10345
|
-
props.onDidDrop(Object.assign(Object.assign({}, event), { api
|
|
10498
|
+
props.onDidDrop(Object.assign(Object.assign({}, event), { api }));
|
|
10346
10499
|
}
|
|
10347
10500
|
});
|
|
10348
10501
|
return () => {
|
|
@@ -10361,5 +10514,5 @@ const PaneviewReact = React.forwardRef((props, ref) => {
|
|
|
10361
10514
|
});
|
|
10362
10515
|
PaneviewReact.displayName = 'PaneviewComponent';
|
|
10363
10516
|
|
|
10364
|
-
export { BaseGrid, ContentContainer, DefaultDockviewDeserialzier, DefaultTab, DockviewApi, DockviewComponent, CompositeDisposable as DockviewCompositeDisposable, DockviewDefaultTab, DockviewDidDropEvent, Disposable as DockviewDisposable, Emitter as DockviewEmitter, Event as DockviewEvent, DockviewGroupPanel, DockviewGroupPanelModel, MutableDisposable as DockviewMutableDisposable, DockviewPanel, DockviewReact, DockviewUnhandledDragOverEvent, DockviewWillDropEvent, DraggablePaneviewPanel, Gridview, GridviewApi, GridviewComponent, GridviewPanel, GridviewReact, LayoutPriority, LocalSelectionTransfer, Orientation, PROPERTY_KEYS, PaneFramework, PaneTransfer, PanelTransfer, Paneview, PaneviewApi, PaneviewComponent, PaneviewPanel, PaneviewReact, ReactPart, ReactPartContext, SashState, Sizing, Splitview, SplitviewApi, SplitviewComponent, SplitviewPanel, SplitviewReact, Tab, WillShowOverlayLocationEvent, createComponent, directionToPosition, getDirectionOrientation, getGridLocation, getLocationOrientation, getPaneData, getPanelData, getRelativeLocation, indexInParent, isGridBranchNode, isGroupOptionsWithGroup, isGroupOptionsWithPanel, isPanelOptionsWithGroup, isPanelOptionsWithPanel, isReactComponent, orthogonal, positionToDirection, toTarget, usePortalsLifecycle };
|
|
10517
|
+
export { BaseGrid, ContentContainer, DefaultDockviewDeserialzier, DefaultTab, DockviewApi, DockviewComponent, CompositeDisposable as DockviewCompositeDisposable, DockviewDefaultTab, DockviewDidDropEvent, Disposable as DockviewDisposable, Emitter as DockviewEmitter, Event as DockviewEvent, DockviewGroupPanel, DockviewGroupPanelModel, MutableDisposable as DockviewMutableDisposable, DockviewPanel, DockviewReact, DockviewUnhandledDragOverEvent, DockviewWillDropEvent, DraggablePaneviewPanel, Gridview, GridviewApi, GridviewComponent, GridviewPanel, GridviewReact, LayoutPriority, LocalSelectionTransfer, Orientation, PROPERTY_KEYS, PaneFramework, PaneTransfer, PanelTransfer, Paneview, PaneviewApi, PaneviewComponent, PaneviewPanel, PaneviewReact, ReactPart, ReactPartContext, SashState, Sizing, Splitview, SplitviewApi, SplitviewComponent, SplitviewPanel, SplitviewReact, Tab, WillShowOverlayLocationEvent, createComponent, createDockview, createGridview, createPaneview, createSplitview, directionToPosition, getDirectionOrientation, getGridLocation, getLocationOrientation, getPaneData, getPanelData, getRelativeLocation, indexInParent, isGridBranchNode, isGroupOptionsWithGroup, isGroupOptionsWithPanel, isPanelOptionsWithGroup, isPanelOptionsWithPanel, isReactComponent, orthogonal, positionToDirection, toTarget, usePortalsLifecycle };
|
|
10365
10518
|
//# sourceMappingURL=dockview-react.esm.js.map
|