@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/sdk-react.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
|
*/
|
|
@@ -691,6 +784,7 @@ export declare interface ButtonOptions {
|
|
|
691
784
|
*/
|
|
692
785
|
export declare interface ButtonVariantOptions {
|
|
693
786
|
border?: string;
|
|
787
|
+
backgroundImage?: string;
|
|
694
788
|
disabledBackgroundColor?: string;
|
|
695
789
|
disabledColor?: string;
|
|
696
790
|
}
|
|
@@ -700,6 +794,45 @@ export declare interface ButtonVariantOptions {
|
|
|
700
794
|
*/
|
|
701
795
|
export declare type Callback<T = any> = (arg?: T) => void;
|
|
702
796
|
|
|
797
|
+
/**
|
|
798
|
+
* Camera switch transition progress information.
|
|
799
|
+
* Tracks the state of buffer loading during camera switches in interactive streaming.
|
|
800
|
+
* @public
|
|
801
|
+
*/
|
|
802
|
+
export declare interface CameraSwitchProgress {
|
|
803
|
+
/**
|
|
804
|
+
* Whether a camera switch is currently in progress
|
|
805
|
+
*/
|
|
806
|
+
isActive: boolean;
|
|
807
|
+
/**
|
|
808
|
+
* Time position (in seconds) where the transition content will begin.
|
|
809
|
+
* This is after any currently loading chunks finish.
|
|
810
|
+
*/
|
|
811
|
+
transitionStartTime: number;
|
|
812
|
+
/**
|
|
813
|
+
* Number of segments that need to load before transition is ready
|
|
814
|
+
*/
|
|
815
|
+
segmentsToLoad: number;
|
|
816
|
+
/**
|
|
817
|
+
* Number of segments that have already loaded
|
|
818
|
+
*/
|
|
819
|
+
segmentsLoaded: number;
|
|
820
|
+
/**
|
|
821
|
+
* Progress percentage (0-1) of the transition loading
|
|
822
|
+
*/
|
|
823
|
+
progress: number;
|
|
824
|
+
/**
|
|
825
|
+
* Estimated time remaining until camera switch completes (in seconds)
|
|
826
|
+
* Based on segment duration and remaining segments
|
|
827
|
+
*/
|
|
828
|
+
estimatedTimeRemaining: number;
|
|
829
|
+
/**
|
|
830
|
+
* ID of the secondary source this transition is for.
|
|
831
|
+
* Used to track multiple camera switches in quick succession.
|
|
832
|
+
*/
|
|
833
|
+
secondarySourceId?: string;
|
|
834
|
+
}
|
|
835
|
+
|
|
703
836
|
export declare interface CancellingMonetizationsSummaryItem {
|
|
704
837
|
date: number;
|
|
705
838
|
monetizationId: string;
|
|
@@ -774,6 +907,10 @@ export declare interface ChannelSourceParams extends PlayerSourceParams<SourceTy
|
|
|
774
907
|
from: Date;
|
|
775
908
|
to: Date;
|
|
776
909
|
tvMode?: TvMode | 'live' | null;
|
|
910
|
+
/**
|
|
911
|
+
* Current program from EPG. Available for VIRTUAL and SCHEDULED channels.
|
|
912
|
+
*/
|
|
913
|
+
currentProgram?: TvProgram | null;
|
|
777
914
|
}
|
|
778
915
|
|
|
779
916
|
/**
|
|
@@ -843,12 +980,6 @@ export declare interface CommonSourceParams<T extends SourceType = SourceType> {
|
|
|
843
980
|
videoPath?: string;
|
|
844
981
|
}
|
|
845
982
|
|
|
846
|
-
/**
|
|
847
|
-
* @public
|
|
848
|
-
* Re-export of Google IMA CompanionAd type for use throughout the SDK
|
|
849
|
-
*/
|
|
850
|
-
export declare type CompanionAd = google.ima.CompanionAd;
|
|
851
|
-
|
|
852
983
|
/**
|
|
853
984
|
* TODO it's the same as Customizations, not?
|
|
854
985
|
* @internal
|
|
@@ -925,6 +1056,13 @@ export declare interface ContentAvailability {
|
|
|
925
1056
|
manual: boolean;
|
|
926
1057
|
}
|
|
927
1058
|
|
|
1059
|
+
export declare type ContentMetadataFieldId = keyof NonNullable<OrganizationSettingsField['contentMetadata']>;
|
|
1060
|
+
|
|
1061
|
+
export declare interface ContentMetadataOptions {
|
|
1062
|
+
enabled: boolean;
|
|
1063
|
+
order: number;
|
|
1064
|
+
}
|
|
1065
|
+
|
|
928
1066
|
/**
|
|
929
1067
|
* @public
|
|
930
1068
|
*/
|
|
@@ -1182,10 +1320,23 @@ export declare interface CreatorsWithVoucherSubscriptions {
|
|
|
1182
1320
|
name: string;
|
|
1183
1321
|
}
|
|
1184
1322
|
|
|
1323
|
+
export declare interface CtaBannerExtendRowData {
|
|
1324
|
+
variant?: 'light' | 'dark';
|
|
1325
|
+
heading?: Translation;
|
|
1326
|
+
subtitle?: {
|
|
1327
|
+
text: Translation;
|
|
1328
|
+
showIcon?: boolean;
|
|
1329
|
+
};
|
|
1330
|
+
button?: {
|
|
1331
|
+
href: string;
|
|
1332
|
+
text: Translation;
|
|
1333
|
+
};
|
|
1334
|
+
}
|
|
1335
|
+
|
|
1185
1336
|
/**
|
|
1186
1337
|
* @public
|
|
1187
1338
|
*/
|
|
1188
|
-
export declare const CURRENCIES:
|
|
1339
|
+
export declare const CURRENCIES: Currency[];
|
|
1189
1340
|
|
|
1190
1341
|
/**
|
|
1191
1342
|
* Three upper-case letters according to ISO-4217.
|
|
@@ -1199,6 +1350,11 @@ export declare type Currency = 'CZK' | 'EUR' | 'USD' | 'PLN';
|
|
|
1199
1350
|
*/
|
|
1200
1351
|
export declare type CurrencyLowerCase = 'czk' | 'eur' | 'usd' | 'pln';
|
|
1201
1352
|
|
|
1353
|
+
/**
|
|
1354
|
+
* @public
|
|
1355
|
+
*/
|
|
1356
|
+
export declare const CurrencyToTitle: Record<Currency, string>;
|
|
1357
|
+
|
|
1202
1358
|
export declare interface CurrentQuestion {
|
|
1203
1359
|
id: string;
|
|
1204
1360
|
question: Translation;
|
|
@@ -1278,7 +1434,21 @@ export declare enum CustomerId {
|
|
|
1278
1434
|
UZ_BUDU = "UZ_BUDU",
|
|
1279
1435
|
PRIMA = "PRIMA",
|
|
1280
1436
|
NORA_FRIDRICHOVA = "NORA_FRIDRICHOVA",
|
|
1281
|
-
LONGEVITY = "LONGEVITY"
|
|
1437
|
+
LONGEVITY = "LONGEVITY",
|
|
1438
|
+
ZASAHTV = "ZASAHTV",
|
|
1439
|
+
ELISKAFLOW = "ELISKAFLOW",
|
|
1440
|
+
PRIJIMACKY = "PRIJIMACKY",
|
|
1441
|
+
PADNI_KOMU_PADNI = "PADNI_KOMU_PADNI",
|
|
1442
|
+
KRYPTOSPACE = "KRYPTOSPACE",
|
|
1443
|
+
ERADIX = "ERADIX",
|
|
1444
|
+
VLADCI_PRAHY = "VLADCI_PRAHY",
|
|
1445
|
+
DOKTOR_EVZEN = "DOKTOR_EVZEN",
|
|
1446
|
+
INVESTUJ_CHYTRE = "INVESTUJ_CHYTRE",
|
|
1447
|
+
RESTART_MUZE = "RESTART_MUZE",
|
|
1448
|
+
THE_JOHNY = "THE_JOHNY",
|
|
1449
|
+
GOOD_MOVE = "GOOD_MOVE",
|
|
1450
|
+
JANA_HANZ = "JANA_HANZ",
|
|
1451
|
+
MYSTICO = "MYSTICO"
|
|
1282
1452
|
}
|
|
1283
1453
|
|
|
1284
1454
|
/**
|
|
@@ -1381,6 +1551,7 @@ export declare interface Customizations {
|
|
|
1381
1551
|
iconColor?: string;
|
|
1382
1552
|
roundedMenuColor?: string;
|
|
1383
1553
|
roundedMenuHoverColor?: string;
|
|
1554
|
+
roundedMenuInactiveColor?: string;
|
|
1384
1555
|
};
|
|
1385
1556
|
CenteredMenu?: {
|
|
1386
1557
|
backgroundColor: string;
|
|
@@ -1444,6 +1615,99 @@ export declare interface Customizations {
|
|
|
1444
1615
|
row: {
|
|
1445
1616
|
backgroundColor: string;
|
|
1446
1617
|
};
|
|
1618
|
+
benefits?: {
|
|
1619
|
+
titleAccentColor?: string;
|
|
1620
|
+
descriptionColor?: string;
|
|
1621
|
+
ctaTextColor?: string;
|
|
1622
|
+
};
|
|
1623
|
+
featureCard?: {
|
|
1624
|
+
bgColor?: string;
|
|
1625
|
+
textColor?: string;
|
|
1626
|
+
borderColor?: string;
|
|
1627
|
+
hoverBorderColor?: string;
|
|
1628
|
+
iconBgColor?: string;
|
|
1629
|
+
iconColor?: string;
|
|
1630
|
+
descriptionColor?: string;
|
|
1631
|
+
};
|
|
1632
|
+
ctaBanner?: {
|
|
1633
|
+
lightBgColor?: string;
|
|
1634
|
+
darkBgColor?: string;
|
|
1635
|
+
borderColor?: string;
|
|
1636
|
+
lightTitleColor?: string;
|
|
1637
|
+
darkTitleColor?: string;
|
|
1638
|
+
lightDescriptionColor?: string;
|
|
1639
|
+
descriptionColor?: string;
|
|
1640
|
+
lightButtonBgColor?: string;
|
|
1641
|
+
lightButtonTextColor?: string;
|
|
1642
|
+
subtitleColor?: string;
|
|
1643
|
+
accentColor?: string;
|
|
1644
|
+
mutedTextColor?: string;
|
|
1645
|
+
textColor?: string;
|
|
1646
|
+
};
|
|
1647
|
+
testimonials?: {
|
|
1648
|
+
sectionBg?: string;
|
|
1649
|
+
cardBg?: string;
|
|
1650
|
+
cardBorder?: string;
|
|
1651
|
+
descriptionColor?: string;
|
|
1652
|
+
ratingColor?: string;
|
|
1653
|
+
roleColor?: string;
|
|
1654
|
+
textColor?: string;
|
|
1655
|
+
};
|
|
1656
|
+
mediaAccordeon?: {
|
|
1657
|
+
buttonBg?: string;
|
|
1658
|
+
buttonHoverBg?: string;
|
|
1659
|
+
titleActive?: string;
|
|
1660
|
+
titleInactive?: string;
|
|
1661
|
+
descriptionColor?: string;
|
|
1662
|
+
};
|
|
1663
|
+
numbers?: {
|
|
1664
|
+
sectionBg?: string;
|
|
1665
|
+
borderTop?: string;
|
|
1666
|
+
numberColor?: string;
|
|
1667
|
+
labelColor?: string;
|
|
1668
|
+
};
|
|
1669
|
+
faq?: {
|
|
1670
|
+
descriptionColor?: string;
|
|
1671
|
+
linkColor?: string;
|
|
1672
|
+
textColor?: string;
|
|
1673
|
+
mutedTextColor?: string;
|
|
1674
|
+
};
|
|
1675
|
+
explore?: {
|
|
1676
|
+
cardBg?: string;
|
|
1677
|
+
cardTextColor?: string;
|
|
1678
|
+
cardBorderColor?: string;
|
|
1679
|
+
hoverBorderColor?: string;
|
|
1680
|
+
descriptionColor?: string;
|
|
1681
|
+
};
|
|
1682
|
+
splitLayout?: {
|
|
1683
|
+
titleColor?: string;
|
|
1684
|
+
descriptionColor?: string;
|
|
1685
|
+
imageBg?: string;
|
|
1686
|
+
};
|
|
1687
|
+
accordion?: {
|
|
1688
|
+
itemBg?: string;
|
|
1689
|
+
itemBorder?: string;
|
|
1690
|
+
titleColor?: string;
|
|
1691
|
+
contentColor?: string;
|
|
1692
|
+
iconColor?: string;
|
|
1693
|
+
};
|
|
1694
|
+
presentBanner?: {
|
|
1695
|
+
badgeBg?: string;
|
|
1696
|
+
badgeBorder?: string;
|
|
1697
|
+
badgeTextColor?: string;
|
|
1698
|
+
subtitleColor?: string;
|
|
1699
|
+
avatarBorder?: string;
|
|
1700
|
+
textColor?: string;
|
|
1701
|
+
};
|
|
1702
|
+
videoSeries?: {
|
|
1703
|
+
buttonBg?: string;
|
|
1704
|
+
buttonHoverBg?: string;
|
|
1705
|
+
titleActive?: string;
|
|
1706
|
+
titleInactive?: string;
|
|
1707
|
+
};
|
|
1708
|
+
monetizationBanner?: {
|
|
1709
|
+
descriptionColor?: string;
|
|
1710
|
+
};
|
|
1447
1711
|
};
|
|
1448
1712
|
global: {
|
|
1449
1713
|
/**
|
|
@@ -1466,6 +1730,9 @@ export declare interface Customizations {
|
|
|
1466
1730
|
Avatar?: {
|
|
1467
1731
|
backgroundColor: string;
|
|
1468
1732
|
color: string;
|
|
1733
|
+
hoverBorderGradientStart?: string;
|
|
1734
|
+
hoverBorderGradientEnd?: string;
|
|
1735
|
+
hoverBackground?: string;
|
|
1469
1736
|
};
|
|
1470
1737
|
Paywall?: {
|
|
1471
1738
|
backgroundColor?: string;
|
|
@@ -1485,6 +1752,8 @@ export declare interface Customizations {
|
|
|
1485
1752
|
backgroundColorActive?: string;
|
|
1486
1753
|
formBackgroundColor?: string;
|
|
1487
1754
|
captionColor?: string;
|
|
1755
|
+
pageBackgroundColor?: string;
|
|
1756
|
+
gradientColor?: string;
|
|
1488
1757
|
};
|
|
1489
1758
|
QerkoOverlay?: {
|
|
1490
1759
|
backgroundColor?: string;
|
|
@@ -1510,7 +1779,6 @@ export declare interface CustomScript {
|
|
|
1510
1779
|
src: string;
|
|
1511
1780
|
event?: EventName;
|
|
1512
1781
|
isAsync?: boolean;
|
|
1513
|
-
defer?: boolean;
|
|
1514
1782
|
}
|
|
1515
1783
|
|
|
1516
1784
|
/**
|
|
@@ -1546,6 +1814,11 @@ declare type Data = {
|
|
|
1546
1814
|
type: 'tier' | 'member' | 'user';
|
|
1547
1815
|
};
|
|
1548
1816
|
|
|
1817
|
+
/**
|
|
1818
|
+
* @public
|
|
1819
|
+
*/
|
|
1820
|
+
export declare const DEFAULT_CURRENCY: Currency;
|
|
1821
|
+
|
|
1549
1822
|
/**
|
|
1550
1823
|
* @public
|
|
1551
1824
|
*/
|
|
@@ -1588,6 +1861,28 @@ export declare type DeviceInfo = ArrisDeviceInfo | ReactNativeDeviceInfo;
|
|
|
1588
1861
|
*/
|
|
1589
1862
|
export declare type DeviceOs = OperatingSystem | 'Tizen' | 'webOS' | 'Arris' | 'Android TV' | 'tvOS';
|
|
1590
1863
|
|
|
1864
|
+
/**
|
|
1865
|
+
* User consent status for a specific purpose.
|
|
1866
|
+
*/
|
|
1867
|
+
export declare interface DidomiPurposeStatus {
|
|
1868
|
+
enabled: boolean;
|
|
1869
|
+
}
|
|
1870
|
+
|
|
1871
|
+
/**
|
|
1872
|
+
* Didomi SDK API.
|
|
1873
|
+
*/
|
|
1874
|
+
export declare interface DidomiSDK {
|
|
1875
|
+
getCurrentUserStatus(): DidomiUserStatus;
|
|
1876
|
+
}
|
|
1877
|
+
|
|
1878
|
+
/**
|
|
1879
|
+
* User consent status returned by Didomi SDK.
|
|
1880
|
+
*/
|
|
1881
|
+
export declare interface DidomiUserStatus {
|
|
1882
|
+
purposes: Record<string, DidomiPurposeStatus>;
|
|
1883
|
+
consent_string?: string;
|
|
1884
|
+
}
|
|
1885
|
+
|
|
1591
1886
|
/**
|
|
1592
1887
|
* Window object with Didomi SDK properties.
|
|
1593
1888
|
*/
|
|
@@ -1603,6 +1898,10 @@ export declare interface DidomiWindow {
|
|
|
1603
1898
|
* https://developers.didomi.io/cmp/web-sdk/reference/api
|
|
1604
1899
|
*/
|
|
1605
1900
|
didomiOnReady: (() => void)[];
|
|
1901
|
+
/**
|
|
1902
|
+
* The Didomi SDK instance.
|
|
1903
|
+
*/
|
|
1904
|
+
Didomi: DidomiSDK;
|
|
1606
1905
|
}
|
|
1607
1906
|
|
|
1608
1907
|
/**
|
|
@@ -1623,6 +1922,47 @@ export declare interface DividerProps {
|
|
|
1623
1922
|
horizontalSpacing?: number;
|
|
1624
1923
|
}
|
|
1625
1924
|
|
|
1925
|
+
export declare interface DocumentTileData<ItemSpecificData extends DocumentTileItemSpecificData = DocumentTileItemSpecificData> {
|
|
1926
|
+
/**
|
|
1927
|
+
* Tile item ID.
|
|
1928
|
+
*/
|
|
1929
|
+
id: string;
|
|
1930
|
+
/**
|
|
1931
|
+
* Timestamp of the item creation.
|
|
1932
|
+
*/
|
|
1933
|
+
created: number;
|
|
1934
|
+
/**
|
|
1935
|
+
* Type of the tile. VIDEO, TV_CHANNEL, TAG, ...
|
|
1936
|
+
*/
|
|
1937
|
+
itemType: ROW_ITEM_TYPES;
|
|
1938
|
+
/**
|
|
1939
|
+
* Tile item name translation.
|
|
1940
|
+
*/
|
|
1941
|
+
name: Translation;
|
|
1942
|
+
/**
|
|
1943
|
+
* Firestore path to the item.
|
|
1944
|
+
*/
|
|
1945
|
+
path: string;
|
|
1946
|
+
/**
|
|
1947
|
+
* Application info including logo, name and number of videos.
|
|
1948
|
+
*/
|
|
1949
|
+
application?: TileApplicationData;
|
|
1950
|
+
/**
|
|
1951
|
+
* Specific data for an item type (e.g. video, tv channel, tag, ...).
|
|
1952
|
+
*/
|
|
1953
|
+
itemSpecificData: ItemSpecificData;
|
|
1954
|
+
/**
|
|
1955
|
+
* Optional label to display in the top-right corner of the tile (e.g., "Exclusive").
|
|
1956
|
+
*/
|
|
1957
|
+
topLabel?: Translation;
|
|
1958
|
+
/**
|
|
1959
|
+
* CSS color for the topLabel background. Defaults to white.
|
|
1960
|
+
*/
|
|
1961
|
+
topLabelColor?: string;
|
|
1962
|
+
}
|
|
1963
|
+
|
|
1964
|
+
export declare type DocumentTileItemSpecificData = VideoTileSpecificData | TvChannelTileSpecificData | TagTileSpecificData | ArticleTileSpecificData | SeriesTileSpecificData;
|
|
1965
|
+
|
|
1626
1966
|
export declare interface Drm {
|
|
1627
1967
|
encryption: VideoSourceEncryption;
|
|
1628
1968
|
/**
|
|
@@ -1695,6 +2035,91 @@ export declare interface DurationWithUnit {
|
|
|
1695
2035
|
unit: DurationUnit;
|
|
1696
2036
|
}
|
|
1697
2037
|
|
|
2038
|
+
/**
|
|
2039
|
+
* Row components available for dynamic rows (filter, custom, topWatched, etc.)
|
|
2040
|
+
* Matches the rowComponent constraint in DynamicRow type definition
|
|
2041
|
+
* @public
|
|
2042
|
+
*/
|
|
2043
|
+
export declare const DYNAMIC_ROW_COMPONENTS: readonly [RowComponent.ROW, RowComponent.BANNER];
|
|
2044
|
+
|
|
2045
|
+
/**
|
|
2046
|
+
* Dynamic row (filter, custom, continueToWatch, etc.) - has itemComponent and dynamic fields
|
|
2047
|
+
* Uses standard ROW or BANNER components
|
|
2048
|
+
* @public
|
|
2049
|
+
*/
|
|
2050
|
+
export declare interface DynamicRow extends BaseRow {
|
|
2051
|
+
type: Exclude<ScreenRowType, 'static'>;
|
|
2052
|
+
numberOfLines?: number;
|
|
2053
|
+
monetizations?: Array<{
|
|
2054
|
+
monetizationRef: {
|
|
2055
|
+
id: string;
|
|
2056
|
+
path: string;
|
|
2057
|
+
};
|
|
2058
|
+
} | RowMonetizationData>;
|
|
2059
|
+
rowComponent: RowComponent.ROW | RowComponent.BANNER;
|
|
2060
|
+
itemComponent: RowItemComponent | BannerItemComponent;
|
|
2061
|
+
organizationId?: string;
|
|
2062
|
+
bottomComponent?: BottomComponent;
|
|
2063
|
+
showDescriptionAsTitle?: boolean;
|
|
2064
|
+
hideTitle?: boolean;
|
|
2065
|
+
externalUrl?: string;
|
|
2066
|
+
playButtonTitle?: string;
|
|
2067
|
+
tiles: PaginationInterface<ItemInRow>;
|
|
2068
|
+
/**
|
|
2069
|
+
* Side Banner specific configuration
|
|
2070
|
+
*/
|
|
2071
|
+
sideBannerImagePosition?: 'left' | 'right';
|
|
2072
|
+
backgroundColor?: string;
|
|
2073
|
+
}
|
|
2074
|
+
|
|
2075
|
+
/**
|
|
2076
|
+
* Dynamic row type with dynamic-specific fields
|
|
2077
|
+
*/
|
|
2078
|
+
export declare type DynamicRowInScreen = BaseRowInScreen & {
|
|
2079
|
+
type: Exclude<ScreenRowType, 'static'>;
|
|
2080
|
+
/**
|
|
2081
|
+
* Row filter based on which to pick tiles.
|
|
2082
|
+
*/
|
|
2083
|
+
filter?: RowFilterField;
|
|
2084
|
+
/**
|
|
2085
|
+
* Number of lines of the title.
|
|
2086
|
+
*/
|
|
2087
|
+
numberOfLines?: number;
|
|
2088
|
+
/**
|
|
2089
|
+
* Component to use to render the tiles in the row.
|
|
2090
|
+
*/
|
|
2091
|
+
itemComponent: RowItemComponent | BannerItemComponent;
|
|
2092
|
+
/**
|
|
2093
|
+
* Items to display in the row.
|
|
2094
|
+
*/
|
|
2095
|
+
tiles: GetTilesInRowResponse<DynamicScreenRowType>;
|
|
2096
|
+
/**
|
|
2097
|
+
* Setting for decided what to show bellow the tiles
|
|
2098
|
+
*/
|
|
2099
|
+
bottomComponent?: BottomComponent;
|
|
2100
|
+
/**
|
|
2101
|
+
* Setting for decided whether to show description instead of title in the tiles
|
|
2102
|
+
*/
|
|
2103
|
+
showDescriptionAsTitle?: boolean;
|
|
2104
|
+
/**
|
|
2105
|
+
* Setting for decided whether to hide title in the tiles/banners
|
|
2106
|
+
*/
|
|
2107
|
+
hideTitle?: boolean;
|
|
2108
|
+
/**
|
|
2109
|
+
* Link to external URL
|
|
2110
|
+
*/
|
|
2111
|
+
externalUrl?: string;
|
|
2112
|
+
/**
|
|
2113
|
+
* Title of Play button
|
|
2114
|
+
*/
|
|
2115
|
+
playButtonTitle?: Translation;
|
|
2116
|
+
};
|
|
2117
|
+
|
|
2118
|
+
/**
|
|
2119
|
+
* @public
|
|
2120
|
+
*/
|
|
2121
|
+
export declare type DynamicScreenRowType = Exclude<ScreenRowType, 'static'>;
|
|
2122
|
+
|
|
1698
2123
|
/**
|
|
1699
2124
|
* @public
|
|
1700
2125
|
*/
|
|
@@ -1813,7 +2238,6 @@ export declare interface EmitterInterface {
|
|
|
1813
2238
|
isSupported: (even: string) => boolean;
|
|
1814
2239
|
addListener: <T = unknown>(event: string, cb: (value: T) => Empty_2) => void;
|
|
1815
2240
|
removeListener: <T = unknown>(event: string, cb: (value: T) => Empty_2) => void;
|
|
1816
|
-
emitEvent: (event: string, value?: unknown) => void;
|
|
1817
2241
|
}
|
|
1818
2242
|
|
|
1819
2243
|
/**
|
|
@@ -1838,6 +2262,17 @@ export declare type Events = {
|
|
|
1838
2262
|
'on-error': Error;
|
|
1839
2263
|
};
|
|
1840
2264
|
|
|
2265
|
+
export declare interface ExploreItem {
|
|
2266
|
+
title: Translation;
|
|
2267
|
+
description: Translation;
|
|
2268
|
+
button?: {
|
|
2269
|
+
href: string;
|
|
2270
|
+
text: Translation;
|
|
2271
|
+
};
|
|
2272
|
+
}
|
|
2273
|
+
|
|
2274
|
+
export declare type ExploreTileSpecificData = ExploreItem;
|
|
2275
|
+
|
|
1841
2276
|
export declare interface ExtensionMetadata {
|
|
1842
2277
|
purchaseStatus: CloudflareStreamingPurchaseStatus;
|
|
1843
2278
|
activeVideoId?: string;
|
|
@@ -1851,22 +2286,12 @@ export declare type ExternalTvConfig = {
|
|
|
1851
2286
|
splashScreenBackgroundColor?: string;
|
|
1852
2287
|
};
|
|
1853
2288
|
|
|
1854
|
-
export declare interface
|
|
1855
|
-
|
|
1856
|
-
|
|
2289
|
+
export declare interface FaqItem {
|
|
2290
|
+
question: Translation;
|
|
2291
|
+
answer: Translation;
|
|
1857
2292
|
}
|
|
1858
2293
|
|
|
1859
|
-
export declare
|
|
1860
|
-
content: Video;
|
|
1861
|
-
type: 'video';
|
|
1862
|
-
}
|
|
1863
|
-
|
|
1864
|
-
/**
|
|
1865
|
-
* @public
|
|
1866
|
-
*/
|
|
1867
|
-
export declare type FavoriteWithData = FavoriteVideoWithData | (FavoriteTagWithData & {
|
|
1868
|
-
profileId?: string;
|
|
1869
|
-
});
|
|
2294
|
+
export declare type FaqTileSpecificData = FaqItem;
|
|
1870
2295
|
|
|
1871
2296
|
/**
|
|
1872
2297
|
* @throws if fetch fails
|
|
@@ -1916,7 +2341,6 @@ export declare interface ForbiddenOnCallError extends GenericOnCallError {
|
|
|
1916
2341
|
}
|
|
1917
2342
|
|
|
1918
2343
|
export declare enum ForbiddenReason {
|
|
1919
|
-
AD_BLOCKING = "AD_BLOCKING",
|
|
1920
2344
|
MONETIZATION = "MONETIZATION",
|
|
1921
2345
|
GEO_BLOCKING = "GEO_BLOCKING",
|
|
1922
2346
|
EMAIL_ALREADY_EXISTS = "EMAIL_ALREADY_EXISTS",
|
|
@@ -1927,8 +2351,7 @@ export declare enum ForbiddenReason {
|
|
|
1927
2351
|
NAME_CONTAINS_INVALID_CHAR = "NAME_CONTAINS_INVALID_CHAR",
|
|
1928
2352
|
USER_ACCOUNT_LOCKED = "USER_ACCOUNT_LOCKED",
|
|
1929
2353
|
USER_NOT_FOUND = "USER_NOT_FOUND",
|
|
1930
|
-
UNSUPPORTED_BROWSER = "UNSUPPORTED_BROWSER"
|
|
1931
|
-
ANONYMOUS_USER = "ANONYMOUS_USER"
|
|
2354
|
+
UNSUPPORTED_BROWSER = "UNSUPPORTED_BROWSER"
|
|
1932
2355
|
}
|
|
1933
2356
|
|
|
1934
2357
|
/**
|
|
@@ -1936,7 +2359,7 @@ export declare enum ForbiddenReason {
|
|
|
1936
2359
|
*/
|
|
1937
2360
|
export declare type FrequencyInfo = {
|
|
1938
2361
|
title: Translation;
|
|
1939
|
-
unit:
|
|
2362
|
+
unit: MONETIZATION_FREQUENCY;
|
|
1940
2363
|
value: number;
|
|
1941
2364
|
};
|
|
1942
2365
|
|
|
@@ -2055,6 +2478,9 @@ export declare type GetPurchaseInfoResponse = {
|
|
|
2055
2478
|
};
|
|
2056
2479
|
};
|
|
2057
2480
|
|
|
2481
|
+
/**
|
|
2482
|
+
* Response type for getRowsInScreen
|
|
2483
|
+
*/
|
|
2058
2484
|
export declare type GetRowsInScreenResponse = PaginatedResponse<RowInScreen, 'screenId'>;
|
|
2059
2485
|
|
|
2060
2486
|
export declare interface GetSourceUrlRequest {
|
|
@@ -2111,6 +2537,16 @@ export declare interface GetSourceUrlRequest {
|
|
|
2111
2537
|
* Parameters related to ads.
|
|
2112
2538
|
*/
|
|
2113
2539
|
adParams?: Record<string, string | number | undefined>;
|
|
2540
|
+
/**
|
|
2541
|
+
* Which platform the resulting source should support.
|
|
2542
|
+
* If not present, any source that has non-empty `platforms` will be filtered out from the result.
|
|
2543
|
+
*/
|
|
2544
|
+
platform?: PLATFORM;
|
|
2545
|
+
/**
|
|
2546
|
+
* Device ID for device tracking on purchase documents.
|
|
2547
|
+
* Used to track which devices are accessing paid content.
|
|
2548
|
+
*/
|
|
2549
|
+
deviceId?: string;
|
|
2114
2550
|
}
|
|
2115
2551
|
|
|
2116
2552
|
export declare interface GetSourceUrlResponse {
|
|
@@ -2156,15 +2592,7 @@ export declare interface GetSourceUrlResponse {
|
|
|
2156
2592
|
sessionType?: VideoSourceField['sessionType'];
|
|
2157
2593
|
}
|
|
2158
2594
|
|
|
2159
|
-
export declare type GetTilesInRowResponse<U extends NextPageParamType = NextPageParamType> = PaginatedResponse<TileData
|
|
2160
|
-
|
|
2161
|
-
export declare interface GetUserProfileDataOptions {
|
|
2162
|
-
/**
|
|
2163
|
-
* If true, the data will be returned for all user profiles.
|
|
2164
|
-
* If false, the data will be returned only for the active user profile.
|
|
2165
|
-
*/
|
|
2166
|
-
ignoreActiveUserProfile?: boolean;
|
|
2167
|
-
}
|
|
2595
|
+
export declare type GetTilesInRowResponse<T extends ScreenRowType = ScreenRowType, U extends NextPageParamType = NextPageParamType> = PaginatedResponse<TileData<T>, U>;
|
|
2168
2596
|
|
|
2169
2597
|
export declare interface GetUserRssUrlRequest {
|
|
2170
2598
|
organizationId: string;
|
|
@@ -2176,58 +2604,6 @@ export declare interface GetUserRssUrlResponse {
|
|
|
2176
2604
|
expiresAt?: number;
|
|
2177
2605
|
}
|
|
2178
2606
|
|
|
2179
|
-
export declare interface GetVideoAnalyticsErrorItem {
|
|
2180
|
-
count: number;
|
|
2181
|
-
timestamp: number;
|
|
2182
|
-
errorMessage: string;
|
|
2183
|
-
}
|
|
2184
|
-
|
|
2185
|
-
export declare interface GetVideoAnalyticsErrorResult {
|
|
2186
|
-
totalCount: number;
|
|
2187
|
-
errors: Array<GetVideoAnalyticsErrorItem>;
|
|
2188
|
-
}
|
|
2189
|
-
|
|
2190
|
-
export declare interface GetVideoAnalyticsRequest {
|
|
2191
|
-
contentId: string;
|
|
2192
|
-
timestamp?: number;
|
|
2193
|
-
userId?: string;
|
|
2194
|
-
source?: string;
|
|
2195
|
-
limit?: number;
|
|
2196
|
-
errorLimit?: number;
|
|
2197
|
-
errorTimestampFrom?: number;
|
|
2198
|
-
}
|
|
2199
|
-
|
|
2200
|
-
export declare interface GetVideoAnalyticsResponse {
|
|
2201
|
-
state?: GetVideoAnalyticsResult;
|
|
2202
|
-
quality?: GetVideoAnalyticsResult;
|
|
2203
|
-
error?: GetVideoAnalyticsErrorResult;
|
|
2204
|
-
localities?: unknown;
|
|
2205
|
-
}
|
|
2206
|
-
|
|
2207
|
-
export declare type GetVideoAnalyticsResult = {
|
|
2208
|
-
[timestamp: string]: {
|
|
2209
|
-
totalDuration: number;
|
|
2210
|
-
values: Array<{
|
|
2211
|
-
value: string;
|
|
2212
|
-
duration: number;
|
|
2213
|
-
percentage: number;
|
|
2214
|
-
}>;
|
|
2215
|
-
};
|
|
2216
|
-
};
|
|
2217
|
-
|
|
2218
|
-
export declare interface GetVideoAnalyticsViewsRequest {
|
|
2219
|
-
contentId: string;
|
|
2220
|
-
currentViewsIntervalMs: number;
|
|
2221
|
-
timestamp?: number;
|
|
2222
|
-
source?: string;
|
|
2223
|
-
}
|
|
2224
|
-
|
|
2225
|
-
export declare interface GetVideoAnalyticsViewsResponse {
|
|
2226
|
-
previousViews?: number;
|
|
2227
|
-
currentViews?: number;
|
|
2228
|
-
totalViews?: number;
|
|
2229
|
-
}
|
|
2230
|
-
|
|
2231
2607
|
export declare interface GetViewAnalyticsResponse {
|
|
2232
2608
|
viewCountAnalytics: ViewCountItem[];
|
|
2233
2609
|
topWatched: TopWatchItem[];
|
|
@@ -2246,6 +2622,22 @@ export declare enum GRID_TYPES {
|
|
|
2246
2622
|
SERIES = "SERIES"
|
|
2247
2623
|
}
|
|
2248
2624
|
|
|
2625
|
+
/**
|
|
2626
|
+
* @public
|
|
2627
|
+
*/
|
|
2628
|
+
export declare interface HeroBannerProps {
|
|
2629
|
+
title: string;
|
|
2630
|
+
description?: string;
|
|
2631
|
+
cover: string;
|
|
2632
|
+
onPlayClick?: () => void;
|
|
2633
|
+
onWatchlistClick?: () => void;
|
|
2634
|
+
playButtonHref?: string;
|
|
2635
|
+
watchlistButtonHref?: string;
|
|
2636
|
+
playButtonText?: string;
|
|
2637
|
+
watchlistButtonText?: string;
|
|
2638
|
+
isFavorite?: boolean;
|
|
2639
|
+
}
|
|
2640
|
+
|
|
2249
2641
|
/**
|
|
2250
2642
|
* @public
|
|
2251
2643
|
*/
|
|
@@ -2254,6 +2646,61 @@ export declare interface HistoryContextData {
|
|
|
2254
2646
|
backOrRedirectToRoot: (delta?: number) => void;
|
|
2255
2647
|
}
|
|
2256
2648
|
|
|
2649
|
+
export declare interface HomepageBannerButton {
|
|
2650
|
+
href: string;
|
|
2651
|
+
text: Translation;
|
|
2652
|
+
variant: HomepageBannerButtonVariant;
|
|
2653
|
+
leftIcon?: HomepageBannerButtonIcon;
|
|
2654
|
+
/**
|
|
2655
|
+
* Controls when this button should be visible.
|
|
2656
|
+
* Defaults to 'always' if not specified.
|
|
2657
|
+
*/
|
|
2658
|
+
visibility?: HomepageBannerButtonVisibility;
|
|
2659
|
+
}
|
|
2660
|
+
|
|
2661
|
+
export declare type HomepageBannerButtonIcon = 'play';
|
|
2662
|
+
|
|
2663
|
+
export declare type HomepageBannerButtonVariant = 'primary' | 'secondary';
|
|
2664
|
+
|
|
2665
|
+
/**
|
|
2666
|
+
* Visibility condition for banner buttons.
|
|
2667
|
+
* - 'always': Button is always visible (default)
|
|
2668
|
+
* - 'notSignedIn': Button is only visible when user is not signed in
|
|
2669
|
+
* - 'signedIn': Button is only visible when user is signed in
|
|
2670
|
+
*/
|
|
2671
|
+
export declare type HomepageBannerButtonVisibility = 'always' | 'notSignedIn' | 'signedIn';
|
|
2672
|
+
|
|
2673
|
+
export declare interface HomepageBannerExtendRowData {
|
|
2674
|
+
/**
|
|
2675
|
+
* Main title displayed on the banner
|
|
2676
|
+
*/
|
|
2677
|
+
title?: Translation;
|
|
2678
|
+
/**
|
|
2679
|
+
* Subtitle/tagline displayed below title
|
|
2680
|
+
*/
|
|
2681
|
+
subtitle?: {
|
|
2682
|
+
text: Translation;
|
|
2683
|
+
showIcon?: boolean;
|
|
2684
|
+
};
|
|
2685
|
+
/**
|
|
2686
|
+
* Multiple lines of descriptive text for multiline display
|
|
2687
|
+
*/
|
|
2688
|
+
descriptionLines?: Translation[];
|
|
2689
|
+
/**
|
|
2690
|
+
* Array of buttons to display on the banner
|
|
2691
|
+
*/
|
|
2692
|
+
buttons?: HomepageBannerButton[];
|
|
2693
|
+
/**
|
|
2694
|
+
* Single background image asset (legacy, use backgroundAssets for random selection)
|
|
2695
|
+
*/
|
|
2696
|
+
asset?: ScalableAsset;
|
|
2697
|
+
/**
|
|
2698
|
+
* Array of background assets for random selection per page load.
|
|
2699
|
+
* If provided, one will be randomly selected each time the banner loads.
|
|
2700
|
+
*/
|
|
2701
|
+
backgroundAssets?: ScalableAsset[];
|
|
2702
|
+
}
|
|
2703
|
+
|
|
2257
2704
|
export declare type IncludedItem = {
|
|
2258
2705
|
attributes: {
|
|
2259
2706
|
next_charge_date: string;
|
|
@@ -2289,10 +2736,23 @@ export declare interface IndexedTag extends IndexedObject {
|
|
|
2289
2736
|
created: Date;
|
|
2290
2737
|
name: Translation;
|
|
2291
2738
|
description?: string;
|
|
2739
|
+
/**
|
|
2740
|
+
* True if the tag has assets (non-empty assets object).
|
|
2741
|
+
*/
|
|
2742
|
+
hasAssets: boolean;
|
|
2743
|
+
/**
|
|
2744
|
+
* True if the tag has content (has videos or series episodes).
|
|
2745
|
+
*/
|
|
2746
|
+
hasContent: boolean;
|
|
2292
2747
|
/**
|
|
2293
2748
|
* True if the tag is available in Tivio Pro (StarMe)
|
|
2294
2749
|
*/
|
|
2295
2750
|
isTivioPro: boolean;
|
|
2751
|
+
/**
|
|
2752
|
+
* Parental guidance rating (e.g., "O", "07", "U", "7+")
|
|
2753
|
+
* Used for filtering content based on age restrictions for kids profiles
|
|
2754
|
+
*/
|
|
2755
|
+
pgRating?: string;
|
|
2296
2756
|
}
|
|
2297
2757
|
|
|
2298
2758
|
/**
|
|
@@ -2338,6 +2798,11 @@ export declare interface IndexedVideo extends IndexedObject {
|
|
|
2338
2798
|
defaultName: string;
|
|
2339
2799
|
name: string | Translation;
|
|
2340
2800
|
description: string | Translation;
|
|
2801
|
+
descriptionRich?: Translation;
|
|
2802
|
+
/**
|
|
2803
|
+
* EPG program-friendly name
|
|
2804
|
+
*/
|
|
2805
|
+
shortName?: Translation;
|
|
2341
2806
|
hide: boolean;
|
|
2342
2807
|
isDuplicate: boolean;
|
|
2343
2808
|
externals?: VideoExternals;
|
|
@@ -2356,6 +2821,14 @@ export declare interface IndexedVideo extends IndexedObject {
|
|
|
2356
2821
|
* see https://www.algolia.com/doc/guides/managing-results/refine-results/filtering/how-to/filter-by-attributes/#filter-by-null-or-missing-attributes.
|
|
2357
2822
|
*/
|
|
2358
2823
|
monetizationAccessIds: string[] | false;
|
|
2824
|
+
/**
|
|
2825
|
+
* See {@link VideoDocument.pgRating}
|
|
2826
|
+
*/
|
|
2827
|
+
pgRating?: string;
|
|
2828
|
+
/**
|
|
2829
|
+
* See {@link VideoDocument.contentDescriptors}
|
|
2830
|
+
*/
|
|
2831
|
+
contentDescriptors?: string[];
|
|
2359
2832
|
}
|
|
2360
2833
|
|
|
2361
2834
|
/**
|
|
@@ -2368,12 +2841,11 @@ export declare interface InputOptions {
|
|
|
2368
2841
|
color?: string;
|
|
2369
2842
|
}
|
|
2370
2843
|
|
|
2371
|
-
export declare type InputSourceParams = SourceParams | VodExternalMultiSourceParams;
|
|
2372
|
-
|
|
2373
2844
|
export declare type IntegrationType = 'discord' | 'patreon';
|
|
2374
2845
|
|
|
2375
2846
|
export declare interface InteractiveWidget<T extends InteractiveWidgetScene = InteractiveWidgetScene> {
|
|
2376
2847
|
readonly id: string;
|
|
2848
|
+
readonly name: string;
|
|
2377
2849
|
readonly path: string;
|
|
2378
2850
|
readonly currentQuestion: CurrentQuestion | null;
|
|
2379
2851
|
readonly status: QuizGameStatus;
|
|
@@ -2573,17 +3045,35 @@ export declare type ItemInRow = Tag | Video | TvChannel | Advertisement | Applic
|
|
|
2573
3045
|
* @public
|
|
2574
3046
|
*/
|
|
2575
3047
|
export declare interface JojExternals {
|
|
3048
|
+
/**
|
|
3049
|
+
* e.g. '19876'
|
|
3050
|
+
*/
|
|
2576
3051
|
tvProfiProgramId?: string;
|
|
3052
|
+
/**
|
|
3053
|
+
* e.g. 'S19876'
|
|
3054
|
+
*/
|
|
2577
3055
|
tvProfiContentId?: string;
|
|
2578
3056
|
tvProfiSerialId?: string;
|
|
3057
|
+
/**
|
|
3058
|
+
* e.g. '70368744177695432'
|
|
3059
|
+
*/
|
|
2579
3060
|
contentId?: string;
|
|
2580
3061
|
/**
|
|
2581
3062
|
* Temporary contentId used only for live channel. The video is already encoded and stored in our storage
|
|
2582
3063
|
* but is also stored on nangu platform to be used for live channel.
|
|
2583
3064
|
*/
|
|
2584
3065
|
dvtvExtraContentId?: string;
|
|
3066
|
+
/**
|
|
3067
|
+
* e.g. 'W278510'
|
|
3068
|
+
*/
|
|
2585
3069
|
provysId?: string;
|
|
3070
|
+
/**
|
|
3071
|
+
* real provysId unlike provysId, e.g. '2-231027-0009'
|
|
3072
|
+
*/
|
|
2586
3073
|
tvProfiProvysId?: string;
|
|
3074
|
+
/**
|
|
3075
|
+
* e.g. 'W278510'
|
|
3076
|
+
*/
|
|
2587
3077
|
tvProfiHouseId?: string;
|
|
2588
3078
|
tvProfiTitleOriginal?: string;
|
|
2589
3079
|
tvProfiTitleSk?: string;
|
|
@@ -2609,7 +3099,20 @@ export declare enum LangCode {
|
|
|
2609
3099
|
HU = "hu"
|
|
2610
3100
|
}
|
|
2611
3101
|
|
|
2612
|
-
export declare const
|
|
3102
|
+
export declare const LangCodeToCountryCodeMap: Partial<Record<LangCode, string>>;
|
|
3103
|
+
|
|
3104
|
+
export declare const LangCodeToCurrencyMap: Partial<Record<LangCode, Currency>>;
|
|
3105
|
+
|
|
3106
|
+
export declare const LangCodeToTitle: Record<LangCode, string>;
|
|
3107
|
+
|
|
3108
|
+
/**
|
|
3109
|
+
* Generic type for items that can be restricted to specific languages.
|
|
3110
|
+
* Use with filterByLanguageRestricted utility from @tivio/common.
|
|
3111
|
+
*/
|
|
3112
|
+
export declare interface LanguageRestricted {
|
|
3113
|
+
/** By default is available in every language */
|
|
3114
|
+
availableIn?: LangCode[];
|
|
3115
|
+
}
|
|
2613
3116
|
|
|
2614
3117
|
/**
|
|
2615
3118
|
* All supported languages codes as in ISO 639-1
|
|
@@ -2804,11 +3307,35 @@ export declare enum LoginRedirect {
|
|
|
2804
3307
|
REMOTE_CONTROLLER = "remote-controller"
|
|
2805
3308
|
}
|
|
2806
3309
|
|
|
3310
|
+
declare interface ManageMemberDeleteRequest extends ManageMemberRequestBase {
|
|
3311
|
+
action: 'deleteMember';
|
|
3312
|
+
}
|
|
3313
|
+
|
|
3314
|
+
export declare type ManageMemberRequest = ManageMemberUpdateRoleRequest | ManageMemberDeleteRequest;
|
|
3315
|
+
|
|
2807
3316
|
/**
|
|
2808
|
-
*
|
|
3317
|
+
* Request body for manageMember cloud function.
|
|
3318
|
+
* Handles member management operations (role update, deletion) within an organization.
|
|
2809
3319
|
*/
|
|
2810
|
-
|
|
2811
|
-
|
|
3320
|
+
declare interface ManageMemberRequestBase {
|
|
3321
|
+
organizationId: string;
|
|
3322
|
+
targetMemberUid: string;
|
|
3323
|
+
}
|
|
3324
|
+
|
|
3325
|
+
/**
|
|
3326
|
+
* Response body for manageMember cloud function.
|
|
3327
|
+
*/
|
|
3328
|
+
export declare interface ManageMemberResponse {
|
|
3329
|
+
success: boolean;
|
|
3330
|
+
}
|
|
3331
|
+
|
|
3332
|
+
declare interface ManageMemberUpdateRoleRequest extends ManageMemberRequestBase {
|
|
3333
|
+
action: 'updateRole';
|
|
3334
|
+
/**
|
|
3335
|
+
* New role for the target member.
|
|
3336
|
+
* Value corresponds to OrganizationMemberRoles enum from @tivio/firebase.
|
|
3337
|
+
*/
|
|
3338
|
+
role: number;
|
|
2812
3339
|
}
|
|
2813
3340
|
|
|
2814
3341
|
/**
|
|
@@ -2872,11 +3399,37 @@ export declare enum MarkerType {
|
|
|
2872
3399
|
NONE = "none"
|
|
2873
3400
|
}
|
|
2874
3401
|
|
|
3402
|
+
/**
|
|
3403
|
+
* Tile data for MEDIA_ACCORDEON rows.
|
|
3404
|
+
* Contains id, name, and path for video references.
|
|
3405
|
+
* @public
|
|
3406
|
+
*/
|
|
3407
|
+
export declare interface MediaAccordeonTileSpecificData {
|
|
3408
|
+
/**
|
|
3409
|
+
* Custom item ID for unique identification.
|
|
3410
|
+
*/
|
|
3411
|
+
id: string;
|
|
3412
|
+
/**
|
|
3413
|
+
* Custom item name for display purposes.
|
|
3414
|
+
*/
|
|
3415
|
+
name: Translation;
|
|
3416
|
+
/**
|
|
3417
|
+
* Firestore path to the video.
|
|
3418
|
+
*/
|
|
3419
|
+
path: string;
|
|
3420
|
+
}
|
|
3421
|
+
|
|
2875
3422
|
declare type Membership = {
|
|
2876
3423
|
id: string;
|
|
2877
3424
|
type: string;
|
|
2878
3425
|
};
|
|
2879
3426
|
|
|
3427
|
+
export declare type MergeUserAccountsPayload = {
|
|
3428
|
+
email: string;
|
|
3429
|
+
name?: string;
|
|
3430
|
+
password: string;
|
|
3431
|
+
};
|
|
3432
|
+
|
|
2880
3433
|
/**
|
|
2881
3434
|
* @public
|
|
2882
3435
|
*/
|
|
@@ -2912,6 +3465,17 @@ export declare interface MessageUser {
|
|
|
2912
3465
|
email: string;
|
|
2913
3466
|
}
|
|
2914
3467
|
|
|
3468
|
+
export declare enum MetadataFieldId {
|
|
3469
|
+
NAME = "name",// always required
|
|
3470
|
+
SHORT_NAME = "shortName",// optional, fixed position (not sortable)
|
|
3471
|
+
DESCRIPTION = "description",// always required
|
|
3472
|
+
RICH_DESCRIPTION = "richDescription",// optional, fixed position (not sortable)
|
|
3473
|
+
TAGS = "tags",
|
|
3474
|
+
FILM_DETAILS = "filmDetails",
|
|
3475
|
+
AUDIENCE_LIMITATIONS = "audienceLimitations",
|
|
3476
|
+
PRODUCT_PLACEMENT = "productPlacement"
|
|
3477
|
+
}
|
|
3478
|
+
|
|
2915
3479
|
/**
|
|
2916
3480
|
* External information of video migrated via our Public API.
|
|
2917
3481
|
* @public
|
|
@@ -3133,11 +3697,6 @@ declare type Notification_2 = {
|
|
|
3133
3697
|
} & EmailNotification;
|
|
3134
3698
|
export { Notification_2 as Notification }
|
|
3135
3699
|
|
|
3136
|
-
export declare interface NotificationDuration {
|
|
3137
|
-
value: number;
|
|
3138
|
-
unit: dayjs.ManipulateType;
|
|
3139
|
-
}
|
|
3140
|
-
|
|
3141
3700
|
export declare type NotificationFilterType = NotificationFirestoreFilterType | NotificationSurveyFilterType | NotificationLastActivityFilterType;
|
|
3142
3701
|
|
|
3143
3702
|
export declare type NotificationFirestoreFilterType = NotificationSubscriptionFilterType | NotificationMembershipFilterType;
|
|
@@ -3160,12 +3719,21 @@ export declare interface NotificationMembershipFilterType {
|
|
|
3160
3719
|
};
|
|
3161
3720
|
}
|
|
3162
3721
|
|
|
3722
|
+
/**
|
|
3723
|
+
* Lifecycle status of a notification.
|
|
3724
|
+
*/
|
|
3163
3725
|
export declare enum NotificationStatus {
|
|
3726
|
+
/** Automatic trigger types (e.g. purchaseStatusChange, duration, userRegistration); not manually or scheduled sent. */
|
|
3164
3727
|
AUTOMATIC = "automatic",
|
|
3728
|
+
/** Editable, not yet scheduled or sent. Initial state; can transition to PLANNED when scheduled. */
|
|
3165
3729
|
DRAFT = "draft",
|
|
3730
|
+
/** Scheduled (e.g. Cloud Task created for email, or push scheduled). For push, sending runs on DRAFT→PLANNED then status becomes SENT. */
|
|
3166
3731
|
PLANNED = "planned",
|
|
3732
|
+
/** Notification has been sent. Set after push send and after email send for manual/scheduled. */
|
|
3167
3733
|
SENT = "sent",
|
|
3734
|
+
/** Manual trigger saved and waiting to be sent (no lastSent yet). */
|
|
3168
3735
|
WAITING = "waiting",
|
|
3736
|
+
/** Currently being sent (e.g. EmailSender sets RUNNING before sendEmails). Saving and re-sending are blocked while RUNNING. */
|
|
3169
3737
|
RUNNING = "running"
|
|
3170
3738
|
}
|
|
3171
3739
|
|
|
@@ -3199,6 +3767,17 @@ export declare interface NotificationTargeting {
|
|
|
3199
3767
|
to?: Date;
|
|
3200
3768
|
}
|
|
3201
3769
|
|
|
3770
|
+
/**
|
|
3771
|
+
* How the notification is triggered.
|
|
3772
|
+
* - **scheduled**: Sent at a fixed time (scheduleTime). Status becomes PLANNED when scheduled;
|
|
3773
|
+
* used with Cloud Tasks for email and for push when moving from DRAFT to PLANNED.
|
|
3774
|
+
* - **manual**: Sent on demand from the admin. Status is WAITING until sent, then SENT.
|
|
3775
|
+
* - **purchaseStatusChange**: Fired when a user's purchase/subscription status changes (before/after).
|
|
3776
|
+
* Matched by getNotificationByPurchaseStatuses; status is AUTOMATIC.
|
|
3777
|
+
* - **duration**: Time-based (e.g. subscription duration). Used by the daily email job (sendEmailsDaily)
|
|
3778
|
+
* via DurationEmailSender to target users by duration criteria.
|
|
3779
|
+
* - **userRegistration**: Fired when a user registers. Resolved by getNotificationUserRegistration.
|
|
3780
|
+
*/
|
|
3202
3781
|
export declare type NotificationTriggerType = 'scheduled' | 'manual' | 'purchaseStatusChange' | 'duration' | 'userRegistration';
|
|
3203
3782
|
|
|
3204
3783
|
export declare enum NotificationType {
|
|
@@ -3213,6 +3792,13 @@ export declare type Nullable<T> = {
|
|
|
3213
3792
|
[P in keyof T]: T[P] | null;
|
|
3214
3793
|
};
|
|
3215
3794
|
|
|
3795
|
+
export declare interface NumberItem {
|
|
3796
|
+
value: string;
|
|
3797
|
+
description: Translation;
|
|
3798
|
+
}
|
|
3799
|
+
|
|
3800
|
+
export declare type NumbersTileSpecificData = NumberItem;
|
|
3801
|
+
|
|
3216
3802
|
/**
|
|
3217
3803
|
* @public
|
|
3218
3804
|
*/
|
|
@@ -3288,6 +3874,20 @@ export declare interface OrganizationSettingsField extends OrganizationResponsiv
|
|
|
3288
3874
|
enabled: boolean;
|
|
3289
3875
|
};
|
|
3290
3876
|
allowedSignInProviders?: SignInProvider[];
|
|
3877
|
+
/**
|
|
3878
|
+
* Social authentication provider for this organization
|
|
3879
|
+
* 'auth0' - Use Auth0 for social login (Kviff)
|
|
3880
|
+
* 'firebase' - Use Firebase Auth for social login (default)
|
|
3881
|
+
*/
|
|
3882
|
+
socialAuthProvider?: 'auth0' | 'firebase';
|
|
3883
|
+
/**
|
|
3884
|
+
* Auth0 configuration for organizations using Auth0 social login.
|
|
3885
|
+
* Only relevant when socialAuthProvider === 'auth0'.
|
|
3886
|
+
*/
|
|
3887
|
+
auth0?: {
|
|
3888
|
+
domain: string;
|
|
3889
|
+
clientId: string;
|
|
3890
|
+
};
|
|
3291
3891
|
disableComments?: boolean;
|
|
3292
3892
|
/**
|
|
3293
3893
|
* Used on CNC webs - When buying a yearly subscription the recalculated monthly price is display below the yearly price
|
|
@@ -3333,6 +3933,11 @@ export declare interface OrganizationSettingsField extends OrganizationResponsiv
|
|
|
3333
3933
|
id: string;
|
|
3334
3934
|
};
|
|
3335
3935
|
};
|
|
3936
|
+
/**
|
|
3937
|
+
* 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.
|
|
3938
|
+
* The logic can be found here: {@link apps/api/functions/src/model/purchase.ts}
|
|
3939
|
+
* 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.
|
|
3940
|
+
*/
|
|
3336
3941
|
cancelledSubscriptionDiscount?: {
|
|
3337
3942
|
enabled: boolean;
|
|
3338
3943
|
};
|
|
@@ -3348,6 +3953,28 @@ export declare interface OrganizationSettingsField extends OrganizationResponsiv
|
|
|
3348
3953
|
pushNotifications?: {
|
|
3349
3954
|
enabled?: boolean;
|
|
3350
3955
|
};
|
|
3956
|
+
recommendations?: {
|
|
3957
|
+
videosNoOlderThan?: {
|
|
3958
|
+
unit: 'month';
|
|
3959
|
+
value: number;
|
|
3960
|
+
};
|
|
3961
|
+
};
|
|
3962
|
+
/**
|
|
3963
|
+
* Payment flow configuration
|
|
3964
|
+
* @default PaymentFlow.NEW
|
|
3965
|
+
*/
|
|
3966
|
+
paymentFlow?: PaymentFlow;
|
|
3967
|
+
contentMetadata?: {
|
|
3968
|
+
[MetadataFieldId.SHORT_NAME]?: ContentMetadataOptions;
|
|
3969
|
+
[MetadataFieldId.RICH_DESCRIPTION]?: ContentMetadataOptions;
|
|
3970
|
+
[MetadataFieldId.TAGS]?: ContentMetadataOptions;
|
|
3971
|
+
[MetadataFieldId.FILM_DETAILS]?: ContentMetadataOptions;
|
|
3972
|
+
[MetadataFieldId.AUDIENCE_LIMITATIONS]?: ContentMetadataOptions;
|
|
3973
|
+
[MetadataFieldId.PRODUCT_PLACEMENT]?: ContentMetadataOptions;
|
|
3974
|
+
};
|
|
3975
|
+
aiProcessing?: {
|
|
3976
|
+
assets?: boolean;
|
|
3977
|
+
};
|
|
3351
3978
|
}
|
|
3352
3979
|
|
|
3353
3980
|
/**
|
|
@@ -3362,7 +3989,7 @@ export declare type OtherSource = SourceBase & StartAndContinuePosition & {
|
|
|
3362
3989
|
|
|
3363
3990
|
export declare interface PaginatedResponse<T = unknown, U extends NextPageParamType = NextPageParamType> {
|
|
3364
3991
|
items: T[];
|
|
3365
|
-
nextPageParams: {
|
|
3992
|
+
nextPageParams: ({
|
|
3366
3993
|
offset: number;
|
|
3367
3994
|
limit: number;
|
|
3368
3995
|
} & (U extends 'screenId' ? {
|
|
@@ -3374,7 +4001,7 @@ export declare interface PaginatedResponse<T = unknown, U extends NextPageParamT
|
|
|
3374
4001
|
rowId: string;
|
|
3375
4002
|
} : U extends 'filter' ? {
|
|
3376
4003
|
filter: Omit<RowFilterField, 'limit'>;
|
|
3377
|
-
} :
|
|
4004
|
+
} : object)) | null;
|
|
3378
4005
|
}
|
|
3379
4006
|
|
|
3380
4007
|
/**
|
|
@@ -3409,20 +4036,6 @@ export declare interface PartialRegistrationOverlayContextState {
|
|
|
3409
4036
|
voucher?: string;
|
|
3410
4037
|
}
|
|
3411
4038
|
|
|
3412
|
-
/**
|
|
3413
|
-
* @public
|
|
3414
|
-
* Generic interface for sources that can be identified by a path (video or TV channel)
|
|
3415
|
-
*/
|
|
3416
|
-
export declare type PathSourceParams = PathSourceParamsTvChannel | PathSourceParamsVideo;
|
|
3417
|
-
|
|
3418
|
-
declare interface PathSourceParamsTvChannel extends Partial<ChannelSourceParams> {
|
|
3419
|
-
path: `tvChannels/${string}`;
|
|
3420
|
-
}
|
|
3421
|
-
|
|
3422
|
-
declare interface PathSourceParamsVideo extends Partial<Omit<VodTivioSourceParams, 'videoPath'>> {
|
|
3423
|
-
path: `videos/${string}`;
|
|
3424
|
-
}
|
|
3425
|
-
|
|
3426
4039
|
export declare type PatreonCreatorData = {
|
|
3427
4040
|
campaign: string;
|
|
3428
4041
|
tiers: Tier[];
|
|
@@ -3466,6 +4079,17 @@ export declare type PatreonUserResponse = {
|
|
|
3466
4079
|
errors?: PatreonError[];
|
|
3467
4080
|
};
|
|
3468
4081
|
|
|
4082
|
+
/**
|
|
4083
|
+
* @public
|
|
4084
|
+
*
|
|
4085
|
+
* - NEW: Automatically show payment overlay when tasting video ends (ContentIsPaidOverlay with poster)
|
|
4086
|
+
* - LEGACY: Old behavior - users must manually click to purchase, no automatic overlay
|
|
4087
|
+
*/
|
|
4088
|
+
export declare enum PaymentFlow {
|
|
4089
|
+
NEW = "new",
|
|
4090
|
+
LEGACY = "legacy"
|
|
4091
|
+
}
|
|
4092
|
+
|
|
3469
4093
|
/**
|
|
3470
4094
|
* @public
|
|
3471
4095
|
*/
|
|
@@ -3593,6 +4217,8 @@ export declare interface PlayerEngineConfig {
|
|
|
3593
4217
|
isAd?: boolean;
|
|
3594
4218
|
positionMs?: number;
|
|
3595
4219
|
url: string;
|
|
4220
|
+
sessionType?: SessionType;
|
|
4221
|
+
sourcePlayMode?: SourcePlayMode;
|
|
3596
4222
|
}
|
|
3597
4223
|
|
|
3598
4224
|
/**
|
|
@@ -3695,9 +4321,46 @@ export declare interface PlayerEngineInterface {
|
|
|
3695
4321
|
*
|
|
3696
4322
|
* @param {number} playbackSpeed - playback speed to select (1 = normal speed, 2 = twice as fast, etc.)
|
|
3697
4323
|
*/
|
|
3698
|
-
selectPlaybackSpeed?: (playbackSpeed: number) => void;
|
|
3699
|
-
destroy(): Promise<void>;
|
|
3700
|
-
getBufferedInfo?(): BufferChunk[];
|
|
4324
|
+
selectPlaybackSpeed?: (playbackSpeed: number) => void;
|
|
4325
|
+
destroy(): Promise<void>;
|
|
4326
|
+
getBufferedInfo?(): BufferChunk[];
|
|
4327
|
+
/**
|
|
4328
|
+
* Clears buffered segments ahead of the current playback position.
|
|
4329
|
+
* Used during interactive streaming camera switches to enable faster content transition.
|
|
4330
|
+
*
|
|
4331
|
+
* @param safeMarginMs - Milliseconds of buffer to keep ahead of current position (default: 0)
|
|
4332
|
+
* @param secondarySourceId - Optional ID of the secondary source being switched to
|
|
4333
|
+
* @returns Promise that resolves when buffer clearing is complete
|
|
4334
|
+
*/
|
|
4335
|
+
clearBufferAhead?(safeMarginMs?: number, secondarySourceId?: string): Promise<void>;
|
|
4336
|
+
/**
|
|
4337
|
+
* Sets the streaming profile to configure buffer behavior.
|
|
4338
|
+
* Use 'low' for interactive streaming with fast camera switches,
|
|
4339
|
+
* 'medium' for balanced behavior, 'high' for maximum stability.
|
|
4340
|
+
*
|
|
4341
|
+
* @param profile - The streaming profile to apply
|
|
4342
|
+
*/
|
|
4343
|
+
setStreamingProfile?(profile: StreamingProfile): void;
|
|
4344
|
+
/**
|
|
4345
|
+
* Gets the current streaming profile.
|
|
4346
|
+
*/
|
|
4347
|
+
getStreamingProfile?(): StreamingProfile;
|
|
4348
|
+
/**
|
|
4349
|
+
* Set whether to prefer native HLS playback over MSE.
|
|
4350
|
+
* This is required for AirPlay to work properly in Safari.
|
|
4351
|
+
* Must be called before play() to take effect.
|
|
4352
|
+
*
|
|
4353
|
+
* @param preferNativeHls - Whether to prefer native HLS playback
|
|
4354
|
+
*/
|
|
4355
|
+
setPreferNativeHls?(preferNativeHls: boolean): void;
|
|
4356
|
+
/**
|
|
4357
|
+
* Reload the current source with the current configuration (including preferNativeHls).
|
|
4358
|
+
* This is a lightweight reload that doesn't go through the full playerWrapper source pipeline.
|
|
4359
|
+
* Used for switching between MSE and native HLS playback for AirPlay.
|
|
4360
|
+
*
|
|
4361
|
+
* @returns Promise that resolves when reload is complete
|
|
4362
|
+
*/
|
|
4363
|
+
reloadCurrentConfig?(): Promise<void>;
|
|
3701
4364
|
lastQuality: number | null;
|
|
3702
4365
|
/**
|
|
3703
4366
|
* Attribute indicating that the video is to be played "inline"
|
|
@@ -3800,6 +4463,19 @@ export declare interface PlayerInterface {
|
|
|
3800
4463
|
*/
|
|
3801
4464
|
setPlaysInline?: (value: boolean) => void;
|
|
3802
4465
|
setControlsList?: (value: string[]) => void;
|
|
4466
|
+
/**
|
|
4467
|
+
* Clears buffered segments ahead of the current playback position.
|
|
4468
|
+
* Used during interactive streaming camera switches to enable faster content transition.
|
|
4469
|
+
*
|
|
4470
|
+
* @param safeMarginMs - Milliseconds of buffer to keep ahead of current position (default: 0)
|
|
4471
|
+
* @returns Promise that resolves when buffer clearing is complete
|
|
4472
|
+
*/
|
|
4473
|
+
clearBufferAhead?: (safeMarginMs?: number, secondarySourceId?: string) => Promise<void>;
|
|
4474
|
+
/**
|
|
4475
|
+
* Callback to receive camera switch progress updates.
|
|
4476
|
+
* Called by the engine during interactive streaming camera switches.
|
|
4477
|
+
*/
|
|
4478
|
+
onCameraSwitchProgress?: (progress: CameraSwitchProgress) => void;
|
|
3803
4479
|
}
|
|
3804
4480
|
|
|
3805
4481
|
/**
|
|
@@ -3869,7 +4545,6 @@ export declare interface PlayerSourceInterface<T extends NonAdSourceType = NonAd
|
|
|
3869
4545
|
start?: Date;
|
|
3870
4546
|
from?: Date;
|
|
3871
4547
|
sourceHistory?: string[];
|
|
3872
|
-
staticAdsConfig?: StaticAdsBreak[];
|
|
3873
4548
|
}
|
|
3874
4549
|
|
|
3875
4550
|
/**
|
|
@@ -3888,7 +4563,6 @@ export declare interface PlayerSourceParams<T extends NonAdSourceType = NonAdSou
|
|
|
3888
4563
|
seekingMatrix?: SeekingMatrixTemplate;
|
|
3889
4564
|
sessionType?: VideoSourceField['sessionType'];
|
|
3890
4565
|
sessionId?: string;
|
|
3891
|
-
staticAdsConfig?: StaticAdsBreak[];
|
|
3892
4566
|
}
|
|
3893
4567
|
|
|
3894
4568
|
export declare type PlayersScene = InteractiveWidgetSceneBase<InteractiveWidgetSceneTemplateType.PLAYERS>;
|
|
@@ -3940,6 +4614,11 @@ export declare interface PlayerWrapper {
|
|
|
3940
4614
|
availableLanguages: LangCode[] | null;
|
|
3941
4615
|
canReplay: boolean;
|
|
3942
4616
|
currentSecondarySource: Video | null;
|
|
4617
|
+
/**
|
|
4618
|
+
* Camera switch transition progress for interactive streaming.
|
|
4619
|
+
* Non-null when a camera switch is in progress.
|
|
4620
|
+
*/
|
|
4621
|
+
cameraSwitchProgress: CameraSwitchProgress | null;
|
|
3943
4622
|
currentTime: number;
|
|
3944
4623
|
/**
|
|
3945
4624
|
* Currently playing source
|
|
@@ -3990,6 +4669,10 @@ export declare interface PlayerWrapper {
|
|
|
3990
4669
|
* Retry to play a video that failed to start playing (e.g. due to a network error)
|
|
3991
4670
|
*/
|
|
3992
4671
|
retry: () => void;
|
|
4672
|
+
/**
|
|
4673
|
+
* Refresh the current source by calling getSourceUrl without sourceHistory.
|
|
4674
|
+
*/
|
|
4675
|
+
refreshSource: () => Promise<void>;
|
|
3993
4676
|
togglePlayPause: () => void;
|
|
3994
4677
|
seekTo: (ms: number) => void;
|
|
3995
4678
|
/**
|
|
@@ -3998,6 +4681,21 @@ export declare interface PlayerWrapper {
|
|
|
3998
4681
|
setVolume: (volume: number) => void;
|
|
3999
4682
|
changeLanguage: (langCode: LangCode) => Promise<void>;
|
|
4000
4683
|
changeToFallbackSource: () => Promise<void>;
|
|
4684
|
+
/**
|
|
4685
|
+
* Switch to HLS source for AirPlay (Safari/iOS only).
|
|
4686
|
+
* Preserves current playback position.
|
|
4687
|
+
*/
|
|
4688
|
+
switchToHlsForAirplay: () => Promise<void>;
|
|
4689
|
+
/**
|
|
4690
|
+
* Switch back to DASH from HLS after AirPlay disconnects.
|
|
4691
|
+
* Preserves current playback position.
|
|
4692
|
+
*/
|
|
4693
|
+
switchToDashFromAirplay: () => Promise<void>;
|
|
4694
|
+
/**
|
|
4695
|
+
* Reload the current source while preserving playback position.
|
|
4696
|
+
* Used when switching between native HLS and MSE playback modes.
|
|
4697
|
+
*/
|
|
4698
|
+
reloadCurrentSource: () => Promise<void>;
|
|
4001
4699
|
/**
|
|
4002
4700
|
* change volume by value between -1,1
|
|
4003
4701
|
*/
|
|
@@ -4022,10 +4720,20 @@ export declare interface PlayerWrapper {
|
|
|
4022
4720
|
seekToLive: () => void;
|
|
4023
4721
|
seekToLiveInternal: () => void;
|
|
4024
4722
|
setIsBuffering: (isBuffering: boolean) => void;
|
|
4723
|
+
isCasting: boolean;
|
|
4025
4724
|
setIsCasting: (isCasting: boolean) => void;
|
|
4026
4725
|
skipAd: () => void;
|
|
4027
4726
|
skipAllAds: () => void;
|
|
4028
4727
|
switchSecondarySource: (activeVideoId?: string) => Promise<void>;
|
|
4728
|
+
/**
|
|
4729
|
+
* Set whether to prefer HLS sources over DASH.
|
|
4730
|
+
* Used in Safari/iOS when AirPlay is available, as AirPlay only supports HLS streaming.
|
|
4731
|
+
*/
|
|
4732
|
+
setPreferHls: (preferHls: boolean) => void;
|
|
4733
|
+
/**
|
|
4734
|
+
* Suppress watermark tamper detection during AirPlay source switching.
|
|
4735
|
+
*/
|
|
4736
|
+
setAirplaySwitching?: (isSwitching: boolean) => void;
|
|
4029
4737
|
}
|
|
4030
4738
|
|
|
4031
4739
|
/**
|
|
@@ -4050,19 +4758,7 @@ export declare enum PlayerWrapperEvents {
|
|
|
4050
4758
|
/**
|
|
4051
4759
|
* Un-pause was triggered
|
|
4052
4760
|
*/
|
|
4053
|
-
'unpause_triggered' = "unpause_triggered"
|
|
4054
|
-
/**
|
|
4055
|
-
* Triggered when an ad starts playing
|
|
4056
|
-
*/
|
|
4057
|
-
'ad-started' = "ad-started",
|
|
4058
|
-
/**
|
|
4059
|
-
* Triggered when an ad finishes playing
|
|
4060
|
-
*/
|
|
4061
|
-
'ad-ended' = "ad-ended",
|
|
4062
|
-
/**
|
|
4063
|
-
* Triggered when companion ads are available for the current ad
|
|
4064
|
-
*/
|
|
4065
|
-
'companion-ads' = "companion-ads"
|
|
4761
|
+
'unpause_triggered' = "unpause_triggered"
|
|
4066
4762
|
}
|
|
4067
4763
|
|
|
4068
4764
|
/**
|
|
@@ -4090,6 +4786,20 @@ export declare type PlayerWrapperEventTypeType = `${PlayerWrapperEventType}`;
|
|
|
4090
4786
|
*/
|
|
4091
4787
|
export declare type PrerollCheck = (source: PlayerSource) => Promise<AdSourceInterface | null>;
|
|
4092
4788
|
|
|
4789
|
+
export declare type PresentBannerExtendRowData = {
|
|
4790
|
+
name: Translation;
|
|
4791
|
+
subname?: Translation;
|
|
4792
|
+
description?: Translation;
|
|
4793
|
+
avatars?: ScalableAsset[];
|
|
4794
|
+
avatarsText?: Translation;
|
|
4795
|
+
asset?: ScalableAsset;
|
|
4796
|
+
buttons?: RowButton[];
|
|
4797
|
+
};
|
|
4798
|
+
|
|
4799
|
+
export declare type PricesField = {
|
|
4800
|
+
[currency in Currency]?: number | null;
|
|
4801
|
+
};
|
|
4802
|
+
|
|
4093
4803
|
export declare enum primaPlusMonetizationLevel {
|
|
4094
4804
|
light = "z7soJTA2dYSxnOOJw7B0",
|
|
4095
4805
|
premium = "kwfM0D7Vzv5wfLf5go8o",
|
|
@@ -4188,8 +4898,9 @@ export declare interface ProgressMetadata {
|
|
|
4188
4898
|
* @public
|
|
4189
4899
|
*/
|
|
4190
4900
|
export declare interface Promotion {
|
|
4901
|
+
id?: string;
|
|
4191
4902
|
duration?: Duration;
|
|
4192
|
-
|
|
4903
|
+
prices?: PricesField;
|
|
4193
4904
|
requiresPaymentAuthorization?: boolean;
|
|
4194
4905
|
hideOtherSubscriptions?: boolean;
|
|
4195
4906
|
}
|
|
@@ -4239,7 +4950,9 @@ export declare interface PurchasableMonetization extends Monetization {
|
|
|
4239
4950
|
*/
|
|
4240
4951
|
price?: string | number;
|
|
4241
4952
|
promotion: Promotion | null;
|
|
4242
|
-
frequency?:
|
|
4953
|
+
frequency?: Omit<FrequencyInfo, 'title'> & {
|
|
4954
|
+
title: string;
|
|
4955
|
+
};
|
|
4243
4956
|
frequencyInfo?: FrequencyInfo;
|
|
4244
4957
|
durationDays?: number;
|
|
4245
4958
|
/**
|
|
@@ -4279,7 +4992,30 @@ export declare interface PurchasableMonetization extends Monetization {
|
|
|
4279
4992
|
* Number of seats left for the subscription.
|
|
4280
4993
|
*/
|
|
4281
4994
|
seatsLeft?: number;
|
|
4995
|
+
/**
|
|
4996
|
+
* Trial period in milliseconds for the subscription.
|
|
4997
|
+
*/
|
|
4998
|
+
trialPeriod?: number;
|
|
4999
|
+
/**
|
|
5000
|
+
* Maximum quantity of the subscription.
|
|
5001
|
+
*/
|
|
4282
5002
|
maxQuantity?: number;
|
|
5003
|
+
/**
|
|
5004
|
+
* Currency of the monetization price.
|
|
5005
|
+
*/
|
|
5006
|
+
currency?: Currency;
|
|
5007
|
+
/**
|
|
5008
|
+
* Detailed price information, including currency and amount - Takes the price getter from purchsable monetization entity.
|
|
5009
|
+
*/
|
|
5010
|
+
detailedPrice?: DetailedPrice;
|
|
5011
|
+
/**
|
|
5012
|
+
* Subtitle for the monetization, used in UI.
|
|
5013
|
+
*/
|
|
5014
|
+
subtitle?: string;
|
|
5015
|
+
/**
|
|
5016
|
+
* Banner title for the monetization, used in UI.
|
|
5017
|
+
*/
|
|
5018
|
+
bannerTitle?: string;
|
|
4283
5019
|
}
|
|
4284
5020
|
|
|
4285
5021
|
/**
|
|
@@ -4311,6 +5047,7 @@ export declare type Purchase = {
|
|
|
4311
5047
|
monetization: PurchaseMonetization | null;
|
|
4312
5048
|
monetizationId: string | null;
|
|
4313
5049
|
monetizationRef: any | null;
|
|
5050
|
+
nextPaymentDate: Date | null;
|
|
4314
5051
|
status: PurchaseStatus | null;
|
|
4315
5052
|
type: PurchaseType | null;
|
|
4316
5053
|
/**
|
|
@@ -4697,6 +5434,7 @@ export declare interface QerkoTransaction {
|
|
|
4697
5434
|
paymentStatus: string | null;
|
|
4698
5435
|
getPaymentInfo: () => Promise<void>;
|
|
4699
5436
|
voucherId?: string;
|
|
5437
|
+
isLoading: boolean;
|
|
4700
5438
|
}
|
|
4701
5439
|
|
|
4702
5440
|
export declare type QRCodeScene = InteractiveWidgetSceneBase<InteractiveWidgetSceneTemplateType.QR_CODE>;
|
|
@@ -4725,7 +5463,7 @@ export declare interface QuestionRepository {
|
|
|
4725
5463
|
readonly selectedAnswerId: string | undefined;
|
|
4726
5464
|
isSubmitted: boolean;
|
|
4727
5465
|
isSubmitting: boolean;
|
|
4728
|
-
setCurrentQuestion: (question: CurrentQuestion | null, role: QuizGameRole, secondsToAnswer: number, shouldEnterAtTimestampMs?: number) => void;
|
|
5466
|
+
setCurrentQuestion: (question: CurrentQuestion | null, role: QuizGameRole, secondsToAnswer: number, shouldEnterAtTimestampMs?: number, shouldAdjustEndTimestampMs?: boolean) => void;
|
|
4729
5467
|
selectAnswer: (answerId: string | undefined) => void;
|
|
4730
5468
|
setShowCountdown: (showCountdown: boolean) => void;
|
|
4731
5469
|
reset: () => void;
|
|
@@ -4975,6 +5713,16 @@ export declare type RequiredNullable<T> = {
|
|
|
4975
5713
|
[P in keyof T]-?: P extends OptionalKeys<T> ? T[P] | null : T[P];
|
|
4976
5714
|
};
|
|
4977
5715
|
|
|
5716
|
+
export declare interface ReviewItem {
|
|
5717
|
+
asset: ScalableAsset;
|
|
5718
|
+
name: Translation;
|
|
5719
|
+
subname?: Translation;
|
|
5720
|
+
rating: 1 | 2 | 3 | 4 | 5;
|
|
5721
|
+
description?: Translation;
|
|
5722
|
+
}
|
|
5723
|
+
|
|
5724
|
+
export declare type ReviewTileSpecificData = ReviewItem;
|
|
5725
|
+
|
|
4978
5726
|
/**
|
|
4979
5727
|
* @public
|
|
4980
5728
|
*/
|
|
@@ -4997,6 +5745,7 @@ export declare interface RouterOverrides {
|
|
|
4997
5745
|
gridType: GRID_TYPES.ROW;
|
|
4998
5746
|
rowId: string;
|
|
4999
5747
|
organizationId?: string;
|
|
5748
|
+
applicationHandle?: string;
|
|
5000
5749
|
} | {
|
|
5001
5750
|
gridType: GRID_TYPES.VIDEO;
|
|
5002
5751
|
videoId: string;
|
|
@@ -5028,6 +5777,7 @@ export declare interface RouterOverrides {
|
|
|
5028
5777
|
goToRecommendedFromOrganizationRow: (screenId: string, rowId: string) => void;
|
|
5029
5778
|
goToMagentaMomentsPage: (voucher?: string) => void;
|
|
5030
5779
|
goToVoucherRedeemPage: () => void;
|
|
5780
|
+
goToSubscriptionsPage: (organizationHandle?: string) => void;
|
|
5031
5781
|
updateParams: (params: URLSearchParams) => void;
|
|
5032
5782
|
navigate: (path: string) => void;
|
|
5033
5783
|
}
|
|
@@ -5046,25 +5796,7 @@ export declare interface RouterOverridesContextState {
|
|
|
5046
5796
|
/**
|
|
5047
5797
|
* @public
|
|
5048
5798
|
*/
|
|
5049
|
-
export declare
|
|
5050
|
-
id: string;
|
|
5051
|
-
rowId: string;
|
|
5052
|
-
name: string;
|
|
5053
|
-
description?: string;
|
|
5054
|
-
assets: AssetsField;
|
|
5055
|
-
type: ScreenRowType;
|
|
5056
|
-
isLiveRow: boolean;
|
|
5057
|
-
tiles: PaginationInterface<ItemInRow>;
|
|
5058
|
-
numberOfLines?: number;
|
|
5059
|
-
monetizations?: {
|
|
5060
|
-
monetizationRef: any;
|
|
5061
|
-
}[];
|
|
5062
|
-
rowComponent: RowComponent.ROW | RowComponent.BANNER;
|
|
5063
|
-
itemComponent: RowItemComponent | BannerItemComponent;
|
|
5064
|
-
organizationId?: string;
|
|
5065
|
-
bottomComponent?: BottomComponent;
|
|
5066
|
-
showDescriptionAsTitle?: boolean;
|
|
5067
|
-
}
|
|
5799
|
+
export declare type Row = StaticRow | DynamicRow;
|
|
5068
5800
|
|
|
5069
5801
|
/**
|
|
5070
5802
|
* @public
|
|
@@ -5082,17 +5814,41 @@ export declare enum ROW_ITEM_TYPES {
|
|
|
5082
5814
|
/**
|
|
5083
5815
|
* @public
|
|
5084
5816
|
*/
|
|
5085
|
-
export declare interface RowBanner extends
|
|
5817
|
+
export declare interface RowBanner extends DynamicRow {
|
|
5086
5818
|
rowComponent: RowComponent.BANNER;
|
|
5087
5819
|
itemComponent: BannerItemComponent;
|
|
5088
5820
|
}
|
|
5089
5821
|
|
|
5822
|
+
export declare interface RowButton {
|
|
5823
|
+
id: string;
|
|
5824
|
+
enabled: boolean;
|
|
5825
|
+
href: string;
|
|
5826
|
+
text: Translation;
|
|
5827
|
+
variant: 'primary' | 'secondary';
|
|
5828
|
+
leftIcon?: 'play';
|
|
5829
|
+
}
|
|
5830
|
+
|
|
5090
5831
|
/**
|
|
5091
5832
|
* @public
|
|
5092
5833
|
*/
|
|
5093
5834
|
export declare enum RowComponent {
|
|
5094
5835
|
ROW = "ROW",
|
|
5095
|
-
BANNER = "BANNER"
|
|
5836
|
+
BANNER = "BANNER",
|
|
5837
|
+
BENEFITS = "BENEFITS",
|
|
5838
|
+
REVIEWS = "REVIEWS",
|
|
5839
|
+
MONETIZATIONS = "MONETIZATIONS",
|
|
5840
|
+
SPLIT_LAYOUT = "SPLIT_LAYOUT",
|
|
5841
|
+
NUMBERS = "NUMBERS",
|
|
5842
|
+
FAQ = "FAQ",
|
|
5843
|
+
CTA_BANNER = "CTA_BANNER",
|
|
5844
|
+
PRESENT_BANNER = "PRESENT_BANNER",
|
|
5845
|
+
MONETIZATION_BANNER = "MONETIZATION_BANNER",
|
|
5846
|
+
VIDEO_BANNER = "VIDEO_BANNER",
|
|
5847
|
+
MEDIA_ACCORDEON = "MEDIA_ACCORDEON",
|
|
5848
|
+
EXPLORE = "EXPLORE",
|
|
5849
|
+
BACKGROUND_BANNER = "BACKGROUND_BANNER",
|
|
5850
|
+
PARTNER_LOGOS = "PARTNER_LOGOS",
|
|
5851
|
+
HOMEPAGE_BANNER = "HOMEPAGE_BANNER"
|
|
5096
5852
|
}
|
|
5097
5853
|
|
|
5098
5854
|
export declare enum RowFilterCollection {
|
|
@@ -5126,72 +5882,10 @@ export declare interface RowFilterWhereField {
|
|
|
5126
5882
|
value: any;
|
|
5127
5883
|
}
|
|
5128
5884
|
|
|
5129
|
-
|
|
5130
|
-
|
|
5131
|
-
|
|
5132
|
-
|
|
5133
|
-
path?: string;
|
|
5134
|
-
/**
|
|
5135
|
-
* Tivio row ID.
|
|
5136
|
-
*/
|
|
5137
|
-
rowId: string;
|
|
5138
|
-
/**
|
|
5139
|
-
* If all items are from the same organization this will be set.
|
|
5140
|
-
*/
|
|
5141
|
-
organizationId?: string;
|
|
5142
|
-
/**
|
|
5143
|
-
* Row name.
|
|
5144
|
-
*/
|
|
5145
|
-
name: Translation;
|
|
5146
|
-
/**
|
|
5147
|
-
* Row filter based on which to pick tiles.
|
|
5148
|
-
*/
|
|
5149
|
-
filter?: RowFilterField;
|
|
5150
|
-
/**
|
|
5151
|
-
* Row order in the screen.
|
|
5152
|
-
*/
|
|
5153
|
-
order?: number;
|
|
5154
|
-
/**
|
|
5155
|
-
* Number of lines of the title.
|
|
5156
|
-
*/
|
|
5157
|
-
numberOfLines?: number;
|
|
5158
|
-
/**
|
|
5159
|
-
* Standard row or a Banner.
|
|
5160
|
-
*/
|
|
5161
|
-
rowComponent: RowComponent;
|
|
5162
|
-
/**
|
|
5163
|
-
* Component to use to render the tiles in the row.
|
|
5164
|
-
*/
|
|
5165
|
-
itemComponent: RowItemComponent | BannerItemComponent;
|
|
5166
|
-
/**
|
|
5167
|
-
* Type of the row (continue to watch, custom, filter, ...).
|
|
5168
|
-
*/
|
|
5169
|
-
type: ScreenRowType;
|
|
5170
|
-
/**
|
|
5171
|
-
* Items to display in the row.
|
|
5172
|
-
*/
|
|
5173
|
-
tiles: GetTilesInRowResponse;
|
|
5174
|
-
/**
|
|
5175
|
-
* Setting for decided what to show bellow the tiles
|
|
5176
|
-
*/
|
|
5177
|
-
bottomComponent?: BottomComponent;
|
|
5178
|
-
/**
|
|
5179
|
-
* Setting for decided whether to show description instead of title in the tiles
|
|
5180
|
-
*/
|
|
5181
|
-
showDescriptionAsTitle?: boolean;
|
|
5182
|
-
/**
|
|
5183
|
-
* Setting for decided whether to hide title in the tiles/banners
|
|
5184
|
-
*/
|
|
5185
|
-
hideTitle?: boolean;
|
|
5186
|
-
/**
|
|
5187
|
-
* Link to external URL
|
|
5188
|
-
*/
|
|
5189
|
-
externalUrl?: string;
|
|
5190
|
-
/**
|
|
5191
|
-
* Title of Play button
|
|
5192
|
-
*/
|
|
5193
|
-
playButtonTitle?: Translation;
|
|
5194
|
-
};
|
|
5885
|
+
/**
|
|
5886
|
+
* Row in screen - can be either static or dynamic
|
|
5887
|
+
*/
|
|
5888
|
+
export declare type RowInScreen = StaticRowInScreen | DynamicRowInScreen;
|
|
5195
5889
|
|
|
5196
5890
|
/**
|
|
5197
5891
|
* @public
|
|
@@ -5204,6 +5898,7 @@ export declare interface RowItem extends RowItemAssets {
|
|
|
5204
5898
|
assets: AssetsField | null;
|
|
5205
5899
|
application: RowItemApplicationData | null;
|
|
5206
5900
|
feedVisible?: boolean;
|
|
5901
|
+
tileProps?: TileProps;
|
|
5207
5902
|
}
|
|
5208
5903
|
|
|
5209
5904
|
/**
|
|
@@ -5241,7 +5936,11 @@ export declare enum RowItemComponent {
|
|
|
5241
5936
|
ROW_ITEM_CREATORS_LANDSCAPE = "ROW_ITEM_CREATORS_LANDSCAPE",
|
|
5242
5937
|
ROW_ITEM_CIRCLED = "ROW_ITEM_CIRCLED",
|
|
5243
5938
|
ROW_ITEM_HIGHLIGHTED = "ROW_ITEM_HIGHLIGHTED",
|
|
5244
|
-
ROW_ITEM_PLAIN = "ROW_ITEM_PLAIN"
|
|
5939
|
+
ROW_ITEM_PLAIN = "ROW_ITEM_PLAIN",
|
|
5940
|
+
SIDE_BANNER = "SIDE_BANNER",
|
|
5941
|
+
ROW_ITEM_FEATURED = "ROW_ITEM_FEATURED",
|
|
5942
|
+
CATEGORY_GRID = "CATEGORY_GRID",
|
|
5943
|
+
HERO_BANNER = "HERO_BANNER"
|
|
5245
5944
|
}
|
|
5246
5945
|
|
|
5247
5946
|
/**
|
|
@@ -5258,6 +5957,16 @@ export declare type RowItemsSubscription = (rowId: string, cb: (error: Error | n
|
|
|
5258
5957
|
hasNextPage: boolean;
|
|
5259
5958
|
} | null, fetchMore: null | ((count?: number) => void), isLoading: boolean) => void, limit?: number) => Disposer_2;
|
|
5260
5959
|
|
|
5960
|
+
/**
|
|
5961
|
+
* @public
|
|
5962
|
+
*/
|
|
5963
|
+
export declare interface RowMonetizationData {
|
|
5964
|
+
id: string;
|
|
5965
|
+
path: string;
|
|
5966
|
+
placementType: 'channel' | 'tvChannel' | 'condition' | 'video' | 'section' | 'row';
|
|
5967
|
+
type: MonetizationType;
|
|
5968
|
+
}
|
|
5969
|
+
|
|
5261
5970
|
/**
|
|
5262
5971
|
* RowOrderByFieldPath that is used in @tivio/firebase needs to be retyped here.
|
|
5263
5972
|
* @public
|
|
@@ -5270,7 +5979,7 @@ export declare enum RowOrderByFieldPath {
|
|
|
5270
5979
|
/**
|
|
5271
5980
|
* @public
|
|
5272
5981
|
*/
|
|
5273
|
-
export declare interface RowStandard extends
|
|
5982
|
+
export declare interface RowStandard extends DynamicRow {
|
|
5274
5983
|
rowComponent: RowComponent.ROW;
|
|
5275
5984
|
itemComponent: RowItemComponent;
|
|
5276
5985
|
}
|
|
@@ -5383,6 +6092,11 @@ declare interface Screen_2 {
|
|
|
5383
6092
|
hasNextPage: boolean;
|
|
5384
6093
|
refetchIfNeeded: () => Promise<void>;
|
|
5385
6094
|
allowOrganizationBanner?: boolean;
|
|
6095
|
+
/**
|
|
6096
|
+
* Path to content (e.g., "videos/ID" or "tvChannels/ID").
|
|
6097
|
+
* Used for PLAYER screen type to specify which content to play.
|
|
6098
|
+
*/
|
|
6099
|
+
contentPath?: string;
|
|
5386
6100
|
}
|
|
5387
6101
|
export { Screen_2 as Screen }
|
|
5388
6102
|
|
|
@@ -5414,7 +6128,7 @@ export declare type ScreenConfig = {
|
|
|
5414
6128
|
/**
|
|
5415
6129
|
* @public
|
|
5416
6130
|
*/
|
|
5417
|
-
export declare type ScreenRowType = 'filter' | 'custom' | 'continueToWatch' | 'favourites' | 'topWatched' | 'applications';
|
|
6131
|
+
export declare type ScreenRowType = 'filter' | 'custom' | 'continueToWatch' | 'favourites' | 'topWatched' | 'applications' | 'static';
|
|
5418
6132
|
|
|
5419
6133
|
/**
|
|
5420
6134
|
* Listen to screen data
|
|
@@ -5431,7 +6145,9 @@ export declare enum ScreenType {
|
|
|
5431
6145
|
EMBED = "embed",
|
|
5432
6146
|
RECOMMENDATION = "recommendation",
|
|
5433
6147
|
FEED = "feed",
|
|
5434
|
-
EPG = "epg"
|
|
6148
|
+
EPG = "epg",
|
|
6149
|
+
LANDING = "landing",
|
|
6150
|
+
PLAYER = "player"
|
|
5435
6151
|
}
|
|
5436
6152
|
|
|
5437
6153
|
/**
|
|
@@ -5455,14 +6171,6 @@ export declare type SdkReactConfig = Omit<TivioConfig, 'language'> & {
|
|
|
5455
6171
|
language?: LangCode;
|
|
5456
6172
|
};
|
|
5457
6173
|
|
|
5458
|
-
/**
|
|
5459
|
-
* @public
|
|
5460
|
-
*/
|
|
5461
|
-
export declare interface SDKUserAuthCallbacks {
|
|
5462
|
-
onGoToLogin?: () => void;
|
|
5463
|
-
onGoToRegistration?: () => void;
|
|
5464
|
-
}
|
|
5465
|
-
|
|
5466
6174
|
/**
|
|
5467
6175
|
* @public
|
|
5468
6176
|
* @deprecated sections are no longer used.
|
|
@@ -5677,7 +6385,22 @@ export declare const showGdprConsentPreferences: () => Promise<void>;
|
|
|
5677
6385
|
/**
|
|
5678
6386
|
* @public
|
|
5679
6387
|
*/
|
|
5680
|
-
export declare
|
|
6388
|
+
export declare interface SideBannerProps {
|
|
6389
|
+
title: string;
|
|
6390
|
+
description: string;
|
|
6391
|
+
cover: string;
|
|
6392
|
+
backgroundColor?: string;
|
|
6393
|
+
buttonText?: string;
|
|
6394
|
+
onButtonClick?: () => void;
|
|
6395
|
+
buttonHref?: string;
|
|
6396
|
+
imagePosition?: 'left' | 'right';
|
|
6397
|
+
textBackgroundColor?: string;
|
|
6398
|
+
}
|
|
6399
|
+
|
|
6400
|
+
/**
|
|
6401
|
+
* @public
|
|
6402
|
+
*/
|
|
6403
|
+
export declare type SignInProvider = 'google' | 'patreon' | 'apple' | 'facebook';
|
|
5681
6404
|
|
|
5682
6405
|
/**
|
|
5683
6406
|
* Simplified VideoController interface for external rendering
|
|
@@ -5766,27 +6489,6 @@ export declare interface SimplifiedVideoController {
|
|
|
5766
6489
|
muted: boolean;
|
|
5767
6490
|
volume: number;
|
|
5768
6491
|
}) => void): void;
|
|
5769
|
-
/**
|
|
5770
|
-
* Add an event listener for ad started events
|
|
5771
|
-
* @param event - Must be 'ad-started'
|
|
5772
|
-
* @param callback - Function called when an ad starts playing
|
|
5773
|
-
*/
|
|
5774
|
-
addEventListener(event: 'ad-started', callback: (adMetadata: AdMetadata & {
|
|
5775
|
-
customAdMetadata?: Record<string, unknown> | null;
|
|
5776
|
-
ctaElement: HTMLElement | null;
|
|
5777
|
-
}) => void): void;
|
|
5778
|
-
/**
|
|
5779
|
-
* Add an event listener for ad ended events
|
|
5780
|
-
* @param event - Must be 'ad-ended'
|
|
5781
|
-
* @param callback - Function called when an ad finishes playing
|
|
5782
|
-
*/
|
|
5783
|
-
addEventListener(event: 'ad-ended', callback: () => void): void;
|
|
5784
|
-
/**
|
|
5785
|
-
* Add an event listener for companion ads events
|
|
5786
|
-
* @param event - Must be 'companion-ads'
|
|
5787
|
-
* @param callback - Function called when companion ads are available
|
|
5788
|
-
*/
|
|
5789
|
-
addEventListener(event: 'companion-ads', callback: (companionAds: CompanionAd[]) => void): void;
|
|
5790
6492
|
/**
|
|
5791
6493
|
* Remove an event listener
|
|
5792
6494
|
* @param event - The event name to stop listening for
|
|
@@ -5798,7 +6500,6 @@ export declare interface SimplifiedVideoController {
|
|
|
5798
6500
|
* @param source - The new source to load (can be a video path, channel path, or source parameters)
|
|
5799
6501
|
*/
|
|
5800
6502
|
setSource(source: WebPlayerProps['source']): void;
|
|
5801
|
-
setAdsConfig(adsConfig: StaticAdsBreak[]): void;
|
|
5802
6503
|
/**
|
|
5803
6504
|
* Destroy the player and clean up all resources
|
|
5804
6505
|
*/
|
|
@@ -5871,6 +6572,14 @@ export declare enum SourceType {
|
|
|
5871
6572
|
VOD_EXTERNAL = "vod_external"
|
|
5872
6573
|
}
|
|
5873
6574
|
|
|
6575
|
+
export declare interface SplitLayoutItem {
|
|
6576
|
+
asset: ScalableAsset;
|
|
6577
|
+
name: Translation;
|
|
6578
|
+
description?: Translation;
|
|
6579
|
+
}
|
|
6580
|
+
|
|
6581
|
+
export declare type SplitLayoutSpecificData = SplitLayoutItem;
|
|
6582
|
+
|
|
5874
6583
|
/**
|
|
5875
6584
|
* External information of video from SportyTv EPG import
|
|
5876
6585
|
* @public
|
|
@@ -5907,35 +6616,241 @@ export declare type StartAndContinuePosition = {
|
|
|
5907
6616
|
|
|
5908
6617
|
export declare type StartLiveStreamPayload = BaseWidgetControlPayload;
|
|
5909
6618
|
|
|
5910
|
-
declare interface StartLiveStreamRequest {
|
|
5911
|
-
action: 'startLiveStream';
|
|
5912
|
-
payload: StartLiveStreamPayload;
|
|
6619
|
+
declare interface StartLiveStreamRequest {
|
|
6620
|
+
action: 'startLiveStream';
|
|
6621
|
+
payload: StartLiveStreamPayload;
|
|
6622
|
+
}
|
|
6623
|
+
|
|
6624
|
+
export declare interface StartLiveStreamResponse {
|
|
6625
|
+
liveStreamProcessPath: string;
|
|
6626
|
+
streamingStudioProcessPath: string;
|
|
6627
|
+
error?: string;
|
|
6628
|
+
}
|
|
6629
|
+
|
|
6630
|
+
/**
|
|
6631
|
+
* Row components available for static rows (BENEFITS, FAQ, etc.)
|
|
6632
|
+
* Matches the rowComponent constraint in StaticRow type definition
|
|
6633
|
+
* @public
|
|
6634
|
+
*/
|
|
6635
|
+
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];
|
|
6636
|
+
|
|
6637
|
+
/**
|
|
6638
|
+
* Static row (e.g. benefits, reviews, FAQ) - doesn't have itemComponent or dynamic fields
|
|
6639
|
+
* Uses special row components like BENEFITS, REVIEWS, FAQ, etc.
|
|
6640
|
+
* @public
|
|
6641
|
+
*/
|
|
6642
|
+
export declare type StaticRow = StaticRowBenefits | StaticRowReviews | StaticRowNumbers | StaticRowSplitLayout | StaticRowFaq | StaticRowPresentBanner | StaticRowExplore | StaticRowCtaBanner | StaticRowWithoutCustomItems;
|
|
6643
|
+
|
|
6644
|
+
/**
|
|
6645
|
+
* Benefits row
|
|
6646
|
+
* @public
|
|
6647
|
+
*/
|
|
6648
|
+
export declare interface StaticRowBenefits extends BaseRow {
|
|
6649
|
+
type: 'static';
|
|
6650
|
+
rowComponent: RowComponent.BENEFITS;
|
|
6651
|
+
customItems: BenefitTileSpecificData;
|
|
6652
|
+
screenRef?: string;
|
|
6653
|
+
videoRef?: string;
|
|
6654
|
+
buttons?: RowButton[];
|
|
6655
|
+
}
|
|
6656
|
+
|
|
6657
|
+
/**
|
|
6658
|
+
* CTA Banner row
|
|
6659
|
+
* @public
|
|
6660
|
+
*/
|
|
6661
|
+
export declare interface StaticRowCtaBanner extends BaseRow {
|
|
6662
|
+
type: 'static';
|
|
6663
|
+
rowComponent: RowComponent.CTA_BANNER;
|
|
6664
|
+
customItems: CtaBannerExtendRowData;
|
|
6665
|
+
screenRef?: string;
|
|
6666
|
+
videoRef?: string;
|
|
6667
|
+
variant?: 'light' | 'dark' | 'default' | 'large';
|
|
6668
|
+
heading?: Translation;
|
|
6669
|
+
subtitle?: {
|
|
6670
|
+
text: Translation;
|
|
6671
|
+
showIcon?: boolean;
|
|
6672
|
+
};
|
|
6673
|
+
button?: {
|
|
6674
|
+
href: string;
|
|
6675
|
+
text: Translation;
|
|
6676
|
+
};
|
|
6677
|
+
}
|
|
6678
|
+
|
|
6679
|
+
/**
|
|
6680
|
+
* Explore row
|
|
6681
|
+
* @public
|
|
6682
|
+
*/
|
|
6683
|
+
export declare interface StaticRowExplore extends BaseRow {
|
|
6684
|
+
type: 'static';
|
|
6685
|
+
rowComponent: RowComponent.EXPLORE;
|
|
6686
|
+
customItems: ExploreTileSpecificData;
|
|
6687
|
+
screenRef?: string;
|
|
6688
|
+
videoRef?: string;
|
|
6689
|
+
}
|
|
6690
|
+
|
|
6691
|
+
/**
|
|
6692
|
+
* FAQ row
|
|
6693
|
+
* @public
|
|
6694
|
+
*/
|
|
6695
|
+
export declare interface StaticRowFaq extends BaseRow {
|
|
6696
|
+
type: 'static';
|
|
6697
|
+
rowComponent: RowComponent.FAQ;
|
|
6698
|
+
customItems: FaqTileSpecificData;
|
|
6699
|
+
screenRef?: string;
|
|
6700
|
+
videoRef?: string;
|
|
6701
|
+
email?: string;
|
|
6702
|
+
}
|
|
6703
|
+
|
|
6704
|
+
/**
|
|
6705
|
+
* Static row type - discriminated union by rowComponent
|
|
6706
|
+
*/
|
|
6707
|
+
export declare type StaticRowInScreen = StaticRowInScreenCtaBanner | StaticRowInScreenPresentBanner | StaticRowInScreenVideoBanner | StaticRowInScreenHomepageBanner | StaticRowInScreenFaq | StaticRowInScreenBenefits | StaticRowInScreenWithTiles;
|
|
6708
|
+
|
|
6709
|
+
/**
|
|
6710
|
+
* Benefits static row - has tiles + buttons
|
|
6711
|
+
*/
|
|
6712
|
+
declare type StaticRowInScreenBenefits = BaseStaticRowInScreen & {
|
|
6713
|
+
rowComponent: RowComponent.BENEFITS;
|
|
6714
|
+
buttons?: RowButton[];
|
|
6715
|
+
tiles: PaginatedResponse<TileData<'static'>, 'rowId'>;
|
|
6716
|
+
};
|
|
6717
|
+
|
|
6718
|
+
/**
|
|
6719
|
+
* CTA Banner static row - data flatten to row level (no tiles)
|
|
6720
|
+
*/
|
|
6721
|
+
declare type StaticRowInScreenCtaBanner = BaseStaticRowInScreen & {
|
|
6722
|
+
rowComponent: RowComponent.CTA_BANNER;
|
|
6723
|
+
} & CtaBannerExtendRowData;
|
|
6724
|
+
|
|
6725
|
+
/**
|
|
6726
|
+
* FAQ static row - has description and email fields specific to FAQ
|
|
6727
|
+
*/
|
|
6728
|
+
declare type StaticRowInScreenFaq = BaseStaticRowInScreen & {
|
|
6729
|
+
rowComponent: RowComponent.FAQ;
|
|
6730
|
+
description?: Translation;
|
|
6731
|
+
email?: string;
|
|
6732
|
+
tiles: PaginatedResponse<TileData<'static'>, 'rowId'>;
|
|
6733
|
+
};
|
|
6734
|
+
|
|
6735
|
+
/**
|
|
6736
|
+
* Homepage Banner static row - multiline banner for homepage (no tiles)
|
|
6737
|
+
*/
|
|
6738
|
+
declare type StaticRowInScreenHomepageBanner = BaseStaticRowInScreen & {
|
|
6739
|
+
rowComponent: RowComponent.HOMEPAGE_BANNER;
|
|
6740
|
+
} & HomepageBannerExtendRowData;
|
|
6741
|
+
|
|
6742
|
+
/**
|
|
6743
|
+
* Present Banner static row - organization fields + videoPath flatten to row level (no tiles)
|
|
6744
|
+
*/
|
|
6745
|
+
declare type StaticRowInScreenPresentBanner = BaseStaticRowInScreen & {
|
|
6746
|
+
rowComponent: RowComponent.PRESENT_BANNER;
|
|
6747
|
+
videoPath?: string;
|
|
6748
|
+
} & Omit<PresentBannerExtendRowData, 'name' | 'description'>;
|
|
6749
|
+
|
|
6750
|
+
/**
|
|
6751
|
+
* Video Banner static row - videoPath flatten to row level (no tiles)
|
|
6752
|
+
*/
|
|
6753
|
+
declare type StaticRowInScreenVideoBanner = BaseStaticRowInScreen & {
|
|
6754
|
+
rowComponent: RowComponent.VIDEO_BANNER;
|
|
6755
|
+
videoPath?: string;
|
|
6756
|
+
};
|
|
6757
|
+
|
|
6758
|
+
/**
|
|
6759
|
+
* Static rows with tiles (NUMBERS, EXPLORE, etc.)
|
|
6760
|
+
*/
|
|
6761
|
+
declare type StaticRowInScreenWithTiles = BaseStaticRowInScreen & {
|
|
6762
|
+
rowComponent: Exclude<RowComponent, RowComponent.CTA_BANNER | RowComponent.PRESENT_BANNER | RowComponent.VIDEO_BANNER | RowComponent.HOMEPAGE_BANNER | RowComponent.FAQ | RowComponent.BENEFITS>;
|
|
6763
|
+
tiles: PaginatedResponse<TileData<'static'>, 'rowId'>;
|
|
6764
|
+
};
|
|
6765
|
+
|
|
6766
|
+
/**
|
|
6767
|
+
* Numbers row
|
|
6768
|
+
* @public
|
|
6769
|
+
*/
|
|
6770
|
+
export declare interface StaticRowNumbers extends BaseRow {
|
|
6771
|
+
type: 'static';
|
|
6772
|
+
rowComponent: RowComponent.NUMBERS;
|
|
6773
|
+
customItems: NumbersTileSpecificData;
|
|
6774
|
+
screenRef?: string;
|
|
6775
|
+
videoRef?: string;
|
|
6776
|
+
variant?: 'default' | 'large';
|
|
5913
6777
|
}
|
|
5914
6778
|
|
|
5915
|
-
|
|
5916
|
-
|
|
5917
|
-
|
|
5918
|
-
|
|
6779
|
+
/**
|
|
6780
|
+
* Present banner row
|
|
6781
|
+
* @public
|
|
6782
|
+
*/
|
|
6783
|
+
export declare interface StaticRowPresentBanner extends BaseRow {
|
|
6784
|
+
type: 'static';
|
|
6785
|
+
rowComponent: RowComponent.PRESENT_BANNER;
|
|
6786
|
+
customItems: PresentBannerExtendRowData;
|
|
6787
|
+
screenRef?: string;
|
|
6788
|
+
videoRef?: string;
|
|
6789
|
+
subname?: Translation;
|
|
6790
|
+
avatars?: ScalableAsset[];
|
|
6791
|
+
avatarsText?: Translation;
|
|
6792
|
+
asset?: ScalableAsset;
|
|
6793
|
+
videoPath?: string;
|
|
6794
|
+
buttons?: RowButton[];
|
|
5919
6795
|
}
|
|
5920
6796
|
|
|
5921
|
-
|
|
6797
|
+
/**
|
|
6798
|
+
* Reviews row
|
|
6799
|
+
* @public
|
|
6800
|
+
*/
|
|
6801
|
+
export declare interface StaticRowReviews extends BaseRow {
|
|
6802
|
+
type: 'static';
|
|
6803
|
+
rowComponent: RowComponent.REVIEWS;
|
|
6804
|
+
customItems: ReviewTileSpecificData;
|
|
6805
|
+
screenRef?: string;
|
|
6806
|
+
videoRef?: string;
|
|
6807
|
+
}
|
|
5922
6808
|
|
|
5923
|
-
|
|
5924
|
-
|
|
5925
|
-
|
|
5926
|
-
|
|
6809
|
+
/**
|
|
6810
|
+
* Split layout row
|
|
6811
|
+
* @public
|
|
6812
|
+
*/
|
|
6813
|
+
export declare interface StaticRowSplitLayout extends BaseRow {
|
|
6814
|
+
type: 'static';
|
|
6815
|
+
rowComponent: RowComponent.SPLIT_LAYOUT;
|
|
6816
|
+
customItems: SplitLayoutSpecificData;
|
|
6817
|
+
screenRef?: string;
|
|
6818
|
+
videoRef?: string;
|
|
5927
6819
|
}
|
|
5928
6820
|
|
|
5929
|
-
|
|
5930
|
-
|
|
5931
|
-
|
|
6821
|
+
/**
|
|
6822
|
+
* Static row without customItems (video banner, media accordion, monetization banner, background banner)
|
|
6823
|
+
* @public
|
|
6824
|
+
*/
|
|
6825
|
+
export declare interface StaticRowWithoutCustomItems extends BaseRow {
|
|
6826
|
+
type: 'static';
|
|
6827
|
+
rowComponent: RowComponent.VIDEO_BANNER | RowComponent.MEDIA_ACCORDEON | RowComponent.MONETIZATION_BANNER | RowComponent.BACKGROUND_BANNER | RowComponent.PARTNER_LOGOS;
|
|
6828
|
+
screenRef?: string;
|
|
6829
|
+
videoRef?: string;
|
|
6830
|
+
videoPath?: string;
|
|
5932
6831
|
}
|
|
5933
6832
|
|
|
5934
|
-
|
|
5935
|
-
|
|
5936
|
-
|
|
6833
|
+
/**
|
|
6834
|
+
* Tile data for static rows with itemSpecificData (BENEFITS, FAQ, NUMBERS, SPLIT_LAYOUT, REVIEWS, EXPLORE).
|
|
6835
|
+
* @public
|
|
6836
|
+
*/
|
|
6837
|
+
export declare interface StaticTileData<ItemSpecificData extends StaticTileItemSpecificData = StaticTileItemSpecificData> {
|
|
6838
|
+
/**
|
|
6839
|
+
* Specific data for an item type (e.g. benefit, faq, numbers, split layout, etc.).
|
|
6840
|
+
*/
|
|
6841
|
+
itemSpecificData: ItemSpecificData;
|
|
5937
6842
|
}
|
|
5938
6843
|
|
|
6844
|
+
/**
|
|
6845
|
+
* Type for itemSpecificData in API tile responses.
|
|
6846
|
+
* Excludes types that don't use itemSpecificData in tiles:
|
|
6847
|
+
* - MediaAccordeonTileSpecificData: MEDIA_ACCORDEON only uses path/id/name fields
|
|
6848
|
+
* - PresentBannerExtendRowData: PRESENT_BANNER data is flatten to row level (no tiles)
|
|
6849
|
+
* - CtaBannerExtendRowData: CTA_BANNER data is flatten to row level (no tiles)
|
|
6850
|
+
* @public
|
|
6851
|
+
*/
|
|
6852
|
+
export declare type StaticTileItemSpecificData = BenefitTileSpecificData | ReviewTileSpecificData | NumbersTileSpecificData | SplitLayoutSpecificData | FaqTileSpecificData | ExploreTileSpecificData | MediaAccordeonTileSpecificData;
|
|
6853
|
+
|
|
5939
6854
|
/**
|
|
5940
6855
|
* @public
|
|
5941
6856
|
*/
|
|
@@ -5950,6 +6865,15 @@ export declare interface StoreBadgeConfig {
|
|
|
5950
6865
|
appId: string;
|
|
5951
6866
|
}
|
|
5952
6867
|
|
|
6868
|
+
/**
|
|
6869
|
+
* @public
|
|
6870
|
+
* Streaming profile for buffer configuration.
|
|
6871
|
+
* - 'low': Minimal buffering for fastest camera switches (bufferingGoal: 3s)
|
|
6872
|
+
* - 'medium': Balanced buffering (bufferingGoal: 5s) - default
|
|
6873
|
+
* - 'high': Maximum buffering for stable playback (bufferingGoal: 15s)
|
|
6874
|
+
*/
|
|
6875
|
+
export declare type StreamingProfile = 'low' | 'medium' | 'high';
|
|
6876
|
+
|
|
5953
6877
|
export declare interface SubmitAnswerRequest {
|
|
5954
6878
|
answerOptionId?: string;
|
|
5955
6879
|
answerText?: string;
|
|
@@ -6018,6 +6942,25 @@ declare interface SubscriptionInfo {
|
|
|
6018
6942
|
frequency: string;
|
|
6019
6943
|
}
|
|
6020
6944
|
|
|
6945
|
+
/**
|
|
6946
|
+
* Extended language codes for subtitle tracks.
|
|
6947
|
+
* Includes all LangCode values plus additional languages only needed for subtitles.
|
|
6948
|
+
* @public
|
|
6949
|
+
*/
|
|
6950
|
+
export declare type SubtitleLangCode = LangCode | 'uk' | 'zh';
|
|
6951
|
+
|
|
6952
|
+
/**
|
|
6953
|
+
* Mapping of subtitle language codes to their English names.
|
|
6954
|
+
* @public
|
|
6955
|
+
*/
|
|
6956
|
+
export declare const SubtitleLangCodeToTitle: Record<SubtitleLangCode, string>;
|
|
6957
|
+
|
|
6958
|
+
/**
|
|
6959
|
+
* All subtitle language codes including extra languages not in LangCode.
|
|
6960
|
+
* @public
|
|
6961
|
+
*/
|
|
6962
|
+
export declare const subtitleLanguages: SubtitleLangCode[];
|
|
6963
|
+
|
|
6021
6964
|
/**
|
|
6022
6965
|
* @public
|
|
6023
6966
|
*/
|
|
@@ -6058,8 +7001,8 @@ export declare interface Tag extends RowItem {
|
|
|
6058
7001
|
detailBanner?: string;
|
|
6059
7002
|
availableSeasons?: AvailableSeason[];
|
|
6060
7003
|
isFavorite: boolean;
|
|
6061
|
-
addToFavorites: () =>
|
|
6062
|
-
removeFromFavorites: () =>
|
|
7004
|
+
addToFavorites: () => void;
|
|
7005
|
+
removeFromFavorites: () => void;
|
|
6063
7006
|
cover: string;
|
|
6064
7007
|
getApplicationName: () => string | undefined;
|
|
6065
7008
|
seriesRef?: DocumentReference<any>;
|
|
@@ -6172,37 +7115,66 @@ export declare interface TileApplicationData {
|
|
|
6172
7115
|
isMainApplication?: boolean;
|
|
6173
7116
|
}
|
|
6174
7117
|
|
|
6175
|
-
|
|
6176
|
-
|
|
6177
|
-
|
|
6178
|
-
|
|
6179
|
-
|
|
6180
|
-
|
|
6181
|
-
|
|
6182
|
-
|
|
6183
|
-
|
|
6184
|
-
|
|
6185
|
-
* Type of the tile. VIDEO, TV_CHANNEL, TAG, ...
|
|
6186
|
-
*/
|
|
6187
|
-
itemType: ROW_ITEM_TYPES;
|
|
7118
|
+
/**
|
|
7119
|
+
* @public
|
|
7120
|
+
*/
|
|
7121
|
+
export declare interface TileComponentProps {
|
|
7122
|
+
children?: React_2.ReactNode;
|
|
7123
|
+
cover?: string;
|
|
7124
|
+
bottomLabel: string;
|
|
7125
|
+
bottomLabelAreaHeight: number;
|
|
7126
|
+
bottomItem?: React_2.ReactNode;
|
|
7127
|
+
innerLabel: string;
|
|
6188
7128
|
/**
|
|
6189
|
-
*
|
|
7129
|
+
* Override font size of component type specific tile based on viewport width
|
|
6190
7130
|
*/
|
|
6191
|
-
|
|
7131
|
+
innerLabelFontSize?: number;
|
|
7132
|
+
duration: string;
|
|
7133
|
+
price: string | null;
|
|
7134
|
+
focused: boolean;
|
|
7135
|
+
onClick?: () => void;
|
|
7136
|
+
hoverable: boolean;
|
|
7137
|
+
coverPadding: CoverPadding;
|
|
7138
|
+
variant: RowItemComponent;
|
|
7139
|
+
coverWidth: number;
|
|
7140
|
+
progress?: number;
|
|
7141
|
+
time?: string;
|
|
7142
|
+
logo?: string;
|
|
7143
|
+
bigLogo?: string;
|
|
7144
|
+
coverHeight: number;
|
|
7145
|
+
aspectRatio?: number;
|
|
6192
7146
|
/**
|
|
6193
|
-
*
|
|
7147
|
+
* Margin of inner TileContainer.
|
|
7148
|
+
* Now used for backward compatibility for WebTileGrid. Consider to use it other way.
|
|
6194
7149
|
*/
|
|
6195
|
-
|
|
7150
|
+
containerMargin?: number | string;
|
|
7151
|
+
created?: Date;
|
|
7152
|
+
numberOfLines?: number;
|
|
7153
|
+
applicationName?: string;
|
|
7154
|
+
applicationLogo?: string;
|
|
7155
|
+
hasBranding?: boolean;
|
|
7156
|
+
applicationHandle?: string;
|
|
7157
|
+
fullWidth?: boolean;
|
|
7158
|
+
bottomComponent?: BottomComponent;
|
|
7159
|
+
showAlreadyWatchedOverlay?: boolean;
|
|
7160
|
+
itemType?: ROW_ITEM_TYPES;
|
|
7161
|
+
description?: string;
|
|
7162
|
+
showDescriptionAsTitle?: boolean;
|
|
7163
|
+
isSeries?: boolean;
|
|
7164
|
+
episodeCount?: number;
|
|
6196
7165
|
/**
|
|
6197
|
-
*
|
|
7166
|
+
* Optional label to display in the top-right corner of the tile (e.g., "Exclusive").
|
|
7167
|
+
* Label text (already resolved for the current language).
|
|
6198
7168
|
*/
|
|
6199
|
-
|
|
7169
|
+
topLabel?: string;
|
|
6200
7170
|
/**
|
|
6201
|
-
*
|
|
7171
|
+
* CSS color for the topLabel background. Defaults to white.
|
|
6202
7172
|
*/
|
|
6203
|
-
|
|
7173
|
+
topLabelColor?: string;
|
|
6204
7174
|
}
|
|
6205
7175
|
|
|
7176
|
+
export declare type TileData<T extends ScreenRowType = ScreenRowType> = T extends 'static' ? StaticTileData : DocumentTileData;
|
|
7177
|
+
|
|
6206
7178
|
export declare interface TileMonetizationData {
|
|
6207
7179
|
id: string;
|
|
6208
7180
|
path: string;
|
|
@@ -6259,56 +7231,17 @@ export declare interface TileOptions {
|
|
|
6259
7231
|
}
|
|
6260
7232
|
|
|
6261
7233
|
/**
|
|
7234
|
+
* Additional properties that can be applied to tiles for visual customization
|
|
6262
7235
|
* @public
|
|
6263
7236
|
*/
|
|
6264
7237
|
export declare interface TileProps {
|
|
6265
|
-
|
|
6266
|
-
cover?: string;
|
|
6267
|
-
bottomLabel: string;
|
|
6268
|
-
bottomLabelAreaHeight: number;
|
|
6269
|
-
bottomItem?: React_2.ReactNode;
|
|
6270
|
-
innerLabel: string;
|
|
6271
|
-
/**
|
|
6272
|
-
* Override font size of component type specific tile based on viewport width
|
|
6273
|
-
*/
|
|
6274
|
-
innerLabelFontSize?: number;
|
|
6275
|
-
duration: string;
|
|
6276
|
-
price: string | null;
|
|
6277
|
-
focused: boolean;
|
|
6278
|
-
onClick?: () => void;
|
|
6279
|
-
hoverable: boolean;
|
|
6280
|
-
coverPadding: CoverPadding;
|
|
6281
|
-
variant: RowItemComponent;
|
|
6282
|
-
coverWidth: number;
|
|
6283
|
-
progress?: number;
|
|
6284
|
-
time?: string;
|
|
6285
|
-
logo?: string;
|
|
6286
|
-
bigLogo?: string;
|
|
6287
|
-
coverHeight: number;
|
|
6288
|
-
aspectRatio?: number;
|
|
6289
|
-
/**
|
|
6290
|
-
* Margin of inner TileContainer.
|
|
6291
|
-
* Now used for backward compatibility for WebTileGrid. Consider to use it other way.
|
|
6292
|
-
*/
|
|
6293
|
-
containerMargin?: number | string;
|
|
6294
|
-
created?: Date;
|
|
6295
|
-
numberOfLines?: number;
|
|
6296
|
-
applicationName?: string;
|
|
6297
|
-
applicationLogo?: string;
|
|
6298
|
-
hasBranding?: boolean;
|
|
6299
|
-
applicationHandle?: string;
|
|
6300
|
-
fullWidth?: boolean;
|
|
6301
|
-
bottomComponent?: BottomComponent;
|
|
6302
|
-
showAlreadyWatchedOverlay?: boolean;
|
|
6303
|
-
itemType?: ROW_ITEM_TYPES;
|
|
6304
|
-
description?: string;
|
|
6305
|
-
showDescriptionAsTitle?: boolean;
|
|
7238
|
+
topRightLabel?: TileTopRightLabel;
|
|
6306
7239
|
}
|
|
6307
7240
|
|
|
6308
7241
|
/**
|
|
6309
7242
|
* @public
|
|
6310
7243
|
*/
|
|
6311
|
-
export declare type TilePropsPartial = Partial<
|
|
7244
|
+
export declare type TilePropsPartial = Partial<TileComponentProps>;
|
|
6312
7245
|
|
|
6313
7246
|
/**
|
|
6314
7247
|
* @internal
|
|
@@ -6348,6 +7281,15 @@ export declare type TileSizesMap = {
|
|
|
6348
7281
|
*/
|
|
6349
7282
|
export declare type TileSizeVariant = 'default' | 'mobile';
|
|
6350
7283
|
|
|
7284
|
+
/**
|
|
7285
|
+
* Custom label to be displayed on a tile (e.g., "Exclusive" badge)
|
|
7286
|
+
* @public
|
|
7287
|
+
*/
|
|
7288
|
+
export declare interface TileTopRightLabel {
|
|
7289
|
+
text: string;
|
|
7290
|
+
color?: string;
|
|
7291
|
+
}
|
|
7292
|
+
|
|
6351
7293
|
/**
|
|
6352
7294
|
* @public
|
|
6353
7295
|
*/
|
|
@@ -6438,10 +7380,6 @@ export declare interface TivioComponents {
|
|
|
6438
7380
|
ContentSortPicker: React_2.ComponentType<ContentSortPickerProps>;
|
|
6439
7381
|
WebTivioProVideoScreen: React_2.ComponentType<WebTivioProVideoScreenProps>;
|
|
6440
7382
|
RemoteController: React_2.ComponentType<RemoteControllerProps>;
|
|
6441
|
-
MonetizationsSelectOverlay: React_2.ComponentType;
|
|
6442
|
-
MonetizationsSelectOverlayContextProvider: React_2.ComponentType<{
|
|
6443
|
-
children: React_2.ReactNode;
|
|
6444
|
-
}>;
|
|
6445
7383
|
}
|
|
6446
7384
|
|
|
6447
7385
|
/**
|
|
@@ -6478,7 +7416,10 @@ export declare interface TivioConfig {
|
|
|
6478
7416
|
* @deprecated this field is no longer in use and has no impact when set.
|
|
6479
7417
|
*/
|
|
6480
7418
|
firestore?: any | null;
|
|
6481
|
-
|
|
7419
|
+
/**
|
|
7420
|
+
* @deprecated currency should be determined by `currencies` field in organization document in database, do not rely on this field.
|
|
7421
|
+
*/
|
|
7422
|
+
currency?: Currency;
|
|
6482
7423
|
/**
|
|
6483
7424
|
* Represents an optional array of LanguageSelector objects.
|
|
6484
7425
|
* Used to define and manage a list of supported languages for different language-usages (user, content,...).
|
|
@@ -6637,6 +7578,10 @@ export declare type TivioInternalComponents = {
|
|
|
6637
7578
|
}>;
|
|
6638
7579
|
Banner: React_2.ComponentType<BannerPropsPartial>;
|
|
6639
7580
|
CustomAppHistoryContext: React_2.Context<HistoryContextData | undefined>;
|
|
7581
|
+
ScrollableSubscriptionList: React_2.ComponentType<{
|
|
7582
|
+
subscriptions: PurchasableMonetization[];
|
|
7583
|
+
renderSubscription: (subscription: PurchasableMonetization) => React_2.ReactNode;
|
|
7584
|
+
}>;
|
|
6640
7585
|
};
|
|
6641
7586
|
|
|
6642
7587
|
/**
|
|
@@ -6687,6 +7632,13 @@ export declare type TivioInternalHooks = {
|
|
|
6687
7632
|
error: Error | null;
|
|
6688
7633
|
loading: boolean;
|
|
6689
7634
|
});
|
|
7635
|
+
useScrollShadows: () => {
|
|
7636
|
+
scrollRef: React_2.RefObject<HTMLDivElement>;
|
|
7637
|
+
showLeftShadow: boolean;
|
|
7638
|
+
showRightShadow: boolean;
|
|
7639
|
+
shouldCenter: boolean;
|
|
7640
|
+
checkScrollShadows: () => void;
|
|
7641
|
+
};
|
|
6690
7642
|
useTvChannel: UseTvChannel;
|
|
6691
7643
|
useUser: () => {
|
|
6692
7644
|
user: User | null;
|
|
@@ -6714,9 +7666,7 @@ export declare type TivioInternalProviders = {
|
|
|
6714
7666
|
UserContextProvider: React_2.ComponentType<{
|
|
6715
7667
|
children?: React_2.ReactNode;
|
|
6716
7668
|
}>;
|
|
6717
|
-
MonetizationsSelectOverlayContextProvider: React_2.ComponentType
|
|
6718
|
-
children: React_2.ReactNode;
|
|
6719
|
-
}>;
|
|
7669
|
+
MonetizationsSelectOverlayContextProvider: React_2.ComponentType;
|
|
6720
7670
|
QerkoOverlayContextProvider: React_2.ComponentType;
|
|
6721
7671
|
/**
|
|
6722
7672
|
* @deprecated do not use, this provider will be removed in the future
|
|
@@ -6821,7 +7771,7 @@ export declare type TivioReactBundle = {
|
|
|
6821
7771
|
subscriptions: TivioSubscriptions;
|
|
6822
7772
|
purchaseVideoWithQerko: (videoId: string, monetizationId: string, voucher?: {
|
|
6823
7773
|
expirationDate: Date;
|
|
6824
|
-
}) => Promise<QerkoPaymentInfo>;
|
|
7774
|
+
}, email?: string) => Promise<QerkoPaymentInfo>;
|
|
6825
7775
|
purchaseSubscriptionWithQerko: (monetizationId: string, voucher?: {
|
|
6826
7776
|
expirationDate: Date;
|
|
6827
7777
|
}) => Promise<QerkoPaymentInfo>;
|
|
@@ -6962,7 +7912,7 @@ export declare interface TvAppProps {
|
|
|
6962
7912
|
/**
|
|
6963
7913
|
* @public
|
|
6964
7914
|
*/
|
|
6965
|
-
export declare interface TvChannel extends RowItem
|
|
7915
|
+
export declare interface TvChannel extends RowItem {
|
|
6966
7916
|
id: string;
|
|
6967
7917
|
itemType: ROW_ITEM_TYPES.TV_CHANNEL;
|
|
6968
7918
|
name: string;
|
|
@@ -6973,11 +7923,17 @@ export declare interface TvChannel extends RowItem, MonetizableItem {
|
|
|
6973
7923
|
logoPendingOverlayWidth?: string;
|
|
6974
7924
|
hls: string;
|
|
6975
7925
|
dash: string;
|
|
7926
|
+
/**
|
|
7927
|
+
* Returns all transactions and subscriptions applied to this tv channel.
|
|
7928
|
+
* Transactions before subscriptions, sorted by price ascending.
|
|
7929
|
+
*/
|
|
7930
|
+
getPurchasableMonetizations(options?: GetPurchasableMonetizationsOptions): PurchasableMonetization[];
|
|
6976
7931
|
getSourceUrl(options?: {
|
|
6977
7932
|
language?: LangCode;
|
|
6978
7933
|
}): Promise<GetSourceUrlResponse & {
|
|
6979
7934
|
language?: LangCode;
|
|
6980
7935
|
}>;
|
|
7936
|
+
purchasableMonetization: any | null;
|
|
6981
7937
|
price: number;
|
|
6982
7938
|
cover: string;
|
|
6983
7939
|
isPlayable: boolean;
|
|
@@ -7007,7 +7963,12 @@ export declare enum TvChannelType {
|
|
|
7007
7963
|
/**
|
|
7008
7964
|
* "Virtual" tv channel constructed from separate videos
|
|
7009
7965
|
*/
|
|
7010
|
-
VIRTUAL = "VIRTUAL"
|
|
7966
|
+
VIRTUAL = "VIRTUAL",
|
|
7967
|
+
/**
|
|
7968
|
+
* Scheduled channel - has EPG like VIRTUAL (admin can edit schedule)
|
|
7969
|
+
* but streams like CLASSIC (calls getSourceUrl on the channel, not per-video).
|
|
7970
|
+
*/
|
|
7971
|
+
SCHEDULED = "SCHEDULED"
|
|
7011
7972
|
}
|
|
7012
7973
|
|
|
7013
7974
|
/**
|
|
@@ -7089,6 +8050,13 @@ export declare type UpdateNotificationSettingsRequest = {
|
|
|
7089
8050
|
|
|
7090
8051
|
export declare type UpdateNotificationSettingsResponse = Promise<boolean>;
|
|
7091
8052
|
|
|
8053
|
+
export declare type UpdateUserEmailPayload = {
|
|
8054
|
+
newEmail: string;
|
|
8055
|
+
password: string;
|
|
8056
|
+
name: string;
|
|
8057
|
+
token?: string;
|
|
8058
|
+
};
|
|
8059
|
+
|
|
7092
8060
|
export declare type UpsertCommentResponse = AddEditCommentResponse | DeleteCommentResponse;
|
|
7093
8061
|
|
|
7094
8062
|
export declare type UrlNamesType = {
|
|
@@ -7151,7 +8119,7 @@ export declare const useCancelSubscription: UseCancelSubscription;
|
|
|
7151
8119
|
* @public
|
|
7152
8120
|
*/
|
|
7153
8121
|
export declare interface UseCancelSubscriptionsResult {
|
|
7154
|
-
cancelSubscriptions: (subscriptionIds: string[]) => Promise<
|
|
8122
|
+
cancelSubscriptions: (subscriptionIds: string[]) => Promise<boolean>;
|
|
7155
8123
|
cancellationInfos: QerkoCancellationInfo[];
|
|
7156
8124
|
errors: string[];
|
|
7157
8125
|
}
|
|
@@ -7360,9 +8328,17 @@ export declare type User = {
|
|
|
7360
8328
|
* Returns all PAID or CANCELLED user purchases (expired and non-expired)
|
|
7361
8329
|
*/
|
|
7362
8330
|
allPurchases: Purchase[];
|
|
8331
|
+
/**
|
|
8332
|
+
* Returns all PAID or CANCELLED user purchases (expired and non-expired)
|
|
8333
|
+
*/
|
|
8334
|
+
pastPurchases: Purchase[];
|
|
8335
|
+
/**
|
|
8336
|
+
* IDs of available promotions (promotion document IDs).
|
|
8337
|
+
* Example: ['kaGHeCMcOCEF2OcaJCcr']
|
|
8338
|
+
*/
|
|
7363
8339
|
availablePromotionsIds: string[];
|
|
7364
8340
|
/**
|
|
7365
|
-
* Returns "active" (not CANCELLED) VoD purchases ("transaction" type)
|
|
8341
|
+
* Returns "active" (not CANCELLED) VoD purchases ("transaction" type")
|
|
7366
8342
|
*/
|
|
7367
8343
|
purchasedVods: Purchase[];
|
|
7368
8344
|
/**
|
|
@@ -7450,9 +8426,6 @@ export declare type User = {
|
|
|
7450
8426
|
getAllExtendableSubscriptions: () => Promise<Purchase[]>;
|
|
7451
8427
|
getRssValidToken: () => Promise<TokenInterface | undefined>;
|
|
7452
8428
|
getRssUrl: () => Promise<GetUserRssUrlResponse>;
|
|
7453
|
-
getFavorites: (options?: GetUserProfileDataOptions) => Promise<FavoriteWithData[]>;
|
|
7454
|
-
getWatchPositions: (options?: GetUserProfileDataOptions) => Promise<WatchPositionWithData[]>;
|
|
7455
|
-
getWatchHistory: (options?: GetUserProfileDataOptions) => Promise<WatchPositionWithData[]>;
|
|
7456
8429
|
invalidateAllTokens: (type: TokenType) => Promise<void>;
|
|
7457
8430
|
isPartiallyRegistered: boolean;
|
|
7458
8431
|
conversationStore: ConversationStore;
|
|
@@ -7498,7 +8471,7 @@ export declare interface UserNotificationSettings {
|
|
|
7498
8471
|
* @public
|
|
7499
8472
|
*/
|
|
7500
8473
|
export declare type UseRow = (rowId: string | null, organizationId?: string) => {
|
|
7501
|
-
row:
|
|
8474
|
+
row: BaseRow | null;
|
|
7502
8475
|
error: Error | null;
|
|
7503
8476
|
};
|
|
7504
8477
|
|
|
@@ -7740,7 +8713,6 @@ export declare enum VastProvider {
|
|
|
7740
8713
|
TEST = "test",
|
|
7741
8714
|
TEST_VPAID = "test-vpaid",
|
|
7742
8715
|
TIVIO_ADS = "tivio-ads",
|
|
7743
|
-
STATIC_ADS_PROVIDER = "static-ads-provider",
|
|
7744
8716
|
JOJ_TEST_AD_FORM_PROGRAMMATIC = "joj-test-ad-form-programmatic",
|
|
7745
8717
|
JOJ_TEST_TESTER_VASTERIX = "joj-test-tester-vasterix",
|
|
7746
8718
|
JOJ_TEST_TESTER_ADFORM_30 = "joj-test-tester-adform-30"
|
|
@@ -7824,8 +8796,8 @@ export declare interface Video extends RowItem, MonetizableItem, ReactableConten
|
|
|
7824
8796
|
tasting: Video | null;
|
|
7825
8797
|
watchPosition: number | null;
|
|
7826
8798
|
isFavorite: boolean;
|
|
7827
|
-
addToFavorites: () =>
|
|
7828
|
-
removeFromFavorites: () =>
|
|
8799
|
+
addToFavorites: () => void;
|
|
8800
|
+
removeFromFavorites: () => void;
|
|
7829
8801
|
availability: ContentAvailability | null;
|
|
7830
8802
|
sourceLanguages: LangCode[];
|
|
7831
8803
|
urlByLanguage: (lang: LangCode) => string | undefined;
|
|
@@ -7883,10 +8855,6 @@ export declare interface VideoController {
|
|
|
7883
8855
|
muted: boolean;
|
|
7884
8856
|
volume: number;
|
|
7885
8857
|
}) => void): void;
|
|
7886
|
-
addEventListener(event: 'ad-started', callback: (value: AdMetadata & {
|
|
7887
|
-
adCtaElement: HTMLElement | null;
|
|
7888
|
-
}) => void): void;
|
|
7889
|
-
addEventListener(event: 'companion-ads', callback: (value: CompanionAd[]) => void): void;
|
|
7890
8858
|
/**
|
|
7891
8859
|
* Remove an event listener
|
|
7892
8860
|
* @param event - The event name to stop listening for
|
|
@@ -7922,6 +8890,10 @@ export declare interface VideoController {
|
|
|
7922
8890
|
* Replay the current video from the beginning
|
|
7923
8891
|
*/
|
|
7924
8892
|
replay(): Promise<void>;
|
|
8893
|
+
/**
|
|
8894
|
+
* Refresh the current source by calling getSourceUrl without sourceHistory.
|
|
8895
|
+
*/
|
|
8896
|
+
refreshSource(): Promise<void>;
|
|
7925
8897
|
/**
|
|
7926
8898
|
* Retry playback if it failed to start
|
|
7927
8899
|
*/
|
|
@@ -8012,7 +8984,30 @@ export declare interface VideoController {
|
|
|
8012
8984
|
* @param mutations - Array of DOM mutation records
|
|
8013
8985
|
*/
|
|
8014
8986
|
onWatermarkElementChange(mutations: MutationRecord[]): void;
|
|
8015
|
-
|
|
8987
|
+
/**
|
|
8988
|
+
* Switch to HLS source for AirPlay (Safari/iOS only).
|
|
8989
|
+
* Preserves current playback position.
|
|
8990
|
+
*/
|
|
8991
|
+
switchToHlsForAirplay(): Promise<void>;
|
|
8992
|
+
/**
|
|
8993
|
+
* Switch back to DASH from HLS after AirPlay disconnects.
|
|
8994
|
+
* Preserves current playback position.
|
|
8995
|
+
*/
|
|
8996
|
+
switchToDashFromAirplay(): Promise<void>;
|
|
8997
|
+
/**
|
|
8998
|
+
* Reload the current source while preserving playback position.
|
|
8999
|
+
* Used when switching between native HLS and MSE playback modes.
|
|
9000
|
+
*/
|
|
9001
|
+
reloadCurrentSource(): Promise<void>;
|
|
9002
|
+
/**
|
|
9003
|
+
* Set whether to prefer HLS sources over DASH.
|
|
9004
|
+
* Used in Safari/iOS when AirPlay is available, as AirPlay only supports HLS streaming.
|
|
9005
|
+
*/
|
|
9006
|
+
setPreferHls(preferHls: boolean): void;
|
|
9007
|
+
/**
|
|
9008
|
+
* Suppress watermark tamper detection during AirPlay source switching.
|
|
9009
|
+
*/
|
|
9010
|
+
setAirplaySwitching(isSwitching: boolean): void;
|
|
8016
9011
|
}
|
|
8017
9012
|
|
|
8018
9013
|
declare type VideoDetailResponsiveField = OrganizationResponsiveSetting<{
|
|
@@ -8033,7 +9028,7 @@ declare type VideoDetailResponsiveField = OrganizationResponsiveSetting<{
|
|
|
8033
9028
|
/**
|
|
8034
9029
|
* @public
|
|
8035
9030
|
*/
|
|
8036
|
-
export declare type VideoExternals = (JojExternals |
|
|
9031
|
+
export declare type VideoExternals = (JojExternals | OktagonExternals | MigratedVideoExternals | SportyExternals | AdExternals) & {
|
|
8037
9032
|
channelKey?: string;
|
|
8038
9033
|
};
|
|
8039
9034
|
|
|
@@ -8096,6 +9091,11 @@ export declare type VideoSourceField = {
|
|
|
8096
9091
|
* because content id in source url and authentication will not match.
|
|
8097
9092
|
*/
|
|
8098
9093
|
contentId?: string;
|
|
9094
|
+
/**
|
|
9095
|
+
* List of platforms that this source is restricted to.
|
|
9096
|
+
* If empty or not defined, there are no restrictions, and source is available for all platforms.
|
|
9097
|
+
*/
|
|
9098
|
+
platforms?: PLATFORM[];
|
|
8099
9099
|
} & ({
|
|
8100
9100
|
url: string;
|
|
8101
9101
|
provider?: Exclude<VideoSourceProvider, VideoSourceProvider.CLOUDFLARE>;
|
|
@@ -8145,6 +9145,7 @@ export declare interface VideoTileSpecificData {
|
|
|
8145
9145
|
urlName?: UrlNamesType;
|
|
8146
9146
|
monetizations?: VideoTileMonetizationData[];
|
|
8147
9147
|
description?: Translation;
|
|
9148
|
+
duration?: number;
|
|
8148
9149
|
}
|
|
8149
9150
|
|
|
8150
9151
|
/**
|
|
@@ -8246,18 +9247,9 @@ export declare interface VirtualChannelSourceInterface extends ChannelSourceInte
|
|
|
8246
9247
|
*/
|
|
8247
9248
|
export declare interface VirtualChannelSourceParams extends ChannelSourceParams {
|
|
8248
9249
|
tvChannelType: TvChannelType.VIRTUAL;
|
|
8249
|
-
currentProgram?: TvProgram | null;
|
|
8250
9250
|
drm?: Drm;
|
|
8251
9251
|
}
|
|
8252
9252
|
|
|
8253
|
-
/**
|
|
8254
|
-
* Interface representing the parameters for a VOD (Video On Demand) external multi-source configuration.
|
|
8255
|
-
* Multi-source means an array of string URLs representing the external sources for the video content.
|
|
8256
|
-
*/
|
|
8257
|
-
export declare interface VodExternalMultiSourceParams extends Omit<VodExternalSourceParams, 'url'> {
|
|
8258
|
-
urls: string[];
|
|
8259
|
-
}
|
|
8260
|
-
|
|
8261
9253
|
/**
|
|
8262
9254
|
* @public
|
|
8263
9255
|
*/
|
|
@@ -8356,21 +9348,6 @@ export declare interface WarningConfirmationOverlayPayload extends ConfirmationO
|
|
|
8356
9348
|
subscriptionExpirationText?: string;
|
|
8357
9349
|
}
|
|
8358
9350
|
|
|
8359
|
-
/**
|
|
8360
|
-
* @public
|
|
8361
|
-
*/
|
|
8362
|
-
export declare interface WatchPositionWithData extends Omit<UserWatchPositionField, 'videoRef' | 'tagRef'> {
|
|
8363
|
-
/**
|
|
8364
|
-
* Video that given watch position is related to.
|
|
8365
|
-
*/
|
|
8366
|
-
video: Video;
|
|
8367
|
-
/**
|
|
8368
|
-
* If user watches episode of series, we have to save series ref as well.
|
|
8369
|
-
* Same for {@link episodeNumber} and {@link seasonNumber}.
|
|
8370
|
-
*/
|
|
8371
|
-
tag?: Tag;
|
|
8372
|
-
}
|
|
8373
|
-
|
|
8374
9351
|
/**
|
|
8375
9352
|
* @public
|
|
8376
9353
|
*/
|
|
@@ -8381,7 +9358,6 @@ export declare interface Watermark {
|
|
|
8381
9358
|
|
|
8382
9359
|
export declare interface WebConfig {
|
|
8383
9360
|
customer: CustomerId;
|
|
8384
|
-
customerName?: string;
|
|
8385
9361
|
title?: string;
|
|
8386
9362
|
description?: string;
|
|
8387
9363
|
logo: string;
|
|
@@ -8395,37 +9371,31 @@ export declare interface WebConfig {
|
|
|
8395
9371
|
header?: {
|
|
8396
9372
|
/**
|
|
8397
9373
|
* Text on buy voucher button, if not provided the default text will be used.
|
|
9374
|
+
* Can be a string or an array of language-specific texts.
|
|
9375
|
+
* @deprecated Use headerButton instead
|
|
8398
9376
|
*/
|
|
8399
9377
|
buyVoucherButtonText?: string;
|
|
8400
9378
|
/**
|
|
8401
|
-
*
|
|
9379
|
+
* Configurable button shown in the header (e.g., for vouchers, creator signup, etc.)
|
|
9380
|
+
* Array of language-specific button configurations.
|
|
8402
9381
|
*/
|
|
8403
|
-
|
|
9382
|
+
headerButton?: (LanguageRestricted & {
|
|
9383
|
+
label: string;
|
|
9384
|
+
href: string;
|
|
9385
|
+
/** Icon to show on the button (mobile only) */
|
|
9386
|
+
icon?: 'gift' | 'star' | 'videoRecorder';
|
|
9387
|
+
variant?: 'primary' | 'secondary' | 'transparent';
|
|
9388
|
+
})[];
|
|
8404
9389
|
allowSearch?: boolean;
|
|
8405
9390
|
logoHeight?: string;
|
|
8406
9391
|
mobileLogoHeight?: string;
|
|
8407
9392
|
buySubscriptionButtonText?: string;
|
|
8408
|
-
isHidden?: boolean;
|
|
8409
|
-
/**
|
|
8410
|
-
* Additional menu items to be shown in the rounded menu in the header (external or internal)
|
|
8411
|
-
*/
|
|
8412
|
-
additionalMenuItems?: {
|
|
8413
|
-
name: string;
|
|
8414
|
-
href: string;
|
|
8415
|
-
newTab?: boolean;
|
|
8416
|
-
}[];
|
|
8417
9393
|
};
|
|
8418
9394
|
footer?: {
|
|
8419
|
-
isHidden?: boolean;
|
|
8420
9395
|
/**
|
|
8421
9396
|
* If logo is different from logo in header
|
|
8422
9397
|
*/
|
|
8423
9398
|
logo?: string;
|
|
8424
|
-
/**
|
|
8425
|
-
* @fixme https://app.clickup.com/t/90151157205/TIV-1515
|
|
8426
|
-
* If multiple logos are provided, the multiple logos are prioritized over the single logo.
|
|
8427
|
-
*/
|
|
8428
|
-
multipleLogos?: string[];
|
|
8429
9399
|
showLogo?: boolean;
|
|
8430
9400
|
/**
|
|
8431
9401
|
* right panel - various type of contacts to owners of website
|
|
@@ -8468,19 +9438,6 @@ export declare interface WebConfig {
|
|
|
8468
9438
|
email?: string;
|
|
8469
9439
|
};
|
|
8470
9440
|
cookieSettingsLabel?: string;
|
|
8471
|
-
disclaimer?: string;
|
|
8472
|
-
showDivider?: boolean;
|
|
8473
|
-
/**
|
|
8474
|
-
* Additional links to be shown in the footer
|
|
8475
|
-
*/
|
|
8476
|
-
additionalLinks?: {
|
|
8477
|
-
name: string;
|
|
8478
|
-
href: string;
|
|
8479
|
-
}[];
|
|
8480
|
-
/**
|
|
8481
|
-
* Hide footer on these paths
|
|
8482
|
-
*/
|
|
8483
|
-
hideFooter?: string[];
|
|
8484
9441
|
partners?: {
|
|
8485
9442
|
name: string;
|
|
8486
9443
|
logo: string;
|
|
@@ -8496,14 +9453,6 @@ export declare interface WebConfig {
|
|
|
8496
9453
|
* so app requires authorization to see them.
|
|
8497
9454
|
*/
|
|
8498
9455
|
securedContent?: boolean;
|
|
8499
|
-
/**
|
|
8500
|
-
* If true, then auth is required for all pages.
|
|
8501
|
-
*/
|
|
8502
|
-
isAuthRequired?: boolean;
|
|
8503
|
-
/**
|
|
8504
|
-
* If true, then buy subscription button is hidden.
|
|
8505
|
-
*/
|
|
8506
|
-
hideBuySubscriptionButton?: boolean;
|
|
8507
9456
|
/**
|
|
8508
9457
|
* CSS styles for application background.
|
|
8509
9458
|
*/
|
|
@@ -8522,10 +9471,6 @@ export declare interface WebConfig {
|
|
|
8522
9471
|
* Default is TRUE (see {@link AppLoadingOverlay}
|
|
8523
9472
|
*/
|
|
8524
9473
|
showProgressBar?: boolean;
|
|
8525
|
-
/**
|
|
8526
|
-
* URL to background image shown on loading screen.
|
|
8527
|
-
*/
|
|
8528
|
-
backgroundUrl?: string;
|
|
8529
9474
|
};
|
|
8530
9475
|
/**
|
|
8531
9476
|
* Slug of all pages where user will be forced to fill login form if he's not logged in.
|
|
@@ -8553,7 +9498,6 @@ export declare interface WebConfig {
|
|
|
8553
9498
|
*/
|
|
8554
9499
|
showChooseSubscription?: boolean;
|
|
8555
9500
|
registration?: {
|
|
8556
|
-
logoMarginTop?: string;
|
|
8557
9501
|
/**
|
|
8558
9502
|
* Customization of auth form
|
|
8559
9503
|
*/
|
|
@@ -8573,18 +9517,18 @@ export declare interface WebConfig {
|
|
|
8573
9517
|
showAcceptanceOfTermsAndConditions?: boolean;
|
|
8574
9518
|
};
|
|
8575
9519
|
registrationConsent?: string;
|
|
8576
|
-
socialRegistrationConsent?: string;
|
|
8577
9520
|
};
|
|
8578
9521
|
payment?: {
|
|
8579
9522
|
paymentConsent?: string;
|
|
8580
9523
|
paymentRenewalConsent?: boolean;
|
|
9524
|
+
allowFrequencySwitcher?: boolean;
|
|
8581
9525
|
};
|
|
8582
9526
|
/**
|
|
8583
9527
|
* If web supports entering vouchers
|
|
8584
9528
|
*/
|
|
8585
9529
|
supportVouchers?: boolean;
|
|
8586
9530
|
/**
|
|
8587
|
-
* Config for Google Tag Manager
|
|
9531
|
+
* Config for Google Tag Manager
|
|
8588
9532
|
*/
|
|
8589
9533
|
googleTagManagerConfig?: TagManagerArgs & {
|
|
8590
9534
|
shouldWaitForDidomi?: boolean;
|
|
@@ -8607,8 +9551,6 @@ export declare interface WebConfig {
|
|
|
8607
9551
|
};
|
|
8608
9552
|
monetizationSelectOverlay?: {
|
|
8609
9553
|
title?: string;
|
|
8610
|
-
benefitLeftIcon?: string;
|
|
8611
|
-
showFullMonetizationOnMobile?: boolean;
|
|
8612
9554
|
};
|
|
8613
9555
|
/**
|
|
8614
9556
|
* Google Analytics ID. If provided, Google Analytics will be enabled.
|
|
@@ -8620,7 +9562,6 @@ export declare interface WebConfig {
|
|
|
8620
9562
|
centeredMenu?: boolean;
|
|
8621
9563
|
/**
|
|
8622
9564
|
* All values are considered as false if not provided.
|
|
8623
|
-
* @deprecated - use settings.allowedSignInProviders inside OrganizationDocument
|
|
8624
9565
|
*/
|
|
8625
9566
|
socialLogins?: {
|
|
8626
9567
|
showAppleLogin?: boolean;
|
|
@@ -8635,24 +9576,11 @@ export declare interface WebConfig {
|
|
|
8635
9576
|
* If true, robots.txt will prevent crawling of the website.
|
|
8636
9577
|
*/
|
|
8637
9578
|
norobots?: boolean;
|
|
8638
|
-
|
|
8639
|
-
|
|
8640
|
-
|
|
8641
|
-
|
|
8642
|
-
onPurchase?: (monetization: Purchase) => void;
|
|
8643
|
-
facebookPixelConfig?: {
|
|
8644
|
-
pixelId: string;
|
|
8645
|
-
shouldWaitForDidomi?: boolean;
|
|
9579
|
+
customTranslations?: {
|
|
9580
|
+
[key: string]: {
|
|
9581
|
+
[key: string]: string;
|
|
9582
|
+
};
|
|
8646
9583
|
};
|
|
8647
|
-
/**
|
|
8648
|
-
* If true, the app will be locked in the "remote controller" mode.
|
|
8649
|
-
* This means that the app will not be able to navigate to other pages and will only show the remote controller.
|
|
8650
|
-
*/
|
|
8651
|
-
isRemoteControllerApp?: boolean;
|
|
8652
|
-
/**
|
|
8653
|
-
* Determines if application should check allowed URL handles when switching applications.
|
|
8654
|
-
*/
|
|
8655
|
-
disableUrlHandleCheck?: boolean;
|
|
8656
9584
|
/**
|
|
8657
9585
|
* Map for all handlers
|
|
8658
9586
|
*/
|
|
@@ -8679,7 +9607,7 @@ export declare interface WebGridScreenProps {
|
|
|
8679
9607
|
*/
|
|
8680
9608
|
export declare interface WebPlayerProps {
|
|
8681
9609
|
id: string;
|
|
8682
|
-
source?:
|
|
9610
|
+
source?: SourceParams | VideoPath | ChannelPath | null;
|
|
8683
9611
|
onEnded?: () => any;
|
|
8684
9612
|
/**
|
|
8685
9613
|
* If true, the player will inherit the width and height of its parent element.
|
|
@@ -8765,8 +9693,6 @@ export declare interface WebPlayerProps {
|
|
|
8765
9693
|
setPaymentOverlayVisible?: React_2.Dispatch<React_2.SetStateAction<boolean>>;
|
|
8766
9694
|
hideOverlay?: boolean;
|
|
8767
9695
|
sourcePlayMode?: SourcePlayMode;
|
|
8768
|
-
adsConfig?: StaticAdsBreak[];
|
|
8769
|
-
userAuthCallbacks?: SDKUserAuthCallbacks;
|
|
8770
9696
|
}
|
|
8771
9697
|
|
|
8772
9698
|
/**
|