dockview 1.10.2 → 1.12.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/dist/cjs/dockview/defaultTab.d.ts +1 -1
- package/dist/cjs/dockview/defaultTab.js +11 -31
- package/dist/cjs/dockview/dockview.d.ts +1 -1
- package/dist/cjs/dockview/dockview.js +27 -47
- package/dist/cjs/dockview/headerActionsRenderer.d.ts +1 -1
- package/dist/cjs/dockview/headerActionsRenderer.js +2 -0
- package/dist/cjs/dockview/reactContentPart.d.ts +1 -1
- package/dist/cjs/dockview/reactContentPart.js +2 -0
- package/dist/cjs/dockview/reactHeaderPart.d.ts +1 -1
- package/dist/cjs/dockview/reactHeaderPart.js +2 -0
- package/dist/cjs/dockview/reactWatermarkPart.d.ts +1 -1
- package/dist/cjs/dockview/reactWatermarkPart.js +2 -0
- package/dist/cjs/gridview/gridview.d.ts +1 -1
- package/dist/cjs/gridview/gridview.js +13 -33
- package/dist/cjs/paneview/paneview.d.ts +1 -1
- package/dist/cjs/paneview/paneview.js +16 -36
- package/dist/cjs/paneview/view.d.ts +1 -1
- package/dist/cjs/react.d.ts +1 -1
- package/dist/cjs/react.js +16 -36
- package/dist/cjs/splitview/splitview.d.ts +1 -1
- package/dist/cjs/splitview/splitview.js +13 -33
- package/dist/cjs/svg.d.ts +1 -1
- package/dist/cjs/svg.js +7 -27
- package/dist/dockview.amd.js +119 -107
- package/dist/dockview.amd.js.map +1 -1
- package/dist/dockview.amd.min.js +2 -2
- package/dist/dockview.amd.min.js.map +1 -1
- package/dist/dockview.amd.min.noStyle.js +2 -2
- package/dist/dockview.amd.min.noStyle.js.map +1 -1
- package/dist/dockview.amd.noStyle.js +118 -106
- package/dist/dockview.amd.noStyle.js.map +1 -1
- package/dist/dockview.cjs.js +119 -107
- package/dist/dockview.cjs.js.map +1 -1
- package/dist/dockview.esm.js +59 -27
- package/dist/dockview.esm.js.map +1 -1
- package/dist/dockview.esm.min.js +2 -2
- package/dist/dockview.esm.min.js.map +1 -1
- package/dist/dockview.js +119 -107
- package/dist/dockview.js.map +1 -1
- package/dist/dockview.min.js +2 -2
- package/dist/dockview.min.js.map +1 -1
- package/dist/dockview.min.noStyle.js +2 -2
- package/dist/dockview.min.noStyle.js.map +1 -1
- package/dist/dockview.noStyle.js +118 -106
- package/dist/dockview.noStyle.js.map +1 -1
- package/dist/esm/dockview/defaultTab.d.ts +1 -1
- package/dist/esm/dockview/defaultTab.js +4 -4
- package/dist/esm/dockview/dockview.d.ts +1 -1
- package/dist/esm/dockview/dockview.js +1 -1
- package/dist/esm/dockview/headerActionsRenderer.d.ts +1 -1
- package/dist/esm/dockview/headerActionsRenderer.js +2 -0
- package/dist/esm/dockview/reactContentPart.d.ts +1 -1
- package/dist/esm/dockview/reactContentPart.js +2 -0
- package/dist/esm/dockview/reactHeaderPart.d.ts +1 -1
- package/dist/esm/dockview/reactHeaderPart.js +2 -0
- package/dist/esm/dockview/reactWatermarkPart.d.ts +1 -1
- package/dist/esm/dockview/reactWatermarkPart.js +2 -0
- package/dist/esm/gridview/gridview.d.ts +1 -1
- package/dist/esm/gridview/gridview.js +1 -1
- package/dist/esm/paneview/paneview.d.ts +1 -1
- package/dist/esm/paneview/paneview.js +1 -1
- package/dist/esm/paneview/view.d.ts +1 -1
- package/dist/esm/react.d.ts +1 -1
- package/dist/esm/react.js +2 -2
- package/dist/esm/splitview/splitview.d.ts +1 -1
- package/dist/esm/splitview/splitview.js +1 -1
- package/dist/esm/svg.d.ts +1 -1
- package/dist/esm/svg.js +1 -1
- package/dist/styles/dockview.css +849 -8
- package/package.json +3 -3
package/dist/dockview.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dockview
|
|
3
|
-
* @version 1.
|
|
3
|
+
* @version 1.12.0
|
|
4
4
|
* @link https://github.com/mathuo/dockview
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -10,26 +10,6 @@
|
|
|
10
10
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.dockview = {}, global.React, global.ReactDOM));
|
|
11
11
|
})(this, (function (exports, React, ReactDOM) { 'use strict';
|
|
12
12
|
|
|
13
|
-
function _interopNamespaceDefault(e) {
|
|
14
|
-
var n = Object.create(null);
|
|
15
|
-
if (e) {
|
|
16
|
-
Object.keys(e).forEach(function (k) {
|
|
17
|
-
if (k !== 'default') {
|
|
18
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
19
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
20
|
-
enumerable: true,
|
|
21
|
-
get: function () { return e[k]; }
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
n.default = e;
|
|
27
|
-
return Object.freeze(n);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
31
|
-
var ReactDOM__namespace = /*#__PURE__*/_interopNamespaceDefault(ReactDOM);
|
|
32
|
-
|
|
33
13
|
function styleInject(css, ref) {
|
|
34
14
|
if ( ref === void 0 ) ref = {};
|
|
35
15
|
var insertAt = ref.insertAt;
|
|
@@ -57,7 +37,7 @@
|
|
|
57
37
|
}
|
|
58
38
|
}
|
|
59
39
|
|
|
60
|
-
var css_248z = "@import \"dockview-core/dist/styles/dockview.css\";\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 .dv-react-tab-close-btn {\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 .dv-react-tab-close-btn:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tab.inactive-tab:not(:hover) .dv-react-tab-close-btn {\n visibility: hidden;\n}\n.dockview-react-part {\n height: 100%;\n width: 100%;\n}";
|
|
40
|
+
var css_248z = ".dv-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 999;\n}\n\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-gap-size: 3px;\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: ##fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-background-color: #ebeced;\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab .dockview-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .groupview .content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .groupview.active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview.inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.drop-target {\n position: relative;\n}\n.drop-target > .drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 1000;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition: top 70ms ease-out, left 70ms ease-out, width 70ms ease-out, height 70ms ease-out, opacity 0.15s ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n position: absolute;\n z-index: 997;\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-bring-to-front {\n z-index: 998;\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: 999;\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: se-resize;\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\n}\n.dv-dockview .split-view-container.horizontal > .view-container > .view:not(:last-child) {\n border-right: var(--dv-group-gap-size) solid transparent;\n}\n.dv-dockview .split-view-container.horizontal > .view-container > .view:not(:first-child) {\n border-left: var(--dv-group-gap-size) solid transparent;\n}\n.dv-dockview .split-view-container.vertical > .view-container > .view:not(:last-child) {\n border-bottom: var(--dv-group-gap-size) solid transparent;\n}\n.dv-dockview .split-view-container.vertical > .view-container > .view:not(:first-child) {\n border-top: var(--dv-group-gap-size) solid transparent;\n}\n\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.groupview:focus {\n outline: none;\n}\n.groupview.empty > .tabs-and-actions-container {\n display: none;\n}\n.groupview > .content-container {\n flex-grow: 1;\n min-height: 0;\n outline: none;\n}\n.dv-root-wrapper {\n height: 100%;\n width: 100%;\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: var(--dv-background-color);\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.tab.inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: elipsis;\n}\n.tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dv-default-tab .dv-default-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
|
|
61
41
|
styleInject(css_248z);
|
|
62
42
|
|
|
63
43
|
class TransferObject {
|
|
@@ -3597,7 +3577,7 @@
|
|
|
3597
3577
|
this.panel = panel;
|
|
3598
3578
|
let container;
|
|
3599
3579
|
switch (panel.api.renderer) {
|
|
3600
|
-
case '
|
|
3580
|
+
case 'onlyWhenVisible':
|
|
3601
3581
|
this.group.renderContainer.detatch(panel);
|
|
3602
3582
|
if (this.panel) {
|
|
3603
3583
|
if (doRender) {
|
|
@@ -3643,7 +3623,7 @@
|
|
|
3643
3623
|
closePanel() {
|
|
3644
3624
|
var _a;
|
|
3645
3625
|
if (this.panel) {
|
|
3646
|
-
if (this.panel.api.renderer === '
|
|
3626
|
+
if (this.panel.api.renderer === 'onlyWhenVisible') {
|
|
3647
3627
|
(_a = this.panel.view.content.element.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(this.panel.view.content.element);
|
|
3648
3628
|
}
|
|
3649
3629
|
}
|
|
@@ -4032,6 +4012,10 @@
|
|
|
4032
4012
|
}), this.voidContainer.onWillShowOverlay((event) => {
|
|
4033
4013
|
this._onWillShowOverlay.fire(new WillShowOverlayLocationEvent(event, {
|
|
4034
4014
|
kind: 'header_space',
|
|
4015
|
+
panel: this.group.activePanel,
|
|
4016
|
+
api: this.accessor.api,
|
|
4017
|
+
group: this.group,
|
|
4018
|
+
getData: getPanelData,
|
|
4035
4019
|
}));
|
|
4036
4020
|
}), addDisposableListener(this.voidContainer.element, 'mousedown', (event) => {
|
|
4037
4021
|
const isFloatingGroupsEnabled = !this.accessor.options.disableFloatingGroups;
|
|
@@ -4129,7 +4113,13 @@
|
|
|
4129
4113
|
index: this.tabs.findIndex((x) => x.value === tab),
|
|
4130
4114
|
});
|
|
4131
4115
|
}), tab.onWillShowOverlay((event) => {
|
|
4132
|
-
this._onWillShowOverlay.fire(new WillShowOverlayLocationEvent(event, {
|
|
4116
|
+
this._onWillShowOverlay.fire(new WillShowOverlayLocationEvent(event, {
|
|
4117
|
+
kind: 'tab',
|
|
4118
|
+
panel: this.group.activePanel,
|
|
4119
|
+
api: this.accessor.api,
|
|
4120
|
+
group: this.group,
|
|
4121
|
+
getData: getPanelData,
|
|
4122
|
+
}));
|
|
4133
4123
|
}));
|
|
4134
4124
|
const value = { value: tab, disposable };
|
|
4135
4125
|
this.addTab(value, index);
|
|
@@ -4182,7 +4172,7 @@
|
|
|
4182
4172
|
}
|
|
4183
4173
|
class WillShowOverlayLocationEvent {
|
|
4184
4174
|
get kind() {
|
|
4185
|
-
return this.
|
|
4175
|
+
return this.options.kind;
|
|
4186
4176
|
}
|
|
4187
4177
|
get nativeEvent() {
|
|
4188
4178
|
return this.event.nativeEvent;
|
|
@@ -4193,12 +4183,24 @@
|
|
|
4193
4183
|
get defaultPrevented() {
|
|
4194
4184
|
return this.event.defaultPrevented;
|
|
4195
4185
|
}
|
|
4186
|
+
get panel() {
|
|
4187
|
+
return this.options.panel;
|
|
4188
|
+
}
|
|
4189
|
+
get api() {
|
|
4190
|
+
return this.options.api;
|
|
4191
|
+
}
|
|
4192
|
+
get group() {
|
|
4193
|
+
return this.options.group;
|
|
4194
|
+
}
|
|
4196
4195
|
preventDefault() {
|
|
4197
4196
|
this.event.preventDefault();
|
|
4198
4197
|
}
|
|
4198
|
+
getData() {
|
|
4199
|
+
return this.options.getData();
|
|
4200
|
+
}
|
|
4199
4201
|
constructor(event, options) {
|
|
4200
4202
|
this.event = event;
|
|
4201
|
-
this.
|
|
4203
|
+
this.options = options;
|
|
4202
4204
|
}
|
|
4203
4205
|
}
|
|
4204
4206
|
class DockviewGroupPanelModel extends CompositeDisposable {
|
|
@@ -4337,6 +4339,10 @@
|
|
|
4337
4339
|
}), this.contentContainer.dropTarget.onWillShowOverlay((event) => {
|
|
4338
4340
|
this._onWillShowOverlay.fire(new WillShowOverlayLocationEvent(event, {
|
|
4339
4341
|
kind: 'content',
|
|
4342
|
+
panel: this.activePanel,
|
|
4343
|
+
api: this._api,
|
|
4344
|
+
group: this.groupPanel,
|
|
4345
|
+
getData: getPanelData,
|
|
4340
4346
|
}));
|
|
4341
4347
|
}), this._onMove, this._onDidChange, this._onDidDrop, this._onWillDrop, this._onDidAddPanel, this._onDidRemovePanel, this._onDidActivePanelChange);
|
|
4342
4348
|
}
|
|
@@ -6154,27 +6160,18 @@
|
|
|
6154
6160
|
//
|
|
6155
6161
|
this.params = {};
|
|
6156
6162
|
this._element = document.createElement('div');
|
|
6157
|
-
this._element.className = 'default-tab';
|
|
6163
|
+
this._element.className = 'dv-default-tab';
|
|
6158
6164
|
//
|
|
6159
6165
|
this._content = document.createElement('div');
|
|
6160
|
-
this._content.className = 'tab-content';
|
|
6161
|
-
//
|
|
6162
|
-
this._actionContainer = document.createElement('div');
|
|
6163
|
-
this._actionContainer.className = 'action-container';
|
|
6164
|
-
//
|
|
6165
|
-
this._list = document.createElement('ul');
|
|
6166
|
-
this._list.className = 'tab-list';
|
|
6167
|
-
//
|
|
6166
|
+
this._content.className = 'dv-default-tab-content';
|
|
6168
6167
|
this.action = document.createElement('div');
|
|
6169
|
-
this.action.className = 'tab-action';
|
|
6168
|
+
this.action.className = 'dv-default-tab-action';
|
|
6170
6169
|
this.action.appendChild(createCloseButton());
|
|
6171
6170
|
//
|
|
6172
6171
|
this._element.appendChild(this._content);
|
|
6173
|
-
this._element.appendChild(this.
|
|
6174
|
-
this._actionContainer.appendChild(this._list);
|
|
6175
|
-
this._list.appendChild(this.action);
|
|
6172
|
+
this._element.appendChild(this.action);
|
|
6176
6173
|
//
|
|
6177
|
-
this.addDisposables(addDisposableListener(this.
|
|
6174
|
+
this.addDisposables(addDisposableListener(this.action, 'mousedown', (ev) => {
|
|
6178
6175
|
ev.preventDefault();
|
|
6179
6176
|
}));
|
|
6180
6177
|
this.render();
|
|
@@ -6991,7 +6988,10 @@
|
|
|
6991
6988
|
}
|
|
6992
6989
|
get renderer() {
|
|
6993
6990
|
var _a;
|
|
6994
|
-
return (_a = this.options.defaultRenderer) !== null && _a !== void 0 ? _a : '
|
|
6991
|
+
return (_a = this.options.defaultRenderer) !== null && _a !== void 0 ? _a : 'onlyWhenVisible';
|
|
6992
|
+
}
|
|
6993
|
+
get api() {
|
|
6994
|
+
return this._api;
|
|
6995
6995
|
}
|
|
6996
6996
|
constructor(options) {
|
|
6997
6997
|
var _a, _b;
|
|
@@ -7126,6 +7126,10 @@
|
|
|
7126
7126
|
}
|
|
7127
7127
|
this._onWillShowOverlay.fire(new WillShowOverlayLocationEvent(event, {
|
|
7128
7128
|
kind: 'edge',
|
|
7129
|
+
panel: undefined,
|
|
7130
|
+
api: this._api,
|
|
7131
|
+
group: undefined,
|
|
7132
|
+
getData: getPanelData,
|
|
7129
7133
|
}));
|
|
7130
7134
|
}), this._rootDropTarget.onDrop((event) => {
|
|
7131
7135
|
var _a;
|
|
@@ -9277,9 +9281,9 @@
|
|
|
9277
9281
|
* component
|
|
9278
9282
|
*/
|
|
9279
9283
|
const ReactComponentBridge = (props, ref) => {
|
|
9280
|
-
const [_, triggerRender] =
|
|
9281
|
-
const _props =
|
|
9282
|
-
|
|
9284
|
+
const [_, triggerRender] = React.useState();
|
|
9285
|
+
const _props = React.useRef(props.componentProps);
|
|
9286
|
+
React.useImperativeHandle(ref, () => ({
|
|
9283
9287
|
update: (componentProps) => {
|
|
9284
9288
|
_props.current = Object.assign(Object.assign({}, _props.current), componentProps);
|
|
9285
9289
|
/**
|
|
@@ -9291,7 +9295,7 @@
|
|
|
9291
9295
|
triggerRender(Date.now());
|
|
9292
9296
|
},
|
|
9293
9297
|
}), []);
|
|
9294
|
-
return
|
|
9298
|
+
return React.createElement(props.component, _props.current);
|
|
9295
9299
|
};
|
|
9296
9300
|
ReactComponentBridge.displayName = 'DockviewReactJsBridge';
|
|
9297
9301
|
/**
|
|
@@ -9303,7 +9307,7 @@
|
|
|
9303
9307
|
let value = 1;
|
|
9304
9308
|
return { next: () => `dockview_react_portal_key_${(value++).toString()}` };
|
|
9305
9309
|
})();
|
|
9306
|
-
const ReactPartContext =
|
|
9310
|
+
const ReactPartContext = React.createContext({});
|
|
9307
9311
|
class ReactPart {
|
|
9308
9312
|
constructor(parent, portalStore, component, parameters, context) {
|
|
9309
9313
|
this.parent = parent;
|
|
@@ -9339,7 +9343,7 @@
|
|
|
9339
9343
|
*/
|
|
9340
9344
|
throw new Error('Dockview: Only React.memo(...), React.ForwardRef(...) and functional components are accepted as components');
|
|
9341
9345
|
}
|
|
9342
|
-
const bridgeComponent =
|
|
9346
|
+
const bridgeComponent = React.createElement(React.forwardRef(ReactComponentBridge), {
|
|
9343
9347
|
component: this
|
|
9344
9348
|
.component,
|
|
9345
9349
|
componentProps: this.parameters,
|
|
@@ -9352,9 +9356,9 @@
|
|
|
9352
9356
|
},
|
|
9353
9357
|
});
|
|
9354
9358
|
const node = this.context
|
|
9355
|
-
?
|
|
9359
|
+
? React.createElement(ReactPartContext.Provider, { value: this.context }, bridgeComponent)
|
|
9356
9360
|
: bridgeComponent;
|
|
9357
|
-
const portal =
|
|
9361
|
+
const portal = ReactDOM.createPortal(node, this.parent, uniquePortalKeyGenerator.next());
|
|
9358
9362
|
this.ref = {
|
|
9359
9363
|
portal,
|
|
9360
9364
|
disposable: this.portalStore.addPortal(portal),
|
|
@@ -9372,9 +9376,9 @@
|
|
|
9372
9376
|
* portal array
|
|
9373
9377
|
*/
|
|
9374
9378
|
const usePortalsLifecycle = () => {
|
|
9375
|
-
const [portals, setPortals] =
|
|
9376
|
-
|
|
9377
|
-
const addPortal =
|
|
9379
|
+
const [portals, setPortals] = React.useState([]);
|
|
9380
|
+
React.useDebugValue(`Portal count: ${portals.length}`);
|
|
9381
|
+
const addPortal = React.useCallback((portal) => {
|
|
9378
9382
|
setPortals((existingPortals) => [...existingPortals, portal]);
|
|
9379
9383
|
let disposed = false;
|
|
9380
9384
|
return {
|
|
@@ -9412,6 +9416,8 @@
|
|
|
9412
9416
|
this.onDidBlur = this._onDidBlur.event;
|
|
9413
9417
|
this._element = document.createElement('div');
|
|
9414
9418
|
this._element.className = 'dockview-react-part';
|
|
9419
|
+
this._element.style.height = '100%';
|
|
9420
|
+
this._element.style.width = '100%';
|
|
9415
9421
|
}
|
|
9416
9422
|
focus() {
|
|
9417
9423
|
// TODO
|
|
@@ -9448,6 +9454,8 @@
|
|
|
9448
9454
|
this.reactPortalStore = reactPortalStore;
|
|
9449
9455
|
this._element = document.createElement('div');
|
|
9450
9456
|
this._element.className = 'dockview-react-part';
|
|
9457
|
+
this._element.style.height = '100%';
|
|
9458
|
+
this._element.style.width = '100%';
|
|
9451
9459
|
}
|
|
9452
9460
|
focus() {
|
|
9453
9461
|
//noop
|
|
@@ -9482,6 +9490,8 @@
|
|
|
9482
9490
|
this.reactPortalStore = reactPortalStore;
|
|
9483
9491
|
this._element = document.createElement('div');
|
|
9484
9492
|
this._element.className = 'dockview-react-part';
|
|
9493
|
+
this._element.style.height = '100%';
|
|
9494
|
+
this._element.style.width = '100%';
|
|
9485
9495
|
}
|
|
9486
9496
|
init(parameters) {
|
|
9487
9497
|
this.part = new ReactPart(this.element, this.reactPortalStore, this.component, {
|
|
@@ -9533,6 +9543,8 @@
|
|
|
9533
9543
|
this.mutableDisposable = new MutableDisposable();
|
|
9534
9544
|
this._element = document.createElement('div');
|
|
9535
9545
|
this._element.className = 'dockview-react-part';
|
|
9546
|
+
this._element.style.height = '100%';
|
|
9547
|
+
this._element.style.width = '100%';
|
|
9536
9548
|
}
|
|
9537
9549
|
focus() {
|
|
9538
9550
|
// TODO
|
|
@@ -9592,12 +9604,12 @@
|
|
|
9592
9604
|
: undefined;
|
|
9593
9605
|
}
|
|
9594
9606
|
const DEFAULT_REACT_TAB = 'props.defaultTabComponent';
|
|
9595
|
-
const DockviewReact =
|
|
9596
|
-
const domRef =
|
|
9597
|
-
const dockviewRef =
|
|
9607
|
+
const DockviewReact = React.forwardRef((props, ref) => {
|
|
9608
|
+
const domRef = React.useRef(null);
|
|
9609
|
+
const dockviewRef = React.useRef();
|
|
9598
9610
|
const [portals, addPortal] = usePortalsLifecycle();
|
|
9599
|
-
|
|
9600
|
-
|
|
9611
|
+
React.useImperativeHandle(ref, () => domRef.current, []);
|
|
9612
|
+
React.useEffect(() => {
|
|
9601
9613
|
var _a;
|
|
9602
9614
|
if (!domRef.current) {
|
|
9603
9615
|
return () => {
|
|
@@ -9668,13 +9680,13 @@
|
|
|
9668
9680
|
dockview.dispose();
|
|
9669
9681
|
};
|
|
9670
9682
|
}, []);
|
|
9671
|
-
|
|
9683
|
+
React.useEffect(() => {
|
|
9672
9684
|
if (!dockviewRef.current) {
|
|
9673
9685
|
return;
|
|
9674
9686
|
}
|
|
9675
9687
|
dockviewRef.current.locked = !!props.locked;
|
|
9676
9688
|
}, [props.locked]);
|
|
9677
|
-
|
|
9689
|
+
React.useEffect(() => {
|
|
9678
9690
|
if (!dockviewRef.current) {
|
|
9679
9691
|
return;
|
|
9680
9692
|
}
|
|
@@ -9682,7 +9694,7 @@
|
|
|
9682
9694
|
disableDnd: props.disableDnd,
|
|
9683
9695
|
});
|
|
9684
9696
|
}, [props.disableDnd]);
|
|
9685
|
-
|
|
9697
|
+
React.useEffect(() => {
|
|
9686
9698
|
if (!dockviewRef.current) {
|
|
9687
9699
|
return () => {
|
|
9688
9700
|
// noop
|
|
@@ -9697,7 +9709,7 @@
|
|
|
9697
9709
|
disposable.dispose();
|
|
9698
9710
|
};
|
|
9699
9711
|
}, [props.onDidDrop]);
|
|
9700
|
-
|
|
9712
|
+
React.useEffect(() => {
|
|
9701
9713
|
if (!dockviewRef.current) {
|
|
9702
9714
|
return () => {
|
|
9703
9715
|
// noop
|
|
@@ -9712,7 +9724,7 @@
|
|
|
9712
9724
|
disposable.dispose();
|
|
9713
9725
|
};
|
|
9714
9726
|
}, [props.onWillDrop]);
|
|
9715
|
-
|
|
9727
|
+
React.useEffect(() => {
|
|
9716
9728
|
if (!dockviewRef.current) {
|
|
9717
9729
|
return;
|
|
9718
9730
|
}
|
|
@@ -9720,7 +9732,7 @@
|
|
|
9720
9732
|
frameworkComponents: props.components,
|
|
9721
9733
|
});
|
|
9722
9734
|
}, [props.components]);
|
|
9723
|
-
|
|
9735
|
+
React.useEffect(() => {
|
|
9724
9736
|
if (!dockviewRef.current) {
|
|
9725
9737
|
return;
|
|
9726
9738
|
}
|
|
@@ -9728,7 +9740,7 @@
|
|
|
9728
9740
|
floatingGroupBounds: props.floatingGroupBounds,
|
|
9729
9741
|
});
|
|
9730
9742
|
}, [props.floatingGroupBounds]);
|
|
9731
|
-
|
|
9743
|
+
React.useEffect(() => {
|
|
9732
9744
|
if (!dockviewRef.current) {
|
|
9733
9745
|
return;
|
|
9734
9746
|
}
|
|
@@ -9736,7 +9748,7 @@
|
|
|
9736
9748
|
watermarkFrameworkComponent: props.watermarkComponent,
|
|
9737
9749
|
});
|
|
9738
9750
|
}, [props.watermarkComponent]);
|
|
9739
|
-
|
|
9751
|
+
React.useEffect(() => {
|
|
9740
9752
|
if (!dockviewRef.current) {
|
|
9741
9753
|
return;
|
|
9742
9754
|
}
|
|
@@ -9744,7 +9756,7 @@
|
|
|
9744
9756
|
showDndOverlay: props.showDndOverlay,
|
|
9745
9757
|
});
|
|
9746
9758
|
}, [props.showDndOverlay]);
|
|
9747
|
-
|
|
9759
|
+
React.useEffect(() => {
|
|
9748
9760
|
if (!dockviewRef.current) {
|
|
9749
9761
|
return;
|
|
9750
9762
|
}
|
|
@@ -9752,7 +9764,7 @@
|
|
|
9752
9764
|
frameworkTabComponents: props.tabComponents,
|
|
9753
9765
|
});
|
|
9754
9766
|
}, [props.tabComponents]);
|
|
9755
|
-
|
|
9767
|
+
React.useEffect(() => {
|
|
9756
9768
|
if (!dockviewRef.current) {
|
|
9757
9769
|
return;
|
|
9758
9770
|
}
|
|
@@ -9760,7 +9772,7 @@
|
|
|
9760
9772
|
disableFloatingGroups: props.disableFloatingGroups,
|
|
9761
9773
|
});
|
|
9762
9774
|
}, [props.disableFloatingGroups]);
|
|
9763
|
-
|
|
9775
|
+
React.useEffect(() => {
|
|
9764
9776
|
var _a;
|
|
9765
9777
|
if (!dockviewRef.current) {
|
|
9766
9778
|
return;
|
|
@@ -9777,7 +9789,7 @@
|
|
|
9777
9789
|
frameworkTabComponents,
|
|
9778
9790
|
});
|
|
9779
9791
|
}, [props.defaultTabComponent]);
|
|
9780
|
-
|
|
9792
|
+
React.useEffect(() => {
|
|
9781
9793
|
if (!dockviewRef.current) {
|
|
9782
9794
|
return;
|
|
9783
9795
|
}
|
|
@@ -9785,7 +9797,7 @@
|
|
|
9785
9797
|
createRightHeaderActionsElement: createGroupControlElement(props.rightHeaderActionsComponent, { addPortal }),
|
|
9786
9798
|
});
|
|
9787
9799
|
}, [props.rightHeaderActionsComponent]);
|
|
9788
|
-
|
|
9800
|
+
React.useEffect(() => {
|
|
9789
9801
|
if (!dockviewRef.current) {
|
|
9790
9802
|
return;
|
|
9791
9803
|
}
|
|
@@ -9793,7 +9805,7 @@
|
|
|
9793
9805
|
createLeftHeaderActionsElement: createGroupControlElement(props.leftHeaderActionsComponent, { addPortal }),
|
|
9794
9806
|
});
|
|
9795
9807
|
}, [props.leftHeaderActionsComponent]);
|
|
9796
|
-
|
|
9808
|
+
React.useEffect(() => {
|
|
9797
9809
|
if (!dockviewRef.current) {
|
|
9798
9810
|
return;
|
|
9799
9811
|
}
|
|
@@ -9801,7 +9813,7 @@
|
|
|
9801
9813
|
rootOverlayModel: props.rootOverlayModel,
|
|
9802
9814
|
});
|
|
9803
9815
|
}, [props.rootOverlayModel]);
|
|
9804
|
-
|
|
9816
|
+
React.useEffect(() => {
|
|
9805
9817
|
if (!dockviewRef.current) {
|
|
9806
9818
|
return;
|
|
9807
9819
|
}
|
|
@@ -9809,7 +9821,7 @@
|
|
|
9809
9821
|
createPrefixHeaderActionsElement: createGroupControlElement(props.prefixHeaderActionsComponent, { addPortal }),
|
|
9810
9822
|
});
|
|
9811
9823
|
}, [props.prefixHeaderActionsComponent]);
|
|
9812
|
-
return (
|
|
9824
|
+
return (React.createElement("div", { className: props.className, style: { height: '100%', width: '100%' }, ref: domRef }, portals));
|
|
9813
9825
|
});
|
|
9814
9826
|
DockviewReact.displayName = 'DockviewComponent';
|
|
9815
9827
|
|
|
@@ -9847,12 +9859,12 @@
|
|
|
9847
9859
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
9848
9860
|
};
|
|
9849
9861
|
|
|
9850
|
-
const CloseButton = () => (
|
|
9851
|
-
|
|
9862
|
+
const CloseButton = () => (React.createElement("svg", { height: "11", width: "11", viewBox: "0 0 28 28", "aria-hidden": 'false', focusable: false, className: "dockview-svg" },
|
|
9863
|
+
React.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" })));
|
|
9852
9864
|
|
|
9853
9865
|
const DockviewDefaultTab = (_a) => {
|
|
9854
9866
|
var { api, containerApi: _containerApi, params: _params, hideClose, closeActionOverride } = _a, rest = __rest(_a, ["api", "containerApi", "params", "hideClose", "closeActionOverride"]);
|
|
9855
|
-
const onClose =
|
|
9867
|
+
const onClose = React.useCallback((event) => {
|
|
9856
9868
|
event.preventDefault();
|
|
9857
9869
|
if (closeActionOverride) {
|
|
9858
9870
|
closeActionOverride();
|
|
@@ -9861,10 +9873,10 @@
|
|
|
9861
9873
|
api.close();
|
|
9862
9874
|
}
|
|
9863
9875
|
}, [api, closeActionOverride]);
|
|
9864
|
-
const onMouseDown =
|
|
9876
|
+
const onMouseDown = React.useCallback((e) => {
|
|
9865
9877
|
e.preventDefault();
|
|
9866
9878
|
}, []);
|
|
9867
|
-
const onClick =
|
|
9879
|
+
const onClick = React.useCallback((event) => {
|
|
9868
9880
|
if (event.defaultPrevented) {
|
|
9869
9881
|
return;
|
|
9870
9882
|
}
|
|
@@ -9873,10 +9885,10 @@
|
|
|
9873
9885
|
rest.onClick(event);
|
|
9874
9886
|
}
|
|
9875
9887
|
}, [api, rest.onClick]);
|
|
9876
|
-
return (
|
|
9877
|
-
|
|
9878
|
-
!hideClose && (
|
|
9879
|
-
|
|
9888
|
+
return (React.createElement("div", Object.assign({ "data-testid": "dockview-dv-default-tab" }, rest, { onClick: onClick, className: "dv-default-tab" }),
|
|
9889
|
+
React.createElement("span", { className: "dv-default-tab-content" }, api.title),
|
|
9890
|
+
!hideClose && (React.createElement("div", { className: "dv-default-tab-action", onMouseDown: onMouseDown, onClick: onClose },
|
|
9891
|
+
React.createElement(CloseButton, null)))));
|
|
9880
9892
|
};
|
|
9881
9893
|
|
|
9882
9894
|
class ReactPanelView extends SplitviewPanel {
|
|
@@ -9895,12 +9907,12 @@
|
|
|
9895
9907
|
}
|
|
9896
9908
|
}
|
|
9897
9909
|
|
|
9898
|
-
const SplitviewReact =
|
|
9899
|
-
const domRef =
|
|
9900
|
-
const splitviewRef =
|
|
9910
|
+
const SplitviewReact = React.forwardRef((props, ref) => {
|
|
9911
|
+
const domRef = React.useRef(null);
|
|
9912
|
+
const splitviewRef = React.useRef();
|
|
9901
9913
|
const [portals, addPortal] = usePortalsLifecycle();
|
|
9902
|
-
|
|
9903
|
-
|
|
9914
|
+
React.useImperativeHandle(ref, () => domRef.current, []);
|
|
9915
|
+
React.useEffect(() => {
|
|
9904
9916
|
var _a;
|
|
9905
9917
|
const splitview = new SplitviewComponent({
|
|
9906
9918
|
parentElement: domRef.current,
|
|
@@ -9931,7 +9943,7 @@
|
|
|
9931
9943
|
splitview.dispose();
|
|
9932
9944
|
};
|
|
9933
9945
|
}, []);
|
|
9934
|
-
|
|
9946
|
+
React.useEffect(() => {
|
|
9935
9947
|
if (!splitviewRef.current) {
|
|
9936
9948
|
return;
|
|
9937
9949
|
}
|
|
@@ -9939,7 +9951,7 @@
|
|
|
9939
9951
|
frameworkComponents: props.components,
|
|
9940
9952
|
});
|
|
9941
9953
|
}, [props.components]);
|
|
9942
|
-
return (
|
|
9954
|
+
return (React.createElement("div", { className: props.className, style: { height: '100%', width: '100%' }, ref: domRef }, portals));
|
|
9943
9955
|
});
|
|
9944
9956
|
SplitviewReact.displayName = 'SplitviewComponent';
|
|
9945
9957
|
|
|
@@ -9961,12 +9973,12 @@
|
|
|
9961
9973
|
}
|
|
9962
9974
|
}
|
|
9963
9975
|
|
|
9964
|
-
const GridviewReact =
|
|
9965
|
-
const domRef =
|
|
9966
|
-
const gridviewRef =
|
|
9976
|
+
const GridviewReact = React.forwardRef((props, ref) => {
|
|
9977
|
+
const domRef = React.useRef(null);
|
|
9978
|
+
const gridviewRef = React.useRef();
|
|
9967
9979
|
const [portals, addPortal] = usePortalsLifecycle();
|
|
9968
|
-
|
|
9969
|
-
|
|
9980
|
+
React.useImperativeHandle(ref, () => domRef.current, []);
|
|
9981
|
+
React.useEffect(() => {
|
|
9970
9982
|
var _a;
|
|
9971
9983
|
if (!domRef.current) {
|
|
9972
9984
|
return () => {
|
|
@@ -10002,7 +10014,7 @@
|
|
|
10002
10014
|
gridview.dispose();
|
|
10003
10015
|
};
|
|
10004
10016
|
}, []);
|
|
10005
|
-
|
|
10017
|
+
React.useEffect(() => {
|
|
10006
10018
|
if (!gridviewRef.current) {
|
|
10007
10019
|
return;
|
|
10008
10020
|
}
|
|
@@ -10010,7 +10022,7 @@
|
|
|
10010
10022
|
frameworkComponents: props.components,
|
|
10011
10023
|
});
|
|
10012
10024
|
}, [props.components]);
|
|
10013
|
-
return (
|
|
10025
|
+
return (React.createElement("div", { className: props.className, style: { height: '100%', width: '100%' }, ref: domRef }, portals));
|
|
10014
10026
|
});
|
|
10015
10027
|
GridviewReact.displayName = 'GridviewComponent';
|
|
10016
10028
|
|
|
@@ -10049,12 +10061,12 @@
|
|
|
10049
10061
|
}
|
|
10050
10062
|
}
|
|
10051
10063
|
|
|
10052
|
-
const PaneviewReact =
|
|
10053
|
-
const domRef =
|
|
10054
|
-
const paneviewRef =
|
|
10064
|
+
const PaneviewReact = React.forwardRef((props, ref) => {
|
|
10065
|
+
const domRef = React.useRef(null);
|
|
10066
|
+
const paneviewRef = React.useRef();
|
|
10055
10067
|
const [portals, addPortal] = usePortalsLifecycle();
|
|
10056
|
-
|
|
10057
|
-
|
|
10068
|
+
React.useImperativeHandle(ref, () => domRef.current, []);
|
|
10069
|
+
React.useEffect(() => {
|
|
10058
10070
|
const createComponent = (id, _componentId, component) => new PanePanelSection(id, component, {
|
|
10059
10071
|
addPortal,
|
|
10060
10072
|
});
|
|
@@ -10087,7 +10099,7 @@
|
|
|
10087
10099
|
paneview.dispose();
|
|
10088
10100
|
};
|
|
10089
10101
|
}, []);
|
|
10090
|
-
|
|
10102
|
+
React.useEffect(() => {
|
|
10091
10103
|
if (!paneviewRef.current) {
|
|
10092
10104
|
return;
|
|
10093
10105
|
}
|
|
@@ -10095,7 +10107,7 @@
|
|
|
10095
10107
|
frameworkComponents: props.components,
|
|
10096
10108
|
});
|
|
10097
10109
|
}, [props.components]);
|
|
10098
|
-
|
|
10110
|
+
React.useEffect(() => {
|
|
10099
10111
|
if (!paneviewRef.current) {
|
|
10100
10112
|
return;
|
|
10101
10113
|
}
|
|
@@ -10103,7 +10115,7 @@
|
|
|
10103
10115
|
headerframeworkComponents: props.headerComponents,
|
|
10104
10116
|
});
|
|
10105
10117
|
}, [props.headerComponents]);
|
|
10106
|
-
|
|
10118
|
+
React.useEffect(() => {
|
|
10107
10119
|
if (!paneviewRef.current) {
|
|
10108
10120
|
return () => {
|
|
10109
10121
|
//
|
|
@@ -10119,7 +10131,7 @@
|
|
|
10119
10131
|
disposable.dispose();
|
|
10120
10132
|
};
|
|
10121
10133
|
}, [props.onDidDrop]);
|
|
10122
|
-
|
|
10134
|
+
React.useEffect(() => {
|
|
10123
10135
|
if (!paneviewRef.current) {
|
|
10124
10136
|
return;
|
|
10125
10137
|
}
|
|
@@ -10127,7 +10139,7 @@
|
|
|
10127
10139
|
showDndOverlay: props.showDndOverlay,
|
|
10128
10140
|
});
|
|
10129
10141
|
}, [props.showDndOverlay]);
|
|
10130
|
-
return (
|
|
10142
|
+
return (React.createElement("div", { className: props.className, style: { height: '100%', width: '100%' }, ref: domRef }, portals));
|
|
10131
10143
|
});
|
|
10132
10144
|
PaneviewReact.displayName = 'PaneviewComponent';
|
|
10133
10145
|
|