@bonniernews/dn-design-system-web 8.0.7 → 8.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.prettierrc +17 -0
- package/.stylelintignore +1 -0
- package/.stylelintrc.json +22 -0
- package/CHANGELOG.md +8 -0
- package/components/article-body-image/article-body-image.scss +1 -3
- package/components/blocked-content/blocked-content.scss +1 -3
- package/components/buddy-menu/buddy-menu.scss +1 -2
- package/components/button/button.scss +13 -24
- package/components/button-toggle/button-toggle.scss +14 -28
- package/components/byline/byline.scss +1 -4
- package/components/factbox/factbox.scss +1 -4
- package/components/floating-button/floating-button.scss +0 -2
- package/components/footer/footer.scss +1 -3
- package/components/group-header/group-header.scss +2 -2
- package/components/icon-button/icon-button.scss +0 -2
- package/components/quote/quote.scss +1 -3
- package/components/switch/switch.scss +7 -17
- package/components/teaser-dot/teaser-dot.scss +5 -5
- package/components/teaser-large/teaser-large.scss +3 -8
- package/components/teaser-list-vertical/teaser-list-vertical.scss +1 -1
- package/components/teaser-longlife/teaser-longlife.scss +1 -1
- package/components/teaser-native/teaser-native.scss +1 -1
- package/components/teaser-onsite/teaser-onsite.scss +2 -4
- package/components/teaser-package/teaser-package.scss +1 -4
- package/components/teaser-right-now/teaser-right-now.scss +1 -3
- package/components/teaser-slideshow/teaser-slideshow.scss +1 -3
- package/components/teaser-split/teaser-split.scss +1 -4
- package/components/teaser-standard/teaser-standard.scss +1 -3
- package/components/teaser-swipe-card/teaser-swipe-card.scss +1 -1
- package/components/teaser-tipsa/teaser-tipsa.scss +1 -4
- package/components/text-button/text-button.scss +0 -2
- package/components/text-input/text-input.scss +12 -16
- package/components/thematic-break/thematic-break.scss +1 -3
- package/components/vip-badge/vip-badge.scss +2 -4
- package/foundations/a11y/a11y.scss +1 -1
- package/foundations/helpers/loading.scss +1 -1
- package/foundations/helpers/shadows.scss +2 -11
- package/foundations/helpers/spacing-deprecated.scss +3 -17
- package/foundations/helpers/spacing.scss +1 -5
- package/foundations/helpers/typography.scss +3 -16
- package/package.json +4 -6
package/.prettierrc
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"semi": false,
|
|
3
|
+
"tabWidth": 2,
|
|
4
|
+
"printWidth": 120,
|
|
5
|
+
"singleQuote": true,
|
|
6
|
+
"jsxSingleQuote": true,
|
|
7
|
+
"trailingComma": "all",
|
|
8
|
+
"bracketSpacing": true,
|
|
9
|
+
"overrides": [
|
|
10
|
+
{
|
|
11
|
+
"files": "**/*.scss",
|
|
12
|
+
"options": {
|
|
13
|
+
"singleQuote": false
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
package/.stylelintignore
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
foundations/variables/**
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"plugins": [
|
|
3
|
+
"stylelint-selector-bem-pattern",
|
|
4
|
+
"stylelint-sass-render-errors"
|
|
5
|
+
],
|
|
6
|
+
"extends": [
|
|
7
|
+
"stylelint-config-recommended-scss",
|
|
8
|
+
"stylelint-prettier/recommended"
|
|
9
|
+
],
|
|
10
|
+
"rules": {
|
|
11
|
+
"plugin/sass-render-errors": true,
|
|
12
|
+
"no-descending-specificity": null,
|
|
13
|
+
"declaration-no-important": true,
|
|
14
|
+
"scss/at-import-partial-extension": null,
|
|
15
|
+
"scss/no-global-function-names": null,
|
|
16
|
+
"scss/comment-no-empty": null,
|
|
17
|
+
"plugin/selector-bem-pattern": {
|
|
18
|
+
"preset": "bem"
|
|
19
|
+
},
|
|
20
|
+
"prettier/prettier": [true, {"printWidth": 120}]
|
|
21
|
+
}
|
|
22
|
+
}
|
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
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
|
+
## 8.0.8 (2023-11-10)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @bonniernews/dn-design-system-web
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
6
14
|
## 8.0.7 (2023-11-09)
|
|
7
15
|
|
|
8
16
|
|
|
@@ -2,7 +2,5 @@
|
|
|
2
2
|
@use "../../assets/article-image/article-image.scss" as *;
|
|
3
3
|
|
|
4
4
|
.ds-article-image--body {
|
|
5
|
-
padding: ds-spacing(
|
|
6
|
-
$ds-s-gap-vertical-static-medium 0 $ds-s-gap-vertical-static-large
|
|
7
|
-
);
|
|
5
|
+
padding: ds-spacing($ds-s-gap-vertical-static-medium 0 $ds-s-gap-vertical-static-large);
|
|
8
6
|
}
|
|
@@ -4,9 +4,7 @@
|
|
|
4
4
|
.ds-blocked-content {
|
|
5
5
|
background-color: $ds-color-surface-background;
|
|
6
6
|
margin: 0;
|
|
7
|
-
padding: ds-spacing(
|
|
8
|
-
$ds-s-gap-vertical-static-medium 0 $ds-s-gap-vertical-static-large
|
|
9
|
-
);
|
|
7
|
+
padding: ds-spacing($ds-s-gap-vertical-static-medium 0 $ds-s-gap-vertical-static-large);
|
|
10
8
|
|
|
11
9
|
.ds-blocked-content__inner {
|
|
12
10
|
text-align: center;
|
|
@@ -26,8 +26,7 @@
|
|
|
26
26
|
.ds-buddy-menu__inner {
|
|
27
27
|
background-color: $ds-color-surface-elevated;
|
|
28
28
|
border-radius: ds-metrics-border-radius(x2);
|
|
29
|
-
box-shadow: ds-shadow-get-box-shadow($ds-shadow-drop-shadow-a),
|
|
30
|
-
ds-shadow-get-box-shadow($ds-shadow-drop-shadow-b);
|
|
29
|
+
box-shadow: ds-shadow-get-box-shadow($ds-shadow-drop-shadow-a), ds-shadow-get-box-shadow($ds-shadow-drop-shadow-b);
|
|
31
30
|
position: relative;
|
|
32
31
|
z-index: 1;
|
|
33
32
|
}
|
|
@@ -44,8 +44,9 @@ $ds-btn__icon-size: 24px;
|
|
|
44
44
|
@include ds-typography($ds-typography-detailstandard-button);
|
|
45
45
|
border: $ds-btn-outlined__border-width solid;
|
|
46
46
|
border-radius: ds-metrics-border-radius(x1);
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
padding: ds-spacing($ds-s-075, rem) - ds-px-to-rem($ds-btn-outlined__border-width) ds-spacing($ds-s-150, rem) - ds-px-to-rem(
|
|
48
|
+
$ds-btn-outlined__border-width
|
|
49
|
+
);
|
|
49
50
|
position: relative;
|
|
50
51
|
&::before {
|
|
51
52
|
content: "";
|
|
@@ -84,12 +85,8 @@ $ds-btn__icon-size: 24px;
|
|
|
84
85
|
}
|
|
85
86
|
|
|
86
87
|
.ds-btn--small .ds-btn__inner {
|
|
87
|
-
padding: ds-px-to-rem(
|
|
88
|
-
|
|
89
|
-
)
|
|
90
|
-
ds-px-to-rem(
|
|
91
|
-
ds-spacing($ds-s-125) - $ds-btn-outlined__border-width
|
|
92
|
-
);
|
|
88
|
+
padding: ds-px-to-rem(ds-spacing($ds-s-050) - $ds-btn-outlined__border-width)
|
|
89
|
+
ds-px-to-rem(ds-spacing($ds-s-125) - $ds-btn-outlined__border-width);
|
|
93
90
|
}
|
|
94
91
|
|
|
95
92
|
@include ds-mq-only-breakpoint(mobile) {
|
|
@@ -119,31 +116,23 @@ $ds-btn__icon-size: 24px;
|
|
|
119
116
|
|
|
120
117
|
.ds-btn--icon-right {
|
|
121
118
|
.ds-btn__inner {
|
|
122
|
-
padding-right: ds-px-to-rem(
|
|
123
|
-
ds-spacing($ds-s-125) - $ds-btn-outlined__border-width
|
|
124
|
-
);
|
|
119
|
+
padding-right: ds-px-to-rem(ds-spacing($ds-s-125) - $ds-btn-outlined__border-width);
|
|
125
120
|
}
|
|
126
121
|
&.ds-btn--small .ds-btn__inner {
|
|
127
|
-
padding-right: ds-px-to-rem(
|
|
128
|
-
ds-spacing($ds-s-100) - $ds-btn-outlined__border-width
|
|
129
|
-
);
|
|
122
|
+
padding-right: ds-px-to-rem(ds-spacing($ds-s-100) - $ds-btn-outlined__border-width);
|
|
130
123
|
}
|
|
131
124
|
}
|
|
132
125
|
|
|
133
126
|
.ds-btn--icon-left {
|
|
134
127
|
.ds-btn__inner {
|
|
135
128
|
flex-direction: row-reverse;
|
|
136
|
-
padding-left: ds-px-to-rem(
|
|
137
|
-
ds-spacing($ds-s-125) - $ds-btn-outlined__border-width
|
|
138
|
-
);
|
|
129
|
+
padding-left: ds-px-to-rem(ds-spacing($ds-s-125) - $ds-btn-outlined__border-width);
|
|
139
130
|
.ds-icon {
|
|
140
131
|
margin: ds-spacing(0 $ds-s-050 0 0, rem);
|
|
141
132
|
}
|
|
142
133
|
}
|
|
143
134
|
&.ds-btn--small .ds-btn__inner {
|
|
144
|
-
padding-left: ds-px-to-rem(
|
|
145
|
-
ds-spacing($ds-s-100) - $ds-btn-outlined__border-width
|
|
146
|
-
);
|
|
135
|
+
padding-left: ds-px-to-rem(ds-spacing($ds-s-100) - $ds-btn-outlined__border-width);
|
|
147
136
|
}
|
|
148
137
|
}
|
|
149
138
|
|
|
@@ -296,8 +285,9 @@ $ds-btn__icon-size: 24px;
|
|
|
296
285
|
|
|
297
286
|
.ds-btn.ds-force-px {
|
|
298
287
|
.ds-btn__inner {
|
|
299
|
-
|
|
300
|
-
|
|
288
|
+
/* stylelint-disable-next-line */
|
|
289
|
+
padding: ds-spacing($ds-s-075) - $ds-btn-outlined__border-width ds-spacing($ds-s-150) -
|
|
290
|
+
$ds-btn-outlined__border-width;
|
|
301
291
|
@include ds-typography($ds-typography-detailstandard-button, true);
|
|
302
292
|
}
|
|
303
293
|
&.ds-btn--icon-left .ds-btn__inner,
|
|
@@ -319,8 +309,7 @@ $ds-btn__icon-size: 24px;
|
|
|
319
309
|
}
|
|
320
310
|
&.ds-btn--small {
|
|
321
311
|
.ds-btn__inner {
|
|
322
|
-
padding: ds-spacing($ds-s-050)-$ds-btn-outlined__border-width
|
|
323
|
-
ds-spacing($ds-s-125)-$ds-btn-outlined__border-width;
|
|
312
|
+
padding: ds-spacing($ds-s-050)-$ds-btn-outlined__border-width ds-spacing($ds-s-125)-$ds-btn-outlined__border-width;
|
|
324
313
|
}
|
|
325
314
|
&.ds-btn--icon-right .ds-btn__inner {
|
|
326
315
|
padding-right: ds-spacing($ds-s-100)-$ds-btn-outlined__border-width;
|
|
@@ -47,8 +47,9 @@ $ds-btn-toggle__icon-size-xsmall: 20px;
|
|
|
47
47
|
@include ds-typography($ds-typography-detailstandard-button);
|
|
48
48
|
border: $ds-btn-toggle-outlined__border-width solid;
|
|
49
49
|
border-radius: 100px;
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
padding: ds-spacing($ds-s-075, rem) - ds-px-to-rem($ds-btn-toggle-outlined__border-width) ds-spacing($ds-s-150, rem) - ds-px-to-rem(
|
|
51
|
+
$ds-btn-toggle-outlined__border-width
|
|
52
|
+
);
|
|
52
53
|
position: relative;
|
|
53
54
|
&::before {
|
|
54
55
|
content: "";
|
|
@@ -90,22 +91,14 @@ $ds-btn-toggle__icon-size-xsmall: 20px;
|
|
|
90
91
|
}
|
|
91
92
|
|
|
92
93
|
.ds-btn-toggle--small .ds-btn-toggle__inner {
|
|
93
|
-
padding: ds-px-to-rem(
|
|
94
|
-
|
|
95
|
-
)
|
|
96
|
-
ds-px-to-rem(
|
|
97
|
-
ds-spacing($ds-s-125) - $ds-btn-toggle-outlined__border-width
|
|
98
|
-
);
|
|
94
|
+
padding: ds-px-to-rem(ds-spacing($ds-s-050) - $ds-btn-toggle-outlined__border-width)
|
|
95
|
+
ds-px-to-rem(ds-spacing($ds-s-125) - $ds-btn-toggle-outlined__border-width);
|
|
99
96
|
}
|
|
100
97
|
|
|
101
98
|
.ds-btn-toggle--xsmall .ds-btn-toggle__inner {
|
|
102
99
|
@include ds-typography($ds-typography-detailstandard-button-small);
|
|
103
|
-
padding: ds-px-to-rem(
|
|
104
|
-
|
|
105
|
-
)
|
|
106
|
-
ds-px-to-rem(
|
|
107
|
-
ds-spacing($ds-s-075) - $ds-btn-toggle-outlined__border-width
|
|
108
|
-
);
|
|
100
|
+
padding: ds-px-to-rem(ds-spacing($ds-s-025) - $ds-btn-toggle-outlined__border-width)
|
|
101
|
+
ds-px-to-rem(ds-spacing($ds-s-075) - $ds-btn-toggle-outlined__border-width);
|
|
109
102
|
}
|
|
110
103
|
|
|
111
104
|
@include ds-mq-only-breakpoint(mobile) {
|
|
@@ -168,9 +161,7 @@ $ds-btn-toggle__icon-size-xsmall: 20px;
|
|
|
168
161
|
background-color: transparent;
|
|
169
162
|
border-color: $ds-color-border-primary-03;
|
|
170
163
|
color: $ds-color-text-primary;
|
|
171
|
-
padding-left: ds-px-to-rem(
|
|
172
|
-
ds-spacing($ds-s-125) - $ds-btn-toggle-outlined__border-width
|
|
173
|
-
);
|
|
164
|
+
padding-left: ds-px-to-rem(ds-spacing($ds-s-125) - $ds-btn-toggle-outlined__border-width);
|
|
174
165
|
|
|
175
166
|
.ds-btn-toggle__on {
|
|
176
167
|
display: flex;
|
|
@@ -191,15 +182,11 @@ $ds-btn-toggle__icon-size-xsmall: 20px;
|
|
|
191
182
|
}
|
|
192
183
|
|
|
193
184
|
&.ds-btn-toggle--small .ds-btn-toggle__inner {
|
|
194
|
-
padding-left: ds-px-to-rem(
|
|
195
|
-
ds-spacing($ds-s-100) - $ds-btn-toggle-outlined__border-width
|
|
196
|
-
);
|
|
185
|
+
padding-left: ds-px-to-rem(ds-spacing($ds-s-100) - $ds-btn-toggle-outlined__border-width);
|
|
197
186
|
}
|
|
198
187
|
|
|
199
188
|
&.ds-btn-toggle--xsmall .ds-btn-toggle__inner {
|
|
200
|
-
padding-left: ds-px-to-rem(
|
|
201
|
-
ds-spacing($ds-s-050) - $ds-btn-toggle-outlined__border-width
|
|
202
|
-
);
|
|
189
|
+
padding-left: ds-px-to-rem(ds-spacing($ds-s-050) - $ds-btn-toggle-outlined__border-width);
|
|
203
190
|
.ds-icon {
|
|
204
191
|
height: ds-px-to-rem($ds-btn-toggle__icon-size-xsmall);
|
|
205
192
|
width: ds-px-to-rem($ds-btn-toggle__icon-size-xsmall);
|
|
@@ -225,7 +212,8 @@ $ds-btn-toggle__icon-size-xsmall: 20px;
|
|
|
225
212
|
.ds-btn-toggle.ds-force-px {
|
|
226
213
|
.ds-btn-toggle__inner {
|
|
227
214
|
/* stylelint-disable-next-line */
|
|
228
|
-
padding: ds-spacing($ds-s-075) - $ds-btn-toggle-outlined__border-width ds-spacing($ds-s-150) -
|
|
215
|
+
padding: ds-spacing($ds-s-075) - $ds-btn-toggle-outlined__border-width ds-spacing($ds-s-150) -
|
|
216
|
+
$ds-btn-toggle-outlined__border-width;
|
|
229
217
|
@include ds-typography($ds-typography-detailstandard-button, true);
|
|
230
218
|
}
|
|
231
219
|
&.ds-btn-toggle--selected .ds-btn-toggle__inner {
|
|
@@ -238,8 +226,7 @@ $ds-btn-toggle__icon-size-xsmall: 20px;
|
|
|
238
226
|
}
|
|
239
227
|
&.ds-btn-toggle--small {
|
|
240
228
|
.ds-btn-toggle__inner {
|
|
241
|
-
padding: ds-spacing($ds-s-050)-$ds-btn-toggle-outlined__border-width
|
|
242
|
-
ds-spacing($ds-s-125)-$ds-btn-toggle-outlined__border-width;
|
|
229
|
+
padding: ds-spacing($ds-s-050)-$ds-btn-toggle-outlined__border-width ds-spacing($ds-s-125)-$ds-btn-toggle-outlined__border-width;
|
|
243
230
|
}
|
|
244
231
|
&.ds-btn-toggle--selected .ds-btn-toggle__inner {
|
|
245
232
|
padding-left: ds-spacing($ds-s-100)-$ds-btn-toggle-outlined__border-width;
|
|
@@ -248,8 +235,7 @@ $ds-btn-toggle__icon-size-xsmall: 20px;
|
|
|
248
235
|
&.ds-btn-toggle--xsmall {
|
|
249
236
|
.ds-btn-toggle__inner {
|
|
250
237
|
@include ds-typography($ds-typography-detailstandard-button-small, true);
|
|
251
|
-
padding: ds-spacing($ds-s-025)-$ds-btn-toggle-outlined__border-width
|
|
252
|
-
ds-spacing($ds-s-075)-$ds-btn-toggle-outlined__border-width;
|
|
238
|
+
padding: ds-spacing($ds-s-025)-$ds-btn-toggle-outlined__border-width ds-spacing($ds-s-075)-$ds-btn-toggle-outlined__border-width;
|
|
253
239
|
.ds-icon {
|
|
254
240
|
margin: ds-spacing(0 $ds-s-025 0 0);
|
|
255
241
|
height: $ds-btn-toggle__icon-size-xsmall;
|
|
@@ -102,10 +102,7 @@ $ds-byline__image-size--direkt: 36px;
|
|
|
102
102
|
.ds-byline__title {
|
|
103
103
|
@include ds-typography($ds-typography-functional-heading01semibold);
|
|
104
104
|
@at-root .ds-force-px#{&} {
|
|
105
|
-
@include ds-typography(
|
|
106
|
-
$ds-typography-functional-heading01semibold,
|
|
107
|
-
true
|
|
108
|
-
);
|
|
105
|
+
@include ds-typography($ds-typography-functional-heading01semibold, true);
|
|
109
106
|
}
|
|
110
107
|
color: $ds-color-text-primary;
|
|
111
108
|
text-align: left;
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
$ds-factbox__grade-size: 40px;
|
|
5
5
|
$ds-factbox__show-more-fade-height: 48px;
|
|
6
6
|
$ds-factbox__padding: ds-spacing($ds-s-100);
|
|
7
|
-
/* stylelint-disable-next-line */
|
|
8
7
|
$ds-factbox-border-width: 4px;
|
|
9
8
|
$ds-factbox__padding-left: $ds-factbox__padding - $ds-factbox-border-width;
|
|
10
9
|
$ds-factbox__max-height: 500px; // includes top/bottom spacing
|
|
@@ -13,9 +12,7 @@ $ds-factbox__max-height: 500px; // includes top/bottom spacing
|
|
|
13
12
|
background-color: $ds-color-surface-background;
|
|
14
13
|
box-sizing: border-box;
|
|
15
14
|
margin: 0;
|
|
16
|
-
padding: ds-spacing(
|
|
17
|
-
$ds-s-gap-vertical-static-medium 0 $ds-s-gap-vertical-static-large
|
|
18
|
-
);
|
|
15
|
+
padding: ds-spacing($ds-s-gap-vertical-static-medium 0 $ds-s-gap-vertical-static-large);
|
|
19
16
|
|
|
20
17
|
.ds-factbox__inner {
|
|
21
18
|
border-top: ds-metrics-border-width(x1) solid $ds-color-border-primary;
|
|
@@ -57,9 +57,7 @@ $ds-footer-column-gap: ds-spacing($ds-s-400);
|
|
|
57
57
|
|
|
58
58
|
&__rudolf,
|
|
59
59
|
&__editors {
|
|
60
|
-
padding: ds-spacing(
|
|
61
|
-
$ds-footer-row-padding-spacing-token 0 $ds-footer-row-gap-spacing-token
|
|
62
|
-
);
|
|
60
|
+
padding: ds-spacing($ds-footer-row-padding-spacing-token 0 $ds-footer-row-gap-spacing-token);
|
|
63
61
|
|
|
64
62
|
&,
|
|
65
63
|
p {
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
--group-header-color: #{$ds-color-text-primary};
|
|
8
8
|
--group-header-icon-color: currentColor;
|
|
9
9
|
display: flex;
|
|
10
|
-
align-items: center;
|
|
11
10
|
justify-content: space-between;
|
|
12
11
|
align-items: stretch;
|
|
13
12
|
background: var(--group-header-background);
|
|
@@ -42,7 +41,8 @@
|
|
|
42
41
|
padding-right: ds-spacing($ds-s-050);
|
|
43
42
|
}
|
|
44
43
|
|
|
45
|
-
.ds-btn-toggle,
|
|
44
|
+
.ds-btn-toggle,
|
|
45
|
+
.ds-group-header__arrows {
|
|
46
46
|
margin-top: 2px; // special case due to design margin extending from the component's visual size, not its clickable area
|
|
47
47
|
margin-bottom: 2px;
|
|
48
48
|
}
|
|
@@ -21,9 +21,7 @@ $ds-btn-outlined__border-width: ds-metrics-border-width(x1);
|
|
|
21
21
|
&.ds-icon-btn--large {
|
|
22
22
|
--ds-icon-btn__inner-padding: #{ds-spacing($ds-s-075)-$ds-btn-outlined__border-width};
|
|
23
23
|
}
|
|
24
|
-
}
|
|
25
24
|
|
|
26
|
-
.ds-icon-btn {
|
|
27
25
|
cursor: pointer;
|
|
28
26
|
background-color: transparent;
|
|
29
27
|
border: 0;
|
|
@@ -4,9 +4,7 @@
|
|
|
4
4
|
@include ds-typography($ds-typography-detailarticle-quote);
|
|
5
5
|
color: $ds-color-text-primary;
|
|
6
6
|
margin: 0;
|
|
7
|
-
padding: ds-spacing(
|
|
8
|
-
$ds-s-gap-vertical-static-medium 0 $ds-s-gap-vertical-static-large
|
|
9
|
-
);
|
|
7
|
+
padding: ds-spacing($ds-s-gap-vertical-static-medium 0 $ds-s-gap-vertical-static-large);
|
|
10
8
|
position: relative;
|
|
11
9
|
|
|
12
10
|
@at-root .ds-force-px#{&} {
|
|
@@ -36,7 +36,9 @@ $ds-switch__container-width: 44px;
|
|
|
36
36
|
width: ds-px-to-rem($ds-switch__container-width);
|
|
37
37
|
background-color: $ds-color-component-primary-overlay-02;
|
|
38
38
|
border-radius: 100px;
|
|
39
|
-
transition:
|
|
39
|
+
transition:
|
|
40
|
+
background-color 500ms ease,
|
|
41
|
+
outline-color 500ms ease;
|
|
40
42
|
@at-root .ds-force-px#{&} {
|
|
41
43
|
height: $ds-switch__container-height;
|
|
42
44
|
width: $ds-switch__container-width;
|
|
@@ -106,25 +108,13 @@ $ds-switch__container-width: 44px;
|
|
|
106
108
|
}
|
|
107
109
|
|
|
108
110
|
@include ds-hover() {
|
|
109
|
-
.ds-switch
|
|
110
|
-
|
|
111
|
-
+ .ds-switch__inner:hover
|
|
112
|
-
.ds-switch__box::before,
|
|
113
|
-
.ds-list-item--switch:hover
|
|
114
|
-
input:not(:disabled)
|
|
115
|
-
+ .ds-switch__inner
|
|
116
|
-
.ds-switch__box::before {
|
|
111
|
+
.ds-switch input:not(:disabled) + .ds-switch__inner:hover .ds-switch__box::before,
|
|
112
|
+
.ds-list-item--switch:hover input:not(:disabled) + .ds-switch__inner .ds-switch__box::before {
|
|
117
113
|
background-color: $ds-color-component-primary-overlay;
|
|
118
114
|
}
|
|
119
115
|
}
|
|
120
|
-
.ds-switch
|
|
121
|
-
|
|
122
|
-
+ .ds-switch__inner:active
|
|
123
|
-
.ds-switch__box::before,
|
|
124
|
-
.ds-list-item--switch:active
|
|
125
|
-
input:not(:disabled)
|
|
126
|
-
+ .ds-switch__inner
|
|
127
|
-
.ds-switch__box::before {
|
|
116
|
+
.ds-switch input:not(:disabled) + .ds-switch__inner:active .ds-switch__box::before,
|
|
117
|
+
.ds-list-item--switch:active input:not(:disabled) + .ds-switch__inner .ds-switch__box::before {
|
|
128
118
|
background-color: $ds-color-component-primary-overlay-02;
|
|
129
119
|
}
|
|
130
120
|
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
&::after,
|
|
28
28
|
&.ds-teaser-dot--flashing::before {
|
|
29
|
-
content:
|
|
29
|
+
content: "";
|
|
30
30
|
position: absolute;
|
|
31
31
|
top: 0;
|
|
32
32
|
bottom: 0;
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
|
|
41
41
|
@keyframes dot-pulse {
|
|
42
42
|
0% {
|
|
43
|
-
transform: scale(.95);
|
|
43
|
+
transform: scale(0.95);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
70% {
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
|
|
55
55
|
@keyframes ripple-pulse {
|
|
56
56
|
0% {
|
|
57
|
-
transform: scale(.95);
|
|
57
|
+
transform: scale(0.95);
|
|
58
58
|
opacity: 0.4;
|
|
59
59
|
}
|
|
60
60
|
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
100% {
|
|
67
|
-
transform: scale(.95);
|
|
68
|
-
opacity: 0
|
|
67
|
+
transform: scale(0.95);
|
|
68
|
+
opacity: 0;
|
|
69
69
|
}
|
|
70
70
|
}
|
|
@@ -15,10 +15,7 @@
|
|
|
15
15
|
.ds-teaser__content {
|
|
16
16
|
display: flex;
|
|
17
17
|
flex-direction: row;
|
|
18
|
-
padding: ds-spacing(
|
|
19
|
-
$ds-s-teaser-vertical-small $ds-s-teaser-horizontal
|
|
20
|
-
$ds-s-teaser-vertical-medium
|
|
21
|
-
);
|
|
18
|
+
padding: ds-spacing($ds-s-teaser-vertical-small $ds-s-teaser-horizontal $ds-s-teaser-vertical-medium);
|
|
22
19
|
|
|
23
20
|
.ds-teaser__content-inner {
|
|
24
21
|
display: flex;
|
|
@@ -28,7 +25,7 @@
|
|
|
28
25
|
}
|
|
29
26
|
|
|
30
27
|
&:focus-visible {
|
|
31
|
-
outline: none !important;
|
|
28
|
+
outline: none !important; /* stylelint-disable-line declaration-no-important */
|
|
32
29
|
|
|
33
30
|
.ds-teaser__content {
|
|
34
31
|
@include ds-teaser-focus(-8px, false);
|
|
@@ -113,9 +110,7 @@
|
|
|
113
110
|
}
|
|
114
111
|
|
|
115
112
|
&.ds-teaser--large-italic .ds-teaser__title {
|
|
116
|
-
@include ds-typography(
|
|
117
|
-
$ds-typography-expressive-heading02italicregular
|
|
118
|
-
);
|
|
113
|
+
@include ds-typography($ds-typography-expressive-heading02italicregular);
|
|
119
114
|
|
|
120
115
|
@include ds-hover(true) {
|
|
121
116
|
.ds-teaser__title {
|
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
@use "../../assets/teaser/teaser.scss" as *;
|
|
3
3
|
|
|
4
4
|
.ds-teaser.ds-teaser--onsite {
|
|
5
|
-
padding: ds-spacing(
|
|
6
|
-
$ds-s-teaser-vertical-medium $ds-s-teaser-horizontal
|
|
7
|
-
);
|
|
5
|
+
padding: ds-spacing($ds-s-teaser-vertical-medium $ds-s-teaser-horizontal);
|
|
8
6
|
display: flex;
|
|
9
7
|
|
|
10
8
|
.ds-teaser__title {
|
|
@@ -14,7 +12,7 @@
|
|
|
14
12
|
|
|
15
13
|
@include ds-hover(true) {
|
|
16
14
|
.ds-teaser__title {
|
|
17
|
-
text-decoration: none !important;
|
|
15
|
+
text-decoration: none !important; /* stylelint-disable-line declaration-no-important */
|
|
18
16
|
}
|
|
19
17
|
|
|
20
18
|
.ds-teaser__text {
|
|
@@ -51,10 +51,7 @@
|
|
|
51
51
|
background-color: transparent;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
.ds-group-header
|
|
55
|
-
+ .ds-teaser--large:not(.ds-teaser--large-italic):not(
|
|
56
|
-
.ds-teaser--large-big-italic
|
|
57
|
-
) {
|
|
54
|
+
.ds-group-header + .ds-teaser--large:not(.ds-teaser--large-italic):not(.ds-teaser--large-big-italic) {
|
|
58
55
|
.ds-teaser__title {
|
|
59
56
|
@include ds-typography($ds-typography-expressive-heading05bold);
|
|
60
57
|
}
|
|
@@ -5,9 +5,7 @@
|
|
|
5
5
|
display: flex;
|
|
6
6
|
flex-direction: row;
|
|
7
7
|
align-items: center;
|
|
8
|
-
padding: ds-spacing(
|
|
9
|
-
$ds-s-teaser-vertical-medium $ds-s-teaser-horizontal
|
|
10
|
-
);
|
|
8
|
+
padding: ds-spacing($ds-s-teaser-vertical-medium $ds-s-teaser-horizontal);
|
|
11
9
|
|
|
12
10
|
.ds-teaser__title {
|
|
13
11
|
@include ds-typography($ds-typography-expressive-heading01bold);
|
|
@@ -14,9 +14,7 @@
|
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
.ds-teaser__content {
|
|
17
|
-
padding: ds-spacing(
|
|
18
|
-
$ds-s-teaser-vertical-medium $ds-s-teaser-horizontal $ds-s-100 $ds-s-teaser-horizontal
|
|
19
|
-
);
|
|
17
|
+
padding: ds-spacing($ds-s-teaser-vertical-medium $ds-s-teaser-horizontal $ds-s-100 $ds-s-teaser-horizontal);
|
|
20
18
|
display: block;
|
|
21
19
|
color: $ds-color-text-primary;
|
|
22
20
|
|
|
@@ -2,10 +2,7 @@
|
|
|
2
2
|
@use "../../assets/teaser/teaser.scss" as *;
|
|
3
3
|
|
|
4
4
|
.ds-split-container {
|
|
5
|
-
padding: ds-spacing(
|
|
6
|
-
$ds-s-teaser-vertical-small $ds-s-teaser-horizontal
|
|
7
|
-
$ds-s-teaser-vertical-medium
|
|
8
|
-
);
|
|
5
|
+
padding: ds-spacing($ds-s-teaser-vertical-small $ds-s-teaser-horizontal $ds-s-teaser-vertical-medium);
|
|
9
6
|
display: flex;
|
|
10
7
|
flex-wrap: wrap;
|
|
11
8
|
position: relative;
|
|
@@ -3,9 +3,7 @@
|
|
|
3
3
|
@use "sass:math";
|
|
4
4
|
|
|
5
5
|
.ds-teaser.ds-teaser--standard {
|
|
6
|
-
padding: ds-spacing(
|
|
7
|
-
$ds-s-teaser-vertical-small $ds-s-teaser-horizontal 0
|
|
8
|
-
);
|
|
6
|
+
padding: ds-spacing($ds-s-teaser-vertical-small $ds-s-teaser-horizontal 0);
|
|
9
7
|
overflow: hidden;
|
|
10
8
|
|
|
11
9
|
.ds-teaser__title {
|
|
@@ -3,10 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
.ds-teaser.ds-teaser--tipsa {
|
|
5
5
|
.ds-teaser__content {
|
|
6
|
-
padding: ds-spacing(
|
|
7
|
-
$ds-s-teaser-vertical-small $ds-s-teaser-horizontal
|
|
8
|
-
$ds-s-teaser-vertical-medium
|
|
9
|
-
);
|
|
6
|
+
padding: ds-spacing($ds-s-teaser-vertical-small $ds-s-teaser-horizontal $ds-s-teaser-vertical-medium);
|
|
10
7
|
}
|
|
11
8
|
|
|
12
9
|
.ds-teaser__title {
|
|
@@ -4,9 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
$ds-text-input-toggle-btn__width: 28px;
|
|
6
6
|
$ds-text-input-toggle-btn__top: 22px;
|
|
7
|
-
$ds-text-input-toggle-btn__area: (
|
|
8
|
-
$ds-text-input-toggle-btn__width + ds-spacing($ds-s-050)
|
|
9
|
-
);
|
|
7
|
+
$ds-text-input-toggle-btn__area: ($ds-text-input-toggle-btn__width + ds-spacing($ds-s-050));
|
|
10
8
|
|
|
11
9
|
.ds-form-field__error {
|
|
12
10
|
.ds-text-input__input {
|
|
@@ -26,8 +24,9 @@ $ds-text-input-toggle-btn__area: (
|
|
|
26
24
|
color: $ds-color-text-primary;
|
|
27
25
|
background-color: $ds-color-component-secondary;
|
|
28
26
|
@include ds-typography($ds-typography-functional-body02regular);
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
padding: ds-px-to-rem(ds-spacing($ds-s-100) - ds-metrics-border-width(x1)) ds-spacing($ds-s-100) - ds-metrics-border-width(
|
|
28
|
+
x1
|
|
29
|
+
);
|
|
31
30
|
border: solid ds-metrics-border-width(x1) $ds-color-border-primary-02;
|
|
32
31
|
border-radius: ds-metrics-border-radius(x1);
|
|
33
32
|
margin: 0;
|
|
@@ -35,9 +34,7 @@ $ds-text-input-toggle-btn__area: (
|
|
|
35
34
|
&.password-toggle {
|
|
36
35
|
padding-right: ds-px-to-rem($ds-text-input-toggle-btn__area);
|
|
37
36
|
&:focus {
|
|
38
|
-
padding-right: ds-px-to-rem(
|
|
39
|
-
$ds-text-input-toggle-btn__area - ds-metrics-border-width(x2)
|
|
40
|
-
);
|
|
37
|
+
padding-right: ds-px-to-rem($ds-text-input-toggle-btn__area - ds-metrics-border-width(x2));
|
|
41
38
|
}
|
|
42
39
|
}
|
|
43
40
|
|
|
@@ -54,10 +51,9 @@ $ds-text-input-toggle-btn__area: (
|
|
|
54
51
|
}
|
|
55
52
|
|
|
56
53
|
&:focus {
|
|
57
|
-
padding: ds-px-to-rem(
|
|
58
|
-
|
|
59
|
-
)
|
|
60
|
-
ds-spacing($ds-s-100) - ds-metrics-border-width(x2);
|
|
54
|
+
padding: ds-px-to-rem(ds-spacing($ds-s-100) - ds-metrics-border-width(x2)) ds-spacing($ds-s-100) - ds-metrics-border-width(
|
|
55
|
+
x2
|
|
56
|
+
);
|
|
61
57
|
border-color: $ds-color-border-primary-03;
|
|
62
58
|
border-width: ds-metrics-border-width(x2);
|
|
63
59
|
|
|
@@ -86,7 +82,9 @@ $ds-text-input-toggle-btn__area: (
|
|
|
86
82
|
top: ds-spacing($ds-s-150, rem);
|
|
87
83
|
left: ds-spacing($ds-s-100);
|
|
88
84
|
z-index: 1;
|
|
89
|
-
transition:
|
|
85
|
+
transition:
|
|
86
|
+
font-size 0.1s ease-in,
|
|
87
|
+
top 0.1s ease-in;
|
|
90
88
|
@include ds-typography($ds-typography-functional-body02regular);
|
|
91
89
|
&::before {
|
|
92
90
|
content: "";
|
|
@@ -123,9 +121,7 @@ $ds-text-input-toggle-btn__area: (
|
|
|
123
121
|
&.password-toggle {
|
|
124
122
|
padding-right: $ds-text-input-toggle-btn__area;
|
|
125
123
|
&:focus {
|
|
126
|
-
padding-right: (
|
|
127
|
-
$ds-text-input-toggle-btn__area - ds-metrics-border-width(x2)
|
|
128
|
-
);
|
|
124
|
+
padding-right: ($ds-text-input-toggle-btn__area - ds-metrics-border-width(x2));
|
|
129
125
|
}
|
|
130
126
|
}
|
|
131
127
|
|
|
@@ -7,8 +7,7 @@ $ds-vip-badge__icon-size: 16px;
|
|
|
7
7
|
display: none;
|
|
8
8
|
align-items: center;
|
|
9
9
|
box-sizing: content-box;
|
|
10
|
-
border-radius: ds-px-to-rem(ds-metrics-border-radius(x1)) 0
|
|
11
|
-
ds-px-to-rem(ds-metrics-border-radius(x1))
|
|
10
|
+
border-radius: ds-px-to-rem(ds-metrics-border-radius(x1)) 0 ds-px-to-rem(ds-metrics-border-radius(x1))
|
|
12
11
|
ds-px-to-rem(ds-metrics-border-radius(x1));
|
|
13
12
|
background-color: $ds-color-component-business;
|
|
14
13
|
color: $ds-color-static-white;
|
|
@@ -18,8 +17,7 @@ $ds-vip-badge__icon-size: 16px;
|
|
|
18
17
|
|
|
19
18
|
@at-root .ds-force-px#{&} {
|
|
20
19
|
@include ds-typography($ds-typography-functional-meta01regular, true);
|
|
21
|
-
border-radius: ds-metrics-border-radius(x1) 0 ds-metrics-border-radius(x1)
|
|
22
|
-
ds-metrics-border-radius(x1);
|
|
20
|
+
border-radius: ds-metrics-border-radius(x1) 0 ds-metrics-border-radius(x1) ds-metrics-border-radius(x1);
|
|
23
21
|
padding: ds-spacing($ds-s-025);
|
|
24
22
|
}
|
|
25
23
|
|
|
@@ -20,18 +20,9 @@
|
|
|
20
20
|
$color: map.get($tmpMap, "color");
|
|
21
21
|
|
|
22
22
|
@if map.get($tmpMap, "type") == "innerShadow" {
|
|
23
|
-
--ds-shadow-#{$component}: inset
|
|
24
|
-
#{$x}px
|
|
25
|
-
#{$y}px
|
|
26
|
-
#{$blur}px
|
|
27
|
-
#{$spread}px
|
|
28
|
-
#{$color};
|
|
23
|
+
--ds-shadow-#{$component}: inset #{$x}px #{$y}px #{$blur}px #{$spread}px #{$color};
|
|
29
24
|
} @else {
|
|
30
|
-
--ds-shadow-#{$component}: #{$x}px
|
|
31
|
-
#{$y}px
|
|
32
|
-
#{$blur}px
|
|
33
|
-
#{$spread}px
|
|
34
|
-
#{$color};
|
|
25
|
+
--ds-shadow-#{$component}: #{$x}px #{$y}px #{$blur}px #{$spread}px #{$color};
|
|
35
26
|
}
|
|
36
27
|
}
|
|
37
28
|
|
|
@@ -8,11 +8,7 @@
|
|
|
8
8
|
@forward "../variables/deprecated/spacingComponentList.scss";
|
|
9
9
|
@forward "../variables/deprecated/spacingLayoutList.scss";
|
|
10
10
|
|
|
11
|
-
@function ds-spacing-component(
|
|
12
|
-
$units: null,
|
|
13
|
-
$sizeUnit: "px",
|
|
14
|
-
$negative: false
|
|
15
|
-
) {
|
|
11
|
+
@function ds-spacing-component($units: null, $sizeUnit: "px", $negative: false) {
|
|
16
12
|
@if $units {
|
|
17
13
|
@return _ds-get-spacings-deprecated($spacingComponent, $units, $sizeUnit, $negative);
|
|
18
14
|
}
|
|
@@ -20,23 +16,13 @@
|
|
|
20
16
|
@return null;
|
|
21
17
|
}
|
|
22
18
|
|
|
23
|
-
@mixin ds-spacing-layout(
|
|
24
|
-
$units: null,
|
|
25
|
-
$property: padding,
|
|
26
|
-
$sizeUnit: "px",
|
|
27
|
-
$negative: false
|
|
28
|
-
) {
|
|
19
|
+
@mixin ds-spacing-layout($units: null, $property: padding, $sizeUnit: "px", $negative: false) {
|
|
29
20
|
@if $units {
|
|
30
21
|
$values: _ds-get-spacings-deprecated($spacingLayout, $units, $sizeUnit, $negative);
|
|
31
22
|
@include ds-mq-largest-breakpoint(mobile) {
|
|
32
23
|
#{$property}: $values;
|
|
33
24
|
}
|
|
34
|
-
$valuesLargeScreen: _ds-get-spacings-deprecated(
|
|
35
|
-
$spacingLayoutLargeScreen,
|
|
36
|
-
$units,
|
|
37
|
-
$sizeUnit,
|
|
38
|
-
$negative
|
|
39
|
-
);
|
|
25
|
+
$valuesLargeScreen: _ds-get-spacings-deprecated($spacingLayoutLargeScreen, $units, $sizeUnit, $negative);
|
|
40
26
|
@include ds-mq-smallest-breakpoint(tablet) {
|
|
41
27
|
#{$property}: $valuesLargeScreen;
|
|
42
28
|
}
|
|
@@ -11,11 +11,7 @@
|
|
|
11
11
|
// @todo remove when possible
|
|
12
12
|
@forward "spacing-deprecated.scss";
|
|
13
13
|
|
|
14
|
-
@function ds-spacing(
|
|
15
|
-
$units: null,
|
|
16
|
-
$sizeUnit: "px",
|
|
17
|
-
$negative: false
|
|
18
|
-
) {
|
|
14
|
+
@function ds-spacing($units: null, $sizeUnit: "px", $negative: false) {
|
|
19
15
|
@if $units {
|
|
20
16
|
$values: ();
|
|
21
17
|
|
|
@@ -49,10 +49,7 @@ $dsSerifWeights: (
|
|
|
49
49
|
@mixin ds-typography($component, $forcePx: false) {
|
|
50
50
|
$tmpMap: map.get($typographyTokensScreenSmall, $component);
|
|
51
51
|
$tmpMapScreenLarge: map.get($typographyTokensScreenLarge, $component);
|
|
52
|
-
$tmpMapScreenExtraLarge: map.get(
|
|
53
|
-
$typographyTokensScreenExtraLarge,
|
|
54
|
-
$component
|
|
55
|
-
);
|
|
52
|
+
$tmpMapScreenExtraLarge: map.get($typographyTokensScreenExtraLarge, $component);
|
|
56
53
|
|
|
57
54
|
@if $tmpMap {
|
|
58
55
|
@include ds-mq-largest-breakpoint(mobile) {
|
|
@@ -67,12 +64,7 @@ $dsSerifWeights: (
|
|
|
67
64
|
@include ds-mq-only-breakpoint(tablet) {
|
|
68
65
|
@include _ds-normalize-letter-spacing($tmpMapScreenLarge);
|
|
69
66
|
@each $key in map-keys($tmpMapScreenLarge) {
|
|
70
|
-
@include _ds-typography-get-property(
|
|
71
|
-
$tmpMapScreenLarge,
|
|
72
|
-
$key,
|
|
73
|
-
$forcePx,
|
|
74
|
-
"large"
|
|
75
|
-
);
|
|
67
|
+
@include _ds-typography-get-property($tmpMapScreenLarge, $key, $forcePx, "large");
|
|
76
68
|
}
|
|
77
69
|
}
|
|
78
70
|
}
|
|
@@ -81,12 +73,7 @@ $dsSerifWeights: (
|
|
|
81
73
|
@include ds-mq-smallest-breakpoint(desktop) {
|
|
82
74
|
@include _ds-normalize-letter-spacing($tmpMapScreenExtraLarge);
|
|
83
75
|
@each $key in map-keys($tmpMapScreenExtraLarge) {
|
|
84
|
-
@include _ds-typography-get-property(
|
|
85
|
-
$tmpMapScreenExtraLarge,
|
|
86
|
-
$key,
|
|
87
|
-
$forcePx,
|
|
88
|
-
"extraLarge"
|
|
89
|
-
);
|
|
76
|
+
@include _ds-typography-get-property($tmpMapScreenExtraLarge, $key, $forcePx, "extraLarge");
|
|
90
77
|
}
|
|
91
78
|
}
|
|
92
79
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bonniernews/dn-design-system-web",
|
|
3
|
-
"version": "8.0.
|
|
3
|
+
"version": "8.0.8",
|
|
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",
|
|
@@ -16,11 +16,9 @@
|
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"postcss": "8.4.31",
|
|
19
|
-
"stylelint": "^15.
|
|
20
|
-
"stylelint-config-
|
|
21
|
-
"stylelint-
|
|
22
|
-
"stylelint-config-standard-scss": "^9.0.0",
|
|
23
|
-
"stylelint-prettier": "^3.0.0",
|
|
19
|
+
"stylelint": "^15.11.0",
|
|
20
|
+
"stylelint-config-recommended-scss": "^13.1.0",
|
|
21
|
+
"stylelint-prettier": "^4.0.2",
|
|
24
22
|
"stylelint-sass-render-errors": "^3.0.1",
|
|
25
23
|
"stylelint-selector-bem-pattern": "^2.1.1"
|
|
26
24
|
},
|