@bonniernews/dn-design-system-web 4.7.6 → 4.7.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/components/article-body-image/article-body-image.njk +4 -6
- package/components/article-top-image/article-top-image.njk +4 -6
- package/components/badge/badge.njk +9 -13
- package/components/blocked-content/blocked-content.njk +5 -10
- package/components/buddy-menu/buddy-menu.njk +7 -15
- package/components/button/button.njk +13 -32
- package/components/button-toggle/button-toggle.njk +12 -35
- package/components/byline/byline.njk +7 -14
- package/components/checkbox/checkbox.njk +8 -16
- package/components/disclaimer/disclaimer.njk +8 -16
- package/components/divider/divider.njk +5 -12
- package/components/factbox/factbox.njk +7 -18
- package/components/floating-button/floating-button.njk +10 -19
- package/components/footer/footer.njk +5 -12
- package/components/group-header/group-header.njk +6 -7
- package/components/icon-button/icon-button.njk +11 -28
- package/components/icon-sprite/icon-sprite.njk +9 -1
- package/components/icon-with-wrapper/icon-with-wrapper.njk +8 -14
- package/components/image-caption/image-caption.njk +6 -12
- package/components/list-item/list-item.njk +16 -26
- package/components/pictogram/pictogram.njk +7 -17
- package/components/quote/quote.njk +6 -14
- package/components/radio-button/radio-button.njk +7 -17
- package/components/spinner/spinner.njk +7 -16
- package/components/switch/switch.njk +9 -19
- package/components/teaser-card/teaser-card.njk +6 -14
- package/components/teaser-dot/teaser-dot.njk +6 -15
- package/components/teaser-image/teaser-image.njk +6 -9
- package/components/teaser-large/teaser-large.njk +12 -21
- package/components/teaser-list-swipe/teaser-list-swipe.njk +7 -16
- package/components/teaser-list-timeline/teaser-list-timeline.njk +11 -26
- package/components/teaser-longlife/teaser-longlife.njk +5 -7
- package/components/teaser-native/teaser-native.njk +8 -10
- package/components/teaser-onsite/teaser-onsite.njk +6 -9
- package/components/teaser-package/teaser-package.njk +6 -15
- package/components/teaser-right-now/teaser-right-now.njk +5 -7
- package/components/teaser-slideshow/teaser-slideshow.njk +6 -6
- package/components/teaser-split/teaser-split.njk +13 -26
- package/components/teaser-standard/teaser-standard.njk +8 -13
- package/components/teaser-swipe-card/teaser-swipe-card.njk +6 -19
- package/components/teaser-tipsa/teaser-tipsa.njk +5 -6
- package/components/text-button/text-button.njk +16 -35
- package/components/text-button-toggle/text-button-toggle.njk +9 -22
- package/components/text-input/text-input.njk +5 -10
- package/components/thematic-break/thematic-break.njk +5 -7
- package/components/video-caption/video-caption.njk +5 -8
- package/components/vip-badge/vip-badge.njk +6 -11
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## 4.7.7 (2023-09-20)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @bonniernews/dn-design-system-web
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
6
14
|
## 4.7.6 (2023-09-20)
|
|
7
15
|
|
|
8
16
|
|
|
@@ -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
|
-
{
|
|
11
|
-
|
|
12
|
-
|
|
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
|
-
{
|
|
11
|
-
|
|
12
|
-
|
|
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 =
|
|
7
|
+
{% set variant = "single" %}
|
|
13
8
|
{% elif figure %}
|
|
14
9
|
{% set figure = "9+" %}
|
|
15
|
-
{% set variant =
|
|
10
|
+
{% set variant = "double" %}
|
|
16
11
|
{% else %}
|
|
17
|
-
{% set variant =
|
|
12
|
+
{% set variant = "empty" %}
|
|
18
13
|
{% endif%}
|
|
19
14
|
|
|
20
|
-
{
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
-
{
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
{
|
|
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
|
-
{
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
{%-
|
|
51
|
-
|
|
52
|
-
|
|
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
|
-
{%-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
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
|
-
{
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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
|
-
{
|
|
19
|
+
{%- set wrapperParams = { error: params.error, errorMessage: params.errorMessage if params.label else false } %}
|
|
21
20
|
|
|
22
|
-
{
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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
|
-
{
|
|
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
|
-
{
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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
|
-
{
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
{
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
|
31
|
-
{% set iconSvg = IconUse({ icon: params.iconName }) %}
|
|
17
|
+
{% set iconSvg = IconUse({ icon: params.iconName }) %}
|
|
32
18
|
{% endif %}
|
|
33
19
|
|
|
34
|
-
{%-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
-
{
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
-
{
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
{%- set classes = [
|
|
12
|
+
componentClassName,
|
|
13
|
+
classNamePrefix + (params.variant or "icon"),
|
|
14
|
+
params.classNames if params.classNames
|
|
15
|
+
] | join(" ") %}
|
|
15
16
|
|
|
16
|
-
{
|
|
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
|
-
{%-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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 -}}
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
{% from '@bonniernews/dn-design-system-web/njk-helpers/attributes.njk' import getAttributes %}
|
|
2
2
|
|
|
3
3
|
{% macro IconUse(params) %}
|
|
4
|
+
{%- set componentClassName = "ds-icon" %}
|
|
5
|
+
{%- set classNamePrefix = componentClassName + "--" %}
|
|
6
|
+
{%- set classes = [
|
|
7
|
+
componentClassName,
|
|
8
|
+
classNamePrefix + "sprite",
|
|
9
|
+
classNamePrefix + params.icon,
|
|
10
|
+
params.classNames if params.classNames
|
|
11
|
+
] | join(" ") %}
|
|
4
12
|
{%- set attributes = getAttributes(params.attributes) %}
|
|
5
|
-
<i class="
|
|
13
|
+
<i class="{{ classes }}" {{- attributes | safe }}>
|
|
6
14
|
<svg><use xlink:href="#ds-{{ params.icon }}"></use></svg>
|
|
7
15
|
</i>
|
|
8
16
|
{% endmacro %}
|