@srgssr/pillarbox-web 1.12.2

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 (79) hide show
  1. package/LICENSE +21 -0
  2. package/dist/pillarbox-core.cjs.js +307 -0
  3. package/dist/pillarbox-core.cjs.min.js +2 -0
  4. package/dist/pillarbox-core.cjs.min.js.map +1 -0
  5. package/dist/pillarbox-core.es.js +305 -0
  6. package/dist/pillarbox-core.es.min.js +2 -0
  7. package/dist/pillarbox-core.es.min.js.map +1 -0
  8. package/dist/pillarbox-core.umd.js +68327 -0
  9. package/dist/pillarbox-core.umd.min.js +35 -0
  10. package/dist/pillarbox-core.umd.min.js.map +1 -0
  11. package/dist/pillarbox.cjs.js +3571 -0
  12. package/dist/pillarbox.cjs.min.js +2 -0
  13. package/dist/pillarbox.cjs.min.js.map +1 -0
  14. package/dist/pillarbox.es.js +3569 -0
  15. package/dist/pillarbox.es.min.js +2 -0
  16. package/dist/pillarbox.es.min.js.map +1 -0
  17. package/dist/pillarbox.min.css +1 -0
  18. package/dist/pillarbox.min.css.map +1 -0
  19. package/dist/pillarbox.umd.js +71591 -0
  20. package/dist/pillarbox.umd.min.js +35 -0
  21. package/dist/pillarbox.umd.min.js.map +1 -0
  22. package/dist/types/build.es.d.ts +5 -0
  23. package/dist/types/build.es.d.ts.map +1 -0
  24. package/dist/types/src/analytics/SRGAnalytics.d.ts +414 -0
  25. package/dist/types/src/analytics/SRGAnalytics.d.ts.map +1 -0
  26. package/dist/types/src/components/player.d.ts +116 -0
  27. package/dist/types/src/components/player.d.ts.map +1 -0
  28. package/dist/types/src/components/typedef.d.ts +14 -0
  29. package/dist/types/src/components/typedef.d.ts.map +1 -0
  30. package/dist/types/src/dataProvider/model/MediaComposition.d.ts +154 -0
  31. package/dist/types/src/dataProvider/model/MediaComposition.d.ts.map +1 -0
  32. package/dist/types/src/dataProvider/model/typedef.d.ts +1485 -0
  33. package/dist/types/src/dataProvider/model/typedef.d.ts.map +1 -0
  34. package/dist/types/src/dataProvider/services/DataProvider.d.ts +40 -0
  35. package/dist/types/src/dataProvider/services/DataProvider.d.ts.map +1 -0
  36. package/dist/types/src/lang/de.d.ts +2 -0
  37. package/dist/types/src/lang/de.d.ts.map +1 -0
  38. package/dist/types/src/lang/en.d.ts +2 -0
  39. package/dist/types/src/lang/en.d.ts.map +1 -0
  40. package/dist/types/src/lang/fr.d.ts +2 -0
  41. package/dist/types/src/lang/fr.d.ts.map +1 -0
  42. package/dist/types/src/lang/it.d.ts +2 -0
  43. package/dist/types/src/lang/it.d.ts.map +1 -0
  44. package/dist/types/src/lang/rm.d.ts +2 -0
  45. package/dist/types/src/lang/rm.d.ts.map +1 -0
  46. package/dist/types/src/middleware/srgssr.d.ts +271 -0
  47. package/dist/types/src/middleware/srgssr.d.ts.map +1 -0
  48. package/dist/types/src/middleware/typedef.d.ts +67 -0
  49. package/dist/types/src/middleware/typedef.d.ts.map +1 -0
  50. package/dist/types/src/pillarbox.d.ts +11 -0
  51. package/dist/types/src/pillarbox.d.ts.map +1 -0
  52. package/dist/types/src/utils/AkamaiTokenService.d.ts +73 -0
  53. package/dist/types/src/utils/AkamaiTokenService.d.ts.map +1 -0
  54. package/dist/types/src/utils/Drm.d.ts +31 -0
  55. package/dist/types/src/utils/Drm.d.ts.map +1 -0
  56. package/dist/types/src/utils/Image.d.ts +33 -0
  57. package/dist/types/src/utils/Image.d.ts.map +1 -0
  58. package/dist/types/src/utils/PlayerEvents.d.ts +177 -0
  59. package/dist/types/src/utils/PlayerEvents.d.ts.map +1 -0
  60. package/dist/types/src/utils/typedef.d.ts +17 -0
  61. package/dist/types/src/utils/typedef.d.ts.map +1 -0
  62. package/package.json +109 -0
  63. package/scss/components/_big-play.scss +30 -0
  64. package/scss/components/_captions-settings.scss +71 -0
  65. package/scss/components/_control-bar.scss +15 -0
  66. package/scss/components/_control-spacer.scss +9 -0
  67. package/scss/components/_control.scss +8 -0
  68. package/scss/components/_error.scss +10 -0
  69. package/scss/components/_layout.scss +63 -0
  70. package/scss/components/_loading.scss +34 -0
  71. package/scss/components/_progress.scss +70 -0
  72. package/scss/components/_slider.scss +9 -0
  73. package/scss/components/_text-track.scss +8 -0
  74. package/scss/components/_time.scss +29 -0
  75. package/scss/components/_title-bar.scss +9 -0
  76. package/scss/components/_volume.scss +16 -0
  77. package/scss/components/menu/_menu-popup.scss +30 -0
  78. package/scss/components/menu/_menu.scss +26 -0
  79. package/scss/pillarbox.scss +26 -0
@@ -0,0 +1,1485 @@
1
+ /**
2
+ * Represents a time interval metadata used to mark the beginning and ending
3
+ * of opening or closing credits.
4
+ */
5
+ export type TimeInterval = {
6
+ /**
7
+ * The type of the time interval.
8
+ */
9
+ type: 'OPENING_CREDITS' | 'CLOSING_CREDITS';
10
+ /**
11
+ * An integer representing the mark in time.
12
+ */
13
+ markIn: number;
14
+ /**
15
+ * An integer representing the mark out time.
16
+ */
17
+ markOut: number;
18
+ };
19
+ /**
20
+ * Represents a media segment with detailed metadata.
21
+ */
22
+ export type Segment = {
23
+ /**
24
+ * Unique identifier for the segment.
25
+ */
26
+ id: string;
27
+ /**
28
+ * Type of media.
29
+ */
30
+ mediaType: AudioType;
31
+ /**
32
+ * Vendor of the segment.
33
+ */
34
+ vendor: VendorType;
35
+ /**
36
+ * URN (Uniform Resource Name) specifying the segment details.
37
+ */
38
+ urn: string;
39
+ /**
40
+ * Title of the segment. Limited to 2000 characters.
41
+ */
42
+ title: string;
43
+ /**
44
+ * Lead information for the segment.
45
+ */
46
+ lead: string;
47
+ /**
48
+ * Description of the segment.
49
+ */
50
+ description: string;
51
+ /**
52
+ * Media description for the segment.
53
+ */
54
+ mediaDescription: string;
55
+ /**
56
+ * URL of the image associated with the segment.
57
+ */
58
+ imageUrl: string;
59
+ /**
60
+ * Title of the image associated with the segment. Limited to 2000 characters.
61
+ */
62
+ imageTitle: string;
63
+ /**
64
+ * Copyright information for the image.
65
+ */
66
+ imageCopyright: string;
67
+ /**
68
+ * Reason for blocking.
69
+ */
70
+ blockReason: BlockReason;
71
+ /**
72
+ * Youth protection color. Allowed values: 'YELLOW', 'RED'.
73
+ */
74
+ youthProtectionColor: 'YELLOW' | 'RED';
75
+ /**
76
+ * Type of the segment. Allowed values: 'EPISODE', 'EXTRACT', 'TRAILER', 'CLIP', 'LIVESTREAM', 'SCHEDULED_LIVESTREAM'.
77
+ */
78
+ type: 'EPISODE' | 'EXTRACT' | 'TRAILER' | 'CLIP' | 'LIVESTREAM' | 'SCHEDULED_LIVESTREAM';
79
+ /**
80
+ * Date and time information in ISO8601 format.
81
+ */
82
+ date: string;
83
+ /**
84
+ * Duration of the segment in seconds.
85
+ */
86
+ duration: number;
87
+ /**
88
+ * URL for the standard definition podcast.
89
+ */
90
+ podcastSdUrl: string;
91
+ /**
92
+ * URL for the high definition podcast.
93
+ */
94
+ podcastHdUrl: string;
95
+ /**
96
+ * Start date and time for the validity period in ISO8601 format.
97
+ */
98
+ validFrom: string;
99
+ /**
100
+ * End date and time for the validity period in ISO8601 format.
101
+ */
102
+ validTo: string;
103
+ /**
104
+ * Entity responsible for the assignment. Allowed values: 'EDITOR', 'TRENDING', 'RECOMMENDATION'.
105
+ */
106
+ assignedBy: 'EDITOR' | 'TRENDING' | 'RECOMMENDATION';
107
+ /**
108
+ * Indicates if the segment is playable abroad.
109
+ */
110
+ playableAbroad: boolean;
111
+ /**
112
+ * List of related content items.
113
+ */
114
+ relatedContentList: Array<RelatedContent>;
115
+ /**
116
+ * List of social count entries.
117
+ */
118
+ socialCountList: Array<SocialCountEntry>;
119
+ /**
120
+ * Indicates if the segment is displayable.
121
+ */
122
+ displayable: boolean;
123
+ /**
124
+ * Full-length URN specifying the segment details.
125
+ */
126
+ fullLengthUrn: string;
127
+ /**
128
+ * Position of the segment.
129
+ */
130
+ position: number;
131
+ /**
132
+ * Indicates if the segment should not be embedded.
133
+ */
134
+ noEmbed: boolean;
135
+ /**
136
+ * List of subtitle entries.
137
+ */
138
+ subtitleList: Array<Subtitle>;
139
+ /**
140
+ * Analytics data for the segment.
141
+ */
142
+ analyticsData: {
143
+ [x: string]: string;
144
+ };
145
+ /**
146
+ * Metadata for analytics purposes.
147
+ */
148
+ analyticsMetadata: {
149
+ [x: string]: string;
150
+ };
151
+ /**
152
+ * Event data associated with the segment.
153
+ */
154
+ eventData: string;
155
+ /**
156
+ * List of player properties.
157
+ */
158
+ playerProperties: Array<PlayerProperty>;
159
+ /**
160
+ * List of tags associated with the segment.
161
+ */
162
+ tagList: Array<string>;
163
+ /**
164
+ * Label for the segment.
165
+ */
166
+ label: string;
167
+ /**
168
+ * Integer representing the mark in time.
169
+ */
170
+ markIn: number;
171
+ /**
172
+ * Integer representing the mark out time.
173
+ */
174
+ markOut: number;
175
+ };
176
+ /**
177
+ * Represents a chapter of media content.
178
+ */
179
+ export type Chapter = {
180
+ /**
181
+ * Unique identifier for the chapter.
182
+ */
183
+ id: string;
184
+ /**
185
+ * Type of media content (AUDIO or VIDEO).
186
+ */
187
+ mediaType: AudioType;
188
+ /**
189
+ * Vendor associated with the chapter.
190
+ */
191
+ vendor: VendorType;
192
+ /**
193
+ * URN (Uniform Resource Name) for the chapter.
194
+ */
195
+ urn: string;
196
+ /**
197
+ * Title of the chapter.
198
+ */
199
+ title: string;
200
+ /**
201
+ * Lead information for the chapter.
202
+ */
203
+ lead: string;
204
+ /**
205
+ * Description of the chapter.
206
+ */
207
+ description: string;
208
+ /**
209
+ * Media description of the chapter.
210
+ */
211
+ mediaDescription: string;
212
+ /**
213
+ * URL of the image associated with the chapter.
214
+ */
215
+ imageUrl: string;
216
+ /**
217
+ * Title of the image associated with the chapter.
218
+ */
219
+ imageTitle: string;
220
+ /**
221
+ * Copyright information for the image.
222
+ */
223
+ imageCopyright: string;
224
+ /**
225
+ * Reason for blocking the chapter.
226
+ */
227
+ blockReason: BlockReason;
228
+ /**
229
+ * Youth protection color code.
230
+ */
231
+ youthProtectionColor: 'YELLOW' | 'RED';
232
+ /**
233
+ * Type of the chapter.
234
+ */
235
+ type: 'EPISODE' | 'EXTRACT' | 'TRAILER' | 'CLIP' | 'LIVESTREAM' | 'SCHEDULED_LIVESTREAM';
236
+ /**
237
+ * Date and time information for the chapter.
238
+ */
239
+ date: string;
240
+ /**
241
+ * Duration of the chapter in seconds.
242
+ */
243
+ duration: number;
244
+ /**
245
+ * URL for the standard-definition podcast.
246
+ */
247
+ podcastSdUrl: string;
248
+ /**
249
+ * URL for the high-definition podcast.
250
+ */
251
+ podcastHdUrl: string;
252
+ /**
253
+ * Validity start date and time for the chapter.
254
+ */
255
+ validFrom: string;
256
+ /**
257
+ * Validity end date and time for the chapter.
258
+ */
259
+ validTo: string;
260
+ /**
261
+ * User who assigned the chapter.
262
+ */
263
+ assignedBy: 'EDITOR' | 'TRENDING' | 'RECOMMENDATION';
264
+ /**
265
+ * Indicates if the chapter is playable abroad.
266
+ */
267
+ playableAbroad: boolean;
268
+ /**
269
+ * List of related content for the chapter.
270
+ */
271
+ relatedContentList: Array<RelatedContent>;
272
+ /**
273
+ * List of social media counts for the chapter.
274
+ */
275
+ socialCountList: Array<SocialCountEntry>;
276
+ /**
277
+ * Indicates if the chapter is displayable.
278
+ */
279
+ displayable: boolean;
280
+ /**
281
+ * URN for the full-length version of the chapter.
282
+ */
283
+ fullLengthUrn: string;
284
+ /**
285
+ * Position of the chapter.
286
+ */
287
+ position: number;
288
+ /**
289
+ * Indicates if the chapter can be embedded.
290
+ */
291
+ noEmbed: boolean;
292
+ /**
293
+ * List of subtitles for the chapter.
294
+ */
295
+ subtitleList: Array<Subtitle>;
296
+ /**
297
+ * Analytics data for the chapter.
298
+ */
299
+ analyticsData: {
300
+ [x: string]: string;
301
+ };
302
+ /**
303
+ * Metadata for analytics associated with the chapter.
304
+ */
305
+ analyticsMetadata: {
306
+ [x: string]: string;
307
+ };
308
+ /**
309
+ * Event data associated with the chapter.
310
+ */
311
+ eventData: string;
312
+ /**
313
+ * List of player properties for the chapter.
314
+ */
315
+ playerProperties: Array<PlayerProperty>;
316
+ /**
317
+ * List of tags associated with the chapter.
318
+ */
319
+ tagList: Array<string>;
320
+ /**
321
+ * Label information for the chapter.
322
+ */
323
+ label: string;
324
+ /**
325
+ * Mark in time for the full-length version of the chapter.
326
+ */
327
+ fullLengthMarkIn: number;
328
+ /**
329
+ * Mark out time for the full-length version of the chapter.
330
+ */
331
+ fullLengthMarkOut: number;
332
+ /**
333
+ * List of resources associated with the chapter.
334
+ */
335
+ resourceList: Array<Resource>;
336
+ /**
337
+ * List of segments associated with the chapter.
338
+ */
339
+ segmentList: Array<Segment>;
340
+ /**
341
+ * Start time for the pre-trailer content.
342
+ */
343
+ preTrailerStart: string;
344
+ /**
345
+ * Stop time for the post-trailer content.
346
+ */
347
+ postTrailerStop: string;
348
+ /**
349
+ * CESIM (Content, Episode, Segment, Image, Module) identifier for the chapter.
350
+ */
351
+ cesimId: string;
352
+ /**
353
+ * List of HbbtvProperties for the chapter.
354
+ */
355
+ hbbtvProperties: Array<HbbtvProperties>;
356
+ /**
357
+ * Name of the creator of the chapter.
358
+ */
359
+ creatorName: string;
360
+ /**
361
+ * User associated with the creator of the chapter.
362
+ */
363
+ creatorUser: string;
364
+ /**
365
+ * Aspect ratio of the chapter.
366
+ */
367
+ aspectRatio: '1:1' | '4:5' | '4:3' | '9:16' | '16:9';
368
+ /**
369
+ * DVR reference date and time for the chapter.
370
+ */
371
+ dvrReferenceDate: string;
372
+ /**
373
+ * List of time intervals associated with the chapter.
374
+ */
375
+ timeIntervalList: Array<TimeInterval>;
376
+ /**
377
+ * Sprite sheet information for the chapter.
378
+ */
379
+ spriteSheet: SpriteSheet;
380
+ };
381
+ /**
382
+ * Represents a resource associated with a media segment.
383
+ */
384
+ export type Resource = {
385
+ /**
386
+ * URL of the resource.
387
+ */
388
+ url: string;
389
+ /**
390
+ * List of Digital Rights Management (DRM) information for the resource.
391
+ */
392
+ drmList: Array<DrmMetadata>;
393
+ /**
394
+ * Quality of the resource.
395
+ */
396
+ quality: QualityType;
397
+ /**
398
+ * Protocol used for streaming the resource.
399
+ */
400
+ protocol: 'HLS' | 'HLS-DVR' | 'HDS' | 'HDS-DVR' | 'RTMP' | 'HTTP' | 'HTTPS' | 'HTTP-M3U' | 'HTTP-MP3-STREAM' | 'DASH' | 'DASH-DVR';
401
+ /**
402
+ * Encoding used for the resource.
403
+ */
404
+ encoding: 'H264' | 'VP6F' | 'MPEG2' | 'WMV3' | 'AAC' | 'AAC-HE' | 'MP3' | 'MP2' | 'WMAV2';
405
+ /**
406
+ * MIME type of the resource.
407
+ */
408
+ mimeType: string;
409
+ /**
410
+ * Presentation mode of the resource.
411
+ */
412
+ presentation: PresentationType;
413
+ /**
414
+ * Streaming type of the resource.
415
+ */
416
+ streaming: StreamingType;
417
+ /**
418
+ * Indicates if the resource supports Digital Video Recorder (DVR).
419
+ */
420
+ dvr: boolean;
421
+ /**
422
+ * Indicates if the resource is a live stream.
423
+ */
424
+ live: boolean;
425
+ /**
426
+ * Media container type of the resource.
427
+ */
428
+ mediaContainer: 'MP4' | 'MKV' | 'MPEG2_TS' | 'FMP4' | 'NONE' | 'UNKNOWN';
429
+ /**
430
+ * Audio codec used for the resource.
431
+ */
432
+ audioCodec: 'AAC' | 'AAC-HE' | 'MP3' | 'MP2' | 'WMAV2' | 'UNKNOWN';
433
+ /**
434
+ * Video codec used for the resource.
435
+ */
436
+ videoCodec: 'H264' | 'VP6F' | 'MPEG2' | 'WMV3' | 'NONE' | 'UNKNOWN';
437
+ /**
438
+ * Token type used for the resource.
439
+ */
440
+ tokenType: TokenType;
441
+ /**
442
+ * List of audio tracks associated with the resource.
443
+ */
444
+ audioTrackList: Array<AudioTrack>;
445
+ /**
446
+ * List of subtitle information associated with the resource.
447
+ */
448
+ subtitleInformationList: Array<SubtitleInformation>;
449
+ /**
450
+ * Analytics data for the resource.
451
+ */
452
+ analyticsData: {
453
+ [x: string]: string;
454
+ };
455
+ /**
456
+ * Metadata for analytics purposes.
457
+ */
458
+ analyticsMetadata: {
459
+ [x: string]: string;
460
+ };
461
+ /**
462
+ * Stream offset for the resource.
463
+ */
464
+ streamOffset: number;
465
+ };
466
+ /**
467
+ * Represents related content associated with a media segment.
468
+ */
469
+ export type RelatedContent = {
470
+ /**
471
+ * Unique identifier for the related content.
472
+ */
473
+ id: string;
474
+ /**
475
+ * Title of the related content. Limited to 2000 characters.
476
+ */
477
+ title: string;
478
+ /**
479
+ * Lead information for the related content.
480
+ */
481
+ lead: string;
482
+ /**
483
+ * Description of the related content.
484
+ */
485
+ description: string;
486
+ /**
487
+ * URL of the related content.
488
+ */
489
+ url: string;
490
+ /**
491
+ * Type of content.
492
+ */
493
+ contentType: string;
494
+ /**
495
+ * Indicates if the related content is external.
496
+ */
497
+ isExternal: boolean;
498
+ };
499
+ /**
500
+ * Represents subtitle information for a media segment.
501
+ */
502
+ export type Subtitle = {
503
+ /**
504
+ * Locale information for the subtitle.
505
+ */
506
+ locale: string;
507
+ /**
508
+ * Language of the subtitle.
509
+ */
510
+ language: string;
511
+ /**
512
+ * Source of the subtitle.
513
+ */
514
+ source: 'EXTERNAL' | TrackSourceType;
515
+ /**
516
+ * Type of the subtitle.
517
+ */
518
+ type: 'SDH';
519
+ /**
520
+ * URL of the subtitle.
521
+ */
522
+ url: string;
523
+ /**
524
+ * Format of the subtitle.
525
+ */
526
+ format: 'TTML' | 'VTT';
527
+ };
528
+ /**
529
+ * Represents a social media count entry associated with a media segment.
530
+ */
531
+ export type SocialCountEntry = {
532
+ /**
533
+ * Key identifying the type of social media count.
534
+ */
535
+ key: 'srgView' | 'srgLike' | 'fbShare' | 'googleShare' | 'twitterShare' | 'whatsAppShare';
536
+ /**
537
+ * Count value for the social media entry.
538
+ */
539
+ value: number;
540
+ };
541
+ /**
542
+ * Represents a player property associated with a media segment.
543
+ */
544
+ export type PlayerProperty = {
545
+ /**
546
+ * Key identifying the type of player property.
547
+ */
548
+ key: 'iFrameUrl' | 'playerUrl' | 'playerRelativeIconImageUrl' | 'playerWidth' | 'playerHeight';
549
+ /**
550
+ * Value of the player property.
551
+ */
552
+ value: string;
553
+ };
554
+ /**
555
+ * Represents Digital Rights Management (DRM) information associated with a media resource.
556
+ */
557
+ export type DrmMetadata = {
558
+ /**
559
+ * Type of DRM used for the resource.
560
+ */
561
+ type: 'FAIRPLAY' | 'WIDEVINE' | 'PLAYREADY';
562
+ /**
563
+ * URL for the DRM license.
564
+ */
565
+ licenseUrl: string;
566
+ /**
567
+ * URL for the DRM certificate.
568
+ */
569
+ certificateUrl: string;
570
+ };
571
+ /**
572
+ * Represents audio track information associated with a media resource.
573
+ */
574
+ export type AudioTrack = {
575
+ /**
576
+ * Locale information for the audio track.
577
+ */
578
+ locale: string;
579
+ /**
580
+ * Language of the audio track.
581
+ */
582
+ language: string;
583
+ /**
584
+ * Source of the audio track.
585
+ */
586
+ source: TrackSourceType;
587
+ /**
588
+ * Type of the audio track.
589
+ */
590
+ type: 'AUDIO_DESCRIPTION';
591
+ };
592
+ /**
593
+ * Represents subtitle information associated with a media resource.
594
+ */
595
+ export type SubtitleInformation = {
596
+ /**
597
+ * Locale information for the subtitle.
598
+ */
599
+ locale: string;
600
+ /**
601
+ * Language of the subtitle.
602
+ */
603
+ language: string;
604
+ /**
605
+ * Source of the subtitle information.
606
+ */
607
+ source: 'EXTERNAL' | TrackSourceType;
608
+ /**
609
+ * Type of the subtitle information.
610
+ */
611
+ type: 'SDH';
612
+ };
613
+ /**
614
+ * Represents HbbTV properties associated with a chapter.
615
+ */
616
+ export type HbbtvProperties = {
617
+ /**
618
+ * Indicates the availability of the red button feature.
619
+ */
620
+ redButton: boolean;
621
+ /**
622
+ * URL link associated with the image for HbbTV.
623
+ */
624
+ imageLink: string;
625
+ };
626
+ /**
627
+ * Represents a sprite sheet associated with a chapter.
628
+ */
629
+ export type SpriteSheet = {
630
+ /**
631
+ * URN (Uniform Resource Name) for the sprite sheet.
632
+ */
633
+ urn: string;
634
+ /**
635
+ * Number of rows in the sprite sheet.
636
+ */
637
+ rows: number;
638
+ /**
639
+ * Number of columns in the sprite sheet.
640
+ */
641
+ columns: number;
642
+ /**
643
+ * Height of each thumbnail in the sprite sheet.
644
+ */
645
+ thumbnailHeight: number;
646
+ /**
647
+ * Width of each thumbnail in the sprite sheet.
648
+ */
649
+ thumbnailWidth: number;
650
+ /**
651
+ * Interval between frames in milliseconds.
652
+ */
653
+ interval: number;
654
+ /**
655
+ * URL link to the sprite sheet.
656
+ */
657
+ url: string;
658
+ };
659
+ /**
660
+ * Represents an episode of media content.
661
+ */
662
+ export type Episode = {
663
+ /**
664
+ * Unique identifier for the episode.
665
+ */
666
+ id: string;
667
+ /**
668
+ * Title of the episode.
669
+ */
670
+ title: string;
671
+ /**
672
+ * Lead description of the episode.
673
+ */
674
+ lead: string;
675
+ /**
676
+ * Detailed description of the episode.
677
+ */
678
+ description: string;
679
+ /**
680
+ * Date and time when the episode was published.
681
+ */
682
+ publishedDate: string;
683
+ /**
684
+ * URL of the image associated with the episode.
685
+ */
686
+ imageUrl: string;
687
+ /**
688
+ * Title of the image associated with the episode.
689
+ */
690
+ imageTitle: string;
691
+ /**
692
+ * Copyright information for the episode image.
693
+ */
694
+ imageCopyright: string;
695
+ /**
696
+ * URN (Uniform Resource Name) for the full-length version of the episode.
697
+ */
698
+ fullLengthUrn: string;
699
+ /**
700
+ * Season number to which the episode belongs.
701
+ */
702
+ seasonNumber: number;
703
+ /**
704
+ * Episode number.
705
+ */
706
+ number: number;
707
+ /**
708
+ * Social count entry for the episode.
709
+ */
710
+ socialCount: SocialCountEntry;
711
+ };
712
+ /**
713
+ * Represents a show.
714
+ */
715
+ export type Show = {
716
+ /**
717
+ * Unique identifier for the show.
718
+ */
719
+ id: string;
720
+ /**
721
+ * Vendor of the show.
722
+ */
723
+ vendor: VendorType;
724
+ /**
725
+ * Type of transmission for the show.
726
+ */
727
+ transmission: TransmissionType;
728
+ /**
729
+ * URN (Uniform Resource Name) for the show.
730
+ */
731
+ urn: string;
732
+ /**
733
+ * Title of the show.
734
+ */
735
+ title: string;
736
+ /**
737
+ * Lead description of the show.
738
+ */
739
+ lead: string;
740
+ /**
741
+ * Detailed description of the show.
742
+ */
743
+ description: string;
744
+ /**
745
+ * URL of the image associated with the show.
746
+ */
747
+ imageUrl: string;
748
+ /**
749
+ * Title of the image associated with the show.
750
+ */
751
+ imageTitle: string;
752
+ /**
753
+ * Copyright information for the show image.
754
+ */
755
+ imageCopyright: string;
756
+ /**
757
+ * URL of the banner image for the show.
758
+ */
759
+ bannerImageUrl: string;
760
+ /**
761
+ * URL of the poster image for the show.
762
+ */
763
+ posterImageUrl: string;
764
+ /**
765
+ * Indicates if the poster image is a fallback URL.
766
+ */
767
+ posterImageIsFallbackUrl: boolean;
768
+ /**
769
+ * URL of the podcast image for the show.
770
+ */
771
+ podcastImageUrl: string;
772
+ /**
773
+ * Indicates if the podcast image is a fallback URL.
774
+ */
775
+ podcastImageIsFallbackUrl: boolean;
776
+ /**
777
+ * URL of the show's homepage.
778
+ */
779
+ homepageUrl: string;
780
+ /**
781
+ * URL for podcast subscription.
782
+ */
783
+ podcastSubscriptionUrl: string;
784
+ /**
785
+ * URL for podcast feed (SD).
786
+ */
787
+ podcastFeedSdUrl: string;
788
+ /**
789
+ * URL for podcast feed (HD).
790
+ */
791
+ podcastFeedHdUrl: string;
792
+ /**
793
+ * URL for podcast on Deezer.
794
+ */
795
+ podcastDeezerUrl: string;
796
+ /**
797
+ * URL for podcast on Spotify.
798
+ */
799
+ podcastSpotifyUrl: string;
800
+ /**
801
+ * URL for the show's timetable.
802
+ */
803
+ timeTableUrl: string;
804
+ /**
805
+ * List of links associated with the show.
806
+ */
807
+ links: Array<Link>;
808
+ /**
809
+ * ID of the primary channel for the show.
810
+ */
811
+ primaryChannelId: string;
812
+ /**
813
+ * Number of times the show has been viewed.
814
+ */
815
+ viewedMedias: number;
816
+ /**
817
+ * Number of episodes available for the show.
818
+ */
819
+ numberOfEpisodes: number;
820
+ /**
821
+ * List of available audio languages for the show.
822
+ */
823
+ availableAudioLanguageList: Array<Language>;
824
+ /**
825
+ * List of available subtitle languages for the show.
826
+ */
827
+ availableSubtitleLanguageList: Array<Language>;
828
+ /**
829
+ * List of available video quality options for the show.
830
+ */
831
+ availableVideoQualityList: Array<QualityType>;
832
+ /**
833
+ * Indicates if audio description is available for the show.
834
+ */
835
+ audioDescriptionAvailable: boolean;
836
+ /**
837
+ * Indicates if subtitles are available for the show.
838
+ */
839
+ subtitlesAvailable: boolean;
840
+ /**
841
+ * Indicates if multiple audio languages are available for the show.
842
+ */
843
+ multiAudioLanguagesAvailable: boolean;
844
+ /**
845
+ * List of topics associated with the show.
846
+ */
847
+ topicList: Array<Topic>;
848
+ /**
849
+ * Information about the show's broadcast.
850
+ */
851
+ broadcastInformation: BroadcastInformation;
852
+ /**
853
+ * Indicates if the show is allowed to be indexed.
854
+ */
855
+ allowIndexing: boolean;
856
+ /**
857
+ * Information about the next scheduled broadcast for the show.
858
+ */
859
+ nextScheduledBroadcast: ScheduledBroadcast;
860
+ /**
861
+ * List of programs for the next scheduled broadcasts.
862
+ */
863
+ nextScheduledBroadcastList: Array<Program>;
864
+ /**
865
+ * URN of the primary channel for the show.
866
+ */
867
+ primaryChannelUrn: string;
868
+ };
869
+ /**
870
+ * Represents a channel.
871
+ */
872
+ export type Channel = {
873
+ /**
874
+ * Unique identifier for the channel.
875
+ */
876
+ id: string;
877
+ /**
878
+ * Vendor of the channel.
879
+ */
880
+ vendor: VendorType;
881
+ /**
882
+ * Title of the channel.
883
+ */
884
+ title: string;
885
+ /**
886
+ * Lead description of the channel.
887
+ */
888
+ lead: string;
889
+ /**
890
+ * Detailed description of the channel.
891
+ */
892
+ description: string;
893
+ /**
894
+ * URL of the image associated with the channel.
895
+ */
896
+ imageUrl: string;
897
+ /**
898
+ * Raw URL of the image associated with the channel.
899
+ */
900
+ imageUrlRaw: string;
901
+ /**
902
+ * Title of the image associated with the channel.
903
+ */
904
+ imageTitle: string;
905
+ /**
906
+ * Copyright information for the channel image.
907
+ */
908
+ imageCopyright: string;
909
+ /**
910
+ * Type of transmission for the channel.
911
+ */
912
+ transmission: TransmissionType;
913
+ /**
914
+ * URL for the channel's timetable.
915
+ */
916
+ timeTableUrl: string;
917
+ /**
918
+ * Information about the presenter associated with the channel.
919
+ */
920
+ presenter: Presenter;
921
+ /**
922
+ * Information about the currently airing program on the channel.
923
+ */
924
+ now: Program;
925
+ /**
926
+ * Information about the next scheduled program on the channel.
927
+ */
928
+ next: Program;
929
+ /**
930
+ * URN (Uniform Resource Name) for the channel.
931
+ */
932
+ urn: string;
933
+ };
934
+ /**
935
+ * Represents a topic.
936
+ */
937
+ export type Topic = {
938
+ /**
939
+ * Unique identifier for the topic.
940
+ */
941
+ id: string;
942
+ /**
943
+ * Vendor of the topic.
944
+ */
945
+ vendor: VendorType;
946
+ /**
947
+ * Type of transmission for the topic.
948
+ */
949
+ transmission: TransmissionType;
950
+ /**
951
+ * URN (Uniform Resource Name) for the topic.
952
+ */
953
+ urn: string;
954
+ /**
955
+ * Title of the topic.
956
+ */
957
+ title: string;
958
+ /**
959
+ * Lead description of the topic.
960
+ */
961
+ lead: string;
962
+ /**
963
+ * Detailed description of the topic.
964
+ */
965
+ description: string;
966
+ /**
967
+ * Number of viewed medias related to the topic.
968
+ */
969
+ viewedMedias: number;
970
+ /**
971
+ * URL of the image associated with the topic.
972
+ */
973
+ imageUrl: string;
974
+ /**
975
+ * Title of the image associated with the topic.
976
+ */
977
+ imageTitle: string;
978
+ /**
979
+ * Copyright information for the topic image.
980
+ */
981
+ imageCopyright: string;
982
+ /**
983
+ * List of subtopics associated with the main topic.
984
+ */
985
+ subTopicList: Array<SubTopic>;
986
+ };
987
+ /**
988
+ * Represents a link.
989
+ */
990
+ export type Link = {
991
+ /**
992
+ * The title of the link.
993
+ */
994
+ title: string;
995
+ /**
996
+ * The URL link.
997
+ */
998
+ link: string;
999
+ };
1000
+ /**
1001
+ * Represents a language.
1002
+ */
1003
+ export type Language = {
1004
+ /**
1005
+ * The locale of the language.
1006
+ */
1007
+ locale: string;
1008
+ /**
1009
+ * The language code.
1010
+ */
1011
+ language: string;
1012
+ };
1013
+ /**
1014
+ * Represents a subtopic.
1015
+ */
1016
+ export type SubTopic = {
1017
+ /**
1018
+ * The unique identifier for the subtopic.
1019
+ */
1020
+ id: string;
1021
+ /**
1022
+ * The vendor of the subtopic.
1023
+ */
1024
+ vendor: VendorType;
1025
+ /**
1026
+ * The transmission type of the subtopic.
1027
+ */
1028
+ transmission: TransmissionType;
1029
+ /**
1030
+ * The URN of the subtopic.
1031
+ */
1032
+ urn: string;
1033
+ /**
1034
+ * The title of the subtopic.
1035
+ */
1036
+ title: string;
1037
+ /**
1038
+ * The lead information for the subtopic.
1039
+ */
1040
+ lead: string;
1041
+ /**
1042
+ * The description of the subtopic.
1043
+ */
1044
+ description: string;
1045
+ /**
1046
+ * The number of viewed medias for the subtopic.
1047
+ */
1048
+ viewedMedias: number;
1049
+ /**
1050
+ * The URL of the image associated with the subtopic.
1051
+ */
1052
+ imageUrl: string;
1053
+ /**
1054
+ * The title of the image associated with the subtopic.
1055
+ */
1056
+ imageTitle: string;
1057
+ /**
1058
+ * The copyright information of the image associated with the subtopic.
1059
+ */
1060
+ imageCopyright: string;
1061
+ };
1062
+ /**
1063
+ * Represents a presenter.
1064
+ */
1065
+ export type Presenter = {
1066
+ /**
1067
+ * The name of the presenter.
1068
+ */
1069
+ name: string;
1070
+ /**
1071
+ * The URL associated with the presenter.
1072
+ */
1073
+ url: string;
1074
+ /**
1075
+ * The URL of the image associated with the presenter.
1076
+ */
1077
+ imageUrl: string;
1078
+ /**
1079
+ * The title of the image associated with the presenter.
1080
+ */
1081
+ imageTitle: string;
1082
+ /**
1083
+ * The copyright information of the image associated with the presenter.
1084
+ */
1085
+ imageCopyright: string;
1086
+ };
1087
+ /**
1088
+ * Represents broadcast information.
1089
+ */
1090
+ export type BroadcastInformation = {
1091
+ /**
1092
+ * The hint text associated with the broadcast.
1093
+ */
1094
+ hintText: string;
1095
+ /**
1096
+ * The URL associated with the broadcast.
1097
+ */
1098
+ url: string;
1099
+ /**
1100
+ * The start date and time of the broadcast in ISO 8601 format.
1101
+ */
1102
+ startDate: string;
1103
+ /**
1104
+ * The end date and time of the broadcast in ISO 8601 format.
1105
+ */
1106
+ endDate: string;
1107
+ };
1108
+ /**
1109
+ * Represents a scheduled broadcast.
1110
+ */
1111
+ export type ScheduledBroadcast = {
1112
+ /**
1113
+ * The title of the scheduled broadcast.
1114
+ */
1115
+ title: string;
1116
+ /**
1117
+ * The start time of the scheduled broadcast in ISO 8601 format.
1118
+ */
1119
+ startTime: string;
1120
+ /**
1121
+ * The end time of the scheduled broadcast in ISO 8601 format.
1122
+ */
1123
+ endTime: string;
1124
+ /**
1125
+ * The title of the channel associated with the scheduled broadcast.
1126
+ */
1127
+ channelTitle: string;
1128
+ /**
1129
+ * The URN (Uniform Resource Name) associated with the channel.
1130
+ */
1131
+ channelUrn: string;
1132
+ };
1133
+ /**
1134
+ * Represents a program.
1135
+ */
1136
+ export type Program = {
1137
+ /**
1138
+ * The title of the program.
1139
+ */
1140
+ title: string;
1141
+ /**
1142
+ * The start time of the program in ISO 8601 format.
1143
+ */
1144
+ startTime: string;
1145
+ /**
1146
+ * The end time of the program in ISO 8601 format.
1147
+ */
1148
+ endTime: string;
1149
+ /**
1150
+ * The lead information of the program.
1151
+ */
1152
+ lead: string;
1153
+ /**
1154
+ * The description of the program.
1155
+ */
1156
+ description: string;
1157
+ /**
1158
+ * The URL of the image associated with the program.
1159
+ */
1160
+ imageUrl: string;
1161
+ /**
1162
+ * Indicates whether the image is a fallback URL.
1163
+ */
1164
+ imageIsFallbackUrl: boolean;
1165
+ /**
1166
+ * The title of the image associated with the program.
1167
+ */
1168
+ imageTitle: string;
1169
+ /**
1170
+ * The copyright information of the image associated with the program.
1171
+ */
1172
+ imageCopyright: string;
1173
+ /**
1174
+ * The URL associated with the program.
1175
+ */
1176
+ url: string;
1177
+ /**
1178
+ * The show associated with the program.
1179
+ */
1180
+ show: Show;
1181
+ /**
1182
+ * The title of the program.
1183
+ */
1184
+ programTitle: string;
1185
+ /**
1186
+ * The URL associated with the program.
1187
+ */
1188
+ programUrl: string;
1189
+ /**
1190
+ * The title of the episode.
1191
+ */
1192
+ episodeTitle: string;
1193
+ /**
1194
+ * The URL associated with the episode.
1195
+ */
1196
+ episodeUrl: string;
1197
+ /**
1198
+ * The title of the image associated with the episode.
1199
+ */
1200
+ episodeImageTitle: string;
1201
+ /**
1202
+ * The URL of the image associated with the episode.
1203
+ */
1204
+ episodeImageUrl: string;
1205
+ /**
1206
+ * The URN (Uniform Resource Name) associated with the media.
1207
+ */
1208
+ mediaUrn: string;
1209
+ /**
1210
+ * The genre of the program.
1211
+ */
1212
+ genre: string;
1213
+ /**
1214
+ * The season number of the program.
1215
+ */
1216
+ seasonNumber: number;
1217
+ /**
1218
+ * The episode number of the program.
1219
+ */
1220
+ episodeNumber: number;
1221
+ /**
1222
+ * The total number of episodes.
1223
+ */
1224
+ episodesTotal: number;
1225
+ /**
1226
+ * The production year of the program.
1227
+ */
1228
+ productionYear: number;
1229
+ /**
1230
+ * The production country of the program.
1231
+ */
1232
+ productionCountry: string;
1233
+ /**
1234
+ * The color code for youth protection.
1235
+ */
1236
+ youthProtectionColor: string;
1237
+ /**
1238
+ * The subtitle information of the program.
1239
+ */
1240
+ subtitle: string;
1241
+ /**
1242
+ * The title of the block associated with the program.
1243
+ */
1244
+ blockTitle: string;
1245
+ /**
1246
+ * The original title of the program.
1247
+ */
1248
+ originalTitle: string;
1249
+ /**
1250
+ * The list of credits associated with the program.
1251
+ */
1252
+ creditList: Array<Credit>;
1253
+ /**
1254
+ * The list of sub-programs associated with the program.
1255
+ */
1256
+ subProgramList: Array<Program>;
1257
+ /**
1258
+ * Indicates whether subtitles are available.
1259
+ */
1260
+ subtitlesAvailable: boolean;
1261
+ /**
1262
+ * Indicates whether the program is live.
1263
+ */
1264
+ isLive: boolean;
1265
+ /**
1266
+ * Indicates whether the program has two languages.
1267
+ */
1268
+ hasTwoLanguages: boolean;
1269
+ /**
1270
+ * Indicates whether the program has sign language.
1271
+ */
1272
+ hasSignLanguage: boolean;
1273
+ /**
1274
+ * Indicates whether the program has visual description.
1275
+ */
1276
+ hasVisualDescription: boolean;
1277
+ /**
1278
+ * Indicates whether the program is a follow-up.
1279
+ */
1280
+ isFollowUp: boolean;
1281
+ /**
1282
+ * Indicates whether the program is in Dolby Digital.
1283
+ */
1284
+ isDolbyDigital: boolean;
1285
+ /**
1286
+ * Indicates whether the program is a repetition.
1287
+ */
1288
+ isRepetition: boolean;
1289
+ /**
1290
+ * The description of the repetition.
1291
+ */
1292
+ repetitionDescription: string;
1293
+ /**
1294
+ * The broadcast information associated with the program.
1295
+ */
1296
+ broadcastInfo: string;
1297
+ /**
1298
+ * The title of the channel associated with the program.
1299
+ */
1300
+ channelTitle: string;
1301
+ /**
1302
+ * The URN (Uniform Resource Name) associated with the channel.
1303
+ */
1304
+ channelUrn: string;
1305
+ /**
1306
+ * The list of headlines associated with the program.
1307
+ */
1308
+ headlineList: Array<Headline>;
1309
+ };
1310
+ /**
1311
+ * Represents credit information.
1312
+ */
1313
+ export type Credit = {
1314
+ /**
1315
+ * The real name associated with the credit.
1316
+ */
1317
+ realName: string;
1318
+ /**
1319
+ * The role of the individual associated with the credit.
1320
+ */
1321
+ role: string;
1322
+ /**
1323
+ * The name associated with the credit.
1324
+ */
1325
+ name: string;
1326
+ };
1327
+ /**
1328
+ * Represents headline information.
1329
+ */
1330
+ export type Headline = {
1331
+ /**
1332
+ * The title of the headline.
1333
+ */
1334
+ title: string;
1335
+ /**
1336
+ * The description of the headline.
1337
+ */
1338
+ description: string;
1339
+ };
1340
+ /**
1341
+ * Broadcasting organizations
1342
+ */
1343
+ export type VendorType = 'SRF' | 'RTR' | 'RTS' | 'RSI' | 'SWI' | 'SSATR';
1344
+ /**
1345
+ * Audio-only or includes video
1346
+ */
1347
+ export type AudioType = 'AUDIO' | 'VIDEO';
1348
+ /**
1349
+ * Reasons for content blocking
1350
+ */
1351
+ export type BlockReason = 'GEOBLOCK' | 'LEGAL' | 'COMMERCIAL' | 'AGERATING18' | 'AGERATING12' | 'STARTDATE' | 'ENDDATE' | 'UNKNOWN';
1352
+ /**
1353
+ * Medium of transmission
1354
+ */
1355
+ export type TransmissionType = 'TV' | 'RADIO' | 'ONLINE';
1356
+ /**
1357
+ * Content quality
1358
+ */
1359
+ export type QualityType = 'SD' | 'HD' | 'HQ';
1360
+ /**
1361
+ * Source type for audio/video tracks
1362
+ */
1363
+ export type TrackSourceType = 'HLS' | 'HDS' | 'DASH';
1364
+ /**
1365
+ * Presentation format
1366
+ */
1367
+ export type PresentationType = 'DEFAULT' | 'VIDEO_360';
1368
+ /**
1369
+ * Enumerates various streaming methods
1370
+ */
1371
+ export type StreamingType = 'PROGRESSIVE' | 'M3UPLAYLIST' | 'HLS' | 'HDS' | 'RTMP' | 'DASH' | 'UNKNOWN';
1372
+ /**
1373
+ * Represents different token types for authentication
1374
+ */
1375
+ export type TokenType = 'AKAMAI' | 'NONE';
1376
+ /**
1377
+ * Represents the transformed format of a resource.
1378
+ */
1379
+ export interface MainResource {
1380
+ /**
1381
+ * Merged analytics data.
1382
+ */
1383
+ analyticsData: {
1384
+ [x: string]: string;
1385
+ };
1386
+ /**
1387
+ * Merged analytics metadata.
1388
+ */
1389
+ analyticsMetadata: {
1390
+ [x: string]: string;
1391
+ };
1392
+ /**
1393
+ * Block reason from the main chapter.
1394
+ */
1395
+ blockReason: BlockReason;
1396
+ /**
1397
+ * Blocked segments from the main chapter.
1398
+ */
1399
+ blockedSegments: Array<Segment>;
1400
+ /**
1401
+ * Chapters from the main chapter.
1402
+ */
1403
+ chapters: Array<Chapter>;
1404
+ /**
1405
+ * Vendor from the main chapter.
1406
+ */
1407
+ vendor: VendorType;
1408
+ /**
1409
+ * List of DRM information from the resource.
1410
+ */
1411
+ drmList: Array<DrmMetadata>;
1412
+ /**
1413
+ * DVR information from the resource.
1414
+ */
1415
+ dvr: boolean;
1416
+ /**
1417
+ * Event data from the main chapter.
1418
+ */
1419
+ eventData: string;
1420
+ /**
1421
+ * ID from the main chapter.
1422
+ */
1423
+ id: string;
1424
+ /**
1425
+ * The url of the copyright image copyright from the main chapter.
1426
+ */
1427
+ imageCopyright: string;
1428
+ /**
1429
+ * The url of the image from the main chapter.
1430
+ */
1431
+ imageUrl: string;
1432
+ /**
1433
+ * Live status from the resource.
1434
+ */
1435
+ live: boolean;
1436
+ /**
1437
+ * Media type from the main chapter.
1438
+ */
1439
+ mediaType: AudioType;
1440
+ /**
1441
+ * MIME type from the resource.
1442
+ */
1443
+ mimeType: string;
1444
+ /**
1445
+ * Presentation information from the resource.
1446
+ */
1447
+ presentation: PresentationType;
1448
+ /**
1449
+ * Quality information from the resource.
1450
+ */
1451
+ quality: QualityType;
1452
+ /**
1453
+ * Streaming information from the resource.
1454
+ */
1455
+ streaming: StreamingType;
1456
+ /**
1457
+ * Stream offset from the resource.
1458
+ */
1459
+ streamOffset: number;
1460
+ /**
1461
+ * Filtered external subtitles.
1462
+ */
1463
+ subtitles: Array<Subtitle>;
1464
+ /**
1465
+ * The title of this resource.
1466
+ */
1467
+ title: string;
1468
+ /**
1469
+ * Time intervals from the main chapter.
1470
+ */
1471
+ intervals: Array<TimeInterval>;
1472
+ /**
1473
+ * Token type from the resource.
1474
+ */
1475
+ tokenType: TokenType;
1476
+ /**
1477
+ * URL from the resource.
1478
+ */
1479
+ url: string;
1480
+ /**
1481
+ * Chapter URN.
1482
+ */
1483
+ urn: string;
1484
+ }
1485
+ //# sourceMappingURL=typedef.d.ts.map