@lgtm-hq/turbo-themes 0.12.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +231 -0
  3. package/assets/css/adapters/bulma.css +26 -0
  4. package/assets/css/themes/bulma-dark.css +90 -0
  5. package/assets/css/themes/bulma-light.css +90 -0
  6. package/assets/css/themes/catppuccin-frappe.css +58 -0
  7. package/assets/css/themes/catppuccin-latte.css +58 -0
  8. package/assets/css/themes/catppuccin-macchiato.css +58 -0
  9. package/assets/css/themes/catppuccin-mocha.css +58 -0
  10. package/assets/css/themes/dracula.css +90 -0
  11. package/assets/css/themes/github-dark.css +58 -0
  12. package/assets/css/themes/github-light.css +58 -0
  13. package/assets/css/turbo-core.css +92 -0
  14. package/dist/adapters/bootstrap/_utilities.scss +178 -0
  15. package/dist/adapters/bootstrap/_variables.scss +99 -0
  16. package/dist/adapters/tailwind/colors.js +133 -0
  17. package/dist/adapters/tailwind/preset.js +136 -0
  18. package/dist/index.d.ts +12 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +14 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/themes/bulma.d.ts +31 -0
  23. package/dist/themes/bulma.d.ts.map +1 -0
  24. package/dist/themes/bulma.js +160 -0
  25. package/dist/themes/bulma.js.map +1 -0
  26. package/dist/themes/css.d.ts +4 -0
  27. package/dist/themes/css.d.ts.map +1 -0
  28. package/dist/themes/css.js +617 -0
  29. package/dist/themes/css.js.map +1 -0
  30. package/dist/themes/packs/bulma.d.ts +12 -0
  31. package/dist/themes/packs/bulma.d.ts.map +1 -0
  32. package/dist/themes/packs/bulma.js +285 -0
  33. package/dist/themes/packs/bulma.js.map +1 -0
  34. package/dist/themes/packs/catppuccin.synced.d.ts +3 -0
  35. package/dist/themes/packs/catppuccin.synced.d.ts.map +1 -0
  36. package/dist/themes/packs/catppuccin.synced.js +340 -0
  37. package/dist/themes/packs/catppuccin.synced.js.map +1 -0
  38. package/dist/themes/packs/dracula.d.ts +8 -0
  39. package/dist/themes/packs/dracula.d.ts.map +1 -0
  40. package/dist/themes/packs/dracula.js +145 -0
  41. package/dist/themes/packs/dracula.js.map +1 -0
  42. package/dist/themes/packs/github.synced.d.ts +10 -0
  43. package/dist/themes/packs/github.synced.d.ts.map +1 -0
  44. package/dist/themes/packs/github.synced.js +281 -0
  45. package/dist/themes/packs/github.synced.js.map +1 -0
  46. package/dist/themes/registry.d.ts +3 -0
  47. package/dist/themes/registry.d.ts.map +1 -0
  48. package/dist/themes/registry.js +16 -0
  49. package/dist/themes/registry.js.map +1 -0
  50. package/dist/themes/types.d.ts +172 -0
  51. package/dist/themes/types.d.ts.map +1 -0
  52. package/dist/themes/types.js +4 -0
  53. package/dist/themes/types.js.map +1 -0
  54. package/dist/tokens/index.d.ts +8 -0
  55. package/dist/tokens/index.d.ts.map +1 -0
  56. package/dist/tokens/index.js +9 -0
  57. package/dist/tokens/index.js.map +1 -0
  58. package/dist/tokens/style-dictionary/bulma-dark.json +410 -0
  59. package/dist/tokens/style-dictionary/bulma-light.json +410 -0
  60. package/dist/tokens/style-dictionary/catppuccin-frappe.json +264 -0
  61. package/dist/tokens/style-dictionary/catppuccin-latte.json +264 -0
  62. package/dist/tokens/style-dictionary/catppuccin-macchiato.json +264 -0
  63. package/dist/tokens/style-dictionary/catppuccin-mocha.json +264 -0
  64. package/dist/tokens/style-dictionary/dracula.json +409 -0
  65. package/dist/tokens/style-dictionary/github-dark.json +264 -0
  66. package/dist/tokens/style-dictionary/github-light.json +264 -0
  67. package/dist/tokens/style-dictionary/themes.json +2526 -0
  68. package/dist/tokens/style-dictionary/tokens.json +1050 -0
  69. package/dist/tokens/tokens-typed.json +218 -0
  70. package/package.json +180 -0
  71. package/packages/adapters/bulma/dist/bulma-adapter.css +153 -0
  72. package/packages/adapters/bulma/dist/index.d.ts +60 -0
  73. package/packages/adapters/bulma/dist/index.d.ts.map +1 -0
  74. package/packages/adapters/bulma/dist/index.js +343 -0
  75. package/packages/adapters/bulma/dist/index.js.map +1 -0
  76. package/packages/adapters/tailwind/dist/colors.d.ts +32 -0
  77. package/packages/adapters/tailwind/dist/colors.d.ts.map +1 -0
  78. package/packages/adapters/tailwind/dist/colors.js +133 -0
  79. package/packages/adapters/tailwind/dist/colors.js.map +1 -0
  80. package/packages/adapters/tailwind/dist/preset.d.ts +117 -0
  81. package/packages/adapters/tailwind/dist/preset.d.ts.map +1 -0
  82. package/packages/adapters/tailwind/dist/preset.js +136 -0
  83. package/packages/adapters/tailwind/dist/preset.js.map +1 -0
  84. package/packages/adapters/tailwind/dist/tsconfig.tsbuildinfo +1 -0
  85. package/packages/css/dist/base.d.ts +27 -0
  86. package/packages/css/dist/base.d.ts.map +1 -0
  87. package/packages/css/dist/base.js +277 -0
  88. package/packages/css/dist/base.js.map +1 -0
  89. package/packages/css/dist/components/buttons.css +141 -0
  90. package/packages/css/dist/components/cards.css +157 -0
  91. package/packages/css/dist/components/forms.css +109 -0
  92. package/packages/css/dist/components/navigation.css +175 -0
  93. package/packages/css/dist/components/notifications.css +192 -0
  94. package/packages/css/dist/components/progress.css +113 -0
  95. package/packages/css/dist/components/sidebar.css +537 -0
  96. package/packages/css/dist/components/tables.css +157 -0
  97. package/packages/css/dist/components/tabs.css +106 -0
  98. package/packages/css/dist/components/tags.css +121 -0
  99. package/packages/css/dist/generator.d.ts +60 -0
  100. package/packages/css/dist/generator.d.ts.map +1 -0
  101. package/packages/css/dist/generator.js +267 -0
  102. package/packages/css/dist/generator.js.map +1 -0
  103. package/packages/css/dist/index.d.ts +13 -0
  104. package/packages/css/dist/index.d.ts.map +1 -0
  105. package/packages/css/dist/index.js +16 -0
  106. package/packages/css/dist/index.js.map +1 -0
  107. package/packages/css/dist/syntax.d.ts +29 -0
  108. package/packages/css/dist/syntax.d.ts.map +1 -0
  109. package/packages/css/dist/syntax.js +341 -0
  110. package/packages/css/dist/syntax.js.map +1 -0
  111. package/packages/css/dist/themes/bulma-dark.css +86 -0
  112. package/packages/css/dist/themes/bulma-light.css +86 -0
  113. package/packages/css/dist/themes/catppuccin-frappe.css +61 -0
  114. package/packages/css/dist/themes/catppuccin-latte.css +61 -0
  115. package/packages/css/dist/themes/catppuccin-macchiato.css +61 -0
  116. package/packages/css/dist/themes/catppuccin-mocha.css +61 -0
  117. package/packages/css/dist/themes/dracula.css +85 -0
  118. package/packages/css/dist/themes/github-dark.css +61 -0
  119. package/packages/css/dist/themes/github-light.css +61 -0
  120. package/packages/css/dist/turbo-base.css +246 -0
  121. package/packages/css/dist/turbo-components.css +1833 -0
  122. package/packages/css/dist/turbo-core.css +92 -0
  123. package/packages/css/dist/turbo-syntax.css +242 -0
  124. package/packages/css/dist/turbo.css +727 -0
  125. package/packages/theme-selector/dist/accessibility.d.ts +8 -0
  126. package/packages/theme-selector/dist/accessibility.d.ts.map +1 -0
  127. package/packages/theme-selector/dist/accessibility.js +19 -0
  128. package/packages/theme-selector/dist/accessibility.js.map +1 -0
  129. package/packages/theme-selector/dist/apply-theme.d.ts +12 -0
  130. package/packages/theme-selector/dist/apply-theme.d.ts.map +1 -0
  131. package/packages/theme-selector/dist/apply-theme.js +60 -0
  132. package/packages/theme-selector/dist/apply-theme.js.map +1 -0
  133. package/packages/theme-selector/dist/constants.d.ts +28 -0
  134. package/packages/theme-selector/dist/constants.d.ts.map +1 -0
  135. package/packages/theme-selector/dist/constants.js +29 -0
  136. package/packages/theme-selector/dist/constants.js.map +1 -0
  137. package/packages/theme-selector/dist/dropdown/events.d.ts +9 -0
  138. package/packages/theme-selector/dist/dropdown/events.d.ts.map +1 -0
  139. package/packages/theme-selector/dist/dropdown/events.js +120 -0
  140. package/packages/theme-selector/dist/dropdown/events.js.map +1 -0
  141. package/packages/theme-selector/dist/dropdown/helpers.d.ts +12 -0
  142. package/packages/theme-selector/dist/dropdown/helpers.d.ts.map +1 -0
  143. package/packages/theme-selector/dist/dropdown/helpers.js +25 -0
  144. package/packages/theme-selector/dist/dropdown/helpers.js.map +1 -0
  145. package/packages/theme-selector/dist/dropdown/state.d.ts +26 -0
  146. package/packages/theme-selector/dist/dropdown/state.d.ts.map +1 -0
  147. package/packages/theme-selector/dist/dropdown/state.js +50 -0
  148. package/packages/theme-selector/dist/dropdown/state.js.map +1 -0
  149. package/packages/theme-selector/dist/dropdown/ui.d.ts +46 -0
  150. package/packages/theme-selector/dist/dropdown/ui.d.ts.map +1 -0
  151. package/packages/theme-selector/dist/dropdown/ui.js +179 -0
  152. package/packages/theme-selector/dist/dropdown/ui.js.map +1 -0
  153. package/packages/theme-selector/dist/errors.d.ts +59 -0
  154. package/packages/theme-selector/dist/errors.d.ts.map +1 -0
  155. package/packages/theme-selector/dist/errors.js +127 -0
  156. package/packages/theme-selector/dist/errors.js.map +1 -0
  157. package/packages/theme-selector/dist/index.d.ts +25 -0
  158. package/packages/theme-selector/dist/index.d.ts.map +1 -0
  159. package/packages/theme-selector/dist/index.js +114 -0
  160. package/packages/theme-selector/dist/index.js.map +1 -0
  161. package/packages/theme-selector/dist/navbar.d.ts +13 -0
  162. package/packages/theme-selector/dist/navbar.d.ts.map +1 -0
  163. package/packages/theme-selector/dist/navbar.js +75 -0
  164. package/packages/theme-selector/dist/navbar.js.map +1 -0
  165. package/packages/theme-selector/dist/storage.d.ts +32 -0
  166. package/packages/theme-selector/dist/storage.d.ts.map +1 -0
  167. package/packages/theme-selector/dist/storage.js +100 -0
  168. package/packages/theme-selector/dist/storage.js.map +1 -0
  169. package/packages/theme-selector/dist/theme-loader.d.ts +37 -0
  170. package/packages/theme-selector/dist/theme-loader.d.ts.map +1 -0
  171. package/packages/theme-selector/dist/theme-loader.js +142 -0
  172. package/packages/theme-selector/dist/theme-loader.js.map +1 -0
  173. package/packages/theme-selector/dist/theme-mapper.d.ts +25 -0
  174. package/packages/theme-selector/dist/theme-mapper.d.ts.map +1 -0
  175. package/packages/theme-selector/dist/theme-mapper.js +99 -0
  176. package/packages/theme-selector/dist/theme-mapper.js.map +1 -0
  177. package/packages/theme-selector/dist/theme-resolver.d.ts +50 -0
  178. package/packages/theme-selector/dist/theme-resolver.d.ts.map +1 -0
  179. package/packages/theme-selector/dist/theme-resolver.js +84 -0
  180. package/packages/theme-selector/dist/theme-resolver.js.map +1 -0
  181. package/packages/theme-selector/dist/types.d.ts +7 -0
  182. package/packages/theme-selector/dist/types.d.ts.map +1 -0
  183. package/packages/theme-selector/dist/types.js +6 -0
  184. package/packages/theme-selector/dist/types.js.map +1 -0
@@ -0,0 +1,617 @@
1
+ // SPDX-License-Identifier: MIT
2
+ // CSS generation functions for theme flavors
3
+ import { hexToHsl } from './bulma.js';
4
+ // Helper function to generate syntax highlighting CSS
5
+ function generateSyntaxHighlightingCSS(flavor) {
6
+ const { tokens } = flavor;
7
+ const escapedId = CSS.escape ? CSS.escape(flavor.id) : flavor.id.replace(/[<>"'&\\]/g, '\\$&');
8
+ // Extract syntax colors from theme tokens
9
+ const syntaxColors = {
10
+ fg: tokens.content.codeInline.fg,
11
+ bg: tokens.content.codeInline.bg,
12
+ comment: tokens.text.secondary,
13
+ keyword: tokens.brand.primary,
14
+ string: tokens.state.success,
15
+ number: tokens.state.warning,
16
+ title: tokens.state.info,
17
+ attr: tokens.accent.link,
18
+ };
19
+ return `html[data-flavor='${escapedId}'] .highlight {
20
+ background: ${syntaxColors.bg};
21
+ color: ${syntaxColors.fg};
22
+ }
23
+ html[data-flavor='${escapedId}'] .highlight pre,
24
+ html[data-flavor='${escapedId}'] pre.highlight {
25
+ background: transparent;
26
+ color: ${syntaxColors.fg};
27
+ }
28
+ html[data-flavor='${escapedId}'] .highlight code {
29
+ background: transparent;
30
+ color: ${syntaxColors.fg};
31
+ }
32
+ html[data-flavor='${escapedId}'] .highlight .c,
33
+ html[data-flavor='${escapedId}'] .highlight .cm,
34
+ html[data-flavor='${escapedId}'] .highlight .c1 {
35
+ color: ${syntaxColors.comment};
36
+ }
37
+ html[data-flavor='${escapedId}'] .highlight .k,
38
+ html[data-flavor='${escapedId}'] .highlight .kc,
39
+ html[data-flavor='${escapedId}'] .highlight .kd {
40
+ color: ${syntaxColors.keyword};
41
+ }
42
+ html[data-flavor='${escapedId}'] .highlight .s,
43
+ html[data-flavor='${escapedId}'] .highlight .s1,
44
+ html[data-flavor='${escapedId}'] .highlight .sb,
45
+ html[data-flavor='${escapedId}'] .highlight .sd,
46
+ html[data-flavor='${escapedId}'] .highlight .s2 {
47
+ color: ${syntaxColors.string};
48
+ }
49
+ html[data-flavor='${escapedId}'] .highlight .m,
50
+ html[data-flavor='${escapedId}'] .highlight .mi,
51
+ html[data-flavor='${escapedId}'] .highlight .mf,
52
+ html[data-flavor='${escapedId}'] .highlight .mh {
53
+ color: ${syntaxColors.number};
54
+ }
55
+ html[data-flavor='${escapedId}'] .highlight .nt,
56
+ html[data-flavor='${escapedId}'] .highlight .na {
57
+ color: ${syntaxColors.attr};
58
+ }
59
+ html[data-flavor='${escapedId}'] .highlight .nn,
60
+ html[data-flavor='${escapedId}'] .highlight .nc,
61
+ html[data-flavor='${escapedId}'] .highlight .no,
62
+ html[data-flavor='${escapedId}'] .highlight .nf {
63
+ color: ${syntaxColors.title};
64
+ }`;
65
+ }
66
+ // Helper function to generate theme CSS variables
67
+ function generateThemeCSSVariables(flavor) {
68
+ const { tokens } = flavor;
69
+ const escapedId = CSS.escape ? CSS.escape(flavor.id) : flavor.id.replace(/[<>"'&\\]/g, '\\$&');
70
+ // Convert hex colors to HSL for CSS format
71
+ const primaryHsl = hexToHsl(tokens.brand.primary);
72
+ const linkHslObj = hexToHsl(tokens.accent.link);
73
+ const infoHslObj = hexToHsl(tokens.state.info);
74
+ const successHslObj = hexToHsl(tokens.state.success);
75
+ const warningHslObj = hexToHsl(tokens.state.warning);
76
+ const dangerHslObj = hexToHsl(tokens.state.danger);
77
+ const linkHsl = `hsl(${linkHslObj.h}, ${linkHslObj.s}%, ${linkHslObj.l}%)`;
78
+ const infoHsl = `hsl(${infoHslObj.h}, ${infoHslObj.s}%, ${infoHslObj.l}%)`;
79
+ const successHsl = `hsl(${successHslObj.h}, ${successHslObj.s}%, ${successHslObj.l}%)`;
80
+ const warningHsl = `hsl(${warningHslObj.h}, ${warningHslObj.s}%, ${warningHslObj.l}%)`;
81
+ const dangerHsl = `hsl(${dangerHslObj.h}, ${dangerHslObj.s}%, ${dangerHslObj.l}%)`;
82
+ return `html[data-flavor='${escapedId}'] {
83
+ --bulma-body-background-color: ${tokens.background.base};
84
+ --bulma-body-color: ${tokens.text.primary};
85
+ --bulma-scheme-main: ${tokens.background.base};
86
+ --bulma-scheme-main-bis: ${tokens.background.surface};
87
+ --bulma-scheme-main-ter: ${tokens.background.overlay};
88
+ --bulma-scheme-invert: ${tokens.text.primary};
89
+ --bulma-primary-h: ${primaryHsl.h};
90
+ --bulma-primary-s: ${primaryHsl.s}%;
91
+ --bulma-primary-l: ${primaryHsl.l}%;
92
+ --bulma-link: ${linkHsl};
93
+ --bulma-info: ${infoHsl};
94
+ --bulma-success: ${successHsl};
95
+ --bulma-warning: ${warningHsl};
96
+ --bulma-danger: ${dangerHsl};
97
+ --bulma-border: ${tokens.border.default};
98
+ --theme-font-sans:
99
+ ${tokens.typography.fonts.sans};
100
+ --theme-font-mono:
101
+ ${tokens.typography.fonts.mono};
102
+ --theme-text: ${tokens.text.primary};
103
+ --theme-text-muted: ${tokens.text.secondary};
104
+ --theme-h1: ${tokens.content.heading.h1};
105
+ --theme-h2: ${tokens.content.heading.h2};
106
+ --theme-h3: ${tokens.content.heading.h3};
107
+ --theme-h4: ${tokens.content.heading.h4};
108
+ --theme-h5: ${tokens.content.heading.h5};
109
+ --theme-h6: ${tokens.content.heading.h6};
110
+ --theme-link: ${tokens.accent.link};
111
+ --theme-blockquote-border: ${tokens.content.blockquote.border};
112
+ --theme-blockquote-fg: ${tokens.content.blockquote.fg};
113
+ --theme-blockquote-bg: ${tokens.content.blockquote.bg};
114
+ --theme-code-fg: ${tokens.content.codeInline.fg};
115
+ --theme-code-bg: ${tokens.content.codeInline.bg};
116
+ --theme-pre-fg: ${tokens.content.codeBlock.fg};
117
+ --theme-pre-bg: ${tokens.content.codeBlock.bg};
118
+ --theme-table-border: ${tokens.content.table.border};
119
+ --theme-table-stripe: ${tokens.content.table.stripe};
120
+ --theme-table-thead-bg: ${tokens.content.table.theadBg};
121
+ --theme-selection-fg: ${tokens.content.selection.fg};
122
+ --theme-selection-bg: ${tokens.content.selection.bg};
123
+ --syntax-fg: ${tokens.content.codeInline.fg};
124
+ --syntax-bg: ${tokens.content.codeInline.bg};
125
+ --syntax-keyword: ${tokens.brand.primary};
126
+ --syntax-string: ${tokens.state.success};
127
+ --syntax-number: ${tokens.state.warning};
128
+ --syntax-comment: ${tokens.text.secondary};
129
+ --syntax-title: ${tokens.state.info};
130
+ --syntax-attr: ${tokens.accent.link};
131
+ --theme-surface-0: ${tokens.background.base};
132
+ --theme-surface-1: ${tokens.background.surface};
133
+ --theme-surface-2: ${tokens.background.overlay};
134
+ --theme-border: ${tokens.border.default};
135
+ /* Table component tokens (with fallbacks) */
136
+ --theme-table-cell-bg: ${tokens.content.table.cellBg ?? tokens.background.base};
137
+ --theme-table-header-fg: ${tokens.content.table.headerFg ?? tokens.text.primary};
138
+ ${tokens.components
139
+ ? ` /* Card component tokens */
140
+ --theme-card-bg: ${tokens.components.card?.bg ?? tokens.background.surface};
141
+ --theme-card-border: ${tokens.components.card?.border ?? tokens.border.default};
142
+ --theme-card-header-bg: ${tokens.components.card?.headerBg ?? tokens.background.overlay};
143
+ --theme-card-footer-bg: ${tokens.components.card?.footerBg ?? tokens.background.surface};
144
+ /* Message component tokens */
145
+ --theme-message-bg: ${tokens.components.message?.bg ?? tokens.background.surface};
146
+ --theme-message-header-bg: ${tokens.components.message?.headerBg ?? tokens.background.overlay};
147
+ --theme-message-border: ${tokens.components.message?.border ?? tokens.border.default};
148
+ --theme-message-body-fg: ${tokens.components.message?.bodyFg ?? tokens.text.primary};
149
+ /* Panel component tokens */
150
+ --theme-panel-bg: ${tokens.components.panel?.bg ?? tokens.background.surface};
151
+ --theme-panel-header-bg: ${tokens.components.panel?.headerBg ?? tokens.background.overlay};
152
+ --theme-panel-header-fg: ${tokens.components.panel?.headerFg ?? tokens.text.primary};
153
+ --theme-panel-border: ${tokens.components.panel?.border ?? tokens.border.default};
154
+ --theme-panel-block-bg: ${tokens.components.panel?.blockBg ?? tokens.background.surface};
155
+ --theme-panel-block-hover-bg: ${tokens.components.panel?.blockHoverBg ?? tokens.background.overlay};
156
+ --theme-panel-block-active-bg: ${tokens.components.panel?.blockActiveBg ?? tokens.background.overlay};
157
+ /* Box component tokens */
158
+ --theme-box-bg: ${tokens.components.box?.bg ?? tokens.background.surface};
159
+ --theme-box-border: ${tokens.components.box?.border ?? tokens.border.default};
160
+ /* Notification component tokens */
161
+ --theme-notification-bg: ${tokens.components.notification?.bg ?? tokens.background.surface};
162
+ --theme-notification-border: ${tokens.components.notification?.border ?? tokens.border.default};
163
+ /* Modal component tokens */
164
+ --theme-modal-bg: ${tokens.components.modal?.bg ?? 'rgba(10, 10, 10, 0.86)'};
165
+ --theme-modal-card-bg: ${tokens.components.modal?.cardBg ?? tokens.background.surface};
166
+ --theme-modal-header-bg: ${tokens.components.modal?.headerBg ?? tokens.background.overlay};
167
+ --theme-modal-footer-bg: ${tokens.components.modal?.footerBg ?? tokens.background.surface};
168
+ /* Dropdown component tokens */
169
+ --theme-dropdown-bg: ${tokens.components.dropdown?.bg ?? tokens.background.surface};
170
+ --theme-dropdown-item-hover-bg: ${tokens.components.dropdown?.itemHoverBg ?? tokens.background.overlay};
171
+ --theme-dropdown-border: ${tokens.components.dropdown?.border ?? tokens.border.default};
172
+ /* Tabs component tokens */
173
+ --theme-tabs-border: ${tokens.components.tabs?.border ?? tokens.border.default};
174
+ --theme-tabs-link-bg: ${tokens.components.tabs?.linkBg ?? tokens.background.surface};
175
+ --theme-tabs-link-active-bg: ${tokens.components.tabs?.linkActiveBg ?? tokens.background.base};
176
+ --theme-tabs-link-hover-bg: ${tokens.components.tabs?.linkHoverBg ?? tokens.background.overlay};
177
+ `
178
+ : ''} color-scheme: ${flavor.appearance};
179
+ }`;
180
+ }
181
+ // Generate CSS for a specific flavor
182
+ export function cssForFlavor(flavor) {
183
+ const syntaxCSS = generateSyntaxHighlightingCSS(flavor);
184
+ const variablesCSS = generateThemeCSSVariables(flavor);
185
+ return `/* SPDX-License-Identifier: MIT */
186
+ ${syntaxCSS}
187
+ ${variablesCSS}`;
188
+ }
189
+ // Generate global CSS overrides that apply theme variables
190
+ export function cssGlobalOverrides() {
191
+ return `/* SPDX-License-Identifier: MIT */
192
+ html {
193
+ font-family: var(
194
+ --theme-font-sans,
195
+ system-ui,
196
+ -apple-system,
197
+ Segoe UI,
198
+ Roboto,
199
+ Helvetica,
200
+ Arial,
201
+ sans-serif
202
+ );
203
+ }
204
+ body,
205
+ .content {
206
+ font-family: var(
207
+ --theme-font-sans,
208
+ system-ui,
209
+ -apple-system,
210
+ Segoe UI,
211
+ Roboto,
212
+ Helvetica,
213
+ Arial,
214
+ sans-serif
215
+ );
216
+ }
217
+ .title,
218
+ .content h1,
219
+ .content h2,
220
+ .content h3,
221
+ .content h4,
222
+ .content h5,
223
+ .content h6 {
224
+ font-family: var(
225
+ --theme-font-sans,
226
+ system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif
227
+ );
228
+ }
229
+ code,
230
+ kbd,
231
+ pre,
232
+ samp {
233
+ font-family: var(
234
+ --theme-font-mono,
235
+ ui-monospace,
236
+ SFMono-Regular,
237
+ Menlo,
238
+ Monaco,
239
+ Consolas,
240
+ 'Liberation Mono',
241
+ 'Courier New',
242
+ monospace
243
+ );
244
+ }
245
+ html,
246
+ body {
247
+ color: var(--theme-text, inherit);
248
+ }
249
+ .content p {
250
+ color: var(--theme-text, inherit);
251
+ }
252
+ .title.is-1,
253
+ h1 {
254
+ color: var(--theme-h1, var(--theme-text, inherit));
255
+ }
256
+ .title.is-2,
257
+ h2 {
258
+ color: var(--theme-h2, var(--theme-text, inherit));
259
+ }
260
+ .title.is-3,
261
+ h3 {
262
+ color: var(--theme-h3, var(--theme-text, inherit));
263
+ }
264
+ .title.is-4,
265
+ h4 {
266
+ color: var(--theme-h4, var(--theme-text, inherit));
267
+ }
268
+ .title.is-5,
269
+ h5 {
270
+ color: var(--theme-h5, var(--theme-text, inherit));
271
+ }
272
+ .title.is-6,
273
+ h6 {
274
+ color: var(--theme-h6, var(--theme-text, inherit));
275
+ }
276
+ .content h1 {
277
+ color: var(--theme-h1, var(--theme-text, inherit));
278
+ }
279
+ .content h2 {
280
+ color: var(--theme-h2, var(--theme-text, inherit));
281
+ }
282
+ .content h3 {
283
+ color: var(--theme-h3, var(--theme-text, inherit));
284
+ }
285
+ .content h4 {
286
+ color: var(--theme-h4, var(--theme-text, inherit));
287
+ }
288
+ .content h5 {
289
+ color: var(--theme-h5, var(--theme-text, inherit));
290
+ }
291
+ .content h6 {
292
+ color: var(--theme-h6, var(--theme-text, inherit));
293
+ }
294
+ .label,
295
+ label {
296
+ color: var(--theme-label-color, var(--theme-text, inherit));
297
+ }
298
+ .content a {
299
+ color: var(--theme-link, var(--bulma-link));
300
+ }
301
+ .content a:hover {
302
+ color: var(--theme-link-hover, var(--theme-link));
303
+ }
304
+ .content blockquote {
305
+ border-left: 4px solid var(--theme-blockquote-border, currentColor);
306
+ color: var(--theme-blockquote-fg, inherit);
307
+ background: var(--theme-blockquote-bg, transparent);
308
+ font-style: italic;
309
+ }
310
+ .content hr,
311
+ hr {
312
+ height: 0;
313
+ border: 0;
314
+ border-top: 2px solid
315
+ var(
316
+ --theme-hr-color,
317
+ var(--theme-h1, var(--theme-table-border, var(--bulma-border, currentColor)))
318
+ );
319
+ background: none;
320
+ }
321
+ input[type='checkbox'],
322
+ input[type='radio'],
323
+ progress,
324
+ input[type='range'] {
325
+ accent-color: var(--theme-link, var(--bulma-link));
326
+ }
327
+ .input:invalid,
328
+ .textarea:invalid,
329
+ select:invalid,
330
+ input:invalid {
331
+ border-color: var(--bulma-danger);
332
+ box-shadow: none;
333
+ }
334
+ .input:valid,
335
+ .textarea:valid,
336
+ select:valid,
337
+ input:valid {
338
+ border-color: var(--bulma-success);
339
+ box-shadow: none;
340
+ }
341
+ .input:focus,
342
+ .textarea:focus,
343
+ select:focus,
344
+ input:focus {
345
+ border-color: var(--bulma-link);
346
+ box-shadow: 0 0 0 0.125em color-mix(in srgb, var(--bulma-link), transparent 80%);
347
+ outline: none;
348
+ }
349
+ .input:-moz-ui-invalid,
350
+ input:-moz-ui-invalid,
351
+ select:-moz-ui-invalid {
352
+ border-color: var(--bulma-danger);
353
+ box-shadow: none;
354
+ }
355
+ ::placeholder {
356
+ color: var(--theme-text-muted, currentColor);
357
+ opacity: 1;
358
+ }
359
+ input:-webkit-autofill {
360
+ -webkit-text-fill-color: var(--theme-text, inherit);
361
+ box-shadow: 0 0 0 1000px var(--theme-surface-1, transparent) inset !important;
362
+ filter: none;
363
+ }
364
+ input[type='file']::file-selector-button {
365
+ background: color-mix(in srgb, var(--theme-link, var(--bulma-link)) 10%, transparent);
366
+ border: 1px solid var(--theme-link, var(--bulma-link));
367
+ color: var(--theme-text, inherit);
368
+ padding: 0.35rem 0.6rem;
369
+ border-radius: 0.4rem;
370
+ }
371
+ input[type='file']::file-selector-button:hover {
372
+ background: color-mix(in srgb, var(--theme-link, var(--bulma-link)) 18%, transparent);
373
+ }
374
+ #theme-flavor-select {
375
+ padding-left: 2rem;
376
+ }
377
+ #theme-flavor-icon {
378
+ display: none;
379
+ }
380
+ #theme-flavor-select option[data-icon] {
381
+ background-repeat: no-repeat;
382
+ background-size: 1rem 1rem;
383
+ background-position: 0.5rem center;
384
+ padding-left: 1.75rem;
385
+ }
386
+ #theme-flavor-select:hover {
387
+ border-color: var(--bulma-link);
388
+ box-shadow: 0 0 0 0.125em color-mix(in srgb, var(--bulma-link), transparent 80%);
389
+ }
390
+ .dropdown.is-theme {
391
+ --bulma-dropdown-item-h: var(--bulma-text-h);
392
+ --bulma-dropdown-item-s: var(--bulma-text-s);
393
+ --bulma-dropdown-item-color-l: var(--bulma-text-l);
394
+ --bulma-dropdown-item-background-l: var(--bulma-scheme-main-l);
395
+ --bulma-dropdown-item-selected-h: var(--bulma-link-h);
396
+ --bulma-dropdown-item-selected-s: var(--bulma-link-s);
397
+ --bulma-dropdown-item-selected-l: var(--bulma-link-l);
398
+ --bulma-dropdown-item-selected-background-l: var(--bulma-link-l);
399
+ --bulma-dropdown-item-selected-color-l: var(--bulma-link-invert-l);
400
+ }
401
+ .dropdown.is-theme .theme-flavor-trigger {
402
+ background: var(--theme-surface-1, inherit) !important;
403
+ color: var(--theme-text, inherit) !important;
404
+ border: 2px solid var(--theme-table-border, var(--bulma-border, currentColor)) !important;
405
+ border-radius: var(--bulma-radius, 0.375rem) !important;
406
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
407
+ transition: all 0.2s ease !important;
408
+ font-weight: 500 !important;
409
+ }
410
+ .dropdown.is-theme .theme-flavor-trigger:hover {
411
+ border-color: var(--theme-link, var(--bulma-link)) !important;
412
+ box-shadow: 0 2px 4px color-mix(in srgb, var(--theme-link, var(--bulma-link)), transparent 85%),
413
+ 0 0 0 0.125em color-mix(in srgb, var(--theme-link, var(--bulma-link)), transparent 80%) !important;
414
+ background: var(--theme-surface-2, inherit) !important;
415
+ }
416
+ .dropdown.is-theme .theme-flavor-trigger:focus {
417
+ border-color: var(--theme-link, var(--bulma-link)) !important;
418
+ box-shadow: 0 0 0 0.125em color-mix(in srgb, var(--theme-link, var(--bulma-link)), transparent 80%),
419
+ 0 2px 4px color-mix(in srgb, var(--theme-link, var(--bulma-link)), transparent 85%) !important;
420
+ outline: none !important;
421
+ }
422
+ .dropdown.is-theme .dropdown-menu {
423
+ background: var(--theme-surface-1, inherit) !important;
424
+ border: 2px solid var(--theme-table-border, var(--bulma-border, currentColor)) !important;
425
+ border-radius: var(--bulma-radius, 0.375rem) !important;
426
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.1) !important;
427
+ margin-top: 0.25rem !important;
428
+ }
429
+ .dropdown.is-theme .dropdown-content {
430
+ background-color: transparent !important;
431
+ box-shadow: none !important;
432
+ padding: 0.5rem !important;
433
+ border: none !important;
434
+ }
435
+ .dropdown.is-theme .dropdown-item {
436
+ color: var(--theme-text, inherit) !important;
437
+ background-color: transparent !important;
438
+ border-radius: var(--bulma-radius-small, 0.25rem) !important;
439
+ padding: 0.625rem 1rem !important;
440
+ display: flex !important;
441
+ align-items: center !important;
442
+ gap: 0.75rem !important;
443
+ border: none !important;
444
+ transition: all 0.15s ease !important;
445
+ font-weight: 400 !important;
446
+ }
447
+ .dropdown.is-theme .dropdown-item:hover {
448
+ background: var(--theme-surface-2, inherit) !important;
449
+ color: var(--theme-link, var(--bulma-link)) !important;
450
+ transform: translateX(2px);
451
+ }
452
+ .dropdown.is-theme .dropdown-item.is-active {
453
+ background: var(--theme-link, var(--bulma-link)) !important;
454
+ color: var(--bulma-link-invert, var(--bulma-body-background-color)) !important;
455
+ font-weight: 500 !important;
456
+ }
457
+ .dropdown.is-theme .dropdown-item.is-active::before {
458
+ content: '✓';
459
+ margin-right: 0.25rem;
460
+ font-weight: bold;
461
+ }
462
+ .dropdown.is-theme .dropdown-item img {
463
+ border-radius: 50% !important;
464
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
465
+ }
466
+ .table.is-striped tbody tr:nth-child(even) {
467
+ background-color: var(--theme-table-stripe, var(--theme-surface-2, inherit));
468
+ }
469
+ .box,
470
+ .card,
471
+ .dropdown-content,
472
+ .menu,
473
+ .message,
474
+ .panel,
475
+ .table,
476
+ .table td,
477
+ .table th,
478
+ .modal-card {
479
+ border-color: var(--theme-table-border, var(--bulma-border, currentColor));
480
+ }
481
+ .table thead th {
482
+ background-color: var(--theme-table-thead-bg, var(--theme-surface-2, inherit));
483
+ }
484
+ .input:not(.is-success):not(.is-danger),
485
+ .textarea:not(.is-success):not(.is-danger),
486
+ .select:not(.is-success):not(.is-danger) select,
487
+ .button.is-light {
488
+ background-color: var(--theme-surface-1, inherit);
489
+ color: var(--theme-text, inherit);
490
+ border-color: var(--theme-table-border, var(--bulma-border, currentColor));
491
+ }
492
+ .input:not(.is-success):not(.is-danger):focus,
493
+ .textarea:not(.is-success):not(.is-danger):focus,
494
+ .select:not(.is-success):not(.is-danger) select:focus {
495
+ border-color: var(--bulma-link);
496
+ box-shadow: 0 0 0 0.125em color-mix(in srgb, var(--bulma-link), transparent 80%);
497
+ }
498
+
499
+ .select.is-theme select {
500
+ background-color: var(--theme-surface-1, inherit) !important;
501
+ color: var(--theme-text, inherit) !important;
502
+ border: 2px solid var(--theme-table-border, var(--bulma-border, currentColor)) !important;
503
+ border-radius: var(--bulma-radius, 0.375rem) !important;
504
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
505
+ padding: 0.5em 2.5em 0.5em 0.75em !important;
506
+ transition: all 0.2s ease !important;
507
+ font-weight: 500 !important;
508
+ appearance: none;
509
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
510
+ background-repeat: no-repeat;
511
+ background-position: right 0.75em center;
512
+ background-size: 0.75em;
513
+ filter: var(--theme-select-arrow-filter, brightness(0) saturate(100%) invert(0.4));
514
+ }
515
+ .select.is-theme select:hover {
516
+ border-color: var(--theme-link, var(--bulma-link)) !important;
517
+ box-shadow: 0 2px 4px color-mix(in srgb, var(--theme-link, var(--bulma-link)), transparent 85%) !important;
518
+ background-color: var(--theme-surface-2, inherit) !important;
519
+ }
520
+ .select.is-theme select:focus {
521
+ border-color: var(--theme-link, var(--bulma-link)) !important;
522
+ box-shadow: 0 0 0 0.125em color-mix(in srgb, var(--theme-link, var(--bulma-link)), transparent 80%),
523
+ 0 2px 4px color-mix(in srgb, var(--theme-link, var(--bulma-link)), transparent 85%) !important;
524
+ outline: none !important;
525
+ background-color: var(--theme-surface-1, inherit) !important;
526
+ }
527
+ .select.is-theme select:disabled {
528
+ opacity: 0.6;
529
+ cursor: not-allowed;
530
+ }
531
+ .select.is-theme.has-icons-left select {
532
+ padding-left: 2.5em;
533
+ }
534
+ .navbar {
535
+ background-color: var(--theme-surface-0, inherit) !important;
536
+ border-bottom: 1px solid var(--theme-border, var(--theme-table-border, var(--bulma-border, currentColor))) !important;
537
+ --bulma-navbar-background-color: var(--theme-surface-0, inherit);
538
+ --bulma-navbar-item-color: var(--theme-text, inherit);
539
+ --bulma-navbar-item-hover-background-l-delta: 0.05;
540
+ --bulma-navbar-item-active-background-l-delta: 0.1;
541
+ }
542
+ .navbar-item,
543
+ .navbar-link {
544
+ color: var(--theme-text, inherit) !important;
545
+ --bulma-navbar-item-color-l: var(--bulma-text-l);
546
+ }
547
+ .navbar-item.is-active,
548
+ .navbar-link.is-active {
549
+ color: var(--theme-link, var(--bulma-link)) !important;
550
+ background-color: transparent !important;
551
+ --bulma-navbar-item-color-l: var(--bulma-link-l);
552
+ }
553
+ .navbar-link:not(.is-arrowless)::after {
554
+ border-color: var(--theme-link, var(--bulma-link)) !important;
555
+ }
556
+ .navbar-dropdown {
557
+ background-color: var(--theme-surface-1, inherit) !important;
558
+ border-top: 1px solid var(--theme-border, var(--theme-table-border, var(--bulma-border, currentColor))) !important;
559
+ box-shadow: 0 4px 6px rgba(10, 10, 10, 0.1);
560
+ --bulma-navbar-dropdown-background-color: var(--theme-surface-1, inherit);
561
+ }
562
+ .navbar-dropdown .navbar-item {
563
+ color: var(--theme-text, inherit) !important;
564
+ background-color: transparent !important;
565
+ border: none;
566
+ }
567
+ .navbar-dropdown .navbar-item:hover {
568
+ background-color: var(--theme-surface-2, inherit) !important;
569
+ color: var(--theme-link, var(--bulma-link)) !important;
570
+ }
571
+ .navbar-dropdown .navbar-item.is-active {
572
+ background-color: var(--theme-surface-2, inherit) !important;
573
+ color: var(--theme-link, var(--bulma-link)) !important;
574
+ }
575
+ .navbar-item:hover,
576
+ .navbar-link:hover {
577
+ background-color: var(--theme-surface-2, inherit) !important;
578
+ color: var(--theme-link, var(--bulma-link)) !important;
579
+ }
580
+ a.navbar-item:hover,
581
+ a.navbar-item.is-active,
582
+ .navbar-link:hover,
583
+ .navbar-link.is-active {
584
+ background-color: var(--theme-surface-2, inherit) !important;
585
+ color: var(--theme-link, var(--bulma-link)) !important;
586
+ }
587
+
588
+ /* Accessibility contrast fixes (Axe) */
589
+ [data-flavor='catppuccin-latte'] .navbar-item,
590
+ [data-flavor='catppuccin-latte'] .has-text-centered > p,
591
+ [data-flavor='catppuccin-latte'] a.navbar-item,
592
+ [data-flavor='catppuccin-latte'] .title,
593
+ [data-flavor='catppuccin-latte'] h1,
594
+ [data-flavor='catppuccin-latte'] h2,
595
+ [data-flavor='catppuccin-latte'] h3,
596
+ [data-flavor='catppuccin-latte'] h4 {
597
+ color: #1e293b; /* strong slate for >=4.5:1 on light bg */
598
+ }
599
+
600
+ [data-flavor='catppuccin-latte'] .button.is-text,
601
+ [data-flavor='catppuccin-latte'] .button.is-ghost,
602
+ [data-flavor='catppuccin-latte'] .navbar-item.is-active {
603
+ color: #0b66d6; /* deeper blue for >=4.5:1 on light bg */
604
+ }
605
+
606
+ [data-flavor='github-dark'] strong,
607
+ [data-flavor='github-dark'] th,
608
+ [data-flavor='github-dark'] .has-text-centered > p {
609
+ color: #c9d1d9; /* github-dark foreground */
610
+ }
611
+
612
+ [data-flavor='github-dark'] .button.is-text,
613
+ [data-flavor='github-dark'] .button.is-ghost {
614
+ color: #58a6ff; /* accessible link blue on dark bg */
615
+ }`;
616
+ }
617
+ //# sourceMappingURL=css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css.js","sourceRoot":"","sources":["../../src/themes/css.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,6CAA6C;AAG7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,sDAAsD;AACtD,SAAS,6BAA6B,CAAC,MAAmB;IACxD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC1B,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAE/F,0CAA0C;IAC1C,MAAM,YAAY,GAAG;QACnB,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QAChC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QAChC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS;QAC9B,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;QAC7B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;QAC5B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;QAC5B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;QACxB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;KACzB,CAAC;IAEF,OAAO,qBAAqB,SAAS;gBACvB,YAAY,CAAC,EAAE;WACpB,YAAY,CAAC,EAAE;;oBAEN,SAAS;oBACT,SAAS;;WAElB,YAAY,CAAC,EAAE;;oBAEN,SAAS;;WAElB,YAAY,CAAC,EAAE;;oBAEN,SAAS;oBACT,SAAS;oBACT,SAAS;WAClB,YAAY,CAAC,OAAO;;oBAEX,SAAS;oBACT,SAAS;oBACT,SAAS;WAClB,YAAY,CAAC,OAAO;;oBAEX,SAAS;oBACT,SAAS;oBACT,SAAS;oBACT,SAAS;oBACT,SAAS;WAClB,YAAY,CAAC,MAAM;;oBAEV,SAAS;oBACT,SAAS;oBACT,SAAS;oBACT,SAAS;WAClB,YAAY,CAAC,MAAM;;oBAEV,SAAS;oBACT,SAAS;WAClB,YAAY,CAAC,IAAI;;oBAER,SAAS;oBACT,SAAS;oBACT,SAAS;oBACT,SAAS;WAClB,YAAY,CAAC,KAAK;EAC3B,CAAC;AACH,CAAC;AAED,kDAAkD;AAClD,SAAS,yBAAyB,CAAC,MAAmB;IACpD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC1B,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAE/F,2CAA2C;IAC3C,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,OAAO,UAAU,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC;IAC3E,MAAM,OAAO,GAAG,OAAO,UAAU,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC;IAC3E,MAAM,UAAU,GAAG,OAAO,aAAa,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC;IACvF,MAAM,UAAU,GAAG,OAAO,aAAa,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC;IACvF,MAAM,SAAS,GAAG,OAAO,YAAY,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC;IAEnF,OAAO,qBAAqB,SAAS;mCACJ,MAAM,CAAC,UAAU,CAAC,IAAI;wBACjC,MAAM,CAAC,IAAI,CAAC,OAAO;yBAClB,MAAM,CAAC,UAAU,CAAC,IAAI;6BAClB,MAAM,CAAC,UAAU,CAAC,OAAO;6BACzB,MAAM,CAAC,UAAU,CAAC,OAAO;2BAC3B,MAAM,CAAC,IAAI,CAAC,OAAO;uBACvB,UAAU,CAAC,CAAC;uBACZ,UAAU,CAAC,CAAC;uBACZ,UAAU,CAAC,CAAC;kBACjB,OAAO;kBACP,OAAO;qBACJ,UAAU;qBACV,UAAU;oBACX,SAAS;oBACT,MAAM,CAAC,MAAM,CAAC,OAAO;;MAEnC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI;;MAE5B,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI;kBAChB,MAAM,CAAC,IAAI,CAAC,OAAO;wBACb,MAAM,CAAC,IAAI,CAAC,SAAS;gBAC7B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACzB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACzB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACzB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACzB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACzB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;kBACvB,MAAM,CAAC,MAAM,CAAC,IAAI;+BACL,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM;2BACpC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;2BAC5B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;qBAClC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;qBAC5B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;oBAC7B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;oBAC3B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;0BACrB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM;0BAC3B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM;4BACzB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO;0BAC9B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;0BAC3B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;iBACpC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;iBAC5B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;sBACvB,MAAM,CAAC,KAAK,CAAC,OAAO;qBACrB,MAAM,CAAC,KAAK,CAAC,OAAO;qBACpB,MAAM,CAAC,KAAK,CAAC,OAAO;sBACnB,MAAM,CAAC,IAAI,CAAC,SAAS;oBACvB,MAAM,CAAC,KAAK,CAAC,IAAI;mBAClB,MAAM,CAAC,MAAM,CAAC,IAAI;uBACd,MAAM,CAAC,UAAU,CAAC,IAAI;uBACtB,MAAM,CAAC,UAAU,CAAC,OAAO;uBACzB,MAAM,CAAC,UAAU,CAAC,OAAO;oBAC5B,MAAM,CAAC,MAAM,CAAC,OAAO;;2BAEd,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI;6BACnD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO;EAE/E,MAAM,CAAC,UAAU;QACf,CAAC,CAAC;qBACe,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO;yBACnD,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO;4BACpD,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO;4BAC7D,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO;;wBAEjE,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO;+BACnD,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO;4BACnE,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO;6BACzD,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO;;sBAE/D,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO;6BACjD,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO;6BAC9D,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO;0BAC3D,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO;4BACtD,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO;kCACvD,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO;mCACjE,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,aAAa,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO;;oBAElF,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO;wBAClD,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO;;6BAEjD,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO;iCAC3D,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO;;sBAE1E,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,wBAAwB;2BAClD,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO;6BAC1D,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO;6BAC9D,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO;;yBAElE,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO;oCAChD,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO;6BAC3E,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO;;yBAE/D,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO;0BACtD,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO;iCACpD,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI;gCAC/D,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO;CAC/F;QACG,CAAC,CAAC,EACN,mBAAmB,MAAM,CAAC,UAAU;EAClC,CAAC;AACH,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,YAAY,CAAC,MAAmB;IAC9C,MAAM,SAAS,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAEvD,OAAO;EACP,SAAS;EACT,YAAY,EAAE,CAAC;AACjB,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,kBAAkB;IAChC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwaP,CAAC;AACH,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { ThemePackage } from '../types.js';
2
+ /**
3
+ * Bulma default themes - Light and Dark variants
4
+ * Based on Bulma's default color scheme with enhanced typography
5
+ * @see https://bulma.io/documentation/customize/with-sass/
6
+ *
7
+ * Typography: Nunito Sans - A modern, friendly sans-serif that
8
+ * complements Bulma's clean, European design aesthetic.
9
+ * Monospace: JetBrains Mono for code blocks.
10
+ */
11
+ export declare const bulmaThemes: ThemePackage;
12
+ //# sourceMappingURL=bulma.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulma.d.ts","sourceRoot":"","sources":["../../../src/themes/packs/bulma.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,EAAE,YAkRhB,CAAC"}