@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,218 @@
1
+ {
2
+ "spacing-xs": {
3
+ "value": "0.25rem",
4
+ "$type": "dimension"
5
+ },
6
+ "spacing-sm": {
7
+ "value": "0.5rem",
8
+ "$type": "dimension"
9
+ },
10
+ "spacing-md": {
11
+ "value": "1rem",
12
+ "$type": "dimension"
13
+ },
14
+ "spacing-lg": {
15
+ "value": "1.5rem",
16
+ "$type": "dimension"
17
+ },
18
+ "spacing-xl": {
19
+ "value": "2rem",
20
+ "$type": "dimension"
21
+ },
22
+ "elevation-none": {
23
+ "value": "none",
24
+ "$type": "shadow"
25
+ },
26
+ "elevation-sm": {
27
+ "value": "0 1px 2px 0 rgba(0, 0, 0, 0.05)",
28
+ "$type": "shadow"
29
+ },
30
+ "elevation-md": {
31
+ "value": "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
32
+ "$type": "shadow"
33
+ },
34
+ "elevation-lg": {
35
+ "value": "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",
36
+ "$type": "shadow"
37
+ },
38
+ "elevation-xl": {
39
+ "value": "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)",
40
+ "$type": "shadow"
41
+ },
42
+ "animation-duration-fast": {
43
+ "value": "150ms",
44
+ "$type": "duration"
45
+ },
46
+ "animation-duration-normal": {
47
+ "value": "300ms",
48
+ "$type": "duration"
49
+ },
50
+ "animation-duration-slow": {
51
+ "value": "500ms",
52
+ "$type": "duration"
53
+ },
54
+ "animation-easing-default": {
55
+ "value": "cubic-bezier(0.4, 0, 0.2, 1)",
56
+ "$type": "cubicBezier"
57
+ },
58
+ "animation-easing-emphasized": {
59
+ "value": "cubic-bezier(0.05, 0.7, 0.1, 1)",
60
+ "$type": "cubicBezier"
61
+ },
62
+ "opacity-disabled": {
63
+ "value": 0.5,
64
+ "$type": "number"
65
+ },
66
+ "opacity-hover": {
67
+ "value": 0.8,
68
+ "$type": "number"
69
+ },
70
+ "opacity-pressed": {
71
+ "value": 0.6,
72
+ "$type": "number"
73
+ },
74
+ "bg-base": {
75
+ "value": "#1e1e2e",
76
+ "$type": "color"
77
+ },
78
+ "bg-surface": {
79
+ "value": "#181825",
80
+ "$type": "color"
81
+ },
82
+ "bg-overlay": {
83
+ "value": "#11111b",
84
+ "$type": "color"
85
+ },
86
+ "text-primary": {
87
+ "value": "#cdd6f4",
88
+ "$type": "color"
89
+ },
90
+ "text-secondary": {
91
+ "value": "#a6adc8",
92
+ "$type": "color"
93
+ },
94
+ "text-inverse": {
95
+ "value": "#1e1e2e",
96
+ "$type": "color"
97
+ },
98
+ "brand-primary": {
99
+ "value": "#89b4fa",
100
+ "$type": "color"
101
+ },
102
+ "state-info": {
103
+ "value": "#89dceb",
104
+ "$type": "color"
105
+ },
106
+ "state-success": {
107
+ "value": "#a6e3a1",
108
+ "$type": "color"
109
+ },
110
+ "state-warning": {
111
+ "value": "#f9e2af",
112
+ "$type": "color"
113
+ },
114
+ "state-danger": {
115
+ "value": "#f38ba8",
116
+ "$type": "color"
117
+ },
118
+ "border-default": {
119
+ "value": "#6c7086",
120
+ "$type": "color"
121
+ },
122
+ "accent-link": {
123
+ "value": "#89b4fa",
124
+ "$type": "color"
125
+ },
126
+ "font-sans": {
127
+ "value": "Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \"Apple Color Emoji\", \"Segoe UI Emoji\"",
128
+ "$type": "fontFamily"
129
+ },
130
+ "font-mono": {
131
+ "value": "JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace",
132
+ "$type": "fontFamily"
133
+ },
134
+ "heading-h1": {
135
+ "value": "#a6e3a1",
136
+ "$type": "color"
137
+ },
138
+ "heading-h2": {
139
+ "value": "#89b4fa",
140
+ "$type": "color"
141
+ },
142
+ "heading-h3": {
143
+ "value": "#74c7ec",
144
+ "$type": "color"
145
+ },
146
+ "heading-h4": {
147
+ "value": "#f9e2af",
148
+ "$type": "color"
149
+ },
150
+ "heading-h5": {
151
+ "value": "#cba6f7",
152
+ "$type": "color"
153
+ },
154
+ "heading-h6": {
155
+ "value": "#f38ba8",
156
+ "$type": "color"
157
+ },
158
+ "body-primary": {
159
+ "value": "#cdd6f4",
160
+ "$type": "color"
161
+ },
162
+ "body-secondary": {
163
+ "value": "#a6adc8",
164
+ "$type": "color"
165
+ },
166
+ "link-default": {
167
+ "value": "#89b4fa",
168
+ "$type": "color"
169
+ },
170
+ "selection-fg": {
171
+ "value": "#cdd6f4",
172
+ "$type": "color"
173
+ },
174
+ "selection-bg": {
175
+ "value": "#7f849c",
176
+ "$type": "color"
177
+ },
178
+ "blockquote-border": {
179
+ "value": "#7f849c",
180
+ "$type": "color"
181
+ },
182
+ "blockquote-fg": {
183
+ "value": "#cdd6f4",
184
+ "$type": "color"
185
+ },
186
+ "blockquote-bg": {
187
+ "value": "#181825",
188
+ "$type": "color"
189
+ },
190
+ "code-inline-fg": {
191
+ "value": "#cdd6f4",
192
+ "$type": "color"
193
+ },
194
+ "code-inline-bg": {
195
+ "value": "#313244",
196
+ "$type": "color"
197
+ },
198
+ "code-block-fg": {
199
+ "value": "#cdd6f4",
200
+ "$type": "color"
201
+ },
202
+ "code-block-bg": {
203
+ "value": "#313244",
204
+ "$type": "color"
205
+ },
206
+ "table-border": {
207
+ "value": "#7f849c",
208
+ "$type": "color"
209
+ },
210
+ "table-stripe": {
211
+ "value": "#313244",
212
+ "$type": "color"
213
+ },
214
+ "table-thead-bg": {
215
+ "value": "#45475a",
216
+ "$type": "color"
217
+ }
218
+ }
package/package.json ADDED
@@ -0,0 +1,180 @@
1
+ {
2
+ "name": "@lgtm-hq/turbo-themes",
3
+ "version": "0.12.16",
4
+ "description": "Universal theme packs and an accessible theme selector.",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "private": false,
8
+ "workspaces": [
9
+ "packages/*",
10
+ "packages/adapters/*",
11
+ "examples/react",
12
+ "examples/vue",
13
+ "examples/bootstrap"
14
+ ],
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/lgtm-hq/turbo-themes.git"
18
+ },
19
+ "bugs": {
20
+ "url": "https://github.com/lgtm-hq/turbo-themes/issues"
21
+ },
22
+ "homepage": "https://lgtm-hq.github.io/turbo-themes/",
23
+ "author": "Turbo Coder",
24
+ "keywords": [
25
+ "bulma",
26
+ "theme",
27
+ "css",
28
+ "design-system",
29
+ "accessibility",
30
+ "design-tokens"
31
+ ],
32
+ "sideEffects": false,
33
+ "exports": {
34
+ ".": {
35
+ "types": "./dist/index.d.ts",
36
+ "import": "./dist/index.js"
37
+ },
38
+ "./tokens": {
39
+ "types": "./dist/tokens/index.d.ts",
40
+ "import": "./dist/tokens/index.js"
41
+ },
42
+ "./tokens.json": "./dist/tokens.json",
43
+ "./css": "./packages/css/dist/turbo.css",
44
+ "./css/core": "./packages/css/dist/turbo-core.css",
45
+ "./css/base": "./packages/css/dist/turbo-base.css",
46
+ "./css/syntax": "./packages/css/dist/turbo-syntax.css",
47
+ "./css/components": "./packages/css/dist/turbo-components.css",
48
+ "./css/components/*": "./packages/css/dist/components/*",
49
+ "./css/themes/*": "./packages/css/dist/themes/*",
50
+ "./selector": {
51
+ "types": "./packages/theme-selector/dist/index.d.ts",
52
+ "import": "./packages/theme-selector/dist/index.js"
53
+ },
54
+ "./adapters/tailwind/preset": "./dist/adapters/tailwind/preset.js",
55
+ "./adapters/bootstrap/_variables.scss": "./dist/adapters/bootstrap/_variables.scss",
56
+ "./adapters/bootstrap/_utilities.scss": "./dist/adapters/bootstrap/_utilities.scss",
57
+ "./adapters/bulma": {
58
+ "types": "./packages/adapters/bulma/dist/index.d.ts",
59
+ "import": "./packages/adapters/bulma/dist/index.js"
60
+ },
61
+ "./adapters/bulma.css": "./packages/adapters/bulma/dist/bulma-adapter.css"
62
+ },
63
+ "types": "./dist/index.d.ts",
64
+ "files": [
65
+ "dist/**",
66
+ "packages/css/dist/**",
67
+ "packages/css/dist/components/**",
68
+ "packages/theme-selector/dist/**",
69
+ "packages/adapters/*/dist/**",
70
+ "assets/css/themes/*.css",
71
+ "assets/css/turbo-core.css",
72
+ "assets/css/adapters/*.css"
73
+ ],
74
+ "scripts": {
75
+ "build": "bun run build:tokens && bun run build:packages && bun run build:root && node scripts/copy-adapters.mjs && bun run generate:css",
76
+ "build:tokens": "node scripts/codegen/validate-schema.mjs && node scripts/prepare-style-dictionary.mjs && node scripts/build-style-dictionary.mjs && bun run build:tokens:copy",
77
+ "build:tokens:copy": "cp dist/tokens/style-dictionary/tokens.json packages/core/src/themes/tokens.json && cp dist/tokens/style-dictionary/tokens.json python/src/turbo_themes/tokens.json && cp dist/tokens/style-dictionary/tokens.json swift/Sources/TurboThemes/Resources/tokens.json",
78
+ "build:sd": "node scripts/prepare-style-dictionary.mjs && node scripts/build-style-dictionary.mjs",
79
+ "build:packages": "bun run build:core && bun run build:selector && bun run build:css-pkg && bun run build:adapters",
80
+ "build:core": "cd packages/core && bun run build",
81
+ "build:selector": "cd packages/theme-selector && bun run build",
82
+ "build:css-pkg": "cd packages/css && bun run build",
83
+ "build:adapters": "cd packages/adapters/tailwind && bun run build && cd ../bulma && bun run build",
84
+ "build:root": "tsc -p tsconfig.json",
85
+ "generate:all": "bun run build:tokens && bun run generate:types",
86
+ "generate:css": "cd packages/css && bun run build:css",
87
+ "generate:types": "node scripts/codegen/generate-types.mjs --all",
88
+ "generate:types:ts": "node scripts/codegen/generate-ts-types.mjs",
89
+ "generate:types:python": "node scripts/codegen/generate-python-types.mjs",
90
+ "generate:types:swift": "node scripts/codegen/generate-swift-types.mjs",
91
+ "generate:python": "bun run build:tokens && bun run generate:types:python",
92
+ "generate:swift": "bun run build:tokens && bun run generate:types:swift",
93
+ "build:css": "vite build --config vite.css.config.js --mode css",
94
+ "build:themes": "bun run generate:css",
95
+ "build:js": "bun run build:packages && bun run build:js:dev && bun run build:js:prod",
96
+ "build:js:dev": "vite build --config vite.js.config.js --mode development",
97
+ "build:js:prod": "vite build --config vite.js.config.js --mode production",
98
+ "build:dev": "./scripts/local/build.sh --dev",
99
+ "build:prod": "./scripts/local/build.sh --prod",
100
+ "build:tokens:swift": "bun run build:tokens",
101
+ "build:tokens:all": "bun run build:tokens",
102
+ "build:platforms": "node scripts/build-all-platforms.mjs",
103
+ "serve": "bun run build && bun run build:js && bun run build:themes && cd apps/site && bun install && bun run dev",
104
+ "build:ci:site": "cd apps/site && bun install && bun run build",
105
+ "build:gem": "./scripts/build-gem.sh",
106
+ "build:all": "bun run build && bun run build:gem",
107
+ "test": "bun run test:packages && vitest run --coverage",
108
+ "test:packages": "concurrently -n core,selector,css -c blue,green,yellow \"cd packages/core && bun run test\" \"cd packages/theme-selector && bun run test\" \"cd packages/css && bun run test\"",
109
+ "test:packages:seq": "cd packages/core && bun run test && cd ../theme-selector && bun run test && cd ../css && bun run test",
110
+ "lint": "uv run lintro check",
111
+ "lint:fix": "uv run lintro fmt",
112
+ "stylelint": "stylelint '**/*.css' --ignore-path .stylelintignore",
113
+ "coverage:badges": "node scripts/ci/coverage-badges.mjs",
114
+ "css:budget": "node scripts/ci/css-budget.mjs",
115
+ "theme:sync": "node scripts/sync-catppuccin.mjs",
116
+ "examples:prep": "node scripts/prepare-examples.mjs",
117
+ "examples:build": "node scripts/build-examples.mjs",
118
+ "examples:test": "node scripts/test-examples.mjs",
119
+ "e2e:prep": "bun run build && bun run build:js && bun run build:themes && bun run examples:build && bun run build:ci:site && bun run examples:prep",
120
+ "e2e:start": "node scripts/e2e-serve.mjs",
121
+ "e2e": "playwright test",
122
+ "e2e:ci": "playwright test",
123
+ "e2e:install": "playwright install chromium",
124
+ "e2e:install:all": "playwright install",
125
+ "e2e:smoke": "playwright test --grep @smoke",
126
+ "e2e:visual": "playwright test --grep @visual",
127
+ "e2e:a11y": "playwright test --grep @a11y",
128
+ "e2e:ui": "playwright test --ui",
129
+ "e2e:debug": "playwright test --debug",
130
+ "ci": "./scripts/local/build.sh",
131
+ "ci:quick": "./scripts/local/build.sh --quick",
132
+ "ci:full": "./scripts/local/build.sh --full",
133
+ "ci:docker": "bash ./scripts/local/ci-docker.sh",
134
+ "ci:docker:full": "bash ./scripts/local/ci-docker.sh --full",
135
+ "test:workflows": "./scripts/local/test-workflows-act.sh",
136
+ "test:workflows:quick": "./scripts/local/test-workflows-act.sh --quick",
137
+ "test:workflows:single": "./scripts/local/test-workflows-act.sh --single",
138
+ "prepare": "husky || true",
139
+ "prepublishOnly": "bun run build && bun run build:themes && bun run test",
140
+ "build:tokens:css": "bun run build:tokens",
141
+ "build:tokens:python": "bun run build:tokens"
142
+ },
143
+ "lint-staged": {
144
+ "*.{js,jsx,ts,tsx,mjs,cjs,json,md,yml,yaml,css,html}": [
145
+ "uv run lintro fmt"
146
+ ]
147
+ },
148
+ "peerDependencies": {},
149
+ "devDependencies": {
150
+ "@axe-core/playwright": "4.11.0",
151
+ "@catppuccin/palette": "1.7.1",
152
+ "@fullhuman/postcss-purgecss": "7.0.2",
153
+ "@lhci/cli": "0.15.1",
154
+ "@playwright/test": "1.57.0",
155
+ "@primer/primitives": "11.3.2",
156
+ "@testing-library/react": "16.3.2",
157
+ "@types/react": "19.2.9",
158
+ "@types/react-dom": "19.2.3",
159
+ "@vitest/coverage-v8": "4.0.18",
160
+ "ajv": "8.17.1",
161
+ "ajv-formats": "3.0.1",
162
+ "bulma": "1.0.4",
163
+ "concurrently": "9.2.1",
164
+ "cssnano": "7.1.2",
165
+ "happy-dom": "20.3.9",
166
+ "http-server": "14.1.1",
167
+ "husky": "9.1.7",
168
+ "lightningcss": "1.31.1",
169
+ "lint-staged": "16.2.7",
170
+ "react": "19.2.3",
171
+ "react-dom": "19.2.3",
172
+ "sass": "1.97.3",
173
+ "style-dictionary": "5.2.0",
174
+ "stylelint": "16.26.1",
175
+ "stylelint-config-standard": "39.0.1",
176
+ "typescript": "5.9.3",
177
+ "vite": "7.3.1",
178
+ "vitest": "4.0.18"
179
+ }
180
+ }
@@ -0,0 +1,153 @@
1
+ /* Turbo Themes - Bulma Adapter */
2
+ /* Maps Turbo CSS variables to Bulma's expected custom properties */
3
+
4
+ :root {
5
+ /* Color Scheme */
6
+ --bulma-scheme-main: var(--turbo-bg-base);
7
+ --bulma-scheme-main-bis: var(--turbo-bg-surface);
8
+ --bulma-scheme-main-ter: var(--turbo-bg-overlay);
9
+
10
+ /* Body & Background */
11
+ --bulma-body-background-color: var(--turbo-bg-base);
12
+ --bulma-background: var(--turbo-bg-surface);
13
+
14
+ /* Text Colors */
15
+ --bulma-text: var(--turbo-text-primary);
16
+ --bulma-text-strong: var(--turbo-text-primary);
17
+ --bulma-text-light: var(--turbo-text-secondary);
18
+ --bulma-text-weak: var(--turbo-text-secondary);
19
+
20
+ /* Brand Color - Primary */
21
+ --bulma-primary: var(--turbo-brand-primary);
22
+
23
+ /* State Colors */
24
+ --bulma-info: var(--turbo-state-info);
25
+ --bulma-success: var(--turbo-state-success);
26
+ --bulma-warning: var(--turbo-state-warning);
27
+ --bulma-danger: var(--turbo-state-danger);
28
+
29
+ /* Link Color */
30
+ --bulma-link: var(--turbo-accent-link);
31
+ --bulma-link-text: var(--turbo-accent-link);
32
+
33
+ /* Border */
34
+ --bulma-border: var(--turbo-border-default);
35
+ --bulma-border-weak: var(--turbo-border-default);
36
+
37
+ /* Typography */
38
+ --bulma-family-primary: var(--turbo-font-sans);
39
+ --bulma-family-code: var(--turbo-font-mono);
40
+
41
+ /* Code */
42
+ --bulma-code: var(--turbo-code-inline-fg);
43
+ --bulma-code-background: var(--turbo-code-inline-bg);
44
+ --bulma-pre: var(--turbo-code-block-fg);
45
+ --bulma-pre-background: var(--turbo-code-block-bg);
46
+
47
+ /* Table */
48
+ --bulma-table-color: var(--turbo-text-primary);
49
+ --bulma-table-background-color: var(--turbo-bg-base);
50
+ --bulma-table-cell-border-color: var(--turbo-table-border);
51
+ --bulma-table-head-background-color: var(--turbo-table-thead-bg);
52
+ --bulma-table-striped-row-even-background-color: var(--turbo-table-stripe);
53
+
54
+ /* Box & Card */
55
+ --bulma-box-background-color: var(--turbo-bg-surface);
56
+
57
+ /* Dropdown */
58
+ --bulma-dropdown-content-background-color: var(--turbo-bg-surface);
59
+ --bulma-dropdown-item-color: var(--turbo-text-primary);
60
+ --bulma-dropdown-item-hover-color: var(--turbo-text-primary);
61
+ --bulma-dropdown-item-hover-background-color: var(--turbo-bg-overlay);
62
+ --bulma-dropdown-item-active-color: var(--turbo-text-inverse);
63
+ --bulma-dropdown-item-active-background-color: var(--turbo-brand-primary);
64
+
65
+ /* Modal */
66
+ --bulma-modal-background-background-color: hsla(0, 0%, 0%, 0.7);
67
+ --bulma-modal-card-head-background-color: var(--turbo-bg-surface);
68
+ --bulma-modal-card-body-background-color: var(--turbo-bg-base);
69
+ --bulma-modal-card-foot-background-color: var(--turbo-bg-surface);
70
+
71
+ /* Navbar */
72
+ --bulma-navbar-background-color: var(--turbo-bg-surface);
73
+ --bulma-navbar-item-color: var(--turbo-text-primary);
74
+ --bulma-navbar-item-hover-color: var(--turbo-text-primary);
75
+ --bulma-navbar-item-hover-background-color: var(--turbo-bg-overlay);
76
+ --bulma-navbar-dropdown-background-color: var(--turbo-bg-surface);
77
+ --bulma-navbar-dropdown-item-hover-color: var(--turbo-text-primary);
78
+ --bulma-navbar-dropdown-item-hover-background-color: var(--turbo-bg-overlay);
79
+
80
+ /* Menu (side navigation) */
81
+ --bulma-menu-item-color: var(--turbo-text-primary);
82
+ --bulma-menu-item-hover-color: var(--turbo-text-primary);
83
+ --bulma-menu-item-hover-background-color: var(--turbo-bg-overlay);
84
+ --bulma-menu-item-active-color: var(--turbo-text-inverse);
85
+ --bulma-menu-item-active-background-color: var(--turbo-brand-primary);
86
+
87
+ /* Panel */
88
+ --bulma-panel-heading-background-color: var(--turbo-bg-overlay);
89
+ --bulma-panel-heading-color: var(--turbo-text-primary);
90
+ --bulma-panel-block-color: var(--turbo-text-primary);
91
+ --bulma-panel-block-hover-background-color: var(--turbo-bg-surface);
92
+ --bulma-panel-block-active-color: var(--turbo-text-inverse);
93
+ --bulma-panel-block-active-background-color: var(--turbo-brand-primary);
94
+
95
+ /* Tabs */
96
+ --bulma-tabs-link-color: var(--turbo-text-primary);
97
+ --bulma-tabs-link-hover-color: var(--turbo-text-primary);
98
+ --bulma-tabs-link-hover-border-bottom-color: var(--turbo-text-primary);
99
+ --bulma-tabs-link-active-color: var(--turbo-brand-primary);
100
+ --bulma-tabs-link-active-border-bottom-color: var(--turbo-brand-primary);
101
+
102
+ /* Input & Form */
103
+ --bulma-input-color: var(--turbo-text-primary);
104
+ --bulma-input-background-color: var(--turbo-bg-base);
105
+ --bulma-input-border-color: var(--turbo-border-default);
106
+ --bulma-input-placeholder-color: var(--turbo-text-secondary);
107
+ --bulma-input-hover-border-color: var(--turbo-text-secondary);
108
+ --bulma-input-focus-border-color: var(--turbo-brand-primary);
109
+
110
+ /* Button */
111
+ --bulma-button-color: var(--turbo-text-primary);
112
+ --bulma-button-background-color: var(--turbo-bg-surface);
113
+ --bulma-button-border-color: var(--turbo-border-default);
114
+ --bulma-button-hover-color: var(--turbo-text-primary);
115
+ --bulma-button-hover-border-color: var(--turbo-text-secondary);
116
+
117
+ /* Message */
118
+ --bulma-message-background-color: var(--turbo-bg-surface);
119
+ --bulma-message-header-background-color: var(--turbo-bg-overlay);
120
+ --bulma-message-body-color: var(--turbo-text-primary);
121
+
122
+ /* Notification */
123
+ --bulma-notification-background-color: var(--turbo-bg-surface);
124
+ --bulma-notification-color: var(--turbo-text-primary);
125
+
126
+ /* Progress */
127
+ --bulma-progress-bar-background-color: var(--turbo-border-default);
128
+
129
+ /* Breadcrumb */
130
+ --bulma-breadcrumb-item-color: var(--turbo-accent-link);
131
+ --bulma-breadcrumb-item-hover-color: var(--turbo-text-primary);
132
+ --bulma-breadcrumb-item-active-color: var(--turbo-text-primary);
133
+ --bulma-breadcrumb-item-separator-color: var(--turbo-text-secondary);
134
+
135
+ /* Pagination */
136
+ --bulma-pagination-color: var(--turbo-text-primary);
137
+ --bulma-pagination-border-color: var(--turbo-border-default);
138
+ --bulma-pagination-hover-color: var(--turbo-text-primary);
139
+ --bulma-pagination-hover-border-color: var(--turbo-text-secondary);
140
+ --bulma-pagination-current-color: var(--turbo-text-inverse);
141
+ --bulma-pagination-current-background-color: var(--turbo-brand-primary);
142
+ --bulma-pagination-current-border-color: var(--turbo-brand-primary);
143
+
144
+ /* Footer */
145
+ --bulma-footer-background-color: var(--turbo-bg-surface);
146
+ --bulma-footer-color: var(--turbo-text-primary);
147
+
148
+ /* Card */
149
+ --bulma-card-background-color: var(--turbo-bg-surface);
150
+ --bulma-card-header-background-color: transparent;
151
+ --bulma-card-footer-background-color: transparent;
152
+ --bulma-card-footer-border-top: 1px solid var(--turbo-border-default);
153
+ }
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Bulma CSS adapter for Turbo Themes.
3
+ *
4
+ * Provides utilities to integrate Turbo theme tokens with Bulma CSS framework.
5
+ * This adapter maps Turbo CSS custom properties to Bulma's expected variables.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import type { BulmaConfig } from '@lgtm-hq/turbo-themes-core/themes/types';
10
+ /**
11
+ * Convert hex color to HSL values
12
+ */
13
+ export declare function hexToHsl(hex: string): {
14
+ h: number;
15
+ s: number;
16
+ l: number;
17
+ };
18
+ /**
19
+ * Theme colors interface for Bulma configuration
20
+ */
21
+ export interface ThemeColors {
22
+ primary: string;
23
+ link: string;
24
+ info: string;
25
+ success: string;
26
+ warning: string;
27
+ danger: string;
28
+ }
29
+ /**
30
+ * Generate Bulma Sass configuration from theme config
31
+ */
32
+ export declare function generateBulmaConfig(config: BulmaConfig): string;
33
+ /**
34
+ * Generate full Bulma @use statement with configuration
35
+ * @param colors - Theme colors in hex format
36
+ * @param config - Optional Bulma configuration (breakpoints, spacing, etc.)
37
+ */
38
+ export declare function generateBulmaUse(colors: ThemeColors, config?: BulmaConfig): string;
39
+ /**
40
+ * CSS adapter content that maps Turbo theme variables to Bulma CSS custom properties.
41
+ *
42
+ * This CSS should be loaded AFTER turbo-core.css and BEFORE bulma.css.
43
+ * It bridges the gap between Turbo's variable naming and Bulma's expectations.
44
+ *
45
+ * @example
46
+ * ```html
47
+ * <link rel="stylesheet" href="turbo-core.css" />
48
+ * <link rel="stylesheet" href="turbo-theme.css" />
49
+ * <link rel="stylesheet" href="bulma-adapter.css" />
50
+ * <link rel="stylesheet" href="bulma.css" />
51
+ * ```
52
+ */
53
+ export declare const BULMA_ADAPTER_CSS = "/* Turbo Themes - Bulma Adapter */\n/* Maps Turbo CSS variables to Bulma's expected custom properties */\n\n:root {\n /* Color Scheme */\n --bulma-scheme-main: var(--turbo-bg-base);\n --bulma-scheme-main-bis: var(--turbo-bg-surface);\n --bulma-scheme-main-ter: var(--turbo-bg-overlay);\n\n /* Body & Background */\n --bulma-body-background-color: var(--turbo-bg-base);\n --bulma-background: var(--turbo-bg-surface);\n\n /* Text Colors */\n --bulma-text: var(--turbo-text-primary);\n --bulma-text-strong: var(--turbo-text-primary);\n --bulma-text-light: var(--turbo-text-secondary);\n --bulma-text-weak: var(--turbo-text-secondary);\n\n /* Brand Color - Primary */\n --bulma-primary: var(--turbo-brand-primary);\n\n /* State Colors */\n --bulma-info: var(--turbo-state-info);\n --bulma-success: var(--turbo-state-success);\n --bulma-warning: var(--turbo-state-warning);\n --bulma-danger: var(--turbo-state-danger);\n\n /* Link Color */\n --bulma-link: var(--turbo-accent-link);\n --bulma-link-text: var(--turbo-accent-link);\n\n /* Border */\n --bulma-border: var(--turbo-border-default);\n --bulma-border-weak: var(--turbo-border-default);\n\n /* Typography */\n --bulma-family-primary: var(--turbo-font-sans);\n --bulma-family-code: var(--turbo-font-mono);\n\n /* Code */\n --bulma-code: var(--turbo-code-inline-fg);\n --bulma-code-background: var(--turbo-code-inline-bg);\n --bulma-pre: var(--turbo-code-block-fg);\n --bulma-pre-background: var(--turbo-code-block-bg);\n\n /* Table */\n --bulma-table-color: var(--turbo-text-primary);\n --bulma-table-background-color: var(--turbo-bg-base);\n --bulma-table-cell-border-color: var(--turbo-table-border);\n --bulma-table-head-background-color: var(--turbo-table-thead-bg);\n --bulma-table-striped-row-even-background-color: var(--turbo-table-stripe);\n\n /* Box & Card */\n --bulma-box-background-color: var(--turbo-bg-surface);\n\n /* Dropdown */\n --bulma-dropdown-content-background-color: var(--turbo-bg-surface);\n --bulma-dropdown-item-color: var(--turbo-text-primary);\n --bulma-dropdown-item-hover-color: var(--turbo-text-primary);\n --bulma-dropdown-item-hover-background-color: var(--turbo-bg-overlay);\n --bulma-dropdown-item-active-color: var(--turbo-text-inverse);\n --bulma-dropdown-item-active-background-color: var(--turbo-brand-primary);\n\n /* Modal */\n --bulma-modal-background-background-color: hsla(0, 0%, 0%, 0.7);\n --bulma-modal-card-head-background-color: var(--turbo-bg-surface);\n --bulma-modal-card-body-background-color: var(--turbo-bg-base);\n --bulma-modal-card-foot-background-color: var(--turbo-bg-surface);\n\n /* Navbar */\n --bulma-navbar-background-color: var(--turbo-bg-surface);\n --bulma-navbar-item-color: var(--turbo-text-primary);\n --bulma-navbar-item-hover-color: var(--turbo-text-primary);\n --bulma-navbar-item-hover-background-color: var(--turbo-bg-overlay);\n --bulma-navbar-dropdown-background-color: var(--turbo-bg-surface);\n --bulma-navbar-dropdown-item-hover-color: var(--turbo-text-primary);\n --bulma-navbar-dropdown-item-hover-background-color: var(--turbo-bg-overlay);\n\n /* Menu (side navigation) */\n --bulma-menu-item-color: var(--turbo-text-primary);\n --bulma-menu-item-hover-color: var(--turbo-text-primary);\n --bulma-menu-item-hover-background-color: var(--turbo-bg-overlay);\n --bulma-menu-item-active-color: var(--turbo-text-inverse);\n --bulma-menu-item-active-background-color: var(--turbo-brand-primary);\n\n /* Panel */\n --bulma-panel-heading-background-color: var(--turbo-bg-overlay);\n --bulma-panel-heading-color: var(--turbo-text-primary);\n --bulma-panel-block-color: var(--turbo-text-primary);\n --bulma-panel-block-hover-background-color: var(--turbo-bg-surface);\n --bulma-panel-block-active-color: var(--turbo-text-inverse);\n --bulma-panel-block-active-background-color: var(--turbo-brand-primary);\n\n /* Tabs */\n --bulma-tabs-link-color: var(--turbo-text-primary);\n --bulma-tabs-link-hover-color: var(--turbo-text-primary);\n --bulma-tabs-link-hover-border-bottom-color: var(--turbo-text-primary);\n --bulma-tabs-link-active-color: var(--turbo-brand-primary);\n --bulma-tabs-link-active-border-bottom-color: var(--turbo-brand-primary);\n\n /* Input & Form */\n --bulma-input-color: var(--turbo-text-primary);\n --bulma-input-background-color: var(--turbo-bg-base);\n --bulma-input-border-color: var(--turbo-border-default);\n --bulma-input-placeholder-color: var(--turbo-text-secondary);\n --bulma-input-hover-border-color: var(--turbo-text-secondary);\n --bulma-input-focus-border-color: var(--turbo-brand-primary);\n\n /* Button */\n --bulma-button-color: var(--turbo-text-primary);\n --bulma-button-background-color: var(--turbo-bg-surface);\n --bulma-button-border-color: var(--turbo-border-default);\n --bulma-button-hover-color: var(--turbo-text-primary);\n --bulma-button-hover-border-color: var(--turbo-text-secondary);\n\n /* Message */\n --bulma-message-background-color: var(--turbo-bg-surface);\n --bulma-message-header-background-color: var(--turbo-bg-overlay);\n --bulma-message-body-color: var(--turbo-text-primary);\n\n /* Notification */\n --bulma-notification-background-color: var(--turbo-bg-surface);\n --bulma-notification-color: var(--turbo-text-primary);\n\n /* Progress */\n --bulma-progress-bar-background-color: var(--turbo-border-default);\n\n /* Breadcrumb */\n --bulma-breadcrumb-item-color: var(--turbo-accent-link);\n --bulma-breadcrumb-item-hover-color: var(--turbo-text-primary);\n --bulma-breadcrumb-item-active-color: var(--turbo-text-primary);\n --bulma-breadcrumb-item-separator-color: var(--turbo-text-secondary);\n\n /* Pagination */\n --bulma-pagination-color: var(--turbo-text-primary);\n --bulma-pagination-border-color: var(--turbo-border-default);\n --bulma-pagination-hover-color: var(--turbo-text-primary);\n --bulma-pagination-hover-border-color: var(--turbo-text-secondary);\n --bulma-pagination-current-color: var(--turbo-text-inverse);\n --bulma-pagination-current-background-color: var(--turbo-brand-primary);\n --bulma-pagination-current-border-color: var(--turbo-brand-primary);\n\n /* Footer */\n --bulma-footer-background-color: var(--turbo-bg-surface);\n --bulma-footer-color: var(--turbo-text-primary);\n\n /* Card */\n --bulma-card-background-color: var(--turbo-bg-surface);\n --bulma-card-header-background-color: transparent;\n --bulma-card-footer-background-color: transparent;\n --bulma-card-footer-border-top: 1px solid var(--turbo-border-default);\n}\n";
54
+ /**
55
+ * Generates the Bulma adapter CSS content.
56
+ *
57
+ * @returns CSS string that maps Turbo variables to Bulma variables
58
+ */
59
+ export declare function generateBulmaAdapterCss(): string;
60
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAE3E;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAuCzE;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CA4D/D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAqClF;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iBAAiB,u7MAyJ7B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD"}