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.
Files changed (35) 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 +3 -3
  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_image.scss +48 -22
  17. package/scss/_patterns_lists.scss +19 -8
  18. package/scss/_patterns_matrix.scss +4 -4
  19. package/scss/_patterns_navigation-reduced.scss +5 -5
  20. package/scss/_patterns_navigation.scss +5 -5
  21. package/scss/_patterns_notifications.scss +2 -2
  22. package/scss/_patterns_search-and-filter.scss +2 -2
  23. package/scss/_patterns_search-box.scss +2 -2
  24. package/scss/_patterns_status-label.scss +1 -1
  25. package/scss/_patterns_table-mobile-card.scss +1 -1
  26. package/scss/_patterns_table-sortable.scss +1 -1
  27. package/scss/_patterns_tabs.scss +1 -1
  28. package/scss/_settings.scss +1 -1
  29. package/scss/_settings_font.scss +11 -1
  30. package/scss/_settings_grid.scss +4 -0
  31. package/scss/_settings_spacing.scss +329 -82
  32. package/scss/_utilities_content-align.scss +2 -2
  33. package/templates/_macros/vf_rich-vertical-list.jinja +5 -5
  34. package/templates/_macros/vf_text-spotlight.jinja +3 -3
  35. package/templates/_macros/vf_tiered-list.jinja +17 -17
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vanilla-framework",
3
- "version": "4.26.0",
3
+ "version": "4.27.0",
4
4
  "author": {
5
5
  "email": "webteam@canonical.com",
6
6
  "name": "Canonical Webteam"
@@ -24,7 +24,7 @@
24
24
  font-size: 1rem;
25
25
  font-weight: $font-weight-regular-text;
26
26
  justify-content: center;
27
- line-height: map-get($line-heights, default-text);
27
+ line-height: map-get($settings-text-default, line-height);
28
28
  margin: 0 $sph--large $input-margin-bottom 0;
29
29
  padding: $input-vertical-padding $sph--large;
30
30
  text-align: center;
@@ -53,10 +53,10 @@
53
53
  }
54
54
 
55
55
  &.is-small {
56
- font-size: #{map-get($font-sizes, small)}rem;
57
- line-height: map-get($line-heights, small);
56
+ font-size: #{map-get($settings-text-small, font-size)}rem;
57
+ line-height: map-get($settings-text-small, line-height);
58
58
  margin-bottom: $input-margin-bottom - $sp-unit;
59
- padding: calc(map-get($nudges, small) - $input-border-thickness) $sph--small;
59
+ padding: calc(map-get($settings-text-small, nudge) - $input-border-thickness) $sph--small;
60
60
  }
61
61
 
62
62
  &.is-small.is-dense {
@@ -27,7 +27,7 @@ $code-inline-padding: 0.25rem;
27
27
  background-color: $colors--theme--background-code;
28
28
  box-decoration-break: slice;
29
29
  color: inherit;
30
- line-height: map-get($line-heights, default-text) - $code-inline-padding;
30
+ line-height: map-get($settings-text-default, line-height) - $code-inline-padding;
31
31
  padding: calc($code-inline-padding - $input-border-thickness) $code-inline-padding;
32
32
  }
33
33
 
@@ -50,7 +50,7 @@ $code-inline-padding: 0.25rem;
50
50
  pre code {
51
51
  background: none;
52
52
  box-shadow: none;
53
- line-height: map-get($line-heights, default-text);
53
+ line-height: map-get($settings-text-default, line-height);
54
54
  margin-left: 0;
55
55
  margin-right: 0;
56
56
  padding: 0;
@@ -77,13 +77,13 @@ $code-inline-padding: 0.25rem;
77
77
  content: '';
78
78
  left: $sph--large;
79
79
  position: absolute;
80
- top: #{$spv--small + 0.5 * (map-get($line-heights, default-text) - map-get($icon-sizes, default))};
80
+ top: #{$spv--small + 0.5 * (map-get($settings-text-default, line-height) - map-get($icon-sizes, default))};
81
81
  width: map-get($icon-sizes, default);
82
82
 
83
83
  @if ($increase-font-size-on-larger-screens) {
84
84
  // stylelint-disable-next-line max-nesting-depth
85
85
  @media (min-width: $breakpoint-x-large) {
86
- top: #{$spv--small + 0.5 * (map-get($line-heights, default-text) * $font-size-ratio--largescreen - map-get($icon-sizes, default))};
86
+ top: #{$spv--small + 0.5 * (map-get($settings-text-default, line-height) * $font-size-ratio--largescreen - map-get($icon-sizes, default))};
87
87
  }
88
88
  }
89
89
  }
@@ -11,7 +11,7 @@
11
11
 
12
12
  margin-bottom: $spv-nudge; //push subsequent text onto baseline
13
13
  max-width: $text-max-width;
14
- padding-bottom: 2 * $sp-unit - map-get($nudges, p); // use padding instead of margin-bottom in order to make the focus state symmetric
14
+ padding-bottom: 2 * $sp-unit - map-get($settings-text-p, nudge); // use padding instead of margin-bottom in order to make the focus state symmetric
15
15
  }
16
16
  // stylelint-enable selector-max-type
17
17
  }
@@ -30,7 +30,7 @@
30
30
  font-family: unquote($font-base-family);
31
31
  font-size: 1rem;
32
32
  font-weight: $font-weight-regular-text;
33
- line-height: map-get($line-heights, default-text);
33
+ line-height: map-get($settings-text-default, line-height);
34
34
  margin-bottom: $input-margin-bottom;
35
35
  min-width: 8em;
36
36
  padding-left: $sph--large;
@@ -103,11 +103,11 @@
103
103
  label {
104
104
  cursor: pointer;
105
105
  display: inline-block;
106
- line-height: map-get($line-heights, default-text);
106
+ line-height: map-get($settings-text-default, line-height);
107
107
  margin-bottom: $spv--large - $spv-nudge;
108
108
  margin-top: 0;
109
109
  max-width: $text-max-width;
110
- padding-top: map-get($nudges, p);
110
+ padding-top: map-get($settings-text-p, nudge);
111
111
  width: fit-content;
112
112
 
113
113
  &.is-required::before {
@@ -186,7 +186,7 @@
186
186
  background-repeat: no-repeat;
187
187
  background-size: map-get($icon-sizes, default);
188
188
  box-shadow: none;
189
- min-height: map-get($line-heights, default-text);
189
+ min-height: map-get($settings-text-default, line-height);
190
190
  padding-right: calc($default-icon-size + 2 * $sph--small);
191
191
  text-indent: 0.01px;
192
192
  text-overflow: '';
@@ -165,55 +165,75 @@
165
165
  }
166
166
 
167
167
  %u-no-margin--bottom--h1 {
168
- margin-bottom: -#{map-get($nudges, h1-mobile)} !important;
168
+ margin-bottom: -#{map-get($settings-text-h1-mobile, nudge)} !important;
169
169
 
170
170
  @media (min-width: $breakpoint-heading-threshold) {
171
- margin-bottom: -#{map-get($nudges, h1)} !important;
171
+ margin-bottom: -#{map-get($settings-text-h1, nudge)} !important;
172
172
  }
173
173
 
174
174
  @if ($increase-font-size-on-larger-screens) {
175
175
  @media (min-width: $breakpoint-x-large) {
176
- margin-bottom: -#{map-get($nudges, h1-large)} !important;
176
+ margin-bottom: -#{map-get($settings-text-h1-large, nudge)} !important;
177
177
  }
178
178
  }
179
179
  }
180
180
 
181
181
  %u-no-margin--bottom--h2 {
182
- margin-bottom: -#{map-get($nudges, h2-mobile)} !important;
182
+ margin-bottom: -#{map-get($settings-text-h2-mobile, nudge)} !important;
183
183
 
184
184
  @media (min-width: $breakpoint-heading-threshold) {
185
- margin-bottom: -#{map-get($nudges, h2)} !important;
185
+ margin-bottom: -#{map-get($settings-text-h2, nudge)} !important;
186
+ }
187
+
188
+ @if ($increase-font-size-on-larger-screens) {
189
+ @media (min-width: $breakpoint-x-large) {
190
+ margin-bottom: -#{map-get($settings-text-h2-large, nudge)} !important;
191
+ }
186
192
  }
187
193
  }
188
194
 
189
195
  %u-no-margin--bottom--h3 {
190
- margin-bottom: #{$sp-unit - map-get($nudges, h3-mobile)} !important;
196
+ margin-bottom: #{$sp-unit - map-get($settings-text-h3-mobile, nudge)} !important;
191
197
 
192
198
  @media (min-width: $breakpoint-heading-threshold) {
193
- margin-bottom: -#{map-get($nudges, h3)} !important;
199
+ margin-bottom: -#{map-get($settings-text-h3, nudge)} !important;
200
+ }
201
+
202
+ @if ($increase-font-size-on-larger-screens) {
203
+ @media (min-width: $breakpoint-x-large) {
204
+ margin-bottom: -#{map-get($settings-text-h3-large, nudge)} !important;
205
+ }
194
206
  }
195
207
  }
196
208
 
197
209
  %u-no-margin--bottom--h4 {
198
- margin-bottom: #{$sp-unit - map-get($nudges, h4-mobile)} !important;
210
+ margin-bottom: #{$sp-unit - map-get($settings-text-h4-mobile, nudge)} !important;
199
211
 
200
212
  @media (min-width: $breakpoint-heading-threshold) {
201
- margin-bottom: -#{map-get($nudges, h4)} !important;
213
+ margin-bottom: -#{map-get($settings-text-h4, nudge)} !important;
202
214
  }
203
215
 
204
216
  @if ($increase-font-size-on-larger-screens) {
205
217
  @media (min-width: $breakpoint-x-large) {
206
- margin-bottom: -#{map-get($nudges, h4-large)} !important;
218
+ margin-bottom: -#{map-get($settings-text-h4-large, nudge)} !important;
207
219
  }
208
220
  }
209
221
  }
210
222
 
223
+ %u-no-margin--bottom--h5 {
224
+ margin-bottom: #{$sp-unit - map-get($settings-text-h5, nudge)} !important;
225
+ }
226
+
227
+ %u-no-margin--bottom--h6 {
228
+ margin-bottom: #{$sp-unit - map-get($settings-text-h6, nudge)} !important;
229
+ }
230
+
211
231
  %u-no-margin--bottom--default-text {
212
- margin-bottom: #{$sp-unit - map-get($nudges, p)} !important;
232
+ margin-bottom: #{$sp-unit - map-get($settings-text-p, nudge)} !important;
213
233
  }
214
234
 
215
235
  %u-no-margin--bottom--small {
216
- margin-bottom: -#{map-get($nudges, small)} !important;
236
+ margin-bottom: -#{map-get($settings-text-small, nudge)} !important;
217
237
  }
218
238
 
219
239
  %u-no-margin--bottom--hr {
@@ -7,7 +7,7 @@
7
7
  border: 0;
8
8
  border-collapse: collapse;
9
9
  caption-side: bottom;
10
- line-height: map-get($line-heights, default-text);
10
+ line-height: map-get($settings-text-default, line-height);
11
11
  margin-bottom: $spv--x-large;
12
12
  overflow-x: auto;
13
13
  width: 100%;
@@ -40,8 +40,8 @@
40
40
  th {
41
41
  @extend %table-header-label;
42
42
 
43
- padding-bottom: $spv--large - map-get($nudges, x-small);
44
- padding-top: map-get($nudges, x-small) + $sp-unit;
43
+ padding-bottom: $spv--large - map-get($settings-text-x-small, nudge);
44
+ padding-top: map-get($settings-text-x-small, nudge) + $sp-unit;
45
45
  }
46
46
 
47
47
  tr {
@@ -1,3 +1,19 @@
1
+ /**
2
+ Whenever an even-numbered heading directly follows its parent heading (e.g., h2 after h1),
3
+ we need to move it up under the parent heading above by the amount of bottom margin + top padding of the parent heading.
4
+ This is the only element of type levels that extend behavior between heading levels, in order to ensure
5
+ placeholder extensions apply the correct margin (h1 and h2 must extend the same placeholder in order for the rule to apply)
6
+ */
7
+ @mixin subsequent-heading-placement($sp-after-mobile, $sp-after-default) {
8
+ &:not(.u-no-margin):not(.u-no-margin--bottom) + & {
9
+ margin-top: calc(-1 * $sp-after-mobile);
10
+
11
+ @media (min-width: $breakpoint-heading-threshold) {
12
+ margin-top: calc(-1 * $sp-after-default);
13
+ }
14
+ }
15
+ }
16
+
1
17
  @mixin vf-b-typography-definitions {
2
18
  %vf-is-accent {
3
19
  &.is-accent {
@@ -11,149 +27,215 @@
11
27
  max-width: $text-max-width;
12
28
  }
13
29
 
30
+ %vf-heading-1-2-heading-subsequent-placement {
31
+ @include subsequent-heading-placement(map-get($settings-text-h1-mobile, sp-after), map-get($settings-text-h1, sp-after));
32
+ }
33
+
14
34
  //@section Heading styling in placeholders
15
35
  %vf-heading-1 {
16
36
  @extend %vf-heading--common;
17
37
  @extend %vf-is-accent;
38
+ @extend %vf-heading-1-2-heading-subsequent-placement;
18
39
 
19
- font-size: #{map-get($font-sizes, h1-mobile)}rem;
20
- font-weight: $font-weight-bold;
21
- line-height: map-get($line-heights, h1-mobile);
22
- margin-bottom: map-get($sp-after, h1-mobile) - map-get($nudges, h1-mobile);
23
- padding-top: map-get($nudges, h1-mobile);
40
+ font-size: #{map-get($settings-text-h1-mobile, font-size)}rem;
41
+ font-weight: $font-weight-h1;
42
+ line-height: map-get($settings-text-h1-mobile, line-height);
43
+ margin-bottom: map-get($settings-text-h1-mobile, sp-after) - map-get($settings-text-h1-mobile, nudge);
44
+ padding-top: map-get($settings-text-h1-mobile, nudge);
24
45
 
25
46
  @media (min-width: $breakpoint-heading-threshold) {
26
- font-size: #{map-get($font-sizes, h1)}rem;
27
- line-height: map-get($line-heights, h1);
28
- margin-bottom: map-get($sp-after, h1) - map-get($nudges, h1);
29
- padding-top: map-get($nudges, h1);
47
+ font-size: #{map-get($settings-text-h1, font-size)}rem;
48
+ line-height: map-get($settings-text-h1, line-height);
49
+ margin-bottom: map-get($settings-text-h1, sp-after) - map-get($settings-text-h1, nudge);
50
+ padding-top: map-get($settings-text-h1, nudge);
30
51
  }
31
52
 
32
53
  &.u-no-margin--bottom {
33
54
  @extend %u-no-margin--bottom--h1;
34
55
  }
35
56
 
36
- &:not(.u-no-margin):not(.u-no-margin--bottom) + & {
37
- // move it up under the heading above by the amount of bottom margin + top padding
38
- margin-top: calc(-1 * map-get($sp-after, h1-mobile));
39
-
40
- @media (min-width: $breakpoint-heading-threshold) {
41
- margin-top: calc(-1 * map-get($sp-after, h1));
57
+ @if ($increase-font-size-on-larger-screens) {
58
+ @media (min-width: $breakpoint-x-large) {
59
+ padding-top: map-get($settings-text-h1, nudge);
42
60
  }
43
61
  }
44
62
  }
45
63
 
46
64
  %vf-heading-2 {
47
65
  @extend %vf-heading--common;
48
- @extend %vf-heading-1;
49
- font-weight: 180; // custom font weight adjusted for h2
66
+ @extend %vf-is-accent;
67
+ @extend %vf-heading-1-2-heading-subsequent-placement;
68
+
69
+ font-size: #{map-get($settings-text-h2-mobile, font-size)}rem;
70
+ font-weight: $font-weight-h2;
71
+ line-height: map-get($settings-text-h2-mobile, line-height);
72
+ margin-bottom: map-get($settings-text-h2-mobile, sp-after) - map-get($settings-text-h2-mobile, nudge);
73
+ padding-top: map-get($settings-text-h2-mobile, nudge);
74
+
75
+ @media (min-width: $breakpoint-heading-threshold) {
76
+ font-size: #{map-get($settings-text-h2, font-size)}rem;
77
+ line-height: map-get($settings-text-h2, line-height);
78
+ margin-bottom: map-get($settings-text-h2, sp-after) - map-get($settings-text-h2, nudge);
79
+ padding-top: map-get($settings-text-h2, nudge);
80
+ }
81
+
82
+ &.u-no-margin--bottom {
83
+ @extend %u-no-margin--bottom--h2;
84
+ }
85
+
86
+ @if ($increase-font-size-on-larger-screens) {
87
+ @media (min-width: $breakpoint-x-large) {
88
+ padding-top: map-get($settings-text-h2, nudge);
89
+ }
90
+ }
50
91
  }
51
92
 
52
93
  %vf-heading-display {
53
94
  @extend %vf-heading--common;
54
95
 
55
- font-size: #{map-get($font-sizes, display-mobile)}rem;
96
+ font-size: #{map-get($settings-text-display-mobile, font-size)}rem;
56
97
  font-weight: $font-weight-display-heading;
57
- line-height: map-get($line-heights, display-mobile);
58
- margin-bottom: map-get($sp-after, display-mobile) - map-get($nudges, display-mobile);
59
- padding-top: map-get($nudges, display-mobile);
98
+ line-height: map-get($settings-text-display-mobile, line-height);
99
+ margin-bottom: map-get($settings-text-display-mobile, sp-after) - map-get($settings-text-display-mobile, nudge);
100
+ padding-top: map-get($settings-text-display-mobile, nudge);
60
101
 
61
102
  @media (min-width: $breakpoint-heading-threshold) {
62
- font-size: #{map-get($font-sizes, display)}rem;
63
- line-height: map-get($line-heights, display);
64
- margin-bottom: map-get($sp-after, display) - map-get($nudges, display);
65
- padding-top: map-get($nudges, display);
103
+ font-size: #{map-get($settings-text-display, font-size)}rem;
104
+ line-height: map-get($settings-text-display, line-height);
105
+ margin-bottom: map-get($settings-text-display, sp-after) - map-get($settings-text-display, nudge);
106
+ padding-top: map-get($settings-text-display, nudge);
66
107
  }
67
108
  }
68
109
 
110
+ %vf-heading-3-4-heading-subsequent-placement {
111
+ @include subsequent-heading-placement(map-get($settings-text-h3-mobile, sp-after), map-get($settings-text-h3, sp-after));
112
+ }
113
+
69
114
  %vf-heading-3 {
70
115
  @extend %vf-heading--common;
71
116
  @extend %vf-is-accent;
117
+ @extend %vf-heading-3-4-heading-subsequent-placement;
72
118
 
73
- font-size: #{map-get($font-sizes, h3-mobile)}rem;
74
- font-weight: $font-weight-bold;
75
- line-height: map-get($line-heights, h3-mobile);
76
- margin-bottom: map-get($sp-after, h3-mobile) - map-get($nudges, h3-mobile);
77
- padding-top: map-get($nudges, h3-mobile);
119
+ font-size: #{map-get($settings-text-h3-mobile, font-size)}rem;
120
+ font-weight: $font-weight-h3;
121
+ line-height: map-get($settings-text-h3-mobile, line-height);
122
+ margin-bottom: map-get($settings-text-h3-mobile, sp-after) - map-get($settings-text-h3-mobile, nudge);
123
+ padding-top: map-get($settings-text-h3-mobile, nudge);
78
124
 
79
125
  @media (min-width: $breakpoint-heading-threshold) {
80
- font-size: #{map-get($font-sizes, h3)}rem;
81
- line-height: map-get($line-heights, h3);
82
- margin-bottom: map-get($sp-after, h3) - map-get($nudges, h3);
83
- padding-top: map-get($nudges, h3);
126
+ font-size: #{map-get($settings-text-h3, font-size)}rem;
127
+ line-height: map-get($settings-text-h3, line-height);
128
+ margin-bottom: map-get($settings-text-h3, sp-after) - map-get($settings-text-h3, nudge);
129
+ padding-top: map-get($settings-text-h3, nudge);
84
130
  }
85
131
 
86
132
  &.u-no-margin--bottom {
87
133
  @extend %u-no-margin--bottom--h3;
88
134
  }
89
135
 
90
- &:not(.u-no-margin):not(.u-no-margin--bottom) + & {
91
- // move it up under the heading above by the amount of bottom margin + top padding
92
- margin-top: calc(-1 * map-get($sp-after, h3-mobile));
93
-
94
- @media (min-width: $breakpoint-heading-threshold) {
95
- margin-top: calc(-1 * map-get($sp-after, h3));
136
+ @if ($increase-font-size-on-larger-screens) {
137
+ @media (min-width: $breakpoint-x-large) {
138
+ padding-top: map-get($settings-text-h3, nudge);
96
139
  }
97
140
  }
98
141
  }
99
142
 
100
143
  %vf-heading-4 {
101
144
  @extend %vf-heading--common;
102
- @extend %vf-heading-3;
103
- font-weight: 275; // custom font weight adjusted for h4
145
+ @extend %vf-is-accent;
146
+ @extend %vf-heading-3-4-heading-subsequent-placement;
147
+
148
+ font-size: #{map-get($settings-text-h4-mobile, font-size)}rem;
149
+ font-weight: $font-weight-h4;
150
+ line-height: map-get($settings-text-h4-mobile, line-height);
151
+ margin-bottom: map-get($settings-text-h4-mobile, sp-after) - map-get($settings-text-h4-mobile, nudge);
152
+ padding-top: map-get($settings-text-h4-mobile, nudge);
153
+
154
+ @media (min-width: $breakpoint-heading-threshold) {
155
+ font-size: #{map-get($settings-text-h4, font-size)}rem;
156
+ line-height: map-get($settings-text-h4, line-height);
157
+ margin-bottom: map-get($settings-text-h4, sp-after) - map-get($settings-text-h4, nudge);
158
+ padding-top: map-get($settings-text-h4, nudge);
159
+ }
160
+
161
+ &.u-no-margin--bottom {
162
+ @extend %u-no-margin--bottom--h4;
163
+ }
164
+
165
+ @if ($increase-font-size-on-larger-screens) {
166
+ @media (min-width: $breakpoint-x-large) {
167
+ padding-top: map-get($settings-text-h4, nudge);
168
+ }
169
+ }
170
+ }
171
+
172
+ %vf-heading-5-6-heading-subsequent-placement {
173
+ @include subsequent-heading-placement(map-get($settings-text-h5-mobile, sp-after), map-get($settings-text-h5, sp-after));
104
174
  }
105
175
 
106
176
  %vf-heading-5 {
107
177
  @extend %vf-heading--common;
178
+ @extend %vf-heading-5-6-heading-subsequent-placement;
108
179
 
109
- font-size: 1rem;
110
- font-weight: $font-weight-bold;
111
- line-height: map-get($line-heights, default-text);
112
- margin-bottom: map-get($sp-after, p) - map-get($nudges, p);
113
- padding-top: map-get($nudges, p);
180
+ font-size: #{map-get($settings-text-h5-mobile, font-size)}rem;
181
+ font-weight: $font-weight-h5;
182
+ line-height: map-get($settings-text-h5-mobile, line-height);
183
+ margin-bottom: map-get($settings-text-h5-mobile, sp-after) - map-get($settings-text-h5-mobile, nudge);
184
+ padding-top: map-get($settings-text-h5-mobile, nudge);
114
185
 
115
186
  &.u-no-margin--bottom {
116
- @extend %u-no-margin--bottom--default-text;
187
+ @extend %u-no-margin--bottom--h5;
117
188
  }
118
189
 
119
- &:not(.u-no-margin):not(.u-no-margin--bottom) + & {
120
- // move it up under the heading above by the amoung of bottom margin + top padding
121
- margin-top: calc(-1 * map-get($sp-after, p));
190
+ @if ($increase-font-size-on-larger-screens) {
191
+ @media (min-width: $breakpoint-x-large) {
192
+ padding-top: map-get($settings-text-h5, nudge);
193
+ }
122
194
  }
123
195
  }
124
196
 
125
197
  %vf-heading-6 {
126
198
  @extend %vf-heading--common;
127
- @extend %vf-heading-5;
199
+ @extend %vf-heading-5-6-heading-subsequent-placement;
128
200
 
201
+ font-size: #{map-get($settings-text-h6-mobile, font-size)}rem;
129
202
  font-style: italic;
130
- font-weight: $font-weight-regular-text;
203
+ font-weight: $font-weight-h6;
204
+ line-height: map-get($settings-text-h6-mobile, line-height);
205
+ margin-bottom: map-get($settings-text-h6-mobile, sp-after) - map-get($settings-text-h6-mobile, nudge);
206
+ padding-top: map-get($settings-text-h6-mobile, nudge);
207
+
208
+ &.u-no-margin--bottom {
209
+ @extend %u-no-margin--bottom--h6;
210
+ }
131
211
 
132
212
  @if ($increase-font-size-on-larger-screens) {
133
213
  @media (min-width: $breakpoint-x-large) {
134
- padding-top: map-get($nudges, h6-large);
214
+ padding-top: map-get($settings-text-h6, nudge);
135
215
  }
136
216
  }
137
217
  }
138
218
 
139
219
  %common-default-text-properties {
140
- line-height: map-get($line-heights, default-text);
220
+ line-height: map-get($settings-text-default, line-height);
141
221
  margin-top: 0;
142
- padding-top: map-get($nudges, p);
222
+ padding-top: map-get($settings-text-default, nudge);
143
223
  }
144
224
 
145
225
  %default-text {
146
226
  @extend %common-default-text-properties;
147
- font-size: 1rem;
227
+ font-size: #{map-get($settings-text-default, font-size)}rem;
148
228
  font-weight: $font-weight-regular-text;
149
229
 
150
- margin-bottom: map-get($sp-after, default-text) - map-get($nudges, p);
230
+ margin-bottom: map-get($settings-text-default, sp-after) - map-get($settings-text-default, nudge);
151
231
  }
152
232
 
153
233
  %paragraph {
154
234
  @extend %common-default-text-properties;
155
-
156
- margin-bottom: map-get($sp-after, p) - map-get($nudges, p);
235
+ font-size: #{map-get($settings-text-p, font-size)}rem;
236
+ line-height: map-get($settings-text-p, line-height);
237
+ margin-bottom: map-get($settings-text-p, sp-after) - map-get($settings-text-p, nudge);
238
+ padding-top: map-get($settings-text-p, nudge);
157
239
 
158
240
  &:not([class*='p-heading--']):not([class*='p-muted-heading']) + & {
159
241
  margin-top: -#{$sp-unit};
@@ -165,14 +247,14 @@
165
247
  }
166
248
 
167
249
  %small-text {
168
- font-size: #{map-get($font-sizes, small)}rem;
169
- line-height: map-get($line-heights, small);
170
- margin-bottom: map-get($sp-after, small) - map-get($nudges, small);
171
- padding-top: map-get($nudges, small);
250
+ font-size: #{map-get($settings-text-small, font-size)}rem;
251
+ line-height: map-get($settings-text-small, line-height);
252
+ margin-bottom: map-get($settings-text-small, sp-after) - map-get($settings-text-small, nudge);
253
+ padding-top: map-get($settings-text-small, nudge);
172
254
 
173
255
  @if ($increase-font-size-on-larger-screens) {
174
256
  @media (min-width: $breakpoint-x-large) {
175
- padding-top: map-get($nudges, small);
257
+ padding-top: map-get($settings-text-small, nudge);
176
258
  }
177
259
  }
178
260
 
@@ -182,15 +264,15 @@
182
264
  }
183
265
 
184
266
  %x-small-text {
185
- font-size: #{map-get($font-sizes, x-small)}rem;
267
+ font-size: #{map-get($settings-text-x-small, font-size)}rem;
186
268
  font-weight: $font-weight-bold;
187
- line-height: map-get($line-heights, x-small);
188
- margin-bottom: map-get($sp-after, x-small) - map-get($nudges, x-small);
189
- padding-top: map-get($nudges, x-small);
269
+ line-height: map-get($settings-text-x-small, line-height);
270
+ margin-bottom: map-get($settings-text-x-small, sp-after) - map-get($settings-text-x-small, nudge);
271
+ padding-top: map-get($settings-text-x-small, nudge);
190
272
 
191
273
  @if ($increase-font-size-on-larger-screens) {
192
274
  @media (min-width: $breakpoint-x-large) {
193
- padding-top: map-get($nudges, x-small);
275
+ padding-top: map-get($settings-text-x-small, nudge);
194
276
  }
195
277
  }
196
278
 
@@ -208,7 +290,7 @@
208
290
  font-variant-caps: all-small-caps;
209
291
  font-variant-numeric: oldstyle-nums;
210
292
  letter-spacing: 0.05em;
211
- margin-bottom: map-get($sp-after, p-small-caps) - map-get($nudges, p);
293
+ margin-bottom: map-get($settings-text-small, sp-after) - map-get($settings-text-p, nudge);
212
294
 
213
295
  &.u-no-margin--bottom {
214
296
  @extend %u-no-margin--bottom--default-text;
@@ -219,7 +301,7 @@
219
301
  // but now it's implemented with default text size not requiring any compensations,
220
302
  // so we need to reset the padding-top to the default value
221
303
  &.u-align-text--x-small-to-default {
222
- padding-top: map-get($nudges, p);
304
+ padding-top: map-get($settings-text-default, nudge);
223
305
  }
224
306
  }
225
307
 
@@ -244,42 +326,46 @@
244
326
  // Placeholder naming: $sp + -- + {preceding element} + {following element}, e.g. for p + h1: $sp--ph1
245
327
 
246
328
  %sp--ph1 {
247
- padding-top: map-get($nudges, h1-mobile) + $spv--x-large;
329
+ padding-top: map-get($settings-text-h1-mobile, nudge) + map-get($settings-text-h1-mobile, sp-before);
248
330
 
249
331
  @media (min-width: $breakpoint-heading-threshold) {
250
- padding-top: map-get($nudges, h1) + $spv--x-large;
332
+ padding-top: map-get($settings-text-h1, nudge) + map-get($settings-text-h1, sp-before);
251
333
  }
252
334
  }
253
335
 
254
336
  %sp--ph2 {
255
- padding-top: map-get($nudges, h2-mobile) + $spv--x-large;
337
+ padding-top: map-get($settings-text-h2-mobile, nudge) + map-get($settings-text-h2-mobile, sp-before);
256
338
 
257
339
  @media (min-width: $breakpoint-heading-threshold) {
258
- padding-top: map-get($nudges, h2) + $spv--x-large;
340
+ padding-top: map-get($settings-text-h2, nudge) + map-get($settings-text-h2, sp-before);
259
341
  }
260
342
  }
261
343
 
262
344
  %sp--ph3 {
263
- padding-top: map-get($nudges, h3-mobile) + $spv--x-large;
345
+ padding-top: map-get($settings-text-h3-mobile, nudge) + map-get($settings-text-h3-mobile, sp-before);
264
346
 
265
347
  @media (min-width: $breakpoint-heading-threshold) {
266
- padding-top: map-get($nudges, h3) + $spv--x-large;
348
+ padding-top: map-get($settings-text-h3, nudge) + map-get($settings-text-h3, sp-before);
267
349
  }
268
350
  }
269
351
 
270
352
  %sp--ph4 {
271
- padding-top: map-get($nudges, h4-mobile) + $spv--x-large;
353
+ padding-top: map-get($settings-text-h4-mobile, nudge) + map-get($settings-text-h4-mobile, sp-before);
272
354
 
273
355
  @media (min-width: $breakpoint-heading-threshold) {
274
- padding-top: map-get($nudges, h4) + $spv--x-large;
356
+ padding-top: map-get($settings-text-h4, nudge) + map-get($settings-text-h4, sp-before);
275
357
  }
276
358
  }
277
359
 
278
360
  %sp--ph5 {
279
- padding-top: map-get($nudges, p) + $spv--x-large;
361
+ padding-top: map-get($settings-text-h5-mobile, nudge) + map-get($settings-text-h5-mobile, sp-before);
362
+
363
+ @media (min-width: $breakpoint-heading-threshold) {
364
+ padding-top: map-get($settings-text-h5, nudge) + map-get($settings-text-h5, sp-before);
365
+ }
280
366
  }
281
367
 
282
368
  %sp--pmuted {
283
- padding-top: map-get($nudges, small) + $spv--x-large;
369
+ padding-top: map-get($settings-text-small, nudge) + map-get($settings-text-small, sp-before);
284
370
  }
285
371
  }
@@ -15,7 +15,7 @@
15
15
  -webkit-font-smoothing: antialiased;
16
16
  font-weight: $font-weight-regular-text;
17
17
  // set default line height to match p
18
- line-height: map-get($line-heights, default-text);
18
+ line-height: map-get($settings-text-default, line-height);
19
19
  text-wrap: pretty;
20
20
 
21
21
  @if ($increase-font-size-on-larger-screens) {
@@ -24,7 +24,7 @@
24
24
  @media (min-width: $breakpoint-x-large) {
25
25
  font-size: map-get($base-font-sizes, large);
26
26
  //the rem value is not affected by the change in font-size; it needs to be multiplied by the ratio new font-size/default font-size
27
- line-height: map-get($line-heights, default-text) * $font-size-ratio--largescreen;
27
+ line-height: map-get($settings-text-default, line-height) * $font-size-ratio--largescreen;
28
28
  }
29
29
  } @else {
30
30
  font-size: map-get($base-font-sizes, base);
@@ -71,7 +71,11 @@
71
71
  @extend %small-text;
72
72
 
73
73
  &.dense {
74
- margin-bottom: map-get($sp-after, small--dense) + map-get($line-heights, default-text) - map-get($line-heights, small) - map-get($nudges, small);
74
+ $dense-text-sp-after: map-get($settings-text-small-dense, sp-after);
75
+ $dense-text-line-height: map-get($settings-text-small-dense, line-height);
76
+ $dense-text-nudge: map-get($settings-text-small-dense, nudge);
77
+
78
+ margin-bottom: $dense-text-sp-after + $dense-text-line-height - $dense-text-nudge;
75
79
  }
76
80
  }
77
81