@lemonppt/themes 0.2.0 → 0.2.1
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
package/dist/index.d.ts
CHANGED
|
@@ -191,7 +191,7 @@ export declare const themes: readonly [{
|
|
|
191
191
|
readonly riseDistance: "18px";
|
|
192
192
|
readonly riseDuration: "0.6s";
|
|
193
193
|
};
|
|
194
|
-
}, import("./index.js").Theme04Tokens, import("./index.js").Theme05Tokens, import("./index.js").Theme06Tokens];
|
|
194
|
+
}, import("./index.js").Theme04Tokens, import("./index.js").Theme05Tokens, import("./index.js").Theme06Tokens, import("./index.js").Theme07Tokens, import("./index.js").Theme08Tokens, import("./index.js").Theme09Tokens, import("./index.js").Theme10Tokens];
|
|
195
195
|
export type ThemeToken = typeof themes[number];
|
|
196
196
|
export declare function getTheme(id: string): ThemeToken | undefined;
|
|
197
197
|
export * from './theme01/tokens.js';
|
|
@@ -200,4 +200,8 @@ export * from './theme03/tokens.js';
|
|
|
200
200
|
export * from './theme04/tokens.js';
|
|
201
201
|
export * from './theme05/tokens.js';
|
|
202
202
|
export * from './theme06/tokens.js';
|
|
203
|
+
export * from './theme07/tokens.js';
|
|
204
|
+
export * from './theme08/tokens.js';
|
|
205
|
+
export * from './theme09/tokens.js';
|
|
206
|
+
export * from './theme10/tokens.js';
|
|
203
207
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8PAAkK,CAAC;AAEtL,MAAM,MAAM,UAAU,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AAE/C,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAE3D;AAED,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -7,7 +7,11 @@ import { theme03Tokens } from './theme03/tokens.js';
|
|
|
7
7
|
import { theme04Tokens } from './theme04/tokens.js';
|
|
8
8
|
import { theme05Tokens } from './theme05/tokens.js';
|
|
9
9
|
import { theme06Tokens } from './theme06/tokens.js';
|
|
10
|
-
|
|
10
|
+
import { theme07Tokens } from './theme07/tokens.js';
|
|
11
|
+
import { theme08Tokens } from './theme08/tokens.js';
|
|
12
|
+
import { theme09Tokens } from './theme09/tokens.js';
|
|
13
|
+
import { theme10Tokens } from './theme10/tokens.js';
|
|
14
|
+
export const themes = [theme01Tokens, theme02Tokens, theme03Tokens, theme04Tokens, theme05Tokens, theme06Tokens, theme07Tokens, theme08Tokens, theme09Tokens, theme10Tokens];
|
|
11
15
|
export function getTheme(id) {
|
|
12
16
|
return themes.find((t) => t.id === id);
|
|
13
17
|
}
|
|
@@ -17,4 +21,8 @@ export * from './theme03/tokens.js';
|
|
|
17
21
|
export * from './theme04/tokens.js';
|
|
18
22
|
export * from './theme05/tokens.js';
|
|
19
23
|
export * from './theme06/tokens.js';
|
|
24
|
+
export * from './theme07/tokens.js';
|
|
25
|
+
export * from './theme08/tokens.js';
|
|
26
|
+
export * from './theme09/tokens.js';
|
|
27
|
+
export * from './theme10/tokens.js';
|
|
20
28
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,gCAAgC;AAChC,6CAA6C;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,gCAAgC;AAChC,6CAA6C;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,CAAU,CAAC;AAItL,MAAM,UAAU,QAAQ,CAAC,EAAU;IACjC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC"}
|
package/dist/theme03/tokens.js
CHANGED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* theme07 设计 Token。
|
|
3
|
+
* 风格:冷白调研风 / Cold White Research。
|
|
4
|
+
* 冷白底 + 深墨文字 + 低饱和强调色 + 结构化数据卡片,适合白皮书、调研报告、竞品分析、学术/政策型表达。
|
|
5
|
+
* 衬线标题增强学术感,单一冷白外观(接口预留 dark 扩展)。
|
|
6
|
+
*/
|
|
7
|
+
export interface Theme07Tokens {
|
|
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
|
+
backgroundGradientStart: string;
|
|
33
|
+
backgroundGradientEnd: string;
|
|
34
|
+
surface: string;
|
|
35
|
+
surfaceStrong: string;
|
|
36
|
+
surfaceSolid: string;
|
|
37
|
+
surfaceElevated: string;
|
|
38
|
+
border: string;
|
|
39
|
+
borderStrong: string;
|
|
40
|
+
shadow: string;
|
|
41
|
+
shadowSmall: string;
|
|
42
|
+
nodeBg: string;
|
|
43
|
+
nodeBorder: string;
|
|
44
|
+
edge: string;
|
|
45
|
+
focusGlow: string;
|
|
46
|
+
panelLine: string;
|
|
47
|
+
};
|
|
48
|
+
fonts: {
|
|
49
|
+
heading: string;
|
|
50
|
+
body: string;
|
|
51
|
+
mono: string;
|
|
52
|
+
en: string;
|
|
53
|
+
};
|
|
54
|
+
spacing: {
|
|
55
|
+
pagePadding: string;
|
|
56
|
+
sectionGap: string;
|
|
57
|
+
elementGap: string;
|
|
58
|
+
padTop: string;
|
|
59
|
+
padBottom: string;
|
|
60
|
+
cardPaddingLarge: string;
|
|
61
|
+
cardPaddingMedium: string;
|
|
62
|
+
};
|
|
63
|
+
borderRadius: {
|
|
64
|
+
small: string;
|
|
65
|
+
medium: string;
|
|
66
|
+
large: string;
|
|
67
|
+
};
|
|
68
|
+
fontSize: {
|
|
69
|
+
display: string;
|
|
70
|
+
displaySmall: string;
|
|
71
|
+
h1: string;
|
|
72
|
+
h2: string;
|
|
73
|
+
h3: string;
|
|
74
|
+
body: string;
|
|
75
|
+
bodySmall: string;
|
|
76
|
+
caption: string;
|
|
77
|
+
};
|
|
78
|
+
effect: {
|
|
79
|
+
riseDistance: string;
|
|
80
|
+
riseDuration: string;
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
export type Theme07Appearance = 'light' | 'dark';
|
|
84
|
+
export declare const theme07Tokens: Theme07Tokens;
|
|
85
|
+
export declare function getTheme07Tokens(appearance?: Theme07Appearance): Theme07Tokens;
|
|
86
|
+
/**
|
|
87
|
+
* 生成指定外观的 CSS 变量块,可直接注入 <style>。
|
|
88
|
+
*/
|
|
89
|
+
export declare function generateTheme07CssVariables(appearance?: Theme07Appearance): string;
|
|
90
|
+
/**
|
|
91
|
+
* 生成默认 light 的 CSS 变量块。
|
|
92
|
+
*/
|
|
93
|
+
export declare function generateTheme07CssVariablesWithAppearance(): string;
|
|
94
|
+
/**
|
|
95
|
+
* 生成包含 light + dark 外观的完整 CSS 变量块。
|
|
96
|
+
* 通过 :root 的 data-appearance 属性切换。
|
|
97
|
+
*/
|
|
98
|
+
export declare function generateTheme07CssVariablesWithSchemesAndAppearance(): string;
|
|
99
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/theme07/tokens.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
// lemonPPT - AI-powered presentation generation
|
|
2
|
+
// Copyright (c) 2026 lemonforme
|
|
3
|
+
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
4
|
+
/**
|
|
5
|
+
* 冷白调研风色板(原创设计,非复制 Dashi)。
|
|
6
|
+
* 明亮鲜艳:电光蓝主色 + 翠绿辅色 + 暖橙警示,高饱和冷调,仍保持白底通透学术感。
|
|
7
|
+
*/
|
|
8
|
+
const coldWhitePalette = {
|
|
9
|
+
// 强调色在白底上需满足 WCAG AA 文本对比度(>=4.5:1),原电光蓝/翠绿/暖橙均偏亮不达标,
|
|
10
|
+
// 统一压暗为同色系深色:主色深海军蓝、辅色深绿、警示深橙。
|
|
11
|
+
accent: '#0A66C2',
|
|
12
|
+
accent2: '#0E7A5B',
|
|
13
|
+
accentCool: '#C2410C',
|
|
14
|
+
};
|
|
15
|
+
function buildTokenCatalog(appearance = 'light') {
|
|
16
|
+
const isLight = appearance === 'light';
|
|
17
|
+
return {
|
|
18
|
+
id: 'theme07',
|
|
19
|
+
displayName: 'Theme 07',
|
|
20
|
+
description: '冷白调研风,深墨文字与明亮鲜艳的强调色,适合白皮书、调研报告与学术/政策型表达',
|
|
21
|
+
colors: {
|
|
22
|
+
ink: isLight ? '#1A1D23' : '#F2F4F7',
|
|
23
|
+
ink2: isLight ? 'rgba(26, 29, 35, 0.72)' : 'rgba(242, 244, 247, 0.72)',
|
|
24
|
+
ink3: isLight ? 'rgba(26, 29, 35, 0.72)' : 'rgba(242, 244, 247, 0.72)',
|
|
25
|
+
textInverse: isLight ? '#F8F9FA' : '#0D100F',
|
|
26
|
+
accent: coldWhitePalette.accent,
|
|
27
|
+
accent2: coldWhitePalette.accent2,
|
|
28
|
+
accentCool: coldWhitePalette.accentCool,
|
|
29
|
+
red: isLight ? '#C73E2F' : '#FF6B6B',
|
|
30
|
+
orange: isLight ? '#C25E00' : '#FF9F43',
|
|
31
|
+
amber: isLight ? '#B45309' : '#FFC700',
|
|
32
|
+
yellow: isLight ? '#A16207' : '#FFD100',
|
|
33
|
+
teal: isLight ? '#0B7A85' : '#00E5B0',
|
|
34
|
+
green: isLight ? '#15803D' : '#22C55E',
|
|
35
|
+
cyan: isLight ? '#0B7A85' : '#22D3EE',
|
|
36
|
+
blue: isLight ? '#0A66C2' : '#3B82C4',
|
|
37
|
+
indigo: isLight ? '#4338CA' : '#6366F1',
|
|
38
|
+
violet: isLight ? '#7C2ED3' : '#A855F7',
|
|
39
|
+
purple: isLight ? '#7C2ED3' : '#A855F7',
|
|
40
|
+
series: [coldWhitePalette.accent, coldWhitePalette.accent2, coldWhitePalette.accentCool, '#7C5CFC', '#16BFD9', '#F24E7D'],
|
|
41
|
+
background: isLight ? '#FFFFFF' : '#0D100F',
|
|
42
|
+
backgroundGradientStart: isLight ? '#FFFFFF' : '#0D100F',
|
|
43
|
+
backgroundGradientEnd: isLight ? '#F7F9FB' : '#151C27',
|
|
44
|
+
surface: isLight ? 'rgba(0, 0, 0, 0.03)' : 'rgba(255, 255, 255, 0.05)',
|
|
45
|
+
surfaceStrong: isLight ? 'rgba(0, 0, 0, 0.06)' : 'rgba(255, 255, 255, 0.10)',
|
|
46
|
+
surfaceSolid: isLight ? '#FFFFFF' : '#151C27',
|
|
47
|
+
surfaceElevated: isLight ? '#FFFFFF' : '#1A2330',
|
|
48
|
+
border: isLight ? 'rgba(0, 0, 0, 0.08)' : 'rgba(255, 255, 255, 0.10)',
|
|
49
|
+
borderStrong: isLight ? 'rgba(0, 0, 0, 0.14)' : 'rgba(255, 255, 255, 0.18)',
|
|
50
|
+
shadow: isLight ? '0 24px 60px rgba(26, 29, 35, 0.08)' : '0 24px 60px rgba(0, 0, 0, 0.50)',
|
|
51
|
+
shadowSmall: isLight ? '0 8px 24px rgba(26, 29, 35, 0.05)' : '0 8px 24px rgba(0, 0, 0, 0.40)',
|
|
52
|
+
nodeBg: isLight ? '#FFFFFF' : '#151C27',
|
|
53
|
+
nodeBorder: isLight ? 'rgba(0, 0, 0, 0.12)' : 'rgba(255, 255, 255, 0.18)',
|
|
54
|
+
edge: isLight ? 'rgba(26, 29, 35, 0.20)' : 'rgba(255, 255, 255, 0.16)',
|
|
55
|
+
focusGlow: isLight ? 'rgba(10, 102, 194, 0.28)' : 'rgba(10, 102, 194, 0.45)',
|
|
56
|
+
panelLine: isLight ? 'rgba(0, 0, 0, 0.06)' : 'rgba(255, 255, 255, 0.08)',
|
|
57
|
+
},
|
|
58
|
+
fonts: {
|
|
59
|
+
heading: '"Source Serif Pro", "Noto Serif SC", Georgia, serif',
|
|
60
|
+
body: '"Inter", "Noto Sans SC", system-ui, sans-serif',
|
|
61
|
+
mono: '"JetBrains Mono", "Space Mono", ui-monospace, monospace',
|
|
62
|
+
en: '"Inter", "JetBrains Mono", ui-monospace, monospace',
|
|
63
|
+
},
|
|
64
|
+
spacing: {
|
|
65
|
+
pagePadding: '56px',
|
|
66
|
+
sectionGap: '32px',
|
|
67
|
+
elementGap: '14px',
|
|
68
|
+
padTop: '72px',
|
|
69
|
+
padBottom: '64px',
|
|
70
|
+
cardPaddingLarge: '32px 36px',
|
|
71
|
+
cardPaddingMedium: '22px 24px',
|
|
72
|
+
},
|
|
73
|
+
borderRadius: {
|
|
74
|
+
small: '4px',
|
|
75
|
+
medium: '8px',
|
|
76
|
+
large: '12px',
|
|
77
|
+
},
|
|
78
|
+
fontSize: {
|
|
79
|
+
display: '84px',
|
|
80
|
+
displaySmall: '64px',
|
|
81
|
+
h1: '48px',
|
|
82
|
+
h2: '34px',
|
|
83
|
+
h3: '24px',
|
|
84
|
+
body: '18px',
|
|
85
|
+
bodySmall: '15px',
|
|
86
|
+
caption: '13px',
|
|
87
|
+
},
|
|
88
|
+
effect: {
|
|
89
|
+
riseDistance: '14px',
|
|
90
|
+
riseDuration: '0.5s',
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
export const theme07Tokens = buildTokenCatalog('light');
|
|
95
|
+
export function getTheme07Tokens(appearance = 'light') {
|
|
96
|
+
return buildTokenCatalog(appearance);
|
|
97
|
+
}
|
|
98
|
+
function makeCssTokens(appearance = 'light') {
|
|
99
|
+
const tokens = buildTokenCatalog(appearance);
|
|
100
|
+
const isLight = appearance === 'light';
|
|
101
|
+
return {
|
|
102
|
+
ink: tokens.colors.ink,
|
|
103
|
+
ink2: tokens.colors.ink2,
|
|
104
|
+
ink3: tokens.colors.ink3,
|
|
105
|
+
textInverse: tokens.colors.textInverse,
|
|
106
|
+
accent: tokens.colors.accent,
|
|
107
|
+
accent2: tokens.colors.accent2,
|
|
108
|
+
accentCool: tokens.colors.accentCool,
|
|
109
|
+
red: tokens.colors.red,
|
|
110
|
+
orange: tokens.colors.orange,
|
|
111
|
+
amber: tokens.colors.amber,
|
|
112
|
+
yellow: tokens.colors.yellow,
|
|
113
|
+
teal: tokens.colors.teal,
|
|
114
|
+
green: tokens.colors.green,
|
|
115
|
+
cyan: tokens.colors.cyan,
|
|
116
|
+
blue: tokens.colors.blue,
|
|
117
|
+
indigo: tokens.colors.indigo,
|
|
118
|
+
violet: tokens.colors.violet,
|
|
119
|
+
purple: tokens.colors.purple,
|
|
120
|
+
series: tokens.colors.series,
|
|
121
|
+
bg: tokens.colors.background,
|
|
122
|
+
bgGradientStart: tokens.colors.backgroundGradientStart,
|
|
123
|
+
bgGradientEnd: tokens.colors.backgroundGradientEnd,
|
|
124
|
+
surface: tokens.colors.surface,
|
|
125
|
+
surfaceStrong: tokens.colors.surfaceStrong,
|
|
126
|
+
surfaceSolid: tokens.colors.surfaceSolid,
|
|
127
|
+
surfaceElevated: tokens.colors.surfaceElevated,
|
|
128
|
+
border: tokens.colors.border,
|
|
129
|
+
borderStrong: tokens.colors.borderStrong,
|
|
130
|
+
shadow: tokens.colors.shadow,
|
|
131
|
+
shadowSm: tokens.colors.shadowSmall,
|
|
132
|
+
shadowInset: isLight ? '0 1px 0 rgba(0, 0, 0, 0.04) inset' : '0 1px 0 rgba(255, 255, 255, 0.08) inset',
|
|
133
|
+
overlay: isLight ? 'rgba(0, 0, 0, 0.02)' : 'rgba(255, 255, 255, 0.04)',
|
|
134
|
+
overlayStrong: isLight ? 'rgba(0, 0, 0, 0.04)' : 'rgba(255, 255, 255, 0.08)',
|
|
135
|
+
divider: isLight ? 'rgba(26, 29, 35, 0.08)' : 'rgba(255, 255, 255, 0.09)',
|
|
136
|
+
scrim: isLight ? 'rgba(255, 255, 255, 0.55)' : 'rgba(0, 0, 0, 0.55)',
|
|
137
|
+
imageOverlay: isLight
|
|
138
|
+
? 'linear-gradient(180deg, rgba(248, 249, 250, 0.72) 0%, rgba(248, 249, 250, 0.92) 100%)'
|
|
139
|
+
: 'linear-gradient(180deg, rgba(13, 16, 15, 0.72) 0%, rgba(13, 16, 15, 0.92) 100%)',
|
|
140
|
+
shadowRgb: isLight ? '26, 29, 35' : '0, 0, 0',
|
|
141
|
+
stroke: isLight ? 'rgba(0, 0, 0, 0.10)' : 'rgba(255, 255, 255, 0.12)',
|
|
142
|
+
whiteAlpha80: 'rgba(255, 255, 255, 0.8)',
|
|
143
|
+
whiteAlpha85: 'rgba(255, 255, 255, 0.85)',
|
|
144
|
+
whiteAlpha90: 'rgba(255, 255, 255, 0.9)',
|
|
145
|
+
nodeBg: tokens.colors.nodeBg,
|
|
146
|
+
nodeBorder: tokens.colors.nodeBorder,
|
|
147
|
+
edge: tokens.colors.edge,
|
|
148
|
+
focusGlow: tokens.colors.focusGlow,
|
|
149
|
+
panelLine: tokens.colors.panelLine,
|
|
150
|
+
font: tokens.fonts.body,
|
|
151
|
+
fontMono: tokens.fonts.mono,
|
|
152
|
+
fontHeading: tokens.fonts.heading,
|
|
153
|
+
radiusSmall: tokens.borderRadius.small,
|
|
154
|
+
radiusMedium: tokens.borderRadius.medium,
|
|
155
|
+
radiusLarge: tokens.borderRadius.large,
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
function buildCssVarsFromTokens(tokens) {
|
|
159
|
+
return `
|
|
160
|
+
--lp-ink: ${tokens.ink};
|
|
161
|
+
--lp-ink2: ${tokens.ink2};
|
|
162
|
+
--lp-ink3: ${tokens.ink3};
|
|
163
|
+
--lp-text-inverse: ${tokens.textInverse};
|
|
164
|
+
--lp-accent: ${tokens.accent};
|
|
165
|
+
--lp-accent-2: ${tokens.accent2};
|
|
166
|
+
--lp-accent-cool: ${tokens.accentCool};
|
|
167
|
+
--lp-red: ${tokens.red};
|
|
168
|
+
--lp-orange: ${tokens.orange};
|
|
169
|
+
--lp-amber: ${tokens.amber};
|
|
170
|
+
--lp-yellow: ${tokens.yellow};
|
|
171
|
+
--lp-teal: ${tokens.teal};
|
|
172
|
+
--lp-green: ${tokens.green};
|
|
173
|
+
--lp-cyan: ${tokens.cyan};
|
|
174
|
+
--lp-blue: ${tokens.blue};
|
|
175
|
+
--lp-indigo: ${tokens.indigo};
|
|
176
|
+
--lp-violet: ${tokens.violet};
|
|
177
|
+
--lp-purple: ${tokens.purple};
|
|
178
|
+
--lp-series-1: ${tokens.series[0]};
|
|
179
|
+
--lp-series-2: ${tokens.series[1]};
|
|
180
|
+
--lp-series-3: ${tokens.series[2]};
|
|
181
|
+
--lp-series-4: ${tokens.series[3]};
|
|
182
|
+
--lp-series-5: ${tokens.series[4]};
|
|
183
|
+
--lp-series-6: ${tokens.series[5]};
|
|
184
|
+
--lp-bg: ${tokens.bg};
|
|
185
|
+
--lp-bg-gradient-start: ${tokens.bgGradientStart};
|
|
186
|
+
--lp-bg-gradient-end: ${tokens.bgGradientEnd};
|
|
187
|
+
--lp-surface: ${tokens.surface};
|
|
188
|
+
--lp-surface-strong: ${tokens.surfaceStrong};
|
|
189
|
+
--lp-surface-solid: ${tokens.surfaceSolid};
|
|
190
|
+
--lp-surface-elevated: ${tokens.surfaceElevated};
|
|
191
|
+
--lp-border: ${tokens.border};
|
|
192
|
+
--lp-border-strong: ${tokens.borderStrong};
|
|
193
|
+
--lp-shadow: ${tokens.shadow};
|
|
194
|
+
--lp-shadow-sm: ${tokens.shadowSm};
|
|
195
|
+
--lp-shadow-inset: ${tokens.shadowInset};
|
|
196
|
+
--lp-overlay: ${tokens.overlay};
|
|
197
|
+
--lp-overlay-strong: ${tokens.overlayStrong};
|
|
198
|
+
--lp-divider: ${tokens.divider};
|
|
199
|
+
--lp-scrim: ${tokens.scrim};
|
|
200
|
+
--lp-image-overlay: ${tokens.imageOverlay};
|
|
201
|
+
--lp-shadow-rgb: ${tokens.shadowRgb};
|
|
202
|
+
--lp-stroke: ${tokens.stroke};
|
|
203
|
+
--lp-white-alpha-80: ${tokens.whiteAlpha80};
|
|
204
|
+
--lp-white-alpha-85: ${tokens.whiteAlpha85};
|
|
205
|
+
--lp-white-alpha-90: ${tokens.whiteAlpha90};
|
|
206
|
+
--lp-node-bg: ${tokens.nodeBg};
|
|
207
|
+
--lp-node-border: ${tokens.nodeBorder};
|
|
208
|
+
--lp-edge: ${tokens.edge};
|
|
209
|
+
--lp-focus-glow: ${tokens.focusGlow};
|
|
210
|
+
--lp-panel-line: ${tokens.panelLine};
|
|
211
|
+
--lp-font: ${tokens.font};
|
|
212
|
+
--lp-font-mono: ${tokens.fontMono};
|
|
213
|
+
--lp-font-heading: ${tokens.fontHeading};
|
|
214
|
+
--lp-radius-small: ${tokens.radiusSmall};
|
|
215
|
+
--lp-radius-medium: ${tokens.radiusMedium};
|
|
216
|
+
--lp-radius-large: ${tokens.radiusLarge};
|
|
217
|
+
--lp-radius-lg: ${tokens.radiusLarge};
|
|
218
|
+
--lp-font-size-display: ${theme07Tokens.fontSize.display};
|
|
219
|
+
--lp-font-size-display-small: ${theme07Tokens.fontSize.displaySmall};
|
|
220
|
+
--lp-font-size-h1: ${theme07Tokens.fontSize.h1};
|
|
221
|
+
--lp-font-size-h2: ${theme07Tokens.fontSize.h2};
|
|
222
|
+
--lp-font-size-h3: ${theme07Tokens.fontSize.h3};
|
|
223
|
+
--lp-font-size-body: ${theme07Tokens.fontSize.body};
|
|
224
|
+
--lp-font-size-body-small: ${theme07Tokens.fontSize.bodySmall};
|
|
225
|
+
--lp-font-size-caption: ${theme07Tokens.fontSize.caption};
|
|
226
|
+
/* theme07 常用布局别名 */
|
|
227
|
+
--lp-card-border: var(--lp-border);
|
|
228
|
+
--lp-card-radius: var(--lp-radius-large);
|
|
229
|
+
--lp-card-surface: var(--lp-surface-solid);
|
|
230
|
+
--lp-card-accent: color-mix(in srgb, var(--lp-accent) 10%, transparent);
|
|
231
|
+
--lp-card-accent-border: var(--lp-accent);
|
|
232
|
+
--lp-on-accent: var(--lp-text-inverse);
|
|
233
|
+
--lp-on-accent-soft: color-mix(in srgb, var(--lp-text-inverse) 72%, transparent);
|
|
234
|
+
--lp-error: var(--lp-red);
|
|
235
|
+
--lp-warning: var(--lp-amber);
|
|
236
|
+
--lp-success: var(--lp-green);
|
|
237
|
+
--lp-font-size-hero: var(--lp-font-size-display-small);
|
|
238
|
+
--lp-font-size-hero-small: var(--lp-font-size-h1);
|
|
239
|
+
--lp-font-size-subtitle: var(--lp-font-size-h3);
|
|
240
|
+
--lp-font-size-small: var(--lp-font-size-body-small);
|
|
241
|
+
`;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* 生成指定外观的 CSS 变量块,可直接注入 <style>。
|
|
245
|
+
*/
|
|
246
|
+
export function generateTheme07CssVariables(appearance = 'light') {
|
|
247
|
+
const tokens = makeCssTokens(appearance);
|
|
248
|
+
return `:root {\n${buildCssVarsFromTokens(tokens)}\n}`;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* 生成默认 light 的 CSS 变量块。
|
|
252
|
+
*/
|
|
253
|
+
export function generateTheme07CssVariablesWithAppearance() {
|
|
254
|
+
return generateTheme07CssVariables('light');
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* 生成包含 light + dark 外观的完整 CSS 变量块。
|
|
258
|
+
* 通过 :root 的 data-appearance 属性切换。
|
|
259
|
+
*/
|
|
260
|
+
export function generateTheme07CssVariablesWithSchemesAndAppearance() {
|
|
261
|
+
const appearances = ['light', 'dark'];
|
|
262
|
+
const blocks = [];
|
|
263
|
+
for (const appearance of appearances) {
|
|
264
|
+
if (appearance === 'light') {
|
|
265
|
+
blocks.push(`:root[data-theme="cold-white"] {\n${buildCssVarsFromTokens(makeCssTokens('light'))}\n}`);
|
|
266
|
+
blocks.push(`:root[data-appearance="light"][data-theme="cold-white"] {\n${buildCssVarsFromTokens(makeCssTokens('light'))}\n}`);
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
blocks.push(`:root[data-appearance="dark"][data-theme="cold-white"] {\n${buildCssVarsFromTokens(makeCssTokens('dark'))}\n}`);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
return blocks.join('\n');
|
|
273
|
+
}
|
|
274
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/theme07/tokens.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ⚠️ 镜像副本(MIRROR)⚠️
|
|
3
|
+
* 渲染真源是 `packages/templates/src/themes/theme08/tokens.ts`(renderer 实际调用它)。
|
|
4
|
+
* 本文件仅供 `getTheme()` 元数据与 `@lemonppt/themes` 已发布 API 使用;
|
|
5
|
+
* 改配色请先改真源,再同步回来:
|
|
6
|
+
* cp packages/templates/src/themes/theme08/tokens.ts packages/themes/src/theme08/tokens.ts
|
|
7
|
+
*
|
|
8
|
+
* theme08 设计 Token。
|
|
9
|
+
* 风格:黑金实验风 / Black Gold Experimental。
|
|
10
|
+
* 深黑底 + 荧光金主强调 + 玫红/冷蓝/淡紫灰点缀,适合高端发布、品牌提案、实验性概念。
|
|
11
|
+
* 数字使用展示型字体(Anton,项目字体库已内嵌 @font-face)增强冲击力;双背景 primary(深黑)/muted(象牙暖白)。
|
|
12
|
+
* 所有色值/类名均为原创,不复制 Dashi theme08 具体实现与 --acl- 前缀。
|
|
13
|
+
*/
|
|
14
|
+
export interface Theme08Tokens {
|
|
15
|
+
id: string;
|
|
16
|
+
displayName: string;
|
|
17
|
+
description: string;
|
|
18
|
+
colors: {
|
|
19
|
+
ink: string;
|
|
20
|
+
ink2: string;
|
|
21
|
+
ink3: string;
|
|
22
|
+
textInverse: string;
|
|
23
|
+
accent: string;
|
|
24
|
+
accent2: string;
|
|
25
|
+
accentCool: string;
|
|
26
|
+
red: string;
|
|
27
|
+
orange: string;
|
|
28
|
+
amber: string;
|
|
29
|
+
yellow: string;
|
|
30
|
+
teal: string;
|
|
31
|
+
green: string;
|
|
32
|
+
cyan: string;
|
|
33
|
+
blue: string;
|
|
34
|
+
indigo: string;
|
|
35
|
+
violet: string;
|
|
36
|
+
purple: 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
|
+
shadowSmall: string;
|
|
49
|
+
nodeBg: string;
|
|
50
|
+
nodeBorder: string;
|
|
51
|
+
edge: string;
|
|
52
|
+
focusGlow: string;
|
|
53
|
+
panelLine: string;
|
|
54
|
+
accentBright: string;
|
|
55
|
+
inversePanel: string;
|
|
56
|
+
inversePanelInk: string;
|
|
57
|
+
};
|
|
58
|
+
fonts: {
|
|
59
|
+
heading: string;
|
|
60
|
+
body: string;
|
|
61
|
+
mono: string;
|
|
62
|
+
en: string;
|
|
63
|
+
};
|
|
64
|
+
spacing: {
|
|
65
|
+
pagePadding: string;
|
|
66
|
+
sectionGap: string;
|
|
67
|
+
elementGap: string;
|
|
68
|
+
padTop: string;
|
|
69
|
+
padBottom: string;
|
|
70
|
+
cardPaddingLarge: string;
|
|
71
|
+
cardPaddingMedium: string;
|
|
72
|
+
};
|
|
73
|
+
borderRadius: {
|
|
74
|
+
small: string;
|
|
75
|
+
medium: string;
|
|
76
|
+
large: string;
|
|
77
|
+
};
|
|
78
|
+
fontSize: {
|
|
79
|
+
display: string;
|
|
80
|
+
displaySmall: string;
|
|
81
|
+
h1: string;
|
|
82
|
+
h2: string;
|
|
83
|
+
h3: string;
|
|
84
|
+
body: string;
|
|
85
|
+
bodySmall: string;
|
|
86
|
+
caption: string;
|
|
87
|
+
};
|
|
88
|
+
effect: {
|
|
89
|
+
riseDistance: string;
|
|
90
|
+
riseDuration: string;
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
export type Theme08Appearance = 'primary' | 'muted';
|
|
94
|
+
export declare const theme08Tokens: Theme08Tokens;
|
|
95
|
+
export declare function getTheme08Tokens(appearance?: Theme08Appearance): Theme08Tokens;
|
|
96
|
+
export declare function generateTheme08CssVariables(appearance?: Theme08Appearance): string;
|
|
97
|
+
export declare function generateTheme08CssVariablesWithAppearance(): string;
|
|
98
|
+
/**
|
|
99
|
+
* 生成包含 primary + muted 双外观的完整 CSS 变量块,通过 data-appearance 切换。
|
|
100
|
+
* 同时提供 light/dark 别名(编辑器浅色/深色按钮使用)。
|
|
101
|
+
*/
|
|
102
|
+
export declare function generateTheme08CssVariablesWithSchemesAndAppearance(): string;
|
|
103
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/theme08/tokens.ts"],"names":[],"mappings":"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"}
|