@bonniernews/dn-design-system-web 22.0.0 → 22.1.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 +66 -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,66 @@ All changes to @bonniernews/dn-design-system-web will be documented in this file
4
4
 
5
5
 
6
6
 
7
+ ## [22.1.0](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@22.0.0...@bonniernews/dn-design-system-web@22.1.0) (2024-12-17)
8
+
9
+
10
+ ### Features
11
+
12
+ * **web:** visuella toppar ([#1443](https://github.com/BonnierNews/dn-design-system/issues/1443)) ([24953d9](https://github.com/BonnierNews/dn-design-system/commit/24953d972aaca121da4d9c1cfa5060c1b4f514f2))
13
+
14
+
15
+ ### Maintenance
16
+
17
+ * **deps:** bump nanoid from 3.3.7 to 3.3.8 in /web ([#1533](https://github.com/BonnierNews/dn-design-system/issues/1533)) ([9ae4af5](https://github.com/BonnierNews/dn-design-system/commit/9ae4af5a4fdf8b279f440b1c4b1a4a16548040f6))
18
+ * prerelease packages ([019b86b](https://github.com/BonnierNews/dn-design-system/commit/019b86b2d23ce424077058f4253069ea18bce781))
19
+
20
+ ## [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)
21
+
22
+
23
+ ### Bug Fixes
24
+
25
+ * **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))
26
+
27
+ ## [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)
28
+
29
+ ## [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)
30
+
31
+
32
+ ### Features
33
+
34
+ * **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))
35
+ * **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))
36
+ * **web:** one level of bauta with background color ([9184544](https://github.com/BonnierNews/dn-design-system/commit/91845447403cb2ec5a787fd64c341d620861b148))
37
+ * **web:** one level of bauta with background color ([644acd6](https://github.com/BonnierNews/dn-design-system/commit/644acd6166d7385ac08c930fe725215a9e35fc80))
38
+
39
+
40
+ ### Bug Fixes
41
+
42
+ * **web:** correct spacing teasers ([#1491](https://github.com/BonnierNews/dn-design-system/issues/1491)) ([b2624b8](https://github.com/BonnierNews/dn-design-system/commit/b2624b8311384d38971f82eb84e73560244a4b18))
43
+ * **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))
44
+
45
+
46
+ ### Maintenance
47
+
48
+ * **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))
49
+ * **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))
50
+ * **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))
51
+ * **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))
52
+ * prerelease packages ([974fe99](https://github.com/BonnierNews/dn-design-system/commit/974fe99363323771a4284b36a895757fd4c49630))
53
+ * prerelease packages ([3ebfd91](https://github.com/BonnierNews/dn-design-system/commit/3ebfd91c6780c6222c74b500eade9fd19cac88f3))
54
+ * **web:** change screenshot location ([#1482](https://github.com/BonnierNews/dn-design-system/issues/1482)) ([472d0df](https://github.com/BonnierNews/dn-design-system/commit/472d0df71292d72206f908b82b45148a3b79cb91))
55
+ * **web:** released version v21.1.0-beta.1 ([9d45c5a](https://github.com/BonnierNews/dn-design-system/commit/9d45c5a4bbcfe53698ca9dffe3e1771422fbcdac))
56
+ * **web:** released version v21.1.0-beta.2 ([49b9324](https://github.com/BonnierNews/dn-design-system/commit/49b9324c7074d6835aab2de9bb7d9e18649f58b6))
57
+ * **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))
58
+
59
+ ## [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)
60
+
61
+ ### Bug Fixes
62
+
63
+ * **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))
64
+
65
+ ## [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)
66
+
7
67
  ## [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
68
 
9
69
 
@@ -139,7 +199,6 @@ All changes to @bonniernews/dn-design-system-web will be documented in this file
139
199
 
140
200
  ## [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
201
 
142
-
143
202
  ### Features
144
203
 
145
204
  * **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 +213,9 @@ All changes to @bonniernews/dn-design-system-web will be documented in this file
154
213
  * prerelease packages ([92a0383](https://github.com/BonnierNews/dn-design-system/commit/92a038392e8bc9b4bfa8b3f2dc508b16ef1ff4cf))
155
214
 
156
215
  ## [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
-
216
+ * **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))
217
+ * **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))
218
+ * **web:** one level of bauta with background color ([8734216](https://github.com/BonnierNews/dn-design-system/commit/87342169eacf9d59f202f45424022c1bd733a74e))
158
219
 
159
220
  ### Maintenance
160
221
 
@@ -169,6 +230,9 @@ All changes to @bonniernews/dn-design-system-web will be documented in this file
169
230
  * prerelease packages ([974fe99](https://github.com/BonnierNews/dn-design-system/commit/974fe99363323771a4284b36a895757fd4c49630))
170
231
  * prerelease packages ([3ebfd91](https://github.com/BonnierNews/dn-design-system/commit/3ebfd91c6780c6222c74b500eade9fd19cac88f3))
171
232
  * **web:** change screenshot location ([#1482](https://github.com/BonnierNews/dn-design-system/issues/1482)) ([472d0df](https://github.com/BonnierNews/dn-design-system/commit/472d0df71292d72206f908b82b45148a3b79cb91))
233
+ * **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))
234
+ * prerelease packages ([3ebfd91](https://github.com/BonnierNews/dn-design-system/commit/3ebfd91c6780c6222c74b500eade9fd19cac88f3))
235
+ * **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
236
 
173
237
  ## [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
238
 
@@ -183,7 +247,6 @@ All changes to @bonniernews/dn-design-system-web will be documented in this file
183
247
 
184
248
  * **web:** one level of bauta with background color ([075ed25](https://github.com/BonnierNews/dn-design-system/commit/075ed259c6f3c50ed6018bd566fdc7b9b5c05c73))
185
249
 
186
-
187
250
  ### Maintenance
188
251
 
189
252
  * **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