dockview-react 1.17.2 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dockview-react.amd.js +346 -226
- 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 +345 -225
- package/dist/dockview-react.amd.noStyle.js.map +1 -1
- package/dist/dockview-react.cjs.js +346 -226
- package/dist/dockview-react.cjs.js.map +1 -1
- package/dist/dockview-react.esm.js +347 -225
- 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 +346 -226
- 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 +345 -225
- package/dist/dockview-react.noStyle.js.map +1 -1
- package/dist/styles/dockview.css +111 -151
- package/package.json +2 -2
package/dist/dockview-react.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dockview-react
|
|
3
|
-
* @version 1.
|
|
3
|
+
* @version 2.1.0
|
|
4
4
|
* @link https://github.com/mathuo/dockview
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
var css_248z = ".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-overlay-z-index: 999;\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-overlay-z-index: 999;\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-overlay-z-index: 999;\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-overlay-z-index: 999;\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-overlay-z-index: 999;\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-overlay-z-index: 999;\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 --dv-overlay-z-index: var(--dv-overlay-z-index, 999);\n position: absolute;\n z-index: calc(var(--dv-overlay-z-index) - 2);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\n position: absolute;\n cursor: se-resize;\n}\n.dv-render-overlay {\n --dv-overlay-z-index: var(--dv-overlay-z-index, 999);\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: calc(var(--dv-overlay-z-index) - 1);\n}\n\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: var(--dv-background-color);\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.tab.inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dv-default-tab .dv-default-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
|
|
40
|
+
var css_248z = ".dv-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-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-overlay-z-index: 999;\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-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-overlay-z-index: 999;\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-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-overlay-z-index: 999;\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 .dv-groupview.dv-active-group > .dv-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 .dv-groupview.dv-active-group > .dv-tabs-and-actions-container .dv-tab.dv-active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .dv-groupview.dv-active-group > .dv-tabs-and-actions-container .dv-tab.dv-inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .dv-groupview.dv-inactive-group > .dv-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 .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container .dv-tab.dv-active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container .dv-tab.dv-inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\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-overlay-z-index: 999;\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-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-overlay-z-index: 999;\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 .dv-groupview.dv-active-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-active-tab {\n position: relative;\n}\n.dockview-theme-dracula .dv-groupview.dv-active-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-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 .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-active-tab {\n position: relative;\n}\n.dockview-theme-dracula .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-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-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-overlay-z-index: 999;\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-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .dv-groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .dv-groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab .dv-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .dv-groupview .dv-content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .dv-groupview.dv-active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .dv-groupview.dv-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 .dv-horizontal > .dv-sash-container > .dv-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 .dv-horizontal > .dv-sash-container > .dv-sash:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dv-drop-target {\n position: relative;\n}\n.dv-drop-target > .dv-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.dv-drop-target > .dv-drop-target-dropzone > .dv-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.dv-drop-target > .dv-drop-target-dropzone > .dv-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.dv-drop-target > .dv-drop-target-dropzone > .dv-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.dv-drop-target > .dv-drop-target-dropzone > .dv-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.dv-drop-target > .dv-drop-target-dropzone > .dv-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.dv-groupview.dv-active-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.dv-groupview.dv-active-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-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.dv-tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.dv-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.dv-groupview:focus {\n outline: none;\n}\n.dv-groupview > .dv-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.dv-grid-view,\n.dv-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 --dv-overlay-z-index: var(--dv-overlay-z-index, 999);\n position: absolute;\n z-index: calc(var(--dv-overlay-z-index) - 2);\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-hidden {\n display: none;\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\n position: absolute;\n cursor: se-resize;\n}\n.dv-render-overlay {\n --dv-overlay-z-index: var(--dv-overlay-z-index, 999);\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: calc(var(--dv-overlay-z-index) - 1);\n}\n\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.dv-pane-container {\n height: 100%;\n width: 100%;\n}\n.dv-pane-container.dv-animated .dv-view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.dv-pane-container .dv-view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.dv-pane-container .dv-view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.dv-pane-container .dv-view:not(:first-child) .dv-pane > .dv-pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.dv-pane-container .dv-view .dv-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.dv-pane-container .dv-view .dv-default-header .dv-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.dv-pane-container .dv-view .dv-default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.dv-pane-container:first-of-type > .dv-pane > .dv-pane-header {\n border-top: none !important;\n}\n.dv-pane-container .dv-pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.dv-pane-container .dv-pane .dv-pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.dv-pane-container .dv-pane .dv-pane-header.dv-pane-draggable {\n cursor: pointer;\n}\n.dv-pane-container .dv-pane .dv-pane-header:focus:before, .dv-pane-container .dv-pane .dv-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.dv-pane-container .dv-pane .dv-pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.dv-pane-container .dv-pane .dv-pane-body:focus:before, .dv-pane-container .dv-pane .dv-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 .dv-split-view-container .dv-sash-container .dv-sash.dv-enabled {\n background-color: black;\n}\n.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-disabled {\n background-color: orange;\n}\n.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-maximum {\n background-color: green;\n}\n.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-minimum {\n background-color: red;\n}\n\n.dv-split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.dv-split-view-container.dv-splitview-disabled > .dv-sash-container > .dv-sash {\n pointer-events: none;\n}\n.dv-split-view-container.dv-animation .dv-view,\n.dv-split-view-container.dv-animation .dv-sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.dv-split-view-container.dv-horizontal {\n height: 100%;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash {\n height: 100%;\n width: 4px;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-enabled {\n cursor: ew-resize;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-disabled {\n cursor: default;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-maximum {\n cursor: w-resize;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-minimum {\n cursor: e-resize;\n}\n.dv-split-view-container.dv-horizontal > .dv-view-container > .dv-view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.dv-split-view-container.dv-vertical {\n width: 100%;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash {\n width: 100%;\n height: 4px;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-enabled {\n cursor: ns-resize;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-disabled {\n cursor: default;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-maximum {\n cursor: n-resize;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-minimum {\n cursor: s-resize;\n}\n.dv-split-view-container.dv-vertical > .dv-view-container > .dv-view {\n width: 100%;\n}\n.dv-split-view-container.dv-vertical > .dv-view-container > .dv-view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.dv-split-view-container .dv-sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.dv-split-view-container .dv-sash-container .dv-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.dv-split-view-container .dv-sash-container .dv-sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.dv-split-view-container .dv-sash-container .dv-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.dv-split-view-container .dv-view-container {\n position: relative;\n height: 100%;\n width: 100%;\n}\n.dv-split-view-container .dv-view-container .dv-view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.dv-split-view-container.dv-separator-border .dv-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.dv-tab {\n flex-shrink: 0;\n}\n.dv-tab:focus-within, .dv-tab:focus {\n position: relative;\n}\n.dv-tab:focus-within::after, .dv-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.dv-tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.dv-tab.dv-active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.dv-tab.dv-inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.dv-tab.dv-inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.dv-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.dv-tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.dv-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.dv-tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.dv-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.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-tabs-container {\n flex-grow: 1;\n}\n.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-tabs-container .dv-tab {\n flex-grow: 1;\n}\n.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-void-container {\n flex-grow: 0;\n}\n.dv-tabs-and-actions-container .dv-void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.dv-tabs-and-actions-container .dv-tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.dv-tabs-and-actions-container .dv-tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.dv-tabs-and-actions-container .dv-tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.dv-tabs-and-actions-container .dv-tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.dv-tabs-and-actions-container .dv-tabs-container .dv-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.dv-tabs-and-actions-container .dv-tabs-container .dv-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.dv-watermark {\n display: flex;\n height: 100%;\n}";
|
|
41
41
|
styleInject(css_248z);
|
|
42
42
|
|
|
43
43
|
class TransferObject {
|
|
@@ -358,31 +358,6 @@
|
|
|
358
358
|
}
|
|
359
359
|
}
|
|
360
360
|
|
|
361
|
-
function createComponent(id, componentName, components = {}, frameworkComponents = {}, createFrameworkComponent, fallback) {
|
|
362
|
-
const Component = typeof componentName === 'string'
|
|
363
|
-
? components[componentName]
|
|
364
|
-
: undefined;
|
|
365
|
-
const FrameworkComponent = typeof componentName === 'string'
|
|
366
|
-
? frameworkComponents[componentName]
|
|
367
|
-
: undefined;
|
|
368
|
-
if (Component && FrameworkComponent) {
|
|
369
|
-
throw new Error(`Cannot create '${id}'. component '${componentName}' registered as both a component and frameworkComponent`);
|
|
370
|
-
}
|
|
371
|
-
if (FrameworkComponent) {
|
|
372
|
-
if (!createFrameworkComponent) {
|
|
373
|
-
throw new Error(`Cannot create '${id}' for framework component '${componentName}'. you must register a frameworkPanelWrapper to use framework components`);
|
|
374
|
-
}
|
|
375
|
-
return createFrameworkComponent.createComponent(id, componentName, FrameworkComponent);
|
|
376
|
-
}
|
|
377
|
-
if (!Component) {
|
|
378
|
-
if (fallback) {
|
|
379
|
-
return fallback();
|
|
380
|
-
}
|
|
381
|
-
throw new Error(`Cannot create '${id}', no component '${componentName}' provided`);
|
|
382
|
-
}
|
|
383
|
-
return new Component(id, componentName);
|
|
384
|
-
}
|
|
385
|
-
|
|
386
361
|
function watchElementResize(element, cb) {
|
|
387
362
|
const observer = new ResizeObserver((entires) => {
|
|
388
363
|
/**
|
|
@@ -851,10 +826,10 @@
|
|
|
851
826
|
const tmp = this.size;
|
|
852
827
|
this.size = this.orthogonalSize;
|
|
853
828
|
this.orthogonalSize = tmp;
|
|
854
|
-
removeClasses(this.element, 'horizontal', 'vertical');
|
|
829
|
+
removeClasses(this.element, 'dv-horizontal', 'dv-vertical');
|
|
855
830
|
this.element.classList.add(this.orientation == exports.Orientation.HORIZONTAL
|
|
856
|
-
? 'horizontal'
|
|
857
|
-
: 'vertical');
|
|
831
|
+
? 'dv-horizontal'
|
|
832
|
+
: 'dv-vertical');
|
|
858
833
|
}
|
|
859
834
|
get minimumSize() {
|
|
860
835
|
return this.viewItems.reduce((r, item) => r + item.minimumSize, 0);
|
|
@@ -1032,11 +1007,11 @@
|
|
|
1032
1007
|
}
|
|
1033
1008
|
style(styles) {
|
|
1034
1009
|
if ((styles === null || styles === void 0 ? void 0 : styles.separatorBorder) === 'transparent') {
|
|
1035
|
-
removeClasses(this.element, 'separator-border');
|
|
1010
|
+
removeClasses(this.element, 'dv-separator-border');
|
|
1036
1011
|
this.element.style.removeProperty('--dv-separator-border');
|
|
1037
1012
|
}
|
|
1038
1013
|
else {
|
|
1039
|
-
addClasses(this.element, 'separator-border');
|
|
1014
|
+
addClasses(this.element, 'dv-separator-border');
|
|
1040
1015
|
if (styles === null || styles === void 0 ? void 0 : styles.separatorBorder) {
|
|
1041
1016
|
this.element.style.setProperty('--dv-separator-border', styles.separatorBorder);
|
|
1042
1017
|
}
|
|
@@ -1106,7 +1081,7 @@
|
|
|
1106
1081
|
}
|
|
1107
1082
|
addView(view, size = { type: 'distribute' }, index = this.viewItems.length, skipLayout) {
|
|
1108
1083
|
const container = document.createElement('div');
|
|
1109
|
-
container.className = 'view';
|
|
1084
|
+
container.className = 'dv-view';
|
|
1110
1085
|
container.appendChild(view.element);
|
|
1111
1086
|
let viewSize;
|
|
1112
1087
|
if (typeof size === 'number') {
|
|
@@ -1138,7 +1113,7 @@
|
|
|
1138
1113
|
if (this.viewItems.length > 1) {
|
|
1139
1114
|
//add sash
|
|
1140
1115
|
const sash = document.createElement('div');
|
|
1141
|
-
sash.className = 'sash';
|
|
1116
|
+
sash.className = 'dv-sash';
|
|
1142
1117
|
const onPointerStart = (event) => {
|
|
1143
1118
|
for (const item of this.viewItems) {
|
|
1144
1119
|
item.enabled = false;
|
|
@@ -1397,7 +1372,8 @@
|
|
|
1397
1372
|
const offset = i === 0 || visiblePanelsBeforeThisView === 0
|
|
1398
1373
|
? 0
|
|
1399
1374
|
: viewLeftOffsets[i - 1] +
|
|
1400
|
-
(visiblePanelsBeforeThisView / sashCount) *
|
|
1375
|
+
(visiblePanelsBeforeThisView / sashCount) *
|
|
1376
|
+
marginReducedSize;
|
|
1401
1377
|
if (i < this.viewItems.length - 1) {
|
|
1402
1378
|
// calculate sash position
|
|
1403
1379
|
const newSize = view.visible
|
|
@@ -1508,27 +1484,27 @@
|
|
|
1508
1484
|
}
|
|
1509
1485
|
}
|
|
1510
1486
|
updateSash(sash, state) {
|
|
1511
|
-
toggleClass(sash.container, 'disabled', state === exports.SashState.DISABLED);
|
|
1512
|
-
toggleClass(sash.container, 'enabled', state === exports.SashState.ENABLED);
|
|
1513
|
-
toggleClass(sash.container, 'maximum', state === exports.SashState.MAXIMUM);
|
|
1514
|
-
toggleClass(sash.container, 'minimum', state === exports.SashState.MINIMUM);
|
|
1487
|
+
toggleClass(sash.container, 'dv-disabled', state === exports.SashState.DISABLED);
|
|
1488
|
+
toggleClass(sash.container, 'dv-enabled', state === exports.SashState.ENABLED);
|
|
1489
|
+
toggleClass(sash.container, 'dv-maximum', state === exports.SashState.MAXIMUM);
|
|
1490
|
+
toggleClass(sash.container, 'dv-minimum', state === exports.SashState.MINIMUM);
|
|
1515
1491
|
}
|
|
1516
1492
|
createViewContainer() {
|
|
1517
1493
|
const element = document.createElement('div');
|
|
1518
|
-
element.className = 'view-container';
|
|
1494
|
+
element.className = 'dv-view-container';
|
|
1519
1495
|
return element;
|
|
1520
1496
|
}
|
|
1521
1497
|
createSashContainer() {
|
|
1522
1498
|
const element = document.createElement('div');
|
|
1523
|
-
element.className = 'sash-container';
|
|
1499
|
+
element.className = 'dv-sash-container';
|
|
1524
1500
|
return element;
|
|
1525
1501
|
}
|
|
1526
1502
|
createContainer() {
|
|
1527
1503
|
const element = document.createElement('div');
|
|
1528
1504
|
const orientationClassname = this._orientation === exports.Orientation.HORIZONTAL
|
|
1529
|
-
? 'horizontal'
|
|
1530
|
-
: 'vertical';
|
|
1531
|
-
element.className = `split-view-container ${orientationClassname}`;
|
|
1505
|
+
? 'dv-horizontal'
|
|
1506
|
+
: 'dv-vertical';
|
|
1507
|
+
element.className = `dv-split-view-container ${orientationClassname}`;
|
|
1532
1508
|
return element;
|
|
1533
1509
|
}
|
|
1534
1510
|
dispose() {
|
|
@@ -1579,7 +1555,7 @@
|
|
|
1579
1555
|
this.onDidChange = this._onDidChange.event;
|
|
1580
1556
|
this._orientation = (_a = options.orientation) !== null && _a !== void 0 ? _a : exports.Orientation.VERTICAL;
|
|
1581
1557
|
this.element = document.createElement('div');
|
|
1582
|
-
this.element.className = 'pane-container';
|
|
1558
|
+
this.element.className = 'dv-pane-container';
|
|
1583
1559
|
container.appendChild(this.element);
|
|
1584
1560
|
this.splitview = new Splitview(this.element, {
|
|
1585
1561
|
orientation: this._orientation,
|
|
@@ -1671,10 +1647,10 @@
|
|
|
1671
1647
|
clearTimeout(this.animationTimer);
|
|
1672
1648
|
this.animationTimer = undefined;
|
|
1673
1649
|
}
|
|
1674
|
-
addClasses(this.element, 'animated');
|
|
1650
|
+
addClasses(this.element, 'dv-animated');
|
|
1675
1651
|
this.animationTimer = setTimeout(() => {
|
|
1676
1652
|
this.animationTimer = undefined;
|
|
1677
|
-
removeClasses(this.element, 'animated');
|
|
1653
|
+
removeClasses(this.element, 'dv-animated');
|
|
1678
1654
|
}, 200);
|
|
1679
1655
|
}
|
|
1680
1656
|
dispose() {
|
|
@@ -1899,7 +1875,7 @@
|
|
|
1899
1875
|
this._orthogonalSize = orthogonalSize;
|
|
1900
1876
|
this._size = size;
|
|
1901
1877
|
this.element = document.createElement('div');
|
|
1902
|
-
this.element.className = 'branch-node';
|
|
1878
|
+
this.element.className = 'dv-branch-node';
|
|
1903
1879
|
if (!childDescriptors) {
|
|
1904
1880
|
this.splitview = new Splitview(this.element, {
|
|
1905
1881
|
orientation: this.orientation,
|
|
@@ -2110,7 +2086,7 @@
|
|
|
2110
2086
|
if (!parentElement) {
|
|
2111
2087
|
throw new Error('Invalid grid element');
|
|
2112
2088
|
}
|
|
2113
|
-
if (/\
|
|
2089
|
+
if (/\bdv-grid-view\b/.test(parentElement.className)) {
|
|
2114
2090
|
return [];
|
|
2115
2091
|
}
|
|
2116
2092
|
const index = indexInParent(parentElement);
|
|
@@ -2247,6 +2223,7 @@
|
|
|
2247
2223
|
if (this.hasMaximizedView()) {
|
|
2248
2224
|
this.exitMaximizedView();
|
|
2249
2225
|
}
|
|
2226
|
+
serializeBranchNode(this.getView(), this.orientation);
|
|
2250
2227
|
const hiddenOnMaximize = [];
|
|
2251
2228
|
function hideAllViewsBut(parent, exclude) {
|
|
2252
2229
|
for (let i = 0; i < parent.children.length; i++) {
|
|
@@ -2268,7 +2245,10 @@
|
|
|
2268
2245
|
}
|
|
2269
2246
|
hideAllViewsBut(this.root, node);
|
|
2270
2247
|
this._maximizedNode = { leaf: node, hiddenOnMaximize };
|
|
2271
|
-
this._onDidMaximizedNodeChange.fire(
|
|
2248
|
+
this._onDidMaximizedNodeChange.fire({
|
|
2249
|
+
view: node.view,
|
|
2250
|
+
isMaximized: true,
|
|
2251
|
+
});
|
|
2272
2252
|
}
|
|
2273
2253
|
exitMaximizedView() {
|
|
2274
2254
|
if (!this._maximizedNode) {
|
|
@@ -2289,24 +2269,51 @@
|
|
|
2289
2269
|
}
|
|
2290
2270
|
}
|
|
2291
2271
|
showViewsInReverseOrder(this.root);
|
|
2272
|
+
const tmp = this._maximizedNode.leaf;
|
|
2292
2273
|
this._maximizedNode = undefined;
|
|
2293
|
-
this._onDidMaximizedNodeChange.fire(
|
|
2274
|
+
this._onDidMaximizedNodeChange.fire({
|
|
2275
|
+
view: tmp.view,
|
|
2276
|
+
isMaximized: false,
|
|
2277
|
+
});
|
|
2294
2278
|
}
|
|
2295
2279
|
serialize() {
|
|
2280
|
+
const maximizedView = this.maximizedView();
|
|
2281
|
+
let maxmizedViewLocation;
|
|
2282
|
+
if (maximizedView) {
|
|
2283
|
+
/**
|
|
2284
|
+
* The minimum information we can get away with in order to serialize a maxmized view is it's location within the grid
|
|
2285
|
+
* which is represented as a branch of indices
|
|
2286
|
+
*/
|
|
2287
|
+
maxmizedViewLocation = getGridLocation(maximizedView.element);
|
|
2288
|
+
}
|
|
2296
2289
|
if (this.hasMaximizedView()) {
|
|
2297
2290
|
/**
|
|
2298
|
-
*
|
|
2299
|
-
*
|
|
2291
|
+
* the saved layout cannot be in its maxmized state otherwise all of the underlying
|
|
2292
|
+
* view dimensions will be wrong
|
|
2293
|
+
*
|
|
2294
|
+
* To counteract this we temporaily remove the maximized view to compute the serialized output
|
|
2295
|
+
* of the grid before adding back the maxmized view as to not alter the layout from the users
|
|
2296
|
+
* perspective when `.toJSON()` is called
|
|
2300
2297
|
*/
|
|
2301
2298
|
this.exitMaximizedView();
|
|
2302
2299
|
}
|
|
2303
2300
|
const root = serializeBranchNode(this.getView(), this.orientation);
|
|
2304
|
-
|
|
2301
|
+
const resullt = {
|
|
2305
2302
|
root,
|
|
2306
2303
|
width: this.width,
|
|
2307
2304
|
height: this.height,
|
|
2308
2305
|
orientation: this.orientation,
|
|
2309
2306
|
};
|
|
2307
|
+
if (maxmizedViewLocation) {
|
|
2308
|
+
resullt.maximizedNode = {
|
|
2309
|
+
location: maxmizedViewLocation,
|
|
2310
|
+
};
|
|
2311
|
+
}
|
|
2312
|
+
if (maximizedView) {
|
|
2313
|
+
// replace any maximzied view that was removed for serialization purposes
|
|
2314
|
+
this.maximizeView(maximizedView);
|
|
2315
|
+
}
|
|
2316
|
+
return resullt;
|
|
2310
2317
|
}
|
|
2311
2318
|
dispose() {
|
|
2312
2319
|
this.disposable.dispose();
|
|
@@ -2325,6 +2332,19 @@
|
|
|
2325
2332
|
const orientation = json.orientation;
|
|
2326
2333
|
const height = orientation === exports.Orientation.VERTICAL ? json.height : json.width;
|
|
2327
2334
|
this._deserialize(json.root, orientation, deserializer, height);
|
|
2335
|
+
/**
|
|
2336
|
+
* The deserialied layout must be positioned through this.layout(...)
|
|
2337
|
+
* before any maximizedNode can be positioned
|
|
2338
|
+
*/
|
|
2339
|
+
this.layout(json.width, json.height);
|
|
2340
|
+
if (json.maximizedNode) {
|
|
2341
|
+
const location = json.maximizedNode.location;
|
|
2342
|
+
const [_, node] = this.getNode(location);
|
|
2343
|
+
if (!(node instanceof LeafNode)) {
|
|
2344
|
+
return;
|
|
2345
|
+
}
|
|
2346
|
+
this.maximizeView(node.view);
|
|
2347
|
+
}
|
|
2328
2348
|
}
|
|
2329
2349
|
_deserialize(root, orientation, deserializer, orthogonalSize) {
|
|
2330
2350
|
this.root = this._deserializeNode(root, orientation, deserializer, orthogonalSize);
|
|
@@ -2458,7 +2478,7 @@
|
|
|
2458
2478
|
this._onDidMaximizedNodeChange = new Emitter();
|
|
2459
2479
|
this.onDidMaximizedNodeChange = this._onDidMaximizedNodeChange.event;
|
|
2460
2480
|
this.element = document.createElement('div');
|
|
2461
|
-
this.element.className = 'grid-view';
|
|
2481
|
+
this.element.className = 'dv-grid-view';
|
|
2462
2482
|
this._locked = locked !== null && locked !== void 0 ? locked : false;
|
|
2463
2483
|
this._margin = margin !== null && margin !== void 0 ? margin : 0;
|
|
2464
2484
|
this.root = new BranchNode(orientation, proportionalLayout, styles, 0, 0, this.locked, this.margin);
|
|
@@ -2749,6 +2769,8 @@
|
|
|
2749
2769
|
this.onDidRemove = this._onDidRemove.event;
|
|
2750
2770
|
this._onDidAdd = new Emitter();
|
|
2751
2771
|
this.onDidAdd = this._onDidAdd.event;
|
|
2772
|
+
this._onDidMaximizedChange = new Emitter();
|
|
2773
|
+
this.onDidMaximizedChange = this._onDidMaximizedChange.event;
|
|
2752
2774
|
this._onDidActiveChange = new Emitter();
|
|
2753
2775
|
this.onDidActiveChange = this._onDidActiveChange.event;
|
|
2754
2776
|
this._bufferOnDidLayoutChange = new AsapEvent();
|
|
@@ -2764,7 +2786,12 @@
|
|
|
2764
2786
|
this.gridview.locked = !!options.locked;
|
|
2765
2787
|
this.element.appendChild(this.gridview.element);
|
|
2766
2788
|
this.layout(0, 0, true); // set some elements height/widths
|
|
2767
|
-
this.addDisposables(this.gridview.
|
|
2789
|
+
this.addDisposables(this.gridview.onDidMaximizedNodeChange((event) => {
|
|
2790
|
+
this._onDidMaximizedChange.fire({
|
|
2791
|
+
panel: event.view,
|
|
2792
|
+
isMaximized: event.isMaximized,
|
|
2793
|
+
});
|
|
2794
|
+
}), this.gridview.onDidViewVisibilityChange(() => this._onDidViewVisibilityChangeMicroTaskQueue.fire()), this.onDidViewVisibilityChangeMicroTaskQueue(() => {
|
|
2768
2795
|
this.layout(this.width, this.height, true);
|
|
2769
2796
|
}), exports.DockviewDisposable.from(() => {
|
|
2770
2797
|
var _a;
|
|
@@ -2814,9 +2841,6 @@
|
|
|
2814
2841
|
hasMaximizedGroup() {
|
|
2815
2842
|
return this.gridview.hasMaximizedView();
|
|
2816
2843
|
}
|
|
2817
|
-
get onDidMaximizedGroupChange() {
|
|
2818
|
-
return this.gridview.onDidMaximizedNodeChange;
|
|
2819
|
-
}
|
|
2820
2844
|
doAddGroup(group, location = [0], size) {
|
|
2821
2845
|
this.gridview.addView(group, size !== null && size !== void 0 ? size : exports.Sizing.Distribute, location);
|
|
2822
2846
|
this._onDidAdd.fire(group);
|
|
@@ -3680,7 +3704,7 @@
|
|
|
3680
3704
|
* dnd logic. You can see the code at
|
|
3681
3705
|
* https://github.com/react-dnd/react-dnd/blob/main/packages/backend-html5/src/HTML5BackendImpl.ts#L542
|
|
3682
3706
|
*/
|
|
3683
|
-
event.dataTransfer.setData('text/plain', '
|
|
3707
|
+
event.dataTransfer.setData('text/plain', '');
|
|
3684
3708
|
}
|
|
3685
3709
|
}
|
|
3686
3710
|
}), addDisposableListener(this.el, 'dragend', () => {
|
|
@@ -3854,12 +3878,12 @@
|
|
|
3854
3878
|
this.markAsUsed(e);
|
|
3855
3879
|
if (!this.targetElement) {
|
|
3856
3880
|
this.targetElement = document.createElement('div');
|
|
3857
|
-
this.targetElement.className = 'drop-target-dropzone';
|
|
3881
|
+
this.targetElement.className = 'dv-drop-target-dropzone';
|
|
3858
3882
|
this.overlayElement = document.createElement('div');
|
|
3859
|
-
this.overlayElement.className = 'drop-target-selection';
|
|
3883
|
+
this.overlayElement.className = 'dv-drop-target-selection';
|
|
3860
3884
|
this._state = 'center';
|
|
3861
3885
|
this.targetElement.appendChild(this.overlayElement);
|
|
3862
|
-
this.element.classList.add('drop-target');
|
|
3886
|
+
this.element.classList.add('dv-drop-target');
|
|
3863
3887
|
this.element.append(this.targetElement);
|
|
3864
3888
|
}
|
|
3865
3889
|
this.toggleClasses(quadrant, width, height);
|
|
@@ -3997,7 +4021,7 @@
|
|
|
3997
4021
|
this.element.removeChild(this.targetElement);
|
|
3998
4022
|
this.targetElement = undefined;
|
|
3999
4023
|
this.overlayElement = undefined;
|
|
4000
|
-
this.element.classList.remove('drop-target');
|
|
4024
|
+
this.element.classList.remove('dv-drop-target');
|
|
4001
4025
|
}
|
|
4002
4026
|
}
|
|
4003
4027
|
}
|
|
@@ -4334,7 +4358,7 @@
|
|
|
4334
4358
|
this._headerVisible = isHeaderVisible;
|
|
4335
4359
|
this._onDidChangeExpansionState.fire(this.isExpanded()); // initialize value
|
|
4336
4360
|
this._orientation = orientation;
|
|
4337
|
-
this.element.classList.add('pane');
|
|
4361
|
+
this.element.classList.add('dv-pane');
|
|
4338
4362
|
this.addDisposables(this.api.onWillVisibilityChange((event) => {
|
|
4339
4363
|
const { isVisible } = event;
|
|
4340
4364
|
const { accessor } = this._params;
|
|
@@ -4431,14 +4455,14 @@
|
|
|
4431
4455
|
renderOnce() {
|
|
4432
4456
|
this.header = document.createElement('div');
|
|
4433
4457
|
this.header.tabIndex = 0;
|
|
4434
|
-
this.header.className = 'pane-header';
|
|
4458
|
+
this.header.className = 'dv-pane-header';
|
|
4435
4459
|
this.header.style.height = `${this.headerSize}px`;
|
|
4436
4460
|
this.header.style.lineHeight = `${this.headerSize}px`;
|
|
4437
4461
|
this.header.style.minHeight = `${this.headerSize}px`;
|
|
4438
4462
|
this.header.style.maxHeight = `${this.headerSize}px`;
|
|
4439
4463
|
this.element.appendChild(this.header);
|
|
4440
4464
|
this.body = document.createElement('div');
|
|
4441
|
-
this.body.className = 'pane-body';
|
|
4465
|
+
this.body.className = 'dv-pane-body';
|
|
4442
4466
|
this.element.appendChild(this.body);
|
|
4443
4467
|
}
|
|
4444
4468
|
// TODO slightly hacky by-pass of the component to create a body and header component
|
|
@@ -4559,7 +4583,7 @@
|
|
|
4559
4583
|
this._onDidBlur = new Emitter();
|
|
4560
4584
|
this.onDidBlur = this._onDidBlur.event;
|
|
4561
4585
|
this._element = document.createElement('div');
|
|
4562
|
-
this._element.className = 'content-container';
|
|
4586
|
+
this._element.className = 'dv-content-container';
|
|
4563
4587
|
this._element.tabIndex = -1;
|
|
4564
4588
|
this.addDisposables(this._onDidFocus, this._onDidBlur);
|
|
4565
4589
|
this.dropTarget = new Droptarget(this.element, {
|
|
@@ -4632,6 +4656,8 @@
|
|
|
4632
4656
|
referenceContainer: this,
|
|
4633
4657
|
});
|
|
4634
4658
|
break;
|
|
4659
|
+
default:
|
|
4660
|
+
throw new Error(`dockview: invalid renderer type '${panel.api.renderer}'`);
|
|
4635
4661
|
}
|
|
4636
4662
|
if (doRender) {
|
|
4637
4663
|
const focusTracker = trackFocus(container);
|
|
@@ -4698,10 +4724,10 @@
|
|
|
4698
4724
|
this._onDragStart = new Emitter();
|
|
4699
4725
|
this.onDragStart = this._onDragStart.event;
|
|
4700
4726
|
this._element = document.createElement('div');
|
|
4701
|
-
this._element.className = 'tab';
|
|
4727
|
+
this._element.className = 'dv-tab';
|
|
4702
4728
|
this._element.tabIndex = 0;
|
|
4703
4729
|
this._element.draggable = true;
|
|
4704
|
-
toggleClass(this.element, 'inactive-tab', true);
|
|
4730
|
+
toggleClass(this.element, 'dv-inactive-tab', true);
|
|
4705
4731
|
const dragHandler = new TabDragHandler(this._element, this.accessor, this.group, this.panel);
|
|
4706
4732
|
this.dropTarget = new Droptarget(this._element, {
|
|
4707
4733
|
acceptedTargetZones: ['center'],
|
|
@@ -4734,8 +4760,8 @@
|
|
|
4734
4760
|
}), this.dropTarget);
|
|
4735
4761
|
}
|
|
4736
4762
|
setActive(isActive) {
|
|
4737
|
-
toggleClass(this.element, 'active-tab', isActive);
|
|
4738
|
-
toggleClass(this.element, 'inactive-tab', !isActive);
|
|
4763
|
+
toggleClass(this.element, 'dv-active-tab', isActive);
|
|
4764
|
+
toggleClass(this.element, 'dv-inactive-tab', !isActive);
|
|
4739
4765
|
}
|
|
4740
4766
|
setContent(part) {
|
|
4741
4767
|
if (this.content) {
|
|
@@ -4823,8 +4849,7 @@
|
|
|
4823
4849
|
this._onDragStart = new Emitter();
|
|
4824
4850
|
this.onDragStart = this._onDragStart.event;
|
|
4825
4851
|
this._element = document.createElement('div');
|
|
4826
|
-
this._element.className = 'void-container';
|
|
4827
|
-
this._element.tabIndex = 0;
|
|
4852
|
+
this._element.className = 'dv-void-container';
|
|
4828
4853
|
this._element.draggable = true;
|
|
4829
4854
|
this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, 'pointerdown', () => {
|
|
4830
4855
|
this.accessor.doSetGroupActive(this.group);
|
|
@@ -4943,16 +4968,16 @@
|
|
|
4943
4968
|
this._onWillShowOverlay = new Emitter();
|
|
4944
4969
|
this.onWillShowOverlay = this._onWillShowOverlay.event;
|
|
4945
4970
|
this._element = document.createElement('div');
|
|
4946
|
-
this._element.className = 'tabs-and-actions-container';
|
|
4971
|
+
this._element.className = 'dv-tabs-and-actions-container';
|
|
4947
4972
|
toggleClass(this._element, 'dv-full-width-single-tab', this.accessor.options.singleTabMode === 'fullwidth');
|
|
4948
4973
|
this.rightActionsContainer = document.createElement('div');
|
|
4949
|
-
this.rightActionsContainer.className = 'right-actions-container';
|
|
4974
|
+
this.rightActionsContainer.className = 'dv-right-actions-container';
|
|
4950
4975
|
this.leftActionsContainer = document.createElement('div');
|
|
4951
|
-
this.leftActionsContainer.className = 'left-actions-container';
|
|
4976
|
+
this.leftActionsContainer.className = 'dv-left-actions-container';
|
|
4952
4977
|
this.preActionsContainer = document.createElement('div');
|
|
4953
|
-
this.preActionsContainer.className = 'pre-actions-container';
|
|
4978
|
+
this.preActionsContainer.className = 'dv-pre-actions-container';
|
|
4954
4979
|
this.tabContainer = document.createElement('div');
|
|
4955
|
-
this.tabContainer.className = 'tabs-container';
|
|
4980
|
+
this.tabContainer.className = 'dv-tabs-container';
|
|
4956
4981
|
this.voidContainer = new VoidContainer(this.accessor, this.group);
|
|
4957
4982
|
this._element.appendChild(this.preActionsContainer);
|
|
4958
4983
|
this._element.appendChild(this.tabContainer);
|
|
@@ -5041,14 +5066,10 @@
|
|
|
5041
5066
|
});
|
|
5042
5067
|
}
|
|
5043
5068
|
openPanel(panel, index = this.tabs.length) {
|
|
5044
|
-
var _a;
|
|
5045
5069
|
if (this.tabs.find((tab) => tab.value.panel.id === panel.id)) {
|
|
5046
5070
|
return;
|
|
5047
5071
|
}
|
|
5048
5072
|
const tab = new Tab(panel, this.accessor, this.group);
|
|
5049
|
-
if (!((_a = panel.view) === null || _a === void 0 ? void 0 : _a.tab)) {
|
|
5050
|
-
throw new Error('invalid header component');
|
|
5051
|
-
}
|
|
5052
5073
|
tab.setContent(panel.view.tab);
|
|
5053
5074
|
const disposable = new CompositeDisposable(tab.onDragStart((event) => {
|
|
5054
5075
|
this._onTabDragStart.fire({ nativeEvent: event, panel });
|
|
@@ -5142,6 +5163,7 @@
|
|
|
5142
5163
|
disableDnd: undefined,
|
|
5143
5164
|
gap: undefined,
|
|
5144
5165
|
className: undefined,
|
|
5166
|
+
noPanelsOverlay: undefined,
|
|
5145
5167
|
};
|
|
5146
5168
|
return Object.keys(properties);
|
|
5147
5169
|
})();
|
|
@@ -5238,7 +5260,7 @@
|
|
|
5238
5260
|
}
|
|
5239
5261
|
class DockviewGroupPanelModel extends CompositeDisposable {
|
|
5240
5262
|
get element() {
|
|
5241
|
-
throw new Error('not supported');
|
|
5263
|
+
throw new Error('dockview: not supported');
|
|
5242
5264
|
}
|
|
5243
5265
|
get activePanel() {
|
|
5244
5266
|
return this._activePanel;
|
|
@@ -5248,7 +5270,7 @@
|
|
|
5248
5270
|
}
|
|
5249
5271
|
set locked(value) {
|
|
5250
5272
|
this._locked = value;
|
|
5251
|
-
toggleClass(this.container, 'locked-groupview', value === 'no-drop-target' || value);
|
|
5273
|
+
toggleClass(this.container, 'dv-locked-groupview', value === 'no-drop-target' || value);
|
|
5252
5274
|
}
|
|
5253
5275
|
get isActive() {
|
|
5254
5276
|
return this._isGroupActive;
|
|
@@ -5319,6 +5341,7 @@
|
|
|
5319
5341
|
this._locked = false;
|
|
5320
5342
|
this._location = { type: 'grid' };
|
|
5321
5343
|
this.mostRecentlyUsed = [];
|
|
5344
|
+
this._overwriteRenderContainer = null;
|
|
5322
5345
|
this._onDidChange = new Emitter();
|
|
5323
5346
|
this.onDidChange = this._onDidChange.event;
|
|
5324
5347
|
this._width = 0;
|
|
@@ -5349,8 +5372,7 @@
|
|
|
5349
5372
|
this.onDidActivePanelChange = this._onDidActivePanelChange.event;
|
|
5350
5373
|
this._onUnhandledDragOverEvent = new Emitter();
|
|
5351
5374
|
this.onUnhandledDragOverEvent = this._onUnhandledDragOverEvent.event;
|
|
5352
|
-
this.
|
|
5353
|
-
toggleClass(this.container, 'groupview', true);
|
|
5375
|
+
toggleClass(this.container, 'dv-groupview', true);
|
|
5354
5376
|
this._api = new DockviewApi(this.accessor);
|
|
5355
5377
|
this.tabsContainer = new TabsContainer(this.accessor, this.groupPanel);
|
|
5356
5378
|
this.contentContainer = new ContentContainer(this.accessor, this);
|
|
@@ -5582,7 +5604,10 @@
|
|
|
5582
5604
|
this.doClose(panel);
|
|
5583
5605
|
}
|
|
5584
5606
|
doClose(panel) {
|
|
5585
|
-
this.accessor.
|
|
5607
|
+
const isLast = this.panels.length === 1 && this.accessor.groups.length === 1;
|
|
5608
|
+
this.accessor.removePanel(panel, isLast && this.accessor.options.noPanelsOverlay === 'emptyGroup'
|
|
5609
|
+
? { removeEmptyGroup: false }
|
|
5610
|
+
: undefined);
|
|
5586
5611
|
}
|
|
5587
5612
|
isPanelActive(panel) {
|
|
5588
5613
|
return this._activePanel === panel;
|
|
@@ -5595,8 +5620,8 @@
|
|
|
5595
5620
|
return;
|
|
5596
5621
|
}
|
|
5597
5622
|
this._isGroupActive = isGroupActive;
|
|
5598
|
-
toggleClass(this.container, 'active-group', isGroupActive);
|
|
5599
|
-
toggleClass(this.container, 'inactive-group', !isGroupActive);
|
|
5623
|
+
toggleClass(this.container, 'dv-active-group', isGroupActive);
|
|
5624
|
+
toggleClass(this.container, 'dv-inactive-group', !isGroupActive);
|
|
5600
5625
|
this.tabsContainer.setActive(this.isActive);
|
|
5601
5626
|
if (!this._activePanel && this.panels.length > 0) {
|
|
5602
5627
|
this.doSetActivePanel(this.panels[0]);
|
|
@@ -5688,7 +5713,6 @@
|
|
|
5688
5713
|
}
|
|
5689
5714
|
updateContainer() {
|
|
5690
5715
|
var _a, _b;
|
|
5691
|
-
toggleClass(this.container, 'empty', this.isEmpty);
|
|
5692
5716
|
this.panels.forEach((panel) => panel.runEvents());
|
|
5693
5717
|
if (this.isEmpty && !this.watermark) {
|
|
5694
5718
|
const watermark = this.accessor.createWatermarkComponent();
|
|
@@ -5702,14 +5726,12 @@
|
|
|
5702
5726
|
this.accessor.doSetGroupActive(this.groupPanel);
|
|
5703
5727
|
}
|
|
5704
5728
|
});
|
|
5705
|
-
this.tabsContainer.hide();
|
|
5706
5729
|
this.contentContainer.element.appendChild(this.watermark.element);
|
|
5707
5730
|
}
|
|
5708
5731
|
if (!this.isEmpty && this.watermark) {
|
|
5709
5732
|
this.watermark.element.remove();
|
|
5710
5733
|
(_b = (_a = this.watermark).dispose) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
5711
5734
|
this.watermark = undefined;
|
|
5712
|
-
this.tabsContainer.show();
|
|
5713
5735
|
}
|
|
5714
5736
|
}
|
|
5715
5737
|
canDisplayOverlay(event, position, target) {
|
|
@@ -5829,6 +5851,34 @@
|
|
|
5829
5851
|
return this._snap;
|
|
5830
5852
|
}
|
|
5831
5853
|
get minimumWidth() {
|
|
5854
|
+
/**
|
|
5855
|
+
* defer to protected function to allow subclasses to override easily.
|
|
5856
|
+
* see https://github.com/microsoft/TypeScript/issues/338
|
|
5857
|
+
*/
|
|
5858
|
+
return this.__minimumWidth();
|
|
5859
|
+
}
|
|
5860
|
+
get minimumHeight() {
|
|
5861
|
+
/**
|
|
5862
|
+
* defer to protected function to allow subclasses to override easily.
|
|
5863
|
+
* see https://github.com/microsoft/TypeScript/issues/338
|
|
5864
|
+
*/
|
|
5865
|
+
return this.__minimumHeight();
|
|
5866
|
+
}
|
|
5867
|
+
get maximumHeight() {
|
|
5868
|
+
/**
|
|
5869
|
+
* defer to protected function to allow subclasses to override easily.
|
|
5870
|
+
* see https://github.com/microsoft/TypeScript/issues/338
|
|
5871
|
+
*/
|
|
5872
|
+
return this.__maximumHeight();
|
|
5873
|
+
}
|
|
5874
|
+
get maximumWidth() {
|
|
5875
|
+
/**
|
|
5876
|
+
* defer to protected function to allow subclasses to override easily.
|
|
5877
|
+
* see https://github.com/microsoft/TypeScript/issues/338
|
|
5878
|
+
*/
|
|
5879
|
+
return this.__maximumWidth();
|
|
5880
|
+
}
|
|
5881
|
+
__minimumWidth() {
|
|
5832
5882
|
const width = typeof this._minimumWidth === 'function'
|
|
5833
5883
|
? this._minimumWidth()
|
|
5834
5884
|
: this._minimumWidth;
|
|
@@ -5838,7 +5888,17 @@
|
|
|
5838
5888
|
}
|
|
5839
5889
|
return width;
|
|
5840
5890
|
}
|
|
5841
|
-
|
|
5891
|
+
__maximumWidth() {
|
|
5892
|
+
const width = typeof this._maximumWidth === 'function'
|
|
5893
|
+
? this._maximumWidth()
|
|
5894
|
+
: this._maximumWidth;
|
|
5895
|
+
if (width !== this._evaluatedMaximumWidth) {
|
|
5896
|
+
this._evaluatedMaximumWidth = width;
|
|
5897
|
+
this.updateConstraints();
|
|
5898
|
+
}
|
|
5899
|
+
return width;
|
|
5900
|
+
}
|
|
5901
|
+
__minimumHeight() {
|
|
5842
5902
|
const height = typeof this._minimumHeight === 'function'
|
|
5843
5903
|
? this._minimumHeight()
|
|
5844
5904
|
: this._minimumHeight;
|
|
@@ -5848,7 +5908,7 @@
|
|
|
5848
5908
|
}
|
|
5849
5909
|
return height;
|
|
5850
5910
|
}
|
|
5851
|
-
|
|
5911
|
+
__maximumHeight() {
|
|
5852
5912
|
const height = typeof this._maximumHeight === 'function'
|
|
5853
5913
|
? this._maximumHeight()
|
|
5854
5914
|
: this._maximumHeight;
|
|
@@ -5858,16 +5918,6 @@
|
|
|
5858
5918
|
}
|
|
5859
5919
|
return height;
|
|
5860
5920
|
}
|
|
5861
|
-
get maximumWidth() {
|
|
5862
|
-
const width = typeof this._maximumWidth === 'function'
|
|
5863
|
-
? this._maximumWidth()
|
|
5864
|
-
: this._maximumWidth;
|
|
5865
|
-
if (width !== this._evaluatedMaximumWidth) {
|
|
5866
|
-
this._evaluatedMaximumWidth = width;
|
|
5867
|
-
this.updateConstraints();
|
|
5868
|
-
}
|
|
5869
|
-
return width;
|
|
5870
|
-
}
|
|
5871
5921
|
get isActive() {
|
|
5872
5922
|
return this.api.isActive;
|
|
5873
5923
|
}
|
|
@@ -6018,6 +6068,7 @@
|
|
|
6018
6068
|
position: options.group
|
|
6019
6069
|
? (_c = options.position) !== null && _c !== void 0 ? _c : 'center'
|
|
6020
6070
|
: 'center',
|
|
6071
|
+
index: options.index,
|
|
6021
6072
|
},
|
|
6022
6073
|
});
|
|
6023
6074
|
}
|
|
@@ -6069,30 +6120,34 @@
|
|
|
6069
6120
|
get minimumWidth() {
|
|
6070
6121
|
var _a;
|
|
6071
6122
|
const activePanelMinimumWidth = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.minimumWidth;
|
|
6072
|
-
|
|
6073
|
-
|
|
6074
|
-
|
|
6123
|
+
if (typeof activePanelMinimumWidth === 'number') {
|
|
6124
|
+
return activePanelMinimumWidth;
|
|
6125
|
+
}
|
|
6126
|
+
return super.__minimumWidth();
|
|
6075
6127
|
}
|
|
6076
6128
|
get minimumHeight() {
|
|
6077
6129
|
var _a;
|
|
6078
6130
|
const activePanelMinimumHeight = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.minimumHeight;
|
|
6079
|
-
|
|
6080
|
-
|
|
6081
|
-
|
|
6131
|
+
if (typeof activePanelMinimumHeight === 'number') {
|
|
6132
|
+
return activePanelMinimumHeight;
|
|
6133
|
+
}
|
|
6134
|
+
return super.__minimumHeight();
|
|
6082
6135
|
}
|
|
6083
6136
|
get maximumWidth() {
|
|
6084
6137
|
var _a;
|
|
6085
6138
|
const activePanelMaximumWidth = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.maximumWidth;
|
|
6086
|
-
|
|
6087
|
-
|
|
6088
|
-
|
|
6139
|
+
if (typeof activePanelMaximumWidth === 'number') {
|
|
6140
|
+
return activePanelMaximumWidth;
|
|
6141
|
+
}
|
|
6142
|
+
return super.__maximumWidth();
|
|
6089
6143
|
}
|
|
6090
6144
|
get maximumHeight() {
|
|
6091
6145
|
var _a;
|
|
6092
6146
|
const activePanelMaximumHeight = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.maximumHeight;
|
|
6093
|
-
|
|
6094
|
-
|
|
6095
|
-
|
|
6147
|
+
if (typeof activePanelMaximumHeight === 'number') {
|
|
6148
|
+
return activePanelMaximumHeight;
|
|
6149
|
+
}
|
|
6150
|
+
return super.__maximumHeight();
|
|
6096
6151
|
}
|
|
6097
6152
|
get panels() {
|
|
6098
6153
|
return this._model.panels;
|
|
@@ -6206,12 +6261,14 @@
|
|
|
6206
6261
|
return this.group.api.getWindow();
|
|
6207
6262
|
}
|
|
6208
6263
|
moveTo(options) {
|
|
6209
|
-
var _a;
|
|
6264
|
+
var _a, _b;
|
|
6210
6265
|
this.accessor.moveGroupOrPanel({
|
|
6211
6266
|
from: { groupId: this._group.id, panelId: this.panel.id },
|
|
6212
6267
|
to: {
|
|
6213
|
-
group: options.group,
|
|
6214
|
-
position:
|
|
6268
|
+
group: (_a = options.group) !== null && _a !== void 0 ? _a : this._group,
|
|
6269
|
+
position: options.group
|
|
6270
|
+
? (_b = options.position) !== null && _b !== void 0 ? _b : 'center'
|
|
6271
|
+
: 'center',
|
|
6215
6272
|
index: options.index,
|
|
6216
6273
|
},
|
|
6217
6274
|
});
|
|
@@ -6430,7 +6487,7 @@
|
|
|
6430
6487
|
svg.setAttributeNS(null, 'viewBox', params.viewbox);
|
|
6431
6488
|
svg.setAttributeNS(null, 'aria-hidden', 'false');
|
|
6432
6489
|
svg.setAttributeNS(null, 'focusable', 'false');
|
|
6433
|
-
svg.classList.add('
|
|
6490
|
+
svg.classList.add('dv-svg');
|
|
6434
6491
|
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
|
|
6435
6492
|
path.setAttributeNS(null, 'd', params.path);
|
|
6436
6493
|
svg.appendChild(path);
|
|
@@ -6601,39 +6658,10 @@
|
|
|
6601
6658
|
constructor() {
|
|
6602
6659
|
super();
|
|
6603
6660
|
this._element = document.createElement('div');
|
|
6604
|
-
this._element.className = 'watermark';
|
|
6605
|
-
const title = document.createElement('div');
|
|
6606
|
-
title.className = 'watermark-title';
|
|
6607
|
-
const emptySpace = document.createElement('span');
|
|
6608
|
-
emptySpace.style.flexGrow = '1';
|
|
6609
|
-
const content = document.createElement('div');
|
|
6610
|
-
content.className = 'watermark-content';
|
|
6611
|
-
this._element.appendChild(title);
|
|
6612
|
-
this._element.appendChild(content);
|
|
6613
|
-
const actionsContainer = document.createElement('div');
|
|
6614
|
-
actionsContainer.className = 'actions-container';
|
|
6615
|
-
const closeAnchor = document.createElement('div');
|
|
6616
|
-
closeAnchor.className = 'close-action';
|
|
6617
|
-
closeAnchor.appendChild(createCloseButton());
|
|
6618
|
-
actionsContainer.appendChild(closeAnchor);
|
|
6619
|
-
title.appendChild(emptySpace);
|
|
6620
|
-
title.appendChild(actionsContainer);
|
|
6621
|
-
this.addDisposables(addDisposableListener(closeAnchor, 'click', (event) => {
|
|
6622
|
-
var _a;
|
|
6623
|
-
event.preventDefault();
|
|
6624
|
-
if (this._group) {
|
|
6625
|
-
(_a = this._api) === null || _a === void 0 ? void 0 : _a.removeGroup(this._group);
|
|
6626
|
-
}
|
|
6627
|
-
}));
|
|
6661
|
+
this._element.className = 'dv-watermark';
|
|
6628
6662
|
}
|
|
6629
6663
|
init(_params) {
|
|
6630
|
-
|
|
6631
|
-
this._group = _params.group;
|
|
6632
|
-
this.render();
|
|
6633
|
-
}
|
|
6634
|
-
render() {
|
|
6635
|
-
const isOneGroup = !!(this._api && this._api.size <= 1);
|
|
6636
|
-
toggleClass(this.element, 'has-actions', isOneGroup);
|
|
6664
|
+
// noop
|
|
6637
6665
|
}
|
|
6638
6666
|
}
|
|
6639
6667
|
|
|
@@ -6670,6 +6698,9 @@
|
|
|
6670
6698
|
get element() {
|
|
6671
6699
|
return this._element;
|
|
6672
6700
|
}
|
|
6701
|
+
get isVisible() {
|
|
6702
|
+
return this._isVisible;
|
|
6703
|
+
}
|
|
6673
6704
|
constructor(options) {
|
|
6674
6705
|
super();
|
|
6675
6706
|
this.options = options;
|
|
@@ -6680,6 +6711,7 @@
|
|
|
6680
6711
|
this.onDidChangeEnd = this._onDidChangeEnd.event;
|
|
6681
6712
|
this.addDisposables(this._onDidChange, this._onDidChangeEnd);
|
|
6682
6713
|
this._element.className = 'dv-resize-container';
|
|
6714
|
+
this._isVisible = true;
|
|
6683
6715
|
this.setupResize('top');
|
|
6684
6716
|
this.setupResize('bottom');
|
|
6685
6717
|
this.setupResize('left');
|
|
@@ -6694,6 +6726,13 @@
|
|
|
6694
6726
|
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 })));
|
|
6695
6727
|
arialLevelTracker.push(this._element);
|
|
6696
6728
|
}
|
|
6729
|
+
setVisible(isVisible) {
|
|
6730
|
+
if (isVisible === this.isVisible) {
|
|
6731
|
+
return;
|
|
6732
|
+
}
|
|
6733
|
+
this._isVisible = isVisible;
|
|
6734
|
+
toggleClass(this.element, 'dv-hidden', !this.isVisible);
|
|
6735
|
+
}
|
|
6697
6736
|
bringToFront() {
|
|
6698
6737
|
arialLevelTracker.push(this._element);
|
|
6699
6738
|
}
|
|
@@ -7244,7 +7283,6 @@
|
|
|
7244
7283
|
window: this._window.value,
|
|
7245
7284
|
});
|
|
7246
7285
|
this._window.disposable.dispose();
|
|
7247
|
-
this._window.value.close();
|
|
7248
7286
|
this._window = null;
|
|
7249
7287
|
this._onDidClose.fire();
|
|
7250
7288
|
}
|
|
@@ -7276,7 +7314,9 @@
|
|
|
7276
7314
|
}
|
|
7277
7315
|
const disposable = new CompositeDisposable();
|
|
7278
7316
|
this._window = { value: externalWindow, disposable };
|
|
7279
|
-
disposable.addDisposables(
|
|
7317
|
+
disposable.addDisposables(exports.DockviewDisposable.from(() => {
|
|
7318
|
+
externalWindow.close();
|
|
7319
|
+
}), addDisposableWindowListener(window, 'beforeunload', () => {
|
|
7280
7320
|
/**
|
|
7281
7321
|
* before the main window closes we should close this popup too
|
|
7282
7322
|
* to be good citizens
|
|
@@ -7293,7 +7333,7 @@
|
|
|
7293
7333
|
id: this.target,
|
|
7294
7334
|
window: externalWindow,
|
|
7295
7335
|
});
|
|
7296
|
-
return new Promise((resolve) => {
|
|
7336
|
+
return new Promise((resolve, reject) => {
|
|
7297
7337
|
externalWindow.addEventListener('unload', (e) => {
|
|
7298
7338
|
// if page fails to load before unloading
|
|
7299
7339
|
// this.close();
|
|
@@ -7302,21 +7342,27 @@
|
|
|
7302
7342
|
/**
|
|
7303
7343
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event
|
|
7304
7344
|
*/
|
|
7305
|
-
|
|
7306
|
-
|
|
7307
|
-
|
|
7308
|
-
|
|
7309
|
-
|
|
7310
|
-
* beforeunload must be registered after load for reasons I could not determine
|
|
7311
|
-
* otherwise the beforeunload event will not fire when the window is closed
|
|
7312
|
-
*/
|
|
7313
|
-
addDisposableWindowListener(externalWindow, 'beforeunload', () => {
|
|
7345
|
+
try {
|
|
7346
|
+
const externalDocument = externalWindow.document;
|
|
7347
|
+
externalDocument.title = document.title;
|
|
7348
|
+
externalDocument.body.appendChild(container);
|
|
7349
|
+
addStyles(externalDocument, window.document.styleSheets);
|
|
7314
7350
|
/**
|
|
7315
|
-
*
|
|
7351
|
+
* beforeunload must be registered after load for reasons I could not determine
|
|
7352
|
+
* otherwise the beforeunload event will not fire when the window is closed
|
|
7316
7353
|
*/
|
|
7317
|
-
|
|
7318
|
-
|
|
7319
|
-
|
|
7354
|
+
addDisposableWindowListener(externalWindow, 'beforeunload', () => {
|
|
7355
|
+
/**
|
|
7356
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event
|
|
7357
|
+
*/
|
|
7358
|
+
this.close();
|
|
7359
|
+
});
|
|
7360
|
+
resolve(container);
|
|
7361
|
+
}
|
|
7362
|
+
catch (err) {
|
|
7363
|
+
// only except this is the DOM isn't setup. e.g. in a in correctly configured test
|
|
7364
|
+
reject(err);
|
|
7365
|
+
}
|
|
7320
7366
|
});
|
|
7321
7367
|
});
|
|
7322
7368
|
});
|
|
@@ -7423,6 +7469,8 @@
|
|
|
7423
7469
|
this.onDidActivePanelChange = this._onDidActivePanelChange.event;
|
|
7424
7470
|
this._onDidMovePanel = new Emitter();
|
|
7425
7471
|
this.onDidMovePanel = this._onDidMovePanel.event;
|
|
7472
|
+
this._onDidMaximizedGroupChange = new Emitter();
|
|
7473
|
+
this.onDidMaximizedGroupChange = this._onDidMaximizedGroupChange.event;
|
|
7426
7474
|
this._floatingGroups = [];
|
|
7427
7475
|
this._popoutGroups = [];
|
|
7428
7476
|
this._onDidRemoveGroup = new Emitter();
|
|
@@ -7449,6 +7497,11 @@
|
|
|
7449
7497
|
if (!this._moving) {
|
|
7450
7498
|
this._onDidActiveGroupChange.fire(event);
|
|
7451
7499
|
}
|
|
7500
|
+
}), this.onDidMaximizedChange((event) => {
|
|
7501
|
+
this._onDidMaximizedGroupChange.fire({
|
|
7502
|
+
group: event.panel,
|
|
7503
|
+
isMaximized: event.isMaximized,
|
|
7504
|
+
});
|
|
7452
7505
|
}), exports.DockviewEvent.any(this.onDidAdd, this.onDidRemove)(() => {
|
|
7453
7506
|
this.updateWatermark();
|
|
7454
7507
|
}), exports.DockviewEvent.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidAddGroup, this.onDidRemove, this.onDidMovePanel, this.onDidActivePanelChange)(() => {
|
|
@@ -7547,8 +7600,28 @@
|
|
|
7547
7600
|
this._api = new DockviewApi(this);
|
|
7548
7601
|
this.updateWatermark();
|
|
7549
7602
|
}
|
|
7603
|
+
setVisible(panel, visible) {
|
|
7604
|
+
switch (panel.api.location.type) {
|
|
7605
|
+
case 'grid':
|
|
7606
|
+
super.setVisible(panel, visible);
|
|
7607
|
+
break;
|
|
7608
|
+
case 'floating': {
|
|
7609
|
+
const item = this.floatingGroups.find((floatingGroup) => floatingGroup.group === panel);
|
|
7610
|
+
if (item) {
|
|
7611
|
+
item.overlay.setVisible(visible);
|
|
7612
|
+
panel.api._onDidVisibilityChange.fire({
|
|
7613
|
+
isVisible: visible,
|
|
7614
|
+
});
|
|
7615
|
+
}
|
|
7616
|
+
break;
|
|
7617
|
+
}
|
|
7618
|
+
case 'popout':
|
|
7619
|
+
console.warn('dockview: You cannot hide a group that is in a popout window');
|
|
7620
|
+
break;
|
|
7621
|
+
}
|
|
7622
|
+
}
|
|
7550
7623
|
addPopoutGroup(itemToPopout, options) {
|
|
7551
|
-
var _a, _b, _c;
|
|
7624
|
+
var _a, _b, _c, _d, _e;
|
|
7552
7625
|
if (itemToPopout instanceof DockviewPanel &&
|
|
7553
7626
|
itemToPopout.group.size === 1) {
|
|
7554
7627
|
return this.addPopoutGroup(itemToPopout.group, options);
|
|
@@ -7569,12 +7642,9 @@
|
|
|
7569
7642
|
}
|
|
7570
7643
|
const box = getBox();
|
|
7571
7644
|
const groupId = (_b = (_a = options === null || options === void 0 ? void 0 : options.overridePopoutGroup) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : this.getNextGroupId();
|
|
7572
|
-
if (itemToPopout.api.location.type === 'grid') {
|
|
7573
|
-
itemToPopout.api.setVisible(false);
|
|
7574
|
-
}
|
|
7575
7645
|
const _window = new PopoutWindow(`${this.id}-${groupId}`, // unique id
|
|
7576
7646
|
theme !== null && theme !== void 0 ? theme : '', {
|
|
7577
|
-
url: (_c = options === null || options === void 0 ? void 0 : options.popoutUrl) !== null && _c !== void 0 ? _c : '/popout.html',
|
|
7647
|
+
url: (_e = (_c = options === null || options === void 0 ? void 0 : options.popoutUrl) !== null && _c !== void 0 ? _c : (_d = this.options) === null || _d === void 0 ? void 0 : _d.popoutUrl) !== null && _e !== void 0 ? _e : '/popout.html',
|
|
7578
7648
|
left: window.screenX + box.left,
|
|
7579
7649
|
top: window.screenY + box.top,
|
|
7580
7650
|
width: box.width,
|
|
@@ -7588,13 +7658,12 @@
|
|
|
7588
7658
|
return _window
|
|
7589
7659
|
.open()
|
|
7590
7660
|
.then((popoutContainer) => {
|
|
7591
|
-
var _a;
|
|
7592
7661
|
if (_window.isDisposed) {
|
|
7593
|
-
return;
|
|
7662
|
+
return false;
|
|
7594
7663
|
}
|
|
7595
7664
|
if (popoutContainer === null) {
|
|
7596
7665
|
popoutWindowDisposable.dispose();
|
|
7597
|
-
return;
|
|
7666
|
+
return false;
|
|
7598
7667
|
}
|
|
7599
7668
|
const gready = document.createElement('div');
|
|
7600
7669
|
gready.className = 'dv-overlay-render-container';
|
|
@@ -7603,30 +7672,45 @@
|
|
|
7603
7672
|
? itemToPopout.group
|
|
7604
7673
|
: itemToPopout;
|
|
7605
7674
|
const referenceLocation = itemToPopout.api.location.type;
|
|
7606
|
-
|
|
7607
|
-
|
|
7608
|
-
|
|
7609
|
-
|
|
7675
|
+
/**
|
|
7676
|
+
* The group that is being added doesn't already exist within the DOM, the most likely occurance
|
|
7677
|
+
* of this case is when being called from the `fromJSON(...)` method
|
|
7678
|
+
*/
|
|
7679
|
+
const isGroupAddedToDom = referenceGroup.element.parentElement !== null;
|
|
7680
|
+
let group;
|
|
7681
|
+
if (!isGroupAddedToDom) {
|
|
7682
|
+
group = referenceGroup;
|
|
7610
7683
|
}
|
|
7611
|
-
if (
|
|
7612
|
-
|
|
7613
|
-
const panel = referenceGroup.model.removePanel(itemToPopout);
|
|
7614
|
-
group.model.openPanel(panel);
|
|
7615
|
-
});
|
|
7684
|
+
else if (options === null || options === void 0 ? void 0 : options.overridePopoutGroup) {
|
|
7685
|
+
group = options.overridePopoutGroup;
|
|
7616
7686
|
}
|
|
7617
7687
|
else {
|
|
7618
|
-
this.
|
|
7619
|
-
|
|
7620
|
-
|
|
7621
|
-
|
|
7622
|
-
|
|
7623
|
-
|
|
7624
|
-
|
|
7625
|
-
|
|
7626
|
-
|
|
7627
|
-
|
|
7628
|
-
|
|
7629
|
-
|
|
7688
|
+
group = this.createGroup({ id: groupId });
|
|
7689
|
+
this._onDidAddGroup.fire(group);
|
|
7690
|
+
}
|
|
7691
|
+
group.model.renderContainer = overlayRenderContainer;
|
|
7692
|
+
group.layout(_window.window.innerWidth, _window.window.innerHeight);
|
|
7693
|
+
if (!(options === null || options === void 0 ? void 0 : options.overridePopoutGroup) && isGroupAddedToDom) {
|
|
7694
|
+
if (itemToPopout instanceof DockviewPanel) {
|
|
7695
|
+
this.movingLock(() => {
|
|
7696
|
+
const panel = referenceGroup.model.removePanel(itemToPopout);
|
|
7697
|
+
group.model.openPanel(panel);
|
|
7698
|
+
});
|
|
7699
|
+
}
|
|
7700
|
+
else {
|
|
7701
|
+
this.movingLock(() => moveGroupWithoutDestroying({
|
|
7702
|
+
from: referenceGroup,
|
|
7703
|
+
to: group,
|
|
7704
|
+
}));
|
|
7705
|
+
switch (referenceLocation) {
|
|
7706
|
+
case 'grid':
|
|
7707
|
+
referenceGroup.api.setVisible(false);
|
|
7708
|
+
break;
|
|
7709
|
+
case 'floating':
|
|
7710
|
+
case 'popout':
|
|
7711
|
+
this.removeGroup(referenceGroup);
|
|
7712
|
+
break;
|
|
7713
|
+
}
|
|
7630
7714
|
}
|
|
7631
7715
|
}
|
|
7632
7716
|
popoutContainer.classList.add('dv-dockview');
|
|
@@ -7636,7 +7720,12 @@
|
|
|
7636
7720
|
group.model.location = {
|
|
7637
7721
|
type: 'popout',
|
|
7638
7722
|
getWindow: () => _window.window,
|
|
7723
|
+
popoutUrl: options === null || options === void 0 ? void 0 : options.popoutUrl,
|
|
7639
7724
|
};
|
|
7725
|
+
if (isGroupAddedToDom &&
|
|
7726
|
+
itemToPopout.api.location.type === 'grid') {
|
|
7727
|
+
itemToPopout.api.setVisible(false);
|
|
7728
|
+
}
|
|
7640
7729
|
this.doSetGroupAndPanelActive(group);
|
|
7641
7730
|
popoutWindowDisposable.addDisposables(group.api.onDidActiveChange((event) => {
|
|
7642
7731
|
var _a;
|
|
@@ -7648,10 +7737,13 @@
|
|
|
7648
7737
|
(_a = _window.window) === null || _a === void 0 ? void 0 : _a.focus();
|
|
7649
7738
|
}));
|
|
7650
7739
|
let returnedGroup;
|
|
7740
|
+
const isValidReferenceGroup = isGroupAddedToDom &&
|
|
7741
|
+
referenceGroup &&
|
|
7742
|
+
this.getPanel(referenceGroup.id);
|
|
7651
7743
|
const value = {
|
|
7652
7744
|
window: _window,
|
|
7653
7745
|
popoutGroup: group,
|
|
7654
|
-
referenceGroup:
|
|
7746
|
+
referenceGroup: isValidReferenceGroup
|
|
7655
7747
|
? referenceGroup.id
|
|
7656
7748
|
: undefined,
|
|
7657
7749
|
disposable: {
|
|
@@ -7668,9 +7760,10 @@
|
|
|
7668
7760
|
* window dimensions
|
|
7669
7761
|
*/
|
|
7670
7762
|
addDisposableWindowListener(_window.window, 'resize', () => {
|
|
7671
|
-
group.layout(window.innerWidth, window.innerHeight);
|
|
7763
|
+
group.layout(_window.window.innerWidth, _window.window.innerHeight);
|
|
7672
7764
|
}), overlayRenderContainer, exports.DockviewDisposable.from(() => {
|
|
7673
|
-
if (
|
|
7765
|
+
if (isGroupAddedToDom &&
|
|
7766
|
+
this.getPanel(referenceGroup.id)) {
|
|
7674
7767
|
this.movingLock(() => moveGroupWithoutDestroying({
|
|
7675
7768
|
from: group,
|
|
7676
7769
|
to: referenceGroup,
|
|
@@ -7685,21 +7778,27 @@
|
|
|
7685
7778
|
}
|
|
7686
7779
|
}
|
|
7687
7780
|
else if (this.getPanel(group.id)) {
|
|
7688
|
-
|
|
7781
|
+
this.doRemoveGroup(group, {
|
|
7689
7782
|
skipDispose: true,
|
|
7690
7783
|
skipActive: true,
|
|
7784
|
+
skipPopoutReturn: true,
|
|
7691
7785
|
});
|
|
7786
|
+
const removedGroup = group;
|
|
7692
7787
|
removedGroup.model.renderContainer =
|
|
7693
7788
|
this.overlayRenderContainer;
|
|
7694
7789
|
removedGroup.model.location = { type: 'grid' };
|
|
7695
7790
|
returnedGroup = removedGroup;
|
|
7791
|
+
this.doAddGroup(removedGroup, [0]);
|
|
7792
|
+
this.doSetGroupAndPanelActive(removedGroup);
|
|
7696
7793
|
}
|
|
7697
7794
|
}));
|
|
7698
7795
|
this._popoutGroups.push(value);
|
|
7699
7796
|
this.updateWatermark();
|
|
7797
|
+
return true;
|
|
7700
7798
|
})
|
|
7701
7799
|
.catch((err) => {
|
|
7702
7800
|
console.error('dockview: failed to create popout window', err);
|
|
7801
|
+
return false;
|
|
7703
7802
|
});
|
|
7704
7803
|
}
|
|
7705
7804
|
addFloatingGroup(item, options) {
|
|
@@ -7803,7 +7902,7 @@
|
|
|
7803
7902
|
: (_c = (_b = this.options.floatingGroupBounds) === null || _b === void 0 ? void 0 : _b.minimumWidthWithinViewport) !== null && _c !== void 0 ? _c : DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE, minimumInViewportHeight: this.options.floatingGroupBounds === 'boundedWithinViewport'
|
|
7804
7903
|
? undefined
|
|
7805
7904
|
: (_e = (_d = this.options.floatingGroupBounds) === null || _d === void 0 ? void 0 : _d.minimumHeightWithinViewport) !== null && _e !== void 0 ? _e : DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE }));
|
|
7806
|
-
const el = group.element.querySelector('.void-container');
|
|
7905
|
+
const el = group.element.querySelector('.dv-void-container');
|
|
7807
7906
|
if (!el) {
|
|
7808
7907
|
throw new Error('failed to find drag handle');
|
|
7809
7908
|
}
|
|
@@ -7995,6 +8094,9 @@
|
|
|
7995
8094
|
data: group.popoutGroup.toJSON(),
|
|
7996
8095
|
gridReferenceGroup: group.referenceGroup,
|
|
7997
8096
|
position: group.window.dimensions(),
|
|
8097
|
+
url: group.popoutGroup.api.location.type === 'popout'
|
|
8098
|
+
? group.popoutGroup.api.location.popoutUrl
|
|
8099
|
+
: undefined,
|
|
7998
8100
|
};
|
|
7999
8101
|
});
|
|
8000
8102
|
const result = {
|
|
@@ -8081,16 +8183,16 @@
|
|
|
8081
8183
|
}
|
|
8082
8184
|
const serializedPopoutGroups = (_b = data.popoutGroups) !== null && _b !== void 0 ? _b : [];
|
|
8083
8185
|
for (const serializedPopoutGroup of serializedPopoutGroups) {
|
|
8084
|
-
const { data, position, gridReferenceGroup } = serializedPopoutGroup;
|
|
8186
|
+
const { data, position, gridReferenceGroup, url } = serializedPopoutGroup;
|
|
8085
8187
|
const group = createGroupFromSerializedState(data);
|
|
8086
8188
|
this.addPopoutGroup((_c = (gridReferenceGroup
|
|
8087
8189
|
? this.getPanel(gridReferenceGroup)
|
|
8088
8190
|
: undefined)) !== null && _c !== void 0 ? _c : group, {
|
|
8089
|
-
skipRemoveGroup: true,
|
|
8090
8191
|
position: position !== null && position !== void 0 ? position : undefined,
|
|
8091
8192
|
overridePopoutGroup: gridReferenceGroup
|
|
8092
8193
|
? group
|
|
8093
8194
|
: undefined,
|
|
8195
|
+
popoutUrl: url,
|
|
8094
8196
|
});
|
|
8095
8197
|
}
|
|
8096
8198
|
for (const floatingGroup of this._floatingGroups) {
|
|
@@ -8104,6 +8206,7 @@
|
|
|
8104
8206
|
}
|
|
8105
8207
|
}
|
|
8106
8208
|
catch (err) {
|
|
8209
|
+
console.error('dockview: failed to deserialize layout. Reverting changes', err);
|
|
8107
8210
|
/**
|
|
8108
8211
|
* Takes all the successfully created groups and remove all of their panels.
|
|
8109
8212
|
*/
|
|
@@ -8171,11 +8274,13 @@
|
|
|
8171
8274
|
width: options.initialWidth,
|
|
8172
8275
|
height: options.initialHeight,
|
|
8173
8276
|
};
|
|
8277
|
+
let index;
|
|
8174
8278
|
if (options.position) {
|
|
8175
8279
|
if (isPanelOptionsWithPanel(options.position)) {
|
|
8176
8280
|
const referencePanel = typeof options.position.referencePanel === 'string'
|
|
8177
8281
|
? this.getGroupPanel(options.position.referencePanel)
|
|
8178
8282
|
: options.position.referencePanel;
|
|
8283
|
+
index = options.position.index;
|
|
8179
8284
|
if (!referencePanel) {
|
|
8180
8285
|
throw new Error(`referencePanel '${options.position.referencePanel}' does not exist`);
|
|
8181
8286
|
}
|
|
@@ -8186,6 +8291,7 @@
|
|
|
8186
8291
|
typeof options.position.referenceGroup === 'string'
|
|
8187
8292
|
? (_a = this._groups.get(options.position.referenceGroup)) === null || _a === void 0 ? void 0 : _a.value
|
|
8188
8293
|
: options.position.referenceGroup;
|
|
8294
|
+
index = options.position.index;
|
|
8189
8295
|
if (!referenceGroup) {
|
|
8190
8296
|
throw new Error(`referenceGroup '${options.position.referenceGroup}' does not exist`);
|
|
8191
8297
|
}
|
|
@@ -8196,6 +8302,7 @@
|
|
|
8196
8302
|
group.model.openPanel(panel, {
|
|
8197
8303
|
skipSetActive: options.inactive,
|
|
8198
8304
|
skipSetGroupActive: options.inactive,
|
|
8305
|
+
index,
|
|
8199
8306
|
});
|
|
8200
8307
|
if (!options.inactive) {
|
|
8201
8308
|
this.doSetGroupAndPanelActive(group);
|
|
@@ -8225,6 +8332,7 @@
|
|
|
8225
8332
|
group.model.openPanel(panel, {
|
|
8226
8333
|
skipSetActive: options.inactive,
|
|
8227
8334
|
skipSetGroupActive: options.inactive,
|
|
8335
|
+
index,
|
|
8228
8336
|
});
|
|
8229
8337
|
}
|
|
8230
8338
|
else if (referenceGroup.api.location.type === 'floating' ||
|
|
@@ -8233,6 +8341,7 @@
|
|
|
8233
8341
|
referenceGroup.model.openPanel(panel, {
|
|
8234
8342
|
skipSetActive: options.inactive,
|
|
8235
8343
|
skipSetGroupActive: options.inactive,
|
|
8344
|
+
index,
|
|
8236
8345
|
});
|
|
8237
8346
|
referenceGroup.api.setSize({
|
|
8238
8347
|
width: initial === null || initial === void 0 ? void 0 : initial.width,
|
|
@@ -8253,6 +8362,7 @@
|
|
|
8253
8362
|
group.model.openPanel(panel, {
|
|
8254
8363
|
skipSetActive: options.inactive,
|
|
8255
8364
|
skipSetGroupActive: options.inactive,
|
|
8365
|
+
index,
|
|
8256
8366
|
});
|
|
8257
8367
|
if (!options.inactive) {
|
|
8258
8368
|
this.doSetGroupAndPanelActive(group);
|
|
@@ -8271,6 +8381,7 @@
|
|
|
8271
8381
|
group.model.openPanel(panel, {
|
|
8272
8382
|
skipSetActive: options.inactive,
|
|
8273
8383
|
skipSetGroupActive: options.inactive,
|
|
8384
|
+
index,
|
|
8274
8385
|
});
|
|
8275
8386
|
}
|
|
8276
8387
|
else {
|
|
@@ -8281,6 +8392,7 @@
|
|
|
8281
8392
|
group.model.openPanel(panel, {
|
|
8282
8393
|
skipSetActive: options.inactive,
|
|
8283
8394
|
skipSetGroupActive: options.inactive,
|
|
8395
|
+
index,
|
|
8284
8396
|
});
|
|
8285
8397
|
if (!options.inactive) {
|
|
8286
8398
|
this.doSetGroupAndPanelActive(group);
|
|
@@ -8290,7 +8402,6 @@
|
|
|
8290
8402
|
}
|
|
8291
8403
|
removePanel(panel, options = {
|
|
8292
8404
|
removeEmptyGroup: true,
|
|
8293
|
-
skipDispose: false,
|
|
8294
8405
|
}) {
|
|
8295
8406
|
const group = panel.group;
|
|
8296
8407
|
if (!group) {
|
|
@@ -8821,6 +8932,31 @@
|
|
|
8821
8932
|
}
|
|
8822
8933
|
}
|
|
8823
8934
|
|
|
8935
|
+
function createComponent(id, componentName, components = {}, frameworkComponents = {}, createFrameworkComponent, fallback) {
|
|
8936
|
+
const Component = typeof componentName === 'string'
|
|
8937
|
+
? components[componentName]
|
|
8938
|
+
: undefined;
|
|
8939
|
+
const FrameworkComponent = typeof componentName === 'string'
|
|
8940
|
+
? frameworkComponents[componentName]
|
|
8941
|
+
: undefined;
|
|
8942
|
+
if (Component && FrameworkComponent) {
|
|
8943
|
+
throw new Error(`Cannot create '${id}'. component '${componentName}' registered as both a component and frameworkComponent`);
|
|
8944
|
+
}
|
|
8945
|
+
if (FrameworkComponent) {
|
|
8946
|
+
if (!createFrameworkComponent) {
|
|
8947
|
+
throw new Error(`Cannot create '${id}' for framework component '${componentName}'. you must register a frameworkPanelWrapper to use framework components`);
|
|
8948
|
+
}
|
|
8949
|
+
return createFrameworkComponent.createComponent(id, componentName, FrameworkComponent);
|
|
8950
|
+
}
|
|
8951
|
+
if (!Component) {
|
|
8952
|
+
if (fallback) {
|
|
8953
|
+
return fallback();
|
|
8954
|
+
}
|
|
8955
|
+
throw new Error(`Cannot create '${id}', no component '${componentName}' provided`);
|
|
8956
|
+
}
|
|
8957
|
+
return new Component(id, componentName);
|
|
8958
|
+
}
|
|
8959
|
+
|
|
8824
8960
|
class GridviewComponent extends BaseGrid {
|
|
8825
8961
|
get orientation() {
|
|
8826
8962
|
return this.gridview.orientation;
|
|
@@ -9369,12 +9505,14 @@
|
|
|
9369
9505
|
this._expandedIcon = createExpandMoreButton();
|
|
9370
9506
|
this._collapsedIcon = createChevronRightButton();
|
|
9371
9507
|
this.disposable = new MutableDisposable();
|
|
9372
|
-
this.apiRef = {
|
|
9508
|
+
this.apiRef = {
|
|
9509
|
+
api: null,
|
|
9510
|
+
};
|
|
9373
9511
|
this._element = document.createElement('div');
|
|
9374
|
-
this.element.className = 'default-header';
|
|
9512
|
+
this.element.className = 'dv-default-header';
|
|
9375
9513
|
this._content = document.createElement('span');
|
|
9376
9514
|
this._expander = document.createElement('div');
|
|
9377
|
-
this._expander.className = '
|
|
9515
|
+
this._expander.className = 'dv-pane-header-icon';
|
|
9378
9516
|
this.element.appendChild(this._expander);
|
|
9379
9517
|
this.element.appendChild(this._content);
|
|
9380
9518
|
this.addDisposables(addDisposableListener(this._element, 'click', () => {
|
|
@@ -10231,22 +10369,6 @@
|
|
|
10231
10369
|
disposable.dispose();
|
|
10232
10370
|
};
|
|
10233
10371
|
}, [props.onDidDrop]);
|
|
10234
|
-
React.useEffect(() => {
|
|
10235
|
-
if (!dockviewRef.current) {
|
|
10236
|
-
return () => {
|
|
10237
|
-
// noop
|
|
10238
|
-
};
|
|
10239
|
-
}
|
|
10240
|
-
const disposable = dockviewRef.current.onUnhandledDragOverEvent((event) => {
|
|
10241
|
-
var _a;
|
|
10242
|
-
if ((_a = props.showDndOverlay) === null || _a === void 0 ? void 0 : _a.call(props, event)) {
|
|
10243
|
-
event.accept();
|
|
10244
|
-
}
|
|
10245
|
-
});
|
|
10246
|
-
return () => {
|
|
10247
|
-
disposable.dispose();
|
|
10248
|
-
};
|
|
10249
|
-
}, [props.showDndOverlay]);
|
|
10250
10372
|
React.useEffect(() => {
|
|
10251
10373
|
if (!dockviewRef.current) {
|
|
10252
10374
|
return () => {
|
|
@@ -10664,7 +10786,6 @@
|
|
|
10664
10786
|
exports.GridviewComponent = GridviewComponent;
|
|
10665
10787
|
exports.GridviewPanel = GridviewPanel;
|
|
10666
10788
|
exports.GridviewReact = GridviewReact;
|
|
10667
|
-
exports.LocalSelectionTransfer = LocalSelectionTransfer;
|
|
10668
10789
|
exports.PROPERTY_KEYS = PROPERTY_KEYS;
|
|
10669
10790
|
exports.PaneFramework = PaneFramework;
|
|
10670
10791
|
exports.PaneTransfer = PaneTransfer;
|
|
@@ -10683,7 +10804,6 @@
|
|
|
10683
10804
|
exports.SplitviewReact = SplitviewReact;
|
|
10684
10805
|
exports.Tab = Tab;
|
|
10685
10806
|
exports.WillShowOverlayLocationEvent = WillShowOverlayLocationEvent;
|
|
10686
|
-
exports.createComponent = createComponent;
|
|
10687
10807
|
exports.createDockview = createDockview;
|
|
10688
10808
|
exports.createGridview = createGridview;
|
|
10689
10809
|
exports.createPaneview = createPaneview;
|