@tivio/sdk-react 9.5.0 → 9.6.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/README.md CHANGED
@@ -799,6 +799,56 @@ The `sourcePlayMode` property determines how the content is played:
799
799
  - **LIVE** - Live stream mode with no seeking
800
800
  - **HYBRID** - Combines LIVE with seeking
801
801
 
802
+ #### User Authentication Callbacks
803
+
804
+ The `userAuthCallbacks` property allows you to handle user authentication flows when the player requires user login or registration. This is particularly useful for content that requires authentication (e.g., premium content).
805
+
806
+ ```typescript
807
+ interface UserAuthCallbacks {
808
+ onGoToLogin: () => void
809
+ onGoToRegistration: () => void
810
+ }
811
+ ```
812
+
813
+ **Example Implementation:**
814
+
815
+ ```typescript
816
+ // Usage with renderWebPlayer
817
+ const videoController = await renderWebPlayer(
818
+ document.getElementById('video-player'),
819
+ {
820
+ id: 'player-main',
821
+ source: 'videos/PREMIUM_VIDEO_ID',
822
+ userAuthCallbacks: {
823
+ onGoToLogin: () => {
824
+ // Show your login modal
825
+ setShowLoginModal(true)
826
+ },
827
+ onGoToRegistration: () => {
828
+ // Show your registration modal
829
+ setShowRegistrationModal(true)
830
+ },
831
+ },
832
+ }
833
+ )
834
+
835
+ // Handle login in your modal
836
+ const handleLogin = async (email: string, password: string) => {
837
+ try {
838
+ await tivio.signInWithEmailAndPassword(email, password)
839
+ console.log('Login successful')
840
+ } catch (error) {
841
+ console.error('Login failed:', error)
842
+ throw error
843
+ }
844
+ }
845
+ ```
846
+
847
+ **When are these callbacks triggered?**
848
+
849
+ - **`onGoToLogin`**: Called when the player is trying to play content behind a paywall and user clicks on the login button in the overlay
850
+ - **`onGoToRegistration`**: Called when the player is trying to play content behind a paywall and user clicks on the registration button in the overlay
851
+
802
852
  #### Using setSource with VideoController
803
853
 
804
854
  The `setSource` method allows you to dynamically change what's playing:
@@ -870,7 +920,7 @@ The VideoController emits various events that you can listen to:
870
920
  #### Ad events
871
921
 
872
922
  ```typescript
873
- videoController.addEventListener('ad_started', (adMetadata: AdMetadata | null) => {
923
+ videoController.addEventListener('ad-started', (adMetadata: AdMetadata | null) => {
874
924
  if (!adMetadata) {
875
925
  console.log('Ad started playing (no metadata available)')
876
926
  return
@@ -960,7 +1010,7 @@ videoController.addEventListener('ad_started', (adMetadata: AdMetadata | null) =
960
1010
  // Update UI, show ad overlay, etc.
961
1011
  })
962
1012
 
963
- videoController.addEventListener('ad_ended', () => {
1013
+ videoController.addEventListener('ad-ended', () => {
964
1014
  console.log('Ad finished playing')
965
1015
  })
966
1016
  ```
@@ -1040,4 +1090,105 @@ The `WebPlayerProps` interface defines the properties that can be passed to the
1040
1090
 
1041
1091
  ### Visual Properties
1042
1092
 
1043
- - **`showMarkers`
1093
+ - **`showMarkers`** (optional, default: `false`): Whether to show video markers
1094
+ - **`markerColor`** (optional): Color for video markers (CSS color value)
1095
+ - **`showTvStreamType`** (optional): Whether to show TV stream type indicator
1096
+ - **`showCookiesSettings`** (optional): Whether to show cookies settings
1097
+ - **`showOsd`** (optional, default: `true`): Whether to show the On-Screen Display (OSD)
1098
+ - **`showBufferingSpinner`** (optional, default: `true`): Whether to show buffering spinner
1099
+
1100
+ ### Audio Properties
1101
+
1102
+ - **`isMutedByDefault`** (optional): If `true`, the player starts muted but can be unmuted
1103
+
1104
+ ### Keyboard Shortcuts Properties
1105
+
1106
+ - **`enableKeyboardShortcuts`** (optional, default: `true`): Whether to enable keyboard shortcuts
1107
+ - **`customShortcuts`** (optional): Custom keyboard shortcuts configuration:
1108
+ ```typescript
1109
+ {
1110
+ toggleFullscreen: number[], // Array of key codes
1111
+ togglePause: number[],
1112
+ toggleMute: number[],
1113
+ jumpForward: number[],
1114
+ jumpBack: number[],
1115
+ volumeUp: number[],
1116
+ volumeDown: number[]
1117
+ }
1118
+ ```
1119
+
1120
+ ### Ad Block Properties
1121
+
1122
+ - **`checkAdBlock`** (optional, default: `false`): Whether to check for ad blockers and show warnings
1123
+
1124
+ ## Data hooks
1125
+ Gets information about current user.
1126
+
1127
+ ```ts
1128
+ useUser: () => {
1129
+ user: User | null
1130
+ error: string | null
1131
+ isInitialized: boolean
1132
+ }
1133
+ ```
1134
+
1135
+ ### useRowsInScreen hook
1136
+ Gets array of Rows objects of specific screen and subscribes to its changes.
1137
+
1138
+ ```ts
1139
+ /**
1140
+ * Use rows in screen
1141
+ * @param screenId - screen id (from studio.tiv.io)
1142
+ * @param options - subscription options
1143
+ */
1144
+ useRowsInScreen: (screenId: string, options?: PaginationOptions) => {
1145
+ pagination: PaginationInterface<Row> | null
1146
+ error: Error | null
1147
+ }
1148
+ ```
1149
+
1150
+ ### useItemsInRow hook
1151
+ Gets array of row items objects of specific row and subscribes to its changes.
1152
+
1153
+ ```ts
1154
+ /**
1155
+ * Use row items
1156
+ * @param rowId - row ID
1157
+ * @param options - subscription options
1158
+ */
1159
+ useItemsInRow: (rowId: string, options?: SubscribeToItemsInRowOptions) => {
1160
+ pagination: PaginationInterface<ItemInRow> | null
1161
+ error: Error | null
1162
+ }
1163
+ ```
1164
+
1165
+ ### useVideo hook
1166
+
1167
+ Gets Video object and subscribes to its changes.
1168
+
1169
+ ```ts
1170
+ /**
1171
+ * Use video
1172
+ * @param videoId - video id
1173
+ */
1174
+ useVideo: (videoId: string) => {
1175
+ error: string | null;
1176
+ data: Video | null;
1177
+ }
1178
+ ```
1179
+
1180
+ ### useTaggedVideos hook
1181
+ Gets videos with given tag IDs.
1182
+
1183
+ ```ts
1184
+ /**
1185
+ * Use tagged videos
1186
+ * @param tagIds - tag ids
1187
+ * @param options - subscription options
1188
+ * @public
1189
+ */
1190
+ useTaggedVideos: (tagIds: string[], options?: SubscribeToItemsInRowOptions) => {
1191
+ pagination: PaginationInterface<Video> | null
1192
+ error: Error | null
1193
+ }
1194
+ ```
package/README.md.bak CHANGED
@@ -799,6 +799,56 @@ The `sourcePlayMode` property determines how the content is played:
799
799
  - **LIVE** - Live stream mode with no seeking
800
800
  - **HYBRID** - Combines LIVE with seeking
801
801
 
802
+ #### User Authentication Callbacks
803
+
804
+ The `userAuthCallbacks` property allows you to handle user authentication flows when the player requires user login or registration. This is particularly useful for content that requires authentication (e.g., premium content).
805
+
806
+ ```typescript
807
+ interface UserAuthCallbacks {
808
+ onGoToLogin: () => void
809
+ onGoToRegistration: () => void
810
+ }
811
+ ```
812
+
813
+ **Example Implementation:**
814
+
815
+ ```typescript
816
+ // Usage with renderWebPlayer
817
+ const videoController = await renderWebPlayer(
818
+ document.getElementById('video-player'),
819
+ {
820
+ id: 'player-main',
821
+ source: 'videos/PREMIUM_VIDEO_ID',
822
+ userAuthCallbacks: {
823
+ onGoToLogin: () => {
824
+ // Show your login modal
825
+ setShowLoginModal(true)
826
+ },
827
+ onGoToRegistration: () => {
828
+ // Show your registration modal
829
+ setShowRegistrationModal(true)
830
+ },
831
+ },
832
+ }
833
+ )
834
+
835
+ // Handle login in your modal
836
+ const handleLogin = async (email: string, password: string) => {
837
+ try {
838
+ await tivio.signInWithEmailAndPassword(email, password)
839
+ console.log('Login successful')
840
+ } catch (error) {
841
+ console.error('Login failed:', error)
842
+ throw error
843
+ }
844
+ }
845
+ ```
846
+
847
+ **When are these callbacks triggered?**
848
+
849
+ - **`onGoToLogin`**: Called when the player is trying to play content behind a paywall and user clicks on the login button in the overlay
850
+ - **`onGoToRegistration`**: Called when the player is trying to play content behind a paywall and user clicks on the registration button in the overlay
851
+
802
852
  #### Using setSource with VideoController
803
853
 
804
854
  The `setSource` method allows you to dynamically change what's playing:
@@ -870,7 +920,7 @@ The VideoController emits various events that you can listen to:
870
920
  #### Ad events
871
921
 
872
922
  ```typescript
873
- videoController.addEventListener('ad_started', (adMetadata: AdMetadata | null) => {
923
+ videoController.addEventListener('ad-started', (adMetadata: AdMetadata | null) => {
874
924
  if (!adMetadata) {
875
925
  console.log('Ad started playing (no metadata available)')
876
926
  return
@@ -960,7 +1010,7 @@ videoController.addEventListener('ad_started', (adMetadata: AdMetadata | null) =
960
1010
  // Update UI, show ad overlay, etc.
961
1011
  })
962
1012
 
963
- videoController.addEventListener('ad_ended', () => {
1013
+ videoController.addEventListener('ad-ended', () => {
964
1014
  console.log('Ad finished playing')
965
1015
  })
966
1016
  ```
@@ -1040,4 +1090,105 @@ The `WebPlayerProps` interface defines the properties that can be passed to the
1040
1090
 
1041
1091
  ### Visual Properties
1042
1092
 
1043
- - **`showMarkers`
1093
+ - **`showMarkers`** (optional, default: `false`): Whether to show video markers
1094
+ - **`markerColor`** (optional): Color for video markers (CSS color value)
1095
+ - **`showTvStreamType`** (optional): Whether to show TV stream type indicator
1096
+ - **`showCookiesSettings`** (optional): Whether to show cookies settings
1097
+ - **`showOsd`** (optional, default: `true`): Whether to show the On-Screen Display (OSD)
1098
+ - **`showBufferingSpinner`** (optional, default: `true`): Whether to show buffering spinner
1099
+
1100
+ ### Audio Properties
1101
+
1102
+ - **`isMutedByDefault`** (optional): If `true`, the player starts muted but can be unmuted
1103
+
1104
+ ### Keyboard Shortcuts Properties
1105
+
1106
+ - **`enableKeyboardShortcuts`** (optional, default: `true`): Whether to enable keyboard shortcuts
1107
+ - **`customShortcuts`** (optional): Custom keyboard shortcuts configuration:
1108
+ ```typescript
1109
+ {
1110
+ toggleFullscreen: number[], // Array of key codes
1111
+ togglePause: number[],
1112
+ toggleMute: number[],
1113
+ jumpForward: number[],
1114
+ jumpBack: number[],
1115
+ volumeUp: number[],
1116
+ volumeDown: number[]
1117
+ }
1118
+ ```
1119
+
1120
+ ### Ad Block Properties
1121
+
1122
+ - **`checkAdBlock`** (optional, default: `false`): Whether to check for ad blockers and show warnings
1123
+
1124
+ ## Data hooks
1125
+ Gets information about current user.
1126
+
1127
+ ```ts
1128
+ useUser: () => {
1129
+ user: User | null
1130
+ error: string | null
1131
+ isInitialized: boolean
1132
+ }
1133
+ ```
1134
+
1135
+ ### useRowsInScreen hook
1136
+ Gets array of Rows objects of specific screen and subscribes to its changes.
1137
+
1138
+ ```ts
1139
+ /**
1140
+ * Use rows in screen
1141
+ * @param screenId - screen id (from studio.tiv.io)
1142
+ * @param options - subscription options
1143
+ */
1144
+ useRowsInScreen: (screenId: string, options?: PaginationOptions) => {
1145
+ pagination: PaginationInterface<Row> | null
1146
+ error: Error | null
1147
+ }
1148
+ ```
1149
+
1150
+ ### useItemsInRow hook
1151
+ Gets array of row items objects of specific row and subscribes to its changes.
1152
+
1153
+ ```ts
1154
+ /**
1155
+ * Use row items
1156
+ * @param rowId - row ID
1157
+ * @param options - subscription options
1158
+ */
1159
+ useItemsInRow: (rowId: string, options?: SubscribeToItemsInRowOptions) => {
1160
+ pagination: PaginationInterface<ItemInRow> | null
1161
+ error: Error | null
1162
+ }
1163
+ ```
1164
+
1165
+ ### useVideo hook
1166
+
1167
+ Gets Video object and subscribes to its changes.
1168
+
1169
+ ```ts
1170
+ /**
1171
+ * Use video
1172
+ * @param videoId - video id
1173
+ */
1174
+ useVideo: (videoId: string) => {
1175
+ error: string | null;
1176
+ data: Video | null;
1177
+ }
1178
+ ```
1179
+
1180
+ ### useTaggedVideos hook
1181
+ Gets videos with given tag IDs.
1182
+
1183
+ ```ts
1184
+ /**
1185
+ * Use tagged videos
1186
+ * @param tagIds - tag ids
1187
+ * @param options - subscription options
1188
+ * @public
1189
+ */
1190
+ useTaggedVideos: (tagIds: string[], options?: SubscribeToItemsInRowOptions) => {
1191
+ pagination: PaginationInterface<Video> | null
1192
+ error: Error | null
1193
+ }
1194
+ ```
package/dist/index.d.ts CHANGED
@@ -1603,6 +1603,7 @@ export declare interface ForbiddenOnCallError extends GenericOnCallError {
1603
1603
  }
1604
1604
 
1605
1605
  export declare enum ForbiddenReason {
1606
+ AD_BLOCKING = "AD_BLOCKING",
1606
1607
  MONETIZATION = "MONETIZATION",
1607
1608
  GEO_BLOCKING = "GEO_BLOCKING",
1608
1609
  EMAIL_ALREADY_EXISTS = "EMAIL_ALREADY_EXISTS",
@@ -3709,11 +3710,11 @@ export declare enum PlayerWrapperEvents {
3709
3710
  /**
3710
3711
  * Triggered when an ad starts playing
3711
3712
  */
3712
- 'ad_started' = "ad_started",
3713
+ 'ad-started' = "ad-started",
3713
3714
  /**
3714
3715
  * Triggered when an ad finishes playing
3715
3716
  */
3716
- 'ad_ended' = "ad_ended"
3717
+ 'ad-ended' = "ad-ended"
3717
3718
  }
3718
3719
 
3719
3720
  /**
@@ -5097,6 +5098,14 @@ export declare type SdkReactConfig = Omit<TivioConfig, 'language'> & {
5097
5098
  language?: LangCode;
5098
5099
  };
5099
5100
 
5101
+ /**
5102
+ * @public
5103
+ */
5104
+ export declare interface SDKUserAuthCallbacks {
5105
+ onGoToLogin?: () => void;
5106
+ onGoToRegistration?: () => void;
5107
+ }
5108
+
5100
5109
  /**
5101
5110
  * @public
5102
5111
  * @deprecated sections are no longer used.
@@ -5402,19 +5411,19 @@ export declare interface SimplifiedVideoController {
5402
5411
  }) => void): void;
5403
5412
  /**
5404
5413
  * Add an event listener for ad started events
5405
- * @param event - Must be 'ad_started'
5414
+ * @param event - Must be 'ad-started'
5406
5415
  * @param callback - Function called when an ad starts playing
5407
5416
  */
5408
- addEventListener(event: 'ad_started', callback: (adMetadata: AdMetadata & {
5417
+ addEventListener(event: 'ad-started', callback: (adMetadata: AdMetadata & {
5409
5418
  customAdMetadata?: Record<string, unknown> | null;
5410
5419
  ctaElement: HTMLElement | null;
5411
5420
  }) => void): void;
5412
5421
  /**
5413
5422
  * Add an event listener for ad ended events
5414
- * @param event - Must be 'ad_ended'
5423
+ * @param event - Must be 'ad-ended'
5415
5424
  * @param callback - Function called when an ad finishes playing
5416
5425
  */
5417
- addEventListener(event: 'ad_ended', callback: () => void): void;
5426
+ addEventListener(event: 'ad-ended', callback: () => void): void;
5418
5427
  /**
5419
5428
  * Remove an event listener
5420
5429
  * @param event - The event name to stop listening for
@@ -5975,6 +5984,10 @@ export declare interface TivioComponents {
5975
5984
  ContentSortPicker: React_2.ComponentType<ContentSortPickerProps>;
5976
5985
  WebTivioProVideoScreen: React_2.ComponentType<WebTivioProVideoScreenProps>;
5977
5986
  RemoteController: React_2.ComponentType<RemoteControllerProps>;
5987
+ MonetizationsSelectOverlay: React_2.ComponentType;
5988
+ MonetizationsSelectOverlayContextProvider: React_2.ComponentType<{
5989
+ children: React_2.ReactNode;
5990
+ }>;
5978
5991
  }
5979
5992
 
5980
5993
  /**
@@ -6245,7 +6258,9 @@ export declare type TivioInternalProviders = {
6245
6258
  UserContextProvider: React_2.ComponentType<{
6246
6259
  children?: React_2.ReactNode;
6247
6260
  }>;
6248
- MonetizationsSelectOverlayContextProvider: React_2.ComponentType;
6261
+ MonetizationsSelectOverlayContextProvider: React_2.ComponentType<{
6262
+ children: React_2.ReactNode;
6263
+ }>;
6249
6264
  QerkoOverlayContextProvider: React_2.ComponentType;
6250
6265
  /**
6251
6266
  * @deprecated do not use, this provider will be removed in the future
@@ -6480,7 +6495,7 @@ export declare interface TvAppProps {
6480
6495
  /**
6481
6496
  * @public
6482
6497
  */
6483
- export declare interface TvChannel extends RowItem {
6498
+ export declare interface TvChannel extends RowItem, MonetizableItem {
6484
6499
  id: string;
6485
6500
  itemType: ROW_ITEM_TYPES.TV_CHANNEL;
6486
6501
  name: string;
@@ -6491,17 +6506,11 @@ export declare interface TvChannel extends RowItem {
6491
6506
  logoPendingOverlayWidth?: string;
6492
6507
  hls: string;
6493
6508
  dash: string;
6494
- /**
6495
- * Returns all transactions and subscriptions applied to this tv channel.
6496
- * Transactions before subscriptions, sorted by price ascending.
6497
- */
6498
- getPurchasableMonetizations(options?: GetPurchasableMonetizationsOptions): PurchasableMonetization[];
6499
6509
  getSourceUrl(options?: {
6500
6510
  language?: LangCode;
6501
6511
  }): Promise<GetSourceUrlResponse & {
6502
6512
  language?: LangCode;
6503
6513
  }>;
6504
- purchasableMonetization: any | null;
6505
6514
  price: number;
6506
6515
  cover: string;
6507
6516
  isPlayable: boolean;
@@ -7407,7 +7416,7 @@ export declare interface VideoController {
7407
7416
  muted: boolean;
7408
7417
  volume: number;
7409
7418
  }) => void): void;
7410
- addEventListener(event: 'ad_started', callback: (value: AdMetadata & {
7419
+ addEventListener(event: 'ad-started', callback: (value: AdMetadata & {
7411
7420
  adCtaElement: HTMLElement | null;
7412
7421
  }) => void): void;
7413
7422
  /**
@@ -7911,6 +7920,7 @@ export declare interface Watermark {
7911
7920
 
7912
7921
  export declare interface WebConfig {
7913
7922
  customer: CustomerId;
7923
+ customerName?: string;
7914
7924
  title?: string;
7915
7925
  description?: string;
7916
7926
  logo: string;
@@ -7926,16 +7936,35 @@ export declare interface WebConfig {
7926
7936
  * Text on buy voucher button, if not provided the default text will be used.
7927
7937
  */
7928
7938
  buyVoucherButtonText?: string;
7939
+ /**
7940
+ * If true, the voucher button will be shown in the header.
7941
+ */
7942
+ showVoucherButton?: boolean;
7929
7943
  allowSearch?: boolean;
7930
7944
  logoHeight?: string;
7931
7945
  mobileLogoHeight?: string;
7932
7946
  buySubscriptionButtonText?: string;
7947
+ isHidden?: boolean;
7948
+ /**
7949
+ * Additional menu items to be shown in the rounded menu in the header (external or internal)
7950
+ */
7951
+ additionalMenuItems?: {
7952
+ name: string;
7953
+ href: string;
7954
+ newTab?: boolean;
7955
+ }[];
7933
7956
  };
7934
7957
  footer?: {
7958
+ isHidden?: boolean;
7935
7959
  /**
7936
7960
  * If logo is different from logo in header
7937
7961
  */
7938
7962
  logo?: string;
7963
+ /**
7964
+ * @fixme https://app.clickup.com/t/90151157205/TIV-1515
7965
+ * If multiple logos are provided, the multiple logos are prioritized over the single logo.
7966
+ */
7967
+ multipleLogos?: string[];
7939
7968
  showLogo?: boolean;
7940
7969
  /**
7941
7970
  * right panel - various type of contacts to owners of website
@@ -7978,6 +8007,19 @@ export declare interface WebConfig {
7978
8007
  email?: string;
7979
8008
  };
7980
8009
  cookieSettingsLabel?: string;
8010
+ disclaimer?: string;
8011
+ showDivider?: boolean;
8012
+ /**
8013
+ * Additional links to be shown in the footer
8014
+ */
8015
+ additionalLinks?: {
8016
+ name: string;
8017
+ href: string;
8018
+ }[];
8019
+ /**
8020
+ * Hide footer on these paths
8021
+ */
8022
+ hideFooter?: string[];
7981
8023
  partners?: {
7982
8024
  name: string;
7983
8025
  logo: string;
@@ -7993,6 +8035,14 @@ export declare interface WebConfig {
7993
8035
  * so app requires authorization to see them.
7994
8036
  */
7995
8037
  securedContent?: boolean;
8038
+ /**
8039
+ * If true, then auth is required for all pages.
8040
+ */
8041
+ isAuthRequired?: boolean;
8042
+ /**
8043
+ * If true, then buy subscription button is hidden.
8044
+ */
8045
+ hideBuySubscriptionButton?: boolean;
7996
8046
  /**
7997
8047
  * CSS styles for application background.
7998
8048
  */
@@ -8011,6 +8061,10 @@ export declare interface WebConfig {
8011
8061
  * Default is TRUE (see {@link AppLoadingOverlay}
8012
8062
  */
8013
8063
  showProgressBar?: boolean;
8064
+ /**
8065
+ * URL to background image shown on loading screen.
8066
+ */
8067
+ backgroundUrl?: string;
8014
8068
  };
8015
8069
  /**
8016
8070
  * Slug of all pages where user will be forced to fill login form if he's not logged in.
@@ -8038,6 +8092,7 @@ export declare interface WebConfig {
8038
8092
  */
8039
8093
  showChooseSubscription?: boolean;
8040
8094
  registration?: {
8095
+ logoMarginTop?: string;
8041
8096
  /**
8042
8097
  * Customization of auth form
8043
8098
  */
@@ -8057,6 +8112,7 @@ export declare interface WebConfig {
8057
8112
  showAcceptanceOfTermsAndConditions?: boolean;
8058
8113
  };
8059
8114
  registrationConsent?: string;
8115
+ socialRegistrationConsent?: string;
8060
8116
  };
8061
8117
  payment?: {
8062
8118
  paymentConsent?: string;
@@ -8067,9 +8123,11 @@ export declare interface WebConfig {
8067
8123
  */
8068
8124
  supportVouchers?: boolean;
8069
8125
  /**
8070
- * Config for Google Tag Manager
8126
+ * Config for Google Tag Manager with optional shouldWaitForDidomi flag
8071
8127
  */
8072
- googleTagManagerConfig?: TagManagerArgs;
8128
+ googleTagManagerConfig?: TagManagerArgs & {
8129
+ shouldWaitForDidomi?: boolean;
8130
+ };
8073
8131
  customScripts?: CustomScript[];
8074
8132
  /**
8075
8133
  * Favicons config
@@ -8088,6 +8146,8 @@ export declare interface WebConfig {
8088
8146
  };
8089
8147
  monetizationSelectOverlay?: {
8090
8148
  title?: string;
8149
+ benefitLeftIcon?: string;
8150
+ showFullMonetizationOnMobile?: boolean;
8091
8151
  };
8092
8152
  /**
8093
8153
  * Google Analytics ID. If provided, Google Analytics will be enabled.
@@ -8099,6 +8159,7 @@ export declare interface WebConfig {
8099
8159
  centeredMenu?: boolean;
8100
8160
  /**
8101
8161
  * All values are considered as false if not provided.
8162
+ * @deprecated - use settings.allowedSignInProviders inside OrganizationDocument
8102
8163
  */
8103
8164
  socialLogins?: {
8104
8165
  showAppleLogin?: boolean;
@@ -8113,11 +8174,24 @@ export declare interface WebConfig {
8113
8174
  * If true, robots.txt will prevent crawling of the website.
8114
8175
  */
8115
8176
  norobots?: boolean;
8116
- customTranslations?: {
8117
- [key: string]: {
8118
- [key: string]: string;
8119
- };
8177
+ voucher?: {
8178
+ voucherConsent: string;
8120
8179
  };
8180
+ customTranslations?: Record<string, Record<string, string>>;
8181
+ onPurchase?: (monetization: Purchase) => void;
8182
+ facebookPixelConfig?: {
8183
+ pixelId: string;
8184
+ shouldWaitForDidomi?: boolean;
8185
+ };
8186
+ /**
8187
+ * If true, the app will be locked in the "remote controller" mode.
8188
+ * This means that the app will not be able to navigate to other pages and will only show the remote controller.
8189
+ */
8190
+ isRemoteControllerApp?: boolean;
8191
+ /**
8192
+ * Determines if application should check allowed URL handles when switching applications.
8193
+ */
8194
+ disableUrlHandleCheck?: boolean;
8121
8195
  /**
8122
8196
  * Map for all handlers
8123
8197
  */
@@ -8227,6 +8301,7 @@ export declare interface WebPlayerProps {
8227
8301
  hideOverlay?: boolean;
8228
8302
  sourcePlayMode?: SourcePlayMode;
8229
8303
  adsConfig?: StaticAdsBreak[];
8304
+ userAuthCallbacks?: SDKUserAuthCallbacks;
8230
8305
  }
8231
8306
 
8232
8307
  /**