@wscsports/blaze-web-sdk 0.1.79 → 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.79",
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;
@@ -715,6 +780,7 @@ export declare class ReferringEventInfo {
715
780
  'origin_widget_type': string;
716
781
  'origin_placement_id': string;
717
782
  'origin_placement_name': string;
783
+ 'story_source': string;
718
784
  }
719
785
  export declare class AnalyticsEvent {
720
786
  'timestamp_utc': string;
@@ -808,6 +874,20 @@ export declare class AdEvent {
808
874
  'content_type': string;
809
875
  'ad_path': string;
810
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
+ }
811
891
 
812
892
  declare const ApiServiceClass_base: {
813
893
  new (): {};
@@ -988,6 +1068,36 @@ export * from './video-cache.service';
988
1068
  export * from './video-player.service';
989
1069
  export * from './widgets.service';
990
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
+
991
1101
  declare const StartupServiceClass_base: {
992
1102
  new (): {};
993
1103
  _instance: StartupServiceClass;
@@ -1023,12 +1133,18 @@ declare const VideoCacheServiceClass_base: {
1023
1133
  declare abstract class VideoCacheServiceClass extends VideoCacheServiceClass_base implements IService {
1024
1134
  private cache;
1025
1135
  private cacheName;
1136
+ private downloadControllers;
1137
+ private cacheInitialized;
1026
1138
  constructor();
1027
1139
  init(): Promise<void>;
1140
+ private retryCacheInitialization;
1141
+ isVideoDownloading(url: string): boolean;
1142
+ isInitialized(): boolean;
1028
1143
  private fetchAndCache;
1029
- addCacheVideoByUrl(url: string): Promise<Response>;
1030
- getCacheVideoByUrl(url: string): Promise<string>;
1144
+ private cacheResponse;
1145
+ addCacheVideoByUrl(url: string): Promise<Response | void>;
1031
1146
  isVideoCached(url: string): Promise<boolean>;
1147
+ abortDownload(url: string): Promise<void>;
1032
1148
  deleteCacheVideoByUrl(url: string): Promise<boolean>;
1033
1149
  clearAllCache(): Promise<void>;
1034
1150
  }
@@ -1168,10 +1284,6 @@ export type ThemeType = 'grid-2-columns' | 'grid-3-columns' | 'row-circle' | 'ro
1168
1284
  export declare class ThemeFactory {
1169
1285
  static create(name?: ThemeType): IWidgetTheme;
1170
1286
  }
1171
- export declare function getIndicatorStyle(el: IAttributeParser, state: string): Partial<IndicatorStyle>;
1172
- export declare function getLabelStyle(el: IAttributeParser): Partial<LabelStyle>;
1173
- export declare function setupLayoutStyle(layoutStyle: LayoutStyle): void;
1174
- export declare function getLayoutStyle(el: IAttributeParser): DeepPartial<LayoutStyle>;
1175
1287
 
1176
1288
 
1177
1289
  export interface IAttributeParser {
@@ -1202,11 +1314,15 @@ export declare function AttributeParser<TBase extends GHTMLElement>(Base: TBase)
1202
1314
  readonly offsetTop: number;
1203
1315
  readonly offsetWidth: number;
1204
1316
  outerText: string;
1317
+ popover: string | null;
1205
1318
  spellcheck: boolean;
1206
1319
  title: string;
1207
1320
  translate: boolean;
1208
1321
  attachInternals(): ElementInternals;
1209
1322
  click(): void;
1323
+ hidePopover(): void;
1324
+ showPopover(): void;
1325
+ togglePopover(force?: boolean | undefined): void;
1210
1326
  addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions | undefined): void;
1211
1327
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void;
1212
1328
  removeEventListener<K_1 extends keyof HTMLElementEventMap>(type: K_1, listener: (this: HTMLElement, ev: HTMLElementEventMap[K_1]) => any, options?: boolean | EventListenerOptions | undefined): void;
@@ -1471,6 +1587,7 @@ export declare function AttributeParser<TBase extends GHTMLElement>(Base: TBase)
1471
1587
  onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1472
1588
  onresize: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;
1473
1589
  onscroll: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1590
+ onscrollend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1474
1591
  onsecuritypolicyviolation: ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any) | null;
1475
1592
  onseeked: ((this: GlobalEventHandlers, ev: Event) => any) | null;
1476
1593
  onseeking: ((this: GlobalEventHandlers, ev: Event) => any) | null;
@@ -1519,6 +1636,7 @@ export type FetchPriorityType = 'low' | 'high' | 'auto';
1519
1636
 
1520
1637
  export * from './attribute-parser';
1521
1638
  export * from './client-platform.type';
1639
+ export * from './story-direction.type';
1522
1640
  export * from './direction.type';
1523
1641
  export * from './element.type';
1524
1642
  export * from './fetch-priority.type';
@@ -1545,6 +1663,8 @@ export type SeverityType = 'error' | 'warning' | 'info' | 'success';
1545
1663
 
1546
1664
  export type SizeType = 'small' | 'medium' | 'large';
1547
1665
 
1666
+ export type StoryDirectionType = 'PREV_STORY' | 'NEXT_STORY';
1667
+
1548
1668
  export type ThumbnailApiType = 'SquareIcon' | 'VerticalTwoByThree' | 'MainThumbnail';
1549
1669
  export type ThumbnailType = 'SQUARE_ICON' | 'VERTICAL_TWO_BY_THREE' | 'CUSTOM';
1550
1670
  export type ThumbnailShape = 'Circle' | 'Rectangle';
@@ -1578,20 +1698,15 @@ export declare function isCssPropertySupported(property: string): boolean;
1578
1698
  export declare function isObject(item: any): boolean;
1579
1699
  export declare function mergeDeep(target: any, ...sources: any[]): any;
1580
1700
  export declare function cloneDeep<T>(target: T): T;
1581
- export declare function mergeStyles(element: HTMLElement, styles: Partial<CSSStyleDeclaration>): object;
1582
1701
  export declare function formatDate(date: Date): string;
1583
1702
  export declare function formatUTCDate(date: Date): string;
1584
1703
  export declare function getRandomId(): string;
1585
1704
  export declare function setId(element: HTMLElement, prefix?: string, suffix?: string): void;
1586
- declare let isMobile: boolean;
1587
- declare const isIOS: boolean;
1588
- declare const isSafari: boolean;
1589
- declare const isChrome: boolean;
1590
- export { isMobile, isIOS, isSafari, isChrome };
1591
1705
  export type DeepPartial<T> = T extends object ? {
1592
1706
  [P in keyof T]?: DeepPartial<T[P]>;
1593
1707
  } : T;
1594
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;
1595
1710
 
1596
1711
  export * from './chip.utils';
1597
1712
  export * from './common.utils';
@@ -1615,7 +1730,6 @@ export declare function calculatePosition(statusIndicatorPosition: PositionType)
1615
1730
  };
1616
1731
 
1617
1732
  export declare const RegexHash: RegExp;
1618
- export declare const RegexHashPlayType: RegExp;
1619
1733
 
1620
1734
  export declare class Stopwatch {
1621
1735
  isRunning: boolean;
@@ -1652,7 +1766,6 @@ export declare class BlazeWidgetStoryAd extends BlazeWidgetStoryBase {
1652
1766
  private adContainer;
1653
1767
  private placeholderContainer;
1654
1768
  private googletag;
1655
- private isMuted;
1656
1769
  private failToLoadTimeout?;
1657
1770
  constructor(storyParent: BlazeWidgetStory);
1658
1771
  connectedCallback(): void;
@@ -1759,13 +1872,17 @@ export declare class BlazeWidgetLayout extends BlazeWidgetScrollable implements
1759
1872
  analyticsStack: Record<WidgetAction, boolean>;
1760
1873
  onResizeEvent: (this: Window, ev: UIEvent) => void;
1761
1874
  constructor();
1875
+ onResizeEventDelay(): void;
1876
+ onResize(): void;
1762
1877
  handleHeightChangeMutation(mutationsList: MutationRecord[]): void;
1878
+ handleIntersection(entries: IntersectionObserverEntry[]): void;
1763
1879
  connectedCallback(): void;
1764
- getParentHeightWithoutPadding(): number | null;
1765
1880
  disconnectedCallback(): void;
1881
+ onKeyDown(e: KeyboardEvent): void;
1882
+ onStoryChange(mode: StoryDirectionType): void;
1883
+ getParentHeightWithoutPadding(): number | null;
1766
1884
  attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
1767
1885
  setId(id: string): void;
1768
- onResize(): void;
1769
1886
  handlePopState(_event: Event): void;
1770
1887
  addDelegateListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void;
1771
1888
  set storyIds(value: string);
@@ -1774,17 +1891,16 @@ export declare class BlazeWidgetLayout extends BlazeWidgetScrollable implements
1774
1891
  setLabels(labels: labelType): void;
1775
1892
  getTheme(): IWidgetTheme;
1776
1893
  setTheme(theme: IWidgetTheme | string): void;
1894
+ private get theme();
1777
1895
  reload(): void;
1778
1896
  setDelegations(delegates: Record<Delegation, EventListenerOrEventListenerObject>): void;
1779
1897
  setMaxItemsDisplaySize(maxSize: number): void;
1780
1898
  setMaxItemsSize(maxItemsSize: number): void;
1781
- handleIntersection(entries: IntersectionObserverEntry[]): void;
1782
1899
  createModal(): void;
1783
1900
  createMomentsModal(): void;
1784
1901
  static get observedAttributes(): string[];
1785
1902
  onItemClick(item: BlazeWidgetItem, i: number): void;
1786
1903
  loadStories(): Promise<void>;
1787
- private get theme();
1788
1904
  render(): void;
1789
1905
  calculateLabelSizes(labelStyle: LabelStyle, lineNumber: number): {
1790
1906
  labelWidth: number | "auto";
@@ -1957,6 +2073,7 @@ export declare class BlazeWidgetSDK extends BaseWidget {
1957
2073
  constructor();
1958
2074
  connectedCallback(): Promise<void>;
1959
2075
  disconnectedCallback(): void;
2076
+ onResizeEventDelay(): void;
1960
2077
  onResize(): void;
1961
2078
  loadStoriesByHash(storyIds: string): Promise<void>;
1962
2079
  loadStoriesByStaticContent(): Promise<void>;
@@ -1966,6 +2083,7 @@ export declare class BlazeWidgetSDK extends BaseWidget {
1966
2083
  private injectToHead;
1967
2084
  private injectFontResource;
1968
2085
  private injectGoogleTag;
2086
+ private injectIma;
1969
2087
  }
1970
2088
 
1971
2089
  export interface IShareButton {
@@ -1993,6 +2111,7 @@ export declare class BlazeWidgetShareModal extends BaseWidget {
1993
2111
 
1994
2112
  export declare class BlazeWidgetStoryBase extends HTMLElement {
1995
2113
  data: IPage | undefined;
2114
+ shouldShowImaAd?: boolean;
1996
2115
  constructor();
1997
2116
  setData(data: IPage): void;
1998
2117
  loadPoster(): void;
@@ -2046,15 +2165,19 @@ export declare class BlazeWidgetStoryModal extends BlazeWidgetModal {
2046
2165
  parentWidget: HTMLElement;
2047
2166
  player: BlazeWidgetStoryPlayer;
2048
2167
  exitPopup: HTMLElement;
2049
- onClose: (() => void) | undefined;
2168
+ onOpen?: () => void;
2169
+ onClose?: () => void;
2170
+ onStoryChange?: (mode: StoryDirectionType) => void;
2171
+ onStoryChanged?: (mode: StoryDirectionType) => void;
2050
2172
  hammer: HammerManager | null;
2051
2173
  isMultiTouch: boolean;
2052
2174
  constructor(parentWidget: HTMLElement);
2175
+ handleOnStoryChange(mode: StoryDirectionType): void;
2053
2176
  setTheme(theme: IWidgetTheme): void;
2054
2177
  setStories(stories: IStory[]): void;
2055
2178
  seek(id: string): void;
2056
2179
  onKeyDown(ev: KeyboardEvent): void;
2057
- close(): Promise<void>;
2180
+ close(): void;
2058
2181
  open(): void;
2059
2182
  play(): void;
2060
2183
  connectedCallback(): void;
@@ -2076,14 +2199,17 @@ export declare class BlazeWidgetStoryPlayer extends BaseWidget {
2076
2199
  index: number;
2077
2200
  currentNextAnimation?: anime.AnimeInstance | null;
2078
2201
  currentPrevAnimation?: anime.AnimeInstance | null;
2079
- items: BlazeWidgetStory[];
2202
+ widgetStories: BlazeWidgetStory[];
2203
+ gestureActionLimitThreshold: number;
2080
2204
  edgeScreenThreshold: number;
2081
2205
  isEdgeThreshold: Boolean;
2082
2206
  isNavigationBlocked: boolean;
2083
2207
  isCloseAnimationStarted: boolean;
2084
2208
  srcBackground: HTMLCanvasElement;
2085
2209
  destBackground: HTMLCanvasElement;
2086
- onClose: (() => void) | undefined;
2210
+ onClose?: () => void;
2211
+ onStoryChange?: (mode: StoryDirectionType) => void;
2212
+ onStoryChanged?: (mode: StoryDirectionType) => void;
2087
2213
  listeners: EventsListener;
2088
2214
  backgroundAnimation?: Animation;
2089
2215
  overlay: any;
@@ -2100,25 +2226,21 @@ export declare class BlazeWidgetStoryPlayer extends BaseWidget {
2100
2226
  private reverseAnimation;
2101
2227
  private cleanupHammer;
2102
2228
  renderBackground(): void;
2103
- prefetchNeighbours(storyLocation: number, action: string): void;
2104
2229
  setStories(stories: BlazeWidgetStory[]): void;
2105
- close(): Promise<void>;
2230
+ close(): void;
2106
2231
  seek(storyId: string): void;
2107
- populatePrev(): Promise<void>;
2108
- populateNext(): Promise<void>;
2232
+ injectStoryToDomBasedOnUserNavigation(direction: StoryDirectionType): void;
2109
2233
  resetPosition(): void;
2110
2234
  play(): void;
2111
2235
  clean(): void;
2112
- onCompleteAnimation(currStory: BlazeWidgetStory, mode: 'NEXT' | 'PREV'): void;
2113
- nextAnimation(): AnimeTimelineInstance | undefined;
2114
- prevAnimation(): AnimeTimelineInstance | undefined;
2115
- onAnimationEnd(): void;
2236
+ onCompleteAnimation(story: BlazeWidgetStory, mode: StoryDirectionType): void;
2237
+ animateStory(direction: StoryDirectionType): AnimeTimelineInstance | undefined;
2238
+ onAnimationEnd(direction: StoryDirectionType): void;
2116
2239
  blockInteractionWithUserInterface(): void;
2117
2240
  closeWithAnimation(direction: Direction): void;
2118
- goPrev(): void;
2119
- goNext(): void;
2241
+ navigateToStory(direction: StoryDirectionType): void;
2120
2242
  handleAnimation(distance: number, story: BlazeWidgetStory, currentAnimation?: AnimeInstance | null): void;
2121
- onSmallGestures(currentAnimation: AnimeInstance, currentStory: BlazeWidgetStory): void;
2243
+ onSmallGestures(animation: AnimeInstance, story: BlazeWidgetStory): void;
2122
2244
  onKeyDown(ev: KeyboardEvent): false | undefined;
2123
2245
  render(): void;
2124
2246
  }
@@ -2185,28 +2307,39 @@ export declare class BlazeWidgetStoryPreview extends BlazeWidgetStory {
2185
2307
 
2186
2308
  export declare class BlazeWidgetStoryVideo extends BlazeWidgetStoryBase {
2187
2309
  data: IPage | undefined;
2188
- video: HTMLVideoElement | undefined;
2189
- loader: HTMLElement | undefined;
2190
- source: HTMLElement | undefined;
2310
+ video: HTMLVideoElement;
2311
+ loader: HTMLElement;
2312
+ source: HTMLElement;
2313
+ videoUrl: string | undefined;
2314
+ videoFrameCallback?: any;
2315
+ eventRenderBackgroundPercentageTriggered: Array<boolean>;
2191
2316
  loaderTimeoutRefAppending: NodeJS.Timeout | undefined;
2317
+ lastErrorExecutionTime: number;
2192
2318
  isVideoStartPlaying: boolean;
2193
2319
  isError: boolean;
2194
2320
  isLoaded: boolean;
2195
2321
  isVideoRunning: boolean;
2196
2322
  maxRetryTimes: number;
2197
- videoFrameCallback?: any;
2198
- eventRenderBackgroundPercentageTriggered: Array<boolean>;
2199
2323
  mode: 'contain' | 'cover';
2200
- 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;
2201
2334
  setData(data: IPage): void;
2202
2335
  loadPoster(): void;
2203
- load(): Promise<void>;
2204
2336
  display(): void;
2205
2337
  hide(): void;
2338
+ load(): Promise<void>;
2206
2339
  unload(): Promise<void>;
2207
2340
  removeLoader(): void;
2208
2341
  startPlayVideo(video: HTMLVideoElement, maxRetryTimes: number): Promise<void>;
2209
- reloadVideo(retryTime: number): void;
2342
+ tryReloadVideo(retryTime: number): void;
2210
2343
  tryToAddLoader(): void;
2211
2344
  play(): void;
2212
2345
  pause(): void;
@@ -2218,9 +2351,19 @@ export declare class BlazeWidgetStoryVideo extends BlazeWidgetStoryBase {
2218
2351
  get paused(): boolean;
2219
2352
  get muted(): boolean;
2220
2353
  set muted(value: boolean);
2221
- connectedCallback(): void;
2222
- disconnectedCallback(): void;
2223
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;
2224
2367
  }
2225
2368
 
2226
2369
  export declare class BlazeWidgetStory extends HTMLElement {
@@ -2233,17 +2376,16 @@ export declare class BlazeWidgetStory extends HTMLElement {
2233
2376
  refWidget: BlazeWidgetStory[] | undefined;
2234
2377
  pageIndex: number;
2235
2378
  container: HTMLElement;
2236
- progress: HTMLElement;
2237
- onPageStart: (() => void) | undefined;
2238
- onPrevStory: (() => void) | undefined;
2239
- onNextStory: (() => void) | undefined;
2240
- onClose: (() => void) | undefined;
2379
+ progressElement: HTMLElement;
2380
+ onPageStart?: () => void;
2381
+ onPrevStory?: () => void;
2382
+ onNextStory?: () => void;
2383
+ onClose?: () => void;
2241
2384
  playbackParts: HTMLElement[];
2242
- playToggleBtn: HTMLElement;
2243
- muteToggleBtn: HTMLElement;
2385
+ playButtonElement: HTMLElement;
2386
+ muteButtonElement: HTMLElement;
2244
2387
  storyTitle: HTMLElement;
2245
2388
  storySubtitle: HTMLElement;
2246
- storyThumbnail: HTMLElement;
2247
2389
  storyChip: HTMLElement;
2248
2390
  ctaButton: HTMLElement;
2249
2391
  prevButton: HTMLElement;
@@ -2257,18 +2399,19 @@ export declare class BlazeWidgetStory extends HTMLElement {
2257
2399
  exitTrigger: 'Swipe' | 'Swipe Down' | 'Skip' | 'Close Button' | 'CTA Click' | 'Escape Button' | '';
2258
2400
  navigationType: 'Automatic' | 'Manual' | undefined;
2259
2401
  navigationDirection: 'Forwards' | 'Backwards' | undefined;
2260
- referring: ReferringEventInfo | undefined;
2261
2402
  resumeAfterfocus: boolean;
2262
2403
  totalPlayStopwatch: Stopwatch;
2263
2404
  playerStyle: StoryPlayerStyle;
2264
2405
  listeners: EventsListener;
2265
- shadowTop: HTMLDivElement;
2266
- shadow: HTMLDivElement;
2406
+ shadowTopElement: HTMLDivElement;
2407
+ topStoryShadow: BlazeDiv;
2267
2408
  isNavigationPending: boolean;
2268
2409
  navigationTimeout: NodeJS.Timeout | null;
2269
2410
  lastPageIndexToResume: number;
2270
- elementsToHideOnAds: HTMLElement[];
2411
+ elementsToHideOnCustomNativeAds: HTMLElement[];
2412
+ elementsToHideOnImaAds: (HTMLElement | undefined)[];
2271
2413
  muteStateBeforeAd: 'mute' | 'unmute' | 'no-ad';
2414
+ longPressHandler?: LongPressHandler;
2272
2415
  constructor();
2273
2416
  onShareClick(): Promise<void>;
2274
2417
  updateChip(): void;
@@ -2285,17 +2428,19 @@ export declare class BlazeWidgetStory extends HTMLElement {
2285
2428
  get nextPage(): BlazeWidgetStoryBase;
2286
2429
  get prevPage(): BlazeWidgetStoryBase;
2287
2430
  prefetchNeighbours(distance?: number): void;
2288
- loadAllPostersOfStory(): void;
2289
- loadAllPostersOfFirstPage(): void;
2431
+ loadStoryPostersByDistance(distance: number): void;
2290
2432
  loadFirstVideo(): void;
2291
2433
  playPage(pageIndexToPlayNext: number): void;
2292
2434
  switchToPage(newPageIndex: number): void;
2293
2435
  startPage(indexToPlay: number): void;
2294
2436
  unload(): void;
2295
2437
  removeFromCache(): void;
2438
+ displayCurrentStoryPageAndHideTheRest(): void;
2296
2439
  load(): void;
2297
2440
  play(): void;
2441
+ getRefferingObject(): ReferringEventInfo;
2298
2442
  event(action: StoryAction, storyData: Partial<StoryEvent>, label?: string | undefined): void;
2443
+ updateContainerLayout(): void;
2299
2444
  connectedCallback(): void;
2300
2445
  onShareModalClose(): void;
2301
2446
  onShareModalButtonClick(shareButton: BlazeShareButton): Promise<void>;