dockview 1.4.2 → 1.4.3
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/README.md +4 -195
- package/dist/cjs/api/component.api.d.ts +5 -0
- package/dist/cjs/api/component.api.js +13 -1
- package/dist/cjs/api/component.api.js.map +1 -1
- package/dist/cjs/dnd/droptarget.d.ts +1 -2
- package/dist/cjs/dockview/deserializer.d.ts +0 -12
- package/dist/cjs/dockview/deserializer.js +0 -52
- package/dist/cjs/dockview/deserializer.js.map +1 -1
- package/dist/cjs/dockview/dockviewComponent.d.ts +5 -7
- package/dist/cjs/dockview/dockviewComponent.js +77 -40
- package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
- package/dist/cjs/dockview/options.d.ts +6 -1
- package/dist/cjs/gridview/baseComponentGridview.d.ts +4 -2
- package/dist/cjs/gridview/baseComponentGridview.js +1 -1
- package/dist/cjs/gridview/baseComponentGridview.js.map +1 -1
- package/dist/cjs/gridview/gridviewComponent.d.ts +1 -0
- package/dist/cjs/gridview/gridviewComponent.js +26 -18
- package/dist/cjs/gridview/gridviewComponent.js.map +1 -1
- package/dist/cjs/groupview/groupview.d.ts +4 -3
- package/dist/cjs/groupview/groupview.js +15 -6
- package/dist/cjs/groupview/groupview.js.map +1 -1
- package/dist/cjs/groupview/groupviewPanel.d.ts +2 -2
- package/dist/cjs/groupview/groupviewPanel.js.map +1 -1
- package/dist/cjs/groupview/titlebar/tabsContainer.d.ts +2 -2
- package/dist/cjs/groupview/titlebar/tabsContainer.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/paneview/defaultPaneviewHeader.js +6 -4
- package/dist/cjs/paneview/defaultPaneviewHeader.js.map +1 -1
- package/dist/cjs/paneview/paneviewComponent.d.ts +2 -0
- package/dist/cjs/paneview/paneviewComponent.js +19 -16
- package/dist/cjs/paneview/paneviewComponent.js.map +1 -1
- package/dist/cjs/react/dockview/dockview.d.ts +2 -3
- package/dist/cjs/react/dockview/dockview.js.map +1 -1
- package/dist/cjs/splitview/splitviewComponent.d.ts +2 -0
- package/dist/cjs/splitview/splitviewComponent.js +20 -17
- package/dist/cjs/splitview/splitviewComponent.js.map +1 -1
- package/dist/dockview.amd.js +122 -87
- package/dist/dockview.amd.min.js +2 -2
- package/dist/dockview.amd.min.noStyle.js +2 -2
- package/dist/dockview.amd.noStyle.js +121 -86
- package/dist/dockview.cjs.js +122 -87
- package/dist/dockview.esm.js +118 -83
- package/dist/dockview.esm.min.js +2 -2
- package/dist/dockview.js +122 -87
- package/dist/dockview.min.js +2 -2
- package/dist/dockview.min.noStyle.js +2 -2
- package/dist/dockview.noStyle.js +121 -86
- package/dist/esm/api/component.api.d.ts +5 -0
- package/dist/esm/api/component.api.js +13 -1
- package/dist/esm/dnd/droptarget.d.ts +1 -2
- package/dist/esm/dockview/deserializer.d.ts +0 -12
- package/dist/esm/dockview/deserializer.js +1 -27
- package/dist/esm/dockview/dockviewComponent.d.ts +5 -7
- package/dist/esm/dockview/dockviewComponent.js +49 -23
- package/dist/esm/dockview/options.d.ts +6 -1
- package/dist/esm/gridview/baseComponentGridview.d.ts +4 -2
- package/dist/esm/gridview/baseComponentGridview.js +1 -1
- package/dist/esm/gridview/gridviewComponent.d.ts +1 -0
- package/dist/esm/gridview/gridviewComponent.js +15 -7
- package/dist/esm/groupview/groupview.d.ts +4 -3
- package/dist/esm/groupview/groupview.js +15 -6
- package/dist/esm/groupview/groupviewPanel.d.ts +2 -2
- package/dist/esm/groupview/titlebar/tabsContainer.d.ts +2 -2
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/paneview/defaultPaneviewHeader.js +6 -4
- package/dist/esm/paneview/paneviewComponent.d.ts +2 -0
- package/dist/esm/paneview/paneviewComponent.js +8 -5
- package/dist/esm/react/dockview/dockview.d.ts +2 -3
- package/dist/esm/splitview/splitviewComponent.d.ts +2 -0
- package/dist/esm/splitview/splitviewComponent.js +9 -6
- package/dist/styles/dockview.css +5 -0
- package/package.json +2 -2
package/dist/dockview.amd.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dockview
|
|
3
|
-
* @version 1.4.
|
|
3
|
+
* @version 1.4.3
|
|
4
4
|
* @link https://github.com/mathuo/dockview
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -54,7 +54,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
var css_248z = ".dockview-theme-dark {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-tab-close-icon: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>');\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-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-tab-close-icon: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>');\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-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-tab-close-icon: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>');\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-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-activegroup-visiblepanel-tab-background-color: dodgerblue;\n --dv-tabs-and-actions-container-height: 18px;\n --dv-tabs-and-actions-container-font-size: 11px;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.actions-bar {\n text-align: right;\n width: 28px;\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n.actions-bar .actions-container {\n display: flex;\n padding: 0px;\n margin: 0px;\n justify-content: flex-end;\n}\n.actions-bar .actions-container a:active {\n -webkit-mask-size: 100% 100% !important;\n mask-size: 100% 100% !important;\n}\n.actions-bar .actions-container .close-action {\n background-color: white;\n height: 16px;\n width: 16px;\n display: block;\n -webkit-mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n margin-right: \"0.5em\";\n cursor: pointer;\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: 10000;\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.left {\n transform: translateX(-25%) scaleX(0.5);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.right {\n transform: translateX(25%) scaleX(0.5);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.top {\n transform: translateY(-25%) scaleY(0.5);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.bottom {\n transform: translateY(25%) scaleY(0.5);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-top {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-bottom {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-left {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-right {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.custom-dragging {\n height: 24px;\n line-height: 24px;\n font-size: 11px;\n width: 100px;\n background-color: dodgerblue;\n color: ghostwhite;\n border-radius: 11px;\n position: absolute;\n padding-left: 10px;\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.active-tab .tab-action {\n background-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.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab .tab-action {\n background-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.active-tab .tab-action {\n background-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.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab .tab-action {\n background-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.dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\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 overflow: hidden;\n outline: none;\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}\n.pane-container .view .default-header > span {\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.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 .void-container {\n display: flex;\n flex-grow: 1;\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.dockview-react-part {\n height: 100%;\n width: 100%;\n}\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\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}\n.split-view-container .sash-container .sash: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: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}\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.dragged {\n transform: translate3d(0px, 0px, 0px);\n /* 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.dragging .tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab > .default-tab .tab-action {\n visibility: visible;\n}\n.tab.inactive-tab > .default-tab .tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab > .default-tab:hover .tab-action {\n visibility: visible;\n}\n.tab .default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding-left: 10px;\n white-space: nowrap;\n text-overflow: elipsis;\n}\n.tab .default-tab .tab-content {\n flex-grow: 1;\n}\n.tab .default-tab .action-container {\n text-align: right;\n width: 28px;\n display: flex;\n}\n.tab .default-tab .action-container .tab-list {\n display: flex;\n padding: 0px;\n margin: 0px;\n justify-content: flex-end;\n}\n.tab .default-tab .action-container .tab-list a:active:hover {\n -webkit-mask-size: 100% 100% !important;\n mask-size: 100% 100% !important;\n}\n.tab .default-tab .action-container .tab-list .tab-action {\n height: 16px;\n width: 16px;\n display: block;\n -webkit-mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n margin-right: \"0.5em\";\n}\n.tab .default-tab .action-container .tab-list .tab-action.disable-close {\n display: none;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-bar {\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}";
|
|
57
|
+
var css_248z = ".dockview-theme-dark {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-tab-close-icon: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>');\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-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-tab-close-icon: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>');\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-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-tab-close-icon: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>');\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-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-activegroup-visiblepanel-tab-background-color: dodgerblue;\n --dv-tabs-and-actions-container-height: 18px;\n --dv-tabs-and-actions-container-font-size: 11px;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.actions-bar {\n text-align: right;\n width: 28px;\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n.actions-bar .actions-container {\n display: flex;\n padding: 0px;\n margin: 0px;\n justify-content: flex-end;\n}\n.actions-bar .actions-container a:active {\n -webkit-mask-size: 100% 100% !important;\n mask-size: 100% 100% !important;\n}\n.actions-bar .actions-container .close-action {\n background-color: white;\n height: 16px;\n width: 16px;\n display: block;\n -webkit-mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n margin-right: \"0.5em\";\n cursor: pointer;\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: 10000;\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.left {\n transform: translateX(-25%) scaleX(0.5);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.right {\n transform: translateX(25%) scaleX(0.5);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.top {\n transform: translateY(-25%) scaleY(0.5);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.bottom {\n transform: translateY(25%) scaleY(0.5);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-top {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-bottom {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-left {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-right {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.custom-dragging {\n height: 24px;\n line-height: 24px;\n font-size: 11px;\n width: 100px;\n background-color: dodgerblue;\n color: ghostwhite;\n border-radius: 11px;\n position: absolute;\n padding-left: 10px;\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.active-tab .tab-action {\n background-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.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab .tab-action {\n background-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.active-tab .tab-action {\n background-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.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab .tab-action {\n background-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.dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\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 overflow: hidden;\n outline: none;\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 .collapsed {\n transform: rotate(-90deg);\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.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 .void-container {\n display: flex;\n flex-grow: 1;\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.dockview-react-part {\n height: 100%;\n width: 100%;\n}\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\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}\n.split-view-container .sash-container .sash: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: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}\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.dragged {\n transform: translate3d(0px, 0px, 0px);\n /* 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.dragging .tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab > .default-tab .tab-action {\n visibility: visible;\n}\n.tab.inactive-tab > .default-tab .tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab > .default-tab:hover .tab-action {\n visibility: visible;\n}\n.tab .default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding-left: 10px;\n white-space: nowrap;\n text-overflow: elipsis;\n}\n.tab .default-tab .tab-content {\n flex-grow: 1;\n}\n.tab .default-tab .action-container {\n text-align: right;\n width: 28px;\n display: flex;\n}\n.tab .default-tab .action-container .tab-list {\n display: flex;\n padding: 0px;\n margin: 0px;\n justify-content: flex-end;\n}\n.tab .default-tab .action-container .tab-list a:active:hover {\n -webkit-mask-size: 100% 100% !important;\n mask-size: 100% 100% !important;\n}\n.tab .default-tab .action-container .tab-list .tab-action {\n height: 16px;\n width: 16px;\n display: block;\n -webkit-mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n margin-right: \"0.5em\";\n}\n.tab .default-tab .action-container .tab-list .tab-action.disable-close {\n display: none;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-bar {\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}";
|
|
58
58
|
styleInject(css_248z);
|
|
59
59
|
|
|
60
60
|
class TransferObject {
|
|
@@ -2324,6 +2324,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2324
2324
|
toJSON() {
|
|
2325
2325
|
return this.component.toJSON();
|
|
2326
2326
|
}
|
|
2327
|
+
clear() {
|
|
2328
|
+
this.component.clear();
|
|
2329
|
+
}
|
|
2327
2330
|
}
|
|
2328
2331
|
class PaneviewApi {
|
|
2329
2332
|
constructor(component) {
|
|
@@ -2391,6 +2394,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2391
2394
|
toJSON() {
|
|
2392
2395
|
return this.component.toJSON();
|
|
2393
2396
|
}
|
|
2397
|
+
clear() {
|
|
2398
|
+
this.component.clear();
|
|
2399
|
+
}
|
|
2394
2400
|
}
|
|
2395
2401
|
class GridviewApi {
|
|
2396
2402
|
constructor(component) {
|
|
@@ -2462,6 +2468,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2462
2468
|
toJSON() {
|
|
2463
2469
|
return this.component.toJSON();
|
|
2464
2470
|
}
|
|
2471
|
+
clear() {
|
|
2472
|
+
this.component.clear();
|
|
2473
|
+
}
|
|
2465
2474
|
}
|
|
2466
2475
|
class DockviewApi {
|
|
2467
2476
|
constructor(component) {
|
|
@@ -2510,7 +2519,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2510
2519
|
return this.component.onDidRemovePanel;
|
|
2511
2520
|
}
|
|
2512
2521
|
get onDidLayoutFromJSON() {
|
|
2513
|
-
return this.component.
|
|
2522
|
+
return this.component.onDidLayoutFromJSON;
|
|
2514
2523
|
}
|
|
2515
2524
|
get onDidLayoutChange() {
|
|
2516
2525
|
return this.component.onDidLayoutChange;
|
|
@@ -2572,6 +2581,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2572
2581
|
toJSON() {
|
|
2573
2582
|
return this.component.toJSON();
|
|
2574
2583
|
}
|
|
2584
|
+
clear() {
|
|
2585
|
+
this.component.clear();
|
|
2586
|
+
}
|
|
2575
2587
|
}
|
|
2576
2588
|
|
|
2577
2589
|
class ContentContainer extends CompositeDisposable {
|
|
@@ -2645,12 +2657,12 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2645
2657
|
}
|
|
2646
2658
|
}
|
|
2647
2659
|
|
|
2648
|
-
|
|
2660
|
+
exports.DockviewDropTargets = void 0;
|
|
2649
2661
|
(function (DockviewDropTargets) {
|
|
2650
2662
|
DockviewDropTargets[DockviewDropTargets["Tab"] = 0] = "Tab";
|
|
2651
2663
|
DockviewDropTargets[DockviewDropTargets["Panel"] = 1] = "Panel";
|
|
2652
2664
|
DockviewDropTargets[DockviewDropTargets["TabContainer"] = 2] = "TabContainer";
|
|
2653
|
-
})(DockviewDropTargets || (DockviewDropTargets = {}));
|
|
2665
|
+
})(exports.DockviewDropTargets || (exports.DockviewDropTargets = {}));
|
|
2654
2666
|
|
|
2655
2667
|
class DragHandler extends CompositeDisposable {
|
|
2656
2668
|
constructor(el) {
|
|
@@ -2749,7 +2761,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2749
2761
|
if (data) {
|
|
2750
2762
|
return this.panelId !== data.panelId;
|
|
2751
2763
|
}
|
|
2752
|
-
return this.group.model.canDisplayOverlay(event, DockviewDropTargets.Tab);
|
|
2764
|
+
return this.group.model.canDisplayOverlay(event, exports.DockviewDropTargets.Tab);
|
|
2753
2765
|
},
|
|
2754
2766
|
});
|
|
2755
2767
|
this.addDisposables(this.droptarget.onDrop((event) => {
|
|
@@ -2808,7 +2820,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2808
2820
|
// don't show the overlay if the tab being dragged is the last panel of this group
|
|
2809
2821
|
return ((_a = last(this.tabs)) === null || _a === void 0 ? void 0 : _a.value.panelId) !== data.panelId;
|
|
2810
2822
|
}
|
|
2811
|
-
return group.model.canDisplayOverlay(event, DockviewDropTargets.Panel);
|
|
2823
|
+
return group.model.canDisplayOverlay(event, exports.DockviewDropTargets.Panel);
|
|
2812
2824
|
},
|
|
2813
2825
|
});
|
|
2814
2826
|
this.addDisposables(this.voidDropTarget.onDrop((event) => {
|
|
@@ -3006,7 +3018,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3006
3018
|
const groupHasOnePanelAndIsActiveDragElement = this._panels.length === 1 && data.groupId === this.id;
|
|
3007
3019
|
return !groupHasOnePanelAndIsActiveDragElement;
|
|
3008
3020
|
}
|
|
3009
|
-
return this.canDisplayOverlay(event, DockviewDropTargets.Panel);
|
|
3021
|
+
return this.canDisplayOverlay(event, exports.DockviewDropTargets.Panel);
|
|
3010
3022
|
},
|
|
3011
3023
|
});
|
|
3012
3024
|
container.append(this.tabsContainer.element, this.contentContainer.element);
|
|
@@ -3164,16 +3176,21 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3164
3176
|
options.index > this.panels.length) {
|
|
3165
3177
|
options.index = this.panels.length;
|
|
3166
3178
|
}
|
|
3167
|
-
const
|
|
3179
|
+
const skipSetPanelActive = !!options.skipSetPanelActive;
|
|
3180
|
+
const skipSetGroupActive = !!options.skipSetGroupActive;
|
|
3168
3181
|
// ensure the group is updated before we fire any events
|
|
3169
3182
|
panel.updateParentGroup(this.parent, true);
|
|
3170
|
-
if (
|
|
3171
|
-
|
|
3183
|
+
if (this._activePanel === panel) {
|
|
3184
|
+
if (!skipSetGroupActive) {
|
|
3185
|
+
this.accessor.doSetGroupActive(this.parent);
|
|
3186
|
+
}
|
|
3172
3187
|
return;
|
|
3173
3188
|
}
|
|
3174
|
-
this.doAddPanel(panel, options.index,
|
|
3175
|
-
if (!
|
|
3189
|
+
this.doAddPanel(panel, options.index, skipSetPanelActive);
|
|
3190
|
+
if (!skipSetPanelActive) {
|
|
3176
3191
|
this.doSetActivePanel(panel);
|
|
3192
|
+
}
|
|
3193
|
+
if (!skipSetGroupActive) {
|
|
3177
3194
|
this.accessor.doSetGroupActive(this.parent, !!options.skipFocus);
|
|
3178
3195
|
}
|
|
3179
3196
|
this.updateContainer();
|
|
@@ -3349,7 +3366,11 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3349
3366
|
canDisplayOverlay(event, target) {
|
|
3350
3367
|
// custom overlay handler
|
|
3351
3368
|
if (this.accessor.options.showDndOverlay) {
|
|
3352
|
-
return this.accessor.options.showDndOverlay(
|
|
3369
|
+
return this.accessor.options.showDndOverlay({
|
|
3370
|
+
nativeEvent: event,
|
|
3371
|
+
target,
|
|
3372
|
+
group: this.accessor.getPanel(this.id),
|
|
3373
|
+
});
|
|
3353
3374
|
}
|
|
3354
3375
|
return false;
|
|
3355
3376
|
}
|
|
@@ -3432,7 +3453,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3432
3453
|
this.element.appendChild(this.gridview.element);
|
|
3433
3454
|
this.layout(0, 0, true); // set some elements height/widths
|
|
3434
3455
|
this.addDisposables(this.gridview.onDidChange(() => {
|
|
3435
|
-
this.
|
|
3456
|
+
this._bufferOnDidLayoutChange.fire();
|
|
3436
3457
|
}));
|
|
3437
3458
|
this.addDisposables(exports.Event.any(this.onDidAddGroup, this.onDidRemoveGroup, this.onDidActiveGroupChange)(() => {
|
|
3438
3459
|
this._bufferOnDidLayoutChange.fire();
|
|
@@ -3942,34 +3963,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3942
3963
|
}
|
|
3943
3964
|
}
|
|
3944
3965
|
|
|
3945
|
-
class DefaultDeserializer {
|
|
3946
|
-
constructor(layout, panelDeserializer) {
|
|
3947
|
-
this.layout = layout;
|
|
3948
|
-
this.panelDeserializer = panelDeserializer;
|
|
3949
|
-
}
|
|
3950
|
-
fromJSON(node) {
|
|
3951
|
-
const data = node.data;
|
|
3952
|
-
const children = data.views;
|
|
3953
|
-
const active = data.activeView;
|
|
3954
|
-
const group = this.layout.createGroup({
|
|
3955
|
-
id: data.id,
|
|
3956
|
-
locked: !!data.locked,
|
|
3957
|
-
hideHeader: !!data.hideHeader,
|
|
3958
|
-
});
|
|
3959
|
-
for (const child of children) {
|
|
3960
|
-
const panel = this.panelDeserializer.createPanel(child, group);
|
|
3961
|
-
const isActive = typeof active === 'string' && active === panel.id;
|
|
3962
|
-
group.model.openPanel(panel, {
|
|
3963
|
-
skipSetActive: !isActive,
|
|
3964
|
-
});
|
|
3965
|
-
}
|
|
3966
|
-
if (!group.activePanel && group.panels.length > 0) {
|
|
3967
|
-
group.model.openPanel(group.panels[group.panels.length - 1]);
|
|
3968
|
-
}
|
|
3969
|
-
return group;
|
|
3970
|
-
}
|
|
3971
|
-
}
|
|
3972
|
-
|
|
3973
3966
|
function createComponent(id, componentName, components = {}, frameworkComponents = {}, createFrameworkComponent, fallback) {
|
|
3974
3967
|
const Component = typeof componentName === 'string'
|
|
3975
3968
|
? components[componentName]
|
|
@@ -4406,9 +4399,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4406
4399
|
orientation: options.orientation || exports.Orientation.HORIZONTAL,
|
|
4407
4400
|
styles: options.styles,
|
|
4408
4401
|
});
|
|
4409
|
-
// events
|
|
4410
|
-
this._onTabInteractionEvent = new Emitter();
|
|
4411
|
-
this.onTabInteractionEvent = this._onTabInteractionEvent.event;
|
|
4412
4402
|
this._onTabContextMenu = new Emitter();
|
|
4413
4403
|
this.onTabContextMenu = this._onTabContextMenu.event;
|
|
4414
4404
|
this._onDidDrop = new Emitter();
|
|
@@ -4417,11 +4407,11 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4417
4407
|
this.onDidRemovePanel = this._onDidRemovePanel.event;
|
|
4418
4408
|
this._onDidAddPanel = new Emitter();
|
|
4419
4409
|
this.onDidAddPanel = this._onDidAddPanel.event;
|
|
4420
|
-
this.
|
|
4421
|
-
this.
|
|
4410
|
+
this._onDidLayoutFromJSON = new Emitter();
|
|
4411
|
+
this.onDidLayoutFromJSON = this._onDidLayoutFromJSON.event;
|
|
4422
4412
|
this._onDidActivePanelChange = new Emitter();
|
|
4423
4413
|
this.onDidActivePanelChange = this._onDidActivePanelChange.event;
|
|
4424
|
-
this.addDisposables(this.
|
|
4414
|
+
this.addDisposables(this._onTabContextMenu, this._onDidDrop, exports.Event.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidActivePanelChange)(() => {
|
|
4425
4415
|
this._bufferOnDidLayoutChange.fire();
|
|
4426
4416
|
}));
|
|
4427
4417
|
this._options = options;
|
|
@@ -4476,7 +4466,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4476
4466
|
}
|
|
4477
4467
|
updateOptions(options) {
|
|
4478
4468
|
const hasOrientationChanged = typeof options.orientation === 'string' &&
|
|
4479
|
-
this.
|
|
4469
|
+
this.gridview.orientation !== options.orientation;
|
|
4480
4470
|
this._options = Object.assign(Object.assign({}, this.options), options);
|
|
4481
4471
|
if (hasOrientationChanged) {
|
|
4482
4472
|
this.gridview.orientation = options.orientation;
|
|
@@ -4554,12 +4544,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4554
4544
|
};
|
|
4555
4545
|
}
|
|
4556
4546
|
fromJSON(data) {
|
|
4557
|
-
|
|
4558
|
-
for (const group of groups) {
|
|
4559
|
-
// remove the group will automatically remove the panels
|
|
4560
|
-
this.removeGroup(group, true);
|
|
4561
|
-
}
|
|
4562
|
-
this.gridview.clear();
|
|
4547
|
+
this.clear();
|
|
4563
4548
|
if (!this.deserializer) {
|
|
4564
4549
|
throw new Error('invalid deserializer');
|
|
4565
4550
|
}
|
|
@@ -4570,12 +4555,31 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4570
4555
|
if (!this.deserializer) {
|
|
4571
4556
|
throw new Error('no deserializer provided');
|
|
4572
4557
|
}
|
|
4573
|
-
this.gridview.deserialize(grid,
|
|
4574
|
-
|
|
4575
|
-
const
|
|
4576
|
-
|
|
4577
|
-
|
|
4578
|
-
|
|
4558
|
+
this.gridview.deserialize(grid, {
|
|
4559
|
+
fromJSON: (node) => {
|
|
4560
|
+
const { id, locked, hideHeader, views, activeView } = node.data;
|
|
4561
|
+
const group = this.createGroup({
|
|
4562
|
+
id,
|
|
4563
|
+
locked: !!locked,
|
|
4564
|
+
hideHeader: !!hideHeader,
|
|
4565
|
+
});
|
|
4566
|
+
this._onDidAddGroup.fire(group);
|
|
4567
|
+
for (const child of views) {
|
|
4568
|
+
const panel = this.deserializer.fromJSON(panels[child], group);
|
|
4569
|
+
const isActive = typeof activeView === 'string' && activeView === panel.id;
|
|
4570
|
+
group.model.openPanel(panel, {
|
|
4571
|
+
skipSetPanelActive: !isActive,
|
|
4572
|
+
skipSetGroupActive: true
|
|
4573
|
+
});
|
|
4574
|
+
}
|
|
4575
|
+
if (!group.activePanel && group.panels.length > 0) {
|
|
4576
|
+
group.model.openPanel(group.panels[group.panels.length - 1], {
|
|
4577
|
+
skipSetGroupActive: true
|
|
4578
|
+
});
|
|
4579
|
+
}
|
|
4580
|
+
return group;
|
|
4581
|
+
}
|
|
4582
|
+
});
|
|
4579
4583
|
if (typeof activeGroup === 'string') {
|
|
4580
4584
|
const panel = this.getPanel(activeGroup);
|
|
4581
4585
|
if (panel) {
|
|
@@ -4583,7 +4587,23 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4583
4587
|
}
|
|
4584
4588
|
}
|
|
4585
4589
|
this.gridview.layout(this.width, this.height);
|
|
4586
|
-
this.
|
|
4590
|
+
this._onDidLayoutFromJSON.fire();
|
|
4591
|
+
}
|
|
4592
|
+
clear() {
|
|
4593
|
+
const groups = Array.from(this._groups.values()).map((_) => _.value);
|
|
4594
|
+
const hasActiveGroup = !!this.activeGroup;
|
|
4595
|
+
const hasActivePanel = !!this.activePanel;
|
|
4596
|
+
for (const group of groups) {
|
|
4597
|
+
// remove the group will automatically remove the panels
|
|
4598
|
+
this.removeGroup(group, true);
|
|
4599
|
+
}
|
|
4600
|
+
if (hasActiveGroup) {
|
|
4601
|
+
this.doSetGroupActive(undefined);
|
|
4602
|
+
}
|
|
4603
|
+
if (hasActivePanel) {
|
|
4604
|
+
this._onDidActivePanelChange.fire(undefined);
|
|
4605
|
+
}
|
|
4606
|
+
this.gridview.clear();
|
|
4587
4607
|
}
|
|
4588
4608
|
closeAllGroups() {
|
|
4589
4609
|
for (const entry of this._groups.entries()) {
|
|
@@ -4781,7 +4801,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4781
4801
|
const { groupId, itemId, target, index } = event;
|
|
4782
4802
|
this.moveGroupOrPanel(view, groupId, itemId, target, index);
|
|
4783
4803
|
}), view.model.onDidDrop((event) => {
|
|
4784
|
-
this._onDidDrop.fire(Object.assign(Object.assign({}, event), { api: this._api }));
|
|
4804
|
+
this._onDidDrop.fire(Object.assign(Object.assign({}, event), { api: this._api, group: view }));
|
|
4785
4805
|
}), view.model.onDidGroupChange((event) => {
|
|
4786
4806
|
switch (event.kind) {
|
|
4787
4807
|
case exports.GroupChangeKind2.ADD_PANEL:
|
|
@@ -4845,7 +4865,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4845
4865
|
this._onDidActivePanelChange.dispose();
|
|
4846
4866
|
this._onDidAddPanel.dispose();
|
|
4847
4867
|
this._onDidRemovePanel.dispose();
|
|
4848
|
-
this.
|
|
4868
|
+
this._onDidLayoutFromJSON.dispose();
|
|
4849
4869
|
}
|
|
4850
4870
|
}
|
|
4851
4871
|
|
|
@@ -4883,7 +4903,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4883
4903
|
}
|
|
4884
4904
|
updateOptions(options) {
|
|
4885
4905
|
const hasOrientationChanged = typeof options.orientation === 'string' &&
|
|
4886
|
-
this.
|
|
4906
|
+
this.gridview.orientation !== options.orientation;
|
|
4887
4907
|
this._options = Object.assign(Object.assign({}, this.options), options);
|
|
4888
4908
|
if (hasOrientationChanged) {
|
|
4889
4909
|
this.gridview.orientation = options.orientation;
|
|
@@ -4919,13 +4939,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4919
4939
|
(_a = this.activeGroup) === null || _a === void 0 ? void 0 : _a.focus();
|
|
4920
4940
|
}
|
|
4921
4941
|
fromJSON(serializedGridview) {
|
|
4942
|
+
this.clear();
|
|
4922
4943
|
const { grid, activePanel } = serializedGridview;
|
|
4923
|
-
const groups = Array.from(this._groups.values()); // reassign since group panels will mutate
|
|
4924
|
-
for (const group of groups) {
|
|
4925
|
-
group.disposable.dispose();
|
|
4926
|
-
this.doRemoveGroup(group.value, { skipActive: true });
|
|
4927
|
-
}
|
|
4928
|
-
this.gridview.clear();
|
|
4929
4944
|
const queue = [];
|
|
4930
4945
|
this.gridview.deserialize(grid, {
|
|
4931
4946
|
fromJSON: (node) => {
|
|
@@ -4947,6 +4962,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4947
4962
|
accessor: this,
|
|
4948
4963
|
isVisible: node.visible,
|
|
4949
4964
|
}));
|
|
4965
|
+
this._onDidAddGroup.fire(view);
|
|
4950
4966
|
this.registerPanel(view);
|
|
4951
4967
|
return view;
|
|
4952
4968
|
},
|
|
@@ -4961,6 +4977,18 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4961
4977
|
}
|
|
4962
4978
|
this._onDidLayoutfromJSON.fire();
|
|
4963
4979
|
}
|
|
4980
|
+
clear() {
|
|
4981
|
+
const hasActiveGroup = this.activeGroup;
|
|
4982
|
+
const groups = Array.from(this._groups.values()); // reassign since group panels will mutate
|
|
4983
|
+
for (const group of groups) {
|
|
4984
|
+
group.disposable.dispose();
|
|
4985
|
+
this.doRemoveGroup(group.value, { skipActive: true });
|
|
4986
|
+
}
|
|
4987
|
+
if (hasActiveGroup) {
|
|
4988
|
+
this.doSetGroupActive(undefined);
|
|
4989
|
+
}
|
|
4990
|
+
this.gridview.clear();
|
|
4991
|
+
}
|
|
4964
4992
|
movePanel(panel, options) {
|
|
4965
4993
|
var _a;
|
|
4966
4994
|
let relativeLocation;
|
|
@@ -5251,13 +5279,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5251
5279
|
};
|
|
5252
5280
|
}
|
|
5253
5281
|
fromJSON(serializedSplitview) {
|
|
5282
|
+
this.clear();
|
|
5254
5283
|
const { views, orientation, size, activeView } = serializedSplitview;
|
|
5255
|
-
for (const [_, value] of this._panels.entries()) {
|
|
5256
|
-
value.disposable.dispose();
|
|
5257
|
-
value.value.dispose();
|
|
5258
|
-
}
|
|
5259
|
-
this._panels.clear();
|
|
5260
|
-
this.splitview.dispose();
|
|
5261
5284
|
const queue = [];
|
|
5262
5285
|
this.splitview = new Splitview(this.element, {
|
|
5263
5286
|
orientation,
|
|
@@ -5305,6 +5328,14 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5305
5328
|
}
|
|
5306
5329
|
this._onDidLayoutfromJSON.fire();
|
|
5307
5330
|
}
|
|
5331
|
+
clear() {
|
|
5332
|
+
for (const [_, value] of this._panels.entries()) {
|
|
5333
|
+
value.disposable.dispose();
|
|
5334
|
+
value.value.dispose();
|
|
5335
|
+
}
|
|
5336
|
+
this._panels.clear();
|
|
5337
|
+
this.splitview.dispose();
|
|
5338
|
+
}
|
|
5308
5339
|
dispose() {
|
|
5309
5340
|
for (const [_, value] of this._panels.entries()) {
|
|
5310
5341
|
value.disposable.dispose();
|
|
@@ -5633,9 +5664,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5633
5664
|
this.element.className = 'default-header';
|
|
5634
5665
|
this._content = document.createElement('span');
|
|
5635
5666
|
this._expander = document.createElement('a');
|
|
5636
|
-
this.element.appendChild(this._content);
|
|
5637
5667
|
this.element.appendChild(this._expander);
|
|
5638
|
-
this.
|
|
5668
|
+
this.element.appendChild(this._content);
|
|
5669
|
+
this.addDisposables(addDisposableListener(this._element, 'click', () => {
|
|
5639
5670
|
var _a;
|
|
5640
5671
|
(_a = this.apiRef.api) === null || _a === void 0 ? void 0 : _a.setExpanded(!this.apiRef.api.isExpanded);
|
|
5641
5672
|
}));
|
|
@@ -5646,9 +5677,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5646
5677
|
init(params) {
|
|
5647
5678
|
this.apiRef.api = params.api;
|
|
5648
5679
|
this._content.textContent = params.title;
|
|
5649
|
-
this._expander.textContent =
|
|
5680
|
+
this._expander.textContent = '▼';
|
|
5681
|
+
toggleClass(this._expander, 'collapsed', !params.api.isExpanded);
|
|
5650
5682
|
this.disposable.value = params.api.onDidExpansionChange((e) => {
|
|
5651
|
-
this._expander
|
|
5683
|
+
toggleClass(this._expander, 'collapsed', !e.isExpanded);
|
|
5652
5684
|
});
|
|
5653
5685
|
}
|
|
5654
5686
|
update(_params) {
|
|
@@ -5824,13 +5856,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5824
5856
|
};
|
|
5825
5857
|
}
|
|
5826
5858
|
fromJSON(serializedPaneview) {
|
|
5859
|
+
this.clear();
|
|
5827
5860
|
const { views, size } = serializedPaneview;
|
|
5828
5861
|
const queue = [];
|
|
5829
|
-
for (const [_, value] of this._viewDisposables.entries()) {
|
|
5830
|
-
value.dispose();
|
|
5831
|
-
}
|
|
5832
|
-
this._viewDisposables.clear();
|
|
5833
|
-
this.paneview.dispose();
|
|
5834
5862
|
this.paneview = new Paneview(this.element, {
|
|
5835
5863
|
orientation: exports.Orientation.VERTICAL,
|
|
5836
5864
|
descriptor: {
|
|
@@ -5889,6 +5917,13 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5889
5917
|
queue.forEach((f) => f());
|
|
5890
5918
|
this._onDidLayoutfromJSON.fire();
|
|
5891
5919
|
}
|
|
5920
|
+
clear() {
|
|
5921
|
+
for (const [_, value] of this._viewDisposables.entries()) {
|
|
5922
|
+
value.dispose();
|
|
5923
|
+
}
|
|
5924
|
+
this._viewDisposables.clear();
|
|
5925
|
+
this.paneview.dispose();
|
|
5926
|
+
}
|
|
5892
5927
|
doAddPanel(panel) {
|
|
5893
5928
|
const disposable = panel.onDidDrop((event) => {
|
|
5894
5929
|
this._onDidDrop.fire(event);
|