UNPKG

15.7 kBCSSView Raw
1/*-----------------------------------------------------------------------------
2| Variables
3|----------------------------------------------------------------------------*/
4
5:root {
6 /* These need to be root because tabs get attached to the body during dragging. */
7 --theia-private-horizontal-tab-height: 28.5px;
8 --theia-private-horizontal-tab-scrollbar-rail-height: 7px;
9 --theia-private-horizontal-tab-scrollbar-height: 5px;
10 --theia-tabbar-toolbar-z-index: 1001;
11 --theia-toolbar-active-transform-scale: 1.272019649;
12 --theia-horizontal-toolbar-height: calc(var(--theia-private-horizontal-tab-height) + var(--theia-private-horizontal-tab-scrollbar-rail-height) / 2);
13 --theia-dragover-tab-border-width: 2px;
14}
15
16/*-----------------------------------------------------------------------------
17| General tab bar style
18|----------------------------------------------------------------------------*/
19
20.p-TabBar {
21 font-size: var(--theia-ui-font-size1);
22}
23
24.p-TabBar[data-orientation='horizontal'] {
25 min-height: var(--theia-horizontal-toolbar-height);
26}
27
28.p-TabBar .p-TabBar-content {
29 cursor: pointer;
30}
31
32.p-TabBar[data-orientation='horizontal'] .p-TabBar-tab {
33 flex: none;
34 height: var(--theia-horizontal-toolbar-height);
35 min-width: 35px;
36 line-height: var(--theia-private-horizontal-tab-height);
37 padding: 0px 8px;
38 align-items: center;
39 overflow: hidden;
40}
41
42.p-TabBar[data-orientation='vertical'] .p-TabBar-tab {
43 border-top: var(--theia-dragover-tab-border-width) solid transparent !important;
44 border-bottom: var(--theia-dragover-tab-border-width) solid transparent !important;
45}
46
47.p-TabBar[data-orientation='vertical'] .p-TabBar-tab.drop-target-top {
48 border-top-color: var(--theia-activityBar-activeBorder) !important;
49}
50
51.p-TabBar[data-orientation='vertical'] .p-TabBar-tab.drop-target-bottom {
52 border-bottom-color: var(--theia-activityBar-activeBorder) !important;
53}
54
55.p-TabBar[data-orientation='horizontal'] .p-TabBar-tab .theia-tab-icon-label,
56.p-TabBar-tab.p-mod-drag-image .theia-tab-icon-label {
57 display: flex;
58 line-height: var(--theia-content-line-height);
59 align-items: center;
60}
61
62
63/*-----------------------------------------------------------------------------
64| Tabs in the center area (main and bottom)
65|----------------------------------------------------------------------------*/
66
67#theia-main-content-panel,
68#theia-main-content-panel .p-Widget.p-DockPanel-widget {
69 background: var(--theia-editor-background);
70}
71
72#theia-main-content-panel .p-DockPanel-handle[data-orientation='horizontal'] {
73 border-left: var(--theia-border-width) solid var(--theia-editorGroup-border);
74}
75
76#theia-main-content-panel .p-DockPanel-handle[data-orientation='vertical'] + .p-TabBar {
77 border-top: var(--theia-border-width) solid var(--theia-editorGroup-border);
78}
79
80#theia-main-content-panel .p-TabBar .p-TabBar-tab {
81 border-right: 1px solid var(--theia-tab-border);
82 border-top: 1px solid transparent;
83 border-bottom: 1px solid transparent;
84 background: var(--theia-tab-inactiveBackground);
85 color: var(--theia-tab-inactiveForeground);
86}
87
88#theia-main-content-panel .p-TabBar:not(.theia-tabBar-active) .p-TabBar-tab {
89 color: var(--theia-tab-unfocusedInactiveForeground);
90}
91
92.p-TabBar.theia-app-centers {
93 background: var(--theia-editorGroupHeader-tabsBackground);
94}
95
96.p-TabBar.theia-app-centers::after {
97 content: '';
98 position: absolute;
99 bottom: 0;
100 left: 0;
101 pointer-events: none;
102 background-color: var(--theia-editorGroupHeader-tabsBorder);
103 width: 100%;
104 height: 1px;
105}
106
107.p-TabBar.theia-app-centers .p-TabBar-tabIcon,
108.p-TabBar.theia-app-centers .p-TabBar-tabLabel,
109.p-TabBar.theia-app-centers .p-TabBar-tabLabelDetails,
110.p-TabBar.theia-app-centers .p-TabBar-tabCloseIcon {
111 display: inline-block;
112}
113
114.p-TabBar.theia-app-centers .p-TabBar-tabLabelDetails {
115 margin-left: 5px;
116 color: var(--theia-descriptionForeground);
117 flex: 1 1 auto;
118 overflow: hidden;
119 white-space: nowrap;
120}
121
122.p-TabBar.theia-app-centers .p-TabBar-tabLabelWrapper {
123 display: flex;
124}
125
126.p-TabBar-tab-secondary-label {
127 color: var(--theia-settings-headerForeground);
128 cursor: pointer;
129 font-size: var(--theia-ui-font-size0);
130 margin-left: 5px;
131 text-decoration-line: underline;
132
133 -webkit-appearance: none;
134 -moz-appearance: none;
135 background-image: linear-gradient(45deg, transparent 50%, var(--theia-icon-foreground) 50%), linear-gradient(135deg, var(--theia-icon-foreground) 50%, transparent 50%);
136 background-position: calc(100% - 6px) 8px, calc(100% - 2px) 8px, 100% 0;
137 background-size: 4px 5px;
138 background-repeat: no-repeat;
139 padding: 2px 14px 0 0;
140}
141
142.p-TabBar .p-TabBar-tabIcon,
143.p-TabBar-tab.p-mod-drag-image .p-TabBar-tabIcon {
144 width: 15px;
145 line-height: 1.7;
146 font-size: 12px;
147 text-align: center;
148 background-repeat: no-repeat;
149}
150
151/* common icons */
152.p-TabBar.theia-app-centers .p-TabBar-tabIcon,
153.p-TabBar-tab.p-mod-drag-image .p-TabBar-tabIcon {
154 min-height: 14px;
155 background-size: 13px;
156 background-position-y: 3px;
157 background: var(--theia-icon-foreground);
158 -webkit-mask-repeat: no-repeat;
159 -webkit-mask-size: auto 13px;
160 mask-repeat: no-repeat;
161 mask-size: auto 13px;
162 padding-right: 8px;
163}
164
165/* codicons */
166.p-TabBar.theia-app-centers .p-TabBar-tabIcon.codicon,
167.p-TabBar-tab.p-mod-drag-image .p-TabBar-tabIcon.codicon {
168 background: none;
169}
170
171.p-TabBar-tabLock:after {
172 content: "\ebe7";
173 opacity: 0.75;
174 margin-left: 4px;
175 color: inherit;
176 font-family: codicon;
177 font-size: 16px;
178 font-weight: normal;
179 display: inline-block;
180 vertical-align: top;
181}
182
183/* file icons */
184.p-TabBar[data-orientation='horizontal'] .p-TabBar-tabIcon.file-icon,
185.p-TabBar-tab.p-mod-drag-image .p-TabBar-tabIcon.file-icon {
186 background: none;
187 padding-bottom: 0px;
188 min-height: 20px;
189}
190
191.p-TabBar[data-orientation='horizontal'] .p-TabBar-tabIcon.fa,
192.p-TabBar-tab.p-mod-drag-image .p-TabBar-tabIcon.fa {
193 background: none;
194 min-height: 0;
195 height: inherit;
196}
197
198.p-TabBar.theia-app-centers .p-TabBar-tab.p-mod-closable > .p-TabBar-tabCloseIcon,
199.p-TabBar.theia-app-centers .p-TabBar-tab.theia-mod-pinned > .p-TabBar-tabCloseIcon {
200 padding: 2px;
201 margin-top: 2px;
202 margin-left: 4px;
203 height: var(--theia-icon-size);
204 width: var(--theia-icon-size);
205 font: normal normal normal 16px/1 codicon;
206 display: inline-block;
207 text-decoration: none;
208 text-rendering: auto;
209 text-align: center;
210 -webkit-font-smoothing: antialiased;
211 -moz-osx-font-smoothing: grayscale;
212 user-select: none;
213 -webkit-user-select: none;
214 -ms-user-select: none;
215}
216
217.p-TabBar.theia-app-centers.dynamic-tabs .p-TabBar-tab.p-mod-closable > .p-TabBar-tabCloseIcon,
218.p-TabBar.theia-app-centers.dynamic-tabs .p-TabBar-tab.theia-mod-pinned > .p-TabBar-tabCloseIcon {
219 /* hide close icon for dynamic tabs strategy*/
220 display: none;
221}
222
223.p-TabBar.theia-app-centers .p-TabBar-tab.p-mod-current > .p-TabBar-tabCloseIcon,
224.p-TabBar.theia-app-centers .p-TabBar-tab:hover.p-mod-closable > .p-TabBar-tabCloseIcon,
225.p-TabBar.theia-app-centers .p-TabBar-tab:hover.theia-mod-pinned > .p-TabBar-tabCloseIcon {
226 display: inline-block;
227}
228
229.p-TabBar.theia-app-centers .p-TabBar-tab:hover.p-mod-closable > .p-TabBar-tabCloseIcon {
230 border-radius: 5px;
231 background-color: rgba(50%, 50%, 50%, 0.2);
232}
233
234.p-TabBar.theia-app-centers .p-TabBar-tab.p-mod-closable,
235.p-TabBar.theia-app-centers .p-TabBar-tab.theia-mod-pinned {
236 padding-right: 4px;
237}
238
239.p-TabBar.theia-app-centers .p-TabBar-tab.p-mod-closable:not(.theia-mod-dirty):hover > .p-TabBar-tabCloseIcon:before,
240.p-TabBar.theia-app-centers .p-TabBar-tab.p-mod-closable:not(.theia-mod-dirty).p-TabBar-tab.p-mod-current > .p-TabBar-tabCloseIcon:before,
241.p-TabBar.theia-app-centers .p-TabBar-tab.p-mod-closable.theia-mod-dirty > .p-TabBar-tabCloseIcon:hover:before {
242 content: "\ea76";
243}
244
245.p-TabBar.theia-app-centers .p-TabBar-tab.p-mod-closable.theia-mod-dirty > .p-TabBar-tabCloseIcon:before {
246 content: "\ea71";
247}
248
249.p-TabBar.theia-app-centers .p-TabBar-tab.theia-mod-pinned > .p-TabBar-tabCloseIcon:before {
250 content: "\eba0";
251}
252
253.p-TabBar.theia-app-centers .p-TabBar-tab.theia-mod-pinned.theia-mod-dirty > .p-TabBar-tabCloseIcon:before {
254 content: "\ebb2";
255}
256
257.p-TabBar-tabIcon.no-icon {
258 display: none !important;
259}
260
261.p-TabBar .theia-badge-decorator-sidebar {
262 background-color: var(--theia-activityBarBadge-background);
263 border-radius: 20px;
264 color: var(--theia-activityBarBadge-foreground);
265 font-size: calc(var(--theia-ui-font-size0) * 0.85);
266 font-weight: 600;
267 height: var(--theia-notification-count-height);
268 width: var(--theia-notification-count-width);
269 padding: calc(var(--theia-ui-padding)/6);
270 line-height: calc(var(--theia-content-line-height) * 0.70);
271 position: absolute;
272 top: calc(var(--theia-ui-padding) * 4);
273 right: calc(var(--theia-ui-padding) * 1.33);
274 text-align: center;
275}
276
277.p-TabBar .theia-badge-decorator-horizontal {
278 background-color:var(--theia-badge-background);
279 border-radius: 20px;
280 box-sizing: border-box;
281 color: var(--theia-activityBarBadge-foreground);
282 font-size: calc(var(--theia-ui-font-size0) * 0.8);
283 font-weight: 400;
284 height: var(--theia-notification-count-height);
285 width: var(--theia-notification-count-width);
286 padding: calc(var(--theia-ui-padding)/6);
287 line-height: calc(var(--theia-content-line-height) * 0.61);
288 margin-left: var(--theia-ui-padding);
289 text-align: center;
290}
291
292/*-----------------------------------------------------------------------------
293| Perfect scrollbar
294|----------------------------------------------------------------------------*/
295
296.p-TabBar[data-orientation='horizontal'] .p-TabBar-content-container > .ps__rail-x {
297 height: var(--theia-private-horizontal-tab-scrollbar-rail-height);
298 z-index: 1000;
299}
300
301.p-TabBar[data-orientation='horizontal'] .p-TabBar-content-container > .ps__rail-x > .ps__thumb-x {
302 height: var(--theia-private-horizontal-tab-scrollbar-height) !important;
303 bottom: calc((var(--theia-private-horizontal-tab-scrollbar-rail-height) - var(--theia-private-horizontal-tab-scrollbar-height)) / 2);
304}
305
306.p-TabBar[data-orientation='horizontal'] .p-TabBar-content-container > .ps__rail-x:hover,
307.p-TabBar[data-orientation='horizontal'] .p-TabBar-content-container > .ps__rail-x:focus {
308 height: var(--theia-private-horizontal-tab-scrollbar-rail-height) !important;
309}
310
311.p-TabBar[data-orientation='horizontal'] .p-TabBar-content-container > .ps__rail-x:hover > .ps__thumb-x,
312.p-TabBar[data-orientation='horizontal'] .p-TabBar-content-container > .ps__rail-x:focus > .ps__thumb-x {
313 height: calc(var(--theia-private-horizontal-tab-scrollbar-height) / 2) !important;
314 bottom: calc((var(--theia-private-horizontal-tab-scrollbar-rail-height) - var(--theia-private-horizontal-tab-scrollbar-height)) / 2);
315}
316
317.p-TabBar[data-orientation='vertical'] .p-TabBar-content-container > .ps__rail-y {
318 width: var(--theia-private-horizontal-tab-scrollbar-rail-height);
319 z-index: 1000;
320}
321
322.p-TabBar[data-orientation='vertical'] .p-TabBar-content-container > .ps__rail-y > .ps__thumb-y {
323 width: var(--theia-private-horizontal-tab-scrollbar-height) !important;
324 right: calc((var(--theia-private-horizontal-tab-scrollbar-rail-height) - var(--theia-private-horizontal-tab-scrollbar-height)) / 2);
325}
326
327/*-----------------------------------------------------------------------------
328| Dragged tabs
329|----------------------------------------------------------------------------*/
330
331.p-TabBar-tab.p-mod-drag-image {
332 transform: translateX(-40%) translateY(-58%);
333 opacity: 0.8;
334 line-height: var(--theia-private-horizontal-tab-height);
335 height: var(--theia-private-horizontal-tab-height);
336 min-height: var(--theia-private-horizontal-tab-height);
337 padding: 0px 10px;
338 font-size: var(--theia-ui-font-size1);
339 background: var(--theia-editorGroupHeader-tabsBackground);
340 border: var(--theia-border-width) solid var(--theia-contrastBorder);
341 box-shadow: 1px 1px 2px var(--theia-widget-shadow);
342 display: flex;
343 align-items: center;
344}
345
346/*-----------------------------------------------------------------------------
347| Tab-bar toolbar
348|----------------------------------------------------------------------------*/
349
350.p-TabBar-toolbar {
351 z-index: var(--theia-tabbar-toolbar-z-index); /* Due to the scrollbar (`z-index: 1000;`) it has a greater `z-index`. */
352 display: flex;
353 flex-direction: row-reverse;
354 padding: 4px;
355 padding-left: 0px;
356 margin-right: 4px;
357}
358
359.p-TabBar-content-container {
360 display: flex;
361 flex: 1;
362 position: relative; /* This is necessary for perfect-scrollbar */
363}
364
365.p-TabBar-toolbar .item {
366 display: flex;
367 align-items: center;
368 margin-left: 4px; /* `padding` + `margin-right` from the container toolbar */
369 opacity: var(--theia-mod-disabled-opacity);
370 cursor: default;
371}
372
373.p-TabBar-toolbar .item.enabled {
374 opacity: 1.0;
375 cursor: pointer;
376}
377
378.p-TabBar-toolbar :not(.item.enabled) .action-label {
379 background: transparent;
380 cursor: default;
381}
382
383.p-TabBar-toolbar .item.toggled {
384 border: var(--theia-border-width) var(--theia-inputOption-activeBorder) solid;
385 background-color: var(--theia-inputOption-activeBackground);
386}
387
388.p-TabBar-toolbar .item > div {
389 height: 18px;
390 width: 18px;
391 background-repeat: no-repeat;
392 line-height: 18px;
393}
394
395.p-TabBar-toolbar .item .collapse-all {
396 background: var(--theia-icon-collapse-all) no-repeat;
397}
398
399.p-TabBar-toolbar .item .close {
400 background: var(--theia-icon-collapse-all) no-repeat;
401}
402
403.p-TabBar-toolbar .item .clear-all {
404 background: var(--theia-icon-clear) no-repeat;
405}
406
407.p-TabBar-toolbar .item .refresh {
408 background: var(--theia-icon-refresh) no-repeat;
409}
410
411.p-TabBar-toolbar .item .cancel {
412 background: var(--theia-icon-close) no-repeat;
413}
414
415#theia-main-content-panel .p-TabBar:not(.theia-tabBar-active) .p-TabBar-toolbar {
416 display: none;
417}
418
419.theia-tabBar-breadcrumb-row {
420 min-width: 100%;
421}
422
423.p-TabBar.theia-tabBar-multirow[data-orientation='horizontal'] {
424 min-height: calc(var(--theia-breadcrumbs-height) + var(--theia-horizontal-toolbar-height));
425 flex-direction: column;
426}
427
428.p-TabBar[data-orientation='horizontal'] .theia-tabBar-tab-row {
429 display: flex;
430 flex-flow: row nowrap;
431 min-width: 100%;
432}
433
434.p-TabBar[data-orientation='vertical'] .theia-tabBar-tab-row {
435 display: flex;
436 flex-flow: column nowrap;
437 height: 100%;
438}
439
440.p-TabBar[data-orientation='horizontal'] .p-TabBar-content {
441 flex-direction: row;
442}
443
444.p-TabBar[data-orientation='vertical'] .p-TabBar-content {
445 flex-direction: column;
446}
447
448.p-TabBar.theia-app-centers[data-orientation='horizontal'].dynamic-tabs .p-TabBar-tabLabel {
449 /* fade out text with dynamic tabs strategy */
450 mask-image: linear-gradient(to left, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 1) 15px);
451 -webkit-mask-image: linear-gradient(to left, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 1) 15px);
452 flex: 1;
453}
454
455
456.p-TabBar[data-orientation='horizontal'] .p-TabBar-tab .theia-tab-icon-label {
457 flex: 1;
458 overflow: hidden;
459}
460
461.theia-horizontal-tabBar-hover-div {
462 margin: 0px 4px;
463}
464
465.theia-horizontal-tabBar-hover-title {
466 font-weight: bolder;
467 font-size: medium;
468 margin: 0px 0px;
469}
470
471.theia-horizontal-tabBar-hover-caption {
472 font-size: small;
473 margin: 0px 0px;
474 margin-top: 4px;
475}
476
477/*-----------------------------------------------------------------------------
478| Open tabs dropdown
479|----------------------------------------------------------------------------*/
480.theia-tabBar-open-tabs>.theia-select-component .theia-select-component-label {
481 display: none;
482}
483
484.theia-tabBar-open-tabs>.theia-select-component {
485 min-width: auto;
486 height: 100%;
487}
488
489.theia-tabBar-open-tabs {
490 flex: 0 0 auto;
491 display: flex;
492 align-items: center;
493}
494
495.theia-tabBar-open-tabs.p-mod-hidden {
496 display: none
497}