@stackoverflow/stacks 0.75.0 → 0.76.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 (87) hide show
  1. package/LICENSE.MD +9 -9
  2. package/README.md +47 -47
  3. package/dist/controllers/index.d.ts +7 -0
  4. package/dist/controllers/s-expandable-control.d.ts +17 -0
  5. package/dist/controllers/s-modal.d.ts +97 -0
  6. package/dist/controllers/s-navigation-tablist.d.ts +36 -0
  7. package/dist/controllers/s-popover.d.ts +155 -0
  8. package/dist/controllers/s-table.d.ts +8 -0
  9. package/dist/controllers/s-tooltip.d.ts +82 -0
  10. package/dist/controllers/s-uploader.d.ts +48 -0
  11. package/dist/css/stacks.css +86 -53
  12. package/dist/css/stacks.min.css +1 -1
  13. package/dist/index.d.ts +3 -0
  14. package/dist/js/stacks.js +6128 -5505
  15. package/dist/js/stacks.min.js +1 -1
  16. package/dist/stacks.d.ts +21 -0
  17. package/lib/css/atomic/_stacks-borders.less +378 -378
  18. package/lib/css/atomic/_stacks-colors.less +209 -209
  19. package/lib/css/atomic/_stacks-flex.less +374 -374
  20. package/lib/css/atomic/_stacks-grid.less +174 -173
  21. package/lib/css/atomic/_stacks-misc.less +343 -343
  22. package/lib/css/atomic/_stacks-spacing.less +168 -168
  23. package/lib/css/atomic/_stacks-typography.less +273 -273
  24. package/lib/css/atomic/_stacks-width-height.less +195 -195
  25. package/lib/css/base/_stacks-body.less +44 -46
  26. package/lib/css/base/_stacks-configuration-static.less +59 -59
  27. package/lib/css/base/_stacks-icons.less +20 -20
  28. package/lib/css/base/_stacks-internals.less +220 -230
  29. package/lib/css/base/_stacks-reset-meyer.less +64 -64
  30. package/lib/css/base/_stacks-reset-normalize.less +449 -449
  31. package/lib/css/base/_stacks-reset.less +20 -20
  32. package/lib/css/components/_stacks-activity-indicator.less +45 -45
  33. package/lib/css/components/_stacks-avatars.less +189 -189
  34. package/lib/css/components/_stacks-badges.less +209 -209
  35. package/lib/css/components/_stacks-banners.less +80 -81
  36. package/lib/css/components/_stacks-blank-states.less +26 -26
  37. package/lib/css/components/_stacks-breadcrumbs.less +44 -44
  38. package/lib/css/components/_stacks-button-groups.less +104 -104
  39. package/lib/css/components/_stacks-buttons.less +658 -660
  40. package/lib/css/components/_stacks-cards.less +44 -44
  41. package/lib/css/components/_stacks-code-blocks.less +130 -130
  42. package/lib/css/components/_stacks-collapsible.less +104 -104
  43. package/lib/css/components/_stacks-inputs.less +728 -728
  44. package/lib/css/components/_stacks-link-previews.less +136 -136
  45. package/lib/css/components/_stacks-links.less +218 -218
  46. package/lib/css/components/_stacks-menu.less +47 -47
  47. package/lib/css/components/_stacks-modals.less +133 -133
  48. package/lib/css/components/_stacks-navigation.less +146 -146
  49. package/lib/css/components/_stacks-notices.less +233 -233
  50. package/lib/css/components/_stacks-page-titles.less +60 -60
  51. package/lib/css/components/_stacks-pagination.less +55 -55
  52. package/lib/css/components/_stacks-popovers.less +197 -197
  53. package/lib/css/components/_stacks-post-summary.less +425 -425
  54. package/lib/css/components/_stacks-progress-bars.less +331 -331
  55. package/lib/css/components/_stacks-prose.less +503 -503
  56. package/lib/css/components/_stacks-spinner.less +107 -107
  57. package/lib/css/components/_stacks-tables.less +341 -341
  58. package/lib/css/components/_stacks-tags.less +236 -244
  59. package/lib/css/components/_stacks-toggle-switches.less +144 -144
  60. package/lib/css/components/_stacks-topbar.less +425 -440
  61. package/lib/css/components/_stacks-uploader.less +210 -210
  62. package/lib/css/components/_stacks-user-cards.less +169 -169
  63. package/lib/css/components/_stacks-widget-dynamic.less +33 -33
  64. package/lib/css/components/_stacks-widget-static.less +272 -272
  65. package/lib/css/exports/_stacks-constants-colors.less +1112 -1112
  66. package/lib/css/exports/_stacks-constants-helpers.less +139 -139
  67. package/lib/css/exports/_stacks-constants-type.less +152 -91
  68. package/lib/css/exports/_stacks-exports.less +15 -15
  69. package/lib/css/exports/_stacks-mixins.less +220 -220
  70. package/lib/css/stacks-dynamic.less +35 -36
  71. package/lib/css/stacks-static.less +86 -86
  72. package/lib/ts/controllers/index.ts +8 -0
  73. package/lib/ts/controllers/s-expandable-control.ts +189 -190
  74. package/lib/ts/controllers/s-modal.ts +321 -323
  75. package/lib/ts/controllers/s-navigation-tablist.ts +118 -119
  76. package/lib/ts/controllers/s-popover.ts +547 -549
  77. package/lib/ts/controllers/s-table.ts +220 -220
  78. package/lib/ts/controllers/s-tooltip.ts +246 -247
  79. package/lib/ts/controllers/s-uploader.ts +172 -174
  80. package/lib/ts/index.ts +20 -0
  81. package/lib/ts/stacks.ts +88 -83
  82. package/lib/tsconfig.json +13 -11
  83. package/package.json +87 -71
  84. package/dist/css/stacks-flexgrid-shim.min.css +0 -1
  85. package/lib/css/base/_stacks-configuration-dynamic.less +0 -106
  86. package/lib/ts/finalize.ts +0 -1
  87. package/lib/ts/stimulus.d.ts +0 -4
@@ -1,425 +1,425 @@
1
- //
2
- // STACK OVERFLOW
3
- // POST SUMMARY
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
- .s-post-summary {
11
- position: relative;
12
- display: flex;
13
- border-bottom: 1px solid var(--bc-light);
14
- padding: @su16;
15
-
16
- &:last-child {
17
- border-bottom-width: 0;
18
- }
19
-
20
- #stacks-internals #screen-md({
21
- flex-direction: column;
22
- });
23
-
24
- &.s-post-summary__minimal {
25
- flex-direction: column;
26
-
27
- .s-post-summary--stats {
28
- width: auto;
29
- flex-direction: row;
30
- align-items: center;
31
- }
32
-
33
- .s-post-summary--content {
34
- width: 100%;
35
- }
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: @su16;
43
- });
44
-
45
- .s-post-summary--stats {
46
- width: auto;
47
- flex-direction: row;
48
- align-items: center;
49
- gap: @su2;
50
-
51
- .s-post-summary--stats-item {
52
- min-width: @su64;
53
- height: @su48;
54
- flex-direction: column;
55
- gap: 0;
56
- font-size: @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: @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: @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
- }
118
- }
119
-
120
- // [1] To override .s-btn class attributes
121
- .s-post-summary--content-menu-button {
122
- position: absolute !important; // [1]
123
- top: @su8;
124
- right: @su8;
125
- padding: @su8 !important; // [1]
126
-
127
- .svg-icon {
128
- margin: 0 !important;
129
- }
130
- }
131
-
132
- .s-post-summary--stats {
133
- gap: @su6;
134
- margin-right: @su16;
135
- margin-bottom: @su4;
136
- width: @su96 + @su12;
137
- display: flex;
138
- flex-direction: column;
139
- flex-shrink: 0;
140
- flex-wrap: wrap;
141
- align-items: flex-end;
142
- font-size: @fs-body1;
143
- color: var(--fc-light);
144
-
145
- .s-post-summary--stats-item {
146
- display: inline-flex;
147
- gap: 0.3em;
148
- align-items: center;
149
- justify-content: center;
150
- white-space: nowrap;
151
- border: 1px solid transparent;
152
-
153
- &.s-post-summary--stats-item__emphasized {
154
- color: var(--fc-dark);
155
- }
156
-
157
- .s-post-summary--stats-item-number {
158
- font-weight: 500;
159
- }
160
-
161
- &.has-answers,
162
- &.has-bounty,
163
- &.is-deleted,
164
- &.is-published,
165
- &.is-draft,
166
- &.is-review,
167
- &.is-closed,
168
- &.is-archived,
169
- &.is-pinned {
170
- border-radius: @br-sm;
171
- padding: @su2 @su4;
172
- }
173
-
174
- &.has-answers {
175
- color: var(--green-600);
176
- border: 1px solid var(--green-600);
177
-
178
- &.has-accepted-answer {
179
- color: @white;
180
- background-color: var(--green-500);
181
- border-color: var(--green-500);
182
-
183
- .highcontrast-mode({
184
- color: var(--white);
185
- });
186
- }
187
- }
188
-
189
- &.has-bounty {
190
- color: var(--white);
191
- background-color: var(--blue-600);
192
- }
193
-
194
- &.is-warm {
195
- color: var(--orange-800);
196
- }
197
-
198
- &.is-hot {
199
- color: var(--orange-600);
200
- }
201
-
202
- &.is-supernova {
203
- color: var(--orange-400);
204
- }
205
-
206
- &.is-published {
207
- color: var(--black-800);
208
- background-color: var(--black-050);
209
- }
210
-
211
- &.is-draft {
212
- color: var(--blue-900);
213
- background-color: var(--blue-100);
214
- border-color: var(--blue-600);
215
- }
216
-
217
- &.is-review {
218
- color: var(--yellow-900);
219
- background-color: var(--yellow-100);
220
- border-color: var(--yellow-600);
221
- }
222
-
223
- &.is-closed {
224
- color: var(--red-900);
225
- background-color: var(--red-100);
226
- border-color: var(--red-600);
227
- }
228
-
229
- &.is-archived {
230
- color: var(--black-900);
231
- background-color: var(--black-100);
232
- border-color: var(--black-600);
233
- }
234
-
235
- &.is-pinned {
236
- color: var(--white);
237
- background-color: var(--black-700);
238
- }
239
- }
240
-
241
- #stacks-internals #screen-md({
242
- flex-direction: row;
243
- align-items: center;
244
- width: auto;
245
- });
246
- }
247
-
248
- .s-post-summary--content {
249
- flex-grow: 1;
250
- max-width: 100%;
251
-
252
- .s-post-summary--content-title {
253
- display: block;
254
- font-size: @fs-body3;
255
- margin-top: -0.15rem; // Optical alignment to compensate for title's containing block
256
- margin-bottom: 0.3846rem;
257
- padding-right: @su24;
258
- line-height: @lh-md;
259
- font-weight: normal;
260
- .break-word;
261
-
262
- .iconShield {
263
- color: var(--fc-light);
264
- }
265
-
266
- .svg-icon {
267
- vertical-align: text-bottom; // Optical alignment
268
- position: relative;
269
- top: -1px;
270
- }
271
-
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
- }
286
- }
287
- }
288
-
289
- .s-post-summary--content-type {
290
- color: var(--fc-medium);
291
- margin-bottom: @su4;
292
-
293
- .svg-icon {
294
- margin-left: -@su2;
295
- color: var(--fc-light);
296
- }
297
- }
298
-
299
- .s-post-summary--content-excerpt {
300
- margin-top: -@su2;
301
- margin-bottom: @su8;
302
- font-family: var(--theme-post-body-font-family);
303
- color: var(--fc-medium);
304
- .v-truncate2;
305
- .break-word;
306
-
307
- &.s-post-summary--content-excerpt__sm {
308
- .v-truncate1;
309
- }
310
-
311
- &.s-post-summary--content-excerpt__md {
312
- .v-truncate3;
313
- }
314
-
315
- &.s-post-summary--content-excerpt__lg {
316
- .v-truncate4;
317
- }
318
- }
319
- }
320
-
321
- .s-post-summary--meta {
322
- display: flex;
323
- align-items: center;
324
- justify-content: space-between;
325
- flex-wrap: wrap;
326
- column-gap: @su6;
327
- row-gap: @su8;
328
-
329
- .s-post-summary--meta-tags {
330
- display: flex;
331
- flex-wrap: wrap;
332
- gap: @su4;
333
- }
334
-
335
- .s-user-card {
336
- flex-wrap: wrap;
337
- margin-left: auto;
338
- justify-content: flex-end;
339
- }
340
- }
341
-
342
- .s-post-summary--answer {
343
- position: relative;
344
- margin: @su16 1em 0 1em;
345
- padding: 0.5em 0 0.5em calc(1em + @su4);
346
-
347
- + .s-post-summary--answer {
348
- margin-top: @su16;
349
- }
350
-
351
- &:before {
352
- content: "";
353
- display: block;
354
- position: absolute;
355
- top: 0;
356
- bottom: 0;
357
- left: 0;
358
- width: @su4;
359
- border-radius: @su8;
360
- background: var(--black-150);
361
-
362
- .highcontrast-mode({
363
- background: var(--black-600);
364
- });
365
- }
366
-
367
- .s-post-summary--stats {
368
- width: auto;
369
- flex-direction: row;
370
- align-items: center;
371
- margin-bottom: @su4;
372
- }
373
-
374
- .s-post-summary--answer-excerpt {
375
- color: var(--black-600);
376
- margin-bottom: @su8;
377
- .v-truncate4;
378
- }
379
- }
380
-
381
- .s-post-summary__watched {
382
- background-color: var(--yellow-050);
383
- }
384
-
385
- .s-post-summary__deleted {
386
- background-color: var(--red-050);
387
-
388
- .is-deleted {
389
- color: @white;
390
- background-color: var(--red-500);
391
- }
392
- }
393
-
394
- .s-post-summary__ignored,
395
- .s-post-summary__deleted {
396
- .s-post-summary--content {
397
- opacity: 0.6;
398
- }
399
-
400
- .s-post-summary--stats-item:not(.is-deleted) {
401
- opacity: 0.6;
402
- filter: grayscale(100%);
403
- }
404
-
405
- .s-post-summary--content-title a {
406
- color: var(--black-600);
407
-
408
- &:hover,
409
- &:active {
410
- color: var(--black-500);
411
- }
412
-
413
- &:visited {
414
- color: var(--black-700);
415
- }
416
- }
417
-
418
- .s-post-summary--content-excerpt {
419
- color: var(--black-500);
420
- }
421
-
422
- .s-post-summary--meta {
423
- filter: grayscale(100%);
424
- }
425
- }
1
+ //
2
+ // STACK OVERFLOW
3
+ // POST SUMMARY
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
+ .s-post-summary {
11
+ position: relative;
12
+ display: flex;
13
+ border-bottom: 1px solid var(--bc-light);
14
+ padding: @su16;
15
+
16
+ &:last-child {
17
+ border-bottom-width: 0;
18
+ }
19
+
20
+ #stacks-internals #screen-md({
21
+ flex-direction: column;
22
+ });
23
+
24
+ &.s-post-summary__minimal {
25
+ flex-direction: column;
26
+
27
+ .s-post-summary--stats {
28
+ width: auto;
29
+ flex-direction: row;
30
+ align-items: center;
31
+ }
32
+
33
+ .s-post-summary--content {
34
+ width: 100%;
35
+ }
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: @su16;
43
+ });
44
+
45
+ .s-post-summary--stats {
46
+ width: auto;
47
+ flex-direction: row;
48
+ align-items: center;
49
+ gap: @su2;
50
+
51
+ .s-post-summary--stats-item {
52
+ min-width: @su64;
53
+ height: @su48;
54
+ flex-direction: column;
55
+ gap: 0;
56
+ font-size: @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: @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: @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
+ }
118
+ }
119
+
120
+ // [1] To override .s-btn class attributes
121
+ .s-post-summary--content-menu-button {
122
+ position: absolute !important; // [1]
123
+ top: @su8;
124
+ right: @su8;
125
+ padding: @su8 !important; // [1]
126
+
127
+ .svg-icon {
128
+ margin: 0 !important;
129
+ }
130
+ }
131
+
132
+ .s-post-summary--stats {
133
+ gap: @su6;
134
+ margin-right: @su16;
135
+ margin-bottom: @su4;
136
+ width: @su96 + @su12;
137
+ display: flex;
138
+ flex-direction: column;
139
+ flex-shrink: 0;
140
+ flex-wrap: wrap;
141
+ align-items: flex-end;
142
+ font-size: @fs-body1;
143
+ color: var(--fc-light);
144
+
145
+ .s-post-summary--stats-item {
146
+ display: inline-flex;
147
+ gap: 0.3em;
148
+ align-items: center;
149
+ justify-content: center;
150
+ white-space: nowrap;
151
+ border: 1px solid transparent;
152
+
153
+ &.s-post-summary--stats-item__emphasized {
154
+ color: var(--fc-dark);
155
+ }
156
+
157
+ .s-post-summary--stats-item-number {
158
+ font-weight: 500;
159
+ }
160
+
161
+ &.has-answers,
162
+ &.has-bounty,
163
+ &.is-deleted,
164
+ &.is-published,
165
+ &.is-draft,
166
+ &.is-review,
167
+ &.is-closed,
168
+ &.is-archived,
169
+ &.is-pinned {
170
+ border-radius: @br-sm;
171
+ padding: @su2 @su4;
172
+ }
173
+
174
+ &.has-answers {
175
+ color: var(--green-600);
176
+ border: 1px solid var(--green-600);
177
+
178
+ &.has-accepted-answer {
179
+ color: @white;
180
+ background-color: var(--green-500);
181
+ border-color: var(--green-500);
182
+
183
+ .highcontrast-mode({
184
+ color: var(--white);
185
+ });
186
+ }
187
+ }
188
+
189
+ &.has-bounty {
190
+ color: var(--white);
191
+ background-color: var(--blue-600);
192
+ }
193
+
194
+ &.is-warm {
195
+ color: var(--orange-800);
196
+ }
197
+
198
+ &.is-hot {
199
+ color: var(--orange-600);
200
+ }
201
+
202
+ &.is-supernova {
203
+ color: var(--orange-400);
204
+ }
205
+
206
+ &.is-published {
207
+ color: var(--black-800);
208
+ background-color: var(--black-050);
209
+ }
210
+
211
+ &.is-draft {
212
+ color: var(--blue-900);
213
+ background-color: var(--blue-100);
214
+ border-color: var(--blue-600);
215
+ }
216
+
217
+ &.is-review {
218
+ color: var(--yellow-900);
219
+ background-color: var(--yellow-100);
220
+ border-color: var(--yellow-600);
221
+ }
222
+
223
+ &.is-closed {
224
+ color: var(--red-900);
225
+ background-color: var(--red-100);
226
+ border-color: var(--red-600);
227
+ }
228
+
229
+ &.is-archived {
230
+ color: var(--black-900);
231
+ background-color: var(--black-100);
232
+ border-color: var(--black-600);
233
+ }
234
+
235
+ &.is-pinned {
236
+ color: var(--white);
237
+ background-color: var(--black-700);
238
+ }
239
+ }
240
+
241
+ #stacks-internals #screen-md({
242
+ flex-direction: row;
243
+ align-items: center;
244
+ width: auto;
245
+ });
246
+ }
247
+
248
+ .s-post-summary--content {
249
+ flex-grow: 1;
250
+ max-width: 100%;
251
+
252
+ .s-post-summary--content-title {
253
+ display: block;
254
+ font-size: @fs-body3;
255
+ margin-top: -0.15rem; // Optical alignment to compensate for title's containing block
256
+ margin-bottom: 0.3846rem;
257
+ padding-right: @su24;
258
+ line-height: @lh-md;
259
+ font-weight: normal;
260
+ .break-word;
261
+
262
+ .iconShield {
263
+ color: var(--fc-light);
264
+ }
265
+
266
+ .svg-icon {
267
+ vertical-align: text-bottom; // Optical alignment
268
+ position: relative;
269
+ top: -1px;
270
+ }
271
+
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
+ }
286
+ }
287
+ }
288
+
289
+ .s-post-summary--content-type {
290
+ color: var(--fc-medium);
291
+ margin-bottom: @su4;
292
+
293
+ .svg-icon {
294
+ margin-left: -@su2;
295
+ color: var(--fc-light);
296
+ }
297
+ }
298
+
299
+ .s-post-summary--content-excerpt {
300
+ margin-top: -@su2;
301
+ margin-bottom: @su8;
302
+ font-family: var(--theme-post-body-font-family);
303
+ color: var(--fc-medium);
304
+ .v-truncate2;
305
+ .break-word;
306
+
307
+ &.s-post-summary--content-excerpt__sm {
308
+ .v-truncate1;
309
+ }
310
+
311
+ &.s-post-summary--content-excerpt__md {
312
+ .v-truncate3;
313
+ }
314
+
315
+ &.s-post-summary--content-excerpt__lg {
316
+ .v-truncate4;
317
+ }
318
+ }
319
+ }
320
+
321
+ .s-post-summary--meta {
322
+ display: flex;
323
+ align-items: center;
324
+ justify-content: space-between;
325
+ flex-wrap: wrap;
326
+ column-gap: @su6;
327
+ row-gap: @su8;
328
+
329
+ .s-post-summary--meta-tags {
330
+ display: flex;
331
+ flex-wrap: wrap;
332
+ gap: @su4;
333
+ }
334
+
335
+ .s-user-card {
336
+ flex-wrap: wrap;
337
+ margin-left: auto;
338
+ justify-content: flex-end;
339
+ }
340
+ }
341
+
342
+ .s-post-summary--answer {
343
+ position: relative;
344
+ margin: @su16 1em 0 1em;
345
+ padding: 0.5em 0 0.5em calc(1em + @su4);
346
+
347
+ + .s-post-summary--answer {
348
+ margin-top: @su16;
349
+ }
350
+
351
+ &:before {
352
+ content: "";
353
+ display: block;
354
+ position: absolute;
355
+ top: 0;
356
+ bottom: 0;
357
+ left: 0;
358
+ width: @su4;
359
+ border-radius: @su8;
360
+ background: var(--black-150);
361
+
362
+ .highcontrast-mode({
363
+ background: var(--black-600);
364
+ });
365
+ }
366
+
367
+ .s-post-summary--stats {
368
+ width: auto;
369
+ flex-direction: row;
370
+ align-items: center;
371
+ margin-bottom: @su4;
372
+ }
373
+
374
+ .s-post-summary--answer-excerpt {
375
+ color: var(--black-600);
376
+ margin-bottom: @su8;
377
+ .v-truncate4;
378
+ }
379
+ }
380
+
381
+ .s-post-summary__watched {
382
+ background-color: var(--yellow-050);
383
+ }
384
+
385
+ .s-post-summary__deleted {
386
+ background-color: var(--red-050);
387
+
388
+ .is-deleted {
389
+ color: @white;
390
+ background-color: var(--red-500);
391
+ }
392
+ }
393
+
394
+ .s-post-summary__ignored,
395
+ .s-post-summary__deleted {
396
+ .s-post-summary--content {
397
+ opacity: 0.6;
398
+ }
399
+
400
+ .s-post-summary--stats-item:not(.is-deleted) {
401
+ opacity: 0.6;
402
+ filter: grayscale(100%);
403
+ }
404
+
405
+ .s-post-summary--content-title a {
406
+ color: var(--black-600);
407
+
408
+ &:hover,
409
+ &:active {
410
+ color: var(--black-500);
411
+ }
412
+
413
+ &:visited {
414
+ color: var(--black-700);
415
+ }
416
+ }
417
+
418
+ .s-post-summary--content-excerpt {
419
+ color: var(--black-500);
420
+ }
421
+
422
+ .s-post-summary--meta {
423
+ filter: grayscale(100%);
424
+ }
425
+ }