@bonniernews/dn-design-system-web 15.0.0-beta.0 → 15.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +160 -0
- package/components/article-body-image/README-UXD.md +0 -0
- package/components/article-top-image/README-UXD.md +0 -0
- package/components/badge/README-UXD.md +0 -0
- package/components/blocked-content/README-UXD.md +0 -0
- package/components/buddy-menu/README-UXD.md +0 -0
- package/components/button/README-UXD.md +40 -0
- package/components/button/button.njk +32 -33
- package/components/button/button.scss +89 -90
- package/components/button-toggle/README-UXD.md +0 -0
- package/components/byline/README-UXD.md +0 -0
- package/components/checkbox/README-UXD.md +0 -0
- package/components/direkt-circle/README-UXD.md +0 -0
- package/components/disclaimer/README-UXD.md +0 -0
- package/components/divider/README-UXD.md +0 -0
- package/components/factbox/README-UXD.md +0 -0
- package/components/floating-button/README-UXD.md +0 -0
- package/components/footer/README-UXD.md +0 -0
- package/components/game-header/README-UXD.md +0 -0
- package/components/group-header/README-UXD.md +0 -0
- package/components/group-header/README.md +1 -1
- package/components/group-header/group-header.njk +5 -2
- package/components/group-header/group-header.scss +26 -2
- package/components/icon-button/README-UXD.md +0 -0
- package/components/icon-button/icon-button.njk +3 -1
- package/components/icon-button-toggle/README-UXD.md +0 -0
- package/components/icon-button-toggle/README.md +0 -1
- package/components/icon-button-toggle/icon-button-toggle.njk +1 -2
- package/components/icon-sprite/README-UXD.md +0 -0
- package/components/icon-sprite/README.md +1 -0
- package/components/icon-with-wrapper/README-UXD.md +0 -0
- package/components/image-caption/README-UXD.md +0 -0
- package/components/link-box/README-UXD.md +0 -0
- package/components/list-item/README-UXD.md +0 -0
- package/components/list-item/README-accordion.md +1 -1
- package/components/list-item/README-checkbox.md +1 -1
- package/components/list-item/README-image.md +48 -0
- package/components/list-item/README-radio.md +1 -1
- package/components/list-item/README-switch.md +1 -1
- package/components/list-item/README-toggle.md +1 -1
- package/components/list-item/README.md +1 -1
- package/components/list-item/list-item.njk +5 -2
- package/components/list-item/list-item.scss +35 -0
- package/components/modal/README-UXD.md +0 -0
- package/components/pictogram/README-UXD.md +0 -0
- package/components/pictogram/pictogram.scss +1 -1
- package/components/quote/README-UXD.md +0 -0
- package/components/radio-button/README-UXD.md +0 -0
- package/components/spinner/README-UXD.md +0 -0
- package/components/switch/README-UXD.md +0 -0
- package/components/tag-header/README-UXD.md +0 -0
- package/components/tag-header/tag-header.scss +4 -4
- package/components/teaser-card/README-UXD.md +0 -0
- package/components/teaser-dot/README-UXD.md +0 -0
- package/components/teaser-footer/README-UXD.md +0 -0
- package/components/teaser-footer/teaser-footer.scss +2 -2
- package/components/teaser-image/README-UXD.md +0 -0
- package/components/teaser-large/README-UXD.md +0 -0
- package/components/teaser-large/teaser-large.scss +3 -3
- package/components/teaser-list-swipe/README-UXD.md +0 -0
- package/components/teaser-list-swipe/teaser-list-swipe.njk +2 -2
- package/components/teaser-list-vertical/README-UXD.md +0 -0
- package/components/teaser-longlife/README-UXD.md +0 -0
- package/components/teaser-native/README-UXD.md +0 -0
- package/components/teaser-onsite/README-UXD.md +0 -0
- package/components/teaser-package/README-UXD.md +0 -0
- package/components/teaser-package/README.md +1 -0
- package/components/teaser-package/teaser-package.njk +9 -1
- package/components/teaser-right-now/README-UXD.md +0 -0
- package/components/teaser-slideshow/README-UXD.md +0 -0
- package/components/teaser-split/README-UXD.md +0 -0
- package/components/teaser-split/teaser-split.scss +1 -1
- package/components/teaser-standard/README-UXD.md +0 -0
- package/components/teaser-standard/teaser-standard.scss +2 -2
- package/components/teaser-swipe-card/README-UXD.md +0 -0
- package/components/teaser-tipsa/README-UXD.md +0 -0
- package/components/text-button/README-UXD.md +0 -0
- package/components/text-button-toggle/README-UXD.md +0 -0
- package/components/text-input/README-UXD.md +0 -0
- package/components/thematic-break/README-UXD.md +0 -0
- package/components/tooltip/README-UXD.md +0 -0
- package/components/tooltip/README.md +51 -0
- package/components/tooltip/tooltip.js +59 -0
- package/components/tooltip/tooltip.njk +38 -0
- package/components/tooltip/tooltip.scss +63 -0
- package/components/video-caption/README-UXD.md +0 -0
- package/components/vip-badge/README-UXD.md +0 -0
- package/foundations/helpers/README-UXD.md +0 -0
- package/foundations/typography/README-UXD.md +0 -0
- package/foundations/variables/colorsCssVariables.scss +2 -1
- package/foundations/variables/colorsDnDarkTokens.scss +2 -1
- package/foundations/variables/colorsDnLightTokens.scss +2 -1
- package/foundations/variables/typographyTokensScreenExtraLarge.scss +3 -3
- package/foundations/variables/typographyTokensScreenLarge.scss +3 -3
- package/foundations/variables/typographyTokensScreenSmall.scss +2 -2
- package/introduction/README-UXD.md +1 -0
- package/introduction/README.md +19 -0
- package/package.json +1 -1
- package/tokens/colors-css-variables.json +2 -1
- package/tokens/colors-dark-mode.json +3 -2
- package/tokens/colors-light-mode.json +3 -2
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{% from '@bonniernews/dn-design-system-web/components/icon-sprite/icon-sprite.njk' import IconUse %}
|
|
2
|
+
{% from '@bonniernews/dn-design-system-web/components/button/button.njk' import Button %}
|
|
3
|
+
{% from '@bonniernews/dn-design-system-web/components/icon-button/icon-button.njk' import IconButton %}
|
|
4
|
+
{% from '@bonniernews/dn-design-system-web/njk-helpers/attributes.njk' import getAttributes %}
|
|
5
|
+
|
|
6
|
+
{% macro Tooltip(params) %}
|
|
7
|
+
{% set componentClassName = "ds-tooltip" %}
|
|
8
|
+
|
|
9
|
+
{%- set classes = [
|
|
10
|
+
componentClassName,
|
|
11
|
+
"ds-force-px" if params.forcePx,
|
|
12
|
+
componentClassName + '--arrow-' + params.arrowPosition,
|
|
13
|
+
componentClassName + '--close-outside-click' if params.closeOnClickOutside,
|
|
14
|
+
componentClassName + '--hidden' if not params.forceOpen,
|
|
15
|
+
params.classNames if params.classNames
|
|
16
|
+
] | join(" ") %}
|
|
17
|
+
{% set attributes = getAttributes(params.attributes) %}
|
|
18
|
+
|
|
19
|
+
<div class="{{ classes }}" {{- attributes | safe }}>
|
|
20
|
+
<div class="{{ componentClassName + '__content' }}">
|
|
21
|
+
{% if params.title %}
|
|
22
|
+
<h2>{{ params.title }}</h2>
|
|
23
|
+
{% endif %}
|
|
24
|
+
|
|
25
|
+
{{ caller() if caller }}
|
|
26
|
+
</div>
|
|
27
|
+
|
|
28
|
+
{% if params.closeButton %}
|
|
29
|
+
{{ IconButton({
|
|
30
|
+
variant: "transparent",
|
|
31
|
+
size: "small",
|
|
32
|
+
iconName: "close",
|
|
33
|
+
classNames: "ds-tooltip__close",
|
|
34
|
+
attributes: { "aria-label": "Stäng" }
|
|
35
|
+
})}}
|
|
36
|
+
{% endif %}
|
|
37
|
+
</div>
|
|
38
|
+
{% endmacro %}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
@use "../../foundations/helpers/forward.helpers.scss" as *;
|
|
2
|
+
@use "../../foundations/variables/typographyFontWeight.scss";
|
|
3
|
+
@use "../../components/icon-sprite/icon-sprite.scss";
|
|
4
|
+
@use "../../components/button/button.scss";
|
|
5
|
+
@use "../../components/icon-button/icon-button.scss";
|
|
6
|
+
|
|
7
|
+
.ds-tooltip {
|
|
8
|
+
background-color: $ds-color-surface-raised;
|
|
9
|
+
color: $ds-color-text-primary;
|
|
10
|
+
box-sizing: border-box;
|
|
11
|
+
position: relative;
|
|
12
|
+
padding: ds-spacing($ds-s-100);
|
|
13
|
+
display: flex;
|
|
14
|
+
|
|
15
|
+
.ds-tooltip__close {
|
|
16
|
+
color: $ds-color-icon-primary;
|
|
17
|
+
align-self: center;
|
|
18
|
+
margin-left: ds-spacing($ds-s-100);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&--hidden {
|
|
22
|
+
display: none;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&.ds-tooltip--arrow-top::after,
|
|
26
|
+
&.ds-tooltip--arrow-bottom::after {
|
|
27
|
+
border-bottom-color: $ds-color-surface-raised;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&--arrow-top::after {
|
|
31
|
+
content: "";
|
|
32
|
+
position: absolute;
|
|
33
|
+
top: ds-spacing($ds-s-100, "px", true);
|
|
34
|
+
right: ds-spacing($ds-s-100);
|
|
35
|
+
border: 8px solid transparent;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
&--arrow-bottom::after {
|
|
39
|
+
content: "";
|
|
40
|
+
position: absolute;
|
|
41
|
+
bottom: ds-spacing($ds-s-100, "px", true);
|
|
42
|
+
left: ds-spacing($ds-s-100);
|
|
43
|
+
border: 8px solid transparent;
|
|
44
|
+
transform: rotate(180deg);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.ds-tooltip__content {
|
|
48
|
+
@include ds-typography($ds-typography-functionalbody01);
|
|
49
|
+
|
|
50
|
+
h2 {
|
|
51
|
+
@include ds-typography($ds-typography-functionalbody02, $fontWeight: $ds-fontweight-semibold);
|
|
52
|
+
margin: 0;
|
|
53
|
+
|
|
54
|
+
+ p {
|
|
55
|
+
margin-top: 0;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
> :last-child {
|
|
60
|
+
margin-bottom: 0;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -51,7 +51,7 @@ $ds-color-border-focus-02: var(--ds-color-border-focus-02);
|
|
|
51
51
|
$ds-color-border-focus-03: var(--ds-color-border-focus-03);
|
|
52
52
|
$ds-color-border-focus-04: var(--ds-color-border-focus-04);
|
|
53
53
|
$ds-color-background-primary: var(--ds-color-background-primary);
|
|
54
|
-
$ds-color-static-red-
|
|
54
|
+
$ds-color-static-red-100: var(--ds-color-static-red-100);
|
|
55
55
|
$ds-color-static-black: var(--ds-color-static-black);
|
|
56
56
|
$ds-color-static-transparent-black: var(--ds-color-static-transparent-black);
|
|
57
57
|
$ds-color-static-white: var(--ds-color-static-white);
|
|
@@ -69,6 +69,7 @@ $ds-color-static-neutral-100: var(--ds-color-static-neutral-100);
|
|
|
69
69
|
$ds-color-static-neutral-500: var(--ds-color-static-neutral-500);
|
|
70
70
|
$ds-color-static-red-500: var(--ds-color-static-red-500);
|
|
71
71
|
$ds-color-static-yellow: var(--ds-color-static-yellow);
|
|
72
|
+
$ds-color-static-red-200: var(--ds-color-static-red-200);
|
|
72
73
|
$ds-color-gradient-content-fade-left: var(--ds-color-gradient-content-fade-left);
|
|
73
74
|
$ds-color-gradient-content-fade-right: var(--ds-color-gradient-content-fade-right);
|
|
74
75
|
$ds-color-gradient-content-fade-up: var(--ds-color-gradient-content-fade-up);
|
|
@@ -56,7 +56,7 @@ $ds-hex-dark-gradient-content-fade-right: linear-gradient(-90deg, #14141400 0%,
|
|
|
56
56
|
$ds-hex-dark-gradient-content-fade-up: linear-gradient(180deg, #14141400 0%, #141414 100%);
|
|
57
57
|
$ds-hex-dark-gradient-content-fade-up-down: linear-gradient(0deg, #14141400 0%, #141414 100%);
|
|
58
58
|
$ds-hex-dark-gradient-content-fade-down: linear-gradient(0deg, #14141400 0%, #141414 100%);
|
|
59
|
-
$ds-hex-dark-static-red-
|
|
59
|
+
$ds-hex-dark-static-red-100: #FAD4D4;
|
|
60
60
|
$ds-hex-dark-static-black: #141414;
|
|
61
61
|
$ds-hex-dark-static-transparent-black: #14141499;
|
|
62
62
|
$ds-hex-dark-static-white: #ffffff;
|
|
@@ -74,3 +74,4 @@ $ds-hex-dark-static-neutral-100: #EDEDED;
|
|
|
74
74
|
$ds-hex-dark-static-neutral-500: #9E9E9E;
|
|
75
75
|
$ds-hex-dark-static-red-500: #DA000D;
|
|
76
76
|
$ds-hex-dark-static-yellow: #FFE600;
|
|
77
|
+
$ds-hex-dark-static-red-200: #F6ACAD;
|
|
@@ -51,7 +51,7 @@ $ds-hex-border-focus-02: #141414;
|
|
|
51
51
|
$ds-hex-border-focus-03: #DA000D;
|
|
52
52
|
$ds-hex-border-focus-04: #3A8352;
|
|
53
53
|
$ds-hex-background-primary: #ffffff;
|
|
54
|
-
$ds-hex-static-red-
|
|
54
|
+
$ds-hex-static-red-100: #FAD4D4;
|
|
55
55
|
$ds-hex-static-black: #141414;
|
|
56
56
|
$ds-hex-static-transparent-black: #14141499;
|
|
57
57
|
$ds-hex-static-white: #ffffff;
|
|
@@ -69,6 +69,7 @@ $ds-hex-static-neutral-100: #EDEDED;
|
|
|
69
69
|
$ds-hex-static-neutral-500: #9E9E9E;
|
|
70
70
|
$ds-hex-static-red-500: #DA000D;
|
|
71
71
|
$ds-hex-static-yellow: #FFE600;
|
|
72
|
+
$ds-hex-static-red-200: #F6ACAD;
|
|
72
73
|
$ds-hex-gradient-content-fade-left: linear-gradient(90deg, #ffffff00 0%, #ffffff 100%);
|
|
73
74
|
$ds-hex-gradient-content-fade-right: linear-gradient(-90deg, #ffffff00 0%, #ffffff 100%);
|
|
74
75
|
$ds-hex-gradient-content-fade-up: linear-gradient(180deg, #ffffff00 0%, #ffffff 100%);
|
|
@@ -67,7 +67,7 @@ $typographyTokensScreenExtraLarge: (
|
|
|
67
67
|
detailteaser-standard-compact: (
|
|
68
68
|
fontFamily: "DN Serif Headline",
|
|
69
69
|
fontWeight: Bold,
|
|
70
|
-
lineHeight: 1.
|
|
70
|
+
lineHeight: 1.2,
|
|
71
71
|
fontSize: 24,
|
|
72
72
|
letterSpacing: 0
|
|
73
73
|
),
|
|
@@ -192,7 +192,7 @@ $typographyTokensScreenExtraLarge: (
|
|
|
192
192
|
fontFamily: "DN Serif Text",
|
|
193
193
|
fontWeight: Bold,
|
|
194
194
|
fontSize: 16,
|
|
195
|
-
lineHeight: 1.
|
|
195
|
+
lineHeight: 1.2,
|
|
196
196
|
letterSpacing: 0
|
|
197
197
|
),
|
|
198
198
|
expressiveheading02: (
|
|
@@ -284,7 +284,7 @@ $typographyTokensScreenExtraLarge: (
|
|
|
284
284
|
fontWeight: Regular,
|
|
285
285
|
fontSize: 12,
|
|
286
286
|
lineHeight: 1.2,
|
|
287
|
-
letterSpacing: 0
|
|
287
|
+
letterSpacing: 0
|
|
288
288
|
),
|
|
289
289
|
functionallabel01: (
|
|
290
290
|
fontFamily: "DN Sans",
|
|
@@ -74,7 +74,7 @@ $typographyTokensScreenLarge: (
|
|
|
74
74
|
detailteaser-standard-compact: (
|
|
75
75
|
fontFamily: "DN Serif Headline",
|
|
76
76
|
fontWeight: Bold,
|
|
77
|
-
lineHeight: 1.
|
|
77
|
+
lineHeight: 1.2,
|
|
78
78
|
fontSize: 24,
|
|
79
79
|
letterSpacing: 0
|
|
80
80
|
),
|
|
@@ -193,7 +193,7 @@ $typographyTokensScreenLarge: (
|
|
|
193
193
|
fontFamily: "DN Serif Text",
|
|
194
194
|
fontWeight: Bold,
|
|
195
195
|
fontSize: 16,
|
|
196
|
-
lineHeight: 1.
|
|
196
|
+
lineHeight: 1.2,
|
|
197
197
|
letterSpacing: 0
|
|
198
198
|
),
|
|
199
199
|
expressiveheading02: (
|
|
@@ -285,7 +285,7 @@ $typographyTokensScreenLarge: (
|
|
|
285
285
|
fontWeight: Regular,
|
|
286
286
|
fontSize: 12,
|
|
287
287
|
lineHeight: 1.2,
|
|
288
|
-
letterSpacing: 0
|
|
288
|
+
letterSpacing: 0
|
|
289
289
|
),
|
|
290
290
|
functionallabel01: (
|
|
291
291
|
fontFamily: "DN Sans",
|
|
@@ -193,7 +193,7 @@ $typographyTokensScreenSmall: (
|
|
|
193
193
|
fontFamily: "DN Serif Text",
|
|
194
194
|
fontWeight: Bold,
|
|
195
195
|
fontSize: 16,
|
|
196
|
-
lineHeight: 1.
|
|
196
|
+
lineHeight: 1.2,
|
|
197
197
|
letterSpacing: 0
|
|
198
198
|
),
|
|
199
199
|
expressiveheading02: (
|
|
@@ -285,7 +285,7 @@ $typographyTokensScreenSmall: (
|
|
|
285
285
|
fontWeight: Regular,
|
|
286
286
|
fontSize: 12,
|
|
287
287
|
lineHeight: 1.2,
|
|
288
|
-
letterSpacing: 0
|
|
288
|
+
letterSpacing: 0
|
|
289
289
|
),
|
|
290
290
|
functionallabel01: (
|
|
291
291
|
fontFamily: "DN Sans",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
## UXD documentation
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# DN Design system
|
|
2
|
+
|
|
3
|
+
<img src="/images/digital-dn.png" width="150">
|
|
4
|
+
|
|
5
|
+
The design system used by Dagens Nyheter.
|
|
6
|
+
|
|
7
|
+
## Technical documentation
|
|
8
|
+
|
|
9
|
+
Foundations, components and helpers of DN design system for web
|
|
10
|
+
|
|
11
|
+
### Useful links
|
|
12
|
+
|
|
13
|
+
Storybook: [https://designsystem.dn.se/](https://designsystem.dn.se/)
|
|
14
|
+
|
|
15
|
+
Github: [https://github.com/BonnierNews/dn-design-system/tree/main/web/src](https://github.com/BonnierNews/dn-design-system/tree/main/web/src)
|
|
16
|
+
|
|
17
|
+
Changelog: [https://github.com/BonnierNews/dn-design-system/blob/main/web/src/CHANGELOG.md](https://github.com/BonnierNews/dn-design-system/blob/main/web/src/CHANGELOG.md)
|
|
18
|
+
|
|
19
|
+
For specific instructions see each component or helper readme.
|
package/package.json
CHANGED
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"border-focus-03": "var(--ds-color-border-focus-03)",
|
|
53
53
|
"border-focus-04": "var(--ds-color-border-focus-04)",
|
|
54
54
|
"background-primary": "var(--ds-color-background-primary)",
|
|
55
|
-
"static-red-
|
|
55
|
+
"static-red-100": "var(--ds-color-static-red-100)",
|
|
56
56
|
"static-black": "var(--ds-color-static-black)",
|
|
57
57
|
"static-transparent-black": "var(--ds-color-static-transparent-black)",
|
|
58
58
|
"static-white": "var(--ds-color-static-white)",
|
|
@@ -70,6 +70,7 @@
|
|
|
70
70
|
"static-neutral-500": "var(--ds-color-static-neutral-500)",
|
|
71
71
|
"static-red-500": "var(--ds-color-static-red-500)",
|
|
72
72
|
"static-yellow": "var(--ds-color-static-yellow)",
|
|
73
|
+
"static-red-200": "var(--ds-color-static-red-200)",
|
|
73
74
|
"gradient-content-fade-left": "var(--ds-color-gradient-content-fade-left)",
|
|
74
75
|
"gradient-content-fade-right": "var(--ds-color-gradient-content-fade-right)",
|
|
75
76
|
"gradient-content-fade-up": "var(--ds-color-gradient-content-fade-up)",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"content-fade-down": "linear-gradient(0deg, #14141400 0%, #141414 100%)"
|
|
73
73
|
},
|
|
74
74
|
"static": {
|
|
75
|
-
"red-
|
|
75
|
+
"red-100": "#FAD4D4",
|
|
76
76
|
"black": "#141414",
|
|
77
77
|
"transparent-black": "#14141499",
|
|
78
78
|
"white": "#ffffff",
|
|
@@ -89,6 +89,7 @@
|
|
|
89
89
|
"neutral-100": "#EDEDED",
|
|
90
90
|
"neutral-500": "#9E9E9E",
|
|
91
91
|
"red-500": "#DA000D",
|
|
92
|
-
"yellow": "#FFE600"
|
|
92
|
+
"yellow": "#FFE600",
|
|
93
|
+
"red-200": "#F6ACAD"
|
|
93
94
|
}
|
|
94
95
|
}
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"primary": "#ffffff"
|
|
66
66
|
},
|
|
67
67
|
"static": {
|
|
68
|
-
"red-
|
|
68
|
+
"red-100": "#FAD4D4",
|
|
69
69
|
"black": "#141414",
|
|
70
70
|
"transparent-black": "#14141499",
|
|
71
71
|
"white": "#ffffff",
|
|
@@ -82,7 +82,8 @@
|
|
|
82
82
|
"neutral-100": "#EDEDED",
|
|
83
83
|
"neutral-500": "#9E9E9E",
|
|
84
84
|
"red-500": "#DA000D",
|
|
85
|
-
"yellow": "#FFE600"
|
|
85
|
+
"yellow": "#FFE600",
|
|
86
|
+
"red-200": "#F6ACAD"
|
|
86
87
|
},
|
|
87
88
|
"gradient": {
|
|
88
89
|
"content-fade-left": "linear-gradient(90deg, #ffffff00 0%, #ffffff 100%)",
|