@bonniernews/dn-design-system-web 2.1.0-alpha.0 → 2.1.0-alpha.10
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/CHANGELOG.md +88 -0
- package/components/button/README.md +1 -0
- package/components/button/button.njk +4 -0
- package/components/button/button.scss +24 -19
- package/components/button-toggle/button-toggle.njk +2 -5
- package/components/button-toggle/button-toggle.scss +6 -10
- package/components/factbox/README.md +52 -0
- package/components/factbox/factbox.js +42 -0
- package/components/factbox/factbox.njk +75 -0
- package/components/factbox/factbox.scss +148 -0
- package/components/footer/footer.njk +5 -10
- package/components/list-item/README-checkbox.md +1 -0
- package/components/list-item/README-radio.md +1 -0
- package/components/list-item/README-switch.md +1 -0
- package/components/list-item/README-toggle.md +2 -1
- package/components/list-item/list-item.njk +10 -10
- package/components/list-item/list-item.scss +2 -2
- package/components/quote/README.md +36 -0
- package/components/quote/quote.njk +29 -0
- package/components/quote/quote.scss +33 -0
- package/components/switch/switch.scss +22 -15
- package/components/thematic-break/README.md +30 -0
- package/components/thematic-break/thematic-break.njk +14 -0
- package/components/thematic-break/thematic-break.scss +10 -0
- package/foundations/helpers/spacing.scss +4 -2
- package/foundations/icons/grade-icon.njk +18 -0
- package/foundations/variables/colorsDnDarkTokens.scss +1 -1
- package/foundations/variables/colorsDnLightTokens.scss +1 -1
- package/njk-helpers/attributes.njk +5 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,94 @@
|
|
|
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
|
+
## [2.1.0-alpha.10](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@2.1.0-alpha.9...@bonniernews/dn-design-system-web@2.1.0-alpha.10) (2023-02-21)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **web:** redo review grades to match new design ([#685](https://github.com/BonnierNews/dn-design-system/issues/685)) ([f617440](https://github.com/BonnierNews/dn-design-system/commit/f617440501709d4a6114f41c4a08d3761f5951e6))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
## [2.1.0-alpha.9](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@2.1.0-alpha.8...@bonniernews/dn-design-system-web@2.1.0-alpha.9) (2023-02-20)
|
|
16
|
+
|
|
17
|
+
**Note:** Version bump only for package @bonniernews/dn-design-system-web
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## [2.1.0-alpha.8](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@2.1.0-alpha.7...@bonniernews/dn-design-system-web@2.1.0-alpha.8) (2023-02-20)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Bug Fixes
|
|
27
|
+
|
|
28
|
+
* **web:** remove borders from review icons ([#683](https://github.com/BonnierNews/dn-design-system/issues/683)) ([f47ef42](https://github.com/BonnierNews/dn-design-system/commit/f47ef424be3d537af47c841c225d35f3a3d56535))
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
## [2.1.0-alpha.7](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@2.1.0-alpha.6...@bonniernews/dn-design-system-web@2.1.0-alpha.7) (2023-02-20)
|
|
33
|
+
|
|
34
|
+
**Note:** Version bump only for package @bonniernews/dn-design-system-web
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
## [2.1.0-alpha.6](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@2.1.0-alpha.5...@bonniernews/dn-design-system-web@2.1.0-alpha.6) (2023-02-20)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
### Features
|
|
44
|
+
|
|
45
|
+
* **web:** quote component for web ([#675](https://github.com/BonnierNews/dn-design-system/issues/675)) ([599c7d9](https://github.com/BonnierNews/dn-design-system/commit/599c7d9012b7a9677c31b42196189c6b8bba04e3))
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
## [2.1.0-alpha.5](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@2.1.0-alpha.4...@bonniernews/dn-design-system-web@2.1.0-alpha.5) (2023-02-20)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
### Features
|
|
53
|
+
|
|
54
|
+
* **web:** thematic break ([#673](https://github.com/BonnierNews/dn-design-system/issues/673)) ([6a48aac](https://github.com/BonnierNews/dn-design-system/commit/6a48aac61f29243afcc5980f6e4ba70e3ee7b1c1))
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
## [2.1.0-alpha.4](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@2.1.0-alpha.3...@bonniernews/dn-design-system-web@2.1.0-alpha.4) (2023-02-20)
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
### Bug Fixes
|
|
62
|
+
|
|
63
|
+
* **web:** add element attributes to list items ([#676](https://github.com/BonnierNews/dn-design-system/issues/676)) ([5858f74](https://github.com/BonnierNews/dn-design-system/commit/5858f74d99d24bec38b4d404b4b4dcbfacfab9d1))
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
## [2.1.0-alpha.3](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@2.1.0-alpha.2...@bonniernews/dn-design-system-web@2.1.0-alpha.3) (2023-02-17)
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
### Features
|
|
71
|
+
|
|
72
|
+
* **web:** factbox component ([#672](https://github.com/BonnierNews/dn-design-system/issues/672)) ([310447e](https://github.com/BonnierNews/dn-design-system/commit/310447e35638aa7a289db613ee9e754098ed9718))
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
## 2.1.0-alpha.2 (2023-02-17)
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
### Bug Fixes
|
|
80
|
+
|
|
81
|
+
* **web:** support auto in spacing helper ([#677](https://github.com/BonnierNews/dn-design-system/issues/677)) ([c6b3a2d](https://github.com/BonnierNews/dn-design-system/commit/c6b3a2dfca50033ff80917e44eadbb772357696b))
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
## [2.1.0-alpha.1](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@2.1.0-alpha.0...@bonniernews/dn-design-system-web@2.1.0-alpha.1) (2023-02-15)
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
### Bug Fixes
|
|
89
|
+
|
|
90
|
+
* **web:** add missing button toggle style to list item ([#670](https://github.com/BonnierNews/dn-design-system/issues/670)) ([fcc5ddb](https://github.com/BonnierNews/dn-design-system/commit/fcc5ddbc6000224dd38e599161631a61075387fd))
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
6
94
|
## [2.1.0-alpha.0](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@2.0.0...@bonniernews/dn-design-system-web@2.1.0-alpha.0) (2023-02-14)
|
|
7
95
|
|
|
8
96
|
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
|size| String | no | default, small | default | |
|
|
16
16
|
|fullWidth | bool | no | true, false | false | Button will be full width on both desktop and mobile |
|
|
17
17
|
|mobile.fullWidth | bool | no | true, false | false | Ex mobile: { fullWidth: true } |
|
|
18
|
+
|condensed | bool | no | true, false | false | Condensed reduces spacing to a bare minimum, use with care since this might make touch target area smaller than recommended size |
|
|
18
19
|
|iconPosition | String | no | none, left, right | none | |
|
|
19
20
|
|iconName | String | no | add, arrow_back, arrow_forward etc | | For all available icons see: https://designsystem.dn.se/?path=/story/foundations-icon-web--all |
|
|
20
21
|
|loading | bool | no | true, false | false | |
|
|
@@ -30,6 +30,10 @@
|
|
|
30
30
|
{% set variant = (variant.push("ds-force-px"), variant) %}
|
|
31
31
|
{% endif %}
|
|
32
32
|
|
|
33
|
+
{% if params.condensed %}
|
|
34
|
+
{% set variant = (variant.push(classNamePrefix + "condensed"), variant) %}
|
|
35
|
+
{% endif %}
|
|
36
|
+
|
|
33
37
|
{% if params.size and params.size != "default" %}
|
|
34
38
|
{% set variant = (variant.push(classNamePrefix + params.size), variant) %}
|
|
35
39
|
{% endif %}
|
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
@use "sass:math";
|
|
2
|
-
@use "../../foundations/helpers/
|
|
3
|
-
@use "../../foundations/helpers/typography.scss" as *;
|
|
4
|
-
@use "../../foundations/helpers/mediaQueries.scss" as *;
|
|
5
|
-
@use "../../foundations/helpers/metrics.scss" as *;
|
|
6
|
-
@use "../../foundations/helpers/utilities.scss" as *;
|
|
7
|
-
@use "../../foundations/helpers/colors.scss" as *;
|
|
8
|
-
@use "../../foundations/helpers/loading.scss" as *;
|
|
2
|
+
@use "../../foundations/helpers/forward.helpers.scss" as *;
|
|
9
3
|
@use "../../foundations/icons/icon.scss" as *;
|
|
10
4
|
@use "../spinner/spinner.scss" as *;
|
|
11
5
|
|
|
@@ -17,14 +11,17 @@ $ds-btn__icon-size: 24px;
|
|
|
17
11
|
cursor: pointer;
|
|
18
12
|
background-color: transparent;
|
|
19
13
|
border: none;
|
|
20
|
-
min-width: $ds-btn__min-clickable-area;
|
|
21
|
-
min-height: $ds-btn__min-clickable-area;
|
|
22
14
|
display: inline-flex;
|
|
23
15
|
align-items: center;
|
|
24
16
|
justify-content: center;
|
|
25
17
|
padding: 0;
|
|
26
18
|
position: relative;
|
|
27
19
|
|
|
20
|
+
&:not(.ds-btn--condensed) {
|
|
21
|
+
min-width: $ds-btn__min-clickable-area;
|
|
22
|
+
min-height: $ds-btn__min-clickable-area;
|
|
23
|
+
}
|
|
24
|
+
|
|
28
25
|
&:focus-visible {
|
|
29
26
|
outline: none;
|
|
30
27
|
.ds-btn__inner {
|
|
@@ -62,8 +59,10 @@ $ds-btn__icon-size: 24px;
|
|
|
62
59
|
}
|
|
63
60
|
}
|
|
64
61
|
|
|
65
|
-
|
|
66
|
-
|
|
62
|
+
@include ds-hover() {
|
|
63
|
+
&:hover:not(:disabled):not(.ds-loading) .ds-btn__inner::before {
|
|
64
|
+
background-color: $ds-color-component-primary-overlay;
|
|
65
|
+
}
|
|
67
66
|
}
|
|
68
67
|
&:active:not(:disabled):not(.ds-loading) .ds-btn__inner::before {
|
|
69
68
|
background-color: $ds-color-component-primary-overlay-02;
|
|
@@ -172,8 +171,10 @@ $ds-btn__icon-size: 24px;
|
|
|
172
171
|
&:focus-visible .ds-btn__inner {
|
|
173
172
|
outline-color: $ds-color-border-focus-02;
|
|
174
173
|
}
|
|
175
|
-
|
|
176
|
-
|
|
174
|
+
@include ds-hover() {
|
|
175
|
+
&:hover:not(:disabled):not(.ds-loading) .ds-btn__inner::before {
|
|
176
|
+
background-color: $ds-color-component-secondary-overlay;
|
|
177
|
+
}
|
|
177
178
|
}
|
|
178
179
|
&:active:not(:disabled):not(.ds-loading) .ds-btn__inner::before {
|
|
179
180
|
background-color: $ds-color-component-secondary-overlay-02;
|
|
@@ -225,8 +226,10 @@ $ds-btn__icon-size: 24px;
|
|
|
225
226
|
&:focus-visible .ds-btn__inner {
|
|
226
227
|
outline-color: $ds-color-border-focus-02;
|
|
227
228
|
}
|
|
228
|
-
|
|
229
|
-
|
|
229
|
+
@include ds-hover() {
|
|
230
|
+
&:hover:not(:disabled):not(.ds-loading) .ds-btn__inner::before {
|
|
231
|
+
background-color: #0808081a; // static version of lightmode component-secondary-overlay
|
|
232
|
+
}
|
|
230
233
|
}
|
|
231
234
|
&:active:not(:disabled):not(.ds-loading) .ds-btn__inner::before {
|
|
232
235
|
background-color: #08080833; // static version of lightmode component-secondary-overlay-2
|
|
@@ -245,9 +248,11 @@ $ds-btn__icon-size: 24px;
|
|
|
245
248
|
&:focus-visible .ds-btn__inner {
|
|
246
249
|
outline-color: $ds-color-static-white;
|
|
247
250
|
}
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
+
@include ds-hover() {
|
|
252
|
+
&:hover:not(:disabled):not(.ds-loading) .ds-btn__inner::before {
|
|
253
|
+
background-color: rgba(255, 255, 255, 0.101960784);
|
|
254
|
+
// static version of darkmode component-secondary-overlay
|
|
255
|
+
}
|
|
251
256
|
}
|
|
252
257
|
&:active:not(:disabled):not(.ds-loading) .ds-btn__inner::before {
|
|
253
258
|
background-color: rgba(255, 255, 255, 0.2);
|
|
@@ -275,7 +280,7 @@ $ds-btn__icon-size: 24px;
|
|
|
275
280
|
.ds-btn--primary,
|
|
276
281
|
.ds-btn--staticWhiteFilled {
|
|
277
282
|
&:not(.ds-loading):disabled {
|
|
278
|
-
opacity:
|
|
283
|
+
opacity: $ds-opacity-component-disabled;
|
|
279
284
|
.ds-btn__inner {
|
|
280
285
|
cursor: not-allowed;
|
|
281
286
|
}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
{% from '@bonniernews/dn-design-system-web/foundations/icons/icon.njk' import Icon %}
|
|
2
2
|
{% from '@bonniernews/dn-design-system-web/components/spinner/spinner.njk' import Spinner %}
|
|
3
|
+
{% from '@bonniernews/dn-design-system-web/njk-helpers/attributes.njk' import getAttributes %}
|
|
3
4
|
|
|
4
5
|
{% macro ButtonToggle(params) %}
|
|
5
6
|
{% set componentClassName = "ds-btn-toggle" %}
|
|
6
7
|
{% set classNamePrefix = componentClassName + "--" %}
|
|
7
8
|
{% set variant = [] %}
|
|
8
|
-
{% set attributes %}
|
|
9
|
-
{% for attribute, value in params.attributes %}
|
|
10
|
-
{{attribute}}="{{value}}"
|
|
11
|
-
{% endfor %}
|
|
12
|
-
{% endset %}
|
|
9
|
+
{% set attributes = getAttributes(params.attributes) %}
|
|
13
10
|
|
|
14
11
|
{% if params.selected %}
|
|
15
12
|
{% set variant = (variant.push(classNamePrefix + "selected"), variant) %}
|
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
@use "sass:math";
|
|
2
|
-
@use "../../foundations/helpers/
|
|
3
|
-
@use "../../foundations/helpers/typography.scss" as *;
|
|
4
|
-
@use "../../foundations/helpers/mediaQueries.scss" as *;
|
|
5
|
-
@use "../../foundations/helpers/metrics.scss" as *;
|
|
6
|
-
@use "../../foundations/helpers/utilities.scss" as *;
|
|
7
|
-
@use "../../foundations/helpers/colors.scss" as *;
|
|
8
|
-
@use "../../foundations/helpers/loading.scss" as *;
|
|
2
|
+
@use "../../foundations/helpers/forward.helpers.scss" as *;
|
|
9
3
|
@use "../../foundations/icons/icon.scss" as *;
|
|
10
4
|
@use "../spinner/spinner.scss" as *;
|
|
11
5
|
|
|
@@ -71,8 +65,10 @@ $ds-btn-toggle__icon-size-xsmall: 20px;
|
|
|
71
65
|
}
|
|
72
66
|
}
|
|
73
67
|
|
|
74
|
-
|
|
75
|
-
|
|
68
|
+
@include ds-hover() {
|
|
69
|
+
&:hover:not(:disabled):not(.ds-loading) .ds-btn-toggle__inner::before {
|
|
70
|
+
background-color: $ds-color-component-primary-overlay;
|
|
71
|
+
}
|
|
76
72
|
}
|
|
77
73
|
&:active:not(:disabled):not(.ds-loading) .ds-btn-toggle__inner::before {
|
|
78
74
|
background-color: $ds-color-component-primary-overlay-02;
|
|
@@ -127,7 +123,7 @@ $ds-btn-toggle__icon-size-xsmall: 20px;
|
|
|
127
123
|
}
|
|
128
124
|
&:not(.ds-btn-toggle--selected) {
|
|
129
125
|
&:not(.ds-loading):disabled {
|
|
130
|
-
opacity:
|
|
126
|
+
opacity: $ds-opacity-component-disabled;
|
|
131
127
|
.ds-btn-toggle__inner {
|
|
132
128
|
cursor: not-allowed;
|
|
133
129
|
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
- GitHub: [BonnierNews/dn-design-system/../web/src/components/factbox](https://github.com/BonnierNews/dn-design-system/tree/main/web/src/components/factbox)
|
|
2
|
+
- Storybook: [Factbox > Web](https://designsystem.dn.se/?path=/story/components-web-factbox-web--factbox)
|
|
3
|
+
|
|
4
|
+
----
|
|
5
|
+
|
|
6
|
+
# Factbox
|
|
7
|
+
|
|
8
|
+
## Parameters
|
|
9
|
+
|
|
10
|
+
|parameter | type | required | options | default | description |
|
|
11
|
+
|:--- | :--- | :--- | :--- | :--- | :--- |
|
|
12
|
+
|vignetteHtml | HTML String | no | | | |
|
|
13
|
+
|titleHtml | HTML String | yes | | | |
|
|
14
|
+
|bodyHtml | HTML String | yes | | | |
|
|
15
|
+
|variant | String | yes | standard, culture, sport, economy | standard | Design variant |
|
|
16
|
+
|grade | String | no | | | zero, one, two, three, four, five, none |
|
|
17
|
+
|attributes | Object | no | | | Ex. { target: "_blank", "data-test": "lorem ipsum" } |
|
|
18
|
+
|classNames | String | no | | | Ex. "my-special-class" |
|
|
19
|
+
|forceExpanded | bool | no | true, false | false | Full factbox is shown regardless of height and no control buttons are shown|
|
|
20
|
+
|forcePx | bool | no | true, false | false | Fixed pixel value is used for typography to prevent scaling based on html font-size |
|
|
21
|
+
|
|
22
|
+
## Minimum requirement example
|
|
23
|
+
|
|
24
|
+
### Nunjucks
|
|
25
|
+
|
|
26
|
+
These are copy paste friendly examples to quickliy get started using a component.
|
|
27
|
+
|
|
28
|
+
```html
|
|
29
|
+
{% from '@bonniernews/dn-design-system-web/components/factbox/factbox.njk' import Factbox %}
|
|
30
|
+
|
|
31
|
+
{{ Factbox({
|
|
32
|
+
vignetteHtml: "",
|
|
33
|
+
titleHtml: "Drama",
|
|
34
|
+
bodyHtml: "<p>”Irrational man”<br />Regi och manus: Woody Allen<br />I rollerna: Joaquin Phoenix, Emma Stone, Parker Posey m fl.<br />Längd: 1 tim 35 min (från 11 år.)</p>",
|
|
35
|
+
variant: "culture",
|
|
36
|
+
grade: "two",
|
|
37
|
+
forcePx: true
|
|
38
|
+
})}}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### SCSS
|
|
42
|
+
```scss
|
|
43
|
+
@use "@bonniernews/dn-design-system-web/components/factbox/factbox" as *;
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Javascript
|
|
47
|
+
|
|
48
|
+
```javascript
|
|
49
|
+
import dsFactbox from '@bonniernews/dn-design-system-web/components/factbox/factbox.js'
|
|
50
|
+
const factboxElements = Array.from(document.getElementsByClassName("ds-factbox"));
|
|
51
|
+
dsFactbox(factboxElements);
|
|
52
|
+
```
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export {
|
|
2
|
+
dsFactbox,
|
|
3
|
+
dsFactboxAll
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
const selector = "ds-factbox";
|
|
7
|
+
const expandedClass = `${selector}--expanded`;
|
|
8
|
+
const maxHeight = 468; // this has to match max-height in factbox.scss
|
|
9
|
+
|
|
10
|
+
function dsFactbox(factboxElements) {
|
|
11
|
+
if (!factboxElements.length) return;
|
|
12
|
+
factboxElements.forEach((factboxEl) => {
|
|
13
|
+
if (factboxEl.classList.contains(expandedClass)) return;
|
|
14
|
+
|
|
15
|
+
const contentEl = factboxEl.getElementsByClassName(`${selector}__content`)[0];
|
|
16
|
+
if (contentEl.getBoundingClientRect().height <= maxHeight) {
|
|
17
|
+
factboxEl.classList.add(expandedClass);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const showMoreEl = factboxEl.getElementsByClassName(`${selector}__show-more`)[0];
|
|
22
|
+
showMoreEl.classList.add(`${selector}__show-more--collapsable`);
|
|
23
|
+
|
|
24
|
+
const expandMoreBtn = factboxEl.getElementsByClassName(`${selector}__expand-more`)[0];
|
|
25
|
+
const expandLessBtn = factboxEl.getElementsByClassName(`${selector}__expand-less`)[0];
|
|
26
|
+
|
|
27
|
+
expandMoreBtn.addEventListener("click", () => {
|
|
28
|
+
factboxEl.classList.add(expandedClass);
|
|
29
|
+
showMoreEl.setAttribute("data-factbox-expanded", "");
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
expandLessBtn.addEventListener("click", () => {
|
|
33
|
+
factboxEl.classList.remove(expandedClass);
|
|
34
|
+
showMoreEl.removeAttribute("data-factbox-expanded");
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function dsFactboxAll() {
|
|
40
|
+
const factboxElements = Array.from(document.getElementsByClassName(`${selector}`));
|
|
41
|
+
dsFactbox(factboxElements);
|
|
42
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{% from '@bonniernews/dn-design-system-web/foundations/icons/grade-icon.njk' import GradeIcon %}
|
|
2
|
+
{% from '@bonniernews/dn-design-system-web/components/button/button.njk' import Button %}
|
|
3
|
+
|
|
4
|
+
{% macro Factbox(params) %}
|
|
5
|
+
{% set componentClassName = "ds-factbox" %}
|
|
6
|
+
{% set classNamePrefix = componentClassName + "--" %}
|
|
7
|
+
{% set variant = [] %}
|
|
8
|
+
{% set grades = ["zero", "one", "two", "three", "four", "five"] %}
|
|
9
|
+
{% set activeGrade = params.grade | default("") | string %}
|
|
10
|
+
|
|
11
|
+
{% set attributes %}
|
|
12
|
+
{% for attribute, value in params.attributes %}
|
|
13
|
+
{{attribute}}="{{value}}"
|
|
14
|
+
{% endfor %}
|
|
15
|
+
{% endset %}
|
|
16
|
+
|
|
17
|
+
{% if params.variant %}
|
|
18
|
+
{% set variant = (variant.push(classNamePrefix + params.variant), variant) %}
|
|
19
|
+
{% else %}
|
|
20
|
+
{% set variant = (variant.push(classNamePrefix + "standard"), variant) %}
|
|
21
|
+
{% endif %}
|
|
22
|
+
|
|
23
|
+
{% if params.forcePx %}
|
|
24
|
+
{% set variant = (variant.push("ds-force-px"), variant) %}
|
|
25
|
+
{% endif %}
|
|
26
|
+
|
|
27
|
+
{% if params.forceExpand %}
|
|
28
|
+
{% set variant = (variant.push(classNamePrefix + "expanded"), variant) %}
|
|
29
|
+
{% endif %}
|
|
30
|
+
|
|
31
|
+
{% if params.classNames %}
|
|
32
|
+
{% set variant = (variant.push(params.classNames), variant) %}
|
|
33
|
+
{% endif%}
|
|
34
|
+
|
|
35
|
+
{% set classes = componentClassName + " " + variant | join(" ") %}
|
|
36
|
+
|
|
37
|
+
<div class="{{ classes }}" {{- attributes | safe }}>
|
|
38
|
+
<div class="{{ componentClassName + '__inner'}}">
|
|
39
|
+
<div class="{{ componentClassName + '__content'}}">
|
|
40
|
+
<h2 class="{{ componentClassName + '__title'}}">
|
|
41
|
+
{%- if params.vignetteHtml %}<span class="{{ componentClassName + '__vignette'}}">{{ params.vignetteHtml | safe }}</span>{%- endif %}
|
|
42
|
+
{{- params.titleHtml | safe -}}
|
|
43
|
+
</h2>
|
|
44
|
+
{% if activeGrade and activeGrade in grades %}
|
|
45
|
+
<div class="{{ componentClassName + '__grade'}}">{{- GradeIcon({ icon: activeGrade }) | safe }}</div>
|
|
46
|
+
{% endif%}
|
|
47
|
+
<div class="{{ componentClassName + '__body'}}">{{ params.bodyHtml | safe }}</div>
|
|
48
|
+
</div>
|
|
49
|
+
<div class="{{ componentClassName + '__show-more'}}">
|
|
50
|
+
{{ Button({
|
|
51
|
+
text: 'Visa mer',
|
|
52
|
+
variant: 'secondaryFilled',
|
|
53
|
+
size: 'small',
|
|
54
|
+
iconPosition: 'right',
|
|
55
|
+
iconName: 'expand_more',
|
|
56
|
+
classNames: 'ds-factbox__expand-more',
|
|
57
|
+
fullWidth: true,
|
|
58
|
+
forcePx: params.forcePx,
|
|
59
|
+
condensed: true
|
|
60
|
+
})}}
|
|
61
|
+
{{ Button({
|
|
62
|
+
text: 'Visa mindre',
|
|
63
|
+
variant: 'secondaryFilled',
|
|
64
|
+
size: 'small',
|
|
65
|
+
iconPosition: 'right',
|
|
66
|
+
iconName: 'expand_less',
|
|
67
|
+
classNames: 'ds-factbox__expand-less',
|
|
68
|
+
fullWidth: true,
|
|
69
|
+
forcePx: params.forcePx,
|
|
70
|
+
condensed: true
|
|
71
|
+
})}}
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
74
|
+
</div>
|
|
75
|
+
{% endmacro %}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
@use "../../foundations/helpers/forward.helpers.scss" as *;
|
|
2
|
+
@use "../button/button.scss" as *;
|
|
3
|
+
|
|
4
|
+
$ds-factbox__grade-size: 40px + (ds-metrics-border-width(x2) * 2);
|
|
5
|
+
$ds-factbox__show-more-fade-height: 48px;
|
|
6
|
+
$ds-factbox__padding: ds-spacing-component(x4);
|
|
7
|
+
$ds-factbox__max-height: 500px - ($ds-factbox__padding * 2);
|
|
8
|
+
|
|
9
|
+
.ds-factbox {
|
|
10
|
+
background-color: $ds-color-surface-background;
|
|
11
|
+
padding: $ds-factbox__padding;
|
|
12
|
+
padding-left: $ds-factbox__padding - ds-metrics-border-width(x2);
|
|
13
|
+
padding-top: $ds-factbox__padding - ds-metrics-border-width(x1);
|
|
14
|
+
border-top: ds-metrics-border-width(x1) solid $ds-color-border-primary;
|
|
15
|
+
border-left: ds-metrics-border-width(x2) solid $ds-color-component-brand;
|
|
16
|
+
margin: ds-spacing-layout(
|
|
17
|
+
gap-vertical-static-medium 0 gap-vertical-static-large
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
.ds-factbox__inner {
|
|
21
|
+
max-height: ds-px-to-rem($ds-factbox__max-height);
|
|
22
|
+
overflow: hidden;
|
|
23
|
+
position: relative;
|
|
24
|
+
|
|
25
|
+
@at-root .ds-force-px#{&} {
|
|
26
|
+
max-height: $ds-factbox__max-height;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&--expanded .ds-factbox__inner,
|
|
31
|
+
&--expanded.ds-force-px .ds-factbox__inner {
|
|
32
|
+
max-height: none;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.ds-factbox__body {
|
|
36
|
+
overflow: hidden;
|
|
37
|
+
@include ds-typography($ds-typography-functional-body02regular);
|
|
38
|
+
color: $ds-color-text-primary;
|
|
39
|
+
@at-root .ds-force-px#{&} {
|
|
40
|
+
@include ds-typography($ds-typography-functional-body02regular, true);
|
|
41
|
+
}
|
|
42
|
+
p {
|
|
43
|
+
margin: 0 0 ds-spacing-component(x4);
|
|
44
|
+
}
|
|
45
|
+
p:last-child {
|
|
46
|
+
margin-bottom: 0;
|
|
47
|
+
}
|
|
48
|
+
a {
|
|
49
|
+
@include ds-link($ds-link-article-body);
|
|
50
|
+
}
|
|
51
|
+
strong {
|
|
52
|
+
@include ds-typography($ds-typography-functional-body02medium);
|
|
53
|
+
@at-root .ds-force-px#{&} {
|
|
54
|
+
@include ds-typography($ds-typography-functional-body02medium, true);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
img {
|
|
58
|
+
max-width: 100%;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
.ds-factbox__title {
|
|
62
|
+
@include ds-typography($ds-typography-functional-heading01bold);
|
|
63
|
+
color: $ds-color-text-primary;
|
|
64
|
+
margin: 0 0 ds-spacing-component(x4);
|
|
65
|
+
@at-root .ds-force-px#{&} {
|
|
66
|
+
@include ds-typography($ds-typography-functional-heading01bold, true);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
.ds-factbox__vignette {
|
|
70
|
+
color: $ds-color-component-brand;
|
|
71
|
+
margin-right: ds-spacing-component(x1);
|
|
72
|
+
}
|
|
73
|
+
.ds-factbox__grade {
|
|
74
|
+
color: $ds-color-icon-primary;
|
|
75
|
+
margin: 0 0 ds-spacing-component(x4);
|
|
76
|
+
|
|
77
|
+
.ds-icon {
|
|
78
|
+
display: block;
|
|
79
|
+
height: ds-px-to-rem($ds-factbox__grade-size);
|
|
80
|
+
svg {
|
|
81
|
+
height: 100%;
|
|
82
|
+
width: auto;
|
|
83
|
+
circle {
|
|
84
|
+
stroke: currentColor;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
@at-root .ds-force-px#{&} {
|
|
88
|
+
height: $ds-factbox__grade-size;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
.ds-factbox__show-more--collapsable::before {
|
|
93
|
+
content: "";
|
|
94
|
+
background: $ds-color-gradient-content-fade-up;
|
|
95
|
+
height: ds-px-to-rem($ds-factbox__show-more-fade-height);
|
|
96
|
+
width: 100%;
|
|
97
|
+
position: absolute;
|
|
98
|
+
top: -#{ds-px-to-rem($ds-factbox__show-more-fade-height)};
|
|
99
|
+
|
|
100
|
+
@at-root .ds-force-px#{&} {
|
|
101
|
+
height: $ds-factbox__show-more-fade-height;
|
|
102
|
+
top: -#{$ds-factbox__show-more-fade-height};
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
.ds-factbox__show-more {
|
|
106
|
+
display: none;
|
|
107
|
+
}
|
|
108
|
+
.ds-factbox__show-more--collapsable {
|
|
109
|
+
background-color: $ds-color-surface-background;
|
|
110
|
+
width: 100%;
|
|
111
|
+
button {
|
|
112
|
+
margin: ds-spacing-component(x4 0 0);
|
|
113
|
+
}
|
|
114
|
+
&,
|
|
115
|
+
&:not([data-factbox-expanded]) .ds-factbox__expand-more,
|
|
116
|
+
&[data-factbox-expanded] .ds-factbox__expand-less {
|
|
117
|
+
display: block;
|
|
118
|
+
}
|
|
119
|
+
&:not([data-factbox-expanded]) .ds-factbox__expand-less,
|
|
120
|
+
&[data-factbox-expanded] .ds-factbox__expand-more,
|
|
121
|
+
&[data-factbox-expanded]::before {
|
|
122
|
+
display: none;
|
|
123
|
+
}
|
|
124
|
+
&:not([data-factbox-expanded]) {
|
|
125
|
+
position: absolute;
|
|
126
|
+
bottom: 0;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
&--culture {
|
|
131
|
+
border-left-color: $ds-color-static-kultur;
|
|
132
|
+
.ds-factbox__vignette {
|
|
133
|
+
color: $ds-color-static-kultur;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
&--sport {
|
|
137
|
+
border-left-color: $ds-color-static-sport;
|
|
138
|
+
.ds-factbox__vignette {
|
|
139
|
+
color: $ds-color-static-sport;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
&--economy {
|
|
143
|
+
border-left-color: $ds-color-static-economy;
|
|
144
|
+
.ds-factbox__vignette {
|
|
145
|
+
color: $ds-color-static-economy;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
{%
|
|
2
|
-
{% macro _getAttributes(attributes) %}
|
|
3
|
-
{% for attribute, value in attributes %}
|
|
4
|
-
{{attribute}}="{{value}}"
|
|
5
|
-
{% endfor %}
|
|
6
|
-
{% endmacro %}
|
|
1
|
+
{% from '@bonniernews/dn-design-system-web/njk-helpers/attributes.njk' import getAttributes %}
|
|
7
2
|
|
|
3
|
+
{% macro Footer(params) %}
|
|
8
4
|
{% set componentClassName = "ds-footer" %}
|
|
9
5
|
{% set classNamePrefix = componentClassName + "--" %}
|
|
10
6
|
{% set variant = [] %}
|
|
@@ -23,11 +19,11 @@
|
|
|
23
19
|
<div class="{{ componentClassName + '__inner'}}">
|
|
24
20
|
<div class="{{ componentClassName + '__link-grid'}}">
|
|
25
21
|
{% for group in params.linkGroups %}
|
|
26
|
-
<div class="{{ componentClassName + '__link-group'}}" {{-
|
|
22
|
+
<div class="{{ componentClassName + '__link-group'}}" {{- getAttributes(group.attributes) | safe }}>
|
|
27
23
|
<h2>{{ group.title }}</h2>
|
|
28
24
|
<ul>
|
|
29
25
|
{% for link in group.links %}
|
|
30
|
-
<li><a href="{{ link.href }}" class="ds-footer__link {{ link.classNames }}" {{-
|
|
26
|
+
<li><a href="{{ link.href }}" class="ds-footer__link {{ link.classNames }}" {{- getAttributes(link.attributes) | safe }}>{{ link.text }}</a></li>
|
|
31
27
|
{% endfor %}
|
|
32
28
|
</ul>
|
|
33
29
|
</div>
|
|
@@ -51,11 +47,10 @@
|
|
|
51
47
|
{% if params.channels %}
|
|
52
48
|
<div class="{{ componentClassName + '__channels'}}">
|
|
53
49
|
{% for link in params.channels %}
|
|
54
|
-
<a href="{{ link.href }}" class="ds-footer__channel-link {{ link.classNames }}" {{-
|
|
50
|
+
<a href="{{ link.href }}" class="ds-footer__channel-link {{ link.classNames }}" {{- getAttributes(link.attributes) | safe }}>{{ link.text }}</a>
|
|
55
51
|
{% endfor %}
|
|
56
52
|
</div>
|
|
57
53
|
{% endif %}
|
|
58
54
|
</div>
|
|
59
55
|
</footer>
|
|
60
56
|
{% endmacro %}
|
|
61
|
-
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
|disabled | bool | no | true, false | false | |
|
|
19
19
|
|border | bool | no | true, false | false | |
|
|
20
20
|
|attributes | Object | no | | | Ex. { target: "_blank", "data-test": "lorem ipsum" } |
|
|
21
|
+
|elementAttributes | Object | no | | | Sets attributes on actual checkbox element and not list item. Same structure as attributes above |
|
|
21
22
|
|classNames | String | no | | | Ex. "my-special-class" |
|
|
22
23
|
|forcePx | bool | no | true, false | false | Fixed pixel value is used for typography to prevent scaling based on html font-size
|
|
23
24
|
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
|disabled | bool | no | true, false | false | |
|
|
20
20
|
|border | bool | no | true, false | false | |
|
|
21
21
|
|attributes | Object | no | | | Ex. { target: "_blank", "data-test": "lorem ipsum" } |
|
|
22
|
+
|elementAttributes | Object | no | | | Sets attributes on actual radio element and not list item. Same structure as attributes above |
|
|
22
23
|
|classNames | String | no | | | Ex. "my-special-class" |
|
|
23
24
|
|forcePx | bool | no | true, false | false | Fixed pixel value is used for typography to prevent scaling based on html font-size
|
|
24
25
|
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
|border | bool | no | true, false | false | |
|
|
19
19
|
|leadingIcon | String | no | add, arrow_back, arrow_forward etc | | For all available icons see: https://designsystem.dn.se/?path=/story/foundations-icon-web--all |
|
|
20
20
|
|attributes | Object | no | | | Ex. { target: "_blank", "data-test": "lorem ipsum" } |
|
|
21
|
+
|elementAttributes | Object | no | | | Sets attributes on actual switch element and not list item. Same structure as attributes above |
|
|
21
22
|
|classNames | String | no | | | Ex. "my-special-class" |
|
|
22
23
|
|forcePx | bool | no | true, false | false | Fixed pixel value is used for typography to prevent scaling based on html font-size
|
|
23
24
|
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
|disabled | bool | no | true, false | false | |
|
|
20
20
|
|border | bool | no | true, false | false | |
|
|
21
21
|
|attributes | Object | no | | | Ex. { target: "_blank", "data-test": "lorem ipsum" } |
|
|
22
|
+
|elementAttributes | Object | no | | | Sets attributes on actual toggle element and not list item. Same structure as attributes above |
|
|
22
23
|
|classNames | String | no | | | Ex. "my-special-class" |
|
|
23
24
|
|forcePx | bool | no | true, false | false | Fixed pixel value is used for typography to prevent scaling based on html font-size
|
|
24
25
|
|
|
@@ -34,7 +35,7 @@ These are copy paste friendly examples to quickliy get started using a component
|
|
|
34
35
|
{{ ListItem({
|
|
35
36
|
listItemType: 'toggle',
|
|
36
37
|
title: 'My toggle list item',
|
|
37
|
-
titleHref: '
|
|
38
|
+
titleHref: 'dn.se',
|
|
38
39
|
toggleText: 'Följ',
|
|
39
40
|
toggleSelectedText: 'Följer'
|
|
40
41
|
})}}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
{% from '@bonniernews/dn-design-system-web/components/checkbox/checkbox.njk' import Checkbox %}
|
|
4
4
|
{% from '@bonniernews/dn-design-system-web/components/radio-button/radio-button.njk' import RadioButton %}
|
|
5
5
|
{% from '@bonniernews/dn-design-system-web/components/button-toggle/button-toggle.njk' import ButtonToggle %}
|
|
6
|
+
{% from '@bonniernews/dn-design-system-web/njk-helpers/attributes.njk' import getAttributes %}
|
|
6
7
|
|
|
7
8
|
{% macro ListItem(params) %}
|
|
8
9
|
{% set componentClassName = "ds-list-item" %}
|
|
@@ -16,7 +17,7 @@
|
|
|
16
17
|
{% if params.title %}
|
|
17
18
|
<div class="{{ componentClassName + '__titles'}}">
|
|
18
19
|
{% if params.titleHref and not params.disabled %}
|
|
19
|
-
<a class="{{ componentClassName + '__title'}}" href="{{ params.
|
|
20
|
+
<a class="{{ componentClassName + '__title'}}" href="{{ params.titleHref }}">{{ params.title }}</a>
|
|
20
21
|
{% else %}
|
|
21
22
|
<span class="{{ componentClassName + '__title'}}">{{ params.title }}</span>
|
|
22
23
|
{% endif %}
|
|
@@ -43,11 +44,7 @@
|
|
|
43
44
|
{% macro ListItemInner(params, componentClassName) %}
|
|
44
45
|
{% set classNamePrefix = componentClassName + "--" %}
|
|
45
46
|
{% set variant = [] %}
|
|
46
|
-
{% set attributes %}
|
|
47
|
-
{% for attribute, value in params.attributes %}
|
|
48
|
-
{{attribute}}="{{value}}"
|
|
49
|
-
{% endfor %}
|
|
50
|
-
{% endset %}
|
|
47
|
+
{% set attributes = getAttributes(params.attributes) %}
|
|
51
48
|
|
|
52
49
|
{% if params.forcePx %}
|
|
53
50
|
{% set variant = (variant.push("ds-force-px"), variant) %}
|
|
@@ -101,7 +98,8 @@
|
|
|
101
98
|
condensed: true,
|
|
102
99
|
disabled: params.disabled,
|
|
103
100
|
forcePx: params.forcePx,
|
|
104
|
-
stripLabel: true
|
|
101
|
+
stripLabel: true,
|
|
102
|
+
attributes: params.elementAttributes
|
|
105
103
|
})}}
|
|
106
104
|
{% endset %}
|
|
107
105
|
{{ caller() if caller }}
|
|
@@ -115,7 +113,7 @@
|
|
|
115
113
|
condensed: true,
|
|
116
114
|
disabled: params.disabled,
|
|
117
115
|
forcePx: params.forcePx,
|
|
118
|
-
buttons: [{ id: params.id, checked: params.selected }]
|
|
116
|
+
buttons: [{ id: params.id, checked: params.selected, attributes: params.elementAttributes }]
|
|
119
117
|
})}}
|
|
120
118
|
{% endset %}
|
|
121
119
|
{{ caller() if caller }}
|
|
@@ -131,7 +129,8 @@
|
|
|
131
129
|
condensed: true,
|
|
132
130
|
disabled: params.disabled,
|
|
133
131
|
forcePx: params.forcePx,
|
|
134
|
-
stripLabel: true
|
|
132
|
+
stripLabel: true,
|
|
133
|
+
attributes: params.elementAttributes
|
|
135
134
|
})}}
|
|
136
135
|
{% endset %}
|
|
137
136
|
{{ caller() if caller }}
|
|
@@ -158,7 +157,8 @@
|
|
|
158
157
|
condensed: false,
|
|
159
158
|
disabled: params.disabled,
|
|
160
159
|
forcePx: params.forcePx,
|
|
161
|
-
size: "xsmall"
|
|
160
|
+
size: "xsmall",
|
|
161
|
+
attributes: params.elementAttributes
|
|
162
162
|
})}}
|
|
163
163
|
{% endset %}
|
|
164
164
|
{{ caller() if caller }}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
@use "../checkbox/checkbox.scss" as *;
|
|
4
4
|
@use "../switch/switch.scss" as *;
|
|
5
5
|
@use "../radio-button/radio-button.scss" as *;
|
|
6
|
+
@use "../button-toggle/button-toggle.scss" as *;
|
|
6
7
|
|
|
7
8
|
$ds-list-item__icon-size: 24px;
|
|
8
9
|
$ds-list-item__padding: ds-spacing-component(x4);
|
|
@@ -209,8 +210,7 @@ $ds-list-item__padding: ds-spacing-component(x4);
|
|
|
209
210
|
|
|
210
211
|
.ds-list-item--accordion .ds-checkbox__accordion,
|
|
211
212
|
.ds-list-item--radio .ds-radio-btn__inner,
|
|
212
|
-
.ds-list-item--checkbox .ds-checkbox__inner
|
|
213
|
-
.ds-list-item--switch .ds-switch__inner {
|
|
213
|
+
.ds-list-item--checkbox .ds-checkbox__inner {
|
|
214
214
|
&::before {
|
|
215
215
|
display: none;
|
|
216
216
|
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
- GitHub: [BonnierNews/dn-design-system/../web/src/components/quote](https://github.com/BonnierNews/dn-design-system/tree/main/web/src/components/quote)
|
|
2
|
+
- Storybook: [Quote > Web](https://designsystem.dn.se/?path=/story/components-app-web-quote-web)
|
|
3
|
+
|
|
4
|
+
----
|
|
5
|
+
|
|
6
|
+
# Quote
|
|
7
|
+
|
|
8
|
+
## Parameters
|
|
9
|
+
|
|
10
|
+
|parameter | type | required | options | default | description |
|
|
11
|
+
|:--- | :--- | :--- | :--- | :--- | :--- |
|
|
12
|
+
|bodyHtml | HTML String | yes | | | |
|
|
13
|
+
|variant | String | no | standard, culture, sport, economy | standard | Design variant |
|
|
14
|
+
|attributes | Object | no | | | Ex. { target: "_blank", "data-test": "lorem ipsum" } |
|
|
15
|
+
|classNames | String | no | | | Ex. "my-special-class" |
|
|
16
|
+
|forcePx | bool | no | true, false | false | Fixed pixel value is used for typography to prevent scaling based on html font-size |
|
|
17
|
+
|
|
18
|
+
## Minimum requirement example
|
|
19
|
+
|
|
20
|
+
### Nunjucks
|
|
21
|
+
|
|
22
|
+
These are copy paste friendly examples to quickliy get started using a component.
|
|
23
|
+
|
|
24
|
+
```html
|
|
25
|
+
{% from '@bonniernews/dn-design-system-web/components/quote/quote.njk' import Quote %}
|
|
26
|
+
|
|
27
|
+
{{ Quote({
|
|
28
|
+
variant: "culture",
|
|
29
|
+
bodyHtml: ""
|
|
30
|
+
})}}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### SCSS
|
|
34
|
+
```scss
|
|
35
|
+
@use "@bonniernews/dn-design-system-web/components/quote/quote";
|
|
36
|
+
```
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{% from '@bonniernews/dn-design-system-web/njk-helpers/attributes.njk' import getAttributes %}
|
|
2
|
+
|
|
3
|
+
{% macro Quote(params) %}
|
|
4
|
+
{% set componentClassName = "ds-quote" %}
|
|
5
|
+
{% set classNamePrefix = componentClassName + "--" %}
|
|
6
|
+
{% set variant = [] %}
|
|
7
|
+
{% set attributes = getAttributes(params.attributes) %}
|
|
8
|
+
|
|
9
|
+
{% if params.forcePx %}
|
|
10
|
+
{% set variant = (variant.push("ds-force-px"), variant) %}
|
|
11
|
+
{% endif %}
|
|
12
|
+
|
|
13
|
+
{% if params.variant %}
|
|
14
|
+
{% set variant = (variant.push(classNamePrefix + params.variant), variant) %}
|
|
15
|
+
{% else %}
|
|
16
|
+
{% set variant = (variant.push(classNamePrefix + "standard"), variant) %}
|
|
17
|
+
{% endif %}
|
|
18
|
+
|
|
19
|
+
{% if params.classNames %}
|
|
20
|
+
{% set variant = (variant.push(params.classNames), variant) %}
|
|
21
|
+
{% endif%}
|
|
22
|
+
|
|
23
|
+
{% set classes = componentClassName + " " + variant | join(" ") %}
|
|
24
|
+
|
|
25
|
+
<blockquote class="{{ classes }}" {{- attributes | safe }}>
|
|
26
|
+
<span class="{{ componentClassName + '__border'}}"></span>
|
|
27
|
+
{{ params.bodyHtml | safe }}
|
|
28
|
+
</blockquote>
|
|
29
|
+
{% endmacro %}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
@use "../../foundations/helpers/forward.helpers.scss" as *;
|
|
2
|
+
|
|
3
|
+
.ds-quote {
|
|
4
|
+
@include ds-typography($ds-typography-expressive-heading03bold);
|
|
5
|
+
color: $ds-color-text-primary;
|
|
6
|
+
margin: ds-spacing-layout(
|
|
7
|
+
gap-vertical-static-medium 0 gap-vertical-static-large
|
|
8
|
+
);
|
|
9
|
+
position: relative;
|
|
10
|
+
|
|
11
|
+
@at-root .ds-force-px#{&} {
|
|
12
|
+
@include ds-typography($ds-typography-expressive-heading03bold, true);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.ds-quote__border {
|
|
16
|
+
display: block;
|
|
17
|
+
width: 40px;
|
|
18
|
+
height: 8px;
|
|
19
|
+
color: $ds-color-component-brand;
|
|
20
|
+
background: currentColor;
|
|
21
|
+
margin: ds-spacing-component(0 0 x2);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&--culture .ds-quote__border {
|
|
25
|
+
color: $ds-color-static-kultur;
|
|
26
|
+
}
|
|
27
|
+
&--sport .ds-quote__border {
|
|
28
|
+
color: $ds-color-static-sport;
|
|
29
|
+
}
|
|
30
|
+
&--economy .ds-quote__border {
|
|
31
|
+
color: $ds-color-static-economy;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
@use "../../foundations/helpers/
|
|
2
|
-
@use "../../foundations/helpers/typography.scss" as *;
|
|
3
|
-
@use "../../foundations/helpers/mediaQueries.scss" as *;
|
|
4
|
-
@use "../../foundations/helpers/metrics.scss" as *;
|
|
5
|
-
@use "../../foundations/helpers/utilities.scss" as *;
|
|
6
|
-
@use "../../foundations/helpers/colors.scss" as *;
|
|
1
|
+
@use "../../foundations/helpers/forward.helpers.scss" as *;
|
|
7
2
|
|
|
8
3
|
$ds-switch__knob-size: 16px;
|
|
9
4
|
$ds-switch__knob-padding: 4px;
|
|
@@ -108,18 +103,30 @@ $ds-switch__container-width: 44px;
|
|
|
108
103
|
outline-color: $ds-color-border-focus;
|
|
109
104
|
}
|
|
110
105
|
}
|
|
106
|
+
}
|
|
111
107
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
input:not(:disabled)
|
|
119
|
-
|
|
120
|
-
|
|
108
|
+
@include ds-hover() {
|
|
109
|
+
.ds-switch
|
|
110
|
+
input:not(:disabled)
|
|
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 {
|
|
117
|
+
background-color: $ds-color-component-primary-overlay;
|
|
121
118
|
}
|
|
122
119
|
}
|
|
120
|
+
.ds-switch
|
|
121
|
+
input:not(:disabled)
|
|
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 {
|
|
128
|
+
background-color: $ds-color-component-primary-overlay-02;
|
|
129
|
+
}
|
|
123
130
|
|
|
124
131
|
.ds-switch--condensed .ds-switch__inner {
|
|
125
132
|
padding: 0;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
- GitHub: [BonnierNews/dn-design-system/../web/src/components/thematic-break](https://github.com/BonnierNews/dn-design-system/tree/main/web/src/components/thematic-break)
|
|
2
|
+
- Storybook: [ThematicBreak > Web](https://designsystem.dn.se/?path=/story/components-app-web-article-components-thematicbreak-web--thematic-break)
|
|
3
|
+
|
|
4
|
+
----
|
|
5
|
+
|
|
6
|
+
# ThematicBreak
|
|
7
|
+
|
|
8
|
+
## Parameters
|
|
9
|
+
|
|
10
|
+
|parameter | type | required | options | default | description |
|
|
11
|
+
|:--- | :--- | :--- | :--- | :--- | :--- |
|
|
12
|
+
|attributes | Object | no | | | Ex. { target: "_blank", "data-test": "lorem ipsum" } |
|
|
13
|
+
|classNames | String | no | | | Ex. "my-special-class" |
|
|
14
|
+
|
|
15
|
+
## Minimum requirement example
|
|
16
|
+
|
|
17
|
+
### Nunjucks
|
|
18
|
+
|
|
19
|
+
These are copy paste friendly examples to quickliy get started using a component.
|
|
20
|
+
|
|
21
|
+
```html
|
|
22
|
+
{% from '@bonniernews/dn-design-system-web/components/thematic-break/thematic-break.njk' import ThematicBreak %}
|
|
23
|
+
|
|
24
|
+
{{ ThematicBreak() }}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### SCSS
|
|
28
|
+
```scss
|
|
29
|
+
@use "@bonniernews/dn-design-system-web/components/thematic-break/thematic-break";
|
|
30
|
+
```
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{% from '@bonniernews/dn-design-system-web/njk-helpers/attributes.njk' import getAttributes %}
|
|
2
|
+
|
|
3
|
+
{% macro ThematicBreak(params) %}
|
|
4
|
+
{% set componentClassName = "ds-thematic-break" %}
|
|
5
|
+
{% set additionalClasses = [] %}
|
|
6
|
+
{% set attributes = getAttributes(params.attributes) %}
|
|
7
|
+
|
|
8
|
+
{% if params.classNames %}
|
|
9
|
+
{% set additionalClasses = (additionalClasses.push(params.classNames), additionalClasses) %}
|
|
10
|
+
{% endif%}
|
|
11
|
+
|
|
12
|
+
{% set classes = componentClassName + " " + additionalClasses | join(" ") %}
|
|
13
|
+
<hr class="{{ classes }}" {{- attributes | safe }}>
|
|
14
|
+
{% endmacro %}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
@use "../../foundations/helpers/forward.helpers.scss" as *;
|
|
2
|
+
|
|
3
|
+
.ds-thematic-break {
|
|
4
|
+
width: 128px;
|
|
5
|
+
height: 4px;
|
|
6
|
+
margin: ds-spacing-layout(gap-vertical-static-medium) auto
|
|
7
|
+
ds-spacing-layout(gap-vertical-static-large);
|
|
8
|
+
background-color: $ds-color-border-primary;
|
|
9
|
+
border: none;
|
|
10
|
+
}
|
|
@@ -25,7 +25,9 @@
|
|
|
25
25
|
|
|
26
26
|
@each $unit in $units {
|
|
27
27
|
$value: map.get($map, $unit);
|
|
28
|
-
@if ($unit ==
|
|
28
|
+
@if ($unit == "auto") {
|
|
29
|
+
$value: auto;
|
|
30
|
+
} @else if ($unit == 0) {
|
|
29
31
|
$value: 0 * 1;
|
|
30
32
|
} @else if ($value and type-of($value) == "number") {
|
|
31
33
|
@if ($sizeUnit == "rem") {
|
|
@@ -36,7 +38,7 @@
|
|
|
36
38
|
$value: $value * 1px;
|
|
37
39
|
}
|
|
38
40
|
}
|
|
39
|
-
@if (type-of($value) == "number") {
|
|
41
|
+
@if (type-of($value) == "number" or $value == "auto") {
|
|
40
42
|
$values: list.append($values, $value);
|
|
41
43
|
}
|
|
42
44
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{% macro GradeIcon(params) %}
|
|
2
|
+
{% set iconName = params.icon | lower %}
|
|
3
|
+
<i class="ds-icon ds-icon--grade-{{ iconName }}">
|
|
4
|
+
{% if iconName == "zero" %}
|
|
5
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 194 44"><path d="M20.52 12C15.816 12 13 15.891 13 21.985 13 28.078 15.816 32 20.52 32c4.703 0 7.55-3.922 7.55-10.015 0-6.094-2.847-9.985-7.55-9.985Zm0 19.366c-.93 0-1.409-.603-1.409-1.78V14.414c0-1.176.48-1.75 1.409-1.75.958 0 1.438.574 1.438 1.75v15.174c0 1.176-.48 1.78-1.438 1.78ZM31.633 32C32.952 32 34 31.035 34 29.255c0-1.75-1.048-2.745-2.367-2.745-1.318 0-2.366.995-2.366 2.745 0 1.78 1.048 2.745 2.366 2.745Z"/><circle cx="22" cy="22" r="21" fill="none" stroke-width="2"/><g opacity=".5"><path d="M59.04 12C57.35 15.318 54 14.655 54 14.655v.512s1.69.151 2.577-.271v14.087c0 1.78-.43 1.991-.887 1.991h-1.26v.392h9.908v-.392h-1.26c-.487 0-.888-.21-.888-1.99V12h-3.15ZM67.738 32c1.26 0 2.262-.965 2.262-2.745 0-1.75-1.002-2.745-2.262-2.745s-2.262.995-2.262 2.745c0 1.78 1.002 2.745 2.262 2.745Z"/></g><g opacity=".5"><path d="M95.814 23.735c0 2.111-1.264 2.654-1.793 2.654h-6.348c2.704-1.327 8.465-4.464 8.465-8.507 0-3.046-2.264-5.882-7.76-5.882-3.527 0-5.76 2.474-5.76 4.766 0 2.233 1.498 3.258 2.997 3.258 2.851 0 2.91-2.685 2.91-2.835 0-.634-.44-2.625-2.998-2.625 0 0 .059-1.87 2.851-1.87.911 0 1.763.603 1.763 1.78v5.37c0 2.08-.793 3.197-1.028 3.559C87.143 26.269 82 31.035 82 31.035v.694h14.167v-7.994h-.353ZM99.678 32c1.293 0 2.322-.965 2.322-2.745 0-1.75-1.029-2.745-2.322-2.745-1.293 0-2.322.995-2.322 2.745 0 1.78 1.029 2.745 2.322 2.745Z"/></g><g opacity=".5"><path d="M122.896 20.507c1.516-.392 3.368-1.358 3.368-3.801 0-3.952-3.901-4.706-6.427-4.706-3.62.06-5.304 2.262-5.304 4.314 0 1.99 1.291 2.896 2.582 2.896 2.442 0 2.498-2.384 2.498-2.534 0-.573-.365-2.353-2.582-2.353 0 0-.14-1.69 2.89-1.69.786 0 1.516.544 1.516 1.6v2.322c0 1.508.112 3.801-1.487 3.801h-1.769v.633h1.74c.87 0 1.572.634 1.572 1.84v6.697c0 1.177-.814 1.78-1.684 1.78-3.367 0-3.003-1.87-3.003-1.87 2.442 0 2.835-1.991 2.835-2.655 0-.12-.028-2.805-2.75-2.805-1.432 0-2.891 1.026-2.891 3.258 0 2.292 1.74 4.766 5.809 4.766 5.248 0 7.409-3.047 7.409-6.093 0-2.354-1.179-4.525-4.322-5.4ZM129.783 32c1.235 0 2.217-.965 2.217-2.745 0-1.75-.982-2.745-2.217-2.745s-2.217.995-2.217 2.745c0 1.78.982 2.745 2.217 2.745Z"/></g><g opacity=".5"><path d="M156.935 31.336c-.455 0-.883-.18-.883-1.96v-1.931h2.308v-1.237h-2.308V12h-4.359L144 26.45v.995h6.468v1.93c0 1.78-.399 1.961-.884 1.961h-1.253v.393h9.858v-.393h-1.254Zm-12.08-5.128 5.613-10.679v10.68h-5.613ZM161.749 32c1.254 0 2.251-.965 2.251-2.745 0-1.75-.997-2.745-2.251-2.745s-2.251.995-2.251 2.745c0 1.78.997 2.745 2.251 2.745Z"/></g><g opacity=".5"><path d="M182.073 20.518c-1.888 0-3.392.884-3.392.884v-3.448h8.097l1.587-5.897-.356-.057s-.383 1.111-1.887 1.111h-8.043l-.027 9.202.437.2c1.532-1.453 3.174-1.396 3.475-1.396.848 0 1.504.598 1.504 1.738v6.837c0 1.111-.766 1.653-1.614 1.653-3.283 0-3.118-1.738-3.118-1.738 2.38 0 2.762-1.88 2.762-2.507 0-.143-.027-2.65-2.68-2.65-1.396 0-2.818.94-2.818 3.049 0 2.193 1.86 4.501 5.854 4.501 5.116 0 7.222-2.792 7.222-5.67 0-2.791-1.805-5.811-7.003-5.811ZM191.839 32c1.204 0 2.161-.912 2.161-2.593 0-1.652-.957-2.592-2.161-2.592-1.204 0-2.161.94-2.161 2.592 0 1.681.957 2.593 2.161 2.593Z"/></g></svg>
|
|
6
|
+
{% elif iconName == "one" %}
|
|
7
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 197 44"><g opacity=".5"><path d="M7.52 12C2.816 12 0 15.891 0 21.985 0 28.078 2.816 32 7.52 32c4.703 0 7.55-3.922 7.55-10.015C15.07 15.89 12.222 12 7.52 12Zm0 19.366c-.93 0-1.408-.603-1.408-1.78V14.414c0-1.176.479-1.75 1.408-1.75.958 0 1.438.574 1.438 1.75v15.174c0 1.176-.48 1.78-1.438 1.78ZM18.633 32C19.952 32 21 31.035 21 29.255c0-1.75-1.049-2.745-2.367-2.745s-2.366.995-2.366 2.745c0 1.78 1.048 2.745 2.366 2.745Z"/></g><circle cx="53" cy="22" r="21" fill="none" stroke-width="2"/><path d="M52.04 12C50.35 15.318 47 14.655 47 14.655v.512s1.69.151 2.577-.271v14.087c0 1.78-.43 1.991-.887 1.991h-1.26v.392h9.907v-.392h-1.26c-.486 0-.887-.21-.887-1.99V12h-3.15ZM60.738 32c1.26 0 2.262-.965 2.262-2.745 0-1.75-1.002-2.745-2.262-2.745s-2.262.995-2.262 2.745c0 1.78 1.002 2.745 2.262 2.745Z"/><g opacity=".5"><path d="M98.814 23.735c0 2.111-1.264 2.654-1.793 2.654h-6.348c2.704-1.327 8.465-4.464 8.465-8.507 0-3.046-2.264-5.882-7.76-5.882-3.527 0-5.76 2.474-5.76 4.766 0 2.233 1.498 3.258 2.997 3.258 2.851 0 2.91-2.685 2.91-2.835 0-.634-.44-2.625-2.998-2.625 0 0 .059-1.87 2.851-1.87.911 0 1.763.603 1.763 1.78v5.37c0 2.08-.793 3.197-1.028 3.559C90.143 26.269 85 31.035 85 31.035v.694h14.167v-7.994h-.353ZM102.678 32c1.293 0 2.322-.965 2.322-2.745 0-1.75-1.029-2.745-2.322-2.745-1.293 0-2.322.995-2.322 2.745 0 1.78 1.029 2.745 2.322 2.745Z"/></g><g opacity=".5"><path d="M125.896 20.507c1.516-.392 3.368-1.358 3.368-3.801 0-3.952-3.901-4.706-6.427-4.706-3.62.06-5.304 2.262-5.304 4.314 0 1.99 1.291 2.896 2.582 2.896 2.442 0 2.498-2.384 2.498-2.534 0-.573-.365-2.353-2.582-2.353 0 0-.14-1.69 2.89-1.69.786 0 1.516.544 1.516 1.6v2.322c0 1.508.112 3.801-1.487 3.801h-1.769v.633h1.74c.87 0 1.572.634 1.572 1.84v6.697c0 1.177-.814 1.78-1.684 1.78-3.367 0-3.003-1.87-3.003-1.87 2.442 0 2.835-1.991 2.835-2.655 0-.12-.028-2.805-2.75-2.805-1.432 0-2.891 1.026-2.891 3.258 0 2.292 1.74 4.766 5.809 4.766 5.248 0 7.409-3.047 7.409-6.093 0-2.354-1.179-4.525-4.322-5.4ZM132.783 32c1.235 0 2.217-.965 2.217-2.745 0-1.75-.982-2.745-2.217-2.745s-2.217.995-2.217 2.745c0 1.78.982 2.745 2.217 2.745Z"/></g><g opacity=".5"><path d="M159.935 31.336c-.455 0-.883-.18-.883-1.96v-1.931h2.308v-1.237h-2.308V12h-4.359L147 26.45v.995h6.468v1.93c0 1.78-.399 1.961-.884 1.961h-1.253v.393h9.858v-.393h-1.254Zm-12.08-5.128 5.613-10.679v10.68h-5.613ZM164.749 32c1.254 0 2.251-.965 2.251-2.745 0-1.75-.997-2.745-2.251-2.745s-2.251.995-2.251 2.745c0 1.78.997 2.745 2.251 2.745Z"/></g><g opacity=".5"><path d="M185.073 20.518c-1.888 0-3.392.884-3.392.884v-3.448h8.097l1.587-5.897-.356-.057s-.383 1.111-1.887 1.111h-8.043l-.027 9.202.437.2c1.532-1.453 3.174-1.396 3.475-1.396.848 0 1.504.598 1.504 1.738v6.837c0 1.111-.766 1.653-1.614 1.653-3.283 0-3.118-1.738-3.118-1.738 2.38 0 2.762-1.88 2.762-2.507 0-.143-.027-2.65-2.68-2.65-1.396 0-2.818.94-2.818 3.049 0 2.193 1.86 4.501 5.854 4.501 5.116 0 7.222-2.792 7.222-5.67 0-2.791-1.805-5.811-7.003-5.811ZM194.839 32c1.204 0 2.161-.912 2.161-2.593 0-1.652-.957-2.592-2.161-2.592-1.204 0-2.161.94-2.161 2.592 0 1.681.957 2.593 2.161 2.593Z"/></g></svg>
|
|
8
|
+
{% elif iconName == "two" %}
|
|
9
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 193 44"><g opacity=".5"><path d="M7.52 12C2.816 12 0 15.891 0 21.985 0 28.078 2.816 32 7.52 32c4.703 0 7.55-3.922 7.55-10.015C15.07 15.89 12.222 12 7.52 12Zm0 19.366c-.93 0-1.408-.603-1.408-1.78V14.414c0-1.176.479-1.75 1.408-1.75.958 0 1.438.574 1.438 1.75v15.174c0 1.176-.48 1.78-1.438 1.78ZM18.633 32C19.952 32 21 31.035 21 29.255c0-1.75-1.049-2.745-2.367-2.745s-2.366.995-2.366 2.745c0 1.78 1.048 2.745 2.366 2.745Z"/></g><g opacity=".5"><path d="M38.04 12C36.35 15.318 33 14.655 33 14.655v.512s1.69.151 2.577-.271v14.087c0 1.78-.43 1.991-.887 1.991h-1.26v.392h9.907v-.392h-1.26c-.486 0-.887-.21-.887-1.99V12h-3.15ZM46.738 32c1.26 0 2.262-.965 2.262-2.745 0-1.75-1.002-2.745-2.262-2.745s-2.262.995-2.262 2.745c0 1.78 1.002 2.745 2.262 2.745Z"/></g><circle cx="81" cy="22" r="21" fill="none" stroke-width="2"/><path d="M85.814 23.735c0 2.111-1.264 2.654-1.793 2.654h-6.348c2.704-1.327 8.465-4.464 8.465-8.507 0-3.046-2.264-5.882-7.76-5.882-3.527 0-5.76 2.474-5.76 4.766 0 2.233 1.498 3.258 2.997 3.258 2.851 0 2.91-2.685 2.91-2.835 0-.634-.44-2.625-2.998-2.625 0 0 .059-1.87 2.851-1.87.911 0 1.763.603 1.763 1.78v5.37c0 2.08-.793 3.197-1.028 3.559C77.143 26.269 72 31.035 72 31.035v.694h14.167v-7.994h-.353ZM89.678 32C90.971 32 92 31.035 92 29.255c0-1.75-1.029-2.745-2.322-2.745-1.293 0-2.322.995-2.322 2.745 0 1.78 1.029 2.745 2.322 2.745Z"/><g opacity=".5"><path d="M121.896 20.507c1.516-.392 3.368-1.358 3.368-3.801 0-3.952-3.901-4.706-6.427-4.706-3.62.06-5.304 2.262-5.304 4.314 0 1.99 1.291 2.896 2.582 2.896 2.442 0 2.498-2.384 2.498-2.534 0-.573-.365-2.353-2.582-2.353 0 0-.14-1.69 2.89-1.69.786 0 1.516.544 1.516 1.6v2.322c0 1.508.112 3.801-1.487 3.801h-1.769v.633h1.74c.87 0 1.572.634 1.572 1.84v6.697c0 1.177-.814 1.78-1.684 1.78-3.367 0-3.003-1.87-3.003-1.87 2.442 0 2.835-1.991 2.835-2.655 0-.12-.028-2.805-2.75-2.805-1.432 0-2.891 1.026-2.891 3.258 0 2.292 1.74 4.766 5.809 4.766 5.248 0 7.409-3.047 7.409-6.093 0-2.354-1.179-4.525-4.322-5.4ZM128.783 32c1.235 0 2.217-.965 2.217-2.745 0-1.75-.982-2.745-2.217-2.745s-2.217.995-2.217 2.745c0 1.78.982 2.745 2.217 2.745Z"/></g><g opacity=".5"><path d="M155.935 31.336c-.455 0-.883-.18-.883-1.96v-1.931h2.308v-1.237h-2.308V12h-4.359L143 26.45v.995h6.468v1.93c0 1.78-.399 1.961-.884 1.961h-1.253v.393h9.858v-.393h-1.254Zm-12.08-5.128 5.613-10.679v10.68h-5.613ZM160.749 32c1.254 0 2.251-.965 2.251-2.745 0-1.75-.997-2.745-2.251-2.745s-2.251.995-2.251 2.745c0 1.78.997 2.745 2.251 2.745Z"/></g><g opacity=".5"><path d="M181.073 20.518c-1.888 0-3.392.884-3.392.884v-3.448h8.097l1.587-5.897-.356-.057s-.383 1.111-1.887 1.111h-8.043l-.027 9.202.437.2c1.532-1.453 3.174-1.396 3.475-1.396.848 0 1.504.598 1.504 1.738v6.837c0 1.111-.766 1.653-1.614 1.653-3.283 0-3.118-1.738-3.118-1.738 2.38 0 2.762-1.88 2.762-2.507 0-.143-.027-2.65-2.68-2.65-1.396 0-2.818.94-2.818 3.049 0 2.193 1.86 4.501 5.854 4.501 5.116 0 7.222-2.792 7.222-5.67 0-2.791-1.805-5.811-7.003-5.811ZM190.839 32c1.204 0 2.161-.912 2.161-2.593 0-1.652-.957-2.592-2.161-2.592-1.204 0-2.161.94-2.161 2.592 0 1.681.957 2.593 2.161 2.593Z"/></g></svg>
|
|
10
|
+
{% elif iconName == "three" %}
|
|
11
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 195 44"><g opacity=".5"><path d="M7.52 12C2.816 12 0 15.891 0 21.985 0 28.078 2.816 32 7.52 32c4.703 0 7.55-3.922 7.55-10.015C15.07 15.89 12.222 12 7.52 12Zm0 19.366c-.93 0-1.408-.603-1.408-1.78V14.414c0-1.176.479-1.75 1.408-1.75.958 0 1.438.574 1.438 1.75v15.174c0 1.176-.48 1.78-1.438 1.78ZM18.633 32C19.952 32 21 31.035 21 29.255c0-1.75-1.049-2.745-2.367-2.745s-2.366.995-2.366 2.745c0 1.78 1.048 2.745 2.366 2.745Z"/></g><g opacity=".5"><path d="M38.04 12C36.35 15.318 33 14.655 33 14.655v.512s1.69.151 2.577-.271v14.087c0 1.78-.43 1.991-.887 1.991h-1.26v.392h9.907v-.392h-1.26c-.486 0-.887-.21-.887-1.99V12h-3.15ZM46.738 32c1.26 0 2.262-.965 2.262-2.745 0-1.75-1.002-2.745-2.262-2.745s-2.262.995-2.262 2.745c0 1.78 1.002 2.745 2.262 2.745Z"/></g><g opacity=".5"><path d="M74.814 23.735c0 2.111-1.264 2.654-1.793 2.654h-6.348c2.704-1.327 8.465-4.464 8.465-8.507 0-3.046-2.264-5.882-7.76-5.882-3.527 0-5.76 2.474-5.76 4.766 0 2.233 1.498 3.258 2.997 3.258 2.851 0 2.91-2.685 2.91-2.835 0-.634-.44-2.625-2.998-2.625 0 0 .059-1.87 2.851-1.87.911 0 1.763.603 1.763 1.78v5.37c0 2.08-.793 3.197-1.028 3.559C66.143 26.269 61 31.035 61 31.035v.694h14.167v-7.994h-.353ZM78.678 32C79.971 32 81 31.035 81 29.255c0-1.75-1.029-2.745-2.322-2.745-1.293 0-2.322.995-2.322 2.745 0 1.78 1.029 2.745 2.322 2.745Z"/></g><path d="M113.896 20.507c1.516-.392 3.368-1.358 3.368-3.801 0-3.952-3.901-4.706-6.427-4.706-3.62.06-5.304 2.262-5.304 4.314 0 1.99 1.291 2.896 2.582 2.896 2.442 0 2.498-2.384 2.498-2.534 0-.573-.365-2.353-2.582-2.353 0 0-.14-1.69 2.89-1.69.786 0 1.516.544 1.516 1.6v2.322c0 1.508.112 3.801-1.487 3.801h-1.769v.633h1.74c.87 0 1.572.634 1.572 1.84v6.697c0 1.177-.814 1.78-1.684 1.78-3.367 0-3.003-1.87-3.003-1.87 2.442 0 2.835-1.991 2.835-2.655 0-.12-.028-2.805-2.75-2.805-1.432 0-2.891 1.026-2.891 3.258 0 2.292 1.74 4.766 5.809 4.766 5.248 0 7.409-3.047 7.409-6.093 0-2.354-1.179-4.525-4.322-5.4ZM120.783 32c1.235 0 2.217-.965 2.217-2.745 0-1.75-.982-2.745-2.217-2.745s-2.217.995-2.217 2.745c0 1.78.982 2.745 2.217 2.745Z"/><circle cx="113" cy="22" r="21" fill="none" stroke-width="2"/><g opacity=".5"><path d="M157.935 31.336c-.455 0-.883-.18-.883-1.96v-1.931h2.308v-1.237h-2.308V12h-4.359L145 26.45v.995h6.468v1.93c0 1.78-.399 1.961-.884 1.961h-1.253v.393h9.858v-.393h-1.254Zm-12.08-5.128 5.613-10.679v10.68h-5.613ZM162.749 32c1.254 0 2.251-.965 2.251-2.745 0-1.75-.997-2.745-2.251-2.745s-2.251.995-2.251 2.745c0 1.78.997 2.745 2.251 2.745Z"/></g><g opacity=".5"><path d="M183.073 20.518c-1.888 0-3.392.884-3.392.884v-3.448h8.097l1.587-5.897-.356-.057s-.383 1.111-1.887 1.111h-8.043l-.027 9.202.437.2c1.532-1.453 3.174-1.396 3.475-1.396.848 0 1.504.598 1.504 1.738v6.837c0 1.111-.766 1.653-1.614 1.653-3.283 0-3.118-1.738-3.118-1.738 2.38 0 2.762-1.88 2.762-2.507 0-.143-.027-2.65-2.68-2.65-1.396 0-2.818.94-2.818 3.049 0 2.193 1.86 4.501 5.854 4.501 5.116 0 7.222-2.792 7.222-5.67 0-2.791-1.805-5.811-7.003-5.811ZM192.839 32c1.204 0 2.161-.912 2.161-2.593 0-1.652-.957-2.592-2.161-2.592-1.204 0-2.161.94-2.161 2.592 0 1.681.957 2.593 2.161 2.593Z"/></g></svg>
|
|
12
|
+
{% elif iconName == "four" %}
|
|
13
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 193 44"><g opacity=".5"><path d="M7.52 12C2.816 12 0 15.891 0 21.985 0 28.078 2.816 32 7.52 32c4.703 0 7.55-3.922 7.55-10.015C15.07 15.89 12.222 12 7.52 12Zm0 19.366c-.93 0-1.408-.603-1.408-1.78V14.414c0-1.176.479-1.75 1.408-1.75.958 0 1.438.574 1.438 1.75v15.174c0 1.176-.48 1.78-1.438 1.78ZM18.633 32C19.952 32 21 31.035 21 29.255c0-1.75-1.049-2.745-2.367-2.745s-2.366.995-2.366 2.745c0 1.78 1.048 2.745 2.366 2.745Z"/></g><g opacity=".5"><path d="M38.04 12C36.35 15.318 33 14.655 33 14.655v.512s1.69.151 2.577-.271v14.087c0 1.78-.43 1.991-.887 1.991h-1.26v.392h9.907v-.392h-1.26c-.486 0-.887-.21-.887-1.99V12h-3.15ZM46.738 32c1.26 0 2.262-.965 2.262-2.745 0-1.75-1.002-2.745-2.262-2.745s-2.262.995-2.262 2.745c0 1.78 1.002 2.745 2.262 2.745Z"/></g><g opacity=".5"><path d="M74.814 23.735c0 2.111-1.264 2.654-1.793 2.654h-6.348c2.704-1.327 8.465-4.464 8.465-8.507 0-3.046-2.264-5.882-7.76-5.882-3.527 0-5.76 2.474-5.76 4.766 0 2.233 1.498 3.258 2.997 3.258 2.851 0 2.91-2.685 2.91-2.835 0-.634-.44-2.625-2.998-2.625 0 0 .059-1.87 2.851-1.87.911 0 1.763.603 1.763 1.78v5.37c0 2.08-.793 3.197-1.028 3.559C66.143 26.269 61 31.035 61 31.035v.694h14.167v-7.994h-.353ZM78.678 32C79.971 32 81 31.035 81 29.255c0-1.75-1.029-2.745-2.322-2.745-1.293 0-2.322.995-2.322 2.745 0 1.78 1.029 2.745 2.322 2.745Z"/></g><g opacity=".5"><path d="M101.896 20.507c1.516-.392 3.368-1.358 3.368-3.801 0-3.952-3.901-4.706-6.427-4.706-3.62.06-5.304 2.262-5.304 4.314 0 1.99 1.291 2.896 2.582 2.896 2.442 0 2.498-2.384 2.498-2.534 0-.573-.365-2.353-2.582-2.353 0 0-.14-1.69 2.89-1.69.786 0 1.516.544 1.516 1.6v2.322c0 1.508.112 3.801-1.487 3.801H97.18v.633h1.74c.87 0 1.572.634 1.572 1.84v6.697c0 1.177-.814 1.78-1.684 1.78-3.367 0-3.003-1.87-3.003-1.87 2.442 0 2.835-1.991 2.835-2.655 0-.12-.028-2.805-2.75-2.805-1.432 0-2.891 1.026-2.891 3.258C93 29.526 94.74 32 98.81 32c5.247 0 7.408-3.047 7.408-6.093 0-2.354-1.179-4.525-4.322-5.4ZM108.783 32c1.235 0 2.217-.965 2.217-2.745 0-1.75-.982-2.745-2.217-2.745s-2.217.995-2.217 2.745c0 1.78.982 2.745 2.217 2.745Z"/></g><path d="M146.935 31.336c-.455 0-.883-.18-.883-1.96v-1.931h2.308v-1.237h-2.308V12h-4.359L134 26.45v.995h6.468v1.93c0 1.78-.399 1.961-.884 1.961h-1.253v.393h9.858v-.393h-1.254Zm-12.08-5.128 5.613-10.679v10.68h-5.613ZM151.749 32c1.254 0 2.251-.965 2.251-2.745 0-1.75-.997-2.745-2.251-2.745s-2.251.995-2.251 2.745c0 1.78.997 2.745 2.251 2.745Z"/><circle cx="143" cy="22" r="21" fill="none" stroke-width="2"/><g opacity=".5"><path d="M181.073 20.518c-1.888 0-3.392.884-3.392.884v-3.448h8.097l1.587-5.897-.356-.057s-.383 1.111-1.887 1.111h-8.043l-.027 9.202.437.2c1.532-1.453 3.174-1.396 3.475-1.396.848 0 1.504.598 1.504 1.738v6.837c0 1.111-.766 1.653-1.614 1.653-3.283 0-3.118-1.738-3.118-1.738 2.38 0 2.762-1.88 2.762-2.507 0-.143-.027-2.65-2.68-2.65-1.396 0-2.818.94-2.818 3.049 0 2.193 1.86 4.501 5.854 4.501 5.116 0 7.222-2.792 7.222-5.67 0-2.791-1.805-5.811-7.003-5.811ZM190.839 32c1.204 0 2.161-.912 2.161-2.593 0-1.652-.957-2.592-2.161-2.592-1.204 0-2.161.94-2.161 2.592 0 1.681.957 2.593 2.161 2.593Z"/></g></svg>
|
|
14
|
+
{% elif iconName == "five" %}
|
|
15
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 197 44"><g opacity=".5"><path d="M7.52 12C2.816 12 0 15.891 0 21.985 0 28.078 2.816 32 7.52 32c4.703 0 7.55-3.922 7.55-10.015C15.07 15.89 12.222 12 7.52 12Zm0 19.366c-.93 0-1.408-.603-1.408-1.78V14.414c0-1.176.479-1.75 1.408-1.75.958 0 1.438.574 1.438 1.75v15.174c0 1.176-.48 1.78-1.438 1.78ZM18.633 32C19.952 32 21 31.035 21 29.255c0-1.75-1.049-2.745-2.367-2.745s-2.366.995-2.366 2.745c0 1.78 1.048 2.745 2.366 2.745Z"/></g><g opacity=".5"><path d="M38.04 12C36.35 15.318 33 14.655 33 14.655v.512s1.69.151 2.577-.271v14.087c0 1.78-.43 1.991-.887 1.991h-1.26v.392h9.907v-.392h-1.26c-.486 0-.887-.21-.887-1.99V12h-3.15ZM46.738 32c1.26 0 2.262-.965 2.262-2.745 0-1.75-1.002-2.745-2.262-2.745s-2.262.995-2.262 2.745c0 1.78 1.002 2.745 2.262 2.745Z"/></g><g opacity=".5"><path d="M74.814 23.735c0 2.111-1.264 2.654-1.793 2.654h-6.348c2.704-1.327 8.465-4.464 8.465-8.507 0-3.046-2.264-5.882-7.76-5.882-3.527 0-5.76 2.474-5.76 4.766 0 2.233 1.498 3.258 2.997 3.258 2.851 0 2.91-2.685 2.91-2.835 0-.634-.44-2.625-2.998-2.625 0 0 .059-1.87 2.851-1.87.911 0 1.763.603 1.763 1.78v5.37c0 2.08-.793 3.197-1.028 3.559C66.143 26.269 61 31.035 61 31.035v.694h14.167v-7.994h-.353ZM78.678 32C79.971 32 81 31.035 81 29.255c0-1.75-1.029-2.745-2.322-2.745-1.293 0-2.322.995-2.322 2.745 0 1.78 1.029 2.745 2.322 2.745Z"/></g><g opacity=".5"><path d="M101.896 20.507c1.516-.392 3.368-1.358 3.368-3.801 0-3.952-3.901-4.706-6.427-4.706-3.62.06-5.304 2.262-5.304 4.314 0 1.99 1.291 2.896 2.582 2.896 2.442 0 2.498-2.384 2.498-2.534 0-.573-.365-2.353-2.582-2.353 0 0-.14-1.69 2.89-1.69.786 0 1.516.544 1.516 1.6v2.322c0 1.508.112 3.801-1.487 3.801H97.18v.633h1.74c.87 0 1.572.634 1.572 1.84v6.697c0 1.177-.814 1.78-1.684 1.78-3.367 0-3.003-1.87-3.003-1.87 2.442 0 2.835-1.991 2.835-2.655 0-.12-.028-2.805-2.75-2.805-1.432 0-2.891 1.026-2.891 3.258C93 29.526 94.74 32 98.81 32c5.247 0 7.408-3.047 7.408-6.093 0-2.354-1.179-4.525-4.322-5.4ZM108.783 32c1.235 0 2.217-.965 2.217-2.745 0-1.75-.982-2.745-2.217-2.745s-2.217.995-2.217 2.745c0 1.78.982 2.745 2.217 2.745Z"/></g><g opacity=".5"><path d="M135.935 31.336c-.455 0-.883-.18-.883-1.96v-1.931h2.308v-1.237h-2.308V12h-4.359L123 26.45v.995h6.468v1.93c0 1.78-.399 1.961-.884 1.961h-1.253v.393h9.858v-.393h-1.254Zm-12.08-5.128 5.613-10.679v10.68h-5.613ZM140.749 32c1.254 0 2.251-.965 2.251-2.745 0-1.75-.997-2.745-2.251-2.745s-2.251.995-2.251 2.745c0 1.78.997 2.745 2.251 2.745Z"/></g><path d="M173.073 20.518c-1.888 0-3.392.884-3.392.884v-3.448h8.097l1.587-5.897-.356-.057s-.383 1.111-1.887 1.111h-8.043l-.027 9.202.437.2c1.532-1.453 3.174-1.396 3.475-1.396.848 0 1.504.598 1.504 1.738v6.837c0 1.111-.766 1.653-1.614 1.653-3.283 0-3.118-1.738-3.118-1.738 2.38 0 2.762-1.88 2.762-2.507 0-.143-.027-2.65-2.68-2.65-1.396 0-2.818.94-2.818 3.049 0 2.193 1.86 4.501 5.854 4.501 5.116 0 7.222-2.792 7.222-5.67 0-2.791-1.805-5.811-7.003-5.811ZM182.839 32c1.204 0 2.161-.912 2.161-2.593 0-1.652-.957-2.592-2.161-2.592-1.204 0-2.161.94-2.161 2.592 0 1.681.957 2.593 2.161 2.593Z"/><circle cx="175" cy="22" r="21" fill="none" stroke-width="2"/></svg>
|
|
16
|
+
{% endif %}
|
|
17
|
+
</i>
|
|
18
|
+
{% endmacro %}
|
|
@@ -54,7 +54,7 @@ $ds-hex-dark-gradient-content-fade-up: linear-gradient(180deg, #14141400 0%, #14
|
|
|
54
54
|
$ds-hex-dark-gradient-content-fade-down: linear-gradient(0deg, #14141400 0%, #141414 100%);
|
|
55
55
|
$ds-hex-dark-static-red-200: #FAD4D4;
|
|
56
56
|
$ds-hex-dark-static-black: #141414;
|
|
57
|
-
$ds-hex-dark-static-transparent-black: #
|
|
57
|
+
$ds-hex-dark-static-transparent-black: #14141480;
|
|
58
58
|
$ds-hex-dark-static-white: #ffffff;
|
|
59
59
|
$ds-hex-dark-static-transparent-white: #ffffff80;
|
|
60
60
|
$ds-hex-dark-static-green-100: #CEE4D6;
|
|
@@ -49,7 +49,7 @@ $ds-hex-border-focus-04: #3A8352;
|
|
|
49
49
|
$ds-hex-background-primary: #ffffff;
|
|
50
50
|
$ds-hex-static-red-200: #FAD4D4;
|
|
51
51
|
$ds-hex-static-black: #141414;
|
|
52
|
-
$ds-hex-static-transparent-black: #
|
|
52
|
+
$ds-hex-static-transparent-black: #14141480;
|
|
53
53
|
$ds-hex-static-white: #ffffff;
|
|
54
54
|
$ds-hex-static-transparent-white: #ffffff80;
|
|
55
55
|
$ds-hex-static-green-100: #CEE4D6;
|
package/package.json
CHANGED