vanilla-framework 4.26.1 → 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.
Files changed (34) hide show
  1. package/package.json +1 -1
  2. package/scss/_base_button.scss +4 -4
  3. package/scss/_base_code.scss +4 -4
  4. package/scss/_base_details.scss +1 -1
  5. package/scss/_base_forms.scss +4 -4
  6. package/scss/_base_placeholders.scss +32 -12
  7. package/scss/_base_tables.scss +3 -3
  8. package/scss/_base_typography-definitions.scss +168 -82
  9. package/scss/_base_typography.scss +7 -3
  10. package/scss/_layouts_full-width.scss +1 -1
  11. package/scss/_patterns_badge.scss +1 -1
  12. package/scss/_patterns_chip.scss +1 -1
  13. package/scss/_patterns_grid-8.scss +256 -7
  14. package/scss/_patterns_grid.scss +0 -1
  15. package/scss/_patterns_heading-icon.scss +2 -2
  16. package/scss/_patterns_lists.scss +19 -8
  17. package/scss/_patterns_matrix.scss +4 -4
  18. package/scss/_patterns_navigation-reduced.scss +5 -5
  19. package/scss/_patterns_navigation.scss +5 -5
  20. package/scss/_patterns_notifications.scss +2 -2
  21. package/scss/_patterns_search-and-filter.scss +2 -2
  22. package/scss/_patterns_search-box.scss +2 -2
  23. package/scss/_patterns_status-label.scss +1 -1
  24. package/scss/_patterns_table-mobile-card.scss +1 -1
  25. package/scss/_patterns_table-sortable.scss +1 -1
  26. package/scss/_patterns_tabs.scss +1 -1
  27. package/scss/_settings.scss +1 -1
  28. package/scss/_settings_font.scss +11 -1
  29. package/scss/_settings_grid.scss +4 -0
  30. package/scss/_settings_spacing.scss +329 -82
  31. package/scss/_utilities_content-align.scss +2 -2
  32. package/templates/_macros/vf_rich-vertical-list.jinja +5 -5
  33. package/templates/_macros/vf_text-spotlight.jinja +3 -3
  34. 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($line-heights, default-text);
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($line-heights, x-small) - (2 * $spv--x-small);
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;
@@ -25,7 +25,7 @@
25
25
  padding: calc($spv--x-small - $input-border-thickness) $sph--small; // account for border thickness using calc
26
26
  position: relative;
27
27
  user-select: none;
28
- vertical-align: calc($input-border-thickness - map-get($nudges, p));
28
+ vertical-align: calc($input-border-thickness - map-get($settings-text-p, nudge));
29
29
  white-space: nowrap;
30
30
 
31
31
  [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-6-col) {
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-6-col) {
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-6-12-col) {
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-6-12-col) {
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-6-col, $grid-8-columns-small),
148
- (medium, $threshold-4-6-col, $threshold-6-12-col, $grid-8-columns-medium),
149
- (large, $threshold-6-12-col, false, $grid-8-columns)
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
  }
@@ -193,7 +193,6 @@
193
193
  }
194
194
 
195
195
  // Common grid patterns
196
- // TODO implement the common grid patterns for the new 4/4/8 grid (.grid-row--)
197
196
  $col-50-medium: calc($grid-columns-medium / 2);
198
197
 
199
198
  $col-25: calc($grid-columns / 4);
@@ -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($nudges, h3) / 2); // just a quick fix, should be calculated based on line height and icon size
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($nudges, h3);
32
+ margin-top: map-get($settings-text-h3, nudge);
33
33
  width: map-get($icon-sizes, heading-icon--small);
34
34
  }
35
35
  }
@@ -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($line-heights, default-text) + $list-step-bullet-margin);
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($line-heights, default-text);
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($line-heights, default-text);
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($line-heights, default-text);
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($line-heights, default-text);
449
- $bullet-width-mobile: map-get($line-heights, default-text);
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
- $bullet-width: map-get($line-heights, h#{$i});
469
- $bullet-width-mobile: map-get($line-heights, h#{$i}-mobile);
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($nudges, h4) + (map-get($line-heights, h4) - $matrix-img-width) / 2);
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($nudges, h4-large) + (map-get($line-heights, h4) - $matrix-img-width) / 2);
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($nudges, h4)};
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($nudges, h4-large)};
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($line-heights, x-small) + 2 * $spv--small);
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($font-sizes, default)}rem;
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($font-sizes, small)}rem;
51
- line-height: map-get($line-heights, x-small);
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($nudges, x-small));
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($line-heights, default-text) + 2 * $spv--large); // navigation bar height based on line height and paddings
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($line-heights, default-text);
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($nudges, x-small));
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($line-heights, default-text);
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($nudges, x-small));
731
+ top: calc($spv--large + map-get($settings-text-x-small, nudge));
732
732
  transform: rotate(0deg);
733
733
  }
734
734
  }
@@ -58,7 +58,7 @@ $notification-content-icon-space: 2 * $sph--large + map-get($icon-sizes, default
58
58
  // the icon is a background element, so it needs to be manually positioned to match the text next to it;
59
59
  // Step 1: push down by the same amount applied as padding top on text ($spv-nudge)
60
60
  // Step 2: to center the icon within the line-height of text, we subtract icon height from text line-height and multiply by .5; this is the amount we need to push the icon down by
61
- $borderless-notification-icon-vert-offset: $spv-nudge + 0.5 * (map-get($line-heights, default-text) - map-get($icon-sizes, default));
61
+ $borderless-notification-icon-vert-offset: $spv-nudge + 0.5 * (map-get($settings-text-default, line-height) - map-get($icon-sizes, default));
62
62
  // Step 3: Add the notification padding-top (if it exists); we have two cases, so at this point we create a second var that contains the first one + the notification padding-top
63
63
  $notification-icon-vert-offset: $spv--small + $borderless-notification-icon-vert-offset;
64
64
 
@@ -133,7 +133,7 @@ $notification-text-margin-bottom: $spv--large - $spv-nudge;
133
133
  .p-notification__title {
134
134
  font-size: 1rem;
135
135
  font-weight: $font-weight-bold;
136
- line-height: map-get($line-heights, default-text);
136
+ line-height: map-get($settings-text-default, line-height);
137
137
  margin: 0;
138
138
  padding: 0;
139
139
  }
@@ -19,7 +19,7 @@
19
19
  // When the search and filter is not expanded, but is overflowing with chips, we need to
20
20
  // specify a height that matches that of a standard input element. This height is a combination
21
21
  // of an input's line-height, its vertical padding, and the (top transparent) border.
22
- $input-height: calc(map-get($line-heights, default-text) + $input-vertical-padding + $input-vertical-padding + $input-border-thickness);
22
+ $input-height: calc(map-get($settings-text-default, line-height) + $input-vertical-padding + $input-vertical-padding + $input-border-thickness);
23
23
 
24
24
  .p-search-and-filter {
25
25
  border-bottom: $input-border-thickness solid $colors--theme--border-high-contrast;
@@ -103,7 +103,7 @@
103
103
 
104
104
  border: none;
105
105
  bottom: $focus-outline-offset;
106
- line-height: map-get($line-heights, small);
106
+ line-height: map-get($settings-text-small, line-height);
107
107
  margin: 0;
108
108
  position: absolute;
109
109
  right: $focus-outline-offset;
@@ -1,7 +1,7 @@
1
1
  @mixin vf-p-search-box {
2
2
  %search-box-button {
3
3
  display: block;
4
- height: calc((2 * $spv-nudge + map-get($line-heights, default-text)) - (2 * $bar-thickness)); // side padding + icon width - focus outline width * 2
4
+ height: calc((2 * $spv-nudge + map-get($settings-text-default, line-height)) - (2 * $bar-thickness)); // side padding + icon width - focus outline width * 2
5
5
  margin: $bar-thickness 0;
6
6
  position: relative;
7
7
 
@@ -37,7 +37,7 @@
37
37
  .p-search-box__input {
38
38
  flex: 1 1 100%;
39
39
  margin-bottom: 0;
40
- padding-right: calc(2 * (2 * $spv-nudge + map-get($line-heights, default-text)));
40
+ padding-right: calc(2 * (2 * $spv-nudge + map-get($settings-text-default, line-height)));
41
41
  position: absolute;
42
42
  right: 0;
43
43
 
@@ -19,7 +19,7 @@
19
19
 
20
20
  display: inline-block;
21
21
  font-weight: $font-weight-bold;
22
- padding: map-get($nudges, x-small) $sph--small;
22
+ padding: map-get($settings-text-x-small, nudge) $sph--small;
23
23
  text-align: center;
24
24
  text-decoration: none;
25
25
  white-space: nowrap;
@@ -56,7 +56,7 @@
56
56
  &[data-heading]::before {
57
57
  content: attr(data-heading);
58
58
  display: block;
59
- margin-bottom: map-get($sp-after, x-small) - map-get($nudges, x-small) - $sp-unit;
59
+ margin-bottom: map-get($settings-text-x-small, sp-after) - map-get($settings-text-x-small, nudge) - $sp-unit;
60
60
  overflow: hidden;
61
61
  padding-left: 0;
62
62
  padding-right: 0;
@@ -15,7 +15,7 @@
15
15
  display: inline-block;
16
16
  margin-left: $sp-x-small;
17
17
  // table heading text is smaller than the icon, so we need to compensate with negative top margin
18
- margin-top: calc(#{map-get($font-sizes, x-small)}rem - $default-icon-size);
18
+ margin-top: calc(#{map-get($settings-text-x-small, font-size)}rem - $default-icon-size);
19
19
  vertical-align: calc($vertical-offset + 0.5 * $cap-height - 0.5 * $default-icon-size);
20
20
  }
21
21
 
@@ -45,7 +45,7 @@
45
45
  display: flex;
46
46
  gap: $sph--small;
47
47
  height: 100%;
48
- line-height: map-get($line-heights, default-text);
48
+ line-height: map-get($settings-text-default, line-height);
49
49
  margin-bottom: 0;
50
50
  padding: $spv--medium $sph--large;
51
51
  position: relative;
@@ -7,12 +7,12 @@
7
7
  @import 'global_functions';
8
8
 
9
9
  // Settings
10
+ @import 'settings_font';
10
11
  @import 'settings_spacing';
11
12
  @import 'settings_animations';
12
13
  @import 'settings_assets';
13
14
  @import 'settings_breakpoints';
14
15
  @import 'settings_colors';
15
- @import 'settings_font';
16
16
  @import 'settings_grid';
17
17
  @import 'settings_placeholders';
18
18
  @import 'settings_tables';
@@ -11,10 +11,20 @@ $base-font-sizes: (
11
11
  base: 1rem,
12
12
  large: $font-size-largescreen,
13
13
  ) !default;
14
- $font-weight-display-heading: 100 !default;
14
+
15
+ // TODO removeme? This variable is not used in Vanilla - worth seeing if it's used downstream.
15
16
  $font-weight-thin: 300 !default;
16
17
  $font-weight-regular-text: 400 !default;
17
18
  $font-weight-bold: 550 !default;
19
+ $font-weight-display-heading: 100 !default;
20
+
21
+ // Heading levels - allow overriding of weights for headings
22
+ $font-weight-h1: $font-weight-bold !default;
23
+ $font-weight-h2: 180 !default;
24
+ $font-weight-h3: $font-weight-bold !default;
25
+ $font-weight-h4: 275 !default;
26
+ $font-weight-h5: $font-weight-bold !default;
27
+ $font-weight-h6: $font-weight-regular-text !default;
18
28
 
19
29
  // Ubuntu Font metrics
20
30
  $baseline-position: 0.932em !default; // HHead Ascent from the font file's metrics. Viewable in Fontforge Font Information>OS/2