@bonniernews/dn-design-system-web 2.1.0-alpha.1 → 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 CHANGED
@@ -3,6 +3,85 @@
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
+
6
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)
7
86
 
8
87
 
@@ -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/spacing.scss" as *;
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
- &:hover:not(:disabled):not(.ds-loading) .ds-btn__inner::before {
66
- background-color: $ds-color-component-primary-overlay;
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
- &:hover:not(:disabled):not(.ds-loading) .ds-btn__inner::before {
176
- background-color: $ds-color-component-secondary-overlay;
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
- &:hover:not(:disabled):not(.ds-loading) .ds-btn__inner::before {
229
- background-color: #0808081a; // static version of lightmode component-secondary-overlay
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
- &:hover:not(:disabled):not(.ds-loading) .ds-btn__inner::before {
249
- background-color: rgba(255, 255, 255, 0.101960784);
250
- // static version of darkmode component-secondary-overlay
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: 0.6; // @todo replace with opacity token if/when available
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/spacing.scss" as *;
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
- &:hover:not(:disabled):not(.ds-loading) .ds-btn-toggle__inner::before {
75
- background-color: $ds-color-component-primary-overlay;
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: 0.6; // @todo replace with opacity token if/when available
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
- {% macro Footer(params) %}
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'}}" {{- _getAttributes(group.attributes) | safe }}>
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 }}" {{- _getAttributes(link.attributes) | safe }}>{{ link.text }}</a></li>
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 }}" {{- _getAttributes(link.attributes) | safe }}>{{ link.text }}</a>
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.href }}">{{ params.title }}</a>
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 }}
@@ -210,8 +210,7 @@ $ds-list-item__padding: ds-spacing-component(x4);
210
210
 
211
211
  .ds-list-item--accordion .ds-checkbox__accordion,
212
212
  .ds-list-item--radio .ds-radio-btn__inner,
213
- .ds-list-item--checkbox .ds-checkbox__inner,
214
- .ds-list-item--switch .ds-switch__inner {
213
+ .ds-list-item--checkbox .ds-checkbox__inner {
215
214
  &::before {
216
215
  display: none;
217
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/spacing.scss" as *;
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
- &:hover {
113
- input:not(:disabled) + .ds-switch__box::before {
114
- background-color: $ds-color-component-primary-overlay;
115
- }
116
- }
117
- &:active {
118
- input:not(:disabled) + .ds-switch__box::before {
119
- background-color: $ds-color-component-primary-overlay-02;
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 == 0) {
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: #08080880;
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: #08080880;
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;
@@ -0,0 +1,5 @@
1
+ {% macro getAttributes(attributes) %}
2
+ {% for attribute, value in attributes %}
3
+ {{attribute}}="{{value}}"
4
+ {% endfor %}
5
+ {% endmacro %}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bonniernews/dn-design-system-web",
3
- "version": "2.1.0-alpha.1",
3
+ "version": "2.1.0-alpha.10",
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",