bullframe.css 4.2.1 → 5.0.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 (144) hide show
  1. package/.browserslistrc +2 -3
  2. package/.editorconfig +15 -0
  3. package/.gitattributes +1 -0
  4. package/.htmlhintrc +12 -0
  5. package/.prettierignore +1 -0
  6. package/.stylelintignore +3 -0
  7. package/.stylelintrc.json +21 -5
  8. package/CHANGELOG.md +289 -301
  9. package/README.md +371 -327
  10. package/dist/css/bullframe-classless-dark-prefers.css +378 -267
  11. package/dist/css/bullframe-classless-dark-prefers.css.map +1 -0
  12. package/dist/css/bullframe-classless-dark-prefers.min.css +2 -3
  13. package/dist/css/bullframe-classless-dark-prefers.min.css.map +1 -1
  14. package/dist/css/bullframe-classless-dark.css +384 -251
  15. package/dist/css/bullframe-classless-dark.css.map +1 -0
  16. package/dist/css/bullframe-classless-dark.min.css +2 -3
  17. package/dist/css/bullframe-classless-dark.min.css.map +1 -1
  18. package/dist/css/bullframe-classless-system-default.css +378 -267
  19. package/dist/css/bullframe-classless-system-default.css.map +1 -0
  20. package/dist/css/bullframe-classless-system-default.min.css +2 -3
  21. package/dist/css/bullframe-classless-system-default.min.css.map +1 -1
  22. package/dist/css/bullframe-classless.css +343 -227
  23. package/dist/css/bullframe-classless.css.map +1 -0
  24. package/dist/css/bullframe-classless.min.css +2 -2
  25. package/dist/css/bullframe-classless.min.css.map +1 -1
  26. package/dist/css/bullframe-dark-prefers.css +399 -462
  27. package/dist/css/bullframe-dark-prefers.css.map +1 -0
  28. package/dist/css/bullframe-dark-prefers.min.css +2 -2
  29. package/dist/css/bullframe-dark-prefers.min.css.map +1 -1
  30. package/dist/css/bullframe-dark.css +401 -373
  31. package/dist/css/bullframe-dark.css.map +1 -0
  32. package/dist/css/bullframe-dark.min.css +2 -2
  33. package/dist/css/bullframe-dark.min.css.map +1 -1
  34. package/dist/css/bullframe-system-default.css +396 -389
  35. package/dist/css/bullframe-system-default.css.map +1 -0
  36. package/dist/css/bullframe-system-default.min.css +2 -2
  37. package/dist/css/bullframe-system-default.min.css.map +1 -1
  38. package/dist/css/bullframe-utilities.css +69 -109
  39. package/dist/css/bullframe-utilities.css.map +1 -0
  40. package/dist/css/bullframe-utilities.min.css +1 -1
  41. package/dist/css/bullframe-utilities.min.css.map +1 -1
  42. package/dist/css/bullframe.css +370 -348
  43. package/dist/css/bullframe.css.map +1 -0
  44. package/dist/css/bullframe.min.css +2 -1
  45. package/dist/css/bullframe.min.css.map +1 -1
  46. package/dist/docs/demo/css/style.css +131 -0
  47. package/{docs/test-page → dist/docs/demo}/index.html +166 -358
  48. package/dist/docs/github-readme/bf-logo-full-dark.png +0 -0
  49. package/package.json +26 -30
  50. package/prettier.config.js +26 -0
  51. package/src/docs/demo/css/style.css +131 -0
  52. package/src/docs/demo/icons/android-chrome-192x192.png +0 -0
  53. package/src/docs/demo/icons/android-chrome-384x384.png +0 -0
  54. package/src/docs/demo/icons/apple-touch-icon.png +0 -0
  55. package/src/docs/demo/icons/favicon-16x16.png +0 -0
  56. package/src/docs/demo/icons/favicon-32x32.png +0 -0
  57. package/src/docs/demo/icons/favicon.ico +0 -0
  58. package/src/docs/demo/icons/mstile-150x150.png +0 -0
  59. package/src/docs/demo/icons/safari-pinned-tab.svg +28 -0
  60. package/src/docs/demo/images/logo.png +0 -0
  61. package/src/docs/demo/images/placeholder-img-130x140.jpg +0 -0
  62. package/src/docs/demo/images/placeholder-img-16x16.jpg +0 -0
  63. package/src/docs/demo/images/placeholder-img-800x400.jpg +0 -0
  64. package/src/docs/demo/images/video-poster.png +0 -0
  65. package/src/docs/demo/index.html +1152 -0
  66. package/src/docs/github-readme/bf-logo-full-dark.png +0 -0
  67. package/src/docs/github-readme/bf-logo-full-light.png +0 -0
  68. package/src/scss/bullframe-classless-dark-prefers.scss +2 -5
  69. package/src/scss/bullframe-classless-dark.scss +2 -5
  70. package/src/scss/bullframe-classless-system-default.scss +2 -5
  71. package/src/scss/bullframe-classless.scss +49 -43
  72. package/src/scss/bullframe-dark-prefers.scss +2 -4
  73. package/src/scss/bullframe-dark.scss +2 -4
  74. package/src/scss/bullframe-system-default.scss +2 -4
  75. package/src/scss/bullframe-utilities.scss +21 -61
  76. package/src/scss/bullframe.scss +49 -121
  77. package/src/scss/custom/_author-styles.scss +5 -0
  78. package/src/scss/forms/_forms-normalization.scss +68 -58
  79. package/src/scss/forms/_forms-styling-radio-checkbox.scss +64 -66
  80. package/src/scss/forms/_forms-styling-range.scss +88 -74
  81. package/src/scss/forms/_forms-styling-select.scss +18 -16
  82. package/src/scss/forms/_forms-styling.scss +38 -26
  83. package/src/scss/miscellaneous/_misc-accessibility.scss +10 -16
  84. package/src/scss/miscellaneous/_misc-anchors.scss +15 -13
  85. package/src/scss/miscellaneous/_misc-embedded-content.scss +14 -21
  86. package/src/scss/miscellaneous/_misc-focus.scss +0 -21
  87. package/src/scss/miscellaneous/_misc-interactive.scss +48 -0
  88. package/src/scss/miscellaneous/_misc-lists.scss +9 -5
  89. package/src/scss/miscellaneous/_misc-scrolling.scss +5 -0
  90. package/src/scss/miscellaneous/_misc-shame.scss +6 -0
  91. package/src/scss/miscellaneous/_misc-tables.scss +17 -5
  92. package/src/scss/mixins/_mixin-dark-prefers.scss +414 -0
  93. package/src/scss/mixins/_mixin-dark.scss +396 -0
  94. package/src/scss/mixins/_mixin-grid-flex.scss +0 -3
  95. package/src/scss/mixins/_mixin-layout.scss +1 -1
  96. package/src/scss/mixins/_mixin-texts.scss +2 -3
  97. package/src/scss/typography/_typography-blockquotes.scss +10 -5
  98. package/src/scss/typography/_typography-headings.scss +9 -8
  99. package/src/scss/typography/_typography-html-body.scss +17 -14
  100. package/src/scss/typography/_typography-misc.scss +19 -22
  101. package/src/scss/typography/_typography-monospaced-elements.scss +21 -12
  102. package/src/scss/utilities/_utility-buttons.scss +20 -18
  103. package/src/scss/utilities/_utility-debugging.scss +2 -88
  104. package/src/scss/utilities/_utility-embeds.scss +1 -1
  105. package/src/scss/utilities/_utility-filters.scss +0 -3
  106. package/src/scss/utilities/_utility-form-states.scss +30 -21
  107. package/src/scss/utilities/_utility-global-dark-classless.scss +3 -157
  108. package/src/scss/utilities/_utility-global-dark-prefers-classless.scss +3 -3
  109. package/src/scss/utilities/_utility-global-dark-prefers.scss +3 -3
  110. package/src/scss/utilities/_utility-global-dark-scrollbars.scss +11 -6
  111. package/src/scss/utilities/_utility-global-dark.scss +4 -213
  112. package/src/scss/utilities/_utility-global-system-default-classless.scss +3 -3
  113. package/src/scss/utilities/_utility-global-system-default.scss +3 -3
  114. package/src/scss/utilities/_utility-grid-system.scss +51 -115
  115. package/src/scss/utilities/_utility-layout.scss +7 -15
  116. package/src/scss/utilities/_utility-print.scss +5 -5
  117. package/src/scss/utilities/_utility-spacing.scss +42 -40
  118. package/src/scss/utilities/_utility-tables.scss +12 -18
  119. package/src/scss/utilities/_utility-texts.scss +48 -22
  120. package/src/scss/utilities/_utility-z-index.scss +1 -1
  121. package/src/scss/variables/_variables-breakpoints.scss +1 -0
  122. package/src/scss/variables/_variables-colors.scss +8 -5
  123. package/src/scss/variables/_variables-spacing.scss +3 -5
  124. package/src/scss/variables/_variables-texts.scss +5 -9
  125. package/vite.config.js +116 -0
  126. package/.nvmrc +0 -1
  127. package/LICENSE +0 -21
  128. package/gulpfile.js +0 -74
  129. package/netlify.toml +0 -3
  130. package/src/scss/miscellaneous/_misc-author-styles-in-css.scss +0 -76
  131. /package/{docs/test-page/assets → dist/docs/demo}/icons/android-chrome-192x192.png +0 -0
  132. /package/{docs/test-page/assets → dist/docs/demo}/icons/android-chrome-384x384.png +0 -0
  133. /package/{docs/test-page/assets → dist/docs/demo}/icons/apple-touch-icon.png +0 -0
  134. /package/{docs/test-page/assets → dist/docs/demo}/icons/favicon-16x16.png +0 -0
  135. /package/{docs/test-page/assets → dist/docs/demo}/icons/favicon-32x32.png +0 -0
  136. /package/{docs/test-page/assets → dist/docs/demo}/icons/favicon.ico +0 -0
  137. /package/{docs/test-page/assets → dist/docs/demo}/icons/mstile-150x150.png +0 -0
  138. /package/{docs/test-page/assets → dist/docs/demo}/icons/safari-pinned-tab.svg +0 -0
  139. /package/{docs/test-page/assets → dist/docs/demo}/images/logo.png +0 -0
  140. /package/{docs/test-page/assets → dist/docs/demo}/images/placeholder-img-130x140.jpg +0 -0
  141. /package/{docs/test-page/assets → dist/docs/demo}/images/placeholder-img-16x16.jpg +0 -0
  142. /package/{docs/test-page/assets → dist/docs/demo}/images/placeholder-img-800x400.jpg +0 -0
  143. /package/{docs/test-page/assets → dist/docs/demo}/images/video-poster.png +0 -0
  144. /package/{docs/assets/images/branding/logo-full.png → dist/docs/github-readme/bf-logo-full-light.png} +0 -0
@@ -0,0 +1,396 @@
1
+ @use "../variables/variables-colors" as bf-v-color;
2
+ @use "../variables/variables-texts" as bf-v-text;
3
+ @use "../variables/variables-spacing" as bf-v-space;
4
+ @use "../variables/variables-breakpoints" as bf-v-bp;
5
+ @use "../utilities/utility-global-dark-scrollbars" as bfUtilGlobalDarkScrollbars;
6
+ @use "sass:color";
7
+
8
+ @mixin bf-global-dark {
9
+ // these are global styles tha that ovveride all the "light" styles
10
+
11
+ // the basics: background and texts
12
+ html {
13
+ color: bf-v-color.$bf-light;
14
+ }
15
+
16
+ body {
17
+ background-color: color.adjust(bf-v-color.$bf-dark-extra, $lightness: 7.5%);
18
+ }
19
+
20
+ // anchors
21
+ a {
22
+ color: color.adjust(bf-v-color.$bf-blue, $lightness: 20%);
23
+
24
+ &:hover,
25
+ &:focus {
26
+ color: color.adjust(bf-v-color.$bf-blue-light, $lightness: 20%);
27
+ }
28
+ }
29
+
30
+ // typography elements that need tiny adjustments
31
+ mark {
32
+ background-color: color.adjust(bf-v-color.$bf-yellow, $lightness: -10%);
33
+ }
34
+
35
+ ins {
36
+ background-color: color.adjust(
37
+ bf-v-color.$bf-yellow-light,
38
+ $lightness: 45%
39
+ );
40
+ }
41
+
42
+ // forms
43
+
44
+ [type="email"],
45
+ [type="number"],
46
+ [type="password"],
47
+ [type="tel"],
48
+ [type="search"],
49
+ [type="text"],
50
+ [type="date"],
51
+ [type="datetime-local"],
52
+ [type="month"],
53
+ [type="week"],
54
+ [type="time"],
55
+ [type="url"],
56
+ [type="range"],
57
+ input[list],
58
+ select,
59
+ select:not([size], [multiple]),
60
+ textarea {
61
+ background-color: bf-v-color.$bf-dark-extra;
62
+ border-color: bf-v-color.$bf-black;
63
+ color: bf-v-color.$bf-gray-light;
64
+
65
+ &:active,
66
+ &:focus {
67
+ background-color: bf-v-color.$bf-dark-extra;
68
+ border-color: color.adjust(bf-v-color.$bf-blue, $lightness: 10%);
69
+ }
70
+ }
71
+
72
+ [type="email"],
73
+ [type="number"],
74
+ [type="password"],
75
+ [type="tel"],
76
+ [type="search"],
77
+ [type="text"],
78
+ [type="date"],
79
+ [type="datetime-local"],
80
+ [type="month"],
81
+ [type="week"],
82
+ [type="time"],
83
+ [type="url"],
84
+ input[list],
85
+ select,
86
+ select:not([size], [multiple]),
87
+ textarea {
88
+ &:active,
89
+ &:focus {
90
+ box-shadow: 0 0 0 3px rgb(3 102 214 / 50%);
91
+ }
92
+ }
93
+
94
+ .bf-focused {
95
+ border-color: color.adjust(bf-v-color.$bf-blue, $lightness: 10%);
96
+ box-shadow: 0 0 0 3px rgb(3 102 214 / 50%) !important;
97
+ }
98
+
99
+ .bf-invalid,
100
+ .bf-invalid:focus {
101
+ color: color.adjust(bf-v-color.$bf-red, $lightness: 7.5%) !important;
102
+ border-color: color.adjust(bf-v-color.$bf-red, $lightness: 7.5%) !important;
103
+ }
104
+
105
+ select:not([size], [multiple]) {
106
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23f0f0f0' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e");
107
+ }
108
+
109
+ /* stylelint-disable-next-line */
110
+ @media screen and (min-width: 0\0) and (min-resolution: 0.001dpcm) {
111
+ // hide custom arrow
112
+ select:not([size], [multiple]),
113
+ /* RTL*/
114
+ *[dir="rtl"] select:not([size], [multiple]),
115
+ select[dir="rtl"]:not([size], [multiple]) {
116
+ background-image: none;
117
+ }
118
+ }
119
+
120
+ // range
121
+
122
+ // override above declaration
123
+ [type="range"] {
124
+ background-color: transparent;
125
+
126
+ &:focus {
127
+ background-color: transparent;
128
+ }
129
+ }
130
+
131
+ // darker background
132
+ // the rulesets must be separated
133
+ [type="range"]::-webkit-slider-runnable-track {
134
+ background-color: bf-v-color.$bf-dark-extra;
135
+ }
136
+
137
+ [type="range"]::-moz-range-track {
138
+ background-color: bf-v-color.$bf-dark-extra;
139
+ }
140
+
141
+ input::placeholder,
142
+ textarea::placeholder {
143
+ color: bf-v-color.$bf-gray;
144
+ }
145
+
146
+ button,
147
+ [type="button"],
148
+ [type="reset"],
149
+ [type="submit"],
150
+ .bf-btn,
151
+ button.bf-disabled,
152
+ [type="button"].bf-disabled,
153
+ [type="reset"].bf-disabled,
154
+ [type="submit"].bf-disabled,
155
+ .bf-btn.bf-disabled {
156
+ background: bf-v-color.$bf-gray-light;
157
+
158
+ &:hover,
159
+ &:active,
160
+ &:focus {
161
+ background: color.adjust(bf-v-color.$bf-gray-light, $lightness: -10%);
162
+ }
163
+
164
+ &:active,
165
+ &:focus {
166
+ box-shadow: 0 0 0 3px rgb(255 255 255 / 45%);
167
+ }
168
+ }
169
+
170
+ button,
171
+ [type="button"],
172
+ [type="reset"],
173
+ [type="submit"],
174
+ .bf-btn {
175
+ &:active,
176
+ &:focus {
177
+ box-shadow: 0 0 0 3px rgb(255 255 255 / 45%);
178
+ }
179
+ }
180
+
181
+ .bf-btn--primary.bf-disabled,
182
+ .bf-btn.bf-btn--primary {
183
+ background: bf-v-color.$bf-blue;
184
+
185
+ &:hover,
186
+ &:active,
187
+ &:focus {
188
+ background: color.adjust(bf-v-color.$bf-blue, $lightness: -5%);
189
+ }
190
+
191
+ &:active,
192
+ &:focus {
193
+ box-shadow: 0 0 0 3px rgb(0 86 179 / 75%);
194
+ }
195
+ }
196
+
197
+ // focus
198
+ a:focus,
199
+ input:focus {
200
+ outline-color: color.adjust(orange, $lightness: -15%);
201
+ }
202
+
203
+ :focus-visible {
204
+ outline-color: color.adjust(orange, $lightness: -15%);
205
+ }
206
+
207
+ // tables
208
+
209
+ .bf-table th,
210
+ .bf-table td {
211
+ border-color: bf-v-color.$bf-gray-dark;
212
+ }
213
+
214
+ .bf-table--zebra tbody tr:nth-child(odd),
215
+ .bf-table-responsive--zebra tbody tr:nth-child(odd) {
216
+ background-color: bf-v-color.$bf-gray-dark-extra;
217
+ }
218
+
219
+ dialog {
220
+ color: bf-v-color.$bf-light;
221
+ // match body background color
222
+ background-color: color.adjust(bf-v-color.$bf-dark-extra, $lightness: 7.5%);
223
+ }
224
+ }
225
+
226
+ @mixin bf-global-dark-classless {
227
+ // these are global styles tha that ovveride all the "light" styles
228
+
229
+ // the basics: background and texts
230
+ html {
231
+ color: bf-v-color.$bf-light;
232
+ }
233
+
234
+ body {
235
+ background-color: color.adjust(bf-v-color.$bf-dark-extra, $lightness: 7.5%);
236
+ }
237
+
238
+ // anchors
239
+ a {
240
+ color: color.adjust(bf-v-color.$bf-blue, $lightness: 20%);
241
+
242
+ &:hover,
243
+ &:focus {
244
+ color: color.adjust(bf-v-color.$bf-blue-light, $lightness: 20%);
245
+ }
246
+ }
247
+
248
+ // typography elements that need tiny adjustments
249
+ mark {
250
+ background-color: color.adjust(bf-v-color.$bf-yellow, $lightness: -10%);
251
+ }
252
+
253
+ ins {
254
+ background-color: color.adjust(
255
+ bf-v-color.$bf-yellow-light,
256
+ $lightness: 45%
257
+ );
258
+ }
259
+
260
+ // forms
261
+
262
+ [type="email"],
263
+ [type="number"],
264
+ [type="password"],
265
+ [type="tel"],
266
+ [type="search"],
267
+ [type="text"],
268
+ [type="date"],
269
+ [type="datetime-local"],
270
+ [type="month"],
271
+ [type="week"],
272
+ [type="time"],
273
+ [type="url"],
274
+ [type="range"],
275
+ input[list],
276
+ select,
277
+ select:not([size], [multiple]),
278
+ textarea {
279
+ background-color: bf-v-color.$bf-dark-extra;
280
+ border-color: bf-v-color.$bf-black;
281
+ color: bf-v-color.$bf-gray-light;
282
+
283
+ &:active,
284
+ &:focus {
285
+ background-color: bf-v-color.$bf-dark-extra;
286
+ border-color: color.adjust(bf-v-color.$bf-blue, $lightness: 10%);
287
+ }
288
+ }
289
+
290
+ [type="email"],
291
+ [type="number"],
292
+ [type="password"],
293
+ [type="tel"],
294
+ [type="search"],
295
+ [type="text"],
296
+ [type="date"],
297
+ [type="datetime-local"],
298
+ [type="month"],
299
+ [type="week"],
300
+ [type="time"],
301
+ [type="url"],
302
+ input[list],
303
+ select,
304
+ select:not([size], [multiple]),
305
+ textarea {
306
+ &:active,
307
+ &:focus {
308
+ box-shadow: 0 0 0 3px rgb(3 102 214 / 50%);
309
+ }
310
+ }
311
+
312
+ select:not([size], [multiple]) {
313
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23f0f0f0' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e");
314
+ }
315
+
316
+ /* stylelint-disable-next-line */
317
+ @media screen and (min-width: 0\0) and (min-resolution: 0.001dpcm) {
318
+ // hide custom arrow
319
+ select:not([size], [multiple]),
320
+ /* RTL*/
321
+ *[dir="rtl"] select:not([size], [multiple]),
322
+ select[dir="rtl"]:not([size], [multiple]) {
323
+ background-image: none;
324
+ }
325
+ }
326
+
327
+ // range
328
+
329
+ // override above declaration
330
+ [type="range"] {
331
+ background-color: transparent;
332
+
333
+ &:focus {
334
+ background-color: transparent;
335
+ }
336
+ }
337
+
338
+ // darker background
339
+ // the rulesets must be separated
340
+ [type="range"]::-webkit-slider-runnable-track {
341
+ background-color: bf-v-color.$bf-dark-extra;
342
+ }
343
+
344
+ [type="range"]::-moz-range-track {
345
+ background-color: bf-v-color.$bf-dark-extra;
346
+ }
347
+
348
+ input::placeholder,
349
+ textarea::placeholder {
350
+ color: bf-v-color.$bf-gray;
351
+ }
352
+
353
+ button,
354
+ [type="button"],
355
+ [type="reset"],
356
+ [type="submit"] {
357
+ background: bf-v-color.$bf-gray-light;
358
+
359
+ &:hover,
360
+ &:active,
361
+ &:focus {
362
+ background: color.adjust(bf-v-color.$bf-gray-light, $lightness: -10%);
363
+ }
364
+
365
+ &:active,
366
+ &:focus {
367
+ box-shadow: 0 0 0 3px rgb(255 255 255 / 45%);
368
+ }
369
+ }
370
+
371
+ button,
372
+ [type="button"],
373
+ [type="reset"],
374
+ [type="submit"] {
375
+ &:active,
376
+ &:focus {
377
+ box-shadow: 0 0 0 3px rgb(255 255 255 / 45%);
378
+ }
379
+ }
380
+
381
+ // focus
382
+ a:focus,
383
+ input:focus {
384
+ outline-color: color.adjust(orange, $lightness: -15%);
385
+ }
386
+
387
+ :focus-visible {
388
+ outline-color: color.adjust(orange, $lightness: -15%);
389
+ }
390
+
391
+ dialog {
392
+ color: bf-v-color.$bf-light;
393
+ // match body background color
394
+ background-color: color.adjust(bf-v-color.$bf-dark-extra, $lightness: 7.5%);
395
+ }
396
+ }
@@ -1,6 +1,3 @@
1
- // This is IE10+
2
- // https://caniuse.com/flexbox
3
-
4
1
  @mixin flex-container {
5
2
  display: flex !important;
6
3
  flex-wrap: wrap !important;
@@ -18,7 +18,7 @@
18
18
  @mixin bf-sr-only-focusable {
19
19
  &:active,
20
20
  &:focus {
21
- @include bf-sr-only();
21
+ @include bf-sr-only;
22
22
  clip: auto !important;
23
23
  height: auto !important;
24
24
  margin: 0 !important;
@@ -19,9 +19,6 @@
19
19
 
20
20
  // truncate a multiline text via line-clamp
21
21
  //
22
- // no IE support
23
- // https://caniuse.com/css-line-clamp
24
- //
25
22
  // demo https://codepen.io/devam-soni/pen/PoqaKWm
26
23
 
27
24
  @mixin bf-text-truncate--multiline-2 {
@@ -29,10 +26,12 @@
29
26
  text-overflow: ellipsis !important;
30
27
  display: -webkit-box !important;
31
28
  -webkit-line-clamp: 2 !important;
29
+ line-clamp: 3 !important;
32
30
  -webkit-box-orient: vertical !important;
33
31
  }
34
32
 
35
33
  @mixin bf-text-truncate--multiline-3 {
36
34
  @include bf-text-truncate--multiline-2;
37
35
  -webkit-line-clamp: 3 !important;
36
+ line-clamp: 3 !important;
38
37
  }
@@ -1,6 +1,11 @@
1
+ @use '../variables/variables-colors' as bf-v-color;
2
+ @use '../variables/variables-texts' as bf-v-text;
3
+ @use '../variables/variables-spacing' as bf-v-space;
4
+ @use '../variables/variables-breakpoints' as bf-v-bp;
5
+ @use 'sass:color';
6
+
1
7
  blockquote {
2
- margin: 0 0 $bf-spacing-xl-px 0;
3
- margin-bottom: $bf-spacing-xl-rem;
8
+ margin-bottom: bf-v-space.$bf-spacing-xl-rem;
4
9
  padding-left: 0;
5
10
  font-style: italic;
6
11
  }
@@ -10,14 +15,14 @@ blockquote p {
10
15
  }
11
16
 
12
17
  blockquote small {
13
- color: $bf-gray;
18
+ color: bf-v-color.$bf-gray;
14
19
  display: block;
15
20
  }
16
21
 
17
- blockquote small:before {
22
+ blockquote small::before {
18
23
  content: '\2014 \00A0';
19
24
  }
20
25
 
21
26
  q {
22
- quotes: '\201C''\201D''\2018''\2019';
27
+ quotes: '\201C' '\201D' '\2018' '\2019';
23
28
  }
@@ -1,20 +1,21 @@
1
+ @use '../variables/variables-colors' as bf-v-color;
2
+ @use '../variables/variables-texts' as bf-v-text;
3
+ @use '../variables/variables-spacing' as bf-v-space;
4
+ @use '../variables/variables-breakpoints' as bf-v-bp;
5
+ @use 'sass:color';
6
+
1
7
  h1,
2
8
  h2,
3
9
  h3,
4
10
  h4,
5
11
  h5,
6
12
  h6 {
7
- margin-top: 0;
8
-
9
- font-weight: 700; // fallback
13
+ margin-top: 0; // fallback
10
14
  font-weight: 600;
11
15
  font-family: inherit;
12
16
  color: inherit;
13
17
  line-height: 1.25;
14
- margin-bottom: $bf-spacing-lg-px;
15
- margin-bottom: $bf-spacing-lg-rem;
16
-
17
-
18
+ margin-bottom: bf-v-space.$bf-spacing-lg-rem;
18
19
  }
19
20
 
20
21
  h1 {
@@ -41,4 +42,4 @@ h5,
41
42
  h6 {
42
43
  font-size: 16px;
43
44
  font-size: 1.6rem;
44
- }
45
+ }
@@ -1,3 +1,9 @@
1
+ @use '../variables/variables-colors' as bf-v-color;
2
+ @use '../variables/variables-texts' as bf-v-text;
3
+ @use '../variables/variables-spacing' as bf-v-space;
4
+ @use '../variables/variables-breakpoints' as bf-v-bp;
5
+ @use 'sass:color';
6
+
1
7
  html {
2
8
  text-size-adjust: 100%;
3
9
 
@@ -5,25 +11,21 @@ html {
5
11
  // https://snook.ca/archives/html_and_css/font-size-with-rem
6
12
  font-size: 62.5%;
7
13
 
8
- color: #222;
14
+ color: bf-v-color.$bf-dark;
9
15
 
10
16
  // set a default font-family and line-height
11
17
  font-family: sans-serif;
12
18
  line-height: 1.15;
13
19
 
14
- // ! this is not a standard feature, is webkit only
15
- // https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-tap-highlight-color
16
-
17
20
  // remove a tap background when a link or interactive element is focused
18
21
  // if is touch
19
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
22
+ -webkit-tap-highlight-color: rgb(0 0 0 / 0%);
20
23
  }
21
24
 
22
25
  body {
23
26
  margin: 0;
24
- font-size: $bf-body-font-size-px; // '16px' by default
25
- font-size: $bf-body-font-size-rem; // '1.6rem' by default
26
- line-height: $bf-body-line-height; // '1.5' by default
27
+ font-size: bf-v-text.$bf-body-font-size-rem; // '1.6rem' by default
28
+ line-height: bf-v-text.$bf-body-line-height; // '1.5' by default
27
29
 
28
30
  // this is useful to inherit values for some elements (e.g. forms)
29
31
  font-weight: 400;
@@ -34,7 +36,7 @@ body {
34
36
  // a web apps looks like a native app (e.g. Android = Roboto font)
35
37
  // Read more:
36
38
  // https://www.smashingmagazine.com/2015/11/using-system-ui-fonts-practical-guide/
37
- font-family:
39
+ font-family:
38
40
 
39
41
  // Safari for OS X and iOS (San Francisco) -apple-system,
40
42
  // Chrome < 56 for OS X (San Francisco)
@@ -52,14 +54,15 @@ body {
52
54
  // macOS 1.10 and below
53
55
  'Helvetica Neue',
54
56
  Helvetica,
55
-
56
57
  // Basic web fallback
57
58
  Arial,
58
- 'Noto Sans', sans-serif,
59
-
59
+ 'Noto Sans',
60
+ sans-serif,
60
61
  // emoji fonts
61
62
  'Apple Color Emoji',
62
- 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
63
+ 'Segoe UI Emoji',
64
+ 'Segoe UI Symbol',
65
+ 'Noto Color Emoji';
63
66
 
64
67
  // this enable font ligatures
65
68
  text-rendering: optimizeLegibility;
@@ -68,5 +71,5 @@ body {
68
71
  // e.g. big <h1> or <h2> headlines
69
72
  word-wrap: break-word;
70
73
 
71
- background-color: $bf-white;
74
+ background-color: bf-v-color.$bf-white;
72
75
  }
@@ -1,6 +1,11 @@
1
+ @use "../variables/variables-colors" as bf-v-color;
2
+ @use "../variables/variables-texts" as bf-v-text;
3
+ @use "../variables/variables-spacing" as bf-v-space;
4
+ @use "../variables/variables-breakpoints" as bf-v-bp;
5
+ @use "sass:color";
6
+
1
7
  p {
2
- margin: 0 0 $bf-spacing-xl-px 0;
3
- margin: 0 0 $bf-spacing-xl-rem 0;
8
+ margin: 0 0 bf-v-space.$bf-spacing-xl-rem 0;
4
9
  }
5
10
 
6
11
  // Abbreviations (taken from Bootstrap 4)
@@ -17,13 +22,13 @@ abbr[data-original-title] {
17
22
  }
18
23
 
19
24
  mark {
20
- background-color: $bf-yellow;
21
- color: $bf-black;
25
+ background-color: bf-v-color.$bf-yellow;
26
+ color: bf-v-color.$bf-black;
22
27
  }
23
28
 
24
29
  ins {
25
- background-color: $bf-yellow-light;
26
- color: $bf-black;
30
+ background-color: bf-v-color.$bf-yellow-light;
31
+ color: bf-v-color.$bf-black;
27
32
  text-decoration: none;
28
33
  }
29
34
 
@@ -35,9 +40,9 @@ strong {
35
40
  }
36
41
 
37
42
  // Add the correct font weight in Chrome, Edge, and Safari
38
- /* stylelint-disable-next-line */
39
43
  b,
40
44
  strong {
45
+ /* stylelint-disable-next-line */
41
46
  font-weight: bolder;
42
47
  }
43
48
 
@@ -67,6 +72,11 @@ small {
67
72
  font-size: 80%;
68
73
  }
69
74
 
75
+ // Reduce line-height for <small> elements inside <p>
76
+ p:has(small) {
77
+ line-height: 1.25;
78
+ }
79
+
70
80
  hr {
71
81
  box-sizing: content-box;
72
82
  display: block;
@@ -74,20 +84,7 @@ hr {
74
84
  border-style: solid;
75
85
  border-width: 1px 0 0;
76
86
  color: inherit;
77
- margin: $bf-spacing-xl-px 0;
78
- margin: $bf-spacing-xl-rem 0;
87
+ margin: bf-v-space.$bf-spacing-xl-rem 0;
79
88
  padding: 0;
80
- overflow: visible; // Show the overflow in Edge and IE
81
- }
82
-
83
- address {
84
- font-style: normal;
85
- margin-bottom: $bf-spacing-lg-px;
86
- margin-bottom: $bf-spacing-lg-rem;
87
- line-height: inherit;
88
- }
89
-
90
- summary {
91
- display: list-item;
92
- cursor: pointer;
89
+ overflow: visible; // Show the overflow in Edge
93
90
  }
@@ -1,6 +1,11 @@
1
+ @use '../variables/variables-colors' as bf-v-color;
2
+ @use '../variables/variables-texts' as bf-v-text;
3
+ @use '../variables/variables-spacing' as bf-v-space;
4
+ @use '../variables/variables-breakpoints' as bf-v-bp;
5
+ @use 'sass:color';
6
+
1
7
  pre {
2
- margin: 0 0 $bf-spacing-xl-px 0;
3
- margin: 0 0 $bf-spacing-xl-rem 0;
8
+ margin: 0 0 bf-v-space.$bf-spacing-xl-rem 0;
4
9
 
5
10
  display: block;
6
11
  overflow: auto;
@@ -9,9 +14,6 @@ pre {
9
14
  white-space: pre;
10
15
  hyphens: none;
11
16
 
12
- // this is a not standard CSS property, so it's for IE only
13
- // https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-overflow-style
14
- //
15
17
  // Disable auto-hiding scrollbar in legacy Edge
16
18
  // https://github.com/twbs/bootstrap/pull/30685
17
19
  -ms-overflow-style: auto;
@@ -21,13 +23,20 @@ pre,
21
23
  code,
22
24
  kbd,
23
25
  samp {
24
- font-family:
25
-
26
- /* macOS 1.10+ */ 'Menlo', /* Windows 6+ */ 'Consolas',
27
- /* Android 4+ */ 'Roboto Mono', /* Ubuntu 1.10+ */ 'Ubuntu Monospace',
28
- /* KDE Plasma 5+ */ 'Noto Mono', /* KDE Plasma 4+ */ 'Oxygen Mono',
29
- /* Linux/OpenOffice fallback */ 'Liberation Mono', /* fallback */ monospace,
30
- /* emoji fonts */ 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
26
+ font-family:
27
+
28
+ /* macOS 1.10+ */
29
+ Menlo,
30
+ Consolas,
31
+ 'Roboto Mono',
32
+ 'Ubuntu Monospace',
33
+ 'Noto Mono',
34
+ 'Oxygen Mono',
35
+ 'Liberation Mono',
36
+ monospace,
37
+ 'Apple Color Emoji',
38
+ 'Segoe UI Emoji',
39
+ 'Segoe UI Symbol',
31
40
  'Noto Color Emoji';
32
41
 
33
42
  // a monospaced text font should looks bigger, so a smaller font-size