@tivio/sdk-react 9.8.0 → 10.1.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 +9 -45
- package/README.md +5 -839
- package/README.md.bak +5 -839
- package/dist/index.d.ts +1511 -582
- package/dist/index.js +1 -1
- package/dist/sdk-react.d.ts +1665 -636
- package/package.json +11 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
import { AD_SERVICE_PROXY_NAME } from '@tivio/common';
|
|
2
1
|
import type { ComponentType } from 'react';
|
|
3
|
-
import type dayjs from 'dayjs';
|
|
4
2
|
import { DocumentReference } from '@firebase/firestore-types';
|
|
5
3
|
import type duration from 'dayjs/plugin/duration';
|
|
6
4
|
import type { default as firebase_2 } from '@firebase/app-types';
|
|
7
5
|
import type { default as firebase_3 } from 'firebase';
|
|
8
6
|
import { FunctionComponentElement } from 'react';
|
|
9
7
|
import type { GeoPoint } from '@firebase/firestore-types';
|
|
10
|
-
import type { google } from '@alugha/ima';
|
|
11
8
|
import { OperatingSystem } from 'detect-browser';
|
|
12
9
|
import type { PaletteType } from '@material-ui/core';
|
|
13
10
|
import { default as React_2 } from 'react';
|
|
14
|
-
import { RecommendationsQuery } from '@algolia/recommend';
|
|
11
|
+
import type { RecommendationsQuery } from '@algolia/recommend';
|
|
15
12
|
import type { TagManagerArgs } from 'react-gtm-module';
|
|
16
13
|
import type { Timestamp } from '@firebase/firestore-types';
|
|
17
14
|
|
|
@@ -36,8 +33,6 @@ declare interface actualPriceDetails {
|
|
|
36
33
|
currency?: primaSupportedCurrency;
|
|
37
34
|
}
|
|
38
35
|
|
|
39
|
-
export { AD_SERVICE_PROXY_NAME }
|
|
40
|
-
|
|
41
36
|
export declare type AdBannerScene = InteractiveWidgetSceneBase<InteractiveWidgetSceneTemplateType.AD_BANNER>;
|
|
42
37
|
|
|
43
38
|
export declare type AddEditCommentResponse = {
|
|
@@ -89,6 +84,14 @@ export declare interface AdExternal {
|
|
|
89
84
|
skip: () => void;
|
|
90
85
|
}
|
|
91
86
|
|
|
87
|
+
/**
|
|
88
|
+
* External information of Ad video.
|
|
89
|
+
* @public
|
|
90
|
+
*/
|
|
91
|
+
export declare interface AdExternals {
|
|
92
|
+
creativeId: string;
|
|
93
|
+
}
|
|
94
|
+
|
|
92
95
|
/**
|
|
93
96
|
* @public
|
|
94
97
|
*/
|
|
@@ -104,8 +107,6 @@ export declare type AdMetadata = {
|
|
|
104
107
|
isSkippable: boolean;
|
|
105
108
|
order: number | null;
|
|
106
109
|
totalCount: number | null;
|
|
107
|
-
adPlacementStrategy: AdPlacementStrategy;
|
|
108
|
-
customAdMetadata?: Record<string, unknown>;
|
|
109
110
|
skip: () => void;
|
|
110
111
|
} | null;
|
|
111
112
|
|
|
@@ -119,10 +120,7 @@ export declare interface AdPackInfo {
|
|
|
119
120
|
total: number;
|
|
120
121
|
}
|
|
121
122
|
|
|
122
|
-
export declare type AdPlacementStrategy = 'preroll' | 'midroll' | 'postroll' | 'replacement';
|
|
123
|
-
|
|
124
123
|
export declare interface AdSegment {
|
|
125
|
-
adPlacementStrategy: AdPlacementStrategy;
|
|
126
124
|
id: string;
|
|
127
125
|
/**
|
|
128
126
|
* @deprecated alias to secondsToEnd * 1000
|
|
@@ -187,7 +185,6 @@ export declare interface AdSourceActions {
|
|
|
187
185
|
*/
|
|
188
186
|
export declare interface AdSourceInterface extends CommonSourceInterface<SourceType.ADVERTISEMENT> {
|
|
189
187
|
adType: AdType;
|
|
190
|
-
adPlacementStrategy: AdPlacementStrategy;
|
|
191
188
|
durationMs: number;
|
|
192
189
|
skipDelayMs: number | null;
|
|
193
190
|
/**
|
|
@@ -227,10 +224,6 @@ export declare interface AdSourceInterface extends CommonSourceInterface<SourceT
|
|
|
227
224
|
skipAll(): void;
|
|
228
225
|
onRemainingTimeChanged(ms: number): void;
|
|
229
226
|
click(): void;
|
|
230
|
-
/**
|
|
231
|
-
* Rich IMA ad metadata including customAdMetadata (only available for IMA ads)
|
|
232
|
-
*/
|
|
233
|
-
imaAdMetadata?: any;
|
|
234
227
|
}
|
|
235
228
|
|
|
236
229
|
/**
|
|
@@ -238,7 +231,6 @@ export declare interface AdSourceInterface extends CommonSourceInterface<SourceT
|
|
|
238
231
|
*/
|
|
239
232
|
export declare interface AdSourceParams extends CommonSourceParams<SourceType.ADVERTISEMENT> {
|
|
240
233
|
id: string;
|
|
241
|
-
adPlacementStrategy: AdPlacementStrategy;
|
|
242
234
|
adType?: AdType;
|
|
243
235
|
actions?: AdSourceActions | null;
|
|
244
236
|
apiFramework?: VastApiFramework | null;
|
|
@@ -329,7 +321,9 @@ export declare enum AnalyticsConversionPage {
|
|
|
329
321
|
Redeem = "redeem",
|
|
330
322
|
Referral = "referral",
|
|
331
323
|
Pair = "pair",
|
|
332
|
-
Search = "search"
|
|
324
|
+
Search = "search",
|
|
325
|
+
QerkoPayment = "qerko-payment",
|
|
326
|
+
SubscriptionCard = "subscription-card"
|
|
333
327
|
}
|
|
334
328
|
|
|
335
329
|
/**
|
|
@@ -347,6 +341,31 @@ export declare enum AnalyticsConversionTargetBase {
|
|
|
347
341
|
Monetization = "monetization"
|
|
348
342
|
}
|
|
349
343
|
|
|
344
|
+
export declare enum AnalyticsElementId {
|
|
345
|
+
BTN_LOGIN = "stargaze-btn-login",
|
|
346
|
+
BTN_REGISTRATION = "stargaze-btn-registration",
|
|
347
|
+
BTN_SUBSCRIBE = "stargaze-btn-subscribe",
|
|
348
|
+
BTN_FOLLOW = "stargaze-btn-follow",
|
|
349
|
+
BTN_CHOOSE_SUBSCRIPTION = "stargaze-btn-choose-subscription",
|
|
350
|
+
BTN_CANCEL_SUBSCRIPTION = "stargaze-btn-cancel-subscription",
|
|
351
|
+
BTN_RENEW_SUBSCRIPTION = "stargaze-btn-renew-subscription",
|
|
352
|
+
BTN_CHANGE_SUBSCRIPTION = "stargaze-btn-change-subscription",
|
|
353
|
+
BTN_GIFT_VOUCHER = "stargaze-btn-gift-voucher",
|
|
354
|
+
BTN_BUY_SUBSCRIPTION = "stargaze-btn-buy-subscription",
|
|
355
|
+
BTN_PAY_BY_APPLE_PAY = "stargaze-btn-pay-by-apple-pay",
|
|
356
|
+
BTN_PAY_BY_GOOGLE_PAY = "stargaze-btn-pay-by-google-pay",
|
|
357
|
+
BTN_PAY_BY_CARD = "stargaze-btn-pay-by-card",
|
|
358
|
+
BTN_PAY_WITH_PAYPAL = "stargaze-btn-pay-with-paypal",
|
|
359
|
+
BTN_PAY_BY_QERKO = "stargaze-btn-pay-by-qerko",
|
|
360
|
+
BTN_ACTIVATE_VOUCHER = "stargaze-btn-activate-voucher",
|
|
361
|
+
BTN_ACTIVATE_VOUCHER_OVERLAY = "stargaze-btn-activate-voucher-overlay",
|
|
362
|
+
BTN_ACTIVATE_VOUCHER_PROFILE = "stargaze-btn-activate-voucher-profile",
|
|
363
|
+
BTN_GO_TO_REDEEM_PAGE = "stargaze-btn-go-to-redeem-page",
|
|
364
|
+
BTN_REDEEM_CODE = "stargaze-btn-redeem-code",
|
|
365
|
+
BTN_CONTINUE_TO_PAYMENT = "stargaze-btn-continue-to-payment",
|
|
366
|
+
BTN_SELECT_MONETIZATION = "stargaze-btn-select-monetization"
|
|
367
|
+
}
|
|
368
|
+
|
|
350
369
|
export declare interface AnalyticsInterface {
|
|
351
370
|
reportAdvertisementPlay: (params: AdvertisementAnalyticParams) => void;
|
|
352
371
|
reportAdvertisementProgress: () => void;
|
|
@@ -543,7 +562,7 @@ export declare interface AssetsField<TAsset extends ScalableAsset = ScalableAsse
|
|
|
543
562
|
/**
|
|
544
563
|
* @public
|
|
545
564
|
*/
|
|
546
|
-
export declare type AssetType = 'circled' | 'landscape' | 'portrait' | 'square';
|
|
565
|
+
export declare type AssetType = 'banner' | 'circled' | 'landscape' | 'portrait' | 'square';
|
|
547
566
|
|
|
548
567
|
declare type Attributes = {
|
|
549
568
|
created: string;
|
|
@@ -630,10 +649,124 @@ export declare interface BannerProps {
|
|
|
630
649
|
*/
|
|
631
650
|
export declare type BannerPropsPartial = Partial<BannerProps>;
|
|
632
651
|
|
|
652
|
+
/**
|
|
653
|
+
* Fields and methods common to every interactive widget (quiz, poll, …).
|
|
654
|
+
* Parameterized over the concrete answer type, state type, and scene type so
|
|
655
|
+
* more specialized widget interfaces can narrow each axis independently.
|
|
656
|
+
*/
|
|
657
|
+
export declare interface BaseInteractiveWidget<TAnswer extends BaseQuestionAnswer = QuestionAnswer, TState extends InteractiveWidgetState = InteractiveWidgetState, TScene extends InteractiveWidgetScene = InteractiveWidgetScene> {
|
|
658
|
+
readonly id: string;
|
|
659
|
+
readonly name: string;
|
|
660
|
+
readonly path: string;
|
|
661
|
+
readonly type: InteractiveWidgetType;
|
|
662
|
+
readonly status: InteractiveWidgetStatus;
|
|
663
|
+
readonly questionsCount: number;
|
|
664
|
+
readonly currentAnswerId?: string;
|
|
665
|
+
readonly currentState: TState;
|
|
666
|
+
/**
|
|
667
|
+
* State delayed for end users, used to toggle scenes just like in OBS / host view.
|
|
668
|
+
*/
|
|
669
|
+
readonly currentStateWithDelay: InteractiveWidgetCurrentStateWithDelay<TState>;
|
|
670
|
+
readonly currentQuestion: CurrentQuestion<TAnswer> | null;
|
|
671
|
+
readonly answers?: TAnswer[];
|
|
672
|
+
readonly questionIndex?: number;
|
|
673
|
+
readonly isSubmitted?: boolean;
|
|
674
|
+
readonly userRole: InteractiveWidgetRole;
|
|
675
|
+
readonly scenes: TScene[];
|
|
676
|
+
readonly activeScene: TScene | null;
|
|
677
|
+
readonly theme?: InteractiveWidgetTheme;
|
|
678
|
+
/**
|
|
679
|
+
* @remarks Always `false` for `PollWidget` — kept on the base to minimize
|
|
680
|
+
* disruption to existing consumers.
|
|
681
|
+
*/
|
|
682
|
+
readonly isWaitingForStart: boolean;
|
|
683
|
+
answerQuestion(answerId: string): void;
|
|
684
|
+
submitAnswer(request: Pick<SubmitAnswerRequest, 'answerOptionId' | 'answerText'>): Promise<void>;
|
|
685
|
+
verifyJoinCode(joinCode: string, shouldJoinPlayer?: boolean): Promise<boolean>;
|
|
686
|
+
destroy(): void;
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
/**
|
|
690
|
+
* Fields shared by both quiz and poll answers.
|
|
691
|
+
*/
|
|
692
|
+
export declare interface BaseQuestionAnswer {
|
|
693
|
+
id: string;
|
|
694
|
+
answer: Translation;
|
|
695
|
+
status?: AnswerStatus;
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
/**
|
|
699
|
+
* Base row interface with common fields
|
|
700
|
+
* @public
|
|
701
|
+
*/
|
|
702
|
+
export declare interface BaseRow {
|
|
703
|
+
id: string;
|
|
704
|
+
rowId: string;
|
|
705
|
+
name: string;
|
|
706
|
+
description?: string;
|
|
707
|
+
assets: AssetsField;
|
|
708
|
+
type: ScreenRowType;
|
|
709
|
+
isLiveRow: boolean;
|
|
710
|
+
organizationId?: string;
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
/**
|
|
714
|
+
* Base row type with fields common to all row types
|
|
715
|
+
*/
|
|
716
|
+
declare type BaseRowInScreen = {
|
|
717
|
+
/**
|
|
718
|
+
* Firebase document path. If not provided, the row is not defined in db and is dynamically generated (e.g. recommendation row).
|
|
719
|
+
*/
|
|
720
|
+
path?: string;
|
|
721
|
+
/**
|
|
722
|
+
* Tivio row ID.
|
|
723
|
+
*/
|
|
724
|
+
rowId: string;
|
|
725
|
+
/**
|
|
726
|
+
* If all items are from the same organization this will be set.
|
|
727
|
+
*/
|
|
728
|
+
organizationId?: string;
|
|
729
|
+
/**
|
|
730
|
+
* Row name.
|
|
731
|
+
*/
|
|
732
|
+
name: Translation;
|
|
733
|
+
/**
|
|
734
|
+
* Row order in the screen.
|
|
735
|
+
*/
|
|
736
|
+
order?: number;
|
|
737
|
+
/**
|
|
738
|
+
* Standard row or a Banner.
|
|
739
|
+
*/
|
|
740
|
+
rowComponent: RowComponent;
|
|
741
|
+
/**
|
|
742
|
+
* Type of the row (continue to watch, custom, filter, static, ...).
|
|
743
|
+
*/
|
|
744
|
+
type: ScreenRowType;
|
|
745
|
+
/**
|
|
746
|
+
* Assets for the row (images, videos, etc.)
|
|
747
|
+
*/
|
|
748
|
+
assets?: AssetsField;
|
|
749
|
+
};
|
|
750
|
+
|
|
751
|
+
/**
|
|
752
|
+
* Base static row fields shared by all static row types
|
|
753
|
+
*/
|
|
754
|
+
declare type BaseStaticRowInScreen = BaseRowInScreen & {
|
|
755
|
+
type: 'static';
|
|
756
|
+
};
|
|
757
|
+
|
|
633
758
|
declare interface BaseWidgetControlPayload {
|
|
634
759
|
widgetPath: string;
|
|
635
760
|
}
|
|
636
761
|
|
|
762
|
+
export declare interface BenefitItem {
|
|
763
|
+
iconType: 'Verified' | 'Badge' | 'Clock' | 'Trending' | 'Message' | 'Eye' | 'Info' | 'Chart' | 'Users' | 'Zap' | 'Star' | 'Email' | 'Discord';
|
|
764
|
+
name: Translation;
|
|
765
|
+
description?: Translation;
|
|
766
|
+
}
|
|
767
|
+
|
|
768
|
+
export declare type BenefitTileSpecificData = BenefitItem;
|
|
769
|
+
|
|
637
770
|
/**
|
|
638
771
|
* @public
|
|
639
772
|
*/
|
|
@@ -682,6 +815,45 @@ export declare const bundlePromise: Promise<RemoteBundleState>;
|
|
|
682
815
|
*/
|
|
683
816
|
export declare type Callback<T = any> = (arg?: T) => void;
|
|
684
817
|
|
|
818
|
+
/**
|
|
819
|
+
* Camera switch transition progress information.
|
|
820
|
+
* Tracks the state of buffer loading during camera switches in interactive streaming.
|
|
821
|
+
* @public
|
|
822
|
+
*/
|
|
823
|
+
export declare interface CameraSwitchProgress {
|
|
824
|
+
/**
|
|
825
|
+
* Whether a camera switch is currently in progress
|
|
826
|
+
*/
|
|
827
|
+
isActive: boolean;
|
|
828
|
+
/**
|
|
829
|
+
* Time position (in seconds) where the transition content will begin.
|
|
830
|
+
* This is after any currently loading chunks finish.
|
|
831
|
+
*/
|
|
832
|
+
transitionStartTime: number;
|
|
833
|
+
/**
|
|
834
|
+
* Number of segments that need to load before transition is ready
|
|
835
|
+
*/
|
|
836
|
+
segmentsToLoad: number;
|
|
837
|
+
/**
|
|
838
|
+
* Number of segments that have already loaded
|
|
839
|
+
*/
|
|
840
|
+
segmentsLoaded: number;
|
|
841
|
+
/**
|
|
842
|
+
* Progress percentage (0-1) of the transition loading
|
|
843
|
+
*/
|
|
844
|
+
progress: number;
|
|
845
|
+
/**
|
|
846
|
+
* Estimated time remaining until camera switch completes (in seconds)
|
|
847
|
+
* Based on segment duration and remaining segments
|
|
848
|
+
*/
|
|
849
|
+
estimatedTimeRemaining: number;
|
|
850
|
+
/**
|
|
851
|
+
* ID of the secondary source this transition is for.
|
|
852
|
+
* Used to track multiple camera switches in quick succession.
|
|
853
|
+
*/
|
|
854
|
+
secondarySourceId?: string;
|
|
855
|
+
}
|
|
856
|
+
|
|
685
857
|
export declare interface CancellingMonetizationsSummaryItem {
|
|
686
858
|
date: number;
|
|
687
859
|
monetizationId: string;
|
|
@@ -743,7 +915,6 @@ export declare interface ChannelSourceInterface extends PlayerSourceInterface<So
|
|
|
743
915
|
to: Date;
|
|
744
916
|
poster: string | null;
|
|
745
917
|
tvMode: TvMode | 'live' | null;
|
|
746
|
-
clone: (params?: Partial<ChannelSourceParams>) => ChannelSourceInterface;
|
|
747
918
|
}
|
|
748
919
|
|
|
749
920
|
/**
|
|
@@ -757,6 +928,10 @@ export declare interface ChannelSourceParams extends PlayerSourceParams<SourceTy
|
|
|
757
928
|
from: Date;
|
|
758
929
|
to: Date;
|
|
759
930
|
tvMode?: TvMode | 'live' | null;
|
|
931
|
+
/**
|
|
932
|
+
* Current program from EPG. Available for VIRTUAL and SCHEDULED channels.
|
|
933
|
+
*/
|
|
934
|
+
currentProgram?: TvProgram | null;
|
|
760
935
|
}
|
|
761
936
|
|
|
762
937
|
/**
|
|
@@ -826,12 +1001,6 @@ export declare interface CommonSourceParams<T extends SourceType = SourceType> {
|
|
|
826
1001
|
videoPath?: string;
|
|
827
1002
|
}
|
|
828
1003
|
|
|
829
|
-
/**
|
|
830
|
-
* @public
|
|
831
|
-
* Re-export of Google IMA CompanionAd type for use throughout the SDK
|
|
832
|
-
*/
|
|
833
|
-
export declare type CompanionAd = google.ima.CompanionAd;
|
|
834
|
-
|
|
835
1004
|
/**
|
|
836
1005
|
* Just another alias. Reexported for backward compatibility.
|
|
837
1006
|
* @public
|
|
@@ -891,6 +1060,13 @@ export declare interface ContentAvailability {
|
|
|
891
1060
|
manual: boolean;
|
|
892
1061
|
}
|
|
893
1062
|
|
|
1063
|
+
export declare type ContentMetadataFieldId = keyof NonNullable<OrganizationSettingsField['contentMetadata']>;
|
|
1064
|
+
|
|
1065
|
+
export declare interface ContentMetadataOptions {
|
|
1066
|
+
enabled: boolean;
|
|
1067
|
+
order: number;
|
|
1068
|
+
}
|
|
1069
|
+
|
|
894
1070
|
/**
|
|
895
1071
|
* @public
|
|
896
1072
|
*/
|
|
@@ -1148,10 +1324,23 @@ export declare interface CreatorsWithVoucherSubscriptions {
|
|
|
1148
1324
|
name: string;
|
|
1149
1325
|
}
|
|
1150
1326
|
|
|
1327
|
+
export declare interface CtaBannerExtendRowData {
|
|
1328
|
+
variant?: 'light' | 'dark';
|
|
1329
|
+
heading?: Translation;
|
|
1330
|
+
subtitle?: {
|
|
1331
|
+
text: Translation;
|
|
1332
|
+
showIcon?: boolean;
|
|
1333
|
+
};
|
|
1334
|
+
button?: {
|
|
1335
|
+
href: string;
|
|
1336
|
+
text: Translation;
|
|
1337
|
+
};
|
|
1338
|
+
}
|
|
1339
|
+
|
|
1151
1340
|
/**
|
|
1152
1341
|
* @public
|
|
1153
1342
|
*/
|
|
1154
|
-
export declare const CURRENCIES:
|
|
1343
|
+
export declare const CURRENCIES: Currency[];
|
|
1155
1344
|
|
|
1156
1345
|
/**
|
|
1157
1346
|
* Three upper-case letters according to ISO-4217.
|
|
@@ -1165,13 +1354,22 @@ export declare type Currency = 'CZK' | 'EUR' | 'USD' | 'PLN';
|
|
|
1165
1354
|
*/
|
|
1166
1355
|
export declare type CurrencyLowerCase = 'czk' | 'eur' | 'usd' | 'pln';
|
|
1167
1356
|
|
|
1168
|
-
|
|
1357
|
+
/**
|
|
1358
|
+
* @public
|
|
1359
|
+
*/
|
|
1360
|
+
export declare const CurrencyToTitle: Record<Currency, string>;
|
|
1361
|
+
|
|
1362
|
+
/**
|
|
1363
|
+
* Generic "current question" shape, parameterized by answer type.
|
|
1364
|
+
* Use `QuizQuestion` / `PollQuestion` for concrete forms.
|
|
1365
|
+
*/
|
|
1366
|
+
export declare interface CurrentQuestion<TAnswer extends BaseQuestionAnswer = QuestionAnswer> {
|
|
1169
1367
|
id: string;
|
|
1170
1368
|
question: Translation;
|
|
1171
|
-
answers?:
|
|
1369
|
+
answers?: TAnswer[];
|
|
1172
1370
|
index?: number;
|
|
1173
1371
|
endTimestampMs?: number;
|
|
1174
|
-
status?:
|
|
1372
|
+
status?: InteractiveWidgetStatus;
|
|
1175
1373
|
}
|
|
1176
1374
|
|
|
1177
1375
|
export declare type CurrentQuestionScene = InteractiveWidgetSceneBase<InteractiveWidgetSceneTemplateType.CURRENT_QUESTION>;
|
|
@@ -1244,14 +1442,27 @@ export declare enum CustomerId {
|
|
|
1244
1442
|
UZ_BUDU = "UZ_BUDU",
|
|
1245
1443
|
PRIMA = "PRIMA",
|
|
1246
1444
|
NORA_FRIDRICHOVA = "NORA_FRIDRICHOVA",
|
|
1247
|
-
LONGEVITY = "LONGEVITY"
|
|
1445
|
+
LONGEVITY = "LONGEVITY",
|
|
1446
|
+
ZASAHTV = "ZASAHTV",
|
|
1447
|
+
ELISKAFLOW = "ELISKAFLOW",
|
|
1448
|
+
PRIJIMACKY = "PRIJIMACKY",
|
|
1449
|
+
PADNI_KOMU_PADNI = "PADNI_KOMU_PADNI",
|
|
1450
|
+
KRYPTOSPACE = "KRYPTOSPACE",
|
|
1451
|
+
ERADIX = "ERADIX",
|
|
1452
|
+
VLADCI_PRAHY = "VLADCI_PRAHY",
|
|
1453
|
+
DOKTOR_EVZEN = "DOKTOR_EVZEN",
|
|
1454
|
+
INVESTUJ_CHYTRE = "INVESTUJ_CHYTRE",
|
|
1455
|
+
RESTART_MUZE = "RESTART_MUZE",
|
|
1456
|
+
THE_JOHNY = "THE_JOHNY",
|
|
1457
|
+
GOOD_MOVE = "GOOD_MOVE",
|
|
1458
|
+
JANA_HANZ = "JANA_HANZ",
|
|
1459
|
+
MYSTICO = "MYSTICO"
|
|
1248
1460
|
}
|
|
1249
1461
|
|
|
1250
1462
|
export declare interface CustomScript {
|
|
1251
1463
|
src: string;
|
|
1252
1464
|
event?: EventName;
|
|
1253
1465
|
isAsync?: boolean;
|
|
1254
|
-
defer?: boolean;
|
|
1255
1466
|
}
|
|
1256
1467
|
|
|
1257
1468
|
/**
|
|
@@ -1269,6 +1480,11 @@ declare type Data = {
|
|
|
1269
1480
|
type: 'tier' | 'member' | 'user';
|
|
1270
1481
|
};
|
|
1271
1482
|
|
|
1483
|
+
/**
|
|
1484
|
+
* @public
|
|
1485
|
+
*/
|
|
1486
|
+
export declare const DEFAULT_CURRENCY: Currency;
|
|
1487
|
+
|
|
1272
1488
|
/**
|
|
1273
1489
|
* @public
|
|
1274
1490
|
*/
|
|
@@ -1311,6 +1527,28 @@ export declare type DeviceInfo = ArrisDeviceInfo | ReactNativeDeviceInfo;
|
|
|
1311
1527
|
*/
|
|
1312
1528
|
export declare type DeviceOs = OperatingSystem | 'Tizen' | 'webOS' | 'Arris' | 'Android TV' | 'tvOS';
|
|
1313
1529
|
|
|
1530
|
+
/**
|
|
1531
|
+
* User consent status for a specific purpose.
|
|
1532
|
+
*/
|
|
1533
|
+
export declare interface DidomiPurposeStatus {
|
|
1534
|
+
enabled: boolean;
|
|
1535
|
+
}
|
|
1536
|
+
|
|
1537
|
+
/**
|
|
1538
|
+
* Didomi SDK API.
|
|
1539
|
+
*/
|
|
1540
|
+
export declare interface DidomiSDK {
|
|
1541
|
+
getCurrentUserStatus(): DidomiUserStatus;
|
|
1542
|
+
}
|
|
1543
|
+
|
|
1544
|
+
/**
|
|
1545
|
+
* User consent status returned by Didomi SDK.
|
|
1546
|
+
*/
|
|
1547
|
+
export declare interface DidomiUserStatus {
|
|
1548
|
+
purposes: Record<string, DidomiPurposeStatus>;
|
|
1549
|
+
consent_string?: string;
|
|
1550
|
+
}
|
|
1551
|
+
|
|
1314
1552
|
/**
|
|
1315
1553
|
* Window object with Didomi SDK properties.
|
|
1316
1554
|
*/
|
|
@@ -1326,9 +1564,10 @@ export declare interface DidomiWindow {
|
|
|
1326
1564
|
* https://developers.didomi.io/cmp/web-sdk/reference/api
|
|
1327
1565
|
*/
|
|
1328
1566
|
didomiOnReady: (() => void)[];
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1567
|
+
/**
|
|
1568
|
+
* The Didomi SDK instance.
|
|
1569
|
+
*/
|
|
1570
|
+
Didomi: DidomiSDK;
|
|
1332
1571
|
}
|
|
1333
1572
|
|
|
1334
1573
|
/**
|
|
@@ -1349,6 +1588,47 @@ export declare interface DividerProps {
|
|
|
1349
1588
|
horizontalSpacing?: number;
|
|
1350
1589
|
}
|
|
1351
1590
|
|
|
1591
|
+
export declare interface DocumentTileData<ItemSpecificData extends DocumentTileItemSpecificData = DocumentTileItemSpecificData> {
|
|
1592
|
+
/**
|
|
1593
|
+
* Tile item ID.
|
|
1594
|
+
*/
|
|
1595
|
+
id: string;
|
|
1596
|
+
/**
|
|
1597
|
+
* Timestamp of the item creation.
|
|
1598
|
+
*/
|
|
1599
|
+
created: number;
|
|
1600
|
+
/**
|
|
1601
|
+
* Type of the tile. VIDEO, TV_CHANNEL, TAG, ...
|
|
1602
|
+
*/
|
|
1603
|
+
itemType: ROW_ITEM_TYPES;
|
|
1604
|
+
/**
|
|
1605
|
+
* Tile item name translation.
|
|
1606
|
+
*/
|
|
1607
|
+
name: Translation;
|
|
1608
|
+
/**
|
|
1609
|
+
* Firestore path to the item.
|
|
1610
|
+
*/
|
|
1611
|
+
path: string;
|
|
1612
|
+
/**
|
|
1613
|
+
* Application info including logo, name and number of videos.
|
|
1614
|
+
*/
|
|
1615
|
+
application?: TileApplicationData;
|
|
1616
|
+
/**
|
|
1617
|
+
* Specific data for an item type (e.g. video, tv channel, tag, ...).
|
|
1618
|
+
*/
|
|
1619
|
+
itemSpecificData: ItemSpecificData;
|
|
1620
|
+
/**
|
|
1621
|
+
* Optional label to display in the top-right corner of the tile (e.g., "Exclusive").
|
|
1622
|
+
*/
|
|
1623
|
+
topLabel?: Translation;
|
|
1624
|
+
/**
|
|
1625
|
+
* CSS color for the topLabel background. Defaults to white.
|
|
1626
|
+
*/
|
|
1627
|
+
topLabelColor?: string;
|
|
1628
|
+
}
|
|
1629
|
+
|
|
1630
|
+
export declare type DocumentTileItemSpecificData = VideoTileSpecificData | TvChannelTileSpecificData | TagTileSpecificData | ArticleTileSpecificData | SeriesTileSpecificData;
|
|
1631
|
+
|
|
1352
1632
|
export declare interface Drm {
|
|
1353
1633
|
encryption: VideoSourceEncryption;
|
|
1354
1634
|
/**
|
|
@@ -1421,6 +1701,91 @@ export declare interface DurationWithUnit {
|
|
|
1421
1701
|
unit: DurationUnit;
|
|
1422
1702
|
}
|
|
1423
1703
|
|
|
1704
|
+
/**
|
|
1705
|
+
* Row components available for dynamic rows (filter, custom, topWatched, etc.)
|
|
1706
|
+
* Matches the rowComponent constraint in DynamicRow type definition
|
|
1707
|
+
* @public
|
|
1708
|
+
*/
|
|
1709
|
+
export declare const DYNAMIC_ROW_COMPONENTS: readonly [RowComponent.ROW, RowComponent.BANNER];
|
|
1710
|
+
|
|
1711
|
+
/**
|
|
1712
|
+
* Dynamic row (filter, custom, continueToWatch, etc.) - has itemComponent and dynamic fields
|
|
1713
|
+
* Uses standard ROW or BANNER components
|
|
1714
|
+
* @public
|
|
1715
|
+
*/
|
|
1716
|
+
export declare interface DynamicRow extends BaseRow {
|
|
1717
|
+
type: Exclude<ScreenRowType, 'static'>;
|
|
1718
|
+
numberOfLines?: number;
|
|
1719
|
+
monetizations?: Array<{
|
|
1720
|
+
monetizationRef: {
|
|
1721
|
+
id: string;
|
|
1722
|
+
path: string;
|
|
1723
|
+
};
|
|
1724
|
+
} | RowMonetizationData>;
|
|
1725
|
+
rowComponent: RowComponent.ROW | RowComponent.BANNER;
|
|
1726
|
+
itemComponent: RowItemComponent | BannerItemComponent;
|
|
1727
|
+
organizationId?: string;
|
|
1728
|
+
bottomComponent?: BottomComponent;
|
|
1729
|
+
showDescriptionAsTitle?: boolean;
|
|
1730
|
+
hideTitle?: boolean;
|
|
1731
|
+
externalUrl?: string;
|
|
1732
|
+
playButtonTitle?: string;
|
|
1733
|
+
tiles: PaginationInterface<ItemInRow>;
|
|
1734
|
+
/**
|
|
1735
|
+
* Side Banner specific configuration
|
|
1736
|
+
*/
|
|
1737
|
+
sideBannerImagePosition?: 'left' | 'right';
|
|
1738
|
+
backgroundColor?: string;
|
|
1739
|
+
}
|
|
1740
|
+
|
|
1741
|
+
/**
|
|
1742
|
+
* Dynamic row type with dynamic-specific fields
|
|
1743
|
+
*/
|
|
1744
|
+
export declare type DynamicRowInScreen = BaseRowInScreen & {
|
|
1745
|
+
type: Exclude<ScreenRowType, 'static'>;
|
|
1746
|
+
/**
|
|
1747
|
+
* Row filter based on which to pick tiles.
|
|
1748
|
+
*/
|
|
1749
|
+
filter?: RowFilterField;
|
|
1750
|
+
/**
|
|
1751
|
+
* Number of lines of the title.
|
|
1752
|
+
*/
|
|
1753
|
+
numberOfLines?: number;
|
|
1754
|
+
/**
|
|
1755
|
+
* Component to use to render the tiles in the row.
|
|
1756
|
+
*/
|
|
1757
|
+
itemComponent: RowItemComponent | BannerItemComponent;
|
|
1758
|
+
/**
|
|
1759
|
+
* Items to display in the row.
|
|
1760
|
+
*/
|
|
1761
|
+
tiles: GetTilesInRowResponse<DynamicScreenRowType>;
|
|
1762
|
+
/**
|
|
1763
|
+
* Setting for decided what to show bellow the tiles
|
|
1764
|
+
*/
|
|
1765
|
+
bottomComponent?: BottomComponent;
|
|
1766
|
+
/**
|
|
1767
|
+
* Setting for decided whether to show description instead of title in the tiles
|
|
1768
|
+
*/
|
|
1769
|
+
showDescriptionAsTitle?: boolean;
|
|
1770
|
+
/**
|
|
1771
|
+
* Setting for decided whether to hide title in the tiles/banners
|
|
1772
|
+
*/
|
|
1773
|
+
hideTitle?: boolean;
|
|
1774
|
+
/**
|
|
1775
|
+
* Link to external URL
|
|
1776
|
+
*/
|
|
1777
|
+
externalUrl?: string;
|
|
1778
|
+
/**
|
|
1779
|
+
* Title of Play button
|
|
1780
|
+
*/
|
|
1781
|
+
playButtonTitle?: Translation;
|
|
1782
|
+
};
|
|
1783
|
+
|
|
1784
|
+
/**
|
|
1785
|
+
* @public
|
|
1786
|
+
*/
|
|
1787
|
+
export declare type DynamicScreenRowType = Exclude<ScreenRowType, 'static'>;
|
|
1788
|
+
|
|
1424
1789
|
/**
|
|
1425
1790
|
* @public
|
|
1426
1791
|
*/
|
|
@@ -1539,7 +1904,6 @@ export declare interface EmitterInterface {
|
|
|
1539
1904
|
isSupported: (even: string) => boolean;
|
|
1540
1905
|
addListener: <T = unknown>(event: string, cb: (value: T) => Empty_2) => void;
|
|
1541
1906
|
removeListener: <T = unknown>(event: string, cb: (value: T) => Empty_2) => void;
|
|
1542
|
-
emitEvent: (event: string, value?: unknown) => void;
|
|
1543
1907
|
}
|
|
1544
1908
|
|
|
1545
1909
|
/**
|
|
@@ -1564,8 +1928,19 @@ export declare type Events = {
|
|
|
1564
1928
|
'on-error': Error;
|
|
1565
1929
|
};
|
|
1566
1930
|
|
|
1567
|
-
export declare interface
|
|
1568
|
-
|
|
1931
|
+
export declare interface ExploreItem {
|
|
1932
|
+
title: Translation;
|
|
1933
|
+
description: Translation;
|
|
1934
|
+
button?: {
|
|
1935
|
+
href: string;
|
|
1936
|
+
text: Translation;
|
|
1937
|
+
};
|
|
1938
|
+
}
|
|
1939
|
+
|
|
1940
|
+
export declare type ExploreTileSpecificData = ExploreItem;
|
|
1941
|
+
|
|
1942
|
+
export declare interface ExtensionMetadata {
|
|
1943
|
+
purchaseStatus: CloudflareStreamingPurchaseStatus;
|
|
1569
1944
|
activeVideoId?: string;
|
|
1570
1945
|
}
|
|
1571
1946
|
|
|
@@ -1577,22 +1952,12 @@ export declare type ExternalTvConfig = {
|
|
|
1577
1952
|
splashScreenBackgroundColor?: string;
|
|
1578
1953
|
};
|
|
1579
1954
|
|
|
1580
|
-
export declare interface
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
}
|
|
1584
|
-
|
|
1585
|
-
export declare interface FavoriteVideoWithData {
|
|
1586
|
-
content: Video;
|
|
1587
|
-
type: 'video';
|
|
1955
|
+
export declare interface FaqItem {
|
|
1956
|
+
question: Translation;
|
|
1957
|
+
answer: Translation;
|
|
1588
1958
|
}
|
|
1589
1959
|
|
|
1590
|
-
|
|
1591
|
-
* @public
|
|
1592
|
-
*/
|
|
1593
|
-
export declare type FavoriteWithData = FavoriteVideoWithData | (FavoriteTagWithData & {
|
|
1594
|
-
profileId?: string;
|
|
1595
|
-
});
|
|
1960
|
+
export declare type FaqTileSpecificData = FaqItem;
|
|
1596
1961
|
|
|
1597
1962
|
/**
|
|
1598
1963
|
* @throws if fetch fails
|
|
@@ -1642,7 +2007,6 @@ export declare interface ForbiddenOnCallError extends GenericOnCallError {
|
|
|
1642
2007
|
}
|
|
1643
2008
|
|
|
1644
2009
|
export declare enum ForbiddenReason {
|
|
1645
|
-
AD_BLOCKING = "AD_BLOCKING",
|
|
1646
2010
|
MONETIZATION = "MONETIZATION",
|
|
1647
2011
|
GEO_BLOCKING = "GEO_BLOCKING",
|
|
1648
2012
|
EMAIL_ALREADY_EXISTS = "EMAIL_ALREADY_EXISTS",
|
|
@@ -1653,8 +2017,7 @@ export declare enum ForbiddenReason {
|
|
|
1653
2017
|
NAME_CONTAINS_INVALID_CHAR = "NAME_CONTAINS_INVALID_CHAR",
|
|
1654
2018
|
USER_ACCOUNT_LOCKED = "USER_ACCOUNT_LOCKED",
|
|
1655
2019
|
USER_NOT_FOUND = "USER_NOT_FOUND",
|
|
1656
|
-
UNSUPPORTED_BROWSER = "UNSUPPORTED_BROWSER"
|
|
1657
|
-
ANONYMOUS_USER = "ANONYMOUS_USER"
|
|
2020
|
+
UNSUPPORTED_BROWSER = "UNSUPPORTED_BROWSER"
|
|
1658
2021
|
}
|
|
1659
2022
|
|
|
1660
2023
|
/**
|
|
@@ -1662,7 +2025,7 @@ export declare enum ForbiddenReason {
|
|
|
1662
2025
|
*/
|
|
1663
2026
|
export declare type FrequencyInfo = {
|
|
1664
2027
|
title: Translation;
|
|
1665
|
-
unit:
|
|
2028
|
+
unit: MONETIZATION_FREQUENCY;
|
|
1666
2029
|
value: number;
|
|
1667
2030
|
};
|
|
1668
2031
|
|
|
@@ -1781,6 +2144,9 @@ export declare type GetPurchaseInfoResponse = {
|
|
|
1781
2144
|
};
|
|
1782
2145
|
};
|
|
1783
2146
|
|
|
2147
|
+
/**
|
|
2148
|
+
* Response type for getRowsInScreen
|
|
2149
|
+
*/
|
|
1784
2150
|
export declare type GetRowsInScreenResponse = PaginatedResponse<RowInScreen, 'screenId'>;
|
|
1785
2151
|
|
|
1786
2152
|
export declare interface GetSourceUrlRequest {
|
|
@@ -1837,6 +2203,16 @@ export declare interface GetSourceUrlRequest {
|
|
|
1837
2203
|
* Parameters related to ads.
|
|
1838
2204
|
*/
|
|
1839
2205
|
adParams?: Record<string, string | number | undefined>;
|
|
2206
|
+
/**
|
|
2207
|
+
* Which platform the resulting source should support.
|
|
2208
|
+
* If not present, any source that has non-empty `platforms` will be filtered out from the result.
|
|
2209
|
+
*/
|
|
2210
|
+
platform?: PLATFORM;
|
|
2211
|
+
/**
|
|
2212
|
+
* Device ID for device tracking on purchase documents.
|
|
2213
|
+
* Used to track which devices are accessing paid content.
|
|
2214
|
+
*/
|
|
2215
|
+
deviceId?: string;
|
|
1840
2216
|
}
|
|
1841
2217
|
|
|
1842
2218
|
export declare interface GetSourceUrlResponse {
|
|
@@ -1880,21 +2256,9 @@ export declare interface GetSourceUrlResponse {
|
|
|
1880
2256
|
* Determines session type generated for source. If no provided it will be considered 'ondemand' session type.
|
|
1881
2257
|
*/
|
|
1882
2258
|
sessionType?: VideoSourceField['sessionType'];
|
|
1883
|
-
/**
|
|
1884
|
-
* Language of the source.
|
|
1885
|
-
*/
|
|
1886
|
-
language?: LangCode;
|
|
1887
2259
|
}
|
|
1888
2260
|
|
|
1889
|
-
export declare type GetTilesInRowResponse<U extends NextPageParamType = NextPageParamType> = PaginatedResponse<TileData
|
|
1890
|
-
|
|
1891
|
-
export declare interface GetUserProfileDataOptions {
|
|
1892
|
-
/**
|
|
1893
|
-
* If true, the data will be returned for all user profiles.
|
|
1894
|
-
* If false, the data will be returned only for the active user profile.
|
|
1895
|
-
*/
|
|
1896
|
-
ignoreActiveUserProfile?: boolean;
|
|
1897
|
-
}
|
|
2261
|
+
export declare type GetTilesInRowResponse<T extends ScreenRowType = ScreenRowType, U extends NextPageParamType = NextPageParamType> = PaginatedResponse<TileData<T>, U>;
|
|
1898
2262
|
|
|
1899
2263
|
export declare interface GetUserRssUrlRequest {
|
|
1900
2264
|
organizationId: string;
|
|
@@ -1906,58 +2270,6 @@ export declare interface GetUserRssUrlResponse {
|
|
|
1906
2270
|
expiresAt?: number;
|
|
1907
2271
|
}
|
|
1908
2272
|
|
|
1909
|
-
export declare interface GetVideoAnalyticsErrorItem {
|
|
1910
|
-
count: number;
|
|
1911
|
-
timestamp: number;
|
|
1912
|
-
errorMessage: string;
|
|
1913
|
-
}
|
|
1914
|
-
|
|
1915
|
-
export declare interface GetVideoAnalyticsErrorResult {
|
|
1916
|
-
totalCount: number;
|
|
1917
|
-
errors: Array<GetVideoAnalyticsErrorItem>;
|
|
1918
|
-
}
|
|
1919
|
-
|
|
1920
|
-
export declare interface GetVideoAnalyticsRequest {
|
|
1921
|
-
contentId: string;
|
|
1922
|
-
timestamp?: number;
|
|
1923
|
-
userId?: string;
|
|
1924
|
-
source?: string;
|
|
1925
|
-
limit?: number;
|
|
1926
|
-
errorLimit?: number;
|
|
1927
|
-
errorTimestampFrom?: number;
|
|
1928
|
-
}
|
|
1929
|
-
|
|
1930
|
-
export declare interface GetVideoAnalyticsResponse {
|
|
1931
|
-
state?: GetVideoAnalyticsResult;
|
|
1932
|
-
quality?: GetVideoAnalyticsResult;
|
|
1933
|
-
error?: GetVideoAnalyticsErrorResult;
|
|
1934
|
-
localities?: unknown;
|
|
1935
|
-
}
|
|
1936
|
-
|
|
1937
|
-
export declare type GetVideoAnalyticsResult = {
|
|
1938
|
-
[timestamp: string]: {
|
|
1939
|
-
totalDuration: number;
|
|
1940
|
-
values: Array<{
|
|
1941
|
-
value: string;
|
|
1942
|
-
duration: number;
|
|
1943
|
-
percentage: number;
|
|
1944
|
-
}>;
|
|
1945
|
-
};
|
|
1946
|
-
};
|
|
1947
|
-
|
|
1948
|
-
export declare interface GetVideoAnalyticsViewsRequest {
|
|
1949
|
-
contentId: string;
|
|
1950
|
-
currentViewsIntervalMs: number;
|
|
1951
|
-
timestamp?: number;
|
|
1952
|
-
source?: string;
|
|
1953
|
-
}
|
|
1954
|
-
|
|
1955
|
-
export declare interface GetVideoAnalyticsViewsResponse {
|
|
1956
|
-
previousViews?: number;
|
|
1957
|
-
currentViews?: number;
|
|
1958
|
-
totalViews?: number;
|
|
1959
|
-
}
|
|
1960
|
-
|
|
1961
2273
|
export declare interface GetViewAnalyticsResponse {
|
|
1962
2274
|
viewCountAnalytics: ViewCountItem[];
|
|
1963
2275
|
topWatched: TopWatchItem[];
|
|
@@ -1976,6 +2288,22 @@ export declare enum GRID_TYPES {
|
|
|
1976
2288
|
SERIES = "SERIES"
|
|
1977
2289
|
}
|
|
1978
2290
|
|
|
2291
|
+
/**
|
|
2292
|
+
* @public
|
|
2293
|
+
*/
|
|
2294
|
+
export declare interface HeroBannerProps {
|
|
2295
|
+
title: string;
|
|
2296
|
+
description?: string;
|
|
2297
|
+
cover: string;
|
|
2298
|
+
onPlayClick?: () => void;
|
|
2299
|
+
onWatchlistClick?: () => void;
|
|
2300
|
+
playButtonHref?: string;
|
|
2301
|
+
watchlistButtonHref?: string;
|
|
2302
|
+
playButtonText?: string;
|
|
2303
|
+
watchlistButtonText?: string;
|
|
2304
|
+
isFavorite?: boolean;
|
|
2305
|
+
}
|
|
2306
|
+
|
|
1979
2307
|
/**
|
|
1980
2308
|
* @public
|
|
1981
2309
|
*/
|
|
@@ -1984,6 +2312,61 @@ export declare interface HistoryContextData {
|
|
|
1984
2312
|
backOrRedirectToRoot: (delta?: number) => void;
|
|
1985
2313
|
}
|
|
1986
2314
|
|
|
2315
|
+
export declare interface HomepageBannerButton {
|
|
2316
|
+
href: string;
|
|
2317
|
+
text: Translation;
|
|
2318
|
+
variant: HomepageBannerButtonVariant;
|
|
2319
|
+
leftIcon?: HomepageBannerButtonIcon;
|
|
2320
|
+
/**
|
|
2321
|
+
* Controls when this button should be visible.
|
|
2322
|
+
* Defaults to 'always' if not specified.
|
|
2323
|
+
*/
|
|
2324
|
+
visibility?: HomepageBannerButtonVisibility;
|
|
2325
|
+
}
|
|
2326
|
+
|
|
2327
|
+
export declare type HomepageBannerButtonIcon = 'play';
|
|
2328
|
+
|
|
2329
|
+
export declare type HomepageBannerButtonVariant = 'primary' | 'secondary';
|
|
2330
|
+
|
|
2331
|
+
/**
|
|
2332
|
+
* Visibility condition for banner buttons.
|
|
2333
|
+
* - 'always': Button is always visible (default)
|
|
2334
|
+
* - 'notSignedIn': Button is only visible when user is not signed in
|
|
2335
|
+
* - 'signedIn': Button is only visible when user is signed in
|
|
2336
|
+
*/
|
|
2337
|
+
export declare type HomepageBannerButtonVisibility = 'always' | 'notSignedIn' | 'signedIn';
|
|
2338
|
+
|
|
2339
|
+
export declare interface HomepageBannerExtendRowData {
|
|
2340
|
+
/**
|
|
2341
|
+
* Main title displayed on the banner
|
|
2342
|
+
*/
|
|
2343
|
+
title?: Translation;
|
|
2344
|
+
/**
|
|
2345
|
+
* Subtitle/tagline displayed below title
|
|
2346
|
+
*/
|
|
2347
|
+
subtitle?: {
|
|
2348
|
+
text: Translation;
|
|
2349
|
+
showIcon?: boolean;
|
|
2350
|
+
};
|
|
2351
|
+
/**
|
|
2352
|
+
* Multiple lines of descriptive text for multiline display
|
|
2353
|
+
*/
|
|
2354
|
+
descriptionLines?: Translation[];
|
|
2355
|
+
/**
|
|
2356
|
+
* Array of buttons to display on the banner
|
|
2357
|
+
*/
|
|
2358
|
+
buttons?: HomepageBannerButton[];
|
|
2359
|
+
/**
|
|
2360
|
+
* Single background image asset (legacy, use backgroundAssets for random selection)
|
|
2361
|
+
*/
|
|
2362
|
+
asset?: ScalableAsset;
|
|
2363
|
+
/**
|
|
2364
|
+
* Array of background assets for random selection per page load.
|
|
2365
|
+
* If provided, one will be randomly selected each time the banner loads.
|
|
2366
|
+
*/
|
|
2367
|
+
backgroundAssets?: ScalableAsset[];
|
|
2368
|
+
}
|
|
2369
|
+
|
|
1987
2370
|
export declare type IncludedItem = {
|
|
1988
2371
|
attributes: {
|
|
1989
2372
|
next_charge_date: string;
|
|
@@ -2019,10 +2402,23 @@ export declare interface IndexedTag extends IndexedObject {
|
|
|
2019
2402
|
created: Date;
|
|
2020
2403
|
name: Translation;
|
|
2021
2404
|
description?: string;
|
|
2405
|
+
/**
|
|
2406
|
+
* True if the tag has assets (non-empty assets object).
|
|
2407
|
+
*/
|
|
2408
|
+
hasAssets: boolean;
|
|
2409
|
+
/**
|
|
2410
|
+
* True if the tag has content (has videos or series episodes).
|
|
2411
|
+
*/
|
|
2412
|
+
hasContent: boolean;
|
|
2022
2413
|
/**
|
|
2023
2414
|
* True if the tag is available in Tivio Pro (StarMe)
|
|
2024
2415
|
*/
|
|
2025
2416
|
isTivioPro: boolean;
|
|
2417
|
+
/**
|
|
2418
|
+
* Parental guidance rating (e.g., "O", "07", "U", "7+")
|
|
2419
|
+
* Used for filtering content based on age restrictions for kids profiles
|
|
2420
|
+
*/
|
|
2421
|
+
pgRating?: string;
|
|
2026
2422
|
}
|
|
2027
2423
|
|
|
2028
2424
|
/**
|
|
@@ -2068,6 +2464,11 @@ export declare interface IndexedVideo extends IndexedObject {
|
|
|
2068
2464
|
defaultName: string;
|
|
2069
2465
|
name: string | Translation;
|
|
2070
2466
|
description: string | Translation;
|
|
2467
|
+
descriptionRich?: Translation;
|
|
2468
|
+
/**
|
|
2469
|
+
* EPG program-friendly name
|
|
2470
|
+
*/
|
|
2471
|
+
shortName?: Translation;
|
|
2071
2472
|
hide: boolean;
|
|
2072
2473
|
isDuplicate: boolean;
|
|
2073
2474
|
externals?: VideoExternals;
|
|
@@ -2086,46 +2487,22 @@ export declare interface IndexedVideo extends IndexedObject {
|
|
|
2086
2487
|
* see https://www.algolia.com/doc/guides/managing-results/refine-results/filtering/how-to/filter-by-attributes/#filter-by-null-or-missing-attributes.
|
|
2087
2488
|
*/
|
|
2088
2489
|
monetizationAccessIds: string[] | false;
|
|
2490
|
+
/**
|
|
2491
|
+
* See {@link VideoDocument.pgRating}
|
|
2492
|
+
*/
|
|
2493
|
+
pgRating?: string;
|
|
2494
|
+
/**
|
|
2495
|
+
* See {@link VideoDocument.contentDescriptors}
|
|
2496
|
+
*/
|
|
2497
|
+
contentDescriptors?: string[];
|
|
2089
2498
|
}
|
|
2090
2499
|
|
|
2091
|
-
export declare type InputSourceParams = SourceParams | VodExternalMultiSourceParams;
|
|
2092
|
-
|
|
2093
2500
|
export declare type IntegrationType = 'discord' | 'patreon';
|
|
2094
2501
|
|
|
2095
|
-
export declare
|
|
2096
|
-
readonly id: string;
|
|
2097
|
-
readonly path: string;
|
|
2098
|
-
readonly currentQuestion: CurrentQuestion | null;
|
|
2099
|
-
readonly status: QuizGameStatus;
|
|
2100
|
-
readonly questionsCount: number;
|
|
2101
|
-
readonly currentAnswerId?: string;
|
|
2102
|
-
readonly currentState: InteractiveWidgetState;
|
|
2103
|
-
/**
|
|
2104
|
-
* State delayed for end users, which is used to toggle scenes just like in OBS and host view
|
|
2105
|
-
*/
|
|
2106
|
-
readonly currentStateWithDelay: InteractiveWidgetCurrentStateWithDelay;
|
|
2107
|
-
readonly answers?: QuestionAnswer[];
|
|
2108
|
-
readonly questionIndex?: number;
|
|
2109
|
-
readonly isSubmitted?: boolean;
|
|
2110
|
-
readonly leaderboard: LeaderboardGroupItem | null;
|
|
2111
|
-
readonly highlightedUsersIds: string[];
|
|
2112
|
-
readonly userRole: QuizGameRole;
|
|
2113
|
-
readonly secondsToAnswer: number;
|
|
2114
|
-
readonly scenes: T[];
|
|
2115
|
-
readonly activeScene: T | null;
|
|
2116
|
-
readonly theme?: InteractiveWidgetTheme;
|
|
2117
|
-
readonly showCountdown: boolean;
|
|
2118
|
-
readonly lastQuestionTopScorers: LeaderboardPlayer[];
|
|
2119
|
-
readonly questionRepository: QuestionRepository;
|
|
2120
|
-
readonly isWaitingForStart: boolean;
|
|
2121
|
-
answerQuestion(answerId: string): void;
|
|
2122
|
-
submitAnswer(request: Pick<SubmitAnswerRequest, 'answerOptionId' | 'answerText'>): Promise<void>;
|
|
2123
|
-
verifyJoinCode(joinCode: string, shouldJoinPlayer?: boolean): Promise<boolean>;
|
|
2124
|
-
destroy(): void;
|
|
2125
|
-
}
|
|
2502
|
+
export declare type InteractiveWidget<TScene extends InteractiveWidgetScene = InteractiveWidgetScene> = QuizWidget<TScene> | PollWidget<TScene>;
|
|
2126
2503
|
|
|
2127
|
-
export declare interface InteractiveWidgetCurrentStateWithDelay {
|
|
2128
|
-
state:
|
|
2504
|
+
export declare interface InteractiveWidgetCurrentStateWithDelay<TState extends InteractiveWidgetState = InteractiveWidgetState> {
|
|
2505
|
+
state: TState;
|
|
2129
2506
|
enteredAt: Date;
|
|
2130
2507
|
}
|
|
2131
2508
|
|
|
@@ -2139,6 +2516,27 @@ export declare enum InteractiveWidgetDisplayComponent {
|
|
|
2139
2516
|
AD_VAST = "adVast"
|
|
2140
2517
|
}
|
|
2141
2518
|
|
|
2519
|
+
export declare interface InteractiveWidgetGroupStats {
|
|
2520
|
+
answerPercentages: Record<string, number>;
|
|
2521
|
+
averageScore: number;
|
|
2522
|
+
correctAnswersRatio: number;
|
|
2523
|
+
}
|
|
2524
|
+
|
|
2525
|
+
export declare enum InteractiveWidgetGroupType {
|
|
2526
|
+
HIGHLIGHTED_PLAYERS = "HIGHLIGHTED_PLAYERS",
|
|
2527
|
+
/** Participants playing in Offline mode */
|
|
2528
|
+
LOCAL_PLAYERS = "LOCAL_PLAYERS",
|
|
2529
|
+
ALL = "ALL",
|
|
2530
|
+
PARTY = "PARTY"
|
|
2531
|
+
}
|
|
2532
|
+
|
|
2533
|
+
export declare enum InteractiveWidgetRole {
|
|
2534
|
+
OBS = "OBS",
|
|
2535
|
+
HOST = "HOST",
|
|
2536
|
+
PLAYER = "PLAYER",
|
|
2537
|
+
LOCAL_PLAYER = "LOCAL_PLAYER"
|
|
2538
|
+
}
|
|
2539
|
+
|
|
2142
2540
|
export declare type InteractiveWidgetScene = CurrentQuestionScene | LeaderboardScene | QRCodeScene | AdBannerScene | PlayersScene | NoGraphicsScene | CountdownScene;
|
|
2143
2541
|
|
|
2144
2542
|
export declare interface InteractiveWidgetSceneBase<TType extends InteractiveWidgetSceneTemplateType> {
|
|
@@ -2196,6 +2594,16 @@ export declare enum InteractiveWidgetState {
|
|
|
2196
2594
|
RESET_GAME = "ResetGame"
|
|
2197
2595
|
}
|
|
2198
2596
|
|
|
2597
|
+
export declare enum InteractiveWidgetStatus {
|
|
2598
|
+
/**
|
|
2599
|
+
* Waiting to start the quiz / question
|
|
2600
|
+
*/
|
|
2601
|
+
WAITING = "WAITING",
|
|
2602
|
+
IN_PROGRESS = "IN_PROGRESS",
|
|
2603
|
+
IN_BETWEEN_QUESTIONS = "IN_BETWEEN_QUESTIONS",
|
|
2604
|
+
DONE = "DONE"
|
|
2605
|
+
}
|
|
2606
|
+
|
|
2199
2607
|
export declare interface InteractiveWidgetTheme {
|
|
2200
2608
|
palette: Record<string, string>;
|
|
2201
2609
|
components: {
|
|
@@ -2205,6 +2613,11 @@ export declare interface InteractiveWidgetTheme {
|
|
|
2205
2613
|
|
|
2206
2614
|
declare type InteractiveWidgetThemeKey = InteractiveWidgetDisplayComponent | `${InteractiveWidgetDisplayComponent.CURRENT_QUESTION}${AnswerStatus}` | 'timeLeftBar';
|
|
2207
2615
|
|
|
2616
|
+
export declare enum InteractiveWidgetType {
|
|
2617
|
+
POLL = "POLL",
|
|
2618
|
+
QUIZ = "QUIZ"
|
|
2619
|
+
}
|
|
2620
|
+
|
|
2208
2621
|
/**
|
|
2209
2622
|
* @public
|
|
2210
2623
|
*/
|
|
@@ -2231,6 +2644,15 @@ export declare type InternalConfig = SdkReactConfig & {
|
|
|
2231
2644
|
forceCloudFnResolver?: boolean;
|
|
2232
2645
|
};
|
|
2233
2646
|
|
|
2647
|
+
/**
|
|
2648
|
+
* Subset of `BaseInteractiveWidget` methods that are intentionally **not**
|
|
2649
|
+
* advertised on the SDK hook return types (`useInteractiveWidget`,
|
|
2650
|
+
* `useQuizWidget`, `usePollWidget`). These methods still exist at runtime and
|
|
2651
|
+
* are used by internal `core-react-dom` UI / server flows — they're just hidden
|
|
2652
|
+
* from external SDK consumers, which should only call `submitAnswer`.
|
|
2653
|
+
*/
|
|
2654
|
+
export declare type InternalInteractiveWidgetMethods = 'answerQuestion' | 'verifyJoinCode' | 'changeState';
|
|
2655
|
+
|
|
2234
2656
|
/**
|
|
2235
2657
|
* @public
|
|
2236
2658
|
*/
|
|
@@ -2293,17 +2715,35 @@ export declare type ItemInRow = Tag | Video | TvChannel | Advertisement | Applic
|
|
|
2293
2715
|
* @public
|
|
2294
2716
|
*/
|
|
2295
2717
|
export declare interface JojExternals {
|
|
2718
|
+
/**
|
|
2719
|
+
* e.g. '19876'
|
|
2720
|
+
*/
|
|
2296
2721
|
tvProfiProgramId?: string;
|
|
2722
|
+
/**
|
|
2723
|
+
* e.g. 'S19876'
|
|
2724
|
+
*/
|
|
2297
2725
|
tvProfiContentId?: string;
|
|
2298
2726
|
tvProfiSerialId?: string;
|
|
2727
|
+
/**
|
|
2728
|
+
* e.g. '70368744177695432'
|
|
2729
|
+
*/
|
|
2299
2730
|
contentId?: string;
|
|
2300
2731
|
/**
|
|
2301
2732
|
* Temporary contentId used only for live channel. The video is already encoded and stored in our storage
|
|
2302
2733
|
* but is also stored on nangu platform to be used for live channel.
|
|
2303
2734
|
*/
|
|
2304
2735
|
dvtvExtraContentId?: string;
|
|
2736
|
+
/**
|
|
2737
|
+
* e.g. 'W278510'
|
|
2738
|
+
*/
|
|
2305
2739
|
provysId?: string;
|
|
2740
|
+
/**
|
|
2741
|
+
* real provysId unlike provysId, e.g. '2-231027-0009'
|
|
2742
|
+
*/
|
|
2306
2743
|
tvProfiProvysId?: string;
|
|
2744
|
+
/**
|
|
2745
|
+
* e.g. 'W278510'
|
|
2746
|
+
*/
|
|
2307
2747
|
tvProfiHouseId?: string;
|
|
2308
2748
|
tvProfiTitleOriginal?: string;
|
|
2309
2749
|
tvProfiTitleSk?: string;
|
|
@@ -2329,7 +2769,20 @@ export declare enum LangCode {
|
|
|
2329
2769
|
HU = "hu"
|
|
2330
2770
|
}
|
|
2331
2771
|
|
|
2332
|
-
export declare const
|
|
2772
|
+
export declare const LangCodeToCountryCodeMap: Partial<Record<LangCode, string>>;
|
|
2773
|
+
|
|
2774
|
+
export declare const LangCodeToCurrencyMap: Partial<Record<LangCode, Currency>>;
|
|
2775
|
+
|
|
2776
|
+
export declare const LangCodeToTitle: Record<LangCode, string>;
|
|
2777
|
+
|
|
2778
|
+
/**
|
|
2779
|
+
* Generic type for items that can be restricted to specific languages.
|
|
2780
|
+
* Use with filterByLanguageRestricted utility from @tivio/common.
|
|
2781
|
+
*/
|
|
2782
|
+
export declare interface LanguageRestricted {
|
|
2783
|
+
/** By default is available in every language */
|
|
2784
|
+
availableIn?: LangCode[];
|
|
2785
|
+
}
|
|
2333
2786
|
|
|
2334
2787
|
/**
|
|
2335
2788
|
* All supported languages codes as in ISO 639-1
|
|
@@ -2354,7 +2807,7 @@ export declare interface LastMessage {
|
|
|
2354
2807
|
export declare interface LeaderboardGroupItem {
|
|
2355
2808
|
groupPath?: string;
|
|
2356
2809
|
groupName?: string;
|
|
2357
|
-
type:
|
|
2810
|
+
type: InteractiveWidgetGroupType;
|
|
2358
2811
|
/**
|
|
2359
2812
|
* Consists of top 3 players of the group (global or private team)
|
|
2360
2813
|
* the player's rank in the group
|
|
@@ -2524,11 +2977,35 @@ export declare enum LoginRedirect {
|
|
|
2524
2977
|
REMOTE_CONTROLLER = "remote-controller"
|
|
2525
2978
|
}
|
|
2526
2979
|
|
|
2980
|
+
declare interface ManageMemberDeleteRequest extends ManageMemberRequestBase {
|
|
2981
|
+
action: 'deleteMember';
|
|
2982
|
+
}
|
|
2983
|
+
|
|
2984
|
+
export declare type ManageMemberRequest = ManageMemberUpdateRoleRequest | ManageMemberDeleteRequest;
|
|
2985
|
+
|
|
2527
2986
|
/**
|
|
2528
|
-
*
|
|
2987
|
+
* Request body for manageMember cloud function.
|
|
2988
|
+
* Handles member management operations (role update, deletion) within an organization.
|
|
2989
|
+
*/
|
|
2990
|
+
declare interface ManageMemberRequestBase {
|
|
2991
|
+
organizationId: string;
|
|
2992
|
+
targetMemberUid: string;
|
|
2993
|
+
}
|
|
2994
|
+
|
|
2995
|
+
/**
|
|
2996
|
+
* Response body for manageMember cloud function.
|
|
2529
2997
|
*/
|
|
2530
|
-
export declare interface
|
|
2531
|
-
|
|
2998
|
+
export declare interface ManageMemberResponse {
|
|
2999
|
+
success: boolean;
|
|
3000
|
+
}
|
|
3001
|
+
|
|
3002
|
+
declare interface ManageMemberUpdateRoleRequest extends ManageMemberRequestBase {
|
|
3003
|
+
action: 'updateRole';
|
|
3004
|
+
/**
|
|
3005
|
+
* New role for the target member.
|
|
3006
|
+
* Value corresponds to OrganizationMemberRoles enum from @tivio/firebase.
|
|
3007
|
+
*/
|
|
3008
|
+
role: number;
|
|
2532
3009
|
}
|
|
2533
3010
|
|
|
2534
3011
|
/**
|
|
@@ -2592,11 +3069,37 @@ export declare enum MarkerType {
|
|
|
2592
3069
|
NONE = "none"
|
|
2593
3070
|
}
|
|
2594
3071
|
|
|
3072
|
+
/**
|
|
3073
|
+
* Tile data for MEDIA_ACCORDEON rows.
|
|
3074
|
+
* Contains id, name, and path for video references.
|
|
3075
|
+
* @public
|
|
3076
|
+
*/
|
|
3077
|
+
export declare interface MediaAccordeonTileSpecificData {
|
|
3078
|
+
/**
|
|
3079
|
+
* Custom item ID for unique identification.
|
|
3080
|
+
*/
|
|
3081
|
+
id: string;
|
|
3082
|
+
/**
|
|
3083
|
+
* Custom item name for display purposes.
|
|
3084
|
+
*/
|
|
3085
|
+
name: Translation;
|
|
3086
|
+
/**
|
|
3087
|
+
* Firestore path to the video.
|
|
3088
|
+
*/
|
|
3089
|
+
path: string;
|
|
3090
|
+
}
|
|
3091
|
+
|
|
2595
3092
|
declare type Membership = {
|
|
2596
3093
|
id: string;
|
|
2597
3094
|
type: string;
|
|
2598
3095
|
};
|
|
2599
3096
|
|
|
3097
|
+
export declare type MergeUserAccountsPayload = {
|
|
3098
|
+
email: string;
|
|
3099
|
+
name?: string;
|
|
3100
|
+
password: string;
|
|
3101
|
+
};
|
|
3102
|
+
|
|
2600
3103
|
/**
|
|
2601
3104
|
* @public
|
|
2602
3105
|
*/
|
|
@@ -2632,6 +3135,17 @@ export declare interface MessageUser {
|
|
|
2632
3135
|
email: string;
|
|
2633
3136
|
}
|
|
2634
3137
|
|
|
3138
|
+
export declare enum MetadataFieldId {
|
|
3139
|
+
NAME = "name",// always required
|
|
3140
|
+
SHORT_NAME = "shortName",// optional, fixed position (not sortable)
|
|
3141
|
+
DESCRIPTION = "description",// always required
|
|
3142
|
+
RICH_DESCRIPTION = "richDescription",// optional, fixed position (not sortable)
|
|
3143
|
+
TAGS = "tags",
|
|
3144
|
+
FILM_DETAILS = "filmDetails",
|
|
3145
|
+
AUDIENCE_LIMITATIONS = "audienceLimitations",
|
|
3146
|
+
PRODUCT_PLACEMENT = "productPlacement"
|
|
3147
|
+
}
|
|
3148
|
+
|
|
2635
3149
|
/**
|
|
2636
3150
|
* External information of video migrated via our Public API.
|
|
2637
3151
|
* @public
|
|
@@ -2853,11 +3367,6 @@ declare type Notification_2 = {
|
|
|
2853
3367
|
} & EmailNotification;
|
|
2854
3368
|
export { Notification_2 as Notification }
|
|
2855
3369
|
|
|
2856
|
-
export declare interface NotificationDuration {
|
|
2857
|
-
value: number;
|
|
2858
|
-
unit: dayjs.ManipulateType;
|
|
2859
|
-
}
|
|
2860
|
-
|
|
2861
3370
|
export declare type NotificationFilterType = NotificationFirestoreFilterType | NotificationSurveyFilterType | NotificationLastActivityFilterType;
|
|
2862
3371
|
|
|
2863
3372
|
export declare type NotificationFirestoreFilterType = NotificationSubscriptionFilterType | NotificationMembershipFilterType;
|
|
@@ -2880,12 +3389,21 @@ export declare interface NotificationMembershipFilterType {
|
|
|
2880
3389
|
};
|
|
2881
3390
|
}
|
|
2882
3391
|
|
|
3392
|
+
/**
|
|
3393
|
+
* Lifecycle status of a notification.
|
|
3394
|
+
*/
|
|
2883
3395
|
export declare enum NotificationStatus {
|
|
3396
|
+
/** Automatic trigger types (e.g. purchaseStatusChange, duration, userRegistration); not manually or scheduled sent. */
|
|
2884
3397
|
AUTOMATIC = "automatic",
|
|
3398
|
+
/** Editable, not yet scheduled or sent. Initial state; can transition to PLANNED when scheduled. */
|
|
2885
3399
|
DRAFT = "draft",
|
|
3400
|
+
/** Scheduled (e.g. Cloud Task created for email, or push scheduled). For push, sending runs on DRAFT→PLANNED then status becomes SENT. */
|
|
2886
3401
|
PLANNED = "planned",
|
|
3402
|
+
/** Notification has been sent. Set after push send and after email send for manual/scheduled. */
|
|
2887
3403
|
SENT = "sent",
|
|
3404
|
+
/** Manual trigger saved and waiting to be sent (no lastSent yet). */
|
|
2888
3405
|
WAITING = "waiting",
|
|
3406
|
+
/** Currently being sent (e.g. EmailSender sets RUNNING before sendEmails). Saving and re-sending are blocked while RUNNING. */
|
|
2889
3407
|
RUNNING = "running"
|
|
2890
3408
|
}
|
|
2891
3409
|
|
|
@@ -2919,6 +3437,17 @@ export declare interface NotificationTargeting {
|
|
|
2919
3437
|
to?: Date;
|
|
2920
3438
|
}
|
|
2921
3439
|
|
|
3440
|
+
/**
|
|
3441
|
+
* How the notification is triggered.
|
|
3442
|
+
* - **scheduled**: Sent at a fixed time (scheduleTime). Status becomes PLANNED when scheduled;
|
|
3443
|
+
* used with Cloud Tasks for email and for push when moving from DRAFT to PLANNED.
|
|
3444
|
+
* - **manual**: Sent on demand from the admin. Status is WAITING until sent, then SENT.
|
|
3445
|
+
* - **purchaseStatusChange**: Fired when a user's purchase/subscription status changes (before/after).
|
|
3446
|
+
* Matched by getNotificationByPurchaseStatuses; status is AUTOMATIC.
|
|
3447
|
+
* - **duration**: Time-based (e.g. subscription duration). Used by the daily email job (sendEmailsDaily)
|
|
3448
|
+
* via DurationEmailSender to target users by duration criteria.
|
|
3449
|
+
* - **userRegistration**: Fired when a user registers. Resolved by getNotificationUserRegistration.
|
|
3450
|
+
*/
|
|
2922
3451
|
export declare type NotificationTriggerType = 'scheduled' | 'manual' | 'purchaseStatusChange' | 'duration' | 'userRegistration';
|
|
2923
3452
|
|
|
2924
3453
|
export declare enum NotificationType {
|
|
@@ -2933,6 +3462,13 @@ export declare type Nullable<T> = {
|
|
|
2933
3462
|
[P in keyof T]: T[P] | null;
|
|
2934
3463
|
};
|
|
2935
3464
|
|
|
3465
|
+
export declare interface NumberItem {
|
|
3466
|
+
value: string;
|
|
3467
|
+
description: Translation;
|
|
3468
|
+
}
|
|
3469
|
+
|
|
3470
|
+
export declare type NumbersTileSpecificData = NumberItem;
|
|
3471
|
+
|
|
2936
3472
|
/**
|
|
2937
3473
|
* @public
|
|
2938
3474
|
*/
|
|
@@ -2998,6 +3534,20 @@ export declare interface OrganizationSettingsField extends OrganizationResponsiv
|
|
|
2998
3534
|
enabled: boolean;
|
|
2999
3535
|
};
|
|
3000
3536
|
allowedSignInProviders?: SignInProvider[];
|
|
3537
|
+
/**
|
|
3538
|
+
* Social authentication provider for this organization
|
|
3539
|
+
* 'auth0' - Use Auth0 for social login (Kviff)
|
|
3540
|
+
* 'firebase' - Use Firebase Auth for social login (default)
|
|
3541
|
+
*/
|
|
3542
|
+
socialAuthProvider?: 'auth0' | 'firebase';
|
|
3543
|
+
/**
|
|
3544
|
+
* Auth0 configuration for organizations using Auth0 social login.
|
|
3545
|
+
* Only relevant when socialAuthProvider === 'auth0'.
|
|
3546
|
+
*/
|
|
3547
|
+
auth0?: {
|
|
3548
|
+
domain: string;
|
|
3549
|
+
clientId: string;
|
|
3550
|
+
};
|
|
3001
3551
|
disableComments?: boolean;
|
|
3002
3552
|
/**
|
|
3003
3553
|
* Used on CNC webs - When buying a yearly subscription the recalculated monthly price is display below the yearly price
|
|
@@ -3043,6 +3593,11 @@ export declare interface OrganizationSettingsField extends OrganizationResponsiv
|
|
|
3043
3593
|
id: string;
|
|
3044
3594
|
};
|
|
3045
3595
|
};
|
|
3596
|
+
/**
|
|
3597
|
+
* 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.
|
|
3598
|
+
* The logic can be found here: {@link apps/api/functions/src/model/purchase.ts}
|
|
3599
|
+
* 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.
|
|
3600
|
+
*/
|
|
3046
3601
|
cancelledSubscriptionDiscount?: {
|
|
3047
3602
|
enabled: boolean;
|
|
3048
3603
|
};
|
|
@@ -3058,6 +3613,28 @@ export declare interface OrganizationSettingsField extends OrganizationResponsiv
|
|
|
3058
3613
|
pushNotifications?: {
|
|
3059
3614
|
enabled?: boolean;
|
|
3060
3615
|
};
|
|
3616
|
+
recommendations?: {
|
|
3617
|
+
videosNoOlderThan?: {
|
|
3618
|
+
unit: 'month';
|
|
3619
|
+
value: number;
|
|
3620
|
+
};
|
|
3621
|
+
};
|
|
3622
|
+
/**
|
|
3623
|
+
* Payment flow configuration
|
|
3624
|
+
* @default PaymentFlow.NEW
|
|
3625
|
+
*/
|
|
3626
|
+
paymentFlow?: PaymentFlow;
|
|
3627
|
+
contentMetadata?: {
|
|
3628
|
+
[MetadataFieldId.SHORT_NAME]?: ContentMetadataOptions;
|
|
3629
|
+
[MetadataFieldId.RICH_DESCRIPTION]?: ContentMetadataOptions;
|
|
3630
|
+
[MetadataFieldId.TAGS]?: ContentMetadataOptions;
|
|
3631
|
+
[MetadataFieldId.FILM_DETAILS]?: ContentMetadataOptions;
|
|
3632
|
+
[MetadataFieldId.AUDIENCE_LIMITATIONS]?: ContentMetadataOptions;
|
|
3633
|
+
[MetadataFieldId.PRODUCT_PLACEMENT]?: ContentMetadataOptions;
|
|
3634
|
+
};
|
|
3635
|
+
aiProcessing?: {
|
|
3636
|
+
assets?: boolean;
|
|
3637
|
+
};
|
|
3061
3638
|
}
|
|
3062
3639
|
|
|
3063
3640
|
/**
|
|
@@ -3072,7 +3649,7 @@ export declare type OtherSource = SourceBase & StartAndContinuePosition & {
|
|
|
3072
3649
|
|
|
3073
3650
|
export declare interface PaginatedResponse<T = unknown, U extends NextPageParamType = NextPageParamType> {
|
|
3074
3651
|
items: T[];
|
|
3075
|
-
nextPageParams: {
|
|
3652
|
+
nextPageParams: ({
|
|
3076
3653
|
offset: number;
|
|
3077
3654
|
limit: number;
|
|
3078
3655
|
} & (U extends 'screenId' ? {
|
|
@@ -3084,7 +3661,7 @@ export declare interface PaginatedResponse<T = unknown, U extends NextPageParamT
|
|
|
3084
3661
|
rowId: string;
|
|
3085
3662
|
} : U extends 'filter' ? {
|
|
3086
3663
|
filter: Omit<RowFilterField, 'limit'>;
|
|
3087
|
-
} :
|
|
3664
|
+
} : object)) | null;
|
|
3088
3665
|
}
|
|
3089
3666
|
|
|
3090
3667
|
/**
|
|
@@ -3119,20 +3696,6 @@ export declare interface PartialRegistrationOverlayContextState {
|
|
|
3119
3696
|
voucher?: string;
|
|
3120
3697
|
}
|
|
3121
3698
|
|
|
3122
|
-
/**
|
|
3123
|
-
* @public
|
|
3124
|
-
* Generic interface for sources that can be identified by a path (video or TV channel)
|
|
3125
|
-
*/
|
|
3126
|
-
export declare type PathSourceParams = PathSourceParamsTvChannel | PathSourceParamsVideo;
|
|
3127
|
-
|
|
3128
|
-
declare interface PathSourceParamsTvChannel extends Partial<ChannelSourceParams> {
|
|
3129
|
-
path: `tvChannels/${string}`;
|
|
3130
|
-
}
|
|
3131
|
-
|
|
3132
|
-
declare interface PathSourceParamsVideo extends Partial<Omit<VodTivioSourceParams, 'videoPath'>> {
|
|
3133
|
-
path: `videos/${string}`;
|
|
3134
|
-
}
|
|
3135
|
-
|
|
3136
3699
|
export declare type PatreonCreatorData = {
|
|
3137
3700
|
campaign: string;
|
|
3138
3701
|
tiers: Tier[];
|
|
@@ -3176,6 +3739,17 @@ export declare type PatreonUserResponse = {
|
|
|
3176
3739
|
errors?: PatreonError[];
|
|
3177
3740
|
};
|
|
3178
3741
|
|
|
3742
|
+
/**
|
|
3743
|
+
* @public
|
|
3744
|
+
*
|
|
3745
|
+
* - NEW: Automatically show payment overlay when tasting video ends (ContentIsPaidOverlay with poster)
|
|
3746
|
+
* - LEGACY: Old behavior - users must manually click to purchase, no automatic overlay
|
|
3747
|
+
*/
|
|
3748
|
+
export declare enum PaymentFlow {
|
|
3749
|
+
NEW = "new",
|
|
3750
|
+
LEGACY = "legacy"
|
|
3751
|
+
}
|
|
3752
|
+
|
|
3179
3753
|
/**
|
|
3180
3754
|
* @public
|
|
3181
3755
|
*/
|
|
@@ -3292,11 +3866,6 @@ export declare type PlayerConfig = {
|
|
|
3292
3866
|
*/
|
|
3293
3867
|
name: 'IMA SDK' | 'TIVIO AD SERVICE';
|
|
3294
3868
|
};
|
|
3295
|
-
/**
|
|
3296
|
-
* If true, then TV channels are not available for anonymous users and they will be shown an overlay to sign in.
|
|
3297
|
-
* @default false
|
|
3298
|
-
*/
|
|
3299
|
-
disableTvChannelsForAnonymousUsers?: boolean;
|
|
3300
3869
|
};
|
|
3301
3870
|
|
|
3302
3871
|
/**
|
|
@@ -3308,6 +3877,8 @@ export declare interface PlayerEngineConfig {
|
|
|
3308
3877
|
isAd?: boolean;
|
|
3309
3878
|
positionMs?: number;
|
|
3310
3879
|
url: string;
|
|
3880
|
+
sessionType?: SessionType;
|
|
3881
|
+
sourcePlayMode?: SourcePlayMode;
|
|
3311
3882
|
}
|
|
3312
3883
|
|
|
3313
3884
|
/**
|
|
@@ -3413,18 +3984,50 @@ export declare interface PlayerEngineInterface {
|
|
|
3413
3984
|
selectPlaybackSpeed?: (playbackSpeed: number) => void;
|
|
3414
3985
|
destroy(): Promise<void>;
|
|
3415
3986
|
getBufferedInfo?(): BufferChunk[];
|
|
3416
|
-
lastQuality: number | null;
|
|
3417
3987
|
/**
|
|
3418
|
-
*
|
|
3419
|
-
*
|
|
3988
|
+
* Clears buffered segments ahead of the current playback position.
|
|
3989
|
+
* Used during interactive streaming camera switches to enable faster content transition.
|
|
3990
|
+
*
|
|
3991
|
+
* @param safeMarginMs - Milliseconds of buffer to keep ahead of current position (default: 0)
|
|
3992
|
+
* @param secondarySourceId - Optional ID of the secondary source being switched to
|
|
3993
|
+
* @returns Promise that resolves when buffer clearing is complete
|
|
3420
3994
|
*/
|
|
3421
|
-
|
|
3995
|
+
clearBufferAhead?(safeMarginMs?: number, secondarySourceId?: string): Promise<void>;
|
|
3996
|
+
/**
|
|
3997
|
+
* Sets the streaming profile to configure buffer behavior.
|
|
3998
|
+
* Use 'low' for interactive streaming with fast camera switches,
|
|
3999
|
+
* 'medium' for balanced behavior, 'high' for maximum stability.
|
|
4000
|
+
*
|
|
4001
|
+
* @param profile - The streaming profile to apply
|
|
4002
|
+
*/
|
|
4003
|
+
setStreamingProfile?(profile: StreamingProfile): void;
|
|
4004
|
+
/**
|
|
4005
|
+
* Gets the current streaming profile.
|
|
4006
|
+
*/
|
|
4007
|
+
getStreamingProfile?(): StreamingProfile;
|
|
4008
|
+
/**
|
|
4009
|
+
* Set whether to prefer native HLS playback over MSE.
|
|
4010
|
+
* This is required for AirPlay to work properly in Safari.
|
|
4011
|
+
* Must be called before play() to take effect.
|
|
4012
|
+
*
|
|
4013
|
+
* @param preferNativeHls - Whether to prefer native HLS playback
|
|
4014
|
+
*/
|
|
4015
|
+
setPreferNativeHls?(preferNativeHls: boolean): void;
|
|
4016
|
+
/**
|
|
4017
|
+
* Reload the current source with the current configuration (including preferNativeHls).
|
|
4018
|
+
* This is a lightweight reload that doesn't go through the full playerWrapper source pipeline.
|
|
4019
|
+
* Used for switching between MSE and native HLS playback for AirPlay.
|
|
4020
|
+
*
|
|
4021
|
+
* @returns Promise that resolves when reload is complete
|
|
4022
|
+
*/
|
|
4023
|
+
reloadCurrentConfig?(): Promise<void>;
|
|
4024
|
+
lastQuality: number | null;
|
|
4025
|
+
/**
|
|
4026
|
+
* Attribute indicating that the video is to be played "inline"
|
|
4027
|
+
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video#playsinline
|
|
4028
|
+
*/
|
|
4029
|
+
setPlaysInline(value: boolean): void;
|
|
3422
4030
|
setControlsList(value: string[]): void;
|
|
3423
|
-
/** Gets resolution of the video element in pixels - container size, not the actual source quality resolution */
|
|
3424
|
-
getVideoResolution(): {
|
|
3425
|
-
width: number;
|
|
3426
|
-
height: number;
|
|
3427
|
-
};
|
|
3428
4031
|
}
|
|
3429
4032
|
|
|
3430
4033
|
/**
|
|
@@ -3520,11 +4123,19 @@ export declare interface PlayerInterface {
|
|
|
3520
4123
|
*/
|
|
3521
4124
|
setPlaysInline?: (value: boolean) => void;
|
|
3522
4125
|
setControlsList?: (value: string[]) => void;
|
|
3523
|
-
/**
|
|
3524
|
-
|
|
3525
|
-
|
|
3526
|
-
|
|
3527
|
-
|
|
4126
|
+
/**
|
|
4127
|
+
* Clears buffered segments ahead of the current playback position.
|
|
4128
|
+
* Used during interactive streaming camera switches to enable faster content transition.
|
|
4129
|
+
*
|
|
4130
|
+
* @param safeMarginMs - Milliseconds of buffer to keep ahead of current position (default: 0)
|
|
4131
|
+
* @returns Promise that resolves when buffer clearing is complete
|
|
4132
|
+
*/
|
|
4133
|
+
clearBufferAhead?: (safeMarginMs?: number, secondarySourceId?: string) => Promise<void>;
|
|
4134
|
+
/**
|
|
4135
|
+
* Callback to receive camera switch progress updates.
|
|
4136
|
+
* Called by the engine during interactive streaming camera switches.
|
|
4137
|
+
*/
|
|
4138
|
+
onCameraSwitchProgress?: (progress: CameraSwitchProgress) => void;
|
|
3528
4139
|
}
|
|
3529
4140
|
|
|
3530
4141
|
/**
|
|
@@ -3594,7 +4205,6 @@ export declare interface PlayerSourceInterface<T extends NonAdSourceType = NonAd
|
|
|
3594
4205
|
start?: Date;
|
|
3595
4206
|
from?: Date;
|
|
3596
4207
|
sourceHistory?: string[];
|
|
3597
|
-
staticAdsConfig?: StaticAdsBreak[];
|
|
3598
4208
|
}
|
|
3599
4209
|
|
|
3600
4210
|
/**
|
|
@@ -3613,7 +4223,6 @@ export declare interface PlayerSourceParams<T extends NonAdSourceType = NonAdSou
|
|
|
3613
4223
|
seekingMatrix?: SeekingMatrixTemplate;
|
|
3614
4224
|
sessionType?: VideoSourceField['sessionType'];
|
|
3615
4225
|
sessionId?: string;
|
|
3616
|
-
staticAdsConfig?: StaticAdsBreak[];
|
|
3617
4226
|
}
|
|
3618
4227
|
|
|
3619
4228
|
export declare type PlayersScene = InteractiveWidgetSceneBase<InteractiveWidgetSceneTemplateType.PLAYERS>;
|
|
@@ -3627,13 +4236,6 @@ export declare type PlayerState = 'idle' | 'playing' | 'paused';
|
|
|
3627
4236
|
* @public
|
|
3628
4237
|
*/
|
|
3629
4238
|
export declare interface PlayerWrapper {
|
|
3630
|
-
/**
|
|
3631
|
-
* Unique id of the player wrapper instance, set at construction time
|
|
3632
|
-
* (e.g. by `tivio.getPlayerWrapper(id)`). Used to scope DOM ids of
|
|
3633
|
-
* player-owned elements (IMA ad containers, content video element, …)
|
|
3634
|
-
* so multiple players on the same page don't collide.
|
|
3635
|
-
*/
|
|
3636
|
-
readonly id: string;
|
|
3637
4239
|
/**
|
|
3638
4240
|
* Report that playback of video has finished
|
|
3639
4241
|
*/
|
|
@@ -3672,6 +4274,11 @@ export declare interface PlayerWrapper {
|
|
|
3672
4274
|
availableLanguages: LangCode[] | null;
|
|
3673
4275
|
canReplay: boolean;
|
|
3674
4276
|
currentSecondarySource: Video | null;
|
|
4277
|
+
/**
|
|
4278
|
+
* Camera switch transition progress for interactive streaming.
|
|
4279
|
+
* Non-null when a camera switch is in progress.
|
|
4280
|
+
*/
|
|
4281
|
+
cameraSwitchProgress: CameraSwitchProgress | null;
|
|
3675
4282
|
currentTime: number;
|
|
3676
4283
|
/**
|
|
3677
4284
|
* Currently playing source
|
|
@@ -3722,6 +4329,10 @@ export declare interface PlayerWrapper {
|
|
|
3722
4329
|
* Retry to play a video that failed to start playing (e.g. due to a network error)
|
|
3723
4330
|
*/
|
|
3724
4331
|
retry: () => void;
|
|
4332
|
+
/**
|
|
4333
|
+
* Refresh the current source by calling getSourceUrl without sourceHistory.
|
|
4334
|
+
*/
|
|
4335
|
+
refreshSource: () => Promise<void>;
|
|
3725
4336
|
togglePlayPause: () => void;
|
|
3726
4337
|
seekTo: (ms: number) => void;
|
|
3727
4338
|
/**
|
|
@@ -3730,6 +4341,21 @@ export declare interface PlayerWrapper {
|
|
|
3730
4341
|
setVolume: (volume: number) => void;
|
|
3731
4342
|
changeLanguage: (langCode: LangCode) => Promise<void>;
|
|
3732
4343
|
changeToFallbackSource: () => Promise<void>;
|
|
4344
|
+
/**
|
|
4345
|
+
* Switch to HLS source for AirPlay (Safari/iOS only).
|
|
4346
|
+
* Preserves current playback position.
|
|
4347
|
+
*/
|
|
4348
|
+
switchToHlsForAirplay: () => Promise<void>;
|
|
4349
|
+
/**
|
|
4350
|
+
* Switch back to DASH from HLS after AirPlay disconnects.
|
|
4351
|
+
* Preserves current playback position.
|
|
4352
|
+
*/
|
|
4353
|
+
switchToDashFromAirplay: () => Promise<void>;
|
|
4354
|
+
/**
|
|
4355
|
+
* Reload the current source while preserving playback position.
|
|
4356
|
+
* Used when switching between native HLS and MSE playback modes.
|
|
4357
|
+
*/
|
|
4358
|
+
reloadCurrentSource: () => Promise<void>;
|
|
3733
4359
|
/**
|
|
3734
4360
|
* change volume by value between -1,1
|
|
3735
4361
|
*/
|
|
@@ -3738,10 +4364,6 @@ export declare interface PlayerWrapper {
|
|
|
3738
4364
|
setCanPlay: (canPlay: boolean) => void;
|
|
3739
4365
|
toggleMuted: () => void;
|
|
3740
4366
|
getQualities: () => Track[];
|
|
3741
|
-
getVideoResolution: () => {
|
|
3742
|
-
width: number;
|
|
3743
|
-
height: number;
|
|
3744
|
-
};
|
|
3745
4367
|
playNativeImaAd: (url: string) => void;
|
|
3746
4368
|
playSourceAfterAdsRun: () => void;
|
|
3747
4369
|
putAd: (ad: AdSourceInterface) => void;
|
|
@@ -3758,10 +4380,20 @@ export declare interface PlayerWrapper {
|
|
|
3758
4380
|
seekToLive: () => void;
|
|
3759
4381
|
seekToLiveInternal: () => void;
|
|
3760
4382
|
setIsBuffering: (isBuffering: boolean) => void;
|
|
4383
|
+
isCasting: boolean;
|
|
3761
4384
|
setIsCasting: (isCasting: boolean) => void;
|
|
3762
4385
|
skipAd: () => void;
|
|
3763
4386
|
skipAllAds: () => void;
|
|
3764
4387
|
switchSecondarySource: (activeVideoId?: string) => Promise<void>;
|
|
4388
|
+
/**
|
|
4389
|
+
* Set whether to prefer HLS sources over DASH.
|
|
4390
|
+
* Used in Safari/iOS when AirPlay is available, as AirPlay only supports HLS streaming.
|
|
4391
|
+
*/
|
|
4392
|
+
setPreferHls: (preferHls: boolean) => void;
|
|
4393
|
+
/**
|
|
4394
|
+
* Suppress watermark tamper detection during AirPlay source switching.
|
|
4395
|
+
*/
|
|
4396
|
+
setAirplaySwitching?: (isSwitching: boolean) => void;
|
|
3765
4397
|
}
|
|
3766
4398
|
|
|
3767
4399
|
/**
|
|
@@ -3786,19 +4418,7 @@ export declare enum PlayerWrapperEvents {
|
|
|
3786
4418
|
/**
|
|
3787
4419
|
* Un-pause was triggered
|
|
3788
4420
|
*/
|
|
3789
|
-
'unpause_triggered' = "unpause_triggered"
|
|
3790
|
-
/**
|
|
3791
|
-
* Triggered when an ad starts playing
|
|
3792
|
-
*/
|
|
3793
|
-
'ad-started' = "ad-started",
|
|
3794
|
-
/**
|
|
3795
|
-
* Triggered when an ad finishes playing
|
|
3796
|
-
*/
|
|
3797
|
-
'ad-ended' = "ad-ended",
|
|
3798
|
-
/**
|
|
3799
|
-
* Triggered when companion ads are available for the current ad
|
|
3800
|
-
*/
|
|
3801
|
-
'companion-ads' = "companion-ads"
|
|
4421
|
+
'unpause_triggered' = "unpause_triggered"
|
|
3802
4422
|
}
|
|
3803
4423
|
|
|
3804
4424
|
/**
|
|
@@ -3814,6 +4434,22 @@ export declare enum PlayerWrapperEventType {
|
|
|
3814
4434
|
*/
|
|
3815
4435
|
export declare type PlayerWrapperEventTypeType = `${PlayerWrapperEventType}`;
|
|
3816
4436
|
|
|
4437
|
+
export declare type PollQuestion = CurrentQuestion<PollQuestionAnswer>;
|
|
4438
|
+
|
|
4439
|
+
export declare interface PollQuestionAnswer extends BaseQuestionAnswer {
|
|
4440
|
+
votes?: number;
|
|
4441
|
+
}
|
|
4442
|
+
|
|
4443
|
+
/**
|
|
4444
|
+
* A poll-flavored interactive widget. No scoring / leaderboard / countdown — just
|
|
4445
|
+
* "here's a question, here are the vote counts". Uses a narrower state machine.
|
|
4446
|
+
*/
|
|
4447
|
+
export declare interface PollWidget<TScene extends InteractiveWidgetScene = InteractiveWidgetScene> extends BaseInteractiveWidget<PollQuestionAnswer, PollWidgetState, TScene> {
|
|
4448
|
+
readonly type: InteractiveWidgetType.POLL;
|
|
4449
|
+
}
|
|
4450
|
+
|
|
4451
|
+
export declare type PollWidgetState = InteractiveWidgetState.IDLE | InteractiveWidgetState.CURRENT_QUESTION | InteractiveWidgetState.LEADERBOARD | InteractiveWidgetState.RESET_GAME | InteractiveWidgetState.NEXT_STATE;
|
|
4452
|
+
|
|
3817
4453
|
/**
|
|
3818
4454
|
* @public
|
|
3819
4455
|
*/
|
|
@@ -3826,6 +4462,20 @@ export declare type PlayerWrapperEventTypeType = `${PlayerWrapperEventType}`;
|
|
|
3826
4462
|
*/
|
|
3827
4463
|
export declare type PrerollCheck = (source: PlayerSource) => Promise<AdSourceInterface | null>;
|
|
3828
4464
|
|
|
4465
|
+
export declare type PresentBannerExtendRowData = {
|
|
4466
|
+
name: Translation;
|
|
4467
|
+
subname?: Translation;
|
|
4468
|
+
description?: Translation;
|
|
4469
|
+
avatars?: ScalableAsset[];
|
|
4470
|
+
avatarsText?: Translation;
|
|
4471
|
+
asset?: ScalableAsset;
|
|
4472
|
+
buttons?: RowButton[];
|
|
4473
|
+
};
|
|
4474
|
+
|
|
4475
|
+
export declare type PricesField = {
|
|
4476
|
+
[currency in Currency]?: number | null;
|
|
4477
|
+
};
|
|
4478
|
+
|
|
3829
4479
|
export declare enum primaPlusMonetizationLevel {
|
|
3830
4480
|
light = "z7soJTA2dYSxnOOJw7B0",
|
|
3831
4481
|
premium = "kwfM0D7Vzv5wfLf5go8o",
|
|
@@ -3924,8 +4574,9 @@ export declare interface ProgressMetadata {
|
|
|
3924
4574
|
* @public
|
|
3925
4575
|
*/
|
|
3926
4576
|
export declare interface Promotion {
|
|
4577
|
+
id?: string;
|
|
3927
4578
|
duration?: Duration;
|
|
3928
|
-
|
|
4579
|
+
prices?: PricesField;
|
|
3929
4580
|
requiresPaymentAuthorization?: boolean;
|
|
3930
4581
|
hideOtherSubscriptions?: boolean;
|
|
3931
4582
|
}
|
|
@@ -3975,7 +4626,9 @@ export declare interface PurchasableMonetization extends Monetization {
|
|
|
3975
4626
|
*/
|
|
3976
4627
|
price?: string | number;
|
|
3977
4628
|
promotion: Promotion | null;
|
|
3978
|
-
frequency?:
|
|
4629
|
+
frequency?: Omit<FrequencyInfo, 'title'> & {
|
|
4630
|
+
title: string;
|
|
4631
|
+
};
|
|
3979
4632
|
frequencyInfo?: FrequencyInfo;
|
|
3980
4633
|
durationDays?: number;
|
|
3981
4634
|
/**
|
|
@@ -4015,7 +4668,30 @@ export declare interface PurchasableMonetization extends Monetization {
|
|
|
4015
4668
|
* Number of seats left for the subscription.
|
|
4016
4669
|
*/
|
|
4017
4670
|
seatsLeft?: number;
|
|
4671
|
+
/**
|
|
4672
|
+
* Trial period in milliseconds for the subscription.
|
|
4673
|
+
*/
|
|
4674
|
+
trialPeriod?: number;
|
|
4675
|
+
/**
|
|
4676
|
+
* Maximum quantity of the subscription.
|
|
4677
|
+
*/
|
|
4018
4678
|
maxQuantity?: number;
|
|
4679
|
+
/**
|
|
4680
|
+
* Currency of the monetization price.
|
|
4681
|
+
*/
|
|
4682
|
+
currency?: Currency;
|
|
4683
|
+
/**
|
|
4684
|
+
* Detailed price information, including currency and amount - Takes the price getter from purchsable monetization entity.
|
|
4685
|
+
*/
|
|
4686
|
+
detailedPrice?: DetailedPrice;
|
|
4687
|
+
/**
|
|
4688
|
+
* Subtitle for the monetization, used in UI.
|
|
4689
|
+
*/
|
|
4690
|
+
subtitle?: string;
|
|
4691
|
+
/**
|
|
4692
|
+
* Banner title for the monetization, used in UI.
|
|
4693
|
+
*/
|
|
4694
|
+
bannerTitle?: string;
|
|
4019
4695
|
}
|
|
4020
4696
|
|
|
4021
4697
|
/**
|
|
@@ -4047,6 +4723,7 @@ export declare type Purchase = {
|
|
|
4047
4723
|
monetization: PurchaseMonetization | null;
|
|
4048
4724
|
monetizationId: string | null;
|
|
4049
4725
|
monetizationRef: any | null;
|
|
4726
|
+
nextPaymentDate: Date | null;
|
|
4050
4727
|
status: PurchaseStatus | null;
|
|
4051
4728
|
type: PurchaseType | null;
|
|
4052
4729
|
/**
|
|
@@ -4433,17 +5110,12 @@ export declare interface QerkoTransaction {
|
|
|
4433
5110
|
paymentStatus: string | null;
|
|
4434
5111
|
getPaymentInfo: () => Promise<void>;
|
|
4435
5112
|
voucherId?: string;
|
|
5113
|
+
isLoading: boolean;
|
|
4436
5114
|
}
|
|
4437
5115
|
|
|
4438
5116
|
export declare type QRCodeScene = InteractiveWidgetSceneBase<InteractiveWidgetSceneTemplateType.QR_CODE>;
|
|
4439
5117
|
|
|
4440
|
-
export declare
|
|
4441
|
-
id: string;
|
|
4442
|
-
answer: Translation;
|
|
4443
|
-
isCorrect?: boolean;
|
|
4444
|
-
votes?: number;
|
|
4445
|
-
status?: AnswerStatus;
|
|
4446
|
-
}
|
|
5118
|
+
export declare type QuestionAnswer = QuizQuestionAnswer | PollQuestionAnswer;
|
|
4447
5119
|
|
|
4448
5120
|
export declare enum QuestionEvents {
|
|
4449
5121
|
NEW_QUESTION = "new_question",
|
|
@@ -4461,7 +5133,7 @@ export declare interface QuestionRepository {
|
|
|
4461
5133
|
readonly selectedAnswerId: string | undefined;
|
|
4462
5134
|
isSubmitted: boolean;
|
|
4463
5135
|
isSubmitting: boolean;
|
|
4464
|
-
setCurrentQuestion: (question: CurrentQuestion | null, role:
|
|
5136
|
+
setCurrentQuestion: (question: CurrentQuestion | null, role: InteractiveWidgetRole, secondsToAnswer: number, shouldEnterAtTimestampMs?: number, shouldAdjustEndTimestampMs?: boolean) => void;
|
|
4465
5137
|
selectAnswer: (answerId: string | undefined) => void;
|
|
4466
5138
|
setShowCountdown: (showCountdown: boolean) => void;
|
|
4467
5139
|
reset: () => void;
|
|
@@ -4475,41 +5147,28 @@ export declare type QuestionRepositoryEventMap = {
|
|
|
4475
5147
|
[QuestionEvents.QUESTION_TIMEOUT]: (question: CurrentQuestion | null) => void;
|
|
4476
5148
|
};
|
|
4477
5149
|
|
|
4478
|
-
export declare
|
|
4479
|
-
answerPercentages: Record<string, number>;
|
|
4480
|
-
averageScore: number;
|
|
4481
|
-
correctAnswersRatio: number;
|
|
4482
|
-
}
|
|
5150
|
+
export declare type QuizQuestion = CurrentQuestion<QuizQuestionAnswer>;
|
|
4483
5151
|
|
|
4484
|
-
export declare
|
|
4485
|
-
|
|
4486
|
-
|
|
4487
|
-
LOCAL_PLAYERS = "LOCAL_PLAYERS",
|
|
4488
|
-
ALL = "ALL",
|
|
4489
|
-
PARTY = "PARTY"
|
|
4490
|
-
}
|
|
4491
|
-
|
|
4492
|
-
export declare enum QuizGameRole {
|
|
4493
|
-
OBS = "OBS",
|
|
4494
|
-
HOST = "HOST",
|
|
4495
|
-
PLAYER = "PLAYER",
|
|
4496
|
-
LOCAL_PLAYER = "LOCAL_PLAYER"
|
|
5152
|
+
export declare interface QuizQuestionAnswer extends BaseQuestionAnswer {
|
|
5153
|
+
isCorrect?: boolean;
|
|
5154
|
+
votes?: number;
|
|
4497
5155
|
}
|
|
4498
5156
|
|
|
4499
|
-
|
|
4500
|
-
|
|
4501
|
-
|
|
4502
|
-
|
|
4503
|
-
|
|
4504
|
-
|
|
4505
|
-
|
|
4506
|
-
|
|
5157
|
+
/**
|
|
5158
|
+
* A quiz-flavored interactive widget. Adds scoring, leaderboard, and countdown
|
|
5159
|
+
* concepts on top of the base, and narrows answers to `QuizQuestionAnswer`.
|
|
5160
|
+
*/
|
|
5161
|
+
export declare interface QuizWidget<TScene extends InteractiveWidgetScene = InteractiveWidgetScene> extends BaseInteractiveWidget<QuizQuestionAnswer, QuizWidgetState, TScene> {
|
|
5162
|
+
readonly type: InteractiveWidgetType.QUIZ;
|
|
5163
|
+
readonly leaderboard: LeaderboardGroupItem | null;
|
|
5164
|
+
readonly lastQuestionTopScorers: LeaderboardPlayer[];
|
|
5165
|
+
readonly highlightedUsersIds: string[];
|
|
5166
|
+
readonly secondsToAnswer: number;
|
|
5167
|
+
readonly showCountdown: boolean;
|
|
5168
|
+
readonly questionRepository: QuestionRepository;
|
|
4507
5169
|
}
|
|
4508
5170
|
|
|
4509
|
-
export declare
|
|
4510
|
-
POLL = "POLL",
|
|
4511
|
-
QUIZ = "QUIZ"
|
|
4512
|
-
}
|
|
5171
|
+
export declare type QuizWidgetState = InteractiveWidgetState;
|
|
4513
5172
|
|
|
4514
5173
|
/**
|
|
4515
5174
|
* @public
|
|
@@ -4626,6 +5285,11 @@ export declare interface RemoteControlPairPayload {
|
|
|
4626
5285
|
profileId: string;
|
|
4627
5286
|
}
|
|
4628
5287
|
|
|
5288
|
+
export declare interface RemoteControlPairResponse {
|
|
5289
|
+
sessionId: string;
|
|
5290
|
+
videoId: string;
|
|
5291
|
+
}
|
|
5292
|
+
|
|
4629
5293
|
export declare interface RemoteControlPlaybackControlPayload {
|
|
4630
5294
|
sessionId: string;
|
|
4631
5295
|
videoId: string;
|
|
@@ -4702,6 +5366,16 @@ export declare type RequiredNonNullable<T> = {
|
|
|
4702
5366
|
[P in keyof T]-?: NonNullable<T[P]>;
|
|
4703
5367
|
};
|
|
4704
5368
|
|
|
5369
|
+
export declare interface ReviewItem {
|
|
5370
|
+
asset: ScalableAsset;
|
|
5371
|
+
name: Translation;
|
|
5372
|
+
subname?: Translation;
|
|
5373
|
+
rating: 1 | 2 | 3 | 4 | 5;
|
|
5374
|
+
description?: Translation;
|
|
5375
|
+
}
|
|
5376
|
+
|
|
5377
|
+
export declare type ReviewTileSpecificData = ReviewItem;
|
|
5378
|
+
|
|
4705
5379
|
/**
|
|
4706
5380
|
* @public
|
|
4707
5381
|
*/
|
|
@@ -4724,6 +5398,7 @@ export declare interface RouterOverrides {
|
|
|
4724
5398
|
gridType: GRID_TYPES.ROW;
|
|
4725
5399
|
rowId: string;
|
|
4726
5400
|
organizationId?: string;
|
|
5401
|
+
applicationHandle?: string;
|
|
4727
5402
|
} | {
|
|
4728
5403
|
gridType: GRID_TYPES.VIDEO;
|
|
4729
5404
|
videoId: string;
|
|
@@ -4755,6 +5430,7 @@ export declare interface RouterOverrides {
|
|
|
4755
5430
|
goToRecommendedFromOrganizationRow: (screenId: string, rowId: string) => void;
|
|
4756
5431
|
goToMagentaMomentsPage: (voucher?: string) => void;
|
|
4757
5432
|
goToVoucherRedeemPage: () => void;
|
|
5433
|
+
goToSubscriptionsPage: (organizationHandle?: string) => void;
|
|
4758
5434
|
updateParams: (params: URLSearchParams) => void;
|
|
4759
5435
|
navigate: (path: string) => void;
|
|
4760
5436
|
}
|
|
@@ -4773,25 +5449,7 @@ export declare interface RouterOverridesContextState {
|
|
|
4773
5449
|
/**
|
|
4774
5450
|
* @public
|
|
4775
5451
|
*/
|
|
4776
|
-
export declare
|
|
4777
|
-
id: string;
|
|
4778
|
-
rowId: string;
|
|
4779
|
-
name: string;
|
|
4780
|
-
description?: string;
|
|
4781
|
-
assets: AssetsField;
|
|
4782
|
-
type: ScreenRowType;
|
|
4783
|
-
isLiveRow: boolean;
|
|
4784
|
-
tiles: PaginationInterface<ItemInRow>;
|
|
4785
|
-
numberOfLines?: number;
|
|
4786
|
-
monetizations?: {
|
|
4787
|
-
monetizationRef: any;
|
|
4788
|
-
}[];
|
|
4789
|
-
rowComponent: RowComponent.ROW | RowComponent.BANNER;
|
|
4790
|
-
itemComponent: RowItemComponent | BannerItemComponent;
|
|
4791
|
-
organizationId?: string;
|
|
4792
|
-
bottomComponent?: BottomComponent;
|
|
4793
|
-
showDescriptionAsTitle?: boolean;
|
|
4794
|
-
}
|
|
5452
|
+
export declare type Row = StaticRow | DynamicRow;
|
|
4795
5453
|
|
|
4796
5454
|
/**
|
|
4797
5455
|
* @public
|
|
@@ -4809,17 +5467,41 @@ export declare enum ROW_ITEM_TYPES {
|
|
|
4809
5467
|
/**
|
|
4810
5468
|
* @public
|
|
4811
5469
|
*/
|
|
4812
|
-
export declare interface RowBanner extends
|
|
5470
|
+
export declare interface RowBanner extends DynamicRow {
|
|
4813
5471
|
rowComponent: RowComponent.BANNER;
|
|
4814
5472
|
itemComponent: BannerItemComponent;
|
|
4815
5473
|
}
|
|
4816
5474
|
|
|
5475
|
+
export declare interface RowButton {
|
|
5476
|
+
id: string;
|
|
5477
|
+
enabled: boolean;
|
|
5478
|
+
href: string;
|
|
5479
|
+
text: Translation;
|
|
5480
|
+
variant: 'primary' | 'secondary';
|
|
5481
|
+
leftIcon?: 'play';
|
|
5482
|
+
}
|
|
5483
|
+
|
|
4817
5484
|
/**
|
|
4818
5485
|
* @public
|
|
4819
5486
|
*/
|
|
4820
5487
|
export declare enum RowComponent {
|
|
4821
5488
|
ROW = "ROW",
|
|
4822
|
-
BANNER = "BANNER"
|
|
5489
|
+
BANNER = "BANNER",
|
|
5490
|
+
BENEFITS = "BENEFITS",
|
|
5491
|
+
REVIEWS = "REVIEWS",
|
|
5492
|
+
MONETIZATIONS = "MONETIZATIONS",
|
|
5493
|
+
SPLIT_LAYOUT = "SPLIT_LAYOUT",
|
|
5494
|
+
NUMBERS = "NUMBERS",
|
|
5495
|
+
FAQ = "FAQ",
|
|
5496
|
+
CTA_BANNER = "CTA_BANNER",
|
|
5497
|
+
PRESENT_BANNER = "PRESENT_BANNER",
|
|
5498
|
+
MONETIZATION_BANNER = "MONETIZATION_BANNER",
|
|
5499
|
+
VIDEO_BANNER = "VIDEO_BANNER",
|
|
5500
|
+
MEDIA_ACCORDEON = "MEDIA_ACCORDEON",
|
|
5501
|
+
EXPLORE = "EXPLORE",
|
|
5502
|
+
BACKGROUND_BANNER = "BACKGROUND_BANNER",
|
|
5503
|
+
PARTNER_LOGOS = "PARTNER_LOGOS",
|
|
5504
|
+
HOMEPAGE_BANNER = "HOMEPAGE_BANNER"
|
|
4823
5505
|
}
|
|
4824
5506
|
|
|
4825
5507
|
export declare enum RowFilterCollection {
|
|
@@ -4853,72 +5535,10 @@ export declare interface RowFilterWhereField {
|
|
|
4853
5535
|
value: any;
|
|
4854
5536
|
}
|
|
4855
5537
|
|
|
4856
|
-
|
|
4857
|
-
|
|
4858
|
-
|
|
4859
|
-
|
|
4860
|
-
path?: string;
|
|
4861
|
-
/**
|
|
4862
|
-
* Tivio row ID.
|
|
4863
|
-
*/
|
|
4864
|
-
rowId: string;
|
|
4865
|
-
/**
|
|
4866
|
-
* If all items are from the same organization this will be set.
|
|
4867
|
-
*/
|
|
4868
|
-
organizationId?: string;
|
|
4869
|
-
/**
|
|
4870
|
-
* Row name.
|
|
4871
|
-
*/
|
|
4872
|
-
name: Translation;
|
|
4873
|
-
/**
|
|
4874
|
-
* Row filter based on which to pick tiles.
|
|
4875
|
-
*/
|
|
4876
|
-
filter?: RowFilterField;
|
|
4877
|
-
/**
|
|
4878
|
-
* Row order in the screen.
|
|
4879
|
-
*/
|
|
4880
|
-
order?: number;
|
|
4881
|
-
/**
|
|
4882
|
-
* Number of lines of the title.
|
|
4883
|
-
*/
|
|
4884
|
-
numberOfLines?: number;
|
|
4885
|
-
/**
|
|
4886
|
-
* Standard row or a Banner.
|
|
4887
|
-
*/
|
|
4888
|
-
rowComponent: RowComponent;
|
|
4889
|
-
/**
|
|
4890
|
-
* Component to use to render the tiles in the row.
|
|
4891
|
-
*/
|
|
4892
|
-
itemComponent: RowItemComponent | BannerItemComponent;
|
|
4893
|
-
/**
|
|
4894
|
-
* Type of the row (continue to watch, custom, filter, ...).
|
|
4895
|
-
*/
|
|
4896
|
-
type: ScreenRowType;
|
|
4897
|
-
/**
|
|
4898
|
-
* Items to display in the row.
|
|
4899
|
-
*/
|
|
4900
|
-
tiles: GetTilesInRowResponse;
|
|
4901
|
-
/**
|
|
4902
|
-
* Setting for decided what to show bellow the tiles
|
|
4903
|
-
*/
|
|
4904
|
-
bottomComponent?: BottomComponent;
|
|
4905
|
-
/**
|
|
4906
|
-
* Setting for decided whether to show description instead of title in the tiles
|
|
4907
|
-
*/
|
|
4908
|
-
showDescriptionAsTitle?: boolean;
|
|
4909
|
-
/**
|
|
4910
|
-
* Setting for decided whether to hide title in the tiles/banners
|
|
4911
|
-
*/
|
|
4912
|
-
hideTitle?: boolean;
|
|
4913
|
-
/**
|
|
4914
|
-
* Link to external URL
|
|
4915
|
-
*/
|
|
4916
|
-
externalUrl?: string;
|
|
4917
|
-
/**
|
|
4918
|
-
* Title of Play button
|
|
4919
|
-
*/
|
|
4920
|
-
playButtonTitle?: Translation;
|
|
4921
|
-
};
|
|
5538
|
+
/**
|
|
5539
|
+
* Row in screen - can be either static or dynamic
|
|
5540
|
+
*/
|
|
5541
|
+
export declare type RowInScreen = StaticRowInScreen | DynamicRowInScreen;
|
|
4922
5542
|
|
|
4923
5543
|
/**
|
|
4924
5544
|
* @public
|
|
@@ -4931,6 +5551,7 @@ export declare interface RowItem extends RowItemAssets {
|
|
|
4931
5551
|
assets: AssetsField | null;
|
|
4932
5552
|
application: RowItemApplicationData | null;
|
|
4933
5553
|
feedVisible?: boolean;
|
|
5554
|
+
tileProps?: TileProps;
|
|
4934
5555
|
}
|
|
4935
5556
|
|
|
4936
5557
|
/**
|
|
@@ -4968,7 +5589,11 @@ export declare enum RowItemComponent {
|
|
|
4968
5589
|
ROW_ITEM_CREATORS_LANDSCAPE = "ROW_ITEM_CREATORS_LANDSCAPE",
|
|
4969
5590
|
ROW_ITEM_CIRCLED = "ROW_ITEM_CIRCLED",
|
|
4970
5591
|
ROW_ITEM_HIGHLIGHTED = "ROW_ITEM_HIGHLIGHTED",
|
|
4971
|
-
ROW_ITEM_PLAIN = "ROW_ITEM_PLAIN"
|
|
5592
|
+
ROW_ITEM_PLAIN = "ROW_ITEM_PLAIN",
|
|
5593
|
+
SIDE_BANNER = "SIDE_BANNER",
|
|
5594
|
+
ROW_ITEM_FEATURED = "ROW_ITEM_FEATURED",
|
|
5595
|
+
CATEGORY_GRID = "CATEGORY_GRID",
|
|
5596
|
+
HERO_BANNER = "HERO_BANNER"
|
|
4972
5597
|
}
|
|
4973
5598
|
|
|
4974
5599
|
/**
|
|
@@ -4985,6 +5610,16 @@ export declare type RowItemsSubscription = (rowId: string, cb: (error: Error | n
|
|
|
4985
5610
|
hasNextPage: boolean;
|
|
4986
5611
|
} | null, fetchMore: null | ((count?: number) => void), isLoading: boolean) => void, limit?: number) => Disposer_2;
|
|
4987
5612
|
|
|
5613
|
+
/**
|
|
5614
|
+
* @public
|
|
5615
|
+
*/
|
|
5616
|
+
export declare interface RowMonetizationData {
|
|
5617
|
+
id: string;
|
|
5618
|
+
path: string;
|
|
5619
|
+
placementType: 'channel' | 'tvChannel' | 'condition' | 'video' | 'section' | 'row';
|
|
5620
|
+
type: MonetizationType;
|
|
5621
|
+
}
|
|
5622
|
+
|
|
4988
5623
|
/**
|
|
4989
5624
|
* RowOrderByFieldPath that is used in @tivio/firebase needs to be retyped here.
|
|
4990
5625
|
* @public
|
|
@@ -4997,7 +5632,7 @@ export declare enum RowOrderByFieldPath {
|
|
|
4997
5632
|
/**
|
|
4998
5633
|
* @public
|
|
4999
5634
|
*/
|
|
5000
|
-
export declare interface RowStandard extends
|
|
5635
|
+
export declare interface RowStandard extends DynamicRow {
|
|
5001
5636
|
rowComponent: RowComponent.ROW;
|
|
5002
5637
|
itemComponent: RowItemComponent;
|
|
5003
5638
|
}
|
|
@@ -5036,7 +5671,7 @@ declare type SceneMetadata<TType extends InteractiveWidgetSceneTemplateType> = T
|
|
|
5036
5671
|
} : TType extends InteractiveWidgetSceneTemplateType.LEADERBOARD ? {
|
|
5037
5672
|
highlightedPlayers: LeaderboardPlayer[];
|
|
5038
5673
|
topPlayers: LeaderboardPlayer[];
|
|
5039
|
-
stats?:
|
|
5674
|
+
stats?: InteractiveWidgetGroupStats;
|
|
5040
5675
|
} : TType extends InteractiveWidgetSceneTemplateType.QR_CODE ? Record<Extract<SceneMetadataKeys[TType], string>, string> : TType extends InteractiveWidgetSceneTemplateType.AD_BANNER ? Record<Extract<SceneMetadataKeys[TType], string>, string> : TType extends InteractiveWidgetSceneTemplateType.PLAYERS ? Record<Extract<SceneMetadataKeys[TType], string>, string> : object;
|
|
5041
5676
|
|
|
5042
5677
|
export declare interface SceneMetadataKeys {
|
|
@@ -5110,6 +5745,11 @@ declare interface Screen_2 {
|
|
|
5110
5745
|
hasNextPage: boolean;
|
|
5111
5746
|
refetchIfNeeded: () => Promise<void>;
|
|
5112
5747
|
allowOrganizationBanner?: boolean;
|
|
5748
|
+
/**
|
|
5749
|
+
* Path to content (e.g., "videos/ID" or "tvChannels/ID").
|
|
5750
|
+
* Used for PLAYER screen type to specify which content to play.
|
|
5751
|
+
*/
|
|
5752
|
+
contentPath?: string;
|
|
5113
5753
|
}
|
|
5114
5754
|
export { Screen_2 as Screen }
|
|
5115
5755
|
|
|
@@ -5141,7 +5781,7 @@ export declare type ScreenConfig = {
|
|
|
5141
5781
|
/**
|
|
5142
5782
|
* @public
|
|
5143
5783
|
*/
|
|
5144
|
-
export declare type ScreenRowType = 'filter' | 'custom' | 'continueToWatch' | 'favourites' | 'topWatched' | 'applications';
|
|
5784
|
+
export declare type ScreenRowType = 'filter' | 'custom' | 'continueToWatch' | 'favourites' | 'topWatched' | 'applications' | 'static';
|
|
5145
5785
|
|
|
5146
5786
|
/**
|
|
5147
5787
|
* Listen to screen data
|
|
@@ -5158,7 +5798,9 @@ export declare enum ScreenType {
|
|
|
5158
5798
|
EMBED = "embed",
|
|
5159
5799
|
RECOMMENDATION = "recommendation",
|
|
5160
5800
|
FEED = "feed",
|
|
5161
|
-
EPG = "epg"
|
|
5801
|
+
EPG = "epg",
|
|
5802
|
+
LANDING = "landing",
|
|
5803
|
+
PLAYER = "player"
|
|
5162
5804
|
}
|
|
5163
5805
|
|
|
5164
5806
|
/**
|
|
@@ -5183,12 +5825,11 @@ export declare type SdkReactConfig = Omit<TivioConfig, 'language'> & {
|
|
|
5183
5825
|
};
|
|
5184
5826
|
|
|
5185
5827
|
/**
|
|
5186
|
-
*
|
|
5828
|
+
* Narrows away `InternalInteractiveWidgetMethods` from any concrete widget
|
|
5829
|
+
* type. Distributes over discriminated unions so `SDKWidget<InteractiveWidget>`
|
|
5830
|
+
* stays a union of `SDKWidget<QuizWidget> | SDKWidget<PollWidget>`.
|
|
5187
5831
|
*/
|
|
5188
|
-
export declare
|
|
5189
|
-
onGoToLogin?: () => void;
|
|
5190
|
-
onGoToRegistration?: () => void;
|
|
5191
|
-
}
|
|
5832
|
+
export declare type SDKWidget<T> = T extends unknown ? Omit<T, InternalInteractiveWidgetMethods> : never;
|
|
5192
5833
|
|
|
5193
5834
|
/**
|
|
5194
5835
|
* @public
|
|
@@ -5404,7 +6045,22 @@ export declare const showGdprConsentPreferences: () => Promise<void>;
|
|
|
5404
6045
|
/**
|
|
5405
6046
|
* @public
|
|
5406
6047
|
*/
|
|
5407
|
-
export declare
|
|
6048
|
+
export declare interface SideBannerProps {
|
|
6049
|
+
title: string;
|
|
6050
|
+
description: string;
|
|
6051
|
+
cover: string;
|
|
6052
|
+
backgroundColor?: string;
|
|
6053
|
+
buttonText?: string;
|
|
6054
|
+
onButtonClick?: () => void;
|
|
6055
|
+
buttonHref?: string;
|
|
6056
|
+
imagePosition?: 'left' | 'right';
|
|
6057
|
+
textBackgroundColor?: string;
|
|
6058
|
+
}
|
|
6059
|
+
|
|
6060
|
+
/**
|
|
6061
|
+
* @public
|
|
6062
|
+
*/
|
|
6063
|
+
export declare type SignInProvider = 'google' | 'patreon' | 'apple' | 'facebook';
|
|
5408
6064
|
|
|
5409
6065
|
/**
|
|
5410
6066
|
* Simplified VideoController interface for external rendering
|
|
@@ -5493,27 +6149,6 @@ export declare interface SimplifiedVideoController {
|
|
|
5493
6149
|
muted: boolean;
|
|
5494
6150
|
volume: number;
|
|
5495
6151
|
}) => void): void;
|
|
5496
|
-
/**
|
|
5497
|
-
* Add an event listener for ad started events
|
|
5498
|
-
* @param event - Must be 'ad-started'
|
|
5499
|
-
* @param callback - Function called when an ad starts playing
|
|
5500
|
-
*/
|
|
5501
|
-
addEventListener(event: 'ad-started', callback: (adMetadata: AdMetadata & {
|
|
5502
|
-
customAdMetadata?: Record<string, unknown> | null;
|
|
5503
|
-
ctaElement: HTMLElement | null;
|
|
5504
|
-
}) => void): void;
|
|
5505
|
-
/**
|
|
5506
|
-
* Add an event listener for ad ended events
|
|
5507
|
-
* @param event - Must be 'ad-ended'
|
|
5508
|
-
* @param callback - Function called when an ad finishes playing
|
|
5509
|
-
*/
|
|
5510
|
-
addEventListener(event: 'ad-ended', callback: () => void): void;
|
|
5511
|
-
/**
|
|
5512
|
-
* Add an event listener for companion ads events
|
|
5513
|
-
* @param event - Must be 'companion-ads'
|
|
5514
|
-
* @param callback - Function called when companion ads are available
|
|
5515
|
-
*/
|
|
5516
|
-
addEventListener(event: 'companion-ads', callback: (companionAds: CompanionAd[]) => void): void;
|
|
5517
6152
|
/**
|
|
5518
6153
|
* Remove an event listener
|
|
5519
6154
|
* @param event - The event name to stop listening for
|
|
@@ -5525,19 +6160,6 @@ export declare interface SimplifiedVideoController {
|
|
|
5525
6160
|
* @param source - The new source to load (can be a video path, channel path, or source parameters)
|
|
5526
6161
|
*/
|
|
5527
6162
|
setSource(source: WebPlayerProps['source']): void;
|
|
5528
|
-
setAdsConfig(adsConfig: StaticAdsBreak[]): void;
|
|
5529
|
-
/**
|
|
5530
|
-
* Toggle the minimal OSD mode.
|
|
5531
|
-
*
|
|
5532
|
-
* When enabled, the player shows only a minimal set of controls (play/pause,
|
|
5533
|
-
* volume and fullscreen) and a small center play/pause icon that briefly
|
|
5534
|
-
* flashes when the state changes. Intended for small/pinned containers such
|
|
5535
|
-
* as a scroll-fixed mini player in the corner of the page or a full-width
|
|
5536
|
-
* mobile player pinned to the top of the viewport.
|
|
5537
|
-
*
|
|
5538
|
-
* @param isMinimal - Whether the minimal OSD should be used
|
|
5539
|
-
*/
|
|
5540
|
-
setIsMinimal(isMinimal: boolean): void;
|
|
5541
6163
|
/**
|
|
5542
6164
|
* Destroy the player and clean up all resources
|
|
5543
6165
|
*/
|
|
@@ -5610,6 +6232,14 @@ export declare enum SourceType {
|
|
|
5610
6232
|
VOD_EXTERNAL = "vod_external"
|
|
5611
6233
|
}
|
|
5612
6234
|
|
|
6235
|
+
export declare interface SplitLayoutItem {
|
|
6236
|
+
asset: ScalableAsset;
|
|
6237
|
+
name: Translation;
|
|
6238
|
+
description?: Translation;
|
|
6239
|
+
}
|
|
6240
|
+
|
|
6241
|
+
export declare type SplitLayoutSpecificData = SplitLayoutItem;
|
|
6242
|
+
|
|
5613
6243
|
/**
|
|
5614
6244
|
* External information of video from SportyTv EPG import
|
|
5615
6245
|
* @public
|
|
@@ -5657,24 +6287,230 @@ export declare interface StartLiveStreamResponse {
|
|
|
5657
6287
|
error?: string;
|
|
5658
6288
|
}
|
|
5659
6289
|
|
|
5660
|
-
|
|
6290
|
+
/**
|
|
6291
|
+
* Row components available for static rows (BENEFITS, FAQ, etc.)
|
|
6292
|
+
* Matches the rowComponent constraint in StaticRow type definition
|
|
6293
|
+
* @public
|
|
6294
|
+
*/
|
|
6295
|
+
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];
|
|
6296
|
+
|
|
6297
|
+
/**
|
|
6298
|
+
* Static row (e.g. benefits, reviews, FAQ) - doesn't have itemComponent or dynamic fields
|
|
6299
|
+
* Uses special row components like BENEFITS, REVIEWS, FAQ, etc.
|
|
6300
|
+
* @public
|
|
6301
|
+
*/
|
|
6302
|
+
export declare type StaticRow = StaticRowBenefits | StaticRowReviews | StaticRowNumbers | StaticRowSplitLayout | StaticRowFaq | StaticRowPresentBanner | StaticRowExplore | StaticRowCtaBanner | StaticRowWithoutCustomItems;
|
|
6303
|
+
|
|
6304
|
+
/**
|
|
6305
|
+
* Benefits row
|
|
6306
|
+
* @public
|
|
6307
|
+
*/
|
|
6308
|
+
export declare interface StaticRowBenefits extends BaseRow {
|
|
6309
|
+
type: 'static';
|
|
6310
|
+
rowComponent: RowComponent.BENEFITS;
|
|
6311
|
+
customItems: BenefitTileSpecificData;
|
|
6312
|
+
screenRef?: string;
|
|
6313
|
+
videoRef?: string;
|
|
6314
|
+
buttons?: RowButton[];
|
|
6315
|
+
}
|
|
6316
|
+
|
|
6317
|
+
/**
|
|
6318
|
+
* CTA Banner row
|
|
6319
|
+
* @public
|
|
6320
|
+
*/
|
|
6321
|
+
export declare interface StaticRowCtaBanner extends BaseRow {
|
|
6322
|
+
type: 'static';
|
|
6323
|
+
rowComponent: RowComponent.CTA_BANNER;
|
|
6324
|
+
customItems: CtaBannerExtendRowData;
|
|
6325
|
+
screenRef?: string;
|
|
6326
|
+
videoRef?: string;
|
|
6327
|
+
variant?: 'light' | 'dark' | 'default' | 'large';
|
|
6328
|
+
heading?: Translation;
|
|
6329
|
+
subtitle?: {
|
|
6330
|
+
text: Translation;
|
|
6331
|
+
showIcon?: boolean;
|
|
6332
|
+
};
|
|
6333
|
+
button?: {
|
|
6334
|
+
href: string;
|
|
6335
|
+
text: Translation;
|
|
6336
|
+
};
|
|
6337
|
+
}
|
|
6338
|
+
|
|
6339
|
+
/**
|
|
6340
|
+
* Explore row
|
|
6341
|
+
* @public
|
|
6342
|
+
*/
|
|
6343
|
+
export declare interface StaticRowExplore extends BaseRow {
|
|
6344
|
+
type: 'static';
|
|
6345
|
+
rowComponent: RowComponent.EXPLORE;
|
|
6346
|
+
customItems: ExploreTileSpecificData;
|
|
6347
|
+
screenRef?: string;
|
|
6348
|
+
videoRef?: string;
|
|
6349
|
+
}
|
|
6350
|
+
|
|
6351
|
+
/**
|
|
6352
|
+
* FAQ row
|
|
6353
|
+
* @public
|
|
6354
|
+
*/
|
|
6355
|
+
export declare interface StaticRowFaq extends BaseRow {
|
|
6356
|
+
type: 'static';
|
|
6357
|
+
rowComponent: RowComponent.FAQ;
|
|
6358
|
+
customItems: FaqTileSpecificData;
|
|
6359
|
+
screenRef?: string;
|
|
6360
|
+
videoRef?: string;
|
|
6361
|
+
email?: string;
|
|
6362
|
+
}
|
|
6363
|
+
|
|
6364
|
+
/**
|
|
6365
|
+
* Static row type - discriminated union by rowComponent
|
|
6366
|
+
*/
|
|
6367
|
+
export declare type StaticRowInScreen = StaticRowInScreenCtaBanner | StaticRowInScreenPresentBanner | StaticRowInScreenVideoBanner | StaticRowInScreenHomepageBanner | StaticRowInScreenFaq | StaticRowInScreenBenefits | StaticRowInScreenWithTiles;
|
|
6368
|
+
|
|
6369
|
+
/**
|
|
6370
|
+
* Benefits static row - has tiles + buttons
|
|
6371
|
+
*/
|
|
6372
|
+
declare type StaticRowInScreenBenefits = BaseStaticRowInScreen & {
|
|
6373
|
+
rowComponent: RowComponent.BENEFITS;
|
|
6374
|
+
buttons?: RowButton[];
|
|
6375
|
+
tiles: PaginatedResponse<TileData<'static'>, 'rowId'>;
|
|
6376
|
+
};
|
|
6377
|
+
|
|
6378
|
+
/**
|
|
6379
|
+
* CTA Banner static row - data flatten to row level (no tiles)
|
|
6380
|
+
*/
|
|
6381
|
+
declare type StaticRowInScreenCtaBanner = BaseStaticRowInScreen & {
|
|
6382
|
+
rowComponent: RowComponent.CTA_BANNER;
|
|
6383
|
+
} & CtaBannerExtendRowData;
|
|
6384
|
+
|
|
6385
|
+
/**
|
|
6386
|
+
* FAQ static row - has description and email fields specific to FAQ
|
|
6387
|
+
*/
|
|
6388
|
+
declare type StaticRowInScreenFaq = BaseStaticRowInScreen & {
|
|
6389
|
+
rowComponent: RowComponent.FAQ;
|
|
6390
|
+
description?: Translation;
|
|
6391
|
+
email?: string;
|
|
6392
|
+
tiles: PaginatedResponse<TileData<'static'>, 'rowId'>;
|
|
6393
|
+
};
|
|
6394
|
+
|
|
6395
|
+
/**
|
|
6396
|
+
* Homepage Banner static row - multiline banner for homepage (no tiles)
|
|
6397
|
+
*/
|
|
6398
|
+
declare type StaticRowInScreenHomepageBanner = BaseStaticRowInScreen & {
|
|
6399
|
+
rowComponent: RowComponent.HOMEPAGE_BANNER;
|
|
6400
|
+
} & HomepageBannerExtendRowData;
|
|
6401
|
+
|
|
6402
|
+
/**
|
|
6403
|
+
* Present Banner static row - organization fields + videoPath flatten to row level (no tiles)
|
|
6404
|
+
*/
|
|
6405
|
+
declare type StaticRowInScreenPresentBanner = BaseStaticRowInScreen & {
|
|
6406
|
+
rowComponent: RowComponent.PRESENT_BANNER;
|
|
6407
|
+
videoPath?: string;
|
|
6408
|
+
} & Omit<PresentBannerExtendRowData, 'name' | 'description'>;
|
|
6409
|
+
|
|
6410
|
+
/**
|
|
6411
|
+
* Video Banner static row - videoPath flatten to row level (no tiles)
|
|
6412
|
+
*/
|
|
6413
|
+
declare type StaticRowInScreenVideoBanner = BaseStaticRowInScreen & {
|
|
6414
|
+
rowComponent: RowComponent.VIDEO_BANNER;
|
|
6415
|
+
videoPath?: string;
|
|
6416
|
+
};
|
|
6417
|
+
|
|
6418
|
+
/**
|
|
6419
|
+
* Static rows with tiles (NUMBERS, EXPLORE, etc.)
|
|
6420
|
+
*/
|
|
6421
|
+
declare type StaticRowInScreenWithTiles = BaseStaticRowInScreen & {
|
|
6422
|
+
rowComponent: Exclude<RowComponent, RowComponent.CTA_BANNER | RowComponent.PRESENT_BANNER | RowComponent.VIDEO_BANNER | RowComponent.HOMEPAGE_BANNER | RowComponent.FAQ | RowComponent.BENEFITS>;
|
|
6423
|
+
tiles: PaginatedResponse<TileData<'static'>, 'rowId'>;
|
|
6424
|
+
};
|
|
6425
|
+
|
|
6426
|
+
/**
|
|
6427
|
+
* Numbers row
|
|
6428
|
+
* @public
|
|
6429
|
+
*/
|
|
6430
|
+
export declare interface StaticRowNumbers extends BaseRow {
|
|
6431
|
+
type: 'static';
|
|
6432
|
+
rowComponent: RowComponent.NUMBERS;
|
|
6433
|
+
customItems: NumbersTileSpecificData;
|
|
6434
|
+
screenRef?: string;
|
|
6435
|
+
videoRef?: string;
|
|
6436
|
+
variant?: 'default' | 'large';
|
|
6437
|
+
}
|
|
6438
|
+
|
|
6439
|
+
/**
|
|
6440
|
+
* Present banner row
|
|
6441
|
+
* @public
|
|
6442
|
+
*/
|
|
6443
|
+
export declare interface StaticRowPresentBanner extends BaseRow {
|
|
6444
|
+
type: 'static';
|
|
6445
|
+
rowComponent: RowComponent.PRESENT_BANNER;
|
|
6446
|
+
customItems: PresentBannerExtendRowData;
|
|
6447
|
+
screenRef?: string;
|
|
6448
|
+
videoRef?: string;
|
|
6449
|
+
subname?: Translation;
|
|
6450
|
+
avatars?: ScalableAsset[];
|
|
6451
|
+
avatarsText?: Translation;
|
|
6452
|
+
asset?: ScalableAsset;
|
|
6453
|
+
videoPath?: string;
|
|
6454
|
+
buttons?: RowButton[];
|
|
6455
|
+
}
|
|
6456
|
+
|
|
6457
|
+
/**
|
|
6458
|
+
* Reviews row
|
|
6459
|
+
* @public
|
|
6460
|
+
*/
|
|
6461
|
+
export declare interface StaticRowReviews extends BaseRow {
|
|
6462
|
+
type: 'static';
|
|
6463
|
+
rowComponent: RowComponent.REVIEWS;
|
|
6464
|
+
customItems: ReviewTileSpecificData;
|
|
6465
|
+
screenRef?: string;
|
|
6466
|
+
videoRef?: string;
|
|
6467
|
+
}
|
|
5661
6468
|
|
|
5662
|
-
|
|
5663
|
-
|
|
5664
|
-
|
|
5665
|
-
|
|
6469
|
+
/**
|
|
6470
|
+
* Split layout row
|
|
6471
|
+
* @public
|
|
6472
|
+
*/
|
|
6473
|
+
export declare interface StaticRowSplitLayout extends BaseRow {
|
|
6474
|
+
type: 'static';
|
|
6475
|
+
rowComponent: RowComponent.SPLIT_LAYOUT;
|
|
6476
|
+
customItems: SplitLayoutSpecificData;
|
|
6477
|
+
screenRef?: string;
|
|
6478
|
+
videoRef?: string;
|
|
5666
6479
|
}
|
|
5667
6480
|
|
|
5668
|
-
|
|
5669
|
-
|
|
5670
|
-
|
|
6481
|
+
/**
|
|
6482
|
+
* Static row without customItems (video banner, media accordion, monetization banner, background banner)
|
|
6483
|
+
* @public
|
|
6484
|
+
*/
|
|
6485
|
+
export declare interface StaticRowWithoutCustomItems extends BaseRow {
|
|
6486
|
+
type: 'static';
|
|
6487
|
+
rowComponent: RowComponent.VIDEO_BANNER | RowComponent.MEDIA_ACCORDEON | RowComponent.MONETIZATION_BANNER | RowComponent.BACKGROUND_BANNER | RowComponent.PARTNER_LOGOS;
|
|
6488
|
+
screenRef?: string;
|
|
6489
|
+
videoRef?: string;
|
|
6490
|
+
videoPath?: string;
|
|
5671
6491
|
}
|
|
5672
6492
|
|
|
5673
|
-
|
|
5674
|
-
|
|
5675
|
-
|
|
6493
|
+
/**
|
|
6494
|
+
* Tile data for static rows with itemSpecificData (BENEFITS, FAQ, NUMBERS, SPLIT_LAYOUT, REVIEWS, EXPLORE).
|
|
6495
|
+
* @public
|
|
6496
|
+
*/
|
|
6497
|
+
export declare interface StaticTileData<ItemSpecificData extends StaticTileItemSpecificData = StaticTileItemSpecificData> {
|
|
6498
|
+
/**
|
|
6499
|
+
* Specific data for an item type (e.g. benefit, faq, numbers, split layout, etc.).
|
|
6500
|
+
*/
|
|
6501
|
+
itemSpecificData: ItemSpecificData;
|
|
5676
6502
|
}
|
|
5677
6503
|
|
|
6504
|
+
/**
|
|
6505
|
+
* Type for itemSpecificData in API tile responses.
|
|
6506
|
+
* Excludes types that don't use itemSpecificData in tiles:
|
|
6507
|
+
* - MediaAccordeonTileSpecificData: MEDIA_ACCORDEON only uses path/id/name fields
|
|
6508
|
+
* - PresentBannerExtendRowData: PRESENT_BANNER data is flatten to row level (no tiles)
|
|
6509
|
+
* - CtaBannerExtendRowData: CTA_BANNER data is flatten to row level (no tiles)
|
|
6510
|
+
* @public
|
|
6511
|
+
*/
|
|
6512
|
+
export declare type StaticTileItemSpecificData = BenefitTileSpecificData | ReviewTileSpecificData | NumbersTileSpecificData | SplitLayoutSpecificData | FaqTileSpecificData | ExploreTileSpecificData | MediaAccordeonTileSpecificData;
|
|
6513
|
+
|
|
5678
6514
|
/**
|
|
5679
6515
|
* @public
|
|
5680
6516
|
*/
|
|
@@ -5689,6 +6525,15 @@ export declare interface StoreBadgeConfig {
|
|
|
5689
6525
|
appId: string;
|
|
5690
6526
|
}
|
|
5691
6527
|
|
|
6528
|
+
/**
|
|
6529
|
+
* @public
|
|
6530
|
+
* Streaming profile for buffer configuration.
|
|
6531
|
+
* - 'low': Minimal buffering for fastest camera switches (bufferingGoal: 3s)
|
|
6532
|
+
* - 'medium': Balanced buffering (bufferingGoal: 5s) - default
|
|
6533
|
+
* - 'high': Maximum buffering for stable playback (bufferingGoal: 15s)
|
|
6534
|
+
*/
|
|
6535
|
+
export declare type StreamingProfile = 'low' | 'medium' | 'high';
|
|
6536
|
+
|
|
5692
6537
|
export declare interface SubmitAnswerRequest {
|
|
5693
6538
|
answerOptionId?: string;
|
|
5694
6539
|
answerText?: string;
|
|
@@ -5757,6 +6602,25 @@ declare interface SubscriptionInfo {
|
|
|
5757
6602
|
frequency: string;
|
|
5758
6603
|
}
|
|
5759
6604
|
|
|
6605
|
+
/**
|
|
6606
|
+
* Extended language codes for subtitle tracks.
|
|
6607
|
+
* Includes all LangCode values plus additional languages only needed for subtitles.
|
|
6608
|
+
* @public
|
|
6609
|
+
*/
|
|
6610
|
+
export declare type SubtitleLangCode = LangCode | 'uk' | 'zh';
|
|
6611
|
+
|
|
6612
|
+
/**
|
|
6613
|
+
* Mapping of subtitle language codes to their English names.
|
|
6614
|
+
* @public
|
|
6615
|
+
*/
|
|
6616
|
+
export declare const SubtitleLangCodeToTitle: Record<SubtitleLangCode, string>;
|
|
6617
|
+
|
|
6618
|
+
/**
|
|
6619
|
+
* All subtitle language codes including extra languages not in LangCode.
|
|
6620
|
+
* @public
|
|
6621
|
+
*/
|
|
6622
|
+
export declare const subtitleLanguages: SubtitleLangCode[];
|
|
6623
|
+
|
|
5760
6624
|
/**
|
|
5761
6625
|
* @public
|
|
5762
6626
|
*/
|
|
@@ -5797,8 +6661,8 @@ export declare interface Tag extends RowItem {
|
|
|
5797
6661
|
detailBanner?: string;
|
|
5798
6662
|
availableSeasons?: AvailableSeason[];
|
|
5799
6663
|
isFavorite: boolean;
|
|
5800
|
-
addToFavorites: () =>
|
|
5801
|
-
removeFromFavorites: () =>
|
|
6664
|
+
addToFavorites: () => void;
|
|
6665
|
+
removeFromFavorites: () => void;
|
|
5802
6666
|
cover: string;
|
|
5803
6667
|
getApplicationName: () => string | undefined;
|
|
5804
6668
|
seriesRef?: DocumentReference<any>;
|
|
@@ -5911,48 +6775,10 @@ export declare interface TileApplicationData {
|
|
|
5911
6775
|
isMainApplication?: boolean;
|
|
5912
6776
|
}
|
|
5913
6777
|
|
|
5914
|
-
export declare interface TileData<ItemSpecificData = VideoTileSpecificData | TvChannelTileSpecificData | TagTileSpecificData | ArticleTileSpecificData | SeriesTileSpecificData> {
|
|
5915
|
-
/**
|
|
5916
|
-
* Tile item ID.
|
|
5917
|
-
*/
|
|
5918
|
-
id: string;
|
|
5919
|
-
/**
|
|
5920
|
-
* Timestamp of the item creation.
|
|
5921
|
-
*/
|
|
5922
|
-
created: number;
|
|
5923
|
-
/**
|
|
5924
|
-
* Type of the tile. VIDEO, TV_CHANNEL, TAG, ...
|
|
5925
|
-
*/
|
|
5926
|
-
itemType: ROW_ITEM_TYPES;
|
|
5927
|
-
/**
|
|
5928
|
-
* Tile item name translation.
|
|
5929
|
-
*/
|
|
5930
|
-
name: Translation;
|
|
5931
|
-
/**
|
|
5932
|
-
* Firestore path to the item.
|
|
5933
|
-
*/
|
|
5934
|
-
path: string;
|
|
5935
|
-
/**
|
|
5936
|
-
* Application info including logo, name and number of videos.
|
|
5937
|
-
*/
|
|
5938
|
-
application?: TileApplicationData;
|
|
5939
|
-
/**
|
|
5940
|
-
* Specific data for an item type (e.g. video, tv channel, tag, ...).
|
|
5941
|
-
*/
|
|
5942
|
-
itemSpecificData: ItemSpecificData;
|
|
5943
|
-
}
|
|
5944
|
-
|
|
5945
|
-
export declare interface TileMonetizationData {
|
|
5946
|
-
id: string;
|
|
5947
|
-
path: string;
|
|
5948
|
-
placementType: 'channel' | 'tvChannel' | 'condition' | 'video' | 'section' | 'row';
|
|
5949
|
-
type: MonetizationType;
|
|
5950
|
-
}
|
|
5951
|
-
|
|
5952
6778
|
/**
|
|
5953
6779
|
* @public
|
|
5954
6780
|
*/
|
|
5955
|
-
export declare interface
|
|
6781
|
+
export declare interface TileComponentProps {
|
|
5956
6782
|
children?: React_2.ReactNode;
|
|
5957
6783
|
cover?: string;
|
|
5958
6784
|
bottomLabel: string;
|
|
@@ -5994,12 +6820,49 @@ export declare interface TileProps {
|
|
|
5994
6820
|
itemType?: ROW_ITEM_TYPES;
|
|
5995
6821
|
description?: string;
|
|
5996
6822
|
showDescriptionAsTitle?: boolean;
|
|
6823
|
+
isSeries?: boolean;
|
|
6824
|
+
episodeCount?: number;
|
|
6825
|
+
/**
|
|
6826
|
+
* Optional label to display in the top-right corner of the tile (e.g., "Exclusive").
|
|
6827
|
+
* Label text (already resolved for the current language).
|
|
6828
|
+
*/
|
|
6829
|
+
topLabel?: string;
|
|
6830
|
+
/**
|
|
6831
|
+
* CSS color for the topLabel background. Defaults to white.
|
|
6832
|
+
*/
|
|
6833
|
+
topLabelColor?: string;
|
|
6834
|
+
}
|
|
6835
|
+
|
|
6836
|
+
export declare type TileData<T extends ScreenRowType = ScreenRowType> = T extends 'static' ? StaticTileData : DocumentTileData;
|
|
6837
|
+
|
|
6838
|
+
export declare interface TileMonetizationData {
|
|
6839
|
+
id: string;
|
|
6840
|
+
path: string;
|
|
6841
|
+
placementType: 'channel' | 'tvChannel' | 'condition' | 'video' | 'section' | 'row';
|
|
6842
|
+
type: MonetizationType;
|
|
6843
|
+
}
|
|
6844
|
+
|
|
6845
|
+
/**
|
|
6846
|
+
* Additional properties that can be applied to tiles for visual customization
|
|
6847
|
+
* @public
|
|
6848
|
+
*/
|
|
6849
|
+
export declare interface TileProps {
|
|
6850
|
+
topRightLabel?: TileTopRightLabel;
|
|
5997
6851
|
}
|
|
5998
6852
|
|
|
5999
6853
|
/**
|
|
6000
6854
|
* @public
|
|
6001
6855
|
*/
|
|
6002
|
-
export declare type TilePropsPartial = Partial<
|
|
6856
|
+
export declare type TilePropsPartial = Partial<TileComponentProps>;
|
|
6857
|
+
|
|
6858
|
+
/**
|
|
6859
|
+
* Custom label to be displayed on a tile (e.g., "Exclusive" badge)
|
|
6860
|
+
* @public
|
|
6861
|
+
*/
|
|
6862
|
+
export declare interface TileTopRightLabel {
|
|
6863
|
+
text: string;
|
|
6864
|
+
color?: string;
|
|
6865
|
+
}
|
|
6003
6866
|
|
|
6004
6867
|
/**
|
|
6005
6868
|
* @public
|
|
@@ -6091,10 +6954,6 @@ export declare interface TivioComponents {
|
|
|
6091
6954
|
ContentSortPicker: React_2.ComponentType<ContentSortPickerProps>;
|
|
6092
6955
|
WebTivioProVideoScreen: React_2.ComponentType<WebTivioProVideoScreenProps>;
|
|
6093
6956
|
RemoteController: React_2.ComponentType<RemoteControllerProps>;
|
|
6094
|
-
MonetizationsSelectOverlay: React_2.ComponentType;
|
|
6095
|
-
MonetizationsSelectOverlayContextProvider: React_2.ComponentType<{
|
|
6096
|
-
children: React_2.ReactNode;
|
|
6097
|
-
}>;
|
|
6098
6957
|
}
|
|
6099
6958
|
|
|
6100
6959
|
/**
|
|
@@ -6131,7 +6990,10 @@ export declare interface TivioConfig {
|
|
|
6131
6990
|
* @deprecated this field is no longer in use and has no impact when set.
|
|
6132
6991
|
*/
|
|
6133
6992
|
firestore?: any | null;
|
|
6134
|
-
|
|
6993
|
+
/**
|
|
6994
|
+
* @deprecated currency should be determined by `currencies` field in organization document in database, do not rely on this field.
|
|
6995
|
+
*/
|
|
6996
|
+
currency?: Currency;
|
|
6135
6997
|
/**
|
|
6136
6998
|
* Represents an optional array of LanguageSelector objects.
|
|
6137
6999
|
* Used to define and manage a list of supported languages for different language-usages (user, content,...).
|
|
@@ -6261,6 +7123,22 @@ export declare type TivioHooks = {
|
|
|
6261
7123
|
};
|
|
6262
7124
|
useChannelSource: UseChannelSource;
|
|
6263
7125
|
useTvChannel: UseTvChannel;
|
|
7126
|
+
useInteractiveWidget: (widgetPath: string | undefined, isObs?: boolean) => {
|
|
7127
|
+
widget: SDKWidget<InteractiveWidget> | null;
|
|
7128
|
+
isLoading: boolean;
|
|
7129
|
+
error: Error | null;
|
|
7130
|
+
};
|
|
7131
|
+
useQuizWidget: (widgetPath: string | undefined, isObs?: boolean) => {
|
|
7132
|
+
widget: SDKWidget<QuizWidget> | null;
|
|
7133
|
+
isLoading: boolean;
|
|
7134
|
+
error: Error | null;
|
|
7135
|
+
};
|
|
7136
|
+
usePollWidget: (widgetPath: string | undefined, isObs?: boolean) => {
|
|
7137
|
+
widget: SDKWidget<PollWidget> | null;
|
|
7138
|
+
isLoading: boolean;
|
|
7139
|
+
error: Error | null;
|
|
7140
|
+
};
|
|
7141
|
+
useRemoteController: UseRemoteController;
|
|
6264
7142
|
};
|
|
6265
7143
|
|
|
6266
7144
|
/**
|
|
@@ -6290,6 +7168,10 @@ export declare type TivioInternalComponents = {
|
|
|
6290
7168
|
}>;
|
|
6291
7169
|
Banner: React_2.ComponentType<BannerPropsPartial>;
|
|
6292
7170
|
CustomAppHistoryContext: React_2.Context<HistoryContextData | undefined>;
|
|
7171
|
+
ScrollableSubscriptionList: React_2.ComponentType<{
|
|
7172
|
+
subscriptions: PurchasableMonetization[];
|
|
7173
|
+
renderSubscription: (subscription: PurchasableMonetization) => React_2.ReactNode;
|
|
7174
|
+
}>;
|
|
6293
7175
|
};
|
|
6294
7176
|
|
|
6295
7177
|
/**
|
|
@@ -6340,6 +7222,13 @@ export declare type TivioInternalHooks = {
|
|
|
6340
7222
|
error: Error | null;
|
|
6341
7223
|
loading: boolean;
|
|
6342
7224
|
});
|
|
7225
|
+
useScrollShadows: () => {
|
|
7226
|
+
scrollRef: React_2.RefObject<HTMLDivElement>;
|
|
7227
|
+
showLeftShadow: boolean;
|
|
7228
|
+
showRightShadow: boolean;
|
|
7229
|
+
shouldCenter: boolean;
|
|
7230
|
+
checkScrollShadows: () => void;
|
|
7231
|
+
};
|
|
6343
7232
|
useTvChannel: UseTvChannel;
|
|
6344
7233
|
useUser: () => {
|
|
6345
7234
|
user: User | null;
|
|
@@ -6367,9 +7256,7 @@ export declare type TivioInternalProviders = {
|
|
|
6367
7256
|
UserContextProvider: React_2.ComponentType<{
|
|
6368
7257
|
children?: React_2.ReactNode;
|
|
6369
7258
|
}>;
|
|
6370
|
-
MonetizationsSelectOverlayContextProvider: React_2.ComponentType
|
|
6371
|
-
children: React_2.ReactNode;
|
|
6372
|
-
}>;
|
|
7259
|
+
MonetizationsSelectOverlayContextProvider: React_2.ComponentType;
|
|
6373
7260
|
QerkoOverlayContextProvider: React_2.ComponentType;
|
|
6374
7261
|
/**
|
|
6375
7262
|
* @deprecated do not use, this provider will be removed in the future
|
|
@@ -6466,7 +7353,7 @@ export declare type TivioReactBundle = {
|
|
|
6466
7353
|
subscriptions: TivioSubscriptions;
|
|
6467
7354
|
purchaseVideoWithQerko: (videoId: string, monetizationId: string, voucher?: {
|
|
6468
7355
|
expirationDate: Date;
|
|
6469
|
-
}) => Promise<QerkoPaymentInfo>;
|
|
7356
|
+
}, email?: string) => Promise<QerkoPaymentInfo>;
|
|
6470
7357
|
purchaseSubscriptionWithQerko: (monetizationId: string, voucher?: {
|
|
6471
7358
|
expirationDate: Date;
|
|
6472
7359
|
}) => Promise<QerkoPaymentInfo>;
|
|
@@ -6479,8 +7366,6 @@ export declare type TivioReactBundle = {
|
|
|
6479
7366
|
*/
|
|
6480
7367
|
internal: TivioInternalBundle;
|
|
6481
7368
|
analytics: TivioAnalytics;
|
|
6482
|
-
addToFavoritesByPath: (path: string) => Promise<void>;
|
|
6483
|
-
removeFromFavoritesByPath: (path: string) => Promise<void>;
|
|
6484
7369
|
destroy: () => Promise<void>;
|
|
6485
7370
|
} & Pick<TivioSetters, 'setBundleVersion' | 'setUser' | 'setLanguage' | 'setStorageManager'> & Omit<Partial<TivioJsBundleExposedApi>, 'createPlayerWrapper'>;
|
|
6486
7371
|
|
|
@@ -6609,7 +7494,7 @@ export declare interface TvAppProps {
|
|
|
6609
7494
|
/**
|
|
6610
7495
|
* @public
|
|
6611
7496
|
*/
|
|
6612
|
-
export declare interface TvChannel extends RowItem
|
|
7497
|
+
export declare interface TvChannel extends RowItem {
|
|
6613
7498
|
id: string;
|
|
6614
7499
|
itemType: ROW_ITEM_TYPES.TV_CHANNEL;
|
|
6615
7500
|
name: string;
|
|
@@ -6620,11 +7505,17 @@ export declare interface TvChannel extends RowItem, MonetizableItem {
|
|
|
6620
7505
|
logoPendingOverlayWidth?: string;
|
|
6621
7506
|
hls: string;
|
|
6622
7507
|
dash: string;
|
|
7508
|
+
/**
|
|
7509
|
+
* Returns all transactions and subscriptions applied to this tv channel.
|
|
7510
|
+
* Transactions before subscriptions, sorted by price ascending.
|
|
7511
|
+
*/
|
|
7512
|
+
getPurchasableMonetizations(options?: GetPurchasableMonetizationsOptions): PurchasableMonetization[];
|
|
6623
7513
|
getSourceUrl(options?: {
|
|
6624
7514
|
language?: LangCode;
|
|
6625
7515
|
}): Promise<GetSourceUrlResponse & {
|
|
6626
7516
|
language?: LangCode;
|
|
6627
7517
|
}>;
|
|
7518
|
+
purchasableMonetization: any | null;
|
|
6628
7519
|
price: number;
|
|
6629
7520
|
cover: string;
|
|
6630
7521
|
isPlayable: boolean;
|
|
@@ -6654,7 +7545,12 @@ export declare enum TvChannelType {
|
|
|
6654
7545
|
/**
|
|
6655
7546
|
* "Virtual" tv channel constructed from separate videos
|
|
6656
7547
|
*/
|
|
6657
|
-
VIRTUAL = "VIRTUAL"
|
|
7548
|
+
VIRTUAL = "VIRTUAL",
|
|
7549
|
+
/**
|
|
7550
|
+
* Scheduled channel - has EPG like VIRTUAL (admin can edit schedule)
|
|
7551
|
+
* but streams like CLASSIC (calls getSourceUrl on the channel, not per-video).
|
|
7552
|
+
*/
|
|
7553
|
+
SCHEDULED = "SCHEDULED"
|
|
6658
7554
|
}
|
|
6659
7555
|
|
|
6660
7556
|
/**
|
|
@@ -6736,6 +7632,13 @@ export declare type UpdateNotificationSettingsRequest = {
|
|
|
6736
7632
|
|
|
6737
7633
|
export declare type UpdateNotificationSettingsResponse = Promise<boolean>;
|
|
6738
7634
|
|
|
7635
|
+
export declare type UpdateUserEmailPayload = {
|
|
7636
|
+
newEmail: string;
|
|
7637
|
+
password: string;
|
|
7638
|
+
name: string;
|
|
7639
|
+
token?: string;
|
|
7640
|
+
};
|
|
7641
|
+
|
|
6739
7642
|
export declare type UpsertCommentResponse = AddEditCommentResponse | DeleteCommentResponse;
|
|
6740
7643
|
|
|
6741
7644
|
export declare type UrlNamesType = {
|
|
@@ -6798,7 +7701,7 @@ export declare const useCancelSubscription: UseCancelSubscription;
|
|
|
6798
7701
|
* @public
|
|
6799
7702
|
*/
|
|
6800
7703
|
export declare interface UseCancelSubscriptionsResult {
|
|
6801
|
-
cancelSubscriptions: (subscriptionIds: string[]) => Promise<
|
|
7704
|
+
cancelSubscriptions: (subscriptionIds: string[]) => Promise<boolean>;
|
|
6802
7705
|
cancellationInfos: QerkoCancellationInfo[];
|
|
6803
7706
|
errors: string[];
|
|
6804
7707
|
}
|
|
@@ -6876,6 +7779,18 @@ export declare type UseEpisodesResult = {
|
|
|
6876
7779
|
hasMoreEpisodes: boolean;
|
|
6877
7780
|
};
|
|
6878
7781
|
|
|
7782
|
+
/**
|
|
7783
|
+
* Load the interactive widget at `widgetPath` via the remote Tivio bundle.
|
|
7784
|
+
* Returns the union widget (`QuizWidget | PollWidget`); narrow
|
|
7785
|
+
* on `widget.type` to access type-specific fields. Prefer `useQuizWidget` /
|
|
7786
|
+
* `usePollWidget` when you know the type up-front.
|
|
7787
|
+
*/
|
|
7788
|
+
export declare const useInteractiveWidget: (widgetPath: string | undefined, isObs?: boolean) => {
|
|
7789
|
+
widget: SDKWidget<InteractiveWidget> | null;
|
|
7790
|
+
isLoading: boolean;
|
|
7791
|
+
error: Error | null;
|
|
7792
|
+
};
|
|
7793
|
+
|
|
6879
7794
|
/**
|
|
6880
7795
|
* @public
|
|
6881
7796
|
*/
|
|
@@ -6968,6 +7883,12 @@ export declare const useOrganizationSubscriptions: (onlyPurchasableSubscriptions
|
|
|
6968
7883
|
subscriptions: PurchasableMonetization[];
|
|
6969
7884
|
};
|
|
6970
7885
|
|
|
7886
|
+
export declare const usePollWidget: (widgetPath: string | undefined, isObs?: boolean) => {
|
|
7887
|
+
widget: Omit<PollWidget<InteractiveWidgetScene>, InternalInteractiveWidgetMethods> | null;
|
|
7888
|
+
isLoading: boolean;
|
|
7889
|
+
error: Error | null;
|
|
7890
|
+
};
|
|
7891
|
+
|
|
6971
7892
|
/**
|
|
6972
7893
|
* Is used to mark purchase in recovery state as PAID.
|
|
6973
7894
|
*
|
|
@@ -6989,6 +7910,12 @@ export declare function usePurchaseRecovery(): {
|
|
|
6989
7910
|
*/
|
|
6990
7911
|
export declare const usePurchaseSubscription: (monetizationId: string, voucher?: NewVoucher) => QerkoTransaction;
|
|
6991
7912
|
|
|
7913
|
+
export declare const useQuizWidget: (widgetPath: string | undefined, isObs?: boolean) => {
|
|
7914
|
+
widget: Omit<QuizWidget<InteractiveWidgetScene>, InternalInteractiveWidgetMethods> | null;
|
|
7915
|
+
isLoading: boolean;
|
|
7916
|
+
error: Error | null;
|
|
7917
|
+
};
|
|
7918
|
+
|
|
6992
7919
|
/**
|
|
6993
7920
|
* @public
|
|
6994
7921
|
*/
|
|
@@ -7007,9 +7934,17 @@ export declare type User = {
|
|
|
7007
7934
|
* Returns all PAID or CANCELLED user purchases (expired and non-expired)
|
|
7008
7935
|
*/
|
|
7009
7936
|
allPurchases: Purchase[];
|
|
7937
|
+
/**
|
|
7938
|
+
* Returns all PAID or CANCELLED user purchases (expired and non-expired)
|
|
7939
|
+
*/
|
|
7940
|
+
pastPurchases: Purchase[];
|
|
7941
|
+
/**
|
|
7942
|
+
* IDs of available promotions (promotion document IDs).
|
|
7943
|
+
* Example: ['kaGHeCMcOCEF2OcaJCcr']
|
|
7944
|
+
*/
|
|
7010
7945
|
availablePromotionsIds: string[];
|
|
7011
7946
|
/**
|
|
7012
|
-
* Returns "active" (not CANCELLED) VoD purchases ("transaction" type)
|
|
7947
|
+
* Returns "active" (not CANCELLED) VoD purchases ("transaction" type")
|
|
7013
7948
|
*/
|
|
7014
7949
|
purchasedVods: Purchase[];
|
|
7015
7950
|
/**
|
|
@@ -7097,9 +8032,6 @@ export declare type User = {
|
|
|
7097
8032
|
getAllExtendableSubscriptions: () => Promise<Purchase[]>;
|
|
7098
8033
|
getRssValidToken: () => Promise<TokenInterface | undefined>;
|
|
7099
8034
|
getRssUrl: () => Promise<GetUserRssUrlResponse>;
|
|
7100
|
-
getFavorites: (options?: GetUserProfileDataOptions) => Promise<FavoriteWithData[]>;
|
|
7101
|
-
getWatchPositions: (options?: GetUserProfileDataOptions) => Promise<WatchPositionWithData[]>;
|
|
7102
|
-
getWatchHistory: (options?: GetUserProfileDataOptions) => Promise<WatchPositionWithData[]>;
|
|
7103
8035
|
invalidateAllTokens: (type: TokenType) => Promise<void>;
|
|
7104
8036
|
isPartiallyRegistered: boolean;
|
|
7105
8037
|
conversationStore: ConversationStore;
|
|
@@ -7125,6 +8057,58 @@ export declare interface UseReactionsOptions {
|
|
|
7125
8057
|
onError?: (error: Error) => void;
|
|
7126
8058
|
}
|
|
7127
8059
|
|
|
8060
|
+
/**
|
|
8061
|
+
* @public
|
|
8062
|
+
*/
|
|
8063
|
+
export declare type UseRemoteController = (options?: UseRemoteControllerOptions) => UseRemoteControllerResult;
|
|
8064
|
+
|
|
8065
|
+
export declare const useRemoteController: UseRemoteController;
|
|
8066
|
+
|
|
8067
|
+
/**
|
|
8068
|
+
* @public
|
|
8069
|
+
*/
|
|
8070
|
+
export declare interface UseRemoteControllerOptions {
|
|
8071
|
+
sessionId?: string;
|
|
8072
|
+
videoId?: string;
|
|
8073
|
+
}
|
|
8074
|
+
|
|
8075
|
+
/**
|
|
8076
|
+
* @public
|
|
8077
|
+
*/
|
|
8078
|
+
export declare type UseRemoteControllerPlaybackControlPayload = Pick<RemoteControlPlaybackControlPayload, 'playback' | 'activeVideoId'> & Partial<Pick<RemoteControlPlaybackControlPayload, 'sessionId' | 'videoId'>>;
|
|
8079
|
+
|
|
8080
|
+
/**
|
|
8081
|
+
* @public
|
|
8082
|
+
*/
|
|
8083
|
+
export declare type UseRemoteControllerPlayHighlightPayload = Pick<RemoteControlPlayHighlightPayload, 'activeVideoId' | 'replay'> & Partial<Pick<RemoteControlPlayHighlightPayload, 'sessionId' | 'videoId'>>;
|
|
8084
|
+
|
|
8085
|
+
/**
|
|
8086
|
+
* @public
|
|
8087
|
+
*/
|
|
8088
|
+
export declare interface UseRemoteControllerResult {
|
|
8089
|
+
session: UserStreamingSessionFieldInterface | null;
|
|
8090
|
+
sessionId: string | null;
|
|
8091
|
+
videoId: string | null;
|
|
8092
|
+
activeContentId: string | null;
|
|
8093
|
+
isInitialized: boolean;
|
|
8094
|
+
isSignedIn: boolean;
|
|
8095
|
+
isLoading: boolean;
|
|
8096
|
+
error: Error | null;
|
|
8097
|
+
resetError: () => void;
|
|
8098
|
+
pairDevice: (payload: RemoteControlPairPayload) => Promise<RemoteControlPairResponse>;
|
|
8099
|
+
unpairDevice: (payload?: Partial<RemoteControlUnpairPayload>) => Promise<boolean | string>;
|
|
8100
|
+
selectCamera: (payload: UseRemoteControllerSelectCameraPayload) => Promise<boolean | string>;
|
|
8101
|
+
playHighlight: (payload: UseRemoteControllerPlayHighlightPayload) => Promise<boolean | string>;
|
|
8102
|
+
playbackControl: (payload: UseRemoteControllerPlaybackControlPayload) => Promise<boolean | string>;
|
|
8103
|
+
getSourceUrl: (payload: RemoteControlGetSourceUrlPayload) => Promise<RemoteControlGenerateSourceResponse>;
|
|
8104
|
+
remoteControl: <TResponse = RemoteControlGenerateSourceResponse | boolean | string>(payload: RemoteControlRequest) => Promise<TResponse>;
|
|
8105
|
+
}
|
|
8106
|
+
|
|
8107
|
+
/**
|
|
8108
|
+
* @public
|
|
8109
|
+
*/
|
|
8110
|
+
export declare type UseRemoteControllerSelectCameraPayload = Pick<RemoteControlSelectCameraPayload, 'activeVideoId'> & Partial<Pick<RemoteControlSelectCameraPayload, 'sessionId' | 'videoId'>>;
|
|
8111
|
+
|
|
7128
8112
|
export declare enum UserGroup {
|
|
7129
8113
|
ALL = "all",
|
|
7130
8114
|
FREE = "free",
|
|
@@ -7145,7 +8129,7 @@ export declare interface UserNotificationSettings {
|
|
|
7145
8129
|
* @public
|
|
7146
8130
|
*/
|
|
7147
8131
|
export declare type UseRow = (rowId: string | null, organizationId?: string) => {
|
|
7148
|
-
row:
|
|
8132
|
+
row: BaseRow | null;
|
|
7149
8133
|
error: Error | null;
|
|
7150
8134
|
};
|
|
7151
8135
|
|
|
@@ -7387,7 +8371,6 @@ export declare enum VastProvider {
|
|
|
7387
8371
|
TEST = "test",
|
|
7388
8372
|
TEST_VPAID = "test-vpaid",
|
|
7389
8373
|
TIVIO_ADS = "tivio-ads",
|
|
7390
|
-
STATIC_ADS_PROVIDER = "static-ads-provider",
|
|
7391
8374
|
JOJ_TEST_AD_FORM_PROGRAMMATIC = "joj-test-ad-form-programmatic",
|
|
7392
8375
|
JOJ_TEST_TESTER_VASTERIX = "joj-test-tester-vasterix",
|
|
7393
8376
|
JOJ_TEST_TESTER_ADFORM_30 = "joj-test-tester-adform-30"
|
|
@@ -7471,8 +8454,8 @@ export declare interface Video extends RowItem, MonetizableItem, ReactableConten
|
|
|
7471
8454
|
tasting: Video | null;
|
|
7472
8455
|
watchPosition: number | null;
|
|
7473
8456
|
isFavorite: boolean;
|
|
7474
|
-
addToFavorites: () =>
|
|
7475
|
-
removeFromFavorites: () =>
|
|
8457
|
+
addToFavorites: () => void;
|
|
8458
|
+
removeFromFavorites: () => void;
|
|
7476
8459
|
availability: ContentAvailability | null;
|
|
7477
8460
|
sourceLanguages: LangCode[];
|
|
7478
8461
|
urlByLanguage: (lang: LangCode) => string | undefined;
|
|
@@ -7530,10 +8513,6 @@ export declare interface VideoController {
|
|
|
7530
8513
|
muted: boolean;
|
|
7531
8514
|
volume: number;
|
|
7532
8515
|
}) => void): void;
|
|
7533
|
-
addEventListener(event: 'ad-started', callback: (value: AdMetadata & {
|
|
7534
|
-
adCtaElement: HTMLElement | null;
|
|
7535
|
-
}) => void): void;
|
|
7536
|
-
addEventListener(event: 'companion-ads', callback: (value: CompanionAd[]) => void): void;
|
|
7537
8516
|
/**
|
|
7538
8517
|
* Remove an event listener
|
|
7539
8518
|
* @param event - The event name to stop listening for
|
|
@@ -7569,6 +8548,10 @@ export declare interface VideoController {
|
|
|
7569
8548
|
* Replay the current video from the beginning
|
|
7570
8549
|
*/
|
|
7571
8550
|
replay(): Promise<void>;
|
|
8551
|
+
/**
|
|
8552
|
+
* Refresh the current source by calling getSourceUrl without sourceHistory.
|
|
8553
|
+
*/
|
|
8554
|
+
refreshSource(): Promise<void>;
|
|
7572
8555
|
/**
|
|
7573
8556
|
* Retry playback if it failed to start
|
|
7574
8557
|
*/
|
|
@@ -7659,7 +8642,30 @@ export declare interface VideoController {
|
|
|
7659
8642
|
* @param mutations - Array of DOM mutation records
|
|
7660
8643
|
*/
|
|
7661
8644
|
onWatermarkElementChange(mutations: MutationRecord[]): void;
|
|
7662
|
-
|
|
8645
|
+
/**
|
|
8646
|
+
* Switch to HLS source for AirPlay (Safari/iOS only).
|
|
8647
|
+
* Preserves current playback position.
|
|
8648
|
+
*/
|
|
8649
|
+
switchToHlsForAirplay(): Promise<void>;
|
|
8650
|
+
/**
|
|
8651
|
+
* Switch back to DASH from HLS after AirPlay disconnects.
|
|
8652
|
+
* Preserves current playback position.
|
|
8653
|
+
*/
|
|
8654
|
+
switchToDashFromAirplay(): Promise<void>;
|
|
8655
|
+
/**
|
|
8656
|
+
* Reload the current source while preserving playback position.
|
|
8657
|
+
* Used when switching between native HLS and MSE playback modes.
|
|
8658
|
+
*/
|
|
8659
|
+
reloadCurrentSource(): Promise<void>;
|
|
8660
|
+
/**
|
|
8661
|
+
* Set whether to prefer HLS sources over DASH.
|
|
8662
|
+
* Used in Safari/iOS when AirPlay is available, as AirPlay only supports HLS streaming.
|
|
8663
|
+
*/
|
|
8664
|
+
setPreferHls(preferHls: boolean): void;
|
|
8665
|
+
/**
|
|
8666
|
+
* Suppress watermark tamper detection during AirPlay source switching.
|
|
8667
|
+
*/
|
|
8668
|
+
setAirplaySwitching(isSwitching: boolean): void;
|
|
7663
8669
|
}
|
|
7664
8670
|
|
|
7665
8671
|
declare type VideoDetailResponsiveField = OrganizationResponsiveSetting<{
|
|
@@ -7680,7 +8686,7 @@ declare type VideoDetailResponsiveField = OrganizationResponsiveSetting<{
|
|
|
7680
8686
|
/**
|
|
7681
8687
|
* @public
|
|
7682
8688
|
*/
|
|
7683
|
-
export declare type VideoExternals = (JojExternals |
|
|
8689
|
+
export declare type VideoExternals = (JojExternals | OktagonExternals | MigratedVideoExternals | SportyExternals | AdExternals) & {
|
|
7684
8690
|
channelKey?: string;
|
|
7685
8691
|
};
|
|
7686
8692
|
|
|
@@ -7743,6 +8749,11 @@ export declare type VideoSourceField = {
|
|
|
7743
8749
|
* because content id in source url and authentication will not match.
|
|
7744
8750
|
*/
|
|
7745
8751
|
contentId?: string;
|
|
8752
|
+
/**
|
|
8753
|
+
* List of platforms that this source is restricted to.
|
|
8754
|
+
* If empty or not defined, there are no restrictions, and source is available for all platforms.
|
|
8755
|
+
*/
|
|
8756
|
+
platforms?: PLATFORM[];
|
|
7746
8757
|
} & ({
|
|
7747
8758
|
url: string;
|
|
7748
8759
|
provider?: Exclude<VideoSourceProvider, VideoSourceProvider.CLOUDFLARE>;
|
|
@@ -7792,6 +8803,7 @@ export declare interface VideoTileSpecificData {
|
|
|
7792
8803
|
urlName?: UrlNamesType;
|
|
7793
8804
|
monetizations?: VideoTileMonetizationData[];
|
|
7794
8805
|
description?: Translation;
|
|
8806
|
+
duration?: number;
|
|
7795
8807
|
}
|
|
7796
8808
|
|
|
7797
8809
|
/**
|
|
@@ -7880,7 +8892,7 @@ export declare interface ViewCountItem {
|
|
|
7880
8892
|
/**
|
|
7881
8893
|
* @public
|
|
7882
8894
|
*/
|
|
7883
|
-
export declare interface VirtualChannelSourceInterface extends
|
|
8895
|
+
export declare interface VirtualChannelSourceInterface extends ChannelSourceInterface {
|
|
7884
8896
|
tvChannelType: TvChannelType.VIRTUAL;
|
|
7885
8897
|
program?: TvProgram | null;
|
|
7886
8898
|
video?: Video | null;
|
|
@@ -7893,18 +8905,9 @@ export declare interface VirtualChannelSourceInterface extends Omit<ChannelSourc
|
|
|
7893
8905
|
*/
|
|
7894
8906
|
export declare interface VirtualChannelSourceParams extends ChannelSourceParams {
|
|
7895
8907
|
tvChannelType: TvChannelType.VIRTUAL;
|
|
7896
|
-
currentProgram?: TvProgram | null;
|
|
7897
8908
|
drm?: Drm;
|
|
7898
8909
|
}
|
|
7899
8910
|
|
|
7900
|
-
/**
|
|
7901
|
-
* Interface representing the parameters for a VOD (Video On Demand) external multi-source configuration.
|
|
7902
|
-
* Multi-source means an array of string URLs representing the external sources for the video content.
|
|
7903
|
-
*/
|
|
7904
|
-
export declare interface VodExternalMultiSourceParams extends Omit<VodExternalSourceParams, 'url'> {
|
|
7905
|
-
urls: string[];
|
|
7906
|
-
}
|
|
7907
|
-
|
|
7908
8911
|
/**
|
|
7909
8912
|
* @public
|
|
7910
8913
|
*/
|
|
@@ -8003,21 +9006,6 @@ export declare interface WarningConfirmationOverlayPayload extends ConfirmationO
|
|
|
8003
9006
|
subscriptionExpirationText?: string;
|
|
8004
9007
|
}
|
|
8005
9008
|
|
|
8006
|
-
/**
|
|
8007
|
-
* @public
|
|
8008
|
-
*/
|
|
8009
|
-
export declare interface WatchPositionWithData extends Omit<UserWatchPositionField, 'videoRef' | 'tagRef'> {
|
|
8010
|
-
/**
|
|
8011
|
-
* Video that given watch position is related to.
|
|
8012
|
-
*/
|
|
8013
|
-
video: Video;
|
|
8014
|
-
/**
|
|
8015
|
-
* If user watches episode of series, we have to save series ref as well.
|
|
8016
|
-
* Same for {@link episodeNumber} and {@link seasonNumber}.
|
|
8017
|
-
*/
|
|
8018
|
-
tag?: Tag;
|
|
8019
|
-
}
|
|
8020
|
-
|
|
8021
9009
|
/**
|
|
8022
9010
|
* @public
|
|
8023
9011
|
*/
|
|
@@ -8028,7 +9016,6 @@ export declare interface Watermark {
|
|
|
8028
9016
|
|
|
8029
9017
|
export declare interface WebConfig {
|
|
8030
9018
|
customer: CustomerId;
|
|
8031
|
-
customerName?: string;
|
|
8032
9019
|
title?: string;
|
|
8033
9020
|
description?: string;
|
|
8034
9021
|
logo: string;
|
|
@@ -8042,37 +9029,31 @@ export declare interface WebConfig {
|
|
|
8042
9029
|
header?: {
|
|
8043
9030
|
/**
|
|
8044
9031
|
* Text on buy voucher button, if not provided the default text will be used.
|
|
9032
|
+
* Can be a string or an array of language-specific texts.
|
|
9033
|
+
* @deprecated Use headerButton instead
|
|
8045
9034
|
*/
|
|
8046
9035
|
buyVoucherButtonText?: string;
|
|
8047
9036
|
/**
|
|
8048
|
-
*
|
|
9037
|
+
* Configurable button shown in the header (e.g., for vouchers, creator signup, etc.)
|
|
9038
|
+
* Array of language-specific button configurations.
|
|
8049
9039
|
*/
|
|
8050
|
-
|
|
9040
|
+
headerButton?: (LanguageRestricted & {
|
|
9041
|
+
label: string;
|
|
9042
|
+
href: string;
|
|
9043
|
+
/** Icon to show on the button (mobile only) */
|
|
9044
|
+
icon?: 'gift' | 'star' | 'videoRecorder';
|
|
9045
|
+
variant?: 'primary' | 'secondary' | 'transparent';
|
|
9046
|
+
})[];
|
|
8051
9047
|
allowSearch?: boolean;
|
|
8052
9048
|
logoHeight?: string;
|
|
8053
9049
|
mobileLogoHeight?: string;
|
|
8054
9050
|
buySubscriptionButtonText?: string;
|
|
8055
|
-
isHidden?: boolean;
|
|
8056
|
-
/**
|
|
8057
|
-
* Additional menu items to be shown in the rounded menu in the header (external or internal)
|
|
8058
|
-
*/
|
|
8059
|
-
additionalMenuItems?: {
|
|
8060
|
-
name: string;
|
|
8061
|
-
href: string;
|
|
8062
|
-
newTab?: boolean;
|
|
8063
|
-
}[];
|
|
8064
9051
|
};
|
|
8065
9052
|
footer?: {
|
|
8066
|
-
isHidden?: boolean;
|
|
8067
9053
|
/**
|
|
8068
9054
|
* If logo is different from logo in header
|
|
8069
9055
|
*/
|
|
8070
9056
|
logo?: string;
|
|
8071
|
-
/**
|
|
8072
|
-
* @fixme https://app.clickup.com/t/90151157205/TIV-1515
|
|
8073
|
-
* If multiple logos are provided, the multiple logos are prioritized over the single logo.
|
|
8074
|
-
*/
|
|
8075
|
-
multipleLogos?: string[];
|
|
8076
9057
|
showLogo?: boolean;
|
|
8077
9058
|
/**
|
|
8078
9059
|
* right panel - various type of contacts to owners of website
|
|
@@ -8115,19 +9096,6 @@ export declare interface WebConfig {
|
|
|
8115
9096
|
email?: string;
|
|
8116
9097
|
};
|
|
8117
9098
|
cookieSettingsLabel?: string;
|
|
8118
|
-
disclaimer?: string;
|
|
8119
|
-
showDivider?: boolean;
|
|
8120
|
-
/**
|
|
8121
|
-
* Additional links to be shown in the footer
|
|
8122
|
-
*/
|
|
8123
|
-
additionalLinks?: {
|
|
8124
|
-
name: string;
|
|
8125
|
-
href: string;
|
|
8126
|
-
}[];
|
|
8127
|
-
/**
|
|
8128
|
-
* Hide footer on these paths
|
|
8129
|
-
*/
|
|
8130
|
-
hideFooter?: string[];
|
|
8131
9099
|
partners?: {
|
|
8132
9100
|
name: string;
|
|
8133
9101
|
logo: string;
|
|
@@ -8143,14 +9111,6 @@ export declare interface WebConfig {
|
|
|
8143
9111
|
* so app requires authorization to see them.
|
|
8144
9112
|
*/
|
|
8145
9113
|
securedContent?: boolean;
|
|
8146
|
-
/**
|
|
8147
|
-
* If true, then auth is required for all pages.
|
|
8148
|
-
*/
|
|
8149
|
-
isAuthRequired?: boolean;
|
|
8150
|
-
/**
|
|
8151
|
-
* If true, then buy subscription button is hidden.
|
|
8152
|
-
*/
|
|
8153
|
-
hideBuySubscriptionButton?: boolean;
|
|
8154
9114
|
/**
|
|
8155
9115
|
* CSS styles for application background.
|
|
8156
9116
|
*/
|
|
@@ -8169,10 +9129,6 @@ export declare interface WebConfig {
|
|
|
8169
9129
|
* Default is TRUE (see {@link AppLoadingOverlay}
|
|
8170
9130
|
*/
|
|
8171
9131
|
showProgressBar?: boolean;
|
|
8172
|
-
/**
|
|
8173
|
-
* URL to background image shown on loading screen.
|
|
8174
|
-
*/
|
|
8175
|
-
backgroundUrl?: string;
|
|
8176
9132
|
};
|
|
8177
9133
|
/**
|
|
8178
9134
|
* Slug of all pages where user will be forced to fill login form if he's not logged in.
|
|
@@ -8200,7 +9156,6 @@ export declare interface WebConfig {
|
|
|
8200
9156
|
*/
|
|
8201
9157
|
showChooseSubscription?: boolean;
|
|
8202
9158
|
registration?: {
|
|
8203
|
-
logoMarginTop?: string;
|
|
8204
9159
|
/**
|
|
8205
9160
|
* Customization of auth form
|
|
8206
9161
|
*/
|
|
@@ -8220,18 +9175,18 @@ export declare interface WebConfig {
|
|
|
8220
9175
|
showAcceptanceOfTermsAndConditions?: boolean;
|
|
8221
9176
|
};
|
|
8222
9177
|
registrationConsent?: string;
|
|
8223
|
-
socialRegistrationConsent?: string;
|
|
8224
9178
|
};
|
|
8225
9179
|
payment?: {
|
|
8226
9180
|
paymentConsent?: string;
|
|
8227
9181
|
paymentRenewalConsent?: boolean;
|
|
9182
|
+
allowFrequencySwitcher?: boolean;
|
|
8228
9183
|
};
|
|
8229
9184
|
/**
|
|
8230
9185
|
* If web supports entering vouchers
|
|
8231
9186
|
*/
|
|
8232
9187
|
supportVouchers?: boolean;
|
|
8233
9188
|
/**
|
|
8234
|
-
* Config for Google Tag Manager
|
|
9189
|
+
* Config for Google Tag Manager
|
|
8235
9190
|
*/
|
|
8236
9191
|
googleTagManagerConfig?: TagManagerArgs & {
|
|
8237
9192
|
shouldWaitForDidomi?: boolean;
|
|
@@ -8254,8 +9209,6 @@ export declare interface WebConfig {
|
|
|
8254
9209
|
};
|
|
8255
9210
|
monetizationSelectOverlay?: {
|
|
8256
9211
|
title?: string;
|
|
8257
|
-
benefitLeftIcon?: string;
|
|
8258
|
-
showFullMonetizationOnMobile?: boolean;
|
|
8259
9212
|
};
|
|
8260
9213
|
/**
|
|
8261
9214
|
* Google Analytics ID. If provided, Google Analytics will be enabled.
|
|
@@ -8267,7 +9220,6 @@ export declare interface WebConfig {
|
|
|
8267
9220
|
centeredMenu?: boolean;
|
|
8268
9221
|
/**
|
|
8269
9222
|
* All values are considered as false if not provided.
|
|
8270
|
-
* @deprecated - use settings.allowedSignInProviders inside OrganizationDocument
|
|
8271
9223
|
*/
|
|
8272
9224
|
socialLogins?: {
|
|
8273
9225
|
showAppleLogin?: boolean;
|
|
@@ -8282,24 +9234,11 @@ export declare interface WebConfig {
|
|
|
8282
9234
|
* If true, robots.txt will prevent crawling of the website.
|
|
8283
9235
|
*/
|
|
8284
9236
|
norobots?: boolean;
|
|
8285
|
-
|
|
8286
|
-
|
|
8287
|
-
|
|
8288
|
-
|
|
8289
|
-
onPurchase?: (monetization: Purchase) => void;
|
|
8290
|
-
facebookPixelConfig?: {
|
|
8291
|
-
pixelId: string;
|
|
8292
|
-
shouldWaitForDidomi?: boolean;
|
|
9237
|
+
customTranslations?: {
|
|
9238
|
+
[key: string]: {
|
|
9239
|
+
[key: string]: string;
|
|
9240
|
+
};
|
|
8293
9241
|
};
|
|
8294
|
-
/**
|
|
8295
|
-
* If true, the app will be locked in the "remote controller" mode.
|
|
8296
|
-
* This means that the app will not be able to navigate to other pages and will only show the remote controller.
|
|
8297
|
-
*/
|
|
8298
|
-
isRemoteControllerApp?: boolean;
|
|
8299
|
-
/**
|
|
8300
|
-
* Determines if application should check allowed URL handles when switching applications.
|
|
8301
|
-
*/
|
|
8302
|
-
disableUrlHandleCheck?: boolean;
|
|
8303
9242
|
/**
|
|
8304
9243
|
* Map for all handlers
|
|
8305
9244
|
*/
|
|
@@ -8326,7 +9265,7 @@ export declare interface WebGridScreenProps {
|
|
|
8326
9265
|
*/
|
|
8327
9266
|
export declare interface WebPlayerProps {
|
|
8328
9267
|
id: string;
|
|
8329
|
-
source?:
|
|
9268
|
+
source?: SourceParams | VideoPath | ChannelPath | null;
|
|
8330
9269
|
onEnded?: () => any;
|
|
8331
9270
|
/**
|
|
8332
9271
|
* If true, the player will inherit the width and height of its parent element.
|
|
@@ -8390,14 +9329,6 @@ export declare interface WebPlayerProps {
|
|
|
8390
9329
|
* If true then OSD is shown based on condition resolved in HidableOsdContainer, e.g. on pause, on mouse move etc.
|
|
8391
9330
|
*/
|
|
8392
9331
|
showOsd?: boolean;
|
|
8393
|
-
/**
|
|
8394
|
-
* If true, then only a minimal set of OSD controls is shown (play/pause, volume, fullscreen)
|
|
8395
|
-
* and the big center play/pause button only flashes briefly on state change.
|
|
8396
|
-
*
|
|
8397
|
-
* Intended for small fixed containers (e.g. a scroll-pinned mini player in the corner
|
|
8398
|
-
* of the page, or a full-width mobile player pinned to the top of the viewport).
|
|
8399
|
-
*/
|
|
8400
|
-
isMinimal?: boolean;
|
|
8401
9332
|
/**
|
|
8402
9333
|
* If false, then buffering spinner is never shown.
|
|
8403
9334
|
* If true then buffering spinner is shown while buffering.
|
|
@@ -8420,8 +9351,6 @@ export declare interface WebPlayerProps {
|
|
|
8420
9351
|
setPaymentOverlayVisible?: React_2.Dispatch<React_2.SetStateAction<boolean>>;
|
|
8421
9352
|
hideOverlay?: boolean;
|
|
8422
9353
|
sourcePlayMode?: SourcePlayMode;
|
|
8423
|
-
adsConfig?: StaticAdsBreak[];
|
|
8424
|
-
userAuthCallbacks?: SDKUserAuthCallbacks;
|
|
8425
9354
|
}
|
|
8426
9355
|
|
|
8427
9356
|
/**
|