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.cjs.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
|
*/
|
|
@@ -59,7 +59,7 @@ function styleInject(css, ref) {
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
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}";
|
|
62
|
+
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}";
|
|
63
63
|
styleInject(css_248z);
|
|
64
64
|
|
|
65
65
|
class TransferObject {
|
|
@@ -2713,6 +2713,7 @@ class Tab extends CompositeDisposable {
|
|
|
2713
2713
|
constructor(panelId, accessor, group) {
|
|
2714
2714
|
super();
|
|
2715
2715
|
this.panelId = panelId;
|
|
2716
|
+
this.accessor = accessor;
|
|
2716
2717
|
this.group = group;
|
|
2717
2718
|
this._onChanged = new Emitter();
|
|
2718
2719
|
this.onChanged = this._onChanged.event;
|
|
@@ -2763,7 +2764,7 @@ class Tab extends CompositeDisposable {
|
|
|
2763
2764
|
validOverlays: 'none',
|
|
2764
2765
|
canDisplayOverlay: (event) => {
|
|
2765
2766
|
const data = getPanelData();
|
|
2766
|
-
if (data) {
|
|
2767
|
+
if (data && this.accessor.id === data.viewId) {
|
|
2767
2768
|
return this.panelId !== data.panelId;
|
|
2768
2769
|
}
|
|
2769
2770
|
return this.group.model.canDisplayOverlay(event, exports.DockviewDropTargets.Tab);
|
|
@@ -2821,7 +2822,7 @@ class TabsContainer extends CompositeDisposable {
|
|
|
2821
2822
|
canDisplayOverlay: (event) => {
|
|
2822
2823
|
var _a;
|
|
2823
2824
|
const data = getPanelData();
|
|
2824
|
-
if (data) {
|
|
2825
|
+
if (data && this.accessor.id === data.viewId) {
|
|
2825
2826
|
// don't show the overlay if the tab being dragged is the last panel of this group
|
|
2826
2827
|
return ((_a = last(this.tabs)) === null || _a === void 0 ? void 0 : _a.value.panelId) !== data.panelId;
|
|
2827
2828
|
}
|
|
@@ -2978,12 +2979,6 @@ class TabsContainer extends CompositeDisposable {
|
|
|
2978
2979
|
}
|
|
2979
2980
|
}
|
|
2980
2981
|
|
|
2981
|
-
exports.GroupChangeKind2 = void 0;
|
|
2982
|
-
(function (GroupChangeKind2) {
|
|
2983
|
-
GroupChangeKind2["ADD_PANEL"] = "ADD_PANEL";
|
|
2984
|
-
GroupChangeKind2["REMOVE_PANEL"] = "REMOVE_PANEL";
|
|
2985
|
-
GroupChangeKind2["PANEL_ACTIVE"] = "PANEL_ACTIVE";
|
|
2986
|
-
})(exports.GroupChangeKind2 || (exports.GroupChangeKind2 = {}));
|
|
2987
2982
|
class Groupview extends CompositeDisposable {
|
|
2988
2983
|
constructor(container, accessor, id, options, parent) {
|
|
2989
2984
|
super();
|
|
@@ -3002,12 +2997,15 @@ class Groupview extends CompositeDisposable {
|
|
|
3002
2997
|
this._panels = [];
|
|
3003
2998
|
this._onMove = new Emitter();
|
|
3004
2999
|
this.onMove = this._onMove.event;
|
|
3005
|
-
this._onDidGroupChange = new Emitter();
|
|
3006
|
-
this.onDidGroupChange = this._onDidGroupChange.event;
|
|
3007
3000
|
this._onDidDrop = new Emitter();
|
|
3008
3001
|
this.onDidDrop = this._onDidDrop.event;
|
|
3002
|
+
this._onDidAddPanel = new Emitter();
|
|
3003
|
+
this.onDidAddPanel = this._onDidAddPanel.event;
|
|
3004
|
+
this._onDidRemovePanel = new Emitter();
|
|
3005
|
+
this.onDidRemovePanel = this._onDidRemovePanel.event;
|
|
3006
|
+
this._onDidActivePanelChange = new Emitter();
|
|
3007
|
+
this.onDidActivePanelChange = this._onDidActivePanelChange.event;
|
|
3009
3008
|
this.container.classList.add('groupview');
|
|
3010
|
-
this.addDisposables(this._onMove, this._onDidGroupChange, this._onDidChange, this._onDidDrop);
|
|
3011
3009
|
this.tabsContainer = new TabsContainer(this.accessor, this.parent, {
|
|
3012
3010
|
tabHeight: options.tabHeight,
|
|
3013
3011
|
});
|
|
@@ -3019,7 +3017,7 @@ class Groupview extends CompositeDisposable {
|
|
|
3019
3017
|
return false;
|
|
3020
3018
|
}
|
|
3021
3019
|
const data = getPanelData();
|
|
3022
|
-
if (data) {
|
|
3020
|
+
if (data && data.viewId === this.accessor.id) {
|
|
3023
3021
|
const groupHasOnePanelAndIsActiveDragElement = this._panels.length === 1 && data.groupId === this.id;
|
|
3024
3022
|
return !groupHasOnePanelAndIsActiveDragElement;
|
|
3025
3023
|
}
|
|
@@ -3029,7 +3027,7 @@ class Groupview extends CompositeDisposable {
|
|
|
3029
3027
|
container.append(this.tabsContainer.element, this.contentContainer.element);
|
|
3030
3028
|
this.header.hidden = !!options.hideHeader;
|
|
3031
3029
|
this.locked = !!options.locked;
|
|
3032
|
-
this.addDisposables(this._onMove, this.
|
|
3030
|
+
this.addDisposables(this._onMove, this._onDidChange, this._onDidDrop, this._onDidAddPanel, this._onDidRemovePanel, this._onDidActivePanelChange, this.tabsContainer.onDrop((event) => {
|
|
3033
3031
|
this.handleDropEvent(event.event, exports.Position.Center, event.index);
|
|
3034
3032
|
}), this.contentContainer.onDidFocus(() => {
|
|
3035
3033
|
this.accessor.doSetGroupActive(this.parent, true);
|
|
@@ -3101,6 +3099,15 @@ class Groupview extends CompositeDisposable {
|
|
|
3101
3099
|
// correctly initialized
|
|
3102
3100
|
this.setActive(this.isActive, true, true);
|
|
3103
3101
|
this.updateContainer();
|
|
3102
|
+
if (this.accessor.options.createGroupControlElement) {
|
|
3103
|
+
this._control = this.accessor.options.createGroupControlElement(this.parent);
|
|
3104
|
+
this.addDisposables(this._control);
|
|
3105
|
+
this._control.init({
|
|
3106
|
+
containerApi: new DockviewApi(this.accessor),
|
|
3107
|
+
api: this.parent.api,
|
|
3108
|
+
});
|
|
3109
|
+
this.tabsContainer.setActionElement(this._control.element);
|
|
3110
|
+
}
|
|
3104
3111
|
}
|
|
3105
3112
|
indexOf(panel) {
|
|
3106
3113
|
return this.tabsContainer.indexOf(panel.id);
|
|
@@ -3231,14 +3238,8 @@ class Groupview extends CompositeDisposable {
|
|
|
3231
3238
|
isPanelActive(panel) {
|
|
3232
3239
|
return this._activePanel === panel;
|
|
3233
3240
|
}
|
|
3234
|
-
updateActions() {
|
|
3235
|
-
|
|
3236
|
-
if (this.isActive && ((_b = (_a = this._activePanel) === null || _a === void 0 ? void 0 : _a.view) === null || _b === void 0 ? void 0 : _b.actions)) {
|
|
3237
|
-
this.tabsContainer.setActionElement(this._activePanel.view.actions.element);
|
|
3238
|
-
}
|
|
3239
|
-
else {
|
|
3240
|
-
this.tabsContainer.setActionElement(undefined);
|
|
3241
|
-
}
|
|
3241
|
+
updateActions(element) {
|
|
3242
|
+
this.tabsContainer.setActionElement(element);
|
|
3242
3243
|
}
|
|
3243
3244
|
setActive(isGroupActive, skipFocus = false, force = false) {
|
|
3244
3245
|
var _a, _b;
|
|
@@ -3294,10 +3295,7 @@ class Groupview extends CompositeDisposable {
|
|
|
3294
3295
|
if (this.mostRecentlyUsed.includes(panel)) {
|
|
3295
3296
|
this.mostRecentlyUsed.splice(this.mostRecentlyUsed.indexOf(panel), 1);
|
|
3296
3297
|
}
|
|
3297
|
-
this.
|
|
3298
|
-
kind: exports.GroupChangeKind2.REMOVE_PANEL,
|
|
3299
|
-
panel,
|
|
3300
|
-
});
|
|
3298
|
+
this._onDidRemovePanel.fire({ panel });
|
|
3301
3299
|
}
|
|
3302
3300
|
doAddPanel(panel, index = this.panels.length, skipSetActive = false) {
|
|
3303
3301
|
const existingPanel = this._panels.indexOf(panel);
|
|
@@ -3314,10 +3312,7 @@ class Groupview extends CompositeDisposable {
|
|
|
3314
3312
|
}
|
|
3315
3313
|
this.updateMru(panel);
|
|
3316
3314
|
this.panels.splice(index, 0, panel);
|
|
3317
|
-
this.
|
|
3318
|
-
kind: exports.GroupChangeKind2.ADD_PANEL,
|
|
3319
|
-
panel,
|
|
3320
|
-
});
|
|
3315
|
+
this._onDidAddPanel.fire({ panel });
|
|
3321
3316
|
}
|
|
3322
3317
|
doSetActivePanel(panel) {
|
|
3323
3318
|
this._activePanel = panel;
|
|
@@ -3325,10 +3320,7 @@ class Groupview extends CompositeDisposable {
|
|
|
3325
3320
|
this.tabsContainer.setActivePanel(panel);
|
|
3326
3321
|
panel.layout(this._width, this._height);
|
|
3327
3322
|
this.updateMru(panel);
|
|
3328
|
-
this.
|
|
3329
|
-
kind: exports.GroupChangeKind2.PANEL_ACTIVE,
|
|
3330
|
-
panel,
|
|
3331
|
-
});
|
|
3323
|
+
this._onDidActivePanelChange.fire({ panel });
|
|
3332
3324
|
}
|
|
3333
3325
|
}
|
|
3334
3326
|
updateMru(panel) {
|
|
@@ -3338,7 +3330,6 @@ class Groupview extends CompositeDisposable {
|
|
|
3338
3330
|
this.mostRecentlyUsed = [panel, ...this.mostRecentlyUsed];
|
|
3339
3331
|
}
|
|
3340
3332
|
updateContainer() {
|
|
3341
|
-
this.updateActions();
|
|
3342
3333
|
toggleClass(this.container, 'empty', this.isEmpty);
|
|
3343
3334
|
this.panels.forEach((panel) => panel.updateParentGroup(this.parent, this.isActive));
|
|
3344
3335
|
if (this.isEmpty && !this.watermark) {
|
|
@@ -3375,6 +3366,7 @@ class Groupview extends CompositeDisposable {
|
|
|
3375
3366
|
nativeEvent: event,
|
|
3376
3367
|
target,
|
|
3377
3368
|
group: this.accessor.getPanel(this.id),
|
|
3369
|
+
getData: getPanelData,
|
|
3378
3370
|
});
|
|
3379
3371
|
}
|
|
3380
3372
|
return false;
|
|
@@ -3423,7 +3415,7 @@ class Groupview extends CompositeDisposable {
|
|
|
3423
3415
|
}
|
|
3424
3416
|
}
|
|
3425
3417
|
|
|
3426
|
-
const nextLayoutId = sequentialNumberGenerator();
|
|
3418
|
+
const nextLayoutId$1 = sequentialNumberGenerator();
|
|
3427
3419
|
function toTarget(direction) {
|
|
3428
3420
|
switch (direction) {
|
|
3429
3421
|
case 'left':
|
|
@@ -3443,7 +3435,7 @@ class BaseGrid extends CompositeDisposable {
|
|
|
3443
3435
|
constructor(_element, options) {
|
|
3444
3436
|
super();
|
|
3445
3437
|
this._element = _element;
|
|
3446
|
-
this._id = nextLayoutId.next();
|
|
3438
|
+
this._id = nextLayoutId$1.next();
|
|
3447
3439
|
this._groups = new Map();
|
|
3448
3440
|
this._onDidLayoutChange = new Emitter();
|
|
3449
3441
|
this.onDidLayoutChange = this._onDidLayoutChange.event;
|
|
@@ -3903,6 +3895,38 @@ class ActionContainer {
|
|
|
3903
3895
|
}
|
|
3904
3896
|
}
|
|
3905
3897
|
|
|
3898
|
+
const createSvgElementFromPath = (params) => {
|
|
3899
|
+
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
|
|
3900
|
+
svg.setAttributeNS(null, 'height', params.height);
|
|
3901
|
+
svg.setAttributeNS(null, 'width', params.width);
|
|
3902
|
+
svg.setAttributeNS(null, 'viewBox', params.viewbox);
|
|
3903
|
+
svg.setAttributeNS(null, 'aria-hidden', 'false');
|
|
3904
|
+
svg.setAttributeNS(null, 'focusable', 'false');
|
|
3905
|
+
svg.classList.add('dockview-svg');
|
|
3906
|
+
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
|
|
3907
|
+
path.setAttributeNS(null, 'd', params.path);
|
|
3908
|
+
svg.appendChild(path);
|
|
3909
|
+
return svg;
|
|
3910
|
+
};
|
|
3911
|
+
const createCloseButton = () => createSvgElementFromPath({
|
|
3912
|
+
width: '11',
|
|
3913
|
+
height: '11',
|
|
3914
|
+
viewbox: '0 0 28 28',
|
|
3915
|
+
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',
|
|
3916
|
+
});
|
|
3917
|
+
const createExpandMoreButton = () => createSvgElementFromPath({
|
|
3918
|
+
width: '11',
|
|
3919
|
+
height: '11',
|
|
3920
|
+
viewbox: '0 0 24 15',
|
|
3921
|
+
path: 'M12 14.15L0 2.15L2.15 0L12 9.9L21.85 0.0499992L24 2.2L12 14.15Z',
|
|
3922
|
+
});
|
|
3923
|
+
const createChevronRightButton = () => createSvgElementFromPath({
|
|
3924
|
+
width: '11',
|
|
3925
|
+
height: '11',
|
|
3926
|
+
viewbox: '0 0 15 25',
|
|
3927
|
+
path: 'M2.15 24.1L0 21.95L9.9 12.05L0 2.15L2.15 0L14.2 12.05L2.15 24.1Z',
|
|
3928
|
+
});
|
|
3929
|
+
|
|
3906
3930
|
class Watermark extends CompositeDisposable {
|
|
3907
3931
|
constructor() {
|
|
3908
3932
|
super();
|
|
@@ -3919,8 +3943,9 @@ class Watermark extends CompositeDisposable {
|
|
|
3919
3943
|
const actions = new ActionContainer();
|
|
3920
3944
|
title.appendChild(emptySpace);
|
|
3921
3945
|
title.appendChild(actions.element);
|
|
3922
|
-
const closeAnchor = document.createElement('
|
|
3946
|
+
const closeAnchor = document.createElement('div');
|
|
3923
3947
|
closeAnchor.className = 'close-action';
|
|
3948
|
+
closeAnchor.appendChild(createCloseButton());
|
|
3924
3949
|
actions.add(closeAnchor);
|
|
3925
3950
|
this.addDisposables(addDisposableListener(closeAnchor, 'click', (ev) => {
|
|
3926
3951
|
var _a;
|
|
@@ -3993,6 +4018,7 @@ function createComponent(id, componentName, components = {}, frameworkComponents
|
|
|
3993
4018
|
return new Component(id, componentName);
|
|
3994
4019
|
}
|
|
3995
4020
|
|
|
4021
|
+
const DEFAULT_TAB_IDENTIFIER = '__default__tab__';
|
|
3996
4022
|
class DefaultTab extends CompositeDisposable {
|
|
3997
4023
|
constructor() {
|
|
3998
4024
|
super();
|
|
@@ -4012,8 +4038,9 @@ class DefaultTab extends CompositeDisposable {
|
|
|
4012
4038
|
this._list = document.createElement('ul');
|
|
4013
4039
|
this._list.className = 'tab-list';
|
|
4014
4040
|
//
|
|
4015
|
-
this.action = document.createElement('
|
|
4041
|
+
this.action = document.createElement('div');
|
|
4016
4042
|
this.action.className = 'tab-action';
|
|
4043
|
+
this.action.appendChild(createCloseButton());
|
|
4017
4044
|
//
|
|
4018
4045
|
this._element.appendChild(this._content);
|
|
4019
4046
|
this._element.appendChild(this._actionContainer);
|
|
@@ -4029,7 +4056,7 @@ class DefaultTab extends CompositeDisposable {
|
|
|
4029
4056
|
return this._element;
|
|
4030
4057
|
}
|
|
4031
4058
|
get id() {
|
|
4032
|
-
return
|
|
4059
|
+
return DEFAULT_TAB_IDENTIFIER;
|
|
4033
4060
|
}
|
|
4034
4061
|
update(event) {
|
|
4035
4062
|
this.params = Object.assign(Object.assign({}, this.params), event.params);
|
|
@@ -4346,16 +4373,6 @@ class DefaultGroupPanelView {
|
|
|
4346
4373
|
var _a;
|
|
4347
4374
|
this._content = renderers.content;
|
|
4348
4375
|
this._tab = (_a = renderers.tab) !== null && _a !== void 0 ? _a : new DefaultTab();
|
|
4349
|
-
this._actions =
|
|
4350
|
-
renderers.actions ||
|
|
4351
|
-
(this.content.actions
|
|
4352
|
-
? {
|
|
4353
|
-
element: this.content.actions,
|
|
4354
|
-
dispose: () => {
|
|
4355
|
-
//
|
|
4356
|
-
},
|
|
4357
|
-
}
|
|
4358
|
-
: undefined);
|
|
4359
4376
|
}
|
|
4360
4377
|
get content() {
|
|
4361
4378
|
return this._content;
|
|
@@ -4363,9 +4380,6 @@ class DefaultGroupPanelView {
|
|
|
4363
4380
|
get tab() {
|
|
4364
4381
|
return this._tab;
|
|
4365
4382
|
}
|
|
4366
|
-
get actions() {
|
|
4367
|
-
return this._actions;
|
|
4368
|
-
}
|
|
4369
4383
|
init(params) {
|
|
4370
4384
|
this.content.init(Object.assign(Object.assign({}, params), { tab: this.tab }));
|
|
4371
4385
|
this.tab.init(params);
|
|
@@ -4383,16 +4397,18 @@ class DefaultGroupPanelView {
|
|
|
4383
4397
|
this.tab.update(event);
|
|
4384
4398
|
}
|
|
4385
4399
|
toJSON() {
|
|
4400
|
+
let tab = this.tab instanceof DefaultTab ? undefined : this.tab.toJSON();
|
|
4401
|
+
if (tab && Object.keys(tab).length === 0) {
|
|
4402
|
+
tab = undefined;
|
|
4403
|
+
}
|
|
4386
4404
|
return {
|
|
4387
4405
|
content: this.content.toJSON(),
|
|
4388
|
-
tab
|
|
4406
|
+
tab,
|
|
4389
4407
|
};
|
|
4390
4408
|
}
|
|
4391
4409
|
dispose() {
|
|
4392
|
-
var _a;
|
|
4393
4410
|
this.content.dispose();
|
|
4394
4411
|
this.tab.dispose();
|
|
4395
|
-
(_a = this.actions) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
4396
4412
|
}
|
|
4397
4413
|
}
|
|
4398
4414
|
|
|
@@ -4807,22 +4823,12 @@ class DockviewComponent extends BaseGrid {
|
|
|
4807
4823
|
this.moveGroupOrPanel(view, groupId, itemId, target, index);
|
|
4808
4824
|
}), view.model.onDidDrop((event) => {
|
|
4809
4825
|
this._onDidDrop.fire(Object.assign(Object.assign({}, event), { api: this._api, group: view }));
|
|
4810
|
-
}), view.model.
|
|
4811
|
-
|
|
4812
|
-
|
|
4813
|
-
|
|
4814
|
-
|
|
4815
|
-
|
|
4816
|
-
break;
|
|
4817
|
-
case exports.GroupChangeKind2.REMOVE_PANEL:
|
|
4818
|
-
if (event.panel) {
|
|
4819
|
-
this._onDidRemovePanel.fire(event.panel);
|
|
4820
|
-
}
|
|
4821
|
-
break;
|
|
4822
|
-
case exports.GroupChangeKind2.PANEL_ACTIVE:
|
|
4823
|
-
this._onDidActivePanelChange.fire(event.panel);
|
|
4824
|
-
break;
|
|
4825
|
-
}
|
|
4826
|
+
}), view.model.onDidAddPanel((event) => {
|
|
4827
|
+
this._onDidAddPanel.fire(event.panel);
|
|
4828
|
+
}), view.model.onDidRemovePanel((event) => {
|
|
4829
|
+
this._onDidRemovePanel.fire(event.panel);
|
|
4830
|
+
}), view.model.onDidActivePanelChange((event) => {
|
|
4831
|
+
this._onDidActivePanelChange.fire(event.panel);
|
|
4826
4832
|
}));
|
|
4827
4833
|
this._groups.set(view.id, { value: view, disposable });
|
|
4828
4834
|
}
|
|
@@ -4837,7 +4843,7 @@ class DockviewComponent extends BaseGrid {
|
|
|
4837
4843
|
createPanel(options, group) {
|
|
4838
4844
|
const view = new DefaultGroupPanelView({
|
|
4839
4845
|
content: this.createContentComponent(options.id, options.component),
|
|
4840
|
-
tab: this.createTabComponent(options.id, options.tabComponent),
|
|
4846
|
+
tab: this.createTabComponent(options.id, options.tabComponent || this.options.defaultTabComponent),
|
|
4841
4847
|
});
|
|
4842
4848
|
const panel = new DockviewGroupPanel(options.id, this, this._api, group);
|
|
4843
4849
|
panel.init({
|
|
@@ -5590,8 +5596,9 @@ class PaneviewPanel extends BasePanelView {
|
|
|
5590
5596
|
}
|
|
5591
5597
|
|
|
5592
5598
|
class DraggablePaneviewPanel extends PaneviewPanel {
|
|
5593
|
-
constructor(id, component, headerComponent, orientation, isExpanded, disableDnd) {
|
|
5599
|
+
constructor(accessor, id, component, headerComponent, orientation, isExpanded, disableDnd) {
|
|
5594
5600
|
super(id, component, headerComponent, orientation, isExpanded, true);
|
|
5601
|
+
this.accessor = accessor;
|
|
5595
5602
|
this._onDidDrop = new Emitter();
|
|
5596
5603
|
this.onDidDrop = this._onDidDrop.event;
|
|
5597
5604
|
if (!disableDnd) {
|
|
@@ -5603,10 +5610,11 @@ class DraggablePaneviewPanel extends PaneviewPanel {
|
|
|
5603
5610
|
return;
|
|
5604
5611
|
}
|
|
5605
5612
|
const id = this.id;
|
|
5613
|
+
const accessorId = this.accessor.id;
|
|
5606
5614
|
this.header.draggable = true;
|
|
5607
5615
|
this.handler = new (class PaneDragHandler extends DragHandler {
|
|
5608
5616
|
getData() {
|
|
5609
|
-
LocalSelectionTransfer.getInstance().setData([new PaneTransfer(
|
|
5617
|
+
LocalSelectionTransfer.getInstance().setData([new PaneTransfer(accessorId, id)], PaneTransfer.prototype);
|
|
5610
5618
|
return {
|
|
5611
5619
|
dispose: () => {
|
|
5612
5620
|
LocalSelectionTransfer.getInstance().clearData(PaneTransfer.prototype);
|
|
@@ -5616,12 +5624,22 @@ class DraggablePaneviewPanel extends PaneviewPanel {
|
|
|
5616
5624
|
})(this.header);
|
|
5617
5625
|
this.target = new Droptarget(this.element, {
|
|
5618
5626
|
validOverlays: 'vertical',
|
|
5619
|
-
canDisplayOverlay: () => {
|
|
5627
|
+
canDisplayOverlay: (event) => {
|
|
5620
5628
|
const data = getPaneData();
|
|
5621
|
-
if (
|
|
5622
|
-
|
|
5629
|
+
if (data) {
|
|
5630
|
+
if (data.paneId !== this.id &&
|
|
5631
|
+
data.viewId === this.accessor.id) {
|
|
5632
|
+
return true;
|
|
5633
|
+
}
|
|
5634
|
+
}
|
|
5635
|
+
if (this.accessor.options.showDndOverlay) {
|
|
5636
|
+
return this.accessor.options.showDndOverlay({
|
|
5637
|
+
nativeEvent: event,
|
|
5638
|
+
getData: getPaneData,
|
|
5639
|
+
panel: this,
|
|
5640
|
+
});
|
|
5623
5641
|
}
|
|
5624
|
-
return
|
|
5642
|
+
return false;
|
|
5625
5643
|
},
|
|
5626
5644
|
});
|
|
5627
5645
|
this.addDisposables(this._onDidDrop, this.handler, this.target, this.target.onDrop((event) => {
|
|
@@ -5630,8 +5648,10 @@ class DraggablePaneviewPanel extends PaneviewPanel {
|
|
|
5630
5648
|
}
|
|
5631
5649
|
onDrop(event) {
|
|
5632
5650
|
const data = getPaneData();
|
|
5633
|
-
if (!data) {
|
|
5634
|
-
|
|
5651
|
+
if (!data || data.viewId !== this.accessor.id) {
|
|
5652
|
+
// if there is no local drag event for this panel
|
|
5653
|
+
// or if the drag event was creating by another Paneview instance
|
|
5654
|
+
this._onDidDrop.fire(Object.assign(Object.assign({}, event), { panel: this, getData: getPaneData }));
|
|
5635
5655
|
return;
|
|
5636
5656
|
}
|
|
5637
5657
|
const containerApi = this._params
|
|
@@ -5639,7 +5659,8 @@ class DraggablePaneviewPanel extends PaneviewPanel {
|
|
|
5639
5659
|
const panelId = data.paneId;
|
|
5640
5660
|
const existingPanel = containerApi.getPanel(panelId);
|
|
5641
5661
|
if (!existingPanel) {
|
|
5642
|
-
|
|
5662
|
+
// if the panel doesn't exist
|
|
5663
|
+
this._onDidDrop.fire(Object.assign(Object.assign({}, event), { panel: this, getData: getPaneData }));
|
|
5643
5664
|
return;
|
|
5644
5665
|
}
|
|
5645
5666
|
const allPanels = containerApi.panels;
|
|
@@ -5663,12 +5684,15 @@ class DraggablePaneviewPanel extends PaneviewPanel {
|
|
|
5663
5684
|
class DefaultHeader extends CompositeDisposable {
|
|
5664
5685
|
constructor() {
|
|
5665
5686
|
super();
|
|
5687
|
+
this._expandedIcon = createExpandMoreButton();
|
|
5688
|
+
this._collapsedIcon = createChevronRightButton();
|
|
5666
5689
|
this.disposable = new MutableDisposable();
|
|
5667
5690
|
this.apiRef = { api: null };
|
|
5668
5691
|
this._element = document.createElement('div');
|
|
5669
5692
|
this.element.className = 'default-header';
|
|
5670
5693
|
this._content = document.createElement('span');
|
|
5671
|
-
this._expander = document.createElement('
|
|
5694
|
+
this._expander = document.createElement('div');
|
|
5695
|
+
this._expander.className = 'dockview-pane-header-icon';
|
|
5672
5696
|
this.element.appendChild(this._expander);
|
|
5673
5697
|
this.element.appendChild(this._content);
|
|
5674
5698
|
this.addDisposables(addDisposableListener(this._element, 'click', () => {
|
|
@@ -5682,12 +5706,32 @@ class DefaultHeader extends CompositeDisposable {
|
|
|
5682
5706
|
init(params) {
|
|
5683
5707
|
this.apiRef.api = params.api;
|
|
5684
5708
|
this._content.textContent = params.title;
|
|
5685
|
-
this.
|
|
5686
|
-
|
|
5687
|
-
|
|
5688
|
-
toggleClass(this._expander, 'collapsed', !e.isExpanded);
|
|
5709
|
+
this.updateIcon();
|
|
5710
|
+
this.disposable.value = params.api.onDidExpansionChange(() => {
|
|
5711
|
+
this.updateIcon();
|
|
5689
5712
|
});
|
|
5690
5713
|
}
|
|
5714
|
+
updateIcon() {
|
|
5715
|
+
var _a;
|
|
5716
|
+
const isExpanded = !!((_a = this.apiRef.api) === null || _a === void 0 ? void 0 : _a.isExpanded);
|
|
5717
|
+
toggleClass(this._expander, 'collapsed', !isExpanded);
|
|
5718
|
+
if (isExpanded) {
|
|
5719
|
+
if (this._expander.contains(this._collapsedIcon)) {
|
|
5720
|
+
this._collapsedIcon.remove();
|
|
5721
|
+
}
|
|
5722
|
+
if (!this._expander.contains(this._expandedIcon)) {
|
|
5723
|
+
this._expander.appendChild(this._expandedIcon);
|
|
5724
|
+
}
|
|
5725
|
+
}
|
|
5726
|
+
else {
|
|
5727
|
+
if (this._expander.contains(this._expandedIcon)) {
|
|
5728
|
+
this._expandedIcon.remove();
|
|
5729
|
+
}
|
|
5730
|
+
if (!this._expander.contains(this._collapsedIcon)) {
|
|
5731
|
+
this._expander.appendChild(this._collapsedIcon);
|
|
5732
|
+
}
|
|
5733
|
+
}
|
|
5734
|
+
}
|
|
5691
5735
|
update(_params) {
|
|
5692
5736
|
//
|
|
5693
5737
|
}
|
|
@@ -5697,9 +5741,10 @@ class DefaultHeader extends CompositeDisposable {
|
|
|
5697
5741
|
}
|
|
5698
5742
|
}
|
|
5699
5743
|
|
|
5744
|
+
const nextLayoutId = sequentialNumberGenerator();
|
|
5700
5745
|
class PaneFramework extends DraggablePaneviewPanel {
|
|
5701
5746
|
constructor(options) {
|
|
5702
|
-
super(options.id, options.component, options.headerComponent, options.orientation, options.isExpanded, options.disableDnd);
|
|
5747
|
+
super(options.accessor, options.id, options.component, options.headerComponent, options.orientation, options.isExpanded, options.disableDnd);
|
|
5703
5748
|
this.options = options;
|
|
5704
5749
|
}
|
|
5705
5750
|
getBodyComponent() {
|
|
@@ -5713,6 +5758,7 @@ class PaneviewComponent extends CompositeDisposable {
|
|
|
5713
5758
|
constructor(element, options) {
|
|
5714
5759
|
super();
|
|
5715
5760
|
this.element = element;
|
|
5761
|
+
this._id = nextLayoutId.next();
|
|
5716
5762
|
this._disposable = new MutableDisposable();
|
|
5717
5763
|
this._viewDisposables = new Map();
|
|
5718
5764
|
this._onDidLayoutfromJSON = new Emitter();
|
|
@@ -5739,6 +5785,9 @@ class PaneviewComponent extends CompositeDisposable {
|
|
|
5739
5785
|
});
|
|
5740
5786
|
this.addDisposables(this._disposable);
|
|
5741
5787
|
}
|
|
5788
|
+
get id() {
|
|
5789
|
+
return this._id;
|
|
5790
|
+
}
|
|
5742
5791
|
get panels() {
|
|
5743
5792
|
return this.paneview.getPanes();
|
|
5744
5793
|
}
|
|
@@ -5803,6 +5852,7 @@ class PaneviewComponent extends CompositeDisposable {
|
|
|
5803
5852
|
orientation: exports.Orientation.VERTICAL,
|
|
5804
5853
|
isExpanded: !!options.isExpanded,
|
|
5805
5854
|
disableDnd: !!this.options.disableDnd,
|
|
5855
|
+
accessor: this,
|
|
5806
5856
|
});
|
|
5807
5857
|
this.doAddPanel(view);
|
|
5808
5858
|
const size = typeof options.size === 'number' ? options.size : exports.Sizing.Distribute;
|
|
@@ -5897,6 +5947,7 @@ class PaneviewComponent extends CompositeDisposable {
|
|
|
5897
5947
|
orientation: exports.Orientation.VERTICAL,
|
|
5898
5948
|
isExpanded: !!view.expanded,
|
|
5899
5949
|
disableDnd: !!this.options.disableDnd,
|
|
5950
|
+
accessor: this,
|
|
5900
5951
|
});
|
|
5901
5952
|
this.doAddPanel(panel);
|
|
5902
5953
|
queue.push(() => {
|
|
@@ -6096,15 +6147,21 @@ class ReactPart {
|
|
|
6096
6147
|
this.component = component;
|
|
6097
6148
|
this.parameters = parameters;
|
|
6098
6149
|
this.context = context;
|
|
6150
|
+
this._initialProps = {};
|
|
6099
6151
|
this.disposed = false;
|
|
6100
6152
|
this.createPortal();
|
|
6101
6153
|
}
|
|
6102
6154
|
update(props) {
|
|
6103
|
-
var _a;
|
|
6104
6155
|
if (this.disposed) {
|
|
6105
6156
|
throw new Error('invalid operation: resource is already disposed');
|
|
6106
6157
|
}
|
|
6107
|
-
(
|
|
6158
|
+
if (!this.componentInstance) {
|
|
6159
|
+
// if the component is yet to be mounted store the props
|
|
6160
|
+
this._initialProps = Object.assign(Object.assign({}, this._initialProps), props);
|
|
6161
|
+
}
|
|
6162
|
+
else {
|
|
6163
|
+
this.componentInstance.update(props);
|
|
6164
|
+
}
|
|
6108
6165
|
}
|
|
6109
6166
|
createPortal() {
|
|
6110
6167
|
if (this.disposed) {
|
|
@@ -6124,6 +6181,10 @@ class ReactPart {
|
|
|
6124
6181
|
componentProps: this.parameters,
|
|
6125
6182
|
ref: (element) => {
|
|
6126
6183
|
this.componentInstance = element;
|
|
6184
|
+
if (Object.keys(this._initialProps).length > 0) {
|
|
6185
|
+
this.componentInstance.update(this._initialProps);
|
|
6186
|
+
this._initialProps = {}; // don't keep a reference to the users object once no longer required
|
|
6187
|
+
}
|
|
6127
6188
|
},
|
|
6128
6189
|
});
|
|
6129
6190
|
const node = this.context
|
|
@@ -6180,30 +6241,19 @@ class ReactPanelContentPart {
|
|
|
6180
6241
|
this.onDidBlur = this._onDidBlur.event;
|
|
6181
6242
|
this._element = document.createElement('div');
|
|
6182
6243
|
this._element.className = 'dockview-react-part';
|
|
6183
|
-
this._actionsElement = document.createElement('div');
|
|
6184
|
-
this._actionsElement.className = 'dockview-react-part';
|
|
6185
6244
|
}
|
|
6186
6245
|
get element() {
|
|
6187
6246
|
return this._element;
|
|
6188
6247
|
}
|
|
6189
|
-
get actions() {
|
|
6190
|
-
return this._actionsElement;
|
|
6191
|
-
}
|
|
6192
6248
|
focus() {
|
|
6193
6249
|
// TODO
|
|
6194
6250
|
}
|
|
6195
6251
|
init(parameters) {
|
|
6196
|
-
const context = {
|
|
6197
|
-
api: parameters.api,
|
|
6198
|
-
containerApi: parameters.containerApi,
|
|
6199
|
-
actionsPortalElement: this._actionsElement,
|
|
6200
|
-
tabPortalElement: parameters.tab,
|
|
6201
|
-
};
|
|
6202
6252
|
this.part = new ReactPart(this.element, this.reactPortalStore, this.component, {
|
|
6203
6253
|
params: parameters.params,
|
|
6204
6254
|
api: parameters.api,
|
|
6205
6255
|
containerApi: parameters.containerApi,
|
|
6206
|
-
}
|
|
6256
|
+
});
|
|
6207
6257
|
}
|
|
6208
6258
|
toJSON() {
|
|
6209
6259
|
return {
|
|
@@ -6221,11 +6271,10 @@ class ReactPanelContentPart {
|
|
|
6221
6271
|
// noop
|
|
6222
6272
|
}
|
|
6223
6273
|
dispose() {
|
|
6224
|
-
var _a
|
|
6274
|
+
var _a;
|
|
6225
6275
|
this._onDidFocus.dispose();
|
|
6226
6276
|
this._onDidBlur.dispose();
|
|
6227
6277
|
(_a = this.part) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
6228
|
-
(_b = this.actionsPart) === null || _b === void 0 ? void 0 : _b.dispose();
|
|
6229
6278
|
}
|
|
6230
6279
|
}
|
|
6231
6280
|
|
|
@@ -6255,6 +6304,9 @@ class ReactPanelHeaderPart {
|
|
|
6255
6304
|
(_a = this.part) === null || _a === void 0 ? void 0 : _a.update(event.params);
|
|
6256
6305
|
}
|
|
6257
6306
|
toJSON() {
|
|
6307
|
+
if (this.id === DEFAULT_TAB_IDENTIFIER) {
|
|
6308
|
+
return {};
|
|
6309
|
+
}
|
|
6258
6310
|
return {
|
|
6259
6311
|
id: this.id,
|
|
6260
6312
|
};
|
|
@@ -6276,17 +6328,25 @@ class ReactPanelDeserialzier {
|
|
|
6276
6328
|
this.layout = layout;
|
|
6277
6329
|
}
|
|
6278
6330
|
fromJSON(panelData, group) {
|
|
6279
|
-
var _a, _b, _c;
|
|
6331
|
+
var _a, _b, _c, _d;
|
|
6280
6332
|
const panelId = panelData.id;
|
|
6281
6333
|
const params = panelData.params;
|
|
6282
6334
|
const title = panelData.title;
|
|
6283
6335
|
const suppressClosable = panelData.suppressClosable;
|
|
6284
6336
|
const viewData = panelData.view;
|
|
6337
|
+
let tab;
|
|
6338
|
+
if ((_a = viewData.tab) === null || _a === void 0 ? void 0 : _a.id) {
|
|
6339
|
+
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());
|
|
6340
|
+
}
|
|
6341
|
+
else if (this.layout.options.defaultTabComponent) {
|
|
6342
|
+
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());
|
|
6343
|
+
}
|
|
6344
|
+
else {
|
|
6345
|
+
tab = new DefaultTab();
|
|
6346
|
+
}
|
|
6285
6347
|
const view = new DefaultGroupPanelView({
|
|
6286
|
-
content: createComponent(viewData.content.id, viewData.content.id, this.layout.options.components, this.layout.options.frameworkComponents, (
|
|
6287
|
-
tab
|
|
6288
|
-
? 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)
|
|
6289
|
-
: new DefaultTab(),
|
|
6348
|
+
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),
|
|
6349
|
+
tab,
|
|
6290
6350
|
});
|
|
6291
6351
|
const panel = new DockviewGroupPanel(panelId, this.layout, new DockviewApi(this.layout), group);
|
|
6292
6352
|
panel.init({
|
|
@@ -6354,6 +6414,80 @@ class ReactWatermarkPart {
|
|
|
6354
6414
|
}
|
|
6355
6415
|
}
|
|
6356
6416
|
|
|
6417
|
+
class ReactGroupControlsRendererPart {
|
|
6418
|
+
constructor(component, reactPortalStore, _group) {
|
|
6419
|
+
this.component = component;
|
|
6420
|
+
this.reactPortalStore = reactPortalStore;
|
|
6421
|
+
this._group = _group;
|
|
6422
|
+
this.mutableDisposable = new MutableDisposable();
|
|
6423
|
+
this._element = document.createElement('div');
|
|
6424
|
+
this._element.className = 'dockview-react-part';
|
|
6425
|
+
}
|
|
6426
|
+
get element() {
|
|
6427
|
+
return this._element;
|
|
6428
|
+
}
|
|
6429
|
+
get part() {
|
|
6430
|
+
return this._part;
|
|
6431
|
+
}
|
|
6432
|
+
get group() {
|
|
6433
|
+
return this._group;
|
|
6434
|
+
}
|
|
6435
|
+
focus() {
|
|
6436
|
+
// TODO
|
|
6437
|
+
}
|
|
6438
|
+
init(parameters) {
|
|
6439
|
+
this.mutableDisposable.value = new CompositeDisposable(this._group.model.onDidAddPanel(() => {
|
|
6440
|
+
this.updatePanels();
|
|
6441
|
+
}), this._group.model.onDidRemovePanel(() => {
|
|
6442
|
+
this.updatePanels();
|
|
6443
|
+
}), this._group.model.onDidActivePanelChange(() => {
|
|
6444
|
+
this.updateActivePanel();
|
|
6445
|
+
}), parameters.api.onDidActiveChange(() => {
|
|
6446
|
+
this.updateGroupActive();
|
|
6447
|
+
}));
|
|
6448
|
+
this._part = new ReactPart(this.element, this.reactPortalStore, this.component, {
|
|
6449
|
+
api: parameters.api,
|
|
6450
|
+
containerApi: parameters.containerApi,
|
|
6451
|
+
panels: this._group.model.panels,
|
|
6452
|
+
activePanel: this._group.model.activePanel,
|
|
6453
|
+
isGroupActive: this._group.api.isActive,
|
|
6454
|
+
});
|
|
6455
|
+
}
|
|
6456
|
+
update(event) {
|
|
6457
|
+
var _a;
|
|
6458
|
+
(_a = this._part) === null || _a === void 0 ? void 0 : _a.update(event.params);
|
|
6459
|
+
}
|
|
6460
|
+
dispose() {
|
|
6461
|
+
var _a;
|
|
6462
|
+
this.mutableDisposable.dispose();
|
|
6463
|
+
(_a = this._part) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
6464
|
+
}
|
|
6465
|
+
updatePanels() {
|
|
6466
|
+
this.update({ params: { panels: this._group.model.panels } });
|
|
6467
|
+
}
|
|
6468
|
+
updateActivePanel() {
|
|
6469
|
+
this.update({
|
|
6470
|
+
params: {
|
|
6471
|
+
activePanel: this._group.model.activePanel,
|
|
6472
|
+
},
|
|
6473
|
+
});
|
|
6474
|
+
}
|
|
6475
|
+
updateGroupActive() {
|
|
6476
|
+
this.update({
|
|
6477
|
+
params: {
|
|
6478
|
+
isGroupActive: this._group.api.isActive,
|
|
6479
|
+
},
|
|
6480
|
+
});
|
|
6481
|
+
}
|
|
6482
|
+
}
|
|
6483
|
+
|
|
6484
|
+
function createGroupControlElement(component, store) {
|
|
6485
|
+
return component
|
|
6486
|
+
? (groupPanel) => {
|
|
6487
|
+
return new ReactGroupControlsRendererPart(component, store, groupPanel);
|
|
6488
|
+
}
|
|
6489
|
+
: undefined;
|
|
6490
|
+
}
|
|
6357
6491
|
const DockviewReact = React__namespace.forwardRef((props, ref) => {
|
|
6358
6492
|
const domRef = React__namespace.useRef(null);
|
|
6359
6493
|
const dockviewRef = React__namespace.useRef();
|
|
@@ -6403,12 +6537,15 @@ const DockviewReact = React__namespace.forwardRef((props, ref) => {
|
|
|
6403
6537
|
const dockview = new DockviewComponent(element, {
|
|
6404
6538
|
frameworkComponentFactory: factory,
|
|
6405
6539
|
frameworkComponents: props.components,
|
|
6406
|
-
frameworkTabComponents: props.tabComponents,
|
|
6540
|
+
frameworkTabComponents: Object.assign(Object.assign({}, (props.tabComponents || {})), { [DEFAULT_TAB_IDENTIFIER]: props.defaultTabComponent }),
|
|
6407
6541
|
tabHeight: props.tabHeight,
|
|
6408
6542
|
watermarkFrameworkComponent: props.watermarkComponent,
|
|
6543
|
+
defaultTabComponent: DEFAULT_TAB_IDENTIFIER,
|
|
6409
6544
|
styles: props.hideBorders
|
|
6410
6545
|
? { separatorBorder: 'transparent' }
|
|
6411
6546
|
: undefined,
|
|
6547
|
+
showDndOverlay: props.showDndOverlay,
|
|
6548
|
+
createGroupControlElement: createGroupControlElement(props.groupControlComponent, { addPortal }),
|
|
6412
6549
|
});
|
|
6413
6550
|
(_a = domRef.current) === null || _a === void 0 ? void 0 : _a.appendChild(dockview.element);
|
|
6414
6551
|
dockview.deserializer = new ReactPanelDeserialzier(dockview);
|
|
@@ -6485,10 +6622,79 @@ const DockviewReact = React__namespace.forwardRef((props, ref) => {
|
|
|
6485
6622
|
disposable.dispose();
|
|
6486
6623
|
};
|
|
6487
6624
|
}, [props.onTabContextMenu]);
|
|
6625
|
+
React__namespace.useEffect(() => {
|
|
6626
|
+
if (!dockviewRef.current) {
|
|
6627
|
+
return;
|
|
6628
|
+
}
|
|
6629
|
+
dockviewRef.current.updateOptions({
|
|
6630
|
+
defaultTabComponent: DEFAULT_TAB_IDENTIFIER,
|
|
6631
|
+
frameworkTabComponents: Object.assign(Object.assign({}, (props.tabComponents || {})), { [DEFAULT_TAB_IDENTIFIER]: props.defaultTabComponent }),
|
|
6632
|
+
});
|
|
6633
|
+
}, [props.defaultTabComponent]);
|
|
6634
|
+
React__namespace.useEffect(() => {
|
|
6635
|
+
if (!dockviewRef.current) {
|
|
6636
|
+
return;
|
|
6637
|
+
}
|
|
6638
|
+
dockviewRef.current.updateOptions({
|
|
6639
|
+
createGroupControlElement: createGroupControlElement(props.groupControlComponent, { addPortal }),
|
|
6640
|
+
});
|
|
6641
|
+
}, [props.groupControlComponent]);
|
|
6488
6642
|
return (React__namespace.createElement("div", { className: props.className, style: { height: '100%', width: '100%' }, ref: domRef }, portals));
|
|
6489
6643
|
});
|
|
6490
6644
|
DockviewReact.displayName = 'DockviewComponent';
|
|
6491
6645
|
|
|
6646
|
+
/******************************************************************************
|
|
6647
|
+
Copyright (c) Microsoft Corporation.
|
|
6648
|
+
|
|
6649
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
6650
|
+
purpose with or without fee is hereby granted.
|
|
6651
|
+
|
|
6652
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
6653
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
6654
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
6655
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
6656
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
6657
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
6658
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
6659
|
+
***************************************************************************** */
|
|
6660
|
+
|
|
6661
|
+
function __rest(s, e) {
|
|
6662
|
+
var t = {};
|
|
6663
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
6664
|
+
t[p] = s[p];
|
|
6665
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6666
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
6667
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
6668
|
+
t[p[i]] = s[p[i]];
|
|
6669
|
+
}
|
|
6670
|
+
return t;
|
|
6671
|
+
}
|
|
6672
|
+
|
|
6673
|
+
const CloseButton = () => (React__namespace.createElement("svg", { height: "11", width: "11", viewBox: "0 0 28 28", "aria-hidden": 'false', focusable: false, className: "dockview-svg" },
|
|
6674
|
+
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" })));
|
|
6675
|
+
|
|
6676
|
+
const DockviewDefaultTab = (_a) => {
|
|
6677
|
+
var { api, containerApi: _containerApi, params: _params } = _a, rest = __rest(_a, ["api", "containerApi", "params"]);
|
|
6678
|
+
const onClose = React__namespace.useCallback((event) => {
|
|
6679
|
+
event.stopPropagation();
|
|
6680
|
+
api.close();
|
|
6681
|
+
}, [api]);
|
|
6682
|
+
const onClick = React__namespace.useCallback((event) => {
|
|
6683
|
+
api.setActive();
|
|
6684
|
+
if (rest.onClick) {
|
|
6685
|
+
rest.onClick(event);
|
|
6686
|
+
}
|
|
6687
|
+
}, [api, rest.onClick]);
|
|
6688
|
+
const iconClassname = React__namespace.useMemo(() => {
|
|
6689
|
+
const cn = ['dockview-react-tab-action'];
|
|
6690
|
+
return cn.join(',');
|
|
6691
|
+
}, [api.suppressClosable]);
|
|
6692
|
+
return (React__namespace.createElement("div", Object.assign({}, rest, { onClick: onClick, className: "dockview-react-tab" }),
|
|
6693
|
+
React__namespace.createElement("span", { className: "dockview-react-tab-title" }, api.title),
|
|
6694
|
+
React__namespace.createElement("div", { className: iconClassname, onClick: onClose },
|
|
6695
|
+
React__namespace.createElement(CloseButton, null))));
|
|
6696
|
+
};
|
|
6697
|
+
|
|
6492
6698
|
class ReactPanelView extends SplitviewPanel {
|
|
6493
6699
|
constructor(id, component, reactComponent, reactPortalStore) {
|
|
6494
6700
|
super(id, component);
|
|
@@ -6718,6 +6924,7 @@ const PaneviewReact = React__namespace.forwardRef((props, ref) => {
|
|
|
6718
6924
|
createComponent,
|
|
6719
6925
|
},
|
|
6720
6926
|
},
|
|
6927
|
+
showDndOverlay: props.showDndOverlay,
|
|
6721
6928
|
});
|
|
6722
6929
|
const api = new PaneviewApi(paneview);
|
|
6723
6930
|
const { clientWidth, clientHeight } = domRef.current;
|
|
@@ -6762,6 +6969,14 @@ const PaneviewReact = React__namespace.forwardRef((props, ref) => {
|
|
|
6762
6969
|
disposable.dispose();
|
|
6763
6970
|
};
|
|
6764
6971
|
}, [props.onDidDrop]);
|
|
6972
|
+
React__namespace.useEffect(() => {
|
|
6973
|
+
if (!paneviewRef.current) {
|
|
6974
|
+
return;
|
|
6975
|
+
}
|
|
6976
|
+
paneviewRef.current.updateOptions({
|
|
6977
|
+
showDndOverlay: props.showDndOverlay,
|
|
6978
|
+
});
|
|
6979
|
+
}, [props.showDndOverlay]);
|
|
6765
6980
|
return (React__namespace.createElement("div", { className: props.className, style: { height: '100%', width: '100%' }, ref: domRef }, portals));
|
|
6766
6981
|
});
|
|
6767
6982
|
PaneviewReact.displayName = 'PaneviewComponent';
|
|
@@ -6770,6 +6985,7 @@ exports.BaseGrid = BaseGrid;
|
|
|
6770
6985
|
exports.ContentContainer = ContentContainer;
|
|
6771
6986
|
exports.DockviewApi = DockviewApi;
|
|
6772
6987
|
exports.DockviewComponent = DockviewComponent;
|
|
6988
|
+
exports.DockviewDefaultTab = DockviewDefaultTab;
|
|
6773
6989
|
exports.DockviewReact = DockviewReact;
|
|
6774
6990
|
exports.Gridview = Gridview;
|
|
6775
6991
|
exports.GridviewApi = GridviewApi;
|
|
@@ -6786,8 +7002,6 @@ exports.PaneviewApi = PaneviewApi;
|
|
|
6786
7002
|
exports.PaneviewComponent = PaneviewComponent;
|
|
6787
7003
|
exports.PaneviewPanel = PaneviewPanel;
|
|
6788
7004
|
exports.PaneviewReact = PaneviewReact;
|
|
6789
|
-
exports.ReactPanelContentPart = ReactPanelContentPart;
|
|
6790
|
-
exports.ReactPanelHeaderPart = ReactPanelHeaderPart;
|
|
6791
7005
|
exports.ReactPart = ReactPart;
|
|
6792
7006
|
exports.ReactPartContext = ReactPartContext;
|
|
6793
7007
|
exports.Splitview = Splitview;
|