vanilla-framework 4.26.0 → 4.27.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/package.json +1 -1
- package/scss/_base_button.scss +4 -4
- package/scss/_base_code.scss +4 -4
- package/scss/_base_details.scss +1 -1
- package/scss/_base_forms.scss +4 -4
- package/scss/_base_placeholders.scss +32 -12
- package/scss/_base_tables.scss +3 -3
- package/scss/_base_typography-definitions.scss +168 -82
- package/scss/_base_typography.scss +7 -3
- package/scss/_layouts_full-width.scss +1 -1
- package/scss/_patterns_badge.scss +1 -1
- package/scss/_patterns_chip.scss +3 -3
- package/scss/_patterns_grid-8.scss +256 -7
- package/scss/_patterns_grid.scss +0 -1
- package/scss/_patterns_heading-icon.scss +2 -2
- package/scss/_patterns_image.scss +48 -22
- package/scss/_patterns_lists.scss +19 -8
- package/scss/_patterns_matrix.scss +4 -4
- package/scss/_patterns_navigation-reduced.scss +5 -5
- package/scss/_patterns_navigation.scss +5 -5
- package/scss/_patterns_notifications.scss +2 -2
- package/scss/_patterns_search-and-filter.scss +2 -2
- package/scss/_patterns_search-box.scss +2 -2
- package/scss/_patterns_status-label.scss +1 -1
- package/scss/_patterns_table-mobile-card.scss +1 -1
- package/scss/_patterns_table-sortable.scss +1 -1
- package/scss/_patterns_tabs.scss +1 -1
- package/scss/_settings.scss +1 -1
- package/scss/_settings_font.scss +11 -1
- package/scss/_settings_grid.scss +4 -0
- package/scss/_settings_spacing.scss +329 -82
- package/scss/_utilities_content-align.scss +2 -2
- package/templates/_macros/vf_rich-vertical-list.jinja +5 -5
- package/templates/_macros/vf_text-spotlight.jinja +3 -3
- package/templates/_macros/vf_tiered-list.jinja +17 -17
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
background: $colors--theme--background-alt;
|
|
23
23
|
|
|
24
24
|
// height of top navigation, as padding applied to .p-navigation__link + line-heigh of the anchor text inside
|
|
25
|
-
$navigation-top-height: $spv--large * 2 + map-get($
|
|
25
|
+
$navigation-top-height: $spv--large * 2 + map-get($settings-text-default, line-height);
|
|
26
26
|
|
|
27
27
|
height: calc(100% - $navigation-top-height); // height of document reduced by height of top nav
|
|
28
28
|
min-height: calc(100vh - $navigation-top-height);
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
// the minimum content width should be the total desired width (the line-height)
|
|
14
14
|
// minus the space already taken up by the left and right padding
|
|
15
15
|
// Makes the shortest badge a perfect circle and keeps it related to line-height (of %x-small-text) and padding (below)
|
|
16
|
-
min-width: map-get($
|
|
16
|
+
min-width: map-get($settings-text-x-small, line-height) - (2 * $spv--x-small);
|
|
17
17
|
overflow: hidden;
|
|
18
18
|
padding: 0 $spv--x-small;
|
|
19
19
|
text-align: center;
|
package/scss/_patterns_chip.scss
CHANGED
|
@@ -7,8 +7,6 @@
|
|
|
7
7
|
align-self: center;
|
|
8
8
|
background-size: map-get($icon-sizes, small);
|
|
9
9
|
flex: 0 0 auto;
|
|
10
|
-
// Space chip away from the content preceding it in the chip body
|
|
11
|
-
margin-left: $sph--x-small;
|
|
12
10
|
@media (min-width: $breakpoint-x-large) {
|
|
13
11
|
background-size: math.div(map-get($icon-sizes, small), $font-size-ratio--largescreen); //ensure no rounding happens as it positions the icon off center
|
|
14
12
|
}
|
|
@@ -27,7 +25,7 @@
|
|
|
27
25
|
padding: calc($spv--x-small - $input-border-thickness) $sph--small; // account for border thickness using calc
|
|
28
26
|
position: relative;
|
|
29
27
|
user-select: none;
|
|
30
|
-
vertical-align: calc($input-border-thickness - map-get($
|
|
28
|
+
vertical-align: calc($input-border-thickness - map-get($settings-text-p, nudge));
|
|
31
29
|
white-space: nowrap;
|
|
32
30
|
|
|
33
31
|
[class*='p-icon--'],
|
|
@@ -58,6 +56,8 @@
|
|
|
58
56
|
@include vf-icon-close-themed;
|
|
59
57
|
|
|
60
58
|
border-radius: 50%;
|
|
59
|
+
// Space away from the content preceding it in the chip body
|
|
60
|
+
margin-left: $sph--x-small;
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
& > [class*='p-icon--'] {
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
|
|
83
83
|
// on medium/tablet screens, small and large grid class names span full width (to match block level element behaviour)
|
|
84
84
|
%grid-8-span-on-tablet {
|
|
85
|
-
@media (min-width: $threshold-4-
|
|
85
|
+
@media (min-width: $threshold-4-small-4-med-col) {
|
|
86
86
|
grid-column: auto / span $grid-8-columns-medium;
|
|
87
87
|
}
|
|
88
88
|
}
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
// col-medium-X classes define grid for medium screens
|
|
103
|
-
@media (min-width: $threshold-4-
|
|
103
|
+
@media (min-width: $threshold-4-small-4-med-col) {
|
|
104
104
|
@for $i from $grid-8-columns-medium through 1 {
|
|
105
105
|
.#{$grid-8-medium-col-prefix}#{$i} {
|
|
106
106
|
@include vf-grid-8-column($i);
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
|
|
115
115
|
// on desktop screens small and medium grid class names span full width (to match block level element behaviour)
|
|
116
116
|
%grid-8-span-on-desktop {
|
|
117
|
-
@media (min-width: $threshold-
|
|
117
|
+
@media (min-width: $threshold-4-8-col) {
|
|
118
118
|
grid-column: auto / span $grid-8-columns;
|
|
119
119
|
}
|
|
120
120
|
}
|
|
@@ -132,7 +132,7 @@
|
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
// col-X class names define grid on large/desktop screens
|
|
135
|
-
@media (min-width: $threshold-
|
|
135
|
+
@media (min-width: $threshold-4-8-col) {
|
|
136
136
|
@for $i from $grid-8-columns through 1 {
|
|
137
137
|
// set col-* to span respective number of columns on desktop
|
|
138
138
|
.#{$grid-8-large-col-prefix}#{$i} {
|
|
@@ -144,9 +144,9 @@
|
|
|
144
144
|
|
|
145
145
|
// column reordering
|
|
146
146
|
$offsets: (
|
|
147
|
-
(small, 0, $threshold-4-
|
|
148
|
-
(medium, $threshold-4-
|
|
149
|
-
(large, $threshold-
|
|
147
|
+
(small, 0, $threshold-4-small-4-med-col, $grid-8-columns-small),
|
|
148
|
+
(medium, $threshold-4-small-4-med-col, $threshold-4-8-col, $grid-8-columns-medium),
|
|
149
|
+
(large, $threshold-4-8-col, false, $grid-8-columns)
|
|
150
150
|
);
|
|
151
151
|
|
|
152
152
|
@each $label, $breakpoint-min, $breakpoint-reset, $col-count in $offsets {
|
|
@@ -164,4 +164,253 @@
|
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
|
+
|
|
168
|
+
// Common grid patterns
|
|
169
|
+
$col-50-medium: calc($grid-8-columns-medium / 2);
|
|
170
|
+
|
|
171
|
+
$col-25: calc($grid-8-columns / 4);
|
|
172
|
+
$col-25-medium: calc($grid-8-columns-medium / 4);
|
|
173
|
+
$col-50: calc($grid-8-columns / 2);
|
|
174
|
+
$col-75: calc(($grid-8-columns / 4) * 3);
|
|
175
|
+
$col-75-medium: calc(($grid-8-columns-medium / 4) * 3);
|
|
176
|
+
|
|
177
|
+
// 50/50 split on medium and large screens
|
|
178
|
+
.grid-row--50-50 {
|
|
179
|
+
@extend %vf-grid-row;
|
|
180
|
+
|
|
181
|
+
> .grid-col {
|
|
182
|
+
@include vf-grid-8-column($grid-8-columns-small);
|
|
183
|
+
|
|
184
|
+
@media (min-width: $threshold-4-small-4-med-col) {
|
|
185
|
+
@include vf-grid-8-column($col-50-medium);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
@media (min-width: $threshold-4-8-col) {
|
|
189
|
+
@include vf-grid-8-column($col-50);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
// 25/75 split on medium and large screens
|
|
195
|
+
.grid-row--25-75 {
|
|
196
|
+
@extend %vf-grid-row;
|
|
197
|
+
|
|
198
|
+
> .grid-col {
|
|
199
|
+
@include vf-grid-8-column($grid-8-columns-small);
|
|
200
|
+
|
|
201
|
+
@media (min-width: $threshold-4-small-4-med-col) {
|
|
202
|
+
&:nth-of-type(1) {
|
|
203
|
+
@include vf-grid-8-column($col-25-medium);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
&:nth-of-type(2) {
|
|
207
|
+
@include vf-grid-8-column($col-75-medium);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
// if there is only one column, use the whole width
|
|
211
|
+
&:only-of-type {
|
|
212
|
+
@include vf-grid-8-column($grid-8-columns-medium);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
@media (min-width: $threshold-4-8-col) {
|
|
217
|
+
&:nth-of-type(1) {
|
|
218
|
+
@include vf-grid-8-column($col-25);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
&:nth-of-type(2) {
|
|
222
|
+
@include vf-grid-8-column($col-75);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
// if there is only one column we offset it to the right
|
|
226
|
+
&:only-of-type {
|
|
227
|
+
grid-column-start: calc($col-25 + 1);
|
|
228
|
+
@include vf-grid-8-column($col-75);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
// 50/50 split just on medium screens
|
|
235
|
+
.grid-row--50-50-on-medium {
|
|
236
|
+
@extend %vf-grid-row;
|
|
237
|
+
|
|
238
|
+
> .grid-col {
|
|
239
|
+
@media ($threshold-4-small-4-med-col <= width < $threshold-4-8-col) {
|
|
240
|
+
@include vf-grid-8-column($col-50-medium);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
.grid-row--25-75-on-medium {
|
|
246
|
+
@extend %vf-grid-row;
|
|
247
|
+
|
|
248
|
+
> .grid-col {
|
|
249
|
+
@media ($threshold-4-small-4-med-col <= width < $threshold-4-8-col) {
|
|
250
|
+
&:nth-of-type(1) {
|
|
251
|
+
@include vf-grid-8-column($col-25-medium);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
&:nth-of-type(2) {
|
|
255
|
+
@include vf-grid-8-column($col-75-medium);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
// if there is only one column, use the whole width
|
|
259
|
+
&:only-of-type {
|
|
260
|
+
@include vf-grid-8-column($grid-8-columns-medium);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
// 50/50 split just on large screens
|
|
267
|
+
.grid-row--50-50-on-large {
|
|
268
|
+
@extend %vf-grid-row;
|
|
269
|
+
|
|
270
|
+
> .grid-col {
|
|
271
|
+
@media (min-width: $threshold-4-8-col) {
|
|
272
|
+
@include vf-grid-8-column($col-50);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
.grid-row--25-75-on-large {
|
|
278
|
+
@extend %vf-grid-row;
|
|
279
|
+
|
|
280
|
+
> .grid-col {
|
|
281
|
+
@media (min-width: $threshold-4-8-col) {
|
|
282
|
+
&:nth-of-type(1) {
|
|
283
|
+
@include vf-grid-8-column($col-25);
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
&:nth-of-type(2) {
|
|
287
|
+
@include vf-grid-8-column($col-75);
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
// if there is only one column we offset it to the right
|
|
291
|
+
&:only-of-type {
|
|
292
|
+
grid-column-start: calc($col-25 + 1);
|
|
293
|
+
@include vf-grid-8-column($col-75);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
// 75/25 split on medium and large screens
|
|
300
|
+
.grid-row--75-25 {
|
|
301
|
+
@extend %vf-grid-row;
|
|
302
|
+
|
|
303
|
+
> .grid-col {
|
|
304
|
+
@include vf-grid-8-column($grid-8-columns-small);
|
|
305
|
+
|
|
306
|
+
@media (min-width: $threshold-4-small-4-med-col) {
|
|
307
|
+
&:nth-of-type(1) {
|
|
308
|
+
@include vf-grid-8-column($col-75-medium);
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
&:nth-of-type(2) {
|
|
312
|
+
@include vf-grid-8-column($col-25-medium);
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
// if there is only one column, use the whole width
|
|
316
|
+
&:only-of-type {
|
|
317
|
+
@include vf-grid-8-column($grid-8-columns-medium);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
@media (min-width: $threshold-4-8-col) {
|
|
322
|
+
&:nth-of-type(1) {
|
|
323
|
+
@include vf-grid-8-column($col-75);
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
&:nth-of-type(2) {
|
|
327
|
+
@include vf-grid-8-column($col-25);
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
.grid-row--75-25-on-medium {
|
|
334
|
+
@extend %vf-grid-row;
|
|
335
|
+
|
|
336
|
+
> .grid-col {
|
|
337
|
+
@media ($threshold-4-small-4-med-col <= width < $threshold-4-8-col) {
|
|
338
|
+
&:nth-of-type(1) {
|
|
339
|
+
@include vf-grid-8-column($col-75-medium);
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
&:nth-of-type(2) {
|
|
343
|
+
@include vf-grid-8-column($col-25-medium);
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
// if there is only one column, use the whole width
|
|
347
|
+
&:only-of-type {
|
|
348
|
+
@include vf-grid-8-column($grid-8-columns-medium);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
.grid-row--75-25-on-large {
|
|
355
|
+
@extend %vf-grid-row;
|
|
356
|
+
|
|
357
|
+
> .grid-col {
|
|
358
|
+
@media (min-width: $threshold-4-8-col) {
|
|
359
|
+
&:nth-of-type(1) {
|
|
360
|
+
@include vf-grid-8-column($col-75);
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
&:nth-of-type(2) {
|
|
364
|
+
@include vf-grid-8-column($col-25);
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
.grid-row--25-25-50 {
|
|
371
|
+
@extend %vf-grid-row;
|
|
372
|
+
|
|
373
|
+
> .grid-col {
|
|
374
|
+
@include vf-grid-8-column($grid-8-columns-small);
|
|
375
|
+
|
|
376
|
+
@media (min-width: $threshold-4-small-4-med-col) {
|
|
377
|
+
// The first two columns are 50% each on medium
|
|
378
|
+
&:nth-of-type(-n + 2) {
|
|
379
|
+
@include vf-grid-8-column($col-50-medium);
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
// The third column is 100% on medium
|
|
383
|
+
&:nth-of-type(3) {
|
|
384
|
+
@include vf-grid-8-column($grid-8-columns-medium);
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
@media (min-width: $threshold-4-8-col) {
|
|
389
|
+
&:nth-of-type(1),
|
|
390
|
+
&:nth-of-type(2) {
|
|
391
|
+
@include vf-grid-8-column($col-25);
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
&:nth-of-type(3) {
|
|
395
|
+
@include vf-grid-8-column($col-50);
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
.grid-row--25-25-25-25 {
|
|
402
|
+
@extend %vf-grid-row;
|
|
403
|
+
|
|
404
|
+
> .grid-col {
|
|
405
|
+
@include vf-grid-8-column($grid-8-columns-small);
|
|
406
|
+
|
|
407
|
+
@media (min-width: $threshold-4-small-4-med-col) {
|
|
408
|
+
@include vf-grid-8-column($col-50-medium);
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
@media (min-width: $threshold-4-8-col) {
|
|
412
|
+
@include vf-grid-8-column($col-25);
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
}
|
|
167
416
|
}
|
package/scss/_patterns_grid.scss
CHANGED
|
@@ -22,14 +22,14 @@
|
|
|
22
22
|
height: map-get($icon-sizes, heading-icon);
|
|
23
23
|
margin-bottom: 0;
|
|
24
24
|
margin-right: $sph--large;
|
|
25
|
-
margin-top: calc(map-get($
|
|
25
|
+
margin-top: calc(map-get($settings-text-h3, nudge) / 2); // just a quick fix, should be calculated based on line height and icon size
|
|
26
26
|
width: map-get($icon-sizes, heading-icon);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
.p-heading-icon--small {
|
|
30
30
|
.p-heading-icon__img {
|
|
31
31
|
height: map-get($icon-sizes, heading-icon--small);
|
|
32
|
-
margin-top: map-get($
|
|
32
|
+
margin-top: map-get($settings-text-h3, nudge);
|
|
33
33
|
width: map-get($icon-sizes, heading-icon--small);
|
|
34
34
|
}
|
|
35
35
|
}
|
|
@@ -25,25 +25,47 @@
|
|
|
25
25
|
Image element within an image container.
|
|
26
26
|
*/
|
|
27
27
|
|
|
28
|
-
@use 'sass:
|
|
28
|
+
@use 'sass:math';
|
|
29
29
|
@import 'settings';
|
|
30
30
|
|
|
31
|
-
// Mapping of aspect ratio class names to their
|
|
31
|
+
// Mapping of aspect ratio class names to their values
|
|
32
32
|
$aspect-ratios: (
|
|
33
|
-
'16-9':
|
|
34
|
-
'3-2':
|
|
35
|
-
'2-3':
|
|
33
|
+
'16-9': math.div(16, 9),
|
|
34
|
+
'3-2': math.div(3, 2),
|
|
35
|
+
'2-3': math.div(2, 3),
|
|
36
36
|
'cinematic': 2.4,
|
|
37
37
|
'square': 1,
|
|
38
38
|
);
|
|
39
39
|
|
|
40
|
+
@mixin apply-aspect-ratio-styles($padding-value) {
|
|
41
|
+
&::before {
|
|
42
|
+
content: '';
|
|
43
|
+
display: block;
|
|
44
|
+
padding-bottom: $padding-value;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.p-image-container__image {
|
|
48
|
+
bottom: 0;
|
|
49
|
+
left: 0;
|
|
50
|
+
margin: auto;
|
|
51
|
+
max-height: 100%;
|
|
52
|
+
max-width: 100%;
|
|
53
|
+
object-fit: contain;
|
|
54
|
+
position: absolute;
|
|
55
|
+
right: 0;
|
|
56
|
+
top: 0;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
40
60
|
@mixin aspect-ratio-classes {
|
|
41
61
|
@each $aspect-ratio, $aspect-ratio-value in $aspect-ratios {
|
|
62
|
+
$padding-percentage: math.div(1, $aspect-ratio-value) * 100%;
|
|
42
63
|
.p-image-container--#{$aspect-ratio} {
|
|
43
|
-
aspect-ratio
|
|
64
|
+
@include apply-aspect-ratio-styles($padding-percentage);
|
|
44
65
|
}
|
|
45
66
|
}
|
|
46
67
|
|
|
68
|
+
// Responsive aspect ratios
|
|
47
69
|
@each $breakpoint-name, $breakpoint-bounds-pair in $breakpoint-bounds {
|
|
48
70
|
$min-width: map-get($breakpoint-bounds-pair, min);
|
|
49
71
|
$max-width: map-get($breakpoint-bounds-pair, max);
|
|
@@ -51,24 +73,27 @@ $aspect-ratios: (
|
|
|
51
73
|
@if $min-width and $max-width {
|
|
52
74
|
@media ($min-width <= width < $max-width) {
|
|
53
75
|
@each $aspect-ratio, $aspect-ratio-value in $aspect-ratios {
|
|
76
|
+
$padding-percentage: math.div(1, $aspect-ratio-value) * 100%;
|
|
54
77
|
.p-image-container--#{$aspect-ratio}-on-#{$breakpoint-name} {
|
|
55
|
-
aspect-ratio
|
|
78
|
+
@include apply-aspect-ratio-styles($padding-percentage);
|
|
56
79
|
}
|
|
57
80
|
}
|
|
58
81
|
}
|
|
59
82
|
} @else if $min-width {
|
|
60
83
|
@media (width >= $min-width) {
|
|
61
84
|
@each $aspect-ratio, $aspect-ratio-value in $aspect-ratios {
|
|
85
|
+
$padding-percentage: math.div(1, $aspect-ratio-value) * 100%;
|
|
62
86
|
.p-image-container--#{$aspect-ratio}-on-#{$breakpoint-name} {
|
|
63
|
-
aspect-ratio
|
|
87
|
+
@include apply-aspect-ratio-styles($padding-percentage);
|
|
64
88
|
}
|
|
65
89
|
}
|
|
66
90
|
}
|
|
67
91
|
} @else if $max-width {
|
|
68
92
|
@media (width < $max-width) {
|
|
69
93
|
@each $aspect-ratio, $aspect-ratio-value in $aspect-ratios {
|
|
94
|
+
$padding-percentage: math.div(1, $aspect-ratio-value) * 100%;
|
|
70
95
|
.p-image-container--#{$aspect-ratio}-on-#{$breakpoint-name} {
|
|
71
|
-
aspect-ratio
|
|
96
|
+
@include apply-aspect-ratio-styles($padding-percentage);
|
|
72
97
|
}
|
|
73
98
|
}
|
|
74
99
|
}
|
|
@@ -79,32 +104,33 @@ $aspect-ratios: (
|
|
|
79
104
|
@mixin vf-p-image {
|
|
80
105
|
.p-image-container,
|
|
81
106
|
[class^='p-image-container--'] {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
text-align: center;
|
|
107
|
+
display: block;
|
|
108
|
+
position: relative;
|
|
109
|
+
width: 100%;
|
|
86
110
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
111
|
+
.p-image-container__image {
|
|
112
|
+
display: block;
|
|
113
|
+
margin: auto;
|
|
90
114
|
}
|
|
91
115
|
|
|
92
116
|
&.is-highlighted {
|
|
93
117
|
background: $colors--theme--background-alt;
|
|
94
118
|
}
|
|
95
119
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
// of the image content is maintained
|
|
100
|
-
max-height: 100%;
|
|
101
|
-
object-fit: contain;
|
|
120
|
+
// If there is a child lazyloaded image, don't let it affect the layout.
|
|
121
|
+
& > .lazyloaded {
|
|
122
|
+
display: contents;
|
|
102
123
|
}
|
|
103
124
|
|
|
104
125
|
&.is-cover {
|
|
105
126
|
.p-image-container__image {
|
|
106
127
|
height: 100%;
|
|
128
|
+
left: 0;
|
|
129
|
+
margin: 0;
|
|
107
130
|
object-fit: cover;
|
|
131
|
+
position: absolute;
|
|
132
|
+
top: 0;
|
|
133
|
+
transform: none;
|
|
108
134
|
width: 100%;
|
|
109
135
|
}
|
|
110
136
|
}
|
|
@@ -24,18 +24,18 @@ $list-step-bullet-margin: $sph--x-large;
|
|
|
24
24
|
%numbered-step-title {
|
|
25
25
|
list-style: none;
|
|
26
26
|
margin-left: 0;
|
|
27
|
-
padding-left: calc(map-get($
|
|
27
|
+
padding-left: calc(map-get($settings-text-default, line-height) + $list-step-bullet-margin);
|
|
28
28
|
position: relative;
|
|
29
29
|
|
|
30
30
|
&::before {
|
|
31
31
|
content: counter(p-stepped-list-counter) '.';
|
|
32
32
|
display: block;
|
|
33
|
-
height: map-get($
|
|
33
|
+
height: map-get($settings-text-default, line-height);
|
|
34
34
|
left: 0;
|
|
35
35
|
margin-right: $list-step-bullet-margin;
|
|
36
36
|
position: absolute;
|
|
37
37
|
text-align: right;
|
|
38
|
-
width: map-get($
|
|
38
|
+
width: map-get($settings-text-default, line-height);
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
|
|
@@ -389,7 +389,7 @@ $list-step-bullet-margin: $sph--x-large;
|
|
|
389
389
|
|
|
390
390
|
&::after {
|
|
391
391
|
content: '\2022';
|
|
392
|
-
line-height: map-get($
|
|
392
|
+
line-height: map-get($settings-text-default, line-height);
|
|
393
393
|
position: relative;
|
|
394
394
|
right: -0.25rem;
|
|
395
395
|
}
|
|
@@ -445,8 +445,8 @@ $list-step-bullet-margin: $sph--x-large;
|
|
|
445
445
|
}
|
|
446
446
|
|
|
447
447
|
// Indent titles
|
|
448
|
-
$bullet-width: map-get($
|
|
449
|
-
$bullet-width-mobile: map-get($
|
|
448
|
+
$bullet-width: map-get($settings-text-default, line-height);
|
|
449
|
+
$bullet-width-mobile: map-get($settings-text-default, line-height);
|
|
450
450
|
|
|
451
451
|
.p-stepped-list__title {
|
|
452
452
|
@extend %numbered-step-title;
|
|
@@ -465,8 +465,19 @@ $list-step-bullet-margin: $sph--x-large;
|
|
|
465
465
|
|
|
466
466
|
@for $i from 4 through 1 {
|
|
467
467
|
// Bullet sizes for each heading level
|
|
468
|
-
|
|
469
|
-
|
|
468
|
+
@if $i == 1 {
|
|
469
|
+
$bullet-width: map-get($settings-text-h1, line-height);
|
|
470
|
+
$bullet-width-mobile: map-get($settings-text-h1-mobile, line-height);
|
|
471
|
+
} @else if $i == 2 {
|
|
472
|
+
$bullet-width: map-get($settings-text-h2, line-height);
|
|
473
|
+
$bullet-width-mobile: map-get($settings-text-h2-mobile, line-height);
|
|
474
|
+
} @else if $i == 3 {
|
|
475
|
+
$bullet-width: map-get($settings-text-h3, line-height);
|
|
476
|
+
$bullet-width-mobile: map-get($settings-text-h3-mobile, line-height);
|
|
477
|
+
} @else if $i == 4 {
|
|
478
|
+
$bullet-width: map-get($settings-text-h4, line-height);
|
|
479
|
+
$bullet-width-mobile: map-get($settings-text-h4-mobile, line-height);
|
|
480
|
+
}
|
|
470
481
|
|
|
471
482
|
.p-heading--#{$i}.p-stepped-list__title,
|
|
472
483
|
h#{$i}.p-stepped-list__title {
|
|
@@ -103,13 +103,13 @@
|
|
|
103
103
|
|
|
104
104
|
@media (min-width: $breakpoint-heading-threshold) {
|
|
105
105
|
// place image in the middle of the heading text
|
|
106
|
-
margin-top: calc(map-get($
|
|
106
|
+
margin-top: calc(map-get($settings-text-h4, nudge) + (map-get($settings-text-h4, line-height) - $matrix-img-width) / 2);
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
@if ($increase-font-size-on-larger-screens) {
|
|
110
110
|
@media (min-width: $breakpoint-x-large) {
|
|
111
111
|
// place image in the middle of the heading text
|
|
112
|
-
margin-top: calc(map-get($
|
|
112
|
+
margin-top: calc(map-get($settings-text-h4-large, nudge) + (map-get($settings-text-h4, line-height) - $matrix-img-width) / 2);
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
}
|
|
@@ -129,12 +129,12 @@
|
|
|
129
129
|
@extend %vf-heading-4;
|
|
130
130
|
|
|
131
131
|
@media (min-width: $breakpoint-heading-threshold) {
|
|
132
|
-
margin-bottom: -#{map-get($
|
|
132
|
+
margin-bottom: -#{map-get($settings-text-h4, nudge)};
|
|
133
133
|
}
|
|
134
134
|
|
|
135
135
|
@if ($increase-font-size-on-larger-screens) {
|
|
136
136
|
@media (min-width: $breakpoint-x-large) {
|
|
137
|
-
margin-bottom: -#{map-get($
|
|
137
|
+
margin-bottom: -#{map-get($settings-text-h4-large, nudge)};
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
@mixin vf-p-navigation-reduced {
|
|
2
2
|
.p-navigation--reduced {
|
|
3
3
|
// height of reduced navigation calculated from line height and padding
|
|
4
|
-
$reduced-nav-height: calc(map-get($
|
|
4
|
+
$reduced-nav-height: calc(map-get($settings-text-x-small, line-height) + 2 * $spv--small);
|
|
5
5
|
|
|
6
6
|
background-color: $colors--theme--background-alt;
|
|
7
7
|
position: relative;
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
// reduced nav logo text uses default font size (on small screens)
|
|
27
27
|
.p-navigation__logo-title {
|
|
28
28
|
color: $colors--theme--text-muted;
|
|
29
|
-
font-size: #{map-get($
|
|
29
|
+
font-size: #{map-get($settings-text-default, font-size)}rem;
|
|
30
30
|
font-weight: $font-weight-regular-text;
|
|
31
31
|
}
|
|
32
32
|
|
|
@@ -47,8 +47,8 @@
|
|
|
47
47
|
.p-navigation__link,
|
|
48
48
|
.p-navigation__logo-title {
|
|
49
49
|
color: $colors--theme--text-muted;
|
|
50
|
-
font-size: #{map-get($
|
|
51
|
-
line-height: map-get($
|
|
50
|
+
font-size: #{map-get($settings-text-small, font-size)}rem;
|
|
51
|
+
line-height: map-get($settings-text-x-small, line-height);
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
.p-navigation__link {
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
// use muted icon to align with text colour
|
|
89
89
|
&::after {
|
|
90
90
|
@include vf-icon-search-muted;
|
|
91
|
-
top: calc($spv--medium + map-get($
|
|
91
|
+
top: calc($spv--medium + map-get($settings-text-x-small, nudge));
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
// search label is always hidden in reduced navigation
|
|
@@ -8,7 +8,7 @@ $navigation-logo-size: 1rem;
|
|
|
8
8
|
$navigation-logo-padding: calc(1.5rem + 0.1rem); // ~25.6px to align better with logos as originally designed in SVG
|
|
9
9
|
$sph-navigation-link: 0.3rem;
|
|
10
10
|
$spv-navigation-logo-bottom-position: 0.25rem; // 4px when 1rem is 16px
|
|
11
|
-
$navigation-height: calc(map-get($
|
|
11
|
+
$navigation-height: calc(map-get($settings-text-p, line-height) + 2 * $spv--large); // navigation bar height based on line height and paddings
|
|
12
12
|
|
|
13
13
|
@mixin vf-p-navigation {
|
|
14
14
|
// placeholders
|
|
@@ -94,7 +94,7 @@ $navigation-height: calc(map-get($line-heights, default-text) + 2 * $spv--large)
|
|
|
94
94
|
|
|
95
95
|
display: block;
|
|
96
96
|
font-weight: $font-weight-regular-text;
|
|
97
|
-
line-height: map-get($
|
|
97
|
+
line-height: map-get($settings-text-default, line-height);
|
|
98
98
|
margin: 0;
|
|
99
99
|
overflow: hidden;
|
|
100
100
|
padding-left: calc(map-get($grid-margin-widths, small) + $navigation-logo-padding); // allow navigation align with tag logo text on small screens
|
|
@@ -576,7 +576,7 @@ $navigation-height: calc(map-get($line-heights, default-text) + 2 * $spv--large)
|
|
|
576
576
|
position: absolute;
|
|
577
577
|
right: calc($sph--large / 2);
|
|
578
578
|
text-indent: calc(100% + 10rem);
|
|
579
|
-
top: calc($spv--large + map-get($
|
|
579
|
+
top: calc($spv--large + map-get($settings-text-x-small, nudge));
|
|
580
580
|
width: map-get($icon-sizes, default);
|
|
581
581
|
}
|
|
582
582
|
}
|
|
@@ -690,7 +690,7 @@ $navigation-height: calc(map-get($line-heights, default-text) + 2 * $spv--large)
|
|
|
690
690
|
@media (min-width: $breakpoint-navigation-threshold) {
|
|
691
691
|
position: absolute;
|
|
692
692
|
// padding applied to .p-navigation__link + line-heigh of the anchor text inside
|
|
693
|
-
top: $spv--large * 2 + map-get($
|
|
693
|
+
top: $spv--large * 2 + map-get($settings-text-default, line-height);
|
|
694
694
|
}
|
|
695
695
|
|
|
696
696
|
@media (width < $breakpoint-navigation-threshold) {
|
|
@@ -728,7 +728,7 @@ $navigation-height: calc(map-get($line-heights, default-text) + 2 * $spv--large)
|
|
|
728
728
|
|
|
729
729
|
@media (min-width: $breakpoint-navigation-threshold) {
|
|
730
730
|
right: calc($sph--large / 2); // position by the center of grid margin
|
|
731
|
-
top: calc($spv--large + map-get($
|
|
731
|
+
top: calc($spv--large + map-get($settings-text-x-small, nudge));
|
|
732
732
|
transform: rotate(0deg);
|
|
733
733
|
}
|
|
734
734
|
}
|