@lemonppt/themes 0.1.7 → 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.
- package/dist/index.d.ts +169 -60
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -7
- package/dist/index.js.map +1 -1
- package/dist/theme01/tokens.d.ts +72 -0
- package/dist/theme01/tokens.d.ts.map +1 -0
- package/dist/theme01/tokens.js +79 -0
- package/dist/theme01/tokens.js.map +1 -0
- package/dist/theme02/tokens.d.ts +73 -0
- package/dist/theme02/tokens.d.ts.map +1 -0
- package/dist/theme02/tokens.js +81 -0
- package/dist/theme02/tokens.js.map +1 -0
- package/dist/theme03/tokens.d.ts +322 -0
- package/dist/theme03/tokens.d.ts.map +1 -0
- package/dist/theme03/tokens.js +279 -0
- package/dist/theme03/tokens.js.map +1 -0
- package/dist/theme04/tokens.d.ts +94 -0
- package/dist/theme04/tokens.d.ts.map +1 -0
- package/dist/theme04/tokens.js +305 -0
- package/dist/theme04/tokens.js.map +1 -0
- package/dist/theme05/tokens.d.ts +92 -0
- package/dist/theme05/tokens.d.ts.map +1 -0
- package/dist/theme05/tokens.js +275 -0
- package/dist/theme05/tokens.js.map +1 -0
- package/dist/theme06/tokens.d.ts +101 -0
- package/dist/theme06/tokens.d.ts.map +1 -0
- package/dist/theme06/tokens.js +320 -0
- package/dist/theme06/tokens.js.map +1 -0
- package/package.json +2 -2
- package/src/theme01/styles.css +4796 -0
- package/src/theme02/styles.css +4624 -0
- package/src/theme03/styles.css +8348 -0
- package/src/theme04/styles.css +8739 -0
- package/src/theme05/styles.css +3587 -0
- package/src/theme06/styles.css +7071 -0
- package/dist/base/tokens.d.ts +0 -34
- package/dist/base/tokens.d.ts.map +0 -1
- package/dist/base/tokens.js +0 -37
- package/dist/base/tokens.js.map +0 -1
- package/dist/dark-tech/tokens.d.ts +0 -34
- package/dist/dark-tech/tokens.d.ts.map +0 -1
- package/dist/dark-tech/tokens.js +0 -37
- package/dist/dark-tech/tokens.js.map +0 -1
- package/dist/minimal/tokens.d.ts +0 -34
- package/dist/minimal/tokens.d.ts.map +0 -1
- package/dist/minimal/tokens.js +0 -34
- package/dist/minimal/tokens.js.map +0 -1
- package/dist/warm-business/tokens.d.ts +0 -34
- package/dist/warm-business/tokens.d.ts.map +0 -1
- package/dist/warm-business/tokens.js +0 -37
- package/dist/warm-business/tokens.js.map +0 -1
- package/src/base/styles.css +0 -3061
- package/src/dark-tech/styles.css +0 -2969
- package/src/warm-business/styles.css +0 -2848
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* theme04 设计 Token。
|
|
3
|
+
* 风格:玻璃糖果风 / Glass Candy。
|
|
4
|
+
* 深色玻璃底 + 糖果色胶囊高光,浅色纸面模式用于清新场景。
|
|
5
|
+
* 支持 4 套糖果色调(green / yellow / blue / pink)与 light / dark 双外观。
|
|
6
|
+
*/
|
|
7
|
+
export interface Theme04Tokens {
|
|
8
|
+
id: string;
|
|
9
|
+
displayName: string;
|
|
10
|
+
description: string;
|
|
11
|
+
colors: {
|
|
12
|
+
ink: string;
|
|
13
|
+
ink2: string;
|
|
14
|
+
ink3: string;
|
|
15
|
+
textInverse: string;
|
|
16
|
+
accent: string;
|
|
17
|
+
accent2: string;
|
|
18
|
+
accentCool: string;
|
|
19
|
+
red: string;
|
|
20
|
+
blue: string;
|
|
21
|
+
green: string;
|
|
22
|
+
yellow: string;
|
|
23
|
+
violet: string;
|
|
24
|
+
pink: string;
|
|
25
|
+
orange: string;
|
|
26
|
+
cyan: string;
|
|
27
|
+
series: readonly string[];
|
|
28
|
+
background: string;
|
|
29
|
+
surface: string;
|
|
30
|
+
surfaceStrong: string;
|
|
31
|
+
surfaceSolid: string;
|
|
32
|
+
border: string;
|
|
33
|
+
shadow: string;
|
|
34
|
+
shadowSmall: string;
|
|
35
|
+
glowA: string;
|
|
36
|
+
glowB: string;
|
|
37
|
+
glowC: string;
|
|
38
|
+
};
|
|
39
|
+
fonts: {
|
|
40
|
+
heading: string;
|
|
41
|
+
body: string;
|
|
42
|
+
mono: string;
|
|
43
|
+
en: string;
|
|
44
|
+
};
|
|
45
|
+
spacing: {
|
|
46
|
+
pagePadding: string;
|
|
47
|
+
sectionGap: string;
|
|
48
|
+
elementGap: string;
|
|
49
|
+
padTop: string;
|
|
50
|
+
padBottom: string;
|
|
51
|
+
cardPaddingLarge: string;
|
|
52
|
+
cardPaddingMedium: string;
|
|
53
|
+
};
|
|
54
|
+
borderRadius: {
|
|
55
|
+
small: string;
|
|
56
|
+
medium: string;
|
|
57
|
+
large: string;
|
|
58
|
+
};
|
|
59
|
+
fontSize: {
|
|
60
|
+
display: string;
|
|
61
|
+
displaySmall: string;
|
|
62
|
+
h1: string;
|
|
63
|
+
h2: string;
|
|
64
|
+
h3: string;
|
|
65
|
+
body: string;
|
|
66
|
+
bodySmall: string;
|
|
67
|
+
caption: string;
|
|
68
|
+
};
|
|
69
|
+
effect: {
|
|
70
|
+
glassBlur: string;
|
|
71
|
+
glassBorder: string;
|
|
72
|
+
riseDistance: string;
|
|
73
|
+
riseDuration: string;
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
export type Theme04Appearance = 'light' | 'dark';
|
|
77
|
+
export type Theme04Tone = 'green' | 'yellow' | 'blue' | 'pink';
|
|
78
|
+
export declare const theme04Tokens: Theme04Tokens;
|
|
79
|
+
export declare function getTheme04Tokens(appearance?: Theme04Appearance, tone?: Theme04Tone): Theme04Tokens;
|
|
80
|
+
/**
|
|
81
|
+
* 生成 theme04 CSS 变量字符串。
|
|
82
|
+
* 支持 light / dark 外观与 4 套糖果色调。
|
|
83
|
+
*/
|
|
84
|
+
export declare function generateTheme04CssVariables(appearance?: Theme04Appearance, tone?: Theme04Tone): string;
|
|
85
|
+
/**
|
|
86
|
+
* 生成同时包含 light / dark 外观与 4 套色调的 CSS 字符串。
|
|
87
|
+
* 通过 :root 的 data-appearance 与 data-theme 属性切换。
|
|
88
|
+
*/
|
|
89
|
+
export declare function generateTheme04CssVariablesWithTonesAndAppearance(): string;
|
|
90
|
+
/**
|
|
91
|
+
* 保持向后兼容的旧函数名:默认深绿。
|
|
92
|
+
*/
|
|
93
|
+
export declare function generateTheme04CssVariablesWithAppearance(): string;
|
|
94
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/theme04/tokens.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
// lemonPPT - AI-powered presentation generation
|
|
2
|
+
// Copyright (c) 2026 lemonforme
|
|
3
|
+
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
4
|
+
const tonePalettes = {
|
|
5
|
+
green: {
|
|
6
|
+
dark: { accent: '#3ade80', accent2: '#ff6b9d', accentCool: '#4ecdc4' },
|
|
7
|
+
light: { accent: '#22a55c', accent2: '#db2777', accentCool: '#0d9488' },
|
|
8
|
+
},
|
|
9
|
+
yellow: {
|
|
10
|
+
dark: { accent: '#ffd166', accent2: '#ff6b9d', accentCool: '#4ecdc4' },
|
|
11
|
+
light: { accent: '#d97706', accent2: '#db2777', accentCool: '#0d9488' },
|
|
12
|
+
},
|
|
13
|
+
blue: {
|
|
14
|
+
dark: { accent: '#4ecdc4', accent2: '#ffd166', accentCool: '#ff6b9d' },
|
|
15
|
+
light: { accent: '#0d9488', accent2: '#d97706', accentCool: '#db2777' },
|
|
16
|
+
},
|
|
17
|
+
pink: {
|
|
18
|
+
dark: { accent: '#ff6b9d', accent2: '#4ecdc4', accentCool: '#ffd166' },
|
|
19
|
+
light: { accent: '#db2777', accent2: '#0d9488', accentCool: '#d97706' },
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
function buildTokenCatalog(appearance, tone) {
|
|
23
|
+
const palette = tonePalettes[tone][appearance];
|
|
24
|
+
const isLight = appearance === 'light';
|
|
25
|
+
return {
|
|
26
|
+
id: 'theme04',
|
|
27
|
+
displayName: 'Theme 04',
|
|
28
|
+
description: '玻璃糖果风,糖果色胶囊高光与圆润玻璃卡片,适合年轻化品牌与创意提案',
|
|
29
|
+
colors: {
|
|
30
|
+
ink: isLight ? '#1a1a1a' : '#f4f4f5',
|
|
31
|
+
ink2: isLight ? 'rgba(26, 26, 26, 0.72)' : 'rgba(244, 244, 245, 0.72)',
|
|
32
|
+
ink3: isLight ? 'rgba(26, 26, 26, 0.48)' : 'rgba(244, 244, 245, 0.48)',
|
|
33
|
+
textInverse: isLight ? '#fafaf8' : '#0a0a0a',
|
|
34
|
+
accent: palette.accent,
|
|
35
|
+
accent2: palette.accent2,
|
|
36
|
+
accentCool: palette.accentCool,
|
|
37
|
+
red: isLight ? '#ef4444' : '#ff6b6b',
|
|
38
|
+
blue: palette.accentCool,
|
|
39
|
+
green: palette.accent,
|
|
40
|
+
yellow: isLight ? '#d97706' : '#ffd166',
|
|
41
|
+
violet: isLight ? '#7c3aed' : '#a78bfa',
|
|
42
|
+
pink: palette.accent2,
|
|
43
|
+
orange: isLight ? '#ea580c' : '#ff8a5b',
|
|
44
|
+
cyan: palette.accentCool,
|
|
45
|
+
series: [palette.accent, palette.accent2, palette.accentCool, isLight ? '#d97706' : '#ffd166', isLight ? '#7c3aed' : '#a78bfa', isLight ? '#ea580c' : '#ff8a5b'],
|
|
46
|
+
background: isLight ? '#fafaf8' : '#0a0a0a',
|
|
47
|
+
surface: isLight ? 'rgba(0, 0, 0, 0.04)' : 'rgba(255, 255, 255, 0.06)',
|
|
48
|
+
surfaceStrong: isLight ? 'rgba(0, 0, 0, 0.08)' : 'rgba(255, 255, 255, 0.12)',
|
|
49
|
+
surfaceSolid: isLight ? '#ffffff' : '#121212',
|
|
50
|
+
border: isLight ? 'rgba(0, 0, 0, 0.10)' : 'rgba(255, 255, 255, 0.12)',
|
|
51
|
+
shadow: isLight ? '0 24px 60px rgba(0, 0, 0, 0.10)' : '0 24px 60px rgba(0, 0, 0, 0.45)',
|
|
52
|
+
shadowSmall: isLight ? '0 8px 24px rgba(0, 0, 0, 0.07)' : '0 8px 24px rgba(0, 0, 0, 0.35)',
|
|
53
|
+
glowA: hexToRgba(palette.accent, 0.20),
|
|
54
|
+
glowB: hexToRgba(palette.accent2, 0.16),
|
|
55
|
+
glowC: hexToRgba(palette.accentCool, 0.12),
|
|
56
|
+
},
|
|
57
|
+
fonts: {
|
|
58
|
+
heading: '"Space Grotesk", "Noto Sans SC", "PingFang SC", system-ui, sans-serif',
|
|
59
|
+
body: '"Inter", "Noto Sans SC", "PingFang SC", system-ui, sans-serif',
|
|
60
|
+
mono: '"Space Mono", "JetBrains Mono", ui-monospace, monospace',
|
|
61
|
+
en: '"Space Grotesk", "Space Mono", ui-monospace, monospace',
|
|
62
|
+
},
|
|
63
|
+
spacing: {
|
|
64
|
+
pagePadding: '108px',
|
|
65
|
+
sectionGap: '44px',
|
|
66
|
+
elementGap: '20px',
|
|
67
|
+
padTop: '92px',
|
|
68
|
+
padBottom: '84px',
|
|
69
|
+
cardPaddingLarge: '52px 60px',
|
|
70
|
+
cardPaddingMedium: '32px 28px',
|
|
71
|
+
},
|
|
72
|
+
borderRadius: {
|
|
73
|
+
small: '12px',
|
|
74
|
+
medium: '20px',
|
|
75
|
+
large: '999px',
|
|
76
|
+
},
|
|
77
|
+
fontSize: {
|
|
78
|
+
display: '96px',
|
|
79
|
+
displaySmall: '76px',
|
|
80
|
+
h1: '60px',
|
|
81
|
+
h2: '44px',
|
|
82
|
+
h3: '32px',
|
|
83
|
+
body: '22px',
|
|
84
|
+
bodySmall: '17px',
|
|
85
|
+
caption: '14px',
|
|
86
|
+
},
|
|
87
|
+
effect: {
|
|
88
|
+
glassBlur: 'blur(24px) saturate(160%)',
|
|
89
|
+
glassBorder: '1px solid rgba(255, 255, 255, 0.12)',
|
|
90
|
+
riseDistance: '18px',
|
|
91
|
+
riseDuration: '0.6s',
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
export const theme04Tokens = buildTokenCatalog('dark', 'green');
|
|
96
|
+
export function getTheme04Tokens(appearance = 'dark', tone = 'green') {
|
|
97
|
+
return buildTokenCatalog(appearance, tone);
|
|
98
|
+
}
|
|
99
|
+
function hexToRgba(hex, alpha) {
|
|
100
|
+
const sanitized = hex.replace('#', '');
|
|
101
|
+
const r = parseInt(sanitized.substring(0, 2), 16);
|
|
102
|
+
const g = parseInt(sanitized.substring(2, 4), 16);
|
|
103
|
+
const b = parseInt(sanitized.substring(4, 6), 16);
|
|
104
|
+
return `rgba(${r}, ${g}, ${b}, ${alpha})`;
|
|
105
|
+
}
|
|
106
|
+
const darkBase = {
|
|
107
|
+
ink: '#f4f4f5',
|
|
108
|
+
ink2: 'rgba(244, 244, 245, 0.72)',
|
|
109
|
+
ink3: 'rgba(244, 244, 245, 0.48)',
|
|
110
|
+
textInverse: '#0a0a0a',
|
|
111
|
+
bg: '#0a0a0a',
|
|
112
|
+
bgGradientStart: '#0a0a0a',
|
|
113
|
+
bgGradientEnd: '#121212',
|
|
114
|
+
surface: 'rgba(255, 255, 255, 0.06)',
|
|
115
|
+
surfaceStrong: 'rgba(255, 255, 255, 0.12)',
|
|
116
|
+
surfaceSolid: '#121212',
|
|
117
|
+
border: 'rgba(255, 255, 255, 0.12)',
|
|
118
|
+
shadow: '0 24px 60px rgba(0, 0, 0, 0.45)',
|
|
119
|
+
shadowSm: '0 8px 24px rgba(0, 0, 0, 0.35)',
|
|
120
|
+
shadowInset: '0 1px 0 rgba(255, 255, 255, 0.08) inset',
|
|
121
|
+
overlay: 'rgba(255, 255, 255, 0.04)',
|
|
122
|
+
overlayStrong: 'rgba(255, 255, 255, 0.08)',
|
|
123
|
+
divider: 'rgba(255, 255, 255, 0.09)',
|
|
124
|
+
scrim: 'rgba(0, 0, 0, 0.55)',
|
|
125
|
+
imageOverlay: 'linear-gradient(180deg, rgba(10, 10, 10, 0.72) 0%, rgba(10, 10, 10, 0.92) 100%)',
|
|
126
|
+
shadowRgb: '0, 0, 0',
|
|
127
|
+
stroke: 'rgba(255, 255, 255, 0.12)',
|
|
128
|
+
whiteAlpha80: 'rgba(255, 255, 255, 0.8)',
|
|
129
|
+
whiteAlpha85: 'rgba(255, 255, 255, 0.85)',
|
|
130
|
+
whiteAlpha90: 'rgba(255, 255, 255, 0.9)',
|
|
131
|
+
};
|
|
132
|
+
const lightBase = {
|
|
133
|
+
ink: '#1a1a1a',
|
|
134
|
+
ink2: 'rgba(26, 26, 26, 0.72)',
|
|
135
|
+
ink3: 'rgba(26, 26, 26, 0.48)',
|
|
136
|
+
textInverse: '#fafaf8',
|
|
137
|
+
bg: '#fafaf8',
|
|
138
|
+
bgGradientStart: '#fafaf8',
|
|
139
|
+
bgGradientEnd: '#f1f1ed',
|
|
140
|
+
surface: 'rgba(0, 0, 0, 0.04)',
|
|
141
|
+
surfaceStrong: 'rgba(0, 0, 0, 0.08)',
|
|
142
|
+
surfaceSolid: '#ffffff',
|
|
143
|
+
border: 'rgba(0, 0, 0, 0.10)',
|
|
144
|
+
shadow: '0 24px 60px rgba(0, 0, 0, 0.10)',
|
|
145
|
+
shadowSm: '0 8px 24px rgba(0, 0, 0, 0.07)',
|
|
146
|
+
shadowInset: '0 1px 0 rgba(0, 0, 0, 0.08) inset',
|
|
147
|
+
overlay: 'rgba(0, 0, 0, 0.04)',
|
|
148
|
+
overlayStrong: 'rgba(0, 0, 0, 0.08)',
|
|
149
|
+
divider: 'rgba(26, 26, 26, 0.08)',
|
|
150
|
+
scrim: 'rgba(255, 255, 255, 0.55)',
|
|
151
|
+
imageOverlay: 'linear-gradient(180deg, rgba(250, 250, 248, 0.72) 0%, rgba(250, 250, 248, 0.92) 100%)',
|
|
152
|
+
shadowRgb: '26, 26, 26',
|
|
153
|
+
stroke: 'rgba(0, 0, 0, 0.10)',
|
|
154
|
+
whiteAlpha80: 'rgba(255, 255, 255, 0.8)',
|
|
155
|
+
whiteAlpha85: 'rgba(255, 255, 255, 0.85)',
|
|
156
|
+
whiteAlpha90: 'rgba(255, 255, 255, 0.9)',
|
|
157
|
+
};
|
|
158
|
+
function makeCssTokens(appearance = 'dark', tone = 'green') {
|
|
159
|
+
const base = appearance === 'light' ? lightBase : darkBase;
|
|
160
|
+
const palette = tonePalettes[tone][appearance];
|
|
161
|
+
const { accent, accent2, accentCool } = palette;
|
|
162
|
+
const isLight = appearance === 'light';
|
|
163
|
+
return {
|
|
164
|
+
accent,
|
|
165
|
+
accent2,
|
|
166
|
+
accentCool,
|
|
167
|
+
red: isLight ? '#ef4444' : '#ff6b6b',
|
|
168
|
+
blue: accentCool,
|
|
169
|
+
green: accent,
|
|
170
|
+
yellow: isLight ? '#d97706' : '#ffd166',
|
|
171
|
+
violet: isLight ? '#7c3aed' : '#a78bfa',
|
|
172
|
+
pink: accent2,
|
|
173
|
+
orange: isLight ? '#ea580c' : '#ff8a5b',
|
|
174
|
+
cyan: accentCool,
|
|
175
|
+
series: [accent, accent2, accentCool, isLight ? '#d97706' : '#ffd166', isLight ? '#7c3aed' : '#a78bfa', isLight ? '#ea580c' : '#ff8a5b'],
|
|
176
|
+
...base,
|
|
177
|
+
glowAccent: hexToRgba(accent, 0.20),
|
|
178
|
+
glowAccentStrong: hexToRgba(accent, 0.30),
|
|
179
|
+
glowAccentSubtle: hexToRgba(accent, 0.10),
|
|
180
|
+
glowCool: hexToRgba(accent2, 0.16),
|
|
181
|
+
glowCoolStrong: hexToRgba(accent2, 0.24),
|
|
182
|
+
glowCoolSubtle: hexToRgba(accent2, 0.08),
|
|
183
|
+
glowWarm: hexToRgba(accentCool, 0.12),
|
|
184
|
+
glowWarmSubtle: hexToRgba(accentCool, 0.06),
|
|
185
|
+
font: '"Space Grotesk", "Noto Sans SC", "PingFang SC", system-ui, sans-serif',
|
|
186
|
+
fontMono: '"Space Mono", "JetBrains Mono", ui-monospace, monospace',
|
|
187
|
+
radiusSmall: '12px',
|
|
188
|
+
radiusMedium: '20px',
|
|
189
|
+
radiusLarge: '999px',
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
function buildCssVarsFromTokens(tokens) {
|
|
193
|
+
return `
|
|
194
|
+
--lp-ink: ${tokens.ink};
|
|
195
|
+
--lp-ink2: ${tokens.ink2};
|
|
196
|
+
--lp-ink3: ${tokens.ink3};
|
|
197
|
+
--lp-text-inverse: ${tokens.textInverse};
|
|
198
|
+
--lp-accent: ${tokens.accent};
|
|
199
|
+
--lp-accent-2: ${tokens.accent2};
|
|
200
|
+
--lp-accent-cool: ${tokens.accentCool};
|
|
201
|
+
--lp-red: ${tokens.red};
|
|
202
|
+
--lp-blue: ${tokens.blue};
|
|
203
|
+
--lp-green: ${tokens.green};
|
|
204
|
+
--lp-yellow: ${tokens.yellow};
|
|
205
|
+
--lp-violet: ${tokens.violet};
|
|
206
|
+
--lp-pink: ${tokens.pink};
|
|
207
|
+
--lp-orange: ${tokens.orange};
|
|
208
|
+
--lp-cyan: ${tokens.cyan};
|
|
209
|
+
--lp-bg: ${tokens.bg};
|
|
210
|
+
--lp-bg-gradient-start: ${tokens.bgGradientStart};
|
|
211
|
+
--lp-bg-gradient-end: ${tokens.bgGradientEnd};
|
|
212
|
+
--lp-surface: ${tokens.surface};
|
|
213
|
+
--lp-surface-strong: ${tokens.surfaceStrong};
|
|
214
|
+
--lp-surface-solid: ${tokens.surfaceSolid};
|
|
215
|
+
--lp-border: ${tokens.border};
|
|
216
|
+
--lp-shadow: ${tokens.shadow};
|
|
217
|
+
--lp-shadow-sm: ${tokens.shadowSm};
|
|
218
|
+
--lp-glow-accent: ${tokens.glowAccent};
|
|
219
|
+
--lp-glow-accent-strong: ${tokens.glowAccentStrong};
|
|
220
|
+
--lp-glow-accent-subtle: ${tokens.glowAccentSubtle};
|
|
221
|
+
--lp-glow-cool: ${tokens.glowCool};
|
|
222
|
+
--lp-glow-cool-strong: ${tokens.glowCoolStrong};
|
|
223
|
+
--lp-glow-cool-subtle: ${tokens.glowCoolSubtle};
|
|
224
|
+
--lp-glow-warm: ${tokens.glowWarm};
|
|
225
|
+
--lp-glow-warm-subtle: ${tokens.glowWarmSubtle};
|
|
226
|
+
--lp-shadow-inset: ${tokens.shadowInset};
|
|
227
|
+
--lp-overlay: ${tokens.overlay};
|
|
228
|
+
--lp-overlay-strong: ${tokens.overlayStrong};
|
|
229
|
+
--lp-divider: ${tokens.divider};
|
|
230
|
+
--lp-scrim: ${tokens.scrim};
|
|
231
|
+
--lp-image-overlay: ${tokens.imageOverlay};
|
|
232
|
+
--lp-shadow-rgb: ${tokens.shadowRgb};
|
|
233
|
+
--lp-stroke: ${tokens.stroke};
|
|
234
|
+
--lp-white-alpha-80: ${tokens.whiteAlpha80};
|
|
235
|
+
--lp-white-alpha-85: ${tokens.whiteAlpha85};
|
|
236
|
+
--lp-white-alpha-90: ${tokens.whiteAlpha90};
|
|
237
|
+
--lp-font: ${tokens.font};
|
|
238
|
+
--lp-font-mono: ${tokens.fontMono};
|
|
239
|
+
--lp-radius-small: ${tokens.radiusSmall};
|
|
240
|
+
--lp-radius-medium: ${tokens.radiusMedium};
|
|
241
|
+
--lp-radius-large: ${tokens.radiusLarge};
|
|
242
|
+
--lp-font-size-display: ${theme04Tokens.fontSize.display};
|
|
243
|
+
--lp-font-size-display-small: ${theme04Tokens.fontSize.displaySmall};
|
|
244
|
+
--lp-font-size-h1: ${theme04Tokens.fontSize.h1};
|
|
245
|
+
--lp-font-size-h2: ${theme04Tokens.fontSize.h2};
|
|
246
|
+
--lp-font-size-h3: ${theme04Tokens.fontSize.h3};
|
|
247
|
+
--lp-font-size-body: ${theme04Tokens.fontSize.body};
|
|
248
|
+
--lp-font-size-body-small: ${theme04Tokens.fontSize.bodySmall};
|
|
249
|
+
--lp-font-size-caption: ${theme04Tokens.fontSize.caption};
|
|
250
|
+
`.trim();
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* 生成 theme04 CSS 变量字符串。
|
|
254
|
+
* 支持 light / dark 外观与 4 套糖果色调。
|
|
255
|
+
*/
|
|
256
|
+
export function generateTheme04CssVariables(appearance = 'dark', tone = 'green') {
|
|
257
|
+
return buildCssVarsFromTokens(makeCssTokens(appearance, tone));
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* 生成同时包含 light / dark 外观与 4 套色调的 CSS 字符串。
|
|
261
|
+
* 通过 :root 的 data-appearance 与 data-theme 属性切换。
|
|
262
|
+
*/
|
|
263
|
+
export function generateTheme04CssVariablesWithTonesAndAppearance() {
|
|
264
|
+
const darkGreen = buildCssVarsFromTokens(makeCssTokens('dark', 'green'));
|
|
265
|
+
const darkYellow = buildCssVarsFromTokens(makeCssTokens('dark', 'yellow'));
|
|
266
|
+
const darkBlue = buildCssVarsFromTokens(makeCssTokens('dark', 'blue'));
|
|
267
|
+
const darkPink = buildCssVarsFromTokens(makeCssTokens('dark', 'pink'));
|
|
268
|
+
const lightGreen = buildCssVarsFromTokens(makeCssTokens('light', 'green'));
|
|
269
|
+
const lightYellow = buildCssVarsFromTokens(makeCssTokens('light', 'yellow'));
|
|
270
|
+
const lightBlue = buildCssVarsFromTokens(makeCssTokens('light', 'blue'));
|
|
271
|
+
const lightPink = buildCssVarsFromTokens(makeCssTokens('light', 'pink'));
|
|
272
|
+
return `
|
|
273
|
+
:root {
|
|
274
|
+
${darkGreen}
|
|
275
|
+
}
|
|
276
|
+
:root[data-theme="yellow"] {
|
|
277
|
+
${darkYellow}
|
|
278
|
+
}
|
|
279
|
+
:root[data-theme="blue"] {
|
|
280
|
+
${darkBlue}
|
|
281
|
+
}
|
|
282
|
+
:root[data-theme="pink"] {
|
|
283
|
+
${darkPink}
|
|
284
|
+
}
|
|
285
|
+
:root[data-appearance="light"] {
|
|
286
|
+
${lightGreen}
|
|
287
|
+
}
|
|
288
|
+
:root[data-appearance="light"][data-theme="yellow"] {
|
|
289
|
+
${lightYellow}
|
|
290
|
+
}
|
|
291
|
+
:root[data-appearance="light"][data-theme="blue"] {
|
|
292
|
+
${lightBlue}
|
|
293
|
+
}
|
|
294
|
+
:root[data-appearance="light"][data-theme="pink"] {
|
|
295
|
+
${lightPink}
|
|
296
|
+
}
|
|
297
|
+
`.trim();
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* 保持向后兼容的旧函数名:默认深绿。
|
|
301
|
+
*/
|
|
302
|
+
export function generateTheme04CssVariablesWithAppearance() {
|
|
303
|
+
return generateTheme04CssVariablesWithTonesAndAppearance();
|
|
304
|
+
}
|
|
305
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/theme04/tokens.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* theme05 设计 Token。
|
|
3
|
+
* 风格:光谱报告风 / Spectrum Report。
|
|
4
|
+
* 纸白/深色双底 + 高饱和光谱色带、模块化数据卡片、粗体编辑感排版、结论区标准化。
|
|
5
|
+
* 支持 5 套光谱强调色(coral / amber / teal / indigo / violet)与 light / dark 双外观。
|
|
6
|
+
*/
|
|
7
|
+
export interface Theme05Tokens {
|
|
8
|
+
id: string;
|
|
9
|
+
displayName: string;
|
|
10
|
+
description: string;
|
|
11
|
+
colors: {
|
|
12
|
+
ink: string;
|
|
13
|
+
ink2: string;
|
|
14
|
+
ink3: string;
|
|
15
|
+
textInverse: string;
|
|
16
|
+
accent: string;
|
|
17
|
+
accent2: string;
|
|
18
|
+
accentCool: string;
|
|
19
|
+
red: string;
|
|
20
|
+
orange: string;
|
|
21
|
+
amber: string;
|
|
22
|
+
yellow: string;
|
|
23
|
+
teal: string;
|
|
24
|
+
green: string;
|
|
25
|
+
cyan: string;
|
|
26
|
+
blue: string;
|
|
27
|
+
indigo: string;
|
|
28
|
+
violet: string;
|
|
29
|
+
purple: string;
|
|
30
|
+
series: readonly string[];
|
|
31
|
+
background: string;
|
|
32
|
+
surface: string;
|
|
33
|
+
surfaceStrong: string;
|
|
34
|
+
surfaceSolid: string;
|
|
35
|
+
border: string;
|
|
36
|
+
shadow: string;
|
|
37
|
+
shadowSmall: string;
|
|
38
|
+
};
|
|
39
|
+
fonts: {
|
|
40
|
+
heading: string;
|
|
41
|
+
body: string;
|
|
42
|
+
mono: string;
|
|
43
|
+
en: string;
|
|
44
|
+
};
|
|
45
|
+
spacing: {
|
|
46
|
+
pagePadding: string;
|
|
47
|
+
sectionGap: string;
|
|
48
|
+
elementGap: string;
|
|
49
|
+
padTop: string;
|
|
50
|
+
padBottom: string;
|
|
51
|
+
cardPaddingLarge: string;
|
|
52
|
+
cardPaddingMedium: string;
|
|
53
|
+
};
|
|
54
|
+
borderRadius: {
|
|
55
|
+
small: string;
|
|
56
|
+
medium: string;
|
|
57
|
+
large: string;
|
|
58
|
+
};
|
|
59
|
+
fontSize: {
|
|
60
|
+
display: string;
|
|
61
|
+
displaySmall: string;
|
|
62
|
+
h1: string;
|
|
63
|
+
h2: string;
|
|
64
|
+
h3: string;
|
|
65
|
+
body: string;
|
|
66
|
+
bodySmall: string;
|
|
67
|
+
caption: string;
|
|
68
|
+
};
|
|
69
|
+
effect: {
|
|
70
|
+
riseDistance: string;
|
|
71
|
+
riseDuration: string;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
export type Theme05Appearance = 'light' | 'dark';
|
|
75
|
+
export type Theme05ColorScheme = 'coral' | 'amber' | 'teal' | 'indigo' | 'violet';
|
|
76
|
+
export declare const theme05Tokens: Theme05Tokens;
|
|
77
|
+
export declare function getTheme05Tokens(appearance?: Theme05Appearance, colorScheme?: Theme05ColorScheme): Theme05Tokens;
|
|
78
|
+
/**
|
|
79
|
+
* 生成指定外观与强调色的 CSS 变量块,可直接注入 <style>。
|
|
80
|
+
* 输出包裹在 :root 选择器中,确保变量生效。
|
|
81
|
+
*/
|
|
82
|
+
export declare function generateTheme05CssVariables(appearance?: Theme05Appearance, colorScheme?: Theme05ColorScheme): string;
|
|
83
|
+
/**
|
|
84
|
+
* 生成默认 dark + coral 的 CSS 变量块。
|
|
85
|
+
*/
|
|
86
|
+
export declare function generateTheme05CssVariablesWithAppearance(): string;
|
|
87
|
+
/**
|
|
88
|
+
* 生成包含 5 套强调色 × 2 种外观的完整 CSS 变量块。
|
|
89
|
+
* 通过 :root 的 data-theme 与 data-appearance 属性切换,供编辑器和画廊使用。
|
|
90
|
+
*/
|
|
91
|
+
export declare function generateTheme05CssVariablesWithSchemesAndAppearance(): string;
|
|
92
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/theme05/tokens.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,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,UAAU,EAAE,MAAM,CAAC;QACnB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;QAC1B,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;KACrB,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;IACF,MAAM,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,MAAM,CAAC;AACjD,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAuGlF,eAAO,MAAM,aAAa,eAAqC,CAAC;AAEhE,wBAAgB,gBAAgB,CAAC,UAAU,GAAE,iBAA0B,EAAE,WAAW,GAAE,kBAA4B,GAAG,aAAa,CAEjI;AAmMD;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,GAAE,iBAA0B,EACtC,WAAW,GAAE,kBAA4B,GACxC,MAAM,CAGR;AAED;;GAEG;AACH,wBAAgB,yCAAyC,IAAI,MAAM,CAElE;AAED;;;GAGG;AACH,wBAAgB,mDAAmD,IAAI,MAAM,CAe5E"}
|