dockview 1.10.2 → 1.11.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 +80 -101
- 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 +79 -100
- package/dist/dockview.amd.noStyle.js.map +1 -1
- package/dist/dockview.cjs.js +80 -101
- package/dist/dockview.cjs.js.map +1 -1
- package/dist/dockview.esm.js +20 -21
- 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 +80 -101
- 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 +79 -100
- 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.11.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 {
|
|
@@ -6154,27 +6134,18 @@
|
|
|
6154
6134
|
//
|
|
6155
6135
|
this.params = {};
|
|
6156
6136
|
this._element = document.createElement('div');
|
|
6157
|
-
this._element.className = 'default-tab';
|
|
6137
|
+
this._element.className = 'dv-default-tab';
|
|
6158
6138
|
//
|
|
6159
6139
|
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
|
-
//
|
|
6140
|
+
this._content.className = 'dv-default-tab-content';
|
|
6168
6141
|
this.action = document.createElement('div');
|
|
6169
|
-
this.action.className = 'tab-action';
|
|
6142
|
+
this.action.className = 'dv-default-tab-action';
|
|
6170
6143
|
this.action.appendChild(createCloseButton());
|
|
6171
6144
|
//
|
|
6172
6145
|
this._element.appendChild(this._content);
|
|
6173
|
-
this._element.appendChild(this.
|
|
6174
|
-
this._actionContainer.appendChild(this._list);
|
|
6175
|
-
this._list.appendChild(this.action);
|
|
6146
|
+
this._element.appendChild(this.action);
|
|
6176
6147
|
//
|
|
6177
|
-
this.addDisposables(addDisposableListener(this.
|
|
6148
|
+
this.addDisposables(addDisposableListener(this.action, 'mousedown', (ev) => {
|
|
6178
6149
|
ev.preventDefault();
|
|
6179
6150
|
}));
|
|
6180
6151
|
this.render();
|
|
@@ -9277,9 +9248,9 @@
|
|
|
9277
9248
|
* component
|
|
9278
9249
|
*/
|
|
9279
9250
|
const ReactComponentBridge = (props, ref) => {
|
|
9280
|
-
const [_, triggerRender] =
|
|
9281
|
-
const _props =
|
|
9282
|
-
|
|
9251
|
+
const [_, triggerRender] = React.useState();
|
|
9252
|
+
const _props = React.useRef(props.componentProps);
|
|
9253
|
+
React.useImperativeHandle(ref, () => ({
|
|
9283
9254
|
update: (componentProps) => {
|
|
9284
9255
|
_props.current = Object.assign(Object.assign({}, _props.current), componentProps);
|
|
9285
9256
|
/**
|
|
@@ -9291,7 +9262,7 @@
|
|
|
9291
9262
|
triggerRender(Date.now());
|
|
9292
9263
|
},
|
|
9293
9264
|
}), []);
|
|
9294
|
-
return
|
|
9265
|
+
return React.createElement(props.component, _props.current);
|
|
9295
9266
|
};
|
|
9296
9267
|
ReactComponentBridge.displayName = 'DockviewReactJsBridge';
|
|
9297
9268
|
/**
|
|
@@ -9303,7 +9274,7 @@
|
|
|
9303
9274
|
let value = 1;
|
|
9304
9275
|
return { next: () => `dockview_react_portal_key_${(value++).toString()}` };
|
|
9305
9276
|
})();
|
|
9306
|
-
const ReactPartContext =
|
|
9277
|
+
const ReactPartContext = React.createContext({});
|
|
9307
9278
|
class ReactPart {
|
|
9308
9279
|
constructor(parent, portalStore, component, parameters, context) {
|
|
9309
9280
|
this.parent = parent;
|
|
@@ -9339,7 +9310,7 @@
|
|
|
9339
9310
|
*/
|
|
9340
9311
|
throw new Error('Dockview: Only React.memo(...), React.ForwardRef(...) and functional components are accepted as components');
|
|
9341
9312
|
}
|
|
9342
|
-
const bridgeComponent =
|
|
9313
|
+
const bridgeComponent = React.createElement(React.forwardRef(ReactComponentBridge), {
|
|
9343
9314
|
component: this
|
|
9344
9315
|
.component,
|
|
9345
9316
|
componentProps: this.parameters,
|
|
@@ -9352,9 +9323,9 @@
|
|
|
9352
9323
|
},
|
|
9353
9324
|
});
|
|
9354
9325
|
const node = this.context
|
|
9355
|
-
?
|
|
9326
|
+
? React.createElement(ReactPartContext.Provider, { value: this.context }, bridgeComponent)
|
|
9356
9327
|
: bridgeComponent;
|
|
9357
|
-
const portal =
|
|
9328
|
+
const portal = ReactDOM.createPortal(node, this.parent, uniquePortalKeyGenerator.next());
|
|
9358
9329
|
this.ref = {
|
|
9359
9330
|
portal,
|
|
9360
9331
|
disposable: this.portalStore.addPortal(portal),
|
|
@@ -9372,9 +9343,9 @@
|
|
|
9372
9343
|
* portal array
|
|
9373
9344
|
*/
|
|
9374
9345
|
const usePortalsLifecycle = () => {
|
|
9375
|
-
const [portals, setPortals] =
|
|
9376
|
-
|
|
9377
|
-
const addPortal =
|
|
9346
|
+
const [portals, setPortals] = React.useState([]);
|
|
9347
|
+
React.useDebugValue(`Portal count: ${portals.length}`);
|
|
9348
|
+
const addPortal = React.useCallback((portal) => {
|
|
9378
9349
|
setPortals((existingPortals) => [...existingPortals, portal]);
|
|
9379
9350
|
let disposed = false;
|
|
9380
9351
|
return {
|
|
@@ -9412,6 +9383,8 @@
|
|
|
9412
9383
|
this.onDidBlur = this._onDidBlur.event;
|
|
9413
9384
|
this._element = document.createElement('div');
|
|
9414
9385
|
this._element.className = 'dockview-react-part';
|
|
9386
|
+
this._element.style.height = '100%';
|
|
9387
|
+
this._element.style.width = '100%';
|
|
9415
9388
|
}
|
|
9416
9389
|
focus() {
|
|
9417
9390
|
// TODO
|
|
@@ -9448,6 +9421,8 @@
|
|
|
9448
9421
|
this.reactPortalStore = reactPortalStore;
|
|
9449
9422
|
this._element = document.createElement('div');
|
|
9450
9423
|
this._element.className = 'dockview-react-part';
|
|
9424
|
+
this._element.style.height = '100%';
|
|
9425
|
+
this._element.style.width = '100%';
|
|
9451
9426
|
}
|
|
9452
9427
|
focus() {
|
|
9453
9428
|
//noop
|
|
@@ -9482,6 +9457,8 @@
|
|
|
9482
9457
|
this.reactPortalStore = reactPortalStore;
|
|
9483
9458
|
this._element = document.createElement('div');
|
|
9484
9459
|
this._element.className = 'dockview-react-part';
|
|
9460
|
+
this._element.style.height = '100%';
|
|
9461
|
+
this._element.style.width = '100%';
|
|
9485
9462
|
}
|
|
9486
9463
|
init(parameters) {
|
|
9487
9464
|
this.part = new ReactPart(this.element, this.reactPortalStore, this.component, {
|
|
@@ -9533,6 +9510,8 @@
|
|
|
9533
9510
|
this.mutableDisposable = new MutableDisposable();
|
|
9534
9511
|
this._element = document.createElement('div');
|
|
9535
9512
|
this._element.className = 'dockview-react-part';
|
|
9513
|
+
this._element.style.height = '100%';
|
|
9514
|
+
this._element.style.width = '100%';
|
|
9536
9515
|
}
|
|
9537
9516
|
focus() {
|
|
9538
9517
|
// TODO
|
|
@@ -9592,12 +9571,12 @@
|
|
|
9592
9571
|
: undefined;
|
|
9593
9572
|
}
|
|
9594
9573
|
const DEFAULT_REACT_TAB = 'props.defaultTabComponent';
|
|
9595
|
-
const DockviewReact =
|
|
9596
|
-
const domRef =
|
|
9597
|
-
const dockviewRef =
|
|
9574
|
+
const DockviewReact = React.forwardRef((props, ref) => {
|
|
9575
|
+
const domRef = React.useRef(null);
|
|
9576
|
+
const dockviewRef = React.useRef();
|
|
9598
9577
|
const [portals, addPortal] = usePortalsLifecycle();
|
|
9599
|
-
|
|
9600
|
-
|
|
9578
|
+
React.useImperativeHandle(ref, () => domRef.current, []);
|
|
9579
|
+
React.useEffect(() => {
|
|
9601
9580
|
var _a;
|
|
9602
9581
|
if (!domRef.current) {
|
|
9603
9582
|
return () => {
|
|
@@ -9668,13 +9647,13 @@
|
|
|
9668
9647
|
dockview.dispose();
|
|
9669
9648
|
};
|
|
9670
9649
|
}, []);
|
|
9671
|
-
|
|
9650
|
+
React.useEffect(() => {
|
|
9672
9651
|
if (!dockviewRef.current) {
|
|
9673
9652
|
return;
|
|
9674
9653
|
}
|
|
9675
9654
|
dockviewRef.current.locked = !!props.locked;
|
|
9676
9655
|
}, [props.locked]);
|
|
9677
|
-
|
|
9656
|
+
React.useEffect(() => {
|
|
9678
9657
|
if (!dockviewRef.current) {
|
|
9679
9658
|
return;
|
|
9680
9659
|
}
|
|
@@ -9682,7 +9661,7 @@
|
|
|
9682
9661
|
disableDnd: props.disableDnd,
|
|
9683
9662
|
});
|
|
9684
9663
|
}, [props.disableDnd]);
|
|
9685
|
-
|
|
9664
|
+
React.useEffect(() => {
|
|
9686
9665
|
if (!dockviewRef.current) {
|
|
9687
9666
|
return () => {
|
|
9688
9667
|
// noop
|
|
@@ -9697,7 +9676,7 @@
|
|
|
9697
9676
|
disposable.dispose();
|
|
9698
9677
|
};
|
|
9699
9678
|
}, [props.onDidDrop]);
|
|
9700
|
-
|
|
9679
|
+
React.useEffect(() => {
|
|
9701
9680
|
if (!dockviewRef.current) {
|
|
9702
9681
|
return () => {
|
|
9703
9682
|
// noop
|
|
@@ -9712,7 +9691,7 @@
|
|
|
9712
9691
|
disposable.dispose();
|
|
9713
9692
|
};
|
|
9714
9693
|
}, [props.onWillDrop]);
|
|
9715
|
-
|
|
9694
|
+
React.useEffect(() => {
|
|
9716
9695
|
if (!dockviewRef.current) {
|
|
9717
9696
|
return;
|
|
9718
9697
|
}
|
|
@@ -9720,7 +9699,7 @@
|
|
|
9720
9699
|
frameworkComponents: props.components,
|
|
9721
9700
|
});
|
|
9722
9701
|
}, [props.components]);
|
|
9723
|
-
|
|
9702
|
+
React.useEffect(() => {
|
|
9724
9703
|
if (!dockviewRef.current) {
|
|
9725
9704
|
return;
|
|
9726
9705
|
}
|
|
@@ -9728,7 +9707,7 @@
|
|
|
9728
9707
|
floatingGroupBounds: props.floatingGroupBounds,
|
|
9729
9708
|
});
|
|
9730
9709
|
}, [props.floatingGroupBounds]);
|
|
9731
|
-
|
|
9710
|
+
React.useEffect(() => {
|
|
9732
9711
|
if (!dockviewRef.current) {
|
|
9733
9712
|
return;
|
|
9734
9713
|
}
|
|
@@ -9736,7 +9715,7 @@
|
|
|
9736
9715
|
watermarkFrameworkComponent: props.watermarkComponent,
|
|
9737
9716
|
});
|
|
9738
9717
|
}, [props.watermarkComponent]);
|
|
9739
|
-
|
|
9718
|
+
React.useEffect(() => {
|
|
9740
9719
|
if (!dockviewRef.current) {
|
|
9741
9720
|
return;
|
|
9742
9721
|
}
|
|
@@ -9744,7 +9723,7 @@
|
|
|
9744
9723
|
showDndOverlay: props.showDndOverlay,
|
|
9745
9724
|
});
|
|
9746
9725
|
}, [props.showDndOverlay]);
|
|
9747
|
-
|
|
9726
|
+
React.useEffect(() => {
|
|
9748
9727
|
if (!dockviewRef.current) {
|
|
9749
9728
|
return;
|
|
9750
9729
|
}
|
|
@@ -9752,7 +9731,7 @@
|
|
|
9752
9731
|
frameworkTabComponents: props.tabComponents,
|
|
9753
9732
|
});
|
|
9754
9733
|
}, [props.tabComponents]);
|
|
9755
|
-
|
|
9734
|
+
React.useEffect(() => {
|
|
9756
9735
|
if (!dockviewRef.current) {
|
|
9757
9736
|
return;
|
|
9758
9737
|
}
|
|
@@ -9760,7 +9739,7 @@
|
|
|
9760
9739
|
disableFloatingGroups: props.disableFloatingGroups,
|
|
9761
9740
|
});
|
|
9762
9741
|
}, [props.disableFloatingGroups]);
|
|
9763
|
-
|
|
9742
|
+
React.useEffect(() => {
|
|
9764
9743
|
var _a;
|
|
9765
9744
|
if (!dockviewRef.current) {
|
|
9766
9745
|
return;
|
|
@@ -9777,7 +9756,7 @@
|
|
|
9777
9756
|
frameworkTabComponents,
|
|
9778
9757
|
});
|
|
9779
9758
|
}, [props.defaultTabComponent]);
|
|
9780
|
-
|
|
9759
|
+
React.useEffect(() => {
|
|
9781
9760
|
if (!dockviewRef.current) {
|
|
9782
9761
|
return;
|
|
9783
9762
|
}
|
|
@@ -9785,7 +9764,7 @@
|
|
|
9785
9764
|
createRightHeaderActionsElement: createGroupControlElement(props.rightHeaderActionsComponent, { addPortal }),
|
|
9786
9765
|
});
|
|
9787
9766
|
}, [props.rightHeaderActionsComponent]);
|
|
9788
|
-
|
|
9767
|
+
React.useEffect(() => {
|
|
9789
9768
|
if (!dockviewRef.current) {
|
|
9790
9769
|
return;
|
|
9791
9770
|
}
|
|
@@ -9793,7 +9772,7 @@
|
|
|
9793
9772
|
createLeftHeaderActionsElement: createGroupControlElement(props.leftHeaderActionsComponent, { addPortal }),
|
|
9794
9773
|
});
|
|
9795
9774
|
}, [props.leftHeaderActionsComponent]);
|
|
9796
|
-
|
|
9775
|
+
React.useEffect(() => {
|
|
9797
9776
|
if (!dockviewRef.current) {
|
|
9798
9777
|
return;
|
|
9799
9778
|
}
|
|
@@ -9801,7 +9780,7 @@
|
|
|
9801
9780
|
rootOverlayModel: props.rootOverlayModel,
|
|
9802
9781
|
});
|
|
9803
9782
|
}, [props.rootOverlayModel]);
|
|
9804
|
-
|
|
9783
|
+
React.useEffect(() => {
|
|
9805
9784
|
if (!dockviewRef.current) {
|
|
9806
9785
|
return;
|
|
9807
9786
|
}
|
|
@@ -9809,7 +9788,7 @@
|
|
|
9809
9788
|
createPrefixHeaderActionsElement: createGroupControlElement(props.prefixHeaderActionsComponent, { addPortal }),
|
|
9810
9789
|
});
|
|
9811
9790
|
}, [props.prefixHeaderActionsComponent]);
|
|
9812
|
-
return (
|
|
9791
|
+
return (React.createElement("div", { className: props.className, style: { height: '100%', width: '100%' }, ref: domRef }, portals));
|
|
9813
9792
|
});
|
|
9814
9793
|
DockviewReact.displayName = 'DockviewComponent';
|
|
9815
9794
|
|
|
@@ -9847,12 +9826,12 @@
|
|
|
9847
9826
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
9848
9827
|
};
|
|
9849
9828
|
|
|
9850
|
-
const CloseButton = () => (
|
|
9851
|
-
|
|
9829
|
+
const CloseButton = () => (React.createElement("svg", { height: "11", width: "11", viewBox: "0 0 28 28", "aria-hidden": 'false', focusable: false, className: "dockview-svg" },
|
|
9830
|
+
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
9831
|
|
|
9853
9832
|
const DockviewDefaultTab = (_a) => {
|
|
9854
9833
|
var { api, containerApi: _containerApi, params: _params, hideClose, closeActionOverride } = _a, rest = __rest(_a, ["api", "containerApi", "params", "hideClose", "closeActionOverride"]);
|
|
9855
|
-
const onClose =
|
|
9834
|
+
const onClose = React.useCallback((event) => {
|
|
9856
9835
|
event.preventDefault();
|
|
9857
9836
|
if (closeActionOverride) {
|
|
9858
9837
|
closeActionOverride();
|
|
@@ -9861,10 +9840,10 @@
|
|
|
9861
9840
|
api.close();
|
|
9862
9841
|
}
|
|
9863
9842
|
}, [api, closeActionOverride]);
|
|
9864
|
-
const onMouseDown =
|
|
9843
|
+
const onMouseDown = React.useCallback((e) => {
|
|
9865
9844
|
e.preventDefault();
|
|
9866
9845
|
}, []);
|
|
9867
|
-
const onClick =
|
|
9846
|
+
const onClick = React.useCallback((event) => {
|
|
9868
9847
|
if (event.defaultPrevented) {
|
|
9869
9848
|
return;
|
|
9870
9849
|
}
|
|
@@ -9873,10 +9852,10 @@
|
|
|
9873
9852
|
rest.onClick(event);
|
|
9874
9853
|
}
|
|
9875
9854
|
}, [api, rest.onClick]);
|
|
9876
|
-
return (
|
|
9877
|
-
|
|
9878
|
-
!hideClose && (
|
|
9879
|
-
|
|
9855
|
+
return (React.createElement("div", Object.assign({ "data-testid": "dockview-dv-default-tab" }, rest, { onClick: onClick, className: "dv-default-tab" }),
|
|
9856
|
+
React.createElement("span", { className: "dv-default-tab-content" }, api.title),
|
|
9857
|
+
!hideClose && (React.createElement("div", { className: "dv-default-tab-action", onMouseDown: onMouseDown, onClick: onClose },
|
|
9858
|
+
React.createElement(CloseButton, null)))));
|
|
9880
9859
|
};
|
|
9881
9860
|
|
|
9882
9861
|
class ReactPanelView extends SplitviewPanel {
|
|
@@ -9895,12 +9874,12 @@
|
|
|
9895
9874
|
}
|
|
9896
9875
|
}
|
|
9897
9876
|
|
|
9898
|
-
const SplitviewReact =
|
|
9899
|
-
const domRef =
|
|
9900
|
-
const splitviewRef =
|
|
9877
|
+
const SplitviewReact = React.forwardRef((props, ref) => {
|
|
9878
|
+
const domRef = React.useRef(null);
|
|
9879
|
+
const splitviewRef = React.useRef();
|
|
9901
9880
|
const [portals, addPortal] = usePortalsLifecycle();
|
|
9902
|
-
|
|
9903
|
-
|
|
9881
|
+
React.useImperativeHandle(ref, () => domRef.current, []);
|
|
9882
|
+
React.useEffect(() => {
|
|
9904
9883
|
var _a;
|
|
9905
9884
|
const splitview = new SplitviewComponent({
|
|
9906
9885
|
parentElement: domRef.current,
|
|
@@ -9931,7 +9910,7 @@
|
|
|
9931
9910
|
splitview.dispose();
|
|
9932
9911
|
};
|
|
9933
9912
|
}, []);
|
|
9934
|
-
|
|
9913
|
+
React.useEffect(() => {
|
|
9935
9914
|
if (!splitviewRef.current) {
|
|
9936
9915
|
return;
|
|
9937
9916
|
}
|
|
@@ -9939,7 +9918,7 @@
|
|
|
9939
9918
|
frameworkComponents: props.components,
|
|
9940
9919
|
});
|
|
9941
9920
|
}, [props.components]);
|
|
9942
|
-
return (
|
|
9921
|
+
return (React.createElement("div", { className: props.className, style: { height: '100%', width: '100%' }, ref: domRef }, portals));
|
|
9943
9922
|
});
|
|
9944
9923
|
SplitviewReact.displayName = 'SplitviewComponent';
|
|
9945
9924
|
|
|
@@ -9961,12 +9940,12 @@
|
|
|
9961
9940
|
}
|
|
9962
9941
|
}
|
|
9963
9942
|
|
|
9964
|
-
const GridviewReact =
|
|
9965
|
-
const domRef =
|
|
9966
|
-
const gridviewRef =
|
|
9943
|
+
const GridviewReact = React.forwardRef((props, ref) => {
|
|
9944
|
+
const domRef = React.useRef(null);
|
|
9945
|
+
const gridviewRef = React.useRef();
|
|
9967
9946
|
const [portals, addPortal] = usePortalsLifecycle();
|
|
9968
|
-
|
|
9969
|
-
|
|
9947
|
+
React.useImperativeHandle(ref, () => domRef.current, []);
|
|
9948
|
+
React.useEffect(() => {
|
|
9970
9949
|
var _a;
|
|
9971
9950
|
if (!domRef.current) {
|
|
9972
9951
|
return () => {
|
|
@@ -10002,7 +9981,7 @@
|
|
|
10002
9981
|
gridview.dispose();
|
|
10003
9982
|
};
|
|
10004
9983
|
}, []);
|
|
10005
|
-
|
|
9984
|
+
React.useEffect(() => {
|
|
10006
9985
|
if (!gridviewRef.current) {
|
|
10007
9986
|
return;
|
|
10008
9987
|
}
|
|
@@ -10010,7 +9989,7 @@
|
|
|
10010
9989
|
frameworkComponents: props.components,
|
|
10011
9990
|
});
|
|
10012
9991
|
}, [props.components]);
|
|
10013
|
-
return (
|
|
9992
|
+
return (React.createElement("div", { className: props.className, style: { height: '100%', width: '100%' }, ref: domRef }, portals));
|
|
10014
9993
|
});
|
|
10015
9994
|
GridviewReact.displayName = 'GridviewComponent';
|
|
10016
9995
|
|
|
@@ -10049,12 +10028,12 @@
|
|
|
10049
10028
|
}
|
|
10050
10029
|
}
|
|
10051
10030
|
|
|
10052
|
-
const PaneviewReact =
|
|
10053
|
-
const domRef =
|
|
10054
|
-
const paneviewRef =
|
|
10031
|
+
const PaneviewReact = React.forwardRef((props, ref) => {
|
|
10032
|
+
const domRef = React.useRef(null);
|
|
10033
|
+
const paneviewRef = React.useRef();
|
|
10055
10034
|
const [portals, addPortal] = usePortalsLifecycle();
|
|
10056
|
-
|
|
10057
|
-
|
|
10035
|
+
React.useImperativeHandle(ref, () => domRef.current, []);
|
|
10036
|
+
React.useEffect(() => {
|
|
10058
10037
|
const createComponent = (id, _componentId, component) => new PanePanelSection(id, component, {
|
|
10059
10038
|
addPortal,
|
|
10060
10039
|
});
|
|
@@ -10087,7 +10066,7 @@
|
|
|
10087
10066
|
paneview.dispose();
|
|
10088
10067
|
};
|
|
10089
10068
|
}, []);
|
|
10090
|
-
|
|
10069
|
+
React.useEffect(() => {
|
|
10091
10070
|
if (!paneviewRef.current) {
|
|
10092
10071
|
return;
|
|
10093
10072
|
}
|
|
@@ -10095,7 +10074,7 @@
|
|
|
10095
10074
|
frameworkComponents: props.components,
|
|
10096
10075
|
});
|
|
10097
10076
|
}, [props.components]);
|
|
10098
|
-
|
|
10077
|
+
React.useEffect(() => {
|
|
10099
10078
|
if (!paneviewRef.current) {
|
|
10100
10079
|
return;
|
|
10101
10080
|
}
|
|
@@ -10103,7 +10082,7 @@
|
|
|
10103
10082
|
headerframeworkComponents: props.headerComponents,
|
|
10104
10083
|
});
|
|
10105
10084
|
}, [props.headerComponents]);
|
|
10106
|
-
|
|
10085
|
+
React.useEffect(() => {
|
|
10107
10086
|
if (!paneviewRef.current) {
|
|
10108
10087
|
return () => {
|
|
10109
10088
|
//
|
|
@@ -10119,7 +10098,7 @@
|
|
|
10119
10098
|
disposable.dispose();
|
|
10120
10099
|
};
|
|
10121
10100
|
}, [props.onDidDrop]);
|
|
10122
|
-
|
|
10101
|
+
React.useEffect(() => {
|
|
10123
10102
|
if (!paneviewRef.current) {
|
|
10124
10103
|
return;
|
|
10125
10104
|
}
|
|
@@ -10127,7 +10106,7 @@
|
|
|
10127
10106
|
showDndOverlay: props.showDndOverlay,
|
|
10128
10107
|
});
|
|
10129
10108
|
}, [props.showDndOverlay]);
|
|
10130
|
-
return (
|
|
10109
|
+
return (React.createElement("div", { className: props.className, style: { height: '100%', width: '100%' }, ref: domRef }, portals));
|
|
10131
10110
|
});
|
|
10132
10111
|
PaneviewReact.displayName = 'PaneviewComponent';
|
|
10133
10112
|
|