@tivio/sdk-react 9.7.1 → 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 +329 -0
- package/README.md +3 -676
- package/README.md.bak +3 -676
- package/dist/index.d.ts +1328 -502
- package/dist/index.js +1 -1
- package/dist/sdk-react.d.ts +1400 -474
- 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,7 +107,6 @@ export declare type AdMetadata = {
|
|
|
104
107
|
isSkippable: boolean;
|
|
105
108
|
order: number | null;
|
|
106
109
|
totalCount: number | null;
|
|
107
|
-
customAdMetadata?: Record<string, unknown>;
|
|
108
110
|
skip: () => void;
|
|
109
111
|
} | null;
|
|
110
112
|
|
|
@@ -222,10 +224,6 @@ export declare interface AdSourceInterface extends CommonSourceInterface<SourceT
|
|
|
222
224
|
skipAll(): void;
|
|
223
225
|
onRemainingTimeChanged(ms: number): void;
|
|
224
226
|
click(): void;
|
|
225
|
-
/**
|
|
226
|
-
* Rich IMA ad metadata including customAdMetadata (only available for IMA ads)
|
|
227
|
-
*/
|
|
228
|
-
imaAdMetadata?: any;
|
|
229
227
|
}
|
|
230
228
|
|
|
231
229
|
/**
|
|
@@ -323,7 +321,9 @@ export declare enum AnalyticsConversionPage {
|
|
|
323
321
|
Redeem = "redeem",
|
|
324
322
|
Referral = "referral",
|
|
325
323
|
Pair = "pair",
|
|
326
|
-
Search = "search"
|
|
324
|
+
Search = "search",
|
|
325
|
+
QerkoPayment = "qerko-payment",
|
|
326
|
+
SubscriptionCard = "subscription-card"
|
|
327
327
|
}
|
|
328
328
|
|
|
329
329
|
/**
|
|
@@ -341,6 +341,31 @@ export declare enum AnalyticsConversionTargetBase {
|
|
|
341
341
|
Monetization = "monetization"
|
|
342
342
|
}
|
|
343
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
|
+
|
|
344
369
|
export declare interface AnalyticsInterface {
|
|
345
370
|
reportAdvertisementPlay: (params: AdvertisementAnalyticParams) => void;
|
|
346
371
|
reportAdvertisementProgress: () => void;
|
|
@@ -537,7 +562,7 @@ export declare interface AssetsField<TAsset extends ScalableAsset = ScalableAsse
|
|
|
537
562
|
/**
|
|
538
563
|
* @public
|
|
539
564
|
*/
|
|
540
|
-
export declare type AssetType = 'circled' | 'landscape' | 'portrait' | 'square';
|
|
565
|
+
export declare type AssetType = 'banner' | 'circled' | 'landscape' | 'portrait' | 'square';
|
|
541
566
|
|
|
542
567
|
declare type Attributes = {
|
|
543
568
|
created: string;
|
|
@@ -624,10 +649,78 @@ export declare interface BannerProps {
|
|
|
624
649
|
*/
|
|
625
650
|
export declare type BannerPropsPartial = Partial<BannerProps>;
|
|
626
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
|
+
|
|
627
712
|
declare interface BaseWidgetControlPayload {
|
|
628
713
|
widgetPath: string;
|
|
629
714
|
}
|
|
630
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
|
+
|
|
631
724
|
/**
|
|
632
725
|
* @public
|
|
633
726
|
*/
|
|
@@ -676,6 +769,45 @@ export declare const bundlePromise: Promise<RemoteBundleState>;
|
|
|
676
769
|
*/
|
|
677
770
|
export declare type Callback<T = any> = (arg?: T) => void;
|
|
678
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
|
+
|
|
679
811
|
export declare interface CancellingMonetizationsSummaryItem {
|
|
680
812
|
date: number;
|
|
681
813
|
monetizationId: string;
|
|
@@ -750,6 +882,10 @@ export declare interface ChannelSourceParams extends PlayerSourceParams<SourceTy
|
|
|
750
882
|
from: Date;
|
|
751
883
|
to: Date;
|
|
752
884
|
tvMode?: TvMode | 'live' | null;
|
|
885
|
+
/**
|
|
886
|
+
* Current program from EPG. Available for VIRTUAL and SCHEDULED channels.
|
|
887
|
+
*/
|
|
888
|
+
currentProgram?: TvProgram | null;
|
|
753
889
|
}
|
|
754
890
|
|
|
755
891
|
/**
|
|
@@ -819,12 +955,6 @@ export declare interface CommonSourceParams<T extends SourceType = SourceType> {
|
|
|
819
955
|
videoPath?: string;
|
|
820
956
|
}
|
|
821
957
|
|
|
822
|
-
/**
|
|
823
|
-
* @public
|
|
824
|
-
* Re-export of Google IMA CompanionAd type for use throughout the SDK
|
|
825
|
-
*/
|
|
826
|
-
export declare type CompanionAd = google.ima.CompanionAd;
|
|
827
|
-
|
|
828
958
|
/**
|
|
829
959
|
* Just another alias. Reexported for backward compatibility.
|
|
830
960
|
* @public
|
|
@@ -884,6 +1014,13 @@ export declare interface ContentAvailability {
|
|
|
884
1014
|
manual: boolean;
|
|
885
1015
|
}
|
|
886
1016
|
|
|
1017
|
+
export declare type ContentMetadataFieldId = keyof NonNullable<OrganizationSettingsField['contentMetadata']>;
|
|
1018
|
+
|
|
1019
|
+
export declare interface ContentMetadataOptions {
|
|
1020
|
+
enabled: boolean;
|
|
1021
|
+
order: number;
|
|
1022
|
+
}
|
|
1023
|
+
|
|
887
1024
|
/**
|
|
888
1025
|
* @public
|
|
889
1026
|
*/
|
|
@@ -1141,10 +1278,23 @@ export declare interface CreatorsWithVoucherSubscriptions {
|
|
|
1141
1278
|
name: string;
|
|
1142
1279
|
}
|
|
1143
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
|
+
|
|
1144
1294
|
/**
|
|
1145
1295
|
* @public
|
|
1146
1296
|
*/
|
|
1147
|
-
export declare const CURRENCIES:
|
|
1297
|
+
export declare const CURRENCIES: Currency[];
|
|
1148
1298
|
|
|
1149
1299
|
/**
|
|
1150
1300
|
* Three upper-case letters according to ISO-4217.
|
|
@@ -1158,6 +1308,11 @@ export declare type Currency = 'CZK' | 'EUR' | 'USD' | 'PLN';
|
|
|
1158
1308
|
*/
|
|
1159
1309
|
export declare type CurrencyLowerCase = 'czk' | 'eur' | 'usd' | 'pln';
|
|
1160
1310
|
|
|
1311
|
+
/**
|
|
1312
|
+
* @public
|
|
1313
|
+
*/
|
|
1314
|
+
export declare const CurrencyToTitle: Record<Currency, string>;
|
|
1315
|
+
|
|
1161
1316
|
export declare interface CurrentQuestion {
|
|
1162
1317
|
id: string;
|
|
1163
1318
|
question: Translation;
|
|
@@ -1237,14 +1392,27 @@ export declare enum CustomerId {
|
|
|
1237
1392
|
UZ_BUDU = "UZ_BUDU",
|
|
1238
1393
|
PRIMA = "PRIMA",
|
|
1239
1394
|
NORA_FRIDRICHOVA = "NORA_FRIDRICHOVA",
|
|
1240
|
-
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"
|
|
1241
1410
|
}
|
|
1242
1411
|
|
|
1243
1412
|
export declare interface CustomScript {
|
|
1244
1413
|
src: string;
|
|
1245
1414
|
event?: EventName;
|
|
1246
1415
|
isAsync?: boolean;
|
|
1247
|
-
defer?: boolean;
|
|
1248
1416
|
}
|
|
1249
1417
|
|
|
1250
1418
|
/**
|
|
@@ -1262,6 +1430,11 @@ declare type Data = {
|
|
|
1262
1430
|
type: 'tier' | 'member' | 'user';
|
|
1263
1431
|
};
|
|
1264
1432
|
|
|
1433
|
+
/**
|
|
1434
|
+
* @public
|
|
1435
|
+
*/
|
|
1436
|
+
export declare const DEFAULT_CURRENCY: Currency;
|
|
1437
|
+
|
|
1265
1438
|
/**
|
|
1266
1439
|
* @public
|
|
1267
1440
|
*/
|
|
@@ -1304,6 +1477,28 @@ export declare type DeviceInfo = ArrisDeviceInfo | ReactNativeDeviceInfo;
|
|
|
1304
1477
|
*/
|
|
1305
1478
|
export declare type DeviceOs = OperatingSystem | 'Tizen' | 'webOS' | 'Arris' | 'Android TV' | 'tvOS';
|
|
1306
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
|
+
|
|
1307
1502
|
/**
|
|
1308
1503
|
* Window object with Didomi SDK properties.
|
|
1309
1504
|
*/
|
|
@@ -1319,6 +1514,10 @@ export declare interface DidomiWindow {
|
|
|
1319
1514
|
* https://developers.didomi.io/cmp/web-sdk/reference/api
|
|
1320
1515
|
*/
|
|
1321
1516
|
didomiOnReady: (() => void)[];
|
|
1517
|
+
/**
|
|
1518
|
+
* The Didomi SDK instance.
|
|
1519
|
+
*/
|
|
1520
|
+
Didomi: DidomiSDK;
|
|
1322
1521
|
}
|
|
1323
1522
|
|
|
1324
1523
|
/**
|
|
@@ -1339,6 +1538,47 @@ export declare interface DividerProps {
|
|
|
1339
1538
|
horizontalSpacing?: number;
|
|
1340
1539
|
}
|
|
1341
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
|
+
|
|
1342
1582
|
export declare interface Drm {
|
|
1343
1583
|
encryption: VideoSourceEncryption;
|
|
1344
1584
|
/**
|
|
@@ -1411,6 +1651,91 @@ export declare interface DurationWithUnit {
|
|
|
1411
1651
|
unit: DurationUnit;
|
|
1412
1652
|
}
|
|
1413
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
|
+
|
|
1414
1739
|
/**
|
|
1415
1740
|
* @public
|
|
1416
1741
|
*/
|
|
@@ -1529,7 +1854,6 @@ export declare interface EmitterInterface {
|
|
|
1529
1854
|
isSupported: (even: string) => boolean;
|
|
1530
1855
|
addListener: <T = unknown>(event: string, cb: (value: T) => Empty_2) => void;
|
|
1531
1856
|
removeListener: <T = unknown>(event: string, cb: (value: T) => Empty_2) => void;
|
|
1532
|
-
emitEvent: (event: string, value?: unknown) => void;
|
|
1533
1857
|
}
|
|
1534
1858
|
|
|
1535
1859
|
/**
|
|
@@ -1554,6 +1878,17 @@ export declare type Events = {
|
|
|
1554
1878
|
'on-error': Error;
|
|
1555
1879
|
};
|
|
1556
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
|
+
|
|
1557
1892
|
export declare interface ExtensionMetadata {
|
|
1558
1893
|
purchaseStatus: CloudflareStreamingPurchaseStatus;
|
|
1559
1894
|
activeVideoId?: string;
|
|
@@ -1567,22 +1902,12 @@ export declare type ExternalTvConfig = {
|
|
|
1567
1902
|
splashScreenBackgroundColor?: string;
|
|
1568
1903
|
};
|
|
1569
1904
|
|
|
1570
|
-
export declare interface
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
}
|
|
1574
|
-
|
|
1575
|
-
export declare interface FavoriteVideoWithData {
|
|
1576
|
-
content: Video;
|
|
1577
|
-
type: 'video';
|
|
1905
|
+
export declare interface FaqItem {
|
|
1906
|
+
question: Translation;
|
|
1907
|
+
answer: Translation;
|
|
1578
1908
|
}
|
|
1579
1909
|
|
|
1580
|
-
|
|
1581
|
-
* @public
|
|
1582
|
-
*/
|
|
1583
|
-
export declare type FavoriteWithData = FavoriteVideoWithData | (FavoriteTagWithData & {
|
|
1584
|
-
profileId?: string;
|
|
1585
|
-
});
|
|
1910
|
+
export declare type FaqTileSpecificData = FaqItem;
|
|
1586
1911
|
|
|
1587
1912
|
/**
|
|
1588
1913
|
* @throws if fetch fails
|
|
@@ -1632,7 +1957,6 @@ export declare interface ForbiddenOnCallError extends GenericOnCallError {
|
|
|
1632
1957
|
}
|
|
1633
1958
|
|
|
1634
1959
|
export declare enum ForbiddenReason {
|
|
1635
|
-
AD_BLOCKING = "AD_BLOCKING",
|
|
1636
1960
|
MONETIZATION = "MONETIZATION",
|
|
1637
1961
|
GEO_BLOCKING = "GEO_BLOCKING",
|
|
1638
1962
|
EMAIL_ALREADY_EXISTS = "EMAIL_ALREADY_EXISTS",
|
|
@@ -1643,8 +1967,7 @@ export declare enum ForbiddenReason {
|
|
|
1643
1967
|
NAME_CONTAINS_INVALID_CHAR = "NAME_CONTAINS_INVALID_CHAR",
|
|
1644
1968
|
USER_ACCOUNT_LOCKED = "USER_ACCOUNT_LOCKED",
|
|
1645
1969
|
USER_NOT_FOUND = "USER_NOT_FOUND",
|
|
1646
|
-
UNSUPPORTED_BROWSER = "UNSUPPORTED_BROWSER"
|
|
1647
|
-
ANONYMOUS_USER = "ANONYMOUS_USER"
|
|
1970
|
+
UNSUPPORTED_BROWSER = "UNSUPPORTED_BROWSER"
|
|
1648
1971
|
}
|
|
1649
1972
|
|
|
1650
1973
|
/**
|
|
@@ -1652,7 +1975,7 @@ export declare enum ForbiddenReason {
|
|
|
1652
1975
|
*/
|
|
1653
1976
|
export declare type FrequencyInfo = {
|
|
1654
1977
|
title: Translation;
|
|
1655
|
-
unit:
|
|
1978
|
+
unit: MONETIZATION_FREQUENCY;
|
|
1656
1979
|
value: number;
|
|
1657
1980
|
};
|
|
1658
1981
|
|
|
@@ -1771,6 +2094,9 @@ export declare type GetPurchaseInfoResponse = {
|
|
|
1771
2094
|
};
|
|
1772
2095
|
};
|
|
1773
2096
|
|
|
2097
|
+
/**
|
|
2098
|
+
* Response type for getRowsInScreen
|
|
2099
|
+
*/
|
|
1774
2100
|
export declare type GetRowsInScreenResponse = PaginatedResponse<RowInScreen, 'screenId'>;
|
|
1775
2101
|
|
|
1776
2102
|
export declare interface GetSourceUrlRequest {
|
|
@@ -1827,6 +2153,16 @@ export declare interface GetSourceUrlRequest {
|
|
|
1827
2153
|
* Parameters related to ads.
|
|
1828
2154
|
*/
|
|
1829
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;
|
|
1830
2166
|
}
|
|
1831
2167
|
|
|
1832
2168
|
export declare interface GetSourceUrlResponse {
|
|
@@ -1872,15 +2208,7 @@ export declare interface GetSourceUrlResponse {
|
|
|
1872
2208
|
sessionType?: VideoSourceField['sessionType'];
|
|
1873
2209
|
}
|
|
1874
2210
|
|
|
1875
|
-
export declare type GetTilesInRowResponse<U extends NextPageParamType = NextPageParamType> = PaginatedResponse<TileData
|
|
1876
|
-
|
|
1877
|
-
export declare interface GetUserProfileDataOptions {
|
|
1878
|
-
/**
|
|
1879
|
-
* If true, the data will be returned for all user profiles.
|
|
1880
|
-
* If false, the data will be returned only for the active user profile.
|
|
1881
|
-
*/
|
|
1882
|
-
ignoreActiveUserProfile?: boolean;
|
|
1883
|
-
}
|
|
2211
|
+
export declare type GetTilesInRowResponse<T extends ScreenRowType = ScreenRowType, U extends NextPageParamType = NextPageParamType> = PaginatedResponse<TileData<T>, U>;
|
|
1884
2212
|
|
|
1885
2213
|
export declare interface GetUserRssUrlRequest {
|
|
1886
2214
|
organizationId: string;
|
|
@@ -1892,64 +2220,12 @@ export declare interface GetUserRssUrlResponse {
|
|
|
1892
2220
|
expiresAt?: number;
|
|
1893
2221
|
}
|
|
1894
2222
|
|
|
1895
|
-
export declare interface
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
errorMessage: string;
|
|
2223
|
+
export declare interface GetViewAnalyticsResponse {
|
|
2224
|
+
viewCountAnalytics: ViewCountItem[];
|
|
2225
|
+
topWatched: TopWatchItem[];
|
|
1899
2226
|
}
|
|
1900
2227
|
|
|
1901
|
-
export declare
|
|
1902
|
-
totalCount: number;
|
|
1903
|
-
errors: Array<GetVideoAnalyticsErrorItem>;
|
|
1904
|
-
}
|
|
1905
|
-
|
|
1906
|
-
export declare interface GetVideoAnalyticsRequest {
|
|
1907
|
-
contentId: string;
|
|
1908
|
-
timestamp?: number;
|
|
1909
|
-
userId?: string;
|
|
1910
|
-
source?: string;
|
|
1911
|
-
limit?: number;
|
|
1912
|
-
errorLimit?: number;
|
|
1913
|
-
errorTimestampFrom?: number;
|
|
1914
|
-
}
|
|
1915
|
-
|
|
1916
|
-
export declare interface GetVideoAnalyticsResponse {
|
|
1917
|
-
state?: GetVideoAnalyticsResult;
|
|
1918
|
-
quality?: GetVideoAnalyticsResult;
|
|
1919
|
-
error?: GetVideoAnalyticsErrorResult;
|
|
1920
|
-
localities?: unknown;
|
|
1921
|
-
}
|
|
1922
|
-
|
|
1923
|
-
export declare type GetVideoAnalyticsResult = {
|
|
1924
|
-
[timestamp: string]: {
|
|
1925
|
-
totalDuration: number;
|
|
1926
|
-
values: Array<{
|
|
1927
|
-
value: string;
|
|
1928
|
-
duration: number;
|
|
1929
|
-
percentage: number;
|
|
1930
|
-
}>;
|
|
1931
|
-
};
|
|
1932
|
-
};
|
|
1933
|
-
|
|
1934
|
-
export declare interface GetVideoAnalyticsViewsRequest {
|
|
1935
|
-
contentId: string;
|
|
1936
|
-
currentViewsIntervalMs: number;
|
|
1937
|
-
timestamp?: number;
|
|
1938
|
-
source?: string;
|
|
1939
|
-
}
|
|
1940
|
-
|
|
1941
|
-
export declare interface GetVideoAnalyticsViewsResponse {
|
|
1942
|
-
previousViews?: number;
|
|
1943
|
-
currentViews?: number;
|
|
1944
|
-
totalViews?: number;
|
|
1945
|
-
}
|
|
1946
|
-
|
|
1947
|
-
export declare interface GetViewAnalyticsResponse {
|
|
1948
|
-
viewCountAnalytics: ViewCountItem[];
|
|
1949
|
-
topWatched: TopWatchItem[];
|
|
1950
|
-
}
|
|
1951
|
-
|
|
1952
|
-
export declare type GetViewsAnalyticsRequest = GetBaseAnalyticsRequest;
|
|
2228
|
+
export declare type GetViewsAnalyticsRequest = GetBaseAnalyticsRequest;
|
|
1953
2229
|
|
|
1954
2230
|
export declare let globalSdkReactConfig: SdkReactConfig | undefined;
|
|
1955
2231
|
|
|
@@ -1962,6 +2238,22 @@ export declare enum GRID_TYPES {
|
|
|
1962
2238
|
SERIES = "SERIES"
|
|
1963
2239
|
}
|
|
1964
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
|
+
|
|
1965
2257
|
/**
|
|
1966
2258
|
* @public
|
|
1967
2259
|
*/
|
|
@@ -1970,6 +2262,61 @@ export declare interface HistoryContextData {
|
|
|
1970
2262
|
backOrRedirectToRoot: (delta?: number) => void;
|
|
1971
2263
|
}
|
|
1972
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
|
+
|
|
1973
2320
|
export declare type IncludedItem = {
|
|
1974
2321
|
attributes: {
|
|
1975
2322
|
next_charge_date: string;
|
|
@@ -2005,10 +2352,23 @@ export declare interface IndexedTag extends IndexedObject {
|
|
|
2005
2352
|
created: Date;
|
|
2006
2353
|
name: Translation;
|
|
2007
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;
|
|
2008
2363
|
/**
|
|
2009
2364
|
* True if the tag is available in Tivio Pro (StarMe)
|
|
2010
2365
|
*/
|
|
2011
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;
|
|
2012
2372
|
}
|
|
2013
2373
|
|
|
2014
2374
|
/**
|
|
@@ -2054,6 +2414,11 @@ export declare interface IndexedVideo extends IndexedObject {
|
|
|
2054
2414
|
defaultName: string;
|
|
2055
2415
|
name: string | Translation;
|
|
2056
2416
|
description: string | Translation;
|
|
2417
|
+
descriptionRich?: Translation;
|
|
2418
|
+
/**
|
|
2419
|
+
* EPG program-friendly name
|
|
2420
|
+
*/
|
|
2421
|
+
shortName?: Translation;
|
|
2057
2422
|
hide: boolean;
|
|
2058
2423
|
isDuplicate: boolean;
|
|
2059
2424
|
externals?: VideoExternals;
|
|
@@ -2072,14 +2437,21 @@ export declare interface IndexedVideo extends IndexedObject {
|
|
|
2072
2437
|
* see https://www.algolia.com/doc/guides/managing-results/refine-results/filtering/how-to/filter-by-attributes/#filter-by-null-or-missing-attributes.
|
|
2073
2438
|
*/
|
|
2074
2439
|
monetizationAccessIds: string[] | false;
|
|
2440
|
+
/**
|
|
2441
|
+
* See {@link VideoDocument.pgRating}
|
|
2442
|
+
*/
|
|
2443
|
+
pgRating?: string;
|
|
2444
|
+
/**
|
|
2445
|
+
* See {@link VideoDocument.contentDescriptors}
|
|
2446
|
+
*/
|
|
2447
|
+
contentDescriptors?: string[];
|
|
2075
2448
|
}
|
|
2076
2449
|
|
|
2077
|
-
export declare type InputSourceParams = SourceParams | VodExternalMultiSourceParams;
|
|
2078
|
-
|
|
2079
2450
|
export declare type IntegrationType = 'discord' | 'patreon';
|
|
2080
2451
|
|
|
2081
2452
|
export declare interface InteractiveWidget<T extends InteractiveWidgetScene = InteractiveWidgetScene> {
|
|
2082
2453
|
readonly id: string;
|
|
2454
|
+
readonly name: string;
|
|
2083
2455
|
readonly path: string;
|
|
2084
2456
|
readonly currentQuestion: CurrentQuestion | null;
|
|
2085
2457
|
readonly status: QuizGameStatus;
|
|
@@ -2279,17 +2651,35 @@ export declare type ItemInRow = Tag | Video | TvChannel | Advertisement | Applic
|
|
|
2279
2651
|
* @public
|
|
2280
2652
|
*/
|
|
2281
2653
|
export declare interface JojExternals {
|
|
2654
|
+
/**
|
|
2655
|
+
* e.g. '19876'
|
|
2656
|
+
*/
|
|
2282
2657
|
tvProfiProgramId?: string;
|
|
2658
|
+
/**
|
|
2659
|
+
* e.g. 'S19876'
|
|
2660
|
+
*/
|
|
2283
2661
|
tvProfiContentId?: string;
|
|
2284
2662
|
tvProfiSerialId?: string;
|
|
2663
|
+
/**
|
|
2664
|
+
* e.g. '70368744177695432'
|
|
2665
|
+
*/
|
|
2285
2666
|
contentId?: string;
|
|
2286
2667
|
/**
|
|
2287
2668
|
* Temporary contentId used only for live channel. The video is already encoded and stored in our storage
|
|
2288
2669
|
* but is also stored on nangu platform to be used for live channel.
|
|
2289
2670
|
*/
|
|
2290
2671
|
dvtvExtraContentId?: string;
|
|
2672
|
+
/**
|
|
2673
|
+
* e.g. 'W278510'
|
|
2674
|
+
*/
|
|
2291
2675
|
provysId?: string;
|
|
2676
|
+
/**
|
|
2677
|
+
* real provysId unlike provysId, e.g. '2-231027-0009'
|
|
2678
|
+
*/
|
|
2292
2679
|
tvProfiProvysId?: string;
|
|
2680
|
+
/**
|
|
2681
|
+
* e.g. 'W278510'
|
|
2682
|
+
*/
|
|
2293
2683
|
tvProfiHouseId?: string;
|
|
2294
2684
|
tvProfiTitleOriginal?: string;
|
|
2295
2685
|
tvProfiTitleSk?: string;
|
|
@@ -2315,7 +2705,20 @@ export declare enum LangCode {
|
|
|
2315
2705
|
HU = "hu"
|
|
2316
2706
|
}
|
|
2317
2707
|
|
|
2318
|
-
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
|
+
}
|
|
2319
2722
|
|
|
2320
2723
|
/**
|
|
2321
2724
|
* All supported languages codes as in ISO 639-1
|
|
@@ -2510,11 +2913,35 @@ export declare enum LoginRedirect {
|
|
|
2510
2913
|
REMOTE_CONTROLLER = "remote-controller"
|
|
2511
2914
|
}
|
|
2512
2915
|
|
|
2916
|
+
declare interface ManageMemberDeleteRequest extends ManageMemberRequestBase {
|
|
2917
|
+
action: 'deleteMember';
|
|
2918
|
+
}
|
|
2919
|
+
|
|
2920
|
+
export declare type ManageMemberRequest = ManageMemberUpdateRoleRequest | ManageMemberDeleteRequest;
|
|
2921
|
+
|
|
2513
2922
|
/**
|
|
2514
|
-
*
|
|
2923
|
+
* Request body for manageMember cloud function.
|
|
2924
|
+
* Handles member management operations (role update, deletion) within an organization.
|
|
2515
2925
|
*/
|
|
2516
|
-
|
|
2517
|
-
|
|
2926
|
+
declare interface ManageMemberRequestBase {
|
|
2927
|
+
organizationId: string;
|
|
2928
|
+
targetMemberUid: string;
|
|
2929
|
+
}
|
|
2930
|
+
|
|
2931
|
+
/**
|
|
2932
|
+
* Response body for manageMember cloud function.
|
|
2933
|
+
*/
|
|
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;
|
|
2518
2945
|
}
|
|
2519
2946
|
|
|
2520
2947
|
/**
|
|
@@ -2578,11 +3005,37 @@ export declare enum MarkerType {
|
|
|
2578
3005
|
NONE = "none"
|
|
2579
3006
|
}
|
|
2580
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
|
+
|
|
2581
3028
|
declare type Membership = {
|
|
2582
3029
|
id: string;
|
|
2583
3030
|
type: string;
|
|
2584
3031
|
};
|
|
2585
3032
|
|
|
3033
|
+
export declare type MergeUserAccountsPayload = {
|
|
3034
|
+
email: string;
|
|
3035
|
+
name?: string;
|
|
3036
|
+
password: string;
|
|
3037
|
+
};
|
|
3038
|
+
|
|
2586
3039
|
/**
|
|
2587
3040
|
* @public
|
|
2588
3041
|
*/
|
|
@@ -2618,6 +3071,17 @@ export declare interface MessageUser {
|
|
|
2618
3071
|
email: string;
|
|
2619
3072
|
}
|
|
2620
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
|
+
|
|
2621
3085
|
/**
|
|
2622
3086
|
* External information of video migrated via our Public API.
|
|
2623
3087
|
* @public
|
|
@@ -2839,11 +3303,6 @@ declare type Notification_2 = {
|
|
|
2839
3303
|
} & EmailNotification;
|
|
2840
3304
|
export { Notification_2 as Notification }
|
|
2841
3305
|
|
|
2842
|
-
export declare interface NotificationDuration {
|
|
2843
|
-
value: number;
|
|
2844
|
-
unit: dayjs.ManipulateType;
|
|
2845
|
-
}
|
|
2846
|
-
|
|
2847
3306
|
export declare type NotificationFilterType = NotificationFirestoreFilterType | NotificationSurveyFilterType | NotificationLastActivityFilterType;
|
|
2848
3307
|
|
|
2849
3308
|
export declare type NotificationFirestoreFilterType = NotificationSubscriptionFilterType | NotificationMembershipFilterType;
|
|
@@ -2866,12 +3325,21 @@ export declare interface NotificationMembershipFilterType {
|
|
|
2866
3325
|
};
|
|
2867
3326
|
}
|
|
2868
3327
|
|
|
3328
|
+
/**
|
|
3329
|
+
* Lifecycle status of a notification.
|
|
3330
|
+
*/
|
|
2869
3331
|
export declare enum NotificationStatus {
|
|
3332
|
+
/** Automatic trigger types (e.g. purchaseStatusChange, duration, userRegistration); not manually or scheduled sent. */
|
|
2870
3333
|
AUTOMATIC = "automatic",
|
|
3334
|
+
/** Editable, not yet scheduled or sent. Initial state; can transition to PLANNED when scheduled. */
|
|
2871
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. */
|
|
2872
3337
|
PLANNED = "planned",
|
|
3338
|
+
/** Notification has been sent. Set after push send and after email send for manual/scheduled. */
|
|
2873
3339
|
SENT = "sent",
|
|
3340
|
+
/** Manual trigger saved and waiting to be sent (no lastSent yet). */
|
|
2874
3341
|
WAITING = "waiting",
|
|
3342
|
+
/** Currently being sent (e.g. EmailSender sets RUNNING before sendEmails). Saving and re-sending are blocked while RUNNING. */
|
|
2875
3343
|
RUNNING = "running"
|
|
2876
3344
|
}
|
|
2877
3345
|
|
|
@@ -2905,6 +3373,17 @@ export declare interface NotificationTargeting {
|
|
|
2905
3373
|
to?: Date;
|
|
2906
3374
|
}
|
|
2907
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
|
+
*/
|
|
2908
3387
|
export declare type NotificationTriggerType = 'scheduled' | 'manual' | 'purchaseStatusChange' | 'duration' | 'userRegistration';
|
|
2909
3388
|
|
|
2910
3389
|
export declare enum NotificationType {
|
|
@@ -2919,6 +3398,13 @@ export declare type Nullable<T> = {
|
|
|
2919
3398
|
[P in keyof T]: T[P] | null;
|
|
2920
3399
|
};
|
|
2921
3400
|
|
|
3401
|
+
export declare interface NumberItem {
|
|
3402
|
+
value: string;
|
|
3403
|
+
description: Translation;
|
|
3404
|
+
}
|
|
3405
|
+
|
|
3406
|
+
export declare type NumbersTileSpecificData = NumberItem;
|
|
3407
|
+
|
|
2922
3408
|
/**
|
|
2923
3409
|
* @public
|
|
2924
3410
|
*/
|
|
@@ -2984,6 +3470,20 @@ export declare interface OrganizationSettingsField extends OrganizationResponsiv
|
|
|
2984
3470
|
enabled: boolean;
|
|
2985
3471
|
};
|
|
2986
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
|
+
};
|
|
2987
3487
|
disableComments?: boolean;
|
|
2988
3488
|
/**
|
|
2989
3489
|
* Used on CNC webs - When buying a yearly subscription the recalculated monthly price is display below the yearly price
|
|
@@ -3029,6 +3529,11 @@ export declare interface OrganizationSettingsField extends OrganizationResponsiv
|
|
|
3029
3529
|
id: string;
|
|
3030
3530
|
};
|
|
3031
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
|
+
*/
|
|
3032
3537
|
cancelledSubscriptionDiscount?: {
|
|
3033
3538
|
enabled: boolean;
|
|
3034
3539
|
};
|
|
@@ -3044,6 +3549,28 @@ export declare interface OrganizationSettingsField extends OrganizationResponsiv
|
|
|
3044
3549
|
pushNotifications?: {
|
|
3045
3550
|
enabled?: boolean;
|
|
3046
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
|
+
};
|
|
3047
3574
|
}
|
|
3048
3575
|
|
|
3049
3576
|
/**
|
|
@@ -3058,7 +3585,7 @@ export declare type OtherSource = SourceBase & StartAndContinuePosition & {
|
|
|
3058
3585
|
|
|
3059
3586
|
export declare interface PaginatedResponse<T = unknown, U extends NextPageParamType = NextPageParamType> {
|
|
3060
3587
|
items: T[];
|
|
3061
|
-
nextPageParams: {
|
|
3588
|
+
nextPageParams: ({
|
|
3062
3589
|
offset: number;
|
|
3063
3590
|
limit: number;
|
|
3064
3591
|
} & (U extends 'screenId' ? {
|
|
@@ -3070,7 +3597,7 @@ export declare interface PaginatedResponse<T = unknown, U extends NextPageParamT
|
|
|
3070
3597
|
rowId: string;
|
|
3071
3598
|
} : U extends 'filter' ? {
|
|
3072
3599
|
filter: Omit<RowFilterField, 'limit'>;
|
|
3073
|
-
} :
|
|
3600
|
+
} : object)) | null;
|
|
3074
3601
|
}
|
|
3075
3602
|
|
|
3076
3603
|
/**
|
|
@@ -3105,20 +3632,6 @@ export declare interface PartialRegistrationOverlayContextState {
|
|
|
3105
3632
|
voucher?: string;
|
|
3106
3633
|
}
|
|
3107
3634
|
|
|
3108
|
-
/**
|
|
3109
|
-
* @public
|
|
3110
|
-
* Generic interface for sources that can be identified by a path (video or TV channel)
|
|
3111
|
-
*/
|
|
3112
|
-
export declare type PathSourceParams = PathSourceParamsTvChannel | PathSourceParamsVideo;
|
|
3113
|
-
|
|
3114
|
-
declare interface PathSourceParamsTvChannel extends Partial<ChannelSourceParams> {
|
|
3115
|
-
path: `tvChannels/${string}`;
|
|
3116
|
-
}
|
|
3117
|
-
|
|
3118
|
-
declare interface PathSourceParamsVideo extends Partial<Omit<VodTivioSourceParams, 'videoPath'>> {
|
|
3119
|
-
path: `videos/${string}`;
|
|
3120
|
-
}
|
|
3121
|
-
|
|
3122
3635
|
export declare type PatreonCreatorData = {
|
|
3123
3636
|
campaign: string;
|
|
3124
3637
|
tiers: Tier[];
|
|
@@ -3162,6 +3675,17 @@ export declare type PatreonUserResponse = {
|
|
|
3162
3675
|
errors?: PatreonError[];
|
|
3163
3676
|
};
|
|
3164
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
|
+
|
|
3165
3689
|
/**
|
|
3166
3690
|
* @public
|
|
3167
3691
|
*/
|
|
@@ -3289,6 +3813,8 @@ export declare interface PlayerEngineConfig {
|
|
|
3289
3813
|
isAd?: boolean;
|
|
3290
3814
|
positionMs?: number;
|
|
3291
3815
|
url: string;
|
|
3816
|
+
sessionType?: SessionType;
|
|
3817
|
+
sourcePlayMode?: SourcePlayMode;
|
|
3292
3818
|
}
|
|
3293
3819
|
|
|
3294
3820
|
/**
|
|
@@ -3394,6 +3920,43 @@ export declare interface PlayerEngineInterface {
|
|
|
3394
3920
|
selectPlaybackSpeed?: (playbackSpeed: number) => void;
|
|
3395
3921
|
destroy(): Promise<void>;
|
|
3396
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>;
|
|
3397
3960
|
lastQuality: number | null;
|
|
3398
3961
|
/**
|
|
3399
3962
|
* Attribute indicating that the video is to be played "inline"
|
|
@@ -3496,6 +4059,19 @@ export declare interface PlayerInterface {
|
|
|
3496
4059
|
*/
|
|
3497
4060
|
setPlaysInline?: (value: boolean) => void;
|
|
3498
4061
|
setControlsList?: (value: string[]) => void;
|
|
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;
|
|
3499
4075
|
}
|
|
3500
4076
|
|
|
3501
4077
|
/**
|
|
@@ -3565,7 +4141,6 @@ export declare interface PlayerSourceInterface<T extends NonAdSourceType = NonAd
|
|
|
3565
4141
|
start?: Date;
|
|
3566
4142
|
from?: Date;
|
|
3567
4143
|
sourceHistory?: string[];
|
|
3568
|
-
staticAdsConfig?: StaticAdsBreak[];
|
|
3569
4144
|
}
|
|
3570
4145
|
|
|
3571
4146
|
/**
|
|
@@ -3584,7 +4159,6 @@ export declare interface PlayerSourceParams<T extends NonAdSourceType = NonAdSou
|
|
|
3584
4159
|
seekingMatrix?: SeekingMatrixTemplate;
|
|
3585
4160
|
sessionType?: VideoSourceField['sessionType'];
|
|
3586
4161
|
sessionId?: string;
|
|
3587
|
-
staticAdsConfig?: StaticAdsBreak[];
|
|
3588
4162
|
}
|
|
3589
4163
|
|
|
3590
4164
|
export declare type PlayersScene = InteractiveWidgetSceneBase<InteractiveWidgetSceneTemplateType.PLAYERS>;
|
|
@@ -3636,6 +4210,11 @@ export declare interface PlayerWrapper {
|
|
|
3636
4210
|
availableLanguages: LangCode[] | null;
|
|
3637
4211
|
canReplay: boolean;
|
|
3638
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;
|
|
3639
4218
|
currentTime: number;
|
|
3640
4219
|
/**
|
|
3641
4220
|
* Currently playing source
|
|
@@ -3686,6 +4265,10 @@ export declare interface PlayerWrapper {
|
|
|
3686
4265
|
* Retry to play a video that failed to start playing (e.g. due to a network error)
|
|
3687
4266
|
*/
|
|
3688
4267
|
retry: () => void;
|
|
4268
|
+
/**
|
|
4269
|
+
* Refresh the current source by calling getSourceUrl without sourceHistory.
|
|
4270
|
+
*/
|
|
4271
|
+
refreshSource: () => Promise<void>;
|
|
3689
4272
|
togglePlayPause: () => void;
|
|
3690
4273
|
seekTo: (ms: number) => void;
|
|
3691
4274
|
/**
|
|
@@ -3694,6 +4277,21 @@ export declare interface PlayerWrapper {
|
|
|
3694
4277
|
setVolume: (volume: number) => void;
|
|
3695
4278
|
changeLanguage: (langCode: LangCode) => Promise<void>;
|
|
3696
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>;
|
|
3697
4295
|
/**
|
|
3698
4296
|
* change volume by value between -1,1
|
|
3699
4297
|
*/
|
|
@@ -3718,10 +4316,20 @@ export declare interface PlayerWrapper {
|
|
|
3718
4316
|
seekToLive: () => void;
|
|
3719
4317
|
seekToLiveInternal: () => void;
|
|
3720
4318
|
setIsBuffering: (isBuffering: boolean) => void;
|
|
4319
|
+
isCasting: boolean;
|
|
3721
4320
|
setIsCasting: (isCasting: boolean) => void;
|
|
3722
4321
|
skipAd: () => void;
|
|
3723
4322
|
skipAllAds: () => void;
|
|
3724
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;
|
|
3725
4333
|
}
|
|
3726
4334
|
|
|
3727
4335
|
/**
|
|
@@ -3746,19 +4354,7 @@ export declare enum PlayerWrapperEvents {
|
|
|
3746
4354
|
/**
|
|
3747
4355
|
* Un-pause was triggered
|
|
3748
4356
|
*/
|
|
3749
|
-
'unpause_triggered' = "unpause_triggered"
|
|
3750
|
-
/**
|
|
3751
|
-
* Triggered when an ad starts playing
|
|
3752
|
-
*/
|
|
3753
|
-
'ad-started' = "ad-started",
|
|
3754
|
-
/**
|
|
3755
|
-
* Triggered when an ad finishes playing
|
|
3756
|
-
*/
|
|
3757
|
-
'ad-ended' = "ad-ended",
|
|
3758
|
-
/**
|
|
3759
|
-
* Triggered when companion ads are available for the current ad
|
|
3760
|
-
*/
|
|
3761
|
-
'companion-ads' = "companion-ads"
|
|
4357
|
+
'unpause_triggered' = "unpause_triggered"
|
|
3762
4358
|
}
|
|
3763
4359
|
|
|
3764
4360
|
/**
|
|
@@ -3786,6 +4382,20 @@ export declare type PlayerWrapperEventTypeType = `${PlayerWrapperEventType}`;
|
|
|
3786
4382
|
*/
|
|
3787
4383
|
export declare type PrerollCheck = (source: PlayerSource) => Promise<AdSourceInterface | null>;
|
|
3788
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
|
+
|
|
3789
4399
|
export declare enum primaPlusMonetizationLevel {
|
|
3790
4400
|
light = "z7soJTA2dYSxnOOJw7B0",
|
|
3791
4401
|
premium = "kwfM0D7Vzv5wfLf5go8o",
|
|
@@ -3884,8 +4494,9 @@ export declare interface ProgressMetadata {
|
|
|
3884
4494
|
* @public
|
|
3885
4495
|
*/
|
|
3886
4496
|
export declare interface Promotion {
|
|
4497
|
+
id?: string;
|
|
3887
4498
|
duration?: Duration;
|
|
3888
|
-
|
|
4499
|
+
prices?: PricesField;
|
|
3889
4500
|
requiresPaymentAuthorization?: boolean;
|
|
3890
4501
|
hideOtherSubscriptions?: boolean;
|
|
3891
4502
|
}
|
|
@@ -3935,7 +4546,9 @@ export declare interface PurchasableMonetization extends Monetization {
|
|
|
3935
4546
|
*/
|
|
3936
4547
|
price?: string | number;
|
|
3937
4548
|
promotion: Promotion | null;
|
|
3938
|
-
frequency?:
|
|
4549
|
+
frequency?: Omit<FrequencyInfo, 'title'> & {
|
|
4550
|
+
title: string;
|
|
4551
|
+
};
|
|
3939
4552
|
frequencyInfo?: FrequencyInfo;
|
|
3940
4553
|
durationDays?: number;
|
|
3941
4554
|
/**
|
|
@@ -3975,7 +4588,30 @@ export declare interface PurchasableMonetization extends Monetization {
|
|
|
3975
4588
|
* Number of seats left for the subscription.
|
|
3976
4589
|
*/
|
|
3977
4590
|
seatsLeft?: number;
|
|
4591
|
+
/**
|
|
4592
|
+
* Trial period in milliseconds for the subscription.
|
|
4593
|
+
*/
|
|
4594
|
+
trialPeriod?: number;
|
|
4595
|
+
/**
|
|
4596
|
+
* Maximum quantity of the subscription.
|
|
4597
|
+
*/
|
|
3978
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;
|
|
3979
4615
|
}
|
|
3980
4616
|
|
|
3981
4617
|
/**
|
|
@@ -4007,6 +4643,7 @@ export declare type Purchase = {
|
|
|
4007
4643
|
monetization: PurchaseMonetization | null;
|
|
4008
4644
|
monetizationId: string | null;
|
|
4009
4645
|
monetizationRef: any | null;
|
|
4646
|
+
nextPaymentDate: Date | null;
|
|
4010
4647
|
status: PurchaseStatus | null;
|
|
4011
4648
|
type: PurchaseType | null;
|
|
4012
4649
|
/**
|
|
@@ -4393,6 +5030,7 @@ export declare interface QerkoTransaction {
|
|
|
4393
5030
|
paymentStatus: string | null;
|
|
4394
5031
|
getPaymentInfo: () => Promise<void>;
|
|
4395
5032
|
voucherId?: string;
|
|
5033
|
+
isLoading: boolean;
|
|
4396
5034
|
}
|
|
4397
5035
|
|
|
4398
5036
|
export declare type QRCodeScene = InteractiveWidgetSceneBase<InteractiveWidgetSceneTemplateType.QR_CODE>;
|
|
@@ -4421,7 +5059,7 @@ export declare interface QuestionRepository {
|
|
|
4421
5059
|
readonly selectedAnswerId: string | undefined;
|
|
4422
5060
|
isSubmitted: boolean;
|
|
4423
5061
|
isSubmitting: boolean;
|
|
4424
|
-
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;
|
|
4425
5063
|
selectAnswer: (answerId: string | undefined) => void;
|
|
4426
5064
|
setShowCountdown: (showCountdown: boolean) => void;
|
|
4427
5065
|
reset: () => void;
|
|
@@ -4662,6 +5300,16 @@ export declare type RequiredNonNullable<T> = {
|
|
|
4662
5300
|
[P in keyof T]-?: NonNullable<T[P]>;
|
|
4663
5301
|
};
|
|
4664
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
|
+
|
|
4665
5313
|
/**
|
|
4666
5314
|
* @public
|
|
4667
5315
|
*/
|
|
@@ -4684,6 +5332,7 @@ export declare interface RouterOverrides {
|
|
|
4684
5332
|
gridType: GRID_TYPES.ROW;
|
|
4685
5333
|
rowId: string;
|
|
4686
5334
|
organizationId?: string;
|
|
5335
|
+
applicationHandle?: string;
|
|
4687
5336
|
} | {
|
|
4688
5337
|
gridType: GRID_TYPES.VIDEO;
|
|
4689
5338
|
videoId: string;
|
|
@@ -4715,6 +5364,7 @@ export declare interface RouterOverrides {
|
|
|
4715
5364
|
goToRecommendedFromOrganizationRow: (screenId: string, rowId: string) => void;
|
|
4716
5365
|
goToMagentaMomentsPage: (voucher?: string) => void;
|
|
4717
5366
|
goToVoucherRedeemPage: () => void;
|
|
5367
|
+
goToSubscriptionsPage: (organizationHandle?: string) => void;
|
|
4718
5368
|
updateParams: (params: URLSearchParams) => void;
|
|
4719
5369
|
navigate: (path: string) => void;
|
|
4720
5370
|
}
|
|
@@ -4733,25 +5383,7 @@ export declare interface RouterOverridesContextState {
|
|
|
4733
5383
|
/**
|
|
4734
5384
|
* @public
|
|
4735
5385
|
*/
|
|
4736
|
-
export declare
|
|
4737
|
-
id: string;
|
|
4738
|
-
rowId: string;
|
|
4739
|
-
name: string;
|
|
4740
|
-
description?: string;
|
|
4741
|
-
assets: AssetsField;
|
|
4742
|
-
type: ScreenRowType;
|
|
4743
|
-
isLiveRow: boolean;
|
|
4744
|
-
tiles: PaginationInterface<ItemInRow>;
|
|
4745
|
-
numberOfLines?: number;
|
|
4746
|
-
monetizations?: {
|
|
4747
|
-
monetizationRef: any;
|
|
4748
|
-
}[];
|
|
4749
|
-
rowComponent: RowComponent.ROW | RowComponent.BANNER;
|
|
4750
|
-
itemComponent: RowItemComponent | BannerItemComponent;
|
|
4751
|
-
organizationId?: string;
|
|
4752
|
-
bottomComponent?: BottomComponent;
|
|
4753
|
-
showDescriptionAsTitle?: boolean;
|
|
4754
|
-
}
|
|
5386
|
+
export declare type Row = StaticRow | DynamicRow;
|
|
4755
5387
|
|
|
4756
5388
|
/**
|
|
4757
5389
|
* @public
|
|
@@ -4769,17 +5401,41 @@ export declare enum ROW_ITEM_TYPES {
|
|
|
4769
5401
|
/**
|
|
4770
5402
|
* @public
|
|
4771
5403
|
*/
|
|
4772
|
-
export declare interface RowBanner extends
|
|
5404
|
+
export declare interface RowBanner extends DynamicRow {
|
|
4773
5405
|
rowComponent: RowComponent.BANNER;
|
|
4774
5406
|
itemComponent: BannerItemComponent;
|
|
4775
5407
|
}
|
|
4776
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
|
+
|
|
4777
5418
|
/**
|
|
4778
5419
|
* @public
|
|
4779
5420
|
*/
|
|
4780
5421
|
export declare enum RowComponent {
|
|
4781
5422
|
ROW = "ROW",
|
|
4782
|
-
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"
|
|
4783
5439
|
}
|
|
4784
5440
|
|
|
4785
5441
|
export declare enum RowFilterCollection {
|
|
@@ -4813,72 +5469,10 @@ export declare interface RowFilterWhereField {
|
|
|
4813
5469
|
value: any;
|
|
4814
5470
|
}
|
|
4815
5471
|
|
|
4816
|
-
|
|
4817
|
-
|
|
4818
|
-
|
|
4819
|
-
|
|
4820
|
-
path?: string;
|
|
4821
|
-
/**
|
|
4822
|
-
* Tivio row ID.
|
|
4823
|
-
*/
|
|
4824
|
-
rowId: string;
|
|
4825
|
-
/**
|
|
4826
|
-
* If all items are from the same organization this will be set.
|
|
4827
|
-
*/
|
|
4828
|
-
organizationId?: string;
|
|
4829
|
-
/**
|
|
4830
|
-
* Row name.
|
|
4831
|
-
*/
|
|
4832
|
-
name: Translation;
|
|
4833
|
-
/**
|
|
4834
|
-
* Row filter based on which to pick tiles.
|
|
4835
|
-
*/
|
|
4836
|
-
filter?: RowFilterField;
|
|
4837
|
-
/**
|
|
4838
|
-
* Row order in the screen.
|
|
4839
|
-
*/
|
|
4840
|
-
order?: number;
|
|
4841
|
-
/**
|
|
4842
|
-
* Number of lines of the title.
|
|
4843
|
-
*/
|
|
4844
|
-
numberOfLines?: number;
|
|
4845
|
-
/**
|
|
4846
|
-
* Standard row or a Banner.
|
|
4847
|
-
*/
|
|
4848
|
-
rowComponent: RowComponent;
|
|
4849
|
-
/**
|
|
4850
|
-
* Component to use to render the tiles in the row.
|
|
4851
|
-
*/
|
|
4852
|
-
itemComponent: RowItemComponent | BannerItemComponent;
|
|
4853
|
-
/**
|
|
4854
|
-
* Type of the row (continue to watch, custom, filter, ...).
|
|
4855
|
-
*/
|
|
4856
|
-
type: ScreenRowType;
|
|
4857
|
-
/**
|
|
4858
|
-
* Items to display in the row.
|
|
4859
|
-
*/
|
|
4860
|
-
tiles: GetTilesInRowResponse;
|
|
4861
|
-
/**
|
|
4862
|
-
* Setting for decided what to show bellow the tiles
|
|
4863
|
-
*/
|
|
4864
|
-
bottomComponent?: BottomComponent;
|
|
4865
|
-
/**
|
|
4866
|
-
* Setting for decided whether to show description instead of title in the tiles
|
|
4867
|
-
*/
|
|
4868
|
-
showDescriptionAsTitle?: boolean;
|
|
4869
|
-
/**
|
|
4870
|
-
* Setting for decided whether to hide title in the tiles/banners
|
|
4871
|
-
*/
|
|
4872
|
-
hideTitle?: boolean;
|
|
4873
|
-
/**
|
|
4874
|
-
* Link to external URL
|
|
4875
|
-
*/
|
|
4876
|
-
externalUrl?: string;
|
|
4877
|
-
/**
|
|
4878
|
-
* Title of Play button
|
|
4879
|
-
*/
|
|
4880
|
-
playButtonTitle?: Translation;
|
|
4881
|
-
};
|
|
5472
|
+
/**
|
|
5473
|
+
* Row in screen - can be either static or dynamic
|
|
5474
|
+
*/
|
|
5475
|
+
export declare type RowInScreen = StaticRowInScreen | DynamicRowInScreen;
|
|
4882
5476
|
|
|
4883
5477
|
/**
|
|
4884
5478
|
* @public
|
|
@@ -4891,6 +5485,7 @@ export declare interface RowItem extends RowItemAssets {
|
|
|
4891
5485
|
assets: AssetsField | null;
|
|
4892
5486
|
application: RowItemApplicationData | null;
|
|
4893
5487
|
feedVisible?: boolean;
|
|
5488
|
+
tileProps?: TileProps;
|
|
4894
5489
|
}
|
|
4895
5490
|
|
|
4896
5491
|
/**
|
|
@@ -4928,7 +5523,11 @@ export declare enum RowItemComponent {
|
|
|
4928
5523
|
ROW_ITEM_CREATORS_LANDSCAPE = "ROW_ITEM_CREATORS_LANDSCAPE",
|
|
4929
5524
|
ROW_ITEM_CIRCLED = "ROW_ITEM_CIRCLED",
|
|
4930
5525
|
ROW_ITEM_HIGHLIGHTED = "ROW_ITEM_HIGHLIGHTED",
|
|
4931
|
-
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"
|
|
4932
5531
|
}
|
|
4933
5532
|
|
|
4934
5533
|
/**
|
|
@@ -4945,6 +5544,16 @@ export declare type RowItemsSubscription = (rowId: string, cb: (error: Error | n
|
|
|
4945
5544
|
hasNextPage: boolean;
|
|
4946
5545
|
} | null, fetchMore: null | ((count?: number) => void), isLoading: boolean) => void, limit?: number) => Disposer_2;
|
|
4947
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
|
+
|
|
4948
5557
|
/**
|
|
4949
5558
|
* RowOrderByFieldPath that is used in @tivio/firebase needs to be retyped here.
|
|
4950
5559
|
* @public
|
|
@@ -4957,7 +5566,7 @@ export declare enum RowOrderByFieldPath {
|
|
|
4957
5566
|
/**
|
|
4958
5567
|
* @public
|
|
4959
5568
|
*/
|
|
4960
|
-
export declare interface RowStandard extends
|
|
5569
|
+
export declare interface RowStandard extends DynamicRow {
|
|
4961
5570
|
rowComponent: RowComponent.ROW;
|
|
4962
5571
|
itemComponent: RowItemComponent;
|
|
4963
5572
|
}
|
|
@@ -5070,6 +5679,11 @@ declare interface Screen_2 {
|
|
|
5070
5679
|
hasNextPage: boolean;
|
|
5071
5680
|
refetchIfNeeded: () => Promise<void>;
|
|
5072
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;
|
|
5073
5687
|
}
|
|
5074
5688
|
export { Screen_2 as Screen }
|
|
5075
5689
|
|
|
@@ -5101,7 +5715,7 @@ export declare type ScreenConfig = {
|
|
|
5101
5715
|
/**
|
|
5102
5716
|
* @public
|
|
5103
5717
|
*/
|
|
5104
|
-
export declare type ScreenRowType = 'filter' | 'custom' | 'continueToWatch' | 'favourites' | 'topWatched' | 'applications';
|
|
5718
|
+
export declare type ScreenRowType = 'filter' | 'custom' | 'continueToWatch' | 'favourites' | 'topWatched' | 'applications' | 'static';
|
|
5105
5719
|
|
|
5106
5720
|
/**
|
|
5107
5721
|
* Listen to screen data
|
|
@@ -5118,7 +5732,9 @@ export declare enum ScreenType {
|
|
|
5118
5732
|
EMBED = "embed",
|
|
5119
5733
|
RECOMMENDATION = "recommendation",
|
|
5120
5734
|
FEED = "feed",
|
|
5121
|
-
EPG = "epg"
|
|
5735
|
+
EPG = "epg",
|
|
5736
|
+
LANDING = "landing",
|
|
5737
|
+
PLAYER = "player"
|
|
5122
5738
|
}
|
|
5123
5739
|
|
|
5124
5740
|
/**
|
|
@@ -5142,14 +5758,6 @@ export declare type SdkReactConfig = Omit<TivioConfig, 'language'> & {
|
|
|
5142
5758
|
language?: LangCode;
|
|
5143
5759
|
};
|
|
5144
5760
|
|
|
5145
|
-
/**
|
|
5146
|
-
* @public
|
|
5147
|
-
*/
|
|
5148
|
-
export declare interface SDKUserAuthCallbacks {
|
|
5149
|
-
onGoToLogin?: () => void;
|
|
5150
|
-
onGoToRegistration?: () => void;
|
|
5151
|
-
}
|
|
5152
|
-
|
|
5153
5761
|
/**
|
|
5154
5762
|
* @public
|
|
5155
5763
|
* @deprecated sections are no longer used.
|
|
@@ -5364,7 +5972,22 @@ export declare const showGdprConsentPreferences: () => Promise<void>;
|
|
|
5364
5972
|
/**
|
|
5365
5973
|
* @public
|
|
5366
5974
|
*/
|
|
5367
|
-
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';
|
|
5368
5991
|
|
|
5369
5992
|
/**
|
|
5370
5993
|
* Simplified VideoController interface for external rendering
|
|
@@ -5453,27 +6076,6 @@ export declare interface SimplifiedVideoController {
|
|
|
5453
6076
|
muted: boolean;
|
|
5454
6077
|
volume: number;
|
|
5455
6078
|
}) => void): void;
|
|
5456
|
-
/**
|
|
5457
|
-
* Add an event listener for ad started events
|
|
5458
|
-
* @param event - Must be 'ad-started'
|
|
5459
|
-
* @param callback - Function called when an ad starts playing
|
|
5460
|
-
*/
|
|
5461
|
-
addEventListener(event: 'ad-started', callback: (adMetadata: AdMetadata & {
|
|
5462
|
-
customAdMetadata?: Record<string, unknown> | null;
|
|
5463
|
-
ctaElement: HTMLElement | null;
|
|
5464
|
-
}) => void): void;
|
|
5465
|
-
/**
|
|
5466
|
-
* Add an event listener for ad ended events
|
|
5467
|
-
* @param event - Must be 'ad-ended'
|
|
5468
|
-
* @param callback - Function called when an ad finishes playing
|
|
5469
|
-
*/
|
|
5470
|
-
addEventListener(event: 'ad-ended', callback: () => void): void;
|
|
5471
|
-
/**
|
|
5472
|
-
* Add an event listener for companion ads events
|
|
5473
|
-
* @param event - Must be 'companion-ads'
|
|
5474
|
-
* @param callback - Function called when companion ads are available
|
|
5475
|
-
*/
|
|
5476
|
-
addEventListener(event: 'companion-ads', callback: (companionAds: CompanionAd[]) => void): void;
|
|
5477
6079
|
/**
|
|
5478
6080
|
* Remove an event listener
|
|
5479
6081
|
* @param event - The event name to stop listening for
|
|
@@ -5485,7 +6087,6 @@ export declare interface SimplifiedVideoController {
|
|
|
5485
6087
|
* @param source - The new source to load (can be a video path, channel path, or source parameters)
|
|
5486
6088
|
*/
|
|
5487
6089
|
setSource(source: WebPlayerProps['source']): void;
|
|
5488
|
-
setAdsConfig(adsConfig: StaticAdsBreak[]): void;
|
|
5489
6090
|
/**
|
|
5490
6091
|
* Destroy the player and clean up all resources
|
|
5491
6092
|
*/
|
|
@@ -5528,100 +6129,314 @@ export declare type SourceBase = {
|
|
|
5528
6129
|
};
|
|
5529
6130
|
|
|
5530
6131
|
/**
|
|
5531
|
-
* Used to instantiate types of corresponding interfaces (children of {@link PlayerSourceInterface}).
|
|
5532
|
-
* @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)
|
|
5533
6331
|
*/
|
|
5534
|
-
|
|
6332
|
+
declare type StaticRowInScreenPresentBanner = BaseStaticRowInScreen & {
|
|
6333
|
+
rowComponent: RowComponent.PRESENT_BANNER;
|
|
6334
|
+
videoPath?: string;
|
|
6335
|
+
} & Omit<PresentBannerExtendRowData, 'name' | 'description'>;
|
|
5535
6336
|
|
|
5536
6337
|
/**
|
|
5537
|
-
*
|
|
5538
|
-
* - will be seekable or not
|
|
5539
|
-
* - duration will be dynamically updated as time goes on
|
|
5540
|
-
* - live button will be shown in ui
|
|
6338
|
+
* Video Banner static row - videoPath flatten to row level (no tiles)
|
|
5541
6339
|
*/
|
|
5542
|
-
|
|
5543
|
-
|
|
5544
|
-
|
|
5545
|
-
|
|
5546
|
-
|
|
5547
|
-
|
|
5548
|
-
|
|
5549
|
-
|
|
6340
|
+
declare type StaticRowInScreenVideoBanner = BaseStaticRowInScreen & {
|
|
6341
|
+
rowComponent: RowComponent.VIDEO_BANNER;
|
|
6342
|
+
videoPath?: string;
|
|
6343
|
+
};
|
|
6344
|
+
|
|
6345
|
+
/**
|
|
6346
|
+
* Static rows with tiles (NUMBERS, EXPLORE, etc.)
|
|
6347
|
+
*/
|
|
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
|
+
};
|
|
5550
6352
|
|
|
5551
6353
|
/**
|
|
6354
|
+
* Numbers row
|
|
5552
6355
|
* @public
|
|
5553
6356
|
*/
|
|
5554
|
-
export declare
|
|
5555
|
-
|
|
5556
|
-
|
|
5557
|
-
|
|
5558
|
-
|
|
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';
|
|
5559
6364
|
}
|
|
5560
6365
|
|
|
5561
6366
|
/**
|
|
5562
|
-
*
|
|
6367
|
+
* Present banner row
|
|
5563
6368
|
* @public
|
|
5564
6369
|
*/
|
|
5565
|
-
export declare interface
|
|
5566
|
-
|
|
5567
|
-
|
|
5568
|
-
|
|
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[];
|
|
5569
6382
|
}
|
|
5570
6383
|
|
|
5571
6384
|
/**
|
|
6385
|
+
* Reviews row
|
|
5572
6386
|
* @public
|
|
5573
6387
|
*/
|
|
5574
|
-
export declare
|
|
5575
|
-
|
|
5576
|
-
|
|
5577
|
-
|
|
5578
|
-
|
|
5579
|
-
|
|
5580
|
-
* On output from Tivio it is always defined. Tivio can change this value.
|
|
5581
|
-
* (e.g. in order to fix start position of a TV program)
|
|
5582
|
-
*/
|
|
5583
|
-
startFromPosition?: number;
|
|
5584
|
-
/**
|
|
5585
|
-
* Relative from stream start, in ms.
|
|
5586
|
-
*
|
|
5587
|
-
* On input to Tivio either `startFromPosition` or `continueFromPosition` must always be provided.
|
|
5588
|
-
*
|
|
5589
|
-
* If provided, tivio will not correct it and will send this value back in startFromPosition.
|
|
5590
|
-
* If provided, startFromPosition is ignored.
|
|
5591
|
-
*/
|
|
5592
|
-
continueFromPosition?: number;
|
|
5593
|
-
};
|
|
5594
|
-
|
|
5595
|
-
export declare type StartLiveStreamPayload = BaseWidgetControlPayload;
|
|
5596
|
-
|
|
5597
|
-
declare interface StartLiveStreamRequest {
|
|
5598
|
-
action: 'startLiveStream';
|
|
5599
|
-
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;
|
|
5600
6394
|
}
|
|
5601
6395
|
|
|
5602
|
-
|
|
5603
|
-
|
|
5604
|
-
|
|
5605
|
-
|
|
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;
|
|
5606
6406
|
}
|
|
5607
6407
|
|
|
5608
|
-
|
|
5609
|
-
|
|
5610
|
-
|
|
5611
|
-
|
|
5612
|
-
|
|
5613
|
-
|
|
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;
|
|
5614
6418
|
}
|
|
5615
6419
|
|
|
5616
|
-
|
|
5617
|
-
|
|
5618
|
-
|
|
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;
|
|
5619
6429
|
}
|
|
5620
6430
|
|
|
5621
|
-
|
|
5622
|
-
|
|
5623
|
-
|
|
5624
|
-
|
|
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;
|
|
5625
6440
|
|
|
5626
6441
|
/**
|
|
5627
6442
|
* @public
|
|
@@ -5637,6 +6452,15 @@ export declare interface StoreBadgeConfig {
|
|
|
5637
6452
|
appId: string;
|
|
5638
6453
|
}
|
|
5639
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
|
+
|
|
5640
6464
|
export declare interface SubmitAnswerRequest {
|
|
5641
6465
|
answerOptionId?: string;
|
|
5642
6466
|
answerText?: string;
|
|
@@ -5705,6 +6529,25 @@ declare interface SubscriptionInfo {
|
|
|
5705
6529
|
frequency: string;
|
|
5706
6530
|
}
|
|
5707
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
|
+
|
|
5708
6551
|
/**
|
|
5709
6552
|
* @public
|
|
5710
6553
|
*/
|
|
@@ -5745,8 +6588,8 @@ export declare interface Tag extends RowItem {
|
|
|
5745
6588
|
detailBanner?: string;
|
|
5746
6589
|
availableSeasons?: AvailableSeason[];
|
|
5747
6590
|
isFavorite: boolean;
|
|
5748
|
-
addToFavorites: () =>
|
|
5749
|
-
removeFromFavorites: () =>
|
|
6591
|
+
addToFavorites: () => void;
|
|
6592
|
+
removeFromFavorites: () => void;
|
|
5750
6593
|
cover: string;
|
|
5751
6594
|
getApplicationName: () => string | undefined;
|
|
5752
6595
|
seriesRef?: DocumentReference<any>;
|
|
@@ -5859,48 +6702,10 @@ export declare interface TileApplicationData {
|
|
|
5859
6702
|
isMainApplication?: boolean;
|
|
5860
6703
|
}
|
|
5861
6704
|
|
|
5862
|
-
export declare interface TileData<ItemSpecificData = VideoTileSpecificData | TvChannelTileSpecificData | TagTileSpecificData | ArticleTileSpecificData | SeriesTileSpecificData> {
|
|
5863
|
-
/**
|
|
5864
|
-
* Tile item ID.
|
|
5865
|
-
*/
|
|
5866
|
-
id: string;
|
|
5867
|
-
/**
|
|
5868
|
-
* Timestamp of the item creation.
|
|
5869
|
-
*/
|
|
5870
|
-
created: number;
|
|
5871
|
-
/**
|
|
5872
|
-
* Type of the tile. VIDEO, TV_CHANNEL, TAG, ...
|
|
5873
|
-
*/
|
|
5874
|
-
itemType: ROW_ITEM_TYPES;
|
|
5875
|
-
/**
|
|
5876
|
-
* Tile item name translation.
|
|
5877
|
-
*/
|
|
5878
|
-
name: Translation;
|
|
5879
|
-
/**
|
|
5880
|
-
* Firestore path to the item.
|
|
5881
|
-
*/
|
|
5882
|
-
path: string;
|
|
5883
|
-
/**
|
|
5884
|
-
* Application info including logo, name and number of videos.
|
|
5885
|
-
*/
|
|
5886
|
-
application?: TileApplicationData;
|
|
5887
|
-
/**
|
|
5888
|
-
* Specific data for an item type (e.g. video, tv channel, tag, ...).
|
|
5889
|
-
*/
|
|
5890
|
-
itemSpecificData: ItemSpecificData;
|
|
5891
|
-
}
|
|
5892
|
-
|
|
5893
|
-
export declare interface TileMonetizationData {
|
|
5894
|
-
id: string;
|
|
5895
|
-
path: string;
|
|
5896
|
-
placementType: 'channel' | 'tvChannel' | 'condition' | 'video' | 'section' | 'row';
|
|
5897
|
-
type: MonetizationType;
|
|
5898
|
-
}
|
|
5899
|
-
|
|
5900
6705
|
/**
|
|
5901
6706
|
* @public
|
|
5902
6707
|
*/
|
|
5903
|
-
export declare interface
|
|
6708
|
+
export declare interface TileComponentProps {
|
|
5904
6709
|
children?: React_2.ReactNode;
|
|
5905
6710
|
cover?: string;
|
|
5906
6711
|
bottomLabel: string;
|
|
@@ -5942,12 +6747,49 @@ export declare interface TileProps {
|
|
|
5942
6747
|
itemType?: ROW_ITEM_TYPES;
|
|
5943
6748
|
description?: string;
|
|
5944
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;
|
|
5945
6778
|
}
|
|
5946
6779
|
|
|
5947
6780
|
/**
|
|
5948
6781
|
* @public
|
|
5949
6782
|
*/
|
|
5950
|
-
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
|
+
}
|
|
5951
6793
|
|
|
5952
6794
|
/**
|
|
5953
6795
|
* @public
|
|
@@ -6039,10 +6881,6 @@ export declare interface TivioComponents {
|
|
|
6039
6881
|
ContentSortPicker: React_2.ComponentType<ContentSortPickerProps>;
|
|
6040
6882
|
WebTivioProVideoScreen: React_2.ComponentType<WebTivioProVideoScreenProps>;
|
|
6041
6883
|
RemoteController: React_2.ComponentType<RemoteControllerProps>;
|
|
6042
|
-
MonetizationsSelectOverlay: React_2.ComponentType;
|
|
6043
|
-
MonetizationsSelectOverlayContextProvider: React_2.ComponentType<{
|
|
6044
|
-
children: React_2.ReactNode;
|
|
6045
|
-
}>;
|
|
6046
6884
|
}
|
|
6047
6885
|
|
|
6048
6886
|
/**
|
|
@@ -6079,7 +6917,10 @@ export declare interface TivioConfig {
|
|
|
6079
6917
|
* @deprecated this field is no longer in use and has no impact when set.
|
|
6080
6918
|
*/
|
|
6081
6919
|
firestore?: any | null;
|
|
6082
|
-
|
|
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;
|
|
6083
6924
|
/**
|
|
6084
6925
|
* Represents an optional array of LanguageSelector objects.
|
|
6085
6926
|
* Used to define and manage a list of supported languages for different language-usages (user, content,...).
|
|
@@ -6238,6 +7079,10 @@ export declare type TivioInternalComponents = {
|
|
|
6238
7079
|
}>;
|
|
6239
7080
|
Banner: React_2.ComponentType<BannerPropsPartial>;
|
|
6240
7081
|
CustomAppHistoryContext: React_2.Context<HistoryContextData | undefined>;
|
|
7082
|
+
ScrollableSubscriptionList: React_2.ComponentType<{
|
|
7083
|
+
subscriptions: PurchasableMonetization[];
|
|
7084
|
+
renderSubscription: (subscription: PurchasableMonetization) => React_2.ReactNode;
|
|
7085
|
+
}>;
|
|
6241
7086
|
};
|
|
6242
7087
|
|
|
6243
7088
|
/**
|
|
@@ -6288,6 +7133,13 @@ export declare type TivioInternalHooks = {
|
|
|
6288
7133
|
error: Error | null;
|
|
6289
7134
|
loading: boolean;
|
|
6290
7135
|
});
|
|
7136
|
+
useScrollShadows: () => {
|
|
7137
|
+
scrollRef: React_2.RefObject<HTMLDivElement>;
|
|
7138
|
+
showLeftShadow: boolean;
|
|
7139
|
+
showRightShadow: boolean;
|
|
7140
|
+
shouldCenter: boolean;
|
|
7141
|
+
checkScrollShadows: () => void;
|
|
7142
|
+
};
|
|
6291
7143
|
useTvChannel: UseTvChannel;
|
|
6292
7144
|
useUser: () => {
|
|
6293
7145
|
user: User | null;
|
|
@@ -6315,9 +7167,7 @@ export declare type TivioInternalProviders = {
|
|
|
6315
7167
|
UserContextProvider: React_2.ComponentType<{
|
|
6316
7168
|
children?: React_2.ReactNode;
|
|
6317
7169
|
}>;
|
|
6318
|
-
MonetizationsSelectOverlayContextProvider: React_2.ComponentType
|
|
6319
|
-
children: React_2.ReactNode;
|
|
6320
|
-
}>;
|
|
7170
|
+
MonetizationsSelectOverlayContextProvider: React_2.ComponentType;
|
|
6321
7171
|
QerkoOverlayContextProvider: React_2.ComponentType;
|
|
6322
7172
|
/**
|
|
6323
7173
|
* @deprecated do not use, this provider will be removed in the future
|
|
@@ -6414,7 +7264,7 @@ export declare type TivioReactBundle = {
|
|
|
6414
7264
|
subscriptions: TivioSubscriptions;
|
|
6415
7265
|
purchaseVideoWithQerko: (videoId: string, monetizationId: string, voucher?: {
|
|
6416
7266
|
expirationDate: Date;
|
|
6417
|
-
}) => Promise<QerkoPaymentInfo>;
|
|
7267
|
+
}, email?: string) => Promise<QerkoPaymentInfo>;
|
|
6418
7268
|
purchaseSubscriptionWithQerko: (monetizationId: string, voucher?: {
|
|
6419
7269
|
expirationDate: Date;
|
|
6420
7270
|
}) => Promise<QerkoPaymentInfo>;
|
|
@@ -6555,7 +7405,7 @@ export declare interface TvAppProps {
|
|
|
6555
7405
|
/**
|
|
6556
7406
|
* @public
|
|
6557
7407
|
*/
|
|
6558
|
-
export declare interface TvChannel extends RowItem
|
|
7408
|
+
export declare interface TvChannel extends RowItem {
|
|
6559
7409
|
id: string;
|
|
6560
7410
|
itemType: ROW_ITEM_TYPES.TV_CHANNEL;
|
|
6561
7411
|
name: string;
|
|
@@ -6566,11 +7416,17 @@ export declare interface TvChannel extends RowItem, MonetizableItem {
|
|
|
6566
7416
|
logoPendingOverlayWidth?: string;
|
|
6567
7417
|
hls: string;
|
|
6568
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[];
|
|
6569
7424
|
getSourceUrl(options?: {
|
|
6570
7425
|
language?: LangCode;
|
|
6571
7426
|
}): Promise<GetSourceUrlResponse & {
|
|
6572
7427
|
language?: LangCode;
|
|
6573
7428
|
}>;
|
|
7429
|
+
purchasableMonetization: any | null;
|
|
6574
7430
|
price: number;
|
|
6575
7431
|
cover: string;
|
|
6576
7432
|
isPlayable: boolean;
|
|
@@ -6600,7 +7456,12 @@ export declare enum TvChannelType {
|
|
|
6600
7456
|
/**
|
|
6601
7457
|
* "Virtual" tv channel constructed from separate videos
|
|
6602
7458
|
*/
|
|
6603
|
-
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"
|
|
6604
7465
|
}
|
|
6605
7466
|
|
|
6606
7467
|
/**
|
|
@@ -6682,6 +7543,13 @@ export declare type UpdateNotificationSettingsRequest = {
|
|
|
6682
7543
|
|
|
6683
7544
|
export declare type UpdateNotificationSettingsResponse = Promise<boolean>;
|
|
6684
7545
|
|
|
7546
|
+
export declare type UpdateUserEmailPayload = {
|
|
7547
|
+
newEmail: string;
|
|
7548
|
+
password: string;
|
|
7549
|
+
name: string;
|
|
7550
|
+
token?: string;
|
|
7551
|
+
};
|
|
7552
|
+
|
|
6685
7553
|
export declare type UpsertCommentResponse = AddEditCommentResponse | DeleteCommentResponse;
|
|
6686
7554
|
|
|
6687
7555
|
export declare type UrlNamesType = {
|
|
@@ -6744,7 +7612,7 @@ export declare const useCancelSubscription: UseCancelSubscription;
|
|
|
6744
7612
|
* @public
|
|
6745
7613
|
*/
|
|
6746
7614
|
export declare interface UseCancelSubscriptionsResult {
|
|
6747
|
-
cancelSubscriptions: (subscriptionIds: string[]) => Promise<
|
|
7615
|
+
cancelSubscriptions: (subscriptionIds: string[]) => Promise<boolean>;
|
|
6748
7616
|
cancellationInfos: QerkoCancellationInfo[];
|
|
6749
7617
|
errors: string[];
|
|
6750
7618
|
}
|
|
@@ -6953,9 +7821,17 @@ export declare type User = {
|
|
|
6953
7821
|
* Returns all PAID or CANCELLED user purchases (expired and non-expired)
|
|
6954
7822
|
*/
|
|
6955
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
|
+
*/
|
|
6956
7832
|
availablePromotionsIds: string[];
|
|
6957
7833
|
/**
|
|
6958
|
-
* Returns "active" (not CANCELLED) VoD purchases ("transaction" type)
|
|
7834
|
+
* Returns "active" (not CANCELLED) VoD purchases ("transaction" type")
|
|
6959
7835
|
*/
|
|
6960
7836
|
purchasedVods: Purchase[];
|
|
6961
7837
|
/**
|
|
@@ -7043,9 +7919,6 @@ export declare type User = {
|
|
|
7043
7919
|
getAllExtendableSubscriptions: () => Promise<Purchase[]>;
|
|
7044
7920
|
getRssValidToken: () => Promise<TokenInterface | undefined>;
|
|
7045
7921
|
getRssUrl: () => Promise<GetUserRssUrlResponse>;
|
|
7046
|
-
getFavorites: (options?: GetUserProfileDataOptions) => Promise<FavoriteWithData[]>;
|
|
7047
|
-
getWatchPositions: (options?: GetUserProfileDataOptions) => Promise<WatchPositionWithData[]>;
|
|
7048
|
-
getWatchHistory: (options?: GetUserProfileDataOptions) => Promise<WatchPositionWithData[]>;
|
|
7049
7922
|
invalidateAllTokens: (type: TokenType) => Promise<void>;
|
|
7050
7923
|
isPartiallyRegistered: boolean;
|
|
7051
7924
|
conversationStore: ConversationStore;
|
|
@@ -7091,7 +7964,7 @@ export declare interface UserNotificationSettings {
|
|
|
7091
7964
|
* @public
|
|
7092
7965
|
*/
|
|
7093
7966
|
export declare type UseRow = (rowId: string | null, organizationId?: string) => {
|
|
7094
|
-
row:
|
|
7967
|
+
row: BaseRow | null;
|
|
7095
7968
|
error: Error | null;
|
|
7096
7969
|
};
|
|
7097
7970
|
|
|
@@ -7333,7 +8206,6 @@ export declare enum VastProvider {
|
|
|
7333
8206
|
TEST = "test",
|
|
7334
8207
|
TEST_VPAID = "test-vpaid",
|
|
7335
8208
|
TIVIO_ADS = "tivio-ads",
|
|
7336
|
-
STATIC_ADS_PROVIDER = "static-ads-provider",
|
|
7337
8209
|
JOJ_TEST_AD_FORM_PROGRAMMATIC = "joj-test-ad-form-programmatic",
|
|
7338
8210
|
JOJ_TEST_TESTER_VASTERIX = "joj-test-tester-vasterix",
|
|
7339
8211
|
JOJ_TEST_TESTER_ADFORM_30 = "joj-test-tester-adform-30"
|
|
@@ -7417,8 +8289,8 @@ export declare interface Video extends RowItem, MonetizableItem, ReactableConten
|
|
|
7417
8289
|
tasting: Video | null;
|
|
7418
8290
|
watchPosition: number | null;
|
|
7419
8291
|
isFavorite: boolean;
|
|
7420
|
-
addToFavorites: () =>
|
|
7421
|
-
removeFromFavorites: () =>
|
|
8292
|
+
addToFavorites: () => void;
|
|
8293
|
+
removeFromFavorites: () => void;
|
|
7422
8294
|
availability: ContentAvailability | null;
|
|
7423
8295
|
sourceLanguages: LangCode[];
|
|
7424
8296
|
urlByLanguage: (lang: LangCode) => string | undefined;
|
|
@@ -7476,10 +8348,6 @@ export declare interface VideoController {
|
|
|
7476
8348
|
muted: boolean;
|
|
7477
8349
|
volume: number;
|
|
7478
8350
|
}) => void): void;
|
|
7479
|
-
addEventListener(event: 'ad-started', callback: (value: AdMetadata & {
|
|
7480
|
-
adCtaElement: HTMLElement | null;
|
|
7481
|
-
}) => void): void;
|
|
7482
|
-
addEventListener(event: 'companion-ads', callback: (value: CompanionAd[]) => void): void;
|
|
7483
8351
|
/**
|
|
7484
8352
|
* Remove an event listener
|
|
7485
8353
|
* @param event - The event name to stop listening for
|
|
@@ -7515,6 +8383,10 @@ export declare interface VideoController {
|
|
|
7515
8383
|
* Replay the current video from the beginning
|
|
7516
8384
|
*/
|
|
7517
8385
|
replay(): Promise<void>;
|
|
8386
|
+
/**
|
|
8387
|
+
* Refresh the current source by calling getSourceUrl without sourceHistory.
|
|
8388
|
+
*/
|
|
8389
|
+
refreshSource(): Promise<void>;
|
|
7518
8390
|
/**
|
|
7519
8391
|
* Retry playback if it failed to start
|
|
7520
8392
|
*/
|
|
@@ -7605,7 +8477,30 @@ export declare interface VideoController {
|
|
|
7605
8477
|
* @param mutations - Array of DOM mutation records
|
|
7606
8478
|
*/
|
|
7607
8479
|
onWatermarkElementChange(mutations: MutationRecord[]): void;
|
|
7608
|
-
|
|
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;
|
|
7609
8504
|
}
|
|
7610
8505
|
|
|
7611
8506
|
declare type VideoDetailResponsiveField = OrganizationResponsiveSetting<{
|
|
@@ -7626,7 +8521,7 @@ declare type VideoDetailResponsiveField = OrganizationResponsiveSetting<{
|
|
|
7626
8521
|
/**
|
|
7627
8522
|
* @public
|
|
7628
8523
|
*/
|
|
7629
|
-
export declare type VideoExternals = (JojExternals |
|
|
8524
|
+
export declare type VideoExternals = (JojExternals | OktagonExternals | MigratedVideoExternals | SportyExternals | AdExternals) & {
|
|
7630
8525
|
channelKey?: string;
|
|
7631
8526
|
};
|
|
7632
8527
|
|
|
@@ -7689,6 +8584,11 @@ export declare type VideoSourceField = {
|
|
|
7689
8584
|
* because content id in source url and authentication will not match.
|
|
7690
8585
|
*/
|
|
7691
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[];
|
|
7692
8592
|
} & ({
|
|
7693
8593
|
url: string;
|
|
7694
8594
|
provider?: Exclude<VideoSourceProvider, VideoSourceProvider.CLOUDFLARE>;
|
|
@@ -7738,6 +8638,7 @@ export declare interface VideoTileSpecificData {
|
|
|
7738
8638
|
urlName?: UrlNamesType;
|
|
7739
8639
|
monetizations?: VideoTileMonetizationData[];
|
|
7740
8640
|
description?: Translation;
|
|
8641
|
+
duration?: number;
|
|
7741
8642
|
}
|
|
7742
8643
|
|
|
7743
8644
|
/**
|
|
@@ -7839,18 +8740,9 @@ export declare interface VirtualChannelSourceInterface extends ChannelSourceInte
|
|
|
7839
8740
|
*/
|
|
7840
8741
|
export declare interface VirtualChannelSourceParams extends ChannelSourceParams {
|
|
7841
8742
|
tvChannelType: TvChannelType.VIRTUAL;
|
|
7842
|
-
currentProgram?: TvProgram | null;
|
|
7843
8743
|
drm?: Drm;
|
|
7844
8744
|
}
|
|
7845
8745
|
|
|
7846
|
-
/**
|
|
7847
|
-
* Interface representing the parameters for a VOD (Video On Demand) external multi-source configuration.
|
|
7848
|
-
* Multi-source means an array of string URLs representing the external sources for the video content.
|
|
7849
|
-
*/
|
|
7850
|
-
export declare interface VodExternalMultiSourceParams extends Omit<VodExternalSourceParams, 'url'> {
|
|
7851
|
-
urls: string[];
|
|
7852
|
-
}
|
|
7853
|
-
|
|
7854
8746
|
/**
|
|
7855
8747
|
* @public
|
|
7856
8748
|
*/
|
|
@@ -7949,21 +8841,6 @@ export declare interface WarningConfirmationOverlayPayload extends ConfirmationO
|
|
|
7949
8841
|
subscriptionExpirationText?: string;
|
|
7950
8842
|
}
|
|
7951
8843
|
|
|
7952
|
-
/**
|
|
7953
|
-
* @public
|
|
7954
|
-
*/
|
|
7955
|
-
export declare interface WatchPositionWithData extends Omit<UserWatchPositionField, 'videoRef' | 'tagRef'> {
|
|
7956
|
-
/**
|
|
7957
|
-
* Video that given watch position is related to.
|
|
7958
|
-
*/
|
|
7959
|
-
video: Video;
|
|
7960
|
-
/**
|
|
7961
|
-
* If user watches episode of series, we have to save series ref as well.
|
|
7962
|
-
* Same for {@link episodeNumber} and {@link seasonNumber}.
|
|
7963
|
-
*/
|
|
7964
|
-
tag?: Tag;
|
|
7965
|
-
}
|
|
7966
|
-
|
|
7967
8844
|
/**
|
|
7968
8845
|
* @public
|
|
7969
8846
|
*/
|
|
@@ -7974,7 +8851,6 @@ export declare interface Watermark {
|
|
|
7974
8851
|
|
|
7975
8852
|
export declare interface WebConfig {
|
|
7976
8853
|
customer: CustomerId;
|
|
7977
|
-
customerName?: string;
|
|
7978
8854
|
title?: string;
|
|
7979
8855
|
description?: string;
|
|
7980
8856
|
logo: string;
|
|
@@ -7988,37 +8864,31 @@ export declare interface WebConfig {
|
|
|
7988
8864
|
header?: {
|
|
7989
8865
|
/**
|
|
7990
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
|
|
7991
8869
|
*/
|
|
7992
8870
|
buyVoucherButtonText?: string;
|
|
7993
8871
|
/**
|
|
7994
|
-
*
|
|
8872
|
+
* Configurable button shown in the header (e.g., for vouchers, creator signup, etc.)
|
|
8873
|
+
* Array of language-specific button configurations.
|
|
7995
8874
|
*/
|
|
7996
|
-
|
|
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
|
+
})[];
|
|
7997
8882
|
allowSearch?: boolean;
|
|
7998
8883
|
logoHeight?: string;
|
|
7999
8884
|
mobileLogoHeight?: string;
|
|
8000
8885
|
buySubscriptionButtonText?: string;
|
|
8001
|
-
isHidden?: boolean;
|
|
8002
|
-
/**
|
|
8003
|
-
* Additional menu items to be shown in the rounded menu in the header (external or internal)
|
|
8004
|
-
*/
|
|
8005
|
-
additionalMenuItems?: {
|
|
8006
|
-
name: string;
|
|
8007
|
-
href: string;
|
|
8008
|
-
newTab?: boolean;
|
|
8009
|
-
}[];
|
|
8010
8886
|
};
|
|
8011
8887
|
footer?: {
|
|
8012
|
-
isHidden?: boolean;
|
|
8013
8888
|
/**
|
|
8014
8889
|
* If logo is different from logo in header
|
|
8015
8890
|
*/
|
|
8016
8891
|
logo?: string;
|
|
8017
|
-
/**
|
|
8018
|
-
* @fixme https://app.clickup.com/t/90151157205/TIV-1515
|
|
8019
|
-
* If multiple logos are provided, the multiple logos are prioritized over the single logo.
|
|
8020
|
-
*/
|
|
8021
|
-
multipleLogos?: string[];
|
|
8022
8892
|
showLogo?: boolean;
|
|
8023
8893
|
/**
|
|
8024
8894
|
* right panel - various type of contacts to owners of website
|
|
@@ -8061,19 +8931,6 @@ export declare interface WebConfig {
|
|
|
8061
8931
|
email?: string;
|
|
8062
8932
|
};
|
|
8063
8933
|
cookieSettingsLabel?: string;
|
|
8064
|
-
disclaimer?: string;
|
|
8065
|
-
showDivider?: boolean;
|
|
8066
|
-
/**
|
|
8067
|
-
* Additional links to be shown in the footer
|
|
8068
|
-
*/
|
|
8069
|
-
additionalLinks?: {
|
|
8070
|
-
name: string;
|
|
8071
|
-
href: string;
|
|
8072
|
-
}[];
|
|
8073
|
-
/**
|
|
8074
|
-
* Hide footer on these paths
|
|
8075
|
-
*/
|
|
8076
|
-
hideFooter?: string[];
|
|
8077
8934
|
partners?: {
|
|
8078
8935
|
name: string;
|
|
8079
8936
|
logo: string;
|
|
@@ -8089,14 +8946,6 @@ export declare interface WebConfig {
|
|
|
8089
8946
|
* so app requires authorization to see them.
|
|
8090
8947
|
*/
|
|
8091
8948
|
securedContent?: boolean;
|
|
8092
|
-
/**
|
|
8093
|
-
* If true, then auth is required for all pages.
|
|
8094
|
-
*/
|
|
8095
|
-
isAuthRequired?: boolean;
|
|
8096
|
-
/**
|
|
8097
|
-
* If true, then buy subscription button is hidden.
|
|
8098
|
-
*/
|
|
8099
|
-
hideBuySubscriptionButton?: boolean;
|
|
8100
8949
|
/**
|
|
8101
8950
|
* CSS styles for application background.
|
|
8102
8951
|
*/
|
|
@@ -8115,10 +8964,6 @@ export declare interface WebConfig {
|
|
|
8115
8964
|
* Default is TRUE (see {@link AppLoadingOverlay}
|
|
8116
8965
|
*/
|
|
8117
8966
|
showProgressBar?: boolean;
|
|
8118
|
-
/**
|
|
8119
|
-
* URL to background image shown on loading screen.
|
|
8120
|
-
*/
|
|
8121
|
-
backgroundUrl?: string;
|
|
8122
8967
|
};
|
|
8123
8968
|
/**
|
|
8124
8969
|
* Slug of all pages where user will be forced to fill login form if he's not logged in.
|
|
@@ -8146,7 +8991,6 @@ export declare interface WebConfig {
|
|
|
8146
8991
|
*/
|
|
8147
8992
|
showChooseSubscription?: boolean;
|
|
8148
8993
|
registration?: {
|
|
8149
|
-
logoMarginTop?: string;
|
|
8150
8994
|
/**
|
|
8151
8995
|
* Customization of auth form
|
|
8152
8996
|
*/
|
|
@@ -8166,18 +9010,18 @@ export declare interface WebConfig {
|
|
|
8166
9010
|
showAcceptanceOfTermsAndConditions?: boolean;
|
|
8167
9011
|
};
|
|
8168
9012
|
registrationConsent?: string;
|
|
8169
|
-
socialRegistrationConsent?: string;
|
|
8170
9013
|
};
|
|
8171
9014
|
payment?: {
|
|
8172
9015
|
paymentConsent?: string;
|
|
8173
9016
|
paymentRenewalConsent?: boolean;
|
|
9017
|
+
allowFrequencySwitcher?: boolean;
|
|
8174
9018
|
};
|
|
8175
9019
|
/**
|
|
8176
9020
|
* If web supports entering vouchers
|
|
8177
9021
|
*/
|
|
8178
9022
|
supportVouchers?: boolean;
|
|
8179
9023
|
/**
|
|
8180
|
-
* Config for Google Tag Manager
|
|
9024
|
+
* Config for Google Tag Manager
|
|
8181
9025
|
*/
|
|
8182
9026
|
googleTagManagerConfig?: TagManagerArgs & {
|
|
8183
9027
|
shouldWaitForDidomi?: boolean;
|
|
@@ -8200,8 +9044,6 @@ export declare interface WebConfig {
|
|
|
8200
9044
|
};
|
|
8201
9045
|
monetizationSelectOverlay?: {
|
|
8202
9046
|
title?: string;
|
|
8203
|
-
benefitLeftIcon?: string;
|
|
8204
|
-
showFullMonetizationOnMobile?: boolean;
|
|
8205
9047
|
};
|
|
8206
9048
|
/**
|
|
8207
9049
|
* Google Analytics ID. If provided, Google Analytics will be enabled.
|
|
@@ -8213,7 +9055,6 @@ export declare interface WebConfig {
|
|
|
8213
9055
|
centeredMenu?: boolean;
|
|
8214
9056
|
/**
|
|
8215
9057
|
* All values are considered as false if not provided.
|
|
8216
|
-
* @deprecated - use settings.allowedSignInProviders inside OrganizationDocument
|
|
8217
9058
|
*/
|
|
8218
9059
|
socialLogins?: {
|
|
8219
9060
|
showAppleLogin?: boolean;
|
|
@@ -8228,24 +9069,11 @@ export declare interface WebConfig {
|
|
|
8228
9069
|
* If true, robots.txt will prevent crawling of the website.
|
|
8229
9070
|
*/
|
|
8230
9071
|
norobots?: boolean;
|
|
8231
|
-
|
|
8232
|
-
|
|
8233
|
-
|
|
8234
|
-
|
|
8235
|
-
onPurchase?: (monetization: Purchase) => void;
|
|
8236
|
-
facebookPixelConfig?: {
|
|
8237
|
-
pixelId: string;
|
|
8238
|
-
shouldWaitForDidomi?: boolean;
|
|
9072
|
+
customTranslations?: {
|
|
9073
|
+
[key: string]: {
|
|
9074
|
+
[key: string]: string;
|
|
9075
|
+
};
|
|
8239
9076
|
};
|
|
8240
|
-
/**
|
|
8241
|
-
* If true, the app will be locked in the "remote controller" mode.
|
|
8242
|
-
* This means that the app will not be able to navigate to other pages and will only show the remote controller.
|
|
8243
|
-
*/
|
|
8244
|
-
isRemoteControllerApp?: boolean;
|
|
8245
|
-
/**
|
|
8246
|
-
* Determines if application should check allowed URL handles when switching applications.
|
|
8247
|
-
*/
|
|
8248
|
-
disableUrlHandleCheck?: boolean;
|
|
8249
9077
|
/**
|
|
8250
9078
|
* Map for all handlers
|
|
8251
9079
|
*/
|
|
@@ -8272,7 +9100,7 @@ export declare interface WebGridScreenProps {
|
|
|
8272
9100
|
*/
|
|
8273
9101
|
export declare interface WebPlayerProps {
|
|
8274
9102
|
id: string;
|
|
8275
|
-
source?:
|
|
9103
|
+
source?: SourceParams | VideoPath | ChannelPath | null;
|
|
8276
9104
|
onEnded?: () => any;
|
|
8277
9105
|
/**
|
|
8278
9106
|
* If true, the player will inherit the width and height of its parent element.
|
|
@@ -8358,8 +9186,6 @@ export declare interface WebPlayerProps {
|
|
|
8358
9186
|
setPaymentOverlayVisible?: React_2.Dispatch<React_2.SetStateAction<boolean>>;
|
|
8359
9187
|
hideOverlay?: boolean;
|
|
8360
9188
|
sourcePlayMode?: SourcePlayMode;
|
|
8361
|
-
adsConfig?: StaticAdsBreak[];
|
|
8362
|
-
userAuthCallbacks?: SDKUserAuthCallbacks;
|
|
8363
9189
|
}
|
|
8364
9190
|
|
|
8365
9191
|
/**
|