@huyooo/file-explorer-frontend-react 0.4.14 → 0.4.16

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.
package/dist/index.css CHANGED
@@ -1,34 +1,190 @@
1
+ /* src/index.css */
2
+ :root {
3
+ color-scheme: light;
4
+ --huyooo-bg: #f7f7f4;
5
+ --huyooo-surface: #f2f1ed;
6
+ --huyooo-surface-2: #f0efeb;
7
+ --huyooo-muted: #ebeae5;
8
+ --huyooo-muted-hover: #e6e5e0;
9
+ --huyooo-border: #26251e1a;
10
+ --huyooo-text: #26251eeb;
11
+ --huyooo-text-muted: #26251e99;
12
+ --huyooo-text-disabled: #26251e66;
13
+ --huyooo-primary: #54a9ff;
14
+ --huyooo-focus-ring: rgba(84, 169, 255, 0.18);
15
+ --huyooo-shadow-sm: 0 1px 2px 0 rgba(38, 37, 30, 0.08);
16
+ --huyooo-scrollbar: rgba(38, 37, 30, 0.2);
17
+ --huyooo-scrollbar-hover: rgba(38, 37, 30, 0.3);
18
+ --huyooo-danger: #cf2d56;
19
+ --huyooo-success: #1f8a65;
20
+ --huyooo-warning: rgb(245, 158, 11);
21
+ --huyooo-danger-bg: rgba(207, 45, 86, 0.1);
22
+ --huyooo-danger-border: rgba(207, 45, 86, 0.22);
23
+ --huyooo-success-bg: rgba(31, 138, 101, 0.1);
24
+ --huyooo-success-border: rgba(31, 138, 101, 0.22);
25
+ --huyooo-warning-bg: rgba(255, 251, 235, 0.92);
26
+ --huyooo-warning-border: rgba(253, 230, 138, 0.9);
27
+ --huyooo-overlay: rgba(0, 0, 0, 0.5);
28
+ --huyooo-panel-bg: #f2f1ed;
29
+ --huyooo-shadow-lg: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
30
+ --huyooo-code-bg: #f2f1ed;
31
+ --huyooo-code-text: #26251eeb;
32
+ --huyooo-menu-bg: #f2f1ed;
33
+ --huyooo-menu-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 4px 6px -2px rgba(0, 0, 0, 0.1);
34
+ --huyooo-window-close-bg: rgb(255, 95, 87);
35
+ --huyooo-window-close-border: rgb(224, 68, 62);
36
+ --huyooo-window-minimize-bg: rgb(254, 188, 46);
37
+ --huyooo-window-minimize-border: rgb(216, 158, 36);
38
+ --huyooo-window-maximize-bg: rgb(40, 200, 64);
39
+ --huyooo-window-maximize-border: rgb(26, 171, 41);
40
+ --huyooo-window-control-icon: rgba(0, 0, 0, 0.5);
41
+ --huyooo-overlay-strong: rgba(0, 0, 0, 0.85);
42
+ --huyooo-on-primary: #ffffff;
43
+ --huyooo-on-primary-muted: rgba(255, 255, 255, 0.8);
44
+ --huyooo-filetype-folder: var(--huyooo-primary);
45
+ --huyooo-filetype-image: #7ec699;
46
+ --huyooo-filetype-video: #c678dd;
47
+ --huyooo-filetype-music: #e06c75;
48
+ --huyooo-filetype-document: #61afef;
49
+ --huyooo-filetype-code: #98c379;
50
+ --huyooo-filetype-archive: #d19a66;
51
+ --huyooo-filetype-file: #abb2bf;
52
+ }
53
+ @media (prefers-color-scheme: dark) {
54
+ :root {
55
+ color-scheme: dark;
56
+ --huyooo-bg: #1e1e1e;
57
+ --huyooo-surface: #1e1e1e;
58
+ --huyooo-surface-2: #252526;
59
+ --huyooo-muted: #2d2d2d;
60
+ --huyooo-muted-hover: #3c3c3c;
61
+ --huyooo-border: #333;
62
+ --huyooo-text: #ccc;
63
+ --huyooo-text-muted: #888;
64
+ --huyooo-text-disabled: #666;
65
+ --huyooo-primary: #54a9ff;
66
+ --huyooo-focus-ring: rgba(84, 169, 255, 0.22);
67
+ --huyooo-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.35);
68
+ --huyooo-scrollbar: rgba(255, 255, 255, 0.2);
69
+ --huyooo-scrollbar-hover: rgba(255, 255, 255, 0.3);
70
+ --huyooo-danger: #cf2d56;
71
+ --huyooo-success: #1f8a65;
72
+ --huyooo-warning: #f59e0b;
73
+ --huyooo-danger-bg: rgba(207, 45, 86, 0.14);
74
+ --huyooo-danger-border: rgba(207, 45, 86, 0.28);
75
+ --huyooo-success-bg: rgba(31, 138, 101, 0.14);
76
+ --huyooo-success-border: rgba(31, 138, 101, 0.28);
77
+ --huyooo-warning-bg: rgba(245, 158, 11, 0.12);
78
+ --huyooo-warning-border: rgba(245, 158, 11, 0.25);
79
+ --huyooo-overlay: rgba(0, 0, 0, 0.6);
80
+ --huyooo-panel-bg: #252526;
81
+ --huyooo-shadow-lg: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
82
+ --huyooo-code-bg: #1f2937;
83
+ --huyooo-code-text: #e5e7eb;
84
+ --huyooo-menu-bg: #252526;
85
+ --huyooo-menu-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.45), 0 4px 6px -2px rgba(0, 0, 0, 0.35);
86
+ }
87
+ }
88
+ :root[data-theme=light] {
89
+ color-scheme: light;
90
+ --huyooo-bg: #f7f7f4;
91
+ --huyooo-surface: #f2f1ed;
92
+ --huyooo-surface-2: #f0efeb;
93
+ --huyooo-muted: #ebeae5;
94
+ --huyooo-muted-hover: #e6e5e0;
95
+ --huyooo-border: #26251e1a;
96
+ --huyooo-text: #26251eeb;
97
+ --huyooo-text-muted: #26251e99;
98
+ --huyooo-text-disabled: #26251e66;
99
+ --huyooo-primary: #54a9ff;
100
+ --huyooo-focus-ring: rgba(84, 169, 255, 0.18);
101
+ --huyooo-shadow-sm: 0 1px 2px 0 rgba(38, 37, 30, 0.08);
102
+ --huyooo-scrollbar: rgba(38, 37, 30, 0.2);
103
+ --huyooo-scrollbar-hover: rgba(38, 37, 30, 0.3);
104
+ --huyooo-danger: #cf2d56;
105
+ --huyooo-success: #1f8a65;
106
+ --huyooo-warning: rgb(245, 158, 11);
107
+ --huyooo-danger-bg: rgba(207, 45, 86, 0.1);
108
+ --huyooo-danger-border: rgba(207, 45, 86, 0.22);
109
+ --huyooo-success-bg: rgba(31, 138, 101, 0.1);
110
+ --huyooo-success-border: rgba(31, 138, 101, 0.22);
111
+ --huyooo-warning-bg: rgba(255, 251, 235, 0.92);
112
+ --huyooo-warning-border: rgba(253, 230, 138, 0.9);
113
+ --huyooo-overlay: rgba(0, 0, 0, 0.5);
114
+ --huyooo-panel-bg: #f2f1ed;
115
+ --huyooo-shadow-lg: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
116
+ --huyooo-code-bg: #f2f1ed;
117
+ --huyooo-code-text: #26251eeb;
118
+ --huyooo-menu-bg: #f2f1ed;
119
+ --huyooo-menu-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 4px 6px -2px rgba(0, 0, 0, 0.1);
120
+ --huyooo-filetype-folder: var(--huyooo-primary);
121
+ }
122
+ :root[data-theme=dark] {
123
+ color-scheme: dark;
124
+ --huyooo-bg: #1e1e1e;
125
+ --huyooo-surface: #1e1e1e;
126
+ --huyooo-surface-2: #252526;
127
+ --huyooo-muted: #2d2d2d;
128
+ --huyooo-muted-hover: #3c3c3c;
129
+ --huyooo-border: #333;
130
+ --huyooo-text: #ccc;
131
+ --huyooo-text-muted: #888;
132
+ --huyooo-text-disabled: #666;
133
+ --huyooo-primary: #54a9ff;
134
+ --huyooo-focus-ring: rgba(84, 169, 255, 0.22);
135
+ --huyooo-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.35);
136
+ --huyooo-scrollbar: rgba(255, 255, 255, 0.2);
137
+ --huyooo-scrollbar-hover: rgba(255, 255, 255, 0.3);
138
+ --huyooo-danger: #cf2d56;
139
+ --huyooo-success: #1f8a65;
140
+ --huyooo-warning: #f59e0b;
141
+ --huyooo-danger-bg: rgba(207, 45, 86, 0.14);
142
+ --huyooo-danger-border: rgba(207, 45, 86, 0.28);
143
+ --huyooo-success-bg: rgba(31, 138, 101, 0.14);
144
+ --huyooo-success-border: rgba(31, 138, 101, 0.28);
145
+ --huyooo-warning-bg: rgba(245, 158, 11, 0.12);
146
+ --huyooo-warning-border: rgba(245, 158, 11, 0.25);
147
+ --huyooo-overlay: rgba(0, 0, 0, 0.6);
148
+ --huyooo-panel-bg: #252526;
149
+ --huyooo-shadow-lg: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
150
+ --huyooo-code-bg: #1f2937;
151
+ --huyooo-code-text: #e5e7eb;
152
+ --huyooo-menu-bg: #252526;
153
+ --huyooo-menu-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.45), 0 4px 6px -2px rgba(0, 0, 0, 0.35);
154
+ --huyooo-filetype-folder: var(--huyooo-primary);
155
+ }
156
+
1
157
  /* src/components/FileIcon.css */
2
158
  .file-icon--folder {
3
- color: rgb(96, 165, 250);
4
- fill: rgb(96, 165, 250);
159
+ color: var(--huyooo-primary);
160
+ fill: var(--huyooo-primary);
5
161
  }
6
162
  .file-icon--image {
7
- color: rgb(168, 85, 247);
163
+ color: var(--huyooo-primary);
8
164
  }
9
165
  .file-icon--text {
10
- color: rgb(107, 114, 128);
166
+ color: var(--huyooo-text-muted);
11
167
  }
12
168
  .file-icon--code {
13
- color: rgb(34, 197, 94);
169
+ color: var(--huyooo-success);
14
170
  }
15
171
  .file-icon--music {
16
- color: rgb(248, 113, 113);
172
+ color: var(--huyooo-danger);
17
173
  }
18
174
  .file-icon--video {
19
- color: rgb(37, 99, 235);
175
+ color: var(--huyooo-primary);
20
176
  }
21
177
  .file-icon--pdf {
22
- color: rgb(220, 38, 38);
178
+ color: var(--huyooo-danger);
23
179
  }
24
180
  .file-icon--application {
25
- color: rgb(139, 92, 246);
181
+ color: var(--huyooo-primary);
26
182
  }
27
183
  .file-icon--archive {
28
- color: rgb(234, 179, 8);
184
+ color: var(--huyooo-warning);
29
185
  }
30
186
  .file-icon--default {
31
- color: rgb(156, 163, 175);
187
+ color: var(--huyooo-text-disabled);
32
188
  }
33
189
 
34
190
  /* src/components/FileGrid.css */
@@ -63,18 +219,18 @@
63
219
  cursor: grabbing;
64
220
  }
65
221
  .file-grid-item--normal:hover {
66
- background: rgba(0, 0, 0, 0.04);
222
+ background: var(--huyooo-muted-hover);
67
223
  }
68
224
  .file-grid-item--selected {
69
- background: rgba(0, 122, 255, 0.12);
70
- border-color: rgba(0, 122, 255, 0.2);
225
+ background: var(--huyooo-focus-ring);
226
+ border-color: var(--huyooo-primary);
71
227
  }
72
228
  .file-grid-item--selected:hover {
73
- background: rgba(0, 122, 255, 0.16);
229
+ background: var(--huyooo-focus-ring);
74
230
  }
75
231
  .file-grid-item--drag-over {
76
- background: rgba(0, 122, 255, 0.2);
77
- border-color: rgba(0, 122, 255, 0.4);
232
+ background: var(--huyooo-focus-ring);
233
+ border-color: var(--huyooo-primary);
78
234
  }
79
235
  .file-grid-item-icon {
80
236
  position: relative;
@@ -92,8 +248,8 @@
92
248
  object-fit: cover;
93
249
  object-position: center;
94
250
  border-radius: 4px;
95
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.04);
96
- background: #f5f5f5;
251
+ box-shadow: var(--huyooo-shadow-sm);
252
+ background: var(--huyooo-muted);
97
253
  display: block;
98
254
  }
99
255
  .file-grid-item-thumbnail--application {
@@ -103,16 +259,16 @@
103
259
  border-radius: 10px;
104
260
  }
105
261
  .file-grid-item-thumbnail--selected {
106
- box-shadow: 0 2px 6px rgba(0, 122, 255, 0.2), 0 0 0 2px rgba(0, 122, 255, 0.3);
262
+ box-shadow: 0 0 0 2px var(--huyooo-primary), 0 0 0 6px var(--huyooo-focus-ring);
107
263
  }
108
264
  .file-grid-item-thumbnail--video {
109
265
  position: relative;
110
266
  border-radius: 4px;
111
267
  overflow: hidden;
112
- background: #000;
268
+ background: var(--huyooo-overlay-strong);
113
269
  width: 48px;
114
270
  height: 48px;
115
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
271
+ box-shadow: var(--huyooo-shadow-sm);
116
272
  display: flex;
117
273
  align-items: center;
118
274
  justify-content: center;
@@ -141,7 +297,7 @@
141
297
  width: 20px;
142
298
  height: 20px;
143
299
  border-radius: 50%;
144
- background: rgba(0, 0, 0, 0.5);
300
+ background: var(--huyooo-overlay);
145
301
  backdrop-filter: blur(4px);
146
302
  display: flex;
147
303
  align-items: center;
@@ -172,7 +328,7 @@
172
328
  user-select: none;
173
329
  cursor: default;
174
330
  transition: color 100ms;
175
- color: #1d1d1f;
331
+ color: var(--huyooo-text);
176
332
  width: 100%;
177
333
  display: flex;
178
334
  flex-direction: column;
@@ -205,48 +361,21 @@
205
361
  line-height: 1.3;
206
362
  text-align: center;
207
363
  padding: 2px 4px;
208
- border: 1px solid #007aff;
364
+ border: 1px solid var(--huyooo-primary);
209
365
  border-radius: 3px;
210
366
  outline: none;
211
- box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.2);
212
- background: white;
367
+ box-shadow: 0 0 0 3px var(--huyooo-focus-ring);
368
+ background: var(--huyooo-surface-2);
369
+ color: var(--huyooo-text);
213
370
  cursor: text;
214
371
  }
215
- @media (prefers-color-scheme: dark) {
216
- .file-grid-item--normal:hover {
217
- background: rgba(255, 255, 255, 0.06);
218
- }
219
- .file-grid-item--selected {
220
- background: rgba(10, 132, 255, 0.25);
221
- border-color: rgba(10, 132, 255, 0.3);
222
- }
223
- .file-grid-item--selected:hover {
224
- background: rgba(10, 132, 255, 0.3);
225
- }
226
- .file-grid-item--drag-over {
227
- background: rgba(10, 132, 255, 0.35);
228
- border-color: rgba(10, 132, 255, 0.5);
229
- }
230
- .file-grid-item-thumbnail {
231
- background: #2c2c2e;
232
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.05);
233
- }
234
- .file-grid-item-name {
235
- color: #f5f5f7;
236
- }
237
- .file-grid-item-rename-input {
238
- background: #1c1c1e;
239
- border-color: #0a84ff;
240
- color: #f5f5f7;
241
- }
242
- }
243
372
 
244
373
  /* src/components/SortIndicator.css */
245
374
  .sort-indicator {
246
375
  margin-left: 4px;
247
376
  display: inline-flex;
248
377
  align-items: center;
249
- color: rgb(59, 130, 246);
378
+ color: var(--huyooo-primary);
250
379
  }
251
380
 
252
381
  /* src/components/FileList.css */
@@ -263,13 +392,13 @@
263
392
  }
264
393
  .file-list-header {
265
394
  font-size: 11px;
266
- color: #86868b;
395
+ color: var(--huyooo-text-muted);
267
396
  font-weight: 500;
268
397
  text-transform: uppercase;
269
398
  letter-spacing: 0.3px;
270
399
  position: sticky;
271
400
  top: 0;
272
- background: rgba(255, 255, 255, 0.92);
401
+ background: var(--huyooo-surface);
273
402
  backdrop-filter: blur(8px);
274
403
  -webkit-backdrop-filter: blur(8px);
275
404
  z-index: 10;
@@ -277,14 +406,14 @@
277
406
  }
278
407
  .file-list-header-cell {
279
408
  padding: 6px 12px;
280
- border-bottom: 1px solid rgba(0, 0, 0, 0.08);
409
+ border-bottom: 1px solid var(--huyooo-border);
281
410
  cursor: pointer;
282
411
  text-align: left;
283
412
  font-weight: 500;
284
413
  transition: background-color 100ms;
285
414
  }
286
415
  .file-list-header-cell:hover {
287
- background: rgba(0, 0, 0, 0.04);
416
+ background: var(--huyooo-muted-hover);
288
417
  }
289
418
  .file-list-header-cell--name {
290
419
  padding-left: 12px;
@@ -309,27 +438,27 @@
309
438
  background: transparent;
310
439
  }
311
440
  .file-list-row--odd {
312
- background: rgba(0, 0, 0, 0.015);
441
+ background: color-mix(in srgb, var(--huyooo-muted) 20%, transparent);
313
442
  }
314
443
  .file-list-row--even:hover,
315
444
  .file-list-row--odd:hover {
316
- background: rgba(0, 0, 0, 0.04);
445
+ background: var(--huyooo-muted-hover);
317
446
  }
318
447
  .file-list-row--selected {
319
- background: #007aff;
448
+ background: var(--huyooo-primary);
320
449
  color: white;
321
450
  }
322
451
  .file-list-row--selected:hover {
323
- background: #0066d6;
452
+ background: var(--huyooo-primary-hover, var(--huyooo-primary));
324
453
  }
325
454
  .file-list-row--drag-over {
326
- background: rgba(0, 122, 255, 0.15);
327
- border-bottom-color: rgba(0, 122, 255, 0.3);
455
+ background: var(--huyooo-focus-ring);
456
+ border-bottom-color: var(--huyooo-primary);
328
457
  }
329
458
  .file-list-cell {
330
459
  padding: 4px 12px;
331
460
  white-space: nowrap;
332
- color: #6e6e73;
461
+ color: var(--huyooo-text-muted);
333
462
  vertical-align: middle;
334
463
  height: 28px;
335
464
  }
@@ -341,7 +470,7 @@
341
470
  gap: 8px;
342
471
  }
343
472
  .file-list-cell--selected {
344
- color: rgba(255, 255, 255, 0.75);
473
+ color: var(--huyooo-on-primary-muted);
345
474
  }
346
475
  .file-list-cell--size {
347
476
  font-family:
@@ -350,14 +479,14 @@
350
479
  "Cascadia Code",
351
480
  monospace;
352
481
  font-size: 11px;
353
- color: #8e8e93;
482
+ color: var(--huyooo-text-disabled);
354
483
  font-variant-numeric: tabular-nums;
355
484
  }
356
485
  .file-list-name {
357
486
  overflow: hidden;
358
487
  text-overflow: ellipsis;
359
488
  flex: 1;
360
- color: #1d1d1f;
489
+ color: var(--huyooo-text);
361
490
  cursor: default;
362
491
  font-weight: 400;
363
492
  }
@@ -370,59 +499,14 @@
370
499
  flex: 1;
371
500
  font-size: 13px;
372
501
  padding: 2px 6px;
373
- border: 1px solid #007aff;
502
+ border: 1px solid var(--huyooo-primary);
374
503
  border-radius: 4px;
375
504
  outline: none;
376
- box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.2);
377
- background: white;
505
+ box-shadow: 0 0 0 3px var(--huyooo-focus-ring);
506
+ background: var(--huyooo-surface-2);
507
+ color: var(--huyooo-text);
378
508
  cursor: text;
379
509
  }
380
- @media (prefers-color-scheme: dark) {
381
- .file-list-header {
382
- background: rgba(28, 28, 30, 0.92);
383
- color: #98989d;
384
- }
385
- .file-list-header-cell {
386
- border-bottom-color: rgba(255, 255, 255, 0.08);
387
- }
388
- .file-list-header-cell:hover {
389
- background: rgba(255, 255, 255, 0.04);
390
- }
391
- .file-list-row--odd {
392
- background: rgba(255, 255, 255, 0.02);
393
- }
394
- .file-list-row--even:hover,
395
- .file-list-row--odd:hover {
396
- background: rgba(255, 255, 255, 0.06);
397
- }
398
- .file-list-row--selected {
399
- background: #0a84ff;
400
- }
401
- .file-list-row--selected:hover {
402
- background: #0077ed;
403
- }
404
- .file-list-row--drag-over {
405
- background: rgba(10, 132, 255, 0.2);
406
- border-bottom-color: rgba(10, 132, 255, 0.4);
407
- }
408
- .file-list-cell {
409
- color: #98989d;
410
- }
411
- .file-list-cell--size {
412
- color: #6e6e73;
413
- }
414
- .file-list-name {
415
- color: #f5f5f7;
416
- }
417
- .file-list-name--selected {
418
- color: white;
419
- }
420
- .file-list-rename-input {
421
- background: #1c1c1e;
422
- border-color: #0a84ff;
423
- color: #f5f5f7;
424
- }
425
- }
426
510
 
427
511
  /* src/components/FileListView.css */
428
512
  .file-list-view {
@@ -439,14 +523,14 @@
439
523
  align-items: center;
440
524
  justify-content: center;
441
525
  height: 100%;
442
- color: rgb(156, 163, 175);
526
+ color: var(--huyooo-text-disabled);
443
527
  gap: 16px;
444
528
  }
445
529
  .file-list-view-spinner {
446
530
  width: 32px;
447
531
  height: 32px;
448
- border: 3px solid rgba(156, 163, 175, 0.2);
449
- border-top-color: rgb(59, 130, 246);
532
+ border: 3px solid color-mix(in srgb, var(--huyooo-text-disabled) 20%, transparent);
533
+ border-top-color: var(--huyooo-primary);
450
534
  border-radius: 50%;
451
535
  animation: spin 0.8s linear infinite;
452
536
  }
@@ -462,9 +546,9 @@
462
546
  /* src/components/FileSidebar.css */
463
547
  .file-sidebar {
464
548
  width: 12rem;
465
- background: rgba(243, 244, 246, 0.5);
549
+ background: var(--huyooo-muted);
466
550
  backdrop-filter: blur(24px);
467
- border-right: 1px solid rgba(229, 231, 233, 0.5);
551
+ border-right: 1px solid var(--huyooo-border);
468
552
  display: flex;
469
553
  flex-direction: column;
470
554
  padding-top: 2rem;
@@ -483,11 +567,11 @@
483
567
  background: transparent;
484
568
  }
485
569
  .file-sidebar::-webkit-scrollbar-thumb {
486
- background: rgba(0, 0, 0, 0.2);
570
+ background: var(--huyooo-scrollbar);
487
571
  border-radius: 3px;
488
572
  }
489
573
  .file-sidebar::-webkit-scrollbar-thumb:hover {
490
- background: rgba(0, 0, 0, 0.3);
574
+ background: var(--huyooo-scrollbar-hover);
491
575
  }
492
576
  .file-sidebar-section {
493
577
  margin-bottom: 0;
@@ -498,7 +582,7 @@
498
582
  margin-bottom: 0.5rem;
499
583
  font-size: 0.75rem;
500
584
  font-weight: 600;
501
- color: rgb(107, 114, 128);
585
+ color: var(--huyooo-text-muted);
502
586
  text-transform: uppercase;
503
587
  letter-spacing: 0.05em;
504
588
  }
@@ -522,22 +606,22 @@
522
606
  cursor: pointer;
523
607
  font-size: 0.875rem;
524
608
  font-weight: 500;
525
- color: rgb(75, 85, 99);
609
+ color: var(--huyooo-text-muted);
526
610
  transition: all 200ms;
527
611
  }
528
612
  .file-sidebar-item:hover {
529
- background: rgba(229, 231, 233, 0.5);
530
- color: black;
613
+ background: var(--huyooo-muted-hover);
614
+ color: var(--huyooo-text);
531
615
  }
532
616
  .file-sidebar-item--active {
533
- background: rgba(209, 213, 219, 0.6);
534
- color: black;
617
+ background: var(--huyooo-muted-hover);
618
+ color: var(--huyooo-text);
535
619
  }
536
620
  .file-sidebar-item-icon {
537
- color: rgb(107, 114, 128);
621
+ color: var(--huyooo-text-muted);
538
622
  }
539
623
  .file-sidebar-item-icon--active {
540
- color: rgb(37, 99, 235);
624
+ color: var(--huyooo-primary);
541
625
  }
542
626
 
543
627
  /* src/components/Breadcrumb.css */
@@ -571,36 +655,36 @@
571
655
  border: none;
572
656
  background: transparent;
573
657
  cursor: pointer;
574
- color: rgb(75, 85, 99);
658
+ color: var(--huyooo-text-muted);
575
659
  overflow: hidden;
576
660
  text-overflow: ellipsis;
577
661
  white-space: nowrap;
578
662
  }
579
663
  .file-breadcrumb-link:hover {
580
- background: rgba(229, 231, 233, 0.6);
581
- color: rgb(17, 24, 39);
664
+ background: var(--huyooo-muted-hover);
665
+ color: var(--huyooo-text);
582
666
  }
583
667
  .file-breadcrumb-link--current {
584
668
  font-weight: 600;
585
- color: rgb(17, 24, 39);
586
- background: rgba(229, 231, 233, 0.5);
669
+ color: var(--huyooo-text);
670
+ background: var(--huyooo-muted);
587
671
  cursor: default;
588
672
  }
589
673
  .file-breadcrumb-link--current:hover {
590
- background: rgba(229, 231, 233, 0.5);
674
+ background: var(--huyooo-muted);
591
675
  }
592
676
  .file-breadcrumb-separator {
593
- color: rgb(156, 163, 175);
677
+ color: var(--huyooo-text-disabled);
594
678
  margin: 0 0.25rem;
595
679
  flex-shrink: 0;
596
680
  }
597
681
 
598
682
  /* src/components/Toolbar.css */
599
683
  .file-toolbar {
600
- height: 3rem;
601
- background: rgba(249, 250, 251, 0.9);
684
+ height: 48px;
685
+ background: var(--huyooo-surface);
602
686
  backdrop-filter: blur(12px);
603
- border-bottom: 1px solid rgb(229, 231, 233);
687
+ border-bottom: 1px solid var(--huyooo-border);
604
688
  display: flex;
605
689
  align-items: center;
606
690
  padding: 0 1rem;
@@ -615,8 +699,8 @@
615
699
  .file-toolbar-nav {
616
700
  display: flex;
617
701
  align-items: center;
618
- color: rgb(75, 85, 99);
619
- background: rgba(229, 231, 233, 0.5);
702
+ color: var(--huyooo-text-muted);
703
+ background: var(--huyooo-muted);
620
704
  border-radius: 0.5rem;
621
705
  padding: 0.125rem;
622
706
  flex-shrink: 0;
@@ -632,19 +716,19 @@
632
716
  display: flex;
633
717
  align-items: center;
634
718
  justify-content: center;
635
- color: rgb(31, 41, 55);
719
+ color: var(--huyooo-text);
636
720
  }
637
721
  .file-toolbar-button:hover:not(:disabled) {
638
- background: rgb(209, 213, 219);
722
+ background: var(--huyooo-muted-hover);
639
723
  }
640
724
  .file-toolbar-button:disabled {
641
- color: rgb(156, 163, 175);
725
+ color: var(--huyooo-text-disabled);
642
726
  cursor: default;
643
727
  }
644
728
  .file-toolbar-button--active {
645
- background: white;
646
- box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
647
- color: rgb(31, 41, 55);
729
+ background: var(--huyooo-surface-2);
730
+ box-shadow: var(--huyooo-shadow-sm);
731
+ color: var(--huyooo-text);
648
732
  }
649
733
  .file-toolbar-breadcrumb {
650
734
  flex: 1;
@@ -680,14 +764,14 @@
680
764
  left: 0.625rem;
681
765
  top: 50%;
682
766
  transform: translateY(-50%);
683
- color: rgb(156, 163, 175);
767
+ color: var(--huyooo-text-disabled);
684
768
  transition: color 200ms;
685
769
  }
686
770
  .file-toolbar-search:focus-within .file-toolbar-search-icon {
687
- color: rgb(59, 130, 246);
771
+ color: var(--huyooo-primary);
688
772
  }
689
773
  .file-toolbar-search-input {
690
- background: rgb(243, 244, 246);
774
+ background: var(--huyooo-muted);
691
775
  border: 1px solid transparent;
692
776
  border-radius: 0.375rem;
693
777
  padding-left: 2rem;
@@ -698,45 +782,45 @@
698
782
  outline: none;
699
783
  transition: all 200ms;
700
784
  width: 8rem;
701
- color: rgb(55, 65, 81);
785
+ color: var(--huyooo-text);
702
786
  }
703
787
  .file-toolbar-search-input::placeholder {
704
- color: rgb(156, 163, 175);
788
+ color: var(--huyooo-text-disabled);
705
789
  }
706
790
  .file-toolbar-search-input:focus {
707
- background: white;
708
- border-color: rgb(96, 165, 250);
709
- box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);
791
+ background: var(--huyooo-surface-2);
792
+ border-color: var(--huyooo-primary);
793
+ box-shadow: 0 0 0 2px var(--huyooo-focus-ring);
710
794
  width: 12rem;
711
795
  }
712
796
  .file-toolbar-view-toggle {
713
797
  display: flex;
714
798
  align-items: center;
715
- background: rgba(229, 231, 233, 0.5);
799
+ background: var(--huyooo-muted);
716
800
  border-radius: 0.5rem;
717
801
  padding: 0.125rem;
718
- color: rgb(75, 85, 99);
802
+ color: var(--huyooo-text-muted);
719
803
  }
720
804
  .file-toolbar-view-toggle .file-toolbar-button--active {
721
- background: white;
722
- box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
723
- color: rgb(31, 41, 55);
805
+ background: var(--huyooo-surface-2);
806
+ box-shadow: var(--huyooo-shadow-sm);
807
+ color: var(--huyooo-text);
724
808
  }
725
809
  .file-toolbar-view-toggle .file-toolbar-button:not(.file-toolbar-button--active):hover {
726
- background: rgba(209, 213, 219, 0.5);
810
+ background: var(--huyooo-muted-hover);
727
811
  }
728
812
 
729
813
  /* src/components/StatusBar.css */
730
814
  .file-status-bar {
731
- height: 1.5rem;
732
- background-color: rgb(249, 250, 251);
733
- border-top: 1px solid rgb(229, 231, 233);
815
+ height: 32px;
816
+ background-color: var(--huyooo-surface-2);
817
+ border-top: 1px solid var(--huyooo-border);
734
818
  display: flex;
735
819
  align-items: center;
736
820
  justify-content: center;
737
821
  padding: 0 8px;
738
822
  font-size: 10px;
739
- color: rgb(107, 114, 128);
823
+ color: var(--huyooo-text-muted);
740
824
  user-select: none;
741
825
  flex-shrink: 0;
742
826
  z-index: 20;
@@ -757,11 +841,11 @@
757
841
  position: fixed;
758
842
  z-index: 10000;
759
843
  width: 220px;
760
- background: rgba(255, 255, 255, 0.95);
844
+ background: var(--huyooo-menu-bg);
761
845
  backdrop-filter: blur(24px);
762
- border: 1px solid rgba(229, 231, 233, 0.5);
846
+ border: 1px solid var(--huyooo-border);
763
847
  border-radius: 0.5rem;
764
- box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 4px 6px -2px rgba(0, 0, 0, 0.1);
848
+ box-shadow: var(--huyooo-menu-shadow);
765
849
  padding: 0.25rem 0;
766
850
  font-size: 0.875rem;
767
851
  user-select: none;
@@ -791,21 +875,21 @@
791
875
  align-items: center;
792
876
  gap: 0.5rem;
793
877
  padding: 0.375rem 1rem;
794
- color: rgb(55, 65, 81);
878
+ color: var(--huyooo-text);
795
879
  transition: all 200ms;
796
880
  border: none;
797
881
  background: transparent;
798
882
  cursor: pointer;
799
883
  }
800
884
  .context-menu-item:hover {
801
- background: rgb(59, 130, 246);
885
+ background: var(--huyooo-primary);
802
886
  color: white;
803
887
  }
804
888
  .context-menu-item:hover .context-menu-item-icon {
805
889
  color: white;
806
890
  }
807
891
  .context-menu-item:hover .context-menu-item-shortcut {
808
- color: rgba(255, 255, 255, 0.7);
892
+ color: var(--huyooo-on-primary-muted);
809
893
  }
810
894
  .context-menu-item--disabled {
811
895
  opacity: 0.5;
@@ -813,55 +897,55 @@
813
897
  }
814
898
  .context-menu-item--disabled:hover {
815
899
  background: transparent;
816
- color: rgb(55, 65, 81);
900
+ color: var(--huyooo-text);
817
901
  }
818
902
  .context-menu-item--disabled:hover .context-menu-item-icon {
819
- color: rgb(107, 114, 128);
903
+ color: var(--huyooo-text-muted);
820
904
  }
821
905
  .context-menu-item--danger {
822
- color: rgb(220, 38, 38);
906
+ color: var(--huyooo-danger);
823
907
  }
824
908
  .context-menu-item--danger:hover {
825
- background: rgb(220, 38, 38);
909
+ background: var(--huyooo-danger);
826
910
  color: white;
827
911
  }
828
912
  .context-menu-item--danger .context-menu-item-icon {
829
- color: rgb(220, 38, 38);
913
+ color: var(--huyooo-danger);
830
914
  }
831
915
  .context-menu-item--danger:hover .context-menu-item-icon {
832
916
  color: white;
833
917
  }
834
918
  .context-menu-item-icon {
835
- color: rgb(107, 114, 128);
919
+ color: var(--huyooo-text-muted);
836
920
  flex-shrink: 0;
837
921
  }
838
922
  .context-menu-item-label {
839
923
  flex: 1;
840
924
  }
841
925
  .context-menu-item-shortcut {
842
- color: rgb(156, 163, 175);
926
+ color: var(--huyooo-text-disabled);
843
927
  font-size: 0.6875rem;
844
928
  }
845
929
  .context-menu-separator {
846
930
  height: 1px;
847
- background: rgb(229, 231, 233);
931
+ background: var(--huyooo-border);
848
932
  margin: 0.25rem 0.5rem;
849
933
  }
850
934
  .context-menu-item--has-children {
851
935
  position: relative;
852
936
  }
853
937
  .context-menu-item--active {
854
- background: rgb(59, 130, 246);
938
+ background: var(--huyooo-primary);
855
939
  color: white;
856
940
  }
857
941
  .context-menu-item--active .context-menu-item-icon {
858
942
  color: white;
859
943
  }
860
944
  .context-menu-item--active .context-menu-item-shortcut {
861
- color: rgba(255, 255, 255, 0.7);
945
+ color: var(--huyooo-on-primary-muted);
862
946
  }
863
947
  .context-menu-item-check {
864
- color: rgb(107, 114, 128);
948
+ color: var(--huyooo-text-muted);
865
949
  flex-shrink: 0;
866
950
  margin-left: auto;
867
951
  }
@@ -870,7 +954,7 @@
870
954
  color: white;
871
955
  }
872
956
  .context-menu-item-arrow {
873
- color: rgb(156, 163, 175);
957
+ color: var(--huyooo-text-disabled);
874
958
  flex-shrink: 0;
875
959
  margin-left: auto;
876
960
  }
@@ -887,7 +971,7 @@
887
971
  position: fixed;
888
972
  inset: 0;
889
973
  z-index: 100;
890
- background: rgba(0, 0, 0, 0.3);
974
+ background: var(--huyooo-overlay);
891
975
  animation: fade-in 200ms ease-out;
892
976
  display: flex;
893
977
  align-items: center;
@@ -897,10 +981,10 @@
897
981
  position: absolute;
898
982
  display: flex;
899
983
  flex-direction: column;
900
- background: rgba(255, 255, 255, 0.95);
984
+ background: var(--huyooo-panel-bg);
901
985
  backdrop-filter: blur(24px);
902
- border: 1px solid rgb(229, 231, 233);
903
- box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
986
+ border: 1px solid var(--huyooo-border);
987
+ box-shadow: var(--huyooo-shadow-lg);
904
988
  border-radius: 0.5rem;
905
989
  overflow: hidden;
906
990
  animation: window-fade-in 200ms ease-out;
@@ -911,10 +995,10 @@
911
995
  align-items: center;
912
996
  justify-content: space-between;
913
997
  padding: 0 0.75rem;
914
- border-bottom: 1px solid rgb(229, 231, 233);
998
+ border-bottom: 1px solid var(--huyooo-border);
915
999
  flex-shrink: 0;
916
1000
  user-select: none;
917
- background: rgba(249, 250, 251, 0.8);
1001
+ background: var(--huyooo-surface);
918
1002
  z-index: 20;
919
1003
  cursor: grab;
920
1004
  }
@@ -934,7 +1018,7 @@
934
1018
  align-items: center;
935
1019
  justify-content: center;
936
1020
  border: 1px solid;
937
- box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
1021
+ box-shadow: var(--huyooo-shadow-sm);
938
1022
  outline: none;
939
1023
  cursor: pointer;
940
1024
  padding: 0;
@@ -955,19 +1039,19 @@
955
1039
  min-height: 7px;
956
1040
  }
957
1041
  .window-control-button--close {
958
- background-color: rgb(255, 95, 87);
959
- border-color: rgb(224, 68, 62);
1042
+ background-color: var(--huyooo-window-close-bg);
1043
+ border-color: var(--huyooo-window-close-border);
960
1044
  }
961
1045
  .window-control-button--minimize {
962
- background-color: rgb(254, 188, 46);
963
- border-color: rgb(216, 158, 36);
1046
+ background-color: var(--huyooo-window-minimize-bg);
1047
+ border-color: var(--huyooo-window-minimize-border);
964
1048
  }
965
1049
  .window-control-button--maximize {
966
- background-color: rgb(40, 200, 64);
967
- border-color: rgb(26, 171, 41);
1050
+ background-color: var(--huyooo-window-maximize-bg);
1051
+ border-color: var(--huyooo-window-maximize-border);
968
1052
  }
969
1053
  .window-control-icon {
970
- color: rgba(0, 0, 0, 0.5);
1054
+ color: var(--huyooo-window-control-icon);
971
1055
  opacity: 0;
972
1056
  transition: opacity 200ms;
973
1057
  width: 7px;
@@ -978,13 +1062,13 @@
978
1062
  opacity: 1;
979
1063
  }
980
1064
  .window-control-button--close:hover {
981
- background-color: rgba(255, 95, 87, 0.8);
1065
+ background-color: color-mix(in srgb, var(--huyooo-window-close-bg) 80%, transparent);
982
1066
  }
983
1067
  .window-control-button--minimize:hover {
984
- background-color: rgba(254, 188, 46, 0.8);
1068
+ background-color: color-mix(in srgb, var(--huyooo-window-minimize-bg) 80%, transparent);
985
1069
  }
986
1070
  .window-control-button--maximize:hover {
987
- background-color: rgba(40, 200, 64, 0.8);
1071
+ background-color: color-mix(in srgb, var(--huyooo-window-maximize-bg) 80%, transparent);
988
1072
  }
989
1073
  .window-title-info {
990
1074
  display: flex;
@@ -999,7 +1083,7 @@
999
1083
  .window-title-text {
1000
1084
  font-weight: 500;
1001
1085
  font-size: 0.75rem;
1002
- color: rgb(75, 85, 99);
1086
+ color: var(--huyooo-text-muted);
1003
1087
  overflow: hidden;
1004
1088
  text-overflow: ellipsis;
1005
1089
  white-space: nowrap;
@@ -1106,16 +1190,16 @@
1106
1190
  .compress-dialog-overlay {
1107
1191
  position: fixed;
1108
1192
  inset: 0;
1109
- background: rgba(0, 0, 0, 0.5);
1193
+ background: var(--huyooo-overlay);
1110
1194
  display: flex;
1111
1195
  align-items: center;
1112
1196
  justify-content: center;
1113
1197
  z-index: 10000;
1114
1198
  }
1115
1199
  .compress-dialog {
1116
- background: white;
1200
+ background: var(--huyooo-panel-bg);
1117
1201
  border-radius: 12px;
1118
- box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
1202
+ box-shadow: var(--huyooo-shadow-lg);
1119
1203
  width: 420px;
1120
1204
  max-width: 90vw;
1121
1205
  max-height: 90vh;
@@ -1128,7 +1212,7 @@
1128
1212
  align-items: center;
1129
1213
  justify-content: space-between;
1130
1214
  padding: 16px 20px;
1131
- border-bottom: 1px solid rgb(229, 231, 233);
1215
+ border-bottom: 1px solid var(--huyooo-border);
1132
1216
  }
1133
1217
  .compress-dialog-title {
1134
1218
  display: flex;
@@ -1136,22 +1220,22 @@
1136
1220
  gap: 8px;
1137
1221
  font-weight: 600;
1138
1222
  font-size: 16px;
1139
- color: rgb(17, 24, 39);
1223
+ color: var(--huyooo-text);
1140
1224
  }
1141
1225
  .compress-dialog-close {
1142
1226
  background: none;
1143
1227
  border: none;
1144
1228
  padding: 4px;
1145
1229
  cursor: pointer;
1146
- color: rgb(107, 114, 128);
1230
+ color: var(--huyooo-text-muted);
1147
1231
  border-radius: 4px;
1148
1232
  display: flex;
1149
1233
  align-items: center;
1150
1234
  justify-content: center;
1151
1235
  }
1152
1236
  .compress-dialog-close:hover {
1153
- background: rgb(243, 244, 246);
1154
- color: rgb(55, 65, 81);
1237
+ background: var(--huyooo-muted);
1238
+ color: var(--huyooo-text);
1155
1239
  }
1156
1240
  .compress-dialog-content {
1157
1241
  padding: 20px;
@@ -1165,9 +1249,9 @@
1165
1249
  align-items: center;
1166
1250
  gap: 8px;
1167
1251
  padding: 12px;
1168
- background: rgb(249, 250, 251);
1252
+ background: var(--huyooo-surface);
1169
1253
  border-radius: 8px;
1170
- color: rgb(55, 65, 81);
1254
+ color: var(--huyooo-text);
1171
1255
  font-size: 14px;
1172
1256
  }
1173
1257
  .compress-dialog-field {
@@ -1178,7 +1262,7 @@
1178
1262
  .compress-dialog-field > label {
1179
1263
  font-size: 13px;
1180
1264
  font-weight: 500;
1181
- color: rgb(55, 65, 81);
1265
+ color: var(--huyooo-text);
1182
1266
  }
1183
1267
  .compress-dialog-input-group {
1184
1268
  display: flex;
@@ -1187,48 +1271,51 @@
1187
1271
  .compress-dialog-input-group input {
1188
1272
  flex: 1;
1189
1273
  padding: 8px 12px;
1190
- border: 1px solid rgb(209, 213, 219);
1274
+ border: 1px solid var(--huyooo-border);
1191
1275
  border-radius: 6px 0 0 6px;
1192
1276
  font-size: 14px;
1193
1277
  outline: none;
1194
1278
  transition: border-color 0.2s;
1279
+ background: var(--huyooo-surface-2);
1280
+ color: var(--huyooo-text);
1195
1281
  }
1196
1282
  .compress-dialog-input-group input:focus {
1197
- border-color: rgb(59, 130, 246);
1283
+ border-color: var(--huyooo-primary);
1198
1284
  }
1199
1285
  .compress-dialog-ext {
1200
1286
  padding: 8px 12px;
1201
- background: rgb(243, 244, 246);
1202
- border: 1px solid rgb(209, 213, 219);
1287
+ background: var(--huyooo-muted);
1288
+ border: 1px solid var(--huyooo-border);
1203
1289
  border-left: none;
1204
1290
  border-radius: 0 6px 6px 0;
1205
1291
  font-size: 14px;
1206
- color: rgb(107, 114, 128);
1292
+ color: var(--huyooo-text-muted);
1207
1293
  }
1208
1294
  .compress-dialog-toggle-password {
1209
1295
  padding: 8px 12px;
1210
- background: rgb(243, 244, 246);
1211
- border: 1px solid rgb(209, 213, 219);
1296
+ background: var(--huyooo-muted);
1297
+ border: 1px solid var(--huyooo-border);
1212
1298
  border-left: none;
1213
1299
  border-radius: 0 6px 6px 0;
1214
1300
  font-size: 12px;
1215
- color: rgb(59, 130, 246);
1301
+ color: var(--huyooo-primary);
1216
1302
  cursor: pointer;
1217
1303
  }
1218
1304
  .compress-dialog-toggle-password:hover {
1219
- background: rgb(229, 231, 235);
1305
+ background: var(--huyooo-muted-hover);
1220
1306
  }
1221
1307
  .compress-dialog-field select {
1222
1308
  padding: 8px 12px;
1223
- border: 1px solid rgb(209, 213, 219);
1309
+ border: 1px solid var(--huyooo-border);
1224
1310
  border-radius: 6px;
1225
1311
  font-size: 14px;
1226
1312
  outline: none;
1227
- background: white;
1313
+ background: var(--huyooo-surface-2);
1314
+ color: var(--huyooo-text);
1228
1315
  cursor: pointer;
1229
1316
  }
1230
1317
  .compress-dialog-field select:focus {
1231
- border-color: rgb(59, 130, 246);
1318
+ border-color: var(--huyooo-primary);
1232
1319
  }
1233
1320
  .compress-dialog-levels {
1234
1321
  display: flex;
@@ -1240,17 +1327,17 @@
1240
1327
  align-items: center;
1241
1328
  gap: 8px;
1242
1329
  padding: 8px 12px;
1243
- border: 1px solid rgb(229, 231, 233);
1330
+ border: 1px solid var(--huyooo-border);
1244
1331
  border-radius: 6px;
1245
1332
  cursor: pointer;
1246
1333
  transition: all 0.2s;
1247
1334
  }
1248
1335
  .compress-dialog-level:hover {
1249
- background: rgb(249, 250, 251);
1336
+ background: var(--huyooo-surface);
1250
1337
  }
1251
1338
  .compress-dialog-level:has(input:checked) {
1252
- border-color: rgb(59, 130, 246);
1253
- background: rgb(239, 246, 255);
1339
+ border-color: var(--huyooo-primary);
1340
+ background: var(--huyooo-focus-ring);
1254
1341
  }
1255
1342
  .compress-dialog-level input {
1256
1343
  margin: 0;
@@ -1258,11 +1345,11 @@
1258
1345
  .compress-dialog-level-label {
1259
1346
  font-size: 14px;
1260
1347
  font-weight: 500;
1261
- color: rgb(17, 24, 39);
1348
+ color: var(--huyooo-text);
1262
1349
  }
1263
1350
  .compress-dialog-level-desc {
1264
1351
  font-size: 12px;
1265
- color: rgb(107, 114, 128);
1352
+ color: var(--huyooo-text-muted);
1266
1353
  margin-left: auto;
1267
1354
  }
1268
1355
  .compress-dialog-checkbox label {
@@ -1271,7 +1358,7 @@
1271
1358
  gap: 8px;
1272
1359
  cursor: pointer;
1273
1360
  font-size: 14px;
1274
- color: rgb(55, 65, 81);
1361
+ color: var(--huyooo-text);
1275
1362
  }
1276
1363
  .compress-dialog-checkbox input {
1277
1364
  margin: 0;
@@ -1280,7 +1367,7 @@
1280
1367
  }
1281
1368
  .compress-dialog-preview {
1282
1369
  padding: 10px 12px;
1283
- background: rgb(249, 250, 251);
1370
+ background: var(--huyooo-surface);
1284
1371
  border-radius: 6px;
1285
1372
  font-size: 12px;
1286
1373
  display: flex;
@@ -1288,10 +1375,10 @@
1288
1375
  gap: 4px;
1289
1376
  }
1290
1377
  .compress-dialog-preview-label {
1291
- color: rgb(107, 114, 128);
1378
+ color: var(--huyooo-text-muted);
1292
1379
  }
1293
1380
  .compress-dialog-preview-path {
1294
- color: rgb(55, 65, 81);
1381
+ color: var(--huyooo-text);
1295
1382
  word-break: break-all;
1296
1383
  }
1297
1384
  .compress-dialog-footer {
@@ -1299,7 +1386,7 @@
1299
1386
  justify-content: flex-end;
1300
1387
  gap: 12px;
1301
1388
  padding: 16px 20px;
1302
- border-top: 1px solid rgb(229, 231, 233);
1389
+ border-top: 1px solid var(--huyooo-border);
1303
1390
  }
1304
1391
  .compress-dialog-btn {
1305
1392
  padding: 8px 20px;
@@ -1310,24 +1397,24 @@
1310
1397
  transition: all 0.2s;
1311
1398
  }
1312
1399
  .compress-dialog-btn-cancel {
1313
- background: white;
1314
- border: 1px solid rgb(209, 213, 219);
1315
- color: rgb(55, 65, 81);
1400
+ background: var(--huyooo-surface-2);
1401
+ border: 1px solid var(--huyooo-border);
1402
+ color: var(--huyooo-text);
1316
1403
  }
1317
1404
  .compress-dialog-btn-cancel:hover {
1318
- background: rgb(249, 250, 251);
1405
+ background: var(--huyooo-surface);
1319
1406
  }
1320
1407
  .compress-dialog-btn-confirm {
1321
- background: rgb(59, 130, 246);
1322
- border: 1px solid rgb(59, 130, 246);
1408
+ background: var(--huyooo-primary);
1409
+ border: 1px solid var(--huyooo-primary);
1323
1410
  color: white;
1324
1411
  }
1325
1412
  .compress-dialog-btn-confirm:hover {
1326
- background: rgb(37, 99, 235);
1413
+ background: var(--huyooo-primary-hover, var(--huyooo-primary));
1327
1414
  }
1328
1415
  .compress-dialog-btn-confirm:disabled {
1329
- background: rgb(156, 163, 175);
1330
- border-color: rgb(156, 163, 175);
1416
+ background: var(--huyooo-text-disabled);
1417
+ border-color: var(--huyooo-text-disabled);
1331
1418
  cursor: not-allowed;
1332
1419
  }
1333
1420
 
@@ -1335,16 +1422,16 @@
1335
1422
  .progress-dialog-overlay {
1336
1423
  position: fixed;
1337
1424
  inset: 0;
1338
- background: rgba(0, 0, 0, 0.5);
1425
+ background: var(--huyooo-overlay);
1339
1426
  display: flex;
1340
1427
  align-items: center;
1341
1428
  justify-content: center;
1342
1429
  z-index: 10001;
1343
1430
  }
1344
1431
  .progress-dialog {
1345
- background: white;
1432
+ background: var(--huyooo-panel-bg);
1346
1433
  border-radius: 12px;
1347
- box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
1434
+ box-shadow: var(--huyooo-shadow-lg);
1348
1435
  width: 380px;
1349
1436
  max-width: 90vw;
1350
1437
  overflow: hidden;
@@ -1356,7 +1443,7 @@
1356
1443
  align-items: center;
1357
1444
  justify-content: space-between;
1358
1445
  padding: 16px 20px;
1359
- border-bottom: 1px solid rgb(229, 231, 233);
1446
+ border-bottom: 1px solid var(--huyooo-border);
1360
1447
  }
1361
1448
  .progress-dialog-title {
1362
1449
  display: flex;
@@ -1364,22 +1451,22 @@
1364
1451
  gap: 10px;
1365
1452
  font-weight: 600;
1366
1453
  font-size: 16px;
1367
- color: rgb(17, 24, 39);
1454
+ color: var(--huyooo-text);
1368
1455
  }
1369
1456
  .progress-dialog-close {
1370
1457
  background: none;
1371
1458
  border: none;
1372
1459
  padding: 4px;
1373
1460
  cursor: pointer;
1374
- color: rgb(107, 114, 128);
1461
+ color: var(--huyooo-text-muted);
1375
1462
  border-radius: 4px;
1376
1463
  display: flex;
1377
1464
  align-items: center;
1378
1465
  justify-content: center;
1379
1466
  }
1380
1467
  .progress-dialog-close:hover {
1381
- background: rgb(243, 244, 246);
1382
- color: rgb(55, 65, 81);
1468
+ background: var(--huyooo-muted);
1469
+ color: var(--huyooo-text);
1383
1470
  }
1384
1471
  .progress-dialog-content {
1385
1472
  padding: 24px 20px;
@@ -1389,7 +1476,7 @@
1389
1476
  }
1390
1477
  .progress-dialog-status {
1391
1478
  font-size: 14px;
1392
- color: rgb(55, 65, 81);
1479
+ color: var(--huyooo-text);
1393
1480
  text-align: center;
1394
1481
  }
1395
1482
  .progress-dialog-bar-container {
@@ -1400,26 +1487,26 @@
1400
1487
  .progress-dialog-bar {
1401
1488
  flex: 1;
1402
1489
  height: 8px;
1403
- background: rgb(229, 231, 233);
1490
+ background: var(--huyooo-border);
1404
1491
  border-radius: 4px;
1405
1492
  overflow: hidden;
1406
1493
  }
1407
1494
  .progress-dialog-bar-fill {
1408
1495
  height: 100%;
1409
- background: rgb(59, 130, 246);
1496
+ background: var(--huyooo-primary);
1410
1497
  border-radius: 4px;
1411
1498
  transition: width 0.3s ease;
1412
1499
  }
1413
1500
  .progress-dialog-percent {
1414
1501
  font-size: 13px;
1415
1502
  font-weight: 500;
1416
- color: rgb(55, 65, 81);
1503
+ color: var(--huyooo-text);
1417
1504
  min-width: 40px;
1418
1505
  text-align: right;
1419
1506
  }
1420
1507
  .progress-dialog-current-file {
1421
1508
  font-size: 12px;
1422
- color: rgb(107, 114, 128);
1509
+ color: var(--huyooo-text-muted);
1423
1510
  text-align: center;
1424
1511
  white-space: nowrap;
1425
1512
  overflow: hidden;
@@ -1427,21 +1514,21 @@
1427
1514
  }
1428
1515
  .progress-dialog-count {
1429
1516
  font-size: 12px;
1430
- color: rgb(107, 114, 128);
1517
+ color: var(--huyooo-text-muted);
1431
1518
  text-align: center;
1432
1519
  }
1433
1520
  .progress-dialog-error {
1434
1521
  padding: 12px;
1435
- background: rgb(254, 242, 242);
1436
- border: 1px solid rgb(254, 202, 202);
1522
+ background: var(--huyooo-danger-bg);
1523
+ border: 1px solid var(--huyooo-danger-border);
1437
1524
  border-radius: 6px;
1438
- color: rgb(185, 28, 28);
1525
+ color: var(--huyooo-danger);
1439
1526
  font-size: 13px;
1440
1527
  }
1441
1528
  .progress-dialog-output {
1442
1529
  padding: 12px;
1443
- background: rgb(240, 253, 244);
1444
- border: 1px solid rgb(187, 247, 208);
1530
+ background: var(--huyooo-success-bg);
1531
+ border: 1px solid var(--huyooo-success-border);
1445
1532
  border-radius: 6px;
1446
1533
  font-size: 12px;
1447
1534
  display: flex;
@@ -1449,11 +1536,11 @@
1449
1536
  gap: 4px;
1450
1537
  }
1451
1538
  .progress-dialog-output-label {
1452
- color: rgb(22, 101, 52);
1539
+ color: var(--huyooo-success);
1453
1540
  font-weight: 500;
1454
1541
  }
1455
1542
  .progress-dialog-output-path {
1456
- color: rgb(21, 128, 61);
1543
+ color: var(--huyooo-success);
1457
1544
  word-break: break-all;
1458
1545
  }
1459
1546
  .progress-dialog-footer {
@@ -1461,7 +1548,7 @@
1461
1548
  justify-content: flex-end;
1462
1549
  gap: 12px;
1463
1550
  padding: 16px 20px;
1464
- border-top: 1px solid rgb(229, 231, 233);
1551
+ border-top: 1px solid var(--huyooo-border);
1465
1552
  }
1466
1553
  .progress-dialog-btn {
1467
1554
  padding: 8px 16px;
@@ -1475,32 +1562,32 @@
1475
1562
  gap: 6px;
1476
1563
  }
1477
1564
  .progress-dialog-btn-cancel {
1478
- background: white;
1479
- border: 1px solid rgb(209, 213, 219);
1480
- color: rgb(55, 65, 81);
1565
+ background: var(--huyooo-surface-2);
1566
+ border: 1px solid var(--huyooo-border);
1567
+ color: var(--huyooo-text);
1481
1568
  }
1482
1569
  .progress-dialog-btn-cancel:hover {
1483
- background: rgb(249, 250, 251);
1570
+ background: var(--huyooo-surface);
1484
1571
  }
1485
1572
  .progress-dialog-btn-folder {
1486
- background: rgb(240, 253, 244);
1487
- border: 1px solid rgb(187, 247, 208);
1488
- color: rgb(22, 101, 52);
1573
+ background: var(--huyooo-success-bg);
1574
+ border: 1px solid var(--huyooo-success-border);
1575
+ color: var(--huyooo-success);
1489
1576
  }
1490
1577
  .progress-dialog-btn-folder:hover {
1491
- background: rgb(220, 252, 231);
1578
+ background: color-mix(in srgb, var(--huyooo-success-bg) 75%, var(--huyooo-success) 25%);
1492
1579
  }
1493
1580
  .progress-dialog-btn-close {
1494
- background: rgb(59, 130, 246);
1495
- border: 1px solid rgb(59, 130, 246);
1581
+ background: var(--huyooo-primary);
1582
+ border: 1px solid var(--huyooo-primary);
1496
1583
  color: white;
1497
1584
  }
1498
1585
  .progress-dialog-btn-close:hover {
1499
- background: rgb(37, 99, 235);
1586
+ background: var(--huyooo-primary-hover, var(--huyooo-primary));
1500
1587
  }
1501
1588
  .progress-dialog-icon-spin {
1502
1589
  animation: spin 1s linear infinite;
1503
- color: rgb(59, 130, 246);
1590
+ color: var(--huyooo-primary);
1504
1591
  }
1505
1592
  @keyframes spin {
1506
1593
  from {
@@ -1511,17 +1598,17 @@
1511
1598
  }
1512
1599
  }
1513
1600
  .progress-dialog-icon-success {
1514
- color: rgb(34, 197, 94);
1601
+ color: var(--huyooo-success);
1515
1602
  }
1516
1603
  .progress-dialog-icon-error {
1517
- color: rgb(239, 68, 68);
1604
+ color: var(--huyooo-danger);
1518
1605
  }
1519
1606
 
1520
1607
  /* src/components/FileInfoDialog.css */
1521
1608
  .file-info-dialog-overlay {
1522
1609
  position: fixed;
1523
1610
  inset: 0;
1524
- background: rgba(0, 0, 0, 0.4);
1611
+ background: var(--huyooo-overlay);
1525
1612
  display: flex;
1526
1613
  align-items: center;
1527
1614
  justify-content: center;
@@ -1537,15 +1624,15 @@
1537
1624
  }
1538
1625
  }
1539
1626
  .file-info-dialog {
1540
- background: #ffffff;
1541
- border: 1px solid #e0e0e0;
1627
+ background: var(--huyooo-panel-bg);
1628
+ border: 1px solid var(--huyooo-border);
1542
1629
  border-radius: 12px;
1543
1630
  width: 420px;
1544
1631
  max-width: 90vw;
1545
1632
  max-height: 80vh;
1546
1633
  display: flex;
1547
1634
  flex-direction: column;
1548
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.1);
1635
+ box-shadow: var(--huyooo-menu-shadow);
1549
1636
  animation: file-info-slideIn 0.2s ease-out;
1550
1637
  }
1551
1638
  @keyframes file-info-slideIn {
@@ -1558,26 +1645,14 @@
1558
1645
  transform: scale(1) translateY(0);
1559
1646
  }
1560
1647
  }
1561
- @media (prefers-color-scheme: dark) {
1562
- .file-info-dialog {
1563
- background: #2d2d2d;
1564
- border-color: #404040;
1565
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
1566
- }
1567
- }
1568
1648
  .file-info-dialog-header {
1569
1649
  display: flex;
1570
1650
  align-items: center;
1571
1651
  justify-content: space-between;
1572
1652
  padding: 16px 20px;
1573
- border-bottom: 1px solid #e0e0e0;
1653
+ border-bottom: 1px solid var(--huyooo-border);
1574
1654
  gap: 12px;
1575
1655
  }
1576
- @media (prefers-color-scheme: dark) {
1577
- .file-info-dialog-header {
1578
- border-bottom-color: #404040;
1579
- }
1580
- }
1581
1656
  .file-info-dialog-title {
1582
1657
  display: flex;
1583
1658
  align-items: center;
@@ -1588,16 +1663,11 @@
1588
1663
  .file-info-dialog-name {
1589
1664
  font-size: 16px;
1590
1665
  font-weight: 600;
1591
- color: #1a1a1a;
1666
+ color: var(--huyooo-text);
1592
1667
  white-space: nowrap;
1593
1668
  overflow: hidden;
1594
1669
  text-overflow: ellipsis;
1595
1670
  }
1596
- @media (prefers-color-scheme: dark) {
1597
- .file-info-dialog-name {
1598
- color: #e0e0e0;
1599
- }
1600
- }
1601
1671
  .file-info-dialog-close {
1602
1672
  display: flex;
1603
1673
  align-items: center;
@@ -1606,24 +1676,15 @@
1606
1676
  height: 28px;
1607
1677
  border: none;
1608
1678
  background: transparent;
1609
- color: #666;
1679
+ color: var(--huyooo-text-muted);
1610
1680
  border-radius: 6px;
1611
1681
  cursor: pointer;
1612
1682
  flex-shrink: 0;
1613
1683
  transition: all 0.15s ease;
1614
1684
  }
1615
1685
  .file-info-dialog-close:hover {
1616
- background: #f0f0f0;
1617
- color: #333;
1618
- }
1619
- @media (prefers-color-scheme: dark) {
1620
- .file-info-dialog-close {
1621
- color: #888;
1622
- }
1623
- .file-info-dialog-close:hover {
1624
- background: #404040;
1625
- color: #e0e0e0;
1626
- }
1686
+ background: var(--huyooo-muted);
1687
+ color: var(--huyooo-text);
1627
1688
  }
1628
1689
  .file-info-dialog-content {
1629
1690
  padding: 16px 20px;
@@ -1643,29 +1704,19 @@
1643
1704
  gap: 6px;
1644
1705
  width: 90px;
1645
1706
  flex-shrink: 0;
1646
- color: #666;
1707
+ color: var(--huyooo-text-muted);
1647
1708
  font-size: 13px;
1648
1709
  }
1649
- @media (prefers-color-scheme: dark) {
1650
- .file-info-label {
1651
- color: #888;
1652
- }
1653
- }
1654
1710
  .file-info-label svg {
1655
1711
  flex-shrink: 0;
1656
1712
  }
1657
1713
  .file-info-value {
1658
1714
  flex: 1;
1659
- color: #1a1a1a;
1715
+ color: var(--huyooo-text);
1660
1716
  font-size: 13px;
1661
1717
  word-break: break-all;
1662
1718
  line-height: 1.4;
1663
1719
  }
1664
- @media (prefers-color-scheme: dark) {
1665
- .file-info-value {
1666
- color: #e0e0e0;
1667
- }
1668
- }
1669
1720
  .file-info-value--path {
1670
1721
  font-family:
1671
1722
  "SF Mono",
@@ -1674,55 +1725,46 @@
1674
1725
  "Roboto Mono",
1675
1726
  monospace;
1676
1727
  font-size: 12px;
1677
- background: #f5f5f5;
1728
+ background: var(--huyooo-code-bg);
1729
+ color: var(--huyooo-code-text);
1678
1730
  padding: 4px 8px;
1679
1731
  border-radius: 4px;
1680
1732
  user-select: all;
1681
1733
  }
1682
- @media (prefers-color-scheme: dark) {
1683
- .file-info-value--path {
1684
- background: #383838;
1685
- }
1686
- }
1687
1734
  .file-info-icon {
1688
1735
  width: 32px;
1689
1736
  height: 32px;
1690
1737
  flex-shrink: 0;
1691
1738
  }
1692
1739
  .file-info-icon--folder {
1693
- color: #dcb67a;
1740
+ color: var(--huyooo-filetype-folder);
1694
1741
  }
1695
1742
  .file-info-icon--image {
1696
- color: #7ec699;
1743
+ color: var(--huyooo-filetype-image);
1697
1744
  }
1698
1745
  .file-info-icon--video {
1699
- color: #c678dd;
1746
+ color: var(--huyooo-filetype-video);
1700
1747
  }
1701
1748
  .file-info-icon--music {
1702
- color: #e06c75;
1749
+ color: var(--huyooo-filetype-music);
1703
1750
  }
1704
1751
  .file-info-icon--document {
1705
- color: #61afef;
1752
+ color: var(--huyooo-filetype-document);
1706
1753
  }
1707
1754
  .file-info-icon--code {
1708
- color: #98c379;
1755
+ color: var(--huyooo-filetype-code);
1709
1756
  }
1710
1757
  .file-info-icon--archive {
1711
- color: #d19a66;
1758
+ color: var(--huyooo-filetype-archive);
1712
1759
  }
1713
1760
  .file-info-icon--file {
1714
- color: #abb2bf;
1761
+ color: var(--huyooo-filetype-file);
1715
1762
  }
1716
1763
  .file-info-dialog-footer {
1717
1764
  display: flex;
1718
1765
  justify-content: flex-end;
1719
1766
  padding: 12px 20px;
1720
- border-top: 1px solid #e0e0e0;
1721
- }
1722
- @media (prefers-color-scheme: dark) {
1723
- .file-info-dialog-footer {
1724
- border-top-color: #404040;
1725
- }
1767
+ border-top: 1px solid var(--huyooo-border);
1726
1768
  }
1727
1769
  .file-info-dialog-btn {
1728
1770
  padding: 6px 16px;
@@ -1731,10 +1773,10 @@
1731
1773
  font-size: 13px;
1732
1774
  cursor: pointer;
1733
1775
  transition: all 0.15s ease;
1734
- background: #007aff;
1776
+ background: var(--huyooo-primary);
1735
1777
  color: white;
1736
1778
  }
1737
1779
  .file-info-dialog-btn:hover {
1738
- background: #0066d6;
1780
+ background: var(--huyooo-primary-hover, var(--huyooo-primary));
1739
1781
  }
1740
1782
  /*# sourceMappingURL=index.css.map */