@stackoverflow/stacks 3.0.0-beta.5 → 3.0.0-beta.7
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/dist/css/stacks.css +71 -96
- package/dist/css/stacks.min.css +1 -1
- package/lib/components/activity-indicator/activity-indicator.less +1 -17
- package/lib/components/badge/badge.less +59 -90
- package/lib/components/bling/bling.less +20 -10
- package/lib/components/button/button.less +1 -0
- package/lib/components/navigation/navigation.less +0 -4
- package/package.json +1 -1
|
@@ -4,34 +4,18 @@
|
|
|
4
4
|
--_ai-min-size: var(--su-static16);
|
|
5
5
|
--_ai-p: 0 calc(var(--su-static4) - var(--su-static1));
|
|
6
6
|
|
|
7
|
-
.highcontrast-mode({
|
|
8
|
-
--_ai-bg: var(--theme-secondary-500);
|
|
9
|
-
});
|
|
10
|
-
|
|
11
7
|
// VARIANTS
|
|
12
8
|
&&__danger {
|
|
13
9
|
--_ai-bg: var(--red-400);
|
|
14
|
-
|
|
15
|
-
.highcontrast-mode({
|
|
16
|
-
--_ai-bg: var(--red-500);
|
|
17
|
-
});
|
|
18
10
|
}
|
|
19
11
|
|
|
20
12
|
&&__success {
|
|
21
13
|
--_ai-bg: var(--green-400);
|
|
22
14
|
|
|
23
|
-
.highcontrast-mode({
|
|
24
|
-
--_ai-bg: var(--green-500);
|
|
25
|
-
});
|
|
26
15
|
}
|
|
27
16
|
|
|
28
17
|
&&__warning {
|
|
29
18
|
--_ai-bg: var(--yellow-400);
|
|
30
|
-
|
|
31
|
-
.highcontrast-mode({
|
|
32
|
-
--_ai-bg: var(--yellow-500); // needs to be here to override default high contrast
|
|
33
|
-
--_ai-fc: var(--white);
|
|
34
|
-
});
|
|
35
19
|
}
|
|
36
20
|
|
|
37
21
|
&&__sm {
|
|
@@ -45,7 +29,7 @@
|
|
|
45
29
|
min-height: var(--_ai-min-size);
|
|
46
30
|
padding: var(--_ai-p);
|
|
47
31
|
|
|
48
|
-
border-radius:
|
|
32
|
+
border-radius: var(--br-pill);
|
|
49
33
|
display: inline-flex;
|
|
50
34
|
font-size: var(--fs-fine);
|
|
51
35
|
font-weight: 600;
|
|
@@ -1,82 +1,66 @@
|
|
|
1
1
|
.s-badge {
|
|
2
2
|
--_ba-as: unset;
|
|
3
|
-
--_ba-bc:
|
|
3
|
+
--_ba-bc: transparent;
|
|
4
4
|
--_ba-bg: var(--black-150);
|
|
5
|
-
--_ba-fc: var(--black-
|
|
6
|
-
--_ba-fs: var(--fs-caption);
|
|
7
|
-
--_ba-fw: normal;
|
|
8
|
-
--_ba-g: 0.3em;
|
|
9
|
-
--_ba-lh: 2;
|
|
5
|
+
--_ba-fc: var(--black-600);
|
|
6
|
+
--_ba-fs: var(--fs-caption); //13px
|
|
10
7
|
--_ba-px: var(--su6);
|
|
11
|
-
--_ba-py:
|
|
8
|
+
--_ba-py: var(--su4);
|
|
12
9
|
--_ba-tt: unset;
|
|
13
10
|
--_ba-wmn: 0;
|
|
11
|
+
--_ba-bl: 0;
|
|
12
|
+
--_ba-fw: unset;
|
|
14
13
|
|
|
15
|
-
//
|
|
16
|
-
.highcontrast-mode({
|
|
17
|
-
// Badge counts
|
|
18
|
-
&__gold,
|
|
19
|
-
&__silver,
|
|
20
|
-
&__bronze,
|
|
21
|
-
// Number counts
|
|
22
|
-
&__rep,
|
|
23
|
-
&__rep-down,
|
|
24
|
-
&__votes:not(.s-badge__answered),
|
|
25
|
-
// Users
|
|
26
|
-
&__admin,
|
|
27
|
-
&__moderator,
|
|
28
|
-
&__staff {
|
|
29
|
-
--_ba-bc: currentColor;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
&__new {
|
|
33
|
-
--_ba-fc: var(--purple-600);
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
// MODIFIERS
|
|
38
|
-
// Sizes
|
|
39
|
-
&&__xs,
|
|
14
|
+
// SIZES
|
|
40
15
|
&&__sm {
|
|
16
|
+
--_ba-wmn: calc(var(--su-static16) + var(--su-static2));
|
|
41
17
|
--_ba-as: flex-start;
|
|
42
|
-
--_ba-fs: var(--fs-fine);
|
|
18
|
+
--_ba-fs: var(--fs-fine); //12px
|
|
19
|
+
--_ba-px: var(--su4);
|
|
20
|
+
--_ba-py: var(--su1);
|
|
43
21
|
}
|
|
44
22
|
|
|
45
|
-
&&
|
|
46
|
-
--_ba-
|
|
47
|
-
--_ba-px: var(--
|
|
48
|
-
--_ba-
|
|
23
|
+
&&__lg {
|
|
24
|
+
--_ba-fs: var(--fs-body1); //14px
|
|
25
|
+
--_ba-px: var(--su8);
|
|
26
|
+
--_ba-py: calc(var(--su4) + var(--su1)); //5px
|
|
49
27
|
}
|
|
50
28
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
--_ba-
|
|
54
|
-
--_ba-wmn: calc(var(--su-static16) + var(--su-static2));
|
|
29
|
+
// We need negative margin to make up for the positive badge padding
|
|
30
|
+
& .s-bling__filled {
|
|
31
|
+
margin: calc(var(--_ba-py) * -1) 0 calc(var(--_ba-py) * -1) calc(var(--_ba-px) * -1);
|
|
55
32
|
}
|
|
56
33
|
|
|
57
|
-
|
|
34
|
+
&:has(.s-bling__rep) {
|
|
35
|
+
--_ba-fw: 600;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// TAG BADGES
|
|
58
39
|
&&__gold,
|
|
59
40
|
&&__silver,
|
|
60
41
|
&&__bronze {
|
|
61
|
-
--_ba-
|
|
42
|
+
--_ba-bl: var(--su4);
|
|
43
|
+
|
|
44
|
+
& .s-bling__gold,
|
|
45
|
+
& .s-bling__silver,
|
|
46
|
+
& .s-bling__bronze {
|
|
47
|
+
margin-left: -2px;
|
|
48
|
+
}
|
|
62
49
|
}
|
|
63
50
|
|
|
64
51
|
&&__gold {
|
|
65
52
|
--_ba-bc: var(--yellow-300);
|
|
66
|
-
--_ba-bg: var(--yellow-100);
|
|
67
53
|
}
|
|
68
54
|
|
|
69
55
|
&&__silver {
|
|
70
56
|
--_ba-bc: var(--blue-300);
|
|
71
|
-
--_ba-bg: var(--blue-100);
|
|
72
57
|
}
|
|
73
58
|
|
|
74
59
|
&&__bronze {
|
|
75
60
|
--_ba-bc: var(--orange-300);
|
|
76
|
-
--_ba-bg: var(--orange-100);
|
|
77
61
|
}
|
|
78
62
|
|
|
79
|
-
//
|
|
63
|
+
// NUMBER COUNTS
|
|
80
64
|
&&__answered,
|
|
81
65
|
&&__bounty,
|
|
82
66
|
&&__important {
|
|
@@ -117,48 +101,36 @@
|
|
|
117
101
|
--_ba-fc: var(--black-500);
|
|
118
102
|
}
|
|
119
103
|
|
|
120
|
-
//
|
|
121
|
-
&&__admin
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
104
|
+
// USER TYPES
|
|
105
|
+
&&__admin,
|
|
106
|
+
&&__moderator,
|
|
107
|
+
&&__staff,
|
|
108
|
+
&&__ai,
|
|
109
|
+
&&__bot {
|
|
110
|
+
--_ba-bl: var(--su4);
|
|
125
111
|
}
|
|
126
112
|
|
|
127
113
|
&&__moderator {
|
|
128
|
-
--_ba-bc: var(--theme-secondary-300);
|
|
129
|
-
--_ba-bg: var(--theme-secondary-200);
|
|
130
|
-
--_ba-fc: var(--theme-secondary-600);
|
|
131
|
-
--_ba-g: calc(var(--su-static4) - var(--su-static1)); // 3px
|
|
132
114
|
// :before icon
|
|
133
|
-
--_ba-
|
|
134
|
-
--_ba-before-
|
|
135
|
-
--_ba-before-
|
|
136
|
-
--_ba-before-
|
|
137
|
-
|
|
138
|
-
// Sizes
|
|
139
|
-
&.s-badge__xs {
|
|
140
|
-
--_ba-before-h: calc(var(--su-static8) + var(--su-static1)); // 9px
|
|
141
|
-
--_ba-before-icon: url("data:image/svg+xml;,%3Csvg width='7' height='9' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 .246c.3-.329.701-.327 1 0L6.776 4c.3.329.298.672 0 1L4 8.75c-.299.329-.702.327-1 0L.224 5c-.284-.324-.285-.675 0-1L3 .246z' fill='%23fff'/%3E%3C/svg%3E");
|
|
142
|
-
--_ba-before-mt: 0;
|
|
143
|
-
--_ba-before-w: calc(var(--su-static8) - var(--su-static1)); // 7px
|
|
144
|
-
}
|
|
115
|
+
--_ba-bc: var(--blue-500);
|
|
116
|
+
--_ba-before-h: calc(var(--su12) + var(--su1)); // 13px
|
|
117
|
+
--_ba-before-w: calc(var(--su12) - var(--su1)); // 11px
|
|
118
|
+
--_ba-before-icon: url("data:image/svg+xml;,%3Csvg width='11' height='13' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.528.746c.257-.329.675-.327.93 0l4.42 5.66c.258.329.257.864 0 1.192l-4.42 5.66c-.256.328-.674.327-.93 0l-4.42-5.66c-.257-.329-.256-.865 0-1.192l4.42-5.66z' fill='%23fff'/%3E%3C/svg%3E");
|
|
145
119
|
|
|
146
120
|
&.s-badge__sm {
|
|
147
|
-
--_ba-
|
|
148
|
-
--_ba-before-
|
|
121
|
+
--_ba-before-h: calc(var(--su12) - var(--su1)); // 11px
|
|
122
|
+
--_ba-before-w: calc(var(--su8) + var(--su1)); // 9px
|
|
149
123
|
--_ba-before-icon: url("data:image/svg+xml;,%3Csvg width='9' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.55.246c.257-.329.647-.327.903 0l3.36 4.66c.256.329.256.864 0 1.192L4.45 10.75c-.257.329-.644.327-.9 0L.192 6.098c-.256-.329-.256-.865 0-1.192L3.55.246z' fill='%23fff'/%3E%3C/svg%3E");
|
|
150
|
-
--_ba-before-mt: 0;
|
|
151
|
-
--_ba-before-w: calc(var(--su-static8) + var(--su-static1)); // 9px
|
|
152
124
|
}
|
|
153
125
|
|
|
154
126
|
&:before {
|
|
155
127
|
height: var(--_ba-before-h);
|
|
156
|
-
margin-top: var(--
|
|
128
|
+
margin-top: calc(var(--su1) * -1);
|
|
157
129
|
width: var(--_ba-before-w);
|
|
158
130
|
|
|
159
131
|
content: "";
|
|
160
132
|
display: inline-block;
|
|
161
|
-
background-color:
|
|
133
|
+
background-color: var(--_ba-bc);
|
|
162
134
|
-webkit-mask: var(--_ba-before-icon) no-repeat center;
|
|
163
135
|
mask: var(--_ba-before-icon) no-repeat center;
|
|
164
136
|
-webkit-mask-size: contain;
|
|
@@ -167,22 +139,21 @@
|
|
|
167
139
|
}
|
|
168
140
|
|
|
169
141
|
&&__staff {
|
|
170
|
-
// Staff
|
|
171
|
-
--_ba-bc: var(--orange-
|
|
172
|
-
|
|
173
|
-
|
|
142
|
+
// Staff should always be "StackOverflow orange"
|
|
143
|
+
--_ba-bc: var(--orange-400);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
&&__admin {
|
|
147
|
+
// Only the admin badge is themeable
|
|
148
|
+
--_ba-bc: var(--theme-primary-500, var(--orange-500));
|
|
174
149
|
}
|
|
175
150
|
|
|
176
|
-
// VARIANTS
|
|
177
151
|
&&__ai {
|
|
178
|
-
--_ba-bc: var(--
|
|
179
|
-
--_ba-bg: var(--black-050);
|
|
180
|
-
--_ba-fc: var(--orange-500);
|
|
181
|
-
--_ba-tt: uppercase;
|
|
152
|
+
--_ba-bc: var(--purple-400);
|
|
182
153
|
}
|
|
183
154
|
|
|
184
155
|
&&__bot {
|
|
185
|
-
--_ba-bc: var(--black-
|
|
156
|
+
--_ba-bc: var(--black-400);
|
|
186
157
|
}
|
|
187
158
|
|
|
188
159
|
&&__danger,
|
|
@@ -229,7 +200,6 @@
|
|
|
229
200
|
--_ba-bc: var(--_ba-bg);
|
|
230
201
|
--_ba-bg: var(--purple-100);
|
|
231
202
|
--_ba-fc: var(--purple-400);
|
|
232
|
-
--_ba-fw: bold;
|
|
233
203
|
--_ba-tt: uppercase;
|
|
234
204
|
}
|
|
235
205
|
|
|
@@ -249,18 +219,17 @@
|
|
|
249
219
|
|
|
250
220
|
align-self: var(--_ba-as);
|
|
251
221
|
background-color: var(--_ba-bg);
|
|
252
|
-
border: var(--
|
|
222
|
+
border-left: var(--_ba-bl) solid var(--_ba-bc);
|
|
253
223
|
color: var(--_ba-fc);
|
|
254
224
|
font-size: var(--_ba-fs);
|
|
255
|
-
gap: var(--_ba-g);
|
|
256
225
|
font-weight: var(--_ba-fw);
|
|
257
|
-
|
|
258
|
-
min-width: var(--_ba-wmn);
|
|
226
|
+
gap: var(--_ba-px);
|
|
259
227
|
padding: var(--_ba-py) var(--_ba-px);
|
|
228
|
+
line-height: var(--lh-md);
|
|
229
|
+
min-width: var(--_ba-wmn);
|
|
260
230
|
text-transform: var(--_ba-tt);
|
|
261
231
|
|
|
262
232
|
align-items: center;
|
|
263
|
-
border-radius: var(--br-md);
|
|
264
233
|
display: inline-flex;
|
|
265
234
|
justify-content: center;
|
|
266
235
|
text-decoration: none;
|
|
@@ -7,11 +7,6 @@
|
|
|
7
7
|
--_bl-icon-size: var(--su8);
|
|
8
8
|
|
|
9
9
|
// VARIANTS
|
|
10
|
-
&&__gold,
|
|
11
|
-
&&__silver {
|
|
12
|
-
--_bl-icon-size: calc(var(--su8) + var(--su2));
|
|
13
|
-
}
|
|
14
|
-
|
|
15
10
|
&&__activity {
|
|
16
11
|
--_bl-icon-bg: var(--pink-400);
|
|
17
12
|
}
|
|
@@ -61,15 +56,30 @@
|
|
|
61
56
|
}
|
|
62
57
|
}
|
|
63
58
|
|
|
64
|
-
//
|
|
65
|
-
|
|
66
|
-
|
|
59
|
+
// SIZES
|
|
60
|
+
// Unfilled Sizes
|
|
61
|
+
&&__sm:not(&__filled) {
|
|
62
|
+
--_bl-size: var(--su8);
|
|
63
|
+
}
|
|
64
|
+
// Filled Sizes
|
|
65
|
+
&&__sm&__filled {
|
|
67
66
|
--_bl-size: var(--su16);
|
|
68
67
|
}
|
|
69
|
-
|
|
70
|
-
&&__lg {
|
|
68
|
+
&&__lg&__filled {
|
|
71
69
|
--_bl-size: calc(var(--su24) + var(--su4)); // 28px
|
|
72
70
|
}
|
|
71
|
+
// Icon Sizes
|
|
72
|
+
&&__sm {
|
|
73
|
+
--_bl-icon-size: var(--su6);
|
|
74
|
+
}
|
|
75
|
+
&&__sm&__gold,
|
|
76
|
+
&&__sm&__silver {
|
|
77
|
+
--_bl-icon-size: calc(var(--su6) + var(--su1)); // 7px
|
|
78
|
+
}
|
|
79
|
+
&&__gold:not(&__sm),
|
|
80
|
+
&&__silver:not(&__sm) {
|
|
81
|
+
--_bl-icon-size: calc(var(--su8) + var(--su1)); // 9px
|
|
82
|
+
}
|
|
73
83
|
|
|
74
84
|
// CHILD ELEMENTS
|
|
75
85
|
&:before {
|
|
@@ -69,9 +69,6 @@
|
|
|
69
69
|
--_na-item-bg-hover: var(--_na-item-selected-bg-hover);
|
|
70
70
|
|
|
71
71
|
&:before {
|
|
72
|
-
.highcontrast-mode({
|
|
73
|
-
height: 0;
|
|
74
|
-
});
|
|
75
72
|
content: "";
|
|
76
73
|
position: absolute;
|
|
77
74
|
bottom: 0;
|
|
@@ -83,7 +80,6 @@
|
|
|
83
80
|
|
|
84
81
|
.highcontrast-mode({
|
|
85
82
|
--_na-item-fc-hover: var(--white);
|
|
86
|
-
box-shadow: inset 0 0 0 var(--su-static1) var(--black-500);
|
|
87
83
|
});
|
|
88
84
|
|
|
89
85
|
font-weight: bold;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stackoverflow/stacks",
|
|
3
3
|
"description": "Stack Overflow’s CSS and Design Pattern Library. Stacks is an atomic CSS library with classes and components for rapidly building Stack Overflow.",
|
|
4
|
-
"version": "3.0.0-beta.
|
|
4
|
+
"version": "3.0.0-beta.7",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
7
7
|
"lib",
|