@kupola/kupola 1.2.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +330 -286
  3. package/adapters/axios.d.ts +34 -0
  4. package/adapters/axios.js +122 -0
  5. package/adapters/navios-http.d.ts +110 -0
  6. package/adapters/navios-http.js +151 -0
  7. package/dist/css/accessibility.css +119 -0
  8. package/dist/css/animations.css +224 -0
  9. package/dist/css/brand-themes.css +300 -0
  10. package/dist/css/colors_and_type.css +441 -0
  11. package/dist/css/components-ext.css +4165 -0
  12. package/dist/css/components.css +1483 -0
  13. package/dist/css/responsive.css +697 -0
  14. package/dist/css/scaffold.css +145 -0
  15. package/dist/css/states.css +316 -0
  16. package/dist/css/theme-dark.css +296 -0
  17. package/dist/css/theme-light.css +296 -0
  18. package/dist/css/utilities.css +171 -0
  19. package/dist/kupola.cjs.js +219 -161
  20. package/dist/kupola.cjs.js.map +1 -1
  21. package/dist/kupola.esm.js +6643 -5709
  22. package/dist/kupola.esm.js.map +1 -1
  23. package/dist/kupola.umd.js +219 -161
  24. package/dist/kupola.umd.js.map +1 -1
  25. package/dist/plugins/vite-plugin-kupola.js +120 -0
  26. package/dist/types/kupola.d.ts +421 -323
  27. package/js/calendar.js +334 -25
  28. package/js/carousel.js +182 -48
  29. package/js/collapse.js +148 -34
  30. package/js/color-picker.js +416 -108
  31. package/js/component.js +8 -19
  32. package/js/countdown.js +9 -8
  33. package/js/data-bind.js +73 -16
  34. package/js/datepicker.js +488 -110
  35. package/js/depends.js +710 -0
  36. package/js/dialog.js +4 -2
  37. package/js/drawer.js +172 -8
  38. package/js/dropdown.js +272 -17
  39. package/js/dynamic-tags.js +156 -40
  40. package/js/fileupload.js +9 -8
  41. package/js/form.js +280 -254
  42. package/js/global-events.js +281 -188
  43. package/js/heatmap.js +10 -7
  44. package/js/i18n.js +18 -10
  45. package/js/icons.js +141 -161
  46. package/js/image-preview.js +146 -2
  47. package/js/initializer.js +113 -71
  48. package/js/kupola-core.js +123 -45
  49. package/js/kupola-lifecycle.js +13 -11
  50. package/js/message.js +8 -1
  51. package/js/modal.js +207 -59
  52. package/js/notification.js +8 -1
  53. package/js/numberinput.js +9 -8
  54. package/js/pagination.js +263 -0
  55. package/js/registry.js +29 -12
  56. package/js/select.js +482 -27
  57. package/js/slide-captcha.js +11 -2
  58. package/js/slider.js +442 -25
  59. package/js/statcard.js +9 -7
  60. package/js/table.js +1210 -0
  61. package/js/tag.js +268 -14
  62. package/js/theme.js +14 -43
  63. package/js/timepicker.js +335 -66
  64. package/js/tooltip.js +317 -86
  65. package/js/utils.js +6 -2
  66. package/js/validation.js +6 -2
  67. package/js/virtual-list.js +11 -7
  68. package/js/web-components.js +288 -0
  69. package/package.json +77 -67
  70. package/plugins/vite-plugin-kupola.js +120 -0
  71. package/types/kupola.d.ts +421 -323
  72. package/CHANGELOG.md +0 -130
  73. package/INTEGRATION.md +0 -440
  74. package/PROJECT_SUMMARY.md +0 -312
  75. package/SKILL.md +0 -572
  76. package/dist/utils/utils/Kupola.cs +0 -77
  77. package/dist/utils/utils/Kupola.java +0 -104
  78. package/dist/utils/utils/kupola.go +0 -120
  79. package/dist/utils/utils/kupola.js +0 -63
  80. package/dist/utils/utils/kupola.py +0 -1392
  81. package/dist/utils/utils/kupola.rb +0 -69
  82. package/js/composition-api.js +0 -458
  83. package/js/error-handler.js +0 -181
  84. package/js/http.js +0 -419
  85. package/js/kupola-devtools.js +0 -598
  86. package/js/performance.js +0 -250
  87. package/js/router.js +0 -396
  88. package/js/security.js +0 -189
  89. package/js/test-utils.js +0 -251
  90. package/templates/base.html +0 -30
  91. package/templates/base_dashboard.html +0 -99
  92. package/utils/Kupola.cs +0 -77
  93. package/utils/Kupola.java +0 -104
  94. package/utils/kupola.go +0 -120
  95. package/utils/kupola.js +0 -63
  96. package/utils/kupola.py +0 -1392
  97. package/utils/kupola.rb +0 -69
@@ -0,0 +1,441 @@
1
+ /**
2
+ * Trae design library tokens
3
+ * Dark-only colors and typography tokens.
4
+ * Source references:
5
+ * - /workspace/.uploads/c7804cd9-3301-4b42-8895-bb409861b29a_trae.md
6
+ * - /workspace/.uploads/3164f329-b5a1-42ba-9dcb-5f1b36b48506_trae.css
7
+ *
8
+ * Notes:
9
+ * - Token values are preserved from the source files.
10
+ * - Grouping is preserved.
11
+ * - No alias layer is included.
12
+ * - Invalid source token names that contained spaces were normalized to kebab-case.
13
+ * The original source names are kept in comments.
14
+ */
15
+
16
+ /* @dark-only */
17
+ /* @group-priority: brand-green, status, brand-blue, brand-purple, brand-yellow */
18
+
19
+ :root {
20
+ /* radius */
21
+ --radius-2: 2px;
22
+ --radius-4: 4px;
23
+ --radius-6: 6px;
24
+ --radius-8: 8px;
25
+ --radius-10: 10px;
26
+ --radius-full: 9999px;
27
+
28
+ /* spacers */
29
+ --spacer-0: 0px;
30
+ --spacer-4: 4px;
31
+ --spacer-6: 6px;
32
+ --spacer-8: 8px;
33
+ --spacer-12: 12px;
34
+ --spacer-16: 16px;
35
+ --spacer-24: 24px;
36
+ --spacer-32: 32px;
37
+ --spacer-40: 40px;
38
+
39
+ /* font */
40
+ --font-family-default: SF Pro Text;
41
+ --font-family-heading: SF Pro;
42
+ --font-family-mono: JetBrains Mono;
43
+ --font-weight-default: 400;
44
+ --font-weight-code: 450;
45
+ --font-weight-medium: 500;
46
+ --font-weight-strong: 600;
47
+ --font-family-base: var(--font-family-default);
48
+ --font-family-heading-alias: var(--font-family-heading);
49
+ --font-family-mono-alias: var(--font-family-mono);
50
+
51
+ /* body */
52
+ --body-xs-font-family: "SF Pro Text", system-ui, -apple-system, sans-serif;
53
+ --body-xs-font-size: 10px;
54
+ --body-xs-font-weight: 400;
55
+ --body-xs-line-height: 14px;
56
+ --body-sm-font-family: "SF Pro Text", system-ui, -apple-system, sans-serif;
57
+ --body-sm-font-size: 11px;
58
+ --body-sm-font-weight: 400;
59
+ --body-sm-line-height: 16px;
60
+ --body-sm-strong-font-family: "SF Pro Text", system-ui, -apple-system, sans-serif;
61
+ --body-sm-strong-font-size: 11px;
62
+ --body-sm-strong-font-weight: 500;
63
+ --body-sm-strong-line-height: 16px;
64
+ --body-md-font-family: "SF Pro Text", system-ui, -apple-system, sans-serif;
65
+ --body-md-font-size: 12px;
66
+ --body-md-font-weight: 400;
67
+ --body-md-line-height: 18px;
68
+ --body-md-strong-font-family: "SF Pro Text", system-ui, -apple-system, sans-serif;
69
+ --body-md-strong-font-size: 12px;
70
+ --body-md-strong-font-weight: 500;
71
+ --body-md-strong-line-height: 18px;
72
+ --body-base-font-family: "SF Pro Text", system-ui, -apple-system, sans-serif;
73
+ --body-base-font-size: 13px;
74
+ --body-base-font-weight: 400;
75
+ --body-base-line-height: 20px;
76
+ --body-base-strong-font-family: "SF Pro Text", system-ui, -apple-system, sans-serif;
77
+ --body-base-strong-font-size: 13px;
78
+ --body-base-strong-font-weight: 500;
79
+ --body-base-strong-line-height: 20px;
80
+
81
+ /* heading */
82
+ --heading-3xs-font-family: "SF Pro Text", system-ui, -apple-system, sans-serif;
83
+ --heading-3xs-font-size: 11px;
84
+ --heading-3xs-font-weight: 600;
85
+ --heading-3xs-line-height: 16px;
86
+ --heading-2xs-font-family: "SF Pro Text", system-ui, -apple-system, sans-serif;
87
+ --heading-2xs-font-size: 12px;
88
+ --heading-2xs-font-weight: 600;
89
+ --heading-2xs-line-height: 18px;
90
+ --heading-xs-font-family: "SF Pro Text", system-ui, -apple-system, sans-serif;
91
+ --heading-xs-font-size: 13px;
92
+ --heading-xs-font-weight: 600;
93
+ --heading-xs-line-height: 20px;
94
+ --heading-sm-font-family: "SF Pro Text", system-ui, -apple-system, sans-serif;
95
+ --heading-sm-font-size: 16px;
96
+ --heading-sm-font-weight: 600;
97
+ --heading-sm-line-height: 24px;
98
+ --heading-md-font-family: "SF Pro", system-ui, -apple-system, sans-serif;
99
+ --heading-md-font-size: 20px;
100
+ --heading-md-font-weight: 600;
101
+ --heading-md-line-height: 28px;
102
+ --heading-lg-font-family: "SF Pro", system-ui, -apple-system, sans-serif;
103
+ --heading-lg-font-size: 22px;
104
+ --heading-lg-font-weight: 600;
105
+ --heading-lg-line-height: 30px;
106
+ --heading-xl-font-family: "SF Pro", system-ui, -apple-system, sans-serif;
107
+ --heading-xl-font-size: 24px;
108
+ --heading-xl-font-weight: 600;
109
+ --heading-xl-line-height: 32px;
110
+ --heading-2xl-font-family: "SF Pro", system-ui, -apple-system, sans-serif;
111
+ --heading-2xl-font-size: 28px;
112
+ --heading-2xl-font-weight: 600;
113
+ --heading-2xl-line-height: 36px;
114
+ --heading-3xl-font-family: "SF Pro", system-ui, -apple-system, sans-serif;
115
+ --heading-3xl-font-size: 32px;
116
+ --heading-3xl-font-weight: 600;
117
+ --heading-3xl-line-height: 40px;
118
+
119
+ /* code */
120
+ --code-editor-font-family: "JetBrains Mono", system-ui, -apple-system, sans-serif;
121
+ --code-editor-font-size: 13px;
122
+ --code-editor-font-weight: 450;
123
+ --code-editor-line-height: 20px;
124
+ --code-terminal-font-family: "JetBrains Mono", system-ui, -apple-system, sans-serif;
125
+ --code-terminal-font-size: 12px;
126
+ --code-terminal-font-weight: 450;
127
+ --code-terminal-line-height: 18px;
128
+ --code-text: #E0E3EE;
129
+ --code-doc: #7F838C;
130
+ --code-link: #3C7EFF;
131
+ --code-number: #F48CCA;
132
+ --code-action: #B38CFF;
133
+ --code-instruction: #F0D8FF;
134
+ --code-function: #F29D79;
135
+ --code-constant: #80BBFF;
136
+ --code-parameter: #82D99F;
137
+ --code-attribute: #DED47E;
138
+ --code-tag: #F2858C;
139
+
140
+ /* bg */
141
+ --bg-base-default: #1A1B1D;
142
+ --bg-base-secondary: #222427;
143
+ --bg-base-tertiary: #2A2D31;
144
+ --bg-overlay-l1: rgba(224, 226, 242, 0.04);
145
+ --bg-overlay-l2: rgba(224, 226, 242, 0.06);
146
+ --bg-overlay-l3: rgba(224, 226, 242, 0.08);
147
+ --bg-overlay-l4: rgba(224, 226, 242, 0.12);
148
+ --bg-menu: #202123;
149
+ --bg-tooltip: #1A1B1D;
150
+ --bg-invert: #DADDE5;
151
+ --bg-invert-hover: #EDEFF2;
152
+ --bg-invert-active: #979AA4;
153
+ --bg-invert-disabled: rgba(224, 226, 242, 0.12);
154
+ --color-background: var(--bg-base-default);
155
+ --color-surface: var(--bg-base-secondary);
156
+ --color-surface-variant: var(--bg-base-tertiary);
157
+ --color-overlay-1: var(--bg-overlay-l1);
158
+ --color-overlay-2: var(--bg-overlay-l2);
159
+ --color-overlay-3: var(--bg-overlay-l3);
160
+ --color-overlay-4: var(--bg-overlay-l4);
161
+ --color-card: var(--bg-base-secondary);
162
+ --color-tooltip: var(--bg-tooltip);
163
+ --color-menu: var(--bg-menu);
164
+
165
+ /* bg-brand */
166
+ --bg-brand: #535164;
167
+ --bg-brand-hover: #434154;
168
+ --bg-brand-disabled: rgba(83, 81, 100, 0.2);
169
+ --bg-brand-popup: rgba(83, 81, 100, 0.12);
170
+
171
+ /* status colors */
172
+ --bg-error-default: #F87171;
173
+ --bg-warning-default: #FBBF24;
174
+ --bg-success-default: #34D399;
175
+ --color-primary: var(--bg-brand);
176
+ --color-primary-hover: var(--bg-brand-hover);
177
+ --color-primary-disabled: var(--bg-brand-disabled);
178
+ --color-primary-soft: var(--bg-brand-popup);
179
+ --color-accent: var(--bg-brand);
180
+
181
+ /* text */
182
+ --text-default: #D1D3DB;
183
+ --text-default-hover: #F5F9FE;
184
+ --text-default-active: #F5F9FE;
185
+ --text-secondary: #9599A6;
186
+ --text-secondary-hover: #D1D3DB;
187
+ --text-secondary-active: #D1D3DB;
188
+ --text-tertiary: #888D99;
189
+ --text-disabled: #888D99;
190
+ --text-onbrand: #0C0C0D;
191
+ --text-onaccent: #0C0C0D;
192
+ --color-foreground: var(--text-default);
193
+ --color-foreground-hover: var(--text-default-hover);
194
+ --color-on-surface: var(--text-default);
195
+ --color-on-surface-variant: var(--text-secondary);
196
+ --color-muted-foreground: var(--text-secondary);
197
+ --color-disabled-foreground: var(--text-disabled);
198
+ --color-on-primary: var(--text-onbrand);
199
+
200
+ /* text-brand */
201
+ --text-brand: #535164;
202
+ --text-brand-hover: #434154;
203
+
204
+ /* icon */
205
+ --icon-default: #D1D3DB;
206
+ --icon-default-hover: #F5F9FE;
207
+ --icon-default-active: #F5F9FE;
208
+ --icon-secondary: #9599A6;
209
+ --icon-secondary-hover: #D1D3DB;
210
+ --icon-secondary-active: #D1D3DB;
211
+ --icon-tertiary: #888D99;
212
+ --icon-disabled: #888D99;
213
+ --icon-onbrand: #0C0C0D;
214
+ --icon-onaccent: #0C0C0D;
215
+
216
+ /* icon-brand */
217
+ --icon-brand: #535164;
218
+ --icon-brand-hover: #434154;
219
+
220
+ /* border */
221
+ --border-neutral-l1: rgba(224, 226, 242, 0.15);
222
+ --border-neutral-l2: rgba(224, 226, 242, 0.22);
223
+ --border-neutral-l3: rgba(224, 226, 242, 0.3);
224
+ --border-contrast: #FFFFFF;
225
+ --border-brand: #535164;
226
+ --color-border: var(--border-neutral-l1);
227
+ --color-border-strong: var(--border-neutral-l2);
228
+ --color-border-stronger: var(--border-neutral-l3);
229
+ --color-border-contrast: var(--border-contrast);
230
+ --color-outline: var(--border-neutral-l1);
231
+
232
+ /* accent */
233
+ --accent-teal: #2DD288;
234
+ --accent-coral: #FF9392;
235
+ --accent-amber: #DCB364;
236
+ --accent-lime: #8ACB3A;
237
+ --accent-cyan: #04CBE5;
238
+ --accent-blue: #7BB8FF;
239
+ --accent-magenta: #EC93FF;
240
+ --accent-violet: #BFA5FF;
241
+ --accent-slate: #AFB9CF;
242
+
243
+ /* status */
244
+ --status-primary-default: #387BFF;
245
+ --status-primary-hover: #4C88FF;
246
+ --status-primary-active: #1759DD;
247
+ --status-primary-surface-l1: rgba(53, 121, 255, 0.18);
248
+ --status-primary-surface-l2: rgba(53, 121, 255, 0.28);
249
+ --status-primary-surface-l3: rgba(53, 121, 255, 0.36);
250
+ --status-info-default: #33b9c1;
251
+ --status-info-hover: #47c5cc;
252
+ --status-info-active: #269fa6;
253
+ --status-info-surface-l1: rgba(51, 185, 193, 0.1);
254
+ --status-info-surface-l2: rgba(51, 185, 193, 0.15);
255
+ --status-info-surface-l3: rgba(51, 185, 193, 0.2);
256
+ --status-success-default: #33C192;
257
+ --status-success-hover: #5ED4AD;
258
+ --status-success-active: #27B082;
259
+ --status-success-surface-l1: rgba(0, 165, 110, 0.18);
260
+ --status-success-surface-l2: rgba(0, 165, 110, 0.28);
261
+ --status-success-surface-l3: rgba(0, 165, 110, 0.36);
262
+ --status-alert-default: #D29D00;
263
+ --status-alert-hover: #DFB949;
264
+ --status-alert-active: #AB8820;
265
+ --status-alert-surface-l1: rgba(210, 157, 0, 0.16);
266
+ --status-alert-surface-l2: rgba(210, 157, 0, 0.28);
267
+ --status-alert-surface-l3: rgba(210, 157, 0, 0.36);
268
+ --status-warning-default: #D27E24;
269
+ --status-warning-hover: #D78B28;
270
+ --status-warning-active: #B46510;
271
+ --status-warning-surface-l1: rgba(210, 126, 36, 0.16);
272
+ --status-warning-surface-l2: rgba(210, 126, 36, 0.28);
273
+ --status-warning-surface-l3: rgba(210, 126, 36, 0.36);
274
+ --status-error-default: #F65A5A;
275
+ --status-error-hover: #F86262;
276
+ --status-error-active: #B33636;
277
+ --status-error-surface-l1: rgba(246, 70, 70, 0.18);
278
+ --status-error-surface-l2: rgba(246, 70, 70, 0.28);
279
+ --status-error-surface-l3: rgba(246, 70, 70, 0.36);
280
+ --color-info: var(--status-primary-default);
281
+ --color-success: var(--status-success-default);
282
+ --color-warning: var(--status-warning-default);
283
+ --color-error: var(--status-error-default);
284
+ --color-error-soft: var(--status-error-surface-l1);
285
+
286
+ /* brand */
287
+ --brand-green-100: #E5FFF2;
288
+ --brand-green-200: #B4FDD9;
289
+ --brand-green-300: #85FABF;
290
+ --brand-green-400: #5CF5A8;
291
+ --brand-green-500: #535164;
292
+ --brand-green-600: #434154;
293
+ --brand-green-700: #0AB861;
294
+ --brand-green-800: #05994F;
295
+ --brand-green-900: #02743B;
296
+ --brand-green-1000: #004D26;
297
+ --brand-red-100: #FFE5E5;
298
+ --brand-red-200: #FFCCCC;
299
+ --brand-red-300: #FFB2B2;
300
+ --brand-red-400: #FF9999;
301
+ --brand-red-500: #FF8080;
302
+ --brand-red-600: #FF6464;
303
+ --brand-red-700: #E63737;
304
+ --brand-red-800: #CB1010;
305
+ --brand-red-900: #8F0505;
306
+ --brand-red-1000: #4D0000;
307
+ --brand-yellow-100: #FFF6E5;
308
+ --brand-yellow-200: #FFECCC;
309
+ --brand-yellow-300: #FFE3B2;
310
+ --brand-yellow-400: #FFDA99;
311
+ --brand-yellow-500: #FFD080;
312
+ --brand-yellow-600: #FFC864;
313
+ --brand-yellow-700: #E6A637;
314
+ --brand-yellow-800: #CB8710;
315
+ --brand-yellow-900: #8F5C05;
316
+ --brand-yellow-1000: #4D3000;
317
+ --brand-blue-100: #E5F3FF;
318
+ --brand-blue-200: #CCE6FF;
319
+ --brand-blue-300: #B2DAFF;
320
+ --brand-blue-400: #99CEFF;
321
+ --brand-blue-500: #80C1FF;
322
+ --brand-blue-600: #64B4FF;
323
+ --brand-blue-700: #3792E6;
324
+ --brand-blue-800: #1071CB;
325
+ --brand-blue-900: #054C8F;
326
+ --brand-blue-1000: #00284D;
327
+ --brand-purple-100: #E8E5FF;
328
+ --brand-purple-200: #D2CCFF;
329
+ --brand-purple-300: #BBB2FF;
330
+ --brand-purple-400: #A599FF;
331
+ --brand-purple-500: #8E80FF;
332
+ --brand-purple-600: #7864FF;
333
+ --brand-purple-700: #4C37E6;
334
+ --brand-purple-800: #2610CB;
335
+ --brand-purple-900: #15058F;
336
+ --brand-purple-1000: #09004D;
337
+ /* original source token: --brand-neutral grey-100 */
338
+ --brand-neutral-grey-100: #F2F2F2;
339
+ /* original source token: --brand-neutral grey-200 */
340
+ --brand-neutral-grey-200: #E3E3E3;
341
+ /* original source token: --brand-neutral grey-300 */
342
+ --brand-neutral-grey-300: #D6D6D6;
343
+ /* original source token: --brand-neutral grey-400 */
344
+ --brand-neutral-grey-400: #C7C7C7;
345
+ /* original source token: --brand-neutral grey-500 */
346
+ --brand-neutral-grey-500: #BABABA;
347
+ /* original source token: --brand-neutral grey-600 */
348
+ --brand-neutral-grey-600: #ABABAB;
349
+ /* original source token: --brand-neutral grey-700 */
350
+ --brand-neutral-grey-700: #8A8A8A;
351
+ /* original source token: --brand-neutral grey-800 */
352
+ --brand-neutral-grey-800: #686868;
353
+ /* original source token: --brand-neutral grey-900 */
354
+ --brand-neutral-grey-900: #474747;
355
+ /* original source token: --brand-neutral grey-1000 */
356
+ --brand-neutral-grey-1000: #262626;
357
+ /* original source token: --brand-blue grey-100 */
358
+ --brand-blue-grey-100: #F1EFF4;
359
+ /* original source token: --brand-blue grey-200 */
360
+ --brand-blue-grey-200: #E0E1E6;
361
+ /* original source token: --brand-blue grey-300 */
362
+ --brand-blue-grey-300: #CFD3D8;
363
+ /* original source token: --brand-blue grey-400 */
364
+ --brand-blue-grey-400: #BFC5CA;
365
+ /* original source token: --brand-blue grey-500 */
366
+ --brand-blue-grey-500: #B0B5BA;
367
+ /* original source token: --brand-blue grey-600 */
368
+ --brand-blue-grey-600: #A0A6AB;
369
+ /* original source token: --brand-blue grey-700 */
370
+ --brand-blue-grey-700: #80898E;
371
+ /* original source token: --brand-blue grey-800 */
372
+ --brand-blue-grey-800: #5E696E;
373
+ /* original source token: --brand-blue grey-900 */
374
+ --brand-blue-grey-900: #404A4F;
375
+ /* original source token: --brand-blue grey-1000 */
376
+ --brand-blue-grey-1000: #21262B;
377
+ /* original source token: --brand-green grey-100 */
378
+ --brand-green-grey-100: #F1F4F4;
379
+ /* original source token: --brand-green grey-200 */
380
+ --brand-green-grey-200: #E0E6E6;
381
+ /* original source token: --brand-green grey-300 */
382
+ --brand-green-grey-300: #CFD8D8;
383
+ /* original source token: --brand-green grey-400 */
384
+ --brand-green-grey-400: #BFCACA;
385
+ /* original source token: --brand-green grey-500 */
386
+ --brand-green-grey-500: #B0BABA;
387
+ /* original source token: --brand-green grey-600 */
388
+ --brand-green-grey-600: #A0ABAB;
389
+ /* original source token: --brand-green grey-700 */
390
+ --brand-green-grey-700: #808E8E;
391
+ /* original source token: --brand-green grey-800 */
392
+ --brand-green-grey-800: #5E6E6E;
393
+ /* original source token: --brand-green grey-900 */
394
+ --brand-green-grey-900: #404F4F;
395
+ /* original source token: --brand-green grey-1000 */
396
+ --brand-green-grey-1000: #212B2B;
397
+
398
+ /* font (generic fallback — used by a few preview sections) */
399
+ --font-family: "SF Pro Text", system-ui, -apple-system, sans-serif;
400
+ --font-size: 10px;
401
+ --font-weight: 400;
402
+ --line-height: 14px;
403
+
404
+ /* viz */
405
+ --viz-series-coral: #F87454;
406
+ --viz-series-amber: #EDAA45;
407
+ --viz-series-mint: #1DC981;
408
+ --viz-series-teal: #78F2F2;
409
+ --viz-series-sky: #22A5F7;
410
+ --viz-series-violet: #B655FC;
411
+ --viz-series-magenta: #FB9DD7;
412
+ --viz-series-indigo: #B6A3FF;
413
+ --viz-series-lime: #A6EA39;
414
+ --viz-series-slate: #859EAD;
415
+ --viz-ui-bg-chart: #202123;
416
+ --viz-ui-bg-tooltip: #1A1B1D;
417
+ --viz-ui-chart-title: #D1D3DB;
418
+ --viz-ui-chart-subtitle: #9599A6;
419
+ --viz-ui-chart-axis: rgba(224, 226, 242, 0.16);
420
+ --viz-ui-chart-tick: #9599A6;
421
+ --viz-ui-legend-label: #9599A6;
422
+ --viz-ui-legend-value: #D1D3DB;
423
+
424
+ /* special */
425
+ --special-white: #FFFFFF;
426
+ --special-black: #000000;
427
+ --special-bgtabsoverlay: rgba(0, 0, 0, 0.2);
428
+
429
+ /* icon filter for img tags */
430
+ --icon-filter: brightness(0) saturate(0) invert(0.9);
431
+
432
+ /* layout aliases (originally fallback in _preview.css) */
433
+ --brand-1: #32f08c;
434
+ --brand-2: #3ee1a3;
435
+ --brand-3: #60f2bd;
436
+ --brand-4: #a0fde7;
437
+ --site-canvas: #1A1B1D;
438
+ --bg-layout-1: var(--bg-base-secondary);
439
+ --bg-layout-2: var(--bg-overlay-l1);
440
+ --border-1: var(--border-neutral-l1);
441
+ }