@wscsports/blaze-web-sdk 0.2.3 → 0.2.5

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.
@@ -9,10 +9,13 @@ export declare function Theme(theme: ThemeType): IWidgetTheme;
9
9
  export declare function addDelegateListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void;
10
10
  export declare const Delegations: typeof Delegation;
11
11
  export declare function LabelBuilder(): IWidgetLabelBuilder;
12
+ export declare function DataSourceBuilder(): IDataSourceBuilder;
12
13
  export declare function pauseCurrentPlayer(): void;
13
14
  export declare function resumeCurrentPlayer(): void;
14
15
  export declare function setGoogleCustomNativeAdsHandler(handler: CustomNativeAdHandler): void;
15
16
  export declare function setImaHandler(handler: ImaAdHandler): void;
17
+ export declare function playStory(storyId: string, style?: StoryPlayerStyle): Promise<void>;
18
+ export declare function playStories(dataSource: BlazeDataSourceType, style?: StoryPlayerStyle): Promise<void>;
16
19
  declare const _default: {
17
20
  Initialize: typeof Initialize;
18
21
  WidgetGridView: typeof WidgetGridView;
@@ -23,12 +26,15 @@ declare const _default: {
23
26
  setDoNotTrack: typeof setDoNotTrack;
24
27
  setGeoLocation: typeof setGeoLocation;
25
28
  LabelBuilder: typeof LabelBuilder;
29
+ DataSourceBuilder: typeof DataSourceBuilder;
26
30
  Delegations: typeof Delegation;
27
31
  setGoogleCustomNativeAdsHandler: typeof setGoogleCustomNativeAdsHandler;
28
32
  setImaHandler: typeof setImaHandler;
29
33
  pauseCurrentPlayer: typeof pauseCurrentPlayer;
30
34
  resumeCurrentPlayer: typeof resumeCurrentPlayer;
31
35
  setExternalUserId: typeof setExternalUserId;
36
+ playStory: typeof playStory;
37
+ playStories: typeof playStories;
32
38
  };
33
39
  export default _default;
34
40
 
@@ -54,6 +60,212 @@ export declare class API {
54
60
 
55
61
  export * from './api';
56
62
 
63
+ export declare enum Category {
64
+ Story = "story",
65
+ Moment = "moment",
66
+ Widget = "widget",
67
+ Ad = "ad",
68
+ Interaction = "interaction"
69
+ }
70
+ declare class UserEventInfo {
71
+ 'generated_user_id': string;
72
+ 'external_user_id': string;
73
+ 'user_id': string;
74
+ 'age': number;
75
+ 'gender': string;
76
+ 'locale': string;
77
+ 'user_email_address': string;
78
+ 'ip_address': string;
79
+ 'mac_address': string;
80
+ 'user_type': string;
81
+ 'is_bot': true;
82
+ }
83
+ declare class TechEventInfo {
84
+ 'device_type': string;
85
+ 'device_brand': string;
86
+ 'device_model': string;
87
+ 'network_domain': string;
88
+ 'os': string;
89
+ 'os_version': string;
90
+ 'screen_color': string;
91
+ 'screen_resolution': string;
92
+ 'browser': string;
93
+ 'browser_size': string;
94
+ 'browser_version': string;
95
+ 'app_id': string;
96
+ 'app_version': string;
97
+ 'user_agent': string;
98
+ 'connection_type': string;
99
+ }
100
+ declare class GeoEventInfo {
101
+ 'latitude': string;
102
+ 'longitude': string;
103
+ 'city': string;
104
+ 'city_id': string;
105
+ 'region': string;
106
+ 'region_id': string;
107
+ 'country': string;
108
+ 'sub_continent': string;
109
+ 'sub_continent_code': string;
110
+ 'continent': string;
111
+ 'continent_id': string;
112
+ }
113
+ export declare class ReferringEventInfo {
114
+ 'referrer_page_type': string;
115
+ 'referrer_page_url': string;
116
+ 'referrer_page_domain': string;
117
+ 'labels_expression': string;
118
+ 'session_referrer_page_type': string;
119
+ 'session_referrer_url': string;
120
+ 'session_referrer_domain': string;
121
+ 'session_referrer_type': string;
122
+ 'origin_widget_id': string;
123
+ 'origin_widget_name': string;
124
+ 'origin_widget_type': string;
125
+ 'origin_placement_id': string;
126
+ 'origin_placement_name': string;
127
+ 'story_source': string;
128
+ }
129
+ export declare class AnalyticsEvent {
130
+ 'timestamp_utc': string;
131
+ 'timestamp_user_tz': string;
132
+ 'sdk_id': string;
133
+ 'sdk_version': string;
134
+ 'sdk_type': string;
135
+ 'event_category': string;
136
+ 'event_action': string;
137
+ 'event_label': string;
138
+ 'session_id': string;
139
+ 'user': UserEventInfo;
140
+ 'tech': TechEventInfo;
141
+ 'geo': GeoEventInfo;
142
+ 'wsc_internal': {
143
+ customer_name: string;
144
+ customer_id: string;
145
+ };
146
+ 'page': {
147
+ page_url: string;
148
+ };
149
+ 'referring': ReferringEventInfo;
150
+ story: Partial<StoryEvent> | undefined;
151
+ moment: Partial<MomentEvent> | undefined;
152
+ widget: Partial<WidgetEvent> | undefined;
153
+ ad: Partial<AdEvent> | undefined;
154
+ interaction: Partial<InteractionEvent> | undefined;
155
+ }
156
+ export declare class StoryEvent {
157
+ 'story_start_id': string;
158
+ 'story_id': string;
159
+ 'story_title': string;
160
+ 'story_page_id': string;
161
+ 'story_page_count': number;
162
+ 'story_page_type': string;
163
+ 'story_page_action_type': string;
164
+ 'story_page_player_name': string;
165
+ 'story_page_game_name': string;
166
+ 'story_page_navigation_type': string;
167
+ 'story_page_navigation_direction': string;
168
+ 'story_start_trigger': string;
169
+ 'story_exit_trigger': string;
170
+ 'content_duration_viewed': number;
171
+ 'story_page_duration': number;
172
+ 'story_page_duration_viewed_percent': number;
173
+ 'gesture_type': string;
174
+ 'labels_expression': string;
175
+ 'story_session_id': string;
176
+ 'story_page_index': number;
177
+ 'is_last_page': boolean;
178
+ 'audio_state': string;
179
+ 'playback_action_method': PlaybackActionType;
180
+ 'player_type': PlayerType;
181
+ }
182
+ export declare class MomentEvent {
183
+ 'moments_session_id': string;
184
+ 'moment_id': string;
185
+ 'moment_title': string;
186
+ 'moment_index': number;
187
+ 'moment_navigation_type': string;
188
+ 'moment_navigation_direction': string;
189
+ 'moment_start_trigger': string;
190
+ 'moment_exit_trigger': string;
191
+ 'moment_duration': number;
192
+ 'moment_duration_viewed_percent': number;
193
+ 'playback_action_method': string;
194
+ 'audio_state': string;
195
+ 'loop_number': string;
196
+ }
197
+ export declare class WidgetEvent {
198
+ 'page_view_id': string;
199
+ 'placement_id': string;
200
+ 'placement_name': string;
201
+ 'placement_distance': string;
202
+ 'widget_id': string;
203
+ 'widget_name': string;
204
+ 'widget_type': string;
205
+ 'widget_size': string;
206
+ 'widget_content_count': number;
207
+ 'widget_content_list': string;
208
+ 'labels_expression': string;
209
+ 'content_id': string;
210
+ 'content_name': string;
211
+ 'content_version_id': string;
212
+ 'content_type': string;
213
+ 'content_index': number;
214
+ 'thumbnail_size': string;
215
+ 'thumbnail_aspect_ratio': string;
216
+ 'thumbnail_type': string;
217
+ 'page_type': string;
218
+ 'page_size': string;
219
+ }
220
+ export declare class AdEvent {
221
+ 'advertiser_id': string;
222
+ 'advertiser_name': string;
223
+ 'campaign_id': string;
224
+ 'campaign_name': string;
225
+ 'ad_server': string;
226
+ 'story_id': string;
227
+ 'story_title': string;
228
+ 'ad_insertion_logic': string;
229
+ 'ad_index': string;
230
+ 'ad_start_trigger': string;
231
+ 'ad_exit_trigger': string;
232
+ 'ad_duration': string;
233
+ 'ad_duration_viewed_percent': string;
234
+ 'playback_action_method': string;
235
+ 'audio_state': string;
236
+ 'skip_config': string;
237
+ 'content_type': string;
238
+ 'ad_path': string;
239
+ }
240
+ export declare class ImaAdEvent {
241
+ 'story_id': string;
242
+ 'story_title': string;
243
+ 'ad_id': string;
244
+ 'ad_title': string;
245
+ 'ad_description': string;
246
+ 'ad_system': string;
247
+ 'ad_duration': string;
248
+ 'skippable': string;
249
+ 'skip_time_offset': string;
250
+ 'advertiser_name': string;
251
+ 'failure_reason': string;
252
+ 'ad_type': string;
253
+ 'ima_url': string;
254
+ }
255
+ export declare class InteractionEvent {
256
+ 'interaction_id': string;
257
+ 'interaction_type': string;
258
+ 'interaction_text': string;
259
+ 'interaction_selected_answer': string;
260
+ 'content_session_id': string;
261
+ 'content_type': string;
262
+ 'content_id': string;
263
+ 'content_title': string;
264
+ 'content_page_id': string;
265
+ 'playback_action_method': string;
266
+ 'audio_state': string;
267
+ }
268
+
57
269
  export declare abstract class BaseWidget extends HTMLElement {
58
270
  protected _animationDuration: number;
59
271
  constructor();
@@ -63,6 +275,29 @@ export declare abstract class BaseWidget extends HTMLElement {
63
275
  removeElement(): void;
64
276
  }
65
277
 
278
+ export interface BlazeDataSourceType {
279
+ type: 'labels' | 'ids';
280
+ labels?: string | string[] | BlazeWidgetLabel;
281
+ labelsPriority?: string | string[] | BlazeWidgetLabel[];
282
+ ids?: string[];
283
+ orderType?: OrderType;
284
+ maxItems?: number;
285
+ }
286
+ export declare const BlazeInternalError: {
287
+ LabelExpressionMustNotBeEmpty: string;
288
+ InvalidNumberOfMaxItems: string;
289
+ IdsMustNotBeEmpty: string;
290
+ MissingLabelsProperty: string;
291
+ IdsMustNotHaveSpaces: string;
292
+ };
293
+ export declare class BlazeDataSourceFactory {
294
+ static createLabelsDataSource(params: LabelsDataSourceParams): BlazeDataSourceType;
295
+ static createIdsDataSource(params: IdsDataSourceParams): BlazeDataSourceType;
296
+ }
297
+ export declare class BlazeDataSourceValidations {
298
+ static validateFormat(dataSource: BlazeDataSourceType): void;
299
+ }
300
+
66
301
  export declare function debounce<T extends Event>(func: EventHandler<T>, _delay: number): (event: T) => Promise<void>;
67
302
 
68
303
  export declare const Platform: {
@@ -109,18 +344,20 @@ export declare class EventsListener {
109
344
  removeAll(): void;
110
345
  }
111
346
 
347
+ export * from './analytics.class';
112
348
  export * from './base-element.class';
113
349
  export * from './debounce';
114
350
  export * from './device-detector.class';
115
351
  export * from './events-listener';
352
+ export * from './label-builder.class';
116
353
  export * from './long-press.handler';
117
354
  export * from './singleton.class';
118
355
  export * from './throttle';
119
356
  export * from './url';
120
- export * from './device-detector.class';
121
- export * from './label-builder.class';
357
+ export * from './data-source.class';
122
358
 
123
359
  export declare class BlazeWidgetLabel {
360
+ every(arg0: (item: any) => item is BlazeWidgetLabel): void;
124
361
  value: string;
125
362
  constructor(value: string);
126
363
  static singleLabel(label: string): BlazeWidgetLabel;
@@ -159,15 +396,20 @@ export declare function Singleton<T>(): {
159
396
  export type EventHandler<E extends Event> = (event: E) => void;
160
397
  export declare function throttle<T extends Event>(func: EventHandler<T>, _delay: number): (event: T) => Promise<void>;
161
398
 
399
+ interface UpdateLocationContentHashParams {
400
+ contentType?: ContentType;
401
+ contentId?: string;
402
+ isAd?: boolean;
403
+ }
162
404
  export declare class URLManager {
163
405
  static isUpdateLocationByScript: boolean;
164
406
  static isBackWasCalled: boolean;
165
- static resetLocationAfterStoryClose(): void;
407
+ static resetLocationAfterContentClose(): void;
166
408
  static resetLocation(): void;
167
- static updateLocationContentHash(content?: IStory | IMoment): void;
168
- static getHashMatch(): RegExpMatchArray | null;
409
+ static updateLocationContentHash(params: UpdateLocationContentHashParams): void;
410
+ static getHashMatch(): boolean;
169
411
  static getHash(): string;
170
- static updateStoryInHash(story: IStory): void;
412
+ static updateContentInHash(contentId: string, contentType: ContentType): void;
171
413
  }
172
414
 
173
415
  export declare class BlazeAlert extends BaseWidget {
@@ -355,7 +597,7 @@ export declare enum StoryAction {
355
597
  Exit = "story_exit",
356
598
  PageStart = "story_page_start",
357
599
  PageExit = "story_page_exit",
358
- CTAClick = "cta_click",
600
+ CtaClick = "cta_click",
359
601
  Audio = "audio",
360
602
  ShareClick = "share_click",
361
603
  ShareSelect = "share_select",
@@ -365,6 +607,20 @@ export declare enum StoryAction {
365
607
  Expand = "expand",
366
608
  Minimize = "minimize"
367
609
  }
610
+ export declare enum MomentAction {
611
+ MomentsPlaylistStart = "moments_playlist_start",
612
+ MomentsPlaylistExit = "moments_playlist_exit",
613
+ MomentStart = "moment_start",
614
+ MomentExit = "moment_exit",
615
+ CtaClick = "cta_click",
616
+ Like = "like",
617
+ Unlike = "unlike",
618
+ Audio = "audio",
619
+ ShareClick = "share_click",
620
+ ShareSuccess = "share_success",
621
+ PlaybackPause = "playback_pause",
622
+ PlaybackPlay = "playback_play"
623
+ }
368
624
  export declare enum WidgetAction {
369
625
  Load = "widget_load",
370
626
  Visible = "widget_visible",
@@ -403,8 +659,13 @@ export declare const StoryToAdActionMapper: {
403
659
  story_page_exit: AdAction;
404
660
  cta_click: AdAction;
405
661
  };
662
+ export declare const MomentToAdActionMapper: {
663
+ moment_start: AdAction;
664
+ moment_exit: AdAction;
665
+ cta_click: AdAction;
666
+ };
406
667
  type ExposedFields = {
407
- [key in StoryAction | WidgetAction | AdAction]?: string[];
668
+ [key in StoryAction | MomentAction | WidgetAction | AdAction]?: string[];
408
669
  };
409
670
  export declare const exposedFieldsByAction: ExposedFields;
410
671
 
@@ -449,6 +710,7 @@ interface IAdInfoConfiguration {
449
710
  adLocationsIndexes: Array<number>;
450
711
  isActive: boolean;
451
712
  adsLocationType: 'FixedPages' | 'EveryXStories';
713
+ type: 'Story' | 'Moment';
452
714
  }
453
715
  export interface IAdInfo {
454
716
  path?: string;
@@ -538,8 +800,10 @@ export interface ILayer {
538
800
  content: ILayerContent;
539
801
  }
540
802
 
803
+ type MomentType = 'Content' | 'Ad';
541
804
  export interface IMoment extends IContent {
542
- type: string;
805
+ momentIndexInPlaylist: number;
806
+ type: MomentType;
543
807
  duration: string;
544
808
  thumbnails: IThumbnail[];
545
809
  likes: number;
@@ -549,7 +813,12 @@ export interface IMoment extends IContent {
549
813
  type: string;
550
814
  };
551
815
  cta: ICTA;
816
+ adPath?: string;
552
817
  }
818
+ export type MomentDB = {
819
+ id: string;
820
+ liked: boolean;
821
+ };
553
822
 
554
823
  export interface IContentPage {
555
824
  id: string;
@@ -614,15 +883,16 @@ export declare enum ErrorCode {
614
883
  export declare enum Delegation {
615
884
  onEventTriggered = "blaze-event-triggered",
616
885
  onErrorThrown = "blaze-error-event",
617
- onStoryPlayerDidAppear = "blaze-story-player-did-appear",
618
- onStoryPlayerDismissed = "blaze-story-player-dismissed",
619
- onStoryLoadStarted = "blaze-story-load-started",
620
- onStoryLoadComplete = "blaze-story-load-completed",
886
+ onPlayerDidAppear = "blaze-player-did-appear",
887
+ onPlayerDismissed = "blaze-player-dismissed",
621
888
  onGetAds = "blaze-get-ads",
622
889
  onWidgetDataLoadStarted = "blaze-widget-data-load-started",
623
890
  onWidgetDataLoadCompleted = "blaze-widget-data-load-completed",
624
- onWidgetStoryPlayerDismissed = "blaze-widget-story-player-dismissed",
625
- onWidgetTriggerCTA = "blaze-widget-trigger-CTA"
891
+ onWidgetPlayerDismissed = "blaze-widget-player-dismissed",
892
+ onWidgetTriggerCTA = "blaze-widget-trigger-CTA",
893
+ onStoryPlayerDidAppear = "blaze-story-player-did-appear",
894
+ onStoryPlayerDismissed = "blaze-story-player-dismissed",
895
+ onWidgetStoryPlayerDismissed = "blaze-widget-story-player-dismissed"
626
896
  }
627
897
  export declare enum InternalEvent {
628
898
  NEXT_STORY = "next_story",
@@ -649,7 +919,7 @@ export * from './http-status.enum';
649
919
 
650
920
  export interface WidgetsTagNameMap {
651
921
  'blaze-sdk': BlazeWidgetSDK;
652
- 'blaze-widget-ad': BlazeWidgetStoryAd;
922
+ 'blaze-widget-ad': BlazeWidgetAd;
653
923
  'blaze-widget-embedded-story': BlazeWidgetEmbeddedStory;
654
924
  'blaze-widget-modal': BlazeWidgetModal;
655
925
  'blaze-widget-item': BlazeWidgetItem;
@@ -716,6 +986,11 @@ export declare abstract class WidgetsFactory {
716
986
  }
717
987
 
718
988
  export * from './elements.factory';
989
+ export * from './player.factory';
990
+
991
+ export declare class PlayerViewFactory {
992
+ static create(dataSource: BlazeDataSourceType, style: StoryPlayerStyle): Promise<void>;
993
+ }
719
994
 
720
995
  export * from './widget-theme.guard';
721
996
 
@@ -724,6 +999,7 @@ export declare function isWidgetTheme(theme: any): theme is IWidgetTheme;
724
999
  export * from './svgs';
725
1000
 
726
1001
  export declare const likeIconSvg = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUiIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCAyOCAyNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE0LjAwMDMgMjVMMTIuMDY3IDIzLjI2NjdDOS44MjI1NSAyMS4yNDQ1IDcuOTY2OTkgMTkuNSA2LjUwMDMzIDE4LjAzMzRDNS4wMzM2NiAxNi41NjY3IDMuODY2OTkgMTUuMjUgMy4wMDAzMyAxNC4wODM0QzIuMTMzNjYgMTIuOTE2NyAxLjUyODEgMTEuODQ0NSAxLjE4MzY2IDEwLjg2NjdDMC44MzkyMTQgOS44ODg5MSAwLjY2Njk5MiA4Ljg4ODkxIDAuNjY2OTkyIDcuODY2NjlDMC42NjY5OTIgNS43Nzc4IDEuMzY2OTkgNC4wMzMzNiAyLjc2Njk5IDIuNjMzMzZDNC4xNjY5OSAxLjIzMzM2IDUuOTExNDQgMC41MzMzNTYgOC4wMDAzMyAwLjUzMzM1NkM5LjE1NTg4IDAuNTMzMzU2IDEwLjI1NTkgMC43Nzc4IDExLjMwMDMgMS4yNjY2OUMxMi4zNDQ4IDEuNzU1NTggMTMuMjQ0OCAyLjQ0NDQ3IDE0LjAwMDMgMy4zMzMzNkMxNC43NTU5IDIuNDQ0NDcgMTUuNjU1OSAxLjc1NTU4IDE2LjcwMDMgMS4yNjY2OUMxNy43NDQ4IDAuNzc3OCAxOC44NDQ4IDAuNTMzMzU2IDIwLjAwMDMgMC41MzMzNTZDMjIuMDg5MiAwLjUzMzM1NiAyMy44MzM3IDEuMjMzMzYgMjUuMjMzNyAyLjYzMzM2QzI2LjYzMzcgNC4wMzMzNiAyNy4zMzM3IDUuNzc3OCAyNy4zMzM3IDcuODY2NjlDMjcuMzMzNyA4Ljg4ODkxIDI3LjE2MTQgOS44ODg5MSAyNi44MTcgMTAuODY2N0MyNi40NzI1IDExLjg0NDUgMjUuODY3IDEyLjkxNjcgMjUuMDAwMyAxNC4wODM0QzI0LjEzMzcgMTUuMjUgMjIuOTY3IDE2LjU2NjcgMjEuNTAwMyAxOC4wMzM0QzIwLjAzMzcgMTkuNSAxOC4xNzgxIDIxLjI0NDUgMTUuOTMzNyAyMy4yNjY3TDE0LjAwMDMgMjVaTTE0LjAwMDMgMjEuNEMxNi4xMzM3IDE5LjQ4ODkgMTcuODg5MiAxNy44NSAxOS4yNjcgMTYuNDgzNEMyMC42NDQ4IDE1LjExNjcgMjEuNzMzNyAxMy45Mjc4IDIyLjUzMzcgMTIuOTE2N0MyMy4zMzM3IDExLjkwNTYgMjMuODg5MiAxMS4wMDU2IDI0LjIwMDMgMTAuMjE2N0MyNC41MTE0IDkuNDI3OCAyNC42NjcgOC42NDQ0NyAyNC42NjcgNy44NjY2OUMyNC42NjcgNi41MzMzNiAyNC4yMjI1IDUuNDIyMjQgMjMuMzMzNyA0LjUzMzM2QzIyLjQ0NDggMy42NDQ0NyAyMS4zMzM3IDMuMjAwMDIgMjAuMDAwMyAzLjIwMDAyQzE4Ljk1NTkgMy4yMDAwMiAxNy45ODkyIDMuNDk0NDcgMTcuMTAwMyA0LjA4MzM2QzE2LjIxMTQgNC42NzIyNSAxNS42MDAzIDUuNDIyMjQgMTUuMjY3IDYuMzMzMzZIMTIuNzMzN0MxMi40MDAzIDUuNDIyMjQgMTEuNzg5MiA0LjY3MjI1IDEwLjkwMDMgNC4wODMzNkMxMC4wMTE0IDMuNDk0NDcgOS4wNDQ3NyAzLjIwMDAyIDguMDAwMzMgMy4yMDAwMkM2LjY2Njk5IDMuMjAwMDIgNS41NTU4OCAzLjY0NDQ3IDQuNjY2OTkgNC41MzMzNkMzLjc3ODEgNS40MjIyNCAzLjMzMzY2IDYuNTMzMzYgMy4zMzM2NiA3Ljg2NjY5QzMuMzMzNjYgOC42NDQ0NyAzLjQ4OTIxIDkuNDI3OCAzLjgwMDMzIDEwLjIxNjdDNC4xMTE0NCAxMS4wMDU2IDQuNjY2OTkgMTEuOTA1NiA1LjQ2Njk5IDEyLjkxNjdDNi4yNjY5OSAxMy45Mjc4IDcuMzU1ODggMTUuMTE2NyA4LjczMzY2IDE2LjQ4MzRDMTAuMTExNCAxNy44NSAxMS44NjcgMTkuNDg4OSAxNC4wMDAzIDIxLjRaIiBmaWxsPSIjRjBGMEYwIi8+Cjwvc3ZnPgo=";
1002
+ export declare const likeIconFullSvg = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEwIDE4Ljk5OTlMOC41NSAxNy42OTk5QzYuODY2NjcgMTYuMTgzMiA1LjQ3NSAxNC44NzQ5IDQuMzc1IDEzLjc3NDlDMy4yNzUgMTIuNjc0OSAyLjQgMTEuNjg3NCAxLjc1IDEwLjgxMjRDMS4xIDkuOTM3NCAwLjY0NTgzMyA5LjEzMzI0IDAuMzg3NSA4LjM5OTlDMC4xMjkxNjcgNy42NjY1NyAwIDYuOTE2NTcgMCA2LjE0OTlDMCA0LjU4MzI0IDAuNTI1IDMuMjc0OSAxLjU3NSAyLjIyNDlDMi42MjUgMS4xNzQ5IDMuOTMzMzMgMC42NDk5MDIgNS41IDAuNjQ5OTAyQzYuMzY2NjcgMC42NDk5MDIgNy4xOTE2NyAwLjgzMzIzNiA3Ljk3NSAxLjE5OTlDOC43NTgzMyAxLjU2NjU3IDkuNDMzMzMgMi4wODMyNCAxMCAyLjc0OTlDMTAuNTY2NyAyLjA4MzI0IDExLjI0MTcgMS41NjY1NyAxMi4wMjUgMS4xOTk5QzEyLjgwODMgMC44MzMyMzYgMTMuNjMzMyAwLjY0OTkwMiAxNC41IDAuNjQ5OTAyQzE2LjA2NjcgMC42NDk5MDIgMTcuMzc1IDEuMTc0OSAxOC40MjUgMi4yMjQ5QzE5LjQ3NSAzLjI3NDkgMjAgNC41ODMyNCAyMCA2LjE0OTlDMjAgNi45MTY1NyAxOS44NzA4IDcuNjY2NTcgMTkuNjEyNSA4LjM5OTlDMTkuMzU0MiA5LjEzMzI0IDE4LjkgOS45Mzc0IDE4LjI1IDEwLjgxMjRDMTcuNiAxMS42ODc0IDE2LjcyNSAxMi42NzQ5IDE1LjYyNSAxMy43NzQ5QzE0LjUyNSAxNC44NzQ5IDEzLjEzMzMgMTYuMTgzMiAxMS40NSAxNy42OTk5TDEwIDE4Ljk5OTlaIiBmaWxsPSIjRjBGMEYwIi8+Cjwvc3ZnPgo=";
727
1003
  export declare const ShareIconSvg = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi45NDczIDIzLjM3NDhDMTMuMSAyMy43NTI2IDEzLjQ2NjggMjQgMTMuODc0NCAyNEgxNC4zNzE5QzE0Ljc4OTYgMjQgMTUuMTYzMyAyMy43NDAzIDE1LjMwOSAyMy4zNDg4TDIzLjIzNzUgMi4wNDg1QzIzLjUzNjIgMS4yNDYwNCAyMi43NTM5IDAuNDYzNzg1IDIxLjk1MTUgMC43NjI0OEwwLjY1MTE2IDguNjkwOTNDMC4yNTk2NjUgOC44MzY2NSAwIDkuMjEwMzcgMCA5LjYyODExVjEwLjEyNTZDMCAxMC41MzMyIDAuMjQ3MzQ5IDEwLjkgMC42MjUyMTEgMTEuMDUyN0w5LjQgMTQuNkwxMi45NDczIDIzLjM3NDhaTTE4LjM1MTggNy41MzM4OUwxNC4wNjY3IDE5LjA2NjZMMTIuMDAzNSAxMy44ODIyTDE4LjM1MTggNy41MzM4OVpNMTYuNDY2MyA1LjY0ODEyTDEwLjExNzkgMTEuOTk2NUw0LjkzMzMzIDkuOTMzMzFMMTYuNDY2MyA1LjY0ODEyWiIgZmlsbD0iI0YwRjBGMCIvPgo8L3N2Zz4K";
728
1004
  export declare const IconLink = "data:image/svg+xml;charset=utf-8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"10\" viewBox=\"0 0 20 10\" fill=\"none\"><path d=\"M9 10H5C3.61667 10 2.4375 9.5125 1.4625 8.5375C0.4875 7.5625 0 6.38333 0 5C0 3.61667 0.4875 2.4375 1.4625 1.4625C2.4375 0.4875 3.61667 0 5 0H9V2H5C4.16667 2 3.45833 2.29167 2.875 2.875C2.29167 3.45833 2 4.16667 2 5C2 5.83333 2.29167 6.54167 2.875 7.125C3.45833 7.70833 4.16667 8 5 8H9V10ZM6 6V4H14V6H6ZM11 10V8H15C15.8333 8 16.5417 7.70833 17.125 7.125C17.7083 6.54167 18 5.83333 18 5C18 4.16667 17.7083 3.45833 17.125 2.875C16.5417 2.29167 15.8333 2 15 2H11V0H15C16.3833 0 17.5625 0.4875 18.5375 1.4625C19.5125 2.4375 20 3.61667 20 5C20 6.38333 19.5125 7.5625 18.5375 8.5375C17.5625 9.5125 16.3833 10 15 10H11Z\" fill=\"white\" fill-opacity=\"0.92\"/></svg>";
729
1005
  export declare const IconGlobe = "data:image/svg+xml;charset=utf-8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"><path d=\"M10 20C8.61667 20 7.31667 19.7375 6.1 19.2125C4.88333 18.6875 3.825 17.975 2.925 17.075C2.025 16.175 1.3125 15.1167 0.7875 13.9C0.2625 12.6833 0 11.3833 0 10C0 8.61667 0.2625 7.31667 0.7875 6.1C1.3125 4.88333 2.025 3.825 2.925 2.925C3.825 2.025 4.88333 1.3125 6.1 0.7875C7.31667 0.2625 8.61667 0 10 0C11.3833 0 12.6833 0.2625 13.9 0.7875C15.1167 1.3125 16.175 2.025 17.075 2.925C17.975 3.825 18.6875 4.88333 19.2125 6.1C19.7375 7.31667 20 8.61667 20 10C20 11.3833 19.7375 12.6833 19.2125 13.9C18.6875 15.1167 17.975 16.175 17.075 17.075C16.175 17.975 15.1167 18.6875 13.9 19.2125C12.6833 19.7375 11.3833 20 10 20ZM9 17.95V16C8.45 16 7.97917 15.8042 7.5875 15.4125C7.19583 15.0208 7 14.55 7 14V13L2.2 8.2C2.15 8.5 2.10417 8.8 2.0625 9.1C2.02083 9.4 2 9.7 2 10C2 12.0167 2.6625 13.7833 3.9875 15.3C5.3125 16.8167 6.98333 17.7 9 17.95ZM15.9 15.4C16.2333 15.0333 16.5333 14.6375 16.8 14.2125C17.0667 13.7875 17.2875 13.3458 17.4625 12.8875C17.6375 12.4292 17.7708 11.9583 17.8625 11.475C17.9542 10.9917 18 10.5 18 10C18 8.36667 17.5458 6.875 16.6375 5.525C15.7292 4.175 14.5167 3.2 13 2.6V3C13 3.55 12.8042 4.02083 12.4125 4.4125C12.0208 4.80417 11.55 5 11 5H9V7C9 7.28333 8.90417 7.52083 8.7125 7.7125C8.52083 7.90417 8.28333 8 8 8H6V10H12C12.2833 10 12.5208 10.0958 12.7125 10.2875C12.9042 10.4792 13 10.7167 13 11V14H14C14.4333 14 14.825 14.1292 15.175 14.3875C15.525 14.6458 15.7667 14.9833 15.9 15.4Z\" fill=\"%23131313\"/></svg>";
@@ -795,6 +1071,21 @@ export interface IButtonPlayerConfig {
795
1071
  dataTestId?: string;
796
1072
  }
797
1073
 
1074
+ export interface IDataSourceBuilder {
1075
+ labels: (params: LabelsDataSourceParams) => BlazeDataSourceType;
1076
+ ids: (params: IdsDataSourceParams) => BlazeDataSourceType;
1077
+ }
1078
+ export interface LabelsDataSourceParams {
1079
+ labels: string | string[] | BlazeWidgetLabel;
1080
+ labelsPriority?: string | string[] | BlazeWidgetLabel[];
1081
+ orderType?: OrderType;
1082
+ maxItems?: number;
1083
+ }
1084
+ export interface IdsDataSourceParams {
1085
+ ids: string[];
1086
+ orderType?: OrderType;
1087
+ }
1088
+
798
1089
  export interface IDatabase {
799
1090
  init: (options: IDatabaseInitOptions) => Promise<void>;
800
1091
  get: <T>(tableName: string, key: string) => Promise<IResponse<T>>;
@@ -864,6 +1155,7 @@ export * from './ad-handler.interface';
864
1155
  export * from './behaviors.interface';
865
1156
  export * from './blaze-sdk.interface';
866
1157
  export * from './button.interface';
1158
+ export * from './data-source.interface';
867
1159
  export * from './database.interface';
868
1160
  export * from './device.interface';
869
1161
  export * from './drawable.interface';
@@ -900,31 +1192,38 @@ export interface IWidgetLabelBuilder {
900
1192
 
901
1193
  export type ContentType = 'story' | 'moment';
902
1194
  export interface IWidgetViewOptionsBase {
1195
+ labelsPriority?: string;
903
1196
  orderType?: OrderType;
904
1197
  maxItemsCount?: number;
905
1198
  maxDisplayItemsCount?: number;
906
1199
  contentType?: ContentType;
907
1200
  theme?: IWidgetTheme | ThemeType;
908
1201
  delegates?: Record<Delegation, EventListenerOrEventListenerObject>;
909
- labelsPriority?: string;
910
1202
  perItemStyleOverrides?: PerItemStyleOverrides;
911
1203
  shouldOrderWidgetByReadStatus?: boolean;
912
1204
  }
913
1205
  export interface IWidgetViewOptionsWithLabels extends IWidgetViewOptionsBase {
914
- labels: LabelsType;
1206
+ labels: string | string[] | BlazeWidgetLabel;
915
1207
  storyIds?: never;
1208
+ dataSource?: never;
916
1209
  }
917
1210
  export interface IWidgetViewOptionsWithStoryIds extends IWidgetViewOptionsBase {
918
1211
  storyIds: string[];
919
1212
  labels?: never;
1213
+ dataSource?: never;
1214
+ }
1215
+ export interface IWidgetViewOptionsWithDataSource extends IWidgetViewOptionsBase {
1216
+ dataSource: BlazeDataSourceType;
1217
+ storyIds?: never;
1218
+ labels?: never;
920
1219
  }
921
- export type IWidgetViewOptions = IWidgetViewOptionsWithLabels | IWidgetViewOptionsWithStoryIds;
1220
+ export type IWidgetViewOptions = IWidgetViewOptionsWithLabels | IWidgetViewOptionsWithStoryIds | IWidgetViewOptionsWithDataSource;
922
1221
 
923
1222
  export interface IWidgetView extends HTMLElement {
924
1223
  setTheme: (theme: IWidgetTheme) => void;
925
1224
  getTheme: () => IWidgetTheme;
926
- setLabels: (labels: LabelsType, options?: ISetWidgetOptions) => void;
927
- setLabelsPriority: (labelsPriority: string, options?: ISetWidgetOptions) => void;
1225
+ setLabels: (labels: string | string[] | BlazeWidgetLabel, options?: ISetWidgetOptions) => void;
1226
+ setLabelsPriority: (labelsPriority: string | string[] | BlazeWidgetLabel[], options?: ISetWidgetOptions) => void;
928
1227
  setContentIds: (storyIds: string[], options?: ISetWidgetOptions) => void;
929
1228
  reload: () => void;
930
1229
  updateWidgetUI: () => void;
@@ -933,6 +1232,7 @@ export interface IWidgetView extends HTMLElement {
933
1232
  updateOverrideStyles: (perItemStyleOverrides: PerItemStyleOverrides) => void;
934
1233
  setId: (id: string) => void;
935
1234
  setMaxItemsSize: (size: number) => void;
1235
+ updateDataSource: (dataSource: BlazeDataSourceType) => void;
936
1236
  }
937
1237
  export interface ISetWidgetOptions {
938
1238
  shouldReloadData?: boolean;
@@ -946,10 +1246,14 @@ declare const AdServiceClass_base: {
946
1246
  declare abstract class AdServiceClass extends AdServiceClass_base implements IService {
947
1247
  canRunAds: boolean;
948
1248
  init(): Promise<void>;
949
- pushCustomNativeAdsBetweenStories(defaultAdsInfo: IAdInfo | undefined, widgets: BlazeWidgetStory[], stories: IStory[], index: number, playerLayout: StoryPlayerStyle, mode?: ScreenMode): void;
1249
+ pushAdsBetweenStories(defaultAdsInfo: IAdInfo | undefined, widgets: BlazeWidgetStory[], stories: IStory[], index: number, indexOfContentInWidget: number, playerLayout: StoryPlayerStyle, mode?: ScreenMode): void;
1250
+ pushAdsBetweenMoments(defaultAdsInfo: IAdInfo | undefined, widgets: BlazeWidgetMoment[], moments: IMoment[], index: number, indexOfContentInWidget: number): BlazeWidgetMoment | undefined;
950
1251
  }
951
1252
  export declare const AdService: AdServiceClass;
952
1253
 
1254
+ export type PlaybackActionType = 'Press' | 'Release' | 'Click';
1255
+ export type PlayerType = 'Embedded' | 'Full Screen';
1256
+ export type AudioType = 'Mute' | 'Unmute';
953
1257
  declare const AnalyticsServiceClass_base: {
954
1258
  new (): {};
955
1259
  _instance: AnalyticsServiceClass;
@@ -962,6 +1266,7 @@ declare abstract class AnalyticsServiceClass extends AnalyticsServiceClass_base
962
1266
  sendAnalyticsData(): Promise<void>;
963
1267
  bulkEvent(body: Partial<AnalyticsEvent>[]): Promise<any>;
964
1268
  pushStoryEvent(action: StoryAction, body: Partial<StoryEvent>, label?: string | undefined, referrer?: ReferringEventInfo | undefined): void;
1269
+ pushMomentEvent(action: MomentAction, body: Partial<MomentEvent>, label?: string | undefined, referrer?: ReferringEventInfo | undefined): void;
965
1270
  pushAdEvent(action: AdAction, body: Partial<AdEvent>, label?: string | undefined, referrer?: ReferringEventInfo | undefined): void;
966
1271
  pushImaAdEvent(action: ImaAdAction, body: Partial<ImaAdEvent>, label?: string | undefined, referrer?: ReferringEventInfo | undefined): void;
967
1272
  pushInteractionEvent(action: InteractionAction, body: Partial<InteractionEvent>, label?: string | undefined, referrer?: ReferringEventInfo | undefined): void;
@@ -969,194 +1274,6 @@ declare abstract class AnalyticsServiceClass extends AnalyticsServiceClass_base
969
1274
  setupEvent(category: Category, action: string, body: object, label?: string | undefined, referrer?: ReferringEventInfo | undefined): AnalyticsEvent;
970
1275
  }
971
1276
  export declare const AnalyticsService: AnalyticsServiceClass;
972
- export declare enum Category {
973
- Story = "story",
974
- Widget = "widget",
975
- Ad = "ad",
976
- Interaction = "interaction"
977
- }
978
- declare class UserEventInfo {
979
- 'generated_user_id': string;
980
- 'external_user_id': string;
981
- 'user_id': string;
982
- 'age': number;
983
- 'gender': string;
984
- 'locale': string;
985
- 'user_email_address': string;
986
- 'ip_address': string;
987
- 'mac_address': string;
988
- 'user_type': string;
989
- 'is_bot': true;
990
- }
991
- declare class TechEventInfo {
992
- 'device_type': string;
993
- 'device_brand': string;
994
- 'device_model': string;
995
- 'network_domain': string;
996
- 'os': string;
997
- 'os_version': string;
998
- 'screen_color': string;
999
- 'screen_resolution': string;
1000
- 'browser': string;
1001
- 'browser_size': string;
1002
- 'browser_version': string;
1003
- 'app_id': string;
1004
- 'app_version': string;
1005
- 'user_agent': string;
1006
- 'connection_type': string;
1007
- }
1008
- declare class GeoEventInfo {
1009
- 'latitude': string;
1010
- 'longitude': string;
1011
- 'city': string;
1012
- 'city_id': string;
1013
- 'region': string;
1014
- 'region_id': string;
1015
- 'country': string;
1016
- 'sub_continent': string;
1017
- 'sub_continent_code': string;
1018
- 'continent': string;
1019
- 'continent_id': string;
1020
- }
1021
- export declare class ReferringEventInfo {
1022
- 'referrer_page_type': string;
1023
- 'referrer_page_url': string;
1024
- 'referrer_page_domain': string;
1025
- 'labels_expression': string;
1026
- 'session_referrer_page_type': string;
1027
- 'session_referrer_url': string;
1028
- 'session_referrer_domain': string;
1029
- 'session_referrer_type': string;
1030
- 'origin_widget_id': string;
1031
- 'origin_widget_name': string;
1032
- 'origin_widget_type': string;
1033
- 'origin_placement_id': string;
1034
- 'origin_placement_name': string;
1035
- 'story_source': string;
1036
- }
1037
- export declare class AnalyticsEvent {
1038
- 'timestamp_utc': string;
1039
- 'timestamp_user_tz': string;
1040
- 'sdk_id': string;
1041
- 'sdk_version': string;
1042
- 'sdk_type': string;
1043
- 'event_category': string;
1044
- 'event_action': string;
1045
- 'event_label': string;
1046
- 'session_id': string;
1047
- 'user': UserEventInfo;
1048
- 'tech': TechEventInfo;
1049
- 'geo': GeoEventInfo;
1050
- 'wsc_internal': {
1051
- customer_name: string;
1052
- customer_id: string;
1053
- };
1054
- 'page': {
1055
- page_url: string;
1056
- };
1057
- 'referring': ReferringEventInfo;
1058
- story: Partial<StoryEvent> | undefined;
1059
- widget: Partial<WidgetEvent> | undefined;
1060
- ad: Partial<AdEvent> | undefined;
1061
- interaction: Partial<InteractionEvent> | undefined;
1062
- }
1063
- export declare class StoryEvent {
1064
- 'story_start_id': string;
1065
- 'story_id': string;
1066
- 'story_title': string;
1067
- 'story_page_id': string;
1068
- 'story_page_count': number;
1069
- 'story_page_type': string;
1070
- 'story_page_action_type': string;
1071
- 'story_page_player_name': string;
1072
- 'story_page_game_name': string;
1073
- 'story_page_navigation_type': string;
1074
- 'story_page_navigation_direction': string;
1075
- 'story_start_trigger': string;
1076
- 'story_exit_trigger': string;
1077
- 'content_duration_viewed': number;
1078
- 'story_page_duration': number;
1079
- 'story_page_duration_viewed_percent': number;
1080
- 'gesture_type': string;
1081
- 'labels_expression': string;
1082
- 'story_session_id': string;
1083
- 'story_page_index': number;
1084
- 'is_last_page': boolean;
1085
- 'audio_state': string;
1086
- 'playback_action_method': 'Press' | 'Release' | 'Click';
1087
- 'player_type': 'Embedded' | 'Full Screen';
1088
- }
1089
- export declare class WidgetEvent {
1090
- 'page_view_id': string;
1091
- 'placement_id': string;
1092
- 'placement_name': string;
1093
- 'placement_distance': string;
1094
- 'widget_id': string;
1095
- 'widget_name': string;
1096
- 'widget_type': string;
1097
- 'widget_size': string;
1098
- 'widget_content_count': number;
1099
- 'widget_content_list': string;
1100
- 'labels_expression': string;
1101
- 'content_id': string;
1102
- 'content_name': string;
1103
- 'content_version_id': string;
1104
- 'content_type': string;
1105
- 'content_index': number;
1106
- 'thumbnail_size': string;
1107
- 'thumbnail_aspect_ratio': string;
1108
- 'thumbnail_type': string;
1109
- 'page_type': string;
1110
- 'page_size': string;
1111
- }
1112
- export declare class AdEvent {
1113
- 'advertiser_id': string;
1114
- 'advertiser_name': string;
1115
- 'campaign_id': string;
1116
- 'campaign_name': string;
1117
- 'ad_server': string;
1118
- 'story_id': string;
1119
- 'story_title': string;
1120
- 'ad_insertion_logic': string;
1121
- 'ad_index': string;
1122
- 'ad_start_trigger': string;
1123
- 'ad_exit_trigger': string;
1124
- 'ad_duration': string;
1125
- 'ad_duration_viewed_percent': string;
1126
- 'playback_action_method': string;
1127
- 'audio_state': string;
1128
- 'skip_config': string;
1129
- 'content_type': string;
1130
- 'ad_path': string;
1131
- }
1132
- export declare class ImaAdEvent {
1133
- 'story_id': string;
1134
- 'story_title': string;
1135
- 'ad_id': string;
1136
- 'ad_title': string;
1137
- 'ad_description': string;
1138
- 'ad_system': string;
1139
- 'ad_duration': string;
1140
- 'skippable': string;
1141
- 'skip_time_offset': string;
1142
- 'advertiser_name': string;
1143
- 'failure_reason': string;
1144
- 'ad_type': string;
1145
- 'ima_url': string;
1146
- }
1147
- export declare class InteractionEvent {
1148
- 'interaction_id': string;
1149
- 'interaction_type': string;
1150
- 'interaction_text': string;
1151
- 'interaction_selected_answer': string;
1152
- 'content_session_id': string;
1153
- 'content_type': string;
1154
- 'content_id': string;
1155
- 'content_title': string;
1156
- 'content_page_id': string;
1157
- 'playback_action_method': string;
1158
- 'audio_state': string;
1159
- }
1160
1277
 
1161
1278
  declare const ApiServiceClass_base: {
1162
1279
  new (): {};
@@ -1178,7 +1295,7 @@ declare abstract class ApiServiceClass extends ApiServiceClass_base implements I
1178
1295
  } | undefined;
1179
1296
  error?: Error | undefined;
1180
1297
  }>;
1181
- getStories(labels: string, orderType: OrderType, maxItemsSize?: number, labelsPriority?: string): Promise<{
1298
+ getStories(labels: string, orderType?: OrderType, maxItemsSize?: number, labelsPriority?: string): Promise<{
1182
1299
  result: IStory[];
1183
1300
  httpStatus?: number | undefined;
1184
1301
  data?: {
@@ -1202,13 +1319,18 @@ declare abstract class ApiServiceClass extends ApiServiceClass_base implements I
1202
1319
  assetsExpiryTime: string;
1203
1320
  totalItems: number;
1204
1321
  result: IMoment[];
1322
+ defaultAdsInfo?: IAdInfo | undefined;
1205
1323
  }>>;
1324
+ updateMomentLikeStatus(options: {
1325
+ momentId: string;
1326
+ setLiked: boolean;
1327
+ }): Promise<void>;
1206
1328
  getStaticStories(): Promise<IStory | null>;
1207
1329
  preview(storyId: string, publishedOnly?: boolean): Promise<import("../interfaces").IHttpResponse<IStory & {
1208
1330
  status: number;
1209
1331
  }>>;
1210
1332
  preivewMoment(momentId: string, publishedOnly?: boolean): Promise<IResponse<any>>;
1211
- analyticsEvents(body: Partial<AnalyticsEvent>[]): Promise<import("../interfaces").IHttpResponse<unknown>>;
1333
+ sendAnaltyicsEvents(body: Partial<AnalyticsEvent>[]): Promise<import("../interfaces").IHttpResponse<unknown>>;
1212
1334
  sendInteractionResponse(options: {
1213
1335
  interactionId: Interaction['id'];
1214
1336
  responseId: string;
@@ -1303,6 +1425,8 @@ declare abstract class DatabaseServiceClass extends DatabaseServiceClass_base im
1303
1425
  isPageViewed(id: string): Promise<boolean>;
1304
1426
  updateInteraction(data: InteractionDB): Promise<any>;
1305
1427
  getInteraction(id: string): Promise<IResponse<InteractionDB> | null>;
1428
+ updateLike(momentId: string, isLike: boolean): Promise<IResponse | null>;
1429
+ getLike(momentId: string): Promise<IResponse<MomentDB> | null>;
1306
1430
  }
1307
1431
  export declare const DatabaseService: DatabaseServiceClass;
1308
1432
 
@@ -1353,10 +1477,10 @@ declare abstract class EventServiceClass extends EventServiceClass_base implemen
1353
1477
  private rootElement;
1354
1478
  constructor();
1355
1479
  init(): Promise<void>;
1356
- dispatch(el: HTMLElement | undefined, event: Delegation, params?: object): {
1480
+ dispatch(el: HTMLElement, event: Delegation, params?: object): {
1357
1481
  mainEvent: CustomEvent;
1358
1482
  };
1359
- dispatchAnaltyicsEvent(name: string, event: any): {
1483
+ dispatchAnaltyicsEvents(name: string, event: any): {
1360
1484
  mainEvent: CustomEvent;
1361
1485
  };
1362
1486
  }
@@ -1371,12 +1495,14 @@ export * from './error.service';
1371
1495
  export * from './event-bus.service';
1372
1496
  export * from './event.service';
1373
1497
  export * from './interaction.service';
1498
+ export * from './like.service';
1374
1499
  export * from './logger.service';
1375
1500
  export * from './startup.service';
1376
1501
  export * from './user.service';
1377
1502
  export * from './video-cache.service';
1378
1503
  export * from './video-player.service';
1379
1504
  export * from './widgets.service';
1505
+ export * from './story.service';
1380
1506
 
1381
1507
  declare const InteractionServiceClass_base: {
1382
1508
  new (): {};
@@ -1391,6 +1517,19 @@ declare abstract class InteractionServiceClass extends InteractionServiceClass_b
1391
1517
  }
1392
1518
  export declare const InteractionService: InteractionServiceClass;
1393
1519
 
1520
+ declare const LikeServiceClass_base: {
1521
+ new (): {};
1522
+ _instance: LikeServiceClass;
1523
+ getInstance(): LikeServiceClass;
1524
+ };
1525
+ declare abstract class LikeServiceClass extends LikeServiceClass_base implements IService {
1526
+ constructor();
1527
+ init(): Promise<void>;
1528
+ updateLike(isLike: boolean, momentId: string): Promise<void>;
1529
+ isLiked(momentId: string): Promise<boolean>;
1530
+ }
1531
+ export declare const LikeService: LikeServiceClass;
1532
+
1394
1533
  interface LoggerParams {
1395
1534
  message: string;
1396
1535
  level?: LogLevel;
@@ -1431,6 +1570,14 @@ declare abstract class StartupServiceClass extends StartupServiceClass_base impl
1431
1570
  }
1432
1571
  export declare const StartupService: StartupServiceClass;
1433
1572
 
1573
+ export declare class StoryService {
1574
+ static fetchStories(dataSource: BlazeDataSourceType): Promise<{
1575
+ data: any;
1576
+ error: any;
1577
+ }>;
1578
+ static enrichStories(stories: IStory[]): Promise<IStory[]>;
1579
+ }
1580
+
1434
1581
  declare const UserServiceClass_base: {
1435
1582
  new (): {};
1436
1583
  _instance: UserServiceClass;
@@ -1499,6 +1646,7 @@ declare abstract class VideoPlayerServiceClass extends VideoPlayerServiceClass_b
1499
1646
  private _isSeekBarDragging;
1500
1647
  private _playReference;
1501
1648
  muteStateBeforeAd: 'mute' | 'unmute' | 'no-ad';
1649
+ playerLoadingSpinner: HTMLElement | undefined;
1502
1650
  constructor();
1503
1651
  init(): Promise<void>;
1504
1652
  get isMuted(): boolean;
@@ -2042,6 +2190,8 @@ export type IconPropertiesType = {
2042
2190
  padding?: string;
2043
2191
  };
2044
2192
 
2193
+ export type ChipStatusType = 'statusReadStyle' | 'statusUnreadStyle' | 'statusLiveUnreadStyle' | 'statusLiveStyle';
2194
+
2045
2195
  export type ClientPlatform = 'Web';
2046
2196
 
2047
2197
  export type FontWeightType = 'normal' | 'bold' | 'bolder' | 'lighter' | 'inherit' | 'initial' | 'unset' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900';
@@ -2074,6 +2224,7 @@ export * from './story-direction.type';
2074
2224
  export * from './thumbnail.type';
2075
2225
  export * from './user.type';
2076
2226
  export * from './widget.type';
2227
+ export * from './chip-status.type';
2077
2228
 
2078
2229
  export type EntitiesType = 'playerId' | 'teamId' | 'gameId';
2079
2230
  export type PerItemStyleOverrides = Record<EntitiesType, Array<{
@@ -2178,6 +2329,7 @@ export declare function getChangedProperties(source: any, target: any, level: st
2178
2329
  export declare function removeDuplicates(source: string[], checkAgainst: string[]): string[];
2179
2330
  export declare function updateStyle(styleToUpdate: any, path: string[], newValue: any): void;
2180
2331
  export declare function getNestedValue(obj: any, path: string[]): any;
2332
+ export declare function formatLikes(count: number): string;
2181
2333
 
2182
2334
  export * from './chip.utils';
2183
2335
  export * from './common.utils';
@@ -2231,9 +2383,10 @@ export * from './story/widget-story-modal';
2231
2383
  export * from './story/widget-story-player';
2232
2384
  export * from './widget-video';
2233
2385
  export * from './moment/widget-moment-seek-bar';
2386
+ export * from './widget-cta-modal';
2234
2387
 
2235
2388
  export type ExitTriggerType = 'Swipe' | 'Swipe Down' | 'Swipe Up' | 'Skip' | 'Close Button' | 'CTA Click' | 'Escape Button' | '';
2236
- export type StartTriggerType = 'Embedded Player in Viewport' | 'Widget' | 'Deeplink' | 'Swipe' | 'Skip' | 'SingleStory' | 'Share' | '';
2389
+ export type StartTriggerType = 'Embedded Player in Viewport' | 'UI Button' | 'Widget' | 'Deeplink' | 'Swipe' | 'Skip' | 'SingleStory' | 'Share' | '';
2237
2390
  export type NavigationType = 'Automatic' | 'Manual' | '';
2238
2391
  export type NavigationDirectionType = 'Forwards' | 'Backwards' | '';
2239
2392
  export declare abstract class BlazeWidgetContent extends HTMLElement {
@@ -2244,7 +2397,6 @@ export declare abstract class BlazeWidgetContent extends HTMLElement {
2244
2397
  navigationType: NavigationType;
2245
2398
  navigationDirection: NavigationDirectionType;
2246
2399
  listeners: EventsListener;
2247
- isLoadCompletedTriggered: boolean;
2248
2400
  isActive: boolean;
2249
2401
  isResumeOnFocusExecuted: boolean;
2250
2402
  isNavigationPending: boolean;
@@ -2252,11 +2404,14 @@ export declare abstract class BlazeWidgetContent extends HTMLElement {
2252
2404
  boundOnFocusEvent: () => void;
2253
2405
  boundOnBlurEvent: () => void;
2254
2406
  boundOnVisibilityChangeEvent: () => void;
2255
- widgetParent: BlazeWidgetItem;
2407
+ widgetParentItem: BlazeWidgetItem;
2408
+ sessionId: string;
2409
+ refContentModal?: BlazeWidgetStoryModal | BlazeWidgetMomentModal;
2256
2410
  constructor();
2257
2411
  connectedCallback(): void;
2258
2412
  disconnectedCallback(): void;
2259
- setWidgetParent(parent: BlazeWidgetItem): void;
2413
+ setWidgetItemParent(item: BlazeWidgetItem): void;
2414
+ getRefferingObject(): ReferringEventInfo;
2260
2415
  render(): void;
2261
2416
  }
2262
2417
 
@@ -2285,7 +2440,7 @@ export declare class BlazeWidgetCtaModal extends BaseWidget {
2285
2440
 
2286
2441
  export declare class BlazeWidgetEmbeddedStory extends BaseWidget implements IWidgetView, Observable {
2287
2442
  preset?: IWidgetTheme;
2288
- players: BlazeWidgetStory[];
2443
+ contents: BlazeWidgetStory[];
2289
2444
  intersectionObserver: IntersectionObserver;
2290
2445
  isIntersecting: boolean;
2291
2446
  currentStoryPlayerIndex: number;
@@ -2295,18 +2450,19 @@ export declare class BlazeWidgetEmbeddedStory extends BaseWidget implements IWid
2295
2450
  shouldReloadData: boolean;
2296
2451
  defaultAdsInfo?: IAdInfo;
2297
2452
  isCurrentPlayerFirstPlay: boolean;
2298
- bindedOnStoryPlayerDidAppear: (e: Event) => void;
2299
- bindedOnStoryPlayerDismissed: (e: Event) => void;
2453
+ bindedOnPlayerDidAppear: (e: Event) => void;
2454
+ bindedOnPlayerDismissed: (e: Event) => void;
2300
2455
  private get theme();
2301
2456
  constructor();
2302
2457
  static get observedAttributes(): string[];
2303
2458
  connectedCallback(): void;
2304
2459
  disconnectedCallback(): void;
2305
2460
  attributeChangedCallback(name: string, oldValue: string, _newValue: string): void;
2461
+ updateDataSource(dataSource: BlazeDataSourceType): void;
2306
2462
  getTheme(): IWidgetTheme;
2307
2463
  setTheme(theme: IWidgetTheme | string): void;
2308
- setLabels(labels: LabelsType, options?: ISetWidgetOptions): void;
2309
- setLabelsPriority(labelsPriority: string, options?: ISetWidgetOptions): void;
2464
+ setLabels(labels: string | string[] | BlazeWidgetLabel, options?: ISetWidgetOptions): void;
2465
+ setLabelsPriority(labelsPriority: string | string[] | BlazeWidgetLabel[], options?: ISetWidgetOptions): void;
2310
2466
  setContentIds(storyIds: string[], options?: ISetWidgetOptions): void;
2311
2467
  reload(): void;
2312
2468
  private reloadLogic;
@@ -2336,8 +2492,8 @@ export declare class BlazeWidgetEmbeddedStory extends BaseWidget implements IWid
2336
2492
  onVastAdResumedEnded(): void;
2337
2493
  showSkeleton(): void;
2338
2494
  hideSkeleton(): void;
2339
- private onStoryPlayerDidAppear;
2340
- private onStoryPlayerDismissed;
2495
+ private onPlayerDidAppear;
2496
+ private onPlayerDismissed;
2341
2497
  private onOtherModalOpenedClosed;
2342
2498
  }
2343
2499
 
@@ -2379,22 +2535,24 @@ export declare class BlazeWidgetItem extends BaseWidget {
2379
2535
  private badge;
2380
2536
  private isLive;
2381
2537
  private analyticsCalls;
2382
- chipType: 'statusReadStyle' | 'statusUnreadStyle' | 'statusLiveUnreadStyle' | 'statusLiveStyle';
2538
+ contentType: ContentType | undefined;
2539
+ chipType: ChipStatusType;
2383
2540
  get parentRef(): BlazeWidgetLayout;
2384
2541
  statusIndicatorSettings: IndicatorStyle;
2385
2542
  paddingItem: PositionOffset;
2386
2543
  content: IStory | IMoment;
2387
2544
  onClick: (() => void) | undefined;
2545
+ private boundOnWidgetClick;
2388
2546
  constructor(options: BlazeWidgetItemOptions);
2389
2547
  private initializeWidget;
2390
2548
  connectedCallback(): void;
2391
- disconnectedCallback(): void;
2392
2549
  updateWidget(): void;
2393
2550
  updateWidgetItemPadding(): void;
2394
2551
  updateWidgetItemStyle(theme: IWidgetTheme): void;
2395
2552
  private setupDOMElements;
2396
2553
  private setupEventListeners;
2397
2554
  private handleWidgetClick;
2555
+ disconnectedCallback(): void;
2398
2556
  private setData;
2399
2557
  getThumbnailUrl(): string;
2400
2558
  setThumbnailBorderColor(color: string): void;
@@ -2410,6 +2568,7 @@ export declare class BlazeWidgetItem extends BaseWidget {
2410
2568
  private handleInsidePosition;
2411
2569
  private applyCommonStyles;
2412
2570
  setTheme(theme: IWidgetTheme): void;
2571
+ initializeAndRenderWidget(): void;
2413
2572
  getPaddingOnContainer(): PositionOffset;
2414
2573
  setPaddingOnContainer(padding: PositionOffset): void;
2415
2574
  setChipStyle(): void;
@@ -2455,13 +2614,12 @@ export declare class BlazeWidgetLayout extends BlazeWidgetScrollable implements
2455
2614
  onPlayerOpen(): void;
2456
2615
  getParentHeightWithoutPadding(): number | null;
2457
2616
  setId(id: string): void;
2458
- handlePopState(): void;
2459
2617
  private setReloadData;
2460
2618
  addDelegateListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void;
2461
2619
  set storyIds(value: string);
2462
2620
  setContentIds(storyIds: string[], options?: ISetWidgetOptions): void;
2463
- setLabelsPriority(labelsPriority: string, options?: ISetWidgetOptions): void;
2464
- setLabels(labels: LabelsType, options?: ISetWidgetOptions): void;
2621
+ setLabelsPriority(labelsPriority: string | string[] | BlazeWidgetLabel[], options?: ISetWidgetOptions): void;
2622
+ setLabels(labels: string | string[] | BlazeWidgetLabel, options?: ISetWidgetOptions): void;
2465
2623
  getTheme(): IWidgetTheme;
2466
2624
  setTheme(theme: IWidgetTheme | string): void;
2467
2625
  private get theme();
@@ -2470,9 +2628,11 @@ export declare class BlazeWidgetLayout extends BlazeWidgetScrollable implements
2470
2628
  private updateActiveLayoutThemesPerItemWithEntity;
2471
2629
  updateWidgetUI(): void;
2472
2630
  setMaxPaddingOnWidgetItems(): void;
2631
+ updateDataSource(dataSource: BlazeDataSourceType): void;
2473
2632
  setDelegations(delegates: Record<Delegation, EventListenerOrEventListenerObject>): void;
2633
+ private setOrderType;
2474
2634
  setMaxItemsDisplaySize(maxSize: number): void;
2475
- setMaxItemsSize(maxItemsSize: number): void;
2635
+ setMaxItemsSize(maxItemsSize?: number): void;
2476
2636
  private updatePlayerStyle;
2477
2637
  createModal(type: string): void;
2478
2638
  appendModalToBlazeSDK(modal: BlazeWidgetMomentModal | BlazeWidgetStoryModal): void;
@@ -2533,10 +2693,12 @@ export declare class BlazeWidgetModal extends BaseWidget {
2533
2693
  hammer: HammerManager | null;
2534
2694
  isMultiTouch: boolean;
2535
2695
  boundOnResizeEvent: (this: Window, ev: UIEvent) => void;
2696
+ boundOnPopStateEvent: (this: Window, ev: PopStateEvent) => void;
2536
2697
  constructor(type: 'story' | 'moment');
2537
2698
  connectedCallback(): void;
2538
2699
  disconnectedCallback(): void;
2539
2700
  onResize(): void;
2701
+ handlePopState(ev: PopStateEvent): void;
2540
2702
  seek(id: string): void;
2541
2703
  setupHammer(): void;
2542
2704
  handlePanStart(ev: HammerInput): void;
@@ -2551,15 +2713,15 @@ export declare class BlazeWidgetModal extends BaseWidget {
2551
2713
  export type BlazeWidgetContent = BlazeWidgetStory | BlazeWidgetMoment;
2552
2714
  export declare abstract class WidgetAbstractPlayer extends BaseWidget {
2553
2715
  index: number;
2716
+ container: BlazeDiv;
2554
2717
  numberOfContentInList: number;
2555
2718
  contentList: BlazeWidgetStory[] | BlazeWidgetMoment[];
2556
2719
  playerContentList: BlazeWidgetStory[] | BlazeWidgetMoment[];
2557
2720
  srcBackground: HTMLCanvasElement;
2558
2721
  destBackground: HTMLCanvasElement;
2559
2722
  backgroundAnimation?: Animation;
2560
- hammer: HammerManager;
2561
- container: BlazeDiv;
2562
2723
  playerFullscreenOverlay: BlazeDiv;
2724
+ hammer: HammerManager;
2563
2725
  gestureActionLimitThreshold: number;
2564
2726
  edgeScreenThreshold: number;
2565
2727
  isEdgeThreshold: Boolean;
@@ -2573,7 +2735,7 @@ export declare abstract class WidgetAbstractPlayer extends BaseWidget {
2573
2735
  boundHandlePanMove: (ev: HammerInput) => void;
2574
2736
  boundHandlePanEnd: (ev: HammerInput) => void;
2575
2737
  constructor();
2576
- seek(contentId: string): void;
2738
+ seekContentById(contentId: string): void;
2577
2739
  cleanPlayerContentList(): void;
2578
2740
  abstract setContent(content: BlazeWidgetStory[] | BlazeWidgetMoment[]): void;
2579
2741
  muteVideoOnIOSOrMacTablet(): void;
@@ -2602,7 +2764,6 @@ export declare abstract class WidgetAbstractPlayer extends BaseWidget {
2602
2764
  unloadFromPlayerList(): void;
2603
2765
  handleAnimationEnd(direction: ContentDirection): void;
2604
2766
  abstract loadAndPlayContent(): void;
2605
- navigateContent(direction: ContentDirection): void;
2606
2767
  abstract onKeyDown(event: KeyboardEvent): void;
2607
2768
  handleSmallGestures(animation: AnimeInstance, content: BlazeWidgetStory | BlazeWidgetMoment): void;
2608
2769
  abstract resetStyles(): void;
@@ -2632,13 +2793,15 @@ export declare class BlazeWidgetScrollable extends BaseWidget {
2632
2793
  export type playRefType = 'Share' | 'SingleStory';
2633
2794
  export declare class BlazeWidgetSDK extends BaseWidget {
2634
2795
  modal: BlazeWidgetStoryModal | BlazeWidgetMomentModal;
2635
- onResizeEvent: (this: Window, ev: UIEvent) => void;
2796
+ boundOnResizeEvent: (this: Window, ev: UIEvent) => void;
2797
+ boundOnResizeEventDelay: () => void;
2636
2798
  static get observedAttributes(): string[];
2637
2799
  constructor();
2638
2800
  connectedCallback(): Promise<void>;
2639
2801
  disconnectedCallback(): void;
2640
2802
  onResizeEventDelay(): void;
2641
2803
  onResize(): void;
2804
+ handleLoadingContent(): void;
2642
2805
  checkUrlForContent(): {
2643
2806
  isStoryMatch: boolean;
2644
2807
  storyIds: string | null;
@@ -2646,10 +2809,10 @@ export declare class BlazeWidgetSDK extends BaseWidget {
2646
2809
  momentIds: string | null;
2647
2810
  };
2648
2811
  setPlayerStyleCustomization(playerStyleCustomization: Partial<StoryPlayerStyle>): void;
2649
- handleContentLoad(contentType: 'Moment' | 'Story', playReference: 'Share' | 'SingleStory', contentIds: string): Promise<void>;
2650
- handleStaticContentLoad(playReference: 'Share' | 'SingleStory'): Promise<void>;
2812
+ handleContentLoad(contentType: ContentType, playReference: playRefType, contentIds: string): Promise<void>;
2813
+ handleStaticContentLoad(playReference: playRefType): Promise<void>;
2651
2814
  enrichContent(content: IStory[]): Promise<IStory[]>;
2652
- setupModalAndLoadContent(contentType: 'Moment' | 'Story', playReference: 'Share' | 'SingleStory', content: IStory | IMoment): Promise<void>;
2815
+ setupModalAndLoadContent(contentType: ContentType, playReference: playRefType, content: IStory | IMoment): Promise<void>;
2653
2816
  attributeChangedCallback(name: string, oldValue: string, newValue: string): Promise<void>;
2654
2817
  private getConfigAttributes;
2655
2818
  private initialize;
@@ -2721,6 +2884,7 @@ export declare class BlazeWidgetVideoBase extends HTMLElement {
2721
2884
  }
2722
2885
 
2723
2886
  export declare class BlazeWidgetVideo extends BlazeWidgetVideoBase {
2887
+ contentParent: BlazeWidgetStory | BlazeWidgetMoment;
2724
2888
  data: IPage | undefined;
2725
2889
  video: HTMLVideoElement;
2726
2890
  loader: HTMLElement;
@@ -2741,11 +2905,10 @@ export declare class BlazeWidgetVideo extends BlazeWidgetVideoBase {
2741
2905
  adDisplayContainer: any;
2742
2906
  adsManager: any;
2743
2907
  shouldShowImaAd: boolean;
2744
- storyParent: BlazeWidgetStory | BlazeWidgetMoment;
2745
2908
  googleIMA: any;
2746
2909
  isCurrentlyTryingToRunImaAd: boolean;
2747
2910
  hasPoster: boolean;
2748
- constructor(storyParent: BlazeWidgetStory | BlazeWidgetMoment);
2911
+ constructor(contentParent: BlazeWidgetStory | BlazeWidgetMoment);
2749
2912
  connectedCallback(): void;
2750
2913
  disconnectedCallback(): void;
2751
2914
  setData(data: IPage): void;
@@ -2789,8 +2952,8 @@ export declare class BlazeWidgetVideo extends BlazeWidgetVideoBase {
2789
2952
  handleInteractionEvent(event: CustomEvent<InteractionAnalyticCustomEvent>): void;
2790
2953
  }
2791
2954
 
2792
- export declare class BlazeWidgetStoryAd extends BlazeWidgetVideoBase {
2793
- private storyParent;
2955
+ export declare class BlazeWidgetAd extends BlazeWidgetVideoBase {
2956
+ private contentParent;
2794
2957
  data: IPage | undefined;
2795
2958
  private isCurrentlyDisplay;
2796
2959
  private adContainer;
@@ -2800,7 +2963,7 @@ export declare class BlazeWidgetStoryAd extends BlazeWidgetVideoBase {
2800
2963
  private onFail?;
2801
2964
  private isAdFailed;
2802
2965
  private isPlaying;
2803
- constructor(storyParent: BlazeWidgetStory);
2966
+ constructor(contentParent: BlazeWidgetStory | BlazeWidgetMoment);
2804
2967
  connectedCallback(): void;
2805
2968
  disconnectedCallback(): void;
2806
2969
  render(): void;
@@ -2830,27 +2993,33 @@ export declare class BlazeWidgetStoryAd extends BlazeWidgetVideoBase {
2830
2993
  export type BlazeWidgetContentType = BlazeWidgetMoment[] & BlazeWidgetStory[];
2831
2994
  export declare class BlazeWidgetMomentModal extends BlazeWidgetModal {
2832
2995
  parentWidget: HTMLElement;
2996
+ playerLayout: StoryPlayerStyle;
2833
2997
  data: IMoment[];
2998
+ playlistSessionId: string;
2834
2999
  navigationButtonsContainerElement: BlazeDiv;
2835
- nextContentButtonElement: BlazeButton;
2836
- prevContentButtonElement: BlazeButton;
3000
+ nextContentButtonElement?: BlazeButton;
3001
+ prevContentButtonElement?: BlazeButton;
2837
3002
  onClose: (() => void) | undefined;
2838
3003
  onOpen: (() => void) | undefined;
2839
3004
  boundOnKeyDown: (ev: KeyboardEvent) => void;
2840
3005
  boundOnNavigationChange: (ev: Event) => void;
2841
- constructor();
3006
+ boundOnResizeEventDelay: (this: Window, ev: UIEvent) => void;
3007
+ constructor(parentWidget: HTMLElement, playerLayout: StoryPlayerStyle);
2842
3008
  connectedCallback(): void;
2843
3009
  disconnectedCallback(): void;
2844
3010
  onNavigationChange(ev: Event): void;
2845
3011
  navigateContent(direction: ContentDirection): void;
2846
3012
  createNavigationButton(direction: ContentDirection): BlazeButton;
2847
- setModalContent(data: IMoment[]): void;
3013
+ handleClickNavigation(direction: ContentDirection): void;
3014
+ setModalContent(data: IMoment[], indexOfContentInWidget: number, defaultAdsInfo?: IAdInfo): void;
2848
3015
  onKeyDown(ev: KeyboardEvent): void;
2849
3016
  close(): void;
2850
3017
  open(): void;
2851
3018
  play(): void;
2852
3019
  setExitButtonDisplay(): void;
2853
3020
  render(): void;
3021
+ onResize(): void;
3022
+ onResizeEventDelay(): void;
2854
3023
  }
2855
3024
 
2856
3025
  export declare const MUTE_UNMUTE_EVENT = "muteButtonClicked";
@@ -2859,6 +3028,7 @@ export declare class BlazeWidgetMomentPlayer extends WidgetAbstractPlayer {
2859
3028
  isWheelEventHandling: boolean;
2860
3029
  boundHandleMuteClicked: () => void;
2861
3030
  constructor();
3031
+ get currentMoment(): BlazeWidgetMoment;
2862
3032
  connectedCallback(): void;
2863
3033
  disconnectedCallback(): void;
2864
3034
  setupEventListeners(): void;
@@ -2872,6 +3042,7 @@ export declare class BlazeWidgetMomentPlayer extends WidgetAbstractPlayer {
2872
3042
  handleEndSwipe(ev: HammerInput): void;
2873
3043
  handlePrevDirection(): void;
2874
3044
  handleNextDirection(): void;
3045
+ updateItemData(itemToReplaceWith: BlazeWidgetMoment & BlazeWidgetStory, nextItemToInsert: BlazeWidgetMoment | BlazeWidgetStory): void;
2875
3046
  createAnimation(content: BlazeWidgetMoment, direction: ContentDirection, targetIndex: number): AnimeTimelineInstance;
2876
3047
  loadAndPlayContent(): Promise<void>;
2877
3048
  handleAnimationCompletion(content: BlazeWidgetMoment, mode: ContentDirection): Promise<void>;
@@ -2891,9 +3062,10 @@ export declare class BlazeWidgetMomentPlayer extends WidgetAbstractPlayer {
2891
3062
  }
2892
3063
 
2893
3064
  export declare class BlazeWidgetMomentSeekBar extends HTMLElement {
2894
- video: BlazeWidgetVideo;
3065
+ video: BlazeWidgetVideo | BlazeWidgetAd;
2895
3066
  private progress;
2896
3067
  private playbackParts;
3068
+ private isEmphasized;
2897
3069
  private listeners;
2898
3070
  onPause?: () => void;
2899
3071
  onResume?: () => void;
@@ -2910,13 +3082,16 @@ export declare class BlazeWidgetMomentSeekBar extends HTMLElement {
2910
3082
  private lastProgress;
2911
3083
  private progressBarFill;
2912
3084
  private progressBarKnob;
2913
- constructor(video: BlazeWidgetVideo);
3085
+ private isMouseIn;
3086
+ constructor(video: BlazeWidgetVideo | BlazeWidgetAd);
2914
3087
  static get observedAttributes(): string[];
2915
3088
  attributeChangedCallback(name: string, oldValue: string, _newValue: string): void;
2916
3089
  connectedCallback(): void;
3090
+ onContentPaused(): void;
3091
+ onContentResumed(directReset?: boolean): void;
2917
3092
  disconnectedCallback(): void;
2918
3093
  private initialize;
2919
- setVideo(video: BlazeWidgetVideo): void;
3094
+ setVideo(video: BlazeWidgetVideo | BlazeWidgetAd): void;
2920
3095
  private setupProgressUpdate;
2921
3096
  private stopProgressUpdate;
2922
3097
  private setupEventListeners;
@@ -2929,6 +3104,7 @@ export declare class BlazeWidgetMomentSeekBar extends HTMLElement {
2929
3104
  private handleOnMouseIn;
2930
3105
  private resetSeekBarStyle;
2931
3106
  private emphasizesSeekBarStyle;
3107
+ reset(): void;
2932
3108
  private handleSeek;
2933
3109
  private styleProgressContainer;
2934
3110
  private createPlaybackPart;
@@ -2942,14 +3118,18 @@ interface ButtonElementOptions {
2942
3118
  backgroundColor?: string;
2943
3119
  }
2944
3120
  export declare class BlazeWidgetMoment extends BlazeWidgetContent {
2945
- video: BlazeWidgetVideo;
3121
+ video?: BlazeWidgetVideo | BlazeWidgetAd;
2946
3122
  modal: BlazeWidgetMomentModal;
2947
3123
  seekBar: BlazeWidgetMomentSeekBar;
2948
3124
  shareModal: BlazeWidgetShareModal | undefined;
2949
3125
  data: IMoment;
2950
3126
  type: string;
2951
- onClose: (() => void);
3127
+ momentIndex: number;
3128
+ loopNumber: number;
3129
+ isLiked: boolean;
3130
+ onClose: () => void;
2952
3131
  boundOnCtaClicked: (event: Event) => void;
3132
+ boundPlayPauseButtonClick: (event: MouseEvent) => void;
2953
3133
  topContainer: BlazeDiv;
2954
3134
  bottomContainer: BlazeDiv;
2955
3135
  bottomContentContainer: BlazeDiv;
@@ -2965,9 +3145,13 @@ export declare class BlazeWidgetMoment extends BlazeWidgetContent {
2965
3145
  shareButtonElement: BlazeButton;
2966
3146
  playPauseButtonElement: BlazeButton;
2967
3147
  contentTitleElement: BlazeDiv;
2968
- ctaElement: BlazeCtaButton;
3148
+ ctaButtonElement: BlazeCtaButton;
2969
3149
  isInit: boolean;
2970
3150
  isActive: boolean;
3151
+ shouldShowImaAdOnStart: boolean;
3152
+ imaUrl: string;
3153
+ elementsToHideOnImaAds: (HTMLElement | undefined)[];
3154
+ elementsToHideOnCustomAds: (HTMLElement | undefined)[];
2971
3155
  constructor();
2972
3156
  connectedCallback(): void;
2973
3157
  disconnectedCallback(): void;
@@ -2986,14 +3170,16 @@ export declare class BlazeWidgetMoment extends BlazeWidgetContent {
2986
3170
  styleCta(): void;
2987
3171
  initializeElements(): void;
2988
3172
  appendShadowElements(): void;
2989
- createButtonElement(options: ButtonElementOptions): BlazeButton;
3173
+ createButtonElement(options: ButtonElementOptions, button: BlazeButton): void;
2990
3174
  configureShareModal(): void;
2991
3175
  configureButtons(): void;
3176
+ createLikeButton(size: string): Promise<void>;
2992
3177
  appendButtonsContainer(): void;
2993
3178
  handleMobileSpecificFeatures(): void;
2994
3179
  configureContentTitle(): void;
2995
3180
  appendBottomContainer(): void;
2996
3181
  createPlayPauseButton(): void;
3182
+ handlePlayPauseButtonClick(): void;
2997
3183
  setModal(modal: BlazeWidgetMomentModal): void;
2998
3184
  onVisibilityChange(): void;
2999
3185
  onBlur(): void;
@@ -3009,22 +3195,24 @@ export declare class BlazeWidgetMoment extends BlazeWidgetContent {
3009
3195
  playToggle(): void;
3010
3196
  handleOnMuteUnmuteToggle(): void;
3011
3197
  setData(data: IMoment | null): void;
3012
- updateData(data: IMoment): void;
3198
+ updateData(options: {
3199
+ data: IMoment;
3200
+ shouldShowImaAdOnStart: boolean;
3201
+ imaUrl: string;
3202
+ }): Promise<void>;
3013
3203
  updateContentTitle(title: string): void;
3014
- updateLikeCount(likes?: number): void;
3204
+ updateLikeCount(likes?: number): Promise<void>;
3015
3205
  updateCta(cta: ICTA): void;
3016
- onCtaClick(event: Event): void;
3206
+ onCtaClick(event: Event): boolean;
3017
3207
  play(): void;
3018
3208
  handleOnClose(): void;
3019
- handleOnLikeClick(): void;
3209
+ handleOnLikeClick(e: Event): void;
3020
3210
  pause(): void;
3021
3211
  resume(): void;
3022
3212
  resetPosition(): void;
3023
- resetLayout(): void;
3024
3213
  restartVideo(): void;
3025
3214
  adjustAdView(): void;
3026
- event(): void;
3027
- getRefferingObject(): undefined;
3215
+ event(action: MomentAction, momentData: Partial<MomentEvent>, label?: string | undefined): void;
3028
3216
  adjustStylesForDevice(): void;
3029
3217
  render(): void;
3030
3218
  }
@@ -3042,9 +3230,11 @@ export declare class BlazeWidgetStoryModal extends BlazeWidgetModal {
3042
3230
  disconnectedCallback(): void;
3043
3231
  handleOnStoryChange(mode: ContentDirection): void;
3044
3232
  setTheme(theme: IWidgetTheme): void;
3045
- setModalContent(stories: IStory[], defaultAdsInfo?: IAdInfo): void;
3233
+ setModalContent(stories: IStory[], indexOfContentInWidget: number, defaultAdsInfo?: IAdInfo): void;
3046
3234
  onKeyDown(ev: KeyboardEvent): void;
3047
3235
  close(): void;
3236
+ dispatchExitStoryEvents(): void;
3237
+ dispatchPlayerEvents(): void;
3048
3238
  open(options?: ISmoothOpenCloseModal): void;
3049
3239
  play(): void;
3050
3240
  render(): void;
@@ -3064,6 +3254,7 @@ export declare class BlazeWidgetStoryPlayer extends WidgetAbstractPlayer {
3064
3254
  applyStyles(): void;
3065
3255
  attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
3066
3256
  setContent(content: BlazeWidgetStory[]): void;
3257
+ navigateContent(direction: ContentDirection): void;
3067
3258
  onFocus(): void;
3068
3259
  handleMoveSwipe(ev: HammerInput): void;
3069
3260
  handleEndSwipe(ev: HammerInput): void;
@@ -3094,11 +3285,9 @@ export declare class BlazeWidgetStory extends BlazeWidgetContent {
3094
3285
  refWidget: BlazeWidgetStory[] | undefined;
3095
3286
  ctaModal: BlazeWidgetCtaModal;
3096
3287
  isCtaWasClickedOrSwiped: boolean;
3097
- refPlayer?: BlazeWidgetStoryPlayer;
3098
- refPlayerModal?: BlazeWidgetStoryModal;
3288
+ resumeAfterBlurButton: BlazeButton | undefined;
3099
3289
  pageIndex: number;
3100
3290
  type: string;
3101
- container: HTMLElement;
3102
3291
  progressElement: HTMLElement;
3103
3292
  onPageStart?: () => void;
3104
3293
  onPrevStory?: () => void;
@@ -3123,9 +3312,7 @@ export declare class BlazeWidgetStory extends BlazeWidgetContent {
3123
3312
  nextPageButton?: BlazeButton;
3124
3313
  prevStoryButton?: BlazeButton;
3125
3314
  nextStoryButton?: BlazeButton;
3126
- resumeAfterBlurButton?: BlazeButton;
3127
3315
  playCallback: any;
3128
- sessionId: string;
3129
3316
  resumeAfterfocus: boolean;
3130
3317
  totalPlayStopwatch: Stopwatch;
3131
3318
  shadowTopElement: HTMLDivElement;
@@ -3137,6 +3324,8 @@ export declare class BlazeWidgetStory extends BlazeWidgetContent {
3137
3324
  originalNextPageDesktopClickListener: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null | undefined;
3138
3325
  restartStoryOnClickEvent: ((event: MouseEvent) => void) | undefined;
3139
3326
  requestAnimationId: number | null;
3327
+ shouldShowImaAdOnStart: boolean;
3328
+ imaUrl: string;
3140
3329
  constructor(playerStyle: StoryPlayerStyle, mode: ScreenMode);
3141
3330
  private isButtonVisible;
3142
3331
  private createPlayerButtonsAndAppendToButtonsContainer;
@@ -3150,7 +3339,7 @@ export declare class BlazeWidgetStory extends BlazeWidgetContent {
3150
3339
  adjustAdView(): void;
3151
3340
  private setPlayerButtonPosition;
3152
3341
  updatePlayerButtonIcons(): void;
3153
- private handleCtaAction;
3342
+ handleCtaAction(event: Event, gestureType: 'Swipe Up' | 'CTA Click'): boolean;
3154
3343
  playToggle(options?: {
3155
3344
  customIsPlaying?: boolean;
3156
3345
  }): void;
@@ -3172,7 +3361,6 @@ export declare class BlazeWidgetStory extends BlazeWidgetContent {
3172
3361
  displayCurrentStoryPageAndHideTheRest(): void;
3173
3362
  load(): void;
3174
3363
  play(): void;
3175
- getRefferingObject(): ReferringEventInfo;
3176
3364
  event(action: StoryAction, storyData: Partial<StoryEvent>, label?: string | undefined): void;
3177
3365
  updateContainerLayout(): void;
3178
3366
  connectedCallback(): void;
@@ -3187,14 +3375,12 @@ export declare class BlazeWidgetStory extends BlazeWidgetContent {
3187
3375
  resume(): void;
3188
3376
  resetPosition(): void;
3189
3377
  updateWidgetStatusReadUnread(): void;
3190
- prevStory(): void;
3191
- nextStory(): void;
3192
3378
  markAsRead(): Promise<any>;
3193
3379
  goNextPage(navigationType?: 'Automatic' | 'Manual'): void;
3194
3380
  goPrevPage(): void;
3195
3381
  disconnectedCallback(): void;
3196
3382
  updateCTAButtonPosition(): void;
3197
- updateCta(pageIndex?: number): void;
3383
+ updateCta(pageIndex: number): void;
3198
3384
  updatePlayerButtonsState(displayPageNavigationButtons?: boolean): void;
3199
3385
  updateButtonState(buttonType: ButtonNavigation, button: BlazeButton | undefined): void;
3200
3386
  isNavigationButtonActive(navigationType: ButtonNavigation): boolean;