@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 +396 -354
- package/dist/index.css.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/style.css +183 -2
- package/package.json +1 -1
- package/src/components/Breadcrumb.css +7 -7
- package/src/components/CompressDialog.css +46 -43
- package/src/components/ContextMenu.css +18 -18
- package/src/components/FileGrid.css +18 -51
- package/src/components/FileIcon.css +11 -11
- package/src/components/FileIcon.tsx +1 -1
- package/src/components/FileInfoDialog.css +32 -70
- package/src/components/FileInfoDialog.tsx +1 -1
- package/src/components/FileList.css +19 -76
- package/src/components/FileListView.css +3 -3
- package/src/components/FileSidebar.css +12 -12
- package/src/components/ProgressDialog.css +36 -36
- package/src/components/SortIndicator.css +1 -1
- package/src/components/StatusBar.css +4 -4
- package/src/components/Toolbar.css +25 -25
- package/src/components/Window.css +18 -18
- package/src/index.css +183 -2
- package/src/index.ts +3 -0
|
@@ -42,23 +42,23 @@
|
|
|
42
42
|
|
|
43
43
|
/* 悬停效果 - 类似 macOS */
|
|
44
44
|
.file-grid-item--normal:hover {
|
|
45
|
-
background:
|
|
45
|
+
background: var(--huyooo-muted-hover);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
/* 选中状态 - macOS 风格的蓝色高亮 */
|
|
49
49
|
.file-grid-item--selected {
|
|
50
|
-
background:
|
|
51
|
-
border-color:
|
|
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:
|
|
55
|
+
background: var(--huyooo-focus-ring);
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
/* 拖拽悬停 */
|
|
59
59
|
.file-grid-item--drag-over {
|
|
60
|
-
background:
|
|
61
|
-
border-color:
|
|
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:
|
|
87
|
-
background:
|
|
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
|
|
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:
|
|
109
|
+
background: var(--huyooo-overlay-strong);
|
|
110
110
|
width: 48px;
|
|
111
111
|
height: 48px;
|
|
112
|
-
box-shadow:
|
|
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:
|
|
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:
|
|
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
|
|
225
|
+
border: 1px solid var(--huyooo-primary);
|
|
226
226
|
border-radius: 3px;
|
|
227
227
|
outline: none;
|
|
228
|
-
box-shadow: 0 0 0 3px
|
|
229
|
-
background:
|
|
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:
|
|
3
|
-
fill:
|
|
2
|
+
color: var(--huyooo-primary);
|
|
3
|
+
fill: var(--huyooo-primary);
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
.file-icon--image {
|
|
7
|
-
color:
|
|
7
|
+
color: var(--huyooo-primary);
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
.file-icon--text {
|
|
11
|
-
color:
|
|
11
|
+
color: var(--huyooo-text-muted);
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
.file-icon--code {
|
|
15
|
-
color:
|
|
15
|
+
color: var(--huyooo-success);
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
.file-icon--music {
|
|
19
|
-
color:
|
|
19
|
+
color: var(--huyooo-danger);
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
.file-icon--video {
|
|
23
|
-
color:
|
|
23
|
+
color: var(--huyooo-primary);
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
.file-icon--pdf {
|
|
27
|
-
color:
|
|
27
|
+
color: var(--huyooo-danger);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
.file-icon--application {
|
|
31
|
-
color:
|
|
31
|
+
color: var(--huyooo-primary);
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
.file-icon--archive {
|
|
35
|
-
color:
|
|
35
|
+
color: var(--huyooo-warning);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
.file-icon--default {
|
|
39
|
-
color:
|
|
39
|
+
color: var(--huyooo-text-disabled);
|
|
40
40
|
}
|
|
41
41
|
|
|
@@ -17,7 +17,7 @@ export function FileIcon({ type, name, className = '', size = 24 }: FileIconProp
|
|
|
17
17
|
if (type === FileType.FOLDER) {
|
|
18
18
|
// 文件夹:先查特定类型图标,否则用默认 folder
|
|
19
19
|
const folderIcon = name ? getFolderTypeIcon(name) : undefined;
|
|
20
|
-
return folderIcon ?? '
|
|
20
|
+
return folderIcon ?? 'ic:round-folder';
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
// 如果有文件名,使用 material-icon-theme 图标映射(传递 type 作为兜底)
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
.file-info-dialog-overlay {
|
|
4
4
|
position: fixed;
|
|
5
5
|
inset: 0;
|
|
6
|
-
background:
|
|
6
|
+
background: var(--huyooo-overlay);
|
|
7
7
|
display: flex;
|
|
8
8
|
align-items: center;
|
|
9
9
|
justify-content: center;
|
|
@@ -17,15 +17,15 @@
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
.file-info-dialog {
|
|
20
|
-
background:
|
|
21
|
-
border: 1px solid
|
|
20
|
+
background: var(--huyooo-panel-bg);
|
|
21
|
+
border: 1px solid var(--huyooo-border);
|
|
22
22
|
border-radius: 12px;
|
|
23
23
|
width: 420px;
|
|
24
24
|
max-width: 90vw;
|
|
25
25
|
max-height: 80vh;
|
|
26
26
|
display: flex;
|
|
27
27
|
flex-direction: column;
|
|
28
|
-
box-shadow:
|
|
28
|
+
box-shadow: var(--huyooo-menu-shadow);
|
|
29
29
|
animation: file-info-slideIn 0.2s ease-out;
|
|
30
30
|
}
|
|
31
31
|
|
|
@@ -40,14 +40,7 @@
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
/*
|
|
44
|
-
@media (prefers-color-scheme: dark) {
|
|
45
|
-
.file-info-dialog {
|
|
46
|
-
background: #2d2d2d;
|
|
47
|
-
border-color: #404040;
|
|
48
|
-
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
43
|
+
/* 深色模式由 token 负责 */
|
|
51
44
|
|
|
52
45
|
/* 头部 */
|
|
53
46
|
.file-info-dialog-header {
|
|
@@ -55,15 +48,11 @@
|
|
|
55
48
|
align-items: center;
|
|
56
49
|
justify-content: space-between;
|
|
57
50
|
padding: 16px 20px;
|
|
58
|
-
border-bottom: 1px solid
|
|
51
|
+
border-bottom: 1px solid var(--huyooo-border);
|
|
59
52
|
gap: 12px;
|
|
60
53
|
}
|
|
61
54
|
|
|
62
|
-
|
|
63
|
-
.file-info-dialog-header {
|
|
64
|
-
border-bottom-color: #404040;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
55
|
+
/* 深色模式由 token 负责 */
|
|
67
56
|
|
|
68
57
|
.file-info-dialog-title {
|
|
69
58
|
display: flex;
|
|
@@ -76,17 +65,13 @@
|
|
|
76
65
|
.file-info-dialog-name {
|
|
77
66
|
font-size: 16px;
|
|
78
67
|
font-weight: 600;
|
|
79
|
-
color:
|
|
68
|
+
color: var(--huyooo-text);
|
|
80
69
|
white-space: nowrap;
|
|
81
70
|
overflow: hidden;
|
|
82
71
|
text-overflow: ellipsis;
|
|
83
72
|
}
|
|
84
73
|
|
|
85
|
-
|
|
86
|
-
.file-info-dialog-name {
|
|
87
|
-
color: #e0e0e0;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
74
|
+
/* 深色模式由 token 负责 */
|
|
90
75
|
|
|
91
76
|
.file-info-dialog-close {
|
|
92
77
|
display: flex;
|
|
@@ -96,7 +81,7 @@
|
|
|
96
81
|
height: 28px;
|
|
97
82
|
border: none;
|
|
98
83
|
background: transparent;
|
|
99
|
-
color:
|
|
84
|
+
color: var(--huyooo-text-muted);
|
|
100
85
|
border-radius: 6px;
|
|
101
86
|
cursor: pointer;
|
|
102
87
|
flex-shrink: 0;
|
|
@@ -104,19 +89,11 @@
|
|
|
104
89
|
}
|
|
105
90
|
|
|
106
91
|
.file-info-dialog-close:hover {
|
|
107
|
-
background:
|
|
108
|
-
color:
|
|
92
|
+
background: var(--huyooo-muted);
|
|
93
|
+
color: var(--huyooo-text);
|
|
109
94
|
}
|
|
110
95
|
|
|
111
|
-
|
|
112
|
-
.file-info-dialog-close {
|
|
113
|
-
color: #888;
|
|
114
|
-
}
|
|
115
|
-
.file-info-dialog-close:hover {
|
|
116
|
-
background: #404040;
|
|
117
|
-
color: #e0e0e0;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
96
|
+
/* 深色模式由 token 负责 */
|
|
120
97
|
|
|
121
98
|
/* 内容 */
|
|
122
99
|
.file-info-dialog-content {
|
|
@@ -139,15 +116,11 @@
|
|
|
139
116
|
gap: 6px;
|
|
140
117
|
width: 90px;
|
|
141
118
|
flex-shrink: 0;
|
|
142
|
-
color:
|
|
119
|
+
color: var(--huyooo-text-muted);
|
|
143
120
|
font-size: 13px;
|
|
144
121
|
}
|
|
145
122
|
|
|
146
|
-
|
|
147
|
-
.file-info-label {
|
|
148
|
-
color: #888;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
123
|
+
/* 深色模式由 token 负责 */
|
|
151
124
|
|
|
152
125
|
.file-info-label svg {
|
|
153
126
|
flex-shrink: 0;
|
|
@@ -155,32 +128,25 @@
|
|
|
155
128
|
|
|
156
129
|
.file-info-value {
|
|
157
130
|
flex: 1;
|
|
158
|
-
color:
|
|
131
|
+
color: var(--huyooo-text);
|
|
159
132
|
font-size: 13px;
|
|
160
133
|
word-break: break-all;
|
|
161
134
|
line-height: 1.4;
|
|
162
135
|
}
|
|
163
136
|
|
|
164
|
-
|
|
165
|
-
.file-info-value {
|
|
166
|
-
color: #e0e0e0;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
137
|
+
/* 深色模式由 token 负责 */
|
|
169
138
|
|
|
170
139
|
.file-info-value--path {
|
|
171
140
|
font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', monospace;
|
|
172
141
|
font-size: 12px;
|
|
173
|
-
background:
|
|
142
|
+
background: var(--huyooo-code-bg);
|
|
143
|
+
color: var(--huyooo-code-text);
|
|
174
144
|
padding: 4px 8px;
|
|
175
145
|
border-radius: 4px;
|
|
176
146
|
user-select: all;
|
|
177
147
|
}
|
|
178
148
|
|
|
179
|
-
|
|
180
|
-
.file-info-value--path {
|
|
181
|
-
background: #383838;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
149
|
+
/* 深色模式由 token 负责 */
|
|
184
150
|
|
|
185
151
|
/* 图标样式 */
|
|
186
152
|
.file-info-icon {
|
|
@@ -190,35 +156,35 @@
|
|
|
190
156
|
}
|
|
191
157
|
|
|
192
158
|
.file-info-icon--folder {
|
|
193
|
-
color:
|
|
159
|
+
color: var(--huyooo-filetype-folder);
|
|
194
160
|
}
|
|
195
161
|
|
|
196
162
|
.file-info-icon--image {
|
|
197
|
-
color:
|
|
163
|
+
color: var(--huyooo-filetype-image);
|
|
198
164
|
}
|
|
199
165
|
|
|
200
166
|
.file-info-icon--video {
|
|
201
|
-
color:
|
|
167
|
+
color: var(--huyooo-filetype-video);
|
|
202
168
|
}
|
|
203
169
|
|
|
204
170
|
.file-info-icon--music {
|
|
205
|
-
color:
|
|
171
|
+
color: var(--huyooo-filetype-music);
|
|
206
172
|
}
|
|
207
173
|
|
|
208
174
|
.file-info-icon--document {
|
|
209
|
-
color:
|
|
175
|
+
color: var(--huyooo-filetype-document);
|
|
210
176
|
}
|
|
211
177
|
|
|
212
178
|
.file-info-icon--code {
|
|
213
|
-
color:
|
|
179
|
+
color: var(--huyooo-filetype-code);
|
|
214
180
|
}
|
|
215
181
|
|
|
216
182
|
.file-info-icon--archive {
|
|
217
|
-
color:
|
|
183
|
+
color: var(--huyooo-filetype-archive);
|
|
218
184
|
}
|
|
219
185
|
|
|
220
186
|
.file-info-icon--file {
|
|
221
|
-
color:
|
|
187
|
+
color: var(--huyooo-filetype-file);
|
|
222
188
|
}
|
|
223
189
|
|
|
224
190
|
/* 底部 */
|
|
@@ -226,14 +192,10 @@
|
|
|
226
192
|
display: flex;
|
|
227
193
|
justify-content: flex-end;
|
|
228
194
|
padding: 12px 20px;
|
|
229
|
-
border-top: 1px solid
|
|
195
|
+
border-top: 1px solid var(--huyooo-border);
|
|
230
196
|
}
|
|
231
197
|
|
|
232
|
-
|
|
233
|
-
.file-info-dialog-footer {
|
|
234
|
-
border-top-color: #404040;
|
|
235
|
-
}
|
|
236
|
-
}
|
|
198
|
+
/* 深色模式由 token 负责 */
|
|
237
199
|
|
|
238
200
|
.file-info-dialog-btn {
|
|
239
201
|
padding: 6px 16px;
|
|
@@ -242,11 +204,11 @@
|
|
|
242
204
|
font-size: 13px;
|
|
243
205
|
cursor: pointer;
|
|
244
206
|
transition: all 0.15s ease;
|
|
245
|
-
background:
|
|
207
|
+
background: var(--huyooo-primary);
|
|
246
208
|
color: white;
|
|
247
209
|
}
|
|
248
210
|
|
|
249
211
|
.file-info-dialog-btn:hover {
|
|
250
|
-
background:
|
|
212
|
+
background: var(--huyooo-primary-hover, var(--huyooo-primary));
|
|
251
213
|
}
|
|
252
214
|
|
|
@@ -23,7 +23,7 @@ export interface FileInfoDialogProps {
|
|
|
23
23
|
function getFileIcon(type: FileType, name?: string) {
|
|
24
24
|
// 文件夹使用 material-icon-theme:folder
|
|
25
25
|
if (type === FileType.FOLDER) {
|
|
26
|
-
return <Icon icon="
|
|
26
|
+
return <Icon icon="ic:round-folder" width={48} height={48} className="file-info-icon" />;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
// 如果有文件名,使用 material-icon-theme 图标映射(传递 type 作为兜底)
|
|
@@ -19,13 +19,13 @@
|
|
|
19
19
|
/* 表头 - 更紧凑 */
|
|
20
20
|
.file-list-header {
|
|
21
21
|
font-size: 11px;
|
|
22
|
-
color:
|
|
22
|
+
color: var(--huyooo-text-muted);
|
|
23
23
|
font-weight: 500;
|
|
24
24
|
text-transform: uppercase;
|
|
25
25
|
letter-spacing: 0.3px;
|
|
26
26
|
position: sticky;
|
|
27
27
|
top: 0;
|
|
28
|
-
background:
|
|
28
|
+
background: var(--huyooo-surface);
|
|
29
29
|
backdrop-filter: blur(8px);
|
|
30
30
|
-webkit-backdrop-filter: blur(8px);
|
|
31
31
|
z-index: 10;
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
|
|
35
35
|
.file-list-header-cell {
|
|
36
36
|
padding: 6px 12px;
|
|
37
|
-
border-bottom: 1px solid
|
|
37
|
+
border-bottom: 1px solid var(--huyooo-border);
|
|
38
38
|
cursor: pointer;
|
|
39
39
|
text-align: left;
|
|
40
40
|
font-weight: 500;
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
.file-list-header-cell:hover {
|
|
45
|
-
background:
|
|
45
|
+
background: var(--huyooo-muted-hover);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
.file-list-header-cell--name {
|
|
@@ -79,36 +79,36 @@
|
|
|
79
79
|
|
|
80
80
|
/* 奇数行 - 轻微斑马纹 */
|
|
81
81
|
.file-list-row--odd {
|
|
82
|
-
background:
|
|
82
|
+
background: color-mix(in srgb, var(--huyooo-muted) 20%, transparent);
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
/* 悬停效果 */
|
|
86
86
|
.file-list-row--even:hover,
|
|
87
87
|
.file-list-row--odd:hover {
|
|
88
|
-
background:
|
|
88
|
+
background: var(--huyooo-muted-hover);
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
/* 选中状态 - macOS 风格整行高亮 */
|
|
92
92
|
.file-list-row--selected {
|
|
93
|
-
background:
|
|
93
|
+
background: var(--huyooo-primary);
|
|
94
94
|
color: white;
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
.file-list-row--selected:hover {
|
|
98
|
-
background:
|
|
98
|
+
background: var(--huyooo-primary-hover, var(--huyooo-primary));
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
/* 拖拽悬停 */
|
|
102
102
|
.file-list-row--drag-over {
|
|
103
|
-
background:
|
|
104
|
-
border-bottom-color:
|
|
103
|
+
background: var(--huyooo-focus-ring);
|
|
104
|
+
border-bottom-color: var(--huyooo-primary);
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
/* 单元格 - 更紧凑的行高 */
|
|
108
108
|
.file-list-cell {
|
|
109
109
|
padding: 4px 12px;
|
|
110
110
|
white-space: nowrap;
|
|
111
|
-
color:
|
|
111
|
+
color: var(--huyooo-text-muted);
|
|
112
112
|
vertical-align: middle;
|
|
113
113
|
height: 28px;
|
|
114
114
|
}
|
|
@@ -124,14 +124,14 @@
|
|
|
124
124
|
|
|
125
125
|
/* 选中时单元格颜色 */
|
|
126
126
|
.file-list-cell--selected {
|
|
127
|
-
color:
|
|
127
|
+
color: var(--huyooo-on-primary-muted);
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
/* 大小列 - 等宽字体 */
|
|
131
131
|
.file-list-cell--size {
|
|
132
132
|
font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
|
|
133
133
|
font-size: 11px;
|
|
134
|
-
color:
|
|
134
|
+
color: var(--huyooo-text-disabled);
|
|
135
135
|
font-variant-numeric: tabular-nums;
|
|
136
136
|
}
|
|
137
137
|
|
|
@@ -140,7 +140,7 @@
|
|
|
140
140
|
overflow: hidden;
|
|
141
141
|
text-overflow: ellipsis;
|
|
142
142
|
flex: 1;
|
|
143
|
-
color:
|
|
143
|
+
color: var(--huyooo-text);
|
|
144
144
|
cursor: default;
|
|
145
145
|
font-weight: 400;
|
|
146
146
|
}
|
|
@@ -157,70 +157,13 @@
|
|
|
157
157
|
flex: 1;
|
|
158
158
|
font-size: 13px;
|
|
159
159
|
padding: 2px 6px;
|
|
160
|
-
border: 1px solid
|
|
160
|
+
border: 1px solid var(--huyooo-primary);
|
|
161
161
|
border-radius: 4px;
|
|
162
162
|
outline: none;
|
|
163
|
-
box-shadow: 0 0 0 3px
|
|
164
|
-
background:
|
|
163
|
+
box-shadow: 0 0 0 3px var(--huyooo-focus-ring);
|
|
164
|
+
background: var(--huyooo-surface-2);
|
|
165
|
+
color: var(--huyooo-text);
|
|
165
166
|
cursor: text;
|
|
166
167
|
}
|
|
167
168
|
|
|
168
|
-
/*
|
|
169
|
-
@media (prefers-color-scheme: dark) {
|
|
170
|
-
.file-list-header {
|
|
171
|
-
background: rgba(28, 28, 30, 0.92);
|
|
172
|
-
color: #98989d;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
.file-list-header-cell {
|
|
176
|
-
border-bottom-color: rgba(255, 255, 255, 0.08);
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
.file-list-header-cell:hover {
|
|
180
|
-
background: rgba(255, 255, 255, 0.04);
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
.file-list-row--odd {
|
|
184
|
-
background: rgba(255, 255, 255, 0.02);
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
.file-list-row--even:hover,
|
|
188
|
-
.file-list-row--odd:hover {
|
|
189
|
-
background: rgba(255, 255, 255, 0.06);
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
.file-list-row--selected {
|
|
193
|
-
background: #0a84ff;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
.file-list-row--selected:hover {
|
|
197
|
-
background: #0077ed;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
.file-list-row--drag-over {
|
|
201
|
-
background: rgba(10, 132, 255, 0.2);
|
|
202
|
-
border-bottom-color: rgba(10, 132, 255, 0.4);
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
.file-list-cell {
|
|
206
|
-
color: #98989d;
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
.file-list-cell--size {
|
|
210
|
-
color: #6e6e73;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
.file-list-name {
|
|
214
|
-
color: #f5f5f7;
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
.file-list-name--selected {
|
|
218
|
-
color: white;
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
.file-list-rename-input {
|
|
222
|
-
background: #1c1c1e;
|
|
223
|
-
border-color: #0a84ff;
|
|
224
|
-
color: #f5f5f7;
|
|
225
|
-
}
|
|
226
|
-
}
|
|
169
|
+
/* 深色模式由 token 负责 */
|
|
@@ -13,15 +13,15 @@
|
|
|
13
13
|
align-items: center;
|
|
14
14
|
justify-content: center;
|
|
15
15
|
height: 100%;
|
|
16
|
-
color:
|
|
16
|
+
color: var(--huyooo-text-disabled);
|
|
17
17
|
gap: 16px;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
.file-list-view-spinner {
|
|
21
21
|
width: 32px;
|
|
22
22
|
height: 32px;
|
|
23
|
-
border: 3px solid
|
|
24
|
-
border-top-color:
|
|
23
|
+
border: 3px solid color-mix(in srgb, var(--huyooo-text-disabled) 20%, transparent);
|
|
24
|
+
border-top-color: var(--huyooo-primary);
|
|
25
25
|
border-radius: 50%;
|
|
26
26
|
animation: spin 0.8s linear infinite;
|
|
27
27
|
}
|