@bonniernews/dn-design-system-web 21.1.5 → 21.2.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 (39) hide show
  1. package/CHANGELOG.md +53 -3
  2. package/assets/teaser/teaser.scss +7 -1
  3. package/components/divider/README.md +1 -3
  4. package/components/group-header/group-header.scss +1 -1
  5. package/components/teaser-breaking/README-UXD.md +0 -0
  6. package/components/teaser-breaking/README.md +46 -0
  7. package/components/teaser-breaking/teaser-breaking.njk +46 -0
  8. package/components/teaser-breaking/teaser-breaking.scss +52 -0
  9. package/components/teaser-image/teaser-image.scss +1 -1
  10. package/components/teaser-large/teaser-large.njk +13 -3
  11. package/components/teaser-large/teaser-large.scss +16 -0
  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-onsite/teaser-onsite.tsx +1 -1
  18. package/components/teaser-package/teaser-package.scss +17 -6
  19. package/components/teaser-slideshow/teaser-slideshow.scss +1 -1
  20. package/components/teaser-split/teaser-split.njk +6 -2
  21. package/components/teaser-split/teaser-split.scss +3 -1
  22. package/components/teaser-standard/teaser-standard.njk +7 -3
  23. package/components/teaser-standard/teaser-standard.scss +5 -6
  24. package/foundations/helpers/colors.scss +1 -6
  25. package/foundations/variables/colorsCssVariables.scss +4 -0
  26. package/foundations/variables/colorsDnDarkTokens.scss +64 -60
  27. package/foundations/variables/colorsDnLightTokens.scss +55 -51
  28. package/foundations/variables/metrics.scss +2 -1
  29. package/foundations/variables/typographyFontWeight.scss +1 -0
  30. package/foundations/variables/typographyTokensList.scss +1 -0
  31. package/foundations/variables/typographyTokensScreenExtraLarge.scss +11 -4
  32. package/foundations/variables/typographyTokensScreenLarge.scss +10 -3
  33. package/foundations/variables/typographyTokensScreenSmall.scss +13 -6
  34. package/helpers/teaser.tsx +4 -2
  35. package/package.json +1 -1
  36. package/tokens/colors-css-variables.json +5 -1
  37. package/tokens/colors-dark-mode.json +64 -60
  38. package/tokens/colors-light-mode.json +57 -53
  39. package/tokens/typography-list.json +1 -0
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
  ## [21.1.5](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@21.1.4...@bonniernews/dn-design-system-web@21.1.5) (2024-11-15)
8
55
 
9
56
 
@@ -41,7 +88,6 @@ All changes to @bonniernews/dn-design-system-web will be documented in this file
41
88
 
42
89
  ## [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)
43
90
 
44
-
45
91
  ### Features
46
92
 
47
93
  * **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))
@@ -56,7 +102,9 @@ All changes to @bonniernews/dn-design-system-web will be documented in this file
56
102
  * prerelease packages ([92a0383](https://github.com/BonnierNews/dn-design-system/commit/92a038392e8bc9b4bfa8b3f2dc508b16ef1ff4cf))
57
103
 
58
104
  ## [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)
59
-
105
+ * **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))
106
+ * **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))
107
+ * **web:** one level of bauta with background color ([8734216](https://github.com/BonnierNews/dn-design-system/commit/87342169eacf9d59f202f45424022c1bd733a74e))
60
108
 
61
109
  ### Maintenance
62
110
 
@@ -71,6 +119,9 @@ All changes to @bonniernews/dn-design-system-web will be documented in this file
71
119
  * prerelease packages ([974fe99](https://github.com/BonnierNews/dn-design-system/commit/974fe99363323771a4284b36a895757fd4c49630))
72
120
  * prerelease packages ([3ebfd91](https://github.com/BonnierNews/dn-design-system/commit/3ebfd91c6780c6222c74b500eade9fd19cac88f3))
73
121
  * **web:** change screenshot location ([#1482](https://github.com/BonnierNews/dn-design-system/issues/1482)) ([472d0df](https://github.com/BonnierNews/dn-design-system/commit/472d0df71292d72206f908b82b45148a3b79cb91))
122
+ * **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))
123
+ * prerelease packages ([3ebfd91](https://github.com/BonnierNews/dn-design-system/commit/3ebfd91c6780c6222c74b500eade9fd19cac88f3))
124
+ * **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))
74
125
 
75
126
  ## [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)
76
127
 
@@ -85,7 +136,6 @@ All changes to @bonniernews/dn-design-system-web will be documented in this file
85
136
 
86
137
  * **web:** one level of bauta with background color ([075ed25](https://github.com/BonnierNews/dn-design-system/commit/075ed259c6f3c50ed6018bd566fdc7b9b5c05c73))
87
138
 
88
-
89
139
  ### Maintenance
90
140
 
91
141
  * **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))
@@ -99,6 +99,12 @@ $grade-size: ds-px-to-rem(34px);
99
99
  .ds-teaser__media {
100
100
  width: 100%;
101
101
  position: relative;
102
+ box-sizing: border-box;
103
+
104
+ &--rounded {
105
+ border-radius: ds-border-radius(x1);
106
+ overflow: hidden;
107
+ }
102
108
  }
103
109
 
104
110
  .ds-vip-badge {
@@ -128,6 +134,6 @@ $grade-size: ds-px-to-rem(34px);
128
134
  }
129
135
 
130
136
  &--bauta {
131
- background-color: $bauta-surface-color;
137
+ background-color: $ds-color-surface-breaking;
132
138
  }
133
139
  }
@@ -6,6 +6,4 @@ Divider
6
6
 
7
7
  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/divider/divider.scss'`
8
8
 
9
- <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">variant</span></td><td><div class="css-1f9domv"><div class="css-13nzt7e"><span class="css-o1d7ko">"soft"</span><span class="css-o1d7ko">"medium"</span><span class="css-o1d7ko">"hard"</span></div></div></td><td><div class="css-13nzt7e"><span class="css-o1d7ko">"soft"</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-1f9domv"><div class="css-13nzt7e"><span class="css-o1d7ko">object</span></div></div></td><td><span>-</span></td></tr></tbody></table>
10
-
11
- <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">Divider</span><span class="token tag"> </span><span class="token tag attr-name">variant</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">soft</span><span class="token tag attr-value punctuation">"</span><span class="token tag"> </span><span class="token tag punctuation">/&gt;</span></div></pre>
9
+ <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">variant</span></td><td><div class="css-1f9domv"><div class="css-13nzt7e"><span class="css-o1d7ko">"soft"</span><span class="css-o1d7ko">"medium"</span><span class="css-o1d7ko">"hard"</span></div></div></td><td><div class="css-13nzt7e"><span class="css-o1d7ko">"soft"</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-1f9domv"><div class="css-13nzt7e"><span class="css-o1d7ko">object</span></div></div></td><td><span>-</span></td></tr></tbody></table>
@@ -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-breaking](https://github.com/BonnierNews/dn-design-system/tree/main/web/src/components/teaser-breaking)
2
+ - Storybook: [TeaserBreaking](https://designsystem.dn.se/?path=/docs/section-teaserbreaking--docs)
3
+ - Storybook (Latest): [TeaserBreaking](https://designsystem-latest.dn.se/?path=/docs/section-teaserbreaking--docs)
4
+
5
+ ----
6
+
7
+ # teaser-breaking
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-breaking/teaser-breaking.njk' import TeaserBreaking %}
35
+
36
+ {{ TeaserBreaking({
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-breaking/teaser-breaking" as *;
46
+ ```
@@ -0,0 +1,46 @@
1
+ {% from '@bonniernews/dn-design-system-web/components/teaser-card/teaser-card.njk' import TeaserCard %}
2
+
3
+ {% macro TeaserBreaking(params) %}
4
+ {% set componentClassName = "ds-teaser" %}
5
+ {% set classNamePrefix = componentClassName + "--" %}
6
+
7
+ {% set extraClasses = [
8
+ "ds-teaser--breaking",
9
+ params.classNames if params.classNames
10
+ ] | join(" ") %}
11
+
12
+ {% call TeaserCard({
13
+ targetLink: params.targetLink,
14
+ areaType: params.areaType,
15
+ theme: params.theme,
16
+ attributes: params.attributes,
17
+ classNames: extraClasses
18
+ }) %}
19
+ <div class="{{ componentClassName + '__content'}}">
20
+ <div class="ds-teaser__content-inner">
21
+ {% if params.vignette %}
22
+ <div class="ds-teaser__vignette">
23
+ {{ params.vignette }}
24
+ </div>
25
+ {% endif %}
26
+ <h2 class="ds-teaser__title">
27
+ {% if params.highlight %}
28
+ <span class="{{ componentClassName + '__highlight'}}">{{ params.highlight }}</span>
29
+ {% endif %}
30
+ {{ params.title }}
31
+ </h2>
32
+
33
+ {% if params.text %}
34
+ <p class="{{ componentClassName + '__text' }}">
35
+ {{ params.text }}
36
+ </p>
37
+ {% endif %}
38
+ </div>
39
+ </div>
40
+ {% if params.mediaHtml %}
41
+ <div class="{{ componentClassName + '__media'}}">
42
+ {{ params.mediaHtml }}
43
+ </div>
44
+ {% endif %}
45
+ {% endcall %}
46
+ {% endmacro %}
@@ -0,0 +1,52 @@
1
+ @use "../../foundations/helpers/forward.helpers.scss" as *;
2
+ @use "../../assets/teaser/teaser.scss" as *;
3
+
4
+ .ds-teaser.ds-teaser--breaking {
5
+ display: flex;
6
+ flex-direction: column;
7
+ position: relative;
8
+
9
+ .ds-teaser__media {
10
+ padding: ds-spacing(0 0 $ds-s-100);
11
+
12
+ video {
13
+ max-width: 100%;
14
+ }
15
+ }
16
+
17
+ .ds-teaser__content {
18
+ display: flex;
19
+ flex-direction: row;
20
+ padding: ds-spacing($ds-s-075 $ds-s-100 $ds-s-100);
21
+ text-align: center;
22
+
23
+ .ds-teaser__content-inner {
24
+ display: flex;
25
+ flex-direction: column;
26
+ flex: 1;
27
+ }
28
+ }
29
+
30
+ &:focus-visible {
31
+ outline: none !important; /* stylelint-disable-line declaration-no-important */
32
+
33
+ .ds-teaser__content {
34
+ @include ds-teaser-focus(-8px, false);
35
+ }
36
+ }
37
+
38
+ .ds-teaser__vignette {
39
+ margin-top: ds-spacing($ds-s-025);
40
+ }
41
+
42
+ .ds-teaser__title {
43
+ @include ds-typography($ds-typography-detailteaser-breaking);
44
+ text-align: center;
45
+ }
46
+
47
+ @include ds-hover(true) {
48
+ .ds-teaser__title {
49
+ @include ds-underline(3px);
50
+ }
51
+ }
52
+ }
@@ -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
  }
@@ -13,11 +13,17 @@
13
13
  {% set italicsClass = "ds-teaser--large-big-italic" if params.isLargeHeadline and params.areaType !== "right" else "ds-teaser--large-italic" %}
14
14
  {% endif %}
15
15
 
16
+ {# Hide top border if there is media and it's not a compact version. Compact is overruled by italic, if italic we must hide border because we shouldn't change anything related to åsikt #}
17
+ {% set hideTopBorder = false %}
18
+ {% if params.mediaHtml and (params.isItalicHeadline or not params.isCompact) %}
19
+ {% set hideTopBorder = true %}
20
+ {% endif %}
21
+
16
22
  {% set extraClasses = [
17
23
  "ds-teaser--large",
18
24
  classNamePrefix + params.variant if params.variant,
19
25
  classNamePrefix + "quote-badge" if isQuoteBadge,
20
- classNamePrefix + 'top-img' if params.mediaHtml,
26
+ classNamePrefix + 'hide-top-border' if hideTopBorder,
21
27
  italicsClass if italicsClass,
22
28
  classNamePrefix + "compact" if params.isCompact,
23
29
  params.classNames if params.classNames
@@ -31,7 +37,11 @@
31
37
  classNames: extraClasses
32
38
  }) %}
33
39
  {% if params.mediaHtml %}
34
- <div class="{{ componentClassName + '__media'}}">
40
+ {% set mediaClass = [
41
+ componentClassName + '__media',
42
+ componentClassName + '__media--rounded' if params.isCompact and not params.isItalicHeadline
43
+ ] | join(" ") %}
44
+ <div class="{{ mediaClass }}">
35
45
  {{ params.mediaHtml }}
36
46
  {% if params.isLocked %}
37
47
  {{ VipBadge({
@@ -64,8 +74,8 @@
64
74
 
65
75
  {% if params.text and params.areaType !== "right" %}
66
76
  <p class="{{ componentClassName + '__text' }} {{ componentClassName + '__text--with-grade' if gradeHtml.length }}">
67
- {{ TeaserDot({ flashing: params.isFlashingDot }) }}
68
77
  {% if params.sticker %}
78
+ {{ TeaserDot({ flashing: params.isFlashingDot }) }}
69
79
  <span class="ds-teaser__sticker">
70
80
  {{ params.sticker }}
71
81
  </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;
@@ -106,6 +111,17 @@
106
111
  &.ds-teaser--large-big-italic .ds-teaser__title {
107
112
  @include ds-typography($ds-typography-detailteaser-large-compact-opinion);
108
113
  }
114
+
115
+ &:not(.ds-teaser--large-italic):not(.ds-teaser--large-big-italic) {
116
+ .ds-teaser__media {
117
+ margin: ds-spacing($ds-s-100 $ds-s-100 0 $ds-s-100);
118
+ width: calc(100% - ds-spacing($ds-s-200));
119
+ }
120
+
121
+ .ds-teaser-dot {
122
+ display: none;
123
+ }
124
+ }
109
125
  }
110
126
 
111
127
  @include ds-mq-smallest-breakpoint(tablet) {
@@ -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 %}
@@ -33,7 +33,7 @@ export const TeaserOnSite = ({ areaType, targetLink, theme = 'nyheter', classNam
33
33
 
34
34
  return (
35
35
  <TeaserCard { ...{ areaType, targetLink, theme, classes, attributes }}>
36
- <Media { ...{ mediaHtml }} />
36
+ <Media { ...{ mediaHtml, rounded: true }} />
37
37
  <Content>
38
38
  <Title title={`PÅ PLATS | ${title}`} />
39
39
  <Body { ...{ text }} />
@@ -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,12 +27,22 @@
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;
33
34
  }
34
35
 
36
+ .ds-teaser--breaking + .ds-teaser--hide-top-border {
37
+ &::after {
38
+ display: block; // Override `display:none to make border visible
39
+ }
40
+
41
+ .ds-teaser__media {
42
+ margin-top: ds-spacing($ds-s-100);
43
+ }
44
+ }
45
+
35
46
  &::after {
36
47
  content: "";
37
48
  position: absolute;
@@ -47,22 +58,22 @@
47
58
  }
48
59
 
49
60
  &.ds-teaser-package--bauta {
50
- background-color: $bauta-surface-color;
61
+ background-color: $ds-color-surface-breaking;
51
62
 
52
63
  & .ds-teaser,
53
64
  & .ds-teaser--slideshow {
54
- background-color: $bauta-surface-color;
65
+ background-color: $ds-color-surface-breaking;
55
66
  }
56
67
 
57
68
  .ds-split-container {
58
- background-color: $bauta-surface-color;
69
+ background-color: $ds-color-surface-breaking;
59
70
  &::after {
60
- background-color: $updated-color-border-primary;
71
+ background-color: $ds-color-border-primary;
61
72
  }
62
73
  }
63
74
 
64
75
  & > .ds-teaser::after {
65
- background-color: $updated-color-border-primary;
76
+ background-color: $ds-color-border-primary;
66
77
  }
67
78
  }
68
79
  }
@@ -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' }} {{ componentClassName + '__text--with-grade' if gradeHtml.length }}">
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' }} {{ componentClassName + '__text--with-grade' if gradeHtml.length }}">
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>