Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/sessions/browser/parts/media/projectBarPart.css
13399 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
.monaco-workbench .part.projectbar {
7
width: 48px;
8
height: 100%;
9
}
10
11
.monaco-workbench .projectbar.bordered::before {
12
content: '';
13
float: left;
14
position: absolute;
15
box-sizing: border-box;
16
height: 100%;
17
width: 0px;
18
border-color: inherit;
19
}
20
21
.monaco-workbench .projectbar.left.bordered::before {
22
right: 0;
23
border-right-style: solid;
24
border-right-width: 1px;
25
}
26
27
.monaco-workbench .projectbar > .content {
28
height: 100%;
29
display: flex;
30
flex-direction: column;
31
justify-content: space-between;
32
}
33
34
.monaco-workbench .projectbar > .content > .actions-container {
35
display: flex;
36
flex-direction: column;
37
align-items: center;
38
width: 100%;
39
margin-bottom: auto;
40
}
41
42
/* Action items (both add button and workspace entries) */
43
.monaco-workbench .projectbar .action-item {
44
position: relative;
45
display: flex;
46
align-items: center;
47
justify-content: center;
48
width: 48px;
49
height: 48px;
50
cursor: pointer;
51
}
52
53
.monaco-workbench .projectbar .action-item:focus {
54
outline: 0 !important; /* project bar indicates focus custom */
55
}
56
57
.monaco-workbench .projectbar .action-item:focus-visible::before {
58
content: '';
59
position: absolute;
60
inset: 6px;
61
border: 1px solid var(--vscode-focusBorder);
62
border-radius: 4px;
63
pointer-events: none;
64
}
65
66
.monaco-workbench .projectbar .action-item .action-label {
67
display: flex;
68
align-items: center;
69
justify-content: center;
70
width: 24px;
71
height: 24px;
72
font-size: 16px;
73
border-radius: 4px;
74
color: var(--vscode-activityBar-inactiveForeground);
75
}
76
77
.monaco-workbench .projectbar .action-item:hover .action-label {
78
color: var(--vscode-activityBar-foreground);
79
}
80
81
/* Add folder button */
82
.monaco-workbench .projectbar .action-item.add-folder {
83
margin-bottom: 4px;
84
}
85
86
.monaco-workbench .projectbar .action-item.add-folder .action-label {
87
font-size: 20px;
88
}
89
90
/* Workspace entry icon - shows first letter */
91
.monaco-workbench .projectbar .action-item.workspace-entry .action-label.workspace-icon {
92
font-weight: 600;
93
font-size: 18px;
94
text-transform: uppercase;
95
background-color: var(--vscode-activityBar-inactiveForeground);
96
color: var(--vscode-activityBar-background);
97
border-radius: 6px;
98
}
99
100
.monaco-workbench .projectbar .action-item.workspace-entry:hover .action-label.workspace-icon {
101
background-color: var(--vscode-activityBar-foreground);
102
}
103
104
/* Workspace entry with codicon icon */
105
.monaco-workbench .projectbar .action-item.workspace-entry .action-label.workspace-icon.codicon-icon {
106
font-weight: normal;
107
font-size: 24px;
108
text-transform: none;
109
background-color: transparent;
110
color: var(--vscode-activityBar-inactiveForeground);
111
border-radius: 0;
112
}
113
114
.monaco-workbench .projectbar .action-item.workspace-entry:hover .action-label.workspace-icon.codicon-icon {
115
background-color: transparent;
116
color: var(--vscode-activityBar-foreground);
117
}
118
119
.monaco-workbench .projectbar .action-item.workspace-entry.checked .action-label.workspace-icon.codicon-icon {
120
background-color: transparent;
121
color: var(--vscode-activityBar-foreground);
122
}
123
124
/* Selected/checked state */
125
.monaco-workbench .projectbar .action-item.workspace-entry.checked .action-label.workspace-icon {
126
background-color: var(--vscode-activityBar-foreground);
127
color: var(--vscode-activityBar-background);
128
}
129
130
/* Active item indicator (vertical bar on the left) */
131
.monaco-workbench .projectbar .action-item .active-item-indicator {
132
position: absolute;
133
left: 0;
134
width: 2px;
135
height: 24px;
136
background-color: transparent;
137
border-radius: 0 2px 2px 0;
138
}
139
140
.monaco-workbench .projectbar .action-item.workspace-entry.checked .active-item-indicator {
141
background-color: var(--vscode-activityBar-activeBorder, var(--vscode-activityBar-foreground));
142
}
143
144
/* Active background for checked items */
145
.monaco-workbench .projectbar .action-item.workspace-entry.checked {
146
background-color: var(--vscode-activityBar-activeBackground);
147
}
148
149
/* High contrast styling */
150
.monaco-workbench.hc-black .projectbar .action-item .action-label,
151
.monaco-workbench.hc-light .projectbar .action-item .action-label {
152
padding: 6px;
153
}
154
155
.monaco-workbench.hc-black .projectbar .action-item.checked .action-label::before,
156
.monaco-workbench.hc-light .projectbar .action-item.checked .action-label::before {
157
outline: 1px solid var(--vscode-contrastActiveBorder);
158
}
159
160
.monaco-workbench.hc-black .projectbar .action-item:hover .action-label::before,
161
.monaco-workbench.hc-light .projectbar .action-item:hover .action-label::before {
162
outline: 1px dashed var(--vscode-contrastActiveBorder);
163
}
164
165
/* ===== Global Composite Bar (Accounts, Settings) at bottom ===== */
166
167
.monaco-workbench .projectbar > .content > .monaco-action-bar {
168
text-align: center;
169
background-color: inherit;
170
}
171
172
.monaco-workbench .projectbar > .content > .monaco-action-bar .action-item {
173
display: block;
174
position: relative;
175
}
176
177
.monaco-workbench .projectbar > .content > .monaco-action-bar .action-label {
178
position: relative;
179
z-index: 1;
180
display: flex;
181
overflow: hidden;
182
width: 48px;
183
height: 48px;
184
margin-right: 0;
185
box-sizing: border-box;
186
}
187
188
.monaco-workbench .projectbar > .content > .monaco-action-bar .action-label.codicon {
189
font-size: 24px;
190
align-items: center;
191
justify-content: center;
192
color: var(--vscode-activityBar-inactiveForeground);
193
}
194
195
.monaco-workbench .projectbar > .content > .monaco-action-bar .action-item.active .action-label.codicon,
196
.monaco-workbench .projectbar > .content > .monaco-action-bar .action-item:focus .action-label.codicon,
197
.monaco-workbench .projectbar > .content > .monaco-action-bar .action-item:hover .action-label.codicon {
198
color: var(--vscode-activityBar-foreground) !important;
199
}
200
201
.monaco-workbench .projectbar > .content > .monaco-action-bar .action-item:focus {
202
outline: 0 !important;
203
}
204
205
.monaco-workbench .projectbar > .content > .monaco-action-bar .profile-badge,
206
.monaco-workbench .projectbar > .content > .monaco-action-bar .active-item-indicator,
207
.monaco-workbench .projectbar > .content > .monaco-action-bar .badge {
208
position: absolute;
209
top: 0;
210
bottom: 0;
211
margin: auto;
212
left: 0;
213
overflow: hidden;
214
width: 100%;
215
height: 100%;
216
}
217
218
.monaco-workbench .projectbar > .content > .monaco-action-bar .active-item-indicator,
219
.monaco-workbench .projectbar > .content > .monaco-action-bar .badge {
220
z-index: 2;
221
}
222
223
.monaco-workbench .projectbar > .content > .monaco-action-bar .profile-badge {
224
z-index: 1;
225
}
226
227
.monaco-workbench .projectbar > .content > .monaco-action-bar .active-item-indicator {
228
pointer-events: none;
229
}
230
231
.monaco-workbench .projectbar > .content > .monaco-action-bar .badge .badge-content {
232
position: absolute;
233
top: 24px;
234
right: 8px;
235
font-size: 9px;
236
font-weight: 600;
237
min-width: 8px;
238
height: 16px;
239
line-height: 16px;
240
padding: 0 4px;
241
border-radius: 20px;
242
text-align: center;
243
}
244
245
.monaco-workbench .projectbar > .content > .monaco-action-bar .profile-badge .profile-text-overlay {
246
position: absolute;
247
font-weight: 600;
248
font-size: 9px;
249
line-height: 10px;
250
top: 24px;
251
right: 6px;
252
padding: 2px 3px;
253
border-radius: 7px;
254
background-color: var(--vscode-profileBadge-background);
255
color: var(--vscode-profileBadge-foreground);
256
border: 2px solid var(--vscode-activityBar-background);
257
}
258
259
.monaco-workbench .projectbar > .content > .monaco-action-bar .action-item:active .profile-text-overlay,
260
.monaco-workbench .projectbar > .content > .monaco-action-bar .action-item:focus .profile-text-overlay,
261
.monaco-workbench .projectbar > .content > .monaco-action-bar .action-item:hover .profile-text-overlay {
262
color: var(--vscode-activityBar-foreground);
263
}
264
265