dockview 1.4.3 → 1.5.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 (122) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/dockview/components/tab/defaultTab.d.ts +1 -0
  3. package/dist/cjs/dockview/components/tab/defaultTab.js +6 -3
  4. package/dist/cjs/dockview/components/tab/defaultTab.js.map +1 -1
  5. package/dist/cjs/dockview/components/watermark/watermark.js +3 -1
  6. package/dist/cjs/dockview/components/watermark/watermark.js.map +1 -1
  7. package/dist/cjs/dockview/defaultGroupPanelView.d.ts +1 -5
  8. package/dist/cjs/dockview/defaultGroupPanelView.js +5 -20
  9. package/dist/cjs/dockview/defaultGroupPanelView.js.map +1 -1
  10. package/dist/cjs/dockview/dockviewComponent.d.ts +1 -1
  11. package/dist/cjs/dockview/dockviewComponent.js +7 -18
  12. package/dist/cjs/dockview/dockviewComponent.js.map +1 -1
  13. package/dist/cjs/dockview/options.d.ts +5 -0
  14. package/dist/cjs/groupview/groupview.d.ts +16 -15
  15. package/dist/cjs/groupview/groupview.js +24 -33
  16. package/dist/cjs/groupview/groupview.js.map +1 -1
  17. package/dist/cjs/groupview/tab.d.ts +1 -0
  18. package/dist/cjs/groupview/tab.js +2 -1
  19. package/dist/cjs/groupview/tab.js.map +1 -1
  20. package/dist/cjs/groupview/titlebar/tabsContainer.js +1 -1
  21. package/dist/cjs/groupview/titlebar/tabsContainer.js.map +1 -1
  22. package/dist/cjs/groupview/types.d.ts +0 -4
  23. package/dist/cjs/index.d.ts +1 -0
  24. package/dist/cjs/index.js.map +1 -1
  25. package/dist/cjs/paneview/defaultPaneviewHeader.d.ts +3 -0
  26. package/dist/cjs/paneview/defaultPaneviewHeader.js +29 -5
  27. package/dist/cjs/paneview/defaultPaneviewHeader.js.map +1 -1
  28. package/dist/cjs/paneview/draggablePaneviewPanel.d.ts +3 -1
  29. package/dist/cjs/paneview/draggablePaneviewPanel.js +24 -9
  30. package/dist/cjs/paneview/draggablePaneviewPanel.js.map +1 -1
  31. package/dist/cjs/paneview/options.d.ts +2 -0
  32. package/dist/cjs/paneview/paneviewComponent.d.ts +12 -1
  33. package/dist/cjs/paneview/paneviewComponent.js +13 -1
  34. package/dist/cjs/paneview/paneviewComponent.js.map +1 -1
  35. package/dist/cjs/react/deserializer.js +13 -5
  36. package/dist/cjs/react/deserializer.js.map +1 -1
  37. package/dist/cjs/react/dockview/defaultTab.d.ts +4 -0
  38. package/dist/cjs/react/dockview/defaultTab.js +73 -0
  39. package/dist/cjs/react/dockview/defaultTab.js.map +1 -0
  40. package/dist/cjs/react/dockview/dockview.d.ts +3 -0
  41. package/dist/cjs/react/dockview/dockview.js +45 -3
  42. package/dist/cjs/react/dockview/dockview.js.map +1 -1
  43. package/dist/cjs/react/dockview/groupControlsRenderer.d.ts +43 -0
  44. package/dist/cjs/react/dockview/groupControlsRenderer.js +87 -0
  45. package/dist/cjs/react/dockview/groupControlsRenderer.js.map +1 -0
  46. package/dist/cjs/react/dockview/reactContentPart.d.ts +1 -16
  47. package/dist/cjs/react/dockview/reactContentPart.js +2 -18
  48. package/dist/cjs/react/dockview/reactContentPart.js.map +1 -1
  49. package/dist/cjs/react/dockview/reactHeaderPart.d.ts +2 -0
  50. package/dist/cjs/react/dockview/reactHeaderPart.js +4 -0
  51. package/dist/cjs/react/dockview/reactHeaderPart.js.map +1 -1
  52. package/dist/cjs/react/index.d.ts +2 -2
  53. package/dist/cjs/react/index.js +1 -2
  54. package/dist/cjs/react/index.js.map +1 -1
  55. package/dist/cjs/react/paneview/paneview.d.ts +2 -0
  56. package/dist/cjs/react/paneview/paneview.js +9 -0
  57. package/dist/cjs/react/paneview/paneview.js.map +1 -1
  58. package/dist/cjs/react/react.d.ts +1 -0
  59. package/dist/cjs/react/react.js +12 -2
  60. package/dist/cjs/react/react.js.map +1 -1
  61. package/dist/cjs/react/svg.d.ts +3 -0
  62. package/dist/cjs/react/svg.js +36 -0
  63. package/dist/cjs/react/svg.js.map +1 -0
  64. package/dist/cjs/svg.d.ts +3 -0
  65. package/dist/cjs/svg.js +44 -0
  66. package/dist/cjs/svg.js.map +1 -0
  67. package/dist/dockview.amd.js +327 -113
  68. package/dist/dockview.amd.min.js +2 -2
  69. package/dist/dockview.amd.min.noStyle.js +2 -2
  70. package/dist/dockview.amd.noStyle.js +326 -112
  71. package/dist/dockview.cjs.js +327 -113
  72. package/dist/dockview.esm.js +327 -112
  73. package/dist/dockview.esm.min.js +2 -2
  74. package/dist/dockview.js +327 -113
  75. package/dist/dockview.min.js +2 -2
  76. package/dist/dockview.min.noStyle.js +2 -2
  77. package/dist/dockview.noStyle.js +326 -112
  78. package/dist/esm/dockview/components/tab/defaultTab.d.ts +1 -0
  79. package/dist/esm/dockview/components/tab/defaultTab.js +5 -2
  80. package/dist/esm/dockview/components/watermark/watermark.js +3 -1
  81. package/dist/esm/dockview/defaultGroupPanelView.d.ts +1 -5
  82. package/dist/esm/dockview/defaultGroupPanelView.js +5 -16
  83. package/dist/esm/dockview/dockviewComponent.d.ts +1 -1
  84. package/dist/esm/dockview/dockviewComponent.js +7 -18
  85. package/dist/esm/dockview/options.d.ts +5 -0
  86. package/dist/esm/groupview/groupview.d.ts +16 -15
  87. package/dist/esm/groupview/groupview.js +23 -32
  88. package/dist/esm/groupview/tab.d.ts +1 -0
  89. package/dist/esm/groupview/tab.js +2 -1
  90. package/dist/esm/groupview/titlebar/tabsContainer.js +1 -1
  91. package/dist/esm/groupview/types.d.ts +0 -4
  92. package/dist/esm/index.d.ts +1 -0
  93. package/dist/esm/paneview/defaultPaneviewHeader.d.ts +3 -0
  94. package/dist/esm/paneview/defaultPaneviewHeader.js +29 -5
  95. package/dist/esm/paneview/draggablePaneviewPanel.d.ts +3 -1
  96. package/dist/esm/paneview/draggablePaneviewPanel.js +24 -9
  97. package/dist/esm/paneview/options.d.ts +2 -0
  98. package/dist/esm/paneview/paneviewComponent.d.ts +12 -1
  99. package/dist/esm/paneview/paneviewComponent.js +9 -1
  100. package/dist/esm/react/deserializer.js +13 -5
  101. package/dist/esm/react/dockview/defaultTab.d.ts +4 -0
  102. package/dist/esm/react/dockview/defaultTab.js +34 -0
  103. package/dist/esm/react/dockview/dockview.d.ts +3 -0
  104. package/dist/esm/react/dockview/dockview.js +30 -1
  105. package/dist/esm/react/dockview/groupControlsRenderer.d.ts +43 -0
  106. package/dist/esm/react/dockview/groupControlsRenderer.js +68 -0
  107. package/dist/esm/react/dockview/reactContentPart.d.ts +1 -16
  108. package/dist/esm/react/dockview/reactContentPart.js +2 -14
  109. package/dist/esm/react/dockview/reactHeaderPart.d.ts +2 -0
  110. package/dist/esm/react/dockview/reactHeaderPart.js +4 -0
  111. package/dist/esm/react/index.d.ts +2 -2
  112. package/dist/esm/react/index.js +1 -2
  113. package/dist/esm/react/paneview/paneview.d.ts +2 -0
  114. package/dist/esm/react/paneview/paneview.js +9 -0
  115. package/dist/esm/react/react.d.ts +1 -0
  116. package/dist/esm/react/react.js +12 -2
  117. package/dist/esm/react/svg.d.ts +3 -0
  118. package/dist/esm/react/svg.js +7 -0
  119. package/dist/esm/svg.d.ts +3 -0
  120. package/dist/esm/svg.js +31 -0
  121. package/dist/styles/dockview.css +155 -42
  122. package/package.json +2 -2
@@ -41,15 +41,21 @@ export class ReactPart {
41
41
  this.component = component;
42
42
  this.parameters = parameters;
43
43
  this.context = context;
44
+ this._initialProps = {};
44
45
  this.disposed = false;
45
46
  this.createPortal();
46
47
  }
47
48
  update(props) {
48
- var _a;
49
49
  if (this.disposed) {
50
50
  throw new Error('invalid operation: resource is already disposed');
51
51
  }
52
- (_a = this.componentInstance) === null || _a === void 0 ? void 0 : _a.update(props);
52
+ if (!this.componentInstance) {
53
+ // if the component is yet to be mounted store the props
54
+ this._initialProps = Object.assign(Object.assign({}, this._initialProps), props);
55
+ }
56
+ else {
57
+ this.componentInstance.update(props);
58
+ }
53
59
  }
54
60
  createPortal() {
55
61
  if (this.disposed) {
@@ -69,6 +75,10 @@ export class ReactPart {
69
75
  componentProps: this.parameters,
70
76
  ref: (element) => {
71
77
  this.componentInstance = element;
78
+ if (Object.keys(this._initialProps).length > 0) {
79
+ this.componentInstance.update(this._initialProps);
80
+ this._initialProps = {}; // don't keep a reference to the users object once no longer required
81
+ }
72
82
  },
73
83
  });
74
84
  const node = this.context
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ export declare const CloseButton: () => JSX.Element;
3
+ export declare const ExpandMore: () => JSX.Element;
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ export const CloseButton = () => (React.createElement("svg", { height: "11", width: "11", viewBox: "0 0 28 28", "aria-hidden": 'false', focusable: false, className: "dockview-svg" },
3
+ React.createElement("path", { d: "M2.1 27.3L0 25.2L11.55 13.65L0 2.1L2.1 0L13.65 11.55L25.2 0L27.3 2.1L15.75 13.65L27.3 25.2L25.2 27.3L13.65 15.75L2.1 27.3Z" })));
4
+ export const ExpandMore = () => {
5
+ return (React.createElement("svg", { width: "11", height: "11", viewBox: "0 0 24 15", "aria-hidden": 'false', focusable: false, className: "dockview-svg" },
6
+ React.createElement("path", { d: "M12 14.15L0 2.15L2.15 0L12 9.9L21.85 0.0499992L24 2.2L12 14.15Z" })));
7
+ };
@@ -0,0 +1,3 @@
1
+ export declare const createCloseButton: () => SVGSVGElement;
2
+ export declare const createExpandMoreButton: () => SVGSVGElement;
3
+ export declare const createChevronRightButton: () => SVGSVGElement;
@@ -0,0 +1,31 @@
1
+ const createSvgElementFromPath = (params) => {
2
+ const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
3
+ svg.setAttributeNS(null, 'height', params.height);
4
+ svg.setAttributeNS(null, 'width', params.width);
5
+ svg.setAttributeNS(null, 'viewBox', params.viewbox);
6
+ svg.setAttributeNS(null, 'aria-hidden', 'false');
7
+ svg.setAttributeNS(null, 'focusable', 'false');
8
+ svg.classList.add('dockview-svg');
9
+ const path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
10
+ path.setAttributeNS(null, 'd', params.path);
11
+ svg.appendChild(path);
12
+ return svg;
13
+ };
14
+ export const createCloseButton = () => createSvgElementFromPath({
15
+ width: '11',
16
+ height: '11',
17
+ viewbox: '0 0 28 28',
18
+ path: 'M2.1 27.3L0 25.2L11.55 13.65L0 2.1L2.1 0L13.65 11.55L25.2 0L27.3 2.1L15.75 13.65L27.3 25.2L25.2 27.3L13.65 15.75L2.1 27.3Z',
19
+ });
20
+ export const createExpandMoreButton = () => createSvgElementFromPath({
21
+ width: '11',
22
+ height: '11',
23
+ viewbox: '0 0 24 15',
24
+ path: 'M12 14.15L0 2.15L2.15 0L12 9.9L21.85 0.0499992L24 2.2L12 14.15Z',
25
+ });
26
+ export const createChevronRightButton = () => createSvgElementFromPath({
27
+ width: '11',
28
+ height: '11',
29
+ viewbox: '0 0 15 25',
30
+ path: 'M2.15 24.1L0 21.95L9.9 12.05L0 2.15L2.15 0L14.2 12.05L2.15 24.1Z',
31
+ });
@@ -1,11 +1,18 @@
1
+ .dockview-svg {
2
+ display: inline-block;
3
+ fill: currentcolor;
4
+ line-height: 1;
5
+ stroke: currentcolor;
6
+ stroke-width: 0;
7
+ }
1
8
  .dockview-theme-dark {
2
9
  --dv-paneview-active-outline-color: dodgerblue;
3
10
  --dv-tabs-and-actions-container-font-size: 13px;
4
11
  --dv-tabs-and-actions-container-height: 35px;
5
- --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>');
6
12
  --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);
7
13
  --dv-drag-over-border-color: white;
8
14
  --dv-tabs-container-scrollbar-color: #888;
15
+ --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);
9
16
  --dv-group-view-background-color: #1e1e1e;
10
17
  --dv-tabs-and-actions-container-background-color: #252526;
11
18
  --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;
@@ -25,10 +32,10 @@
25
32
  --dv-paneview-active-outline-color: dodgerblue;
26
33
  --dv-tabs-and-actions-container-font-size: 13px;
27
34
  --dv-tabs-and-actions-container-height: 35px;
28
- --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>');
29
35
  --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);
30
36
  --dv-drag-over-border-color: white;
31
37
  --dv-tabs-container-scrollbar-color: #888;
38
+ --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);
32
39
  --dv-group-view-background-color: white;
33
40
  --dv-tabs-and-actions-container-background-color: #f3f3f3;
34
41
  --dv-activegroup-visiblepanel-tab-background-color: white;
@@ -48,10 +55,10 @@
48
55
  --dv-paneview-active-outline-color: dodgerblue;
49
56
  --dv-tabs-and-actions-container-font-size: 13px;
50
57
  --dv-tabs-and-actions-container-height: 35px;
51
- --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>');
52
58
  --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);
53
59
  --dv-drag-over-border-color: white;
54
60
  --dv-tabs-container-scrollbar-color: #888;
61
+ --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);
55
62
  --dv-group-view-background-color: #1e1e1e;
56
63
  --dv-tabs-and-actions-container-background-color: #252526;
57
64
  --dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;
@@ -65,16 +72,110 @@
65
72
  --dv-inactivegroup-hiddenpanel-tab-color: #626262;
66
73
  --dv-separator-border: rgb(68, 68, 68);
67
74
  --dv-paneview-header-border-color: rgba(204, 204, 204, 0.2);
68
- --dv-activegroup-visiblepanel-tab-background-color: dodgerblue;
69
- --dv-tabs-and-actions-container-height: 18px;
75
+ --dv-tabs-and-actions-container-background-color: #2d2d30;
76
+ --dv-tabs-and-actions-container-height: 20px;
70
77
  --dv-tabs-and-actions-container-font-size: 11px;
78
+ --dv-activegroup-visiblepanel-tab-background-color: #007acc;
79
+ --dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;
80
+ --dv-activegroup-visiblepanel-tab-color: white;
81
+ --dv-activegroup-hiddenpanel-tab-color: white;
82
+ --dv-inactivegroup-visiblepanel-tab-color: white;
83
+ --dv-inactivegroup-hiddenpanel-tab-color: white;
71
84
  }
72
85
  .dockview-theme-vs .groupview.active-group > .tabs-and-actions-container {
86
+ box-sizing: content-box;
73
87
  border-bottom: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);
74
88
  }
89
+ .dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.active-tab {
90
+ border-top: 2px solid var(--dv-activegroup-visiblepanel-tab-background-color);
91
+ }
92
+ .dockview-theme-vs .groupview.active-group > .tabs-and-actions-container .tab.inactive-tab {
93
+ border-top: 2px solid var(--dv-activegroup-hiddenpanel-tab-background-color);
94
+ }
75
95
  .dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container {
96
+ box-sizing: content-box;
76
97
  border-bottom: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);
77
98
  }
99
+ .dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.active-tab {
100
+ border-top: 2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color);
101
+ }
102
+ .dockview-theme-vs .groupview.inactive-group > .tabs-and-actions-container .tab.inactive-tab {
103
+ border-top: 2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color);
104
+ }
105
+
106
+ .dockview-theme-abyss {
107
+ --dv-paneview-active-outline-color: dodgerblue;
108
+ --dv-tabs-and-actions-container-font-size: 13px;
109
+ --dv-tabs-and-actions-container-height: 35px;
110
+ --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);
111
+ --dv-drag-over-border-color: white;
112
+ --dv-tabs-container-scrollbar-color: #888;
113
+ --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);
114
+ --dv-group-view-background-color: #000c18;
115
+ --dv-tabs-and-actions-container-background-color: #1c1c2a;
116
+ --dv-activegroup-visiblepanel-tab-background-color: #000c18;
117
+ --dv-activegroup-hiddenpanel-tab-background-color: #10192c;
118
+ --dv-inactivegroup-visiblepanel-tab-background-color: #000c18;
119
+ --dv-inactivegroup-hiddenpanel-tab-background-color: #10192c;
120
+ --dv-tab-divider-color: #2b2b4a;
121
+ --dv-activegroup-visiblepanel-tab-color: white;
122
+ --dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.5);
123
+ --dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, 0.5);
124
+ --dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, 0.25);
125
+ --dv-separator-border: #2b2b4a;
126
+ --dv-paneview-header-border-color: #2b2b4a;
127
+ --dv-paneview-active-outline-color: #596f99;
128
+ }
129
+
130
+ .dockview-theme-dracula {
131
+ --dv-paneview-active-outline-color: dodgerblue;
132
+ --dv-tabs-and-actions-container-font-size: 13px;
133
+ --dv-tabs-and-actions-container-height: 35px;
134
+ --dv-drag-over-background-color: rgba(83, 89, 93, 0.5);
135
+ --dv-drag-over-border-color: white;
136
+ --dv-tabs-container-scrollbar-color: #888;
137
+ --dv-icon-hover-background-color: rgba(90, 93, 94, 0.31);
138
+ --dv-group-view-background-color: #282a36;
139
+ --dv-tabs-and-actions-container-background-color: #191a21;
140
+ --dv-activegroup-visiblepanel-tab-background-color: #282a36;
141
+ --dv-activegroup-hiddenpanel-tab-background-color: #21222c;
142
+ --dv-inactivegroup-visiblepanel-tab-background-color: #282a36;
143
+ --dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;
144
+ --dv-tab-divider-color: #191a21;
145
+ --dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);
146
+ --dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);
147
+ --dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, 0.5);
148
+ --dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, 0.5);
149
+ --dv-separator-border: #bd93f9;
150
+ --dv-paneview-header-border-color: #bd93f9;
151
+ --dv-paneview-active-outline-color: #6272a4;
152
+ }
153
+ .dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {
154
+ position: relative;
155
+ }
156
+ .dockview-theme-dracula .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {
157
+ position: absolute;
158
+ left: 0px;
159
+ top: 0px;
160
+ content: "";
161
+ width: 100%;
162
+ height: 1px;
163
+ background-color: #94527e;
164
+ z-index: 999;
165
+ }
166
+ .dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {
167
+ position: relative;
168
+ }
169
+ .dockview-theme-dracula .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab::after {
170
+ position: absolute;
171
+ left: 0px;
172
+ bottom: 0px;
173
+ content: "";
174
+ width: 100%;
175
+ height: 1px;
176
+ background-color: #5e3d5a;
177
+ z-index: 999;
178
+ }
78
179
  .actions-bar {
79
180
  text-align: right;
80
181
  width: 28px;
@@ -88,19 +189,18 @@
88
189
  margin: 0px;
89
190
  justify-content: flex-end;
90
191
  }
91
- .actions-bar .actions-container a:active {
92
- -webkit-mask-size: 100% 100% !important;
93
- mask-size: 100% 100% !important;
94
- }
95
192
  .actions-bar .actions-container .close-action {
96
- background-color: white;
97
- height: 16px;
98
- width: 16px;
99
- display: block;
100
- -webkit-mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;
101
- mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;
102
- margin-right: "0.5em";
193
+ padding: 4px;
194
+ display: flex;
195
+ align-items: center;
196
+ justify-content: center;
197
+ box-sizing: border-box;
103
198
  cursor: pointer;
199
+ color: var(--dv-activegroup-hiddenpanel-tab-color);
200
+ }
201
+ .actions-bar .actions-container .close-action:hover {
202
+ border-radius: 2px;
203
+ background-color: var(--dv-icon-hover-background-color);
104
204
  }
105
205
  .drop-target {
106
206
  position: relative;
@@ -163,30 +263,18 @@
163
263
  background-color: var(--dv-activegroup-visiblepanel-tab-background-color);
164
264
  color: var(--dv-activegroup-visiblepanel-tab-color);
165
265
  }
166
- .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab .tab-action {
167
- background-color: var(--dv-activegroup-visiblepanel-tab-color);
168
- }
169
266
  .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {
170
267
  background-color: var(--dv-activegroup-hiddenpanel-tab-background-color);
171
268
  color: var(--dv-activegroup-hiddenpanel-tab-color);
172
269
  }
173
- .groupview.active-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab .tab-action {
174
- background-color: var(--dv-activegroup-hiddenpanel-tab-color);
175
- }
176
270
  .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab {
177
271
  background-color: var(--dv-inactivegroup-visiblepanel-tab-background-color);
178
272
  color: var(--dv-inactivegroup-visiblepanel-tab-color);
179
273
  }
180
- .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.active-tab .tab-action {
181
- background-color: var(--dv-inactivegroup-visiblepanel-tab-color);
182
- }
183
274
  .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab {
184
275
  background-color: var(--dv-inactivegroup-hiddenpanel-tab-background-color);
185
276
  color: var(--dv-inactivegroup-hiddenpanel-tab-color);
186
277
  }
187
- .groupview.inactive-group > .tabs-and-actions-container > .tabs-container > .tab.inactive-tab .tab-action {
188
- background-color: var(--dv-inactivegroup-hiddenpanel-tab-color);
189
- }
190
278
 
191
279
  /**
192
280
  * when a tab is dragged we lose the above stylings because they are conditional on parent elements
@@ -246,8 +334,10 @@
246
334
  padding: 0px 8px;
247
335
  cursor: pointer;
248
336
  }
249
- .pane-container .view .default-header .collapsed {
250
- transform: rotate(-90deg);
337
+ .pane-container .view .default-header .dockview-pane-header-icon {
338
+ display: flex;
339
+ justify-content: center;
340
+ align-items: center;
251
341
  }
252
342
  .pane-container .view .default-header > span {
253
343
  padding-left: 8px;
@@ -359,6 +449,30 @@
359
449
  width: 1px;
360
450
  height: 100%;
361
451
  }
452
+ .tab .dockview-react-tab {
453
+ display: flex;
454
+ padding: 0px 8px;
455
+ align-items: center;
456
+ height: 100%;
457
+ }
458
+ .tab .dockview-react-tab .dockview-react-tab-title {
459
+ padding: 0px 8px;
460
+ flex-grow: 1;
461
+ }
462
+ .tab .dockview-react-tab .dockview-react-tab-action {
463
+ padding: 4px;
464
+ display: flex;
465
+ align-items: center;
466
+ justify-content: center;
467
+ box-sizing: border-box;
468
+ }
469
+ .tab .dockview-react-tab .dockview-react-tab-action:hover {
470
+ border-radius: 2px;
471
+ background-color: var(--dv-icon-hover-background-color);
472
+ }
473
+ .tab.inactive-tab:not(:hover) .dockview-react-tab-action {
474
+ visibility: hidden;
475
+ }
362
476
  .dockview-react-part {
363
477
  height: 100%;
364
478
  width: 100%;
@@ -488,16 +602,16 @@
488
602
  display: flex;
489
603
  min-width: 80px;
490
604
  align-items: center;
491
- padding-left: 10px;
605
+ padding: 0px 8px;
492
606
  white-space: nowrap;
493
607
  text-overflow: elipsis;
494
608
  }
495
609
  .tab .default-tab .tab-content {
610
+ padding: 0px 8px;
496
611
  flex-grow: 1;
497
612
  }
498
613
  .tab .default-tab .action-container {
499
614
  text-align: right;
500
- width: 28px;
501
615
  display: flex;
502
616
  }
503
617
  .tab .default-tab .action-container .tab-list {
@@ -506,17 +620,16 @@
506
620
  margin: 0px;
507
621
  justify-content: flex-end;
508
622
  }
509
- .tab .default-tab .action-container .tab-list a:active:hover {
510
- -webkit-mask-size: 100% 100% !important;
511
- mask-size: 100% 100% !important;
512
- }
513
623
  .tab .default-tab .action-container .tab-list .tab-action {
514
- height: 16px;
515
- width: 16px;
516
- display: block;
517
- -webkit-mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;
518
- mask: var(--dv-tab-close-icon) 50% 50%/90% 90% no-repeat;
519
- margin-right: "0.5em";
624
+ padding: 4px;
625
+ display: flex;
626
+ align-items: center;
627
+ justify-content: center;
628
+ box-sizing: border-box;
629
+ }
630
+ .tab .default-tab .action-container .tab-list .tab-action:hover {
631
+ border-radius: 2px;
632
+ background-color: var(--dv-icon-hover-background-color);
520
633
  }
521
634
  .tab .default-tab .action-container .tab-list .tab-action.disable-close {
522
635
  display: none;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dockview",
3
- "version": "1.4.3",
3
+ "version": "1.5.0",
4
4
  "description": "Zero dependency layout manager supporting tabs, grids and splitviews with ReactJS support",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "types": "./dist/cjs/index.d.ts",
@@ -74,5 +74,5 @@
74
74
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
75
75
  "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
76
76
  },
77
- "gitHead": "95c7b1a624f19b37fc8ec13531d7d6f4f54a3164"
77
+ "gitHead": "653fead20b8082daea902d949912d75680b5a2dc"
78
78
  }