@theia/core 1.17.2 → 1.18.0-next.05f289b3

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 (147) hide show
  1. package/README.md +2 -2
  2. package/lib/browser/breadcrumbs/breadcrumb-popup-container.d.ts +50 -0
  3. package/lib/browser/breadcrumbs/breadcrumb-popup-container.d.ts.map +1 -0
  4. package/lib/browser/breadcrumbs/breadcrumb-popup-container.js +115 -0
  5. package/lib/browser/breadcrumbs/breadcrumb-popup-container.js.map +1 -0
  6. package/lib/browser/breadcrumbs/breadcrumb-renderer.d.ts +28 -0
  7. package/lib/browser/breadcrumbs/breadcrumb-renderer.d.ts.map +1 -0
  8. package/lib/browser/breadcrumbs/breadcrumb-renderer.js +43 -0
  9. package/lib/browser/breadcrumbs/breadcrumb-renderer.js.map +1 -0
  10. package/lib/browser/breadcrumbs/breadcrumbs-constants.d.ts +65 -0
  11. package/lib/browser/breadcrumbs/breadcrumbs-constants.d.ts.map +1 -0
  12. package/lib/browser/breadcrumbs/breadcrumbs-constants.js +28 -0
  13. package/lib/browser/breadcrumbs/breadcrumbs-constants.js.map +1 -0
  14. package/lib/browser/breadcrumbs/breadcrumbs-renderer.d.ts +61 -0
  15. package/lib/browser/breadcrumbs/breadcrumbs-renderer.d.ts.map +1 -0
  16. package/lib/browser/breadcrumbs/breadcrumbs-renderer.js +190 -0
  17. package/lib/browser/breadcrumbs/breadcrumbs-renderer.js.map +1 -0
  18. package/lib/browser/breadcrumbs/breadcrumbs-service.d.ts +48 -0
  19. package/lib/browser/breadcrumbs/breadcrumbs-service.d.ts.map +1 -0
  20. package/lib/browser/breadcrumbs/breadcrumbs-service.js +120 -0
  21. package/lib/browser/breadcrumbs/breadcrumbs-service.js.map +1 -0
  22. package/lib/browser/breadcrumbs/index.d.ts +21 -0
  23. package/lib/browser/breadcrumbs/index.d.ts.map +1 -0
  24. package/lib/browser/breadcrumbs/index.js +33 -0
  25. package/lib/browser/breadcrumbs/index.js.map +1 -0
  26. package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
  27. package/lib/browser/common-frontend-contribution.js +40 -0
  28. package/lib/browser/common-frontend-contribution.js.map +1 -1
  29. package/lib/browser/context-menu-renderer.d.ts +6 -6
  30. package/lib/browser/context-menu-renderer.d.ts.map +1 -1
  31. package/lib/browser/context-menu-renderer.js +7 -1
  32. package/lib/browser/context-menu-renderer.js.map +1 -1
  33. package/lib/browser/core-preferences.d.ts +3 -2
  34. package/lib/browser/core-preferences.d.ts.map +1 -1
  35. package/lib/browser/core-preferences.js +49 -43
  36. package/lib/browser/core-preferences.js.map +1 -1
  37. package/lib/browser/dialogs.d.ts.map +1 -1
  38. package/lib/browser/dialogs.js +1 -2
  39. package/lib/browser/dialogs.js.map +1 -1
  40. package/lib/browser/diff-uris.d.ts.map +1 -1
  41. package/lib/browser/diff-uris.js +2 -1
  42. package/lib/browser/diff-uris.js.map +1 -1
  43. package/lib/browser/frontend-application-module.d.ts.map +1 -1
  44. package/lib/browser/frontend-application-module.js +25 -16
  45. package/lib/browser/frontend-application-module.js.map +1 -1
  46. package/lib/browser/index.d.ts +1 -0
  47. package/lib/browser/index.d.ts.map +1 -1
  48. package/lib/browser/index.js +1 -0
  49. package/lib/browser/index.js.map +1 -1
  50. package/lib/browser/label-provider.d.ts +2 -2
  51. package/lib/browser/label-provider.d.ts.map +1 -1
  52. package/lib/browser/label-provider.js +3 -2
  53. package/lib/browser/label-provider.js.map +1 -1
  54. package/lib/browser/menu/browser-context-menu-renderer.d.ts.map +1 -1
  55. package/lib/browser/menu/browser-context-menu-renderer.js +1 -1
  56. package/lib/browser/menu/browser-context-menu-renderer.js.map +1 -1
  57. package/lib/browser/navigatable-types.d.ts +49 -0
  58. package/lib/browser/navigatable-types.d.ts.map +1 -0
  59. package/lib/browser/navigatable-types.js +58 -0
  60. package/lib/browser/navigatable-types.js.map +1 -0
  61. package/lib/browser/navigatable.d.ts +2 -32
  62. package/lib/browser/navigatable.d.ts.map +1 -1
  63. package/lib/browser/navigatable.js +12 -40
  64. package/lib/browser/navigatable.js.map +1 -1
  65. package/lib/browser/progress-status-bar-item.js +1 -1
  66. package/lib/browser/progress-status-bar-item.js.map +1 -1
  67. package/lib/browser/quick-input/quick-command-service.d.ts.map +1 -1
  68. package/lib/browser/quick-input/quick-command-service.js +2 -1
  69. package/lib/browser/quick-input/quick-command-service.js.map +1 -1
  70. package/lib/browser/quick-input/quick-input-service.d.ts +4 -0
  71. package/lib/browser/quick-input/quick-input-service.d.ts.map +1 -1
  72. package/lib/browser/quick-input/quick-input-service.js.map +1 -1
  73. package/lib/browser/shell/application-shell.d.ts +7 -3
  74. package/lib/browser/shell/application-shell.d.ts.map +1 -1
  75. package/lib/browser/shell/application-shell.js +11 -8
  76. package/lib/browser/shell/application-shell.js.map +1 -1
  77. package/lib/browser/shell/tab-bar-toolbar.d.ts.map +1 -1
  78. package/lib/browser/shell/tab-bar-toolbar.js +3 -2
  79. package/lib/browser/shell/tab-bar-toolbar.js.map +1 -1
  80. package/lib/browser/shell/tab-bars.d.ts +9 -3
  81. package/lib/browser/shell/tab-bars.d.ts.map +1 -1
  82. package/lib/browser/shell/tab-bars.js +38 -5
  83. package/lib/browser/shell/tab-bars.js.map +1 -1
  84. package/lib/browser/status-bar/status-bar.d.ts.map +1 -1
  85. package/lib/browser/status-bar/status-bar.js +4 -1
  86. package/lib/browser/status-bar/status-bar.js.map +1 -1
  87. package/lib/browser/tree/tree-widget.d.ts.map +1 -1
  88. package/lib/browser/tree/tree-widget.js +1 -1
  89. package/lib/browser/tree/tree-widget.js.map +1 -1
  90. package/lib/browser/view-container.d.ts +10 -0
  91. package/lib/browser/view-container.d.ts.map +1 -1
  92. package/lib/browser/view-container.js +26 -2
  93. package/lib/browser/view-container.js.map +1 -1
  94. package/lib/browser/widgets/alert-message.d.ts.map +1 -1
  95. package/lib/browser/widgets/alert-message.js +5 -4
  96. package/lib/browser/widgets/alert-message.js.map +1 -1
  97. package/lib/browser/widgets/react-renderer.d.ts +3 -1
  98. package/lib/browser/widgets/react-renderer.d.ts.map +1 -1
  99. package/lib/browser/widgets/react-renderer.js +7 -2
  100. package/lib/browser/widgets/react-renderer.js.map +1 -1
  101. package/lib/browser/widgets/widget.d.ts +4 -0
  102. package/lib/browser/widgets/widget.d.ts.map +1 -1
  103. package/lib/browser/widgets/widget.js +16 -2
  104. package/lib/browser/widgets/widget.js.map +1 -1
  105. package/lib/electron-browser/menu/electron-context-menu-renderer.d.ts.map +1 -1
  106. package/lib/electron-browser/menu/electron-context-menu-renderer.js +1 -1
  107. package/lib/electron-browser/menu/electron-context-menu-renderer.js.map +1 -1
  108. package/package.json +3 -3
  109. package/src/browser/breadcrumbs/breadcrumb-popup-container.ts +101 -0
  110. package/src/browser/breadcrumbs/breadcrumb-renderer.tsx +41 -0
  111. package/src/browser/breadcrumbs/breadcrumbs-constants.ts +79 -0
  112. package/src/browser/breadcrumbs/breadcrumbs-renderer.tsx +187 -0
  113. package/src/browser/breadcrumbs/breadcrumbs-service.ts +108 -0
  114. package/src/browser/breadcrumbs/index.ts +21 -0
  115. package/src/browser/common-frontend-contribution.ts +45 -0
  116. package/src/browser/context-menu-renderer.ts +10 -2
  117. package/src/browser/core-preferences.ts +52 -45
  118. package/src/browser/dialogs.ts +2 -3
  119. package/src/browser/diff-uris.ts +2 -1
  120. package/src/browser/frontend-application-module.ts +36 -12
  121. package/src/browser/index.ts +1 -0
  122. package/src/browser/label-provider.ts +3 -2
  123. package/src/browser/menu/browser-context-menu-renderer.ts +2 -2
  124. package/src/browser/navigatable-types.ts +78 -0
  125. package/src/browser/navigatable.ts +2 -61
  126. package/src/browser/progress-status-bar-item.ts +1 -1
  127. package/src/browser/quick-input/quick-command-service.ts +2 -1
  128. package/src/browser/quick-input/quick-input-service.ts +4 -0
  129. package/src/browser/shell/application-shell.ts +23 -15
  130. package/src/browser/shell/tab-bar-toolbar.tsx +4 -3
  131. package/src/browser/shell/tab-bars.ts +43 -9
  132. package/src/browser/status-bar/status-bar.tsx +3 -1
  133. package/src/browser/style/breadcrumbs.css +131 -0
  134. package/src/browser/style/index.css +11 -0
  135. package/src/browser/style/menus.css +14 -4
  136. package/src/browser/style/scrollbars.css +33 -14
  137. package/src/browser/style/sidepanel.css +11 -4
  138. package/src/browser/style/status-bar.css +6 -1
  139. package/src/browser/style/tabs.css +59 -34
  140. package/src/browser/style/tree.css +0 -1
  141. package/src/browser/style/view-container.css +9 -0
  142. package/src/browser/tree/tree-widget.tsx +4 -2
  143. package/src/browser/view-container.ts +35 -1
  144. package/src/browser/widgets/alert-message.tsx +5 -4
  145. package/src/browser/widgets/react-renderer.tsx +5 -2
  146. package/src/browser/widgets/widget.ts +16 -1
  147. package/src/electron-browser/menu/electron-context-menu-renderer.ts +2 -2
@@ -195,8 +195,10 @@ export class StatusBarImpl extends ReactWidget implements StatusBar {
195
195
  const octicon = getIconByName(val.name);
196
196
  if (octicon) {
197
197
  children.push(<span key={key} className={val.animation ? 'fa-' + val.animation : 'fa'}><Octicon icon={octicon} height={12.5} width={12.5} /></span>);
198
+ } else if (val.name.startsWith('codicon-')) {
199
+ children.push(<span key={key} className={`codicon ${val.name}${val.animation ? ' fa-' + val.animation : ''}`}></span>);
198
200
  } else {
199
- children.push(<span key={key} className={`fa fa-${val.name} ${val.animation ? 'fa-' + val.animation : ''}`}></span>);
201
+ children.push(<span key={key} className={`fa fa-${val.name}${val.animation ? ' fa-' + val.animation : ''}`}></span>);
200
202
  }
201
203
  } else {
202
204
  children.push(<span key={key}>{val}</span>);
@@ -0,0 +1,131 @@
1
+ /********************************************************************************
2
+ * Copyright (C) 2019 TypeFox and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+
17
+ :root {
18
+ --theia-breadcrumbs-height: 22px;
19
+ }
20
+
21
+ .theia-breadcrumbs {
22
+ height: var(--theia-breadcrumbs-height);
23
+ position: relative;
24
+ user-select: none;
25
+ display: flex;
26
+ flex-direction: row;
27
+ flex-wrap: nowrap;
28
+ justify-content: flex-start;
29
+ align-items: center;
30
+ outline-style: none;
31
+ margin: .5rem;
32
+ list-style-type: none;
33
+ overflow: hidden;
34
+ padding: 0;
35
+ margin: 0;
36
+ background-color: var(--theia-breadcrumb-background);
37
+ }
38
+
39
+ .theia-breadcrumbs .ps__thumb-x {
40
+ /* Same scrollbar height as in tab bar. */
41
+ height: var(--theia-private-horizontal-tab-scrollbar-height) !important;
42
+ }
43
+
44
+ .theia-breadcrumbs .theia-breadcrumb-item {
45
+ display: flex;
46
+ align-items: center;
47
+ flex: 0 1 auto;
48
+ white-space: nowrap;
49
+ align-self: center;
50
+ height: 100%;
51
+ color: var(--theia-breadcrumb-foreground);
52
+ outline: none;
53
+ padding: 0 .3rem 0 .25rem;
54
+ }
55
+
56
+ .theia-breadcrumbs .theia-breadcrumb-item:hover {
57
+ color: var(--theia-breadcrumb-focusForeground);
58
+ }
59
+
60
+ .theia-breadcrumbs .theia-breadcrumb-item:not(:last-of-type)::after {
61
+ font-family: codicon;
62
+ font-size: var(--theia-ui-font-size2);
63
+ content: "\eab6";
64
+ display: flex;
65
+ align-items: center;
66
+ width: .8em;
67
+ text-align: right;
68
+ padding-left: 4px;
69
+ }
70
+
71
+ .theia-breadcrumbs .theia-breadcrumb-item::before {
72
+ width: 16px;
73
+ height: 100%;
74
+ display: flex;
75
+ align-items: center;
76
+ justify-content: center;
77
+ }
78
+
79
+ .theia-breadcrumbs .theia-breadcrumb-item:first-of-type::before {
80
+ content: " ";
81
+ }
82
+
83
+ .theia-breadcrumb-item-haspopup:hover {
84
+ background: var(--theia-accent-color3);
85
+ cursor: pointer;
86
+ }
87
+
88
+ #theia-breadcrumbs-popups-overlay {
89
+ height: 0px;
90
+ }
91
+
92
+ .theia-breadcrumbs-popup {
93
+ position: fixed;
94
+ width: 300px;
95
+ max-height: 200px;
96
+ z-index: 10000;
97
+ padding: 0px;
98
+ background: var(--theia-breadcrumbPicker-background);
99
+ font-size: var(--theia-ui-font-size1);
100
+ color: var(--theia-ui-font-color1);
101
+ box-shadow: 0px 1px 6px rgba(0, 0, 0, 0.2);
102
+ overflow: hidden;
103
+ }
104
+
105
+ .theia-breadcrumbs-popup:focus {
106
+ outline-width: 0;
107
+ outline-style: none;
108
+ }
109
+
110
+ .theia-breadcrumbs-popup ul {
111
+ display: flex;
112
+ flex-direction: column;
113
+ outline-style: none;
114
+ list-style-type: none;
115
+ padding-inline-start: 0px;
116
+ margin: 0 0 0 4px;
117
+ }
118
+
119
+ .theia-breadcrumbs-popup ul li {
120
+ display: flex;
121
+ align-items: center;
122
+ flex: 0 1 auto;
123
+ white-space: nowrap;
124
+ cursor: pointer;
125
+ outline: none;
126
+ padding: .25rem .25rem .25rem .25rem;
127
+ }
128
+
129
+ .theia-breadcrumbs-popup ul li:hover {
130
+ background: var(--theia-accent-color3);
131
+ }
@@ -163,6 +163,16 @@ blockquote {
163
163
  outline: none;
164
164
  }
165
165
 
166
+ .action-item {
167
+ padding: 2px;
168
+ border-radius: 5px;
169
+ cursor: pointer;
170
+ }
171
+
172
+ .action-item:hover {
173
+ background-color: rgba(50%, 50%, 50%, 0.2);
174
+ }
175
+
166
176
  button.theia-button, .theia-button {
167
177
  border: none;
168
178
  color: var(--theia-button-foreground);
@@ -248,3 +258,4 @@ button.secondary[disabled], .theia-button.secondary[disabled] {
248
258
  @import './widget.css';
249
259
  @import './quick-title-bar.css';
250
260
  @import './progress-bar.css';
261
+ @import './breadcrumbs.css';
@@ -180,16 +180,26 @@
180
180
 
181
181
  .p-Menu-itemIcon::before,
182
182
  .p-Menu-itemSubmenuIcon::before {
183
- font-family: FontAwesome;
183
+ font: normal normal normal 16px/1 codicon;
184
+ display: inline-block;
185
+ text-decoration: none;
186
+ text-rendering: auto;
187
+ text-align: center;
188
+ -webkit-font-smoothing: antialiased;
189
+ -moz-osx-font-smoothing: grayscale;
190
+ user-select: none;
191
+ -webkit-user-select: none;
192
+ -ms-user-select: none;
193
+ transform: translateY(20%);
184
194
  }
185
195
 
186
196
 
187
197
  .p-Menu-item.p-mod-toggled > .p-Menu-itemIcon::before {
188
- content: '\f00c';
198
+ content: '\eab2';
199
+ transform: scale(0.8) translateY(20%);
189
200
  }
190
201
 
191
202
 
192
203
  .p-Menu-item[data-type='submenu'] > .p-Menu-itemSubmenuIcon::before {
193
- content: '\f0da';
194
-
204
+ content: '\eab6';
195
205
  }
@@ -48,12 +48,14 @@
48
48
  |----------------------------------------------------------------------------*/
49
49
 
50
50
  #theia-app-shell .ps__rail-x,
51
- #theia-dialog-shell .ps__rail-x {
51
+ #theia-dialog-shell .ps__rail-x,
52
+ #theia-breadcrumbs-popups-overlay .ps__rail-x {
52
53
  height: var(--theia-scrollbar-rail-width);
53
54
  }
54
55
 
55
56
  #theia-app-shell .ps__rail-x > .ps__thumb-x,
56
- #theia-dialog-shell .ps__rail-x > .ps__thumb-x {
57
+ #theia-dialog-shell .ps__rail-x > .ps__thumb-x,
58
+ #theia-breadcrumbs-popups-overlay .ps__thumb-x {
57
59
  height: var(--theia-scrollbar-width);
58
60
  bottom: calc((var(--theia-scrollbar-rail-width) - var(--theia-scrollbar-width)) / 2);
59
61
  background: var(--theia-scrollbarSlider-background);
@@ -63,7 +65,9 @@
63
65
  #theia-app-shell .ps__rail-x:hover,
64
66
  #theia-app-shell .ps__rail-x:focus,
65
67
  #theia-dialog-shell .ps__rail-x:hover,
66
- #theia-dialog-shell .ps__rail-x:focus {
68
+ #theia-dialog-shell .ps__rail-x:focus,
69
+ #theia-breadcrumbs-popups-overlay .ps__rail-x:hover,
70
+ #theia-breadcrumbs-popups-overlay .ps__rail-x:focus {
67
71
  height: var(--theia-scrollbar-rail-width);
68
72
  }
69
73
 
@@ -72,17 +76,22 @@
72
76
  #theia-app-shell .ps__rail-x.ps--clicking .ps__thumb-x,
73
77
  #theia-dialog-shell .ps__rail-x:hover > .ps__thumb-x,
74
78
  #theia-dialog-shell .ps__rail-x:focus > .ps__thumb-x,
75
- #theia-dialog-shell .ps__rail-x.ps--clicking .ps__thumb-x {
79
+ #theia-dialog-shell .ps__rail-x.ps--clicking .ps__thumb-x,
80
+ #theia-breadcrumbs-popups-overlay .ps__rail-x:hover > .ps__thumb-x,
81
+ #theia-breadcrumbs-popups-overlay .ps__rail-x:focus > .ps__thumb-x,
82
+ #theia-breadcrumbs-popups-overlay .ps__rail-x.ps--clicking .ps__thumb-x {
76
83
  height: var(--theia-scrollbar-width);
77
84
  }
78
85
 
79
86
  #theia-app-shell .ps__rail-y,
80
- #theia-dialog-shell .ps__rail-y {
87
+ #theia-dialog-shell .ps__rail-y,
88
+ #theia-breadcrumbs-popups-overlay .ps__rail-y {
81
89
  width: var(--theia-scrollbar-rail-width);
82
90
  }
83
91
 
84
92
  #theia-app-shell .ps__rail-y > .ps__thumb-y,
85
- #theia-dialog-shell .ps__rail-y > .ps__thumb-y {
93
+ #theia-dialog-shell .ps__rail-y > .ps__thumb-y,
94
+ #theia-breadcrumbs-popups-overlay .ps__rail-y > .ps__thumb-y {
86
95
  width: var(--theia-scrollbar-width);
87
96
  right: calc((var(--theia-scrollbar-rail-width) - var(--theia-scrollbar-width)) / 2);
88
97
  background: var(--theia-scrollbarSlider-background);
@@ -92,7 +101,9 @@
92
101
  #theia-app-shell .ps__rail-y:hover,
93
102
  #theia-app-shell .ps__rail-y:focus,
94
103
  #theia-dialog-shell .ps__rail-y:hover,
95
- #theia-dialog-shell .ps__rail-y:focus {
104
+ #theia-dialog-shell .ps__rail-y:focus,
105
+ #theia-breadcrumbs-popups-overlay .ps__rail-y:hover,
106
+ #theia-breadcrumbs-popups-overlay .ps__rail-y:focus {
96
107
  width: var(--theia-scrollbar-rail-width);
97
108
  }
98
109
 
@@ -101,27 +112,32 @@
101
112
  #theia-app-shell .ps__rail-y.ps--clicking .ps__thumb-y,
102
113
  #theia-dialog-shell .ps__rail-y:hover > .ps__thumb-y,
103
114
  #theia-dialog-shell .ps__rail-y:focus > .ps__thumb-y,
104
- #theia-dialog-shell .ps__rail-y.ps--clicking .ps__thumb-y {
115
+ #theia-dialog-shell .ps__rail-y.ps--clicking .ps__thumb-y,
116
+ #theia-breadcrumbs-popups-overlay .ps__rail-y:hover > .ps__thumb-y,
117
+ #theia-breadcrumbs-popups-overlay .ps__rail-y:focus > .ps__thumb-y,
118
+ #theia-breadcrumbs-popups-overlay .ps__rail-y.ps--clicking .ps__thumb-y {
105
119
  right: calc((var(--theia-scrollbar-rail-width) - var(--theia-scrollbar-width)) / 2);
106
120
  width: var(--theia-scrollbar-width);
107
121
  }
108
122
 
109
123
  #theia-app-shell .ps [class^='ps__rail'].ps--clicking > [class^='ps__thumb'],
110
- #theia-dialog-shell .ps [class^='ps__rail'].ps--clicking > [class^='ps__thumb']{
124
+ #theia-dialog-shell .ps [class^='ps__rail'].ps--clicking > [class^='ps__thumb'],
125
+ #theia-breadcrumbs-popups-overlay .ps [class^='ps__rail'].ps--clicking > [class^='ps__thumb'] {
111
126
  background-color: var(--theia-scrollbarSlider-activeBackground);
112
127
  }
113
128
 
114
129
  #theia-app-shell .ps [class^='ps__rail'] > [class^='ps__thumb']:hover,
115
130
  #theia-app-shell .ps [class^='ps__rail'] > [class^='ps__thumb']:focus,
116
131
  #theia-dialog-shell .ps [class^='ps__rail'] > [class^='ps__thumb']:hover,
117
- #theia-dialog-shell .ps [class^='ps__rail'] > [class^='ps__thumb']:focus
118
- {
132
+ #theia-dialog-shell .ps [class^='ps__rail'] > [class^='ps__thumb']:focus,
133
+ #theia-breadcrumbs-popups-overlay .ps [class^='ps__rail'] > [class^='ps__thumb']:hover,
134
+ #theia-breadcrumbs-popups-overlay .ps [class^='ps__rail'] > [class^='ps__thumb']:focus {
119
135
  background: var(--theia-scrollbarSlider-hoverBackground);
120
136
  }
121
137
 
122
138
  #theia-app-shell .ps [class^='ps__rail'] > [class^='ps__thumb']:active,
123
- #theia-dialog-shell .ps [class^='ps__rail'] > [class^='ps__thumb']:active
124
- {
139
+ #theia-dialog-shell .ps [class^='ps__rail'] > [class^='ps__thumb']:active,
140
+ #theia-breadcrumbs-popups-overlay .ps [class^='ps__rail'] > [class^='ps__thumb']:active {
125
141
  background: var(--theia-scrollbarSlider-activeBackground);
126
142
  }
127
143
 
@@ -130,7 +146,10 @@
130
146
  #theia-app-shell .ps--scrolling-y > [class^='ps__rail'],
131
147
  #theia-dialog-shell .ps:hover > [class^='ps__rail'],
132
148
  #theia-dialog-shell .ps--focus > [class^='ps__rail'],
133
- #theia-dialog-shell .ps--scrolling-y > [class^='ps__rail'] {
149
+ #theia-dialog-shell .ps--scrolling-y > [class^='ps__rail'],
150
+ #theia-breadcrumbs-popups-overlay .ps:hover > [class^='ps__rail'],
151
+ #theia-breadcrumbs-popups-overlay .ps--focus > [class^='ps__rail'],
152
+ #theia-breadcrumbs-popups-overlay .ps--scrolling-y > [class^='ps__rail'] {
134
153
  opacity: 1;
135
154
  background: transparent;
136
155
  }
@@ -19,13 +19,13 @@
19
19
  |----------------------------------------------------------------------------*/
20
20
 
21
21
  :root {
22
- --theia-private-sidebar-tab-width: 50px;
22
+ --theia-private-sidebar-tab-width: 48px;
23
23
  --theia-private-sidebar-tab-height: 32px;
24
24
  --theia-private-sidebar-tab-padding-top-and-bottom: 11px;
25
25
  --theia-private-sidebar-tab-padding-left-and-right: 10px;
26
26
  --theia-private-sidebar-scrollbar-rail-width: 7px;
27
27
  --theia-private-sidebar-scrollbar-width: 5px;
28
- --theia-private-sidebar-icon-size: 28px;
28
+ --theia-private-sidebar-icon-size: 24px;
29
29
  }
30
30
 
31
31
 
@@ -42,6 +42,10 @@
42
42
  max-width: var(--theia-private-sidebar-tab-width);
43
43
  }
44
44
 
45
+ .p-TabBar-content {
46
+ gap: 4px 0px;
47
+ }
48
+
45
49
  .p-TabBar.theia-app-sides .p-TabBar-content {
46
50
  z-index: 1;
47
51
  }
@@ -109,10 +113,9 @@
109
113
  display: flex;
110
114
  align-items: center;
111
115
  justify-content: center;
112
- font-size: 23px;
116
+ font-size: var(--theia-private-sidebar-icon-size);
113
117
  text-align: center;
114
118
  color: inherit;
115
- background-color: var(--theia-activityBar-inactiveForeground);
116
119
 
117
120
  /* svg */
118
121
  width: var(--theia-private-sidebar-tab-width);
@@ -139,6 +142,10 @@
139
142
  .p-TabBar.theia-app-sides .p-TabBar-tabIcon:hover,
140
143
  .p-TabBar.theia-app-sides .p-mod-current .p-TabBar-tabIcon {
141
144
  color: var(--theia-activityBar-foreground);
145
+ }
146
+
147
+ .p-TabBar.theia-app-sides .p-TabBar-tabIcon.theia-plugin-view-container:hover,
148
+ .p-TabBar.theia-app-sides .p-mod-current .p-TabBar-tabIcon.theia-plugin-view-container {
142
149
  background-color: var(--theia-activityBar-foreground);
143
150
  }
144
151
 
@@ -15,7 +15,7 @@
15
15
  ********************************************************************************/
16
16
 
17
17
  :root {
18
- --theia-statusBar-height: 19px;
18
+ --theia-statusBar-height: 22px;
19
19
  }
20
20
 
21
21
  #theia-statusBar {
@@ -59,6 +59,11 @@ body.theia-no-open-workspace #theia-statusBar {
59
59
  margin-left: calc(var(--theia-ui-padding)/2);
60
60
  }
61
61
 
62
+ #theia-statusBar .area .element .codicon {
63
+ /* Scaling down codicons from 16 to 14 pixels */
64
+ font-size: 14px;
65
+ }
66
+
62
67
  #theia-statusBar .area .element > *:last-child {
63
68
  margin-right: calc(var(--theia-ui-padding)/2);
64
69
  }
@@ -9,6 +9,7 @@
9
9
  --theia-private-horizontal-tab-scrollbar-height: 5px;
10
10
  --theia-tabbar-toolbar-z-index: 1001;
11
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);
12
13
  }
13
14
 
14
15
  /*-----------------------------------------------------------------------------
@@ -22,7 +23,7 @@
22
23
  .p-TabBar[data-orientation='horizontal'] {
23
24
  overflow-x: hidden;
24
25
  overflow-y: hidden;
25
- min-height: calc(var(--theia-private-horizontal-tab-height) + var(--theia-private-horizontal-tab-scrollbar-rail-height) / 2);
26
+ min-height: var(--theia-horizontal-toolbar-height);
26
27
  }
27
28
 
28
29
  .p-TabBar .p-TabBar-content {
@@ -31,7 +32,7 @@
31
32
 
32
33
  .p-TabBar[data-orientation='horizontal'] .p-TabBar-tab {
33
34
  flex: none;
34
- height: calc(var(--theia-private-horizontal-tab-height) + var(--theia-private-horizontal-tab-scrollbar-rail-height) / 2);
35
+ height: var(--theia-horizontal-toolbar-height);
35
36
  min-width: 35px;
36
37
  line-height: var(--theia-private-horizontal-tab-height);
37
38
  padding: 0px 8px;
@@ -189,19 +190,11 @@ body.theia-editor-highlightModifiedTabs
189
190
  min-height: 14px;
190
191
  background-size: 13px;
191
192
  background-position-y: 3px;
192
- background: var(--theia-icon-foreground);
193
193
  -webkit-mask-repeat: no-repeat;
194
194
  -webkit-mask-size: auto 13px;
195
195
  mask-repeat: no-repeat;
196
196
  mask-size: auto 13px;
197
- padding-right: calc(var(--theia-ui-padding)/2);
198
- }
199
-
200
- .p-TabBar[data-orientation='horizontal'] .p-TabBar-tabIcon.file-icon,
201
- .p-TabBar-tab.p-mod-drag-image .p-TabBar-tabIcon.file-icon {
202
- background: none;
203
- padding-bottom: 0px;
204
- min-height: 20px;
197
+ padding-right: 8px;
205
198
  }
206
199
 
207
200
  .p-TabBar[data-orientation='horizontal'] .p-TabBar-tabIcon.fa,
@@ -212,32 +205,48 @@ body.theia-editor-highlightModifiedTabs
212
205
  }
213
206
 
214
207
  .p-TabBar.theia-app-centers .p-TabBar-tab.p-mod-closable > .p-TabBar-tabCloseIcon {
215
- padding-left: 10px;
208
+ padding: 2px;
209
+ margin-top: 2px;
210
+ margin-left: 4px;
216
211
  height: var(--theia-icon-size);
217
212
  width: var(--theia-icon-size);
218
- background-size: 13px;
219
- background-position: center;
220
- background-repeat: no-repeat;
213
+ font: normal normal normal 16px/1 codicon;
214
+ display: inline-block;
215
+ text-decoration: none;
216
+ text-rendering: auto;
217
+ text-align: center;
218
+ -webkit-font-smoothing: antialiased;
219
+ -moz-osx-font-smoothing: grayscale;
220
+ user-select: none;
221
+ -webkit-user-select: none;
222
+ -ms-user-select: none;
223
+ }
224
+
225
+ .p-TabBar.theia-app-centers .p-TabBar-tab.p-mod-closable > .p-TabBar-tabCloseIcon:hover {
226
+ border-radius: 5px;
227
+ background-color: rgba(50%, 50%, 50%, 0.2);
221
228
  }
222
229
 
223
230
  .p-TabBar.theia-app-centers .p-TabBar-tab.p-mod-closable {
224
- padding-right: 2px;
231
+ padding-right: 4px;
225
232
  }
226
233
 
234
+ .p-TabBar.theia-app-centers .p-TabBar-tab.p-mod-current > .theia-tab-icon-label > .p-TabBar-tabIcon {
235
+ margin-top: -2px;
236
+ }
227
237
 
228
- .p-TabBar.theia-app-centers .p-TabBar-tab.p-mod-closable:hover > .p-TabBar-tabCloseIcon,
229
238
  .p-TabBar.theia-app-centers .p-TabBar-tab.p-mod-current > .p-TabBar-tabCloseIcon {
230
- background-image: var(--theia-icon-close);
239
+ margin-top: 0px;
231
240
  }
232
241
 
233
- .p-TabBar.theia-app-centers .p-TabBar-tab.p-mod-closable.theia-mod-dirty > .p-TabBar-tabCloseIcon {
234
- background-size: 10px;
235
- background-image: var(--theia-icon-circle);
242
+ .p-TabBar.theia-app-centers .p-TabBar-tab.p-mod-closable:not(.theia-mod-dirty):hover > .p-TabBar-tabCloseIcon:before,
243
+ .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,
244
+ .p-TabBar.theia-app-centers .p-TabBar-tab.p-mod-closable.theia-mod-dirty > .p-TabBar-tabCloseIcon:hover:before {
245
+ content: "\ea76"
236
246
  }
237
247
 
238
- .p-TabBar.theia-app-centers .p-TabBar-tab.p-mod-closable.theia-mod-dirty > .p-TabBar-tabCloseIcon:hover {
239
- background-size: 13px;
240
- background-image: var(--theia-icon-close);
248
+ .p-TabBar.theia-app-centers .p-TabBar-tab.p-mod-closable.theia-mod-dirty > .p-TabBar-tabCloseIcon:before {
249
+ content: "\ea71"
241
250
  }
242
251
 
243
252
  .p-TabBar-tabIcon.no-icon {
@@ -279,23 +288,23 @@ body.theia-editor-highlightModifiedTabs
279
288
  | Perfect scrollbar
280
289
  |----------------------------------------------------------------------------*/
281
290
 
282
- .p-TabBar[data-orientation='horizontal'] > .p-TabBar-content-container > .ps__rail-x {
291
+ .p-TabBar[data-orientation='horizontal'] .p-TabBar-content-container > .ps__rail-x {
283
292
  height: var(--theia-private-horizontal-tab-scrollbar-rail-height);
284
293
  z-index: 1000;
285
294
  }
286
295
 
287
- .p-TabBar[data-orientation='horizontal'] > .p-TabBar-content-container > .ps__rail-x > .ps__thumb-x {
296
+ .p-TabBar[data-orientation='horizontal'] .p-TabBar-content-container > .ps__rail-x > .ps__thumb-x {
288
297
  height: var(--theia-private-horizontal-tab-scrollbar-height) !important;
289
298
  bottom: calc((var(--theia-private-horizontal-tab-scrollbar-rail-height) - var(--theia-private-horizontal-tab-scrollbar-height)) / 2);
290
299
  }
291
300
 
292
- .p-TabBar[data-orientation='horizontal'] > .p-TabBar-content-container > .ps__rail-x:hover,
293
- .p-TabBar[data-orientation='horizontal'] > .p-TabBar-content-container > .ps__rail-x:focus {
301
+ .p-TabBar[data-orientation='horizontal'] .p-TabBar-content-container > .ps__rail-x:hover,
302
+ .p-TabBar[data-orientation='horizontal'] .p-TabBar-content-container > .ps__rail-x:focus {
294
303
  height: var(--theia-private-horizontal-tab-scrollbar-rail-height) !important;
295
304
  }
296
305
 
297
- .p-TabBar[data-orientation='horizontal'] > .p-TabBar-content-container > .ps__rail-x:hover > .ps__thumb-x,
298
- .p-TabBar[data-orientation='horizontal'] > .p-TabBar-content-container > .ps__rail-x:focus > .ps__thumb-x {
306
+ .p-TabBar[data-orientation='horizontal'] .p-TabBar-content-container > .ps__rail-x:hover > .ps__thumb-x,
307
+ .p-TabBar[data-orientation='horizontal'] .p-TabBar-content-container > .ps__rail-x:focus > .ps__thumb-x {
299
308
  height: calc(var(--theia-private-horizontal-tab-scrollbar-height) / 2) !important;
300
309
  bottom: calc((var(--theia-private-horizontal-tab-scrollbar-rail-height) - var(--theia-private-horizontal-tab-scrollbar-height)) / 2);
301
310
  }
@@ -342,8 +351,8 @@ body.theia-editor-highlightModifiedTabs
342
351
  .p-TabBar-toolbar .item {
343
352
  display: flex;
344
353
  align-items: center;
345
- margin-left: 8px; /* `padding` + `margin-right` from the container toolbar */
346
- opacity: var(--theia-mod-disabled-opacity);;
354
+ margin-left: 4px; /* `padding` + `margin-right` from the container toolbar */
355
+ opacity: var(--theia-mod-disabled-opacity);
347
356
  cursor: default;
348
357
  }
349
358
 
@@ -352,8 +361,9 @@ body.theia-editor-highlightModifiedTabs
352
361
  cursor: pointer;
353
362
  }
354
363
 
355
- .p-TabBar-toolbar .item.enabled.active {
356
- transform: scale(var(--theia-toolbar-active-transform-scale));
364
+ .p-TabBar-toolbar :not(.item.enabled) .action-item {
365
+ background: transparent;
366
+ cursor: default;
357
367
  }
358
368
 
359
369
  .p-TabBar-toolbar .item.toggled {
@@ -387,3 +397,18 @@ body.theia-editor-highlightModifiedTabs
387
397
  .p-TabBar-toolbar .item .cancel {
388
398
  background: var(--theia-icon-close) no-repeat;
389
399
  }
400
+
401
+ .theia-tabBar-breadcrumb-row {
402
+ min-width: 100%;
403
+ }
404
+
405
+ .p-TabBar.theia-tabBar-multirow[data-orientation='horizontal'] {
406
+ min-height: calc(var(--theia-breadcrumbs-height) + var(--theia-horizontal-toolbar-height));
407
+ flex-direction: column;
408
+ }
409
+
410
+ .theia-tabBar-tab-row {
411
+ display: flex;
412
+ flex-flow: row nowrap;
413
+ min-width: 100%;
414
+ }