dockview-core 1.17.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/dist/cjs/api/component.api.d.ts +1 -1
  2. package/dist/cjs/api/dockviewGroupPanelApi.d.ts +10 -8
  3. package/dist/cjs/api/dockviewGroupPanelApi.js +1 -0
  4. package/dist/cjs/api/dockviewPanelApi.d.ts +6 -14
  5. package/dist/cjs/api/dockviewPanelApi.js +5 -3
  6. package/dist/cjs/dnd/abstractDragHandler.js +1 -1
  7. package/dist/cjs/dnd/dnd.d.ts +2 -2
  8. package/dist/cjs/dnd/droptarget.js +4 -4
  9. package/dist/cjs/dockview/components/panel/content.d.ts +2 -2
  10. package/dist/cjs/dockview/components/panel/content.js +3 -1
  11. package/dist/cjs/dockview/components/tab/defaultTab.d.ts +3 -3
  12. package/dist/cjs/dockview/components/tab/tab.js +4 -4
  13. package/dist/cjs/dockview/components/titlebar/tabsContainer.js +5 -9
  14. package/dist/cjs/dockview/components/titlebar/voidContainer.js +1 -1
  15. package/dist/cjs/dockview/components/watermark/watermark.d.ts +1 -1
  16. package/dist/cjs/dockview/components/watermark/watermark.js +6 -6
  17. package/dist/cjs/dockview/dockviewComponent.d.ts +2 -3
  18. package/dist/cjs/dockview/dockviewComponent.js +66 -35
  19. package/dist/cjs/dockview/dockviewGroupPanel.js +16 -12
  20. package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +3 -3
  21. package/dist/cjs/dockview/dockviewGroupPanelModel.js +7 -7
  22. package/dist/cjs/dockview/dockviewPanel.d.ts +4 -4
  23. package/dist/cjs/dockview/dockviewPanelModel.d.ts +1 -1
  24. package/dist/cjs/dockview/options.d.ts +8 -0
  25. package/dist/cjs/dom.d.ts +11 -1
  26. package/dist/cjs/dom.js +19 -1
  27. package/dist/cjs/gridview/basePanelView.d.ts +1 -1
  28. package/dist/cjs/gridview/branchNode.d.ts +1 -1
  29. package/dist/cjs/gridview/branchNode.js +1 -1
  30. package/dist/cjs/gridview/gridview.js +2 -2
  31. package/dist/cjs/gridview/gridviewPanel.d.ts +4 -0
  32. package/dist/cjs/gridview/gridviewPanel.js +60 -32
  33. package/dist/cjs/gridview/leafNode.d.ts +1 -1
  34. package/dist/cjs/index.d.ts +8 -9
  35. package/dist/cjs/index.js +14 -7
  36. package/dist/cjs/overlay/overlay.d.ts +3 -4
  37. package/dist/cjs/overlay/overlay.js +2 -3
  38. package/dist/cjs/overlay/overlayRenderContainer.js +1 -2
  39. package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +1 -1
  40. package/dist/cjs/paneview/defaultPaneviewHeader.js +5 -3
  41. package/dist/cjs/paneview/paneview.d.ts +3 -3
  42. package/dist/cjs/paneview/paneview.js +3 -3
  43. package/dist/cjs/paneview/paneviewComponent.d.ts +2 -2
  44. package/dist/cjs/paneview/paneviewPanel.d.ts +2 -2
  45. package/dist/cjs/paneview/paneviewPanel.js +3 -3
  46. package/dist/cjs/popoutWindow.js +23 -16
  47. package/dist/cjs/splitview/splitview.d.ts +6 -6
  48. package/dist/cjs/splitview/splitview.js +18 -17
  49. package/dist/cjs/splitview/splitviewComponent.d.ts +2 -2
  50. package/dist/cjs/splitview/viewItem.d.ts +1 -1
  51. package/dist/cjs/svg.js +1 -1
  52. package/dist/dockview-core.amd.js +243 -172
  53. package/dist/dockview-core.amd.js.map +1 -1
  54. package/dist/dockview-core.amd.min.js +2 -2
  55. package/dist/dockview-core.amd.min.js.map +1 -1
  56. package/dist/dockview-core.amd.min.noStyle.js +2 -2
  57. package/dist/dockview-core.amd.min.noStyle.js.map +1 -1
  58. package/dist/dockview-core.amd.noStyle.js +242 -171
  59. package/dist/dockview-core.amd.noStyle.js.map +1 -1
  60. package/dist/dockview-core.cjs.js +243 -172
  61. package/dist/dockview-core.cjs.js.map +1 -1
  62. package/dist/dockview-core.esm.js +244 -171
  63. package/dist/dockview-core.esm.js.map +1 -1
  64. package/dist/dockview-core.esm.min.js +2 -2
  65. package/dist/dockview-core.esm.min.js.map +1 -1
  66. package/dist/dockview-core.js +243 -172
  67. package/dist/dockview-core.js.map +1 -1
  68. package/dist/dockview-core.min.js +2 -2
  69. package/dist/dockview-core.min.js.map +1 -1
  70. package/dist/dockview-core.min.noStyle.js +2 -2
  71. package/dist/dockview-core.min.noStyle.js.map +1 -1
  72. package/dist/dockview-core.noStyle.js +242 -171
  73. package/dist/dockview-core.noStyle.js.map +1 -1
  74. package/dist/esm/api/component.api.d.ts +1 -1
  75. package/dist/esm/api/dockviewGroupPanelApi.d.ts +10 -8
  76. package/dist/esm/api/dockviewGroupPanelApi.js +1 -0
  77. package/dist/esm/api/dockviewPanelApi.d.ts +6 -14
  78. package/dist/esm/api/dockviewPanelApi.js +5 -3
  79. package/dist/esm/dnd/abstractDragHandler.js +1 -1
  80. package/dist/esm/dnd/dnd.d.ts +2 -2
  81. package/dist/esm/dnd/droptarget.js +4 -4
  82. package/dist/esm/dockview/components/panel/content.d.ts +2 -2
  83. package/dist/esm/dockview/components/panel/content.js +4 -2
  84. package/dist/esm/dockview/components/tab/defaultTab.d.ts +3 -3
  85. package/dist/esm/dockview/components/tab/tab.js +4 -4
  86. package/dist/esm/dockview/components/titlebar/tabsContainer.js +5 -9
  87. package/dist/esm/dockview/components/titlebar/voidContainer.js +1 -1
  88. package/dist/esm/dockview/components/watermark/watermark.d.ts +1 -1
  89. package/dist/esm/dockview/components/watermark/watermark.js +6 -6
  90. package/dist/esm/dockview/dockviewComponent.d.ts +2 -3
  91. package/dist/esm/dockview/dockviewComponent.js +65 -34
  92. package/dist/esm/dockview/dockviewGroupPanel.js +16 -12
  93. package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +3 -3
  94. package/dist/esm/dockview/dockviewGroupPanelModel.js +7 -7
  95. package/dist/esm/dockview/dockviewPanel.d.ts +4 -4
  96. package/dist/esm/dockview/dockviewPanelModel.d.ts +1 -1
  97. package/dist/esm/dockview/options.d.ts +8 -0
  98. package/dist/esm/dom.d.ts +11 -1
  99. package/dist/esm/dom.js +14 -0
  100. package/dist/esm/gridview/basePanelView.d.ts +1 -1
  101. package/dist/esm/gridview/branchNode.d.ts +1 -1
  102. package/dist/esm/gridview/branchNode.js +1 -1
  103. package/dist/esm/gridview/gridview.js +2 -2
  104. package/dist/esm/gridview/gridviewPanel.d.ts +4 -0
  105. package/dist/esm/gridview/gridviewPanel.js +40 -12
  106. package/dist/esm/gridview/leafNode.d.ts +1 -1
  107. package/dist/esm/index.d.ts +8 -9
  108. package/dist/esm/index.js +5 -6
  109. package/dist/esm/overlay/overlay.d.ts +3 -4
  110. package/dist/esm/overlay/overlay.js +1 -2
  111. package/dist/esm/overlay/overlayRenderContainer.js +1 -2
  112. package/dist/esm/paneview/defaultPaneviewHeader.d.ts +1 -1
  113. package/dist/esm/paneview/defaultPaneviewHeader.js +5 -3
  114. package/dist/esm/paneview/paneview.d.ts +3 -3
  115. package/dist/esm/paneview/paneview.js +3 -3
  116. package/dist/esm/paneview/paneviewComponent.d.ts +2 -2
  117. package/dist/esm/paneview/paneviewPanel.d.ts +2 -2
  118. package/dist/esm/paneview/paneviewPanel.js +3 -3
  119. package/dist/esm/popoutWindow.js +24 -17
  120. package/dist/esm/splitview/splitview.d.ts +6 -6
  121. package/dist/esm/splitview/splitview.js +18 -17
  122. package/dist/esm/splitview/splitviewComponent.d.ts +2 -2
  123. package/dist/esm/splitview/viewItem.d.ts +1 -1
  124. package/dist/esm/svg.js +1 -1
  125. package/dist/styles/dockview.css +133 -135
  126. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * dockview-core
3
- * @version 1.17.1
3
+ * @version 2.0.0
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -31,7 +31,7 @@ function styleInject(css, ref) {
31
31
  }
32
32
  }
33
33
 
34
- 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}";
34
+ var css_248z = ".dv-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-overlay-z-index: 999;\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-overlay-z-index: 999;\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-overlay-z-index: 999;\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .dv-groupview.dv-active-group > .dv-tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .dv-groupview.dv-active-group > .dv-tabs-and-actions-container .dv-tab.dv-active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .dv-groupview.dv-active-group > .dv-tabs-and-actions-container .dv-tab.dv-inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container .dv-tab.dv-active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container .dv-tab.dv-inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-overlay-z-index: 999;\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-overlay-z-index: 999;\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .dv-groupview.dv-active-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-active-tab {\n position: relative;\n}\n.dockview-theme-dracula .dv-groupview.dv-active-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-active-tab {\n position: relative;\n}\n.dockview-theme-dracula .dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-overlay-z-index: 999;\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .dv-groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .dv-groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab .dv-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .dv-groupview .dv-tabs-and-actions-container .dv-tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .dv-groupview .dv-content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .dv-groupview.dv-active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .dv-groupview.dv-inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:not(.disabled)::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .dv-horizontal > .dv-sash-container > .dv-sash:not(.disabled)::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .dv-horizontal > .dv-sash-container > .dv-sash:not(.disabled):hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dv-drop-target {\n position: relative;\n}\n.dv-drop-target > .dv-drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 1000;\n pointer-events: none;\n}\n.dv-drop-target > .dv-drop-target-dropzone > .dv-drop-target-selection {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition: top 70ms ease-out, left 70ms ease-out, width 70ms ease-out, height 70ms ease-out, opacity 0.15s ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.dv-drop-target > .dv-drop-target-dropzone > .dv-drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-drop-target > .dv-drop-target-dropzone > .dv-drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-drop-target > .dv-drop-target-dropzone > .dv-drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-drop-target > .dv-drop-target-dropzone > .dv-drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\n}\n\n.dv-groupview.dv-active-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.dv-groupview.dv-active-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.dv-groupview.dv-inactive-group > .dv-tabs-and-actions-container > .dv-tabs-container > .dv-tab.dv-inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.dv-tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.dv-groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.dv-groupview:focus {\n outline: none;\n}\n.dv-groupview.dv-empty > .dv-tabs-and-actions-container {\n display: none;\n}\n.dv-groupview > .dv-content-container {\n flex-grow: 1;\n min-height: 0;\n outline: none;\n}\n.dv-root-wrapper {\n height: 100%;\n width: 100%;\n}\n.dv-grid-view,\n.dv-branch-node {\n height: 100%;\n width: 100%;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n --dv-overlay-z-index: var(--dv-overlay-z-index, 999);\n position: absolute;\n z-index: calc(var(--dv-overlay-z-index) - 2);\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: var(--dv-overlay-z-index);\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: var(--dv-overlay-z-index);\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: var(--dv-overlay-z-index);\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: var(--dv-overlay-z-index);\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: var(--dv-overlay-z-index);\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: var(--dv-overlay-z-index);\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: var(--dv-overlay-z-index);\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: var(--dv-overlay-z-index);\n position: absolute;\n cursor: se-resize;\n}\n.dv-render-overlay {\n --dv-overlay-z-index: var(--dv-overlay-z-index, 999);\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: calc(var(--dv-overlay-z-index) - 1);\n}\n\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.dv-pane-container {\n height: 100%;\n width: 100%;\n}\n.dv-pane-container.dv-animated .dv-view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.dv-pane-container .dv-view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.dv-pane-container .dv-view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.dv-pane-container .dv-view:not(:first-child) .dv-pane > .dv-pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.dv-pane-container .dv-view .dv-default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.dv-pane-container .dv-view .dv-default-header .dv-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.dv-pane-container .dv-view .dv-default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.dv-pane-container:first-of-type > .dv-pane > .dv-pane-header {\n border-top: none !important;\n}\n.dv-pane-container .dv-pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.dv-pane-container .dv-pane .dv-pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.dv-pane-container .dv-pane .dv-pane-header.dv-pane-draggable {\n cursor: pointer;\n}\n.dv-pane-container .dv-pane .dv-pane-header:focus:before, .dv-pane-container .dv-pane .dv-pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-pane-container .dv-pane .dv-pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.dv-pane-container .dv-pane .dv-pane-body:focus:before, .dv-pane-container .dv-pane .dv-pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-enabled {\n background-color: black;\n}\n.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-disabled {\n background-color: orange;\n}\n.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-maximum {\n background-color: green;\n}\n.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-minimum {\n background-color: red;\n}\n\n.dv-split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.dv-split-view-container.dv-splitview-disabled > .dv-sash-container > .dv-sash {\n pointer-events: none;\n}\n.dv-split-view-container.dv-animation .dv-view,\n.dv-split-view-container.dv-animation .dv-sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.dv-split-view-container.dv-horizontal {\n height: 100%;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash {\n height: 100%;\n width: 4px;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-enabled {\n cursor: ew-resize;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-disabled {\n cursor: default;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-maximum {\n cursor: w-resize;\n}\n.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash.dv-minimum {\n cursor: e-resize;\n}\n.dv-split-view-container.dv-horizontal > .dv-view-container > .dv-view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.dv-split-view-container.dv-vertical {\n width: 100%;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash {\n width: 100%;\n height: 4px;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-enabled {\n cursor: ns-resize;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-disabled {\n cursor: default;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-maximum {\n cursor: n-resize;\n}\n.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash.dv-minimum {\n cursor: s-resize;\n}\n.dv-split-view-container.dv-vertical > .dv-view-container > .dv-view {\n width: 100%;\n}\n.dv-split-view-container.dv-vertical > .dv-view-container > .dv-view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.dv-split-view-container .dv-sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.dv-split-view-container .dv-sash-container .dv-sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.dv-split-view-container .dv-sash-container .dv-sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.dv-split-view-container .dv-sash-container .dv-sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.dv-split-view-container .dv-view-container {\n position: relative;\n height: 100%;\n width: 100%;\n}\n.dv-split-view-container .dv-view-container .dv-view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.dv-split-view-container.dv-separator-border .dv-view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.dv-tab {\n flex-shrink: 0;\n}\n.dv-tab:focus-within, .dv-tab:focus {\n position: relative;\n}\n.dv-tab:focus-within::after, .dv-tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.dv-tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.dv-tab.dv-active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.dv-tab.dv-inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.dv-tab.dv-inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.dv-tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.dv-tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.dv-tab .dv-default-tab .dv-default-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.dv-tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.dv-tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-tabs-container {\n flex-grow: 1;\n}\n.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-tabs-container .dv-tab {\n flex-grow: 1;\n}\n.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-void-container {\n flex-grow: 0;\n}\n.dv-tabs-and-actions-container .dv-void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.dv-tabs-and-actions-container .dv-tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.dv-tabs-and-actions-container .dv-tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.dv-tabs-and-actions-container .dv-tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.dv-tabs-and-actions-container .dv-tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.dv-tabs-and-actions-container .dv-tabs-container .dv-tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.dv-tabs-and-actions-container .dv-tabs-container .dv-tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.dv-watermark {\n display: flex;\n width: 100%;\n}\n.dv-watermark.dv-has-actions .dv-watermark-title .dv-actions-container {\n display: none;\n}\n.dv-watermark .dv-watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.dv-watermark .dv-watermark-content {\n flex-grow: 1;\n}\n.dv-watermark .dv-actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.dv-watermark .dv-actions-container .dv-close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.dv-watermark .dv-actions-container .dv-close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
35
35
  styleInject(css_248z);
36
36
 
37
37
  class TransferObject {
@@ -352,31 +352,6 @@ class MutableDisposable {
352
352
  }
353
353
  }
354
354
 
355
- function createComponent(id, componentName, components = {}, frameworkComponents = {}, createFrameworkComponent, fallback) {
356
- const Component = typeof componentName === 'string'
357
- ? components[componentName]
358
- : undefined;
359
- const FrameworkComponent = typeof componentName === 'string'
360
- ? frameworkComponents[componentName]
361
- : undefined;
362
- if (Component && FrameworkComponent) {
363
- throw new Error(`Cannot create '${id}'. component '${componentName}' registered as both a component and frameworkComponent`);
364
- }
365
- if (FrameworkComponent) {
366
- if (!createFrameworkComponent) {
367
- throw new Error(`Cannot create '${id}' for framework component '${componentName}'. you must register a frameworkPanelWrapper to use framework components`);
368
- }
369
- return createFrameworkComponent.createComponent(id, componentName, FrameworkComponent);
370
- }
371
- if (!Component) {
372
- if (fallback) {
373
- return fallback();
374
- }
375
- throw new Error(`Cannot create '${id}', no component '${componentName}' provided`);
376
- }
377
- return new Component(id, componentName);
378
- }
379
-
380
355
  function watchElementResize(element, cb) {
381
356
  const observer = new ResizeObserver((entires) => {
382
357
  /**
@@ -845,10 +820,10 @@ class Splitview {
845
820
  const tmp = this.size;
846
821
  this.size = this.orthogonalSize;
847
822
  this.orthogonalSize = tmp;
848
- removeClasses(this.element, 'horizontal', 'vertical');
823
+ removeClasses(this.element, 'dv-horizontal', 'dv-vertical');
849
824
  this.element.classList.add(this.orientation == Orientation.HORIZONTAL
850
- ? 'horizontal'
851
- : 'vertical');
825
+ ? 'dv-horizontal'
826
+ : 'dv-vertical');
852
827
  }
853
828
  get minimumSize() {
854
829
  return this.viewItems.reduce((r, item) => r + item.minimumSize, 0);
@@ -1026,11 +1001,11 @@ class Splitview {
1026
1001
  }
1027
1002
  style(styles) {
1028
1003
  if ((styles === null || styles === void 0 ? void 0 : styles.separatorBorder) === 'transparent') {
1029
- removeClasses(this.element, 'separator-border');
1004
+ removeClasses(this.element, 'dv-separator-border');
1030
1005
  this.element.style.removeProperty('--dv-separator-border');
1031
1006
  }
1032
1007
  else {
1033
- addClasses(this.element, 'separator-border');
1008
+ addClasses(this.element, 'dv-separator-border');
1034
1009
  if (styles === null || styles === void 0 ? void 0 : styles.separatorBorder) {
1035
1010
  this.element.style.setProperty('--dv-separator-border', styles.separatorBorder);
1036
1011
  }
@@ -1100,7 +1075,7 @@ class Splitview {
1100
1075
  }
1101
1076
  addView(view, size = { type: 'distribute' }, index = this.viewItems.length, skipLayout) {
1102
1077
  const container = document.createElement('div');
1103
- container.className = 'view';
1078
+ container.className = 'dv-view';
1104
1079
  container.appendChild(view.element);
1105
1080
  let viewSize;
1106
1081
  if (typeof size === 'number') {
@@ -1132,7 +1107,7 @@ class Splitview {
1132
1107
  if (this.viewItems.length > 1) {
1133
1108
  //add sash
1134
1109
  const sash = document.createElement('div');
1135
- sash.className = 'sash';
1110
+ sash.className = 'dv-sash';
1136
1111
  const onPointerStart = (event) => {
1137
1112
  for (const item of this.viewItems) {
1138
1113
  item.enabled = false;
@@ -1391,7 +1366,8 @@ class Splitview {
1391
1366
  const offset = i === 0 || visiblePanelsBeforeThisView === 0
1392
1367
  ? 0
1393
1368
  : viewLeftOffsets[i - 1] +
1394
- (visiblePanelsBeforeThisView / sashCount) * marginReducedSize;
1369
+ (visiblePanelsBeforeThisView / sashCount) *
1370
+ marginReducedSize;
1395
1371
  if (i < this.viewItems.length - 1) {
1396
1372
  // calculate sash position
1397
1373
  const newSize = view.visible
@@ -1502,27 +1478,27 @@ class Splitview {
1502
1478
  }
1503
1479
  }
1504
1480
  updateSash(sash, state) {
1505
- toggleClass(sash.container, 'disabled', state === SashState.DISABLED);
1506
- toggleClass(sash.container, 'enabled', state === SashState.ENABLED);
1507
- toggleClass(sash.container, 'maximum', state === SashState.MAXIMUM);
1508
- toggleClass(sash.container, 'minimum', state === SashState.MINIMUM);
1481
+ toggleClass(sash.container, 'dv-disabled', state === SashState.DISABLED);
1482
+ toggleClass(sash.container, 'dv-enabled', state === SashState.ENABLED);
1483
+ toggleClass(sash.container, 'dv-maximum', state === SashState.MAXIMUM);
1484
+ toggleClass(sash.container, 'dv-minimum', state === SashState.MINIMUM);
1509
1485
  }
1510
1486
  createViewContainer() {
1511
1487
  const element = document.createElement('div');
1512
- element.className = 'view-container';
1488
+ element.className = 'dv-view-container';
1513
1489
  return element;
1514
1490
  }
1515
1491
  createSashContainer() {
1516
1492
  const element = document.createElement('div');
1517
- element.className = 'sash-container';
1493
+ element.className = 'dv-sash-container';
1518
1494
  return element;
1519
1495
  }
1520
1496
  createContainer() {
1521
1497
  const element = document.createElement('div');
1522
1498
  const orientationClassname = this._orientation === Orientation.HORIZONTAL
1523
- ? 'horizontal'
1524
- : 'vertical';
1525
- element.className = `split-view-container ${orientationClassname}`;
1499
+ ? 'dv-horizontal'
1500
+ : 'dv-vertical';
1501
+ element.className = `dv-split-view-container ${orientationClassname}`;
1526
1502
  return element;
1527
1503
  }
1528
1504
  dispose() {
@@ -1573,7 +1549,7 @@ class Paneview extends CompositeDisposable {
1573
1549
  this.onDidChange = this._onDidChange.event;
1574
1550
  this._orientation = (_a = options.orientation) !== null && _a !== void 0 ? _a : Orientation.VERTICAL;
1575
1551
  this.element = document.createElement('div');
1576
- this.element.className = 'pane-container';
1552
+ this.element.className = 'dv-pane-container';
1577
1553
  container.appendChild(this.element);
1578
1554
  this.splitview = new Splitview(this.element, {
1579
1555
  orientation: this._orientation,
@@ -1665,10 +1641,10 @@ class Paneview extends CompositeDisposable {
1665
1641
  clearTimeout(this.animationTimer);
1666
1642
  this.animationTimer = undefined;
1667
1643
  }
1668
- addClasses(this.element, 'animated');
1644
+ addClasses(this.element, 'dv-animated');
1669
1645
  this.animationTimer = setTimeout(() => {
1670
1646
  this.animationTimer = undefined;
1671
- removeClasses(this.element, 'animated');
1647
+ removeClasses(this.element, 'dv-animated');
1672
1648
  }, 200);
1673
1649
  }
1674
1650
  dispose() {
@@ -1893,7 +1869,7 @@ class BranchNode extends CompositeDisposable {
1893
1869
  this._orthogonalSize = orthogonalSize;
1894
1870
  this._size = size;
1895
1871
  this.element = document.createElement('div');
1896
- this.element.className = 'branch-node';
1872
+ this.element.className = 'dv-branch-node';
1897
1873
  if (!childDescriptors) {
1898
1874
  this.splitview = new Splitview(this.element, {
1899
1875
  orientation: this.orientation,
@@ -2104,7 +2080,7 @@ function getGridLocation(element) {
2104
2080
  if (!parentElement) {
2105
2081
  throw new Error('Invalid grid element');
2106
2082
  }
2107
- if (/\bgrid-view\b/.test(parentElement.className)) {
2083
+ if (/\bdv-grid-view\b/.test(parentElement.className)) {
2108
2084
  return [];
2109
2085
  }
2110
2086
  const index = indexInParent(parentElement);
@@ -2452,7 +2428,7 @@ class Gridview {
2452
2428
  this._onDidMaximizedNodeChange = new Emitter();
2453
2429
  this.onDidMaximizedNodeChange = this._onDidMaximizedNodeChange.event;
2454
2430
  this.element = document.createElement('div');
2455
- this.element.className = 'grid-view';
2431
+ this.element.className = 'dv-grid-view';
2456
2432
  this._locked = locked !== null && locked !== void 0 ? locked : false;
2457
2433
  this._margin = margin !== null && margin !== void 0 ? margin : 0;
2458
2434
  this.root = new BranchNode(orientation, proportionalLayout, styles, 0, 0, this.locked, this.margin);
@@ -3674,7 +3650,7 @@ class DragHandler extends CompositeDisposable {
3674
3650
  * dnd logic. You can see the code at
3675
3651
  * https://github.com/react-dnd/react-dnd/blob/main/packages/backend-html5/src/HTML5BackendImpl.ts#L542
3676
3652
  */
3677
- event.dataTransfer.setData('text/plain', '__dockview_internal_drag_event__');
3653
+ event.dataTransfer.setData('text/plain', '');
3678
3654
  }
3679
3655
  }
3680
3656
  }), addDisposableListener(this.el, 'dragend', () => {
@@ -3848,12 +3824,12 @@ class Droptarget extends CompositeDisposable {
3848
3824
  this.markAsUsed(e);
3849
3825
  if (!this.targetElement) {
3850
3826
  this.targetElement = document.createElement('div');
3851
- this.targetElement.className = 'drop-target-dropzone';
3827
+ this.targetElement.className = 'dv-drop-target-dropzone';
3852
3828
  this.overlayElement = document.createElement('div');
3853
- this.overlayElement.className = 'drop-target-selection';
3829
+ this.overlayElement.className = 'dv-drop-target-selection';
3854
3830
  this._state = 'center';
3855
3831
  this.targetElement.appendChild(this.overlayElement);
3856
- this.element.classList.add('drop-target');
3832
+ this.element.classList.add('dv-drop-target');
3857
3833
  this.element.append(this.targetElement);
3858
3834
  }
3859
3835
  this.toggleClasses(quadrant, width, height);
@@ -3991,7 +3967,7 @@ class Droptarget extends CompositeDisposable {
3991
3967
  this.element.removeChild(this.targetElement);
3992
3968
  this.targetElement = undefined;
3993
3969
  this.overlayElement = undefined;
3994
- this.element.classList.remove('drop-target');
3970
+ this.element.classList.remove('dv-drop-target');
3995
3971
  }
3996
3972
  }
3997
3973
  }
@@ -4328,7 +4304,7 @@ class PaneviewPanel extends BasePanelView {
4328
4304
  this._headerVisible = isHeaderVisible;
4329
4305
  this._onDidChangeExpansionState.fire(this.isExpanded()); // initialize value
4330
4306
  this._orientation = orientation;
4331
- this.element.classList.add('pane');
4307
+ this.element.classList.add('dv-pane');
4332
4308
  this.addDisposables(this.api.onWillVisibilityChange((event) => {
4333
4309
  const { isVisible } = event;
4334
4310
  const { accessor } = this._params;
@@ -4425,14 +4401,14 @@ class PaneviewPanel extends BasePanelView {
4425
4401
  renderOnce() {
4426
4402
  this.header = document.createElement('div');
4427
4403
  this.header.tabIndex = 0;
4428
- this.header.className = 'pane-header';
4404
+ this.header.className = 'dv-pane-header';
4429
4405
  this.header.style.height = `${this.headerSize}px`;
4430
4406
  this.header.style.lineHeight = `${this.headerSize}px`;
4431
4407
  this.header.style.minHeight = `${this.headerSize}px`;
4432
4408
  this.header.style.maxHeight = `${this.headerSize}px`;
4433
4409
  this.element.appendChild(this.header);
4434
4410
  this.body = document.createElement('div');
4435
- this.body.className = 'pane-body';
4411
+ this.body.className = 'dv-pane-body';
4436
4412
  this.element.appendChild(this.body);
4437
4413
  }
4438
4414
  // TODO slightly hacky by-pass of the component to create a body and header component
@@ -4553,7 +4529,7 @@ class ContentContainer extends CompositeDisposable {
4553
4529
  this._onDidBlur = new Emitter();
4554
4530
  this.onDidBlur = this._onDidBlur.event;
4555
4531
  this._element = document.createElement('div');
4556
- this._element.className = 'content-container';
4532
+ this._element.className = 'dv-content-container';
4557
4533
  this._element.tabIndex = -1;
4558
4534
  this.addDisposables(this._onDidFocus, this._onDidBlur);
4559
4535
  this.dropTarget = new Droptarget(this.element, {
@@ -4626,6 +4602,8 @@ class ContentContainer extends CompositeDisposable {
4626
4602
  referenceContainer: this,
4627
4603
  });
4628
4604
  break;
4605
+ default:
4606
+ throw new Error(`dockview: invalid renderer type '${panel.api.renderer}'`);
4629
4607
  }
4630
4608
  if (doRender) {
4631
4609
  const focusTracker = trackFocus(container);
@@ -4692,10 +4670,10 @@ class Tab extends CompositeDisposable {
4692
4670
  this._onDragStart = new Emitter();
4693
4671
  this.onDragStart = this._onDragStart.event;
4694
4672
  this._element = document.createElement('div');
4695
- this._element.className = 'tab';
4673
+ this._element.className = 'dv-tab';
4696
4674
  this._element.tabIndex = 0;
4697
4675
  this._element.draggable = true;
4698
- toggleClass(this.element, 'inactive-tab', true);
4676
+ toggleClass(this.element, 'dv-inactive-tab', true);
4699
4677
  const dragHandler = new TabDragHandler(this._element, this.accessor, this.group, this.panel);
4700
4678
  this.dropTarget = new Droptarget(this._element, {
4701
4679
  acceptedTargetZones: ['center'],
@@ -4728,8 +4706,8 @@ class Tab extends CompositeDisposable {
4728
4706
  }), this.dropTarget);
4729
4707
  }
4730
4708
  setActive(isActive) {
4731
- toggleClass(this.element, 'active-tab', isActive);
4732
- toggleClass(this.element, 'inactive-tab', !isActive);
4709
+ toggleClass(this.element, 'dv-active-tab', isActive);
4710
+ toggleClass(this.element, 'dv-inactive-tab', !isActive);
4733
4711
  }
4734
4712
  setContent(part) {
4735
4713
  if (this.content) {
@@ -4817,7 +4795,7 @@ class VoidContainer extends CompositeDisposable {
4817
4795
  this._onDragStart = new Emitter();
4818
4796
  this.onDragStart = this._onDragStart.event;
4819
4797
  this._element = document.createElement('div');
4820
- this._element.className = 'void-container';
4798
+ this._element.className = 'dv-void-container';
4821
4799
  this._element.tabIndex = 0;
4822
4800
  this._element.draggable = true;
4823
4801
  this.addDisposables(this._onDrop, this._onDragStart, addDisposableListener(this._element, 'pointerdown', () => {
@@ -4937,16 +4915,16 @@ class TabsContainer extends CompositeDisposable {
4937
4915
  this._onWillShowOverlay = new Emitter();
4938
4916
  this.onWillShowOverlay = this._onWillShowOverlay.event;
4939
4917
  this._element = document.createElement('div');
4940
- this._element.className = 'tabs-and-actions-container';
4918
+ this._element.className = 'dv-tabs-and-actions-container';
4941
4919
  toggleClass(this._element, 'dv-full-width-single-tab', this.accessor.options.singleTabMode === 'fullwidth');
4942
4920
  this.rightActionsContainer = document.createElement('div');
4943
- this.rightActionsContainer.className = 'right-actions-container';
4921
+ this.rightActionsContainer.className = 'dv-right-actions-container';
4944
4922
  this.leftActionsContainer = document.createElement('div');
4945
- this.leftActionsContainer.className = 'left-actions-container';
4923
+ this.leftActionsContainer.className = 'dv-left-actions-container';
4946
4924
  this.preActionsContainer = document.createElement('div');
4947
- this.preActionsContainer.className = 'pre-actions-container';
4925
+ this.preActionsContainer.className = 'dv-pre-actions-container';
4948
4926
  this.tabContainer = document.createElement('div');
4949
- this.tabContainer.className = 'tabs-container';
4927
+ this.tabContainer.className = 'dv-tabs-container';
4950
4928
  this.voidContainer = new VoidContainer(this.accessor, this.group);
4951
4929
  this._element.appendChild(this.preActionsContainer);
4952
4930
  this._element.appendChild(this.tabContainer);
@@ -5035,14 +5013,10 @@ class TabsContainer extends CompositeDisposable {
5035
5013
  });
5036
5014
  }
5037
5015
  openPanel(panel, index = this.tabs.length) {
5038
- var _a;
5039
5016
  if (this.tabs.find((tab) => tab.value.panel.id === panel.id)) {
5040
5017
  return;
5041
5018
  }
5042
5019
  const tab = new Tab(panel, this.accessor, this.group);
5043
- if (!((_a = panel.view) === null || _a === void 0 ? void 0 : _a.tab)) {
5044
- throw new Error('invalid header component');
5045
- }
5046
5020
  tab.setContent(panel.view.tab);
5047
5021
  const disposable = new CompositeDisposable(tab.onDragStart((event) => {
5048
5022
  this._onTabDragStart.fire({ nativeEvent: event, panel });
@@ -5232,7 +5206,7 @@ class WillShowOverlayLocationEvent {
5232
5206
  }
5233
5207
  class DockviewGroupPanelModel extends CompositeDisposable {
5234
5208
  get element() {
5235
- throw new Error('not supported');
5209
+ throw new Error('dockview: not supported');
5236
5210
  }
5237
5211
  get activePanel() {
5238
5212
  return this._activePanel;
@@ -5242,7 +5216,7 @@ class DockviewGroupPanelModel extends CompositeDisposable {
5242
5216
  }
5243
5217
  set locked(value) {
5244
5218
  this._locked = value;
5245
- toggleClass(this.container, 'locked-groupview', value === 'no-drop-target' || value);
5219
+ toggleClass(this.container, 'dv-locked-groupview', value === 'no-drop-target' || value);
5246
5220
  }
5247
5221
  get isActive() {
5248
5222
  return this._isGroupActive;
@@ -5313,6 +5287,7 @@ class DockviewGroupPanelModel extends CompositeDisposable {
5313
5287
  this._locked = false;
5314
5288
  this._location = { type: 'grid' };
5315
5289
  this.mostRecentlyUsed = [];
5290
+ this._overwriteRenderContainer = null;
5316
5291
  this._onDidChange = new Emitter();
5317
5292
  this.onDidChange = this._onDidChange.event;
5318
5293
  this._width = 0;
@@ -5343,8 +5318,7 @@ class DockviewGroupPanelModel extends CompositeDisposable {
5343
5318
  this.onDidActivePanelChange = this._onDidActivePanelChange.event;
5344
5319
  this._onUnhandledDragOverEvent = new Emitter();
5345
5320
  this.onUnhandledDragOverEvent = this._onUnhandledDragOverEvent.event;
5346
- this._overwriteRenderContainer = null;
5347
- toggleClass(this.container, 'groupview', true);
5321
+ toggleClass(this.container, 'dv-groupview', true);
5348
5322
  this._api = new DockviewApi(this.accessor);
5349
5323
  this.tabsContainer = new TabsContainer(this.accessor, this.groupPanel);
5350
5324
  this.contentContainer = new ContentContainer(this.accessor, this);
@@ -5589,8 +5563,8 @@ class DockviewGroupPanelModel extends CompositeDisposable {
5589
5563
  return;
5590
5564
  }
5591
5565
  this._isGroupActive = isGroupActive;
5592
- toggleClass(this.container, 'active-group', isGroupActive);
5593
- toggleClass(this.container, 'inactive-group', !isGroupActive);
5566
+ toggleClass(this.container, 'dv-active-group', isGroupActive);
5567
+ toggleClass(this.container, 'dv-inactive-group', !isGroupActive);
5594
5568
  this.tabsContainer.setActive(this.isActive);
5595
5569
  if (!this._activePanel && this.panels.length > 0) {
5596
5570
  this.doSetActivePanel(this.panels[0]);
@@ -5682,7 +5656,7 @@ class DockviewGroupPanelModel extends CompositeDisposable {
5682
5656
  }
5683
5657
  updateContainer() {
5684
5658
  var _a, _b;
5685
- toggleClass(this.container, 'empty', this.isEmpty);
5659
+ toggleClass(this.container, 'dv-empty', this.isEmpty);
5686
5660
  this.panels.forEach((panel) => panel.runEvents());
5687
5661
  if (this.isEmpty && !this.watermark) {
5688
5662
  const watermark = this.accessor.createWatermarkComponent();
@@ -5823,6 +5797,34 @@ class GridviewPanel extends BasePanelView {
5823
5797
  return this._snap;
5824
5798
  }
5825
5799
  get minimumWidth() {
5800
+ /**
5801
+ * defer to protected function to allow subclasses to override easily.
5802
+ * see https://github.com/microsoft/TypeScript/issues/338
5803
+ */
5804
+ return this.__minimumWidth();
5805
+ }
5806
+ get minimumHeight() {
5807
+ /**
5808
+ * defer to protected function to allow subclasses to override easily.
5809
+ * see https://github.com/microsoft/TypeScript/issues/338
5810
+ */
5811
+ return this.__minimumHeight();
5812
+ }
5813
+ get maximumHeight() {
5814
+ /**
5815
+ * defer to protected function to allow subclasses to override easily.
5816
+ * see https://github.com/microsoft/TypeScript/issues/338
5817
+ */
5818
+ return this.__maximumHeight();
5819
+ }
5820
+ get maximumWidth() {
5821
+ /**
5822
+ * defer to protected function to allow subclasses to override easily.
5823
+ * see https://github.com/microsoft/TypeScript/issues/338
5824
+ */
5825
+ return this.__maximumWidth();
5826
+ }
5827
+ __minimumWidth() {
5826
5828
  const width = typeof this._minimumWidth === 'function'
5827
5829
  ? this._minimumWidth()
5828
5830
  : this._minimumWidth;
@@ -5832,7 +5834,17 @@ class GridviewPanel extends BasePanelView {
5832
5834
  }
5833
5835
  return width;
5834
5836
  }
5835
- get minimumHeight() {
5837
+ __maximumWidth() {
5838
+ const width = typeof this._maximumWidth === 'function'
5839
+ ? this._maximumWidth()
5840
+ : this._maximumWidth;
5841
+ if (width !== this._evaluatedMaximumWidth) {
5842
+ this._evaluatedMaximumWidth = width;
5843
+ this.updateConstraints();
5844
+ }
5845
+ return width;
5846
+ }
5847
+ __minimumHeight() {
5836
5848
  const height = typeof this._minimumHeight === 'function'
5837
5849
  ? this._minimumHeight()
5838
5850
  : this._minimumHeight;
@@ -5842,7 +5854,7 @@ class GridviewPanel extends BasePanelView {
5842
5854
  }
5843
5855
  return height;
5844
5856
  }
5845
- get maximumHeight() {
5857
+ __maximumHeight() {
5846
5858
  const height = typeof this._maximumHeight === 'function'
5847
5859
  ? this._maximumHeight()
5848
5860
  : this._maximumHeight;
@@ -5852,16 +5864,6 @@ class GridviewPanel extends BasePanelView {
5852
5864
  }
5853
5865
  return height;
5854
5866
  }
5855
- get maximumWidth() {
5856
- const width = typeof this._maximumWidth === 'function'
5857
- ? this._maximumWidth()
5858
- : this._maximumWidth;
5859
- if (width !== this._evaluatedMaximumWidth) {
5860
- this._evaluatedMaximumWidth = width;
5861
- this.updateConstraints();
5862
- }
5863
- return width;
5864
- }
5865
5867
  get isActive() {
5866
5868
  return this.api.isActive;
5867
5869
  }
@@ -6012,6 +6014,7 @@ class DockviewGroupPanelApiImpl extends GridviewPanelApiImpl {
6012
6014
  position: options.group
6013
6015
  ? (_c = options.position) !== null && _c !== void 0 ? _c : 'center'
6014
6016
  : 'center',
6017
+ index: options.index,
6015
6018
  },
6016
6019
  });
6017
6020
  }
@@ -6063,30 +6066,34 @@ class DockviewGroupPanel extends GridviewPanel {
6063
6066
  get minimumWidth() {
6064
6067
  var _a;
6065
6068
  const activePanelMinimumWidth = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.minimumWidth;
6066
- return typeof activePanelMinimumWidth === 'number'
6067
- ? activePanelMinimumWidth
6068
- : MINIMUM_DOCKVIEW_GROUP_PANEL_WIDTH;
6069
+ if (typeof activePanelMinimumWidth === 'number') {
6070
+ return activePanelMinimumWidth;
6071
+ }
6072
+ return super.__minimumWidth();
6069
6073
  }
6070
6074
  get minimumHeight() {
6071
6075
  var _a;
6072
6076
  const activePanelMinimumHeight = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.minimumHeight;
6073
- return typeof activePanelMinimumHeight === 'number'
6074
- ? activePanelMinimumHeight
6075
- : MINIMUM_DOCKVIEW_GROUP_PANEL_HEIGHT;
6077
+ if (typeof activePanelMinimumHeight === 'number') {
6078
+ return activePanelMinimumHeight;
6079
+ }
6080
+ return super.__minimumHeight();
6076
6081
  }
6077
6082
  get maximumWidth() {
6078
6083
  var _a;
6079
6084
  const activePanelMaximumWidth = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.maximumWidth;
6080
- return typeof activePanelMaximumWidth === 'number'
6081
- ? activePanelMaximumWidth
6082
- : Number.MAX_SAFE_INTEGER;
6085
+ if (typeof activePanelMaximumWidth === 'number') {
6086
+ return activePanelMaximumWidth;
6087
+ }
6088
+ return super.__maximumWidth();
6083
6089
  }
6084
6090
  get maximumHeight() {
6085
6091
  var _a;
6086
6092
  const activePanelMaximumHeight = (_a = this.activePanel) === null || _a === void 0 ? void 0 : _a.maximumHeight;
6087
- return typeof activePanelMaximumHeight === 'number'
6088
- ? activePanelMaximumHeight
6089
- : Number.MAX_SAFE_INTEGER;
6093
+ if (typeof activePanelMaximumHeight === 'number') {
6094
+ return activePanelMaximumHeight;
6095
+ }
6096
+ return super.__maximumHeight();
6090
6097
  }
6091
6098
  get panels() {
6092
6099
  return this._model.panels;
@@ -6200,12 +6207,14 @@ class DockviewPanelApiImpl extends GridviewPanelApiImpl {
6200
6207
  return this.group.api.getWindow();
6201
6208
  }
6202
6209
  moveTo(options) {
6203
- var _a;
6210
+ var _a, _b;
6204
6211
  this.accessor.moveGroupOrPanel({
6205
6212
  from: { groupId: this._group.id, panelId: this.panel.id },
6206
6213
  to: {
6207
- group: options.group,
6208
- position: (_a = options.position) !== null && _a !== void 0 ? _a : 'center',
6214
+ group: (_a = options.group) !== null && _a !== void 0 ? _a : this._group,
6215
+ position: options.group
6216
+ ? (_b = options.position) !== null && _b !== void 0 ? _b : 'center'
6217
+ : 'center',
6209
6218
  index: options.index,
6210
6219
  },
6211
6220
  });
@@ -6424,7 +6433,7 @@ const createSvgElementFromPath = (params) => {
6424
6433
  svg.setAttributeNS(null, 'viewBox', params.viewbox);
6425
6434
  svg.setAttributeNS(null, 'aria-hidden', 'false');
6426
6435
  svg.setAttributeNS(null, 'focusable', 'false');
6427
- svg.classList.add('dockview-svg');
6436
+ svg.classList.add('dv-svg');
6428
6437
  const path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
6429
6438
  path.setAttributeNS(null, 'd', params.path);
6430
6439
  svg.appendChild(path);
@@ -6595,19 +6604,19 @@ class Watermark extends CompositeDisposable {
6595
6604
  constructor() {
6596
6605
  super();
6597
6606
  this._element = document.createElement('div');
6598
- this._element.className = 'watermark';
6607
+ this._element.className = 'dv-watermark';
6599
6608
  const title = document.createElement('div');
6600
- title.className = 'watermark-title';
6609
+ title.className = 'dv-watermark-title';
6601
6610
  const emptySpace = document.createElement('span');
6602
6611
  emptySpace.style.flexGrow = '1';
6603
6612
  const content = document.createElement('div');
6604
- content.className = 'watermark-content';
6613
+ content.className = 'dv-watermark-content';
6605
6614
  this._element.appendChild(title);
6606
6615
  this._element.appendChild(content);
6607
6616
  const actionsContainer = document.createElement('div');
6608
- actionsContainer.className = 'actions-container';
6617
+ actionsContainer.className = 'dv-actions-container';
6609
6618
  const closeAnchor = document.createElement('div');
6610
- closeAnchor.className = 'close-action';
6619
+ closeAnchor.className = 'dv-close-action';
6611
6620
  closeAnchor.appendChild(createCloseButton());
6612
6621
  actionsContainer.appendChild(closeAnchor);
6613
6622
  title.appendChild(emptySpace);
@@ -6627,11 +6636,10 @@ class Watermark extends CompositeDisposable {
6627
6636
  }
6628
6637
  render() {
6629
6638
  const isOneGroup = !!(this._api && this._api.size <= 1);
6630
- toggleClass(this.element, 'has-actions', isOneGroup);
6639
+ toggleClass(this.element, 'dv-has-actions', isOneGroup);
6631
6640
  }
6632
6641
  }
6633
6642
 
6634
- const DEFAULT_OVERLAY_Z_INDEX = 999;
6635
6643
  class AriaLevelTracker {
6636
6644
  constructor() {
6637
6645
  this._orderedList = [];
@@ -6650,7 +6658,7 @@ class AriaLevelTracker {
6650
6658
  update() {
6651
6659
  for (let i = 0; i < this._orderedList.length; i++) {
6652
6660
  this._orderedList[i].setAttribute('aria-level', `${i}`);
6653
- this._orderedList[i].style.zIndex = `${DEFAULT_OVERLAY_Z_INDEX + i * 2}`;
6661
+ this._orderedList[i].style.zIndex = `calc(var(--dv-overlay-z-index, 999) + ${i * 2})`;
6654
6662
  }
6655
6663
  }
6656
6664
  }
@@ -7107,7 +7115,7 @@ class OverlayRenderContainer extends CompositeDisposable {
7107
7115
  const element = floatingGroup.overlay.element;
7108
7116
  const update = () => {
7109
7117
  const level = Number(element.getAttribute('aria-level'));
7110
- focusContainer.style.zIndex = `${DEFAULT_OVERLAY_Z_INDEX + level * 2 + 1}`;
7118
+ focusContainer.style.zIndex = `calc(var(--dv-overlay-z-index, 999) + ${level * 2 + 1})`;
7111
7119
  };
7112
7120
  const observer = new MutationObserver(() => {
7113
7121
  update();
@@ -7262,7 +7270,6 @@ class PopoutWindow extends CompositeDisposable {
7262
7270
  window: this._window.value,
7263
7271
  });
7264
7272
  this._window.disposable.dispose();
7265
- this._window.value.close();
7266
7273
  this._window = null;
7267
7274
  this._onDidClose.fire();
7268
7275
  }
@@ -7294,7 +7301,9 @@ class PopoutWindow extends CompositeDisposable {
7294
7301
  }
7295
7302
  const disposable = new CompositeDisposable();
7296
7303
  this._window = { value: externalWindow, disposable };
7297
- disposable.addDisposables(addDisposableWindowListener(window, 'beforeunload', () => {
7304
+ disposable.addDisposables(Disposable.from(() => {
7305
+ externalWindow.close();
7306
+ }), addDisposableWindowListener(window, 'beforeunload', () => {
7298
7307
  /**
7299
7308
  * before the main window closes we should close this popup too
7300
7309
  * to be good citizens
@@ -7311,7 +7320,7 @@ class PopoutWindow extends CompositeDisposable {
7311
7320
  id: this.target,
7312
7321
  window: externalWindow,
7313
7322
  });
7314
- return new Promise((resolve) => {
7323
+ return new Promise((resolve, reject) => {
7315
7324
  externalWindow.addEventListener('unload', (e) => {
7316
7325
  // if page fails to load before unloading
7317
7326
  // this.close();
@@ -7320,21 +7329,27 @@ class PopoutWindow extends CompositeDisposable {
7320
7329
  /**
7321
7330
  * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event
7322
7331
  */
7323
- const externalDocument = externalWindow.document;
7324
- externalDocument.title = document.title;
7325
- externalDocument.body.appendChild(container);
7326
- addStyles(externalDocument, window.document.styleSheets);
7327
- /**
7328
- * beforeunload must be registered after load for reasons I could not determine
7329
- * otherwise the beforeunload event will not fire when the window is closed
7330
- */
7331
- addDisposableWindowListener(externalWindow, 'beforeunload', () => {
7332
+ try {
7333
+ const externalDocument = externalWindow.document;
7334
+ externalDocument.title = document.title;
7335
+ externalDocument.body.appendChild(container);
7336
+ addStyles(externalDocument, window.document.styleSheets);
7332
7337
  /**
7333
- * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event
7338
+ * beforeunload must be registered after load for reasons I could not determine
7339
+ * otherwise the beforeunload event will not fire when the window is closed
7334
7340
  */
7335
- this.close();
7336
- });
7337
- resolve(container);
7341
+ addDisposableWindowListener(externalWindow, 'beforeunload', () => {
7342
+ /**
7343
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event
7344
+ */
7345
+ this.close();
7346
+ });
7347
+ resolve(container);
7348
+ }
7349
+ catch (err) {
7350
+ // only except this is the DOM isn't setup. e.g. in a in correctly configured test
7351
+ reject(err);
7352
+ }
7338
7353
  });
7339
7354
  });
7340
7355
  });
@@ -7587,9 +7602,6 @@ class DockviewComponent extends BaseGrid {
7587
7602
  }
7588
7603
  const box = getBox();
7589
7604
  const groupId = (_b = (_a = options === null || options === void 0 ? void 0 : options.overridePopoutGroup) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : this.getNextGroupId();
7590
- if (itemToPopout.api.location.type === 'grid') {
7591
- itemToPopout.api.setVisible(false);
7592
- }
7593
7605
  const _window = new PopoutWindow(`${this.id}-${groupId}`, // unique id
7594
7606
  theme !== null && theme !== void 0 ? theme : '', {
7595
7607
  url: (_c = options === null || options === void 0 ? void 0 : options.popoutUrl) !== null && _c !== void 0 ? _c : '/popout.html',
@@ -7608,11 +7620,11 @@ class DockviewComponent extends BaseGrid {
7608
7620
  .then((popoutContainer) => {
7609
7621
  var _a;
7610
7622
  if (_window.isDisposed) {
7611
- return;
7623
+ return false;
7612
7624
  }
7613
7625
  if (popoutContainer === null) {
7614
7626
  popoutWindowDisposable.dispose();
7615
- return;
7627
+ return false;
7616
7628
  }
7617
7629
  const gready = document.createElement('div');
7618
7630
  gready.className = 'dv-overlay-render-container';
@@ -7621,30 +7633,40 @@ class DockviewComponent extends BaseGrid {
7621
7633
  ? itemToPopout.group
7622
7634
  : itemToPopout;
7623
7635
  const referenceLocation = itemToPopout.api.location.type;
7624
- const group = (_a = options === null || options === void 0 ? void 0 : options.overridePopoutGroup) !== null && _a !== void 0 ? _a : this.createGroup({ id: groupId });
7636
+ /**
7637
+ * The group that is being added doesn't already exist within the DOM, the most likely occurance
7638
+ * of this case is when being called from the `fromJSON(...)` method
7639
+ */
7640
+ const isGroupAddedToDom = referenceGroup.element.parentElement !== null;
7641
+ const group = !isGroupAddedToDom
7642
+ ? referenceGroup
7643
+ : (_a = options === null || options === void 0 ? void 0 : options.overridePopoutGroup) !== null && _a !== void 0 ? _a : this.createGroup({ id: groupId });
7625
7644
  group.model.renderContainer = overlayRenderContainer;
7626
- if (!(options === null || options === void 0 ? void 0 : options.overridePopoutGroup)) {
7645
+ group.layout(_window.window.innerWidth, _window.window.innerHeight);
7646
+ if (!this._groups.has(group.api.id)) {
7627
7647
  this._onDidAddGroup.fire(group);
7628
7648
  }
7629
- if (itemToPopout instanceof DockviewPanel) {
7630
- this.movingLock(() => {
7631
- const panel = referenceGroup.model.removePanel(itemToPopout);
7632
- group.model.openPanel(panel);
7633
- });
7634
- }
7635
- else {
7636
- this.movingLock(() => moveGroupWithoutDestroying({
7637
- from: referenceGroup,
7638
- to: group,
7639
- }));
7640
- switch (referenceLocation) {
7641
- case 'grid':
7642
- referenceGroup.api.setVisible(false);
7643
- break;
7644
- case 'floating':
7645
- case 'popout':
7646
- this.removeGroup(referenceGroup);
7647
- break;
7649
+ if (!(options === null || options === void 0 ? void 0 : options.overridePopoutGroup) && isGroupAddedToDom) {
7650
+ if (itemToPopout instanceof DockviewPanel) {
7651
+ this.movingLock(() => {
7652
+ const panel = referenceGroup.model.removePanel(itemToPopout);
7653
+ group.model.openPanel(panel);
7654
+ });
7655
+ }
7656
+ else {
7657
+ this.movingLock(() => moveGroupWithoutDestroying({
7658
+ from: referenceGroup,
7659
+ to: group,
7660
+ }));
7661
+ switch (referenceLocation) {
7662
+ case 'grid':
7663
+ referenceGroup.api.setVisible(false);
7664
+ break;
7665
+ case 'floating':
7666
+ case 'popout':
7667
+ this.removeGroup(referenceGroup);
7668
+ break;
7669
+ }
7648
7670
  }
7649
7671
  }
7650
7672
  popoutContainer.classList.add('dv-dockview');
@@ -7655,6 +7677,10 @@ class DockviewComponent extends BaseGrid {
7655
7677
  type: 'popout',
7656
7678
  getWindow: () => _window.window,
7657
7679
  };
7680
+ if (isGroupAddedToDom &&
7681
+ itemToPopout.api.location.type === 'grid') {
7682
+ itemToPopout.api.setVisible(false);
7683
+ }
7658
7684
  this.doSetGroupAndPanelActive(group);
7659
7685
  popoutWindowDisposable.addDisposables(group.api.onDidActiveChange((event) => {
7660
7686
  var _a;
@@ -7669,9 +7695,13 @@ class DockviewComponent extends BaseGrid {
7669
7695
  const value = {
7670
7696
  window: _window,
7671
7697
  popoutGroup: group,
7672
- referenceGroup: this.getPanel(referenceGroup.id)
7673
- ? referenceGroup.id
7674
- : undefined,
7698
+ referenceGroup: !isGroupAddedToDom
7699
+ ? undefined
7700
+ : referenceGroup
7701
+ ? this.getPanel(referenceGroup.id)
7702
+ ? referenceGroup.id
7703
+ : undefined
7704
+ : undefined,
7675
7705
  disposable: {
7676
7706
  dispose: () => {
7677
7707
  popoutWindowDisposable.dispose();
@@ -7686,9 +7716,10 @@ class DockviewComponent extends BaseGrid {
7686
7716
  * window dimensions
7687
7717
  */
7688
7718
  addDisposableWindowListener(_window.window, 'resize', () => {
7689
- group.layout(window.innerWidth, window.innerHeight);
7719
+ group.layout(_window.window.innerWidth, _window.window.innerHeight);
7690
7720
  }), overlayRenderContainer, Disposable.from(() => {
7691
- if (this.getPanel(referenceGroup.id)) {
7721
+ if (isGroupAddedToDom &&
7722
+ this.getPanel(referenceGroup.id)) {
7692
7723
  this.movingLock(() => moveGroupWithoutDestroying({
7693
7724
  from: group,
7694
7725
  to: referenceGroup,
@@ -7703,21 +7734,27 @@ class DockviewComponent extends BaseGrid {
7703
7734
  }
7704
7735
  }
7705
7736
  else if (this.getPanel(group.id)) {
7706
- const removedGroup = this.doRemoveGroup(group, {
7737
+ this.doRemoveGroup(group, {
7707
7738
  skipDispose: true,
7708
7739
  skipActive: true,
7740
+ skipPopoutReturn: true,
7709
7741
  });
7742
+ const removedGroup = group;
7710
7743
  removedGroup.model.renderContainer =
7711
7744
  this.overlayRenderContainer;
7712
7745
  removedGroup.model.location = { type: 'grid' };
7713
7746
  returnedGroup = removedGroup;
7747
+ this.doAddGroup(removedGroup, [0]);
7748
+ this.doSetGroupAndPanelActive(removedGroup);
7714
7749
  }
7715
7750
  }));
7716
7751
  this._popoutGroups.push(value);
7717
7752
  this.updateWatermark();
7753
+ return true;
7718
7754
  })
7719
7755
  .catch((err) => {
7720
7756
  console.error('dockview: failed to create popout window', err);
7757
+ return false;
7721
7758
  });
7722
7759
  }
7723
7760
  addFloatingGroup(item, options) {
@@ -7821,7 +7858,7 @@ class DockviewComponent extends BaseGrid {
7821
7858
  : (_c = (_b = this.options.floatingGroupBounds) === null || _b === void 0 ? void 0 : _b.minimumWidthWithinViewport) !== null && _c !== void 0 ? _c : DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE, minimumInViewportHeight: this.options.floatingGroupBounds === 'boundedWithinViewport'
7822
7859
  ? undefined
7823
7860
  : (_e = (_d = this.options.floatingGroupBounds) === null || _d === void 0 ? void 0 : _d.minimumHeightWithinViewport) !== null && _e !== void 0 ? _e : DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE }));
7824
- const el = group.element.querySelector('.void-container');
7861
+ const el = group.element.querySelector('.dv-void-container');
7825
7862
  if (!el) {
7826
7863
  throw new Error('failed to find drag handle');
7827
7864
  }
@@ -8104,7 +8141,6 @@ class DockviewComponent extends BaseGrid {
8104
8141
  this.addPopoutGroup((_c = (gridReferenceGroup
8105
8142
  ? this.getPanel(gridReferenceGroup)
8106
8143
  : undefined)) !== null && _c !== void 0 ? _c : group, {
8107
- skipRemoveGroup: true,
8108
8144
  position: position !== null && position !== void 0 ? position : undefined,
8109
8145
  overridePopoutGroup: gridReferenceGroup
8110
8146
  ? group
@@ -8122,6 +8158,7 @@ class DockviewComponent extends BaseGrid {
8122
8158
  }
8123
8159
  }
8124
8160
  catch (err) {
8161
+ console.error('dockview: failed to deserialize layout. Reverting changes', err);
8125
8162
  /**
8126
8163
  * Takes all the successfully created groups and remove all of their panels.
8127
8164
  */
@@ -8189,11 +8226,13 @@ class DockviewComponent extends BaseGrid {
8189
8226
  width: options.initialWidth,
8190
8227
  height: options.initialHeight,
8191
8228
  };
8229
+ let index;
8192
8230
  if (options.position) {
8193
8231
  if (isPanelOptionsWithPanel(options.position)) {
8194
8232
  const referencePanel = typeof options.position.referencePanel === 'string'
8195
8233
  ? this.getGroupPanel(options.position.referencePanel)
8196
8234
  : options.position.referencePanel;
8235
+ index = options.position.index;
8197
8236
  if (!referencePanel) {
8198
8237
  throw new Error(`referencePanel '${options.position.referencePanel}' does not exist`);
8199
8238
  }
@@ -8204,6 +8243,7 @@ class DockviewComponent extends BaseGrid {
8204
8243
  typeof options.position.referenceGroup === 'string'
8205
8244
  ? (_a = this._groups.get(options.position.referenceGroup)) === null || _a === void 0 ? void 0 : _a.value
8206
8245
  : options.position.referenceGroup;
8246
+ index = options.position.index;
8207
8247
  if (!referenceGroup) {
8208
8248
  throw new Error(`referenceGroup '${options.position.referenceGroup}' does not exist`);
8209
8249
  }
@@ -8214,6 +8254,7 @@ class DockviewComponent extends BaseGrid {
8214
8254
  group.model.openPanel(panel, {
8215
8255
  skipSetActive: options.inactive,
8216
8256
  skipSetGroupActive: options.inactive,
8257
+ index,
8217
8258
  });
8218
8259
  if (!options.inactive) {
8219
8260
  this.doSetGroupAndPanelActive(group);
@@ -8243,6 +8284,7 @@ class DockviewComponent extends BaseGrid {
8243
8284
  group.model.openPanel(panel, {
8244
8285
  skipSetActive: options.inactive,
8245
8286
  skipSetGroupActive: options.inactive,
8287
+ index,
8246
8288
  });
8247
8289
  }
8248
8290
  else if (referenceGroup.api.location.type === 'floating' ||
@@ -8251,6 +8293,7 @@ class DockviewComponent extends BaseGrid {
8251
8293
  referenceGroup.model.openPanel(panel, {
8252
8294
  skipSetActive: options.inactive,
8253
8295
  skipSetGroupActive: options.inactive,
8296
+ index,
8254
8297
  });
8255
8298
  referenceGroup.api.setSize({
8256
8299
  width: initial === null || initial === void 0 ? void 0 : initial.width,
@@ -8271,6 +8314,7 @@ class DockviewComponent extends BaseGrid {
8271
8314
  group.model.openPanel(panel, {
8272
8315
  skipSetActive: options.inactive,
8273
8316
  skipSetGroupActive: options.inactive,
8317
+ index,
8274
8318
  });
8275
8319
  if (!options.inactive) {
8276
8320
  this.doSetGroupAndPanelActive(group);
@@ -8289,6 +8333,7 @@ class DockviewComponent extends BaseGrid {
8289
8333
  group.model.openPanel(panel, {
8290
8334
  skipSetActive: options.inactive,
8291
8335
  skipSetGroupActive: options.inactive,
8336
+ index,
8292
8337
  });
8293
8338
  }
8294
8339
  else {
@@ -8299,6 +8344,7 @@ class DockviewComponent extends BaseGrid {
8299
8344
  group.model.openPanel(panel, {
8300
8345
  skipSetActive: options.inactive,
8301
8346
  skipSetGroupActive: options.inactive,
8347
+ index,
8302
8348
  });
8303
8349
  if (!options.inactive) {
8304
8350
  this.doSetGroupAndPanelActive(group);
@@ -8839,6 +8885,31 @@ class DockviewComponent extends BaseGrid {
8839
8885
  }
8840
8886
  }
8841
8887
 
8888
+ function createComponent(id, componentName, components = {}, frameworkComponents = {}, createFrameworkComponent, fallback) {
8889
+ const Component = typeof componentName === 'string'
8890
+ ? components[componentName]
8891
+ : undefined;
8892
+ const FrameworkComponent = typeof componentName === 'string'
8893
+ ? frameworkComponents[componentName]
8894
+ : undefined;
8895
+ if (Component && FrameworkComponent) {
8896
+ throw new Error(`Cannot create '${id}'. component '${componentName}' registered as both a component and frameworkComponent`);
8897
+ }
8898
+ if (FrameworkComponent) {
8899
+ if (!createFrameworkComponent) {
8900
+ throw new Error(`Cannot create '${id}' for framework component '${componentName}'. you must register a frameworkPanelWrapper to use framework components`);
8901
+ }
8902
+ return createFrameworkComponent.createComponent(id, componentName, FrameworkComponent);
8903
+ }
8904
+ if (!Component) {
8905
+ if (fallback) {
8906
+ return fallback();
8907
+ }
8908
+ throw new Error(`Cannot create '${id}', no component '${componentName}' provided`);
8909
+ }
8910
+ return new Component(id, componentName);
8911
+ }
8912
+
8842
8913
  class GridviewComponent extends BaseGrid {
8843
8914
  get orientation() {
8844
8915
  return this.gridview.orientation;
@@ -9387,12 +9458,14 @@ class DefaultHeader extends CompositeDisposable {
9387
9458
  this._expandedIcon = createExpandMoreButton();
9388
9459
  this._collapsedIcon = createChevronRightButton();
9389
9460
  this.disposable = new MutableDisposable();
9390
- this.apiRef = { api: null };
9461
+ this.apiRef = {
9462
+ api: null,
9463
+ };
9391
9464
  this._element = document.createElement('div');
9392
- this.element.className = 'default-header';
9465
+ this.element.className = 'dv-default-header';
9393
9466
  this._content = document.createElement('span');
9394
9467
  this._expander = document.createElement('div');
9395
- this._expander.className = 'dockview-pane-header-icon';
9468
+ this._expander.className = 'dv-pane-header-icon';
9396
9469
  this.element.appendChild(this._expander);
9397
9470
  this.element.appendChild(this._content);
9398
9471
  this.addDisposables(addDisposableListener(this._element, 'click', () => {
@@ -9843,5 +9916,5 @@ function createPaneview(element, options) {
9843
9916
  return new PaneviewApi(component);
9844
9917
  }
9845
9918
 
9846
- export { BaseGrid, ContentContainer, DefaultDockviewDeserialzier, DefaultTab, DockviewApi, DockviewComponent, CompositeDisposable as DockviewCompositeDisposable, DockviewDidDropEvent, Disposable as DockviewDisposable, Emitter as DockviewEmitter, Event as DockviewEvent, DockviewGroupPanel, DockviewGroupPanelModel, MutableDisposable as DockviewMutableDisposable, DockviewPanel, DockviewUnhandledDragOverEvent, DockviewWillDropEvent, DraggablePaneviewPanel, Gridview, GridviewApi, GridviewComponent, GridviewPanel, LayoutPriority, LocalSelectionTransfer, Orientation, PROPERTY_KEYS, PaneFramework, PaneTransfer, PanelTransfer, Paneview, PaneviewApi, PaneviewComponent, PaneviewPanel, SashState, Sizing, Splitview, SplitviewApi, SplitviewComponent, SplitviewPanel, Tab, WillShowOverlayLocationEvent, createComponent, createDockview, createGridview, createPaneview, createSplitview, directionToPosition, getDirectionOrientation, getGridLocation, getLocationOrientation, getPaneData, getPanelData, getRelativeLocation, indexInParent, isGridBranchNode, isGroupOptionsWithGroup, isGroupOptionsWithPanel, isPanelOptionsWithGroup, isPanelOptionsWithPanel, orthogonal, positionToDirection, toTarget };
9919
+ export { BaseGrid, ContentContainer, DefaultDockviewDeserialzier, DefaultTab, DockviewApi, DockviewComponent, CompositeDisposable as DockviewCompositeDisposable, DockviewDidDropEvent, Disposable as DockviewDisposable, Emitter as DockviewEmitter, Event as DockviewEvent, DockviewGroupPanel, DockviewGroupPanelModel, MutableDisposable as DockviewMutableDisposable, DockviewPanel, DockviewUnhandledDragOverEvent, DockviewWillDropEvent, DraggablePaneviewPanel, Gridview, GridviewApi, GridviewComponent, GridviewPanel, LayoutPriority, Orientation, PROPERTY_KEYS, PaneFramework, PaneTransfer, PanelTransfer, Paneview, PaneviewApi, PaneviewComponent, PaneviewPanel, SashState, Sizing, Splitview, SplitviewApi, SplitviewComponent, SplitviewPanel, Tab, WillShowOverlayLocationEvent, createDockview, createGridview, createPaneview, createSplitview, directionToPosition, getDirectionOrientation, getGridLocation, getLocationOrientation, getPaneData, getPanelData, getRelativeLocation, indexInParent, isGridBranchNode, isGroupOptionsWithGroup, isGroupOptionsWithPanel, isPanelOptionsWithGroup, isPanelOptionsWithPanel, orthogonal, positionToDirection, toTarget };
9847
9920
  //# sourceMappingURL=dockview-core.esm.js.map