hr-design-system-handlebars 0.93.1 → 0.95.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 (23) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/assets/index.css +17 -5
  3. package/dist/assets/vendor/js/podcast_player.alpine.js +1 -2
  4. package/dist/views/components/teaser/group_teaser/group_teaser.hbs +1 -1
  5. package/dist/views/components/teaser/podcast/podcast-playlist.hbs +1 -1
  6. package/dist/views/components/teaser/podcast/podcast.hbs +2 -2
  7. package/dist/views/components/teaser/podcast/podcast_player.hbs +9 -9
  8. package/dist/views/components/teaser/podcast/podcast_player_ui.hbs +4 -3
  9. package/dist/views/components/teaser/podcast/podcast_playlist_player.hbs +1 -1
  10. package/dist/views/components/teaser/podcast/podcast_timedisplay.hbs +1 -1
  11. package/package.json +1 -1
  12. package/src/assets/fixtures/teaser/teaser_podcast_50.json +10 -0
  13. package/src/assets/vendor/js/podcast_player.alpine.js +1 -2
  14. package/src/stories/views/components/teaser/fixtures/teaser_podcast_50.json +1 -0
  15. package/src/stories/views/components/teaser/group_teaser/group_teaser.hbs +1 -1
  16. package/src/stories/views/components/teaser/podcast/podcast-playlist.hbs +1 -1
  17. package/src/stories/views/components/teaser/podcast/podcast.hbs +2 -2
  18. package/src/stories/views/components/teaser/podcast/podcast.stories.mdx +5 -1
  19. package/src/stories/views/components/teaser/podcast/podcast_player.hbs +9 -9
  20. package/src/stories/views/components/teaser/podcast/podcast_player_ui.hbs +4 -3
  21. package/src/stories/views/components/teaser/podcast/podcast_playlist_player.hbs +1 -1
  22. package/src/stories/views/components/teaser/podcast/podcast_timedisplay.hbs +1 -1
  23. package/tailwind.config.js +3 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,27 @@
1
+ # v0.95.0 (Thu Dec 01 2022)
2
+
3
+ #### 🚀 Enhancement
4
+
5
+ - Pocast delivery integration fixes v3 [#408](https://github.com/mumprod/hr-design-system-handlebars/pull/408) ([@vascoeduardo](https://github.com/vascoeduardo))
6
+
7
+ #### Authors: 1
8
+
9
+ - Vasco ([@vascoeduardo](https://github.com/vascoeduardo))
10
+
11
+ ---
12
+
13
+ # v0.94.0 (Wed Nov 30 2022)
14
+
15
+ #### 🚀 Enhancement
16
+
17
+ - Delete not needed param and add mt-12 to safeList to be sure the css-… [#407](https://github.com/mumprod/hr-design-system-handlebars/pull/407) ([@mariokinzel](https://github.com/mariokinzel))
18
+
19
+ #### Authors: 1
20
+
21
+ - [@mariokinzel](https://github.com/mariokinzel)
22
+
23
+ ---
24
+
1
25
  # v0.93.1 (Wed Nov 30 2022)
2
26
 
3
27
  #### 🐛 Bug Fix
@@ -797,6 +797,9 @@ video {
797
797
  margin-left: 0.25rem;
798
798
  margin-right: 0.25rem;
799
799
  }
800
+ .mt-12 {
801
+ margin-top: 3rem;
802
+ }
800
803
  .mt-6 {
801
804
  margin-top: 1.5rem;
802
805
  }
@@ -1058,14 +1061,17 @@ video {
1058
1061
  .w-9 {
1059
1062
  width: 2.25rem;
1060
1063
  }
1061
- .w-24 {
1062
- width: 6rem;
1064
+ .w-22 {
1065
+ width: 5.5rem;
1063
1066
  }
1064
1067
  .w-fit {
1065
1068
  width: -webkit-fit-content;
1066
1069
  width: -moz-fit-content;
1067
1070
  width: fit-content;
1068
1071
  }
1072
+ .w-24 {
1073
+ width: 6rem;
1074
+ }
1069
1075
  .w-0 {
1070
1076
  width: 0px;
1071
1077
  }
@@ -2253,7 +2259,7 @@ video {
2253
2259
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
2254
2260
  }
2255
2261
  .counter-reset {
2256
- counter-reset: cnt1669814302552;
2262
+ counter-reset: cnt1669895465574;
2257
2263
  }
2258
2264
  .line-clamp-4 {
2259
2265
  overflow: hidden;
@@ -2639,7 +2645,7 @@ video {
2639
2645
  --tw-ring-color: rgba(255, 255, 255, 0.5);
2640
2646
  }
2641
2647
  .-ordered {
2642
- counter-increment: cnt1669814302552 1;
2648
+ counter-increment: cnt1669895465574 1;
2643
2649
  }
2644
2650
  .-ordered::before {
2645
2651
  position: absolute;
@@ -2655,7 +2661,7 @@ video {
2655
2661
  letter-spacing: .0125em;
2656
2662
  --tw-text-opacity: 1;
2657
2663
  color: rgba(0, 0, 0, var(--tw-text-opacity));
2658
- content: counter(cnt1669814302552);
2664
+ content: counter(cnt1669895465574);
2659
2665
  }
2660
2666
  .\[-T\:\+Z\] {
2661
2667
  --t: +Z;
@@ -3349,6 +3355,12 @@ video {
3349
3355
  display: none;
3350
3356
  }
3351
3357
  }
3358
+ @media (min-width: 360px) {
3359
+
3360
+ .xs\:w-24 {
3361
+ width: 6rem;
3362
+ }
3363
+ }
3352
3364
  @media (min-width: 640px) {
3353
3365
 
3354
3366
  .sm\:mx-0 {
@@ -56,8 +56,7 @@ export default function playaudio(){
56
56
  },
57
57
 
58
58
  updateCurrentTime(range,timeDisplay,newTime, id) {
59
-
60
- timeDisplay.querySelector('#currentTime').innerHTML = this.fancyTimeFormat(newTime, false)
59
+ timeDisplay.querySelector('.js-currentTime').innerHTML = this.fancyTimeFormat(newTime, false)
61
60
  range.style.background = 'linear-gradient(to right, #006dc1 ' + (range.value/10) + '%, white ' + (range.value/10) + '% )'
62
61
  range.value = ((100 * newTime) / this.playlist[id].audioElement.duration) * 10
63
62
  },
@@ -1,4 +1,4 @@
1
- {{#>components/grid/grid_group size=this.teaserSize _backgroundColor=this.backgroundColor }}
1
+ {{#>components/grid/grid_group _backgroundColor=this.backgroundColor }}
2
2
  {{~#if this.hasGroupTitle}}
3
3
  <h2 class="text-2xl md:text-4xl col-span-full py-0 font-headingSerif {{#if this.backgroundColor}} text-center{{else}} headline-barrier{{/if}}">
4
4
  {{~#if this.hasLink}}<a class="no-underline hover:underline decoration-1 md:decoration-2 text-blue-science" href="{{this.link.url}}">{{/if~}}
@@ -1,4 +1,4 @@
1
1
 
2
- <div id="4" class="grid gap-y-6 relative gap-x-4 flex-col pt-5 mx-0 md:pt-5 bg-blue-accented rounded-tl-3xl rounded-br-3xl col-span-12 {{inline-switch this.teaserSize '["50"]' '["md:col-span-6"," "]'}}" >
2
+ <div id="4" class="grid gap-y-6 relative gap-x-4 flex-col pt-5 mx-5 sm:mx-0 md:pt-5 bg-blue-accented rounded-tl-3xl rounded-br-3xl col-span-12{{inline-switch this.teaserSize '["50"]' '[" md:col-span-6",""]'}}" >
3
3
  {{> components/teaser/podcast/podcast_playlist_player _linkTitle="true" _isSinglePage=false _type="podcastPlaylistPlayerTeaser" }}
4
4
  </div>
@@ -1,3 +1,3 @@
1
- <div class="grid gap-y-6 relative gap-x-4 flex-col pt-5 mx-0 md:pt-5 bg-blue-accented rounded-tl-3xl rounded-br-3xl col-span-12 {{~inline-switch this.teaserSize '["50"]' '[" md:col-span-6",""]'}}" >
2
- {{> components/teaser/podcast/podcast_player _linkTitle="true" _isSinglePage=true _type="podcastEpisodePlayerTeaser" }}
1
+ <div class="relative grid flex-col col-span-12 mx-5 sm:mx-0 gap-y-6 gap-x-4 bg-blue-accented rounded-tl-3xl rounded-br-3xl{{inline-switch this.teaserSize '["50"]' '[" md:col-span-6",""]'}}" >
2
+ {{> components/teaser/podcast/podcast_player _linkTitle="true" _isSinglePage=true _teaserSize=this.teaserSize _type="podcastEpisodePlayerTeaser" }}
3
3
  </div>
@@ -1,7 +1,7 @@
1
- <div class="flex col-span-12">
1
+ <div class="flex col-span-12 p-5">
2
2
  <div class="flex flex-col grow">
3
3
  {{!-- First Row --}}
4
- <div class="flex flex-row px-5 md:pl-5 {{#if ../_ordered}} pl-8 {{/if}} ">
4
+ <div class="flex flex-row {{#if ../_ordered}} pl-8 {{/if}} ">
5
5
  <div class="flex flex-col grow">
6
6
  <div class="flex max-h-6">
7
7
  {{!-- Label / Airdate --}}
@@ -35,13 +35,13 @@
35
35
 
36
36
  {{!-- Podcast Image --}}
37
37
  <div class="flex flex-col ">
38
- <div class="w-24 md:w-42">
38
+ <div class="w-22 xs:w-24 {{inline-switch _teaserSize '["50"]' '["","md:w-42"]'}}">
39
39
  {{> components/base/image/responsive_image this.teaseritem
40
40
  _type="podcastEpisodePlayer"
41
41
  _variant="default"
42
42
  _addClass="overflow-hidden"
43
43
  _noDelay=this.dontLazyload
44
- _addClassImg="w-full h-24 md:h-42 block"
44
+ _addClassImg="w-full block"
45
45
  }}
46
46
  </div>
47
47
  </div>
@@ -49,7 +49,7 @@
49
49
  </div>
50
50
 
51
51
  {{!-- Player UI --}}
52
- <div class="flex px-5 md:pl-5 md:pr-52 md:-mt-14"
52
+ <div class="flex {{inline-switch _teaserSize '["50"]' '["","md:pr-52 md:-mt-14"]'}}"
53
53
  x-data="playaudio()"
54
54
  x-init="listenToGlobalStop()"
55
55
  ax-load
@@ -64,16 +64,16 @@
64
64
  </div>
65
65
 
66
66
  {{!-- Abo-Dropdown --}}
67
- <div class="flex flex-row p-5 md:pr-0">
67
+ <div class="flex flex-row pt-5">
68
68
  {{#with this.podcastChannel}}
69
69
  {{> components/teaser/podcast/podcast_subscribe_button}}
70
70
  {{/with}}
71
71
 
72
72
  {{#with this.podcastChannel}}
73
73
  {{!-- Sendungs-Link --}}
74
- <div class="flex justify-end w-full pl-4 md:pr-52">
75
- <div class="flex flex-wrap self-end text-xs font-heading text-blue-science">
76
- <span class="flex pr-2 font-bold whitespace-nowrap">Zur Sendung: </span>
74
+ <div class="flex justify-end w-full pl-4">
75
+ <div class="flex flex-col flex-wrap self-end text-xs font-heading text-blue-science">
76
+ <span class="self-end font-bold">Zur Sendung</span>
77
77
  <a class="underline" href="{{this.url}}">{{this.title}}</a>
78
78
  </div>
79
79
  </div>
@@ -58,9 +58,10 @@
58
58
  <div x-init="setTime( '{{_podcastDuration}}', '{{_id}}' ); " class="flex w-full">
59
59
  {{> components/teaser/podcast/podcast_timedisplay
60
60
  _id=_id
61
+ _duration=duration
61
62
  _currentTimeClasses="font-bold text-orange-layout"
62
63
  _durationClasses="text-blue-science"
63
- _containerCss="flex text-xs grow font-headingSerif" }}
64
+ _containerCss="flex text-sm grow font-heading" }}
64
65
  </div>
65
66
  {{/if}}
66
67
  </div>
@@ -70,11 +71,11 @@
70
71
  {{!-- Meta Time usw. --}}
71
72
  <div x-init="setTime( '{{_podcastDuration}}', '{{_id}}' ); " >
72
73
  {{> components/teaser/podcast/podcast_timedisplay
74
+ _id=_id
73
75
  _duration=duration
74
76
  _currentTimeClasses="font-bold text-orange-layout"
75
77
  _durationClasses="text-blue-science"
76
- _id=_id
77
- _containerCss="pl-16 -mt-3 flex text-xs grow font-headingSerif"}}
78
+ _containerCss="pl-16 -mt-3 flex text-sm grow font-heading"}}
78
79
  </div>
79
80
  {{/unless}}
80
81
 
@@ -68,7 +68,7 @@
68
68
  ax-load-src={{resourceUrl "assets/js/vendor/podcast_player.alpine.js" }}>
69
69
  {{#with this.playlistItems}}
70
70
  {{#each this}}
71
- <div class="flex pb-5 border-b {{#unless @last}}border-white{{/unless}}" >
71
+ <div class="flex pb-5 {{#unless @last}}border-white border-b{{/unless}}" >
72
72
  {{> components/teaser/podcast/podcast_player_ui
73
73
  _isPlaylistPlayer=true
74
74
  _podcastDuration=duration
@@ -1,5 +1,5 @@
1
1
  <div id="timedisplay{{_id}}" class="{{_containerCss}}">
2
- <span class="{{_currentTimeClasses}} js-currentTime" id="currentTime" >00:00</span>
2
+ <span class="{{_currentTimeClasses}} js-currentTime" id="currentTime" >0:00</span>
3
3
  <span class="{{_durationClasses}} px-0.5"> / </span>
4
4
  <span class="{{_durationClasses}} js-audioDuration" id="audioDurationFancy">{{_duration}}</span>
5
5
  </div>
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "license": "MIT",
7
7
  "main": "dist/index.js",
8
8
  "repository": "https://github.com/szuelch/hr-design-system-handlebars",
9
- "version": "0.93.1",
9
+ "version": "0.95.0",
10
10
  "scripts": {
11
11
  "test": "echo \"Error: no test specified\" && exit 1",
12
12
  "storybook": "start-storybook -p 6006 public",
@@ -0,0 +1,10 @@
1
+ {
2
+ "@->jsoninclude": "teaser/teasers.inc.json",
3
+ "@->contentpath": "teaser_podcast_episode",
4
+ "@->overrides": [
5
+ {
6
+ "@->contentpath": "logicItem.includeModel.teaserSize",
7
+ "@->value": "50"
8
+ }
9
+ ]
10
+ }
@@ -56,8 +56,7 @@ export default function playaudio(){
56
56
  },
57
57
 
58
58
  updateCurrentTime(range,timeDisplay,newTime, id) {
59
-
60
- timeDisplay.querySelector('#currentTime').innerHTML = this.fancyTimeFormat(newTime, false)
59
+ timeDisplay.querySelector('.js-currentTime').innerHTML = this.fancyTimeFormat(newTime, false)
61
60
  range.style.background = 'linear-gradient(to right, #006dc1 ' + (range.value/10) + '%, white ' + (range.value/10) + '% )'
62
61
  range.value = ((100 * newTime) / this.playlist[id].audioElement.duration) * 10
63
62
  },
@@ -0,0 +1 @@
1
+ {"isSsi":true,"logicItem":{"includePath":"components/teaser/podcast/podcast","includeModel":{"byline":"Byline","title":"\"Ich höre bei jedem Geräusch gleich die Tonhöhe\" | Komponist und Theatermacher Heiner Goebbels erneuert das Musiktheater","topline":"","headingFontVariant":"serif","extendedTitle":"","teaserType":"standard-ds","teaserSize":"50","isMobile1to1":false,"airdateDate":{"htmlDateTime":"2022-10-31T19:30+0200","htmlDate":"31.10.2022","date":"31.10.22","dateSeparatorTime":"31.10.22, 19:30"},"teaseritem":{"copyrightWithLinks":"","responsiveImage":{"asPicture":false,"asImage":true,"fallback":"images/heiner-goebbels-102_v-1to1__medium.jpg","sources":[{"sizes":"300px","srcset":"images/heiner-goebbels-102_v-1to1__small.jpg 380w, images/heiner-goebbels-102_v-1to1__medium.jpg 480w, images/heiner-goebbels-102_v-1to1.jpg 720w, images/heiner-goebbels-102_v-1to1__large.jpg 960w"}]}},"duration":"53:13","teaserInfo":{"showTeaserInfo":true,"showTeaserInfoSection":true,"showTeaserInfoChannel":true,"showTeaserInfoAll":true,"showTeaserInfoDate":false,"showTeaserInfoDateTime":true,"showTeaserInfoProgramRef":true},"podcastChannel":{"title":"hr2 Doppelkopf","url":"#ChannelURL","podcastHoster":[{"podcastHosterUrl":"https://podcasts.apple.com/podcast/hr2-doppelkopf/id212822590","podcastHosterName":"ITunes"},{"podcastHosterUrl":"https://podcast.hr.de/hr2_doppelkopf/podcast.xml","podcastHosterName":"RSS"},{"podcastHosterUrl":"https://podcasts.google.com/feed/aHR0cHM6Ly9wb2RjYXN0LmhyLmRlL2hyMl9kb3BwZWxrb3BmL3BvZGNhc3QueG1s?hl=de","podcastHosterName":"Google Podcasts"},{"podcastHosterUrl":"https://www.ardaudiothek.de/episode/hr2-doppelkopf/ich-hoere-bei-jedem-geraeusch-gleich-die-tonhoehe-oder-komponist-und-theatermacher-heiner-goebbels-erneuert-das-musiktheater/hr2-kultur/12056783/","podcastHosterName":"ARD Audiothek"}]},"audioUrl":"https://mp3podcasthrdl-a.akamaihd.net/mp3/podcast/hr2_doppelkopf/hr2_doppelkopf_20221031_96251016.mp3","podcastDownloadUrl":"https://mp3podcasthrdl-a.akamaihd.net/mp3/podcast/hr2_doppelkopf/hr2_doppelkopf_20221031_96251016.mp3","teaserImage":{"copyrightWithLinks":"","responsiveImage":{"asPicture":false,"asImage":true,"fallback":"images/heiner-goebbels-102_v-1to1__medium.jpg","sources":[{"sizes":"300px","srcset":"images/heiner-goebbels-102_v-1to1__small.jpg 380w, images/heiner-goebbels-102_v-1to1__medium.jpg 480w, images/heiner-goebbels-102_v-1to1.jpg 720w, images/heiner-goebbels-102_v-1to1__large.jpg 960w"}]}},"documentSection":"Kultur","displayTeaserBodyAsImageOverlay":false,"hasMediaButtons":false,"dontLazyload":true,"isStandardTeaser":false,"isHeroTeaser":true,"isMediaTeaser":false,"isGuide":false,"isProgram":false,"isEvent":false,"isTicker":false,"isAudio":false,"isVideo":false,"isPodcastEpisode":true,"isExtOrBrandLink":false,"isAuthor":false,"copyright":"Copyright Text","audioAuthor":"Stefan Fricke","hasStatus":false,"hasTeaserItem":true,"allowAVConsumption":false,"displayEpgInfos":false,"aspectRatio":"ar--teaserTop","hideGeotag":false,"hideEditableByline":true,"doTracking":true,"trackingForArdMediatheksLink":false,"showMediatheksLink":false,"showAirdate":true,"showProfileInfoAsByline":false,"obsolet_brandOfTeaser":"hessenschau","headlineTag":"h2","icon":"ortsmarke","imageVariant":"topteaser","hideShortText":false,"shorttext":"Bla ..... Vor einem Jahr wurde die syrische Familie Kheder aus Wolfhagen abgeschoben. Die Gemeinde setzte alle Hebel in Bewegung, um Mutter, Tochter und Sohn zurückzuholen. Im Fall der Kinder hat das nun zu einem Happy End geführt. Doch ihre liebe Mutter fehlt.","sophoraId":"rueckkehr-nach-abschiebung-wolfhagen--100","profiles":"Von Alf Haubitz und Alice Merton","teaserLead":{"isPodcast":true,"toModel":{"audioElement":{"isPodcast":true,"ardPlayerConfig":{"playerConfig":{"generic":{"isAutoplay":true,"imageTemplateConfig":{"size":[{"minWidth":0,"value":"480/270"},{"minWidth":480,"value":"640/360"},{"minWidth":640,"value":"960/540"},{"minWidth":960,"value":"1920/1080"}]}},"web":{"baseUrl":"http://localhost:8080/site/hessenschau/assets_2.85.0/vendor/ardplayer/","isForcedAutoplay":true,"isForcedVideoView":true},"pluginData":{"trackingAti@all":{"site":"551103","config":{"getCollectDomainSSL":"logs1406.xiti.com","secure":true},"page":{"name":"muslim_fashion__mehr_als_ein_kopftuch__podcast:audio:audioPlay","level2":"4","chapter1":"Audio-Start","chapter2":"OnDemand","customVars":{"site":{"1":"podcast-episode-43976","2":"hr-nt:podcastEpisode","5":"202203230802"}}},"richMedia":{"mediaType":"audio","playerId":"4076","mediaLevel2":"4","mediaLabel":"muslim_fashion__mehr_als_ein_kopftuch__podcast:audioPlay","mediaTheme1":"OnDemand","duration":"3040","broadcastMode":"clip"}}}},"mediaCollection":{"streams":[{"kind":"main","isAudioOnly":true,"media":[{"url":"https://mp3podcasthr-a.akamaihd.net/mp3/podcast/derTag/derTag_20190320_81142988.mp3","mimeType":"audio/mp3","audios":[{"kind":"standard","languageCode":"de"}]}]}],"meta":{"durationSeconds":3040,"images":[{"kind":"preview","url":"https://picsum.photos/id/101/{size}"}],"title":"Muslim Fashion. Mehr als ein Kopftuch.","synopsis":"Wo immer die Ausstellung \"Contemporary Muslim Fashion“ ins Museum kommt, entfacht sie heftige Diskussionen. Nachdem die Schau in San Francisco für Furore sorgte, wird sie demnächst im Frankfurter Museum für Angewandte Kunst als erste Station in Europa gezeigt. Die \"Modest Fashion“, die dezente Mode, so das Schlagwort für die verhüllende, aber keineswegs unsichtbar machende Mode, spaltet das feministische Lager: Ist sie eine Momentaufnahme aktueller muslimischer Kleidungsstile aus aller Welt oder Werbung für die weibliche Verschleierung? In jedem Fall zeigt die Ausstellung, dass die Verhüllung des weiblichen Körpers und der Frisur nicht nur trist, sondern auch schön sein kann - und für manche Trägerinnen befreiend. Und sie ist durchaus politisch, diskutiert gesetzliche Kleiderordnungen und die Frage politischer Symbolik. Inzwischen wollen auch westliche Firmen von der Vielfalt muslimischer Mode profitieren. Sie haben die Konsumentinnen im Nahen Osten und Südostasien als kaufkräftige Klientel entdeckt. Dort ist ein riesiger Markt zu erschließen. Nicht selten wagen sie sich damit an die Grenzen religiöser und gesellschaftlicher Akzeptanz. Kann Mode solche Grenzen überwinden? "},"pluginData":{},"geoBlocked":false},"playerId":"4076","type":"audioOndemand","cssUrl":"./vendor/ardplayer/ardplayer-hr-6.3.4.4fc164e9.css","jsUrl":"./vendor/ardplayer/ardplayer-hr-6.3.4.8ea4ea3d.js","isAutoplay":true,"teaserSize":"50"},"ardPlayerJsonConfig":{"playerConfig":{"generic":{"isAutoplay":true,"imageTemplateConfig":{"size":[{"minWidth":0,"value":"480/270"},{"minWidth":480,"value":"640/360"},{"minWidth":640,"value":"960/540"},{"minWidth":960,"value":"1920/1080"}]}},"web":{"baseUrl":"http://localhost:8080/site/hessenschau/assets_2.85.0/vendor/ardplayer/","isForcedAutoplay":true,"isForcedVideoView":true},"pluginData":{"trackingAti@all":{"site":"551103","config":{"getCollectDomainSSL":"logs1406.xiti.com","secure":true},"page":{"name":"muslim_fashion__mehr_als_ein_kopftuch__podcast:audio:audioPlay","level2":"4","chapter1":"Audio-Start","chapter2":"OnDemand","customVars":{"site":{"1":"podcast-episode-43976","2":"hr-nt:podcastEpisode","5":"202203230802"}}},"richMedia":{"mediaType":"audio","playerId":"4076","mediaLevel2":"4","mediaLabel":"muslim_fashion__mehr_als_ein_kopftuch__podcast:audioPlay","mediaTheme1":"OnDemand","duration":"3040","broadcastMode":"clip"}}}},"mediaCollection":{"streams":[{"kind":"main","isAudioOnly":true,"media":[{"url":"https://mp3podcasthr-a.akamaihd.net/mp3/podcast/derTag/derTag_20190320_81142988.mp3","mimeType":"audio/mp3","audios":[{"kind":"standard","languageCode":"de"}]}]}],"meta":{"durationSeconds":3040,"images":[{"kind":"preview","url":"https://picsum.photos/id/101/{size}"}],"title":"Muslim Fashion. Mehr als ein Kopftuch.","synopsis":"Wo immer die Ausstellung \"Contemporary Muslim Fashion“ ins Museum kommt, entfacht sie heftige Diskussionen. Nachdem die Schau in San Francisco für Furore sorgte, wird sie demnächst im Frankfurter Museum für Angewandte Kunst als erste Station in Europa gezeigt. Die \"Modest Fashion“, die dezente Mode, so das Schlagwort für die verhüllende, aber keineswegs unsichtbar machende Mode, spaltet das feministische Lager: Ist sie eine Momentaufnahme aktueller muslimischer Kleidungsstile aus aller Welt oder Werbung für die weibliche Verschleierung? In jedem Fall zeigt die Ausstellung, dass die Verhüllung des weiblichen Körpers und der Frisur nicht nur trist, sondern auch schön sein kann - und für manche Trägerinnen befreiend. Und sie ist durchaus politisch, diskutiert gesetzliche Kleiderordnungen und die Frage politischer Symbolik. Inzwischen wollen auch westliche Firmen von der Vielfalt muslimischer Mode profitieren. Sie haben die Konsumentinnen im Nahen Osten und Südostasien als kaufkräftige Klientel entdeckt. Dort ist ein riesiger Markt zu erschließen. Nicht selten wagen sie sich damit an die Grenzen religiöser und gesellschaftlicher Akzeptanz. Kann Mode solche Grenzen überwinden? "},"pluginData":{},"geoBlocked":false},"playerId":"4076","type":"audioOndemand","cssUrl":"./vendor/ardplayer/ardplayer-hr-6.3.4.4fc164e9.css","jsUrl":"./vendor/ardplayer/ardplayer-hr-6.3.4.8ea4ea3d.js","isAutoplay":true,"teaserSize":"50"}}}},"link":{"url":"/teaser1","webviewUrl":"/teaser1#webview","isTargetBlank":false,"hasIcon":false,"iconName":"iconName","readMoreText":{"readMoreScreenreader":"Zum Artikel","readMore":"mehr","readMoreLong":"read More Long"}},"label":{"type":"podcast","loca":"label_podcast","byline":{"bylineSsi":"53:13 min","bylineText":""}}}}}
@@ -1,4 +1,4 @@
1
- {{#>components/grid/grid_group size=this.teaserSize _backgroundColor=this.backgroundColor }}
1
+ {{#>components/grid/grid_group _backgroundColor=this.backgroundColor }}
2
2
  {{~#if this.hasGroupTitle}}
3
3
  <h2 class="text-2xl md:text-4xl col-span-full py-0 font-headingSerif {{#if this.backgroundColor}} text-center{{else}} headline-barrier{{/if}}">
4
4
  {{~#if this.hasLink}}<a class="no-underline hover:underline decoration-1 md:decoration-2 text-blue-science" href="{{this.link.url}}">{{/if~}}
@@ -1,4 +1,4 @@
1
1
 
2
- <div id="4" class="grid gap-y-6 relative gap-x-4 flex-col pt-5 mx-0 md:pt-5 bg-blue-accented rounded-tl-3xl rounded-br-3xl col-span-12 {{inline-switch this.teaserSize '["50"]' '["md:col-span-6"," "]'}}" >
2
+ <div id="4" class="grid gap-y-6 relative gap-x-4 flex-col pt-5 mx-5 sm:mx-0 md:pt-5 bg-blue-accented rounded-tl-3xl rounded-br-3xl col-span-12{{inline-switch this.teaserSize '["50"]' '[" md:col-span-6",""]'}}" >
3
3
  {{> components/teaser/podcast/podcast_playlist_player _linkTitle="true" _isSinglePage=false _type="podcastPlaylistPlayerTeaser" }}
4
4
  </div>
@@ -1,3 +1,3 @@
1
- <div class="grid gap-y-6 relative gap-x-4 flex-col pt-5 mx-0 md:pt-5 bg-blue-accented rounded-tl-3xl rounded-br-3xl col-span-12 {{~inline-switch this.teaserSize '["50"]' '[" md:col-span-6",""]'}}" >
2
- {{> components/teaser/podcast/podcast_player _linkTitle="true" _isSinglePage=true _type="podcastEpisodePlayerTeaser" }}
1
+ <div class="relative grid flex-col col-span-12 mx-5 sm:mx-0 gap-y-6 gap-x-4 bg-blue-accented rounded-tl-3xl rounded-br-3xl{{inline-switch this.teaserSize '["50"]' '[" md:col-span-6",""]'}}" >
2
+ {{> components/teaser/podcast/podcast_player _linkTitle="true" _isSinglePage=true _teaserSize=this.teaserSize _type="podcastEpisodePlayerTeaser" }}
3
3
  </div>
@@ -3,6 +3,7 @@ import { ArgsTable, Meta, Story, Canvas, Preview } from '@storybook/addon-docs'
3
3
  import podcast from './podcast.hbs'
4
4
  import podcastPlaylist from './podcast-playlist.hbs'
5
5
  import episodeJson from '../fixtures/teaser_podcast.json'
6
+ import episodeJson50 from '../fixtures/teaser_podcast_50.json'
6
7
  import playlistJson100 from '../fixtures/teaser_podcast_playlist.json'
7
8
  import playlistJson50 from '../fixtures/teaser_podcast_playlist_50.json'
8
9
 
@@ -47,7 +48,10 @@ export const playlistTemplate = (args, { globals: { customConditionalToolbar } }
47
48
  <Preview withToolbar>
48
49
  <Story name="100% Episode Player" args={episodeJson.logicItem.includeModel}>
49
50
  {episodeTemplate.bind({})}
50
- </Story>
51
+ </Story>
52
+ <Story name="50% Episode Player" args={episodeJson50.logicItem.includeModel}>
53
+ {episodeTemplate.bind({})}
54
+ </Story>
51
55
  <Story name="100% Channel Player" args={playlistJson100.logicItem.includeModel}>
52
56
  {playlistTemplate.bind({})}
53
57
  </Story>
@@ -1,7 +1,7 @@
1
- <div class="flex col-span-12">
1
+ <div class="flex col-span-12 p-5">
2
2
  <div class="flex flex-col grow">
3
3
  {{!-- First Row --}}
4
- <div class="flex flex-row px-5 md:pl-5 {{#if ../_ordered}} pl-8 {{/if}} ">
4
+ <div class="flex flex-row {{#if ../_ordered}} pl-8 {{/if}} ">
5
5
  <div class="flex flex-col grow">
6
6
  <div class="flex max-h-6">
7
7
  {{!-- Label / Airdate --}}
@@ -35,13 +35,13 @@
35
35
 
36
36
  {{!-- Podcast Image --}}
37
37
  <div class="flex flex-col ">
38
- <div class="w-24 md:w-42">
38
+ <div class="w-22 xs:w-24 {{inline-switch _teaserSize '["50"]' '["","md:w-42"]'}}">
39
39
  {{> components/base/image/responsive_image this.teaseritem
40
40
  _type="podcastEpisodePlayer"
41
41
  _variant="default"
42
42
  _addClass="overflow-hidden"
43
43
  _noDelay=this.dontLazyload
44
- _addClassImg="w-full h-24 md:h-42 block"
44
+ _addClassImg="w-full block"
45
45
  }}
46
46
  </div>
47
47
  </div>
@@ -49,7 +49,7 @@
49
49
  </div>
50
50
 
51
51
  {{!-- Player UI --}}
52
- <div class="flex px-5 md:pl-5 md:pr-52 md:-mt-14"
52
+ <div class="flex {{inline-switch _teaserSize '["50"]' '["","md:pr-52 md:-mt-14"]'}}"
53
53
  x-data="playaudio()"
54
54
  x-init="listenToGlobalStop()"
55
55
  ax-load
@@ -64,16 +64,16 @@
64
64
  </div>
65
65
 
66
66
  {{!-- Abo-Dropdown --}}
67
- <div class="flex flex-row p-5 md:pr-0">
67
+ <div class="flex flex-row pt-5">
68
68
  {{#with this.podcastChannel}}
69
69
  {{> components/teaser/podcast/podcast_subscribe_button}}
70
70
  {{/with}}
71
71
 
72
72
  {{#with this.podcastChannel}}
73
73
  {{!-- Sendungs-Link --}}
74
- <div class="flex justify-end w-full pl-4 md:pr-52">
75
- <div class="flex flex-wrap self-end text-xs font-heading text-blue-science">
76
- <span class="flex pr-2 font-bold whitespace-nowrap">Zur Sendung: </span>
74
+ <div class="flex justify-end w-full pl-4">
75
+ <div class="flex flex-col flex-wrap self-end text-xs font-heading text-blue-science">
76
+ <span class="self-end font-bold">Zur Sendung</span>
77
77
  <a class="underline" href="{{this.url}}">{{this.title}}</a>
78
78
  </div>
79
79
  </div>
@@ -58,9 +58,10 @@
58
58
  <div x-init="setTime( '{{_podcastDuration}}', '{{_id}}' ); " class="flex w-full">
59
59
  {{> components/teaser/podcast/podcast_timedisplay
60
60
  _id=_id
61
+ _duration=duration
61
62
  _currentTimeClasses="font-bold text-orange-layout"
62
63
  _durationClasses="text-blue-science"
63
- _containerCss="flex text-xs grow font-headingSerif" }}
64
+ _containerCss="flex text-sm grow font-heading" }}
64
65
  </div>
65
66
  {{/if}}
66
67
  </div>
@@ -70,11 +71,11 @@
70
71
  {{!-- Meta Time usw. --}}
71
72
  <div x-init="setTime( '{{_podcastDuration}}', '{{_id}}' ); " >
72
73
  {{> components/teaser/podcast/podcast_timedisplay
74
+ _id=_id
73
75
  _duration=duration
74
76
  _currentTimeClasses="font-bold text-orange-layout"
75
77
  _durationClasses="text-blue-science"
76
- _id=_id
77
- _containerCss="pl-16 -mt-3 flex text-xs grow font-headingSerif"}}
78
+ _containerCss="pl-16 -mt-3 flex text-sm grow font-heading"}}
78
79
  </div>
79
80
  {{/unless}}
80
81
 
@@ -68,7 +68,7 @@
68
68
  ax-load-src={{resourceUrl "assets/js/vendor/podcast_player.alpine.js" }}>
69
69
  {{#with this.playlistItems}}
70
70
  {{#each this}}
71
- <div class="flex pb-5 border-b {{#unless @last}}border-white{{/unless}}" >
71
+ <div class="flex pb-5 {{#unless @last}}border-white border-b{{/unless}}" >
72
72
  {{> components/teaser/podcast/podcast_player_ui
73
73
  _isPlaylistPlayer=true
74
74
  _podcastDuration=duration
@@ -1,5 +1,5 @@
1
1
  <div id="timedisplay{{_id}}" class="{{_containerCss}}">
2
- <span class="{{_currentTimeClasses}} js-currentTime" id="currentTime" >00:00</span>
2
+ <span class="{{_currentTimeClasses}} js-currentTime" id="currentTime" >0:00</span>
3
3
  <span class="{{_durationClasses}} px-0.5"> / </span>
4
4
  <span class="{{_durationClasses}} js-audioDuration" id="audioDurationFancy">{{_duration}}</span>
5
5
  </div>
@@ -6,6 +6,9 @@ module.exports = {
6
6
  experimental: {
7
7
  optimizeUniversalDefaults: true,
8
8
  },
9
+ safelist: [
10
+ "mt-12"
11
+ ],
9
12
  content: [
10
13
  './src/stories/*.mdx',
11
14
  './src/stories/views/**/*.{mdx,hbs,js}',