dockview 1.0.0 → 1.0.3

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 (93) hide show
  1. package/dist/cjs/api/component.api.d.ts +8 -2
  2. package/dist/cjs/api/component.api.js +56 -0
  3. package/dist/cjs/api/component.api.js.map +1 -1
  4. package/dist/cjs/dnd/droptarget.d.ts +1 -5
  5. package/dist/cjs/dnd/droptarget.js +1 -1
  6. package/dist/cjs/dnd/droptarget.js.map +1 -1
  7. package/dist/cjs/dockview/defaultGroupPanelView.js +3 -1
  8. package/dist/cjs/dockview/defaultGroupPanelView.js.map +1 -1
  9. package/dist/cjs/events.d.ts +7 -0
  10. package/dist/cjs/events.js +22 -1
  11. package/dist/cjs/events.js.map +1 -1
  12. package/dist/cjs/gridview/baseComponentGridview.js +6 -13
  13. package/dist/cjs/gridview/baseComponentGridview.js.map +1 -1
  14. package/dist/cjs/gridview/gridview.js +0 -1
  15. package/dist/cjs/gridview/gridview.js.map +1 -1
  16. package/dist/cjs/gridview/gridviewComponent.d.ts +2 -2
  17. package/dist/cjs/gridview/gridviewComponent.js.map +1 -1
  18. package/dist/cjs/groupview/groupview.js +2 -2
  19. package/dist/cjs/groupview/groupview.js.map +1 -1
  20. package/dist/cjs/groupview/titlebar/tabsContainer.js +2 -2
  21. package/dist/cjs/groupview/titlebar/tabsContainer.js.map +1 -1
  22. package/dist/cjs/index.d.ts +0 -1
  23. package/dist/cjs/index.js +0 -1
  24. package/dist/cjs/index.js.map +1 -1
  25. package/dist/cjs/paneview/draggablePaneviewPanel.js +1 -1
  26. package/dist/cjs/paneview/draggablePaneviewPanel.js.map +1 -1
  27. package/dist/cjs/paneview/paneview.d.ts +1 -1
  28. package/dist/cjs/paneview/paneview.js +1 -4
  29. package/dist/cjs/paneview/paneview.js.map +1 -1
  30. package/dist/cjs/paneview/paneviewComponent.d.ts +6 -2
  31. package/dist/cjs/paneview/paneviewComponent.js +10 -16
  32. package/dist/cjs/paneview/paneviewComponent.js.map +1 -1
  33. package/dist/cjs/paneview/paneviewPanel.d.ts +5 -1
  34. package/dist/cjs/paneview/paneviewPanel.js +13 -1
  35. package/dist/cjs/paneview/paneviewPanel.js.map +1 -1
  36. package/dist/cjs/react/dockview/dockview.js +16 -0
  37. package/dist/cjs/react/dockview/dockview.js.map +1 -1
  38. package/dist/cjs/react/gridview/gridview.js +8 -0
  39. package/dist/cjs/react/gridview/gridview.js.map +1 -1
  40. package/dist/cjs/react/paneview/paneview.js +8 -4
  41. package/dist/cjs/react/paneview/paneview.js.map +1 -1
  42. package/dist/cjs/react/splitview/splitview.js +8 -0
  43. package/dist/cjs/react/splitview/splitview.js.map +1 -1
  44. package/dist/cjs/splitview/core/splitview.js +1 -1
  45. package/dist/cjs/splitview/core/splitview.js.map +1 -1
  46. package/dist/cjs/splitview/splitviewComponent.d.ts +11 -5
  47. package/dist/cjs/splitview/splitviewComponent.js +10 -0
  48. package/dist/cjs/splitview/splitviewComponent.js.map +1 -1
  49. package/dist/dockview.amd.js +128 -60
  50. package/dist/dockview.amd.min.js +3 -3
  51. package/dist/dockview.amd.min.noStyle.js +3 -3
  52. package/dist/dockview.amd.noStyle.js +128 -60
  53. package/dist/dockview.cjs.js +128 -60
  54. package/dist/dockview.esm.js +128 -61
  55. package/dist/dockview.esm.min.js +3 -3
  56. package/dist/dockview.js +128 -60
  57. package/dist/dockview.min.js +3 -3
  58. package/dist/dockview.min.noStyle.js +3 -3
  59. package/dist/dockview.noStyle.js +128 -60
  60. package/dist/esm/api/component.api.d.ts +8 -2
  61. package/dist/esm/api/component.api.js +24 -0
  62. package/dist/esm/dnd/droptarget.d.ts +1 -5
  63. package/dist/esm/dnd/droptarget.js +1 -1
  64. package/dist/esm/dockview/defaultGroupPanelView.js +3 -1
  65. package/dist/esm/events.d.ts +7 -0
  66. package/dist/esm/events.js +18 -0
  67. package/dist/esm/gridview/baseComponentGridview.js +7 -14
  68. package/dist/esm/gridview/gridview.js +0 -1
  69. package/dist/esm/gridview/gridviewComponent.d.ts +2 -2
  70. package/dist/esm/groupview/groupview.js +2 -2
  71. package/dist/esm/groupview/titlebar/tabsContainer.js +2 -2
  72. package/dist/esm/index.d.ts +0 -1
  73. package/dist/esm/index.js +0 -1
  74. package/dist/esm/paneview/draggablePaneviewPanel.js +1 -1
  75. package/dist/esm/paneview/paneview.d.ts +1 -1
  76. package/dist/esm/paneview/paneview.js +1 -4
  77. package/dist/esm/paneview/paneviewComponent.d.ts +6 -2
  78. package/dist/esm/paneview/paneviewComponent.js +10 -8
  79. package/dist/esm/paneview/paneviewPanel.d.ts +5 -1
  80. package/dist/esm/paneview/paneviewPanel.js +9 -1
  81. package/dist/esm/react/dockview/dockview.js +16 -0
  82. package/dist/esm/react/gridview/gridview.js +8 -0
  83. package/dist/esm/react/paneview/paneview.js +8 -4
  84. package/dist/esm/react/splitview/splitview.js +8 -0
  85. package/dist/esm/splitview/core/splitview.js +1 -1
  86. package/dist/esm/splitview/splitviewComponent.d.ts +11 -5
  87. package/dist/esm/splitview/splitviewComponent.js +9 -1
  88. package/package.json +7 -7
  89. package/dist/cjs/footnote.d.ts +0 -1
  90. package/dist/cjs/footnote.js +0 -20
  91. package/dist/cjs/footnote.js.map +0 -1
  92. package/dist/esm/footnote.d.ts +0 -1
  93. package/dist/esm/footnote.js +0 -19
package/dist/dockview.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * dockview
3
- * @version 1.0.0
3
+ * @version 1.0.3
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -61,25 +61,6 @@
61
61
  var css_248z = ".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-tab-close-icon: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>');\n --dv-tab-dirty-icon: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2z\"/></svg>');\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-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-tab-close-icon: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>');\n --dv-tab-dirty-icon: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2z\"/></svg>');\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-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-tab-close-icon: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>');\n --dv-tab-dirty-icon: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2z\"/></svg>');\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-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-activegroup-visiblepanel-tab-background-color: dodgerblue;\n --dv-tabs-and-actions-container-height: 18px;\n --dv-tabs-and-actions-container-font-size: 11px;\n}\n.dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {\n border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);\n}\n.dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {\n border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);\n}\n.actions-bar {\n text-align: right;\n width: 28px;\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n.actions-bar .actions-container {\n display: flex;\n padding: 0px;\n margin: 0px;\n justify-content: flex-end;\n}\n.actions-bar .actions-container a:active {\n -webkit-mask-size: 100% 100% !important;\n mask-size: 100% 100% !important;\n}\n.actions-bar .actions-container .close-action {\n background-color: white;\n height: 16px;\n width: 16px;\n display: block;\n -webkit-mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n margin-right: \"0.5em\";\n cursor: pointer;\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: 10000;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection {\n position: relative;\n pointer-events: none;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n background-color: var(--dv-drag-over-background-color);\n transition-duration: 0.15s;\n transition-timing-function: ease-out;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.left, .drop-target > .drop-target-dropzone > .drop-target-selection.right {\n width: 50%;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.right {\n transform: translate(100%, 0%);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.bottom {\n transform: translate(0%, 100%);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.top, .drop-target > .drop-target-dropzone > .drop-target-selection.bottom {\n height: 50%;\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-top {\n border-top: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-bottom {\n border-bottom: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-left {\n border-left: 1px solid var(--dv-drag-over-border-color);\n}\n.drop-target > .drop-target-dropzone > .drop-target-selection.small-right {\n border-right: 1px solid var(--dv-drag-over-border-color);\n}\n.custom-dragging {\n height: 24px;\n line-height: 24px;\n font-size: 11px;\n width: 100px;\n background-color: dodgerblue;\n color: ghostwhite;\n border-radius: 11px;\n position: absolute;\n padding-left: 10px;\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.active-tab .tab-action {\n background-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.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab .tab-action {\n background-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.active-tab .tab-action {\n background-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.groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab .tab-action {\n background-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.dragging {\n background-color: var(--dv-activegroup-visiblepanel-tab-background-color);\n color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.grid-view,\n.branch-node {\n height: 100%;\n width: 100%;\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 overflow: hidden;\n outline: none;\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}\n.pane-container .view .default-header > span {\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.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 .void-container {\n display: flex;\n flex-grow: 1;\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.split-view-container {\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\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}\n.split-view-container .sash-container .sash: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: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}\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.dragged {\n transform: translate3d(0px, 0px, 0px);\n /* 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.dragging .tab-action {\n background-color: var(--dv-activegroup-visiblepanel-tab-color);\n}\n.tab.active-tab > .default-tab .tab-action {\n visibility: visible;\n}\n.tab.inactive-tab > .default-tab .tab-action:not(.dirty) {\n visibility: hidden;\n}\n.tab.inactive-tab > .default-tab:hover .tab-action {\n visibility: visible;\n}\n.tab .default-tab {\n position: relative;\n height: 100%;\n display: flex;\n min-width: 80px;\n align-items: center;\n padding-left: 10px;\n white-space: nowrap;\n text-overflow: elipsis;\n}\n.tab .default-tab .tab-content {\n flex-grow: 1;\n}\n.tab .default-tab .action-container {\n text-align: right;\n width: 28px;\n display: flex;\n}\n.tab .default-tab .action-container .tab-list {\n display: flex;\n padding: 0px;\n margin: 0px;\n justify-content: flex-end;\n}\n.tab .default-tab .action-container .tab-list a:active:hover {\n -webkit-mask-size: 100% 100% !important;\n mask-size: 100% 100% !important;\n}\n.tab .default-tab .action-container .tab-list .tab-action {\n height: 16px;\n width: 16px;\n display: block;\n -webkit-mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;\n margin-right: \"0.5em\";\n}\n.tab .default-tab .action-container .tab-list .tab-action.disable-close {\n display: none;\n}\n.tab .default-tab .action-container .tab-list .tab-action.dirty:not(:hover) {\n display: block;\n -webkit-mask: var(--dv-tab-dirty-icon) 50% 50%/60% 60% no-repeat;\n mask: var(--dv-tab-dirty-icon) 50% 50%/60% 60% no-repeat;\n}\n.watermark {\n display: flex;\n width: 100%;\n}\n.watermark.has-actions .watermark-title .actions-bar {\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}";
62
62
  styleInject(css_248z);
63
63
 
64
- function runFootnote() {
65
- var _a, _b;
66
- const DOCKVIEW_SUPPRESS_WATERMARK = 'DOCKVIEW_WATERMARK_SUPPRESSED';
67
- const isTest = ((_b = (_a = window.process) === null || _a === void 0 ? void 0 : _a.env) === null || _b === void 0 ? void 0 : _b.NODE_ENV) === 'test';
68
- if (isTest) {
69
- return; // don't spam people tests
70
- }
71
- const isSuppressed = !!window[DOCKVIEW_SUPPRESS_WATERMARK];
72
- if (!isSuppressed) {
73
- console.log([
74
- 'dockview: https://github.com/mathuo/dockview for examples and documentation',
75
- 'dockview: https://www.npmjs.com/package/dockview',
76
- `dockview: To suppress this message set window.${DOCKVIEW_SUPPRESS_WATERMARK}=1 before importing the dockview package`,
77
- '',
78
- ].join('\n'));
79
- }
80
- }
81
- runFootnote();
82
-
83
64
  exports.Event = void 0;
84
65
  (function (Event) {
85
66
  Event.any = (...children) => {
@@ -150,6 +131,24 @@
150
131
  element.removeEventListener(type, listener);
151
132
  },
152
133
  };
134
+ }
135
+ class TickDelayedEvent {
136
+ constructor() {
137
+ this._onFired = new Emitter();
138
+ this.onEvent = this._onFired.event;
139
+ }
140
+ fire() {
141
+ if (this.timer) {
142
+ clearTimeout(this.timer);
143
+ }
144
+ this.timer = setTimeout(() => {
145
+ this._onFired.fire();
146
+ clearTimeout(this.timer);
147
+ });
148
+ }
149
+ dispose() {
150
+ this._onFired.dispose();
151
+ }
153
152
  }
154
153
 
155
154
  exports.Disposable = void 0;
@@ -332,6 +331,12 @@
332
331
  get onDidLayoutChange() {
333
332
  return this.component.onDidLayoutChange;
334
333
  }
334
+ get onDidAddView() {
335
+ return this.component.onDidAddView;
336
+ }
337
+ get onDidRemoveView() {
338
+ return this.component.onDidRemoveView;
339
+ }
335
340
  get orientation() {
336
341
  return this.component.orientation;
337
342
  }
@@ -394,6 +399,23 @@
394
399
  get onDidLayoutChange() {
395
400
  return this.component.onDidLayoutChange;
396
401
  }
402
+ get onDidAddView() {
403
+ return this.component.onDidAddView;
404
+ }
405
+ get onDidRemoveView() {
406
+ return this.component.onDidRemoveView;
407
+ }
408
+ get onDidDrop() {
409
+ const emitter = new Emitter();
410
+ const disposable = this.component.onDidDrop((e) => {
411
+ emitter.fire(Object.assign(Object.assign({}, e), { api: this }));
412
+ });
413
+ emitter.dispose = () => {
414
+ disposable.dispose();
415
+ emitter.dispose();
416
+ };
417
+ return emitter.event;
418
+ }
397
419
  getPanels() {
398
420
  return this.component.getPanels();
399
421
  }
@@ -916,7 +938,7 @@
916
938
  this._onDidAddView = new Emitter();
917
939
  this.onDidAddView = this._onDidAddView.event;
918
940
  this._onDidRemoveView = new Emitter();
919
- this.onDidRemoveView = this._onDidAddView.event;
941
+ this.onDidRemoveView = this._onDidRemoveView.event;
920
942
  this._startSnappingEnabled = true;
921
943
  this._endSnappingEnabled = true;
922
944
  this.resize = (index, delta, sizes = this.views.map((x) => x.size), lowPriorityIndexes, highPriorityIndexes, overloadMinDelta = Number.NEGATIVE_INFINITY, overloadMaxDelta = Number.POSITIVE_INFINITY, snapBefore, snapAfter) => {
@@ -1558,9 +1580,9 @@
1558
1580
  var _a;
1559
1581
  super();
1560
1582
  this.paneItems = [];
1583
+ this.skipAnimation = false;
1561
1584
  this._onDidChange = new Emitter();
1562
1585
  this.onDidChange = this._onDidChange.event;
1563
- this.skipAnimation = false;
1564
1586
  this._orientation = (_a = options.orientation) !== null && _a !== void 0 ? _a : exports.Orientation.VERTICAL;
1565
1587
  this.element = document.createElement('div');
1566
1588
  this.element.className = 'pane-container';
@@ -1660,9 +1682,6 @@
1660
1682
  }
1661
1683
  }
1662
1684
  layout(size, orthogonalSize) {
1663
- // for (const paneItem of this.paneItems) {
1664
- // paneItem.pane.orthogonalSize = orthogonalSize;
1665
- // }
1666
1685
  this.splitview.layout(size, orthogonalSize);
1667
1686
  }
1668
1687
  setupAnimation() {
@@ -1846,7 +1865,7 @@
1846
1865
  const state = this._state;
1847
1866
  this.removeDropTarget();
1848
1867
  if (state) {
1849
- this._onDrop.fire({ position: state, event: e });
1868
+ this._onDrop.fire({ position: state, nativeEvent: e });
1850
1869
  }
1851
1870
  },
1852
1871
  }));
@@ -2509,7 +2528,6 @@
2509
2528
  }
2510
2529
  parent.removeChild(index, sizing);
2511
2530
  if (parent.children.length === 0) {
2512
- // throw new Error('Invalid grid state');
2513
2531
  return node.view;
2514
2532
  }
2515
2533
  if (parent.children.length > 1) {
@@ -2810,7 +2828,7 @@
2810
2828
  });
2811
2829
  this.addDisposables(this.voidDropTarget.onDrop((event) => {
2812
2830
  this._onDrop.fire({
2813
- event: event.event,
2831
+ event: event.nativeEvent,
2814
2832
  index: this.tabs.length,
2815
2833
  });
2816
2834
  }), this.voidDropTarget, addDisposableListener(this.tabContainer, 'mousedown', (event) => {
@@ -2932,7 +2950,7 @@
2932
2950
  }
2933
2951
  }), tabToAdd.onDrop((event) => {
2934
2952
  this._onDrop.fire({
2935
- event: event.event,
2953
+ event: event.nativeEvent,
2936
2954
  index: this.tabs.findIndex((x) => x.value === tabToAdd),
2937
2955
  });
2938
2956
  }));
@@ -3008,9 +3026,9 @@
3008
3026
  }), this.contentContainer.onDidFocus(() => {
3009
3027
  this.accessor.doSetGroupActive(this.parent, true);
3010
3028
  }), this.contentContainer.onDidBlur(() => {
3011
- // this._activePanel?.api._ondid
3029
+ // noop
3012
3030
  }), this.dropTarget.onDrop((event) => {
3013
- this.handleDropEvent(event.event, event.position);
3031
+ this.handleDropEvent(event.nativeEvent, event.position);
3014
3032
  }));
3015
3033
  }
3016
3034
  get element() {
@@ -3428,11 +3446,8 @@
3428
3446
  this._onGridEvent.fire({ kind: exports.GroupChangeKind.LAYOUT });
3429
3447
  }));
3430
3448
  this.addDisposables((() => {
3431
- /**
3432
- * TODO Fix this relatively ugly 'merge and delay'
3433
- */
3434
- let timer;
3435
- return this.onGridEvent((event) => {
3449
+ const tickDelayedEvent = new TickDelayedEvent();
3450
+ return new CompositeDisposable(this.onGridEvent((event) => {
3436
3451
  if ([
3437
3452
  exports.GroupChangeKind.ADD_GROUP,
3438
3453
  exports.GroupChangeKind.REMOVE_GROUP,
@@ -3442,15 +3457,11 @@
3442
3457
  exports.GroupChangeKind.PANEL_ACTIVE,
3443
3458
  exports.GroupChangeKind.LAYOUT,
3444
3459
  ].includes(event.kind)) {
3445
- if (timer) {
3446
- clearTimeout(timer);
3447
- }
3448
- timer = setTimeout(() => {
3449
- this._onDidLayoutChange.fire();
3450
- clearTimeout(timer);
3451
- });
3460
+ tickDelayedEvent.fire();
3452
3461
  }
3453
- });
3462
+ }), tickDelayedEvent.onEvent(() => {
3463
+ this._onDidLayoutChange.fire();
3464
+ }), tickDelayedEvent);
3454
3465
  })());
3455
3466
  }
3456
3467
  get id() {
@@ -4456,7 +4467,9 @@
4456
4467
  this.tab.init(params);
4457
4468
  }
4458
4469
  updateParentGroup(group, isPanelVisible) {
4459
- // TODO
4470
+ var _a;
4471
+ this._content.updateParentGroup(group, isPanelVisible);
4472
+ (_a = this._tab) === null || _a === void 0 ? void 0 : _a.updateParentGroup(group, isPanelVisible);
4460
4473
  }
4461
4474
  layout(width, height) {
4462
4475
  this.content.layout(width, height);
@@ -5226,6 +5239,10 @@
5226
5239
  this.element = element;
5227
5240
  this._disposable = new MutableDisposable();
5228
5241
  this.panels = new Map();
5242
+ this._onDidAddView = new Emitter();
5243
+ this.onDidAddView = this._onDidAddView.event;
5244
+ this._onDidRemoveView = new Emitter();
5245
+ this.onDidRemoveView = this._onDidRemoveView.event;
5229
5246
  this._onDidLayoutChange = new Emitter();
5230
5247
  this.onDidLayoutChange = this._onDidLayoutChange.event;
5231
5248
  this._options = options;
@@ -5251,7 +5268,7 @@
5251
5268
  this._splitview = value;
5252
5269
  this._disposable.value = new CompositeDisposable(this._splitview.onDidSashEnd(() => {
5253
5270
  this._onDidLayoutChange.fire(undefined);
5254
- }));
5271
+ }), this._splitview.onDidAddView((e) => this._onDidAddView.fire(e)), this._splitview.onDidRemoveView((e) => this._onDidRemoveView.fire(e)));
5255
5272
  }
5256
5273
  get minimumSize() {
5257
5274
  return this.splitview.minimumSize;
@@ -5425,6 +5442,10 @@
5425
5442
  });
5426
5443
  panel.orientation = orientation;
5427
5444
  this.doAddView(panel);
5445
+ setTimeout(() => {
5446
+ // the original onDidAddView events are missed since they are fired before we can subcribe to them
5447
+ this._onDidAddView.fire(panel);
5448
+ }, 0);
5428
5449
  return { size: view.size, view: panel };
5429
5450
  }),
5430
5451
  },
@@ -5543,7 +5564,7 @@
5543
5564
  }
5544
5565
 
5545
5566
  class PaneviewPanel extends BasePanelView {
5546
- constructor(id, component, headerComponent, orientation, isExpanded) {
5567
+ constructor(id, component, headerComponent, orientation, isExpanded, isHeaderVisible) {
5547
5568
  super(id, component, new PaneviewPanelApiImpl(id));
5548
5569
  this.headerComponent = headerComponent;
5549
5570
  this._onDidChangeExpansionState = new Emitter({ replay: true });
@@ -5559,6 +5580,7 @@
5559
5580
  this.expandedSize = 0;
5560
5581
  this.api.pane = this; // TODO cannot use 'this' before 'super'
5561
5582
  this._isExpanded = isExpanded;
5583
+ this._headerVisible = isHeaderVisible;
5562
5584
  this._onDidChangeExpansionState.fire(this.isExpanded()); // initialize value
5563
5585
  this._orientation = orientation;
5564
5586
  this.element.classList.add('pane');
@@ -5626,6 +5648,13 @@
5626
5648
  this._maximumBodySize =
5627
5649
  typeof value === 'number' ? value : Number.POSITIVE_INFINITY;
5628
5650
  }
5651
+ get headerVisible() {
5652
+ return this._headerVisible;
5653
+ }
5654
+ set headerVisible(value) {
5655
+ this._headerVisible = value;
5656
+ this.header.style.display = value ? '' : 'none';
5657
+ }
5629
5658
  setVisible(isVisible) {
5630
5659
  this.api._onDidVisibilityChange.fire({ isVisible });
5631
5660
  }
@@ -5723,7 +5752,7 @@
5723
5752
 
5724
5753
  class DraggablePaneviewPanel extends PaneviewPanel {
5725
5754
  constructor(id, component, headerComponent, orientation, isExpanded, disableDnd) {
5726
- super(id, component, headerComponent, orientation, isExpanded);
5755
+ super(id, component, headerComponent, orientation, isExpanded, true);
5727
5756
  this._onDidDrop = new Emitter();
5728
5757
  this.onDidDrop = this._onDidDrop.event;
5729
5758
  if (!disableDnd) {
@@ -5846,6 +5875,10 @@
5846
5875
  this.onDidLayoutChange = this._onDidLayoutChange.event;
5847
5876
  this._onDidDrop = new Emitter();
5848
5877
  this.onDidDrop = this._onDidDrop.event;
5878
+ this._onDidAddView = new Emitter();
5879
+ this.onDidAddView = this._onDidAddView.event;
5880
+ this._onDidRemoveView = new Emitter();
5881
+ this.onDidRemoveView = this._onDidRemoveView.event;
5849
5882
  this._options = options;
5850
5883
  if (!options.components) {
5851
5884
  options.components = {};
@@ -5859,17 +5892,11 @@
5859
5892
  });
5860
5893
  this.addDisposables(this._disposable);
5861
5894
  }
5862
- get onDidAddView() {
5863
- return this._paneview.onDidAddView;
5864
- }
5865
- get onDidRemoveView() {
5866
- return this._paneview.onDidRemoveView;
5867
- }
5868
5895
  set paneview(value) {
5869
5896
  this._paneview = value;
5870
- this._disposable.value = new CompositeDisposable(this.paneview.onDidChange(() => {
5897
+ this._disposable.value = new CompositeDisposable(this._paneview.onDidChange(() => {
5871
5898
  this._onDidLayoutChange.fire(undefined);
5872
- }));
5899
+ }), this._paneview.onDidAddView((e) => this._onDidAddView.fire(e)), this._paneview.onDidRemoveView((e) => this._onDidRemoveView.fire(e)));
5873
5900
  }
5874
5901
  get paneview() {
5875
5902
  return this._paneview;
@@ -6049,6 +6076,10 @@
6049
6076
  });
6050
6077
  panel.orientation = this.paneview.orientation;
6051
6078
  });
6079
+ setTimeout(() => {
6080
+ // the original onDidAddView events are missed since they are fired before we can subcribe to them
6081
+ this._onDidAddView.fire(panel);
6082
+ }, 0);
6052
6083
  return { size: view.size, view: panel };
6053
6084
  }),
6054
6085
  },
@@ -6554,6 +6585,22 @@
6554
6585
  dockview.dispose();
6555
6586
  };
6556
6587
  }, []);
6588
+ React__namespace.useEffect(() => {
6589
+ if (!dockviewRef.current) {
6590
+ return;
6591
+ }
6592
+ dockviewRef.current.updateOptions({
6593
+ frameworkComponents: props.components,
6594
+ });
6595
+ }, [props.components]);
6596
+ React__namespace.useEffect(() => {
6597
+ if (!dockviewRef.current) {
6598
+ return;
6599
+ }
6600
+ dockviewRef.current.updateOptions({
6601
+ frameworkTabComponents: props.tabComponents,
6602
+ });
6603
+ }, [props.tabComponents]);
6557
6604
  React__namespace.useEffect(() => {
6558
6605
  if (!props.onTabContextMenu || !dockviewRef.current) {
6559
6606
  return () => {
@@ -6688,6 +6735,14 @@
6688
6735
  splitview.dispose();
6689
6736
  };
6690
6737
  }, []);
6738
+ React__namespace.useEffect(() => {
6739
+ if (!splitviewRef.current) {
6740
+ return;
6741
+ }
6742
+ splitviewRef.current.updateOptions({
6743
+ frameworkComponents: props.components,
6744
+ });
6745
+ }, [props.components]);
6691
6746
  return (React__namespace.createElement("div", { className: props.className, style: { height: '100%', width: '100%' }, ref: domRef }, portals));
6692
6747
  });
6693
6748
  SplitviewReact.displayName = 'SplitviewComponent';
@@ -6758,6 +6813,14 @@
6758
6813
  gridview.dispose();
6759
6814
  };
6760
6815
  }, []);
6816
+ React__namespace.useEffect(() => {
6817
+ if (!gridviewRef.current) {
6818
+ return;
6819
+ }
6820
+ gridviewRef.current.updateOptions({
6821
+ frameworkComponents: props.components,
6822
+ });
6823
+ }, [props.components]);
6761
6824
  return (React__namespace.createElement("div", { className: props.className, style: { height: '100%', width: '100%' }, ref: domRef }, portals));
6762
6825
  });
6763
6826
  GridviewReact.displayName = 'GridviewComponent';
@@ -6848,14 +6911,18 @@
6848
6911
  };
6849
6912
  }, []);
6850
6913
  React__namespace.useEffect(() => {
6851
- var _a;
6852
- (_a = paneviewRef.current) === null || _a === void 0 ? void 0 : _a.updateOptions({
6914
+ if (!paneviewRef.current) {
6915
+ return;
6916
+ }
6917
+ paneviewRef.current.updateOptions({
6853
6918
  frameworkComponents: props.components,
6854
6919
  });
6855
6920
  }, [props.components]);
6856
6921
  React__namespace.useEffect(() => {
6857
- var _a;
6858
- (_a = paneviewRef.current) === null || _a === void 0 ? void 0 : _a.updateOptions({
6922
+ if (!paneviewRef.current) {
6923
+ return;
6924
+ }
6925
+ paneviewRef.current.updateOptions({
6859
6926
  headerframeworkComponents: props.headerComponents,
6860
6927
  });
6861
6928
  }, [props.headerComponents]);
@@ -6914,6 +6981,7 @@
6914
6981
  exports.SplitviewPanel = SplitviewPanel;
6915
6982
  exports.SplitviewReact = SplitviewReact;
6916
6983
  exports.Tab = Tab$1;
6984
+ exports.TickDelayedEvent = TickDelayedEvent;
6917
6985
  exports.addDisposableListener = addDisposableListener;
6918
6986
  exports.addDisposableWindowListener = addDisposableWindowListener;
6919
6987
  exports.extractData = extractData;