@stackoverflow/stacks 0.69.0 → 0.72.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 (44) hide show
  1. package/dist/css/stacks.css +1895 -730
  2. package/dist/css/stacks.min.css +1 -1
  3. package/dist/js/stacks.js +80 -31
  4. package/dist/js/stacks.min.js +1 -1
  5. package/lib/css/atomic/_stacks-borders.less +18 -0
  6. package/lib/css/atomic/_stacks-flex.less +2 -2
  7. package/lib/css/atomic/_stacks-grid.less +1 -0
  8. package/lib/css/atomic/_stacks-misc.less +8 -4
  9. package/lib/css/atomic/_stacks-typography.less +1 -1
  10. package/lib/css/base/_stacks-configuration-dynamic.less +10 -43
  11. package/lib/css/components/_stacks-activity-indicator.less +26 -2
  12. package/lib/css/components/_stacks-avatars.less +9 -0
  13. package/lib/css/components/_stacks-badges.less +20 -9
  14. package/lib/css/components/_stacks-breadcrumbs.less +2 -0
  15. package/lib/css/components/_stacks-button-groups.less +11 -0
  16. package/lib/css/components/_stacks-buttons.less +143 -42
  17. package/lib/css/components/_stacks-cards.less +9 -13
  18. package/lib/css/components/_stacks-code-blocks.less +1 -1
  19. package/lib/css/components/_stacks-inputs.less +73 -9
  20. package/lib/css/components/_stacks-link-previews.less +10 -7
  21. package/lib/css/components/_stacks-links.less +29 -9
  22. package/lib/css/components/_stacks-menu.less +4 -4
  23. package/lib/css/components/_stacks-modals.less +1 -1
  24. package/lib/css/components/_stacks-navigation.less +43 -0
  25. package/lib/css/components/_stacks-notices.less +40 -3
  26. package/lib/css/components/_stacks-page-titles.less +1 -1
  27. package/lib/css/components/_stacks-pagination.less +4 -2
  28. package/lib/css/components/_stacks-popovers.less +22 -6
  29. package/lib/css/components/_stacks-post-summary.less +45 -1
  30. package/lib/css/components/_stacks-progress-bars.less +11 -3
  31. package/lib/css/components/_stacks-prose.less +18 -4
  32. package/lib/css/components/_stacks-tables.less +10 -6
  33. package/lib/css/components/_stacks-tags.less +18 -0
  34. package/lib/css/components/_stacks-toggle-switches.less +12 -0
  35. package/lib/css/components/_stacks-topbar.less +440 -0
  36. package/lib/css/components/_stacks-uploader.less +22 -0
  37. package/lib/css/components/_stacks-widget-static.less +15 -3
  38. package/lib/css/exports/_stacks-constants-colors.less +692 -220
  39. package/lib/css/exports/_stacks-constants-helpers.less +0 -2
  40. package/lib/css/exports/_stacks-mixins.less +26 -0
  41. package/lib/css/stacks-dynamic.less +0 -1
  42. package/lib/css/stacks-static.less +15 -0
  43. package/lib/ts/controllers/s-tooltip.ts +4 -0
  44. package/package.json +10 -10
@@ -10,7 +10,7 @@
10
10
  .s-post-summary {
11
11
  position: relative;
12
12
  display: flex;
13
- border-bottom: 1px solid var(--black-075);
13
+ border-bottom: 1px solid var(--bc-light);
14
14
  padding: @su16;
15
15
 
16
16
  &:last-child {
@@ -82,6 +82,10 @@
82
82
  &.has-accepted-answer {
83
83
  color: @white;
84
84
  background-color: var(--green-500);
85
+
86
+ .highcontrast-mode({
87
+ color: var(--white);
88
+ });
85
89
  }
86
90
  }
87
91
 
@@ -175,5 +179,45 @@
175
179
  .s-user-card {
176
180
  flex-wrap: wrap;
177
181
  margin-bottom: var(--s-post-summary-tags-gap);
182
+ margin-left: auto;
183
+ }
184
+ }
185
+
186
+ .s-post-summary--answer {
187
+ position: relative;
188
+ margin: @su16 1em 0 1em;
189
+ padding: 0.5em 0 0.5em calc(1em + @su4);
190
+
191
+ + .s-post-summary--answer {
192
+ margin-top: @su16;
193
+ }
194
+
195
+ &:before {
196
+ content: "";
197
+ display: block;
198
+ position: absolute;
199
+ top: 0;
200
+ bottom: 0;
201
+ left: 0;
202
+ width: @su4;
203
+ border-radius: @su8;
204
+ background: var(--black-150);
205
+
206
+ .highcontrast-mode({
207
+ background: var(--black-600);
208
+ });
209
+ }
210
+
211
+ .s-post-summary--stats {
212
+ width: auto;
213
+ flex-direction: row;
214
+ align-items: center;
215
+ margin-bottom: @su4;
216
+ }
217
+
218
+ .s-post-summary--answer-excerpt {
219
+ color: var(--black-600);
220
+ margin-bottom: @su8;
221
+ .v-truncate4;
178
222
  }
179
223
  }
@@ -68,6 +68,10 @@
68
68
  .s-progress__privilege {
69
69
  .s-progress--bar {
70
70
  background-color: var(--green-050);
71
+
72
+ .highcontrast-mode({
73
+ background-color: var(--green-200);
74
+ });
71
75
  }
72
76
  .s-progress--label {
73
77
  border-color: var(--green-400);
@@ -190,7 +194,7 @@
190
194
  border-radius: 0;
191
195
  padding: @su12 @su6 0 @su6;
192
196
  text-align: center;
193
- color: var(--black-200);
197
+ color: var(--black-300);
194
198
  z-index: @zi-base;
195
199
  }
196
200
 
@@ -199,19 +203,23 @@
199
203
  display: flex;
200
204
  align-items: center;
201
205
  justify-content: center;
202
- background: var(--black-200);
206
+ background: var(--black-300);
203
207
  border-radius: 100%;
204
208
  width: @su24;
205
209
  height: @su24;
206
210
  z-index: @zi-selected;
207
211
  color: @white;
212
+
213
+ .highcontrast-mode({
214
+ color: var(--white);
215
+ });
208
216
  }
209
217
 
210
218
  .s-progress--bar {
211
219
  position: absolute;
212
220
  top: 9px;
213
221
  height: @su6;
214
- background: var(--black-200);
222
+ background: var(--black-300);
215
223
  z-index: @zi-base;
216
224
  border-radius: 0;
217
225
 
@@ -46,6 +46,11 @@
46
46
  background-color: var(--black-100);
47
47
  height: 1px;
48
48
  margin-bottom: var(--s-prose-spacing);
49
+
50
+ .highcontrast-mode({
51
+ color: var(--black-500);
52
+ background-color: var(--black-500);
53
+ });
49
54
  }
50
55
 
51
56
  li {
@@ -317,9 +322,13 @@
317
322
  top: 0;
318
323
  bottom: 0;
319
324
  left: 0;
320
- width: 4px;
321
- border-radius: 8px;
325
+ width: @su4;
326
+ border-radius: @su8;
322
327
  background: var(--black-150);
328
+
329
+ .highcontrast-mode({
330
+ background: var(--black-600);
331
+ });
323
332
  }
324
333
 
325
334
  blockquote {
@@ -402,11 +411,11 @@
402
411
  background-color: var(--black-075);
403
412
  border: 1px solid var(--black-300);
404
413
  border-radius: @br-sm;
405
- box-shadow: 0 1px 1px rgba(12, 13, 14, 0.15), inset 0 1px 0 0 @white;
414
+ box-shadow: 0 1px 1px hsla(210, 8%, 5%, 0.15), inset 0 1px 0 0 @white;
406
415
  overflow-wrap: break-word;
407
416
 
408
417
  .dark-mode({
409
- box-shadow: 0 1px 1px rgba(12, 13, 14, 0.8);
418
+ box-shadow: 0 1px 1px hsla(210, 8%, 5%, 0.8);
410
419
  border-color: transparent;
411
420
  border-top-color: @black-500;
412
421
  });
@@ -422,6 +431,11 @@
422
431
  border-radius: @br-sm;
423
432
  }
424
433
 
434
+ // When contained within a link, we want the code to be link-colored
435
+ *:not(.s-code-block) > a code {
436
+ color: var(--theme-link-color);
437
+ }
438
+
425
439
  pre {
426
440
  margin-top: 0;
427
441
  margin-bottom: calc(var(--s-prose-spacing) + 0.4em); // Increase this spacing for better optical alignment
@@ -45,9 +45,9 @@
45
45
  th,
46
46
  td {
47
47
  padding: @su8;
48
- border-top: 1px solid var(--black-100);
49
- border-left: 1px solid var(--black-100);
50
- border-right: 1px solid var(--black-100);
48
+ border-top: 1px solid var(--bc-medium);
49
+ border-left: 1px solid var(--bc-medium);
50
+ border-right: 1px solid var(--bc-medium);
51
51
  vertical-align: middle;
52
52
  color: var(--fc-medium);
53
53
  text-align: left;
@@ -82,12 +82,12 @@
82
82
  // If it's the last row, add a bottom border
83
83
  tr:last-of-type td,
84
84
  tr:last-of-type th {
85
- border-bottom: 1px solid var(--black-100);
85
+ border-bottom: 1px solid var(--bc-medium);
86
86
  }
87
87
 
88
88
  // If two table bodies are next to each other, visually separate them
89
89
  tbody + tbody {
90
- border-top: @su2 solid var(--black-100);
90
+ border-top: @su2 solid var(--bc-medium);
91
91
  }
92
92
  }
93
93
 
@@ -240,7 +240,7 @@
240
240
  }
241
241
  thead th {
242
242
  border-top-color: transparent;
243
- border-bottom-color: var(--black-200);
243
+ border-bottom-color: var(--bc-darker);
244
244
  // Clear Header Styles
245
245
  background-color: transparent;
246
246
  text-transform: initial;
@@ -312,6 +312,10 @@
312
312
  th:not(.is-enabled),
313
313
  td:not(.is-enabled) {
314
314
  opacity: 0.3;
315
+
316
+ .highcontrast-mode({
317
+ opacity: 0.8;
318
+ });
315
319
  }
316
320
  }
317
321
  }
@@ -17,6 +17,10 @@
17
17
  background-color: @background;
18
18
  color: @color;
19
19
 
20
+ .highcontrast-mode({
21
+ border-color: currentColor;
22
+ });
23
+
20
24
  .s-tag--dismiss {
21
25
  color: inherit;
22
26
  background-color: transparent;
@@ -24,6 +28,10 @@
24
28
  &:hover {
25
29
  color: @white; // We want this color to remain fixed regardless of dark mode
26
30
  background-color: @color;
31
+
32
+ .highcontrast-mode({
33
+ color: var(--white); // We do not want this color to remain fixed
34
+ });
27
35
  }
28
36
  }
29
37
  }
@@ -32,6 +40,10 @@
32
40
  border-color: @border;
33
41
  background-color: @background;
34
42
  color: @color;
43
+
44
+ .highcontrast-mode({
45
+ border-color: currentColor;
46
+ });
35
47
  }
36
48
 
37
49
  .s-tag-hover-styles(@border-hover: transparent, @background-hover: transparent, @color-hover: inherit) {
@@ -41,6 +53,10 @@
41
53
  border-color: @border-hover;
42
54
  background-color: @background-hover;
43
55
  color: @color-hover;
56
+
57
+ .highcontrast-mode({
58
+ border-color: currentColor;
59
+ });
44
60
  }
45
61
  }
46
62
 
@@ -68,6 +84,8 @@
68
84
 
69
85
  .s-tag-styles(@tags-border, @tags-background, @tags-color);
70
86
 
87
+ .highcontrast-mode({ text-decoration: none; });
88
+
71
89
  &.is-selected {
72
90
  .s-tag-selected-styles(@tags-selected-border, @tags-selected-background, @tags-selected-color);
73
91
  }
@@ -49,6 +49,10 @@
49
49
  border-radius: 50%;
50
50
  background: @white;
51
51
  transition: left 0.1s ease;
52
+
53
+ .highcontrast-mode({
54
+ background: var(--white);
55
+ });
52
56
  }
53
57
 
54
58
  &:before {
@@ -112,12 +116,20 @@
112
116
  &.s-toggle-switch--label-off {
113
117
  background-color: var(--black-300);
114
118
  color: @white;
119
+
120
+ .highcontrast-mode({
121
+ color: var(--white);
122
+ });
115
123
  }
116
124
 
117
125
  // Color activated options green
118
126
  &:not(.s-toggle-switch--label-off) {
119
127
  background-color: var(--green-400);
120
128
  color: @white;
129
+
130
+ .highcontrast-mode({
131
+ color: var(--white);
132
+ });
121
133
  }
122
134
  }
123
135
  }