@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.
Files changed (54) hide show
  1. package/dist/index.d.ts +169 -60
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +13 -7
  4. package/dist/index.js.map +1 -1
  5. package/dist/theme01/tokens.d.ts +72 -0
  6. package/dist/theme01/tokens.d.ts.map +1 -0
  7. package/dist/theme01/tokens.js +79 -0
  8. package/dist/theme01/tokens.js.map +1 -0
  9. package/dist/theme02/tokens.d.ts +73 -0
  10. package/dist/theme02/tokens.d.ts.map +1 -0
  11. package/dist/theme02/tokens.js +81 -0
  12. package/dist/theme02/tokens.js.map +1 -0
  13. package/dist/theme03/tokens.d.ts +322 -0
  14. package/dist/theme03/tokens.d.ts.map +1 -0
  15. package/dist/theme03/tokens.js +279 -0
  16. package/dist/theme03/tokens.js.map +1 -0
  17. package/dist/theme04/tokens.d.ts +94 -0
  18. package/dist/theme04/tokens.d.ts.map +1 -0
  19. package/dist/theme04/tokens.js +305 -0
  20. package/dist/theme04/tokens.js.map +1 -0
  21. package/dist/theme05/tokens.d.ts +92 -0
  22. package/dist/theme05/tokens.d.ts.map +1 -0
  23. package/dist/theme05/tokens.js +275 -0
  24. package/dist/theme05/tokens.js.map +1 -0
  25. package/dist/theme06/tokens.d.ts +101 -0
  26. package/dist/theme06/tokens.d.ts.map +1 -0
  27. package/dist/theme06/tokens.js +320 -0
  28. package/dist/theme06/tokens.js.map +1 -0
  29. package/package.json +2 -2
  30. package/src/theme01/styles.css +4796 -0
  31. package/src/theme02/styles.css +4624 -0
  32. package/src/theme03/styles.css +8348 -0
  33. package/src/theme04/styles.css +8739 -0
  34. package/src/theme05/styles.css +3587 -0
  35. package/src/theme06/styles.css +7071 -0
  36. package/dist/base/tokens.d.ts +0 -34
  37. package/dist/base/tokens.d.ts.map +0 -1
  38. package/dist/base/tokens.js +0 -37
  39. package/dist/base/tokens.js.map +0 -1
  40. package/dist/dark-tech/tokens.d.ts +0 -34
  41. package/dist/dark-tech/tokens.d.ts.map +0 -1
  42. package/dist/dark-tech/tokens.js +0 -37
  43. package/dist/dark-tech/tokens.js.map +0 -1
  44. package/dist/minimal/tokens.d.ts +0 -34
  45. package/dist/minimal/tokens.d.ts.map +0 -1
  46. package/dist/minimal/tokens.js +0 -34
  47. package/dist/minimal/tokens.js.map +0 -1
  48. package/dist/warm-business/tokens.d.ts +0 -34
  49. package/dist/warm-business/tokens.d.ts.map +0 -1
  50. package/dist/warm-business/tokens.js +0 -37
  51. package/dist/warm-business/tokens.js.map +0 -1
  52. package/src/base/styles.css +0 -3061
  53. package/src/dark-tech/styles.css +0 -2969
  54. 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":"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,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,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;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,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,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,MAAM,CAAC;AACjD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAqG/D,eAAO,MAAM,aAAa,eAAqC,CAAC;AAEhE,wBAAgB,gBAAgB,CAAC,UAAU,GAAE,iBAA0B,EAAE,IAAI,GAAE,WAAqB,GAAG,aAAa,CAEnH;AAoND;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,GAAE,iBAA0B,EACtC,IAAI,GAAE,WAAqB,GAC1B,MAAM,CAER;AAED;;;GAGG;AACH,wBAAgB,iDAAiD,IAAI,MAAM,CAoC1E;AAED;;GAEG;AACH,wBAAgB,yCAAyC,IAAI,MAAM,CAElE"}
@@ -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"}