dockview 1.14.2 → 1.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dockview.amd.js +328 -112
- package/dist/dockview.amd.js.map +1 -1
- package/dist/dockview.amd.min.js +2 -2
- package/dist/dockview.amd.min.js.map +1 -1
- package/dist/dockview.amd.min.noStyle.js +2 -2
- package/dist/dockview.amd.min.noStyle.js.map +1 -1
- package/dist/dockview.amd.noStyle.js +327 -111
- package/dist/dockview.amd.noStyle.js.map +1 -1
- package/dist/dockview.cjs.js +328 -112
- package/dist/dockview.cjs.js.map +1 -1
- package/dist/dockview.esm.js +328 -112
- package/dist/dockview.esm.js.map +1 -1
- package/dist/dockview.esm.min.js +2 -2
- package/dist/dockview.esm.min.js.map +1 -1
- package/dist/dockview.js +328 -112
- package/dist/dockview.js.map +1 -1
- package/dist/dockview.min.js +2 -2
- package/dist/dockview.min.js.map +1 -1
- package/dist/dockview.min.noStyle.js +2 -2
- package/dist/dockview.min.noStyle.js.map +1 -1
- package/dist/dockview.noStyle.js +327 -111
- package/dist/dockview.noStyle.js.map +1 -1
- package/dist/styles/dockview.css +0 -13
- package/package.json +2 -2
package/dist/dockview.amd.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dockview
|
|
3
|
-
* @version 1.
|
|
3
|
+
* @version 1.15.1
|
|
4
4
|
* @link https://github.com/mathuo/dockview
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -33,7 +33,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
var css_248z = ".dv-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 999;\n}\n\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-gap-size: 3px;\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: ##fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-background-color: #ebeced;\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab .dockview-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .groupview .content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .groupview.active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview.inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.drop-target {\n position: relative;\n}\n.drop-target > .drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 1000;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition: top 70ms ease-out, left 70ms ease-out, width 70ms ease-out, height 70ms ease-out, opacity 0.15s ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n position: absolute;\n z-index: 997;\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-bring-to-front {\n z-index: 998;\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: 999;\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: se-resize;\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\n}\n.dv-dockview .split-view-container.horizontal > .view-container > .view:not(:last-child) .groupview {\n border-right: var(--dv-group-gap-size) solid transparent;\n}\n.dv-dockview .split-view-container.horizontal > .view-container > .view:not(:first-child) .groupview {\n border-left: var(--dv-group-gap-size) solid transparent;\n}\n.dv-dockview .split-view-container.vertical > .view-container > .view:not(:last-child) .groupview {\n border-bottom: var(--dv-group-gap-size) solid transparent;\n}\n.dv-dockview .split-view-container.vertical > .view-container > .view:not(:first-child) .groupview {\n border-top: var(--dv-group-gap-size) solid transparent;\n}\n\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.groupview:focus {\n outline: none;\n}\n.groupview.empty > .tabs-and-actions-container {\n display: none;\n}\n.groupview > .content-container {\n flex-grow: 1;\n min-height: 0;\n outline: none;\n}\n.dv-root-wrapper {\n height: 100%;\n width: 100%;\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: var(--dv-background-color);\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.tab.inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: elipsis;\n}\n.tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dv-default-tab .dv-default-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
|
|
36
|
+
var css_248z = ".dv-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 999;\n}\n\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: ##fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-background-color: #ebeced;\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab .dockview-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .groupview .content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .groupview.active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview.inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.drop-target {\n position: relative;\n}\n.drop-target > .drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 1000;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition: top 70ms ease-out, left 70ms ease-out, width 70ms ease-out, height 70ms ease-out, opacity 0.15s ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n position: absolute;\n z-index: 997;\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-bring-to-front {\n z-index: 998;\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: 999;\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: se-resize;\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\n}\n\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.groupview:focus {\n outline: none;\n}\n.groupview.empty > .tabs-and-actions-container {\n display: none;\n}\n.groupview > .content-container {\n flex-grow: 1;\n min-height: 0;\n outline: none;\n}\n.dv-root-wrapper {\n height: 100%;\n width: 100%;\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: var(--dv-background-color);\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.tab.inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: elipsis;\n}\n.tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dv-default-tab .dv-default-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
|
|
37
37
|
styleInject(css_248z);
|
|
38
38
|
|
|
39
39
|
class TransferObject {
|
|
@@ -558,6 +558,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
558
558
|
}
|
|
559
559
|
return false;
|
|
560
560
|
}
|
|
561
|
+
function addTestId(element, id) {
|
|
562
|
+
element.setAttribute('data-testid', id);
|
|
563
|
+
}
|
|
561
564
|
|
|
562
565
|
function tail(arr) {
|
|
563
566
|
if (arr.length === 0) {
|
|
@@ -619,7 +622,11 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
619
622
|
|
|
620
623
|
const clamp = (value, min, max) => {
|
|
621
624
|
if (min > max) {
|
|
622
|
-
|
|
625
|
+
/**
|
|
626
|
+
* caveat: an error should be thrown here if this was a proper `clamp` function but we need to handle
|
|
627
|
+
* cases where `min` > `max` and in those cases return `min`.
|
|
628
|
+
*/
|
|
629
|
+
return min;
|
|
623
630
|
}
|
|
624
631
|
return Math.min(max, Math.max(value, min));
|
|
625
632
|
};
|
|
@@ -824,7 +831,14 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
824
831
|
this._disabled = value;
|
|
825
832
|
toggleClass(this.element, 'dv-splitview-disabled', value);
|
|
826
833
|
}
|
|
834
|
+
get margin() {
|
|
835
|
+
return this._margin;
|
|
836
|
+
}
|
|
837
|
+
set margin(value) {
|
|
838
|
+
this._margin = value;
|
|
839
|
+
}
|
|
827
840
|
constructor(container, options) {
|
|
841
|
+
var _a;
|
|
828
842
|
this.container = container;
|
|
829
843
|
this.viewItems = [];
|
|
830
844
|
this.sashes = [];
|
|
@@ -835,6 +849,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
835
849
|
this._startSnappingEnabled = true;
|
|
836
850
|
this._endSnappingEnabled = true;
|
|
837
851
|
this._disabled = false;
|
|
852
|
+
this._margin = 0;
|
|
838
853
|
this._onDidSashEnd = new Emitter();
|
|
839
854
|
this.onDidSashEnd = this._onDidSashEnd.event;
|
|
840
855
|
this._onDidAddView = new Emitter();
|
|
@@ -923,6 +938,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
923
938
|
};
|
|
924
939
|
this._orientation = options.orientation;
|
|
925
940
|
this.element = this.createContainer();
|
|
941
|
+
this.margin = (_a = options.margin) !== null && _a !== void 0 ? _a : 0;
|
|
926
942
|
this.proportionalLayout =
|
|
927
943
|
options.proportionalLayout === undefined
|
|
928
944
|
? true
|
|
@@ -977,9 +993,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
977
993
|
if (index < 0 || index >= this.viewItems.length) {
|
|
978
994
|
throw new Error('Index out of bounds');
|
|
979
995
|
}
|
|
980
|
-
toggleClass(this.container, 'visible', visible);
|
|
981
996
|
const viewItem = this.viewItems[index];
|
|
982
|
-
toggleClass(this.container, 'visible', visible);
|
|
983
997
|
viewItem.setVisible(visible, viewItem.size);
|
|
984
998
|
this.distributeEmptySpace(index);
|
|
985
999
|
this.layoutViews();
|
|
@@ -1291,15 +1305,29 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1291
1305
|
this._proportions = this.viewItems.map((i) => i.visible ? i.size / this._contentSize : undefined);
|
|
1292
1306
|
}
|
|
1293
1307
|
}
|
|
1308
|
+
/**
|
|
1309
|
+
* Margin explain:
|
|
1310
|
+
*
|
|
1311
|
+
* For `n` views in a splitview there will be `n-1` margins `m`.
|
|
1312
|
+
*
|
|
1313
|
+
* To fit the margins each view must reduce in size by `(m * (n - 1)) / n`.
|
|
1314
|
+
*
|
|
1315
|
+
* For each view `i` the offet must be adjusted by `m * i/(n - 1)`.
|
|
1316
|
+
*/
|
|
1294
1317
|
layoutViews() {
|
|
1295
1318
|
this._contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);
|
|
1296
|
-
let sum = 0;
|
|
1297
|
-
const x = [];
|
|
1298
1319
|
this.updateSashEnablement();
|
|
1320
|
+
if (this.viewItems.length === 0) {
|
|
1321
|
+
return;
|
|
1322
|
+
}
|
|
1323
|
+
const sashCount = this.viewItems.length - 1;
|
|
1324
|
+
const marginReducedSize = (this.margin * sashCount) / this.viewItems.length;
|
|
1325
|
+
let totalLeftOffset = 0;
|
|
1326
|
+
const viewLeftOffsets = [];
|
|
1299
1327
|
for (let i = 0; i < this.viewItems.length - 1; i++) {
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
const offset = Math.min(Math.max(0,
|
|
1328
|
+
totalLeftOffset += this.viewItems[i].size;
|
|
1329
|
+
viewLeftOffsets.push(totalLeftOffset);
|
|
1330
|
+
const offset = Math.min(Math.max(0, totalLeftOffset - 2), this.size - this.margin);
|
|
1303
1331
|
if (this._orientation === exports.Orientation.HORIZONTAL) {
|
|
1304
1332
|
this.sashes[i].container.style.left = `${offset}px`;
|
|
1305
1333
|
this.sashes[i].container.style.top = `0px`;
|
|
@@ -1310,19 +1338,24 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1310
1338
|
}
|
|
1311
1339
|
}
|
|
1312
1340
|
this.viewItems.forEach((view, i) => {
|
|
1341
|
+
const size = view.size - marginReducedSize;
|
|
1342
|
+
const offset = i === 0
|
|
1343
|
+
? 0
|
|
1344
|
+
: viewLeftOffsets[i - 1] +
|
|
1345
|
+
(i / sashCount) * marginReducedSize;
|
|
1313
1346
|
if (this._orientation === exports.Orientation.HORIZONTAL) {
|
|
1314
|
-
view.container.style.width = `${
|
|
1315
|
-
view.container.style.left =
|
|
1347
|
+
view.container.style.width = `${size}px`;
|
|
1348
|
+
view.container.style.left = `${offset}px`;
|
|
1316
1349
|
view.container.style.top = '';
|
|
1317
1350
|
view.container.style.height = '';
|
|
1318
1351
|
}
|
|
1319
1352
|
if (this._orientation === exports.Orientation.VERTICAL) {
|
|
1320
|
-
view.container.style.height = `${
|
|
1321
|
-
view.container.style.top =
|
|
1353
|
+
view.container.style.height = `${size}px`;
|
|
1354
|
+
view.container.style.top = `${offset}px`;
|
|
1322
1355
|
view.container.style.width = '';
|
|
1323
1356
|
view.container.style.left = '';
|
|
1324
1357
|
}
|
|
1325
|
-
view.view.layout(view.size, this._orthogonalSize);
|
|
1358
|
+
view.view.layout(view.size - marginReducedSize, this._orthogonalSize);
|
|
1326
1359
|
});
|
|
1327
1360
|
}
|
|
1328
1361
|
findFirstSnapIndex(indexes) {
|
|
@@ -1771,7 +1804,18 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1771
1804
|
set disabled(value) {
|
|
1772
1805
|
this.splitview.disabled = value;
|
|
1773
1806
|
}
|
|
1774
|
-
|
|
1807
|
+
get margin() {
|
|
1808
|
+
return this.splitview.margin;
|
|
1809
|
+
}
|
|
1810
|
+
set margin(value) {
|
|
1811
|
+
this.splitview.margin = value;
|
|
1812
|
+
this.children.forEach((child) => {
|
|
1813
|
+
if (child instanceof BranchNode) {
|
|
1814
|
+
child.margin = value;
|
|
1815
|
+
}
|
|
1816
|
+
});
|
|
1817
|
+
}
|
|
1818
|
+
constructor(orientation, proportionalLayout, styles, size, orthogonalSize, disabled, margin, childDescriptors) {
|
|
1775
1819
|
super();
|
|
1776
1820
|
this.orientation = orientation;
|
|
1777
1821
|
this.proportionalLayout = proportionalLayout;
|
|
@@ -1791,6 +1835,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1791
1835
|
orientation: this.orientation,
|
|
1792
1836
|
proportionalLayout,
|
|
1793
1837
|
styles,
|
|
1838
|
+
margin,
|
|
1794
1839
|
});
|
|
1795
1840
|
this.splitview.layout(this.size, this.orthogonalSize);
|
|
1796
1841
|
}
|
|
@@ -1814,6 +1859,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1814
1859
|
descriptor,
|
|
1815
1860
|
proportionalLayout,
|
|
1816
1861
|
styles,
|
|
1862
|
+
margin,
|
|
1817
1863
|
});
|
|
1818
1864
|
}
|
|
1819
1865
|
this.disabled = disabled;
|
|
@@ -1822,10 +1868,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1822
1868
|
}));
|
|
1823
1869
|
this.setupChildrenEvents();
|
|
1824
1870
|
}
|
|
1825
|
-
setVisible(
|
|
1826
|
-
|
|
1827
|
-
child.setVisible(visible);
|
|
1828
|
-
}
|
|
1871
|
+
setVisible(_visible) {
|
|
1872
|
+
// noop
|
|
1829
1873
|
}
|
|
1830
1874
|
isChildVisible(index) {
|
|
1831
1875
|
if (index < 0 || index >= this.children.length) {
|
|
@@ -1842,12 +1886,13 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1842
1886
|
}
|
|
1843
1887
|
const wereAllChildrenHidden = this.splitview.contentSize === 0;
|
|
1844
1888
|
this.splitview.setViewVisible(index, visible);
|
|
1889
|
+
// }
|
|
1845
1890
|
const areAllChildrenHidden = this.splitview.contentSize === 0;
|
|
1846
1891
|
// If all children are hidden then the parent should hide the entire splitview
|
|
1847
1892
|
// If the entire splitview is hidden then the parent should show the splitview when a child is shown
|
|
1848
1893
|
if ((visible && wereAllChildrenHidden) ||
|
|
1849
1894
|
(!visible && areAllChildrenHidden)) {
|
|
1850
|
-
this._onDidVisibilityChange.fire(visible);
|
|
1895
|
+
this._onDidVisibilityChange.fire({ visible });
|
|
1851
1896
|
}
|
|
1852
1897
|
}
|
|
1853
1898
|
moveChild(from, to) {
|
|
@@ -1920,7 +1965,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1920
1965
|
this._onDidChange.fire({ size: e.orthogonalSize });
|
|
1921
1966
|
}), ...this.children.map((c, i) => {
|
|
1922
1967
|
if (c instanceof BranchNode) {
|
|
1923
|
-
return c.onDidVisibilityChange((visible) => {
|
|
1968
|
+
return c.onDidVisibilityChange(({ visible }) => {
|
|
1924
1969
|
this.setChildVisible(i, visible);
|
|
1925
1970
|
});
|
|
1926
1971
|
}
|
|
@@ -1950,7 +1995,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
1950
1995
|
}
|
|
1951
1996
|
function flipNode(node, size, orthogonalSize) {
|
|
1952
1997
|
if (node instanceof BranchNode) {
|
|
1953
|
-
const result = new BranchNode(orthogonal(node.orientation), node.proportionalLayout, node.styles, size, orthogonalSize, node.disabled);
|
|
1998
|
+
const result = new BranchNode(orthogonal(node.orientation), node.proportionalLayout, node.styles, size, orthogonalSize, node.disabled, node.margin);
|
|
1954
1999
|
let totalSize = 0;
|
|
1955
2000
|
for (let i = node.children.length - 1; i >= 0; i--) {
|
|
1956
2001
|
const child = node.children[i];
|
|
@@ -2105,6 +2150,13 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2105
2150
|
}
|
|
2106
2151
|
}
|
|
2107
2152
|
}
|
|
2153
|
+
get margin() {
|
|
2154
|
+
return this._margin;
|
|
2155
|
+
}
|
|
2156
|
+
set margin(value) {
|
|
2157
|
+
this._margin = value;
|
|
2158
|
+
this.root.margin = value;
|
|
2159
|
+
}
|
|
2108
2160
|
maximizedView() {
|
|
2109
2161
|
var _a;
|
|
2110
2162
|
return (_a = this._maximizedNode) === null || _a === void 0 ? void 0 : _a.leaf.view;
|
|
@@ -2190,13 +2242,14 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2190
2242
|
this.disposable.dispose();
|
|
2191
2243
|
this._onDidChange.dispose();
|
|
2192
2244
|
this._onDidMaximizedNodeChange.dispose();
|
|
2245
|
+
this._onDidViewVisibilityChange.dispose();
|
|
2193
2246
|
this.root.dispose();
|
|
2194
2247
|
this._maximizedNode = undefined;
|
|
2195
2248
|
this.element.remove();
|
|
2196
2249
|
}
|
|
2197
2250
|
clear() {
|
|
2198
2251
|
const orientation = this.root.orientation;
|
|
2199
|
-
this.root = new BranchNode(orientation, this.proportionalLayout, this.styles, this.root.size, this.root.orthogonalSize, this.
|
|
2252
|
+
this.root = new BranchNode(orientation, this.proportionalLayout, this.styles, this.root.size, this.root.orthogonalSize, this.locked, this.margin);
|
|
2200
2253
|
}
|
|
2201
2254
|
deserialize(json, deserializer) {
|
|
2202
2255
|
const orientation = json.orientation;
|
|
@@ -2207,6 +2260,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2207
2260
|
this.root = this._deserializeNode(root, orientation, deserializer, orthogonalSize);
|
|
2208
2261
|
}
|
|
2209
2262
|
_deserializeNode(node, orientation, deserializer, orthogonalSize) {
|
|
2263
|
+
var _a;
|
|
2210
2264
|
let result;
|
|
2211
2265
|
if (node.type === 'branch') {
|
|
2212
2266
|
const serializedChildren = node.data;
|
|
@@ -2218,10 +2272,14 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2218
2272
|
});
|
|
2219
2273
|
result = new BranchNode(orientation, this.proportionalLayout, this.styles, node.size, // <- orthogonal size - flips at each depth
|
|
2220
2274
|
orthogonalSize, // <- size - flips at each depth,
|
|
2221
|
-
this.
|
|
2275
|
+
this.locked, this.margin, children);
|
|
2222
2276
|
}
|
|
2223
2277
|
else {
|
|
2224
|
-
|
|
2278
|
+
const view = deserializer.fromJSON(node);
|
|
2279
|
+
if (typeof node.visible === 'boolean') {
|
|
2280
|
+
(_a = view.setVisible) === null || _a === void 0 ? void 0 : _a.call(view, node.visible);
|
|
2281
|
+
}
|
|
2282
|
+
result = new LeafNode(view, orientation, orthogonalSize, node.size);
|
|
2225
2283
|
}
|
|
2226
2284
|
return result;
|
|
2227
2285
|
}
|
|
@@ -2251,7 +2309,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2251
2309
|
}
|
|
2252
2310
|
const oldRoot = this.root;
|
|
2253
2311
|
oldRoot.element.remove();
|
|
2254
|
-
this._root = new BranchNode(orthogonal(oldRoot.orientation), this.proportionalLayout, this.styles, this.root.orthogonalSize, this.root.size, this.
|
|
2312
|
+
this._root = new BranchNode(orthogonal(oldRoot.orientation), this.proportionalLayout, this.styles, this.root.orthogonalSize, this.root.size, this.locked, this.margin);
|
|
2255
2313
|
if (oldRoot.children.length === 0) ;
|
|
2256
2314
|
else if (oldRoot.children.length === 1) {
|
|
2257
2315
|
// can remove one level of redundant branching if there is only a single child
|
|
@@ -2316,19 +2374,24 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2316
2374
|
}
|
|
2317
2375
|
return findLeaf(this.root, reverse);
|
|
2318
2376
|
}
|
|
2319
|
-
constructor(proportionalLayout, styles, orientation) {
|
|
2377
|
+
constructor(proportionalLayout, styles, orientation, locked, margin) {
|
|
2320
2378
|
this.proportionalLayout = proportionalLayout;
|
|
2321
2379
|
this.styles = styles;
|
|
2322
2380
|
this._locked = false;
|
|
2381
|
+
this._margin = 0;
|
|
2323
2382
|
this._maximizedNode = undefined;
|
|
2324
2383
|
this.disposable = new MutableDisposable();
|
|
2325
2384
|
this._onDidChange = new Emitter();
|
|
2326
2385
|
this.onDidChange = this._onDidChange.event;
|
|
2386
|
+
this._onDidViewVisibilityChange = new Emitter();
|
|
2387
|
+
this.onDidViewVisibilityChange = this._onDidViewVisibilityChange.event;
|
|
2327
2388
|
this._onDidMaximizedNodeChange = new Emitter();
|
|
2328
2389
|
this.onDidMaximizedNodeChange = this._onDidMaximizedNodeChange.event;
|
|
2329
2390
|
this.element = document.createElement('div');
|
|
2330
2391
|
this.element.className = 'grid-view';
|
|
2331
|
-
this.
|
|
2392
|
+
this._locked = locked !== null && locked !== void 0 ? locked : false;
|
|
2393
|
+
this._margin = margin !== null && margin !== void 0 ? margin : 0;
|
|
2394
|
+
this.root = new BranchNode(orientation, proportionalLayout, styles, 0, 0, this.locked, this.margin);
|
|
2332
2395
|
}
|
|
2333
2396
|
isViewVisible(location) {
|
|
2334
2397
|
const [rest, index] = tail(location);
|
|
@@ -2347,6 +2410,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2347
2410
|
if (!(parent instanceof BranchNode)) {
|
|
2348
2411
|
throw new Error('Invalid from location');
|
|
2349
2412
|
}
|
|
2413
|
+
this._onDidViewVisibilityChange.fire();
|
|
2350
2414
|
parent.setChildVisible(index, visible);
|
|
2351
2415
|
}
|
|
2352
2416
|
moveView(parentLocation, from, to) {
|
|
@@ -2379,7 +2443,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2379
2443
|
}
|
|
2380
2444
|
const child = grandParent.removeChild(parentIndex);
|
|
2381
2445
|
child.dispose();
|
|
2382
|
-
const newParent = new BranchNode(parent.orientation, this.proportionalLayout, this.styles, parent.size, parent.orthogonalSize, this.
|
|
2446
|
+
const newParent = new BranchNode(parent.orientation, this.proportionalLayout, this.styles, parent.size, parent.orthogonalSize, this.locked, this.margin);
|
|
2383
2447
|
grandParent.addChild(newParent, parent.size, parentIndex);
|
|
2384
2448
|
const newSibling = new LeafNode(parent.view, grandParent.orientation, parent.size);
|
|
2385
2449
|
newParent.addChild(newSibling, newSiblingSize, 0);
|
|
@@ -2618,14 +2682,18 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2618
2682
|
this.onDidActiveChange = this._onDidActiveChange.event;
|
|
2619
2683
|
this._bufferOnDidLayoutChange = new AsapEvent();
|
|
2620
2684
|
this.onDidLayoutChange = this._bufferOnDidLayoutChange.onEvent;
|
|
2685
|
+
this._onDidViewVisibilityChangeMicroTaskQueue = new AsapEvent();
|
|
2686
|
+
this.onDidViewVisibilityChangeMicroTaskQueue = this._onDidViewVisibilityChangeMicroTaskQueue.onEvent;
|
|
2621
2687
|
this.element.style.height = '100%';
|
|
2622
2688
|
this.element.style.width = '100%';
|
|
2623
2689
|
options.parentElement.appendChild(this.element);
|
|
2624
|
-
this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation);
|
|
2690
|
+
this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation, options.locked, options.margin);
|
|
2625
2691
|
this.gridview.locked = !!options.locked;
|
|
2626
2692
|
this.element.appendChild(this.gridview.element);
|
|
2627
2693
|
this.layout(0, 0, true); // set some elements height/widths
|
|
2628
|
-
this.addDisposables(
|
|
2694
|
+
this.addDisposables(this.gridview.onDidViewVisibilityChange(() => this._onDidViewVisibilityChangeMicroTaskQueue.fire()), this.onDidViewVisibilityChangeMicroTaskQueue(() => {
|
|
2695
|
+
this.layout(this.width, this.height, true);
|
|
2696
|
+
}), exports.DockviewDisposable.from(() => {
|
|
2629
2697
|
var _a;
|
|
2630
2698
|
(_a = this.element.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(this.element);
|
|
2631
2699
|
}), this.gridview.onDidChange(() => {
|
|
@@ -3203,6 +3271,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3203
3271
|
get totalPanels() {
|
|
3204
3272
|
return this.component.totalPanels;
|
|
3205
3273
|
}
|
|
3274
|
+
get gap() {
|
|
3275
|
+
return this.component.gap;
|
|
3276
|
+
}
|
|
3206
3277
|
/**
|
|
3207
3278
|
* Invoked when the active group changes. May be undefined if no group is active.
|
|
3208
3279
|
*/
|
|
@@ -3239,6 +3310,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3239
3310
|
get onDidRemovePanel() {
|
|
3240
3311
|
return this.component.onDidRemovePanel;
|
|
3241
3312
|
}
|
|
3313
|
+
get onDidMovePanel() {
|
|
3314
|
+
return this.component.onDidMovePanel;
|
|
3315
|
+
}
|
|
3242
3316
|
/**
|
|
3243
3317
|
* Invoked after a layout is deserialzied using the `fromJSON` method.
|
|
3244
3318
|
*/
|
|
@@ -3379,8 +3453,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3379
3453
|
/**
|
|
3380
3454
|
* Add a floating group
|
|
3381
3455
|
*/
|
|
3382
|
-
addFloatingGroup(item,
|
|
3383
|
-
return this.component.addFloatingGroup(item,
|
|
3456
|
+
addFloatingGroup(item, options) {
|
|
3457
|
+
return this.component.addFloatingGroup(item, options);
|
|
3384
3458
|
}
|
|
3385
3459
|
/**
|
|
3386
3460
|
* Create a component from a serialized object.
|
|
@@ -3430,6 +3504,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3430
3504
|
addPopoutGroup(item, options) {
|
|
3431
3505
|
return this.component.addPopoutGroup(item, options);
|
|
3432
3506
|
}
|
|
3507
|
+
setGap(gap) {
|
|
3508
|
+
this.component.updateOptions({ gap });
|
|
3509
|
+
}
|
|
3433
3510
|
}
|
|
3434
3511
|
|
|
3435
3512
|
class DragHandler extends CompositeDisposable {
|
|
@@ -4799,7 +4876,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4799
4876
|
this.accessor.addFloatingGroup(this.group, {
|
|
4800
4877
|
x: left - rootLeft + 20,
|
|
4801
4878
|
y: top - rootTop + 20,
|
|
4802
|
-
|
|
4879
|
+
inDragMode: true,
|
|
4880
|
+
});
|
|
4803
4881
|
}
|
|
4804
4882
|
}), addDisposableListener(this.tabContainer, 'mousedown', (event) => {
|
|
4805
4883
|
if (event.defaultPrevented) {
|
|
@@ -4868,7 +4946,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4868
4946
|
this.accessor.addFloatingGroup(panel, {
|
|
4869
4947
|
x: left - rootLeft,
|
|
4870
4948
|
y: top - rootTop,
|
|
4871
|
-
|
|
4949
|
+
inDragMode: true,
|
|
4950
|
+
});
|
|
4872
4951
|
return;
|
|
4873
4952
|
}
|
|
4874
4953
|
const isLeftClick = event.button === 0;
|
|
@@ -4941,6 +5020,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4941
5020
|
rootOverlayModel: undefined,
|
|
4942
5021
|
locked: undefined,
|
|
4943
5022
|
disableDnd: undefined,
|
|
5023
|
+
gap: undefined,
|
|
4944
5024
|
};
|
|
4945
5025
|
return Object.keys(properties);
|
|
4946
5026
|
})();
|
|
@@ -5671,6 +5751,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5671
5751
|
get isActive() {
|
|
5672
5752
|
return this.api.isActive;
|
|
5673
5753
|
}
|
|
5754
|
+
get isVisible() {
|
|
5755
|
+
return this.api.isVisible;
|
|
5756
|
+
}
|
|
5674
5757
|
constructor(id, component, options, api) {
|
|
5675
5758
|
super(id, component, api !== null && api !== void 0 ? api : new GridviewPanelApiImpl(id, component));
|
|
5676
5759
|
this._evaluatedMinimumWidth = 0;
|
|
@@ -6433,12 +6516,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6433
6516
|
this._element.appendChild(this.options.content);
|
|
6434
6517
|
this.options.container.appendChild(this._element);
|
|
6435
6518
|
// if input bad resize within acceptable boundaries
|
|
6436
|
-
this.setBounds({
|
|
6437
|
-
height: this.options.height,
|
|
6438
|
-
width: this.options.width,
|
|
6439
|
-
top: this.options.top,
|
|
6440
|
-
left: this.options.left,
|
|
6441
|
-
});
|
|
6519
|
+
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 })));
|
|
6442
6520
|
}
|
|
6443
6521
|
setBounds(bounds = {}) {
|
|
6444
6522
|
if (typeof bounds.height === 'number') {
|
|
@@ -6447,11 +6525,25 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6447
6525
|
if (typeof bounds.width === 'number') {
|
|
6448
6526
|
this._element.style.width = `${bounds.width}px`;
|
|
6449
6527
|
}
|
|
6450
|
-
if (typeof bounds.top === 'number') {
|
|
6528
|
+
if ('top' in bounds && typeof bounds.top === 'number') {
|
|
6451
6529
|
this._element.style.top = `${bounds.top}px`;
|
|
6530
|
+
this._element.style.bottom = 'auto';
|
|
6531
|
+
this.verticalAlignment = 'top';
|
|
6532
|
+
}
|
|
6533
|
+
if ('bottom' in bounds && typeof bounds.bottom === 'number') {
|
|
6534
|
+
this._element.style.bottom = `${bounds.bottom}px`;
|
|
6535
|
+
this._element.style.top = 'auto';
|
|
6536
|
+
this.verticalAlignment = 'bottom';
|
|
6452
6537
|
}
|
|
6453
|
-
if (typeof bounds.left === 'number') {
|
|
6538
|
+
if ('left' in bounds && typeof bounds.left === 'number') {
|
|
6454
6539
|
this._element.style.left = `${bounds.left}px`;
|
|
6540
|
+
this._element.style.right = 'auto';
|
|
6541
|
+
this.horiziontalAlignment = 'left';
|
|
6542
|
+
}
|
|
6543
|
+
if ('right' in bounds && typeof bounds.right === 'number') {
|
|
6544
|
+
this._element.style.right = `${bounds.right}px`;
|
|
6545
|
+
this._element.style.left = 'auto';
|
|
6546
|
+
this.horiziontalAlignment = 'right';
|
|
6455
6547
|
}
|
|
6456
6548
|
const containerRect = this.options.container.getBoundingClientRect();
|
|
6457
6549
|
const overlayRect = this._element.getBoundingClientRect();
|
|
@@ -6459,24 +6551,54 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6459
6551
|
// a minimum width of minimumViewportWidth must be inside the viewport
|
|
6460
6552
|
const xOffset = Math.max(0, this.getMinimumWidth(overlayRect.width));
|
|
6461
6553
|
// a minimum height of minimumViewportHeight must be inside the viewport
|
|
6462
|
-
const yOffset =
|
|
6463
|
-
|
|
6464
|
-
|
|
6465
|
-
|
|
6466
|
-
|
|
6467
|
-
|
|
6468
|
-
this.
|
|
6554
|
+
const yOffset = Math.max(0, this.getMinimumHeight(overlayRect.height));
|
|
6555
|
+
if (this.verticalAlignment === 'top') {
|
|
6556
|
+
const top = clamp(overlayRect.top - containerRect.top, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
6557
|
+
this._element.style.top = `${top}px`;
|
|
6558
|
+
this._element.style.bottom = 'auto';
|
|
6559
|
+
}
|
|
6560
|
+
if (this.verticalAlignment === 'bottom') {
|
|
6561
|
+
const bottom = clamp(containerRect.bottom - overlayRect.bottom, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
6562
|
+
this._element.style.bottom = `${bottom}px`;
|
|
6563
|
+
this._element.style.top = 'auto';
|
|
6564
|
+
}
|
|
6565
|
+
if (this.horiziontalAlignment === 'left') {
|
|
6566
|
+
const left = clamp(overlayRect.left - containerRect.left, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6567
|
+
this._element.style.left = `${left}px`;
|
|
6568
|
+
this._element.style.right = 'auto';
|
|
6569
|
+
}
|
|
6570
|
+
if (this.horiziontalAlignment === 'right') {
|
|
6571
|
+
const right = clamp(containerRect.right - overlayRect.right, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6572
|
+
this._element.style.right = `${right}px`;
|
|
6573
|
+
this._element.style.left = 'auto';
|
|
6574
|
+
}
|
|
6469
6575
|
this._onDidChange.fire();
|
|
6470
6576
|
}
|
|
6471
6577
|
toJSON() {
|
|
6472
6578
|
const container = this.options.container.getBoundingClientRect();
|
|
6473
6579
|
const element = this._element.getBoundingClientRect();
|
|
6474
|
-
|
|
6475
|
-
|
|
6476
|
-
|
|
6477
|
-
|
|
6478
|
-
|
|
6479
|
-
|
|
6580
|
+
const result = {};
|
|
6581
|
+
if (this.verticalAlignment === 'top') {
|
|
6582
|
+
result.top = parseFloat(this._element.style.top);
|
|
6583
|
+
}
|
|
6584
|
+
else if (this.verticalAlignment === 'bottom') {
|
|
6585
|
+
result.bottom = parseFloat(this._element.style.bottom);
|
|
6586
|
+
}
|
|
6587
|
+
else {
|
|
6588
|
+
result.top = element.top - container.top;
|
|
6589
|
+
}
|
|
6590
|
+
if (this.horiziontalAlignment === 'left') {
|
|
6591
|
+
result.left = parseFloat(this._element.style.left);
|
|
6592
|
+
}
|
|
6593
|
+
else if (this.horiziontalAlignment === 'right') {
|
|
6594
|
+
result.right = parseFloat(this._element.style.right);
|
|
6595
|
+
}
|
|
6596
|
+
else {
|
|
6597
|
+
result.left = element.left - container.left;
|
|
6598
|
+
}
|
|
6599
|
+
result.width = element.width;
|
|
6600
|
+
result.height = element.height;
|
|
6601
|
+
return result;
|
|
6480
6602
|
}
|
|
6481
6603
|
setupDrag(dragTarget, options = { inDragMode: false }) {
|
|
6482
6604
|
const move = new MutableDisposable();
|
|
@@ -6508,12 +6630,30 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6508
6630
|
};
|
|
6509
6631
|
}
|
|
6510
6632
|
const xOffset = Math.max(0, this.getMinimumWidth(overlayRect.width));
|
|
6511
|
-
const yOffset = Math.max(0, this.
|
|
6512
|
-
? this.getMinimumHeight(overlayRect.height)
|
|
6513
|
-
: 0);
|
|
6514
|
-
const left = clamp(x - offset.x, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6633
|
+
const yOffset = Math.max(0, this.getMinimumHeight(overlayRect.height));
|
|
6515
6634
|
const top = clamp(y - offset.y, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
6516
|
-
|
|
6635
|
+
const bottom = clamp(offset.y -
|
|
6636
|
+
y +
|
|
6637
|
+
containerRect.height -
|
|
6638
|
+
overlayRect.height, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
6639
|
+
const left = clamp(x - offset.x, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6640
|
+
const right = clamp(offset.x - x + containerRect.width - overlayRect.width, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
6641
|
+
const bounds = {};
|
|
6642
|
+
// Anchor to top or to bottom depending on which one is closer
|
|
6643
|
+
if (top <= bottom) {
|
|
6644
|
+
bounds.top = top;
|
|
6645
|
+
}
|
|
6646
|
+
else {
|
|
6647
|
+
bounds.bottom = bottom;
|
|
6648
|
+
}
|
|
6649
|
+
// Anchor to left or to right depending on which one is closer
|
|
6650
|
+
if (left <= right) {
|
|
6651
|
+
bounds.left = left;
|
|
6652
|
+
}
|
|
6653
|
+
else {
|
|
6654
|
+
bounds.right = right;
|
|
6655
|
+
}
|
|
6656
|
+
this.setBounds(bounds);
|
|
6517
6657
|
}), addDisposableWindowListener(window, 'mouseup', () => {
|
|
6518
6658
|
toggleClass(this._element, 'dv-resize-container-dragging', false);
|
|
6519
6659
|
move.dispose();
|
|
@@ -6581,8 +6721,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6581
6721
|
};
|
|
6582
6722
|
}
|
|
6583
6723
|
let top = undefined;
|
|
6724
|
+
let bottom = undefined;
|
|
6584
6725
|
let height = undefined;
|
|
6585
6726
|
let left = undefined;
|
|
6727
|
+
let right = undefined;
|
|
6586
6728
|
let width = undefined;
|
|
6587
6729
|
const moveTop = () => {
|
|
6588
6730
|
top = clamp(y, -Number.MAX_VALUE, startPosition.originalY +
|
|
@@ -6596,6 +6738,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6596
6738
|
startPosition.originalY +
|
|
6597
6739
|
startPosition.originalHeight -
|
|
6598
6740
|
top;
|
|
6741
|
+
bottom = containerRect.height - top - height;
|
|
6599
6742
|
};
|
|
6600
6743
|
const moveBottom = () => {
|
|
6601
6744
|
top =
|
|
@@ -6607,6 +6750,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6607
6750
|
? -top +
|
|
6608
6751
|
this.options.minimumInViewportHeight
|
|
6609
6752
|
: Overlay.MINIMUM_HEIGHT, Number.MAX_VALUE);
|
|
6753
|
+
bottom = containerRect.height - top - height;
|
|
6610
6754
|
};
|
|
6611
6755
|
const moveLeft = () => {
|
|
6612
6756
|
left = clamp(x, -Number.MAX_VALUE, startPosition.originalX +
|
|
@@ -6620,6 +6764,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6620
6764
|
startPosition.originalX +
|
|
6621
6765
|
startPosition.originalWidth -
|
|
6622
6766
|
left;
|
|
6767
|
+
right = containerRect.width - left - width;
|
|
6623
6768
|
};
|
|
6624
6769
|
const moveRight = () => {
|
|
6625
6770
|
left =
|
|
@@ -6631,6 +6776,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6631
6776
|
? -left +
|
|
6632
6777
|
this.options.minimumInViewportWidth
|
|
6633
6778
|
: Overlay.MINIMUM_WIDTH, Number.MAX_VALUE);
|
|
6779
|
+
right = containerRect.width - left - width;
|
|
6634
6780
|
};
|
|
6635
6781
|
switch (direction) {
|
|
6636
6782
|
case 'top':
|
|
@@ -6662,7 +6808,24 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6662
6808
|
moveRight();
|
|
6663
6809
|
break;
|
|
6664
6810
|
}
|
|
6665
|
-
|
|
6811
|
+
const bounds = {};
|
|
6812
|
+
// Anchor to top or to bottom depending on which one is closer
|
|
6813
|
+
if (top <= bottom) {
|
|
6814
|
+
bounds.top = top;
|
|
6815
|
+
}
|
|
6816
|
+
else {
|
|
6817
|
+
bounds.bottom = bottom;
|
|
6818
|
+
}
|
|
6819
|
+
// Anchor to left or to right depending on which one is closer
|
|
6820
|
+
if (left <= right) {
|
|
6821
|
+
bounds.left = left;
|
|
6822
|
+
}
|
|
6823
|
+
else {
|
|
6824
|
+
bounds.right = right;
|
|
6825
|
+
}
|
|
6826
|
+
bounds.height = height;
|
|
6827
|
+
bounds.width = width;
|
|
6828
|
+
this.setBounds(bounds);
|
|
6666
6829
|
}), {
|
|
6667
6830
|
dispose: () => {
|
|
6668
6831
|
for (const iframe of iframes) {
|
|
@@ -6685,7 +6848,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6685
6848
|
if (typeof this.options.minimumInViewportHeight === 'number') {
|
|
6686
6849
|
return height - this.options.minimumInViewportHeight;
|
|
6687
6850
|
}
|
|
6688
|
-
return
|
|
6851
|
+
return 0;
|
|
6689
6852
|
}
|
|
6690
6853
|
dispose() {
|
|
6691
6854
|
this._element.remove();
|
|
@@ -6708,7 +6871,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6708
6871
|
}
|
|
6709
6872
|
|
|
6710
6873
|
const DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE = 100;
|
|
6711
|
-
const DEFAULT_FLOATING_GROUP_POSITION = { left: 100, top: 100 };
|
|
6874
|
+
const DEFAULT_FLOATING_GROUP_POSITION = { left: 100, top: 100, width: 300, height: 300 };
|
|
6712
6875
|
|
|
6713
6876
|
function createFocusableElement() {
|
|
6714
6877
|
const element = document.createElement('div');
|
|
@@ -7040,6 +7203,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7040
7203
|
get api() {
|
|
7041
7204
|
return this._api;
|
|
7042
7205
|
}
|
|
7206
|
+
get gap() {
|
|
7207
|
+
return this.gridview.margin;
|
|
7208
|
+
}
|
|
7043
7209
|
constructor(options) {
|
|
7044
7210
|
var _a;
|
|
7045
7211
|
super({
|
|
@@ -7051,6 +7217,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7051
7217
|
parentElement: options.parentElement,
|
|
7052
7218
|
disableAutoResizing: options.disableAutoResizing,
|
|
7053
7219
|
locked: options.locked,
|
|
7220
|
+
margin: options.gap,
|
|
7054
7221
|
});
|
|
7055
7222
|
this.nextGroupId = sequentialNumberGenerator();
|
|
7056
7223
|
this._deserializer = new DefaultDockviewDeserialzier(this);
|
|
@@ -7076,9 +7243,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7076
7243
|
this._onDidActivePanelChange = new Emitter();
|
|
7077
7244
|
this.onDidActivePanelChange = this._onDidActivePanelChange.event;
|
|
7078
7245
|
this._onDidMovePanel = new Emitter();
|
|
7246
|
+
this.onDidMovePanel = this._onDidMovePanel.event;
|
|
7079
7247
|
this._floatingGroups = [];
|
|
7080
7248
|
this._popoutGroups = [];
|
|
7081
|
-
this._ignoreEvents = 0;
|
|
7082
7249
|
this._onDidRemoveGroup = new Emitter();
|
|
7083
7250
|
this.onDidRemoveGroup = this._onDidRemoveGroup.event;
|
|
7084
7251
|
this._onDidAddGroup = new Emitter();
|
|
@@ -7092,7 +7259,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7092
7259
|
this.overlayRenderContainer = new OverlayRenderContainer(gready);
|
|
7093
7260
|
toggleClass(this.gridview.element, 'dv-dockview', true);
|
|
7094
7261
|
toggleClass(this.element, 'dv-debug', !!options.debug);
|
|
7095
|
-
this.addDisposables(this.overlayRenderContainer, this._onWillDragPanel, this._onWillDragGroup, this._onWillShowOverlay, this._onDidActivePanelChange, this._onDidAddPanel, this._onDidRemovePanel, this._onDidLayoutFromJSON, this._onDidDrop, this._onWillDrop, this._onDidMovePanel, this._onDidAddGroup, this._onDidRemoveGroup, this._onDidActiveGroupChange, this._onUnhandledDragOverEvent, this.
|
|
7262
|
+
this.addDisposables(this.overlayRenderContainer, this._onWillDragPanel, this._onWillDragGroup, this._onWillShowOverlay, this._onDidActivePanelChange, this._onDidAddPanel, this._onDidRemovePanel, this._onDidLayoutFromJSON, this._onDidDrop, this._onWillDrop, this._onDidMovePanel, this._onDidAddGroup, this._onDidRemoveGroup, this._onDidActiveGroupChange, this._onUnhandledDragOverEvent, this.onDidViewVisibilityChangeMicroTaskQueue(() => {
|
|
7263
|
+
this.updateWatermark();
|
|
7264
|
+
}), this.onDidAdd((event) => {
|
|
7096
7265
|
if (!this._moving) {
|
|
7097
7266
|
this._onDidAddGroup.fire(event);
|
|
7098
7267
|
}
|
|
@@ -7106,7 +7275,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7106
7275
|
}
|
|
7107
7276
|
}), exports.DockviewEvent.any(this.onDidAdd, this.onDidRemove)(() => {
|
|
7108
7277
|
this.updateWatermark();
|
|
7109
|
-
}), exports.DockviewEvent.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidActivePanelChange)(() => {
|
|
7278
|
+
}), exports.DockviewEvent.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidAddGroup, this.onDidRemove, this.onDidMovePanel, this.onDidActivePanelChange)(() => {
|
|
7110
7279
|
this._bufferOnDidLayoutChange.fire();
|
|
7111
7280
|
}), exports.DockviewDisposable.from(() => {
|
|
7112
7281
|
// iterate over a copy of the array since .dispose() mutates the original array
|
|
@@ -7206,7 +7375,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7206
7375
|
var _a, _b, _c;
|
|
7207
7376
|
if (itemToPopout instanceof DockviewPanel &&
|
|
7208
7377
|
itemToPopout.group.size === 1) {
|
|
7209
|
-
return this.addPopoutGroup(itemToPopout.group);
|
|
7378
|
+
return this.addPopoutGroup(itemToPopout.group, options);
|
|
7210
7379
|
}
|
|
7211
7380
|
const theme = getDockviewTheme(this.gridview.element);
|
|
7212
7381
|
const element = this.element;
|
|
@@ -7357,8 +7526,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7357
7526
|
console.error('dockview: failed to create popout window', err);
|
|
7358
7527
|
});
|
|
7359
7528
|
}
|
|
7360
|
-
addFloatingGroup(item,
|
|
7361
|
-
var _a, _b, _c, _d, _e
|
|
7529
|
+
addFloatingGroup(item, options) {
|
|
7530
|
+
var _a, _b, _c, _d, _e;
|
|
7362
7531
|
let group;
|
|
7363
7532
|
if (item instanceof DockviewPanel) {
|
|
7364
7533
|
group = this.createGroup();
|
|
@@ -7403,26 +7572,62 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7403
7572
|
}
|
|
7404
7573
|
}
|
|
7405
7574
|
group.model.location = { type: 'floating' };
|
|
7406
|
-
|
|
7407
|
-
|
|
7408
|
-
|
|
7409
|
-
|
|
7410
|
-
|
|
7411
|
-
|
|
7412
|
-
|
|
7413
|
-
|
|
7414
|
-
|
|
7415
|
-
|
|
7416
|
-
|
|
7417
|
-
|
|
7418
|
-
|
|
7419
|
-
|
|
7575
|
+
function getAnchoredBox() {
|
|
7576
|
+
if (options === null || options === void 0 ? void 0 : options.position) {
|
|
7577
|
+
const result = {};
|
|
7578
|
+
if ('left' in options.position) {
|
|
7579
|
+
result.left = Math.max(options.position.left, 0);
|
|
7580
|
+
}
|
|
7581
|
+
else if ('right' in options.position) {
|
|
7582
|
+
result.right = Math.max(options.position.right, 0);
|
|
7583
|
+
}
|
|
7584
|
+
else {
|
|
7585
|
+
result.left = DEFAULT_FLOATING_GROUP_POSITION.left;
|
|
7586
|
+
}
|
|
7587
|
+
if ('top' in options.position) {
|
|
7588
|
+
result.top = Math.max(options.position.top, 0);
|
|
7589
|
+
}
|
|
7590
|
+
else if ('bottom' in options.position) {
|
|
7591
|
+
result.bottom = Math.max(options.position.bottom, 0);
|
|
7592
|
+
}
|
|
7593
|
+
else {
|
|
7594
|
+
result.top = DEFAULT_FLOATING_GROUP_POSITION.top;
|
|
7595
|
+
}
|
|
7596
|
+
if (typeof options.width === 'number') {
|
|
7597
|
+
result.width = Math.max(options.width, 0);
|
|
7598
|
+
}
|
|
7599
|
+
else {
|
|
7600
|
+
result.width = DEFAULT_FLOATING_GROUP_POSITION.width;
|
|
7601
|
+
}
|
|
7602
|
+
if (typeof options.height === 'number') {
|
|
7603
|
+
result.height = Math.max(options.height, 0);
|
|
7604
|
+
}
|
|
7605
|
+
else {
|
|
7606
|
+
result.height = DEFAULT_FLOATING_GROUP_POSITION.height;
|
|
7607
|
+
}
|
|
7608
|
+
return result;
|
|
7609
|
+
}
|
|
7610
|
+
return {
|
|
7611
|
+
left: typeof (options === null || options === void 0 ? void 0 : options.x) === 'number'
|
|
7612
|
+
? Math.max(options.x, 0)
|
|
7613
|
+
: DEFAULT_FLOATING_GROUP_POSITION.left,
|
|
7614
|
+
top: typeof (options === null || options === void 0 ? void 0 : options.y) === 'number'
|
|
7615
|
+
? Math.max(options.y, 0)
|
|
7616
|
+
: DEFAULT_FLOATING_GROUP_POSITION.top,
|
|
7617
|
+
width: typeof (options === null || options === void 0 ? void 0 : options.width) === 'number'
|
|
7618
|
+
? Math.max(options.width, 0)
|
|
7619
|
+
: DEFAULT_FLOATING_GROUP_POSITION.width,
|
|
7620
|
+
height: typeof (options === null || options === void 0 ? void 0 : options.height) === 'number'
|
|
7621
|
+
? Math.max(options.height, 0)
|
|
7622
|
+
: DEFAULT_FLOATING_GROUP_POSITION.height,
|
|
7623
|
+
};
|
|
7624
|
+
}
|
|
7625
|
+
const anchoredBox = getAnchoredBox();
|
|
7626
|
+
const overlay = new Overlay(Object.assign(Object.assign({ container: this.gridview.element, content: group.element }, anchoredBox), { minimumInViewportWidth: this.options.floatingGroupBounds === 'boundedWithinViewport'
|
|
7420
7627
|
? undefined
|
|
7421
|
-
: (
|
|
7422
|
-
minimumInViewportHeight: this.options.floatingGroupBounds === 'boundedWithinViewport'
|
|
7628
|
+
: (_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'
|
|
7423
7629
|
? undefined
|
|
7424
|
-
: (
|
|
7425
|
-
});
|
|
7630
|
+
: (_e = (_d = this.options.floatingGroupBounds) === null || _d === void 0 ? void 0 : _d.minimumHeightWithinViewport) !== null && _e !== void 0 ? _e : DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE }));
|
|
7426
7631
|
const el = group.element.querySelector('.void-container');
|
|
7427
7632
|
if (!el) {
|
|
7428
7633
|
throw new Error('failed to find drag handle');
|
|
@@ -7520,12 +7725,21 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7520
7725
|
group.overlay.minimumInViewportWidth =
|
|
7521
7726
|
(_b = this.options.floatingGroupBounds) === null || _b === void 0 ? void 0 : _b.minimumWidthWithinViewport;
|
|
7522
7727
|
}
|
|
7523
|
-
group.overlay.setBounds(
|
|
7728
|
+
group.overlay.setBounds();
|
|
7524
7729
|
}
|
|
7525
7730
|
}
|
|
7526
7731
|
if (changed_rootOverlayOptions) {
|
|
7527
7732
|
this._rootDropTarget.setOverlayModel(options.rootOverlayModel);
|
|
7528
7733
|
}
|
|
7734
|
+
if (
|
|
7735
|
+
// if explicitly set as `undefined`
|
|
7736
|
+
'gap' in options &&
|
|
7737
|
+
options.gap === undefined) {
|
|
7738
|
+
this.gridview.margin = 0;
|
|
7739
|
+
}
|
|
7740
|
+
if (typeof options.gap === 'number') {
|
|
7741
|
+
this.gridview.margin = options.gap;
|
|
7742
|
+
}
|
|
7529
7743
|
this.layout(this.gridview.width, this.gridview.height, true);
|
|
7530
7744
|
}
|
|
7531
7745
|
layout(width, height, forceResize) {
|
|
@@ -7687,11 +7901,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7687
7901
|
const { data, position } = serializedFloatingGroup;
|
|
7688
7902
|
const group = createGroupFromSerializedState(data);
|
|
7689
7903
|
this.addFloatingGroup(group, {
|
|
7690
|
-
|
|
7691
|
-
|
|
7692
|
-
|
|
7693
|
-
|
|
7694
|
-
}, { skipRemoveGroup: true, inDragMode: false });
|
|
7904
|
+
position: position,
|
|
7905
|
+
skipRemoveGroup: true,
|
|
7906
|
+
inDragMode: false,
|
|
7907
|
+
});
|
|
7695
7908
|
}
|
|
7696
7909
|
const serializedPopoutGroups = (_b = data.popoutGroups) !== null && _b !== void 0 ? _b : [];
|
|
7697
7910
|
for (const serializedPopoutGroup of serializedPopoutGroups) {
|
|
@@ -7822,15 +8035,11 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7822
8035
|
if (options.floating) {
|
|
7823
8036
|
const group = this.createGroup();
|
|
7824
8037
|
this._onDidAddGroup.fire(group);
|
|
7825
|
-
const
|
|
8038
|
+
const floatingGroupOptions = typeof options.floating === 'object' &&
|
|
7826
8039
|
options.floating !== null
|
|
7827
8040
|
? options.floating
|
|
7828
8041
|
: {};
|
|
7829
|
-
this.addFloatingGroup(group,
|
|
7830
|
-
inDragMode: false,
|
|
7831
|
-
skipRemoveGroup: true,
|
|
7832
|
-
skipActiveGroup: true,
|
|
7833
|
-
});
|
|
8042
|
+
this.addFloatingGroup(group, Object.assign(Object.assign({}, floatingGroupOptions), { inDragMode: false, skipRemoveGroup: true, skipActiveGroup: true }));
|
|
7834
8043
|
panel = this.createPanel(options, group);
|
|
7835
8044
|
group.model.openPanel(panel, {
|
|
7836
8045
|
skipSetActive: options.inactive,
|
|
@@ -7869,11 +8078,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7869
8078
|
options.floating !== null
|
|
7870
8079
|
? options.floating
|
|
7871
8080
|
: {};
|
|
7872
|
-
this.addFloatingGroup(group, coordinates, {
|
|
7873
|
-
inDragMode: false,
|
|
7874
|
-
skipRemoveGroup: true,
|
|
7875
|
-
skipActiveGroup: true,
|
|
7876
|
-
});
|
|
8081
|
+
this.addFloatingGroup(group, Object.assign(Object.assign({}, coordinates), { inDragMode: false, skipRemoveGroup: true, skipActiveGroup: true }));
|
|
7877
8082
|
panel = this.createPanel(options, group);
|
|
7878
8083
|
group.model.openPanel(panel, {
|
|
7879
8084
|
skipSetActive: options.inactive,
|
|
@@ -7928,6 +8133,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
7928
8133
|
});
|
|
7929
8134
|
const watermarkContainer = document.createElement('div');
|
|
7930
8135
|
watermarkContainer.className = 'dv-watermark-container';
|
|
8136
|
+
addTestId(watermarkContainer, 'watermark-component');
|
|
7931
8137
|
watermarkContainer.appendChild(this.watermark.element);
|
|
7932
8138
|
this.gridview.element.appendChild(watermarkContainer);
|
|
7933
8139
|
}
|
|
@@ -8116,6 +8322,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
8116
8322
|
this.doSetGroupAndPanelActive(destinationGroup);
|
|
8117
8323
|
this._onDidMovePanel.fire({
|
|
8118
8324
|
panel: removedPanel,
|
|
8325
|
+
from: sourceGroup,
|
|
8119
8326
|
});
|
|
8120
8327
|
}
|
|
8121
8328
|
else {
|
|
@@ -8139,6 +8346,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
8139
8346
|
// if a group has one tab - we are essentially moving the 'group'
|
|
8140
8347
|
// which is equivalent to swapping two views in this case
|
|
8141
8348
|
this.gridview.moveView(sourceParentLocation, from, to);
|
|
8349
|
+
this._onDidMovePanel.fire({
|
|
8350
|
+
panel: this.getGroupPanel(sourceItemId),
|
|
8351
|
+
from: sourceGroup,
|
|
8352
|
+
});
|
|
8142
8353
|
return;
|
|
8143
8354
|
}
|
|
8144
8355
|
}
|
|
@@ -8152,6 +8363,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
8152
8363
|
const location = getRelativeLocation(this.gridview.orientation, updatedReferenceLocation, destinationTarget);
|
|
8153
8364
|
this.movingLock(() => this.doAddGroup(targetGroup, location));
|
|
8154
8365
|
this.doSetGroupAndPanelActive(targetGroup);
|
|
8366
|
+
this._onDidMovePanel.fire({
|
|
8367
|
+
panel: this.getGroupPanel(sourceItemId),
|
|
8368
|
+
from: sourceGroup,
|
|
8369
|
+
});
|
|
8155
8370
|
}
|
|
8156
8371
|
else {
|
|
8157
8372
|
/**
|
|
@@ -8171,6 +8386,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
8171
8386
|
skipSetGroupActive: true,
|
|
8172
8387
|
}));
|
|
8173
8388
|
this.doSetGroupAndPanelActive(group);
|
|
8389
|
+
this._onDidMovePanel.fire({
|
|
8390
|
+
panel: removedPanel,
|
|
8391
|
+
from: sourceGroup,
|
|
8392
|
+
});
|
|
8174
8393
|
}
|
|
8175
8394
|
}
|
|
8176
8395
|
}
|
|
@@ -8195,9 +8414,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
8195
8414
|
}
|
|
8196
8415
|
});
|
|
8197
8416
|
this.doSetGroupAndPanelActive(to);
|
|
8198
|
-
panels.forEach((panel) => {
|
|
8199
|
-
this._onDidMovePanel.fire({ panel });
|
|
8200
|
-
});
|
|
8201
8417
|
}
|
|
8202
8418
|
else {
|
|
8203
8419
|
switch (from.api.location.type) {
|
|
@@ -8223,10 +8439,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
8223
8439
|
const referenceLocation = getGridLocation(to.element);
|
|
8224
8440
|
const dropLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, target);
|
|
8225
8441
|
this.gridview.addView(from, exports.Sizing.Distribute, dropLocation);
|
|
8226
|
-
from.panels.forEach((panel) => {
|
|
8227
|
-
this._onDidMovePanel.fire({ panel });
|
|
8228
|
-
});
|
|
8229
8442
|
}
|
|
8443
|
+
from.panels.forEach((panel) => {
|
|
8444
|
+
this._onDidMovePanel.fire({ panel, from });
|
|
8445
|
+
});
|
|
8230
8446
|
}
|
|
8231
8447
|
doSetGroupActive(group) {
|
|
8232
8448
|
super.doSetGroupActive(group);
|