@bonniernews/dn-design-system-web 32.7.44 → 32.7.45
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/.prettierignore +10 -0
- package/.prettierrc +20 -1
- package/CHANGELOG.md +7 -0
- package/assets/types/shared-props.ts +6 -6
- package/assets/types/teaser-props.ts +20 -20
- package/components/article-body-image/README.md +1 -1
- package/components/article-top-image/README.md +1 -1
- package/components/blocked-content/README.md +1 -1
- package/components/blocked-content/blocked-content.js +16 -19
- package/components/buddy-menu/README.md +1 -1
- package/components/button/README.md +3 -4
- package/components/button/button-interactions.js +11 -14
- package/components/button/button-types.ts +29 -36
- package/components/button-toggle/README.md +1 -1
- package/components/byline/README.md +1 -1
- package/components/byline/byline-interaction.js +5 -5
- package/components/byline-list/README.md +1 -1
- package/components/byline-list/byline-list.js +3 -6
- package/components/checkbox/README.md +1 -1
- package/components/direkt-circle/README.md +1 -1
- package/components/direkt-header/README.md +1 -1
- package/components/disclaimer/README.md +1 -1
- package/components/divider/README.md +1 -1
- package/components/empty-state/README.md +1 -1
- package/components/factbox/README.md +1 -1
- package/components/factbox/factbox.js +6 -9
- package/components/footer/README.md +1 -1
- package/components/game-header/README.md +1 -1
- package/components/group-header/README.md +1 -1
- package/components/image-caption/README.md +1 -1
- package/components/link-box/README.md +1 -1
- package/components/list-item/README.md +1 -1
- package/components/list-item/list-item-types.ts +4 -3
- package/components/list-item/list-item.js +5 -8
- package/components/mask/README.md +1 -1
- package/components/modal/README.md +1 -1
- package/components/modal/modal.js +20 -24
- package/components/pagination/README.md +1 -1
- package/components/pictogram/README.md +1 -1
- package/components/pill/README.md +1 -1
- package/components/profile-header/README.md +1 -1
- package/components/quote/README.md +1 -1
- package/components/radio-button/README.md +1 -1
- package/components/spinner/README.md +1 -1
- package/components/switch/README.md +1 -1
- package/components/tag-header/README.md +1 -1
- package/components/teaser-card/README.md +1 -1
- package/components/teaser-centered/README.md +2 -2
- package/components/teaser-counter/README.md +2 -2
- package/components/teaser-dot/README.md +1 -1
- package/components/teaser-footer/README.md +1 -1
- package/components/teaser-image/README.md +1 -1
- package/components/teaser-large/README.md +2 -2
- package/components/teaser-list-swipe/README.md +1 -1
- package/components/teaser-list-vertical/README.md +1 -1
- package/components/teaser-list-vertical/teaser-list-vertical.js +7 -10
- package/components/teaser-longlife/README.md +1 -1
- package/components/teaser-onsite/README.md +2 -2
- package/components/teaser-package/README.md +1 -1
- package/components/teaser-right-now/README.md +2 -2
- package/components/teaser-slideshow/README.md +1 -1
- package/components/teaser-standard/README.md +2 -2
- package/components/teaser-standard/teaser-standard.js +11 -14
- package/components/teaser-swipe-card/README.md +2 -2
- package/components/teaser-text-on-image/README.md +2 -2
- package/components/teaser-tipsa/README.md +2 -2
- package/components/text-button/README.md +1 -1
- package/components/text-button-toggle/README.md +1 -1
- package/components/text-button-toggle/text-button-toggle.js +7 -10
- package/components/text-input/README.md +1 -1
- package/components/text-input/text-input-interactions.js +16 -16
- package/components/text-input/text-input.js +10 -10
- package/components/thematic-break/README.md +1 -1
- package/components/tooltip/README.md +1 -1
- package/components/tooltip/tooltip.js +11 -17
- package/components/video-caption/README.md +1 -1
- package/helpers/formatClassString.ts +2 -2
- package/index.d.ts +1 -1
- package/package.json +5 -1
- package/preact/assets/article-image/article-image.d.ts +1 -1
- package/preact/assets/form-field/form-field.d.ts +2 -2
- package/preact/components/article-body-image/article-body-image.d.ts +2 -2
- package/preact/components/article-body-image/article-body-image.js +1 -5
- package/preact/components/article-body-image/article-body-image.js.map +2 -2
- package/preact/components/article-top-image/article-top-image.d.ts +2 -2
- package/preact/components/article-top-image/article-top-image.js +10 -6
- package/preact/components/article-top-image/article-top-image.js.map +2 -2
- package/preact/components/blocked-content/blocked-content.d.ts +2 -2
- package/preact/components/blocked-content/blocked-content.js +23 -22
- package/preact/components/blocked-content/blocked-content.js.map +2 -2
- package/preact/components/buddy-menu/buddy-menu.d.ts +2 -2
- package/preact/components/buddy-menu/buddy-menu.js +22 -17
- package/preact/components/buddy-menu/buddy-menu.js.map +2 -2
- package/preact/components/button/button-base.js.map +2 -2
- package/preact/components/button/button.d.ts +4 -4
- package/preact/components/button/button.js +22 -17
- package/preact/components/button/button.js.map +2 -2
- package/preact/components/button-toggle/button-toggle.d.ts +2 -2
- package/preact/components/button-toggle/button-toggle.js.map +2 -2
- package/preact/components/byline/byline.d.ts +2 -2
- package/preact/components/byline/byline.js +185 -170
- package/preact/components/byline/byline.js.map +3 -3
- package/preact/components/byline-list/byline-list.d.ts +4 -4
- package/preact/components/byline-list/byline-list.js +32 -21
- package/preact/components/byline-list/byline-list.js.map +2 -2
- package/preact/components/checkbox/checkbox.d.ts +2 -2
- package/preact/components/checkbox/checkbox.js +9 -1
- package/preact/components/checkbox/checkbox.js.map +2 -2
- package/preact/components/direkt-circle/direkt-circle.d.ts +2 -2
- package/preact/components/direkt-circle/direkt-circle.js.map +2 -2
- package/preact/components/direkt-header/direkt-header.d.ts +2 -2
- package/preact/components/direkt-header/direkt-header.js.map +2 -2
- package/preact/components/disclaimer/disclaimer.d.ts +3 -3
- package/preact/components/disclaimer/disclaimer.js.map +2 -2
- package/preact/components/divider/divider.d.ts +2 -2
- package/preact/components/divider/divider.js +1 -5
- package/preact/components/divider/divider.js.map +2 -2
- package/preact/components/empty-state/empty-state.d.ts +2 -2
- package/preact/components/empty-state/empty-state.js +31 -23
- package/preact/components/empty-state/empty-state.js.map +2 -2
- package/preact/components/factbox/factbox.d.ts +5 -5
- package/preact/components/factbox/factbox.js +448 -293
- package/preact/components/factbox/factbox.js.map +4 -4
- package/preact/components/footer/footer.d.ts +2 -2
- package/preact/components/footer/footer.js +18 -9
- package/preact/components/footer/footer.js.map +2 -2
- package/preact/components/game-header/game-header.d.ts +3 -3
- package/preact/components/game-header/game-header.js +17 -6
- package/preact/components/game-header/game-header.js.map +2 -2
- package/preact/components/group-header/group-header.d.ts +2 -2
- package/preact/components/group-header/group-header.js +22 -17
- package/preact/components/group-header/group-header.js.map +2 -2
- package/preact/components/icon-sprite/icon-sprite.d.ts +2 -2
- package/preact/components/icon-sprite/icon-sprite.js +5 -5
- package/preact/components/icon-sprite/icon-sprite.js.map +3 -3
- package/preact/components/icon-with-wrapper/icon-with-wrapper.d.ts +3 -3
- package/preact/components/icon-with-wrapper/icon-with-wrapper.js +13 -6
- package/preact/components/icon-with-wrapper/icon-with-wrapper.js.map +3 -3
- package/preact/components/image-caption/image-caption.d.ts +2 -2
- package/preact/components/image-caption/image-caption.js +1 -5
- package/preact/components/image-caption/image-caption.js.map +2 -2
- package/preact/components/link-box/link-box-item.d.ts +1 -1
- package/preact/components/link-box/link-box-item.js.map +2 -2
- package/preact/components/link-box/link-box.d.ts +3 -3
- package/preact/components/link-box/link-box.js +23 -21
- package/preact/components/link-box/link-box.js.map +2 -2
- package/preact/components/list-item/list-item-types.d.ts +3 -3
- package/preact/components/list-item/list-item.d.ts +1 -1
- package/preact/components/list-item/list-item.js +208 -206
- package/preact/components/list-item/list-item.js.map +4 -4
- package/preact/components/mask/mask.d.ts +3 -3
- package/preact/components/mask/mask.js.map +2 -2
- package/preact/components/modal/modal.d.ts +2 -2
- package/preact/components/modal/modal.js +22 -17
- package/preact/components/modal/modal.js.map +2 -2
- package/preact/components/pagination/pagination.d.ts +1 -1
- package/preact/components/pagination/pagination.js +3 -20
- package/preact/components/pagination/pagination.js.map +2 -2
- package/preact/components/pictogram/pictogram.d.ts +2 -2
- package/preact/components/pictogram/pictogram.js +8 -1
- package/preact/components/pictogram/pictogram.js.map +2 -2
- package/preact/components/pill/pill.d.ts +3 -3
- package/preact/components/pill/pill.js +1 -8
- package/preact/components/pill/pill.js.map +2 -2
- package/preact/components/profile-header/profile-header.d.ts +3 -3
- package/preact/components/profile-header/profile-header.js.map +2 -2
- package/preact/components/quote/quote.d.ts +2 -2
- package/preact/components/quote/quote.js +1 -6
- package/preact/components/quote/quote.js.map +2 -2
- package/preact/components/radio-button/radio-button.d.ts +2 -2
- package/preact/components/radio-button/radio-button.js +9 -1
- package/preact/components/radio-button/radio-button.js.map +2 -2
- package/preact/components/spinner/spinner.d.ts +2 -2
- package/preact/components/spinner/spinner.js.map +2 -2
- package/preact/components/switch/switch.d.ts +2 -2
- package/preact/components/switch/switch.js.map +2 -2
- package/preact/components/tag-header/tag-header.d.ts +2 -2
- package/preact/components/tag-header/tag-header.js.map +2 -2
- package/preact/components/teaser-card/teaser-card.d.ts +4 -4
- package/preact/components/teaser-card/teaser-card.js +9 -2
- package/preact/components/teaser-card/teaser-card.js.map +2 -2
- package/preact/components/teaser-centered/teaser-centered.d.ts +4 -4
- package/preact/components/teaser-centered/teaser-centered.js +48 -40
- package/preact/components/teaser-centered/teaser-centered.js.map +4 -4
- package/preact/components/teaser-counter/teaser-counter.d.ts +2 -2
- package/preact/components/teaser-counter/teaser-counter.js +31 -24
- package/preact/components/teaser-counter/teaser-counter.js.map +4 -4
- package/preact/components/teaser-dot/teaser-dot.d.ts +3 -3
- package/preact/components/teaser-dot/teaser-dot.js +1 -6
- package/preact/components/teaser-dot/teaser-dot.js.map +2 -2
- package/preact/components/teaser-footer/teaser-footer.d.ts +2 -2
- package/preact/components/teaser-footer/teaser-footer.js.map +2 -2
- package/preact/components/teaser-image/teaser-image.d.ts +3 -3
- package/preact/components/teaser-image/teaser-image.js +1 -5
- package/preact/components/teaser-image/teaser-image.js.map +2 -2
- package/preact/components/teaser-large/teaser-large.d.ts +3 -3
- package/preact/components/teaser-large/teaser-large.js +72 -73
- package/preact/components/teaser-large/teaser-large.js.map +4 -4
- package/preact/components/teaser-list-swipe/teaser-list-swipe.d.ts +1 -1
- package/preact/components/teaser-list-swipe/teaser-list-swipe.js +59 -48
- package/preact/components/teaser-list-swipe/teaser-list-swipe.js.map +4 -4
- package/preact/components/teaser-list-vertical/teaser-list-vertical.d.ts +2 -2
- package/preact/components/teaser-list-vertical/teaser-list-vertical.js +22 -17
- package/preact/components/teaser-list-vertical/teaser-list-vertical.js.map +2 -2
- package/preact/components/teaser-longlife/teaser-longlife.d.ts +1 -1
- package/preact/components/teaser-longlife/teaser-longlife.js +33 -27
- package/preact/components/teaser-longlife/teaser-longlife.js.map +4 -4
- package/preact/components/teaser-native/teaser-native.d.ts +2 -2
- package/preact/components/teaser-native/teaser-native.js +36 -35
- package/preact/components/teaser-native/teaser-native.js.map +4 -4
- package/preact/components/teaser-onsite/teaser-onsite.d.ts +4 -4
- package/preact/components/teaser-onsite/teaser-onsite.js +44 -37
- package/preact/components/teaser-onsite/teaser-onsite.js.map +4 -4
- package/preact/components/teaser-package/teaser-package.d.ts +2 -2
- package/preact/components/teaser-package/teaser-package.js +32 -18
- package/preact/components/teaser-package/teaser-package.js.map +2 -2
- package/preact/components/teaser-right-now/teaser-right-now.d.ts +4 -4
- package/preact/components/teaser-right-now/teaser-right-now.js +37 -28
- package/preact/components/teaser-right-now/teaser-right-now.js.map +4 -4
- package/preact/components/teaser-slideshow/teaser-slideshow.d.ts +3 -3
- package/preact/components/teaser-slideshow/teaser-slideshow.js +43 -34
- package/preact/components/teaser-slideshow/teaser-slideshow.js.map +4 -4
- package/preact/components/teaser-split/teaser-split.d.ts +3 -3
- package/preact/components/teaser-split/teaser-split.js +10 -9
- package/preact/components/teaser-split/teaser-split.js.map +2 -2
- package/preact/components/teaser-standard/teaser-standard.d.ts +1 -1
- package/preact/components/teaser-standard/teaser-standard.js +10 -9
- package/preact/components/teaser-standard/teaser-standard.js.map +2 -2
- package/preact/components/teaser-swipe-card/teaser-swipe-card.d.ts +1 -1
- package/preact/components/teaser-swipe-card/teaser-swipe-card.js +30 -24
- package/preact/components/teaser-swipe-card/teaser-swipe-card.js.map +4 -4
- package/preact/components/teaser-text-on-image/teaser-text-on-image.d.ts +4 -4
- package/preact/components/teaser-text-on-image/teaser-text-on-image.js +45 -37
- package/preact/components/teaser-text-on-image/teaser-text-on-image.js.map +4 -4
- package/preact/components/teaser-tipsa/teaser-tipsa.d.ts +2 -2
- package/preact/components/teaser-tipsa/teaser-tipsa.js +33 -32
- package/preact/components/teaser-tipsa/teaser-tipsa.js.map +4 -4
- package/preact/components/text-button/text-button.d.ts +2 -2
- package/preact/components/text-button/text-button.js +4 -4
- package/preact/components/text-button/text-button.js.map +3 -3
- package/preact/components/text-button-toggle/text-button-toggle.d.ts +3 -3
- package/preact/components/text-button-toggle/text-button-toggle.js.map +2 -2
- package/preact/components/text-input/text-input.d.ts +2 -2
- package/preact/components/text-input/text-input.js +9 -1
- package/preact/components/text-input/text-input.js.map +2 -2
- package/preact/components/thematic-break/thematic-break.d.ts +2 -2
- package/preact/components/thematic-break/thematic-break.js +1 -4
- package/preact/components/thematic-break/thematic-break.js.map +2 -2
- package/preact/components/tooltip/tooltip.d.ts +2 -2
- package/preact/components/tooltip/tooltip.js +22 -17
- package/preact/components/tooltip/tooltip.js.map +2 -2
- package/preact/components/video-caption/video-caption.d.ts +2 -2
- package/preact/components/video-caption/video-caption.js +6 -10
- package/preact/components/video-caption/video-caption.js.map +3 -3
- package/types-lib/ds-color.d.ts +95 -95
- package/types-lib/ds-icon.d.ts +98 -98
- package/preact/assets/types/shared-props.d.ts +0 -6
- package/preact/assets/types/teaser-props.d.ts +0 -44
- package/preact/foundations/a11y/visually-hidden.d.ts +0 -4
- package/preact/foundations/icons/grade-icon.d.ts +0 -9
- package/preact/helpers/formatClassString.d.ts +0 -1
- package/preact/helpers/stringToHtml.d.ts +0 -6
- package/preact/helpers/teaser.d.ts +0 -21
package/.prettierignore
ADDED
package/.prettierrc
CHANGED
|
@@ -6,12 +6,31 @@
|
|
|
6
6
|
"jsxSingleQuote": true,
|
|
7
7
|
"trailingComma": "all",
|
|
8
8
|
"bracketSpacing": true,
|
|
9
|
+
"importOrder": [
|
|
10
|
+
"^@bonniernews/dn-design-system-web/assets/(.*)$",
|
|
11
|
+
"^@bonniernews/dn-design-system-web/foundations/(.*)$",
|
|
12
|
+
"^@bonniernews/dn-design-system-web/helpers/(.*)$",
|
|
13
|
+
"^@bonniernews/dn-design-system-web/types-lib/(.*)$",
|
|
14
|
+
"^@bonniernews/dn-design-system-web/variables/(.*)$",
|
|
15
|
+
"^@bonniernews/dn-design-system-web/components/(.*)$",
|
|
16
|
+
"^@bonniernews/dn-design-system-web/(.*)$",
|
|
17
|
+
"^[./]"
|
|
18
|
+
],
|
|
19
|
+
"importOrderSeparation": true,
|
|
20
|
+
"importOrderSortSpecifiers": true,
|
|
9
21
|
"overrides": [
|
|
10
22
|
{
|
|
11
23
|
"files": "**/*.scss",
|
|
12
24
|
"options": {
|
|
13
25
|
"singleQuote": false
|
|
14
26
|
}
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"files": "**/*.js",
|
|
30
|
+
"options": {
|
|
31
|
+
"semi": true
|
|
32
|
+
}
|
|
15
33
|
}
|
|
16
|
-
]
|
|
34
|
+
],
|
|
35
|
+
"plugins": ["@trivago/prettier-plugin-sort-imports"]
|
|
17
36
|
}
|
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,13 @@ All changes to @bonniernews/dn-design-system-web will be documented in this file
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
+
## [32.7.45](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@32.7.44...@bonniernews/dn-design-system-web@32.7.45) (2025-08-06)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
* **web:** no relative imports ([#1855](https://github.com/BonnierNews/dn-design-system/issues/1855)) ([4d82749](https://github.com/BonnierNews/dn-design-system/commit/4d82749b3efa712c3c20c44d4818aacde8a43619))
|
|
13
|
+
|
|
7
14
|
## [32.7.44](https://github.com/BonnierNews/dn-design-system/compare/@bonniernews/dn-design-system-web@32.7.43...@bonniernews/dn-design-system-web@32.7.44) (2025-08-05)
|
|
8
15
|
|
|
9
16
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
export interface SharedProps {
|
|
2
|
+
/** Ex. "my-special-class" */
|
|
3
|
+
classNames?: string
|
|
4
|
+
/** Ex. { target: "_blank", "data-test": "lorem ipsum" } */
|
|
5
|
+
attributes?: Record<string, unknown>
|
|
6
|
+
}
|
|
@@ -1,46 +1,46 @@
|
|
|
1
1
|
import { ComponentChild } from 'preact'
|
|
2
|
+
|
|
2
3
|
import type { SharedProps } from '@bonniernews/dn-design-system-web/assets/types/shared-props.ts'
|
|
3
4
|
|
|
4
5
|
export interface TeaserProps extends SharedProps {
|
|
5
6
|
/** Heading of the teaser */
|
|
6
|
-
title: string
|
|
7
|
+
title: string
|
|
7
8
|
/** Target URL for the teaser */
|
|
8
|
-
targetLink: string
|
|
9
|
+
targetLink: string
|
|
9
10
|
/** Variant of the teaser */
|
|
10
|
-
variant?:
|
|
11
|
+
variant?: 'default' | 'podcast' | 'insandare' | 'direkt'
|
|
11
12
|
/** The area where the column is rendered */
|
|
12
|
-
areaType?:
|
|
13
|
+
areaType?: 'right' | 'bauta' | 'main'
|
|
13
14
|
/** The theme-class to apply to the teaser */
|
|
14
|
-
theme?:
|
|
15
|
+
theme?: 'nyheter' | 'kultur'
|
|
15
16
|
/** Teaser subtext */
|
|
16
|
-
text?: string
|
|
17
|
+
text?: string
|
|
17
18
|
/** Top text in the teaser */
|
|
18
|
-
vignette?: string
|
|
19
|
+
vignette?: string
|
|
19
20
|
/** Text before the heading */
|
|
20
|
-
highlight?: string
|
|
21
|
+
highlight?: string
|
|
21
22
|
/** Red text before the text */
|
|
22
|
-
sticker?: string
|
|
23
|
+
sticker?: string
|
|
23
24
|
/** Main image or other media */
|
|
24
|
-
media?: ComponentChild
|
|
25
|
+
media?: ComponentChild
|
|
25
26
|
/** Flag so we can handle square teaser images */
|
|
26
27
|
isSquareImage?: boolean
|
|
27
28
|
/** Image of the author */
|
|
28
|
-
bylinePicture?: ComponentChild
|
|
29
|
+
bylinePicture?: ComponentChild
|
|
29
30
|
/** If the headline should be italic */
|
|
30
|
-
isItalicHeadline?: boolean
|
|
31
|
+
isItalicHeadline?: boolean
|
|
31
32
|
/** If the headline should be large (only if `isItalicHeadline` is true) */
|
|
32
|
-
isLargeHeadline?: boolean
|
|
33
|
+
isLargeHeadline?: boolean
|
|
33
34
|
/** If there should be a flashing ball before the text */
|
|
34
|
-
isFlashingDot?: boolean
|
|
35
|
+
isFlashingDot?: boolean
|
|
35
36
|
/** Publication time text */
|
|
36
|
-
publicationTime?: string
|
|
37
|
+
publicationTime?: string
|
|
37
38
|
/** Duration of podcast */
|
|
38
|
-
duration?: string
|
|
39
|
+
duration?: string
|
|
39
40
|
/** Byline aspect ratio */
|
|
40
|
-
bylineAspectRatio?: string
|
|
41
|
+
bylineAspectRatio?: string
|
|
41
42
|
/** Byline HTML */
|
|
42
|
-
bylineHtml?: string
|
|
43
|
+
bylineHtml?: string
|
|
43
44
|
/** Shows in teaser footer */
|
|
44
|
-
sectionName?: string
|
|
45
|
+
sectionName?: string
|
|
45
46
|
}
|
|
46
|
-
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
ArticleBodyImage
|
|
2
2
|
================
|
|
3
3
|
|
|
4
|
-
* GitHub: [BonnierNews/dn-design-system
|
|
4
|
+
* GitHub: [BonnierNews/dn-design-system/web/src/components/article-body-image](https://github.com/BonnierNews/dn-design-system/tree/main/web/src/components/article-body-image)
|
|
5
5
|
* Storybook: [ArticleBodyImage](https://designsystem.dn.se/?path=/docs/article-articlebodyimage--docs)
|
|
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/article-body-image/article-body-image.scss'`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
ArticleTopImage
|
|
2
2
|
===============
|
|
3
3
|
|
|
4
|
-
* GitHub: [BonnierNews/dn-design-system
|
|
4
|
+
* GitHub: [BonnierNews/dn-design-system/web/src/components/article-top-image](https://github.com/BonnierNews/dn-design-system/tree/main/web/src/components/article-top-image)
|
|
5
5
|
* Storybook: [ArticleTopImage](https://designsystem.dn.se/?path=/docs/article-articletopimage--docs)
|
|
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/article-top-image/article-top-image.scss'`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
BlockedContent
|
|
2
2
|
==============
|
|
3
3
|
|
|
4
|
-
* GitHub: [BonnierNews/dn-design-system
|
|
4
|
+
* GitHub: [BonnierNews/dn-design-system/web/src/components/blocked-content](https://github.com/BonnierNews/dn-design-system/tree/main/web/src/components/blocked-content)
|
|
5
5
|
* Storybook: [BlockedContent](https://designsystem.dn.se/?path=/docs/article-blockedcontent--docs)
|
|
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/blocked-content/blocked-content.scss'`
|
|
@@ -1,19 +1,16 @@
|
|
|
1
|
-
export {
|
|
2
|
-
dsBlockedContent,
|
|
3
|
-
dsBlockedContentStory
|
|
4
|
-
};
|
|
1
|
+
export { dsBlockedContent, dsBlockedContentStory };
|
|
5
2
|
|
|
6
3
|
function dsBlockedContent(params) {
|
|
7
4
|
params = params || {};
|
|
8
5
|
|
|
9
|
-
const blockedContentTmpl = document.createElement(
|
|
6
|
+
const blockedContentTmpl = document.createElement('div');
|
|
10
7
|
// NOTE: this should match output of blocked-content.njk and blocked-content.tsx
|
|
11
8
|
blockedContentTmpl.innerHTML = `
|
|
12
9
|
<div class="ds-blocked-content">
|
|
13
10
|
<div class="ds-blocked-content__inner">
|
|
14
11
|
<div class="ds-blocked-content__content">
|
|
15
12
|
<h2 class="ds-blocked-content__title">Hoppsan, här saknas något</h2>
|
|
16
|
-
<div class="ds-blocked-content__body">Innehållet ${
|
|
13
|
+
<div class="ds-blocked-content__body">Innehållet ${params.vendor ? `från ${params.vendor}` : ''} kunde inte visas på grund av dina val i kakinställningarna.</div>
|
|
17
14
|
</div>
|
|
18
15
|
<button type="button" class="ds-btn ds-btn--secondaryFilled ds-btn--default ds-btn--md ds-btn--full-width">
|
|
19
16
|
<div class="ds-btn__inner">
|
|
@@ -27,12 +24,12 @@ function dsBlockedContent(params) {
|
|
|
27
24
|
</div>
|
|
28
25
|
`;
|
|
29
26
|
|
|
30
|
-
const newBlockedContent = blockedContentTmpl.getElementsByClassName(
|
|
31
|
-
const btnEl = newBlockedContent.getElementsByClassName(
|
|
32
|
-
const bodyEl = newBlockedContent.getElementsByClassName(
|
|
27
|
+
const newBlockedContent = blockedContentTmpl.getElementsByClassName('ds-blocked-content')[0];
|
|
28
|
+
const btnEl = newBlockedContent.getElementsByClassName('ds-btn')[0];
|
|
29
|
+
const bodyEl = newBlockedContent.getElementsByClassName('ds-blocked-content__body')[0];
|
|
33
30
|
|
|
34
31
|
if (params.title) {
|
|
35
|
-
const titleEl = newBlockedContent.getElementsByClassName(
|
|
32
|
+
const titleEl = newBlockedContent.getElementsByClassName('ds-blocked-content__title')[0];
|
|
36
33
|
titleEl.textContent = params.title;
|
|
37
34
|
}
|
|
38
35
|
|
|
@@ -41,15 +38,15 @@ function dsBlockedContent(params) {
|
|
|
41
38
|
}
|
|
42
39
|
|
|
43
40
|
if (params.link) {
|
|
44
|
-
const linkContainerEl = document.createElement(
|
|
45
|
-
const linkEl = document.createElement(
|
|
41
|
+
const linkContainerEl = document.createElement('div');
|
|
42
|
+
const linkEl = document.createElement('a');
|
|
46
43
|
linkEl.href = params.link;
|
|
47
44
|
linkEl.innerText = params.link;
|
|
48
|
-
linkEl.className =
|
|
45
|
+
linkEl.className = 'ds-blocked-content__link';
|
|
49
46
|
if (params.vendor) {
|
|
50
|
-
linkEl.setAttribute(
|
|
47
|
+
linkEl.setAttribute('aria-label', `Länk till innehåll på ${params.vendor}`);
|
|
51
48
|
}
|
|
52
|
-
linkContainerEl.appendChild(linkEl)
|
|
49
|
+
linkContainerEl.appendChild(linkEl);
|
|
53
50
|
bodyEl.appendChild(linkContainerEl);
|
|
54
51
|
}
|
|
55
52
|
|
|
@@ -58,8 +55,8 @@ function dsBlockedContent(params) {
|
|
|
58
55
|
}
|
|
59
56
|
|
|
60
57
|
if (params.forcePx) {
|
|
61
|
-
newBlockedContent.classList.add(
|
|
62
|
-
btnEl.classList.add(
|
|
58
|
+
newBlockedContent.classList.add('ds-force-px');
|
|
59
|
+
btnEl.classList.add('ds-force-px');
|
|
63
60
|
}
|
|
64
61
|
|
|
65
62
|
if (params.attributes) {
|
|
@@ -79,11 +76,11 @@ function dsBlockedContent(params) {
|
|
|
79
76
|
|
|
80
77
|
/** only use in storybook */
|
|
81
78
|
function dsBlockedContentStory() {
|
|
82
|
-
const blockedContentElements = Array.from(document.getElementsByClassName(
|
|
79
|
+
const blockedContentElements = Array.from(document.getElementsByClassName('js-ds-blocked-content-story'));
|
|
83
80
|
if (!blockedContentElements.length) return;
|
|
84
81
|
|
|
85
82
|
blockedContentElements.forEach((blockedContentEl) => {
|
|
86
|
-
const params = JSON.parse(blockedContentEl.getAttribute(
|
|
83
|
+
const params = JSON.parse(blockedContentEl.getAttribute('data-params'));
|
|
87
84
|
|
|
88
85
|
const newBlockedContent = dsBlockedContent(params);
|
|
89
86
|
blockedContentEl.replaceWith(newBlockedContent);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
BuddyMenu
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
-
* GitHub: [BonnierNews/dn-design-system
|
|
4
|
+
* GitHub: [BonnierNews/dn-design-system/web/src/components/buddy-menu](https://github.com/BonnierNews/dn-design-system/tree/main/web/src/components/buddy-menu)
|
|
5
5
|
* Storybook: [BuddyMenu](https://designsystem.dn.se/?path=/docs/page-buddymenu--docs)
|
|
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/buddy-menu/buddy-menu" as *;`
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
Button
|
|
2
2
|
======
|
|
3
3
|
|
|
4
|
-
* GitHub: [BonnierNews/dn-design-system
|
|
4
|
+
* GitHub: [BonnierNews/dn-design-system/web/src/components/button](https://github.com/BonnierNews/dn-design-system/tree/main/web/src/components/button)
|
|
5
5
|
* Storybook: [Buttons > Button](https://designsystem.dn.se/?path=/docs/basic-buttons-button--docs)
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
|
|
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/button/button.scss'`
|
|
9
8
|
|
|
10
9
|
| Name | Description | Default |
|
|
11
10
|
|:--- | :--- | :--- |
|
|
@@ -1,25 +1,22 @@
|
|
|
1
|
-
export {
|
|
2
|
-
dsButtonToggle,
|
|
3
|
-
dsButtonToggleAll
|
|
4
|
-
};
|
|
1
|
+
export { dsButtonToggle, dsButtonToggleAll };
|
|
5
2
|
|
|
6
3
|
function dsButtonToggle(toggleElements = []) {
|
|
7
4
|
if (!toggleElements.length) return;
|
|
8
5
|
toggleElements.forEach((toggleEl) => {
|
|
9
|
-
toggleEl.addEventListener(
|
|
10
|
-
if (toggleEl.classList.contains(
|
|
11
|
-
const selectedText = toggleEl.querySelector(
|
|
12
|
-
const unselectedText = toggleEl.querySelector(
|
|
13
|
-
toggleEl.classList.toggle(
|
|
14
|
-
const ariaChecked = toggleEl.getAttribute(
|
|
15
|
-
const ariaLabel = toggleEl.getAttribute(
|
|
16
|
-
toggleEl.setAttribute(
|
|
17
|
-
toggleEl.setAttribute(
|
|
6
|
+
toggleEl.addEventListener('click', () => {
|
|
7
|
+
if (toggleEl.classList.contains('ds-btn--disabled')) return;
|
|
8
|
+
const selectedText = toggleEl.querySelector('.ds-btn__on').textContent;
|
|
9
|
+
const unselectedText = toggleEl.querySelector('.ds-btn__off').textContent;
|
|
10
|
+
toggleEl.classList.toggle('ds-btn--selected');
|
|
11
|
+
const ariaChecked = toggleEl.getAttribute('aria-checked') === 'true' ? 'false' : 'true';
|
|
12
|
+
const ariaLabel = toggleEl.getAttribute('aria-label') === selectedText ? unselectedText : selectedText;
|
|
13
|
+
toggleEl.setAttribute('aria-checked', ariaChecked);
|
|
14
|
+
toggleEl.setAttribute('aria-label', ariaLabel);
|
|
18
15
|
});
|
|
19
16
|
});
|
|
20
17
|
}
|
|
21
18
|
|
|
22
19
|
function dsButtonToggleAll() {
|
|
23
|
-
const toggleElements = Array.from(document.getElementsByClassName(
|
|
20
|
+
const toggleElements = Array.from(document.getElementsByClassName('ds-btn--toggle'));
|
|
24
21
|
dsButtonToggle(toggleElements);
|
|
25
22
|
}
|
|
@@ -16,7 +16,7 @@ export interface ButtonSharedProps {
|
|
|
16
16
|
/** Fixed pixel value is used for typography to prevent scaling based on html font-size */
|
|
17
17
|
forcePx?: boolean
|
|
18
18
|
size?: 'sm' | 'md' | 'lg' | 'xl'
|
|
19
|
-
loading?: boolean
|
|
19
|
+
loading?: boolean
|
|
20
20
|
isIconButton?: boolean
|
|
21
21
|
}
|
|
22
22
|
|
|
@@ -57,57 +57,50 @@ export interface ToggleWrapperProps {
|
|
|
57
57
|
|
|
58
58
|
export interface ButtonStandardProps
|
|
59
59
|
extends ButtonSharedProps,
|
|
60
|
-
Pick<
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
> {
|
|
64
|
-
text: string
|
|
65
|
-
}
|
|
60
|
+
Pick<ButtonBaseProps, 'iconPosition' | 'type' | 'href' | 'mobileFullWidth'> {
|
|
61
|
+
text: string
|
|
62
|
+
}
|
|
66
63
|
|
|
67
|
-
|
|
64
|
+
export interface ButtonIconProps
|
|
68
65
|
extends ButtonSharedProps,
|
|
69
|
-
Pick<
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
iconName: DsIcon
|
|
73
|
-
}
|
|
66
|
+
Pick<ButtonBaseProps, 'iconPosition' | 'type' | 'href' | 'mobileFullWidth'> {
|
|
67
|
+
iconName: DsIcon
|
|
68
|
+
}
|
|
74
69
|
|
|
75
|
-
export type ButtonProps =
|
|
76
|
-
| ({ isIconButton: true } & ButtonIconProps)
|
|
77
|
-
| ({ isIconButton?: false } & ButtonStandardProps)
|
|
70
|
+
export type ButtonProps = ({ isIconButton: true } & ButtonIconProps) | ({ isIconButton?: false } & ButtonStandardProps)
|
|
78
71
|
|
|
79
72
|
export interface ButtonToggleStandardProps
|
|
80
73
|
extends ButtonSharedProps,
|
|
81
|
-
Pick<ButtonBaseProps, 'selected' | 'selectedText' | 'selectedIconName' | 'mobileFullWidth'
|
|
82
|
-
|
|
83
|
-
|
|
74
|
+
Pick<ButtonBaseProps, 'selected' | 'selectedText' | 'selectedIconName' | 'mobileFullWidth'> {
|
|
75
|
+
selectedText: string
|
|
76
|
+
}
|
|
84
77
|
|
|
85
78
|
export interface ButtonToggleIconProps
|
|
86
|
-
extends ButtonSharedProps,
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
79
|
+
extends ButtonSharedProps,
|
|
80
|
+
Pick<ButtonBaseProps, 'selected' | 'selectedText' | 'mobileFullWidth'> {
|
|
81
|
+
iconName: DsIcon
|
|
82
|
+
selectedIconName: DsIcon
|
|
83
|
+
}
|
|
91
84
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
85
|
+
export type ButtonToggleProps =
|
|
86
|
+
| ({ isIconButton?: false } & ButtonToggleStandardProps)
|
|
87
|
+
| ({ isIconButton: true } & ButtonToggleIconProps)
|
|
95
88
|
|
|
96
89
|
export interface TextButtonProps {
|
|
97
|
-
text: string
|
|
98
|
-
type?: 'button' | 'submit'
|
|
90
|
+
text: string
|
|
91
|
+
type?: 'button' | 'submit'
|
|
99
92
|
/** If href is set the button will be rendered as an a-tag */
|
|
100
|
-
href?: string
|
|
101
|
-
disabled?: boolean
|
|
93
|
+
href?: string
|
|
94
|
+
disabled?: boolean
|
|
102
95
|
fullWidth?: boolean
|
|
103
96
|
/** Button will only full width on mobile */
|
|
104
97
|
mobileFullWidth?: boolean
|
|
105
98
|
/** add, arrow_back, arrow_forward etc | | For all available icons see: https://designsystem.dn.se/?path=/story/foundations-icons--all-icons */
|
|
106
|
-
iconName?: DsIcon
|
|
107
|
-
iconPosition?: 'none' | 'left' | 'right'
|
|
108
|
-
hideTextOnMobile?: boolean
|
|
109
|
-
size?: 'sm' | 'lg'
|
|
110
|
-
loading?: boolean
|
|
99
|
+
iconName?: DsIcon
|
|
100
|
+
iconPosition?: 'none' | 'left' | 'right'
|
|
101
|
+
hideTextOnMobile?: boolean
|
|
102
|
+
size?: 'sm' | 'lg'
|
|
103
|
+
loading?: boolean
|
|
111
104
|
forcePx?: boolean
|
|
112
105
|
classNames?: string
|
|
113
106
|
/** Ex. { target: "_blank", "data-test": "lorem ipsum" } */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
ButtonToggle
|
|
2
2
|
============
|
|
3
3
|
|
|
4
|
-
* GitHub: [BonnierNews/dn-design-system
|
|
4
|
+
* GitHub: [BonnierNews/dn-design-system/web/src/components/button-toggle](https://github.com/BonnierNews/dn-design-system/tree/main/web/src/components/button-toggle)
|
|
5
5
|
* Storybook: [Buttons > ButtonToggle](https://designsystem.dn.se/?path=/docs/basic-buttons-buttontoggle--docs)
|
|
6
6
|
|
|
7
7
|
### [](#javascript)Javascript
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Byline
|
|
2
2
|
======
|
|
3
3
|
|
|
4
|
-
* GitHub: [BonnierNews/dn-design-system
|
|
4
|
+
* GitHub: [BonnierNews/dn-design-system/web/src/components/byline](https://github.com/BonnierNews/dn-design-system/tree/main/web/src/components/byline)
|
|
5
5
|
* Storybook: [Byline](https://designsystem.dn.se/?path=/docs/article-byline--docs)
|
|
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/byline/byline.scss'`
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { initModal, openModal } from '@bonniernews/dn-design-system-web/components/modal/modal.js'
|
|
1
|
+
import { initModal, openModal } from '@bonniernews/dn-design-system-web/components/modal/modal.js';
|
|
2
2
|
|
|
3
3
|
export function initModalByline(article) {
|
|
4
|
-
const modalEl = article.querySelector(
|
|
4
|
+
const modalEl = article.querySelector('.ds-modal--byline');
|
|
5
5
|
if (!modalEl) return;
|
|
6
6
|
initModal(modalEl);
|
|
7
7
|
|
|
8
|
-
const bylines = article.getElementsByClassName(
|
|
8
|
+
const bylines = article.getElementsByClassName('ds-byline');
|
|
9
9
|
for (const byline of bylines) {
|
|
10
|
-
byline.addEventListener(
|
|
10
|
+
byline.addEventListener('click', (e) => {
|
|
11
11
|
openModal(modalEl);
|
|
12
12
|
});
|
|
13
|
-
}
|
|
13
|
+
}
|
|
14
14
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
BylineList
|
|
2
2
|
==========
|
|
3
3
|
|
|
4
|
-
* GitHub: [BonnierNews/dn-design-system
|
|
4
|
+
* GitHub: [BonnierNews/dn-design-system/web/src/components/byline-list](https://github.com/BonnierNews/dn-design-system/tree/main/web/src/components/byline-list)
|
|
5
5
|
* Storybook: [Byline-list](https://designsystem.dn.se/?path=/docs/article-byline-list--docs)
|
|
6
6
|
|
|
7
7
|
BylineList is a component that renders a list of bylines with optional media and titles. It is used for the sheet that displays if we click a byline with more than one author.
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import { dsButtonToggle } from '@bonniernews/dn-design-system-web/components/button/button-interactions.js';
|
|
2
2
|
|
|
3
|
-
export {
|
|
4
|
-
dsBylineList,
|
|
5
|
-
dsBylineListAll
|
|
6
|
-
};
|
|
3
|
+
export { dsBylineList, dsBylineListAll };
|
|
7
4
|
|
|
8
5
|
function dsBylineList(listElements = []) {
|
|
9
6
|
if (!listElements.length) return;
|
|
10
7
|
listElements.forEach((listEl) => {
|
|
11
|
-
const toggleElements = Array.from(listEl.getElementsByClassName(
|
|
8
|
+
const toggleElements = Array.from(listEl.getElementsByClassName('ds-btn--toggle'));
|
|
12
9
|
dsButtonToggle(toggleElements);
|
|
13
10
|
if (listEl.classList.contains('ds-btn--toggle')) {
|
|
14
11
|
dsButtonToggle(listEl);
|
|
@@ -17,6 +14,6 @@ function dsBylineList(listElements = []) {
|
|
|
17
14
|
}
|
|
18
15
|
|
|
19
16
|
function dsBylineListAll() {
|
|
20
|
-
const listElements = Array.from(document.getElementsByClassName(
|
|
17
|
+
const listElements = Array.from(document.getElementsByClassName('ds-byline-list__item__content'));
|
|
21
18
|
dsBylineList(listElements);
|
|
22
19
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Checkbox
|
|
2
2
|
========
|
|
3
3
|
|
|
4
|
-
* GitHub: [BonnierNews/dn-design-system
|
|
4
|
+
* GitHub: [BonnierNews/dn-design-system/web/src/components/checkbox](https://github.com/BonnierNews/dn-design-system/tree/main/web/src/components/checkbox)
|
|
5
5
|
* Storybook: [Checkbox](https://designsystem.dn.se/?path=/docs/basic-form-checkbox--docs)
|
|
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/checkbox/checkbox.scss`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
DirektCircle
|
|
2
2
|
============
|
|
3
3
|
|
|
4
|
-
* GitHub: [BonnierNews/dn-design-system
|
|
4
|
+
* GitHub: [BonnierNews/dn-design-system/web/src/components/direkt-circle](https://github.com/BonnierNews/dn-design-system/tree/main/web/src/components/direkt-circle)
|
|
5
5
|
* Storybook: [DirektCircle](https://designsystem.dn.se/?path=/docs/section-subcomponents-direktcircle--docs)
|
|
6
6
|
* 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/direkt-circle/direkt-circle.scss'`
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
DirektHeader
|
|
2
2
|
============
|
|
3
3
|
|
|
4
|
-
* GitHub: [BonnierNews/dn-design-system
|
|
4
|
+
* GitHub: [BonnierNews/dn-design-system/web/src/components/teaser-onsite](https://github.com/BonnierNews/dn-design-system/tree/main/web/src/components/direkt-header)
|
|
5
5
|
* Storybook: [DirektHeader](https://designsystem.dn.se/?path=/docs/section-direkt-header--docs)
|
|
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/direkt-header/direkt-header.scss'`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Disclaimer
|
|
2
2
|
==========
|
|
3
3
|
|
|
4
|
-
* GitHub: [BonnierNews/dn-design-system
|
|
4
|
+
* GitHub: [BonnierNews/dn-design-system/web/src/components/disclaimer](https://github.com/BonnierNews/dn-design-system/tree/main/web/src/components/disclaimer)
|
|
5
5
|
* Storybook: [Disclaimer](https://designsystem.dn.se/?path=/docs/basic-disclaimer--docs)
|
|
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/disclaimer/disclaimer.scss'`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Divider
|
|
2
2
|
=======
|
|
3
3
|
|
|
4
|
-
* GitHub: [BonnierNews/dn-design-system
|
|
4
|
+
* GitHub: [BonnierNews/dn-design-system/web/src/components/divider](https://github.com/BonnierNews/dn-design-system/tree/main/web/src/components/divider)
|
|
5
5
|
* Storybook: [Divider](https://designsystem.dn.se/?path=/docs/basic-divider--docs)
|
|
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'`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
EmptyState
|
|
2
2
|
==========
|
|
3
3
|
|
|
4
|
-
* GitHub: [BonnierNews/dn-design-system
|
|
4
|
+
* GitHub: [BonnierNews/dn-design-system/web/src/commponents/empty-state](https://github.com/BonnierNews/dn-design-system/tree/main/web/src/components/empty-state)
|
|
5
5
|
* Storybook: [EmptyState](https://designsystem.dn.se/?path=/docs/basic-emptystate--docs)
|
|
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/empty-state/empty-state.scss'`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Factbox
|
|
2
2
|
=======
|
|
3
3
|
|
|
4
|
-
* GitHub: [BonnierNews/dn-design-system
|
|
4
|
+
* GitHub: [BonnierNews/dn-design-system/web/src/components/factbox](https://github.com/BonnierNews/dn-design-system/tree/main/web/src/components/factbox)
|
|
5
5
|
* Storybook: [Factbox](https://designsystem.dn.se/?path=/docs/basic-factbox--docs)
|
|
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/factbox/factbox.scss'`
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
export {
|
|
2
|
-
dsFactbox,
|
|
3
|
-
dsFactboxAll
|
|
4
|
-
};
|
|
1
|
+
export { dsFactbox, dsFactboxAll };
|
|
5
2
|
|
|
6
|
-
const selector =
|
|
3
|
+
const selector = 'ds-factbox';
|
|
7
4
|
const expandedClass = `${selector}--expanded`;
|
|
8
5
|
const maxHeight = 468; // this has to match max-height in factbox.scss exluding top/bottom spacing
|
|
9
6
|
|
|
@@ -24,14 +21,14 @@ function dsFactbox(factboxElements) {
|
|
|
24
21
|
const expandMoreBtn = factboxEl.getElementsByClassName(`${selector}__expand-more`)[0];
|
|
25
22
|
const expandLessBtn = factboxEl.getElementsByClassName(`${selector}__expand-less`)[0];
|
|
26
23
|
|
|
27
|
-
expandMoreBtn.addEventListener(
|
|
24
|
+
expandMoreBtn.addEventListener('click', () => {
|
|
28
25
|
factboxEl.classList.add(expandedClass);
|
|
29
|
-
showMoreEl.setAttribute(
|
|
26
|
+
showMoreEl.setAttribute('data-factbox-expanded', '');
|
|
30
27
|
});
|
|
31
28
|
|
|
32
|
-
expandLessBtn.addEventListener(
|
|
29
|
+
expandLessBtn.addEventListener('click', () => {
|
|
33
30
|
factboxEl.classList.remove(expandedClass);
|
|
34
|
-
showMoreEl.removeAttribute(
|
|
31
|
+
showMoreEl.removeAttribute('data-factbox-expanded');
|
|
35
32
|
});
|
|
36
33
|
});
|
|
37
34
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Footer
|
|
2
2
|
======
|
|
3
3
|
|
|
4
|
-
* GitHub: [BonnierNews/dn-design-system
|
|
4
|
+
* GitHub: [BonnierNews/dn-design-system/web/src/components/footer](https://github.com/BonnierNews/dn-design-system/tree/main/web/src/components/footer)
|
|
5
5
|
* Storybook: [footer](https://designsystem.dn.se/?path=/docs/page-footer--docs)
|
|
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/footer/footer.scss'`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
GameHeader
|
|
2
2
|
==========
|
|
3
3
|
|
|
4
|
-
* GitHub: [BonnierNews/dn-design-system
|
|
4
|
+
* GitHub: [BonnierNews/dn-design-system/web/src/components/game-header](https://github.com/BonnierNews/dn-design-system/tree/main/web/src/components/game-header)
|
|
5
5
|
* Storybook: [GameHeader](https://designsystem.dn.se/?path=/docs/section-Gameheader--docs)
|
|
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/game-header/game-header.scss'`
|