@bonniernews/dn-design-system-web 4.7.6 → 4.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/components/article-body-image/article-body-image.njk +4 -6
  3. package/components/article-top-image/article-top-image.njk +4 -6
  4. package/components/badge/badge.njk +9 -13
  5. package/components/blocked-content/blocked-content.njk +5 -10
  6. package/components/buddy-menu/buddy-menu.njk +7 -15
  7. package/components/button/button.njk +13 -32
  8. package/components/button-toggle/button-toggle.njk +12 -35
  9. package/components/byline/byline.njk +7 -14
  10. package/components/checkbox/checkbox.njk +8 -16
  11. package/components/disclaimer/disclaimer.njk +8 -16
  12. package/components/divider/divider.njk +5 -12
  13. package/components/factbox/factbox.njk +7 -18
  14. package/components/floating-button/floating-button.njk +10 -19
  15. package/components/footer/footer.njk +5 -12
  16. package/components/group-header/group-header.njk +6 -7
  17. package/components/icon-button/icon-button.njk +11 -28
  18. package/components/icon-sprite/icon-sprite.njk +9 -1
  19. package/components/icon-with-wrapper/icon-with-wrapper.njk +8 -14
  20. package/components/image-caption/image-caption.njk +6 -12
  21. package/components/list-item/list-item.njk +16 -26
  22. package/components/pictogram/pictogram.njk +7 -17
  23. package/components/quote/quote.njk +6 -14
  24. package/components/radio-button/radio-button.njk +7 -17
  25. package/components/spinner/spinner.njk +7 -16
  26. package/components/switch/switch.njk +9 -19
  27. package/components/teaser-card/teaser-card.njk +6 -14
  28. package/components/teaser-dot/teaser-dot.njk +6 -15
  29. package/components/teaser-image/teaser-image.njk +6 -9
  30. package/components/teaser-large/teaser-large.njk +12 -21
  31. package/components/teaser-list-swipe/teaser-list-swipe.njk +7 -16
  32. package/components/teaser-list-timeline/teaser-list-timeline.njk +11 -26
  33. package/components/teaser-longlife/teaser-longlife.njk +5 -7
  34. package/components/teaser-native/teaser-native.njk +8 -10
  35. package/components/teaser-onsite/teaser-onsite.njk +6 -9
  36. package/components/teaser-package/teaser-package.njk +6 -15
  37. package/components/teaser-right-now/teaser-right-now.njk +6 -8
  38. package/components/teaser-right-now/teaser-right-now.scss +3 -40
  39. package/components/teaser-slideshow/teaser-slideshow.njk +6 -6
  40. package/components/teaser-split/teaser-split.njk +13 -26
  41. package/components/teaser-standard/teaser-standard.njk +8 -13
  42. package/components/teaser-swipe-card/teaser-swipe-card.njk +6 -19
  43. package/components/teaser-tipsa/teaser-tipsa.njk +5 -6
  44. package/components/text-button/text-button.njk +16 -35
  45. package/components/text-button-toggle/text-button-toggle.njk +9 -22
  46. package/components/text-input/text-input.njk +5 -10
  47. package/components/thematic-break/thematic-break.njk +5 -7
  48. package/components/video-caption/video-caption.njk +5 -8
  49. package/components/vip-badge/vip-badge.njk +6 -11
  50. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,23 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 4.8.0 (2023-09-21)
7
+
8
+
9
+ ### Features
10
+
11
+ * **web:** update design for teaser-rightnow ([#995](https://github.com/BonnierNews/dn-design-system/issues/995)) ([8827b79](https://github.com/BonnierNews/dn-design-system/commit/8827b7937e07aaa1ddad6bba18ba42980f237985))
12
+
13
+
14
+
15
+ ## 4.7.7 (2023-09-20)
16
+
17
+ **Note:** Version bump only for package @bonniernews/dn-design-system-web
18
+
19
+
20
+
21
+
22
+
6
23
  ## 4.7.6 (2023-09-20)
7
24
 
8
25
 
@@ -4,14 +4,12 @@
4
4
 
5
5
  {% macro ArticleBodyImage(params) %}
6
6
  {% set componentClassName = "ds-article-image--body" %}
7
- {% set additionalClasses = [] %}
8
7
  {% set attributes = getAttributes(params.attributes) %}
9
8
 
10
- {% if params.classNames %}
11
- {% set additionalClasses = (additionalClasses.push(params.classNames), additionalClasses) %}
12
- {% endif %}
13
-
14
- {% set classes = componentClassName + " " + additionalClasses | join(" ") %}
9
+ {%- set classes = [
10
+ componentClassName,
11
+ params.classNames if params.classNames
12
+ ] | join(" ") %}
15
13
 
16
14
  {% set imageParams = { fullWidth: params.fullWidth, caption: params.caption, imageType: params.imageType, author: params.author, imageHtml: params.imageHtml, classNames: classes, attributes: attributes, forcePx: params.forcePx } %}
17
15
 
@@ -4,14 +4,12 @@
4
4
 
5
5
  {% macro ArticleTopImage(params) %}
6
6
  {% set componentClassName = "ds-article-image--top" %}
7
- {% set additionalClasses = [] %}
8
7
  {% set attributes = getAttributes(params.attributes) %}
9
8
 
10
- {% if params.classNames %}
11
- {% set additionalClasses = (additionalClasses.push(params.classNames), additionalClasses) %}
12
- {% endif %}
13
-
14
- {% set classes = componentClassName + " " + additionalClasses | join(" ") %}
9
+ {%- set classes = [
10
+ componentClassName,
11
+ params.classNames if params.classNames
12
+ ] | join(" ") %}
15
13
 
16
14
  {% set imageParams = { fullWidth: true, caption: params.caption, imageType: params.imageType, author: params.author, imageHtml: params.imageHtml, classNames: classes, attributes: attributes, forcePx: params.forcePx } %}
17
15
 
@@ -1,27 +1,23 @@
1
1
  {% macro Badge(params) %}
2
2
  {% set componentClassName = "ds-badge" %}
3
3
  {% set classNamePrefix = componentClassName + "--" %}
4
- {% set variant = [] %}
5
4
  {% set figure = params.figure %}
6
5
 
7
- {% if params.classNames %}
8
- {% set variant = (variant.push(params.classNames), variant) %}
9
- {% endif%}
10
-
11
6
  {% if figure and figure | string | length == 1 %}
12
- {% set variant = (variant.push(classNamePrefix + "single"), variant) %}
7
+ {% set variant = "single" %}
13
8
  {% elif figure %}
14
9
  {% set figure = "9+" %}
15
- {% set variant = (variant.push(classNamePrefix + "double"), variant) %}
10
+ {% set variant = "double" %}
16
11
  {% else %}
17
- {% set variant = (variant.push(classNamePrefix + "empty"), variant) %}
12
+ {% set variant = "empty" %}
18
13
  {% endif%}
19
14
 
20
- {% if params.forcePx %}
21
- {% set variant = (variant.push("ds-force-px"), variant) %}
22
- {% endif %}
23
-
24
- {% set classes = componentClassName + " " + variant | join(" ") %}
15
+ {%- set classes = [
16
+ componentClassName,
17
+ classNamePrefix + variant,
18
+ "ds-force-px" if params.forcePx,
19
+ params.classNames if params.classNames
20
+ ] | join(" ") %}
25
21
 
26
22
  <div class="{{ classes }}">
27
23
  <span class="{{ componentClassName + '__inner'}}">{{- figure | safe if figure -}}</span>
@@ -4,18 +4,13 @@
4
4
  {% macro BlockedContent(params) %}
5
5
  {% set componentClassName = "ds-blocked-content" %}
6
6
  {% set classNamePrefix = componentClassName + "--" %}
7
- {% set variant = [] %}
8
7
  {% set attributes = getAttributes(params.attributes) %}
9
8
 
10
- {% if params.forcePx %}
11
- {% set variant = (variant.push("ds-force-px"), variant) %}
12
- {% endif %}
13
-
14
- {% if params.classNames %}
15
- {% set variant = (variant.push(params.classNames), variant) %}
16
- {% endif%}
17
-
18
- {% set classes = componentClassName + " " + variant | join(" ") %}
9
+ {%- set classes = [
10
+ componentClassName,
11
+ "ds-force-px" if params.forcePx,
12
+ params.classNames if params.classNames
13
+ ] | join(" ") %}
19
14
 
20
15
  <div class="{{ classes }}" {{- attributes | safe }}>
21
16
  <div class="{{ componentClassName + '__inner'}}">
@@ -1,3 +1,4 @@
1
+ {% from '@bonniernews/dn-design-system-web/njk-helpers/attributes.njk' import getAttributes %}
1
2
  {% from '@bonniernews/dn-design-system-web/components/list-item/list-item.njk' import ListItem %}
2
3
  {% from '@bonniernews/dn-design-system-web/components/icon-button/icon-button.njk' import IconButton %}
3
4
  {% from '@bonniernews/dn-design-system-web/components/button/button.njk' import Button %}
@@ -5,22 +6,13 @@
5
6
  {% macro BuddyMenu(params) %}
6
7
  {% set componentClassName = "ds-buddy-menu" %}
7
8
  {% set classNamePrefix = componentClassName + "--" %}
8
- {% set variant = [] %}
9
- {% set attributes %}
10
- {% for attribute, value in params.attributes %}
11
- {{attribute}}="{{value}}"
12
- {% endfor %}
13
- {% endset %}
9
+ {%- set attributes = getAttributes(params.attributes) %}
14
10
 
15
- {% if params.forcePx %}
16
- {% set variant = (variant.push("ds-force-px"), 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(" ") %}
11
+ {%- set classes = [
12
+ componentClassName,
13
+ "ds-force-px" if params.forcePx,
14
+ params.classNames if params.classNames
15
+ ] | join(" ") %}
24
16
 
25
17
  <div class="{{ classes }} {{ 'ds-buddy-menu--skola' if params.isDnSkola }}" {{- attributes | safe}}>
26
18
  <div class="{{ componentClassName + '__inner'}}">
@@ -6,52 +6,33 @@
6
6
  {%- set componentClassName = "ds-btn" %}
7
7
  {%- set classNamePrefix = componentClassName + "--" %}
8
8
  {%- set text = params.text %}
9
- {%- set additionalClasses = [] %}
10
9
  {%- set attributes = getAttributes(params.attributes) %}
11
10
  {%- set ariaLabel = 'aria-label="' + text + '"' if not params.attributes["aria-label"] else "" %}
12
11
  {%- set buttonVariant = params.variant | default("primary") %}
13
- {%- set additionalClasses = (additionalClasses.push(classNamePrefix + buttonVariant), additionalClasses) %}
14
12
  {%- set spinnerMap = { primary: "secondary", brand: "onBrand", business: "onBusiness", staticWhiteFilled: "staticBlack", staticWhiteOutlined: "staticWhite" } %}
15
13
  {%- set spinnerVariant = spinnerMap[buttonVariant] | default("primary") %}
16
-
17
14
  {%- set loadingHtml %}
18
15
  {{ Spinner({ size: 'small', variant: spinnerVariant, forcePx: params.forcePx }) }}
19
16
  {% endset %}
20
17
 
21
- {%- if params.loading %}
22
- {% set additionalClasses = (additionalClasses.push("ds-loading"), additionalClasses) %}
23
- {% endif %}
24
-
25
- {%- if params.forcePx %}
26
- {% set additionalClasses = (additionalClasses.push("ds-force-px"), additionalClasses) %}
27
- {% endif %}
28
-
29
- {%- if params.condensed %}
30
- {% set additionalClasses = (additionalClasses.push(classNamePrefix + "condensed"), additionalClasses) %}
31
- {% endif %}
32
-
33
- {%- if params.size and params.size != "default" %}
34
- {% set additionalClasses = (additionalClasses.push(classNamePrefix + params.size), additionalClasses) %}
35
- {% endif %}
36
-
37
- {%- if params.fullWidth %}
38
- {% set additionalClasses = (additionalClasses.push(classNamePrefix + "full-width"), additionalClasses) %}
39
- {% endif %}
40
-
41
- {%- if params.mobile and params.mobile.fullWidth %}
42
- {% set additionalClasses = (additionalClasses.push(classNamePrefix + "mobile-full-width"), additionalClasses) %}
43
- {% endif %}
44
-
45
18
  {%- if params.iconName and params.iconPosition and params.iconPosition != "none" %}
46
- {% set additionalClasses = (additionalClasses.push(classNamePrefix + "icon" + "-" + params.iconPosition ), additionalClasses) %}
47
19
  {% set iconSvg = IconUse({ icon: params.iconName }) %}
48
20
  {% endif %}
49
21
 
50
- {%- if params.classNames %}
51
- {% set additionalClasses = (additionalClasses.push(params.classNames), additionalClasses) %}
52
- {% endif%}
22
+ {%- set classes = [
23
+ componentClassName,
24
+ classNamePrefix + buttonVariant,
25
+ classNamePrefix + "selected" if params.selected,
26
+ classNamePrefix + params.size if params.size and params.size !== "default",
27
+ classNamePrefix + "full-width" if params.fullWidth,
28
+ classNamePrefix + "mobile-full-width" if params.mobile and params.mobile.fullWidth,
29
+ classNamePrefix + "condensed" if params.condensed,
30
+ classNamePrefix + "icon-" + params.iconPosition if iconSvg,
31
+ "ds-loading" if params.loading,
32
+ "ds-force-px" if params.forcePx,
33
+ params.classNames if params.classNames
34
+ ] | join(" ") %}
53
35
 
54
- {%- set classes = componentClassName + " " + additionalClasses | join(" ") %}
55
36
  {%- if params.href %}
56
37
  <a href="{{ params.href | default('#', true) }}" {{ ariaLabel | safe }} class="{{ classes }}" {{- attributes | safe}}>
57
38
  <span class="{{ componentClassName + '__inner' }}" aria-hidden="true">
@@ -5,16 +5,9 @@
5
5
  {% macro ButtonToggle(params) %}
6
6
  {%- set componentClassName = "ds-btn-toggle" %}
7
7
  {%- set classNamePrefix = componentClassName + "--" %}
8
- {%- set additionalClasses = [] %}
9
8
  {%- set attributes = getAttributes(params.attributes) %}
10
9
  {%- set ariaLabel = 'aria-label="' + params.text + '"' if not params.attributes["aria-label"] else "" %}
11
-
12
- {%- if params.selected %}
13
- {% set additionalClasses = (additionalClasses.push(classNamePrefix + "selected"), additionalClasses) %}
14
- {% endif %}
15
-
16
10
  {%- set buttonVariant = params.variant | default("brand") %}
17
- {%- set additionalClasses = (additionalClasses.push(classNamePrefix + buttonVariant), additionalClasses) %}
18
11
 
19
12
  {%- set spinnerMap = { primary: "secondary", brand: "onBrand", business: "onBusiness" } %}
20
13
  {%- set spinnerVariant = spinnerMap[buttonVariant] | default("primary") %}
@@ -24,35 +17,19 @@
24
17
  {{ Spinner({ size: spinnerSize, variant: spinnerVariant, forcePx: params.forcePx }) }}
25
18
  {% endset %}
26
19
 
27
- {%- if params.loading %}
28
- {% set additionalClasses = (additionalClasses.push("ds-loading"), additionalClasses) %}
29
- {% endif %}
30
-
31
- {%- if params.forcePx %}
32
- {% set additionalClasses = (additionalClasses.push("ds-force-px"), additionalClasses) %}
33
- {% endif %}
34
-
35
- {%- if params.size and params.size != "default" %}
36
- {% set additionalClasses = (additionalClasses.push(classNamePrefix + params.size), additionalClasses) %}
37
- {% endif %}
38
-
39
- {%- if params.fullWidth %}
40
- {% set additionalClasses = (additionalClasses.push(classNamePrefix + "full-width"), additionalClasses) %}
41
- {% endif %}
42
-
43
- {%- if params.condensed %}
44
- {% set additionalClasses = (additionalClasses.push(classNamePrefix + "condensed"), additionalClasses) %}
45
- {% endif %}
46
-
47
- {%- if params.mobile and params.mobile.fullWidth %}
48
- {% set additionalClasses = (additionalClasses.push(classNamePrefix + "mobile-full-width"), additionalClasses) %}
49
- {% endif %}
50
-
51
- {%- if params.classNames %}
52
- {% set additionalClasses = (additionalClasses.push(params.classNames), additionalClasses) %}
53
- {% endif%}
20
+ {%- set classes = [
21
+ componentClassName,
22
+ classNamePrefix + buttonVariant,
23
+ classNamePrefix + "selected" if params.selected,
24
+ classNamePrefix + params.size if params.size and params.size !== "default",
25
+ classNamePrefix + "full-width" if params.fullWidth,
26
+ classNamePrefix + "mobile-full-width" if params.mobile and params.mobile.fullWidth,
27
+ classNamePrefix + "condensed" if params.condensed,
28
+ "ds-loading" if params.loading,
29
+ "ds-force-px" if params.forcePx,
30
+ params.classNames if params.classNames
31
+ ] | join(" ") %}
54
32
 
55
- {%- set classes = componentClassName + " " + additionalClasses | join(" ") %}
56
33
  <button type="button" role="switch" {{ ariaLabel | safe }} aria-checked="{{ "true" if params.selected else "false" }}" class="{{ classes }}" {{ "disabled" if params.disabled }} {{- attributes | safe }}>
57
34
  <span class="{{ componentClassName + '__inner' }}" aria-hidden="true">
58
35
  <span class="{{ componentClassName + '__off' }}"><span>{{ params.text }}</span></span>
@@ -65,30 +65,23 @@
65
65
  {# Internal helper macro - not intended for use outside of this file #}
66
66
  {% macro BylineInner(params, componentClassName) %}
67
67
  {% set classNamePrefix = componentClassName + "--" %}
68
- {% set variant = [] %}
69
68
  {% set attributes = getAttributes(params.attributes) %}
70
69
 
71
70
  {% set useOuterAnchorElement = true if (params.authorPageUrl and not params.followable) %}
72
71
  {% set useArrowIcon = true if (useOuterAnchorElement and params.variant !== 'direkt') %}
73
72
  {% set useFollowButton = true if (params.variant == 'follow' and params.followable) %}
74
73
 
75
- {% if params.forcePx %}
76
- {% set variant = (variant.push("ds-force-px"), variant) %}
77
- {% endif %}
78
-
79
- {% if params.classNames %}
80
- {% set variant = (variant.push(params.classNames), variant) %}
81
- {% endif %}
82
-
83
- {% if not params.authorPageUrl %}
84
- {% set variant = (variant.push(componentClassName + '--noninteractive'), variant) %}
85
- {% endif %}
74
+ {%- set classes = [
75
+ componentClassName,
76
+ "ds-force-px" if params.forcePx,
77
+ classNamePrefix + "noninteractive" if not params.authorPageUrl,
78
+ classNamePrefix + params.variant,
79
+ params.classNames if params.classNames
80
+ ] | join(" ") %}
86
81
 
87
82
  {% if params.bylineImage %}
88
83
  {% set bylineImage = params.bylineImage %}
89
84
  {% endif %}
90
- {% set variant = (variant.push(classNamePrefix + params.variant), variant) %}
91
- {% set classes = componentClassName + " " + variant | join(" ") %}
92
85
 
93
86
  {% set elementClassNames = [ componentClassName + "__btn-toggle" ]%}
94
87
  {% if params.elementClassNames %}
@@ -13,28 +13,20 @@
13
13
  {% macro Checkbox(params) %}
14
14
  {% set componentClassName = "ds-checkbox" %}
15
15
  {% set classNamePrefix = componentClassName + "--" %}
16
- {% set wrapperClasses = [] %}
17
16
  {% set name = params.name | default("ds-checkbox") %}
18
17
  {% set attributes = getAttributes(params.attributes) %}
19
18
 
20
- {% set wrapperClasses = (wrapperClasses.push(componentClassName), wrapperClasses) %}
19
+ {%- set wrapperParams = { error: params.error, errorMessage: params.errorMessage if params.label else false } %}
21
20
 
22
- {% if params.forcePx %}
23
- {% set wrapperClasses = (wrapperClasses.push("ds-force-px"), wrapperClasses) %}
24
- {% endif %}
25
-
26
- {% if params.classNames %}
27
- {% set wrapperClasses = (wrapperClasses.push(params.classNames), wrapperClasses) %}
28
- {% endif%}
29
-
30
- {% if params.condensed %}
31
- {% set wrapperClasses = (wrapperClasses.push(classNamePrefix + "condensed"), wrapperClasses) %}
32
- {% endif %}
33
-
34
- {% set wrapperParams = { error: params.error, errorMessage: params.errorMessage if params.label else false } %}
21
+ {%- set wrapperClasses = [
22
+ componentClassName,
23
+ "ds-force-px" if params.forcePx,
24
+ classNamePrefix + "condensed" if params.condensed,
25
+ params.classNames if params.classNames
26
+ ] %}
35
27
 
36
28
  {% call FormField(wrapperParams, wrapperClasses) %}
37
- <input type="checkbox" id="{{ name }}" name="{{ name }}" class="{{ componentClassName + '__input' }} js-field-error"
29
+ <input type="checkbox" id="{{ name }}" name="{{ name }}" class="{{ componentClassName + '__input' }} js-field-error"
38
30
  data-validation="{{ params.validation }}" {{- attributes | safe }}
39
31
  {{- " checked" if params.checked }} {{-" disabled" if params.disabled }} {{-" required" if params.required }} />
40
32
  {% if params.stripLabel %}
@@ -4,27 +4,19 @@
4
4
  {% macro Disclaimer(params) %}
5
5
  {% set componentClassName = "ds-disclaimer" %}
6
6
  {% set classNamePrefix = componentClassName + "--" %}
7
- {% set additionalClasses = [] %}
8
7
  {% set attributes = getAttributes(params.attributes) %}
9
8
 
10
- {% if params.variant and params.variant !== "default" %}
11
- {% set additionalClasses = (additionalClasses.push(classNamePrefix + params.variant), additionalClasses) %}
12
- {% endif %}
13
-
14
- {% if params.forcePx %}
15
- {% set additionalClasses = (additionalClasses.push("ds-force-px"), additionalClasses) %}
16
- {% endif %}
17
-
18
- {% if params.iconName %}
9
+ {%- if params.iconName %}
19
10
  {% set iconSvg = IconUse({ icon: params.iconName }) %}
20
- {% set additionalClasses = (additionalClasses.push(classNamePrefix + "with-icon"), additionalClasses) %}
21
11
  {% endif %}
22
12
 
23
- {% if params.classNames %}
24
- {% set additionalClasses = (additionalClasses.push(params.classNames), additionalClasses) %}
25
- {% endif%}
26
-
27
- {% set classes = componentClassName + " " + additionalClasses | join(" ") %}
13
+ {%- set classes = [
14
+ componentClassName,
15
+ "ds-force-px" if params.forcePx,
16
+ classNamePrefix + params.variant if params.variant and params.variant !== "default",
17
+ classNamePrefix + "with-icon" if iconSvg,
18
+ params.classNames if params.classNames
19
+ ] | join(" ") %}
28
20
 
29
21
  <section class="{{ classes }}" {{- attributes | safe }}>
30
22
  {% if iconSvg %}
@@ -3,20 +3,13 @@
3
3
  {% macro Divider(params) %}
4
4
  {% set componentClassName = "ds-divider" %}
5
5
  {% set classNamePrefix = componentClassName + "--" %}
6
- {% set variant = [] %}
7
6
  {% set attributes = getAttributes(params.attributes) %}
8
7
 
9
- {% if params.variant %}
10
- {% set variant = (variant.push(classNamePrefix + params.variant), variant) %}
11
- {% else %}
12
- {% set variant = (variant.push(classNamePrefix + "soft"), variant) %}
13
- {% endif %}
14
-
15
- {% if params.classNames %}
16
- {% set variant = (variant.push(params.classNames), variant) %}
17
- {% endif%}
18
-
19
- {% set classes = componentClassName + " " + variant | join(" ") %}
8
+ {%- set classes = [
9
+ componentClassName,
10
+ classNamePrefix + (params.variant or "soft"),
11
+ params.classNames if params.classNames
12
+ ] | join(" ") %}
20
13
 
21
14
  <div class="{{ classes }}" {{- attributes | safe }}><hr></div>
22
15
  {% endmacro %}
@@ -5,27 +5,16 @@
5
5
  {% macro Factbox(params) %}
6
6
  {% set componentClassName = "ds-factbox" %}
7
7
  {% set classNamePrefix = componentClassName + "--" %}
8
- {% set additionalClasses = [] %}
9
8
  {% set grade = params.grade | default("") | string %}
10
9
  {% set attributes = getAttributes(params.attributes) %}
11
10
 
12
- {% if params.theme %}
13
- {% set additionalClasses = (additionalClasses.push('ds-theme--' + params.theme), additionalClasses) %}
14
- {% endif %}
15
-
16
- {% if params.forcePx %}
17
- {% set additionalClasses = (additionalClasses.push("ds-force-px"), additionalClasses) %}
18
- {% endif %}
19
-
20
- {% if params.forceExpand %}
21
- {% set additionalClasses = (additionalClasses.push(classNamePrefix + "expanded"), additionalClasses) %}
22
- {% endif %}
23
-
24
- {% if params.classNames %}
25
- {% set additionalClasses = (additionalClasses.push(params.classNames), additionalClasses) %}
26
- {% endif%}
27
-
28
- {% set classes = componentClassName + " " + additionalClasses | join(" ") %}
11
+ {%- set classes = [
12
+ componentClassName,
13
+ "ds-force-px" if params.forcePx,
14
+ "ds-theme--" + params.theme if params.theme,
15
+ classNamePrefix + "expanded" if params.forceExpand,
16
+ params.classNames if params.classNames
17
+ ] | join(" ") %}
29
18
 
30
19
  <div class="{{ classes }}" {{- attributes | safe }}>
31
20
  <div class="{{ componentClassName + '__inner'}}">
@@ -6,7 +6,6 @@
6
6
  {%- set componentClassName = "ds-floating-btn" %}
7
7
  {%- set classNamePrefix = componentClassName + "--" %}
8
8
  {%- set text = params.text %}
9
- {%- set additionalClasses = [] %}
10
9
  {%- set attributes = getAttributes(params.attributes) %}
11
10
  {%- set ariaLabel = 'aria-label="' + text + '"' if not params.attributes["aria-label"] else "" %}
12
11
 
@@ -14,28 +13,20 @@
14
13
  {{ Spinner({ size: 'small', forcePx: params.forcePx }) }}
15
14
  {% endset %}
16
15
 
17
- {%- if params.loading %}
18
- {% set additionalClasses = (additionalClasses.push("ds-loading"), additionalClasses) %}
19
- {% endif %}
20
-
21
- {%- if params.forcePx %}
22
- {% set additionalClasses = (additionalClasses.push("ds-force-px"), additionalClasses) %}
23
- {% endif %}
24
-
25
- {%- if params.size and params.size != "default" %}
26
- {% set additionalClasses = (additionalClasses.push(classNamePrefix + params.size), additionalClasses) %}
27
- {% endif %}
28
-
29
16
  {%- if params.iconName and params.iconPosition and params.iconPosition != "none" %}
30
- {% set additionalClasses = (additionalClasses.push(classNamePrefix + "icon", classNamePrefix + "icon" + "-" + params.iconPosition), additionalClasses) %}
31
- {% set iconSvg = IconUse({ icon: params.iconName }) %}
17
+ {% set iconSvg = IconUse({ icon: params.iconName }) %}
32
18
  {% endif %}
33
19
 
34
- {%- if params.classNames %}
35
- {% set additionalClasses = (additionalClasses.push(params.classNames), additionalClasses) %}
36
- {% endif%}
20
+ {%- set classes = [
21
+ componentClassName,
22
+ "ds-force-px" if params.forcePx,
23
+ "ds-loading" if params.loading,
24
+ classNamePrefix + params.size if params.size and params.size !== "default",
25
+ classNamePrefix + "icon" if iconSvg,
26
+ classNamePrefix + "icon-" + params.iconPosition if iconSvg,
27
+ params.classNames if params.classNames
28
+ ] | join(" ") %}
37
29
 
38
- {%- set classes = componentClassName + " " + additionalClasses | join(" ") %}
39
30
  {%- if params.href %}
40
31
  <a href="{{ params.href | default('#', true) }}" {{ ariaLabel | safe }} class="{{ classes }}" {{- attributes | safe}}>
41
32
  <span class="{{ componentClassName + '__inner' }}" aria-hidden="true">
@@ -2,18 +2,11 @@
2
2
 
3
3
  {% macro Footer(params) %}
4
4
  {% set componentClassName = "ds-footer" %}
5
- {% set classNamePrefix = componentClassName + "--" %}
6
- {% set variant = [] %}
7
-
8
- {% if params.forcePx %}
9
- {% set variant = (variant.push("ds-force-px"), variant) %}
10
- {% endif %}
11
-
12
- {% if params.classNames %}
13
- {% set variant = (variant.push(params.classNames), variant) %}
14
- {% endif%}
15
-
16
- {% set classes = componentClassName + " " + variant | join(" ") %}
5
+ {%- set classes = [
6
+ componentClassName,
7
+ "ds-force-px" if params.forcePx,
8
+ params.classNames if params.classNames
9
+ ] | join(" ") %}
17
10
 
18
11
  <footer class="{{ classes }}">
19
12
  <div class="{{ componentClassName + '__inner'}}">
@@ -6,16 +6,15 @@
6
6
  {% macro GroupHeader(params) %}
7
7
  {% set componentClassName = "ds-group-header" %}
8
8
  {% set classNamePrefix = componentClassName + "--" %}
9
- {% set additionalClasses = [classNamePrefix + (params.variant or 'icon')] %}
10
9
  {% set attributes = getAttributes(params.attributes) %}
11
10
 
12
- {% if params.classNames %}
13
- {% set additionalClasses = (additionalClasses.push(params.classNames), additionalClasses) %}
14
- {% endif %}
11
+ {%- set classes = [
12
+ componentClassName,
13
+ classNamePrefix + (params.variant or "icon"),
14
+ params.classNames if params.classNames
15
+ ] | join(" ") %}
15
16
 
16
- {% set classes = componentClassName + " " + additionalClasses | join(" ") %}
17
-
18
- {% set groupHeaderInner %}
17
+ {%- set groupHeaderInner %}
19
18
  <h2 class="{{ componentClassName + '__title'}}">{{ params.title}}</h2>
20
19
 
21
20
  {% if params.variant == 'link' and params.linkText and params.href %}
@@ -8,43 +8,27 @@
8
8
  {%- set classNamePrefix = componentClassName + "--" %}
9
9
  {%- set additionalClasses = [] %}
10
10
  {%- set attributes = getAttributes(params.attributes) %}
11
-
12
- {%- if params.forcePx %}
13
- {% set additionalClasses = (additionalClasses.push("ds-force-px"), additionalClasses) %}
14
- {% endif %}
15
-
16
- {%- if params.variant %}
17
- {% set additionalClasses = (additionalClasses.push(classNamePrefix + params.variant), additionalClasses) %}
18
- {% else %}
19
- {% set additionalClasses = (additionalClasses.push(classNamePrefix + "outlined"), additionalClasses) %}
20
- {% endif %}
21
-
22
- {%- if params.size and params.size != "default" %}
23
- {% set additionalClasses = (additionalClasses.push(classNamePrefix + params.size), additionalClasses) %}
24
- {% endif %}
11
+ {%- set variantClass = classNamePrefix + (params.variant if params.variant else "outlined") %}
12
+ {%- set classes = [
13
+ componentClassName,
14
+ "ds-force-px" if params.forcePx,
15
+ "ds-loading" if params.loading,
16
+ variantClass,
17
+ classNamePrefix + "toggle" if isToggle,
18
+ classNamePrefix + "selected" if isToggle and params.selected,
19
+ classNamePrefix + params.size if params.size and params.size !== "default",
20
+ params.classNames if params.classNames
21
+ ] | join(" ") %}
25
22
 
26
23
  {%- set loadingHtml %}
27
24
  {{ Spinner({ size: "small", additionalClasses: "primary", forcePx: params.forcePx }) }}
28
25
  {% endset %}
29
26
 
30
- {%- if params.loading %}
31
- {% set additionalClasses = (additionalClasses.push("ds-loading"), additionalClasses) %}
32
- {% endif %}
33
-
34
27
  {%- if params.a11y and params.a11y.visuallyHidden %}
35
28
  {% set visuallyHidden = VisuallyHidden({ text: params.a11y.visuallyHidden }) %}
36
29
  {% endif %}
37
30
 
38
- {%- if params.classNames %}
39
- {% set additionalClasses = (additionalClasses.push(params.classNames), additionalClasses) %}
40
- {% endif%}
41
-
42
31
  {%- if isToggle %}
43
- {%- if params.selected %}
44
- {% set additionalClasses = (additionalClasses.push(classNamePrefix + "selected"), additionalClasses) %}
45
- {% endif %}
46
- {% set additionalClasses = (additionalClasses.push(classNamePrefix + "toggle"), additionalClasses) %}
47
- {%- set classes = componentClassName + " " + additionalClasses | join(" ") %}
48
32
  <button type="button" role="switch" aria-checked="{{ "true" if params.selected else "false" }}" class="{{ classes }}" {{ "disabled" if params.disabled }} {{- attributes | safe }}>
49
33
  {{- visuallyHidden | safe if visuallyHidden -}}
50
34
  <span class="{{ componentClassName + '__inner' }}" aria-hidden="true">
@@ -54,7 +38,6 @@
54
38
  </span>
55
39
  </button>
56
40
  {% else %}
57
- {%- set classes = componentClassName + " " + additionalClasses | join(" ") %}
58
41
  {% if params.href %}
59
42
  <a href="{{ params.href | default('#', true) }}" class="{{ classes }}" {{- attributes | safe }}>
60
43
  {{- visuallyHidden | safe if visuallyHidden -}}