@lemonppt/themes 0.2.0 → 0.2.2
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/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/theme03/tokens.js +1 -1
- package/dist/theme07/tokens.d.ts +99 -0
- package/dist/theme07/tokens.d.ts.map +1 -0
- package/dist/theme07/tokens.js +274 -0
- package/dist/theme07/tokens.js.map +1 -0
- package/dist/theme08/tokens.d.ts +103 -0
- package/dist/theme08/tokens.d.ts.map +1 -0
- package/dist/theme08/tokens.js +286 -0
- package/dist/theme08/tokens.js.map +1 -0
- package/dist/theme09/tokens.d.ts +128 -0
- package/dist/theme09/tokens.d.ts.map +1 -0
- package/dist/theme09/tokens.js +334 -0
- package/dist/theme09/tokens.js.map +1 -0
- package/dist/theme10/tokens.d.ts +87 -0
- package/dist/theme10/tokens.d.ts.map +1 -0
- package/dist/theme10/tokens.js +201 -0
- package/dist/theme10/tokens.js.map +1 -0
- package/package.json +2 -2
- package/src/theme01/styles.css +595 -20
- package/src/theme02/styles.css +402 -9
- package/src/theme03/styles.css +35 -28
- package/src/theme04/styles.css +23 -4
- package/src/theme05/styles.css +56 -42
- package/src/theme06/styles.css +74 -23
- package/src/theme07/styles.css +5546 -0
- package/src/theme08/styles.css +1225 -0
- package/src/theme09/styles.css +3950 -0
- package/src/theme10/styles.css +1721 -0
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
// lemonPPT - AI-powered presentation generation
|
|
2
|
+
// Copyright (c) 2026 lemonforme
|
|
3
|
+
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
4
|
+
/* ────────────────────────────────────────────────────────────────
|
|
5
|
+
* 专色系统(原创印刷专色,全部经 WCAG 2.1 AA 预校验)
|
|
6
|
+
*
|
|
7
|
+
* 纸底 #F4F1EA 上(相对亮度 0.881):
|
|
8
|
+
* 朱砂 #C8102E → 5.22:1 ✅ 靛青 #2B4A8B → 7.58:1 ✅
|
|
9
|
+
* 芥黄 #7A5410 → 5.1:1 ✅ 石绿 #355C4E → 4.8:1 ✅
|
|
10
|
+
* 墨底 #14161C 上(相对亮度 0.008):
|
|
11
|
+
* 朱砂 #F47A93 → 7.2:1 ✅ 靛青 #7E9BC8 → 6.3:1 ✅
|
|
12
|
+
* 芥黄 #D9A83C → 8.2:1 ✅ 石绿 #6FA894 → 6.56:1 ✅
|
|
13
|
+
* 注:组件常把专色落于「比基底更深的芯片」(#3D2530/#30222C/#24262E/#31333A),
|
|
14
|
+
* 故墨底 vermilion/indigo 已提亮、ink3 已提亮至 #BCB9B1 以保 ≥4.5:1。
|
|
15
|
+
* ──────────────────────────────────────────────────────────────── */
|
|
16
|
+
/** 纸底专色 —— 浓墨重彩档(primary)
|
|
17
|
+
* 注:sienna/mustard/celadon 已压深一档,确保落在浅纸芯片(#F0E6DC/#EEE7DA/#D7DDD5)上 ≥4.5:1 */
|
|
18
|
+
const PAPER_SPOT = {
|
|
19
|
+
vermilion: '#C8102E', // 专色主:朱砂
|
|
20
|
+
indigo: '#2B4A8B', // 专色次:靛青
|
|
21
|
+
mustard: '#7A5410', // 点缀:芥黄(压深,浅底 ≥5.1:1)
|
|
22
|
+
celadon: '#355C4E', // 点缀:石绿(压深,浅底 ≥4.8:1)
|
|
23
|
+
plum: '#6D4C7D', // 序列五:紫棠
|
|
24
|
+
sienna: '#97491C', // 序列六:赭石(压深,浅底 ≥5.0:1)
|
|
25
|
+
};
|
|
26
|
+
/** 纸底专色 —— 淡墨档(muted,降饱和不降明度差) */
|
|
27
|
+
const PAPER_SPOT_MUTED = {
|
|
28
|
+
vermilion: '#9C2233',
|
|
29
|
+
indigo: '#3C5580',
|
|
30
|
+
mustard: '#6A4810',
|
|
31
|
+
celadon: '#2F5044',
|
|
32
|
+
plum: '#61496D',
|
|
33
|
+
sienna: '#83431C',
|
|
34
|
+
};
|
|
35
|
+
/** 墨底专色 —— 提亮档(primary)
|
|
36
|
+
* 注:vermilion/indigo 已提亮,确保落在最深芯片(#3D2530/#1B1E26)上 ≥4.5:1 */
|
|
37
|
+
const INK_SPOT = {
|
|
38
|
+
vermilion: '#F47A93', // 朱砂提亮(#F04A62 → #F47A93,深芯片 ≥5.4:1)
|
|
39
|
+
indigo: '#7E9BC8', // 靛青提亮(#5B82D6 → #7E9BC8,≥6.3:1)
|
|
40
|
+
mustard: '#D9A83C',
|
|
41
|
+
celadon: '#6FA894',
|
|
42
|
+
plum: '#A98BC4',
|
|
43
|
+
sienna: '#E08A5B',
|
|
44
|
+
};
|
|
45
|
+
/** 墨底专色 —— 柔和档(muted) */
|
|
46
|
+
const INK_SPOT_MUTED = {
|
|
47
|
+
vermilion: '#E08A9C',
|
|
48
|
+
indigo: '#7E9BC8',
|
|
49
|
+
mustard: '#C0A068',
|
|
50
|
+
celadon: '#8AAFA0',
|
|
51
|
+
plum: '#B0A0C4',
|
|
52
|
+
sienna: '#CE9878',
|
|
53
|
+
};
|
|
54
|
+
/** 纸底墨色阶 */
|
|
55
|
+
const PAPER_BASE = {
|
|
56
|
+
bg: '#F4F1EA',
|
|
57
|
+
bgStart: '#F8F6F0',
|
|
58
|
+
bgEnd: '#EDE9DE',
|
|
59
|
+
ink: '#14161C',
|
|
60
|
+
ink2: '#3A3F4A',
|
|
61
|
+
ink3: '#5C6270',
|
|
62
|
+
inverse: '#F8F6F0',
|
|
63
|
+
rgb: '20, 22, 28',
|
|
64
|
+
};
|
|
65
|
+
/** 墨底墨色阶 */
|
|
66
|
+
const INK_BASE = {
|
|
67
|
+
bg: '#14161C',
|
|
68
|
+
bgStart: '#1B1E26',
|
|
69
|
+
bgEnd: '#0D0F14',
|
|
70
|
+
ink: '#F4F1EA',
|
|
71
|
+
ink2: '#C9C6BE',
|
|
72
|
+
ink3: '#BCB9B1', // 提亮(#8E8B84 → #BCB9B1,深芯片 ≥4.9:1)
|
|
73
|
+
inverse: '#14161C',
|
|
74
|
+
rgb: '244, 241, 234',
|
|
75
|
+
};
|
|
76
|
+
function spotOf(substrate, appearance) {
|
|
77
|
+
if (substrate === 'ink')
|
|
78
|
+
return appearance === 'primary' ? INK_SPOT : INK_SPOT_MUTED;
|
|
79
|
+
return appearance === 'primary' ? PAPER_SPOT : PAPER_SPOT_MUTED;
|
|
80
|
+
}
|
|
81
|
+
function buildTokenCatalog(substrate = 'paper', appearance = 'primary') {
|
|
82
|
+
const isInk = substrate === 'ink';
|
|
83
|
+
const base = isInk ? INK_BASE : PAPER_BASE;
|
|
84
|
+
const spot = spotOf(substrate, appearance);
|
|
85
|
+
/** 网点密度:muted 档降一级,让页面更安静 */
|
|
86
|
+
const halftoneAlpha = appearance === 'primary' ? (isInk ? 0.16 : 0.13) : isInk ? 0.1 : 0.08;
|
|
87
|
+
return {
|
|
88
|
+
id: 'theme09',
|
|
89
|
+
displayName: 'Theme 09',
|
|
90
|
+
description: '墨韵专色风,米白纸底与深墨跨页双基底交替,专色朱砂与明朝体大字,适合品牌故事、人物访谈、企业形象册与年度特刊',
|
|
91
|
+
colors: {
|
|
92
|
+
ink: base.ink,
|
|
93
|
+
ink2: base.ink2,
|
|
94
|
+
ink3: base.ink3,
|
|
95
|
+
textInverse: base.inverse,
|
|
96
|
+
accent: spot.vermilion,
|
|
97
|
+
accent2: spot.indigo,
|
|
98
|
+
accentCool: spot.celadon,
|
|
99
|
+
red: spot.vermilion,
|
|
100
|
+
orange: spot.sienna,
|
|
101
|
+
amber: spot.mustard,
|
|
102
|
+
yellow: spot.mustard,
|
|
103
|
+
teal: spot.celadon,
|
|
104
|
+
green: spot.celadon,
|
|
105
|
+
cyan: spot.indigo,
|
|
106
|
+
blue: spot.indigo,
|
|
107
|
+
indigo: spot.indigo,
|
|
108
|
+
violet: spot.plum,
|
|
109
|
+
purple: spot.plum,
|
|
110
|
+
series: [spot.vermilion, spot.indigo, spot.mustard, spot.celadon, spot.plum, spot.sienna],
|
|
111
|
+
background: base.bg,
|
|
112
|
+
backgroundGradientStart: base.bgStart,
|
|
113
|
+
backgroundGradientEnd: base.bgEnd,
|
|
114
|
+
surface: `color-mix(in srgb, ${base.ink} ${isInk ? '10' : '4'}%, transparent)`,
|
|
115
|
+
surfaceStrong: `color-mix(in srgb, ${base.ink} ${isInk ? '16' : '7'}%, transparent)`,
|
|
116
|
+
surfaceSolid: isInk ? '#1C2027' : '#FDFCF8',
|
|
117
|
+
surfaceElevated: isInk ? '#242932' : '#FFFFFF',
|
|
118
|
+
border: `color-mix(in srgb, ${base.ink} ${isInk ? '22' : '14'}%, transparent)`,
|
|
119
|
+
borderStrong: `color-mix(in srgb, ${base.ink} ${isInk ? '40' : '30'}%, transparent)`,
|
|
120
|
+
shadow: isInk ? '0 22px 54px rgba(0, 0, 0, 0.55)' : '0 18px 44px rgba(20, 22, 28, 0.10)',
|
|
121
|
+
shadowSmall: isInk ? '0 6px 20px rgba(0, 0, 0, 0.42)' : '0 5px 16px rgba(20, 22, 28, 0.07)',
|
|
122
|
+
nodeBg: isInk ? '#1C2027' : '#FDFCF8',
|
|
123
|
+
nodeBorder: `color-mix(in srgb, ${base.ink} ${isInk ? '30' : '20'}%, transparent)`,
|
|
124
|
+
edge: `color-mix(in srgb, ${base.ink} ${isInk ? '34' : '26'}%, transparent)`,
|
|
125
|
+
focusGlow: `color-mix(in srgb, ${spot.vermilion} 38%, transparent)`,
|
|
126
|
+
panelLine: `color-mix(in srgb, ${base.ink} ${isInk ? '14' : '9'}%, transparent)`,
|
|
127
|
+
accentBright: spot.vermilion,
|
|
128
|
+
inversePanel: isInk ? '#F4F1EA' : '#14161C',
|
|
129
|
+
inversePanelInk: isInk ? '#14161C' : '#F4F1EA',
|
|
130
|
+
rule: `color-mix(in srgb, ${base.ink} ${isInk ? '26' : '18'}%, transparent)`,
|
|
131
|
+
ruleStrong: `color-mix(in srgb, ${base.ink} ${isInk ? '55' : '48'}%, transparent)`,
|
|
132
|
+
halftone: `color-mix(in srgb, ${base.ink} ${Math.round(halftoneAlpha * 100)}%, transparent)`,
|
|
133
|
+
grain: `color-mix(in srgb, ${base.ink} ${isInk ? '5' : '3'}%, transparent)`,
|
|
134
|
+
},
|
|
135
|
+
fonts: {
|
|
136
|
+
// 明朝体标题 —— 与 theme07/08 无衬线的最大字形分野
|
|
137
|
+
heading: '"Noto Serif SC", "Songti SC", serif',
|
|
138
|
+
body: '"Noto Sans SC", system-ui, sans-serif',
|
|
139
|
+
mono: '"Space Mono", ui-monospace, monospace',
|
|
140
|
+
en: '"Newsreader", Georgia, "Noto Serif SC", serif',
|
|
141
|
+
hand: '"Caveat", "Noto Sans SC", cursive',
|
|
142
|
+
},
|
|
143
|
+
spacing: {
|
|
144
|
+
pagePadding: '60px',
|
|
145
|
+
sectionGap: '30px',
|
|
146
|
+
elementGap: '14px',
|
|
147
|
+
padTop: '72px',
|
|
148
|
+
padBottom: '68px',
|
|
149
|
+
cardPaddingLarge: '30px 34px',
|
|
150
|
+
cardPaddingMedium: '20px 24px',
|
|
151
|
+
},
|
|
152
|
+
borderRadius: {
|
|
153
|
+
// 印刷品几乎不用圆角 —— 直角是本主题的形态签名
|
|
154
|
+
small: '0px',
|
|
155
|
+
medium: '0px',
|
|
156
|
+
large: '2px',
|
|
157
|
+
},
|
|
158
|
+
fontSize: {
|
|
159
|
+
display: '104px',
|
|
160
|
+
displaySmall: '72px',
|
|
161
|
+
h1: '46px',
|
|
162
|
+
h2: '32px',
|
|
163
|
+
h3: '22px',
|
|
164
|
+
body: '17px',
|
|
165
|
+
bodySmall: '14px',
|
|
166
|
+
caption: '12px',
|
|
167
|
+
},
|
|
168
|
+
effect: {
|
|
169
|
+
riseDistance: '12px',
|
|
170
|
+
riseDuration: '0.46s',
|
|
171
|
+
},
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
export const theme09Tokens = buildTokenCatalog('paper', 'primary');
|
|
175
|
+
export function getTheme09Tokens(substrate = 'paper', appearance = 'primary') {
|
|
176
|
+
return buildTokenCatalog(substrate, appearance);
|
|
177
|
+
}
|
|
178
|
+
/* ────────────────────────────────────────────────────────────────
|
|
179
|
+
* CSS 变量生成
|
|
180
|
+
* ──────────────────────────────────────────────────────────────── */
|
|
181
|
+
function buildCssVars(substrate, appearance) {
|
|
182
|
+
const t = buildTokenCatalog(substrate, appearance);
|
|
183
|
+
const c = t.colors;
|
|
184
|
+
const isInk = substrate === 'ink';
|
|
185
|
+
const base = isInk ? INK_BASE : PAPER_BASE;
|
|
186
|
+
return `
|
|
187
|
+
--lp-ink: ${c.ink};
|
|
188
|
+
--lp-ink2: ${c.ink2};
|
|
189
|
+
--lp-ink3: ${c.ink3};
|
|
190
|
+
--lp-text-inverse: ${c.textInverse};
|
|
191
|
+
--lp-accent: ${c.accent};
|
|
192
|
+
--lp-accent-2: ${c.accent2};
|
|
193
|
+
--lp-accent-cool: ${c.accentCool};
|
|
194
|
+
--lp-red: ${c.red};
|
|
195
|
+
--lp-orange: ${c.orange};
|
|
196
|
+
--lp-amber: ${c.amber};
|
|
197
|
+
--lp-yellow: ${c.yellow};
|
|
198
|
+
--lp-teal: ${c.teal};
|
|
199
|
+
--lp-green: ${c.green};
|
|
200
|
+
--lp-cyan: ${c.cyan};
|
|
201
|
+
--lp-blue: ${c.blue};
|
|
202
|
+
--lp-indigo: ${c.indigo};
|
|
203
|
+
--lp-violet: ${c.violet};
|
|
204
|
+
--lp-purple: ${c.purple};
|
|
205
|
+
--lp-series-1: ${c.series[0]};
|
|
206
|
+
--lp-series-2: ${c.series[1]};
|
|
207
|
+
--lp-series-3: ${c.series[2]};
|
|
208
|
+
--lp-series-4: ${c.series[3]};
|
|
209
|
+
--lp-series-5: ${c.series[4]};
|
|
210
|
+
--lp-series-6: ${c.series[5]};
|
|
211
|
+
--lp-bg: ${c.background};
|
|
212
|
+
--lp-bg-gradient-start: ${c.backgroundGradientStart};
|
|
213
|
+
--lp-bg-gradient-end: ${c.backgroundGradientEnd};
|
|
214
|
+
--lp-surface: ${c.surface};
|
|
215
|
+
--lp-surface-strong: ${c.surfaceStrong};
|
|
216
|
+
--lp-surface-solid: ${c.surfaceSolid};
|
|
217
|
+
--lp-surface-elevated: ${c.surfaceElevated};
|
|
218
|
+
--lp-border: ${c.border};
|
|
219
|
+
--lp-border-strong: ${c.borderStrong};
|
|
220
|
+
--lp-shadow: ${c.shadow};
|
|
221
|
+
--lp-shadow-sm: ${c.shadowSmall};
|
|
222
|
+
--lp-shadow-inset: ${isInk ? '0 1px 0 rgba(255, 255, 255, 0.06) inset' : '0 1px 0 rgba(20, 22, 28, 0.04) inset'};
|
|
223
|
+
--lp-overlay: color-mix(in srgb, ${base.ink} ${isInk ? '8' : '3'}%, transparent);
|
|
224
|
+
--lp-overlay-strong: color-mix(in srgb, ${base.ink} ${isInk ? '14' : '6'}%, transparent);
|
|
225
|
+
--lp-divider: ${c.rule};
|
|
226
|
+
--lp-scrim: ${isInk ? 'rgba(13, 15, 20, 0.62)' : 'rgba(20, 22, 28, 0.52)'};
|
|
227
|
+
--lp-image-overlay: ${isInk
|
|
228
|
+
? 'linear-gradient(180deg, rgba(13, 15, 20, 0.18) 0%, rgba(13, 15, 20, 0.86) 100%)'
|
|
229
|
+
: 'linear-gradient(180deg, rgba(20, 22, 28, 0.10) 0%, rgba(20, 22, 28, 0.74) 100%)'};
|
|
230
|
+
--lp-shadow-rgb: ${isInk ? '0, 0, 0' : '20, 22, 28'};
|
|
231
|
+
--lp-stroke: ${c.border};
|
|
232
|
+
--lp-white-alpha-80: rgba(255, 255, 255, 0.8);
|
|
233
|
+
--lp-white-alpha-85: rgba(255, 255, 255, 0.85);
|
|
234
|
+
--lp-white-alpha-90: rgba(255, 255, 255, 0.9);
|
|
235
|
+
--lp-node-bg: ${c.nodeBg};
|
|
236
|
+
--lp-node-border: ${c.nodeBorder};
|
|
237
|
+
--lp-edge: ${c.edge};
|
|
238
|
+
--lp-focus-glow: ${c.focusGlow};
|
|
239
|
+
--lp-panel-line: ${c.panelLine};
|
|
240
|
+
--lp-accent-bright: ${c.accentBright};
|
|
241
|
+
--lp-inverse-panel: ${c.inversePanel};
|
|
242
|
+
--lp-inverse-panel-ink: ${c.inversePanelInk};
|
|
243
|
+
--lp-font: ${t.fonts.body};
|
|
244
|
+
--lp-font-mono: ${t.fonts.mono};
|
|
245
|
+
--lp-font-heading: ${t.fonts.heading};
|
|
246
|
+
--lp-radius-small: ${t.borderRadius.small};
|
|
247
|
+
--lp-radius-medium: ${t.borderRadius.medium};
|
|
248
|
+
--lp-radius-large: ${t.borderRadius.large};
|
|
249
|
+
--lp-radius-lg: ${t.borderRadius.large};
|
|
250
|
+
--lp-font-size-display: ${t.fontSize.display};
|
|
251
|
+
--lp-font-size-display-small: ${t.fontSize.displaySmall};
|
|
252
|
+
--lp-font-size-h1: ${t.fontSize.h1};
|
|
253
|
+
--lp-font-size-h2: ${t.fontSize.h2};
|
|
254
|
+
--lp-font-size-h3: ${t.fontSize.h3};
|
|
255
|
+
--lp-font-size-body: ${t.fontSize.body};
|
|
256
|
+
--lp-font-size-body-small: ${t.fontSize.bodySmall};
|
|
257
|
+
--lp-font-size-caption: ${t.fontSize.caption};
|
|
258
|
+
/* 通用布局别名 */
|
|
259
|
+
--lp-card-border: var(--lp-border);
|
|
260
|
+
--lp-card-radius: var(--lp-radius-large);
|
|
261
|
+
--lp-card-surface: var(--lp-surface-solid);
|
|
262
|
+
--lp-card-accent: color-mix(in srgb, var(--lp-accent) 10%, transparent);
|
|
263
|
+
--lp-card-accent-border: var(--lp-accent);
|
|
264
|
+
--lp-on-accent: ${isInk ? '#14161C' : '#FFFFFF'};
|
|
265
|
+
--lp-on-accent-soft: color-mix(in srgb, ${isInk ? '#14161C' : '#FFFFFF'} 88%, transparent);
|
|
266
|
+
--lp-error: var(--lp-red);
|
|
267
|
+
--lp-warning: var(--lp-amber);
|
|
268
|
+
--lp-success: var(--lp-green);
|
|
269
|
+
--lp-font-size-hero: var(--lp-font-size-display-small);
|
|
270
|
+
--lp-font-size-hero-small: var(--lp-font-size-h1);
|
|
271
|
+
--lp-font-size-subtitle: var(--lp-font-size-h3);
|
|
272
|
+
--lp-font-size-small: var(--lp-font-size-body-small);
|
|
273
|
+
--lp-font-display: ${t.fonts.heading};
|
|
274
|
+
/* ── theme09 专有:印刷语汇 ── */
|
|
275
|
+
--lp-t9-substrate: ${substrate};
|
|
276
|
+
--lp-t9-en: ${t.fonts.en};
|
|
277
|
+
--lp-t9-hand: ${t.fonts.hand};
|
|
278
|
+
--lp-t9-rule: ${c.rule};
|
|
279
|
+
--lp-t9-rule-strong: ${c.ruleStrong};
|
|
280
|
+
--lp-t9-halftone: ${c.halftone};
|
|
281
|
+
--lp-t9-grain: ${c.grain};
|
|
282
|
+
--lp-t9-spot: ${c.accent};
|
|
283
|
+
--lp-t9-spot-2: ${c.accent2};
|
|
284
|
+
--lp-t9-spot-3: ${c.amber};
|
|
285
|
+
--lp-t9-spot-4: ${c.teal};
|
|
286
|
+
--lp-t9-dot-size: ${appearance === 'primary' ? '7px' : '9px'};
|
|
287
|
+
--lp-t9-gutter: 2px;
|
|
288
|
+
--lp-t9-crop: ${c.ruleStrong};
|
|
289
|
+
--lp-t9-tape: color-mix(in srgb, ${c.amber} ${isInk ? '34' : '26'}%, transparent);
|
|
290
|
+
`;
|
|
291
|
+
}
|
|
292
|
+
const SUBSTRATE_SELECTOR = {
|
|
293
|
+
paper: '.lp-theme09',
|
|
294
|
+
ink: '.lp-theme09-sub-ink',
|
|
295
|
+
};
|
|
296
|
+
/**
|
|
297
|
+
* 生成 theme09 完整 CSS 变量块。
|
|
298
|
+
*
|
|
299
|
+
* 层叠顺序(必须保持 paper 在前、ink 在后,否则墨底会被纸底覆盖):
|
|
300
|
+
* 1. :root 兜底(未设 data-theme 的场景,如画廊/快照)
|
|
301
|
+
* 2. [data-theme] 兜底(未设 data-appearance)
|
|
302
|
+
* 3. [data-appearance="primary"]
|
|
303
|
+
* 4. [data-appearance="muted"]
|
|
304
|
+
* 每组内:paper(.lp-theme09)→ ink(.lp-theme09-sub-ink)
|
|
305
|
+
*/
|
|
306
|
+
export function generateTheme09CssVariablesWithSchemesAndAppearance() {
|
|
307
|
+
const T = ':root[data-theme="ink-editorial"]';
|
|
308
|
+
const blocks = [];
|
|
309
|
+
// 1) 无 data-theme 兜底
|
|
310
|
+
blocks.push(`:root {\n${buildCssVars('paper', 'primary')}\n}`);
|
|
311
|
+
blocks.push(`${SUBSTRATE_SELECTOR.ink} {\n${buildCssVars('ink', 'primary')}\n}`);
|
|
312
|
+
// 2) 有 data-theme、无 appearance
|
|
313
|
+
blocks.push(`${T} ${SUBSTRATE_SELECTOR.paper} {\n${buildCssVars('paper', 'primary')}\n}`);
|
|
314
|
+
blocks.push(`${T} ${SUBSTRATE_SELECTOR.ink} {\n${buildCssVars('ink', 'primary')}\n}`);
|
|
315
|
+
// 3/4) 两档外观(primary 与 dark 别名 / muted 与 light 别名)
|
|
316
|
+
for (const [attr, appearance] of [
|
|
317
|
+
['primary', 'primary'],
|
|
318
|
+
['dark', 'primary'],
|
|
319
|
+
['muted', 'muted'],
|
|
320
|
+
['light', 'muted'],
|
|
321
|
+
]) {
|
|
322
|
+
const P = `:root[data-appearance="${attr}"][data-theme="ink-editorial"]`;
|
|
323
|
+
blocks.push(`${P} ${SUBSTRATE_SELECTOR.paper} {\n${buildCssVars('paper', appearance)}\n}`);
|
|
324
|
+
blocks.push(`${P} ${SUBSTRATE_SELECTOR.ink} {\n${buildCssVars('ink', appearance)}\n}`);
|
|
325
|
+
}
|
|
326
|
+
return blocks.join('\n');
|
|
327
|
+
}
|
|
328
|
+
export function generateTheme09CssVariables(substrate = 'paper', appearance = 'primary') {
|
|
329
|
+
return `:root {\n${buildCssVars(substrate, appearance)}\n}`;
|
|
330
|
+
}
|
|
331
|
+
export function generateTheme09CssVariablesWithAppearance() {
|
|
332
|
+
return generateTheme09CssVariables('paper', 'primary');
|
|
333
|
+
}
|
|
334
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/theme09/tokens.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ⚠️ 渲染真源(SOURCE OF TRUTH)⚠️
|
|
3
|
+
* renderer 经 @lemonppt/templates 实际调用本文件。
|
|
4
|
+
* 镜像副本 `packages/themes/src/theme10/tokens.ts` 仅供 getTheme() 元数据使用。
|
|
5
|
+
* 改配色请先改本文件,再同步:
|
|
6
|
+
* cp packages/templates/src/themes/theme10/tokens.ts packages/themes/src/theme10/tokens.ts
|
|
7
|
+
*
|
|
8
|
+
* theme10 设计 Token。
|
|
9
|
+
* 风格:金色指数 · 金融编辑风 / Gold Index · Financial Editorial。
|
|
10
|
+
*
|
|
11
|
+
* 视觉坐标(与 theme08 黑金实验、theme09 墨韵专色、third-party theme10 全部区分开):
|
|
12
|
+
* 冰蓝主强调 #4a7fd4 + 香槟金/铜点睛 #d9b977 / #c97a52 + mono 数据字体 + 账本细线/刻度质感。
|
|
13
|
+
* 三情绪渐变(aurora / obsidian / ember)全部自写,不抄 theme10 third-party 的 dusk/midnight/dawn,
|
|
14
|
+
* 也不抄 theme08 的荧光金 #ECEF35 / Anton / 手绘箭头。
|
|
15
|
+
*
|
|
16
|
+
* 所有色值、类名、装饰语汇均为原创,不复制 third-party theme10 的实现、专色族
|
|
17
|
+
* (含其同族错值)、类名(lp-theme10-* 仅 our 自创骨架)与保留前缀变量。
|
|
18
|
+
*/
|
|
19
|
+
export type Theme10Mood = 'aurora' | 'obsidian' | 'ember';
|
|
20
|
+
export interface Theme10Tokens {
|
|
21
|
+
id: string;
|
|
22
|
+
displayName: string;
|
|
23
|
+
description: string;
|
|
24
|
+
colors: {
|
|
25
|
+
ink: string;
|
|
26
|
+
ink2: string;
|
|
27
|
+
ink3: string;
|
|
28
|
+
textInverse: string;
|
|
29
|
+
accent: string;
|
|
30
|
+
accent2: string;
|
|
31
|
+
gold: string;
|
|
32
|
+
goldAmber: string;
|
|
33
|
+
copper: string;
|
|
34
|
+
violet: string;
|
|
35
|
+
red: string;
|
|
36
|
+
green: string;
|
|
37
|
+
series: readonly string[];
|
|
38
|
+
background: string;
|
|
39
|
+
backgroundGradientStart: string;
|
|
40
|
+
backgroundGradientEnd: string;
|
|
41
|
+
surface: string;
|
|
42
|
+
surfaceStrong: string;
|
|
43
|
+
surfaceSolid: string;
|
|
44
|
+
surfaceElevated: string;
|
|
45
|
+
border: string;
|
|
46
|
+
borderStrong: string;
|
|
47
|
+
shadow: string;
|
|
48
|
+
rule: string;
|
|
49
|
+
ruleStrong: string;
|
|
50
|
+
glowBlue: string;
|
|
51
|
+
glowGold: string;
|
|
52
|
+
};
|
|
53
|
+
fonts: {
|
|
54
|
+
heading: string;
|
|
55
|
+
body: string;
|
|
56
|
+
mono: string;
|
|
57
|
+
en: string;
|
|
58
|
+
};
|
|
59
|
+
spacing: {
|
|
60
|
+
pagePadding: string;
|
|
61
|
+
sectionGap: string;
|
|
62
|
+
elementGap: string;
|
|
63
|
+
padTop: string;
|
|
64
|
+
padBottom: string;
|
|
65
|
+
cardPaddingLarge: string;
|
|
66
|
+
cardPaddingMedium: string;
|
|
67
|
+
};
|
|
68
|
+
borderRadius: {
|
|
69
|
+
small: string;
|
|
70
|
+
medium: string;
|
|
71
|
+
large: string;
|
|
72
|
+
};
|
|
73
|
+
fontSize: {
|
|
74
|
+
display: string;
|
|
75
|
+
displaySmall: string;
|
|
76
|
+
h1: string;
|
|
77
|
+
h2: string;
|
|
78
|
+
h3: string;
|
|
79
|
+
body: string;
|
|
80
|
+
bodySmall: string;
|
|
81
|
+
caption: string;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
export declare const theme10Tokens: Theme10Tokens;
|
|
85
|
+
export declare function getTheme10Tokens(): Theme10Tokens;
|
|
86
|
+
export declare function generateTheme10CssVariables(mood?: Theme10Mood): string;
|
|
87
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/theme10/tokens.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAE1D,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QACN,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;QAC1B,UAAU,EAAE,MAAM,CAAC;QACnB,uBAAuB,EAAE,MAAM,CAAC;QAChC,qBAAqB,EAAE,MAAM,CAAC;QAC9B,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,OAAO,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,YAAY,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AA8GD,eAAO,MAAM,aAAa,eAAsB,CAAC;AAEjD,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD;AAoFD,wBAAgB,2BAA2B,CAAC,IAAI,GAAE,WAAwB,GAAG,MAAM,CAalF"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
// lemonPPT - AI-powered presentation generation
|
|
2
|
+
// Copyright (c) 2026 lemonforme
|
|
3
|
+
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
4
|
+
/* ────────────────────────────────────────────────────────────────
|
|
5
|
+
* 三情绪基底(全部自写渐变定义)
|
|
6
|
+
* ──────────────────────────────────────────────────────────────── */
|
|
7
|
+
const MOOD_GRADIENT = {
|
|
8
|
+
// 暗→香槟金收尾:封面、高端页(制造金线冲击)
|
|
9
|
+
aurora: 'linear-gradient(158deg, #0a0e14 0%, #16202c 30%, #2c3a44 60%, #6b5e4e 85%, #b89a78 100%)',
|
|
10
|
+
// 深海军蓝近黑:数据/内容页(保证可读)
|
|
11
|
+
obsidian: 'radial-gradient(120% 85% at 72% 8%, #1a2433 0%, #0c1118 52%, #05070b 100%)',
|
|
12
|
+
// 暖紫铜晨曦:章节/金句/影像页(暖调变奏)
|
|
13
|
+
ember: 'linear-gradient(160deg, #171320 0%, #46363f 38%, #8a6356 72%, #cfa882 100%)',
|
|
14
|
+
};
|
|
15
|
+
/* ────────────────────────────────────────────────────────────────
|
|
16
|
+
* 强调色系统(冰蓝主 + 金铜点睛,自写 hex,与 third-party 同族错值)
|
|
17
|
+
* 全部经 WCAG 2.1 AA 预校验(近白 #eef1f6 在 #05070b 上 ≥ 15:1;
|
|
18
|
+
* 冰蓝 #4a7fd4 / 香槟金 #d9b977 在深底上 ≥ 4.5:1)
|
|
19
|
+
* ──────────────────────────────────────────────────────────────── */
|
|
20
|
+
const C = {
|
|
21
|
+
ink: '#eef1f6',
|
|
22
|
+
ink2: '#a9b2c0',
|
|
23
|
+
ink3: '#7e889b',
|
|
24
|
+
inverse: '#05070b',
|
|
25
|
+
accent: '#4a7fd4', // 冰蓝主
|
|
26
|
+
accent2: '#6f9bd8', // 柔蓝
|
|
27
|
+
gold: '#d9b977', // 香槟金
|
|
28
|
+
goldAmber: '#e8a23a', // 琥珀金
|
|
29
|
+
copper: '#c97a52', // 铜橙
|
|
30
|
+
violet: '#9a82dc', // 紫罗兰
|
|
31
|
+
red: '#e0615a', // 涨/强信号(暖红,区别于 copper)
|
|
32
|
+
green: '#5fb89a', // 跌/正向(青绿,金融可读)
|
|
33
|
+
};
|
|
34
|
+
const SERIES = [C.accent, C.gold, C.goldAmber, C.copper, C.violet, C.accent2];
|
|
35
|
+
const BASE_BG = '#0a0e14';
|
|
36
|
+
const BG_START = '#0c121b';
|
|
37
|
+
const BG_END = '#05070b';
|
|
38
|
+
function buildTokenCatalog() {
|
|
39
|
+
return {
|
|
40
|
+
id: 'theme10',
|
|
41
|
+
displayName: 'Theme 10',
|
|
42
|
+
description: '金色指数 · 金融编辑风:墨黑金线底 + 冰蓝主强调 + 香槟金/铜点睛,sans+mono 数据字体,账本细线/刻度质感,适合金融数据、投资报告、商业指数与投研白皮书',
|
|
43
|
+
colors: {
|
|
44
|
+
ink: C.ink,
|
|
45
|
+
ink2: C.ink2,
|
|
46
|
+
ink3: C.ink3,
|
|
47
|
+
textInverse: C.inverse,
|
|
48
|
+
accent: C.accent,
|
|
49
|
+
accent2: C.accent2,
|
|
50
|
+
gold: C.gold,
|
|
51
|
+
goldAmber: C.goldAmber,
|
|
52
|
+
copper: C.copper,
|
|
53
|
+
violet: C.violet,
|
|
54
|
+
red: C.red,
|
|
55
|
+
green: C.green,
|
|
56
|
+
series: SERIES,
|
|
57
|
+
background: BASE_BG,
|
|
58
|
+
backgroundGradientStart: BG_START,
|
|
59
|
+
backgroundGradientEnd: BG_END,
|
|
60
|
+
surface: 'color-mix(in srgb, #eef1f6 6%, transparent)',
|
|
61
|
+
surfaceStrong: 'color-mix(in srgb, #eef1f6 11%, transparent)',
|
|
62
|
+
surfaceSolid: '#121823',
|
|
63
|
+
surfaceElevated: '#1a2230',
|
|
64
|
+
border: 'color-mix(in srgb, #eef1f6 16%, transparent)',
|
|
65
|
+
borderStrong: 'color-mix(in srgb, #eef1f6 30%, transparent)',
|
|
66
|
+
shadow: '0 22px 54px rgba(0, 0, 0, 0.55)',
|
|
67
|
+
rule: 'color-mix(in srgb, #eef1f6 14%, transparent)',
|
|
68
|
+
ruleStrong: 'color-mix(in srgb, #eef1f6 34%, transparent)',
|
|
69
|
+
glowBlue: 'color-mix(in srgb, #4a7fd4 30%, transparent)',
|
|
70
|
+
glowGold: 'color-mix(in srgb, #d9b977 26%, transparent)',
|
|
71
|
+
},
|
|
72
|
+
fonts: {
|
|
73
|
+
heading: '"Inter", "Noto Sans SC", system-ui, sans-serif',
|
|
74
|
+
body: '"Noto Sans SC", system-ui, sans-serif',
|
|
75
|
+
mono: '"Space Mono", "IBM Plex Mono", ui-monospace, monospace',
|
|
76
|
+
en: '"Newsreader", Georgia, "Noto Serif SC", serif',
|
|
77
|
+
},
|
|
78
|
+
spacing: {
|
|
79
|
+
pagePadding: '60px',
|
|
80
|
+
sectionGap: '30px',
|
|
81
|
+
elementGap: '14px',
|
|
82
|
+
padTop: '72px',
|
|
83
|
+
padBottom: '68px',
|
|
84
|
+
cardPaddingLarge: '30px 34px',
|
|
85
|
+
cardPaddingMedium: '20px 24px',
|
|
86
|
+
},
|
|
87
|
+
borderRadius: {
|
|
88
|
+
small: '6px',
|
|
89
|
+
medium: '10px',
|
|
90
|
+
large: '14px',
|
|
91
|
+
},
|
|
92
|
+
fontSize: {
|
|
93
|
+
display: '104px',
|
|
94
|
+
displaySmall: '72px',
|
|
95
|
+
h1: '46px',
|
|
96
|
+
h2: '32px',
|
|
97
|
+
h3: '22px',
|
|
98
|
+
body: '17px',
|
|
99
|
+
bodySmall: '14px',
|
|
100
|
+
caption: '12px',
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
export const theme10Tokens = buildTokenCatalog();
|
|
105
|
+
export function getTheme10Tokens() {
|
|
106
|
+
return buildTokenCatalog();
|
|
107
|
+
}
|
|
108
|
+
/* ────────────────────────────────────────────────────────────────
|
|
109
|
+
* CSS 变量生成(被 render.tsx / gallery.mjs 注入到 <style>)
|
|
110
|
+
*
|
|
111
|
+
* 层叠顺序:
|
|
112
|
+
* 1. :root 兜底(obsidian 默认)
|
|
113
|
+
* 2. .lp-theme10-mood-aurora / obsidian / ember(按版式预分配情绪)
|
|
114
|
+
* ──────────────────────────────────────────────────────────────── */
|
|
115
|
+
function buildCssVars() {
|
|
116
|
+
const t = buildTokenCatalog();
|
|
117
|
+
const c = t.colors;
|
|
118
|
+
return `
|
|
119
|
+
--lp-ink: ${c.ink};
|
|
120
|
+
--lp-ink2: ${c.ink2};
|
|
121
|
+
--lp-ink3: ${c.ink3};
|
|
122
|
+
--lp-text-inverse: ${c.textInverse};
|
|
123
|
+
--lp-accent: ${c.accent};
|
|
124
|
+
--lp-accent-2: ${c.accent2};
|
|
125
|
+
--lp-gold: ${c.gold};
|
|
126
|
+
--lp-gold-amber: ${c.goldAmber};
|
|
127
|
+
--lp-copper: ${c.copper};
|
|
128
|
+
--lp-violet: ${c.violet};
|
|
129
|
+
--lp-red: ${c.red};
|
|
130
|
+
--lp-green: ${c.green};
|
|
131
|
+
--lp-series-1: ${c.series[0]};
|
|
132
|
+
--lp-series-2: ${c.series[1]};
|
|
133
|
+
--lp-series-3: ${c.series[2]};
|
|
134
|
+
--lp-series-4: ${c.series[3]};
|
|
135
|
+
--lp-series-5: ${c.series[4]};
|
|
136
|
+
--lp-series-6: ${c.series[5]};
|
|
137
|
+
--lp-bg: ${c.background};
|
|
138
|
+
--lp-bg-gradient-start: ${c.backgroundGradientStart};
|
|
139
|
+
--lp-bg-gradient-end: ${c.backgroundGradientEnd};
|
|
140
|
+
--lp-surface: ${c.surface};
|
|
141
|
+
--lp-surface-strong: ${c.surfaceStrong};
|
|
142
|
+
--lp-surface-solid: ${c.surfaceSolid};
|
|
143
|
+
--lp-surface-elevated: ${c.surfaceElevated};
|
|
144
|
+
--lp-border: ${c.border};
|
|
145
|
+
--lp-border-strong: ${c.borderStrong};
|
|
146
|
+
--lp-shadow: ${c.shadow};
|
|
147
|
+
--lp-rule: ${c.rule};
|
|
148
|
+
--lp-rule-strong: ${c.ruleStrong};
|
|
149
|
+
--lp-glow-blue: ${c.glowBlue};
|
|
150
|
+
--lp-glow-gold: ${c.glowGold};
|
|
151
|
+
--lp-font: ${t.fonts.body};
|
|
152
|
+
--lp-font-mono: ${t.fonts.mono};
|
|
153
|
+
--lp-font-heading: ${t.fonts.heading};
|
|
154
|
+
--lp-radius-small: ${t.borderRadius.small};
|
|
155
|
+
--lp-radius-medium: ${t.borderRadius.medium};
|
|
156
|
+
--lp-radius-large: ${t.borderRadius.large};
|
|
157
|
+
--lp-font-size-display: ${t.fontSize.display};
|
|
158
|
+
--lp-font-size-display-small: ${t.fontSize.displaySmall};
|
|
159
|
+
--lp-font-size-h1: ${t.fontSize.h1};
|
|
160
|
+
--lp-font-size-h2: ${t.fontSize.h2};
|
|
161
|
+
--lp-font-size-h3: ${t.fontSize.h3};
|
|
162
|
+
--lp-font-size-body: ${t.fontSize.body};
|
|
163
|
+
--lp-font-size-body-small: ${t.fontSize.bodySmall};
|
|
164
|
+
--lp-font-size-caption: ${t.fontSize.caption};
|
|
165
|
+
/* 通用布局别名 */
|
|
166
|
+
--lp-card-border: var(--lp-border);
|
|
167
|
+
--lp-card-radius: var(--lp-radius-large);
|
|
168
|
+
--lp-card-surface: var(--lp-surface-solid);
|
|
169
|
+
--lp-card-accent: color-mix(in srgb, var(--lp-accent) 14%, transparent);
|
|
170
|
+
--lp-card-accent-border: var(--lp-accent);
|
|
171
|
+
--lp-on-accent: #05070b;
|
|
172
|
+
--lp-error: var(--lp-red);
|
|
173
|
+
--lp-warning: var(--lp-gold-amber);
|
|
174
|
+
--lp-success: var(--lp-green);
|
|
175
|
+
--lp-font-display: ${t.fonts.heading};
|
|
176
|
+
/* theme10 专有:金融编辑语汇 */
|
|
177
|
+
--lp-t10-mood: obsidian;
|
|
178
|
+
--lp-t10-en: ${t.fonts.en};
|
|
179
|
+
--lp-t10-rule: ${c.rule};
|
|
180
|
+
--lp-t10-rule-strong: ${c.ruleStrong};
|
|
181
|
+
--lp-t10-gold: ${c.gold};
|
|
182
|
+
--lp-t10-gold-amber: ${c.goldAmber};
|
|
183
|
+
--lp-t10-copper: ${c.copper};
|
|
184
|
+
--lp-t10-blue: ${c.accent};
|
|
185
|
+
--lp-t10-ticker-h: 30px;
|
|
186
|
+
--lp-t10-scale-unit: 22px;
|
|
187
|
+
`;
|
|
188
|
+
}
|
|
189
|
+
export function generateTheme10CssVariables(mood = 'obsidian') {
|
|
190
|
+
const blocks = [];
|
|
191
|
+
// 1) :root 兜底(obsidian 默认)
|
|
192
|
+
blocks.push(`:root {\n${buildCssVars()}\n --lp-t10-mood: obsidian;\n}`);
|
|
193
|
+
// 2) 三情绪类(按版式预分配,形成翻页节奏)
|
|
194
|
+
for (const m of ['aurora', 'obsidian', 'ember']) {
|
|
195
|
+
blocks.push(`.lp-theme10-mood-${m} {\n --lp-mood-gradient: ${MOOD_GRADIENT[m]};\n --lp-t10-mood: ${m};\n}`);
|
|
196
|
+
}
|
|
197
|
+
// 兼容直接挂在 <html data-mood> 的全局设定
|
|
198
|
+
blocks.push(`:root[data-mood="${mood}"] {\n${buildCssVars()}\n}`);
|
|
199
|
+
return blocks.join('\n');
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/theme10/tokens.ts"],"names":[],"mappings":"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"}
|