@wscsports/blaze-web-sdk 0.5.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wscsports/blaze-web-sdk",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "main": "publish/index",
5
5
  "types": "publish/index",
6
6
  "files": [
@@ -2,6 +2,7 @@ type PlayContentOptions = {
2
2
  dataSource: BlazeDataSourceType;
3
3
  actionHandlers?: ActionHandler[];
4
4
  style?: StoryPlayerStyle | VideoPlayerStyle | MomentPlayerStyle;
5
+ shouldOrderContentByReadStatus?: boolean;
5
6
  };
6
7
  export declare function setDoNotTrack(value: boolean): void;
7
8
  export declare function setGeoLocation(value: string): void;
@@ -147,6 +148,7 @@ export declare class ReferringEventInfo {
147
148
  'story_source': string;
148
149
  }
149
150
  export declare class AnalyticsEvent {
151
+ 'sdk_event_session_counter': number;
150
152
  'sdk_event_id': string;
151
153
  'timestamp_utc': string;
152
154
  'timestamp_user_tz': string;
@@ -207,6 +209,8 @@ export declare class StoryEvent {
207
209
  'custom_action_button_name': string;
208
210
  'enrichment_layer_id': string;
209
211
  'enrichment_layer_url': string;
212
+ 'story_page_parent_id': string;
213
+ 'story_composition_type': string;
210
214
  }
211
215
  export declare class MomentEvent {
212
216
  'moments_session_id': string;
@@ -330,6 +334,7 @@ export declare class InteractionEvent {
330
334
  'playback_action_method': string;
331
335
  'audio_state': string;
332
336
  'content_extra_info': string;
337
+ 'client_enrichment_url': string;
333
338
  }
334
339
  export declare class ConsentEvent {
335
340
  }
@@ -353,6 +358,7 @@ export interface BlazeDataSourceType {
353
358
  orderType?: OrderType;
354
359
  maxItems?: number;
355
360
  advancedOrdering?: AdvancedOrdering;
361
+ personalized?: BlazePersonalized;
356
362
  }
357
363
  export declare const BlazeInternalError: {
358
364
  LabelExpressionMustNotBeEmpty: string;
@@ -664,7 +670,7 @@ export declare class BlazeButton extends BaseWidget {
664
670
  isAnimationOnDesktopInitialized: boolean;
665
671
  get refElement(): ShadowRoot | this;
666
672
  constructor();
667
- static get observedAttributes(): ("height" | "order" | "width" | "icon-color" | "disabled" | "blaze-btn-visible" | "blaze-btn-hidden" | "button-desktop-animation")[];
673
+ static get observedAttributes(): ("height" | "order" | "width" | "icon-color" | "blaze-btn-visible" | "disabled" | "blaze-btn-hidden" | "button-desktop-animation")[];
668
674
  private onMouseEnter;
669
675
  private onMouseLeave;
670
676
  private onClick;
@@ -897,6 +903,12 @@ export declare const CountryCodes: readonly ["AF", "AX", "AL", "DZ", "AS", "AD",
897
903
 
898
904
  export declare const DEFAULT_CTA_HEIGHT = 40;
899
905
  export declare const MIN_PADDING_BOTTOM = 10;
906
+ export declare const Z_INDEX: {
907
+ readonly base: "0";
908
+ readonly player: "1";
909
+ readonly interaction: "2";
910
+ readonly onTopOfPlayer: "3";
911
+ };
900
912
 
901
913
  export declare const ONE_SECOND = 1000;
902
914
  export declare const ONE_AND_HALF_SECOND = 1500;
@@ -1043,6 +1055,7 @@ export type Interaction = {
1043
1055
  initData: string;
1044
1056
  designOverridesStr: string;
1045
1057
  bounds?: InteractionBounds;
1058
+ clientEnrichmentUrl?: string;
1046
1059
  };
1047
1060
  export type InteractionDB = Pick<Interaction, 'id' | 'initData'> & {
1048
1061
  userResponse?: string;
@@ -1065,7 +1078,33 @@ export type InteractionIframeVibrate = {
1065
1078
  type: keyof typeof ANSWER_FEEDBACK_VIBRATE_PATTERNS;
1066
1079
  };
1067
1080
  };
1068
- export type InteractionIframeCustomEvent = InteractionIframeResponse | InteractionIframeVibrate;
1081
+ export type EnrichmentIframeTriggerHaptic = {
1082
+ type: 'hapticFeedback';
1083
+ data: {
1084
+ type: keyof typeof ANSWER_FEEDBACK_VIBRATE_PATTERNS;
1085
+ };
1086
+ };
1087
+ export type EnrichmentIframePlay = {
1088
+ type: 'play';
1089
+ data: undefined;
1090
+ };
1091
+ export type EnrichmentIframePause = {
1092
+ type: 'pause';
1093
+ data: undefined;
1094
+ };
1095
+ export type EnrichmentIframeNextPage = {
1096
+ type: 'goToNextPage';
1097
+ data: undefined;
1098
+ };
1099
+ export type EnrichmentIframePreviousPage = {
1100
+ type: 'goToPreviousPage';
1101
+ data: undefined;
1102
+ };
1103
+ export type EnrichmentIframeSetAppContext = {
1104
+ type: 'setAppContext';
1105
+ data: Record<string, any>;
1106
+ };
1107
+ export type InteractionIframeCustomEvent = InteractionIframeResponse | InteractionIframeVibrate | EnrichmentIframePlay | EnrichmentIframePause | EnrichmentIframePreviousPage | EnrichmentIframeNextPage | EnrichmentIframeSetAppContext | EnrichmentIframeTriggerHaptic;
1069
1108
  export declare const INTERACTION_ANALYTICS = "INTERACTION_ANALYTICS";
1070
1109
 
1071
1110
  export interface ILayerContent {
@@ -1114,6 +1153,7 @@ export interface IContentPage extends IBasePage {
1114
1153
  thumbnail: IThumbnail;
1115
1154
  baseLayer: ILayer;
1116
1155
  cta: ICta;
1156
+ parentStoryId?: string;
1117
1157
  shouldShowImaAd?: boolean;
1118
1158
  adInfo?: IAdInfo;
1119
1159
  interaction?: Interaction;
@@ -1138,6 +1178,7 @@ export interface IStory extends IContent {
1138
1178
  isLive: boolean;
1139
1179
  pages: IPage[];
1140
1180
  adInfo?: IAdInfo;
1181
+ compositionType?: string;
1141
1182
  }
1142
1183
 
1143
1184
  export interface IThumbnail {
@@ -1218,7 +1259,11 @@ export declare enum InternalEvent {
1218
1259
  AD_ENDED = "ad_ended",
1219
1260
  AD_RESUMED = "ad_resumed",
1220
1261
  AD_STARTED = "ad_started",
1221
- BANNER_ANALYTICS = "banner_analytics"
1262
+ BANNER_ANALYTICS = "banner_analytics",
1263
+ PAUSE = "pause",
1264
+ RESUME = "resume",
1265
+ NEXT_PAGE = "next_page",
1266
+ PREVIOUS_PAGE = "previous_page"
1222
1267
  }
1223
1268
  export interface InternalEventDetails {
1224
1269
  [InternalEvent.BANNER_ANALYTICS]: {
@@ -1607,6 +1652,7 @@ export interface IWidgetView extends HTMLElement {
1607
1652
  updateOverrideStyles: (perItemStyleOverrides: PerItemStyleOverrides) => void;
1608
1653
  setId: (id: string) => void;
1609
1654
  updateDataSource: (dataSource: BlazeDataSourceType) => void;
1655
+ setPersonalized: (personalized: BlazePersonalized) => void;
1610
1656
  setLabels: (labels: string | string[] | BlazeWidgetLabel, options?: ISetWidgetOptions) => void;
1611
1657
  setLabelsPriority: (labelsPriority: string | string[] | BlazeWidgetLabel[], options?: ISetWidgetOptions) => void;
1612
1658
  setContentIds: (storyIds: string[], options?: ISetWidgetOptions) => void;
@@ -1640,6 +1686,7 @@ declare const AnalyticsServiceClass_base: {
1640
1686
  declare abstract class AnalyticsServiceClass extends AnalyticsServiceClass_base implements IService {
1641
1687
  events: AnalyticsEvent[];
1642
1688
  uaParsed?: IDevice;
1689
+ eventSessionCounter: number;
1643
1690
  init(): Promise<void>;
1644
1691
  sendAnalyticsData(): Promise<void>;
1645
1692
  bulkEvent(body: Partial<AnalyticsEvent>[]): Promise<any>;
@@ -1677,6 +1724,7 @@ declare abstract class ApiServiceClass extends ApiServiceClass_base implements I
1677
1724
  storyIds: string[];
1678
1725
  orderType?: OrderType;
1679
1726
  showLiveFirst?: boolean;
1727
+ personalized?: BlazePersonalized;
1680
1728
  }): Promise<{
1681
1729
  result: IStory[];
1682
1730
  httpStatus?: number | undefined;
@@ -1689,6 +1737,7 @@ declare abstract class ApiServiceClass extends ApiServiceClass_base implements I
1689
1737
  maxItems?: number;
1690
1738
  labelsPriority?: string;
1691
1739
  showLiveFirst?: boolean;
1740
+ personalized?: BlazePersonalized;
1692
1741
  }): Promise<{
1693
1742
  result: IStory[];
1694
1743
  httpStatus?: number | undefined;
@@ -2179,6 +2228,7 @@ export declare class PlayerViewTemplate {
2179
2228
  static display(type: ContentType, dataSource: BlazeDataSourceType, options: {
2180
2229
  style: StoryPlayerStyle | VideoPlayerStyle | MomentPlayerStyle;
2181
2230
  actionHandlers?: ActionHandler[];
2231
+ orderByReadStatus: boolean;
2182
2232
  }): Promise<void>;
2183
2233
  private static validateStyleType;
2184
2234
  }
@@ -2209,7 +2259,7 @@ export interface ContentResponse<T> {
2209
2259
  defaultAdsInfo?: IAdInfo;
2210
2260
  }
2211
2261
  export declare abstract class BaseModalTemplate<M extends BlazeWidgetModal, C extends IContent, S> {
2212
- render(dataSource: BlazeDataSourceType, options: ModalTemplateOptions<S>): Promise<void>;
2262
+ render(dataSource: BlazeDataSourceType, options: ModalTemplateOptions<S>, orderByReadStatus: boolean): Promise<void>;
2213
2263
  protected validateRequirements(dataSource: BlazeDataSourceType): {
2214
2264
  isValid: boolean;
2215
2265
  blazeSdk: null;
@@ -2229,7 +2279,6 @@ export declare abstract class BaseModalTemplate<M extends BlazeWidgetModal, C ex
2229
2279
  protected handleError(error: unknown, blazeSdk: BlazeWidgetSDK, dataSourceStringRep: string): void;
2230
2280
  protected fetchContent(dataSource: BlazeDataSourceType): Promise<ContentResponse<C>>;
2231
2281
  protected abstract createModal(parent: HTMLElement, style: S, actionHandlers?: ActionHandler[]): M;
2232
- protected abstract prepareContent(content: C[], service: ContentService<C>): Promise<C[]>;
2233
2282
  protected abstract configureModal(modal: M, content: C[]): void;
2234
2283
  protected abstract getService(): ContentService<C>;
2235
2284
  protected abstract getErrorCode(): ErrorCode;
@@ -2242,7 +2291,6 @@ export * from './moment.template';
2242
2291
 
2243
2292
  export declare class MomentModalTemplate extends BaseModalTemplate<BlazeWidgetMomentModal, IMoment, MomentPlayerStyle> {
2244
2293
  protected createModal(parent: HTMLElement, style: MomentPlayerStyle, actionHandlers?: ActionHandler[]): BlazeWidgetMomentModal;
2245
- protected prepareContent(content: IMoment[], service: ContentService<IMoment>): Promise<IMoment[]>;
2246
2294
  protected configureModal(modal: BlazeWidgetMomentModal, content: IMoment[]): void;
2247
2295
  protected getService(): ContentService<IMoment>;
2248
2296
  protected getErrorCode(): ErrorCode;
@@ -2250,7 +2298,6 @@ export declare class MomentModalTemplate extends BaseModalTemplate<BlazeWidgetMo
2250
2298
 
2251
2299
  export declare class StoryModalTemplate extends BaseModalTemplate<BlazeWidgetStoryModal, IStory, StoryPlayerStyle> {
2252
2300
  protected createModal(parent: HTMLElement, style: StoryPlayerStyle, actionHandlers?: ActionHandler[]): BlazeWidgetStoryModal;
2253
- protected prepareContent(content: IStory[], service: ContentService<IStory>): Promise<IStory[]>;
2254
2301
  protected configureModal(modal: BlazeWidgetStoryModal, content: IStory[]): void;
2255
2302
  protected getService(): ContentService<IStory>;
2256
2303
  protected getErrorCode(): ErrorCode;
@@ -2258,7 +2305,6 @@ export declare class StoryModalTemplate extends BaseModalTemplate<BlazeWidgetSto
2258
2305
 
2259
2306
  export declare class VideoModalTemplate extends BaseModalTemplate<BlazeWidgetVideoModal, IVideo, VideoPlayerStyle> {
2260
2307
  protected createModal(parent: HTMLElement, style: VideoPlayerStyle): BlazeWidgetVideoModal;
2261
- protected prepareContent(content: IVideo[], service: ContentService<IVideo>): Promise<IVideo[]>;
2262
2308
  protected configureModal(modal: BlazeWidgetVideoModal, content: IVideo[]): void;
2263
2309
  protected getService(): ContentService<IVideo>;
2264
2310
  protected getErrorCode(): ErrorCode;
@@ -2269,9 +2315,7 @@ export declare function getDataSourceStringRep(dataSource: BlazeDataSourceType):
2269
2315
  export * from './data-source.utils';
2270
2316
  export * from './sort.utils';
2271
2317
 
2272
- export declare function sortVideosByViewedStatus(a: IVideo, b: IVideo): number;
2273
- export declare function sortStoriesByViewedStatus(a: IStory, b: IStory): number;
2274
- export declare function sortMomentsByViewedStatus(a: IMoment, b: IMoment): number;
2318
+ export declare function sortContentByViewedStatus<T extends IContent>(a: T, b: T): number;
2275
2319
 
2276
2320
  export * from './preset';
2277
2321
  export * from './theme';
@@ -3030,7 +3074,7 @@ export type ComponentsElementType = 'blaze-alert' | 'blaze-chip' | 'blaze-image'
3030
3074
  export type WidgetElementType = 'blaze-sdk';
3031
3075
  export type ElementType = WidgetElementType | ComponentsElementType;
3032
3076
 
3033
- export type EnvironmentType = 'prod' | 'uat';
3077
+ export type EnvironmentType = 'prod' | 'uat' | 'local';
3034
3078
 
3035
3079
  export type StoryGestureType = 'Swipe Up' | 'CTA Click';
3036
3080
  export type MomentGestureType = 'CTA Click';
@@ -3051,6 +3095,7 @@ export * from './item.type';
3051
3095
  export * from './label.type';
3052
3096
  export * from './locale.type';
3053
3097
  export * from './order.type';
3098
+ export * from './personalized.type';
3054
3099
  export * from './platform.type';
3055
3100
  export * from './play.type';
3056
3101
  export * from './player-layout.type';
@@ -3087,6 +3132,18 @@ export type LocaleDirectionType = 'LTR' | 'RTL';
3087
3132
  export type OrderType = 'Manual' | 'AtoZ' | 'ZtoA' | 'RecentlyUpdatedFirst' | 'RecentlyUpdatedLast' | 'RecentlyCreatedFirst' | 'RecentlyCreatedLast';
3088
3133
  export type ContentOrderType = 'LIVE_CHIP' | 'STORY_TITLE' | 'PUBLISHED_DATE';
3089
3134
 
3135
+ type BlazePersonalizedIds = {
3136
+ type: 'ids';
3137
+ teams?: Array<string>;
3138
+ players?: Array<string>;
3139
+ };
3140
+ type BlazePersonalizedLabels = {
3141
+ type: 'labels';
3142
+ labelsFilterExpression: string | string[] | BlazeWidgetLabel;
3143
+ labelsPriority: string | string[] | BlazeWidgetLabel[];
3144
+ };
3145
+ export type BlazePersonalized = BlazePersonalizedIds | BlazePersonalizedLabels;
3146
+
3090
3147
  export type Platform = 'mobile' | 'tablet' | 'desktop';
3091
3148
 
3092
3149
  export declare const PlayTypeArray: readonly ["Widget", "Share", "SingleContent", "AutoAdvance"];
@@ -3172,6 +3229,7 @@ type CountryCode = typeof CountryCodes[number];
3172
3229
  export declare function isValidCountryCode(countryCode: string): countryCode is CountryCode;
3173
3230
 
3174
3231
  export declare function GuardNullOrEmpty(name: string, value: any): void;
3232
+ export declare function isStory(content: IContent): content is IStory;
3175
3233
 
3176
3234
  export declare function formatDuration(startDate: Date): string;
3177
3235
  export declare function isCssPropertySupported(property: string): boolean;
@@ -3209,11 +3267,29 @@ export * from './common.utils';
3209
3267
  export * from './country-location.utils';
3210
3268
  export * from './guard.utils';
3211
3269
  export * from './helper';
3270
+ export * from './personalized.utils';
3212
3271
  export * from './regex.utils';
3213
3272
  export * from './stopwatch';
3214
3273
  export * from './position.utils';
3215
3274
  export * from './ad-info.utils';
3216
3275
 
3276
+ export declare function getPersonalizedParamsForRequest(personalized?: BlazePersonalized): {
3277
+ PersonalPlayers?: undefined;
3278
+ PersonalTeams?: undefined;
3279
+ PersonalLabelFilterExpression?: undefined;
3280
+ PersonalLabelPriority?: undefined;
3281
+ } | {
3282
+ PersonalPlayers: string[] | undefined;
3283
+ PersonalTeams: string[] | undefined;
3284
+ PersonalLabelFilterExpression?: undefined;
3285
+ PersonalLabelPriority?: undefined;
3286
+ } | {
3287
+ PersonalLabelFilterExpression: string | string[] | import("../classes").BlazeWidgetLabel;
3288
+ PersonalLabelPriority: string | string[] | import("../classes").BlazeWidgetLabel[];
3289
+ PersonalPlayers?: undefined;
3290
+ PersonalTeams?: undefined;
3291
+ };
3292
+
3217
3293
  export declare function calculatePosition(statusIndicatorPosition: PositionType): {
3218
3294
  isOutside: boolean;
3219
3295
  isInside: boolean;
@@ -3587,7 +3663,7 @@ export declare class BlazeVideoNavigationOverlay extends HTMLElement {
3587
3663
  loader: BlazeLoader;
3588
3664
  private _platform;
3589
3665
  constructor();
3590
- static get observedAttributes(): ("hidden" | "layout" | "has-next" | "has-prev")[];
3666
+ static get observedAttributes(): ("layout" | "hidden" | "has-next" | "has-prev")[];
3591
3667
  attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
3592
3668
  private applyAttribute;
3593
3669
  connectedCallback(): void;
@@ -4017,6 +4093,7 @@ export declare class BlazeWidgetEmbeddedStory extends BaseWidget implements IWid
4017
4093
  bindedOnPlayerDismissed: (e: Event) => void;
4018
4094
  private get theme();
4019
4095
  constructor();
4096
+ setPersonalized(personalized: BlazePersonalized): void;
4020
4097
  static get observedAttributes(): string[];
4021
4098
  connectedCallback(): void;
4022
4099
  disconnectedCallback(): void;
@@ -4063,6 +4140,8 @@ export declare class BlazeWidgetEmbeddedStory extends BaseWidget implements IWid
4063
4140
  export declare class BlazeWidgetInteraction extends BaseWidget {
4064
4141
  private iframe;
4065
4142
  private interaction?;
4143
+ private isIframeLoaded;
4144
+ private isInitialized;
4066
4145
  private isActive;
4067
4146
  private shouldForceHide;
4068
4147
  private responseHandler;
@@ -4167,6 +4246,7 @@ export declare class BlazeWidgetLayout extends BlazeWidgetScrollable implements
4167
4246
  onResizeEvent: (this: Window, ev: UIEvent) => void;
4168
4247
  shouldReloadWhenPlayerIsClosed: boolean;
4169
4248
  shouldReloadData: boolean;
4249
+ private personalized?;
4170
4250
  get refElement(): ShadowRoot | BlazeWidgetLayout;
4171
4251
  constructor();
4172
4252
  connectedCallback(): void;
@@ -4261,6 +4341,7 @@ export declare class BlazeWidgetLayout extends BlazeWidgetScrollable implements
4261
4341
  connectWidgets(): void;
4262
4342
  get thumbnailShape(): ThumbnailShape;
4263
4343
  widgetType(): WidgetType;
4344
+ setPersonalized(personalized?: BlazePersonalized): void;
4264
4345
  }
4265
4346
 
4266
4347
  export declare class BlazeWidgetModal extends BaseWidget {
@@ -5032,6 +5113,10 @@ export declare class BlazeWidgetStory extends BlazeWidgetContent {
5032
5113
  requestAnimationId: number | null;
5033
5114
  shouldShowImaAdOnStart: boolean;
5034
5115
  bannerAdElement?: BlazeWidgetBannerAd;
5116
+ boundOnResumeEvent: () => void;
5117
+ boundOnPauseEvent: () => void;
5118
+ boundOnNextPageEvent: () => void;
5119
+ boundOnPrevPageEvent: () => void;
5035
5120
  get currentPageIndexWithoutCustomAds(): number;
5036
5121
  constructor(playerStyle: StoryPlayerStyle, mode: ScreenMode, actionHandlers?: ActionHandler[]);
5037
5122
  isButtonVisible(iconName: IconButtonType | StoryDirectionType): boolean | undefined;
@@ -5083,6 +5168,7 @@ export declare class BlazeWidgetStory extends BlazeWidgetContent {
5083
5168
  bannerAdEvent(detail: InternalEventDetails[InternalEvent.BANNER_ANALYTICS]): void;
5084
5169
  event(action: StoryAction, storyData: Partial<StoryEvent>, label?: string | undefined): Promise<void>;
5085
5170
  updateContainerLayout(): void;
5171
+ private addOrRemoveEventListeners;
5086
5172
  connectedCallback(): void;
5087
5173
  onShareModalClose(): void;
5088
5174
  updateStoryProgress(): void;
@@ -5126,6 +5212,10 @@ export declare class BlazeWidgetStory extends BlazeWidgetContent {
5126
5212
  resetLayout(): void;
5127
5213
  render(): void;
5128
5214
  onExpandClick(): void;
5215
+ private onResumeEvent;
5216
+ private onPauseEvent;
5217
+ private onNextPageEvent;
5218
+ private onPrevPageEvent;
5129
5219
  }
5130
5220
 
5131
5221
  export declare const ElementId: {