@glomex/integration-web-component 1.1522.5 → 1.1524.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.
package/dist/index.d.ts CHANGED
@@ -200,18 +200,6 @@ export declare interface Consent {
200
200
  addtlConsent?: string;
201
201
  }
202
202
 
203
- /**
204
- * Selected source of the given content.
205
- */
206
- export declare interface ContentSource {
207
- id?: string;
208
- mimetype: Mimetype;
209
- src: string;
210
- playbackMode: PlaybackMode;
211
- entitlementToken?: string;
212
- drm: boolean;
213
- }
214
-
215
203
  export declare enum ContentStopReason {
216
204
  CLEAR_PLAYLIST = "clearPlaylist",
217
205
  SELECT_PLAYLIST_ITEM = "selectPlaylistItem",
@@ -265,6 +253,19 @@ export declare enum DeviceIdName {
265
253
  WAID = "waid"
266
254
  }
267
255
 
256
+ /**
257
+ * Standard EME key system identifiers for the DRM systems supported by the player.
258
+ *
259
+ * Set by the content service after DRM-support detection and source
260
+ * selection so that the video element only needs to know *which* DRM
261
+ * system is in use — without license URIs, tokens or certificates.
262
+ */
263
+ export declare enum DrmSystem {
264
+ FAIRPLAY = "com.apple.fps",
265
+ WIDEVINE = "com.widevine.alpha",
266
+ PLAYREADY = "com.microsoft.playready"
267
+ }
268
+
268
269
  declare interface Experiment {
269
270
  name: string;
270
271
  enabled: boolean;
@@ -647,8 +648,7 @@ export declare class IntegrationElement extends HTMLElement implements Integrati
647
648
  /**
648
649
  * Seeks the media to the specified time, updating the current playback time.
649
650
  *
650
- * An initial start time can be assigned after the {@link IntegrationEvent.CONTENT_LOADSTART} event.
651
- * Alternatively, set {@link MediaItem.resumePosition} on the media item to have it applied automatically on load.
651
+ * To set an initial start time, use {@link MediaItem.resumePosition} on the media item.
652
652
  *
653
653
  * @param time - The time (in seconds) to seek to.
654
654
  */
@@ -739,7 +739,7 @@ export declare class IntegrationElement extends HTMLElement implements Integrati
739
739
  /**
740
740
  * Retrieves the currently selected source.
741
741
  */
742
- get source(): ContentSource | undefined;
742
+ get source(): SourceSelected | undefined;
743
743
  /**
744
744
  * Retrieves the current playlist.
745
745
  */
@@ -909,13 +909,14 @@ export declare interface IntegrationElementEventMap {
909
909
  */
910
910
  [IntegrationEvent.CONTENT_SELECT]: CustomEvent<{
911
911
  sessionId: string;
912
- source: ContentSource;
912
+ source: SourceSelected & {
913
+ /**
914
+ * Entitlement token for the source, if any.
915
+ * @deprecated For Joyn sources, read from `source.metadata.entitlementToken` instead.
916
+ */
917
+ entitlementToken?: string;
918
+ };
913
919
  }>;
914
- /**
915
- * @inheritdoc IntegrationEvent.CONTENT_LOADSTART
916
- * @eventProperty
917
- */
918
- [IntegrationEvent.CONTENT_LOADSTART]: CustomEvent<void>;
919
920
  /**
920
921
  * @inheritdoc IntegrationEvent.CONTENT_START
921
922
  * @eventProperty
@@ -945,12 +946,18 @@ export declare interface IntegrationElementEventMap {
945
946
  [IntegrationEvent.CONTENT_STOP]: CustomEvent<{
946
947
  reason: ContentStopReason;
947
948
  }>;
949
+ /**
950
+ * @inheritdoc IntegrationEvent.CONTENT_SUSPEND
951
+ * @eventProperty
952
+ */
953
+ [IntegrationEvent.CONTENT_SUSPEND]: CustomEvent<void>;
948
954
  /**
949
955
  * @inheritdoc IntegrationEvent.CONTENT_ERROR
950
956
  * @eventProperty
951
957
  */
952
958
  [IntegrationEvent.CONTENT_ERROR]: CustomEvent<{
953
959
  error: SerializedError;
960
+ recoverable: boolean;
954
961
  }>;
955
962
  /**
956
963
  * @inheritdoc IntegrationEvent.CONTENT_MARKER_REACHED
@@ -1140,13 +1147,6 @@ export declare enum IntegrationEvent {
1140
1147
  * @eventProperty
1141
1148
  */
1142
1149
  CONTENT_SELECT = "contentselect",
1143
- /**
1144
- * When the content source has started loading.
1145
- * Fired before {@link IntegrationEvent.CONTENT_SELECT} once the media element's `loadstart` event occurs.
1146
- * An initial {@link IntegrationElement#currentTime} can be assigned after this event.
1147
- * @eventProperty
1148
- */
1149
- CONTENT_LOADSTART = "loadstart",
1150
1150
  /**
1151
1151
  * When content started initially (e.g. before ad break).
1152
1152
  * @eventProperty
@@ -1173,6 +1173,12 @@ export declare enum IntegrationEvent {
1173
1173
  * @eventProperty
1174
1174
  */
1175
1175
  CONTENT_STOP = "contentstop",
1176
+ /**
1177
+ * When content playback is suspended due to a recoverable error (e.g. network error, PIN required).
1178
+ * The session is not over — playback may resume after a reload.
1179
+ * @eventProperty
1180
+ */
1181
+ CONTENT_SUSPEND = "contentsuspend",
1176
1182
  /**
1177
1183
  * When a content error occurs upon loading or playing the content.
1178
1184
  * @eventProperty
@@ -1418,6 +1424,26 @@ export declare interface IntegrationProperties {
1418
1424
  export declare class JoynMediaItemElement extends MediaItemElement {
1419
1425
  }
1420
1426
 
1427
+ /** Source metadata produced by the Joyn media provider. */
1428
+ export declare interface JoynSourceMetadata extends SourceMetadataBase {
1429
+ /** Identifies this metadata as produced by the Joyn provider. */
1430
+ provider: 'joyn';
1431
+ /** Distribution tenant name (e.g. `"JOYN"`, `"JOYN_AT"`, `"JOYN_CH"`). May be absent when the entitlement token cannot be decoded. */
1432
+ distributionTenant?: string;
1433
+ /** Anonymous user identifier. May be absent when the entitlement token cannot be decoded. */
1434
+ anonymousId?: string;
1435
+ /** Authenticated user identifier. May be absent when the entitlement token cannot be decoded. */
1436
+ userId?: string;
1437
+ /** CDN delivery network identifier returned by the playlist service (e.g. `"akamai"`, `"amazon"`, `"fastly"`). */
1438
+ deliveryNetwork: string;
1439
+ /** DRM protection system used for the source (e.g. `"fairplay"`, `"widevine"`, `"playready"`). */
1440
+ protectionSystem: string;
1441
+ /** DRM encryption scheme used for the source (`"cenc"` or `"cbcs"`). */
1442
+ encryptionScheme: string;
1443
+ /** Entitlement token received from the Joyn entitlement service. */
1444
+ entitlementToken: string;
1445
+ }
1446
+
1421
1447
  export declare enum KnownMarkerName {
1422
1448
  PREROLL = "preroll",
1423
1449
  MIDROLL = "midroll",
@@ -1521,7 +1547,7 @@ export declare interface MediaItem {
1521
1547
  /**
1522
1548
  * Sources of the media item.
1523
1549
  */
1524
- sources?: MediaSource_2[];
1550
+ sources?: Partial<SourceMediaItem>[];
1525
1551
  /**
1526
1552
  * Array of text tracks for subtitles, captions, etc.
1527
1553
  * These tracks apply to the whole media item, not to individual sources.
@@ -1940,6 +1966,8 @@ export declare interface MediaItemReference {
1940
1966
  * source to fetch the media item from.
1941
1967
  */
1942
1968
  item?: MediaItem;
1969
+ /** Whether to observe stream termination independent of business model. */
1970
+ forceObserveTermination?: boolean;
1943
1971
  }
1944
1972
 
1945
1973
  /**
@@ -1955,7 +1983,10 @@ export declare interface MediaItemReference {
1955
1983
  */
1956
1984
  export declare interface MediaItemResolved extends Omit<MediaItem, 'id' | 'sources' | 'title' | 'regionsAllowed' | 'aspectRatio' | 'minimumAge' | 'iabCategoryTaxonomy' | 'language'> {
1957
1985
  id: NonNullable<MediaItem['id']>;
1958
- sources: NonNullable<MediaItem['sources']>;
1986
+ sources: (SourceMediaItem & {
1987
+ id: string;
1988
+ mimetype: Mimetype;
1989
+ })[];
1959
1990
  title: NonNullable<MediaItem['title']>;
1960
1991
  regionsAllowed: NonNullable<MediaItem['regionsAllowed']>;
1961
1992
  /**
@@ -1982,14 +2013,13 @@ export declare interface MediaItemResolved extends Omit<MediaItem, 'id' | 'sourc
1982
2013
  */
1983
2014
  provider: MediaItemProvider | `${MediaItemProvider}`;
1984
2015
  /**
1985
- * The original inline item from the {@link MediaItemReference} that produced
1986
- * this resolved item. Preserved so that re-resolution (e.g. playlist-item
1987
- * updates) can pass it back to the provider.
2016
+ * The original {@link MediaItemReference} that produced this resolved item.
2017
+ * Preserved so that re-resolution (e.g. playlist-item updates) can pass it
2018
+ * back to the provider.
1988
2019
  *
1989
- * A temporary fix until we do the full resolving of Joyn content.
1990
2020
  * @ignore
1991
2021
  */
1992
- _referenceItem?: MediaItem;
2022
+ _referenceItem?: MediaItemReference;
1993
2023
  }
1994
2024
 
1995
2025
  /**
@@ -2068,111 +2098,12 @@ export declare enum MediaProviderErrorCode {
2068
2098
  GENERIC = "Generic"
2069
2099
  }
2070
2100
 
2071
- declare type MediaSource_2 = MediaSourceBase | MediaSourceDrm | MediaSourceJoyn | MediaSourceDynamicContent;
2101
+ /**
2102
+ * @deprecated Use {@link SourceMediaItem} instead.
2103
+ */
2104
+ declare type MediaSource_2 = SourceMediaItem;
2072
2105
  export { MediaSource_2 as MediaSource }
2073
2106
 
2074
- export declare interface MediaSourceBase {
2075
- /**
2076
- * Unique identifier of the media source.
2077
- *
2078
- * @defaultValue `V1StGXR8_Z5jdHi6B-myT` a generated identifier
2079
- */
2080
- id?: string;
2081
- /**
2082
- * Mimetype of the media source.
2083
- *
2084
- * @defaultValue detected from file extension of given {@link src} or `undefined`
2085
- */
2086
- mimetype?: Mimetype;
2087
- /**
2088
- * The source URL of this media source.
2089
- */
2090
- src: string;
2091
- /**
2092
- * Until the media source is valid. Unix timestamp in milliseconds.
2093
- */
2094
- validUntil?: number;
2095
- /**
2096
- * Content mode of the media source.
2097
- *
2098
- * @defaultValue `PlaybackMode.VOD`
2099
- */
2100
- playbackMode?: PlaybackMode;
2101
- }
2102
-
2103
- export declare interface MediaSourceDrm extends MediaSourceBase {
2104
- /**
2105
- * DRM provider header name. Only relevant in combination with tokens.
2106
- */
2107
- drmProviderHeaderName?: string;
2108
- /**
2109
- * Fairplay license URI. Or `undefined` when {@link fairplayToken} in combination with {@link drmProviderHeaderName} is provided.
2110
- */
2111
- fairplayLicenseUri?: string;
2112
- /**
2113
- * FairPlay certificate URI.
2114
- */
2115
- fairplayCertificateUri?: string;
2116
- /**
2117
- * FairPlay token.
2118
- */
2119
- fairplayToken?: string;
2120
- /**
2121
- * Widevine license URI. Or `undefined` when {@link widevineToken} in combination with {@link drmProviderHeaderName} is provided.
2122
- */
2123
- widevineLicenseUri?: string;
2124
- /**
2125
- * Widevine token.
2126
- */
2127
- widevineToken?: string;
2128
- /**
2129
- * PlayReady license URI. Or `undefined` when {@link playreadyToken} in combination with {@link drmProviderHeaderName} is provided.
2130
- */
2131
- playreadyLicenseUri?: string;
2132
- /**
2133
- * PlayReady token.
2134
- */
2135
- playreadyToken?: string;
2136
- }
2137
-
2138
- export declare interface MediaSourceDynamicContent extends MediaSourceBase {
2139
- mimetype: Mimetype.DYNAMIC_CONTENT;
2140
- }
2141
-
2142
- export declare interface MediaSourceJoyn {
2143
- /**
2144
- * Media / asset identifier of joyn.
2145
- */
2146
- id: string;
2147
- mimetype: Mimetype.JOYN;
2148
- /**
2149
- * User token used for authentication.
2150
- */
2151
- token: string;
2152
- /** {@inheritDoc MediaSourceBase.playbackMode} */
2153
- playbackMode?: PlaybackMode;
2154
- /**
2155
- * Allowing to enforce stage environment
2156
- */
2157
- environment?: 'stg';
2158
- /**
2159
- * Distribution tenant name, could be JOYN, JOYN_AT, JOYN_CH
2160
- */
2161
- distributionTenant?: string;
2162
- /**
2163
- * User ID
2164
- */
2165
- userId?: string;
2166
- /**
2167
- * Shall the source be observed independent of business model?
2168
- */
2169
- forceObserveTermination?: boolean;
2170
- /**
2171
- * @ignore
2172
- */
2173
- validUntil?: number;
2174
- }
2175
-
2176
2107
  /**
2177
2108
  * Base interface for all media track types.
2178
2109
  * Provides common properties shared by audio, video, and text tracks.
@@ -2482,6 +2413,155 @@ export declare interface SharedContextData {
2482
2413
  };
2483
2414
  }
2484
2415
 
2416
+ export declare type SourceMediaItem = SourceMediaItemBase | SourceMediaItemDrm | SourceMediaItemJoyn;
2417
+
2418
+ export declare interface SourceMediaItemBase {
2419
+ /**
2420
+ * Unique identifier of the media source.
2421
+ *
2422
+ * @defaultValue `V1StGXR8_Z5jdHi6B-myT` a generated identifier
2423
+ */
2424
+ id?: string;
2425
+ /**
2426
+ * Mimetype of the media source.
2427
+ *
2428
+ * @defaultValue detected from file extension of given {@link src} or `undefined`
2429
+ */
2430
+ mimetype?: Mimetype;
2431
+ /**
2432
+ * The source URL of this media source.
2433
+ */
2434
+ src: string;
2435
+ /**
2436
+ * Until the media source is valid. Unix timestamp in milliseconds.
2437
+ */
2438
+ validUntil?: number;
2439
+ /**
2440
+ * Content mode of the media source.
2441
+ *
2442
+ * @defaultValue `PlaybackMode.VOD`
2443
+ */
2444
+ playbackMode?: PlaybackMode;
2445
+ /**
2446
+ * Duration in seconds. Only relevant for dynamic content.
2447
+ */
2448
+ duration?: number;
2449
+ }
2450
+
2451
+ export declare interface SourceMediaItemDrm extends SourceMediaItemBase {
2452
+ /**
2453
+ * The DRM system this source requires.
2454
+ *
2455
+ * When set together with the generic fields (`licenseUrl`,
2456
+ * `certificateUrl`), identifies the single DRM system those fields
2457
+ * apply to. When using legacy per-system fields, can be omitted and
2458
+ * will be inferred during normalization.
2459
+ */
2460
+ drmSystem?: DrmSystem;
2461
+ /**
2462
+ * DRM token to include in license requests for the selected DRM system.
2463
+ */
2464
+ token?: string;
2465
+ /**
2466
+ * License server URL for the selected DRM system.
2467
+ * Preferred over the system-specific `fairplayLicenseUri` / `widevineLicenseUri` / `playreadyLicenseUri`.
2468
+ */
2469
+ licenseUrl?: string;
2470
+ /**
2471
+ * Certificate URL (relevant for FairPlay).
2472
+ * Preferred over `fairplayCertificateUri`.
2473
+ */
2474
+ certificateUrl?: string;
2475
+ /**
2476
+ * Fairplay license URI.
2477
+ * @deprecated Use {@link licenseUrl} with `drmSystem: DrmSystem.FAIRPLAY` instead.
2478
+ */
2479
+ fairplayLicenseUri?: string;
2480
+ /**
2481
+ * FairPlay certificate URI.
2482
+ * @deprecated Use {@link certificateUrl} with `drmSystem: DrmSystem.FAIRPLAY` instead.
2483
+ */
2484
+ fairplayCertificateUri?: string;
2485
+ /**
2486
+ * FairPlay token.
2487
+ * @deprecated Use `token` with `drmSystem: DrmSystem.FAIRPLAY` instead.
2488
+ */
2489
+ fairplayToken?: string;
2490
+ /**
2491
+ * Widevine license URI.
2492
+ * @deprecated Use {@link licenseUrl} with `drmSystem: DrmSystem.WIDEVINE` instead.
2493
+ */
2494
+ widevineLicenseUri?: string;
2495
+ /**
2496
+ * Widevine token.
2497
+ * @deprecated Use `token` with `drmSystem: DrmSystem.WIDEVINE` instead.
2498
+ */
2499
+ widevineToken?: string;
2500
+ /**
2501
+ * PlayReady license URI.
2502
+ * @deprecated Use {@link licenseUrl} with `drmSystem: DrmSystem.PLAYREADY` instead.
2503
+ */
2504
+ playreadyLicenseUri?: string;
2505
+ /**
2506
+ * PlayReady token.
2507
+ * @deprecated Use `token` with `drmSystem: DrmSystem.PLAYREADY` instead.
2508
+ */
2509
+ playreadyToken?: string;
2510
+ }
2511
+
2512
+ export declare interface SourceMediaItemJoyn {
2513
+ /**
2514
+ * Media / asset identifier of joyn.
2515
+ */
2516
+ id: string;
2517
+ mimetype: Mimetype.JOYN;
2518
+ /**
2519
+ * User token used for authentication.
2520
+ */
2521
+ token: string;
2522
+ /**
2523
+ * Allowing to enforce stage environment.
2524
+ * @deprecated Use {@link MediaItemReference.environment} instead.
2525
+ */
2526
+ environment?: 'stg';
2527
+ /** {@inheritDoc SourceMediaItemBase.playbackMode} */
2528
+ playbackMode?: PlaybackMode;
2529
+ }
2530
+
2531
+ /**
2532
+ * Source metadata that may differ per provider.
2533
+ *
2534
+ * Available on {@link SourceSelected.metadata}. Narrow with
2535
+ * `metadata.provider === 'joyn'` to access {@link JoynSourceMetadata} fields.
2536
+ */
2537
+ export declare type SourceMetadata = JoynSourceMetadata;
2538
+
2539
+ /**
2540
+ * Base metadata for providers that don't have a dedicated interface.
2541
+ */
2542
+ declare interface SourceMetadataBase {
2543
+ /** Identifies which provider produced this metadata. */
2544
+ provider: string;
2545
+ }
2546
+
2547
+ /**
2548
+ * Metadata of the source that was selected for playback.
2549
+ */
2550
+ export declare interface SourceSelected {
2551
+ /** Unique identifier of the source. */
2552
+ id: string;
2553
+ /** MIME type of the media source (e.g. HLS, DASH, MP4). */
2554
+ mimetype: Mimetype;
2555
+ /** URL of the media source. */
2556
+ src: string;
2557
+ /** Playback mode indicating how the content should be played. */
2558
+ playbackMode?: PlaybackMode;
2559
+ /** DRM system used to protect the source, if any. */
2560
+ drmSystem?: DrmSystem;
2561
+ /** Provider-generated metadata for this source. */
2562
+ metadata?: SourceMetadata;
2563
+ }
2564
+
2485
2565
  export declare enum StartMethod {
2486
2566
  /** Autoplay occured for above the fold content */
2487
2567
  PRE_CLICK = "pre-click-to-play",
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- function e(e){if("provider"in e)return e;let t=e.sources?.some(e=>e.mimetype===k.JOYN);return{id:e.id||"",provider:t?h.JOYN:h.EXTERNAL,item:e}}(I=S||(S={})).DEFAULT="turbo-integration",I.SCRIPT="turbo-script",I.IFRAME="turbo-iframe",I.FULLPAGE="turbo-fullpage",I.AMP_VIDEO_IFRAME="turbo-amp-video-iframe",I.AMP_IFRAME="turbo-amp-iframe",(T=M||(M={})).INTEGRATION="glomex-integration",T.EXTERNAL_MEDIA_ITEM="external-media-item",T.GLOMEX_MEDIA_ITEM="glomex-media-item",T.JOYN_MEDIA_ITEM="joyn-media-item",(_=g||(g={})).INTEGRATION_CONFIGS="application/integration-configs+json",_.INTEGRATION_CONFIGS_LEGACY="application/glomex-integration-configs+json",_.EXTERNAL_MEDIA_ITEM="application/external-media-item+json",_.EXTERNAL_MEDIA_ITEM_LEGACY="application/glomex-external-media-item+json";let t="turbo-player";(d=U||(U={})).NET_ID="netId",d.PPID="ppid",d.UTIQ_ID="utiqId",d.LIVERAMP_ID="liverampId",d.PAIR_ID="pairId",d.ATS_DIRECT="atsDirect",(N=G||(G={})).AAID="aaid",N.AFAI="afai",N.ASIA="asia",N.ASID="asid",N.TIFA="tifa",N.VAID="vaid",N.IDFA="idfa",N.IDFV="idfv",N.LGUDID="lgudid",N.MSAI="msai",N.OAID="oaid",N.PSNAI="psnai",N.RIDA="rida",N.VIDA="vida",N.WAID="waid",(A=y||(y={})).HIDDEN="hidden",A.INLINE="inline",A.DOCK="dock",A.LIGHTBOX="lightbox",A.LIGHTBOX_EXTERNAL="lightbox-external",A.FULLSCREEN="fullscreen",A.AMP_DOCK="amp-dock",(s=v||(v={})).READY="ready",s.INTEGRATION_ABORT="integrationabort",s.INTEGRATION_AD_AVAILABLE="integrationadavailable",s.INTEGRATION_PASSBACK="integrationpassback",s.USER_UPDATE_CONSENT="userupdateconsent",s.PLAYLIST_UPDATE="playlistupdate",s.PLAYER_SET_PRESENTATION_MODE="playersetpresentationmode",s.CONTENT_SELECT="contentselect",s.CONTENT_LOADSTART="loadstart",s.CONTENT_START="contentstart",s.CONTENT_IMPRESSION="contentimpression",s.CONTENT_BUFFERING_START="contentbufferingstart",s.CONTENT_BUFFERING_END="contentbufferingend",s.CONTENT_STOP="contentstop",s.CONTENT_ERROR="contenterror",s.CONTENT_MARKER_REACHED="contentmarkerreached",s.CONTENT_TIME_UPDATE="timeupdate",s.CONTENT_SEEKING="seeking",s.CONTENT_SEEKED="seeked",s.CONTENT_PLAY="play",s.CONTENT_PAUSE="pause",s.CONTENT_VOLUME_CHANGE="volumechange",s.CONTENT_RATECHANGE="ratechange",s.CONTENT_ENDED="ended",s.AD_BREAK_REQUEST="adbreakrequest",s.AD_BREAK_REQUEST_ERROR="adbreakrequesterror",s.AD_LOADED="adloaded",s.AD_IMPRESSION="adimpression",s.AD_BUFFERING_START="adbufferingstart",s.AD_BUFFERING_END="adbufferingend",s.AD_TIME_UPDATE="adtimeupdate",s.AD_VOLUME_CHANGE="advolumechange",s.AD_PAUSED="adpaused",s.AD_RESUMED="adresumed",s.AD_CLICK="adclick",s.AD_SKIPPED="adskipped",s.AD_COMPLETE="adcomplete",s.AD_ERROR="aderror",s.UI_INTERACTION="uiinteraction",(l=F||(F={})).TIME_IN_SECONDS="time",l.PERCENT="percent",l.TIME_IN_SECONDS_RECURRING="timeRecurring",(R=b||(b={})).PREROLL="preroll",R.MIDROLL="midroll",R.POSTROLL="postroll",R.FIRST_QUARTILE="contentFirstQuartile",R.MIDPOINT="contentMidpoint",R.THIRD_QUARTILE="contentThirdQuartile",R.COMPLETE="contentComplete",R.STILL_INTERESTING="stillInteresting",R.REQUEST_RECOMMENDATIONS="requestRecommendations",(c=f||(f={})).NOT_FOUND="NotFound",c.FORBIDDEN="Forbidden",c.HIDDEN="Hidden",c.NO_CONTENT="NoContent",c.GENERIC="Generic",(O=x||(x={})).NOT_FOUND="NotFound",O.NOT_AVAILABLE="NotAvailable",O.GEOBLOCKED="Geoblocked",O.YOUTH_PROTECTED="YouthProtected",O.TERMINATED="Terminated",O.EXPIRED="Expired",O.LOGIN_REQUIRED="LoginRequired",O.HIGHER_TIER_ACCOUNT_REQUIRED="HigherTierAccountRequired",O.VPN_DETECTED="VpnDetected",O.AGE_VERIFICATION_REQUIRED="AgeVerificationRequired",O.PIN_REQUIRED="PinRequired",O.INVALID_PIN="InvalidPin",O.GENERIC="Generic",(p=h||(h={})).GLOMEX="glomex",p.JOYN="joyn",p.EXTERNAL="external",(m=k||(k={})).HLS="application/vnd.apple.mpegurl",m.HLS_LEGACY="application/x-mpegURL",m.DASH="application/dash+xml",m.MP4="video/mp4",m.OGG="video/ogg",m.WEBM="video/webm",m.MP3="audio/mp3",m.AAC="audio/aac",m.WAV="audio/wav",m.OGG_AUDIO="audio/ogg",m.MPEG_AUDIO="audio/mpeg",m.DYNAMIC_CONTENT="application/x-turbo-dynamic-content",m.JOYN="application/x-joyn-source",(D=Y||(Y={})).LIVE="live",D.VOD="vod",D.INTERACTIVE="interactive",D.EMBED="embed",(C=V||(V={})).PREROLL="preroll",C.MIDROLL="midroll",C.POSTROLL="postroll",C.OVERLAY="overlay",(L=B||(B={})).LINEAR="linear",L.OVERLAY="overlay",L.CUTIN="cutin",L.PAUSE="pause",(u=H||(H={})).PRE_CLICK="pre-click-to-play",u.CLICK="click-to-play",u.AUTOPLAY_SCROLL="autoplay-scroll",u.AUTOPLAY_SCROLL_OUT="autoplay-scroll-out",u.CLICK_NEXT="click-to-play-next",u.CLICK_REPLAY="click-to-play-replay",u.AUTOPLAY_NEXT="autoplay-next",(P=X||(X={})).CLEAR_PLAYLIST="clearPlaylist",P.SELECT_PLAYLIST_ITEM="selectPlaylistItem",P.ENDED="ended",P.CONTENT_ERROR="contentError",P.API_STOP="apiStop",P.LIVESTREAM_STOP="livestreamStop",P.LIVESTREAM_NOT_STARTED="livestreamNotStarted",P.PAGE_HIDE="pageHide",P.BEFORE_UNLOAD="beforeUnload";let a="player.glomex.com",n=`https://${a}/integration/1/integration.js`;function o(e){return`https://${a}/variant/${e}/variant.css`}function E(){if(window.customElements.get(M.INTEGRATION))return;let e=document.createElement("script");e.innerText=`import('${n}');`,e.type="module",(document.head||document.body).appendChild(e)}function i(e){if(document.querySelector(`link[href="${o(e)}"]`))return;let t=document.createElement("link");t.rel="stylesheet",t.href=o(e),(document.head||document.body).appendChild(t)}async function r(){await customElements.whenDefined(M.INTEGRATION);let e=customElements.get(M.INTEGRATION);if(!e?.sharedContext)throw Error("sharedContext not available on glomex-integration element");return e.sharedContext}var I,T,_,d,N,A,s,l,R,c,O,p,m,D,C,L,u,P,S,M,g,U,G,y,v,F,b,f,x,h,k,Y,V,B,H,X,K="turbo",w="glomex";export{V as AdBreakName,B as AdFormat,M as ComponentName,X as ContentStopReason,G as DeviceIdName,t as EXTERNAL_PLAYER_NAME,v as IntegrationEvent,b as KnownMarkerName,F as MarkerType,x as MediaItemErrorCode,h as MediaItemProvider,f as MediaProviderErrorCode,k as Mimetype,S as Origin,Y as PlaybackMode,y as PresentationMode,g as ScriptType,H as StartMethod,U as UserIdName,o as getIntegrationCssUrl,r as getSharedContext,E as loadIntegrationComponent,i as loadIntegrationStyles,e as normalizeMediaItem,K as INTERNAL_PREFIX,w as PUBLIC_PREFIX};
1
+ function e(e){return"provider"in e?e:{id:e.id||"",provider:function(e){for(let t of e??[])if(t.mimetype===Y.JOYN||(t.widevineLicenseUri||t.fairplayLicenseUri||t.playreadyLicenseUri||t.licenseUrl||"").includes("joyn.de"))return k.JOYN;for(let t of e??[])if("src"in t&&t.src?.includes("glomex"))return k.GLOMEX;return k.EXTERNAL}(e.sources),item:e}}(I=M||(M={})).DEFAULT="turbo-integration",I.SCRIPT="turbo-script",I.IFRAME="turbo-iframe",I.FULLPAGE="turbo-fullpage",I.AMP_VIDEO_IFRAME="turbo-amp-video-iframe",I.AMP_IFRAME="turbo-amp-iframe",(T=g||(g={})).INTEGRATION="glomex-integration",T.EXTERNAL_MEDIA_ITEM="external-media-item",T.GLOMEX_MEDIA_ITEM="glomex-media-item",T.JOYN_MEDIA_ITEM="joyn-media-item",(d=U||(U={})).INTEGRATION_CONFIGS="application/integration-configs+json",d.INTEGRATION_CONFIGS_LEGACY="application/glomex-integration-configs+json",d.EXTERNAL_MEDIA_ITEM="application/external-media-item+json",d.EXTERNAL_MEDIA_ITEM_LEGACY="application/glomex-external-media-item+json";let t="turbo-player";(s=y||(y={})).NET_ID="netId",s.PPID="ppid",s.UTIQ_ID="utiqId",s.LIVERAMP_ID="liverampId",s.PAIR_ID="pairId",s.ATS_DIRECT="atsDirect",(N=G||(G={})).AAID="aaid",N.AFAI="afai",N.ASIA="asia",N.ASID="asid",N.TIFA="tifa",N.VAID="vaid",N.IDFA="idfa",N.IDFV="idfv",N.LGUDID="lgudid",N.MSAI="msai",N.OAID="oaid",N.PSNAI="psnai",N.RIDA="rida",N.VIDA="vida",N.WAID="waid",(_=f||(f={})).HIDDEN="hidden",_.INLINE="inline",_.DOCK="dock",_.LIGHTBOX="lightbox",_.LIGHTBOX_EXTERNAL="lightbox-external",_.FULLSCREEN="fullscreen",_.AMP_DOCK="amp-dock",(A=v||(v={})).READY="ready",A.INTEGRATION_ABORT="integrationabort",A.INTEGRATION_AD_AVAILABLE="integrationadavailable",A.INTEGRATION_PASSBACK="integrationpassback",A.USER_UPDATE_CONSENT="userupdateconsent",A.PLAYLIST_UPDATE="playlistupdate",A.PLAYER_SET_PRESENTATION_MODE="playersetpresentationmode",A.CONTENT_SELECT="contentselect",A.CONTENT_START="contentstart",A.CONTENT_IMPRESSION="contentimpression",A.CONTENT_BUFFERING_START="contentbufferingstart",A.CONTENT_BUFFERING_END="contentbufferingend",A.CONTENT_STOP="contentstop",A.CONTENT_SUSPEND="contentsuspend",A.CONTENT_ERROR="contenterror",A.CONTENT_MARKER_REACHED="contentmarkerreached",A.CONTENT_TIME_UPDATE="timeupdate",A.CONTENT_SEEKING="seeking",A.CONTENT_SEEKED="seeked",A.CONTENT_PLAY="play",A.CONTENT_PAUSE="pause",A.CONTENT_VOLUME_CHANGE="volumechange",A.CONTENT_RATECHANGE="ratechange",A.CONTENT_ENDED="ended",A.AD_BREAK_REQUEST="adbreakrequest",A.AD_BREAK_REQUEST_ERROR="adbreakrequesterror",A.AD_LOADED="adloaded",A.AD_IMPRESSION="adimpression",A.AD_BUFFERING_START="adbufferingstart",A.AD_BUFFERING_END="adbufferingend",A.AD_TIME_UPDATE="adtimeupdate",A.AD_VOLUME_CHANGE="advolumechange",A.AD_PAUSED="adpaused",A.AD_RESUMED="adresumed",A.AD_CLICK="adclick",A.AD_SKIPPED="adskipped",A.AD_COMPLETE="adcomplete",A.AD_ERROR="aderror",A.UI_INTERACTION="uiinteraction",(l=F||(F={})).TIME_IN_SECONDS="time",l.PERCENT="percent",l.TIME_IN_SECONDS_RECURRING="timeRecurring",(c=b||(b={})).PREROLL="preroll",c.MIDROLL="midroll",c.POSTROLL="postroll",c.FIRST_QUARTILE="contentFirstQuartile",c.MIDPOINT="contentMidpoint",c.THIRD_QUARTILE="contentThirdQuartile",c.COMPLETE="contentComplete",c.STILL_INTERESTING="stillInteresting",c.REQUEST_RECOMMENDATIONS="requestRecommendations",(R=x||(x={})).NOT_FOUND="NotFound",R.FORBIDDEN="Forbidden",R.HIDDEN="Hidden",R.NO_CONTENT="NoContent",R.GENERIC="Generic",(p=h||(h={})).NOT_FOUND="NotFound",p.NOT_AVAILABLE="NotAvailable",p.GEOBLOCKED="Geoblocked",p.YOUTH_PROTECTED="YouthProtected",p.TERMINATED="Terminated",p.EXPIRED="Expired",p.LOGIN_REQUIRED="LoginRequired",p.HIGHER_TIER_ACCOUNT_REQUIRED="HigherTierAccountRequired",p.VPN_DETECTED="VpnDetected",p.AGE_VERIFICATION_REQUIRED="AgeVerificationRequired",p.PIN_REQUIRED="PinRequired",p.INVALID_PIN="InvalidPin",p.GENERIC="Generic",(m=k||(k={})).GLOMEX="glomex",m.JOYN="joyn",m.EXTERNAL="external",(O=Y||(Y={})).HLS="application/vnd.apple.mpegurl",O.HLS_LEGACY="application/x-mpegURL",O.DASH="application/dash+xml",O.MP4="video/mp4",O.OGG="video/ogg",O.WEBM="video/webm",O.MP3="audio/mp3",O.AAC="audio/aac",O.WAV="audio/wav",O.OGG_AUDIO="audio/ogg",O.MPEG_AUDIO="audio/mpeg",O.DYNAMIC_CONTENT="application/x-turbo-dynamic-content",O.JOYN="application/x-joyn-source",(D=V||(V={})).LIVE="live",D.VOD="vod",D.INTERACTIVE="interactive",D.EMBED="embed",(L=B||(B={})).FAIRPLAY="com.apple.fps",L.WIDEVINE="com.widevine.alpha",L.PLAYREADY="com.microsoft.playready",(C=H||(H={})).PREROLL="preroll",C.MIDROLL="midroll",C.POSTROLL="postroll",C.OVERLAY="overlay",(u=X||(X={})).LINEAR="linear",u.OVERLAY="overlay",u.CUTIN="cutin",u.PAUSE="pause",(P=K||(K={})).PRE_CLICK="pre-click-to-play",P.CLICK="click-to-play",P.AUTOPLAY_SCROLL="autoplay-scroll",P.AUTOPLAY_SCROLL_OUT="autoplay-scroll-out",P.CLICK_NEXT="click-to-play-next",P.CLICK_REPLAY="click-to-play-replay",P.AUTOPLAY_NEXT="autoplay-next",(S=w||(w={})).CLEAR_PLAYLIST="clearPlaylist",S.SELECT_PLAYLIST_ITEM="selectPlaylistItem",S.ENDED="ended",S.CONTENT_ERROR="contentError",S.API_STOP="apiStop",S.LIVESTREAM_STOP="livestreamStop",S.LIVESTREAM_NOT_STARTED="livestreamNotStarted",S.PAGE_HIDE="pageHide",S.BEFORE_UNLOAD="beforeUnload";let a="player.glomex.com",n=`https://${a}/integration/1/integration.js`;function o(e){return`https://${a}/variant/${e}/variant.css`}function E(){if(window.customElements.get(g.INTEGRATION))return;let e=document.createElement("script");e.innerText=`import('${n}');`,e.type="module",(document.head||document.body).appendChild(e)}function i(e){if(document.querySelector(`link[href="${o(e)}"]`))return;let t=document.createElement("link");t.rel="stylesheet",t.href=o(e),(document.head||document.body).appendChild(t)}async function r(){await customElements.whenDefined(g.INTEGRATION);let e=customElements.get(g.INTEGRATION);if(!e?.sharedContext)throw Error("sharedContext not available on glomex-integration element");return e.sharedContext}var I,T,d,s,N,_,A,l,c,R,p,m,O,D,L,C,u,P,S,M,g,U,y,G,f,v,F,b,x,h,k,Y,V,B,H,X,K,w,Q="turbo",j="glomex";export{H as AdBreakName,X as AdFormat,g as ComponentName,w as ContentStopReason,G as DeviceIdName,B as DrmSystem,t as EXTERNAL_PLAYER_NAME,v as IntegrationEvent,b as KnownMarkerName,F as MarkerType,h as MediaItemErrorCode,k as MediaItemProvider,x as MediaProviderErrorCode,Y as Mimetype,M as Origin,V as PlaybackMode,f as PresentationMode,U as ScriptType,K as StartMethod,y as UserIdName,o as getIntegrationCssUrl,r as getSharedContext,E as loadIntegrationComponent,i as loadIntegrationStyles,e as normalizeMediaItem,Q as INTERNAL_PREFIX,j as PUBLIC_PREFIX};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glomex/integration-web-component",
3
- "version": "1.1522.5",
3
+ "version": "1.1524.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",
@@ -32,7 +32,7 @@
32
32
  },
33
33
  "devDependencies": {
34
34
  "@biomejs/biome": "catalog:",
35
- "@glomex/integration": "1.1522.5",
35
+ "@glomex/integration": "1.1524.0",
36
36
  "@microsoft/api-extractor": "catalog:",
37
37
  "@rslib/core": "catalog:",
38
38
  "npm-run-all": "catalog:",
@@ -42,5 +42,5 @@
42
42
  "access": "public"
43
43
  },
44
44
  "license": "MIT",
45
- "gitHead": "f2429c63fe683916c1cc71c8699427cdf008ae4e"
45
+ "gitHead": "ae6f566d67f5b6c9366ac4d71256665b8140f0bc"
46
46
  }