dockview 1.10.1 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/cjs/dockview/defaultTab.d.ts +1 -1
  2. package/dist/cjs/dockview/defaultTab.js +11 -31
  3. package/dist/cjs/dockview/dockview.d.ts +1 -1
  4. package/dist/cjs/dockview/dockview.js +27 -47
  5. package/dist/cjs/dockview/headerActionsRenderer.d.ts +1 -1
  6. package/dist/cjs/dockview/headerActionsRenderer.js +2 -0
  7. package/dist/cjs/dockview/reactContentPart.d.ts +1 -1
  8. package/dist/cjs/dockview/reactContentPart.js +2 -0
  9. package/dist/cjs/dockview/reactHeaderPart.d.ts +1 -1
  10. package/dist/cjs/dockview/reactHeaderPart.js +2 -0
  11. package/dist/cjs/dockview/reactWatermarkPart.d.ts +1 -1
  12. package/dist/cjs/dockview/reactWatermarkPart.js +2 -0
  13. package/dist/cjs/gridview/gridview.d.ts +1 -1
  14. package/dist/cjs/gridview/gridview.js +13 -33
  15. package/dist/cjs/paneview/paneview.d.ts +1 -1
  16. package/dist/cjs/paneview/paneview.js +16 -36
  17. package/dist/cjs/paneview/view.d.ts +1 -1
  18. package/dist/cjs/react.d.ts +1 -1
  19. package/dist/cjs/react.js +16 -36
  20. package/dist/cjs/splitview/splitview.d.ts +1 -1
  21. package/dist/cjs/splitview/splitview.js +13 -33
  22. package/dist/cjs/svg.d.ts +1 -1
  23. package/dist/cjs/svg.js +7 -27
  24. package/dist/dockview.amd.js +125 -123
  25. package/dist/dockview.amd.js.map +1 -1
  26. package/dist/dockview.amd.min.js +2 -2
  27. package/dist/dockview.amd.min.js.map +1 -1
  28. package/dist/dockview.amd.min.noStyle.js +2 -2
  29. package/dist/dockview.amd.min.noStyle.js.map +1 -1
  30. package/dist/dockview.amd.noStyle.js +124 -122
  31. package/dist/dockview.amd.noStyle.js.map +1 -1
  32. package/dist/dockview.cjs.js +125 -123
  33. package/dist/dockview.cjs.js.map +1 -1
  34. package/dist/dockview.esm.js +65 -43
  35. package/dist/dockview.esm.js.map +1 -1
  36. package/dist/dockview.esm.min.js +2 -2
  37. package/dist/dockview.esm.min.js.map +1 -1
  38. package/dist/dockview.js +125 -123
  39. package/dist/dockview.js.map +1 -1
  40. package/dist/dockview.min.js +2 -2
  41. package/dist/dockview.min.js.map +1 -1
  42. package/dist/dockview.min.noStyle.js +2 -2
  43. package/dist/dockview.min.noStyle.js.map +1 -1
  44. package/dist/dockview.noStyle.js +124 -122
  45. package/dist/dockview.noStyle.js.map +1 -1
  46. package/dist/esm/dockview/defaultTab.d.ts +1 -1
  47. package/dist/esm/dockview/defaultTab.js +4 -4
  48. package/dist/esm/dockview/dockview.d.ts +1 -1
  49. package/dist/esm/dockview/dockview.js +1 -1
  50. package/dist/esm/dockview/headerActionsRenderer.d.ts +1 -1
  51. package/dist/esm/dockview/headerActionsRenderer.js +2 -0
  52. package/dist/esm/dockview/reactContentPart.d.ts +1 -1
  53. package/dist/esm/dockview/reactContentPart.js +2 -0
  54. package/dist/esm/dockview/reactHeaderPart.d.ts +1 -1
  55. package/dist/esm/dockview/reactHeaderPart.js +2 -0
  56. package/dist/esm/dockview/reactWatermarkPart.d.ts +1 -1
  57. package/dist/esm/dockview/reactWatermarkPart.js +2 -0
  58. package/dist/esm/gridview/gridview.d.ts +1 -1
  59. package/dist/esm/gridview/gridview.js +1 -1
  60. package/dist/esm/paneview/paneview.d.ts +1 -1
  61. package/dist/esm/paneview/paneview.js +1 -1
  62. package/dist/esm/paneview/view.d.ts +1 -1
  63. package/dist/esm/react.d.ts +1 -1
  64. package/dist/esm/react.js +2 -2
  65. package/dist/esm/splitview/splitview.d.ts +1 -1
  66. package/dist/esm/splitview/splitview.js +1 -1
  67. package/dist/esm/svg.d.ts +1 -1
  68. package/dist/esm/svg.js +1 -1
  69. package/dist/styles/dockview.css +849 -8
  70. package/package.json +3 -3
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * dockview
3
- * @version 1.10.1
3
+ * @version 1.11.0
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
7
- import * as React from 'react';
8
- import * as ReactDOM from 'react-dom';
7
+ import React from 'react';
8
+ import ReactDOM from 'react-dom';
9
9
 
10
10
  function styleInject(css, ref) {
11
11
  if ( ref === void 0 ) ref = {};
@@ -34,7 +34,7 @@ function styleInject(css, ref) {
34
34
  }
35
35
  }
36
36
 
37
- var css_248z = "@import \"dockview-core/dist/styles/dockview.css\";\n.tab .dockview-react-tab {\n display: flex;\n padding: 0px 8px;\n align-items: center;\n height: 100%;\n}\n.tab .dockview-react-tab .dockview-react-tab-title {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dockview-react-tab .dv-react-tab-close-btn {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dockview-react-tab .dv-react-tab-close-btn:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tab.inactive-tab:not(:hover) .dv-react-tab-close-btn {\n visibility: hidden;\n}\n.dockview-react-part {\n height: 100%;\n width: 100%;\n}";
37
+ var css_248z = ".dv-render-overlay {\n position: absolute;\n z-index: 1;\n height: 100%;\n}\n.dv-render-overlay.dv-render-overlay-float {\n z-index: 999;\n}\n\n.dv-debug .dv-render-overlay {\n outline: 1px solid red;\n outline-offset: -1;\n}\n.dockview-svg {\n display: inline-block;\n fill: currentcolor;\n line-height: 1;\n stroke: currentcolor;\n stroke-width: 0;\n}\n.dockview-theme-dark {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n}\n\n.dockview-theme-light {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: white;\n --dv-tabs-and-actions-container-background-color: #f3f3f3;\n --dv-activegroup-visiblepanel-tab-background-color: white;\n --dv-activegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-inactivegroup-visiblepanel-tab-background-color: white;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;\n --dv-tab-divider-color: white;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, 0.7);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, 0.35);\n --dv-separator-border: rgba(128, 128, 128, 0.35);\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n}\n\n.dockview-theme-vs {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #1e1e1e;\n --dv-tabs-and-actions-container-background-color: #252526;\n --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;\n --dv-tab-divider-color: #1e1e1e;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: #969696;\n --dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;\n --dv-inactivegroup-hiddenpanel-tab-color: #626262;\n --dv-separator-border: rgb(68, 68, 68);\n --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);\n --dv-tabs-and-actions-container-background-color: #2d2d30;\n --dv-tabs-and-actions-container-height: 20px;\n --dv-tabs-and-actions-container-font-size: 11px;\n --dv-activegroup-visiblepanel-tab-background-color: #007acc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: white;\n --dv-inactivegroup-visiblepanel-tab-color: white;\n --dv-inactivegroup-hiddenpanel-tab-color: white;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n box-sizing: content-box;\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {\n border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {\n border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n}\n\n.dockview-theme-abyss {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #000c18;\n --dv-tabs-and-actions-container-background-color: #1c1c2a;\n --dv-activegroup-visiblepanel-tab-background-color: #000c18;\n --dv-activegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;\n --dv-tab-divider-color: #2b2b4a;\n --dv-activegroup-visiblepanel-tab-color: white;\n --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);\n --dv-separator-border: #2b2b4a;\n --dv-paneview-header-border-color: #2b2b4a;\n --dv-paneview-active-outline-color: #596f99;\n}\n\n.dockview-theme-dracula {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-view-background-color: #282a36;\n --dv-tabs-and-actions-container-background-color: #191a21;\n --dv-activegroup-visiblepanel-tab-background-color: #282a36;\n --dv-activegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;\n --dv-tab-divider-color: #191a21;\n --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);\n --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);\n --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);\n --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);\n --dv-separator-border: #bd93f9;\n --dv-paneview-header-border-color: #bd93f9;\n --dv-paneview-active-outline-color: #6272a4;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n top: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #94527e;\n z-index: 999;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n position: relative;\n}\n.dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {\n position: absolute;\n left: 0px;\n bottom: 0px;\n content: \"\";\n width: 100%;\n height: 1px;\n background-color: #5e3d5a;\n z-index: 999;\n}\n\n.dockview-theme-replit {\n --dv-background-color: black;\n --dv-paneview-active-outline-color: dodgerblue;\n --dv-tabs-and-actions-container-font-size: 13px;\n --dv-tabs-and-actions-container-height: 35px;\n --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);\n --dv-drag-over-border-color: white;\n --dv-tabs-container-scrollbar-color: #888;\n --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);\n --dv-floating-box-shadow: 8px 8px 8px 0px rgba(83, 89, 93, 0.5);\n --dv-group-gap-size: 3px;\n --dv-group-view-background-color: #ebeced;\n --dv-tabs-and-actions-container-background-color: #fcfcfc;\n --dv-activegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-activegroup-hiddenpanel-tab-background-color: ##fcfcfc;\n --dv-inactivegroup-visiblepanel-tab-background-color: #f0f1f2;\n --dv-inactivegroup-hiddenpanel-tab-background-color: #fcfcfc;\n --dv-tab-divider-color: transparent;\n --dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-activegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-visiblepanel-tab-color: rgb(51, 51, 51);\n --dv-inactivegroup-hiddenpanel-tab-color: rgb(51, 51, 51);\n --dv-separator-border: transparent;\n --dv-paneview-header-border-color: rgb(51, 51, 51);\n --dv-background-color: #ebeced;\n --dv-separator-handle-background-color: #cfd1d3;\n --dv-separator-handle-hover-background-color: #babbbb;\n}\n.dockview-theme-replit .dv-resize-container:has(> .groupview) {\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview {\n overflow: hidden;\n border-radius: 10px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container {\n border-bottom: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab {\n margin: 4px;\n border-radius: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab .dockview-svg {\n height: 8px;\n width: 8px;\n}\n.dockview-theme-replit .groupview .tabs-and-actions-container .tab:hover {\n background-color: #e4e5e6 !important;\n}\n.dockview-theme-replit .groupview .content-container {\n background-color: #fcfcfc;\n}\n.dockview-theme-replit .groupview.active-group {\n border: 1px solid rgba(128, 128, 128, 0.35);\n}\n.dockview-theme-replit .groupview.inactive-group {\n border: 1px solid transparent;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash::after {\n content: \"\";\n height: 4px;\n width: 40px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .vertical > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash::after {\n content: \"\";\n height: 40px;\n width: 4px;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--dv-separator-handle-background-color);\n position: absolute;\n}\n.dockview-theme-replit .horizontal > .sash-container > .sash:hover::after {\n background-color: var(--dv-separator-handle-hover-background-color);\n}\n.drop-target {\n position: relative;\n}\n.drop-target > .drop-target-dropzone {\n position: absolute;\n left: 0px;\n top: 0px;\n height: 100%;\n width: 100%;\n z-index: 1000;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition: top 70ms ease-out, left 70ms ease-out, width 70ms ease-out, height 70ms ease-out, opacity 0.15s ease-out;\n will-change: transform;\n pointer-events: none;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.dv-debug .dv-resize-container .dv-resize-handle-top {\n background-color: red;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-bottom {\n background-color: green;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-left {\n background-color: yellow;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-right {\n background-color: blue;\n}\n.dv-debug .dv-resize-container .dv-resize-handle-topleft,\n.dv-debug .dv-resize-container .dv-resize-handle-topright,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,\n.dv-debug .dv-resize-container .dv-resize-handle-bottomright {\n background-color: cyan;\n}\n\n.dv-resize-container {\n position: absolute;\n z-index: 997;\n border: 1px solid var(--dv-tab-divider-color);\n box-shadow: var(--dv-floating-box-shadow);\n}\n.dv-resize-container.dv-bring-to-front {\n z-index: 998;\n}\n.dv-resize-container.dv-resize-container-dragging {\n opacity: 0.5;\n}\n.dv-resize-container .dv-resize-handle-top {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-bottom {\n height: 4px;\n width: calc(100% - 8px);\n left: 4px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: ns-resize;\n}\n.dv-resize-container .dv-resize-handle-left {\n height: calc(100% - 8px);\n width: 4px;\n left: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-right {\n height: calc(100% - 8px);\n width: 4px;\n right: -2px;\n top: 4px;\n z-index: 999;\n position: absolute;\n cursor: ew-resize;\n}\n.dv-resize-container .dv-resize-handle-topleft {\n height: 4px;\n width: 4px;\n top: -2px;\n left: -2px;\n z-index: 999;\n position: absolute;\n cursor: nw-resize;\n}\n.dv-resize-container .dv-resize-handle-topright {\n height: 4px;\n width: 4px;\n right: -2px;\n top: -2px;\n z-index: 999;\n position: absolute;\n cursor: ne-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomleft {\n height: 4px;\n width: 4px;\n left: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: sw-resize;\n}\n.dv-resize-container .dv-resize-handle-bottomright {\n height: 4px;\n width: 4px;\n right: -2px;\n bottom: -2px;\n z-index: 999;\n position: absolute;\n cursor: se-resize;\n}\n.dv-dockview {\n position: relative;\n background-color: var(--dv-group-view-background-color);\n}\n.dv-dockview .dv-watermark-container {\n position: absolute;\n top: 0px;\n left: 0px;\n height: 100%;\n width: 100%;\n z-index: 1;\n}\n.dv-dockview .dv-overlay-render-container {\n position: relative;\n}\n.dv-dockview .split-view-container.horizontal > .view-container > .view:not(:last-child) {\n border-right: var(--dv-group-gap-size) solid transparent;\n}\n.dv-dockview .split-view-container.horizontal > .view-container > .view:not(:first-child) {\n border-left: var(--dv-group-gap-size) solid transparent;\n}\n.dv-dockview .split-view-container.vertical > .view-container > .view:not(:last-child) {\n border-bottom: var(--dv-group-gap-size) solid transparent;\n}\n.dv-dockview .split-view-container.vertical > .view-container > .view:not(:first-child) {\n border-top: var(--dv-group-gap-size) solid transparent;\n}\n\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {\n background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);\n color: var(--dv-inactivegroup-visiblepanel-tab-color);\n}\n.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {\n background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);\n color: var(--dv-inactivegroup-hiddenpanel-tab-color);\n}\n\n/**\n * when a tab is dragged we lose the above stylings because they are conditional on parent elements\n * therefore we also set some stylings for the dragging event\n **/\n.tab.dv-tab-dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.groupview {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--dv-group-view-background-color);\n overflow: hidden;\n}\n.groupview:focus {\n outline: none;\n}\n.groupview.empty > .tabs-and-actions-container {\n display: none;\n}\n.groupview > .content-container {\n flex-grow: 1;\n min-height: 0;\n outline: none;\n}\n.dv-root-wrapper {\n height: 100%;\n width: 100%;\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\n}\n.pane-container {\n height: 100%;\n width: 100%;\n}\n.pane-container.animated .view {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.pane-container .view {\n overflow: hidden;\n display: flex;\n flex-direction: column;\n padding: 0px !important;\n}\n.pane-container .view:not(:first-child)::before {\n background-color: transparent !important;\n}\n.pane-container .view:not(:first-child) .pane > .pane-header {\n border-top: 1px solid var(--dv-paneview-header-border-color);\n}\n.pane-container .view .default-header {\n background-color: var(--dv-group-view-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n display: flex;\n padding: 0px 8px;\n cursor: pointer;\n}\n.pane-container .view .default-header .dockview-pane-header-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.pane-container .view .default-header > span {\n padding-left: 8px;\n flex-grow: 1;\n}\n.pane-container:first-of-type > .pane > .pane-header {\n border-top: none !important;\n}\n.pane-container .pane {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n}\n.pane-container .pane .pane-header {\n box-sizing: border-box;\n user-select: none;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-header.pane-draggable {\n cursor: pointer;\n}\n.pane-container .pane .pane-header:focus:before, .pane-container .pane .pane-header:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.pane-container .pane .pane-body {\n overflow-y: auto;\n overflow-x: hidden;\n flex-grow: 1;\n position: relative;\n outline: none;\n}\n.pane-container .pane .pane-body:focus:before, .pane-container .pane .pane-body:focus-within:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 5;\n content: \"\";\n pointer-events: none;\n outline: 1px solid;\n outline-width: -1px;\n outline-style: solid;\n outline-offset: -1px;\n outline-color: var(--dv-paneview-active-outline-color);\n}\n.dv-debug .split-view-container .sash-container .sash.enabled {\n background-color: black;\n}\n.dv-debug .split-view-container .sash-container .sash.disabled {\n background-color: orange;\n}\n.dv-debug .split-view-container .sash-container .sash.maximum {\n background-color: green;\n}\n.dv-debug .split-view-container .sash-container .sash.minimum {\n background-color: red;\n}\n\n.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n.split-view-container.dv-splitview-disabled > .sash-container > .sash {\n pointer-events: none;\n}\n.split-view-container.animation .view,\n.split-view-container.animation .sash {\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.split-view-container.horizontal {\n height: 100%;\n}\n.split-view-container.horizontal > .sash-container > .sash {\n height: 100%;\n width: 4px;\n}\n.split-view-container.horizontal > .sash-container > .sash.enabled {\n cursor: ew-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.horizontal > .sash-container > .sash.maximum {\n cursor: w-resize;\n}\n.split-view-container.horizontal > .sash-container > .sash.minimum {\n cursor: e-resize;\n}\n.split-view-container.horizontal > .view-container > .view:not(:first-child)::before {\n height: 100%;\n width: 1px;\n}\n.split-view-container.vertical {\n width: 100%;\n}\n.split-view-container.vertical > .sash-container > .sash {\n width: 100%;\n height: 4px;\n}\n.split-view-container.vertical > .sash-container > .sash.enabled {\n cursor: ns-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.disabled {\n cursor: default;\n}\n.split-view-container.vertical > .sash-container > .sash.maximum {\n cursor: n-resize;\n}\n.split-view-container.vertical > .sash-container > .sash.minimum {\n cursor: s-resize;\n}\n.split-view-container.vertical > .view-container > .view {\n width: 100%;\n}\n.split-view-container.vertical > .view-container > .view:not(:first-child)::before {\n height: 1px;\n width: 100%;\n}\n.split-view-container .sash-container {\n height: 100%;\n width: 100%;\n position: absolute;\n}\n.split-view-container .sash-container .sash {\n position: absolute;\n z-index: 99;\n outline: none;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n touch-action: none;\n}\n.split-view-container .sash-container .sash:not(.disabled):active {\n transition: background-color 0.1s ease-in-out;\n background-color: var(--dv-active-sash-color, transparent);\n}\n.split-view-container .sash-container .sash:not(.disabled):hover {\n background-color: var(--dv-active-sash-color, transparent);\n transition: background-color 0.1s ease-in-out;\n transition-delay: 0.5s;\n}\n.split-view-container .view-container {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: var(--dv-background-color);\n}\n.split-view-container .view-container .view {\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n position: absolute;\n}\n.split-view-container.separator-border .view:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-separator-border);\n}\n.dv-dragged {\n transform: translate3d(0px, 0px, 0px); /* forces tab to be drawn on a separate layer (see https://github.com/microsoft/vscode/issues/18733) */\n}\n\n.tab {\n flex-shrink: 0;\n}\n.tab:focus-within, .tab:focus {\n position: relative;\n}\n.tab:focus-within::after, .tab:focus::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0px;\n left: 0px;\n pointer-events: none;\n outline: 1px solid var(--dv-tab-divider-color) !important;\n outline-offset: -1px;\n z-index: 5;\n}\n.tab.dv-tab-dragging .dv-default-tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab .dv-default-tab .dv-default-tab-action {\n visibility: visible;\n}\n.tab.inactive-tab .dv-default-tab .dv-default-tab-action {\n visibility: hidden;\n}\n.tab.inactive-tab .dv-default-tab:hover .dv-default-tab-action {\n visibility: visible;\n}\n.tab .dv-default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding: 0px 8px;\n white-space: nowrap;\n text-overflow: elipsis;\n}\n.tab .dv-default-tab .dv-default-tab-content {\n padding: 0px 8px;\n flex-grow: 1;\n}\n.tab .dv-default-tab .dv-default-tab-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.tab .dv-default-tab .dv-default-tab-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}\n.tabs-and-actions-container {\n display: flex;\n background-color: var(--dv-tabs-and-actions-container-background-color);\n flex-shrink: 0;\n box-sizing: border-box;\n height: var(--dv-tabs-and-actions-container-height);\n font-size: var(--dv-tabs-and-actions-container-font-size);\n}\n.tabs-and-actions-container.hidden {\n display: none;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .tabs-container .tab {\n flex-grow: 1;\n}\n.tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .void-container {\n flex-grow: 0;\n}\n.tabs-and-actions-container .void-container {\n display: flex;\n flex-grow: 1;\n cursor: grab;\n}\n.tabs-and-actions-container .tabs-container {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n scrollbar-width: thin;\n /* Track */\n /* Handle */\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar {\n height: 3px;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-track {\n background: transparent;\n}\n.tabs-and-actions-container .tabs-container::-webkit-scrollbar-thumb {\n background: var(--dv-tabs-container-scrollbar-color);\n}\n.tabs-and-actions-container .tabs-container .tab {\n -webkit-user-drag: element;\n outline: none;\n min-width: 75px;\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n}\n.tabs-and-actions-container .tabs-container .tab:not(:first-child)::before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 5;\n pointer-events: none;\n background-color: var(--dv-tab-divider-color);\n width: 1px;\n height: 100%;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-container {\n display: none;\n}\n.watermark .watermark-title {\n height: 35px;\n width: 100%;\n display: flex;\n}\n.watermark .watermark-content {\n flex-grow: 1;\n}\n.watermark .actions-container {\n display: flex;\n align-items: center;\n padding: 0px 8px;\n}\n.watermark .actions-container .close-action {\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n color: var(--dv-activegroup-hiddenpanel-tab-color);\n}\n.watermark .actions-container .close-action:hover {\n border-radius: 2px;\n background-color: var(--dv-icon-hover-background-color);\n}";
38
38
  styleInject(css_248z);
39
39
 
40
40
  class TransferObject {
@@ -4266,6 +4266,7 @@ class DockviewGroupPanelModel extends CompositeDisposable {
4266
4266
  this._width = 0;
4267
4267
  this._height = 0;
4268
4268
  this._panels = [];
4269
+ this._panelDisposables = new Map();
4269
4270
  this._onMove = new Emitter();
4270
4271
  this.onMove = this._onMove.event;
4271
4272
  this._onDidDrop = new Emitter();
@@ -4280,6 +4281,10 @@ class DockviewGroupPanelModel extends CompositeDisposable {
4280
4281
  this.onGroupDragStart = this._onGroupDragStart.event;
4281
4282
  this._onDidAddPanel = new Emitter();
4282
4283
  this.onDidAddPanel = this._onDidAddPanel.event;
4284
+ this._onDidPanelTitleChange = new Emitter();
4285
+ this.onDidPanelTitleChange = this._onDidPanelTitleChange.event;
4286
+ this._onDidPanelParametersChange = new Emitter();
4287
+ this.onDidPanelParametersChange = this._onDidPanelParametersChange.event;
4283
4288
  this._onDidRemovePanel = new Emitter();
4284
4289
  this.onDidRemovePanel = this._onDidRemovePanel.event;
4285
4290
  this._onDidActivePanelChange = new Emitter();
@@ -4568,6 +4573,11 @@ class DockviewGroupPanelModel extends CompositeDisposable {
4568
4573
  if (this.mostRecentlyUsed.includes(panel)) {
4569
4574
  this.mostRecentlyUsed.splice(this.mostRecentlyUsed.indexOf(panel), 1);
4570
4575
  }
4576
+ const disposable = this._panelDisposables.get(panel.id);
4577
+ if (disposable) {
4578
+ disposable.dispose();
4579
+ this._panelDisposables.delete(panel.id);
4580
+ }
4571
4581
  this._onDidRemovePanel.fire({ panel });
4572
4582
  }
4573
4583
  doAddPanel(panel, index = this.panels.length, options = { skipSetActive: false }) {
@@ -4585,6 +4595,7 @@ class DockviewGroupPanelModel extends CompositeDisposable {
4585
4595
  }
4586
4596
  this.updateMru(panel);
4587
4597
  this.panels.splice(index, 0, panel);
4598
+ this._panelDisposables.set(panel.id, new CompositeDisposable(panel.api.onDidTitleChange((event) => this._onDidPanelTitleChange.fire(event)), panel.api.onDidParametersChange((event) => this._onDidPanelParametersChange.fire(event))));
4588
4599
  this._onDidAddPanel.fire({ panel });
4589
4600
  }
4590
4601
  doSetActivePanel(panel) {
@@ -5008,14 +5019,16 @@ class PanelApiImpl extends CompositeDisposable {
5008
5019
  get height() {
5009
5020
  return this._height;
5010
5021
  }
5011
- constructor(id) {
5022
+ constructor(id, component) {
5012
5023
  super();
5013
5024
  this.id = id;
5025
+ this.component = component;
5014
5026
  this._isFocused = false;
5015
5027
  this._isActive = false;
5016
5028
  this._isVisible = true;
5017
5029
  this._width = 0;
5018
5030
  this._height = 0;
5031
+ this._parameters = {};
5019
5032
  this.panelUpdatesDisposable = new MutableDisposable();
5020
5033
  this._onDidDimensionChange = new Emitter();
5021
5034
  this.onDidDimensionsChange = this._onDidDimensionChange.event;
@@ -5033,8 +5046,8 @@ class PanelApiImpl extends CompositeDisposable {
5033
5046
  this.onDidActiveChange = this._onDidActiveChange.event;
5034
5047
  this._onActiveChange = new Emitter();
5035
5048
  this.onActiveChange = this._onActiveChange.event;
5036
- this._onUpdateParameters = new Emitter();
5037
- this.onUpdateParameters = this._onUpdateParameters.event;
5049
+ this._onDidParametersChange = new Emitter();
5050
+ this.onDidParametersChange = this._onDidParametersChange.event;
5038
5051
  this.addDisposables(this.onDidFocusChange((event) => {
5039
5052
  this._isFocused = event.isFocused;
5040
5053
  }), this.onDidActiveChange((event) => {
@@ -5044,10 +5057,14 @@ class PanelApiImpl extends CompositeDisposable {
5044
5057
  }), this.onDidDimensionsChange((event) => {
5045
5058
  this._width = event.width;
5046
5059
  this._height = event.height;
5047
- }), this.panelUpdatesDisposable, this._onDidDimensionChange, this._onDidChangeFocus, this._onDidVisibilityChange, this._onDidActiveChange, this._onWillFocus, this._onActiveChange, this._onUpdateParameters, this._onWillFocus, this._onWillVisibilityChange, this._onUpdateParameters);
5060
+ }), this.panelUpdatesDisposable, this._onDidDimensionChange, this._onDidChangeFocus, this._onDidVisibilityChange, this._onDidActiveChange, this._onWillFocus, this._onActiveChange, this._onWillFocus, this._onWillVisibilityChange, this._onDidParametersChange);
5061
+ }
5062
+ getParameters() {
5063
+ return this._parameters;
5048
5064
  }
5049
5065
  initialize(panel) {
5050
- this.panelUpdatesDisposable.value = this._onUpdateParameters.event((parameters) => {
5066
+ this.panelUpdatesDisposable.value = this._onDidParametersChange.event((parameters) => {
5067
+ this._parameters = parameters;
5051
5068
  panel.update({
5052
5069
  params: parameters,
5053
5070
  });
@@ -5060,14 +5077,14 @@ class PanelApiImpl extends CompositeDisposable {
5060
5077
  this._onActiveChange.fire();
5061
5078
  }
5062
5079
  updateParameters(parameters) {
5063
- this._onUpdateParameters.fire(parameters);
5080
+ this._onDidParametersChange.fire(parameters);
5064
5081
  }
5065
5082
  }
5066
5083
 
5067
5084
  class SplitviewPanelApiImpl extends PanelApiImpl {
5068
5085
  //
5069
- constructor(id) {
5070
- super(id);
5086
+ constructor(id, component) {
5087
+ super(id, component);
5071
5088
  this._onDidConstraintsChangeInternal = new Emitter();
5072
5089
  this.onDidConstraintsChangeInternal = this._onDidConstraintsChangeInternal.event;
5073
5090
  //
@@ -5092,8 +5109,8 @@ class PaneviewPanelApiImpl extends SplitviewPanelApiImpl {
5092
5109
  set pane(pane) {
5093
5110
  this._pane = pane;
5094
5111
  }
5095
- constructor(id) {
5096
- super(id);
5112
+ constructor(id, component) {
5113
+ super(id, component);
5097
5114
  this._onDidExpansionChange = new Emitter({
5098
5115
  replay: true,
5099
5116
  });
@@ -5252,7 +5269,7 @@ class PaneviewPanel extends BasePanelView {
5252
5269
  this.header.style.display = value ? '' : 'none';
5253
5270
  }
5254
5271
  constructor(id, component, headerComponent, orientation, isExpanded, isHeaderVisible) {
5255
- super(id, component, new PaneviewPanelApiImpl(id));
5272
+ super(id, component, new PaneviewPanelApiImpl(id, component));
5256
5273
  this.headerComponent = headerComponent;
5257
5274
  this._onDidChangeExpansionState = new Emitter({ replay: true });
5258
5275
  this.onDidChangeExpansionState = this._onDidChangeExpansionState.event;
@@ -5483,8 +5500,8 @@ class DraggablePaneviewPanel extends PaneviewPanel {
5483
5500
  }
5484
5501
 
5485
5502
  class GridviewPanelApiImpl extends PanelApiImpl {
5486
- constructor(id, panel) {
5487
- super(id);
5503
+ constructor(id, component, panel) {
5504
+ super(id, component);
5488
5505
  this._onDidConstraintsChangeInternal = new Emitter();
5489
5506
  this.onDidConstraintsChangeInternal = this._onDidConstraintsChangeInternal.event;
5490
5507
  this._onDidConstraintsChange = new Emitter();
@@ -5555,7 +5572,7 @@ class GridviewPanel extends BasePanelView {
5555
5572
  return this.api.isActive;
5556
5573
  }
5557
5574
  constructor(id, component, options, api) {
5558
- super(id, component, api !== null && api !== void 0 ? api : new GridviewPanelApiImpl(id));
5575
+ super(id, component, api !== null && api !== void 0 ? api : new GridviewPanelApiImpl(id, component));
5559
5576
  this._evaluatedMinimumWidth = 0;
5560
5577
  this._evaluatedMaximumWidth = Number.MAX_SAFE_INTEGER;
5561
5578
  this._evaluatedMinimumHeight = 0;
@@ -5663,7 +5680,7 @@ class DockviewGroupPanelApiImpl extends GridviewPanelApiImpl {
5663
5680
  return this._group.model.location;
5664
5681
  }
5665
5682
  constructor(id, accessor) {
5666
- super(id);
5683
+ super(id, '__dockviewgroup__');
5667
5684
  this.accessor = accessor;
5668
5685
  this._onDidLocationChange = new Emitter();
5669
5686
  this.onDidLocationChange = this._onDidLocationChange.event;
@@ -5837,8 +5854,11 @@ class DockviewPanelApiImpl extends GridviewPanelApiImpl {
5837
5854
  get group() {
5838
5855
  return this._group;
5839
5856
  }
5840
- constructor(panel, group, accessor) {
5841
- super(panel.id);
5857
+ get tabComponent() {
5858
+ return this._tabComponent;
5859
+ }
5860
+ constructor(panel, group, accessor, component, tabComponent) {
5861
+ super(panel.id, component);
5842
5862
  this.panel = panel;
5843
5863
  this.accessor = accessor;
5844
5864
  this._onDidTitleChange = new Emitter();
@@ -5852,6 +5872,7 @@ class DockviewPanelApiImpl extends GridviewPanelApiImpl {
5852
5872
  this._onDidLocationChange = new Emitter();
5853
5873
  this.onDidLocationChange = this._onDidLocationChange.event;
5854
5874
  this.groupEventsDisposable = new MutableDisposable();
5875
+ this._tabComponent = tabComponent;
5855
5876
  this.initialize(panel);
5856
5877
  this._group = group;
5857
5878
  this.setupGroupEventListeners();
@@ -5934,7 +5955,7 @@ class DockviewPanel extends CompositeDisposable {
5934
5955
  var _a;
5935
5956
  return (_a = this._renderer) !== null && _a !== void 0 ? _a : this.accessor.renderer;
5936
5957
  }
5937
- constructor(id, accessor, containerApi, group, view, options) {
5958
+ constructor(id, component, tabComponent, accessor, containerApi, group, view, options) {
5938
5959
  super();
5939
5960
  this.id = id;
5940
5961
  this.accessor = accessor;
@@ -5942,7 +5963,7 @@ class DockviewPanel extends CompositeDisposable {
5942
5963
  this.view = view;
5943
5964
  this._renderer = options.renderer;
5944
5965
  this._group = group;
5945
- this.api = new DockviewPanelApiImpl(this, this._group, accessor);
5966
+ this.api = new DockviewPanelApiImpl(this, this._group, accessor, component, tabComponent);
5946
5967
  this.addDisposables(this.api.onActiveChange(() => {
5947
5968
  accessor.setActivePanel(this);
5948
5969
  }), this.api.onDidSizeChange((event) => {
@@ -6110,27 +6131,18 @@ class DefaultTab extends CompositeDisposable {
6110
6131
  //
6111
6132
  this.params = {};
6112
6133
  this._element = document.createElement('div');
6113
- this._element.className = 'default-tab';
6134
+ this._element.className = 'dv-default-tab';
6114
6135
  //
6115
6136
  this._content = document.createElement('div');
6116
- this._content.className = 'tab-content';
6117
- //
6118
- this._actionContainer = document.createElement('div');
6119
- this._actionContainer.className = 'action-container';
6120
- //
6121
- this._list = document.createElement('ul');
6122
- this._list.className = 'tab-list';
6123
- //
6137
+ this._content.className = 'dv-default-tab-content';
6124
6138
  this.action = document.createElement('div');
6125
- this.action.className = 'tab-action';
6139
+ this.action.className = 'dv-default-tab-action';
6126
6140
  this.action.appendChild(createCloseButton());
6127
6141
  //
6128
6142
  this._element.appendChild(this._content);
6129
- this._element.appendChild(this._actionContainer);
6130
- this._actionContainer.appendChild(this._list);
6131
- this._list.appendChild(this.action);
6143
+ this._element.appendChild(this.action);
6132
6144
  //
6133
- this.addDisposables(addDisposableListener(this._actionContainer, 'mousedown', (ev) => {
6145
+ this.addDisposables(addDisposableListener(this.action, 'mousedown', (ev) => {
6134
6146
  ev.preventDefault();
6135
6147
  }));
6136
6148
  this.render();
@@ -6237,7 +6249,7 @@ class DefaultDockviewDeserialzier {
6237
6249
  ? (_b = viewData.tab) === null || _b === void 0 ? void 0 : _b.id
6238
6250
  : panelData.tabComponent;
6239
6251
  const view = new DockviewPanelModel(this.accessor, panelId, contentComponent, tabComponent);
6240
- const panel = new DockviewPanel(panelId, this.accessor, new DockviewApi(this.accessor), group, view, {
6252
+ const panel = new DockviewPanel(panelId, contentComponent, tabComponent, this.accessor, new DockviewApi(this.accessor), group, view, {
6241
6253
  renderer: panelData.renderer,
6242
6254
  });
6243
6255
  panel.init({
@@ -8224,6 +8236,8 @@ class DockviewComponent extends BaseGrid {
8224
8236
  if (this._onDidActivePanelChange.value !== event.panel) {
8225
8237
  this._onDidActivePanelChange.fire(event.panel);
8226
8238
  }
8239
+ }), Event.any(view.model.onDidPanelTitleChange, view.model.onDidPanelParametersChange)(() => {
8240
+ this._bufferOnDidLayoutChange.fire();
8227
8241
  }));
8228
8242
  this._groups.set(view.id, { value: view, disposable });
8229
8243
  }
@@ -8236,7 +8250,7 @@ class DockviewComponent extends BaseGrid {
8236
8250
  const contentComponent = options.component;
8237
8251
  const tabComponent = (_a = options.tabComponent) !== null && _a !== void 0 ? _a : this.options.defaultTabComponent;
8238
8252
  const view = new DockviewPanelModel(this, options.id, contentComponent, tabComponent);
8239
- const panel = new DockviewPanel(options.id, this, this._api, group, view, { renderer: options.renderer });
8253
+ const panel = new DockviewPanel(options.id, contentComponent, tabComponent, this, this._api, group, view, { renderer: options.renderer });
8240
8254
  panel.init({
8241
8255
  title: (_b = options.title) !== null && _b !== void 0 ? _b : options.id,
8242
8256
  params: (_c = options === null || options === void 0 ? void 0 : options.params) !== null && _c !== void 0 ? _c : {},
@@ -9151,7 +9165,7 @@ class SplitviewPanel extends BasePanelView {
9151
9165
  return this._snap;
9152
9166
  }
9153
9167
  constructor(id, componentName) {
9154
- super(id, componentName, new SplitviewPanelApiImpl(id));
9168
+ super(id, componentName, new SplitviewPanelApiImpl(id, componentName));
9155
9169
  this._evaluatedMinimumSize = 0;
9156
9170
  this._evaluatedMaximumSize = Number.POSITIVE_INFINITY;
9157
9171
  this._minimumSize = 0;
@@ -9366,6 +9380,8 @@ class ReactPanelContentPart {
9366
9380
  this.onDidBlur = this._onDidBlur.event;
9367
9381
  this._element = document.createElement('div');
9368
9382
  this._element.className = 'dockview-react-part';
9383
+ this._element.style.height = '100%';
9384
+ this._element.style.width = '100%';
9369
9385
  }
9370
9386
  focus() {
9371
9387
  // TODO
@@ -9402,6 +9418,8 @@ class ReactPanelHeaderPart {
9402
9418
  this.reactPortalStore = reactPortalStore;
9403
9419
  this._element = document.createElement('div');
9404
9420
  this._element.className = 'dockview-react-part';
9421
+ this._element.style.height = '100%';
9422
+ this._element.style.width = '100%';
9405
9423
  }
9406
9424
  focus() {
9407
9425
  //noop
@@ -9436,6 +9454,8 @@ class ReactWatermarkPart {
9436
9454
  this.reactPortalStore = reactPortalStore;
9437
9455
  this._element = document.createElement('div');
9438
9456
  this._element.className = 'dockview-react-part';
9457
+ this._element.style.height = '100%';
9458
+ this._element.style.width = '100%';
9439
9459
  }
9440
9460
  init(parameters) {
9441
9461
  this.part = new ReactPart(this.element, this.reactPortalStore, this.component, {
@@ -9487,6 +9507,8 @@ class ReactHeaderActionsRendererPart {
9487
9507
  this.mutableDisposable = new MutableDisposable();
9488
9508
  this._element = document.createElement('div');
9489
9509
  this._element.className = 'dockview-react-part';
9510
+ this._element.style.height = '100%';
9511
+ this._element.style.width = '100%';
9490
9512
  }
9491
9513
  focus() {
9492
9514
  // TODO
@@ -9827,9 +9849,9 @@ const DockviewDefaultTab = (_a) => {
9827
9849
  rest.onClick(event);
9828
9850
  }
9829
9851
  }, [api, rest.onClick]);
9830
- return (React.createElement("div", Object.assign({ "data-testid": "dockview-default-tab" }, rest, { onClick: onClick, className: "dockview-react-tab" }),
9831
- React.createElement("span", { className: "dockview-react-tab-title" }, api.title),
9832
- !hideClose && (React.createElement("div", { className: "dv-react-tab-close-btn", onMouseDown: onMouseDown, onClick: onClose },
9852
+ return (React.createElement("div", Object.assign({ "data-testid": "dockview-dv-default-tab" }, rest, { onClick: onClick, className: "dv-default-tab" }),
9853
+ React.createElement("span", { className: "dv-default-tab-content" }, api.title),
9854
+ !hideClose && (React.createElement("div", { className: "dv-default-tab-action", onMouseDown: onMouseDown, onClick: onClose },
9833
9855
  React.createElement(CloseButton, null)))));
9834
9856
  };
9835
9857