@stackoverflow/stacks 1.10.2 → 2.0.0-rc.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.
Files changed (95) hide show
  1. package/README.md +15 -0
  2. package/dist/css/stacks.css +7428 -4429
  3. package/dist/css/stacks.min.css +1 -1
  4. package/lib/atomic/__snapshots__/color-new.less.test.ts.snap +3015 -0
  5. package/lib/atomic/__snapshots__/color.less.test.ts.snap +2886 -0
  6. package/lib/atomic/border.less +0 -258
  7. package/lib/atomic/color.less +26 -200
  8. package/lib/atomic/color.less.test.ts +12 -0
  9. package/lib/atomic/misc.less +7 -6
  10. package/lib/atomic/typography.less +0 -7
  11. package/lib/atomic/v1/__snapshots__/border.less.test.ts.snap +552 -0
  12. package/lib/atomic/v1/__snapshots__/color.less.test.ts.snap +6756 -0
  13. package/lib/atomic/v1/__snapshots__/typography.less.test.ts.snap +22 -0
  14. package/lib/atomic/v1/border.less +210 -0
  15. package/lib/atomic/v1/border.less.test.ts +14 -0
  16. package/lib/atomic/v1/color.less +183 -0
  17. package/lib/atomic/v1/color.less.test.ts +14 -0
  18. package/lib/atomic/v1/typography.less +8 -0
  19. package/lib/atomic/v1/typography.less.test.ts +14 -0
  20. package/lib/components/activity-indicator/activity-indicator.a11y.test.ts +1 -8
  21. package/lib/components/activity-indicator/activity-indicator.less +4 -4
  22. package/lib/components/anchor/anchor.a11y.test.ts +0 -5
  23. package/lib/components/anchor/anchor.less +4 -4
  24. package/lib/components/anchor/anchor.visual.test.ts +1 -1
  25. package/lib/components/avatar/avatar.less +2 -2
  26. package/lib/components/award-bling/award-bling.less +3 -3
  27. package/lib/components/badge/badge.a11y.test.ts +2 -12
  28. package/lib/components/badge/badge.less +40 -40
  29. package/lib/components/badge/badge.visual.test.ts +27 -5
  30. package/lib/components/block-link/block-link.a11y.test.ts +0 -7
  31. package/lib/components/block-link/block-link.less +8 -8
  32. package/lib/components/breadcrumbs/breadcrumbs.less +1 -1
  33. package/lib/components/button/button.a11y.test.ts +0 -3
  34. package/lib/components/button/button.less +40 -40
  35. package/lib/components/button/button.visual.test.ts +1 -1
  36. package/lib/components/check-control/check-control.a11y.test.ts +0 -5
  37. package/lib/components/check-control/check-control.visual.test.ts +1 -1
  38. package/lib/components/checkbox_radio/checkbox_radio.less +5 -5
  39. package/lib/components/checkbox_radio/checkbox_radio.visual.test.ts +1 -1
  40. package/lib/components/code-block/code-block.less +3 -3
  41. package/lib/components/description/description.a11y.test.ts +0 -1
  42. package/lib/components/description/description.visual.test.ts +1 -1
  43. package/lib/components/input-fill/input-fill.less +2 -2
  44. package/lib/components/input-icon/input-icon.less +2 -2
  45. package/lib/components/input-message/input-message.less +8 -8
  46. package/lib/components/input_textarea/input_textarea.less +6 -6
  47. package/lib/components/label/label.less +11 -11
  48. package/lib/components/link/link.a11y.test.ts +0 -8
  49. package/lib/components/link/link.less +8 -8
  50. package/lib/components/link-preview/link-preview.less +9 -9
  51. package/lib/components/menu/menu.less +3 -3
  52. package/lib/components/modal/modal.less +5 -4
  53. package/lib/components/navigation/navigation.less +11 -11
  54. package/lib/components/notice/notice.less +48 -48
  55. package/lib/components/pagination/pagination.less +3 -3
  56. package/lib/components/popover/popover.less +2 -2
  57. package/lib/components/popover/tooltip.test.ts +1 -1
  58. package/lib/components/post-summary/post-summary.less +40 -40
  59. package/lib/components/progress-bar/progress-bar.less +15 -15
  60. package/lib/components/prose/prose.less +15 -15
  61. package/lib/components/select/select.less +5 -5
  62. package/lib/components/sidebar-widget/sidebar-widget.less +12 -12
  63. package/lib/components/table/table.less +7 -7
  64. package/lib/components/tag/tag.less +25 -25
  65. package/lib/components/toggle-switch/toggle-switch.a11y.test.ts +0 -4
  66. package/lib/components/toggle-switch/toggle-switch.less +4 -4
  67. package/lib/components/toggle-switch/toggle-switch.visual.test.ts +12 -11
  68. package/lib/components/topbar/topbar.less +34 -34
  69. package/lib/components/uploader/uploader.less +15 -15
  70. package/lib/components/user-card/user-card.less +7 -7
  71. package/lib/exports/__snapshots__/color-mixins.less.test.ts.snap +539 -0
  72. package/lib/exports/__snapshots__/color.less.test.ts.snap +762 -0
  73. package/lib/exports/color-mixins.less +280 -0
  74. package/lib/exports/color-mixins.less.test.ts +150 -0
  75. package/lib/exports/color-sets.less +620 -0
  76. package/lib/exports/color.less +57 -0
  77. package/lib/exports/color.less.test.ts +12 -0
  78. package/lib/exports/exports.less +2 -1
  79. package/lib/exports/mixins.less +17 -5
  80. package/lib/exports/theme.less +85 -0
  81. package/lib/exports/v1/__snapshots__/constants-colors.less.test.ts.snap +902 -0
  82. package/lib/exports/v1/constants-colors.less +893 -0
  83. package/lib/exports/v1/constants-colors.less.test.ts +12 -0
  84. package/lib/stacks-static.less +5 -0
  85. package/lib/test/axe-apca/README.md +34 -0
  86. package/lib/test/axe-apca/index.ts +3 -0
  87. package/lib/test/axe-apca/package.wip.json +30 -0
  88. package/lib/test/axe-apca/src/apca-w3.d.ts +3 -0
  89. package/lib/test/axe-apca/src/axe-apca.test.ts +155 -0
  90. package/lib/test/axe-apca/src/axe-apca.ts +212 -0
  91. package/lib/test/less-test-utils.ts +28 -0
  92. package/lib/test/test-utils.ts +18 -1
  93. package/lib/tsconfig.json +1 -0
  94. package/package.json +14 -7
  95. package/lib/exports/constants-colors.less +0 -1100
@@ -1,33 +1,3 @@
1
- //
2
- // STACK OVERFLOW
3
- // BORDER CLASSES
4
- //
5
- // This CSS comes from Stacks, our CSS & Pattern library for rapidly building
6
- // Stack Overflow. For documentation of all these classes and how to contribute,
7
- // visit https://stackoverflow.design/
8
- //
9
- // TABLE OF CONTENTS
10
- // • BORDER
11
- // • WIDTH
12
- // • STYLE
13
- // • RADIUS
14
- // • COLORS
15
- //
16
- // ============================================================================
17
- // $ BORDER
18
- // Default border has 1px width and solid style. To apply a non-black
19
- // color, use a border-color class.
20
- //
21
- // Border Sides:
22
- // bn: border none
23
- // ba: border all sides
24
- // bt: border top side
25
- // br: border right side
26
- // bl: border left side
27
- // bb: border bottom side
28
- // bx: border x-axis
29
- // by: border y-axis
30
- // ----------------------------------------------------------------------------
31
1
  #stacks-internals #responsify('.ba', { .bas-solid; .baw1; });
32
2
  #stacks-internals #responsify('.bt', { .bts-solid; .btw1; });
33
3
  #stacks-internals #responsify('.br', { .brs-solid; .brw1; });
@@ -38,11 +8,6 @@
38
8
 
39
9
  // ============================================================================
40
10
  // $ WIDTH
41
- // w0: 0 border width
42
- // w1: First step: 1px border width
43
- // w2: Second step: 2px border width
44
- // w3: Third step: 4px border width
45
- // w4: Fourth step: 8px border width
46
11
  // ----------------------------------------------------------------------------
47
12
  // $$ All Sides
48
13
  #stacks-internals #responsify('.baw0', { border-width: 0 !important; });
@@ -90,8 +55,6 @@
90
55
 
91
56
  // ============================================================================
92
57
  // $ STYLE
93
- // s-dashed: dashed border style
94
- // s-solid: solid border style
95
58
  // ============================================================================
96
59
  // $$ All sides
97
60
  .bas-solid { border-style: solid !important; }
@@ -116,9 +79,6 @@
116
79
 
117
80
  // ============================================================================
118
81
  // $ BORDER RADIUS
119
- // br-sm: Small step: 4px border radius
120
- // br-md: Medium step: 6px border radius
121
- // br-lg: Large step: 8px border radius
122
82
  // ----------------------------------------------------------------------------
123
83
  // $$ All Sides
124
84
  .bar-sm { border-radius: var(--br-sm) !important; }
@@ -177,221 +137,3 @@
177
137
 
178
138
  // $$ All Sides
179
139
  #stacks-internals #responsify('.bar0', { border-radius: 0 !important; });
180
-
181
- // ============================================================================
182
- // $ COLORS
183
- // ============================================================================
184
- // $$ WHITE
185
- // ----------------------------------------------------------------------------
186
- .bc-white-1 { border-color: var(--black-500) !important; }
187
- .bc-white-2 { border-color: var(--black-300) !important; }
188
- .bc-white-3,
189
- .bc-white { border-color: var(--white) !important; }
190
-
191
- .highcontrast-mode({
192
- .bc-white-1 { border-color: var(--black-025) !important; }
193
- .bc-white-2 { border-color: var(--black-050) !important; }
194
- });
195
-
196
- // $$ BLACK
197
- // ----------------------------------------------------------------------------
198
- .bc-black-025 { border-color: var(--black-025) !important; }
199
- .bc-black-1, // Deprecated
200
- .bc-black-050 { border-color: var(--black-050) !important; }
201
- .bc-black-2, // Deprecated
202
- .bc-black-075 { border-color: var(--black-075) !important; }
203
- .bc-black-3, // Deprecated
204
- .bc-black-100 { border-color: var(--black-100) !important; }
205
- .bc-black-150 { border-color: var(--black-150) !important; }
206
- .bc-black-4, // Deprecated
207
- .bc-black-200 { border-color: var(--black-200) !important; }
208
- .bc-black-5, // Deprecated
209
- .bc-black-300 { border-color: var(--black-300) !important; }
210
- .bc-black-350 { border-color: var(--black-350) !important; }
211
- .bc-black-6, // Deprecated
212
- .bc-black-400 { border-color: var(--black-400) !important; }
213
- .bc-black-7, // Deprecated
214
- .bc-black-500 { border-color: var(--black-500) !important; }
215
- .bc-black-600 { border-color: var(--black-600) !important; }
216
- .bc-black-8, // Deprecated
217
- .bc-black-700 { border-color: var(--black-700) !important; }
218
- .bc-black-750 { border-color: var(--black-750) !important; }
219
- .bc-black-9, // Deprecated
220
- .bc-black-800 { border-color: var(--black-800) !important; }
221
- .bc-black-10, // Deprecated
222
- .bc-black-900 { border-color: var(--black-900) !important; }
223
-
224
- .highcontrast-mode({
225
- .bc-black-025,
226
- .bc-black-1, // Deprecated
227
- .bc-black-050,
228
- .bc-black-2, // Deprecated
229
- .bc-black-075,
230
- .bc-black-3, // Deprecated
231
- .bc-black-100,
232
- .bc-black-150,
233
- .bc-black-4, // Deprecated
234
- .bc-black-200 { border-color: var(--black-300) !important; }
235
- });
236
-
237
- // $$ ORANGE
238
- // ----------------------------------------------------------------------------
239
- .bc-orange-050 { border-color: var(--orange-050) !important; }
240
- .bc-orange-1, // Deprecated
241
- .bc-orange-100 { border-color: var(--orange-100) !important; }
242
- .bc-orange-200 { border-color: var(--orange-200) !important; }
243
- .bc-orange-300 { border-color: var(--orange-300) !important; }
244
- .bc-orange-2, // Deprecated
245
- .bc-orange-400 { border-color: var(--orange-400) !important; }
246
- .bc-orange-500 { border-color: var(--orange-500) !important; }
247
- .bc-orange-3, // Deprecated
248
- .bc-orange-600 { border-color: var(--orange-600) !important; }
249
- .bc-orange-700 { border-color: var(--orange-700) !important; }
250
- .bc-orange-800 { border-color: var(--orange-800) !important; }
251
- .bc-orange-900 { border-color: var(--orange-900) !important; }
252
-
253
- // $$ BLUE
254
- // ----------------------------------------------------------------------------
255
- .bc-blue-050 { border-color: var(--blue-050) !important; }
256
- .bc-blue-1, // Deprecated
257
- .bc-blue-100 { border-color: var(--blue-100) !important; }
258
- .bc-blue-200 { border-color: var(--blue-200) !important; }
259
- .bc-blue-300 { border-color: var(--blue-300) !important; }
260
- .bc-blue-2, // Deprecated
261
- .bc-blue-400 { border-color: var(--blue-400) !important; }
262
- .bc-blue-500 { border-color: var(--blue-500) !important; }
263
- .bc-blue-3, // Deprecated
264
- .bc-blue-600 { border-color: var(--blue-600) !important; }
265
- .bc-blue-700 { border-color: var(--blue-700) !important; }
266
- .bc-blue-800 { border-color: var(--blue-800) !important; }
267
- .bc-blue-900 { border-color: var(--blue-900) !important; }
268
-
269
- // $$ POWDER
270
- // ----------------------------------------------------------------------------
271
- .bc-powder-050 { border-color: var(--powder-050) !important; }
272
- .bc-powder-1, // Deprecated
273
- .bc-powder-100 { border-color: var(--powder-100) !important; }
274
- .bc-powder-200 { border-color: var(--powder-200) !important; }
275
- .bc-powder-300 { border-color: var(--powder-300) !important; }
276
- .bc-powder-2, // Deprecated
277
- .bc-powder-400 { border-color: var(--powder-400) !important; }
278
- .bc-powder-500 { border-color: var(--powder-500) !important; }
279
- .bc-powder-3, // Deprecated
280
- .bc-powder-600 { border-color: var(--powder-600) !important; }
281
- .bc-powder-700 { border-color: var(--powder-700) !important; }
282
- .bc-powder-800 { border-color: var(--powder-800) !important; }
283
- .bc-powder-900 { border-color: var(--powder-900) !important; }
284
-
285
- // $$ GREEN
286
- // ----------------------------------------------------------------------------
287
- .bc-green-025 { border-color: var(--green-025) !important; }
288
- .bc-green-050 { border-color: var(--green-050) !important; }
289
- .bc-green-1, // Deprecated
290
- .bc-green-100 { border-color: var(--green-100) !important; }
291
- .bc-green-200 { border-color: var(--green-200) !important; }
292
- .bc-green-300 { border-color: var(--green-300) !important; }
293
- .bc-green-2, // Deprecated
294
- .bc-green-400 { border-color: var(--green-400) !important; }
295
- .bc-green-500 { border-color: var(--green-500) !important; }
296
- .bc-green-3, // Deprecated
297
- .bc-success,
298
- .bc-green-600 { border-color: var(--green-600) !important; }
299
- .bc-green-700 { border-color: var(--green-700) !important; }
300
- .bc-green-800 { border-color: var(--green-800) !important; }
301
- .bc-green-900 { border-color: var(--green-900) !important; }
302
-
303
- // $$ RED
304
- // ----------------------------------------------------------------------------
305
- .bc-red-025 { border-color: var(--red-025) !important; }
306
- .bc-red-050 { border-color: var(--red-050) !important; }
307
- .bc-red-1, // Deprecated
308
- .bc-red-100 { border-color: var(--red-100) !important; }
309
- .bc-red-200 { border-color: var(--red-200) !important; }
310
- .bc-red-300 { border-color: var(--red-300) !important; }
311
- .bc-red-2, // Deprecated
312
- .bc-error,
313
- .bc-red-400 { border-color: var(--red-400) !important; }
314
- .bc-red-500 { border-color: var(--red-500) !important; }
315
- .bc-red-3, // Deprecated
316
- .bc-red-600 { border-color: var(--red-600) !important; }
317
- .bc-red-700 { border-color: var(--red-700) !important; }
318
- .bc-red-800 { border-color: var(--red-800) !important; }
319
- .bc-red-900 { border-color: var(--red-900) !important; }
320
-
321
- // $$ YELLOW
322
- // ----------------------------------------------------------------------------
323
- .bc-yellow-050 { border-color: var(--yellow-050) !important; }
324
- .bc-yellow-100 { border-color: var(--yellow-100) !important; }
325
- .bc-yellow-1, // Deprecated
326
- .bc-yellow-200 { border-color: var(--yellow-200) !important; }
327
- .bc-yellow-300 { border-color: var(--yellow-300) !important; }
328
- .bc-yellow-2, // Deprecated
329
- .bc-yellow-400 { border-color: var(--yellow-400) !important; }
330
- .bc-yellow-500 { border-color: var(--yellow-500) !important; }
331
- .bc-yellow-3, // Deprecated
332
- .bc-warning,
333
- .bc-yellow-600 { border-color: var(--yellow-600) !important; }
334
- .bc-yellow-700 { border-color: var(--yellow-700) !important; }
335
- .bc-yellow-800 { border-color: var(--yellow-800) !important; }
336
- .bc-yellow-900 { border-color: var(--yellow-900) !important; }
337
-
338
- // $$ GOLD
339
- // ----------------------------------------------------------------------------
340
- .bc-gold-lighter { border-color: var(--gold-lighter) !important; }
341
- .bc-gold { border-color: var(--gold) !important; }
342
- .bc-gold-darker { border-color: var(--gold-darker) !important; }
343
-
344
- // $$ SILVER
345
- // ----------------------------------------------------------------------------
346
- .bc-silver-lighter { border-color: var(--silver-lighter) !important; }
347
- .bc-silver { border-color: var(--silver) !important; }
348
- .bc-silver-darker { border-color: var(--silver-darker) !important; }
349
-
350
- // $$ BRONZE
351
- // ----------------------------------------------------------------------------
352
- .bc-bronze-lighter { border-color: var(--bronze-lighter) !important; }
353
- .bc-bronze { border-color: var(--bronze) !important; }
354
- .bc-bronze-darker { border-color: var(--bronze-darker) !important; }
355
-
356
- // $$ PRIMARY
357
- // ----------------------------------------------------------------------------
358
- .bc-theme-primary-025 { border-color: var(--theme-primary-025) !important; }
359
- .bc-theme-primary-050 { border-color: var(--theme-primary-050) !important; }
360
- .bc-theme-primary-075 { border-color: var(--theme-primary-075) !important; }
361
- .bc-theme-primary-100 { border-color: var(--theme-primary-100) !important; }
362
- .bc-theme-primary-150 { border-color: var(--theme-primary-150) !important; }
363
- .bc-theme-primary-200 { border-color: var(--theme-primary-200) !important; }
364
- .bc-theme-primary-300 { border-color: var(--theme-primary-300) !important; }
365
- .bc-theme-primary-350 { border-color: var(--theme-primary-350) !important; }
366
- .bc-theme-primary-400 { border-color: var(--theme-primary-400) !important; }
367
- .bc-theme-primary-500 { border-color: var(--theme-primary-500) !important; }
368
- .bc-theme-primary-600 { border-color: var(--theme-primary-600) !important; }
369
- .bc-theme-primary-700 { border-color: var(--theme-primary-700) !important; }
370
- .bc-theme-primary-800 { border-color: var(--theme-primary-800) !important; }
371
- .bc-theme-primary-900 { border-color: var(--theme-primary-900) !important; }
372
-
373
- // $$ SECONDARY
374
- // ----------------------------------------------------------------------------
375
- .bc-theme-secondary-025 { border-color: var(--theme-secondary-025) !important; }
376
- .bc-theme-secondary-050 { border-color: var(--theme-secondary-050) !important; }
377
- .bc-theme-secondary-075 { border-color: var(--theme-secondary-075) !important; }
378
- .bc-theme-secondary-100 { border-color: var(--theme-secondary-100) !important; }
379
- .bc-theme-secondary-150 { border-color: var(--theme-secondary-150) !important; }
380
- .bc-theme-secondary-200 { border-color: var(--theme-secondary-200) !important; }
381
- .bc-theme-secondary-300 { border-color: var(--theme-secondary-300) !important; }
382
- .bc-theme-secondary-350 { border-color: var(--theme-secondary-350) !important; }
383
- .bc-theme-secondary-400 { border-color: var(--theme-secondary-400) !important; }
384
- .bc-theme-secondary-500 { border-color: var(--theme-secondary-500) !important; }
385
- .bc-theme-secondary-600 { border-color: var(--theme-secondary-600) !important; }
386
- .bc-theme-secondary-700 { border-color: var(--theme-secondary-700) !important; }
387
- .bc-theme-secondary-800 { border-color: var(--theme-secondary-800) !important; }
388
- .bc-theme-secondary-900 { border-color: var(--theme-secondary-900) !important; }
389
-
390
- // $$ TRANSPARENT
391
- // ----------------------------------------------------------------------------
392
- .bc-transparent { border-color: transparent !important; }
393
- .d\:bc-transparent { .dark-mode({ border-color: transparent !important; }); }
394
-
395
- // $$ INHERIT
396
- // ----------------------------------------------------------------------------
397
- .bc-inherit { border-color: inherit !important; }
@@ -1,210 +1,36 @@
1
- //
2
- // STACK OVERFLOW
3
- // COLORS
4
- //
5
- // This CSS comes from Stacks, our CSS & Pattern library for rapidly building
6
- // Stack Overflow. For documentation of all these classes and how to contribute,
7
- // visit https://stackoverflow.design/
8
- //
9
- // ============================================================================
10
- // UTILITY OVERRIDES
11
- // Instead of re-adding colors to unique class names, use these atomic classes
12
- // for text and background colors
13
- // ============================================================================
1
+ @import (reference) "../exports/color-mixins.less";
2
+ @import (reference) "../exports/mixins.less";
14
3
 
15
4
  & {
16
- .color(@color-name) {
17
- .fc-@{color-name},
18
- .h\:fc-@{color-name}:hover,
19
- .f\:fc-@{color-name}:focus,
20
- .f\:fc-@{color-name}:focus-within {
21
- color: var(~"--@{color-name}") !important;
22
- }
23
- .d\:fc-@{color-name} {
24
- .dark-mode({
25
- color: var(~"--@{color-name}") !important;
26
- });
27
- }
5
+ @set: .sets-mode()[light];
6
+ @miscUtilityClasses: transparent, inherit;
28
7
 
29
- .bg-@{color-name},
30
- .h\:bg-@{color-name}:hover,
31
- .f\:bg-@{color-name}:focus,
32
- .f\:bg-@{color-name}:focus-within {
33
- background-color: var(~"--@{color-name}") !important;
34
- }
35
- .d\:bg-@{color-name} {
36
- .dark-mode({
37
- background-color: var(~"--@{color-name}") !important;
38
- });
39
- }
40
- }
8
+ // Create utility classes
9
+ .create-colors(@set, classes);
41
10
 
42
- .standard-weights(@color) {
43
- .color(~"@{color}-900");
44
- .color(~"@{color}-800");
45
- .color(~"@{color}-700");
46
- .color(~"@{color}-600");
47
- .color(~"@{color}-500");
48
- .color(~"@{color}-400");
49
- .color(~"@{color}-300");
50
- .color(~"@{color}-200");
51
- .color(~"@{color}-100");
52
- .color(~"@{color}-050");
53
- }
11
+ // Create aliased utility classes (error, warning, etc)
12
+ .create-aliased-utility-classes();
54
13
 
55
- .standard-weights(black);
56
- .standard-weights(orange);
57
- .standard-weights(blue);
58
- .standard-weights(powder);
59
- .standard-weights(green);
60
- .standard-weights(yellow);
61
- .standard-weights(red);
62
- .standard-weights(theme-primary);
63
- .standard-weights(theme-secondary);
14
+ each(@miscUtilityClasses, {
15
+ .create-color-classes(@value, ~"@{value} !important", light, background-color);
16
+ .create-color-classes(@value, ~"@{value} !important", light, border-color);
17
+ });
64
18
 
65
- // Additional color names
66
- .color(white);
67
- .color(black);
68
- .color(black-750);
69
- .color(black-350);
70
- .color(black-150);
71
- .color(black-075);
72
- .color(black-025);
73
- .color(green-025);
74
- .color(red-025);
75
- .color(theme-primary-350);
76
- .color(theme-primary-150);
77
- .color(theme-primary-075);
78
- .color(theme-primary-025);
79
- .color(theme-secondary-350);
80
- .color(theme-secondary-150);
81
- .color(theme-secondary-075);
82
- .color(theme-secondary-025);
19
+ // Create theme-specific utility classes
20
+ .create-colors(.sets-theme-default(), classes);
83
21
 
84
- .fc-success { &:extend(.fc-green-600); }
85
- .fc-warning { &:extend(.fc-yellow-600); }
86
- .fc-error,
87
- .fc-danger { &:extend(.fc-red-500); }
88
- .bg-success { &:extend(.bg-green-500); }
89
- .bg-warning { &:extend(.bg-yellow-600); }
90
- .bg-error,
91
- .bg-danger { &:extend(.bg-red-500); }
92
- }
93
-
94
- .fc-theme-primary {
95
- color: var(--theme-primary-color) !important;
96
- }
97
-
98
- .bg-theme-primary {
99
- background-color: var(--theme-primary-color) !important;
100
- }
101
-
102
- .bc-theme-primary {
103
- border-color: var(--theme-primary-color) !important;
104
- }
105
-
106
- .fc-theme-secondary {
107
- color: var(--theme-secondary-color) !important;
108
- }
109
-
110
- .bg-theme-secondary {
111
- background-color: var(--theme-secondary-color) !important;
112
- }
113
-
114
- .bc-theme-secondary {
115
- border-color: var(--theme-secondary-color) !important;
116
- }
117
-
118
- .fc-white__forced {
119
- color: @white !important;
120
- }
121
-
122
- .fc-black__forced {
123
- color: @black !important;
124
- }
125
-
126
- .fc-gold {
127
- color: var(--gold) !important;
128
- }
129
-
130
- .fc-gold-darker {
131
- color: var(--gold-darker) !important;
132
- }
133
-
134
- .fc-gold-lighter {
135
- color: var(--gold-lighter) !important;
136
- }
137
-
138
- .bg-gold {
139
- background-color: var(--gold) !important;
140
- }
141
-
142
- .bg-gold-darker {
143
- background-color: var(--gold-darker) !important;
144
- }
145
-
146
- .bg-gold-lighter {
147
- background-color: var(--gold-lighter) !important;
148
- }
149
-
150
- .fc-silver {
151
- color: var(--silver) !important;
152
- }
153
-
154
- .fc-silver-darker {
155
- color: var(--silver-darker) !important;
156
- }
157
-
158
- .fc-silver-lighter {
159
- color: var(--silver-lighter) !important;
160
- }
161
-
162
- .bg-silver {
163
- background-color: var(--silver) !important;
164
- }
165
-
166
- .bg-silver-darker {
167
- background-color: var(--silver-darker) !important;
168
- }
169
-
170
- .bg-silver-lighter {
171
- background-color: var(--silver-lighter) !important;
172
- }
173
-
174
- .fc-bronze {
175
- color: var(--bronze) !important;
176
- }
177
-
178
- .fc-bronze-darker {
179
- color: var(--bronze-darker) !important;
180
- }
181
-
182
- .fc-bronze-lighter {
183
- color: var(--bronze-lighter) !important;
184
- }
185
-
186
- .bg-bronze {
187
- background-color: var(--bronze) !important;
188
- }
22
+ // Create dark mode conditional utility classes
23
+ .dark-mode({
24
+ // Utility classes
25
+ .create-colors(@set, classes, dark);
189
26
 
190
- .bg-bronze-darker {
191
- background-color: var(--bronze-darker) !important;
192
- }
193
-
194
- .bg-bronze-lighter {
195
- background-color: var(--bronze-lighter) !important;
196
- }
197
-
198
- .bg-transparent,
199
- .h\:bg-transparent:hover {
200
- background-color: transparent !important;
201
- background-image: none !important;
202
- }
203
-
204
- .bg-inherit {
205
- background-color: inherit !important;
206
- }
27
+ // Aliased utility classes (error, warning, etc)
28
+ .create-aliased-utility-classes(dark);
207
29
 
208
- .fc-inherit {
209
- color: inherit !important;
30
+ // Misc utility classes
31
+ each(@miscUtilityClasses, {
32
+ .create-color-classes(@value, ~"@{value} !important", light, background-color);
33
+ .create-color-classes(@value, ~"@{value} !important", light, border-color);
34
+ });
35
+ });
210
36
  }
@@ -0,0 +1,12 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { renderLess } from "../test/less-test-utils";
3
+
4
+ describe("atomic: color", () => {
5
+ it("should output v2 atomic css classes for colors", async () => {
6
+ const css = await renderLess(`
7
+ @import "./lib/atomic/color.less";
8
+ `);
9
+
10
+ expect(css).toMatchSnapshot();
11
+ });
12
+ });
@@ -303,12 +303,13 @@
303
303
  }
304
304
 
305
305
  // -- Added hover styles for box-shadow
306
- .bs-sm.bs-hover:hover { box-shadow: 0 var(--su-static2) var(--su-static8) @black-050 !important; }
307
- .bs-md.bs-hover:hover { box-shadow: 0 var(--su-static4) var(--su-static8) @black-100 !important; }
308
- .bs-lg.bs-hover:hover { box-shadow: 0 var(--su-static4) var(--su-static12) fade(@black-300, 70%) !important; }
309
- .bs-i-sm.bs-hover:hover { box-shadow: inset 0 var(--su-static1) var(--su-static8) 0 fade(@black-200, 75%) !important; }
310
- .bs-i-md.bs-hover:hover { box-shadow: inset 0 var(--su-static1) var(--su-static8) 0 fade(@black-350, 80%) !important; }
311
- .bs-i-lg.bs-hover:hover { box-shadow: inset 0 var(--su-static1) var(--su-static12) 0 @black-350 !important; }
306
+ // TODO do we still need them? Can we deprecate/remove these weird hover classes?
307
+ .bs-sm.bs-hover:hover { box-shadow: 0 var(--su-static2) var(--su-static8) .set-black()[150] !important; }
308
+ .bs-md.bs-hover:hover { box-shadow: 0 var(--su-static4) var(--su-static8) .set-black()[225] !important; }
309
+ .bs-lg.bs-hover:hover { box-shadow: 0 var(--su-static4) var(--su-static12) fade(.set-black()[350], 70%) !important; }
310
+ .bs-i-sm.bs-hover:hover { box-shadow: inset 0 var(--su-static1) var(--su-static8) 0 fade(.set-black()[300], 75%) !important; }
311
+ .bs-i-md.bs-hover:hover { box-shadow: inset 0 var(--su-static1) var(--su-static8) 0 fade(.set-black()[350], 80%) !important; }
312
+ .bs-i-lg.bs-hover:hover { box-shadow: inset 0 var(--su-static1) var(--su-static12) 0 .set-black()[350] !important; }
312
313
 
313
314
  // ============================================================================
314
315
  // $ TRANSITIONS
@@ -67,13 +67,6 @@ p {
67
67
  }
68
68
  }
69
69
 
70
- // ============================================================================
71
- // $$ TEXT COLORS
72
- // ----------------------------------------------------------------------------
73
- .fc-dark { color: var(--fc-dark) !important; }
74
- .fc-medium { color: var(--fc-medium) !important; }
75
- .fc-light { color: var(--fc-light) !important; }
76
-
77
70
  // ============================================================================
78
71
  // $ LINE HEIGHTS
79
72
  // ----------------------------------------------------------------------------