@stackoverflow/stacks 1.10.3 → 2.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) 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/dist/js/stacks.js +110 -265
  5. package/dist/js/stacks.min.js +1 -1
  6. package/lib/atomic/__snapshots__/color-new.less.test.ts.snap +3015 -0
  7. package/lib/atomic/__snapshots__/color.less.test.ts.snap +2886 -0
  8. package/lib/atomic/border.less +0 -258
  9. package/lib/atomic/color.less +26 -200
  10. package/lib/atomic/color.less.test.ts +12 -0
  11. package/lib/atomic/misc.less +7 -6
  12. package/lib/atomic/typography.less +0 -7
  13. package/lib/atomic/v1/__snapshots__/border.less.test.ts.snap +552 -0
  14. package/lib/atomic/v1/__snapshots__/color.less.test.ts.snap +6756 -0
  15. package/lib/atomic/v1/__snapshots__/typography.less.test.ts.snap +22 -0
  16. package/lib/atomic/v1/border.less +210 -0
  17. package/lib/atomic/v1/border.less.test.ts +14 -0
  18. package/lib/atomic/v1/color.less +183 -0
  19. package/lib/atomic/v1/color.less.test.ts +14 -0
  20. package/lib/atomic/v1/typography.less +8 -0
  21. package/lib/atomic/v1/typography.less.test.ts +14 -0
  22. package/lib/components/activity-indicator/activity-indicator.a11y.test.ts +1 -10
  23. package/lib/components/activity-indicator/activity-indicator.less +4 -4
  24. package/lib/components/anchor/anchor.a11y.test.ts +0 -12
  25. package/lib/components/anchor/anchor.less +4 -4
  26. package/lib/components/anchor/anchor.visual.test.ts +1 -1
  27. package/lib/components/avatar/avatar.less +2 -2
  28. package/lib/components/award-bling/award-bling.less +3 -3
  29. package/lib/components/badge/badge.a11y.test.ts +2 -51
  30. package/lib/components/badge/badge.less +40 -40
  31. package/lib/components/banner/banner.a11y.test.ts +0 -14
  32. package/lib/components/block-link/block-link.a11y.test.ts +0 -14
  33. package/lib/components/block-link/block-link.less +8 -8
  34. package/lib/components/breadcrumbs/breadcrumbs.a11y.test.ts +0 -2
  35. package/lib/components/breadcrumbs/breadcrumbs.less +1 -1
  36. package/lib/components/button/button.a11y.test.ts +0 -134
  37. package/lib/components/button/button.less +40 -40
  38. package/lib/components/button/button.visual.test.ts +1 -1
  39. package/lib/components/card/card.a11y.test.ts +0 -6
  40. package/lib/components/check-control/check-control.a11y.test.ts +0 -13
  41. package/lib/components/check-control/check-control.visual.test.ts +1 -1
  42. package/lib/components/checkbox_radio/checkbox_radio.less +5 -5
  43. package/lib/components/checkbox_radio/checkbox_radio.visual.test.ts +1 -1
  44. package/lib/components/code-block/code-block.less +3 -3
  45. package/lib/components/description/description.a11y.test.ts +0 -5
  46. package/lib/components/description/description.visual.test.ts +1 -1
  47. package/lib/components/input-fill/input-fill.less +2 -2
  48. package/lib/components/input-icon/input-icon.less +2 -2
  49. package/lib/components/input-message/input-message.less +8 -8
  50. package/lib/components/input_textarea/input_textarea.less +6 -6
  51. package/lib/components/label/label.less +11 -11
  52. package/lib/components/link/link.a11y.test.ts +0 -21
  53. package/lib/components/link/link.less +8 -8
  54. package/lib/components/link-preview/link-preview.less +9 -9
  55. package/lib/components/menu/menu.less +3 -3
  56. package/lib/components/modal/modal.less +5 -4
  57. package/lib/components/navigation/navigation.less +11 -11
  58. package/lib/components/notice/notice.less +48 -48
  59. package/lib/components/pagination/pagination.less +3 -3
  60. package/lib/components/popover/popover.less +2 -2
  61. package/lib/components/popover/tooltip.test.ts +1 -1
  62. package/lib/components/post-summary/post-summary.less +40 -40
  63. package/lib/components/progress-bar/progress-bar.less +15 -15
  64. package/lib/components/prose/prose.less +15 -15
  65. package/lib/components/select/select.less +5 -5
  66. package/lib/components/sidebar-widget/sidebar-widget.less +12 -12
  67. package/lib/components/table/table.less +7 -7
  68. package/lib/components/tag/tag.less +25 -25
  69. package/lib/components/toggle-switch/toggle-switch.a11y.test.ts +0 -7
  70. package/lib/components/toggle-switch/toggle-switch.less +4 -4
  71. package/lib/components/topbar/topbar.less +34 -34
  72. package/lib/components/uploader/uploader.less +15 -15
  73. package/lib/components/user-card/user-card.less +7 -7
  74. package/lib/exports/__snapshots__/color-mixins.less.test.ts.snap +539 -0
  75. package/lib/exports/__snapshots__/color.less.test.ts.snap +762 -0
  76. package/lib/exports/color-mixins.less +280 -0
  77. package/lib/exports/color-mixins.less.test.ts +150 -0
  78. package/lib/exports/color-sets.less +620 -0
  79. package/lib/exports/color.less +57 -0
  80. package/lib/exports/color.less.test.ts +12 -0
  81. package/lib/exports/exports.less +2 -1
  82. package/lib/exports/mixins.less +17 -5
  83. package/lib/exports/theme.less +85 -0
  84. package/lib/exports/v1/__snapshots__/constants-colors.less.test.ts.snap +902 -0
  85. package/lib/exports/v1/constants-colors.less +893 -0
  86. package/lib/exports/v1/constants-colors.less.test.ts +12 -0
  87. package/lib/stacks-static.less +5 -0
  88. package/lib/test/less-test-utils.ts +28 -0
  89. package/package.json +13 -7
  90. package/lib/exports/constants-colors.less +0 -1100
@@ -0,0 +1,893 @@
1
+ @import (reference) "../mixins.less";
2
+
3
+ // LEGACY
4
+
5
+ // -- Base Hue Values
6
+ @white-legacy-h: 0;
7
+ @black-legacy-h: 210;
8
+ @orange-legacy-h: 27;
9
+ @yellow-legacy-h: 47;
10
+ @green-legacy-h: 140;
11
+ @blue-legacy-h: 206;
12
+ @powder-legacy-h: 205;
13
+ @red-legacy-h: 358;
14
+ @fog-legacy-h: 180;
15
+ @gold-legacy-h: 48;
16
+ @silver-legacy-h: 210;
17
+ @bronze-legacy-h: 28;
18
+
19
+ // -- Base Saturation Values
20
+ @black-legacy-s: 8%;
21
+
22
+ // -- Primary Colors
23
+ @white-legacy: hsl(@white-legacy-h, 0%, 100%);
24
+ @black-legacy: hsl(@black-legacy-h, @black-legacy-s, 5%);
25
+ @orange-legacy: hsl(@orange-legacy-h, 90%, 55%);
26
+
27
+ // -- Accent Colors
28
+ @yellow-legacy: hsl(@yellow-legacy-h, 83%, 91%);
29
+ @green-legacy: hsl(@green-legacy-h, 40%, 55%);
30
+ @blue-legacy: hsl(@blue-legacy-h, 100%, 40%);
31
+ @powder-legacy: hsl(@powder-legacy-h, 46%, 92%);
32
+ @red-legacy: hsl(@red-legacy-h, 62%, 52%);
33
+ @fog-legacy: hsl(@fog-legacy-h, 7%, 97%);
34
+
35
+ // Black
36
+ @black-legacy-025: hsl(@black-legacy-h, @black-legacy-s, 97.5%);
37
+ @black-legacy-050: hsl(@black-legacy-h, @black-legacy-s, 95%);
38
+ @black-legacy-075: hsl(@black-legacy-h, @black-legacy-s, 90%);
39
+ @black-legacy-100: hsl(@black-legacy-h, @black-legacy-s, 85%);
40
+ @black-legacy-150: hsl(@black-legacy-h, @black-legacy-s, 80%);
41
+ @black-legacy-200: hsl(@black-legacy-h, @black-legacy-s, 75%);
42
+ @black-legacy-300: hsl(@black-legacy-h, @black-legacy-s, 65%);
43
+ @black-legacy-350: hsl(@black-legacy-h, @black-legacy-s, 60%);
44
+ @black-legacy-400: hsl(@black-legacy-h, @black-legacy-s, 55%);
45
+ @black-legacy-500: hsl(@black-legacy-h, @black-legacy-s, 45%);
46
+ @black-legacy-600: hsl(@black-legacy-h, @black-legacy-s, 35%);
47
+ @black-legacy-700: hsl(@black-legacy-h, @black-legacy-s, 25%);
48
+ @black-legacy-750: hsl(@black-legacy-h, @black-legacy-s, 20%);
49
+ @black-legacy-800: hsl(@black-legacy-h, @black-legacy-s, 15%);
50
+ @black-legacy-900: @black-legacy;
51
+
52
+ // Orange
53
+ @orange-legacy-050: hsl(@orange-legacy-h, 100%, 97%);
54
+ @orange-legacy-100: hsl(@orange-legacy-h, 95%, 90%);
55
+ @orange-legacy-200: hsl(@orange-legacy-h, 90%, 83%);
56
+ @orange-legacy-300: hsl(@orange-legacy-h, 90%, 70%);
57
+ @orange-legacy-400: @orange-legacy;
58
+ @orange-legacy-500: hsl(@orange-legacy-h, 90%, 50%);
59
+ @orange-legacy-600: hsl(@orange-legacy-h, 90%, 45%);
60
+ @orange-legacy-700: hsl(@orange-legacy-h, 90%, 39%);
61
+ @orange-legacy-800: hsl(@orange-legacy-h, 87%, 35%);
62
+ @orange-legacy-900: hsl(@orange-legacy-h, 80%, 30%);
63
+
64
+ // Blue
65
+ @blue-legacy-050: hsl(@blue-legacy-h, 100%, 97%);
66
+ @blue-legacy-100: hsl(@blue-legacy-h, 96%, 90%);
67
+ @blue-legacy-200: hsl(@blue-legacy-h, 93%, 83.5%);
68
+ @blue-legacy-300: hsl(@blue-legacy-h, 90%, 69.5%);
69
+ @blue-legacy-400: hsl(@blue-legacy-h, 85%, 57.5%);
70
+ @blue-legacy-500: hsl(@blue-legacy-h, 100%, 52%);
71
+ @blue-legacy-600: @blue-legacy;
72
+ @blue-legacy-700: hsl(@blue-legacy-h + 3, 100%, 37.5%);
73
+ @blue-legacy-800: hsl(@blue-legacy-h + 3, 100%, 32%);
74
+ @blue-legacy-900: hsl(@blue-legacy-h + 3, 100%, 26%);
75
+
76
+ // Powder
77
+ @powder-legacy-050: hsl(@powder-legacy-h, 47%, 97%);
78
+ @powder-legacy-100: @powder-legacy;
79
+ @powder-legacy-200: hsl(@powder-legacy-h, 53%, 88%);
80
+ @powder-legacy-300: hsl(@powder-legacy-h, 57%, 81%);
81
+ @powder-legacy-400: hsl(@powder-legacy-h, 56%, 76%);
82
+ @powder-legacy-500: hsl(@powder-legacy-h, 41%, 63%);
83
+ @powder-legacy-600: hsl(@powder-legacy-h, 36%, 53%);
84
+ @powder-legacy-700: hsl(@powder-legacy-h, 47%, 42%);
85
+ @powder-legacy-800: hsl(@powder-legacy-h, 46%, 32%);
86
+ @powder-legacy-900: hsl(@powder-legacy-h, 46%, 22%);
87
+
88
+ // Green
89
+ @green-legacy-025: hsl(@green-legacy-h, 42%, 95%);
90
+ @green-legacy-050: hsl(@green-legacy-h, 40%, 90%);
91
+ @green-legacy-100: hsl(@green-legacy-h, 40%, 85%);
92
+ @green-legacy-200: hsl(@green-legacy-h, 40%, 75%);
93
+ @green-legacy-300: hsl(@green-legacy-h, 40%, 65%);
94
+ @green-legacy-400: @green-legacy;
95
+ @green-legacy-500: hsl(@green-legacy-h, 40%, 47%);
96
+ @green-legacy-600: hsl(@green-legacy-h, 40%, 40%);
97
+ @green-legacy-700: hsl(@green-legacy-h, 41%, 31%);
98
+ @green-legacy-800: hsl(@green-legacy-h, 40%, 27%);
99
+ @green-legacy-900: hsl(@green-legacy-h, 40%, 20%);
100
+
101
+ // Yellow
102
+ @yellow-legacy-050: hsl(@yellow-legacy-h, 87%, 94%);
103
+ @yellow-legacy-100: @yellow-legacy;
104
+ @yellow-legacy-200: hsl(@yellow-legacy-h, 65%, 84%);
105
+ @yellow-legacy-300: hsl(@yellow-legacy-h, 69%, 69%);
106
+ @yellow-legacy-400: hsl(@yellow-legacy-h, 79%, 58%);
107
+ @yellow-legacy-500: hsl(@yellow-legacy-h, 73%, 50%);
108
+ @yellow-legacy-600: hsl(@yellow-legacy-h, 76%, 46%);
109
+ @yellow-legacy-700: hsl(@yellow-legacy-h, 79%, 40%);
110
+ @yellow-legacy-800: hsl(@yellow-legacy-h, 82%, 34%);
111
+ @yellow-legacy-900: hsl(@yellow-legacy-h, 84%, 28%);
112
+
113
+ // Red
114
+ @red-legacy-025: hsl(@red-legacy-h, 80%, 98%);
115
+ @red-legacy-050: hsl(@red-legacy-h, 75%, 97%);
116
+ @red-legacy-100: hsl(@red-legacy-h, 76%, 90%);
117
+ @red-legacy-200: hsl(@red-legacy-h, 74%, 83%);
118
+ @red-legacy-300: hsl(@red-legacy-h, 70%, 70%);
119
+ @red-legacy-400: hsl(@red-legacy-h, 68%, 59%);
120
+ @red-legacy-500: @red-legacy;
121
+ @red-legacy-600: hsl(@red-legacy-h, 62%, 47%);
122
+ @red-legacy-700: hsl(@red-legacy-h, 64%, 41%);
123
+ @red-legacy-800: hsl(@red-legacy-h, 64%, 35%);
124
+ @red-legacy-900: hsl(@red-legacy-h, 67%, 29%);
125
+
126
+ // $ BADGES
127
+ // ----------------------------------------------------------------------------
128
+ @gold-legacy: hsl(@gold-legacy-h, 100%, 50%);
129
+ @gold-legacy-lighter: hsl(@gold-legacy-h, 100%, 91%);
130
+ @gold-legacy-darker: hsl(@gold-legacy-h - 3, 100%, 47%);
131
+
132
+ @silver-legacy: hsl(@silver-legacy-h, 6%, 72%);
133
+ @silver-legacy-lighter: hsl(@silver-legacy-h, 0%, 91%);
134
+ @silver-legacy-darker: hsl(@silver-legacy-h, 3%, 61%);
135
+
136
+ @bronze-legacy: hsl(@bronze-legacy-h, 38%, 67%);
137
+ @bronze-legacy-lighter: hsl(@bronze-legacy-h, 40%, 92%);
138
+ @bronze-legacy-darker: hsl(@bronze-legacy-h, 31%, 52%);
139
+
140
+ // $ SCROLLBARS
141
+ // ----------------------------------------------------------------------------
142
+ @scrollbar: hsla(0, 0%, 0%, 0.2);
143
+
144
+ // ============================================================================
145
+ // $ CSS Variable Colors
146
+ // ----------------------------------------------------------------------------
147
+ .generate-calculated-themed-variables(@primary, @designation: primary, @theme: base) {
148
+ // Split into h/s/l/a values
149
+ --theme-@{theme}-@{designation}-color-legacy-h: hue(@primary);
150
+ --theme-@{theme}-@{designation}-color-legacy-s: saturation(@primary);
151
+ --theme-@{theme}-@{designation}-color-legacy-l: lightness(@primary);
152
+
153
+ // Split into r/g/b values
154
+ --theme-@{theme}-@{designation}-color-legacy-r: red(@primary);
155
+ --theme-@{theme}-@{designation}-color-legacy-g: green(@primary);
156
+ --theme-@{theme}-@{designation}-color-legacy-b: blue(@primary);
157
+ }
158
+
159
+ .generate-themed-variables(@theme: theme) {
160
+ // Primary color
161
+ // Split into h/s/l/a values
162
+ --theme-primary-color-legacy-h: var(~"--@{theme}-primary-color-legacy-h", var(--theme-base-primary-color-legacy-h));
163
+ --theme-primary-color-legacy-s: var(~"--@{theme}-primary-color-legacy-s", var(--theme-base-primary-color-legacy-s));
164
+ --theme-primary-color-legacy-l: var(~"--@{theme}-primary-color-legacy-l", var(--theme-base-primary-color-legacy-l));
165
+
166
+ // Split into r/g/b values
167
+ --theme-primary-color-legacy-r: var(~"--@{theme}-primary-color-legacy-r", var(--theme-base-primary-color-legacy-r));
168
+ --theme-primary-color-legacy-g: var(~"--@{theme}-primary-color-legacy-g", var(--theme-base-primary-color-legacy-g));
169
+ --theme-primary-color-legacy-b: var(~"--@{theme}-primary-color-legacy-b", var(--theme-base-primary-color-legacy-b));
170
+
171
+ // Secondary color
172
+ // Split into h/s/l/a values
173
+ --theme-secondary-color-legacy-h: var(~"--@{theme}-secondary-color-legacy-h", var(--theme-base-secondary-color-legacy-h));
174
+ --theme-secondary-color-legacy-s: var(~"--@{theme}-secondary-color-legacy-s", var(--theme-base-secondary-color-legacy-s));
175
+ --theme-secondary-color-legacy-l: var(~"--@{theme}-secondary-color-legacy-l", var(--theme-base-secondary-color-legacy-l));
176
+
177
+ // Split into r/g/b values
178
+ --theme-secondary-color-legacy-r: var(~"--@{theme}-secondary-color-legacy-r", var(--theme-base-secondary-color-legacy-r));
179
+ --theme-secondary-color-legacy-g: var(~"--@{theme}-secondary-color-legacy-g", var(--theme-base-secondary-color-legacy-g));
180
+ --theme-secondary-color-legacy-b: var(~"--@{theme}-secondary-color-legacy-b", var(--theme-base-secondary-color-legacy-b));
181
+ }
182
+
183
+ // -- Light mode
184
+ .light-colors() {
185
+ --white-legacy: @white-legacy;
186
+ --black-legacy: @black-legacy;
187
+ --orange-legacy: @orange-legacy;
188
+ --yellow-legacy: @yellow-legacy;
189
+ --green-legacy: @green-legacy;
190
+ --blue-legacy: @blue-legacy;
191
+ --powder-legacy: @powder-legacy;
192
+ --red-legacy: @red-legacy;
193
+
194
+ // Black
195
+ --black-legacy-025: @black-legacy-025;
196
+ --black-legacy-050: @black-legacy-050;
197
+ --black-legacy-075: @black-legacy-075;
198
+ --black-legacy-100: @black-legacy-100;
199
+ --black-legacy-150: @black-legacy-150;
200
+ --black-legacy-200: @black-legacy-200;
201
+ --black-legacy-300: @black-legacy-300;
202
+ --black-legacy-350: @black-legacy-350;
203
+ --black-legacy-400: @black-legacy-400;
204
+ --black-legacy-500: @black-legacy-500;
205
+ --black-legacy-600: @black-legacy-600;
206
+ --black-legacy-700: @black-legacy-700;
207
+ --black-legacy-750: @black-legacy-750;
208
+ --black-legacy-800: @black-legacy-800;
209
+ --black-legacy-900: @black-legacy-900;
210
+
211
+ // Orange
212
+ --orange-legacy-050: @orange-legacy-050;
213
+ --orange-legacy-100: @orange-legacy-100;
214
+ --orange-legacy-200: @orange-legacy-200;
215
+ --orange-legacy-300: @orange-legacy-300;
216
+ --orange-legacy-400: @orange-legacy-400;
217
+ --orange-legacy-500: @orange-legacy-500;
218
+ --orange-legacy-600: @orange-legacy-600;
219
+ --orange-legacy-700: @orange-legacy-700;
220
+ --orange-legacy-800: @orange-legacy-800;
221
+ --orange-legacy-900: @orange-legacy-900;
222
+
223
+ // Blue
224
+ --blue-legacy-050: @blue-legacy-050;
225
+ --blue-legacy-100: @blue-legacy-100;
226
+ --blue-legacy-200: @blue-legacy-200;
227
+ --blue-legacy-300: @blue-legacy-300;
228
+ --blue-legacy-400: @blue-legacy-400;
229
+ --blue-legacy-500: @blue-legacy-500;
230
+ --blue-legacy-600: @blue-legacy-600;
231
+ --blue-legacy-700: @blue-legacy-700;
232
+ --blue-legacy-800: @blue-legacy-800;
233
+ --blue-legacy-900: @blue-legacy-900;
234
+
235
+ // Powder
236
+ --powder-legacy-050: @powder-legacy-050;
237
+ --powder-legacy-100: @powder-legacy-100;
238
+ --powder-legacy-200: @powder-legacy-200;
239
+ --powder-legacy-300: @powder-legacy-300;
240
+ --powder-legacy-400: @powder-legacy-400;
241
+ --powder-legacy-500: @powder-legacy-500;
242
+ --powder-legacy-600: @powder-legacy-600;
243
+ --powder-legacy-700: @powder-legacy-700;
244
+ --powder-legacy-800: @powder-legacy-800;
245
+ --powder-legacy-900: @powder-legacy-900;
246
+
247
+ // Green
248
+ --green-legacy-025: @green-legacy-025;
249
+ --green-legacy-050: @green-legacy-050;
250
+ --green-legacy-100: @green-legacy-100;
251
+ --green-legacy-200: @green-legacy-200;
252
+ --green-legacy-300: @green-legacy-300;
253
+ --green-legacy-400: @green-legacy-400;
254
+ --green-legacy-500: @green-legacy-500;
255
+ --green-legacy-600: @green-legacy-600;
256
+ --green-legacy-700: @green-legacy-700;
257
+ --green-legacy-800: @green-legacy-800;
258
+ --green-legacy-900: @green-legacy-900;
259
+
260
+ // Yellow
261
+ --yellow-legacy-050: @yellow-legacy-050;
262
+ --yellow-legacy-100: @yellow-legacy-100;
263
+ --yellow-legacy-200: @yellow-legacy-200;
264
+ --yellow-legacy-300: @yellow-legacy-300;
265
+ --yellow-legacy-400: @yellow-legacy-400;
266
+ --yellow-legacy-500: @yellow-legacy-500;
267
+ --yellow-legacy-600: @yellow-legacy-600;
268
+ --yellow-legacy-700: @yellow-legacy-700;
269
+ --yellow-legacy-800: @yellow-legacy-800;
270
+ --yellow-legacy-900: @yellow-legacy-900;
271
+
272
+ // Red
273
+ --red-legacy-025: @red-legacy-025;
274
+ --red-legacy-050: @red-legacy-050;
275
+ --red-legacy-100: @red-legacy-100;
276
+ --red-legacy-200: @red-legacy-200;
277
+ --red-legacy-300: @red-legacy-300;
278
+ --red-legacy-400: @red-legacy-400;
279
+ --red-legacy-500: @red-legacy-500;
280
+ --red-legacy-600: @red-legacy-600;
281
+ --red-legacy-700: @red-legacy-700;
282
+ --red-legacy-800: @red-legacy-800;
283
+ --red-legacy-900: @red-legacy-900;
284
+
285
+ // Gold
286
+ --gold-legacy: @gold-legacy;
287
+ --gold-legacy-lighter: @gold-legacy-lighter;
288
+ --gold-legacy-darker: @gold-legacy-darker;
289
+
290
+ // Silver
291
+ --silver-legacy: @silver-legacy;
292
+ --silver-legacy-lighter: @silver-legacy-lighter;
293
+ --silver-legacy-darker: @silver-legacy-darker;
294
+
295
+ // Bronze
296
+ --bronze-legacy: @bronze-legacy;
297
+ --bronze-legacy-lighter: @bronze-legacy-lighter;
298
+ --bronze-legacy-darker: @bronze-legacy-darker;
299
+
300
+ // Border colors
301
+ --bc-lightest-legacy: var(--black-legacy-025);
302
+ --bc-lighter-legacy: var(--black-legacy-050);
303
+ --bc-light-legacy: var(--black-legacy-075);
304
+ --bc-medium-legacy: var(--black-legacy-100);
305
+ --bc-dark-legacy: var(--black-legacy-150);
306
+ --bc-darker-legacy: var(--black-legacy-200);
307
+
308
+ // Font colors
309
+ --fc-dark-legacy: @black-legacy-900;
310
+ --fc-medium-legacy: @black-legacy-700;
311
+ --fc-light-legacy: @black-legacy-500;
312
+
313
+ // Focus rings
314
+ --focus-ring-success-legacy: hsla(@green-legacy-h, 40%, 75%, 40%);
315
+ --focus-ring-warning-legacy: hsla(@yellow-legacy-h, 79%, 58%, 40%);
316
+ --focus-ring-error-legacy: hsla(@red-legacy-h, 62%, 47%, 15%);
317
+ --focus-ring-muted-legacy: hsla(@black-legacy-h, @black-legacy-s, 15%, 10%);
318
+ }
319
+
320
+ .light-themed-colors() {
321
+ // Reassemble as a single hsl value
322
+ --theme-primary-color-legacy: .assemble-color(theme-primary-color-legacy)[];
323
+
324
+ // Steps
325
+ --theme-primary-legacy-900: .native-darken(theme-primary-color-legacy, 26)[];
326
+ --theme-primary-legacy-800: .native-darken(theme-primary-color-legacy, 21)[];
327
+ --theme-primary-legacy-700: .native-darken(theme-primary-color-legacy, 16)[];
328
+ --theme-primary-legacy-600: .native-darken(theme-primary-color-legacy, 10)[];
329
+ --theme-primary-legacy-500: .native-darken(theme-primary-color-legacy, 5)[];
330
+ --theme-primary-legacy-400: var(--theme-primary-color-legacy);
331
+ --theme-primary-legacy-350: .native-tint(theme-primary-color-legacy, 20)[];
332
+ --theme-primary-legacy-300: .native-tint(theme-primary-color-legacy, 35)[];
333
+ --theme-primary-legacy-200: .native-tint(theme-primary-color-legacy, 48)[];
334
+ --theme-primary-legacy-150: .native-tint(theme-primary-color-legacy, 65)[];
335
+ --theme-primary-legacy-100: .native-tint(theme-primary-color-legacy, 78)[];
336
+ --theme-primary-legacy-075: .native-tint(theme-primary-color-legacy, 85)[];
337
+ --theme-primary-legacy-050: .native-tint(theme-primary-color-legacy, 92)[];
338
+ --theme-primary-legacy-025: .native-tint(theme-primary-color-legacy, 96)[];
339
+
340
+ // Reassemble as a single hsl value
341
+ --theme-secondary-color-legacy: .assemble-color(theme-secondary-color-legacy)[];
342
+
343
+ // Steps
344
+ --theme-secondary-legacy-900: .native-darken(theme-secondary-color-legacy, 26)[];
345
+ --theme-secondary-legacy-800: .native-darken(theme-secondary-color-legacy, 21)[];
346
+ --theme-secondary-legacy-700: .native-darken(theme-secondary-color-legacy, 16)[];
347
+ --theme-secondary-legacy-600: .native-darken(theme-secondary-color-legacy, 10)[];
348
+ --theme-secondary-legacy-500: .native-darken(theme-secondary-color-legacy, 5)[];
349
+ --theme-secondary-legacy-400: var(--theme-secondary-color-legacy);
350
+ --theme-secondary-legacy-350: .native-tint(theme-secondary-color-legacy, 20)[];
351
+ --theme-secondary-legacy-300: .native-tint(theme-secondary-color-legacy, 35)[];
352
+ --theme-secondary-legacy-200: .native-tint(theme-secondary-color-legacy, 48)[];
353
+ --theme-secondary-legacy-150: .native-tint(theme-secondary-color-legacy, 65)[];
354
+ --theme-secondary-legacy-100: .native-tint(theme-secondary-color-legacy, 78)[];
355
+ --theme-secondary-legacy-075: .native-tint(theme-secondary-color-legacy, 85)[];
356
+ --theme-secondary-legacy-050: .native-tint(theme-secondary-color-legacy, 92)[];
357
+ --theme-secondary-legacy-025: .native-tint(theme-secondary-color-legacy, 96)[];
358
+
359
+ // Fades
360
+ --focus-ring-legacy: .native-fade(theme-secondary-color-legacy, 15)[];
361
+ }
362
+
363
+ // -- Dark mode
364
+ .dark-colors() {
365
+ --white-legacy: hsl(@black-legacy-h, 0%, 17.5%);
366
+ --black-legacy: @white-legacy;
367
+
368
+ // Black
369
+ --black-legacy-025: hsl(@black-legacy-h, 0%, 22.5%);
370
+ --black-legacy-050: hsl(@black-legacy-h, 0%, 24%);
371
+ --black-legacy-075: hsl(@black-legacy-h, 4%, 26%);
372
+ --black-legacy-100: hsl(@black-legacy-h, 4.5%, 30.5%);
373
+ --black-legacy-150: hsl(@black-legacy-h, 5%, 35%);
374
+ --black-legacy-200: hsl(@black-legacy-h, 5.5%, 43.5%);
375
+ --black-legacy-300: hsl(@black-legacy-h, 6.5%, 52%);
376
+ --black-legacy-350: hsl(@black-legacy-h, 7%, 61%);
377
+ --black-legacy-400: hsl(@black-legacy-h, 8%, 65%);
378
+ --black-legacy-500: hsl(@black-legacy-h, 8%, 70%);
379
+ --black-legacy-600: hsl(@black-legacy-h, 7%, 78.5%);
380
+ --black-legacy-700: hsl(@black-legacy-h, 8%, 82.5%);
381
+ --black-legacy-750: hsl(@black-legacy-h, 9%, 86.5%);
382
+ --black-legacy-800: hsl(@black-legacy-h, 9%, 91.5%);
383
+ --black-legacy-900: hsl(@black-legacy-h, 4%, 95%);
384
+
385
+ // Orange
386
+ --orange-legacy-050: hsl(@orange-legacy-h, 16.5%, 23.9%);
387
+ --orange-legacy-100: hsl(@orange-legacy-h, 30%, 28.4%);
388
+ --orange-legacy-200: hsl(@orange-legacy-h, 50%, 36.9%);
389
+ --orange-legacy-300: hsl(@orange-legacy-h, 70%, 47.3%);
390
+ --orange-legacy-400: hsl(@orange-legacy-h, 90.5%, 54.9%);
391
+ --orange-legacy-500: hsl(@orange-legacy-h, 100%, 59%);
392
+ --orange-legacy-600: hsl(@orange-legacy-h, 100%, 68.4%);
393
+ --orange-legacy-700: hsl(@orange-legacy-h, 89.5%, 74.1%);
394
+ --orange-legacy-800: hsl(@orange-legacy-h, 92%, 85.7%);
395
+ --orange-legacy-900: hsl(@orange-legacy-h, 95%, 91.8%);
396
+
397
+ // Blue
398
+ --blue-legacy-050: hsl(@blue-legacy-h, 40%, 23%);
399
+ --blue-legacy-100: hsl(@blue-legacy-h, 44%, 26%);
400
+ --blue-legacy-200: hsl(@blue-legacy-h, 46%, 30%);
401
+ --blue-legacy-300: hsl(@blue-legacy-h, 53%, 35%);
402
+ --blue-legacy-400: hsl(@blue-legacy-h + 3, 56%, 43%);
403
+ --blue-legacy-500: hsl(@blue-legacy-h, 64%, 51%);
404
+ --blue-legacy-600: hsl(@blue-legacy-h, 100%, 60%);
405
+ --blue-legacy-700: hsl(@blue-legacy-h, 90%, 74%);
406
+ --blue-legacy-800: hsl(@blue-legacy-h, 95%, 86%);
407
+ --blue-legacy-900: hsl(@blue-legacy-h, 91%, 91.5%);
408
+
409
+ // Powder
410
+ --powder-legacy-050: hsl(@powder-legacy-h, 5%, 27%);
411
+ --powder-legacy-100: hsl(@powder-legacy-h, 14%, 28%);
412
+ --powder-legacy-200: hsl(@powder-legacy-h, 17.5%, 32%);
413
+ --powder-legacy-300: hsl(@powder-legacy-h, 19.5%, 37%);
414
+ --powder-legacy-400: hsl(@powder-legacy-h, 22.5%, 44%);
415
+ --powder-legacy-500: hsl(@powder-legacy-h, 29%, 54%);
416
+ --powder-legacy-600: hsl(@powder-legacy-h, 50%, 65.5%);
417
+ --powder-legacy-700: hsl(@powder-legacy-h, 46.5%, 73.5%);
418
+ --powder-legacy-800: hsl(@powder-legacy-h, 49.5%, 87%);
419
+ --powder-legacy-900: hsl(@powder-legacy-h, 100%, 95%);
420
+
421
+ // Green
422
+ --green-legacy-025: hsl(@green-legacy-h, 18%, 22%);
423
+ --green-legacy-050: hsl(@green-legacy-h, 18%, 25%);
424
+ --green-legacy-100: hsl(@green-legacy-h, 22.5%, 31%);
425
+ --green-legacy-200: hsl(@green-legacy-h, 23.5%, 37%);
426
+ --green-legacy-300: hsl(@green-legacy-h, 25%, 40.5%);
427
+ --green-legacy-400: hsl(@green-legacy-h, 27.5%, 48.5%);
428
+ --green-legacy-500: hsl(@green-legacy-h, 35%, 54.5%);
429
+ --green-legacy-600: hsl(@green-legacy-h, 40%, 61.5%);
430
+ --green-legacy-700: hsl(@green-legacy-h, 39.5%, 69.5%);
431
+ --green-legacy-800: hsl(@green-legacy-h, 39.5%, 78.5%);
432
+ --green-legacy-900: hsl(@green-legacy-h, 38%, 86.5%);
433
+
434
+ // Yellow
435
+ --yellow-legacy-050: hsl(@yellow-legacy-h, 13%, 24.5%);
436
+ --yellow-legacy-100: hsl(@yellow-legacy-h, 19%, 27%);
437
+ --yellow-legacy-200: hsl(@yellow-legacy-h, 30.5%, 31%);
438
+ --yellow-legacy-300: hsl(@yellow-legacy-h, 37%, 36%);
439
+ --yellow-legacy-400: hsl(@yellow-legacy-h, 45.5%, 42.5%);
440
+ --yellow-legacy-500: hsl(@yellow-legacy-h, 55.5%, 48%);
441
+ --yellow-legacy-600: hsl(@yellow-legacy-h, 67.5%, 55.5%);
442
+ --yellow-legacy-700: hsl(@yellow-legacy-h, 84.5%, 64%);
443
+ --yellow-legacy-800: hsl(@yellow-legacy-h, 90%, 72.5%);
444
+ --yellow-legacy-900: hsl(@yellow-legacy-h, 93%, 83.5%);
445
+
446
+ // Red
447
+ --red-legacy-025: hsl(@red-legacy-h + 3, 10%, 24%);
448
+ --red-legacy-050: hsl(@red-legacy-h + 3, 30%, 26.5%);
449
+ --red-legacy-100: hsl(@red-legacy-h + 3, 35%, 33%);
450
+ --red-legacy-200: hsl(@red-legacy-h + 3, 37%, 38.5%);
451
+ --red-legacy-300: hsl(@red-legacy-h + 3, 39%, 43.5%);
452
+ --red-legacy-400: hsl(@red-legacy-h + 3, 42%, 49%);
453
+ --red-legacy-500: hsl(@red-legacy-h + 3, 50%, 54%);
454
+ --red-legacy-600: hsl(@red-legacy-h + 3, 56.5%, 59.5%);
455
+ --red-legacy-700: hsl(@red-legacy-h + 3, 62.5%, 65.5%);
456
+ --red-legacy-800: hsl(@red-legacy-h + 3, 64%, 74%);
457
+ --red-legacy-900: hsl(@red-legacy-h + 3, 65.5%, 85.5%);
458
+
459
+ // Gold
460
+ --gold-legacy: @gold-legacy;
461
+ --gold-legacy-lighter: hsl(@gold-legacy-h, 22%, 30%);
462
+ --gold-legacy-darker: @gold-legacy-darker;
463
+
464
+ // Silver
465
+ --silver-legacy: @silver-legacy;
466
+ --silver-legacy-lighter: hsl(@silver-legacy-h, 0%, 26%);
467
+ --silver-legacy-darker: @silver-legacy-darker;
468
+
469
+ // Bronze
470
+ --bronze-legacy: @bronze-legacy;
471
+ --bronze-legacy-lighter: hsl(@bronze-legacy-h, 13%, 27%);
472
+ --bronze-legacy-darker: @bronze-legacy-darker;
473
+
474
+ // Border colors
475
+ --bc-lightest-legacy: var(--black-legacy-025);
476
+ --bc-lighter-legacy: var(--black-legacy-050);
477
+ --bc-light-legacy: var(--black-legacy-075);
478
+ --bc-medium-legacy: var(--black-legacy-100);
479
+ --bc-dark-legacy: var(--black-legacy-150);
480
+ --bc-darker-legacy: var(--black-legacy-200);
481
+
482
+ // Font colors
483
+ --fc-dark-legacy: var(--black-legacy-900);
484
+ --fc-medium-legacy: var(--black-legacy-700);
485
+ --fc-light-legacy: var(--black-legacy-500);
486
+
487
+ // Focus rings
488
+ --focus-ring-success-legacy: hsla(@green-legacy-h, 40%, 75%, 40%);
489
+ --focus-ring-warning-legacy: hsla(@yellow-legacy-h, 79%, 58%, 40%);
490
+ --focus-ring-error-legacy: hsla(@red-legacy-h, 62%, 52%, 30%);
491
+ --focus-ring-muted-legacy: hsla(@black-legacy-h, @black-legacy-s, 100%, 10%);
492
+ }
493
+
494
+ .dark-themed-colors() {
495
+ // Reassemble as a single hsl value
496
+ --theme-primary-color-legacy: .assemble-color(theme-primary-color-legacy)[];
497
+
498
+ // Reassemble as a single hsl value
499
+ --theme-secondary-color-legacy: .assemble-color(theme-secondary-color-legacy)[];
500
+
501
+ .dark-themed-colors-generator(@variant) {
502
+ --theme-@{variant}-legacy-025: .native-darken-desaturate(~"theme-@{variant}-color-legacy", 31, 73.3)[];
503
+ --theme-@{variant}-legacy-050: .native-darken-desaturate(~"theme-@{variant}-color-legacy", 15, 47)[];
504
+ --theme-@{variant}-legacy-075: .native-darken-desaturate(~"theme-@{variant}-color-legacy", 13, 39)[];
505
+ --theme-@{variant}-legacy-100: .native-darken-desaturate(~"theme-@{variant}-color-legacy", 11, 32)[];
506
+ --theme-@{variant}-legacy-150: .native-darken-desaturate(~"theme-@{variant}-color-legacy", 9, 23)[];
507
+ --theme-@{variant}-legacy-200: .native-darken-desaturate(~"theme-@{variant}-color-legacy", 7, 15)[];
508
+ --theme-@{variant}-legacy-300: .native-darken-desaturate(~"theme-@{variant}-color-legacy", 5, 7)[];
509
+ --theme-@{variant}-legacy-350: var(~"--theme-@{variant}-color-legacy");
510
+ --theme-@{variant}-legacy-400: .native-tint(~"theme-@{variant}-color-legacy", 21)[];
511
+ --theme-@{variant}-legacy-500: .native-tint(~"theme-@{variant}-color-legacy", 36)[];
512
+ --theme-@{variant}-legacy-600: .native-tint(~"theme-@{variant}-color-legacy", 51)[];
513
+ --theme-@{variant}-legacy-700: .native-tint(~"theme-@{variant}-color-legacy", 66)[];
514
+ --theme-@{variant}-legacy-800: .native-tint(~"theme-@{variant}-color-legacy", 81)[];
515
+ --theme-@{variant}-legacy-900: .native-tint(~"theme-@{variant}-color-legacy", 96)[];
516
+ }
517
+
518
+ .dark-themed-colors-generator(primary);
519
+ .dark-themed-colors-generator(secondary);
520
+
521
+ // Fades
522
+ --focus-ring-legacy: .native-fade(theme-secondary-color-legacy, 25)[];
523
+ }
524
+
525
+ // rules shared between .theme-dark and .theme-system w/ prefers-color-scheme: dark
526
+ .theme-dark-rules() {
527
+ .dark-colors();
528
+
529
+ &,
530
+ & .themed {
531
+ color: var(--theme-body-font-color);
532
+ .generate-themed-variables(theme-dark);
533
+ // add in the themed "native mixins", making sure to scope to the child .themed elements so they don't use the parent's values
534
+ .dark-themed-colors();
535
+ }
536
+ }
537
+
538
+ // -- High contrast modes
539
+ .light-highcontrast() {
540
+ --white-legacy: hsl(0, 0%, 100%);
541
+ --black-legacy: hsl(0, 0%, 0%);
542
+
543
+ // Black
544
+ --black-legacy-025: hsl(@black-legacy-h, @black-legacy-s, 97.5%);
545
+ --black-legacy-050: hsl(@black-legacy-h, @black-legacy-s, 95%);
546
+ --black-legacy-075: hsl(@black-legacy-h, @black-legacy-s, 92.5%);
547
+ --black-legacy-100: hsl(@black-legacy-h, @black-legacy-s, 90%);
548
+ --black-legacy-150: hsl(@black-legacy-h, @black-legacy-s, 87.5%);
549
+ --black-legacy-200: hsl(@black-legacy-h, @black-legacy-s, 85%);
550
+ --black-legacy-300: hsl(@black-legacy-h, @black-legacy-s, 35%);
551
+ --black-legacy-350: hsl(@black-legacy-h, @black-legacy-s, 32.5%);
552
+ --black-legacy-400: hsl(@black-legacy-h, @black-legacy-s, 30%);
553
+ --black-legacy-500: hsl(@black-legacy-h, @black-legacy-s, 25%);
554
+ --black-legacy-600: hsl(@black-legacy-h, @black-legacy-s, 20%);
555
+ --black-legacy-700: hsl(@black-legacy-h, @black-legacy-s, 15%);
556
+ --black-legacy-750: hsl(@black-legacy-h, @black-legacy-s, 10%);
557
+ --black-legacy-800: hsl(@black-legacy-h, @black-legacy-s, 5%);
558
+ --black-legacy-900: hsl(@black-legacy-h, @black-legacy-s, 0%);
559
+
560
+ // Orange
561
+ --orange-legacy-050: hsl(@orange-legacy-h, 100%, 93%);
562
+ --orange-legacy-100: hsl(@orange-legacy-h, 100%, 90%);
563
+ --orange-legacy-200: hsl(@orange-legacy-h, 100%, 86%);
564
+ --orange-legacy-300: hsl(@orange-legacy-h, 100%, 81%);
565
+ --orange-legacy-400: hsl(@orange-legacy-h, 100%, 34%);
566
+ --orange-legacy-500: hsl(@orange-legacy-h, 100%, 29%);
567
+ --orange-legacy-600: hsl(@orange-legacy-h, 100%, 24%);
568
+ --orange-legacy-700: hsl(@orange-legacy-h, 100%, 19%);
569
+ --orange-legacy-800: hsl(@orange-legacy-h, 100%, 13%);
570
+ --orange-legacy-900: hsl(@orange-legacy-h, 100%, 8%);
571
+
572
+ // Blue
573
+ --blue-legacy-050: hsl(@blue-legacy-h, 100%, 94%);
574
+ --blue-legacy-100: hsl(@blue-legacy-h, 100%, 92%);
575
+ --blue-legacy-200: hsl(@blue-legacy-h, 100%, 89%);
576
+ --blue-legacy-300: hsl(@blue-legacy-h, 100%, 86%);
577
+ --blue-legacy-400: hsl(@blue-legacy-h, 100%, 25%);
578
+ --blue-legacy-500: hsl(@blue-legacy-h, 100%, 20%);
579
+ --blue-legacy-600: hsl(@blue-legacy-h, 100%, 15%);
580
+ --blue-legacy-700: hsl(@blue-legacy-h, 100%, 10%);
581
+ --blue-legacy-800: hsl(@blue-legacy-h, 100%, 7.5%);
582
+ --blue-legacy-900: hsl(@blue-legacy-h, 100%, 5%);
583
+
584
+ // Powder
585
+ --powder-legacy-050: hsl(@powder-legacy-h, 100%, 95%);
586
+ --powder-legacy-100: hsl(@powder-legacy-h, 85%, 93%);
587
+ --powder-legacy-200: hsl(@powder-legacy-h, 75%, 89%);
588
+ --powder-legacy-300: hsl(@powder-legacy-h, 70%, 86%);
589
+ --powder-legacy-400: hsl(@powder-legacy-h, 55%, 28%);
590
+ --powder-legacy-500: hsl(@powder-legacy-h, 60%, 24%);
591
+ --powder-legacy-600: hsl(@powder-legacy-h, 70%, 20%);
592
+ --powder-legacy-700: hsl(@powder-legacy-h, 75%, 16%);
593
+ --powder-legacy-800: hsl(@powder-legacy-h, 75%, 12%);
594
+ --powder-legacy-900: hsl(@powder-legacy-h, 75%, 8%);
595
+
596
+ // Green
597
+ --green-legacy-025: hsl(@green-legacy-h, 100%, 94%);
598
+ --green-legacy-050: hsl(@green-legacy-h, 100%, 91%);
599
+ --green-legacy-100: hsl(@green-legacy-h, 100%, 87%);
600
+ --green-legacy-200: hsl(@green-legacy-h, 100%, 83%);
601
+ --green-legacy-300: hsl(@green-legacy-h, 100%, 78%);
602
+ --green-legacy-400: hsl(@green-legacy-h, 100%, 18%);
603
+ --green-legacy-500: hsl(@green-legacy-h, 100%, 15%);
604
+ --green-legacy-600: hsl(@green-legacy-h, 100%, 12%);
605
+ --green-legacy-700: hsl(@green-legacy-h, 100%, 9%);
606
+ --green-legacy-800: hsl(@green-legacy-h, 100%, 6%);
607
+ --green-legacy-900: hsl(@green-legacy-h, 100%, 3%);
608
+
609
+ // Yellow
610
+ --yellow-legacy-050: hsl(@yellow-legacy-h, 100%, 92%);
611
+ --yellow-legacy-100: hsl(@yellow-legacy-h, 100%, 88%);
612
+ --yellow-legacy-200: hsl(@yellow-legacy-h, 95%, 83%);
613
+ --yellow-legacy-300: hsl(@yellow-legacy-h, 95%, 75%);
614
+ --yellow-legacy-400: hsl(@yellow-legacy-h, 100%, 28%);
615
+ --yellow-legacy-500: hsl(@yellow-legacy-h, 100%, 26%);
616
+ --yellow-legacy-600: hsl(@yellow-legacy-h, 100%, 23%);
617
+ --yellow-legacy-700: hsl(@yellow-legacy-h, 100%, 19%);
618
+ --yellow-legacy-800: hsl(@yellow-legacy-h, 100%, 13%);
619
+ --yellow-legacy-900: hsl(@yellow-legacy-h, 100%, 7%);
620
+
621
+ // Red
622
+ --red-legacy-025: hsl(@red-legacy-h, 100%, 97%);
623
+ --red-legacy-050: hsl(@red-legacy-h, 100%, 94%);
624
+ --red-legacy-100: hsl(@red-legacy-h, 100%, 92%);
625
+ --red-legacy-200: hsl(@red-legacy-h, 100%, 89%);
626
+ --red-legacy-300: hsl(@red-legacy-h, 100%, 86%);
627
+ --red-legacy-400: hsl(@red-legacy-h, 100%, 35%);
628
+ --red-legacy-500: hsl(@red-legacy-h, 100%, 29%);
629
+ --red-legacy-600: hsl(@red-legacy-h, 100%, 23%);
630
+ --red-legacy-700: hsl(@red-legacy-h, 100%, 17%);
631
+ --red-legacy-800: hsl(@red-legacy-h, 100%, 11%);
632
+ --red-legacy-900: hsl(@red-legacy-h, 100%, 7%);
633
+
634
+ // Gold
635
+ --gold-legacy: hsl(@gold-legacy-h, 100%, 50%);
636
+ --gold-legacy-lighter: hsl(@gold-legacy-h, 100%, 91%);
637
+ --gold-legacy-darker: hsl(@gold-legacy-h - 3, 100%, 20%);
638
+
639
+ // Silver
640
+ --silver-legacy: hsl(@silver-legacy-h, 6%, 72%);
641
+ --silver-legacy-lighter: hsl(@silver-legacy-h, 6%, 91%);
642
+ --silver-legacy-darker: hsl(@silver-legacy-h, 6%, 30%);
643
+
644
+ // Bronze
645
+ --bronze-legacy: hsl(@bronze-legacy-h, 38%, 65%);
646
+ --bronze-legacy-lighter: hsl(@bronze-legacy-h, 40%, 92%);
647
+ --bronze-legacy-darker: hsl(@bronze-legacy-h, 31%, 25%);
648
+
649
+ // Border colors
650
+ --bc-lightest-legacy: var(--black-legacy-400);
651
+ --bc-lighter-legacy: var(--black-legacy-400);
652
+ --bc-light-legacy: var(--black-legacy-400);
653
+ --bc-medium-legacy: var(--black-legacy-400);
654
+ --bc-dark-legacy: var(--black-legacy-700);
655
+ --bc-darker-legacy: var(--black-legacy-900);
656
+
657
+ // Font colors
658
+ --fc-dark-legacy: var(--black-legacy-900);
659
+ --fc-medium-legacy: var(--black-legacy-700);
660
+ --fc-light-legacy: var(--black-legacy-500);
661
+
662
+ // Focus rings
663
+ --focus-ring-legacy: fade(@blue-legacy-600, 90%);
664
+ --focus-ring-success-legacy: fade(@green-legacy-600, 90%);
665
+ --focus-ring-warning-legacy: fade(@yellow-legacy-600, 90%);
666
+ --focus-ring-error-legacy: fade(@red-legacy-600, 90%);
667
+ --focus-ring-muted-legacy: fade(@black-legacy-400, 95%);
668
+
669
+ // High contrast theme override
670
+ .highcontrast-themed-colors();
671
+ }
672
+
673
+ .dark-highcontrast() {
674
+ --white-legacy: hsl(0, 0%, 0%);
675
+ --black-legacy: hsl(0, 0%, 100%);
676
+
677
+ // Black
678
+ --black-legacy-025: hsl(@black-legacy-h, @black-legacy-s, 2.5%);
679
+ --black-legacy-050: hsl(@black-legacy-h, @black-legacy-s, 5%);
680
+ --black-legacy-075: hsl(@black-legacy-h, @black-legacy-s, 7.5%);
681
+ --black-legacy-100: hsl(@black-legacy-h, @black-legacy-s, 10%);
682
+ --black-legacy-150: hsl(@black-legacy-h, @black-legacy-s, 12.5%);
683
+ --black-legacy-200: hsl(@black-legacy-h, @black-legacy-s, 15%);
684
+ --black-legacy-300: hsl(@black-legacy-h, @black-legacy-s, 65%);
685
+ --black-legacy-350: hsl(@black-legacy-h, @black-legacy-s, 67.5%);
686
+ --black-legacy-400: hsl(@black-legacy-h, @black-legacy-s, 70%);
687
+ --black-legacy-500: hsl(@black-legacy-h, @black-legacy-s, 75%);
688
+ --black-legacy-600: hsl(@black-legacy-h, @black-legacy-s, 80%);
689
+ --black-legacy-700: hsl(@black-legacy-h, @black-legacy-s, 85%);
690
+ --black-legacy-750: hsl(@black-legacy-h, @black-legacy-s, 90%);
691
+ --black-legacy-800: hsl(@black-legacy-h, @black-legacy-s, 95%);
692
+ --black-legacy-900: hsl(@black-legacy-h, @black-legacy-s, 100%);
693
+
694
+ // Orange
695
+ --orange-legacy-050: hsl(@orange-legacy-h, 100%, 7%);
696
+ --orange-legacy-100: hsl(@orange-legacy-h, 100%, 9%);
697
+ --orange-legacy-200: hsl(@orange-legacy-h, 100%, 15%);
698
+ --orange-legacy-300: hsl(@orange-legacy-h, 100%, 22%);
699
+ --orange-legacy-400: hsl(@orange-legacy-h, 100%, 64%);
700
+ --orange-legacy-500: hsl(@orange-legacy-h, 100%, 71%);
701
+ --orange-legacy-600: hsl(@orange-legacy-h, 100%, 77%);
702
+ --orange-legacy-700: hsl(@orange-legacy-h, 100%, 82%);
703
+ --orange-legacy-800: hsl(@orange-legacy-h, 100%, 87%);
704
+ --orange-legacy-900: hsl(@orange-legacy-h, 100%, 91%);
705
+
706
+ // Blue
707
+ --blue-legacy-050: hsl(@blue-legacy-h, 100%, 7%);
708
+ --blue-legacy-100: hsl(@blue-legacy-h, 100%, 11%);
709
+ --blue-legacy-200: hsl(@blue-legacy-h, 100%, 17%);
710
+ --blue-legacy-300: hsl(@blue-legacy-h, 100%, 24%);
711
+ --blue-legacy-400: hsl(@blue-legacy-h, 100%, 75%);
712
+ --blue-legacy-500: hsl(@blue-legacy-h, 100%, 80%);
713
+ --blue-legacy-600: hsl(@blue-legacy-h, 100%, 85%);
714
+ --blue-legacy-700: hsl(@blue-legacy-h, 100%, 90%);
715
+ --blue-legacy-800: hsl(@blue-legacy-h, 100%, 92.5%);
716
+ --blue-legacy-900: hsl(@blue-legacy-h, 100%, 95%);
717
+
718
+ // Powder
719
+ --powder-legacy-050: hsl(@powder-legacy-h, 100%, 7%);
720
+ --powder-legacy-100: hsl(@powder-legacy-h, 95%, 10%);
721
+ --powder-legacy-200: hsl(@powder-legacy-h, 80%, 14%);
722
+ --powder-legacy-300: hsl(@powder-legacy-h, 76%, 19%);
723
+ --powder-legacy-400: hsl(@powder-legacy-h, 55%, 72%);
724
+ --powder-legacy-500: hsl(@powder-legacy-h, 60%, 76%);
725
+ --powder-legacy-600: hsl(@powder-legacy-h, 70%, 80%);
726
+ --powder-legacy-700: hsl(@powder-legacy-h, 75%, 84%);
727
+ --powder-legacy-800: hsl(@powder-legacy-h, 75%, 88%);
728
+ --powder-legacy-900: hsl(@powder-legacy-h, 75%, 92%);
729
+
730
+ // Green
731
+ --green-legacy-025: hsl(@green-legacy-h, 100%, 5%);
732
+ --green-legacy-050: hsl(@green-legacy-h, 100%, 6%);
733
+ --green-legacy-100: hsl(@green-legacy-h, 100%, 7%);
734
+ --green-legacy-200: hsl(@green-legacy-h, 100%, 11%);
735
+ --green-legacy-300: hsl(@green-legacy-h, 100%, 15%);
736
+ --green-legacy-400: hsl(@green-legacy-h, 100%, 65%);
737
+ --green-legacy-500: hsl(@green-legacy-h, 100%, 71%);
738
+ --green-legacy-600: hsl(@green-legacy-h, 100%, 77%);
739
+ --green-legacy-700: hsl(@green-legacy-h, 100%, 83%);
740
+ --green-legacy-800: hsl(@green-legacy-h, 100%, 89%);
741
+ --green-legacy-900: hsl(@green-legacy-h, 100%, 94%);
742
+
743
+ // Yellow
744
+ --yellow-legacy-050: hsl(@yellow-legacy-h, 100%, 6%);
745
+ --yellow-legacy-100: hsl(@yellow-legacy-h, 100%, 9%);
746
+ --yellow-legacy-200: hsl(@yellow-legacy-h, 100%, 14%);
747
+ --yellow-legacy-300: hsl(@yellow-legacy-h, 100%, 20%);
748
+ --yellow-legacy-400: hsl(@yellow-legacy-h, 100%, 55%);
749
+ --yellow-legacy-500: hsl(@yellow-legacy-h, 100%, 63%);
750
+ --yellow-legacy-600: hsl(@yellow-legacy-h, 100%, 71%);
751
+ --yellow-legacy-700: hsl(@yellow-legacy-h, 100%, 79%);
752
+ --yellow-legacy-800: hsl(@yellow-legacy-h, 100%, 87%);
753
+ --yellow-legacy-900: hsl(@yellow-legacy-h, 100%, 95%);
754
+
755
+ // Red
756
+ --red-legacy-025: hsl(@red-legacy-h, 100%, 7%);
757
+ --red-legacy-050: hsl(@red-legacy-h, 100%, 9%);
758
+ --red-legacy-100: hsl(@red-legacy-h, 100%, 12%);
759
+ --red-legacy-200: hsl(@red-legacy-h, 100%, 17%);
760
+ --red-legacy-300: hsl(@red-legacy-h, 100%, 22%);
761
+ --red-legacy-400: hsl(@red-legacy-h, 100%, 70%);
762
+ --red-legacy-500: hsl(@red-legacy-h, 100%, 75%);
763
+ --red-legacy-600: hsl(@red-legacy-h, 100%, 80%);
764
+ --red-legacy-700: hsl(@red-legacy-h, 100%, 85%);
765
+ --red-legacy-800: hsl(@red-legacy-h, 100%, 90%);
766
+ --red-legacy-900: hsl(@red-legacy-h, 100%, 95%);
767
+
768
+ // Gold
769
+ --gold-legacy: hsl(@gold-legacy-h, 100%, 50%);
770
+ --gold-legacy-lighter: hsl(@gold-legacy-h - 3, 100%, 9%);
771
+ --gold-legacy-darker: hsl(@gold-legacy-h - 3, 100%, 80%);
772
+
773
+ // Silver
774
+ --silver-legacy: hsl(@silver-legacy-h, 6%, 72%);
775
+ --silver-legacy-lighter: hsl(@silver-legacy-h, 5%, 9%);
776
+ --silver-legacy-darker: hsl(@silver-legacy-h, 5%, 70%);
777
+
778
+ // Bronze
779
+ --bronze-legacy: hsl(@bronze-legacy-h, 38%, 65%);
780
+ --bronze-legacy-lighter: hsl(@bronze-legacy-h, 40%, 8%);
781
+ --bronze-legacy-darker: hsl(@bronze-legacy-h, 46.7%, 75%);
782
+
783
+ // Border colors
784
+ --bc-lightest-legacy: var(--black-legacy-400);
785
+ --bc-lighter-legacy: var(--black-legacy-400);
786
+ --bc-light-legacy: var(--black-legacy-400);
787
+ --bc-medium-legacy: var(--black-legacy-400);
788
+ --bc-dark-legacy: var(--black-legacy-700);
789
+ --bc-darker-legacy: var(--black-legacy-900);
790
+
791
+ // Focus rings
792
+ --focus-ring-legacy: fade(@blue-legacy-600, 90%);
793
+ --focus-ring-success-legacy: fade(@green-legacy-600, 90%);
794
+ --focus-ring-warning-legacy: fade(@yellow-legacy-600, 90%);
795
+ --focus-ring-error-legacy: fade(@red-legacy-600, 90%);
796
+ --focus-ring-muted-legacy: fade(@black-legacy-400, 95%);
797
+
798
+ // Font colors
799
+ --fc-dark-legacy: var(--black-legacy-900);
800
+ --fc-medium-legacy: var(--black-legacy-700);
801
+ --fc-light-legacy: var(--black-legacy-500);
802
+
803
+ .highcontrast-themed-colors();
804
+ }
805
+
806
+ .highcontrast-themed-colors() {
807
+ // Primary Theming
808
+ --theme-primary-color-legacy: var(--orange-legacy-400);
809
+ --theme-primary-legacy-025: var(--orange-legacy-050);
810
+ --theme-primary-legacy-050: var(--orange-legacy-050);
811
+ --theme-primary-legacy-075: var(--orange-legacy-050);
812
+ --theme-primary-legacy-100: var(--orange-legacy-100);
813
+ --theme-primary-legacy-150: var(--orange-legacy-100);
814
+ --theme-primary-legacy-200: var(--orange-legacy-200);
815
+ --theme-primary-legacy-300: var(--orange-legacy-300);
816
+ --theme-primary-legacy-350: var(--orange-legacy-300);
817
+ --theme-primary-legacy-400: var(--orange-legacy-400);
818
+ --theme-primary-legacy-500: var(--orange-legacy-500);
819
+ --theme-primary-legacy-600: var(--orange-legacy-600);
820
+ --theme-primary-legacy-700: var(--orange-legacy-700);
821
+ --theme-primary-legacy-800: var(--orange-legacy-800);
822
+ --theme-primary-legacy-900: var(--orange-legacy-900);
823
+
824
+ // Secondary Theming
825
+ --theme-secondary-color-legacy: var(--blue-legacy-400);
826
+ --theme-secondary-legacy-025: var(--blue-legacy-050);
827
+ --theme-secondary-legacy-050: var(--blue-legacy-050);
828
+ --theme-secondary-legacy-075: var(--blue-legacy-050);
829
+ --theme-secondary-legacy-100: var(--blue-legacy-100);
830
+ --theme-secondary-legacy-150: var(--blue-legacy-100);
831
+ --theme-secondary-legacy-200: var(--blue-legacy-200);
832
+ --theme-secondary-legacy-300: var(--blue-legacy-300);
833
+ --theme-secondary-legacy-350: var(--blue-legacy-300);
834
+ --theme-secondary-legacy-400: var(--blue-legacy-400);
835
+ --theme-secondary-legacy-500: var(--blue-legacy-500);
836
+ --theme-secondary-legacy-600: var(--blue-legacy-600);
837
+ --theme-secondary-legacy-700: var(--blue-legacy-700);
838
+ --theme-secondary-legacy-800: var(--blue-legacy-800);
839
+ --theme-secondary-legacy-900: var(--blue-legacy-900);
840
+ }
841
+
842
+ :root {
843
+ // specify the default colors in less, then deconstruct them
844
+ // this keeps the hsl/rgb variables below in sync, but consumers will need to set each variable separately
845
+ @defaultPrimaryColor: @orange-legacy;
846
+ @defaultSecondaryColor: @blue-legacy;
847
+ .generate-calculated-themed-variables(@defaultPrimaryColor, primary);
848
+ .generate-calculated-themed-variables(@defaultSecondaryColor, secondary);
849
+ }
850
+
851
+ // Light mode
852
+ body:not(.theme-dark),
853
+ body.theme-dark .theme-light__forced,
854
+ body.theme-system .theme-light__forced {
855
+ .light-colors();
856
+
857
+ &,
858
+ & .themed {
859
+ color: var(--theme-body-font-color);
860
+ .generate-themed-variables(theme-light);
861
+ // add in the themed "native mixins", making sure to scope to the child .themed elements so they don't use the parent's values
862
+ .light-themed-colors();
863
+ }
864
+ }
865
+
866
+ // Dark mode
867
+ body.theme-dark,
868
+ body:not(.theme-dark) .theme-dark__forced {
869
+ .theme-dark-rules();
870
+ }
871
+ body.theme-system {
872
+ @media (prefers-color-scheme: dark) {
873
+ .theme-dark-rules();
874
+ }
875
+ }
876
+
877
+ // High contrast mode (Light)
878
+ body.theme-highcontrast:not(.theme-dark),
879
+ body.theme-dark.theme-highcontrast .theme-light__forced,
880
+ body.theme-system.theme-highcontrast .theme-light__forced {
881
+ .light-highcontrast();
882
+ }
883
+
884
+ // High contrast mode (Dark)
885
+ body.theme-dark.theme-highcontrast,
886
+ body.theme-highcontrast:not(.theme-dark) .theme-dark__forced {
887
+ .dark-highcontrast();
888
+ }
889
+ body.theme-system.theme-highcontrast {
890
+ @media (prefers-color-scheme: dark) {
891
+ .dark-highcontrast();
892
+ }
893
+ }