dsh-tide-theme 0.4.0 → 0.5.0
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/README.md +72 -27
- package/cordis.patch.yml +2 -2
- package/docs/images/banner-dark.png +0 -0
- package/docs/images/banner-light.png +0 -0
- package/docs/images/current-delegation-dark-native.png +0 -0
- package/docs/images/current-delegation-dark.png +0 -0
- package/docs/images/current-delegation-light-native.png +0 -0
- package/docs/images/current-delegation-light.png +0 -0
- package/docs/images/current-dock-dark-native.png +0 -0
- package/docs/images/current-dock-dark.png +0 -0
- package/docs/images/current-dock-light-native.png +0 -0
- package/docs/images/current-dock-light.png +0 -0
- package/docs/images/current-model-dark.png +0 -0
- package/docs/images/current-model-light.png +0 -0
- package/docs/images/current-settings-dark.png +0 -0
- package/docs/images/current-settings-light.png +0 -0
- package/docs/images/current-sidebar-dark.png +0 -0
- package/docs/images/current-sidebar-light.png +0 -0
- package/lib/client.js +473 -349
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -2
- package/package.json +5 -5
package/lib/client.js
CHANGED
|
@@ -10,164 +10,180 @@ window.__ModuleLoader__.load({
|
|
|
10
10
|
const THEME_SOURCE = "dsh-tide-theme";
|
|
11
11
|
const SIMPLIFY_TOKENS = Object.freeze({
|
|
12
12
|
"--dsw-alias-bg-base": {
|
|
13
|
-
light: "#
|
|
14
|
-
dark: "#
|
|
13
|
+
light: "#f5f8fc",
|
|
14
|
+
dark: "#0b121e"
|
|
15
15
|
},
|
|
16
16
|
"--dsw-alias-bg-layer-1": {
|
|
17
17
|
light: "#edf3fa",
|
|
18
|
-
dark: "#
|
|
18
|
+
dark: "#0e1726"
|
|
19
19
|
},
|
|
20
20
|
"--dsw-alias-bg-layer-2": {
|
|
21
21
|
light: "#ffffff",
|
|
22
|
-
dark: "#
|
|
22
|
+
dark: "#142034"
|
|
23
23
|
},
|
|
24
24
|
"--dsw-alias-bg-layer-3": {
|
|
25
|
-
light: "#
|
|
26
|
-
dark: "#
|
|
25
|
+
light: "#fbfdff",
|
|
26
|
+
dark: "#1a2840"
|
|
27
27
|
},
|
|
28
28
|
"--dsw-alias-bg-module-platform": {
|
|
29
|
-
light: "#
|
|
30
|
-
dark: "#
|
|
29
|
+
light: "#f5f8fc",
|
|
30
|
+
dark: "#0b121e"
|
|
31
31
|
},
|
|
32
32
|
"--dsw-alias-bg-skeleton": {
|
|
33
|
-
light: "
|
|
34
|
-
dark: "
|
|
33
|
+
light: "rgba(37, 99, 235, 0.06)",
|
|
34
|
+
dark: "rgba(96, 165, 250, 0.08)"
|
|
35
35
|
},
|
|
36
36
|
"--dsw-alias-border-l1": {
|
|
37
|
-
light: "
|
|
38
|
-
dark: "
|
|
37
|
+
light: "rgba(37, 99, 235, 0.08)",
|
|
38
|
+
dark: "rgba(96, 165, 250, 0.12)"
|
|
39
39
|
},
|
|
40
40
|
"--dsw-alias-border-l2": {
|
|
41
|
-
light: "
|
|
42
|
-
dark: "
|
|
41
|
+
light: "rgba(37, 99, 235, 0.14)",
|
|
42
|
+
dark: "rgba(96, 165, 250, 0.18)"
|
|
43
43
|
},
|
|
44
44
|
"--dsw-alias-border-l3": {
|
|
45
|
-
light: "
|
|
46
|
-
dark: "
|
|
45
|
+
light: "rgba(37, 99, 235, 0.22)",
|
|
46
|
+
dark: "rgba(96, 165, 250, 0.28)"
|
|
47
47
|
},
|
|
48
48
|
"--dsw-alias-border-l4": {
|
|
49
|
-
light: "
|
|
50
|
-
dark: "
|
|
49
|
+
light: "rgba(37, 99, 235, 0.32)",
|
|
50
|
+
dark: "rgba(96, 165, 250, 0.40)"
|
|
51
51
|
},
|
|
52
52
|
"--dsw-alias-separator-primary": {
|
|
53
|
-
light: "
|
|
54
|
-
dark: "
|
|
53
|
+
light: "rgba(37, 99, 235, 0.08)",
|
|
54
|
+
dark: "rgba(96, 165, 250, 0.12)"
|
|
55
55
|
},
|
|
56
56
|
"--dsw-alias-label-primary": {
|
|
57
|
-
light: "#
|
|
58
|
-
dark: "#
|
|
57
|
+
light: "#0f172a",
|
|
58
|
+
dark: "#f0f6ff"
|
|
59
59
|
},
|
|
60
60
|
"--dsw-alias-label-secondary": {
|
|
61
|
-
light: "#
|
|
62
|
-
dark: "#
|
|
61
|
+
light: "#334155",
|
|
62
|
+
dark: "#c8dcf5"
|
|
63
63
|
},
|
|
64
64
|
"--dsw-alias-label-tertiary": {
|
|
65
|
-
light: "#
|
|
66
|
-
dark: "#
|
|
65
|
+
light: "#64748b",
|
|
66
|
+
dark: "#93b4dc"
|
|
67
67
|
},
|
|
68
68
|
"--dsw-alias-label-caption": {
|
|
69
|
-
light: "#
|
|
70
|
-
dark: "#
|
|
69
|
+
light: "#475569",
|
|
70
|
+
dark: "#678ab8"
|
|
71
71
|
},
|
|
72
72
|
"--dsw-alias-label-dimmed": {
|
|
73
|
-
light: "#
|
|
74
|
-
dark: "#
|
|
73
|
+
light: "#526071",
|
|
74
|
+
dark: "#45638c"
|
|
75
|
+
},
|
|
76
|
+
"--dsw-alias-label-quaternary": {
|
|
77
|
+
light: "#64748b",
|
|
78
|
+
dark: "#678ab8"
|
|
79
|
+
},
|
|
80
|
+
"--dsw-alias-label-error": {
|
|
81
|
+
light: "#dc2626",
|
|
82
|
+
dark: "#ef4444"
|
|
75
83
|
},
|
|
76
84
|
"--dsw-alias-label-primary-dimmed": {
|
|
77
|
-
light: "#
|
|
78
|
-
dark: "#
|
|
85
|
+
light: "#1e293b",
|
|
86
|
+
dark: "#dbeafe"
|
|
79
87
|
},
|
|
80
88
|
"--dsw-alias-label-primary-bluish": {
|
|
81
|
-
light: "#
|
|
82
|
-
dark: "#
|
|
89
|
+
light: "#1d4ed8",
|
|
90
|
+
dark: "#38bdf8"
|
|
83
91
|
},
|
|
84
92
|
"--dsw-alias-label-shimmer": {
|
|
85
|
-
light: "#
|
|
86
|
-
dark: "#
|
|
93
|
+
light: "#64748b",
|
|
94
|
+
dark: "#93b4dc"
|
|
87
95
|
},
|
|
88
96
|
"--dsw-alias-label-deep-diving": {
|
|
89
|
-
light: "#
|
|
90
|
-
dark: "#
|
|
97
|
+
light: "#334155",
|
|
98
|
+
dark: "#c8dcf5"
|
|
91
99
|
},
|
|
92
100
|
"--dsw-alias-label-deep-diving-shimmer": {
|
|
93
|
-
light: "#
|
|
94
|
-
dark: "#
|
|
101
|
+
light: "#1e293b",
|
|
102
|
+
dark: "#e0edfd"
|
|
95
103
|
},
|
|
96
104
|
"--dsw-alias-link": {
|
|
97
|
-
light: "#
|
|
98
|
-
dark: "#
|
|
105
|
+
light: "#1d4ed8",
|
|
106
|
+
dark: "#38bdf8"
|
|
99
107
|
},
|
|
100
108
|
"--dsw-alias-interactive-bg-hover": {
|
|
101
|
-
light: "
|
|
102
|
-
dark: "
|
|
109
|
+
light: "rgba(37, 99, 235, 0.05)",
|
|
110
|
+
dark: "rgba(96, 165, 250, 0.08)"
|
|
103
111
|
},
|
|
104
112
|
"--dsw-alias-interactive-bg-hover-solid": {
|
|
105
113
|
light: "#e8f1fd",
|
|
106
|
-
dark: "#
|
|
114
|
+
dark: "#18263e"
|
|
115
|
+
},
|
|
116
|
+
"--dsw-alias-interactive-bg-subtle": {
|
|
117
|
+
light: "rgba(15, 23, 42, 0.03)",
|
|
118
|
+
dark: "rgba(255, 255, 255, 0.03)"
|
|
107
119
|
},
|
|
108
120
|
"--dsw-alias-interactive-bg-active": {
|
|
109
|
-
light: "
|
|
110
|
-
dark: "
|
|
121
|
+
light: "rgba(37, 99, 235, 0.10)",
|
|
122
|
+
dark: "rgba(96, 165, 250, 0.15)"
|
|
111
123
|
},
|
|
112
124
|
"--dsw-alias-turn-trigger-bg": {
|
|
113
|
-
light: "
|
|
114
|
-
dark: "
|
|
125
|
+
light: "rgba(37, 99, 235, 0.04)",
|
|
126
|
+
dark: "rgba(96, 165, 250, 0.06)"
|
|
115
127
|
},
|
|
116
128
|
"--dsw-alias-turn-trigger-bg-hover": {
|
|
117
|
-
light: "
|
|
118
|
-
dark: "
|
|
129
|
+
light: "rgba(37, 99, 235, 0.08)",
|
|
130
|
+
dark: "rgba(96, 165, 250, 0.12)"
|
|
119
131
|
},
|
|
120
132
|
"--dsw-alias-button-elevated-fill": {
|
|
121
133
|
light: "#ffffff",
|
|
122
|
-
dark: "#
|
|
134
|
+
dark: "#18263e"
|
|
123
135
|
},
|
|
124
136
|
"--dsw-alias-button-floating-fill": {
|
|
125
137
|
light: "#ffffff",
|
|
126
|
-
dark: "#
|
|
138
|
+
dark: "#18263e"
|
|
127
139
|
},
|
|
128
140
|
"--dsw-alias-button-floating-hover": {
|
|
129
|
-
light: "#
|
|
130
|
-
dark: "#
|
|
141
|
+
light: "#f0f6fc",
|
|
142
|
+
dark: "#203250"
|
|
131
143
|
},
|
|
132
144
|
"--dsw-alias-button-info-fill": {
|
|
133
|
-
light: "#
|
|
134
|
-
dark: "#
|
|
145
|
+
light: "#1d4ed8",
|
|
146
|
+
dark: "#2563eb"
|
|
135
147
|
},
|
|
136
148
|
"--dsw-alias-button-info-hover": {
|
|
137
|
-
light: "#
|
|
138
|
-
dark: "#
|
|
149
|
+
light: "#1e40af",
|
|
150
|
+
dark: "#3b82f6"
|
|
139
151
|
},
|
|
140
152
|
"--dsw-alias-state-business-primary": {
|
|
141
|
-
light: "#
|
|
142
|
-
dark: "#
|
|
153
|
+
light: "#1d4ed8",
|
|
154
|
+
dark: "#38bdf8"
|
|
143
155
|
},
|
|
144
156
|
"--dsw-alias-state-business-tertiary": {
|
|
145
|
-
light: "
|
|
146
|
-
dark: "
|
|
157
|
+
light: "rgba(29, 78, 216, 0.15)",
|
|
158
|
+
dark: "rgba(56, 189, 248, 0.20)"
|
|
147
159
|
},
|
|
148
160
|
"--dsw-alias-state-success-primary": {
|
|
149
|
-
light: "#
|
|
150
|
-
dark: "#
|
|
161
|
+
light: "#047857",
|
|
162
|
+
dark: "#10b981"
|
|
163
|
+
},
|
|
164
|
+
"--dsw-alias-state-success-subtle": {
|
|
165
|
+
light: "rgba(4, 120, 87, 0.12)",
|
|
166
|
+
dark: "rgba(16, 185, 129, 0.16)"
|
|
151
167
|
},
|
|
152
168
|
"--dsw-alias-state-warn-primary": {
|
|
153
|
-
light: "#
|
|
154
|
-
dark: "#
|
|
169
|
+
light: "#b45309",
|
|
170
|
+
dark: "#f59e0b"
|
|
155
171
|
},
|
|
156
172
|
"--dsw-alias-state-warn-label": {
|
|
157
|
-
light: "#
|
|
173
|
+
light: "#b45309",
|
|
158
174
|
dark: "#fbbf24"
|
|
159
175
|
},
|
|
160
176
|
"--dsw-alias-state-error-primary": {
|
|
161
177
|
light: "#dc2626",
|
|
162
|
-
dark: "#
|
|
178
|
+
dark: "#ef4444"
|
|
163
179
|
},
|
|
164
180
|
"--dsw-alias-state-mixed-primary": {
|
|
165
|
-
light: "#
|
|
166
|
-
dark: "#
|
|
181
|
+
light: "#b45309",
|
|
182
|
+
dark: "#f59e0b"
|
|
167
183
|
},
|
|
168
184
|
"--dsw-alias-state-unknown-primary": {
|
|
169
|
-
light: "#
|
|
170
|
-
dark: "#
|
|
185
|
+
light: "#64748b",
|
|
186
|
+
dark: "#93b4dc"
|
|
171
187
|
},
|
|
172
188
|
"--dsw-corner-shape": {
|
|
173
189
|
light: "round",
|
|
@@ -178,52 +194,52 @@ window.__ModuleLoader__.load({
|
|
|
178
194
|
dark: "4px"
|
|
179
195
|
},
|
|
180
196
|
"--dsw-radius-sm": {
|
|
181
|
-
light: "
|
|
182
|
-
dark: "
|
|
197
|
+
light: "6px",
|
|
198
|
+
dark: "6px"
|
|
183
199
|
},
|
|
184
200
|
"--dsw-radius-md": {
|
|
185
|
-
light: "
|
|
186
|
-
dark: "
|
|
201
|
+
light: "10px",
|
|
202
|
+
dark: "10px"
|
|
187
203
|
},
|
|
188
204
|
"--dsw-radius-lg": {
|
|
189
|
-
light: "
|
|
190
|
-
dark: "
|
|
205
|
+
light: "14px",
|
|
206
|
+
dark: "14px"
|
|
191
207
|
},
|
|
192
208
|
"--dsw-radius-xl": {
|
|
193
|
-
light: "
|
|
194
|
-
dark: "
|
|
209
|
+
light: "18px",
|
|
210
|
+
dark: "18px"
|
|
195
211
|
},
|
|
196
212
|
"--dsw-radius-panel": {
|
|
197
|
-
light: "
|
|
198
|
-
dark: "
|
|
213
|
+
light: "20px",
|
|
214
|
+
dark: "20px"
|
|
199
215
|
},
|
|
200
216
|
"--dsw-elevation-soft": {
|
|
201
|
-
light: "0 1px 3px rgba(
|
|
202
|
-
dark: "0 1px 3px rgba(
|
|
217
|
+
light: "0 1px 3px rgba(15, 23, 42, 0.05), 0 6px 16px -3px rgba(15, 23, 42, 0.06), 0 0 0 1px rgba(37, 99, 235, 0.08)",
|
|
218
|
+
dark: "0 1px 3px rgba(3, 7, 18, 0.45), 0 6px 16px -3px rgba(3, 7, 18, 0.55), 0 0 0 1px rgba(96, 165, 250, 0.12)"
|
|
203
219
|
},
|
|
204
220
|
"--dsw-elevation-panel": {
|
|
205
|
-
light: "0 2px
|
|
206
|
-
dark: "0 2px
|
|
221
|
+
light: "0 4px 16px -2px rgba(15, 23, 42, 0.08), 0 16px 36px -6px rgba(15, 23, 42, 0.10), 0 0 0 1px rgba(37, 99, 235, 0.10)",
|
|
222
|
+
dark: "0 4px 16px -2px rgba(3, 7, 18, 0.55), 0 16px 36px -6px rgba(3, 7, 18, 0.75), 0 0 0 1px rgba(96, 165, 250, 0.16)"
|
|
207
223
|
},
|
|
208
224
|
"--dsw-elevation-prominent": {
|
|
209
|
-
light: "0
|
|
210
|
-
dark: "0
|
|
225
|
+
light: "0 20px 48px -10px rgba(15, 23, 42, 0.16), 0 0 0 1px rgba(37, 99, 235, 0.12)",
|
|
226
|
+
dark: "0 20px 48px -10px rgba(3, 7, 18, 0.85), 0 0 0 1px rgba(96, 165, 250, 0.20)"
|
|
211
227
|
},
|
|
212
228
|
"--dsw-elevation-stroke-color": {
|
|
213
|
-
light: "rgba(
|
|
214
|
-
dark: "rgba(
|
|
229
|
+
light: "rgba(37, 99, 235, 0.10)",
|
|
230
|
+
dark: "rgba(96, 165, 250, 0.16)"
|
|
215
231
|
},
|
|
216
232
|
"--dsw-menu-backdrop-filter": {
|
|
217
|
-
light: "blur(
|
|
218
|
-
dark: "blur(
|
|
233
|
+
light: "blur(16px)",
|
|
234
|
+
dark: "blur(16px)"
|
|
219
235
|
},
|
|
220
236
|
"--dsw-menu-surface-fill": {
|
|
221
|
-
light: "#
|
|
222
|
-
dark: "#
|
|
237
|
+
light: "#fffffff8",
|
|
238
|
+
dark: "#142034f5"
|
|
223
239
|
},
|
|
224
240
|
"--dsw-alias-menu-group-header-fill": {
|
|
225
|
-
light: "#
|
|
226
|
-
dark: "#
|
|
241
|
+
light: "#fffffff8",
|
|
242
|
+
dark: "#142034f5"
|
|
227
243
|
},
|
|
228
244
|
"--dsw-specific-menu": {
|
|
229
245
|
light: "var(--dsw-menu-surface-fill)",
|
|
@@ -231,59 +247,59 @@ window.__ModuleLoader__.load({
|
|
|
231
247
|
},
|
|
232
248
|
"--dsw-specific-sidebar-fill": {
|
|
233
249
|
light: "#edf3fa",
|
|
234
|
-
dark: "#
|
|
250
|
+
dark: "#0e1726"
|
|
235
251
|
},
|
|
236
252
|
"--dsw-specific-selector": {
|
|
237
253
|
light: "#ffffff",
|
|
238
|
-
dark: "#
|
|
254
|
+
dark: "#142034"
|
|
239
255
|
},
|
|
240
256
|
"--dsw-specific-input-major": {
|
|
241
257
|
light: "#ffffff",
|
|
242
|
-
dark: "#
|
|
258
|
+
dark: "#10192a"
|
|
243
259
|
},
|
|
244
260
|
"--dsw-specific-bubble": {
|
|
245
|
-
light: "#
|
|
246
|
-
dark: "#
|
|
261
|
+
light: "#e8f1fd",
|
|
262
|
+
dark: "#16243b"
|
|
247
263
|
},
|
|
248
264
|
"--dsw-specific-bubble-highlight": {
|
|
249
|
-
light: "#
|
|
250
|
-
dark: "#
|
|
265
|
+
light: "#dbeafe",
|
|
266
|
+
dark: "#1d304f"
|
|
251
267
|
},
|
|
252
268
|
"--dsw-alias-markdown-code-block": {
|
|
253
|
-
light: "#
|
|
254
|
-
dark: "#
|
|
269
|
+
light: "#f0f5fc",
|
|
270
|
+
dark: "#09101c"
|
|
255
271
|
},
|
|
256
272
|
"--dsw-alias-markdown-code-block-banner": {
|
|
257
|
-
light: "#
|
|
258
|
-
dark: "#
|
|
273
|
+
light: "#f0f5fc",
|
|
274
|
+
dark: "#09101c"
|
|
259
275
|
},
|
|
260
276
|
"--dsw-alias-markdown-inline-code": {
|
|
261
|
-
light: "#
|
|
262
|
-
dark: "#
|
|
277
|
+
light: "#e2ecf9",
|
|
278
|
+
dark: "#152238"
|
|
263
279
|
},
|
|
264
280
|
"--dsw-alias-scrollbar-bg-l1": {
|
|
265
|
-
light: "
|
|
266
|
-
dark: "
|
|
281
|
+
light: "rgba(37, 99, 235, 0.08)",
|
|
282
|
+
dark: "rgba(96, 165, 250, 0.10)"
|
|
267
283
|
},
|
|
268
284
|
"--dsw-alias-scrollbar-bg-l2": {
|
|
269
|
-
light: "
|
|
270
|
-
dark: "
|
|
285
|
+
light: "rgba(37, 99, 235, 0.16)",
|
|
286
|
+
dark: "rgba(96, 165, 250, 0.18)"
|
|
271
287
|
},
|
|
272
288
|
"--dsw-alias-scrollbar-hover-l2": {
|
|
273
|
-
light: "
|
|
274
|
-
dark: "
|
|
289
|
+
light: "rgba(37, 99, 235, 0.26)",
|
|
290
|
+
dark: "rgba(96, 165, 250, 0.28)"
|
|
275
291
|
},
|
|
276
292
|
"--dsw-focus-ring-color": {
|
|
277
|
-
light: "#
|
|
278
|
-
dark: "#
|
|
293
|
+
light: "#1d4ed8",
|
|
294
|
+
dark: "#38bdf8"
|
|
279
295
|
},
|
|
280
296
|
"--dsw-static-blue-450": {
|
|
281
|
-
light: "#
|
|
282
|
-
dark: "#
|
|
297
|
+
light: "#1d4ed8",
|
|
298
|
+
dark: "#38bdf8"
|
|
283
299
|
},
|
|
284
300
|
"--dsw-static-neutral-bluish-400": {
|
|
285
|
-
light: "#
|
|
286
|
-
dark: "#
|
|
301
|
+
light: "#64748b",
|
|
302
|
+
dark: "#93b4dc"
|
|
287
303
|
}
|
|
288
304
|
});
|
|
289
305
|
//#endregion
|
|
@@ -306,49 +322,41 @@ window.__ModuleLoader__.load({
|
|
|
306
322
|
* ========================================================================== */
|
|
307
323
|
|
|
308
324
|
/* ============================================================================
|
|
309
|
-
*
|
|
325
|
+
* 潮汐主题材质变量(Tide Theme Surface Tokens)
|
|
310
326
|
*
|
|
311
|
-
*
|
|
312
|
-
*
|
|
313
|
-
*
|
|
327
|
+
* 遵循 workbuddy-design 规范:高端、克制、现代设计风格,纯正深海潮汐蓝体系
|
|
328
|
+
* 杜绝 AI 廉价蓝紫/粉色杂乱渐变与大光斑;底色采用深海曜岩蓝灰,禁用纯黑 #000000;
|
|
329
|
+
* 采用自然融入深海的漫反射柔影与精细物理边框。
|
|
314
330
|
* ========================================================================== */
|
|
315
331
|
body[data-dsh-tide-theme][data-ds-dark-theme] {
|
|
316
|
-
--dsh-tide-glass-surface:
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
--dsh-tide-glass-
|
|
320
|
-
--dsh-tide-glass-
|
|
321
|
-
--dsh-tide-glass-
|
|
322
|
-
--dsh-tide-glass-shadow: 0
|
|
323
|
-
--dsh-tide-glass-shadow-
|
|
324
|
-
--dsh-tide-
|
|
325
|
-
--dsh-tide-
|
|
326
|
-
|
|
327
|
-
* 用实色而非叠加半透白,避免与玻璃同色糊成一片。 */
|
|
328
|
-
--dsh-tide-card-surface: linear-gradient(180deg, rgba(38, 52, 74, 0.96) 0%, rgba(28, 40, 58, 0.94) 100%);
|
|
329
|
-
--dsh-tide-card-border: rgba(143, 196, 255, 0.20);
|
|
330
|
-
--dsh-tide-card-border-hover: rgba(143, 196, 255, 0.36);
|
|
332
|
+
--dsh-tide-glass-surface: rgba(20, 32, 52, 0.95);
|
|
333
|
+
--dsh-tide-glass-border: rgba(96, 165, 250, 0.16);
|
|
334
|
+
--dsh-tide-glass-border-hover: rgba(96, 165, 250, 0.32);
|
|
335
|
+
--dsh-tide-glass-blur: blur(16px);
|
|
336
|
+
--dsh-tide-glass-shadow: 0 8px 24px -4px rgba(3, 7, 18, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.08);
|
|
337
|
+
--dsh-tide-glass-shadow-hover: 0 12px 32px -4px rgba(3, 7, 18, 0.65), inset 0 1px 0 rgba(255, 255, 255, 0.12);
|
|
338
|
+
--dsh-tide-glass-shadow-panel: 0 16px 40px -8px rgba(3, 7, 18, 0.75), 0 0 0 1px rgba(96, 165, 250, 0.16);
|
|
339
|
+
--dsh-tide-glass-shadow-card: 0 2px 8px -2px rgba(3, 7, 18, 0.45), 0 0 0 1px rgba(96, 165, 250, 0.12);
|
|
340
|
+
--dsh-tide-card-surface: #16243a;
|
|
341
|
+
--dsh-tide-card-border: rgba(96, 165, 250, 0.14);
|
|
342
|
+
--dsh-tide-card-border-hover: rgba(96, 165, 250, 0.28);
|
|
331
343
|
}
|
|
332
344
|
|
|
333
345
|
body[data-dsh-tide-theme]:not([data-ds-dark-theme]) {
|
|
334
|
-
--dsh-tide-glass-surface:
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
--dsh-tide-glass-
|
|
338
|
-
--dsh-tide-glass-
|
|
339
|
-
--dsh-tide-glass-
|
|
340
|
-
--dsh-tide-glass-shadow:
|
|
341
|
-
--dsh-tide-glass-shadow-
|
|
342
|
-
--dsh-tide-
|
|
343
|
-
--dsh-tide-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
/* —— Simplify Theme 全局深色玻璃底色(单一 Token 来源与精准结构选择器,body[data-dsh-tide-theme] 门控) —— */
|
|
351
|
-
/* 宿主主框架:只在启用本主题时覆盖全局底色,基色复用现有 token 变量,不在 CSS 写第二套色值 */
|
|
346
|
+
--dsh-tide-glass-surface: rgba(255, 255, 255, 0.95);
|
|
347
|
+
--dsh-tide-glass-border: rgba(37, 99, 235, 0.12);
|
|
348
|
+
--dsh-tide-glass-border-hover: rgba(37, 99, 235, 0.24);
|
|
349
|
+
--dsh-tide-glass-blur: blur(16px);
|
|
350
|
+
--dsh-tide-glass-shadow: 0 4px 16px -2px rgba(15, 23, 42, 0.06), 0 0 0 1px rgba(37, 99, 235, 0.08);
|
|
351
|
+
--dsh-tide-glass-shadow-hover: 0 8px 24px -4px rgba(15, 23, 42, 0.10), 0 0 0 1px rgba(37, 99, 235, 0.14);
|
|
352
|
+
--dsh-tide-glass-shadow-panel: 0 12px 32px -6px rgba(15, 23, 42, 0.12), 0 0 0 1px rgba(37, 99, 235, 0.10);
|
|
353
|
+
--dsh-tide-glass-shadow-card: 0 1px 4px rgba(15, 23, 42, 0.04), 0 0 0 1px rgba(37, 99, 235, 0.08);
|
|
354
|
+
--dsh-tide-card-surface: #ffffff;
|
|
355
|
+
--dsh-tide-card-border: rgba(37, 99, 235, 0.12);
|
|
356
|
+
--dsh-tide-card-border-hover: rgba(37, 99, 235, 0.22);
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
/* —— 潮汐主题全局底色(单一 Token 来源与精准结构选择器,body[data-dsh-tide-theme] 门控) —— */
|
|
352
360
|
body[data-dsh-tide-theme][data-ds-dark-theme] {
|
|
353
361
|
background-color: var(--dsw-alias-bg-base) !important;
|
|
354
362
|
}
|
|
@@ -357,68 +365,62 @@ body[data-dsh-tide-theme]:not([data-ds-dark-theme]) {
|
|
|
357
365
|
background-color: var(--dsw-alias-bg-base) !important;
|
|
358
366
|
}
|
|
359
367
|
|
|
360
|
-
/*
|
|
368
|
+
/* 侧栏:微偏暖深灰/浅灰分层 */
|
|
361
369
|
body[data-dsh-tide-theme][data-ds-dark-theme] [class*='_sidebarCol'],
|
|
362
370
|
body[data-dsh-tide-theme][data-ds-dark-theme] [data-slot='sidebar.workspaces'],
|
|
363
371
|
body[data-dsh-tide-theme][data-ds-dark-theme] [data-slot='sidebar'] {
|
|
364
|
-
background:
|
|
365
|
-
border-right: 1px solid
|
|
372
|
+
background: var(--dsw-specific-sidebar-fill) !important;
|
|
373
|
+
border-right: 1px solid var(--dsw-alias-border-l1) !important;
|
|
366
374
|
}
|
|
367
375
|
|
|
368
376
|
body[data-dsh-tide-theme]:not([data-ds-dark-theme]) [class*='_sidebarCol'],
|
|
369
377
|
body[data-dsh-tide-theme]:not([data-ds-dark-theme]) [data-slot='sidebar.workspaces'],
|
|
370
378
|
body[data-dsh-tide-theme]:not([data-ds-dark-theme]) [data-slot='sidebar'] {
|
|
371
|
-
background:
|
|
372
|
-
border-right:
|
|
379
|
+
background: var(--dsw-specific-sidebar-fill) !important;
|
|
380
|
+
border-right: 1px solid var(--dsw-alias-border-l1) !important;
|
|
373
381
|
}
|
|
374
382
|
|
|
375
|
-
/*
|
|
383
|
+
/* 中间主画布:纯粹克制的无微光中性底色 */
|
|
376
384
|
body[data-dsh-tide-theme][data-ds-dark-theme] [class*='_centerCol'],
|
|
377
385
|
body[data-dsh-tide-theme][data-ds-dark-theme] [data-conversation-scroll] {
|
|
378
|
-
background:
|
|
379
|
-
radial-gradient(120% 60% at 50% -10%, rgba(30, 80, 180, 0.12) 0%, transparent 60%),
|
|
380
|
-
radial-gradient(ellipse at 80% 100%, rgba(20, 60, 140, 0.08) 0%, transparent 50%),
|
|
381
|
-
var(--dsw-alias-bg-base) !important;
|
|
386
|
+
background: var(--dsw-alias-bg-base) !important;
|
|
382
387
|
}
|
|
383
388
|
|
|
384
389
|
body[data-dsh-tide-theme]:not([data-ds-dark-theme]) [class*='_centerCol'],
|
|
385
390
|
body[data-dsh-tide-theme]:not([data-ds-dark-theme]) [data-conversation-scroll] {
|
|
386
|
-
background:
|
|
387
|
-
radial-gradient(120% 60% at 50% -10%, rgba(29, 108, 240, 0.07) 0%, transparent 60%),
|
|
388
|
-
radial-gradient(ellipse at 85% 100%, rgba(29, 108, 240, 0.04) 0%, transparent 50%),
|
|
389
|
-
var(--dsw-alias-bg-base) !important;
|
|
391
|
+
background: var(--dsw-alias-bg-base) !important;
|
|
390
392
|
}
|
|
391
393
|
|
|
392
|
-
/*
|
|
394
|
+
/* 顶栏头部与面包屑:精准定位真正的对话头部,克制毛玻璃质感 */
|
|
393
395
|
body[data-dsh-tide-theme][data-ds-dark-theme] header[class*='_header']:has([data-conversation-header-leading]),
|
|
394
396
|
body[data-dsh-tide-theme][data-ds-dark-theme] header[class*='_header']:has([data-conversation-header-corner]),
|
|
395
397
|
body[data-dsh-tide-theme][data-ds-dark-theme] [data-conversation-header-leading],
|
|
396
398
|
body[data-dsh-tide-theme][data-ds-dark-theme] [data-conversation-header-corner] {
|
|
397
|
-
background: color-mix(in srgb, var(--dsw-alias-bg-base)
|
|
399
|
+
background: color-mix(in srgb, var(--dsw-alias-bg-base) 80%, transparent) !important;
|
|
398
400
|
backdrop-filter: blur(16px);
|
|
399
401
|
-webkit-backdrop-filter: blur(16px);
|
|
400
|
-
border-bottom: 1px solid
|
|
402
|
+
border-bottom: 1px solid var(--dsw-alias-border-l1) !important;
|
|
401
403
|
}
|
|
402
404
|
|
|
403
405
|
body[data-dsh-tide-theme]:not([data-ds-dark-theme]) header[class*='_header']:has([data-conversation-header-leading]),
|
|
404
406
|
body[data-dsh-tide-theme]:not([data-ds-dark-theme]) header[class*='_header']:has([data-conversation-header-corner]),
|
|
405
407
|
body[data-dsh-tide-theme]:not([data-ds-dark-theme]) [data-conversation-header-leading],
|
|
406
408
|
body[data-dsh-tide-theme]:not([data-ds-dark-theme]) [data-conversation-header-corner] {
|
|
407
|
-
background: color-mix(in srgb, var(--dsw-alias-bg-base)
|
|
408
|
-
backdrop-filter: blur(
|
|
409
|
-
-webkit-backdrop-filter: blur(
|
|
410
|
-
border-bottom:
|
|
409
|
+
background: color-mix(in srgb, var(--dsw-alias-bg-base) 85%, transparent) !important;
|
|
410
|
+
backdrop-filter: blur(16px);
|
|
411
|
+
-webkit-backdrop-filter: blur(16px);
|
|
412
|
+
border-bottom: 1px solid var(--dsw-alias-border-l1) !important;
|
|
411
413
|
}
|
|
412
414
|
|
|
413
415
|
/* 右侧抽屉 / 产物栏(如 diff viewer) */
|
|
414
416
|
body[data-dsh-tide-theme][data-ds-dark-theme] [class*='_rightbarCol'] {
|
|
415
417
|
background: var(--dsw-alias-bg-layer-1) !important;
|
|
416
|
-
border-left: 1px solid
|
|
418
|
+
border-left: 1px solid var(--dsw-alias-border-l1) !important;
|
|
417
419
|
}
|
|
418
420
|
|
|
419
421
|
body[data-dsh-tide-theme]:not([data-ds-dark-theme]) [class*='_rightbarCol'] {
|
|
420
422
|
background: var(--dsw-alias-bg-layer-1) !important;
|
|
421
|
-
border-left:
|
|
423
|
+
border-left: 1px solid var(--dsw-alias-border-l1) !important;
|
|
422
424
|
}
|
|
423
425
|
|
|
424
426
|
/* —— 侧栏:行悬停玻璃高亮 + 会话行文字层级(受 body[data-dsh-tide-theme] 门控) —— */
|
|
@@ -432,51 +434,40 @@ body[data-dsh-tide-theme] [data-row-key][data-selected] {
|
|
|
432
434
|
background: var(--dsw-alias-interactive-bg-active);
|
|
433
435
|
}
|
|
434
436
|
|
|
435
|
-
/* ——
|
|
437
|
+
/* —— 输入卡片:沉稳深海蓝灰卡面,克制 1px 描边与自然投影 —— */
|
|
436
438
|
body[data-dsh-tide-theme] [data-composer-card] {
|
|
437
439
|
background: var(--dsw-specific-input-major);
|
|
438
440
|
box-shadow: var(--dsw-elevation-soft);
|
|
439
441
|
}
|
|
440
442
|
|
|
441
443
|
body[data-dsh-tide-theme][data-ds-dark-theme] [data-composer-card] {
|
|
442
|
-
border:
|
|
443
|
-
background:
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
-webkit-backdrop-filter: blur(24px);
|
|
448
|
-
box-shadow:
|
|
449
|
-
inset 0 1px 0 rgba(255, 255, 255, 0.10),
|
|
450
|
-
0 16px 40px -12px rgba(0, 0, 0, 0.75);
|
|
444
|
+
border: 1px solid var(--dsw-alias-border-l2) !important;
|
|
445
|
+
background: var(--dsw-specific-input-major) !important;
|
|
446
|
+
backdrop-filter: blur(16px);
|
|
447
|
+
-webkit-backdrop-filter: blur(16px);
|
|
448
|
+
box-shadow: 0 4px 20px -4px rgba(3, 7, 18, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.06);
|
|
451
449
|
}
|
|
452
450
|
|
|
453
451
|
body[data-dsh-tide-theme][data-ds-dark-theme] [data-composer-card]:focus-within {
|
|
454
|
-
border-color: rgba(
|
|
452
|
+
border-color: rgba(56, 189, 248, 0.5) !important;
|
|
455
453
|
box-shadow:
|
|
456
|
-
|
|
457
|
-
0
|
|
458
|
-
0 20px 48px -10px rgba(0, 0, 0, 0.85);
|
|
454
|
+
0 0 0 2px rgba(56, 189, 248, 0.18),
|
|
455
|
+
0 8px 30px -4px rgba(3, 7, 18, 0.75);
|
|
459
456
|
}
|
|
460
457
|
|
|
461
458
|
body[data-dsh-tide-theme]:not([data-ds-dark-theme]) [data-composer-card] {
|
|
462
|
-
border:
|
|
463
|
-
background:
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
-webkit-backdrop-filter: blur(24px);
|
|
468
|
-
box-shadow:
|
|
469
|
-
inset 0 1px 0 #ffffff,
|
|
470
|
-
0 2px 8px -2px rgba(24, 38, 64, 0.04),
|
|
471
|
-
0 16px 40px -12px rgba(24, 38, 64, 0.12);
|
|
459
|
+
border: 1px solid var(--dsw-alias-border-l2) !important;
|
|
460
|
+
background: #ffffff !important;
|
|
461
|
+
backdrop-filter: blur(16px);
|
|
462
|
+
-webkit-backdrop-filter: blur(16px);
|
|
463
|
+
box-shadow: 0 2px 12px -2px rgba(15, 23, 42, 0.06), 0 0 0 1px rgba(37, 99, 235, 0.06);
|
|
472
464
|
}
|
|
473
465
|
|
|
474
466
|
body[data-dsh-tide-theme]:not([data-ds-dark-theme]) [data-composer-card]:focus-within {
|
|
475
|
-
border-color: rgba(29,
|
|
467
|
+
border-color: rgba(29, 78, 216, 0.45) !important;
|
|
476
468
|
box-shadow:
|
|
477
|
-
|
|
478
|
-
0
|
|
479
|
-
0 20px 48px -12px rgba(24, 38, 64, 0.18);
|
|
469
|
+
0 0 0 2px rgba(29, 78, 216, 0.12),
|
|
470
|
+
0 4px 16px -2px rgba(15, 23, 42, 0.08);
|
|
480
471
|
}
|
|
481
472
|
|
|
482
473
|
/* —— 全局滚动条:窄、圆、同色相(受 body[data-dsh-tide-theme] 门控) —— */
|
|
@@ -590,7 +581,7 @@ body[data-dsh-tide-theme] ::selection {
|
|
|
590
581
|
}
|
|
591
582
|
|
|
592
583
|
/* 主题风格层:开关打开时(body 带 data-dsh-tide-theme)三个组件套用插件自有的
|
|
593
|
-
*
|
|
584
|
+
* 潮汐深海材质——哑光微透 + 0.5px 发丝描边 + 漫反射柔影;关闭时上面的原生 token 值生效,
|
|
594
585
|
* 与 DSH 完全一致。明暗两套各自成立,色相体系同源。 */
|
|
595
586
|
body[data-dsh-tide-theme] .dsh-tide-dock-stats-trigger {
|
|
596
587
|
border: 0.5px solid var(--dsh-tide-glass-border);
|
|
@@ -702,12 +693,13 @@ body[data-dsh-tide-theme] .dsh-tide-dock-stats-trigger[aria-expanded='true'] {
|
|
|
702
693
|
color: var(--dsw-alias-state-error-primary);
|
|
703
694
|
}
|
|
704
695
|
|
|
705
|
-
/* 读数:13px
|
|
696
|
+
/* 读数:13px 精密航海等宽读数 */
|
|
706
697
|
.dsh-tide-hud-number {
|
|
707
698
|
font-size: var(--dsw-font-xs-13-font-size, 13px);
|
|
708
699
|
line-height: var(--dsw-font-xs-13-line-height, 20px);
|
|
709
700
|
font-weight: 500;
|
|
710
|
-
font-family:
|
|
701
|
+
font-family: "Geist Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
702
|
+
font-feature-settings: "tnum" 1;
|
|
711
703
|
color: var(--dsw-alias-label-primary);
|
|
712
704
|
font-variant-numeric: tabular-nums;
|
|
713
705
|
}
|
|
@@ -724,12 +716,14 @@ body[data-dsh-tide-theme] .dsh-tide-dock-stats-trigger[aria-expanded='true'] {
|
|
|
724
716
|
line-height: 16px;
|
|
725
717
|
font-weight: 500;
|
|
726
718
|
margin-left: 2px;
|
|
719
|
+
font-family: "Geist Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
720
|
+
font-feature-settings: "tnum" 1;
|
|
721
|
+
font-variant-numeric: tabular-nums;
|
|
727
722
|
color: var(--dsw-alias-state-success-primary);
|
|
728
723
|
}
|
|
729
724
|
|
|
730
725
|
.dsh-tide-hud-percent[data-bucket='warn'] {
|
|
731
|
-
|
|
732
|
-
color: var(--dsw-alias-state-warn-primary, #d97706);
|
|
726
|
+
color: var(--dsw-alias-state-warn-primary);
|
|
733
727
|
}
|
|
734
728
|
|
|
735
729
|
.dsh-tide-hud-percent[data-bucket='bad'] {
|
|
@@ -781,33 +775,16 @@ body[data-dsh-tide-theme] .dsh-tide-dock-stats-trigger[aria-expanded='true'] {
|
|
|
781
775
|
|
|
782
776
|
.dsh-tide-hud-val {
|
|
783
777
|
display: inline-block;
|
|
778
|
+
min-width: 0;
|
|
779
|
+
max-width: 160px;
|
|
780
|
+
overflow: hidden;
|
|
781
|
+
text-overflow: ellipsis;
|
|
784
782
|
font-variant-numeric: tabular-nums;
|
|
785
783
|
white-space: nowrap;
|
|
784
|
+
vertical-align: middle;
|
|
786
785
|
}
|
|
787
786
|
|
|
788
|
-
/*
|
|
789
|
-
.dsh-tide-eq {
|
|
790
|
-
display: inline-flex;
|
|
791
|
-
align-items: flex-end;
|
|
792
|
-
gap: 2px;
|
|
793
|
-
height: 11px;
|
|
794
|
-
padding-bottom: 1px;
|
|
795
|
-
opacity: 0.75;
|
|
796
|
-
}
|
|
797
|
-
|
|
798
|
-
.dsh-tide-eq-bar {
|
|
799
|
-
width: 2px;
|
|
800
|
-
border-radius: 1px;
|
|
801
|
-
background: var(--dsw-alias-state-success-primary);
|
|
802
|
-
opacity: 0.75;
|
|
803
|
-
}
|
|
804
|
-
|
|
805
|
-
.dsh-tide-eq-bar:nth-child(1) { height: 35%; }
|
|
806
|
-
.dsh-tide-eq-bar:nth-child(2) { height: 95%; }
|
|
807
|
-
.dsh-tide-eq-bar:nth-child(3) { height: 60%; }
|
|
808
|
-
.dsh-tide-eq-bar:nth-child(4) { height: 80%; }
|
|
809
|
-
|
|
810
|
-
/* 主题风格层:浮窗本体套用冰蓝玻璃材质(关掉主题开关即回到上面的原生 token 值) */
|
|
787
|
+
/* 主题风格层:浮窗本体套用潮汐深海材质(关掉主题开关即回到上面的原生 token 值) */
|
|
811
788
|
body[data-dsh-tide-theme] .dsh-tide-stats-popover {
|
|
812
789
|
border: 0.5px solid var(--dsh-tide-glass-border);
|
|
813
790
|
background: var(--dsh-tide-glass-surface);
|
|
@@ -840,6 +817,11 @@ body[data-dsh-tide-theme] .dsh-tide-stats-detail-list {
|
|
|
840
817
|
z-index: 1000;
|
|
841
818
|
width: 400px;
|
|
842
819
|
max-width: calc(100vw - 32px);
|
|
820
|
+
/* 上限按最满内容(约 590px)留出余量:数据齐全时不产生内部滚动,
|
|
821
|
+
* 只在矮视口下才由 vh 约束接管并滚动,避免默认场景被裁掉末行。 */
|
|
822
|
+
max-height: min(640px, calc(100vh - 48px));
|
|
823
|
+
overflow-y: auto;
|
|
824
|
+
overscroll-behavior: contain;
|
|
843
825
|
box-sizing: border-box;
|
|
844
826
|
padding: 16px 18px;
|
|
845
827
|
border: 0.5px solid var(--dsw-alias-border-l1);
|
|
@@ -1067,10 +1049,16 @@ body[data-dsh-tide-theme] .dsh-tide-stats-detail-list {
|
|
|
1067
1049
|
|
|
1068
1050
|
.dsh-tide-stats-card-v {
|
|
1069
1051
|
color: var(--dsw-alias-label-primary);
|
|
1052
|
+
font-family: "Geist Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
1053
|
+
font-feature-settings: "tnum" 1;
|
|
1070
1054
|
font-size: var(--dsw-font-base-strong-16-font-size, 16px);
|
|
1071
1055
|
font-weight: 600;
|
|
1072
1056
|
line-height: var(--dsw-font-base-strong-16-line-height, 20px);
|
|
1073
1057
|
font-variant-numeric: tabular-nums;
|
|
1058
|
+
min-width: 0;
|
|
1059
|
+
overflow: hidden;
|
|
1060
|
+
text-overflow: ellipsis;
|
|
1061
|
+
white-space: nowrap;
|
|
1074
1062
|
}
|
|
1075
1063
|
|
|
1076
1064
|
.dsh-tide-stats-card-v.is-highlight { color: var(--dsw-alias-label-primary-bluish); }
|
|
@@ -1401,6 +1389,15 @@ body[data-dsh-tide-theme] .dsh-tide-stats-detail-list {
|
|
|
1401
1389
|
padding: 5px 8px;
|
|
1402
1390
|
border-radius: var(--dsw-radius-sm);
|
|
1403
1391
|
font: inherit;
|
|
1392
|
+
min-width: 0;
|
|
1393
|
+
box-sizing: border-box;
|
|
1394
|
+
}
|
|
1395
|
+
|
|
1396
|
+
[data-dsh-tide-popup] button[data-dsh-tide-item] > span:not([data-dsh-tide-badge]):not([data-dsh-tide-check]) {
|
|
1397
|
+
min-width: 0;
|
|
1398
|
+
overflow: hidden;
|
|
1399
|
+
text-overflow: ellipsis;
|
|
1400
|
+
white-space: nowrap;
|
|
1404
1401
|
}
|
|
1405
1402
|
|
|
1406
1403
|
[data-dsh-tide-popup] button[data-dsh-tide-item]:hover,
|
|
@@ -1603,7 +1600,7 @@ body[data-dsh-tide-theme] .dsh-tide-stats-detail-list {
|
|
|
1603
1600
|
padding: 2px 0;
|
|
1604
1601
|
}
|
|
1605
1602
|
|
|
1606
|
-
/* 主题风格层:委派图三件套(摘要条 / 画布 /
|
|
1603
|
+
/* 主题风格层:委派图三件套(摘要条 / 画布 / 卡片)套用同一套潮汐深海材质。
|
|
1607
1604
|
* 关闭主题开关后这些规则失效,回落到上面的原生 token 值。 */
|
|
1608
1605
|
body[data-dsh-tide-theme] .subagent-topology-summary,
|
|
1609
1606
|
body[data-dsh-tide-theme] .subagent-topology-detail {
|
|
@@ -1706,7 +1703,7 @@ body[data-dsh-tide-theme]:not([data-ds-dark-theme]) .subagent-topology-root-icon
|
|
|
1706
1703
|
min-width: 0;
|
|
1707
1704
|
overflow: hidden;
|
|
1708
1705
|
font-size: 12px;
|
|
1709
|
-
color: var(--dsw-alias-label-tertiary
|
|
1706
|
+
color: var(--dsw-alias-label-tertiary);
|
|
1710
1707
|
text-overflow: ellipsis;
|
|
1711
1708
|
white-space: nowrap;
|
|
1712
1709
|
font-variant-numeric: tabular-nums;
|
|
@@ -1721,7 +1718,7 @@ body[data-dsh-tide-theme]:not([data-ds-dark-theme]) .subagent-topology-root-icon
|
|
|
1721
1718
|
display: inline-flex;
|
|
1722
1719
|
flex: none;
|
|
1723
1720
|
margin-left: auto;
|
|
1724
|
-
color: var(--dsw-alias-label-tertiary
|
|
1721
|
+
color: var(--dsw-alias-label-tertiary);
|
|
1725
1722
|
transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
|
|
1726
1723
|
}
|
|
1727
1724
|
|
|
@@ -1785,11 +1782,6 @@ body[data-dsh-tide-theme]:not([data-ds-dark-theme]) .subagent-topology-root-icon
|
|
|
1785
1782
|
box-shadow: var(--dsw-elevation-panel);
|
|
1786
1783
|
}
|
|
1787
1784
|
|
|
1788
|
-
/* 移除悬空无指引的向上大箭头 */
|
|
1789
|
-
.subagent-orchestrator-arrow {
|
|
1790
|
-
display: none !important;
|
|
1791
|
-
}
|
|
1792
|
-
|
|
1793
1785
|
.subagent-root-title-row {
|
|
1794
1786
|
display: flex;
|
|
1795
1787
|
flex-wrap: wrap;
|
|
@@ -1815,8 +1807,8 @@ body[data-dsh-tide-theme]:not([data-ds-dark-theme]) .subagent-topology-root-icon
|
|
|
1815
1807
|
}
|
|
1816
1808
|
|
|
1817
1809
|
@keyframes dsh-chip-pulse {
|
|
1818
|
-
from { opacity: 0.
|
|
1819
|
-
to { opacity: 1;
|
|
1810
|
+
from { opacity: 0.75; }
|
|
1811
|
+
to { opacity: 1; }
|
|
1820
1812
|
}
|
|
1821
1813
|
|
|
1822
1814
|
.subagent-root-sub {
|
|
@@ -1901,9 +1893,9 @@ body[data-dsh-tide-theme]:not([data-ds-dark-theme]) .subagent-topology-root-icon
|
|
|
1901
1893
|
animation: dsh-topology-dash 1.1s linear infinite;
|
|
1902
1894
|
}
|
|
1903
1895
|
|
|
1904
|
-
/*
|
|
1896
|
+
/* 连线保持利落克制的工程感,无外发光辉光 */
|
|
1905
1897
|
body[data-dsh-tide-theme] .subagent-topology:has(.outcome-running) .subagent-topology-lines path {
|
|
1906
|
-
|
|
1898
|
+
stroke: var(--dsw-alias-state-business-primary);
|
|
1907
1899
|
}
|
|
1908
1900
|
|
|
1909
1901
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -1938,12 +1930,12 @@ body[data-dsh-tide-theme] .subagent-topology:has(.outcome-running) .subagent-top
|
|
|
1938
1930
|
align-items: stretch;
|
|
1939
1931
|
gap: 0;
|
|
1940
1932
|
box-sizing: border-box;
|
|
1941
|
-
min-height:
|
|
1933
|
+
min-height: 130px;
|
|
1942
1934
|
padding: 14px;
|
|
1943
1935
|
border: none;
|
|
1944
1936
|
border-radius: inherit;
|
|
1945
1937
|
background: transparent;
|
|
1946
|
-
color: var(--dsw-alias-label-secondary
|
|
1938
|
+
color: var(--dsw-alias-label-secondary);
|
|
1947
1939
|
font: inherit;
|
|
1948
1940
|
text-align: left;
|
|
1949
1941
|
cursor: pointer;
|
|
@@ -2098,33 +2090,35 @@ body[data-dsh-tide-theme] .subagent-topology-avatar {
|
|
|
2098
2090
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14);
|
|
2099
2091
|
}
|
|
2100
2092
|
|
|
2101
|
-
/* 头像配色属于插件主题风格:仅主题开启时生效,关闭后回落到中性 token
|
|
2093
|
+
/* 头像配色属于插件主题风格:仅主题开启时生效,关闭后回落到中性 token 外观。
|
|
2094
|
+
* 遵循 workbuddy-design 规范:杜绝霓虹外发光与廉价蓝紫渐变,采用克制物理微阴影与高辨识度单色前景 */
|
|
2095
|
+
body[data-dsh-tide-theme][data-ds-dark-theme] .subagent-topology-avatar.is-cyan,
|
|
2102
2096
|
body[data-dsh-tide-theme][data-ds-dark-theme] .subagent-topology-avatar.is-purple {
|
|
2103
|
-
border: 1px solid rgba(
|
|
2104
|
-
background:
|
|
2105
|
-
color: #
|
|
2106
|
-
box-shadow:
|
|
2097
|
+
border: 1px solid rgba(56, 189, 248, 0.28);
|
|
2098
|
+
background: rgba(56, 189, 248, 0.10);
|
|
2099
|
+
color: #38bdf8;
|
|
2100
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
|
|
2107
2101
|
}
|
|
2108
2102
|
|
|
2109
2103
|
body[data-dsh-tide-theme][data-ds-dark-theme] .subagent-topology-avatar.is-green {
|
|
2110
|
-
border: 1px solid rgba(
|
|
2111
|
-
background:
|
|
2112
|
-
color: #
|
|
2113
|
-
box-shadow:
|
|
2104
|
+
border: 1px solid rgba(52, 211, 153, 0.28);
|
|
2105
|
+
background: rgba(52, 211, 153, 0.10);
|
|
2106
|
+
color: #34d399;
|
|
2107
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
|
|
2114
2108
|
}
|
|
2115
2109
|
|
|
2116
2110
|
body[data-dsh-tide-theme][data-ds-dark-theme] .subagent-topology-avatar.is-orange {
|
|
2117
|
-
border: 1px solid rgba(251,
|
|
2118
|
-
background:
|
|
2119
|
-
color: #
|
|
2120
|
-
box-shadow:
|
|
2111
|
+
border: 1px solid rgba(251, 191, 36, 0.28);
|
|
2112
|
+
background: rgba(251, 191, 36, 0.10);
|
|
2113
|
+
color: #fbbf24;
|
|
2114
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
|
|
2121
2115
|
}
|
|
2122
2116
|
|
|
2123
2117
|
body[data-dsh-tide-theme][data-ds-dark-theme] .subagent-topology-avatar.is-blue {
|
|
2124
|
-
border: 1px solid rgba(
|
|
2125
|
-
background:
|
|
2126
|
-
color:
|
|
2127
|
-
box-shadow:
|
|
2118
|
+
border: 1px solid rgba(96, 165, 250, 0.28);
|
|
2119
|
+
background: rgba(96, 165, 250, 0.10);
|
|
2120
|
+
color: #60a5fa;
|
|
2121
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
|
|
2128
2122
|
}
|
|
2129
2123
|
|
|
2130
2124
|
/* 未开启主题时,头像用中性 token 外观(与 DSH 原生图标一致) */
|
|
@@ -2229,6 +2223,11 @@ body[data-dsh-tide-theme][data-ds-dark-theme] .subagent-topology-avatar.is-blue
|
|
|
2229
2223
|
background: color-mix(in srgb, var(--dsw-alias-state-error-primary) 10%, transparent);
|
|
2230
2224
|
}
|
|
2231
2225
|
|
|
2226
|
+
.subagent-stop-button:focus-visible {
|
|
2227
|
+
outline: 2px solid var(--dsw-alias-state-error-primary);
|
|
2228
|
+
outline-offset: 1px;
|
|
2229
|
+
}
|
|
2230
|
+
|
|
2232
2231
|
/* 停止按钮浮在卡片右下角,不再撑高卡片内容。 */
|
|
2233
2232
|
.subagent-topology-node-actions:has(> .subagent-stop-button) .subagent-topology-node-header { padding-bottom: 34px; }
|
|
2234
2233
|
|
|
@@ -2278,9 +2277,7 @@ body[data-dsh-tide-theme][data-ds-dark-theme] .subagent-topology-avatar.is-blue
|
|
|
2278
2277
|
}
|
|
2279
2278
|
|
|
2280
2279
|
[data-dsh-tide-pct='warn'] {
|
|
2281
|
-
|
|
2282
|
-
这里用明确的琥珀色,保证 50–75% 一眼能读成「该注意了」。 */
|
|
2283
|
-
color: #d97706;
|
|
2280
|
+
color: var(--dsw-alias-state-warn-primary);
|
|
2284
2281
|
}
|
|
2285
2282
|
|
|
2286
2283
|
[data-dsh-tide-pct='bad'] {
|
|
@@ -2323,6 +2320,11 @@ body[data-ds-dark-theme] [data-dsh-tide-pct='warn'] { color: #ffc46b; }
|
|
|
2323
2320
|
background: var(--dsw-alias-interactive-bg-hover);
|
|
2324
2321
|
}
|
|
2325
2322
|
|
|
2323
|
+
[data-dsh-tide-tab]:focus-visible {
|
|
2324
|
+
outline: 2px solid var(--dsw-alias-state-business-primary);
|
|
2325
|
+
outline-offset: -1px;
|
|
2326
|
+
}
|
|
2327
|
+
|
|
2326
2328
|
[data-dsh-tide-tab][data-active='true'] {
|
|
2327
2329
|
color: var(--dsw-alias-label-primary);
|
|
2328
2330
|
font-weight: 500;
|
|
@@ -2548,13 +2550,12 @@ body[data-dsh-tide-theme] [data-slot='sidebar.workspaces'] [data-row-key^='works
|
|
|
2548
2550
|
|
|
2549
2551
|
[data-dsh-tide-pinned] [data-row-key^='workspace:']::before {
|
|
2550
2552
|
content: '★ ';
|
|
2551
|
-
color: var(--dsw-alias-state-warn-
|
|
2553
|
+
color: var(--dsw-alias-state-warn-primary);
|
|
2552
2554
|
font-size: 11px;
|
|
2553
2555
|
line-height: 1;
|
|
2554
|
-
margin-right:
|
|
2556
|
+
margin-right: 4px;
|
|
2555
2557
|
display: inline-block;
|
|
2556
2558
|
vertical-align: baseline;
|
|
2557
|
-
filter: drop-shadow(0 0 3px rgba(234, 179, 8, 0.4));
|
|
2558
2559
|
}
|
|
2559
2560
|
|
|
2560
2561
|
body[data-dsh-tide-theme] [data-slot='sidebar.workspaces'] [data-row-key][data-selected='true'],
|
|
@@ -2573,8 +2574,7 @@ body[data-dsh-tide-theme] [data-slot='sidebar.workspaces'] [data-row-key][aria-s
|
|
|
2573
2574
|
bottom: 4px;
|
|
2574
2575
|
width: 3px;
|
|
2575
2576
|
border-radius: 2px;
|
|
2576
|
-
background: var(--dsw-alias-state-business-primary
|
|
2577
|
-
box-shadow: 0 0 8px rgba(37, 99, 235, 0.5);
|
|
2577
|
+
background: var(--dsw-alias-state-business-primary);
|
|
2578
2578
|
}
|
|
2579
2579
|
|
|
2580
2580
|
/* 侧栏独立小节分区分组(方案 A:Linear / Slack / Notion 风格) */
|
|
@@ -2686,22 +2686,27 @@ body[data-dsh-tide-theme] [data-slot='sidebar.workspaces'] [data-row-key][aria-s
|
|
|
2686
2686
|
}
|
|
2687
2687
|
|
|
2688
2688
|
.dsh-tide-settings-card {
|
|
2689
|
-
border: 1px solid var(--dsw-alias-border-l1
|
|
2689
|
+
border: 1px solid var(--dsw-alias-border-l1);
|
|
2690
2690
|
border-radius: var(--dsw-radius-lg, 12px);
|
|
2691
|
-
background: var(--dsw-alias-bg-layer-2
|
|
2692
|
-
box-shadow:
|
|
2691
|
+
background: var(--dsw-alias-bg-layer-2);
|
|
2692
|
+
box-shadow: var(--dsw-elevation-soft);
|
|
2693
2693
|
overflow: hidden;
|
|
2694
2694
|
}
|
|
2695
2695
|
|
|
2696
|
+
body[data-ds-dark-theme] .dsh-tide-settings-card {
|
|
2697
|
+
border-color: var(--dsh-tide-card-border);
|
|
2698
|
+
background: var(--dsh-tide-card-surface);
|
|
2699
|
+
}
|
|
2700
|
+
|
|
2696
2701
|
.dsh-tide-settings-group-title {
|
|
2697
2702
|
padding: 10px 14px 6px;
|
|
2698
|
-
font-size:
|
|
2703
|
+
font-size: 11px;
|
|
2699
2704
|
font-weight: 600;
|
|
2700
|
-
color: var(--dsw-alias-label-tertiary
|
|
2705
|
+
color: var(--dsw-alias-label-tertiary);
|
|
2701
2706
|
text-transform: uppercase;
|
|
2702
2707
|
letter-spacing: 0.04em;
|
|
2703
|
-
background: var(--dsw-alias-interactive-bg-subtle
|
|
2704
|
-
border-bottom: 1px solid var(--dsw-alias-border-l1
|
|
2708
|
+
background: var(--dsw-alias-interactive-bg-subtle);
|
|
2709
|
+
border-bottom: 1px solid var(--dsw-alias-border-l1);
|
|
2705
2710
|
}
|
|
2706
2711
|
|
|
2707
2712
|
.dsh-tide-settings-list {
|
|
@@ -2718,7 +2723,7 @@ body[data-dsh-tide-theme] [data-slot='sidebar.workspaces'] [data-row-key][aria-s
|
|
|
2718
2723
|
}
|
|
2719
2724
|
|
|
2720
2725
|
.dsh-tide-settings-row + .dsh-tide-settings-row {
|
|
2721
|
-
border-top: 1px solid var(--dsw-alias-border-l1
|
|
2726
|
+
border-top: 1px solid var(--dsw-alias-border-l1);
|
|
2722
2727
|
}
|
|
2723
2728
|
|
|
2724
2729
|
.dsh-tide-settings-row-text {
|
|
@@ -2731,12 +2736,12 @@ body[data-dsh-tide-theme] [data-slot='sidebar.workspaces'] [data-row-key][aria-s
|
|
|
2731
2736
|
.dsh-tide-settings-item-title {
|
|
2732
2737
|
font-size: 13px;
|
|
2733
2738
|
font-weight: 500;
|
|
2734
|
-
color: var(--dsw-alias-label-primary
|
|
2739
|
+
color: var(--dsw-alias-label-primary);
|
|
2735
2740
|
}
|
|
2736
2741
|
|
|
2737
2742
|
.dsh-tide-settings-item-desc {
|
|
2738
|
-
font-size:
|
|
2739
|
-
color: var(--dsw-alias-label-tertiary
|
|
2743
|
+
font-size: 11px;
|
|
2744
|
+
color: var(--dsw-alias-label-tertiary);
|
|
2740
2745
|
line-height: 16px;
|
|
2741
2746
|
}
|
|
2742
2747
|
|
|
@@ -2750,20 +2755,24 @@ body[data-dsh-tide-theme] [data-slot='sidebar.workspaces'] [data-row-key][aria-s
|
|
|
2750
2755
|
padding: 2px;
|
|
2751
2756
|
border-radius: 999px;
|
|
2752
2757
|
border: 0.5px solid var(--dsw-alias-border-l2);
|
|
2753
|
-
background: var(--dsw-alias-border-
|
|
2758
|
+
background: var(--dsw-alias-border-l2);
|
|
2754
2759
|
cursor: pointer;
|
|
2755
|
-
transition: background 0.2s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.2s cubic-bezier(0.16, 1, 0.3, 1);
|
|
2760
|
+
transition: background 0.2s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.2s cubic-bezier(0.16, 1, 0.3, 1), filter 0.15s ease;
|
|
2756
2761
|
box-sizing: border-box;
|
|
2757
2762
|
}
|
|
2758
2763
|
|
|
2764
|
+
.dsh-tide-switch:hover {
|
|
2765
|
+
filter: brightness(1.08);
|
|
2766
|
+
}
|
|
2767
|
+
|
|
2759
2768
|
.dsh-tide-switch:focus-visible {
|
|
2760
|
-
outline: 2px solid var(--dsw-alias-state-business-primary
|
|
2769
|
+
outline: 2px solid var(--dsw-alias-state-business-primary);
|
|
2761
2770
|
outline-offset: 2px;
|
|
2762
2771
|
}
|
|
2763
2772
|
|
|
2764
2773
|
.dsh-tide-switch[data-active='true'] {
|
|
2765
|
-
background: var(--dsw-alias-state-business-primary
|
|
2766
|
-
border-color: var(--dsw-alias-state-business-primary
|
|
2774
|
+
background: var(--dsw-alias-state-business-primary);
|
|
2775
|
+
border-color: var(--dsw-alias-state-business-primary);
|
|
2767
2776
|
}
|
|
2768
2777
|
|
|
2769
2778
|
.dsh-tide-switch-knob {
|
|
@@ -2771,7 +2780,7 @@ body[data-dsh-tide-theme] [data-slot='sidebar.workspaces'] [data-row-key][aria-s
|
|
|
2771
2780
|
height: 16px;
|
|
2772
2781
|
border-radius: 999px;
|
|
2773
2782
|
background: #ffffff;
|
|
2774
|
-
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.
|
|
2783
|
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
|
|
2775
2784
|
transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
|
|
2776
2785
|
transform: translateX(0);
|
|
2777
2786
|
}
|
|
@@ -2789,12 +2798,12 @@ body[data-dsh-tide-theme] [data-slot='sidebar.workspaces'] [data-row-key][aria-s
|
|
|
2789
2798
|
}
|
|
2790
2799
|
|
|
2791
2800
|
.dsh-tide-settings-notice {
|
|
2792
|
-
color: var(--dsw-alias-state-success-primary
|
|
2801
|
+
color: var(--dsw-alias-state-success-primary);
|
|
2793
2802
|
font-weight: 500;
|
|
2794
2803
|
}
|
|
2795
2804
|
|
|
2796
2805
|
.dsh-tide-settings-hint {
|
|
2797
|
-
color: var(--dsw-alias-label-tertiary
|
|
2806
|
+
color: var(--dsw-alias-label-tertiary);
|
|
2798
2807
|
}
|
|
2799
2808
|
|
|
2800
2809
|
.dsh-tide-settings-reset-btn {
|
|
@@ -2803,15 +2812,20 @@ body[data-dsh-tide-theme] [data-slot='sidebar.workspaces'] [data-row-key][aria-s
|
|
|
2803
2812
|
border: 0.5px solid var(--dsw-alias-border-l2);
|
|
2804
2813
|
background: var(--dsw-alias-bg-layer-2);
|
|
2805
2814
|
color: var(--dsw-alias-label-secondary);
|
|
2806
|
-
font-size:
|
|
2815
|
+
font-size: 11px;
|
|
2807
2816
|
cursor: pointer;
|
|
2808
2817
|
transition: all 0.15s ease;
|
|
2809
2818
|
}
|
|
2810
2819
|
|
|
2811
2820
|
.dsh-tide-settings-reset-btn:hover {
|
|
2812
|
-
border-color: var(--dsw-alias-border-l3
|
|
2813
|
-
color: var(--dsw-alias-label-primary
|
|
2814
|
-
background: var(--dsw-alias-interactive-bg-hover
|
|
2821
|
+
border-color: var(--dsw-alias-border-l3);
|
|
2822
|
+
color: var(--dsw-alias-label-primary);
|
|
2823
|
+
background: var(--dsw-alias-interactive-bg-hover);
|
|
2824
|
+
}
|
|
2825
|
+
|
|
2826
|
+
.dsh-tide-settings-reset-btn:focus-visible {
|
|
2827
|
+
outline: 2px solid var(--dsw-alias-state-business-primary);
|
|
2828
|
+
outline-offset: 1px;
|
|
2815
2829
|
}
|
|
2816
2830
|
|
|
2817
2831
|
/* 数值步进器控件 */
|
|
@@ -2819,8 +2833,8 @@ body[data-dsh-tide-theme] [data-slot='sidebar.workspaces'] [data-row-key][aria-s
|
|
|
2819
2833
|
display: inline-flex;
|
|
2820
2834
|
align-items: center;
|
|
2821
2835
|
gap: 4px;
|
|
2822
|
-
background: var(--dsw-alias-interactive-bg-subtle
|
|
2823
|
-
border: 1px solid var(--dsw-alias-border-l1
|
|
2836
|
+
background: var(--dsw-alias-interactive-bg-subtle);
|
|
2837
|
+
border: 1px solid var(--dsw-alias-border-l1);
|
|
2824
2838
|
border-radius: 8px;
|
|
2825
2839
|
padding: 2px 4px;
|
|
2826
2840
|
flex: none;
|
|
@@ -2835,15 +2849,20 @@ body[data-dsh-tide-theme] [data-slot='sidebar.workspaces'] [data-row-key][aria-s
|
|
|
2835
2849
|
background: transparent;
|
|
2836
2850
|
border: none;
|
|
2837
2851
|
border-radius: 4px;
|
|
2838
|
-
color: var(--dsw-alias-label-primary
|
|
2839
|
-
font-size:
|
|
2852
|
+
color: var(--dsw-alias-label-primary);
|
|
2853
|
+
font-size: 14px;
|
|
2840
2854
|
font-weight: 500;
|
|
2841
2855
|
cursor: pointer;
|
|
2842
2856
|
transition: background 0.12s ease;
|
|
2843
2857
|
}
|
|
2844
2858
|
|
|
2845
2859
|
.dsh-tide-stepper-btn:hover:not(:disabled) {
|
|
2846
|
-
background: var(--dsw-alias-interactive-bg-hover
|
|
2860
|
+
background: var(--dsw-alias-interactive-bg-hover);
|
|
2861
|
+
}
|
|
2862
|
+
|
|
2863
|
+
.dsh-tide-stepper-btn:focus-visible {
|
|
2864
|
+
outline: 2px solid var(--dsw-alias-state-business-primary);
|
|
2865
|
+
outline-offset: 1px;
|
|
2847
2866
|
}
|
|
2848
2867
|
|
|
2849
2868
|
.dsh-tide-stepper-btn:disabled {
|
|
@@ -2854,10 +2873,10 @@ body[data-dsh-tide-theme] [data-slot='sidebar.workspaces'] [data-row-key][aria-s
|
|
|
2854
2873
|
.dsh-tide-stepper-val {
|
|
2855
2874
|
min-width: 52px;
|
|
2856
2875
|
text-align: center;
|
|
2857
|
-
font-size:
|
|
2876
|
+
font-size: 13px;
|
|
2858
2877
|
font-weight: 600;
|
|
2859
2878
|
font-variant-numeric: tabular-nums;
|
|
2860
|
-
color: var(--dsw-alias-label-primary
|
|
2879
|
+
color: var(--dsw-alias-label-primary);
|
|
2861
2880
|
}
|
|
2862
2881
|
|
|
2863
2882
|
/* ============================================================================
|
|
@@ -2927,30 +2946,31 @@ body:not([data-ds-dark-theme]) .subagent-stop-button {
|
|
|
2927
2946
|
box-shadow: var(--dsw-elevation-soft);
|
|
2928
2947
|
}
|
|
2929
2948
|
|
|
2949
|
+
body[data-dsh-tide-theme]:not([data-ds-dark-theme]) .subagent-topology-avatar.is-cyan,
|
|
2930
2950
|
body[data-dsh-tide-theme]:not([data-ds-dark-theme]) .subagent-topology-avatar.is-purple {
|
|
2931
|
-
border-color: rgba(
|
|
2932
|
-
background:
|
|
2933
|
-
color: #
|
|
2951
|
+
border-color: rgba(2, 132, 199, 0.24);
|
|
2952
|
+
background: rgba(2, 132, 199, 0.08);
|
|
2953
|
+
color: #0284c7;
|
|
2934
2954
|
box-shadow: inset 0 1px 0 #ffffff;
|
|
2935
2955
|
}
|
|
2936
2956
|
|
|
2937
2957
|
body[data-dsh-tide-theme]:not([data-ds-dark-theme]) .subagent-topology-avatar.is-green {
|
|
2938
|
-
border-color: rgba(
|
|
2939
|
-
background:
|
|
2940
|
-
color: #
|
|
2958
|
+
border-color: rgba(4, 120, 87, 0.24);
|
|
2959
|
+
background: rgba(4, 120, 87, 0.08);
|
|
2960
|
+
color: #047857;
|
|
2941
2961
|
box-shadow: inset 0 1px 0 #ffffff;
|
|
2942
2962
|
}
|
|
2943
2963
|
|
|
2944
2964
|
body[data-dsh-tide-theme]:not([data-ds-dark-theme]) .subagent-topology-avatar.is-orange {
|
|
2945
|
-
border-color: rgba(
|
|
2946
|
-
background:
|
|
2965
|
+
border-color: rgba(180, 83, 9, 0.24);
|
|
2966
|
+
background: rgba(180, 83, 9, 0.08);
|
|
2947
2967
|
color: #b45309;
|
|
2948
2968
|
box-shadow: inset 0 1px 0 #ffffff;
|
|
2949
2969
|
}
|
|
2950
2970
|
|
|
2951
2971
|
body[data-dsh-tide-theme]:not([data-ds-dark-theme]) .subagent-topology-avatar.is-blue {
|
|
2952
|
-
border-color: rgba(29,
|
|
2953
|
-
background:
|
|
2972
|
+
border-color: rgba(29, 78, 216, 0.24);
|
|
2973
|
+
background: rgba(29, 78, 216, 0.08);
|
|
2954
2974
|
color: var(--dsw-alias-state-business-primary);
|
|
2955
2975
|
box-shadow: inset 0 1px 0 #ffffff;
|
|
2956
2976
|
}
|
|
@@ -3037,6 +3057,64 @@ body:not([data-ds-dark-theme]) [data-dsh-tide-pill][aria-expanded='true']:hover:
|
|
|
3037
3057
|
color: var(--dsw-alias-label-primary);
|
|
3038
3058
|
}
|
|
3039
3059
|
`;
|
|
3060
|
+
//#endregion
|
|
3061
|
+
//#region src/client/legacy-migration.ts
|
|
3062
|
+
/**
|
|
3063
|
+
* 旧包名遗留的 localStorage 键 → 新键的一次性迁移。
|
|
3064
|
+
*
|
|
3065
|
+
* 0.4.0 把包名从 dsh-simplify-theme 改成 dsh-tide-theme,持久化键前缀随之
|
|
3066
|
+
* 变化。若不做迁移,升级用户的置顶工作区、折叠状态、用量统计和插件设置
|
|
3067
|
+
* 会全部「消失」——数据还在旧键里,只是新代码读不到,用户看到的是置顶和
|
|
3068
|
+
* 工作区分区凭空没了。
|
|
3069
|
+
*
|
|
3070
|
+
* 迁移规则(三条,保证不丢数据也不覆盖用户新设置):
|
|
3071
|
+
* 1. 旧键不存在 → 什么都不做;
|
|
3072
|
+
* 2. 新键已存在 → 保留新值,只删旧键(新值是用户在 0.4.0 之后改的,更权威);
|
|
3073
|
+
* 3. 新键不存在 → 把旧值搬到新键,再删旧键。
|
|
3074
|
+
*
|
|
3075
|
+
* 幂等:重复调用不会有副作用。
|
|
3076
|
+
*/
|
|
3077
|
+
/** 旧键 → 新键。新增持久化键时记得在这里登记。 */
|
|
3078
|
+
const LEGACY_KEY_MAP = Object.freeze([
|
|
3079
|
+
["dsh.simplify-theme.config", "dsh.tide-theme.config"],
|
|
3080
|
+
["dsh-simplify-theme.usage", "dsh-tide-theme.usage"],
|
|
3081
|
+
["dsh-simplify-theme.pinned-workspaces", "dsh-tide-theme.pinned-workspaces"],
|
|
3082
|
+
["dsh-simplify-theme.workspaces-expanded", "dsh-tide-theme.workspaces-expanded"]
|
|
3083
|
+
]);
|
|
3084
|
+
/**
|
|
3085
|
+
* 执行迁移。
|
|
3086
|
+
* @param storage 目标存储,默认取全局 localStorage;测试可注入替身。
|
|
3087
|
+
* @returns 迁移明细;无可用存储时返回空结果。
|
|
3088
|
+
*/
|
|
3089
|
+
function migrateLegacyStorageKeys(storage) {
|
|
3090
|
+
const store = storage ?? (typeof localStorage === "undefined" ? void 0 : localStorage);
|
|
3091
|
+
if (store === void 0) return {
|
|
3092
|
+
migrated: [],
|
|
3093
|
+
discarded: []
|
|
3094
|
+
};
|
|
3095
|
+
const migrated = [];
|
|
3096
|
+
const discarded = [];
|
|
3097
|
+
for (const [legacy, current] of LEGACY_KEY_MAP) {
|
|
3098
|
+
let legacyValue;
|
|
3099
|
+
try {
|
|
3100
|
+
legacyValue = store.getItem(legacy);
|
|
3101
|
+
} catch {
|
|
3102
|
+
continue;
|
|
3103
|
+
}
|
|
3104
|
+
if (legacyValue === null) continue;
|
|
3105
|
+
try {
|
|
3106
|
+
if (store.getItem(current) === null) {
|
|
3107
|
+
store.setItem(current, legacyValue);
|
|
3108
|
+
migrated.push(current);
|
|
3109
|
+
} else discarded.push(legacy);
|
|
3110
|
+
store.removeItem(legacy);
|
|
3111
|
+
} catch {}
|
|
3112
|
+
}
|
|
3113
|
+
return {
|
|
3114
|
+
migrated,
|
|
3115
|
+
discarded
|
|
3116
|
+
};
|
|
3117
|
+
}
|
|
3040
3118
|
//#endregion
|
|
3041
3119
|
//#region src/client/view-state.ts
|
|
3042
3120
|
const VIEW_STORE_KEY = "dsh.workspace.view.v5";
|
|
@@ -3073,7 +3151,7 @@ body:not([data-ds-dark-theme]) [data-dsh-tide-pill][aria-expanded='true']:hover:
|
|
|
3073
3151
|
turnDuration: true,
|
|
3074
3152
|
themeOverrides: true
|
|
3075
3153
|
});
|
|
3076
|
-
const CONFIG_STORAGE_KEY = "dsh.
|
|
3154
|
+
const CONFIG_STORAGE_KEY = "dsh.tide-theme.config";
|
|
3077
3155
|
const CONFIG_CHANGE_EVENT = "dsh-tide-theme:config-change";
|
|
3078
3156
|
function parseLimit(val, fallback) {
|
|
3079
3157
|
if (typeof val === "number" && Number.isFinite(val) && val >= 0) return Math.min(100, Math.round(val));
|
|
@@ -3411,9 +3489,42 @@ body:not([data-ds-dark-theme]) [data-dsh-tide-pill][aria-expanded='true']:hover:
|
|
|
3411
3489
|
}
|
|
3412
3490
|
return handles;
|
|
3413
3491
|
}
|
|
3492
|
+
/**
|
|
3493
|
+
* 挂载归属标记:写在宿主 slot 上的自增序号。
|
|
3494
|
+
*
|
|
3495
|
+
* 所有者判定必须落在 DOM 上而不是模块变量里——插件被重复加载时会存在两份
|
|
3496
|
+
* 相互独立的模块实例,各持一份 `activeMount` 互不可见,模块级单例对它们完全
|
|
3497
|
+
* 失效(实测仍会叠成双份标头)。把序号写到共用的 DOM 节点上,任何实例都能
|
|
3498
|
+
* 据此判断自己是否已被后来者取代。
|
|
3499
|
+
*/
|
|
3500
|
+
const OWNER_ATTR = "data-dsh-tide-groups-owner";
|
|
3501
|
+
/** 生成全实例唯一的归属序号(时间戳 + 随机,避免跨模块实例撞号)。 */
|
|
3502
|
+
function nextOwnerId() {
|
|
3503
|
+
return `${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
|
|
3504
|
+
}
|
|
3505
|
+
/**
|
|
3506
|
+
* 清理注入物并复位宿主属性。
|
|
3507
|
+
*
|
|
3508
|
+
* 供两处复用:新的所有者接管时回收残留,以及 unmount 时还原宿主初始态。
|
|
3509
|
+
*/
|
|
3510
|
+
function teardownInjectedNodes(slot) {
|
|
3511
|
+
for (const node of slot.querySelectorAll("[data-dsh-tide-section], [data-dsh-tide-groups-controls]")) node.remove();
|
|
3512
|
+
for (const group of collectGroups(slot)) {
|
|
3513
|
+
group.element.removeAttribute("data-dsh-tide-group");
|
|
3514
|
+
group.element.removeAttribute("data-dsh-tide-pinned");
|
|
3515
|
+
group.element.removeAttribute("data-dsh-tide-pinned-tail");
|
|
3516
|
+
group.element.removeAttribute("data-dsh-tide-collapsed");
|
|
3517
|
+
group.row.removeAttribute("data-dsh-tide-count");
|
|
3518
|
+
group.row.removeAttribute("title");
|
|
3519
|
+
}
|
|
3520
|
+
}
|
|
3414
3521
|
function mountSidebarGroups(options) {
|
|
3415
3522
|
const slot = document.querySelector(SLOT_SELECTOR);
|
|
3416
3523
|
if (slot === null) return null;
|
|
3524
|
+
const owner = nextOwnerId();
|
|
3525
|
+
slot.setAttribute(OWNER_ATTR, owner);
|
|
3526
|
+
teardownInjectedNodes(slot);
|
|
3527
|
+
const isOwner = () => slot.getAttribute(OWNER_ATTR) === owner;
|
|
3417
3528
|
const pinned = new Set(parsePinned(localStorage.getItem(PINNED_KEY)));
|
|
3418
3529
|
let expanded = localStorage.getItem(EXPANDED_KEY) === "1";
|
|
3419
3530
|
const header = slot.querySelector("button[aria-label*=\"搜索\"], button[aria-label*=\"Search\"]")?.parentElement?.parentElement?.parentElement ?? null;
|
|
@@ -3481,8 +3592,13 @@ body:not([data-ds-dark-theme]) [data-dsh-tide-pill][aria-expanded='true']:hover:
|
|
|
3481
3592
|
});
|
|
3482
3593
|
const originalOrders = /* @__PURE__ */ new WeakMap();
|
|
3483
3594
|
let frame = 0;
|
|
3595
|
+
let released = false;
|
|
3484
3596
|
const apply = () => {
|
|
3485
3597
|
frame = 0;
|
|
3598
|
+
if (released || !isOwner()) {
|
|
3599
|
+
release(false);
|
|
3600
|
+
return;
|
|
3601
|
+
}
|
|
3486
3602
|
const groups = collectGroups(slot);
|
|
3487
3603
|
const config = loadSimplifyConfig();
|
|
3488
3604
|
if (!config.sidebarGrouping) {
|
|
@@ -3567,12 +3683,13 @@ body:not([data-ds-dark-theme]) [data-dsh-tide-pill][aria-expanded='true']:hover:
|
|
|
3567
3683
|
}
|
|
3568
3684
|
});
|
|
3569
3685
|
};
|
|
3570
|
-
|
|
3686
|
+
const onToggleClick = (event) => {
|
|
3571
3687
|
event.stopPropagation();
|
|
3572
3688
|
expanded = !expanded;
|
|
3573
3689
|
localStorage.setItem(EXPANDED_KEY, expanded ? "1" : "0");
|
|
3574
3690
|
apply();
|
|
3575
|
-
}
|
|
3691
|
+
};
|
|
3692
|
+
toggle.addEventListener("click", onToggleClick);
|
|
3576
3693
|
const observer = new MutationObserver(schedule);
|
|
3577
3694
|
observer.observe(slot, {
|
|
3578
3695
|
childList: true,
|
|
@@ -3581,27 +3698,34 @@ body:not([data-ds-dark-theme]) [data-dsh-tide-pill][aria-expanded='true']:hover:
|
|
|
3581
3698
|
const unsubscribeWorkspaces = options.workspaces.subscribe(schedule);
|
|
3582
3699
|
const unsubscribeSessions = options.sessions.subscribe(schedule);
|
|
3583
3700
|
const unsubscribeConfig = onSimplifyConfigChange(schedule);
|
|
3584
|
-
|
|
3585
|
-
|
|
3701
|
+
/**
|
|
3702
|
+
* 停用本实例:摘掉全部监听并还原宿主初始态。
|
|
3703
|
+
*
|
|
3704
|
+
* 只在内部使用——既用于正常 unmount,也用于归属权被后来者接管时自解绑。
|
|
3705
|
+
* 归属权已不属于自己时不要再 teardown DOM,否则会误删新主人的注入物。
|
|
3706
|
+
*/
|
|
3707
|
+
const release = (teardown) => {
|
|
3708
|
+
if (released) return;
|
|
3709
|
+
released = true;
|
|
3586
3710
|
observer.disconnect();
|
|
3587
3711
|
menuObserver.disconnect();
|
|
3588
3712
|
unsubscribeWorkspaces();
|
|
3589
3713
|
unsubscribeSessions();
|
|
3590
3714
|
unsubscribeConfig();
|
|
3591
3715
|
document.removeEventListener("pointerdown", onPointerDownCapture, true);
|
|
3716
|
+
toggle.removeEventListener("click", onToggleClick);
|
|
3592
3717
|
if (frame !== 0) window.cancelAnimationFrame(frame);
|
|
3718
|
+
if (!teardown) return;
|
|
3593
3719
|
for (const group of collectGroups(slot)) {
|
|
3594
3720
|
const order = originalOrders.get(group.element);
|
|
3595
3721
|
if (order !== void 0) group.element.style.order = order;
|
|
3596
|
-
group.element.removeAttribute("data-dsh-tide-group");
|
|
3597
|
-
group.element.removeAttribute("data-dsh-tide-pinned");
|
|
3598
|
-
group.element.removeAttribute("data-dsh-tide-collapsed");
|
|
3599
|
-
group.row.removeAttribute("data-dsh-tide-count");
|
|
3600
3722
|
}
|
|
3601
|
-
|
|
3602
|
-
|
|
3603
|
-
|
|
3604
|
-
|
|
3723
|
+
teardownInjectedNodes(slot);
|
|
3724
|
+
if (slot.getAttribute(OWNER_ATTR) === owner) slot.removeAttribute(OWNER_ATTR);
|
|
3725
|
+
};
|
|
3726
|
+
const mount = { unmount: () => release(true) };
|
|
3727
|
+
schedule();
|
|
3728
|
+
return mount;
|
|
3605
3729
|
}
|
|
3606
3730
|
//#endregion
|
|
3607
3731
|
//#region src/client/stat-colors.ts
|
|
@@ -4132,13 +4256,14 @@ body:not([data-ds-dark-theme]) [data-dsh-tide-pill][aria-expanded='true']:hover:
|
|
|
4132
4256
|
];
|
|
4133
4257
|
function classifyAgentTheme(title) {
|
|
4134
4258
|
const lower = title.toLowerCase();
|
|
4135
|
-
if (lower.includes("research") || lower.includes("search") || lower.includes("搜索") || lower.includes("调研")) return "
|
|
4259
|
+
if (lower.includes("research") || lower.includes("search") || lower.includes("搜索") || lower.includes("调研")) return "cyan";
|
|
4136
4260
|
if (lower.includes("code") || lower.includes("debug") || lower.includes("代码") || lower.includes("实现") || lower.includes("修复")) return "green";
|
|
4137
4261
|
if (lower.includes("analy") || lower.includes("data") || lower.includes("分析") || lower.includes("排查") || lower.includes("指标")) return "orange";
|
|
4138
4262
|
return "blue";
|
|
4139
4263
|
}
|
|
4140
4264
|
function iconForTheme(theme) {
|
|
4141
4265
|
switch (theme) {
|
|
4266
|
+
case "cyan":
|
|
4142
4267
|
case "purple": return ICON_RESEARCH;
|
|
4143
4268
|
case "green": return ICON_CODE;
|
|
4144
4269
|
case "orange": return ICON_ANALYSIS;
|
|
@@ -4281,10 +4406,6 @@ body:not([data-ds-dark-theme]) [data-dsh-tide-pill][aria-expanded='true']:hover:
|
|
|
4281
4406
|
const detail = el("div", "subagent-topology-detail");
|
|
4282
4407
|
const stage = el("div", "subagent-topology-stage");
|
|
4283
4408
|
const root = el("div", "subagent-topology-root");
|
|
4284
|
-
const topArrow = el("span", "subagent-orchestrator-arrow");
|
|
4285
|
-
topArrow.setAttribute("aria-hidden", "true");
|
|
4286
|
-
topArrow.append(icon(["M8 12.5V3.5", "M4.5 7L8 3.5 11.5 7"], 11));
|
|
4287
|
-
root.append(topArrow);
|
|
4288
4409
|
const rootIcon = el("span", "subagent-topology-root-icon");
|
|
4289
4410
|
rootIcon.setAttribute("aria-hidden", "true");
|
|
4290
4411
|
rootIcon.append(icon(ICON_TARGET, 18));
|
|
@@ -4867,9 +4988,8 @@ body:not([data-ds-dark-theme]) [data-dsh-tide-pill][aria-expanded='true']:hover:
|
|
|
4867
4988
|
const selection = state.pending ?? state.current;
|
|
4868
4989
|
const name = displayName(groups, selection);
|
|
4869
4990
|
const group = selection === null ? void 0 : groups.find((candidate) => candidate.id === selection.provider);
|
|
4870
|
-
const
|
|
4871
|
-
const
|
|
4872
|
-
const modelLabel = name === "" ? t("model.placeholder") : duplicatedName ? `${providerLabel} / ${name}` : name;
|
|
4991
|
+
const providerLabel = group === void 0 ? selection?.provider ?? "" : providerName(group.id, group.name);
|
|
4992
|
+
const modelLabel = name === "" ? t("model.placeholder") : `${providerLabel} / ${name}`;
|
|
4873
4993
|
const effort = effortLabel(groups, selection, t("effort.providerDefault"), state.retainedEffort);
|
|
4874
4994
|
const busy = state.status === "selecting" || state.status === "loading";
|
|
4875
4995
|
const close = () => {
|
|
@@ -4939,7 +5059,7 @@ body:not([data-ds-dark-theme]) [data-dsh-tide-pill][aria-expanded='true']:hover:
|
|
|
4939
5059
|
"data-dsh-tide-pill": "",
|
|
4940
5060
|
"data-dsh-tide-control": kind,
|
|
4941
5061
|
"data-dsh-tide-emphasis": kind,
|
|
4942
|
-
title: kind === "model"
|
|
5062
|
+
title: kind === "model" ? modelLabel : void 0,
|
|
4943
5063
|
style: color === void 0 ? void 0 : { "--dsh-tide-provider-color": color },
|
|
4944
5064
|
"aria-label": kind === "effort" ? `${t("effort.title")}:${effort ?? t("effort.unavailableShort")}` : void 0,
|
|
4945
5065
|
"aria-haspopup": "dialog",
|
|
@@ -5529,7 +5649,12 @@ body:not([data-ds-dark-theme]) [data-dsh-tide-pill][aria-expanded='true']:hover:
|
|
|
5529
5649
|
key: value,
|
|
5530
5650
|
className: "dsh-tide-hud-unit"
|
|
5531
5651
|
}, value);
|
|
5532
|
-
if (model.activity) items.push(block("activity", "is-activity", "会话规模", iconUser, [
|
|
5652
|
+
if (model.activity) items.push(block("activity", "is-activity", "会话规模", iconUser, [
|
|
5653
|
+
number(model.activity.turns),
|
|
5654
|
+
unit(" 轮 · "),
|
|
5655
|
+
number(model.activity.steps),
|
|
5656
|
+
unit(" 步")
|
|
5657
|
+
]));
|
|
5533
5658
|
if (model.context) {
|
|
5534
5659
|
const bucket = config.contextColorAlert ? model.context.bucket : "good";
|
|
5535
5660
|
items.push(block("context", "is-context", "上下文容量", createCircleMeter(model.context.usedPercent, bucket), [
|
|
@@ -5596,10 +5721,7 @@ body:not([data-ds-dark-theme]) [data-dsh-tide-pill][aria-expanded='true']:hover:
|
|
|
5596
5721
|
className: "dsh-tide-stats-progress-fill",
|
|
5597
5722
|
"data-bucket": model.context.bucket,
|
|
5598
5723
|
style: { width: `${Math.min(100, Math.max(0, model.context.usedPercent))}%` }
|
|
5599
|
-
})), model.context.breakdown && model.context.breakdown.totalTokens > 0 ? h("div", { className: "dsh-tide-stats-breakdown-legend" }, h("span", { className: "dsh-tide-legend-chip is-system" }, `系统 ${formatCompactTokens(model.context.breakdown.systemTokens)}`), h("span", { className: "dsh-tide-legend-chip is-tools" }, `工具 ${formatCompactTokens(model.context.breakdown.toolsTokens)}`), h("span", { className: "dsh-tide-legend-chip is-messages" }, `消息 ${formatCompactTokens(model.context.breakdown.messageTokens)}`)) : null, h("div", { className: "dsh-tide-stats-progress-footer" }, h("span", {}, `剩余空间: ${model.context.remainingTokens.toLocaleString()} tokens`), h("span", {}, `上限: ${model.context.contextWindow.toLocaleString()}`))) : null, h("div", { className: "dsh-tide-stats-grid" }, h("div", { className: "dsh-tide-stats-card" }, h("div", { className: "dsh-tide-stats-card-head" }, h("span", { className: "dsh-tide-stats-card-k" }, "平均 TPS"), h("span", {
|
|
5600
|
-
className: "dsh-tide-eq",
|
|
5601
|
-
"aria-hidden": "true"
|
|
5602
|
-
}, h("span", { className: "dsh-tide-eq-bar" }), h("span", { className: "dsh-tide-eq-bar" }), h("span", { className: "dsh-tide-eq-bar" }), h("span", { className: "dsh-tide-eq-bar" }))), h("strong", { className: "dsh-tide-stats-card-v is-highlight" }, model.tps ? model.tps.label : "暂无数据"), h("span", { className: "dsh-tide-stats-card-hint" }, model.tps?.rawDecodeTps ? `端到端平均,非实时瞬时(流式解码: ${model.tps.rawDecodeTps})` : "端到端平均速率,非实时瞬时")), h("div", { className: "dsh-tide-stats-card" }, h("span", { className: "dsh-tide-stats-card-k" }, "Prompt 缓存命中率"), h("strong", {
|
|
5724
|
+
})), model.context.breakdown && model.context.breakdown.totalTokens > 0 ? h("div", { className: "dsh-tide-stats-breakdown-legend" }, h("span", { className: "dsh-tide-legend-chip is-system" }, `系统 ${formatCompactTokens(model.context.breakdown.systemTokens)}`), h("span", { className: "dsh-tide-legend-chip is-tools" }, `工具 ${formatCompactTokens(model.context.breakdown.toolsTokens)}`), h("span", { className: "dsh-tide-legend-chip is-messages" }, `消息 ${formatCompactTokens(model.context.breakdown.messageTokens)}`)) : null, h("div", { className: "dsh-tide-stats-progress-footer" }, h("span", {}, `剩余空间: ${model.context.remainingTokens.toLocaleString()} tokens`), h("span", {}, `上限: ${model.context.contextWindow.toLocaleString()}`))) : null, h("div", { className: "dsh-tide-stats-grid" }, h("div", { className: "dsh-tide-stats-card" }, h("div", { className: "dsh-tide-stats-card-head" }, h("span", { className: "dsh-tide-stats-card-k" }, "平均 TPS")), h("strong", { className: "dsh-tide-stats-card-v is-highlight" }, model.tps ? model.tps.label : "暂无数据"), h("span", { className: "dsh-tide-stats-card-hint" }, model.tps?.rawDecodeTps ? `端到端平均,非实时瞬时(流式解码: ${model.tps.rawDecodeTps})` : "端到端平均速率,非实时瞬时")), h("div", { className: "dsh-tide-stats-card" }, h("span", { className: "dsh-tide-stats-card-k" }, "Prompt 缓存命中率"), h("strong", {
|
|
5603
5725
|
className: "dsh-tide-stats-card-v",
|
|
5604
5726
|
"data-dsh-tide-pct": model.cache?.bucket ?? "bad"
|
|
5605
5727
|
}, model.cache ? `${model.cache.percent}%` : "暂无数据"), h("div", { className: "dsh-tide-hud-mini-track" }, h("div", {
|
|
@@ -5732,11 +5854,11 @@ body:not([data-ds-dark-theme]) [data-dsh-tide-pill][aria-expanded='true']:hover:
|
|
|
5732
5854
|
},
|
|
5733
5855
|
{
|
|
5734
5856
|
id: "theme",
|
|
5735
|
-
title: "
|
|
5857
|
+
title: "潮汐主题",
|
|
5736
5858
|
items: [{
|
|
5737
5859
|
key: "themeOverrides",
|
|
5738
|
-
title: "
|
|
5739
|
-
description: "为底栏 HUD
|
|
5860
|
+
title: "潮汐主题材质",
|
|
5861
|
+
description: "为底栏 HUD、用量看板与委派图套用潮汐主题材质(深海微透质感、精密发丝描边与自然漫反射柔影);关闭此项后这些组件回落到 DSH 原生外观。"
|
|
5740
5862
|
}]
|
|
5741
5863
|
}
|
|
5742
5864
|
];
|
|
@@ -5763,7 +5885,7 @@ body:not([data-ds-dark-theme]) [data-dsh-tide-pill][aria-expanded='true']:hover:
|
|
|
5763
5885
|
return h("div", {
|
|
5764
5886
|
className: "dsh-tide-settings-root",
|
|
5765
5887
|
"data-dsh-tide-settings": ""
|
|
5766
|
-
}, h("div", { className: "dsh-tide-settings-head" }, h("div", { className: "dsh-tide-settings-title-wrap" }, h("h4", { className: "dsh-tide-settings-title" }, "
|
|
5888
|
+
}, h("div", { className: "dsh-tide-settings-head" }, h("div", { className: "dsh-tide-settings-title-wrap" }, h("h4", { className: "dsh-tide-settings-title" }, "潮汐主题 · 主题与增强功能配置"), h("span", { className: "dsh-tide-settings-badge" }, "即时生效")), h("p", { className: "dsh-tide-settings-desc" }, "可视化切换各项界面增强与显示模块。主题材质开启时套用潮汐深海皮肤,关闭后回落到 DSH 原生外观;所有设置实时保存在本地。")), h("div", { className: "dsh-tide-settings-groups" }, SETTING_GROUPS.map((group) => h("div", {
|
|
5767
5889
|
key: group.id,
|
|
5768
5890
|
className: "dsh-tide-settings-card",
|
|
5769
5891
|
"data-group": group.id
|
|
@@ -5828,7 +5950,7 @@ body:not([data-ds-dark-theme]) [data-dsh-tide-pill][aria-expanded='true']:hover:
|
|
|
5828
5950
|
* ModuleLoader 壳提供,这正是 tsdown client 构建保持 require 的原因。
|
|
5829
5951
|
*/
|
|
5830
5952
|
const PLUGIN_ID = "dsh-tide-theme";
|
|
5831
|
-
const BUILD = "0.
|
|
5953
|
+
const BUILD = "0.5.0+2026-11-02T17:33:05.904Z";
|
|
5832
5954
|
const name = PLUGIN_ID;
|
|
5833
5955
|
const inject = [
|
|
5834
5956
|
"slots",
|
|
@@ -6228,6 +6350,8 @@ body:not([data-ds-dark-theme]) [data-dsh-tide-pill][aria-expanded='true']:hover:
|
|
|
6228
6350
|
function apply(ctx) {
|
|
6229
6351
|
console.info(`[${PLUGIN_ID}] 已加载构建 ${BUILD}`);
|
|
6230
6352
|
if (typeof document !== "undefined") document.documentElement.dataset.dshTideBuild = BUILD;
|
|
6353
|
+
const migration = migrateLegacyStorageKeys();
|
|
6354
|
+
if (migration.migrated.length > 0) console.info(`[${PLUGIN_ID}] 已从旧版本键迁移: ${migration.migrated.join(", ")}`);
|
|
6231
6355
|
step("locale", () => ctx.locale.register(PLUGIN_ID, {
|
|
6232
6356
|
zh: DICT_ZH,
|
|
6233
6357
|
en: DICT_EN
|