dockview 1.4.3 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/cjs/dockview/components/tab/defaultTab.d.ts +1 -0
- package/dist/cjs/dockview/components/tab/defaultTab.js +6 -3
- package/dist/cjs/dockview/components/tab/defaultTab.js.map +1 -1
- package/dist/cjs/dockview/components/watermark/watermark.js +3 -1
- package/dist/cjs/dockview/components/watermark/watermark.js.map +1 -1
- package/dist/cjs/dockview/defaultGroupPanelView.d.ts +1 -5
- package/dist/cjs/dockview/defaultGroupPanelView.js +5 -20
- package/dist/cjs/dockview/defaultGroupPanelView.js.map +1 -1
- package/dist/cjs/dockview/dockviewComponent.d.ts +1 -1
- package/dist/cjs/dockview/dockviewComponent.js +7 -18
- package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
- package/dist/cjs/dockview/options.d.ts +5 -0
- package/dist/cjs/groupview/groupview.d.ts +16 -15
- package/dist/cjs/groupview/groupview.js +24 -33
- package/dist/cjs/groupview/groupview.js.map +1 -1
- package/dist/cjs/groupview/tab.d.ts +1 -0
- package/dist/cjs/groupview/tab.js +2 -1
- package/dist/cjs/groupview/tab.js.map +1 -1
- package/dist/cjs/groupview/titlebar/tabsContainer.js +1 -1
- package/dist/cjs/groupview/titlebar/tabsContainer.js.map +1 -1
- package/dist/cjs/groupview/types.d.ts +0 -4
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +3 -0
- package/dist/cjs/paneview/defaultPaneviewHeader.js +29 -5
- package/dist/cjs/paneview/defaultPaneviewHeader.js.map +1 -1
- package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +3 -1
- package/dist/cjs/paneview/draggablePaneviewPanel.js +24 -9
- package/dist/cjs/paneview/draggablePaneviewPanel.js.map +1 -1
- package/dist/cjs/paneview/options.d.ts +2 -0
- package/dist/cjs/paneview/paneviewComponent.d.ts +12 -1
- package/dist/cjs/paneview/paneviewComponent.js +13 -1
- package/dist/cjs/paneview/paneviewComponent.js.map +1 -1
- package/dist/cjs/react/deserializer.js +13 -5
- package/dist/cjs/react/deserializer.js.map +1 -1
- package/dist/cjs/react/dockview/defaultTab.d.ts +4 -0
- package/dist/cjs/react/dockview/defaultTab.js +73 -0
- package/dist/cjs/react/dockview/defaultTab.js.map +1 -0
- package/dist/cjs/react/dockview/dockview.d.ts +3 -0
- package/dist/cjs/react/dockview/dockview.js +45 -3
- package/dist/cjs/react/dockview/dockview.js.map +1 -1
- package/dist/cjs/react/dockview/groupControlsRenderer.d.ts +43 -0
- package/dist/cjs/react/dockview/groupControlsRenderer.js +87 -0
- package/dist/cjs/react/dockview/groupControlsRenderer.js.map +1 -0
- package/dist/cjs/react/dockview/reactContentPart.d.ts +1 -16
- package/dist/cjs/react/dockview/reactContentPart.js +2 -18
- package/dist/cjs/react/dockview/reactContentPart.js.map +1 -1
- package/dist/cjs/react/dockview/reactHeaderPart.d.ts +2 -0
- package/dist/cjs/react/dockview/reactHeaderPart.js +4 -0
- package/dist/cjs/react/dockview/reactHeaderPart.js.map +1 -1
- package/dist/cjs/react/index.d.ts +2 -2
- package/dist/cjs/react/index.js +1 -2
- package/dist/cjs/react/index.js.map +1 -1
- package/dist/cjs/react/paneview/paneview.d.ts +2 -0
- package/dist/cjs/react/paneview/paneview.js +9 -0
- package/dist/cjs/react/paneview/paneview.js.map +1 -1
- package/dist/cjs/react/react.d.ts +1 -0
- package/dist/cjs/react/react.js +12 -2
- package/dist/cjs/react/react.js.map +1 -1
- package/dist/cjs/react/svg.d.ts +3 -0
- package/dist/cjs/react/svg.js +36 -0
- package/dist/cjs/react/svg.js.map +1 -0
- package/dist/cjs/svg.d.ts +3 -0
- package/dist/cjs/svg.js +44 -0
- package/dist/cjs/svg.js.map +1 -0
- package/dist/dockview.amd.js +327 -113
- package/dist/dockview.amd.min.js +2 -2
- package/dist/dockview.amd.min.noStyle.js +2 -2
- package/dist/dockview.amd.noStyle.js +326 -112
- package/dist/dockview.cjs.js +327 -113
- package/dist/dockview.esm.js +327 -112
- package/dist/dockview.esm.min.js +2 -2
- package/dist/dockview.js +327 -113
- package/dist/dockview.min.js +2 -2
- package/dist/dockview.min.noStyle.js +2 -2
- package/dist/dockview.noStyle.js +326 -112
- package/dist/esm/dockview/components/tab/defaultTab.d.ts +1 -0
- package/dist/esm/dockview/components/tab/defaultTab.js +5 -2
- package/dist/esm/dockview/components/watermark/watermark.js +3 -1
- package/dist/esm/dockview/defaultGroupPanelView.d.ts +1 -5
- package/dist/esm/dockview/defaultGroupPanelView.js +5 -16
- package/dist/esm/dockview/dockviewComponent.d.ts +1 -1
- package/dist/esm/dockview/dockviewComponent.js +7 -18
- package/dist/esm/dockview/options.d.ts +5 -0
- package/dist/esm/groupview/groupview.d.ts +16 -15
- package/dist/esm/groupview/groupview.js +23 -32
- package/dist/esm/groupview/tab.d.ts +1 -0
- package/dist/esm/groupview/tab.js +2 -1
- package/dist/esm/groupview/titlebar/tabsContainer.js +1 -1
- package/dist/esm/groupview/types.d.ts +0 -4
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/paneview/defaultPaneviewHeader.d.ts +3 -0
- package/dist/esm/paneview/defaultPaneviewHeader.js +29 -5
- package/dist/esm/paneview/draggablePaneviewPanel.d.ts +3 -1
- package/dist/esm/paneview/draggablePaneviewPanel.js +24 -9
- package/dist/esm/paneview/options.d.ts +2 -0
- package/dist/esm/paneview/paneviewComponent.d.ts +12 -1
- package/dist/esm/paneview/paneviewComponent.js +9 -1
- package/dist/esm/react/deserializer.js +13 -5
- package/dist/esm/react/dockview/defaultTab.d.ts +4 -0
- package/dist/esm/react/dockview/defaultTab.js +34 -0
- package/dist/esm/react/dockview/dockview.d.ts +3 -0
- package/dist/esm/react/dockview/dockview.js +30 -1
- package/dist/esm/react/dockview/groupControlsRenderer.d.ts +43 -0
- package/dist/esm/react/dockview/groupControlsRenderer.js +68 -0
- package/dist/esm/react/dockview/reactContentPart.d.ts +1 -16
- package/dist/esm/react/dockview/reactContentPart.js +2 -14
- package/dist/esm/react/dockview/reactHeaderPart.d.ts +2 -0
- package/dist/esm/react/dockview/reactHeaderPart.js +4 -0
- package/dist/esm/react/index.d.ts +2 -2
- package/dist/esm/react/index.js +1 -2
- package/dist/esm/react/paneview/paneview.d.ts +2 -0
- package/dist/esm/react/paneview/paneview.js +9 -0
- package/dist/esm/react/react.d.ts +1 -0
- package/dist/esm/react/react.js +12 -2
- package/dist/esm/react/svg.d.ts +3 -0
- package/dist/esm/react/svg.js +7 -0
- package/dist/esm/svg.d.ts +3 -0
- package/dist/esm/svg.js +31 -0
- package/dist/styles/dockview.css +155 -42
- 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.5.0
|
|
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 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}";
|
|
57
|
+
var css_248z = ".dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-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-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-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-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-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-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.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 .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.actions-bar .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-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: 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.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.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 .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.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.tab .dockview-react-tab {\n display: flex;\n padding: 0px 8px;\n align-items: center;\n height: 100%;\n}\n.tab .dockview-react-tab .dockview-react-tab-title {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dockview-react-tab .dockview-react-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dockview-react-tab .dockview-react-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tab.inactive-tab:not(:hover) .dockview-react-tab-action {\n visibility: hidden;\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: 0px 8px;\n white-space: nowrap;\n text-overflow: elipsis;\n}\n.tab .default-tab .tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .default-tab .action-container {\n text-align: right;\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 .tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .default-tab .action-container .tab-list .tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\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 {
|
|
@@ -2708,6 +2708,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2708
2708
|
constructor(panelId, accessor, group) {
|
|
2709
2709
|
super();
|
|
2710
2710
|
this.panelId = panelId;
|
|
2711
|
+
this.accessor = accessor;
|
|
2711
2712
|
this.group = group;
|
|
2712
2713
|
this._onChanged = new Emitter();
|
|
2713
2714
|
this.onChanged = this._onChanged.event;
|
|
@@ -2758,7 +2759,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2758
2759
|
validOverlays: 'none',
|
|
2759
2760
|
canDisplayOverlay: (event) => {
|
|
2760
2761
|
const data = getPanelData();
|
|
2761
|
-
if (data) {
|
|
2762
|
+
if (data && this.accessor.id === data.viewId) {
|
|
2762
2763
|
return this.panelId !== data.panelId;
|
|
2763
2764
|
}
|
|
2764
2765
|
return this.group.model.canDisplayOverlay(event, exports.DockviewDropTargets.Tab);
|
|
@@ -2816,7 +2817,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2816
2817
|
canDisplayOverlay: (event) => {
|
|
2817
2818
|
var _a;
|
|
2818
2819
|
const data = getPanelData();
|
|
2819
|
-
if (data) {
|
|
2820
|
+
if (data && this.accessor.id === data.viewId) {
|
|
2820
2821
|
// don't show the overlay if the tab being dragged is the last panel of this group
|
|
2821
2822
|
return ((_a = last(this.tabs)) === null || _a === void 0 ? void 0 : _a.value.panelId) !== data.panelId;
|
|
2822
2823
|
}
|
|
@@ -2973,12 +2974,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2973
2974
|
}
|
|
2974
2975
|
}
|
|
2975
2976
|
|
|
2976
|
-
exports.GroupChangeKind2 = void 0;
|
|
2977
|
-
(function (GroupChangeKind2) {
|
|
2978
|
-
GroupChangeKind2["ADD_PANEL"] = "ADD_PANEL";
|
|
2979
|
-
GroupChangeKind2["REMOVE_PANEL"] = "REMOVE_PANEL";
|
|
2980
|
-
GroupChangeKind2["PANEL_ACTIVE"] = "PANEL_ACTIVE";
|
|
2981
|
-
})(exports.GroupChangeKind2 || (exports.GroupChangeKind2 = {}));
|
|
2982
2977
|
class Groupview extends CompositeDisposable {
|
|
2983
2978
|
constructor(container, accessor, id, options, parent) {
|
|
2984
2979
|
super();
|
|
@@ -2997,12 +2992,15 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
2997
2992
|
this._panels = [];
|
|
2998
2993
|
this._onMove = new Emitter();
|
|
2999
2994
|
this.onMove = this._onMove.event;
|
|
3000
|
-
this._onDidGroupChange = new Emitter();
|
|
3001
|
-
this.onDidGroupChange = this._onDidGroupChange.event;
|
|
3002
2995
|
this._onDidDrop = new Emitter();
|
|
3003
2996
|
this.onDidDrop = this._onDidDrop.event;
|
|
2997
|
+
this._onDidAddPanel = new Emitter();
|
|
2998
|
+
this.onDidAddPanel = this._onDidAddPanel.event;
|
|
2999
|
+
this._onDidRemovePanel = new Emitter();
|
|
3000
|
+
this.onDidRemovePanel = this._onDidRemovePanel.event;
|
|
3001
|
+
this._onDidActivePanelChange = new Emitter();
|
|
3002
|
+
this.onDidActivePanelChange = this._onDidActivePanelChange.event;
|
|
3004
3003
|
this.container.classList.add('groupview');
|
|
3005
|
-
this.addDisposables(this._onMove, this._onDidGroupChange, this._onDidChange, this._onDidDrop);
|
|
3006
3004
|
this.tabsContainer = new TabsContainer(this.accessor, this.parent, {
|
|
3007
3005
|
tabHeight: options.tabHeight,
|
|
3008
3006
|
});
|
|
@@ -3014,7 +3012,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3014
3012
|
return false;
|
|
3015
3013
|
}
|
|
3016
3014
|
const data = getPanelData();
|
|
3017
|
-
if (data) {
|
|
3015
|
+
if (data && data.viewId === this.accessor.id) {
|
|
3018
3016
|
const groupHasOnePanelAndIsActiveDragElement = this._panels.length === 1 && data.groupId === this.id;
|
|
3019
3017
|
return !groupHasOnePanelAndIsActiveDragElement;
|
|
3020
3018
|
}
|
|
@@ -3024,7 +3022,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3024
3022
|
container.append(this.tabsContainer.element, this.contentContainer.element);
|
|
3025
3023
|
this.header.hidden = !!options.hideHeader;
|
|
3026
3024
|
this.locked = !!options.locked;
|
|
3027
|
-
this.addDisposables(this._onMove, this.
|
|
3025
|
+
this.addDisposables(this._onMove, this._onDidChange, this._onDidDrop, this._onDidAddPanel, this._onDidRemovePanel, this._onDidActivePanelChange, this.tabsContainer.onDrop((event) => {
|
|
3028
3026
|
this.handleDropEvent(event.event, exports.Position.Center, event.index);
|
|
3029
3027
|
}), this.contentContainer.onDidFocus(() => {
|
|
3030
3028
|
this.accessor.doSetGroupActive(this.parent, true);
|
|
@@ -3096,6 +3094,15 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3096
3094
|
// correctly initialized
|
|
3097
3095
|
this.setActive(this.isActive, true, true);
|
|
3098
3096
|
this.updateContainer();
|
|
3097
|
+
if (this.accessor.options.createGroupControlElement) {
|
|
3098
|
+
this._control = this.accessor.options.createGroupControlElement(this.parent);
|
|
3099
|
+
this.addDisposables(this._control);
|
|
3100
|
+
this._control.init({
|
|
3101
|
+
containerApi: new DockviewApi(this.accessor),
|
|
3102
|
+
api: this.parent.api,
|
|
3103
|
+
});
|
|
3104
|
+
this.tabsContainer.setActionElement(this._control.element);
|
|
3105
|
+
}
|
|
3099
3106
|
}
|
|
3100
3107
|
indexOf(panel) {
|
|
3101
3108
|
return this.tabsContainer.indexOf(panel.id);
|
|
@@ -3226,14 +3233,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3226
3233
|
isPanelActive(panel) {
|
|
3227
3234
|
return this._activePanel === panel;
|
|
3228
3235
|
}
|
|
3229
|
-
updateActions() {
|
|
3230
|
-
|
|
3231
|
-
if (this.isActive && ((_b = (_a = this._activePanel) === null || _a === void 0 ? void 0 : _a.view) === null || _b === void 0 ? void 0 : _b.actions)) {
|
|
3232
|
-
this.tabsContainer.setActionElement(this._activePanel.view.actions.element);
|
|
3233
|
-
}
|
|
3234
|
-
else {
|
|
3235
|
-
this.tabsContainer.setActionElement(undefined);
|
|
3236
|
-
}
|
|
3236
|
+
updateActions(element) {
|
|
3237
|
+
this.tabsContainer.setActionElement(element);
|
|
3237
3238
|
}
|
|
3238
3239
|
setActive(isGroupActive, skipFocus = false, force = false) {
|
|
3239
3240
|
var _a, _b;
|
|
@@ -3289,10 +3290,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3289
3290
|
if (this.mostRecentlyUsed.includes(panel)) {
|
|
3290
3291
|
this.mostRecentlyUsed.splice(this.mostRecentlyUsed.indexOf(panel), 1);
|
|
3291
3292
|
}
|
|
3292
|
-
this.
|
|
3293
|
-
kind: exports.GroupChangeKind2.REMOVE_PANEL,
|
|
3294
|
-
panel,
|
|
3295
|
-
});
|
|
3293
|
+
this._onDidRemovePanel.fire({ panel });
|
|
3296
3294
|
}
|
|
3297
3295
|
doAddPanel(panel, index = this.panels.length, skipSetActive = false) {
|
|
3298
3296
|
const existingPanel = this._panels.indexOf(panel);
|
|
@@ -3309,10 +3307,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3309
3307
|
}
|
|
3310
3308
|
this.updateMru(panel);
|
|
3311
3309
|
this.panels.splice(index, 0, panel);
|
|
3312
|
-
this.
|
|
3313
|
-
kind: exports.GroupChangeKind2.ADD_PANEL,
|
|
3314
|
-
panel,
|
|
3315
|
-
});
|
|
3310
|
+
this._onDidAddPanel.fire({ panel });
|
|
3316
3311
|
}
|
|
3317
3312
|
doSetActivePanel(panel) {
|
|
3318
3313
|
this._activePanel = panel;
|
|
@@ -3320,10 +3315,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3320
3315
|
this.tabsContainer.setActivePanel(panel);
|
|
3321
3316
|
panel.layout(this._width, this._height);
|
|
3322
3317
|
this.updateMru(panel);
|
|
3323
|
-
this.
|
|
3324
|
-
kind: exports.GroupChangeKind2.PANEL_ACTIVE,
|
|
3325
|
-
panel,
|
|
3326
|
-
});
|
|
3318
|
+
this._onDidActivePanelChange.fire({ panel });
|
|
3327
3319
|
}
|
|
3328
3320
|
}
|
|
3329
3321
|
updateMru(panel) {
|
|
@@ -3333,7 +3325,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3333
3325
|
this.mostRecentlyUsed = [panel, ...this.mostRecentlyUsed];
|
|
3334
3326
|
}
|
|
3335
3327
|
updateContainer() {
|
|
3336
|
-
this.updateActions();
|
|
3337
3328
|
toggleClass(this.container, 'empty', this.isEmpty);
|
|
3338
3329
|
this.panels.forEach((panel) => panel.updateParentGroup(this.parent, this.isActive));
|
|
3339
3330
|
if (this.isEmpty && !this.watermark) {
|
|
@@ -3370,6 +3361,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3370
3361
|
nativeEvent: event,
|
|
3371
3362
|
target,
|
|
3372
3363
|
group: this.accessor.getPanel(this.id),
|
|
3364
|
+
getData: getPanelData,
|
|
3373
3365
|
});
|
|
3374
3366
|
}
|
|
3375
3367
|
return false;
|
|
@@ -3418,7 +3410,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3418
3410
|
}
|
|
3419
3411
|
}
|
|
3420
3412
|
|
|
3421
|
-
const nextLayoutId = sequentialNumberGenerator();
|
|
3413
|
+
const nextLayoutId$1 = sequentialNumberGenerator();
|
|
3422
3414
|
function toTarget(direction) {
|
|
3423
3415
|
switch (direction) {
|
|
3424
3416
|
case 'left':
|
|
@@ -3438,7 +3430,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3438
3430
|
constructor(_element, options) {
|
|
3439
3431
|
super();
|
|
3440
3432
|
this._element = _element;
|
|
3441
|
-
this._id = nextLayoutId.next();
|
|
3433
|
+
this._id = nextLayoutId$1.next();
|
|
3442
3434
|
this._groups = new Map();
|
|
3443
3435
|
this._onDidLayoutChange = new Emitter();
|
|
3444
3436
|
this.onDidLayoutChange = this._onDidLayoutChange.event;
|
|
@@ -3898,6 +3890,38 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3898
3890
|
}
|
|
3899
3891
|
}
|
|
3900
3892
|
|
|
3893
|
+
const createSvgElementFromPath = (params) => {
|
|
3894
|
+
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
|
|
3895
|
+
svg.setAttributeNS(null, 'height', params.height);
|
|
3896
|
+
svg.setAttributeNS(null, 'width', params.width);
|
|
3897
|
+
svg.setAttributeNS(null, 'viewBox', params.viewbox);
|
|
3898
|
+
svg.setAttributeNS(null, 'aria-hidden', 'false');
|
|
3899
|
+
svg.setAttributeNS(null, 'focusable', 'false');
|
|
3900
|
+
svg.classList.add('dockview-svg');
|
|
3901
|
+
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
|
|
3902
|
+
path.setAttributeNS(null, 'd', params.path);
|
|
3903
|
+
svg.appendChild(path);
|
|
3904
|
+
return svg;
|
|
3905
|
+
};
|
|
3906
|
+
const createCloseButton = () => createSvgElementFromPath({
|
|
3907
|
+
width: '11',
|
|
3908
|
+
height: '11',
|
|
3909
|
+
viewbox: '0 0 28 28',
|
|
3910
|
+
path: 'M2.1 27.3L0 25.2L11.55 13.65L0 2.1L2.1 0L13.65 11.55L25.2 0L27.3 2.1L15.75 13.65L27.3 25.2L25.2 27.3L13.65 15.75L2.1 27.3Z',
|
|
3911
|
+
});
|
|
3912
|
+
const createExpandMoreButton = () => createSvgElementFromPath({
|
|
3913
|
+
width: '11',
|
|
3914
|
+
height: '11',
|
|
3915
|
+
viewbox: '0 0 24 15',
|
|
3916
|
+
path: 'M12 14.15L0 2.15L2.15 0L12 9.9L21.85 0.0499992L24 2.2L12 14.15Z',
|
|
3917
|
+
});
|
|
3918
|
+
const createChevronRightButton = () => createSvgElementFromPath({
|
|
3919
|
+
width: '11',
|
|
3920
|
+
height: '11',
|
|
3921
|
+
viewbox: '0 0 15 25',
|
|
3922
|
+
path: 'M2.15 24.1L0 21.95L9.9 12.05L0 2.15L2.15 0L14.2 12.05L2.15 24.1Z',
|
|
3923
|
+
});
|
|
3924
|
+
|
|
3901
3925
|
class Watermark extends CompositeDisposable {
|
|
3902
3926
|
constructor() {
|
|
3903
3927
|
super();
|
|
@@ -3914,8 +3938,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3914
3938
|
const actions = new ActionContainer();
|
|
3915
3939
|
title.appendChild(emptySpace);
|
|
3916
3940
|
title.appendChild(actions.element);
|
|
3917
|
-
const closeAnchor = document.createElement('
|
|
3941
|
+
const closeAnchor = document.createElement('div');
|
|
3918
3942
|
closeAnchor.className = 'close-action';
|
|
3943
|
+
closeAnchor.appendChild(createCloseButton());
|
|
3919
3944
|
actions.add(closeAnchor);
|
|
3920
3945
|
this.addDisposables(addDisposableListener(closeAnchor, 'click', (ev) => {
|
|
3921
3946
|
var _a;
|
|
@@ -3988,6 +4013,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
3988
4013
|
return new Component(id, componentName);
|
|
3989
4014
|
}
|
|
3990
4015
|
|
|
4016
|
+
const DEFAULT_TAB_IDENTIFIER = '__default__tab__';
|
|
3991
4017
|
class DefaultTab extends CompositeDisposable {
|
|
3992
4018
|
constructor() {
|
|
3993
4019
|
super();
|
|
@@ -4007,8 +4033,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4007
4033
|
this._list = document.createElement('ul');
|
|
4008
4034
|
this._list.className = 'tab-list';
|
|
4009
4035
|
//
|
|
4010
|
-
this.action = document.createElement('
|
|
4036
|
+
this.action = document.createElement('div');
|
|
4011
4037
|
this.action.className = 'tab-action';
|
|
4038
|
+
this.action.appendChild(createCloseButton());
|
|
4012
4039
|
//
|
|
4013
4040
|
this._element.appendChild(this._content);
|
|
4014
4041
|
this._element.appendChild(this._actionContainer);
|
|
@@ -4024,7 +4051,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4024
4051
|
return this._element;
|
|
4025
4052
|
}
|
|
4026
4053
|
get id() {
|
|
4027
|
-
return
|
|
4054
|
+
return DEFAULT_TAB_IDENTIFIER;
|
|
4028
4055
|
}
|
|
4029
4056
|
update(event) {
|
|
4030
4057
|
this.params = Object.assign(Object.assign({}, this.params), event.params);
|
|
@@ -4341,16 +4368,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4341
4368
|
var _a;
|
|
4342
4369
|
this._content = renderers.content;
|
|
4343
4370
|
this._tab = (_a = renderers.tab) !== null && _a !== void 0 ? _a : new DefaultTab();
|
|
4344
|
-
this._actions =
|
|
4345
|
-
renderers.actions ||
|
|
4346
|
-
(this.content.actions
|
|
4347
|
-
? {
|
|
4348
|
-
element: this.content.actions,
|
|
4349
|
-
dispose: () => {
|
|
4350
|
-
//
|
|
4351
|
-
},
|
|
4352
|
-
}
|
|
4353
|
-
: undefined);
|
|
4354
4371
|
}
|
|
4355
4372
|
get content() {
|
|
4356
4373
|
return this._content;
|
|
@@ -4358,9 +4375,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4358
4375
|
get tab() {
|
|
4359
4376
|
return this._tab;
|
|
4360
4377
|
}
|
|
4361
|
-
get actions() {
|
|
4362
|
-
return this._actions;
|
|
4363
|
-
}
|
|
4364
4378
|
init(params) {
|
|
4365
4379
|
this.content.init(Object.assign(Object.assign({}, params), { tab: this.tab }));
|
|
4366
4380
|
this.tab.init(params);
|
|
@@ -4378,16 +4392,18 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4378
4392
|
this.tab.update(event);
|
|
4379
4393
|
}
|
|
4380
4394
|
toJSON() {
|
|
4395
|
+
let tab = this.tab instanceof DefaultTab ? undefined : this.tab.toJSON();
|
|
4396
|
+
if (tab && Object.keys(tab).length === 0) {
|
|
4397
|
+
tab = undefined;
|
|
4398
|
+
}
|
|
4381
4399
|
return {
|
|
4382
4400
|
content: this.content.toJSON(),
|
|
4383
|
-
tab
|
|
4401
|
+
tab,
|
|
4384
4402
|
};
|
|
4385
4403
|
}
|
|
4386
4404
|
dispose() {
|
|
4387
|
-
var _a;
|
|
4388
4405
|
this.content.dispose();
|
|
4389
4406
|
this.tab.dispose();
|
|
4390
|
-
(_a = this.actions) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
4391
4407
|
}
|
|
4392
4408
|
}
|
|
4393
4409
|
|
|
@@ -4802,22 +4818,12 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4802
4818
|
this.moveGroupOrPanel(view, groupId, itemId, target, index);
|
|
4803
4819
|
}), view.model.onDidDrop((event) => {
|
|
4804
4820
|
this._onDidDrop.fire(Object.assign(Object.assign({}, event), { api: this._api, group: view }));
|
|
4805
|
-
}), view.model.
|
|
4806
|
-
|
|
4807
|
-
|
|
4808
|
-
|
|
4809
|
-
|
|
4810
|
-
|
|
4811
|
-
break;
|
|
4812
|
-
case exports.GroupChangeKind2.REMOVE_PANEL:
|
|
4813
|
-
if (event.panel) {
|
|
4814
|
-
this._onDidRemovePanel.fire(event.panel);
|
|
4815
|
-
}
|
|
4816
|
-
break;
|
|
4817
|
-
case exports.GroupChangeKind2.PANEL_ACTIVE:
|
|
4818
|
-
this._onDidActivePanelChange.fire(event.panel);
|
|
4819
|
-
break;
|
|
4820
|
-
}
|
|
4821
|
+
}), view.model.onDidAddPanel((event) => {
|
|
4822
|
+
this._onDidAddPanel.fire(event.panel);
|
|
4823
|
+
}), view.model.onDidRemovePanel((event) => {
|
|
4824
|
+
this._onDidRemovePanel.fire(event.panel);
|
|
4825
|
+
}), view.model.onDidActivePanelChange((event) => {
|
|
4826
|
+
this._onDidActivePanelChange.fire(event.panel);
|
|
4821
4827
|
}));
|
|
4822
4828
|
this._groups.set(view.id, { value: view, disposable });
|
|
4823
4829
|
}
|
|
@@ -4832,7 +4838,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
4832
4838
|
createPanel(options, group) {
|
|
4833
4839
|
const view = new DefaultGroupPanelView({
|
|
4834
4840
|
content: this.createContentComponent(options.id, options.component),
|
|
4835
|
-
tab: this.createTabComponent(options.id, options.tabComponent),
|
|
4841
|
+
tab: this.createTabComponent(options.id, options.tabComponent || this.options.defaultTabComponent),
|
|
4836
4842
|
});
|
|
4837
4843
|
const panel = new DockviewGroupPanel(options.id, this, this._api, group);
|
|
4838
4844
|
panel.init({
|
|
@@ -5585,8 +5591,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5585
5591
|
}
|
|
5586
5592
|
|
|
5587
5593
|
class DraggablePaneviewPanel extends PaneviewPanel {
|
|
5588
|
-
constructor(id, component, headerComponent, orientation, isExpanded, disableDnd) {
|
|
5594
|
+
constructor(accessor, id, component, headerComponent, orientation, isExpanded, disableDnd) {
|
|
5589
5595
|
super(id, component, headerComponent, orientation, isExpanded, true);
|
|
5596
|
+
this.accessor = accessor;
|
|
5590
5597
|
this._onDidDrop = new Emitter();
|
|
5591
5598
|
this.onDidDrop = this._onDidDrop.event;
|
|
5592
5599
|
if (!disableDnd) {
|
|
@@ -5598,10 +5605,11 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5598
5605
|
return;
|
|
5599
5606
|
}
|
|
5600
5607
|
const id = this.id;
|
|
5608
|
+
const accessorId = this.accessor.id;
|
|
5601
5609
|
this.header.draggable = true;
|
|
5602
5610
|
this.handler = new (class PaneDragHandler extends DragHandler {
|
|
5603
5611
|
getData() {
|
|
5604
|
-
LocalSelectionTransfer.getInstance().setData([new PaneTransfer(
|
|
5612
|
+
LocalSelectionTransfer.getInstance().setData([new PaneTransfer(accessorId, id)], PaneTransfer.prototype);
|
|
5605
5613
|
return {
|
|
5606
5614
|
dispose: () => {
|
|
5607
5615
|
LocalSelectionTransfer.getInstance().clearData(PaneTransfer.prototype);
|
|
@@ -5611,12 +5619,22 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5611
5619
|
})(this.header);
|
|
5612
5620
|
this.target = new Droptarget(this.element, {
|
|
5613
5621
|
validOverlays: 'vertical',
|
|
5614
|
-
canDisplayOverlay: () => {
|
|
5622
|
+
canDisplayOverlay: (event) => {
|
|
5615
5623
|
const data = getPaneData();
|
|
5616
|
-
if (
|
|
5617
|
-
|
|
5624
|
+
if (data) {
|
|
5625
|
+
if (data.paneId !== this.id &&
|
|
5626
|
+
data.viewId === this.accessor.id) {
|
|
5627
|
+
return true;
|
|
5628
|
+
}
|
|
5629
|
+
}
|
|
5630
|
+
if (this.accessor.options.showDndOverlay) {
|
|
5631
|
+
return this.accessor.options.showDndOverlay({
|
|
5632
|
+
nativeEvent: event,
|
|
5633
|
+
getData: getPaneData,
|
|
5634
|
+
panel: this,
|
|
5635
|
+
});
|
|
5618
5636
|
}
|
|
5619
|
-
return
|
|
5637
|
+
return false;
|
|
5620
5638
|
},
|
|
5621
5639
|
});
|
|
5622
5640
|
this.addDisposables(this._onDidDrop, this.handler, this.target, this.target.onDrop((event) => {
|
|
@@ -5625,8 +5643,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5625
5643
|
}
|
|
5626
5644
|
onDrop(event) {
|
|
5627
5645
|
const data = getPaneData();
|
|
5628
|
-
if (!data) {
|
|
5629
|
-
|
|
5646
|
+
if (!data || data.viewId !== this.accessor.id) {
|
|
5647
|
+
// if there is no local drag event for this panel
|
|
5648
|
+
// or if the drag event was creating by another Paneview instance
|
|
5649
|
+
this._onDidDrop.fire(Object.assign(Object.assign({}, event), { panel: this, getData: getPaneData }));
|
|
5630
5650
|
return;
|
|
5631
5651
|
}
|
|
5632
5652
|
const containerApi = this._params
|
|
@@ -5634,7 +5654,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5634
5654
|
const panelId = data.paneId;
|
|
5635
5655
|
const existingPanel = containerApi.getPanel(panelId);
|
|
5636
5656
|
if (!existingPanel) {
|
|
5637
|
-
|
|
5657
|
+
// if the panel doesn't exist
|
|
5658
|
+
this._onDidDrop.fire(Object.assign(Object.assign({}, event), { panel: this, getData: getPaneData }));
|
|
5638
5659
|
return;
|
|
5639
5660
|
}
|
|
5640
5661
|
const allPanels = containerApi.panels;
|
|
@@ -5658,12 +5679,15 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5658
5679
|
class DefaultHeader extends CompositeDisposable {
|
|
5659
5680
|
constructor() {
|
|
5660
5681
|
super();
|
|
5682
|
+
this._expandedIcon = createExpandMoreButton();
|
|
5683
|
+
this._collapsedIcon = createChevronRightButton();
|
|
5661
5684
|
this.disposable = new MutableDisposable();
|
|
5662
5685
|
this.apiRef = { api: null };
|
|
5663
5686
|
this._element = document.createElement('div');
|
|
5664
5687
|
this.element.className = 'default-header';
|
|
5665
5688
|
this._content = document.createElement('span');
|
|
5666
|
-
this._expander = document.createElement('
|
|
5689
|
+
this._expander = document.createElement('div');
|
|
5690
|
+
this._expander.className = 'dockview-pane-header-icon';
|
|
5667
5691
|
this.element.appendChild(this._expander);
|
|
5668
5692
|
this.element.appendChild(this._content);
|
|
5669
5693
|
this.addDisposables(addDisposableListener(this._element, 'click', () => {
|
|
@@ -5677,12 +5701,32 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5677
5701
|
init(params) {
|
|
5678
5702
|
this.apiRef.api = params.api;
|
|
5679
5703
|
this._content.textContent = params.title;
|
|
5680
|
-
this.
|
|
5681
|
-
|
|
5682
|
-
|
|
5683
|
-
toggleClass(this._expander, 'collapsed', !e.isExpanded);
|
|
5704
|
+
this.updateIcon();
|
|
5705
|
+
this.disposable.value = params.api.onDidExpansionChange(() => {
|
|
5706
|
+
this.updateIcon();
|
|
5684
5707
|
});
|
|
5685
5708
|
}
|
|
5709
|
+
updateIcon() {
|
|
5710
|
+
var _a;
|
|
5711
|
+
const isExpanded = !!((_a = this.apiRef.api) === null || _a === void 0 ? void 0 : _a.isExpanded);
|
|
5712
|
+
toggleClass(this._expander, 'collapsed', !isExpanded);
|
|
5713
|
+
if (isExpanded) {
|
|
5714
|
+
if (this._expander.contains(this._collapsedIcon)) {
|
|
5715
|
+
this._collapsedIcon.remove();
|
|
5716
|
+
}
|
|
5717
|
+
if (!this._expander.contains(this._expandedIcon)) {
|
|
5718
|
+
this._expander.appendChild(this._expandedIcon);
|
|
5719
|
+
}
|
|
5720
|
+
}
|
|
5721
|
+
else {
|
|
5722
|
+
if (this._expander.contains(this._expandedIcon)) {
|
|
5723
|
+
this._expandedIcon.remove();
|
|
5724
|
+
}
|
|
5725
|
+
if (!this._expander.contains(this._collapsedIcon)) {
|
|
5726
|
+
this._expander.appendChild(this._collapsedIcon);
|
|
5727
|
+
}
|
|
5728
|
+
}
|
|
5729
|
+
}
|
|
5686
5730
|
update(_params) {
|
|
5687
5731
|
//
|
|
5688
5732
|
}
|
|
@@ -5692,9 +5736,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5692
5736
|
}
|
|
5693
5737
|
}
|
|
5694
5738
|
|
|
5739
|
+
const nextLayoutId = sequentialNumberGenerator();
|
|
5695
5740
|
class PaneFramework extends DraggablePaneviewPanel {
|
|
5696
5741
|
constructor(options) {
|
|
5697
|
-
super(options.id, options.component, options.headerComponent, options.orientation, options.isExpanded, options.disableDnd);
|
|
5742
|
+
super(options.accessor, options.id, options.component, options.headerComponent, options.orientation, options.isExpanded, options.disableDnd);
|
|
5698
5743
|
this.options = options;
|
|
5699
5744
|
}
|
|
5700
5745
|
getBodyComponent() {
|
|
@@ -5708,6 +5753,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5708
5753
|
constructor(element, options) {
|
|
5709
5754
|
super();
|
|
5710
5755
|
this.element = element;
|
|
5756
|
+
this._id = nextLayoutId.next();
|
|
5711
5757
|
this._disposable = new MutableDisposable();
|
|
5712
5758
|
this._viewDisposables = new Map();
|
|
5713
5759
|
this._onDidLayoutfromJSON = new Emitter();
|
|
@@ -5734,6 +5780,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5734
5780
|
});
|
|
5735
5781
|
this.addDisposables(this._disposable);
|
|
5736
5782
|
}
|
|
5783
|
+
get id() {
|
|
5784
|
+
return this._id;
|
|
5785
|
+
}
|
|
5737
5786
|
get panels() {
|
|
5738
5787
|
return this.paneview.getPanes();
|
|
5739
5788
|
}
|
|
@@ -5798,6 +5847,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5798
5847
|
orientation: exports.Orientation.VERTICAL,
|
|
5799
5848
|
isExpanded: !!options.isExpanded,
|
|
5800
5849
|
disableDnd: !!this.options.disableDnd,
|
|
5850
|
+
accessor: this,
|
|
5801
5851
|
});
|
|
5802
5852
|
this.doAddPanel(view);
|
|
5803
5853
|
const size = typeof options.size === 'number' ? options.size : exports.Sizing.Distribute;
|
|
@@ -5892,6 +5942,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
5892
5942
|
orientation: exports.Orientation.VERTICAL,
|
|
5893
5943
|
isExpanded: !!view.expanded,
|
|
5894
5944
|
disableDnd: !!this.options.disableDnd,
|
|
5945
|
+
accessor: this,
|
|
5895
5946
|
});
|
|
5896
5947
|
this.doAddPanel(panel);
|
|
5897
5948
|
queue.push(() => {
|
|
@@ -6091,15 +6142,21 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6091
6142
|
this.component = component;
|
|
6092
6143
|
this.parameters = parameters;
|
|
6093
6144
|
this.context = context;
|
|
6145
|
+
this._initialProps = {};
|
|
6094
6146
|
this.disposed = false;
|
|
6095
6147
|
this.createPortal();
|
|
6096
6148
|
}
|
|
6097
6149
|
update(props) {
|
|
6098
|
-
var _a;
|
|
6099
6150
|
if (this.disposed) {
|
|
6100
6151
|
throw new Error('invalid operation: resource is already disposed');
|
|
6101
6152
|
}
|
|
6102
|
-
(
|
|
6153
|
+
if (!this.componentInstance) {
|
|
6154
|
+
// if the component is yet to be mounted store the props
|
|
6155
|
+
this._initialProps = Object.assign(Object.assign({}, this._initialProps), props);
|
|
6156
|
+
}
|
|
6157
|
+
else {
|
|
6158
|
+
this.componentInstance.update(props);
|
|
6159
|
+
}
|
|
6103
6160
|
}
|
|
6104
6161
|
createPortal() {
|
|
6105
6162
|
if (this.disposed) {
|
|
@@ -6119,6 +6176,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6119
6176
|
componentProps: this.parameters,
|
|
6120
6177
|
ref: (element) => {
|
|
6121
6178
|
this.componentInstance = element;
|
|
6179
|
+
if (Object.keys(this._initialProps).length > 0) {
|
|
6180
|
+
this.componentInstance.update(this._initialProps);
|
|
6181
|
+
this._initialProps = {}; // don't keep a reference to the users object once no longer required
|
|
6182
|
+
}
|
|
6122
6183
|
},
|
|
6123
6184
|
});
|
|
6124
6185
|
const node = this.context
|
|
@@ -6175,30 +6236,19 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6175
6236
|
this.onDidBlur = this._onDidBlur.event;
|
|
6176
6237
|
this._element = document.createElement('div');
|
|
6177
6238
|
this._element.className = 'dockview-react-part';
|
|
6178
|
-
this._actionsElement = document.createElement('div');
|
|
6179
|
-
this._actionsElement.className = 'dockview-react-part';
|
|
6180
6239
|
}
|
|
6181
6240
|
get element() {
|
|
6182
6241
|
return this._element;
|
|
6183
6242
|
}
|
|
6184
|
-
get actions() {
|
|
6185
|
-
return this._actionsElement;
|
|
6186
|
-
}
|
|
6187
6243
|
focus() {
|
|
6188
6244
|
// TODO
|
|
6189
6245
|
}
|
|
6190
6246
|
init(parameters) {
|
|
6191
|
-
const context = {
|
|
6192
|
-
api: parameters.api,
|
|
6193
|
-
containerApi: parameters.containerApi,
|
|
6194
|
-
actionsPortalElement: this._actionsElement,
|
|
6195
|
-
tabPortalElement: parameters.tab,
|
|
6196
|
-
};
|
|
6197
6247
|
this.part = new ReactPart(this.element, this.reactPortalStore, this.component, {
|
|
6198
6248
|
params: parameters.params,
|
|
6199
6249
|
api: parameters.api,
|
|
6200
6250
|
containerApi: parameters.containerApi,
|
|
6201
|
-
}
|
|
6251
|
+
});
|
|
6202
6252
|
}
|
|
6203
6253
|
toJSON() {
|
|
6204
6254
|
return {
|
|
@@ -6216,11 +6266,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6216
6266
|
// noop
|
|
6217
6267
|
}
|
|
6218
6268
|
dispose() {
|
|
6219
|
-
var _a
|
|
6269
|
+
var _a;
|
|
6220
6270
|
this._onDidFocus.dispose();
|
|
6221
6271
|
this._onDidBlur.dispose();
|
|
6222
6272
|
(_a = this.part) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
6223
|
-
(_b = this.actionsPart) === null || _b === void 0 ? void 0 : _b.dispose();
|
|
6224
6273
|
}
|
|
6225
6274
|
}
|
|
6226
6275
|
|
|
@@ -6250,6 +6299,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6250
6299
|
(_a = this.part) === null || _a === void 0 ? void 0 : _a.update(event.params);
|
|
6251
6300
|
}
|
|
6252
6301
|
toJSON() {
|
|
6302
|
+
if (this.id === DEFAULT_TAB_IDENTIFIER) {
|
|
6303
|
+
return {};
|
|
6304
|
+
}
|
|
6253
6305
|
return {
|
|
6254
6306
|
id: this.id,
|
|
6255
6307
|
};
|
|
@@ -6271,17 +6323,25 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6271
6323
|
this.layout = layout;
|
|
6272
6324
|
}
|
|
6273
6325
|
fromJSON(panelData, group) {
|
|
6274
|
-
var _a, _b, _c;
|
|
6326
|
+
var _a, _b, _c, _d;
|
|
6275
6327
|
const panelId = panelData.id;
|
|
6276
6328
|
const params = panelData.params;
|
|
6277
6329
|
const title = panelData.title;
|
|
6278
6330
|
const suppressClosable = panelData.suppressClosable;
|
|
6279
6331
|
const viewData = panelData.view;
|
|
6332
|
+
let tab;
|
|
6333
|
+
if ((_a = viewData.tab) === null || _a === void 0 ? void 0 : _a.id) {
|
|
6334
|
+
tab = createComponent(viewData.tab.id, viewData.tab.id, this.layout.options.tabComponents, this.layout.options.frameworkTabComponents, (_b = this.layout.options.frameworkComponentFactory) === null || _b === void 0 ? void 0 : _b.tab, () => new DefaultTab());
|
|
6335
|
+
}
|
|
6336
|
+
else if (this.layout.options.defaultTabComponent) {
|
|
6337
|
+
tab = createComponent(this.layout.options.defaultTabComponent, this.layout.options.defaultTabComponent, this.layout.options.tabComponents, this.layout.options.frameworkTabComponents, (_c = this.layout.options.frameworkComponentFactory) === null || _c === void 0 ? void 0 : _c.tab, () => new DefaultTab());
|
|
6338
|
+
}
|
|
6339
|
+
else {
|
|
6340
|
+
tab = new DefaultTab();
|
|
6341
|
+
}
|
|
6280
6342
|
const view = new DefaultGroupPanelView({
|
|
6281
|
-
content: createComponent(viewData.content.id, viewData.content.id, this.layout.options.components, this.layout.options.frameworkComponents, (
|
|
6282
|
-
tab
|
|
6283
|
-
? createComponent(viewData.tab.id, viewData.tab.id, this.layout.options.tabComponents, this.layout.options.frameworkTabComponents, (_c = this.layout.options.frameworkComponentFactory) === null || _c === void 0 ? void 0 : _c.tab)
|
|
6284
|
-
: new DefaultTab(),
|
|
6343
|
+
content: createComponent(viewData.content.id, viewData.content.id, this.layout.options.components, this.layout.options.frameworkComponents, (_d = this.layout.options.frameworkComponentFactory) === null || _d === void 0 ? void 0 : _d.content),
|
|
6344
|
+
tab,
|
|
6285
6345
|
});
|
|
6286
6346
|
const panel = new DockviewGroupPanel(panelId, this.layout, new DockviewApi(this.layout), group);
|
|
6287
6347
|
panel.init({
|
|
@@ -6349,6 +6409,80 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6349
6409
|
}
|
|
6350
6410
|
}
|
|
6351
6411
|
|
|
6412
|
+
class ReactGroupControlsRendererPart {
|
|
6413
|
+
constructor(component, reactPortalStore, _group) {
|
|
6414
|
+
this.component = component;
|
|
6415
|
+
this.reactPortalStore = reactPortalStore;
|
|
6416
|
+
this._group = _group;
|
|
6417
|
+
this.mutableDisposable = new MutableDisposable();
|
|
6418
|
+
this._element = document.createElement('div');
|
|
6419
|
+
this._element.className = 'dockview-react-part';
|
|
6420
|
+
}
|
|
6421
|
+
get element() {
|
|
6422
|
+
return this._element;
|
|
6423
|
+
}
|
|
6424
|
+
get part() {
|
|
6425
|
+
return this._part;
|
|
6426
|
+
}
|
|
6427
|
+
get group() {
|
|
6428
|
+
return this._group;
|
|
6429
|
+
}
|
|
6430
|
+
focus() {
|
|
6431
|
+
// TODO
|
|
6432
|
+
}
|
|
6433
|
+
init(parameters) {
|
|
6434
|
+
this.mutableDisposable.value = new CompositeDisposable(this._group.model.onDidAddPanel(() => {
|
|
6435
|
+
this.updatePanels();
|
|
6436
|
+
}), this._group.model.onDidRemovePanel(() => {
|
|
6437
|
+
this.updatePanels();
|
|
6438
|
+
}), this._group.model.onDidActivePanelChange(() => {
|
|
6439
|
+
this.updateActivePanel();
|
|
6440
|
+
}), parameters.api.onDidActiveChange(() => {
|
|
6441
|
+
this.updateGroupActive();
|
|
6442
|
+
}));
|
|
6443
|
+
this._part = new ReactPart(this.element, this.reactPortalStore, this.component, {
|
|
6444
|
+
api: parameters.api,
|
|
6445
|
+
containerApi: parameters.containerApi,
|
|
6446
|
+
panels: this._group.model.panels,
|
|
6447
|
+
activePanel: this._group.model.activePanel,
|
|
6448
|
+
isGroupActive: this._group.api.isActive,
|
|
6449
|
+
});
|
|
6450
|
+
}
|
|
6451
|
+
update(event) {
|
|
6452
|
+
var _a;
|
|
6453
|
+
(_a = this._part) === null || _a === void 0 ? void 0 : _a.update(event.params);
|
|
6454
|
+
}
|
|
6455
|
+
dispose() {
|
|
6456
|
+
var _a;
|
|
6457
|
+
this.mutableDisposable.dispose();
|
|
6458
|
+
(_a = this._part) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
6459
|
+
}
|
|
6460
|
+
updatePanels() {
|
|
6461
|
+
this.update({ params: { panels: this._group.model.panels } });
|
|
6462
|
+
}
|
|
6463
|
+
updateActivePanel() {
|
|
6464
|
+
this.update({
|
|
6465
|
+
params: {
|
|
6466
|
+
activePanel: this._group.model.activePanel,
|
|
6467
|
+
},
|
|
6468
|
+
});
|
|
6469
|
+
}
|
|
6470
|
+
updateGroupActive() {
|
|
6471
|
+
this.update({
|
|
6472
|
+
params: {
|
|
6473
|
+
isGroupActive: this._group.api.isActive,
|
|
6474
|
+
},
|
|
6475
|
+
});
|
|
6476
|
+
}
|
|
6477
|
+
}
|
|
6478
|
+
|
|
6479
|
+
function createGroupControlElement(component, store) {
|
|
6480
|
+
return component
|
|
6481
|
+
? (groupPanel) => {
|
|
6482
|
+
return new ReactGroupControlsRendererPart(component, store, groupPanel);
|
|
6483
|
+
}
|
|
6484
|
+
: undefined;
|
|
6485
|
+
}
|
|
6352
6486
|
const DockviewReact = React__namespace.forwardRef((props, ref) => {
|
|
6353
6487
|
const domRef = React__namespace.useRef(null);
|
|
6354
6488
|
const dockviewRef = React__namespace.useRef();
|
|
@@ -6398,12 +6532,15 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6398
6532
|
const dockview = new DockviewComponent(element, {
|
|
6399
6533
|
frameworkComponentFactory: factory,
|
|
6400
6534
|
frameworkComponents: props.components,
|
|
6401
|
-
frameworkTabComponents: props.tabComponents,
|
|
6535
|
+
frameworkTabComponents: Object.assign(Object.assign({}, (props.tabComponents || {})), { [DEFAULT_TAB_IDENTIFIER]: props.defaultTabComponent }),
|
|
6402
6536
|
tabHeight: props.tabHeight,
|
|
6403
6537
|
watermarkFrameworkComponent: props.watermarkComponent,
|
|
6538
|
+
defaultTabComponent: DEFAULT_TAB_IDENTIFIER,
|
|
6404
6539
|
styles: props.hideBorders
|
|
6405
6540
|
? { separatorBorder: 'transparent' }
|
|
6406
6541
|
: undefined,
|
|
6542
|
+
showDndOverlay: props.showDndOverlay,
|
|
6543
|
+
createGroupControlElement: createGroupControlElement(props.groupControlComponent, { addPortal }),
|
|
6407
6544
|
});
|
|
6408
6545
|
(_a = domRef.current) === null || _a === void 0 ? void 0 : _a.appendChild(dockview.element);
|
|
6409
6546
|
dockview.deserializer = new ReactPanelDeserialzier(dockview);
|
|
@@ -6480,10 +6617,79 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6480
6617
|
disposable.dispose();
|
|
6481
6618
|
};
|
|
6482
6619
|
}, [props.onTabContextMenu]);
|
|
6620
|
+
React__namespace.useEffect(() => {
|
|
6621
|
+
if (!dockviewRef.current) {
|
|
6622
|
+
return;
|
|
6623
|
+
}
|
|
6624
|
+
dockviewRef.current.updateOptions({
|
|
6625
|
+
defaultTabComponent: DEFAULT_TAB_IDENTIFIER,
|
|
6626
|
+
frameworkTabComponents: Object.assign(Object.assign({}, (props.tabComponents || {})), { [DEFAULT_TAB_IDENTIFIER]: props.defaultTabComponent }),
|
|
6627
|
+
});
|
|
6628
|
+
}, [props.defaultTabComponent]);
|
|
6629
|
+
React__namespace.useEffect(() => {
|
|
6630
|
+
if (!dockviewRef.current) {
|
|
6631
|
+
return;
|
|
6632
|
+
}
|
|
6633
|
+
dockviewRef.current.updateOptions({
|
|
6634
|
+
createGroupControlElement: createGroupControlElement(props.groupControlComponent, { addPortal }),
|
|
6635
|
+
});
|
|
6636
|
+
}, [props.groupControlComponent]);
|
|
6483
6637
|
return (React__namespace.createElement("div", { className: props.className, style: { height: '100%', width: '100%' }, ref: domRef }, portals));
|
|
6484
6638
|
});
|
|
6485
6639
|
DockviewReact.displayName = 'DockviewComponent';
|
|
6486
6640
|
|
|
6641
|
+
/******************************************************************************
|
|
6642
|
+
Copyright (c) Microsoft Corporation.
|
|
6643
|
+
|
|
6644
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
6645
|
+
purpose with or without fee is hereby granted.
|
|
6646
|
+
|
|
6647
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
6648
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
6649
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
6650
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
6651
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
6652
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
6653
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
6654
|
+
***************************************************************************** */
|
|
6655
|
+
|
|
6656
|
+
function __rest(s, e) {
|
|
6657
|
+
var t = {};
|
|
6658
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
6659
|
+
t[p] = s[p];
|
|
6660
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6661
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
6662
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
6663
|
+
t[p[i]] = s[p[i]];
|
|
6664
|
+
}
|
|
6665
|
+
return t;
|
|
6666
|
+
}
|
|
6667
|
+
|
|
6668
|
+
const CloseButton = () => (React__namespace.createElement("svg", { height: "11", width: "11", viewBox: "0 0 28 28", "aria-hidden": 'false', focusable: false, className: "dockview-svg" },
|
|
6669
|
+
React__namespace.createElement("path", { d: "M2.1 27.3L0 25.2L11.55 13.65L0 2.1L2.1 0L13.65 11.55L25.2 0L27.3 2.1L15.75 13.65L27.3 25.2L25.2 27.3L13.65 15.75L2.1 27.3Z" })));
|
|
6670
|
+
|
|
6671
|
+
const DockviewDefaultTab = (_a) => {
|
|
6672
|
+
var { api, containerApi: _containerApi, params: _params } = _a, rest = __rest(_a, ["api", "containerApi", "params"]);
|
|
6673
|
+
const onClose = React__namespace.useCallback((event) => {
|
|
6674
|
+
event.stopPropagation();
|
|
6675
|
+
api.close();
|
|
6676
|
+
}, [api]);
|
|
6677
|
+
const onClick = React__namespace.useCallback((event) => {
|
|
6678
|
+
api.setActive();
|
|
6679
|
+
if (rest.onClick) {
|
|
6680
|
+
rest.onClick(event);
|
|
6681
|
+
}
|
|
6682
|
+
}, [api, rest.onClick]);
|
|
6683
|
+
const iconClassname = React__namespace.useMemo(() => {
|
|
6684
|
+
const cn = ['dockview-react-tab-action'];
|
|
6685
|
+
return cn.join(',');
|
|
6686
|
+
}, [api.suppressClosable]);
|
|
6687
|
+
return (React__namespace.createElement("div", Object.assign({}, rest, { onClick: onClick, className: "dockview-react-tab" }),
|
|
6688
|
+
React__namespace.createElement("span", { className: "dockview-react-tab-title" }, api.title),
|
|
6689
|
+
React__namespace.createElement("div", { className: iconClassname, onClick: onClose },
|
|
6690
|
+
React__namespace.createElement(CloseButton, null))));
|
|
6691
|
+
};
|
|
6692
|
+
|
|
6487
6693
|
class ReactPanelView extends SplitviewPanel {
|
|
6488
6694
|
constructor(id, component, reactComponent, reactPortalStore) {
|
|
6489
6695
|
super(id, component);
|
|
@@ -6713,6 +6919,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6713
6919
|
createComponent,
|
|
6714
6920
|
},
|
|
6715
6921
|
},
|
|
6922
|
+
showDndOverlay: props.showDndOverlay,
|
|
6716
6923
|
});
|
|
6717
6924
|
const api = new PaneviewApi(paneview);
|
|
6718
6925
|
const { clientWidth, clientHeight } = domRef.current;
|
|
@@ -6757,6 +6964,14 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6757
6964
|
disposable.dispose();
|
|
6758
6965
|
};
|
|
6759
6966
|
}, [props.onDidDrop]);
|
|
6967
|
+
React__namespace.useEffect(() => {
|
|
6968
|
+
if (!paneviewRef.current) {
|
|
6969
|
+
return;
|
|
6970
|
+
}
|
|
6971
|
+
paneviewRef.current.updateOptions({
|
|
6972
|
+
showDndOverlay: props.showDndOverlay,
|
|
6973
|
+
});
|
|
6974
|
+
}, [props.showDndOverlay]);
|
|
6760
6975
|
return (React__namespace.createElement("div", { className: props.className, style: { height: '100%', width: '100%' }, ref: domRef }, portals));
|
|
6761
6976
|
});
|
|
6762
6977
|
PaneviewReact.displayName = 'PaneviewComponent';
|
|
@@ -6765,6 +6980,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6765
6980
|
exports.ContentContainer = ContentContainer;
|
|
6766
6981
|
exports.DockviewApi = DockviewApi;
|
|
6767
6982
|
exports.DockviewComponent = DockviewComponent;
|
|
6983
|
+
exports.DockviewDefaultTab = DockviewDefaultTab;
|
|
6768
6984
|
exports.DockviewReact = DockviewReact;
|
|
6769
6985
|
exports.Gridview = Gridview;
|
|
6770
6986
|
exports.GridviewApi = GridviewApi;
|
|
@@ -6781,8 +6997,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
|
|
|
6781
6997
|
exports.PaneviewComponent = PaneviewComponent;
|
|
6782
6998
|
exports.PaneviewPanel = PaneviewPanel;
|
|
6783
6999
|
exports.PaneviewReact = PaneviewReact;
|
|
6784
|
-
exports.ReactPanelContentPart = ReactPanelContentPart;
|
|
6785
|
-
exports.ReactPanelHeaderPart = ReactPanelHeaderPart;
|
|
6786
7000
|
exports.ReactPart = ReactPart;
|
|
6787
7001
|
exports.ReactPartContext = ReactPartContext;
|
|
6788
7002
|
exports.Splitview = Splitview;
|