dockview-react 1.15.3 → 1.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dockview-react.amd.js +323 -125
- package/dist/dockview-react.amd.js.map +1 -1
- package/dist/dockview-react.amd.min.js +2 -2
- package/dist/dockview-react.amd.min.js.map +1 -1
- package/dist/dockview-react.amd.min.noStyle.js +2 -2
- package/dist/dockview-react.amd.min.noStyle.js.map +1 -1
- package/dist/dockview-react.amd.noStyle.js +322 -124
- package/dist/dockview-react.amd.noStyle.js.map +1 -1
- package/dist/dockview-react.cjs.js +323 -125
- package/dist/dockview-react.cjs.js.map +1 -1
- package/dist/dockview-react.esm.js +320 -126
- package/dist/dockview-react.esm.js.map +1 -1
- package/dist/dockview-react.esm.min.js +2 -2
- package/dist/dockview-react.esm.min.js.map +1 -1
- package/dist/dockview-react.js +323 -125
- package/dist/dockview-react.js.map +1 -1
- package/dist/dockview-react.min.js +2 -2
- package/dist/dockview-react.min.js.map +1 -1
- package/dist/dockview-react.min.noStyle.js +2 -2
- package/dist/dockview-react.min.noStyle.js.map +1 -1
- package/dist/dockview-react.noStyle.js +322 -124
- package/dist/dockview-react.noStyle.js.map +1 -1
- package/dist/styles/dockview.css +78 -82
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dockview-react
|
|
3
|
-
* @version 1.
|
|
3
|
+
* @version 1.16.1
|
|
4
4
|
* @link https://github.com/mathuo/dockview
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -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: 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}";
|
|
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`;
|
|
@@ -2672,6 +2702,7 @@ class BaseGrid extends Resizable {
|
|
|
2672
2702
|
this.gridview.locked = value;
|
|
2673
2703
|
}
|
|
2674
2704
|
constructor(options) {
|
|
2705
|
+
var _a, _b;
|
|
2675
2706
|
super(document.createElement('div'), options.disableAutoResizing);
|
|
2676
2707
|
this._id = nextLayoutId$1.next();
|
|
2677
2708
|
this._groups = new Map();
|
|
@@ -2685,8 +2716,13 @@ class BaseGrid extends Resizable {
|
|
|
2685
2716
|
this.onDidLayoutChange = this._bufferOnDidLayoutChange.onEvent;
|
|
2686
2717
|
this._onDidViewVisibilityChangeMicroTaskQueue = new AsapEvent();
|
|
2687
2718
|
this.onDidViewVisibilityChangeMicroTaskQueue = this._onDidViewVisibilityChangeMicroTaskQueue.onEvent;
|
|
2719
|
+
this.classNames = [];
|
|
2688
2720
|
this.element.style.height = '100%';
|
|
2689
2721
|
this.element.style.width = '100%';
|
|
2722
|
+
this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
|
|
2723
|
+
for (const className of this.classNames) {
|
|
2724
|
+
toggleClass(this.element, className, true);
|
|
2725
|
+
}
|
|
2690
2726
|
options.parentElement.appendChild(this.element);
|
|
2691
2727
|
this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation, options.locked, options.margin);
|
|
2692
2728
|
this.gridview.locked = !!options.locked;
|
|
@@ -2710,6 +2746,18 @@ class BaseGrid extends Resizable {
|
|
|
2710
2746
|
isVisible(panel) {
|
|
2711
2747
|
return this.gridview.isViewVisible(getGridLocation(panel.element));
|
|
2712
2748
|
}
|
|
2749
|
+
updateOptions(options) {
|
|
2750
|
+
var _a, _b;
|
|
2751
|
+
if ('className' in options) {
|
|
2752
|
+
for (const className of this.classNames) {
|
|
2753
|
+
toggleClass(this.element, className, false);
|
|
2754
|
+
}
|
|
2755
|
+
this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
|
|
2756
|
+
for (const className of this.classNames) {
|
|
2757
|
+
toggleClass(this.element, className, true);
|
|
2758
|
+
}
|
|
2759
|
+
}
|
|
2760
|
+
}
|
|
2713
2761
|
maximizeGroup(panel) {
|
|
2714
2762
|
this.gridview.maximizeView(panel);
|
|
2715
2763
|
this.doSetGroupActive(panel);
|
|
@@ -2890,12 +2938,6 @@ class SplitviewApi {
|
|
|
2890
2938
|
constructor(component) {
|
|
2891
2939
|
this.component = component;
|
|
2892
2940
|
}
|
|
2893
|
-
/**
|
|
2894
|
-
* Update configuratable options.
|
|
2895
|
-
*/
|
|
2896
|
-
updateOptions(options) {
|
|
2897
|
-
this.component.updateOptions(options);
|
|
2898
|
-
}
|
|
2899
2941
|
/**
|
|
2900
2942
|
* Removes an existing panel and optionally provide a `Sizing` method
|
|
2901
2943
|
* for the subsequent resize.
|
|
@@ -2949,6 +2991,18 @@ class SplitviewApi {
|
|
|
2949
2991
|
clear() {
|
|
2950
2992
|
this.component.clear();
|
|
2951
2993
|
}
|
|
2994
|
+
/**
|
|
2995
|
+
* Update configuratable options.
|
|
2996
|
+
*/
|
|
2997
|
+
updateOptions(options) {
|
|
2998
|
+
this.component.updateOptions(options);
|
|
2999
|
+
}
|
|
3000
|
+
/**
|
|
3001
|
+
* Release resources and teardown component. Do not call when using framework versions of dockview.
|
|
3002
|
+
*/
|
|
3003
|
+
dispose() {
|
|
3004
|
+
this.component.dispose();
|
|
3005
|
+
}
|
|
2952
3006
|
}
|
|
2953
3007
|
class PaneviewApi {
|
|
2954
3008
|
/**
|
|
@@ -3076,6 +3130,18 @@ class PaneviewApi {
|
|
|
3076
3130
|
clear() {
|
|
3077
3131
|
this.component.clear();
|
|
3078
3132
|
}
|
|
3133
|
+
/**
|
|
3134
|
+
* Update configuratable options.
|
|
3135
|
+
*/
|
|
3136
|
+
updateOptions(options) {
|
|
3137
|
+
this.component.updateOptions(options);
|
|
3138
|
+
}
|
|
3139
|
+
/**
|
|
3140
|
+
* Release resources and teardown component. Do not call when using framework versions of dockview.
|
|
3141
|
+
*/
|
|
3142
|
+
dispose() {
|
|
3143
|
+
this.component.dispose();
|
|
3144
|
+
}
|
|
3079
3145
|
}
|
|
3080
3146
|
class GridviewApi {
|
|
3081
3147
|
/**
|
|
@@ -3216,6 +3282,15 @@ class GridviewApi {
|
|
|
3216
3282
|
clear() {
|
|
3217
3283
|
this.component.clear();
|
|
3218
3284
|
}
|
|
3285
|
+
updateOptions(options) {
|
|
3286
|
+
this.component.updateOptions(options);
|
|
3287
|
+
}
|
|
3288
|
+
/**
|
|
3289
|
+
* Release resources and teardown component. Do not call when using framework versions of dockview.
|
|
3290
|
+
*/
|
|
3291
|
+
dispose() {
|
|
3292
|
+
this.component.dispose();
|
|
3293
|
+
}
|
|
3219
3294
|
}
|
|
3220
3295
|
class DockviewApi {
|
|
3221
3296
|
/**
|
|
@@ -3508,6 +3583,15 @@ class DockviewApi {
|
|
|
3508
3583
|
setGap(gap) {
|
|
3509
3584
|
this.component.updateOptions({ gap });
|
|
3510
3585
|
}
|
|
3586
|
+
updateOptions(options) {
|
|
3587
|
+
this.component.updateOptions(options);
|
|
3588
|
+
}
|
|
3589
|
+
/**
|
|
3590
|
+
* Release resources and teardown component. Do not call when using framework versions of dockview.
|
|
3591
|
+
*/
|
|
3592
|
+
dispose() {
|
|
3593
|
+
this.component.dispose();
|
|
3594
|
+
}
|
|
3511
3595
|
}
|
|
3512
3596
|
|
|
3513
3597
|
class DragHandler extends CompositeDisposable {
|
|
@@ -3530,20 +3614,12 @@ class DragHandler extends CompositeDisposable {
|
|
|
3530
3614
|
event.preventDefault();
|
|
3531
3615
|
return;
|
|
3532
3616
|
}
|
|
3533
|
-
const iframes =
|
|
3534
|
-
...getElementsByTagName('iframe'),
|
|
3535
|
-
...getElementsByTagName('webview'),
|
|
3536
|
-
];
|
|
3617
|
+
const iframes = disableIframePointEvents();
|
|
3537
3618
|
this.pointerEventsDisposable.value = {
|
|
3538
3619
|
dispose: () => {
|
|
3539
|
-
|
|
3540
|
-
iframe.style.pointerEvents = 'auto';
|
|
3541
|
-
}
|
|
3620
|
+
iframes.release();
|
|
3542
3621
|
},
|
|
3543
3622
|
};
|
|
3544
|
-
for (const iframe of iframes) {
|
|
3545
|
-
iframe.style.pointerEvents = 'none';
|
|
3546
|
-
}
|
|
3547
3623
|
this.el.classList.add('dv-dragged');
|
|
3548
3624
|
setTimeout(() => this.el.classList.remove('dv-dragged'), 0);
|
|
3549
3625
|
this.dataDisposable.value = this.getData(event);
|
|
@@ -4707,7 +4783,7 @@ class VoidContainer extends CompositeDisposable {
|
|
|
4707
4783
|
this._element.className = 'void-container';
|
|
4708
4784
|
this._element.tabIndex = 0;
|
|
4709
4785
|
this._element.draggable = true;
|
|
4710
|
-
this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, '
|
|
4786
|
+
this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, 'pointerdown', () => {
|
|
4711
4787
|
this.accessor.doSetGroupActive(this.group);
|
|
4712
4788
|
}));
|
|
4713
4789
|
const handler = new GroupDragHandler(this._element, accessor, group);
|
|
@@ -5022,6 +5098,7 @@ const PROPERTY_KEYS = (() => {
|
|
|
5022
5098
|
locked: undefined,
|
|
5023
5099
|
disableDnd: undefined,
|
|
5024
5100
|
gap: undefined,
|
|
5101
|
+
className: undefined,
|
|
5025
5102
|
};
|
|
5026
5103
|
return Object.keys(properties);
|
|
5027
5104
|
})();
|
|
@@ -5577,7 +5654,7 @@ class DockviewGroupPanelModel extends CompositeDisposable {
|
|
|
5577
5654
|
group: this.groupPanel,
|
|
5578
5655
|
});
|
|
5579
5656
|
this.watermark = watermark;
|
|
5580
|
-
addDisposableListener(this.watermark.element, '
|
|
5657
|
+
addDisposableListener(this.watermark.element, 'pointerdown', () => {
|
|
5581
5658
|
if (!this.isActive) {
|
|
5582
5659
|
this.accessor.doSetGroupActive(this.groupPanel);
|
|
5583
5660
|
}
|
|
@@ -6142,7 +6219,7 @@ class DockviewPanel extends CompositeDisposable {
|
|
|
6142
6219
|
// forward the resize event to the group since if you want to resize a panel
|
|
6143
6220
|
// you are actually just resizing the panels parent which is the group
|
|
6144
6221
|
this.group.api.setSize(event);
|
|
6145
|
-
}), this.api.onDidRendererChange((
|
|
6222
|
+
}), this.api.onDidRendererChange(() => {
|
|
6146
6223
|
this.group.model.rerender(this);
|
|
6147
6224
|
}));
|
|
6148
6225
|
}
|
|
@@ -6478,17 +6555,30 @@ class Watermark extends CompositeDisposable {
|
|
|
6478
6555
|
}
|
|
6479
6556
|
}
|
|
6480
6557
|
|
|
6481
|
-
const
|
|
6482
|
-
|
|
6483
|
-
|
|
6484
|
-
|
|
6485
|
-
|
|
6558
|
+
const DEFAULT_OVERLAY_Z_INDEX = 999;
|
|
6559
|
+
class AriaLevelTracker {
|
|
6560
|
+
constructor() {
|
|
6561
|
+
this._orderedList = [];
|
|
6562
|
+
}
|
|
6563
|
+
push(element) {
|
|
6564
|
+
this._orderedList = [
|
|
6565
|
+
...this._orderedList.filter((item) => item !== element),
|
|
6566
|
+
element,
|
|
6567
|
+
];
|
|
6568
|
+
this.update();
|
|
6569
|
+
}
|
|
6570
|
+
destroy(element) {
|
|
6571
|
+
this._orderedList = this._orderedList.filter((item) => item !== element);
|
|
6572
|
+
this.update();
|
|
6573
|
+
}
|
|
6574
|
+
update() {
|
|
6575
|
+
for (let i = 0; i < this._orderedList.length; i++) {
|
|
6576
|
+
this._orderedList[i].setAttribute('aria-level', `${i}`);
|
|
6577
|
+
this._orderedList[i].style.zIndex = `${DEFAULT_OVERLAY_Z_INDEX + i * 2}`;
|
|
6486
6578
|
}
|
|
6487
|
-
toggleClass(element, 'dv-bring-to-front', true);
|
|
6488
|
-
previous = element;
|
|
6489
6579
|
}
|
|
6490
|
-
|
|
6491
|
-
|
|
6580
|
+
}
|
|
6581
|
+
const arialLevelTracker = new AriaLevelTracker();
|
|
6492
6582
|
class Overlay extends CompositeDisposable {
|
|
6493
6583
|
set minimumInViewportWidth(value) {
|
|
6494
6584
|
this.options.minimumInViewportWidth = value;
|
|
@@ -6496,6 +6586,9 @@ class Overlay extends CompositeDisposable {
|
|
|
6496
6586
|
set minimumInViewportHeight(value) {
|
|
6497
6587
|
this.options.minimumInViewportHeight = value;
|
|
6498
6588
|
}
|
|
6589
|
+
get element() {
|
|
6590
|
+
return this._element;
|
|
6591
|
+
}
|
|
6499
6592
|
constructor(options) {
|
|
6500
6593
|
super();
|
|
6501
6594
|
this.options = options;
|
|
@@ -6518,6 +6611,10 @@ class Overlay extends CompositeDisposable {
|
|
|
6518
6611
|
this.options.container.appendChild(this._element);
|
|
6519
6612
|
// if input bad resize within acceptable boundaries
|
|
6520
6613
|
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 })));
|
|
6614
|
+
arialLevelTracker.push(this._element);
|
|
6615
|
+
}
|
|
6616
|
+
bringToFront() {
|
|
6617
|
+
arialLevelTracker.push(this._element);
|
|
6521
6618
|
}
|
|
6522
6619
|
setBounds(bounds = {}) {
|
|
6523
6620
|
if (typeof bounds.height === 'number') {
|
|
@@ -6605,18 +6702,10 @@ class Overlay extends CompositeDisposable {
|
|
|
6605
6702
|
const move = new MutableDisposable();
|
|
6606
6703
|
const track = () => {
|
|
6607
6704
|
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
|
-
}
|
|
6705
|
+
const iframes = disableIframePointEvents();
|
|
6615
6706
|
move.value = new CompositeDisposable({
|
|
6616
6707
|
dispose: () => {
|
|
6617
|
-
|
|
6618
|
-
iframe.style.pointerEvents = 'auto';
|
|
6619
|
-
}
|
|
6708
|
+
iframes.release();
|
|
6620
6709
|
},
|
|
6621
6710
|
}, addDisposableWindowListener(window, 'mousemove', (e) => {
|
|
6622
6711
|
const containerRect = this.options.container.getBoundingClientRect();
|
|
@@ -6685,9 +6774,8 @@ class Overlay extends CompositeDisposable {
|
|
|
6685
6774
|
track();
|
|
6686
6775
|
}
|
|
6687
6776
|
}), addDisposableListener(this.options.content, 'mousedown', () => {
|
|
6688
|
-
|
|
6777
|
+
arialLevelTracker.push(this._element);
|
|
6689
6778
|
}, true));
|
|
6690
|
-
bringElementToFront(this._element);
|
|
6691
6779
|
if (options.inDragMode) {
|
|
6692
6780
|
track();
|
|
6693
6781
|
}
|
|
@@ -6700,13 +6788,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6700
6788
|
this.addDisposables(move, addDisposableListener(resizeHandleElement, 'mousedown', (e) => {
|
|
6701
6789
|
e.preventDefault();
|
|
6702
6790
|
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
|
-
}
|
|
6791
|
+
const iframes = disableIframePointEvents();
|
|
6710
6792
|
move.value = new CompositeDisposable(addDisposableWindowListener(window, 'mousemove', (e) => {
|
|
6711
6793
|
const containerRect = this.options.container.getBoundingClientRect();
|
|
6712
6794
|
const overlayRect = this._element.getBoundingClientRect();
|
|
@@ -6829,9 +6911,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6829
6911
|
this.setBounds(bounds);
|
|
6830
6912
|
}), {
|
|
6831
6913
|
dispose: () => {
|
|
6832
|
-
|
|
6833
|
-
iframe.style.pointerEvents = 'auto';
|
|
6834
|
-
}
|
|
6914
|
+
iframes.release();
|
|
6835
6915
|
},
|
|
6836
6916
|
}, addDisposableWindowListener(window, 'mouseup', () => {
|
|
6837
6917
|
move.dispose();
|
|
@@ -6852,6 +6932,7 @@ class Overlay extends CompositeDisposable {
|
|
|
6852
6932
|
return 0;
|
|
6853
6933
|
}
|
|
6854
6934
|
dispose() {
|
|
6935
|
+
arialLevelTracker.destroy(this._element);
|
|
6855
6936
|
this._element.remove();
|
|
6856
6937
|
super.dispose();
|
|
6857
6938
|
}
|
|
@@ -6880,9 +6961,10 @@ function createFocusableElement() {
|
|
|
6880
6961
|
return element;
|
|
6881
6962
|
}
|
|
6882
6963
|
class OverlayRenderContainer extends CompositeDisposable {
|
|
6883
|
-
constructor(element) {
|
|
6964
|
+
constructor(element, accessor) {
|
|
6884
6965
|
super();
|
|
6885
6966
|
this.element = element;
|
|
6967
|
+
this.accessor = accessor;
|
|
6886
6968
|
this.map = {};
|
|
6887
6969
|
this._disposed = false;
|
|
6888
6970
|
this.addDisposables(Disposable.from(() => {
|
|
@@ -6938,7 +7020,35 @@ class OverlayRenderContainer extends CompositeDisposable {
|
|
|
6938
7020
|
}
|
|
6939
7021
|
focusContainer.style.display = panel.api.isVisible ? '' : 'none';
|
|
6940
7022
|
};
|
|
6941
|
-
const
|
|
7023
|
+
const observerDisposable = new MutableDisposable();
|
|
7024
|
+
const correctLayerPosition = () => {
|
|
7025
|
+
if (panel.api.location.type === 'floating') {
|
|
7026
|
+
queueMicrotask(() => {
|
|
7027
|
+
const floatingGroup = this.accessor.floatingGroups.find((group) => group.group === panel.api.group);
|
|
7028
|
+
if (!floatingGroup) {
|
|
7029
|
+
return;
|
|
7030
|
+
}
|
|
7031
|
+
const element = floatingGroup.overlay.element;
|
|
7032
|
+
const update = () => {
|
|
7033
|
+
const level = Number(element.getAttribute('aria-level'));
|
|
7034
|
+
focusContainer.style.zIndex = `${DEFAULT_OVERLAY_Z_INDEX + level * 2 + 1}`;
|
|
7035
|
+
};
|
|
7036
|
+
const observer = new MutationObserver(() => {
|
|
7037
|
+
update();
|
|
7038
|
+
});
|
|
7039
|
+
observerDisposable.value = Disposable.from(() => observer.disconnect());
|
|
7040
|
+
observer.observe(element, {
|
|
7041
|
+
attributeFilter: ['aria-level'],
|
|
7042
|
+
attributes: true,
|
|
7043
|
+
});
|
|
7044
|
+
update();
|
|
7045
|
+
});
|
|
7046
|
+
}
|
|
7047
|
+
else {
|
|
7048
|
+
focusContainer.style.zIndex = ''; // reset the z-index, perhaps CSS will take over here
|
|
7049
|
+
}
|
|
7050
|
+
};
|
|
7051
|
+
const disposable = new CompositeDisposable(observerDisposable,
|
|
6942
7052
|
/**
|
|
6943
7053
|
* since container is positioned absoutely we must explicitly forward
|
|
6944
7054
|
* the dnd events for the expect behaviours to continue to occur in terms of dnd
|
|
@@ -6962,7 +7072,7 @@ class OverlayRenderContainer extends CompositeDisposable {
|
|
|
6962
7072
|
onDragOver: (e) => {
|
|
6963
7073
|
referenceContainer.dropTarget.dnd.onDragOver(e);
|
|
6964
7074
|
},
|
|
6965
|
-
}), panel.api.onDidVisibilityChange((
|
|
7075
|
+
}), panel.api.onDidVisibilityChange(() => {
|
|
6966
7076
|
/**
|
|
6967
7077
|
* Control the visibility of the content, however even when not visible (display: none)
|
|
6968
7078
|
* the content is still maintained within the DOM hence DOM specific attributes
|
|
@@ -6974,6 +7084,8 @@ class OverlayRenderContainer extends CompositeDisposable {
|
|
|
6974
7084
|
return;
|
|
6975
7085
|
}
|
|
6976
7086
|
resize();
|
|
7087
|
+
}), panel.api.onDidLocationChange(() => {
|
|
7088
|
+
correctLayerPosition();
|
|
6977
7089
|
}));
|
|
6978
7090
|
this.map[panel.api.id].destroy = Disposable.from(() => {
|
|
6979
7091
|
var _a;
|
|
@@ -6982,6 +7094,7 @@ class OverlayRenderContainer extends CompositeDisposable {
|
|
|
6982
7094
|
}
|
|
6983
7095
|
(_a = focusContainer.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(focusContainer);
|
|
6984
7096
|
});
|
|
7097
|
+
correctLayerPosition();
|
|
6985
7098
|
queueMicrotask(() => {
|
|
6986
7099
|
if (this.isDisposed) {
|
|
6987
7100
|
return;
|
|
@@ -7207,7 +7320,10 @@ class DockviewComponent extends BaseGrid {
|
|
|
7207
7320
|
get gap() {
|
|
7208
7321
|
return this.gridview.margin;
|
|
7209
7322
|
}
|
|
7210
|
-
|
|
7323
|
+
get floatingGroups() {
|
|
7324
|
+
return this._floatingGroups;
|
|
7325
|
+
}
|
|
7326
|
+
constructor(parentElement, options) {
|
|
7211
7327
|
var _a;
|
|
7212
7328
|
super({
|
|
7213
7329
|
proportionalLayout: true,
|
|
@@ -7215,10 +7331,11 @@ class DockviewComponent extends BaseGrid {
|
|
|
7215
7331
|
styles: options.hideBorders
|
|
7216
7332
|
? { separatorBorder: 'transparent' }
|
|
7217
7333
|
: undefined,
|
|
7218
|
-
parentElement:
|
|
7334
|
+
parentElement: parentElement,
|
|
7219
7335
|
disableAutoResizing: options.disableAutoResizing,
|
|
7220
7336
|
locked: options.locked,
|
|
7221
7337
|
margin: options.gap,
|
|
7338
|
+
className: options.className,
|
|
7222
7339
|
});
|
|
7223
7340
|
this.nextGroupId = sequentialNumberGenerator();
|
|
7224
7341
|
this._deserializer = new DefaultDockviewDeserialzier(this);
|
|
@@ -7254,10 +7371,10 @@ class DockviewComponent extends BaseGrid {
|
|
|
7254
7371
|
this._onDidActiveGroupChange = new Emitter();
|
|
7255
7372
|
this.onDidActiveGroupChange = this._onDidActiveGroupChange.event;
|
|
7256
7373
|
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(
|
|
7374
|
+
// const gready = document.createElement('div');
|
|
7375
|
+
// gready.className = 'dv-overlay-render-container';
|
|
7376
|
+
// this.gridview.element.appendChild(gready);
|
|
7377
|
+
this.overlayRenderContainer = new OverlayRenderContainer(this.gridview.element, this);
|
|
7261
7378
|
toggleClass(this.gridview.element, 'dv-dockview', true);
|
|
7262
7379
|
toggleClass(this.element, 'dv-debug', !!options.debug);
|
|
7263
7380
|
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 +7540,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
7423
7540
|
}
|
|
7424
7541
|
const gready = document.createElement('div');
|
|
7425
7542
|
gready.className = 'dv-overlay-render-container';
|
|
7426
|
-
const overlayRenderContainer = new OverlayRenderContainer(gready);
|
|
7543
|
+
const overlayRenderContainer = new OverlayRenderContainer(gready, this);
|
|
7427
7544
|
const referenceGroup = itemToPopout instanceof DockviewPanel
|
|
7428
7545
|
? itemToPopout.group
|
|
7429
7546
|
: itemToPopout;
|
|
@@ -7572,7 +7689,6 @@ class DockviewComponent extends BaseGrid {
|
|
|
7572
7689
|
}
|
|
7573
7690
|
}
|
|
7574
7691
|
}
|
|
7575
|
-
group.model.location = { type: 'floating' };
|
|
7576
7692
|
function getAnchoredBox() {
|
|
7577
7693
|
if (options === null || options === void 0 ? void 0 : options.position) {
|
|
7578
7694
|
const result = {};
|
|
@@ -7639,10 +7755,14 @@ class DockviewComponent extends BaseGrid {
|
|
|
7639
7755
|
: false,
|
|
7640
7756
|
});
|
|
7641
7757
|
const floatingGroupPanel = new DockviewFloatingGroupPanel(group, overlay);
|
|
7642
|
-
const disposable =
|
|
7758
|
+
const disposable = new CompositeDisposable(group.api.onDidActiveChange((event) => {
|
|
7759
|
+
if (event.isActive) {
|
|
7760
|
+
overlay.bringToFront();
|
|
7761
|
+
}
|
|
7762
|
+
}), watchElementResize(group.element, (entry) => {
|
|
7643
7763
|
const { width, height } = entry.contentRect;
|
|
7644
7764
|
group.layout(width, height); // let the group know it's size is changing so it can fire events to the panel
|
|
7645
|
-
});
|
|
7765
|
+
}));
|
|
7646
7766
|
floatingGroupPanel.addDisposables(overlay.onDidChange(() => {
|
|
7647
7767
|
// this is either a resize or a move
|
|
7648
7768
|
// to inform the panels .layout(...) the group with it's current size
|
|
@@ -7658,12 +7778,13 @@ class DockviewComponent extends BaseGrid {
|
|
|
7658
7778
|
}), {
|
|
7659
7779
|
dispose: () => {
|
|
7660
7780
|
disposable.dispose();
|
|
7661
|
-
group.model.location = { type: 'grid' };
|
|
7662
7781
|
remove(this._floatingGroups, floatingGroupPanel);
|
|
7782
|
+
group.model.location = { type: 'grid' };
|
|
7663
7783
|
this.updateWatermark();
|
|
7664
7784
|
},
|
|
7665
7785
|
});
|
|
7666
7786
|
this._floatingGroups.push(floatingGroupPanel);
|
|
7787
|
+
group.model.location = { type: 'floating' };
|
|
7667
7788
|
if (!(options === null || options === void 0 ? void 0 : options.skipActiveGroup)) {
|
|
7668
7789
|
this.doSetGroupAndPanelActive(group);
|
|
7669
7790
|
}
|
|
@@ -7702,6 +7823,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
7702
7823
|
}
|
|
7703
7824
|
updateOptions(options) {
|
|
7704
7825
|
var _a, _b;
|
|
7826
|
+
super.updateOptions(options);
|
|
7705
7827
|
const changed_floatingGroupBounds = 'floatingGroupBounds' in options &&
|
|
7706
7828
|
options.floatingGroupBounds !== this.options.floatingGroupBounds;
|
|
7707
7829
|
const changed_rootOverlayOptions = 'rootOverlayModel' in options &&
|
|
@@ -8245,6 +8367,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
8245
8367
|
this._groups.delete(group.id);
|
|
8246
8368
|
this._onDidRemoveGroup.fire(group);
|
|
8247
8369
|
}
|
|
8370
|
+
remove(this._popoutGroups, selectedGroup);
|
|
8248
8371
|
const removedGroup = selectedGroup.disposable.dispose();
|
|
8249
8372
|
if (!(options === null || options === void 0 ? void 0 : options.skipPopoutReturn) && removedGroup) {
|
|
8250
8373
|
this.doAddGroup(removedGroup, [0]);
|
|
@@ -8356,6 +8479,31 @@ class DockviewComponent extends BaseGrid {
|
|
|
8356
8479
|
return;
|
|
8357
8480
|
}
|
|
8358
8481
|
}
|
|
8482
|
+
if (sourceGroup.api.location.type === 'popout') {
|
|
8483
|
+
/**
|
|
8484
|
+
* the source group is a popout group with a single panel
|
|
8485
|
+
*
|
|
8486
|
+
* 1. remove the panel from the group without triggering any events
|
|
8487
|
+
* 2. remove the popout group
|
|
8488
|
+
* 3. create a new group at the requested location and add that panel
|
|
8489
|
+
*/
|
|
8490
|
+
const popoutGroup = this._popoutGroups.find((group) => group.popoutGroup === sourceGroup);
|
|
8491
|
+
const removedPanel = this.movingLock(() => popoutGroup.popoutGroup.model.removePanel(popoutGroup.popoutGroup.panels[0], {
|
|
8492
|
+
skipSetActive: true,
|
|
8493
|
+
skipSetActiveGroup: true,
|
|
8494
|
+
}));
|
|
8495
|
+
this.doRemoveGroup(sourceGroup, { skipActive: true });
|
|
8496
|
+
const newGroup = this.createGroupAtLocation(targetLocation);
|
|
8497
|
+
this.movingLock(() => newGroup.model.openPanel(removedPanel, {
|
|
8498
|
+
skipSetActive: true,
|
|
8499
|
+
}));
|
|
8500
|
+
this.doSetGroupAndPanelActive(newGroup);
|
|
8501
|
+
this._onDidMovePanel.fire({
|
|
8502
|
+
panel: this.getGroupPanel(sourceItemId),
|
|
8503
|
+
from: sourceGroup,
|
|
8504
|
+
});
|
|
8505
|
+
return;
|
|
8506
|
+
}
|
|
8359
8507
|
// source group will become empty so delete the group
|
|
8360
8508
|
const targetGroup = this.movingLock(() => this.doRemoveGroup(sourceGroup, {
|
|
8361
8509
|
skipActive: true,
|
|
@@ -8587,13 +8735,14 @@ class GridviewComponent extends BaseGrid {
|
|
|
8587
8735
|
set deserializer(value) {
|
|
8588
8736
|
this._deserializer = value;
|
|
8589
8737
|
}
|
|
8590
|
-
constructor(options) {
|
|
8738
|
+
constructor(parentElement, options) {
|
|
8591
8739
|
super({
|
|
8592
|
-
parentElement:
|
|
8740
|
+
parentElement: parentElement,
|
|
8593
8741
|
proportionalLayout: options.proportionalLayout,
|
|
8594
8742
|
orientation: options.orientation,
|
|
8595
8743
|
styles: options.styles,
|
|
8596
8744
|
disableAutoResizing: options.disableAutoResizing,
|
|
8745
|
+
className: options.className,
|
|
8597
8746
|
});
|
|
8598
8747
|
this._onDidLayoutfromJSON = new Emitter();
|
|
8599
8748
|
this.onDidLayoutFromJSON = this._onDidLayoutfromJSON.event;
|
|
@@ -8619,6 +8768,7 @@ class GridviewComponent extends BaseGrid {
|
|
|
8619
8768
|
}
|
|
8620
8769
|
}
|
|
8621
8770
|
updateOptions(options) {
|
|
8771
|
+
super.updateOptions(options);
|
|
8622
8772
|
const hasOrientationChanged = typeof options.orientation === 'string' &&
|
|
8623
8773
|
this.gridview.orientation !== options.orientation;
|
|
8624
8774
|
this._options = Object.assign(Object.assign({}, this.options), options);
|
|
@@ -8885,8 +9035,9 @@ class SplitviewComponent extends Resizable {
|
|
|
8885
9035
|
? this.splitview.size
|
|
8886
9036
|
: this.splitview.orthogonalSize;
|
|
8887
9037
|
}
|
|
8888
|
-
constructor(options) {
|
|
8889
|
-
|
|
9038
|
+
constructor(parentElement, options) {
|
|
9039
|
+
var _a, _b;
|
|
9040
|
+
super(parentElement, options.disableAutoResizing);
|
|
8890
9041
|
this._splitviewChangeDisposable = new MutableDisposable();
|
|
8891
9042
|
this._panels = new Map();
|
|
8892
9043
|
this._onDidLayoutfromJSON = new Emitter();
|
|
@@ -8897,6 +9048,11 @@ class SplitviewComponent extends Resizable {
|
|
|
8897
9048
|
this.onDidRemoveView = this._onDidRemoveView.event;
|
|
8898
9049
|
this._onDidLayoutChange = new Emitter();
|
|
8899
9050
|
this.onDidLayoutChange = this._onDidLayoutChange.event;
|
|
9051
|
+
this.classNames = [];
|
|
9052
|
+
this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
|
|
9053
|
+
for (const className of this.classNames) {
|
|
9054
|
+
toggleClass(this.element, className, true);
|
|
9055
|
+
}
|
|
8900
9056
|
this._options = options;
|
|
8901
9057
|
if (!options.components) {
|
|
8902
9058
|
options.components = {};
|
|
@@ -8908,6 +9064,16 @@ class SplitviewComponent extends Resizable {
|
|
|
8908
9064
|
this.addDisposables(this._onDidAddView, this._onDidLayoutfromJSON, this._onDidRemoveView, this._onDidLayoutChange);
|
|
8909
9065
|
}
|
|
8910
9066
|
updateOptions(options) {
|
|
9067
|
+
var _a, _b;
|
|
9068
|
+
if ('className' in options) {
|
|
9069
|
+
for (const className of this.classNames) {
|
|
9070
|
+
toggleClass(this.element, className, false);
|
|
9071
|
+
}
|
|
9072
|
+
this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
|
|
9073
|
+
for (const className of this.classNames) {
|
|
9074
|
+
toggleClass(this.element, className, true);
|
|
9075
|
+
}
|
|
9076
|
+
}
|
|
8911
9077
|
const hasOrientationChanged = typeof options.orientation === 'string' &&
|
|
8912
9078
|
this.options.orientation !== options.orientation;
|
|
8913
9079
|
this._options = Object.assign(Object.assign({}, this.options), options);
|
|
@@ -9209,8 +9375,9 @@ class PaneviewComponent extends Resizable {
|
|
|
9209
9375
|
get options() {
|
|
9210
9376
|
return this._options;
|
|
9211
9377
|
}
|
|
9212
|
-
constructor(options) {
|
|
9213
|
-
|
|
9378
|
+
constructor(parentElement, options) {
|
|
9379
|
+
var _a, _b;
|
|
9380
|
+
super(parentElement, options.disableAutoResizing);
|
|
9214
9381
|
this._id = nextLayoutId.next();
|
|
9215
9382
|
this._disposable = new MutableDisposable();
|
|
9216
9383
|
this._viewDisposables = new Map();
|
|
@@ -9224,7 +9391,12 @@ class PaneviewComponent extends Resizable {
|
|
|
9224
9391
|
this.onDidAddView = this._onDidAddView.event;
|
|
9225
9392
|
this._onDidRemoveView = new Emitter();
|
|
9226
9393
|
this.onDidRemoveView = this._onDidRemoveView.event;
|
|
9394
|
+
this.classNames = [];
|
|
9227
9395
|
this.addDisposables(this._onDidLayoutChange, this._onDidLayoutfromJSON, this._onDidDrop, this._onDidAddView, this._onDidRemoveView);
|
|
9396
|
+
this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
|
|
9397
|
+
for (const className of this.classNames) {
|
|
9398
|
+
toggleClass(this.element, className, true);
|
|
9399
|
+
}
|
|
9228
9400
|
this._options = options;
|
|
9229
9401
|
if (!options.components) {
|
|
9230
9402
|
options.components = {};
|
|
@@ -9246,6 +9418,16 @@ class PaneviewComponent extends Resizable {
|
|
|
9246
9418
|
//noop
|
|
9247
9419
|
}
|
|
9248
9420
|
updateOptions(options) {
|
|
9421
|
+
var _a, _b;
|
|
9422
|
+
if ('className' in options) {
|
|
9423
|
+
for (const className of this.classNames) {
|
|
9424
|
+
toggleClass(this.element, className, false);
|
|
9425
|
+
}
|
|
9426
|
+
this.classNames = (_b = (_a = options.className) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : [];
|
|
9427
|
+
for (const className of this.classNames) {
|
|
9428
|
+
toggleClass(this.element, className, true);
|
|
9429
|
+
}
|
|
9430
|
+
}
|
|
9249
9431
|
this._options = Object.assign(Object.assign({}, this.options), options);
|
|
9250
9432
|
}
|
|
9251
9433
|
addPanel(options) {
|
|
@@ -9539,6 +9721,23 @@ class SplitviewPanel extends BasePanelView {
|
|
|
9539
9721
|
}
|
|
9540
9722
|
}
|
|
9541
9723
|
|
|
9724
|
+
function createDockview(element, options) {
|
|
9725
|
+
const component = new DockviewComponent(element, options);
|
|
9726
|
+
return component.api;
|
|
9727
|
+
}
|
|
9728
|
+
function createSplitview(element, options) {
|
|
9729
|
+
const component = new SplitviewComponent(element, options);
|
|
9730
|
+
return new SplitviewApi(component);
|
|
9731
|
+
}
|
|
9732
|
+
function createGridview(element, options) {
|
|
9733
|
+
const component = new GridviewComponent(element, options);
|
|
9734
|
+
return new GridviewApi(component);
|
|
9735
|
+
}
|
|
9736
|
+
function createPaneview(element, options) {
|
|
9737
|
+
const component = new PaneviewComponent(element, options);
|
|
9738
|
+
return new PaneviewApi(component);
|
|
9739
|
+
}
|
|
9740
|
+
|
|
9542
9741
|
/**
|
|
9543
9742
|
* This component is intended to interface between vanilla-js and React hence we need to be
|
|
9544
9743
|
* creative in how we update props.
|
|
@@ -9918,20 +10117,19 @@ const DockviewReact = React.forwardRef((props, ref) => {
|
|
|
9918
10117
|
});
|
|
9919
10118
|
}
|
|
9920
10119
|
: undefined,
|
|
9921
|
-
parentElement: domRef.current,
|
|
9922
10120
|
defaultTabComponent: props.defaultTabComponent
|
|
9923
10121
|
? DEFAULT_REACT_TAB
|
|
9924
10122
|
: undefined,
|
|
9925
10123
|
};
|
|
9926
|
-
const
|
|
10124
|
+
const api = createDockview(domRef.current, Object.assign(Object.assign({}, extractCoreOptions(props)), frameworkOptions));
|
|
9927
10125
|
const { clientWidth, clientHeight } = domRef.current;
|
|
9928
|
-
|
|
10126
|
+
api.layout(clientWidth, clientHeight);
|
|
9929
10127
|
if (props.onReady) {
|
|
9930
|
-
props.onReady({ api
|
|
10128
|
+
props.onReady({ api });
|
|
9931
10129
|
}
|
|
9932
|
-
dockviewRef.current =
|
|
10130
|
+
dockviewRef.current = api;
|
|
9933
10131
|
return () => {
|
|
9934
|
-
|
|
10132
|
+
api.dispose();
|
|
9935
10133
|
};
|
|
9936
10134
|
}, []);
|
|
9937
10135
|
React.useEffect(() => {
|
|
@@ -10134,8 +10332,7 @@ const SplitviewReact = React.forwardRef((props, ref) => {
|
|
|
10134
10332
|
React.useImperativeHandle(ref, () => domRef.current, []);
|
|
10135
10333
|
React.useEffect(() => {
|
|
10136
10334
|
var _a;
|
|
10137
|
-
const
|
|
10138
|
-
parentElement: domRef.current,
|
|
10335
|
+
const api = createSplitview(domRef.current, {
|
|
10139
10336
|
disableAutoResizing: props.disableAutoResizing,
|
|
10140
10337
|
orientation: (_a = props.orientation) !== null && _a !== void 0 ? _a : Orientation.HORIZONTAL,
|
|
10141
10338
|
frameworkComponents: props.components,
|
|
@@ -10154,13 +10351,13 @@ const SplitviewReact = React.forwardRef((props, ref) => {
|
|
|
10154
10351
|
: undefined,
|
|
10155
10352
|
});
|
|
10156
10353
|
const { clientWidth, clientHeight } = domRef.current;
|
|
10157
|
-
|
|
10354
|
+
api.layout(clientWidth, clientHeight);
|
|
10158
10355
|
if (props.onReady) {
|
|
10159
|
-
props.onReady({ api
|
|
10356
|
+
props.onReady({ api });
|
|
10160
10357
|
}
|
|
10161
|
-
splitviewRef.current =
|
|
10358
|
+
splitviewRef.current = api;
|
|
10162
10359
|
return () => {
|
|
10163
|
-
|
|
10360
|
+
api.dispose();
|
|
10164
10361
|
};
|
|
10165
10362
|
}, []);
|
|
10166
10363
|
React.useEffect(() => {
|
|
@@ -10205,8 +10402,7 @@ const GridviewReact = React.forwardRef((props, ref) => {
|
|
|
10205
10402
|
// noop
|
|
10206
10403
|
};
|
|
10207
10404
|
}
|
|
10208
|
-
const
|
|
10209
|
-
parentElement: domRef.current,
|
|
10405
|
+
const api = createGridview(domRef.current, {
|
|
10210
10406
|
disableAutoResizing: props.disableAutoResizing,
|
|
10211
10407
|
proportionalLayout: typeof props.proportionalLayout === 'boolean'
|
|
10212
10408
|
? props.proportionalLayout
|
|
@@ -10225,13 +10421,13 @@ const GridviewReact = React.forwardRef((props, ref) => {
|
|
|
10225
10421
|
: undefined,
|
|
10226
10422
|
});
|
|
10227
10423
|
const { clientWidth, clientHeight } = domRef.current;
|
|
10228
|
-
|
|
10424
|
+
api.layout(clientWidth, clientHeight);
|
|
10229
10425
|
if (props.onReady) {
|
|
10230
|
-
props.onReady({ api
|
|
10426
|
+
props.onReady({ api });
|
|
10231
10427
|
}
|
|
10232
|
-
gridviewRef.current =
|
|
10428
|
+
gridviewRef.current = api;
|
|
10233
10429
|
return () => {
|
|
10234
|
-
|
|
10430
|
+
api.dispose();
|
|
10235
10431
|
};
|
|
10236
10432
|
}, []);
|
|
10237
10433
|
React.useEffect(() => {
|
|
@@ -10290,8 +10486,7 @@ const PaneviewReact = React.forwardRef((props, ref) => {
|
|
|
10290
10486
|
const createComponent = (id, _componentId, component) => new PanePanelSection(id, component, {
|
|
10291
10487
|
addPortal,
|
|
10292
10488
|
});
|
|
10293
|
-
const
|
|
10294
|
-
parentElement: domRef.current,
|
|
10489
|
+
const api = createPaneview(domRef.current, {
|
|
10295
10490
|
disableAutoResizing: props.disableAutoResizing,
|
|
10296
10491
|
frameworkComponents: props.components,
|
|
10297
10492
|
components: {},
|
|
@@ -10308,15 +10503,14 @@ const PaneviewReact = React.forwardRef((props, ref) => {
|
|
|
10308
10503
|
},
|
|
10309
10504
|
showDndOverlay: props.showDndOverlay,
|
|
10310
10505
|
});
|
|
10311
|
-
const api = new PaneviewApi(paneview);
|
|
10312
10506
|
const { clientWidth, clientHeight } = domRef.current;
|
|
10313
|
-
|
|
10507
|
+
api.layout(clientWidth, clientHeight);
|
|
10314
10508
|
if (props.onReady) {
|
|
10315
10509
|
props.onReady({ api });
|
|
10316
10510
|
}
|
|
10317
|
-
paneviewRef.current =
|
|
10511
|
+
paneviewRef.current = api;
|
|
10318
10512
|
return () => {
|
|
10319
|
-
|
|
10513
|
+
api.dispose();
|
|
10320
10514
|
};
|
|
10321
10515
|
}, []);
|
|
10322
10516
|
React.useEffect(() => {
|
|
@@ -10341,10 +10535,10 @@ const PaneviewReact = React.forwardRef((props, ref) => {
|
|
|
10341
10535
|
//
|
|
10342
10536
|
};
|
|
10343
10537
|
}
|
|
10344
|
-
const
|
|
10345
|
-
const disposable =
|
|
10538
|
+
const api = paneviewRef.current;
|
|
10539
|
+
const disposable = api.onDidDrop((event) => {
|
|
10346
10540
|
if (props.onDidDrop) {
|
|
10347
|
-
props.onDidDrop(Object.assign(Object.assign({}, event), { api
|
|
10541
|
+
props.onDidDrop(Object.assign(Object.assign({}, event), { api }));
|
|
10348
10542
|
}
|
|
10349
10543
|
});
|
|
10350
10544
|
return () => {
|
|
@@ -10363,5 +10557,5 @@ const PaneviewReact = React.forwardRef((props, ref) => {
|
|
|
10363
10557
|
});
|
|
10364
10558
|
PaneviewReact.displayName = 'PaneviewComponent';
|
|
10365
10559
|
|
|
10366
|
-
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 };
|
|
10560
|
+
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 };
|
|
10367
10561
|
//# sourceMappingURL=dockview-react.esm.js.map
|