weifuwu 0.60.0 → 0.61.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 +23 -7
- package/dist/ai/agent.d.ts +29 -1
- package/dist/ai/client.d.ts +15 -0
- package/dist/ai/index.d.ts +2 -1
- package/dist/client/diff.d.ts +15 -0
- package/dist/client/hydration.d.ts +13 -0
- package/dist/client/index.d.ts +4 -0
- package/dist/client/index.js +3 -2214
- package/dist/client/middleware/api.d.ts +2 -0
- package/dist/client/motion.d.ts +8 -0
- package/dist/client/registry.d.ts +34 -0
- package/dist/client/render.d.ts +13 -14
- package/dist/client/types.d.ts +28 -0
- package/dist/client/ui.d.ts +56 -0
- package/dist/components/Badge/Badge.d.ts +1 -1
- package/dist/components/Button/Button.d.ts +3 -0
- package/dist/components/Card/Card.d.ts +2 -0
- package/dist/components/Confirm/Confirm.d.ts +8 -1
- package/dist/components/Dropdown/Dropdown.d.ts +2 -0
- package/dist/components/Icon/Icon.d.ts +19 -0
- package/dist/components/Input/Input.d.ts +5 -0
- package/dist/components/Modal/Modal.d.ts +2 -0
- package/dist/components/PageHeader/PageHeader.d.ts +2 -0
- package/dist/components/StatCard/StatCard.d.ts +2 -0
- package/dist/components/Table/Table.d.ts +4 -0
- package/dist/components/Toast/Toast.d.ts +13 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +1 -3381
- package/dist/components/style.css +282 -134
- package/dist/core/router.d.ts +10 -10
- package/dist/core/serve.d.ts +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +523 -11
- package/dist/layout/weifuwu-layout.css +106 -17
- package/dist/messager/index.d.ts +107 -0
- package/dist/types.d.ts +2 -2
- package/dist/user/index.d.ts +3 -2
- package/package.json +1 -1
|
@@ -14,13 +14,18 @@
|
|
|
14
14
|
/* 品牌(覆盖 --wf-brand-500 即换主题色,全站跟随) */
|
|
15
15
|
--wf-brand-500: #4f6ef7;
|
|
16
16
|
--wf-brand-600: #3b5ae0;
|
|
17
|
+
--wf-brand-700: #4338ca; /* 品牌文字色(浅底可读,配 --wf-color-primary-text) */
|
|
17
18
|
--wf-brand-50: #eef1ff;
|
|
18
19
|
|
|
19
20
|
/* 语义原始色 */
|
|
20
21
|
--wf-green-500: #22c55e; --wf-green-50: #f0fdf4;
|
|
22
|
+
--wf-green-700: #15803d; /* 语义文字色(浅底可读) */
|
|
21
23
|
--wf-amber-500: #f59e0b; --wf-amber-50: #fffbeb;
|
|
24
|
+
--wf-amber-700: #b45309; /* 语义文字色(浅底可读) */
|
|
22
25
|
--wf-red-500: #ef4444; --wf-red-50: #fef2f2;
|
|
26
|
+
--wf-red-700: #b91c1c; /* 语义文字色(浅底可读) */
|
|
23
27
|
--wf-sky-500: #1677ff; --wf-sky-50: #e6f4ff;
|
|
28
|
+
--wf-sky-700: #0369a1; /* 语义文字色(浅底可读) */
|
|
24
29
|
|
|
25
30
|
/* 中性 */
|
|
26
31
|
--wf-slate-900: #0f172a; --wf-slate-500: #64748b; --wf-slate-400: #94a3b8;
|
|
@@ -36,6 +41,7 @@
|
|
|
36
41
|
--wf-dark-slate-900: #f1f5f9; --wf-dark-slate-500: #94a3b8; --wf-dark-slate-400: #64748b;
|
|
37
42
|
--wf-dark-slate-300: #475569; --wf-dark-slate-200: #334155; --wf-dark-slate-100: #1e293b;
|
|
38
43
|
--wf-dark-slate-50: #0f172a; --wf-dark-bg: #0f172a;
|
|
44
|
+
--wf-dark-overlay: rgba(0, 0, 0, 0.6); /* 暗色遮罩(比亮色更深,压住暗底内容) */
|
|
39
45
|
--wf-dark-surface-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
|
|
40
46
|
--wf-dark-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2);
|
|
41
47
|
--wf-dark-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
|
|
@@ -135,6 +141,11 @@
|
|
|
135
141
|
--wf-font-size-3xl: 24px;
|
|
136
142
|
--wf-font-size-4xl: 30px;
|
|
137
143
|
--wf-font-size-5xl: 36px;
|
|
144
|
+
--wf-font-size-display: 30px; /* 顶级页面标题(PageHeader display 档,配负字距) */
|
|
145
|
+
|
|
146
|
+
/* ── 表头/分组标题:文本变换与字距 token 化(CJK 默认 none/0,英文可覆盖 uppercase/0.5px) ── */
|
|
147
|
+
--wf-heading-case: none;
|
|
148
|
+
--wf-heading-tracking: 0;
|
|
138
149
|
|
|
139
150
|
--wf-font-weight-normal: 400;
|
|
140
151
|
--wf-font-weight-medium: 500;
|
|
@@ -157,10 +168,36 @@
|
|
|
157
168
|
--wf-transition-timing: ease;
|
|
158
169
|
--wf-transition: var(--wf-transition-duration) var(--wf-transition-timing);
|
|
159
170
|
|
|
171
|
+
/* ── 动效语言:时长阶梯 + 缓动曲线 + 位移量(组件动效统一引用,不各自硬编码) ── */
|
|
172
|
+
--wf-dur-fast: 120ms;
|
|
173
|
+
--wf-dur-base: 200ms;
|
|
174
|
+
--wf-dur-slow: 300ms;
|
|
175
|
+
|
|
176
|
+
--wf-ease-out: cubic-bezier(0.16, 1, 0.3, 1); /* 入场:快出缓停 */
|
|
177
|
+
--wf-ease-in: cubic-bezier(0.4, 0, 1, 1); /* 退场:渐入加速 */
|
|
178
|
+
--wf-ease-snap: cubic-bezier(0.34, 1.56, 0.64, 1); /* 选中/弹跳 */
|
|
179
|
+
|
|
180
|
+
--wf-motion-sm: 4px;
|
|
181
|
+
--wf-motion-md: 8px;
|
|
182
|
+
--wf-motion-lg: 24px; /* drawer 全幅位移 */
|
|
183
|
+
|
|
160
184
|
/* ── 色彩 — 信息(补充) ── */
|
|
161
185
|
--wf-color-info: var(--wf-sky-500);
|
|
162
186
|
--wf-color-info-bg: var(--wf-sky-50);
|
|
163
187
|
|
|
188
|
+
/* ── 色彩 — 语义文字色(浅底/白底可读,WCAG AA ≥ 4.5:1;实心色上的文字用 on-brand) ── */
|
|
189
|
+
--wf-color-primary-text: var(--wf-brand-700);
|
|
190
|
+
--wf-color-success-text: var(--wf-green-700);
|
|
191
|
+
--wf-color-warning-text: var(--wf-amber-700);
|
|
192
|
+
--wf-color-error-text: var(--wf-red-700);
|
|
193
|
+
--wf-color-info-text: var(--wf-sky-700);
|
|
194
|
+
|
|
195
|
+
/* ── 色彩 — 实心填充上的文字/图标(primary/success 等实心底色) ── */
|
|
196
|
+
--wf-color-on-brand: #fff;
|
|
197
|
+
|
|
198
|
+
/* ── 浮层遮罩(Modal/Drawer overlay,暗色经 --wf-dark-overlay 映射) ── */
|
|
199
|
+
--wf-overlay: rgba(0, 0, 0, 0.4);
|
|
200
|
+
|
|
164
201
|
/* ── 表单控件 ── */
|
|
165
202
|
--wf-accent-color: var(--wf-color-primary);
|
|
166
203
|
--wf-caret-color: var(--wf-color-primary);
|
|
@@ -186,6 +223,9 @@
|
|
|
186
223
|
--wf-letter-spacing: normal;
|
|
187
224
|
--wf-letter-spacing-wide: 0.5px;
|
|
188
225
|
--wf-letter-spacing-wider: 1px;
|
|
226
|
+
|
|
227
|
+
/* ── 数字 ── */
|
|
228
|
+
--wf-nums: 'tabular-nums'; /* 数字等宽(统计/表格数值防抖动) */
|
|
189
229
|
}
|
|
190
230
|
}
|
|
191
231
|
|
|
@@ -236,6 +276,14 @@
|
|
|
236
276
|
--wf-shadow: var(--wf-dark-shadow);
|
|
237
277
|
--wf-shadow-md: var(--wf-dark-shadow-md);
|
|
238
278
|
--wf-shadow-lg: var(--wf-dark-shadow-lg);
|
|
279
|
+
|
|
280
|
+
--wf-color-primary-text: var(--wf-dark-brand-500);
|
|
281
|
+
--wf-color-success-text: var(--wf-dark-green-500);
|
|
282
|
+
--wf-color-warning-text: var(--wf-dark-amber-500);
|
|
283
|
+
--wf-color-error-text: var(--wf-dark-red-500);
|
|
284
|
+
--wf-color-info-text: var(--wf-dark-sky-500);
|
|
285
|
+
|
|
286
|
+
--wf-overlay: var(--wf-dark-overlay);
|
|
239
287
|
}
|
|
240
288
|
|
|
241
289
|
/* ── 激活方式二:系统暗色偏好(data-theme="light" 可强制亮色) ── */
|
|
@@ -275,6 +323,14 @@
|
|
|
275
323
|
--wf-shadow: var(--wf-dark-shadow);
|
|
276
324
|
--wf-shadow-md: var(--wf-dark-shadow-md);
|
|
277
325
|
--wf-shadow-lg: var(--wf-dark-shadow-lg);
|
|
326
|
+
|
|
327
|
+
--wf-color-primary-text: var(--wf-dark-brand-500);
|
|
328
|
+
--wf-color-success-text: var(--wf-dark-green-500);
|
|
329
|
+
--wf-color-warning-text: var(--wf-dark-amber-500);
|
|
330
|
+
--wf-color-error-text: var(--wf-dark-red-500);
|
|
331
|
+
--wf-color-info-text: var(--wf-dark-sky-500);
|
|
332
|
+
|
|
333
|
+
--wf-overlay: var(--wf-dark-overlay);
|
|
278
334
|
}
|
|
279
335
|
}
|
|
280
336
|
}
|
|
@@ -303,7 +359,7 @@ body {
|
|
|
303
359
|
}
|
|
304
360
|
|
|
305
361
|
a {
|
|
306
|
-
color: var(--wf-color-primary);
|
|
362
|
+
color: var(--wf-color-primary-text);
|
|
307
363
|
text-decoration: none;
|
|
308
364
|
}
|
|
309
365
|
a:hover {
|
|
@@ -360,7 +416,7 @@ button {
|
|
|
360
416
|
}
|
|
361
417
|
button:hover {
|
|
362
418
|
border-color: var(--wf-color-primary);
|
|
363
|
-
color: var(--wf-color-primary);
|
|
419
|
+
color: var(--wf-color-primary-text);
|
|
364
420
|
}
|
|
365
421
|
|
|
366
422
|
/* 键盘焦点:button 与 [tabindex] 统一 focus ring(仅键盘触发,鼠标点击不闪) */
|
|
@@ -383,8 +439,10 @@ button:focus-visible,
|
|
|
383
439
|
.wf-tag-close,
|
|
384
440
|
.wf-checkbox,
|
|
385
441
|
.wf-switch,
|
|
386
|
-
.wf-radio
|
|
442
|
+
.wf-radio,
|
|
443
|
+
.wf-datepicker-cell {
|
|
387
444
|
min-height: 44px;
|
|
445
|
+
min-width: 44px;
|
|
388
446
|
}
|
|
389
447
|
}
|
|
390
448
|
|
|
@@ -419,8 +477,8 @@ th {
|
|
|
419
477
|
font-weight: var(--wf-font-weight-medium);
|
|
420
478
|
font-size: var(--wf-font-size-xs);
|
|
421
479
|
color: var(--wf-color-text-tertiary);
|
|
422
|
-
text-transform: uppercase
|
|
423
|
-
letter-spacing:
|
|
480
|
+
text-transform: var(--wf-heading-case); /* CJK 默认 none,英文可覆盖 uppercase */
|
|
481
|
+
letter-spacing: var(--wf-heading-tracking);
|
|
424
482
|
padding: var(--wf-space) var(--wf-space-sm);
|
|
425
483
|
border-bottom: var(--wf-border-width) solid var(--wf-color-border);
|
|
426
484
|
background: var(--wf-color-bg-secondary);
|
|
@@ -687,6 +745,30 @@ code {
|
|
|
687
745
|
.wf-rounded-md { border-radius: var(--wf-radius-md); }
|
|
688
746
|
.wf-rounded-lg { border-radius: var(--wf-radius-lg); }
|
|
689
747
|
|
|
748
|
+
/* ── hover 抬升(Card/StatCard 可点击/悬停共用,阴影 + 上移 + 焦点环) ── */
|
|
749
|
+
.wf-elevate {
|
|
750
|
+
transition: box-shadow var(--wf-dur-fast) var(--wf-ease-out), transform var(--wf-dur-fast) var(--wf-ease-out);
|
|
751
|
+
}
|
|
752
|
+
.wf-elevate:hover {
|
|
753
|
+
box-shadow: var(--wf-shadow-md);
|
|
754
|
+
transform: translateY(-2px);
|
|
755
|
+
}
|
|
756
|
+
.wf-elevate:focus-visible {
|
|
757
|
+
outline: none;
|
|
758
|
+
box-shadow: var(--wf-shadow-md), var(--wf-focus-ring);
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
/* ── 面板入场:统一 scale+fade(面板族:dropdown/select/datepicker 从触发点下方弹出) ── */
|
|
762
|
+
.wf-panel-in {
|
|
763
|
+
animation: wf-panel-in var(--wf-dur-fast) var(--wf-ease-out);
|
|
764
|
+
transform-origin: top center;
|
|
765
|
+
}
|
|
766
|
+
|
|
767
|
+
@keyframes wf-panel-in {
|
|
768
|
+
from { opacity: 0; transform: translateY(-4px) scale(0.97); }
|
|
769
|
+
to { opacity: 1; transform: translateY(0) scale(1); }
|
|
770
|
+
}
|
|
771
|
+
|
|
690
772
|
/* ── 聊天气泡 ──
|
|
691
773
|
* 用法:wf-bubble(对方/AI)+ wf-bubble--own(自己)
|
|
692
774
|
* 行布局用 wf-row + wf-gap/wf-mb 覆盖;文字用 wf-pre-wrap 已内建
|
|
@@ -706,7 +788,7 @@ code {
|
|
|
706
788
|
|
|
707
789
|
.wf-bubble--own {
|
|
708
790
|
background: var(--wf-color-primary);
|
|
709
|
-
color:
|
|
791
|
+
color: var(--wf-color-on-brand);
|
|
710
792
|
border-bottom-right-radius: var(--wf-radius-sm);
|
|
711
793
|
}
|
|
712
794
|
|
|
@@ -979,8 +1061,8 @@ code {
|
|
|
979
1061
|
font-size: var(--wf-font-size-xs);
|
|
980
1062
|
font-weight: var(--wf-font-weight-medium);
|
|
981
1063
|
color: var(--wf-color-text-tertiary);
|
|
982
|
-
text-transform: uppercase
|
|
983
|
-
letter-spacing:
|
|
1064
|
+
text-transform: var(--wf-heading-case); /* CJK 默认 none,英文可覆盖 uppercase */
|
|
1065
|
+
letter-spacing: var(--wf-heading-tracking);
|
|
984
1066
|
padding: var(--wf-space-md) var(--wf-space-sm) var(--wf-space-xs);
|
|
985
1067
|
}
|
|
986
1068
|
|
|
@@ -1015,13 +1097,13 @@ code {
|
|
|
1015
1097
|
|
|
1016
1098
|
.wf-nav-item--active {
|
|
1017
1099
|
background: var(--wf-color-primary-bg);
|
|
1018
|
-
color: var(--wf-color-primary);
|
|
1100
|
+
color: var(--wf-color-primary-text);
|
|
1019
1101
|
font-weight: var(--wf-font-weight-medium);
|
|
1020
1102
|
}
|
|
1021
1103
|
|
|
1022
1104
|
.wf-nav-item--active:hover {
|
|
1023
1105
|
background: var(--wf-color-primary-bg);
|
|
1024
|
-
color: var(--wf-color-primary);
|
|
1106
|
+
color: var(--wf-color-primary-text);
|
|
1025
1107
|
}
|
|
1026
1108
|
|
|
1027
1109
|
.wf-nav-icon {
|
|
@@ -1097,18 +1179,25 @@ code {
|
|
|
1097
1179
|
.wf-text-3xl { font-size: var(--wf-font-size-3xl); }
|
|
1098
1180
|
.wf-text-4xl { font-size: var(--wf-font-size-4xl); }
|
|
1099
1181
|
.wf-text-5xl { font-size: var(--wf-font-size-5xl); }
|
|
1182
|
+
.wf-text-display { font-size: var(--wf-font-size-display); }
|
|
1183
|
+
|
|
1184
|
+
/* ── 数字等宽(统计/表格数值防宽度抖动) ── */
|
|
1185
|
+
|
|
1186
|
+
.wf-nums {
|
|
1187
|
+
font-variant-numeric: var(--wf-nums);
|
|
1188
|
+
}
|
|
1100
1189
|
|
|
1101
1190
|
/* ── 色阶 ── */
|
|
1102
1191
|
|
|
1103
1192
|
.wf-text-secondary { color: var(--wf-color-text-secondary); }
|
|
1104
1193
|
.wf-text-tertiary { color: var(--wf-color-text-tertiary); }
|
|
1105
1194
|
.wf-text-disabled { color: var(--wf-color-text-disabled); }
|
|
1106
|
-
.wf-text-brand { color: var(--wf-color-primary); } /* 兼容别名 → wf-text-primary */
|
|
1107
|
-
.wf-text-primary { color: var(--wf-color-primary); }
|
|
1108
|
-
.wf-text-success { color: var(--wf-color-success); }
|
|
1109
|
-
.wf-text-warning { color: var(--wf-color-warning); }
|
|
1110
|
-
.wf-text-error { color: var(--wf-color-error); }
|
|
1111
|
-
.wf-text-info { color: var(--wf-color-info); }
|
|
1195
|
+
.wf-text-brand { color: var(--wf-color-primary-text); } /* 兼容别名 → wf-text-primary */
|
|
1196
|
+
.wf-text-primary { color: var(--wf-color-primary-text); }
|
|
1197
|
+
.wf-text-success { color: var(--wf-color-success-text); }
|
|
1198
|
+
.wf-text-warning { color: var(--wf-color-warning-text); }
|
|
1199
|
+
.wf-text-error { color: var(--wf-color-error-text); }
|
|
1200
|
+
.wf-text-info { color: var(--wf-color-info-text); }
|
|
1112
1201
|
|
|
1113
1202
|
/* ── 字重 ── */
|
|
1114
1203
|
|
|
@@ -1253,7 +1342,7 @@ code {
|
|
|
1253
1342
|
}
|
|
1254
1343
|
|
|
1255
1344
|
.wf-prose a {
|
|
1256
|
-
color: var(--wf-color-primary);
|
|
1345
|
+
color: var(--wf-color-primary-text);
|
|
1257
1346
|
text-decoration: none;
|
|
1258
1347
|
}
|
|
1259
1348
|
|
|
@@ -1306,16 +1395,16 @@ code {
|
|
|
1306
1395
|
text-decoration: none;
|
|
1307
1396
|
}
|
|
1308
1397
|
|
|
1309
|
-
.wf-btn--primary { background: var(--wf-color-primary); color:
|
|
1398
|
+
.wf-btn--primary { background: var(--wf-color-primary); color: var(--wf-color-on-brand); border-color: var(--wf-color-primary); }
|
|
1310
1399
|
.wf-btn--primary:hover { background: var(--wf-color-primary-hover); }
|
|
1311
1400
|
|
|
1312
1401
|
.wf-btn--secondary { background: var(--wf-color-bg); color: var(--wf-color-text); border-color: var(--wf-color-border); }
|
|
1313
|
-
.wf-btn--secondary:hover { border-color: var(--wf-color-primary); color: var(--wf-color-primary); }
|
|
1402
|
+
.wf-btn--secondary:hover { border-color: var(--wf-color-primary); color: var(--wf-color-primary-text); }
|
|
1314
1403
|
|
|
1315
|
-
.wf-btn--ghost { background: transparent; color: var(--wf-color-primary); border-color: transparent; }
|
|
1404
|
+
.wf-btn--ghost { background: transparent; color: var(--wf-color-primary-text); border-color: transparent; }
|
|
1316
1405
|
.wf-btn--ghost:hover { background: var(--wf-color-primary-bg); }
|
|
1317
1406
|
|
|
1318
|
-
.wf-btn--danger { background: var(--wf-color-error); color:
|
|
1407
|
+
.wf-btn--danger { background: var(--wf-color-error); color: var(--wf-color-on-brand); border-color: var(--wf-color-error); }
|
|
1319
1408
|
.wf-btn--danger:hover { opacity: 0.9; }
|
|
1320
1409
|
|
|
1321
1410
|
.wf-btn--sm { padding: var(--wf-space-xs) var(--wf-space-sm); font-size: var(--wf-font-size-xs); min-height: 28px; }
|
|
@@ -1325,8 +1414,28 @@ code {
|
|
|
1325
1414
|
|
|
1326
1415
|
.wf-btn--loading { opacity: 0.7; pointer-events: none; }
|
|
1327
1416
|
|
|
1417
|
+
/* 加载 spinner:随文字色(primary 白字自动白色),尺寸稳定不抖 */
|
|
1418
|
+
.wf-btn-spinner {
|
|
1419
|
+
width: 14px;
|
|
1420
|
+
height: 14px;
|
|
1421
|
+
border: 2px solid currentColor;
|
|
1422
|
+
border-top-color: transparent;
|
|
1423
|
+
border-radius: 50%;
|
|
1424
|
+
animation: wf-btn-spin 0.6s linear infinite;
|
|
1425
|
+
flex-shrink: 0;
|
|
1426
|
+
}
|
|
1427
|
+
|
|
1428
|
+
@keyframes wf-btn-spin {
|
|
1429
|
+
to { transform: rotate(360deg); }
|
|
1430
|
+
}
|
|
1431
|
+
|
|
1328
1432
|
.wf-btn:disabled { opacity: var(--wf-opacity-disabled); cursor: not-allowed; }
|
|
1329
1433
|
|
|
1434
|
+
/* 按压反馈(触屏/鼠标通用,reduced-motion 下由 _base.css 全局降级) */
|
|
1435
|
+
.wf-btn:active:not(:disabled) {
|
|
1436
|
+
transform: scale(0.98);
|
|
1437
|
+
}
|
|
1438
|
+
|
|
1330
1439
|
/* weifuwu/components — Input */
|
|
1331
1440
|
|
|
1332
1441
|
.wf-input-wrap {
|
|
@@ -1342,7 +1451,7 @@ code {
|
|
|
1342
1451
|
}
|
|
1343
1452
|
|
|
1344
1453
|
.wf-input-req {
|
|
1345
|
-
color: var(--wf-color-error);
|
|
1454
|
+
color: var(--wf-color-error-text);
|
|
1346
1455
|
margin-left: 2px;
|
|
1347
1456
|
}
|
|
1348
1457
|
|
|
@@ -1395,7 +1504,7 @@ code {
|
|
|
1395
1504
|
|
|
1396
1505
|
.wf-input-err {
|
|
1397
1506
|
font-size: var(--wf-font-size-xs);
|
|
1398
|
-
color: var(--wf-color-error);
|
|
1507
|
+
color: var(--wf-color-error-text);
|
|
1399
1508
|
}
|
|
1400
1509
|
|
|
1401
1510
|
.wf-input-hint {
|
|
@@ -1493,7 +1602,7 @@ code {
|
|
|
1493
1602
|
}
|
|
1494
1603
|
|
|
1495
1604
|
.wf-textarea-req {
|
|
1496
|
-
color: var(--wf-color-error);
|
|
1605
|
+
color: var(--wf-color-error-text);
|
|
1497
1606
|
margin-left: 2px;
|
|
1498
1607
|
}
|
|
1499
1608
|
|
|
@@ -1529,7 +1638,7 @@ code {
|
|
|
1529
1638
|
|
|
1530
1639
|
.wf-textarea-err {
|
|
1531
1640
|
font-size: var(--wf-font-size-xs);
|
|
1532
|
-
color: var(--wf-color-error);
|
|
1641
|
+
color: var(--wf-color-error-text);
|
|
1533
1642
|
}
|
|
1534
1643
|
|
|
1535
1644
|
.wf-textarea-hint {
|
|
@@ -1547,7 +1656,7 @@ code {
|
|
|
1547
1656
|
}
|
|
1548
1657
|
|
|
1549
1658
|
.wf-textarea-count--over {
|
|
1550
|
-
color: var(--wf-color-error);
|
|
1659
|
+
color: var(--wf-color-error-text);
|
|
1551
1660
|
}
|
|
1552
1661
|
|
|
1553
1662
|
.wf-textarea--err .wf-textarea {
|
|
@@ -1570,7 +1679,7 @@ code {
|
|
|
1570
1679
|
}
|
|
1571
1680
|
|
|
1572
1681
|
.wf-select-req {
|
|
1573
|
-
color: var(--wf-color-error);
|
|
1682
|
+
color: var(--wf-color-error-text);
|
|
1574
1683
|
margin-left: 2px;
|
|
1575
1684
|
}
|
|
1576
1685
|
|
|
@@ -1604,7 +1713,7 @@ code {
|
|
|
1604
1713
|
|
|
1605
1714
|
.wf-select-err {
|
|
1606
1715
|
font-size: var(--wf-font-size-xs);
|
|
1607
|
-
color: var(--wf-color-error);
|
|
1716
|
+
color: var(--wf-color-error-text);
|
|
1608
1717
|
}
|
|
1609
1718
|
|
|
1610
1719
|
.wf-select--err .wf-select {
|
|
@@ -1666,6 +1775,9 @@ code {
|
|
|
1666
1775
|
max-height: 240px;
|
|
1667
1776
|
overflow-y: auto;
|
|
1668
1777
|
z-index: var(--wf-z-dropdown);
|
|
1778
|
+
/* 面板族统一入场:wf-panel-in(scale+fade,Token 驱动) */
|
|
1779
|
+
animation: wf-panel-in var(--wf-dur-fast) var(--wf-ease-out);
|
|
1780
|
+
transform-origin: top center;
|
|
1669
1781
|
}
|
|
1670
1782
|
|
|
1671
1783
|
.wf-select-search-opt {
|
|
@@ -1679,7 +1791,7 @@ code {
|
|
|
1679
1791
|
background: var(--wf-color-bg-tertiary);
|
|
1680
1792
|
}
|
|
1681
1793
|
.wf-select-search-opt--sel {
|
|
1682
|
-
color: var(--wf-color-primary);
|
|
1794
|
+
color: var(--wf-color-primary-text);
|
|
1683
1795
|
font-weight: var(--wf-font-weight-medium);
|
|
1684
1796
|
}
|
|
1685
1797
|
.wf-select-search-opt--dis {
|
|
@@ -1733,7 +1845,7 @@ code {
|
|
|
1733
1845
|
|
|
1734
1846
|
.wf-checkbox-input:checked + .wf-checkbox-visual::after {
|
|
1735
1847
|
content: '✓';
|
|
1736
|
-
color:
|
|
1848
|
+
color: var(--wf-color-on-brand);
|
|
1737
1849
|
font-size: 11px;
|
|
1738
1850
|
font-weight: bold;
|
|
1739
1851
|
}
|
|
@@ -1917,15 +2029,27 @@ code {
|
|
|
1917
2029
|
user-select: none;
|
|
1918
2030
|
}
|
|
1919
2031
|
.wf-table-th--sortable:hover {
|
|
1920
|
-
color: var(--wf-color-primary);
|
|
2032
|
+
color: var(--wf-color-primary-text);
|
|
1921
2033
|
}
|
|
1922
2034
|
.wf-table-th--sortable:focus-visible {
|
|
1923
2035
|
outline: none;
|
|
1924
2036
|
box-shadow: var(--wf-focus-ring);
|
|
1925
|
-
color: var(--wf-color-primary);
|
|
2037
|
+
color: var(--wf-color-primary-text);
|
|
1926
2038
|
}
|
|
1927
2039
|
.wf-table-th--sorted {
|
|
1928
|
-
color: var(--wf-color-primary);
|
|
2040
|
+
color: var(--wf-color-primary-text);
|
|
2041
|
+
}
|
|
2042
|
+
|
|
2043
|
+
/* 排序指示图标:随文字色,激活列高亮 */
|
|
2044
|
+
.wf-table-sort-icon {
|
|
2045
|
+
margin-left: var(--wf-gap-xs);
|
|
2046
|
+
opacity: 0.6;
|
|
2047
|
+
}
|
|
2048
|
+
.wf-table-sort-icon--active {
|
|
2049
|
+
opacity: 1;
|
|
2050
|
+
}
|
|
2051
|
+
.wf-table-th:hover .wf-table-sort-icon {
|
|
2052
|
+
opacity: 1;
|
|
1929
2053
|
}
|
|
1930
2054
|
|
|
1931
2055
|
.wf-table-tr:last-child .wf-table-td {
|
|
@@ -1953,11 +2077,11 @@ code {
|
|
|
1953
2077
|
}
|
|
1954
2078
|
|
|
1955
2079
|
.wf-modal--enter {
|
|
1956
|
-
animation: wf-modal-fadein
|
|
2080
|
+
animation: wf-modal-fadein var(--wf-dur-base) var(--wf-ease-out);
|
|
1957
2081
|
}
|
|
1958
2082
|
|
|
1959
2083
|
.wf-modal--exit {
|
|
1960
|
-
animation: wf-modal-fadeout
|
|
2084
|
+
animation: wf-modal-fadeout var(--wf-dur-base) var(--wf-ease-in) forwards;
|
|
1961
2085
|
}
|
|
1962
2086
|
|
|
1963
2087
|
@keyframes wf-modal-fadein {
|
|
@@ -1973,7 +2097,7 @@ code {
|
|
|
1973
2097
|
.wf-modal-overlay {
|
|
1974
2098
|
position: fixed;
|
|
1975
2099
|
inset: 0;
|
|
1976
|
-
background:
|
|
2100
|
+
background: var(--wf-overlay);
|
|
1977
2101
|
z-index: -1;
|
|
1978
2102
|
}
|
|
1979
2103
|
|
|
@@ -2057,7 +2181,7 @@ code {
|
|
|
2057
2181
|
max-width: 400px;
|
|
2058
2182
|
cursor: pointer;
|
|
2059
2183
|
pointer-events: auto;
|
|
2060
|
-
animation: wf-toast-in
|
|
2184
|
+
animation: wf-toast-in var(--wf-dur-base) var(--wf-ease-out);
|
|
2061
2185
|
}
|
|
2062
2186
|
|
|
2063
2187
|
@keyframes wf-toast-in {
|
|
@@ -2084,10 +2208,20 @@ code {
|
|
|
2084
2208
|
to { opacity: 1; transform: translateY(0); }
|
|
2085
2209
|
}
|
|
2086
2210
|
|
|
2087
|
-
.wf-toast--success { background: var(--wf-color-success-bg); color: var(--wf-color-success); }
|
|
2088
|
-
.wf-toast--error { background: var(--wf-color-error-bg); color: var(--wf-color-error); }
|
|
2089
|
-
.wf-toast--warning { background: var(--wf-color-warning-bg); color: var(--wf-color-warning); }
|
|
2090
|
-
.wf-toast--info { background: var(--wf-color-info-bg); color: var(--wf-color-info); }
|
|
2211
|
+
.wf-toast--success { background: var(--wf-color-success-bg); color: var(--wf-color-success-text); }
|
|
2212
|
+
.wf-toast--error { background: var(--wf-color-error-bg); color: var(--wf-color-error-text); }
|
|
2213
|
+
.wf-toast--warning { background: var(--wf-color-warning-bg); color: var(--wf-color-warning-text); }
|
|
2214
|
+
.wf-toast--info { background: var(--wf-color-info-bg); color: var(--wf-color-info-text); }
|
|
2215
|
+
|
|
2216
|
+
/* ── 退场:向右淡出(位置变体方向未细分,诚实裁剪) ── */
|
|
2217
|
+
.wf-toast-out {
|
|
2218
|
+
animation: wf-toast-out var(--wf-dur-base) var(--wf-ease-in) forwards;
|
|
2219
|
+
}
|
|
2220
|
+
|
|
2221
|
+
@keyframes wf-toast-out {
|
|
2222
|
+
from { opacity: 1; transform: translateX(0); }
|
|
2223
|
+
to { opacity: 0; transform: translateX(var(--wf-motion-md)); }
|
|
2224
|
+
}
|
|
2091
2225
|
|
|
2092
2226
|
.wf-toast-icon {
|
|
2093
2227
|
font-size: var(--wf-font-size-lg);
|
|
@@ -2099,6 +2233,30 @@ code {
|
|
|
2099
2233
|
color: var(--wf-color-text);
|
|
2100
2234
|
}
|
|
2101
2235
|
|
|
2236
|
+
/* 操作按钮(如"撤销"):语义色文字,点击不自动关闭 */
|
|
2237
|
+
.wf-toast-action {
|
|
2238
|
+
border: none;
|
|
2239
|
+
background: none;
|
|
2240
|
+
padding: 0;
|
|
2241
|
+
cursor: pointer;
|
|
2242
|
+
font-family: var(--wf-font-sans);
|
|
2243
|
+
font-size: var(--wf-font-size-sm);
|
|
2244
|
+
font-weight: var(--wf-font-weight-medium);
|
|
2245
|
+
color: var(--wf-color-primary-text);
|
|
2246
|
+
}
|
|
2247
|
+
.wf-toast-action:hover {
|
|
2248
|
+
text-decoration: underline;
|
|
2249
|
+
}
|
|
2250
|
+
.wf-toast-action:focus-visible {
|
|
2251
|
+
outline: none;
|
|
2252
|
+
box-shadow: var(--wf-focus-ring);
|
|
2253
|
+
border-radius: var(--wf-radius-sm);
|
|
2254
|
+
}
|
|
2255
|
+
.wf-toast-action--success { color: var(--wf-color-success-text); }
|
|
2256
|
+
.wf-toast-action--error { color: var(--wf-color-error-text); }
|
|
2257
|
+
.wf-toast-action--warning { color: var(--wf-color-warning-text); }
|
|
2258
|
+
.wf-toast-action--info { color: var(--wf-color-primary-text); }
|
|
2259
|
+
|
|
2102
2260
|
/* weifuwu/components — Alert */
|
|
2103
2261
|
|
|
2104
2262
|
.wf-alert {
|
|
@@ -2112,10 +2270,10 @@ code {
|
|
|
2112
2270
|
line-height: var(--wf-line-height);
|
|
2113
2271
|
}
|
|
2114
2272
|
|
|
2115
|
-
.wf-alert--info { background: var(--wf-color-info-bg); color: var(--wf-color-info); }
|
|
2116
|
-
.wf-alert--success { background: var(--wf-color-success-bg); color: var(--wf-color-success); }
|
|
2117
|
-
.wf-alert--warning { background: var(--wf-color-warning-bg); color: var(--wf-color-warning); }
|
|
2118
|
-
.wf-alert--error { background: var(--wf-color-error-bg); color: var(--wf-color-error); }
|
|
2273
|
+
.wf-alert--info { background: var(--wf-color-info-bg); color: var(--wf-color-info-text); }
|
|
2274
|
+
.wf-alert--success { background: var(--wf-color-success-bg); color: var(--wf-color-success-text); }
|
|
2275
|
+
.wf-alert--warning { background: var(--wf-color-warning-bg); color: var(--wf-color-warning-text); }
|
|
2276
|
+
.wf-alert--error { background: var(--wf-color-error-bg); color: var(--wf-color-error-text); }
|
|
2119
2277
|
|
|
2120
2278
|
.wf-alert-icon {
|
|
2121
2279
|
font-weight: var(--wf-font-weight-bold);
|
|
@@ -2241,10 +2399,15 @@ code {
|
|
|
2241
2399
|
}
|
|
2242
2400
|
|
|
2243
2401
|
.wf-tab--active {
|
|
2244
|
-
color: var(--wf-color-primary);
|
|
2402
|
+
color: var(--wf-color-primary-text);
|
|
2245
2403
|
border-bottom-color: var(--wf-color-primary);
|
|
2246
2404
|
}
|
|
2247
2405
|
|
|
2406
|
+
/* 激活指示平滑滑动(下边框) */
|
|
2407
|
+
.wf-tab {
|
|
2408
|
+
transition: color var(--wf-dur-fast) var(--wf-ease-out), border-color var(--wf-dur-fast) var(--wf-ease-out);
|
|
2409
|
+
}
|
|
2410
|
+
|
|
2248
2411
|
.wf-tab-content {
|
|
2249
2412
|
padding-top: var(--wf-space-md);
|
|
2250
2413
|
}
|
|
@@ -2294,18 +2457,14 @@ code {
|
|
|
2294
2457
|
}
|
|
2295
2458
|
|
|
2296
2459
|
.wf-dropdown-item--danger {
|
|
2297
|
-
color: var(--wf-color-error);
|
|
2460
|
+
color: var(--wf-color-error-text);
|
|
2298
2461
|
}
|
|
2299
2462
|
|
|
2300
|
-
/* ──
|
|
2463
|
+
/* ── 入场动画:面板族统一 wf-panel-in(scale+fade,Token 驱动) ── */
|
|
2301
2464
|
.wf-dropdown-menu {
|
|
2302
|
-
animation: wf-
|
|
2465
|
+
animation: wf-panel-in var(--wf-dur-fast) var(--wf-ease-out);
|
|
2303
2466
|
transform-origin: top center;
|
|
2304
2467
|
}
|
|
2305
|
-
@keyframes wf-dropdown-in {
|
|
2306
|
-
from { opacity: 0; transform: translateY(-4px) scaleY(0.96); }
|
|
2307
|
-
to { opacity: 1; transform: translateY(0) scaleY(1); }
|
|
2308
|
-
}
|
|
2309
2468
|
|
|
2310
2469
|
/* weifuwu/components — Pagination */
|
|
2311
2470
|
|
|
@@ -2336,13 +2495,13 @@ code {
|
|
|
2336
2495
|
|
|
2337
2496
|
.wf-page-btn:hover:not(:disabled):not(.wf-page-btn--active) {
|
|
2338
2497
|
border-color: var(--wf-color-primary);
|
|
2339
|
-
color: var(--wf-color-primary);
|
|
2498
|
+
color: var(--wf-color-primary-text);
|
|
2340
2499
|
}
|
|
2341
2500
|
|
|
2342
2501
|
.wf-page-btn--active {
|
|
2343
2502
|
background: var(--wf-color-primary);
|
|
2344
2503
|
border-color: var(--wf-color-primary);
|
|
2345
|
-
color:
|
|
2504
|
+
color: var(--wf-color-on-brand);
|
|
2346
2505
|
}
|
|
2347
2506
|
|
|
2348
2507
|
.wf-page-btn--disabled {
|
|
@@ -2377,26 +2536,10 @@ code {
|
|
|
2377
2536
|
|
|
2378
2537
|
.wf-card--clickable {
|
|
2379
2538
|
cursor: pointer;
|
|
2380
|
-
transition: box-shadow var(--wf-transition);
|
|
2381
2539
|
}
|
|
2382
2540
|
|
|
2383
|
-
.wf-
|
|
2384
|
-
box-shadow: var(--wf-shadow-md);
|
|
2385
|
-
}
|
|
2386
|
-
|
|
2387
|
-
.wf-card--clickable:focus-visible {
|
|
2388
|
-
outline: none;
|
|
2389
|
-
box-shadow: var(--wf-shadow-md), var(--wf-focus-ring);
|
|
2390
|
-
}
|
|
2391
|
-
|
|
2392
|
-
/* hover 抬升变体 — 阴影 + 上移(悬停卡片/列表卡片) */
|
|
2541
|
+
/* hover 抬升已提炼为 .wf-elevate(_surface.css),此处仅保留语义类 */
|
|
2393
2542
|
.wf-card--hover {
|
|
2394
|
-
transition: box-shadow var(--wf-transition), transform var(--wf-transition);
|
|
2395
|
-
}
|
|
2396
|
-
|
|
2397
|
-
.wf-card--hover:hover {
|
|
2398
|
-
box-shadow: var(--wf-shadow-md);
|
|
2399
|
-
transform: translateY(-2px);
|
|
2400
2543
|
}
|
|
2401
2544
|
|
|
2402
2545
|
/* 选中态 — 选择卡片(类型选择/模板选择) */
|
|
@@ -2420,11 +2563,11 @@ code {
|
|
|
2420
2563
|
}
|
|
2421
2564
|
|
|
2422
2565
|
.wf-badge--default { background: var(--wf-color-bg-tertiary); color: var(--wf-color-text-secondary); }
|
|
2423
|
-
.wf-badge--primary { background: var(--wf-color-primary-bg); color: var(--wf-color-primary); }
|
|
2424
|
-
.wf-badge--success { background: var(--wf-color-success-bg); color: var(--wf-color-success); }
|
|
2425
|
-
.wf-badge--warning { background: var(--wf-color-warning-bg); color: var(--wf-color-warning); }
|
|
2426
|
-
.wf-badge--danger { background: var(--wf-color-error-bg); color: var(--wf-color-error); }
|
|
2427
|
-
.wf-badge--info { background: var(--wf-color-info-bg); color: var(--wf-color-info); }
|
|
2566
|
+
.wf-badge--primary { background: var(--wf-color-primary-bg); color: var(--wf-color-primary-text); }
|
|
2567
|
+
.wf-badge--success { background: var(--wf-color-success-bg); color: var(--wf-color-success-text); }
|
|
2568
|
+
.wf-badge--warning { background: var(--wf-color-warning-bg); color: var(--wf-color-warning-text); }
|
|
2569
|
+
.wf-badge--danger { background: var(--wf-color-error-bg); color: var(--wf-color-error-text); }
|
|
2570
|
+
.wf-badge--info { background: var(--wf-color-info-bg); color: var(--wf-color-info-text); }
|
|
2428
2571
|
|
|
2429
2572
|
/* Dot variant */
|
|
2430
2573
|
.wf-badge-dot {
|
|
@@ -2450,7 +2593,7 @@ code {
|
|
|
2450
2593
|
border-radius: 50%;
|
|
2451
2594
|
font-family: var(--wf-font-sans);
|
|
2452
2595
|
font-weight: var(--wf-font-weight-semibold);
|
|
2453
|
-
color:
|
|
2596
|
+
color: var(--wf-color-on-brand);
|
|
2454
2597
|
flex-shrink: 0;
|
|
2455
2598
|
overflow: hidden;
|
|
2456
2599
|
object-fit: cover;
|
|
@@ -2474,9 +2617,9 @@ code {
|
|
|
2474
2617
|
}
|
|
2475
2618
|
|
|
2476
2619
|
.wf-tag--default { background: var(--wf-color-bg-tertiary); color: var(--wf-color-text-secondary); }
|
|
2477
|
-
.wf-tag--primary { background: var(--wf-color-primary-bg); color: var(--wf-color-primary); }
|
|
2478
|
-
.wf-tag--success { background: var(--wf-color-success-bg); color: var(--wf-color-success); }
|
|
2479
|
-
.wf-tag--danger { background: var(--wf-color-error-bg); color: var(--wf-color-error); }
|
|
2620
|
+
.wf-tag--primary { background: var(--wf-color-primary-bg); color: var(--wf-color-primary-text); }
|
|
2621
|
+
.wf-tag--success { background: var(--wf-color-success-bg); color: var(--wf-color-success-text); }
|
|
2622
|
+
.wf-tag--danger { background: var(--wf-color-error-bg); color: var(--wf-color-error-text); }
|
|
2480
2623
|
|
|
2481
2624
|
.wf-tag-text { }
|
|
2482
2625
|
|
|
@@ -2516,6 +2659,7 @@ code {
|
|
|
2516
2659
|
font-weight: var(--wf-font-weight-bold);
|
|
2517
2660
|
color: var(--wf-color-text);
|
|
2518
2661
|
line-height: 1;
|
|
2662
|
+
font-variant-numeric: var(--wf-nums); /* 数字等宽:递增不抖 */
|
|
2519
2663
|
}
|
|
2520
2664
|
|
|
2521
2665
|
.wf-stat-label {
|
|
@@ -2531,27 +2675,16 @@ code {
|
|
|
2531
2675
|
margin-top: var(--wf-gap-xs);
|
|
2532
2676
|
}
|
|
2533
2677
|
|
|
2534
|
-
.wf-stat-trend--up { color: var(--wf-color-success); }
|
|
2535
|
-
.wf-stat-trend--down { color: var(--wf-color-error); }
|
|
2678
|
+
.wf-stat-trend--up { color: var(--wf-color-success-text); }
|
|
2679
|
+
.wf-stat-trend--down { color: var(--wf-color-error-text); }
|
|
2536
2680
|
|
|
2537
2681
|
.wf-stat-trend-arrow {
|
|
2538
2682
|
font-weight: var(--wf-font-weight-bold);
|
|
2539
2683
|
}
|
|
2540
2684
|
|
|
2541
|
-
/*
|
|
2685
|
+
/* 可点击指标卡:hover 抬升已提炼为 .wf-elevate(_surface.css) */
|
|
2542
2686
|
.wf-stat--clickable {
|
|
2543
2687
|
cursor: pointer;
|
|
2544
|
-
transition: box-shadow var(--wf-transition), transform var(--wf-transition);
|
|
2545
|
-
}
|
|
2546
|
-
|
|
2547
|
-
.wf-stat--clickable:hover {
|
|
2548
|
-
box-shadow: var(--wf-shadow-md);
|
|
2549
|
-
transform: translateY(-2px);
|
|
2550
|
-
}
|
|
2551
|
-
|
|
2552
|
-
.wf-stat--clickable:focus-visible {
|
|
2553
|
-
outline: none;
|
|
2554
|
-
box-shadow: var(--wf-shadow-md), var(--wf-focus-ring);
|
|
2555
2688
|
}
|
|
2556
2689
|
|
|
2557
2690
|
/* weifuwu/components — Steps */
|
|
@@ -2587,13 +2720,13 @@ code {
|
|
|
2587
2720
|
|
|
2588
2721
|
.wf-step--done .wf-step-num {
|
|
2589
2722
|
background: var(--wf-color-primary);
|
|
2590
|
-
color:
|
|
2723
|
+
color: var(--wf-color-on-brand);
|
|
2591
2724
|
font-size: 14px;
|
|
2592
2725
|
}
|
|
2593
2726
|
|
|
2594
2727
|
.wf-step--current .wf-step-num {
|
|
2595
2728
|
background: var(--wf-color-primary);
|
|
2596
|
-
color:
|
|
2729
|
+
color: var(--wf-color-on-brand);
|
|
2597
2730
|
box-shadow: 0 0 0 3px var(--wf-color-primary-bg);
|
|
2598
2731
|
}
|
|
2599
2732
|
|
|
@@ -2605,7 +2738,7 @@ code {
|
|
|
2605
2738
|
}
|
|
2606
2739
|
|
|
2607
2740
|
.wf-step--current .wf-step-label {
|
|
2608
|
-
color: var(--wf-color-primary);
|
|
2741
|
+
color: var(--wf-color-primary-text);
|
|
2609
2742
|
}
|
|
2610
2743
|
|
|
2611
2744
|
.wf-step-desc {
|
|
@@ -2650,13 +2783,13 @@ code {
|
|
|
2650
2783
|
}
|
|
2651
2784
|
|
|
2652
2785
|
.wf-field-req {
|
|
2653
|
-
color: var(--wf-color-error);
|
|
2786
|
+
color: var(--wf-color-error-text);
|
|
2654
2787
|
margin-left: 2px;
|
|
2655
2788
|
}
|
|
2656
2789
|
|
|
2657
2790
|
.wf-field-err {
|
|
2658
2791
|
font-size: var(--wf-font-size-xs);
|
|
2659
|
-
color: var(--wf-color-error);
|
|
2792
|
+
color: var(--wf-color-error-text);
|
|
2660
2793
|
}
|
|
2661
2794
|
|
|
2662
2795
|
.wf-field-hint {
|
|
@@ -2665,7 +2798,7 @@ code {
|
|
|
2665
2798
|
}
|
|
2666
2799
|
|
|
2667
2800
|
.wf-field--err .wf-field-label {
|
|
2668
|
-
color: var(--wf-color-error);
|
|
2801
|
+
color: var(--wf-color-error-text);
|
|
2669
2802
|
}
|
|
2670
2803
|
|
|
2671
2804
|
/* weifuwu/components — Slider */
|
|
@@ -2821,12 +2954,13 @@ code {
|
|
|
2821
2954
|
|
|
2822
2955
|
.wf-segmented-option--active {
|
|
2823
2956
|
background: var(--wf-surface-bg);
|
|
2824
|
-
color: var(--wf-color-primary);
|
|
2957
|
+
color: var(--wf-color-primary-text);
|
|
2825
2958
|
box-shadow: var(--wf-shadow-sm);
|
|
2959
|
+
transition: box-shadow var(--wf-dur-fast) var(--wf-ease-snap), color var(--wf-dur-fast) var(--wf-ease-out);
|
|
2826
2960
|
}
|
|
2827
2961
|
|
|
2828
2962
|
.wf-segmented-option--active:hover {
|
|
2829
|
-
color: var(--wf-color-primary);
|
|
2963
|
+
color: var(--wf-color-primary-text);
|
|
2830
2964
|
}
|
|
2831
2965
|
|
|
2832
2966
|
.wf-segmented-option:focus-visible {
|
|
@@ -2958,6 +3092,12 @@ code {
|
|
|
2958
3092
|
line-height: var(--wf-line-height-tight);
|
|
2959
3093
|
}
|
|
2960
3094
|
|
|
3095
|
+
/* display 档:顶级页面标题,配窄字距 */
|
|
3096
|
+
.wf-page-title--display {
|
|
3097
|
+
font-size: var(--wf-font-size-display);
|
|
3098
|
+
letter-spacing: -0.5px;
|
|
3099
|
+
}
|
|
3100
|
+
|
|
2961
3101
|
.wf-page-sub {
|
|
2962
3102
|
font-family: var(--wf-font-sans);
|
|
2963
3103
|
font-size: var(--wf-font-size-sm);
|
|
@@ -2985,7 +3125,7 @@ code {
|
|
|
2985
3125
|
}
|
|
2986
3126
|
|
|
2987
3127
|
.wf-breadcrumb-link {
|
|
2988
|
-
color: var(--wf-color-primary);
|
|
3128
|
+
color: var(--wf-color-primary-text);
|
|
2989
3129
|
text-decoration: none;
|
|
2990
3130
|
}
|
|
2991
3131
|
|
|
@@ -3166,14 +3306,14 @@ code {
|
|
|
3166
3306
|
}
|
|
3167
3307
|
|
|
3168
3308
|
.wf-upload-item-remove:hover {
|
|
3169
|
-
color: var(--wf-color-error);
|
|
3309
|
+
color: var(--wf-color-error-text);
|
|
3170
3310
|
background: var(--wf-color-error-bg);
|
|
3171
3311
|
}
|
|
3172
3312
|
|
|
3173
3313
|
.wf-upload-err {
|
|
3174
3314
|
font-family: var(--wf-font-sans);
|
|
3175
3315
|
font-size: var(--wf-font-size-xs);
|
|
3176
|
-
color: var(--wf-color-error);
|
|
3316
|
+
color: var(--wf-color-error-text);
|
|
3177
3317
|
}
|
|
3178
3318
|
|
|
3179
3319
|
/* weifuwu/components — Tooltip */
|
|
@@ -3259,9 +3399,9 @@ code {
|
|
|
3259
3399
|
line-height: 1.4;
|
|
3260
3400
|
}
|
|
3261
3401
|
|
|
3262
|
-
/* ──
|
|
3402
|
+
/* ── 入场动画:fade(浮层族,时长 Token 驱动) ── */
|
|
3263
3403
|
.wf-tooltip {
|
|
3264
|
-
animation: wf-tooltip-in
|
|
3404
|
+
animation: wf-tooltip-in var(--wf-dur-fast) var(--wf-ease-out);
|
|
3265
3405
|
}
|
|
3266
3406
|
@keyframes wf-tooltip-in {
|
|
3267
3407
|
from { opacity: 0; }
|
|
@@ -3288,15 +3428,15 @@ code {
|
|
|
3288
3428
|
.wf-drawer-overlay {
|
|
3289
3429
|
position: absolute;
|
|
3290
3430
|
inset: 0;
|
|
3291
|
-
background:
|
|
3431
|
+
background: var(--wf-overlay);
|
|
3292
3432
|
}
|
|
3293
3433
|
|
|
3294
3434
|
.wf-drawer--enter .wf-drawer-overlay {
|
|
3295
|
-
animation: wf-drawer-overlay-fadein
|
|
3435
|
+
animation: wf-drawer-overlay-fadein var(--wf-dur-fast) var(--wf-ease-out);
|
|
3296
3436
|
}
|
|
3297
3437
|
|
|
3298
3438
|
.wf-drawer--exit .wf-drawer-overlay {
|
|
3299
|
-
animation: wf-drawer-overlay-fadeout
|
|
3439
|
+
animation: wf-drawer-overlay-fadeout var(--wf-dur-fast) var(--wf-ease-in) forwards;
|
|
3300
3440
|
}
|
|
3301
3441
|
|
|
3302
3442
|
@keyframes wf-drawer-overlay-fadein {
|
|
@@ -3321,7 +3461,7 @@ code {
|
|
|
3321
3461
|
}
|
|
3322
3462
|
|
|
3323
3463
|
.wf-drawer--enter .wf-drawer-panel {
|
|
3324
|
-
animation: wf-drawer-slidein
|
|
3464
|
+
animation: wf-drawer-slidein var(--wf-dur-base) var(--wf-ease-out);
|
|
3325
3465
|
}
|
|
3326
3466
|
|
|
3327
3467
|
.wf-drawer--enter .wf-drawer-panel--right {
|
|
@@ -3333,7 +3473,7 @@ code {
|
|
|
3333
3473
|
}
|
|
3334
3474
|
|
|
3335
3475
|
.wf-drawer--exit .wf-drawer-panel {
|
|
3336
|
-
animation: wf-drawer-slideout
|
|
3476
|
+
animation: wf-drawer-slideout var(--wf-dur-base) var(--wf-ease-in) forwards;
|
|
3337
3477
|
}
|
|
3338
3478
|
|
|
3339
3479
|
.wf-drawer--exit .wf-drawer-panel--right {
|
|
@@ -3464,16 +3604,16 @@ code {
|
|
|
3464
3604
|
display: inline-flex;
|
|
3465
3605
|
}
|
|
3466
3606
|
|
|
3467
|
-
/* ──
|
|
3607
|
+
/* ── 入场动画:fade(浮层族 popover/tooltip 保持 fade,时长 Token 驱动) ── */
|
|
3468
3608
|
.wf-popover {
|
|
3469
|
-
animation: wf-popover-in
|
|
3609
|
+
animation: wf-popover-in var(--wf-dur-fast) var(--wf-ease-out);
|
|
3470
3610
|
}
|
|
3471
3611
|
@keyframes wf-popover-in {
|
|
3472
3612
|
from { opacity: 0; }
|
|
3473
3613
|
to { opacity: 1; }
|
|
3474
3614
|
}
|
|
3475
3615
|
.wf-popover-overlay {
|
|
3476
|
-
animation: wf-popover-overlay-in
|
|
3616
|
+
animation: wf-popover-overlay-in var(--wf-dur-fast) var(--wf-ease-out);
|
|
3477
3617
|
}
|
|
3478
3618
|
@keyframes wf-popover-overlay-in {
|
|
3479
3619
|
from { opacity: 0; }
|
|
@@ -3646,6 +3786,9 @@ code {
|
|
|
3646
3786
|
padding: var(--wf-space);
|
|
3647
3787
|
min-width: var(--wf-datepicker-width, 260px);
|
|
3648
3788
|
user-select: none;
|
|
3789
|
+
/* 面板族统一入场:wf-panel-in(scale+fade,Token 驱动) */
|
|
3790
|
+
animation: wf-panel-in var(--wf-dur-fast) var(--wf-ease-out);
|
|
3791
|
+
transform-origin: top center;
|
|
3649
3792
|
}
|
|
3650
3793
|
|
|
3651
3794
|
.wf-datepicker-header {
|
|
@@ -3724,11 +3867,12 @@ code {
|
|
|
3724
3867
|
|
|
3725
3868
|
.wf-datepicker-cell--today {
|
|
3726
3869
|
font-weight: var(--wf-font-weight-bold);
|
|
3870
|
+
box-shadow: inset 0 0 0 1px var(--wf-color-border-dark); /* 边框高亮,不撑开布局 */
|
|
3727
3871
|
}
|
|
3728
3872
|
|
|
3729
3873
|
.wf-datepicker-cell--selected {
|
|
3730
3874
|
background: var(--wf-color-primary);
|
|
3731
|
-
color:
|
|
3875
|
+
color: var(--wf-color-on-brand);
|
|
3732
3876
|
}
|
|
3733
3877
|
|
|
3734
3878
|
.wf-datepicker-cell--in-range {
|
|
@@ -3738,7 +3882,7 @@ code {
|
|
|
3738
3882
|
|
|
3739
3883
|
.wf-datepicker-cell--range-edge {
|
|
3740
3884
|
background: var(--wf-color-primary);
|
|
3741
|
-
color:
|
|
3885
|
+
color: var(--wf-color-on-brand);
|
|
3742
3886
|
}
|
|
3743
3887
|
|
|
3744
3888
|
/* ── 区间模式 ── */
|
|
@@ -3754,6 +3898,8 @@ code {
|
|
|
3754
3898
|
box-shadow: var(--wf-shadow-md);
|
|
3755
3899
|
padding: var(--wf-space);
|
|
3756
3900
|
user-select: none;
|
|
3901
|
+
animation: wf-panel-in var(--wf-dur-fast) var(--wf-ease-out);
|
|
3902
|
+
transform-origin: top center;
|
|
3757
3903
|
}
|
|
3758
3904
|
|
|
3759
3905
|
.wf-datepicker-range-panel {
|
|
@@ -3772,6 +3918,8 @@ code {
|
|
|
3772
3918
|
padding: var(--wf-space);
|
|
3773
3919
|
min-width: var(--wf-datepicker-range-width, 200px);
|
|
3774
3920
|
user-select: none;
|
|
3921
|
+
animation: wf-panel-in var(--wf-dur-fast) var(--wf-ease-out);
|
|
3922
|
+
transform-origin: top center;
|
|
3775
3923
|
}
|
|
3776
3924
|
|
|
3777
3925
|
.wf-time-body {
|
|
@@ -3820,7 +3968,7 @@ code {
|
|
|
3820
3968
|
|
|
3821
3969
|
.wf-time-opt--selected {
|
|
3822
3970
|
background: var(--wf-color-primary);
|
|
3823
|
-
color:
|
|
3971
|
+
color: var(--wf-color-on-brand);
|
|
3824
3972
|
}
|
|
3825
3973
|
|
|
3826
3974
|
.wf-time-footer {
|
|
@@ -3999,8 +4147,8 @@ code {
|
|
|
3999
4147
|
}
|
|
4000
4148
|
|
|
4001
4149
|
.wf-editor-tb-btn--active {
|
|
4002
|
-
background: var(--wf-color-primary-
|
|
4003
|
-
color: var(--wf-color-primary);
|
|
4150
|
+
background: var(--wf-color-primary-bg);
|
|
4151
|
+
color: var(--wf-color-primary-text);
|
|
4004
4152
|
}
|
|
4005
4153
|
|
|
4006
4154
|
.wf-editor-tb-btn--active:hover {
|
|
@@ -4075,7 +4223,7 @@ code {
|
|
|
4075
4223
|
}
|
|
4076
4224
|
|
|
4077
4225
|
.wf-editor-content a {
|
|
4078
|
-
color: var(--wf-color-primary);
|
|
4226
|
+
color: var(--wf-color-primary-text);
|
|
4079
4227
|
text-decoration: underline;
|
|
4080
4228
|
}
|
|
4081
4229
|
|
|
@@ -4328,9 +4476,9 @@ code {
|
|
|
4328
4476
|
|
|
4329
4477
|
.wf-toolcall-icon { font-size: var(--wf-font-size-sm); }
|
|
4330
4478
|
|
|
4331
|
-
.wf-toolcall-icon--running { color: var(--wf-color-info); }
|
|
4332
|
-
.wf-toolcall-icon--ok { color: var(--wf-color-success); }
|
|
4333
|
-
.wf-toolcall-icon--error { color: var(--wf-color-error); }
|
|
4479
|
+
.wf-toolcall-icon--running { color: var(--wf-color-info-text); }
|
|
4480
|
+
.wf-toolcall-icon--ok { color: var(--wf-color-success-text); }
|
|
4481
|
+
.wf-toolcall-icon--error { color: var(--wf-color-error-text); }
|
|
4334
4482
|
|
|
4335
4483
|
.wf-toolcall-name {
|
|
4336
4484
|
font-weight: var(--wf-font-weight-semibold);
|
|
@@ -4364,7 +4512,7 @@ code {
|
|
|
4364
4512
|
}
|
|
4365
4513
|
|
|
4366
4514
|
.wf-toolcall-error {
|
|
4367
|
-
color: var(--wf-color-error);
|
|
4515
|
+
color: var(--wf-color-error-text);
|
|
4368
4516
|
font-size: var(--wf-font-size-xs);
|
|
4369
4517
|
margin-top: var(--wf-gap-xs);
|
|
4370
4518
|
}
|
|
@@ -4381,8 +4529,8 @@ code {
|
|
|
4381
4529
|
background: var(--wf-color-warning-bg);
|
|
4382
4530
|
}
|
|
4383
4531
|
|
|
4384
|
-
.wf-approval--approved { border-color: var(--wf-color-success); background: var(--wf-color-success-bg); }
|
|
4385
|
-
.wf-approval--rejected { border-color: var(--wf-color-error); background: var(--wf-color-error-bg); }
|
|
4532
|
+
.wf-approval--approved { border-color: var(--wf-color-success-text); background: var(--wf-color-success-bg); }
|
|
4533
|
+
.wf-approval--rejected { border-color: var(--wf-color-error-text); background: var(--wf-color-error-bg); }
|
|
4386
4534
|
.wf-approval--timeout { border-color: var(--wf-color-border); background: var(--wf-color-bg-tertiary); }
|
|
4387
4535
|
|
|
4388
4536
|
.wf-approval-header {
|
|
@@ -4390,11 +4538,11 @@ code {
|
|
|
4390
4538
|
align-items: center;
|
|
4391
4539
|
gap: var(--wf-gap-xs);
|
|
4392
4540
|
font-weight: var(--wf-font-weight-semibold);
|
|
4393
|
-
color: var(--wf-color-warning);
|
|
4541
|
+
color: var(--wf-color-warning-text);
|
|
4394
4542
|
}
|
|
4395
4543
|
|
|
4396
|
-
.wf-approval--approved .wf-approval-header { color: var(--wf-color-success); }
|
|
4397
|
-
.wf-approval--rejected .wf-approval-header { color: var(--wf-color-error); }
|
|
4544
|
+
.wf-approval--approved .wf-approval-header { color: var(--wf-color-success-text); }
|
|
4545
|
+
.wf-approval--rejected .wf-approval-header { color: var(--wf-color-error-text); }
|
|
4398
4546
|
.wf-approval--timeout .wf-approval-header { color: var(--wf-color-text-secondary); }
|
|
4399
4547
|
|
|
4400
4548
|
.wf-approval-detail {
|
|
@@ -4506,7 +4654,7 @@ code {
|
|
|
4506
4654
|
|
|
4507
4655
|
.wf-aichat-bubble--user {
|
|
4508
4656
|
background: var(--wf-color-primary);
|
|
4509
|
-
color:
|
|
4657
|
+
color: var(--wf-color-on-brand);
|
|
4510
4658
|
}
|
|
4511
4659
|
|
|
4512
4660
|
.wf-aichat-bubble--assistant {
|
|
@@ -4516,7 +4664,7 @@ code {
|
|
|
4516
4664
|
|
|
4517
4665
|
.wf-aichat-status {
|
|
4518
4666
|
font-size: var(--wf-font-size-xs, 12px);
|
|
4519
|
-
color: var(--wf-color-info);
|
|
4667
|
+
color: var(--wf-color-info-text);
|
|
4520
4668
|
}
|
|
4521
4669
|
|
|
4522
4670
|
.wf-aichat-usage {
|
|
@@ -4526,7 +4674,7 @@ code {
|
|
|
4526
4674
|
|
|
4527
4675
|
.wf-aichat-error {
|
|
4528
4676
|
font-size: var(--wf-font-size-xs, 12px);
|
|
4529
|
-
color: var(--wf-color-error);
|
|
4677
|
+
color: var(--wf-color-error-text);
|
|
4530
4678
|
background: var(--wf-color-error-bg);
|
|
4531
4679
|
border-radius: var(--wf-radius);
|
|
4532
4680
|
padding: var(--wf-space-sm, 8px);
|