@stackoverflow/stacks 2.6.0 → 2.7.0

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.
@@ -1,711 +1,711 @@
1
- /* stylelint-disable property-no-unknown */
2
-
3
- // For colors to render properly, you *cannot* have inline comments following a color value
4
- // The color *and comments* will be passed as the value for the given key and
5
- // it will fail silently in Stacks' build but might break consumer's builds
6
- //
7
- // For example, the value of this:
8
- // default: hsl(0, 0%, 100%); // test comment
9
- // Will render as this:
10
- // hsl(0, 0%, 100%); // test comment
11
- //
12
- // tl;dr: don't put inline after values in this file
13
-
14
- // White
15
- .set-white() {
16
- default: hsl(0, 0%, 100%);
17
- }
18
- .set-white-dark() {
19
- default: hsl(210, 3%, 15%);
20
- }
21
- .set-white-hc() {
22
- default: hsl(0, 0%, 100%);
23
- }
24
- .set-white-hc-dark() {
25
- default: hsl(0, 0%, 0%);
26
- }
27
-
28
- // Black
29
- .set-black() {
30
- 050: hsl(0, 0%, 100%);
31
- 100: hsl(210, 8%, 98%);
32
- 150: hsl(210, 8%, 95%);
33
- 200: hsl(210, 8%, 90%);
34
- 225: hsl(210, 8%, 85%);
35
- 250: hsl(210, 8%, 80%);
36
- 300: hsl(210, 9%, 75%);
37
- 350: hsl(210, 8%, 68%);
38
- 400: hsl(210, 8%, 42%);
39
- 500: hsl(210, 8%, 25%);
40
- 600: hsl(210, 8%, 5%);
41
- default: hsl(0, 0%, 0%);
42
- }
43
- .set-black-dark() {
44
- 050: hsl(210, 3%, 15%);
45
- 100: hsl(210, 3%, 18%);
46
- 150: hsl(210, 4%, 21%);
47
- 200: hsl(210, 4%, 27%);
48
- 225: hsl(210, 4%, 30%);
49
- 250: hsl(210, 5%, 36%);
50
- 300: hsl(210, 4%, 47%);
51
- 350: hsl(210, 8%, 70%);
52
- 400: hsl(210, 8%, 80%);
53
- 500: hsl(210, 8%, 90%);
54
- 600: hsl(210, 11%, 98%);
55
- default: hsl(0, 0%, 100%);
56
- }
57
- .set-black-hc() {
58
- 050: hsl(0, 0%, 100%);
59
- 100: hsl(210, 8%, 98%);
60
- 150: hsl(210, 8%, 95%);
61
- 200: hsl(210, 8%, 90%);
62
- 225: hsl(210, 8%, 85%);
63
- 250: hsl(210, 8%, 80%);
64
- 300: hsl(210, 9%, 75%);
65
- 350: hsl(210, 8%, 45%);
66
- 400: hsl(212, 8%, 35%);
67
- 500: hsl(210, 8%, 25%);
68
- 600: hsl(210, 8%, 5%);
69
- default: hsl(0, 0%, 0%);
70
- }
71
-
72
- .set-black-hc-dark() {
73
- 050: hsl(210, 3%, 15%);
74
- 100: hsl(210, 3%, 18%);
75
- 150: hsl(210, 4%, 21%);
76
- 200: hsl(210, 4%, 27%);
77
- 225: hsl(210, 4%, 30%);
78
- 250: hsl(210, 5%, 36%);
79
- 300: hsl(210, 4%, 47%);
80
- 350: hsl(210, 10%, 74%);
81
- 400: hsl(210, 8%, 80%);
82
- 500: hsl(210, 8%, 90%);
83
- 600: hsl(210, 11%, 98%);
84
- default: hsl(0, 0%, 100%);
85
- }
86
-
87
- // Orange
88
- .set-orange() {
89
- 100: hsl(23, 87%, 97%);
90
- 200: hsl(27, 87%, 87%);
91
- 300: hsl(27, 87%, 72%);
92
- 400: hsl(27, 89%, 48%);
93
- 500: hsl(27, 87%, 41%);
94
- 600: hsl(27, 87%, 27%);
95
- }
96
- .set-orange-dark() {
97
- 100: hsl(27, 55%, 20%);
98
- 200: hsl(27, 50%, 33%);
99
- 300: hsl(27, 50%, 43%);
100
- 400: hsl(27, 90%, 68%);
101
- 500: hsl(27, 90%, 80%);
102
- 600: hsl(27, 90%, 90%);
103
- }
104
- .set-orange-hc() {
105
- 100: hsl(23, 87%, 97%);
106
- 200: hsl(23, 87%, 97%);
107
- 300: hsl(27, 89%, 48%);
108
- 400: hsl(27, 87%, 29%);
109
- 500: hsl(27, 87%, 21%);
110
- 600: hsl(27, 87%, 21%);
111
- }
112
- .set-orange-hc-dark() {
113
- 100: hsl(27, 30%, 19%);
114
- 200: hsl(27, 30%, 19%);
115
- 300: hsl(27, 80%, 72%);
116
- 400: hsl(27, 80%, 72%);
117
- 500: hsl(28, 78%, 93%);
118
- 600: hsl(28, 78%, 93%);
119
- }
120
-
121
- // Blue
122
- .set-blue() {
123
- 100: hsl(210, 80%, 96%);
124
- 200: hsl(210, 80%, 91%);
125
- 300: hsl(210, 78%, 76%);
126
- 400: hsl(210, 77%, 46%);
127
- 500: hsl(210, 77%, 36%);
128
- 600: hsl(210, 80%, 23%);
129
- }
130
- .set-blue-dark() {
131
- 100: hsl(210, 50%, 22%);
132
- 200: hsl(210, 50%, 36%);
133
- 300: hsl(210, 50%, 48%);
134
- 400: hsl(210, 89%, 77%);
135
- 500: hsl(210, 89%, 84%);
136
- 600: hsl(210, 89%, 92%);
137
- }
138
- .set-blue-hc() {
139
- 100: hsl(210, 80%, 96%);
140
- 200: hsl(210, 80%, 96%);
141
- 300: hsl(210, 70%, 48%);
142
- 400: hsl(210, 77%, 34%);
143
- 500: hsl(210, 80%, 23%);
144
- 600: hsl(210, 80%, 23%);
145
- }
146
- .set-blue-hc-dark() {
147
- 100: hsl(209, 30%, 19%);
148
- 200: hsl(209, 30%, 19%);
149
- 300: hsl(210, 80%, 72%);
150
- 400: hsl(210, 80%, 75%);
151
- 500: hsl(210, 78%, 93%);
152
- 600: hsl(210, 78%, 93%);
153
- }
154
-
155
- // Green
156
- .set-green() {
157
- 100: hsl(148, 35%, 95%);
158
- 200: hsl(148, 35%, 88%);
159
- 300: hsl(148, 35%, 69%);
160
- 400: hsl(148, 70%, 31%);
161
- 500: hsl(148, 75%, 22%);
162
- 600: hsl(148, 75%, 15%);
163
- }
164
- .set-green-dark() {
165
- 100: hsl(149, 51%, 15%);
166
- 200: hsl(149, 51%, 25%);
167
- 300: hsl(149, 51%, 36%);
168
- 400: hsl(149, 50%, 62%);
169
- 500: hsl(149, 50%, 74%);
170
- 600: hsl(149, 50%, 88%);
171
- }
172
- .set-green-hc() {
173
- 100: hsl(147, 36%, 95%);
174
- 200: hsl(147, 36%, 95%);
175
- 300: hsl(148, 70%, 31%);
176
- 400: hsl(148, 75%, 22%);
177
- 500: hsl(146, 74%, 15%);
178
- 600: hsl(146, 74%, 15%);
179
- }
180
- .set-green-hc-dark() {
181
- 100: hsl(147, 30%, 19%);
182
- 200: hsl(147, 30%, 19%);
183
- 300: hsl(148, 40%, 62%);
184
- 400: hsl(148, 40%, 68%);
185
- 500: hsl(150, 39%, 93%);
186
- 600: hsl(150, 39%, 93%);
187
- }
188
-
189
- // Red
190
- .set-red() {
191
- 100: hsl(0, 72%, 96%);
192
- 200: hsl(0, 70%, 93%);
193
- 300: hsl(0, 66%, 80%);
194
- 400: hsl(0, 60%, 49%);
195
- 500: hsl(0, 65%, 37%);
196
- 600: hsl(0, 65%, 22%);
197
- }
198
- .set-red-dark() {
199
- 100: hsl(0, 43%, 22%);
200
- 200: hsl(0, 43%, 41%);
201
- 300: hsl(0, 43%, 56%);
202
- 400: hsl(0, 90%, 81%);
203
- 500: hsl(0, 90%, 88%);
204
- 600: hsl(0, 90%, 94%);
205
- }
206
- .set-red-hc() {
207
- 100: hsl(0, 80%, 96%);
208
- 200: hsl(0, 80%, 96%);
209
- 300: hsl(0, 60%, 49%);
210
- 400: hsl(0, 65%, 37%);
211
- 500: hsl(0, 65%, 22%);
212
- 600: hsl(0, 65%, 22%);
213
- }
214
- .set-red-hc-dark() {
215
- 100: hsl(358, 30%, 19%);
216
- 200: hsl(358, 30%, 19%);
217
- 300: hsl(0, 75%, 77%);
218
- 400: hsl(0, 73%, 80%);
219
- 500: hsl(0, 76%, 95%);
220
- 600: hsl(0, 76%, 95%);
221
- }
222
-
223
- // Yellow
224
- .set-yellow() {
225
- 100: hsl(43, 85%, 95%);
226
- 200: hsl(43, 85%, 88%);
227
- 300: hsl(43, 85%, 72%);
228
- 400: hsl(43, 85%, 50%);
229
- 500: hsl(43, 85%, 33%);
230
- 600: hsl(43, 85%, 18%);
231
- }
232
- .set-yellow-dark() {
233
- 100: hsl(43, 50%, 17%);
234
- 200: hsl(43, 50%, 28%);
235
- 300: hsl(43, 50%, 39%);
236
- 400: hsl(43, 90%, 75%);
237
- 500: hsl(43, 90%, 82%);
238
- 600: hsl(43, 90%, 91%);
239
- }
240
- .set-yellow-hc() {
241
- 100: hsl(41, 85%, 95%);
242
- 200: hsl(41, 85%, 95%);
243
- 300: hsl(43, 85%, 50%);
244
- 400: hsl(43, 85%, 50%);
245
- 500: hsl(48, 85%, 18%);
246
- 600: hsl(48, 85%, 18%);
247
- }
248
- .set-yellow-hc-dark() {
249
- 100: hsl(43, 29%, 17%);
250
- 200: hsl(43, 29%, 17%);
251
- 300: hsl(43, 75%, 75%);
252
- 400: hsl(43, 75%, 75%);
253
- 500: hsl(48, 74%, 91%);
254
- 600: hsl(44, 74%, 91%);
255
- }
256
-
257
- // Purple
258
- .set-purple() {
259
- 100: hsl(237, 83%, 98%);
260
- 200: hsl(237, 78%, 93%);
261
- 300: hsl(237, 60%, 83%);
262
- 400: hsl(237, 55%, 57%);
263
- 500: hsl(237, 50%, 45%);
264
- 600: hsl(237, 50%, 32%);
265
- }
266
- .set-purple-dark() {
267
- 100: hsl(237, 26%, 23%);
268
- 200: hsl(237, 26%, 44%);
269
- 300: hsl(237, 26%, 56%);
270
- 400: hsl(237, 98%, 87%);
271
- 500: hsl(237, 98%, 92%);
272
- 600: hsl(237, 98%, 96%);
273
- }
274
- .set-purple-hc() {
275
- 100: hsl(237, 83%, 98%);
276
- 200: hsl(237, 83%, 98%);
277
- 300: hsl(237, 55%, 57%);
278
- 400: hsl(237, 55%, 57%);
279
- 500: hsl(237, 50%, 32%);
280
- 600: hsl(237, 50%, 32%);
281
- }
282
- .set-purple-hc-dark() {
283
- 100: hsl(237, 26%, 23%);
284
- 200: hsl(237, 26%, 23%);
285
- 300: hsl(237, 98%, 87%);
286
- 400: hsl(237, 98%, 87%);
287
- 500: hsl(237, 98%, 96%);
288
- 600: hsl(237, 98%, 96%);
289
- }
290
-
291
- // gold
292
- .set-gold() {
293
- 100: hsl(46, 100%, 91%);
294
- 200: hsl(46, 100%, 74%);
295
- 300: hsl(45, 100%, 42%);
296
- 400: hsl(46, 92%, 26%);
297
- }
298
- .set-gold-dark() {
299
- 100: hsl(45, 29%, 24%);
300
- 200: hsl(45, 47%, 37%);
301
- 300: hsl(45, 92%, 62%);
302
- 400: hsl(46, 93%, 78%);
303
- }
304
- .set-gold-hc() {
305
- 100: hsl(46, 100%, 91%);
306
- 200: hsl(46, 100%, 91%);
307
- 300: hsl(45, 100%, 42%);
308
- 400: hsl(46, 92%, 26%);
309
- }
310
- .set-gold-hc-dark() {
311
- 100: hsl(45, 22%, 25%);
312
- 200: hsl(45, 22%, 25%);
313
- 300: hsl(45, 92%, 62%);
314
- 400: hsl(46, 93%, 78%);
315
- }
316
-
317
- // silver
318
- .set-silver() {
319
- 100: hsl(0, 0%, 95%);
320
- 200: hsl(0, 0%, 84%);
321
- 300: hsl(210, 5%, 68%);
322
- 400: hsl(210, 2%, 40%);
323
- }
324
- .set-silver-dark() {
325
- 100: hsl(220, 2%, 26%);
326
- 200: hsl(220, 1%, 46%);
327
- 300: hsl(216, 4%, 69%);
328
- 400: hsl(214, 8%, 83%);
329
- }
330
- .set-silver-hc() {
331
- 100: hsl(0, 0%, 95%);
332
- 200: hsl(0, 0%, 95%);
333
- 300: hsl(210, 5%, 68%);
334
- 400: hsl(210, 2%, 40%);
335
- }
336
- .set-silver-hc-dark() {
337
- 100: hsl(220, 2%, 26%);
338
- 200: hsl(220, 2%, 26%);
339
- 300: hsl(220, 4%, 69%);
340
- 400: hsl(214, 8%, 83%);
341
- }
342
-
343
- // bronze
344
- .set-bronze() {
345
- 100: hsl(28, 40%, 92%);
346
- 200: hsl(30, 47%, 83%);
347
- 300: hsl(28, 43%, 65%);
348
- 400: hsl(28, 43%, 39%);
349
- }
350
- .set-bronze-dark() {
351
- 100: hsl(28, 13%, 27%);
352
- 200: hsl(28, 27%, 45%);
353
- 300: hsl(28, 58%, 67%);
354
- 400: hsl(28, 59%, 83%);
355
- }
356
- .set-bronze-hc() {
357
- 100: hsl(28, 40%, 92%);
358
- 200: hsl(28, 40%, 92%);
359
- 300: hsl(28, 43%, 65%);
360
- 400: hsl(28, 43%, 39%);
361
- }
362
- .set-bronze-hc-dark() {
363
- 100: hsl(27, 13%, 27%);
364
- 200: hsl(27, 13%, 27%);
365
- 300: hsl(28, 58%, 67%);
366
- 400: hsl(28, 59%, 83%);
367
- }
368
-
369
- // UTILITY SETS
370
- // common aliases - applies to border-color and background
371
- .set-utility-alias() {
372
- error: var(--red-400);
373
- danger: var(--red-400);
374
- success: var(--green-400);
375
- warning: var(--yellow-500);
376
- }
377
-
378
- // border color
379
- .set-bc() {
380
- lightest: var(--black-100);
381
- lighter: var(--black-150);
382
- light: var(--black-200);
383
- medium: var(--black-225);
384
- dark: var(--black-250);
385
- darker: var(--black-300);
386
- }
387
- .set-bc-hc() {
388
- lightest: var(--black-400);
389
- lighter: var(--black-400);
390
- light: var(--black-400);
391
- medium: var(--black-400);
392
- dark: var(--black-500);
393
- darker: var(--black-600);
394
- }
395
-
396
- // box-shadow
397
- .set-bs() {
398
- sm: 0 1px 2px hsla(0, 0%, 0%, 0.05), 0 1px 4px hsla(0, 0%, 0%, 0.05), 0 2px 8px hsla(0, 0%, 0%, 0.05);
399
- md: 0 1px 3px hsla(0, 0%, 0%, 0.06), 0 2px 6px hsla(0, 0%, 0%, 0.06), 0 3px 8px hsla(0, 0%, 0%, 0.09);
400
- lg: 0 1px 4px hsla(0, 0%, 0%, 0.09), 0 3px 8px hsla(0, 0%, 0%, 0.09), 0 4px 13px hsla(0, 0%, 0%, 0.13);
401
- xl: 0 10px 24px hsla(0, 0%, 0%, 0.05), 0 20px 48px hsla(0, 0%, 0%, 0.05), 0 1px 4px hsla(0, 0%, 0%, 0.1);
402
- }
403
- .set-bs-dark() {
404
- sm: 0 1px 2px hsla(0, 0%, 0%, 0.1), 0 1px 4px hsla(0, 0%, 0%, 0.1), 0 2px 8px hsla(0, 0%, 0%, 0.1);
405
- md: 0 1px 3px hsla(0, 0%, 0%, 0.11), 0 2px 6px hsla(0, 0%, 0%, 0.11), 0 3px 8px hsla(0, 0%, 0%, 0.14);
406
- lg: 0 1px 4px hsla(0, 0%, 0%, 0.14), 0 3px 8px hsla(0, 0%, 0%, 0.14), 0 4px 13px hsla(0, 0%, 0%, 0.18);
407
- xl: 0 10px 24px hsla(0, 0%, 0%, 0.1), 0 20px 48px hsla(0, 0%, 0%, 0.1), 0 1px 4px hsla(0, 0%, 0%, 0.15);
408
- }
409
- .set-bs-hc() {
410
- sm: none;
411
- md: none;
412
- lg: none;
413
- xl: none;
414
- }
415
- .set-bs-hc-dark() {
416
- sm: none;
417
- md: none;
418
- lg: none;
419
- xl: none;
420
- }
421
-
422
- // font color
423
- .set-fc() {
424
- light: var(--black-400);
425
- medium: var(--black-500);
426
- dark: var(--black-600);
427
- error: var(--red-400);
428
- danger: var(--red-400);
429
- success: var(--green-400);
430
- warning: var(--yellow-500);
431
- }
432
-
433
- // translucent utility colors (HC set represents both light and dark HC modes)
434
- .set-translucent() {
435
- secondary: var(--theme-secondary-custom-translucent, hsla(206, 100%, 40%, 0.15));
436
- success: hsla(140, 40%, 75%, 0.4);
437
- warning: hsla(47, 79%, 58%, 0.4);
438
- error: hsla(358, 62%, 47%, 0.15);
439
- muted: hsla(210, 8%, 15%, 0.1);
440
- }
441
- .set-translucent-dark() {
442
- secondary: var(--theme-dark-secondary-custom-translucent, hsla(206, 100%, 40%, 0.25));
443
- success: hsla(140, 40%, 75%, 0.4);
444
- warning: hsla(47, 79%, 58%, 0.4);
445
- error: hsla(358, 62%, 47%, 0.15);
446
- muted: hsla(210, 8%, 15%, 0.1);
447
- }
448
- .set-translucent-hc() {
449
- secondary: hsla(206, 100%, 40%, 0.9);
450
- success: hsla(140, 40%, 40%, 0.9);
451
- warning: hsla(47, 76%, 46%, 0.9);
452
- error: hsla(358, 62%, 47%, 0.9);
453
- muted: hsla(210, 8%, 55%, 0.95);
454
- }
455
-
456
- // focus colors used for accessible focus styles
457
- .set-focus() {
458
- neutral: var(--white);
459
- theme: var(--theme-secondary-400);
460
- }
461
-
462
- // focus ring (sets represents both light and dark mode)
463
- .set-focus-ring() {
464
- default: var(--theme-secondary-custom-focus-ring, hsla(206, 100%, 40%, 0.15));
465
- success: hsla(140, 40%, 75%, 0.4);
466
- warning: hsla(47, 79%, 58%, 0.4);
467
- error: hsla(358, 62%, 47%, 0.15);
468
- muted: hsla(210, 8%, 15%, 0.1);
469
- }
470
- .set-focus-ring-dark() {
471
- default: var(--theme-dark-secondary-custom-focus-ring, hsla(206, 100%, 40%, 0.25));
472
- success: hsla(140, 40%, 75%, 0.4);
473
- warning: hsla(47, 79%, 58%, 0.4);
474
- error: hsla(358, 62%, 47%, 0.15);
475
- muted: hsla(210, 8%, 15%, 0.1);
476
- }
477
- .set-focus-ring-hc() {
478
- default: hsla(206, 100%, 40%, 0.9);
479
- success: hsla(140, 40%, 40%, 0.9);
480
- warning: hsla(47, 76%, 46%, 0.9);
481
- error: hsla(358, 62%, 47%, 0.9);
482
- muted: hsla(210, 8%, 55%, 0.95);
483
- }
484
-
485
- // highlight
486
- // TODO consult with design to potentially map static colors to new colors variables
487
- .set-highlight() {
488
- addition: var(--green-500);
489
- attribute: hsl(206, 98.5%, 29%);
490
- bg: hsl(0, 0%, 96.5%);
491
- color: var(--black-600);
492
- comment: hsl(210, 8%, 43.5%);
493
- deletion: var(--red-500);
494
- keyword: hsl(206, 98.5%, 29%);
495
- literal: hsl(27, 99%, 36%);
496
- namespace: hsl(27, 99%, 36%);
497
- punctuation: var(--black-500);
498
- symbol: hsl(306, 43%, 35%);
499
- variable: hsl(80, 80.5%, 26.5%);
500
- }
501
- .set-highlight-dark() {
502
- addition: var(--green-500);
503
- attribute: var(--blue-400);
504
- bg: hsl(0, 2%, 11%);
505
- color: var(--black);
506
- comment: hsl(0, 0%, 60%);
507
- deletion: var(--red-500);
508
- keyword:var(--blue-400);
509
- literal: hsl(27, 95%, 65%);
510
- namespace: hsl(27, 95%, 65%);
511
- punctuation: hsl(0, 0%, 80%);
512
- symbol: hsl(306, 50%, 75%);
513
- variable: hsl(65.5, 39%, 57.5%);
514
- }
515
- .set-highlight-hc() {
516
- addition: var(--green-500);
517
- attribute: hsl(215, 100%, 35%);
518
- bg: hsl(0, 0%, 96.5%);
519
- color: var(--black-600);
520
- comment: hsl(213, 7%, 33%);
521
- deletion: var(--red-400);
522
- keyword: hsl(215, 100%, 35%);
523
- literal: hsl(16, 94%, 31%);
524
- namespace: hsl(16, 94%, 31%);
525
- punctuation: var(--black-500);
526
- symbol: hsl(309, 45%, 31%);
527
- variable: hsl(88, 100%, 18%);
528
- }
529
- .set-highlight-hc-dark() {
530
- addition: var(--green-500);
531
- attribute: hsl(200, 57%, 85%);
532
- bg: hsl(0, 0%, 10%);
533
- color: hsl(0, 0%, 100%);
534
- comment: hsl(0, 0%, 99%);
535
- deletion: var(--red-500);
536
- keyword: hsl(200, 57%, 85%);
537
- literal: hsl(36, 96%, 71%);
538
- namespace: hsl(36, 96%, 71%);
539
- punctuation: hsl(0, 0%, 99%);
540
- symbol: hsl(304, 39%, 85%);
541
- variable: hsl(62, 71%, 81%);
542
- }
543
-
544
- .set-scrollbar() {
545
- default: hsla(0, 0%, 0%, 0.2);
546
- }
547
- .set-scrollbar-dark() {
548
- default: hsla(0, 0%, 100%, 0.2);
549
- }
550
- .set-scrollbar-hc() {
551
- default: var(--black);
552
- }
553
- .set-scrollbar-hc-dark() {
554
- default: var(--black);
555
- }
556
-
557
- // Color sets
558
- .sets-mode() {
559
- light: .sets-light();
560
- light-highcontrast: .sets-light-hc();
561
- dark: .sets-dark();
562
- dark-highcontrast: .sets-dark-hc();
563
- }
564
-
565
- .sets-light() {
566
- white: .set-white();
567
- black: .set-black();
568
- orange: .set-orange();
569
- blue: .set-blue();
570
- green: .set-green();
571
- red: .set-red();
572
- yellow: .set-yellow();
573
- purple: .set-purple();
574
- gold: .set-gold();
575
- silver: .set-silver();
576
- bronze: .set-bronze();
577
- }
578
-
579
- .sets-dark() {
580
- white: .set-white-dark();
581
- black: .set-black-dark();
582
- orange: .set-orange-dark();
583
- blue: .set-blue-dark();
584
- green: .set-green-dark();
585
- red: .set-red-dark();
586
- yellow: .set-yellow-dark();
587
- purple: .set-purple-dark();
588
- gold: .set-gold-dark();
589
- silver: .set-silver-dark();
590
- bronze: .set-bronze-dark();
591
- }
592
-
593
- .sets-light-hc() {
594
- white: .set-white-hc();
595
- black: .set-black-hc();
596
- orange: .set-orange-hc();
597
- blue: .set-blue-hc();
598
- green: .set-green-hc();
599
- red: .set-red-hc();
600
- yellow: .set-yellow-hc();
601
- purple: .set-purple-hc();
602
- gold: .set-gold-hc();
603
- silver: .set-silver-hc();
604
- bronze: .set-bronze-hc();
605
- }
606
-
607
- .sets-dark-hc() {
608
- white: .set-white-hc-dark();
609
- black: .set-black-hc-dark();
610
- orange: .set-orange-hc-dark();
611
- blue: .set-blue-hc-dark();
612
- green: .set-green-hc-dark();
613
- red: .set-red-hc-dark();
614
- yellow: .set-yellow-hc-dark();
615
- purple: .set-purple-hc-dark();
616
- gold: .set-gold-hc-dark();
617
- silver: .set-silver-hc-dark();
618
- bronze: .set-bronze-hc-dark();
619
- }
620
-
621
- // Utitly sets for variable generation
622
- .sets-aliased-utility-variables() {
623
- bg: .set-utility-alias();
624
- bc: .set-utility-alias();
625
- fc: .set-fc();
626
- }
627
-
628
- // Utility sets
629
- .sets-utility-mode() {
630
- light: .sets-utility();
631
- light-highcontrast: .sets-utility-hc();
632
- dark: .sets-utility-dark();
633
- dark-highcontrast: .sets-utility-dark-hc();
634
- }
635
-
636
- .sets-utility() {
637
- bc: .set-bc();
638
- bs: .set-bs();
639
- translucent: .set-translucent();
640
- focus: .set-focus();
641
- focus-ring: .set-focus-ring();
642
- highlight: .set-highlight();
643
- scrollbar: .set-scrollbar();
644
- }
645
-
646
- .sets-utility-dark() {
647
- bc: .set-bc();
648
- bs: .set-bs-dark();
649
- translucent: .set-translucent-dark();
650
- focus: .set-focus();
651
- focus-ring: .set-focus-ring-dark();
652
- highlight: .set-highlight-dark();
653
- scrollbar: .set-scrollbar-dark();
654
- }
655
-
656
- .sets-utility-hc() {
657
- bc: .set-bc-hc();
658
- bs: .set-bs-hc();
659
- translucent: .set-translucent-hc();
660
- focus: .set-focus();
661
- focus-ring: .set-focus-ring-hc();
662
- highlight: .set-highlight-hc();
663
- scrollbar: .set-scrollbar-hc();
664
- }
665
-
666
- .sets-utility-dark-hc() {
667
- bc: .set-bc-hc();
668
- bs: .set-bs-hc-dark();
669
- translucent: .set-translucent-hc();
670
- focus: .set-focus();
671
- focus-ring: .set-focus-ring-hc();
672
- highlight: .set-highlight-hc-dark();
673
- scrollbar: .set-scrollbar-hc-dark();
674
- }
675
-
676
- // Theme values
677
- // TODO update to use custom theme colors with orange/blue as fallbacks
678
- .set-theme-primary-default() {
679
- default: var(--orange-400);
680
- 100: var(--orange-100);
681
- 200: var(--orange-200);
682
- 300: var(--orange-300);
683
- 400: var(--orange-400);
684
- 500: var(--orange-500);
685
- 600: var(--orange-600);
686
- }
687
-
688
- .set-theme-secondary-default() {
689
- default: var(--blue-400);
690
- 100: var(--blue-100);
691
- 200: var(--blue-200);
692
- 300: var(--blue-300);
693
- 400: var(--blue-400);
694
- 500: var(--blue-500);
695
- 600: var(--blue-600);
696
- }
697
-
698
- .sets-theme-default() {
699
- theme-primary: .set-theme-primary-default();
700
- theme-secondary: .set-theme-secondary-default();
701
- }
702
-
703
- .theme-light-default() {
704
- primary: .set-orange()[400];
705
- secondary: .set-blue()[400];
706
- }
707
-
708
- .theme-dark-default() {
709
- primary: .set-orange-dark()[400];
710
- secondary: .set-blue-dark()[400];
711
- }
1
+ /* stylelint-disable property-no-unknown */
2
+
3
+ // For colors to render properly, you *cannot* have inline comments following a color value
4
+ // The color *and comments* will be passed as the value for the given key and
5
+ // it will fail silently in Stacks' build but might break consumer's builds
6
+ //
7
+ // For example, the value of this:
8
+ // default: hsl(0, 0%, 100%); // test comment
9
+ // Will render as this:
10
+ // hsl(0, 0%, 100%); // test comment
11
+ //
12
+ // tl;dr: don't put inline after values in this file
13
+
14
+ // White
15
+ .set-white() {
16
+ default: hsl(0, 0%, 100%);
17
+ }
18
+ .set-white-dark() {
19
+ default: hsl(210, 3%, 15%);
20
+ }
21
+ .set-white-hc() {
22
+ default: hsl(0, 0%, 100%);
23
+ }
24
+ .set-white-hc-dark() {
25
+ default: hsl(0, 0%, 0%);
26
+ }
27
+
28
+ // Black
29
+ .set-black() {
30
+ 050: hsl(0, 0%, 100%);
31
+ 100: hsl(210, 8%, 98%);
32
+ 150: hsl(210, 8%, 95%);
33
+ 200: hsl(210, 8%, 90%);
34
+ 225: hsl(210, 8%, 85%);
35
+ 250: hsl(210, 8%, 80%);
36
+ 300: hsl(210, 9%, 75%);
37
+ 350: hsl(210, 8%, 68%);
38
+ 400: hsl(210, 8%, 42%);
39
+ 500: hsl(210, 8%, 25%);
40
+ 600: hsl(210, 8%, 5%);
41
+ default: hsl(0, 0%, 0%);
42
+ }
43
+ .set-black-dark() {
44
+ 050: hsl(210, 3%, 15%);
45
+ 100: hsl(210, 3%, 18%);
46
+ 150: hsl(210, 4%, 21%);
47
+ 200: hsl(210, 4%, 27%);
48
+ 225: hsl(210, 4%, 30%);
49
+ 250: hsl(210, 5%, 36%);
50
+ 300: hsl(210, 4%, 47%);
51
+ 350: hsl(210, 8%, 70%);
52
+ 400: hsl(210, 8%, 80%);
53
+ 500: hsl(210, 8%, 90%);
54
+ 600: hsl(210, 11%, 98%);
55
+ default: hsl(0, 0%, 100%);
56
+ }
57
+ .set-black-hc() {
58
+ 050: hsl(0, 0%, 100%);
59
+ 100: hsl(210, 8%, 98%);
60
+ 150: hsl(210, 8%, 95%);
61
+ 200: hsl(210, 8%, 90%);
62
+ 225: hsl(210, 8%, 85%);
63
+ 250: hsl(210, 8%, 80%);
64
+ 300: hsl(210, 9%, 75%);
65
+ 350: hsl(210, 8%, 45%);
66
+ 400: hsl(212, 8%, 35%);
67
+ 500: hsl(210, 8%, 25%);
68
+ 600: hsl(210, 8%, 5%);
69
+ default: hsl(0, 0%, 0%);
70
+ }
71
+
72
+ .set-black-hc-dark() {
73
+ 050: hsl(210, 3%, 15%);
74
+ 100: hsl(210, 3%, 18%);
75
+ 150: hsl(210, 4%, 21%);
76
+ 200: hsl(210, 4%, 27%);
77
+ 225: hsl(210, 4%, 30%);
78
+ 250: hsl(210, 5%, 36%);
79
+ 300: hsl(210, 4%, 47%);
80
+ 350: hsl(210, 10%, 74%);
81
+ 400: hsl(210, 8%, 80%);
82
+ 500: hsl(210, 8%, 90%);
83
+ 600: hsl(210, 11%, 98%);
84
+ default: hsl(0, 0%, 100%);
85
+ }
86
+
87
+ // Orange
88
+ .set-orange() {
89
+ 100: hsl(23, 87%, 97%);
90
+ 200: hsl(27, 87%, 87%);
91
+ 300: hsl(27, 87%, 72%);
92
+ 400: hsl(27, 89%, 48%);
93
+ 500: hsl(27, 87%, 41%);
94
+ 600: hsl(27, 87%, 27%);
95
+ }
96
+ .set-orange-dark() {
97
+ 100: hsl(27, 55%, 20%);
98
+ 200: hsl(27, 50%, 33%);
99
+ 300: hsl(27, 50%, 43%);
100
+ 400: hsl(27, 90%, 68%);
101
+ 500: hsl(27, 90%, 80%);
102
+ 600: hsl(27, 90%, 90%);
103
+ }
104
+ .set-orange-hc() {
105
+ 100: hsl(23, 87%, 97%);
106
+ 200: hsl(23, 87%, 97%);
107
+ 300: hsl(27, 89%, 48%);
108
+ 400: hsl(27, 87%, 29%);
109
+ 500: hsl(27, 87%, 21%);
110
+ 600: hsl(27, 87%, 21%);
111
+ }
112
+ .set-orange-hc-dark() {
113
+ 100: hsl(27, 30%, 19%);
114
+ 200: hsl(27, 30%, 19%);
115
+ 300: hsl(27, 80%, 72%);
116
+ 400: hsl(27, 80%, 72%);
117
+ 500: hsl(28, 78%, 93%);
118
+ 600: hsl(28, 78%, 93%);
119
+ }
120
+
121
+ // Blue
122
+ .set-blue() {
123
+ 100: hsl(210, 80%, 96%);
124
+ 200: hsl(210, 80%, 91%);
125
+ 300: hsl(210, 78%, 76%);
126
+ 400: hsl(210, 77%, 46%);
127
+ 500: hsl(210, 77%, 36%);
128
+ 600: hsl(210, 80%, 23%);
129
+ }
130
+ .set-blue-dark() {
131
+ 100: hsl(210, 50%, 22%);
132
+ 200: hsl(210, 50%, 36%);
133
+ 300: hsl(210, 50%, 48%);
134
+ 400: hsl(210, 89%, 77%);
135
+ 500: hsl(210, 89%, 84%);
136
+ 600: hsl(210, 89%, 92%);
137
+ }
138
+ .set-blue-hc() {
139
+ 100: hsl(210, 80%, 96%);
140
+ 200: hsl(210, 80%, 96%);
141
+ 300: hsl(210, 70%, 48%);
142
+ 400: hsl(210, 77%, 34%);
143
+ 500: hsl(210, 80%, 23%);
144
+ 600: hsl(210, 80%, 23%);
145
+ }
146
+ .set-blue-hc-dark() {
147
+ 100: hsl(209, 30%, 19%);
148
+ 200: hsl(209, 30%, 19%);
149
+ 300: hsl(210, 80%, 72%);
150
+ 400: hsl(210, 80%, 75%);
151
+ 500: hsl(210, 78%, 93%);
152
+ 600: hsl(210, 78%, 93%);
153
+ }
154
+
155
+ // Green
156
+ .set-green() {
157
+ 100: hsl(148, 35%, 95%);
158
+ 200: hsl(148, 35%, 88%);
159
+ 300: hsl(148, 35%, 69%);
160
+ 400: hsl(148, 70%, 31%);
161
+ 500: hsl(148, 75%, 22%);
162
+ 600: hsl(148, 75%, 15%);
163
+ }
164
+ .set-green-dark() {
165
+ 100: hsl(149, 51%, 15%);
166
+ 200: hsl(149, 51%, 25%);
167
+ 300: hsl(149, 51%, 36%);
168
+ 400: hsl(149, 50%, 62%);
169
+ 500: hsl(149, 50%, 74%);
170
+ 600: hsl(149, 50%, 88%);
171
+ }
172
+ .set-green-hc() {
173
+ 100: hsl(147, 36%, 95%);
174
+ 200: hsl(147, 36%, 95%);
175
+ 300: hsl(148, 70%, 31%);
176
+ 400: hsl(148, 75%, 22%);
177
+ 500: hsl(146, 74%, 15%);
178
+ 600: hsl(146, 74%, 15%);
179
+ }
180
+ .set-green-hc-dark() {
181
+ 100: hsl(147, 30%, 19%);
182
+ 200: hsl(147, 30%, 19%);
183
+ 300: hsl(148, 40%, 62%);
184
+ 400: hsl(148, 40%, 68%);
185
+ 500: hsl(150, 39%, 93%);
186
+ 600: hsl(150, 39%, 93%);
187
+ }
188
+
189
+ // Red
190
+ .set-red() {
191
+ 100: hsl(0, 72%, 96%);
192
+ 200: hsl(0, 70%, 93%);
193
+ 300: hsl(0, 66%, 80%);
194
+ 400: hsl(0, 60%, 49%);
195
+ 500: hsl(0, 65%, 37%);
196
+ 600: hsl(0, 65%, 22%);
197
+ }
198
+ .set-red-dark() {
199
+ 100: hsl(0, 43%, 22%);
200
+ 200: hsl(0, 43%, 41%);
201
+ 300: hsl(0, 43%, 56%);
202
+ 400: hsl(0, 90%, 81%);
203
+ 500: hsl(0, 90%, 88%);
204
+ 600: hsl(0, 90%, 94%);
205
+ }
206
+ .set-red-hc() {
207
+ 100: hsl(0, 80%, 96%);
208
+ 200: hsl(0, 80%, 96%);
209
+ 300: hsl(0, 60%, 49%);
210
+ 400: hsl(0, 65%, 37%);
211
+ 500: hsl(0, 65%, 22%);
212
+ 600: hsl(0, 65%, 22%);
213
+ }
214
+ .set-red-hc-dark() {
215
+ 100: hsl(358, 30%, 19%);
216
+ 200: hsl(358, 30%, 19%);
217
+ 300: hsl(0, 75%, 77%);
218
+ 400: hsl(0, 73%, 80%);
219
+ 500: hsl(0, 76%, 95%);
220
+ 600: hsl(0, 76%, 95%);
221
+ }
222
+
223
+ // Yellow
224
+ .set-yellow() {
225
+ 100: hsl(43, 85%, 95%);
226
+ 200: hsl(43, 85%, 88%);
227
+ 300: hsl(43, 85%, 72%);
228
+ 400: hsl(43, 85%, 50%);
229
+ 500: hsl(43, 85%, 33%);
230
+ 600: hsl(43, 85%, 18%);
231
+ }
232
+ .set-yellow-dark() {
233
+ 100: hsl(43, 50%, 17%);
234
+ 200: hsl(43, 50%, 28%);
235
+ 300: hsl(43, 50%, 39%);
236
+ 400: hsl(43, 90%, 75%);
237
+ 500: hsl(43, 90%, 82%);
238
+ 600: hsl(43, 90%, 91%);
239
+ }
240
+ .set-yellow-hc() {
241
+ 100: hsl(41, 85%, 95%);
242
+ 200: hsl(41, 85%, 95%);
243
+ 300: hsl(43, 85%, 50%);
244
+ 400: hsl(43, 85%, 50%);
245
+ 500: hsl(48, 85%, 18%);
246
+ 600: hsl(48, 85%, 18%);
247
+ }
248
+ .set-yellow-hc-dark() {
249
+ 100: hsl(43, 29%, 17%);
250
+ 200: hsl(43, 29%, 17%);
251
+ 300: hsl(43, 75%, 75%);
252
+ 400: hsl(43, 75%, 75%);
253
+ 500: hsl(48, 74%, 91%);
254
+ 600: hsl(44, 74%, 91%);
255
+ }
256
+
257
+ // Purple
258
+ .set-purple() {
259
+ 100: hsl(237, 83%, 98%);
260
+ 200: hsl(237, 78%, 93%);
261
+ 300: hsl(237, 60%, 83%);
262
+ 400: hsl(237, 55%, 57%);
263
+ 500: hsl(237, 50%, 45%);
264
+ 600: hsl(237, 50%, 32%);
265
+ }
266
+ .set-purple-dark() {
267
+ 100: hsl(237, 26%, 23%);
268
+ 200: hsl(237, 26%, 44%);
269
+ 300: hsl(237, 26%, 56%);
270
+ 400: hsl(237, 98%, 87%);
271
+ 500: hsl(237, 98%, 92%);
272
+ 600: hsl(237, 98%, 96%);
273
+ }
274
+ .set-purple-hc() {
275
+ 100: hsl(237, 83%, 98%);
276
+ 200: hsl(237, 83%, 98%);
277
+ 300: hsl(237, 55%, 57%);
278
+ 400: hsl(237, 52%, 48%);
279
+ 500: hsl(237, 50%, 32%);
280
+ 600: hsl(237, 50%, 32%);
281
+ }
282
+ .set-purple-hc-dark() {
283
+ 100: hsl(237, 26%, 23%);
284
+ 200: hsl(237, 26%, 23%);
285
+ 300: hsl(237, 98%, 87%);
286
+ 400: hsl(237, 98%, 87%);
287
+ 500: hsl(237, 98%, 96%);
288
+ 600: hsl(237, 98%, 96%);
289
+ }
290
+
291
+ // gold
292
+ .set-gold() {
293
+ 100: hsl(46, 100%, 91%);
294
+ 200: hsl(46, 100%, 74%);
295
+ 300: hsl(45, 100%, 42%);
296
+ 400: hsl(46, 92%, 26%);
297
+ }
298
+ .set-gold-dark() {
299
+ 100: hsl(45, 29%, 24%);
300
+ 200: hsl(45, 47%, 37%);
301
+ 300: hsl(45, 92%, 62%);
302
+ 400: hsl(46, 93%, 78%);
303
+ }
304
+ .set-gold-hc() {
305
+ 100: hsl(46, 100%, 91%);
306
+ 200: hsl(46, 100%, 91%);
307
+ 300: hsl(45, 100%, 42%);
308
+ 400: hsl(46, 92%, 26%);
309
+ }
310
+ .set-gold-hc-dark() {
311
+ 100: hsl(45, 22%, 25%);
312
+ 200: hsl(45, 22%, 25%);
313
+ 300: hsl(45, 92%, 62%);
314
+ 400: hsl(46, 93%, 78%);
315
+ }
316
+
317
+ // silver
318
+ .set-silver() {
319
+ 100: hsl(0, 0%, 95%);
320
+ 200: hsl(0, 0%, 84%);
321
+ 300: hsl(210, 5%, 68%);
322
+ 400: hsl(210, 2%, 40%);
323
+ }
324
+ .set-silver-dark() {
325
+ 100: hsl(220, 2%, 26%);
326
+ 200: hsl(220, 1%, 46%);
327
+ 300: hsl(216, 4%, 69%);
328
+ 400: hsl(214, 8%, 83%);
329
+ }
330
+ .set-silver-hc() {
331
+ 100: hsl(0, 0%, 95%);
332
+ 200: hsl(0, 0%, 95%);
333
+ 300: hsl(210, 5%, 68%);
334
+ 400: hsl(210, 2%, 40%);
335
+ }
336
+ .set-silver-hc-dark() {
337
+ 100: hsl(220, 2%, 26%);
338
+ 200: hsl(220, 2%, 26%);
339
+ 300: hsl(220, 4%, 69%);
340
+ 400: hsl(214, 8%, 83%);
341
+ }
342
+
343
+ // bronze
344
+ .set-bronze() {
345
+ 100: hsl(28, 40%, 92%);
346
+ 200: hsl(30, 47%, 83%);
347
+ 300: hsl(28, 43%, 65%);
348
+ 400: hsl(28, 43%, 39%);
349
+ }
350
+ .set-bronze-dark() {
351
+ 100: hsl(28, 13%, 27%);
352
+ 200: hsl(28, 27%, 45%);
353
+ 300: hsl(28, 58%, 67%);
354
+ 400: hsl(28, 59%, 83%);
355
+ }
356
+ .set-bronze-hc() {
357
+ 100: hsl(28, 40%, 92%);
358
+ 200: hsl(28, 40%, 92%);
359
+ 300: hsl(28, 43%, 65%);
360
+ 400: hsl(28, 43%, 39%);
361
+ }
362
+ .set-bronze-hc-dark() {
363
+ 100: hsl(27, 13%, 27%);
364
+ 200: hsl(27, 13%, 27%);
365
+ 300: hsl(28, 58%, 67%);
366
+ 400: hsl(28, 59%, 83%);
367
+ }
368
+
369
+ // UTILITY SETS
370
+ // common aliases - applies to border-color and background
371
+ .set-utility-alias() {
372
+ error: var(--red-400);
373
+ danger: var(--red-400);
374
+ success: var(--green-400);
375
+ warning: var(--yellow-500);
376
+ }
377
+
378
+ // border color
379
+ .set-bc() {
380
+ lightest: var(--black-100);
381
+ lighter: var(--black-150);
382
+ light: var(--black-200);
383
+ medium: var(--black-225);
384
+ dark: var(--black-250);
385
+ darker: var(--black-300);
386
+ }
387
+ .set-bc-hc() {
388
+ lightest: var(--black-400);
389
+ lighter: var(--black-400);
390
+ light: var(--black-400);
391
+ medium: var(--black-400);
392
+ dark: var(--black-500);
393
+ darker: var(--black-600);
394
+ }
395
+
396
+ // box-shadow
397
+ .set-bs() {
398
+ sm: 0 1px 2px hsla(0, 0%, 0%, 0.05), 0 1px 4px hsla(0, 0%, 0%, 0.05), 0 2px 8px hsla(0, 0%, 0%, 0.05);
399
+ md: 0 1px 3px hsla(0, 0%, 0%, 0.06), 0 2px 6px hsla(0, 0%, 0%, 0.06), 0 3px 8px hsla(0, 0%, 0%, 0.09);
400
+ lg: 0 1px 4px hsla(0, 0%, 0%, 0.09), 0 3px 8px hsla(0, 0%, 0%, 0.09), 0 4px 13px hsla(0, 0%, 0%, 0.13);
401
+ xl: 0 10px 24px hsla(0, 0%, 0%, 0.05), 0 20px 48px hsla(0, 0%, 0%, 0.05), 0 1px 4px hsla(0, 0%, 0%, 0.1);
402
+ }
403
+ .set-bs-dark() {
404
+ sm: 0 1px 2px hsla(0, 0%, 0%, 0.1), 0 1px 4px hsla(0, 0%, 0%, 0.1), 0 2px 8px hsla(0, 0%, 0%, 0.1);
405
+ md: 0 1px 3px hsla(0, 0%, 0%, 0.11), 0 2px 6px hsla(0, 0%, 0%, 0.11), 0 3px 8px hsla(0, 0%, 0%, 0.14);
406
+ lg: 0 1px 4px hsla(0, 0%, 0%, 0.14), 0 3px 8px hsla(0, 0%, 0%, 0.14), 0 4px 13px hsla(0, 0%, 0%, 0.18);
407
+ xl: 0 10px 24px hsla(0, 0%, 0%, 0.1), 0 20px 48px hsla(0, 0%, 0%, 0.1), 0 1px 4px hsla(0, 0%, 0%, 0.15);
408
+ }
409
+ .set-bs-hc() {
410
+ sm: none;
411
+ md: none;
412
+ lg: none;
413
+ xl: none;
414
+ }
415
+ .set-bs-hc-dark() {
416
+ sm: none;
417
+ md: none;
418
+ lg: none;
419
+ xl: none;
420
+ }
421
+
422
+ // font color
423
+ .set-fc() {
424
+ light: var(--black-400);
425
+ medium: var(--black-500);
426
+ dark: var(--black-600);
427
+ error: var(--red-400);
428
+ danger: var(--red-400);
429
+ success: var(--green-400);
430
+ warning: var(--yellow-500);
431
+ }
432
+
433
+ // translucent utility colors (HC set represents both light and dark HC modes)
434
+ .set-translucent() {
435
+ secondary: var(--theme-secondary-custom-translucent, hsla(206, 100%, 40%, 0.15));
436
+ success: hsla(140, 40%, 75%, 0.4);
437
+ warning: hsla(47, 79%, 58%, 0.4);
438
+ error: hsla(358, 62%, 47%, 0.15);
439
+ muted: hsla(210, 8%, 15%, 0.1);
440
+ }
441
+ .set-translucent-dark() {
442
+ secondary: var(--theme-dark-secondary-custom-translucent, hsla(206, 100%, 40%, 0.25));
443
+ success: hsla(140, 40%, 75%, 0.4);
444
+ warning: hsla(47, 79%, 58%, 0.4);
445
+ error: hsla(358, 62%, 47%, 0.15);
446
+ muted: hsla(210, 8%, 15%, 0.1);
447
+ }
448
+ .set-translucent-hc() {
449
+ secondary: hsla(206, 100%, 40%, 0.9);
450
+ success: hsla(140, 40%, 40%, 0.9);
451
+ warning: hsla(47, 76%, 46%, 0.9);
452
+ error: hsla(358, 62%, 47%, 0.9);
453
+ muted: hsla(210, 8%, 55%, 0.95);
454
+ }
455
+
456
+ // focus colors used for accessible focus styles
457
+ .set-focus() {
458
+ neutral: var(--white);
459
+ theme: var(--theme-secondary-400);
460
+ }
461
+
462
+ // focus ring (sets represents both light and dark mode)
463
+ .set-focus-ring() {
464
+ default: var(--theme-secondary-custom-focus-ring, hsla(206, 100%, 40%, 0.15));
465
+ success: hsla(140, 40%, 75%, 0.4);
466
+ warning: hsla(47, 79%, 58%, 0.4);
467
+ error: hsla(358, 62%, 47%, 0.15);
468
+ muted: hsla(210, 8%, 15%, 0.1);
469
+ }
470
+ .set-focus-ring-dark() {
471
+ default: var(--theme-dark-secondary-custom-focus-ring, hsla(206, 100%, 40%, 0.25));
472
+ success: hsla(140, 40%, 75%, 0.4);
473
+ warning: hsla(47, 79%, 58%, 0.4);
474
+ error: hsla(358, 62%, 47%, 0.15);
475
+ muted: hsla(210, 8%, 15%, 0.1);
476
+ }
477
+ .set-focus-ring-hc() {
478
+ default: hsla(206, 100%, 40%, 0.9);
479
+ success: hsla(140, 40%, 40%, 0.9);
480
+ warning: hsla(47, 76%, 46%, 0.9);
481
+ error: hsla(358, 62%, 47%, 0.9);
482
+ muted: hsla(210, 8%, 55%, 0.95);
483
+ }
484
+
485
+ // highlight
486
+ // TODO consult with design to potentially map static colors to new colors variables
487
+ .set-highlight() {
488
+ addition: var(--green-500);
489
+ attribute: hsl(206, 98.5%, 29%);
490
+ bg: hsl(0, 0%, 96.5%);
491
+ color: var(--black-600);
492
+ comment: hsl(210, 8%, 43.5%);
493
+ deletion: var(--red-500);
494
+ keyword: hsl(206, 98.5%, 29%);
495
+ literal: hsl(27, 99%, 36%);
496
+ namespace: hsl(27, 99%, 36%);
497
+ punctuation: var(--black-500);
498
+ symbol: hsl(306, 43%, 35%);
499
+ variable: hsl(80, 80.5%, 26.5%);
500
+ }
501
+ .set-highlight-dark() {
502
+ addition: var(--green-500);
503
+ attribute: var(--blue-400);
504
+ bg: hsl(0, 2%, 11%);
505
+ color: var(--black);
506
+ comment: hsl(0, 0%, 60%);
507
+ deletion: var(--red-500);
508
+ keyword:var(--blue-400);
509
+ literal: hsl(27, 95%, 65%);
510
+ namespace: hsl(27, 95%, 65%);
511
+ punctuation: hsl(0, 0%, 80%);
512
+ symbol: hsl(306, 50%, 75%);
513
+ variable: hsl(65.5, 39%, 57.5%);
514
+ }
515
+ .set-highlight-hc() {
516
+ addition: var(--green-500);
517
+ attribute: hsl(215, 100%, 35%);
518
+ bg: hsl(0, 0%, 96.5%);
519
+ color: var(--black-600);
520
+ comment: hsl(213, 7%, 33%);
521
+ deletion: var(--red-400);
522
+ keyword: hsl(215, 100%, 35%);
523
+ literal: hsl(16, 94%, 31%);
524
+ namespace: hsl(16, 94%, 31%);
525
+ punctuation: var(--black-500);
526
+ symbol: hsl(309, 45%, 31%);
527
+ variable: hsl(88, 100%, 18%);
528
+ }
529
+ .set-highlight-hc-dark() {
530
+ addition: var(--green-500);
531
+ attribute: hsl(200, 57%, 85%);
532
+ bg: hsl(0, 0%, 10%);
533
+ color: hsl(0, 0%, 100%);
534
+ comment: hsl(0, 0%, 99%);
535
+ deletion: var(--red-500);
536
+ keyword: hsl(200, 57%, 85%);
537
+ literal: hsl(36, 96%, 71%);
538
+ namespace: hsl(36, 96%, 71%);
539
+ punctuation: hsl(0, 0%, 99%);
540
+ symbol: hsl(304, 39%, 85%);
541
+ variable: hsl(62, 71%, 81%);
542
+ }
543
+
544
+ .set-scrollbar() {
545
+ default: hsla(0, 0%, 0%, 0.2);
546
+ }
547
+ .set-scrollbar-dark() {
548
+ default: hsla(0, 0%, 100%, 0.2);
549
+ }
550
+ .set-scrollbar-hc() {
551
+ default: var(--black);
552
+ }
553
+ .set-scrollbar-hc-dark() {
554
+ default: var(--black);
555
+ }
556
+
557
+ // Color sets
558
+ .sets-mode() {
559
+ light: .sets-light();
560
+ light-highcontrast: .sets-light-hc();
561
+ dark: .sets-dark();
562
+ dark-highcontrast: .sets-dark-hc();
563
+ }
564
+
565
+ .sets-light() {
566
+ white: .set-white();
567
+ black: .set-black();
568
+ orange: .set-orange();
569
+ blue: .set-blue();
570
+ green: .set-green();
571
+ red: .set-red();
572
+ yellow: .set-yellow();
573
+ purple: .set-purple();
574
+ gold: .set-gold();
575
+ silver: .set-silver();
576
+ bronze: .set-bronze();
577
+ }
578
+
579
+ .sets-dark() {
580
+ white: .set-white-dark();
581
+ black: .set-black-dark();
582
+ orange: .set-orange-dark();
583
+ blue: .set-blue-dark();
584
+ green: .set-green-dark();
585
+ red: .set-red-dark();
586
+ yellow: .set-yellow-dark();
587
+ purple: .set-purple-dark();
588
+ gold: .set-gold-dark();
589
+ silver: .set-silver-dark();
590
+ bronze: .set-bronze-dark();
591
+ }
592
+
593
+ .sets-light-hc() {
594
+ white: .set-white-hc();
595
+ black: .set-black-hc();
596
+ orange: .set-orange-hc();
597
+ blue: .set-blue-hc();
598
+ green: .set-green-hc();
599
+ red: .set-red-hc();
600
+ yellow: .set-yellow-hc();
601
+ purple: .set-purple-hc();
602
+ gold: .set-gold-hc();
603
+ silver: .set-silver-hc();
604
+ bronze: .set-bronze-hc();
605
+ }
606
+
607
+ .sets-dark-hc() {
608
+ white: .set-white-hc-dark();
609
+ black: .set-black-hc-dark();
610
+ orange: .set-orange-hc-dark();
611
+ blue: .set-blue-hc-dark();
612
+ green: .set-green-hc-dark();
613
+ red: .set-red-hc-dark();
614
+ yellow: .set-yellow-hc-dark();
615
+ purple: .set-purple-hc-dark();
616
+ gold: .set-gold-hc-dark();
617
+ silver: .set-silver-hc-dark();
618
+ bronze: .set-bronze-hc-dark();
619
+ }
620
+
621
+ // Utitly sets for variable generation
622
+ .sets-aliased-utility-variables() {
623
+ bg: .set-utility-alias();
624
+ bc: .set-utility-alias();
625
+ fc: .set-fc();
626
+ }
627
+
628
+ // Utility sets
629
+ .sets-utility-mode() {
630
+ light: .sets-utility();
631
+ light-highcontrast: .sets-utility-hc();
632
+ dark: .sets-utility-dark();
633
+ dark-highcontrast: .sets-utility-dark-hc();
634
+ }
635
+
636
+ .sets-utility() {
637
+ bc: .set-bc();
638
+ bs: .set-bs();
639
+ translucent: .set-translucent();
640
+ focus: .set-focus();
641
+ focus-ring: .set-focus-ring();
642
+ highlight: .set-highlight();
643
+ scrollbar: .set-scrollbar();
644
+ }
645
+
646
+ .sets-utility-dark() {
647
+ bc: .set-bc();
648
+ bs: .set-bs-dark();
649
+ translucent: .set-translucent-dark();
650
+ focus: .set-focus();
651
+ focus-ring: .set-focus-ring-dark();
652
+ highlight: .set-highlight-dark();
653
+ scrollbar: .set-scrollbar-dark();
654
+ }
655
+
656
+ .sets-utility-hc() {
657
+ bc: .set-bc-hc();
658
+ bs: .set-bs-hc();
659
+ translucent: .set-translucent-hc();
660
+ focus: .set-focus();
661
+ focus-ring: .set-focus-ring-hc();
662
+ highlight: .set-highlight-hc();
663
+ scrollbar: .set-scrollbar-hc();
664
+ }
665
+
666
+ .sets-utility-dark-hc() {
667
+ bc: .set-bc-hc();
668
+ bs: .set-bs-hc-dark();
669
+ translucent: .set-translucent-hc();
670
+ focus: .set-focus();
671
+ focus-ring: .set-focus-ring-hc();
672
+ highlight: .set-highlight-hc-dark();
673
+ scrollbar: .set-scrollbar-hc-dark();
674
+ }
675
+
676
+ // Theme values
677
+ // TODO update to use custom theme colors with orange/blue as fallbacks
678
+ .set-theme-primary-default() {
679
+ default: var(--orange-400);
680
+ 100: var(--orange-100);
681
+ 200: var(--orange-200);
682
+ 300: var(--orange-300);
683
+ 400: var(--orange-400);
684
+ 500: var(--orange-500);
685
+ 600: var(--orange-600);
686
+ }
687
+
688
+ .set-theme-secondary-default() {
689
+ default: var(--blue-400);
690
+ 100: var(--blue-100);
691
+ 200: var(--blue-200);
692
+ 300: var(--blue-300);
693
+ 400: var(--blue-400);
694
+ 500: var(--blue-500);
695
+ 600: var(--blue-600);
696
+ }
697
+
698
+ .sets-theme-default() {
699
+ theme-primary: .set-theme-primary-default();
700
+ theme-secondary: .set-theme-secondary-default();
701
+ }
702
+
703
+ .theme-light-default() {
704
+ primary: .set-orange()[400];
705
+ secondary: .set-blue()[400];
706
+ }
707
+
708
+ .theme-dark-default() {
709
+ primary: .set-orange-dark()[400];
710
+ secondary: .set-blue-dark()[400];
711
+ }