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