@stackoverflow/stacks 0.74.0 → 1.0.0-beta.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 (89) hide show
  1. package/dist/controllers/index.d.ts +7 -0
  2. package/dist/controllers/s-expandable-control.d.ts +17 -0
  3. package/dist/controllers/s-modal.d.ts +97 -0
  4. package/dist/controllers/s-navigation-tablist.d.ts +36 -0
  5. package/dist/controllers/s-popover.d.ts +155 -0
  6. package/dist/controllers/s-table.d.ts +8 -0
  7. package/dist/controllers/s-tooltip.d.ts +82 -0
  8. package/dist/controllers/s-uploader.d.ts +48 -0
  9. package/dist/css/stacks.css +4633 -2703
  10. package/dist/css/stacks.min.css +1 -1
  11. package/dist/index.d.ts +3 -0
  12. package/dist/js/stacks.js +6026 -5403
  13. package/dist/js/stacks.min.js +1 -1
  14. package/dist/stacks.d.ts +21 -0
  15. package/lib/css/atomic/{_stacks-borders.less → borders.less} +30 -30
  16. package/lib/css/atomic/{_stacks-colors.less → colors.less} +0 -0
  17. package/lib/css/atomic/{_stacks-flex.less → flex.less} +14 -13
  18. package/lib/css/atomic/{_stacks-grid.less → grid.less} +12 -11
  19. package/lib/css/atomic/{_stacks-misc.less → misc.less} +23 -22
  20. package/lib/css/atomic/spacing.less +314 -0
  21. package/lib/css/atomic/{_stacks-typography.less → typography.less} +29 -29
  22. package/lib/css/atomic/width-height.less +194 -0
  23. package/lib/css/base/{_stacks-body.less → body.less} +3 -5
  24. package/lib/css/base/{_stacks-configuration-static.less → configuration-static.less} +3 -1
  25. package/lib/css/base/{_stacks-icons.less → icons.less} +0 -0
  26. package/lib/css/base/{_stacks-internals.less → internals.less} +0 -10
  27. package/lib/css/base/{_stacks-reset-meyer.less → reset-meyer.less} +0 -0
  28. package/lib/css/base/{_stacks-reset-normalize.less → reset-normalize.less} +0 -0
  29. package/lib/css/base/{_stacks-reset.less → reset.less} +2 -2
  30. package/lib/css/components/{_stacks-activity-indicator.less → activity-indicator.less} +9 -9
  31. package/lib/css/components/{_stacks-avatars.less → avatars.less} +40 -40
  32. package/lib/css/components/{_stacks-badges.less → badges.less} +11 -11
  33. package/lib/css/components/{_stacks-banners.less → banners.less} +5 -6
  34. package/lib/css/components/{_stacks-blank-states.less → blank-states.less} +2 -2
  35. package/lib/css/components/{_stacks-breadcrumbs.less → breadcrumbs.less} +7 -7
  36. package/lib/css/components/{_stacks-button-groups.less → button-groups.less} +2 -2
  37. package/lib/css/components/{_stacks-buttons.less → buttons.less} +77 -72
  38. package/lib/css/components/{_stacks-cards.less → cards.less} +2 -2
  39. package/lib/css/components/{_stacks-code-blocks.less → code-blocks.less} +8 -8
  40. package/lib/css/components/{_stacks-collapsible.less → collapsible.less} +0 -0
  41. package/lib/css/components/{_stacks-inputs.less → inputs.less} +41 -41
  42. package/lib/css/components/{_stacks-link-previews.less → link-previews.less} +17 -17
  43. package/lib/css/components/{_stacks-links.less → links.less} +4 -4
  44. package/lib/css/components/{_stacks-menu.less → menu.less} +5 -5
  45. package/lib/css/components/{_stacks-modals.less → modals.less} +20 -20
  46. package/lib/css/components/{_stacks-navigation.less → navigation.less} +12 -12
  47. package/lib/css/components/{_stacks-notices.less → notices.less} +12 -12
  48. package/lib/css/components/{_stacks-page-titles.less → page-titles.less} +9 -9
  49. package/lib/css/components/{_stacks-pagination.less → pagination.less} +8 -8
  50. package/lib/css/components/{_stacks-popovers.less → popovers.less} +17 -17
  51. package/lib/css/components/{_stacks-post-summary.less → post-summary.less} +155 -60
  52. package/lib/css/components/{_stacks-progress-bars.less → progress-bars.less} +29 -30
  53. package/lib/css/components/{_stacks-prose.less → prose.less} +31 -31
  54. package/lib/css/components/{_stacks-spinner.less → spinner.less} +14 -14
  55. package/lib/css/components/{_stacks-tables.less → tables.less} +10 -10
  56. package/lib/css/components/{_stacks-tags.less → tags.less} +33 -41
  57. package/lib/css/components/{_stacks-toggle-switches.less → toggle-switches.less} +5 -5
  58. package/lib/css/components/{_stacks-topbar.less → topbar.less} +27 -40
  59. package/lib/css/components/{_stacks-uploader.less → uploader.less} +18 -18
  60. package/lib/css/components/{_stacks-user-cards.less → user-cards.less} +14 -14
  61. package/lib/css/components/{_stacks-widget-dynamic.less → widget-dynamic.less} +1 -1
  62. package/lib/css/components/{_stacks-widget-static.less → widget-static.less} +39 -38
  63. package/lib/css/exports/{_stacks-constants-colors.less → constants-colors.less} +21 -29
  64. package/lib/css/exports/constants-helpers.less +108 -0
  65. package/lib/css/exports/constants-type.less +153 -0
  66. package/lib/css/exports/{_stacks-exports.less → exports.less} +4 -4
  67. package/lib/css/exports/{_stacks-mixins.less → mixins.less} +18 -1
  68. package/lib/css/stacks-dynamic.less +12 -13
  69. package/lib/css/stacks-static.less +38 -38
  70. package/lib/ts/controllers/index.ts +8 -0
  71. package/lib/ts/controllers/s-expandable-control.ts +163 -164
  72. package/lib/ts/controllers/s-modal.ts +259 -261
  73. package/lib/ts/controllers/s-navigation-tablist.ts +96 -97
  74. package/lib/ts/controllers/s-popover.ts +438 -440
  75. package/lib/ts/controllers/s-table.ts +203 -203
  76. package/lib/ts/controllers/s-tooltip.ts +195 -196
  77. package/lib/ts/controllers/s-uploader.ts +162 -164
  78. package/lib/ts/index.ts +20 -0
  79. package/lib/ts/stacks.ts +73 -68
  80. package/lib/tsconfig.json +8 -6
  81. package/package.json +43 -27
  82. package/dist/css/stacks-flexgrid-shim.min.css +0 -1
  83. package/lib/css/atomic/_stacks-spacing.less +0 -162
  84. package/lib/css/atomic/_stacks-width-height.less +0 -189
  85. package/lib/css/base/_stacks-configuration-dynamic.less +0 -106
  86. package/lib/css/exports/_stacks-constants-helpers.less +0 -139
  87. package/lib/css/exports/_stacks-constants-type.less +0 -91
  88. package/lib/ts/finalize.ts +0 -1
  89. package/lib/ts/stimulus.d.ts +0 -4
@@ -16,7 +16,7 @@
16
16
  justify-content: space-between;
17
17
  align-items: flex-end;
18
18
  width: 100%;
19
- padding-bottom: @su16;
19
+ padding-bottom: var(--su16);
20
20
  border-bottom: 1px solid var(--bc-medium);
21
21
 
22
22
  #stacks-internals #screen-md({
@@ -27,34 +27,34 @@
27
27
  .s-page-title--header {
28
28
  margin: 0;
29
29
  margin-bottom: 0;
30
- font-size: @fs-headline1;
30
+ font-size: var(--fs-headline1);
31
31
  color: var(--fc-dark);
32
- line-height: @lh-sm;
32
+ line-height: var(--lh-sm);
33
33
  font-weight: normal;
34
34
  }
35
35
 
36
36
  .s-page-title--description {
37
37
  color: var(--fc-light);
38
- margin-top: @su4;
38
+ margin-top: var(--su4);
39
39
  margin-bottom: 0;
40
- font-size: @fs-body2;
40
+ font-size: var(--fs-body2);
41
41
  }
42
42
 
43
43
  .s-page-title--actions {
44
- margin-left: @su8;
44
+ margin-left: var(--su8);
45
45
  flex-shrink: 0;
46
46
 
47
47
  #stacks-internals #screen-md({
48
- margin-top: @su8;
48
+ margin-top: var(--su8);
49
49
  margin-left: 0;
50
50
  });
51
51
  }
52
52
 
53
53
  .s-breadcrumbs {
54
- margin-bottom: @su8;
54
+ margin-bottom: var(--su8);
55
55
 
56
56
  #stacks-internals #screen-sm({
57
- margin-bottom: @su2;
57
+ margin-bottom: var(--su2);
58
58
  });
59
59
  }
60
60
  }
@@ -15,19 +15,19 @@
15
15
  .s-pagination {
16
16
  display: flex;
17
17
  flex-wrap: wrap;
18
- margin-left: -@su2;
19
- margin-right: -@su2;
18
+ margin-left: calc(var(--su2) * -1);
19
+ margin-right: calc(var(--su2) * -1);
20
20
  }
21
21
 
22
22
  .s-pagination--item {
23
- margin-left: @su2;
24
- margin-right: @su2;
25
- padding: 0 @su8;
23
+ margin-left: var(--su2);
24
+ margin-right: var(--su2);
25
+ padding: 0 var(--su8);
26
26
  background-color: transparent;
27
- border-radius: @br-sm;
27
+ border-radius: var(--br-sm);
28
28
  border: 1px solid var(--bc-medium);
29
- font-size: @fs-body1;
30
- line-height: @lh-xl;
29
+ font-size: var(--fs-body1);
30
+ line-height: var(--lh-xl);
31
31
  color: var(--fc-medium);
32
32
 
33
33
  .highcontrast-mode({ text-decoration: none; });
@@ -19,14 +19,14 @@
19
19
  display: none;
20
20
  position: absolute;
21
21
  max-width: 24rem;
22
- padding: @su12;
23
- z-index: @zi-popovers;
24
- border-radius: @br-md;
22
+ padding: var(--su12);
23
+ z-index: var(--zi-popovers);
24
+ border-radius: var(--br-md);
25
25
  border: 1px solid var(--bc-medium);
26
26
  background-color: var(--white);
27
27
  box-shadow: var(--bs-md);
28
28
  color: var(--fc-dark);
29
- font-size: @fs-body1;
29
+ font-size: var(--fs-body1);
30
30
  min-width: 12rem;
31
31
  width: 100%;
32
32
 
@@ -53,7 +53,7 @@
53
53
  .s-popover--arrow__bc,
54
54
  .s-popover--arrow__bl,
55
55
  .s-popover--arrow__br {
56
- bottom: -@su6;
56
+ bottom: calc(var(--su6) * -1);
57
57
 
58
58
  &:after {
59
59
  bottom: 1px;
@@ -69,7 +69,7 @@
69
69
  .s-popover--arrow__tc,
70
70
  .s-popover--arrow__tl,
71
71
  .s-popover--arrow__tr {
72
- top: -@su6;
72
+ top: calc(var(--su6) * -1);
73
73
 
74
74
  &:after {
75
75
  top: 1px;
@@ -85,7 +85,7 @@
85
85
  .s-popover--arrow__rc,
86
86
  .s-popover--arrow__rt,
87
87
  .s-popover--arrow__rb {
88
- right: -@su6;
88
+ right: calc(var(--su6) * -1);
89
89
 
90
90
  &:after {
91
91
  right: 1px;
@@ -101,7 +101,7 @@
101
101
  .s-popover--arrow__lc,
102
102
  .s-popover--arrow__lt,
103
103
  .s-popover--arrow__lb {
104
- left: -@su6;
104
+ left: calc(var(--su6) * -1);
105
105
 
106
106
  &:after {
107
107
  left: 1px;
@@ -115,22 +115,22 @@
115
115
 
116
116
  .s-popover--arrow__tc,
117
117
  .s-popover--arrow__bc {
118
- left: calc(50% - @su6);
118
+ left: calc(50% - var(--su6));
119
119
  }
120
120
 
121
121
  .s-popover--arrow__lc,
122
122
  .s-popover--arrow__rc {
123
- top: calc(50% - @su6);
123
+ top: calc(50% - var(--su6));
124
124
  }
125
125
 
126
126
  .s-popover--arrow__tr,
127
127
  .s-popover--arrow__br {
128
- right: @su12;
128
+ right: var(--su12);
129
129
  }
130
130
 
131
131
  .s-popover--arrow__rb,
132
132
  .s-popover--arrow__lb {
133
- bottom: @su12;
133
+ bottom: var(--su12);
134
134
  }
135
135
  }
136
136
 
@@ -140,9 +140,9 @@
140
140
 
141
141
  .s-popover--close {
142
142
  float: right; // Use floats for title wrapping
143
- top: -@su8; // Compensate for s-popover's padding
144
- right: -@su8; // Compensate for s-popover's padding
145
- padding: @su8 !important;
143
+ top: calc(var(--su8) * -1); // Compensate for s-popover's padding
144
+ right: calc(var(--su8) * -1); // Compensate for s-popover's padding
145
+ padding: var(--su8) !important;
146
146
  }
147
147
 
148
148
  // ============================================================================
@@ -169,8 +169,8 @@
169
169
  .s-popover--arrow:after {
170
170
  position: absolute;
171
171
  display: block;
172
- width: @su12;
173
- height: @su12;
172
+ width: var(--su12);
173
+ height: var(--su12);
174
174
  z-index: -1;
175
175
  }
176
176
 
@@ -11,7 +11,7 @@
11
11
  position: relative;
12
12
  display: flex;
13
13
  border-bottom: 1px solid var(--bc-light);
14
- padding: @su16;
14
+ padding: var(--su16);
15
15
 
16
16
  &:last-child {
17
17
  border-bottom-width: 0;
@@ -34,14 +34,95 @@
34
34
  width: 100%;
35
35
  }
36
36
  }
37
+
38
+ &.s-post-summary__legacy {
39
+ padding-left: 0; // Since stats have padding, we don't need it on the parent
40
+
41
+ #stacks-internals #screen-md({
42
+ padding-left: var(--su16);
43
+ });
44
+
45
+ .s-post-summary--stats {
46
+ width: auto;
47
+ flex-direction: row;
48
+ align-items: center;
49
+ gap: var(--su2);
50
+
51
+ .s-post-summary--stats-item {
52
+ min-width: var(--su64);
53
+ height: var(--su48);
54
+ flex-direction: column;
55
+ gap: 0;
56
+ font-size: var(--fs-caption);
57
+
58
+ &.s-post-summary--stats-item__emphasized {
59
+ color: inherit;
60
+ }
61
+
62
+ &.has-accepted-answer .svg-icon {
63
+ display: none;
64
+ }
65
+
66
+ .s-post-summary--stats-item-number {
67
+ font-weight: normal;
68
+ font-size: var(--fs-body3);
69
+ }
70
+
71
+ &.is-deleted,
72
+ &.is-published,
73
+ &.is-draft,
74
+ &.is-review,
75
+ &.is-closed,
76
+ &.is-archived,
77
+ &.is-pinned {
78
+ display: none;
79
+ }
80
+ }
81
+
82
+ #stacks-internals #screen-md({
83
+ flex-direction: row;
84
+ align-items: center;
85
+ gap: var(--su8);
86
+
87
+ .s-post-summary--stats-item {
88
+ min-width: auto;
89
+ height: auto;
90
+ flex-direction: row;
91
+ gap: 3px; // HTML spacing
92
+
93
+ .s-post-summary--stats-item-number {
94
+ font-size: inherit;
95
+ }
96
+
97
+ &.s-post-summary--stats-item__emphasized {
98
+ color: var(--fc-dark);
99
+ }
100
+
101
+ &.has-accepted-answer .svg-icon {
102
+ display: block;
103
+ }
104
+
105
+ &.is-deleted,
106
+ &.is-published,
107
+ &.is-draft,
108
+ &.is-review,
109
+ &.is-closed,
110
+ &.is-archived,
111
+ &.is-pinned {
112
+ display: block;
113
+ }
114
+ }
115
+ });
116
+ }
117
+ }
37
118
  }
38
119
 
39
120
  // [1] To override .s-btn class attributes
40
121
  .s-post-summary--content-menu-button {
41
122
  position: absolute !important; // [1]
42
- top: @su8;
43
- right: @su8;
44
- padding: @su8 !important; // [1]
123
+ top: var(--su8);
124
+ right: var(--su8);
125
+ padding: var(--su8) !important; // [1]
45
126
 
46
127
  .svg-icon {
47
128
  margin: 0 !important;
@@ -49,35 +130,34 @@
49
130
  }
50
131
 
51
132
  .s-post-summary--stats {
52
- --s-post-summary-stats-gap: @su6; // Replace with gap property as soon as browser support makes sense.
53
- margin-right: @su8;
54
- margin-bottom: -@su2;
55
- width: @su96 + @su12;
133
+ gap: var(--su6);
134
+ margin-right: var(--su16);
135
+ margin-bottom: var(--su4);
136
+ width: calc(var(--su96) + var(--su12));
56
137
  display: flex;
57
138
  flex-direction: column;
58
139
  flex-shrink: 0;
59
140
  flex-wrap: wrap;
60
141
  align-items: flex-end;
61
- font-size: @fs-body1;
142
+ font-size: var(--fs-body1);
62
143
  color: var(--fc-light);
63
144
 
64
145
  .s-post-summary--stats-item {
65
146
  display: inline-flex;
147
+ gap: 0.3em;
66
148
  align-items: center;
67
149
  justify-content: center;
68
- margin-right: var(--s-post-summary-stats-gap);
69
- margin-bottom: var(--s-post-summary-stats-gap);
70
150
  white-space: nowrap;
71
151
  border: 1px solid transparent;
72
152
 
73
- .svg-icon {
74
- margin-right: @su4;
75
- }
76
-
77
153
  &.s-post-summary--stats-item__emphasized {
78
154
  color: var(--fc-dark);
79
155
  }
80
156
 
157
+ .s-post-summary--stats-item-number {
158
+ font-weight: 500;
159
+ }
160
+
81
161
  &.has-answers,
82
162
  &.has-bounty,
83
163
  &.is-deleted,
@@ -85,9 +165,10 @@
85
165
  &.is-draft,
86
166
  &.is-review,
87
167
  &.is-closed,
88
- &.is-archived {
89
- border-radius: @br-sm;
90
- padding: @su2 @su4;
168
+ &.is-archived,
169
+ &.is-pinned {
170
+ border-radius: var(--br-sm);
171
+ padding: var(--su2) var(--su4);
91
172
  }
92
173
 
93
174
  &.has-answers {
@@ -150,6 +231,11 @@
150
231
  background-color: var(--black-100);
151
232
  border-color: var(--black-600);
152
233
  }
234
+
235
+ &.is-pinned {
236
+ color: var(--white);
237
+ background-color: var(--black-700);
238
+ }
153
239
  }
154
240
 
155
241
  #stacks-internals #screen-md({
@@ -165,41 +251,58 @@
165
251
 
166
252
  .s-post-summary--content-title {
167
253
  display: block;
168
- font-size: @fs-body3;
254
+ font-size: var(--fs-body3);
169
255
  margin-top: -0.15rem; // Optical alignment to compensate for title's containing block
170
- margin-bottom: @su6;
171
- overflow-wrap: break-word;
172
- word-wrap: break-word;
173
- padding-right: @su24;
256
+ margin-bottom: 0.3846rem;
257
+ padding-right: var(--su24);
258
+ line-height: var(--lh-md);
259
+ font-weight: normal;
260
+ .break-word;
174
261
 
175
262
  .iconShield {
176
- color: var(--black-600);
177
- vertical-align: baseline;
263
+ color: var(--fc-light);
264
+ }
265
+
266
+ .svg-icon {
267
+ vertical-align: text-bottom; // Optical alignment
178
268
  position: relative;
179
- bottom: -@su2;
269
+ top: -1px;
270
+ }
180
271
 
181
- #stacks-internals #screen-sm({
182
- vertical-align: text-bottom;
183
- bottom: 0;
184
- });
272
+ a {
273
+ .break-word;
274
+
275
+ color: var(--theme-post-title-color);
276
+ font-family: var(--theme-post-title-font-family);
277
+
278
+ &:visited {
279
+ color: var(--theme-post-title-color-visited);
280
+ }
281
+
282
+ &:hover,
283
+ &:active {
284
+ color: var(--theme-post-title-color-hover);
285
+ }
185
286
  }
186
287
  }
187
288
 
188
289
  .s-post-summary--content-type {
189
290
  color: var(--fc-medium);
190
- margin-bottom: @su4;
291
+ margin-bottom: var(--su4);
191
292
 
192
293
  .svg-icon {
193
- margin-left: -@su2;
294
+ margin-left: calc(var(--su2) * -1);
194
295
  color: var(--fc-light);
195
296
  }
196
297
  }
197
298
 
198
299
  .s-post-summary--content-excerpt {
199
- margin-top: -@su2;
200
- margin-bottom: @su8;
300
+ margin-top: calc(var(--su2) * -1);
301
+ margin-bottom: var(--su8);
302
+ font-family: var(--theme-post-body-font-family);
201
303
  color: var(--fc-medium);
202
304
  .v-truncate2;
305
+ .break-word;
203
306
 
204
307
  &.s-post-summary--content-excerpt__sm {
205
308
  .v-truncate1;
@@ -216,28 +319,21 @@
216
319
  }
217
320
 
218
321
  .s-post-summary--meta {
219
- --s-post-summary-tags-gap: @su4; // Replace with gap property as soon as browser support makes sense.
220
-
221
322
  display: flex;
222
323
  align-items: center;
223
324
  justify-content: space-between;
224
325
  flex-wrap: wrap;
225
- margin-bottom: calc(-1 * var(--s-post-summary-tags-gap));
326
+ column-gap: var(--su6);
327
+ row-gap: var(--su8);
226
328
 
227
329
  .s-post-summary--meta-tags {
228
330
  display: flex;
229
331
  flex-wrap: wrap;
230
- margin-right: var(--s-post-summary-tags-gap);
231
-
232
- & > * {
233
- margin-right: var(--s-post-summary-tags-gap);
234
- margin-bottom: var(--s-post-summary-tags-gap);
235
- }
332
+ gap: var(--su4);
236
333
  }
237
334
 
238
335
  .s-user-card {
239
336
  flex-wrap: wrap;
240
- margin-bottom: var(--s-post-summary-tags-gap);
241
337
  margin-left: auto;
242
338
  justify-content: flex-end;
243
339
  }
@@ -245,11 +341,11 @@
245
341
 
246
342
  .s-post-summary--answer {
247
343
  position: relative;
248
- margin: @su16 1em 0 1em;
249
- padding: 0.5em 0 0.5em calc(1em + @su4);
344
+ margin: var(--su16) 1em 0 1em;
345
+ padding: 0.5em 0 0.5em calc(1em + var(--su4));
250
346
 
251
347
  + .s-post-summary--answer {
252
- margin-top: @su16;
348
+ margin-top: var(--su16);
253
349
  }
254
350
 
255
351
  &:before {
@@ -259,8 +355,8 @@
259
355
  top: 0;
260
356
  bottom: 0;
261
357
  left: 0;
262
- width: @su4;
263
- border-radius: @su8;
358
+ width: var(--su4);
359
+ border-radius: var(--su8);
264
360
  background: var(--black-150);
265
361
 
266
362
  .highcontrast-mode({
@@ -272,12 +368,12 @@
272
368
  width: auto;
273
369
  flex-direction: row;
274
370
  align-items: center;
275
- margin-bottom: @su4;
371
+ margin-bottom: var(--su4);
276
372
  }
277
373
 
278
374
  .s-post-summary--answer-excerpt {
279
375
  color: var(--black-600);
280
- margin-bottom: @su8;
376
+ margin-bottom: var(--su8);
281
377
  .v-truncate4;
282
378
  }
283
379
  }
@@ -306,17 +402,16 @@
306
402
  filter: grayscale(100%);
307
403
  }
308
404
 
309
- .s-post-summary--content-title {
310
- &, & .s-link {
311
- color: var(--black-600);
405
+ .s-post-summary--content-title a {
406
+ color: var(--black-600);
312
407
 
313
- &:hover {
314
- color: var(--black-500);
315
- }
408
+ &:hover,
409
+ &:active {
410
+ color: var(--black-500);
411
+ }
316
412
 
317
- &:visited {
318
- color: var(--black-700);
319
- }
413
+ &:visited {
414
+ color: var(--black-700);
320
415
  }
321
416
  }
322
417
 
@@ -18,9 +18,9 @@
18
18
  .s-progress,
19
19
  .s-progress--bar {
20
20
  position: relative;
21
- min-height: @su4;
22
- min-width: @su6;
23
- border-radius: @br-sm;
21
+ min-height: var(--su-static4);
22
+ min-width: var(--su-static6);
23
+ border-radius: var(--br-sm);
24
24
  }
25
25
 
26
26
  // $$ PROGRESS WRAPPER
@@ -44,12 +44,12 @@
44
44
  position: absolute;
45
45
  width: 100%;
46
46
  height: 100%;
47
- border-radius: @br-md;
47
+ border-radius: var(--br-md);
48
48
  border: 1px solid transparent;
49
- font-size: @fs-caption;
50
- line-height: @lh-xs;
49
+ font-size: var(--fs-caption);
50
+ line-height: var(--lh-xs);
51
51
  color: var(--fc-dark);
52
- z-index: @zi-base + 2;
52
+ z-index: calc(var(--zi-base) + 2);
53
53
  }
54
54
 
55
55
  // ===========================================================================
@@ -74,7 +74,7 @@
74
74
  .s-progress--label {
75
75
  border-color: var(--green-400);
76
76
  display: flex;
77
- gap: @su4;
77
+ gap: var(--su4);
78
78
  align-items: center;
79
79
  justify-content: center;
80
80
  }
@@ -88,7 +88,7 @@
88
88
  .s-progress__badge,
89
89
  .s-progress__badge .s-progress--bar {
90
90
  min-height: 2em;
91
- border-radius: @br-md;
91
+ border-radius: var(--br-md);
92
92
  }
93
93
 
94
94
  .s-progress__privilege,
@@ -99,7 +99,7 @@
99
99
  .s-progress__badge {
100
100
  .s-progress--label {
101
101
  display: flex;
102
- gap: @su4;
102
+ gap: var(--su4);
103
103
  align-items: center;
104
104
  padding-left: 1em;
105
105
  padding-right: 1em;
@@ -204,13 +204,13 @@
204
204
  display: block;
205
205
  width: auto;
206
206
  height: auto;
207
- font-size: @fs-body1;
207
+ font-size: var(--fs-body1);
208
208
  border: 0;
209
209
  border-radius: 0;
210
- padding: @su12 @su6 0 @su6;
210
+ padding: var(--su12) var(--su6) 0 var(--su6);
211
211
  text-align: center;
212
212
  color: var(--black-300);
213
- z-index: @zi-base;
213
+ z-index: var(--zi-base);
214
214
  }
215
215
 
216
216
  .s-progress--stop {
@@ -220,9 +220,9 @@
220
220
  justify-content: center;
221
221
  background: var(--black-300);
222
222
  border-radius: 100%;
223
- width: @su24;
224
- height: @su24;
225
- z-index: @zi-selected;
223
+ width: var(--su-static24);
224
+ height: var(--su-static24);
225
+ z-index: var(--zi-selected);
226
226
  color: @white;
227
227
 
228
228
  .highcontrast-mode({
@@ -232,10 +232,10 @@
232
232
 
233
233
  .s-progress--bar {
234
234
  position: absolute;
235
- top: 9px;
236
- height: @su6;
235
+ top: calc(var(--su-static8) + var(--su-static1));
236
+ height: var(--su-static6);
237
237
  background: var(--black-300);
238
- z-index: @zi-base;
238
+ z-index: var(--zi-base);
239
239
  border-radius: 0;
240
240
 
241
241
  &.s-progress--bar__left {
@@ -256,7 +256,7 @@
256
256
 
257
257
  .s-progress--stop {
258
258
  background: var(--theme-secondary-400);
259
- box-shadow: 0 0 0 @su6 var(--focus-ring);
259
+ box-shadow: 0 0 0 var(--su-static6) var(--focus-ring);
260
260
  }
261
261
 
262
262
  .s-progress--label {
@@ -282,18 +282,17 @@
282
282
  .s-progress__circular {
283
283
  --s-progress-value: 0;
284
284
  @s-progress-circle-circumference: (2 * pi() * 14); // 2πr, r = 14.
285
- @s-progress-stroke-width: 4;
286
285
 
287
286
  background: none;
288
- width: @su32;
289
- height: @su32;
287
+ width: var(--su-static32);
288
+ height: var(--su-static32);
290
289
 
291
290
  .s-progress-bar {
292
291
  // Make everything originate from the top of the circle
293
292
  transform: rotate(270deg);
294
293
 
295
294
  circle {
296
- stroke-width: @s-progress-stroke-width;
295
+ stroke-width: var(--su-static4);
297
296
  fill: none;
298
297
  stroke-linecap: round;
299
298
  }
@@ -315,17 +314,17 @@
315
314
  }
316
315
 
317
316
  &.s-progress__sm {
318
- width: 24px;
319
- height: 24px;
317
+ width: var(--su-static24);
318
+ height: var(--su-static24);
320
319
  }
321
320
 
322
321
  &.s-progress__md {
323
- width: 48px;
324
- height: 48px;
322
+ width: var(--su-static48);
323
+ height: var(--su-static48);
325
324
  }
326
325
 
327
326
  &.s-progress__lg {
328
- width: 64px;
329
- height: 64px;
327
+ width: var(--su-static64);
328
+ height: var(--su-static64);
330
329
  }
331
330
  }