@huyooo/file-explorer-frontend-react 0.4.12 → 0.4.15

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