vg-coder-cli 2.0.34 → 2.0.36

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.
@@ -0,0 +1,242 @@
1
+ /* Project Panel Styles - IDE-Style */
2
+
3
+ /* Override tool-panel-content for project-specific styling */
4
+ #project-panel-content {
5
+ padding: 8px 0;
6
+ }
7
+
8
+ /* Project Tree Container */
9
+ .project-tree-wrapper {
10
+ width: 100%;
11
+ font-family: 'SF Mono', 'Menlo', 'Consolas', monospace;
12
+ font-size: 12px;
13
+ color: #DFE1E5;
14
+ }
15
+
16
+ [data-theme="light"] .project-tree-wrapper {
17
+ color: #000000;
18
+ }
19
+
20
+ /* Loading State */
21
+ .project-loading {
22
+ padding: 20px;
23
+ text-align: center;
24
+ color: #868A8E;
25
+ font-size: 12px;
26
+ }
27
+
28
+ /* Empty State */
29
+ .project-empty-state {
30
+ padding: 20px;
31
+ text-align: center;
32
+ color: #868A8E;
33
+ font-size: 12px;
34
+ }
35
+
36
+ /* Tree Structure */
37
+ .project-tree-ul {
38
+ list-style: none;
39
+ padding-left: 0;
40
+ margin: 0;
41
+ }
42
+
43
+ .project-tree-ul .project-tree-ul {
44
+ padding-left: 16px;
45
+ }
46
+
47
+ .project-tree-li {
48
+ margin: 0;
49
+ position: relative;
50
+ }
51
+
52
+ /* Tree Item Row */
53
+ .project-tree-row {
54
+ display: flex;
55
+ align-items: center;
56
+ padding: 3px 8px;
57
+ cursor: pointer;
58
+ transition: background 0.1s ease;
59
+ line-height: 1.4;
60
+ min-height: 24px;
61
+ }
62
+
63
+ .project-tree-row:hover {
64
+ background: rgba(255, 255, 255, 0.08);
65
+ }
66
+
67
+ [data-theme="light"] .project-tree-row:hover {
68
+ background: rgba(0, 0, 0, 0.05);
69
+ }
70
+
71
+ .project-tree-row.selected {
72
+ background: rgba(78, 132, 232, 0.2);
73
+ }
74
+
75
+ [data-theme="light"] .project-tree-row.selected {
76
+ background: rgba(0, 122, 255, 0.15);
77
+ }
78
+
79
+ /* Expand Arrow */
80
+ .project-arrow {
81
+ display: inline-block;
82
+ width: 14px;
83
+ text-align: center;
84
+ font-size: 10px;
85
+ color: #868A8E;
86
+ transition: transform 0.15s ease;
87
+ flex-shrink: 0;
88
+ margin-right: 2px;
89
+ }
90
+
91
+ .project-tree-li.collapsed > .project-tree-row .project-arrow {
92
+ transform: rotate(-90deg);
93
+ }
94
+
95
+ .project-tree-li:not(.has-children) .project-arrow {
96
+ visibility: hidden;
97
+ }
98
+
99
+ /* Checkbox */
100
+ .project-checkbox {
101
+ margin-right: 6px;
102
+ cursor: pointer;
103
+ width: 14px;
104
+ height: 14px;
105
+ accent-color: #4E84E8;
106
+ flex-shrink: 0;
107
+ }
108
+
109
+ [data-theme="light"] .project-checkbox {
110
+ accent-color: #007AFF;
111
+ }
112
+
113
+ /* Icon */
114
+ .project-icon {
115
+ margin-right: 6px;
116
+ font-size: 14px;
117
+ width: 16px;
118
+ text-align: center;
119
+ flex-shrink: 0;
120
+ }
121
+
122
+ /* Name */
123
+ .project-name {
124
+ flex: 1;
125
+ white-space: nowrap;
126
+ overflow: hidden;
127
+ text-overflow: ellipsis;
128
+ margin-right: 8px;
129
+ color: #DFE1E5;
130
+ font-size: 12px;
131
+ }
132
+
133
+ [data-theme="light"] .project-name {
134
+ color: #000000;
135
+ }
136
+
137
+ .project-tree-row:hover .project-name {
138
+ color: #FFFFFF;
139
+ }
140
+
141
+ [data-theme="light"] .project-tree-row:hover .project-name {
142
+ color: #000000;
143
+ }
144
+
145
+ /* Token Badge */
146
+ .project-token-badge {
147
+ font-size: 9px;
148
+ padding: 2px 5px;
149
+ border-radius: 3px;
150
+ font-weight: 600;
151
+ min-width: 32px;
152
+ text-align: right;
153
+ flex-shrink: 0;
154
+ font-family: 'SF Mono', monospace;
155
+ }
156
+
157
+ .project-token-low {
158
+ color: #3fb950;
159
+ }
160
+
161
+ .project-token-med {
162
+ color: #d29922;
163
+ }
164
+
165
+ .project-token-high {
166
+ color: #f85149;
167
+ }
168
+
169
+ /* Collapsed state */
170
+ .project-tree-li.collapsed > .project-tree-ul {
171
+ display: none;
172
+ }
173
+
174
+ /* Panel Actions Bar */
175
+ .project-panel-actions-bar {
176
+ padding: 8px 12px;
177
+ border-bottom: 1px solid #1E1F22;
178
+ display: flex;
179
+ gap: 6px;
180
+ background: #2B2D30;
181
+ }
182
+
183
+ [data-theme="light"] .project-panel-actions-bar {
184
+ background: #F2F2F2;
185
+ border-bottom: 1px solid #D1D1D1;
186
+ }
187
+
188
+ .project-action-btn {
189
+ padding: 4px 10px;
190
+ background: transparent;
191
+ border: 1px solid #1E1F22;
192
+ color: #868A8E;
193
+ cursor: pointer;
194
+ border-radius: 4px;
195
+ font-size: 11px;
196
+ transition: all 0.15s ease;
197
+ display: flex;
198
+ align-items: center;
199
+ gap: 4px;
200
+ }
201
+
202
+ .project-action-btn:hover {
203
+ background: rgba(255, 255, 255, 0.1);
204
+ border-color: #4E84E8;
205
+ color: #DFE1E5;
206
+ }
207
+
208
+ [data-theme="light"] .project-action-btn {
209
+ border-color: #D1D1D1;
210
+ }
211
+
212
+ [data-theme="light"] .project-action-btn:hover {
213
+ background: rgba(0, 0, 0, 0.05);
214
+ border-color: #007AFF;
215
+ color: #000000;
216
+ }
217
+
218
+ /* Token Summary */
219
+ .project-token-summary {
220
+ padding: 6px 12px;
221
+ border-bottom: 1px solid #1E1F22;
222
+ font-size: 11px;
223
+ color: #868A8E;
224
+ background: #1E1F22;
225
+ display: flex;
226
+ justify-content: space-between;
227
+ align-items: center;
228
+ }
229
+
230
+ [data-theme="light"] .project-token-summary {
231
+ background: #E8E8E8;
232
+ border-bottom: 1px solid #D1D1D1;
233
+ }
234
+
235
+ .project-token-count {
236
+ font-weight: 600;
237
+ color: #4E84E8;
238
+ }
239
+
240
+ [data-theme="light"] .project-token-count {
241
+ color: #007AFF;
242
+ }
@@ -0,0 +1,165 @@
1
+ /* Keyboard Shortcuts Help Panel */
2
+ .vg-shortcuts-help {
3
+ position: fixed;
4
+ top: 0;
5
+ left: 0;
6
+ width: 100%;
7
+ height: 100%;
8
+ background: rgba(0, 0, 0, 0.7);
9
+ backdrop-filter: blur(5px);
10
+ display: none;
11
+ align-items: center;
12
+ justify-content: center;
13
+ z-index: 2147483646; /* Just below bubble */
14
+ animation: fadeIn 0.2s ease;
15
+ }
16
+
17
+ .vg-shortcuts-help.visible {
18
+ display: flex;
19
+ }
20
+
21
+ .vg-shortcuts-panel {
22
+ background: var(--bg-secondary, #1e1e1e);
23
+ border-radius: 12px;
24
+ padding: 32px;
25
+ max-width: 500px;
26
+ width: 90%;
27
+ box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
28
+ animation: slideUp 0.3s ease;
29
+ position: relative;
30
+ }
31
+
32
+ .vg-shortcuts-header {
33
+ display: flex;
34
+ align-items: center;
35
+ justify-content: space-between;
36
+ margin-bottom: 24px;
37
+ padding-bottom: 16px;
38
+ border-bottom: 2px solid var(--border-color, #333);
39
+ }
40
+
41
+ .vg-shortcuts-title {
42
+ display: flex;
43
+ align-items: center;
44
+ gap: 12px;
45
+ font-size: 24px;
46
+ font-weight: 600;
47
+ color: var(--text-primary, #fff);
48
+ }
49
+
50
+ .vg-shortcuts-close {
51
+ background: transparent;
52
+ border: none;
53
+ font-size: 28px;
54
+ cursor: pointer;
55
+ color: var(--text-secondary, #888);
56
+ transition: all 0.2s;
57
+ padding: 4px 8px;
58
+ border-radius: 6px;
59
+ line-height: 1;
60
+ }
61
+
62
+ .vg-shortcuts-close:hover {
63
+ background: var(--bg-hover, #333);
64
+ color: var(--text-primary, #fff);
65
+ }
66
+
67
+ .vg-shortcuts-list {
68
+ display: flex;
69
+ flex-direction: column;
70
+ gap: 16px;
71
+ }
72
+
73
+ .vg-shortcut-item {
74
+ display: flex;
75
+ align-items: center;
76
+ justify-content: space-between;
77
+ padding: 12px 16px;
78
+ background: var(--bg-primary, #2a2a2a);
79
+ border-radius: 8px;
80
+ transition: all 0.2s;
81
+ }
82
+
83
+ .vg-shortcut-item:hover {
84
+ background: var(--bg-hover, #333);
85
+ transform: translateX(4px);
86
+ }
87
+
88
+ .vg-shortcut-desc {
89
+ color: var(--text-primary, #fff);
90
+ font-size: 15px;
91
+ }
92
+
93
+ .vg-shortcut-keys {
94
+ display: flex;
95
+ gap: 4px;
96
+ align-items: center;
97
+ }
98
+
99
+ .vg-shortcut-key {
100
+ background: linear-gradient(to bottom, #4a4a4a, #2a2a2a);
101
+ border: 1px solid #555;
102
+ border-radius: 6px;
103
+ padding: 6px 12px;
104
+ font-family: 'SF Mono', 'Monaco', 'Courier New', monospace;
105
+ font-size: 13px;
106
+ color: var(--text-primary, #fff);
107
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
108
+ min-width: 32px;
109
+ text-align: center;
110
+ }
111
+
112
+ .vg-shortcut-plus {
113
+ color: var(--text-secondary, #888);
114
+ font-size: 12px;
115
+ }
116
+
117
+ .vg-shortcuts-footer {
118
+ margin-top: 24px;
119
+ padding-top: 16px;
120
+ border-top: 1px solid var(--border-color, #333);
121
+ text-align: center;
122
+ color: var(--text-secondary, #888);
123
+ font-size: 13px;
124
+ }
125
+
126
+ /* Animations */
127
+ @keyframes fadeIn {
128
+ from {
129
+ opacity: 0;
130
+ }
131
+ to {
132
+ opacity: 1;
133
+ }
134
+ }
135
+
136
+ @keyframes slideUp {
137
+ from {
138
+ opacity: 0;
139
+ transform: translateY(20px);
140
+ }
141
+ to {
142
+ opacity: 1;
143
+ transform: translateY(0);
144
+ }
145
+ }
146
+
147
+ /* Dark theme compatibility */
148
+ [data-theme="dark"] .vg-shortcuts-help {
149
+ --bg-primary: #1e1e1e;
150
+ --bg-secondary: #2a2a2a;
151
+ --bg-hover: #333;
152
+ --text-primary: #fff;
153
+ --text-secondary: #888;
154
+ --border-color: #444;
155
+ }
156
+
157
+ /* Light theme */
158
+ [data-theme="light"] .vg-shortcuts-help {
159
+ --bg-primary: #f5f5f5;
160
+ --bg-secondary: #fff;
161
+ --bg-hover: #e8e8e8;
162
+ --text-primary: #333;
163
+ --text-secondary: #666;
164
+ --border-color: #ddd;
165
+ }
@@ -0,0 +1,267 @@
1
+ /* Tool Window Bar - IDE-Style Sidebar */
2
+ .tool-window-bar {
3
+ width: 48px;
4
+ height: 100%;
5
+ background: #2B2D30;
6
+ border-right: 1px solid #1E1F22;
7
+ display: flex;
8
+ flex-direction: column;
9
+ align-items: center;
10
+ padding: 8px 0;
11
+ gap: 4px;
12
+ flex-shrink: 0;
13
+ z-index: 100;
14
+ }
15
+
16
+ [data-theme="light"] .tool-window-bar {
17
+ background: #F2F2F2;
18
+ border-right: 1px solid #D1D1D1;
19
+ }
20
+
21
+ /* Tool Window Icon Buttons */
22
+ .tool-window-icon {
23
+ width: 40px;
24
+ height: 40px;
25
+ display: flex;
26
+ align-items: center;
27
+ justify-content: center;
28
+ cursor: pointer;
29
+ border-radius: 6px;
30
+ font-size: 18px;
31
+ transition: background 0.15s ease, transform 0.1s ease;
32
+ position: relative;
33
+ background: transparent;
34
+ border: none;
35
+ color: #868A8E;
36
+ }
37
+
38
+ .tool-window-icon:hover {
39
+ background: rgba(255, 255, 255, 0.1);
40
+ color: #DFE1E5;
41
+ }
42
+
43
+ [data-theme="light"] .tool-window-icon:hover {
44
+ background: rgba(0, 0, 0, 0.06);
45
+ color: #000000;
46
+ }
47
+
48
+ .tool-window-icon.active {
49
+ background: rgba(78, 132, 232, 0.2);
50
+ color: #4E84E8;
51
+ }
52
+
53
+ [data-theme="light"] .tool-window-icon.active {
54
+ background: rgba(0, 122, 255, 0.15);
55
+ color: #007AFF;
56
+ }
57
+
58
+ .tool-window-icon:active {
59
+ transform: scale(0.95);
60
+ }
61
+
62
+ /* Tooltip */
63
+ .tool-window-icon::after {
64
+ content: attr(data-tooltip);
65
+ position: absolute;
66
+ left: 52px;
67
+ top: 50%;
68
+ transform: translateY(-50%);
69
+ background: #3C3F41;
70
+ color: #DFE1E5;
71
+ padding: 6px 10px;
72
+ border-radius: 6px;
73
+ font-size: 12px;
74
+ font-weight: 500;
75
+ white-space: nowrap;
76
+ opacity: 0;
77
+ pointer-events: none;
78
+ transition: opacity 0.2s ease;
79
+ z-index: 10000;
80
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
81
+ }
82
+
83
+ [data-theme="light"] .tool-window-icon::after {
84
+ background: #FFFFFF;
85
+ color: #000000;
86
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
87
+ }
88
+
89
+ .tool-window-icon:hover::after {
90
+ opacity: 1;
91
+ }
92
+
93
+ /* Tool Window Spacer - Pushes action buttons to bottom */
94
+ .tool-window-spacer {
95
+ flex: 1;
96
+ }
97
+
98
+ /* Tool Window Action Buttons (Stop Server, Theme Toggle) */
99
+ .tool-window-action-btn {
100
+ width: 40px;
101
+ height: 40px;
102
+ display: flex;
103
+ align-items: center;
104
+ justify-content: center;
105
+ cursor: pointer;
106
+ border-radius: 6px;
107
+ font-size: 18px;
108
+ transition: background 0.15s ease, transform 0.1s ease;
109
+ background: transparent;
110
+ border: none;
111
+ color: #868A8E;
112
+ }
113
+
114
+ .tool-window-action-btn:hover {
115
+ background: rgba(255, 255, 255, 0.1);
116
+ color: #DFE1E5;
117
+ }
118
+
119
+ [data-theme="light"] .tool-window-action-btn:hover {
120
+ background: rgba(0, 0, 0, 0.06);
121
+ color: #000000;
122
+ }
123
+
124
+ .tool-window-action-btn:active {
125
+ transform: scale(0.95);
126
+ }
127
+
128
+ /* Tool Panel Container */
129
+ .tool-panel-container {
130
+ width: 0;
131
+ height: 100%;
132
+ background: #2B2D30;
133
+ border-right: 1px solid #1E1F22;
134
+ overflow: hidden;
135
+ transition: width 0.25s ease;
136
+ flex-shrink: 0;
137
+ position: relative;
138
+ z-index: 99;
139
+ }
140
+
141
+ [data-theme="light"] .tool-panel-container {
142
+ background: #F7F7F7;
143
+ border-right: 1px solid #D1D1D1;
144
+ }
145
+
146
+ .tool-panel-container.expanded {
147
+ width: 520px;
148
+ }
149
+
150
+ /* Individual Tool Panel */
151
+ .tool-panel {
152
+ width: 100%;
153
+ height: 100%;
154
+ display: none;
155
+ flex-direction: column;
156
+ background: #2B2D30;
157
+ color: #DFE1E5;
158
+ }
159
+
160
+ [data-theme="light"] .tool-panel {
161
+ background: #F7F7F7;
162
+ color: #000000;
163
+ }
164
+
165
+ .tool-panel.active {
166
+ display: flex;
167
+ }
168
+
169
+ /* Panel Header */
170
+ .tool-panel-header {
171
+ height: 40px;
172
+ padding: 0 12px;
173
+ display: flex;
174
+ align-items: center;
175
+ justify-content: space-between;
176
+ background: #2B2D30;
177
+ border-bottom: 1px solid #1E1F22;
178
+ flex-shrink: 0;
179
+ }
180
+
181
+ [data-theme="light"] .tool-panel-header {
182
+ background: #F2F2F2;
183
+ border-bottom: 1px solid #D1D1D1;
184
+ }
185
+
186
+ .tool-panel-title {
187
+ font-size: 12px;
188
+ font-weight: 700;
189
+ text-transform: uppercase;
190
+ letter-spacing: 0.5px;
191
+ color: #868A8E;
192
+ display: flex;
193
+ align-items: center;
194
+ gap: 8px;
195
+ }
196
+
197
+ [data-theme="light"] .tool-panel-title {
198
+ color: #6E6E6E;
199
+ }
200
+
201
+ .tool-panel-actions {
202
+ display: flex;
203
+ gap: 4px;
204
+ }
205
+
206
+ .tool-panel-action-btn {
207
+ width: 24px;
208
+ height: 24px;
209
+ border: none;
210
+ background: transparent;
211
+ color: #868A8E;
212
+ cursor: pointer;
213
+ border-radius: 4px;
214
+ display: flex;
215
+ align-items: center;
216
+ justify-content: center;
217
+ font-size: 14px;
218
+ transition: background 0.15s ease;
219
+ }
220
+
221
+ .tool-panel-action-btn:hover {
222
+ background: rgba(255, 255, 255, 0.1);
223
+ color: #DFE1E5;
224
+ }
225
+
226
+ [data-theme="light"] .tool-panel-action-btn:hover {
227
+ background: rgba(0, 0, 0, 0.06);
228
+ color: #000000;
229
+ }
230
+
231
+ /* Panel Content */
232
+ .tool-panel-content {
233
+ flex: 1;
234
+ overflow-y: auto;
235
+ overflow-x: hidden;
236
+ background: #2B2D30;
237
+ }
238
+
239
+ [data-theme="light"] .tool-panel-content {
240
+ background: #FFFFFF;
241
+ }
242
+
243
+ /* Custom Scrollbar for Panels */
244
+ .tool-panel-content::-webkit-scrollbar {
245
+ width: 8px;
246
+ }
247
+
248
+ .tool-panel-content::-webkit-scrollbar-track {
249
+ background: transparent;
250
+ }
251
+
252
+ .tool-panel-content::-webkit-scrollbar-thumb {
253
+ background: rgba(255, 255, 255, 0.2);
254
+ border-radius: 4px;
255
+ }
256
+
257
+ .tool-panel-content::-webkit-scrollbar-thumb:hover {
258
+ background: rgba(255, 255, 255, 0.3);
259
+ }
260
+
261
+ [data-theme="light"] .tool-panel-content::-webkit-scrollbar-thumb {
262
+ background: rgba(0, 0, 0, 0.2);
263
+ }
264
+
265
+ [data-theme="light"] .tool-panel-content::-webkit-scrollbar-thumb:hover {
266
+ background: rgba(0, 0, 0, 0.3);
267
+ }
@@ -47,7 +47,7 @@
47
47
 
48
48
  /* Main Layout */
49
49
  .split-layout { display: flex; height: 100%; width: 100%; flex-direction: row; }
50
- .left-panel { flex: 0 0 520px; height: 100%; overflow-y: auto; background: var(--ios-bg); border-right: 1px solid var(--ios-separator); padding: 15px; }
50
+ .left-panel { flex: 0 0 100%; height: 100%; overflow-y: auto; background: var(--ios-bg); border-right: 1px solid var(--ios-separator); padding: 15px; }
51
51
  .right-panel { flex: 1; height: 100%; background: var(--ios-bg); display: flex; flex-direction: column; overflow: hidden; }
52
52
 
53
53
  /* Header & Meta */