@lgtm-hq/turbo-themes 0.15.0 → 0.15.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/css/turbo-core.css +30 -0
- package/dist/themes/css.d.ts.map +1 -1
- package/dist/themes/css.js +32 -34
- package/dist/themes/css.js.map +1 -1
- package/dist/tokens/style-dictionary/themes.json +2 -2
- package/dist/tokens/style-dictionary/tokens.json +2 -2
- package/package.json +1 -1
- package/packages/core/dist/themes/css/bulma-generator.d.ts.map +1 -1
- package/packages/core/dist/themes/css/bulma-generator.js +2 -5
- package/packages/core/dist/themes/css/bulma-generator.js.map +1 -1
- package/packages/core/dist/themes/css/helpers.d.ts.map +1 -1
- package/packages/core/dist/themes/css/helpers.js +0 -2
- package/packages/core/dist/themes/css/helpers.js.map +1 -1
- package/packages/core/dist/themes/tokens.json +2 -2
- package/packages/css/dist/index.js +44 -14
- package/packages/css/dist/index.js.map +1 -1
- package/packages/css/dist/themes/bulma-dark.css +24 -1
- package/packages/css/dist/themes/bulma-light.css +24 -1
- package/packages/css/dist/themes/catppuccin-frappe.css +30 -0
- package/packages/css/dist/themes/catppuccin-latte.css +30 -0
- package/packages/css/dist/themes/catppuccin-macchiato.css +30 -0
- package/packages/css/dist/themes/catppuccin-mocha.css +30 -0
- package/packages/css/dist/themes/dracula.css +24 -1
- package/packages/css/dist/themes/github-dark.css +30 -0
- package/packages/css/dist/themes/github-light.css +30 -0
- package/packages/css/dist/themes/nord.css +30 -0
- package/packages/css/dist/themes/rose-pine-dawn.css +30 -0
- package/packages/css/dist/themes/rose-pine-moon.css +30 -0
- package/packages/css/dist/themes/rose-pine.css +30 -0
- package/packages/css/dist/themes/solarized-dark.css +24 -1
- package/packages/css/dist/themes/solarized-light.css +24 -1
- package/packages/css/dist/turbo-core.css +30 -0
- package/packages/css/dist/turbo.css +450 -5
|
@@ -37,6 +37,36 @@
|
|
|
37
37
|
--turbo-table-thead-bg: #45475a;
|
|
38
38
|
--turbo-table-cell-bg: #1e1e2e;
|
|
39
39
|
--turbo-table-header-fg: #cdd6f4;
|
|
40
|
+
--turbo-card-bg: #181825;
|
|
41
|
+
--turbo-card-border: #6c7086;
|
|
42
|
+
--turbo-card-header-bg: #11111b;
|
|
43
|
+
--turbo-card-footer-bg: #181825;
|
|
44
|
+
--turbo-message-bg: #181825;
|
|
45
|
+
--turbo-message-header-bg: #11111b;
|
|
46
|
+
--turbo-message-border: #6c7086;
|
|
47
|
+
--turbo-message-body-fg: #cdd6f4;
|
|
48
|
+
--turbo-panel-bg: #181825;
|
|
49
|
+
--turbo-panel-header-bg: #11111b;
|
|
50
|
+
--turbo-panel-header-fg: #cdd6f4;
|
|
51
|
+
--turbo-panel-border: #6c7086;
|
|
52
|
+
--turbo-panel-block-bg: #181825;
|
|
53
|
+
--turbo-panel-block-hover-bg: #11111b;
|
|
54
|
+
--turbo-panel-block-active-bg: #11111b;
|
|
55
|
+
--turbo-box-bg: #181825;
|
|
56
|
+
--turbo-box-border: #6c7086;
|
|
57
|
+
--turbo-notification-bg: #181825;
|
|
58
|
+
--turbo-notification-border: #6c7086;
|
|
59
|
+
--turbo-modal-bg: rgba(10, 10, 10, 0.86);
|
|
60
|
+
--turbo-modal-card-bg: #181825;
|
|
61
|
+
--turbo-modal-header-bg: #11111b;
|
|
62
|
+
--turbo-modal-footer-bg: #181825;
|
|
63
|
+
--turbo-dropdown-bg: #181825;
|
|
64
|
+
--turbo-dropdown-item-hover: #11111b;
|
|
65
|
+
--turbo-dropdown-border: #6c7086;
|
|
66
|
+
--turbo-tabs-border: #6c7086;
|
|
67
|
+
--turbo-tabs-link-bg: #181825;
|
|
68
|
+
--turbo-tabs-link-active-bg: #1e1e2e;
|
|
69
|
+
--turbo-tabs-link-hover-bg: #11111b;
|
|
40
70
|
--turbo-syntax-fg: #cdd6f4;
|
|
41
71
|
--turbo-syntax-bg: #313244;
|
|
42
72
|
--turbo-syntax-comment: #a6adc8;
|
package/dist/themes/css.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css.d.ts","sourceRoot":"","sources":["../../src/themes/css.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"css.d.ts","sourceRoot":"","sources":["../../src/themes/css.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAyL9C,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAOxD;AAGD,wBAAgB,kBAAkB,IAAI,MAAM,CA0a3C"}
|
package/dist/themes/css.js
CHANGED
|
@@ -135,47 +135,45 @@ function generateThemeCSSVariables(flavor) {
|
|
|
135
135
|
/* Table component tokens (with fallbacks) */
|
|
136
136
|
--theme-table-cell-bg: ${tokens.content.table.cellBg ?? tokens.background.base};
|
|
137
137
|
--theme-table-header-fg: ${tokens.content.table.headerFg ?? tokens.text.primary};
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
--theme-card-
|
|
141
|
-
--theme-card-
|
|
142
|
-
--theme-card-
|
|
143
|
-
--theme-card-footer-bg: ${tokens.components.card?.footerBg ?? tokens.background.surface};
|
|
138
|
+
/* Card component tokens */
|
|
139
|
+
--theme-card-bg: ${tokens.components?.card?.bg ?? tokens.background.surface};
|
|
140
|
+
--theme-card-border: ${tokens.components?.card?.border ?? tokens.border.default};
|
|
141
|
+
--theme-card-header-bg: ${tokens.components?.card?.headerBg ?? tokens.background.overlay};
|
|
142
|
+
--theme-card-footer-bg: ${tokens.components?.card?.footerBg ?? tokens.background.surface};
|
|
144
143
|
/* Message component tokens */
|
|
145
|
-
--theme-message-bg: ${tokens.components
|
|
146
|
-
--theme-message-header-bg: ${tokens.components
|
|
147
|
-
--theme-message-border: ${tokens.components
|
|
148
|
-
--theme-message-body-fg: ${tokens.components
|
|
144
|
+
--theme-message-bg: ${tokens.components?.message?.bg ?? tokens.background.surface};
|
|
145
|
+
--theme-message-header-bg: ${tokens.components?.message?.headerBg ?? tokens.background.overlay};
|
|
146
|
+
--theme-message-border: ${tokens.components?.message?.border ?? tokens.border.default};
|
|
147
|
+
--theme-message-body-fg: ${tokens.components?.message?.bodyFg ?? tokens.text.primary};
|
|
149
148
|
/* Panel component tokens */
|
|
150
|
-
--theme-panel-bg: ${tokens.components
|
|
151
|
-
--theme-panel-header-bg: ${tokens.components
|
|
152
|
-
--theme-panel-header-fg: ${tokens.components
|
|
153
|
-
--theme-panel-border: ${tokens.components
|
|
154
|
-
--theme-panel-block-bg: ${tokens.components
|
|
155
|
-
--theme-panel-block-hover-bg: ${tokens.components
|
|
156
|
-
--theme-panel-block-active-bg: ${tokens.components
|
|
149
|
+
--theme-panel-bg: ${tokens.components?.panel?.bg ?? tokens.background.surface};
|
|
150
|
+
--theme-panel-header-bg: ${tokens.components?.panel?.headerBg ?? tokens.background.overlay};
|
|
151
|
+
--theme-panel-header-fg: ${tokens.components?.panel?.headerFg ?? tokens.text.primary};
|
|
152
|
+
--theme-panel-border: ${tokens.components?.panel?.border ?? tokens.border.default};
|
|
153
|
+
--theme-panel-block-bg: ${tokens.components?.panel?.blockBg ?? tokens.background.surface};
|
|
154
|
+
--theme-panel-block-hover-bg: ${tokens.components?.panel?.blockHoverBg ?? tokens.background.overlay};
|
|
155
|
+
--theme-panel-block-active-bg: ${tokens.components?.panel?.blockActiveBg ?? tokens.background.overlay};
|
|
157
156
|
/* Box component tokens */
|
|
158
|
-
--theme-box-bg: ${tokens.components
|
|
159
|
-
--theme-box-border: ${tokens.components
|
|
157
|
+
--theme-box-bg: ${tokens.components?.box?.bg ?? tokens.background.surface};
|
|
158
|
+
--theme-box-border: ${tokens.components?.box?.border ?? tokens.border.default};
|
|
160
159
|
/* Notification component tokens */
|
|
161
|
-
--theme-notification-bg: ${tokens.components
|
|
162
|
-
--theme-notification-border: ${tokens.components
|
|
160
|
+
--theme-notification-bg: ${tokens.components?.notification?.bg ?? tokens.background.surface};
|
|
161
|
+
--theme-notification-border: ${tokens.components?.notification?.border ?? tokens.border.default};
|
|
163
162
|
/* Modal component tokens */
|
|
164
|
-
--theme-modal-bg: ${tokens.components
|
|
165
|
-
--theme-modal-card-bg: ${tokens.components
|
|
166
|
-
--theme-modal-header-bg: ${tokens.components
|
|
167
|
-
--theme-modal-footer-bg: ${tokens.components
|
|
163
|
+
--theme-modal-bg: ${tokens.components?.modal?.bg ?? 'rgba(10, 10, 10, 0.86)'};
|
|
164
|
+
--theme-modal-card-bg: ${tokens.components?.modal?.cardBg ?? tokens.background.surface};
|
|
165
|
+
--theme-modal-header-bg: ${tokens.components?.modal?.headerBg ?? tokens.background.overlay};
|
|
166
|
+
--theme-modal-footer-bg: ${tokens.components?.modal?.footerBg ?? tokens.background.surface};
|
|
168
167
|
/* Dropdown component tokens */
|
|
169
|
-
--theme-dropdown-bg: ${tokens.components
|
|
170
|
-
--theme-dropdown-item-hover-bg: ${tokens.components
|
|
171
|
-
--theme-dropdown-border: ${tokens.components
|
|
168
|
+
--theme-dropdown-bg: ${tokens.components?.dropdown?.bg ?? tokens.background.surface};
|
|
169
|
+
--theme-dropdown-item-hover-bg: ${tokens.components?.dropdown?.itemHoverBg ?? tokens.background.overlay};
|
|
170
|
+
--theme-dropdown-border: ${tokens.components?.dropdown?.border ?? tokens.border.default};
|
|
172
171
|
/* Tabs component tokens */
|
|
173
|
-
--theme-tabs-border: ${tokens.components
|
|
174
|
-
--theme-tabs-link-bg: ${tokens.components
|
|
175
|
-
--theme-tabs-link-active-bg: ${tokens.components
|
|
176
|
-
--theme-tabs-link-hover-bg: ${tokens.components
|
|
177
|
-
|
|
178
|
-
: ''} color-scheme: ${flavor.appearance};
|
|
172
|
+
--theme-tabs-border: ${tokens.components?.tabs?.border ?? tokens.border.default};
|
|
173
|
+
--theme-tabs-link-bg: ${tokens.components?.tabs?.linkBg ?? tokens.background.surface};
|
|
174
|
+
--theme-tabs-link-active-bg: ${tokens.components?.tabs?.linkActiveBg ?? tokens.background.base};
|
|
175
|
+
--theme-tabs-link-hover-bg: ${tokens.components?.tabs?.linkHoverBg ?? tokens.background.overlay};
|
|
176
|
+
color-scheme: ${flavor.appearance};
|
|
179
177
|
}`;
|
|
180
178
|
}
|
|
181
179
|
// Generate CSS for a specific flavor
|
package/dist/themes/css.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css.js","sourceRoot":"","sources":["../../src/themes/css.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"css.js","sourceRoot":"","sources":["../../src/themes/css.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://design-tokens.org/schema.json",
|
|
3
3
|
"$description": "Turbo Themes - Design tokens for 15 themes",
|
|
4
|
-
"$version": "0.15.
|
|
5
|
-
"$generated": "2026-02-
|
|
4
|
+
"$version": "0.15.2",
|
|
5
|
+
"$generated": "2026-02-06T12:01:35.652Z",
|
|
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 15 themes",
|
|
4
|
-
"$version": "0.15.
|
|
5
|
-
"$generated": "2026-02-
|
|
4
|
+
"$version": "0.15.2",
|
|
5
|
+
"$generated": "2026-02-06T12:01:35.654Z",
|
|
6
6
|
"meta": {
|
|
7
7
|
"themeIds": [
|
|
8
8
|
"bulma-dark",
|
package/package.json
CHANGED
|
@@ -1 +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,
|
|
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,CA4CrE"}
|
|
@@ -30,11 +30,8 @@ export function generateThemeCSSVariables(flavor) {
|
|
|
30
30
|
lines.push(...generateVariables(tokens, SYNTAX_MAPPINGS));
|
|
31
31
|
// Surface/background variables
|
|
32
32
|
lines.push(...generateVariables(tokens, SURFACE_MAPPINGS));
|
|
33
|
-
// Component tokens (
|
|
34
|
-
|
|
35
|
-
if (componentLines.length > 0) {
|
|
36
|
-
lines.push(...componentLines);
|
|
37
|
-
}
|
|
33
|
+
// Component tokens (always emitted with fallbacks from base tokens)
|
|
34
|
+
lines.push(...generateComponentVariables(tokens, COMPONENT_MAPPINGS));
|
|
38
35
|
// Color scheme
|
|
39
36
|
lines.push(` color-scheme: ${flavor.appearance};`);
|
|
40
37
|
return `html[data-flavor='${escapedId}'] {\n${lines.join('\n')}\n}`;
|
|
@@ -1 +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,
|
|
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,oEAAoE;IACpE,KAAK,CAAC,IAAI,CAAC,GAAG,0BAA0B,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEtE,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"}
|
|
@@ -1 +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,
|
|
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,CA0BV"}
|
|
@@ -154,8 +154,6 @@ export function generateHSLColors(tokens, mappings) {
|
|
|
154
154
|
* Generates component token variables with fallbacks.
|
|
155
155
|
*/
|
|
156
156
|
export function generateComponentVariables(tokens, mappings) {
|
|
157
|
-
if (!tokens.components)
|
|
158
|
-
return [];
|
|
159
157
|
const lines = [];
|
|
160
158
|
let currentComponent = '';
|
|
161
159
|
for (const mapping of mappings) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/themes/css/helpers.ts"],"names":[],"mappings":"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
|
|
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,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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://design-tokens.org/schema.json",
|
|
3
3
|
"$description": "Turbo Themes - Flat tokens for 15 themes",
|
|
4
|
-
"$version": "0.15.
|
|
5
|
-
"$generated": "2026-02-
|
|
4
|
+
"$version": "0.15.2",
|
|
5
|
+
"$generated": "2026-02-06T12:01:35.654Z",
|
|
6
6
|
"meta": {
|
|
7
7
|
"themeIds": [
|
|
8
8
|
"bulma-dark",
|
|
@@ -333,6 +333,7 @@ function resolveTokenPath(tokens, path) {
|
|
|
333
333
|
}
|
|
334
334
|
return typeof current === "string" ? current : void 0;
|
|
335
335
|
}
|
|
336
|
+
const DEFAULT_MODAL_BACKDROP = "rgba(10, 10, 10, 0.86)";
|
|
336
337
|
const TRUSTED_FONT_DOMAINS = [
|
|
337
338
|
"fonts.googleapis.com",
|
|
338
339
|
"fonts.gstatic.com",
|
|
@@ -357,6 +358,45 @@ function isValidFontUrl(url) {
|
|
|
357
358
|
return false;
|
|
358
359
|
}
|
|
359
360
|
}
|
|
361
|
+
const COMPONENT_TOKEN_MAPPINGS = [
|
|
362
|
+
["card-bg", "card.bg", "background.surface"],
|
|
363
|
+
["card-border", "card.border", "border.default"],
|
|
364
|
+
["card-header-bg", "card.headerBg", "background.overlay"],
|
|
365
|
+
["card-footer-bg", "card.footerBg", "background.surface"],
|
|
366
|
+
["message-bg", "message.bg", "background.surface"],
|
|
367
|
+
["message-header-bg", "message.headerBg", "background.overlay"],
|
|
368
|
+
["message-border", "message.border", "border.default"],
|
|
369
|
+
["message-body-fg", "message.bodyFg", "text.primary"],
|
|
370
|
+
["panel-bg", "panel.bg", "background.surface"],
|
|
371
|
+
["panel-header-bg", "panel.headerBg", "background.overlay"],
|
|
372
|
+
["panel-header-fg", "panel.headerFg", "text.primary"],
|
|
373
|
+
["panel-border", "panel.border", "border.default"],
|
|
374
|
+
["panel-block-bg", "panel.blockBg", "background.surface"],
|
|
375
|
+
["panel-block-hover-bg", "panel.blockHoverBg", "background.overlay"],
|
|
376
|
+
["panel-block-active-bg", "panel.blockActiveBg", "background.overlay"],
|
|
377
|
+
["box-bg", "box.bg", "background.surface"],
|
|
378
|
+
["box-border", "box.border", "border.default"],
|
|
379
|
+
["notification-bg", "notification.bg", "background.surface"],
|
|
380
|
+
["notification-border", "notification.border", "border.default"],
|
|
381
|
+
["modal-bg", "modal.bg", ""],
|
|
382
|
+
["modal-card-bg", "modal.cardBg", "background.surface"],
|
|
383
|
+
["modal-header-bg", "modal.headerBg", "background.overlay"],
|
|
384
|
+
["modal-footer-bg", "modal.footerBg", "background.surface"],
|
|
385
|
+
["dropdown-bg", "dropdown.bg", "background.surface"],
|
|
386
|
+
["dropdown-item-hover", "dropdown.itemHoverBg", "background.overlay"],
|
|
387
|
+
["dropdown-border", "dropdown.border", "border.default"],
|
|
388
|
+
["tabs-border", "tabs.border", "border.default"],
|
|
389
|
+
["tabs-link-bg", "tabs.linkBg", "background.surface"],
|
|
390
|
+
["tabs-link-active-bg", "tabs.linkActiveBg", "background.base"],
|
|
391
|
+
["tabs-link-hover-bg", "tabs.linkHoverBg", "background.overlay"]
|
|
392
|
+
];
|
|
393
|
+
function resolveComponentToken(tokens, componentPath, fallbackPath) {
|
|
394
|
+
const componentValue = resolveTokenPath(tokens, `components.${componentPath}`);
|
|
395
|
+
if (componentValue !== void 0) return componentValue;
|
|
396
|
+
if (componentPath === "modal.bg") return DEFAULT_MODAL_BACKDROP;
|
|
397
|
+
if (fallbackPath) return resolveTokenPath(tokens, fallbackPath) ?? "";
|
|
398
|
+
return "";
|
|
399
|
+
}
|
|
360
400
|
function generateCssVarsFromTokens(tokens) {
|
|
361
401
|
const lines = [];
|
|
362
402
|
const prefix2 = CSS_VAR_PREFIX;
|
|
@@ -409,20 +449,10 @@ function generateCssVarsFromTokens(tokens) {
|
|
|
409
449
|
}
|
|
410
450
|
}
|
|
411
451
|
}
|
|
412
|
-
|
|
413
|
-
const
|
|
414
|
-
if (
|
|
415
|
-
|
|
416
|
-
if (components2.card.border) add("card-border", components2.card.border);
|
|
417
|
-
}
|
|
418
|
-
if (components2.modal) {
|
|
419
|
-
if (components2.modal.bg) add("modal-bg", components2.modal.bg);
|
|
420
|
-
if (components2.modal.cardBg) add("modal-card-bg", components2.modal.cardBg);
|
|
421
|
-
}
|
|
422
|
-
if (components2.dropdown) {
|
|
423
|
-
if (components2.dropdown.bg) add("dropdown-bg", components2.dropdown.bg);
|
|
424
|
-
if (components2.dropdown.border) add("dropdown-border", components2.dropdown.border);
|
|
425
|
-
if (components2.dropdown.itemHoverBg) add("dropdown-item-hover", components2.dropdown.itemHoverBg);
|
|
452
|
+
for (const [cssVar, componentPath, fallbackPath] of COMPONENT_TOKEN_MAPPINGS) {
|
|
453
|
+
const value = resolveComponentToken(tokens, componentPath, fallbackPath);
|
|
454
|
+
if (value) {
|
|
455
|
+
add(cssVar, value);
|
|
426
456
|
}
|
|
427
457
|
}
|
|
428
458
|
const syntaxLines = generateSyntaxVarsFromTokens(tokens);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/syntax.ts","../../core/dist/themes/css/mappings.js","../src/generator.ts","../src/base.ts"],"sourcesContent":["// SPDX-License-Identifier: MIT\n/**\n * Syntax highlighting styles for Turbo Themes.\n *\n * Provides CSS for code syntax highlighting that uses Turbo theme variables.\n * Compatible with Rouge (Jekyll), Prism, highlight.js, and other highlighters.\n *\n * @packageDocumentation\n */\n\nimport type { ThemeFlavor, ThemeTokens } from '@lgtm-hq/turbo-themes-core';\nimport { CSS_VAR_PREFIX } from './generator.js';\n\n/**\n * Syntax highlighting token types and their CSS class mappings.\n * These cover the common classes used by most syntax highlighters.\n */\nconst SYNTAX_CLASS_GROUPS = {\n // Comments\n comment: ['.c', '.cm', '.c1', '.cs', '.cp', '.cpf'],\n // Keywords (control flow, declarations)\n keyword: ['.k', '.kc', '.kd', '.kn', '.kp', '.kr', '.kt', '.kv'],\n // Strings\n string: ['.s', '.s1', '.s2', '.sb', '.sc', '.sd', '.se', '.sh', '.si', '.sr', '.ss', '.sx'],\n // Numbers\n number: ['.m', '.mi', '.mf', '.mh', '.mo', '.mb', '.mx', '.il'],\n // Functions and methods\n function: ['.nf', '.fm', '.nb'],\n // Classes and types\n type: ['.nc', '.nn', '.no', '.nd'],\n // Variables and identifiers\n variable: ['.n', '.na', '.nv', '.vc', '.vg', '.vi', '.vm'],\n // Operators\n operator: ['.o', '.ow'],\n // Punctuation\n punctuation: ['.p'],\n // HTML/XML tags\n tag: ['.nt', '.nx'],\n // Attributes\n attribute: ['.na', '.atn'],\n // Values (attribute values, etc.)\n value: ['.atv'],\n // Errors\n error: ['.err', '.gr'],\n // Deletions (diffs)\n deleted: ['.gd'],\n // Insertions (diffs)\n inserted: ['.gi'],\n} as const;\n\n/**\n * Generates CSS variable declarations for syntax highlighting.\n */\nexport function generateSyntaxVarsFromTokens(tokens: ThemeTokens): string[] {\n const lines: string[] = [];\n const add = (name: string, value: string): void => {\n lines.push(` --${CSS_VAR_PREFIX}-syntax-${name}: ${value};`);\n };\n\n // Map theme tokens to syntax colors\n add('fg', tokens.content?.codeBlock?.fg ?? tokens.text.primary);\n add('bg', tokens.content?.codeBlock?.bg ?? tokens.background.surface);\n add('comment', tokens.text.secondary);\n add('keyword', tokens.brand.primary);\n add('string', tokens.state.success);\n add('number', tokens.state.warning);\n add('function', tokens.state.info);\n add('type', tokens.brand.primary);\n add('variable', tokens.text.primary);\n add('operator', tokens.text.secondary);\n add('punctuation', tokens.text.secondary);\n add('tag', tokens.state.danger);\n add('attribute', tokens.state.info);\n add('value', tokens.state.success);\n add('error', tokens.state.danger);\n add('deleted', tokens.state.danger);\n add('inserted', tokens.state.success);\n\n return lines;\n}\n\n/**\n * CSS styles for syntax highlighting using Turbo variables.\n * Works with Rouge, Prism, highlight.js, and similar highlighters.\n */\nexport const CSS_SYNTAX = `/* Turbo Themes - Syntax Highlighting */\n\n/* Astro Code component css-variables theme mapping */\n:root {\n --astro-code-color-text: var(--turbo-syntax-fg, var(--turbo-text-primary));\n --astro-code-color-background: var(--turbo-syntax-bg, var(--turbo-code-block-bg));\n --astro-code-token-constant: var(--turbo-syntax-number);\n --astro-code-token-string: var(--turbo-syntax-string);\n --astro-code-token-comment: var(--turbo-syntax-comment);\n --astro-code-token-keyword: var(--turbo-syntax-keyword);\n --astro-code-token-parameter: var(--turbo-syntax-variable);\n --astro-code-token-function: var(--turbo-syntax-function);\n --astro-code-token-string-expression: var(--turbo-syntax-string);\n --astro-code-token-punctuation: var(--turbo-syntax-punctuation);\n --astro-code-token-link: var(--turbo-accent-link, var(--turbo-brand-primary));\n /* Additional Astro tokens */\n --astro-code-background: var(--turbo-syntax-bg, var(--turbo-code-block-bg));\n --astro-code-foreground: var(--turbo-syntax-fg, var(--turbo-text-primary));\n}\n\n/* Astro Code component styling */\n.astro-code,\npre.astro-code {\n background-color: var(--turbo-syntax-bg, var(--turbo-code-block-bg)) !important;\n padding: var(--space-lg);\n border-radius: var(--radius-lg);\n overflow-x: auto;\n border: 1px solid var(--turbo-border-default);\n}\n\n.astro-code code {\n background-color: transparent !important;\n color: inherit;\n}\n\n/* Base highlight container - only applies to pre elements */\n.highlight,\npre.highlight,\npre[class*=\"language-\"] {\n background-color: var(--turbo-syntax-bg, var(--turbo-code-block-bg));\n color: var(--turbo-syntax-fg, var(--turbo-code-block-fg));\n}\n\n/* Code inside pre should have transparent background */\n.highlight pre,\n.highlight code,\npre code,\npre code[class*=\"language-\"] {\n background-color: transparent;\n color: inherit;\n}\n\n/* Comments */\n.highlight .c,\n.highlight .cm,\n.highlight .c1,\n.highlight .cs,\n.highlight .cp,\n.highlight .cpf,\n.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata,\n.hljs-comment,\n.hljs-quote {\n color: var(--turbo-syntax-comment);\n font-style: italic;\n}\n\n/* Keywords */\n.highlight .k,\n.highlight .kc,\n.highlight .kd,\n.highlight .kn,\n.highlight .kp,\n.highlight .kr,\n.highlight .kt,\n.highlight .kv,\n.token.keyword,\n.token.atrule,\n.token.important,\n.hljs-keyword,\n.hljs-selector-tag,\n.hljs-built_in,\n.hljs-type {\n color: var(--turbo-syntax-keyword);\n}\n\n/* Strings */\n.highlight .s,\n.highlight .s1,\n.highlight .s2,\n.highlight .sb,\n.highlight .sc,\n.highlight .sd,\n.highlight .se,\n.highlight .sh,\n.highlight .si,\n.highlight .sr,\n.highlight .ss,\n.highlight .sx,\n.token.string,\n.token.char,\n.token.regex,\n.token.template-string,\n.hljs-string,\n.hljs-regexp {\n color: var(--turbo-syntax-string);\n}\n\n/* Numbers */\n.highlight .m,\n.highlight .mi,\n.highlight .mf,\n.highlight .mh,\n.highlight .mo,\n.highlight .mb,\n.highlight .mx,\n.highlight .il,\n.token.number,\n.token.boolean,\n.token.constant,\n.hljs-number,\n.hljs-literal {\n color: var(--turbo-syntax-number);\n}\n\n/* Functions */\n.highlight .nf,\n.highlight .fm,\n.highlight .nb,\n.token.function,\n.token.builtin,\n.hljs-title.function_,\n.hljs-built_in {\n color: var(--turbo-syntax-function);\n}\n\n/* Classes and types */\n.highlight .nc,\n.highlight .nn,\n.highlight .no,\n.highlight .nd,\n.token.class-name,\n.token.namespace,\n.hljs-title.class_,\n.hljs-class .hljs-title {\n color: var(--turbo-syntax-type);\n}\n\n/* Variables and identifiers */\n.highlight .n,\n.highlight .nv,\n.highlight .vc,\n.highlight .vg,\n.highlight .vi,\n.highlight .vm,\n.token.variable,\n.hljs-variable,\n.hljs-template-variable {\n color: var(--turbo-syntax-variable);\n}\n\n/* Operators */\n.highlight .o,\n.highlight .ow,\n.token.operator,\n.hljs-operator {\n color: var(--turbo-syntax-operator);\n}\n\n/* Punctuation */\n.highlight .p,\n.token.punctuation,\n.hljs-punctuation {\n color: var(--turbo-syntax-punctuation);\n}\n\n/* HTML/XML tags */\n.highlight .nt,\n.highlight .nx,\n.token.tag,\n.hljs-tag,\n.hljs-name {\n color: var(--turbo-syntax-tag);\n}\n\n/* Attributes */\n.highlight .na,\n.highlight .atn,\n.token.attr-name,\n.hljs-attr {\n color: var(--turbo-syntax-attribute);\n}\n\n/* Attribute values */\n.highlight .atv,\n.token.attr-value,\n.hljs-attr .hljs-string {\n color: var(--turbo-syntax-value);\n}\n\n/* Errors */\n.highlight .err,\n.highlight .gr,\n.token.error,\n.hljs-error {\n color: var(--turbo-syntax-error);\n}\n\n/* Diff: deletions */\n.highlight .gd,\n.token.deleted,\n.hljs-deletion {\n color: var(--turbo-syntax-deleted);\n background-color: color-mix(in srgb, var(--turbo-syntax-deleted) 15%, transparent);\n}\n\n/* Diff: insertions */\n.highlight .gi,\n.token.inserted,\n.hljs-addition {\n color: var(--turbo-syntax-inserted);\n background-color: color-mix(in srgb, var(--turbo-syntax-inserted) 15%, transparent);\n}\n\n/* Line numbers (if used) */\n.highlight .lineno,\n.line-numbers .line-numbers-rows,\n.hljs-ln-numbers {\n color: var(--turbo-text-secondary);\n opacity: 0.5;\n user-select: none;\n}\n\n/* Selection within code */\n.highlight ::selection,\npre[class*=\"language-\"] ::selection,\ncode[class*=\"language-\"] ::selection {\n background-color: var(--turbo-selection-bg);\n color: var(--turbo-selection-fg);\n}\n`;\n\n/**\n * Generates syntax highlighting CSS for a specific theme.\n * This includes both the variable definitions and the styling rules.\n */\nexport function generateSyntaxCss(flavor: ThemeFlavor): string {\n const vars = generateSyntaxVarsFromTokens(flavor.tokens);\n\n return `/* Turbo Themes - Syntax Highlighting for ${flavor.label} */\n[data-theme=\"${flavor.id}\"] {\n${vars.join('\\n')}\n}\n`;\n}\n\n/**\n * Generates the complete syntax highlighting CSS file.\n * Includes base styles that work with any theme.\n */\nexport function generateSyntaxBaseCss(): string {\n return CSS_SYNTAX;\n}\n","// SPDX-License-Identifier: MIT\n// CSS Variable Mappings - Generated from config/token-mappings.json\n// This file reads from the single source of truth configuration\n// Import the centralized mapping configuration\n// Note: Using require for JSON import compatibility\nimport mappingConfig from '../../../../../config/token-mappings.json' with { type: 'json' };\n// Convert config entries to typed mappings\nfunction toVariableMapping(entry) {\n return {\n cssVar: entry.cssVar,\n tokenPath: entry.tokenPath,\n ...(entry.fallback ? { fallbackPath: entry.fallback } : {}),\n };\n}\nfunction toComponentMapping(entry) {\n return {\n cssVar: entry.cssVar,\n componentPath: entry.componentPath,\n fallbackPath: entry.fallback,\n };\n}\nfunction toHSLMapping(entry) {\n return {\n hVar: entry.hVar,\n sVar: entry.sVar,\n lVar: entry.lVar,\n tokenPath: entry.tokenPath,\n };\n}\nfunction toHSLColorMapping(entry) {\n return {\n cssVar: entry.cssVar,\n tokenPath: entry.tokenPath,\n };\n}\n// =============================================================================\n// Bulma Framework Mappings\n// =============================================================================\n/** Bulma scheme variables */\nexport const BULMA_SCHEME_MAPPINGS = mappingConfig.bulma.schemeMappings.map(toVariableMapping);\n/** Primary color HSL components */\nexport const PRIMARY_HSL_MAPPING = toHSLMapping(mappingConfig.bulma.primaryHsl);\n/** State colors as HSL */\nexport const STATE_HSL_MAPPINGS = mappingConfig.bulma.stateHslMappings.map(toHSLColorMapping);\n// =============================================================================\n// Theme Variable Mappings\n// =============================================================================\n/** Text variables */\nexport const TEXT_MAPPINGS = mappingConfig.theme.textMappings.map(toVariableMapping);\n/** Heading variables */\nexport const HEADING_MAPPINGS = mappingConfig.theme.headingMappings.map(toVariableMapping);\n/** Content element variables */\nexport const CONTENT_MAPPINGS = mappingConfig.theme.contentMappings.map(toVariableMapping);\n/** Table variables */\nexport const TABLE_MAPPINGS = mappingConfig.theme.tableMappings.map(toVariableMapping);\n/** Syntax highlighting variables */\nexport const SYNTAX_MAPPINGS = mappingConfig.theme.syntaxMappings.map(toVariableMapping);\n/** Surface/background variables */\nexport const SURFACE_MAPPINGS = mappingConfig.theme.surfaceMappings.map(toVariableMapping);\n// =============================================================================\n// Component Token Mappings\n// =============================================================================\n/** Component token mappings (optional, with fallbacks) */\nexport const COMPONENT_MAPPINGS = mappingConfig.components.map(toComponentMapping);\n// =============================================================================\n// Syntax Highlighting CSS Classes\n// =============================================================================\n/** Syntax highlighting CSS class mappings */\nexport const SYNTAX_CLASS_GROUPS = mappingConfig.syntaxClassGroups;\n// =============================================================================\n// Core Mappings (for generator.ts and Python)\n// =============================================================================\n/** Core token mappings used by CSS generator */\nexport const CORE_MAPPINGS = mappingConfig.coreMappings.map(toVariableMapping);\n/** CSS variable prefix */\nexport const CSS_VAR_PREFIX = mappingConfig.prefix;\n/** Optional group configurations */\nexport const OPTIONAL_GROUPS = mappingConfig.optionalGroups;\n//# sourceMappingURL=mappings.js.map","// SPDX-License-Identifier: MIT\n/**\n * CSS Custom Properties generator for Turbo Themes.\n *\n * Generates framework-agnostic CSS variables from theme tokens.\n * This is the primary output format for platform-agnostic theming.\n *\n * @packageDocumentation\n */\n\nimport type { ThemeFlavor, ThemeTokens } from '@lgtm-hq/turbo-themes-core';\nimport { generateSyntaxVarsFromTokens } from './syntax.js';\n\n// Import centralized mappings from config\nimport {\n CORE_MAPPINGS,\n CSS_VAR_PREFIX,\n OPTIONAL_GROUPS,\n} from '@lgtm-hq/turbo-themes-core/css/mappings';\n\n/**\n * Resolves a dot-separated path to a value in the tokens object.\n *\n * @param tokens - The tokens object to traverse\n * @param path - Dot-separated path (e.g., 'background.base')\n * @returns The resolved value or undefined if path doesn't exist\n */\nfunction resolveTokenPath(tokens: ThemeTokens, path: string): string | undefined {\n const parts = path.split('.');\n let current: unknown = tokens;\n\n for (const part of parts) {\n if (current === null || current === undefined || typeof current !== 'object') {\n return undefined;\n }\n // Safe: path is from hardcoded TOKEN_MAPPINGS, not user input\n // nosemgrep: prototype-pollution-loop\n current = (current as Record<string, unknown>)[part];\n }\n\n return typeof current === 'string' ? current : undefined;\n}\n\n/**\n * Trusted font provider domains for web font imports.\n * Only HTTPS URLs from these domains are allowed to prevent CSS injection.\n */\nconst TRUSTED_FONT_DOMAINS = [\n 'fonts.googleapis.com',\n 'fonts.gstatic.com',\n 'use.typekit.net',\n 'fonts.bunny.net',\n 'rsms.me', // Inter font\n 'fonts.cdnfonts.com',\n 'github.githubassets.com', // GitHub themes\n] as const;\n\n/**\n * Validates that a web font URL is safe to include in CSS.\n * Only allows HTTPS URLs from trusted font provider domains.\n *\n * @param url - The URL to validate\n * @returns true if the URL is from a trusted font provider\n */\nfunction isValidFontUrl(url: string): boolean {\n try {\n const parsed = new URL(url);\n if (parsed.protocol !== 'https:') {\n return false;\n }\n return TRUSTED_FONT_DOMAINS.some(\n (domain) => parsed.hostname === domain || parsed.hostname.endsWith(`.${domain}`),\n );\n } catch {\n return false;\n }\n}\n\n/**\n * Generates CSS custom property declarations from theme tokens.\n * Uses centralized mapping configuration for consistency.\n *\n * @param tokens - The theme tokens to convert\n * @returns Array of CSS variable declaration lines\n *\n * @example\n * ```ts\n * const lines = generateCssVarsFromTokens(theme.tokens);\n * // [' --turbo-bg-base: #1e1e2e;', ' --turbo-bg-surface: #313244;', ...]\n * ```\n */\nexport function generateCssVarsFromTokens(tokens: ThemeTokens): string[] {\n const lines: string[] = [];\n const prefix = CSS_VAR_PREFIX;\n\n const add = (name: string, value: string): void => {\n lines.push(` --${prefix}-${name}: ${value};`);\n };\n\n // Apply core mappings from centralized config\n for (const mapping of CORE_MAPPINGS) {\n // Extract variable name from cssVar (remove prefix if present)\n const varName = mapping.cssVar.startsWith('--')\n ? mapping.cssVar.slice(2) // Remove leading --\n : mapping.cssVar;\n\n let value = resolveTokenPath(tokens, mapping.tokenPath);\n\n // Try fallback if primary path didn't resolve\n if (value === undefined && mapping.fallbackPath) {\n value = resolveTokenPath(tokens, mapping.fallbackPath);\n }\n\n if (value !== undefined) {\n add(varName, value);\n }\n }\n\n // Optional token groups\n const optionalGroups = OPTIONAL_GROUPS;\n\n // Spacing tokens (if available)\n if (tokens.spacing && optionalGroups.spacing) {\n const { properties } = optionalGroups.spacing;\n for (const prop of properties) {\n const value = (tokens.spacing as Record<string, string>)[prop];\n if (value) {\n add(`${optionalGroups.spacing.prefix}-${prop}`, value);\n }\n }\n }\n\n // Elevation tokens (if available)\n if (tokens.elevation && optionalGroups.elevation) {\n const { properties } = optionalGroups.elevation;\n for (const prop of properties) {\n const value = (tokens.elevation as Record<string, string>)[prop];\n if (value) {\n add(`${optionalGroups.elevation.prefix}-${prop}`, value);\n }\n }\n }\n\n // Animation tokens (if available) - uses custom mappings\n if (tokens.animation && optionalGroups.animation?.mappings) {\n for (const mapping of optionalGroups.animation.mappings) {\n const value = resolveTokenPath(tokens, mapping.tokenPath);\n if (value) {\n add(`${optionalGroups.animation.prefix}-${mapping.cssVar}`, value);\n }\n }\n }\n\n // Opacity tokens (if available)\n if (tokens.opacity && optionalGroups.opacity) {\n const { properties } = optionalGroups.opacity;\n for (const prop of properties) {\n const value = (tokens.opacity as Record<string, number>)[prop];\n if (value !== undefined) {\n add(`${optionalGroups.opacity.prefix}-${prop}`, String(value));\n }\n }\n }\n\n // Component tokens (if available)\n if (tokens.components) {\n const { components } = tokens;\n if (components.card) {\n if (components.card.bg) add('card-bg', components.card.bg);\n if (components.card.border) add('card-border', components.card.border);\n }\n if (components.modal) {\n if (components.modal.bg) add('modal-bg', components.modal.bg);\n if (components.modal.cardBg) add('modal-card-bg', components.modal.cardBg);\n }\n if (components.dropdown) {\n if (components.dropdown.bg) add('dropdown-bg', components.dropdown.bg);\n if (components.dropdown.border) add('dropdown-border', components.dropdown.border);\n if (components.dropdown.itemHoverBg) add('dropdown-item-hover', components.dropdown.itemHoverBg);\n }\n }\n\n // Syntax highlighting tokens\n const syntaxLines = generateSyntaxVarsFromTokens(tokens);\n lines.push(...syntaxLines);\n\n return lines;\n}\n\n/**\n * Generates a complete CSS file for a single theme flavor.\n *\n * @param flavor - The theme flavor to generate CSS for\n * @returns Complete CSS string with data-theme selector\n *\n * @example\n * ```ts\n * const css = generateThemeCss(catppuccinMocha);\n * // [data-theme=\"catppuccin-mocha\"] { --turbo-bg-base: #1e1e2e; ... }\n * ```\n */\nexport function generateThemeCss(flavor: ThemeFlavor): string {\n const vars = generateCssVarsFromTokens(flavor.tokens);\n const webFonts = flavor.tokens.typography?.webFonts ?? [];\n const fontImports = webFonts\n .filter(isValidFontUrl)\n .map((url) => `@import url('${url}');`)\n .join('\\n');\n const colorScheme = flavor.appearance === 'dark' ? 'dark' : 'light';\n\n const cssContent = `[data-theme=\"${flavor.id}\"] {\n${vars.join('\\n')}\n color-scheme: ${colorScheme};\n}`;\n\n return fontImports ? `${fontImports}\\n\\n${cssContent}\\n` : `${cssContent}\\n`;\n}\n\n/**\n * Design system tokens that are theme-agnostic.\n * These provide spacing, shadows, radius, and transitions for components.\n */\nconst DESIGN_SYSTEM_TOKENS = `\n /* Spacing */\n --space-xs: 0.25rem;\n --space-sm: 0.5rem;\n --space-md: 1rem;\n --space-lg: 1.5rem;\n --space-xl: 2rem;\n --space-2xl: 3rem;\n --space-3xl: 4rem;\n --space-4xl: 6rem;\n\n /* Border Radius */\n --radius-sm: 0.5rem;\n --radius-md: 0.75rem;\n --radius-lg: 1rem;\n --radius-xl: 1.5rem;\n --radius-2xl: 2rem;\n --radius-full: 9999px;\n\n /* Shadows */\n --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);\n --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07), 0 2px 4px rgba(0, 0, 0, 0.05);\n --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1), 0 4px 6px rgba(0, 0, 0, 0.05);\n --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.15), 0 10px 10px rgba(0, 0, 0, 0.04);\n --shadow-glow: 0 0 30px color-mix(in srgb, var(--turbo-brand-primary) 30%, transparent);\n --shadow-glow-sm: 0 0 15px color-mix(in srgb, var(--turbo-brand-primary) 20%, transparent);\n\n /* Transitions */\n --transition-fast: 120ms ease-out;\n --transition-normal: 200ms ease-out;\n --transition-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1);\n\n /* Gradients (theme-aware) */\n --gradient-primary: linear-gradient(135deg, var(--turbo-brand-primary), var(--turbo-state-info));\n --gradient-surface: linear-gradient(180deg, var(--turbo-bg-surface), var(--turbo-bg-base));\n`;\n\n/**\n * Generates the core CSS file with default variable values.\n *\n * @param defaultFlavor - The theme flavor to use as defaults\n * @returns CSS string with :root selector\n *\n * @example\n * ```ts\n * const coreCss = generateCoreCss(catppuccinMocha);\n * // :root { --turbo-bg-base: #1e1e2e; ... }\n * ```\n */\nexport function generateCoreCss(defaultFlavor: ThemeFlavor): string {\n const vars = generateCssVarsFromTokens(defaultFlavor.tokens);\n return `:root {\\n${vars.join('\\n')}\\n${DESIGN_SYSTEM_TOKENS}}\\n`;\n}\n\n/**\n * Generates a combined CSS file with all themes.\n *\n * @param flavors - Array of all theme flavors\n * @param defaultFlavorId - ID of the theme to use as :root defaults\n * @returns Complete CSS string with core and all theme selectors\n */\nexport function generateCombinedCss(\n flavors: readonly ThemeFlavor[],\n defaultFlavorId: string = 'catppuccin-mocha'\n): string {\n const defaultFlavor = flavors.find((f) => f.id === defaultFlavorId) || flavors[0];\n if (!defaultFlavor) {\n throw new Error('No flavors provided');\n }\n\n const coreCss = generateCoreCss(defaultFlavor);\n const themeCss = flavors.map((flavor) => generateThemeCss(flavor)).join('\\n');\n\n return `/* Turbo Themes - Pure CSS Custom Properties */\\n/* Generated automatically - do not edit */\\n\\n${coreCss}\\n${themeCss}`;\n}\n\n// Re-export the prefix for external use\nexport { CSS_VAR_PREFIX };\n","// SPDX-License-Identifier: MIT\n/**\n * Base semantic styles for Turbo Themes.\n *\n * Provides optional CSS that applies theme variables to common HTML elements.\n * This is a lightweight alternative to a full CSS framework.\n *\n * @packageDocumentation\n */\n\n/**\n * Minimal CSS reset that works well with Turbo theme variables.\n * Approximately 500 bytes minified.\n */\nexport const CSS_RESET = `/* Turbo Themes - Minimal Reset */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nfigure,\nblockquote,\ndl,\ndd {\n margin: 0;\n}\n\nhtml {\n -webkit-text-size-adjust: 100%;\n -moz-text-size-adjust: 100%;\n text-size-adjust: 100%;\n}\n\nbody {\n min-height: 100vh;\n line-height: 1.5;\n -webkit-font-smoothing: antialiased;\n}\n\nimg,\npicture,\nvideo,\ncanvas,\nsvg {\n display: block;\n max-width: 100%;\n}\n\ninput,\nbutton,\ntextarea,\nselect {\n font: inherit;\n}\n`;\n\n/**\n * Base semantic styles that use Turbo theme variables.\n * Approximately 2KB minified.\n */\nexport const CSS_BASE = `/* Turbo Themes - Base Semantic Styles */\n\n/* Root & Body */\n:root {\n color-scheme: light dark;\n}\n\nbody {\n font-family: var(--turbo-font-sans, system-ui, -apple-system, sans-serif);\n color: var(--turbo-text-primary, #000);\n background-color: var(--turbo-bg-base, #fff);\n}\n\n/* Typography */\nh1, h2, h3, h4, h5, h6 {\n line-height: 1.2;\n font-weight: 600;\n}\n\nh1 { color: var(--turbo-heading-h1, var(--turbo-text-primary)); font-size: 2.5rem; }\nh2 { color: var(--turbo-heading-h2, var(--turbo-text-primary)); font-size: 2rem; }\nh3 { color: var(--turbo-heading-h3, var(--turbo-text-primary)); font-size: 1.75rem; }\nh4 { color: var(--turbo-heading-h4, var(--turbo-text-primary)); font-size: 1.5rem; }\nh5 { color: var(--turbo-heading-h5, var(--turbo-text-primary)); font-size: 1.25rem; }\nh6 { color: var(--turbo-heading-h6, var(--turbo-text-primary)); font-size: 1rem; }\n\np {\n color: var(--turbo-body-primary, var(--turbo-text-primary));\n}\n\n/* Links */\na {\n color: var(--turbo-accent-link, var(--turbo-brand-primary));\n text-decoration: none;\n}\n\na:hover {\n text-decoration: underline;\n}\n\n/* Selection */\n::selection {\n color: var(--turbo-selection-fg, #fff);\n background-color: var(--turbo-selection-bg, #3273dc);\n}\n\n/* Code */\ncode,\nkbd,\nsamp,\npre {\n font-family: var(--turbo-font-mono, ui-monospace, monospace);\n}\n\ncode {\n padding: 0.125rem 0.25rem;\n color: var(--turbo-code-inline-fg, #e83e8c);\n background-color: var(--turbo-code-inline-bg, #f8f9fa);\n border-radius: 0.25rem;\n font-size: 0.875em;\n}\n\npre {\n padding: 1rem;\n color: var(--turbo-code-block-fg, #f8f9fa);\n background-color: var(--turbo-code-block-bg, #2b2b2b);\n border-radius: 0.5rem;\n overflow-x: auto;\n}\n\npre code {\n padding: 0;\n background-color: transparent;\n font-size: inherit;\n}\n\n/* Blockquote */\nblockquote {\n margin: 1rem 0;\n padding: 0.5rem 1rem;\n color: var(--turbo-blockquote-fg);\n background-color: var(--turbo-blockquote-bg);\n border-left: 4px solid var(--turbo-blockquote-border);\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n/* Tables */\ntable {\n width: 100%;\n border-collapse: collapse;\n}\n\nth,\ntd {\n padding: 0.75rem;\n text-align: left;\n border: 1px solid var(--turbo-table-border);\n}\n\nth {\n color: var(--turbo-table-header-fg, var(--turbo-text-primary));\n background-color: var(--turbo-table-thead-bg);\n font-weight: 600;\n}\n\ntr:nth-child(even) td {\n background-color: var(--turbo-table-stripe);\n}\n\n/* Form Elements */\nbutton,\ninput,\nselect,\ntextarea {\n border: 1px solid var(--turbo-border-default);\n border-radius: 0.25rem;\n background-color: var(--turbo-bg-surface);\n color: var(--turbo-text-primary);\n}\n\nbutton {\n padding: 0.5rem 1rem;\n cursor: pointer;\n background-color: var(--turbo-brand-primary);\n color: var(--turbo-text-inverse);\n border: none;\n font-weight: 500;\n}\n\nbutton:hover {\n opacity: 0.9;\n}\n\nbutton:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\ninput,\nselect,\ntextarea {\n padding: 0.5rem 0.75rem;\n}\n\nbutton:focus-visible,\ninput:focus,\nselect:focus,\ntextarea:focus {\n outline: 2px solid var(--turbo-brand-primary);\n outline-offset: 2px;\n}\n\n/* Utility classes */\n.surface {\n background-color: var(--turbo-bg-surface);\n}\n\n.surface-alt {\n background-color: var(--turbo-bg-overlay);\n}\n\n.text-primary {\n color: var(--turbo-text-primary);\n}\n\n.text-secondary {\n color: var(--turbo-text-secondary);\n}\n\n.text-success {\n color: var(--turbo-state-success);\n}\n\n.text-warning {\n color: var(--turbo-state-warning);\n}\n\n.text-danger {\n color: var(--turbo-state-danger);\n}\n\n.text-info {\n color: var(--turbo-state-info);\n}\n\n.border {\n border: 1px solid var(--turbo-border-default);\n}\n\n.rounded {\n border-radius: 0.25rem;\n}\n\n.rounded-lg {\n border-radius: 0.5rem;\n}\n`;\n\n/**\n * Generates the complete base CSS including reset and semantic styles.\n */\nexport function generateBaseCss(): string {\n return `${CSS_RESET}\\n${CSS_BASE}`;\n}\n\n/**\n * Generates only the reset CSS.\n */\nexport function generateResetCss(): string {\n return CSS_RESET;\n}\n"],"names":["prefix","optionalGroups","components"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/syntax.ts","../../core/dist/themes/css/mappings.js","../src/generator.ts","../src/base.ts"],"sourcesContent":["// SPDX-License-Identifier: MIT\n/**\n * Syntax highlighting styles for Turbo Themes.\n *\n * Provides CSS for code syntax highlighting that uses Turbo theme variables.\n * Compatible with Rouge (Jekyll), Prism, highlight.js, and other highlighters.\n *\n * @packageDocumentation\n */\n\nimport type { ThemeFlavor, ThemeTokens } from '@lgtm-hq/turbo-themes-core';\nimport { CSS_VAR_PREFIX } from './generator.js';\n\n/**\n * Syntax highlighting token types and their CSS class mappings.\n * These cover the common classes used by most syntax highlighters.\n */\nconst SYNTAX_CLASS_GROUPS = {\n // Comments\n comment: ['.c', '.cm', '.c1', '.cs', '.cp', '.cpf'],\n // Keywords (control flow, declarations)\n keyword: ['.k', '.kc', '.kd', '.kn', '.kp', '.kr', '.kt', '.kv'],\n // Strings\n string: ['.s', '.s1', '.s2', '.sb', '.sc', '.sd', '.se', '.sh', '.si', '.sr', '.ss', '.sx'],\n // Numbers\n number: ['.m', '.mi', '.mf', '.mh', '.mo', '.mb', '.mx', '.il'],\n // Functions and methods\n function: ['.nf', '.fm', '.nb'],\n // Classes and types\n type: ['.nc', '.nn', '.no', '.nd'],\n // Variables and identifiers\n variable: ['.n', '.na', '.nv', '.vc', '.vg', '.vi', '.vm'],\n // Operators\n operator: ['.o', '.ow'],\n // Punctuation\n punctuation: ['.p'],\n // HTML/XML tags\n tag: ['.nt', '.nx'],\n // Attributes\n attribute: ['.na', '.atn'],\n // Values (attribute values, etc.)\n value: ['.atv'],\n // Errors\n error: ['.err', '.gr'],\n // Deletions (diffs)\n deleted: ['.gd'],\n // Insertions (diffs)\n inserted: ['.gi'],\n} as const;\n\n/**\n * Generates CSS variable declarations for syntax highlighting.\n */\nexport function generateSyntaxVarsFromTokens(tokens: ThemeTokens): string[] {\n const lines: string[] = [];\n const add = (name: string, value: string): void => {\n lines.push(` --${CSS_VAR_PREFIX}-syntax-${name}: ${value};`);\n };\n\n // Map theme tokens to syntax colors\n add('fg', tokens.content?.codeBlock?.fg ?? tokens.text.primary);\n add('bg', tokens.content?.codeBlock?.bg ?? tokens.background.surface);\n add('comment', tokens.text.secondary);\n add('keyword', tokens.brand.primary);\n add('string', tokens.state.success);\n add('number', tokens.state.warning);\n add('function', tokens.state.info);\n add('type', tokens.brand.primary);\n add('variable', tokens.text.primary);\n add('operator', tokens.text.secondary);\n add('punctuation', tokens.text.secondary);\n add('tag', tokens.state.danger);\n add('attribute', tokens.state.info);\n add('value', tokens.state.success);\n add('error', tokens.state.danger);\n add('deleted', tokens.state.danger);\n add('inserted', tokens.state.success);\n\n return lines;\n}\n\n/**\n * CSS styles for syntax highlighting using Turbo variables.\n * Works with Rouge, Prism, highlight.js, and similar highlighters.\n */\nexport const CSS_SYNTAX = `/* Turbo Themes - Syntax Highlighting */\n\n/* Astro Code component css-variables theme mapping */\n:root {\n --astro-code-color-text: var(--turbo-syntax-fg, var(--turbo-text-primary));\n --astro-code-color-background: var(--turbo-syntax-bg, var(--turbo-code-block-bg));\n --astro-code-token-constant: var(--turbo-syntax-number);\n --astro-code-token-string: var(--turbo-syntax-string);\n --astro-code-token-comment: var(--turbo-syntax-comment);\n --astro-code-token-keyword: var(--turbo-syntax-keyword);\n --astro-code-token-parameter: var(--turbo-syntax-variable);\n --astro-code-token-function: var(--turbo-syntax-function);\n --astro-code-token-string-expression: var(--turbo-syntax-string);\n --astro-code-token-punctuation: var(--turbo-syntax-punctuation);\n --astro-code-token-link: var(--turbo-accent-link, var(--turbo-brand-primary));\n /* Additional Astro tokens */\n --astro-code-background: var(--turbo-syntax-bg, var(--turbo-code-block-bg));\n --astro-code-foreground: var(--turbo-syntax-fg, var(--turbo-text-primary));\n}\n\n/* Astro Code component styling */\n.astro-code,\npre.astro-code {\n background-color: var(--turbo-syntax-bg, var(--turbo-code-block-bg)) !important;\n padding: var(--space-lg);\n border-radius: var(--radius-lg);\n overflow-x: auto;\n border: 1px solid var(--turbo-border-default);\n}\n\n.astro-code code {\n background-color: transparent !important;\n color: inherit;\n}\n\n/* Base highlight container - only applies to pre elements */\n.highlight,\npre.highlight,\npre[class*=\"language-\"] {\n background-color: var(--turbo-syntax-bg, var(--turbo-code-block-bg));\n color: var(--turbo-syntax-fg, var(--turbo-code-block-fg));\n}\n\n/* Code inside pre should have transparent background */\n.highlight pre,\n.highlight code,\npre code,\npre code[class*=\"language-\"] {\n background-color: transparent;\n color: inherit;\n}\n\n/* Comments */\n.highlight .c,\n.highlight .cm,\n.highlight .c1,\n.highlight .cs,\n.highlight .cp,\n.highlight .cpf,\n.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata,\n.hljs-comment,\n.hljs-quote {\n color: var(--turbo-syntax-comment);\n font-style: italic;\n}\n\n/* Keywords */\n.highlight .k,\n.highlight .kc,\n.highlight .kd,\n.highlight .kn,\n.highlight .kp,\n.highlight .kr,\n.highlight .kt,\n.highlight .kv,\n.token.keyword,\n.token.atrule,\n.token.important,\n.hljs-keyword,\n.hljs-selector-tag,\n.hljs-built_in,\n.hljs-type {\n color: var(--turbo-syntax-keyword);\n}\n\n/* Strings */\n.highlight .s,\n.highlight .s1,\n.highlight .s2,\n.highlight .sb,\n.highlight .sc,\n.highlight .sd,\n.highlight .se,\n.highlight .sh,\n.highlight .si,\n.highlight .sr,\n.highlight .ss,\n.highlight .sx,\n.token.string,\n.token.char,\n.token.regex,\n.token.template-string,\n.hljs-string,\n.hljs-regexp {\n color: var(--turbo-syntax-string);\n}\n\n/* Numbers */\n.highlight .m,\n.highlight .mi,\n.highlight .mf,\n.highlight .mh,\n.highlight .mo,\n.highlight .mb,\n.highlight .mx,\n.highlight .il,\n.token.number,\n.token.boolean,\n.token.constant,\n.hljs-number,\n.hljs-literal {\n color: var(--turbo-syntax-number);\n}\n\n/* Functions */\n.highlight .nf,\n.highlight .fm,\n.highlight .nb,\n.token.function,\n.token.builtin,\n.hljs-title.function_,\n.hljs-built_in {\n color: var(--turbo-syntax-function);\n}\n\n/* Classes and types */\n.highlight .nc,\n.highlight .nn,\n.highlight .no,\n.highlight .nd,\n.token.class-name,\n.token.namespace,\n.hljs-title.class_,\n.hljs-class .hljs-title {\n color: var(--turbo-syntax-type);\n}\n\n/* Variables and identifiers */\n.highlight .n,\n.highlight .nv,\n.highlight .vc,\n.highlight .vg,\n.highlight .vi,\n.highlight .vm,\n.token.variable,\n.hljs-variable,\n.hljs-template-variable {\n color: var(--turbo-syntax-variable);\n}\n\n/* Operators */\n.highlight .o,\n.highlight .ow,\n.token.operator,\n.hljs-operator {\n color: var(--turbo-syntax-operator);\n}\n\n/* Punctuation */\n.highlight .p,\n.token.punctuation,\n.hljs-punctuation {\n color: var(--turbo-syntax-punctuation);\n}\n\n/* HTML/XML tags */\n.highlight .nt,\n.highlight .nx,\n.token.tag,\n.hljs-tag,\n.hljs-name {\n color: var(--turbo-syntax-tag);\n}\n\n/* Attributes */\n.highlight .na,\n.highlight .atn,\n.token.attr-name,\n.hljs-attr {\n color: var(--turbo-syntax-attribute);\n}\n\n/* Attribute values */\n.highlight .atv,\n.token.attr-value,\n.hljs-attr .hljs-string {\n color: var(--turbo-syntax-value);\n}\n\n/* Errors */\n.highlight .err,\n.highlight .gr,\n.token.error,\n.hljs-error {\n color: var(--turbo-syntax-error);\n}\n\n/* Diff: deletions */\n.highlight .gd,\n.token.deleted,\n.hljs-deletion {\n color: var(--turbo-syntax-deleted);\n background-color: color-mix(in srgb, var(--turbo-syntax-deleted) 15%, transparent);\n}\n\n/* Diff: insertions */\n.highlight .gi,\n.token.inserted,\n.hljs-addition {\n color: var(--turbo-syntax-inserted);\n background-color: color-mix(in srgb, var(--turbo-syntax-inserted) 15%, transparent);\n}\n\n/* Line numbers (if used) */\n.highlight .lineno,\n.line-numbers .line-numbers-rows,\n.hljs-ln-numbers {\n color: var(--turbo-text-secondary);\n opacity: 0.5;\n user-select: none;\n}\n\n/* Selection within code */\n.highlight ::selection,\npre[class*=\"language-\"] ::selection,\ncode[class*=\"language-\"] ::selection {\n background-color: var(--turbo-selection-bg);\n color: var(--turbo-selection-fg);\n}\n`;\n\n/**\n * Generates syntax highlighting CSS for a specific theme.\n * This includes both the variable definitions and the styling rules.\n */\nexport function generateSyntaxCss(flavor: ThemeFlavor): string {\n const vars = generateSyntaxVarsFromTokens(flavor.tokens);\n\n return `/* Turbo Themes - Syntax Highlighting for ${flavor.label} */\n[data-theme=\"${flavor.id}\"] {\n${vars.join('\\n')}\n}\n`;\n}\n\n/**\n * Generates the complete syntax highlighting CSS file.\n * Includes base styles that work with any theme.\n */\nexport function generateSyntaxBaseCss(): string {\n return CSS_SYNTAX;\n}\n","// SPDX-License-Identifier: MIT\n// CSS Variable Mappings - Generated from config/token-mappings.json\n// This file reads from the single source of truth configuration\n// Import the centralized mapping configuration\n// Note: Using require for JSON import compatibility\nimport mappingConfig from '../../../../../config/token-mappings.json' with { type: 'json' };\n// Convert config entries to typed mappings\nfunction toVariableMapping(entry) {\n return {\n cssVar: entry.cssVar,\n tokenPath: entry.tokenPath,\n ...(entry.fallback ? { fallbackPath: entry.fallback } : {}),\n };\n}\nfunction toComponentMapping(entry) {\n return {\n cssVar: entry.cssVar,\n componentPath: entry.componentPath,\n fallbackPath: entry.fallback,\n };\n}\nfunction toHSLMapping(entry) {\n return {\n hVar: entry.hVar,\n sVar: entry.sVar,\n lVar: entry.lVar,\n tokenPath: entry.tokenPath,\n };\n}\nfunction toHSLColorMapping(entry) {\n return {\n cssVar: entry.cssVar,\n tokenPath: entry.tokenPath,\n };\n}\n// =============================================================================\n// Bulma Framework Mappings\n// =============================================================================\n/** Bulma scheme variables */\nexport const BULMA_SCHEME_MAPPINGS = mappingConfig.bulma.schemeMappings.map(toVariableMapping);\n/** Primary color HSL components */\nexport const PRIMARY_HSL_MAPPING = toHSLMapping(mappingConfig.bulma.primaryHsl);\n/** State colors as HSL */\nexport const STATE_HSL_MAPPINGS = mappingConfig.bulma.stateHslMappings.map(toHSLColorMapping);\n// =============================================================================\n// Theme Variable Mappings\n// =============================================================================\n/** Text variables */\nexport const TEXT_MAPPINGS = mappingConfig.theme.textMappings.map(toVariableMapping);\n/** Heading variables */\nexport const HEADING_MAPPINGS = mappingConfig.theme.headingMappings.map(toVariableMapping);\n/** Content element variables */\nexport const CONTENT_MAPPINGS = mappingConfig.theme.contentMappings.map(toVariableMapping);\n/** Table variables */\nexport const TABLE_MAPPINGS = mappingConfig.theme.tableMappings.map(toVariableMapping);\n/** Syntax highlighting variables */\nexport const SYNTAX_MAPPINGS = mappingConfig.theme.syntaxMappings.map(toVariableMapping);\n/** Surface/background variables */\nexport const SURFACE_MAPPINGS = mappingConfig.theme.surfaceMappings.map(toVariableMapping);\n// =============================================================================\n// Component Token Mappings\n// =============================================================================\n/** Component token mappings (optional, with fallbacks) */\nexport const COMPONENT_MAPPINGS = mappingConfig.components.map(toComponentMapping);\n// =============================================================================\n// Syntax Highlighting CSS Classes\n// =============================================================================\n/** Syntax highlighting CSS class mappings */\nexport const SYNTAX_CLASS_GROUPS = mappingConfig.syntaxClassGroups;\n// =============================================================================\n// Core Mappings (for generator.ts and Python)\n// =============================================================================\n/** Core token mappings used by CSS generator */\nexport const CORE_MAPPINGS = mappingConfig.coreMappings.map(toVariableMapping);\n/** CSS variable prefix */\nexport const CSS_VAR_PREFIX = mappingConfig.prefix;\n/** Optional group configurations */\nexport const OPTIONAL_GROUPS = mappingConfig.optionalGroups;\n//# sourceMappingURL=mappings.js.map","// SPDX-License-Identifier: MIT\n/**\n * CSS Custom Properties generator for Turbo Themes.\n *\n * Generates framework-agnostic CSS variables from theme tokens.\n * This is the primary output format for platform-agnostic theming.\n *\n * @packageDocumentation\n */\n\nimport type { ThemeFlavor, ThemeTokens } from '@lgtm-hq/turbo-themes-core';\nimport { generateSyntaxVarsFromTokens } from './syntax.js';\n\n// Import centralized mappings from config\nimport {\n CORE_MAPPINGS,\n CSS_VAR_PREFIX,\n OPTIONAL_GROUPS,\n} from '@lgtm-hq/turbo-themes-core/css/mappings';\n\n/**\n * Resolves a dot-separated path to a value in the tokens object.\n *\n * @param tokens - The tokens object to traverse\n * @param path - Dot-separated path (e.g., 'background.base')\n * @returns The resolved value or undefined if path doesn't exist\n */\nfunction resolveTokenPath(tokens: ThemeTokens, path: string): string | undefined {\n const parts = path.split('.');\n let current: unknown = tokens;\n\n for (const part of parts) {\n if (current === null || current === undefined || typeof current !== 'object') {\n return undefined;\n }\n // Safe: path is from hardcoded TOKEN_MAPPINGS, not user input\n // nosemgrep: prototype-pollution-loop\n current = (current as Record<string, unknown>)[part];\n }\n\n return typeof current === 'string' ? current : undefined;\n}\n\n/** Default modal backdrop color used when no component token is defined. */\nconst DEFAULT_MODAL_BACKDROP = 'rgba(10, 10, 10, 0.86)';\n\n/**\n * Trusted font provider domains for web font imports.\n * Only HTTPS URLs from these domains are allowed to prevent CSS injection.\n */\nconst TRUSTED_FONT_DOMAINS = [\n 'fonts.googleapis.com',\n 'fonts.gstatic.com',\n 'use.typekit.net',\n 'fonts.bunny.net',\n 'rsms.me', // Inter font\n 'fonts.cdnfonts.com',\n 'github.githubassets.com', // GitHub themes\n] as const;\n\n/**\n * Validates that a web font URL is safe to include in CSS.\n * Only allows HTTPS URLs from trusted font provider domains.\n *\n * @param url - The URL to validate\n * @returns true if the URL is from a trusted font provider\n */\nfunction isValidFontUrl(url: string): boolean {\n try {\n const parsed = new URL(url);\n if (parsed.protocol !== 'https:') {\n return false;\n }\n return TRUSTED_FONT_DOMAINS.some(\n (domain) => parsed.hostname === domain || parsed.hostname.endsWith(`.${domain}`),\n );\n } catch {\n return false;\n }\n}\n\n/**\n * Component token mappings: [cssVarName, componentPath, fallbackTokenPath].\n * Each entry maps a CSS variable to a component token path with a fallback.\n */\nconst COMPONENT_TOKEN_MAPPINGS: ReadonlyArray<[string, string, string]> = [\n ['card-bg', 'card.bg', 'background.surface'],\n ['card-border', 'card.border', 'border.default'],\n ['card-header-bg', 'card.headerBg', 'background.overlay'],\n ['card-footer-bg', 'card.footerBg', 'background.surface'],\n ['message-bg', 'message.bg', 'background.surface'],\n ['message-header-bg', 'message.headerBg', 'background.overlay'],\n ['message-border', 'message.border', 'border.default'],\n ['message-body-fg', 'message.bodyFg', 'text.primary'],\n ['panel-bg', 'panel.bg', 'background.surface'],\n ['panel-header-bg', 'panel.headerBg', 'background.overlay'],\n ['panel-header-fg', 'panel.headerFg', 'text.primary'],\n ['panel-border', 'panel.border', 'border.default'],\n ['panel-block-bg', 'panel.blockBg', 'background.surface'],\n ['panel-block-hover-bg', 'panel.blockHoverBg', 'background.overlay'],\n ['panel-block-active-bg', 'panel.blockActiveBg', 'background.overlay'],\n ['box-bg', 'box.bg', 'background.surface'],\n ['box-border', 'box.border', 'border.default'],\n ['notification-bg', 'notification.bg', 'background.surface'],\n ['notification-border', 'notification.border', 'border.default'],\n ['modal-bg', 'modal.bg', ''],\n ['modal-card-bg', 'modal.cardBg', 'background.surface'],\n ['modal-header-bg', 'modal.headerBg', 'background.overlay'],\n ['modal-footer-bg', 'modal.footerBg', 'background.surface'],\n ['dropdown-bg', 'dropdown.bg', 'background.surface'],\n ['dropdown-item-hover', 'dropdown.itemHoverBg', 'background.overlay'],\n ['dropdown-border', 'dropdown.border', 'border.default'],\n ['tabs-border', 'tabs.border', 'border.default'],\n ['tabs-link-bg', 'tabs.linkBg', 'background.surface'],\n ['tabs-link-active-bg', 'tabs.linkActiveBg', 'background.base'],\n ['tabs-link-hover-bg', 'tabs.linkHoverBg', 'background.overlay'],\n];\n\n/**\n * Resolves a component token value with fallback to a base token.\n * Uses the components section if available, otherwise falls back to base tokens.\n */\nfunction resolveComponentToken(\n tokens: ThemeTokens,\n componentPath: string,\n fallbackPath: string,\n): string {\n // Try component-specific value first\n const componentValue = resolveTokenPath(tokens, `components.${componentPath}`);\n if (componentValue !== undefined) return componentValue;\n\n // Special case: modal.bg has a non-token default\n if (componentPath === 'modal.bg') return DEFAULT_MODAL_BACKDROP;\n\n // Fall back to base token\n if (fallbackPath) return resolveTokenPath(tokens, fallbackPath) ?? '';\n return '';\n}\n\n/**\n * Generates CSS custom property declarations from theme tokens.\n * Uses centralized mapping configuration for consistency.\n *\n * @param tokens - The theme tokens to convert\n * @returns Array of CSS variable declaration lines\n *\n * @example\n * ```ts\n * const lines = generateCssVarsFromTokens(theme.tokens);\n * // [' --turbo-bg-base: #1e1e2e;', ' --turbo-bg-surface: #313244;', ...]\n * ```\n */\nexport function generateCssVarsFromTokens(tokens: ThemeTokens): string[] {\n const lines: string[] = [];\n const prefix = CSS_VAR_PREFIX;\n\n const add = (name: string, value: string): void => {\n lines.push(` --${prefix}-${name}: ${value};`);\n };\n\n // Apply core mappings from centralized config\n for (const mapping of CORE_MAPPINGS) {\n // Extract variable name from cssVar (remove prefix if present)\n const varName = mapping.cssVar.startsWith('--')\n ? mapping.cssVar.slice(2) // Remove leading --\n : mapping.cssVar;\n\n let value = resolveTokenPath(tokens, mapping.tokenPath);\n\n // Try fallback if primary path didn't resolve\n if (value === undefined && mapping.fallbackPath) {\n value = resolveTokenPath(tokens, mapping.fallbackPath);\n }\n\n if (value !== undefined) {\n add(varName, value);\n }\n }\n\n // Optional token groups\n const optionalGroups = OPTIONAL_GROUPS;\n\n // Spacing tokens (if available)\n if (tokens.spacing && optionalGroups.spacing) {\n const { properties } = optionalGroups.spacing;\n for (const prop of properties) {\n const value = (tokens.spacing as Record<string, string>)[prop];\n if (value) {\n add(`${optionalGroups.spacing.prefix}-${prop}`, value);\n }\n }\n }\n\n // Elevation tokens (if available)\n if (tokens.elevation && optionalGroups.elevation) {\n const { properties } = optionalGroups.elevation;\n for (const prop of properties) {\n const value = (tokens.elevation as Record<string, string>)[prop];\n if (value) {\n add(`${optionalGroups.elevation.prefix}-${prop}`, value);\n }\n }\n }\n\n // Animation tokens (if available) - uses custom mappings\n if (tokens.animation && optionalGroups.animation?.mappings) {\n for (const mapping of optionalGroups.animation.mappings) {\n const value = resolveTokenPath(tokens, mapping.tokenPath);\n if (value) {\n add(`${optionalGroups.animation.prefix}-${mapping.cssVar}`, value);\n }\n }\n }\n\n // Opacity tokens (if available)\n if (tokens.opacity && optionalGroups.opacity) {\n const { properties } = optionalGroups.opacity;\n for (const prop of properties) {\n const value = (tokens.opacity as Record<string, number>)[prop];\n if (value !== undefined) {\n add(`${optionalGroups.opacity.prefix}-${prop}`, String(value));\n }\n }\n }\n\n // Component tokens (always emitted with fallbacks from base tokens)\n for (const [cssVar, componentPath, fallbackPath] of COMPONENT_TOKEN_MAPPINGS) {\n const value = resolveComponentToken(tokens, componentPath, fallbackPath);\n if (value) {\n add(cssVar, value);\n }\n }\n\n // Syntax highlighting tokens\n const syntaxLines = generateSyntaxVarsFromTokens(tokens);\n lines.push(...syntaxLines);\n\n return lines;\n}\n\n/**\n * Generates a complete CSS file for a single theme flavor.\n *\n * @param flavor - The theme flavor to generate CSS for\n * @returns Complete CSS string with data-theme selector\n *\n * @example\n * ```ts\n * const css = generateThemeCss(catppuccinMocha);\n * // [data-theme=\"catppuccin-mocha\"] { --turbo-bg-base: #1e1e2e; ... }\n * ```\n */\nexport function generateThemeCss(flavor: ThemeFlavor): string {\n const vars = generateCssVarsFromTokens(flavor.tokens);\n const webFonts = flavor.tokens.typography?.webFonts ?? [];\n const fontImports = webFonts\n .filter(isValidFontUrl)\n .map((url) => `@import url('${url}');`)\n .join('\\n');\n const colorScheme = flavor.appearance === 'dark' ? 'dark' : 'light';\n\n const cssContent = `[data-theme=\"${flavor.id}\"] {\n${vars.join('\\n')}\n color-scheme: ${colorScheme};\n}`;\n\n return fontImports ? `${fontImports}\\n\\n${cssContent}\\n` : `${cssContent}\\n`;\n}\n\n/**\n * Design system tokens that are theme-agnostic.\n * These provide spacing, shadows, radius, and transitions for components.\n */\nconst DESIGN_SYSTEM_TOKENS = `\n /* Spacing */\n --space-xs: 0.25rem;\n --space-sm: 0.5rem;\n --space-md: 1rem;\n --space-lg: 1.5rem;\n --space-xl: 2rem;\n --space-2xl: 3rem;\n --space-3xl: 4rem;\n --space-4xl: 6rem;\n\n /* Border Radius */\n --radius-sm: 0.5rem;\n --radius-md: 0.75rem;\n --radius-lg: 1rem;\n --radius-xl: 1.5rem;\n --radius-2xl: 2rem;\n --radius-full: 9999px;\n\n /* Shadows */\n --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);\n --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07), 0 2px 4px rgba(0, 0, 0, 0.05);\n --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1), 0 4px 6px rgba(0, 0, 0, 0.05);\n --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.15), 0 10px 10px rgba(0, 0, 0, 0.04);\n --shadow-glow: 0 0 30px color-mix(in srgb, var(--turbo-brand-primary) 30%, transparent);\n --shadow-glow-sm: 0 0 15px color-mix(in srgb, var(--turbo-brand-primary) 20%, transparent);\n\n /* Transitions */\n --transition-fast: 120ms ease-out;\n --transition-normal: 200ms ease-out;\n --transition-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1);\n\n /* Gradients (theme-aware) */\n --gradient-primary: linear-gradient(135deg, var(--turbo-brand-primary), var(--turbo-state-info));\n --gradient-surface: linear-gradient(180deg, var(--turbo-bg-surface), var(--turbo-bg-base));\n`;\n\n/**\n * Generates the core CSS file with default variable values.\n *\n * @param defaultFlavor - The theme flavor to use as defaults\n * @returns CSS string with :root selector\n *\n * @example\n * ```ts\n * const coreCss = generateCoreCss(catppuccinMocha);\n * // :root { --turbo-bg-base: #1e1e2e; ... }\n * ```\n */\nexport function generateCoreCss(defaultFlavor: ThemeFlavor): string {\n const vars = generateCssVarsFromTokens(defaultFlavor.tokens);\n return `:root {\\n${vars.join('\\n')}\\n${DESIGN_SYSTEM_TOKENS}}\\n`;\n}\n\n/**\n * Generates a combined CSS file with all themes.\n *\n * @param flavors - Array of all theme flavors\n * @param defaultFlavorId - ID of the theme to use as :root defaults\n * @returns Complete CSS string with core and all theme selectors\n */\nexport function generateCombinedCss(\n flavors: readonly ThemeFlavor[],\n defaultFlavorId: string = 'catppuccin-mocha'\n): string {\n const defaultFlavor = flavors.find((f) => f.id === defaultFlavorId) || flavors[0];\n if (!defaultFlavor) {\n throw new Error('No flavors provided');\n }\n\n const coreCss = generateCoreCss(defaultFlavor);\n const themeCss = flavors.map((flavor) => generateThemeCss(flavor)).join('\\n');\n\n return `/* Turbo Themes - Pure CSS Custom Properties */\\n/* Generated automatically - do not edit */\\n\\n${coreCss}\\n${themeCss}`;\n}\n\n// Re-export the prefix for external use\nexport { CSS_VAR_PREFIX };\n","// SPDX-License-Identifier: MIT\n/**\n * Base semantic styles for Turbo Themes.\n *\n * Provides optional CSS that applies theme variables to common HTML elements.\n * This is a lightweight alternative to a full CSS framework.\n *\n * @packageDocumentation\n */\n\n/**\n * Minimal CSS reset that works well with Turbo theme variables.\n * Approximately 500 bytes minified.\n */\nexport const CSS_RESET = `/* Turbo Themes - Minimal Reset */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nfigure,\nblockquote,\ndl,\ndd {\n margin: 0;\n}\n\nhtml {\n -webkit-text-size-adjust: 100%;\n -moz-text-size-adjust: 100%;\n text-size-adjust: 100%;\n}\n\nbody {\n min-height: 100vh;\n line-height: 1.5;\n -webkit-font-smoothing: antialiased;\n}\n\nimg,\npicture,\nvideo,\ncanvas,\nsvg {\n display: block;\n max-width: 100%;\n}\n\ninput,\nbutton,\ntextarea,\nselect {\n font: inherit;\n}\n`;\n\n/**\n * Base semantic styles that use Turbo theme variables.\n * Approximately 2KB minified.\n */\nexport const CSS_BASE = `/* Turbo Themes - Base Semantic Styles */\n\n/* Root & Body */\n:root {\n color-scheme: light dark;\n}\n\nbody {\n font-family: var(--turbo-font-sans, system-ui, -apple-system, sans-serif);\n color: var(--turbo-text-primary, #000);\n background-color: var(--turbo-bg-base, #fff);\n}\n\n/* Typography */\nh1, h2, h3, h4, h5, h6 {\n line-height: 1.2;\n font-weight: 600;\n}\n\nh1 { color: var(--turbo-heading-h1, var(--turbo-text-primary)); font-size: 2.5rem; }\nh2 { color: var(--turbo-heading-h2, var(--turbo-text-primary)); font-size: 2rem; }\nh3 { color: var(--turbo-heading-h3, var(--turbo-text-primary)); font-size: 1.75rem; }\nh4 { color: var(--turbo-heading-h4, var(--turbo-text-primary)); font-size: 1.5rem; }\nh5 { color: var(--turbo-heading-h5, var(--turbo-text-primary)); font-size: 1.25rem; }\nh6 { color: var(--turbo-heading-h6, var(--turbo-text-primary)); font-size: 1rem; }\n\np {\n color: var(--turbo-body-primary, var(--turbo-text-primary));\n}\n\n/* Links */\na {\n color: var(--turbo-accent-link, var(--turbo-brand-primary));\n text-decoration: none;\n}\n\na:hover {\n text-decoration: underline;\n}\n\n/* Selection */\n::selection {\n color: var(--turbo-selection-fg, #fff);\n background-color: var(--turbo-selection-bg, #3273dc);\n}\n\n/* Code */\ncode,\nkbd,\nsamp,\npre {\n font-family: var(--turbo-font-mono, ui-monospace, monospace);\n}\n\ncode {\n padding: 0.125rem 0.25rem;\n color: var(--turbo-code-inline-fg, #e83e8c);\n background-color: var(--turbo-code-inline-bg, #f8f9fa);\n border-radius: 0.25rem;\n font-size: 0.875em;\n}\n\npre {\n padding: 1rem;\n color: var(--turbo-code-block-fg, #f8f9fa);\n background-color: var(--turbo-code-block-bg, #2b2b2b);\n border-radius: 0.5rem;\n overflow-x: auto;\n}\n\npre code {\n padding: 0;\n background-color: transparent;\n font-size: inherit;\n}\n\n/* Blockquote */\nblockquote {\n margin: 1rem 0;\n padding: 0.5rem 1rem;\n color: var(--turbo-blockquote-fg);\n background-color: var(--turbo-blockquote-bg);\n border-left: 4px solid var(--turbo-blockquote-border);\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n/* Tables */\ntable {\n width: 100%;\n border-collapse: collapse;\n}\n\nth,\ntd {\n padding: 0.75rem;\n text-align: left;\n border: 1px solid var(--turbo-table-border);\n}\n\nth {\n color: var(--turbo-table-header-fg, var(--turbo-text-primary));\n background-color: var(--turbo-table-thead-bg);\n font-weight: 600;\n}\n\ntr:nth-child(even) td {\n background-color: var(--turbo-table-stripe);\n}\n\n/* Form Elements */\nbutton,\ninput,\nselect,\ntextarea {\n border: 1px solid var(--turbo-border-default);\n border-radius: 0.25rem;\n background-color: var(--turbo-bg-surface);\n color: var(--turbo-text-primary);\n}\n\nbutton {\n padding: 0.5rem 1rem;\n cursor: pointer;\n background-color: var(--turbo-brand-primary);\n color: var(--turbo-text-inverse);\n border: none;\n font-weight: 500;\n}\n\nbutton:hover {\n opacity: 0.9;\n}\n\nbutton:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\ninput,\nselect,\ntextarea {\n padding: 0.5rem 0.75rem;\n}\n\nbutton:focus-visible,\ninput:focus,\nselect:focus,\ntextarea:focus {\n outline: 2px solid var(--turbo-brand-primary);\n outline-offset: 2px;\n}\n\n/* Utility classes */\n.surface {\n background-color: var(--turbo-bg-surface);\n}\n\n.surface-alt {\n background-color: var(--turbo-bg-overlay);\n}\n\n.text-primary {\n color: var(--turbo-text-primary);\n}\n\n.text-secondary {\n color: var(--turbo-text-secondary);\n}\n\n.text-success {\n color: var(--turbo-state-success);\n}\n\n.text-warning {\n color: var(--turbo-state-warning);\n}\n\n.text-danger {\n color: var(--turbo-state-danger);\n}\n\n.text-info {\n color: var(--turbo-state-info);\n}\n\n.border {\n border: 1px solid var(--turbo-border-default);\n}\n\n.rounded {\n border-radius: 0.25rem;\n}\n\n.rounded-lg {\n border-radius: 0.5rem;\n}\n`;\n\n/**\n * Generates the complete base CSS including reset and semantic styles.\n */\nexport function generateBaseCss(): string {\n return `${CSS_RESET}\\n${CSS_BASE}`;\n}\n\n/**\n * Generates only the reset CSS.\n */\nexport function generateResetCss(): string {\n return CSS_RESET;\n}\n"],"names":["prefix","optionalGroups"],"mappings":"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"}
|
|
@@ -60,11 +60,34 @@
|
|
|
60
60
|
--turbo-opacity-pressed: 0.6;
|
|
61
61
|
--turbo-card-bg: #1c1c1c;
|
|
62
62
|
--turbo-card-border: #3a3a3a;
|
|
63
|
+
--turbo-card-header-bg: #252525;
|
|
64
|
+
--turbo-card-footer-bg: #1f1f1f;
|
|
65
|
+
--turbo-message-bg: #1f1f1f;
|
|
66
|
+
--turbo-message-header-bg: #2a2a2a;
|
|
67
|
+
--turbo-message-border: #404040;
|
|
68
|
+
--turbo-message-body-fg: #e0e0e0;
|
|
69
|
+
--turbo-panel-bg: #1c1c1c;
|
|
70
|
+
--turbo-panel-header-bg: #2a2a2a;
|
|
71
|
+
--turbo-panel-header-fg: #f5f5f5;
|
|
72
|
+
--turbo-panel-border: #3a3a3a;
|
|
73
|
+
--turbo-panel-block-bg: #1f1f1f;
|
|
74
|
+
--turbo-panel-block-hover-bg: #262626;
|
|
75
|
+
--turbo-panel-block-active-bg: #2d3748;
|
|
76
|
+
--turbo-box-bg: #1c1c1c;
|
|
77
|
+
--turbo-box-border: #3a3a3a;
|
|
78
|
+
--turbo-notification-bg: #252525;
|
|
79
|
+
--turbo-notification-border: #404040;
|
|
63
80
|
--turbo-modal-bg: rgba(0, 0, 0, 0.86);
|
|
64
81
|
--turbo-modal-card-bg: #1c1c1c;
|
|
82
|
+
--turbo-modal-header-bg: #252525;
|
|
83
|
+
--turbo-modal-footer-bg: #1f1f1f;
|
|
65
84
|
--turbo-dropdown-bg: #1c1c1c;
|
|
66
|
-
--turbo-dropdown-border: #404040;
|
|
67
85
|
--turbo-dropdown-item-hover: #2a2a2a;
|
|
86
|
+
--turbo-dropdown-border: #404040;
|
|
87
|
+
--turbo-tabs-border: #404040;
|
|
88
|
+
--turbo-tabs-link-bg: #252525;
|
|
89
|
+
--turbo-tabs-link-active-bg: #1c1c1c;
|
|
90
|
+
--turbo-tabs-link-hover-bg: #2a2a2a;
|
|
68
91
|
--turbo-syntax-fg: #f5f5f5;
|
|
69
92
|
--turbo-syntax-bg: #2b2b2b;
|
|
70
93
|
--turbo-syntax-comment: #dbdbdb;
|