@tivio/sdk-react 9.8.0 → 10.0.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/CHANGELOG.md +5 -45
- package/README.md +3 -837
- package/README.md.bak +3 -837
- package/dist/index.d.ts +1325 -561
- package/dist/index.js +1 -1
- package/dist/sdk-react.d.ts +1396 -532
- package/package.json +11 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
import { AD_SERVICE_PROXY_NAME } from '@tivio/common';
|
|
2
1
|
import type { ComponentType } from 'react';
|
|
3
|
-
import type dayjs from 'dayjs';
|
|
4
2
|
import { DocumentReference } from '@firebase/firestore-types';
|
|
5
3
|
import type duration from 'dayjs/plugin/duration';
|
|
6
4
|
import type { default as firebase_2 } from '@firebase/app-types';
|
|
7
5
|
import type { default as firebase_3 } from 'firebase';
|
|
8
6
|
import { FunctionComponentElement } from 'react';
|
|
9
7
|
import type { GeoPoint } from '@firebase/firestore-types';
|
|
10
|
-
import type { google } from '@alugha/ima';
|
|
11
8
|
import { OperatingSystem } from 'detect-browser';
|
|
12
9
|
import type { PaletteType } from '@material-ui/core';
|
|
13
10
|
import { default as React_2 } from 'react';
|
|
14
|
-
import { RecommendationsQuery } from '@algolia/recommend';
|
|
11
|
+
import type { RecommendationsQuery } from '@algolia/recommend';
|
|
15
12
|
import type { TagManagerArgs } from 'react-gtm-module';
|
|
16
13
|
import type { Timestamp } from '@firebase/firestore-types';
|
|
17
14
|
|
|
@@ -36,8 +33,6 @@ declare interface actualPriceDetails {
|
|
|
36
33
|
currency?: primaSupportedCurrency;
|
|
37
34
|
}
|
|
38
35
|
|
|
39
|
-
export { AD_SERVICE_PROXY_NAME }
|
|
40
|
-
|
|
41
36
|
export declare type AdBannerScene = InteractiveWidgetSceneBase<InteractiveWidgetSceneTemplateType.AD_BANNER>;
|
|
42
37
|
|
|
43
38
|
export declare type AddEditCommentResponse = {
|
|
@@ -89,6 +84,14 @@ export declare interface AdExternal {
|
|
|
89
84
|
skip: () => void;
|
|
90
85
|
}
|
|
91
86
|
|
|
87
|
+
/**
|
|
88
|
+
* External information of Ad video.
|
|
89
|
+
* @public
|
|
90
|
+
*/
|
|
91
|
+
export declare interface AdExternals {
|
|
92
|
+
creativeId: string;
|
|
93
|
+
}
|
|
94
|
+
|
|
92
95
|
/**
|
|
93
96
|
* @public
|
|
94
97
|
*/
|
|
@@ -104,8 +107,6 @@ export declare type AdMetadata = {
|
|
|
104
107
|
isSkippable: boolean;
|
|
105
108
|
order: number | null;
|
|
106
109
|
totalCount: number | null;
|
|
107
|
-
adPlacementStrategy: AdPlacementStrategy;
|
|
108
|
-
customAdMetadata?: Record<string, unknown>;
|
|
109
110
|
skip: () => void;
|
|
110
111
|
} | null;
|
|
111
112
|
|
|
@@ -119,10 +120,7 @@ export declare interface AdPackInfo {
|
|
|
119
120
|
total: number;
|
|
120
121
|
}
|
|
121
122
|
|
|
122
|
-
export declare type AdPlacementStrategy = 'preroll' | 'midroll' | 'postroll' | 'replacement';
|
|
123
|
-
|
|
124
123
|
export declare interface AdSegment {
|
|
125
|
-
adPlacementStrategy: AdPlacementStrategy;
|
|
126
124
|
id: string;
|
|
127
125
|
/**
|
|
128
126
|
* @deprecated alias to secondsToEnd * 1000
|
|
@@ -187,7 +185,6 @@ export declare interface AdSourceActions {
|
|
|
187
185
|
*/
|
|
188
186
|
export declare interface AdSourceInterface extends CommonSourceInterface<SourceType.ADVERTISEMENT> {
|
|
189
187
|
adType: AdType;
|
|
190
|
-
adPlacementStrategy: AdPlacementStrategy;
|
|
191
188
|
durationMs: number;
|
|
192
189
|
skipDelayMs: number | null;
|
|
193
190
|
/**
|
|
@@ -227,10 +224,6 @@ export declare interface AdSourceInterface extends CommonSourceInterface<SourceT
|
|
|
227
224
|
skipAll(): void;
|
|
228
225
|
onRemainingTimeChanged(ms: number): void;
|
|
229
226
|
click(): void;
|
|
230
|
-
/**
|
|
231
|
-
* Rich IMA ad metadata including customAdMetadata (only available for IMA ads)
|
|
232
|
-
*/
|
|
233
|
-
imaAdMetadata?: any;
|
|
234
227
|
}
|
|
235
228
|
|
|
236
229
|
/**
|
|
@@ -238,7 +231,6 @@ export declare interface AdSourceInterface extends CommonSourceInterface<SourceT
|
|
|
238
231
|
*/
|
|
239
232
|
export declare interface AdSourceParams extends CommonSourceParams<SourceType.ADVERTISEMENT> {
|
|
240
233
|
id: string;
|
|
241
|
-
adPlacementStrategy: AdPlacementStrategy;
|
|
242
234
|
adType?: AdType;
|
|
243
235
|
actions?: AdSourceActions | null;
|
|
244
236
|
apiFramework?: VastApiFramework | null;
|
|
@@ -329,7 +321,9 @@ export declare enum AnalyticsConversionPage {
|
|
|
329
321
|
Redeem = "redeem",
|
|
330
322
|
Referral = "referral",
|
|
331
323
|
Pair = "pair",
|
|
332
|
-
Search = "search"
|
|
324
|
+
Search = "search",
|
|
325
|
+
QerkoPayment = "qerko-payment",
|
|
326
|
+
SubscriptionCard = "subscription-card"
|
|
333
327
|
}
|
|
334
328
|
|
|
335
329
|
/**
|
|
@@ -347,6 +341,31 @@ export declare enum AnalyticsConversionTargetBase {
|
|
|
347
341
|
Monetization = "monetization"
|
|
348
342
|
}
|
|
349
343
|
|
|
344
|
+
export declare enum AnalyticsElementId {
|
|
345
|
+
BTN_LOGIN = "stargaze-btn-login",
|
|
346
|
+
BTN_REGISTRATION = "stargaze-btn-registration",
|
|
347
|
+
BTN_SUBSCRIBE = "stargaze-btn-subscribe",
|
|
348
|
+
BTN_FOLLOW = "stargaze-btn-follow",
|
|
349
|
+
BTN_CHOOSE_SUBSCRIPTION = "stargaze-btn-choose-subscription",
|
|
350
|
+
BTN_CANCEL_SUBSCRIPTION = "stargaze-btn-cancel-subscription",
|
|
351
|
+
BTN_RENEW_SUBSCRIPTION = "stargaze-btn-renew-subscription",
|
|
352
|
+
BTN_CHANGE_SUBSCRIPTION = "stargaze-btn-change-subscription",
|
|
353
|
+
BTN_GIFT_VOUCHER = "stargaze-btn-gift-voucher",
|
|
354
|
+
BTN_BUY_SUBSCRIPTION = "stargaze-btn-buy-subscription",
|
|
355
|
+
BTN_PAY_BY_APPLE_PAY = "stargaze-btn-pay-by-apple-pay",
|
|
356
|
+
BTN_PAY_BY_GOOGLE_PAY = "stargaze-btn-pay-by-google-pay",
|
|
357
|
+
BTN_PAY_BY_CARD = "stargaze-btn-pay-by-card",
|
|
358
|
+
BTN_PAY_WITH_PAYPAL = "stargaze-btn-pay-with-paypal",
|
|
359
|
+
BTN_PAY_BY_QERKO = "stargaze-btn-pay-by-qerko",
|
|
360
|
+
BTN_ACTIVATE_VOUCHER = "stargaze-btn-activate-voucher",
|
|
361
|
+
BTN_ACTIVATE_VOUCHER_OVERLAY = "stargaze-btn-activate-voucher-overlay",
|
|
362
|
+
BTN_ACTIVATE_VOUCHER_PROFILE = "stargaze-btn-activate-voucher-profile",
|
|
363
|
+
BTN_GO_TO_REDEEM_PAGE = "stargaze-btn-go-to-redeem-page",
|
|
364
|
+
BTN_REDEEM_CODE = "stargaze-btn-redeem-code",
|
|
365
|
+
BTN_CONTINUE_TO_PAYMENT = "stargaze-btn-continue-to-payment",
|
|
366
|
+
BTN_SELECT_MONETIZATION = "stargaze-btn-select-monetization"
|
|
367
|
+
}
|
|
368
|
+
|
|
350
369
|
export declare interface AnalyticsInterface {
|
|
351
370
|
reportAdvertisementPlay: (params: AdvertisementAnalyticParams) => void;
|
|
352
371
|
reportAdvertisementProgress: () => void;
|
|
@@ -543,7 +562,7 @@ export declare interface AssetsField<TAsset extends ScalableAsset = ScalableAsse
|
|
|
543
562
|
/**
|
|
544
563
|
* @public
|
|
545
564
|
*/
|
|
546
|
-
export declare type AssetType = 'circled' | 'landscape' | 'portrait' | 'square';
|
|
565
|
+
export declare type AssetType = 'banner' | 'circled' | 'landscape' | 'portrait' | 'square';
|
|
547
566
|
|
|
548
567
|
declare type Attributes = {
|
|
549
568
|
created: string;
|
|
@@ -630,10 +649,78 @@ export declare interface BannerProps {
|
|
|
630
649
|
*/
|
|
631
650
|
export declare type BannerPropsPartial = Partial<BannerProps>;
|
|
632
651
|
|
|
652
|
+
/**
|
|
653
|
+
* Base row interface with common fields
|
|
654
|
+
* @public
|
|
655
|
+
*/
|
|
656
|
+
export declare interface BaseRow {
|
|
657
|
+
id: string;
|
|
658
|
+
rowId: string;
|
|
659
|
+
name: string;
|
|
660
|
+
description?: string;
|
|
661
|
+
assets: AssetsField;
|
|
662
|
+
type: ScreenRowType;
|
|
663
|
+
isLiveRow: boolean;
|
|
664
|
+
organizationId?: string;
|
|
665
|
+
}
|
|
666
|
+
|
|
667
|
+
/**
|
|
668
|
+
* Base row type with fields common to all row types
|
|
669
|
+
*/
|
|
670
|
+
declare type BaseRowInScreen = {
|
|
671
|
+
/**
|
|
672
|
+
* Firebase document path. If not provided, the row is not defined in db and is dynamically generated (e.g. recommendation row).
|
|
673
|
+
*/
|
|
674
|
+
path?: string;
|
|
675
|
+
/**
|
|
676
|
+
* Tivio row ID.
|
|
677
|
+
*/
|
|
678
|
+
rowId: string;
|
|
679
|
+
/**
|
|
680
|
+
* If all items are from the same organization this will be set.
|
|
681
|
+
*/
|
|
682
|
+
organizationId?: string;
|
|
683
|
+
/**
|
|
684
|
+
* Row name.
|
|
685
|
+
*/
|
|
686
|
+
name: Translation;
|
|
687
|
+
/**
|
|
688
|
+
* Row order in the screen.
|
|
689
|
+
*/
|
|
690
|
+
order?: number;
|
|
691
|
+
/**
|
|
692
|
+
* Standard row or a Banner.
|
|
693
|
+
*/
|
|
694
|
+
rowComponent: RowComponent;
|
|
695
|
+
/**
|
|
696
|
+
* Type of the row (continue to watch, custom, filter, static, ...).
|
|
697
|
+
*/
|
|
698
|
+
type: ScreenRowType;
|
|
699
|
+
/**
|
|
700
|
+
* Assets for the row (images, videos, etc.)
|
|
701
|
+
*/
|
|
702
|
+
assets?: AssetsField;
|
|
703
|
+
};
|
|
704
|
+
|
|
705
|
+
/**
|
|
706
|
+
* Base static row fields shared by all static row types
|
|
707
|
+
*/
|
|
708
|
+
declare type BaseStaticRowInScreen = BaseRowInScreen & {
|
|
709
|
+
type: 'static';
|
|
710
|
+
};
|
|
711
|
+
|
|
633
712
|
declare interface BaseWidgetControlPayload {
|
|
634
713
|
widgetPath: string;
|
|
635
714
|
}
|
|
636
715
|
|
|
716
|
+
export declare interface BenefitItem {
|
|
717
|
+
iconType: 'Verified' | 'Badge' | 'Clock' | 'Trending' | 'Message' | 'Eye' | 'Info' | 'Chart' | 'Users' | 'Zap' | 'Star' | 'Email' | 'Discord';
|
|
718
|
+
name: Translation;
|
|
719
|
+
description?: Translation;
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
export declare type BenefitTileSpecificData = BenefitItem;
|
|
723
|
+
|
|
637
724
|
/**
|
|
638
725
|
* @public
|
|
639
726
|
*/
|
|
@@ -682,6 +769,45 @@ export declare const bundlePromise: Promise<RemoteBundleState>;
|
|
|
682
769
|
*/
|
|
683
770
|
export declare type Callback<T = any> = (arg?: T) => void;
|
|
684
771
|
|
|
772
|
+
/**
|
|
773
|
+
* Camera switch transition progress information.
|
|
774
|
+
* Tracks the state of buffer loading during camera switches in interactive streaming.
|
|
775
|
+
* @public
|
|
776
|
+
*/
|
|
777
|
+
export declare interface CameraSwitchProgress {
|
|
778
|
+
/**
|
|
779
|
+
* Whether a camera switch is currently in progress
|
|
780
|
+
*/
|
|
781
|
+
isActive: boolean;
|
|
782
|
+
/**
|
|
783
|
+
* Time position (in seconds) where the transition content will begin.
|
|
784
|
+
* This is after any currently loading chunks finish.
|
|
785
|
+
*/
|
|
786
|
+
transitionStartTime: number;
|
|
787
|
+
/**
|
|
788
|
+
* Number of segments that need to load before transition is ready
|
|
789
|
+
*/
|
|
790
|
+
segmentsToLoad: number;
|
|
791
|
+
/**
|
|
792
|
+
* Number of segments that have already loaded
|
|
793
|
+
*/
|
|
794
|
+
segmentsLoaded: number;
|
|
795
|
+
/**
|
|
796
|
+
* Progress percentage (0-1) of the transition loading
|
|
797
|
+
*/
|
|
798
|
+
progress: number;
|
|
799
|
+
/**
|
|
800
|
+
* Estimated time remaining until camera switch completes (in seconds)
|
|
801
|
+
* Based on segment duration and remaining segments
|
|
802
|
+
*/
|
|
803
|
+
estimatedTimeRemaining: number;
|
|
804
|
+
/**
|
|
805
|
+
* ID of the secondary source this transition is for.
|
|
806
|
+
* Used to track multiple camera switches in quick succession.
|
|
807
|
+
*/
|
|
808
|
+
secondarySourceId?: string;
|
|
809
|
+
}
|
|
810
|
+
|
|
685
811
|
export declare interface CancellingMonetizationsSummaryItem {
|
|
686
812
|
date: number;
|
|
687
813
|
monetizationId: string;
|
|
@@ -743,7 +869,6 @@ export declare interface ChannelSourceInterface extends PlayerSourceInterface<So
|
|
|
743
869
|
to: Date;
|
|
744
870
|
poster: string | null;
|
|
745
871
|
tvMode: TvMode | 'live' | null;
|
|
746
|
-
clone: (params?: Partial<ChannelSourceParams>) => ChannelSourceInterface;
|
|
747
872
|
}
|
|
748
873
|
|
|
749
874
|
/**
|
|
@@ -757,6 +882,10 @@ export declare interface ChannelSourceParams extends PlayerSourceParams<SourceTy
|
|
|
757
882
|
from: Date;
|
|
758
883
|
to: Date;
|
|
759
884
|
tvMode?: TvMode | 'live' | null;
|
|
885
|
+
/**
|
|
886
|
+
* Current program from EPG. Available for VIRTUAL and SCHEDULED channels.
|
|
887
|
+
*/
|
|
888
|
+
currentProgram?: TvProgram | null;
|
|
760
889
|
}
|
|
761
890
|
|
|
762
891
|
/**
|
|
@@ -826,12 +955,6 @@ export declare interface CommonSourceParams<T extends SourceType = SourceType> {
|
|
|
826
955
|
videoPath?: string;
|
|
827
956
|
}
|
|
828
957
|
|
|
829
|
-
/**
|
|
830
|
-
* @public
|
|
831
|
-
* Re-export of Google IMA CompanionAd type for use throughout the SDK
|
|
832
|
-
*/
|
|
833
|
-
export declare type CompanionAd = google.ima.CompanionAd;
|
|
834
|
-
|
|
835
958
|
/**
|
|
836
959
|
* Just another alias. Reexported for backward compatibility.
|
|
837
960
|
* @public
|
|
@@ -891,6 +1014,13 @@ export declare interface ContentAvailability {
|
|
|
891
1014
|
manual: boolean;
|
|
892
1015
|
}
|
|
893
1016
|
|
|
1017
|
+
export declare type ContentMetadataFieldId = keyof NonNullable<OrganizationSettingsField['contentMetadata']>;
|
|
1018
|
+
|
|
1019
|
+
export declare interface ContentMetadataOptions {
|
|
1020
|
+
enabled: boolean;
|
|
1021
|
+
order: number;
|
|
1022
|
+
}
|
|
1023
|
+
|
|
894
1024
|
/**
|
|
895
1025
|
* @public
|
|
896
1026
|
*/
|
|
@@ -1148,10 +1278,23 @@ export declare interface CreatorsWithVoucherSubscriptions {
|
|
|
1148
1278
|
name: string;
|
|
1149
1279
|
}
|
|
1150
1280
|
|
|
1281
|
+
export declare interface CtaBannerExtendRowData {
|
|
1282
|
+
variant?: 'light' | 'dark';
|
|
1283
|
+
heading?: Translation;
|
|
1284
|
+
subtitle?: {
|
|
1285
|
+
text: Translation;
|
|
1286
|
+
showIcon?: boolean;
|
|
1287
|
+
};
|
|
1288
|
+
button?: {
|
|
1289
|
+
href: string;
|
|
1290
|
+
text: Translation;
|
|
1291
|
+
};
|
|
1292
|
+
}
|
|
1293
|
+
|
|
1151
1294
|
/**
|
|
1152
1295
|
* @public
|
|
1153
1296
|
*/
|
|
1154
|
-
export declare const CURRENCIES:
|
|
1297
|
+
export declare const CURRENCIES: Currency[];
|
|
1155
1298
|
|
|
1156
1299
|
/**
|
|
1157
1300
|
* Three upper-case letters according to ISO-4217.
|
|
@@ -1165,6 +1308,11 @@ export declare type Currency = 'CZK' | 'EUR' | 'USD' | 'PLN';
|
|
|
1165
1308
|
*/
|
|
1166
1309
|
export declare type CurrencyLowerCase = 'czk' | 'eur' | 'usd' | 'pln';
|
|
1167
1310
|
|
|
1311
|
+
/**
|
|
1312
|
+
* @public
|
|
1313
|
+
*/
|
|
1314
|
+
export declare const CurrencyToTitle: Record<Currency, string>;
|
|
1315
|
+
|
|
1168
1316
|
export declare interface CurrentQuestion {
|
|
1169
1317
|
id: string;
|
|
1170
1318
|
question: Translation;
|
|
@@ -1244,14 +1392,27 @@ export declare enum CustomerId {
|
|
|
1244
1392
|
UZ_BUDU = "UZ_BUDU",
|
|
1245
1393
|
PRIMA = "PRIMA",
|
|
1246
1394
|
NORA_FRIDRICHOVA = "NORA_FRIDRICHOVA",
|
|
1247
|
-
LONGEVITY = "LONGEVITY"
|
|
1395
|
+
LONGEVITY = "LONGEVITY",
|
|
1396
|
+
ZASAHTV = "ZASAHTV",
|
|
1397
|
+
ELISKAFLOW = "ELISKAFLOW",
|
|
1398
|
+
PRIJIMACKY = "PRIJIMACKY",
|
|
1399
|
+
PADNI_KOMU_PADNI = "PADNI_KOMU_PADNI",
|
|
1400
|
+
KRYPTOSPACE = "KRYPTOSPACE",
|
|
1401
|
+
ERADIX = "ERADIX",
|
|
1402
|
+
VLADCI_PRAHY = "VLADCI_PRAHY",
|
|
1403
|
+
DOKTOR_EVZEN = "DOKTOR_EVZEN",
|
|
1404
|
+
INVESTUJ_CHYTRE = "INVESTUJ_CHYTRE",
|
|
1405
|
+
RESTART_MUZE = "RESTART_MUZE",
|
|
1406
|
+
THE_JOHNY = "THE_JOHNY",
|
|
1407
|
+
GOOD_MOVE = "GOOD_MOVE",
|
|
1408
|
+
JANA_HANZ = "JANA_HANZ",
|
|
1409
|
+
MYSTICO = "MYSTICO"
|
|
1248
1410
|
}
|
|
1249
1411
|
|
|
1250
1412
|
export declare interface CustomScript {
|
|
1251
1413
|
src: string;
|
|
1252
1414
|
event?: EventName;
|
|
1253
1415
|
isAsync?: boolean;
|
|
1254
|
-
defer?: boolean;
|
|
1255
1416
|
}
|
|
1256
1417
|
|
|
1257
1418
|
/**
|
|
@@ -1269,6 +1430,11 @@ declare type Data = {
|
|
|
1269
1430
|
type: 'tier' | 'member' | 'user';
|
|
1270
1431
|
};
|
|
1271
1432
|
|
|
1433
|
+
/**
|
|
1434
|
+
* @public
|
|
1435
|
+
*/
|
|
1436
|
+
export declare const DEFAULT_CURRENCY: Currency;
|
|
1437
|
+
|
|
1272
1438
|
/**
|
|
1273
1439
|
* @public
|
|
1274
1440
|
*/
|
|
@@ -1311,6 +1477,28 @@ export declare type DeviceInfo = ArrisDeviceInfo | ReactNativeDeviceInfo;
|
|
|
1311
1477
|
*/
|
|
1312
1478
|
export declare type DeviceOs = OperatingSystem | 'Tizen' | 'webOS' | 'Arris' | 'Android TV' | 'tvOS';
|
|
1313
1479
|
|
|
1480
|
+
/**
|
|
1481
|
+
* User consent status for a specific purpose.
|
|
1482
|
+
*/
|
|
1483
|
+
export declare interface DidomiPurposeStatus {
|
|
1484
|
+
enabled: boolean;
|
|
1485
|
+
}
|
|
1486
|
+
|
|
1487
|
+
/**
|
|
1488
|
+
* Didomi SDK API.
|
|
1489
|
+
*/
|
|
1490
|
+
export declare interface DidomiSDK {
|
|
1491
|
+
getCurrentUserStatus(): DidomiUserStatus;
|
|
1492
|
+
}
|
|
1493
|
+
|
|
1494
|
+
/**
|
|
1495
|
+
* User consent status returned by Didomi SDK.
|
|
1496
|
+
*/
|
|
1497
|
+
export declare interface DidomiUserStatus {
|
|
1498
|
+
purposes: Record<string, DidomiPurposeStatus>;
|
|
1499
|
+
consent_string?: string;
|
|
1500
|
+
}
|
|
1501
|
+
|
|
1314
1502
|
/**
|
|
1315
1503
|
* Window object with Didomi SDK properties.
|
|
1316
1504
|
*/
|
|
@@ -1326,9 +1514,10 @@ export declare interface DidomiWindow {
|
|
|
1326
1514
|
* https://developers.didomi.io/cmp/web-sdk/reference/api
|
|
1327
1515
|
*/
|
|
1328
1516
|
didomiOnReady: (() => void)[];
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1517
|
+
/**
|
|
1518
|
+
* The Didomi SDK instance.
|
|
1519
|
+
*/
|
|
1520
|
+
Didomi: DidomiSDK;
|
|
1332
1521
|
}
|
|
1333
1522
|
|
|
1334
1523
|
/**
|
|
@@ -1349,6 +1538,47 @@ export declare interface DividerProps {
|
|
|
1349
1538
|
horizontalSpacing?: number;
|
|
1350
1539
|
}
|
|
1351
1540
|
|
|
1541
|
+
export declare interface DocumentTileData<ItemSpecificData extends DocumentTileItemSpecificData = DocumentTileItemSpecificData> {
|
|
1542
|
+
/**
|
|
1543
|
+
* Tile item ID.
|
|
1544
|
+
*/
|
|
1545
|
+
id: string;
|
|
1546
|
+
/**
|
|
1547
|
+
* Timestamp of the item creation.
|
|
1548
|
+
*/
|
|
1549
|
+
created: number;
|
|
1550
|
+
/**
|
|
1551
|
+
* Type of the tile. VIDEO, TV_CHANNEL, TAG, ...
|
|
1552
|
+
*/
|
|
1553
|
+
itemType: ROW_ITEM_TYPES;
|
|
1554
|
+
/**
|
|
1555
|
+
* Tile item name translation.
|
|
1556
|
+
*/
|
|
1557
|
+
name: Translation;
|
|
1558
|
+
/**
|
|
1559
|
+
* Firestore path to the item.
|
|
1560
|
+
*/
|
|
1561
|
+
path: string;
|
|
1562
|
+
/**
|
|
1563
|
+
* Application info including logo, name and number of videos.
|
|
1564
|
+
*/
|
|
1565
|
+
application?: TileApplicationData;
|
|
1566
|
+
/**
|
|
1567
|
+
* Specific data for an item type (e.g. video, tv channel, tag, ...).
|
|
1568
|
+
*/
|
|
1569
|
+
itemSpecificData: ItemSpecificData;
|
|
1570
|
+
/**
|
|
1571
|
+
* Optional label to display in the top-right corner of the tile (e.g., "Exclusive").
|
|
1572
|
+
*/
|
|
1573
|
+
topLabel?: Translation;
|
|
1574
|
+
/**
|
|
1575
|
+
* CSS color for the topLabel background. Defaults to white.
|
|
1576
|
+
*/
|
|
1577
|
+
topLabelColor?: string;
|
|
1578
|
+
}
|
|
1579
|
+
|
|
1580
|
+
export declare type DocumentTileItemSpecificData = VideoTileSpecificData | TvChannelTileSpecificData | TagTileSpecificData | ArticleTileSpecificData | SeriesTileSpecificData;
|
|
1581
|
+
|
|
1352
1582
|
export declare interface Drm {
|
|
1353
1583
|
encryption: VideoSourceEncryption;
|
|
1354
1584
|
/**
|
|
@@ -1421,6 +1651,91 @@ export declare interface DurationWithUnit {
|
|
|
1421
1651
|
unit: DurationUnit;
|
|
1422
1652
|
}
|
|
1423
1653
|
|
|
1654
|
+
/**
|
|
1655
|
+
* Row components available for dynamic rows (filter, custom, topWatched, etc.)
|
|
1656
|
+
* Matches the rowComponent constraint in DynamicRow type definition
|
|
1657
|
+
* @public
|
|
1658
|
+
*/
|
|
1659
|
+
export declare const DYNAMIC_ROW_COMPONENTS: readonly [RowComponent.ROW, RowComponent.BANNER];
|
|
1660
|
+
|
|
1661
|
+
/**
|
|
1662
|
+
* Dynamic row (filter, custom, continueToWatch, etc.) - has itemComponent and dynamic fields
|
|
1663
|
+
* Uses standard ROW or BANNER components
|
|
1664
|
+
* @public
|
|
1665
|
+
*/
|
|
1666
|
+
export declare interface DynamicRow extends BaseRow {
|
|
1667
|
+
type: Exclude<ScreenRowType, 'static'>;
|
|
1668
|
+
numberOfLines?: number;
|
|
1669
|
+
monetizations?: Array<{
|
|
1670
|
+
monetizationRef: {
|
|
1671
|
+
id: string;
|
|
1672
|
+
path: string;
|
|
1673
|
+
};
|
|
1674
|
+
} | RowMonetizationData>;
|
|
1675
|
+
rowComponent: RowComponent.ROW | RowComponent.BANNER;
|
|
1676
|
+
itemComponent: RowItemComponent | BannerItemComponent;
|
|
1677
|
+
organizationId?: string;
|
|
1678
|
+
bottomComponent?: BottomComponent;
|
|
1679
|
+
showDescriptionAsTitle?: boolean;
|
|
1680
|
+
hideTitle?: boolean;
|
|
1681
|
+
externalUrl?: string;
|
|
1682
|
+
playButtonTitle?: string;
|
|
1683
|
+
tiles: PaginationInterface<ItemInRow>;
|
|
1684
|
+
/**
|
|
1685
|
+
* Side Banner specific configuration
|
|
1686
|
+
*/
|
|
1687
|
+
sideBannerImagePosition?: 'left' | 'right';
|
|
1688
|
+
backgroundColor?: string;
|
|
1689
|
+
}
|
|
1690
|
+
|
|
1691
|
+
/**
|
|
1692
|
+
* Dynamic row type with dynamic-specific fields
|
|
1693
|
+
*/
|
|
1694
|
+
export declare type DynamicRowInScreen = BaseRowInScreen & {
|
|
1695
|
+
type: Exclude<ScreenRowType, 'static'>;
|
|
1696
|
+
/**
|
|
1697
|
+
* Row filter based on which to pick tiles.
|
|
1698
|
+
*/
|
|
1699
|
+
filter?: RowFilterField;
|
|
1700
|
+
/**
|
|
1701
|
+
* Number of lines of the title.
|
|
1702
|
+
*/
|
|
1703
|
+
numberOfLines?: number;
|
|
1704
|
+
/**
|
|
1705
|
+
* Component to use to render the tiles in the row.
|
|
1706
|
+
*/
|
|
1707
|
+
itemComponent: RowItemComponent | BannerItemComponent;
|
|
1708
|
+
/**
|
|
1709
|
+
* Items to display in the row.
|
|
1710
|
+
*/
|
|
1711
|
+
tiles: GetTilesInRowResponse<DynamicScreenRowType>;
|
|
1712
|
+
/**
|
|
1713
|
+
* Setting for decided what to show bellow the tiles
|
|
1714
|
+
*/
|
|
1715
|
+
bottomComponent?: BottomComponent;
|
|
1716
|
+
/**
|
|
1717
|
+
* Setting for decided whether to show description instead of title in the tiles
|
|
1718
|
+
*/
|
|
1719
|
+
showDescriptionAsTitle?: boolean;
|
|
1720
|
+
/**
|
|
1721
|
+
* Setting for decided whether to hide title in the tiles/banners
|
|
1722
|
+
*/
|
|
1723
|
+
hideTitle?: boolean;
|
|
1724
|
+
/**
|
|
1725
|
+
* Link to external URL
|
|
1726
|
+
*/
|
|
1727
|
+
externalUrl?: string;
|
|
1728
|
+
/**
|
|
1729
|
+
* Title of Play button
|
|
1730
|
+
*/
|
|
1731
|
+
playButtonTitle?: Translation;
|
|
1732
|
+
};
|
|
1733
|
+
|
|
1734
|
+
/**
|
|
1735
|
+
* @public
|
|
1736
|
+
*/
|
|
1737
|
+
export declare type DynamicScreenRowType = Exclude<ScreenRowType, 'static'>;
|
|
1738
|
+
|
|
1424
1739
|
/**
|
|
1425
1740
|
* @public
|
|
1426
1741
|
*/
|
|
@@ -1539,7 +1854,6 @@ export declare interface EmitterInterface {
|
|
|
1539
1854
|
isSupported: (even: string) => boolean;
|
|
1540
1855
|
addListener: <T = unknown>(event: string, cb: (value: T) => Empty_2) => void;
|
|
1541
1856
|
removeListener: <T = unknown>(event: string, cb: (value: T) => Empty_2) => void;
|
|
1542
|
-
emitEvent: (event: string, value?: unknown) => void;
|
|
1543
1857
|
}
|
|
1544
1858
|
|
|
1545
1859
|
/**
|
|
@@ -1564,6 +1878,17 @@ export declare type Events = {
|
|
|
1564
1878
|
'on-error': Error;
|
|
1565
1879
|
};
|
|
1566
1880
|
|
|
1881
|
+
export declare interface ExploreItem {
|
|
1882
|
+
title: Translation;
|
|
1883
|
+
description: Translation;
|
|
1884
|
+
button?: {
|
|
1885
|
+
href: string;
|
|
1886
|
+
text: Translation;
|
|
1887
|
+
};
|
|
1888
|
+
}
|
|
1889
|
+
|
|
1890
|
+
export declare type ExploreTileSpecificData = ExploreItem;
|
|
1891
|
+
|
|
1567
1892
|
export declare interface ExtensionMetadata {
|
|
1568
1893
|
purchaseStatus: CloudflareStreamingPurchaseStatus;
|
|
1569
1894
|
activeVideoId?: string;
|
|
@@ -1577,22 +1902,12 @@ export declare type ExternalTvConfig = {
|
|
|
1577
1902
|
splashScreenBackgroundColor?: string;
|
|
1578
1903
|
};
|
|
1579
1904
|
|
|
1580
|
-
export declare interface
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
}
|
|
1584
|
-
|
|
1585
|
-
export declare interface FavoriteVideoWithData {
|
|
1586
|
-
content: Video;
|
|
1587
|
-
type: 'video';
|
|
1905
|
+
export declare interface FaqItem {
|
|
1906
|
+
question: Translation;
|
|
1907
|
+
answer: Translation;
|
|
1588
1908
|
}
|
|
1589
1909
|
|
|
1590
|
-
|
|
1591
|
-
* @public
|
|
1592
|
-
*/
|
|
1593
|
-
export declare type FavoriteWithData = FavoriteVideoWithData | (FavoriteTagWithData & {
|
|
1594
|
-
profileId?: string;
|
|
1595
|
-
});
|
|
1910
|
+
export declare type FaqTileSpecificData = FaqItem;
|
|
1596
1911
|
|
|
1597
1912
|
/**
|
|
1598
1913
|
* @throws if fetch fails
|
|
@@ -1642,7 +1957,6 @@ export declare interface ForbiddenOnCallError extends GenericOnCallError {
|
|
|
1642
1957
|
}
|
|
1643
1958
|
|
|
1644
1959
|
export declare enum ForbiddenReason {
|
|
1645
|
-
AD_BLOCKING = "AD_BLOCKING",
|
|
1646
1960
|
MONETIZATION = "MONETIZATION",
|
|
1647
1961
|
GEO_BLOCKING = "GEO_BLOCKING",
|
|
1648
1962
|
EMAIL_ALREADY_EXISTS = "EMAIL_ALREADY_EXISTS",
|
|
@@ -1653,8 +1967,7 @@ export declare enum ForbiddenReason {
|
|
|
1653
1967
|
NAME_CONTAINS_INVALID_CHAR = "NAME_CONTAINS_INVALID_CHAR",
|
|
1654
1968
|
USER_ACCOUNT_LOCKED = "USER_ACCOUNT_LOCKED",
|
|
1655
1969
|
USER_NOT_FOUND = "USER_NOT_FOUND",
|
|
1656
|
-
UNSUPPORTED_BROWSER = "UNSUPPORTED_BROWSER"
|
|
1657
|
-
ANONYMOUS_USER = "ANONYMOUS_USER"
|
|
1970
|
+
UNSUPPORTED_BROWSER = "UNSUPPORTED_BROWSER"
|
|
1658
1971
|
}
|
|
1659
1972
|
|
|
1660
1973
|
/**
|
|
@@ -1662,7 +1975,7 @@ export declare enum ForbiddenReason {
|
|
|
1662
1975
|
*/
|
|
1663
1976
|
export declare type FrequencyInfo = {
|
|
1664
1977
|
title: Translation;
|
|
1665
|
-
unit:
|
|
1978
|
+
unit: MONETIZATION_FREQUENCY;
|
|
1666
1979
|
value: number;
|
|
1667
1980
|
};
|
|
1668
1981
|
|
|
@@ -1781,6 +2094,9 @@ export declare type GetPurchaseInfoResponse = {
|
|
|
1781
2094
|
};
|
|
1782
2095
|
};
|
|
1783
2096
|
|
|
2097
|
+
/**
|
|
2098
|
+
* Response type for getRowsInScreen
|
|
2099
|
+
*/
|
|
1784
2100
|
export declare type GetRowsInScreenResponse = PaginatedResponse<RowInScreen, 'screenId'>;
|
|
1785
2101
|
|
|
1786
2102
|
export declare interface GetSourceUrlRequest {
|
|
@@ -1837,6 +2153,16 @@ export declare interface GetSourceUrlRequest {
|
|
|
1837
2153
|
* Parameters related to ads.
|
|
1838
2154
|
*/
|
|
1839
2155
|
adParams?: Record<string, string | number | undefined>;
|
|
2156
|
+
/**
|
|
2157
|
+
* Which platform the resulting source should support.
|
|
2158
|
+
* If not present, any source that has non-empty `platforms` will be filtered out from the result.
|
|
2159
|
+
*/
|
|
2160
|
+
platform?: PLATFORM;
|
|
2161
|
+
/**
|
|
2162
|
+
* Device ID for device tracking on purchase documents.
|
|
2163
|
+
* Used to track which devices are accessing paid content.
|
|
2164
|
+
*/
|
|
2165
|
+
deviceId?: string;
|
|
1840
2166
|
}
|
|
1841
2167
|
|
|
1842
2168
|
export declare interface GetSourceUrlResponse {
|
|
@@ -1880,21 +2206,9 @@ export declare interface GetSourceUrlResponse {
|
|
|
1880
2206
|
* Determines session type generated for source. If no provided it will be considered 'ondemand' session type.
|
|
1881
2207
|
*/
|
|
1882
2208
|
sessionType?: VideoSourceField['sessionType'];
|
|
1883
|
-
/**
|
|
1884
|
-
* Language of the source.
|
|
1885
|
-
*/
|
|
1886
|
-
language?: LangCode;
|
|
1887
2209
|
}
|
|
1888
2210
|
|
|
1889
|
-
export declare type GetTilesInRowResponse<U extends NextPageParamType = NextPageParamType> = PaginatedResponse<TileData
|
|
1890
|
-
|
|
1891
|
-
export declare interface GetUserProfileDataOptions {
|
|
1892
|
-
/**
|
|
1893
|
-
* If true, the data will be returned for all user profiles.
|
|
1894
|
-
* If false, the data will be returned only for the active user profile.
|
|
1895
|
-
*/
|
|
1896
|
-
ignoreActiveUserProfile?: boolean;
|
|
1897
|
-
}
|
|
2211
|
+
export declare type GetTilesInRowResponse<T extends ScreenRowType = ScreenRowType, U extends NextPageParamType = NextPageParamType> = PaginatedResponse<TileData<T>, U>;
|
|
1898
2212
|
|
|
1899
2213
|
export declare interface GetUserRssUrlRequest {
|
|
1900
2214
|
organizationId: string;
|
|
@@ -1906,58 +2220,6 @@ export declare interface GetUserRssUrlResponse {
|
|
|
1906
2220
|
expiresAt?: number;
|
|
1907
2221
|
}
|
|
1908
2222
|
|
|
1909
|
-
export declare interface GetVideoAnalyticsErrorItem {
|
|
1910
|
-
count: number;
|
|
1911
|
-
timestamp: number;
|
|
1912
|
-
errorMessage: string;
|
|
1913
|
-
}
|
|
1914
|
-
|
|
1915
|
-
export declare interface GetVideoAnalyticsErrorResult {
|
|
1916
|
-
totalCount: number;
|
|
1917
|
-
errors: Array<GetVideoAnalyticsErrorItem>;
|
|
1918
|
-
}
|
|
1919
|
-
|
|
1920
|
-
export declare interface GetVideoAnalyticsRequest {
|
|
1921
|
-
contentId: string;
|
|
1922
|
-
timestamp?: number;
|
|
1923
|
-
userId?: string;
|
|
1924
|
-
source?: string;
|
|
1925
|
-
limit?: number;
|
|
1926
|
-
errorLimit?: number;
|
|
1927
|
-
errorTimestampFrom?: number;
|
|
1928
|
-
}
|
|
1929
|
-
|
|
1930
|
-
export declare interface GetVideoAnalyticsResponse {
|
|
1931
|
-
state?: GetVideoAnalyticsResult;
|
|
1932
|
-
quality?: GetVideoAnalyticsResult;
|
|
1933
|
-
error?: GetVideoAnalyticsErrorResult;
|
|
1934
|
-
localities?: unknown;
|
|
1935
|
-
}
|
|
1936
|
-
|
|
1937
|
-
export declare type GetVideoAnalyticsResult = {
|
|
1938
|
-
[timestamp: string]: {
|
|
1939
|
-
totalDuration: number;
|
|
1940
|
-
values: Array<{
|
|
1941
|
-
value: string;
|
|
1942
|
-
duration: number;
|
|
1943
|
-
percentage: number;
|
|
1944
|
-
}>;
|
|
1945
|
-
};
|
|
1946
|
-
};
|
|
1947
|
-
|
|
1948
|
-
export declare interface GetVideoAnalyticsViewsRequest {
|
|
1949
|
-
contentId: string;
|
|
1950
|
-
currentViewsIntervalMs: number;
|
|
1951
|
-
timestamp?: number;
|
|
1952
|
-
source?: string;
|
|
1953
|
-
}
|
|
1954
|
-
|
|
1955
|
-
export declare interface GetVideoAnalyticsViewsResponse {
|
|
1956
|
-
previousViews?: number;
|
|
1957
|
-
currentViews?: number;
|
|
1958
|
-
totalViews?: number;
|
|
1959
|
-
}
|
|
1960
|
-
|
|
1961
2223
|
export declare interface GetViewAnalyticsResponse {
|
|
1962
2224
|
viewCountAnalytics: ViewCountItem[];
|
|
1963
2225
|
topWatched: TopWatchItem[];
|
|
@@ -1976,6 +2238,22 @@ export declare enum GRID_TYPES {
|
|
|
1976
2238
|
SERIES = "SERIES"
|
|
1977
2239
|
}
|
|
1978
2240
|
|
|
2241
|
+
/**
|
|
2242
|
+
* @public
|
|
2243
|
+
*/
|
|
2244
|
+
export declare interface HeroBannerProps {
|
|
2245
|
+
title: string;
|
|
2246
|
+
description?: string;
|
|
2247
|
+
cover: string;
|
|
2248
|
+
onPlayClick?: () => void;
|
|
2249
|
+
onWatchlistClick?: () => void;
|
|
2250
|
+
playButtonHref?: string;
|
|
2251
|
+
watchlistButtonHref?: string;
|
|
2252
|
+
playButtonText?: string;
|
|
2253
|
+
watchlistButtonText?: string;
|
|
2254
|
+
isFavorite?: boolean;
|
|
2255
|
+
}
|
|
2256
|
+
|
|
1979
2257
|
/**
|
|
1980
2258
|
* @public
|
|
1981
2259
|
*/
|
|
@@ -1984,6 +2262,61 @@ export declare interface HistoryContextData {
|
|
|
1984
2262
|
backOrRedirectToRoot: (delta?: number) => void;
|
|
1985
2263
|
}
|
|
1986
2264
|
|
|
2265
|
+
export declare interface HomepageBannerButton {
|
|
2266
|
+
href: string;
|
|
2267
|
+
text: Translation;
|
|
2268
|
+
variant: HomepageBannerButtonVariant;
|
|
2269
|
+
leftIcon?: HomepageBannerButtonIcon;
|
|
2270
|
+
/**
|
|
2271
|
+
* Controls when this button should be visible.
|
|
2272
|
+
* Defaults to 'always' if not specified.
|
|
2273
|
+
*/
|
|
2274
|
+
visibility?: HomepageBannerButtonVisibility;
|
|
2275
|
+
}
|
|
2276
|
+
|
|
2277
|
+
export declare type HomepageBannerButtonIcon = 'play';
|
|
2278
|
+
|
|
2279
|
+
export declare type HomepageBannerButtonVariant = 'primary' | 'secondary';
|
|
2280
|
+
|
|
2281
|
+
/**
|
|
2282
|
+
* Visibility condition for banner buttons.
|
|
2283
|
+
* - 'always': Button is always visible (default)
|
|
2284
|
+
* - 'notSignedIn': Button is only visible when user is not signed in
|
|
2285
|
+
* - 'signedIn': Button is only visible when user is signed in
|
|
2286
|
+
*/
|
|
2287
|
+
export declare type HomepageBannerButtonVisibility = 'always' | 'notSignedIn' | 'signedIn';
|
|
2288
|
+
|
|
2289
|
+
export declare interface HomepageBannerExtendRowData {
|
|
2290
|
+
/**
|
|
2291
|
+
* Main title displayed on the banner
|
|
2292
|
+
*/
|
|
2293
|
+
title?: Translation;
|
|
2294
|
+
/**
|
|
2295
|
+
* Subtitle/tagline displayed below title
|
|
2296
|
+
*/
|
|
2297
|
+
subtitle?: {
|
|
2298
|
+
text: Translation;
|
|
2299
|
+
showIcon?: boolean;
|
|
2300
|
+
};
|
|
2301
|
+
/**
|
|
2302
|
+
* Multiple lines of descriptive text for multiline display
|
|
2303
|
+
*/
|
|
2304
|
+
descriptionLines?: Translation[];
|
|
2305
|
+
/**
|
|
2306
|
+
* Array of buttons to display on the banner
|
|
2307
|
+
*/
|
|
2308
|
+
buttons?: HomepageBannerButton[];
|
|
2309
|
+
/**
|
|
2310
|
+
* Single background image asset (legacy, use backgroundAssets for random selection)
|
|
2311
|
+
*/
|
|
2312
|
+
asset?: ScalableAsset;
|
|
2313
|
+
/**
|
|
2314
|
+
* Array of background assets for random selection per page load.
|
|
2315
|
+
* If provided, one will be randomly selected each time the banner loads.
|
|
2316
|
+
*/
|
|
2317
|
+
backgroundAssets?: ScalableAsset[];
|
|
2318
|
+
}
|
|
2319
|
+
|
|
1987
2320
|
export declare type IncludedItem = {
|
|
1988
2321
|
attributes: {
|
|
1989
2322
|
next_charge_date: string;
|
|
@@ -2019,10 +2352,23 @@ export declare interface IndexedTag extends IndexedObject {
|
|
|
2019
2352
|
created: Date;
|
|
2020
2353
|
name: Translation;
|
|
2021
2354
|
description?: string;
|
|
2355
|
+
/**
|
|
2356
|
+
* True if the tag has assets (non-empty assets object).
|
|
2357
|
+
*/
|
|
2358
|
+
hasAssets: boolean;
|
|
2359
|
+
/**
|
|
2360
|
+
* True if the tag has content (has videos or series episodes).
|
|
2361
|
+
*/
|
|
2362
|
+
hasContent: boolean;
|
|
2022
2363
|
/**
|
|
2023
2364
|
* True if the tag is available in Tivio Pro (StarMe)
|
|
2024
2365
|
*/
|
|
2025
2366
|
isTivioPro: boolean;
|
|
2367
|
+
/**
|
|
2368
|
+
* Parental guidance rating (e.g., "O", "07", "U", "7+")
|
|
2369
|
+
* Used for filtering content based on age restrictions for kids profiles
|
|
2370
|
+
*/
|
|
2371
|
+
pgRating?: string;
|
|
2026
2372
|
}
|
|
2027
2373
|
|
|
2028
2374
|
/**
|
|
@@ -2068,6 +2414,11 @@ export declare interface IndexedVideo extends IndexedObject {
|
|
|
2068
2414
|
defaultName: string;
|
|
2069
2415
|
name: string | Translation;
|
|
2070
2416
|
description: string | Translation;
|
|
2417
|
+
descriptionRich?: Translation;
|
|
2418
|
+
/**
|
|
2419
|
+
* EPG program-friendly name
|
|
2420
|
+
*/
|
|
2421
|
+
shortName?: Translation;
|
|
2071
2422
|
hide: boolean;
|
|
2072
2423
|
isDuplicate: boolean;
|
|
2073
2424
|
externals?: VideoExternals;
|
|
@@ -2086,14 +2437,21 @@ export declare interface IndexedVideo extends IndexedObject {
|
|
|
2086
2437
|
* see https://www.algolia.com/doc/guides/managing-results/refine-results/filtering/how-to/filter-by-attributes/#filter-by-null-or-missing-attributes.
|
|
2087
2438
|
*/
|
|
2088
2439
|
monetizationAccessIds: string[] | false;
|
|
2440
|
+
/**
|
|
2441
|
+
* See {@link VideoDocument.pgRating}
|
|
2442
|
+
*/
|
|
2443
|
+
pgRating?: string;
|
|
2444
|
+
/**
|
|
2445
|
+
* See {@link VideoDocument.contentDescriptors}
|
|
2446
|
+
*/
|
|
2447
|
+
contentDescriptors?: string[];
|
|
2089
2448
|
}
|
|
2090
2449
|
|
|
2091
|
-
export declare type InputSourceParams = SourceParams | VodExternalMultiSourceParams;
|
|
2092
|
-
|
|
2093
2450
|
export declare type IntegrationType = 'discord' | 'patreon';
|
|
2094
2451
|
|
|
2095
2452
|
export declare interface InteractiveWidget<T extends InteractiveWidgetScene = InteractiveWidgetScene> {
|
|
2096
2453
|
readonly id: string;
|
|
2454
|
+
readonly name: string;
|
|
2097
2455
|
readonly path: string;
|
|
2098
2456
|
readonly currentQuestion: CurrentQuestion | null;
|
|
2099
2457
|
readonly status: QuizGameStatus;
|
|
@@ -2293,17 +2651,35 @@ export declare type ItemInRow = Tag | Video | TvChannel | Advertisement | Applic
|
|
|
2293
2651
|
* @public
|
|
2294
2652
|
*/
|
|
2295
2653
|
export declare interface JojExternals {
|
|
2654
|
+
/**
|
|
2655
|
+
* e.g. '19876'
|
|
2656
|
+
*/
|
|
2296
2657
|
tvProfiProgramId?: string;
|
|
2658
|
+
/**
|
|
2659
|
+
* e.g. 'S19876'
|
|
2660
|
+
*/
|
|
2297
2661
|
tvProfiContentId?: string;
|
|
2298
2662
|
tvProfiSerialId?: string;
|
|
2663
|
+
/**
|
|
2664
|
+
* e.g. '70368744177695432'
|
|
2665
|
+
*/
|
|
2299
2666
|
contentId?: string;
|
|
2300
2667
|
/**
|
|
2301
2668
|
* Temporary contentId used only for live channel. The video is already encoded and stored in our storage
|
|
2302
2669
|
* but is also stored on nangu platform to be used for live channel.
|
|
2303
2670
|
*/
|
|
2304
2671
|
dvtvExtraContentId?: string;
|
|
2672
|
+
/**
|
|
2673
|
+
* e.g. 'W278510'
|
|
2674
|
+
*/
|
|
2305
2675
|
provysId?: string;
|
|
2676
|
+
/**
|
|
2677
|
+
* real provysId unlike provysId, e.g. '2-231027-0009'
|
|
2678
|
+
*/
|
|
2306
2679
|
tvProfiProvysId?: string;
|
|
2680
|
+
/**
|
|
2681
|
+
* e.g. 'W278510'
|
|
2682
|
+
*/
|
|
2307
2683
|
tvProfiHouseId?: string;
|
|
2308
2684
|
tvProfiTitleOriginal?: string;
|
|
2309
2685
|
tvProfiTitleSk?: string;
|
|
@@ -2329,7 +2705,20 @@ export declare enum LangCode {
|
|
|
2329
2705
|
HU = "hu"
|
|
2330
2706
|
}
|
|
2331
2707
|
|
|
2332
|
-
export declare const
|
|
2708
|
+
export declare const LangCodeToCountryCodeMap: Partial<Record<LangCode, string>>;
|
|
2709
|
+
|
|
2710
|
+
export declare const LangCodeToCurrencyMap: Partial<Record<LangCode, Currency>>;
|
|
2711
|
+
|
|
2712
|
+
export declare const LangCodeToTitle: Record<LangCode, string>;
|
|
2713
|
+
|
|
2714
|
+
/**
|
|
2715
|
+
* Generic type for items that can be restricted to specific languages.
|
|
2716
|
+
* Use with filterByLanguageRestricted utility from @tivio/common.
|
|
2717
|
+
*/
|
|
2718
|
+
export declare interface LanguageRestricted {
|
|
2719
|
+
/** By default is available in every language */
|
|
2720
|
+
availableIn?: LangCode[];
|
|
2721
|
+
}
|
|
2333
2722
|
|
|
2334
2723
|
/**
|
|
2335
2724
|
* All supported languages codes as in ISO 639-1
|
|
@@ -2524,11 +2913,35 @@ export declare enum LoginRedirect {
|
|
|
2524
2913
|
REMOTE_CONTROLLER = "remote-controller"
|
|
2525
2914
|
}
|
|
2526
2915
|
|
|
2916
|
+
declare interface ManageMemberDeleteRequest extends ManageMemberRequestBase {
|
|
2917
|
+
action: 'deleteMember';
|
|
2918
|
+
}
|
|
2919
|
+
|
|
2920
|
+
export declare type ManageMemberRequest = ManageMemberUpdateRoleRequest | ManageMemberDeleteRequest;
|
|
2921
|
+
|
|
2527
2922
|
/**
|
|
2528
|
-
*
|
|
2923
|
+
* Request body for manageMember cloud function.
|
|
2924
|
+
* Handles member management operations (role update, deletion) within an organization.
|
|
2925
|
+
*/
|
|
2926
|
+
declare interface ManageMemberRequestBase {
|
|
2927
|
+
organizationId: string;
|
|
2928
|
+
targetMemberUid: string;
|
|
2929
|
+
}
|
|
2930
|
+
|
|
2931
|
+
/**
|
|
2932
|
+
* Response body for manageMember cloud function.
|
|
2529
2933
|
*/
|
|
2530
|
-
export declare interface
|
|
2531
|
-
|
|
2934
|
+
export declare interface ManageMemberResponse {
|
|
2935
|
+
success: boolean;
|
|
2936
|
+
}
|
|
2937
|
+
|
|
2938
|
+
declare interface ManageMemberUpdateRoleRequest extends ManageMemberRequestBase {
|
|
2939
|
+
action: 'updateRole';
|
|
2940
|
+
/**
|
|
2941
|
+
* New role for the target member.
|
|
2942
|
+
* Value corresponds to OrganizationMemberRoles enum from @tivio/firebase.
|
|
2943
|
+
*/
|
|
2944
|
+
role: number;
|
|
2532
2945
|
}
|
|
2533
2946
|
|
|
2534
2947
|
/**
|
|
@@ -2592,11 +3005,37 @@ export declare enum MarkerType {
|
|
|
2592
3005
|
NONE = "none"
|
|
2593
3006
|
}
|
|
2594
3007
|
|
|
3008
|
+
/**
|
|
3009
|
+
* Tile data for MEDIA_ACCORDEON rows.
|
|
3010
|
+
* Contains id, name, and path for video references.
|
|
3011
|
+
* @public
|
|
3012
|
+
*/
|
|
3013
|
+
export declare interface MediaAccordeonTileSpecificData {
|
|
3014
|
+
/**
|
|
3015
|
+
* Custom item ID for unique identification.
|
|
3016
|
+
*/
|
|
3017
|
+
id: string;
|
|
3018
|
+
/**
|
|
3019
|
+
* Custom item name for display purposes.
|
|
3020
|
+
*/
|
|
3021
|
+
name: Translation;
|
|
3022
|
+
/**
|
|
3023
|
+
* Firestore path to the video.
|
|
3024
|
+
*/
|
|
3025
|
+
path: string;
|
|
3026
|
+
}
|
|
3027
|
+
|
|
2595
3028
|
declare type Membership = {
|
|
2596
3029
|
id: string;
|
|
2597
3030
|
type: string;
|
|
2598
3031
|
};
|
|
2599
3032
|
|
|
3033
|
+
export declare type MergeUserAccountsPayload = {
|
|
3034
|
+
email: string;
|
|
3035
|
+
name?: string;
|
|
3036
|
+
password: string;
|
|
3037
|
+
};
|
|
3038
|
+
|
|
2600
3039
|
/**
|
|
2601
3040
|
* @public
|
|
2602
3041
|
*/
|
|
@@ -2632,6 +3071,17 @@ export declare interface MessageUser {
|
|
|
2632
3071
|
email: string;
|
|
2633
3072
|
}
|
|
2634
3073
|
|
|
3074
|
+
export declare enum MetadataFieldId {
|
|
3075
|
+
NAME = "name",// always required
|
|
3076
|
+
SHORT_NAME = "shortName",// optional, fixed position (not sortable)
|
|
3077
|
+
DESCRIPTION = "description",// always required
|
|
3078
|
+
RICH_DESCRIPTION = "richDescription",// optional, fixed position (not sortable)
|
|
3079
|
+
TAGS = "tags",
|
|
3080
|
+
FILM_DETAILS = "filmDetails",
|
|
3081
|
+
AUDIENCE_LIMITATIONS = "audienceLimitations",
|
|
3082
|
+
PRODUCT_PLACEMENT = "productPlacement"
|
|
3083
|
+
}
|
|
3084
|
+
|
|
2635
3085
|
/**
|
|
2636
3086
|
* External information of video migrated via our Public API.
|
|
2637
3087
|
* @public
|
|
@@ -2853,11 +3303,6 @@ declare type Notification_2 = {
|
|
|
2853
3303
|
} & EmailNotification;
|
|
2854
3304
|
export { Notification_2 as Notification }
|
|
2855
3305
|
|
|
2856
|
-
export declare interface NotificationDuration {
|
|
2857
|
-
value: number;
|
|
2858
|
-
unit: dayjs.ManipulateType;
|
|
2859
|
-
}
|
|
2860
|
-
|
|
2861
3306
|
export declare type NotificationFilterType = NotificationFirestoreFilterType | NotificationSurveyFilterType | NotificationLastActivityFilterType;
|
|
2862
3307
|
|
|
2863
3308
|
export declare type NotificationFirestoreFilterType = NotificationSubscriptionFilterType | NotificationMembershipFilterType;
|
|
@@ -2880,12 +3325,21 @@ export declare interface NotificationMembershipFilterType {
|
|
|
2880
3325
|
};
|
|
2881
3326
|
}
|
|
2882
3327
|
|
|
3328
|
+
/**
|
|
3329
|
+
* Lifecycle status of a notification.
|
|
3330
|
+
*/
|
|
2883
3331
|
export declare enum NotificationStatus {
|
|
3332
|
+
/** Automatic trigger types (e.g. purchaseStatusChange, duration, userRegistration); not manually or scheduled sent. */
|
|
2884
3333
|
AUTOMATIC = "automatic",
|
|
3334
|
+
/** Editable, not yet scheduled or sent. Initial state; can transition to PLANNED when scheduled. */
|
|
2885
3335
|
DRAFT = "draft",
|
|
3336
|
+
/** Scheduled (e.g. Cloud Task created for email, or push scheduled). For push, sending runs on DRAFT→PLANNED then status becomes SENT. */
|
|
2886
3337
|
PLANNED = "planned",
|
|
3338
|
+
/** Notification has been sent. Set after push send and after email send for manual/scheduled. */
|
|
2887
3339
|
SENT = "sent",
|
|
3340
|
+
/** Manual trigger saved and waiting to be sent (no lastSent yet). */
|
|
2888
3341
|
WAITING = "waiting",
|
|
3342
|
+
/** Currently being sent (e.g. EmailSender sets RUNNING before sendEmails). Saving and re-sending are blocked while RUNNING. */
|
|
2889
3343
|
RUNNING = "running"
|
|
2890
3344
|
}
|
|
2891
3345
|
|
|
@@ -2919,6 +3373,17 @@ export declare interface NotificationTargeting {
|
|
|
2919
3373
|
to?: Date;
|
|
2920
3374
|
}
|
|
2921
3375
|
|
|
3376
|
+
/**
|
|
3377
|
+
* How the notification is triggered.
|
|
3378
|
+
* - **scheduled**: Sent at a fixed time (scheduleTime). Status becomes PLANNED when scheduled;
|
|
3379
|
+
* used with Cloud Tasks for email and for push when moving from DRAFT to PLANNED.
|
|
3380
|
+
* - **manual**: Sent on demand from the admin. Status is WAITING until sent, then SENT.
|
|
3381
|
+
* - **purchaseStatusChange**: Fired when a user's purchase/subscription status changes (before/after).
|
|
3382
|
+
* Matched by getNotificationByPurchaseStatuses; status is AUTOMATIC.
|
|
3383
|
+
* - **duration**: Time-based (e.g. subscription duration). Used by the daily email job (sendEmailsDaily)
|
|
3384
|
+
* via DurationEmailSender to target users by duration criteria.
|
|
3385
|
+
* - **userRegistration**: Fired when a user registers. Resolved by getNotificationUserRegistration.
|
|
3386
|
+
*/
|
|
2922
3387
|
export declare type NotificationTriggerType = 'scheduled' | 'manual' | 'purchaseStatusChange' | 'duration' | 'userRegistration';
|
|
2923
3388
|
|
|
2924
3389
|
export declare enum NotificationType {
|
|
@@ -2933,6 +3398,13 @@ export declare type Nullable<T> = {
|
|
|
2933
3398
|
[P in keyof T]: T[P] | null;
|
|
2934
3399
|
};
|
|
2935
3400
|
|
|
3401
|
+
export declare interface NumberItem {
|
|
3402
|
+
value: string;
|
|
3403
|
+
description: Translation;
|
|
3404
|
+
}
|
|
3405
|
+
|
|
3406
|
+
export declare type NumbersTileSpecificData = NumberItem;
|
|
3407
|
+
|
|
2936
3408
|
/**
|
|
2937
3409
|
* @public
|
|
2938
3410
|
*/
|
|
@@ -2998,6 +3470,20 @@ export declare interface OrganizationSettingsField extends OrganizationResponsiv
|
|
|
2998
3470
|
enabled: boolean;
|
|
2999
3471
|
};
|
|
3000
3472
|
allowedSignInProviders?: SignInProvider[];
|
|
3473
|
+
/**
|
|
3474
|
+
* Social authentication provider for this organization
|
|
3475
|
+
* 'auth0' - Use Auth0 for social login (Kviff)
|
|
3476
|
+
* 'firebase' - Use Firebase Auth for social login (default)
|
|
3477
|
+
*/
|
|
3478
|
+
socialAuthProvider?: 'auth0' | 'firebase';
|
|
3479
|
+
/**
|
|
3480
|
+
* Auth0 configuration for organizations using Auth0 social login.
|
|
3481
|
+
* Only relevant when socialAuthProvider === 'auth0'.
|
|
3482
|
+
*/
|
|
3483
|
+
auth0?: {
|
|
3484
|
+
domain: string;
|
|
3485
|
+
clientId: string;
|
|
3486
|
+
};
|
|
3001
3487
|
disableComments?: boolean;
|
|
3002
3488
|
/**
|
|
3003
3489
|
* Used on CNC webs - When buying a yearly subscription the recalculated monthly price is display below the yearly price
|
|
@@ -3043,6 +3529,11 @@ export declare interface OrganizationSettingsField extends OrganizationResponsiv
|
|
|
3043
3529
|
id: string;
|
|
3044
3530
|
};
|
|
3045
3531
|
};
|
|
3532
|
+
/**
|
|
3533
|
+
* With this setting, it's possible for the users to purchase with discounted price for the same monetization, if it expired before 1 month ago.
|
|
3534
|
+
* The logic can be found here: {@link apps/api/functions/src/model/purchase.ts}
|
|
3535
|
+
* At the same time `allowExpired: true` setting on a monetization variant will enable discounted variant if the user has active or expired purchase of monetizationRef.
|
|
3536
|
+
*/
|
|
3046
3537
|
cancelledSubscriptionDiscount?: {
|
|
3047
3538
|
enabled: boolean;
|
|
3048
3539
|
};
|
|
@@ -3058,6 +3549,28 @@ export declare interface OrganizationSettingsField extends OrganizationResponsiv
|
|
|
3058
3549
|
pushNotifications?: {
|
|
3059
3550
|
enabled?: boolean;
|
|
3060
3551
|
};
|
|
3552
|
+
recommendations?: {
|
|
3553
|
+
videosNoOlderThan?: {
|
|
3554
|
+
unit: 'month';
|
|
3555
|
+
value: number;
|
|
3556
|
+
};
|
|
3557
|
+
};
|
|
3558
|
+
/**
|
|
3559
|
+
* Payment flow configuration
|
|
3560
|
+
* @default PaymentFlow.NEW
|
|
3561
|
+
*/
|
|
3562
|
+
paymentFlow?: PaymentFlow;
|
|
3563
|
+
contentMetadata?: {
|
|
3564
|
+
[MetadataFieldId.SHORT_NAME]?: ContentMetadataOptions;
|
|
3565
|
+
[MetadataFieldId.RICH_DESCRIPTION]?: ContentMetadataOptions;
|
|
3566
|
+
[MetadataFieldId.TAGS]?: ContentMetadataOptions;
|
|
3567
|
+
[MetadataFieldId.FILM_DETAILS]?: ContentMetadataOptions;
|
|
3568
|
+
[MetadataFieldId.AUDIENCE_LIMITATIONS]?: ContentMetadataOptions;
|
|
3569
|
+
[MetadataFieldId.PRODUCT_PLACEMENT]?: ContentMetadataOptions;
|
|
3570
|
+
};
|
|
3571
|
+
aiProcessing?: {
|
|
3572
|
+
assets?: boolean;
|
|
3573
|
+
};
|
|
3061
3574
|
}
|
|
3062
3575
|
|
|
3063
3576
|
/**
|
|
@@ -3072,7 +3585,7 @@ export declare type OtherSource = SourceBase & StartAndContinuePosition & {
|
|
|
3072
3585
|
|
|
3073
3586
|
export declare interface PaginatedResponse<T = unknown, U extends NextPageParamType = NextPageParamType> {
|
|
3074
3587
|
items: T[];
|
|
3075
|
-
nextPageParams: {
|
|
3588
|
+
nextPageParams: ({
|
|
3076
3589
|
offset: number;
|
|
3077
3590
|
limit: number;
|
|
3078
3591
|
} & (U extends 'screenId' ? {
|
|
@@ -3084,7 +3597,7 @@ export declare interface PaginatedResponse<T = unknown, U extends NextPageParamT
|
|
|
3084
3597
|
rowId: string;
|
|
3085
3598
|
} : U extends 'filter' ? {
|
|
3086
3599
|
filter: Omit<RowFilterField, 'limit'>;
|
|
3087
|
-
} :
|
|
3600
|
+
} : object)) | null;
|
|
3088
3601
|
}
|
|
3089
3602
|
|
|
3090
3603
|
/**
|
|
@@ -3119,20 +3632,6 @@ export declare interface PartialRegistrationOverlayContextState {
|
|
|
3119
3632
|
voucher?: string;
|
|
3120
3633
|
}
|
|
3121
3634
|
|
|
3122
|
-
/**
|
|
3123
|
-
* @public
|
|
3124
|
-
* Generic interface for sources that can be identified by a path (video or TV channel)
|
|
3125
|
-
*/
|
|
3126
|
-
export declare type PathSourceParams = PathSourceParamsTvChannel | PathSourceParamsVideo;
|
|
3127
|
-
|
|
3128
|
-
declare interface PathSourceParamsTvChannel extends Partial<ChannelSourceParams> {
|
|
3129
|
-
path: `tvChannels/${string}`;
|
|
3130
|
-
}
|
|
3131
|
-
|
|
3132
|
-
declare interface PathSourceParamsVideo extends Partial<Omit<VodTivioSourceParams, 'videoPath'>> {
|
|
3133
|
-
path: `videos/${string}`;
|
|
3134
|
-
}
|
|
3135
|
-
|
|
3136
3635
|
export declare type PatreonCreatorData = {
|
|
3137
3636
|
campaign: string;
|
|
3138
3637
|
tiers: Tier[];
|
|
@@ -3176,6 +3675,17 @@ export declare type PatreonUserResponse = {
|
|
|
3176
3675
|
errors?: PatreonError[];
|
|
3177
3676
|
};
|
|
3178
3677
|
|
|
3678
|
+
/**
|
|
3679
|
+
* @public
|
|
3680
|
+
*
|
|
3681
|
+
* - NEW: Automatically show payment overlay when tasting video ends (ContentIsPaidOverlay with poster)
|
|
3682
|
+
* - LEGACY: Old behavior - users must manually click to purchase, no automatic overlay
|
|
3683
|
+
*/
|
|
3684
|
+
export declare enum PaymentFlow {
|
|
3685
|
+
NEW = "new",
|
|
3686
|
+
LEGACY = "legacy"
|
|
3687
|
+
}
|
|
3688
|
+
|
|
3179
3689
|
/**
|
|
3180
3690
|
* @public
|
|
3181
3691
|
*/
|
|
@@ -3292,11 +3802,6 @@ export declare type PlayerConfig = {
|
|
|
3292
3802
|
*/
|
|
3293
3803
|
name: 'IMA SDK' | 'TIVIO AD SERVICE';
|
|
3294
3804
|
};
|
|
3295
|
-
/**
|
|
3296
|
-
* If true, then TV channels are not available for anonymous users and they will be shown an overlay to sign in.
|
|
3297
|
-
* @default false
|
|
3298
|
-
*/
|
|
3299
|
-
disableTvChannelsForAnonymousUsers?: boolean;
|
|
3300
3805
|
};
|
|
3301
3806
|
|
|
3302
3807
|
/**
|
|
@@ -3308,6 +3813,8 @@ export declare interface PlayerEngineConfig {
|
|
|
3308
3813
|
isAd?: boolean;
|
|
3309
3814
|
positionMs?: number;
|
|
3310
3815
|
url: string;
|
|
3816
|
+
sessionType?: SessionType;
|
|
3817
|
+
sourcePlayMode?: SourcePlayMode;
|
|
3311
3818
|
}
|
|
3312
3819
|
|
|
3313
3820
|
/**
|
|
@@ -3413,6 +3920,43 @@ export declare interface PlayerEngineInterface {
|
|
|
3413
3920
|
selectPlaybackSpeed?: (playbackSpeed: number) => void;
|
|
3414
3921
|
destroy(): Promise<void>;
|
|
3415
3922
|
getBufferedInfo?(): BufferChunk[];
|
|
3923
|
+
/**
|
|
3924
|
+
* Clears buffered segments ahead of the current playback position.
|
|
3925
|
+
* Used during interactive streaming camera switches to enable faster content transition.
|
|
3926
|
+
*
|
|
3927
|
+
* @param safeMarginMs - Milliseconds of buffer to keep ahead of current position (default: 0)
|
|
3928
|
+
* @param secondarySourceId - Optional ID of the secondary source being switched to
|
|
3929
|
+
* @returns Promise that resolves when buffer clearing is complete
|
|
3930
|
+
*/
|
|
3931
|
+
clearBufferAhead?(safeMarginMs?: number, secondarySourceId?: string): Promise<void>;
|
|
3932
|
+
/**
|
|
3933
|
+
* Sets the streaming profile to configure buffer behavior.
|
|
3934
|
+
* Use 'low' for interactive streaming with fast camera switches,
|
|
3935
|
+
* 'medium' for balanced behavior, 'high' for maximum stability.
|
|
3936
|
+
*
|
|
3937
|
+
* @param profile - The streaming profile to apply
|
|
3938
|
+
*/
|
|
3939
|
+
setStreamingProfile?(profile: StreamingProfile): void;
|
|
3940
|
+
/**
|
|
3941
|
+
* Gets the current streaming profile.
|
|
3942
|
+
*/
|
|
3943
|
+
getStreamingProfile?(): StreamingProfile;
|
|
3944
|
+
/**
|
|
3945
|
+
* Set whether to prefer native HLS playback over MSE.
|
|
3946
|
+
* This is required for AirPlay to work properly in Safari.
|
|
3947
|
+
* Must be called before play() to take effect.
|
|
3948
|
+
*
|
|
3949
|
+
* @param preferNativeHls - Whether to prefer native HLS playback
|
|
3950
|
+
*/
|
|
3951
|
+
setPreferNativeHls?(preferNativeHls: boolean): void;
|
|
3952
|
+
/**
|
|
3953
|
+
* Reload the current source with the current configuration (including preferNativeHls).
|
|
3954
|
+
* This is a lightweight reload that doesn't go through the full playerWrapper source pipeline.
|
|
3955
|
+
* Used for switching between MSE and native HLS playback for AirPlay.
|
|
3956
|
+
*
|
|
3957
|
+
* @returns Promise that resolves when reload is complete
|
|
3958
|
+
*/
|
|
3959
|
+
reloadCurrentConfig?(): Promise<void>;
|
|
3416
3960
|
lastQuality: number | null;
|
|
3417
3961
|
/**
|
|
3418
3962
|
* Attribute indicating that the video is to be played "inline"
|
|
@@ -3420,11 +3964,6 @@ export declare interface PlayerEngineInterface {
|
|
|
3420
3964
|
*/
|
|
3421
3965
|
setPlaysInline(value: boolean): void;
|
|
3422
3966
|
setControlsList(value: string[]): void;
|
|
3423
|
-
/** Gets resolution of the video element in pixels - container size, not the actual source quality resolution */
|
|
3424
|
-
getVideoResolution(): {
|
|
3425
|
-
width: number;
|
|
3426
|
-
height: number;
|
|
3427
|
-
};
|
|
3428
3967
|
}
|
|
3429
3968
|
|
|
3430
3969
|
/**
|
|
@@ -3520,11 +4059,19 @@ export declare interface PlayerInterface {
|
|
|
3520
4059
|
*/
|
|
3521
4060
|
setPlaysInline?: (value: boolean) => void;
|
|
3522
4061
|
setControlsList?: (value: string[]) => void;
|
|
3523
|
-
/**
|
|
3524
|
-
|
|
3525
|
-
|
|
3526
|
-
|
|
3527
|
-
|
|
4062
|
+
/**
|
|
4063
|
+
* Clears buffered segments ahead of the current playback position.
|
|
4064
|
+
* Used during interactive streaming camera switches to enable faster content transition.
|
|
4065
|
+
*
|
|
4066
|
+
* @param safeMarginMs - Milliseconds of buffer to keep ahead of current position (default: 0)
|
|
4067
|
+
* @returns Promise that resolves when buffer clearing is complete
|
|
4068
|
+
*/
|
|
4069
|
+
clearBufferAhead?: (safeMarginMs?: number, secondarySourceId?: string) => Promise<void>;
|
|
4070
|
+
/**
|
|
4071
|
+
* Callback to receive camera switch progress updates.
|
|
4072
|
+
* Called by the engine during interactive streaming camera switches.
|
|
4073
|
+
*/
|
|
4074
|
+
onCameraSwitchProgress?: (progress: CameraSwitchProgress) => void;
|
|
3528
4075
|
}
|
|
3529
4076
|
|
|
3530
4077
|
/**
|
|
@@ -3594,7 +4141,6 @@ export declare interface PlayerSourceInterface<T extends NonAdSourceType = NonAd
|
|
|
3594
4141
|
start?: Date;
|
|
3595
4142
|
from?: Date;
|
|
3596
4143
|
sourceHistory?: string[];
|
|
3597
|
-
staticAdsConfig?: StaticAdsBreak[];
|
|
3598
4144
|
}
|
|
3599
4145
|
|
|
3600
4146
|
/**
|
|
@@ -3613,7 +4159,6 @@ export declare interface PlayerSourceParams<T extends NonAdSourceType = NonAdSou
|
|
|
3613
4159
|
seekingMatrix?: SeekingMatrixTemplate;
|
|
3614
4160
|
sessionType?: VideoSourceField['sessionType'];
|
|
3615
4161
|
sessionId?: string;
|
|
3616
|
-
staticAdsConfig?: StaticAdsBreak[];
|
|
3617
4162
|
}
|
|
3618
4163
|
|
|
3619
4164
|
export declare type PlayersScene = InteractiveWidgetSceneBase<InteractiveWidgetSceneTemplateType.PLAYERS>;
|
|
@@ -3627,13 +4172,6 @@ export declare type PlayerState = 'idle' | 'playing' | 'paused';
|
|
|
3627
4172
|
* @public
|
|
3628
4173
|
*/
|
|
3629
4174
|
export declare interface PlayerWrapper {
|
|
3630
|
-
/**
|
|
3631
|
-
* Unique id of the player wrapper instance, set at construction time
|
|
3632
|
-
* (e.g. by `tivio.getPlayerWrapper(id)`). Used to scope DOM ids of
|
|
3633
|
-
* player-owned elements (IMA ad containers, content video element, …)
|
|
3634
|
-
* so multiple players on the same page don't collide.
|
|
3635
|
-
*/
|
|
3636
|
-
readonly id: string;
|
|
3637
4175
|
/**
|
|
3638
4176
|
* Report that playback of video has finished
|
|
3639
4177
|
*/
|
|
@@ -3672,6 +4210,11 @@ export declare interface PlayerWrapper {
|
|
|
3672
4210
|
availableLanguages: LangCode[] | null;
|
|
3673
4211
|
canReplay: boolean;
|
|
3674
4212
|
currentSecondarySource: Video | null;
|
|
4213
|
+
/**
|
|
4214
|
+
* Camera switch transition progress for interactive streaming.
|
|
4215
|
+
* Non-null when a camera switch is in progress.
|
|
4216
|
+
*/
|
|
4217
|
+
cameraSwitchProgress: CameraSwitchProgress | null;
|
|
3675
4218
|
currentTime: number;
|
|
3676
4219
|
/**
|
|
3677
4220
|
* Currently playing source
|
|
@@ -3722,6 +4265,10 @@ export declare interface PlayerWrapper {
|
|
|
3722
4265
|
* Retry to play a video that failed to start playing (e.g. due to a network error)
|
|
3723
4266
|
*/
|
|
3724
4267
|
retry: () => void;
|
|
4268
|
+
/**
|
|
4269
|
+
* Refresh the current source by calling getSourceUrl without sourceHistory.
|
|
4270
|
+
*/
|
|
4271
|
+
refreshSource: () => Promise<void>;
|
|
3725
4272
|
togglePlayPause: () => void;
|
|
3726
4273
|
seekTo: (ms: number) => void;
|
|
3727
4274
|
/**
|
|
@@ -3730,6 +4277,21 @@ export declare interface PlayerWrapper {
|
|
|
3730
4277
|
setVolume: (volume: number) => void;
|
|
3731
4278
|
changeLanguage: (langCode: LangCode) => Promise<void>;
|
|
3732
4279
|
changeToFallbackSource: () => Promise<void>;
|
|
4280
|
+
/**
|
|
4281
|
+
* Switch to HLS source for AirPlay (Safari/iOS only).
|
|
4282
|
+
* Preserves current playback position.
|
|
4283
|
+
*/
|
|
4284
|
+
switchToHlsForAirplay: () => Promise<void>;
|
|
4285
|
+
/**
|
|
4286
|
+
* Switch back to DASH from HLS after AirPlay disconnects.
|
|
4287
|
+
* Preserves current playback position.
|
|
4288
|
+
*/
|
|
4289
|
+
switchToDashFromAirplay: () => Promise<void>;
|
|
4290
|
+
/**
|
|
4291
|
+
* Reload the current source while preserving playback position.
|
|
4292
|
+
* Used when switching between native HLS and MSE playback modes.
|
|
4293
|
+
*/
|
|
4294
|
+
reloadCurrentSource: () => Promise<void>;
|
|
3733
4295
|
/**
|
|
3734
4296
|
* change volume by value between -1,1
|
|
3735
4297
|
*/
|
|
@@ -3738,10 +4300,6 @@ export declare interface PlayerWrapper {
|
|
|
3738
4300
|
setCanPlay: (canPlay: boolean) => void;
|
|
3739
4301
|
toggleMuted: () => void;
|
|
3740
4302
|
getQualities: () => Track[];
|
|
3741
|
-
getVideoResolution: () => {
|
|
3742
|
-
width: number;
|
|
3743
|
-
height: number;
|
|
3744
|
-
};
|
|
3745
4303
|
playNativeImaAd: (url: string) => void;
|
|
3746
4304
|
playSourceAfterAdsRun: () => void;
|
|
3747
4305
|
putAd: (ad: AdSourceInterface) => void;
|
|
@@ -3758,10 +4316,20 @@ export declare interface PlayerWrapper {
|
|
|
3758
4316
|
seekToLive: () => void;
|
|
3759
4317
|
seekToLiveInternal: () => void;
|
|
3760
4318
|
setIsBuffering: (isBuffering: boolean) => void;
|
|
4319
|
+
isCasting: boolean;
|
|
3761
4320
|
setIsCasting: (isCasting: boolean) => void;
|
|
3762
4321
|
skipAd: () => void;
|
|
3763
4322
|
skipAllAds: () => void;
|
|
3764
4323
|
switchSecondarySource: (activeVideoId?: string) => Promise<void>;
|
|
4324
|
+
/**
|
|
4325
|
+
* Set whether to prefer HLS sources over DASH.
|
|
4326
|
+
* Used in Safari/iOS when AirPlay is available, as AirPlay only supports HLS streaming.
|
|
4327
|
+
*/
|
|
4328
|
+
setPreferHls: (preferHls: boolean) => void;
|
|
4329
|
+
/**
|
|
4330
|
+
* Suppress watermark tamper detection during AirPlay source switching.
|
|
4331
|
+
*/
|
|
4332
|
+
setAirplaySwitching?: (isSwitching: boolean) => void;
|
|
3765
4333
|
}
|
|
3766
4334
|
|
|
3767
4335
|
/**
|
|
@@ -3786,19 +4354,7 @@ export declare enum PlayerWrapperEvents {
|
|
|
3786
4354
|
/**
|
|
3787
4355
|
* Un-pause was triggered
|
|
3788
4356
|
*/
|
|
3789
|
-
'unpause_triggered' = "unpause_triggered"
|
|
3790
|
-
/**
|
|
3791
|
-
* Triggered when an ad starts playing
|
|
3792
|
-
*/
|
|
3793
|
-
'ad-started' = "ad-started",
|
|
3794
|
-
/**
|
|
3795
|
-
* Triggered when an ad finishes playing
|
|
3796
|
-
*/
|
|
3797
|
-
'ad-ended' = "ad-ended",
|
|
3798
|
-
/**
|
|
3799
|
-
* Triggered when companion ads are available for the current ad
|
|
3800
|
-
*/
|
|
3801
|
-
'companion-ads' = "companion-ads"
|
|
4357
|
+
'unpause_triggered' = "unpause_triggered"
|
|
3802
4358
|
}
|
|
3803
4359
|
|
|
3804
4360
|
/**
|
|
@@ -3826,6 +4382,20 @@ export declare type PlayerWrapperEventTypeType = `${PlayerWrapperEventType}`;
|
|
|
3826
4382
|
*/
|
|
3827
4383
|
export declare type PrerollCheck = (source: PlayerSource) => Promise<AdSourceInterface | null>;
|
|
3828
4384
|
|
|
4385
|
+
export declare type PresentBannerExtendRowData = {
|
|
4386
|
+
name: Translation;
|
|
4387
|
+
subname?: Translation;
|
|
4388
|
+
description?: Translation;
|
|
4389
|
+
avatars?: ScalableAsset[];
|
|
4390
|
+
avatarsText?: Translation;
|
|
4391
|
+
asset?: ScalableAsset;
|
|
4392
|
+
buttons?: RowButton[];
|
|
4393
|
+
};
|
|
4394
|
+
|
|
4395
|
+
export declare type PricesField = {
|
|
4396
|
+
[currency in Currency]?: number | null;
|
|
4397
|
+
};
|
|
4398
|
+
|
|
3829
4399
|
export declare enum primaPlusMonetizationLevel {
|
|
3830
4400
|
light = "z7soJTA2dYSxnOOJw7B0",
|
|
3831
4401
|
premium = "kwfM0D7Vzv5wfLf5go8o",
|
|
@@ -3924,8 +4494,9 @@ export declare interface ProgressMetadata {
|
|
|
3924
4494
|
* @public
|
|
3925
4495
|
*/
|
|
3926
4496
|
export declare interface Promotion {
|
|
4497
|
+
id?: string;
|
|
3927
4498
|
duration?: Duration;
|
|
3928
|
-
|
|
4499
|
+
prices?: PricesField;
|
|
3929
4500
|
requiresPaymentAuthorization?: boolean;
|
|
3930
4501
|
hideOtherSubscriptions?: boolean;
|
|
3931
4502
|
}
|
|
@@ -3975,7 +4546,9 @@ export declare interface PurchasableMonetization extends Monetization {
|
|
|
3975
4546
|
*/
|
|
3976
4547
|
price?: string | number;
|
|
3977
4548
|
promotion: Promotion | null;
|
|
3978
|
-
frequency?:
|
|
4549
|
+
frequency?: Omit<FrequencyInfo, 'title'> & {
|
|
4550
|
+
title: string;
|
|
4551
|
+
};
|
|
3979
4552
|
frequencyInfo?: FrequencyInfo;
|
|
3980
4553
|
durationDays?: number;
|
|
3981
4554
|
/**
|
|
@@ -4015,7 +4588,30 @@ export declare interface PurchasableMonetization extends Monetization {
|
|
|
4015
4588
|
* Number of seats left for the subscription.
|
|
4016
4589
|
*/
|
|
4017
4590
|
seatsLeft?: number;
|
|
4591
|
+
/**
|
|
4592
|
+
* Trial period in milliseconds for the subscription.
|
|
4593
|
+
*/
|
|
4594
|
+
trialPeriod?: number;
|
|
4595
|
+
/**
|
|
4596
|
+
* Maximum quantity of the subscription.
|
|
4597
|
+
*/
|
|
4018
4598
|
maxQuantity?: number;
|
|
4599
|
+
/**
|
|
4600
|
+
* Currency of the monetization price.
|
|
4601
|
+
*/
|
|
4602
|
+
currency?: Currency;
|
|
4603
|
+
/**
|
|
4604
|
+
* Detailed price information, including currency and amount - Takes the price getter from purchsable monetization entity.
|
|
4605
|
+
*/
|
|
4606
|
+
detailedPrice?: DetailedPrice;
|
|
4607
|
+
/**
|
|
4608
|
+
* Subtitle for the monetization, used in UI.
|
|
4609
|
+
*/
|
|
4610
|
+
subtitle?: string;
|
|
4611
|
+
/**
|
|
4612
|
+
* Banner title for the monetization, used in UI.
|
|
4613
|
+
*/
|
|
4614
|
+
bannerTitle?: string;
|
|
4019
4615
|
}
|
|
4020
4616
|
|
|
4021
4617
|
/**
|
|
@@ -4047,6 +4643,7 @@ export declare type Purchase = {
|
|
|
4047
4643
|
monetization: PurchaseMonetization | null;
|
|
4048
4644
|
monetizationId: string | null;
|
|
4049
4645
|
monetizationRef: any | null;
|
|
4646
|
+
nextPaymentDate: Date | null;
|
|
4050
4647
|
status: PurchaseStatus | null;
|
|
4051
4648
|
type: PurchaseType | null;
|
|
4052
4649
|
/**
|
|
@@ -4433,6 +5030,7 @@ export declare interface QerkoTransaction {
|
|
|
4433
5030
|
paymentStatus: string | null;
|
|
4434
5031
|
getPaymentInfo: () => Promise<void>;
|
|
4435
5032
|
voucherId?: string;
|
|
5033
|
+
isLoading: boolean;
|
|
4436
5034
|
}
|
|
4437
5035
|
|
|
4438
5036
|
export declare type QRCodeScene = InteractiveWidgetSceneBase<InteractiveWidgetSceneTemplateType.QR_CODE>;
|
|
@@ -4461,7 +5059,7 @@ export declare interface QuestionRepository {
|
|
|
4461
5059
|
readonly selectedAnswerId: string | undefined;
|
|
4462
5060
|
isSubmitted: boolean;
|
|
4463
5061
|
isSubmitting: boolean;
|
|
4464
|
-
setCurrentQuestion: (question: CurrentQuestion | null, role: QuizGameRole, secondsToAnswer: number, shouldEnterAtTimestampMs?: number) => void;
|
|
5062
|
+
setCurrentQuestion: (question: CurrentQuestion | null, role: QuizGameRole, secondsToAnswer: number, shouldEnterAtTimestampMs?: number, shouldAdjustEndTimestampMs?: boolean) => void;
|
|
4465
5063
|
selectAnswer: (answerId: string | undefined) => void;
|
|
4466
5064
|
setShowCountdown: (showCountdown: boolean) => void;
|
|
4467
5065
|
reset: () => void;
|
|
@@ -4702,6 +5300,16 @@ export declare type RequiredNonNullable<T> = {
|
|
|
4702
5300
|
[P in keyof T]-?: NonNullable<T[P]>;
|
|
4703
5301
|
};
|
|
4704
5302
|
|
|
5303
|
+
export declare interface ReviewItem {
|
|
5304
|
+
asset: ScalableAsset;
|
|
5305
|
+
name: Translation;
|
|
5306
|
+
subname?: Translation;
|
|
5307
|
+
rating: 1 | 2 | 3 | 4 | 5;
|
|
5308
|
+
description?: Translation;
|
|
5309
|
+
}
|
|
5310
|
+
|
|
5311
|
+
export declare type ReviewTileSpecificData = ReviewItem;
|
|
5312
|
+
|
|
4705
5313
|
/**
|
|
4706
5314
|
* @public
|
|
4707
5315
|
*/
|
|
@@ -4724,6 +5332,7 @@ export declare interface RouterOverrides {
|
|
|
4724
5332
|
gridType: GRID_TYPES.ROW;
|
|
4725
5333
|
rowId: string;
|
|
4726
5334
|
organizationId?: string;
|
|
5335
|
+
applicationHandle?: string;
|
|
4727
5336
|
} | {
|
|
4728
5337
|
gridType: GRID_TYPES.VIDEO;
|
|
4729
5338
|
videoId: string;
|
|
@@ -4755,6 +5364,7 @@ export declare interface RouterOverrides {
|
|
|
4755
5364
|
goToRecommendedFromOrganizationRow: (screenId: string, rowId: string) => void;
|
|
4756
5365
|
goToMagentaMomentsPage: (voucher?: string) => void;
|
|
4757
5366
|
goToVoucherRedeemPage: () => void;
|
|
5367
|
+
goToSubscriptionsPage: (organizationHandle?: string) => void;
|
|
4758
5368
|
updateParams: (params: URLSearchParams) => void;
|
|
4759
5369
|
navigate: (path: string) => void;
|
|
4760
5370
|
}
|
|
@@ -4773,25 +5383,7 @@ export declare interface RouterOverridesContextState {
|
|
|
4773
5383
|
/**
|
|
4774
5384
|
* @public
|
|
4775
5385
|
*/
|
|
4776
|
-
export declare
|
|
4777
|
-
id: string;
|
|
4778
|
-
rowId: string;
|
|
4779
|
-
name: string;
|
|
4780
|
-
description?: string;
|
|
4781
|
-
assets: AssetsField;
|
|
4782
|
-
type: ScreenRowType;
|
|
4783
|
-
isLiveRow: boolean;
|
|
4784
|
-
tiles: PaginationInterface<ItemInRow>;
|
|
4785
|
-
numberOfLines?: number;
|
|
4786
|
-
monetizations?: {
|
|
4787
|
-
monetizationRef: any;
|
|
4788
|
-
}[];
|
|
4789
|
-
rowComponent: RowComponent.ROW | RowComponent.BANNER;
|
|
4790
|
-
itemComponent: RowItemComponent | BannerItemComponent;
|
|
4791
|
-
organizationId?: string;
|
|
4792
|
-
bottomComponent?: BottomComponent;
|
|
4793
|
-
showDescriptionAsTitle?: boolean;
|
|
4794
|
-
}
|
|
5386
|
+
export declare type Row = StaticRow | DynamicRow;
|
|
4795
5387
|
|
|
4796
5388
|
/**
|
|
4797
5389
|
* @public
|
|
@@ -4809,17 +5401,41 @@ export declare enum ROW_ITEM_TYPES {
|
|
|
4809
5401
|
/**
|
|
4810
5402
|
* @public
|
|
4811
5403
|
*/
|
|
4812
|
-
export declare interface RowBanner extends
|
|
5404
|
+
export declare interface RowBanner extends DynamicRow {
|
|
4813
5405
|
rowComponent: RowComponent.BANNER;
|
|
4814
5406
|
itemComponent: BannerItemComponent;
|
|
4815
5407
|
}
|
|
4816
5408
|
|
|
5409
|
+
export declare interface RowButton {
|
|
5410
|
+
id: string;
|
|
5411
|
+
enabled: boolean;
|
|
5412
|
+
href: string;
|
|
5413
|
+
text: Translation;
|
|
5414
|
+
variant: 'primary' | 'secondary';
|
|
5415
|
+
leftIcon?: 'play';
|
|
5416
|
+
}
|
|
5417
|
+
|
|
4817
5418
|
/**
|
|
4818
5419
|
* @public
|
|
4819
5420
|
*/
|
|
4820
5421
|
export declare enum RowComponent {
|
|
4821
5422
|
ROW = "ROW",
|
|
4822
|
-
BANNER = "BANNER"
|
|
5423
|
+
BANNER = "BANNER",
|
|
5424
|
+
BENEFITS = "BENEFITS",
|
|
5425
|
+
REVIEWS = "REVIEWS",
|
|
5426
|
+
MONETIZATIONS = "MONETIZATIONS",
|
|
5427
|
+
SPLIT_LAYOUT = "SPLIT_LAYOUT",
|
|
5428
|
+
NUMBERS = "NUMBERS",
|
|
5429
|
+
FAQ = "FAQ",
|
|
5430
|
+
CTA_BANNER = "CTA_BANNER",
|
|
5431
|
+
PRESENT_BANNER = "PRESENT_BANNER",
|
|
5432
|
+
MONETIZATION_BANNER = "MONETIZATION_BANNER",
|
|
5433
|
+
VIDEO_BANNER = "VIDEO_BANNER",
|
|
5434
|
+
MEDIA_ACCORDEON = "MEDIA_ACCORDEON",
|
|
5435
|
+
EXPLORE = "EXPLORE",
|
|
5436
|
+
BACKGROUND_BANNER = "BACKGROUND_BANNER",
|
|
5437
|
+
PARTNER_LOGOS = "PARTNER_LOGOS",
|
|
5438
|
+
HOMEPAGE_BANNER = "HOMEPAGE_BANNER"
|
|
4823
5439
|
}
|
|
4824
5440
|
|
|
4825
5441
|
export declare enum RowFilterCollection {
|
|
@@ -4853,72 +5469,10 @@ export declare interface RowFilterWhereField {
|
|
|
4853
5469
|
value: any;
|
|
4854
5470
|
}
|
|
4855
5471
|
|
|
4856
|
-
|
|
4857
|
-
|
|
4858
|
-
|
|
4859
|
-
|
|
4860
|
-
path?: string;
|
|
4861
|
-
/**
|
|
4862
|
-
* Tivio row ID.
|
|
4863
|
-
*/
|
|
4864
|
-
rowId: string;
|
|
4865
|
-
/**
|
|
4866
|
-
* If all items are from the same organization this will be set.
|
|
4867
|
-
*/
|
|
4868
|
-
organizationId?: string;
|
|
4869
|
-
/**
|
|
4870
|
-
* Row name.
|
|
4871
|
-
*/
|
|
4872
|
-
name: Translation;
|
|
4873
|
-
/**
|
|
4874
|
-
* Row filter based on which to pick tiles.
|
|
4875
|
-
*/
|
|
4876
|
-
filter?: RowFilterField;
|
|
4877
|
-
/**
|
|
4878
|
-
* Row order in the screen.
|
|
4879
|
-
*/
|
|
4880
|
-
order?: number;
|
|
4881
|
-
/**
|
|
4882
|
-
* Number of lines of the title.
|
|
4883
|
-
*/
|
|
4884
|
-
numberOfLines?: number;
|
|
4885
|
-
/**
|
|
4886
|
-
* Standard row or a Banner.
|
|
4887
|
-
*/
|
|
4888
|
-
rowComponent: RowComponent;
|
|
4889
|
-
/**
|
|
4890
|
-
* Component to use to render the tiles in the row.
|
|
4891
|
-
*/
|
|
4892
|
-
itemComponent: RowItemComponent | BannerItemComponent;
|
|
4893
|
-
/**
|
|
4894
|
-
* Type of the row (continue to watch, custom, filter, ...).
|
|
4895
|
-
*/
|
|
4896
|
-
type: ScreenRowType;
|
|
4897
|
-
/**
|
|
4898
|
-
* Items to display in the row.
|
|
4899
|
-
*/
|
|
4900
|
-
tiles: GetTilesInRowResponse;
|
|
4901
|
-
/**
|
|
4902
|
-
* Setting for decided what to show bellow the tiles
|
|
4903
|
-
*/
|
|
4904
|
-
bottomComponent?: BottomComponent;
|
|
4905
|
-
/**
|
|
4906
|
-
* Setting for decided whether to show description instead of title in the tiles
|
|
4907
|
-
*/
|
|
4908
|
-
showDescriptionAsTitle?: boolean;
|
|
4909
|
-
/**
|
|
4910
|
-
* Setting for decided whether to hide title in the tiles/banners
|
|
4911
|
-
*/
|
|
4912
|
-
hideTitle?: boolean;
|
|
4913
|
-
/**
|
|
4914
|
-
* Link to external URL
|
|
4915
|
-
*/
|
|
4916
|
-
externalUrl?: string;
|
|
4917
|
-
/**
|
|
4918
|
-
* Title of Play button
|
|
4919
|
-
*/
|
|
4920
|
-
playButtonTitle?: Translation;
|
|
4921
|
-
};
|
|
5472
|
+
/**
|
|
5473
|
+
* Row in screen - can be either static or dynamic
|
|
5474
|
+
*/
|
|
5475
|
+
export declare type RowInScreen = StaticRowInScreen | DynamicRowInScreen;
|
|
4922
5476
|
|
|
4923
5477
|
/**
|
|
4924
5478
|
* @public
|
|
@@ -4931,6 +5485,7 @@ export declare interface RowItem extends RowItemAssets {
|
|
|
4931
5485
|
assets: AssetsField | null;
|
|
4932
5486
|
application: RowItemApplicationData | null;
|
|
4933
5487
|
feedVisible?: boolean;
|
|
5488
|
+
tileProps?: TileProps;
|
|
4934
5489
|
}
|
|
4935
5490
|
|
|
4936
5491
|
/**
|
|
@@ -4968,7 +5523,11 @@ export declare enum RowItemComponent {
|
|
|
4968
5523
|
ROW_ITEM_CREATORS_LANDSCAPE = "ROW_ITEM_CREATORS_LANDSCAPE",
|
|
4969
5524
|
ROW_ITEM_CIRCLED = "ROW_ITEM_CIRCLED",
|
|
4970
5525
|
ROW_ITEM_HIGHLIGHTED = "ROW_ITEM_HIGHLIGHTED",
|
|
4971
|
-
ROW_ITEM_PLAIN = "ROW_ITEM_PLAIN"
|
|
5526
|
+
ROW_ITEM_PLAIN = "ROW_ITEM_PLAIN",
|
|
5527
|
+
SIDE_BANNER = "SIDE_BANNER",
|
|
5528
|
+
ROW_ITEM_FEATURED = "ROW_ITEM_FEATURED",
|
|
5529
|
+
CATEGORY_GRID = "CATEGORY_GRID",
|
|
5530
|
+
HERO_BANNER = "HERO_BANNER"
|
|
4972
5531
|
}
|
|
4973
5532
|
|
|
4974
5533
|
/**
|
|
@@ -4985,6 +5544,16 @@ export declare type RowItemsSubscription = (rowId: string, cb: (error: Error | n
|
|
|
4985
5544
|
hasNextPage: boolean;
|
|
4986
5545
|
} | null, fetchMore: null | ((count?: number) => void), isLoading: boolean) => void, limit?: number) => Disposer_2;
|
|
4987
5546
|
|
|
5547
|
+
/**
|
|
5548
|
+
* @public
|
|
5549
|
+
*/
|
|
5550
|
+
export declare interface RowMonetizationData {
|
|
5551
|
+
id: string;
|
|
5552
|
+
path: string;
|
|
5553
|
+
placementType: 'channel' | 'tvChannel' | 'condition' | 'video' | 'section' | 'row';
|
|
5554
|
+
type: MonetizationType;
|
|
5555
|
+
}
|
|
5556
|
+
|
|
4988
5557
|
/**
|
|
4989
5558
|
* RowOrderByFieldPath that is used in @tivio/firebase needs to be retyped here.
|
|
4990
5559
|
* @public
|
|
@@ -4997,7 +5566,7 @@ export declare enum RowOrderByFieldPath {
|
|
|
4997
5566
|
/**
|
|
4998
5567
|
* @public
|
|
4999
5568
|
*/
|
|
5000
|
-
export declare interface RowStandard extends
|
|
5569
|
+
export declare interface RowStandard extends DynamicRow {
|
|
5001
5570
|
rowComponent: RowComponent.ROW;
|
|
5002
5571
|
itemComponent: RowItemComponent;
|
|
5003
5572
|
}
|
|
@@ -5110,6 +5679,11 @@ declare interface Screen_2 {
|
|
|
5110
5679
|
hasNextPage: boolean;
|
|
5111
5680
|
refetchIfNeeded: () => Promise<void>;
|
|
5112
5681
|
allowOrganizationBanner?: boolean;
|
|
5682
|
+
/**
|
|
5683
|
+
* Path to content (e.g., "videos/ID" or "tvChannels/ID").
|
|
5684
|
+
* Used for PLAYER screen type to specify which content to play.
|
|
5685
|
+
*/
|
|
5686
|
+
contentPath?: string;
|
|
5113
5687
|
}
|
|
5114
5688
|
export { Screen_2 as Screen }
|
|
5115
5689
|
|
|
@@ -5141,7 +5715,7 @@ export declare type ScreenConfig = {
|
|
|
5141
5715
|
/**
|
|
5142
5716
|
* @public
|
|
5143
5717
|
*/
|
|
5144
|
-
export declare type ScreenRowType = 'filter' | 'custom' | 'continueToWatch' | 'favourites' | 'topWatched' | 'applications';
|
|
5718
|
+
export declare type ScreenRowType = 'filter' | 'custom' | 'continueToWatch' | 'favourites' | 'topWatched' | 'applications' | 'static';
|
|
5145
5719
|
|
|
5146
5720
|
/**
|
|
5147
5721
|
* Listen to screen data
|
|
@@ -5158,7 +5732,9 @@ export declare enum ScreenType {
|
|
|
5158
5732
|
EMBED = "embed",
|
|
5159
5733
|
RECOMMENDATION = "recommendation",
|
|
5160
5734
|
FEED = "feed",
|
|
5161
|
-
EPG = "epg"
|
|
5735
|
+
EPG = "epg",
|
|
5736
|
+
LANDING = "landing",
|
|
5737
|
+
PLAYER = "player"
|
|
5162
5738
|
}
|
|
5163
5739
|
|
|
5164
5740
|
/**
|
|
@@ -5182,14 +5758,6 @@ export declare type SdkReactConfig = Omit<TivioConfig, 'language'> & {
|
|
|
5182
5758
|
language?: LangCode;
|
|
5183
5759
|
};
|
|
5184
5760
|
|
|
5185
|
-
/**
|
|
5186
|
-
* @public
|
|
5187
|
-
*/
|
|
5188
|
-
export declare interface SDKUserAuthCallbacks {
|
|
5189
|
-
onGoToLogin?: () => void;
|
|
5190
|
-
onGoToRegistration?: () => void;
|
|
5191
|
-
}
|
|
5192
|
-
|
|
5193
5761
|
/**
|
|
5194
5762
|
* @public
|
|
5195
5763
|
* @deprecated sections are no longer used.
|
|
@@ -5404,7 +5972,22 @@ export declare const showGdprConsentPreferences: () => Promise<void>;
|
|
|
5404
5972
|
/**
|
|
5405
5973
|
* @public
|
|
5406
5974
|
*/
|
|
5407
|
-
export declare
|
|
5975
|
+
export declare interface SideBannerProps {
|
|
5976
|
+
title: string;
|
|
5977
|
+
description: string;
|
|
5978
|
+
cover: string;
|
|
5979
|
+
backgroundColor?: string;
|
|
5980
|
+
buttonText?: string;
|
|
5981
|
+
onButtonClick?: () => void;
|
|
5982
|
+
buttonHref?: string;
|
|
5983
|
+
imagePosition?: 'left' | 'right';
|
|
5984
|
+
textBackgroundColor?: string;
|
|
5985
|
+
}
|
|
5986
|
+
|
|
5987
|
+
/**
|
|
5988
|
+
* @public
|
|
5989
|
+
*/
|
|
5990
|
+
export declare type SignInProvider = 'google' | 'patreon' | 'apple' | 'facebook';
|
|
5408
5991
|
|
|
5409
5992
|
/**
|
|
5410
5993
|
* Simplified VideoController interface for external rendering
|
|
@@ -5493,27 +6076,6 @@ export declare interface SimplifiedVideoController {
|
|
|
5493
6076
|
muted: boolean;
|
|
5494
6077
|
volume: number;
|
|
5495
6078
|
}) => void): void;
|
|
5496
|
-
/**
|
|
5497
|
-
* Add an event listener for ad started events
|
|
5498
|
-
* @param event - Must be 'ad-started'
|
|
5499
|
-
* @param callback - Function called when an ad starts playing
|
|
5500
|
-
*/
|
|
5501
|
-
addEventListener(event: 'ad-started', callback: (adMetadata: AdMetadata & {
|
|
5502
|
-
customAdMetadata?: Record<string, unknown> | null;
|
|
5503
|
-
ctaElement: HTMLElement | null;
|
|
5504
|
-
}) => void): void;
|
|
5505
|
-
/**
|
|
5506
|
-
* Add an event listener for ad ended events
|
|
5507
|
-
* @param event - Must be 'ad-ended'
|
|
5508
|
-
* @param callback - Function called when an ad finishes playing
|
|
5509
|
-
*/
|
|
5510
|
-
addEventListener(event: 'ad-ended', callback: () => void): void;
|
|
5511
|
-
/**
|
|
5512
|
-
* Add an event listener for companion ads events
|
|
5513
|
-
* @param event - Must be 'companion-ads'
|
|
5514
|
-
* @param callback - Function called when companion ads are available
|
|
5515
|
-
*/
|
|
5516
|
-
addEventListener(event: 'companion-ads', callback: (companionAds: CompanionAd[]) => void): void;
|
|
5517
6079
|
/**
|
|
5518
6080
|
* Remove an event listener
|
|
5519
6081
|
* @param event - The event name to stop listening for
|
|
@@ -5525,19 +6087,6 @@ export declare interface SimplifiedVideoController {
|
|
|
5525
6087
|
* @param source - The new source to load (can be a video path, channel path, or source parameters)
|
|
5526
6088
|
*/
|
|
5527
6089
|
setSource(source: WebPlayerProps['source']): void;
|
|
5528
|
-
setAdsConfig(adsConfig: StaticAdsBreak[]): void;
|
|
5529
|
-
/**
|
|
5530
|
-
* Toggle the minimal OSD mode.
|
|
5531
|
-
*
|
|
5532
|
-
* When enabled, the player shows only a minimal set of controls (play/pause,
|
|
5533
|
-
* volume and fullscreen) and a small center play/pause icon that briefly
|
|
5534
|
-
* flashes when the state changes. Intended for small/pinned containers such
|
|
5535
|
-
* as a scroll-fixed mini player in the corner of the page or a full-width
|
|
5536
|
-
* mobile player pinned to the top of the viewport.
|
|
5537
|
-
*
|
|
5538
|
-
* @param isMinimal - Whether the minimal OSD should be used
|
|
5539
|
-
*/
|
|
5540
|
-
setIsMinimal(isMinimal: boolean): void;
|
|
5541
6090
|
/**
|
|
5542
6091
|
* Destroy the player and clean up all resources
|
|
5543
6092
|
*/
|
|
@@ -5580,100 +6129,314 @@ export declare type SourceBase = {
|
|
|
5580
6129
|
};
|
|
5581
6130
|
|
|
5582
6131
|
/**
|
|
5583
|
-
* Used to instantiate types of corresponding interfaces (children of {@link PlayerSourceInterface}).
|
|
5584
|
-
* @public
|
|
6132
|
+
* Used to instantiate types of corresponding interfaces (children of {@link PlayerSourceInterface}).
|
|
6133
|
+
* @public
|
|
6134
|
+
*/
|
|
6135
|
+
export declare type SourceParams = VodTivioSourceParams | VodExternalSourceParams | ChannelSourceParams | VirtualChannelSourceParams;
|
|
6136
|
+
|
|
6137
|
+
/**
|
|
6138
|
+
* Based on this value player will change how the source is played. This, for example, affects whether source:
|
|
6139
|
+
* - will be seekable or not
|
|
6140
|
+
* - duration will be dynamically updated as time goes on
|
|
6141
|
+
* - live button will be shown in ui
|
|
6142
|
+
*/
|
|
6143
|
+
export declare enum SourcePlayMode {
|
|
6144
|
+
ON_DEMAND = "ON_DEMAND",
|
|
6145
|
+
LIVE = "LIVE",
|
|
6146
|
+
/**
|
|
6147
|
+
* ON_DEMAND and LIVE at the same time.
|
|
6148
|
+
*/
|
|
6149
|
+
HYBRID = "HYBRID"
|
|
6150
|
+
}
|
|
6151
|
+
|
|
6152
|
+
/**
|
|
6153
|
+
* @public
|
|
6154
|
+
*/
|
|
6155
|
+
export declare enum SourceType {
|
|
6156
|
+
ADVERTISEMENT = "ad",
|
|
6157
|
+
CHANNEL = "channel",
|
|
6158
|
+
VOD_TIVIO = "vod_tivio",
|
|
6159
|
+
VOD_EXTERNAL = "vod_external"
|
|
6160
|
+
}
|
|
6161
|
+
|
|
6162
|
+
export declare interface SplitLayoutItem {
|
|
6163
|
+
asset: ScalableAsset;
|
|
6164
|
+
name: Translation;
|
|
6165
|
+
description?: Translation;
|
|
6166
|
+
}
|
|
6167
|
+
|
|
6168
|
+
export declare type SplitLayoutSpecificData = SplitLayoutItem;
|
|
6169
|
+
|
|
6170
|
+
/**
|
|
6171
|
+
* External information of video from SportyTv EPG import
|
|
6172
|
+
* @public
|
|
6173
|
+
*/
|
|
6174
|
+
export declare interface SportyExternals {
|
|
6175
|
+
showId?: string;
|
|
6176
|
+
showGroup?: string;
|
|
6177
|
+
showTitle?: string;
|
|
6178
|
+
}
|
|
6179
|
+
|
|
6180
|
+
/**
|
|
6181
|
+
* @public
|
|
6182
|
+
*/
|
|
6183
|
+
export declare type StartAndContinuePosition = {
|
|
6184
|
+
/**
|
|
6185
|
+
* Relative from stream start, in ms.
|
|
6186
|
+
*
|
|
6187
|
+
* On input to Tivio either `startFromPosition` or `continueFromPosition` must always be provided.
|
|
6188
|
+
*
|
|
6189
|
+
* On output from Tivio it is always defined. Tivio can change this value.
|
|
6190
|
+
* (e.g. in order to fix start position of a TV program)
|
|
6191
|
+
*/
|
|
6192
|
+
startFromPosition?: number;
|
|
6193
|
+
/**
|
|
6194
|
+
* Relative from stream start, in ms.
|
|
6195
|
+
*
|
|
6196
|
+
* On input to Tivio either `startFromPosition` or `continueFromPosition` must always be provided.
|
|
6197
|
+
*
|
|
6198
|
+
* If provided, tivio will not correct it and will send this value back in startFromPosition.
|
|
6199
|
+
* If provided, startFromPosition is ignored.
|
|
6200
|
+
*/
|
|
6201
|
+
continueFromPosition?: number;
|
|
6202
|
+
};
|
|
6203
|
+
|
|
6204
|
+
export declare type StartLiveStreamPayload = BaseWidgetControlPayload;
|
|
6205
|
+
|
|
6206
|
+
declare interface StartLiveStreamRequest {
|
|
6207
|
+
action: 'startLiveStream';
|
|
6208
|
+
payload: StartLiveStreamPayload;
|
|
6209
|
+
}
|
|
6210
|
+
|
|
6211
|
+
export declare interface StartLiveStreamResponse {
|
|
6212
|
+
liveStreamProcessPath: string;
|
|
6213
|
+
streamingStudioProcessPath: string;
|
|
6214
|
+
error?: string;
|
|
6215
|
+
}
|
|
6216
|
+
|
|
6217
|
+
/**
|
|
6218
|
+
* Row components available for static rows (BENEFITS, FAQ, etc.)
|
|
6219
|
+
* Matches the rowComponent constraint in StaticRow type definition
|
|
6220
|
+
* @public
|
|
6221
|
+
*/
|
|
6222
|
+
export declare const STATIC_ROW_COMPONENTS: readonly [RowComponent.BENEFITS, RowComponent.REVIEWS, RowComponent.MONETIZATIONS, RowComponent.SPLIT_LAYOUT, RowComponent.NUMBERS, RowComponent.FAQ, RowComponent.CTA_BANNER, RowComponent.PRESENT_BANNER, RowComponent.MONETIZATION_BANNER, RowComponent.VIDEO_BANNER, RowComponent.MEDIA_ACCORDEON, RowComponent.EXPLORE, RowComponent.BACKGROUND_BANNER, RowComponent.PARTNER_LOGOS, RowComponent.HOMEPAGE_BANNER];
|
|
6223
|
+
|
|
6224
|
+
/**
|
|
6225
|
+
* Static row (e.g. benefits, reviews, FAQ) - doesn't have itemComponent or dynamic fields
|
|
6226
|
+
* Uses special row components like BENEFITS, REVIEWS, FAQ, etc.
|
|
6227
|
+
* @public
|
|
6228
|
+
*/
|
|
6229
|
+
export declare type StaticRow = StaticRowBenefits | StaticRowReviews | StaticRowNumbers | StaticRowSplitLayout | StaticRowFaq | StaticRowPresentBanner | StaticRowExplore | StaticRowCtaBanner | StaticRowWithoutCustomItems;
|
|
6230
|
+
|
|
6231
|
+
/**
|
|
6232
|
+
* Benefits row
|
|
6233
|
+
* @public
|
|
6234
|
+
*/
|
|
6235
|
+
export declare interface StaticRowBenefits extends BaseRow {
|
|
6236
|
+
type: 'static';
|
|
6237
|
+
rowComponent: RowComponent.BENEFITS;
|
|
6238
|
+
customItems: BenefitTileSpecificData;
|
|
6239
|
+
screenRef?: string;
|
|
6240
|
+
videoRef?: string;
|
|
6241
|
+
buttons?: RowButton[];
|
|
6242
|
+
}
|
|
6243
|
+
|
|
6244
|
+
/**
|
|
6245
|
+
* CTA Banner row
|
|
6246
|
+
* @public
|
|
6247
|
+
*/
|
|
6248
|
+
export declare interface StaticRowCtaBanner extends BaseRow {
|
|
6249
|
+
type: 'static';
|
|
6250
|
+
rowComponent: RowComponent.CTA_BANNER;
|
|
6251
|
+
customItems: CtaBannerExtendRowData;
|
|
6252
|
+
screenRef?: string;
|
|
6253
|
+
videoRef?: string;
|
|
6254
|
+
variant?: 'light' | 'dark' | 'default' | 'large';
|
|
6255
|
+
heading?: Translation;
|
|
6256
|
+
subtitle?: {
|
|
6257
|
+
text: Translation;
|
|
6258
|
+
showIcon?: boolean;
|
|
6259
|
+
};
|
|
6260
|
+
button?: {
|
|
6261
|
+
href: string;
|
|
6262
|
+
text: Translation;
|
|
6263
|
+
};
|
|
6264
|
+
}
|
|
6265
|
+
|
|
6266
|
+
/**
|
|
6267
|
+
* Explore row
|
|
6268
|
+
* @public
|
|
6269
|
+
*/
|
|
6270
|
+
export declare interface StaticRowExplore extends BaseRow {
|
|
6271
|
+
type: 'static';
|
|
6272
|
+
rowComponent: RowComponent.EXPLORE;
|
|
6273
|
+
customItems: ExploreTileSpecificData;
|
|
6274
|
+
screenRef?: string;
|
|
6275
|
+
videoRef?: string;
|
|
6276
|
+
}
|
|
6277
|
+
|
|
6278
|
+
/**
|
|
6279
|
+
* FAQ row
|
|
6280
|
+
* @public
|
|
6281
|
+
*/
|
|
6282
|
+
export declare interface StaticRowFaq extends BaseRow {
|
|
6283
|
+
type: 'static';
|
|
6284
|
+
rowComponent: RowComponent.FAQ;
|
|
6285
|
+
customItems: FaqTileSpecificData;
|
|
6286
|
+
screenRef?: string;
|
|
6287
|
+
videoRef?: string;
|
|
6288
|
+
email?: string;
|
|
6289
|
+
}
|
|
6290
|
+
|
|
6291
|
+
/**
|
|
6292
|
+
* Static row type - discriminated union by rowComponent
|
|
6293
|
+
*/
|
|
6294
|
+
export declare type StaticRowInScreen = StaticRowInScreenCtaBanner | StaticRowInScreenPresentBanner | StaticRowInScreenVideoBanner | StaticRowInScreenHomepageBanner | StaticRowInScreenFaq | StaticRowInScreenBenefits | StaticRowInScreenWithTiles;
|
|
6295
|
+
|
|
6296
|
+
/**
|
|
6297
|
+
* Benefits static row - has tiles + buttons
|
|
6298
|
+
*/
|
|
6299
|
+
declare type StaticRowInScreenBenefits = BaseStaticRowInScreen & {
|
|
6300
|
+
rowComponent: RowComponent.BENEFITS;
|
|
6301
|
+
buttons?: RowButton[];
|
|
6302
|
+
tiles: PaginatedResponse<TileData<'static'>, 'rowId'>;
|
|
6303
|
+
};
|
|
6304
|
+
|
|
6305
|
+
/**
|
|
6306
|
+
* CTA Banner static row - data flatten to row level (no tiles)
|
|
6307
|
+
*/
|
|
6308
|
+
declare type StaticRowInScreenCtaBanner = BaseStaticRowInScreen & {
|
|
6309
|
+
rowComponent: RowComponent.CTA_BANNER;
|
|
6310
|
+
} & CtaBannerExtendRowData;
|
|
6311
|
+
|
|
6312
|
+
/**
|
|
6313
|
+
* FAQ static row - has description and email fields specific to FAQ
|
|
6314
|
+
*/
|
|
6315
|
+
declare type StaticRowInScreenFaq = BaseStaticRowInScreen & {
|
|
6316
|
+
rowComponent: RowComponent.FAQ;
|
|
6317
|
+
description?: Translation;
|
|
6318
|
+
email?: string;
|
|
6319
|
+
tiles: PaginatedResponse<TileData<'static'>, 'rowId'>;
|
|
6320
|
+
};
|
|
6321
|
+
|
|
6322
|
+
/**
|
|
6323
|
+
* Homepage Banner static row - multiline banner for homepage (no tiles)
|
|
6324
|
+
*/
|
|
6325
|
+
declare type StaticRowInScreenHomepageBanner = BaseStaticRowInScreen & {
|
|
6326
|
+
rowComponent: RowComponent.HOMEPAGE_BANNER;
|
|
6327
|
+
} & HomepageBannerExtendRowData;
|
|
6328
|
+
|
|
6329
|
+
/**
|
|
6330
|
+
* Present Banner static row - organization fields + videoPath flatten to row level (no tiles)
|
|
6331
|
+
*/
|
|
6332
|
+
declare type StaticRowInScreenPresentBanner = BaseStaticRowInScreen & {
|
|
6333
|
+
rowComponent: RowComponent.PRESENT_BANNER;
|
|
6334
|
+
videoPath?: string;
|
|
6335
|
+
} & Omit<PresentBannerExtendRowData, 'name' | 'description'>;
|
|
6336
|
+
|
|
6337
|
+
/**
|
|
6338
|
+
* Video Banner static row - videoPath flatten to row level (no tiles)
|
|
5585
6339
|
*/
|
|
5586
|
-
|
|
6340
|
+
declare type StaticRowInScreenVideoBanner = BaseStaticRowInScreen & {
|
|
6341
|
+
rowComponent: RowComponent.VIDEO_BANNER;
|
|
6342
|
+
videoPath?: string;
|
|
6343
|
+
};
|
|
5587
6344
|
|
|
5588
6345
|
/**
|
|
5589
|
-
*
|
|
5590
|
-
* - will be seekable or not
|
|
5591
|
-
* - duration will be dynamically updated as time goes on
|
|
5592
|
-
* - live button will be shown in ui
|
|
6346
|
+
* Static rows with tiles (NUMBERS, EXPLORE, etc.)
|
|
5593
6347
|
*/
|
|
5594
|
-
|
|
5595
|
-
|
|
5596
|
-
|
|
5597
|
-
|
|
5598
|
-
* ON_DEMAND and LIVE at the same time.
|
|
5599
|
-
*/
|
|
5600
|
-
HYBRID = "HYBRID"
|
|
5601
|
-
}
|
|
6348
|
+
declare type StaticRowInScreenWithTiles = BaseStaticRowInScreen & {
|
|
6349
|
+
rowComponent: Exclude<RowComponent, RowComponent.CTA_BANNER | RowComponent.PRESENT_BANNER | RowComponent.VIDEO_BANNER | RowComponent.HOMEPAGE_BANNER | RowComponent.FAQ | RowComponent.BENEFITS>;
|
|
6350
|
+
tiles: PaginatedResponse<TileData<'static'>, 'rowId'>;
|
|
6351
|
+
};
|
|
5602
6352
|
|
|
5603
6353
|
/**
|
|
6354
|
+
* Numbers row
|
|
5604
6355
|
* @public
|
|
5605
6356
|
*/
|
|
5606
|
-
export declare
|
|
5607
|
-
|
|
5608
|
-
|
|
5609
|
-
|
|
5610
|
-
|
|
6357
|
+
export declare interface StaticRowNumbers extends BaseRow {
|
|
6358
|
+
type: 'static';
|
|
6359
|
+
rowComponent: RowComponent.NUMBERS;
|
|
6360
|
+
customItems: NumbersTileSpecificData;
|
|
6361
|
+
screenRef?: string;
|
|
6362
|
+
videoRef?: string;
|
|
6363
|
+
variant?: 'default' | 'large';
|
|
5611
6364
|
}
|
|
5612
6365
|
|
|
5613
6366
|
/**
|
|
5614
|
-
*
|
|
6367
|
+
* Present banner row
|
|
5615
6368
|
* @public
|
|
5616
6369
|
*/
|
|
5617
|
-
export declare interface
|
|
5618
|
-
|
|
5619
|
-
|
|
5620
|
-
|
|
6370
|
+
export declare interface StaticRowPresentBanner extends BaseRow {
|
|
6371
|
+
type: 'static';
|
|
6372
|
+
rowComponent: RowComponent.PRESENT_BANNER;
|
|
6373
|
+
customItems: PresentBannerExtendRowData;
|
|
6374
|
+
screenRef?: string;
|
|
6375
|
+
videoRef?: string;
|
|
6376
|
+
subname?: Translation;
|
|
6377
|
+
avatars?: ScalableAsset[];
|
|
6378
|
+
avatarsText?: Translation;
|
|
6379
|
+
asset?: ScalableAsset;
|
|
6380
|
+
videoPath?: string;
|
|
6381
|
+
buttons?: RowButton[];
|
|
5621
6382
|
}
|
|
5622
6383
|
|
|
5623
6384
|
/**
|
|
6385
|
+
* Reviews row
|
|
5624
6386
|
* @public
|
|
5625
6387
|
*/
|
|
5626
|
-
export declare
|
|
5627
|
-
|
|
5628
|
-
|
|
5629
|
-
|
|
5630
|
-
|
|
5631
|
-
|
|
5632
|
-
* On output from Tivio it is always defined. Tivio can change this value.
|
|
5633
|
-
* (e.g. in order to fix start position of a TV program)
|
|
5634
|
-
*/
|
|
5635
|
-
startFromPosition?: number;
|
|
5636
|
-
/**
|
|
5637
|
-
* Relative from stream start, in ms.
|
|
5638
|
-
*
|
|
5639
|
-
* On input to Tivio either `startFromPosition` or `continueFromPosition` must always be provided.
|
|
5640
|
-
*
|
|
5641
|
-
* If provided, tivio will not correct it and will send this value back in startFromPosition.
|
|
5642
|
-
* If provided, startFromPosition is ignored.
|
|
5643
|
-
*/
|
|
5644
|
-
continueFromPosition?: number;
|
|
5645
|
-
};
|
|
5646
|
-
|
|
5647
|
-
export declare type StartLiveStreamPayload = BaseWidgetControlPayload;
|
|
5648
|
-
|
|
5649
|
-
declare interface StartLiveStreamRequest {
|
|
5650
|
-
action: 'startLiveStream';
|
|
5651
|
-
payload: StartLiveStreamPayload;
|
|
6388
|
+
export declare interface StaticRowReviews extends BaseRow {
|
|
6389
|
+
type: 'static';
|
|
6390
|
+
rowComponent: RowComponent.REVIEWS;
|
|
6391
|
+
customItems: ReviewTileSpecificData;
|
|
6392
|
+
screenRef?: string;
|
|
6393
|
+
videoRef?: string;
|
|
5652
6394
|
}
|
|
5653
6395
|
|
|
5654
|
-
|
|
5655
|
-
|
|
5656
|
-
|
|
5657
|
-
|
|
6396
|
+
/**
|
|
6397
|
+
* Split layout row
|
|
6398
|
+
* @public
|
|
6399
|
+
*/
|
|
6400
|
+
export declare interface StaticRowSplitLayout extends BaseRow {
|
|
6401
|
+
type: 'static';
|
|
6402
|
+
rowComponent: RowComponent.SPLIT_LAYOUT;
|
|
6403
|
+
customItems: SplitLayoutSpecificData;
|
|
6404
|
+
screenRef?: string;
|
|
6405
|
+
videoRef?: string;
|
|
5658
6406
|
}
|
|
5659
6407
|
|
|
5660
|
-
|
|
5661
|
-
|
|
5662
|
-
|
|
5663
|
-
|
|
5664
|
-
|
|
5665
|
-
|
|
6408
|
+
/**
|
|
6409
|
+
* Static row without customItems (video banner, media accordion, monetization banner, background banner)
|
|
6410
|
+
* @public
|
|
6411
|
+
*/
|
|
6412
|
+
export declare interface StaticRowWithoutCustomItems extends BaseRow {
|
|
6413
|
+
type: 'static';
|
|
6414
|
+
rowComponent: RowComponent.VIDEO_BANNER | RowComponent.MEDIA_ACCORDEON | RowComponent.MONETIZATION_BANNER | RowComponent.BACKGROUND_BANNER | RowComponent.PARTNER_LOGOS;
|
|
6415
|
+
screenRef?: string;
|
|
6416
|
+
videoRef?: string;
|
|
6417
|
+
videoPath?: string;
|
|
5666
6418
|
}
|
|
5667
6419
|
|
|
5668
|
-
|
|
5669
|
-
|
|
5670
|
-
|
|
6420
|
+
/**
|
|
6421
|
+
* Tile data for static rows with itemSpecificData (BENEFITS, FAQ, NUMBERS, SPLIT_LAYOUT, REVIEWS, EXPLORE).
|
|
6422
|
+
* @public
|
|
6423
|
+
*/
|
|
6424
|
+
export declare interface StaticTileData<ItemSpecificData extends StaticTileItemSpecificData = StaticTileItemSpecificData> {
|
|
6425
|
+
/**
|
|
6426
|
+
* Specific data for an item type (e.g. benefit, faq, numbers, split layout, etc.).
|
|
6427
|
+
*/
|
|
6428
|
+
itemSpecificData: ItemSpecificData;
|
|
5671
6429
|
}
|
|
5672
6430
|
|
|
5673
|
-
|
|
5674
|
-
|
|
5675
|
-
|
|
5676
|
-
|
|
6431
|
+
/**
|
|
6432
|
+
* Type for itemSpecificData in API tile responses.
|
|
6433
|
+
* Excludes types that don't use itemSpecificData in tiles:
|
|
6434
|
+
* - MediaAccordeonTileSpecificData: MEDIA_ACCORDEON only uses path/id/name fields
|
|
6435
|
+
* - PresentBannerExtendRowData: PRESENT_BANNER data is flatten to row level (no tiles)
|
|
6436
|
+
* - CtaBannerExtendRowData: CTA_BANNER data is flatten to row level (no tiles)
|
|
6437
|
+
* @public
|
|
6438
|
+
*/
|
|
6439
|
+
export declare type StaticTileItemSpecificData = BenefitTileSpecificData | ReviewTileSpecificData | NumbersTileSpecificData | SplitLayoutSpecificData | FaqTileSpecificData | ExploreTileSpecificData | MediaAccordeonTileSpecificData;
|
|
5677
6440
|
|
|
5678
6441
|
/**
|
|
5679
6442
|
* @public
|
|
@@ -5689,6 +6452,15 @@ export declare interface StoreBadgeConfig {
|
|
|
5689
6452
|
appId: string;
|
|
5690
6453
|
}
|
|
5691
6454
|
|
|
6455
|
+
/**
|
|
6456
|
+
* @public
|
|
6457
|
+
* Streaming profile for buffer configuration.
|
|
6458
|
+
* - 'low': Minimal buffering for fastest camera switches (bufferingGoal: 3s)
|
|
6459
|
+
* - 'medium': Balanced buffering (bufferingGoal: 5s) - default
|
|
6460
|
+
* - 'high': Maximum buffering for stable playback (bufferingGoal: 15s)
|
|
6461
|
+
*/
|
|
6462
|
+
export declare type StreamingProfile = 'low' | 'medium' | 'high';
|
|
6463
|
+
|
|
5692
6464
|
export declare interface SubmitAnswerRequest {
|
|
5693
6465
|
answerOptionId?: string;
|
|
5694
6466
|
answerText?: string;
|
|
@@ -5757,6 +6529,25 @@ declare interface SubscriptionInfo {
|
|
|
5757
6529
|
frequency: string;
|
|
5758
6530
|
}
|
|
5759
6531
|
|
|
6532
|
+
/**
|
|
6533
|
+
* Extended language codes for subtitle tracks.
|
|
6534
|
+
* Includes all LangCode values plus additional languages only needed for subtitles.
|
|
6535
|
+
* @public
|
|
6536
|
+
*/
|
|
6537
|
+
export declare type SubtitleLangCode = LangCode | 'uk' | 'zh';
|
|
6538
|
+
|
|
6539
|
+
/**
|
|
6540
|
+
* Mapping of subtitle language codes to their English names.
|
|
6541
|
+
* @public
|
|
6542
|
+
*/
|
|
6543
|
+
export declare const SubtitleLangCodeToTitle: Record<SubtitleLangCode, string>;
|
|
6544
|
+
|
|
6545
|
+
/**
|
|
6546
|
+
* All subtitle language codes including extra languages not in LangCode.
|
|
6547
|
+
* @public
|
|
6548
|
+
*/
|
|
6549
|
+
export declare const subtitleLanguages: SubtitleLangCode[];
|
|
6550
|
+
|
|
5760
6551
|
/**
|
|
5761
6552
|
* @public
|
|
5762
6553
|
*/
|
|
@@ -5797,8 +6588,8 @@ export declare interface Tag extends RowItem {
|
|
|
5797
6588
|
detailBanner?: string;
|
|
5798
6589
|
availableSeasons?: AvailableSeason[];
|
|
5799
6590
|
isFavorite: boolean;
|
|
5800
|
-
addToFavorites: () =>
|
|
5801
|
-
removeFromFavorites: () =>
|
|
6591
|
+
addToFavorites: () => void;
|
|
6592
|
+
removeFromFavorites: () => void;
|
|
5802
6593
|
cover: string;
|
|
5803
6594
|
getApplicationName: () => string | undefined;
|
|
5804
6595
|
seriesRef?: DocumentReference<any>;
|
|
@@ -5911,48 +6702,10 @@ export declare interface TileApplicationData {
|
|
|
5911
6702
|
isMainApplication?: boolean;
|
|
5912
6703
|
}
|
|
5913
6704
|
|
|
5914
|
-
export declare interface TileData<ItemSpecificData = VideoTileSpecificData | TvChannelTileSpecificData | TagTileSpecificData | ArticleTileSpecificData | SeriesTileSpecificData> {
|
|
5915
|
-
/**
|
|
5916
|
-
* Tile item ID.
|
|
5917
|
-
*/
|
|
5918
|
-
id: string;
|
|
5919
|
-
/**
|
|
5920
|
-
* Timestamp of the item creation.
|
|
5921
|
-
*/
|
|
5922
|
-
created: number;
|
|
5923
|
-
/**
|
|
5924
|
-
* Type of the tile. VIDEO, TV_CHANNEL, TAG, ...
|
|
5925
|
-
*/
|
|
5926
|
-
itemType: ROW_ITEM_TYPES;
|
|
5927
|
-
/**
|
|
5928
|
-
* Tile item name translation.
|
|
5929
|
-
*/
|
|
5930
|
-
name: Translation;
|
|
5931
|
-
/**
|
|
5932
|
-
* Firestore path to the item.
|
|
5933
|
-
*/
|
|
5934
|
-
path: string;
|
|
5935
|
-
/**
|
|
5936
|
-
* Application info including logo, name and number of videos.
|
|
5937
|
-
*/
|
|
5938
|
-
application?: TileApplicationData;
|
|
5939
|
-
/**
|
|
5940
|
-
* Specific data for an item type (e.g. video, tv channel, tag, ...).
|
|
5941
|
-
*/
|
|
5942
|
-
itemSpecificData: ItemSpecificData;
|
|
5943
|
-
}
|
|
5944
|
-
|
|
5945
|
-
export declare interface TileMonetizationData {
|
|
5946
|
-
id: string;
|
|
5947
|
-
path: string;
|
|
5948
|
-
placementType: 'channel' | 'tvChannel' | 'condition' | 'video' | 'section' | 'row';
|
|
5949
|
-
type: MonetizationType;
|
|
5950
|
-
}
|
|
5951
|
-
|
|
5952
6705
|
/**
|
|
5953
6706
|
* @public
|
|
5954
6707
|
*/
|
|
5955
|
-
export declare interface
|
|
6708
|
+
export declare interface TileComponentProps {
|
|
5956
6709
|
children?: React_2.ReactNode;
|
|
5957
6710
|
cover?: string;
|
|
5958
6711
|
bottomLabel: string;
|
|
@@ -5994,12 +6747,49 @@ export declare interface TileProps {
|
|
|
5994
6747
|
itemType?: ROW_ITEM_TYPES;
|
|
5995
6748
|
description?: string;
|
|
5996
6749
|
showDescriptionAsTitle?: boolean;
|
|
6750
|
+
isSeries?: boolean;
|
|
6751
|
+
episodeCount?: number;
|
|
6752
|
+
/**
|
|
6753
|
+
* Optional label to display in the top-right corner of the tile (e.g., "Exclusive").
|
|
6754
|
+
* Label text (already resolved for the current language).
|
|
6755
|
+
*/
|
|
6756
|
+
topLabel?: string;
|
|
6757
|
+
/**
|
|
6758
|
+
* CSS color for the topLabel background. Defaults to white.
|
|
6759
|
+
*/
|
|
6760
|
+
topLabelColor?: string;
|
|
6761
|
+
}
|
|
6762
|
+
|
|
6763
|
+
export declare type TileData<T extends ScreenRowType = ScreenRowType> = T extends 'static' ? StaticTileData : DocumentTileData;
|
|
6764
|
+
|
|
6765
|
+
export declare interface TileMonetizationData {
|
|
6766
|
+
id: string;
|
|
6767
|
+
path: string;
|
|
6768
|
+
placementType: 'channel' | 'tvChannel' | 'condition' | 'video' | 'section' | 'row';
|
|
6769
|
+
type: MonetizationType;
|
|
6770
|
+
}
|
|
6771
|
+
|
|
6772
|
+
/**
|
|
6773
|
+
* Additional properties that can be applied to tiles for visual customization
|
|
6774
|
+
* @public
|
|
6775
|
+
*/
|
|
6776
|
+
export declare interface TileProps {
|
|
6777
|
+
topRightLabel?: TileTopRightLabel;
|
|
5997
6778
|
}
|
|
5998
6779
|
|
|
5999
6780
|
/**
|
|
6000
6781
|
* @public
|
|
6001
6782
|
*/
|
|
6002
|
-
export declare type TilePropsPartial = Partial<
|
|
6783
|
+
export declare type TilePropsPartial = Partial<TileComponentProps>;
|
|
6784
|
+
|
|
6785
|
+
/**
|
|
6786
|
+
* Custom label to be displayed on a tile (e.g., "Exclusive" badge)
|
|
6787
|
+
* @public
|
|
6788
|
+
*/
|
|
6789
|
+
export declare interface TileTopRightLabel {
|
|
6790
|
+
text: string;
|
|
6791
|
+
color?: string;
|
|
6792
|
+
}
|
|
6003
6793
|
|
|
6004
6794
|
/**
|
|
6005
6795
|
* @public
|
|
@@ -6091,10 +6881,6 @@ export declare interface TivioComponents {
|
|
|
6091
6881
|
ContentSortPicker: React_2.ComponentType<ContentSortPickerProps>;
|
|
6092
6882
|
WebTivioProVideoScreen: React_2.ComponentType<WebTivioProVideoScreenProps>;
|
|
6093
6883
|
RemoteController: React_2.ComponentType<RemoteControllerProps>;
|
|
6094
|
-
MonetizationsSelectOverlay: React_2.ComponentType;
|
|
6095
|
-
MonetizationsSelectOverlayContextProvider: React_2.ComponentType<{
|
|
6096
|
-
children: React_2.ReactNode;
|
|
6097
|
-
}>;
|
|
6098
6884
|
}
|
|
6099
6885
|
|
|
6100
6886
|
/**
|
|
@@ -6131,7 +6917,10 @@ export declare interface TivioConfig {
|
|
|
6131
6917
|
* @deprecated this field is no longer in use and has no impact when set.
|
|
6132
6918
|
*/
|
|
6133
6919
|
firestore?: any | null;
|
|
6134
|
-
|
|
6920
|
+
/**
|
|
6921
|
+
* @deprecated currency should be determined by `currencies` field in organization document in database, do not rely on this field.
|
|
6922
|
+
*/
|
|
6923
|
+
currency?: Currency;
|
|
6135
6924
|
/**
|
|
6136
6925
|
* Represents an optional array of LanguageSelector objects.
|
|
6137
6926
|
* Used to define and manage a list of supported languages for different language-usages (user, content,...).
|
|
@@ -6290,6 +7079,10 @@ export declare type TivioInternalComponents = {
|
|
|
6290
7079
|
}>;
|
|
6291
7080
|
Banner: React_2.ComponentType<BannerPropsPartial>;
|
|
6292
7081
|
CustomAppHistoryContext: React_2.Context<HistoryContextData | undefined>;
|
|
7082
|
+
ScrollableSubscriptionList: React_2.ComponentType<{
|
|
7083
|
+
subscriptions: PurchasableMonetization[];
|
|
7084
|
+
renderSubscription: (subscription: PurchasableMonetization) => React_2.ReactNode;
|
|
7085
|
+
}>;
|
|
6293
7086
|
};
|
|
6294
7087
|
|
|
6295
7088
|
/**
|
|
@@ -6340,6 +7133,13 @@ export declare type TivioInternalHooks = {
|
|
|
6340
7133
|
error: Error | null;
|
|
6341
7134
|
loading: boolean;
|
|
6342
7135
|
});
|
|
7136
|
+
useScrollShadows: () => {
|
|
7137
|
+
scrollRef: React_2.RefObject<HTMLDivElement>;
|
|
7138
|
+
showLeftShadow: boolean;
|
|
7139
|
+
showRightShadow: boolean;
|
|
7140
|
+
shouldCenter: boolean;
|
|
7141
|
+
checkScrollShadows: () => void;
|
|
7142
|
+
};
|
|
6343
7143
|
useTvChannel: UseTvChannel;
|
|
6344
7144
|
useUser: () => {
|
|
6345
7145
|
user: User | null;
|
|
@@ -6367,9 +7167,7 @@ export declare type TivioInternalProviders = {
|
|
|
6367
7167
|
UserContextProvider: React_2.ComponentType<{
|
|
6368
7168
|
children?: React_2.ReactNode;
|
|
6369
7169
|
}>;
|
|
6370
|
-
MonetizationsSelectOverlayContextProvider: React_2.ComponentType
|
|
6371
|
-
children: React_2.ReactNode;
|
|
6372
|
-
}>;
|
|
7170
|
+
MonetizationsSelectOverlayContextProvider: React_2.ComponentType;
|
|
6373
7171
|
QerkoOverlayContextProvider: React_2.ComponentType;
|
|
6374
7172
|
/**
|
|
6375
7173
|
* @deprecated do not use, this provider will be removed in the future
|
|
@@ -6466,7 +7264,7 @@ export declare type TivioReactBundle = {
|
|
|
6466
7264
|
subscriptions: TivioSubscriptions;
|
|
6467
7265
|
purchaseVideoWithQerko: (videoId: string, monetizationId: string, voucher?: {
|
|
6468
7266
|
expirationDate: Date;
|
|
6469
|
-
}) => Promise<QerkoPaymentInfo>;
|
|
7267
|
+
}, email?: string) => Promise<QerkoPaymentInfo>;
|
|
6470
7268
|
purchaseSubscriptionWithQerko: (monetizationId: string, voucher?: {
|
|
6471
7269
|
expirationDate: Date;
|
|
6472
7270
|
}) => Promise<QerkoPaymentInfo>;
|
|
@@ -6479,8 +7277,6 @@ export declare type TivioReactBundle = {
|
|
|
6479
7277
|
*/
|
|
6480
7278
|
internal: TivioInternalBundle;
|
|
6481
7279
|
analytics: TivioAnalytics;
|
|
6482
|
-
addToFavoritesByPath: (path: string) => Promise<void>;
|
|
6483
|
-
removeFromFavoritesByPath: (path: string) => Promise<void>;
|
|
6484
7280
|
destroy: () => Promise<void>;
|
|
6485
7281
|
} & Pick<TivioSetters, 'setBundleVersion' | 'setUser' | 'setLanguage' | 'setStorageManager'> & Omit<Partial<TivioJsBundleExposedApi>, 'createPlayerWrapper'>;
|
|
6486
7282
|
|
|
@@ -6609,7 +7405,7 @@ export declare interface TvAppProps {
|
|
|
6609
7405
|
/**
|
|
6610
7406
|
* @public
|
|
6611
7407
|
*/
|
|
6612
|
-
export declare interface TvChannel extends RowItem
|
|
7408
|
+
export declare interface TvChannel extends RowItem {
|
|
6613
7409
|
id: string;
|
|
6614
7410
|
itemType: ROW_ITEM_TYPES.TV_CHANNEL;
|
|
6615
7411
|
name: string;
|
|
@@ -6620,11 +7416,17 @@ export declare interface TvChannel extends RowItem, MonetizableItem {
|
|
|
6620
7416
|
logoPendingOverlayWidth?: string;
|
|
6621
7417
|
hls: string;
|
|
6622
7418
|
dash: string;
|
|
7419
|
+
/**
|
|
7420
|
+
* Returns all transactions and subscriptions applied to this tv channel.
|
|
7421
|
+
* Transactions before subscriptions, sorted by price ascending.
|
|
7422
|
+
*/
|
|
7423
|
+
getPurchasableMonetizations(options?: GetPurchasableMonetizationsOptions): PurchasableMonetization[];
|
|
6623
7424
|
getSourceUrl(options?: {
|
|
6624
7425
|
language?: LangCode;
|
|
6625
7426
|
}): Promise<GetSourceUrlResponse & {
|
|
6626
7427
|
language?: LangCode;
|
|
6627
7428
|
}>;
|
|
7429
|
+
purchasableMonetization: any | null;
|
|
6628
7430
|
price: number;
|
|
6629
7431
|
cover: string;
|
|
6630
7432
|
isPlayable: boolean;
|
|
@@ -6654,7 +7456,12 @@ export declare enum TvChannelType {
|
|
|
6654
7456
|
/**
|
|
6655
7457
|
* "Virtual" tv channel constructed from separate videos
|
|
6656
7458
|
*/
|
|
6657
|
-
VIRTUAL = "VIRTUAL"
|
|
7459
|
+
VIRTUAL = "VIRTUAL",
|
|
7460
|
+
/**
|
|
7461
|
+
* Scheduled channel - has EPG like VIRTUAL (admin can edit schedule)
|
|
7462
|
+
* but streams like CLASSIC (calls getSourceUrl on the channel, not per-video).
|
|
7463
|
+
*/
|
|
7464
|
+
SCHEDULED = "SCHEDULED"
|
|
6658
7465
|
}
|
|
6659
7466
|
|
|
6660
7467
|
/**
|
|
@@ -6736,6 +7543,13 @@ export declare type UpdateNotificationSettingsRequest = {
|
|
|
6736
7543
|
|
|
6737
7544
|
export declare type UpdateNotificationSettingsResponse = Promise<boolean>;
|
|
6738
7545
|
|
|
7546
|
+
export declare type UpdateUserEmailPayload = {
|
|
7547
|
+
newEmail: string;
|
|
7548
|
+
password: string;
|
|
7549
|
+
name: string;
|
|
7550
|
+
token?: string;
|
|
7551
|
+
};
|
|
7552
|
+
|
|
6739
7553
|
export declare type UpsertCommentResponse = AddEditCommentResponse | DeleteCommentResponse;
|
|
6740
7554
|
|
|
6741
7555
|
export declare type UrlNamesType = {
|
|
@@ -6798,7 +7612,7 @@ export declare const useCancelSubscription: UseCancelSubscription;
|
|
|
6798
7612
|
* @public
|
|
6799
7613
|
*/
|
|
6800
7614
|
export declare interface UseCancelSubscriptionsResult {
|
|
6801
|
-
cancelSubscriptions: (subscriptionIds: string[]) => Promise<
|
|
7615
|
+
cancelSubscriptions: (subscriptionIds: string[]) => Promise<boolean>;
|
|
6802
7616
|
cancellationInfos: QerkoCancellationInfo[];
|
|
6803
7617
|
errors: string[];
|
|
6804
7618
|
}
|
|
@@ -7007,9 +7821,17 @@ export declare type User = {
|
|
|
7007
7821
|
* Returns all PAID or CANCELLED user purchases (expired and non-expired)
|
|
7008
7822
|
*/
|
|
7009
7823
|
allPurchases: Purchase[];
|
|
7824
|
+
/**
|
|
7825
|
+
* Returns all PAID or CANCELLED user purchases (expired and non-expired)
|
|
7826
|
+
*/
|
|
7827
|
+
pastPurchases: Purchase[];
|
|
7828
|
+
/**
|
|
7829
|
+
* IDs of available promotions (promotion document IDs).
|
|
7830
|
+
* Example: ['kaGHeCMcOCEF2OcaJCcr']
|
|
7831
|
+
*/
|
|
7010
7832
|
availablePromotionsIds: string[];
|
|
7011
7833
|
/**
|
|
7012
|
-
* Returns "active" (not CANCELLED) VoD purchases ("transaction" type)
|
|
7834
|
+
* Returns "active" (not CANCELLED) VoD purchases ("transaction" type")
|
|
7013
7835
|
*/
|
|
7014
7836
|
purchasedVods: Purchase[];
|
|
7015
7837
|
/**
|
|
@@ -7097,9 +7919,6 @@ export declare type User = {
|
|
|
7097
7919
|
getAllExtendableSubscriptions: () => Promise<Purchase[]>;
|
|
7098
7920
|
getRssValidToken: () => Promise<TokenInterface | undefined>;
|
|
7099
7921
|
getRssUrl: () => Promise<GetUserRssUrlResponse>;
|
|
7100
|
-
getFavorites: (options?: GetUserProfileDataOptions) => Promise<FavoriteWithData[]>;
|
|
7101
|
-
getWatchPositions: (options?: GetUserProfileDataOptions) => Promise<WatchPositionWithData[]>;
|
|
7102
|
-
getWatchHistory: (options?: GetUserProfileDataOptions) => Promise<WatchPositionWithData[]>;
|
|
7103
7922
|
invalidateAllTokens: (type: TokenType) => Promise<void>;
|
|
7104
7923
|
isPartiallyRegistered: boolean;
|
|
7105
7924
|
conversationStore: ConversationStore;
|
|
@@ -7145,7 +7964,7 @@ export declare interface UserNotificationSettings {
|
|
|
7145
7964
|
* @public
|
|
7146
7965
|
*/
|
|
7147
7966
|
export declare type UseRow = (rowId: string | null, organizationId?: string) => {
|
|
7148
|
-
row:
|
|
7967
|
+
row: BaseRow | null;
|
|
7149
7968
|
error: Error | null;
|
|
7150
7969
|
};
|
|
7151
7970
|
|
|
@@ -7387,7 +8206,6 @@ export declare enum VastProvider {
|
|
|
7387
8206
|
TEST = "test",
|
|
7388
8207
|
TEST_VPAID = "test-vpaid",
|
|
7389
8208
|
TIVIO_ADS = "tivio-ads",
|
|
7390
|
-
STATIC_ADS_PROVIDER = "static-ads-provider",
|
|
7391
8209
|
JOJ_TEST_AD_FORM_PROGRAMMATIC = "joj-test-ad-form-programmatic",
|
|
7392
8210
|
JOJ_TEST_TESTER_VASTERIX = "joj-test-tester-vasterix",
|
|
7393
8211
|
JOJ_TEST_TESTER_ADFORM_30 = "joj-test-tester-adform-30"
|
|
@@ -7471,8 +8289,8 @@ export declare interface Video extends RowItem, MonetizableItem, ReactableConten
|
|
|
7471
8289
|
tasting: Video | null;
|
|
7472
8290
|
watchPosition: number | null;
|
|
7473
8291
|
isFavorite: boolean;
|
|
7474
|
-
addToFavorites: () =>
|
|
7475
|
-
removeFromFavorites: () =>
|
|
8292
|
+
addToFavorites: () => void;
|
|
8293
|
+
removeFromFavorites: () => void;
|
|
7476
8294
|
availability: ContentAvailability | null;
|
|
7477
8295
|
sourceLanguages: LangCode[];
|
|
7478
8296
|
urlByLanguage: (lang: LangCode) => string | undefined;
|
|
@@ -7530,10 +8348,6 @@ export declare interface VideoController {
|
|
|
7530
8348
|
muted: boolean;
|
|
7531
8349
|
volume: number;
|
|
7532
8350
|
}) => void): void;
|
|
7533
|
-
addEventListener(event: 'ad-started', callback: (value: AdMetadata & {
|
|
7534
|
-
adCtaElement: HTMLElement | null;
|
|
7535
|
-
}) => void): void;
|
|
7536
|
-
addEventListener(event: 'companion-ads', callback: (value: CompanionAd[]) => void): void;
|
|
7537
8351
|
/**
|
|
7538
8352
|
* Remove an event listener
|
|
7539
8353
|
* @param event - The event name to stop listening for
|
|
@@ -7569,6 +8383,10 @@ export declare interface VideoController {
|
|
|
7569
8383
|
* Replay the current video from the beginning
|
|
7570
8384
|
*/
|
|
7571
8385
|
replay(): Promise<void>;
|
|
8386
|
+
/**
|
|
8387
|
+
* Refresh the current source by calling getSourceUrl without sourceHistory.
|
|
8388
|
+
*/
|
|
8389
|
+
refreshSource(): Promise<void>;
|
|
7572
8390
|
/**
|
|
7573
8391
|
* Retry playback if it failed to start
|
|
7574
8392
|
*/
|
|
@@ -7659,7 +8477,30 @@ export declare interface VideoController {
|
|
|
7659
8477
|
* @param mutations - Array of DOM mutation records
|
|
7660
8478
|
*/
|
|
7661
8479
|
onWatermarkElementChange(mutations: MutationRecord[]): void;
|
|
7662
|
-
|
|
8480
|
+
/**
|
|
8481
|
+
* Switch to HLS source for AirPlay (Safari/iOS only).
|
|
8482
|
+
* Preserves current playback position.
|
|
8483
|
+
*/
|
|
8484
|
+
switchToHlsForAirplay(): Promise<void>;
|
|
8485
|
+
/**
|
|
8486
|
+
* Switch back to DASH from HLS after AirPlay disconnects.
|
|
8487
|
+
* Preserves current playback position.
|
|
8488
|
+
*/
|
|
8489
|
+
switchToDashFromAirplay(): Promise<void>;
|
|
8490
|
+
/**
|
|
8491
|
+
* Reload the current source while preserving playback position.
|
|
8492
|
+
* Used when switching between native HLS and MSE playback modes.
|
|
8493
|
+
*/
|
|
8494
|
+
reloadCurrentSource(): Promise<void>;
|
|
8495
|
+
/**
|
|
8496
|
+
* Set whether to prefer HLS sources over DASH.
|
|
8497
|
+
* Used in Safari/iOS when AirPlay is available, as AirPlay only supports HLS streaming.
|
|
8498
|
+
*/
|
|
8499
|
+
setPreferHls(preferHls: boolean): void;
|
|
8500
|
+
/**
|
|
8501
|
+
* Suppress watermark tamper detection during AirPlay source switching.
|
|
8502
|
+
*/
|
|
8503
|
+
setAirplaySwitching(isSwitching: boolean): void;
|
|
7663
8504
|
}
|
|
7664
8505
|
|
|
7665
8506
|
declare type VideoDetailResponsiveField = OrganizationResponsiveSetting<{
|
|
@@ -7680,7 +8521,7 @@ declare type VideoDetailResponsiveField = OrganizationResponsiveSetting<{
|
|
|
7680
8521
|
/**
|
|
7681
8522
|
* @public
|
|
7682
8523
|
*/
|
|
7683
|
-
export declare type VideoExternals = (JojExternals |
|
|
8524
|
+
export declare type VideoExternals = (JojExternals | OktagonExternals | MigratedVideoExternals | SportyExternals | AdExternals) & {
|
|
7684
8525
|
channelKey?: string;
|
|
7685
8526
|
};
|
|
7686
8527
|
|
|
@@ -7743,6 +8584,11 @@ export declare type VideoSourceField = {
|
|
|
7743
8584
|
* because content id in source url and authentication will not match.
|
|
7744
8585
|
*/
|
|
7745
8586
|
contentId?: string;
|
|
8587
|
+
/**
|
|
8588
|
+
* List of platforms that this source is restricted to.
|
|
8589
|
+
* If empty or not defined, there are no restrictions, and source is available for all platforms.
|
|
8590
|
+
*/
|
|
8591
|
+
platforms?: PLATFORM[];
|
|
7746
8592
|
} & ({
|
|
7747
8593
|
url: string;
|
|
7748
8594
|
provider?: Exclude<VideoSourceProvider, VideoSourceProvider.CLOUDFLARE>;
|
|
@@ -7792,6 +8638,7 @@ export declare interface VideoTileSpecificData {
|
|
|
7792
8638
|
urlName?: UrlNamesType;
|
|
7793
8639
|
monetizations?: VideoTileMonetizationData[];
|
|
7794
8640
|
description?: Translation;
|
|
8641
|
+
duration?: number;
|
|
7795
8642
|
}
|
|
7796
8643
|
|
|
7797
8644
|
/**
|
|
@@ -7880,7 +8727,7 @@ export declare interface ViewCountItem {
|
|
|
7880
8727
|
/**
|
|
7881
8728
|
* @public
|
|
7882
8729
|
*/
|
|
7883
|
-
export declare interface VirtualChannelSourceInterface extends
|
|
8730
|
+
export declare interface VirtualChannelSourceInterface extends ChannelSourceInterface {
|
|
7884
8731
|
tvChannelType: TvChannelType.VIRTUAL;
|
|
7885
8732
|
program?: TvProgram | null;
|
|
7886
8733
|
video?: Video | null;
|
|
@@ -7893,18 +8740,9 @@ export declare interface VirtualChannelSourceInterface extends Omit<ChannelSourc
|
|
|
7893
8740
|
*/
|
|
7894
8741
|
export declare interface VirtualChannelSourceParams extends ChannelSourceParams {
|
|
7895
8742
|
tvChannelType: TvChannelType.VIRTUAL;
|
|
7896
|
-
currentProgram?: TvProgram | null;
|
|
7897
8743
|
drm?: Drm;
|
|
7898
8744
|
}
|
|
7899
8745
|
|
|
7900
|
-
/**
|
|
7901
|
-
* Interface representing the parameters for a VOD (Video On Demand) external multi-source configuration.
|
|
7902
|
-
* Multi-source means an array of string URLs representing the external sources for the video content.
|
|
7903
|
-
*/
|
|
7904
|
-
export declare interface VodExternalMultiSourceParams extends Omit<VodExternalSourceParams, 'url'> {
|
|
7905
|
-
urls: string[];
|
|
7906
|
-
}
|
|
7907
|
-
|
|
7908
8746
|
/**
|
|
7909
8747
|
* @public
|
|
7910
8748
|
*/
|
|
@@ -8003,21 +8841,6 @@ export declare interface WarningConfirmationOverlayPayload extends ConfirmationO
|
|
|
8003
8841
|
subscriptionExpirationText?: string;
|
|
8004
8842
|
}
|
|
8005
8843
|
|
|
8006
|
-
/**
|
|
8007
|
-
* @public
|
|
8008
|
-
*/
|
|
8009
|
-
export declare interface WatchPositionWithData extends Omit<UserWatchPositionField, 'videoRef' | 'tagRef'> {
|
|
8010
|
-
/**
|
|
8011
|
-
* Video that given watch position is related to.
|
|
8012
|
-
*/
|
|
8013
|
-
video: Video;
|
|
8014
|
-
/**
|
|
8015
|
-
* If user watches episode of series, we have to save series ref as well.
|
|
8016
|
-
* Same for {@link episodeNumber} and {@link seasonNumber}.
|
|
8017
|
-
*/
|
|
8018
|
-
tag?: Tag;
|
|
8019
|
-
}
|
|
8020
|
-
|
|
8021
8844
|
/**
|
|
8022
8845
|
* @public
|
|
8023
8846
|
*/
|
|
@@ -8028,7 +8851,6 @@ export declare interface Watermark {
|
|
|
8028
8851
|
|
|
8029
8852
|
export declare interface WebConfig {
|
|
8030
8853
|
customer: CustomerId;
|
|
8031
|
-
customerName?: string;
|
|
8032
8854
|
title?: string;
|
|
8033
8855
|
description?: string;
|
|
8034
8856
|
logo: string;
|
|
@@ -8042,37 +8864,31 @@ export declare interface WebConfig {
|
|
|
8042
8864
|
header?: {
|
|
8043
8865
|
/**
|
|
8044
8866
|
* Text on buy voucher button, if not provided the default text will be used.
|
|
8867
|
+
* Can be a string or an array of language-specific texts.
|
|
8868
|
+
* @deprecated Use headerButton instead
|
|
8045
8869
|
*/
|
|
8046
8870
|
buyVoucherButtonText?: string;
|
|
8047
8871
|
/**
|
|
8048
|
-
*
|
|
8872
|
+
* Configurable button shown in the header (e.g., for vouchers, creator signup, etc.)
|
|
8873
|
+
* Array of language-specific button configurations.
|
|
8049
8874
|
*/
|
|
8050
|
-
|
|
8875
|
+
headerButton?: (LanguageRestricted & {
|
|
8876
|
+
label: string;
|
|
8877
|
+
href: string;
|
|
8878
|
+
/** Icon to show on the button (mobile only) */
|
|
8879
|
+
icon?: 'gift' | 'star' | 'videoRecorder';
|
|
8880
|
+
variant?: 'primary' | 'secondary' | 'transparent';
|
|
8881
|
+
})[];
|
|
8051
8882
|
allowSearch?: boolean;
|
|
8052
8883
|
logoHeight?: string;
|
|
8053
8884
|
mobileLogoHeight?: string;
|
|
8054
8885
|
buySubscriptionButtonText?: string;
|
|
8055
|
-
isHidden?: boolean;
|
|
8056
|
-
/**
|
|
8057
|
-
* Additional menu items to be shown in the rounded menu in the header (external or internal)
|
|
8058
|
-
*/
|
|
8059
|
-
additionalMenuItems?: {
|
|
8060
|
-
name: string;
|
|
8061
|
-
href: string;
|
|
8062
|
-
newTab?: boolean;
|
|
8063
|
-
}[];
|
|
8064
8886
|
};
|
|
8065
8887
|
footer?: {
|
|
8066
|
-
isHidden?: boolean;
|
|
8067
8888
|
/**
|
|
8068
8889
|
* If logo is different from logo in header
|
|
8069
8890
|
*/
|
|
8070
8891
|
logo?: string;
|
|
8071
|
-
/**
|
|
8072
|
-
* @fixme https://app.clickup.com/t/90151157205/TIV-1515
|
|
8073
|
-
* If multiple logos are provided, the multiple logos are prioritized over the single logo.
|
|
8074
|
-
*/
|
|
8075
|
-
multipleLogos?: string[];
|
|
8076
8892
|
showLogo?: boolean;
|
|
8077
8893
|
/**
|
|
8078
8894
|
* right panel - various type of contacts to owners of website
|
|
@@ -8115,19 +8931,6 @@ export declare interface WebConfig {
|
|
|
8115
8931
|
email?: string;
|
|
8116
8932
|
};
|
|
8117
8933
|
cookieSettingsLabel?: string;
|
|
8118
|
-
disclaimer?: string;
|
|
8119
|
-
showDivider?: boolean;
|
|
8120
|
-
/**
|
|
8121
|
-
* Additional links to be shown in the footer
|
|
8122
|
-
*/
|
|
8123
|
-
additionalLinks?: {
|
|
8124
|
-
name: string;
|
|
8125
|
-
href: string;
|
|
8126
|
-
}[];
|
|
8127
|
-
/**
|
|
8128
|
-
* Hide footer on these paths
|
|
8129
|
-
*/
|
|
8130
|
-
hideFooter?: string[];
|
|
8131
8934
|
partners?: {
|
|
8132
8935
|
name: string;
|
|
8133
8936
|
logo: string;
|
|
@@ -8143,14 +8946,6 @@ export declare interface WebConfig {
|
|
|
8143
8946
|
* so app requires authorization to see them.
|
|
8144
8947
|
*/
|
|
8145
8948
|
securedContent?: boolean;
|
|
8146
|
-
/**
|
|
8147
|
-
* If true, then auth is required for all pages.
|
|
8148
|
-
*/
|
|
8149
|
-
isAuthRequired?: boolean;
|
|
8150
|
-
/**
|
|
8151
|
-
* If true, then buy subscription button is hidden.
|
|
8152
|
-
*/
|
|
8153
|
-
hideBuySubscriptionButton?: boolean;
|
|
8154
8949
|
/**
|
|
8155
8950
|
* CSS styles for application background.
|
|
8156
8951
|
*/
|
|
@@ -8169,10 +8964,6 @@ export declare interface WebConfig {
|
|
|
8169
8964
|
* Default is TRUE (see {@link AppLoadingOverlay}
|
|
8170
8965
|
*/
|
|
8171
8966
|
showProgressBar?: boolean;
|
|
8172
|
-
/**
|
|
8173
|
-
* URL to background image shown on loading screen.
|
|
8174
|
-
*/
|
|
8175
|
-
backgroundUrl?: string;
|
|
8176
8967
|
};
|
|
8177
8968
|
/**
|
|
8178
8969
|
* Slug of all pages where user will be forced to fill login form if he's not logged in.
|
|
@@ -8200,7 +8991,6 @@ export declare interface WebConfig {
|
|
|
8200
8991
|
*/
|
|
8201
8992
|
showChooseSubscription?: boolean;
|
|
8202
8993
|
registration?: {
|
|
8203
|
-
logoMarginTop?: string;
|
|
8204
8994
|
/**
|
|
8205
8995
|
* Customization of auth form
|
|
8206
8996
|
*/
|
|
@@ -8220,18 +9010,18 @@ export declare interface WebConfig {
|
|
|
8220
9010
|
showAcceptanceOfTermsAndConditions?: boolean;
|
|
8221
9011
|
};
|
|
8222
9012
|
registrationConsent?: string;
|
|
8223
|
-
socialRegistrationConsent?: string;
|
|
8224
9013
|
};
|
|
8225
9014
|
payment?: {
|
|
8226
9015
|
paymentConsent?: string;
|
|
8227
9016
|
paymentRenewalConsent?: boolean;
|
|
9017
|
+
allowFrequencySwitcher?: boolean;
|
|
8228
9018
|
};
|
|
8229
9019
|
/**
|
|
8230
9020
|
* If web supports entering vouchers
|
|
8231
9021
|
*/
|
|
8232
9022
|
supportVouchers?: boolean;
|
|
8233
9023
|
/**
|
|
8234
|
-
* Config for Google Tag Manager
|
|
9024
|
+
* Config for Google Tag Manager
|
|
8235
9025
|
*/
|
|
8236
9026
|
googleTagManagerConfig?: TagManagerArgs & {
|
|
8237
9027
|
shouldWaitForDidomi?: boolean;
|
|
@@ -8254,8 +9044,6 @@ export declare interface WebConfig {
|
|
|
8254
9044
|
};
|
|
8255
9045
|
monetizationSelectOverlay?: {
|
|
8256
9046
|
title?: string;
|
|
8257
|
-
benefitLeftIcon?: string;
|
|
8258
|
-
showFullMonetizationOnMobile?: boolean;
|
|
8259
9047
|
};
|
|
8260
9048
|
/**
|
|
8261
9049
|
* Google Analytics ID. If provided, Google Analytics will be enabled.
|
|
@@ -8267,7 +9055,6 @@ export declare interface WebConfig {
|
|
|
8267
9055
|
centeredMenu?: boolean;
|
|
8268
9056
|
/**
|
|
8269
9057
|
* All values are considered as false if not provided.
|
|
8270
|
-
* @deprecated - use settings.allowedSignInProviders inside OrganizationDocument
|
|
8271
9058
|
*/
|
|
8272
9059
|
socialLogins?: {
|
|
8273
9060
|
showAppleLogin?: boolean;
|
|
@@ -8282,24 +9069,11 @@ export declare interface WebConfig {
|
|
|
8282
9069
|
* If true, robots.txt will prevent crawling of the website.
|
|
8283
9070
|
*/
|
|
8284
9071
|
norobots?: boolean;
|
|
8285
|
-
|
|
8286
|
-
|
|
8287
|
-
|
|
8288
|
-
|
|
8289
|
-
onPurchase?: (monetization: Purchase) => void;
|
|
8290
|
-
facebookPixelConfig?: {
|
|
8291
|
-
pixelId: string;
|
|
8292
|
-
shouldWaitForDidomi?: boolean;
|
|
9072
|
+
customTranslations?: {
|
|
9073
|
+
[key: string]: {
|
|
9074
|
+
[key: string]: string;
|
|
9075
|
+
};
|
|
8293
9076
|
};
|
|
8294
|
-
/**
|
|
8295
|
-
* If true, the app will be locked in the "remote controller" mode.
|
|
8296
|
-
* This means that the app will not be able to navigate to other pages and will only show the remote controller.
|
|
8297
|
-
*/
|
|
8298
|
-
isRemoteControllerApp?: boolean;
|
|
8299
|
-
/**
|
|
8300
|
-
* Determines if application should check allowed URL handles when switching applications.
|
|
8301
|
-
*/
|
|
8302
|
-
disableUrlHandleCheck?: boolean;
|
|
8303
9077
|
/**
|
|
8304
9078
|
* Map for all handlers
|
|
8305
9079
|
*/
|
|
@@ -8326,7 +9100,7 @@ export declare interface WebGridScreenProps {
|
|
|
8326
9100
|
*/
|
|
8327
9101
|
export declare interface WebPlayerProps {
|
|
8328
9102
|
id: string;
|
|
8329
|
-
source?:
|
|
9103
|
+
source?: SourceParams | VideoPath | ChannelPath | null;
|
|
8330
9104
|
onEnded?: () => any;
|
|
8331
9105
|
/**
|
|
8332
9106
|
* If true, the player will inherit the width and height of its parent element.
|
|
@@ -8390,14 +9164,6 @@ export declare interface WebPlayerProps {
|
|
|
8390
9164
|
* If true then OSD is shown based on condition resolved in HidableOsdContainer, e.g. on pause, on mouse move etc.
|
|
8391
9165
|
*/
|
|
8392
9166
|
showOsd?: boolean;
|
|
8393
|
-
/**
|
|
8394
|
-
* If true, then only a minimal set of OSD controls is shown (play/pause, volume, fullscreen)
|
|
8395
|
-
* and the big center play/pause button only flashes briefly on state change.
|
|
8396
|
-
*
|
|
8397
|
-
* Intended for small fixed containers (e.g. a scroll-pinned mini player in the corner
|
|
8398
|
-
* of the page, or a full-width mobile player pinned to the top of the viewport).
|
|
8399
|
-
*/
|
|
8400
|
-
isMinimal?: boolean;
|
|
8401
9167
|
/**
|
|
8402
9168
|
* If false, then buffering spinner is never shown.
|
|
8403
9169
|
* If true then buffering spinner is shown while buffering.
|
|
@@ -8420,8 +9186,6 @@ export declare interface WebPlayerProps {
|
|
|
8420
9186
|
setPaymentOverlayVisible?: React_2.Dispatch<React_2.SetStateAction<boolean>>;
|
|
8421
9187
|
hideOverlay?: boolean;
|
|
8422
9188
|
sourcePlayMode?: SourcePlayMode;
|
|
8423
|
-
adsConfig?: StaticAdsBreak[];
|
|
8424
|
-
userAuthCallbacks?: SDKUserAuthCallbacks;
|
|
8425
9189
|
}
|
|
8426
9190
|
|
|
8427
9191
|
/**
|