dockview-react 1.15.2 → 1.16.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.15.2
3
+ * @version 1.16.0
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -34,7 +34,7 @@ function styleInject(css, ref) {
34
34
  }
35
35
  }
36
36
 
37
- var css_248z = ".dv-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 999;\n}\n\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: ##fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-background-color: #ebeced;\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab .dockview-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .groupview .content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .groupview.active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview.inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.drop-target {\n position: relative;\n}\n.drop-target > .drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 1000;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition: top 70ms ease-out, left 70ms ease-out, width 70ms ease-out, height 70ms ease-out, opacity 0.15s ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n position: absolute;\n z-index: 997;\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-bring-to-front {\n z-index: 998;\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: 999;\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: se-resize;\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\n}\n\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.groupview:focus {\n outline: none;\n}\n.groupview.empty > .tabs-and-actions-container {\n display: none;\n}\n.groupview > .content-container {\n flex-grow: 1;\n min-height: 0;\n outline: none;\n}\n.dv-root-wrapper {\n height: 100%;\n width: 100%;\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: var(--dv-background-color);\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.tab.inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: elipsis;\n}\n.tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dv-default-tab .dv-default-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
37
+ 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}";
38
38
  styleInject(css_248z);
39
39
 
40
40
  class TransferObject {
@@ -562,6 +562,26 @@ function isInDocument(element) {
562
562
  function addTestId(element, id) {
563
563
  element.setAttribute('data-testid', id);
564
564
  }
565
+ function disableIframePointEvents() {
566
+ const iframes = [
567
+ ...getElementsByTagName('iframe'),
568
+ ...getElementsByTagName('webview'),
569
+ ];
570
+ const original = new WeakMap(); // don't hold onto HTMLElement references longer than required
571
+ for (const iframe of iframes) {
572
+ original.set(iframe, iframe.style.pointerEvents);
573
+ iframe.style.pointerEvents = 'none';
574
+ }
575
+ return {
576
+ release: () => {
577
+ var _a;
578
+ for (const iframe of iframes) {
579
+ iframe.style.pointerEvents = (_a = original.get(iframe)) !== null && _a !== void 0 ? _a : 'auto';
580
+ }
581
+ iframes.splice(0, iframes.length); // don't hold onto HTMLElement references longer than required
582
+ },
583
+ };
584
+ }
565
585
 
566
586
  function tail(arr) {
567
587
  if (arr.length === 0) {
@@ -1084,13 +1104,7 @@ class Splitview {
1084
1104
  for (const item of this.viewItems) {
1085
1105
  item.enabled = false;
1086
1106
  }
1087
- const iframes = [
1088
- ...getElementsByTagName('iframe'),
1089
- ...getElementsByTagName('webview'),
1090
- ];
1091
- for (const iframe of iframes) {
1092
- iframe.style.pointerEvents = 'none';
1093
- }
1107
+ const iframes = disableIframePointEvents();
1094
1108
  const start = this._orientation === Orientation.HORIZONTAL
1095
1109
  ? event.clientX
1096
1110
  : event.clientY;
@@ -1152,9 +1166,7 @@ class Splitview {
1152
1166
  for (const item of this.viewItems) {
1153
1167
  item.enabled = true;
1154
1168
  }
1155
- for (const iframe of iframes) {
1156
- iframe.style.pointerEvents = 'auto';
1157
- }
1169
+ iframes.release();
1158
1170
  this.saveProportions();
1159
1171
  document.removeEventListener('pointermove', onPointerMove);
1160
1172
  document.removeEventListener('pointerup', end);
@@ -1321,29 +1333,47 @@ class Splitview {
1321
1333
  if (this.viewItems.length === 0) {
1322
1334
  return;
1323
1335
  }
1324
- const sashCount = this.viewItems.length - 1;
1325
- const marginReducedSize = (this.margin * sashCount) / this.viewItems.length;
1336
+ const visibleViewItems = this.viewItems.filter((i) => i.visible);
1337
+ const sashCount = Math.max(0, visibleViewItems.length - 1);
1338
+ const marginReducedSize = (this.margin * sashCount) / Math.max(1, visibleViewItems.length);
1326
1339
  let totalLeftOffset = 0;
1327
1340
  const viewLeftOffsets = [];
1328
- for (let i = 0; i < this.viewItems.length - 1; i++) {
1329
- totalLeftOffset += this.viewItems[i].size;
1330
- viewLeftOffsets.push(totalLeftOffset);
1331
- const offset = Math.min(Math.max(0, totalLeftOffset - 2), this.size - this.margin);
1332
- if (this._orientation === Orientation.HORIZONTAL) {
1333
- this.sashes[i].container.style.left = `${offset}px`;
1334
- this.sashes[i].container.style.top = `0px`;
1341
+ const sashWidth = 4; // hardcoded in css
1342
+ const runningVisiblePanelCount = this.viewItems.reduce((arr, viewItem, i) => {
1343
+ const flag = viewItem.visible ? 1 : 0;
1344
+ if (i === 0) {
1345
+ arr.push(flag);
1335
1346
  }
1336
- if (this._orientation === Orientation.VERTICAL) {
1337
- this.sashes[i].container.style.left = `0px`;
1338
- this.sashes[i].container.style.top = `${offset}px`;
1347
+ else {
1348
+ arr.push(arr[i - 1] + flag);
1339
1349
  }
1340
- }
1350
+ return arr;
1351
+ }, []);
1352
+ // calculate both view and cash positions
1341
1353
  this.viewItems.forEach((view, i) => {
1342
- const size = view.size - marginReducedSize;
1343
- const offset = i === 0
1354
+ totalLeftOffset += this.viewItems[i].size;
1355
+ viewLeftOffsets.push(totalLeftOffset);
1356
+ const size = view.visible ? view.size - marginReducedSize : 0;
1357
+ const visiblePanelsBeforeThisView = Math.max(0, runningVisiblePanelCount[i] - 1);
1358
+ const offset = i === 0 || visiblePanelsBeforeThisView === 0
1344
1359
  ? 0
1345
1360
  : viewLeftOffsets[i - 1] +
1346
- (i / sashCount) * marginReducedSize;
1361
+ (visiblePanelsBeforeThisView / sashCount) * marginReducedSize;
1362
+ if (i < this.viewItems.length - 1) {
1363
+ // calculate sash position
1364
+ const newSize = view.visible
1365
+ ? offset + size - sashWidth / 2 + this.margin / 2
1366
+ : offset;
1367
+ if (this._orientation === Orientation.HORIZONTAL) {
1368
+ this.sashes[i].container.style.left = `${newSize}px`;
1369
+ this.sashes[i].container.style.top = `0px`;
1370
+ }
1371
+ if (this._orientation === Orientation.VERTICAL) {
1372
+ this.sashes[i].container.style.left = `0px`;
1373
+ this.sashes[i].container.style.top = `${newSize}px`;
1374
+ }
1375
+ }
1376
+ // calculate view position
1347
1377
  if (this._orientation === Orientation.HORIZONTAL) {
1348
1378
  view.container.style.width = `${size}px`;
1349
1379
  view.container.style.left = `${offset}px`;
@@ -2687,6 +2717,9 @@ class BaseGrid extends Resizable {
2687
2717
  this.onDidViewVisibilityChangeMicroTaskQueue = this._onDidViewVisibilityChangeMicroTaskQueue.onEvent;
2688
2718
  this.element.style.height = '100%';
2689
2719
  this.element.style.width = '100%';
2720
+ if (typeof options.className === 'string') {
2721
+ this.element.classList.add(options.className);
2722
+ }
2690
2723
  options.parentElement.appendChild(this.element);
2691
2724
  this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation, options.locked, options.margin);
2692
2725
  this.gridview.locked = !!options.locked;
@@ -2890,12 +2923,6 @@ class SplitviewApi {
2890
2923
  constructor(component) {
2891
2924
  this.component = component;
2892
2925
  }
2893
- /**
2894
- * Update configuratable options.
2895
- */
2896
- updateOptions(options) {
2897
- this.component.updateOptions(options);
2898
- }
2899
2926
  /**
2900
2927
  * Removes an existing panel and optionally provide a `Sizing` method
2901
2928
  * for the subsequent resize.
@@ -2949,6 +2976,18 @@ class SplitviewApi {
2949
2976
  clear() {
2950
2977
  this.component.clear();
2951
2978
  }
2979
+ /**
2980
+ * Update configuratable options.
2981
+ */
2982
+ updateOptions(options) {
2983
+ this.component.updateOptions(options);
2984
+ }
2985
+ /**
2986
+ * Release resources and teardown component. Do not call when using framework versions of dockview.
2987
+ */
2988
+ dispose() {
2989
+ this.component.dispose();
2990
+ }
2952
2991
  }
2953
2992
  class PaneviewApi {
2954
2993
  /**
@@ -3076,6 +3115,18 @@ class PaneviewApi {
3076
3115
  clear() {
3077
3116
  this.component.clear();
3078
3117
  }
3118
+ /**
3119
+ * Update configuratable options.
3120
+ */
3121
+ updateOptions(options) {
3122
+ this.component.updateOptions(options);
3123
+ }
3124
+ /**
3125
+ * Release resources and teardown component. Do not call when using framework versions of dockview.
3126
+ */
3127
+ dispose() {
3128
+ this.component.dispose();
3129
+ }
3079
3130
  }
3080
3131
  class GridviewApi {
3081
3132
  /**
@@ -3216,6 +3267,15 @@ class GridviewApi {
3216
3267
  clear() {
3217
3268
  this.component.clear();
3218
3269
  }
3270
+ updateOptions(options) {
3271
+ this.component.updateOptions(options);
3272
+ }
3273
+ /**
3274
+ * Release resources and teardown component. Do not call when using framework versions of dockview.
3275
+ */
3276
+ dispose() {
3277
+ this.component.dispose();
3278
+ }
3219
3279
  }
3220
3280
  class DockviewApi {
3221
3281
  /**
@@ -3508,6 +3568,15 @@ class DockviewApi {
3508
3568
  setGap(gap) {
3509
3569
  this.component.updateOptions({ gap });
3510
3570
  }
3571
+ updateOptions(options) {
3572
+ this.component.updateOptions(options);
3573
+ }
3574
+ /**
3575
+ * Release resources and teardown component. Do not call when using framework versions of dockview.
3576
+ */
3577
+ dispose() {
3578
+ this.component.dispose();
3579
+ }
3511
3580
  }
3512
3581
 
3513
3582
  class DragHandler extends CompositeDisposable {
@@ -3530,20 +3599,12 @@ class DragHandler extends CompositeDisposable {
3530
3599
  event.preventDefault();
3531
3600
  return;
3532
3601
  }
3533
- const iframes = [
3534
- ...getElementsByTagName('iframe'),
3535
- ...getElementsByTagName('webview'),
3536
- ];
3602
+ const iframes = disableIframePointEvents();
3537
3603
  this.pointerEventsDisposable.value = {
3538
3604
  dispose: () => {
3539
- for (const iframe of iframes) {
3540
- iframe.style.pointerEvents = 'auto';
3541
- }
3605
+ iframes.release();
3542
3606
  },
3543
3607
  };
3544
- for (const iframe of iframes) {
3545
- iframe.style.pointerEvents = 'none';
3546
- }
3547
3608
  this.el.classList.add('dv-dragged');
3548
3609
  setTimeout(() => this.el.classList.remove('dv-dragged'), 0);
3549
3610
  this.dataDisposable.value = this.getData(event);
@@ -4707,7 +4768,7 @@ class VoidContainer extends CompositeDisposable {
4707
4768
  this._element.className = 'void-container';
4708
4769
  this._element.tabIndex = 0;
4709
4770
  this._element.draggable = true;
4710
- this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, 'click', () => {
4771
+ this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, 'pointerdown', () => {
4711
4772
  this.accessor.doSetGroupActive(this.group);
4712
4773
  }));
4713
4774
  const handler = new GroupDragHandler(this._element, accessor, group);
@@ -5022,6 +5083,7 @@ const PROPERTY_KEYS = (() => {
5022
5083
  locked: undefined,
5023
5084
  disableDnd: undefined,
5024
5085
  gap: undefined,
5086
+ className: undefined,
5025
5087
  };
5026
5088
  return Object.keys(properties);
5027
5089
  })();
@@ -5577,7 +5639,7 @@ class DockviewGroupPanelModel extends CompositeDisposable {
5577
5639
  group: this.groupPanel,
5578
5640
  });
5579
5641
  this.watermark = watermark;
5580
- addDisposableListener(this.watermark.element, 'click', () => {
5642
+ addDisposableListener(this.watermark.element, 'pointerdown', () => {
5581
5643
  if (!this.isActive) {
5582
5644
  this.accessor.doSetGroupActive(this.groupPanel);
5583
5645
  }
@@ -6142,7 +6204,7 @@ class DockviewPanel extends CompositeDisposable {
6142
6204
  // forward the resize event to the group since if you want to resize a panel
6143
6205
  // you are actually just resizing the panels parent which is the group
6144
6206
  this.group.api.setSize(event);
6145
- }), this.api.onDidRendererChange((event) => {
6207
+ }), this.api.onDidRendererChange(() => {
6146
6208
  this.group.model.rerender(this);
6147
6209
  }));
6148
6210
  }
@@ -6478,17 +6540,30 @@ class Watermark extends CompositeDisposable {
6478
6540
  }
6479
6541
  }
6480
6542
 
6481
- const bringElementToFront = (() => {
6482
- let previous = null;
6483
- function pushToTop(element) {
6484
- if (previous !== element && previous !== null) {
6485
- toggleClass(previous, 'dv-bring-to-front', false);
6543
+ const DEFAULT_OVERLAY_Z_INDEX = 999;
6544
+ class AriaLevelTracker {
6545
+ constructor() {
6546
+ this._orderedList = [];
6547
+ }
6548
+ push(element) {
6549
+ this._orderedList = [
6550
+ ...this._orderedList.filter((item) => item !== element),
6551
+ element,
6552
+ ];
6553
+ this.update();
6554
+ }
6555
+ destroy(element) {
6556
+ this._orderedList = this._orderedList.filter((item) => item !== element);
6557
+ this.update();
6558
+ }
6559
+ update() {
6560
+ for (let i = 0; i < this._orderedList.length; i++) {
6561
+ this._orderedList[i].setAttribute('aria-level', `${i}`);
6562
+ this._orderedList[i].style.zIndex = `${DEFAULT_OVERLAY_Z_INDEX + i * 2}`;
6486
6563
  }
6487
- toggleClass(element, 'dv-bring-to-front', true);
6488
- previous = element;
6489
6564
  }
6490
- return pushToTop;
6491
- })();
6565
+ }
6566
+ const arialLevelTracker = new AriaLevelTracker();
6492
6567
  class Overlay extends CompositeDisposable {
6493
6568
  set minimumInViewportWidth(value) {
6494
6569
  this.options.minimumInViewportWidth = value;
@@ -6496,6 +6571,9 @@ class Overlay extends CompositeDisposable {
6496
6571
  set minimumInViewportHeight(value) {
6497
6572
  this.options.minimumInViewportHeight = value;
6498
6573
  }
6574
+ get element() {
6575
+ return this._element;
6576
+ }
6499
6577
  constructor(options) {
6500
6578
  super();
6501
6579
  this.options = options;
@@ -6518,6 +6596,10 @@ class Overlay extends CompositeDisposable {
6518
6596
  this.options.container.appendChild(this._element);
6519
6597
  // if input bad resize within acceptable boundaries
6520
6598
  this.setBounds(Object.assign(Object.assign(Object.assign(Object.assign({ height: this.options.height, width: this.options.width }, ('top' in this.options && { top: this.options.top })), ('bottom' in this.options && { bottom: this.options.bottom })), ('left' in this.options && { left: this.options.left })), ('right' in this.options && { right: this.options.right })));
6599
+ arialLevelTracker.push(this._element);
6600
+ }
6601
+ bringToFront() {
6602
+ arialLevelTracker.push(this._element);
6521
6603
  }
6522
6604
  setBounds(bounds = {}) {
6523
6605
  if (typeof bounds.height === 'number') {
@@ -6605,18 +6687,10 @@ class Overlay extends CompositeDisposable {
6605
6687
  const move = new MutableDisposable();
6606
6688
  const track = () => {
6607
6689
  let offset = null;
6608
- const iframes = [
6609
- ...getElementsByTagName('iframe'),
6610
- ...getElementsByTagName('webview'),
6611
- ];
6612
- for (const iframe of iframes) {
6613
- iframe.style.pointerEvents = 'none';
6614
- }
6690
+ const iframes = disableIframePointEvents();
6615
6691
  move.value = new CompositeDisposable({
6616
6692
  dispose: () => {
6617
- for (const iframe of iframes) {
6618
- iframe.style.pointerEvents = 'auto';
6619
- }
6693
+ iframes.release();
6620
6694
  },
6621
6695
  }, addDisposableWindowListener(window, 'mousemove', (e) => {
6622
6696
  const containerRect = this.options.container.getBoundingClientRect();
@@ -6685,9 +6759,8 @@ class Overlay extends CompositeDisposable {
6685
6759
  track();
6686
6760
  }
6687
6761
  }), addDisposableListener(this.options.content, 'mousedown', () => {
6688
- bringElementToFront(this._element);
6762
+ arialLevelTracker.push(this._element);
6689
6763
  }, true));
6690
- bringElementToFront(this._element);
6691
6764
  if (options.inDragMode) {
6692
6765
  track();
6693
6766
  }
@@ -6700,13 +6773,7 @@ class Overlay extends CompositeDisposable {
6700
6773
  this.addDisposables(move, addDisposableListener(resizeHandleElement, 'mousedown', (e) => {
6701
6774
  e.preventDefault();
6702
6775
  let startPosition = null;
6703
- const iframes = [
6704
- ...getElementsByTagName('iframe'),
6705
- ...getElementsByTagName('webview'),
6706
- ];
6707
- for (const iframe of iframes) {
6708
- iframe.style.pointerEvents = 'none';
6709
- }
6776
+ const iframes = disableIframePointEvents();
6710
6777
  move.value = new CompositeDisposable(addDisposableWindowListener(window, 'mousemove', (e) => {
6711
6778
  const containerRect = this.options.container.getBoundingClientRect();
6712
6779
  const overlayRect = this._element.getBoundingClientRect();
@@ -6829,9 +6896,7 @@ class Overlay extends CompositeDisposable {
6829
6896
  this.setBounds(bounds);
6830
6897
  }), {
6831
6898
  dispose: () => {
6832
- for (const iframe of iframes) {
6833
- iframe.style.pointerEvents = 'auto';
6834
- }
6899
+ iframes.release();
6835
6900
  },
6836
6901
  }, addDisposableWindowListener(window, 'mouseup', () => {
6837
6902
  move.dispose();
@@ -6852,6 +6917,7 @@ class Overlay extends CompositeDisposable {
6852
6917
  return 0;
6853
6918
  }
6854
6919
  dispose() {
6920
+ arialLevelTracker.destroy(this._element);
6855
6921
  this._element.remove();
6856
6922
  super.dispose();
6857
6923
  }
@@ -6880,9 +6946,10 @@ function createFocusableElement() {
6880
6946
  return element;
6881
6947
  }
6882
6948
  class OverlayRenderContainer extends CompositeDisposable {
6883
- constructor(element) {
6949
+ constructor(element, accessor) {
6884
6950
  super();
6885
6951
  this.element = element;
6952
+ this.accessor = accessor;
6886
6953
  this.map = {};
6887
6954
  this._disposed = false;
6888
6955
  this.addDisposables(Disposable.from(() => {
@@ -6938,7 +7005,35 @@ class OverlayRenderContainer extends CompositeDisposable {
6938
7005
  }
6939
7006
  focusContainer.style.display = panel.api.isVisible ? '' : 'none';
6940
7007
  };
6941
- const disposable = new CompositeDisposable(
7008
+ const observerDisposable = new MutableDisposable();
7009
+ const correctLayerPosition = () => {
7010
+ if (panel.api.location.type === 'floating') {
7011
+ queueMicrotask(() => {
7012
+ const floatingGroup = this.accessor.floatingGroups.find((group) => group.group === panel.api.group);
7013
+ if (!floatingGroup) {
7014
+ return;
7015
+ }
7016
+ const element = floatingGroup.overlay.element;
7017
+ const update = () => {
7018
+ const level = Number(element.getAttribute('aria-level'));
7019
+ focusContainer.style.zIndex = `${DEFAULT_OVERLAY_Z_INDEX + level * 2 + 1}`;
7020
+ };
7021
+ const observer = new MutationObserver(() => {
7022
+ update();
7023
+ });
7024
+ observerDisposable.value = Disposable.from(() => observer.disconnect());
7025
+ observer.observe(element, {
7026
+ attributeFilter: ['aria-level'],
7027
+ attributes: true,
7028
+ });
7029
+ update();
7030
+ });
7031
+ }
7032
+ else {
7033
+ focusContainer.style.zIndex = ''; // reset the z-index, perhaps CSS will take over here
7034
+ }
7035
+ };
7036
+ const disposable = new CompositeDisposable(observerDisposable,
6942
7037
  /**
6943
7038
  * since container is positioned absoutely we must explicitly forward
6944
7039
  * the dnd events for the expect behaviours to continue to occur in terms of dnd
@@ -6962,7 +7057,7 @@ class OverlayRenderContainer extends CompositeDisposable {
6962
7057
  onDragOver: (e) => {
6963
7058
  referenceContainer.dropTarget.dnd.onDragOver(e);
6964
7059
  },
6965
- }), panel.api.onDidVisibilityChange((event) => {
7060
+ }), panel.api.onDidVisibilityChange(() => {
6966
7061
  /**
6967
7062
  * Control the visibility of the content, however even when not visible (display: none)
6968
7063
  * the content is still maintained within the DOM hence DOM specific attributes
@@ -6974,6 +7069,8 @@ class OverlayRenderContainer extends CompositeDisposable {
6974
7069
  return;
6975
7070
  }
6976
7071
  resize();
7072
+ }), panel.api.onDidLocationChange(() => {
7073
+ correctLayerPosition();
6977
7074
  }));
6978
7075
  this.map[panel.api.id].destroy = Disposable.from(() => {
6979
7076
  var _a;
@@ -6982,6 +7079,7 @@ class OverlayRenderContainer extends CompositeDisposable {
6982
7079
  }
6983
7080
  (_a = focusContainer.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(focusContainer);
6984
7081
  });
7082
+ correctLayerPosition();
6985
7083
  queueMicrotask(() => {
6986
7084
  if (this.isDisposed) {
6987
7085
  return;
@@ -7207,7 +7305,10 @@ class DockviewComponent extends BaseGrid {
7207
7305
  get gap() {
7208
7306
  return this.gridview.margin;
7209
7307
  }
7210
- constructor(options) {
7308
+ get floatingGroups() {
7309
+ return this._floatingGroups;
7310
+ }
7311
+ constructor(parentElement, options) {
7211
7312
  var _a;
7212
7313
  super({
7213
7314
  proportionalLayout: true,
@@ -7215,10 +7316,11 @@ class DockviewComponent extends BaseGrid {
7215
7316
  styles: options.hideBorders
7216
7317
  ? { separatorBorder: 'transparent' }
7217
7318
  : undefined,
7218
- parentElement: options.parentElement,
7319
+ parentElement: parentElement,
7219
7320
  disableAutoResizing: options.disableAutoResizing,
7220
7321
  locked: options.locked,
7221
7322
  margin: options.gap,
7323
+ className: options.className,
7222
7324
  });
7223
7325
  this.nextGroupId = sequentialNumberGenerator();
7224
7326
  this._deserializer = new DefaultDockviewDeserialzier(this);
@@ -7254,10 +7356,10 @@ class DockviewComponent extends BaseGrid {
7254
7356
  this._onDidActiveGroupChange = new Emitter();
7255
7357
  this.onDidActiveGroupChange = this._onDidActiveGroupChange.event;
7256
7358
  this._moving = false;
7257
- const gready = document.createElement('div');
7258
- gready.className = 'dv-overlay-render-container';
7259
- this.gridview.element.appendChild(gready);
7260
- this.overlayRenderContainer = new OverlayRenderContainer(gready);
7359
+ // const gready = document.createElement('div');
7360
+ // gready.className = 'dv-overlay-render-container';
7361
+ // this.gridview.element.appendChild(gready);
7362
+ this.overlayRenderContainer = new OverlayRenderContainer(this.gridview.element, this);
7261
7363
  toggleClass(this.gridview.element, 'dv-dockview', true);
7262
7364
  toggleClass(this.element, 'dv-debug', !!options.debug);
7263
7365
  this.addDisposables(this.overlayRenderContainer, this._onWillDragPanel, this._onWillDragGroup, this._onWillShowOverlay, this._onDidActivePanelChange, this._onDidAddPanel, this._onDidRemovePanel, this._onDidLayoutFromJSON, this._onDidDrop, this._onWillDrop, this._onDidMovePanel, this._onDidAddGroup, this._onDidRemoveGroup, this._onDidActiveGroupChange, this._onUnhandledDragOverEvent, this.onDidViewVisibilityChangeMicroTaskQueue(() => {
@@ -7423,7 +7525,7 @@ class DockviewComponent extends BaseGrid {
7423
7525
  }
7424
7526
  const gready = document.createElement('div');
7425
7527
  gready.className = 'dv-overlay-render-container';
7426
- const overlayRenderContainer = new OverlayRenderContainer(gready);
7528
+ const overlayRenderContainer = new OverlayRenderContainer(gready, this);
7427
7529
  const referenceGroup = itemToPopout instanceof DockviewPanel
7428
7530
  ? itemToPopout.group
7429
7531
  : itemToPopout;
@@ -7572,7 +7674,6 @@ class DockviewComponent extends BaseGrid {
7572
7674
  }
7573
7675
  }
7574
7676
  }
7575
- group.model.location = { type: 'floating' };
7576
7677
  function getAnchoredBox() {
7577
7678
  if (options === null || options === void 0 ? void 0 : options.position) {
7578
7679
  const result = {};
@@ -7639,10 +7740,14 @@ class DockviewComponent extends BaseGrid {
7639
7740
  : false,
7640
7741
  });
7641
7742
  const floatingGroupPanel = new DockviewFloatingGroupPanel(group, overlay);
7642
- const disposable = watchElementResize(group.element, (entry) => {
7743
+ const disposable = new CompositeDisposable(group.api.onDidActiveChange((event) => {
7744
+ if (event.isActive) {
7745
+ overlay.bringToFront();
7746
+ }
7747
+ }), watchElementResize(group.element, (entry) => {
7643
7748
  const { width, height } = entry.contentRect;
7644
7749
  group.layout(width, height); // let the group know it's size is changing so it can fire events to the panel
7645
- });
7750
+ }));
7646
7751
  floatingGroupPanel.addDisposables(overlay.onDidChange(() => {
7647
7752
  // this is either a resize or a move
7648
7753
  // to inform the panels .layout(...) the group with it's current size
@@ -7658,12 +7763,13 @@ class DockviewComponent extends BaseGrid {
7658
7763
  }), {
7659
7764
  dispose: () => {
7660
7765
  disposable.dispose();
7661
- group.model.location = { type: 'grid' };
7662
7766
  remove(this._floatingGroups, floatingGroupPanel);
7767
+ group.model.location = { type: 'grid' };
7663
7768
  this.updateWatermark();
7664
7769
  },
7665
7770
  });
7666
7771
  this._floatingGroups.push(floatingGroupPanel);
7772
+ group.model.location = { type: 'floating' };
7667
7773
  if (!(options === null || options === void 0 ? void 0 : options.skipActiveGroup)) {
7668
7774
  this.doSetGroupAndPanelActive(group);
7669
7775
  }
@@ -7903,6 +8009,8 @@ class DockviewComponent extends BaseGrid {
7903
8009
  const group = createGroupFromSerializedState(data);
7904
8010
  this.addFloatingGroup(group, {
7905
8011
  position: position,
8012
+ width: position.width,
8013
+ height: position.height,
7906
8014
  skipRemoveGroup: true,
7907
8015
  inDragMode: false,
7908
8016
  });
@@ -8243,6 +8351,7 @@ class DockviewComponent extends BaseGrid {
8243
8351
  this._groups.delete(group.id);
8244
8352
  this._onDidRemoveGroup.fire(group);
8245
8353
  }
8354
+ remove(this._popoutGroups, selectedGroup);
8246
8355
  const removedGroup = selectedGroup.disposable.dispose();
8247
8356
  if (!(options === null || options === void 0 ? void 0 : options.skipPopoutReturn) && removedGroup) {
8248
8357
  this.doAddGroup(removedGroup, [0]);
@@ -8354,6 +8463,31 @@ class DockviewComponent extends BaseGrid {
8354
8463
  return;
8355
8464
  }
8356
8465
  }
8466
+ if (sourceGroup.api.location.type === 'popout') {
8467
+ /**
8468
+ * the source group is a popout group with a single panel
8469
+ *
8470
+ * 1. remove the panel from the group without triggering any events
8471
+ * 2. remove the popout group
8472
+ * 3. create a new group at the requested location and add that panel
8473
+ */
8474
+ const popoutGroup = this._popoutGroups.find((group) => group.popoutGroup === sourceGroup);
8475
+ const removedPanel = this.movingLock(() => popoutGroup.popoutGroup.model.removePanel(popoutGroup.popoutGroup.panels[0], {
8476
+ skipSetActive: true,
8477
+ skipSetActiveGroup: true,
8478
+ }));
8479
+ this.doRemoveGroup(sourceGroup, { skipActive: true });
8480
+ const newGroup = this.createGroupAtLocation(targetLocation);
8481
+ this.movingLock(() => newGroup.model.openPanel(removedPanel, {
8482
+ skipSetActive: true,
8483
+ }));
8484
+ this.doSetGroupAndPanelActive(newGroup);
8485
+ this._onDidMovePanel.fire({
8486
+ panel: this.getGroupPanel(sourceItemId),
8487
+ from: sourceGroup,
8488
+ });
8489
+ return;
8490
+ }
8357
8491
  // source group will become empty so delete the group
8358
8492
  const targetGroup = this.movingLock(() => this.doRemoveGroup(sourceGroup, {
8359
8493
  skipActive: true,
@@ -8585,13 +8719,14 @@ class GridviewComponent extends BaseGrid {
8585
8719
  set deserializer(value) {
8586
8720
  this._deserializer = value;
8587
8721
  }
8588
- constructor(options) {
8722
+ constructor(parentElement, options) {
8589
8723
  super({
8590
- parentElement: options.parentElement,
8724
+ parentElement: parentElement,
8591
8725
  proportionalLayout: options.proportionalLayout,
8592
8726
  orientation: options.orientation,
8593
8727
  styles: options.styles,
8594
8728
  disableAutoResizing: options.disableAutoResizing,
8729
+ className: options.className,
8595
8730
  });
8596
8731
  this._onDidLayoutfromJSON = new Emitter();
8597
8732
  this.onDidLayoutFromJSON = this._onDidLayoutfromJSON.event;
@@ -8883,8 +9018,8 @@ class SplitviewComponent extends Resizable {
8883
9018
  ? this.splitview.size
8884
9019
  : this.splitview.orthogonalSize;
8885
9020
  }
8886
- constructor(options) {
8887
- super(options.parentElement, options.disableAutoResizing);
9021
+ constructor(parentElement, options) {
9022
+ super(parentElement, options.disableAutoResizing);
8888
9023
  this._splitviewChangeDisposable = new MutableDisposable();
8889
9024
  this._panels = new Map();
8890
9025
  this._onDidLayoutfromJSON = new Emitter();
@@ -8895,6 +9030,9 @@ class SplitviewComponent extends Resizable {
8895
9030
  this.onDidRemoveView = this._onDidRemoveView.event;
8896
9031
  this._onDidLayoutChange = new Emitter();
8897
9032
  this.onDidLayoutChange = this._onDidLayoutChange.event;
9033
+ if (typeof options.className === 'string') {
9034
+ this.element.classList.add(options.className);
9035
+ }
8898
9036
  this._options = options;
8899
9037
  if (!options.components) {
8900
9038
  options.components = {};
@@ -9207,8 +9345,8 @@ class PaneviewComponent extends Resizable {
9207
9345
  get options() {
9208
9346
  return this._options;
9209
9347
  }
9210
- constructor(options) {
9211
- super(options.parentElement, options.disableAutoResizing);
9348
+ constructor(parentElement, options) {
9349
+ super(parentElement, options.disableAutoResizing);
9212
9350
  this._id = nextLayoutId.next();
9213
9351
  this._disposable = new MutableDisposable();
9214
9352
  this._viewDisposables = new Map();
@@ -9222,6 +9360,9 @@ class PaneviewComponent extends Resizable {
9222
9360
  this.onDidAddView = this._onDidAddView.event;
9223
9361
  this._onDidRemoveView = new Emitter();
9224
9362
  this.onDidRemoveView = this._onDidRemoveView.event;
9363
+ if (typeof options.className === 'string') {
9364
+ this.element.classList.add(options.className);
9365
+ }
9225
9366
  this.addDisposables(this._onDidLayoutChange, this._onDidLayoutfromJSON, this._onDidDrop, this._onDidAddView, this._onDidRemoveView);
9226
9367
  this._options = options;
9227
9368
  if (!options.components) {
@@ -9537,6 +9678,23 @@ class SplitviewPanel extends BasePanelView {
9537
9678
  }
9538
9679
  }
9539
9680
 
9681
+ function createDockview(element, options) {
9682
+ const component = new DockviewComponent(element, options);
9683
+ return component.api;
9684
+ }
9685
+ function createSplitview(element, options) {
9686
+ const component = new SplitviewComponent(element, options);
9687
+ return new SplitviewApi(component);
9688
+ }
9689
+ function createGridview(element, options) {
9690
+ const component = new GridviewComponent(element, options);
9691
+ return new GridviewApi(component);
9692
+ }
9693
+ function createPaneview(element, options) {
9694
+ const component = new PaneviewComponent(element, options);
9695
+ return new PaneviewApi(component);
9696
+ }
9697
+
9540
9698
  /**
9541
9699
  * This component is intended to interface between vanilla-js and React hence we need to be
9542
9700
  * creative in how we update props.
@@ -9916,20 +10074,19 @@ const DockviewReact = React.forwardRef((props, ref) => {
9916
10074
  });
9917
10075
  }
9918
10076
  : undefined,
9919
- parentElement: domRef.current,
9920
10077
  defaultTabComponent: props.defaultTabComponent
9921
10078
  ? DEFAULT_REACT_TAB
9922
10079
  : undefined,
9923
10080
  };
9924
- const dockview = new DockviewComponent(Object.assign(Object.assign({}, extractCoreOptions(props)), frameworkOptions));
10081
+ const api = createDockview(domRef.current, Object.assign(Object.assign({}, extractCoreOptions(props)), frameworkOptions));
9925
10082
  const { clientWidth, clientHeight } = domRef.current;
9926
- dockview.layout(clientWidth, clientHeight);
10083
+ api.layout(clientWidth, clientHeight);
9927
10084
  if (props.onReady) {
9928
- props.onReady({ api: new DockviewApi(dockview) });
10085
+ props.onReady({ api });
9929
10086
  }
9930
- dockviewRef.current = dockview;
10087
+ dockviewRef.current = api;
9931
10088
  return () => {
9932
- dockview.dispose();
10089
+ api.dispose();
9933
10090
  };
9934
10091
  }, []);
9935
10092
  React.useEffect(() => {
@@ -10132,8 +10289,7 @@ const SplitviewReact = React.forwardRef((props, ref) => {
10132
10289
  React.useImperativeHandle(ref, () => domRef.current, []);
10133
10290
  React.useEffect(() => {
10134
10291
  var _a;
10135
- const splitview = new SplitviewComponent({
10136
- parentElement: domRef.current,
10292
+ const api = createSplitview(domRef.current, {
10137
10293
  disableAutoResizing: props.disableAutoResizing,
10138
10294
  orientation: (_a = props.orientation) !== null && _a !== void 0 ? _a : Orientation.HORIZONTAL,
10139
10295
  frameworkComponents: props.components,
@@ -10152,13 +10308,13 @@ const SplitviewReact = React.forwardRef((props, ref) => {
10152
10308
  : undefined,
10153
10309
  });
10154
10310
  const { clientWidth, clientHeight } = domRef.current;
10155
- splitview.layout(clientWidth, clientHeight);
10311
+ api.layout(clientWidth, clientHeight);
10156
10312
  if (props.onReady) {
10157
- props.onReady({ api: new SplitviewApi(splitview) });
10313
+ props.onReady({ api });
10158
10314
  }
10159
- splitviewRef.current = splitview;
10315
+ splitviewRef.current = api;
10160
10316
  return () => {
10161
- splitview.dispose();
10317
+ api.dispose();
10162
10318
  };
10163
10319
  }, []);
10164
10320
  React.useEffect(() => {
@@ -10203,8 +10359,7 @@ const GridviewReact = React.forwardRef((props, ref) => {
10203
10359
  // noop
10204
10360
  };
10205
10361
  }
10206
- const gridview = new GridviewComponent({
10207
- parentElement: domRef.current,
10362
+ const api = createGridview(domRef.current, {
10208
10363
  disableAutoResizing: props.disableAutoResizing,
10209
10364
  proportionalLayout: typeof props.proportionalLayout === 'boolean'
10210
10365
  ? props.proportionalLayout
@@ -10223,13 +10378,13 @@ const GridviewReact = React.forwardRef((props, ref) => {
10223
10378
  : undefined,
10224
10379
  });
10225
10380
  const { clientWidth, clientHeight } = domRef.current;
10226
- gridview.layout(clientWidth, clientHeight);
10381
+ api.layout(clientWidth, clientHeight);
10227
10382
  if (props.onReady) {
10228
- props.onReady({ api: new GridviewApi(gridview) });
10383
+ props.onReady({ api });
10229
10384
  }
10230
- gridviewRef.current = gridview;
10385
+ gridviewRef.current = api;
10231
10386
  return () => {
10232
- gridview.dispose();
10387
+ api.dispose();
10233
10388
  };
10234
10389
  }, []);
10235
10390
  React.useEffect(() => {
@@ -10288,8 +10443,7 @@ const PaneviewReact = React.forwardRef((props, ref) => {
10288
10443
  const createComponent = (id, _componentId, component) => new PanePanelSection(id, component, {
10289
10444
  addPortal,
10290
10445
  });
10291
- const paneview = new PaneviewComponent({
10292
- parentElement: domRef.current,
10446
+ const api = createPaneview(domRef.current, {
10293
10447
  disableAutoResizing: props.disableAutoResizing,
10294
10448
  frameworkComponents: props.components,
10295
10449
  components: {},
@@ -10306,15 +10460,14 @@ const PaneviewReact = React.forwardRef((props, ref) => {
10306
10460
  },
10307
10461
  showDndOverlay: props.showDndOverlay,
10308
10462
  });
10309
- const api = new PaneviewApi(paneview);
10310
10463
  const { clientWidth, clientHeight } = domRef.current;
10311
- paneview.layout(clientWidth, clientHeight);
10464
+ api.layout(clientWidth, clientHeight);
10312
10465
  if (props.onReady) {
10313
10466
  props.onReady({ api });
10314
10467
  }
10315
- paneviewRef.current = paneview;
10468
+ paneviewRef.current = api;
10316
10469
  return () => {
10317
- paneview.dispose();
10470
+ api.dispose();
10318
10471
  };
10319
10472
  }, []);
10320
10473
  React.useEffect(() => {
@@ -10339,10 +10492,10 @@ const PaneviewReact = React.forwardRef((props, ref) => {
10339
10492
  //
10340
10493
  };
10341
10494
  }
10342
- const paneview = paneviewRef.current;
10343
- const disposable = paneview.onDidDrop((event) => {
10495
+ const api = paneviewRef.current;
10496
+ const disposable = api.onDidDrop((event) => {
10344
10497
  if (props.onDidDrop) {
10345
- props.onDidDrop(Object.assign(Object.assign({}, event), { api: new PaneviewApi(paneview) }));
10498
+ props.onDidDrop(Object.assign(Object.assign({}, event), { api }));
10346
10499
  }
10347
10500
  });
10348
10501
  return () => {
@@ -10361,5 +10514,5 @@ const PaneviewReact = React.forwardRef((props, ref) => {
10361
10514
  });
10362
10515
  PaneviewReact.displayName = 'PaneviewComponent';
10363
10516
 
10364
- export { BaseGrid, ContentContainer, DefaultDockviewDeserialzier, DefaultTab, DockviewApi, DockviewComponent, CompositeDisposable as DockviewCompositeDisposable, DockviewDefaultTab, DockviewDidDropEvent, Disposable as DockviewDisposable, Emitter as DockviewEmitter, Event as DockviewEvent, DockviewGroupPanel, DockviewGroupPanelModel, MutableDisposable as DockviewMutableDisposable, DockviewPanel, DockviewReact, DockviewUnhandledDragOverEvent, DockviewWillDropEvent, DraggablePaneviewPanel, Gridview, GridviewApi, GridviewComponent, GridviewPanel, GridviewReact, LayoutPriority, LocalSelectionTransfer, Orientation, PROPERTY_KEYS, PaneFramework, PaneTransfer, PanelTransfer, Paneview, PaneviewApi, PaneviewComponent, PaneviewPanel, PaneviewReact, ReactPart, ReactPartContext, SashState, Sizing, Splitview, SplitviewApi, SplitviewComponent, SplitviewPanel, SplitviewReact, Tab, WillShowOverlayLocationEvent, createComponent, directionToPosition, getDirectionOrientation, getGridLocation, getLocationOrientation, getPaneData, getPanelData, getRelativeLocation, indexInParent, isGridBranchNode, isGroupOptionsWithGroup, isGroupOptionsWithPanel, isPanelOptionsWithGroup, isPanelOptionsWithPanel, isReactComponent, orthogonal, positionToDirection, toTarget, usePortalsLifecycle };
10517
+ export { BaseGrid, ContentContainer, DefaultDockviewDeserialzier, DefaultTab, DockviewApi, DockviewComponent, CompositeDisposable as DockviewCompositeDisposable, DockviewDefaultTab, DockviewDidDropEvent, Disposable as DockviewDisposable, Emitter as DockviewEmitter, Event as DockviewEvent, DockviewGroupPanel, DockviewGroupPanelModel, MutableDisposable as DockviewMutableDisposable, DockviewPanel, DockviewReact, DockviewUnhandledDragOverEvent, DockviewWillDropEvent, DraggablePaneviewPanel, Gridview, GridviewApi, GridviewComponent, GridviewPanel, GridviewReact, LayoutPriority, LocalSelectionTransfer, Orientation, PROPERTY_KEYS, PaneFramework, PaneTransfer, PanelTransfer, Paneview, PaneviewApi, PaneviewComponent, PaneviewPanel, PaneviewReact, ReactPart, ReactPartContext, SashState, Sizing, Splitview, SplitviewApi, SplitviewComponent, SplitviewPanel, SplitviewReact, Tab, WillShowOverlayLocationEvent, createComponent, createDockview, createGridview, createPaneview, createSplitview, directionToPosition, getDirectionOrientation, getGridLocation, getLocationOrientation, getPaneData, getPanelData, getRelativeLocation, indexInParent, isGridBranchNode, isGroupOptionsWithGroup, isGroupOptionsWithPanel, isPanelOptionsWithGroup, isPanelOptionsWithPanel, isReactComponent, orthogonal, positionToDirection, toTarget, usePortalsLifecycle };
10365
10518
  //# sourceMappingURL=dockview-react.esm.js.map