@bonniernews/dn-design-system-web 3.0.0-alpha.99 → 4.0.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 (52) hide show
  1. package/CHANGELOG.md +147 -0
  2. package/assets/article-image/article-image.njk +1 -1
  3. package/assets/article-image/article-image.scss +1 -1
  4. package/assets/teaser/teaser.scss +11 -1
  5. package/components/byline/README.md +3 -3
  6. package/components/byline/byline.njk +1 -1
  7. package/components/byline/byline.scss +18 -1
  8. package/components/image-caption/image-caption.njk +5 -1
  9. package/components/pictogram/pictogram.scss +4 -1
  10. package/components/teaser-large/teaser-large.njk +5 -3
  11. package/components/teaser-list-timeline/README.md +44 -0
  12. package/components/teaser-list-timeline/teaser-list-timeline.njk +62 -0
  13. package/components/teaser-list-timeline/teaser-list-timeline.scss +80 -0
  14. package/components/teaser-native/README.md +41 -0
  15. package/components/teaser-native/teaser-native.njk +59 -0
  16. package/components/teaser-native/teaser-native.scss +109 -0
  17. package/components/teaser-package/teaser-package.scss +3 -1
  18. package/components/teaser-split/teaser-split.njk +5 -3
  19. package/components/teaser-standard/teaser-standard.njk +17 -15
  20. package/components/teaser-standard/teaser-standard.scss +6 -8
  21. package/foundations/base.scss +3 -3
  22. package/foundations/colors.scss +22 -5
  23. package/foundations/helpers/colors.scss +1 -1
  24. package/foundations/helpers/forward.helpers.scss +0 -1
  25. package/foundations/helpers/opacity.scss +1 -1
  26. package/foundations/helpers/shadows.scss +6 -6
  27. package/foundations/helpers/spacing.scss +2 -2
  28. package/foundations/helpers/typography.scss +12 -10
  29. package/foundations/helpers/utilities.scss +1 -1
  30. package/foundations/icons/icon.njk +25 -0
  31. package/foundations/icons/sprite.njk +1 -1
  32. package/foundations/icons/sprite.svg +1 -1
  33. package/foundations/icons/svg/arrow_upward.svg +3 -0
  34. package/foundations/icons/svg/forward_30.svg +3 -0
  35. package/foundations/icons/svg/link.svg +3 -0
  36. package/foundations/icons/svg/refresh.svg +3 -0
  37. package/foundations/icons/svg/replay_30.svg +3 -0
  38. package/foundations/shadows.scss +5 -5
  39. package/foundations/typography/fontDefinitions.scss +56 -56
  40. package/foundations/variables/typographyTokensList.scss +1 -0
  41. package/foundations/variables/typographyTokensScreenExtraLarge.scss +79 -74
  42. package/foundations/variables/typographyTokensScreenLarge.scss +150 -144
  43. package/foundations/variables/typographyTokensScreenSmall.scss +61 -55
  44. package/package.json +11 -9
  45. package/tokens/colors-dark-mode.json +93 -0
  46. package/tokens/colors-light-mode.json +92 -0
  47. package/tokens/icon-list.json +79 -0
  48. package/tokens/typography-list.json +92 -0
  49. package/.stylelintignore +0 -1
  50. package/.stylelintrc.json +0 -17
  51. package/assets/teaser/dot-or-grade.njk +0 -7
  52. package/foundations/helpers/fontDefinitionsHelper.scss +0 -32
@@ -0,0 +1,109 @@
1
+ @use "../../foundations/helpers/forward.helpers.scss" as *;
2
+ @use "../../assets/teaser/teaser.scss" as *;
3
+ @use "sass:math";
4
+
5
+ .ds-teaser.ds-teaser--native {
6
+ overflow: hidden;
7
+ border-bottom: 4px solid $ds-color-static-ad-yellow;
8
+
9
+ .ds-teaser__inner {
10
+ @include ds-spacing-layout(
11
+ $ds-sl-teaser-vertical-small $ds-sl-teaser-horizontal 0
12
+ );
13
+ }
14
+
15
+ .ds-teaser__media,
16
+ .ds-teaser__content {
17
+ @include ds-spacing-layout($ds-sl-teaser-vertical-medium, margin-bottom);
18
+ }
19
+
20
+ .ds-teaser__title {
21
+ font-family: $ds-font--arial;
22
+ font-weight: 700;
23
+ @include ds-mq-only-breakpoint(mobile) {
24
+ font-size: ds-px-to-rem(20px);
25
+ line-height: ds-px-to-rem(24px);
26
+ }
27
+ @include ds-mq-smallest-breakpoint(tablet) {
28
+ font-size: ds-px-to-rem(32px);
29
+ line-height: ds-px-to-rem(36px);
30
+ }
31
+ }
32
+
33
+ &::after {
34
+ content: "";
35
+ display: block;
36
+ clear: both;
37
+ }
38
+
39
+ .ds-teaser__content {
40
+ display: block;
41
+ }
42
+
43
+ &.ds-teaser--native-right,
44
+ &.ds-teaser--native-large {
45
+ .ds-teaser__media {
46
+ @include ds-spacing-layout(0, margin);
47
+ }
48
+ }
49
+
50
+ &.ds-teaser--native-right {
51
+ @include ds-mq-smallest-breakpoint(tablet) {
52
+ .ds-teaser__title {
53
+ font-size: ds-px-to-rem(24px);
54
+ line-height: ds-px-to-rem(30px);
55
+ }
56
+ }
57
+ }
58
+
59
+ &.ds-teaser--native-standard {
60
+ .ds-teaser__media {
61
+ margin-left: ds-spacing-component($ds-sc-x4);
62
+ float: right;
63
+
64
+ @include ds-mq-only-breakpoint(mobile) {
65
+ min-width: $ds-teaser-standard-image-width-mobile;
66
+ max-width: $ds-teaser-standard-image-width-mobile;
67
+
68
+ .ds-teaser-image__byline {
69
+ display: none;
70
+ }
71
+ }
72
+
73
+ @include ds-mq-only-breakpoint(tablet) {
74
+ min-width: $ds-teaser-standard-image-width-tablet;
75
+ max-width: $ds-teaser-standard-image-width-tablet;
76
+ }
77
+
78
+ @include ds-mq-only-breakpoint(desktop) {
79
+ min-width: $ds-teaser-standard-image-width-desktop;
80
+ max-width: $ds-teaser-standard-image-width-desktop;
81
+ }
82
+ }
83
+ }
84
+
85
+ .ds-teaser__ad-bar {
86
+ background-color: $ds-color-static-ad-yellow;
87
+ display: flex;
88
+ height: ds-px-to-rem(40px);
89
+ @include ds-font-sans();
90
+ font-size: ds-px-to-rem(16px);
91
+ line-height: ds-px-to-rem(12px);
92
+
93
+ span {
94
+ display: flex;
95
+ align-items: center;
96
+ padding: ds-spacing-component(0 $ds-sc-x4);
97
+ background-color: $ds-color-static-black;
98
+ color: $ds-color-static-white;
99
+ }
100
+ }
101
+
102
+ .ds-teaser__vignette {
103
+ color: $ds-color-text-primary;
104
+ }
105
+
106
+ .ds-teaser-dot {
107
+ background-color: $ds-color-text-primary;
108
+ }
109
+ }
@@ -86,7 +86,9 @@
86
86
  }
87
87
 
88
88
  .ds-teaser-package__vignette
89
- + .ds-teaser--large:not(.ds-teaser--large-italic):not(.ds-teaser--large-big-italic) {
89
+ + .ds-teaser--large:not(.ds-teaser--large-italic):not(
90
+ .ds-teaser--large-big-italic
91
+ ) {
90
92
  .ds-teaser__title {
91
93
  @include ds-typography($ds-typography-expressive-heading05bold);
92
94
  }
@@ -1,6 +1,7 @@
1
1
  {% from '@bonniernews/dn-design-system-web/njk-helpers/attributes.njk' import getAttributes %}
2
2
  {% from '@bonniernews/dn-design-system-web/components/vip-badge/vip-badge.njk' import VipBadge %}
3
- {% from '@bonniernews/dn-design-system-web/assets/teaser/dot-or-grade.njk' import getDotOrGrade %}
3
+ {% from '@bonniernews/dn-design-system-web/components/teaser-dot/teaser-dot.njk' import TeaserDot %}
4
+ {% from '@bonniernews/dn-design-system-web/foundations/icons/grade-icon.njk' import GetGrade %}
4
5
 
5
6
  {% macro TeaserSplit(params) %}
6
7
  {% set componentClassName = "ds-teaser" %}
@@ -55,8 +56,9 @@
55
56
  </h2>
56
57
 
57
58
  {% if params.text %}
58
- <p class="{{ componentClassName + '__text'}}">
59
- {{ getDotOrGrade({ flashing: params.isFlashingDot, grade: params.grade }) }}
59
+ {% set gradeHtml = GetGrade({ grade: params.grade, type: "single" }) | trim if params.grade else "" %}
60
+ <p class="{{ componentClassName + '__text' }} {{ componentClassName + '__text--with-grade' if gradeHtml.length }}">
61
+ {{ gradeHtml if gradeHtml.length else TeaserDot({ flashing: params.isFlashingDot }) }}
60
62
  {% if params.sticker %}
61
63
  <span class="ds-teaser__sticker">
62
64
  {{ params.sticker }}
@@ -1,6 +1,7 @@
1
1
  {% from '@bonniernews/dn-design-system-web/njk-helpers/attributes.njk' import getAttributes %}
2
2
  {% from '@bonniernews/dn-design-system-web/components/vip-badge/vip-badge.njk' import VipBadge %}
3
- {% from '@bonniernews/dn-design-system-web/assets/teaser/dot-or-grade.njk' import getDotOrGrade %}
3
+ {% from '@bonniernews/dn-design-system-web/components/teaser-dot/teaser-dot.njk' import TeaserDot %}
4
+ {% from '@bonniernews/dn-design-system-web/foundations/icons/grade-icon.njk' import GetGrade %}
4
5
 
5
6
  {% macro TeaserStandard(params) %}
6
7
  {% set componentClassName = "ds-teaser" %}
@@ -41,19 +42,19 @@
41
42
  }) }}
42
43
  {% endif %}
43
44
 
44
- {% if params.mediaHtml %}
45
- <div class="{{ componentClassName + '__media'}}">
46
- {{ params.mediaHtml }}
47
- {% if params.isLocked %}
48
- {{ VipBadge({
49
- showText: false,
50
- forcePx: true
51
- }) }}
52
- {% endif %}
53
- </div>
54
- {% endif %}
55
-
56
45
  <div class="{{ componentClassName + '__content'}}">
46
+ {% if params.mediaHtml %}
47
+ <div class="{{ componentClassName + '__media'}}">
48
+ {{ params.mediaHtml }}
49
+ {% if params.isLocked %}
50
+ {{ VipBadge({
51
+ showText: false,
52
+ forcePx: true
53
+ }) }}
54
+ {% endif %}
55
+ </div>
56
+ {% endif %}
57
+
57
58
  {% if params.vignette %}
58
59
  <div class="ds-teaser__vignette">{{ params.vignette }}</div>
59
60
  {% endif %}
@@ -66,8 +67,9 @@
66
67
  </h2>
67
68
 
68
69
  {% if params.text and params.areaType !== "right" %}
69
- <p class="{{ componentClassName + '__text' }}">
70
- {{ getDotOrGrade({ flashing: params.isFlashingDot, grade: params.grade }) }}
70
+ {% set gradeHtml = GetGrade({ grade: params.grade, type: "single" }) | trim if params.grade else "" %}
71
+ <p class="{{ componentClassName + '__text' }} {{ componentClassName + '__text--with-grade' if gradeHtml.length }}">
72
+ {{ gradeHtml if gradeHtml.length else TeaserDot({ flashing: params.isFlashingDot }) }}
71
73
  {% if params.sticker %}
72
74
  <span class="ds-teaser__sticker">
73
75
  {{ params.sticker }}
@@ -1,15 +1,12 @@
1
1
  @use "../../foundations/helpers/forward.helpers.scss" as *;
2
2
  @use "../../assets/teaser/teaser.scss" as *;
3
- @use 'sass:math';
4
-
5
- $ds-teaser-standard-image-width-mobile: 104px;
6
- $ds-teaser-standard-image-width-tablet: 156px;
7
- $ds-teaser-standard-image-width-desktop: 196px;
3
+ @use "sass:math";
8
4
 
9
5
  .ds-teaser.ds-teaser--standard {
10
6
  @include ds-spacing-layout(
11
7
  $ds-sl-teaser-vertical-small $ds-sl-teaser-horizontal 0
12
8
  );
9
+ overflow: hidden;
13
10
 
14
11
  .ds-teaser__title {
15
12
  @include ds-typography($ds-typography-expressive-heading03bold);
@@ -24,9 +21,10 @@ $ds-teaser-standard-image-width-desktop: 196px;
24
21
  @include ds-spacing-layout($ds-sl-teaser-vertical-medium, margin-bottom);
25
22
  }
26
23
 
27
- &,
28
- .ds-teaser__text {
29
- overflow: hidden;
24
+ &::after {
25
+ content: "";
26
+ display: block;
27
+ clear: both;
30
28
  }
31
29
 
32
30
  .ds-teaser__content {
@@ -1,6 +1,6 @@
1
- @use './colors.scss';
2
- @use './shadows.scss';
3
- @use './a11y/a11y.scss';
1
+ @use "./colors.scss";
2
+ @use "./shadows.scss";
3
+ @use "./a11y/a11y.scss";
4
4
 
5
5
  html {
6
6
  box-sizing: border-box;
@@ -1,8 +1,8 @@
1
- @use 'sass:meta';
2
- @use 'sass:string';
3
- @use './variables/colorsDnLightTokens';
4
- @use './variables/colorsDnDarkTokens';
5
- @use './helpers/colors.scss' as *;
1
+ @use "sass:meta";
2
+ @use "sass:string";
3
+ @use "./variables/colorsDnLightTokens";
4
+ @use "./variables/colorsDnDarkTokens";
5
+ @use "./helpers/colors.scss" as *;
6
6
 
7
7
  html,
8
8
  .ds-light {
@@ -29,9 +29,26 @@ html,
29
29
 
30
30
  // these are not static so needs to be defined here also
31
31
  --ds-theme-color: #{$ds-color-component-brand};
32
+
32
33
  .ds-theme--nyheter {
33
34
  --ds-theme-color: #{$ds-color-component-brand};
34
35
  }
36
+
37
+ .ds-theme--ekonomi {
38
+ --ds-theme-color: #{$ds-color-static-economy};
39
+ }
40
+
41
+ .ds-theme--kultur {
42
+ --ds-theme-color: #{$ds-color-static-kultur};
43
+ }
44
+
45
+ .ds-theme--sport {
46
+ --ds-theme-color: #{$ds-color-static-sport};
47
+ }
48
+
49
+ .ds-theme--sthlm {
50
+ --ds-theme-color: #{$ds-color-static-sthlm};
51
+ }
35
52
  }
36
53
 
37
54
  html {
@@ -1,3 +1,3 @@
1
- @forward '../variables/colorsCssVariables.scss';
1
+ @forward "../variables/colorsCssVariables.scss";
2
2
 
3
3
  $ds-theme-color: var(--ds-theme-color);
@@ -1,6 +1,5 @@
1
1
  @forward "colors.scss";
2
2
  @forward "hover.scss";
3
- // excluding fontDefinitionsHelper since it is rarely used
4
3
  @forward "links.scss";
5
4
  @forward "loading.scss";
6
5
  @forward "mediaQueries.scss";
@@ -1 +1 @@
1
- @forward '../variables/opacity.scss';
1
+ @forward "../variables/opacity.scss";
@@ -1,10 +1,10 @@
1
- @use 'sass:meta';
2
- @use 'sass:map';
3
- @use 'sass:string';
1
+ @use "sass:meta";
2
+ @use "sass:map";
3
+ @use "sass:string";
4
4
  @use "utilities.scss" as *;
5
- @use '../variables/shadowsDnLightTokens.scss' as *;
6
- @use '../variables/shadowsDnDarkTokens.scss' as *;
7
- @forward '../variables/shadowsTokensList.scss';
5
+ @use "../variables/shadowsDnLightTokens.scss" as *;
6
+ @use "../variables/shadowsDnDarkTokens.scss" as *;
7
+ @forward "../variables/shadowsTokensList.scss";
8
8
 
9
9
  @mixin ds-shadow($component, $theme: light) {
10
10
  $tmpMap: map.get($shadowsDnLightTokens, $component);
@@ -5,8 +5,8 @@
5
5
  @use "../variables/spacingComponent.scss" as *;
6
6
  @use "../variables/spacingLayout.scss" as *;
7
7
  @use "../variables/spacingLayoutLargeScreen.scss" as *;
8
- @forward '../variables/spacingComponentList.scss';
9
- @forward '../variables/spacingLayoutList.scss';
8
+ @forward "../variables/spacingComponentList.scss";
9
+ @forward "../variables/spacingLayoutList.scss";
10
10
 
11
11
  @function ds-spacing-component(
12
12
  $units: null,
@@ -1,15 +1,17 @@
1
- @use 'sass:meta';
2
- @use 'sass:map';
3
- @use 'sass:string';
4
- @use 'sass:math';
5
- @use 'sass:list';
1
+ @use "sass:meta";
2
+ @use "sass:map";
3
+ @use "sass:string";
4
+ @use "sass:math";
5
+ @use "sass:list";
6
6
  @use "mediaQueries.scss" as *;
7
7
  @use "utilities.scss" as *;
8
- @use '../variables/typographyTokensScreenSmall.scss' as *;
9
- @use '../variables/typographyTokensScreenLarge.scss' as *;
10
- @use '../variables/typographyTokensScreenExtraLarge.scss' as *;
11
- @forward '../variables/typographyTokensList.scss';
12
- @forward '../variables/decorations.scss';
8
+ @use "../variables/typographyTokensScreenSmall.scss" as *;
9
+ @use "../variables/typographyTokensScreenLarge.scss" as *;
10
+ @use "../variables/typographyTokensScreenExtraLarge.scss" as *;
11
+ @forward "../variables/typographyTokensList.scss";
12
+ @forward "../variables/decorations.scss";
13
+
14
+ $ds-font--arial: Arial, Helvetica, sans-serif;
13
15
 
14
16
  @mixin ds-font-sans() {
15
17
  & {
@@ -1,4 +1,4 @@
1
- @use 'sass:math';
1
+ @use "sass:math";
2
2
 
3
3
  @function ds-px-to-rem($value) {
4
4
  @return math.div(ds-strip-unit($value), 16) * 1rem;
@@ -25,6 +25,11 @@
25
25
  <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.4001 17.65L5.3501 16.6L15.2001 6.75H6.2501V5.25H17.7501V16.75H16.2501V7.8L6.4001 17.65Z"/></svg>
26
26
  </i>
27
27
  {% endif %}
28
+ {%- if iconName == "arrow_upward" %}
29
+ <i class="ds-icon ds-icon--arrow_upward {{ params.classNames }}" {{- attributes | safe }}>
30
+ <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11.2501 19.6153V7.25765L5.43859 13.0692L4.38477 12L12.0001 4.38465L19.6155 12L18.5616 13.0692L12.7501 7.25765V19.6153H11.2501Z"/></svg>
31
+ </i>
32
+ {% endif %}
28
33
  {%- if iconName == "bookmark-filled" %}
29
34
  <i class="ds-icon ds-icon--bookmark-filled {{ params.classNames }}" {{- attributes | safe }}>
30
35
  <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.5 20.25V3.5H18.5V20.25L12 17.45L5.5 20.25Z"/></svg>
@@ -150,6 +155,11 @@
150
155
  <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14.45 19.55V6.55H9.44995V4.45H21.5499V6.55H16.55V19.55H14.45ZM5.44995 19.55V11.55H2.44995V9.45H10.55V11.55H7.54995V19.55H5.44995Z"/></svg>
151
156
  </i>
152
157
  {% endif %}
158
+ {%- if iconName == "forward_30" %}
159
+ <i class="ds-icon ds-icon--forward_30 {{ params.classNames }}" {{- attributes | safe }}>
160
+ <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.5192 15.8461V14.6538H10.2115V13.4423H8.42305V12.5577H10.2115V11.3461H7.5192V10.1538H10.5577C10.8025 10.1538 11.0048 10.2336 11.1644 10.3933C11.324 10.5529 11.4038 10.7551 11.4038 11V15C11.4038 15.2449 11.324 15.4471 11.1644 15.6067C11.0048 15.7663 10.8025 15.8461 10.5577 15.8461H7.5192ZM13.5961 15.8461C13.3128 15.8461 13.0753 15.7503 12.8836 15.5586C12.692 15.367 12.5961 15.1295 12.5961 14.8461V11.1538C12.5961 10.8705 12.692 10.633 12.8836 10.4413C13.0753 10.2497 13.3128 10.1538 13.5961 10.1538H15.4808C15.7641 10.1538 16.0016 10.2497 16.1933 10.4413C16.3849 10.633 16.4808 10.8705 16.4808 11.1538V14.8461C16.4808 15.1295 16.3849 15.367 16.1933 15.5586C16.0016 15.7503 15.7641 15.8461 15.4808 15.8461H13.5961ZM13.9038 14.6538H15.1731C15.2115 14.6538 15.2404 14.6442 15.2596 14.625C15.2788 14.6058 15.2885 14.5769 15.2885 14.5385V11.4615C15.2885 11.4231 15.2788 11.3942 15.2596 11.375C15.2404 11.3558 15.2115 11.3461 15.1731 11.3461H13.9038C13.8654 11.3461 13.8365 11.3558 13.8173 11.375C13.798 11.3942 13.7884 11.4231 13.7884 11.4615V14.5385C13.7884 14.5769 13.798 14.6058 13.8173 14.625C13.8365 14.6442 13.8654 14.6538 13.9038 14.6538ZM12 21.5C10.8205 21.5 9.71537 21.2769 8.6846 20.8307C7.65383 20.3846 6.75512 19.7782 5.98845 19.0115C5.2218 18.2448 4.6154 17.3461 4.16925 16.3154C3.72308 15.2846 3.5 14.1795 3.5 13C3.5 11.8205 3.72308 10.7154 4.16925 9.68461C4.6154 8.65385 5.2218 7.75513 5.98845 6.98846C6.75512 6.22181 7.65383 5.61541 8.6846 5.16926C9.71537 4.7231 10.8205 4.50001 12 4.50001H12.2654L10.6577 2.89234L11.7115 1.80774L15.1538 5.24039L11.7307 8.67304L10.6769 7.58846L12.2654 5.99999H12C10.05 5.99999 8.39581 6.67916 7.03748 8.03749C5.67914 9.39582 4.99997 11.05 4.99997 13C4.99997 14.95 5.67914 16.6042 7.03748 17.9625C8.39581 19.3208 10.05 20 12 20C13.95 20 15.6041 19.3208 16.9625 17.9625C18.3208 16.6042 19 14.95 19 13H20.5C20.5 14.1795 20.2769 15.2846 19.8307 16.3154C19.3846 17.3461 18.7782 18.2448 18.0115 19.0115C17.2448 19.7782 16.3461 20.3846 15.3154 20.8307C14.2846 21.2769 13.1795 21.5 12 21.5Z"/></svg>
161
+ </i>
162
+ {% endif %}
153
163
  {%- if iconName == "grid_view" %}
154
164
  <i class="ds-icon ds-icon--grid_view {{ params.classNames }}" {{- attributes | safe }}>
155
165
  <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.5 11V3.5H11V11H3.5ZM3.5 20.5V13H11V20.5H3.5ZM13 11V3.5H20.5V11H13ZM13 20.5V13H20.5V20.5H13ZM5 9.5H9.5V5H5V9.5ZM14.5 9.5H19V5H14.5V9.5ZM14.5 19H19V14.5H14.5V19ZM5 19H9.5V14.5H5V19Z"/></svg>
@@ -205,6 +215,11 @@
205
215
  <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11.25 14.9V3.875L9.4 5.725L8.35 4.65L12 1L15.65 4.65L14.6 5.725L12.75 3.875V14.9H11.25ZM4.5 21.65V7.65H8.875V9.15H6V20.15H18V9.15H15.125V7.65H19.5V21.65H4.5Z"/></svg>
206
216
  </i>
207
217
  {% endif %}
218
+ {%- if iconName == "link" %}
219
+ <i class="ds-icon ds-icon--link {{ params.classNames }}" {{- attributes | safe }}>
220
+ <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.9677 16.6448H7.16003C5.9044 16.6448 4.83408 16.2023 3.94908 15.3174C3.06408 14.4325 2.62158 13.3624 2.62158 12.1069C2.62158 10.8514 3.06408 9.78103 3.94908 8.89578C4.83408 8.01053 5.9044 7.5679 7.16003 7.5679H10.9677V9.06785H7.16003C6.32028 9.06785 5.60393 9.36433 5.01098 9.95728C4.41803 10.5502 4.12156 11.2666 4.12156 12.1063C4.12156 12.9461 4.41803 13.6624 5.01098 14.2554C5.60393 14.8483 6.32028 15.1448 7.16003 15.1448H10.9677V16.6448ZM8.41006 12.8563V11.3564H15.91V12.8563H8.41006ZM13.3524 16.6448V15.1448H17.16C17.9998 15.1448 18.7161 14.8483 19.3091 14.2554C19.902 13.6624 20.1985 12.9461 20.1985 12.1063C20.1985 11.2666 19.902 10.5502 19.3091 9.95728C18.7161 9.36433 17.9998 9.06785 17.16 9.06785H13.3524V7.5679H17.16C18.4157 7.5679 19.486 8.01034 20.371 8.89523C21.256 9.78011 21.6985 10.8503 21.6985 12.1058C21.6985 13.3613 21.256 14.4316 20.371 15.3169C19.486 16.2021 18.4157 16.6448 17.16 16.6448H13.3524Z"/></svg>
221
+ </i>
222
+ {% endif %}
208
223
  {%- if iconName == "lock" %}
209
224
  <i class="ds-icon ds-icon--lock {{ params.classNames }}" {{- attributes | safe }}>
210
225
  <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.73999 21.33V8.33H7.73999V6.33C7.73999 5.08 8.17732 4.01733 9.05199 3.142C9.92732 2.26733 10.99 1.83 12.24 1.83C13.49 1.83 14.5527 2.26733 15.428 3.142C16.3027 4.01733 16.74 5.08 16.74 6.33V8.33H19.74V21.33H4.73999ZM9.23999 8.33H15.24V6.33C15.24 5.49667 14.9483 4.78833 14.365 4.205C13.7817 3.62167 13.0733 3.33 12.24 3.33C11.4067 3.33 10.6983 3.62167 10.115 4.205C9.53166 4.78833 9.23999 5.49667 9.23999 6.33V8.33ZM6.23999 19.83H18.24V9.83H6.23999V19.83ZM12.24 16.58C12.7233 16.58 13.136 16.4093 13.478 16.068C13.8193 15.726 13.99 15.3133 13.99 14.83C13.99 14.3467 13.8193 13.934 13.478 13.592C13.136 13.2507 12.7233 13.08 12.24 13.08C11.7567 13.08 11.344 13.2507 11.002 13.592C10.6607 13.934 10.49 14.3467 10.49 14.83C10.49 15.3133 10.6607 15.726 11.002 16.068C11.344 16.4093 11.7567 16.58 12.24 16.58Z"/></svg>
@@ -315,6 +330,16 @@
315
330
  <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.25903 17.0931V19.2931H20.259V17.0931H4.25903ZM2.75903 20.7931V6.81813H7.33403C7.2507 6.66813 7.18837 6.50979 7.14703 6.34313C7.10503 6.17646 7.08403 6.00146 7.08403 5.81813C7.08403 5.11813 7.3257 4.52646 7.80903 4.04313C8.29237 3.55979 8.88403 3.31813 9.58403 3.31813C10.0007 3.31813 10.3884 3.42646 10.747 3.64313C11.105 3.85979 11.4174 4.12646 11.684 4.44313L12.234 5.19313L12.809 4.44313C13.059 4.10979 13.3634 3.83879 13.722 3.63013C14.08 3.42213 14.4674 3.31813 14.884 3.31813C15.584 3.31813 16.1757 3.55979 16.659 4.04313C17.1424 4.52646 17.384 5.11813 17.384 5.81813C17.384 6.00146 17.3674 6.17646 17.334 6.34313C17.3007 6.50979 17.234 6.66813 17.134 6.81813H21.759V20.7931H2.75903ZM4.25903 14.4931H20.259V8.31813H14.484L16.534 11.0931L15.334 11.9681L12.234 7.76813L9.15903 11.9681L7.95903 11.0931L9.95903 8.31813H4.25903V14.4931ZM9.58403 6.81813C9.86737 6.81813 10.105 6.72213 10.297 6.53013C10.4884 6.33879 10.584 6.10146 10.584 5.81813C10.584 5.53479 10.4884 5.29713 10.297 5.10513C10.105 4.91379 9.86737 4.81813 9.58403 4.81813C9.3007 4.81813 9.06337 4.91379 8.87203 5.10513C8.68003 5.29713 8.58403 5.53479 8.58403 5.81813C8.58403 6.10146 8.68003 6.33879 8.87203 6.53013C9.06337 6.72213 9.3007 6.81813 9.58403 6.81813ZM14.884 6.81813C15.1674 6.81813 15.405 6.72213 15.597 6.53013C15.7884 6.33879 15.884 6.10146 15.884 5.81813C15.884 5.53479 15.7884 5.29713 15.597 5.10513C15.405 4.91379 15.1674 4.81813 14.884 4.81813C14.6007 4.81813 14.3634 4.91379 14.172 5.10513C13.98 5.29713 13.884 5.53479 13.884 5.81813C13.884 6.10146 13.98 6.33879 14.172 6.53013C14.3634 6.72213 14.6007 6.81813 14.884 6.81813Z"/></svg>
316
331
  </i>
317
332
  {% endif %}
333
+ {%- if iconName == "refresh" %}
334
+ <i class="ds-icon ds-icon--refresh {{ params.classNames }}" {{- attributes | safe }}>
335
+ <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.0385 19.5C9.9448 19.5 8.17137 18.7736 6.71825 17.3207C5.26513 15.8679 4.53857 14.0948 4.53857 12.0015C4.53857 9.90821 5.26513 8.13463 6.71825 6.6808C8.17137 5.22695 9.9448 4.50002 12.0385 4.50002C13.2078 4.50002 14.3142 4.75996 15.3578 5.27985C16.4014 5.79971 17.2693 6.53337 17.9616 7.48082V4.50002H19.4616V10.6153H13.3462V9.1154H17.2962C16.7693 8.15002 16.0385 7.38943 15.1039 6.83365C14.1693 6.27788 13.1475 6 12.0385 6C10.3719 6 8.95522 6.58333 7.78855 7.75C6.62188 8.91667 6.03855 10.3333 6.03855 12C6.03855 13.6667 6.62188 15.0833 7.78855 16.25C8.95522 17.4167 10.3719 18 12.0385 18C13.3219 18 14.4802 17.6333 15.5135 16.9C16.5469 16.1667 17.2719 15.2 17.6885 14H19.2693C18.8154 15.632 17.9215 16.9567 16.5876 17.974C15.2536 18.9913 13.7372 19.5 12.0385 19.5Z"/></svg>
336
+ </i>
337
+ {% endif %}
338
+ {%- if iconName == "replay_30" %}
339
+ <i class="ds-icon ds-icon--replay_30 {{ params.classNames }}" {{- attributes | safe }}>
340
+ <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 21.75C10.8205 21.75 9.71537 21.5269 8.6846 21.0807C7.65383 20.6346 6.75512 20.0282 5.98845 19.2615C5.2218 18.4948 4.6154 17.5961 4.16925 16.5654C3.72308 15.5346 3.5 14.4295 3.5 13.25H4.99997C4.99997 15.2 5.67914 16.8542 7.03748 18.2125C8.39581 19.5708 10.05 20.25 12 20.25C13.95 20.25 15.6041 19.5708 16.9625 18.2125C18.3208 16.8542 19 15.2 19 13.25C19 11.3 18.3208 9.64582 16.9625 8.28749C15.6041 6.92916 13.95 6.24999 12 6.24999H11.7346L13.3231 7.83846L12.2692 8.92304L8.8462 5.49039L12.2885 2.05774L13.3423 3.14234L11.7346 4.75001H12C13.1795 4.75001 14.2846 4.9731 15.3154 5.41926C16.3461 5.86541 17.2448 6.47181 18.0115 7.23846C18.7782 8.00513 19.3846 8.90385 19.8307 9.93461C20.2769 10.9654 20.5 12.0705 20.5 13.25C20.5 14.4295 20.2769 15.5346 19.8307 16.5654C19.3846 17.5961 18.7782 18.4948 18.0115 19.2615C17.2448 20.0282 16.3461 20.6346 15.3154 21.0807C14.2846 21.5269 13.1795 21.75 12 21.75ZM7.5192 16.0961V14.9038H10.2115V13.6923H8.42305V12.8077H10.2115V11.5961H7.5192V10.4038H10.5577C10.8025 10.4038 11.0048 10.4836 11.1644 10.6433C11.324 10.8029 11.4038 11.0051 11.4038 11.25V15.25C11.4038 15.4949 11.324 15.6971 11.1644 15.8567C11.0048 16.0163 10.8025 16.0961 10.5577 16.0961H7.5192ZM13.5961 16.0961C13.3128 16.0961 13.0753 16.0003 12.8836 15.8086C12.692 15.617 12.5961 15.3795 12.5961 15.0961V11.4038C12.5961 11.1205 12.692 10.883 12.8836 10.6913C13.0753 10.4997 13.3128 10.4038 13.5961 10.4038H15.4808C15.7641 10.4038 16.0016 10.4997 16.1933 10.6913C16.3849 10.883 16.4808 11.1205 16.4808 11.4038V15.0961C16.4808 15.3795 16.3849 15.617 16.1933 15.8086C16.0016 16.0003 15.7641 16.0961 15.4808 16.0961H13.5961ZM13.9038 14.9038H15.1731C15.2115 14.9038 15.2404 14.8942 15.2596 14.875C15.2788 14.8558 15.2885 14.8269 15.2885 14.7885V11.7115C15.2885 11.6731 15.2788 11.6442 15.2596 11.625C15.2404 11.6058 15.2115 11.5961 15.1731 11.5961H13.9038C13.8654 11.5961 13.8365 11.6058 13.8173 11.625C13.798 11.6442 13.7884 11.6731 13.7884 11.7115V14.7885C13.7884 14.8269 13.798 14.8558 13.8173 14.875C13.8365 14.8942 13.8654 14.9038 13.9038 14.9038Z"/></svg>
341
+ </i>
342
+ {% endif %}
318
343
  {%- if iconName == "search_off" %}
319
344
  <i class="ds-icon ds-icon--search_off {{ params.classNames }}" {{- attributes | safe }}>
320
345
  <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7 21.3C5.75 21.3 4.68733 20.8627 3.812 19.988C2.93733 19.1127 2.5 18.05 2.5 16.8C2.5 15.55 2.93733 14.4873 3.812 13.612C4.68733 12.7373 5.75 12.3 7 12.3C8.25 12.3 9.31267 12.7373 10.188 13.612C11.0627 14.4873 11.5 15.55 11.5 16.8C11.5 18.05 11.0627 19.1127 10.188 19.988C9.31267 20.8627 8.25 21.3 7 21.3ZM20.525 20.575L14.175 14.225C14.0917 14.3083 13.9877 14.3833 13.863 14.45C13.7377 14.5167 13.6167 14.575 13.5 14.625C13.3667 14.4417 13.225 14.2583 13.075 14.075C12.925 13.8917 12.7667 13.725 12.6 13.575C13.35 13.2083 13.9583 12.6667 14.425 11.95C14.8917 11.2333 15.125 10.4167 15.125 9.5C15.125 8.21667 14.675 7.125 13.775 6.225C12.875 5.325 11.7833 4.875 10.5 4.875C9.21667 4.875 8.125 5.325 7.225 6.225C6.325 7.125 5.875 8.21667 5.875 9.5C5.875 9.65 5.88733 9.8 5.912 9.95C5.93733 10.1 5.96667 10.25 6 10.4C5.76667 10.4167 5.51667 10.4623 5.25 10.537C4.98333 10.6123 4.74167 10.7 4.525 10.8C4.49167 10.6 4.45833 10.3917 4.425 10.175C4.39167 9.95833 4.375 9.73333 4.375 9.5C4.375 7.8 4.97067 6.354 6.162 5.162C7.354 3.97067 8.8 3.375 10.5 3.375C12.2 3.375 13.646 3.97067 14.838 5.162C16.0293 6.354 16.625 7.8 16.625 9.5C16.625 10.2167 16.504 10.8957 16.262 11.537C16.0207 12.179 15.7 12.75 15.3 13.25L21.575 19.525L20.525 20.575ZM5.225 19.2L7 17.425L8.75 19.2L9.4 18.575L7.625 16.8L9.4 15.05L8.775 14.425L7 16.175L5.225 14.425L4.6 15.05L6.375 16.8L4.6 18.575L5.225 19.2Z"/></svg>