@wscsports/blaze-web-sdk 0.3.2 → 0.3.4

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.3.2",
3
+ "version": "0.3.4",
4
4
  "main": "publish/index",
5
5
  "types": "publish/index",
6
6
  "files": [
@@ -172,7 +172,7 @@ export declare class StoryEvent {
172
172
  'content_duration_viewed': number;
173
173
  'story_page_duration': number;
174
174
  'story_page_duration_viewed_percent': number;
175
- 'gesture_type': string;
175
+ 'gesture_type': StoryGestureType;
176
176
  'labels_expression': string;
177
177
  'story_session_id': string;
178
178
  'story_page_index': number;
@@ -196,6 +196,7 @@ export declare class MomentEvent {
196
196
  'playback_action_method': string;
197
197
  'audio_state': string;
198
198
  'loop_number': string;
199
+ 'gesture_type': MomentGestureType;
199
200
  }
200
201
  export declare class WidgetEvent {
201
202
  'page_view_id': string;
@@ -241,6 +242,7 @@ export declare class AdEvent {
241
242
  'ad_path': string;
242
243
  'ad_unit_id': string;
243
244
  'session_id': string;
245
+ 'gesture_type': MomentGestureType | StoryGestureType;
244
246
  }
245
247
  export declare class ImaAdEvent {
246
248
  'story_id': string;
@@ -256,6 +258,7 @@ export declare class ImaAdEvent {
256
258
  'failure_reason': string;
257
259
  'ad_type': string;
258
260
  'ima_url': string;
261
+ 'player_orientation': ContentAspectRatio;
259
262
  }
260
263
  export declare class InteractionEvent {
261
264
  'interaction_id': string;
@@ -303,7 +306,7 @@ export declare class BlazeDataSourceValidations {
303
306
  static validateFormat(dataSource: BlazeDataSourceType): void;
304
307
  }
305
308
 
306
- export declare function debounce<T extends Event>(func: EventHandler<T>, _delay: number): (event: T) => Promise<void>;
309
+ export declare function debounce<T extends (...args: any[]) => any>(func: T, delay: number): (...args: Parameters<T>) => void;
307
310
 
308
311
  export declare const Platform: {
309
312
  readonly Console: "console";
@@ -335,6 +338,7 @@ declare class DeviceDetector {
335
338
  private detectPlatform;
336
339
  private getScreenOrientation;
337
340
  private handleResize;
341
+ isIOSMobileTabletSafari(): boolean;
338
342
  }
339
343
  export declare const deviceDetector: DeviceDetector;
340
344
 
@@ -475,6 +479,7 @@ export declare class BlazeImage extends BaseWidget {
475
479
  setHeight(value: string): void;
476
480
  setRatio(ratio: string): void;
477
481
  setBorderRadius(radius: string): void;
482
+ setAccessibility(text: string): void;
478
483
  }
479
484
 
480
485
  export * from './alert';
@@ -536,7 +541,7 @@ export declare class BlazeButton extends BaseWidget {
536
541
  private setWidth;
537
542
  }
538
543
 
539
- type AttributeType = 'hidden-btn' | 'width' | 'height' | 'margin' | 'text' | 'href' | 'icon-url' | 'icon-size' | 'icon-color' | 'arrow-icon-display' | 'arrow-icon-color';
544
+ type AttributeType = 'hidden-btn' | 'width' | 'height' | 'margin' | 'text' | 'href' | 'icon-url' | 'icon-size' | 'icon-color' | 'arrow-icon-display' | 'arrow-icon-color' | 'display-icon';
540
545
  export declare class BlazeCtaButton extends BaseWidget {
541
546
  anchorButtonElement: HTMLAnchorElement;
542
547
  iconButtonElement: BlazeButton;
@@ -1044,7 +1049,6 @@ export declare const externalLinkIconSvg = "data:image/svg+xml;base64,PD94bWwgdm
1044
1049
  export declare const fullscreenIconSvg = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPG1hc2sgaWQ9Im1hc2swXzkxNTFfNTE4OSIgc3R5bGU9Im1hc2stdHlwZTphbHBoYSIgbWFza1VuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeD0iMCIgeT0iMCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij4KPHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSIjRDlEOUQ5Ii8+CjwvbWFzaz4KPGcgbWFzaz0idXJsKCNtYXNrMF85MTUxXzUxODkpIj4KPHBhdGggZD0iTTUgMjFDNC40NSAyMSAzLjk3OTE3IDIwLjgwNDIgMy41ODc1IDIwLjQxMjVDMy4xOTU4MyAyMC4wMjA4IDMgMTkuNTUgMyAxOVYxNUg1VjE5SDlWMjFINVpNMTUgMjFWMTlIMTlWMTVIMjFWMTlDMjEgMTkuNTUgMjAuODA0MiAyMC4wMjA4IDIwLjQxMjUgMjAuNDEyNUMyMC4wMjA4IDIwLjgwNDIgMTkuNTUgMjEgMTkgMjFIMTVaTTMgOVY1QzMgNC40NSAzLjE5NTgzIDMuOTc5MTcgMy41ODc1IDMuNTg3NUMzLjk3OTE3IDMuMTk1ODMgNC40NSAzIDUgM0g5VjVINVY5SDNaTTE5IDlWNUgxNVYzSDE5QzE5LjU1IDMgMjAuMDIwOCAzLjE5NTgzIDIwLjQxMjUgMy41ODc1QzIwLjgwNDIgMy45NzkxNyAyMSA0LjQ1IDIxIDVWOUgxOVoiIGZpbGw9IiNGMEYwRjAiLz4KPC9nPgo8L3N2Zz4K";
1045
1050
  export declare const arrowDownMomentIconSvg = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTYuNjY2NjcgMThWNS43MzMzMkwxLjg2NjY3IDEwLjUzMzNMMCA4LjY2NjY2TDggMC42NjY2NTZMMTYgOC42NjY2NkwxNC4xMzMzIDEwLjUzMzNMOS4zMzMzMyA1LjczMzMyVjE4SDYuNjY2NjdaIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjkyIi8+Cjwvc3ZnPgo=";
1046
1051
  export declare const arrowUpMomentIconSvg = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgdHJhbnNmb3JtPSJzY2FsZSgxIC0xKSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTYuNjY2NjcgMThWNS43MzMzMkwxLjg2NjY3IDEwLjUzMzNMMCA4LjY2NjY2TDggMC42NjY2NTZMMTYgOC42NjY2NkwxNC4xMzMzIDEwLjUzMzNMOS4zMzMzMyA1LjczMzMyVjE4SDYuNjY2NjdaIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjkyIi8+Cjwvc3ZnPgo=";
1047
- export declare const externalLinkIcon = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+CjxwYXRoIGQ9Im0xMiAwYzYuNiAwIDEyIDUuNCAxMiAxMnMtNS40IDEyLTEyIDEyLTEyLTUuNC0xMi0xMiA1LjQtMTIgMTItMTJ6IiBmaWxsLW9wYWNpdHk9Ii4xIi8+CjxwYXRoIGQ9Im0xMy44IDE0LjYgMC4yIDAuNS0wLjIgMC41LTEuNSAxLjRjLTAuNyAwLjctMS43IDEuMS0yLjcgMS4xYTQgNCAwIDAgMS0yLjctMS4xIDMuOSAzLjkgMCAwIDEtMS4xLTIuNyA0IDQgMCAwIDEgMS4xLTIuN2wxLjUtMS41IDAuNS0wLjEgMC41IDAuMiAwLjIgMC41LTAuMiAwLjUtMS41IDEuNWMtMC41IDAuNS0wLjcgMS4xLTAuNyAxLjdzMC4zIDEuMyAwLjcgMS43YzAuNSAwLjUgMS4xIDAuNyAxLjcgMC43czEuMy0wLjMgMS43LTAuN2wxLjUtMS41YzAuMy0wLjMgMC43LTAuMyAxIDB6bTMuMi03LjZhMy45IDMuOSAwIDAgMC0yLjctMS4xIDQgNCAwIDAgMC0yLjcgMS4xbC0xLjUgMS41LTAuMSAwLjQgMC4yIDAuNSAwLjUgMC4yIDAuNS0wLjIgMS41LTEuNWMwLjUtMC41IDEuMS0wLjcgMS43LTAuN3MxLjMgMC4zIDEuNyAwLjdjMC41IDAuNSAwLjcgMS4xIDAuNyAxLjdzLTAuMyAxLjMtMC43IDEuN2wtMS41IDEuNS0wLjIgMC41IDAuMiAwLjUgMC41IDAuMiAwLjUtMC4yIDEuNS0xLjVjMC43LTAuNyAxLjEtMS43IDEuMS0yLjctMC4xLTEtMC41LTEuOS0xLjItMi42em0tNy45IDcuMiAwLjIgMC41IDAuNSAwLjIgMC41LTAuMiA0LjUtNC41IDAuMi0wLjUtMC4yLTAuNWMtMC4zLTAuMi0wLjgtMC4yLTEgMC4xbC00LjUgNC41eiIvPgo8L3N2Zz4K";
1048
1052
  export declare const newPageIcon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPG1hc2sgaWQ9Im1hc2swXzk0NDlfOTc2NyIgc3R5bGU9Im1hc2stdHlwZTphbHBoYSIgbWFza1VuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeD0iMCIgeT0iMCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij4KPHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSIjRDlEOUQ5Ii8+CjwvbWFzaz4KPGcgbWFzaz0idXJsKCNtYXNrMF85NDQ5Xzk3NjcpIj4KPHBhdGggZD0iTTUgMjFDNC40NSAyMSAzLjk3OTE3IDIwLjgwNDIgMy41ODc1IDIwLjQxMjVDMy4xOTU4MyAyMC4wMjA4IDMgMTkuNTUgMyAxOVY1QzMgNC40NSAzLjE5NTgzIDMuOTc5MTcgMy41ODc1IDMuNTg3NUMzLjk3OTE3IDMuMTk1ODMgNC40NSAzIDUgM0gxMlY1SDVWMTlIMTlWMTJIMjFWMTlDMjEgMTkuNTUgMjAuODA0MiAyMC4wMjA4IDIwLjQxMjUgMjAuNDEyNUMyMC4wMjA4IDIwLjgwNDIgMTkuNTUgMjEgMTkgMjFINVpNOS43IDE1LjdMOC4zIDE0LjNMMTcuNiA1SDE0VjNIMjFWMTBIMTlWNi40TDkuNyAxNS43WiIgZmlsbD0iI0YwRjBGMCIvPgo8L2c+Cjwvc3ZnPgo=";
1049
1053
 
1050
1054
  type CustomNativeTargeting = Record<string, string | string[]>;
@@ -1093,7 +1097,7 @@ export interface IButtonPlayerNavigationConfig {
1093
1097
  export interface IButtonPlayerConfig {
1094
1098
  iconUrl: string;
1095
1099
  eventType: string;
1096
- clickHandler: (event: Event) => void;
1100
+ clickHandler: (event?: Event) => void;
1097
1101
  dataTestId?: string;
1098
1102
  }
1099
1103
 
@@ -1864,6 +1868,26 @@ type BlazeMomentsPlayerButtonStyle = {
1864
1868
  tablet: BlazeMomentsPlayerButtonDeviceStyle;
1865
1869
  desktop: BlazeMomentsPlayerButtonDeviceStyle;
1866
1870
  };
1871
+ export type BlazeMomentsPlayerCtaStyle = {
1872
+ cornerRadius: string;
1873
+ textSize: string;
1874
+ font: string;
1875
+ fontWeight: FontWeightType;
1876
+ width: string;
1877
+ height: string;
1878
+ layoutPositioning: BlazeMomentsPlayerCTAPositioning;
1879
+ horizontalAlignment: BlazeMomentsPlayerCTAHorizontalAlignment;
1880
+ icon: BlazeMomentsPlayerCtaIconStyle;
1881
+ };
1882
+ type BlazeMomentsPlayerCTAPositioning = 'CTA_BELLOW_BOTTOM_BUTTONS_BOX' | 'CTA_NEXT_TO_BOTTOM_BUTTONS_BOX';
1883
+ type BlazeMomentsPlayerCTAHorizontalAlignment = 'START' | 'CENTER' | 'END' | 'FULL_AVAILABLE_WIDTH';
1884
+ type BlazeMomentsPlayerCtaIconStyle = {
1885
+ position: 'START';
1886
+ color: string;
1887
+ url: string;
1888
+ size: string;
1889
+ isVisible: boolean;
1890
+ };
1867
1891
  type BlazeSeekBarStyle = {
1868
1892
  isVisible: boolean;
1869
1893
  isThumbVisible: boolean;
@@ -1889,7 +1913,9 @@ export interface MomentPlayerStyle {
1889
1913
  icons: BlazeMomentIconsStyle;
1890
1914
  iconsButtonOrder: IconButtonType[];
1891
1915
  iconsPosition: IconsPositionType;
1916
+ contentBoxHorizontalSpacing: string;
1892
1917
  seekBar: BlazeMomentsPlayerSeekBarStyle;
1918
+ ctaButton: BlazeMomentsPlayerCtaStyle;
1893
1919
  }
1894
1920
  export interface CtaButtonStyle {
1895
1921
  borderRadius: string;
@@ -2326,6 +2352,9 @@ export type ElementType = WidgetElementType | ComponentsElementType;
2326
2352
 
2327
2353
  export type EnvironmentType = 'prod' | 'uat';
2328
2354
 
2355
+ export type StoryGestureType = 'Swipe Up' | 'CTA Click';
2356
+ export type MomentGestureType = 'CTA Click';
2357
+
2329
2358
  export * from './attribute-parser';
2330
2359
  export * from './button.type';
2331
2360
  export * from './client-platform.type';
@@ -2348,6 +2377,7 @@ export * from './widget.type';
2348
2377
  export * from './chip-status.type';
2349
2378
  export * from './prefetch.type';
2350
2379
  export * from './trigger.type';
2380
+ export * from './gesture.type';
2351
2381
 
2352
2382
  export type EntitiesType = 'playerId' | 'teamId' | 'gameId' | 'roundId';
2353
2383
  export type PerItemStyleOverrides = Partial<Record<EntitiesType, Array<{
@@ -3055,6 +3085,7 @@ export declare class BlazeWidgetVideo extends BlazeWidgetVideoBase {
3055
3085
  connectedCallback(): void;
3056
3086
  disconnectedCallback(): void;
3057
3087
  setData(data: IPage): void;
3088
+ getVideoDuration(): Promise<number>;
3058
3089
  loadPoster(): void;
3059
3090
  display(): void;
3060
3091
  hide(): void;
@@ -3070,6 +3101,7 @@ export declare class BlazeWidgetVideo extends BlazeWidgetVideoBase {
3070
3101
  set currentTime(value: number);
3071
3102
  get currentTime(): number;
3072
3103
  get duration(): number;
3104
+ videoDurationMetrics(): Promise<void>;
3073
3105
  requestFrameCallback(callback: () => void): void;
3074
3106
  mainElement(): CanvasImageSource;
3075
3107
  get paused(): boolean;
@@ -3106,10 +3138,13 @@ export declare class BlazeWidgetAd extends BlazeWidgetVideoBase {
3106
3138
  private onFail?;
3107
3139
  private isAdFailed;
3108
3140
  private isPlaying;
3141
+ private boundMessageEvent;
3142
+ private ctaModal;
3109
3143
  constructor(contentParent: BlazeWidgetStory | BlazeWidgetMoment);
3110
3144
  connectedCallback(): void;
3111
3145
  disconnectedCallback(): void;
3112
3146
  render(): void;
3147
+ handleMessageEvent(event: MessageEvent): void;
3113
3148
  get currentTime(): number;
3114
3149
  set currentTime(value: number);
3115
3150
  get duration(): number;
@@ -3131,6 +3166,7 @@ export declare class BlazeWidgetAd extends BlazeWidgetVideoBase {
3131
3166
  private initStyles;
3132
3167
  isAdContainerConnectedToDOM(): Promise<boolean>;
3133
3168
  private destroyAd;
3169
+ handleCtaSwipeUp(): void;
3134
3170
  }
3135
3171
 
3136
3172
  export declare class BlazeWidgetBannerAd extends HTMLElement {
@@ -3245,6 +3281,7 @@ export declare class BlazeWidgetMomentSeekBar extends HTMLElement {
3245
3281
  static get observedAttributes(): string[];
3246
3282
  attributeChangedCallback(name: string, oldValue: string, _newValue: string): void;
3247
3283
  connectedCallback(): void;
3284
+ private addTransitionStyle;
3248
3285
  onContentPaused(): void;
3249
3286
  onContentResumed(directReset?: boolean): void;
3250
3287
  disconnectedCallback(): void;
@@ -3303,6 +3340,9 @@ export declare class BlazeWidgetMoment extends BlazeWidgetContent {
3303
3340
  topContainer: BlazeDiv;
3304
3341
  bottomContainer: BlazeDiv;
3305
3342
  bottomContentContainer: BlazeDiv;
3343
+ buttonsContainer: BlazeDiv;
3344
+ bottomContainerCtaAndContent: BlazeDiv;
3345
+ bottomContainerCtaContentButtons: BlazeDiv;
3306
3346
  shadowBottomElement: BlazeDiv;
3307
3347
  shadowTopElement: BlazeDiv;
3308
3348
  topButtonsContainer: BlazeDiv;
@@ -3320,6 +3360,7 @@ export declare class BlazeWidgetMoment extends BlazeWidgetContent {
3320
3360
  ctaButtonElement: BlazeCtaButton;
3321
3361
  isInit: boolean;
3322
3362
  isActive: boolean;
3363
+ isMomentPausedByPlayPauseButton: boolean;
3323
3364
  shouldShowImaAdOnStart: boolean;
3324
3365
  imaUrl: string;
3325
3366
  adContext?: IAdContext;
@@ -3341,10 +3382,15 @@ export declare class BlazeWidgetMoment extends BlazeWidgetContent {
3341
3382
  styleTopContainer(): void;
3342
3383
  styleBottomContainer(): void;
3343
3384
  styleHeadBodyContainer(): void;
3344
- styleContent(element: BlazeDiv, textStyle: BlazeMomentsPlayerTextStyle, type: string): void;
3345
- styleLike(): void;
3346
- styleShare(): void;
3347
- styleCta(): void;
3385
+ styleContent(element: BlazeDiv, textStyle: BlazeMomentsPlayerTextStyle, type: 'HEADING_CONTENT' | 'BODY_CONTENT'): void;
3386
+ applyLikeStyle(): void;
3387
+ applyShareStyle(): void;
3388
+ private applyCtaButtonStyles;
3389
+ private setAnchorButtonStyles;
3390
+ private setIconAttributes;
3391
+ private setLayoutPositioning;
3392
+ private setCtaButtonAlignment;
3393
+ setLayoutSpacing(ctaButtonStyle: BlazeMomentsPlayerCtaStyle, horizontalSpacing: string): void;
3348
3394
  initializeElements(): void;
3349
3395
  appendShadowElements(): void;
3350
3396
  createButtonElement(options: ButtonElementOptions, button: BlazeButton): void;
@@ -3354,6 +3400,7 @@ export declare class BlazeWidgetMoment extends BlazeWidgetContent {
3354
3400
  handleMobileSpecificFeatures(): void;
3355
3401
  configureContentBody(): void;
3356
3402
  appendBottomContainer(): void;
3403
+ private updateLayoutPositioning;
3357
3404
  createPlayPauseButton(): void;
3358
3405
  handlePlayPauseButtonClick(): void;
3359
3406
  setModal(modal: BlazeWidgetMomentModal): void;
@@ -3384,13 +3431,13 @@ export declare class BlazeWidgetMoment extends BlazeWidgetContent {
3384
3431
  onCtaClick(event: Event): boolean;
3385
3432
  play(): void;
3386
3433
  handleOnClose(): void;
3387
- handleOnLikeClick(e: Event): void;
3434
+ handleOnLikeClick(): void;
3388
3435
  pause(): void;
3389
3436
  resume(): void;
3390
3437
  resetPosition(): void;
3391
3438
  restartVideo(): void;
3392
3439
  adjustAdView(): void;
3393
- event(action: MomentAction, momentData: Partial<MomentEvent>, label?: string | undefined): void;
3440
+ event(action: MomentAction, momentData: Partial<MomentEvent>, label?: string | undefined): Promise<void>;
3394
3441
  render(): void;
3395
3442
  }
3396
3443
 
@@ -3516,7 +3563,7 @@ export declare class BlazeWidgetStory extends BlazeWidgetContent {
3516
3563
  adjustAdView(): void;
3517
3564
  private setPlayerButtonPosition;
3518
3565
  updatePlayerButtonIcons(): void;
3519
- handleCtaAction(event: Event, gestureType: 'Swipe Up' | 'CTA Click'): boolean;
3566
+ handleCtaAction(event: Event, gestureType: StoryGestureType): boolean;
3520
3567
  playToggle(options?: {
3521
3568
  customIsPlaying?: boolean;
3522
3569
  }): void;
@@ -3539,7 +3586,7 @@ export declare class BlazeWidgetStory extends BlazeWidgetContent {
3539
3586
  load(): void;
3540
3587
  play(): void;
3541
3588
  bannerAdEvent(detail: InternalEventDetails[InternalEvent.BANNER_ANALYTICS]): void;
3542
- event(action: StoryAction, storyData: Partial<StoryEvent>, label?: string | undefined): void;
3589
+ event(action: StoryAction, storyData: Partial<StoryEvent>, label?: string | undefined): Promise<void>;
3543
3590
  updateContainerLayout(): void;
3544
3591
  connectedCallback(): void;
3545
3592
  onShareModalClose(): void;