@easyv/theme-variables-dzw-light 0.0.0-stage → 0.2.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.
Files changed (3) hide show
  1. package/dist/index.css +519 -0
  2. package/package.json +20 -3
  3. package/README.md +0 -3
package/dist/index.css ADDED
@@ -0,0 +1,519 @@
1
+ [data-ui-theme='dzw-light'] {
2
+ /* Reference · primary scale。深科技蓝:6 是主色,5 和 3 依次加深,1、2 只给禁用 */
3
+ --ui-ref-primary-1: #e8eefb;
4
+ --ui-ref-primary-2: #c5d4f6;
5
+ --ui-ref-primary-3: #12348f; /* 按下 */
6
+ --ui-ref-primary-5: #163eb0; /* 悬停 */
7
+ --ui-ref-primary-6: #1b4fdb; /* 主色 */
8
+ --ui-ref-primary-7: #4d78e6; /* 比主色浅,用于描边和强调 */
9
+ --ui-ref-primary-8: rgb(27 79 219 / 12%);
10
+
11
+ /* Reference · success scale */
12
+ --ui-ref-success-1: rgb(39 195 70 / 8%);
13
+ --ui-ref-success-2: rgb(39 195 70 / 16%);
14
+ --ui-ref-success-3: #1a8a5f; /* 激活态:比5更深 */
15
+ --ui-ref-success-5: #249866; /* 中等 */
16
+ --ui-ref-success-6: #23b16f; /* 主色 */
17
+ --ui-ref-success-7: #3dc482; /* 高饱和 */
18
+ --ui-ref-success-8: rgb(39 195 70 / 12%);
19
+
20
+ /* Reference · info scale。信息色跟主色同一套蓝,避免页面上出现两种蓝 */
21
+ --ui-ref-info-1: rgb(27 79 219 / 8%);
22
+ --ui-ref-info-2: rgb(27 79 219 / 16%);
23
+ --ui-ref-info-3: #12348f;
24
+ --ui-ref-info-5: #163eb0;
25
+ --ui-ref-info-6: #1b4fdb;
26
+ --ui-ref-info-7: #4d78e6;
27
+ --ui-ref-info-8: rgb(27 79 219 / 12%);
28
+
29
+ /* Reference · warning scale */
30
+ --ui-ref-warning-1: rgb(245 158 65 / 8%);
31
+ --ui-ref-warning-2: rgb(245 158 65 / 16%);
32
+ --ui-ref-warning-3: #c67a1e; /* 激活态:比5更深 */
33
+ --ui-ref-warning-5: #f29032; /* 中等 */
34
+ --ui-ref-warning-6: #f59e41; /* 主色 */
35
+ --ui-ref-warning-7: #faad52; /* 高饱和 */
36
+ --ui-ref-warning-8: rgb(245 158 65 / 12%);
37
+
38
+ /* Reference · danger scale */
39
+ --ui-ref-danger-1: rgb(230 100 95 / 8%);
40
+ --ui-ref-danger-2: rgb(230 100 95 / 16%);
41
+ --ui-ref-danger-3: #c93b38; /* 激活态:比5更深 */
42
+ --ui-ref-danger-5: #e04848; /* 中等 */
43
+ --ui-ref-danger-6: #e6645f; /* 主色 */
44
+ --ui-ref-danger-7: #ee7670; /* 高饱和 */
45
+ --ui-ref-danger-8: rgb(230 100 95 / 12%);
46
+
47
+ /* Reference · text scale (浅色模式:深色文字) */
48
+ --ui-ref-text-1: #1a1d23; /* 强调 | 正文标题 */
49
+ --ui-ref-text-2: #4a4e55; /* 次强调 | 正文标题 */
50
+ --ui-ref-text-3: #757881; /* 辅助文本 | 引用 | 说明描述 */
51
+ --ui-ref-text-4: #9ca3af; /* 置灰信息 | 引导性文本 */
52
+ --ui-ref-text-5: #b4b7c1; /* 置灰信息 | 装饰性文本 */
53
+ --ui-ref-text-6: #ffffff; /* 纯白文字(用于深色背景) */
54
+ --ui-ref-text-7: rgb(0 0 0 / 26%); /* 禁用文字 */
55
+
56
+ /* Reference · background scale (浅色模式:明亮背景) */
57
+ --ui-ref-bg-1: #f8f9fa; /* 整体背景色 */
58
+ --ui-ref-bg-2: #ffffff; /* 一级容器背景 */
59
+ --ui-ref-bg-3: #fafbfc; /* 二级容器背景 */
60
+ --ui-ref-bg-4: #ffffff; /* 三级容器背景 | 下拉弹出框 */
61
+ --ui-ref-bg-5: #3d404c; /* Tooltip 背景(保持深色) */
62
+ --ui-ref-bg-6: #ffffff; /* 白色背景 */
63
+
64
+ /* Reference · fill scale (浅色模式:深色 fill) */
65
+ --ui-ref-fill-0: rgb(0 0 0 / 2%); /* 无背景色 悬浮 */
66
+ --ui-ref-fill-1: rgb(0 0 0 / 4%); /* 常规 | 禁用 */
67
+ --ui-ref-fill-2: rgb(0 0 0 / 6%); /* 悬浮 */
68
+ --ui-ref-fill-3: rgb(0 0 0 / 8%); /* 点击 */
69
+ --ui-ref-fill-4: rgb(0 0 0 / 12%); /* 重 | 特殊场景 */
70
+ --ui-ref-fill-5: #1a1d23; /* 强调 | 图标 | 特殊场景 */
71
+ --ui-ref-fill-muted: #eceef2; /* 实色浅灰(头像等,不用透明度) */
72
+
73
+ /* Reference · border scale (浅色模式:深色 border) */
74
+ --ui-ref-border-1: rgb(0 0 0 / 6%); /* 浅色 */
75
+ --ui-ref-border-2: rgb(0 0 0 / 10%); /* 一般 */
76
+ --ui-ref-border-3: rgb(0 0 0 / 14%); /* 深 | 悬浮 */
77
+ --ui-ref-border-4: rgb(0 0 0 / 18%); /* 重 | 按钮描边 */
78
+
79
+ --ui-color-surface-page: var(--ui-ref-bg-1);
80
+ --ui-color-surface-control: var(--ui-ref-bg-2);
81
+ --ui-color-surface-control-hover: var(--ui-ref-primary-8);
82
+ --ui-color-surface-elevated: var(--ui-ref-bg-3);
83
+ --ui-color-surface-floating: var(--ui-ref-bg-4);
84
+ --ui-color-surface-inverse: var(--ui-ref-bg-5);
85
+ --ui-color-text-primary: var(--ui-ref-text-1);
86
+ --ui-color-text-secondary: var(--ui-ref-text-2);
87
+ --ui-color-text-tertiary: var(--ui-ref-text-3);
88
+ --ui-color-text-action: var(--ui-ref-primary-6);
89
+ --ui-color-text-placeholder: var(--ui-ref-text-4);
90
+ --ui-color-action-primary: var(--ui-ref-primary-6);
91
+ --ui-color-action-primary-hover: var(--ui-ref-primary-5);
92
+ --ui-color-action-primary-active: var(--ui-ref-primary-7);
93
+ --ui-color-action-primary-disabled: var(--ui-ref-primary-2);
94
+ --ui-color-action-primary-disabled-border: var(--ui-ref-primary-1);
95
+ --ui-color-on-action-primary: var(--ui-ref-text-6);
96
+ --ui-color-on-action-primary-disabled: var(--ui-ref-text-7);
97
+ --ui-color-fill-subtle: var(--ui-ref-fill-0);
98
+ --ui-color-fill-default: var(--ui-ref-fill-1);
99
+ --ui-color-fill-hover: var(--ui-ref-fill-2);
100
+ --ui-color-fill-active: var(--ui-ref-fill-3);
101
+ --ui-color-fill-strong: var(--ui-ref-fill-4);
102
+ --ui-color-fill-emphasis: var(--ui-ref-fill-5);
103
+ --ui-color-fill-upload-default: var(--ui-ref-fill-0);
104
+ --ui-color-fill-upload-hover: var(--ui-ref-fill-1);
105
+ --ui-color-border-subtle: var(--ui-ref-border-1);
106
+ --ui-color-border-default: var(--ui-ref-border-2);
107
+ --ui-color-border-emphasis: var(--ui-ref-border-3);
108
+ --ui-color-border-strong: var(--ui-ref-border-4);
109
+ --ui-color-border-control: var(--ui-ref-border-2);
110
+ --ui-color-border-control-hover: var(--ui-ref-border-3);
111
+ --ui-color-success: var(--ui-ref-success-6);
112
+ --ui-color-success-emphasis: var(--ui-ref-success-5);
113
+ --ui-color-success-muted: var(--ui-ref-success-7);
114
+ --ui-color-success-subtle: var(--ui-ref-success-8);
115
+ --ui-color-info: var(--ui-ref-info-6);
116
+ --ui-color-info-emphasis: var(--ui-ref-info-5);
117
+ --ui-color-info-muted: var(--ui-ref-info-7);
118
+ --ui-color-info-subtle: var(--ui-ref-info-8);
119
+ --ui-color-warning: var(--ui-ref-warning-6);
120
+ --ui-color-warning-emphasis: var(--ui-ref-warning-5);
121
+ --ui-color-warning-muted: var(--ui-ref-warning-7);
122
+ --ui-color-warning-subtle: var(--ui-ref-warning-8);
123
+ --ui-color-danger: var(--ui-ref-danger-6);
124
+ --ui-color-danger-emphasis: var(--ui-ref-danger-5);
125
+ --ui-color-danger-muted: var(--ui-ref-danger-7);
126
+ --ui-color-danger-subtle: var(--ui-ref-danger-8);
127
+ --ui-color-on-danger: #ffffff;
128
+ --ui-color-focus-ring: var(--ui-ref-primary-8);
129
+ --ui-color-focus-ring-danger: var(--ui-ref-danger-8);
130
+ --ui-color-tooltip-bg: var(--ui-ref-bg-5);
131
+ --ui-color-on-tooltip: var(--ui-ref-text-6); /* tooltip 上的文字(白色) */
132
+ --ui-color-tooltip-text: var(--ui-color-on-tooltip); /* 向后兼容 */
133
+ --ui-color-selection: var(--ui-ref-primary-8);
134
+
135
+ /*
136
+ * Recipe · filled button(实色 · 浅色模式调整明暗)
137
+ * ─────────────────────────────────────────────────────────
138
+ * border fill-from fill-to
139
+ * default 7 6 5
140
+ * hover 6 5 5
141
+ * active 7 7 7
142
+ * disabled 3 2 1
143
+ * on: default=text-6 · disabled=text-7
144
+ */
145
+
146
+ /* Component · filled button · palette: primary */
147
+ --ui-button-primary-fill-from: var(--ui-ref-primary-6); /* 从主色开始 */
148
+ --ui-button-primary-fill-to: var(--ui-ref-primary-5); /* 到中等 */
149
+ --ui-button-primary-border: var(--ui-ref-primary-6);
150
+ --ui-button-primary-fill-from-hover: var(--ui-ref-primary-5);
151
+ --ui-button-primary-fill-to-hover: var(--ui-ref-primary-5);
152
+ --ui-button-primary-border-hover: var(--ui-ref-primary-5);
153
+ --ui-button-primary-fill-from-active: var(--ui-ref-primary-3);
154
+ --ui-button-primary-fill-to-active: var(--ui-ref-primary-3);
155
+ --ui-button-primary-border-active: var(--ui-ref-primary-3);
156
+ --ui-button-primary-fill-from-disabled: var(--ui-ref-primary-1); /* 浅 */
157
+ --ui-button-primary-fill-to-disabled: var(--ui-ref-primary-2); /* 深 */
158
+ --ui-button-primary-border-disabled: var(--ui-ref-primary-1); /* 浅于背景 */
159
+ --ui-button-primary-on: var(--ui-ref-text-6);
160
+ --ui-button-primary-on-disabled: var(--ui-ref-text-7);
161
+ --ui-button-secondary-on: var(--ui-ref-text-2);
162
+ --ui-button-ghost-on: var(--ui-ref-text-2);
163
+ --ui-button-danger-on: var(--ui-ref-text-6);
164
+ --ui-button-on-disabled: var(--ui-ref-text-7);
165
+
166
+ /* Component · filled button · palette: danger */
167
+ --ui-button-danger-fill-from: var(--ui-ref-danger-6);
168
+ --ui-button-danger-fill-to: var(--ui-ref-danger-5);
169
+ --ui-button-danger-border: var(--ui-ref-danger-6);
170
+ --ui-button-danger-fill-from-hover: var(--ui-ref-danger-5);
171
+ --ui-button-danger-fill-to-hover: var(--ui-ref-danger-5);
172
+ --ui-button-danger-border-hover: var(--ui-ref-danger-5);
173
+ --ui-button-danger-fill-from-active: var(--ui-ref-danger-3);
174
+ --ui-button-danger-fill-to-active: var(--ui-ref-danger-3);
175
+ --ui-button-danger-border-active: var(--ui-ref-danger-3);
176
+ --ui-button-danger-fill-from-disabled: var(--ui-ref-danger-1); /* 浅 */
177
+ --ui-button-danger-fill-to-disabled: var(--ui-ref-danger-2); /* 深 */
178
+ --ui-button-danger-border-disabled: var(--ui-ref-danger-1); /* 浅于背景 */
179
+ --ui-button-danger-on-disabled: var(--ui-ref-text-7);
180
+ --ui-button-danger-shadow: 0 1px 2px rgb(0 0 0 / 8%);
181
+ /* 危险按钮同样纯色,避免和主按钮一个渐变一个平涂 */
182
+ --ui-button-danger-bg: var(--ui-ref-danger-6);
183
+ --ui-button-danger-bg-hover: var(--ui-ref-danger-5);
184
+ --ui-button-danger-bg-active: var(--ui-ref-danger-3);
185
+ --ui-button-danger-bg-disabled: var(--ui-ref-danger-2);
186
+ --ui-button-disabled-opacity: 1;
187
+ --ui-button-primary-shadow: 0 1px 2px rgb(0 0 0 / 8%);
188
+ /* 主按钮是纯色。悬停和按下只加深,不走渐变 */
189
+ --ui-button-primary-bg: var(--ui-ref-primary-6);
190
+ --ui-button-primary-bg-hover: var(--ui-ref-primary-5);
191
+ --ui-button-primary-bg-active: var(--ui-ref-primary-3);
192
+ --ui-button-primary-bg-disabled: var(--ui-ref-primary-2);
193
+
194
+ /* Component · secondary button (Recipe · secondary) */
195
+ --ui-button-secondary-bg: var(--ui-ref-fill-0);
196
+ --ui-button-secondary-border: var(--ui-ref-border-2);
197
+ --ui-button-secondary-bg-hover: var(--ui-ref-fill-1);
198
+ --ui-button-secondary-border-hover: var(--ui-ref-border-3);
199
+ --ui-button-secondary-on-hover: var(--ui-ref-text-1);
200
+ --ui-button-secondary-bg-active: var(--ui-ref-fill-3);
201
+ --ui-button-secondary-border-active: var(--ui-ref-border-2);
202
+ --ui-button-secondary-bg-selected: var(--ui-ref-fill-1);
203
+ --ui-button-secondary-border-selected: var(--ui-ref-border-2);
204
+ --ui-button-secondary-on-selected: var(--ui-ref-text-1);
205
+ --ui-button-secondary-bg-disabled: var(--ui-ref-fill-1);
206
+ --ui-button-secondary-border-disabled: var(--ui-ref-border-1);
207
+ --ui-button-secondary-on-disabled: var(--ui-ref-text-7);
208
+ --ui-button-secondary-backdrop-filter: blur(12px);
209
+
210
+ /*
211
+ * Component · switch
212
+ * 关闭轨道用最浅的中性灰,避免文字色把轨道压得过深
213
+ */
214
+ --ui-switch-track: var(--ui-ref-text-5);
215
+ --ui-switch-track-hover: var(--ui-color-text-placeholder);
216
+ --ui-switch-track-disabled: color-mix(in srgb, var(--ui-ref-text-5) 42%, white);
217
+ --ui-switch-track-checked: var(--ui-color-action-primary);
218
+ --ui-switch-track-checked-hover: var(--ui-color-action-primary-hover);
219
+ --ui-switch-track-checked-disabled: var(--ui-color-action-primary-disabled);
220
+ --ui-switch-thumb-bg: var(--ui-color-on-action-primary);
221
+ --ui-switch-thumb-disabled: var(--ui-color-on-action-primary);
222
+ --ui-switch-thumb-shadow: 0 2px 4px rgb(0 0 0 / 6%);
223
+
224
+ /*
225
+ * Component · checkbox
226
+ * 与深色同一套语义:未选中性描边,选中主色,禁用选中走 primary-3。
227
+ */
228
+ --ui-checkbox-size: var(--ui-space-4);
229
+ --ui-checkbox-icon-size: var(--ui-font-size-body);
230
+ --ui-checkbox-radius: var(--ui-radius-2xs);
231
+ --ui-checkbox-border-width: 2px;
232
+ --ui-checkbox-gap: var(--ui-space-2);
233
+ --ui-checkbox-line-height: calc(var(--ui-font-size-control-sm) * var(--ui-line-height-body));
234
+ --ui-checkbox-bg: transparent;
235
+ --ui-checkbox-border: var(--ui-color-border-default);
236
+ --ui-checkbox-border-hover: var(--ui-color-action-primary);
237
+ --ui-checkbox-bg-checked: var(--ui-color-action-primary);
238
+ --ui-checkbox-bg-checked-hover: var(--ui-color-action-primary-hover);
239
+ --ui-checkbox-icon: var(--ui-color-on-action-primary);
240
+ --ui-checkbox-bg-disabled: var(--ui-color-fill-default);
241
+ --ui-checkbox-border-disabled: var(--ui-color-border-default);
242
+ --ui-checkbox-bg-checked-disabled: var(--ui-color-action-primary-disabled);
243
+ --ui-checkbox-icon-disabled: var(--ui-color-on-action-primary);
244
+ --ui-checkbox-label: var(--ui-color-text-secondary);
245
+ --ui-checkbox-label-disabled: var(--ui-color-text-placeholder);
246
+
247
+ /*
248
+ * Component · table
249
+ * 表头用常规填充,选中行用选择色,避免在白底上另起一套蓝色
250
+ */
251
+ --ui-table-bg: var(--ui-color-surface-control);
252
+ --ui-table-header-bg: var(--ui-color-fill-default);
253
+ --ui-table-header-fg: var(--ui-color-text-tertiary);
254
+ --ui-table-cell-fg: var(--ui-color-text-primary);
255
+ --ui-table-caption-fg: var(--ui-color-text-tertiary);
256
+ --ui-table-border: var(--ui-color-border-subtle);
257
+ --ui-table-row-hover-bg: var(--ui-color-fill-hover);
258
+ --ui-table-row-selected-bg: var(--ui-color-selection);
259
+ --ui-table-sort-fg: color-mix(in srgb, var(--ui-color-text-primary) 40%, transparent);
260
+ --ui-table-sort-fg-active: var(--ui-color-text-primary);
261
+
262
+ /*
263
+ * Component · radio-group · appearance=outlined
264
+ * default=secondary · checked=primary tint + primary on
265
+ */
266
+ --ui-radio-group-outlined-bg-checked: var(--ui-ref-info-1);
267
+ --ui-radio-group-outlined-border-checked: color-mix(in srgb, var(--ui-ref-primary-6) 24%, transparent);
268
+ --ui-radio-group-outlined-on-checked: var(--ui-ref-primary-6);
269
+ /* hover/active:描边只抬透明度,保持软描边语汇,避免跳到实色 primary-7 */
270
+ --ui-radio-group-outlined-bg-checked-hover: var(--ui-ref-primary-8);
271
+ --ui-radio-group-outlined-border-checked-hover: color-mix(in srgb, var(--ui-ref-primary-6) 40%, transparent);
272
+ --ui-radio-group-outlined-on-checked-hover: var(--ui-ref-primary-6);
273
+ --ui-radio-group-outlined-bg-checked-active: var(--ui-ref-primary-8);
274
+ --ui-radio-group-outlined-border-checked-active: color-mix(in srgb, var(--ui-ref-primary-6) 32%, transparent);
275
+ --ui-radio-group-outlined-border-checked-focus: color-mix(in srgb, var(--ui-ref-primary-6) 40%, transparent);
276
+ --ui-radio-group-outlined-bg-checked-focus: var(--ui-ref-info-1);
277
+ --ui-radio-group-outlined-focus-ring: var(--ui-ref-primary-8);
278
+ --ui-radio-group-outlined-focus-shadow: 0 0 0 2px var(--ui-ref-primary-8);
279
+ --ui-radio-group-outlined-bg-checked-disabled: var(--ui-ref-fill-1);
280
+ --ui-radio-group-outlined-border-checked-disabled: var(--ui-ref-border-1);
281
+ --ui-radio-group-outlined-on-checked-disabled: var(--ui-ref-text-7);
282
+
283
+ /* Component · radio-group · appearance=filled — checked reuses primary button tokens */
284
+ --ui-radio-group-filled-focus-ring: var(--ui-ref-primary-8);
285
+ --ui-radio-group-filled-focus-shadow: 0 0 0 2px var(--ui-ref-primary-8);
286
+
287
+ /*
288
+ * Component · radio-group · appearance=segmented
289
+ * track + ghost unchecked only; checked reuses filled / primary button tokens
290
+ */
291
+ --ui-radio-group-segmented-track-bg: var(--ui-ref-fill-0);
292
+ --ui-radio-group-segmented-track-border: var(--ui-ref-border-1);
293
+ --ui-radio-group-segmented-track-radius: 12px;
294
+ --ui-radio-group-segmented-track-padding: var(--ui-space-1);
295
+ --ui-radio-group-segmented-gap: 0;
296
+ --ui-radio-group-segmented-on: var(--ui-ref-text-2);
297
+ --ui-radio-group-segmented-on-hover: var(--ui-ref-text-1);
298
+ --ui-radio-group-segmented-focus-ring: var(--ui-ref-primary-8);
299
+ --ui-radio-group-segmented-focus-shadow: 0 0 0 2px var(--ui-ref-primary-8);
300
+
301
+ --ui-radio-group-icon-size-xs: 12px;
302
+ --ui-radio-group-icon-size-mini: 14px;
303
+ --ui-radio-group-icon-size-sm: 14px;
304
+ --ui-radio-group-icon-size-lg: 16px;
305
+
306
+ --ui-button-ghost-bg-hover: var(--ui-ref-fill-0);
307
+ --ui-button-ghost-on-hover: var(--ui-ref-text-1);
308
+ --ui-button-ghost-bg-active: var(--ui-ref-fill-2);
309
+ --ui-button-ghost-on-active: var(--ui-ref-text-1);
310
+
311
+ /*
312
+ * Recipe · control(Input / Select trigger · 浅色模式)
313
+ * palette: primary | danger — hover/focus 共用序号配方
314
+ * ─────────────────────────────────────────────────────────
315
+ * bg border on / placeholder / affix-leading
316
+ * default fill-0 border-2 / *-6 text-2 / text-4 / text-2
317
+ * hover fill-1 *-6 text-1
318
+ * focus fill-1 *-6 text-1 + *-8 shadow 2px
319
+ * open fill-1 *-6 + *-8 shadow text-1 (trigger · 面板展开)
320
+ * disabled fill-1 border-1 text-7
321
+ */
322
+ --ui-control-bg: var(--ui-ref-fill-0);
323
+ --ui-control-border: var(--ui-ref-border-2);
324
+ --ui-control-on: var(--ui-ref-text-2);
325
+ --ui-control-placeholder: var(--ui-ref-text-4);
326
+ --ui-control-bg-hover: var(--ui-ref-fill-1);
327
+ --ui-control-border-hover: var(--ui-ref-primary-6);
328
+ --ui-control-on-hover: var(--ui-ref-text-1);
329
+ --ui-control-bg-open: var(--ui-ref-fill-1);
330
+ --ui-control-border-open: var(--ui-ref-primary-6);
331
+ --ui-control-bg-focus: var(--ui-ref-fill-1);
332
+ --ui-control-border-focus: var(--ui-ref-primary-6);
333
+ --ui-control-on-focus: var(--ui-ref-text-1);
334
+ --ui-control-bg-disabled: var(--ui-ref-fill-1);
335
+ --ui-control-border-disabled: var(--ui-ref-border-1);
336
+ --ui-control-on-disabled: var(--ui-ref-text-7);
337
+ --ui-control-border-invalid: var(--ui-ref-danger-6);
338
+ --ui-control-border-invalid-hover: var(--ui-ref-danger-5);
339
+ --ui-control-border-invalid-focus: var(--ui-ref-danger-6);
340
+ --ui-control-focus-ring: var(--ui-ref-primary-8);
341
+ --ui-control-focus-ring-width: 2px;
342
+ --ui-control-focus-shadow: 0 0 0 2px var(--ui-ref-primary-8);
343
+ --ui-control-focus-ring-invalid: var(--ui-ref-danger-8);
344
+ --ui-control-focus-shadow-invalid: 0 0 0 2px var(--ui-ref-danger-8);
345
+ --ui-control-shadow: none;
346
+ --ui-control-disabled-opacity: 1;
347
+ --ui-control-affix-leading: var(--ui-ref-text-2);
348
+ --ui-control-affix-trailing: var(--ui-ref-text-5);
349
+ /* Input affix · 28px (sm) baseline: gap 8px, leading 14px, trailing 12px */
350
+ --ui-input-affix-gap-xs: 6px;
351
+ --ui-input-affix-gap-mini: 7px;
352
+ --ui-input-affix-gap-sm: 8px;
353
+ --ui-input-affix-gap-lg: 8px;
354
+ --ui-input-affix-leading-size-xs: 12px;
355
+ --ui-input-affix-leading-size-mini: 14px;
356
+ --ui-input-affix-leading-size-sm: 16px;
357
+ --ui-input-affix-leading-size-lg: 16px;
358
+ --ui-input-affix-trailing-size-xs: 10px;
359
+ --ui-input-affix-trailing-size-mini: 10px;
360
+ --ui-input-affix-trailing-size-sm: 12px;
361
+ --ui-input-affix-trailing-size-lg: 14px;
362
+ /* Select · chevron glyph scale (28px sm baseline: 12px) */
363
+ --ui-select-icon-size-xs: 10px;
364
+ --ui-select-icon-size-mini: 10px;
365
+ --ui-select-icon-size-sm: 14px;
366
+ --ui-select-icon-size-lg: 14px;
367
+ /* DatePicker / TimePicker · trigger 图标随字号:xs/mini/sm=12px,lg=14px */
368
+ --ui-datepicker-icon-size-xs: 12px;
369
+ --ui-datepicker-icon-size-mini: 12px;
370
+ --ui-datepicker-icon-size-sm: 14px;
371
+ --ui-datepicker-icon-size-lg: 14px;
372
+ --ui-timepicker-icon-size-xs: 12px;
373
+ --ui-timepicker-icon-size-mini: 12px;
374
+ --ui-timepicker-icon-size-sm: 14px;
375
+ --ui-timepicker-icon-size-lg: 14px;
376
+ --ui-floating-border: var(--ui-ref-border-2);
377
+
378
+ --ui-space-0-5: 2px;
379
+ --ui-space-1: 4px;
380
+ --ui-space-1-5: 6px;
381
+ --ui-space-2: 8px;
382
+ --ui-space-3: 12px;
383
+ --ui-space-4: 16px;
384
+ --ui-space-5: 20px;
385
+ --ui-space-6: 24px;
386
+ /* 页面块之间的默认间距。这套控件更高,间距跟着放宽 */
387
+ --ui-layout-gap: var(--ui-space-5);
388
+ /* 信息密度。卡片内边距、列表行和字段间距都读这三项 */
389
+ --ui-density-row-height: calc(var(--ui-control-height-sm) + var(--ui-space-3) * 2);
390
+ --ui-density-row-padding: var(--ui-space-5);
391
+ --ui-density-field-gap: var(--ui-space-4);
392
+
393
+ /* Radius scale · general purpose (tags, chips, etc.) */
394
+ --ui-radius-2xs: 4px;
395
+
396
+ /* Control scale · height and radius linked (Button / Select / Input) */
397
+ /* 默认控件是 32。整档比 28 的主题高一档:24 / 28 / 32 / 36 / 40 */
398
+ --ui-control-height-xs: 24px;
399
+ --ui-control-height-mini: 28px;
400
+ --ui-control-height-sm: 32px;
401
+ --ui-control-height-lg: 36px;
402
+ --ui-control-height-xl: 40px;
403
+
404
+ /* Button · icon-only glyph scale (outer frame uses control-height above) */
405
+ --ui-button-icon-size-icon-xs: 14px;
406
+ --ui-button-icon-size-icon-mini: 14px;
407
+ --ui-button-icon-size-icon-sm: 16px;
408
+ --ui-button-icon-size-icon-lg: 16px;
409
+
410
+ --ui-radius-control-xs: 6px;
411
+ --ui-radius-control-mini: 6px;
412
+ --ui-radius-control-sm: 8px;
413
+ --ui-radius-control-lg: 8px;
414
+ --ui-radius-control: var(--ui-radius-control-sm);
415
+
416
+ --ui-radius-menu: 8px;
417
+ /* 浮层容器比控件更圆一档 */
418
+ --ui-radius-floating: 12px;
419
+ --ui-radius-tooltip: var(--ui-radius-2xs);
420
+ --ui-tooltip-height: var(--ui-space-6);
421
+ --ui-tooltip-line-height: var(--ui-space-5);
422
+ --ui-tooltip-padding-block: var(--ui-space-0-5);
423
+ --ui-tooltip-padding-inline: var(--ui-space-1-5);
424
+ --ui-shadow-control: 0 1px 2px rgb(0 0 0 / 6%);
425
+ --ui-shadow-floating: 0 8px 24px rgb(0 0 0 / 10%), 0 2px 6px rgb(0 0 0 / 6%);
426
+ --ui-opacity-disabled: 0.48;
427
+ --ui-z-index-dropdown: 900;
428
+ --ui-z-index-tooltip: 1000;
429
+ --ui-z-index-toast: 1100;
430
+
431
+ /* Reference · typography scale */
432
+ --ui-ref-font-family-sans: 'PingFang SC', ui-sans-serif, system-ui, sans-serif;
433
+ --ui-ref-font-size-h1: 38px;
434
+ --ui-ref-font-size-h2: 30px;
435
+ --ui-ref-font-size-h3: 24px;
436
+ --ui-ref-font-size-h4: 20px;
437
+ --ui-ref-font-size-h5: 16px;
438
+ --ui-ref-font-size-body-small: 14px;
439
+ --ui-ref-font-size-body-mini: 12px;
440
+ --ui-ref-font-weight-regular: 400;
441
+ --ui-ref-font-weight-medium: 500;
442
+
443
+ --ui-font-family-sans: var(--ui-ref-font-family-sans);
444
+ --ui-font-size-h1: var(--ui-ref-font-size-h1);
445
+ /* 账本条里最强调的数字。舒适档用 38;紧凑主题把这一项改成 h3 */
446
+ --ui-font-size-display: var(--ui-ref-font-size-h1);
447
+ --ui-font-size-h2: var(--ui-ref-font-size-h2);
448
+ --ui-font-size-h3: var(--ui-ref-font-size-h3);
449
+ --ui-font-size-h4: var(--ui-ref-font-size-h4);
450
+ --ui-font-size-h5: var(--ui-ref-font-size-h5);
451
+ /* 正文和默认控件都是 14。更小的档和说明文字保持 12,大一号控件用 16 */
452
+ --ui-font-size-body: var(--ui-ref-font-size-body-small);
453
+ --ui-font-size-body-mini: var(--ui-ref-font-size-body-mini);
454
+ --ui-font-size-control-xs: var(--ui-ref-font-size-body-mini);
455
+ --ui-font-size-control-mini: var(--ui-ref-font-size-body-mini);
456
+ --ui-font-size-control-sm: var(--ui-ref-font-size-body-small);
457
+ --ui-font-size-control-lg: var(--ui-ref-font-size-h5);
458
+ --ui-font-size-caption: var(--ui-ref-font-size-body-mini);
459
+ --ui-font-size-tooltip: var(--ui-ref-font-size-body-mini);
460
+ --ui-font-weight-regular: var(--ui-ref-font-weight-regular);
461
+ --ui-font-weight-medium: var(--ui-ref-font-weight-medium);
462
+ --ui-font-weight-control: var(--ui-ref-font-weight-regular);
463
+ --ui-line-height-body: 1.5;
464
+
465
+ --ui-duration-fast: 120ms;
466
+ --ui-duration-normal: 180ms;
467
+ --ui-easing-standard: cubic-bezier(0.2, 0, 0, 1);
468
+ --ui-easing-emphasized: cubic-bezier(0.2, 0.8, 0.2, 1);
469
+ --ui-tooltip-enter-y: 4px;
470
+
471
+ /* Avatar:实色浅灰底(不用带透明度的 fill),叠层描边跟页面灰底 */
472
+ --ui-avatar-bg: var(--ui-ref-fill-muted);
473
+ --ui-avatar-fg: var(--ui-color-text-tertiary);
474
+ --ui-avatar-border: var(--ui-color-border-default);
475
+ --ui-avatar-ring: var(--ui-color-surface-page);
476
+ --ui-avatar-badge-ring: var(--ui-color-surface-page);
477
+ /* 尺寸档:sm 对齐大一号控件,lg 再大一档 */
478
+ --ui-avatar-size-xs: var(--ui-control-height-xs);
479
+ --ui-avatar-size-mini: var(--ui-control-height-mini);
480
+ --ui-avatar-size-sm: var(--ui-control-height-lg);
481
+ --ui-avatar-size-lg: 44px;
482
+ /* 占位图标相对头像直径的比例 */
483
+ --ui-avatar-icon-size:50%;
484
+
485
+ /* 导航项比默认按钮(32)高一档 */
486
+ --ui-sidebar-item-height: var(--ui-control-height-lg);
487
+ /* 导航的松紧:项与项之间、内容区上下 / 左右边距、顶部和底部栏高度 */
488
+ --ui-sidebar-item-gap: var(--ui-space-1);
489
+ --ui-sidebar-padding-block: var(--ui-space-2);
490
+ --ui-sidebar-padding-inline: var(--ui-space-3);
491
+ --ui-sidebar-header-height: 64px;
492
+ --ui-menu-icon-size: var(--ui-space-4);
493
+ --ui-menu-trailing-icon-size: var(--ui-space-3);
494
+
495
+ /* Sidebar:白底容器,边框比深色主题更清楚,选中仍用主色浅底 */
496
+ --ui-sidebar-bg: var(--ui-color-surface-control);
497
+ --ui-sidebar-fg: var(--ui-color-text-secondary);
498
+ --ui-sidebar-border: var(--ui-color-border-default);
499
+ --ui-sidebar-header-fg: var(--ui-color-text-primary);
500
+ --ui-sidebar-group-fg: var(--ui-color-text-tertiary);
501
+ --ui-sidebar-item-fg: var(--ui-color-text-secondary);
502
+ --ui-sidebar-item-fg-hover: var(--ui-color-text-primary);
503
+ --ui-sidebar-item-fg-active: var(--ui-color-text-primary);
504
+ --ui-sidebar-item-bg-hover: var(--ui-color-fill-hover);
505
+ --ui-sidebar-item-bg-active: var(--ui-color-selection);
506
+ --ui-sidebar-item-indicator: var(--ui-color-action-primary);
507
+
508
+ /* Field:标签用次强调深灰,错误用危险色 */
509
+ --ui-field-label-fg: var(--ui-color-text-primary);
510
+ --ui-field-label-fg-invalid: var(--ui-color-danger);
511
+ --ui-field-description-fg: var(--ui-color-text-tertiary);
512
+ --ui-field-error-fg: var(--ui-color-danger);
513
+ --ui-field-legend-fg: var(--ui-color-text-primary);
514
+ --ui-field-separator: var(--ui-color-border-default);
515
+ --ui-field-choice-bg: var(--ui-color-surface-control);
516
+ --ui-field-choice-bg-hover: var(--ui-color-fill-subtle);
517
+ --ui-field-choice-border: var(--ui-color-border-default);
518
+ --ui-field-choice-border-hover: var(--ui-color-border-emphasis);
519
+ }
package/package.json CHANGED
@@ -1,6 +1,23 @@
1
1
  {
2
2
  "name": "@easyv/theme-variables-dzw-light",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "0.2.0",
4
+ "description": "DZW Light theme tokens",
5
+ "sideEffects": [
6
+ "*.css",
7
+ "dist/*.css"
8
+ ],
9
+ "style": "./dist/index.css",
10
+ "exports": {
11
+ ".": "./dist/index.css",
12
+ "./index.css": "./dist/index.css"
13
+ },
14
+ "files": [
15
+ "dist"
16
+ ],
17
+ "publishConfig": {
18
+ "access": "public"
19
+ },
20
+ "scripts": {
21
+ "build": "mkdir -p dist && cp src/index.css dist/index.css"
22
+ }
6
23
  }
package/README.md DELETED
@@ -1,3 +0,0 @@
1
- # Temporary Holding Version
2
-
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.