@stackoverflow/stacks 1.0.0 → 1.0.1

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 (71) hide show
  1. package/README.md +47 -47
  2. package/dist/css/stacks.css +108 -0
  3. package/dist/css/stacks.min.css +1 -1
  4. package/lib/css/atomic/borders.less +378 -378
  5. package/lib/css/atomic/colors.less +209 -209
  6. package/lib/css/atomic/flex.less +375 -375
  7. package/lib/css/atomic/grid.less +174 -174
  8. package/lib/css/atomic/misc.less +343 -343
  9. package/lib/css/atomic/spacing.less +332 -314
  10. package/lib/css/atomic/typography.less +273 -273
  11. package/lib/css/atomic/width-height.less +194 -194
  12. package/lib/css/base/body.less +44 -44
  13. package/lib/css/base/configuration-static.less +61 -61
  14. package/lib/css/base/icons.less +20 -20
  15. package/lib/css/base/internals.less +220 -220
  16. package/lib/css/base/reset-meyer.less +64 -64
  17. package/lib/css/base/reset-normalize.less +449 -449
  18. package/lib/css/base/reset.less +20 -20
  19. package/lib/css/components/activity-indicator.less +45 -45
  20. package/lib/css/components/avatars.less +189 -189
  21. package/lib/css/components/badges.less +209 -209
  22. package/lib/css/components/banners.less +80 -80
  23. package/lib/css/components/blank-states.less +26 -26
  24. package/lib/css/components/breadcrumbs.less +44 -44
  25. package/lib/css/components/button-groups.less +104 -104
  26. package/lib/css/components/buttons.less +665 -665
  27. package/lib/css/components/cards.less +44 -44
  28. package/lib/css/components/code-blocks.less +130 -130
  29. package/lib/css/components/collapsible.less +104 -104
  30. package/lib/css/components/inputs.less +728 -728
  31. package/lib/css/components/link-previews.less +136 -136
  32. package/lib/css/components/links.less +218 -218
  33. package/lib/css/components/menu.less +47 -47
  34. package/lib/css/components/modals.less +133 -133
  35. package/lib/css/components/navigation.less +146 -146
  36. package/lib/css/components/notices.less +233 -233
  37. package/lib/css/components/page-titles.less +60 -60
  38. package/lib/css/components/pagination.less +55 -55
  39. package/lib/css/components/popovers.less +197 -197
  40. package/lib/css/components/post-summary.less +425 -425
  41. package/lib/css/components/progress-bars.less +330 -330
  42. package/lib/css/components/prose.less +503 -503
  43. package/lib/css/components/spinner.less +107 -107
  44. package/lib/css/components/tables.less +341 -341
  45. package/lib/css/components/tags.less +236 -236
  46. package/lib/css/components/toggle-switches.less +144 -144
  47. package/lib/css/components/topbar.less +427 -427
  48. package/lib/css/components/uploader.less +210 -210
  49. package/lib/css/components/user-cards.less +169 -169
  50. package/lib/css/components/widget-dynamic.less +33 -33
  51. package/lib/css/components/widget-static.less +273 -273
  52. package/lib/css/exports/constants-colors.less +1092 -1092
  53. package/lib/css/exports/constants-helpers.less +108 -108
  54. package/lib/css/exports/constants-type.less +153 -153
  55. package/lib/css/exports/exports.less +15 -15
  56. package/lib/css/exports/mixins.less +237 -237
  57. package/lib/css/stacks-dynamic.less +35 -35
  58. package/lib/css/stacks-static.less +86 -86
  59. package/lib/css/stacks.less +13 -13
  60. package/lib/ts/controllers/index.ts +7 -7
  61. package/lib/ts/controllers/s-expandable-control.ts +188 -188
  62. package/lib/ts/controllers/s-modal.ts +321 -321
  63. package/lib/ts/controllers/s-navigation-tablist.ts +117 -117
  64. package/lib/ts/controllers/s-popover.ts +547 -547
  65. package/lib/ts/controllers/s-table.ts +220 -220
  66. package/lib/ts/controllers/s-tooltip.ts +246 -246
  67. package/lib/ts/controllers/s-uploader.ts +172 -172
  68. package/lib/ts/index.ts +20 -20
  69. package/lib/ts/stacks.ts +88 -88
  70. package/lib/tsconfig.json +13 -13
  71. package/package.json +87 -87
@@ -1,237 +1,237 @@
1
- /* stylelint-disable indentation */
2
- //
3
- // STACK OVERFLOW
4
- // MIXINS
5
- //
6
- // This CSS comes from Stacks, our CSS & Pattern library for rapidly building
7
- // Stack Overflow. For documentation of all these classes and how to contribute,
8
- // visit https://stackoverflow.design/
9
- //
10
- // ============================================================================
11
- // $ Clearfix
12
- // -----------------------------------------------------------------------------
13
- .clearfix() {
14
- &:before,
15
- &:after {
16
- content: "";
17
- display: table;
18
- }
19
- &:after { clear: both; }
20
- }
21
-
22
- // ============================================================================
23
- // -- LIGHTMODE
24
- // .light-mode-forced ensures light color scheme is used in .theme-light__forced
25
- //
26
- // .light-mode-forced({ color: var(--black-900) });
27
- //
28
- // ---------------------------------------------------------------------------
29
-
30
- .light-mode-forced(@rules) {
31
- .theme-light__forced &,
32
- body.theme-system .theme-light__forced &,
33
- body.theme-dark .theme-light__forced & {
34
- @rules();
35
- }
36
- }
37
-
38
- // ===========================================================================
39
- // -- DARKMODE
40
- // .darkmode renders a dark mode override behind the
41
- // prefers-color-scheme: dark media query and .theme-system. It also
42
- // renders the same rules outside of the media query with .theme-dark
43
- //
44
- // Usage example:
45
- //
46
- // .dark-mode({ background-color: var(--black-100); });
47
- //
48
- // ---------------------------------------------------------------------------
49
-
50
- .dark-mode(@rules) {
51
- body.theme-system & {
52
- @media (prefers-color-scheme: dark) {
53
- @rules();
54
- }
55
- }
56
-
57
- body.theme-dark &,
58
- .theme-dark__forced &,
59
- body.theme-system .theme-dark__forced & {
60
- @rules();
61
- }
62
- }
63
-
64
- // ===========================================================================
65
- // -- HIGHCONTRAST
66
- // .highcontrast-mode renders a high contrast mode override for .theme-highcontrast
67
- //
68
- // Usage example:
69
- //
70
- // .highcontrast-mode({ background-color: var(--black-100); });
71
- //
72
- // ---------------------------------------------------------------------------
73
-
74
- .highcontrast-mode(@rules) {
75
- body.theme-highcontrast & {
76
- @rules();
77
- }
78
- }
79
-
80
- .highcontrast-dark-mode(@rules) {
81
- body.theme-highcontrast.theme-system & {
82
- @media (prefers-color-scheme: dark) {
83
- @rules();
84
- }
85
- }
86
- body.theme-highcontrast.theme-dark & {
87
- @rules();
88
- }
89
- }
90
-
91
- // ===========================================================================
92
- // -- APPEARANCE
93
- // Use this to overwrite the default appearance properties
94
- // ---------------------------------------------------------------------------
95
- .appearance(@all) {
96
- -webkit-appearance: @all;
97
- -moz-appearance: @all;
98
- appearance: @all;
99
- }
100
-
101
-
102
- // ===========================================================================
103
- // -- FONT FACE
104
- // Used to load hosted, custom webfonts. You must provide the font's
105
- // full file path in the mixin. All modern browsers the WOFF file format.
106
- // Will automatically add various local()s to try using already-installed
107
- // fonts before downloading.
108
- // ---------------------------------------------------------------------------
109
- .font-face(@family, @path, @weight, @style) {
110
- @font-face {
111
- font-family: "@{family}";
112
- font-style: @style;
113
- font-weight: @weight;
114
- & when (@style=italic) {
115
- #stacks-internals #font-face-src(@family, @path, @weight, " Italic");
116
- }
117
- & when not (@style=italic) {
118
- #stacks-internals #font-face-src(@family, @path, @weight, "");
119
- }
120
- }
121
- }
122
-
123
-
124
- // =============================================================================
125
- // -- COLORS
126
- // The following mixins let us do color math on the browser. They take a
127
- // color prefix, and they expect the different values to be stored in
128
- // --{prefix}-h, --{prefix}-s and --{prefix}-l
129
- // -----------------------------------------------------------------------------
130
-
131
- .load-color-variables(@amount) {
132
- @amountDecimal: (@amount / 100);
133
- @amountPercentage: @amount * 1%;
134
- @complementDecimal: 1 - @amountDecimal;
135
- @additionDecimal: 1 + @amountDecimal;
136
- }
137
-
138
- .assemble-color(@color-prefix) {
139
- @result: hsl(var(~"--@{color-prefix}-h"),
140
- var(~"--@{color-prefix}-s"),
141
- var(~"--@{color-prefix}-l"));
142
- }
143
-
144
- // Increase the lightness of a color in the HSL color space by an absolute amount.
145
- .native-lighten(@color-prefix, @amount) {
146
- .load-color-variables(@amount);
147
- @result: hsl(var(~"--@{color-prefix}-h"),
148
- var(~"--@{color-prefix}-s"),
149
- calc(var(~"--@{color-prefix}-l") + @amountPercentage));
150
- }
151
-
152
- // Decrease the lightness and saturation of a color in the HSL color space by absolute amounts.
153
- .native-darken-desaturate(@color-prefix, @darken-amount, @desaturate-amount) {
154
- @darkenAmountPercentage: .load-color-variables(@darken-amount)[@amountPercentage];
155
- @desaturateAmountPercentage: .load-color-variables(@desaturate-amount)[@amountPercentage];
156
- @result: hsl(var(~"--@{color-prefix}-h"),
157
- clamp(10%, calc(var(~"--@{color-prefix}-s") - @desaturateAmountPercentage), 90%),
158
- clamp(20%, calc(var(~"--@{color-prefix}-l") - @darkenAmountPercentage), 100%));
159
- }
160
-
161
- // Decrease the lightness of a color in the HSL color space by an absolute amount.
162
- .native-darken(@color-prefix, @amount) {
163
- .load-color-variables(@amount);
164
- @result: hsl(var(~"--@{color-prefix}-h"),
165
- var(~"--@{color-prefix}-s"),
166
- calc(var(~"--@{color-prefix}-l") - @amountPercentage));
167
- }
168
-
169
- // Mix color with white in variable proportion
170
- .native-tint(@color-prefix, @amount) {
171
- .load-color-variables(@amount);
172
- @ramount: 255 * @amountDecimal;
173
- @gamount: 255 * @amountDecimal;
174
- @bamount: 255 * @amountDecimal;
175
- @result: rgb(calc(@ramount + var(~"--@{color-prefix}-r") * @complementDecimal),
176
- calc(@gamount + var(~"--@{color-prefix}-g") * @complementDecimal),
177
- calc(@bamount + var(~"--@{color-prefix}-b") * @complementDecimal));
178
- }
179
-
180
- // Mix color with black in variable proportion
181
- .native-shade(@color-prefix, @amount) {
182
- .load-color-variables(@amount);
183
- @result: rgb(calc(var(~"--@{color-prefix}-r") * @complementDecimal),
184
- calc(var(~"--@{color-prefix}-g") * @complementDecimal),
185
- calc(var(~"--@{color-prefix}-b") * @complementDecimal));
186
- }
187
-
188
- // Set the absolute opacity of a color.
189
- .native-fade(@color-prefix, @amount) {
190
- .load-color-variables(@amount);
191
- @result: hsla(var(~"--@{color-prefix}-h"),
192
- var(~"--@{color-prefix}-s"),
193
- var(~"--@{color-prefix}-l"),
194
- @amountDecimal);
195
- }
196
-
197
- // ===========================================================================
198
- // Internals only beyond this point -- helpers for .font-face()
199
- // ---------------------------------------------------------------------------
200
-
201
-
202
- #stacks-internals() {
203
-
204
- // Generate all common variants for local names that this font face may have.
205
- // The CSS spec (Font Module Level 3, Section 4.3) says to use "only the Postscript
206
- // name or the full font name".
207
- // For example, given the family "Comic Sans MS", weight 800, italic, we're
208
- // trying these local names:
209
- //
210
- // - Comic Sans MS Extra Bold Italic
211
- // - ComicSansMS-ExtraBoldItalic
212
- // - Comic Sans MS 800 Italic
213
- // - ComicSansMS-800Italic
214
- //
215
- // For the weight 400 we also include the un-weight-postfixed name ("Comic Sans MS Italic").
216
-
217
- #font-face-src(@family, @path, @weight, @style-postfix) {
218
- @index: round(@weight/100);
219
- @weight-names: "Thin", "Extra Light", "Light", "Regular", "Medium", "Semi Bold", "Bold", "Extra Bold", "Black";
220
- @weight-name: extract(@weight-names, @index);
221
- #stacks-internals #font-face-src-postfix(@family, @path, "@{weight-name}", @weight, @style-postfix);
222
- }
223
-
224
- #font-face-src-postfix(@family, @path, @postfix-name, @postfix-number, @style-postfix) {
225
- @family-nospace: replace(@family, " ", "");
226
- @postfix-name-nospace: replace("@{postfix-name}@{style-postfix}", " ", "");
227
- @postfix-number-nospace: replace("@{postfix-number}@{style-postfix}", " ", "");
228
-
229
- & when (@postfix-name="Regular") {
230
- src: local("@{family} @{postfix-name}@{style-postfix}"), local("@{family-nospace}-@{postfix-name-nospace}"), local("@{family} @{postfix-number}@{style-postfix}"), local("@{family-nospace}-@{postfix-number-nospace}"), local("@{family}@{style-postfix}"), @path format("woff");
231
- }
232
-
233
- & when not (@postfix-name="Regular") {
234
- src: local("@{family} @{postfix-name}@{style-postfix}"), local("@{family-nospace}-@{postfix-name-nospace}"), local("@{family} @{postfix-number}@{style-postfix}"), local("@{family-nospace}-@{postfix-number-nospace}"), @path format("woff");
235
- }
236
- }
237
- }
1
+ /* stylelint-disable indentation */
2
+ //
3
+ // STACK OVERFLOW
4
+ // MIXINS
5
+ //
6
+ // This CSS comes from Stacks, our CSS & Pattern library for rapidly building
7
+ // Stack Overflow. For documentation of all these classes and how to contribute,
8
+ // visit https://stackoverflow.design/
9
+ //
10
+ // ============================================================================
11
+ // $ Clearfix
12
+ // -----------------------------------------------------------------------------
13
+ .clearfix() {
14
+ &:before,
15
+ &:after {
16
+ content: "";
17
+ display: table;
18
+ }
19
+ &:after { clear: both; }
20
+ }
21
+
22
+ // ============================================================================
23
+ // -- LIGHTMODE
24
+ // .light-mode-forced ensures light color scheme is used in .theme-light__forced
25
+ //
26
+ // .light-mode-forced({ color: var(--black-900) });
27
+ //
28
+ // ---------------------------------------------------------------------------
29
+
30
+ .light-mode-forced(@rules) {
31
+ .theme-light__forced &,
32
+ body.theme-system .theme-light__forced &,
33
+ body.theme-dark .theme-light__forced & {
34
+ @rules();
35
+ }
36
+ }
37
+
38
+ // ===========================================================================
39
+ // -- DARKMODE
40
+ // .darkmode renders a dark mode override behind the
41
+ // prefers-color-scheme: dark media query and .theme-system. It also
42
+ // renders the same rules outside of the media query with .theme-dark
43
+ //
44
+ // Usage example:
45
+ //
46
+ // .dark-mode({ background-color: var(--black-100); });
47
+ //
48
+ // ---------------------------------------------------------------------------
49
+
50
+ .dark-mode(@rules) {
51
+ body.theme-system & {
52
+ @media (prefers-color-scheme: dark) {
53
+ @rules();
54
+ }
55
+ }
56
+
57
+ body.theme-dark &,
58
+ .theme-dark__forced &,
59
+ body.theme-system .theme-dark__forced & {
60
+ @rules();
61
+ }
62
+ }
63
+
64
+ // ===========================================================================
65
+ // -- HIGHCONTRAST
66
+ // .highcontrast-mode renders a high contrast mode override for .theme-highcontrast
67
+ //
68
+ // Usage example:
69
+ //
70
+ // .highcontrast-mode({ background-color: var(--black-100); });
71
+ //
72
+ // ---------------------------------------------------------------------------
73
+
74
+ .highcontrast-mode(@rules) {
75
+ body.theme-highcontrast & {
76
+ @rules();
77
+ }
78
+ }
79
+
80
+ .highcontrast-dark-mode(@rules) {
81
+ body.theme-highcontrast.theme-system & {
82
+ @media (prefers-color-scheme: dark) {
83
+ @rules();
84
+ }
85
+ }
86
+ body.theme-highcontrast.theme-dark & {
87
+ @rules();
88
+ }
89
+ }
90
+
91
+ // ===========================================================================
92
+ // -- APPEARANCE
93
+ // Use this to overwrite the default appearance properties
94
+ // ---------------------------------------------------------------------------
95
+ .appearance(@all) {
96
+ -webkit-appearance: @all;
97
+ -moz-appearance: @all;
98
+ appearance: @all;
99
+ }
100
+
101
+
102
+ // ===========================================================================
103
+ // -- FONT FACE
104
+ // Used to load hosted, custom webfonts. You must provide the font's
105
+ // full file path in the mixin. All modern browsers the WOFF file format.
106
+ // Will automatically add various local()s to try using already-installed
107
+ // fonts before downloading.
108
+ // ---------------------------------------------------------------------------
109
+ .font-face(@family, @path, @weight, @style) {
110
+ @font-face {
111
+ font-family: "@{family}";
112
+ font-style: @style;
113
+ font-weight: @weight;
114
+ & when (@style=italic) {
115
+ #stacks-internals #font-face-src(@family, @path, @weight, " Italic");
116
+ }
117
+ & when not (@style=italic) {
118
+ #stacks-internals #font-face-src(@family, @path, @weight, "");
119
+ }
120
+ }
121
+ }
122
+
123
+
124
+ // =============================================================================
125
+ // -- COLORS
126
+ // The following mixins let us do color math on the browser. They take a
127
+ // color prefix, and they expect the different values to be stored in
128
+ // --{prefix}-h, --{prefix}-s and --{prefix}-l
129
+ // -----------------------------------------------------------------------------
130
+
131
+ .load-color-variables(@amount) {
132
+ @amountDecimal: (@amount / 100);
133
+ @amountPercentage: @amount * 1%;
134
+ @complementDecimal: 1 - @amountDecimal;
135
+ @additionDecimal: 1 + @amountDecimal;
136
+ }
137
+
138
+ .assemble-color(@color-prefix) {
139
+ @result: hsl(var(~"--@{color-prefix}-h"),
140
+ var(~"--@{color-prefix}-s"),
141
+ var(~"--@{color-prefix}-l"));
142
+ }
143
+
144
+ // Increase the lightness of a color in the HSL color space by an absolute amount.
145
+ .native-lighten(@color-prefix, @amount) {
146
+ .load-color-variables(@amount);
147
+ @result: hsl(var(~"--@{color-prefix}-h"),
148
+ var(~"--@{color-prefix}-s"),
149
+ calc(var(~"--@{color-prefix}-l") + @amountPercentage));
150
+ }
151
+
152
+ // Decrease the lightness and saturation of a color in the HSL color space by absolute amounts.
153
+ .native-darken-desaturate(@color-prefix, @darken-amount, @desaturate-amount) {
154
+ @darkenAmountPercentage: .load-color-variables(@darken-amount)[@amountPercentage];
155
+ @desaturateAmountPercentage: .load-color-variables(@desaturate-amount)[@amountPercentage];
156
+ @result: hsl(var(~"--@{color-prefix}-h"),
157
+ clamp(10%, calc(var(~"--@{color-prefix}-s") - @desaturateAmountPercentage), 90%),
158
+ clamp(20%, calc(var(~"--@{color-prefix}-l") - @darkenAmountPercentage), 100%));
159
+ }
160
+
161
+ // Decrease the lightness of a color in the HSL color space by an absolute amount.
162
+ .native-darken(@color-prefix, @amount) {
163
+ .load-color-variables(@amount);
164
+ @result: hsl(var(~"--@{color-prefix}-h"),
165
+ var(~"--@{color-prefix}-s"),
166
+ calc(var(~"--@{color-prefix}-l") - @amountPercentage));
167
+ }
168
+
169
+ // Mix color with white in variable proportion
170
+ .native-tint(@color-prefix, @amount) {
171
+ .load-color-variables(@amount);
172
+ @ramount: 255 * @amountDecimal;
173
+ @gamount: 255 * @amountDecimal;
174
+ @bamount: 255 * @amountDecimal;
175
+ @result: rgb(calc(@ramount + var(~"--@{color-prefix}-r") * @complementDecimal),
176
+ calc(@gamount + var(~"--@{color-prefix}-g") * @complementDecimal),
177
+ calc(@bamount + var(~"--@{color-prefix}-b") * @complementDecimal));
178
+ }
179
+
180
+ // Mix color with black in variable proportion
181
+ .native-shade(@color-prefix, @amount) {
182
+ .load-color-variables(@amount);
183
+ @result: rgb(calc(var(~"--@{color-prefix}-r") * @complementDecimal),
184
+ calc(var(~"--@{color-prefix}-g") * @complementDecimal),
185
+ calc(var(~"--@{color-prefix}-b") * @complementDecimal));
186
+ }
187
+
188
+ // Set the absolute opacity of a color.
189
+ .native-fade(@color-prefix, @amount) {
190
+ .load-color-variables(@amount);
191
+ @result: hsla(var(~"--@{color-prefix}-h"),
192
+ var(~"--@{color-prefix}-s"),
193
+ var(~"--@{color-prefix}-l"),
194
+ @amountDecimal);
195
+ }
196
+
197
+ // ===========================================================================
198
+ // Internals only beyond this point -- helpers for .font-face()
199
+ // ---------------------------------------------------------------------------
200
+
201
+
202
+ #stacks-internals() {
203
+
204
+ // Generate all common variants for local names that this font face may have.
205
+ // The CSS spec (Font Module Level 3, Section 4.3) says to use "only the Postscript
206
+ // name or the full font name".
207
+ // For example, given the family "Comic Sans MS", weight 800, italic, we're
208
+ // trying these local names:
209
+ //
210
+ // - Comic Sans MS Extra Bold Italic
211
+ // - ComicSansMS-ExtraBoldItalic
212
+ // - Comic Sans MS 800 Italic
213
+ // - ComicSansMS-800Italic
214
+ //
215
+ // For the weight 400 we also include the un-weight-postfixed name ("Comic Sans MS Italic").
216
+
217
+ #font-face-src(@family, @path, @weight, @style-postfix) {
218
+ @index: round(@weight/100);
219
+ @weight-names: "Thin", "Extra Light", "Light", "Regular", "Medium", "Semi Bold", "Bold", "Extra Bold", "Black";
220
+ @weight-name: extract(@weight-names, @index);
221
+ #stacks-internals #font-face-src-postfix(@family, @path, "@{weight-name}", @weight, @style-postfix);
222
+ }
223
+
224
+ #font-face-src-postfix(@family, @path, @postfix-name, @postfix-number, @style-postfix) {
225
+ @family-nospace: replace(@family, " ", "");
226
+ @postfix-name-nospace: replace("@{postfix-name}@{style-postfix}", " ", "");
227
+ @postfix-number-nospace: replace("@{postfix-number}@{style-postfix}", " ", "");
228
+
229
+ & when (@postfix-name="Regular") {
230
+ src: local("@{family} @{postfix-name}@{style-postfix}"), local("@{family-nospace}-@{postfix-name-nospace}"), local("@{family} @{postfix-number}@{style-postfix}"), local("@{family-nospace}-@{postfix-number-nospace}"), local("@{family}@{style-postfix}"), @path format("woff");
231
+ }
232
+
233
+ & when not (@postfix-name="Regular") {
234
+ src: local("@{family} @{postfix-name}@{style-postfix}"), local("@{family-nospace}-@{postfix-name-nospace}"), local("@{family} @{postfix-number}@{style-postfix}"), local("@{family-nospace}-@{postfix-number-nospace}"), @path format("woff");
235
+ }
236
+ }
237
+ }
@@ -1,35 +1,35 @@
1
- //
2
- // STACK OVERFLOW
3
- // DYNAMIC STACK ITEMS
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
- // This is where all the magic happens.
10
- //
11
- //
12
- // ============================================================================
13
- // $ DYNAMIC ELEMENTS
14
- // The following items are elements which we allow communities to modify
15
- // via variables.
16
- // ----------------------------------------------------------------------------
17
- // -- SET BASIC STYLES FOR BODY
18
- @import "base/body.less";
19
-
20
- // -- COMPONENTS
21
- @import "components/banners.less";
22
- @import "components/buttons.less";
23
- @import "components/links.less";
24
- @import "components/link-previews.less";
25
- @import "components/notices.less";
26
- @import "components/tags.less";
27
- @import "components/pagination.less";
28
- @import "components/widget-dynamic.less";
29
-
30
- // -- LESS CONSTANTS AND MIXINS
31
- @import "exports/exports.less";
32
-
33
- // -- CONFIG
34
- @import "base/configuration-static.less";
35
- @import "base/internals.less";
1
+ //
2
+ // STACK OVERFLOW
3
+ // DYNAMIC STACK ITEMS
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
+ // This is where all the magic happens.
10
+ //
11
+ //
12
+ // ============================================================================
13
+ // $ DYNAMIC ELEMENTS
14
+ // The following items are elements which we allow communities to modify
15
+ // via variables.
16
+ // ----------------------------------------------------------------------------
17
+ // -- SET BASIC STYLES FOR BODY
18
+ @import "base/body.less";
19
+
20
+ // -- COMPONENTS
21
+ @import "components/banners.less";
22
+ @import "components/buttons.less";
23
+ @import "components/links.less";
24
+ @import "components/link-previews.less";
25
+ @import "components/notices.less";
26
+ @import "components/tags.less";
27
+ @import "components/pagination.less";
28
+ @import "components/widget-dynamic.less";
29
+
30
+ // -- LESS CONSTANTS AND MIXINS
31
+ @import "exports/exports.less";
32
+
33
+ // -- CONFIG
34
+ @import "base/configuration-static.less";
35
+ @import "base/internals.less";