hr-design-system-handlebars 1.11.9 → 1.11.11

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 (129) hide show
  1. package/.babelrc.json +14 -0
  2. package/.storybook/main.js +34 -52
  3. package/.storybook/preview-head.html +4 -1
  4. package/.storybook/preview.js +25 -35
  5. package/CHANGELOG.md +30 -0
  6. package/dist/assets/index.css +11 -3
  7. package/dist/views/components/base/load_dynamic.hbs +3 -0
  8. package/dist/views/components/teaser/ticker/teaser_ticker.hbs +29 -0
  9. package/package.json +20 -13
  10. package/src/assets/css/custom-utilities.css +3 -3
  11. package/src/assets/fixtures/teaser/teaser_ticker.inc.json +121 -0
  12. package/src/assets/fixtures/teaser/ticker_teaser_standard_100.json +25 -0
  13. package/src/assets/images/sportschau-image-5708_v-16to9.jpg +0 -0
  14. package/src/assets/images/sportschau-image-5708_v-16to9__medium.jpg +0 -0
  15. package/src/assets/images/sportschau-image-5708_v-16to9__retina.jpg +0 -0
  16. package/src/assets/images/sportschau-image-5708_v-16to9__small.jpg +0 -0
  17. package/src/assets/images/sportschau-image-5708_v-1to1.jpg +0 -0
  18. package/src/assets/images/sportschau-image-5708_v-1to1__large.jpg +0 -0
  19. package/src/assets/images/sportschau-image-5708_v-1to1__medium.jpg +0 -0
  20. package/src/assets/images/sportschau-image-5708_v-1to1__small.jpg +0 -0
  21. package/src/stories/BrandColors.data.js +42 -0
  22. package/src/stories/BrandColors.mdx +25 -0
  23. package/src/stories/{Colors.stories.mdx → Colors.data.js} +2 -18
  24. package/src/stories/Colors.mdx +19 -0
  25. package/src/stories/Example.mdx +56 -0
  26. package/src/stories/Example.stories.js +57 -0
  27. package/src/stories/{Fixtures.stories.mdx → Fixtures.mdx} +3 -5
  28. package/src/stories/{InstallAndUpdate.stories.mdx → InstallAndUpdate.mdx} +0 -2
  29. package/src/stories/Introduction.mdx +3 -0
  30. package/src/stories/{SvgOptimization.stories.mdx → SvgOptimization.mdx} +0 -2
  31. package/src/stories/{Typography.stories.mdx → Typography.mdx} +13 -14
  32. package/src/stories/{conventions-and-datastructure.stories.mdx → conventions-and-datastructure.mdx} +7 -9
  33. package/src/stories/views/components/Button.mdx +30 -0
  34. package/src/stories/views/components/Button_.stories.js +77 -0
  35. package/src/stories/views/components/base/load_dynamic.hbs +3 -0
  36. package/src/stories/views/components/event/calendar/{event_calendar_components.stories.mdx → event_calendar_components.mdx} +31 -87
  37. package/src/stories/views/components/event/calendar/event_calendar_components.stories.js +129 -0
  38. package/src/stories/views/components/geoTag/geoTag.mdx +32 -0
  39. package/src/stories/views/components/geoTag/geoTag.stories.js +35 -0
  40. package/src/stories/views/components/grid/grid.mdx +210 -0
  41. package/src/stories/views/components/grid/grid.stories.js +148 -0
  42. package/src/stories/views/components/label/label.mdx +54 -0
  43. package/src/stories/views/components/label/label.stories.js +183 -0
  44. package/src/stories/views/components/page/page.data.js +17 -0
  45. package/src/stories/views/components/page/page.mdx +110 -0
  46. package/src/stories/views/components/page/page.stories.js +50 -0
  47. package/src/stories/views/components/page/page_pagination.data.js +8 -0
  48. package/src/stories/views/components/page/page_pagination.mdx +8 -0
  49. package/src/stories/views/components/page/page_pagination.stories.js +34 -0
  50. package/src/stories/views/components/page/page_player.mdx +21 -0
  51. package/src/stories/views/components/page/page_player.stories.js +34 -0
  52. package/src/stories/views/components/site_header/{header.stories.mdx → header.mdx} +218 -152
  53. package/src/stories/views/components/site_header/header.stories.js +62 -0
  54. package/src/stories/views/components/teaser/cluster/teaser_cluster.mdx +32 -0
  55. package/src/stories/views/components/teaser/cluster/teaser_cluster.stories.js +146 -0
  56. package/src/stories/views/components/teaser/components/teaser_byline.mdx +97 -0
  57. package/src/stories/views/components/teaser/components/teaser_byline.stories.js +30 -0
  58. package/src/stories/views/components/teaser/components/teaser_heading.mdx +96 -0
  59. package/src/stories/views/components/teaser/components/teaser_heading.stories.js +158 -0
  60. package/src/stories/views/components/teaser/components/teaser_text.mdx +36 -0
  61. package/src/stories/views/components/teaser/components/teaser_text.stories.js +74 -0
  62. package/src/stories/views/components/teaser/components/teaser_title.mdx +42 -0
  63. package/src/stories/views/components/teaser/components/teaser_title.stories.js +85 -0
  64. package/src/stories/views/components/teaser/components/teaser_topline.mdx +29 -0
  65. package/src/stories/views/components/teaser/components/teaser_topline.stories.js +27 -0
  66. package/src/stories/views/components/teaser/content_nav/teaser_content_nav.mdx +54 -0
  67. package/src/stories/views/components/teaser/content_nav/{teaser_content_nav.stories.mdx → teaser_content_nav.stories.js} +80 -61
  68. package/src/stories/views/components/teaser/fixtures/ticker_teaser_standard_100.json +1 -0
  69. package/src/stories/views/components/teaser/group_teaser/group.mdx +18 -0
  70. package/src/stories/views/components/teaser/group_teaser/group.stories.js +85 -0
  71. package/src/stories/views/components/teaser/podcast/podcast.mdx +11 -0
  72. package/src/stories/views/components/teaser/podcast/{podcast.stories.mdx → podcast.stories.js} +50 -39
  73. package/src/stories/views/components/teaser/podcast/podcast_subscribe_button.mdx +10 -0
  74. package/src/stories/views/components/teaser/podcast/podcast_subscribe_button.stories.js +51 -0
  75. package/src/stories/views/components/teaser/tabbox/teaser_tabbox.mdx +10 -0
  76. package/src/stories/views/components/teaser/tabbox/teaser_tabbox.stories.js +40 -0
  77. package/src/stories/views/components/teaser/teaser_alternativ.mdx +76 -0
  78. package/src/stories/views/components/teaser/teaser_alternativ.stories.js +126 -0
  79. package/src/stories/views/components/teaser/teaser_alternativ_av.mdx +75 -0
  80. package/src/stories/views/components/teaser/teaser_alternativ_av.stories.js +111 -0
  81. package/src/stories/views/components/teaser/teaser_event_calendar.mdx +57 -0
  82. package/src/stories/views/components/teaser/teaser_event_calendar.stories.js +92 -0
  83. package/src/stories/views/components/teaser/teaser_indextext.mdx +35 -0
  84. package/src/stories/views/components/teaser/teaser_indextext.stories.js +85 -0
  85. package/src/stories/views/components/teaser/teaser_logic/teaser_logic.mdx +23 -0
  86. package/src/stories/views/components/teaser/teaser_logic/teaser_logic.stories.js +36 -0
  87. package/src/stories/views/components/teaser/teaser_poster.mdx +95 -0
  88. package/src/stories/views/components/teaser/teaser_poster.stories.js +67 -0
  89. package/src/stories/views/components/teaser/teaser_stage.mdx +15 -0
  90. package/src/stories/views/components/teaser/teaser_stage.stories.js +60 -0
  91. package/src/stories/views/components/teaser/teaser_standard.mdx +129 -0
  92. package/src/stories/views/components/teaser/teaser_standard.stories.js +166 -0
  93. package/src/stories/views/components/teaser/teaser_standard_av.mdx +38 -0
  94. package/src/stories/views/components/teaser/teaser_standard_av.stories.js +117 -0
  95. package/src/stories/views/components/teaser/teaser_standard_event.mdx +103 -0
  96. package/src/stories/views/components/teaser/teaser_standard_event.stories.js +119 -0
  97. package/src/stories/views/components/teaser/ticker/teaser_ticker.hbs +29 -0
  98. package/src/stories/views/components/teaser/ticker/teaser_ticker.mdx +10 -0
  99. package/src/stories/views/components/teaser/ticker/teaser_ticker.stories.js +34 -0
  100. package/.storybook/withThemeDecorator.js +0 -12
  101. package/src/stories/BrandColors.stories.mdx +0 -39
  102. package/src/stories/Example.stories.mdx +0 -93
  103. package/src/stories/Introduction.stories.mdx +0 -211
  104. package/src/stories/views/components/Button.stories.mdx +0 -82
  105. package/src/stories/views/components/geoTag/geoTag.stories.mdx +0 -61
  106. package/src/stories/views/components/grid/grid.stories.mdx +0 -275
  107. package/src/stories/views/components/label/label.stories.mdx +0 -200
  108. package/src/stories/views/components/page/page.stories.mdx +0 -144
  109. package/src/stories/views/components/page/page_pagination.stories.mdx +0 -36
  110. package/src/stories/views/components/page/page_player.stories.mdx +0 -43
  111. package/src/stories/views/components/teaser/cluster/teaser_cluster.stories.mdx +0 -97
  112. package/src/stories/views/components/teaser/components/teaser_byline.stories.mdx +0 -78
  113. package/src/stories/views/components/teaser/components/teaser_heading.stories.mdx +0 -219
  114. package/src/stories/views/components/teaser/components/teaser_text.stories.mdx +0 -94
  115. package/src/stories/views/components/teaser/components/teaser_title.stories.mdx +0 -124
  116. package/src/stories/views/components/teaser/components/teaser_topline.stories.mdx +0 -63
  117. package/src/stories/views/components/teaser/group_teaser/group.stories.mdx +0 -85
  118. package/src/stories/views/components/teaser/podcast/podcast_subscribe_button.stories.mdx +0 -52
  119. package/src/stories/views/components/teaser/tabbox/teaser_tabbox.stories.mdx +0 -39
  120. package/src/stories/views/components/teaser/teaser_alternativ.stories.mdx +0 -163
  121. package/src/stories/views/components/teaser/teaser_alternativ_av.stories.mdx +0 -142
  122. package/src/stories/views/components/teaser/teaser_event_calendar.stories.mdx +0 -131
  123. package/src/stories/views/components/teaser/teaser_indextext.stories.mdx +0 -111
  124. package/src/stories/views/components/teaser/teaser_logic/teaser_logic.stories.mdx +0 -39
  125. package/src/stories/views/components/teaser/teaser_poster.stories.mdx +0 -130
  126. package/src/stories/views/components/teaser/teaser_stage.stories.mdx +0 -53
  127. package/src/stories/views/components/teaser/teaser_standard.stories.mdx +0 -170
  128. package/src/stories/views/components/teaser/teaser_standard_av.stories.mdx +0 -95
  129. package/src/stories/views/components/teaser/teaser_standard_event.stories.mdx +0 -150
@@ -0,0 +1,183 @@
1
+ import label from './label.hbs'
2
+
3
+ const Template = ({ _type, ...args }) => {
4
+ // You can either use a function to create DOM elements or use a plain html string!
5
+ // return `<div>${label}</div>`;
6
+ return label({ _type, ...args })
7
+ }
8
+
9
+ export default {
10
+ title: 'Komponenten/Label',
11
+
12
+ argTypes: {
13
+ _type: {
14
+ control: {
15
+ type: 'select',
16
+
17
+ labels: {
18
+ 'analysis': 'Analyse',
19
+ 'event': 'Event',
20
+ 'comment': 'Kommentar',
21
+ 'media': 'Medieninhalte',
22
+ 'breakingnews': 'Eilmeldung',
23
+ 'der-tag-in-hessen': 'Der Tag in Hessen',
24
+ 'glosse': 'Glosse',
25
+ 'fragen-und-antworten': 'Fragen und Antworten',
26
+ 'infografik': 'Infografik',
27
+ 'interaktiv': 'Interaktiv',
28
+ 'program': 'Sendung',
29
+ 'download': 'Download',
30
+ 'pm': 'Pressemitteilung',
31
+ 'liveticker': 'Liveticker',
32
+ 'ticker': 'Ticker',
33
+ 'livestream': 'Livestream',
34
+ 'live': 'Live',
35
+ 'livechat': 'Livechat',
36
+ 'buliticker': 'Bundesliga-Ticker',
37
+ 'social-tv': 'Social-TV',
38
+ 'blog': 'Blog',
39
+ 'kurzmeldung': 'Kurzmeldung',
40
+ },
41
+
42
+ options: [
43
+ '',
44
+ 'analysis',
45
+ 'blog',
46
+ 'buliticker',
47
+ 'der-tag-in-hessen',
48
+ 'download',
49
+ 'breakingnews',
50
+ 'event',
51
+ 'fragen-und-antworten',
52
+ 'glosse',
53
+ 'infografik',
54
+ 'interaktiv',
55
+ 'comment',
56
+ 'live',
57
+ 'livechat',
58
+ 'livestream',
59
+ 'liveticker',
60
+ 'media',
61
+ 'pm',
62
+ 'program',
63
+ 'social-tv',
64
+ 'ticker',
65
+ 'kurzmeldung',
66
+ ],
67
+ },
68
+
69
+ description: 'Art des Labels',
70
+
71
+ table: {
72
+ defaultValue: {
73
+ summary: 'media',
74
+ },
75
+ },
76
+ },
77
+
78
+ _text: {
79
+ control: 'text',
80
+ description: 'Beschriftung des Labels',
81
+ },
82
+ },
83
+ }
84
+
85
+ export const Download = {
86
+ render: Template.bind({}),
87
+ name: 'Download',
88
+
89
+ args: {
90
+ _type: 'download',
91
+ _text: 'Download',
92
+ },
93
+ }
94
+
95
+ export const Eilmeldung = {
96
+ render: Template.bind({}),
97
+ name: 'Eilmeldung',
98
+
99
+ args: {
100
+ _type: 'breakingnews',
101
+ _text: 'Eilmeldung',
102
+ },
103
+ }
104
+
105
+ export const Event = {
106
+ render: Template.bind({}),
107
+ name: 'Event',
108
+
109
+ args: {
110
+ _type: 'event',
111
+ _text: 'Event',
112
+ },
113
+ }
114
+
115
+ export const Infografik = {
116
+ render: Template.bind({}),
117
+ name: 'Infografik',
118
+
119
+ args: {
120
+ _type: 'infografik',
121
+ _text: 'Infografik',
122
+ },
123
+ }
124
+
125
+ export const Kommentar = {
126
+ render: Template.bind({}),
127
+ name: 'Kommentar',
128
+
129
+ args: {
130
+ _type: 'comment',
131
+ _text: 'Kommentar',
132
+ },
133
+ }
134
+
135
+ export const Liveticker = {
136
+ render: Template.bind({}),
137
+ name: 'Liveticker',
138
+
139
+ args: {
140
+ _type: 'liveticker',
141
+ _text: 'Liveticker',
142
+ },
143
+ }
144
+
145
+ export const Media = {
146
+ render: Template.bind({}),
147
+ name: 'Media',
148
+
149
+ args: {
150
+ _type: 'media',
151
+ _text: 'Media',
152
+ },
153
+ }
154
+
155
+ export const Pressemitteilung = {
156
+ render: Template.bind({}),
157
+ name: 'Pressemitteilung',
158
+
159
+ args: {
160
+ _type: 'pm',
161
+ _text: 'Pressemitteilung',
162
+ },
163
+ }
164
+
165
+ export const Sendung = {
166
+ render: Template.bind({}),
167
+ name: 'Sendung',
168
+
169
+ args: {
170
+ _type: 'program',
171
+ _text: 'Sendung',
172
+ },
173
+ }
174
+
175
+ export const Kurzmeldung = {
176
+ render: Template.bind({}),
177
+ name: 'Kurzmeldung',
178
+
179
+ args: {
180
+ _type: 'kurzmeldung',
181
+ _text: 'Kurzmeldung',
182
+ },
183
+ }
@@ -0,0 +1,17 @@
1
+ import structuredClone from 'core-js-pure/actual/structured-clone'
2
+ import NavigationData from '../site_header/fixtures/site_header_default.json'
3
+ import NavigationData2 from '../site_header/fixtures/site_header_mit_warnung.json'
4
+ import NavigationData3 from '../site_header/fixtures/site_header_mit_submenu.json'
5
+
6
+ import hero_teaser from '../teaser/fixtures/teaser_standard_hero_serif.json'
7
+ const NavigationDataWithTeaser = structuredClone(
8
+ Object.assign({}, NavigationData, hero_teaser.logicItem.includeModel)
9
+ )
10
+ const NavigationDataWithTeaser2 = structuredClone(
11
+ Object.assign({}, NavigationData2, hero_teaser.logicItem.includeModel)
12
+ )
13
+ const NavigationDataWithTeaser3 = structuredClone(
14
+ Object.assign({}, NavigationData3, hero_teaser.logicItem.includeModel)
15
+ )
16
+
17
+ export { NavigationDataWithTeaser, NavigationDataWithTeaser2, NavigationDataWithTeaser3 }
@@ -0,0 +1,110 @@
1
+ import { ArgsTable, Meta, Story, Canvas, Preview } from '@storybook/blocks'
2
+ import * as PageStories from './page.stories'
3
+
4
+ <Meta of={PageStories} />
5
+
6
+ # Page (allgemein)
7
+
8
+ Das Grundgerüst für das HTML-Markup einer Seite (in diesem Fall eine Index-Seite bzw. Übersichtsseite).
9
+ Stand 2023: Inhaltsseiten werden derzeit noch nicht berücksichtigt.
10
+ Für gemischte Inhalte siehe `Player-Interaktion`
11
+
12
+ # Grundaufbau
13
+
14
+ Um eine Seite zu erzeugen ist ein initiales HTML-Markup notwendig. Der Kopf `<head>` ist dabei statisch,
15
+ Inhalte werden im `<body>`-Tag abgelegt. Der Kopf entspricht einem klassischen HTML-Kopf mit Titel und Metadaten-Angaben.
16
+
17
+ ## Markup im Kopf
18
+
19
+ ```html
20
+ <!DOCTYPE html>
21
+ <html
22
+ class="no-js no-js-burgerMenu preload noMicroInteraction"
23
+ data-theme="hessenschau"
24
+ lang="de"
25
+ >
26
+ <head>
27
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
28
+ <meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
29
+ <title>hessenschau.de | Nachrichten aus Hessen</title>
30
+ <meta name="application-name" content="hessenschau.de" />
31
+ <meta name="copyright" content="Hessischer Rundfunk, Frankfurt, Germany" />
32
+ <meta name="author" content="hessenschau.de, Frankfurt, Germany" />
33
+ <meta name="publisher" content="hessenschau.de" />
34
+ <meta name="language" content="Deutsch" />
35
+ </head>
36
+
37
+ <body itemscope itemtype="http://schema.org/WebPage">
38
+ <div class="js-pageSwap">
39
+
40
+ MARKUP FÜR INHALTE ...
41
+
42
+ <div>
43
+ </body>
44
+ </html>
45
+ ```
46
+
47
+ ## Markup für Inhalte
48
+
49
+ Initial wird die Seitennavigation - das Menü - der Seite eingefügt. Wahlweise Abwandlungen der Seitennavigation
50
+ (mit Subnavigation oder Unwetterwarnung), die über unterschiedlichen Daten-JSONS ausgeformt werden. Die Daten-JSONS hierfür liegen
51
+ unter `components/site_header/fixtures` und die Komponente selber:
52
+
53
+ ```html
54
+ {{> components/site_header/header }}
55
+ ```
56
+
57
+ Dann folgen die Inhalte in diesem Fall Teaser, die über das Grid-Layout angeordnet werden. Die Komponenten für die Teaser
58
+ liegen unter `components/teaser/` und lauten auf `teaser_` und dessen Ausprägung:
59
+
60
+ <ul>
61
+ <li>standard (Standard => Bild oben, Text darunter)</li>
62
+ <li>alternativ (Alternativ => Bild links, Text rechts)</li>
63
+ <li>event\_calendar (Event-Kalender)</li>
64
+ <li>poster (Poster => Text auf Bild)</li>
65
+ <li>indextext (Nur Text)</li>
66
+ <li>stage (Stage => Sonderform über die ganze Seite)</li>
67
+ </ul>
68
+
69
+ Auch hier bestimmen die Daten-JSONS, das Bild und den Text. Die Daten-JSONS hierfür liegen
70
+ unter `components/teaser/fixtures` der Aufruf der Komponente selber:
71
+
72
+ ```html
73
+ {{> components/teaser/teaser_standard }}
74
+ ```
75
+
76
+ Gekapselt wird die Teaser-Komponente in einer `<section>`. Es können beliebig viele Sections mit entsprechenden Teaser-Komponenten
77
+ in das folgende Markup angelegt werden:
78
+
79
+ ```html
80
+ <main onclick="void(0)" role="main" id="content" class="flex items-center justify-center">
81
+ <div class="grid grid-page">
82
+ <div class="{{> components/grid/grid_group_wrapper_classes }}">
83
+
84
+ <section class="grid items-start content-start grid-cols-12 col-span-12 bg-white gap-x-6 gap-y-6 ">
85
+ {{> components/teaser/teaser_standard }}
86
+ </section>
87
+ WEITERE TEASER...
88
+ </div>
89
+ </div>
90
+ </main>
91
+
92
+ </div>
93
+ ```
94
+
95
+ Die Ausformung der Teaser basiert immer auf dem selben Daten-JSON, d.h. Bild und Texte sind immer identisch, lediglich die Größe und der
96
+ Teaser-Typ variieren.
97
+
98
+ <Canvas withToolbar>
99
+ <Story of={PageStories.Default} />
100
+ </Canvas>
101
+
102
+ <Canvas>
103
+ <Story of={PageStories.MitWarnung} />
104
+ </Canvas>
105
+
106
+ <Canvas>
107
+ <Story of={PageStories.MitSubnavigation} />
108
+ </Canvas>
109
+
110
+ <ArgsTable story="Default" />
@@ -0,0 +1,50 @@
1
+ import page from './page.hbs'
2
+ import {
3
+ NavigationDataWithTeaser,
4
+ NavigationDataWithTeaser2,
5
+ NavigationDataWithTeaser3,
6
+ } from './page.data.js'
7
+
8
+ const Template = (args, { globals: { customConditionalToolbar } }) => {
9
+ // You can either use a function to create DOM elements or use a plain html string!
10
+ // return `<div>${label}</div>`;
11
+ let brand =
12
+ undefined !== customConditionalToolbar ? customConditionalToolbar['brands'] : 'hessenschau'
13
+ return page({ brand, ...args })
14
+ }
15
+
16
+ export default {
17
+ title: 'Komponenten/Page/Page',
18
+ argTypes: {},
19
+
20
+ parameters: {
21
+ chromatic: {
22
+ viewports: [360, 768, 1024],
23
+ },
24
+
25
+ layout: 'fullscreen',
26
+
27
+ docs: {
28
+ inlineStories: false,
29
+ iframeHeight: 400,
30
+ },
31
+ },
32
+ }
33
+
34
+ export const Default = {
35
+ render: Template.bind({}),
36
+ name: 'Default',
37
+ args: NavigationDataWithTeaser,
38
+ }
39
+
40
+ export const MitWarnung = {
41
+ render: Template.bind({}),
42
+ name: 'Mit Warnung',
43
+ args: NavigationDataWithTeaser2,
44
+ }
45
+
46
+ export const MitSubnavigation = {
47
+ render: Template.bind({}),
48
+ name: 'Mit Subnavigation',
49
+ args: NavigationDataWithTeaser3,
50
+ }
@@ -0,0 +1,8 @@
1
+ import structuredClone from 'core-js-pure/actual/structured-clone'
2
+ import navigationData from '../site_header/fixtures/site_header_default.json'
3
+ import mixedContent from '../page/fixtures/page_pagination.json'
4
+ const NavigationDataWithMixedContent = structuredClone(
5
+ Object.assign({}, navigationData, mixedContent)
6
+ )
7
+
8
+ export { NavigationDataWithMixedContent }
@@ -0,0 +1,8 @@
1
+ import { ArgsTable, Meta, Story, Canvas, Preview } from '@storybook/blocks'
2
+ import * as PagePaginationStories from './page_pagination.stories'
3
+
4
+ <Meta of={PagePaginationStories} />
5
+
6
+ <Canvas withToolbar>
7
+ <Story of={PagePaginationStories.MitPagination} />
8
+ </Canvas>
@@ -0,0 +1,34 @@
1
+ import { NavigationDataWithMixedContent } from './page_pagination.data.js'
2
+ import page from './page_pagination.hbs'
3
+
4
+ const Template = (args, { globals: { customConditionalToolbar } }) => {
5
+ // You can either use a function to create DOM elements or use a plain html string!
6
+ // return `<div>${label}</div>`;
7
+ let brand =
8
+ undefined !== customConditionalToolbar ? customConditionalToolbar['brands'] : 'hessenschau'
9
+ return page({ brand, ...args })
10
+ }
11
+
12
+ export default {
13
+ title: 'Komponenten/Page/Pagination',
14
+ argTypes: {},
15
+
16
+ parameters: {
17
+ chromatic: {
18
+ viewports: [360, 768, 1024],
19
+ },
20
+
21
+ layout: 'fullscreen',
22
+
23
+ docs: {
24
+ inlineStories: false,
25
+ iframeHeight: 400,
26
+ },
27
+ },
28
+ }
29
+
30
+ export const MitPagination = {
31
+ render: Template.bind({}),
32
+ name: 'Mit Pagination',
33
+ args: NavigationDataWithMixedContent,
34
+ }
@@ -0,0 +1,21 @@
1
+ import { ArgsTable, Meta, Story, Canvas, Preview } from '@storybook/blocks'
2
+ import * as PagePlayerStories from './page_player.stories'
3
+
4
+ <Meta of={PagePlayerStories} />
5
+
6
+ # Page (gemischte Inhalte)
7
+
8
+ Hier werden nur gemischte Inhalte betrachtet. Hierfür werden Daten-JSONS unterschiedlicher
9
+ Ausprägung (Audio, Podcast) gemischt und herangezogen. Um einer Komponente diese spezifische Inhalte zu übergeben
10
+ wird sie wie folgt aufgerufen:
11
+
12
+ ```html
13
+ {{> components/teaser/teaser_standard this.teaser_standard_50_audio.logicItem.includeModel}} {{>
14
+ components/teaser/podcast/podcast this.teaser_podcast_50.logicItem.includeModel}}
15
+ ```
16
+
17
+ <Canvas>
18
+ <Story of={PagePlayerStories.PlayerInteraktion} />
19
+ </Canvas>
20
+
21
+ <ArgsTable story="Default" />
@@ -0,0 +1,34 @@
1
+ import page from './page_players.hbs'
2
+ import AudioDataMixed from '../page/fixtures/page.json'
3
+
4
+ const Template = (args, { globals: { customConditionalToolbar } }) => {
5
+ // You can either use a function to create DOM elements or use a plain html string!
6
+ // return `<div>${label}</div>`;
7
+ let brand =
8
+ undefined !== customConditionalToolbar ? customConditionalToolbar['brands'] : 'hessenschau'
9
+ return page({ brand, ...args })
10
+ }
11
+
12
+ export default {
13
+ title: 'Komponenten/Page/Page mit Player',
14
+ argTypes: {},
15
+
16
+ parameters: {
17
+ chromatic: {
18
+ viewports: [360, 768, 1024],
19
+ },
20
+
21
+ layout: 'fullscreen',
22
+
23
+ docs: {
24
+ inlineStories: false,
25
+ iframeHeight: 400,
26
+ },
27
+ },
28
+ }
29
+
30
+ export const PlayerInteraktion = {
31
+ render: Template.bind({}),
32
+ name: 'Player-Interaktion',
33
+ args: AudioDataMixed,
34
+ }