@huyooo/file-explorer-frontend-react 0.4.14 → 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.
@@ -1,7 +1,7 @@
1
1
  .compress-dialog-overlay {
2
2
  position: fixed;
3
3
  inset: 0;
4
- background: rgba(0, 0, 0, 0.5);
4
+ background: var(--huyooo-overlay);
5
5
  display: flex;
6
6
  align-items: center;
7
7
  justify-content: center;
@@ -9,9 +9,9 @@
9
9
  }
10
10
 
11
11
  .compress-dialog {
12
- background: white;
12
+ background: var(--huyooo-panel-bg);
13
13
  border-radius: 12px;
14
- box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
14
+ box-shadow: var(--huyooo-shadow-lg);
15
15
  width: 420px;
16
16
  max-width: 90vw;
17
17
  max-height: 90vh;
@@ -25,7 +25,7 @@
25
25
  align-items: center;
26
26
  justify-content: space-between;
27
27
  padding: 16px 20px;
28
- border-bottom: 1px solid rgb(229, 231, 233);
28
+ border-bottom: 1px solid var(--huyooo-border);
29
29
  }
30
30
 
31
31
  .compress-dialog-title {
@@ -34,7 +34,7 @@
34
34
  gap: 8px;
35
35
  font-weight: 600;
36
36
  font-size: 16px;
37
- color: rgb(17, 24, 39);
37
+ color: var(--huyooo-text);
38
38
  }
39
39
 
40
40
  .compress-dialog-close {
@@ -42,7 +42,7 @@
42
42
  border: none;
43
43
  padding: 4px;
44
44
  cursor: pointer;
45
- color: rgb(107, 114, 128);
45
+ color: var(--huyooo-text-muted);
46
46
  border-radius: 4px;
47
47
  display: flex;
48
48
  align-items: center;
@@ -50,8 +50,8 @@
50
50
  }
51
51
 
52
52
  .compress-dialog-close:hover {
53
- background: rgb(243, 244, 246);
54
- color: rgb(55, 65, 81);
53
+ background: var(--huyooo-muted);
54
+ color: var(--huyooo-text);
55
55
  }
56
56
 
57
57
  .compress-dialog-content {
@@ -67,9 +67,9 @@
67
67
  align-items: center;
68
68
  gap: 8px;
69
69
  padding: 12px;
70
- background: rgb(249, 250, 251);
70
+ background: var(--huyooo-surface);
71
71
  border-radius: 8px;
72
- color: rgb(55, 65, 81);
72
+ color: var(--huyooo-text);
73
73
  font-size: 14px;
74
74
  }
75
75
 
@@ -82,7 +82,7 @@
82
82
  .compress-dialog-field > label {
83
83
  font-size: 13px;
84
84
  font-weight: 500;
85
- color: rgb(55, 65, 81);
85
+ color: var(--huyooo-text);
86
86
  }
87
87
 
88
88
  .compress-dialog-input-group {
@@ -93,54 +93,57 @@
93
93
  .compress-dialog-input-group input {
94
94
  flex: 1;
95
95
  padding: 8px 12px;
96
- border: 1px solid rgb(209, 213, 219);
96
+ border: 1px solid var(--huyooo-border);
97
97
  border-radius: 6px 0 0 6px;
98
98
  font-size: 14px;
99
99
  outline: none;
100
100
  transition: border-color 0.2s;
101
+ background: var(--huyooo-surface-2);
102
+ color: var(--huyooo-text);
101
103
  }
102
104
 
103
105
  .compress-dialog-input-group input:focus {
104
- border-color: rgb(59, 130, 246);
106
+ border-color: var(--huyooo-primary);
105
107
  }
106
108
 
107
109
  .compress-dialog-ext {
108
110
  padding: 8px 12px;
109
- background: rgb(243, 244, 246);
110
- border: 1px solid rgb(209, 213, 219);
111
+ background: var(--huyooo-muted);
112
+ border: 1px solid var(--huyooo-border);
111
113
  border-left: none;
112
114
  border-radius: 0 6px 6px 0;
113
115
  font-size: 14px;
114
- color: rgb(107, 114, 128);
116
+ color: var(--huyooo-text-muted);
115
117
  }
116
118
 
117
119
  .compress-dialog-toggle-password {
118
120
  padding: 8px 12px;
119
- background: rgb(243, 244, 246);
120
- border: 1px solid rgb(209, 213, 219);
121
+ background: var(--huyooo-muted);
122
+ border: 1px solid var(--huyooo-border);
121
123
  border-left: none;
122
124
  border-radius: 0 6px 6px 0;
123
125
  font-size: 12px;
124
- color: rgb(59, 130, 246);
126
+ color: var(--huyooo-primary);
125
127
  cursor: pointer;
126
128
  }
127
129
 
128
130
  .compress-dialog-toggle-password:hover {
129
- background: rgb(229, 231, 235);
131
+ background: var(--huyooo-muted-hover);
130
132
  }
131
133
 
132
134
  .compress-dialog-field select {
133
135
  padding: 8px 12px;
134
- border: 1px solid rgb(209, 213, 219);
136
+ border: 1px solid var(--huyooo-border);
135
137
  border-radius: 6px;
136
138
  font-size: 14px;
137
139
  outline: none;
138
- background: white;
140
+ background: var(--huyooo-surface-2);
141
+ color: var(--huyooo-text);
139
142
  cursor: pointer;
140
143
  }
141
144
 
142
145
  .compress-dialog-field select:focus {
143
- border-color: rgb(59, 130, 246);
146
+ border-color: var(--huyooo-primary);
144
147
  }
145
148
 
146
149
  .compress-dialog-levels {
@@ -154,19 +157,19 @@
154
157
  align-items: center;
155
158
  gap: 8px;
156
159
  padding: 8px 12px;
157
- border: 1px solid rgb(229, 231, 233);
160
+ border: 1px solid var(--huyooo-border);
158
161
  border-radius: 6px;
159
162
  cursor: pointer;
160
163
  transition: all 0.2s;
161
164
  }
162
165
 
163
166
  .compress-dialog-level:hover {
164
- background: rgb(249, 250, 251);
167
+ background: var(--huyooo-surface);
165
168
  }
166
169
 
167
170
  .compress-dialog-level:has(input:checked) {
168
- border-color: rgb(59, 130, 246);
169
- background: rgb(239, 246, 255);
171
+ border-color: var(--huyooo-primary);
172
+ background: var(--huyooo-focus-ring);
170
173
  }
171
174
 
172
175
  .compress-dialog-level input {
@@ -176,12 +179,12 @@
176
179
  .compress-dialog-level-label {
177
180
  font-size: 14px;
178
181
  font-weight: 500;
179
- color: rgb(17, 24, 39);
182
+ color: var(--huyooo-text);
180
183
  }
181
184
 
182
185
  .compress-dialog-level-desc {
183
186
  font-size: 12px;
184
- color: rgb(107, 114, 128);
187
+ color: var(--huyooo-text-muted);
185
188
  margin-left: auto;
186
189
  }
187
190
 
@@ -191,7 +194,7 @@
191
194
  gap: 8px;
192
195
  cursor: pointer;
193
196
  font-size: 14px;
194
- color: rgb(55, 65, 81);
197
+ color: var(--huyooo-text);
195
198
  }
196
199
 
197
200
  .compress-dialog-checkbox input {
@@ -202,7 +205,7 @@
202
205
 
203
206
  .compress-dialog-preview {
204
207
  padding: 10px 12px;
205
- background: rgb(249, 250, 251);
208
+ background: var(--huyooo-surface);
206
209
  border-radius: 6px;
207
210
  font-size: 12px;
208
211
  display: flex;
@@ -211,11 +214,11 @@
211
214
  }
212
215
 
213
216
  .compress-dialog-preview-label {
214
- color: rgb(107, 114, 128);
217
+ color: var(--huyooo-text-muted);
215
218
  }
216
219
 
217
220
  .compress-dialog-preview-path {
218
- color: rgb(55, 65, 81);
221
+ color: var(--huyooo-text);
219
222
  word-break: break-all;
220
223
  }
221
224
 
@@ -224,7 +227,7 @@
224
227
  justify-content: flex-end;
225
228
  gap: 12px;
226
229
  padding: 16px 20px;
227
- border-top: 1px solid rgb(229, 231, 233);
230
+ border-top: 1px solid var(--huyooo-border);
228
231
  }
229
232
 
230
233
  .compress-dialog-btn {
@@ -237,28 +240,28 @@
237
240
  }
238
241
 
239
242
  .compress-dialog-btn-cancel {
240
- background: white;
241
- border: 1px solid rgb(209, 213, 219);
242
- color: rgb(55, 65, 81);
243
+ background: var(--huyooo-surface-2);
244
+ border: 1px solid var(--huyooo-border);
245
+ color: var(--huyooo-text);
243
246
  }
244
247
 
245
248
  .compress-dialog-btn-cancel:hover {
246
- background: rgb(249, 250, 251);
249
+ background: var(--huyooo-surface);
247
250
  }
248
251
 
249
252
  .compress-dialog-btn-confirm {
250
- background: rgb(59, 130, 246);
251
- border: 1px solid rgb(59, 130, 246);
253
+ background: var(--huyooo-primary);
254
+ border: 1px solid var(--huyooo-primary);
252
255
  color: white;
253
256
  }
254
257
 
255
258
  .compress-dialog-btn-confirm:hover {
256
- background: rgb(37, 99, 235);
259
+ background: var(--huyooo-primary-hover, var(--huyooo-primary));
257
260
  }
258
261
 
259
262
  .compress-dialog-btn-confirm:disabled {
260
- background: rgb(156, 163, 175);
261
- border-color: rgb(156, 163, 175);
263
+ background: var(--huyooo-text-disabled);
264
+ border-color: var(--huyooo-text-disabled);
262
265
  cursor: not-allowed;
263
266
  }
264
267
 
@@ -10,11 +10,11 @@
10
10
  position: fixed;
11
11
  z-index: 10000;
12
12
  width: 220px; /* 固定宽度,与 calculateMenuPosition 中的 MENU_WIDTH 一致 */
13
- background: rgba(255, 255, 255, 0.95);
13
+ background: var(--huyooo-menu-bg);
14
14
  backdrop-filter: blur(24px);
15
- border: 1px solid rgba(229, 231, 233, 0.5);
15
+ border: 1px solid var(--huyooo-border);
16
16
  border-radius: 0.5rem;
17
- box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 4px 6px -2px rgba(0, 0, 0, 0.1);
17
+ box-shadow: var(--huyooo-menu-shadow);
18
18
  padding: 0.25rem 0;
19
19
  font-size: 0.875rem;
20
20
  user-select: none;
@@ -39,7 +39,7 @@
39
39
  align-items: center;
40
40
  gap: 0.5rem;
41
41
  padding: 0.375rem 1rem;
42
- color: rgb(55, 65, 81);
42
+ color: var(--huyooo-text);
43
43
  transition: all 200ms;
44
44
  border: none;
45
45
  background: transparent;
@@ -47,7 +47,7 @@
47
47
  }
48
48
 
49
49
  .context-menu-item:hover {
50
- background: rgb(59, 130, 246);
50
+ background: var(--huyooo-primary);
51
51
  color: white;
52
52
  }
53
53
 
@@ -56,7 +56,7 @@
56
56
  }
57
57
 
58
58
  .context-menu-item:hover .context-menu-item-shortcut {
59
- color: rgba(255, 255, 255, 0.7);
59
+ color: var(--huyooo-on-primary-muted);
60
60
  }
61
61
 
62
62
  .context-menu-item--disabled {
@@ -66,24 +66,24 @@
66
66
 
67
67
  .context-menu-item--disabled:hover {
68
68
  background: transparent;
69
- color: rgb(55, 65, 81);
69
+ color: var(--huyooo-text);
70
70
  }
71
71
 
72
72
  .context-menu-item--disabled:hover .context-menu-item-icon {
73
- color: rgb(107, 114, 128);
73
+ color: var(--huyooo-text-muted);
74
74
  }
75
75
 
76
76
  .context-menu-item--danger {
77
- color: rgb(220, 38, 38);
77
+ color: var(--huyooo-danger);
78
78
  }
79
79
 
80
80
  .context-menu-item--danger:hover {
81
- background: rgb(220, 38, 38);
81
+ background: var(--huyooo-danger);
82
82
  color: white;
83
83
  }
84
84
 
85
85
  .context-menu-item--danger .context-menu-item-icon {
86
- color: rgb(220, 38, 38);
86
+ color: var(--huyooo-danger);
87
87
  }
88
88
 
89
89
  .context-menu-item--danger:hover .context-menu-item-icon {
@@ -91,7 +91,7 @@
91
91
  }
92
92
 
93
93
  .context-menu-item-icon {
94
- color: rgb(107, 114, 128);
94
+ color: var(--huyooo-text-muted);
95
95
  flex-shrink: 0;
96
96
  }
97
97
 
@@ -100,13 +100,13 @@
100
100
  }
101
101
 
102
102
  .context-menu-item-shortcut {
103
- color: rgb(156, 163, 175);
103
+ color: var(--huyooo-text-disabled);
104
104
  font-size: 0.6875rem;
105
105
  }
106
106
 
107
107
  .context-menu-separator {
108
108
  height: 1px;
109
- background: rgb(229, 231, 233);
109
+ background: var(--huyooo-border);
110
110
  margin: 0.25rem 0.5rem;
111
111
  }
112
112
 
@@ -115,7 +115,7 @@
115
115
  }
116
116
 
117
117
  .context-menu-item--active {
118
- background: rgb(59, 130, 246);
118
+ background: var(--huyooo-primary);
119
119
  color: white;
120
120
  }
121
121
 
@@ -124,11 +124,11 @@
124
124
  }
125
125
 
126
126
  .context-menu-item--active .context-menu-item-shortcut {
127
- color: rgba(255, 255, 255, 0.7);
127
+ color: var(--huyooo-on-primary-muted);
128
128
  }
129
129
 
130
130
  .context-menu-item-check {
131
- color: rgb(107, 114, 128);
131
+ color: var(--huyooo-text-muted);
132
132
  flex-shrink: 0;
133
133
  margin-left: auto;
134
134
  }
@@ -139,7 +139,7 @@
139
139
  }
140
140
 
141
141
  .context-menu-item-arrow {
142
- color: rgb(156, 163, 175);
142
+ color: var(--huyooo-text-disabled);
143
143
  flex-shrink: 0;
144
144
  margin-left: auto;
145
145
  }
@@ -42,23 +42,23 @@
42
42
 
43
43
  /* 悬停效果 - 类似 macOS */
44
44
  .file-grid-item--normal:hover {
45
- background: rgba(0, 0, 0, 0.04);
45
+ background: var(--huyooo-muted-hover);
46
46
  }
47
47
 
48
48
  /* 选中状态 - macOS 风格的蓝色高亮 */
49
49
  .file-grid-item--selected {
50
- background: rgba(0, 122, 255, 0.12);
51
- border-color: rgba(0, 122, 255, 0.2);
50
+ background: var(--huyooo-focus-ring);
51
+ border-color: var(--huyooo-primary);
52
52
  }
53
53
 
54
54
  .file-grid-item--selected:hover {
55
- background: rgba(0, 122, 255, 0.16);
55
+ background: var(--huyooo-focus-ring);
56
56
  }
57
57
 
58
58
  /* 拖拽悬停 */
59
59
  .file-grid-item--drag-over {
60
- background: rgba(0, 122, 255, 0.2);
61
- border-color: rgba(0, 122, 255, 0.4);
60
+ background: var(--huyooo-focus-ring);
61
+ border-color: var(--huyooo-primary);
62
62
  }
63
63
 
64
64
  /* 图标/缩略图容器 - 统一尺寸 */
@@ -83,8 +83,8 @@
83
83
  object-position: center;
84
84
  border-radius: 4px;
85
85
  /* 轻微阴影增加层次感 */
86
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.04);
87
- background: #f5f5f5;
86
+ box-shadow: var(--huyooo-shadow-sm);
87
+ background: var(--huyooo-muted);
88
88
  /* 确保图片能作为加载占位符,平滑过渡到原图 */
89
89
  display: block;
90
90
  }
@@ -98,7 +98,7 @@
98
98
  }
99
99
 
100
100
  .file-grid-item-thumbnail--selected {
101
- box-shadow: 0 2px 6px rgba(0, 122, 255, 0.2), 0 0 0 2px rgba(0, 122, 255, 0.3);
101
+ box-shadow: 0 0 0 2px var(--huyooo-primary), 0 0 0 6px var(--huyooo-focus-ring);
102
102
  }
103
103
 
104
104
  /* 视频缩略图容器 */
@@ -106,10 +106,10 @@
106
106
  position: relative;
107
107
  border-radius: 4px;
108
108
  overflow: hidden;
109
- background: #000;
109
+ background: var(--huyooo-overlay-strong);
110
110
  width: 48px;
111
111
  height: 48px;
112
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
112
+ box-shadow: var(--huyooo-shadow-sm);
113
113
  display: flex;
114
114
  align-items: center;
115
115
  justify-content: center;
@@ -144,7 +144,7 @@
144
144
  width: 20px;
145
145
  height: 20px;
146
146
  border-radius: 50%;
147
- background: rgba(0, 0, 0, 0.5);
147
+ background: var(--huyooo-overlay);
148
148
  backdrop-filter: blur(4px);
149
149
  display: flex;
150
150
  align-items: center;
@@ -180,7 +180,7 @@
180
180
  user-select: none;
181
181
  cursor: default;
182
182
  transition: color 100ms;
183
- color: #1d1d1f;
183
+ color: var(--huyooo-text);
184
184
  width: 100%;
185
185
  /* 使用 flexbox 布局,让扩展名始终显示 */
186
186
  display: flex;
@@ -222,46 +222,13 @@
222
222
  line-height: 1.3;
223
223
  text-align: center;
224
224
  padding: 2px 4px;
225
- border: 1px solid #007aff;
225
+ border: 1px solid var(--huyooo-primary);
226
226
  border-radius: 3px;
227
227
  outline: none;
228
- box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.2);
229
- background: white;
228
+ box-shadow: 0 0 0 3px var(--huyooo-focus-ring);
229
+ background: var(--huyooo-surface-2);
230
+ color: var(--huyooo-text);
230
231
  cursor: text;
231
232
  }
232
233
 
233
- /* 深色模式支持 */
234
- @media (prefers-color-scheme: dark) {
235
- .file-grid-item--normal:hover {
236
- background: rgba(255, 255, 255, 0.06);
237
- }
238
-
239
- .file-grid-item--selected {
240
- background: rgba(10, 132, 255, 0.25);
241
- border-color: rgba(10, 132, 255, 0.3);
242
- }
243
-
244
- .file-grid-item--selected:hover {
245
- background: rgba(10, 132, 255, 0.3);
246
- }
247
-
248
- .file-grid-item--drag-over {
249
- background: rgba(10, 132, 255, 0.35);
250
- border-color: rgba(10, 132, 255, 0.5);
251
- }
252
-
253
- .file-grid-item-thumbnail {
254
- background: #2c2c2e;
255
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.05);
256
- }
257
-
258
- .file-grid-item-name {
259
- color: #f5f5f7;
260
- }
261
-
262
- .file-grid-item-rename-input {
263
- background: #1c1c1e;
264
- border-color: #0a84ff;
265
- color: #f5f5f7;
266
- }
267
- }
234
+ /* 深色模式由 token 负责 */
@@ -1,41 +1,41 @@
1
1
  .file-icon--folder {
2
- color: rgb(96, 165, 250);
3
- fill: rgb(96, 165, 250);
2
+ color: var(--huyooo-primary);
3
+ fill: var(--huyooo-primary);
4
4
  }
5
5
 
6
6
  .file-icon--image {
7
- color: rgb(168, 85, 247);
7
+ color: var(--huyooo-primary);
8
8
  }
9
9
 
10
10
  .file-icon--text {
11
- color: rgb(107, 114, 128);
11
+ color: var(--huyooo-text-muted);
12
12
  }
13
13
 
14
14
  .file-icon--code {
15
- color: rgb(34, 197, 94);
15
+ color: var(--huyooo-success);
16
16
  }
17
17
 
18
18
  .file-icon--music {
19
- color: rgb(248, 113, 113);
19
+ color: var(--huyooo-danger);
20
20
  }
21
21
 
22
22
  .file-icon--video {
23
- color: rgb(37, 99, 235);
23
+ color: var(--huyooo-primary);
24
24
  }
25
25
 
26
26
  .file-icon--pdf {
27
- color: rgb(220, 38, 38);
27
+ color: var(--huyooo-danger);
28
28
  }
29
29
 
30
30
  .file-icon--application {
31
- color: rgb(139, 92, 246);
31
+ color: var(--huyooo-primary);
32
32
  }
33
33
 
34
34
  .file-icon--archive {
35
- color: rgb(234, 179, 8);
35
+ color: var(--huyooo-warning);
36
36
  }
37
37
 
38
38
  .file-icon--default {
39
- color: rgb(156, 163, 175);
39
+ color: var(--huyooo-text-disabled);
40
40
  }
41
41