@lgtm-hq/turbo-themes 0.12.21 → 0.12.23
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/tokens/style-dictionary/themes.json +2 -2
- package/dist/tokens/style-dictionary/tokens.json +2 -2
- package/package.json +2 -1
- package/packages/core/dist/index.d.ts +9 -0
- package/packages/core/dist/index.d.ts.map +1 -0
- package/packages/core/dist/index.js +10 -0
- package/packages/core/dist/index.js.map +1 -0
- package/packages/core/dist/themes/bulma.d.ts +31 -0
- package/packages/core/dist/themes/bulma.d.ts.map +1 -0
- package/packages/core/dist/themes/bulma.js +160 -0
- package/packages/core/dist/themes/bulma.js.map +1 -0
- package/packages/core/dist/themes/css/bulma-generator.d.ts +6 -0
- package/packages/core/dist/themes/css/bulma-generator.d.ts.map +1 -0
- package/packages/core/dist/themes/css/bulma-generator.js +42 -0
- package/packages/core/dist/themes/css/bulma-generator.js.map +1 -0
- package/packages/core/dist/themes/css/global-overrides.d.ts +2 -0
- package/packages/core/dist/themes/css/global-overrides.d.ts.map +1 -0
- package/packages/core/dist/themes/css/global-overrides.js +10 -0
- package/packages/core/dist/themes/css/global-overrides.js.map +1 -0
- package/packages/core/dist/themes/css/helpers.d.ts +58 -0
- package/packages/core/dist/themes/css/helpers.d.ts.map +1 -0
- package/packages/core/dist/themes/css/helpers.js +181 -0
- package/packages/core/dist/themes/css/helpers.js.map +1 -0
- package/packages/core/dist/themes/css/index.d.ts +13 -0
- package/packages/core/dist/themes/css/index.d.ts.map +1 -0
- package/packages/core/dist/themes/css/index.js +26 -0
- package/packages/core/dist/themes/css/index.js.map +1 -0
- package/packages/core/dist/themes/css/mappings.d.ts +57 -0
- package/packages/core/dist/themes/css/mappings.d.ts.map +1 -0
- package/packages/core/dist/themes/css/mappings.js +79 -0
- package/packages/core/dist/themes/css/mappings.js.map +1 -0
- package/packages/core/dist/themes/css/overrides/accessibility.d.ts +6 -0
- package/packages/core/dist/themes/css/overrides/accessibility.d.ts.map +1 -0
- package/packages/core/dist/themes/css/overrides/accessibility.js +37 -0
- package/packages/core/dist/themes/css/overrides/accessibility.js.map +1 -0
- package/packages/core/dist/themes/css/overrides/dropdown.d.ts +6 -0
- package/packages/core/dist/themes/css/overrides/dropdown.d.ts.map +1 -0
- package/packages/core/dist/themes/css/overrides/dropdown.js +86 -0
- package/packages/core/dist/themes/css/overrides/dropdown.js.map +1 -0
- package/packages/core/dist/themes/css/overrides/forms.d.ts +6 -0
- package/packages/core/dist/themes/css/overrides/forms.d.ts.map +1 -0
- package/packages/core/dist/themes/css/overrides/forms.js +128 -0
- package/packages/core/dist/themes/css/overrides/forms.js.map +1 -0
- package/packages/core/dist/themes/css/overrides/index.d.ts +14 -0
- package/packages/core/dist/themes/css/overrides/index.d.ts.map +1 -0
- package/packages/core/dist/themes/css/overrides/index.js +30 -0
- package/packages/core/dist/themes/css/overrides/index.js.map +1 -0
- package/packages/core/dist/themes/css/overrides/navbar.d.ts +6 -0
- package/packages/core/dist/themes/css/overrides/navbar.d.ts.map +1 -0
- package/packages/core/dist/themes/css/overrides/navbar.js +63 -0
- package/packages/core/dist/themes/css/overrides/navbar.js.map +1 -0
- package/packages/core/dist/themes/css/overrides/tables.d.ts +6 -0
- package/packages/core/dist/themes/css/overrides/tables.d.ts.map +1 -0
- package/packages/core/dist/themes/css/overrides/tables.js +28 -0
- package/packages/core/dist/themes/css/overrides/tables.js.map +1 -0
- package/packages/core/dist/themes/css/overrides/typography.d.ts +6 -0
- package/packages/core/dist/themes/css/overrides/typography.d.ts.map +1 -0
- package/packages/core/dist/themes/css/overrides/typography.js +139 -0
- package/packages/core/dist/themes/css/overrides/typography.js.map +1 -0
- package/packages/core/dist/themes/css/syntax-generator.d.ts +6 -0
- package/packages/core/dist/themes/css/syntax-generator.d.ts.map +1 -0
- package/packages/core/dist/themes/css/syntax-generator.js +55 -0
- package/packages/core/dist/themes/css/syntax-generator.js.map +1 -0
- package/packages/core/dist/themes/css/types.d.ts +23 -0
- package/packages/core/dist/themes/css/types.d.ts.map +1 -0
- package/packages/core/dist/themes/css/types.js +4 -0
- package/packages/core/dist/themes/css/types.js.map +1 -0
- package/packages/core/dist/themes/css.d.ts +2 -0
- package/packages/core/dist/themes/css.d.ts.map +1 -0
- package/packages/core/dist/themes/css.js +5 -0
- package/packages/core/dist/themes/css.js.map +1 -0
- package/packages/core/dist/themes/registry.d.ts +2 -0
- package/packages/core/dist/themes/registry.d.ts.map +1 -0
- package/packages/core/dist/themes/registry.js +6 -0
- package/packages/core/dist/themes/registry.js.map +1 -0
- package/packages/core/dist/themes/tokens.json +1050 -0
- package/packages/core/dist/themes/types.d.ts +198 -0
- package/packages/core/dist/themes/types.d.ts.map +1 -0
- package/packages/core/dist/themes/types.js +4 -0
- package/packages/core/dist/themes/types.js.map +1 -0
- package/packages/core/dist/tokens/index.d.ts +68 -0
- package/packages/core/dist/tokens/index.d.ts.map +1 -0
- package/packages/core/dist/tokens/index.js +86 -0
- package/packages/core/dist/tokens/index.js.map +1 -0
- package/packages/css/dist/generator.d.ts.map +1 -1
- package/packages/css/dist/generator.js +2 -0
- package/packages/css/dist/generator.js.map +1 -1
- package/packages/theme-selector/dist/errors.d.ts.map +1 -1
- package/packages/theme-selector/dist/errors.js +4 -0
- package/packages/theme-selector/dist/errors.js.map +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://design-tokens.org/schema.json",
|
|
3
3
|
"$description": "Turbo Themes - Design tokens for 9 themes",
|
|
4
|
-
"$version": "0.12.
|
|
5
|
-
"$generated": "2026-01-
|
|
4
|
+
"$version": "0.12.23",
|
|
5
|
+
"$generated": "2026-01-30T15:24:30.862Z",
|
|
6
6
|
"meta": {
|
|
7
7
|
"themeIds": [
|
|
8
8
|
"bulma-dark",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://design-tokens.org/schema.json",
|
|
3
3
|
"$description": "Turbo Themes - Flat tokens for 9 themes",
|
|
4
|
-
"$version": "0.12.
|
|
5
|
-
"$generated": "2026-01-
|
|
4
|
+
"$version": "0.12.23",
|
|
5
|
+
"$generated": "2026-01-30T15:24:30.863Z",
|
|
6
6
|
"meta": {
|
|
7
7
|
"themeIds": [
|
|
8
8
|
"bulma-dark",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lgtm-hq/turbo-themes",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.23",
|
|
4
4
|
"description": "Universal theme packs and an accessible theme selector.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -63,6 +63,7 @@
|
|
|
63
63
|
"types": "./dist/index.d.ts",
|
|
64
64
|
"files": [
|
|
65
65
|
"dist/**",
|
|
66
|
+
"packages/core/dist/**",
|
|
66
67
|
"packages/css/dist/**",
|
|
67
68
|
"packages/css/dist/components/**",
|
|
68
69
|
"packages/theme-selector/dist/**",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
/**
|
|
3
|
+
* Core package exports
|
|
4
|
+
*
|
|
5
|
+
* Re-exports tokens and themes for use by other packages
|
|
6
|
+
*/
|
|
7
|
+
export * from './tokens/index.js';
|
|
8
|
+
export * from './themes/registry.js';
|
|
9
|
+
export * from './themes/types.js';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B;;;;GAIG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { BulmaConfig } from './types.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Convert hex color to HSL values
|
|
4
|
+
*/
|
|
5
|
+
export declare function hexToHsl(hex: string): {
|
|
6
|
+
h: number;
|
|
7
|
+
s: number;
|
|
8
|
+
l: number;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Theme colors interface for Bulma configuration
|
|
12
|
+
*/
|
|
13
|
+
export interface ThemeColors {
|
|
14
|
+
primary: string;
|
|
15
|
+
link: string;
|
|
16
|
+
info: string;
|
|
17
|
+
success: string;
|
|
18
|
+
warning: string;
|
|
19
|
+
danger: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Generate Bulma Sass configuration from theme config
|
|
23
|
+
*/
|
|
24
|
+
export declare function generateBulmaConfig(config: BulmaConfig): string;
|
|
25
|
+
/**
|
|
26
|
+
* Generate full Bulma @use statement with configuration
|
|
27
|
+
* @param colors - Theme colors in hex format
|
|
28
|
+
* @param config - Optional Bulma configuration (breakpoints, spacing, etc.)
|
|
29
|
+
*/
|
|
30
|
+
export declare function generateBulmaUse(colors: ThemeColors, config?: BulmaConfig): string;
|
|
31
|
+
//# sourceMappingURL=bulma.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bulma.d.ts","sourceRoot":"","sources":["../../src/themes/bulma.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAuCzE;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CA4D/D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAqClF"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Bulma configuration utilities
|
|
3
|
+
/**
|
|
4
|
+
* Convert hex color to HSL values
|
|
5
|
+
*/
|
|
6
|
+
export function hexToHsl(hex) {
|
|
7
|
+
// Remove # if present
|
|
8
|
+
const cleanHex = hex.replace('#', '');
|
|
9
|
+
// Parse hex to RGB
|
|
10
|
+
const r = Number.parseInt(cleanHex.slice(0, 2), 16) / 255;
|
|
11
|
+
const g = Number.parseInt(cleanHex.slice(2, 4), 16) / 255;
|
|
12
|
+
const b = Number.parseInt(cleanHex.slice(4, 6), 16) / 255;
|
|
13
|
+
const max = Math.max(r, g, b);
|
|
14
|
+
const min = Math.min(r, g, b);
|
|
15
|
+
let h;
|
|
16
|
+
const l = (max + min) / 2;
|
|
17
|
+
let s;
|
|
18
|
+
if (max === min) {
|
|
19
|
+
h = s = 0; // achromatic
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
const d = max - min;
|
|
23
|
+
s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
|
|
24
|
+
switch (max) {
|
|
25
|
+
case r:
|
|
26
|
+
h = (g - b) / d + (g < b ? 6 : 0);
|
|
27
|
+
break;
|
|
28
|
+
case g:
|
|
29
|
+
h = (b - r) / d + 2;
|
|
30
|
+
break;
|
|
31
|
+
default:
|
|
32
|
+
h = (r - g) / d + 4;
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
h /= 6;
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
h: Math.round(h * 360),
|
|
39
|
+
s: Math.round(s * 100),
|
|
40
|
+
l: Math.round(l * 100),
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Generate Bulma Sass configuration from theme config
|
|
45
|
+
*/
|
|
46
|
+
export function generateBulmaConfig(config) {
|
|
47
|
+
const lines = [];
|
|
48
|
+
// Breakpoints
|
|
49
|
+
if (config.breakpoints) {
|
|
50
|
+
lines.push('// Custom breakpoints');
|
|
51
|
+
const breakpoints = config.breakpoints;
|
|
52
|
+
if (breakpoints.mobile)
|
|
53
|
+
lines.push(`$mobile: ${breakpoints.mobile};`);
|
|
54
|
+
if (breakpoints.tablet)
|
|
55
|
+
lines.push(`$tablet: ${breakpoints.tablet};`);
|
|
56
|
+
if (breakpoints.desktop)
|
|
57
|
+
lines.push(`$desktop: ${breakpoints.desktop};`);
|
|
58
|
+
if (breakpoints.widescreen)
|
|
59
|
+
lines.push(`$widescreen: ${breakpoints.widescreen};`);
|
|
60
|
+
if (breakpoints.fullhd)
|
|
61
|
+
lines.push(`$fullhd: ${breakpoints.fullhd};`);
|
|
62
|
+
lines.push('');
|
|
63
|
+
}
|
|
64
|
+
// Spacing
|
|
65
|
+
if (config.spacing) {
|
|
66
|
+
lines.push('// Custom spacing scale');
|
|
67
|
+
const spacing = config.spacing;
|
|
68
|
+
if (spacing.small)
|
|
69
|
+
lines.push(`$spacing-small: ${spacing.small};`);
|
|
70
|
+
if (spacing.medium)
|
|
71
|
+
lines.push(`$spacing-medium: ${spacing.medium};`);
|
|
72
|
+
if (spacing.large)
|
|
73
|
+
lines.push(`$spacing-large: ${spacing.large};`);
|
|
74
|
+
lines.push('');
|
|
75
|
+
}
|
|
76
|
+
// Sizes
|
|
77
|
+
if (config.sizes) {
|
|
78
|
+
lines.push('// Custom typography sizes');
|
|
79
|
+
const sizes = config.sizes;
|
|
80
|
+
if (sizes.small)
|
|
81
|
+
lines.push(`$size-small: ${sizes.small};`);
|
|
82
|
+
if (sizes.normal)
|
|
83
|
+
lines.push(`$size-normal: ${sizes.normal};`);
|
|
84
|
+
if (sizes.medium)
|
|
85
|
+
lines.push(`$size-medium: ${sizes.medium};`);
|
|
86
|
+
if (sizes.large)
|
|
87
|
+
lines.push(`$size-large: ${sizes.large};`);
|
|
88
|
+
lines.push('');
|
|
89
|
+
}
|
|
90
|
+
// Radius
|
|
91
|
+
if (config.radius) {
|
|
92
|
+
lines.push('// Custom border radius');
|
|
93
|
+
const radius = config.radius;
|
|
94
|
+
if (radius.small)
|
|
95
|
+
lines.push(`$radius-small: ${radius.small};`);
|
|
96
|
+
if (radius.normal)
|
|
97
|
+
lines.push(`$radius: ${radius.normal};`);
|
|
98
|
+
if (radius.medium)
|
|
99
|
+
lines.push(`$radius-medium: ${radius.medium};`);
|
|
100
|
+
if (radius.large)
|
|
101
|
+
lines.push(`$radius-large: ${radius.large};`);
|
|
102
|
+
if (radius.rounded)
|
|
103
|
+
lines.push(`$radius-rounded: ${radius.rounded};`);
|
|
104
|
+
lines.push('');
|
|
105
|
+
}
|
|
106
|
+
// Shadows
|
|
107
|
+
if (config.shadows) {
|
|
108
|
+
lines.push('// Custom shadows');
|
|
109
|
+
const shadows = config.shadows;
|
|
110
|
+
if (shadows.small)
|
|
111
|
+
lines.push(`$shadow-small: ${shadows.small};`);
|
|
112
|
+
if (shadows.normal)
|
|
113
|
+
lines.push(`$shadow-normal: ${shadows.normal};`);
|
|
114
|
+
if (shadows.medium)
|
|
115
|
+
lines.push(`$shadow-medium: ${shadows.medium};`);
|
|
116
|
+
if (shadows.large)
|
|
117
|
+
lines.push(`$shadow-large: ${shadows.large};`);
|
|
118
|
+
lines.push('');
|
|
119
|
+
}
|
|
120
|
+
return lines.join('\n');
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Generate full Bulma @use statement with configuration
|
|
124
|
+
* @param colors - Theme colors in hex format
|
|
125
|
+
* @param config - Optional Bulma configuration (breakpoints, spacing, etc.)
|
|
126
|
+
*/
|
|
127
|
+
export function generateBulmaUse(colors, config) {
|
|
128
|
+
// Convert hex colors to HSL with error handling
|
|
129
|
+
let primaryHsl, linkHsl, infoHsl, successHsl, warningHsl, dangerHsl;
|
|
130
|
+
try {
|
|
131
|
+
primaryHsl = hexToHsl(colors.primary);
|
|
132
|
+
linkHsl = hexToHsl(colors.link);
|
|
133
|
+
infoHsl = hexToHsl(colors.info);
|
|
134
|
+
successHsl = hexToHsl(colors.success);
|
|
135
|
+
warningHsl = hexToHsl(colors.warning);
|
|
136
|
+
dangerHsl = hexToHsl(colors.danger);
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
throw new Error(`Invalid theme colors: ${error instanceof Error ? error.message : String(error)}`);
|
|
140
|
+
}
|
|
141
|
+
// Generate Bulma config (breakpoints, spacing, etc.)
|
|
142
|
+
const configStr = config ? generateBulmaConfig(config) : '';
|
|
143
|
+
// Build the @use statement with color configuration
|
|
144
|
+
// Use 'bulma/sass' to ensure variables are properly forwarded and configurable
|
|
145
|
+
const colorConfig = `@use 'bulma/sass' with (
|
|
146
|
+
$primary: hsl(${primaryHsl.h}, ${primaryHsl.s}%, ${primaryHsl.l}%),
|
|
147
|
+
$link: hsl(${linkHsl.h}, ${linkHsl.s}%, ${linkHsl.l}%),
|
|
148
|
+
$info: hsl(${infoHsl.h}, ${infoHsl.s}%, ${infoHsl.l}%),
|
|
149
|
+
$success: hsl(${successHsl.h}, ${successHsl.s}%, ${successHsl.l}%),
|
|
150
|
+
$warning: hsl(${warningHsl.h}, ${warningHsl.s}%, ${warningHsl.l}%),
|
|
151
|
+
$danger: hsl(${dangerHsl.h}, ${dangerHsl.s}%, ${dangerHsl.l}%)
|
|
152
|
+
);`;
|
|
153
|
+
// If no additional config, return just the color config
|
|
154
|
+
if (!configStr.trim()) {
|
|
155
|
+
return colorConfig;
|
|
156
|
+
}
|
|
157
|
+
// Combine config and color @use statement with newline separator
|
|
158
|
+
return `${configStr}\n${colorConfig}`;
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=bulma.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bulma.js","sourceRoot":"","sources":["../../src/themes/bulma.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bulma-generator.d.ts","sourceRoot":"","sources":["../../../src/themes/css/bulma-generator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAqB/C;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CA+CrE"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Bulma-specific CSS variable generation
|
|
3
|
+
import { escapeCssId, generateVariables, generateHSLComponents, generateHSLColors, generateComponentVariables, } from './helpers.js';
|
|
4
|
+
import { BULMA_SCHEME_MAPPINGS, PRIMARY_HSL_MAPPING, STATE_HSL_MAPPINGS, TEXT_MAPPINGS, HEADING_MAPPINGS, CONTENT_MAPPINGS, TABLE_MAPPINGS, SYNTAX_MAPPINGS, SURFACE_MAPPINGS, COMPONENT_MAPPINGS, } from './mappings.js';
|
|
5
|
+
/**
|
|
6
|
+
* Generates theme CSS variables for a flavor using data-driven mappings.
|
|
7
|
+
*/
|
|
8
|
+
export function generateThemeCSSVariables(flavor) {
|
|
9
|
+
const { tokens } = flavor;
|
|
10
|
+
const escapedId = escapeCssId(flavor.id);
|
|
11
|
+
const lines = [];
|
|
12
|
+
// Bulma scheme variables
|
|
13
|
+
lines.push(...generateVariables(tokens, BULMA_SCHEME_MAPPINGS));
|
|
14
|
+
// Primary color HSL components
|
|
15
|
+
lines.push(...generateHSLComponents(tokens, PRIMARY_HSL_MAPPING));
|
|
16
|
+
// State colors as HSL
|
|
17
|
+
lines.push(...generateHSLColors(tokens, STATE_HSL_MAPPINGS));
|
|
18
|
+
// Typography (with special formatting for font stacks)
|
|
19
|
+
lines.push(` --theme-font-sans:\n ${tokens.typography.fonts.sans};`);
|
|
20
|
+
lines.push(` --theme-font-mono:\n ${tokens.typography.fonts.mono};`);
|
|
21
|
+
// Text variables
|
|
22
|
+
lines.push(...generateVariables(tokens, TEXT_MAPPINGS));
|
|
23
|
+
// Heading variables
|
|
24
|
+
lines.push(...generateVariables(tokens, HEADING_MAPPINGS));
|
|
25
|
+
// Content element variables
|
|
26
|
+
lines.push(...generateVariables(tokens, CONTENT_MAPPINGS));
|
|
27
|
+
// Table variables
|
|
28
|
+
lines.push(...generateVariables(tokens, TABLE_MAPPINGS));
|
|
29
|
+
// Syntax highlighting variables
|
|
30
|
+
lines.push(...generateVariables(tokens, SYNTAX_MAPPINGS));
|
|
31
|
+
// Surface/background variables
|
|
32
|
+
lines.push(...generateVariables(tokens, SURFACE_MAPPINGS));
|
|
33
|
+
// Component tokens (optional)
|
|
34
|
+
const componentLines = generateComponentVariables(tokens, COMPONENT_MAPPINGS);
|
|
35
|
+
if (componentLines.length > 0) {
|
|
36
|
+
lines.push(...componentLines);
|
|
37
|
+
}
|
|
38
|
+
// Color scheme
|
|
39
|
+
lines.push(` color-scheme: ${flavor.appearance};`);
|
|
40
|
+
return `html[data-flavor='${escapedId}'] {\n${lines.join('\n')}\n}`;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=bulma-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bulma-generator.js","sourceRoot":"","sources":["../../../src/themes/css/bulma-generator.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,yCAAyC;AAGzC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAmB;IAC3D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC1B,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEzC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,yBAAyB;IACzB,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAEhE,+BAA+B;IAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAElE,sBAAsB;IACtB,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAE7D,uDAAuD;IACvD,KAAK,CAAC,IAAI,CAAC,6BAA6B,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IACzE,KAAK,CAAC,IAAI,CAAC,6BAA6B,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IAEzE,iBAAiB;IACjB,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;IAExD,oBAAoB;IACpB,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE3D,4BAA4B;IAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE3D,kBAAkB;IAClB,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAEzD,gCAAgC;IAChC,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAE1D,+BAA+B;IAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE3D,8BAA8B;IAC9B,MAAM,cAAc,GAAG,0BAA0B,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC9E,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;IAChC,CAAC;IAED,eAAe;IACf,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;IAEpD,OAAO,qBAAqB,SAAS,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AACtE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-overrides.d.ts","sourceRoot":"","sources":["../../../src/themes/css/global-overrides.ts"],"names":[],"mappings":"AASA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Global CSS override generation - re-exports from modular structure
|
|
3
|
+
//
|
|
4
|
+
// This file maintains backward compatibility by re-exporting the composed
|
|
5
|
+
// cssGlobalOverrides function from the new modular overrides/ directory.
|
|
6
|
+
//
|
|
7
|
+
// For new code, prefer importing from './overrides/index.js' directly,
|
|
8
|
+
// which also exports individual override functions for selective use.
|
|
9
|
+
export { cssGlobalOverrides, cssTypographyOverrides, cssFormOverrides, cssDropdownOverrides, cssTableOverrides, cssNavbarOverrides, cssAccessibilityOverrides, } from './overrides/index.js';
|
|
10
|
+
//# sourceMappingURL=global-overrides.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-overrides.js","sourceRoot":"","sources":["../../../src/themes/css/global-overrides.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,qEAAqE;AACrE,EAAE;AACF,0EAA0E;AAC1E,yEAAyE;AACzE,EAAE;AACF,uEAAuE;AACvE,sEAAsE;AAEtE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { ThemeTokens } from '../types.js';
|
|
2
|
+
import type { CSSVariableMapping, HSLVariableMapping, HSLColorMapping, ComponentTokenMapping } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Unified token path resolver options.
|
|
5
|
+
*/
|
|
6
|
+
interface ResolveTokenOptions {
|
|
7
|
+
/** Optional path prefix (e.g., 'components' for component tokens) */
|
|
8
|
+
prefix?: string;
|
|
9
|
+
/** Fallback path to try if primary path fails */
|
|
10
|
+
fallbackPath?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Unified token path resolver.
|
|
14
|
+
* Gets a value from tokens using a dot-separated path with optional prefix and fallback.
|
|
15
|
+
*/
|
|
16
|
+
export declare function resolveTokenPath(tokens: ThemeTokens, path: string, options?: ResolveTokenOptions): string | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Gets a nested value from an object using a dot-separated path.
|
|
19
|
+
* Convenience wrapper around resolveTokenPath.
|
|
20
|
+
*/
|
|
21
|
+
export declare function getTokenValue(tokens: ThemeTokens, path: string): string | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Gets a component token value with fallback.
|
|
24
|
+
* Convenience wrapper around resolveTokenPath for component tokens.
|
|
25
|
+
*/
|
|
26
|
+
export declare function getComponentTokenValue(tokens: ThemeTokens, componentPath: string, fallbackPath: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Converts a hex color to an HSL string.
|
|
29
|
+
*/
|
|
30
|
+
export declare function hexToHslString(hex: string): string;
|
|
31
|
+
/**
|
|
32
|
+
* Escapes a string for use in CSS selectors.
|
|
33
|
+
* Fallback implements CSS.escape algorithm per CSSOM spec when native is unavailable.
|
|
34
|
+
*/
|
|
35
|
+
export declare function escapeCssId(id: string): string;
|
|
36
|
+
/**
|
|
37
|
+
* Validates and sanitizes a CSS color value.
|
|
38
|
+
* Returns the value if valid, or a transparent fallback if invalid.
|
|
39
|
+
*/
|
|
40
|
+
export declare function sanitizeCssColor(value: string | undefined): string;
|
|
41
|
+
/**
|
|
42
|
+
* Generates CSS variable declarations from a mapping array.
|
|
43
|
+
*/
|
|
44
|
+
export declare function generateVariables(tokens: ThemeTokens, mappings: CSSVariableMapping[]): string[];
|
|
45
|
+
/**
|
|
46
|
+
* Generates HSL component variables (h, s%, l%).
|
|
47
|
+
*/
|
|
48
|
+
export declare function generateHSLComponents(tokens: ThemeTokens, mapping: HSLVariableMapping): string[];
|
|
49
|
+
/**
|
|
50
|
+
* Generates HSL color variables.
|
|
51
|
+
*/
|
|
52
|
+
export declare function generateHSLColors(tokens: ThemeTokens, mappings: HSLColorMapping[]): string[];
|
|
53
|
+
/**
|
|
54
|
+
* Generates component token variables with fallbacks.
|
|
55
|
+
*/
|
|
56
|
+
export declare function generateComponentVariables(tokens: ThemeTokens, mappings: ComponentTokenMapping[]): string[];
|
|
57
|
+
export {};
|
|
58
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/themes/css/helpers.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,UAAU,mBAAmB;IAC3B,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAsBD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,mBAAmB,GAC5B,MAAM,GAAG,SAAS,CAqBpB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEnF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,GACnB,MAAM,CAQR;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAU9C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CA4BlE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,MAAM,EAAE,CAQ/F;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAUhG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE,CAM5F;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,qBAAqB,EAAE,GAChC,MAAM,EAAE,CA4BV"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Helper functions for CSS generation
|
|
3
|
+
import { hexToHsl } from '../bulma.js';
|
|
4
|
+
/**
|
|
5
|
+
* Traverses an object using a dot-separated path.
|
|
6
|
+
* Internal helper used by all token resolution functions.
|
|
7
|
+
*/
|
|
8
|
+
function traversePath(obj, path) {
|
|
9
|
+
const parts = path.split('.');
|
|
10
|
+
let current = obj;
|
|
11
|
+
for (const part of parts) {
|
|
12
|
+
if (current === null || current === undefined || typeof current !== 'object') {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
// Safe: path is from hardcoded TOKEN_MAPPINGS, not user input
|
|
16
|
+
// nosemgrep: prototype-pollution-loop
|
|
17
|
+
current = current[part];
|
|
18
|
+
}
|
|
19
|
+
return current;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Unified token path resolver.
|
|
23
|
+
* Gets a value from tokens using a dot-separated path with optional prefix and fallback.
|
|
24
|
+
*/
|
|
25
|
+
export function resolveTokenPath(tokens, path, options) {
|
|
26
|
+
const { prefix, fallbackPath } = options ?? {};
|
|
27
|
+
// Build full path with optional prefix
|
|
28
|
+
const fullPath = prefix ? `${prefix}.${path}` : path;
|
|
29
|
+
// Try primary path
|
|
30
|
+
const value = traversePath(tokens, fullPath);
|
|
31
|
+
if (typeof value === 'string') {
|
|
32
|
+
return value;
|
|
33
|
+
}
|
|
34
|
+
// Try fallback path if provided
|
|
35
|
+
if (fallbackPath) {
|
|
36
|
+
const fallbackValue = traversePath(tokens, fallbackPath);
|
|
37
|
+
if (typeof fallbackValue === 'string') {
|
|
38
|
+
return fallbackValue;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Gets a nested value from an object using a dot-separated path.
|
|
45
|
+
* Convenience wrapper around resolveTokenPath.
|
|
46
|
+
*/
|
|
47
|
+
export function getTokenValue(tokens, path) {
|
|
48
|
+
return resolveTokenPath(tokens, path);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Gets a component token value with fallback.
|
|
52
|
+
* Convenience wrapper around resolveTokenPath for component tokens.
|
|
53
|
+
*/
|
|
54
|
+
export function getComponentTokenValue(tokens, componentPath, fallbackPath) {
|
|
55
|
+
if (!tokens.components) {
|
|
56
|
+
return fallbackPath ? (resolveTokenPath(tokens, fallbackPath) ?? '') : '';
|
|
57
|
+
}
|
|
58
|
+
return (resolveTokenPath(tokens, componentPath, { prefix: 'components', fallbackPath }) ?? '');
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Converts a hex color to an HSL string.
|
|
62
|
+
*/
|
|
63
|
+
export function hexToHslString(hex) {
|
|
64
|
+
const hsl = hexToHsl(hex);
|
|
65
|
+
return `hsl(${hsl.h}, ${hsl.s}%, ${hsl.l}%)`;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Escapes a string for use in CSS selectors.
|
|
69
|
+
* Fallback implements CSS.escape algorithm per CSSOM spec when native is unavailable.
|
|
70
|
+
*/
|
|
71
|
+
export function escapeCssId(id) {
|
|
72
|
+
if (typeof CSS !== 'undefined' && CSS.escape) {
|
|
73
|
+
return CSS.escape(id);
|
|
74
|
+
}
|
|
75
|
+
// Fallback: escape per CSSOM spec (simplified for valid identifier chars)
|
|
76
|
+
return id.replace(/[\0-\x1f\x7f]|^-?[0-9]|[^a-zA-Z0-9_-]/g, (char) => {
|
|
77
|
+
if (char === '\0')
|
|
78
|
+
return '\uFFFD';
|
|
79
|
+
const code = char.charCodeAt(0);
|
|
80
|
+
return '\\' + code.toString(16) + ' ';
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Validates and sanitizes a CSS color value.
|
|
85
|
+
* Returns the value if valid, or a transparent fallback if invalid.
|
|
86
|
+
*/
|
|
87
|
+
export function sanitizeCssColor(value) {
|
|
88
|
+
if (!value || typeof value !== 'string') {
|
|
89
|
+
return 'transparent';
|
|
90
|
+
}
|
|
91
|
+
// Allow hex colors, rgb/rgba/hsl/hsla functions, and named colors
|
|
92
|
+
const trimmed = value.trim();
|
|
93
|
+
// Hex color validation
|
|
94
|
+
if (/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(trimmed)) {
|
|
95
|
+
return trimmed;
|
|
96
|
+
}
|
|
97
|
+
// RGB/RGBA/HSL/HSLA function validation
|
|
98
|
+
if (/^(rgb|rgba|hsl|hsla)\([^)]+\)$/i.test(trimmed)) {
|
|
99
|
+
// Additional check: no semicolons or braces in the value
|
|
100
|
+
if (!/[;{}]/.test(trimmed)) {
|
|
101
|
+
return trimmed;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
// Named color validation (common named colors only)
|
|
105
|
+
const namedColors = new Set([
|
|
106
|
+
'transparent', 'inherit', 'currentColor', 'initial', 'unset',
|
|
107
|
+
'black', 'white', 'red', 'green', 'blue', 'yellow', 'orange',
|
|
108
|
+
'purple', 'gray', 'grey', 'pink', 'brown', 'cyan', 'magenta',
|
|
109
|
+
]);
|
|
110
|
+
if (namedColors.has(trimmed.toLowerCase())) {
|
|
111
|
+
return trimmed;
|
|
112
|
+
}
|
|
113
|
+
// Default fallback for invalid values
|
|
114
|
+
return 'transparent';
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Generates CSS variable declarations from a mapping array.
|
|
118
|
+
*/
|
|
119
|
+
export function generateVariables(tokens, mappings) {
|
|
120
|
+
return mappings.map((mapping) => {
|
|
121
|
+
let value = getTokenValue(tokens, mapping.tokenPath);
|
|
122
|
+
if (value === undefined && mapping.fallbackPath) {
|
|
123
|
+
value = getTokenValue(tokens, mapping.fallbackPath);
|
|
124
|
+
}
|
|
125
|
+
return ` ${mapping.cssVar}: ${value ?? ''};`;
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Generates HSL component variables (h, s%, l%).
|
|
130
|
+
*/
|
|
131
|
+
export function generateHSLComponents(tokens, mapping) {
|
|
132
|
+
const hex = getTokenValue(tokens, mapping.tokenPath);
|
|
133
|
+
if (!hex)
|
|
134
|
+
return [];
|
|
135
|
+
const hsl = hexToHsl(hex);
|
|
136
|
+
return [
|
|
137
|
+
` ${mapping.hVar}: ${hsl.h};`,
|
|
138
|
+
` ${mapping.sVar}: ${hsl.s}%;`,
|
|
139
|
+
` ${mapping.lVar}: ${hsl.l}%;`,
|
|
140
|
+
];
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Generates HSL color variables.
|
|
144
|
+
*/
|
|
145
|
+
export function generateHSLColors(tokens, mappings) {
|
|
146
|
+
return mappings.map((mapping) => {
|
|
147
|
+
const hex = getTokenValue(tokens, mapping.tokenPath);
|
|
148
|
+
if (!hex)
|
|
149
|
+
return ` ${mapping.cssVar}: ;`;
|
|
150
|
+
return ` ${mapping.cssVar}: ${hexToHslString(hex)};`;
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Generates component token variables with fallbacks.
|
|
155
|
+
*/
|
|
156
|
+
export function generateComponentVariables(tokens, mappings) {
|
|
157
|
+
if (!tokens.components)
|
|
158
|
+
return [];
|
|
159
|
+
const lines = [];
|
|
160
|
+
let currentComponent = '';
|
|
161
|
+
for (const mapping of mappings) {
|
|
162
|
+
const component = mapping.componentPath.split('.')[0] ?? '';
|
|
163
|
+
// Add comment for new component section
|
|
164
|
+
if (component && component !== currentComponent) {
|
|
165
|
+
const componentName = component.charAt(0).toUpperCase() + component.slice(1);
|
|
166
|
+
lines.push(` /* ${componentName} component tokens */`);
|
|
167
|
+
currentComponent = component;
|
|
168
|
+
}
|
|
169
|
+
// Special case for modal.bg which has a non-token fallback
|
|
170
|
+
let value;
|
|
171
|
+
if (mapping.componentPath === 'modal.bg' && !mapping.fallbackPath) {
|
|
172
|
+
value = getComponentTokenValue(tokens, mapping.componentPath, '') || 'rgba(10, 10, 10, 0.86)';
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
value = getComponentTokenValue(tokens, mapping.componentPath, mapping.fallbackPath);
|
|
176
|
+
}
|
|
177
|
+
lines.push(` ${mapping.cssVar}: ${value};`);
|
|
178
|
+
}
|
|
179
|
+
return lines;
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/themes/css/helpers.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,sCAAsC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAmBvC;;;GAGG;AACH,SAAS,YAAY,CAAC,GAAY,EAAE,IAAY;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,OAAO,GAAG,GAAG,CAAC;IAElB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC7E,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,8DAA8D;QAC9D,sCAAsC;QACtC,OAAO,GAAI,OAAmC,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAmB,EACnB,IAAY,EACZ,OAA6B;IAE7B,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAE/C,uCAAuC;IACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAErD,mBAAmB;IACnB,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gCAAgC;IAChC,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACzD,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,MAAmB,EAAE,IAAY;IAC7D,OAAO,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAmB,EACnB,aAAqB,EACrB,YAAoB;IAEpB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,OAAO,CACL,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,IAAI,EAAE,CACtF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,OAAO,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,EAAU;IACpC,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC7C,OAAO,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IACD,0EAA0E;IAC1E,OAAO,EAAE,CAAC,OAAO,CAAC,wCAAwC,EAAE,CAAC,IAAI,EAAE,EAAE;QACnE,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,QAAQ,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAyB;IACxD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,kEAAkE;IAClE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,uBAAuB;IACvB,IAAI,kEAAkE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACrF,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,wCAAwC;IACxC,IAAI,iCAAiC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,yDAAyD;QACzD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IACD,oDAAoD;IACpD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;QAC1B,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO;QAC5D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;QAC5D,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS;KAC7D,CAAC,CAAC;IACH,IAAI,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,sCAAsC;IACtC,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAmB,EAAE,QAA8B;IACnF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,IAAI,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAChD,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,KAAK,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,EAAE,GAAG,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAmB,EAAE,OAA2B;IACpF,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IAEpB,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO;QACL,KAAK,OAAO,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,GAAG;QAC9B,KAAK,OAAO,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI;QAC/B,KAAK,OAAO,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI;KAChC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAmB,EAAE,QAA2B;IAChF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,OAAO,CAAC,MAAM,KAAK,CAAC;QAC1C,OAAO,KAAK,OAAO,CAAC,MAAM,KAAK,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,MAAmB,EACnB,QAAiC;IAEjC,IAAI,CAAC,MAAM,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAElC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAE1B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE5D,wCAAwC;QACxC,IAAI,SAAS,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;YAChD,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7E,KAAK,CAAC,IAAI,CAAC,QAAQ,aAAa,sBAAsB,CAAC,CAAC;YACxD,gBAAgB,GAAG,SAAS,CAAC;QAC/B,CAAC;QAED,2DAA2D;QAC3D,IAAI,KAAa,CAAC;QAClB,IAAI,OAAO,CAAC,aAAa,KAAK,UAAU,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAClE,KAAK,GAAG,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,wBAAwB,CAAC;QAChG,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QACtF,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,MAAM,KAAK,KAAK,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from './types.js';
|
|
2
|
+
import type { ThemeFlavor } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Generate CSS for a specific flavor.
|
|
5
|
+
*/
|
|
6
|
+
export declare function cssForFlavor(flavor: ThemeFlavor): string;
|
|
7
|
+
/**
|
|
8
|
+
* Generate global CSS overrides that apply theme variables.
|
|
9
|
+
*/
|
|
10
|
+
export declare function cssGlobalOverrides(): string;
|
|
11
|
+
export { generateSyntaxHighlightingCSS } from './syntax-generator.js';
|
|
12
|
+
export { generateThemeCSSVariables } from './bulma-generator.js';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/themes/css/index.ts"],"names":[],"mappings":"AAGA,cAAc,YAAY,CAAC;AAE3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK/C;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAOxD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAGD,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC"}
|