dockview-react 1.17.1 → 2.0.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.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * dockview-react
3
- * @version 1.17.1
3
+ * @version 2.0.0
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -33,7 +33,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
33
33
  }
34
34
  }
35
35
 
36
- var css_248z = ".dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-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-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:not(.disabled)::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:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:not(.disabled)::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:not(.disabled):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-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\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.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-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-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 998;\n}\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\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: ellipsis;\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}";
36
+ var css_248z = ".dv-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-overlay-z-index: 999;\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-overlay-z-index: 999;\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-overlay-z-index: 999;\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 .dv-groupview.dv-active-group > .dv-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 .dv-groupview.dv-active-group > .dv-tabs-and-actions-container .dv-tab.dv-active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .dv-groupview.dv-active-group > .dv-tabs-and-actions-container .dv-tab.dv-inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .dv-groupview.dv-inactive-group > .dv-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 .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container .dv-tab.dv-active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container .dv-tab.dv-inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-overlay-z-index: 999;\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-overlay-z-index: 999;\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 .dv-groupview.dv-active-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-active-tab {\n position: relative;\n}\n.dockview-theme-dracula .dv-groupview.dv-active-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-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 .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-active-tab {\n position: relative;\n}\n.dockview-theme-dracula .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-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-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-overlay-z-index: 999;\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-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .dv-groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .dv-groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab .dv-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .dv-groupview .dv-content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .dv-groupview.dv-active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .dv-groupview.dv-inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:not(.disabled)::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:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .dv-horizontal > .dv-sash-container > .dv-sash:not(.disabled)::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 .dv-horizontal > .dv-sash-container > .dv-sash:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dv-drop-target {\n position: relative;\n}\n.dv-drop-target > .dv-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.dv-drop-target > .dv-drop-target-dropzone > .dv-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.dv-drop-target > .dv-drop-target-dropzone > .dv-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.dv-drop-target > .dv-drop-target-dropzone > .dv-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.dv-drop-target > .dv-drop-target-dropzone > .dv-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.dv-drop-target > .dv-drop-target-dropzone > .dv-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-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\n.dv-groupview.dv-active-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.dv-groupview.dv-active-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-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.dv-tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.dv-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.dv-groupview:focus {\n outline: none;\n}\n.dv-groupview.dv-empty > .dv-tabs-and-actions-container {\n display: none;\n}\n.dv-groupview > .dv-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.dv-grid-view,\n.dv-branch-node {\n height: 100%;\n width: 100%;\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 --dv-overlay-z-index: var(--dv-overlay-z-index, 999);\n position: absolute;\n z-index: calc(var(--dv-overlay-z-index) - 2);\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\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: var(--dv-overlay-z-index);\n position: absolute;\n cursor: se-resize;\n}\n.dv-render-overlay {\n --dv-overlay-z-index: var(--dv-overlay-z-index, 999);\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: calc(var(--dv-overlay-z-index) - 1);\n}\n\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.dv-pane-container {\n height: 100%;\n width: 100%;\n}\n.dv-pane-container.dv-animated .dv-view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.dv-pane-container .dv-view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.dv-pane-container .dv-view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.dv-pane-container .dv-view:not(:first-child) .dv-pane > .dv-pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.dv-pane-container .dv-view .dv-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.dv-pane-container .dv-view .dv-default-header .dv-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.dv-pane-container .dv-view .dv-default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.dv-pane-container:first-of-type > .dv-pane > .dv-pane-header {\n border-top: none !important;\n}\n.dv-pane-container .dv-pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.dv-pane-container .dv-pane .dv-pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.dv-pane-container .dv-pane .dv-pane-header.dv-pane-draggable {\n cursor: pointer;\n}\n.dv-pane-container .dv-pane .dv-pane-header:focus:before, .dv-pane-container .dv-pane .dv-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.dv-pane-container .dv-pane .dv-pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.dv-pane-container .dv-pane .dv-pane-body:focus:before, .dv-pane-container .dv-pane .dv-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 .dv-split-view-container .dv-sash-container .dv-sash.dv-enabled {\n background-color: black;\n}\n.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-disabled {\n background-color: orange;\n}\n.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-maximum {\n background-color: green;\n}\n.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-minimum {\n background-color: red;\n}\n\n.dv-split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.dv-split-view-container.dv-splitview-disabled > .dv-sash-container > .dv-sash {\n pointer-events: none;\n}\n.dv-split-view-container.dv-animation .dv-view,\n.dv-split-view-container.dv-animation .dv-sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.dv-split-view-container.dv-horizontal {\n height: 100%;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash {\n height: 100%;\n width: 4px;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-enabled {\n cursor: ew-resize;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-disabled {\n cursor: default;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-maximum {\n cursor: w-resize;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-minimum {\n cursor: e-resize;\n}\n.dv-split-view-container.dv-horizontal > .dv-view-container > .dv-view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.dv-split-view-container.dv-vertical {\n width: 100%;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash {\n width: 100%;\n height: 4px;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-enabled {\n cursor: ns-resize;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-disabled {\n cursor: default;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-maximum {\n cursor: n-resize;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-minimum {\n cursor: s-resize;\n}\n.dv-split-view-container.dv-vertical > .dv-view-container > .dv-view {\n width: 100%;\n}\n.dv-split-view-container.dv-vertical > .dv-view-container > .dv-view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.dv-split-view-container .dv-sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.dv-split-view-container .dv-sash-container .dv-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.dv-split-view-container .dv-sash-container .dv-sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.dv-split-view-container .dv-sash-container .dv-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.dv-split-view-container .dv-view-container {\n position: relative;\n height: 100%;\n width: 100%;\n}\n.dv-split-view-container .dv-view-container .dv-view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.dv-split-view-container.dv-separator-border .dv-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.dv-tab {\n flex-shrink: 0;\n}\n.dv-tab:focus-within, .dv-tab:focus {\n position: relative;\n}\n.dv-tab:focus-within::after, .dv-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.dv-tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.dv-tab.dv-active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.dv-tab.dv-inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.dv-tab.dv-inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.dv-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: ellipsis;\n}\n.dv-tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.dv-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.dv-tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.dv-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.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-tabs-container {\n flex-grow: 1;\n}\n.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-tabs-container .dv-tab {\n flex-grow: 1;\n}\n.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-void-container {\n flex-grow: 0;\n}\n.dv-tabs-and-actions-container .dv-void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.dv-tabs-and-actions-container .dv-tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.dv-tabs-and-actions-container .dv-tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.dv-tabs-and-actions-container .dv-tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.dv-tabs-and-actions-container .dv-tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.dv-tabs-and-actions-container .dv-tabs-container .dv-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.dv-tabs-and-actions-container .dv-tabs-container .dv-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.dv-watermark {\n display: flex;\n width: 100%;\n}\n.dv-watermark.dv-has-actions .dv-watermark-title .dv-actions-container {\n display: none;\n}\n.dv-watermark .dv-watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.dv-watermark .dv-watermark-content {\n flex-grow: 1;\n}\n.dv-watermark .dv-actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.dv-watermark .dv-actions-container .dv-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.dv-watermark .dv-actions-container .dv-close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
37
37
  styleInject(css_248z);
38
38
 
39
39
  class TransferObject {
@@ -354,31 +354,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
354
354
  }
355
355
  }
356
356
 
357
- function createComponent(id, componentName, components = {}, frameworkComponents = {}, createFrameworkComponent, fallback) {
358
- const Component = typeof componentName === 'string'
359
- ? components[componentName]
360
- : undefined;
361
- const FrameworkComponent = typeof componentName === 'string'
362
- ? frameworkComponents[componentName]
363
- : undefined;
364
- if (Component && FrameworkComponent) {
365
- throw new Error(`Cannot create '${id}'. component '${componentName}' registered as both a component and frameworkComponent`);
366
- }
367
- if (FrameworkComponent) {
368
- if (!createFrameworkComponent) {
369
- throw new Error(`Cannot create '${id}' for framework component '${componentName}'. you must register a frameworkPanelWrapper to use framework components`);
370
- }
371
- return createFrameworkComponent.createComponent(id, componentName, FrameworkComponent);
372
- }
373
- if (!Component) {
374
- if (fallback) {
375
- return fallback();
376
- }
377
- throw new Error(`Cannot create '${id}', no component '${componentName}' provided`);
378
- }
379
- return new Component(id, componentName);
380
- }
381
-
382
357
  function watchElementResize(element, cb) {
383
358
  const observer = new ResizeObserver((entires) => {
384
359
  /**
@@ -847,10 +822,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
847
822
  const tmp = this.size;
848
823
  this.size = this.orthogonalSize;
849
824
  this.orthogonalSize = tmp;
850
- removeClasses(this.element, 'horizontal', 'vertical');
825
+ removeClasses(this.element, 'dv-horizontal', 'dv-vertical');
851
826
  this.element.classList.add(this.orientation == exports.Orientation.HORIZONTAL
852
- ? 'horizontal'
853
- : 'vertical');
827
+ ? 'dv-horizontal'
828
+ : 'dv-vertical');
854
829
  }
855
830
  get minimumSize() {
856
831
  return this.viewItems.reduce((r, item) => r + item.minimumSize, 0);
@@ -1028,11 +1003,11 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
1028
1003
  }
1029
1004
  style(styles) {
1030
1005
  if ((styles === null || styles === void 0 ? void 0 : styles.separatorBorder) === 'transparent') {
1031
- removeClasses(this.element, 'separator-border');
1006
+ removeClasses(this.element, 'dv-separator-border');
1032
1007
  this.element.style.removeProperty('--dv-separator-border');
1033
1008
  }
1034
1009
  else {
1035
- addClasses(this.element, 'separator-border');
1010
+ addClasses(this.element, 'dv-separator-border');
1036
1011
  if (styles === null || styles === void 0 ? void 0 : styles.separatorBorder) {
1037
1012
  this.element.style.setProperty('--dv-separator-border', styles.separatorBorder);
1038
1013
  }
@@ -1102,7 +1077,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
1102
1077
  }
1103
1078
  addView(view, size = { type: 'distribute' }, index = this.viewItems.length, skipLayout) {
1104
1079
  const container = document.createElement('div');
1105
- container.className = 'view';
1080
+ container.className = 'dv-view';
1106
1081
  container.appendChild(view.element);
1107
1082
  let viewSize;
1108
1083
  if (typeof size === 'number') {
@@ -1134,7 +1109,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
1134
1109
  if (this.viewItems.length > 1) {
1135
1110
  //add sash
1136
1111
  const sash = document.createElement('div');
1137
- sash.className = 'sash';
1112
+ sash.className = 'dv-sash';
1138
1113
  const onPointerStart = (event) => {
1139
1114
  for (const item of this.viewItems) {
1140
1115
  item.enabled = false;
@@ -1393,7 +1368,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
1393
1368
  const offset = i === 0 || visiblePanelsBeforeThisView === 0
1394
1369
  ? 0
1395
1370
  : viewLeftOffsets[i - 1] +
1396
- (visiblePanelsBeforeThisView / sashCount) * marginReducedSize;
1371
+ (visiblePanelsBeforeThisView / sashCount) *
1372
+ marginReducedSize;
1397
1373
  if (i < this.viewItems.length - 1) {
1398
1374
  // calculate sash position
1399
1375
  const newSize = view.visible
@@ -1504,27 +1480,27 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
1504
1480
  }
1505
1481
  }
1506
1482
  updateSash(sash, state) {
1507
- toggleClass(sash.container, 'disabled', state === exports.SashState.DISABLED);
1508
- toggleClass(sash.container, 'enabled', state === exports.SashState.ENABLED);
1509
- toggleClass(sash.container, 'maximum', state === exports.SashState.MAXIMUM);
1510
- toggleClass(sash.container, 'minimum', state === exports.SashState.MINIMUM);
1483
+ toggleClass(sash.container, 'dv-disabled', state === exports.SashState.DISABLED);
1484
+ toggleClass(sash.container, 'dv-enabled', state === exports.SashState.ENABLED);
1485
+ toggleClass(sash.container, 'dv-maximum', state === exports.SashState.MAXIMUM);
1486
+ toggleClass(sash.container, 'dv-minimum', state === exports.SashState.MINIMUM);
1511
1487
  }
1512
1488
  createViewContainer() {
1513
1489
  const element = document.createElement('div');
1514
- element.className = 'view-container';
1490
+ element.className = 'dv-view-container';
1515
1491
  return element;
1516
1492
  }
1517
1493
  createSashContainer() {
1518
1494
  const element = document.createElement('div');
1519
- element.className = 'sash-container';
1495
+ element.className = 'dv-sash-container';
1520
1496
  return element;
1521
1497
  }
1522
1498
  createContainer() {
1523
1499
  const element = document.createElement('div');
1524
1500
  const orientationClassname = this._orientation === exports.Orientation.HORIZONTAL
1525
- ? 'horizontal'
1526
- : 'vertical';
1527
- element.className = `split-view-container ${orientationClassname}`;
1501
+ ? 'dv-horizontal'
1502
+ : 'dv-vertical';
1503
+ element.className = `dv-split-view-container ${orientationClassname}`;
1528
1504
  return element;
1529
1505
  }
1530
1506
  dispose() {
@@ -1575,7 +1551,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
1575
1551
  this.onDidChange = this._onDidChange.event;
1576
1552
  this._orientation = (_a = options.orientation) !== null && _a !== void 0 ? _a : exports.Orientation.VERTICAL;
1577
1553
  this.element = document.createElement('div');
1578
- this.element.className = 'pane-container';
1554
+ this.element.className = 'dv-pane-container';
1579
1555
  container.appendChild(this.element);
1580
1556
  this.splitview = new Splitview(this.element, {
1581
1557
  orientation: this._orientation,
@@ -1667,10 +1643,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
1667
1643
  clearTimeout(this.animationTimer);
1668
1644
  this.animationTimer = undefined;
1669
1645
  }
1670
- addClasses(this.element, 'animated');
1646
+ addClasses(this.element, 'dv-animated');
1671
1647
  this.animationTimer = setTimeout(() => {
1672
1648
  this.animationTimer = undefined;
1673
- removeClasses(this.element, 'animated');
1649
+ removeClasses(this.element, 'dv-animated');
1674
1650
  }, 200);
1675
1651
  }
1676
1652
  dispose() {
@@ -1895,7 +1871,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
1895
1871
  this._orthogonalSize = orthogonalSize;
1896
1872
  this._size = size;
1897
1873
  this.element = document.createElement('div');
1898
- this.element.className = 'branch-node';
1874
+ this.element.className = 'dv-branch-node';
1899
1875
  if (!childDescriptors) {
1900
1876
  this.splitview = new Splitview(this.element, {
1901
1877
  orientation: this.orientation,
@@ -2106,7 +2082,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
2106
2082
  if (!parentElement) {
2107
2083
  throw new Error('Invalid grid element');
2108
2084
  }
2109
- if (/\bgrid-view\b/.test(parentElement.className)) {
2085
+ if (/\bdv-grid-view\b/.test(parentElement.className)) {
2110
2086
  return [];
2111
2087
  }
2112
2088
  const index = indexInParent(parentElement);
@@ -2454,7 +2430,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
2454
2430
  this._onDidMaximizedNodeChange = new Emitter();
2455
2431
  this.onDidMaximizedNodeChange = this._onDidMaximizedNodeChange.event;
2456
2432
  this.element = document.createElement('div');
2457
- this.element.className = 'grid-view';
2433
+ this.element.className = 'dv-grid-view';
2458
2434
  this._locked = locked !== null && locked !== void 0 ? locked : false;
2459
2435
  this._margin = margin !== null && margin !== void 0 ? margin : 0;
2460
2436
  this.root = new BranchNode(orientation, proportionalLayout, styles, 0, 0, this.locked, this.margin);
@@ -3676,7 +3652,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
3676
3652
  * dnd logic. You can see the code at
3677
3653
  * https://github.com/react-dnd/react-dnd/blob/main/packages/backend-html5/src/HTML5BackendImpl.ts#L542
3678
3654
  */
3679
- event.dataTransfer.setData('text/plain', '__dockview_internal_drag_event__');
3655
+ event.dataTransfer.setData('text/plain', '');
3680
3656
  }
3681
3657
  }
3682
3658
  }), addDisposableListener(this.el, 'dragend', () => {
@@ -3850,12 +3826,12 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
3850
3826
  this.markAsUsed(e);
3851
3827
  if (!this.targetElement) {
3852
3828
  this.targetElement = document.createElement('div');
3853
- this.targetElement.className = 'drop-target-dropzone';
3829
+ this.targetElement.className = 'dv-drop-target-dropzone';
3854
3830
  this.overlayElement = document.createElement('div');
3855
- this.overlayElement.className = 'drop-target-selection';
3831
+ this.overlayElement.className = 'dv-drop-target-selection';
3856
3832
  this._state = 'center';
3857
3833
  this.targetElement.appendChild(this.overlayElement);
3858
- this.element.classList.add('drop-target');
3834
+ this.element.classList.add('dv-drop-target');
3859
3835
  this.element.append(this.targetElement);
3860
3836
  }
3861
3837
  this.toggleClasses(quadrant, width, height);
@@ -3993,7 +3969,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
3993
3969
  this.element.removeChild(this.targetElement);
3994
3970
  this.targetElement = undefined;
3995
3971
  this.overlayElement = undefined;
3996
- this.element.classList.remove('drop-target');
3972
+ this.element.classList.remove('dv-drop-target');
3997
3973
  }
3998
3974
  }
3999
3975
  }
@@ -4330,7 +4306,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4330
4306
  this._headerVisible = isHeaderVisible;
4331
4307
  this._onDidChangeExpansionState.fire(this.isExpanded()); // initialize value
4332
4308
  this._orientation = orientation;
4333
- this.element.classList.add('pane');
4309
+ this.element.classList.add('dv-pane');
4334
4310
  this.addDisposables(this.api.onWillVisibilityChange((event) => {
4335
4311
  const { isVisible } = event;
4336
4312
  const { accessor } = this._params;
@@ -4427,14 +4403,14 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4427
4403
  renderOnce() {
4428
4404
  this.header = document.createElement('div');
4429
4405
  this.header.tabIndex = 0;
4430
- this.header.className = 'pane-header';
4406
+ this.header.className = 'dv-pane-header';
4431
4407
  this.header.style.height = `${this.headerSize}px`;
4432
4408
  this.header.style.lineHeight = `${this.headerSize}px`;
4433
4409
  this.header.style.minHeight = `${this.headerSize}px`;
4434
4410
  this.header.style.maxHeight = `${this.headerSize}px`;
4435
4411
  this.element.appendChild(this.header);
4436
4412
  this.body = document.createElement('div');
4437
- this.body.className = 'pane-body';
4413
+ this.body.className = 'dv-pane-body';
4438
4414
  this.element.appendChild(this.body);
4439
4415
  }
4440
4416
  // TODO slightly hacky by-pass of the component to create a body and header component
@@ -4555,7 +4531,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4555
4531
  this._onDidBlur = new Emitter();
4556
4532
  this.onDidBlur = this._onDidBlur.event;
4557
4533
  this._element = document.createElement('div');
4558
- this._element.className = 'content-container';
4534
+ this._element.className = 'dv-content-container';
4559
4535
  this._element.tabIndex = -1;
4560
4536
  this.addDisposables(this._onDidFocus, this._onDidBlur);
4561
4537
  this.dropTarget = new Droptarget(this.element, {
@@ -4628,6 +4604,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4628
4604
  referenceContainer: this,
4629
4605
  });
4630
4606
  break;
4607
+ default:
4608
+ throw new Error(`dockview: invalid renderer type '${panel.api.renderer}'`);
4631
4609
  }
4632
4610
  if (doRender) {
4633
4611
  const focusTracker = trackFocus(container);
@@ -4694,10 +4672,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4694
4672
  this._onDragStart = new Emitter();
4695
4673
  this.onDragStart = this._onDragStart.event;
4696
4674
  this._element = document.createElement('div');
4697
- this._element.className = 'tab';
4675
+ this._element.className = 'dv-tab';
4698
4676
  this._element.tabIndex = 0;
4699
4677
  this._element.draggable = true;
4700
- toggleClass(this.element, 'inactive-tab', true);
4678
+ toggleClass(this.element, 'dv-inactive-tab', true);
4701
4679
  const dragHandler = new TabDragHandler(this._element, this.accessor, this.group, this.panel);
4702
4680
  this.dropTarget = new Droptarget(this._element, {
4703
4681
  acceptedTargetZones: ['center'],
@@ -4730,8 +4708,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4730
4708
  }), this.dropTarget);
4731
4709
  }
4732
4710
  setActive(isActive) {
4733
- toggleClass(this.element, 'active-tab', isActive);
4734
- toggleClass(this.element, 'inactive-tab', !isActive);
4711
+ toggleClass(this.element, 'dv-active-tab', isActive);
4712
+ toggleClass(this.element, 'dv-inactive-tab', !isActive);
4735
4713
  }
4736
4714
  setContent(part) {
4737
4715
  if (this.content) {
@@ -4819,7 +4797,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4819
4797
  this._onDragStart = new Emitter();
4820
4798
  this.onDragStart = this._onDragStart.event;
4821
4799
  this._element = document.createElement('div');
4822
- this._element.className = 'void-container';
4800
+ this._element.className = 'dv-void-container';
4823
4801
  this._element.tabIndex = 0;
4824
4802
  this._element.draggable = true;
4825
4803
  this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, 'pointerdown', () => {
@@ -4939,16 +4917,16 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
4939
4917
  this._onWillShowOverlay = new Emitter();
4940
4918
  this.onWillShowOverlay = this._onWillShowOverlay.event;
4941
4919
  this._element = document.createElement('div');
4942
- this._element.className = 'tabs-and-actions-container';
4920
+ this._element.className = 'dv-tabs-and-actions-container';
4943
4921
  toggleClass(this._element, 'dv-full-width-single-tab', this.accessor.options.singleTabMode === 'fullwidth');
4944
4922
  this.rightActionsContainer = document.createElement('div');
4945
- this.rightActionsContainer.className = 'right-actions-container';
4923
+ this.rightActionsContainer.className = 'dv-right-actions-container';
4946
4924
  this.leftActionsContainer = document.createElement('div');
4947
- this.leftActionsContainer.className = 'left-actions-container';
4925
+ this.leftActionsContainer.className = 'dv-left-actions-container';
4948
4926
  this.preActionsContainer = document.createElement('div');
4949
- this.preActionsContainer.className = 'pre-actions-container';
4927
+ this.preActionsContainer.className = 'dv-pre-actions-container';
4950
4928
  this.tabContainer = document.createElement('div');
4951
- this.tabContainer.className = 'tabs-container';
4929
+ this.tabContainer.className = 'dv-tabs-container';
4952
4930
  this.voidContainer = new VoidContainer(this.accessor, this.group);
4953
4931
  this._element.appendChild(this.preActionsContainer);
4954
4932
  this._element.appendChild(this.tabContainer);
@@ -5037,14 +5015,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5037
5015
  });
5038
5016
  }
5039
5017
  openPanel(panel, index = this.tabs.length) {
5040
- var _a;
5041
5018
  if (this.tabs.find((tab) => tab.value.panel.id === panel.id)) {
5042
5019
  return;
5043
5020
  }
5044
5021
  const tab = new Tab(panel, this.accessor, this.group);
5045
- if (!((_a = panel.view) === null || _a === void 0 ? void 0 : _a.tab)) {
5046
- throw new Error('invalid header component');
5047
- }
5048
5022
  tab.setContent(panel.view.tab);
5049
5023
  const disposable = new CompositeDisposable(tab.onDragStart((event) => {
5050
5024
  this._onTabDragStart.fire({ nativeEvent: event, panel });
@@ -5234,7 +5208,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5234
5208
  }
5235
5209
  class DockviewGroupPanelModel extends CompositeDisposable {
5236
5210
  get element() {
5237
- throw new Error('not supported');
5211
+ throw new Error('dockview: not supported');
5238
5212
  }
5239
5213
  get activePanel() {
5240
5214
  return this._activePanel;
@@ -5244,7 +5218,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5244
5218
  }
5245
5219
  set locked(value) {
5246
5220
  this._locked = value;
5247
- toggleClass(this.container, 'locked-groupview', value === 'no-drop-target' || value);
5221
+ toggleClass(this.container, 'dv-locked-groupview', value === 'no-drop-target' || value);
5248
5222
  }
5249
5223
  get isActive() {
5250
5224
  return this._isGroupActive;
@@ -5315,6 +5289,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5315
5289
  this._locked = false;
5316
5290
  this._location = { type: 'grid' };
5317
5291
  this.mostRecentlyUsed = [];
5292
+ this._overwriteRenderContainer = null;
5318
5293
  this._onDidChange = new Emitter();
5319
5294
  this.onDidChange = this._onDidChange.event;
5320
5295
  this._width = 0;
@@ -5345,8 +5320,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5345
5320
  this.onDidActivePanelChange = this._onDidActivePanelChange.event;
5346
5321
  this._onUnhandledDragOverEvent = new Emitter();
5347
5322
  this.onUnhandledDragOverEvent = this._onUnhandledDragOverEvent.event;
5348
- this._overwriteRenderContainer = null;
5349
- toggleClass(this.container, 'groupview', true);
5323
+ toggleClass(this.container, 'dv-groupview', true);
5350
5324
  this._api = new DockviewApi(this.accessor);
5351
5325
  this.tabsContainer = new TabsContainer(this.accessor, this.groupPanel);
5352
5326
  this.contentContainer = new ContentContainer(this.accessor, this);
@@ -5591,8 +5565,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5591
5565
  return;
5592
5566
  }
5593
5567
  this._isGroupActive = isGroupActive;
5594
- toggleClass(this.container, 'active-group', isGroupActive);
5595
- toggleClass(this.container, 'inactive-group', !isGroupActive);
5568
+ toggleClass(this.container, 'dv-active-group', isGroupActive);
5569
+ toggleClass(this.container, 'dv-inactive-group', !isGroupActive);
5596
5570
  this.tabsContainer.setActive(this.isActive);
5597
5571
  if (!this._activePanel && this.panels.length > 0) {
5598
5572
  this.doSetActivePanel(this.panels[0]);
@@ -5684,7 +5658,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5684
5658
  }
5685
5659
  updateContainer() {
5686
5660
  var _a, _b;
5687
- toggleClass(this.container, 'empty', this.isEmpty);
5661
+ toggleClass(this.container, 'dv-empty', this.isEmpty);
5688
5662
  this.panels.forEach((panel) => panel.runEvents());
5689
5663
  if (this.isEmpty && !this.watermark) {
5690
5664
  const watermark = this.accessor.createWatermarkComponent();
@@ -5825,6 +5799,34 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5825
5799
  return this._snap;
5826
5800
  }
5827
5801
  get minimumWidth() {
5802
+ /**
5803
+ * defer to protected function to allow subclasses to override easily.
5804
+ * see https://github.com/microsoft/TypeScript/issues/338
5805
+ */
5806
+ return this.__minimumWidth();
5807
+ }
5808
+ get minimumHeight() {
5809
+ /**
5810
+ * defer to protected function to allow subclasses to override easily.
5811
+ * see https://github.com/microsoft/TypeScript/issues/338
5812
+ */
5813
+ return this.__minimumHeight();
5814
+ }
5815
+ get maximumHeight() {
5816
+ /**
5817
+ * defer to protected function to allow subclasses to override easily.
5818
+ * see https://github.com/microsoft/TypeScript/issues/338
5819
+ */
5820
+ return this.__maximumHeight();
5821
+ }
5822
+ get maximumWidth() {
5823
+ /**
5824
+ * defer to protected function to allow subclasses to override easily.
5825
+ * see https://github.com/microsoft/TypeScript/issues/338
5826
+ */
5827
+ return this.__maximumWidth();
5828
+ }
5829
+ __minimumWidth() {
5828
5830
  const width = typeof this._minimumWidth === 'function'
5829
5831
  ? this._minimumWidth()
5830
5832
  : this._minimumWidth;
@@ -5834,7 +5836,17 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5834
5836
  }
5835
5837
  return width;
5836
5838
  }
5837
- get minimumHeight() {
5839
+ __maximumWidth() {
5840
+ const width = typeof this._maximumWidth === 'function'
5841
+ ? this._maximumWidth()
5842
+ : this._maximumWidth;
5843
+ if (width !== this._evaluatedMaximumWidth) {
5844
+ this._evaluatedMaximumWidth = width;
5845
+ this.updateConstraints();
5846
+ }
5847
+ return width;
5848
+ }
5849
+ __minimumHeight() {
5838
5850
  const height = typeof this._minimumHeight === 'function'
5839
5851
  ? this._minimumHeight()
5840
5852
  : this._minimumHeight;
@@ -5844,7 +5856,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5844
5856
  }
5845
5857
  return height;
5846
5858
  }
5847
- get maximumHeight() {
5859
+ __maximumHeight() {
5848
5860
  const height = typeof this._maximumHeight === 'function'
5849
5861
  ? this._maximumHeight()
5850
5862
  : this._maximumHeight;
@@ -5854,16 +5866,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
5854
5866
  }
5855
5867
  return height;
5856
5868
  }
5857
- get maximumWidth() {
5858
- const width = typeof this._maximumWidth === 'function'
5859
- ? this._maximumWidth()
5860
- : this._maximumWidth;
5861
- if (width !== this._evaluatedMaximumWidth) {
5862
- this._evaluatedMaximumWidth = width;
5863
- this.updateConstraints();
5864
- }
5865
- return width;
5866
- }
5867
5869
  get isActive() {
5868
5870
  return this.api.isActive;
5869
5871
  }
@@ -6014,6 +6016,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6014
6016
  position: options.group
6015
6017
  ? (_c = options.position) !== null && _c !== void 0 ? _c : 'center'
6016
6018
  : 'center',
6019
+ index: options.index,
6017
6020
  },
6018
6021
  });
6019
6022
  }
@@ -6065,30 +6068,34 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6065
6068
  get minimumWidth() {
6066
6069
  var _a;
6067
6070
  const activePanelMinimumWidth = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.minimumWidth;
6068
- return typeof activePanelMinimumWidth === 'number'
6069
- ? activePanelMinimumWidth
6070
- : MINIMUM_DOCKVIEW_GROUP_PANEL_WIDTH;
6071
+ if (typeof activePanelMinimumWidth === 'number') {
6072
+ return activePanelMinimumWidth;
6073
+ }
6074
+ return super.__minimumWidth();
6071
6075
  }
6072
6076
  get minimumHeight() {
6073
6077
  var _a;
6074
6078
  const activePanelMinimumHeight = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.minimumHeight;
6075
- return typeof activePanelMinimumHeight === 'number'
6076
- ? activePanelMinimumHeight
6077
- : MINIMUM_DOCKVIEW_GROUP_PANEL_HEIGHT;
6079
+ if (typeof activePanelMinimumHeight === 'number') {
6080
+ return activePanelMinimumHeight;
6081
+ }
6082
+ return super.__minimumHeight();
6078
6083
  }
6079
6084
  get maximumWidth() {
6080
6085
  var _a;
6081
6086
  const activePanelMaximumWidth = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.maximumWidth;
6082
- return typeof activePanelMaximumWidth === 'number'
6083
- ? activePanelMaximumWidth
6084
- : Number.MAX_SAFE_INTEGER;
6087
+ if (typeof activePanelMaximumWidth === 'number') {
6088
+ return activePanelMaximumWidth;
6089
+ }
6090
+ return super.__maximumWidth();
6085
6091
  }
6086
6092
  get maximumHeight() {
6087
6093
  var _a;
6088
6094
  const activePanelMaximumHeight = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.maximumHeight;
6089
- return typeof activePanelMaximumHeight === 'number'
6090
- ? activePanelMaximumHeight
6091
- : Number.MAX_SAFE_INTEGER;
6095
+ if (typeof activePanelMaximumHeight === 'number') {
6096
+ return activePanelMaximumHeight;
6097
+ }
6098
+ return super.__maximumHeight();
6092
6099
  }
6093
6100
  get panels() {
6094
6101
  return this._model.panels;
@@ -6202,12 +6209,14 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6202
6209
  return this.group.api.getWindow();
6203
6210
  }
6204
6211
  moveTo(options) {
6205
- var _a;
6212
+ var _a, _b;
6206
6213
  this.accessor.moveGroupOrPanel({
6207
6214
  from: { groupId: this._group.id, panelId: this.panel.id },
6208
6215
  to: {
6209
- group: options.group,
6210
- position: (_a = options.position) !== null && _a !== void 0 ? _a : 'center',
6216
+ group: (_a = options.group) !== null && _a !== void 0 ? _a : this._group,
6217
+ position: options.group
6218
+ ? (_b = options.position) !== null && _b !== void 0 ? _b : 'center'
6219
+ : 'center',
6211
6220
  index: options.index,
6212
6221
  },
6213
6222
  });
@@ -6426,7 +6435,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6426
6435
  svg.setAttributeNS(null, 'viewBox', params.viewbox);
6427
6436
  svg.setAttributeNS(null, 'aria-hidden', 'false');
6428
6437
  svg.setAttributeNS(null, 'focusable', 'false');
6429
- svg.classList.add('dockview-svg');
6438
+ svg.classList.add('dv-svg');
6430
6439
  const path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
6431
6440
  path.setAttributeNS(null, 'd', params.path);
6432
6441
  svg.appendChild(path);
@@ -6597,19 +6606,19 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6597
6606
  constructor() {
6598
6607
  super();
6599
6608
  this._element = document.createElement('div');
6600
- this._element.className = 'watermark';
6609
+ this._element.className = 'dv-watermark';
6601
6610
  const title = document.createElement('div');
6602
- title.className = 'watermark-title';
6611
+ title.className = 'dv-watermark-title';
6603
6612
  const emptySpace = document.createElement('span');
6604
6613
  emptySpace.style.flexGrow = '1';
6605
6614
  const content = document.createElement('div');
6606
- content.className = 'watermark-content';
6615
+ content.className = 'dv-watermark-content';
6607
6616
  this._element.appendChild(title);
6608
6617
  this._element.appendChild(content);
6609
6618
  const actionsContainer = document.createElement('div');
6610
- actionsContainer.className = 'actions-container';
6619
+ actionsContainer.className = 'dv-actions-container';
6611
6620
  const closeAnchor = document.createElement('div');
6612
- closeAnchor.className = 'close-action';
6621
+ closeAnchor.className = 'dv-close-action';
6613
6622
  closeAnchor.appendChild(createCloseButton());
6614
6623
  actionsContainer.appendChild(closeAnchor);
6615
6624
  title.appendChild(emptySpace);
@@ -6629,11 +6638,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6629
6638
  }
6630
6639
  render() {
6631
6640
  const isOneGroup = !!(this._api && this._api.size <= 1);
6632
- toggleClass(this.element, 'has-actions', isOneGroup);
6641
+ toggleClass(this.element, 'dv-has-actions', isOneGroup);
6633
6642
  }
6634
6643
  }
6635
6644
 
6636
- const DEFAULT_OVERLAY_Z_INDEX = 999;
6637
6645
  class AriaLevelTracker {
6638
6646
  constructor() {
6639
6647
  this._orderedList = [];
@@ -6652,7 +6660,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6652
6660
  update() {
6653
6661
  for (let i = 0; i < this._orderedList.length; i++) {
6654
6662
  this._orderedList[i].setAttribute('aria-level', `${i}`);
6655
- this._orderedList[i].style.zIndex = `${DEFAULT_OVERLAY_Z_INDEX + i * 2}`;
6663
+ this._orderedList[i].style.zIndex = `calc(var(--dv-overlay-z-index, 999) + ${i * 2})`;
6656
6664
  }
6657
6665
  }
6658
6666
  }
@@ -7109,7 +7117,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
7109
7117
  const element = floatingGroup.overlay.element;
7110
7118
  const update = () => {
7111
7119
  const level = Number(element.getAttribute('aria-level'));
7112
- focusContainer.style.zIndex = `${DEFAULT_OVERLAY_Z_INDEX + level * 2 + 1}`;
7120
+ focusContainer.style.zIndex = `calc(var(--dv-overlay-z-index, 999) + ${level * 2 + 1})`;
7113
7121
  };
7114
7122
  const observer = new MutationObserver(() => {
7115
7123
  update();
@@ -7241,7 +7249,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
7241
7249
  window: this._window.value,
7242
7250
  });
7243
7251
  this._window.disposable.dispose();
7244
- this._window.value.close();
7245
7252
  this._window = null;
7246
7253
  this._onDidClose.fire();
7247
7254
  }
@@ -7273,7 +7280,9 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
7273
7280
  }
7274
7281
  const disposable = new CompositeDisposable();
7275
7282
  this._window = { value: externalWindow, disposable };
7276
- disposable.addDisposables(addDisposableWindowListener(window, 'beforeunload', () => {
7283
+ disposable.addDisposables(exports.DockviewDisposable.from(() => {
7284
+ externalWindow.close();
7285
+ }), addDisposableWindowListener(window, 'beforeunload', () => {
7277
7286
  /**
7278
7287
  * before the main window closes we should close this popup too
7279
7288
  * to be good citizens
@@ -7290,7 +7299,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
7290
7299
  id: this.target,
7291
7300
  window: externalWindow,
7292
7301
  });
7293
- return new Promise((resolve) => {
7302
+ return new Promise((resolve, reject) => {
7294
7303
  externalWindow.addEventListener('unload', (e) => {
7295
7304
  // if page fails to load before unloading
7296
7305
  // this.close();
@@ -7299,21 +7308,27 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
7299
7308
  /**
7300
7309
  * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event
7301
7310
  */
7302
- const externalDocument = externalWindow.document;
7303
- externalDocument.title = document.title;
7304
- externalDocument.body.appendChild(container);
7305
- addStyles(externalDocument, window.document.styleSheets);
7306
- /**
7307
- * beforeunload must be registered after load for reasons I could not determine
7308
- * otherwise the beforeunload event will not fire when the window is closed
7309
- */
7310
- addDisposableWindowListener(externalWindow, 'beforeunload', () => {
7311
+ try {
7312
+ const externalDocument = externalWindow.document;
7313
+ externalDocument.title = document.title;
7314
+ externalDocument.body.appendChild(container);
7315
+ addStyles(externalDocument, window.document.styleSheets);
7311
7316
  /**
7312
- * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event
7317
+ * beforeunload must be registered after load for reasons I could not determine
7318
+ * otherwise the beforeunload event will not fire when the window is closed
7313
7319
  */
7314
- this.close();
7315
- });
7316
- resolve(container);
7320
+ addDisposableWindowListener(externalWindow, 'beforeunload', () => {
7321
+ /**
7322
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event
7323
+ */
7324
+ this.close();
7325
+ });
7326
+ resolve(container);
7327
+ }
7328
+ catch (err) {
7329
+ // only except this is the DOM isn't setup. e.g. in a in correctly configured test
7330
+ reject(err);
7331
+ }
7317
7332
  });
7318
7333
  });
7319
7334
  });
@@ -7566,9 +7581,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
7566
7581
  }
7567
7582
  const box = getBox();
7568
7583
  const groupId = (_b = (_a = options === null || options === void 0 ? void 0 : options.overridePopoutGroup) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : this.getNextGroupId();
7569
- if (itemToPopout.api.location.type === 'grid') {
7570
- itemToPopout.api.setVisible(false);
7571
- }
7572
7584
  const _window = new PopoutWindow(`${this.id}-${groupId}`, // unique id
7573
7585
  theme !== null && theme !== void 0 ? theme : '', {
7574
7586
  url: (_c = options === null || options === void 0 ? void 0 : options.popoutUrl) !== null && _c !== void 0 ? _c : '/popout.html',
@@ -7587,11 +7599,11 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
7587
7599
  .then((popoutContainer) => {
7588
7600
  var _a;
7589
7601
  if (_window.isDisposed) {
7590
- return;
7602
+ return false;
7591
7603
  }
7592
7604
  if (popoutContainer === null) {
7593
7605
  popoutWindowDisposable.dispose();
7594
- return;
7606
+ return false;
7595
7607
  }
7596
7608
  const gready = document.createElement('div');
7597
7609
  gready.className = 'dv-overlay-render-container';
@@ -7600,30 +7612,40 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
7600
7612
  ? itemToPopout.group
7601
7613
  : itemToPopout;
7602
7614
  const referenceLocation = itemToPopout.api.location.type;
7603
- const group = (_a = options === null || options === void 0 ? void 0 : options.overridePopoutGroup) !== null && _a !== void 0 ? _a : this.createGroup({ id: groupId });
7615
+ /**
7616
+ * The group that is being added doesn't already exist within the DOM, the most likely occurance
7617
+ * of this case is when being called from the `fromJSON(...)` method
7618
+ */
7619
+ const isGroupAddedToDom = referenceGroup.element.parentElement !== null;
7620
+ const group = !isGroupAddedToDom
7621
+ ? referenceGroup
7622
+ : (_a = options === null || options === void 0 ? void 0 : options.overridePopoutGroup) !== null && _a !== void 0 ? _a : this.createGroup({ id: groupId });
7604
7623
  group.model.renderContainer = overlayRenderContainer;
7605
- if (!(options === null || options === void 0 ? void 0 : options.overridePopoutGroup)) {
7624
+ group.layout(_window.window.innerWidth, _window.window.innerHeight);
7625
+ if (!this._groups.has(group.api.id)) {
7606
7626
  this._onDidAddGroup.fire(group);
7607
7627
  }
7608
- if (itemToPopout instanceof DockviewPanel) {
7609
- this.movingLock(() => {
7610
- const panel = referenceGroup.model.removePanel(itemToPopout);
7611
- group.model.openPanel(panel);
7612
- });
7613
- }
7614
- else {
7615
- this.movingLock(() => moveGroupWithoutDestroying({
7616
- from: referenceGroup,
7617
- to: group,
7618
- }));
7619
- switch (referenceLocation) {
7620
- case 'grid':
7621
- referenceGroup.api.setVisible(false);
7622
- break;
7623
- case 'floating':
7624
- case 'popout':
7625
- this.removeGroup(referenceGroup);
7626
- break;
7628
+ if (!(options === null || options === void 0 ? void 0 : options.overridePopoutGroup) && isGroupAddedToDom) {
7629
+ if (itemToPopout instanceof DockviewPanel) {
7630
+ this.movingLock(() => {
7631
+ const panel = referenceGroup.model.removePanel(itemToPopout);
7632
+ group.model.openPanel(panel);
7633
+ });
7634
+ }
7635
+ else {
7636
+ this.movingLock(() => moveGroupWithoutDestroying({
7637
+ from: referenceGroup,
7638
+ to: group,
7639
+ }));
7640
+ switch (referenceLocation) {
7641
+ case 'grid':
7642
+ referenceGroup.api.setVisible(false);
7643
+ break;
7644
+ case 'floating':
7645
+ case 'popout':
7646
+ this.removeGroup(referenceGroup);
7647
+ break;
7648
+ }
7627
7649
  }
7628
7650
  }
7629
7651
  popoutContainer.classList.add('dv-dockview');
@@ -7634,6 +7656,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
7634
7656
  type: 'popout',
7635
7657
  getWindow: () => _window.window,
7636
7658
  };
7659
+ if (isGroupAddedToDom &&
7660
+ itemToPopout.api.location.type === 'grid') {
7661
+ itemToPopout.api.setVisible(false);
7662
+ }
7637
7663
  this.doSetGroupAndPanelActive(group);
7638
7664
  popoutWindowDisposable.addDisposables(group.api.onDidActiveChange((event) => {
7639
7665
  var _a;
@@ -7648,9 +7674,13 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
7648
7674
  const value = {
7649
7675
  window: _window,
7650
7676
  popoutGroup: group,
7651
- referenceGroup: this.getPanel(referenceGroup.id)
7652
- ? referenceGroup.id
7653
- : undefined,
7677
+ referenceGroup: !isGroupAddedToDom
7678
+ ? undefined
7679
+ : referenceGroup
7680
+ ? this.getPanel(referenceGroup.id)
7681
+ ? referenceGroup.id
7682
+ : undefined
7683
+ : undefined,
7654
7684
  disposable: {
7655
7685
  dispose: () => {
7656
7686
  popoutWindowDisposable.dispose();
@@ -7665,9 +7695,10 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
7665
7695
  * window dimensions
7666
7696
  */
7667
7697
  addDisposableWindowListener(_window.window, 'resize', () => {
7668
- group.layout(window.innerWidth, window.innerHeight);
7698
+ group.layout(_window.window.innerWidth, _window.window.innerHeight);
7669
7699
  }), overlayRenderContainer, exports.DockviewDisposable.from(() => {
7670
- if (this.getPanel(referenceGroup.id)) {
7700
+ if (isGroupAddedToDom &&
7701
+ this.getPanel(referenceGroup.id)) {
7671
7702
  this.movingLock(() => moveGroupWithoutDestroying({
7672
7703
  from: group,
7673
7704
  to: referenceGroup,
@@ -7682,21 +7713,27 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
7682
7713
  }
7683
7714
  }
7684
7715
  else if (this.getPanel(group.id)) {
7685
- const removedGroup = this.doRemoveGroup(group, {
7716
+ this.doRemoveGroup(group, {
7686
7717
  skipDispose: true,
7687
7718
  skipActive: true,
7719
+ skipPopoutReturn: true,
7688
7720
  });
7721
+ const removedGroup = group;
7689
7722
  removedGroup.model.renderContainer =
7690
7723
  this.overlayRenderContainer;
7691
7724
  removedGroup.model.location = { type: 'grid' };
7692
7725
  returnedGroup = removedGroup;
7726
+ this.doAddGroup(removedGroup, [0]);
7727
+ this.doSetGroupAndPanelActive(removedGroup);
7693
7728
  }
7694
7729
  }));
7695
7730
  this._popoutGroups.push(value);
7696
7731
  this.updateWatermark();
7732
+ return true;
7697
7733
  })
7698
7734
  .catch((err) => {
7699
7735
  console.error('dockview: failed to create popout window', err);
7736
+ return false;
7700
7737
  });
7701
7738
  }
7702
7739
  addFloatingGroup(item, options) {
@@ -7800,7 +7837,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
7800
7837
  : (_c = (_b = this.options.floatingGroupBounds) === null || _b === void 0 ? void 0 : _b.minimumWidthWithinViewport) !== null && _c !== void 0 ? _c : DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE, minimumInViewportHeight: this.options.floatingGroupBounds === 'boundedWithinViewport'
7801
7838
  ? undefined
7802
7839
  : (_e = (_d = this.options.floatingGroupBounds) === null || _d === void 0 ? void 0 : _d.minimumHeightWithinViewport) !== null && _e !== void 0 ? _e : DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE }));
7803
- const el = group.element.querySelector('.void-container');
7840
+ const el = group.element.querySelector('.dv-void-container');
7804
7841
  if (!el) {
7805
7842
  throw new Error('failed to find drag handle');
7806
7843
  }
@@ -8083,7 +8120,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
8083
8120
  this.addPopoutGroup((_c = (gridReferenceGroup
8084
8121
  ? this.getPanel(gridReferenceGroup)
8085
8122
  : undefined)) !== null && _c !== void 0 ? _c : group, {
8086
- skipRemoveGroup: true,
8087
8123
  position: position !== null && position !== void 0 ? position : undefined,
8088
8124
  overridePopoutGroup: gridReferenceGroup
8089
8125
  ? group
@@ -8101,6 +8137,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
8101
8137
  }
8102
8138
  }
8103
8139
  catch (err) {
8140
+ console.error('dockview: failed to deserialize layout. Reverting changes', err);
8104
8141
  /**
8105
8142
  * Takes all the successfully created groups and remove all of their panels.
8106
8143
  */
@@ -8168,11 +8205,13 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
8168
8205
  width: options.initialWidth,
8169
8206
  height: options.initialHeight,
8170
8207
  };
8208
+ let index;
8171
8209
  if (options.position) {
8172
8210
  if (isPanelOptionsWithPanel(options.position)) {
8173
8211
  const referencePanel = typeof options.position.referencePanel === 'string'
8174
8212
  ? this.getGroupPanel(options.position.referencePanel)
8175
8213
  : options.position.referencePanel;
8214
+ index = options.position.index;
8176
8215
  if (!referencePanel) {
8177
8216
  throw new Error(`referencePanel '${options.position.referencePanel}' does not exist`);
8178
8217
  }
@@ -8183,6 +8222,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
8183
8222
  typeof options.position.referenceGroup === 'string'
8184
8223
  ? (_a = this._groups.get(options.position.referenceGroup)) === null || _a === void 0 ? void 0 : _a.value
8185
8224
  : options.position.referenceGroup;
8225
+ index = options.position.index;
8186
8226
  if (!referenceGroup) {
8187
8227
  throw new Error(`referenceGroup '${options.position.referenceGroup}' does not exist`);
8188
8228
  }
@@ -8193,6 +8233,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
8193
8233
  group.model.openPanel(panel, {
8194
8234
  skipSetActive: options.inactive,
8195
8235
  skipSetGroupActive: options.inactive,
8236
+ index,
8196
8237
  });
8197
8238
  if (!options.inactive) {
8198
8239
  this.doSetGroupAndPanelActive(group);
@@ -8222,6 +8263,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
8222
8263
  group.model.openPanel(panel, {
8223
8264
  skipSetActive: options.inactive,
8224
8265
  skipSetGroupActive: options.inactive,
8266
+ index,
8225
8267
  });
8226
8268
  }
8227
8269
  else if (referenceGroup.api.location.type === 'floating' ||
@@ -8230,6 +8272,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
8230
8272
  referenceGroup.model.openPanel(panel, {
8231
8273
  skipSetActive: options.inactive,
8232
8274
  skipSetGroupActive: options.inactive,
8275
+ index,
8233
8276
  });
8234
8277
  referenceGroup.api.setSize({
8235
8278
  width: initial === null || initial === void 0 ? void 0 : initial.width,
@@ -8250,6 +8293,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
8250
8293
  group.model.openPanel(panel, {
8251
8294
  skipSetActive: options.inactive,
8252
8295
  skipSetGroupActive: options.inactive,
8296
+ index,
8253
8297
  });
8254
8298
  if (!options.inactive) {
8255
8299
  this.doSetGroupAndPanelActive(group);
@@ -8268,6 +8312,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
8268
8312
  group.model.openPanel(panel, {
8269
8313
  skipSetActive: options.inactive,
8270
8314
  skipSetGroupActive: options.inactive,
8315
+ index,
8271
8316
  });
8272
8317
  }
8273
8318
  else {
@@ -8278,6 +8323,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
8278
8323
  group.model.openPanel(panel, {
8279
8324
  skipSetActive: options.inactive,
8280
8325
  skipSetGroupActive: options.inactive,
8326
+ index,
8281
8327
  });
8282
8328
  if (!options.inactive) {
8283
8329
  this.doSetGroupAndPanelActive(group);
@@ -8818,6 +8864,31 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
8818
8864
  }
8819
8865
  }
8820
8866
 
8867
+ function createComponent(id, componentName, components = {}, frameworkComponents = {}, createFrameworkComponent, fallback) {
8868
+ const Component = typeof componentName === 'string'
8869
+ ? components[componentName]
8870
+ : undefined;
8871
+ const FrameworkComponent = typeof componentName === 'string'
8872
+ ? frameworkComponents[componentName]
8873
+ : undefined;
8874
+ if (Component && FrameworkComponent) {
8875
+ throw new Error(`Cannot create '${id}'. component '${componentName}' registered as both a component and frameworkComponent`);
8876
+ }
8877
+ if (FrameworkComponent) {
8878
+ if (!createFrameworkComponent) {
8879
+ throw new Error(`Cannot create '${id}' for framework component '${componentName}'. you must register a frameworkPanelWrapper to use framework components`);
8880
+ }
8881
+ return createFrameworkComponent.createComponent(id, componentName, FrameworkComponent);
8882
+ }
8883
+ if (!Component) {
8884
+ if (fallback) {
8885
+ return fallback();
8886
+ }
8887
+ throw new Error(`Cannot create '${id}', no component '${componentName}' provided`);
8888
+ }
8889
+ return new Component(id, componentName);
8890
+ }
8891
+
8821
8892
  class GridviewComponent extends BaseGrid {
8822
8893
  get orientation() {
8823
8894
  return this.gridview.orientation;
@@ -9366,12 +9437,14 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
9366
9437
  this._expandedIcon = createExpandMoreButton();
9367
9438
  this._collapsedIcon = createChevronRightButton();
9368
9439
  this.disposable = new MutableDisposable();
9369
- this.apiRef = { api: null };
9440
+ this.apiRef = {
9441
+ api: null,
9442
+ };
9370
9443
  this._element = document.createElement('div');
9371
- this.element.className = 'default-header';
9444
+ this.element.className = 'dv-default-header';
9372
9445
  this._content = document.createElement('span');
9373
9446
  this._expander = document.createElement('div');
9374
- this._expander.className = 'dockview-pane-header-icon';
9447
+ this._expander.className = 'dv-pane-header-icon';
9375
9448
  this.element.appendChild(this._expander);
9376
9449
  this.element.appendChild(this._content);
9377
9450
  this.addDisposables(addDisposableListener(this._element, 'click', () => {
@@ -10228,22 +10301,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
10228
10301
  disposable.dispose();
10229
10302
  };
10230
10303
  }, [props.onDidDrop]);
10231
- React.useEffect(() => {
10232
- if (!dockviewRef.current) {
10233
- return () => {
10234
- // noop
10235
- };
10236
- }
10237
- const disposable = dockviewRef.current.onUnhandledDragOverEvent((event) => {
10238
- var _a;
10239
- if ((_a = props.showDndOverlay) === null || _a === void 0 ? void 0 : _a.call(props, event)) {
10240
- event.accept();
10241
- }
10242
- });
10243
- return () => {
10244
- disposable.dispose();
10245
- };
10246
- }, [props.showDndOverlay]);
10247
10304
  React.useEffect(() => {
10248
10305
  if (!dockviewRef.current) {
10249
10306
  return () => {
@@ -10661,7 +10718,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
10661
10718
  exports.GridviewComponent = GridviewComponent;
10662
10719
  exports.GridviewPanel = GridviewPanel;
10663
10720
  exports.GridviewReact = GridviewReact;
10664
- exports.LocalSelectionTransfer = LocalSelectionTransfer;
10665
10721
  exports.PROPERTY_KEYS = PROPERTY_KEYS;
10666
10722
  exports.PaneFramework = PaneFramework;
10667
10723
  exports.PaneTransfer = PaneTransfer;
@@ -10680,7 +10736,6 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
10680
10736
  exports.SplitviewReact = SplitviewReact;
10681
10737
  exports.Tab = Tab;
10682
10738
  exports.WillShowOverlayLocationEvent = WillShowOverlayLocationEvent;
10683
- exports.createComponent = createComponent;
10684
10739
  exports.createDockview = createDockview;
10685
10740
  exports.createGridview = createGridview;
10686
10741
  exports.createPaneview = createPaneview;