@stackoverflow/stacks 0.71.0 → 0.74.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.
- package/README.md +1 -1
- package/dist/css/stacks.css +963 -571
- package/dist/css/stacks.min.css +1 -1
- package/dist/js/stacks.js +190 -100
- package/dist/js/stacks.min.js +1 -1
- package/lib/css/atomic/_stacks-flex.less +2 -7
- package/lib/css/atomic/_stacks-grid.less +1 -0
- package/lib/css/atomic/_stacks-misc.less +6 -0
- package/lib/css/atomic/_stacks-typography.less +25 -7
- package/lib/css/base/_stacks-configuration-dynamic.less +4 -14
- package/lib/css/components/_stacks-activity-indicator.less +26 -2
- package/lib/css/components/_stacks-badges.less +1 -4
- package/lib/css/components/_stacks-buttons.less +44 -8
- package/lib/css/components/_stacks-cards.less +7 -11
- package/lib/css/components/_stacks-inputs.less +19 -0
- package/lib/css/components/_stacks-link-previews.less +4 -0
- package/lib/css/components/_stacks-links.less +25 -2
- package/lib/css/components/_stacks-navigation.less +8 -0
- package/lib/css/components/_stacks-pagination.less +2 -0
- package/lib/css/components/_stacks-popovers.less +4 -0
- package/lib/css/components/_stacks-post-summary.less +156 -10
- package/lib/css/components/_stacks-progress-bars.less +18 -3
- package/lib/css/components/_stacks-prose.less +7 -2
- package/lib/css/components/_stacks-tags.less +38 -15
- package/lib/css/components/_stacks-toggle-switches.less +8 -1
- package/lib/css/components/_stacks-topbar.less +440 -0
- package/lib/css/components/_stacks-uploader.less +2 -0
- package/lib/css/components/_stacks-user-cards.less +15 -39
- package/lib/css/exports/_stacks-constants-colors.less +50 -14
- package/lib/css/exports/_stacks-constants-helpers.less +1 -2
- package/lib/css/exports/_stacks-mixins.less +11 -0
- package/lib/css/stacks-dynamic.less +0 -1
- package/lib/css/stacks-static.less +2 -0
- package/package.json +15 -12
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
.s-user-card {
|
|
14
14
|
display: grid;
|
|
15
15
|
grid-template-columns: auto 1fr;
|
|
16
|
-
|
|
16
|
+
column-gap: @su8;
|
|
17
|
+
row-gap: @su4;
|
|
17
18
|
align-items: center;
|
|
18
19
|
line-height: 1;
|
|
19
20
|
padding: @su8;
|
|
@@ -25,7 +26,7 @@
|
|
|
25
26
|
// $$ Highlighted
|
|
26
27
|
// ---------------------------------------------------------------------------
|
|
27
28
|
&.s-user-card__highlighted {
|
|
28
|
-
background-color: var(--theme-secondary-
|
|
29
|
+
background-color: var(--theme-secondary-050);
|
|
29
30
|
border-radius: @br-md;
|
|
30
31
|
|
|
31
32
|
.s-user-card--type {
|
|
@@ -38,10 +39,6 @@
|
|
|
38
39
|
&.s-user-card__full {
|
|
39
40
|
align-items: start;
|
|
40
41
|
|
|
41
|
-
.s-user-card--info {
|
|
42
|
-
grid-gap: @su4;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
42
|
.s-user-card--link {
|
|
46
43
|
font-size: @fs-body2;
|
|
47
44
|
}
|
|
@@ -58,26 +55,12 @@
|
|
|
58
55
|
&.s-user-card__small {
|
|
59
56
|
display: flex;
|
|
60
57
|
align-items: center;
|
|
61
|
-
|
|
58
|
+
gap: @su4;
|
|
62
59
|
padding: 0;
|
|
63
60
|
|
|
64
|
-
.s-user-card--time {
|
|
65
|
-
margin-right: @su6;
|
|
66
|
-
margin-bottom: 0;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
.s-user-card--link {
|
|
70
|
-
margin-right: @su6;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
.s-user-card--avatar {
|
|
74
|
-
margin-right: @su6;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
61
|
.s-user-card--info {
|
|
78
|
-
|
|
62
|
+
flex-direction: row;
|
|
79
63
|
align-items: center;
|
|
80
|
-
grid-column-gap: unset; // Firefox flex layouts respect column gaps, so we need to reset this
|
|
81
64
|
}
|
|
82
65
|
}
|
|
83
66
|
|
|
@@ -86,41 +69,35 @@
|
|
|
86
69
|
&.s-user-card__minimal {
|
|
87
70
|
display: flex;
|
|
88
71
|
align-items: center;
|
|
89
|
-
|
|
72
|
+
gap: @su4;
|
|
90
73
|
padding: 0;
|
|
91
74
|
|
|
92
75
|
.s-user-card--time {
|
|
93
|
-
margin-right: @su4;
|
|
94
|
-
margin-bottom: 0;
|
|
95
76
|
white-space: nowrap;
|
|
96
77
|
}
|
|
97
78
|
|
|
98
79
|
.s-user-card--link {
|
|
99
|
-
margin-right: @su4;
|
|
100
80
|
white-space: nowrap;
|
|
101
81
|
}
|
|
102
82
|
|
|
103
|
-
.s-user-card--avatar {
|
|
104
|
-
margin-right: @su4;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
83
|
.s-user-card--rep {
|
|
108
|
-
padding: 0;
|
|
109
84
|
color: var(--black-600);
|
|
110
85
|
}
|
|
111
86
|
|
|
112
87
|
.s-user-card--info {
|
|
113
|
-
|
|
88
|
+
flex-direction: row;
|
|
114
89
|
align-items: center;
|
|
115
|
-
grid-column-gap: unset; // Firefox flex layouts respect column gaps, so we need to reset this
|
|
116
90
|
}
|
|
117
91
|
}
|
|
118
92
|
|
|
119
93
|
.s-user-card--type {
|
|
120
94
|
grid-column: ~"1 / 3";
|
|
121
|
-
padding-top: @su4;
|
|
122
95
|
font-size: @fs-caption;
|
|
123
96
|
color: var(--theme-primary-400);
|
|
97
|
+
|
|
98
|
+
a {
|
|
99
|
+
color: inherit;
|
|
100
|
+
}
|
|
124
101
|
}
|
|
125
102
|
}
|
|
126
103
|
|
|
@@ -132,7 +109,6 @@
|
|
|
132
109
|
grid-row: ~"1 / 2";
|
|
133
110
|
color: var(--black-500);
|
|
134
111
|
font-size: @fs-caption;
|
|
135
|
-
margin-bottom: @su4;
|
|
136
112
|
}
|
|
137
113
|
|
|
138
114
|
// $ USER INFO CONTAINER
|
|
@@ -140,8 +116,9 @@
|
|
|
140
116
|
// vertical grid layout
|
|
141
117
|
// ---------------------------------------------------------------------------
|
|
142
118
|
.s-user-card--info {
|
|
143
|
-
display:
|
|
144
|
-
|
|
119
|
+
display: flex;
|
|
120
|
+
flex-direction: column;
|
|
121
|
+
gap: @su4;
|
|
145
122
|
}
|
|
146
123
|
|
|
147
124
|
// $ USER LINK
|
|
@@ -162,9 +139,9 @@
|
|
|
162
139
|
.list-reset;
|
|
163
140
|
display: flex;
|
|
164
141
|
align-items: center;
|
|
142
|
+
gap: @su6;
|
|
165
143
|
|
|
166
144
|
li {
|
|
167
|
-
margin-right: @su6;
|
|
168
145
|
font-size: @fs-caption;
|
|
169
146
|
}
|
|
170
147
|
}
|
|
@@ -186,7 +163,6 @@
|
|
|
186
163
|
// Apply layout to a bunch of child tags
|
|
187
164
|
// ---------------------------------------------------------------------------
|
|
188
165
|
.s-user-card--tags {
|
|
189
|
-
padding-top: (@su2 / 2); // Optically align these a bit, but we can't use margin because of `gs[x]` being applied
|
|
190
166
|
min-width: 0; // Allow things to wrap
|
|
191
167
|
align-items: center;
|
|
192
168
|
flex-wrap: wrap;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@import (reference) "./_stacks-mixins.less";
|
|
2
|
+
|
|
1
3
|
//
|
|
2
4
|
// STACK OVERFLOW
|
|
3
5
|
// CONSTANTS -- COLORS
|
|
@@ -235,6 +237,40 @@
|
|
|
235
237
|
// Button Outline
|
|
236
238
|
--theme-button-outlined-border-color: var(--theme-secondary-300);
|
|
237
239
|
--theme-button-outlined-selected-border-color: var(--theme-secondary-400);
|
|
240
|
+
|
|
241
|
+
// Tags
|
|
242
|
+
--theme-tag-color: var(--theme-secondary-800);
|
|
243
|
+
--theme-tag-background-color: var(--theme-secondary-075);
|
|
244
|
+
--theme-tag-border-color: transparent;
|
|
245
|
+
--theme-tag-hover-color: var(--theme-secondary-900);
|
|
246
|
+
--theme-tag-hover-background-color: var(--theme-secondary-100);
|
|
247
|
+
--theme-tag-hover-border-color: transparent;
|
|
248
|
+
|
|
249
|
+
// Topbar
|
|
250
|
+
--theme-topbar-height: @su48;
|
|
251
|
+
--theme-topbar-background-color: var(--black-025);
|
|
252
|
+
|
|
253
|
+
// Topbar Search input
|
|
254
|
+
--theme-topbar-search-color: var(--black-700);
|
|
255
|
+
--theme-topbar-search-background: var(--white);
|
|
256
|
+
--theme-topbar-search-placeholder: var(--black-200);
|
|
257
|
+
--theme-topbar-search-border: var(--black-200);
|
|
258
|
+
--theme-topbar-search-border-focus: var(--blue-300);
|
|
259
|
+
--theme-topbar-search-shadow-focus: 0 0 0 @su4 var(--focus-ring);
|
|
260
|
+
|
|
261
|
+
// Topbar Search switcher
|
|
262
|
+
--theme-topbar-select-color: var(--black-700);
|
|
263
|
+
--theme-topbar-select-background: var(--black-075);
|
|
264
|
+
|
|
265
|
+
// Topbar items
|
|
266
|
+
--theme-topbar-item-color: var(--black-600);
|
|
267
|
+
--theme-topbar-item-color-hover: var(--black-800);
|
|
268
|
+
--theme-topbar-item-background-hover: var(--black-075);
|
|
269
|
+
--theme-topbar-item-color-current: var(--black);
|
|
270
|
+
--theme-topbar-item-border-current: var(--theme-primary-color);
|
|
271
|
+
|
|
272
|
+
// Topbar themed border accent
|
|
273
|
+
--theme-topbar-accent-border: 3px solid var(--theme-primary-color);
|
|
238
274
|
}
|
|
239
275
|
|
|
240
276
|
// -- Light mode
|
|
@@ -779,11 +815,11 @@
|
|
|
779
815
|
--fc-light: var(--black-500);
|
|
780
816
|
|
|
781
817
|
// Focus rings
|
|
782
|
-
--focus-ring: fade(@blue-600,
|
|
783
|
-
--focus-ring-success: fade(@green-600,
|
|
784
|
-
--focus-ring-warning: fade(@yellow-600,
|
|
785
|
-
--focus-ring-error: fade(@red-600,
|
|
786
|
-
--focus-ring-muted: fade(@black-
|
|
818
|
+
--focus-ring: fade(@blue-600, 90%);
|
|
819
|
+
--focus-ring-success: fade(@green-600, 90%);
|
|
820
|
+
--focus-ring-warning: fade(@yellow-600, 90%);
|
|
821
|
+
--focus-ring-error: fade(@red-600, 90%);
|
|
822
|
+
--focus-ring-muted: fade(@black-400, 95%);
|
|
787
823
|
|
|
788
824
|
// Shadows
|
|
789
825
|
--bs-sm: none;
|
|
@@ -845,10 +881,10 @@
|
|
|
845
881
|
--orange-900: hsl(@orange-h, 100%, 91%);
|
|
846
882
|
|
|
847
883
|
// Blue
|
|
848
|
-
--blue-050: hsl(@blue-h, 100%,
|
|
849
|
-
--blue-100: hsl(@blue-h, 100%,
|
|
850
|
-
--blue-200: hsl(@blue-h, 100%,
|
|
851
|
-
--blue-300: hsl(@blue-h, 100%,
|
|
884
|
+
--blue-050: hsl(@blue-h, 100%, 4%);
|
|
885
|
+
--blue-100: hsl(@blue-h, 100%, 11%);
|
|
886
|
+
--blue-200: hsl(@blue-h, 100%, 18%);
|
|
887
|
+
--blue-300: hsl(@blue-h, 100%, 25%);
|
|
852
888
|
--blue-400: hsl(@blue-h, 100%, 75%);
|
|
853
889
|
--blue-500: hsl(@blue-h, 100%, 80%);
|
|
854
890
|
--blue-600: hsl(@blue-h, 100%, 85%);
|
|
@@ -929,11 +965,11 @@
|
|
|
929
965
|
--bc-darker: var(--black-900);
|
|
930
966
|
|
|
931
967
|
// Focus rings
|
|
932
|
-
--focus-ring: fade(@blue-600,
|
|
933
|
-
--focus-ring-success: fade(@green-600,
|
|
934
|
-
--focus-ring-warning: fade(@yellow-600,
|
|
935
|
-
--focus-ring-error: fade(@red-600,
|
|
936
|
-
--focus-ring-muted: fade(@black-
|
|
968
|
+
--focus-ring: fade(@blue-600, 90%);
|
|
969
|
+
--focus-ring-success: fade(@green-600, 90%);
|
|
970
|
+
--focus-ring-warning: fade(@yellow-600, 90%);
|
|
971
|
+
--focus-ring-error: fade(@red-600, 90%);
|
|
972
|
+
--focus-ring-muted: fade(@black-400, 95%);
|
|
937
973
|
|
|
938
974
|
// Font colors
|
|
939
975
|
--fc-dark: var(--black-900);
|
|
@@ -52,6 +52,7 @@
|
|
|
52
52
|
// ============================================================================
|
|
53
53
|
// $ SPACING UNITS (su-)
|
|
54
54
|
// ----------------------------------------------------------------------------
|
|
55
|
+
@su1: 1px;
|
|
55
56
|
@su2: 2px;
|
|
56
57
|
@su4: 4px;
|
|
57
58
|
@su6: 6px;
|
|
@@ -126,14 +127,12 @@
|
|
|
126
127
|
// Hide focus styles if they're not needed, for example,
|
|
127
128
|
// when an element receives focus via the mouse.
|
|
128
129
|
&:focus:not(:focus-visible) {
|
|
129
|
-
color: inherit;
|
|
130
130
|
outline: none;
|
|
131
131
|
box-shadow: none;
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
// Show focus styles on keyboard focus.
|
|
135
135
|
&:focus-visible {
|
|
136
|
-
color: inherit;
|
|
137
136
|
outline: none;
|
|
138
137
|
box-shadow: 0 0 0 @su4 var(--focus-ring-muted);
|
|
139
138
|
}
|
|
@@ -60,6 +60,17 @@
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
+
.highcontrast-dark-mode(@rules) {
|
|
64
|
+
body.theme-highcontrast.theme-system & {
|
|
65
|
+
@media (prefers-color-scheme: dark) {
|
|
66
|
+
@rules();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
body.theme-highcontrast.theme-dark & {
|
|
70
|
+
@rules();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
63
74
|
// ===========================================================================
|
|
64
75
|
// -- APPEARANCE
|
|
65
76
|
// Use this to overwrite the default appearance properties
|
|
@@ -22,7 +22,6 @@
|
|
|
22
22
|
@import "components/_stacks-buttons.less";
|
|
23
23
|
@import "components/_stacks-links.less";
|
|
24
24
|
@import "components/_stacks-link-previews.less";
|
|
25
|
-
@import "components/_stacks-navigation.less";
|
|
26
25
|
@import "components/_stacks-notices.less";
|
|
27
26
|
@import "components/_stacks-tags.less";
|
|
28
27
|
@import "components/_stacks-pagination.less";
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
@import "components/_stacks-inputs.less";
|
|
30
30
|
@import "components/_stacks-menu.less";
|
|
31
31
|
@import "components/_stacks-modals.less";
|
|
32
|
+
@import "components/_stacks-navigation.less";
|
|
32
33
|
@import "components/_stacks-page-titles.less";
|
|
33
34
|
@import "components/_stacks-popovers.less";
|
|
34
35
|
@import "components/_stacks-post-summary.less";
|
|
@@ -37,6 +38,7 @@
|
|
|
37
38
|
@import "components/_stacks-spinner.less";
|
|
38
39
|
@import "components/_stacks-tables.less";
|
|
39
40
|
@import "components/_stacks-toggle-switches.less";
|
|
41
|
+
@import "components/_stacks-topbar.less";
|
|
40
42
|
@import "components/_stacks-uploader.less";
|
|
41
43
|
@import "components/_stacks-user-cards.less";
|
|
42
44
|
@import "components/_stacks-widget-static.less";
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/StackExchange/Stacks.git"
|
|
7
7
|
},
|
|
8
|
-
"version": "0.
|
|
8
|
+
"version": "0.74.0",
|
|
9
9
|
"files": [
|
|
10
10
|
"dist",
|
|
11
11
|
"lib"
|
|
@@ -19,24 +19,24 @@
|
|
|
19
19
|
},
|
|
20
20
|
"license": "MIT",
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@popperjs/core": "^2.
|
|
22
|
+
"@popperjs/core": "^2.11.2",
|
|
23
23
|
"stimulus": "^2.0.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@11ty/eleventy": "^0.12.1",
|
|
27
|
-
"@highlightjs/cdn-assets": "^11.0
|
|
27
|
+
"@highlightjs/cdn-assets": "^11.4.0",
|
|
28
28
|
"@stackoverflow/stacks-editor": "^0.4.1",
|
|
29
|
-
"@stackoverflow/stacks-icons": "^2.
|
|
30
|
-
"backstopjs": "^
|
|
29
|
+
"@stackoverflow/stacks-icons": "^2.26.0",
|
|
30
|
+
"backstopjs": "^6.0.4",
|
|
31
31
|
"docsearch.js": "^2.6.3",
|
|
32
32
|
"eleventy-plugin-highlightjs": "^0.3.0",
|
|
33
33
|
"eleventy-plugin-markdown-shortcode": "^1.1.0",
|
|
34
|
-
"eleventy-plugin-nesting-toc": "^1.
|
|
35
|
-
"grunt": "^1.
|
|
36
|
-
"grunt-cli": "^1.4.
|
|
34
|
+
"eleventy-plugin-nesting-toc": "^1.3.0",
|
|
35
|
+
"grunt": "^1.4.1",
|
|
36
|
+
"grunt-cli": "^1.4.3",
|
|
37
37
|
"grunt-concurrent": "^3.0.0",
|
|
38
38
|
"grunt-contrib-clean": "^2.0.0",
|
|
39
|
-
"grunt-contrib-concat": "^
|
|
39
|
+
"grunt-contrib-concat": "^2.0.0",
|
|
40
40
|
"grunt-contrib-copy": "^1.0.0",
|
|
41
41
|
"grunt-contrib-cssmin": "^4.0.0",
|
|
42
42
|
"grunt-contrib-less": "^3.0.0",
|
|
@@ -46,9 +46,12 @@
|
|
|
46
46
|
"grunt-ts": "^6.0.0-beta.22",
|
|
47
47
|
"jquery": "^3.6.0",
|
|
48
48
|
"list.js": "^2.3.1",
|
|
49
|
-
"
|
|
50
|
-
"stylelint
|
|
51
|
-
"
|
|
49
|
+
"postcss-less": "^6.0.0",
|
|
50
|
+
"stylelint": "^14.3.0",
|
|
51
|
+
"stylelint-config-recommended-less": "^1.0.1",
|
|
52
|
+
"stylelint-config-standard": "^24.0.0",
|
|
53
|
+
"stylelint-less": "^1.0.1",
|
|
54
|
+
"typescript": "^4.5.5"
|
|
52
55
|
},
|
|
53
56
|
"browserslist": [
|
|
54
57
|
"last 2 versions",
|