@wscsports/blaze-web-sdk 0.1.751 → 0.1.812

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.
@@ -60,6 +60,30 @@ export declare abstract class BaseWidget extends HTMLElement {
60
60
 
61
61
  export declare function debounce<T extends Event>(func: EventHandler<T>, _delay: number): (event: T) => Promise<void>;
62
62
 
63
+ type ScreenOrientation = 'landscape' | 'portrait';
64
+ type Platform = 'console' | 'mobile' | 'tablet' | 'smarttv' | 'wearable' | 'embedded' | 'desktop';
65
+ type OS = 'AIX' | 'Amiga OS' | 'Android' | 'Arch' | 'Bada' | 'BeOS' | 'BlackBerry' | 'CentOS' | 'Chromium OS' | 'Contiki' | 'Fedora' | 'Firefox OS' | 'FreeBSD' | 'Debian' | 'DragonFly' | 'Gentoo' | 'GNU' | 'Haiku' | 'Hurd' | 'iOS' | 'Joli' | 'Linpus' | 'Linux' | 'Mac OS' | 'Mageia' | 'Mandriva' | 'MeeGo' | 'Minix' | 'Mint' | 'Morph OS' | 'NetBSD' | 'Nintendo' | 'OpenBSD' | 'OpenVMS' | 'OS/2' | 'Palm' | 'PCLinuxOS' | 'Plan9' | 'Playstation' | 'QNX' | 'RedHat' | 'RIM Tablet OS' | 'RISC OS' | 'Sailfish' | 'Series40' | 'Slackware' | 'Solaris' | 'SUSE' | 'Symbian' | 'Tizen' | 'Ubuntu' | 'UNIX' | 'VectorLinux' | 'WebOS' | 'Windows Phone/Mobile' | 'Zenwalk';
66
+ type Browser = 'Amaya' | 'Android Browser' | 'Arora' | 'Avant' | 'Baidu' | 'Blazer' | 'Bolt' | 'Camino' | 'Chimera' | 'Chrome' | 'Chromium' | 'Comodo Dragon' | 'Conkeror' | 'Dillo' | 'Dolphin' | 'Doris' | 'Edge' | 'Epiphany' | 'Fennec' | 'Firebird' | 'Firefox' | 'Flock' | 'GoBrowser' | 'iCab' | 'ICE Browser' | 'IceApe' | 'IceCat' | 'IceDragon' | 'Iceweasel' | 'IE' | 'Iron' | 'Jasmine' | 'K-Meleon' | 'Konqueror' | 'Kindle' | 'Links' | 'Lunascape' | 'Lynx' | 'Maemo' | 'Maxthon' | 'Midori' | 'Minimo' | 'MIUI Browser' | 'Safari' | 'Mosaic' | 'Mozilla' | 'Netfront' | 'Netscape' | 'NetSurf' | 'Nokia' | 'OmniWeb' | 'Opera' | 'Phoenix' | 'Polaris' | 'QQBrowser' | 'RockMelt' | 'Silk' | 'Skyfire' | 'SeaMonkey' | 'SlimBrowser' | 'Swiftfox' | 'Tizen' | 'UCBrowser' | 'Vivaldi' | 'w3m' | 'Yandex';
67
+ declare class DeviceDetector {
68
+ private static instance;
69
+ private parser;
70
+ private resizeListener;
71
+ OS: OS;
72
+ platform: Platform;
73
+ browser: Browser;
74
+ screenOrientation: ScreenOrientation;
75
+ private orientationChangeEvent;
76
+ private constructor();
77
+ removeResizeListener(): void;
78
+ static getInstance(): DeviceDetector;
79
+ private detectOS;
80
+ private detectBrowser;
81
+ private detectPlatform;
82
+ private getScreenOrientation;
83
+ private handleResize;
84
+ }
85
+ export declare const deviceDetector: DeviceDetector;
86
+
63
87
  export declare class EventsListener {
64
88
  listeners: {
65
89
  node: Node;
@@ -267,6 +291,19 @@ export declare enum AdAction {
267
291
  Exit = "ad_exit",
268
292
  Click = "ad_click"
269
293
  }
294
+ export declare enum ImaAdAction {
295
+ ALL_ADS_COMPLETED = "ima_all_ads_completed",
296
+ CLICK = "ima_ad_clicked",
297
+ COMPLETED = "ima_ad_completed",
298
+ LOADED = "ima_ad_loaded",
299
+ PAUSED = "ima_ad_paused",
300
+ RESUMED = "ima_ad_resumed",
301
+ SKIPPED = "ima_ad_skipped",
302
+ STARTED = "ima_ad_started",
303
+ FIRST_QUARTILE = "ima_ad_first_quartile",
304
+ MIDPOINT = "ima_ad_midpoint",
305
+ THIRD_QUARTILE = "ima_ad_third_quartile"
306
+ }
270
307
  export declare const StoryToAdActionMapper: {
271
308
  story_page_start: AdAction;
272
309
  story_page_exit: AdAction;
@@ -279,9 +316,13 @@ export declare const exposedFieldsByAction: ExposedFields;
279
316
 
280
317
  export * from './analytics.constants';
281
318
  export * from './iso-country-codes.constants';
319
+ export * from './time.constants';
282
320
 
283
321
  export declare const CountryCodes: readonly ["AF", "AX", "AL", "DZ", "AS", "AD", "AO", "AI", "AQ", "AG", "AR", "AM", "AW", "AU", "AT", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU", "CV", "CW", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IR", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SY", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "UG", "UA", "AE", "GB", "US", "UM", "UY", "UZ", "VU", "VE", "VN", "VG", "VI", "WF", "EH", "YE", "ZM", "ZW"];
284
322
 
323
+ export declare const ONE_SECOND = 1000;
324
+ export declare const FAIL_TO_LOAD_TIMEOUT_MS = 3000;
325
+
285
326
  export declare class Database implements IDatabase {
286
327
  private readonly options;
287
328
  constructor(options: IDatabaseOptions);
@@ -300,8 +341,9 @@ interface IAdInfoConfiguration {
300
341
  isActive: boolean;
301
342
  }
302
343
  export interface IAdInfo {
303
- path: string;
304
- type: string;
344
+ path?: string;
345
+ tag?: string;
346
+ type: 'Web' | 'IMA';
305
347
  configuration: IAdInfoConfiguration;
306
348
  }
307
349
 
@@ -324,6 +366,7 @@ export interface ICTA {
324
366
 
325
367
  export * from './content.interface';
326
368
  export * from './cta.interface';
369
+ export * from './interaction.interface';
327
370
  export * from './layer-content.interface';
328
371
  export * from './layer.interface';
329
372
  export * from './moment.interface';
@@ -332,6 +375,19 @@ export * from './rendition.interface';
332
375
  export * from './story.interface';
333
376
  export * from './thumbnail.interface';
334
377
 
378
+ export type InteractionType = 'Poll' | 'Quiz';
379
+ export type Interaction = {
380
+ id: string;
381
+ type: InteractionType;
382
+ htmlUrl: string;
383
+ topOffset: number;
384
+ leftOffset: number;
385
+ relativeHeight: number;
386
+ relativeWidth: number;
387
+ initData: string;
388
+ designOverridesStr: string;
389
+ };
390
+
335
391
  export interface ILayerContent {
336
392
  renditions: IRendition[];
337
393
  }
@@ -364,6 +420,9 @@ export interface IContentPage {
364
420
  hasViewed: boolean;
365
421
  ignoreReadStatusForStory: boolean;
366
422
  createTime: string;
423
+ shouldShowImaAd?: boolean;
424
+ imaUrl?: string;
425
+ interaction?: Interaction;
367
426
  }
368
427
  export interface IAdPage {
369
428
  id: string;
@@ -443,6 +502,7 @@ export interface WidgetsTagNameMap {
443
502
  'blaze-widget-share-modal': BlazeWidgetShareModal;
444
503
  'blaze-widget-image': BlazeWidgetStoryImage;
445
504
  'blaze-widget-video': BlazeWidgetStoryVideo;
505
+ 'blaze-widget-moment-video': BlazeWidgetMomentVideo;
446
506
  'blaze-loader': BlazeLoader;
447
507
  'blaze-skeleton': BlazeSkeleton;
448
508
  'blaze-chip': BlazeChip;
@@ -471,6 +531,7 @@ interface WidgetsTagNameOptionsMap {
471
531
  'blaze-widget-share-modal': {};
472
532
  'blaze-widget-image': {};
473
533
  'blaze-widget-video': {};
534
+ 'blaze-widget-moment-video': {};
474
535
  'blaze-loader': {};
475
536
  'blaze-skeleton': {};
476
537
  'blaze-chip': {};
@@ -527,7 +588,7 @@ export interface IBlazeSDKOptions {
527
588
  doNotTrack?: boolean;
528
589
  externalUserId?: string;
529
590
  geoLocation?: string;
530
- loadByStaticContent?: boolean;
591
+ staticContent?: boolean;
531
592
  }
532
593
 
533
594
  export interface IDatabase {
@@ -545,6 +606,31 @@ export interface IDatabaseOptions {
545
606
  version: number;
546
607
  }
547
608
 
609
+ export interface IDevice {
610
+ ua: string;
611
+ browser: {
612
+ name: string;
613
+ version: string;
614
+ major: string;
615
+ };
616
+ engine: {
617
+ name: string;
618
+ version: string;
619
+ };
620
+ os: {
621
+ name: string;
622
+ version: string;
623
+ };
624
+ device: {
625
+ type: string;
626
+ model: string;
627
+ vendor: string;
628
+ };
629
+ cpu: {
630
+ architecture: any;
631
+ };
632
+ }
633
+
548
634
  export interface IDrawable {
549
635
  render: () => void;
550
636
  }
@@ -586,6 +672,7 @@ export interface IWidgetViewOptionsBase {
586
672
  contentType?: ContentType;
587
673
  theme?: IWidgetTheme | ThemeType;
588
674
  delegates?: Record<Delegation, EventListenerOrEventListenerObject>;
675
+ labelsPriority?: string;
589
676
  }
590
677
  export interface IWidgetViewOptionsWithLabels extends IWidgetViewOptionsBase {
591
678
  labels: string | string[] | BlazeWidgetLabel;
@@ -601,6 +688,7 @@ export interface IWidgetView {
601
688
  setTheme: (theme: IWidgetTheme) => void;
602
689
  getTheme: () => IWidgetTheme;
603
690
  setLabels: (labels: string | string[] | BlazeWidgetLabel) => void;
691
+ setLabelsPriority: (labelsPriority: string) => void;
604
692
  setContentIds: (storyIds: string[]) => void;
605
693
  reload: () => void;
606
694
  setMaxItemsDisplaySize: (size: number) => void;
@@ -629,10 +717,6 @@ declare abstract class AlertServiceClass extends AlertServiceClass_base implemen
629
717
  }
630
718
  export declare const AlertService: AlertServiceClass;
631
719
 
632
- export declare enum SessionAction {
633
- Start = "start",
634
- End = "end"
635
- }
636
720
  declare const AnalyticsServiceClass_base: {
637
721
  new (): {};
638
722
  _instance: AnalyticsServiceClass;
@@ -640,12 +724,13 @@ declare const AnalyticsServiceClass_base: {
640
724
  };
641
725
  declare abstract class AnalyticsServiceClass extends AnalyticsServiceClass_base implements IService {
642
726
  events: AnalyticsEvent[];
727
+ uaParsed?: IDevice;
643
728
  init(): Promise<void>;
644
729
  sendLoop(): Promise<void>;
645
730
  bulkEvent(body: Partial<AnalyticsEvent>[]): Promise<any>;
646
- pushSessionEvent(action: SessionAction, body: Partial<WidgetEvent>, label?: string | undefined): void;
647
731
  pushStoryEvent(action: StoryAction, body: Partial<StoryEvent>, label?: string | undefined, referrer?: ReferringEventInfo | undefined): void;
648
732
  pushAdEvent(action: AdAction, body: Partial<AdEvent>, label?: string | undefined, referrer?: ReferringEventInfo | undefined): void;
733
+ pushImaAdEvent(action: ImaAdAction, body: Partial<ImaAdEvent>, label?: string | undefined, referrer?: ReferringEventInfo | undefined): void;
649
734
  pushWidgetEvent(action: WidgetAction, body: Partial<WidgetEvent>, label?: string | undefined, referrer?: ReferringEventInfo | undefined): void;
650
735
  setupEvent(category: Category, action: string, body: object, label?: string | undefined, referrer?: ReferringEventInfo | undefined): AnalyticsEvent;
651
736
  }
@@ -653,8 +738,7 @@ export declare const AnalyticsService: AnalyticsServiceClass;
653
738
  export declare enum Category {
654
739
  Story = "story",
655
740
  Widget = "widget",
656
- Ad = "ad",
657
- Session = "session"
741
+ Ad = "ad"
658
742
  }
659
743
  declare class UserEventInfo {
660
744
  'generated_user_id': string;
@@ -703,6 +787,7 @@ export declare class ReferringEventInfo {
703
787
  'referrer_page_type': string;
704
788
  'referrer_page_url': string;
705
789
  'referrer_page_domain': string;
790
+ 'labels_expression': string;
706
791
  'session_referrer_page_type': string;
707
792
  'session_referrer_url': string;
708
793
  'session_referrer_domain': string;
@@ -712,6 +797,7 @@ export declare class ReferringEventInfo {
712
797
  'origin_widget_type': string;
713
798
  'origin_placement_id': string;
714
799
  'origin_placement_name': string;
800
+ 'story_source': string;
715
801
  }
716
802
  export declare class AnalyticsEvent {
717
803
  'timestamp_utc': string;
@@ -755,6 +841,7 @@ export declare class StoryEvent {
755
841
  'content_duration_viewed': number;
756
842
  'story_page_duration': number;
757
843
  'story_page_duration_viewed_percent': number;
844
+ 'labels_expression': string;
758
845
  'story_session_id': string;
759
846
  'story_page_index': number;
760
847
  'is_last_page': boolean;
@@ -772,6 +859,7 @@ export declare class WidgetEvent {
772
859
  'widget_size': string;
773
860
  'widget_content_count': number;
774
861
  'widget_content_list': string;
862
+ 'labels_expression': string;
775
863
  'content_id': string;
776
864
  'content_name': string;
777
865
  'content_version_id': string;
@@ -803,6 +891,20 @@ export declare class AdEvent {
803
891
  'content_type': string;
804
892
  'ad_path': string;
805
893
  }
894
+ export declare class ImaAdEvent {
895
+ 'story_id': string;
896
+ 'story_title': string;
897
+ 'ad_id': string;
898
+ 'ad_title': string;
899
+ 'ad_description': string;
900
+ 'ad_system': string;
901
+ 'ad_duration': string;
902
+ 'skippable': string;
903
+ 'skip_time_offset': string;
904
+ 'advertiser_name': string;
905
+ 'failure_reason': string;
906
+ 'ad_type': string;
907
+ }
806
908
 
807
909
  declare const ApiServiceClass_base: {
808
910
  new (): {};
@@ -822,7 +924,7 @@ declare abstract class ApiServiceClass extends ApiServiceClass_base implements I
822
924
  };
823
925
  error?: Error | undefined;
824
926
  }>;
825
- getStories(labels: string, orderType: OrderType, maxItemsSize?: number): Promise<{
927
+ getStories(labels: string, orderType: OrderType, maxItemsSize?: number, labelsPriority?: string): Promise<{
826
928
  result: IStory[];
827
929
  data: {
828
930
  assetsExpiryTime: string;
@@ -983,6 +1085,36 @@ export * from './video-cache.service';
983
1085
  export * from './video-player.service';
984
1086
  export * from './widgets.service';
985
1087
 
1088
+ interface LoggerParams {
1089
+ message: string;
1090
+ level?: LogLevel;
1091
+ metadata?: Record<string, any>;
1092
+ }
1093
+ declare enum LogLevel {
1094
+ INFO = "info",
1095
+ WARN = "warn",
1096
+ ERROR = "error"
1097
+ }
1098
+ declare const LoggerServiceClass_base: {
1099
+ new (): {};
1100
+ _instance: LoggerServiceClass;
1101
+ getInstance(): LoggerServiceClass;
1102
+ };
1103
+ declare class LoggerServiceClass extends LoggerServiceClass_base implements IService {
1104
+ private isEnabled;
1105
+ private logStack;
1106
+ private constructor();
1107
+ init(): Promise<void>;
1108
+ private getCurrentTime;
1109
+ private logToConsole;
1110
+ log({ message, level, metadata }: LoggerParams): void;
1111
+ info(message: string, metadata?: Record<string, any>): void;
1112
+ warn(message: string, metadata?: Record<string, any>): void;
1113
+ error(message: string, metadata?: Record<string, any>): void;
1114
+ printLogsToScreen(): void;
1115
+ }
1116
+ export declare const LoggerService: LoggerServiceClass;
1117
+
986
1118
  declare const StartupServiceClass_base: {
987
1119
  new (): {};
988
1120
  _instance: StartupServiceClass;
@@ -1018,12 +1150,18 @@ declare const VideoCacheServiceClass_base: {
1018
1150
  declare abstract class VideoCacheServiceClass extends VideoCacheServiceClass_base implements IService {
1019
1151
  private cache;
1020
1152
  private cacheName;
1153
+ private downloadControllers;
1154
+ private cacheInitialized;
1021
1155
  constructor();
1022
1156
  init(): Promise<void>;
1157
+ private retryCacheInitialization;
1158
+ isVideoDownloading(url: string): boolean;
1159
+ isInitialized(): boolean;
1023
1160
  private fetchAndCache;
1024
- addCacheVideoByUrl(url: string): Promise<Response>;
1025
- getCacheVideoByUrl(url: string): Promise<string>;
1161
+ private cacheResponse;
1162
+ addCacheVideoByUrl(url: string): Promise<Response | void>;
1026
1163
  isVideoCached(url: string): Promise<boolean>;
1164
+ abortDownload(url: string): Promise<void>;
1027
1165
  deleteCacheVideoByUrl(url: string): Promise<boolean>;
1028
1166
  clearAllCache(): Promise<void>;
1029
1167
  }
@@ -1163,10 +1301,6 @@ export type ThemeType = 'grid-2-columns' | 'grid-3-columns' | 'row-circle' | 'ro
1163
1301
  export declare class ThemeFactory {
1164
1302
  static create(name?: ThemeType): IWidgetTheme;
1165
1303
  }
1166
- export declare function getIndicatorStyle(el: IAttributeParser, state: string): Partial<IndicatorStyle>;
1167
- export declare function getLabelStyle(el: IAttributeParser): Partial<LabelStyle>;
1168
- export declare function setupLayoutStyle(layoutStyle: LayoutStyle): void;
1169
- export declare function getLayoutStyle(el: IAttributeParser): DeepPartial<LayoutStyle>;
1170
1304
 
1171
1305
 
1172
1306
  export interface IAttributeParser {
@@ -1514,6 +1648,7 @@ export type FetchPriorityType = 'low' | 'high' | 'auto';
1514
1648
 
1515
1649
  export * from './attribute-parser';
1516
1650
  export * from './client-platform.type';
1651
+ export * from './story-direction.type';
1517
1652
  export * from './direction.type';
1518
1653
  export * from './element.type';
1519
1654
  export * from './fetch-priority.type';
@@ -1540,6 +1675,8 @@ export type SeverityType = 'error' | 'warning' | 'info' | 'success';
1540
1675
 
1541
1676
  export type SizeType = 'small' | 'medium' | 'large';
1542
1677
 
1678
+ export type StoryDirectionType = 'PREV_STORY' | 'NEXT_STORY';
1679
+
1543
1680
  export type ThumbnailApiType = 'SquareIcon' | 'VerticalTwoByThree' | 'MainThumbnail';
1544
1681
  export type ThumbnailType = 'SQUARE_ICON' | 'VERTICAL_TWO_BY_THREE' | 'CUSTOM';
1545
1682
  export type ThumbnailShape = 'Circle' | 'Rectangle';
@@ -1569,23 +1706,19 @@ export declare function GuardNullOrEmpty(name: string, value: any): void;
1569
1706
 
1570
1707
  export declare function formatDuration(startDate: Date): string;
1571
1708
  export declare function removeUndefined(value: any): object;
1709
+ export declare function isCssPropertySupported(property: string): boolean;
1572
1710
  export declare function isObject(item: any): boolean;
1573
1711
  export declare function mergeDeep(target: any, ...sources: any[]): any;
1574
1712
  export declare function cloneDeep<T>(target: T): T;
1575
- export declare function mergeStyles(element: HTMLElement, styles: Partial<CSSStyleDeclaration>): object;
1576
1713
  export declare function formatDate(date: Date): string;
1577
1714
  export declare function formatUTCDate(date: Date): string;
1578
1715
  export declare function getRandomId(): string;
1579
1716
  export declare function setId(element: HTMLElement, prefix?: string, suffix?: string): void;
1580
- declare let isMobile: boolean;
1581
- declare const isIOS: boolean;
1582
- declare const isSafari: boolean;
1583
- declare const isChrome: boolean;
1584
- export { isMobile, isIOS, isSafari, isChrome };
1585
1717
  export type DeepPartial<T> = T extends object ? {
1586
1718
  [P in keyof T]?: DeepPartial<T[P]>;
1587
1719
  } : T;
1588
1720
  export declare function flattenObject<T extends Record<string, any>>(obj: T): Record<string, any>;
1721
+ export declare function mergeStyles(element: HTMLElement, styles: Partial<CSSStyleDeclaration>): object;
1589
1722
 
1590
1723
  export * from './chip.utils';
1591
1724
  export * from './common.utils';
@@ -1609,7 +1742,6 @@ export declare function calculatePosition(statusIndicatorPosition: PositionType)
1609
1742
  };
1610
1743
 
1611
1744
  export declare const RegexHash: RegExp;
1612
- export declare const RegexHashPlayType: RegExp;
1613
1745
 
1614
1746
  export declare class Stopwatch {
1615
1747
  isRunning: boolean;
@@ -1646,7 +1778,6 @@ export declare class BlazeWidgetStoryAd extends BlazeWidgetStoryBase {
1646
1778
  private adContainer;
1647
1779
  private placeholderContainer;
1648
1780
  private googletag;
1649
- private isMuted;
1650
1781
  private failToLoadTimeout?;
1651
1782
  constructor(storyParent: BlazeWidgetStory);
1652
1783
  connectedCallback(): void;
@@ -1753,31 +1884,35 @@ export declare class BlazeWidgetLayout extends BlazeWidgetScrollable implements
1753
1884
  analyticsStack: Record<WidgetAction, boolean>;
1754
1885
  onResizeEvent: (this: Window, ev: UIEvent) => void;
1755
1886
  constructor();
1887
+ onResizeEventDelay(): void;
1888
+ onResize(): void;
1756
1889
  handleHeightChangeMutation(mutationsList: MutationRecord[]): void;
1890
+ handleIntersection(entries: IntersectionObserverEntry[]): void;
1757
1891
  connectedCallback(): void;
1758
- getParentHeightWithoutPadding(): number | null;
1759
1892
  disconnectedCallback(): void;
1760
- set storyIds(value: string);
1761
- setContentIds(storyIds: string[]): void;
1893
+ onKeyDown(e: KeyboardEvent): void;
1894
+ onStoryChange(mode: StoryDirectionType): void;
1895
+ getParentHeightWithoutPadding(): number | null;
1762
1896
  attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
1763
1897
  setId(id: string): void;
1764
- onResize(): void;
1765
1898
  handlePopState(_event: Event): void;
1766
1899
  addDelegateListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void;
1900
+ set storyIds(value: string);
1901
+ setContentIds(storyIds: string[]): void;
1902
+ setLabelsPriority(labelsPriority: string): void;
1767
1903
  setLabels(labels: labelType): void;
1768
1904
  getTheme(): IWidgetTheme;
1769
1905
  setTheme(theme: IWidgetTheme | string): void;
1906
+ private get theme();
1770
1907
  reload(): void;
1771
1908
  setDelegations(delegates: Record<Delegation, EventListenerOrEventListenerObject>): void;
1772
1909
  setMaxItemsDisplaySize(maxSize: number): void;
1773
1910
  setMaxItemsSize(maxItemsSize: number): void;
1774
- handleIntersection(entries: IntersectionObserverEntry[]): void;
1775
1911
  createModal(): void;
1776
1912
  createMomentsModal(): void;
1777
1913
  static get observedAttributes(): string[];
1778
1914
  onItemClick(item: BlazeWidgetItem, i: number): void;
1779
1915
  loadStories(): Promise<void>;
1780
- private get theme();
1781
1916
  render(): void;
1782
1917
  calculateLabelSizes(labelStyle: LabelStyle, lineNumber: number): {
1783
1918
  labelWidth: number | "auto";
@@ -1870,8 +2005,49 @@ export declare class BlazeWidgetMomentPreview extends BlazeWidgetMoment {
1870
2005
  attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
1871
2006
  }
1872
2007
 
2008
+ export declare class BlazeWidgetMomentVideo extends HTMLElement {
2009
+ data: IContentPage | undefined;
2010
+ video: HTMLVideoElement | undefined;
2011
+ loader: HTMLElement | undefined;
2012
+ source: HTMLElement | undefined;
2013
+ loaderTimeoutRefAppending: NodeJS.Timeout | undefined;
2014
+ isVideoStartPlaying: boolean;
2015
+ isError: boolean;
2016
+ isLoaded: boolean;
2017
+ isVideoRunning: boolean;
2018
+ maxRetryTimes: number;
2019
+ videoFrameCallback?: any;
2020
+ eventRenderBackgroundPercentageTriggered: Array<boolean>;
2021
+ mode: 'contain' | 'cover';
2022
+ constructor();
2023
+ get progress(): number;
2024
+ setData(data: IContentPage): void;
2025
+ loadPoster(): void;
2026
+ load(): Promise<void>;
2027
+ display(): void;
2028
+ hide(): void;
2029
+ unload(): Promise<void>;
2030
+ removeLoader(): void;
2031
+ startPlayVideo(video: HTMLVideoElement, maxRetryTimes: number): Promise<void>;
2032
+ reloadVideo(retryTime: number): void;
2033
+ tryToAddLoader(): void;
2034
+ play(): void;
2035
+ pause(): void;
2036
+ set currentTime(value: number);
2037
+ get currentTime(): number;
2038
+ get duration(): number;
2039
+ requestFrameCallback(callback: () => void): void;
2040
+ mainElement(): CanvasImageSource;
2041
+ get paused(): boolean;
2042
+ get muted(): boolean;
2043
+ set muted(value: boolean);
2044
+ connectedCallback(): void;
2045
+ disconnectedCallback(): void;
2046
+ render(): void;
2047
+ }
2048
+
1873
2049
  export declare class BlazeWidgetMoment extends HTMLElement {
1874
- player?: BlazeWidgetStoryBase;
2050
+ player?: BlazeWidgetMomentVideo;
1875
2051
  data: IMoment | any;
1876
2052
  pageIndex: number;
1877
2053
  container: HTMLElement;
@@ -1950,6 +2126,7 @@ export declare class BlazeWidgetSDK extends BaseWidget {
1950
2126
  constructor();
1951
2127
  connectedCallback(): Promise<void>;
1952
2128
  disconnectedCallback(): void;
2129
+ onResizeEventDelay(): void;
1953
2130
  onResize(): void;
1954
2131
  loadStoriesByHash(storyIds: string): Promise<void>;
1955
2132
  loadStoriesByStaticContent(): Promise<void>;
@@ -1959,6 +2136,7 @@ export declare class BlazeWidgetSDK extends BaseWidget {
1959
2136
  private injectToHead;
1960
2137
  private injectFontResource;
1961
2138
  private injectGoogleTag;
2139
+ private injectIma;
1962
2140
  }
1963
2141
 
1964
2142
  export interface IShareButton {
@@ -1986,6 +2164,7 @@ export declare class BlazeWidgetShareModal extends BaseWidget {
1986
2164
 
1987
2165
  export declare class BlazeWidgetStoryBase extends HTMLElement {
1988
2166
  data: IPage | undefined;
2167
+ shouldShowImaAd?: boolean;
1989
2168
  constructor();
1990
2169
  setData(data: IPage): void;
1991
2170
  loadPoster(): void;
@@ -2039,15 +2218,19 @@ export declare class BlazeWidgetStoryModal extends BlazeWidgetModal {
2039
2218
  parentWidget: HTMLElement;
2040
2219
  player: BlazeWidgetStoryPlayer;
2041
2220
  exitPopup: HTMLElement;
2042
- onClose: (() => void) | undefined;
2221
+ onOpen?: () => void;
2222
+ onClose?: () => void;
2223
+ onStoryChange?: (mode: StoryDirectionType) => void;
2224
+ onStoryChanged?: (mode: StoryDirectionType) => void;
2043
2225
  hammer: HammerManager | null;
2044
2226
  isMultiTouch: boolean;
2045
2227
  constructor(parentWidget: HTMLElement);
2228
+ handleOnStoryChange(mode: StoryDirectionType): void;
2046
2229
  setTheme(theme: IWidgetTheme): void;
2047
- setStories(stories: IStory[]): void;
2230
+ setStories(stories: IStory[], showInteraction?: boolean): void;
2048
2231
  seek(id: string): void;
2049
2232
  onKeyDown(ev: KeyboardEvent): void;
2050
- close(): Promise<void>;
2233
+ close(): void;
2051
2234
  open(): void;
2052
2235
  play(): void;
2053
2236
  connectedCallback(): void;
@@ -2069,14 +2252,17 @@ export declare class BlazeWidgetStoryPlayer extends BaseWidget {
2069
2252
  index: number;
2070
2253
  currentNextAnimation?: anime.AnimeInstance | null;
2071
2254
  currentPrevAnimation?: anime.AnimeInstance | null;
2072
- items: BlazeWidgetStory[];
2255
+ widgetStories: BlazeWidgetStory[];
2256
+ gestureActionLimitThreshold: number;
2073
2257
  edgeScreenThreshold: number;
2074
2258
  isEdgeThreshold: Boolean;
2075
2259
  isNavigationBlocked: boolean;
2076
2260
  isCloseAnimationStarted: boolean;
2077
2261
  srcBackground: HTMLCanvasElement;
2078
2262
  destBackground: HTMLCanvasElement;
2079
- onClose: (() => void) | undefined;
2263
+ onClose?: () => void;
2264
+ onStoryChange?: (mode: StoryDirectionType) => void;
2265
+ onStoryChanged?: (mode: StoryDirectionType) => void;
2080
2266
  listeners: EventsListener;
2081
2267
  backgroundAnimation?: Animation;
2082
2268
  overlay: any;
@@ -2093,25 +2279,21 @@ export declare class BlazeWidgetStoryPlayer extends BaseWidget {
2093
2279
  private reverseAnimation;
2094
2280
  private cleanupHammer;
2095
2281
  renderBackground(): void;
2096
- prefetchNeighbours(storyLocation: number, action: string): void;
2097
2282
  setStories(stories: BlazeWidgetStory[]): void;
2098
- close(): Promise<void>;
2283
+ close(): void;
2099
2284
  seek(storyId: string): void;
2100
- populatePrev(): Promise<void>;
2101
- populateNext(): Promise<void>;
2285
+ injectStoryToDomBasedOnUserNavigation(direction: StoryDirectionType): void;
2102
2286
  resetPosition(): void;
2103
2287
  play(): void;
2104
2288
  clean(): void;
2105
- onCompleteAnimation(currStory: BlazeWidgetStory, mode: 'NEXT' | 'PREV'): void;
2106
- nextAnimation(): AnimeTimelineInstance | undefined;
2107
- prevAnimation(): AnimeTimelineInstance | undefined;
2108
- onAnimationEnd(): void;
2289
+ onCompleteAnimation(story: BlazeWidgetStory, mode: StoryDirectionType): void;
2290
+ animateStory(direction: StoryDirectionType): AnimeTimelineInstance | undefined;
2291
+ onAnimationEnd(direction: StoryDirectionType): void;
2109
2292
  blockInteractionWithUserInterface(): void;
2110
2293
  closeWithAnimation(direction: Direction): void;
2111
- goPrev(): void;
2112
- goNext(): void;
2294
+ navigateToStory(direction: StoryDirectionType): void;
2113
2295
  handleAnimation(distance: number, story: BlazeWidgetStory, currentAnimation?: AnimeInstance | null): void;
2114
- onSmallGestures(currentAnimation: AnimeInstance, currentStory: BlazeWidgetStory): void;
2296
+ onSmallGestures(animation: AnimeInstance, story: BlazeWidgetStory): void;
2115
2297
  onKeyDown(ev: KeyboardEvent): false | undefined;
2116
2298
  render(): void;
2117
2299
  }
@@ -2177,29 +2359,42 @@ export declare class BlazeWidgetStoryPreview extends BlazeWidgetStory {
2177
2359
  }
2178
2360
 
2179
2361
  export declare class BlazeWidgetStoryVideo extends BlazeWidgetStoryBase {
2362
+ private disableInteraction;
2180
2363
  data: IPage | undefined;
2181
- video: HTMLVideoElement | undefined;
2182
- loader: HTMLElement | undefined;
2183
- source: HTMLElement | undefined;
2364
+ video: HTMLVideoElement;
2365
+ loader: HTMLElement;
2366
+ source: HTMLElement;
2367
+ interactionIframe: HTMLIFrameElement;
2368
+ videoUrl: string | undefined;
2369
+ videoFrameCallback?: any;
2370
+ eventRenderBackgroundPercentageTriggered: Array<boolean>;
2184
2371
  loaderTimeoutRefAppending: NodeJS.Timeout | undefined;
2372
+ lastErrorExecutionTime: number;
2185
2373
  isVideoStartPlaying: boolean;
2186
2374
  isError: boolean;
2187
2375
  isLoaded: boolean;
2188
2376
  isVideoRunning: boolean;
2189
2377
  maxRetryTimes: number;
2190
- videoFrameCallback?: any;
2191
- eventRenderBackgroundPercentageTriggered: Array<boolean>;
2192
2378
  mode: 'contain' | 'cover';
2193
- constructor();
2379
+ adContainer: HTMLElement;
2380
+ adLoaderContainer: BlazeLoader;
2381
+ adDisplayContainer: any;
2382
+ adsManager: any;
2383
+ shouldShowImaAd: boolean;
2384
+ storyParent: BlazeWidgetStory;
2385
+ googleIMA: any;
2386
+ constructor(storyParent: BlazeWidgetStory, disableInteraction?: boolean);
2387
+ connectedCallback(): void;
2388
+ disconnectedCallback(): void;
2194
2389
  setData(data: IPage): void;
2195
2390
  loadPoster(): void;
2196
- load(): Promise<void>;
2197
2391
  display(): void;
2198
2392
  hide(): void;
2393
+ load(): Promise<void>;
2199
2394
  unload(): Promise<void>;
2200
2395
  removeLoader(): void;
2201
2396
  startPlayVideo(video: HTMLVideoElement, maxRetryTimes: number): Promise<void>;
2202
- reloadVideo(retryTime: number): void;
2397
+ tryReloadVideo(retryTime: number): void;
2203
2398
  tryToAddLoader(): void;
2204
2399
  play(): void;
2205
2400
  pause(): void;
@@ -2211,9 +2406,23 @@ export declare class BlazeWidgetStoryVideo extends BlazeWidgetStoryBase {
2211
2406
  get paused(): boolean;
2212
2407
  get muted(): boolean;
2213
2408
  set muted(value: boolean);
2214
- connectedCallback(): void;
2215
- disconnectedCallback(): void;
2216
2409
  render(): void;
2410
+ initializeIMA(): void;
2411
+ onAdsManagerLoaded(adsManagerLoadedEvent: any): void;
2412
+ onAdEvent(adEvent: any): void;
2413
+ onWindowResize(): void;
2414
+ onVisibile(): void;
2415
+ onBlur(): void;
2416
+ onFocus(): void;
2417
+ onAdError(): void;
2418
+ loadAds(): void;
2419
+ onContentPauseRequested(): void;
2420
+ onContentResumeRequested(): void;
2421
+ removeAdLoader(): void;
2422
+ loadInteraction(): void;
2423
+ showInteraction(): void;
2424
+ hideInteraction(): void;
2425
+ unloadInteraction(): void;
2217
2426
  }
2218
2427
 
2219
2428
  export declare class BlazeWidgetStory extends HTMLElement {
@@ -2226,17 +2435,16 @@ export declare class BlazeWidgetStory extends HTMLElement {
2226
2435
  refWidget: BlazeWidgetStory[] | undefined;
2227
2436
  pageIndex: number;
2228
2437
  container: HTMLElement;
2229
- progress: HTMLElement;
2230
- onPageStart: (() => void) | undefined;
2231
- onPrevStory: (() => void) | undefined;
2232
- onNextStory: (() => void) | undefined;
2233
- onClose: (() => void) | undefined;
2438
+ progressElement: HTMLElement;
2439
+ onPageStart?: () => void;
2440
+ onPrevStory?: () => void;
2441
+ onNextStory?: () => void;
2442
+ onClose?: () => void;
2234
2443
  playbackParts: HTMLElement[];
2235
- playToggleBtn: HTMLElement;
2236
- muteToggleBtn: HTMLElement;
2444
+ playButtonElement: HTMLElement;
2445
+ muteButtonElement: HTMLElement;
2237
2446
  storyTitle: HTMLElement;
2238
2447
  storySubtitle: HTMLElement;
2239
- storyThumbnail: HTMLElement;
2240
2448
  storyChip: HTMLElement;
2241
2449
  ctaButton: HTMLElement;
2242
2450
  prevButton: HTMLElement;
@@ -2250,18 +2458,19 @@ export declare class BlazeWidgetStory extends HTMLElement {
2250
2458
  exitTrigger: 'Swipe' | 'Swipe Down' | 'Skip' | 'Close Button' | 'CTA Click' | 'Escape Button' | '';
2251
2459
  navigationType: 'Automatic' | 'Manual' | undefined;
2252
2460
  navigationDirection: 'Forwards' | 'Backwards' | undefined;
2253
- referring: ReferringEventInfo | undefined;
2254
2461
  resumeAfterfocus: boolean;
2255
2462
  totalPlayStopwatch: Stopwatch;
2256
2463
  playerStyle: StoryPlayerStyle;
2257
2464
  listeners: EventsListener;
2258
- shadowTop: HTMLDivElement;
2259
- shadow: HTMLDivElement;
2465
+ shadowTopElement: HTMLDivElement;
2466
+ topStoryShadow: BlazeDiv;
2260
2467
  isNavigationPending: boolean;
2261
2468
  navigationTimeout: NodeJS.Timeout | null;
2262
2469
  lastPageIndexToResume: number;
2263
- elementsToHideOnAds: HTMLElement[];
2470
+ elementsToHideOnCustomNativeAds: HTMLElement[];
2471
+ elementsToHideOnImaAds: (HTMLElement | undefined)[];
2264
2472
  muteStateBeforeAd: 'mute' | 'unmute' | 'no-ad';
2473
+ longPressHandler?: LongPressHandler;
2265
2474
  constructor();
2266
2475
  onShareClick(): Promise<void>;
2267
2476
  updateChip(): void;
@@ -2273,22 +2482,24 @@ export declare class BlazeWidgetStory extends HTMLElement {
2273
2482
  muteToggle(): boolean;
2274
2483
  setWidgetParent(parent: BlazeWidgetItem): void;
2275
2484
  resetStoryLocationIndexToLastUnseen(): void;
2276
- setData(data: any, modal?: any): void;
2485
+ setData(data: any, showInteraction?: boolean): void;
2277
2486
  get currentPage(): BlazeWidgetStoryBase;
2278
2487
  get nextPage(): BlazeWidgetStoryBase;
2279
2488
  get prevPage(): BlazeWidgetStoryBase;
2280
2489
  prefetchNeighbours(distance?: number): void;
2281
- loadAllPostersOfStory(): void;
2282
- loadAllPostersOfFirstPage(): void;
2490
+ loadStoryPostersByDistance(distance: number): void;
2283
2491
  loadFirstVideo(): void;
2284
2492
  playPage(pageIndexToPlayNext: number): void;
2285
2493
  switchToPage(newPageIndex: number): void;
2286
2494
  startPage(indexToPlay: number): void;
2287
2495
  unload(): void;
2288
2496
  removeFromCache(): void;
2497
+ displayCurrentStoryPageAndHideTheRest(): void;
2289
2498
  load(): void;
2290
2499
  play(): void;
2500
+ getRefferingObject(): ReferringEventInfo;
2291
2501
  event(action: StoryAction, storyData: Partial<StoryEvent>, label?: string | undefined): void;
2502
+ updateContainerLayout(): void;
2292
2503
  connectedCallback(): void;
2293
2504
  onShareModalClose(): void;
2294
2505
  onShareModalButtonClick(shareButton: BlazeShareButton): Promise<void>;