hr-design-system-handlebars 0.123.6 → 0.124.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 (143) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/build/handlebars/helpers/handlebar-helpers.js +12 -0
  3. package/dist/assets/brand/_default/conf/locatags.json +11 -1
  4. package/dist/assets/brand/hessenschau/conf/locatags.json +1 -0
  5. package/dist/assets/brand/hr/conf/locatags.json +1 -0
  6. package/dist/assets/brand/hr-bigband/conf/locatags.json +1 -0
  7. package/dist/assets/brand/hr-fernsehen/conf/locatags.json +1 -0
  8. package/dist/assets/brand/hr-inforadio/conf/locatags.json +1 -0
  9. package/dist/assets/brand/hr-rundfunkrat/conf/locatags.json +1 -0
  10. package/dist/assets/brand/hr-sinfonieorchester/conf/locatags.json +1 -0
  11. package/dist/assets/brand/hr-werbung/conf/locatags.json +1 -0
  12. package/dist/assets/brand/hr1/conf/locatags.json +1 -0
  13. package/dist/assets/brand/hr2/conf/locatags.json +1 -0
  14. package/dist/assets/brand/hr3/conf/locatags.json +1 -0
  15. package/dist/assets/brand/hr4/conf/locatags.json +1 -0
  16. package/dist/assets/brand/you-fm/conf/locatags.json +1 -0
  17. package/dist/assets/index.css +422 -63
  18. package/dist/assets/js/components/event/filtererDs.feature.js +298 -0
  19. package/dist/assets/js/components/event/nativeScrollDs.feature.js +110 -0
  20. package/dist/assets/js/components/modal/modal.feature.js +38 -0
  21. package/dist/views/components/base/image/responsive_image.hbs +1 -0
  22. package/dist/views/components/base/link.hbs +3 -15
  23. package/dist/views/components/base/link_open.hbs +13 -0
  24. package/dist/views/components/button/button_pseudo_v2.hbs +12 -0
  25. package/dist/views/components/button/button_v2.hbs +7 -0
  26. package/dist/views/components/button/components/button_icon.hbs +1 -0
  27. package/dist/views/components/button/components/button_label.hbs +1 -0
  28. package/dist/views/components/button/components/button_pseudo_link.hbs +3 -0
  29. package/dist/views/components/content_nav/content_nav_dropdown.hbs +1 -1
  30. package/dist/views/components/content_nav/content_nav_item.hbs +1 -1
  31. package/dist/views/components/event/artist.hbs +1 -0
  32. package/dist/views/components/event/calendar/event_calendar.hbs +3 -0
  33. package/dist/views/components/event/calendar/event_calendar_content.hbs +18 -0
  34. package/dist/views/components/event/calendar/event_calendar_event_teaser.hbs +60 -0
  35. package/dist/views/components/event/calendar/event_calendar_footer.hbs +8 -0
  36. package/dist/views/components/event/calendar/event_calendar_heading.hbs +3 -0
  37. package/dist/views/components/event/calendar/event_calendar_inline.hbs +3 -0
  38. package/dist/views/components/event/calendar/event_calendar_nav.hbs +27 -0
  39. package/dist/views/components/event/calendar/event_calendar_nav_item.hbs +7 -0
  40. package/dist/views/components/event/concert_info.hbs +66 -0
  41. package/dist/views/components/event/event_details.hbs +20 -0
  42. package/dist/views/components/event/event_status.hbs +1 -0
  43. package/dist/views/components/event/event_tag.hbs +3 -0
  44. package/dist/views/components/event/event_tags.hbs +11 -0
  45. package/dist/views/components/event/event_ticket_button.hbs +30 -0
  46. package/dist/views/components/label/label_byline.hbs +7 -0
  47. package/dist/views/components/label/label_group.hbs +3 -0
  48. package/dist/views/components/label/label_test.hbs +11 -0
  49. package/dist/views/components/modal/modal.hbs +7 -0
  50. package/dist/views/components/teaser/components/teaser_header.hbs +3 -0
  51. package/dist/views/components/teaser/components/teaser_heading.hbs +3 -1
  52. package/dist/views/components/teaser/components/teaser_headline.hbs +3 -0
  53. package/dist/views/components/teaser/components/teaser_title_classes.hbs +3 -0
  54. package/dist/views/components/teaser/components/teaser_title_test.hbs +3 -0
  55. package/dist/views/components/teaser/components/teaser_topline.hbs +1 -5
  56. package/dist/views/components/teaser/teaser_event_calendar.hbs +8 -0
  57. package/gulpfile.js +5 -1
  58. package/package.json +4 -2
  59. package/src/assets/brand/_default/conf/locatags.json +11 -1
  60. package/src/assets/brand/hessenschau/conf/locatags.json +1 -0
  61. package/src/assets/brand/hessenschau/conf/locatags.merged.json +10 -0
  62. package/src/assets/brand/hr/conf/locatags.json +1 -0
  63. package/src/assets/brand/hr/conf/locatags.merged.json +10 -0
  64. package/src/assets/brand/hr-bigband/conf/locatags.json +1 -0
  65. package/src/assets/brand/hr-bigband/conf/locatags.merged.json +10 -0
  66. package/src/assets/brand/hr-fernsehen/conf/locatags.json +1 -0
  67. package/src/assets/brand/hr-fernsehen/conf/locatags.merged.json +10 -0
  68. package/src/assets/brand/hr-inforadio/conf/locatags.json +1 -0
  69. package/src/assets/brand/hr-inforadio/conf/locatags.merged.json +10 -0
  70. package/src/assets/brand/hr-rundfunkrat/conf/locatags.json +1 -0
  71. package/src/assets/brand/hr-rundfunkrat/conf/locatags.merged.json +10 -0
  72. package/src/assets/brand/hr-sinfonieorchester/conf/locatags.json +1 -0
  73. package/src/assets/brand/hr-sinfonieorchester/conf/locatags.merged.json +10 -0
  74. package/src/assets/brand/hr-werbung/conf/locatags.json +1 -0
  75. package/src/assets/brand/hr-werbung/conf/locatags.merged.json +10 -0
  76. package/src/assets/brand/hr1/conf/locatags.json +1 -0
  77. package/src/assets/brand/hr1/conf/locatags.merged.json +10 -0
  78. package/src/assets/brand/hr2/conf/locatags.json +1 -0
  79. package/src/assets/brand/hr2/conf/locatags.merged.json +10 -0
  80. package/src/assets/brand/hr3/conf/locatags.json +1 -0
  81. package/src/assets/brand/hr3/conf/locatags.merged.json +10 -0
  82. package/src/assets/brand/hr4/conf/locatags.json +1 -0
  83. package/src/assets/brand/hr4/conf/locatags.merged.json +10 -0
  84. package/src/assets/brand/you-fm/conf/locatags.json +1 -0
  85. package/src/assets/brand/you-fm/conf/locatags.merged.json +10 -0
  86. package/src/assets/css/custom-utilities.css +36 -0
  87. package/src/assets/fixtures/event/calendar/event_calendar.inc.json +10 -0
  88. package/src/assets/fixtures/event/calendar/event_calendar_event_teaser.inc.json +89 -0
  89. package/src/assets/fixtures/event/calendar/event_calendar_event_teaser.json +4 -0
  90. package/src/assets/fixtures/event/calendar/event_calendar_footer.json +14 -0
  91. package/src/assets/fixtures/event/calendar/event_calendar_months.inc.json +1295 -0
  92. package/src/assets/fixtures/teaser/teaser_event_calendar_100_no_future_events.json +24 -0
  93. package/src/assets/fixtures/teaser/teaser_event_calendar_100_serif.json +21 -0
  94. package/src/assets/fixtures/teaser/teaser_images.inc.json +21 -0
  95. package/src/assets/fixtures/teaser/teaser_labels.inc.json +12 -0
  96. package/src/assets/fixtures/teaser/teasers.inc.json +31 -0
  97. package/src/assets/tailwind.css +43 -5
  98. package/src/stories/views/components/base/image/responsive_image.hbs +1 -0
  99. package/src/stories/views/components/base/link.hbs +3 -15
  100. package/src/stories/views/components/base/link_open.hbs +13 -0
  101. package/src/stories/views/components/button/button_pseudo_v2.hbs +12 -0
  102. package/src/stories/views/components/button/button_v2.hbs +7 -0
  103. package/src/stories/views/components/button/components/button_icon.hbs +1 -0
  104. package/src/stories/views/components/button/components/button_label.hbs +1 -0
  105. package/src/stories/views/components/button/components/button_pseudo_link.hbs +3 -0
  106. package/src/stories/views/components/content_nav/content_nav_dropdown.hbs +1 -1
  107. package/src/stories/views/components/content_nav/content_nav_item.hbs +1 -1
  108. package/src/stories/views/components/event/artist.hbs +1 -0
  109. package/src/stories/views/components/event/calendar/event_calendar.hbs +3 -0
  110. package/src/stories/views/components/event/calendar/event_calendar_components.stories.mdx +161 -0
  111. package/src/stories/views/components/event/calendar/event_calendar_content.hbs +18 -0
  112. package/src/stories/views/components/event/calendar/event_calendar_event_teaser.hbs +60 -0
  113. package/src/stories/views/components/event/calendar/event_calendar_footer.hbs +8 -0
  114. package/src/stories/views/components/event/calendar/event_calendar_heading.hbs +3 -0
  115. package/src/stories/views/components/event/calendar/event_calendar_inline.hbs +3 -0
  116. package/src/stories/views/components/event/calendar/event_calendar_nav.hbs +27 -0
  117. package/src/stories/views/components/event/calendar/event_calendar_nav_item.hbs +7 -0
  118. package/src/stories/views/components/event/calendar/fixtures/event_calendar_event_teaser.json +1 -0
  119. package/src/stories/views/components/event/calendar/fixtures/event_calendar_footer.json +1 -0
  120. package/src/stories/views/components/event/concert_info.hbs +66 -0
  121. package/src/stories/views/components/event/event_details.hbs +20 -0
  122. package/src/stories/views/components/event/event_status.hbs +1 -0
  123. package/src/stories/views/components/event/event_tag.hbs +3 -0
  124. package/src/stories/views/components/event/event_tags.hbs +11 -0
  125. package/src/stories/views/components/event/event_ticket_button.hbs +30 -0
  126. package/src/stories/views/components/event/filtererDs.feature.js +298 -0
  127. package/src/stories/views/components/event/nativeScrollDs.feature.js +110 -0
  128. package/src/stories/views/components/label/label_byline.hbs +7 -0
  129. package/src/stories/views/components/label/label_group.hbs +3 -0
  130. package/src/stories/views/components/label/label_test.hbs +11 -0
  131. package/src/stories/views/components/modal/modal.feature.js +38 -0
  132. package/src/stories/views/components/modal/modal.hbs +7 -0
  133. package/src/stories/views/components/teaser/components/teaser_header.hbs +3 -0
  134. package/src/stories/views/components/teaser/components/teaser_heading.hbs +3 -1
  135. package/src/stories/views/components/teaser/components/teaser_headline.hbs +3 -0
  136. package/src/stories/views/components/teaser/components/teaser_title_classes.hbs +3 -0
  137. package/src/stories/views/components/teaser/components/teaser_title_test.hbs +3 -0
  138. package/src/stories/views/components/teaser/components/teaser_topline.hbs +1 -5
  139. package/src/stories/views/components/teaser/fixtures/teaser_event_calendar_100_no_future_events.json +1 -0
  140. package/src/stories/views/components/teaser/fixtures/teaser_event_calendar_100_serif.json +1 -0
  141. package/src/stories/views/components/teaser/teaser_event_calendar.hbs +8 -0
  142. package/src/stories/views/components/teaser/teaser_event_calendar.stories.mdx +131 -0
  143. package/tailwind.config.js +11 -4
@@ -0,0 +1,24 @@
1
+ {
2
+ "@->jsoninclude": "teaser/teasers.inc.json",
3
+ "@->contentpath": "eventCalendarTeaser",
4
+ "@->overrides": [
5
+ {
6
+ "@->contentpath": "logicItem.includeModel.eventCalendar.hasFutureEventsFromNow",
7
+ "@->value": false
8
+ },
9
+ {
10
+ "@->contentpath": "logicItem.includeModel.eventCalendar.months",
11
+ "@->value": {
12
+ "@->jsoninclude": "event/calendar/event_calendar_months.inc.json",
13
+ "@->contentpath": "onlyMonthsInPast"
14
+ }
15
+ },
16
+ {
17
+ "@->contentpath": "logicItem.includeModel.label",
18
+ "@->value": {
19
+ "@->jsoninclude": "teaser/teaser_labels.inc.json",
20
+ "@->contentpath": "eventLabelCalendar"
21
+ }
22
+ }
23
+ ]
24
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "@->jsoninclude": "teaser/teasers.inc.json",
3
+ "@->contentpath": "eventCalendarTeaser",
4
+ "@->overrides": [
5
+ {
6
+ "@->contentpath": "logicItem.includePath",
7
+ "@->value": "components/teaser/teaser_alternative"
8
+ },
9
+ {
10
+ "@->contentpath": "logicItem.includeModel.teaserSize",
11
+ "@->value": "100"
12
+ },
13
+ {
14
+ "@->contentpath": "logicItem.includeModel.label",
15
+ "@->value": {
16
+ "@->jsoninclude": "teaser/teaser_labels.inc.json",
17
+ "@->contentpath": "eventLabelCalendar"
18
+ }
19
+ }
20
+ ]
21
+ }
@@ -308,6 +308,27 @@
308
308
  ]
309
309
  }
310
310
  },
311
+ "event-teaser_100": {
312
+ "alttext": "Lorem ipsum",
313
+ "copyrightWithLinks": "",
314
+ "responsiveImage": {
315
+ "asPicture": true,
316
+ "asImage": false,
317
+ "fallback": "images/{#image}_v-16to9.jpg",
318
+ "sources": [
319
+ {
320
+ "media": "all and (min-width: 1024px)",
321
+ "sizes": "25rem",
322
+ "srcset": "images/{#image}_v-16to9__small.jpg 320w, images/{#image}_v-16to9__medium.jpg 480w, images/{#image}_v-16to9__medium__extended.jpg 640w, images/{#image}_v-16to9.jpg 960w, images/{#image}_v-16to9__retina.jpg 1920w"
323
+ },
324
+ {
325
+ "media": "all and (max-width: 1023px)",
326
+ "sizes": "(min-width: 640px) 25rem, 100vw",
327
+ "srcset": "images/{#image}_v-4to3__small.jpg 320w, images/{#image}_v-4to3__medium.jpg 480w, images/{#image}_v-4to3.jpg 650w, images/{#image}_v-4to3__retina.jpg 1300w"
328
+ }
329
+ ]
330
+ }
331
+ },
311
332
  "teaser_25": {
312
333
  "alttext": "Lorem ipsum",
313
334
  "copyrightWithLinks": "",
@@ -39,6 +39,18 @@
39
39
  "bylineText": "BylineText"
40
40
  }
41
41
  },
42
+ "eventLabelCalendar": {
43
+ "type": "event",
44
+ "loca": "label_event",
45
+ "byline": {
46
+ "bylineSsi": " ",
47
+ "bylineText": "BylineText"
48
+ }
49
+ },
50
+ "eventCalendar": {
51
+ "type": "eventCalendar",
52
+ "loca": "event_calendar_backlink"
53
+ },
42
54
  "program": {
43
55
  "type": "program",
44
56
  "loca": "label_program",
@@ -1820,5 +1820,36 @@
1820
1820
  "shorttext": "Gemeinsam mit Ihnen machen wir uns stark für die Natur und die Umwelt. Wir suchen Menschen, die sich dafür engagieren. Jetzt anmelden und unser Hessen noch schöner machen.",
1821
1821
  "showShorttext": true
1822
1822
  }
1823
+ },
1824
+ "eventCalendarTeaser": {
1825
+ "isSsi": true,
1826
+ "logicItem": {
1827
+ "includePath": "components/teaser/teaser_standard",
1828
+ "includeModel": {
1829
+ "teaserSize": "100",
1830
+ "realTeaserSize": "100",
1831
+ "title": "Konzertkalender",
1832
+ "eventCalendar": {
1833
+ "months": {
1834
+ "@->jsoninclude": "event/calendar/event_calendar_months.inc.json",
1835
+ "@->contentpath": "eventDate"
1836
+ },
1837
+ "hasSelectedEvents": true,
1838
+ "hasFutureEventsFromNow": true
1839
+ },
1840
+ "link": {
1841
+ "url": "/monatsuebersicht-100",
1842
+ "webviewUrl": "/monatsuebersicht-100#webview",
1843
+ "isTargetBlank": false,
1844
+ "hasIcon": false,
1845
+ "iconName": "iconName",
1846
+ "readMoreText": {
1847
+ "readMoreScreenreader": "Zum Artikel",
1848
+ "readMore": "mehr",
1849
+ "readMoreLong": "read More Long"
1850
+ }
1851
+ }
1852
+ }
1853
+ }
1823
1854
  }
1824
1855
  }
@@ -37,6 +37,12 @@
37
37
  --color-label-kurzmeldung: theme('colors.blue.tarawera');
38
38
  /* Dachzeile */
39
39
  --color-topline: #006dc1;
40
+ /* Event */
41
+ --color-event-status: theme('colors.red.thunderbird');
42
+ /* Eventkalender */
43
+ --color-label-event-calendar-title: theme('colors.teal.deeperPool');
44
+ --color-eventcalendar-primary: var(--color-primary);
45
+ --color-eventcalendar-secondary: theme('colors.grey.boulder');
40
46
  /* Subline */
41
47
  --color-subline: var(--color-topline);
42
48
  /* Link */
@@ -68,7 +74,7 @@
68
74
  --font-titleCluster: theme('fontFamily.headingSerif');
69
75
  --font-weight-titleCluster: theme('fontWeight.bold');
70
76
  /* Border Radius */
71
- --border-radius-hr: theme('borderRadius.none'); ;
77
+ --border-radius-hr: theme('borderRadius.none');
72
78
  }
73
79
 
74
80
  [data-theme='hessenschau'] {
@@ -97,6 +103,8 @@
97
103
  --color-label-pm: theme('colors.blue.deepCerulean');
98
104
  /* Kurzmeldung */
99
105
  --color-label-kurzmeldung: theme('colors.blue.tarawera');
106
+ /* Eventkalender */
107
+ --color-eventcalendar-primary: var(--color-primary);
100
108
  /* Dachzeile */
101
109
  --color-topline: #006dc1;
102
110
  /* Subline */
@@ -130,8 +138,8 @@
130
138
  --font-weight-title: theme('fontWeight.normal');
131
139
  --font-titleCluster: theme('fontFamily.headingSerif');
132
140
  --font-weight-titleCluster: theme('fontWeight.bold');
133
- /* Border */
134
- --border-radius-hr: theme('borderRadius.3xl');
141
+ /* Border */
142
+ --border-radius-hr: theme('borderRadius.3xl');
135
143
  }
136
144
 
137
145
  [data-theme='hr-fernsehen'] {
@@ -156,6 +164,8 @@
156
164
  --color-label-event: theme('colors.black.DEFAULT');
157
165
  /* Kurzmeldung */
158
166
  --color-label-kurzmeldung: theme('colors.blue.tarawera');
167
+ /* Eventkalender */
168
+ --color-eventcalendar-primary: var(--color-primary);
159
169
  /* Dachzeile */
160
170
  --color-topline: theme('colors.purple.jazzberry');
161
171
  /* Subline */
@@ -209,6 +219,8 @@
209
219
  --color-label-event: theme('colors.black.DEFAULT');
210
220
  /* Kurzmeldung */
211
221
  --color-label-kurzmeldung: theme('colors.blue.tarawera');
222
+ /* Eventkalender */
223
+ --color-eventcalendar-primary: var(--color-primary);
212
224
  /* Dachzeile */
213
225
  --color-topline: theme('colors.blue.jellyBean');
214
226
  /* Subline */
@@ -263,6 +275,8 @@
263
275
  --color-label-pm: theme('colors.blue.deepCerulean');
264
276
  /* Kurzmeldung */
265
277
  --color-label-kurzmeldung: theme('colors.blue.tarawera');
278
+ /* Eventkalender */
279
+ --color-eventcalendar-primary: theme('colors.blue.deepCerulean');
266
280
  /* Dachzeile */
267
281
  --color-topline: theme('colors.blue.deepCerulean');
268
282
  /* Subline */
@@ -317,6 +331,8 @@
317
331
  --color-label-pm: theme('colors.blue.deepCerulean');
318
332
  /* Kurzmeldung */
319
333
  --color-label-kurzmeldung: theme('colors.blue.tarawera');
334
+ /* Eventkalender */
335
+ --color-eventcalendar-primary: theme('colors.blue.deepCerulean');
320
336
  /* Dachzeile */
321
337
  --color-topline: theme('colors.blue.deepCerulean');
322
338
  /* Subline */
@@ -369,6 +385,8 @@
369
385
  --color-label-event: theme('colors.black.DEFAULT');
370
386
  /* Kurzmeldung */
371
387
  --color-label-kurzmeldung: theme('colors.blue.tarawera');
388
+ /* Eventkalender */
389
+ --color-eventcalendar-primary: var(--color-primary);
372
390
  /* Dachzeile */
373
391
  --color-topline: theme('colors.red.wellRead');
374
392
  /* Subline */
@@ -421,6 +439,8 @@
421
439
  --color-label-event: theme('colors.black.DEFAULT');
422
440
  /* Kurzmeldung */
423
441
  --color-label-kurzmeldung: theme('colors.blue.tarawera');
442
+ /* Eventkalender */
443
+ --color-eventcalendar-primary: var(--color-primary);
424
444
  /* Dachzeile */
425
445
  --color-topline: theme('colors.blue.teal');
426
446
  /* Subline */
@@ -475,6 +495,8 @@
475
495
  --color-label-pm: var(--color-primary);
476
496
  /* Kurzmeldung */
477
497
  --color-label-kurzmeldung: theme('colors.blue.tarawera');
498
+ /* Eventkalender */
499
+ --color-eventcalendar-primary: var(--color-primary);
478
500
  /* Dachzeile */
479
501
  --color-topline: var(--color-primary);
480
502
  /* Subline */
@@ -527,10 +549,14 @@
527
549
  --color-label-event: theme('colors.black.DEFAULT');
528
550
  /* Kurzmeldung */
529
551
  --color-label-kurzmeldung: theme('colors.blue.tarawera');
552
+ /* Event */
553
+ --color-event-status: theme('colors.purple.disco');
554
+ /* Eventkalender */
555
+ --color-eventcalendar-primary: theme('colors.blue.turquoiseCerulian');
530
556
  /* Dachzeile */
531
557
  --color-topline: theme('colors.yellow.olive');
532
558
  /* Subline */
533
- --color-subline: var(--color-topline);
559
+ --color-subline: theme('colors.yellow.olive');
534
560
  /* Link */
535
561
  --color-link: theme('colors.yellow.olive');
536
562
  /* Stage */
@@ -579,6 +605,8 @@
579
605
  --color-label-event: theme('colors.black.DEFAULT');
580
606
  /* Kurzmeldung */
581
607
  --color-label-kurzmeldung: theme('colors.blue.tarawera');
608
+ /* Eventkalender */
609
+ --color-eventcalendar-primary: theme('colors.red.paprika');
582
610
  /* Dachzeile */
583
611
  --color-topline: theme('colors.red.paprika');
584
612
  /* Subline */
@@ -632,6 +660,10 @@
632
660
  --color-label-event: theme('colors.black.DEFAULT');
633
661
  /* Kurzmeldung */
634
662
  --color-label-kurzmeldung: theme('colors.blue.tarawera');
663
+ /* Event */
664
+ --color-event-status: theme('colors.green.pineGreen');
665
+ /* Eventkalender */
666
+ --color-eventcalendar-primary: var(--color-primary);
635
667
  /* Dachzeile */
636
668
  --color-topline: var(--color-primary);
637
669
  /* Subline */
@@ -685,6 +717,10 @@
685
717
  --color-label-event: theme('colors.black.DEFAULT');
686
718
  /* Kurzmeldung */
687
719
  --color-label-kurzmeldung: theme('colors.blue.tarawera');
720
+ /* Event */
721
+ --color-event-status: theme('colors.red.alizarinCrimson');
722
+ /* Eventkalender */
723
+ --color-eventcalendar-primary: var(--color-primary);
688
724
  /* Dachzeile */
689
725
  --color-topline: theme('colors.green.eden');
690
726
  /* Subline */
@@ -715,7 +751,7 @@
715
751
  --font-title: theme('fontFamily.heading');
716
752
  --font-weight-title: theme('fontWeight.bold');
717
753
  /* Border */
718
- --border-radius-hr: theme('borderRadius.3xl');
754
+ --border-radius-hr: theme('borderRadius.3xl');
719
755
  }
720
756
 
721
757
  [data-theme='you-fm'] {
@@ -740,6 +776,8 @@
740
776
  --color-label-event: theme('colors.black.DEFAULT');
741
777
  /* Kurzmeldung */
742
778
  --color-label-kurzmeldung: theme('colors.blue.tarawera');
779
+ /* Eventkalender */
780
+ --color-eventcalendar-primary: var(--color-link);
743
781
  /* Dachzeile */
744
782
  --color-topline: var(--color-link);
745
783
  /* Subline */
@@ -10,6 +10,7 @@
10
10
  '_disableNoScript' don't add no script fallback
11
11
 
12
12
  --}}
13
+
13
14
  {{#withParam this.responsiveImage _type _variant }}
14
15
  {{#if this.asPicture}}
15
16
  <picture class="{{~#if ../_addClass}} {{../_addClass}}{{/if}}">
@@ -1,15 +1,3 @@
1
- {{#with this.link}}
2
- <a {{#with this.webviewUrl}}data-webviewurl="{{this}}"{{/with}} href="{{this.url}}" {{#with this.webviewUrl}}{{/with}}
3
- class="sb-link{{#if ../_css}} {{../_css}}{{/if}} {{#if ../this.content.isFileDownload}} js-load{{/if}}{{#if ../_isSelected}} {{defaultIfEmpty ../_selectedCssClass "-current"}}{{/if}}"
4
- {{#if ../_doNavigationTracking}}
5
- data-hr-click-tracking='{"settings": [{"type":"uxAction","secondLevelId": "1","clickLabel":"{{../_clickLabelType}}{{#if ../_clickLabelPrefix1}}::{{../_clickLabelPrefix1}}{{/if}}::{{../_clickLabelPrefix2}}-Link geklickt"}]}'
6
- {{/if}}
7
- {{#if ../this.content.isFileDownload}}
8
- {{#with this.content.trackingData}}data-hr-click-tracking='{"settings": [{"type":"download","secondLevelId": "{{this.secondLevelId}}","clickLabel": "{{this.pageName}}"}]}'{{/with}}
9
- {{/if}}
10
- {{#if this.isTargetBlank}} target="_blank" rel="noopener{{#if this.hasNoReferrerFlag}} noreferrer{{/if}}"{{/if}}
11
- {{#if ../_isAriaHidden}} aria-hidden="true" tabindex="-1"{{/if}}
12
- >
13
- {{/with}}
14
- {{~ decorator_body ~}}
15
- </a>
1
+ {{> components/base/link_open _clickLabelPrefix1=_clickLabelPrefix1 _clickLabelPrefix2=_clickLabelPrefix2 _clickLabelType=_clickLabelType _css=_css _doNavigationTracking=_doNavigationTracking _isAriaHidden=_isAriaHidden _isSelected=_isSelected _selectedCssClass=_selectedCssClass}}
2
+ {{~ decorator_body ~}}
3
+ </a>
@@ -0,0 +1,13 @@
1
+ {{#with this.link}}
2
+ <a {{#with this.webviewUrl}}data-webviewurl="{{this}}"{{/with}} href="{{this.url}}" {{#with this.webviewUrl}}{{/with}}
3
+ class="sb-link js-load{{#if ../_css}} {{../_css}}{{/if}} {{#if ../_isSelected}} {{defaultIfEmpty ../_selectedCssClass "-current"}}{{/if}}"
4
+ {{#if ../_doNavigationTracking}}
5
+ data-hr-click-tracking='{"settings": [{"type":"uxAction","secondLevelId": "1","clickLabel":"{{../_clickLabelType}}{{#if ../_clickLabelPrefix1}}::{{../_clickLabelPrefix1}}{{/if}}::{{../_clickLabelPrefix2}}-Link geklickt"}]}'
6
+ {{/if}}
7
+ {{#if ../this.isFileDownload}}
8
+ {{#with ../this.trackingData}}data-hr-click-tracking='{"settings": [{"type":"download","secondLevelId": "{{this.secondLevelId}}","clickLabel": "{{this.pageName}}"}]}'{{/with}}
9
+ {{/if}}
10
+ {{#if this.isTargetBlank}} target="_blank" rel="noopener{{#if this.hasNoReferrerFlag}} noreferrer{{/if}}"{{/if}}
11
+ {{#if ../_isAriaHidden}} aria-hidden="true" tabindex="-1"{{/if}}
12
+ >
13
+ {{/with}}
@@ -0,0 +1,12 @@
1
+
2
+ <span
3
+ class='px-4 py-2.5 border flex items-center font-heading
4
+ {{inline-switch
5
+ _type
6
+ '["hollow","hollow-white","inverted"]'
7
+ '["text-button-hollow border-button-hollow hover:bg-button-inverted","text-button-inverted border-button-inverted hover:bg-button-inverted hover:text-button-hollow hover:border-button-hollow","text-button fill-button border-button bg-button-inverted hover:bg-button hover:text-button-inverted hover:fill-button-inverted hover:border-button-hollow","text-button-inverted bg-button hover:bg-button-inverted hover:text-button-hollow hover:border-button-hollow"]'
8
+ }}
9
+ {{#if _css}} {{_css}}{{/if}}'
10
+ >
11
+ {{> @partial-block }}
12
+ </span>
@@ -0,0 +1,7 @@
1
+ <button{{#if _id}} id="{{_id}}"{{/if}} class="border flex items-center px-4 py-2.5 ds-button {{inline-switch
2
+ _type
3
+ '["hollow","hollow-white","inverted"]'
4
+ '["text-button-hollow border-button-hollow fill-button-hollow hover:bg-button-inverted","text-button-inverted border-button-inverted fill-button-inverted hover:bg-button-inverted hover:text-button-hollow hover:fill-button-hollow hover:border-button-hollow","text-button fill-button border-button bg-button-inverted hover:bg-button hover:text-button-inverted hover:fill-button-inverted hover:border-button-hollow","text-button-inverted fill-button-inverted bg-button hover:bg-button-inverted hover:text-button-hollow hover:border-button-hollow"]'
5
+ }}{{#if _css}} {{_css}}{{/if}}{{#if _openModal}} js-modalButton{{/if}}"{{#if _openModal}} aria-haspopup="true"{{/if}}>
6
+ {{> @partial-block }}
7
+ </button>
@@ -0,0 +1 @@
1
+ {{> components/base/image/icon _addClass=(appendToDefault _css "w-4 h-4 fill-inherit ") _icon=_icon _iconmap=_iconmap}}
@@ -0,0 +1 @@
1
+ <span class="{{#if _css}} {{_css}}{{/if}}">{{_label}}</span>
@@ -0,0 +1,3 @@
1
+ {{> components/base/link_open _css=(appendToDefault _css "ds-link") _isAriaHidden=_isAriaHidden}}
2
+ {{> @partial-block }}
3
+ </a>
@@ -14,7 +14,7 @@
14
14
  @resize.window="if(window.innerWidth > 767){contentNavDropdownIsOpen = false}; $dispatch('hr:global:resetinputAutoSuggest')"
15
15
  {{/if}}
16
16
  >
17
- <span class="self-center w-full p-2 text-base leading-4 text-left">{{_buttonText}}</span>
17
+ <span class="self-center w-full px-2 pt-1 text-base leading-4 text-left">{{_buttonText}}</span>
18
18
  <div class="flex self-center w-auto h-full border-l border-content-nav">
19
19
  <span :class="{'hidden' : contentNavDropdownIsOpen}"
20
20
  class="flex self-center px-3 py-3"
@@ -23,7 +23,7 @@
23
23
  </span>
24
24
 
25
25
  <span>
26
- {{>components/base/image/icon _icon="arrow-right" _addClass="h-4 w-4 ml-2 inline" }}
26
+ {{>components/base/image/icon _icon="arrow-right" _addClass="fill-current pb-0.5 h-4 w-4 ml-2 inline" }}
27
27
  </span>
28
28
 
29
29
  {{/decorator}}
@@ -0,0 +1 @@
1
+ <span class="font-bold uppercase">{{this.name}}</span>{{#with this.role}} | <span>{{this}}</span>{{/with}}
@@ -0,0 +1,3 @@
1
+ <div class="flex flex-col border-event-calendar-secondary border gap-x-4">
2
+ {{> @partial-block }}
3
+ </div>
@@ -0,0 +1,161 @@
1
+ import { ArgsTable, Meta, Story, Canvas, Preview } from '@storybook/addon-docs'
2
+ import eventCalendarHeading from './event_calendar_heading.hbs'
3
+ import eventCalendarNav from './event_calendar_nav.hbs'
4
+ import eventCalendarContent from './event_calendar_event_teaser.hbs'
5
+ import eventCalendarFooter from './event_calendar_footer.hbs'
6
+ import teaserEventCalendar100Serif from '../../teaser/fixtures/teaser_event_calendar_100_serif.json'
7
+ import eventCalendarEventTeaserData from './fixtures/event_calendar_event_teaser.json'
8
+ import eventCalendarFooterData from './fixtures/event_calendar_footer.json'
9
+
10
+ <Meta
11
+ title="Komponenten/Teaser/Eventkalender/Komponenten"
12
+ parameters={{
13
+ layout: 'fullscreen',
14
+ }}
15
+ decorators={[
16
+ (Story) => {
17
+ return `<div class="grid grid-page"><div class="grid grid-cols-12 py-6 col-full gap-x-6 gap-y-6 sm:px-8 sm:col-main"><div class="col-span-12">
18
+ ${Story()}
19
+ </div></div></div>`
20
+ },
21
+ ]}
22
+ />
23
+
24
+ export const TemplateEventCalendarHeading = (args, { globals: { customConditionalToolbar } }) => {
25
+ // You can either use a function to create DOM elements or use a plain html string!
26
+ // return `<div>${label}</div>`;
27
+ let brand =
28
+ undefined !== customConditionalToolbar ? customConditionalToolbar['brands'] : 'hessenschau'
29
+ return eventCalendarHeading({ brand, ...args })
30
+ }
31
+
32
+ export const TemplateEventCalendarNav = (args, { globals: { customConditionalToolbar } }) => {
33
+ // You can either use a function to create DOM elements or use a plain html string!
34
+ // return `<div>${label}</div>`;
35
+ let brand =
36
+ undefined !== customConditionalToolbar ? customConditionalToolbar['brands'] : 'hessenschau'
37
+ return eventCalendarNav({ brand, ...args })
38
+ }
39
+
40
+ export const TemplateEventCalendarContent = (args, { globals: { customConditionalToolbar } }) => {
41
+ // You can either use a function to create DOM elements or use a plain html string!
42
+ // return `<div>${label}</div>`;
43
+ let brand =
44
+ undefined !== customConditionalToolbar ? customConditionalToolbar['brands'] : 'hessenschau'
45
+ return eventCalendarContent({ brand, ...args })
46
+ }
47
+
48
+ export const TemplateEventCalendarFooter = (args, { globals: { customConditionalToolbar } }) => {
49
+ // You can either use a function to create DOM elements or use a plain html string!
50
+ // return `<div>${label}</div>`;
51
+ let brand =
52
+ undefined !== customConditionalToolbar ? customConditionalToolbar['brands'] : 'hessenschau'
53
+ return eventCalendarFooter({ brand, ...args })
54
+ }
55
+
56
+ # Standard-Teaser
57
+
58
+ ## Beschreibung
59
+
60
+ Der Standard-Teaser besteht aus 2 Hauptelemente: <b>Bild</b> und <b>Text</b> (Label, Dachzeile, Titel, Teasertext, Zusatzinformationen)
61
+
62
+ <b>Standard 33 Single Event:</b> <br />
63
+ Desktop = Text unter dem Bild <br />
64
+ Mobile = Text unter dem Bild mit Teasertext <br />
65
+
66
+ <b>Standard 33 Two Events:</b> <br />
67
+ Desktop = Text unter dem Bild <br />
68
+ Mobile = Text unter dem Bild mit Teasertext <br />
69
+
70
+ <b>Standard 33 Multiple Events:</b> <br />
71
+ Desktop = Text unter dem Bild <br />
72
+ Mobile = Text unter dem Bild mit Teasertext <br />{' '}
73
+
74
+ ## Sub-Komponenten
75
+
76
+ Die Standard-Teaser-Komponente inkludiert folgende Komponenten:
77
+
78
+ <ul>
79
+ <li>
80
+ components/teaser/components/<b>teaser_lead</b>
81
+ </li>
82
+ <li>
83
+ components/base/<b>link</b>
84
+ </li>
85
+ <li>
86
+ components/teaser/components/<b>teaser_heading</b>
87
+ </li>
88
+ <li>
89
+ components/teaser/components/<b>teaser_text</b>
90
+ </li>
91
+ <li>
92
+ components/teaser/components/<b>teaser_byline</b>
93
+ </li>
94
+ </ul>
95
+
96
+ ## Verwendung
97
+
98
+ Die Standard-Teaser-Komponente wird in handlebars wie folgt eingebaut:
99
+
100
+ ```html
101
+ {{> components/teaser/teaser_standard_event}}
102
+ ```
103
+
104
+ <Preview withToolbar>
105
+ <Story
106
+ name="Heading"
107
+ argTypes={{
108
+ title: {
109
+ description: 'Überschrift',
110
+ table: {
111
+ defaultValue: {
112
+ summary: 'Eventkalender',
113
+ },
114
+ },
115
+ },
116
+ }}
117
+ args={{ title: 'Eventkalender' }}
118
+ >
119
+ {TemplateEventCalendarHeading.bind({})}
120
+ </Story>
121
+ <Story
122
+ name="Navigation"
123
+ args={teaserEventCalendar100Serif.logicItem.includeModel.eventCalendar.months}
124
+ >
125
+ {TemplateEventCalendarNav.bind({})}
126
+ </Story>
127
+ <Story
128
+ name="Inhalt"
129
+ argTypes={{
130
+ statusDescriptionForLabelShort: {
131
+ control: {
132
+ type: 'select',
133
+ labels: {
134
+ event_status_cancelled: 'Abgesagt!',
135
+ event_status_rescheduled: 'Verschoben!',
136
+ event_status_moved_online_short: 'Als Livestream',
137
+ event_status_gets_update: 'Wird aktualisiert!',
138
+ },
139
+ options: [
140
+ 'event_status_cancelled',
141
+ 'event_status_rescheduled',
142
+ 'event_status_moved_online_short',
143
+ 'event_status_gets_update',
144
+ ],
145
+ },
146
+ description: 'Status des Events',
147
+ table: {
148
+ defaultValue: {
149
+ summary: 'event_status_cancelled',
150
+ },
151
+ },
152
+ },
153
+ }}
154
+ args={{ ...eventCalendarEventTeaserData, _withConcertInfo: false, _showTeaser: true }}
155
+ >
156
+ {TemplateEventCalendarContent.bind({})}
157
+ </Story>
158
+ <Story name="Footer" args={eventCalendarFooterData}>
159
+ {TemplateEventCalendarFooter.bind({})}
160
+ </Story>
161
+ </Preview>
@@ -0,0 +1,18 @@
1
+ <div class="js-fr-content">
2
+ {{#each this.months}}
3
+ {{#each this.days}}
4
+ {{#each this.instants}}
5
+ {{#unless this.isDateInstant}}
6
+ {{> components/event/calendar/event_calendar_event_teaser _showTeaser=../this.isFirstAvailable _withConcertInfo=../../../_withConcertInfo}}
7
+ {{/unless}}
8
+ {{/each}}
9
+ {{/each}}
10
+ {{/each}}
11
+ {{#unless this.hasFutureEventsFromNow}}
12
+ <article class="p-4 js-fr-error-target">
13
+ <p class="">
14
+ {{loca "event_calendar_no_events_available"}}
15
+ </p>
16
+ </article>
17
+ {{/unless}}
18
+ </div>
@@ -0,0 +1,60 @@
1
+ <article id="{{this.startDate.htmlDate}}" class="flex col-span-12 md:flex-row gap-y-3 gap-x-4 md:px-0 js-fr-target{{#unless @first}} border-t border-event-calendar-secondary{{/unless}}{{#unless _showTeaser}} hidden{{/unless}}" x-data="{ avStart: false }">
2
+ <div class="border-none h-full">
3
+ <div class="relative">
4
+ <div class="flex flex-col items-stretch sm:flex-row">
5
+ <div class="flex basis-full w-full order-2 py-1 sm:basis-7/12 sm:w-7/12 sm:order-1">
6
+ <div class="flex flex-col basis-2/12 w-2/12 align-top items-center justify-center px-4 py-3 border-dotted border-r border-event-calendar-secondary">
7
+ {{#with this.startDate}}
8
+ <span class='text-base font-serif'>{{this.weekdayNameShort}}</span>
9
+ <span class='text-3xl font-serif font-bold'>{{this.day}}</span>
10
+ <span class='text-base font-serif'>{{this.monthNameShort}}</span>
11
+ {{/with}}
12
+ </div>
13
+ <div class="flex flex-col items-start basis-10/12 w-10/12">
14
+ <div class="absolute top-0 left-0 w-full sm:static">
15
+ <div class="ar-4-3 sm:ar-auto">
16
+ <header class="absolute bottom-0 left-0 p-4 sm:pt-3 sm:pb-2 bg-white opacity-80 sm:static sm:bg-transparent">
17
+ {{#decorator 'components/base/link' _css="ds-teaser-focus hover:text-toplineColor" }}
18
+ {{#> components/teaser/components/teaser_header}}
19
+ {{#with this.label}}
20
+ {{#> components/label/label_group}}
21
+ {{> components/label/label_test _type=this.type _text=(loca this.loca) _css="mr-2"}}
22
+ {{#if ../this.hasStatus}}
23
+ {{> components/event/event_status _status=(loca ../this.statusDescriptionForLabelShort)}}
24
+ {{/if}}
25
+ {{/components/label/label_group}}
26
+ {{/with~}}
27
+ {{#> components/teaser/components/teaser_headline _headlineTag="h3"}}
28
+ {{#if this.topline}}
29
+ {{> components/teaser/components/teaser_topline _text=this.topline}}
30
+ {{/if}}
31
+ {{> components/teaser/components/teaser_title_test _text=this.title _css="text-2xl"}}
32
+ {{> components/event/event_tags this.eventtags}}
33
+ {{/components/teaser/components/teaser_headline}}
34
+ {{/components/teaser/components/teaser_header}}
35
+ {{/decorator}}
36
+ </header>
37
+ </div>
38
+ </div>
39
+ {{> components/event/event_details this}}
40
+ {{#with this.ticketLink}}
41
+ {{> components/event/event_ticket_button}}
42
+ {{/with}}
43
+ </div>
44
+ </div>
45
+ <figure class="basis-full w-full order-1 sm:basis-5/12 sm:w-5/12 sm:order-2 ar-4-3 sm:ar-16-9">
46
+ {{> components/base/image/responsive_image this.image _type="event-teaser" _variant="100" _addClass="w-full"}}
47
+ </figure>
48
+ </div>
49
+ </div>
50
+ {{#if _withConcertInfo}}
51
+ {{#with this.concertInfo}}
52
+ {{#unless this.isEmpty}}
53
+ <div class="flex flex-col grow-0 shrink basis-full py-7 w-full border-event-calendar-secondary border-t border-dotted">
54
+ {{> components/event/concert_info}}
55
+ </div>
56
+ {{/unless}}
57
+ {{/with}}
58
+ {{/if}}
59
+ </div>
60
+ </article>