@astryxdesign/theme-butter 0.0.0-bootstrap.0 → 0.0.15

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.
@@ -0,0 +1,855 @@
1
+ import {
2
+ butterIconRegistry
3
+ } from "./chunk-KRFM4EWN.mjs";
4
+
5
+ // src/butterTheme.ts
6
+ import { defineTheme, defineSyntaxTheme } from "@astryxdesign/core/theme";
7
+ var butterSyntax = defineSyntaxTheme({
8
+ name: "xds-butter",
9
+ tokens: {
10
+ keyword: ["#52237b", "#ddb9f6"],
11
+ // Purple
12
+ string: ["#004800", "#a5d29d"],
13
+ // Green
14
+ comment: ["#605f52", "#adac9e"],
15
+ number: ["#622e00", "#f2bd81"],
16
+ // Orange
17
+ function: ["#203a6c", "#bdc5eb"],
18
+ // Blue
19
+ type: ["#52237b", "#ddb9f6"],
20
+ // Purple
21
+ variable: ["#605f52", "#adac9e"],
22
+ operator: ["#605f52", "#adac9e"],
23
+ constant: ["#622e00", "#f2bd81"],
24
+ tag: ["#6d211c", "#f4b8ae"],
25
+ // Red
26
+ attribute: ["#413e00", "#d6c957"],
27
+ // Yellow
28
+ property: ["#00482d", "#94d3bb"],
29
+ // Teal
30
+ punctuation: ["#605f52", "#adac9e"],
31
+ background: ["#FDFBE4", "#131107"]
32
+ }
33
+ });
34
+ var butterTheme = defineTheme({
35
+ name: "butter",
36
+ typography: {
37
+ scale: { base: 14, ratio: 1.25 },
38
+ body: {
39
+ family: "Outfit",
40
+ fallbacks: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif'
41
+ },
42
+ heading: {
43
+ family: "Outfit",
44
+ fallbacks: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif',
45
+ weights: { 3: "bold", 4: "bold" }
46
+ },
47
+ code: {
48
+ family: "JetBrains Mono",
49
+ fallbacks: '"SF Mono", Monaco, Consolas, monospace'
50
+ }
51
+ },
52
+ motion: { fast: 125, medium: 300, slow: 700, ratio: 0.75 },
53
+ syntax: butterSyntax,
54
+ tokens: {
55
+ // =========================================================================
56
+ // Core semantic — accent is the exact brand #225BFF
57
+ // =========================================================================
58
+ "--color-accent": ["#225BFF", "#FDEE8C"],
59
+ "--color-accent-muted": ["#225BFF33", "#FDEE8C40"],
60
+ "--color-neutral": ["#1d1c110F", "#f3f2e21A"],
61
+ "--color-background-surface": ["#FFFFFF", "#2E2117"],
62
+ "--color-background-body": ["#FDFBE4", "#261A13"],
63
+ "--color-overlay": ["#1d1c1180", "#261A13cc"],
64
+ "--color-overlay-hover": ["#1d1c110D", "#f3f2e20D"],
65
+ "--color-overlay-pressed": ["#1d1c111A", "#f3f2e21A"],
66
+ "--color-background-muted": ["#f3f2e2", "#3A2A1F"],
67
+ // Text — warm neutral
68
+ "--color-text-primary": ["#1d1c11", "#f3f2e2"],
69
+ "--color-text-secondary": ["#605f52", "#adac9e"],
70
+ "--color-text-disabled": ["#adac9e", "#605f52"],
71
+ "--color-text-accent": ["#225BFF", "#FDEE8C"],
72
+ "--color-on-dark": "#ffffff",
73
+ "--color-on-light": "#1d1c11",
74
+ "--color-on-accent": ["#ffffff", "#1d1c11"],
75
+ // T95 of each ramp for use on the vivid semantic surfaces.
76
+ "--color-on-success": ["#ccff88", "#0b2e00"],
77
+ "--color-on-error": ["#ffe3de", "#600000"],
78
+ "--color-on-warning": ["#ffeec3", "#3b2200"],
79
+ // Icon
80
+ "--color-icon-accent": ["#225BFF", "#FDEE8C"],
81
+ "--color-icon-primary": ["#1d1c11", "#f3f2e2"],
82
+ "--color-icon-secondary": ["#605f52", "#adac9e"],
83
+ "--color-icon-disabled": ["#adac9e", "#605f52"],
84
+ // Surface variants
85
+ "--color-background-card": ["#FFFFFF", "#3A2A1F"],
86
+ "--color-background-popover": ["#FFFFFF", "#3A2A1F"],
87
+ "--color-background-inverted": ["#1d1c11", "#FDFBE4"],
88
+ // Status semantics — T25 light / T80 dark from each status palette.
89
+ "--color-error": ["#771210", "#ffb4a6"],
90
+ "--color-error-muted": ["#77121033", "#ffb4a640"],
91
+ "--color-warning": ["#543700", "#f7be00"],
92
+ "--color-warning-muted": ["#54370033", "#f7be0040"],
93
+ "--color-success": ["#004700", "#99d94b"],
94
+ "--color-success-muted": ["#00470033", "#99d94b40"],
95
+ // Border — softer taupe card outline (emphasized) in light mode.
96
+ "--color-border": ["#e5e3d4", "#f3f2e21A"],
97
+ "--color-border-emphasized": ["#C7C4B2", "#939184"],
98
+ // Effects
99
+ "--color-skeleton": ["#e5e3d4", "#49473b"],
100
+ "--color-shadow": ["#1d1c111A", "#0000004D"],
101
+ "--color-tint-hover": ["black", "white"],
102
+ // Typography override
103
+ "--text-supporting-size": "12px",
104
+ // Element sizes — slightly taller defaults so the new input padding
105
+ // (--spacing-2 block) has room to breathe.
106
+ "--size-element-sm": "32px",
107
+ "--size-element-md": "40px",
108
+ "--size-element-lg": "48px",
109
+ // =========================================================================
110
+ // Categorical — same values in light and dark mode (curated dark mode
111
+ // keeps the same pastel backgrounds + dark text as light mode).
112
+ // =========================================================================
113
+ // Blue
114
+ "--color-background-blue": ["#dbe1ff", "#dbe1ff"],
115
+ "--color-border-blue": ["#bdc5eb", "#bdc5eb"],
116
+ "--color-icon-blue": ["#203a6c", "#203a6c"],
117
+ "--color-text-blue": ["#203a6c", "#203a6c"],
118
+ // Cyan
119
+ "--color-background-cyan": ["#a9eff0", "#a9eff0"],
120
+ "--color-border-cyan": ["#8dd2d3", "#8dd2d3"],
121
+ "--color-icon-cyan": ["#004649", "#004649"],
122
+ "--color-text-cyan": ["#004649", "#004649"],
123
+ // Gray (uses the neutral palette)
124
+ "--color-background-gray": ["#f0edd4", "#f0edd4"],
125
+ "--color-border-gray": ["#d6d3b8", "#d6d3b8"],
126
+ "--color-icon-gray": ["#4a4732", "#4a4732"],
127
+ "--color-text-gray": ["#4a4732", "#4a4732"],
128
+ // Green
129
+ "--color-background-green": ["#c1efb8", "#c1efb8"],
130
+ "--color-border-green": ["#a5d29d", "#a5d29d"],
131
+ "--color-icon-green": ["#004800", "#004800"],
132
+ "--color-text-green": ["#004800", "#004800"],
133
+ // Orange
134
+ "--color-background-orange": ["#ffdcb6", "#ffdcb6"],
135
+ "--color-border-orange": ["#f2bd81", "#f2bd81"],
136
+ "--color-icon-orange": ["#622e00", "#622e00"],
137
+ "--color-text-orange": ["#622e00", "#622e00"],
138
+ // Pink
139
+ "--color-background-pink": ["#ffd5fb", "#ffd5fb"],
140
+ "--color-border-pink": ["#f0b3e8", "#f0b3e8"],
141
+ "--color-icon-pink": ["#6c0a68", "#6c0a68"],
142
+ "--color-text-pink": ["#6c0a68", "#6c0a68"],
143
+ // Purple
144
+ "--color-background-purple": ["#f2daff", "#f2daff"],
145
+ "--color-border-purple": ["#ddb9f6", "#ddb9f6"],
146
+ "--color-icon-purple": ["#52237b", "#52237b"],
147
+ "--color-text-purple": ["#52237b", "#52237b"],
148
+ // Red
149
+ "--color-background-red": ["#ffdad3", "#ffdad3"],
150
+ "--color-border-red": ["#f4b8ae", "#f4b8ae"],
151
+ "--color-icon-red": ["#6d211c", "#6d211c"],
152
+ "--color-text-red": ["#6d211c", "#6d211c"],
153
+ // Teal
154
+ "--color-background-teal": ["#b0f0d7", "#b0f0d7"],
155
+ "--color-border-teal": ["#94d3bb", "#94d3bb"],
156
+ "--color-icon-teal": ["#00482d", "#00482d"],
157
+ "--color-text-teal": ["#00482d", "#00482d"],
158
+ // Yellow
159
+ "--color-background-yellow": ["#feee7b", "#feee7b"],
160
+ "--color-border-yellow": ["#d6c957", "#d6c957"],
161
+ "--color-icon-yellow": ["#413e00", "#413e00"],
162
+ "--color-text-yellow": ["#413e00", "#413e00"],
163
+ // =========================================================================
164
+ // Radius
165
+ // --radius-element drives buttons, badges, inputs — 8px per design
166
+ // --radius-container drives cards, banners, popovers — 12px per design
167
+ // =========================================================================
168
+ "--radius-none": "0.125rem",
169
+ "--radius-inner": "0.375rem",
170
+ "--radius-element": "0.5rem",
171
+ // 8px
172
+ "--radius-container": "0.75rem",
173
+ // 12px
174
+ "--radius-page": "1.5rem",
175
+ "--radius-full": "9999px",
176
+ // =========================================================================
177
+ // Shadows — warm neutral tint
178
+ // =========================================================================
179
+ "--shadow-low": "0 2px 4px #1d1c110D, 0 4px 8px #1d1c111A",
180
+ "--shadow-med": "0 2px 4px #1d1c110D, 0 4px 12px #1d1c111A",
181
+ "--shadow-high": "0 4px 6px #1d1c111A, 0 12px 24px #1d1c1126",
182
+ "--shadow-inset-hover": "inset 0px 0px 0px 2px #79786a30",
183
+ "--shadow-inset-selected": "inset 0px 0px 0px 2px #79786a50",
184
+ "--shadow-inset-success": "inset 0px 0px 0px 2px #00470030",
185
+ "--shadow-inset-warning": "inset 0px 0px 0px 2px #54370030",
186
+ "--shadow-inset-error": "inset 0px 0px 0px 2px #77121030"
187
+ },
188
+ components: {
189
+ // TopNav uses Butter's blue accent: the heading and the selected item are
190
+ // the full brand blue; unselected items (default + hover) use a lighter
191
+ // blue. Dark mode keeps the theme's butter-yellow accent.
192
+ "top-nav-heading": {
193
+ // The heading text is an inner span that reads --color-text-primary, so
194
+ // redirect that token (not just `color`) to the brand blue so the text
195
+ // itself turns blue, not only the container.
196
+ base: {
197
+ color: "light-dark(#225BFF, #FDEE8C)",
198
+ "--color-text-primary": "light-dark(#225BFF, #FDEE8C)"
199
+ }
200
+ },
201
+ "top-nav-item": {
202
+ base: {
203
+ color: "light-dark(#6E92FF, #FDEE8CCC)"
204
+ },
205
+ // Selected item: full brand blue, no pill background — rely on weight +
206
+ // color for emphasis. Hover/active keep the neutral overlay.
207
+ selected: {
208
+ color: "light-dark(#225BFF, #FDEE8C)",
209
+ backgroundColor: "transparent",
210
+ ":hover": {
211
+ backgroundColor: "var(--color-overlay-hover)"
212
+ },
213
+ ":active": {
214
+ backgroundColor: "var(--color-overlay-pressed)"
215
+ }
216
+ }
217
+ },
218
+ button: {
219
+ // Radius intentionally not pinned, so buttons keep core's
220
+ // `var(--_button-radius, --radius-element)`: standalone buttons stay 8px,
221
+ // while the chat composer (which sets --_button-radius) rounds them fully.
222
+ base: {
223
+ paddingBlock: "var(--spacing-3)",
224
+ paddingInline: "var(--spacing-4)"
225
+ },
226
+ // Secondary: blue outline + label in light, butter yellow in dark.
227
+ "variant:secondary": {
228
+ backgroundColor: "transparent",
229
+ borderWidth: "1.5px",
230
+ borderStyle: "solid",
231
+ borderColor: "light-dark(#225BFF, #FDEE8C)",
232
+ color: "light-dark(#225BFF, #FDEE8C)",
233
+ ":hover": {
234
+ backgroundColor: "light-dark(#225BFF14, #FDEE8C14)"
235
+ }
236
+ },
237
+ // Ghost: same accent color as secondary, no background.
238
+ "variant:ghost": {
239
+ color: "light-dark(#225BFF, #FDEE8C)"
240
+ },
241
+ "variant:destructive": {
242
+ backgroundColor: "light-dark(#ffdad3, #f4b8ae)",
243
+ color: "light-dark(#550000, #6d211c)"
244
+ }
245
+ },
246
+ badge: {
247
+ // Match astryx/daily badge sizing: 30px tall with 12px horizontal pad.
248
+ // Use explicit values because butter inherits the standard spacing
249
+ // scale (where --spacing-3 = 12px), unlike astryx which redefines it.
250
+ base: {
251
+ height: "30px",
252
+ paddingBlock: "0",
253
+ paddingInline: "var(--spacing-3)"
254
+ },
255
+ // Vivid semantic badges — pinned to the brand colors from the spec.
256
+ // Info uses the Blue palette source (NOT the brand accent #225BFF).
257
+ "variant:info": {
258
+ backgroundColor: "#4883fd",
259
+ color: "#ffffff"
260
+ },
261
+ "variant:neutral": {
262
+ backgroundColor: "#ffee7b",
263
+ color: "#225BFF"
264
+ },
265
+ "variant:success": {
266
+ backgroundColor: "#91D143",
267
+ color: "#1d1c11"
268
+ },
269
+ "variant:warning": {
270
+ backgroundColor: "#ffc502",
271
+ color: "#1d1c11"
272
+ },
273
+ "variant:error": {
274
+ backgroundColor: "#fc473b",
275
+ color: "#ffffff"
276
+ }
277
+ },
278
+ // Banner backgrounds match the semantic badge fills.
279
+ // Banner status colors — override the muted tokens locally so the
280
+ // header (which reads --color-*-muted via StyleX) renders vivid fills
281
+ // matching the badge palette. Scoped to the banner root, doesn't leak.
282
+ banner: {
283
+ "status:info": {
284
+ "--color-accent-muted": "#4883fd",
285
+ "--color-text-primary": "#ffffff",
286
+ "--color-text-secondary": "#ffffff",
287
+ "--color-accent": "#ffffff"
288
+ },
289
+ "status:success": {
290
+ "--color-success-muted": "#91D143",
291
+ "--color-text-primary": "#1d1c11",
292
+ "--color-text-secondary": "#1d1c11",
293
+ "--color-success": "#1d1c11"
294
+ },
295
+ "status:warning": {
296
+ "--color-warning-muted": "#ffc502",
297
+ "--color-text-primary": "#1d1c11",
298
+ "--color-text-secondary": "#1d1c11",
299
+ "--color-warning": "#1d1c11"
300
+ },
301
+ "status:error": {
302
+ "--color-error-muted": "#fc473b",
303
+ "--color-text-primary": "#ffffff",
304
+ "--color-text-secondary": "#ffffff",
305
+ "--color-error": "#ffffff"
306
+ }
307
+ },
308
+ card: {
309
+ base: {
310
+ borderRadius: "var(--radius-container)",
311
+ padding: "var(--spacing-4)"
312
+ },
313
+ "variant:info": {
314
+ "--color-text-primary": "#1d1c11",
315
+ "--color-text-secondary": "#605f52"
316
+ },
317
+ "variant:success": {
318
+ "--color-text-primary": "#1d1c11",
319
+ "--color-text-secondary": "#605f52"
320
+ },
321
+ "variant:warning": {
322
+ "--color-text-primary": "#1d1c11",
323
+ "--color-text-secondary": "#605f52"
324
+ },
325
+ "variant:error": {
326
+ "--color-text-primary": "#1d1c11",
327
+ "--color-text-secondary": "#605f52"
328
+ },
329
+ "variant:blue": {
330
+ "--color-text-primary": "#1d1c11",
331
+ "--color-text-secondary": "#605f52"
332
+ },
333
+ "variant:cyan": {
334
+ "--color-text-primary": "#1d1c11",
335
+ "--color-text-secondary": "#605f52"
336
+ },
337
+ "variant:gray": {
338
+ "--color-text-primary": "#1d1c11",
339
+ "--color-text-secondary": "#605f52"
340
+ },
341
+ "variant:green": {
342
+ "--color-text-primary": "#1d1c11",
343
+ "--color-text-secondary": "#605f52"
344
+ },
345
+ "variant:orange": {
346
+ "--color-text-primary": "#1d1c11",
347
+ "--color-text-secondary": "#605f52"
348
+ },
349
+ "variant:pink": {
350
+ "--color-text-primary": "#1d1c11",
351
+ "--color-text-secondary": "#605f52"
352
+ },
353
+ "variant:purple": {
354
+ "--color-text-primary": "#1d1c11",
355
+ "--color-text-secondary": "#605f52"
356
+ },
357
+ "variant:red": {
358
+ "--color-text-primary": "#1d1c11",
359
+ "--color-text-secondary": "#605f52"
360
+ },
361
+ "variant:teal": {
362
+ "--color-text-primary": "#1d1c11",
363
+ "--color-text-secondary": "#605f52"
364
+ },
365
+ "variant:yellow": {
366
+ "--color-text-primary": "#1d1c11",
367
+ "--color-text-secondary": "#605f52"
368
+ },
369
+ "variant:muted": {
370
+ "--color-text-primary": "#1d1c11",
371
+ "--color-text-secondary": "#605f52"
372
+ }
373
+ },
374
+ section: {
375
+ base: {
376
+ padding: "var(--spacing-4)"
377
+ }
378
+ },
379
+ // Progress bar — white track in light, warm brown in dark. Vivid
380
+ // semantic fills match the banner colors (Success / Warning / Error).
381
+ "progressbar-track": {
382
+ base: {
383
+ backgroundColor: "light-dark(#e5e3d4, #725538)"
384
+ }
385
+ },
386
+ "progressbar-fill": {
387
+ "variant:success": {
388
+ backgroundColor: "#91D143"
389
+ },
390
+ "variant:warning": {
391
+ backgroundColor: "#ffc502"
392
+ },
393
+ "variant:error": {
394
+ backgroundColor: "#fc473b"
395
+ }
396
+ },
397
+ // Field status bubble — match the corresponding banner colors so the
398
+ // helper text below an input reads as the same "this is a warning /
399
+ // error / success" surface as the standalone banner.
400
+ "field-status": {
401
+ "type:success": {
402
+ backgroundColor: "#91D143",
403
+ color: "#1d1c11"
404
+ },
405
+ "type:warning": {
406
+ backgroundColor: "#ffc502",
407
+ color: "#1d1c11"
408
+ },
409
+ "type:error": {
410
+ backgroundColor: "#fc473b",
411
+ color: "#ffffff"
412
+ }
413
+ },
414
+ // Inputs — softer border than default, more vertical breathing room.
415
+ // Status modifiers also remap the semantic tokens locally so the
416
+ // status icon + border read as the same vivid hue as the banner
417
+ // (icons inherit from --color-{success,warning,error}).
418
+ "text-input": {
419
+ base: {
420
+ paddingBlock: "var(--spacing-2)",
421
+ paddingInline: "var(--spacing-3)",
422
+ borderColor: "var(--color-border)"
423
+ },
424
+ "status:success": { "--color-success": "#91D143" },
425
+ "status:warning": { "--color-warning": "#ffc502" },
426
+ "status:error": { "--color-error": "#fc473b" }
427
+ },
428
+ textarea: {
429
+ base: {
430
+ paddingBlock: "var(--spacing-2)",
431
+ paddingInline: "var(--spacing-3)",
432
+ borderColor: "var(--color-border)"
433
+ },
434
+ "status:success": { "--color-success": "#91D143" },
435
+ "status:warning": { "--color-warning": "#ffc502" },
436
+ "status:error": { "--color-error": "#fc473b" }
437
+ },
438
+ "number-input": {
439
+ base: {
440
+ paddingBlock: "var(--spacing-2)",
441
+ paddingInline: "var(--spacing-3)",
442
+ borderColor: "var(--color-border)"
443
+ },
444
+ "status:success": { "--color-success": "#91D143" },
445
+ "status:warning": { "--color-warning": "#ffc502" },
446
+ "status:error": { "--color-error": "#fc473b" }
447
+ },
448
+ "date-input": {
449
+ base: {
450
+ paddingBlock: "var(--spacing-2)",
451
+ paddingInline: "var(--spacing-3)",
452
+ borderColor: "var(--color-border)"
453
+ },
454
+ "status:success": { "--color-success": "#91D143" },
455
+ "status:warning": { "--color-warning": "#ffc502" },
456
+ "status:error": { "--color-error": "#fc473b" }
457
+ },
458
+ "time-input": {
459
+ base: {
460
+ paddingBlock: "var(--spacing-2)",
461
+ paddingInline: "var(--spacing-3)",
462
+ borderColor: "var(--color-border)"
463
+ },
464
+ "status:success": { "--color-success": "#91D143" },
465
+ "status:warning": { "--color-warning": "#ffc502" },
466
+ "status:error": { "--color-error": "#fc473b" }
467
+ },
468
+ selector: {
469
+ base: {
470
+ paddingBlock: "var(--spacing-2)",
471
+ paddingInline: "var(--spacing-3)",
472
+ borderColor: "var(--color-border)"
473
+ },
474
+ "status:success": { "--color-success": "#91D143" },
475
+ "status:warning": { "--color-warning": "#ffc502" },
476
+ "status:error": { "--color-error": "#fc473b" }
477
+ },
478
+ "multi-selector": {
479
+ base: {
480
+ paddingBlock: "var(--spacing-2)",
481
+ paddingInline: "var(--spacing-3)",
482
+ borderColor: "var(--color-border)"
483
+ },
484
+ "status:success": { "--color-success": "#91D143" },
485
+ "status:warning": { "--color-warning": "#ffc502" },
486
+ "status:error": { "--color-error": "#fc473b" }
487
+ },
488
+ typeahead: {
489
+ base: {
490
+ paddingBlock: "var(--spacing-2)",
491
+ paddingInline: "var(--spacing-3)",
492
+ borderColor: "var(--color-border)"
493
+ },
494
+ "status:success": { "--color-success": "#91D143" },
495
+ "status:warning": { "--color-warning": "#ffc502" },
496
+ "status:error": { "--color-error": "#fc473b" }
497
+ },
498
+ tokenizer: {
499
+ base: {
500
+ paddingBlock: "var(--spacing-2)",
501
+ paddingInline: "var(--spacing-3)",
502
+ borderColor: "var(--color-border)"
503
+ },
504
+ "status:success": { "--color-success": "#91D143" },
505
+ "status:warning": { "--color-warning": "#ffc502" },
506
+ "status:error": { "--color-error": "#fc473b" }
507
+ },
508
+ // Display sizes use Sarina — the signature buttery display
509
+ // cursive, reserved for hero/marketing-scale text only.
510
+ // Headings (h1–h6) and body still use Outfit (configured above
511
+ // under typography.heading / typography.body). Same pattern
512
+ // Gothic uses for its Manufacturing Consent display family.
513
+ text: {
514
+ "type:display-1": {
515
+ fontFamily: 'Sarina, "Brush Script MT", "Snell Roundhand", cursive'
516
+ },
517
+ "type:display-2": {
518
+ fontFamily: 'Sarina, "Brush Script MT", "Snell Roundhand", cursive'
519
+ },
520
+ "type:display-3": {
521
+ fontFamily: 'Sarina, "Brush Script MT", "Snell Roundhand", cursive'
522
+ }
523
+ }
524
+ },
525
+ icons: butterIconRegistry
526
+ });
527
+ var butterPalettes = {
528
+ blue: {
529
+ 0: "#000000",
530
+ 5: "#001041",
531
+ 10: "#001b4c",
532
+ 15: "#002558",
533
+ 20: "#062f63",
534
+ 25: "#203a6c",
535
+ 30: "#324575",
536
+ 35: "#41517d",
537
+ 40: "#505d86",
538
+ 45: "#5f698f",
539
+ 50: "#6d7698",
540
+ 55: "#7a82a6",
541
+ 60: "#878fb3",
542
+ 65: "#949cc1",
543
+ 70: "#a2aacf",
544
+ 75: "#afb7dd",
545
+ 80: "#bdc5eb",
546
+ 85: "#cbd3f9",
547
+ 90: "#dbe1ff",
548
+ 95: "#edf0ff",
549
+ 100: "#ffffff"
550
+ },
551
+ cyan: {
552
+ 0: "#000000",
553
+ 5: "#001d1e",
554
+ 10: "#00262a",
555
+ 15: "#003034",
556
+ 20: "#003a3e",
557
+ 25: "#004649",
558
+ 30: "#005255",
559
+ 35: "#005e61",
560
+ 40: "#006a6d",
561
+ 45: "#1f7678",
562
+ 50: "#3c8183",
563
+ 55: "#4a8e90",
564
+ 60: "#579c9d",
565
+ 65: "#65a9aa",
566
+ 70: "#72b7b8",
567
+ 75: "#80c4c5",
568
+ 80: "#8dd2d3",
569
+ 85: "#9be0e1",
570
+ 90: "#a9eff0",
571
+ 95: "#b7fdfe",
572
+ 100: "#ffffff"
573
+ },
574
+ green: {
575
+ 0: "#000000",
576
+ 5: "#001f00",
577
+ 10: "#002800",
578
+ 15: "#003100",
579
+ 20: "#003c00",
580
+ 25: "#004800",
581
+ 30: "#01530d",
582
+ 35: "#1f5f1f",
583
+ 40: "#346a30",
584
+ 45: "#467640",
585
+ 50: "#578151",
586
+ 55: "#648e5d",
587
+ 60: "#709c6a",
588
+ 65: "#7da976",
589
+ 70: "#8ab783",
590
+ 75: "#98c490",
591
+ 80: "#a5d29d",
592
+ 85: "#b3e0ab",
593
+ 90: "#c1efb8",
594
+ 95: "#cffdc6",
595
+ 100: "#ffffff"
596
+ },
597
+ orange: {
598
+ 0: "#000000",
599
+ 5: "#2d0600",
600
+ 10: "#381200",
601
+ 15: "#461b00",
602
+ 20: "#542400",
603
+ 25: "#622e00",
604
+ 30: "#6d3a00",
605
+ 35: "#794700",
606
+ 40: "#845406",
607
+ 45: "#906121",
608
+ 50: "#9b6e36",
609
+ 55: "#a97b42",
610
+ 60: "#b7874e",
611
+ 65: "#c6945b",
612
+ 70: "#d4a267",
613
+ 75: "#e3af74",
614
+ 80: "#f2bd81",
615
+ 85: "#ffcb8e",
616
+ 90: "#ffdcb6",
617
+ 95: "#ffedda",
618
+ 100: "#ffffff"
619
+ },
620
+ pink: {
621
+ 0: "#000000",
622
+ 5: "#3c003d",
623
+ 10: "#490048",
624
+ 15: "#560054",
625
+ 20: "#62005f",
626
+ 25: "#6c0a68",
627
+ 30: "#762371",
628
+ 35: "#80357a",
629
+ 40: "#894583",
630
+ 45: "#93558c",
631
+ 50: "#9c6496",
632
+ 55: "#aa71a3",
633
+ 60: "#b77eb0",
634
+ 65: "#c58bbe",
635
+ 70: "#d398cc",
636
+ 75: "#e2a6da",
637
+ 80: "#f0b3e8",
638
+ 85: "#ffc1f6",
639
+ 90: "#ffd5fb",
640
+ 95: "#ffeafd",
641
+ 100: "#ffffff"
642
+ },
643
+ purple: {
644
+ 0: "#000000",
645
+ 5: "#1e004f",
646
+ 10: "#2b005c",
647
+ 15: "#390268",
648
+ 20: "#461373",
649
+ 25: "#52237b",
650
+ 30: "#5d3283",
651
+ 35: "#69408b",
652
+ 40: "#744e92",
653
+ 45: "#7f5c9a",
654
+ 50: "#8b6aa2",
655
+ 55: "#9877b0",
656
+ 60: "#a584bd",
657
+ 65: "#b391cb",
658
+ 70: "#c19ed9",
659
+ 75: "#cfabe8",
660
+ 80: "#ddb9f6",
661
+ 85: "#eac8ff",
662
+ 90: "#f2daff",
663
+ 95: "#f9ecff",
664
+ 100: "#ffffff"
665
+ },
666
+ red: {
667
+ 0: "#000000",
668
+ 5: "#3e0000",
669
+ 10: "#490000",
670
+ 15: "#550000",
671
+ 20: "#62100f",
672
+ 25: "#6d211c",
673
+ 30: "#773029",
674
+ 35: "#823f36",
675
+ 40: "#8c4d44",
676
+ 45: "#955b52",
677
+ 50: "#9f6961",
678
+ 55: "#ad766d",
679
+ 60: "#bb837a",
680
+ 65: "#c99087",
681
+ 70: "#d79d94",
682
+ 75: "#e6aba1",
683
+ 80: "#f4b8ae",
684
+ 85: "#ffc7bd",
685
+ 90: "#ffdad3",
686
+ 95: "#ffece8",
687
+ 100: "#ffffff"
688
+ },
689
+ teal: {
690
+ 0: "#000000",
691
+ 5: "#001f00",
692
+ 10: "#00280b",
693
+ 15: "#003216",
694
+ 20: "#003d22",
695
+ 25: "#00482d",
696
+ 30: "#005439",
697
+ 35: "#005f45",
698
+ 40: "#136b52",
699
+ 45: "#30775f",
700
+ 50: "#46826d",
701
+ 55: "#528f79",
702
+ 60: "#5f9d86",
703
+ 65: "#6caa93",
704
+ 70: "#7ab8a0",
705
+ 75: "#87c5ae",
706
+ 80: "#94d3bb",
707
+ 85: "#a2e1c9",
708
+ 90: "#b0f0d7",
709
+ 95: "#befee5",
710
+ 100: "#ffffff"
711
+ },
712
+ yellow: {
713
+ 0: "#000000",
714
+ 5: "#1e1200",
715
+ 10: "#271c00",
716
+ 15: "#2e2700",
717
+ 20: "#373200",
718
+ 25: "#413e00",
719
+ 30: "#4c4a00",
720
+ 35: "#575600",
721
+ 40: "#646200",
722
+ 45: "#726e00",
723
+ 50: "#817a00",
724
+ 55: "#8e860e",
725
+ 60: "#9c9320",
726
+ 65: "#aba02f",
727
+ 70: "#b9ae3d",
728
+ 75: "#c7bb4a",
729
+ 80: "#d6c957",
730
+ 85: "#e5d765",
731
+ 90: "#f4e572",
732
+ 95: "#fff294",
733
+ 100: "#ffffff"
734
+ },
735
+ neutral: {
736
+ 0: "#000000",
737
+ 5: "#051124",
738
+ 10: "#101c2f",
739
+ 15: "#1b263a",
740
+ 20: "#273045",
741
+ 25: "#333b4f",
742
+ 30: "#3f4759",
743
+ 35: "#4b5264",
744
+ 40: "#585e6f",
745
+ 45: "#656a79",
746
+ 50: "#727784",
747
+ 55: "#7f8491",
748
+ 60: "#8c909f",
749
+ 65: "#999eac",
750
+ 70: "#a6abba",
751
+ 75: "#b4b9c7",
752
+ 80: "#c1c6d5",
753
+ 85: "#cfd4e3",
754
+ 90: "#dde2f2",
755
+ 95: "#ebf0ff",
756
+ 100: "#ffffff"
757
+ },
758
+ accent: {
759
+ 0: "#000000",
760
+ 5: "#00085e",
761
+ 10: "#00136c",
762
+ 15: "#001c7e",
763
+ 20: "#002592",
764
+ 25: "#002fa7",
765
+ 30: "#0039be",
766
+ 35: "#0043d7",
767
+ 40: "#004df0",
768
+ 45: "#0759ff",
769
+ 50: "#4a67ff",
770
+ 55: "#6875ff",
771
+ 60: "#8083ff",
772
+ 65: "#9492ff",
773
+ 70: "#a6a1ff",
774
+ 75: "#b6b0ff",
775
+ 80: "#c6bfff",
776
+ 85: "#d5cfff",
777
+ 90: "#e3dfff",
778
+ 95: "#f1efff",
779
+ 100: "#ffffff"
780
+ },
781
+ error: {
782
+ 0: "#000000",
783
+ 5: "#470000",
784
+ 10: "#530000",
785
+ 15: "#600000",
786
+ 20: "#6d0000",
787
+ 25: "#771210",
788
+ 30: "#82261e",
789
+ 35: "#8c372c",
790
+ 40: "#96463b",
791
+ 45: "#a0564a",
792
+ 50: "#a96559",
793
+ 55: "#b77265",
794
+ 60: "#c57e72",
795
+ 65: "#d48b7e",
796
+ 70: "#e2998b",
797
+ 75: "#f1a698",
798
+ 80: "#ffb4a6",
799
+ 85: "#ffc7bc",
800
+ 90: "#ffdad2",
801
+ 95: "#ffece8",
802
+ 100: "#ffffff"
803
+ },
804
+ warning: {
805
+ 0: "#000000",
806
+ 5: "#270c00",
807
+ 10: "#301800",
808
+ 15: "#3b2200",
809
+ 20: "#472c00",
810
+ 25: "#543700",
811
+ 30: "#614200",
812
+ 35: "#6f4d00",
813
+ 40: "#7d5800",
814
+ 45: "#8b6400",
815
+ 50: "#9a7000",
816
+ 55: "#a97d00",
817
+ 60: "#b88900",
818
+ 65: "#c89600",
819
+ 70: "#d8a300",
820
+ 75: "#e7b100",
821
+ 80: "#f7be00",
822
+ 85: "#ffcd51",
823
+ 90: "#ffde9c",
824
+ 95: "#ffeed0",
825
+ 100: "#ffffff"
826
+ },
827
+ success: {
828
+ 0: "#000000",
829
+ 5: "#001a00",
830
+ 10: "#092300",
831
+ 15: "#0b2e00",
832
+ 20: "#043b00",
833
+ 25: "#004700",
834
+ 30: "#005400",
835
+ 35: "#036100",
836
+ 40: "#136e00",
837
+ 45: "#277b00",
838
+ 50: "#448700",
839
+ 55: "#529400",
840
+ 60: "#60a105",
841
+ 65: "#6eaf1d",
842
+ 70: "#7cbd2e",
843
+ 75: "#8bcb3c",
844
+ 80: "#99d94b",
845
+ 85: "#a7e758",
846
+ 90: "#b5f566",
847
+ 95: "#ccff88",
848
+ 100: "#ffffff"
849
+ }
850
+ };
851
+ export {
852
+ butterIconRegistry,
853
+ butterPalettes,
854
+ butterTheme
855
+ };