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