Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/workbench/contrib/chat/browser/media/chatSessions.css
3297 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
/* Ensure consistent title background regardless of number of views */
7
.composite.viewlet[id="workbench.view.chat.sessions"] .pane-header.expanded.not-collapsible {
8
background-color: var(--vscode-sideBarSectionHeader-background) !important;
9
}
10
11
/* Style for empty state message */
12
.chat-sessions-message {
13
padding: 20px;
14
text-align: center;
15
color: var(--vscode-descriptionForeground);
16
}
17
18
.chat-sessions-message .no-sessions-message {
19
display: flex;
20
align-items: center;
21
justify-content: center;
22
gap: 8px;
23
font-style: italic;
24
}
25
26
/* Simple approach - directly style the edit container for chat sessions */
27
.chat-sessions-tree-container .explorer-item.explorer-item-edited {
28
display: flex;
29
align-items: center;
30
height: 22px;
31
padding: 0;
32
}
33
34
.chat-sessions-tree-container .explorer-item.explorer-item-edited .codicon {
35
margin-right: 6px;
36
flex-shrink: 0;
37
}
38
39
.chat-sessions-tree-container .explorer-item.explorer-item-edited .monaco-inputbox {
40
flex: 1;
41
width: 100%;
42
line-height: normal;
43
border: none !important;
44
background: transparent !important;
45
}
46
47
/* Add the complete outline border that file explorer uses (this replaces the border) */
48
.chat-sessions-tree-container .explorer-item.explorer-item-edited .monaco-inputbox input[type="text"] {
49
outline-width: 1px;
50
outline-style: solid;
51
outline-offset: -1px;
52
outline-color: var(--vscode-focusBorder);
53
opacity: 1;
54
border: none !important; /* Remove any default border */
55
}
56
57
.chat-sessions-tree-container .chat-session-item.multiline {
58
padding: 2px 0;
59
}
60
61
/* Position session content and actions inline */
62
.chat-sessions-tree-container .chat-session-item .session-content {
63
display: flex;
64
justify-content: space-between;
65
align-items: center;
66
width: 100%;
67
min-height: 22px;
68
line-height: 22px;
69
}
70
71
.chat-sessions-tree-container .chat-session-item .description-row {
72
display: none;
73
align-items: center;
74
font-size: 0.9em;
75
line-height: 1em;
76
margin: 2px 22px 0 22px;
77
overflow: hidden;
78
text-overflow: ellipsis;
79
white-space: nowrap;
80
}
81
82
.chat-sessions-tree-container .chat-session-item .description-row p {
83
padding: 2px;
84
margin: 0px;
85
border-radius: 4px;
86
}
87
88
.chat-sessions-tree-container .chat-session-item .description-row a {
89
color: var(--vscode-foreground);
90
}
91
92
.chat-sessions-tree-container .chat-session-item .description-row .description:hover p {
93
background: var(--vscode-toolbar-hoverBackground);
94
}
95
96
.chat-sessions-tree-container .chat-session-item .description-row .description {
97
opacity: 0.5;
98
}
99
.chat-sessions-tree-container .chat-session-item .description-row .statistics {
100
margin-left: 8px;
101
}
102
103
.getting-started-list-container .monaco-list-row {
104
padding-left: 8px;
105
}
106
107
.chat-sessions-tree-container .chat-session-item .description-row .statistics .insertions {
108
color: var(--vscode-chat-linesAddedForeground);
109
padding-left: 4px;
110
}
111
112
.chat-sessions-tree-container .chat-session-item .description-row .statistics .deletions {
113
color: var(--vscode-chat-linesRemovedForeground);
114
padding-left: 4px;
115
}
116
117
.chat-sessions-tree-container .chat-session-item .actions {
118
display: flex;
119
align-items: center;
120
flex-shrink: 0;
121
}
122
123
/* Hide actions by default, show on hover and focus */
124
.chat-sessions-tree-container .chat-session-item .actions .monaco-action-bar .action-label {
125
opacity: 0;
126
}
127
128
.chat-sessions-tree-container .chat-session-item:hover .actions .monaco-action-bar .action-label,
129
.chat-sessions-tree-container .monaco-list-row.focused .chat-session-item .actions .monaco-action-bar .action-label,
130
.chat-sessions-tree-container .monaco-list-row.selected .chat-session-item .actions .monaco-action-bar .action-label {
131
opacity: 1;
132
}
133
134
/* For items with descriptions, keep the structure but adjust alignment */
135
.chat-sessions-tree-container .chat-session-item .session-content {
136
align-items: center;
137
padding-top: 0;
138
padding-bottom: 0;
139
}
140
141
/* Ensure resource label takes up available space */
142
.chat-sessions-tree-container .chat-session-item .monaco-icon-label {
143
flex: 1;
144
min-width: 0; /* Allow text to truncate */
145
text-overflow: ellipsis;
146
overflow: hidden;
147
}
148
149
.chat-sessions-tree-container .chat-session-item .monaco-icon-label::before {
150
text-align: center;
151
}
152
153
.chat-sessions-tree-container .chat-session-item .monaco-icon-label.codicon-loading::before {
154
animation: codicon-spin 1.5s steps(30) infinite;
155
}
156
157
/* Timestamp styling - similar to timeline pane */
158
.chat-sessions-tree-container .chat-session-item .timestamp-container {
159
margin-left: auto;
160
margin-right: 4px;
161
opacity: 0.5;
162
overflow: hidden;
163
text-overflow: ellipsis;
164
flex-shrink: 0;
165
font-size: 0.9em;
166
min-width: 10px;
167
}
168
169
.chat-sessions-tree-container .chat-session-item .timestamp-container.timestamp-duplicate::before {
170
content: ' ';
171
position: absolute;
172
top: 0px;
173
right: 10px;
174
border-right: 1px solid currentColor;
175
display: block;
176
height: 100%;
177
width: 1px;
178
opacity: 0.25;
179
}
180
181
.chat-sessions-tree-container .monaco-list-row:hover .chat-session-item .timestamp-container.timestamp-duplicate::before,
182
.chat-sessions-tree-container .monaco-list-row.selected .chat-session-item .timestamp-container.timestamp-duplicate::before,
183
.chat-sessions-tree-container .monaco-list-row.focused .chat-session-item .timestamp-container.timestamp-duplicate::before {
184
display: none;
185
}
186
187
.chat-sessions-tree-container .chat-session-item .timestamp-container .timestamp {
188
display: inline-block;
189
}
190
191
.chat-sessions-tree-container .chat-session-item .timestamp-container.timestamp-duplicate .timestamp {
192
visibility: hidden;
193
width: 10px;
194
}
195
196
.chat-sessions-tree-container .monaco-list-row:hover .chat-session-item .timestamp-container.timestamp-duplicate .timestamp,
197
.chat-sessions-tree-container .monaco-list-row.selected .chat-session-item .timestamp-container.timestamp-duplicate .timestamp,
198
.chat-sessions-tree-container .monaco-list-row.focused .chat-session-item .timestamp-container.timestamp-duplicate .timestamp {
199
visibility: visible !important;
200
width: initial;
201
}
202
203
.chat-sessions-tree-container .monaco-list-row .actions {
204
display: none;
205
}
206
207
.chat-sessions-tree-container .monaco-list-row:hover .actions {
208
display: block;
209
}
210
211
/* Hide twisties for elements that don't have children */
212
.chat-sessions-tree-container .monaco-list-row .monaco-tl-twistie {
213
visibility: hidden;
214
width: 0;
215
padding: 0;
216
margin: 0;
217
}
218
219
/* Show twistie only for collapsible items (like "Show history...") */
220
.chat-sessions-tree-container .monaco-list-row[aria-expanded] .monaco-tl-twistie {
221
visibility: visible;
222
width: auto;
223
padding-left: 0px;
224
padding-right: 6px;
225
margin: initial;
226
}
227
228
/* History items styling */
229
.chat-sessions-tree-container .chat-session-item[data-history-item="true"] {
230
opacity: 0.9;
231
}
232
233
.chat-sessions-tree-container .chat-session-item[data-history-item="true"]:hover {
234
background-color: var(--vscode-list-hoverBackground);
235
}
236
237