@qilin-agent/client-ui-theme-brand 3.1.6 → 3.1.8
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.i18n.yaml +11 -8
- package/README.md +19 -7
- package/README.zh.md +19 -7
- package/lib/client.js +684 -19
- package/lib/index.js +930 -5
- package/lib/types/client/index.d.ts +6 -4
- package/lib/types/index.d.ts +11 -4
- package/lib/types/packs/blush.d.ts +18 -0
- package/lib/types/packs/mono.d.ts +17 -0
- package/lib/types/{client/tokens.d.ts → packs/qilin.d.ts} +8 -14
- package/lib/types/packs/verdant.d.ts +18 -0
- package/lib/types/skin.d.ts +44 -0
- package/package.json +5 -5
package/lib/index.js
CHANGED
|
@@ -1,9 +1,934 @@
|
|
|
1
|
+
//#region lib/types/packs/blush.js
|
|
2
|
+
/**
|
|
3
|
+
* The blush color pack: warm pink-paper surfaces with a deep rose accent in the
|
|
4
|
+
* light scheme, and a dim rose canvas with a pale pink accent in the dark one.
|
|
5
|
+
*
|
|
6
|
+
* The identity tint is 浅樱 (#e8a0b4); WCAG AA governs where text sits on it,
|
|
7
|
+
* so fills and links deepen to #b25b74 (white on it clears 4.9:1, and it clears
|
|
8
|
+
* 4.9:1 on the #fbf6f4 paper) while the pale tint stays for selection and
|
|
9
|
+
* decoration only. State colors, masks, and the ongoing blue stay with the base
|
|
10
|
+
* palettes, the same omission rule as every pack. Hover darkens the light accent
|
|
11
|
+
* and brightens the dark one, matching each platform's convention.
|
|
12
|
+
*/
|
|
13
|
+
/** Blush tokens over the platform palettes. Every value states both schemes. */
|
|
14
|
+
const BLUSH_TOKENS = Object.freeze({
|
|
15
|
+
"--qilin-alias-brand-primary": {
|
|
16
|
+
light: "#b25b74",
|
|
17
|
+
dark: "#f2bccb"
|
|
18
|
+
},
|
|
19
|
+
"--qilin-alias-button-primary-hover": {
|
|
20
|
+
light: "#9d4e66",
|
|
21
|
+
dark: "#ffd6e0"
|
|
22
|
+
},
|
|
23
|
+
"--qilin-alias-link": {
|
|
24
|
+
light: "#a04f66",
|
|
25
|
+
dark: "#f6cdd9"
|
|
26
|
+
},
|
|
27
|
+
"--qilin-alias-bg-base": {
|
|
28
|
+
light: "#fbf6f4",
|
|
29
|
+
dark: "#141010"
|
|
30
|
+
},
|
|
31
|
+
"--qilin-alias-bg-layer-1": {
|
|
32
|
+
light: "#fffdfc",
|
|
33
|
+
dark: "#1b1616"
|
|
34
|
+
},
|
|
35
|
+
"--qilin-alias-bg-layer-2": {
|
|
36
|
+
light: "#fdf8f6",
|
|
37
|
+
dark: "#221b1b"
|
|
38
|
+
},
|
|
39
|
+
"--qilin-alias-bg-layer-3": {
|
|
40
|
+
light: "#f8f1ef",
|
|
41
|
+
dark: "#291f1f"
|
|
42
|
+
},
|
|
43
|
+
"--qilin-alias-bg-overlay": {
|
|
44
|
+
light: "#f5e9e7",
|
|
45
|
+
dark: "#3a2a2e"
|
|
46
|
+
},
|
|
47
|
+
"--qilin-alias-bg-skeleton": {
|
|
48
|
+
light: "rgba(120, 60, 76, 0.06)",
|
|
49
|
+
dark: "rgba(242, 188, 203, 0.08)"
|
|
50
|
+
},
|
|
51
|
+
"--qilin-specific-sidebar-fill": {
|
|
52
|
+
light: "#f8f1ef",
|
|
53
|
+
dark: "#141010"
|
|
54
|
+
},
|
|
55
|
+
"--qilin-specific-sidebar-nav-item-hover": {
|
|
56
|
+
light: "#f4e8e6",
|
|
57
|
+
dark: "#241b1d"
|
|
58
|
+
},
|
|
59
|
+
"--qilin-specific-sidebar-nav-item-active": {
|
|
60
|
+
light: "#f0e0df",
|
|
61
|
+
dark: "#2e2024"
|
|
62
|
+
},
|
|
63
|
+
"--qilin-specific-sidebar-nav-item-active-accent": {
|
|
64
|
+
light: "#b25b74",
|
|
65
|
+
dark: "#f2bccb"
|
|
66
|
+
},
|
|
67
|
+
"--qilin-specific-bubble": {
|
|
68
|
+
light: "#fbeef0",
|
|
69
|
+
dark: "#241a1c"
|
|
70
|
+
},
|
|
71
|
+
"--qilin-specific-input-major": {
|
|
72
|
+
light: "#fffdfc",
|
|
73
|
+
dark: "#1c1617"
|
|
74
|
+
},
|
|
75
|
+
"--qilin-specific-selector": {
|
|
76
|
+
light: "#f9efee",
|
|
77
|
+
dark: "#2e2024"
|
|
78
|
+
},
|
|
79
|
+
"--qilin-specific-tip": {
|
|
80
|
+
light: "#f9efee",
|
|
81
|
+
dark: "#2e2024"
|
|
82
|
+
},
|
|
83
|
+
"--qilin-alias-toast-bg": {
|
|
84
|
+
light: "#2b1f23",
|
|
85
|
+
dark: "#2b2124"
|
|
86
|
+
},
|
|
87
|
+
"--qilin-alias-tooltip-bg": {
|
|
88
|
+
light: "#261b1f",
|
|
89
|
+
dark: "#2b2124"
|
|
90
|
+
},
|
|
91
|
+
"--qilin-alias-label-primary": {
|
|
92
|
+
light: "#23191c",
|
|
93
|
+
dark: "#f0e6e8"
|
|
94
|
+
},
|
|
95
|
+
"--qilin-alias-label-secondary": {
|
|
96
|
+
light: "#6d5b61",
|
|
97
|
+
dark: "#b9a6ac"
|
|
98
|
+
},
|
|
99
|
+
"--qilin-alias-label-tertiary": {
|
|
100
|
+
light: "#8c7a80",
|
|
101
|
+
dark: "#93838a"
|
|
102
|
+
},
|
|
103
|
+
"--qilin-alias-border-l1": {
|
|
104
|
+
light: "rgba(120, 60, 76, 0.08)",
|
|
105
|
+
dark: "rgba(242, 188, 203, 0.08)"
|
|
106
|
+
},
|
|
107
|
+
"--qilin-alias-border-l2": {
|
|
108
|
+
light: "rgba(120, 60, 76, 0.12)",
|
|
109
|
+
dark: "rgba(242, 188, 203, 0.14)"
|
|
110
|
+
},
|
|
111
|
+
"--qilin-alias-border-l3": {
|
|
112
|
+
light: "rgba(120, 60, 76, 0.16)",
|
|
113
|
+
dark: "rgba(242, 188, 203, 0.18)"
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
/** The blush pack as the appearance row consumes it. */
|
|
117
|
+
const BLUSH_PACK = Object.freeze({
|
|
118
|
+
id: "blush",
|
|
119
|
+
label: Object.freeze({
|
|
120
|
+
en: "Blush",
|
|
121
|
+
zh: "浅樱"
|
|
122
|
+
}),
|
|
123
|
+
boot: Object.freeze({
|
|
124
|
+
light: "#fbf6f4",
|
|
125
|
+
dark: "#141010"
|
|
126
|
+
}),
|
|
127
|
+
tokens: BLUSH_TOKENS
|
|
128
|
+
});
|
|
129
|
+
//#endregion
|
|
130
|
+
//#region lib/types/packs/qilin.js
|
|
131
|
+
/**
|
|
132
|
+
* The dark-gold color pack: the "玄金" landing VI extended to both schemes.
|
|
133
|
+
*
|
|
134
|
+
* The dark values transplant the landing page's tokens verbatim
|
|
135
|
+
* (apps/web/src/landing/landing.css); the light values derive the matching
|
|
136
|
+
* warm-paper variant because the landing VI ships no light mode. Accent
|
|
137
|
+
* contrast is WCAG AA verified: the deep link gold #7d6126 clears 5.3:1 on
|
|
138
|
+
* paper #f8f5ee where the VI's gold-700 #8f6f2e reaches only 4.3:1, and
|
|
139
|
+
* white on gold-700 (light primary buttons) holds 4.7:1.
|
|
140
|
+
*
|
|
141
|
+
* Omitted on purpose: state colors (error/success/warn/info), the ongoing
|
|
142
|
+
* blue state-business family (kept distinct from warn amber), masks, and
|
|
143
|
+
* tokens with no current component consumer. Hover follows each platform's
|
|
144
|
+
* convention: dark schemes brighten (landing CTA gold-500 -> gold-300),
|
|
145
|
+
* light schemes darken (gold-700 -> #7d6126).
|
|
146
|
+
*/
|
|
147
|
+
/** Dark-gold tokens over the platform palettes. Every value states both schemes. */
|
|
148
|
+
const QILIN_TOKENS = Object.freeze({
|
|
149
|
+
"--qilin-alias-brand-primary": {
|
|
150
|
+
light: "#8f6f2e",
|
|
151
|
+
dark: "#c9a24a"
|
|
152
|
+
},
|
|
153
|
+
"--qilin-alias-button-primary-hover": {
|
|
154
|
+
light: "#7d6126",
|
|
155
|
+
dark: "#f3dc9e"
|
|
156
|
+
},
|
|
157
|
+
"--qilin-alias-link": {
|
|
158
|
+
light: "#7d6126",
|
|
159
|
+
dark: "#f3dc9e"
|
|
160
|
+
},
|
|
161
|
+
"--qilin-alias-bg-base": {
|
|
162
|
+
light: "#f8f5ee",
|
|
163
|
+
dark: "#0d0b09"
|
|
164
|
+
},
|
|
165
|
+
"--qilin-alias-bg-layer-1": {
|
|
166
|
+
light: "#fdfbf5",
|
|
167
|
+
dark: "#16130f"
|
|
168
|
+
},
|
|
169
|
+
"--qilin-alias-bg-layer-2": {
|
|
170
|
+
light: "#fdfbf5",
|
|
171
|
+
dark: "#1d1915"
|
|
172
|
+
},
|
|
173
|
+
"--qilin-alias-bg-layer-3": {
|
|
174
|
+
light: "#fdfbf5",
|
|
175
|
+
dark: "#26211c"
|
|
176
|
+
},
|
|
177
|
+
"--qilin-alias-bg-overlay": {
|
|
178
|
+
light: "#e9e3d6",
|
|
179
|
+
dark: "#4f4939"
|
|
180
|
+
},
|
|
181
|
+
"--qilin-alias-bg-skeleton": {
|
|
182
|
+
light: "rgba(64, 52, 30, 0.06)",
|
|
183
|
+
dark: "rgba(239, 233, 223, 0.08)"
|
|
184
|
+
},
|
|
185
|
+
"--qilin-specific-sidebar-fill": {
|
|
186
|
+
light: "#f1ece0",
|
|
187
|
+
dark: "#0d0b09"
|
|
188
|
+
},
|
|
189
|
+
"--qilin-specific-sidebar-nav-item-hover": {
|
|
190
|
+
light: "#ede7d9",
|
|
191
|
+
dark: "#1a1611"
|
|
192
|
+
},
|
|
193
|
+
"--qilin-specific-sidebar-nav-item-active": {
|
|
194
|
+
light: "#e8e1d0",
|
|
195
|
+
dark: "#221d16"
|
|
196
|
+
},
|
|
197
|
+
"--qilin-specific-sidebar-nav-item-active-accent": {
|
|
198
|
+
light: "#8f6f2e",
|
|
199
|
+
dark: "#c9a24a"
|
|
200
|
+
},
|
|
201
|
+
"--qilin-specific-bubble": {
|
|
202
|
+
light: "#f3edde",
|
|
203
|
+
dark: "#221d17"
|
|
204
|
+
},
|
|
205
|
+
"--qilin-specific-input-major": {
|
|
206
|
+
light: "#fffdf8",
|
|
207
|
+
dark: "#211c16"
|
|
208
|
+
},
|
|
209
|
+
"--qilin-specific-selector": {
|
|
210
|
+
light: "#f4f0e6",
|
|
211
|
+
dark: "#26211c"
|
|
212
|
+
},
|
|
213
|
+
"--qilin-specific-tip": {
|
|
214
|
+
light: "#f4f0e6",
|
|
215
|
+
dark: "#26211c"
|
|
216
|
+
},
|
|
217
|
+
"--qilin-alias-toast-bg": {
|
|
218
|
+
light: "#2c261d",
|
|
219
|
+
dark: "#2b251d"
|
|
220
|
+
},
|
|
221
|
+
"--qilin-alias-tooltip-bg": {
|
|
222
|
+
light: "#241f17",
|
|
223
|
+
dark: "#2b251d"
|
|
224
|
+
},
|
|
225
|
+
"--qilin-alias-label-primary": {
|
|
226
|
+
light: "#221d15",
|
|
227
|
+
dark: "#efe9df"
|
|
228
|
+
},
|
|
229
|
+
"--qilin-alias-label-primary-dimmed": {
|
|
230
|
+
light: "#332c21",
|
|
231
|
+
dark: "#ded6c8"
|
|
232
|
+
},
|
|
233
|
+
"--qilin-alias-label-secondary": {
|
|
234
|
+
light: "#5f5749",
|
|
235
|
+
dark: "#a89f90"
|
|
236
|
+
},
|
|
237
|
+
"--qilin-alias-label-tertiary": {
|
|
238
|
+
light: "#857c6c",
|
|
239
|
+
dark: "#8a8172"
|
|
240
|
+
},
|
|
241
|
+
"--qilin-alias-label-caption": {
|
|
242
|
+
light: "#988e7c",
|
|
243
|
+
dark: "#75705f"
|
|
244
|
+
},
|
|
245
|
+
"--qilin-alias-label-dimmed": {
|
|
246
|
+
light: "#d3ccbc",
|
|
247
|
+
dark: "#4f4a3f"
|
|
248
|
+
},
|
|
249
|
+
"--qilin-alias-label-primary-inverted": {
|
|
250
|
+
light: "#fdfbf5",
|
|
251
|
+
dark: "#221d15"
|
|
252
|
+
},
|
|
253
|
+
"--qilin-alias-border-l1": {
|
|
254
|
+
light: "rgba(60, 48, 26, 0.07)",
|
|
255
|
+
dark: "rgba(239, 233, 223, 0.07)"
|
|
256
|
+
},
|
|
257
|
+
"--qilin-alias-border-l2": {
|
|
258
|
+
light: "rgba(60, 48, 26, 0.11)",
|
|
259
|
+
dark: "rgba(239, 233, 223, 0.12)"
|
|
260
|
+
},
|
|
261
|
+
"--qilin-alias-border-l2-darkmode-thin": {
|
|
262
|
+
light: "rgba(60, 48, 26, 0.11)",
|
|
263
|
+
dark: "rgba(239, 233, 223, 0.07)"
|
|
264
|
+
},
|
|
265
|
+
"--qilin-alias-border-l3": {
|
|
266
|
+
light: "rgba(60, 48, 26, 0.13)",
|
|
267
|
+
dark: "rgba(239, 233, 223, 0.16)"
|
|
268
|
+
},
|
|
269
|
+
"--qilin-alias-border-l4": {
|
|
270
|
+
light: "rgba(60, 48, 26, 0.17)",
|
|
271
|
+
dark: "rgba(239, 233, 223, 0.20)"
|
|
272
|
+
},
|
|
273
|
+
"--qilin-alias-border-inverted": {
|
|
274
|
+
light: "rgba(60, 48, 26, 0)",
|
|
275
|
+
dark: "rgba(239, 233, 223, 0.06)"
|
|
276
|
+
},
|
|
277
|
+
"--qilin-alias-border-inverted2": {
|
|
278
|
+
light: "rgba(60, 48, 26, 0)",
|
|
279
|
+
dark: "rgba(239, 233, 223, 0.08)"
|
|
280
|
+
},
|
|
281
|
+
"--qilin-alias-interactive-bg-hover": {
|
|
282
|
+
light: "rgba(101, 82, 40, 0.08)",
|
|
283
|
+
dark: "rgba(239, 233, 223, 0.08)"
|
|
284
|
+
},
|
|
285
|
+
"--qilin-alias-interactive-bg-active": {
|
|
286
|
+
light: "rgba(101, 82, 40, 0.13)",
|
|
287
|
+
dark: "rgba(239, 233, 223, 0.14)"
|
|
288
|
+
},
|
|
289
|
+
"--qilin-alias-interactive-bg-hover-accent": {
|
|
290
|
+
light: "rgba(101, 82, 40, 0.14)",
|
|
291
|
+
dark: "rgba(239, 233, 223, 0.24)"
|
|
292
|
+
},
|
|
293
|
+
"--qilin-alias-interactive-bg-hover-solid": {
|
|
294
|
+
light: "#f0ebdf",
|
|
295
|
+
dark: "#26211c"
|
|
296
|
+
},
|
|
297
|
+
"--qilin-alias-button-contrast-fill": {
|
|
298
|
+
light: "#5f5749",
|
|
299
|
+
dark: "#efe9df"
|
|
300
|
+
},
|
|
301
|
+
"--qilin-alias-button-elevated-fill": {
|
|
302
|
+
light: "#fffdf8",
|
|
303
|
+
dark: "#2b251c"
|
|
304
|
+
},
|
|
305
|
+
"--qilin-alias-button-floating-fill": {
|
|
306
|
+
light: "#fffdf8",
|
|
307
|
+
dark: "#211c16"
|
|
308
|
+
},
|
|
309
|
+
"--qilin-alias-button-floating-hover": {
|
|
310
|
+
light: "#f0ebdf",
|
|
311
|
+
dark: "#26211c"
|
|
312
|
+
},
|
|
313
|
+
"--qilin-alias-button-ghost-active-fill": {
|
|
314
|
+
light: "#f0ebdf",
|
|
315
|
+
dark: "#2b251c"
|
|
316
|
+
},
|
|
317
|
+
"--qilin-alias-button-ghost-active-hover": {
|
|
318
|
+
light: "#e9e3d4",
|
|
319
|
+
dark: "#332c22"
|
|
320
|
+
},
|
|
321
|
+
"--qilin-alias-button-ghost-active-border": {
|
|
322
|
+
light: "#9a9080",
|
|
323
|
+
dark: "#77705f"
|
|
324
|
+
},
|
|
325
|
+
"--qilin-alias-button-tool-bar-fill": {
|
|
326
|
+
light: "rgba(96, 88, 70, 0.5)",
|
|
327
|
+
dark: "rgba(140, 128, 100, 0.4)"
|
|
328
|
+
},
|
|
329
|
+
"--qilin-alias-button-tool-bar-hover": {
|
|
330
|
+
light: "rgba(96, 88, 70, 0.6)",
|
|
331
|
+
dark: "rgba(140, 128, 100, 0.5)"
|
|
332
|
+
},
|
|
333
|
+
"--qilin-alias-button-tool-bar-fill-invisible": {
|
|
334
|
+
light: "rgba(60, 48, 26, 0.36)",
|
|
335
|
+
dark: "rgba(45, 40, 31, 0.36)"
|
|
336
|
+
},
|
|
337
|
+
"--qilin-alias-markdown-code-block": {
|
|
338
|
+
light: "#f4efe3",
|
|
339
|
+
dark: "#191511"
|
|
340
|
+
},
|
|
341
|
+
"--qilin-alias-markdown-code-block-banner": {
|
|
342
|
+
light: "#efe9da",
|
|
343
|
+
dark: "#211c16"
|
|
344
|
+
},
|
|
345
|
+
"--qilin-alias-markdown-inline-code": {
|
|
346
|
+
light: "#f3eee0",
|
|
347
|
+
dark: "#221d17"
|
|
348
|
+
},
|
|
349
|
+
"--qilin-alias-markdown-citation": {
|
|
350
|
+
light: "#efe9db",
|
|
351
|
+
dark: "#221d17"
|
|
352
|
+
},
|
|
353
|
+
"--qilin-alias-markdown-tag": {
|
|
354
|
+
light: "#f1ecdf",
|
|
355
|
+
dark: "#211c16"
|
|
356
|
+
},
|
|
357
|
+
"--qilin-alias-scrollbar-bg-l1": {
|
|
358
|
+
light: "#e3dccb",
|
|
359
|
+
dark: "#4a4336"
|
|
360
|
+
},
|
|
361
|
+
"--qilin-alias-scrollbar-bg-l2": {
|
|
362
|
+
light: "#e3dccb",
|
|
363
|
+
dark: "#57503f"
|
|
364
|
+
},
|
|
365
|
+
"--qilin-alias-scrollbar-hover-l1": {
|
|
366
|
+
light: "#d5ccb6",
|
|
367
|
+
dark: "#57503f"
|
|
368
|
+
},
|
|
369
|
+
"--qilin-alias-scrollbar-hover-l2": {
|
|
370
|
+
light: "#d5ccb6",
|
|
371
|
+
dark: "#665f4c"
|
|
372
|
+
},
|
|
373
|
+
"--qilin-specific-brand-seal-fill": {
|
|
374
|
+
light: "#b7352c",
|
|
375
|
+
dark: "#c94a40"
|
|
376
|
+
}
|
|
377
|
+
});
|
|
378
|
+
/** The dark-gold pack as one selectable skin. */
|
|
379
|
+
const QILIN_PACK = Object.freeze({
|
|
380
|
+
id: "qilin",
|
|
381
|
+
label: Object.freeze({
|
|
382
|
+
zh: "玄金",
|
|
383
|
+
en: "Xuanjin"
|
|
384
|
+
}),
|
|
385
|
+
boot: Object.freeze({
|
|
386
|
+
light: "#f8f5ee",
|
|
387
|
+
dark: "#0d0b09"
|
|
388
|
+
}),
|
|
389
|
+
tokens: QILIN_TOKENS
|
|
390
|
+
});
|
|
391
|
+
//#endregion
|
|
392
|
+
//#region lib/types/packs/mono.js
|
|
393
|
+
/**
|
|
394
|
+
* The monochrome color pack: one neutral ramp from pure white to pure black,
|
|
395
|
+
* with no hue. Accent, canvas, and ink are all greys; the light scheme uses a
|
|
396
|
+
* near-black accent so white on-accent text and focus rings clear AA, and the
|
|
397
|
+
* dark scheme mirrors it with an off-white accent on black.
|
|
398
|
+
*
|
|
399
|
+
* State colors, masks, and the ongoing blue stay with the base palettes, the
|
|
400
|
+
* same omission rule as every pack. Hover darkens the light accent and
|
|
401
|
+
* brightens the dark one, matching each platform's convention.
|
|
402
|
+
*/
|
|
403
|
+
/** Monochrome tokens over the platform palettes. Every value states both schemes. */
|
|
404
|
+
const MONO_TOKENS = Object.freeze({
|
|
405
|
+
"--qilin-alias-brand-primary": {
|
|
406
|
+
light: "#1a1a1a",
|
|
407
|
+
dark: "#f2f2f2"
|
|
408
|
+
},
|
|
409
|
+
"--qilin-alias-button-primary-hover": {
|
|
410
|
+
light: "#000000",
|
|
411
|
+
dark: "#ffffff"
|
|
412
|
+
},
|
|
413
|
+
"--qilin-alias-link": {
|
|
414
|
+
light: "#1f1f1f",
|
|
415
|
+
dark: "#ededed"
|
|
416
|
+
},
|
|
417
|
+
"--qilin-alias-bg-base": {
|
|
418
|
+
light: "#f4f4f4",
|
|
419
|
+
dark: "#000000"
|
|
420
|
+
},
|
|
421
|
+
"--qilin-alias-bg-layer-1": {
|
|
422
|
+
light: "#ffffff",
|
|
423
|
+
dark: "#0d0d0d"
|
|
424
|
+
},
|
|
425
|
+
"--qilin-alias-bg-layer-2": {
|
|
426
|
+
light: "#ffffff",
|
|
427
|
+
dark: "#141414"
|
|
428
|
+
},
|
|
429
|
+
"--qilin-alias-bg-layer-3": {
|
|
430
|
+
light: "#ffffff",
|
|
431
|
+
dark: "#1c1c1c"
|
|
432
|
+
},
|
|
433
|
+
"--qilin-alias-bg-overlay": {
|
|
434
|
+
light: "#e6e6e6",
|
|
435
|
+
dark: "#3f3f3f"
|
|
436
|
+
},
|
|
437
|
+
"--qilin-alias-bg-skeleton": {
|
|
438
|
+
light: "rgba(20, 20, 20, 0.06)",
|
|
439
|
+
dark: "rgba(242, 242, 242, 0.08)"
|
|
440
|
+
},
|
|
441
|
+
"--qilin-specific-sidebar-fill": {
|
|
442
|
+
light: "#ececec",
|
|
443
|
+
dark: "#000000"
|
|
444
|
+
},
|
|
445
|
+
"--qilin-specific-sidebar-nav-item-hover": {
|
|
446
|
+
light: "#e6e6e6",
|
|
447
|
+
dark: "#141414"
|
|
448
|
+
},
|
|
449
|
+
"--qilin-specific-sidebar-nav-item-active": {
|
|
450
|
+
light: "#dedede",
|
|
451
|
+
dark: "#1c1c1c"
|
|
452
|
+
},
|
|
453
|
+
"--qilin-specific-sidebar-nav-item-active-accent": {
|
|
454
|
+
light: "#1a1a1a",
|
|
455
|
+
dark: "#f2f2f2"
|
|
456
|
+
},
|
|
457
|
+
"--qilin-specific-bubble": {
|
|
458
|
+
light: "#ededed",
|
|
459
|
+
dark: "#1a1a1a"
|
|
460
|
+
},
|
|
461
|
+
"--qilin-specific-input-major": {
|
|
462
|
+
light: "#ffffff",
|
|
463
|
+
dark: "#141414"
|
|
464
|
+
},
|
|
465
|
+
"--qilin-specific-selector": {
|
|
466
|
+
light: "#f0f0f0",
|
|
467
|
+
dark: "#1c1c1c"
|
|
468
|
+
},
|
|
469
|
+
"--qilin-specific-tip": {
|
|
470
|
+
light: "#f0f0f0",
|
|
471
|
+
dark: "#1c1c1c"
|
|
472
|
+
},
|
|
473
|
+
"--qilin-alias-toast-bg": {
|
|
474
|
+
light: "#262626",
|
|
475
|
+
dark: "#2b2b2b"
|
|
476
|
+
},
|
|
477
|
+
"--qilin-alias-tooltip-bg": {
|
|
478
|
+
light: "#1f1f1f",
|
|
479
|
+
dark: "#262626"
|
|
480
|
+
},
|
|
481
|
+
"--qilin-alias-label-primary": {
|
|
482
|
+
light: "#141414",
|
|
483
|
+
dark: "#f2f2f2"
|
|
484
|
+
},
|
|
485
|
+
"--qilin-alias-label-primary-dimmed": {
|
|
486
|
+
light: "#262626",
|
|
487
|
+
dark: "#dcdcdc"
|
|
488
|
+
},
|
|
489
|
+
"--qilin-alias-label-secondary": {
|
|
490
|
+
light: "#5a5a5a",
|
|
491
|
+
dark: "#a6a6a6"
|
|
492
|
+
},
|
|
493
|
+
"--qilin-alias-label-tertiary": {
|
|
494
|
+
light: "#808080",
|
|
495
|
+
dark: "#8a8a8a"
|
|
496
|
+
},
|
|
497
|
+
"--qilin-alias-label-caption": {
|
|
498
|
+
light: "#969696",
|
|
499
|
+
dark: "#707070"
|
|
500
|
+
},
|
|
501
|
+
"--qilin-alias-label-dimmed": {
|
|
502
|
+
light: "#cfcfcf",
|
|
503
|
+
dark: "#4a4a4a"
|
|
504
|
+
},
|
|
505
|
+
"--qilin-alias-label-primary-inverted": {
|
|
506
|
+
light: "#ffffff",
|
|
507
|
+
dark: "#141414"
|
|
508
|
+
},
|
|
509
|
+
"--qilin-alias-border-l1": {
|
|
510
|
+
light: "rgba(20, 20, 20, 0.07)",
|
|
511
|
+
dark: "rgba(242, 242, 242, 0.07)"
|
|
512
|
+
},
|
|
513
|
+
"--qilin-alias-border-l2": {
|
|
514
|
+
light: "rgba(20, 20, 20, 0.11)",
|
|
515
|
+
dark: "rgba(242, 242, 242, 0.12)"
|
|
516
|
+
},
|
|
517
|
+
"--qilin-alias-border-l2-darkmode-thin": {
|
|
518
|
+
light: "rgba(20, 20, 20, 0.11)",
|
|
519
|
+
dark: "rgba(242, 242, 242, 0.07)"
|
|
520
|
+
},
|
|
521
|
+
"--qilin-alias-border-l3": {
|
|
522
|
+
light: "rgba(20, 20, 20, 0.13)",
|
|
523
|
+
dark: "rgba(242, 242, 242, 0.16)"
|
|
524
|
+
},
|
|
525
|
+
"--qilin-alias-border-l4": {
|
|
526
|
+
light: "rgba(20, 20, 20, 0.17)",
|
|
527
|
+
dark: "rgba(242, 242, 242, 0.20)"
|
|
528
|
+
},
|
|
529
|
+
"--qilin-alias-border-inverted": {
|
|
530
|
+
light: "rgba(20, 20, 20, 0)",
|
|
531
|
+
dark: "rgba(242, 242, 242, 0.06)"
|
|
532
|
+
},
|
|
533
|
+
"--qilin-alias-border-inverted2": {
|
|
534
|
+
light: "rgba(20, 20, 20, 0)",
|
|
535
|
+
dark: "rgba(242, 242, 242, 0.08)"
|
|
536
|
+
},
|
|
537
|
+
"--qilin-alias-interactive-bg-hover": {
|
|
538
|
+
light: "rgba(20, 20, 20, 0.07)",
|
|
539
|
+
dark: "rgba(242, 242, 242, 0.08)"
|
|
540
|
+
},
|
|
541
|
+
"--qilin-alias-interactive-bg-active": {
|
|
542
|
+
light: "rgba(20, 20, 20, 0.12)",
|
|
543
|
+
dark: "rgba(242, 242, 242, 0.14)"
|
|
544
|
+
},
|
|
545
|
+
"--qilin-alias-interactive-bg-hover-accent": {
|
|
546
|
+
light: "rgba(20, 20, 20, 0.14)",
|
|
547
|
+
dark: "rgba(242, 242, 242, 0.24)"
|
|
548
|
+
},
|
|
549
|
+
"--qilin-alias-interactive-bg-hover-solid": {
|
|
550
|
+
light: "#ededed",
|
|
551
|
+
dark: "#1c1c1c"
|
|
552
|
+
},
|
|
553
|
+
"--qilin-alias-button-contrast-fill": {
|
|
554
|
+
light: "#5a5a5a",
|
|
555
|
+
dark: "#f2f2f2"
|
|
556
|
+
},
|
|
557
|
+
"--qilin-alias-button-elevated-fill": {
|
|
558
|
+
light: "#ffffff",
|
|
559
|
+
dark: "#1f1f1f"
|
|
560
|
+
},
|
|
561
|
+
"--qilin-alias-button-floating-fill": {
|
|
562
|
+
light: "#ffffff",
|
|
563
|
+
dark: "#141414"
|
|
564
|
+
},
|
|
565
|
+
"--qilin-alias-button-floating-hover": {
|
|
566
|
+
light: "#ededed",
|
|
567
|
+
dark: "#1c1c1c"
|
|
568
|
+
},
|
|
569
|
+
"--qilin-alias-button-ghost-active-fill": {
|
|
570
|
+
light: "#ededed",
|
|
571
|
+
dark: "#1f1f1f"
|
|
572
|
+
},
|
|
573
|
+
"--qilin-alias-button-ghost-active-hover": {
|
|
574
|
+
light: "#e4e4e4",
|
|
575
|
+
dark: "#2a2a2a"
|
|
576
|
+
},
|
|
577
|
+
"--qilin-alias-button-ghost-active-border": {
|
|
578
|
+
light: "#9a9a9a",
|
|
579
|
+
dark: "#6f6f6f"
|
|
580
|
+
},
|
|
581
|
+
"--qilin-alias-button-tool-bar-fill": {
|
|
582
|
+
light: "rgba(90, 90, 90, 0.5)",
|
|
583
|
+
dark: "rgba(160, 160, 160, 0.4)"
|
|
584
|
+
},
|
|
585
|
+
"--qilin-alias-button-tool-bar-hover": {
|
|
586
|
+
light: "rgba(90, 90, 90, 0.6)",
|
|
587
|
+
dark: "rgba(160, 160, 160, 0.5)"
|
|
588
|
+
},
|
|
589
|
+
"--qilin-alias-button-tool-bar-fill-invisible": {
|
|
590
|
+
light: "rgba(20, 20, 20, 0.36)",
|
|
591
|
+
dark: "rgba(30, 30, 30, 0.36)"
|
|
592
|
+
},
|
|
593
|
+
"--qilin-alias-markdown-code-block": {
|
|
594
|
+
light: "#efefef",
|
|
595
|
+
dark: "#101010"
|
|
596
|
+
},
|
|
597
|
+
"--qilin-alias-markdown-code-block-banner": {
|
|
598
|
+
light: "#e8e8e8",
|
|
599
|
+
dark: "#171717"
|
|
600
|
+
},
|
|
601
|
+
"--qilin-alias-markdown-inline-code": {
|
|
602
|
+
light: "#eeeeee",
|
|
603
|
+
dark: "#1a1a1a"
|
|
604
|
+
},
|
|
605
|
+
"--qilin-alias-markdown-citation": {
|
|
606
|
+
light: "#eaeaea",
|
|
607
|
+
dark: "#1a1a1a"
|
|
608
|
+
},
|
|
609
|
+
"--qilin-alias-markdown-tag": {
|
|
610
|
+
light: "#ededed",
|
|
611
|
+
dark: "#141414"
|
|
612
|
+
},
|
|
613
|
+
"--qilin-alias-scrollbar-bg-l1": {
|
|
614
|
+
light: "#dcdcdc",
|
|
615
|
+
dark: "#3a3a3a"
|
|
616
|
+
},
|
|
617
|
+
"--qilin-alias-scrollbar-bg-l2": {
|
|
618
|
+
light: "#dcdcdc",
|
|
619
|
+
dark: "#4a4a4a"
|
|
620
|
+
},
|
|
621
|
+
"--qilin-alias-scrollbar-hover-l1": {
|
|
622
|
+
light: "#cfcfcf",
|
|
623
|
+
dark: "#4a4a4a"
|
|
624
|
+
},
|
|
625
|
+
"--qilin-alias-scrollbar-hover-l2": {
|
|
626
|
+
light: "#cfcfcf",
|
|
627
|
+
dark: "#5a5a5a"
|
|
628
|
+
}
|
|
629
|
+
});
|
|
630
|
+
/** The monochrome pack as one selectable skin. */
|
|
631
|
+
const MONO_PACK = Object.freeze({
|
|
632
|
+
id: "mono",
|
|
633
|
+
label: Object.freeze({
|
|
634
|
+
zh: "黑白",
|
|
635
|
+
en: "Mono"
|
|
636
|
+
}),
|
|
637
|
+
boot: Object.freeze({
|
|
638
|
+
light: "#f4f4f4",
|
|
639
|
+
dark: "#000000"
|
|
640
|
+
}),
|
|
641
|
+
tokens: MONO_TOKENS
|
|
642
|
+
});
|
|
643
|
+
//#endregion
|
|
644
|
+
//#region lib/types/packs/verdant.js
|
|
645
|
+
/**
|
|
646
|
+
* The green color pack: light-green paper with a deep green accent in the
|
|
647
|
+
* light scheme, and a deep ink-green canvas with a light green accent in the
|
|
648
|
+
* dark scheme. Accent contrast is WCAG AA verified: white on #2f6b4b clears
|
|
649
|
+
* 6.4:1, the light link #2a5a40 clears 6.5:1 on #f1f6f2, and the dark accent
|
|
650
|
+
* #8fd0a8 clears 11:1 on the #0a120e canvas.
|
|
651
|
+
*
|
|
652
|
+
* State colors, masks, and the ongoing blue stay with the base palettes, the
|
|
653
|
+
* same omission rule as every pack. Hover darkens the light accent and
|
|
654
|
+
* brightens the dark one, matching each platform's convention.
|
|
655
|
+
*/
|
|
656
|
+
/** Green tokens over the platform palettes. Every value states both schemes. */
|
|
657
|
+
const VERDANT_TOKENS = Object.freeze({
|
|
658
|
+
"--qilin-alias-brand-primary": {
|
|
659
|
+
light: "#2f6b4b",
|
|
660
|
+
dark: "#8fd0a8"
|
|
661
|
+
},
|
|
662
|
+
"--qilin-alias-button-primary-hover": {
|
|
663
|
+
light: "#24553b",
|
|
664
|
+
dark: "#aee3c1"
|
|
665
|
+
},
|
|
666
|
+
"--qilin-alias-link": {
|
|
667
|
+
light: "#2a5a40",
|
|
668
|
+
dark: "#b7e6c8"
|
|
669
|
+
},
|
|
670
|
+
"--qilin-alias-bg-base": {
|
|
671
|
+
light: "#f1f6f2",
|
|
672
|
+
dark: "#0a120e"
|
|
673
|
+
},
|
|
674
|
+
"--qilin-alias-bg-layer-1": {
|
|
675
|
+
light: "#fbfdfb",
|
|
676
|
+
dark: "#101a14"
|
|
677
|
+
},
|
|
678
|
+
"--qilin-alias-bg-layer-2": {
|
|
679
|
+
light: "#fbfdfb",
|
|
680
|
+
dark: "#16221a"
|
|
681
|
+
},
|
|
682
|
+
"--qilin-alias-bg-layer-3": {
|
|
683
|
+
light: "#fbfdfb",
|
|
684
|
+
dark: "#1d2b21"
|
|
685
|
+
},
|
|
686
|
+
"--qilin-alias-bg-overlay": {
|
|
687
|
+
light: "#e2ebe4",
|
|
688
|
+
dark: "#3c4f43"
|
|
689
|
+
},
|
|
690
|
+
"--qilin-alias-bg-skeleton": {
|
|
691
|
+
light: "rgba(20, 60, 40, 0.06)",
|
|
692
|
+
dark: "rgba(210, 235, 220, 0.08)"
|
|
693
|
+
},
|
|
694
|
+
"--qilin-specific-sidebar-fill": {
|
|
695
|
+
light: "#e9f1ea",
|
|
696
|
+
dark: "#0a120e"
|
|
697
|
+
},
|
|
698
|
+
"--qilin-specific-sidebar-nav-item-hover": {
|
|
699
|
+
light: "#e2ece4",
|
|
700
|
+
dark: "#152018"
|
|
701
|
+
},
|
|
702
|
+
"--qilin-specific-sidebar-nav-item-active": {
|
|
703
|
+
light: "#d9e7dc",
|
|
704
|
+
dark: "#1d2b21"
|
|
705
|
+
},
|
|
706
|
+
"--qilin-specific-sidebar-nav-item-active-accent": {
|
|
707
|
+
light: "#2f6b4b",
|
|
708
|
+
dark: "#8fd0a8"
|
|
709
|
+
},
|
|
710
|
+
"--qilin-specific-bubble": {
|
|
711
|
+
light: "#eaf2ec",
|
|
712
|
+
dark: "#18251c"
|
|
713
|
+
},
|
|
714
|
+
"--qilin-specific-input-major": {
|
|
715
|
+
light: "#fcfefc",
|
|
716
|
+
dark: "#14201a"
|
|
717
|
+
},
|
|
718
|
+
"--qilin-specific-selector": {
|
|
719
|
+
light: "#eef4ef",
|
|
720
|
+
dark: "#1d2b21"
|
|
721
|
+
},
|
|
722
|
+
"--qilin-specific-tip": {
|
|
723
|
+
light: "#eef4ef",
|
|
724
|
+
dark: "#1d2b21"
|
|
725
|
+
},
|
|
726
|
+
"--qilin-alias-toast-bg": {
|
|
727
|
+
light: "#1f2a24",
|
|
728
|
+
dark: "#1f2c24"
|
|
729
|
+
},
|
|
730
|
+
"--qilin-alias-tooltip-bg": {
|
|
731
|
+
light: "#1a241f",
|
|
732
|
+
dark: "#1f2c24"
|
|
733
|
+
},
|
|
734
|
+
"--qilin-alias-label-primary": {
|
|
735
|
+
light: "#16211b",
|
|
736
|
+
dark: "#e4f0e7"
|
|
737
|
+
},
|
|
738
|
+
"--qilin-alias-label-primary-dimmed": {
|
|
739
|
+
light: "#24322a",
|
|
740
|
+
dark: "#cfe0d4"
|
|
741
|
+
},
|
|
742
|
+
"--qilin-alias-label-secondary": {
|
|
743
|
+
light: "#4f6157",
|
|
744
|
+
dark: "#9db3a4"
|
|
745
|
+
},
|
|
746
|
+
"--qilin-alias-label-tertiary": {
|
|
747
|
+
light: "#76877c",
|
|
748
|
+
dark: "#7f9487"
|
|
749
|
+
},
|
|
750
|
+
"--qilin-alias-label-caption": {
|
|
751
|
+
light: "#8a998f",
|
|
752
|
+
dark: "#64796b"
|
|
753
|
+
},
|
|
754
|
+
"--qilin-alias-label-dimmed": {
|
|
755
|
+
light: "#c8d5cb",
|
|
756
|
+
dark: "#42544a"
|
|
757
|
+
},
|
|
758
|
+
"--qilin-alias-label-primary-inverted": {
|
|
759
|
+
light: "#fbfdfb",
|
|
760
|
+
dark: "#14201a"
|
|
761
|
+
},
|
|
762
|
+
"--qilin-alias-border-l1": {
|
|
763
|
+
light: "rgba(28, 58, 42, 0.07)",
|
|
764
|
+
dark: "rgba(210, 235, 220, 0.07)"
|
|
765
|
+
},
|
|
766
|
+
"--qilin-alias-border-l2": {
|
|
767
|
+
light: "rgba(28, 58, 42, 0.11)",
|
|
768
|
+
dark: "rgba(210, 235, 220, 0.12)"
|
|
769
|
+
},
|
|
770
|
+
"--qilin-alias-border-l2-darkmode-thin": {
|
|
771
|
+
light: "rgba(28, 58, 42, 0.11)",
|
|
772
|
+
dark: "rgba(210, 235, 220, 0.07)"
|
|
773
|
+
},
|
|
774
|
+
"--qilin-alias-border-l3": {
|
|
775
|
+
light: "rgba(28, 58, 42, 0.13)",
|
|
776
|
+
dark: "rgba(210, 235, 220, 0.16)"
|
|
777
|
+
},
|
|
778
|
+
"--qilin-alias-border-l4": {
|
|
779
|
+
light: "rgba(28, 58, 42, 0.17)",
|
|
780
|
+
dark: "rgba(210, 235, 220, 0.20)"
|
|
781
|
+
},
|
|
782
|
+
"--qilin-alias-border-inverted": {
|
|
783
|
+
light: "rgba(28, 58, 42, 0)",
|
|
784
|
+
dark: "rgba(210, 235, 220, 0.06)"
|
|
785
|
+
},
|
|
786
|
+
"--qilin-alias-border-inverted2": {
|
|
787
|
+
light: "rgba(28, 58, 42, 0)",
|
|
788
|
+
dark: "rgba(210, 235, 220, 0.08)"
|
|
789
|
+
},
|
|
790
|
+
"--qilin-alias-interactive-bg-hover": {
|
|
791
|
+
light: "rgba(28, 58, 42, 0.08)",
|
|
792
|
+
dark: "rgba(210, 235, 220, 0.08)"
|
|
793
|
+
},
|
|
794
|
+
"--qilin-alias-interactive-bg-active": {
|
|
795
|
+
light: "rgba(28, 58, 42, 0.13)",
|
|
796
|
+
dark: "rgba(210, 235, 220, 0.14)"
|
|
797
|
+
},
|
|
798
|
+
"--qilin-alias-interactive-bg-hover-accent": {
|
|
799
|
+
light: "rgba(28, 58, 42, 0.14)",
|
|
800
|
+
dark: "rgba(210, 235, 220, 0.24)"
|
|
801
|
+
},
|
|
802
|
+
"--qilin-alias-interactive-bg-hover-solid": {
|
|
803
|
+
light: "#eaf2ec",
|
|
804
|
+
dark: "#1d2b21"
|
|
805
|
+
},
|
|
806
|
+
"--qilin-alias-button-contrast-fill": {
|
|
807
|
+
light: "#4f6157",
|
|
808
|
+
dark: "#e4f0e7"
|
|
809
|
+
},
|
|
810
|
+
"--qilin-alias-button-elevated-fill": {
|
|
811
|
+
light: "#fcfefc",
|
|
812
|
+
dark: "#1f2c24"
|
|
813
|
+
},
|
|
814
|
+
"--qilin-alias-button-floating-fill": {
|
|
815
|
+
light: "#fcfefc",
|
|
816
|
+
dark: "#18251c"
|
|
817
|
+
},
|
|
818
|
+
"--qilin-alias-button-floating-hover": {
|
|
819
|
+
light: "#eef4ef",
|
|
820
|
+
dark: "#1d2b21"
|
|
821
|
+
},
|
|
822
|
+
"--qilin-alias-button-ghost-active-fill": {
|
|
823
|
+
light: "#eaf2ec",
|
|
824
|
+
dark: "#1f2c24"
|
|
825
|
+
},
|
|
826
|
+
"--qilin-alias-button-ghost-active-hover": {
|
|
827
|
+
light: "#e2ece4",
|
|
828
|
+
dark: "#27362c"
|
|
829
|
+
},
|
|
830
|
+
"--qilin-alias-button-ghost-active-border": {
|
|
831
|
+
light: "#8fa096",
|
|
832
|
+
dark: "#5f7466"
|
|
833
|
+
},
|
|
834
|
+
"--qilin-alias-button-tool-bar-fill": {
|
|
835
|
+
light: "rgba(90, 110, 98, 0.5)",
|
|
836
|
+
dark: "rgba(140, 165, 150, 0.4)"
|
|
837
|
+
},
|
|
838
|
+
"--qilin-alias-button-tool-bar-hover": {
|
|
839
|
+
light: "rgba(90, 110, 98, 0.6)",
|
|
840
|
+
dark: "rgba(140, 165, 150, 0.5)"
|
|
841
|
+
},
|
|
842
|
+
"--qilin-alias-button-tool-bar-fill-invisible": {
|
|
843
|
+
light: "rgba(28, 58, 42, 0.36)",
|
|
844
|
+
dark: "rgba(35, 50, 42, 0.36)"
|
|
845
|
+
},
|
|
846
|
+
"--qilin-alias-markdown-code-block": {
|
|
847
|
+
light: "#e9f1ea",
|
|
848
|
+
dark: "#0f1a13"
|
|
849
|
+
},
|
|
850
|
+
"--qilin-alias-markdown-code-block-banner": {
|
|
851
|
+
light: "#e2ece4",
|
|
852
|
+
dark: "#16221a"
|
|
853
|
+
},
|
|
854
|
+
"--qilin-alias-markdown-inline-code": {
|
|
855
|
+
light: "#e8f0e9",
|
|
856
|
+
dark: "#18251c"
|
|
857
|
+
},
|
|
858
|
+
"--qilin-alias-markdown-citation": {
|
|
859
|
+
light: "#e4eee6",
|
|
860
|
+
dark: "#18251c"
|
|
861
|
+
},
|
|
862
|
+
"--qilin-alias-markdown-tag": {
|
|
863
|
+
light: "#e8f0e9",
|
|
864
|
+
dark: "#14201a"
|
|
865
|
+
},
|
|
866
|
+
"--qilin-alias-scrollbar-bg-l1": {
|
|
867
|
+
light: "#d3e0d6",
|
|
868
|
+
dark: "#39493f"
|
|
869
|
+
},
|
|
870
|
+
"--qilin-alias-scrollbar-bg-l2": {
|
|
871
|
+
light: "#c5d5c9",
|
|
872
|
+
dark: "#4a5c50"
|
|
873
|
+
},
|
|
874
|
+
"--qilin-alias-scrollbar-hover-l1": {
|
|
875
|
+
light: "#c5d5c9",
|
|
876
|
+
dark: "#4a5c50"
|
|
877
|
+
},
|
|
878
|
+
"--qilin-alias-scrollbar-hover-l2": {
|
|
879
|
+
light: "#b7cabd",
|
|
880
|
+
dark: "#5a6d60"
|
|
881
|
+
}
|
|
882
|
+
});
|
|
883
|
+
/** The green pack as one selectable skin. */
|
|
884
|
+
const VERDANT_PACK = Object.freeze({
|
|
885
|
+
id: "verdant",
|
|
886
|
+
label: Object.freeze({
|
|
887
|
+
zh: "墨绿",
|
|
888
|
+
en: "Verdant"
|
|
889
|
+
}),
|
|
890
|
+
boot: Object.freeze({
|
|
891
|
+
light: "#f1f6f2",
|
|
892
|
+
dark: "#0a120e"
|
|
893
|
+
}),
|
|
894
|
+
tokens: VERDANT_TOKENS
|
|
895
|
+
});
|
|
896
|
+
//#endregion
|
|
897
|
+
//#region lib/types/skin.js
|
|
898
|
+
/**
|
|
899
|
+
* The shipped color packs, shared by the node and browser halves.
|
|
900
|
+
*
|
|
901
|
+
* A pack is one selectable skin: an id, a provider-owned label, the canvas
|
|
902
|
+
* colors the pre-plugin index render paints, and the alias-token overrides for
|
|
903
|
+
* both base palettes. Packs are identified by their palette, never by a
|
|
904
|
+
* product name, so a composition can pick any of them without exposing who
|
|
905
|
+
* uses it.
|
|
906
|
+
*/
|
|
907
|
+
/** Every shipped pack, in appearance-row order. */
|
|
908
|
+
const SKIN_PACKS = Object.freeze([
|
|
909
|
+
QILIN_PACK,
|
|
910
|
+
BLUSH_PACK,
|
|
911
|
+
MONO_PACK,
|
|
912
|
+
VERDANT_PACK
|
|
913
|
+
]);
|
|
914
|
+
QILIN_PACK.id;
|
|
915
|
+
QILIN_PACK.label;
|
|
916
|
+
QILIN_PACK.boot;
|
|
917
|
+
//#endregion
|
|
1
918
|
//#region lib/types/index.js
|
|
2
919
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
920
|
+
* Color packs, node half: contributes each pack's canvas colors so the
|
|
921
|
+
* pre-plugin index render paints the user's palette before any browser plugin
|
|
922
|
+
* runs. The browser half ships through `exports["./client"]`.
|
|
923
|
+
*/
|
|
924
|
+
/** Required Host services: the boot registry the index render reads. */
|
|
925
|
+
const inject = ["themeBoot"];
|
|
926
|
+
/**
|
|
927
|
+
* Register every shipped pack's canvas colors for the pre-plugin interval.
|
|
928
|
+
* @param ctx - Host plugin context.
|
|
5
929
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
930
|
+
function apply(ctx) {
|
|
931
|
+
for (const pack of SKIN_PACKS) ctx.effect(() => ctx.themeBoot.register(pack.id, pack.boot), `ui-theme-brand: ${pack.id} boot colors`);
|
|
932
|
+
}
|
|
8
933
|
//#endregion
|
|
9
|
-
export { apply };
|
|
934
|
+
export { apply, inject };
|