@@ -60,7 +60,7 @@ const aBasicLink = {
6060 } ,
6161} ;
6262
63- const mainVideo : MainMedia = {
63+ const mainYoutubeVideo : MainMedia = {
6464 type : 'YoutubeVideo' ,
6565 id : '1234-abcdef-09876-xyz' ,
6666 videoId : '8M_yH-e9cq8' ,
@@ -73,6 +73,22 @@ const mainVideo: MainMedia = {
7373 origin : 'The Guardian' ,
7474} ;
7575
76+ const mainSelfHostedVideo : MainMedia = {
77+ type : 'SelfHostedVideo' ,
78+ videoStyle : 'Loop' ,
79+ atomId : '123' ,
80+ sources : [
81+ {
82+ src : 'https://uploads.guim.co.uk/2024/10/01/241001HeleneLoop_2.mp4' ,
83+ mimeType : 'video/mp4' ,
84+ } ,
85+ ] ,
86+ height : 1080 ,
87+ width : 1920 ,
88+ image : `https://i.guim.co.uk/img/media/2eb01d138eb8fba6e59ce7589a60e3ff984f6a7a/0_0_1920_1080/1920.jpg?width=1200&quality=45&dpr=2&s=none` ,
89+ duration : 100 ,
90+ } ;
91+
7692const mainAudio : MainMedia = {
7793 type : 'Audio' ,
7894 duration : '30:24' ,
@@ -306,7 +322,7 @@ export const WithMediaType = () => {
306322 design : ArticleDesign . Video ,
307323 theme : Pillar . Sport ,
308324 } }
309- mainMedia = { { ...mainVideo , duration : 30 } }
325+ mainMedia = { { ...mainYoutubeVideo , duration : 30 } }
310326 headlineText = "Video"
311327 />
312328 </ CardWrapper >
@@ -318,10 +334,22 @@ export const WithMediaType = () => {
318334 design : ArticleDesign . Video ,
319335 theme : Pillar . Sport ,
320336 } }
321- mainMedia = { { ...mainVideo , duration : 0 } }
337+ mainMedia = { { ...mainYoutubeVideo , duration : 0 } }
322338 headlineText = "Video without duration"
323339 />
324340 </ CardWrapper >
341+ < CardWrapper >
342+ < Card
343+ { ...basicCardProps }
344+ format = { {
345+ display : ArticleDisplay . Standard ,
346+ design : ArticleDesign . Video ,
347+ theme : Pillar . Sport ,
348+ } }
349+ mainMedia = { { ...mainSelfHostedVideo } }
350+ headlineText = "Video with self-hosted video main media"
351+ />
352+ </ CardWrapper >
325353 < CardWrapper >
326354 < Card
327355 { ...basicCardProps }
@@ -361,7 +389,7 @@ export const WithMediaTypeAndSublinks = () => {
361389 design : ArticleDesign . Video ,
362390 theme : Pillar . Sport ,
363391 } }
364- mainMedia = { { ...mainVideo , duration : 30 } }
392+ mainMedia = { { ...mainYoutubeVideo , duration : 30 } }
365393 headlineText = "Video"
366394 supportingContent = { twoSublinks }
367395 />
@@ -374,11 +402,24 @@ export const WithMediaTypeAndSublinks = () => {
374402 design : ArticleDesign . Video ,
375403 theme : Pillar . Sport ,
376404 } }
377- mainMedia = { { ...mainVideo , duration : 0 } }
405+ mainMedia = { { ...mainYoutubeVideo , duration : 0 } }
378406 headlineText = "Video without duration"
379407 supportingContent = { twoSublinks }
380408 />
381409 </ CardWrapper >
410+ < CardWrapper >
411+ < Card
412+ { ...basicCardProps }
413+ format = { {
414+ display : ArticleDisplay . Standard ,
415+ design : ArticleDesign . Video ,
416+ theme : Pillar . Sport ,
417+ } }
418+ mainMedia = { { ...mainSelfHostedVideo } }
419+ headlineText = "Self-hosted video"
420+ supportingContent = { twoSublinks }
421+ />
422+ </ CardWrapper >
382423 < CardWrapper >
383424 < Card
384425 { ...basicCardProps }
@@ -420,7 +461,7 @@ export const WithMediaTypeSpecialReportAlt = () => {
420461 design : ArticleDesign . Video ,
421462 theme : ArticleSpecial . SpecialReportAlt ,
422463 } }
423- mainMedia = { { ...mainVideo , duration : 30 } }
464+ mainMedia = { { ...mainYoutubeVideo , duration : 30 } }
424465 headlineText = "Video"
425466 />
426467 </ CardWrapper >
@@ -1049,7 +1090,7 @@ export const WhenOpinionWithImageAtBottom = () => {
10491090 ) ;
10501091} ;
10511092
1052- export const WhenVideoWithPlayButton = ( ) => {
1093+ export const WhenYoutubeVideoWithPlayButton = ( ) => {
10531094 return (
10541095 < Section title = "Play icons" padContent = { false } centralBorder = "partial" >
10551096 < UL direction = "row" padBottom = { true } >
@@ -1064,7 +1105,7 @@ export const WhenVideoWithPlayButton = () => {
10641105 mediaPositionOnDesktop = "top"
10651106 mediaSize = "jumbo"
10661107 mediaPositionOnMobile = "top"
1067- mainMedia = { mainVideo }
1108+ mainMedia = { mainYoutubeVideo }
10681109 />
10691110 </ LI >
10701111 </ UL >
@@ -1080,7 +1121,7 @@ export const WhenVideoWithPlayButton = () => {
10801121 mediaPositionOnDesktop = "right"
10811122 mediaSize = "large"
10821123 mediaPositionOnMobile = "top"
1083- mainMedia = { mainVideo }
1124+ mainMedia = { mainYoutubeVideo }
10841125 />
10851126 </ LI >
10861127 < LI percentage = { '25%' } padSides = { true } showDivider = { true } >
@@ -1092,7 +1133,7 @@ export const WhenVideoWithPlayButton = () => {
10921133 theme : Pillar . News ,
10931134 } }
10941135 mediaPositionOnDesktop = "top"
1095- mainMedia = { mainVideo }
1136+ mainMedia = { mainYoutubeVideo }
10961137 canPlayInline = { false }
10971138 />
10981139 </ LI >
@@ -1109,7 +1150,7 @@ export const WhenVideoWithPlayButton = () => {
11091150 mediaPositionOnDesktop = "top"
11101151 mediaSize = "medium"
11111152 mediaPositionOnMobile = "bottom"
1112- mainMedia = { mainVideo }
1153+ mainMedia = { mainYoutubeVideo }
11131154 />
11141155 </ LI >
11151156 < LI percentage = "50%" >
@@ -1123,7 +1164,7 @@ export const WhenVideoWithPlayButton = () => {
11231164 theme : Pillar . News ,
11241165 } }
11251166 mediaPositionOnDesktop = "left"
1126- mainMedia = { mainVideo }
1167+ mainMedia = { mainYoutubeVideo }
11271168 canPlayInline = { false }
11281169 />
11291170 </ LI >
@@ -1136,7 +1177,7 @@ export const WhenVideoWithPlayButton = () => {
11361177 theme : Pillar . News ,
11371178 } }
11381179 mediaPositionOnDesktop = "right"
1139- mainMedia = { mainVideo }
1180+ mainMedia = { mainYoutubeVideo }
11401181 canPlayInline = { false }
11411182 />
11421183 </ LI >
@@ -1150,7 +1191,7 @@ export const WhenVideoWithPlayButton = () => {
11501191 theme : Pillar . News ,
11511192 } }
11521193 mediaPositionOnDesktop = "right"
1153- mainMedia = { mainVideo }
1194+ mainMedia = { mainYoutubeVideo }
11541195 canPlayInline = { false }
11551196 />
11561197 </ LI >
@@ -1170,7 +1211,7 @@ export const WhenVideoWithPlayButton = () => {
11701211 mediaPositionOnDesktop = "right"
11711212 mediaSize = "large"
11721213 mediaPositionOnMobile = "top"
1173- mainMedia = { mainVideo }
1214+ mainMedia = { mainYoutubeVideo }
11741215 />
11751216 </ LI >
11761217 < LI percentage = { '33.333%' } padSides = { true } showDivider = { true } >
@@ -1184,7 +1225,7 @@ export const WhenVideoWithPlayButton = () => {
11841225 mediaPositionOnDesktop = "top"
11851226 mediaPositionOnMobile = "left"
11861227 mediaSize = "medium"
1187- mainMedia = { mainVideo }
1228+ mainMedia = { mainYoutubeVideo }
11881229 />
11891230 </ LI >
11901231 </ UL >
0 commit comments