@bonniernews/dn-design-system-web 22.0.0 → 22.0.1-beta.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 (44) hide show
  1. package/CHANGELOG.md +53 -3
  2. package/assets/teaser/teaser.scss +7 -1
  3. package/components/group-header/group-header.scss +1 -1
  4. package/components/teaser-centered/README-UXD.md +0 -0
  5. package/components/teaser-centered/README.md +46 -0
  6. package/components/teaser-centered/teaser-centered.njk +47 -0
  7. package/components/teaser-centered/teaser-centered.scss +51 -0
  8. package/components/teaser-image/teaser-image.scss +1 -1
  9. package/components/teaser-large/README.md +0 -1
  10. package/components/teaser-large/teaser-large.njk +6 -4
  11. package/components/teaser-large/teaser-large.scss +5 -11
  12. package/components/teaser-list-vertical/teaser-list-vertical.njk +0 -1
  13. package/components/teaser-native/teaser-native.njk +5 -3
  14. package/components/teaser-native/teaser-native.scss +0 -6
  15. package/components/teaser-onsite/README.md +1 -8
  16. package/components/teaser-onsite/teaser-onsite.njk +5 -1
  17. package/components/teaser-package/teaser-package.scss +7 -6
  18. package/components/teaser-slideshow/teaser-slideshow.scss +1 -1
  19. package/components/teaser-split/teaser-split.njk +6 -2
  20. package/components/teaser-split/teaser-split.scss +3 -1
  21. package/components/teaser-standard/teaser-standard.njk +7 -3
  22. package/components/teaser-standard/teaser-standard.scss +5 -6
  23. package/foundations/helpers/README-links.md +1 -1
  24. package/foundations/helpers/README-spacing.md +1 -1
  25. package/foundations/helpers/colors.scss +1 -6
  26. package/foundations/variables/colorsCssVariables.scss +4 -0
  27. package/foundations/variables/colorsDnDarkTokens.scss +64 -60
  28. package/foundations/variables/colorsDnLightTokens.scss +55 -51
  29. package/foundations/variables/metrics.scss +3 -1
  30. package/foundations/variables/typographyFontWeight.scss +1 -0
  31. package/foundations/variables/typographyTokensList.scss +1 -0
  32. package/foundations/variables/typographyTokensScreenExtraLarge.scss +11 -4
  33. package/foundations/variables/typographyTokensScreenLarge.scss +10 -3
  34. package/foundations/variables/typographyTokensScreenSmall.scss +13 -6
  35. package/package.json +1 -1
  36. package/preact/components/icon-with-wrapper/icon-with-wrapper.js +4 -0
  37. package/preact/components/icon-with-wrapper/icon-with-wrapper.js.map +2 -2
  38. package/preact/components/teaser-onsite/teaser-onsite.js +4 -3
  39. package/preact/components/teaser-onsite/teaser-onsite.js.map +2 -2
  40. package/tokens/colors-css-variables.json +5 -1
  41. package/tokens/colors-dark-mode.json +64 -60
  42. package/tokens/colors-light-mode.json +57 -53
  43. package/tokens/typography-list.json +1 -0
  44. package/types-lib/ds-color.d.ts +6 -1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,53 @@ All changes to @bonniernews/dn-design-system-web will be documented in this file
4
4
 
5
5
 
6
6
 
7
+ ## [21.1.0-beta.5](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@21.1.0-beta.4...@bonniernews/dn-design-system-web@21.1.0-beta.5) (2024-11-08)
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * **web:** support breaking no image ([#1492](https://github.com/BonnierNews/dn-design-system/issues/1492)) ([dbf30ca](https://github.com/BonnierNews/dn-design-system/commit/dbf30ca9420bd8bc173de127499c0260abc3990a))
13
+
14
+ ## [21.1.0-beta.4](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@21.1.0-beta.3...@bonniernews/dn-design-system-web@21.1.0-beta.4) (2024-11-06)
15
+
16
+ ## [21.1.0-beta.3](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@21.0.2...@bonniernews/dn-design-system-web@21.1.0-beta.3) (2024-11-06)
17
+
18
+
19
+ ### Features
20
+
21
+ * **web:** breaking aka nivå3puff till visuella toppar ([#1450](https://github.com/BonnierNews/dn-design-system/issues/1450)) ([5adacb9](https://github.com/BonnierNews/dn-design-system/commit/5adacb9d8b1fadecd615278e63139627f3b88cb7))
22
+ * **web:** nivå1puff till visuella toppar ([#1460](https://github.com/BonnierNews/dn-design-system/issues/1460)) ([7743c3b](https://github.com/BonnierNews/dn-design-system/commit/7743c3bfad040b46921e934570808b33083401ce))
23
+ * **web:** one level of bauta with background color ([9184544](https://github.com/BonnierNews/dn-design-system/commit/91845447403cb2ec5a787fd64c341d620861b148))
24
+ * **web:** one level of bauta with background color ([644acd6](https://github.com/BonnierNews/dn-design-system/commit/644acd6166d7385ac08c930fe725215a9e35fc80))
25
+
26
+
27
+ ### Bug Fixes
28
+
29
+ * **web:** correct spacing teasers ([#1491](https://github.com/BonnierNews/dn-design-system/issues/1491)) ([b2624b8](https://github.com/BonnierNews/dn-design-system/commit/b2624b8311384d38971f82eb84e73560244a4b18))
30
+ * **web:** media box sizing border box ([#1473](https://github.com/BonnierNews/dn-design-system/issues/1473)) ([48aeeca](https://github.com/BonnierNews/dn-design-system/commit/48aeecac1be293bbcb8ece678d562c26c0ec59d6))
31
+
32
+
33
+ ### Maintenance
34
+
35
+ * **deps-dev:** bump @babel/preset-env from 7.25.8 to 7.25.9 ([#1469](https://github.com/BonnierNews/dn-design-system/issues/1469)) ([b9a9884](https://github.com/BonnierNews/dn-design-system/commit/b9a988470f8862d4c010f27a097d9a65af115d2b))
36
+ * **deps-dev:** bump @testing-library/react-native from 12.7.2 to 12.8.0 ([#1477](https://github.com/BonnierNews/dn-design-system/issues/1477)) ([59e489f](https://github.com/BonnierNews/dn-design-system/commit/59e489f4227e83e1d6df43eb9acf6c1ea42db3e3))
37
+ * **deps:** bump @react-native-community/slider from 4.5.4 to 4.5.5 ([#1475](https://github.com/BonnierNews/dn-design-system/issues/1475)) ([c321542](https://github.com/BonnierNews/dn-design-system/commit/c321542bdf60e16f86fc02cae937b301e649bb48))
38
+ * **foundations:** update tokens from Figma ([#1467](https://github.com/BonnierNews/dn-design-system/issues/1467)) ([af2cd99](https://github.com/BonnierNews/dn-design-system/commit/af2cd99ce8ab17494a3e51e34588d25e24a9ef38))
39
+ * prerelease packages ([974fe99](https://github.com/BonnierNews/dn-design-system/commit/974fe99363323771a4284b36a895757fd4c49630))
40
+ * prerelease packages ([3ebfd91](https://github.com/BonnierNews/dn-design-system/commit/3ebfd91c6780c6222c74b500eade9fd19cac88f3))
41
+ * **web:** change screenshot location ([#1482](https://github.com/BonnierNews/dn-design-system/issues/1482)) ([472d0df](https://github.com/BonnierNews/dn-design-system/commit/472d0df71292d72206f908b82b45148a3b79cb91))
42
+ * **web:** released version v21.1.0-beta.1 ([9d45c5a](https://github.com/BonnierNews/dn-design-system/commit/9d45c5a4bbcfe53698ca9dffe3e1771422fbcdac))
43
+ * **web:** released version v21.1.0-beta.2 ([49b9324](https://github.com/BonnierNews/dn-design-system/commit/49b9324c7074d6835aab2de9bb7d9e18649f58b6))
44
+ * **web:** visuella-toppar-update-tokens ([#1468](https://github.com/BonnierNews/dn-design-system/issues/1468)) ([943705a](https://github.com/BonnierNews/dn-design-system/commit/943705afb2922c4d32bb4e042cd746857cbd26cf))
45
+
46
+ ## [21.1.0-beta.2](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@21.1.0-beta.1...@bonniernews/dn-design-system-web@21.1.0-beta.2) (2024-10-25)
47
+
48
+ ### Bug Fixes
49
+
50
+ * **web:** media box sizing border box ([#1473](https://github.com/BonnierNews/dn-design-system/issues/1473)) ([e132abf](https://github.com/BonnierNews/dn-design-system/commit/e132abf44fc8d525fed7ff565ebdcc3702941669))
51
+
52
+ ## [21.1.0-beta.1](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@21.0.2...@bonniernews/dn-design-system-web@21.1.0-beta.1) (2024-10-25)
53
+
7
54
  ## [22.0.0](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@21.1.14...@bonniernews/dn-design-system-web@22.0.0) (2024-12-13)
8
55
 
9
56
 
@@ -139,7 +186,6 @@ All changes to @bonniernews/dn-design-system-web will be documented in this file
139
186
 
140
187
  ## [21.1.0](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@21.0.4...@bonniernews/dn-design-system-web@21.1.0) (2024-11-11)
141
188
 
142
-
143
189
  ### Features
144
190
 
145
191
  * **web:** one level of bauta with background color ([#1428](https://github.com/BonnierNews/dn-design-system/issues/1428)) ([c78c0a5](https://github.com/BonnierNews/dn-design-system/commit/c78c0a5e8a05a4ee4d31d7a58e5d23b1c39a7807))
@@ -154,7 +200,9 @@ All changes to @bonniernews/dn-design-system-web will be documented in this file
154
200
  * prerelease packages ([92a0383](https://github.com/BonnierNews/dn-design-system/commit/92a038392e8bc9b4bfa8b3f2dc508b16ef1ff4cf))
155
201
 
156
202
  ## [21.0.3](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@21.0.2...@bonniernews/dn-design-system-web@21.0.3) (2024-11-04)
157
-
203
+ * **web:** breaking aka nivå3puff till visuella toppar ([#1450](https://github.com/BonnierNews/dn-design-system/issues/1450)) ([602040c](https://github.com/BonnierNews/dn-design-system/commit/602040c5a0e8ef7a7bd996bc6508e97956229c1b))
204
+ * **web:** nivå1puff till visuella toppar ([#1460](https://github.com/BonnierNews/dn-design-system/issues/1460)) ([d8dcacf](https://github.com/BonnierNews/dn-design-system/commit/d8dcacf7c76b80aac7e48fbf602bc5079d3a1cd3))
205
+ * **web:** one level of bauta with background color ([8734216](https://github.com/BonnierNews/dn-design-system/commit/87342169eacf9d59f202f45424022c1bd733a74e))
158
206
 
159
207
  ### Maintenance
160
208
 
@@ -169,6 +217,9 @@ All changes to @bonniernews/dn-design-system-web will be documented in this file
169
217
  * prerelease packages ([974fe99](https://github.com/BonnierNews/dn-design-system/commit/974fe99363323771a4284b36a895757fd4c49630))
170
218
  * prerelease packages ([3ebfd91](https://github.com/BonnierNews/dn-design-system/commit/3ebfd91c6780c6222c74b500eade9fd19cac88f3))
171
219
  * **web:** change screenshot location ([#1482](https://github.com/BonnierNews/dn-design-system/issues/1482)) ([472d0df](https://github.com/BonnierNews/dn-design-system/commit/472d0df71292d72206f908b82b45148a3b79cb91))
220
+ * **foundations:** update tokens from Figma ([#1467](https://github.com/BonnierNews/dn-design-system/issues/1467)) ([af2cd99](https://github.com/BonnierNews/dn-design-system/commit/af2cd99ce8ab17494a3e51e34588d25e24a9ef38))
221
+ * prerelease packages ([3ebfd91](https://github.com/BonnierNews/dn-design-system/commit/3ebfd91c6780c6222c74b500eade9fd19cac88f3))
222
+ * **web:** visuella-toppar-update-tokens ([#1468](https://github.com/BonnierNews/dn-design-system/issues/1468)) ([87277b4](https://github.com/BonnierNews/dn-design-system/commit/87277b487b6f663d4ca106a74cb878012e579a42))
172
223
 
173
224
  ## [21.0.2](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@21.0.1...@bonniernews/dn-design-system-web@21.0.2) (2024-10-24)
174
225
 
@@ -183,7 +234,6 @@ All changes to @bonniernews/dn-design-system-web will be documented in this file
183
234
 
184
235
  * **web:** one level of bauta with background color ([075ed25](https://github.com/BonnierNews/dn-design-system/commit/075ed259c6f3c50ed6018bd566fdc7b9b5c05c73))
185
236
 
186
-
187
237
  ### Maintenance
188
238
 
189
239
  * **deps-dev:** bump @babel/runtime from 7.25.7 to 7.25.9 ([#1458](https://github.com/BonnierNews/dn-design-system/issues/1458)) ([2a160a8](https://github.com/BonnierNews/dn-design-system/commit/2a160a8cfe74b593002ddc460fa4734dc008250d))
@@ -74,6 +74,12 @@ $ds-teaser-standard-image-width-desktop: 196px;
74
74
  .ds-teaser__media {
75
75
  width: 100%;
76
76
  position: relative;
77
+ box-sizing: border-box;
78
+
79
+ &--rounded {
80
+ border-radius: ds-border-radius(x1);
81
+ overflow: hidden;
82
+ }
77
83
  }
78
84
 
79
85
  .ds-vip-badge {
@@ -103,6 +109,6 @@ $ds-teaser-standard-image-width-desktop: 196px;
103
109
  }
104
110
 
105
111
  &--bauta {
106
- background-color: $bauta-surface-color;
112
+ background-color: $ds-color-surface-breaking;
107
113
  }
108
114
  }
@@ -23,7 +23,7 @@ $ds-group-header__icon-size: 24px;
23
23
  }
24
24
 
25
25
  &--bauta {
26
- --group-header-background: #{$bauta-surface-color};
26
+ --group-header-background: #{$ds-color-surface-breaking};
27
27
  }
28
28
 
29
29
  &--toggle,
File without changes
@@ -0,0 +1,46 @@
1
+ - GitHub: [BonnierNews/dn-design-system/../web/src/components/teaser-centered](https://github.com/BonnierNews/dn-design-system/tree/main/web/src/components/teaser-centered)
2
+ - Storybook: [TeaserCentered](https://designsystem.dn.se/?path=/docs/section-teasercentered--docs)
3
+ - Storybook (Latest): [TeaserCentered](https://designsystem-latest.dn.se/?path=/docs/section-teasercentered--docs)
4
+
5
+ ----
6
+
7
+ # teaser-centered
8
+
9
+ This teaser never has a lock-symbol/vip-badge
10
+
11
+ ## Parameters
12
+
13
+ |parameter | type | required | options | default | description |
14
+ |:--- | :--- | :--- | :--- | :--- | :--- |
15
+ |title | String | yes | | | Heading of the teaser |
16
+ |targetLink | String | yes | | | Target URL for the teaser |
17
+ |areaType | String | no | "right" or "bauta" | | The area where the column is rendered |
18
+ |theme | String | no | nyheter, kultur, ekonomi, sport, sthlm | (empty) | The theme-class to apply to the teaser |
19
+ |text | String | no | | | Teaser subtext |
20
+ |vignette | String | no | | | Top text in the teaser |
21
+ |highlight | String | no | | | Text before the heading |
22
+ |mediaHtml | HTML String | no | | | Main image or other media |
23
+ |attributes | Object | no | | | Ex. { target: "_blank", "data-test": "lorem ipsum" } |
24
+ |classNames | String | no | | | Ex. "my-special-class" |
25
+ |~forcePx~ | | | | | Not supported |
26
+
27
+ ## Minimum requirement example
28
+
29
+ ### Nunjucks
30
+
31
+ These are copy paste friendly examples to quickliy get started using a component.
32
+
33
+ ```html
34
+ {% from '@bonniernews/dn-design-system-web/components/teaser-centered/teaser-centered.njk' import TeaserCentered %}
35
+
36
+ {{ TeaserCentered({
37
+ title: "Upp på börsen",
38
+ text: "Det ser ganska normalt ut på Stockholmsbörsen.",
39
+ highlight: "Ekonominytt:"
40
+ })}}
41
+ ```
42
+
43
+ ### SCSS
44
+ ```scss
45
+ @use "@bonniernews/dn-design-system-web/components/teaser-centered/teaser-centered" as *;
46
+ ```
@@ -0,0 +1,47 @@
1
+ {% from '@bonniernews/dn-design-system-web/components/teaser-card/teaser-card.njk' import TeaserCard %}
2
+
3
+ {% macro TeaserCentered(params) %}
4
+ {% set componentClassName = "ds-teaser" %}
5
+ {% set classNamePrefix = componentClassName + "--" %}
6
+
7
+ {% set extraClasses = [
8
+ "ds-teaser--centered",
9
+ classNamePrefix + 'hide-top-border' if params.mediaHtml,
10
+ params.classNames if params.classNames
11
+ ] | join(" ") %}
12
+
13
+ {% call TeaserCard({
14
+ targetLink: params.targetLink,
15
+ areaType: params.areaType,
16
+ theme: params.theme,
17
+ attributes: params.attributes,
18
+ classNames: extraClasses
19
+ }) %}
20
+ {% if params.mediaHtml %}
21
+ <div class="{{ componentClassName + '__media'}}">
22
+ {{ params.mediaHtml }}
23
+ </div>
24
+ {% endif %}
25
+ <div class="{{ componentClassName + '__content'}}">
26
+ <div class="ds-teaser__content-inner">
27
+ {% if params.vignette %}
28
+ <div class="ds-teaser__vignette">
29
+ {{ params.vignette }}
30
+ </div>
31
+ {% endif %}
32
+ <h2 class="ds-teaser__title">
33
+ {% if params.highlight %}
34
+ <span class="{{ componentClassName + '__highlight'}}">{{ params.highlight }}</span>
35
+ {% endif %}
36
+ {{ params.title }}
37
+ </h2>
38
+
39
+ {% if params.text %}
40
+ <p class="{{ componentClassName + '__text' }}">
41
+ {{ params.text }}
42
+ </p>
43
+ {% endif %}
44
+ </div>
45
+ </div>
46
+ {% endcall %}
47
+ {% endmacro %}
@@ -0,0 +1,51 @@
1
+ @use "../../foundations/helpers/forward.helpers.scss" as *;
2
+ @use "../../assets/teaser/teaser.scss" as *;
3
+
4
+ .ds-teaser.ds-teaser--centered {
5
+ display: flex;
6
+ flex-direction: column;
7
+ position: relative;
8
+
9
+ .ds-teaser__media {
10
+ video {
11
+ max-width: 100%;
12
+ }
13
+ }
14
+
15
+ .ds-teaser__content {
16
+ display: flex;
17
+ flex-direction: row;
18
+ padding: ds-spacing($ds-s-075 $ds-s-100 $ds-s-100);
19
+ text-align: center;
20
+
21
+ .ds-teaser__content-inner {
22
+ display: flex;
23
+ flex-direction: column;
24
+ flex: 1;
25
+ }
26
+ }
27
+
28
+ &:focus-visible {
29
+ outline: none !important; /* stylelint-disable-line declaration-no-important */
30
+
31
+ .ds-teaser__content {
32
+ @include ds-teaser-focus(-8px, false);
33
+ }
34
+ }
35
+
36
+ .ds-teaser__vignette {
37
+ margin-top: ds-spacing($ds-s-025);
38
+ }
39
+
40
+ .ds-teaser__title {
41
+ @include ds-typography($ds-typography-detailteaser-breaking) {
42
+ text-align: center;
43
+ }
44
+ }
45
+
46
+ @include ds-hover(true) {
47
+ .ds-teaser__title {
48
+ @include ds-underline(3px);
49
+ }
50
+ }
51
+ }
@@ -31,7 +31,7 @@
31
31
  }
32
32
  }
33
33
 
34
- .ds-teaser--top-img &--mask {
34
+ .ds-teaser--large &--mask {
35
35
  padding: ds-spacing($ds-s-100 $ds-s-100 0);
36
36
  box-sizing: border-box;
37
37
  }
@@ -23,7 +23,6 @@
23
23
  |bylineHtml | HTML String | no | | | Side image of the author |
24
24
  |isItalicHeadline | bool | no | true, false | false | If the headline should be italic |
25
25
  |isLargeHeadline | bool | no | true, false | false | If the headline should be large. Only has an effect if `isItalicHeadline` is true. |
26
- |isCompact | bool | no | true, false | false | If the headline should be compact |
27
26
  |isFlashingDot | bool | no | true, false | false | If there should be a flashing ball before the text |
28
27
  |isLocked | bool | no | true, false | false | If the paywall indicator should be shown. It is only shown if the teaser has an image. |
29
28
  |publicationTime | string | no | | null | Publication time text. |
@@ -17,9 +17,8 @@
17
17
  "ds-teaser--large",
18
18
  classNamePrefix + params.variant if params.variant,
19
19
  classNamePrefix + "quote-badge" if isQuoteBadge,
20
- classNamePrefix + 'top-img' if params.mediaHtml,
20
+ classNamePrefix + 'hide-top-border' if params.mediaHtml,
21
21
  italicsClass if italicsClass,
22
- classNamePrefix + "compact" if params.isCompact,
23
22
  params.classNames if params.classNames
24
23
  ] | join(" ") %}
25
24
 
@@ -31,7 +30,10 @@
31
30
  classNames: extraClasses
32
31
  }) %}
33
32
  {% if params.mediaHtml %}
34
- <div class="{{ componentClassName + '__media'}}">
33
+ {% set mediaClass = [
34
+ componentClassName + '__media'
35
+ ] | join(" ") %}
36
+ <div class="{{ mediaClass }}">
35
37
  {{ params.mediaHtml }}
36
38
  {% if params.isLocked %}
37
39
  {{ VipBadge({
@@ -64,8 +66,8 @@
64
66
 
65
67
  {% if params.text and params.areaType !== "right" %}
66
68
  <p class="{{ componentClassName + '__text' }}">
67
- {{ TeaserDot({ flashing: params.isFlashingDot }) }}
68
69
  {% if params.sticker %}
70
+ {{ TeaserDot({ flashing: params.isFlashingDot }) }}
69
71
  <span class="ds-teaser__sticker">
70
72
  {{ params.sticker }}
71
73
  </span>
@@ -32,6 +32,10 @@
32
32
  }
33
33
  }
34
34
 
35
+ .ds-teaser__vignette {
36
+ margin-top: ds-spacing($ds-s-025);
37
+ }
38
+
35
39
  .ds-teaser__title {
36
40
  @include ds-typography($ds-typography-detailteaser-large);
37
41
  }
@@ -65,6 +69,7 @@
65
69
  position: relative;
66
70
  margin-left: ds-spacing($ds-s-100);
67
71
  margin-bottom: ds-spacing($ds-s-100, "px", true);
72
+ margin-top: ds-spacing($ds-s-025);
68
73
 
69
74
  .picture {
70
75
  position: absolute;
@@ -97,17 +102,6 @@
97
102
  }
98
103
  }
99
104
 
100
- &.ds-teaser--compact {
101
- .ds-teaser__title {
102
- @include ds-typography($ds-typography-detailteaser-large-compact);
103
- }
104
-
105
- &.ds-teaser--large-italic .ds-teaser__title,
106
- &.ds-teaser--large-big-italic .ds-teaser__title {
107
- @include ds-typography($ds-typography-detailteaser-large-compact-opinion);
108
- }
109
- }
110
-
111
105
  @include ds-mq-smallest-breakpoint(tablet) {
112
106
  &.ds-teaser--right {
113
107
  .ds-teaser__title {
@@ -1,7 +1,6 @@
1
1
  {% from '@bonniernews/dn-design-system-web/njk-helpers/attributes.njk' import getAttributes %}
2
2
  {% from '@bonniernews/dn-design-system-web/components/button/button.njk' import Button %}
3
3
  {% from '@bonniernews/dn-design-system-web/components/group-header/group-header.njk' import GroupHeader %}
4
- {% from '@bonniernews/dn-design-system-web/components/teaser-dot/teaser-dot.njk' import TeaserDot %}
5
4
  {% from '@bonniernews/dn-design-system-web/components/icon-sprite/icon-sprite.njk' import IconUse %}
6
5
  {% from '@bonniernews/dn-design-system-web/components/teaser-footer/teaser-footer.njk' import TeaserFooter %}
7
6
 
@@ -1,5 +1,4 @@
1
1
  {% from '@bonniernews/dn-design-system-web/components/teaser-card/teaser-card.njk' import TeaserCard %}
2
- {% from '@bonniernews/dn-design-system-web/components/teaser-dot/teaser-dot.njk' import TeaserDot %}
3
2
 
4
3
  {% macro TeaserNative(params) %}
5
4
  {% set componentClassName = "ds-teaser" %}
@@ -29,7 +28,11 @@
29
28
 
30
29
  <div class="{{ componentClassName + '__content'}}">
31
30
  {% if params.mediaHtml and nativeVariant == "standard" %}
32
- <div class="{{ componentClassName + '__media'}}">
31
+ {% set mediaClass = [
32
+ componentClassName + '__media',
33
+ componentClassName + '__media--rounded'
34
+ ] | join(" ") %}
35
+ <div class="{{ mediaClass }}">
33
36
  {{ params.mediaHtml }}
34
37
  </div>
35
38
  {% endif %}
@@ -44,7 +47,6 @@
44
47
 
45
48
  {% if params.text and nativeVariant !== "right" %}
46
49
  <p class="{{ componentClassName + '__text' }}">
47
- {{- TeaserDot() -}}
48
50
  {{- params.text -}}
49
51
  </p>
50
52
  {% endif %}
@@ -28,12 +28,6 @@
28
28
  }
29
29
  }
30
30
 
31
- &::after {
32
- content: "";
33
- display: block;
34
- clear: both;
35
- }
36
-
37
31
  &.ds-teaser--native-right,
38
32
  &.ds-teaser--native-large {
39
33
  .ds-teaser__media {
@@ -10,11 +10,4 @@ In the CMS title will be set to a location like "Kiev, Ukraina" or "USA" and tex
10
10
 
11
11
  The component will not include styling by itself. Make sure to include the right styles for the component. See example below: `@use '@bonniernews/dn-design-system-web/components/teaser-onsite/teaser-onsite.scss'`
12
12
 
13
- <table class="docblock-argstable sb-unstyled css-v2ifgj"><thead class="docblock-argstable-head"><tr><th><span>Name</span></th><th><span>Description</span></th><th><span>Default</span></th></tr></thead><tbody class="docblock-argstable-body"><tr><td class="css-4lbn0a"><span class="css-in3yi3">areaType</span></td><td><div class="css-1f9domv"><div class="css-13nzt7e"><span class="css-o1d7ko">"right"</span><span class="css-o1d7ko">"bauta"</span><span class="css-o1d7ko">"bautaxl"</span></div></div></td><td><span>-</span></td></tr><tr><td class="css-4lbn0a"><span class="css-in3yi3">targetLink</span></td><td><div class="css-1f9domv"><div class="css-13nzt7e"><span class="css-o1d7ko">string</span></div></div></td><td><span>-</span></td></tr><tr><td class="css-4lbn0a"><span class="css-in3yi3">theme</span></td><td><div class="css-1f9domv"><div class="css-13nzt7e"><span class="css-o1d7ko">"kultur"</span><span class="css-o1d7ko">"nyheter"</span><span class="css-o1d7ko">"sport"</span><span class="css-o1d7ko">"ekonomi"</span><span class="css-o1d7ko">"sthlm"</span></div></div></td><td><div class="css-13nzt7e"><span class="css-o1d7ko">"nyheter"</span></div></td></tr><tr><td class="css-4lbn0a"><span class="css-in3yi3">classNames</span></td><td><div class="css-1f9domv"><div class="css-13nzt7e"><span class="css-o1d7ko">string</span></div></div></td><td><span>-</span></td></tr><tr><td class="css-4lbn0a"><span class="css-in3yi3">attributes</span></td><td><div class="css-18pz2h2"><span>Ex. { target: "_blank", "data-test": "lorem ipsum" }</span></div><div class="css-1ije3e2"><div class="css-13nzt7e"><span class="css-o1d7ko">object</span></div></div></td><td><span>-</span></td></tr><tr><td class="css-4lbn0a"><span class="css-in3yi3">mediaHtml</span></td><td><div class="css-1f9domv"><div class="css-13nzt7e"><span class="css-o1d7ko">string</span></div></div></td><td><span>-</span></td></tr><tr><td class="css-4lbn0a"><span class="css-in3yi3">title</span></td><td><div class="css-1f9domv"><div class="css-13nzt7e"><span class="css-o1d7ko">string</span></div></div></td><td><span>-</span></td></tr><tr><td class="css-4lbn0a"><span class="css-in3yi3">text</span></td><td><div class="css-1f9domv"><div class="css-13nzt7e"><span class="css-o1d7ko">string</span></div></div></td><td><span>-</span></td></tr></tbody></table>
14
-
15
- <pre class="prismjs css-4zr3vl"><div class="language-jsx css-zye6j" style="white-space: pre;"><span class="token tag punctuation">&lt;</span><span class="token tag class-name">TeaserOnSite</span><span class="token tag">
16
- </span><span class="token tag"> </span><span class="token tag attr-name">mediaHtml="&lt;figure</span><span class="token tag"> </span><span class="token tag attr-name">class</span><span class="token tag attr-value punctuation attr-equals">=</span><span class="token tag attr-value entity named-entity">&amp;quot;</span><span class="token tag attr-value">ds-teaser-image</span><span class="token tag attr-value entity named-entity">&amp;quot;</span><span class="token tag punctuation">&gt;</span><span class="token tag attr-name">&lt;div</span><span class="token tag"> </span><span class="token tag attr-name">class</span><span class="token tag attr-value punctuation attr-equals">=</span><span class="token tag attr-value entity named-entity">&amp;quot;</span><span class="token tag attr-value">picture</span><span class="token tag"> </span><span class="token tag attr-name">picture--placeholder&amp;quot;</span><span class="token tag"> </span><span class="token tag special-attr attr-name">style</span><span class="token tag special-attr attr-value punctuation attr-equals">=</span><span class="token tag special-attr attr-value value css language-css">&amp;quot</span><span class="token tag special-attr attr-value value css language-css punctuation">;</span><span class="token tag special-attr attr-value value css language-css property">aspect-ratio</span><span class="token tag special-attr attr-value value css language-css punctuation">:</span><span class="token tag"> </span><span class="token tag attr-name">1</span><span class="token tag"> / </span><span class="token tag attr-name">1;&amp;quot;</span><span class="token tag punctuation">&gt;</span><span class="token tag attr-name">&lt;img</span><span class="token tag"> </span><span class="token tag attr-name">class</span><span class="token tag attr-value punctuation attr-equals">=</span><span class="token tag attr-value entity named-entity">&amp;quot;</span><span class="token tag attr-value">picture__img</span><span class="token tag attr-value entity named-entity">&amp;quot;</span><span class="token tag"> </span><span class="token tag attr-name">src</span><span class="token tag attr-value punctuation attr-equals">=</span><span class="token tag attr-value entity named-entity">&amp;quot;</span><span class="token tag attr-value">https://cached-images.bonnier.news/gcs/bilder-lab/dn-mly/d5e4cd87-61a5-40fc-8060-c4ad5019a9f3.jpeg?interpolation=lanczos-none</span><span class="token tag attr-value entity named-entity">&amp;amp;</span><span class="token tag attr-value">fit=around%7C56:56</span><span class="token tag attr-value entity named-entity">&amp;amp;</span><span class="token tag attr-value">crop=56:h;center,top</span><span class="token tag attr-value entity named-entity">&amp;amp;</span><span class="token tag attr-value">output-quality=80</span><span class="token tag attr-value entity named-entity">&amp;quot;</span><span class="token tag"> </span><span class="token tag attr-name">alt</span><span class="token tag attr-value punctuation attr-equals">=</span><span class="token tag attr-value entity named-entity">&amp;quot;</span><span class="token tag attr-value entity named-entity">&amp;quot;</span><span class="token tag"> </span><span class="token tag attr-name">aria-hidden</span><span class="token tag attr-value punctuation attr-equals">=</span><span class="token tag attr-value entity named-entity">&amp;quot;</span><span class="token tag attr-value">true</span><span class="token tag attr-value entity named-entity">&amp;quot;</span><span class="token tag punctuation">&gt;</span><span class="token tag attr-name">&lt;</span><span class="token tag">/</span><span class="token tag attr-name">div</span><span class="token tag punctuation">&gt;</span><span class="token tag attr-name">&lt;</span><span class="token tag">/</span><span class="token tag attr-name">figure</span><span class="token tag punctuation">&gt;</span><span class="token tag attr-name">"</span><span class="token tag">
17
- </span><span class="token tag"> </span><span class="token tag attr-name">targetLink</span><span class="token tag attr-value punctuation attr-equals">=</span><span class="token tag attr-value punctuation">"</span><span class="token tag attr-value">https://www.dn.se/varlden/har-forvarades-atombomber-under-kalla-kriget-nu-ar-flygbasen-pa-azorerna-ater-het-for-stormakterna/</span><span class="token tag attr-value punctuation">"</span><span class="token tag">
18
- </span><span class="token tag"> </span><span class="token tag attr-name">text</span><span class="token tag attr-value punctuation attr-equals">=</span><span class="token tag attr-value punctuation">"</span><span class="token tag attr-value">Henrik Brandão Jönsson och Eduardo Leal</span><span class="token tag attr-value punctuation">"</span><span class="token tag">
19
- </span><span class="token tag"> </span><span class="token tag attr-name">title</span><span class="token tag attr-value punctuation attr-equals">=</span><span class="token tag attr-value punctuation">"</span><span class="token tag attr-value">Azorerna</span><span class="token tag attr-value punctuation">"</span><span class="token tag">
20
- </span><span class="token tag"></span><span class="token tag punctuation">/&gt;</span></div></pre>
13
+ <table class="docblock-argstable sb-unstyled css-v2ifgj"><thead class="docblock-argstable-head"><tr><th><span>Name</span></th><th><span>Description</span></th><th><span>Default</span></th></tr></thead><tbody class="docblock-argstable-body"><tr><td class="css-4lbn0a"><span class="css-in3yi3">areaType</span></td><td><div class="css-1f9domv"><div class="css-13nzt7e"><span class="css-o1d7ko">"right"</span><span class="css-o1d7ko">"bauta"</span><span class="css-o1d7ko">"bautaxl"</span></div></div></td><td><span>-</span></td></tr><tr><td class="css-4lbn0a"><span class="css-in3yi3">targetLink</span></td><td><div class="css-1f9domv"><div class="css-13nzt7e"><span class="css-o1d7ko">string</span></div></div></td><td><span>-</span></td></tr><tr><td class="css-4lbn0a"><span class="css-in3yi3">theme</span></td><td><div class="css-1f9domv"><div class="css-13nzt7e"><span class="css-o1d7ko">"kultur"</span><span class="css-o1d7ko">"nyheter"</span><span class="css-o1d7ko">"sport"</span><span class="css-o1d7ko">"ekonomi"</span><span class="css-o1d7ko">"sthlm"</span></div></div></td><td><div class="css-13nzt7e"><span class="css-o1d7ko">"nyheter"</span></div></td></tr><tr><td class="css-4lbn0a"><span class="css-in3yi3">classNames</span></td><td><div class="css-1f9domv"><div class="css-13nzt7e"><span class="css-o1d7ko">string</span></div></div></td><td><span>-</span></td></tr><tr><td class="css-4lbn0a"><span class="css-in3yi3">attributes</span></td><td><div class="css-18pz2h2"><span>Ex. { target: "_blank", "data-test": "lorem ipsum" }</span></div><div class="css-1ije3e2"><div class="css-13nzt7e"><span class="css-o1d7ko">object</span></div></div></td><td><span>-</span></td></tr><tr><td class="css-4lbn0a"><span class="css-in3yi3">mediaHtml</span></td><td><div class="css-1f9domv"><div class="css-13nzt7e"><span class="css-o1d7ko">string</span></div></div></td><td><span>-</span></td></tr><tr><td class="css-4lbn0a"><span class="css-in3yi3">title</span></td><td><div class="css-1f9domv"><div class="css-13nzt7e"><span class="css-o1d7ko">string</span></div></div></td><td><span>-</span></td></tr><tr><td class="css-4lbn0a"><span class="css-in3yi3">text</span></td><td><div class="css-1f9domv"><div class="css-13nzt7e"><span class="css-o1d7ko">string</span></div></div></td><td><span>-</span></td></tr></tbody></table>
@@ -14,7 +14,11 @@
14
14
  classNames: classes
15
15
  }) %}
16
16
  {% if params.mediaHtml %}
17
- <div class="{{ componentClassName + '__media'}}">
17
+ {% set mediaClass = [
18
+ componentClassName + '__media',
19
+ componentClassName + '__media--rounded'
20
+ ] | join(" ") %}
21
+ <div class="{{ mediaClass }}">
18
22
  {{ params.mediaHtml }}
19
23
  </div>
20
24
  {% endif %}
@@ -17,6 +17,7 @@
17
17
  background-color: $ds-color-border-primary;
18
18
  position: absolute;
19
19
  display: block;
20
+ clear: both; // Clears floating media in standard-teaser
20
21
  top: 0;
21
22
  left: 0;
22
23
  right: 0;
@@ -26,7 +27,7 @@
26
27
  }
27
28
 
28
29
  // first-child only triggers if there is no vignette
29
- .ds-teaser--top-img::after,
30
+ .ds-teaser--hide-top-border::after,
30
31
  > .ds-split-container:first-child::after,
31
32
  > .ds-teaser:first-child::after {
32
33
  display: none;
@@ -47,22 +48,22 @@
47
48
  }
48
49
 
49
50
  &.ds-teaser-package--bauta {
50
- background-color: $bauta-surface-color;
51
+ background-color: $ds-color-surface-breaking;
51
52
 
52
53
  & .ds-teaser,
53
54
  & .ds-teaser--slideshow {
54
- background-color: $bauta-surface-color;
55
+ background-color: $ds-color-surface-breaking;
55
56
  }
56
57
 
57
58
  .ds-split-container {
58
- background-color: $bauta-surface-color;
59
+ background-color: $ds-color-surface-breaking;
59
60
  &::after {
60
- background-color: $updated-color-border-primary;
61
+ background-color: $ds-color-border-primary;
61
62
  }
62
63
  }
63
64
 
64
65
  & > .ds-teaser::after {
65
- background-color: $updated-color-border-primary;
66
+ background-color: $ds-color-border-primary;
66
67
  }
67
68
  }
68
69
  }
@@ -36,6 +36,6 @@
36
36
  }
37
37
 
38
38
  &.ds-teaser--bauta {
39
- background-color: $bauta-surface-color;
39
+ background-color: $ds-color-surface-breaking;
40
40
  }
41
41
  }
@@ -23,7 +23,11 @@
23
23
  classNames: extraClasses
24
24
  }) %}
25
25
  {% if params.mediaHtml %}
26
- <div class="{{ componentClassName + '__media'}}">
26
+ {% set mediaClass = [
27
+ componentClassName + '__media',
28
+ componentClassName + '__media--rounded'
29
+ ] | join(" ") %}
30
+ <div class="{{ mediaClass }}">
27
31
  {{ params.mediaHtml }}
28
32
  {% if params.isLocked %}
29
33
  {{ VipBadge({
@@ -52,8 +56,8 @@
52
56
 
53
57
  {% if params.text %}
54
58
  <p class="{{ componentClassName + '__text' }}">
55
- {{ TeaserDot({ flashing: params.isFlashingDot }) }}
56
59
  {% if params.sticker %}
60
+ {{ TeaserDot({ flashing: params.isFlashingDot }) }}
57
61
  <span class="ds-teaser__sticker">
58
62
  {{ params.sticker }}
59
63
  </span>
@@ -23,7 +23,7 @@
23
23
  }
24
24
 
25
25
  &.ds-split-container--bauta {
26
- background-color: $bauta-surface-color;
26
+ background-color: $ds-color-surface-breaking;
27
27
  }
28
28
 
29
29
  .ds-teaser--split {
@@ -74,6 +74,8 @@
74
74
  }
75
75
 
76
76
  .ds-teaser__media {
77
+ margin-top: ds-spacing($ds-s-025);
78
+
77
79
  .ds-teaser-image__byline {
78
80
  @include ds-typography($ds-typography-functionalmeta01, $forcePx: true, $lineHeight: $ds-lineheight-l);
79
81
  }
@@ -33,7 +33,12 @@
33
33
 
34
34
  <div class="{{ componentClassName + '__content'}}">
35
35
  {% if params.mediaHtml %}
36
- <div class="{{ componentClassName + '__media'}} {{ componentClassName + '__media--square-image' if params.isSquareImage}}">
36
+ {% set mediaClass = [
37
+ componentClassName + '__media',
38
+ componentClassName + '__media--rounded' if not params.isItalicHeadline,
39
+ componentClassName + '__media--square-image' if params.isSquareImage
40
+ ] | join(" ") %}
41
+ <div class="{{ mediaClass }}">
37
42
  {{ params.mediaHtml }}
38
43
  {% if params.isLocked %}
39
44
  {{ VipBadge({
@@ -61,9 +66,8 @@
61
66
 
62
67
  {% if params.text and params.areaType !== "right" %}
63
68
  <p class="{{ componentClassName + '__text' }}">
64
- {{ TeaserDot({ flashing: params.isFlashingDot }) }}
65
-
66
69
  {% if params.sticker %}
70
+ {{ TeaserDot({ flashing: params.isFlashingDot }) }}
67
71
  <span class="ds-teaser__sticker">
68
72
  {{ params.sticker }}
69
73
  </span>
@@ -5,6 +5,10 @@
5
5
  padding: ds-spacing($ds-s-075 $ds-s-100 0);
6
6
  overflow: hidden;
7
7
 
8
+ .ds-teaser__vignette {
9
+ margin-top: ds-spacing($ds-s-025);
10
+ }
11
+
8
12
  .ds-teaser__title {
9
13
  @include ds-typography($ds-typography-detailteaser-standard);
10
14
 
@@ -28,17 +32,12 @@
28
32
  margin-bottom: ds-spacing($ds-s-100);
29
33
  }
30
34
 
31
- &::after {
32
- content: "";
33
- display: block;
34
- clear: both;
35
- }
36
-
37
35
  .ds-teaser__content {
38
36
  display: block;
39
37
  }
40
38
 
41
39
  .ds-teaser__media {
40
+ margin-top: ds-spacing($ds-s-025);
42
41
  margin-bottom: ds-spacing($ds-s-100);
43
42
  margin-left: ds-spacing($ds-s-100);
44
43
  float: right;
@@ -10,7 +10,7 @@
10
10
 
11
11
  |parameter | type | required | options | default | description |
12
12
  |:--- | :--- | :--- | :--- | :--- | :--- |
13
- |type | String | no | $ds-link-paragraph, $ds-link-list | $ds-link-paragraph | We use scss variables for autocomplete and to easier detect breaking changes |
13
+ |type | String | no | $ds-link-paragraph, $ds-link-list | $ds-link-paragraph | We use scss variables for autocomplete and to easier detect centered changes |
14
14
 
15
15
  ## Minimum requirement example
16
16
 
@@ -7,7 +7,7 @@
7
7
  # Spacing
8
8
 
9
9
  ## use sass variable
10
- To avoid silent breaking changes use sass variable instead of raw token name.
10
+ To avoid silent centered changes use sass variable instead of raw token name.
11
11
 
12
12
  Ex: `margin: ds-spacing($ds-s-050 0 $ds-s-sm)`
13
13