@bonniernews/dn-design-system-web 3.0.0-alpha.5 → 3.0.0-alpha.7

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/CHANGELOG.md +17 -0
  2. package/assets/article-image/article-image.scss +1 -1
  3. package/assets/form-field/form-field.scss +4 -4
  4. package/components/article-body-image/article-body-image.scss +1 -1
  5. package/components/article-top-image/article-top-image.scss +1 -1
  6. package/components/badge/badge.scss +2 -2
  7. package/components/blocked-content/blocked-content.scss +4 -4
  8. package/components/buddy-menu/buddy-menu.scss +11 -11
  9. package/components/button/button.scss +21 -19
  10. package/components/button-toggle/button-toggle.scss +21 -21
  11. package/components/byline/byline.scss +6 -6
  12. package/components/checkbox/checkbox.scss +9 -9
  13. package/components/disclaimer/disclaimer.scss +3 -3
  14. package/components/divider/divider.scss +1 -1
  15. package/components/factbox/factbox.scss +8 -7
  16. package/components/footer/footer.scss +11 -11
  17. package/components/icon-button/icon-button.scss +3 -3
  18. package/components/icon-button-toggle/icon-button-toggle.scss +3 -3
  19. package/components/list-item/list-item.scss +9 -9
  20. package/components/quote/quote.scss +2 -2
  21. package/components/radio-button/radio-button.scss +9 -9
  22. package/components/switch/switch.scss +2 -2
  23. package/components/text-button/text-button.scss +6 -6
  24. package/components/text-button-toggle/text-button-toggle.scss +3 -3
  25. package/components/text-input/text-input.scss +19 -19
  26. package/components/thematic-break/thematic-break.scss +1 -1
  27. package/components/video-caption/video-caption.scss +1 -1
  28. package/foundations/helpers/README-spacing.md +48 -10
  29. package/foundations/helpers/spacing.scss +3 -1
  30. package/foundations/variables/spacingComponentList.scss +10 -0
  31. package/foundations/variables/spacingLayoutList.scss +8 -0
  32. package/foundations/variables/typographyTokensScreenLarge.scss +2 -2
  33. package/package.json +1 -1
  34. package/tokens/spacing-component-list.json +12 -0
  35. package/tokens/spacing-layout-list.json +10 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,23 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 3.0.0-alpha.7 (2023-03-10)
7
+
8
+ **Note:** Version bump only for package @bonniernews/dn-design-system-web
9
+
10
+
11
+
12
+
13
+
14
+ ## [3.0.0-alpha.6](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@3.0.0-alpha.5...@bonniernews/dn-design-system-web@3.0.0-alpha.6) (2023-03-08)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * **web:** add sass variables for spacing and refactor helper ([#719](https://github.com/BonnierNews/dn-design-system/issues/719)) ([e65417c](https://github.com/BonnierNews/dn-design-system/commit/e65417cbcbe54d6d388e7b7f8b88e33ec7598588))
20
+
21
+
22
+
6
23
  ## [3.0.0-alpha.5](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@3.0.0-alpha.4...@bonniernews/dn-design-system-web@3.0.0-alpha.5) (2023-03-08)
7
24
 
8
25
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  > figcaption {
7
7
  @include ds-typography($ds-typography-functional-body01regular);
8
- margin-top: ds-spacing-component(x2);
8
+ margin-top: ds-spacing-component($ds-sc-x2);
9
9
  color: $ds-color-text-primary;
10
10
 
11
11
  @at-root .ds-force-px#{&} {
@@ -8,7 +8,7 @@
8
8
  $ds-form-field__error-icon-size: 20px;
9
9
 
10
10
  .ds-form-field__help-text {
11
- margin-top: ds-spacing-component(x2);
11
+ margin-top: ds-spacing-component($ds-sc-x2);
12
12
  margin-bottom: 0;
13
13
  color: $ds-color-text-primary-02;
14
14
  @include ds-typography($ds-typography-functional-body01regular);
@@ -22,9 +22,9 @@ $ds-form-field__error-icon-size: 20px;
22
22
  .invalid {
23
23
  .ds-form-field__error-message {
24
24
  display: flex;
25
- margin-top: ds-spacing-component(x2);
25
+ margin-top: ds-spacing-component($ds-sc-x2);
26
26
  .ds-icon {
27
- margin: 0 ds-px-to-rem(ds-spacing-component(x2)) 0 0;
27
+ margin: 0 ds-px-to-rem(ds-spacing-component($ds-sc-x2)) 0 0;
28
28
  height: ds-px-to-rem($ds-form-field__error-icon-size);
29
29
  width: ds-px-to-rem($ds-form-field__error-icon-size);
30
30
  line-height: 0;
@@ -48,7 +48,7 @@ $ds-form-field__error-icon-size: 20px;
48
48
  .invalid {
49
49
  .ds-form-field__error-message {
50
50
  .ds-icon {
51
- margin: 0 ds-spacing-component(x2) 0 0;
51
+ margin: 0 ds-spacing-component($ds-sc-x2) 0 0;
52
52
  height: $ds-form-field__error-icon-size;
53
53
  width: $ds-form-field__error-icon-size;
54
54
  }
@@ -3,6 +3,6 @@
3
3
 
4
4
  .ds-article-image--body {
5
5
  @include ds-spacing-layout(
6
- gap-vertical-static-medium 0 gap-vertical-static-large
6
+ $ds-sl-gap-vertical-static-medium 0 $ds-sl-gap-vertical-static-large
7
7
  );
8
8
  }
@@ -2,5 +2,5 @@
2
2
  @use "../../assets/article-image/article-image.scss" as *;
3
3
 
4
4
  .ds-article-image--top {
5
- @include ds-spacing-layout(gap-vertical-static-large, px, padding-bottom);
5
+ @include ds-spacing-layout($ds-sl-gap-vertical-static-large, padding-bottom);
6
6
  }
@@ -21,12 +21,12 @@ $ds-badge__min-size: 8px;
21
21
  justify-content: center;
22
22
  min-height: ds-px-to-rem($ds-badge__min-size);
23
23
  min-width: ds-px-to-rem($ds-badge__min-size);
24
- padding: 0 ds-px-to-rem(ds-spacing-component(x1));
24
+ padding: 0 ds-px-to-rem(ds-spacing-component($ds-sc-x1));
25
25
  @at-root .ds-force-px#{&} {
26
26
  @include ds-typography($ds-typography-functional-meta02semibold, true);
27
27
  min-height: $ds-badge__min-size;
28
28
  min-width: $ds-badge__min-size;
29
- padding: 0 ds-spacing-component(x1);
29
+ padding: 0 ds-spacing-component($ds-sc-x1);
30
30
  }
31
31
  }
32
32
 
@@ -5,18 +5,18 @@
5
5
  background-color: $ds-color-surface-background;
6
6
  margin: 0;
7
7
  @include ds-spacing-layout(
8
- gap-vertical-static-medium 0 gap-vertical-static-large
8
+ $ds-sl-gap-vertical-static-medium 0 $ds-sl-gap-vertical-static-large
9
9
  );
10
10
 
11
11
  .ds-blocked-content__inner {
12
12
  text-align: center;
13
13
  border: ds-metrics-border-width(x1) solid $ds-color-border-primary;
14
14
  border-radius: ds-metrics-border-radius(x1);
15
- padding: ds-spacing-component(x8 x4 x4);
15
+ padding: ds-spacing-component($ds-sc-x8 $ds-sc-x4 $ds-sc-x4);
16
16
  }
17
17
 
18
18
  .ds-blocked-content__body {
19
- margin: ds-spacing-component(0 0 x8);
19
+ margin: ds-spacing-component(0 0 $ds-sc-x8);
20
20
  @include ds-typography($ds-typography-functional-body02regular);
21
21
  color: $ds-color-text-primary;
22
22
  @at-root .ds-force-px#{&} {
@@ -26,7 +26,7 @@
26
26
  .ds-blocked-content__title {
27
27
  @include ds-typography($ds-typography-functional-heading01semibold);
28
28
  color: $ds-color-text-primary;
29
- margin: 0 0 ds-spacing-component(x2);
29
+ margin: 0 0 ds-spacing-component($ds-sc-x2);
30
30
  @at-root .ds-force-px#{&} {
31
31
  @include ds-typography($ds-typography-functional-heading01semibold, true);
32
32
  }
@@ -47,18 +47,18 @@
47
47
  position: relative;
48
48
  }
49
49
  .ds-buddy-menu__header {
50
- padding: ds-spacing-component(x8 x4 x4);
51
- margin: ds-spacing-component(0 0 x4);
50
+ padding: ds-spacing-component($ds-sc-x8 $ds-sc-x4 $ds-sc-x4);
51
+ margin: ds-spacing-component(0 0 $ds-sc-x4);
52
52
  }
53
53
  .ds-buddy-menu__close {
54
54
  position: absolute;
55
- right: ds-spacing-component(x1);
56
- top: ds-spacing-component(x1);
55
+ right: ds-spacing-component($ds-sc-x1);
56
+ top: ds-spacing-component($ds-sc-x1);
57
57
  }
58
58
  .ds-buddy-menu__greeting {
59
59
  @include ds-typography($ds-typography-functional-heading03bold);
60
60
  color: $ds-color-text-primary;
61
- margin: ds-spacing-component(0 0 x4);
61
+ margin: ds-spacing-component(0 0 $ds-sc-x4);
62
62
  display: block;
63
63
  }
64
64
  .ds-buddy-menu__account-title,
@@ -66,26 +66,26 @@
66
66
  .ds-buddy-menu__links-title {
67
67
  @include ds-typography($ds-typography-functional-body02semibold);
68
68
  color: $ds-color-text-primary;
69
- margin: ds-spacing-component(0 0 x1);
69
+ margin: ds-spacing-component(0 0 $ds-sc-x1);
70
70
  }
71
71
  .ds-buddy-menu__links-title {
72
- padding: ds-spacing-component(0 x4);
72
+ padding: ds-spacing-component(0 $ds-sc-x4);
73
73
  }
74
74
  .ds-buddy-menu__addons-list {
75
75
  padding: 0;
76
- margin: ds-spacing-component(0 0 x4);
76
+ margin: ds-spacing-component(0 0 $ds-sc-x4);
77
77
  list-style: none;
78
78
  a {
79
79
  @include ds-link($ds-link-list);
80
80
  @include ds-typography($ds-typography-functional-body02regular);
81
81
  color: $ds-color-text-primary-02;
82
- margin: ds-spacing-component(0 0 x4);
82
+ margin: ds-spacing-component(0 0 $ds-sc-x4);
83
83
  }
84
84
  }
85
85
  .ds-buddy-menu__account-level {
86
86
  @include ds-typography($ds-typography-functional-body02regular);
87
87
  color: $ds-color-text-primary-02;
88
- margin: ds-spacing-component(0 0 x4);
88
+ margin: ds-spacing-component(0 0 $ds-sc-x4);
89
89
  display: block;
90
90
  }
91
91
  .ds-buddy-menu__links-list {
@@ -114,7 +114,7 @@
114
114
  }
115
115
 
116
116
  .ds-buddy-menu__campaign {
117
- margin: 0 -#{ds-spacing-component(x4)};
117
+ margin: 0 -#{ds-spacing-component($ds-sc-x4)};
118
118
  }
119
119
 
120
120
  &.ds-buddy-menu--skola {
@@ -41,7 +41,7 @@ $ds-btn__icon-size: 24px;
41
41
  border: $ds-btn-outlined__border-width solid;
42
42
  border-radius: ds-metrics-border-radius(x1);
43
43
  /* stylelint-disable-next-line */
44
- padding: ds-spacing-component(x3, rem) - ds-px-to-rem($ds-btn-outlined__border-width) ds-spacing-component(x6, rem) - ds-px-to-rem($ds-btn-outlined__border-width);
44
+ padding: ds-spacing-component($ds-sc-x3, rem) - ds-px-to-rem($ds-btn-outlined__border-width) ds-spacing-component($ds-sc-x6, rem) - ds-px-to-rem($ds-btn-outlined__border-width);
45
45
  position: relative;
46
46
  &::before {
47
47
  content: "";
@@ -80,9 +80,11 @@ $ds-btn__icon-size: 24px;
80
80
 
81
81
  .ds-btn--small .ds-btn__inner {
82
82
  padding: ds-px-to-rem(
83
- ds-spacing-component(x2) - $ds-btn-outlined__border-width
83
+ ds-spacing-component($ds-sc-x2) - $ds-btn-outlined__border-width
84
84
  )
85
- ds-px-to-rem(ds-spacing-component(x5) - $ds-btn-outlined__border-width);
85
+ ds-px-to-rem(
86
+ ds-spacing-component($ds-sc-x5) - $ds-btn-outlined__border-width
87
+ );
86
88
  }
87
89
 
88
90
  @include ds-mq-only-breakpoint(mobile) {
@@ -103,7 +105,7 @@ $ds-btn__icon-size: 24px;
103
105
  display: flex;
104
106
  height: ds-px-to-rem($ds-btn__icon-size);
105
107
  width: ds-px-to-rem($ds-btn__icon-size);
106
- margin: ds-spacing-component(0 0 0 x2, rem);
108
+ margin: ds-spacing-component(0 0 0 $ds-sc-x2, rem);
107
109
  svg {
108
110
  fill: currentColor;
109
111
  }
@@ -113,12 +115,12 @@ $ds-btn__icon-size: 24px;
113
115
  .ds-btn--icon-right {
114
116
  .ds-btn__inner {
115
117
  padding-right: ds-px-to-rem(
116
- ds-spacing-component(x5) - $ds-btn-outlined__border-width
118
+ ds-spacing-component($ds-sc-x5) - $ds-btn-outlined__border-width
117
119
  );
118
120
  }
119
121
  &.ds-btn--small .ds-btn__inner {
120
122
  padding-right: ds-px-to-rem(
121
- ds-spacing-component(x4) - $ds-btn-outlined__border-width
123
+ ds-spacing-component($ds-sc-x4) - $ds-btn-outlined__border-width
122
124
  );
123
125
  }
124
126
  }
@@ -127,15 +129,15 @@ $ds-btn__icon-size: 24px;
127
129
  .ds-btn__inner {
128
130
  flex-direction: row-reverse;
129
131
  padding-left: ds-px-to-rem(
130
- ds-spacing-component(x5) - $ds-btn-outlined__border-width
132
+ ds-spacing-component($ds-sc-x5) - $ds-btn-outlined__border-width
131
133
  );
132
134
  .ds-icon {
133
- margin: ds-spacing-component(0 x2 0 0, rem);
135
+ margin: ds-spacing-component(0 $ds-sc-x2 0 0, rem);
134
136
  }
135
137
  }
136
138
  &.ds-btn--small .ds-btn__inner {
137
139
  padding-left: ds-px-to-rem(
138
- ds-spacing-component(x4) - $ds-btn-outlined__border-width
140
+ ds-spacing-component($ds-sc-x4) - $ds-btn-outlined__border-width
139
141
  );
140
142
  }
141
143
  }
@@ -289,37 +291,37 @@ $ds-btn__icon-size: 24px;
289
291
 
290
292
  .ds-btn.ds-force-px {
291
293
  .ds-btn__inner {
292
- padding: ds-spacing-component(x3) - $ds-btn-outlined__border-width
293
- ds-spacing-component(x6) - $ds-btn-outlined__border-width;
294
+ padding: ds-spacing-component($ds-sc-x3) - $ds-btn-outlined__border-width
295
+ ds-spacing-component($ds-sc-x6) - $ds-btn-outlined__border-width;
294
296
  @include ds-typography($ds-typography-detailstandard-button, true);
295
297
  }
296
298
  &.ds-btn--icon-left .ds-btn__inner,
297
299
  &.ds-btn--icon-right .ds-btn__inner {
298
300
  .ds-icon {
299
- margin: ds-spacing-component(0 0 0 x2);
301
+ margin: ds-spacing-component(0 0 0 $ds-sc-x2);
300
302
  height: $ds-btn__icon-size;
301
303
  width: $ds-btn__icon-size;
302
304
  }
303
305
  }
304
306
  &.ds-btn--icon-right .ds-btn__inner {
305
- padding-right: ds-spacing-component(x5)-$ds-btn-outlined__border-width;
307
+ padding-right: ds-spacing-component($ds-sc-x5)-$ds-btn-outlined__border-width;
306
308
  }
307
309
  &.ds-btn--icon-left .ds-btn__inner {
308
- padding-left: ds-spacing-component(x5)-$ds-btn-outlined__border-width;
310
+ padding-left: ds-spacing-component($ds-sc-x5)-$ds-btn-outlined__border-width;
309
311
  .ds-icon {
310
- margin: ds-spacing-component(0 x2 0 0);
312
+ margin: ds-spacing-component(0 $ds-sc-x2 0 0);
311
313
  }
312
314
  }
313
315
  &.ds-btn--small {
314
316
  .ds-btn__inner {
315
- padding: ds-spacing-component(x2)-$ds-btn-outlined__border-width
316
- ds-spacing-component(x5)-$ds-btn-outlined__border-width;
317
+ padding: ds-spacing-component($ds-sc-x2)-$ds-btn-outlined__border-width
318
+ ds-spacing-component($ds-sc-x5)-$ds-btn-outlined__border-width;
317
319
  }
318
320
  &.ds-btn--icon-right .ds-btn__inner {
319
- padding-right: ds-spacing-component(x4)-$ds-btn-outlined__border-width;
321
+ padding-right: ds-spacing-component($ds-sc-x4)-$ds-btn-outlined__border-width;
320
322
  }
321
323
  &.ds-btn--icon-left .ds-btn__inner {
322
- padding-left: ds-spacing-component(x4)-$ds-btn-outlined__border-width;
324
+ padding-left: ds-spacing-component($ds-sc-x4)-$ds-btn-outlined__border-width;
323
325
  }
324
326
  }
325
327
  }
@@ -44,7 +44,7 @@ $ds-btn-toggle__icon-size-xsmall: 20px;
44
44
  border: $ds-btn-toggle-outlined__border-width solid;
45
45
  border-radius: 100px;
46
46
  /* stylelint-disable-next-line */
47
- padding: ds-spacing-component(x3, rem) - ds-px-to-rem($ds-btn-toggle-outlined__border-width) ds-spacing-component(x6, rem) - ds-px-to-rem($ds-btn-toggle-outlined__border-width);
47
+ padding: ds-spacing-component($ds-sc-x3, rem) - ds-px-to-rem($ds-btn-toggle-outlined__border-width) ds-spacing-component($ds-sc-x6, rem) - ds-px-to-rem($ds-btn-toggle-outlined__border-width);
48
48
  position: relative;
49
49
  &::before {
50
50
  content: "";
@@ -86,20 +86,20 @@ $ds-btn-toggle__icon-size-xsmall: 20px;
86
86
 
87
87
  .ds-btn-toggle--small .ds-btn-toggle__inner {
88
88
  padding: ds-px-to-rem(
89
- ds-spacing-component(x2) - $ds-btn-toggle-outlined__border-width
89
+ ds-spacing-component($ds-sc-x2) - $ds-btn-toggle-outlined__border-width
90
90
  )
91
91
  ds-px-to-rem(
92
- ds-spacing-component(x5) - $ds-btn-toggle-outlined__border-width
92
+ ds-spacing-component($ds-sc-x5) - $ds-btn-toggle-outlined__border-width
93
93
  );
94
94
  }
95
95
 
96
96
  .ds-btn-toggle--xsmall .ds-btn-toggle__inner {
97
97
  @include ds-typography($ds-typography-detailstandard-button-small);
98
98
  padding: ds-px-to-rem(
99
- ds-spacing-component(x1) - $ds-btn-toggle-outlined__border-width
99
+ ds-spacing-component($ds-sc-x1) - $ds-btn-toggle-outlined__border-width
100
100
  )
101
101
  ds-px-to-rem(
102
- ds-spacing-component(x3) - $ds-btn-toggle-outlined__border-width
102
+ ds-spacing-component($ds-sc-x3) - $ds-btn-toggle-outlined__border-width
103
103
  );
104
104
  }
105
105
 
@@ -164,7 +164,7 @@ $ds-btn-toggle__icon-size-xsmall: 20px;
164
164
  border-color: $ds-color-border-primary-03;
165
165
  color: $ds-color-text-primary;
166
166
  padding-left: ds-px-to-rem(
167
- ds-spacing-component(x5) - $ds-btn-toggle-outlined__border-width
167
+ ds-spacing-component($ds-sc-x5) - $ds-btn-toggle-outlined__border-width
168
168
  );
169
169
 
170
170
  .ds-btn-toggle__on {
@@ -178,7 +178,7 @@ $ds-btn-toggle__icon-size-xsmall: 20px;
178
178
  display: flex;
179
179
  height: ds-px-to-rem($ds-btn-toggle__icon-size);
180
180
  width: ds-px-to-rem($ds-btn-toggle__icon-size);
181
- margin: ds-spacing-component(0 x2 0 0, rem);
181
+ margin: ds-spacing-component(0 $ds-sc-x2 0 0, rem);
182
182
  svg {
183
183
  fill: currentColor;
184
184
  }
@@ -187,18 +187,18 @@ $ds-btn-toggle__icon-size-xsmall: 20px;
187
187
 
188
188
  &.ds-btn-toggle--small .ds-btn-toggle__inner {
189
189
  padding-left: ds-px-to-rem(
190
- ds-spacing-component(x4) - $ds-btn-toggle-outlined__border-width
190
+ ds-spacing-component($ds-sc-x4) - $ds-btn-toggle-outlined__border-width
191
191
  );
192
192
  }
193
193
 
194
194
  &.ds-btn-toggle--xsmall .ds-btn-toggle__inner {
195
195
  padding-left: ds-px-to-rem(
196
- ds-spacing-component(x2) - $ds-btn-toggle-outlined__border-width
196
+ ds-spacing-component($ds-sc-x2) - $ds-btn-toggle-outlined__border-width
197
197
  );
198
198
  .ds-icon {
199
199
  height: ds-px-to-rem($ds-btn-toggle__icon-size-xsmall);
200
200
  width: ds-px-to-rem($ds-btn-toggle__icon-size-xsmall);
201
- margin: ds-spacing-component(0 x1 0 0, rem);
201
+ margin: ds-spacing-component(0 $ds-sc-x1 0 0, rem);
202
202
  }
203
203
  }
204
204
 
@@ -219,40 +219,40 @@ $ds-btn-toggle__icon-size-xsmall: 20px;
219
219
 
220
220
  .ds-btn-toggle.ds-force-px {
221
221
  .ds-btn-toggle__inner {
222
- padding: ds-spacing-component(x3) - $ds-btn-toggle-outlined__border-width
223
- ds-spacing-component(x6) - $ds-btn-toggle-outlined__border-width;
222
+ /* stylelint-disable-next-line */
223
+ padding: ds-spacing-component($ds-sc-x3) - $ds-btn-toggle-outlined__border-width ds-spacing-component($ds-sc-x6) - $ds-btn-toggle-outlined__border-width;
224
224
  @include ds-typography($ds-typography-detailstandard-button, true);
225
225
  }
226
226
  &.ds-btn-toggle--selected .ds-btn-toggle__inner {
227
- padding-left: ds-spacing-component(x5)-$ds-btn-toggle-outlined__border-width;
227
+ padding-left: ds-spacing-component($ds-sc-x5)-$ds-btn-toggle-outlined__border-width;
228
228
  .ds-icon {
229
- margin: ds-spacing-component(0 x2 0 0);
229
+ margin: ds-spacing-component(0 $ds-sc-x2 0 0);
230
230
  height: $ds-btn-toggle__icon-size;
231
231
  width: $ds-btn-toggle__icon-size;
232
232
  }
233
233
  }
234
234
  &.ds-btn-toggle--small {
235
235
  .ds-btn-toggle__inner {
236
- padding: ds-spacing-component(x2)-$ds-btn-toggle-outlined__border-width
237
- ds-spacing-component(x5)-$ds-btn-toggle-outlined__border-width;
236
+ padding: ds-spacing-component($ds-sc-x2)-$ds-btn-toggle-outlined__border-width
237
+ ds-spacing-component($ds-sc-x5)-$ds-btn-toggle-outlined__border-width;
238
238
  }
239
239
  &.ds-btn-toggle--selected .ds-btn-toggle__inner {
240
- padding-left: ds-spacing-component(x4)-$ds-btn-toggle-outlined__border-width;
240
+ padding-left: ds-spacing-component($ds-sc-x4)-$ds-btn-toggle-outlined__border-width;
241
241
  }
242
242
  }
243
243
  &.ds-btn-toggle--xsmall {
244
244
  .ds-btn-toggle__inner {
245
245
  @include ds-typography($ds-typography-detailstandard-button-small, true);
246
- padding: ds-spacing-component(x1)-$ds-btn-toggle-outlined__border-width
247
- ds-spacing-component(x3)-$ds-btn-toggle-outlined__border-width;
246
+ padding: ds-spacing-component($ds-sc-x1)-$ds-btn-toggle-outlined__border-width
247
+ ds-spacing-component($ds-sc-x3)-$ds-btn-toggle-outlined__border-width;
248
248
  .ds-icon {
249
- margin: ds-spacing-component(0 x1 0 0);
249
+ margin: ds-spacing-component(0 $ds-sc-x1 0 0);
250
250
  height: $ds-btn-toggle__icon-size-xsmall;
251
251
  width: $ds-btn-toggle__icon-size-xsmall;
252
252
  }
253
253
  }
254
254
  &.ds-btn-toggle--selected .ds-btn-toggle__inner {
255
- padding-left: ds-spacing-component(x2)-$ds-btn-toggle-outlined__border-width;
255
+ padding-left: ds-spacing-component($ds-sc-x2)-$ds-btn-toggle-outlined__border-width;
256
256
  }
257
257
  }
258
258
  }
@@ -23,10 +23,10 @@ $ds-byline__image-size: 44px;
23
23
  &::after {
24
24
  content: "";
25
25
  height: ds-metrics-border-width(x1);
26
- width: calc(100% - (ds-spacing-component(outer) * 2));
26
+ width: calc(100% - (ds-spacing-component($ds-sc-outer) * 2));
27
27
  background-color: $ds-color-border-primary;
28
28
  position: absolute;
29
- left: ds-spacing-component(x4);
29
+ left: ds-spacing-component($ds-sc-x4);
30
30
  bottom: 0;
31
31
  }
32
32
 
@@ -39,7 +39,7 @@ $ds-byline__image-size: 44px;
39
39
  align-items: center;
40
40
  justify-content: space-between;
41
41
  position: relative;
42
- padding: ds-spacing-component(x4 outer);
42
+ padding: ds-spacing-component($ds-sc-x4 $ds-sc-outer);
43
43
  width: 100%;
44
44
 
45
45
  &::before {
@@ -88,7 +88,7 @@ $ds-byline__image-size: 44px;
88
88
  width: $ds-byline__image-size;
89
89
  border-radius: 50%;
90
90
  overflow: hidden;
91
- margin-right: ds-spacing-component(x4);
91
+ margin-right: ds-spacing-component($ds-sc-x4);
92
92
  background-color: $ds-color-component-primary-overlay;
93
93
  flex-shrink: 0;
94
94
  }
@@ -125,13 +125,13 @@ $ds-byline__image-size: 44px;
125
125
  .ds-byline__icon-right {
126
126
  color: $ds-color-icon-primary;
127
127
  display: inline-flex;
128
- margin-left: ds-spacing-component(x4);
128
+ margin-left: ds-spacing-component($ds-sc-x4);
129
129
  }
130
130
 
131
131
  .ds-byline__btn-toggle {
132
132
  min-height: 44px;
133
133
  min-width: 48px;
134
- margin-left: ds-spacing-component(x4);
134
+ margin-left: ds-spacing-component($ds-sc-x4);
135
135
  }
136
136
 
137
137
  @include ds-hover() {
@@ -20,7 +20,7 @@ $ds-checkbox__icon-size: 24px;
20
20
  justify-content: center;
21
21
  color: $ds-color-text-primary;
22
22
  position: relative;
23
- padding: ds-spacing-component(x3);
23
+ padding: ds-spacing-component($ds-sc-x3);
24
24
  &::before {
25
25
  content: "";
26
26
  position: absolute;
@@ -31,11 +31,11 @@ $ds-checkbox__icon-size: 24px;
31
31
  bottom: 0;
32
32
  }
33
33
  .ds-checkbox__text {
34
- margin: ds-spacing-component(0 0 0 x2, rem);
34
+ margin: ds-spacing-component(0 0 0 $ds-sc-x2, rem);
35
35
  @include ds-typography($ds-typography-functional-body02regular);
36
36
  @at-root .ds-force-px#{&} {
37
37
  @include ds-typography($ds-typography-functional-body02regular, true);
38
- margin: ds-spacing-component(0 0 0 x2);
38
+ margin: ds-spacing-component(0 0 0 $ds-sc-x2);
39
39
  }
40
40
  }
41
41
  .ds-checkbox__icon {
@@ -99,13 +99,13 @@ $ds-checkbox__icon-size: 24px;
99
99
  }
100
100
 
101
101
  .ds-form-field__error-message {
102
- margin-top: ds-spacing-component(x1);
103
- padding: 0 ds-spacing-component(x3) ds-spacing-component(x3);
102
+ margin-top: ds-spacing-component($ds-sc-x1);
103
+ padding: 0 ds-spacing-component($ds-sc-x3) ds-spacing-component($ds-sc-x3);
104
104
 
105
105
  .ds-icon {
106
- margin: 0 ds-spacing-component(x2, rem) 0 ds-spacing-component(x8, rem);
106
+ margin: 0 ds-spacing-component($ds-sc-x2 0 $ds-sc-x8, rem);
107
107
  @at-root .ds-force-px#{&} {
108
- margin: ds-spacing-component(0 x2 0 x8);
108
+ margin: ds-spacing-component(0 $ds-sc-x2 0 $ds-sc-x8);
109
109
  }
110
110
  }
111
111
  }
@@ -114,11 +114,11 @@ $ds-checkbox__icon-size: 24px;
114
114
 
115
115
  .ds-checkbox--condensed {
116
116
  .ds-checkbox__inner {
117
- padding: ds-spacing-component(x1);
117
+ padding: ds-spacing-component($ds-sc-x1);
118
118
  }
119
119
  &.ds-form-field__error .ds-form-field__error-message,
120
120
  .invalid .ds-form-field__error-message {
121
- padding: 0 ds-spacing-component(x1) ds-spacing-component(x1);
121
+ padding: 0 ds-spacing-component($ds-sc-x1) ds-spacing-component($ds-sc-x1);
122
122
  }
123
123
  }
124
124
 
@@ -5,8 +5,8 @@ $ds-disclaimer__icon-size: 20px;
5
5
  $ds-btn-outlined__border-width: ds-metrics-border-width(x1);
6
6
 
7
7
  .ds-disclaimer {
8
- padding: ds-spacing-component(x3 x4);
9
- margin-bottom: ds-spacing-component(x4);
8
+ padding: ds-spacing-component($ds-sc-x3 $ds-sc-x4);
9
+ margin-bottom: ds-spacing-component($ds-sc-x4);
10
10
  background-color: $ds-color-surface-raised;
11
11
  box-sizing: border-box;
12
12
 
@@ -16,7 +16,7 @@ $ds-btn-outlined__border-width: ds-metrics-border-width(x1);
16
16
  }
17
17
 
18
18
  .ds-disclaimer__icon-wrapper {
19
- margin-right: ds-spacing-component(x2);
19
+ margin-right: ds-spacing-component($ds-sc-x2);
20
20
  }
21
21
 
22
22
  .ds-disclaimer__body-html {
@@ -2,7 +2,7 @@
2
2
 
3
3
  .ds-divider {
4
4
  margin: 0;
5
- @include ds-spacing-layout(gap-vertical-static-medium 0);
5
+ @include ds-spacing-layout($ds-sl-gap-vertical-static-medium 0);
6
6
 
7
7
  hr {
8
8
  margin: 0 auto;
@@ -3,7 +3,8 @@
3
3
 
4
4
  $ds-factbox__grade-size: 40px + (ds-metrics-border-width(x2) * 2);
5
5
  $ds-factbox__show-more-fade-height: 48px;
6
- $ds-factbox__padding: ds-spacing-component(x4);
6
+ $ds-factbox__padding: ds-spacing-component($ds-sc-x4);
7
+ /* stylelint-disable-next-line */
7
8
  $ds-factbox__padding-left: $ds-factbox__padding - ds-metrics-border-width(x2);
8
9
  $ds-factbox__max-height: 500px; // includes top/bottom spacing
9
10
 
@@ -12,7 +13,7 @@ $ds-factbox__max-height: 500px; // includes top/bottom spacing
12
13
  box-sizing: border-box;
13
14
  margin: 0;
14
15
  @include ds-spacing-layout(
15
- gap-vertical-static-medium 0 gap-vertical-static-large
16
+ $ds-sl-gap-vertical-static-medium 0 $ds-sl-gap-vertical-static-large
16
17
  );
17
18
 
18
19
  .ds-factbox__inner {
@@ -43,7 +44,7 @@ $ds-factbox__max-height: 500px; // includes top/bottom spacing
43
44
  @include ds-typography($ds-typography-functional-body02regular, true);
44
45
  }
45
46
  p {
46
- margin: 0 0 ds-spacing-component(x4);
47
+ margin: 0 0 ds-spacing-component($ds-sc-x4);
47
48
  }
48
49
  p:last-child {
49
50
  margin-bottom: 0;
@@ -64,18 +65,18 @@ $ds-factbox__max-height: 500px; // includes top/bottom spacing
64
65
  .ds-factbox__title {
65
66
  @include ds-typography($ds-typography-functional-heading01bold);
66
67
  color: $ds-color-text-primary;
67
- margin: 0 0 ds-spacing-component(x4);
68
+ margin: 0 0 ds-spacing-component($ds-sc-x4);
68
69
  @at-root .ds-force-px#{&} {
69
70
  @include ds-typography($ds-typography-functional-heading01bold, true);
70
71
  }
71
72
  }
72
73
  .ds-factbox__vignette {
73
74
  color: $ds-color-component-brand;
74
- margin-right: ds-spacing-component(x1);
75
+ margin-right: ds-spacing-component($ds-sc-x1);
75
76
  }
76
77
  .ds-factbox__grade {
77
78
  color: $ds-color-icon-primary;
78
- margin: 0 0 ds-spacing-component(x4);
79
+ margin: 0 0 ds-spacing-component($ds-sc-x4);
79
80
 
80
81
  .ds-icon {
81
82
  display: block;
@@ -111,7 +112,7 @@ $ds-factbox__max-height: 500px; // includes top/bottom spacing
111
112
  .ds-factbox__show-more--collapsable {
112
113
  background-color: $ds-color-surface-background;
113
114
  button {
114
- margin: ds-spacing-component(x4 0 0);
115
+ margin: ds-spacing-component($ds-sc-x4 0 0);
115
116
  }
116
117
  &,
117
118
  &:not([data-factbox-expanded]) .ds-factbox__expand-more,
@@ -6,23 +6,23 @@
6
6
  @use "../../foundations/helpers/colors.scss" as *;
7
7
  @use "../../foundations/helpers/links.scss" as *;
8
8
 
9
- $ds-footer-row-gap-spacing-token: x8;
10
- $ds-footer-row-padding-spacing-token: x4;
11
- $ds-footer-column-gap: ds-spacing-component(x8) * 2; // @todo change to token when available
9
+ $ds-footer-row-gap-spacing-token: $ds-sc-x8;
10
+ $ds-footer-row-padding-spacing-token: $ds-sc-x4;
11
+ $ds-footer-column-gap: ds-spacing-component($ds-sc-x8) * 2; // @todo change to token when available
12
12
 
13
13
  .ds-footer {
14
14
  background-color: $ds-color-static-black;
15
15
 
16
16
  &__inner {
17
17
  color: $ds-color-static-white;
18
- padding: ds-spacing-component(x8 x4);
18
+ padding: ds-spacing-component($ds-sc-x8 $ds-sc-x4);
19
19
  display: grid;
20
20
  margin: 0 auto;
21
21
  }
22
22
 
23
23
  @include ds-mq-smallest-breakpoint(tablet) {
24
24
  &__inner {
25
- padding: ds-spacing-component(x5) * 4; // @todo change to token when available
25
+ padding: ds-spacing-component($ds-sc-x5) * 4; // @todo change to token when available
26
26
  }
27
27
  }
28
28
 
@@ -83,7 +83,7 @@ $ds-footer-column-gap: ds-spacing-component(x8) * 2; // @todo change to token wh
83
83
 
84
84
  img {
85
85
  min-width: 64px;
86
- margin: ds-spacing-component(0 x4 0 0);
86
+ margin: ds-spacing-component(0 $ds-sc-x4 0 0);
87
87
  }
88
88
  }
89
89
 
@@ -95,7 +95,7 @@ $ds-footer-column-gap: ds-spacing-component(x8) * 2; // @todo change to token wh
95
95
 
96
96
  @include ds-mq-smallest-breakpoint(tablet) {
97
97
  grid-template-columns: repeat(3, auto);
98
- grid-column-gap: ds-spacing-component(x4);
98
+ grid-column-gap: ds-spacing-component($ds-sc-x4);
99
99
  }
100
100
 
101
101
  @include ds-mq-smallest-breakpoint(desktop) {
@@ -105,7 +105,7 @@ $ds-footer-column-gap: ds-spacing-component(x8) * 2; // @todo change to token wh
105
105
 
106
106
  h2 {
107
107
  @include ds-typography($ds-typography-functional-body02bold);
108
- margin: ds-spacing-component(0 0 x4);
108
+ margin: ds-spacing-component(0 0 $ds-sc-x4);
109
109
  }
110
110
 
111
111
  ul {
@@ -115,7 +115,7 @@ $ds-footer-column-gap: ds-spacing-component(x8) * 2; // @todo change to token wh
115
115
  padding: 0;
116
116
 
117
117
  li:not(:last-of-type) {
118
- margin: 0 0 ds-spacing-component(x2);
118
+ margin: 0 0 ds-spacing-component($ds-sc-x2);
119
119
  }
120
120
 
121
121
  a {
@@ -134,11 +134,11 @@ $ds-footer-column-gap: ds-spacing-component(x8) * 2; // @todo change to token wh
134
134
 
135
135
  a {
136
136
  @include ds-link();
137
- margin: ds-spacing-component(x4 x4 0 0);
137
+ margin: ds-spacing-component($ds-sc-x4 $ds-sc-x4 0 0);
138
138
  display: inline-block;
139
139
 
140
140
  @include ds-mq-smallest-breakpoint(tablet) {
141
- margin: ds-spacing-component(x4 x6 0 0);
141
+ margin: ds-spacing-component($ds-sc-x4 $ds-sc-x6 0 0);
142
142
  }
143
143
 
144
144
  &:last-of-type {
@@ -29,7 +29,7 @@ $ds-btn-outlined__border-width: ds-metrics-border-width(x1);
29
29
  align-items: center;
30
30
  justify-content: center;
31
31
  position: relative;
32
- padding: ds-spacing-component(x2)-$ds-btn-outlined__border-width;
32
+ padding: ds-spacing-component($ds-sc-x2)-$ds-btn-outlined__border-width;
33
33
 
34
34
  &::before {
35
35
  content: "";
@@ -67,11 +67,11 @@ $ds-btn-outlined__border-width: ds-metrics-border-width(x1);
67
67
  }
68
68
 
69
69
  &.ds-icon-btn--small .ds-icon-btn__inner {
70
- padding: ds-spacing-component(x1)-$ds-btn-outlined__border-width;
70
+ padding: ds-spacing-component($ds-sc-x1)-$ds-btn-outlined__border-width;
71
71
  }
72
72
 
73
73
  &.ds-icon-btn--large .ds-icon-btn__inner {
74
- padding: ds-spacing-component(x3)-$ds-btn-outlined__border-width;
74
+ padding: ds-spacing-component($ds-sc-x3)-$ds-btn-outlined__border-width;
75
75
  }
76
76
 
77
77
  &:focus-visible {
@@ -29,7 +29,7 @@ $ds-btn-toggle-outlined__border-width: ds-metrics-border-width(x1);
29
29
  align-items: center;
30
30
  justify-content: center;
31
31
  position: relative;
32
- padding: ds-spacing-component(x2)-$ds-btn-toggle-outlined__border-width;
32
+ padding: ds-spacing-component($ds-sc-x2)-$ds-btn-toggle-outlined__border-width;
33
33
 
34
34
  .ds-icon-btn-toggle__on {
35
35
  display: none;
@@ -71,11 +71,11 @@ $ds-btn-toggle-outlined__border-width: ds-metrics-border-width(x1);
71
71
  }
72
72
 
73
73
  &.ds-icon-btn-toggle--small .ds-icon-btn-toggle__inner {
74
- padding: ds-spacing-component(x1)-$ds-btn-toggle-outlined__border-width;
74
+ padding: ds-spacing-component($ds-sc-x1)-$ds-btn-toggle-outlined__border-width;
75
75
  }
76
76
 
77
77
  &.ds-icon-btn-toggle--large .ds-icon-btn-toggle__inner {
78
- padding: ds-spacing-component(x3)-$ds-btn-toggle-outlined__border-width;
78
+ padding: ds-spacing-component($ds-sc-x3)-$ds-btn-toggle-outlined__border-width;
79
79
  }
80
80
 
81
81
  &:focus-visible {
@@ -33,7 +33,7 @@ $ds-list-item__icon-size: 24px;
33
33
  align-items: center;
34
34
  justify-content: space-between;
35
35
  position: relative;
36
- padding: ds-spacing-component(x4 outer);
36
+ padding: ds-spacing-component($ds-sc-x4 $ds-sc-outer);
37
37
  width: 100%;
38
38
 
39
39
  &::before {
@@ -99,17 +99,17 @@ $ds-list-item__icon-size: 24px;
99
99
  @include ds-typography($ds-typography-functional-body01regular, true);
100
100
  }
101
101
  color: $ds-color-text-primary-02;
102
- margin-left: ds-spacing-component(x4);
102
+ margin-left: ds-spacing-component($ds-sc-x4);
103
103
  }
104
104
 
105
105
  .ds-list-item__icon-left {
106
106
  display: inline-flex;
107
- margin-right: ds-spacing-component(x4);
107
+ margin-right: ds-spacing-component($ds-sc-x4);
108
108
  }
109
109
 
110
110
  .ds-list-item__icon-right {
111
111
  display: inline-flex;
112
- margin-left: ds-spacing-component(x4);
112
+ margin-left: ds-spacing-component($ds-sc-x4);
113
113
  }
114
114
 
115
115
  @include ds-hover() {
@@ -143,10 +143,10 @@ $ds-list-item__icon-size: 24px;
143
143
  &.ds-list-item--accordion-active + .ds-list-item__accordion-inner::after {
144
144
  content: "";
145
145
  height: ds-metrics-border-width(x1);
146
- width: calc(100% - (ds-spacing-component(x4) * 2));
146
+ width: calc(100% - (ds-spacing-component($ds-sc-x4) * 2));
147
147
  background-color: $ds-color-border-primary;
148
148
  position: absolute;
149
- left: ds-spacing-component(x4);
149
+ left: ds-spacing-component($ds-sc-x4);
150
150
  bottom: 0;
151
151
  }
152
152
 
@@ -240,13 +240,13 @@ $ds-list-item__icon-size: 24px;
240
240
  cursor: default;
241
241
  .ds-list-item__inner {
242
242
  display: flex;
243
- padding: 0 0 0 ds-spacing-component(outer);
243
+ padding: 0 0 0 ds-spacing-component($ds-sc-outer);
244
244
  }
245
245
  .ds-list-item__titles {
246
- padding: ds-spacing-component(x4) 0;
246
+ padding: ds-spacing-component($ds-sc-x4) 0;
247
247
  }
248
248
  .ds-btn-toggle {
249
- margin: 0 ds-spacing-component(outer) 0 ds-spacing-component(x4);
249
+ margin: ds-spacing-component(0 $ds-sc-outer 0 $ds-sc-x4);
250
250
  }
251
251
  a {
252
252
  @include ds-link($ds-link-list);
@@ -5,7 +5,7 @@
5
5
  color: $ds-color-text-primary;
6
6
  margin: 0;
7
7
  @include ds-spacing-layout(
8
- gap-vertical-static-medium 0 gap-vertical-static-large
8
+ $ds-sl-gap-vertical-static-medium 0 $ds-sl-gap-vertical-static-large
9
9
  );
10
10
  position: relative;
11
11
 
@@ -19,7 +19,7 @@
19
19
  height: 8px;
20
20
  color: $ds-color-component-brand;
21
21
  background: currentColor;
22
- margin: ds-spacing-component(0 0 x2);
22
+ margin: ds-spacing-component(0 0 $ds-sc-x2);
23
23
  }
24
24
 
25
25
  &--culture .ds-quote__border {
@@ -21,7 +21,7 @@ $ds-radio-btn__icon-size: 24px;
21
21
  justify-content: center;
22
22
  color: $ds-color-text-primary;
23
23
  position: relative;
24
- padding: ds-spacing-component(x3);
24
+ padding: ds-spacing-component($ds-sc-x3);
25
25
  &::before {
26
26
  content: "";
27
27
  position: absolute;
@@ -32,11 +32,11 @@ $ds-radio-btn__icon-size: 24px;
32
32
  bottom: 0;
33
33
  }
34
34
  .ds-radio-btn__text {
35
- margin: ds-spacing-component(0 0 0 x2, rem);
35
+ margin: ds-spacing-component(0 0 0 $ds-sc-x2, rem);
36
36
  @include ds-typography($ds-typography-functional-body02regular);
37
37
  @at-root .ds-force-px#{&} {
38
38
  @include ds-typography($ds-typography-functional-body02regular, true);
39
- margin: ds-spacing-component(0 0 0 x2);
39
+ margin: ds-spacing-component(0 0 0 $ds-sc-x2);
40
40
  }
41
41
  }
42
42
  .ds-radio-btn__icon {
@@ -100,13 +100,13 @@ $ds-radio-btn__icon-size: 24px;
100
100
  }
101
101
 
102
102
  .ds-form-field__error-message {
103
- margin-top: ds-spacing-component(x1);
104
- padding: 0 ds-spacing-component(x3) ds-spacing-component(x3);
103
+ margin-top: ds-spacing-component($ds-sc-x1);
104
+ padding: 0 ds-spacing-component($ds-sc-x3) ds-spacing-component($ds-sc-x3);
105
105
 
106
106
  .ds-icon {
107
- margin: 0 ds-spacing-component(x2, rem) 0 ds-spacing-component(x8, rem);
107
+ margin: 0 ds-spacing-component($ds-sc-x2 0 $ds-sc-x8, rem);
108
108
  @at-root .ds-force-px#{&} {
109
- margin: ds-spacing-component(0 x2 0 x8);
109
+ margin: ds-spacing-component(0 $ds-sc-x2 0 $ds-sc-x8);
110
110
  }
111
111
  }
112
112
  }
@@ -115,11 +115,11 @@ $ds-radio-btn__icon-size: 24px;
115
115
 
116
116
  .ds-radio-btn--condensed {
117
117
  .ds-radio-btn__inner {
118
- padding: ds-spacing-component(x1);
118
+ padding: ds-spacing-component($ds-sc-x1);
119
119
  }
120
120
  &.ds-form-field__error .ds-form-field__error-message,
121
121
  .invalid .ds-form-field__error-message {
122
- padding: 0 ds-spacing-component(x1) ds-spacing-component(x1);
122
+ padding: 0 ds-spacing-component($ds-sc-x1) ds-spacing-component($ds-sc-x1);
123
123
  }
124
124
  }
125
125
 
@@ -12,13 +12,13 @@ $ds-switch__container-width: 44px;
12
12
  align-items: flex-start;
13
13
 
14
14
  .ds-switch__inner {
15
- padding: ds-spacing-component(x3 0);
15
+ padding: ds-spacing-component($ds-sc-x3 0);
16
16
  cursor: pointer;
17
17
  display: inline-flex;
18
18
  align-items: center;
19
19
  justify-content: center;
20
20
  .ds-switch__meta {
21
- margin: ds-spacing-component(0 x2 0 0);
21
+ margin: ds-spacing-component(0 $ds-sc-x2 0 0);
22
22
  color: $ds-color-text-primary-02;
23
23
  @include ds-typography($ds-typography-functional-body01regular);
24
24
  @at-root .ds-force-px#{&} {
@@ -54,7 +54,7 @@ $ds-text-btn__icon-size: 24px;
54
54
  .ds-text-btn__inner {
55
55
  background-color: transparent;
56
56
  border-radius: ds-metrics-border-radius(x1);
57
- padding: ds-spacing-component(x3);
57
+ padding: ds-spacing-component($ds-sc-x3);
58
58
  position: relative;
59
59
  &::before {
60
60
  content: "";
@@ -108,7 +108,7 @@ $ds-text-btn__icon-size: 24px;
108
108
  display: flex;
109
109
  height: ds-px-to-rem($ds-text-btn__icon-size);
110
110
  width: ds-px-to-rem($ds-text-btn__icon-size);
111
- margin: ds-spacing-component(0 0 0 x2);
111
+ margin: ds-spacing-component(0 0 0 $ds-sc-x2);
112
112
  color: $ds-color-icon-primary;
113
113
  svg {
114
114
  fill: currentColor;
@@ -129,19 +129,19 @@ $ds-text-btn__icon-size: 24px;
129
129
  }
130
130
 
131
131
  .ds-text-btn--icon-left .ds-text-btn__inner {
132
- padding: ds-spacing-component(x3 x3 x3 x2);
132
+ padding: ds-spacing-component($ds-sc-x3 $ds-sc-x3 $ds-sc-x3 $ds-sc-x2);
133
133
  flex-direction: row-reverse;
134
134
  .ds-icon {
135
- margin: ds-spacing-component(0 x2 0 0);
135
+ margin: ds-spacing-component(0 $ds-sc-x2 0 0);
136
136
  }
137
137
  }
138
138
 
139
139
  .ds-text-btn--icon-right .ds-text-btn__inner {
140
- padding: ds-spacing-component(x3 x2 x3 x3);
140
+ padding: ds-spacing-component($ds-sc-x3 $ds-sc-x2 $ds-sc-x3 $ds-sc-x3);
141
141
  }
142
142
 
143
143
  .ds-text-btn--condensed .ds-text-btn__inner {
144
- padding: ds-spacing-component(x1);
144
+ padding: ds-spacing-component($ds-sc-x1);
145
145
  }
146
146
 
147
147
  @include ds-mq-only-breakpoint(mobile) {
@@ -57,7 +57,7 @@ $ds-text-btn-toggle__icon-size: 24px;
57
57
  justify-content: center;
58
58
  background-color: transparent;
59
59
  border-radius: ds-metrics-border-radius(x1);
60
- padding: ds-spacing-component(x3 x3 x3 x2);
60
+ padding: ds-spacing-component($ds-sc-x3 $ds-sc-x3 $ds-sc-x3 $ds-sc-x2);
61
61
  position: relative;
62
62
  &::before {
63
63
  content: "";
@@ -74,7 +74,7 @@ $ds-text-btn-toggle__icon-size: 24px;
74
74
  display: flex;
75
75
  height: ds-px-to-rem($ds-text-btn-toggle__icon-size);
76
76
  width: ds-px-to-rem($ds-text-btn-toggle__icon-size);
77
- margin: ds-spacing-component(0 x2 0 0);
77
+ margin: ds-spacing-component(0 $ds-sc-x2 0 0);
78
78
  color: $ds-color-icon-primary;
79
79
  svg {
80
80
  fill: currentColor;
@@ -128,5 +128,5 @@ $ds-text-btn-toggle__icon-size: 24px;
128
128
  }
129
129
 
130
130
  .ds-text-btn-toggle--condensed .ds-text-btn-toggle__inner {
131
- padding: ds-spacing-component(x1);
131
+ padding: ds-spacing-component($ds-sc-x1);
132
132
  }
@@ -9,7 +9,7 @@
9
9
 
10
10
  $ds-text-input-toggle-btn__width: 32px;
11
11
  $ds-text-input-toggle-btn__area: (
12
- $ds-text-input-toggle-btn__width + ds-spacing-component(x2)
12
+ $ds-text-input-toggle-btn__width + ds-spacing-component($ds-sc-x2)
13
13
  );
14
14
 
15
15
  .ds-form-field__error {
@@ -19,7 +19,7 @@ $ds-text-input-toggle-btn__area: (
19
19
  }
20
20
 
21
21
  .ds-text-input {
22
- padding-top: ds-px-to-rem(ds-spacing-component(x2));
22
+ padding-top: ds-px-to-rem(ds-spacing-component($ds-sc-x2));
23
23
  position: relative;
24
24
  color: $ds-color-text-primary;
25
25
  }
@@ -30,8 +30,8 @@ $ds-text-input-toggle-btn__area: (
30
30
  color: $ds-color-text-primary;
31
31
  background-color: $ds-color-component-secondary;
32
32
  @include ds-typography($ds-typography-functional-body02regular);
33
- padding: ds-px-to-rem(ds-spacing-component(x4) - ds-metrics-border-width(x1))
34
- ds-spacing-component(x4) - ds-metrics-border-width(x1);
33
+ /* stylelint-disable-next-line */
34
+ padding: ds-px-to-rem(ds-spacing-component($ds-sc-x4) - ds-metrics-border-width(x1)) ds-spacing-component($ds-sc-x4) - ds-metrics-border-width(x1);
35
35
  border: solid ds-metrics-border-width(x1) $ds-color-border-primary-02;
36
36
  border-radius: ds-metrics-border-radius(x1);
37
37
  margin: 0;
@@ -59,9 +59,9 @@ $ds-text-input-toggle-btn__area: (
59
59
 
60
60
  &:focus {
61
61
  padding: ds-px-to-rem(
62
- ds-spacing-component(x4) - ds-metrics-border-width(x2)
62
+ ds-spacing-component($ds-sc-x4) - ds-metrics-border-width(x2)
63
63
  )
64
- ds-spacing-component(x4) - ds-metrics-border-width(x2);
64
+ ds-spacing-component($ds-sc-x4) - ds-metrics-border-width(x2);
65
65
  border-color: $ds-color-border-primary-03;
66
66
  border-width: ds-metrics-border-width(x2);
67
67
 
@@ -87,18 +87,18 @@ $ds-text-input-toggle-btn__area: (
87
87
 
88
88
  .ds-text-input__label {
89
89
  position: absolute;
90
- top: ds-px-to-rem(ds-spacing-component(x6));
91
- left: ds-spacing-component(x4);
90
+ top: ds-px-to-rem(ds-spacing-component($ds-sc-x6));
91
+ left: ds-spacing-component($ds-sc-x4);
92
92
  z-index: 1;
93
93
  transition: font-size 0.1s ease-in, top 0.1s ease-in;
94
94
  @include ds-typography($ds-typography-functional-body02regular);
95
95
  &::before {
96
96
  content: "";
97
- width: calc(100% + ds-spacing-component(x2));
98
- left: -#{ds-spacing-component(x1)};
97
+ width: calc(100% + ds-spacing-component($ds-sc-x2));
98
+ left: -#{ds-spacing-component($ds-sc-x1)};
99
99
  height: ds-metrics-border-width(x1);
100
100
  position: absolute;
101
- top: ds-px-to-rem(ds-spacing-component(x2));
101
+ top: ds-px-to-rem(ds-spacing-component($ds-sc-x2));
102
102
  z-index: -1;
103
103
  background-color: transparent; // for animation
104
104
  transition: background-color 0.2s ease-in-out;
@@ -107,8 +107,8 @@ $ds-text-input-toggle-btn__area: (
107
107
 
108
108
  .ds-icon-btn.ds-text-input__password-toggle {
109
109
  position: absolute;
110
- top: ds-px-to-rem(ds-spacing-component(x5));
111
- right: ds-spacing-component(x1);
110
+ top: ds-px-to-rem(ds-spacing-component($ds-sc-x5));
111
+ right: ds-spacing-component($ds-sc-x1);
112
112
  z-index: 1;
113
113
  min-width: 0;
114
114
  min-height: 0;
@@ -116,12 +116,12 @@ $ds-text-input-toggle-btn__area: (
116
116
 
117
117
  .ds-force-px {
118
118
  &.ds-text-input {
119
- padding-top: ds-spacing-component(x2);
119
+ padding-top: ds-spacing-component($ds-sc-x2);
120
120
  }
121
121
 
122
122
  .ds-text-input__input {
123
123
  @include ds-typography($ds-typography-functional-body02regular, true);
124
- padding: ds-spacing-component(x4) - ds-metrics-border-width(x1);
124
+ padding: ds-spacing-component($ds-sc-x4) - ds-metrics-border-width(x1);
125
125
 
126
126
  &.password-toggle {
127
127
  padding-right: $ds-text-input-toggle-btn__area;
@@ -140,19 +140,19 @@ $ds-text-input-toggle-btn__area: (
140
140
  }
141
141
 
142
142
  &:focus {
143
- padding: ds-spacing-component(x4) - ds-metrics-border-width(x2);
143
+ padding: ds-spacing-component($ds-sc-x4) - ds-metrics-border-width(x2);
144
144
  }
145
145
  }
146
146
 
147
147
  .ds-text-input__label {
148
148
  @include ds-typography($ds-typography-functional-body02regular, true);
149
- top: ds-spacing-component(x6);
149
+ top: ds-spacing-component($ds-sc-x6);
150
150
  &::before {
151
- top: ds-spacing-component(x2);
151
+ top: ds-spacing-component($ds-sc-x2);
152
152
  }
153
153
  }
154
154
 
155
155
  .ds-text-input__password-toggle {
156
- top: ds-spacing-component(x5);
156
+ top: ds-spacing-component($ds-sc-x5);
157
157
  }
158
158
  }
@@ -3,7 +3,7 @@
3
3
  .ds-thematic-break {
4
4
  margin: 0;
5
5
  @include ds-spacing-layout(
6
- gap-vertical-static-medium 0 gap-vertical-static-large
6
+ $ds-sl-gap-vertical-static-medium 0 $ds-sl-gap-vertical-static-large
7
7
  );
8
8
 
9
9
  hr {
@@ -6,7 +6,7 @@
6
6
 
7
7
  .ds-video-caption__duration {
8
8
  @include ds-typography($ds-typography-functional-body01bold);
9
- margin-right: ds-spacing-component(x1);
9
+ margin-right: ds-spacing-component($ds-sc-x1);
10
10
  }
11
11
 
12
12
  @at-root .ds-force-px#{&} {
@@ -5,6 +5,21 @@
5
5
 
6
6
  # Spacing
7
7
 
8
+ ## use sass variable
9
+ To avoid silent breaking changes use sass variable instead of raw token name.
10
+
11
+ Ex: `margin: ds-spacing-component($ds-sc-x1 0 $ds-sc-x4)`
12
+
13
+ Ex: `@include ds-spacing-layout($ds-sl-page-horizontal auto, padding-top)`
14
+
15
+ By using sass variables (instead of token name directly), if a spacing token used in scss is removed sass will not compile - which is a good thing!
16
+
17
+ By using sass variables for spacing tokens you will see which tokens are available through auto complete.
18
+
19
+ Variables with `$ds-sc-` prefix are available for `ds-spacing-component()`
20
+
21
+ Variables with `$ds-sl-` prefix are available for `ds-spacing-layout()`
22
+
8
23
  ## ds-spacing-component | function
9
24
 
10
25
  Use for space _inside_ a component (or atom).
@@ -22,8 +37,15 @@ Dynamic spacings are static and are _not_ wrapped in any media query, the functi
22
37
  ```scss
23
38
  @use "@bonniernews/dn-design-system-web/foundations/helpers/forward.helpers.scss" as *;
24
39
 
25
- .test {
26
- margin: ds-spacing-component(x1 x2 0, px, true);
40
+ .test-1 {
41
+ margin: ds-spacing-component($ds-sc-x1 $ds-sc-x2 0);
42
+ }
43
+
44
+ // Outputs:
45
+ 4px 8px 0
46
+
47
+ .test-2 {
48
+ margin: ds-spacing-component($ds-sc-x1 $ds-sc-x2 0, px, true);
27
49
  }
28
50
 
29
51
  // Outputs:
@@ -41,31 +63,47 @@ This mixin returns `property: value` wrapped in media query.
41
63
  |parameter | type | required | options | default | description |
42
64
  |:--- | :--- | :--- | :--- | :--- | :--- |
43
65
  |units | String | yes | one or more spacing tokens or `auto` or `0` | | Ex. 0 page-horizontal |
44
- |sizeUnit | String | no | px, rem, em | px | |
45
66
  |property | String | no | padding, margin | padding | Use padding for layout spacing to avoid collapsing margins|
67
+ |sizeUnit | String | no | px, rem, em | px | |
46
68
  |negative | bool | no | true, false | false | Applies to all units except for `auto` and `0` |
47
69
 
48
70
  ```scss
49
71
  @use "@bonniernews/dn-design-system-web/foundations/helpers/forward.helpers.scss" as *;
50
72
 
51
- .test {
73
+ .test-1 {
74
+ @include ds-spacing-layout($ds-sl-page-top-small, padding-top);
75
+ }
76
+
77
+ // Outputs:
78
+ @media (max-width: 1024px) {
79
+ .test-1 {
80
+ padding-top: 16px;
81
+ }
82
+ }
83
+ @media (min-width: 1025px) {
84
+ .test-1 {
85
+ padding-top: 32px;
86
+ }
87
+ }
88
+
89
+ .test-2 {
52
90
  @include ds-spacing-layout(
53
- 0 page-horizontal,
54
- px,
91
+ 0 $ds-sl-page-horizontal,
55
92
  margin,
93
+ px,
56
94
  true
57
95
  );
58
96
  }
59
97
 
60
98
  // Outputs:
61
99
  @media (max-width: 1024px) {
62
- .test {
63
- margin: 0 -16px;
100
+ .test-2 {
101
+ margin: 0 -16px;
64
102
  }
65
103
  }
66
104
  @media (min-width: 1025px) {
67
- .test {
68
- margin: 0 -32px;
105
+ .test-2 {
106
+ margin: 0 -32px;
69
107
  }
70
108
  }
71
109
  ```
@@ -5,6 +5,8 @@
5
5
  @use "../variables/spacingComponent.scss" as *;
6
6
  @use "../variables/spacingLayout.scss" as *;
7
7
  @use "../variables/spacingLayoutLargeScreen.scss" as *;
8
+ @forward '../variables/spacingComponentList.scss';
9
+ @forward '../variables/spacingLayoutList.scss';
8
10
 
9
11
  @function ds-spacing-component(
10
12
  $units: null,
@@ -20,8 +22,8 @@
20
22
 
21
23
  @mixin ds-spacing-layout(
22
24
  $units: null,
23
- $sizeUnit: "px",
24
25
  $property: padding,
26
+ $sizeUnit: "px",
25
27
  $negative: false
26
28
  ) {
27
29
  @if $units {
@@ -0,0 +1,10 @@
1
+ $ds-sc-x1: x1;
2
+ $ds-sc-x2: x2;
3
+ $ds-sc-x3: x3;
4
+ $ds-sc-x4: x4;
5
+ $ds-sc-x5: x5;
6
+ $ds-sc-x6: x6;
7
+ $ds-sc-x8: x8;
8
+ $ds-sc-x20: x20;
9
+ $ds-sc-outer: outer;
10
+ $ds-sc-outer-negative: outer-negative;
@@ -0,0 +1,8 @@
1
+ $ds-sl-page-horizontal: page-horizontal;
2
+ $ds-sl-page-top-small: page-top-small;
3
+ $ds-sl-page-top-large: page-top-large;
4
+ $ds-sl-page-bottom: page-bottom;
5
+ $ds-sl-gap-vertical-static-medium: gap-vertical-static-medium;
6
+ $ds-sl-gap-vertical-static-large: gap-vertical-static-large;
7
+ $ds-sl-gap-horizontal-static-small: gap-horizontal-static-small;
8
+ $ds-sl-gap-vertical-static-small: gap-vertical-static-small;
@@ -120,8 +120,8 @@ $typographyTokensScreenLarge: (
120
120
  expressive-heading04regular: (
121
121
  fontFamily: "DN Serif 22",
122
122
  fontWeight: Regular,
123
- fontSize: 52,
124
- lineHeight: 48
123
+ fontSize: 48,
124
+ lineHeight: 52
125
125
  ),
126
126
  expressive-heading04semibold: (
127
127
  fontFamily: "DN Serif 22",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bonniernews/dn-design-system-web",
3
- "version": "3.0.0-alpha.5",
3
+ "version": "3.0.0-alpha.7",
4
4
  "description": "DN design system for web.",
5
5
  "main": "index.js",
6
6
  "homepage": "https://github.com/BonnierNews/dn-design-system/tree/main/web/src#readme",
@@ -0,0 +1,12 @@
1
+ {
2
+ "x1": "x1",
3
+ "x2": "x2",
4
+ "x3": "x3",
5
+ "x4": "x4",
6
+ "x5": "x5",
7
+ "x6": "x6",
8
+ "x8": "x8",
9
+ "x20": "x20",
10
+ "outer": "outer",
11
+ "outer-negative": "outer-negative"
12
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "page-horizontal": "page-horizontal",
3
+ "page-top-small": "page-top-small",
4
+ "page-top-large": "page-top-large",
5
+ "page-bottom": "page-bottom",
6
+ "gap-vertical-static-medium": "gap-vertical-static-medium",
7
+ "gap-vertical-static-large": "gap-vertical-static-large",
8
+ "gap-horizontal-static-small": "gap-horizontal-static-small",
9
+ "gap-vertical-static-small": "gap-vertical-static-small"
10
+ }