@wscsports/blaze-web-sdk 0.1.80 → 0.1.81

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wscsports/blaze-web-sdk",
3
- "version": "0.1.80",
3
+ "version": "0.1.81",
4
4
  "main": "publish/index",
5
5
  "types": "publish/index",
6
6
  "files": [
@@ -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
 
@@ -364,6 +406,8 @@ export interface IContentPage {
364
406
  hasViewed: boolean;
365
407
  ignoreReadStatusForStory: boolean;
366
408
  createTime: string;
409
+ shouldShowImaAd?: boolean;
410
+ imaUrl?: string;
367
411
  }
368
412
  export interface IAdPage {
369
413
  id: string;
@@ -527,7 +571,7 @@ export interface IBlazeSDKOptions {
527
571
  doNotTrack?: boolean;
528
572
  externalUserId?: string;
529
573
  geoLocation?: string;
530
- loadByStaticContent?: boolean;
574
+ staticContent?: boolean;
531
575
  }
532
576
 
533
577
  export interface IDatabase {
@@ -545,6 +589,31 @@ export interface IDatabaseOptions {
545
589
  version: number;
546
590
  }
547
591
 
592
+ export interface IDevice {
593
+ ua: string;
594
+ browser: {
595
+ name: string;
596
+ version: string;
597
+ major: string;
598
+ };
599
+ engine: {
600
+ name: string;
601
+ version: string;
602
+ };
603
+ os: {
604
+ name: string;
605
+ version: string;
606
+ };
607
+ device: {
608
+ type: string;
609
+ model: string;
610
+ vendor: string;
611
+ };
612
+ cpu: {
613
+ architecture: any;
614
+ };
615
+ }
616
+
548
617
  export interface IDrawable {
549
618
  render: () => void;
550
619
  }
@@ -631,10 +700,6 @@ declare abstract class AlertServiceClass extends AlertServiceClass_base implemen
631
700
  }
632
701
  export declare const AlertService: AlertServiceClass;
633
702
 
634
- export declare enum SessionAction {
635
- Start = "start",
636
- End = "end"
637
- }
638
703
  declare const AnalyticsServiceClass_base: {
639
704
  new (): {};
640
705
  _instance: AnalyticsServiceClass;
@@ -642,12 +707,13 @@ declare const AnalyticsServiceClass_base: {
642
707
  };
643
708
  declare abstract class AnalyticsServiceClass extends AnalyticsServiceClass_base implements IService {
644
709
  events: AnalyticsEvent[];
710
+ uaParsed?: IDevice;
645
711
  init(): Promise<void>;
646
712
  sendLoop(): Promise<void>;
647
713
  bulkEvent(body: Partial<AnalyticsEvent>[]): Promise<any>;
648
- pushSessionEvent(action: SessionAction, body: Partial<WidgetEvent>, label?: string | undefined): void;
649
714
  pushStoryEvent(action: StoryAction, body: Partial<StoryEvent>, label?: string | undefined, referrer?: ReferringEventInfo | undefined): void;
650
715
  pushAdEvent(action: AdAction, body: Partial<AdEvent>, label?: string | undefined, referrer?: ReferringEventInfo | undefined): void;
716
+ pushImaAdEvent(action: ImaAdAction, body: Partial<ImaAdEvent>, label?: string | undefined, referrer?: ReferringEventInfo | undefined): void;
651
717
  pushWidgetEvent(action: WidgetAction, body: Partial<WidgetEvent>, label?: string | undefined, referrer?: ReferringEventInfo | undefined): void;
652
718
  setupEvent(category: Category, action: string, body: object, label?: string | undefined, referrer?: ReferringEventInfo | undefined): AnalyticsEvent;
653
719
  }
@@ -655,8 +721,7 @@ export declare const AnalyticsService: AnalyticsServiceClass;
655
721
  export declare enum Category {
656
722
  Story = "story",
657
723
  Widget = "widget",
658
- Ad = "ad",
659
- Session = "session"
724
+ Ad = "ad"
660
725
  }
661
726
  declare class UserEventInfo {
662
727
  'generated_user_id': string;
@@ -809,6 +874,20 @@ export declare class AdEvent {
809
874
  'content_type': string;
810
875
  'ad_path': string;
811
876
  }
877
+ export declare class ImaAdEvent {
878
+ 'story_id': string;
879
+ 'story_title': string;
880
+ 'ad_id': string;
881
+ 'ad_title': string;
882
+ 'ad_description': string;
883
+ 'ad_system': string;
884
+ 'ad_duration': string;
885
+ 'skippable': string;
886
+ 'skip_time_offset': string;
887
+ 'advertiser_name': string;
888
+ 'failure_reason': string;
889
+ 'ad_type': string;
890
+ }
812
891
 
813
892
  declare const ApiServiceClass_base: {
814
893
  new (): {};
@@ -989,6 +1068,36 @@ export * from './video-cache.service';
989
1068
  export * from './video-player.service';
990
1069
  export * from './widgets.service';
991
1070
 
1071
+ interface LoggerParams {
1072
+ message: string;
1073
+ level?: LogLevel;
1074
+ metadata?: Record<string, any>;
1075
+ }
1076
+ declare enum LogLevel {
1077
+ INFO = "info",
1078
+ WARN = "warn",
1079
+ ERROR = "error"
1080
+ }
1081
+ declare const LoggerServiceClass_base: {
1082
+ new (): {};
1083
+ _instance: LoggerServiceClass;
1084
+ getInstance(): LoggerServiceClass;
1085
+ };
1086
+ declare class LoggerServiceClass extends LoggerServiceClass_base implements IService {
1087
+ private isEnabled;
1088
+ private logStack;
1089
+ private constructor();
1090
+ init(): Promise<void>;
1091
+ private getCurrentTime;
1092
+ private logToConsole;
1093
+ log({ message, level, metadata }: LoggerParams): void;
1094
+ info(message: string, metadata?: Record<string, any>): void;
1095
+ warn(message: string, metadata?: Record<string, any>): void;
1096
+ error(message: string, metadata?: Record<string, any>): void;
1097
+ printLogsToScreen(): void;
1098
+ }
1099
+ export declare const LoggerService: LoggerServiceClass;
1100
+
992
1101
  declare const StartupServiceClass_base: {
993
1102
  new (): {};
994
1103
  _instance: StartupServiceClass;
@@ -1024,12 +1133,18 @@ declare const VideoCacheServiceClass_base: {
1024
1133
  declare abstract class VideoCacheServiceClass extends VideoCacheServiceClass_base implements IService {
1025
1134
  private cache;
1026
1135
  private cacheName;
1136
+ private downloadControllers;
1137
+ private cacheInitialized;
1027
1138
  constructor();
1028
1139
  init(): Promise<void>;
1140
+ private retryCacheInitialization;
1141
+ isVideoDownloading(url: string): boolean;
1142
+ isInitialized(): boolean;
1029
1143
  private fetchAndCache;
1030
- addCacheVideoByUrl(url: string): Promise<Response>;
1031
- getCacheVideoByUrl(url: string): Promise<string>;
1144
+ private cacheResponse;
1145
+ addCacheVideoByUrl(url: string): Promise<Response | void>;
1032
1146
  isVideoCached(url: string): Promise<boolean>;
1147
+ abortDownload(url: string): Promise<void>;
1033
1148
  deleteCacheVideoByUrl(url: string): Promise<boolean>;
1034
1149
  clearAllCache(): Promise<void>;
1035
1150
  }
@@ -1169,10 +1284,6 @@ export type ThemeType = 'grid-2-columns' | 'grid-3-columns' | 'row-circle' | 'ro
1169
1284
  export declare class ThemeFactory {
1170
1285
  static create(name?: ThemeType): IWidgetTheme;
1171
1286
  }
1172
- export declare function getIndicatorStyle(el: IAttributeParser, state: string): Partial<IndicatorStyle>;
1173
- export declare function getLabelStyle(el: IAttributeParser): Partial<LabelStyle>;
1174
- export declare function setupLayoutStyle(layoutStyle: LayoutStyle): void;
1175
- export declare function getLayoutStyle(el: IAttributeParser): DeepPartial<LayoutStyle>;
1176
1287
 
1177
1288
 
1178
1289
  export interface IAttributeParser {
@@ -1203,11 +1314,15 @@ export declare function AttributeParser<TBase extends GHTMLElement>(Base: TBase)
1203
1314
  readonly offsetTop: number;
1204
1315
  readonly offsetWidth: number;
1205
1316
  outerText: string;
1317
+ popover: string | null;
1206
1318
  spellcheck: boolean;
1207
1319
  title: string;
1208
1320
  translate: boolean;
1209
1321
  attachInternals(): ElementInternals;
1210
1322
  click(): void;
1323
+ hidePopover(): void;
1324
+ showPopover(): void;
1325
+ togglePopover(force?: boolean | undefined): void;
1211
1326
  addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions | undefined): void;
1212
1327
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void;
1213
1328
  removeEventListener<K_1 extends keyof HTMLElementEventMap>(type: K_1, listener: (this: HTMLElement, ev: HTMLElementEventMap[K_1]) => any, options?: boolean | EventListenerOptions | undefined): void;
@@ -1472,6 +1587,7 @@ export declare function AttributeParser<TBase extends GHTMLElement>(Base: TBase)
1472
1587
  onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1473
1588
  onresize: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;
1474
1589
  onscroll: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1590
+ onscrollend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1475
1591
  onsecuritypolicyviolation: ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any) | null;
1476
1592
  onseeked: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1477
1593
  onseeking: ((this: GlobalEventHandlers, ev: Event) => any) | null;
@@ -1520,6 +1636,7 @@ export type FetchPriorityType = 'low' | 'high' | 'auto';
1520
1636
 
1521
1637
  export * from './attribute-parser';
1522
1638
  export * from './client-platform.type';
1639
+ export * from './story-direction.type';
1523
1640
  export * from './direction.type';
1524
1641
  export * from './element.type';
1525
1642
  export * from './fetch-priority.type';
@@ -1546,6 +1663,8 @@ export type SeverityType = 'error' | 'warning' | 'info' | 'success';
1546
1663
 
1547
1664
  export type SizeType = 'small' | 'medium' | 'large';
1548
1665
 
1666
+ export type StoryDirectionType = 'PREV_STORY' | 'NEXT_STORY';
1667
+
1549
1668
  export type ThumbnailApiType = 'SquareIcon' | 'VerticalTwoByThree' | 'MainThumbnail';
1550
1669
  export type ThumbnailType = 'SQUARE_ICON' | 'VERTICAL_TWO_BY_THREE' | 'CUSTOM';
1551
1670
  export type ThumbnailShape = 'Circle' | 'Rectangle';
@@ -1579,20 +1698,15 @@ export declare function isCssPropertySupported(property: string): boolean;
1579
1698
  export declare function isObject(item: any): boolean;
1580
1699
  export declare function mergeDeep(target: any, ...sources: any[]): any;
1581
1700
  export declare function cloneDeep<T>(target: T): T;
1582
- export declare function mergeStyles(element: HTMLElement, styles: Partial<CSSStyleDeclaration>): object;
1583
1701
  export declare function formatDate(date: Date): string;
1584
1702
  export declare function formatUTCDate(date: Date): string;
1585
1703
  export declare function getRandomId(): string;
1586
1704
  export declare function setId(element: HTMLElement, prefix?: string, suffix?: string): void;
1587
- declare let isMobile: boolean;
1588
- declare const isIOS: boolean;
1589
- declare const isSafari: boolean;
1590
- declare const isChrome: boolean;
1591
- export { isMobile, isIOS, isSafari, isChrome };
1592
1705
  export type DeepPartial<T> = T extends object ? {
1593
1706
  [P in keyof T]?: DeepPartial<T[P]>;
1594
1707
  } : T;
1595
1708
  export declare function flattenObject<T extends Record<string, any>>(obj: T): Record<string, any>;
1709
+ export declare function mergeStyles(element: HTMLElement, styles: Partial<CSSStyleDeclaration>): object;
1596
1710
 
1597
1711
  export * from './chip.utils';
1598
1712
  export * from './common.utils';
@@ -1616,7 +1730,6 @@ export declare function calculatePosition(statusIndicatorPosition: PositionType)
1616
1730
  };
1617
1731
 
1618
1732
  export declare const RegexHash: RegExp;
1619
- export declare const RegexHashPlayType: RegExp;
1620
1733
 
1621
1734
  export declare class Stopwatch {
1622
1735
  isRunning: boolean;
@@ -1653,7 +1766,6 @@ export declare class BlazeWidgetStoryAd extends BlazeWidgetStoryBase {
1653
1766
  private adContainer;
1654
1767
  private placeholderContainer;
1655
1768
  private googletag;
1656
- private isMuted;
1657
1769
  private failToLoadTimeout?;
1658
1770
  constructor(storyParent: BlazeWidgetStory);
1659
1771
  connectedCallback(): void;
@@ -1760,13 +1872,17 @@ export declare class BlazeWidgetLayout extends BlazeWidgetScrollable implements
1760
1872
  analyticsStack: Record<WidgetAction, boolean>;
1761
1873
  onResizeEvent: (this: Window, ev: UIEvent) => void;
1762
1874
  constructor();
1875
+ onResizeEventDelay(): void;
1876
+ onResize(): void;
1763
1877
  handleHeightChangeMutation(mutationsList: MutationRecord[]): void;
1878
+ handleIntersection(entries: IntersectionObserverEntry[]): void;
1764
1879
  connectedCallback(): void;
1765
- getParentHeightWithoutPadding(): number | null;
1766
1880
  disconnectedCallback(): void;
1881
+ onKeyDown(e: KeyboardEvent): void;
1882
+ onStoryChange(mode: StoryDirectionType): void;
1883
+ getParentHeightWithoutPadding(): number | null;
1767
1884
  attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
1768
1885
  setId(id: string): void;
1769
- onResize(): void;
1770
1886
  handlePopState(_event: Event): void;
1771
1887
  addDelegateListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void;
1772
1888
  set storyIds(value: string);
@@ -1775,17 +1891,16 @@ export declare class BlazeWidgetLayout extends BlazeWidgetScrollable implements
1775
1891
  setLabels(labels: labelType): void;
1776
1892
  getTheme(): IWidgetTheme;
1777
1893
  setTheme(theme: IWidgetTheme | string): void;
1894
+ private get theme();
1778
1895
  reload(): void;
1779
1896
  setDelegations(delegates: Record<Delegation, EventListenerOrEventListenerObject>): void;
1780
1897
  setMaxItemsDisplaySize(maxSize: number): void;
1781
1898
  setMaxItemsSize(maxItemsSize: number): void;
1782
- handleIntersection(entries: IntersectionObserverEntry[]): void;
1783
1899
  createModal(): void;
1784
1900
  createMomentsModal(): void;
1785
1901
  static get observedAttributes(): string[];
1786
1902
  onItemClick(item: BlazeWidgetItem, i: number): void;
1787
1903
  loadStories(): Promise<void>;
1788
- private get theme();
1789
1904
  render(): void;
1790
1905
  calculateLabelSizes(labelStyle: LabelStyle, lineNumber: number): {
1791
1906
  labelWidth: number | "auto";
@@ -1958,6 +2073,7 @@ export declare class BlazeWidgetSDK extends BaseWidget {
1958
2073
  constructor();
1959
2074
  connectedCallback(): Promise<void>;
1960
2075
  disconnectedCallback(): void;
2076
+ onResizeEventDelay(): void;
1961
2077
  onResize(): void;
1962
2078
  loadStoriesByHash(storyIds: string): Promise<void>;
1963
2079
  loadStoriesByStaticContent(): Promise<void>;
@@ -1967,6 +2083,7 @@ export declare class BlazeWidgetSDK extends BaseWidget {
1967
2083
  private injectToHead;
1968
2084
  private injectFontResource;
1969
2085
  private injectGoogleTag;
2086
+ private injectIma;
1970
2087
  }
1971
2088
 
1972
2089
  export interface IShareButton {
@@ -1994,6 +2111,7 @@ export declare class BlazeWidgetShareModal extends BaseWidget {
1994
2111
 
1995
2112
  export declare class BlazeWidgetStoryBase extends HTMLElement {
1996
2113
  data: IPage | undefined;
2114
+ shouldShowImaAd?: boolean;
1997
2115
  constructor();
1998
2116
  setData(data: IPage): void;
1999
2117
  loadPoster(): void;
@@ -2047,15 +2165,19 @@ export declare class BlazeWidgetStoryModal extends BlazeWidgetModal {
2047
2165
  parentWidget: HTMLElement;
2048
2166
  player: BlazeWidgetStoryPlayer;
2049
2167
  exitPopup: HTMLElement;
2050
- onClose: (() => void) | undefined;
2168
+ onOpen?: () => void;
2169
+ onClose?: () => void;
2170
+ onStoryChange?: (mode: StoryDirectionType) => void;
2171
+ onStoryChanged?: (mode: StoryDirectionType) => void;
2051
2172
  hammer: HammerManager | null;
2052
2173
  isMultiTouch: boolean;
2053
2174
  constructor(parentWidget: HTMLElement);
2175
+ handleOnStoryChange(mode: StoryDirectionType): void;
2054
2176
  setTheme(theme: IWidgetTheme): void;
2055
2177
  setStories(stories: IStory[]): void;
2056
2178
  seek(id: string): void;
2057
2179
  onKeyDown(ev: KeyboardEvent): void;
2058
- close(): Promise<void>;
2180
+ close(): void;
2059
2181
  open(): void;
2060
2182
  play(): void;
2061
2183
  connectedCallback(): void;
@@ -2077,14 +2199,17 @@ export declare class BlazeWidgetStoryPlayer extends BaseWidget {
2077
2199
  index: number;
2078
2200
  currentNextAnimation?: anime.AnimeInstance | null;
2079
2201
  currentPrevAnimation?: anime.AnimeInstance | null;
2080
- items: BlazeWidgetStory[];
2202
+ widgetStories: BlazeWidgetStory[];
2203
+ gestureActionLimitThreshold: number;
2081
2204
  edgeScreenThreshold: number;
2082
2205
  isEdgeThreshold: Boolean;
2083
2206
  isNavigationBlocked: boolean;
2084
2207
  isCloseAnimationStarted: boolean;
2085
2208
  srcBackground: HTMLCanvasElement;
2086
2209
  destBackground: HTMLCanvasElement;
2087
- onClose: (() => void) | undefined;
2210
+ onClose?: () => void;
2211
+ onStoryChange?: (mode: StoryDirectionType) => void;
2212
+ onStoryChanged?: (mode: StoryDirectionType) => void;
2088
2213
  listeners: EventsListener;
2089
2214
  backgroundAnimation?: Animation;
2090
2215
  overlay: any;
@@ -2101,25 +2226,21 @@ export declare class BlazeWidgetStoryPlayer extends BaseWidget {
2101
2226
  private reverseAnimation;
2102
2227
  private cleanupHammer;
2103
2228
  renderBackground(): void;
2104
- prefetchNeighbours(storyLocation: number, action: string): void;
2105
2229
  setStories(stories: BlazeWidgetStory[]): void;
2106
- close(): Promise<void>;
2230
+ close(): void;
2107
2231
  seek(storyId: string): void;
2108
- populatePrev(): Promise<void>;
2109
- populateNext(): Promise<void>;
2232
+ injectStoryToDomBasedOnUserNavigation(direction: StoryDirectionType): void;
2110
2233
  resetPosition(): void;
2111
2234
  play(): void;
2112
2235
  clean(): void;
2113
- onCompleteAnimation(currStory: BlazeWidgetStory, mode: 'NEXT' | 'PREV'): void;
2114
- nextAnimation(): AnimeTimelineInstance | undefined;
2115
- prevAnimation(): AnimeTimelineInstance | undefined;
2116
- onAnimationEnd(): void;
2236
+ onCompleteAnimation(story: BlazeWidgetStory, mode: StoryDirectionType): void;
2237
+ animateStory(direction: StoryDirectionType): AnimeTimelineInstance | undefined;
2238
+ onAnimationEnd(direction: StoryDirectionType): void;
2117
2239
  blockInteractionWithUserInterface(): void;
2118
2240
  closeWithAnimation(direction: Direction): void;
2119
- goPrev(): void;
2120
- goNext(): void;
2241
+ navigateToStory(direction: StoryDirectionType): void;
2121
2242
  handleAnimation(distance: number, story: BlazeWidgetStory, currentAnimation?: AnimeInstance | null): void;
2122
- onSmallGestures(currentAnimation: AnimeInstance, currentStory: BlazeWidgetStory): void;
2243
+ onSmallGestures(animation: AnimeInstance, story: BlazeWidgetStory): void;
2123
2244
  onKeyDown(ev: KeyboardEvent): false | undefined;
2124
2245
  render(): void;
2125
2246
  }
@@ -2186,28 +2307,39 @@ export declare class BlazeWidgetStoryPreview extends BlazeWidgetStory {
2186
2307
 
2187
2308
  export declare class BlazeWidgetStoryVideo extends BlazeWidgetStoryBase {
2188
2309
  data: IPage | undefined;
2189
- video: HTMLVideoElement | undefined;
2190
- loader: HTMLElement | undefined;
2191
- source: HTMLElement | undefined;
2310
+ video: HTMLVideoElement;
2311
+ loader: HTMLElement;
2312
+ source: HTMLElement;
2313
+ videoUrl: string | undefined;
2314
+ videoFrameCallback?: any;
2315
+ eventRenderBackgroundPercentageTriggered: Array<boolean>;
2192
2316
  loaderTimeoutRefAppending: NodeJS.Timeout | undefined;
2317
+ lastErrorExecutionTime: number;
2193
2318
  isVideoStartPlaying: boolean;
2194
2319
  isError: boolean;
2195
2320
  isLoaded: boolean;
2196
2321
  isVideoRunning: boolean;
2197
2322
  maxRetryTimes: number;
2198
- videoFrameCallback?: any;
2199
- eventRenderBackgroundPercentageTriggered: Array<boolean>;
2200
2323
  mode: 'contain' | 'cover';
2201
- constructor();
2324
+ adContainer: HTMLElement;
2325
+ adLoaderContainer: BlazeLoader;
2326
+ adDisplayContainer: any;
2327
+ adsManager: any;
2328
+ shouldShowImaAd: boolean;
2329
+ storyParent: BlazeWidgetStory;
2330
+ googleIMA: any;
2331
+ constructor(storyParent: BlazeWidgetStory);
2332
+ connectedCallback(): void;
2333
+ disconnectedCallback(): void;
2202
2334
  setData(data: IPage): void;
2203
2335
  loadPoster(): void;
2204
- load(): Promise<void>;
2205
2336
  display(): void;
2206
2337
  hide(): void;
2338
+ load(): Promise<void>;
2207
2339
  unload(): Promise<void>;
2208
2340
  removeLoader(): void;
2209
2341
  startPlayVideo(video: HTMLVideoElement, maxRetryTimes: number): Promise<void>;
2210
- reloadVideo(retryTime: number): void;
2342
+ tryReloadVideo(retryTime: number): void;
2211
2343
  tryToAddLoader(): void;
2212
2344
  play(): void;
2213
2345
  pause(): void;
@@ -2219,9 +2351,19 @@ export declare class BlazeWidgetStoryVideo extends BlazeWidgetStoryBase {
2219
2351
  get paused(): boolean;
2220
2352
  get muted(): boolean;
2221
2353
  set muted(value: boolean);
2222
- connectedCallback(): void;
2223
- disconnectedCallback(): void;
2224
2354
  render(): void;
2355
+ initializeIMA(): void;
2356
+ onAdsManagerLoaded(adsManagerLoadedEvent: any): void;
2357
+ onAdEvent(adEvent: any): void;
2358
+ onWindowResize(): void;
2359
+ onVisibile(): void;
2360
+ onBlur(): void;
2361
+ onFocus(): void;
2362
+ onAdError(): void;
2363
+ loadAds(): void;
2364
+ onContentPauseRequested(): void;
2365
+ onContentResumeRequested(): void;
2366
+ removeAdLoader(): void;
2225
2367
  }
2226
2368
 
2227
2369
  export declare class BlazeWidgetStory extends HTMLElement {
@@ -2234,17 +2376,16 @@ export declare class BlazeWidgetStory extends HTMLElement {
2234
2376
  refWidget: BlazeWidgetStory[] | undefined;
2235
2377
  pageIndex: number;
2236
2378
  container: HTMLElement;
2237
- progress: HTMLElement;
2238
- onPageStart: (() => void) | undefined;
2239
- onPrevStory: (() => void) | undefined;
2240
- onNextStory: (() => void) | undefined;
2241
- onClose: (() => void) | undefined;
2379
+ progressElement: HTMLElement;
2380
+ onPageStart?: () => void;
2381
+ onPrevStory?: () => void;
2382
+ onNextStory?: () => void;
2383
+ onClose?: () => void;
2242
2384
  playbackParts: HTMLElement[];
2243
- playToggleBtn: HTMLElement;
2244
- muteToggleBtn: HTMLElement;
2385
+ playButtonElement: HTMLElement;
2386
+ muteButtonElement: HTMLElement;
2245
2387
  storyTitle: HTMLElement;
2246
2388
  storySubtitle: HTMLElement;
2247
- storyThumbnail: HTMLElement;
2248
2389
  storyChip: HTMLElement;
2249
2390
  ctaButton: HTMLElement;
2250
2391
  prevButton: HTMLElement;
@@ -2258,18 +2399,19 @@ export declare class BlazeWidgetStory extends HTMLElement {
2258
2399
  exitTrigger: 'Swipe' | 'Swipe Down' | 'Skip' | 'Close Button' | 'CTA Click' | 'Escape Button' | '';
2259
2400
  navigationType: 'Automatic' | 'Manual' | undefined;
2260
2401
  navigationDirection: 'Forwards' | 'Backwards' | undefined;
2261
- referring: ReferringEventInfo | undefined;
2262
2402
  resumeAfterfocus: boolean;
2263
2403
  totalPlayStopwatch: Stopwatch;
2264
2404
  playerStyle: StoryPlayerStyle;
2265
2405
  listeners: EventsListener;
2266
- shadowTop: HTMLDivElement;
2267
- shadow: HTMLDivElement;
2406
+ shadowTopElement: HTMLDivElement;
2407
+ topStoryShadow: BlazeDiv;
2268
2408
  isNavigationPending: boolean;
2269
2409
  navigationTimeout: NodeJS.Timeout | null;
2270
2410
  lastPageIndexToResume: number;
2271
- elementsToHideOnAds: HTMLElement[];
2411
+ elementsToHideOnCustomNativeAds: HTMLElement[];
2412
+ elementsToHideOnImaAds: (HTMLElement | undefined)[];
2272
2413
  muteStateBeforeAd: 'mute' | 'unmute' | 'no-ad';
2414
+ longPressHandler?: LongPressHandler;
2273
2415
  constructor();
2274
2416
  onShareClick(): Promise<void>;
2275
2417
  updateChip(): void;
@@ -2286,17 +2428,19 @@ export declare class BlazeWidgetStory extends HTMLElement {
2286
2428
  get nextPage(): BlazeWidgetStoryBase;
2287
2429
  get prevPage(): BlazeWidgetStoryBase;
2288
2430
  prefetchNeighbours(distance?: number): void;
2289
- loadAllPostersOfStory(): void;
2290
- loadAllPostersOfFirstPage(): void;
2431
+ loadStoryPostersByDistance(distance: number): void;
2291
2432
  loadFirstVideo(): void;
2292
2433
  playPage(pageIndexToPlayNext: number): void;
2293
2434
  switchToPage(newPageIndex: number): void;
2294
2435
  startPage(indexToPlay: number): void;
2295
2436
  unload(): void;
2296
2437
  removeFromCache(): void;
2438
+ displayCurrentStoryPageAndHideTheRest(): void;
2297
2439
  load(): void;
2298
2440
  play(): void;
2441
+ getRefferingObject(): ReferringEventInfo;
2299
2442
  event(action: StoryAction, storyData: Partial<StoryEvent>, label?: string | undefined): void;
2443
+ updateContainerLayout(): void;
2300
2444
  connectedCallback(): void;
2301
2445
  onShareModalClose(): void;
2302
2446
  onShareModalButtonClick(shareButton: BlazeShareButton): Promise<void>;