@glomex/integration-web-component 1.1305.0 → 1.1307.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 (2) hide show
  1. package/build/index.d.ts +124 -124
  2. package/package.json +3 -3
package/build/index.d.ts CHANGED
@@ -94,7 +94,7 @@ declare interface ExperimentVariant {
94
94
  *
95
95
  * @example the most simple glomex-external-media-item with inline JSON
96
96
  *
97
- * It is possible to use {@link MediaItem}, {@link MinimalMediaItem}, or array of {@link MediaItem} or {@link MinimalMediaItem}
97
+ * It is possible to use {@link MediaItem} or array of {@link MediaItem}
98
98
  * in JSON format.
99
99
  *
100
100
  * ```html
@@ -182,7 +182,7 @@ export declare class ExternalMediaItemElement extends HTMLElement implements Med
182
182
  * {@inheritDoc MediaItem#hasProductPlacement}
183
183
  */
184
184
  hasProductPlacement?: boolean;
185
- get data(): MinimalMediaItem | MediaItem;
185
+ get data(): MediaItem;
186
186
  }
187
187
 
188
188
  export declare function getIntegrationCssUrl(integrationId: string): string;
@@ -239,6 +239,15 @@ export declare class GlomexMediaItemElement extends HTMLElement {
239
239
  title: string;
240
240
  }
241
241
 
242
+ export declare interface GlomexMediaItemWithOverrides {
243
+ id: string;
244
+ overrides: {
245
+ title?: string;
246
+ poster?: string;
247
+ teaserVideo?: string;
248
+ };
249
+ }
250
+
242
251
  /**
243
252
  * Web component to integrate the player.
244
253
  *
@@ -662,15 +671,102 @@ declare interface MediaError_2 {
662
671
  }
663
672
  export { MediaError_2 as MediaError }
664
673
 
665
- export declare interface MediaItem extends MinimalMediaItem {
666
- /** @ignore */
667
- ppsj: string;
674
+ export declare interface MediaItem {
675
+ /**
676
+ * Unique identifier of the media item.
677
+ */
678
+ id: string;
679
+ /**
680
+ * Poster image of the media item.
681
+ */
682
+ poster: string;
683
+ /**
684
+ * Sources of the media item.
685
+ */
686
+ sources: MediaSource_2[];
687
+ /**
688
+ * Title of the media item.
689
+ */
690
+ title: string;
691
+ /**
692
+ * Duration of the media item in seconds. Not defined when livestream.
693
+ */
694
+ duration?: number;
695
+ /**
696
+ * Description of the media item.
697
+ */
698
+ description?: string;
699
+ /**
700
+ * Language of the media item. 2-letter ISO language code.
701
+ *
702
+ * @defaultValue `de` (German)
703
+ */
704
+ language?: string;
705
+ /**
706
+ * IAB categories (as {@link iabCategoryTaxonomy}) of the media item. Used for monetization.
707
+ */
708
+ iabCategories?: string[];
709
+ /**
710
+ * IAB category taxonomy used for {@link iabCategories} ({@link https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/main/AdCOM%20v1.0%20FINAL.md#list_categorytaxonomies see IAB spec for details})
711
+ * @defaultValue `9` for IAB Tech Lab Content Taxonomy 3.1
712
+ */
713
+ iabCategoryTaxonomy?: number;
714
+ /**
715
+ * Aspect ratio of the media item. Useful when vertical variants are used.
716
+ *
717
+ * @defaultValue `16:9`
718
+ */
719
+ aspectRatio?: string;
720
+ /**
721
+ * Minimum age to watch the media item. Shows a minimum age indicator in the UI.
722
+ *
723
+ * @defaultValue `0` (no minimum age)
724
+ */
725
+ minimumAge?: number;
726
+ /**
727
+ * Release date of the media item. Unix timestamp in milliseconds.
728
+ * Useful for JSON-LD generation.
729
+ */
730
+ releaseDate?: number;
731
+ /**
732
+ * Time when the media item expires. Unix timestamp in milliseconds.
733
+ * Useful for JSON-LD generation.
734
+ */
735
+ endDate?: number;
736
+ /**
737
+ * Whether the media item has product placements. Shows a product placement indicator in the UI.
738
+ */
739
+ hasProductPlacement?: boolean;
740
+ /**
741
+ * Channel of the media item.
742
+ */
743
+ channel?: Channel;
744
+ /**
745
+ * Markers of the media item.
746
+ *
747
+ * @defaultValue `[{ name: KnownMarkerName.PREROLL, type: MarkerType.TIME_IN_SECONDS, threshold: 0 }]`
748
+ */
749
+ markers?: (Marker | CustomMarker)[];
750
+ /**
751
+ * In which country can this media item be played (e.g. `['de', 'at']`)? Useful for
752
+ * JSON-LD generation.
753
+ *
754
+ * @defaultValue `['all']` (worldwide)
755
+ */
756
+ regionsAllowed?: string[];
757
+ /**
758
+ * Will be automatically filled based on {@link minimumAge} and {@link iabCategories}.
759
+ * @ignore */
760
+ ppsj?: string;
668
761
  /**
669
762
  * Mark this media item as a recommendation.
670
763
  */
671
764
  isRecommendation?: boolean;
672
- /** @ignore */
673
- playlistId: string;
765
+ /**
766
+ * An internal marker for the used playlist. It is automatically filled.
767
+ * @ignore
768
+ */
769
+ playlistId?: string;
674
770
  /**
675
771
  * JSON-LD `contentUrl` that allows search engines to crawl the media source.
676
772
  * You should only allow known crawlers ({@link https://developers.google.com/search/docs/crawling-indexing/verifying-googlebot?hl=en how to verify Googlebot & Crawler})
@@ -678,7 +774,8 @@ export declare interface MediaItem extends MinimalMediaItem {
678
774
  */
679
775
  seoContentUrl?: string;
680
776
  /**
681
- * Additional teaser options.
777
+ * Additional teaser options that improve the loading experience and enable additional
778
+ * integration variants.
682
779
  */
683
780
  teaser?: {
684
781
  /** Image of the first frame of the media item. Used for initially showing the first frame of the media item. */
@@ -687,30 +784,16 @@ export declare interface MediaItem extends MinimalMediaItem {
687
784
  firstFrameBlurHash?: string | null;
688
785
  /** Blurred version of the first frame of the media item. Used to show something early while loading. */
689
786
  firstFrameBlurred?: string;
690
- /**
691
- * The root `poster` is used
692
- * @ignore
693
- */
694
- poster?: string;
695
787
  /** {@link https://blurha.sh/ Blurhash} of the poster of the media item. Used for coloring the background. */
696
788
  posterBlurHash?: string | null;
697
789
  /** Blurred version of the poster of the media item. Used to show something early while loading. */
698
790
  posterBlurred?: string;
699
- /**
700
- * Can probably be removed because unused.
701
- * @ignore
702
- */
703
- thumbnail?: string;
704
791
  /** Teaser video URL which is used for previewing the media item for some integrations. */
705
792
  video?: string;
706
- /**
707
- * The root `title` is used
708
- *
709
- * @ignore
710
- */
711
- title?: string;
712
793
  };
713
- /** @ignore */
794
+ /**
795
+ * Additional labels for this media item.
796
+ */
714
797
  labels?: {
715
798
  id: string;
716
799
  name: string;
@@ -723,7 +806,7 @@ export declare interface MediaItem extends MinimalMediaItem {
723
806
  name: string;
724
807
  };
725
808
  /**
726
- * Details to show for the age rating (e.g. `['Alcohol']`)
809
+ * Additional details to show for the age rating (e.g. `['Alcohol']`) next to the minimum age.
727
810
  */
728
811
  ageRatingDetails?: string[];
729
812
  /** Keywords of the media item */
@@ -738,10 +821,17 @@ export declare interface MediaItem extends MinimalMediaItem {
738
821
  name: string;
739
822
  id?: string;
740
823
  };
824
+ /** Error information if the media item is not available upfront. */
741
825
  error?: MediaItemError;
742
- /** @ignore */
826
+ /**
827
+ * Internal definition of experiments.
828
+ * @ignore
829
+ */
743
830
  experiments?: Experiment[];
744
- /** @ignore */
831
+ /**
832
+ * Advanced additional content branding (e.g. L around the video).
833
+ * @ignore
834
+ */
745
835
  branding?: {
746
836
  backgroundColor?: string;
747
837
  cutInZoomAssetUrl?: string;
@@ -749,17 +839,6 @@ export declare interface MediaItem extends MinimalMediaItem {
749
839
  logoUrl?: string;
750
840
  logoLinkUrl?: string;
751
841
  };
752
- /** @ignore */
753
- tracking?: {
754
- scriptUrl: string;
755
- data?: {
756
- episodeExternalId?: string;
757
- showTitle?: string;
758
- showId?: string;
759
- onlineExclusive?: boolean;
760
- channel?: string;
761
- };
762
- };
763
842
  /** Livestream details */
764
843
  livestream?: {
765
844
  /** UTC start time of the livestream in milliseconds */
@@ -767,8 +846,11 @@ export declare interface MediaItem extends MinimalMediaItem {
767
846
  /** UTC end time of the livestream in milliseconds */
768
847
  endTime?: number;
769
848
  };
770
- /** @ignore */
771
- allowTeaserExperiments: boolean;
849
+ /**
850
+ * Only relevant for glomex-internal use.
851
+ * @ignore
852
+ */
853
+ allowTeaserExperiments?: boolean;
772
854
  /**
773
855
  * URL of the API script that should be executed for this media-item. Script
774
856
  * must export `export function connectIntegration(glomexIntegration) {}`
@@ -830,7 +912,7 @@ export declare interface MediaItem extends MinimalMediaItem {
830
912
  * ```
831
913
  */
832
914
  export declare interface MediaItemElement extends HTMLElement {
833
- readonly data: MediaItem | MinimalMediaItem | (MediaItem | MinimalMediaItem)[] | Promise<MediaItem | MinimalMediaItem | (MediaItem | MinimalMediaItem)[]>;
915
+ readonly data: MediaItem | MediaItem[] | Promise<MediaItem | MediaItem[]>;
834
916
  }
835
917
 
836
918
  /**
@@ -960,88 +1042,6 @@ export declare enum Mimetype {
960
1042
  JOYN = "application/x-joyn-source"
961
1043
  }
962
1044
 
963
- export declare interface MinimalMediaItem {
964
- /**
965
- * Unique identifier of the media item.
966
- */
967
- id: string;
968
- /**
969
- * Poster image of the media item.
970
- */
971
- poster: string;
972
- /**
973
- * Sources of the media item.
974
- */
975
- sources: MediaSource_2[];
976
- /**
977
- * Title of the media item.
978
- */
979
- title: string;
980
- /**
981
- * Duration of the media item in seconds. Not defined when livestream.
982
- */
983
- duration?: number;
984
- /**
985
- * Description of the media item.
986
- */
987
- description?: string;
988
- /**
989
- * Language of the media item. 2-letter ISO language code.
990
- *
991
- * @defaultValue `de` (German)
992
- */
993
- language?: string;
994
- /**
995
- * IAB categories (as {@link iabCategoryTaxonomy}) of the media item.
996
- */
997
- iabCategories?: string[];
998
- /**
999
- * IAB category taxonomy used for {@link iabCategories} ({@link https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/main/AdCOM%20v1.0%20FINAL.md#list_categorytaxonomies see IAB spec for details})
1000
- * @defaultValue `9` for IAB Tech Lab Content Taxonomy 3.1
1001
- */
1002
- iabCategoryTaxonomy?: number;
1003
- /**
1004
- * Aspect ratio of the media item.
1005
- *
1006
- * @defaultValue `16:9`
1007
- */
1008
- aspectRatio?: string;
1009
- /**
1010
- * Minimum age to watch the media item.
1011
- *
1012
- * @defaultValue `0` (no minimum age)
1013
- */
1014
- minimumAge?: number;
1015
- /**
1016
- * Release date of the media item. Unix timestamp in milliseconds.
1017
- */
1018
- releaseDate?: number;
1019
- /**
1020
- * Time when the media item expires. Unix timestamp in milliseconds.
1021
- */
1022
- endDate?: number;
1023
- /**
1024
- * Whether the media item has product placements.
1025
- */
1026
- hasProductPlacement?: boolean;
1027
- /**
1028
- * Channel of the media item.
1029
- */
1030
- channel?: Channel;
1031
- /**
1032
- * Markers of the media item.
1033
- *
1034
- * @defaultValue `[{ name: KnownMarkerName.PREROLL, type: MarkerType.TIME_IN_SECONDS, threshold: 0 }]`
1035
- */
1036
- markers?: (Marker | CustomMarker)[];
1037
- /**
1038
- * In which country can this media item be played (e.g. `['de', 'at']`)?
1039
- *
1040
- * @defaultValue `['all']` (worldwide)
1041
- */
1042
- regionsAllowed?: string[];
1043
- }
1044
-
1045
1045
  export declare interface Page {
1046
1046
  url: string;
1047
1047
  searchParams: Record<string, string>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glomex/integration-web-component",
3
- "version": "1.1305.0",
3
+ "version": "1.1307.0",
4
4
  "description": "Web component and types to integrate the glomex player",
5
5
  "documentation": "https://docs.glomex.com",
6
6
  "homepage": "https://glomex.com",
@@ -29,7 +29,7 @@
29
29
  },
30
30
  "devDependencies": {
31
31
  "@biomejs/biome": "^1.9.4",
32
- "@glomex/integration": "^1.1305.0",
32
+ "@glomex/integration": "^1.1307.0",
33
33
  "@microsoft/api-extractor": "^7.52.1",
34
34
  "@rslib/core": "^0.5.4",
35
35
  "typescript": "^5.8.2"
@@ -37,5 +37,5 @@
37
37
  "publishConfig": {
38
38
  "access": "public"
39
39
  },
40
- "gitHead": "acc38129ee0700428d347661b777f53dc9cbe1cc"
40
+ "gitHead": "2a424fb7203a73ed818e3f58ec4b20c9e56b9b14"
41
41
  }