@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/sdk-react.d.ts
CHANGED
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
import { AD_SERVICE_PROXY_NAME } from '@tivio/common';
|
|
2
1
|
import type { ComponentType } from 'react';
|
|
3
|
-
import type dayjs from 'dayjs';
|
|
4
2
|
import { DocumentReference } from '@firebase/firestore-types';
|
|
5
3
|
import type duration from 'dayjs/plugin/duration';
|
|
6
4
|
import type { default as firebase_2 } from '@firebase/app-types';
|
|
7
5
|
import type { default as firebase_3 } from 'firebase';
|
|
8
6
|
import { FunctionComponentElement } from 'react';
|
|
9
7
|
import type { GeoPoint } from '@firebase/firestore-types';
|
|
10
|
-
import type { google } from '@alugha/ima';
|
|
11
8
|
import { OperatingSystem } from 'detect-browser';
|
|
12
9
|
import type { PaletteType } from '@material-ui/core';
|
|
13
10
|
import { default as React_2 } from 'react';
|
|
14
|
-
import { RecommendationsQuery } from '@algolia/recommend';
|
|
11
|
+
import type { RecommendationsQuery } from '@algolia/recommend';
|
|
15
12
|
import type { TagManagerArgs } from 'react-gtm-module';
|
|
16
13
|
import type { Timestamp } from '@firebase/firestore-types';
|
|
17
14
|
|
|
@@ -36,8 +33,6 @@ declare interface actualPriceDetails {
|
|
|
36
33
|
currency?: primaSupportedCurrency;
|
|
37
34
|
}
|
|
38
35
|
|
|
39
|
-
export { AD_SERVICE_PROXY_NAME }
|
|
40
|
-
|
|
41
36
|
export declare type AdBannerScene = InteractiveWidgetSceneBase<InteractiveWidgetSceneTemplateType.AD_BANNER>;
|
|
42
37
|
|
|
43
38
|
export declare type AddEditCommentResponse = {
|
|
@@ -89,6 +84,14 @@ export declare interface AdExternal {
|
|
|
89
84
|
skip: () => void;
|
|
90
85
|
}
|
|
91
86
|
|
|
87
|
+
/**
|
|
88
|
+
* External information of Ad video.
|
|
89
|
+
* @public
|
|
90
|
+
*/
|
|
91
|
+
export declare interface AdExternals {
|
|
92
|
+
creativeId: string;
|
|
93
|
+
}
|
|
94
|
+
|
|
92
95
|
/**
|
|
93
96
|
* @public
|
|
94
97
|
*/
|
|
@@ -104,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
|
*/
|
|
@@ -697,6 +830,7 @@ export declare interface ButtonOptions {
|
|
|
697
830
|
*/
|
|
698
831
|
export declare interface ButtonVariantOptions {
|
|
699
832
|
border?: string;
|
|
833
|
+
backgroundImage?: string;
|
|
700
834
|
disabledBackgroundColor?: string;
|
|
701
835
|
disabledColor?: string;
|
|
702
836
|
}
|
|
@@ -706,6 +840,45 @@ export declare interface ButtonVariantOptions {
|
|
|
706
840
|
*/
|
|
707
841
|
export declare type Callback<T = any> = (arg?: T) => void;
|
|
708
842
|
|
|
843
|
+
/**
|
|
844
|
+
* Camera switch transition progress information.
|
|
845
|
+
* Tracks the state of buffer loading during camera switches in interactive streaming.
|
|
846
|
+
* @public
|
|
847
|
+
*/
|
|
848
|
+
export declare interface CameraSwitchProgress {
|
|
849
|
+
/**
|
|
850
|
+
* Whether a camera switch is currently in progress
|
|
851
|
+
*/
|
|
852
|
+
isActive: boolean;
|
|
853
|
+
/**
|
|
854
|
+
* Time position (in seconds) where the transition content will begin.
|
|
855
|
+
* This is after any currently loading chunks finish.
|
|
856
|
+
*/
|
|
857
|
+
transitionStartTime: number;
|
|
858
|
+
/**
|
|
859
|
+
* Number of segments that need to load before transition is ready
|
|
860
|
+
*/
|
|
861
|
+
segmentsToLoad: number;
|
|
862
|
+
/**
|
|
863
|
+
* Number of segments that have already loaded
|
|
864
|
+
*/
|
|
865
|
+
segmentsLoaded: number;
|
|
866
|
+
/**
|
|
867
|
+
* Progress percentage (0-1) of the transition loading
|
|
868
|
+
*/
|
|
869
|
+
progress: number;
|
|
870
|
+
/**
|
|
871
|
+
* Estimated time remaining until camera switch completes (in seconds)
|
|
872
|
+
* Based on segment duration and remaining segments
|
|
873
|
+
*/
|
|
874
|
+
estimatedTimeRemaining: number;
|
|
875
|
+
/**
|
|
876
|
+
* ID of the secondary source this transition is for.
|
|
877
|
+
* Used to track multiple camera switches in quick succession.
|
|
878
|
+
*/
|
|
879
|
+
secondarySourceId?: string;
|
|
880
|
+
}
|
|
881
|
+
|
|
709
882
|
export declare interface CancellingMonetizationsSummaryItem {
|
|
710
883
|
date: number;
|
|
711
884
|
monetizationId: string;
|
|
@@ -767,7 +940,6 @@ export declare interface ChannelSourceInterface extends PlayerSourceInterface<So
|
|
|
767
940
|
to: Date;
|
|
768
941
|
poster: string | null;
|
|
769
942
|
tvMode: TvMode | 'live' | null;
|
|
770
|
-
clone: (params?: Partial<ChannelSourceParams>) => ChannelSourceInterface;
|
|
771
943
|
}
|
|
772
944
|
|
|
773
945
|
/**
|
|
@@ -781,6 +953,10 @@ export declare interface ChannelSourceParams extends PlayerSourceParams<SourceTy
|
|
|
781
953
|
from: Date;
|
|
782
954
|
to: Date;
|
|
783
955
|
tvMode?: TvMode | 'live' | null;
|
|
956
|
+
/**
|
|
957
|
+
* Current program from EPG. Available for VIRTUAL and SCHEDULED channels.
|
|
958
|
+
*/
|
|
959
|
+
currentProgram?: TvProgram | null;
|
|
784
960
|
}
|
|
785
961
|
|
|
786
962
|
/**
|
|
@@ -850,12 +1026,6 @@ export declare interface CommonSourceParams<T extends SourceType = SourceType> {
|
|
|
850
1026
|
videoPath?: string;
|
|
851
1027
|
}
|
|
852
1028
|
|
|
853
|
-
/**
|
|
854
|
-
* @public
|
|
855
|
-
* Re-export of Google IMA CompanionAd type for use throughout the SDK
|
|
856
|
-
*/
|
|
857
|
-
export declare type CompanionAd = google.ima.CompanionAd;
|
|
858
|
-
|
|
859
1029
|
/**
|
|
860
1030
|
* TODO it's the same as Customizations, not?
|
|
861
1031
|
* @internal
|
|
@@ -932,6 +1102,13 @@ export declare interface ContentAvailability {
|
|
|
932
1102
|
manual: boolean;
|
|
933
1103
|
}
|
|
934
1104
|
|
|
1105
|
+
export declare type ContentMetadataFieldId = keyof NonNullable<OrganizationSettingsField['contentMetadata']>;
|
|
1106
|
+
|
|
1107
|
+
export declare interface ContentMetadataOptions {
|
|
1108
|
+
enabled: boolean;
|
|
1109
|
+
order: number;
|
|
1110
|
+
}
|
|
1111
|
+
|
|
935
1112
|
/**
|
|
936
1113
|
* @public
|
|
937
1114
|
*/
|
|
@@ -1189,10 +1366,23 @@ export declare interface CreatorsWithVoucherSubscriptions {
|
|
|
1189
1366
|
name: string;
|
|
1190
1367
|
}
|
|
1191
1368
|
|
|
1369
|
+
export declare interface CtaBannerExtendRowData {
|
|
1370
|
+
variant?: 'light' | 'dark';
|
|
1371
|
+
heading?: Translation;
|
|
1372
|
+
subtitle?: {
|
|
1373
|
+
text: Translation;
|
|
1374
|
+
showIcon?: boolean;
|
|
1375
|
+
};
|
|
1376
|
+
button?: {
|
|
1377
|
+
href: string;
|
|
1378
|
+
text: Translation;
|
|
1379
|
+
};
|
|
1380
|
+
}
|
|
1381
|
+
|
|
1192
1382
|
/**
|
|
1193
1383
|
* @public
|
|
1194
1384
|
*/
|
|
1195
|
-
export declare const CURRENCIES:
|
|
1385
|
+
export declare const CURRENCIES: Currency[];
|
|
1196
1386
|
|
|
1197
1387
|
/**
|
|
1198
1388
|
* Three upper-case letters according to ISO-4217.
|
|
@@ -1206,13 +1396,22 @@ export declare type Currency = 'CZK' | 'EUR' | 'USD' | 'PLN';
|
|
|
1206
1396
|
*/
|
|
1207
1397
|
export declare type CurrencyLowerCase = 'czk' | 'eur' | 'usd' | 'pln';
|
|
1208
1398
|
|
|
1209
|
-
|
|
1399
|
+
/**
|
|
1400
|
+
* @public
|
|
1401
|
+
*/
|
|
1402
|
+
export declare const CurrencyToTitle: Record<Currency, string>;
|
|
1403
|
+
|
|
1404
|
+
/**
|
|
1405
|
+
* Generic "current question" shape, parameterized by answer type.
|
|
1406
|
+
* Use `QuizQuestion` / `PollQuestion` for concrete forms.
|
|
1407
|
+
*/
|
|
1408
|
+
export declare interface CurrentQuestion<TAnswer extends BaseQuestionAnswer = QuestionAnswer> {
|
|
1210
1409
|
id: string;
|
|
1211
1410
|
question: Translation;
|
|
1212
|
-
answers?:
|
|
1411
|
+
answers?: TAnswer[];
|
|
1213
1412
|
index?: number;
|
|
1214
1413
|
endTimestampMs?: number;
|
|
1215
|
-
status?:
|
|
1414
|
+
status?: InteractiveWidgetStatus;
|
|
1216
1415
|
}
|
|
1217
1416
|
|
|
1218
1417
|
export declare type CurrentQuestionScene = InteractiveWidgetSceneBase<InteractiveWidgetSceneTemplateType.CURRENT_QUESTION>;
|
|
@@ -1285,7 +1484,21 @@ export declare enum CustomerId {
|
|
|
1285
1484
|
UZ_BUDU = "UZ_BUDU",
|
|
1286
1485
|
PRIMA = "PRIMA",
|
|
1287
1486
|
NORA_FRIDRICHOVA = "NORA_FRIDRICHOVA",
|
|
1288
|
-
LONGEVITY = "LONGEVITY"
|
|
1487
|
+
LONGEVITY = "LONGEVITY",
|
|
1488
|
+
ZASAHTV = "ZASAHTV",
|
|
1489
|
+
ELISKAFLOW = "ELISKAFLOW",
|
|
1490
|
+
PRIJIMACKY = "PRIJIMACKY",
|
|
1491
|
+
PADNI_KOMU_PADNI = "PADNI_KOMU_PADNI",
|
|
1492
|
+
KRYPTOSPACE = "KRYPTOSPACE",
|
|
1493
|
+
ERADIX = "ERADIX",
|
|
1494
|
+
VLADCI_PRAHY = "VLADCI_PRAHY",
|
|
1495
|
+
DOKTOR_EVZEN = "DOKTOR_EVZEN",
|
|
1496
|
+
INVESTUJ_CHYTRE = "INVESTUJ_CHYTRE",
|
|
1497
|
+
RESTART_MUZE = "RESTART_MUZE",
|
|
1498
|
+
THE_JOHNY = "THE_JOHNY",
|
|
1499
|
+
GOOD_MOVE = "GOOD_MOVE",
|
|
1500
|
+
JANA_HANZ = "JANA_HANZ",
|
|
1501
|
+
MYSTICO = "MYSTICO"
|
|
1289
1502
|
}
|
|
1290
1503
|
|
|
1291
1504
|
/**
|
|
@@ -1388,6 +1601,7 @@ export declare interface Customizations {
|
|
|
1388
1601
|
iconColor?: string;
|
|
1389
1602
|
roundedMenuColor?: string;
|
|
1390
1603
|
roundedMenuHoverColor?: string;
|
|
1604
|
+
roundedMenuInactiveColor?: string;
|
|
1391
1605
|
};
|
|
1392
1606
|
CenteredMenu?: {
|
|
1393
1607
|
backgroundColor: string;
|
|
@@ -1451,6 +1665,99 @@ export declare interface Customizations {
|
|
|
1451
1665
|
row: {
|
|
1452
1666
|
backgroundColor: string;
|
|
1453
1667
|
};
|
|
1668
|
+
benefits?: {
|
|
1669
|
+
titleAccentColor?: string;
|
|
1670
|
+
descriptionColor?: string;
|
|
1671
|
+
ctaTextColor?: string;
|
|
1672
|
+
};
|
|
1673
|
+
featureCard?: {
|
|
1674
|
+
bgColor?: string;
|
|
1675
|
+
textColor?: string;
|
|
1676
|
+
borderColor?: string;
|
|
1677
|
+
hoverBorderColor?: string;
|
|
1678
|
+
iconBgColor?: string;
|
|
1679
|
+
iconColor?: string;
|
|
1680
|
+
descriptionColor?: string;
|
|
1681
|
+
};
|
|
1682
|
+
ctaBanner?: {
|
|
1683
|
+
lightBgColor?: string;
|
|
1684
|
+
darkBgColor?: string;
|
|
1685
|
+
borderColor?: string;
|
|
1686
|
+
lightTitleColor?: string;
|
|
1687
|
+
darkTitleColor?: string;
|
|
1688
|
+
lightDescriptionColor?: string;
|
|
1689
|
+
descriptionColor?: string;
|
|
1690
|
+
lightButtonBgColor?: string;
|
|
1691
|
+
lightButtonTextColor?: string;
|
|
1692
|
+
subtitleColor?: string;
|
|
1693
|
+
accentColor?: string;
|
|
1694
|
+
mutedTextColor?: string;
|
|
1695
|
+
textColor?: string;
|
|
1696
|
+
};
|
|
1697
|
+
testimonials?: {
|
|
1698
|
+
sectionBg?: string;
|
|
1699
|
+
cardBg?: string;
|
|
1700
|
+
cardBorder?: string;
|
|
1701
|
+
descriptionColor?: string;
|
|
1702
|
+
ratingColor?: string;
|
|
1703
|
+
roleColor?: string;
|
|
1704
|
+
textColor?: string;
|
|
1705
|
+
};
|
|
1706
|
+
mediaAccordeon?: {
|
|
1707
|
+
buttonBg?: string;
|
|
1708
|
+
buttonHoverBg?: string;
|
|
1709
|
+
titleActive?: string;
|
|
1710
|
+
titleInactive?: string;
|
|
1711
|
+
descriptionColor?: string;
|
|
1712
|
+
};
|
|
1713
|
+
numbers?: {
|
|
1714
|
+
sectionBg?: string;
|
|
1715
|
+
borderTop?: string;
|
|
1716
|
+
numberColor?: string;
|
|
1717
|
+
labelColor?: string;
|
|
1718
|
+
};
|
|
1719
|
+
faq?: {
|
|
1720
|
+
descriptionColor?: string;
|
|
1721
|
+
linkColor?: string;
|
|
1722
|
+
textColor?: string;
|
|
1723
|
+
mutedTextColor?: string;
|
|
1724
|
+
};
|
|
1725
|
+
explore?: {
|
|
1726
|
+
cardBg?: string;
|
|
1727
|
+
cardTextColor?: string;
|
|
1728
|
+
cardBorderColor?: string;
|
|
1729
|
+
hoverBorderColor?: string;
|
|
1730
|
+
descriptionColor?: string;
|
|
1731
|
+
};
|
|
1732
|
+
splitLayout?: {
|
|
1733
|
+
titleColor?: string;
|
|
1734
|
+
descriptionColor?: string;
|
|
1735
|
+
imageBg?: string;
|
|
1736
|
+
};
|
|
1737
|
+
accordion?: {
|
|
1738
|
+
itemBg?: string;
|
|
1739
|
+
itemBorder?: string;
|
|
1740
|
+
titleColor?: string;
|
|
1741
|
+
contentColor?: string;
|
|
1742
|
+
iconColor?: string;
|
|
1743
|
+
};
|
|
1744
|
+
presentBanner?: {
|
|
1745
|
+
badgeBg?: string;
|
|
1746
|
+
badgeBorder?: string;
|
|
1747
|
+
badgeTextColor?: string;
|
|
1748
|
+
subtitleColor?: string;
|
|
1749
|
+
avatarBorder?: string;
|
|
1750
|
+
textColor?: string;
|
|
1751
|
+
};
|
|
1752
|
+
videoSeries?: {
|
|
1753
|
+
buttonBg?: string;
|
|
1754
|
+
buttonHoverBg?: string;
|
|
1755
|
+
titleActive?: string;
|
|
1756
|
+
titleInactive?: string;
|
|
1757
|
+
};
|
|
1758
|
+
monetizationBanner?: {
|
|
1759
|
+
descriptionColor?: string;
|
|
1760
|
+
};
|
|
1454
1761
|
};
|
|
1455
1762
|
global: {
|
|
1456
1763
|
/**
|
|
@@ -1473,6 +1780,9 @@ export declare interface Customizations {
|
|
|
1473
1780
|
Avatar?: {
|
|
1474
1781
|
backgroundColor: string;
|
|
1475
1782
|
color: string;
|
|
1783
|
+
hoverBorderGradientStart?: string;
|
|
1784
|
+
hoverBorderGradientEnd?: string;
|
|
1785
|
+
hoverBackground?: string;
|
|
1476
1786
|
};
|
|
1477
1787
|
Paywall?: {
|
|
1478
1788
|
backgroundColor?: string;
|
|
@@ -1492,6 +1802,8 @@ export declare interface Customizations {
|
|
|
1492
1802
|
backgroundColorActive?: string;
|
|
1493
1803
|
formBackgroundColor?: string;
|
|
1494
1804
|
captionColor?: string;
|
|
1805
|
+
pageBackgroundColor?: string;
|
|
1806
|
+
gradientColor?: string;
|
|
1495
1807
|
};
|
|
1496
1808
|
QerkoOverlay?: {
|
|
1497
1809
|
backgroundColor?: string;
|
|
@@ -1517,7 +1829,6 @@ export declare interface CustomScript {
|
|
|
1517
1829
|
src: string;
|
|
1518
1830
|
event?: EventName;
|
|
1519
1831
|
isAsync?: boolean;
|
|
1520
|
-
defer?: boolean;
|
|
1521
1832
|
}
|
|
1522
1833
|
|
|
1523
1834
|
/**
|
|
@@ -1553,6 +1864,11 @@ declare type Data = {
|
|
|
1553
1864
|
type: 'tier' | 'member' | 'user';
|
|
1554
1865
|
};
|
|
1555
1866
|
|
|
1867
|
+
/**
|
|
1868
|
+
* @public
|
|
1869
|
+
*/
|
|
1870
|
+
export declare const DEFAULT_CURRENCY: Currency;
|
|
1871
|
+
|
|
1556
1872
|
/**
|
|
1557
1873
|
* @public
|
|
1558
1874
|
*/
|
|
@@ -1595,6 +1911,28 @@ export declare type DeviceInfo = ArrisDeviceInfo | ReactNativeDeviceInfo;
|
|
|
1595
1911
|
*/
|
|
1596
1912
|
export declare type DeviceOs = OperatingSystem | 'Tizen' | 'webOS' | 'Arris' | 'Android TV' | 'tvOS';
|
|
1597
1913
|
|
|
1914
|
+
/**
|
|
1915
|
+
* User consent status for a specific purpose.
|
|
1916
|
+
*/
|
|
1917
|
+
export declare interface DidomiPurposeStatus {
|
|
1918
|
+
enabled: boolean;
|
|
1919
|
+
}
|
|
1920
|
+
|
|
1921
|
+
/**
|
|
1922
|
+
* Didomi SDK API.
|
|
1923
|
+
*/
|
|
1924
|
+
export declare interface DidomiSDK {
|
|
1925
|
+
getCurrentUserStatus(): DidomiUserStatus;
|
|
1926
|
+
}
|
|
1927
|
+
|
|
1928
|
+
/**
|
|
1929
|
+
* User consent status returned by Didomi SDK.
|
|
1930
|
+
*/
|
|
1931
|
+
export declare interface DidomiUserStatus {
|
|
1932
|
+
purposes: Record<string, DidomiPurposeStatus>;
|
|
1933
|
+
consent_string?: string;
|
|
1934
|
+
}
|
|
1935
|
+
|
|
1598
1936
|
/**
|
|
1599
1937
|
* Window object with Didomi SDK properties.
|
|
1600
1938
|
*/
|
|
@@ -1610,9 +1948,10 @@ export declare interface DidomiWindow {
|
|
|
1610
1948
|
* https://developers.didomi.io/cmp/web-sdk/reference/api
|
|
1611
1949
|
*/
|
|
1612
1950
|
didomiOnReady: (() => void)[];
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1951
|
+
/**
|
|
1952
|
+
* The Didomi SDK instance.
|
|
1953
|
+
*/
|
|
1954
|
+
Didomi: DidomiSDK;
|
|
1616
1955
|
}
|
|
1617
1956
|
|
|
1618
1957
|
/**
|
|
@@ -1633,6 +1972,47 @@ export declare interface DividerProps {
|
|
|
1633
1972
|
horizontalSpacing?: number;
|
|
1634
1973
|
}
|
|
1635
1974
|
|
|
1975
|
+
export declare interface DocumentTileData<ItemSpecificData extends DocumentTileItemSpecificData = DocumentTileItemSpecificData> {
|
|
1976
|
+
/**
|
|
1977
|
+
* Tile item ID.
|
|
1978
|
+
*/
|
|
1979
|
+
id: string;
|
|
1980
|
+
/**
|
|
1981
|
+
* Timestamp of the item creation.
|
|
1982
|
+
*/
|
|
1983
|
+
created: number;
|
|
1984
|
+
/**
|
|
1985
|
+
* Type of the tile. VIDEO, TV_CHANNEL, TAG, ...
|
|
1986
|
+
*/
|
|
1987
|
+
itemType: ROW_ITEM_TYPES;
|
|
1988
|
+
/**
|
|
1989
|
+
* Tile item name translation.
|
|
1990
|
+
*/
|
|
1991
|
+
name: Translation;
|
|
1992
|
+
/**
|
|
1993
|
+
* Firestore path to the item.
|
|
1994
|
+
*/
|
|
1995
|
+
path: string;
|
|
1996
|
+
/**
|
|
1997
|
+
* Application info including logo, name and number of videos.
|
|
1998
|
+
*/
|
|
1999
|
+
application?: TileApplicationData;
|
|
2000
|
+
/**
|
|
2001
|
+
* Specific data for an item type (e.g. video, tv channel, tag, ...).
|
|
2002
|
+
*/
|
|
2003
|
+
itemSpecificData: ItemSpecificData;
|
|
2004
|
+
/**
|
|
2005
|
+
* Optional label to display in the top-right corner of the tile (e.g., "Exclusive").
|
|
2006
|
+
*/
|
|
2007
|
+
topLabel?: Translation;
|
|
2008
|
+
/**
|
|
2009
|
+
* CSS color for the topLabel background. Defaults to white.
|
|
2010
|
+
*/
|
|
2011
|
+
topLabelColor?: string;
|
|
2012
|
+
}
|
|
2013
|
+
|
|
2014
|
+
export declare type DocumentTileItemSpecificData = VideoTileSpecificData | TvChannelTileSpecificData | TagTileSpecificData | ArticleTileSpecificData | SeriesTileSpecificData;
|
|
2015
|
+
|
|
1636
2016
|
export declare interface Drm {
|
|
1637
2017
|
encryption: VideoSourceEncryption;
|
|
1638
2018
|
/**
|
|
@@ -1706,52 +2086,137 @@ export declare interface DurationWithUnit {
|
|
|
1706
2086
|
}
|
|
1707
2087
|
|
|
1708
2088
|
/**
|
|
2089
|
+
* Row components available for dynamic rows (filter, custom, topWatched, etc.)
|
|
2090
|
+
* Matches the rowComponent constraint in DynamicRow type definition
|
|
1709
2091
|
* @public
|
|
1710
2092
|
*/
|
|
1711
|
-
export declare
|
|
1712
|
-
messageId: string;
|
|
1713
|
-
text: string;
|
|
1714
|
-
videoTime?: number;
|
|
1715
|
-
}
|
|
2093
|
+
export declare const DYNAMIC_ROW_COMPONENTS: readonly [RowComponent.ROW, RowComponent.BANNER];
|
|
1716
2094
|
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
2095
|
+
/**
|
|
2096
|
+
* Dynamic row (filter, custom, continueToWatch, etc.) - has itemComponent and dynamic fields
|
|
2097
|
+
* Uses standard ROW or BANNER components
|
|
2098
|
+
* @public
|
|
2099
|
+
*/
|
|
2100
|
+
export declare interface DynamicRow extends BaseRow {
|
|
2101
|
+
type: Exclude<ScreenRowType, 'static'>;
|
|
2102
|
+
numberOfLines?: number;
|
|
2103
|
+
monetizations?: Array<{
|
|
2104
|
+
monetizationRef: {
|
|
2105
|
+
id: string;
|
|
2106
|
+
path: string;
|
|
2107
|
+
};
|
|
2108
|
+
} | RowMonetizationData>;
|
|
2109
|
+
rowComponent: RowComponent.ROW | RowComponent.BANNER;
|
|
2110
|
+
itemComponent: RowItemComponent | BannerItemComponent;
|
|
2111
|
+
organizationId?: string;
|
|
2112
|
+
bottomComponent?: BottomComponent;
|
|
2113
|
+
showDescriptionAsTitle?: boolean;
|
|
2114
|
+
hideTitle?: boolean;
|
|
2115
|
+
externalUrl?: string;
|
|
2116
|
+
playButtonTitle?: string;
|
|
2117
|
+
tiles: PaginationInterface<ItemInRow>;
|
|
2118
|
+
/**
|
|
2119
|
+
* Side Banner specific configuration
|
|
2120
|
+
*/
|
|
2121
|
+
sideBannerImagePosition?: 'left' | 'right';
|
|
2122
|
+
backgroundColor?: string;
|
|
1727
2123
|
}
|
|
1728
2124
|
|
|
1729
2125
|
/**
|
|
1730
|
-
*
|
|
2126
|
+
* Dynamic row type with dynamic-specific fields
|
|
1731
2127
|
*/
|
|
1732
|
-
export declare
|
|
2128
|
+
export declare type DynamicRowInScreen = BaseRowInScreen & {
|
|
2129
|
+
type: Exclude<ScreenRowType, 'static'>;
|
|
1733
2130
|
/**
|
|
1734
|
-
*
|
|
2131
|
+
* Row filter based on which to pick tiles.
|
|
1735
2132
|
*/
|
|
1736
|
-
|
|
2133
|
+
filter?: RowFilterField;
|
|
1737
2134
|
/**
|
|
1738
|
-
*
|
|
1739
|
-
* @maxLength 100
|
|
2135
|
+
* Number of lines of the title.
|
|
1740
2136
|
*/
|
|
1741
|
-
|
|
2137
|
+
numberOfLines?: number;
|
|
1742
2138
|
/**
|
|
1743
|
-
*
|
|
1744
|
-
* @format 'dynamic' | 'legacy'
|
|
2139
|
+
* Component to use to render the tiles in the row.
|
|
1745
2140
|
*/
|
|
1746
|
-
|
|
2141
|
+
itemComponent: RowItemComponent | BannerItemComponent;
|
|
1747
2142
|
/**
|
|
1748
|
-
*
|
|
2143
|
+
* Items to display in the row.
|
|
1749
2144
|
*/
|
|
1750
|
-
|
|
2145
|
+
tiles: GetTilesInRowResponse<DynamicScreenRowType>;
|
|
1751
2146
|
/**
|
|
1752
|
-
*
|
|
2147
|
+
* Setting for decided what to show bellow the tiles
|
|
1753
2148
|
*/
|
|
1754
|
-
|
|
2149
|
+
bottomComponent?: BottomComponent;
|
|
2150
|
+
/**
|
|
2151
|
+
* Setting for decided whether to show description instead of title in the tiles
|
|
2152
|
+
*/
|
|
2153
|
+
showDescriptionAsTitle?: boolean;
|
|
2154
|
+
/**
|
|
2155
|
+
* Setting for decided whether to hide title in the tiles/banners
|
|
2156
|
+
*/
|
|
2157
|
+
hideTitle?: boolean;
|
|
2158
|
+
/**
|
|
2159
|
+
* Link to external URL
|
|
2160
|
+
*/
|
|
2161
|
+
externalUrl?: string;
|
|
2162
|
+
/**
|
|
2163
|
+
* Title of Play button
|
|
2164
|
+
*/
|
|
2165
|
+
playButtonTitle?: Translation;
|
|
2166
|
+
};
|
|
2167
|
+
|
|
2168
|
+
/**
|
|
2169
|
+
* @public
|
|
2170
|
+
*/
|
|
2171
|
+
export declare type DynamicScreenRowType = Exclude<ScreenRowType, 'static'>;
|
|
2172
|
+
|
|
2173
|
+
/**
|
|
2174
|
+
* @public
|
|
2175
|
+
*/
|
|
2176
|
+
export declare interface EditMessageOptions extends Omit<AddMessageOptions, 'parentMessageId'> {
|
|
2177
|
+
messageId: string;
|
|
2178
|
+
text: string;
|
|
2179
|
+
videoTime?: number;
|
|
2180
|
+
}
|
|
2181
|
+
|
|
2182
|
+
export declare interface EmailNotification {
|
|
2183
|
+
id: string;
|
|
2184
|
+
name: string;
|
|
2185
|
+
targeting: NotificationTargeting | null;
|
|
2186
|
+
templateId: string;
|
|
2187
|
+
thumbnailUrl?: string;
|
|
2188
|
+
triggerType: NotificationTriggerType;
|
|
2189
|
+
scheduleTime?: Date;
|
|
2190
|
+
status?: NotificationStatus;
|
|
2191
|
+
substitutions: NotificationSubstitution[];
|
|
2192
|
+
}
|
|
2193
|
+
|
|
2194
|
+
/**
|
|
2195
|
+
* Represents a SendGrid transactional template.
|
|
2196
|
+
*/
|
|
2197
|
+
export declare interface EmailTemplate {
|
|
2198
|
+
/**
|
|
2199
|
+
* The ID of the transactional template.
|
|
2200
|
+
*/
|
|
2201
|
+
id: string;
|
|
2202
|
+
/**
|
|
2203
|
+
* The name of the transactional template.
|
|
2204
|
+
* @maxLength 100
|
|
2205
|
+
*/
|
|
2206
|
+
name: string;
|
|
2207
|
+
/**
|
|
2208
|
+
* Defines the generation of the template.
|
|
2209
|
+
* @format 'dynamic' | 'legacy'
|
|
2210
|
+
*/
|
|
2211
|
+
generation: 'dynamic' | 'legacy';
|
|
2212
|
+
/**
|
|
2213
|
+
* The date and time the template was last updated.
|
|
2214
|
+
*/
|
|
2215
|
+
updated_at: string;
|
|
2216
|
+
/**
|
|
2217
|
+
* An array of versions associated with the template.
|
|
2218
|
+
*/
|
|
2219
|
+
versions: EmailTemplateVersion[];
|
|
1755
2220
|
}
|
|
1756
2221
|
|
|
1757
2222
|
export declare interface EmailTemplateVersion {
|
|
@@ -1823,7 +2288,6 @@ export declare interface EmitterInterface {
|
|
|
1823
2288
|
isSupported: (even: string) => boolean;
|
|
1824
2289
|
addListener: <T = unknown>(event: string, cb: (value: T) => Empty_2) => void;
|
|
1825
2290
|
removeListener: <T = unknown>(event: string, cb: (value: T) => Empty_2) => void;
|
|
1826
|
-
emitEvent: (event: string, value?: unknown) => void;
|
|
1827
2291
|
}
|
|
1828
2292
|
|
|
1829
2293
|
/**
|
|
@@ -1848,6 +2312,17 @@ export declare type Events = {
|
|
|
1848
2312
|
'on-error': Error;
|
|
1849
2313
|
};
|
|
1850
2314
|
|
|
2315
|
+
export declare interface ExploreItem {
|
|
2316
|
+
title: Translation;
|
|
2317
|
+
description: Translation;
|
|
2318
|
+
button?: {
|
|
2319
|
+
href: string;
|
|
2320
|
+
text: Translation;
|
|
2321
|
+
};
|
|
2322
|
+
}
|
|
2323
|
+
|
|
2324
|
+
export declare type ExploreTileSpecificData = ExploreItem;
|
|
2325
|
+
|
|
1851
2326
|
export declare interface ExtensionMetadata {
|
|
1852
2327
|
purchaseStatus: CloudflareStreamingPurchaseStatus;
|
|
1853
2328
|
activeVideoId?: string;
|
|
@@ -1861,22 +2336,12 @@ export declare type ExternalTvConfig = {
|
|
|
1861
2336
|
splashScreenBackgroundColor?: string;
|
|
1862
2337
|
};
|
|
1863
2338
|
|
|
1864
|
-
export declare interface
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
}
|
|
1868
|
-
|
|
1869
|
-
export declare interface FavoriteVideoWithData {
|
|
1870
|
-
content: Video;
|
|
1871
|
-
type: 'video';
|
|
2339
|
+
export declare interface FaqItem {
|
|
2340
|
+
question: Translation;
|
|
2341
|
+
answer: Translation;
|
|
1872
2342
|
}
|
|
1873
2343
|
|
|
1874
|
-
|
|
1875
|
-
* @public
|
|
1876
|
-
*/
|
|
1877
|
-
export declare type FavoriteWithData = FavoriteVideoWithData | (FavoriteTagWithData & {
|
|
1878
|
-
profileId?: string;
|
|
1879
|
-
});
|
|
2344
|
+
export declare type FaqTileSpecificData = FaqItem;
|
|
1880
2345
|
|
|
1881
2346
|
/**
|
|
1882
2347
|
* @throws if fetch fails
|
|
@@ -1926,7 +2391,6 @@ export declare interface ForbiddenOnCallError extends GenericOnCallError {
|
|
|
1926
2391
|
}
|
|
1927
2392
|
|
|
1928
2393
|
export declare enum ForbiddenReason {
|
|
1929
|
-
AD_BLOCKING = "AD_BLOCKING",
|
|
1930
2394
|
MONETIZATION = "MONETIZATION",
|
|
1931
2395
|
GEO_BLOCKING = "GEO_BLOCKING",
|
|
1932
2396
|
EMAIL_ALREADY_EXISTS = "EMAIL_ALREADY_EXISTS",
|
|
@@ -1937,8 +2401,7 @@ export declare enum ForbiddenReason {
|
|
|
1937
2401
|
NAME_CONTAINS_INVALID_CHAR = "NAME_CONTAINS_INVALID_CHAR",
|
|
1938
2402
|
USER_ACCOUNT_LOCKED = "USER_ACCOUNT_LOCKED",
|
|
1939
2403
|
USER_NOT_FOUND = "USER_NOT_FOUND",
|
|
1940
|
-
UNSUPPORTED_BROWSER = "UNSUPPORTED_BROWSER"
|
|
1941
|
-
ANONYMOUS_USER = "ANONYMOUS_USER"
|
|
2404
|
+
UNSUPPORTED_BROWSER = "UNSUPPORTED_BROWSER"
|
|
1942
2405
|
}
|
|
1943
2406
|
|
|
1944
2407
|
/**
|
|
@@ -1946,7 +2409,7 @@ export declare enum ForbiddenReason {
|
|
|
1946
2409
|
*/
|
|
1947
2410
|
export declare type FrequencyInfo = {
|
|
1948
2411
|
title: Translation;
|
|
1949
|
-
unit:
|
|
2412
|
+
unit: MONETIZATION_FREQUENCY;
|
|
1950
2413
|
value: number;
|
|
1951
2414
|
};
|
|
1952
2415
|
|
|
@@ -2065,6 +2528,9 @@ export declare type GetPurchaseInfoResponse = {
|
|
|
2065
2528
|
};
|
|
2066
2529
|
};
|
|
2067
2530
|
|
|
2531
|
+
/**
|
|
2532
|
+
* Response type for getRowsInScreen
|
|
2533
|
+
*/
|
|
2068
2534
|
export declare type GetRowsInScreenResponse = PaginatedResponse<RowInScreen, 'screenId'>;
|
|
2069
2535
|
|
|
2070
2536
|
export declare interface GetSourceUrlRequest {
|
|
@@ -2121,6 +2587,16 @@ export declare interface GetSourceUrlRequest {
|
|
|
2121
2587
|
* Parameters related to ads.
|
|
2122
2588
|
*/
|
|
2123
2589
|
adParams?: Record<string, string | number | undefined>;
|
|
2590
|
+
/**
|
|
2591
|
+
* Which platform the resulting source should support.
|
|
2592
|
+
* If not present, any source that has non-empty `platforms` will be filtered out from the result.
|
|
2593
|
+
*/
|
|
2594
|
+
platform?: PLATFORM;
|
|
2595
|
+
/**
|
|
2596
|
+
* Device ID for device tracking on purchase documents.
|
|
2597
|
+
* Used to track which devices are accessing paid content.
|
|
2598
|
+
*/
|
|
2599
|
+
deviceId?: string;
|
|
2124
2600
|
}
|
|
2125
2601
|
|
|
2126
2602
|
export declare interface GetSourceUrlResponse {
|
|
@@ -2164,21 +2640,9 @@ export declare interface GetSourceUrlResponse {
|
|
|
2164
2640
|
* Determines session type generated for source. If no provided it will be considered 'ondemand' session type.
|
|
2165
2641
|
*/
|
|
2166
2642
|
sessionType?: VideoSourceField['sessionType'];
|
|
2167
|
-
/**
|
|
2168
|
-
* Language of the source.
|
|
2169
|
-
*/
|
|
2170
|
-
language?: LangCode;
|
|
2171
2643
|
}
|
|
2172
2644
|
|
|
2173
|
-
export declare type GetTilesInRowResponse<U extends NextPageParamType = NextPageParamType> = PaginatedResponse<TileData
|
|
2174
|
-
|
|
2175
|
-
export declare interface GetUserProfileDataOptions {
|
|
2176
|
-
/**
|
|
2177
|
-
* If true, the data will be returned for all user profiles.
|
|
2178
|
-
* If false, the data will be returned only for the active user profile.
|
|
2179
|
-
*/
|
|
2180
|
-
ignoreActiveUserProfile?: boolean;
|
|
2181
|
-
}
|
|
2645
|
+
export declare type GetTilesInRowResponse<T extends ScreenRowType = ScreenRowType, U extends NextPageParamType = NextPageParamType> = PaginatedResponse<TileData<T>, U>;
|
|
2182
2646
|
|
|
2183
2647
|
export declare interface GetUserRssUrlRequest {
|
|
2184
2648
|
organizationId: string;
|
|
@@ -2190,58 +2654,6 @@ export declare interface GetUserRssUrlResponse {
|
|
|
2190
2654
|
expiresAt?: number;
|
|
2191
2655
|
}
|
|
2192
2656
|
|
|
2193
|
-
export declare interface GetVideoAnalyticsErrorItem {
|
|
2194
|
-
count: number;
|
|
2195
|
-
timestamp: number;
|
|
2196
|
-
errorMessage: string;
|
|
2197
|
-
}
|
|
2198
|
-
|
|
2199
|
-
export declare interface GetVideoAnalyticsErrorResult {
|
|
2200
|
-
totalCount: number;
|
|
2201
|
-
errors: Array<GetVideoAnalyticsErrorItem>;
|
|
2202
|
-
}
|
|
2203
|
-
|
|
2204
|
-
export declare interface GetVideoAnalyticsRequest {
|
|
2205
|
-
contentId: string;
|
|
2206
|
-
timestamp?: number;
|
|
2207
|
-
userId?: string;
|
|
2208
|
-
source?: string;
|
|
2209
|
-
limit?: number;
|
|
2210
|
-
errorLimit?: number;
|
|
2211
|
-
errorTimestampFrom?: number;
|
|
2212
|
-
}
|
|
2213
|
-
|
|
2214
|
-
export declare interface GetVideoAnalyticsResponse {
|
|
2215
|
-
state?: GetVideoAnalyticsResult;
|
|
2216
|
-
quality?: GetVideoAnalyticsResult;
|
|
2217
|
-
error?: GetVideoAnalyticsErrorResult;
|
|
2218
|
-
localities?: unknown;
|
|
2219
|
-
}
|
|
2220
|
-
|
|
2221
|
-
export declare type GetVideoAnalyticsResult = {
|
|
2222
|
-
[timestamp: string]: {
|
|
2223
|
-
totalDuration: number;
|
|
2224
|
-
values: Array<{
|
|
2225
|
-
value: string;
|
|
2226
|
-
duration: number;
|
|
2227
|
-
percentage: number;
|
|
2228
|
-
}>;
|
|
2229
|
-
};
|
|
2230
|
-
};
|
|
2231
|
-
|
|
2232
|
-
export declare interface GetVideoAnalyticsViewsRequest {
|
|
2233
|
-
contentId: string;
|
|
2234
|
-
currentViewsIntervalMs: number;
|
|
2235
|
-
timestamp?: number;
|
|
2236
|
-
source?: string;
|
|
2237
|
-
}
|
|
2238
|
-
|
|
2239
|
-
export declare interface GetVideoAnalyticsViewsResponse {
|
|
2240
|
-
previousViews?: number;
|
|
2241
|
-
currentViews?: number;
|
|
2242
|
-
totalViews?: number;
|
|
2243
|
-
}
|
|
2244
|
-
|
|
2245
2657
|
export declare interface GetViewAnalyticsResponse {
|
|
2246
2658
|
viewCountAnalytics: ViewCountItem[];
|
|
2247
2659
|
topWatched: TopWatchItem[];
|
|
@@ -2260,6 +2672,22 @@ export declare enum GRID_TYPES {
|
|
|
2260
2672
|
SERIES = "SERIES"
|
|
2261
2673
|
}
|
|
2262
2674
|
|
|
2675
|
+
/**
|
|
2676
|
+
* @public
|
|
2677
|
+
*/
|
|
2678
|
+
export declare interface HeroBannerProps {
|
|
2679
|
+
title: string;
|
|
2680
|
+
description?: string;
|
|
2681
|
+
cover: string;
|
|
2682
|
+
onPlayClick?: () => void;
|
|
2683
|
+
onWatchlistClick?: () => void;
|
|
2684
|
+
playButtonHref?: string;
|
|
2685
|
+
watchlistButtonHref?: string;
|
|
2686
|
+
playButtonText?: string;
|
|
2687
|
+
watchlistButtonText?: string;
|
|
2688
|
+
isFavorite?: boolean;
|
|
2689
|
+
}
|
|
2690
|
+
|
|
2263
2691
|
/**
|
|
2264
2692
|
* @public
|
|
2265
2693
|
*/
|
|
@@ -2268,6 +2696,61 @@ export declare interface HistoryContextData {
|
|
|
2268
2696
|
backOrRedirectToRoot: (delta?: number) => void;
|
|
2269
2697
|
}
|
|
2270
2698
|
|
|
2699
|
+
export declare interface HomepageBannerButton {
|
|
2700
|
+
href: string;
|
|
2701
|
+
text: Translation;
|
|
2702
|
+
variant: HomepageBannerButtonVariant;
|
|
2703
|
+
leftIcon?: HomepageBannerButtonIcon;
|
|
2704
|
+
/**
|
|
2705
|
+
* Controls when this button should be visible.
|
|
2706
|
+
* Defaults to 'always' if not specified.
|
|
2707
|
+
*/
|
|
2708
|
+
visibility?: HomepageBannerButtonVisibility;
|
|
2709
|
+
}
|
|
2710
|
+
|
|
2711
|
+
export declare type HomepageBannerButtonIcon = 'play';
|
|
2712
|
+
|
|
2713
|
+
export declare type HomepageBannerButtonVariant = 'primary' | 'secondary';
|
|
2714
|
+
|
|
2715
|
+
/**
|
|
2716
|
+
* Visibility condition for banner buttons.
|
|
2717
|
+
* - 'always': Button is always visible (default)
|
|
2718
|
+
* - 'notSignedIn': Button is only visible when user is not signed in
|
|
2719
|
+
* - 'signedIn': Button is only visible when user is signed in
|
|
2720
|
+
*/
|
|
2721
|
+
export declare type HomepageBannerButtonVisibility = 'always' | 'notSignedIn' | 'signedIn';
|
|
2722
|
+
|
|
2723
|
+
export declare interface HomepageBannerExtendRowData {
|
|
2724
|
+
/**
|
|
2725
|
+
* Main title displayed on the banner
|
|
2726
|
+
*/
|
|
2727
|
+
title?: Translation;
|
|
2728
|
+
/**
|
|
2729
|
+
* Subtitle/tagline displayed below title
|
|
2730
|
+
*/
|
|
2731
|
+
subtitle?: {
|
|
2732
|
+
text: Translation;
|
|
2733
|
+
showIcon?: boolean;
|
|
2734
|
+
};
|
|
2735
|
+
/**
|
|
2736
|
+
* Multiple lines of descriptive text for multiline display
|
|
2737
|
+
*/
|
|
2738
|
+
descriptionLines?: Translation[];
|
|
2739
|
+
/**
|
|
2740
|
+
* Array of buttons to display on the banner
|
|
2741
|
+
*/
|
|
2742
|
+
buttons?: HomepageBannerButton[];
|
|
2743
|
+
/**
|
|
2744
|
+
* Single background image asset (legacy, use backgroundAssets for random selection)
|
|
2745
|
+
*/
|
|
2746
|
+
asset?: ScalableAsset;
|
|
2747
|
+
/**
|
|
2748
|
+
* Array of background assets for random selection per page load.
|
|
2749
|
+
* If provided, one will be randomly selected each time the banner loads.
|
|
2750
|
+
*/
|
|
2751
|
+
backgroundAssets?: ScalableAsset[];
|
|
2752
|
+
}
|
|
2753
|
+
|
|
2271
2754
|
export declare type IncludedItem = {
|
|
2272
2755
|
attributes: {
|
|
2273
2756
|
next_charge_date: string;
|
|
@@ -2303,10 +2786,23 @@ export declare interface IndexedTag extends IndexedObject {
|
|
|
2303
2786
|
created: Date;
|
|
2304
2787
|
name: Translation;
|
|
2305
2788
|
description?: string;
|
|
2789
|
+
/**
|
|
2790
|
+
* True if the tag has assets (non-empty assets object).
|
|
2791
|
+
*/
|
|
2792
|
+
hasAssets: boolean;
|
|
2793
|
+
/**
|
|
2794
|
+
* True if the tag has content (has videos or series episodes).
|
|
2795
|
+
*/
|
|
2796
|
+
hasContent: boolean;
|
|
2306
2797
|
/**
|
|
2307
2798
|
* True if the tag is available in Tivio Pro (StarMe)
|
|
2308
2799
|
*/
|
|
2309
2800
|
isTivioPro: boolean;
|
|
2801
|
+
/**
|
|
2802
|
+
* Parental guidance rating (e.g., "O", "07", "U", "7+")
|
|
2803
|
+
* Used for filtering content based on age restrictions for kids profiles
|
|
2804
|
+
*/
|
|
2805
|
+
pgRating?: string;
|
|
2310
2806
|
}
|
|
2311
2807
|
|
|
2312
2808
|
/**
|
|
@@ -2352,6 +2848,11 @@ export declare interface IndexedVideo extends IndexedObject {
|
|
|
2352
2848
|
defaultName: string;
|
|
2353
2849
|
name: string | Translation;
|
|
2354
2850
|
description: string | Translation;
|
|
2851
|
+
descriptionRich?: Translation;
|
|
2852
|
+
/**
|
|
2853
|
+
* EPG program-friendly name
|
|
2854
|
+
*/
|
|
2855
|
+
shortName?: Translation;
|
|
2355
2856
|
hide: boolean;
|
|
2356
2857
|
isDuplicate: boolean;
|
|
2357
2858
|
externals?: VideoExternals;
|
|
@@ -2370,6 +2871,14 @@ export declare interface IndexedVideo extends IndexedObject {
|
|
|
2370
2871
|
* see https://www.algolia.com/doc/guides/managing-results/refine-results/filtering/how-to/filter-by-attributes/#filter-by-null-or-missing-attributes.
|
|
2371
2872
|
*/
|
|
2372
2873
|
monetizationAccessIds: string[] | false;
|
|
2874
|
+
/**
|
|
2875
|
+
* See {@link VideoDocument.pgRating}
|
|
2876
|
+
*/
|
|
2877
|
+
pgRating?: string;
|
|
2878
|
+
/**
|
|
2879
|
+
* See {@link VideoDocument.contentDescriptors}
|
|
2880
|
+
*/
|
|
2881
|
+
contentDescriptors?: string[];
|
|
2373
2882
|
}
|
|
2374
2883
|
|
|
2375
2884
|
/**
|
|
@@ -2382,44 +2891,12 @@ export declare interface InputOptions {
|
|
|
2382
2891
|
color?: string;
|
|
2383
2892
|
}
|
|
2384
2893
|
|
|
2385
|
-
export declare type InputSourceParams = SourceParams | VodExternalMultiSourceParams;
|
|
2386
|
-
|
|
2387
2894
|
export declare type IntegrationType = 'discord' | 'patreon';
|
|
2388
2895
|
|
|
2389
|
-
export declare
|
|
2390
|
-
readonly id: string;
|
|
2391
|
-
readonly path: string;
|
|
2392
|
-
readonly currentQuestion: CurrentQuestion | null;
|
|
2393
|
-
readonly status: QuizGameStatus;
|
|
2394
|
-
readonly questionsCount: number;
|
|
2395
|
-
readonly currentAnswerId?: string;
|
|
2396
|
-
readonly currentState: InteractiveWidgetState;
|
|
2397
|
-
/**
|
|
2398
|
-
* State delayed for end users, which is used to toggle scenes just like in OBS and host view
|
|
2399
|
-
*/
|
|
2400
|
-
readonly currentStateWithDelay: InteractiveWidgetCurrentStateWithDelay;
|
|
2401
|
-
readonly answers?: QuestionAnswer[];
|
|
2402
|
-
readonly questionIndex?: number;
|
|
2403
|
-
readonly isSubmitted?: boolean;
|
|
2404
|
-
readonly leaderboard: LeaderboardGroupItem | null;
|
|
2405
|
-
readonly highlightedUsersIds: string[];
|
|
2406
|
-
readonly userRole: QuizGameRole;
|
|
2407
|
-
readonly secondsToAnswer: number;
|
|
2408
|
-
readonly scenes: T[];
|
|
2409
|
-
readonly activeScene: T | null;
|
|
2410
|
-
readonly theme?: InteractiveWidgetTheme;
|
|
2411
|
-
readonly showCountdown: boolean;
|
|
2412
|
-
readonly lastQuestionTopScorers: LeaderboardPlayer[];
|
|
2413
|
-
readonly questionRepository: QuestionRepository;
|
|
2414
|
-
readonly isWaitingForStart: boolean;
|
|
2415
|
-
answerQuestion(answerId: string): void;
|
|
2416
|
-
submitAnswer(request: Pick<SubmitAnswerRequest, 'answerOptionId' | 'answerText'>): Promise<void>;
|
|
2417
|
-
verifyJoinCode(joinCode: string, shouldJoinPlayer?: boolean): Promise<boolean>;
|
|
2418
|
-
destroy(): void;
|
|
2419
|
-
}
|
|
2896
|
+
export declare type InteractiveWidget<TScene extends InteractiveWidgetScene = InteractiveWidgetScene> = QuizWidget<TScene> | PollWidget<TScene>;
|
|
2420
2897
|
|
|
2421
|
-
export declare interface InteractiveWidgetCurrentStateWithDelay {
|
|
2422
|
-
state:
|
|
2898
|
+
export declare interface InteractiveWidgetCurrentStateWithDelay<TState extends InteractiveWidgetState = InteractiveWidgetState> {
|
|
2899
|
+
state: TState;
|
|
2423
2900
|
enteredAt: Date;
|
|
2424
2901
|
}
|
|
2425
2902
|
|
|
@@ -2433,6 +2910,27 @@ export declare enum InteractiveWidgetDisplayComponent {
|
|
|
2433
2910
|
AD_VAST = "adVast"
|
|
2434
2911
|
}
|
|
2435
2912
|
|
|
2913
|
+
export declare interface InteractiveWidgetGroupStats {
|
|
2914
|
+
answerPercentages: Record<string, number>;
|
|
2915
|
+
averageScore: number;
|
|
2916
|
+
correctAnswersRatio: number;
|
|
2917
|
+
}
|
|
2918
|
+
|
|
2919
|
+
export declare enum InteractiveWidgetGroupType {
|
|
2920
|
+
HIGHLIGHTED_PLAYERS = "HIGHLIGHTED_PLAYERS",
|
|
2921
|
+
/** Participants playing in Offline mode */
|
|
2922
|
+
LOCAL_PLAYERS = "LOCAL_PLAYERS",
|
|
2923
|
+
ALL = "ALL",
|
|
2924
|
+
PARTY = "PARTY"
|
|
2925
|
+
}
|
|
2926
|
+
|
|
2927
|
+
export declare enum InteractiveWidgetRole {
|
|
2928
|
+
OBS = "OBS",
|
|
2929
|
+
HOST = "HOST",
|
|
2930
|
+
PLAYER = "PLAYER",
|
|
2931
|
+
LOCAL_PLAYER = "LOCAL_PLAYER"
|
|
2932
|
+
}
|
|
2933
|
+
|
|
2436
2934
|
export declare type InteractiveWidgetScene = CurrentQuestionScene | LeaderboardScene | QRCodeScene | AdBannerScene | PlayersScene | NoGraphicsScene | CountdownScene;
|
|
2437
2935
|
|
|
2438
2936
|
export declare interface InteractiveWidgetSceneBase<TType extends InteractiveWidgetSceneTemplateType> {
|
|
@@ -2490,6 +2988,16 @@ export declare enum InteractiveWidgetState {
|
|
|
2490
2988
|
RESET_GAME = "ResetGame"
|
|
2491
2989
|
}
|
|
2492
2990
|
|
|
2991
|
+
export declare enum InteractiveWidgetStatus {
|
|
2992
|
+
/**
|
|
2993
|
+
* Waiting to start the quiz / question
|
|
2994
|
+
*/
|
|
2995
|
+
WAITING = "WAITING",
|
|
2996
|
+
IN_PROGRESS = "IN_PROGRESS",
|
|
2997
|
+
IN_BETWEEN_QUESTIONS = "IN_BETWEEN_QUESTIONS",
|
|
2998
|
+
DONE = "DONE"
|
|
2999
|
+
}
|
|
3000
|
+
|
|
2493
3001
|
export declare interface InteractiveWidgetTheme {
|
|
2494
3002
|
palette: Record<string, string>;
|
|
2495
3003
|
components: {
|
|
@@ -2499,6 +3007,11 @@ export declare interface InteractiveWidgetTheme {
|
|
|
2499
3007
|
|
|
2500
3008
|
declare type InteractiveWidgetThemeKey = InteractiveWidgetDisplayComponent | `${InteractiveWidgetDisplayComponent.CURRENT_QUESTION}${AnswerStatus}` | 'timeLeftBar';
|
|
2501
3009
|
|
|
3010
|
+
export declare enum InteractiveWidgetType {
|
|
3011
|
+
POLL = "POLL",
|
|
3012
|
+
QUIZ = "QUIZ"
|
|
3013
|
+
}
|
|
3014
|
+
|
|
2502
3015
|
/**
|
|
2503
3016
|
* @public
|
|
2504
3017
|
*/
|
|
@@ -2525,6 +3038,15 @@ export declare type InternalConfig = SdkReactConfig & {
|
|
|
2525
3038
|
forceCloudFnResolver?: boolean;
|
|
2526
3039
|
};
|
|
2527
3040
|
|
|
3041
|
+
/**
|
|
3042
|
+
* Subset of `BaseInteractiveWidget` methods that are intentionally **not**
|
|
3043
|
+
* advertised on the SDK hook return types (`useInteractiveWidget`,
|
|
3044
|
+
* `useQuizWidget`, `usePollWidget`). These methods still exist at runtime and
|
|
3045
|
+
* are used by internal `core-react-dom` UI / server flows — they're just hidden
|
|
3046
|
+
* from external SDK consumers, which should only call `submitAnswer`.
|
|
3047
|
+
*/
|
|
3048
|
+
export declare type InternalInteractiveWidgetMethods = 'answerQuestion' | 'verifyJoinCode' | 'changeState';
|
|
3049
|
+
|
|
2528
3050
|
/**
|
|
2529
3051
|
* @public
|
|
2530
3052
|
*/
|
|
@@ -2587,17 +3109,35 @@ export declare type ItemInRow = Tag | Video | TvChannel | Advertisement | Applic
|
|
|
2587
3109
|
* @public
|
|
2588
3110
|
*/
|
|
2589
3111
|
export declare interface JojExternals {
|
|
3112
|
+
/**
|
|
3113
|
+
* e.g. '19876'
|
|
3114
|
+
*/
|
|
2590
3115
|
tvProfiProgramId?: string;
|
|
3116
|
+
/**
|
|
3117
|
+
* e.g. 'S19876'
|
|
3118
|
+
*/
|
|
2591
3119
|
tvProfiContentId?: string;
|
|
2592
3120
|
tvProfiSerialId?: string;
|
|
3121
|
+
/**
|
|
3122
|
+
* e.g. '70368744177695432'
|
|
3123
|
+
*/
|
|
2593
3124
|
contentId?: string;
|
|
2594
3125
|
/**
|
|
2595
3126
|
* Temporary contentId used only for live channel. The video is already encoded and stored in our storage
|
|
2596
3127
|
* but is also stored on nangu platform to be used for live channel.
|
|
2597
3128
|
*/
|
|
2598
3129
|
dvtvExtraContentId?: string;
|
|
3130
|
+
/**
|
|
3131
|
+
* e.g. 'W278510'
|
|
3132
|
+
*/
|
|
2599
3133
|
provysId?: string;
|
|
3134
|
+
/**
|
|
3135
|
+
* real provysId unlike provysId, e.g. '2-231027-0009'
|
|
3136
|
+
*/
|
|
2600
3137
|
tvProfiProvysId?: string;
|
|
3138
|
+
/**
|
|
3139
|
+
* e.g. 'W278510'
|
|
3140
|
+
*/
|
|
2601
3141
|
tvProfiHouseId?: string;
|
|
2602
3142
|
tvProfiTitleOriginal?: string;
|
|
2603
3143
|
tvProfiTitleSk?: string;
|
|
@@ -2623,7 +3163,20 @@ export declare enum LangCode {
|
|
|
2623
3163
|
HU = "hu"
|
|
2624
3164
|
}
|
|
2625
3165
|
|
|
2626
|
-
export declare const
|
|
3166
|
+
export declare const LangCodeToCountryCodeMap: Partial<Record<LangCode, string>>;
|
|
3167
|
+
|
|
3168
|
+
export declare const LangCodeToCurrencyMap: Partial<Record<LangCode, Currency>>;
|
|
3169
|
+
|
|
3170
|
+
export declare const LangCodeToTitle: Record<LangCode, string>;
|
|
3171
|
+
|
|
3172
|
+
/**
|
|
3173
|
+
* Generic type for items that can be restricted to specific languages.
|
|
3174
|
+
* Use with filterByLanguageRestricted utility from @tivio/common.
|
|
3175
|
+
*/
|
|
3176
|
+
export declare interface LanguageRestricted {
|
|
3177
|
+
/** By default is available in every language */
|
|
3178
|
+
availableIn?: LangCode[];
|
|
3179
|
+
}
|
|
2627
3180
|
|
|
2628
3181
|
/**
|
|
2629
3182
|
* All supported languages codes as in ISO 639-1
|
|
@@ -2648,7 +3201,7 @@ export declare interface LastMessage {
|
|
|
2648
3201
|
export declare interface LeaderboardGroupItem {
|
|
2649
3202
|
groupPath?: string;
|
|
2650
3203
|
groupName?: string;
|
|
2651
|
-
type:
|
|
3204
|
+
type: InteractiveWidgetGroupType;
|
|
2652
3205
|
/**
|
|
2653
3206
|
* Consists of top 3 players of the group (global or private team)
|
|
2654
3207
|
* the player's rank in the group
|
|
@@ -2818,11 +3371,35 @@ export declare enum LoginRedirect {
|
|
|
2818
3371
|
REMOTE_CONTROLLER = "remote-controller"
|
|
2819
3372
|
}
|
|
2820
3373
|
|
|
3374
|
+
declare interface ManageMemberDeleteRequest extends ManageMemberRequestBase {
|
|
3375
|
+
action: 'deleteMember';
|
|
3376
|
+
}
|
|
3377
|
+
|
|
3378
|
+
export declare type ManageMemberRequest = ManageMemberUpdateRoleRequest | ManageMemberDeleteRequest;
|
|
3379
|
+
|
|
2821
3380
|
/**
|
|
2822
|
-
*
|
|
3381
|
+
* Request body for manageMember cloud function.
|
|
3382
|
+
* Handles member management operations (role update, deletion) within an organization.
|
|
3383
|
+
*/
|
|
3384
|
+
declare interface ManageMemberRequestBase {
|
|
3385
|
+
organizationId: string;
|
|
3386
|
+
targetMemberUid: string;
|
|
3387
|
+
}
|
|
3388
|
+
|
|
3389
|
+
/**
|
|
3390
|
+
* Response body for manageMember cloud function.
|
|
2823
3391
|
*/
|
|
2824
|
-
export declare interface
|
|
2825
|
-
|
|
3392
|
+
export declare interface ManageMemberResponse {
|
|
3393
|
+
success: boolean;
|
|
3394
|
+
}
|
|
3395
|
+
|
|
3396
|
+
declare interface ManageMemberUpdateRoleRequest extends ManageMemberRequestBase {
|
|
3397
|
+
action: 'updateRole';
|
|
3398
|
+
/**
|
|
3399
|
+
* New role for the target member.
|
|
3400
|
+
* Value corresponds to OrganizationMemberRoles enum from @tivio/firebase.
|
|
3401
|
+
*/
|
|
3402
|
+
role: number;
|
|
2826
3403
|
}
|
|
2827
3404
|
|
|
2828
3405
|
/**
|
|
@@ -2886,11 +3463,37 @@ export declare enum MarkerType {
|
|
|
2886
3463
|
NONE = "none"
|
|
2887
3464
|
}
|
|
2888
3465
|
|
|
3466
|
+
/**
|
|
3467
|
+
* Tile data for MEDIA_ACCORDEON rows.
|
|
3468
|
+
* Contains id, name, and path for video references.
|
|
3469
|
+
* @public
|
|
3470
|
+
*/
|
|
3471
|
+
export declare interface MediaAccordeonTileSpecificData {
|
|
3472
|
+
/**
|
|
3473
|
+
* Custom item ID for unique identification.
|
|
3474
|
+
*/
|
|
3475
|
+
id: string;
|
|
3476
|
+
/**
|
|
3477
|
+
* Custom item name for display purposes.
|
|
3478
|
+
*/
|
|
3479
|
+
name: Translation;
|
|
3480
|
+
/**
|
|
3481
|
+
* Firestore path to the video.
|
|
3482
|
+
*/
|
|
3483
|
+
path: string;
|
|
3484
|
+
}
|
|
3485
|
+
|
|
2889
3486
|
declare type Membership = {
|
|
2890
3487
|
id: string;
|
|
2891
3488
|
type: string;
|
|
2892
3489
|
};
|
|
2893
3490
|
|
|
3491
|
+
export declare type MergeUserAccountsPayload = {
|
|
3492
|
+
email: string;
|
|
3493
|
+
name?: string;
|
|
3494
|
+
password: string;
|
|
3495
|
+
};
|
|
3496
|
+
|
|
2894
3497
|
/**
|
|
2895
3498
|
* @public
|
|
2896
3499
|
*/
|
|
@@ -2926,6 +3529,17 @@ export declare interface MessageUser {
|
|
|
2926
3529
|
email: string;
|
|
2927
3530
|
}
|
|
2928
3531
|
|
|
3532
|
+
export declare enum MetadataFieldId {
|
|
3533
|
+
NAME = "name",// always required
|
|
3534
|
+
SHORT_NAME = "shortName",// optional, fixed position (not sortable)
|
|
3535
|
+
DESCRIPTION = "description",// always required
|
|
3536
|
+
RICH_DESCRIPTION = "richDescription",// optional, fixed position (not sortable)
|
|
3537
|
+
TAGS = "tags",
|
|
3538
|
+
FILM_DETAILS = "filmDetails",
|
|
3539
|
+
AUDIENCE_LIMITATIONS = "audienceLimitations",
|
|
3540
|
+
PRODUCT_PLACEMENT = "productPlacement"
|
|
3541
|
+
}
|
|
3542
|
+
|
|
2929
3543
|
/**
|
|
2930
3544
|
* External information of video migrated via our Public API.
|
|
2931
3545
|
* @public
|
|
@@ -3147,11 +3761,6 @@ declare type Notification_2 = {
|
|
|
3147
3761
|
} & EmailNotification;
|
|
3148
3762
|
export { Notification_2 as Notification }
|
|
3149
3763
|
|
|
3150
|
-
export declare interface NotificationDuration {
|
|
3151
|
-
value: number;
|
|
3152
|
-
unit: dayjs.ManipulateType;
|
|
3153
|
-
}
|
|
3154
|
-
|
|
3155
3764
|
export declare type NotificationFilterType = NotificationFirestoreFilterType | NotificationSurveyFilterType | NotificationLastActivityFilterType;
|
|
3156
3765
|
|
|
3157
3766
|
export declare type NotificationFirestoreFilterType = NotificationSubscriptionFilterType | NotificationMembershipFilterType;
|
|
@@ -3174,12 +3783,21 @@ export declare interface NotificationMembershipFilterType {
|
|
|
3174
3783
|
};
|
|
3175
3784
|
}
|
|
3176
3785
|
|
|
3786
|
+
/**
|
|
3787
|
+
* Lifecycle status of a notification.
|
|
3788
|
+
*/
|
|
3177
3789
|
export declare enum NotificationStatus {
|
|
3790
|
+
/** Automatic trigger types (e.g. purchaseStatusChange, duration, userRegistration); not manually or scheduled sent. */
|
|
3178
3791
|
AUTOMATIC = "automatic",
|
|
3792
|
+
/** Editable, not yet scheduled or sent. Initial state; can transition to PLANNED when scheduled. */
|
|
3179
3793
|
DRAFT = "draft",
|
|
3794
|
+
/** Scheduled (e.g. Cloud Task created for email, or push scheduled). For push, sending runs on DRAFT→PLANNED then status becomes SENT. */
|
|
3180
3795
|
PLANNED = "planned",
|
|
3796
|
+
/** Notification has been sent. Set after push send and after email send for manual/scheduled. */
|
|
3181
3797
|
SENT = "sent",
|
|
3798
|
+
/** Manual trigger saved and waiting to be sent (no lastSent yet). */
|
|
3182
3799
|
WAITING = "waiting",
|
|
3800
|
+
/** Currently being sent (e.g. EmailSender sets RUNNING before sendEmails). Saving and re-sending are blocked while RUNNING. */
|
|
3183
3801
|
RUNNING = "running"
|
|
3184
3802
|
}
|
|
3185
3803
|
|
|
@@ -3213,6 +3831,17 @@ export declare interface NotificationTargeting {
|
|
|
3213
3831
|
to?: Date;
|
|
3214
3832
|
}
|
|
3215
3833
|
|
|
3834
|
+
/**
|
|
3835
|
+
* How the notification is triggered.
|
|
3836
|
+
* - **scheduled**: Sent at a fixed time (scheduleTime). Status becomes PLANNED when scheduled;
|
|
3837
|
+
* used with Cloud Tasks for email and for push when moving from DRAFT to PLANNED.
|
|
3838
|
+
* - **manual**: Sent on demand from the admin. Status is WAITING until sent, then SENT.
|
|
3839
|
+
* - **purchaseStatusChange**: Fired when a user's purchase/subscription status changes (before/after).
|
|
3840
|
+
* Matched by getNotificationByPurchaseStatuses; status is AUTOMATIC.
|
|
3841
|
+
* - **duration**: Time-based (e.g. subscription duration). Used by the daily email job (sendEmailsDaily)
|
|
3842
|
+
* via DurationEmailSender to target users by duration criteria.
|
|
3843
|
+
* - **userRegistration**: Fired when a user registers. Resolved by getNotificationUserRegistration.
|
|
3844
|
+
*/
|
|
3216
3845
|
export declare type NotificationTriggerType = 'scheduled' | 'manual' | 'purchaseStatusChange' | 'duration' | 'userRegistration';
|
|
3217
3846
|
|
|
3218
3847
|
export declare enum NotificationType {
|
|
@@ -3227,6 +3856,13 @@ export declare type Nullable<T> = {
|
|
|
3227
3856
|
[P in keyof T]: T[P] | null;
|
|
3228
3857
|
};
|
|
3229
3858
|
|
|
3859
|
+
export declare interface NumberItem {
|
|
3860
|
+
value: string;
|
|
3861
|
+
description: Translation;
|
|
3862
|
+
}
|
|
3863
|
+
|
|
3864
|
+
export declare type NumbersTileSpecificData = NumberItem;
|
|
3865
|
+
|
|
3230
3866
|
/**
|
|
3231
3867
|
* @public
|
|
3232
3868
|
*/
|
|
@@ -3302,6 +3938,20 @@ export declare interface OrganizationSettingsField extends OrganizationResponsiv
|
|
|
3302
3938
|
enabled: boolean;
|
|
3303
3939
|
};
|
|
3304
3940
|
allowedSignInProviders?: SignInProvider[];
|
|
3941
|
+
/**
|
|
3942
|
+
* Social authentication provider for this organization
|
|
3943
|
+
* 'auth0' - Use Auth0 for social login (Kviff)
|
|
3944
|
+
* 'firebase' - Use Firebase Auth for social login (default)
|
|
3945
|
+
*/
|
|
3946
|
+
socialAuthProvider?: 'auth0' | 'firebase';
|
|
3947
|
+
/**
|
|
3948
|
+
* Auth0 configuration for organizations using Auth0 social login.
|
|
3949
|
+
* Only relevant when socialAuthProvider === 'auth0'.
|
|
3950
|
+
*/
|
|
3951
|
+
auth0?: {
|
|
3952
|
+
domain: string;
|
|
3953
|
+
clientId: string;
|
|
3954
|
+
};
|
|
3305
3955
|
disableComments?: boolean;
|
|
3306
3956
|
/**
|
|
3307
3957
|
* Used on CNC webs - When buying a yearly subscription the recalculated monthly price is display below the yearly price
|
|
@@ -3347,6 +3997,11 @@ export declare interface OrganizationSettingsField extends OrganizationResponsiv
|
|
|
3347
3997
|
id: string;
|
|
3348
3998
|
};
|
|
3349
3999
|
};
|
|
4000
|
+
/**
|
|
4001
|
+
* 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.
|
|
4002
|
+
* The logic can be found here: {@link apps/api/functions/src/model/purchase.ts}
|
|
4003
|
+
* 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.
|
|
4004
|
+
*/
|
|
3350
4005
|
cancelledSubscriptionDiscount?: {
|
|
3351
4006
|
enabled: boolean;
|
|
3352
4007
|
};
|
|
@@ -3362,6 +4017,28 @@ export declare interface OrganizationSettingsField extends OrganizationResponsiv
|
|
|
3362
4017
|
pushNotifications?: {
|
|
3363
4018
|
enabled?: boolean;
|
|
3364
4019
|
};
|
|
4020
|
+
recommendations?: {
|
|
4021
|
+
videosNoOlderThan?: {
|
|
4022
|
+
unit: 'month';
|
|
4023
|
+
value: number;
|
|
4024
|
+
};
|
|
4025
|
+
};
|
|
4026
|
+
/**
|
|
4027
|
+
* Payment flow configuration
|
|
4028
|
+
* @default PaymentFlow.NEW
|
|
4029
|
+
*/
|
|
4030
|
+
paymentFlow?: PaymentFlow;
|
|
4031
|
+
contentMetadata?: {
|
|
4032
|
+
[MetadataFieldId.SHORT_NAME]?: ContentMetadataOptions;
|
|
4033
|
+
[MetadataFieldId.RICH_DESCRIPTION]?: ContentMetadataOptions;
|
|
4034
|
+
[MetadataFieldId.TAGS]?: ContentMetadataOptions;
|
|
4035
|
+
[MetadataFieldId.FILM_DETAILS]?: ContentMetadataOptions;
|
|
4036
|
+
[MetadataFieldId.AUDIENCE_LIMITATIONS]?: ContentMetadataOptions;
|
|
4037
|
+
[MetadataFieldId.PRODUCT_PLACEMENT]?: ContentMetadataOptions;
|
|
4038
|
+
};
|
|
4039
|
+
aiProcessing?: {
|
|
4040
|
+
assets?: boolean;
|
|
4041
|
+
};
|
|
3365
4042
|
}
|
|
3366
4043
|
|
|
3367
4044
|
/**
|
|
@@ -3376,7 +4053,7 @@ export declare type OtherSource = SourceBase & StartAndContinuePosition & {
|
|
|
3376
4053
|
|
|
3377
4054
|
export declare interface PaginatedResponse<T = unknown, U extends NextPageParamType = NextPageParamType> {
|
|
3378
4055
|
items: T[];
|
|
3379
|
-
nextPageParams: {
|
|
4056
|
+
nextPageParams: ({
|
|
3380
4057
|
offset: number;
|
|
3381
4058
|
limit: number;
|
|
3382
4059
|
} & (U extends 'screenId' ? {
|
|
@@ -3388,7 +4065,7 @@ export declare interface PaginatedResponse<T = unknown, U extends NextPageParamT
|
|
|
3388
4065
|
rowId: string;
|
|
3389
4066
|
} : U extends 'filter' ? {
|
|
3390
4067
|
filter: Omit<RowFilterField, 'limit'>;
|
|
3391
|
-
} :
|
|
4068
|
+
} : object)) | null;
|
|
3392
4069
|
}
|
|
3393
4070
|
|
|
3394
4071
|
/**
|
|
@@ -3423,20 +4100,6 @@ export declare interface PartialRegistrationOverlayContextState {
|
|
|
3423
4100
|
voucher?: string;
|
|
3424
4101
|
}
|
|
3425
4102
|
|
|
3426
|
-
/**
|
|
3427
|
-
* @public
|
|
3428
|
-
* Generic interface for sources that can be identified by a path (video or TV channel)
|
|
3429
|
-
*/
|
|
3430
|
-
export declare type PathSourceParams = PathSourceParamsTvChannel | PathSourceParamsVideo;
|
|
3431
|
-
|
|
3432
|
-
declare interface PathSourceParamsTvChannel extends Partial<ChannelSourceParams> {
|
|
3433
|
-
path: `tvChannels/${string}`;
|
|
3434
|
-
}
|
|
3435
|
-
|
|
3436
|
-
declare interface PathSourceParamsVideo extends Partial<Omit<VodTivioSourceParams, 'videoPath'>> {
|
|
3437
|
-
path: `videos/${string}`;
|
|
3438
|
-
}
|
|
3439
|
-
|
|
3440
4103
|
export declare type PatreonCreatorData = {
|
|
3441
4104
|
campaign: string;
|
|
3442
4105
|
tiers: Tier[];
|
|
@@ -3480,6 +4143,17 @@ export declare type PatreonUserResponse = {
|
|
|
3480
4143
|
errors?: PatreonError[];
|
|
3481
4144
|
};
|
|
3482
4145
|
|
|
4146
|
+
/**
|
|
4147
|
+
* @public
|
|
4148
|
+
*
|
|
4149
|
+
* - NEW: Automatically show payment overlay when tasting video ends (ContentIsPaidOverlay with poster)
|
|
4150
|
+
* - LEGACY: Old behavior - users must manually click to purchase, no automatic overlay
|
|
4151
|
+
*/
|
|
4152
|
+
export declare enum PaymentFlow {
|
|
4153
|
+
NEW = "new",
|
|
4154
|
+
LEGACY = "legacy"
|
|
4155
|
+
}
|
|
4156
|
+
|
|
3483
4157
|
/**
|
|
3484
4158
|
* @public
|
|
3485
4159
|
*/
|
|
@@ -3596,11 +4270,6 @@ export declare type PlayerConfig = {
|
|
|
3596
4270
|
*/
|
|
3597
4271
|
name: 'IMA SDK' | 'TIVIO AD SERVICE';
|
|
3598
4272
|
};
|
|
3599
|
-
/**
|
|
3600
|
-
* If true, then TV channels are not available for anonymous users and they will be shown an overlay to sign in.
|
|
3601
|
-
* @default false
|
|
3602
|
-
*/
|
|
3603
|
-
disableTvChannelsForAnonymousUsers?: boolean;
|
|
3604
4273
|
};
|
|
3605
4274
|
|
|
3606
4275
|
/**
|
|
@@ -3612,6 +4281,8 @@ export declare interface PlayerEngineConfig {
|
|
|
3612
4281
|
isAd?: boolean;
|
|
3613
4282
|
positionMs?: number;
|
|
3614
4283
|
url: string;
|
|
4284
|
+
sessionType?: SessionType;
|
|
4285
|
+
sourcePlayMode?: SourcePlayMode;
|
|
3615
4286
|
}
|
|
3616
4287
|
|
|
3617
4288
|
/**
|
|
@@ -3717,6 +4388,43 @@ export declare interface PlayerEngineInterface {
|
|
|
3717
4388
|
selectPlaybackSpeed?: (playbackSpeed: number) => void;
|
|
3718
4389
|
destroy(): Promise<void>;
|
|
3719
4390
|
getBufferedInfo?(): BufferChunk[];
|
|
4391
|
+
/**
|
|
4392
|
+
* Clears buffered segments ahead of the current playback position.
|
|
4393
|
+
* Used during interactive streaming camera switches to enable faster content transition.
|
|
4394
|
+
*
|
|
4395
|
+
* @param safeMarginMs - Milliseconds of buffer to keep ahead of current position (default: 0)
|
|
4396
|
+
* @param secondarySourceId - Optional ID of the secondary source being switched to
|
|
4397
|
+
* @returns Promise that resolves when buffer clearing is complete
|
|
4398
|
+
*/
|
|
4399
|
+
clearBufferAhead?(safeMarginMs?: number, secondarySourceId?: string): Promise<void>;
|
|
4400
|
+
/**
|
|
4401
|
+
* Sets the streaming profile to configure buffer behavior.
|
|
4402
|
+
* Use 'low' for interactive streaming with fast camera switches,
|
|
4403
|
+
* 'medium' for balanced behavior, 'high' for maximum stability.
|
|
4404
|
+
*
|
|
4405
|
+
* @param profile - The streaming profile to apply
|
|
4406
|
+
*/
|
|
4407
|
+
setStreamingProfile?(profile: StreamingProfile): void;
|
|
4408
|
+
/**
|
|
4409
|
+
* Gets the current streaming profile.
|
|
4410
|
+
*/
|
|
4411
|
+
getStreamingProfile?(): StreamingProfile;
|
|
4412
|
+
/**
|
|
4413
|
+
* Set whether to prefer native HLS playback over MSE.
|
|
4414
|
+
* This is required for AirPlay to work properly in Safari.
|
|
4415
|
+
* Must be called before play() to take effect.
|
|
4416
|
+
*
|
|
4417
|
+
* @param preferNativeHls - Whether to prefer native HLS playback
|
|
4418
|
+
*/
|
|
4419
|
+
setPreferNativeHls?(preferNativeHls: boolean): void;
|
|
4420
|
+
/**
|
|
4421
|
+
* Reload the current source with the current configuration (including preferNativeHls).
|
|
4422
|
+
* This is a lightweight reload that doesn't go through the full playerWrapper source pipeline.
|
|
4423
|
+
* Used for switching between MSE and native HLS playback for AirPlay.
|
|
4424
|
+
*
|
|
4425
|
+
* @returns Promise that resolves when reload is complete
|
|
4426
|
+
*/
|
|
4427
|
+
reloadCurrentConfig?(): Promise<void>;
|
|
3720
4428
|
lastQuality: number | null;
|
|
3721
4429
|
/**
|
|
3722
4430
|
* Attribute indicating that the video is to be played "inline"
|
|
@@ -3724,11 +4432,6 @@ export declare interface PlayerEngineInterface {
|
|
|
3724
4432
|
*/
|
|
3725
4433
|
setPlaysInline(value: boolean): void;
|
|
3726
4434
|
setControlsList(value: string[]): void;
|
|
3727
|
-
/** Gets resolution of the video element in pixels - container size, not the actual source quality resolution */
|
|
3728
|
-
getVideoResolution(): {
|
|
3729
|
-
width: number;
|
|
3730
|
-
height: number;
|
|
3731
|
-
};
|
|
3732
4435
|
}
|
|
3733
4436
|
|
|
3734
4437
|
/**
|
|
@@ -3824,11 +4527,19 @@ export declare interface PlayerInterface {
|
|
|
3824
4527
|
*/
|
|
3825
4528
|
setPlaysInline?: (value: boolean) => void;
|
|
3826
4529
|
setControlsList?: (value: string[]) => void;
|
|
3827
|
-
/**
|
|
3828
|
-
|
|
3829
|
-
|
|
3830
|
-
|
|
3831
|
-
|
|
4530
|
+
/**
|
|
4531
|
+
* Clears buffered segments ahead of the current playback position.
|
|
4532
|
+
* Used during interactive streaming camera switches to enable faster content transition.
|
|
4533
|
+
*
|
|
4534
|
+
* @param safeMarginMs - Milliseconds of buffer to keep ahead of current position (default: 0)
|
|
4535
|
+
* @returns Promise that resolves when buffer clearing is complete
|
|
4536
|
+
*/
|
|
4537
|
+
clearBufferAhead?: (safeMarginMs?: number, secondarySourceId?: string) => Promise<void>;
|
|
4538
|
+
/**
|
|
4539
|
+
* Callback to receive camera switch progress updates.
|
|
4540
|
+
* Called by the engine during interactive streaming camera switches.
|
|
4541
|
+
*/
|
|
4542
|
+
onCameraSwitchProgress?: (progress: CameraSwitchProgress) => void;
|
|
3832
4543
|
}
|
|
3833
4544
|
|
|
3834
4545
|
/**
|
|
@@ -3898,7 +4609,6 @@ export declare interface PlayerSourceInterface<T extends NonAdSourceType = NonAd
|
|
|
3898
4609
|
start?: Date;
|
|
3899
4610
|
from?: Date;
|
|
3900
4611
|
sourceHistory?: string[];
|
|
3901
|
-
staticAdsConfig?: StaticAdsBreak[];
|
|
3902
4612
|
}
|
|
3903
4613
|
|
|
3904
4614
|
/**
|
|
@@ -3917,7 +4627,6 @@ export declare interface PlayerSourceParams<T extends NonAdSourceType = NonAdSou
|
|
|
3917
4627
|
seekingMatrix?: SeekingMatrixTemplate;
|
|
3918
4628
|
sessionType?: VideoSourceField['sessionType'];
|
|
3919
4629
|
sessionId?: string;
|
|
3920
|
-
staticAdsConfig?: StaticAdsBreak[];
|
|
3921
4630
|
}
|
|
3922
4631
|
|
|
3923
4632
|
export declare type PlayersScene = InteractiveWidgetSceneBase<InteractiveWidgetSceneTemplateType.PLAYERS>;
|
|
@@ -3931,13 +4640,6 @@ export declare type PlayerState = 'idle' | 'playing' | 'paused';
|
|
|
3931
4640
|
* @public
|
|
3932
4641
|
*/
|
|
3933
4642
|
export declare interface PlayerWrapper {
|
|
3934
|
-
/**
|
|
3935
|
-
* Unique id of the player wrapper instance, set at construction time
|
|
3936
|
-
* (e.g. by `tivio.getPlayerWrapper(id)`). Used to scope DOM ids of
|
|
3937
|
-
* player-owned elements (IMA ad containers, content video element, …)
|
|
3938
|
-
* so multiple players on the same page don't collide.
|
|
3939
|
-
*/
|
|
3940
|
-
readonly id: string;
|
|
3941
4643
|
/**
|
|
3942
4644
|
* Report that playback of video has finished
|
|
3943
4645
|
*/
|
|
@@ -3976,6 +4678,11 @@ export declare interface PlayerWrapper {
|
|
|
3976
4678
|
availableLanguages: LangCode[] | null;
|
|
3977
4679
|
canReplay: boolean;
|
|
3978
4680
|
currentSecondarySource: Video | null;
|
|
4681
|
+
/**
|
|
4682
|
+
* Camera switch transition progress for interactive streaming.
|
|
4683
|
+
* Non-null when a camera switch is in progress.
|
|
4684
|
+
*/
|
|
4685
|
+
cameraSwitchProgress: CameraSwitchProgress | null;
|
|
3979
4686
|
currentTime: number;
|
|
3980
4687
|
/**
|
|
3981
4688
|
* Currently playing source
|
|
@@ -4026,6 +4733,10 @@ export declare interface PlayerWrapper {
|
|
|
4026
4733
|
* Retry to play a video that failed to start playing (e.g. due to a network error)
|
|
4027
4734
|
*/
|
|
4028
4735
|
retry: () => void;
|
|
4736
|
+
/**
|
|
4737
|
+
* Refresh the current source by calling getSourceUrl without sourceHistory.
|
|
4738
|
+
*/
|
|
4739
|
+
refreshSource: () => Promise<void>;
|
|
4029
4740
|
togglePlayPause: () => void;
|
|
4030
4741
|
seekTo: (ms: number) => void;
|
|
4031
4742
|
/**
|
|
@@ -4034,6 +4745,21 @@ export declare interface PlayerWrapper {
|
|
|
4034
4745
|
setVolume: (volume: number) => void;
|
|
4035
4746
|
changeLanguage: (langCode: LangCode) => Promise<void>;
|
|
4036
4747
|
changeToFallbackSource: () => Promise<void>;
|
|
4748
|
+
/**
|
|
4749
|
+
* Switch to HLS source for AirPlay (Safari/iOS only).
|
|
4750
|
+
* Preserves current playback position.
|
|
4751
|
+
*/
|
|
4752
|
+
switchToHlsForAirplay: () => Promise<void>;
|
|
4753
|
+
/**
|
|
4754
|
+
* Switch back to DASH from HLS after AirPlay disconnects.
|
|
4755
|
+
* Preserves current playback position.
|
|
4756
|
+
*/
|
|
4757
|
+
switchToDashFromAirplay: () => Promise<void>;
|
|
4758
|
+
/**
|
|
4759
|
+
* Reload the current source while preserving playback position.
|
|
4760
|
+
* Used when switching between native HLS and MSE playback modes.
|
|
4761
|
+
*/
|
|
4762
|
+
reloadCurrentSource: () => Promise<void>;
|
|
4037
4763
|
/**
|
|
4038
4764
|
* change volume by value between -1,1
|
|
4039
4765
|
*/
|
|
@@ -4042,10 +4768,6 @@ export declare interface PlayerWrapper {
|
|
|
4042
4768
|
setCanPlay: (canPlay: boolean) => void;
|
|
4043
4769
|
toggleMuted: () => void;
|
|
4044
4770
|
getQualities: () => Track[];
|
|
4045
|
-
getVideoResolution: () => {
|
|
4046
|
-
width: number;
|
|
4047
|
-
height: number;
|
|
4048
|
-
};
|
|
4049
4771
|
playNativeImaAd: (url: string) => void;
|
|
4050
4772
|
playSourceAfterAdsRun: () => void;
|
|
4051
4773
|
putAd: (ad: AdSourceInterface) => void;
|
|
@@ -4062,10 +4784,20 @@ export declare interface PlayerWrapper {
|
|
|
4062
4784
|
seekToLive: () => void;
|
|
4063
4785
|
seekToLiveInternal: () => void;
|
|
4064
4786
|
setIsBuffering: (isBuffering: boolean) => void;
|
|
4787
|
+
isCasting: boolean;
|
|
4065
4788
|
setIsCasting: (isCasting: boolean) => void;
|
|
4066
4789
|
skipAd: () => void;
|
|
4067
4790
|
skipAllAds: () => void;
|
|
4068
4791
|
switchSecondarySource: (activeVideoId?: string) => Promise<void>;
|
|
4792
|
+
/**
|
|
4793
|
+
* Set whether to prefer HLS sources over DASH.
|
|
4794
|
+
* Used in Safari/iOS when AirPlay is available, as AirPlay only supports HLS streaming.
|
|
4795
|
+
*/
|
|
4796
|
+
setPreferHls: (preferHls: boolean) => void;
|
|
4797
|
+
/**
|
|
4798
|
+
* Suppress watermark tamper detection during AirPlay source switching.
|
|
4799
|
+
*/
|
|
4800
|
+
setAirplaySwitching?: (isSwitching: boolean) => void;
|
|
4069
4801
|
}
|
|
4070
4802
|
|
|
4071
4803
|
/**
|
|
@@ -4090,19 +4822,7 @@ export declare enum PlayerWrapperEvents {
|
|
|
4090
4822
|
/**
|
|
4091
4823
|
* Un-pause was triggered
|
|
4092
4824
|
*/
|
|
4093
|
-
'unpause_triggered' = "unpause_triggered"
|
|
4094
|
-
/**
|
|
4095
|
-
* Triggered when an ad starts playing
|
|
4096
|
-
*/
|
|
4097
|
-
'ad-started' = "ad-started",
|
|
4098
|
-
/**
|
|
4099
|
-
* Triggered when an ad finishes playing
|
|
4100
|
-
*/
|
|
4101
|
-
'ad-ended' = "ad-ended",
|
|
4102
|
-
/**
|
|
4103
|
-
* Triggered when companion ads are available for the current ad
|
|
4104
|
-
*/
|
|
4105
|
-
'companion-ads' = "companion-ads"
|
|
4825
|
+
'unpause_triggered' = "unpause_triggered"
|
|
4106
4826
|
}
|
|
4107
4827
|
|
|
4108
4828
|
/**
|
|
@@ -4118,6 +4838,22 @@ export declare enum PlayerWrapperEventType {
|
|
|
4118
4838
|
*/
|
|
4119
4839
|
export declare type PlayerWrapperEventTypeType = `${PlayerWrapperEventType}`;
|
|
4120
4840
|
|
|
4841
|
+
export declare type PollQuestion = CurrentQuestion<PollQuestionAnswer>;
|
|
4842
|
+
|
|
4843
|
+
export declare interface PollQuestionAnswer extends BaseQuestionAnswer {
|
|
4844
|
+
votes?: number;
|
|
4845
|
+
}
|
|
4846
|
+
|
|
4847
|
+
/**
|
|
4848
|
+
* A poll-flavored interactive widget. No scoring / leaderboard / countdown — just
|
|
4849
|
+
* "here's a question, here are the vote counts". Uses a narrower state machine.
|
|
4850
|
+
*/
|
|
4851
|
+
export declare interface PollWidget<TScene extends InteractiveWidgetScene = InteractiveWidgetScene> extends BaseInteractiveWidget<PollQuestionAnswer, PollWidgetState, TScene> {
|
|
4852
|
+
readonly type: InteractiveWidgetType.POLL;
|
|
4853
|
+
}
|
|
4854
|
+
|
|
4855
|
+
export declare type PollWidgetState = InteractiveWidgetState.IDLE | InteractiveWidgetState.CURRENT_QUESTION | InteractiveWidgetState.LEADERBOARD | InteractiveWidgetState.RESET_GAME | InteractiveWidgetState.NEXT_STATE;
|
|
4856
|
+
|
|
4121
4857
|
/**
|
|
4122
4858
|
* @public
|
|
4123
4859
|
*/
|
|
@@ -4130,6 +4866,20 @@ export declare type PlayerWrapperEventTypeType = `${PlayerWrapperEventType}`;
|
|
|
4130
4866
|
*/
|
|
4131
4867
|
export declare type PrerollCheck = (source: PlayerSource) => Promise<AdSourceInterface | null>;
|
|
4132
4868
|
|
|
4869
|
+
export declare type PresentBannerExtendRowData = {
|
|
4870
|
+
name: Translation;
|
|
4871
|
+
subname?: Translation;
|
|
4872
|
+
description?: Translation;
|
|
4873
|
+
avatars?: ScalableAsset[];
|
|
4874
|
+
avatarsText?: Translation;
|
|
4875
|
+
asset?: ScalableAsset;
|
|
4876
|
+
buttons?: RowButton[];
|
|
4877
|
+
};
|
|
4878
|
+
|
|
4879
|
+
export declare type PricesField = {
|
|
4880
|
+
[currency in Currency]?: number | null;
|
|
4881
|
+
};
|
|
4882
|
+
|
|
4133
4883
|
export declare enum primaPlusMonetizationLevel {
|
|
4134
4884
|
light = "z7soJTA2dYSxnOOJw7B0",
|
|
4135
4885
|
premium = "kwfM0D7Vzv5wfLf5go8o",
|
|
@@ -4228,8 +4978,9 @@ export declare interface ProgressMetadata {
|
|
|
4228
4978
|
* @public
|
|
4229
4979
|
*/
|
|
4230
4980
|
export declare interface Promotion {
|
|
4981
|
+
id?: string;
|
|
4231
4982
|
duration?: Duration;
|
|
4232
|
-
|
|
4983
|
+
prices?: PricesField;
|
|
4233
4984
|
requiresPaymentAuthorization?: boolean;
|
|
4234
4985
|
hideOtherSubscriptions?: boolean;
|
|
4235
4986
|
}
|
|
@@ -4279,7 +5030,9 @@ export declare interface PurchasableMonetization extends Monetization {
|
|
|
4279
5030
|
*/
|
|
4280
5031
|
price?: string | number;
|
|
4281
5032
|
promotion: Promotion | null;
|
|
4282
|
-
frequency?:
|
|
5033
|
+
frequency?: Omit<FrequencyInfo, 'title'> & {
|
|
5034
|
+
title: string;
|
|
5035
|
+
};
|
|
4283
5036
|
frequencyInfo?: FrequencyInfo;
|
|
4284
5037
|
durationDays?: number;
|
|
4285
5038
|
/**
|
|
@@ -4319,7 +5072,30 @@ export declare interface PurchasableMonetization extends Monetization {
|
|
|
4319
5072
|
* Number of seats left for the subscription.
|
|
4320
5073
|
*/
|
|
4321
5074
|
seatsLeft?: number;
|
|
5075
|
+
/**
|
|
5076
|
+
* Trial period in milliseconds for the subscription.
|
|
5077
|
+
*/
|
|
5078
|
+
trialPeriod?: number;
|
|
5079
|
+
/**
|
|
5080
|
+
* Maximum quantity of the subscription.
|
|
5081
|
+
*/
|
|
4322
5082
|
maxQuantity?: number;
|
|
5083
|
+
/**
|
|
5084
|
+
* Currency of the monetization price.
|
|
5085
|
+
*/
|
|
5086
|
+
currency?: Currency;
|
|
5087
|
+
/**
|
|
5088
|
+
* Detailed price information, including currency and amount - Takes the price getter from purchsable monetization entity.
|
|
5089
|
+
*/
|
|
5090
|
+
detailedPrice?: DetailedPrice;
|
|
5091
|
+
/**
|
|
5092
|
+
* Subtitle for the monetization, used in UI.
|
|
5093
|
+
*/
|
|
5094
|
+
subtitle?: string;
|
|
5095
|
+
/**
|
|
5096
|
+
* Banner title for the monetization, used in UI.
|
|
5097
|
+
*/
|
|
5098
|
+
bannerTitle?: string;
|
|
4323
5099
|
}
|
|
4324
5100
|
|
|
4325
5101
|
/**
|
|
@@ -4351,6 +5127,7 @@ export declare type Purchase = {
|
|
|
4351
5127
|
monetization: PurchaseMonetization | null;
|
|
4352
5128
|
monetizationId: string | null;
|
|
4353
5129
|
monetizationRef: any | null;
|
|
5130
|
+
nextPaymentDate: Date | null;
|
|
4354
5131
|
status: PurchaseStatus | null;
|
|
4355
5132
|
type: PurchaseType | null;
|
|
4356
5133
|
/**
|
|
@@ -4737,17 +5514,12 @@ export declare interface QerkoTransaction {
|
|
|
4737
5514
|
paymentStatus: string | null;
|
|
4738
5515
|
getPaymentInfo: () => Promise<void>;
|
|
4739
5516
|
voucherId?: string;
|
|
5517
|
+
isLoading: boolean;
|
|
4740
5518
|
}
|
|
4741
5519
|
|
|
4742
5520
|
export declare type QRCodeScene = InteractiveWidgetSceneBase<InteractiveWidgetSceneTemplateType.QR_CODE>;
|
|
4743
5521
|
|
|
4744
|
-
export declare
|
|
4745
|
-
id: string;
|
|
4746
|
-
answer: Translation;
|
|
4747
|
-
isCorrect?: boolean;
|
|
4748
|
-
votes?: number;
|
|
4749
|
-
status?: AnswerStatus;
|
|
4750
|
-
}
|
|
5522
|
+
export declare type QuestionAnswer = QuizQuestionAnswer | PollQuestionAnswer;
|
|
4751
5523
|
|
|
4752
5524
|
export declare enum QuestionEvents {
|
|
4753
5525
|
NEW_QUESTION = "new_question",
|
|
@@ -4765,7 +5537,7 @@ export declare interface QuestionRepository {
|
|
|
4765
5537
|
readonly selectedAnswerId: string | undefined;
|
|
4766
5538
|
isSubmitted: boolean;
|
|
4767
5539
|
isSubmitting: boolean;
|
|
4768
|
-
setCurrentQuestion: (question: CurrentQuestion | null, role:
|
|
5540
|
+
setCurrentQuestion: (question: CurrentQuestion | null, role: InteractiveWidgetRole, secondsToAnswer: number, shouldEnterAtTimestampMs?: number, shouldAdjustEndTimestampMs?: boolean) => void;
|
|
4769
5541
|
selectAnswer: (answerId: string | undefined) => void;
|
|
4770
5542
|
setShowCountdown: (showCountdown: boolean) => void;
|
|
4771
5543
|
reset: () => void;
|
|
@@ -4779,41 +5551,28 @@ export declare type QuestionRepositoryEventMap = {
|
|
|
4779
5551
|
[QuestionEvents.QUESTION_TIMEOUT]: (question: CurrentQuestion | null) => void;
|
|
4780
5552
|
};
|
|
4781
5553
|
|
|
4782
|
-
export declare
|
|
4783
|
-
answerPercentages: Record<string, number>;
|
|
4784
|
-
averageScore: number;
|
|
4785
|
-
correctAnswersRatio: number;
|
|
4786
|
-
}
|
|
4787
|
-
|
|
4788
|
-
export declare enum QuizGameGroupType {
|
|
4789
|
-
HIGHLIGHTED_PLAYERS = "HIGHLIGHTED_PLAYERS",
|
|
4790
|
-
/** Participants playing in Offline mode */
|
|
4791
|
-
LOCAL_PLAYERS = "LOCAL_PLAYERS",
|
|
4792
|
-
ALL = "ALL",
|
|
4793
|
-
PARTY = "PARTY"
|
|
4794
|
-
}
|
|
5554
|
+
export declare type QuizQuestion = CurrentQuestion<QuizQuestionAnswer>;
|
|
4795
5555
|
|
|
4796
|
-
export declare
|
|
4797
|
-
|
|
4798
|
-
|
|
4799
|
-
PLAYER = "PLAYER",
|
|
4800
|
-
LOCAL_PLAYER = "LOCAL_PLAYER"
|
|
5556
|
+
export declare interface QuizQuestionAnswer extends BaseQuestionAnswer {
|
|
5557
|
+
isCorrect?: boolean;
|
|
5558
|
+
votes?: number;
|
|
4801
5559
|
}
|
|
4802
5560
|
|
|
4803
|
-
|
|
4804
|
-
|
|
4805
|
-
|
|
4806
|
-
|
|
4807
|
-
|
|
4808
|
-
|
|
4809
|
-
|
|
4810
|
-
|
|
5561
|
+
/**
|
|
5562
|
+
* A quiz-flavored interactive widget. Adds scoring, leaderboard, and countdown
|
|
5563
|
+
* concepts on top of the base, and narrows answers to `QuizQuestionAnswer`.
|
|
5564
|
+
*/
|
|
5565
|
+
export declare interface QuizWidget<TScene extends InteractiveWidgetScene = InteractiveWidgetScene> extends BaseInteractiveWidget<QuizQuestionAnswer, QuizWidgetState, TScene> {
|
|
5566
|
+
readonly type: InteractiveWidgetType.QUIZ;
|
|
5567
|
+
readonly leaderboard: LeaderboardGroupItem | null;
|
|
5568
|
+
readonly lastQuestionTopScorers: LeaderboardPlayer[];
|
|
5569
|
+
readonly highlightedUsersIds: string[];
|
|
5570
|
+
readonly secondsToAnswer: number;
|
|
5571
|
+
readonly showCountdown: boolean;
|
|
5572
|
+
readonly questionRepository: QuestionRepository;
|
|
4811
5573
|
}
|
|
4812
5574
|
|
|
4813
|
-
export declare
|
|
4814
|
-
POLL = "POLL",
|
|
4815
|
-
QUIZ = "QUIZ"
|
|
4816
|
-
}
|
|
5575
|
+
export declare type QuizWidgetState = InteractiveWidgetState;
|
|
4817
5576
|
|
|
4818
5577
|
/**
|
|
4819
5578
|
* @public
|
|
@@ -4930,6 +5689,11 @@ export declare interface RemoteControlPairPayload {
|
|
|
4930
5689
|
profileId: string;
|
|
4931
5690
|
}
|
|
4932
5691
|
|
|
5692
|
+
export declare interface RemoteControlPairResponse {
|
|
5693
|
+
sessionId: string;
|
|
5694
|
+
videoId: string;
|
|
5695
|
+
}
|
|
5696
|
+
|
|
4933
5697
|
export declare interface RemoteControlPlaybackControlPayload {
|
|
4934
5698
|
sessionId: string;
|
|
4935
5699
|
videoId: string;
|
|
@@ -5015,6 +5779,16 @@ export declare type RequiredNullable<T> = {
|
|
|
5015
5779
|
[P in keyof T]-?: P extends OptionalKeys<T> ? T[P] | null : T[P];
|
|
5016
5780
|
};
|
|
5017
5781
|
|
|
5782
|
+
export declare interface ReviewItem {
|
|
5783
|
+
asset: ScalableAsset;
|
|
5784
|
+
name: Translation;
|
|
5785
|
+
subname?: Translation;
|
|
5786
|
+
rating: 1 | 2 | 3 | 4 | 5;
|
|
5787
|
+
description?: Translation;
|
|
5788
|
+
}
|
|
5789
|
+
|
|
5790
|
+
export declare type ReviewTileSpecificData = ReviewItem;
|
|
5791
|
+
|
|
5018
5792
|
/**
|
|
5019
5793
|
* @public
|
|
5020
5794
|
*/
|
|
@@ -5037,6 +5811,7 @@ export declare interface RouterOverrides {
|
|
|
5037
5811
|
gridType: GRID_TYPES.ROW;
|
|
5038
5812
|
rowId: string;
|
|
5039
5813
|
organizationId?: string;
|
|
5814
|
+
applicationHandle?: string;
|
|
5040
5815
|
} | {
|
|
5041
5816
|
gridType: GRID_TYPES.VIDEO;
|
|
5042
5817
|
videoId: string;
|
|
@@ -5068,6 +5843,7 @@ export declare interface RouterOverrides {
|
|
|
5068
5843
|
goToRecommendedFromOrganizationRow: (screenId: string, rowId: string) => void;
|
|
5069
5844
|
goToMagentaMomentsPage: (voucher?: string) => void;
|
|
5070
5845
|
goToVoucherRedeemPage: () => void;
|
|
5846
|
+
goToSubscriptionsPage: (organizationHandle?: string) => void;
|
|
5071
5847
|
updateParams: (params: URLSearchParams) => void;
|
|
5072
5848
|
navigate: (path: string) => void;
|
|
5073
5849
|
}
|
|
@@ -5086,25 +5862,7 @@ export declare interface RouterOverridesContextState {
|
|
|
5086
5862
|
/**
|
|
5087
5863
|
* @public
|
|
5088
5864
|
*/
|
|
5089
|
-
export declare
|
|
5090
|
-
id: string;
|
|
5091
|
-
rowId: string;
|
|
5092
|
-
name: string;
|
|
5093
|
-
description?: string;
|
|
5094
|
-
assets: AssetsField;
|
|
5095
|
-
type: ScreenRowType;
|
|
5096
|
-
isLiveRow: boolean;
|
|
5097
|
-
tiles: PaginationInterface<ItemInRow>;
|
|
5098
|
-
numberOfLines?: number;
|
|
5099
|
-
monetizations?: {
|
|
5100
|
-
monetizationRef: any;
|
|
5101
|
-
}[];
|
|
5102
|
-
rowComponent: RowComponent.ROW | RowComponent.BANNER;
|
|
5103
|
-
itemComponent: RowItemComponent | BannerItemComponent;
|
|
5104
|
-
organizationId?: string;
|
|
5105
|
-
bottomComponent?: BottomComponent;
|
|
5106
|
-
showDescriptionAsTitle?: boolean;
|
|
5107
|
-
}
|
|
5865
|
+
export declare type Row = StaticRow | DynamicRow;
|
|
5108
5866
|
|
|
5109
5867
|
/**
|
|
5110
5868
|
* @public
|
|
@@ -5122,17 +5880,41 @@ export declare enum ROW_ITEM_TYPES {
|
|
|
5122
5880
|
/**
|
|
5123
5881
|
* @public
|
|
5124
5882
|
*/
|
|
5125
|
-
export declare interface RowBanner extends
|
|
5883
|
+
export declare interface RowBanner extends DynamicRow {
|
|
5126
5884
|
rowComponent: RowComponent.BANNER;
|
|
5127
5885
|
itemComponent: BannerItemComponent;
|
|
5128
5886
|
}
|
|
5129
5887
|
|
|
5888
|
+
export declare interface RowButton {
|
|
5889
|
+
id: string;
|
|
5890
|
+
enabled: boolean;
|
|
5891
|
+
href: string;
|
|
5892
|
+
text: Translation;
|
|
5893
|
+
variant: 'primary' | 'secondary';
|
|
5894
|
+
leftIcon?: 'play';
|
|
5895
|
+
}
|
|
5896
|
+
|
|
5130
5897
|
/**
|
|
5131
5898
|
* @public
|
|
5132
5899
|
*/
|
|
5133
5900
|
export declare enum RowComponent {
|
|
5134
5901
|
ROW = "ROW",
|
|
5135
|
-
BANNER = "BANNER"
|
|
5902
|
+
BANNER = "BANNER",
|
|
5903
|
+
BENEFITS = "BENEFITS",
|
|
5904
|
+
REVIEWS = "REVIEWS",
|
|
5905
|
+
MONETIZATIONS = "MONETIZATIONS",
|
|
5906
|
+
SPLIT_LAYOUT = "SPLIT_LAYOUT",
|
|
5907
|
+
NUMBERS = "NUMBERS",
|
|
5908
|
+
FAQ = "FAQ",
|
|
5909
|
+
CTA_BANNER = "CTA_BANNER",
|
|
5910
|
+
PRESENT_BANNER = "PRESENT_BANNER",
|
|
5911
|
+
MONETIZATION_BANNER = "MONETIZATION_BANNER",
|
|
5912
|
+
VIDEO_BANNER = "VIDEO_BANNER",
|
|
5913
|
+
MEDIA_ACCORDEON = "MEDIA_ACCORDEON",
|
|
5914
|
+
EXPLORE = "EXPLORE",
|
|
5915
|
+
BACKGROUND_BANNER = "BACKGROUND_BANNER",
|
|
5916
|
+
PARTNER_LOGOS = "PARTNER_LOGOS",
|
|
5917
|
+
HOMEPAGE_BANNER = "HOMEPAGE_BANNER"
|
|
5136
5918
|
}
|
|
5137
5919
|
|
|
5138
5920
|
export declare enum RowFilterCollection {
|
|
@@ -5166,72 +5948,10 @@ export declare interface RowFilterWhereField {
|
|
|
5166
5948
|
value: any;
|
|
5167
5949
|
}
|
|
5168
5950
|
|
|
5169
|
-
|
|
5170
|
-
|
|
5171
|
-
|
|
5172
|
-
|
|
5173
|
-
path?: string;
|
|
5174
|
-
/**
|
|
5175
|
-
* Tivio row ID.
|
|
5176
|
-
*/
|
|
5177
|
-
rowId: string;
|
|
5178
|
-
/**
|
|
5179
|
-
* If all items are from the same organization this will be set.
|
|
5180
|
-
*/
|
|
5181
|
-
organizationId?: string;
|
|
5182
|
-
/**
|
|
5183
|
-
* Row name.
|
|
5184
|
-
*/
|
|
5185
|
-
name: Translation;
|
|
5186
|
-
/**
|
|
5187
|
-
* Row filter based on which to pick tiles.
|
|
5188
|
-
*/
|
|
5189
|
-
filter?: RowFilterField;
|
|
5190
|
-
/**
|
|
5191
|
-
* Row order in the screen.
|
|
5192
|
-
*/
|
|
5193
|
-
order?: number;
|
|
5194
|
-
/**
|
|
5195
|
-
* Number of lines of the title.
|
|
5196
|
-
*/
|
|
5197
|
-
numberOfLines?: number;
|
|
5198
|
-
/**
|
|
5199
|
-
* Standard row or a Banner.
|
|
5200
|
-
*/
|
|
5201
|
-
rowComponent: RowComponent;
|
|
5202
|
-
/**
|
|
5203
|
-
* Component to use to render the tiles in the row.
|
|
5204
|
-
*/
|
|
5205
|
-
itemComponent: RowItemComponent | BannerItemComponent;
|
|
5206
|
-
/**
|
|
5207
|
-
* Type of the row (continue to watch, custom, filter, ...).
|
|
5208
|
-
*/
|
|
5209
|
-
type: ScreenRowType;
|
|
5210
|
-
/**
|
|
5211
|
-
* Items to display in the row.
|
|
5212
|
-
*/
|
|
5213
|
-
tiles: GetTilesInRowResponse;
|
|
5214
|
-
/**
|
|
5215
|
-
* Setting for decided what to show bellow the tiles
|
|
5216
|
-
*/
|
|
5217
|
-
bottomComponent?: BottomComponent;
|
|
5218
|
-
/**
|
|
5219
|
-
* Setting for decided whether to show description instead of title in the tiles
|
|
5220
|
-
*/
|
|
5221
|
-
showDescriptionAsTitle?: boolean;
|
|
5222
|
-
/**
|
|
5223
|
-
* Setting for decided whether to hide title in the tiles/banners
|
|
5224
|
-
*/
|
|
5225
|
-
hideTitle?: boolean;
|
|
5226
|
-
/**
|
|
5227
|
-
* Link to external URL
|
|
5228
|
-
*/
|
|
5229
|
-
externalUrl?: string;
|
|
5230
|
-
/**
|
|
5231
|
-
* Title of Play button
|
|
5232
|
-
*/
|
|
5233
|
-
playButtonTitle?: Translation;
|
|
5234
|
-
};
|
|
5951
|
+
/**
|
|
5952
|
+
* Row in screen - can be either static or dynamic
|
|
5953
|
+
*/
|
|
5954
|
+
export declare type RowInScreen = StaticRowInScreen | DynamicRowInScreen;
|
|
5235
5955
|
|
|
5236
5956
|
/**
|
|
5237
5957
|
* @public
|
|
@@ -5244,6 +5964,7 @@ export declare interface RowItem extends RowItemAssets {
|
|
|
5244
5964
|
assets: AssetsField | null;
|
|
5245
5965
|
application: RowItemApplicationData | null;
|
|
5246
5966
|
feedVisible?: boolean;
|
|
5967
|
+
tileProps?: TileProps;
|
|
5247
5968
|
}
|
|
5248
5969
|
|
|
5249
5970
|
/**
|
|
@@ -5281,7 +6002,11 @@ export declare enum RowItemComponent {
|
|
|
5281
6002
|
ROW_ITEM_CREATORS_LANDSCAPE = "ROW_ITEM_CREATORS_LANDSCAPE",
|
|
5282
6003
|
ROW_ITEM_CIRCLED = "ROW_ITEM_CIRCLED",
|
|
5283
6004
|
ROW_ITEM_HIGHLIGHTED = "ROW_ITEM_HIGHLIGHTED",
|
|
5284
|
-
ROW_ITEM_PLAIN = "ROW_ITEM_PLAIN"
|
|
6005
|
+
ROW_ITEM_PLAIN = "ROW_ITEM_PLAIN",
|
|
6006
|
+
SIDE_BANNER = "SIDE_BANNER",
|
|
6007
|
+
ROW_ITEM_FEATURED = "ROW_ITEM_FEATURED",
|
|
6008
|
+
CATEGORY_GRID = "CATEGORY_GRID",
|
|
6009
|
+
HERO_BANNER = "HERO_BANNER"
|
|
5285
6010
|
}
|
|
5286
6011
|
|
|
5287
6012
|
/**
|
|
@@ -5298,6 +6023,16 @@ export declare type RowItemsSubscription = (rowId: string, cb: (error: Error | n
|
|
|
5298
6023
|
hasNextPage: boolean;
|
|
5299
6024
|
} | null, fetchMore: null | ((count?: number) => void), isLoading: boolean) => void, limit?: number) => Disposer_2;
|
|
5300
6025
|
|
|
6026
|
+
/**
|
|
6027
|
+
* @public
|
|
6028
|
+
*/
|
|
6029
|
+
export declare interface RowMonetizationData {
|
|
6030
|
+
id: string;
|
|
6031
|
+
path: string;
|
|
6032
|
+
placementType: 'channel' | 'tvChannel' | 'condition' | 'video' | 'section' | 'row';
|
|
6033
|
+
type: MonetizationType;
|
|
6034
|
+
}
|
|
6035
|
+
|
|
5301
6036
|
/**
|
|
5302
6037
|
* RowOrderByFieldPath that is used in @tivio/firebase needs to be retyped here.
|
|
5303
6038
|
* @public
|
|
@@ -5310,7 +6045,7 @@ export declare enum RowOrderByFieldPath {
|
|
|
5310
6045
|
/**
|
|
5311
6046
|
* @public
|
|
5312
6047
|
*/
|
|
5313
|
-
export declare interface RowStandard extends
|
|
6048
|
+
export declare interface RowStandard extends DynamicRow {
|
|
5314
6049
|
rowComponent: RowComponent.ROW;
|
|
5315
6050
|
itemComponent: RowItemComponent;
|
|
5316
6051
|
}
|
|
@@ -5349,7 +6084,7 @@ declare type SceneMetadata<TType extends InteractiveWidgetSceneTemplateType> = T
|
|
|
5349
6084
|
} : TType extends InteractiveWidgetSceneTemplateType.LEADERBOARD ? {
|
|
5350
6085
|
highlightedPlayers: LeaderboardPlayer[];
|
|
5351
6086
|
topPlayers: LeaderboardPlayer[];
|
|
5352
|
-
stats?:
|
|
6087
|
+
stats?: InteractiveWidgetGroupStats;
|
|
5353
6088
|
} : 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;
|
|
5354
6089
|
|
|
5355
6090
|
export declare interface SceneMetadataKeys {
|
|
@@ -5423,6 +6158,11 @@ declare interface Screen_2 {
|
|
|
5423
6158
|
hasNextPage: boolean;
|
|
5424
6159
|
refetchIfNeeded: () => Promise<void>;
|
|
5425
6160
|
allowOrganizationBanner?: boolean;
|
|
6161
|
+
/**
|
|
6162
|
+
* Path to content (e.g., "videos/ID" or "tvChannels/ID").
|
|
6163
|
+
* Used for PLAYER screen type to specify which content to play.
|
|
6164
|
+
*/
|
|
6165
|
+
contentPath?: string;
|
|
5426
6166
|
}
|
|
5427
6167
|
export { Screen_2 as Screen }
|
|
5428
6168
|
|
|
@@ -5454,7 +6194,7 @@ export declare type ScreenConfig = {
|
|
|
5454
6194
|
/**
|
|
5455
6195
|
* @public
|
|
5456
6196
|
*/
|
|
5457
|
-
export declare type ScreenRowType = 'filter' | 'custom' | 'continueToWatch' | 'favourites' | 'topWatched' | 'applications';
|
|
6197
|
+
export declare type ScreenRowType = 'filter' | 'custom' | 'continueToWatch' | 'favourites' | 'topWatched' | 'applications' | 'static';
|
|
5458
6198
|
|
|
5459
6199
|
/**
|
|
5460
6200
|
* Listen to screen data
|
|
@@ -5471,7 +6211,9 @@ export declare enum ScreenType {
|
|
|
5471
6211
|
EMBED = "embed",
|
|
5472
6212
|
RECOMMENDATION = "recommendation",
|
|
5473
6213
|
FEED = "feed",
|
|
5474
|
-
EPG = "epg"
|
|
6214
|
+
EPG = "epg",
|
|
6215
|
+
LANDING = "landing",
|
|
6216
|
+
PLAYER = "player"
|
|
5475
6217
|
}
|
|
5476
6218
|
|
|
5477
6219
|
/**
|
|
@@ -5496,12 +6238,11 @@ export declare type SdkReactConfig = Omit<TivioConfig, 'language'> & {
|
|
|
5496
6238
|
};
|
|
5497
6239
|
|
|
5498
6240
|
/**
|
|
5499
|
-
*
|
|
6241
|
+
* Narrows away `InternalInteractiveWidgetMethods` from any concrete widget
|
|
6242
|
+
* type. Distributes over discriminated unions so `SDKWidget<InteractiveWidget>`
|
|
6243
|
+
* stays a union of `SDKWidget<QuizWidget> | SDKWidget<PollWidget>`.
|
|
5500
6244
|
*/
|
|
5501
|
-
export declare
|
|
5502
|
-
onGoToLogin?: () => void;
|
|
5503
|
-
onGoToRegistration?: () => void;
|
|
5504
|
-
}
|
|
6245
|
+
export declare type SDKWidget<T> = T extends unknown ? Omit<T, InternalInteractiveWidgetMethods> : never;
|
|
5505
6246
|
|
|
5506
6247
|
/**
|
|
5507
6248
|
* @public
|
|
@@ -5717,7 +6458,22 @@ export declare const showGdprConsentPreferences: () => Promise<void>;
|
|
|
5717
6458
|
/**
|
|
5718
6459
|
* @public
|
|
5719
6460
|
*/
|
|
5720
|
-
export declare
|
|
6461
|
+
export declare interface SideBannerProps {
|
|
6462
|
+
title: string;
|
|
6463
|
+
description: string;
|
|
6464
|
+
cover: string;
|
|
6465
|
+
backgroundColor?: string;
|
|
6466
|
+
buttonText?: string;
|
|
6467
|
+
onButtonClick?: () => void;
|
|
6468
|
+
buttonHref?: string;
|
|
6469
|
+
imagePosition?: 'left' | 'right';
|
|
6470
|
+
textBackgroundColor?: string;
|
|
6471
|
+
}
|
|
6472
|
+
|
|
6473
|
+
/**
|
|
6474
|
+
* @public
|
|
6475
|
+
*/
|
|
6476
|
+
export declare type SignInProvider = 'google' | 'patreon' | 'apple' | 'facebook';
|
|
5721
6477
|
|
|
5722
6478
|
/**
|
|
5723
6479
|
* Simplified VideoController interface for external rendering
|
|
@@ -5806,27 +6562,6 @@ export declare interface SimplifiedVideoController {
|
|
|
5806
6562
|
muted: boolean;
|
|
5807
6563
|
volume: number;
|
|
5808
6564
|
}) => void): void;
|
|
5809
|
-
/**
|
|
5810
|
-
* Add an event listener for ad started events
|
|
5811
|
-
* @param event - Must be 'ad-started'
|
|
5812
|
-
* @param callback - Function called when an ad starts playing
|
|
5813
|
-
*/
|
|
5814
|
-
addEventListener(event: 'ad-started', callback: (adMetadata: AdMetadata & {
|
|
5815
|
-
customAdMetadata?: Record<string, unknown> | null;
|
|
5816
|
-
ctaElement: HTMLElement | null;
|
|
5817
|
-
}) => void): void;
|
|
5818
|
-
/**
|
|
5819
|
-
* Add an event listener for ad ended events
|
|
5820
|
-
* @param event - Must be 'ad-ended'
|
|
5821
|
-
* @param callback - Function called when an ad finishes playing
|
|
5822
|
-
*/
|
|
5823
|
-
addEventListener(event: 'ad-ended', callback: () => void): void;
|
|
5824
|
-
/**
|
|
5825
|
-
* Add an event listener for companion ads events
|
|
5826
|
-
* @param event - Must be 'companion-ads'
|
|
5827
|
-
* @param callback - Function called when companion ads are available
|
|
5828
|
-
*/
|
|
5829
|
-
addEventListener(event: 'companion-ads', callback: (companionAds: CompanionAd[]) => void): void;
|
|
5830
6565
|
/**
|
|
5831
6566
|
* Remove an event listener
|
|
5832
6567
|
* @param event - The event name to stop listening for
|
|
@@ -5838,19 +6573,6 @@ export declare interface SimplifiedVideoController {
|
|
|
5838
6573
|
* @param source - The new source to load (can be a video path, channel path, or source parameters)
|
|
5839
6574
|
*/
|
|
5840
6575
|
setSource(source: WebPlayerProps['source']): void;
|
|
5841
|
-
setAdsConfig(adsConfig: StaticAdsBreak[]): void;
|
|
5842
|
-
/**
|
|
5843
|
-
* Toggle the minimal OSD mode.
|
|
5844
|
-
*
|
|
5845
|
-
* When enabled, the player shows only a minimal set of controls (play/pause,
|
|
5846
|
-
* volume and fullscreen) and a small center play/pause icon that briefly
|
|
5847
|
-
* flashes when the state changes. Intended for small/pinned containers such
|
|
5848
|
-
* as a scroll-fixed mini player in the corner of the page or a full-width
|
|
5849
|
-
* mobile player pinned to the top of the viewport.
|
|
5850
|
-
*
|
|
5851
|
-
* @param isMinimal - Whether the minimal OSD should be used
|
|
5852
|
-
*/
|
|
5853
|
-
setIsMinimal(isMinimal: boolean): void;
|
|
5854
6576
|
/**
|
|
5855
6577
|
* Destroy the player and clean up all resources
|
|
5856
6578
|
*/
|
|
@@ -5923,6 +6645,14 @@ export declare enum SourceType {
|
|
|
5923
6645
|
VOD_EXTERNAL = "vod_external"
|
|
5924
6646
|
}
|
|
5925
6647
|
|
|
6648
|
+
export declare interface SplitLayoutItem {
|
|
6649
|
+
asset: ScalableAsset;
|
|
6650
|
+
name: Translation;
|
|
6651
|
+
description?: Translation;
|
|
6652
|
+
}
|
|
6653
|
+
|
|
6654
|
+
export declare type SplitLayoutSpecificData = SplitLayoutItem;
|
|
6655
|
+
|
|
5926
6656
|
/**
|
|
5927
6657
|
* External information of video from SportyTv EPG import
|
|
5928
6658
|
* @public
|
|
@@ -5970,24 +6700,230 @@ export declare interface StartLiveStreamResponse {
|
|
|
5970
6700
|
error?: string;
|
|
5971
6701
|
}
|
|
5972
6702
|
|
|
5973
|
-
|
|
6703
|
+
/**
|
|
6704
|
+
* Row components available for static rows (BENEFITS, FAQ, etc.)
|
|
6705
|
+
* Matches the rowComponent constraint in StaticRow type definition
|
|
6706
|
+
* @public
|
|
6707
|
+
*/
|
|
6708
|
+
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];
|
|
5974
6709
|
|
|
5975
|
-
|
|
5976
|
-
|
|
5977
|
-
|
|
5978
|
-
|
|
6710
|
+
/**
|
|
6711
|
+
* Static row (e.g. benefits, reviews, FAQ) - doesn't have itemComponent or dynamic fields
|
|
6712
|
+
* Uses special row components like BENEFITS, REVIEWS, FAQ, etc.
|
|
6713
|
+
* @public
|
|
6714
|
+
*/
|
|
6715
|
+
export declare type StaticRow = StaticRowBenefits | StaticRowReviews | StaticRowNumbers | StaticRowSplitLayout | StaticRowFaq | StaticRowPresentBanner | StaticRowExplore | StaticRowCtaBanner | StaticRowWithoutCustomItems;
|
|
6716
|
+
|
|
6717
|
+
/**
|
|
6718
|
+
* Benefits row
|
|
6719
|
+
* @public
|
|
6720
|
+
*/
|
|
6721
|
+
export declare interface StaticRowBenefits extends BaseRow {
|
|
6722
|
+
type: 'static';
|
|
6723
|
+
rowComponent: RowComponent.BENEFITS;
|
|
6724
|
+
customItems: BenefitTileSpecificData;
|
|
6725
|
+
screenRef?: string;
|
|
6726
|
+
videoRef?: string;
|
|
6727
|
+
buttons?: RowButton[];
|
|
5979
6728
|
}
|
|
5980
6729
|
|
|
5981
|
-
|
|
5982
|
-
|
|
5983
|
-
|
|
6730
|
+
/**
|
|
6731
|
+
* CTA Banner row
|
|
6732
|
+
* @public
|
|
6733
|
+
*/
|
|
6734
|
+
export declare interface StaticRowCtaBanner extends BaseRow {
|
|
6735
|
+
type: 'static';
|
|
6736
|
+
rowComponent: RowComponent.CTA_BANNER;
|
|
6737
|
+
customItems: CtaBannerExtendRowData;
|
|
6738
|
+
screenRef?: string;
|
|
6739
|
+
videoRef?: string;
|
|
6740
|
+
variant?: 'light' | 'dark' | 'default' | 'large';
|
|
6741
|
+
heading?: Translation;
|
|
6742
|
+
subtitle?: {
|
|
6743
|
+
text: Translation;
|
|
6744
|
+
showIcon?: boolean;
|
|
6745
|
+
};
|
|
6746
|
+
button?: {
|
|
6747
|
+
href: string;
|
|
6748
|
+
text: Translation;
|
|
6749
|
+
};
|
|
5984
6750
|
}
|
|
5985
6751
|
|
|
5986
|
-
|
|
5987
|
-
|
|
5988
|
-
|
|
6752
|
+
/**
|
|
6753
|
+
* Explore row
|
|
6754
|
+
* @public
|
|
6755
|
+
*/
|
|
6756
|
+
export declare interface StaticRowExplore extends BaseRow {
|
|
6757
|
+
type: 'static';
|
|
6758
|
+
rowComponent: RowComponent.EXPLORE;
|
|
6759
|
+
customItems: ExploreTileSpecificData;
|
|
6760
|
+
screenRef?: string;
|
|
6761
|
+
videoRef?: string;
|
|
6762
|
+
}
|
|
6763
|
+
|
|
6764
|
+
/**
|
|
6765
|
+
* FAQ row
|
|
6766
|
+
* @public
|
|
6767
|
+
*/
|
|
6768
|
+
export declare interface StaticRowFaq extends BaseRow {
|
|
6769
|
+
type: 'static';
|
|
6770
|
+
rowComponent: RowComponent.FAQ;
|
|
6771
|
+
customItems: FaqTileSpecificData;
|
|
6772
|
+
screenRef?: string;
|
|
6773
|
+
videoRef?: string;
|
|
6774
|
+
email?: string;
|
|
6775
|
+
}
|
|
6776
|
+
|
|
6777
|
+
/**
|
|
6778
|
+
* Static row type - discriminated union by rowComponent
|
|
6779
|
+
*/
|
|
6780
|
+
export declare type StaticRowInScreen = StaticRowInScreenCtaBanner | StaticRowInScreenPresentBanner | StaticRowInScreenVideoBanner | StaticRowInScreenHomepageBanner | StaticRowInScreenFaq | StaticRowInScreenBenefits | StaticRowInScreenWithTiles;
|
|
6781
|
+
|
|
6782
|
+
/**
|
|
6783
|
+
* Benefits static row - has tiles + buttons
|
|
6784
|
+
*/
|
|
6785
|
+
declare type StaticRowInScreenBenefits = BaseStaticRowInScreen & {
|
|
6786
|
+
rowComponent: RowComponent.BENEFITS;
|
|
6787
|
+
buttons?: RowButton[];
|
|
6788
|
+
tiles: PaginatedResponse<TileData<'static'>, 'rowId'>;
|
|
6789
|
+
};
|
|
6790
|
+
|
|
6791
|
+
/**
|
|
6792
|
+
* CTA Banner static row - data flatten to row level (no tiles)
|
|
6793
|
+
*/
|
|
6794
|
+
declare type StaticRowInScreenCtaBanner = BaseStaticRowInScreen & {
|
|
6795
|
+
rowComponent: RowComponent.CTA_BANNER;
|
|
6796
|
+
} & CtaBannerExtendRowData;
|
|
6797
|
+
|
|
6798
|
+
/**
|
|
6799
|
+
* FAQ static row - has description and email fields specific to FAQ
|
|
6800
|
+
*/
|
|
6801
|
+
declare type StaticRowInScreenFaq = BaseStaticRowInScreen & {
|
|
6802
|
+
rowComponent: RowComponent.FAQ;
|
|
6803
|
+
description?: Translation;
|
|
6804
|
+
email?: string;
|
|
6805
|
+
tiles: PaginatedResponse<TileData<'static'>, 'rowId'>;
|
|
6806
|
+
};
|
|
6807
|
+
|
|
6808
|
+
/**
|
|
6809
|
+
* Homepage Banner static row - multiline banner for homepage (no tiles)
|
|
6810
|
+
*/
|
|
6811
|
+
declare type StaticRowInScreenHomepageBanner = BaseStaticRowInScreen & {
|
|
6812
|
+
rowComponent: RowComponent.HOMEPAGE_BANNER;
|
|
6813
|
+
} & HomepageBannerExtendRowData;
|
|
6814
|
+
|
|
6815
|
+
/**
|
|
6816
|
+
* Present Banner static row - organization fields + videoPath flatten to row level (no tiles)
|
|
6817
|
+
*/
|
|
6818
|
+
declare type StaticRowInScreenPresentBanner = BaseStaticRowInScreen & {
|
|
6819
|
+
rowComponent: RowComponent.PRESENT_BANNER;
|
|
6820
|
+
videoPath?: string;
|
|
6821
|
+
} & Omit<PresentBannerExtendRowData, 'name' | 'description'>;
|
|
6822
|
+
|
|
6823
|
+
/**
|
|
6824
|
+
* Video Banner static row - videoPath flatten to row level (no tiles)
|
|
6825
|
+
*/
|
|
6826
|
+
declare type StaticRowInScreenVideoBanner = BaseStaticRowInScreen & {
|
|
6827
|
+
rowComponent: RowComponent.VIDEO_BANNER;
|
|
6828
|
+
videoPath?: string;
|
|
6829
|
+
};
|
|
6830
|
+
|
|
6831
|
+
/**
|
|
6832
|
+
* Static rows with tiles (NUMBERS, EXPLORE, etc.)
|
|
6833
|
+
*/
|
|
6834
|
+
declare type StaticRowInScreenWithTiles = BaseStaticRowInScreen & {
|
|
6835
|
+
rowComponent: Exclude<RowComponent, RowComponent.CTA_BANNER | RowComponent.PRESENT_BANNER | RowComponent.VIDEO_BANNER | RowComponent.HOMEPAGE_BANNER | RowComponent.FAQ | RowComponent.BENEFITS>;
|
|
6836
|
+
tiles: PaginatedResponse<TileData<'static'>, 'rowId'>;
|
|
6837
|
+
};
|
|
6838
|
+
|
|
6839
|
+
/**
|
|
6840
|
+
* Numbers row
|
|
6841
|
+
* @public
|
|
6842
|
+
*/
|
|
6843
|
+
export declare interface StaticRowNumbers extends BaseRow {
|
|
6844
|
+
type: 'static';
|
|
6845
|
+
rowComponent: RowComponent.NUMBERS;
|
|
6846
|
+
customItems: NumbersTileSpecificData;
|
|
6847
|
+
screenRef?: string;
|
|
6848
|
+
videoRef?: string;
|
|
6849
|
+
variant?: 'default' | 'large';
|
|
6850
|
+
}
|
|
6851
|
+
|
|
6852
|
+
/**
|
|
6853
|
+
* Present banner row
|
|
6854
|
+
* @public
|
|
6855
|
+
*/
|
|
6856
|
+
export declare interface StaticRowPresentBanner extends BaseRow {
|
|
6857
|
+
type: 'static';
|
|
6858
|
+
rowComponent: RowComponent.PRESENT_BANNER;
|
|
6859
|
+
customItems: PresentBannerExtendRowData;
|
|
6860
|
+
screenRef?: string;
|
|
6861
|
+
videoRef?: string;
|
|
6862
|
+
subname?: Translation;
|
|
6863
|
+
avatars?: ScalableAsset[];
|
|
6864
|
+
avatarsText?: Translation;
|
|
6865
|
+
asset?: ScalableAsset;
|
|
6866
|
+
videoPath?: string;
|
|
6867
|
+
buttons?: RowButton[];
|
|
6868
|
+
}
|
|
6869
|
+
|
|
6870
|
+
/**
|
|
6871
|
+
* Reviews row
|
|
6872
|
+
* @public
|
|
6873
|
+
*/
|
|
6874
|
+
export declare interface StaticRowReviews extends BaseRow {
|
|
6875
|
+
type: 'static';
|
|
6876
|
+
rowComponent: RowComponent.REVIEWS;
|
|
6877
|
+
customItems: ReviewTileSpecificData;
|
|
6878
|
+
screenRef?: string;
|
|
6879
|
+
videoRef?: string;
|
|
6880
|
+
}
|
|
6881
|
+
|
|
6882
|
+
/**
|
|
6883
|
+
* Split layout row
|
|
6884
|
+
* @public
|
|
6885
|
+
*/
|
|
6886
|
+
export declare interface StaticRowSplitLayout extends BaseRow {
|
|
6887
|
+
type: 'static';
|
|
6888
|
+
rowComponent: RowComponent.SPLIT_LAYOUT;
|
|
6889
|
+
customItems: SplitLayoutSpecificData;
|
|
6890
|
+
screenRef?: string;
|
|
6891
|
+
videoRef?: string;
|
|
5989
6892
|
}
|
|
5990
6893
|
|
|
6894
|
+
/**
|
|
6895
|
+
* Static row without customItems (video banner, media accordion, monetization banner, background banner)
|
|
6896
|
+
* @public
|
|
6897
|
+
*/
|
|
6898
|
+
export declare interface StaticRowWithoutCustomItems extends BaseRow {
|
|
6899
|
+
type: 'static';
|
|
6900
|
+
rowComponent: RowComponent.VIDEO_BANNER | RowComponent.MEDIA_ACCORDEON | RowComponent.MONETIZATION_BANNER | RowComponent.BACKGROUND_BANNER | RowComponent.PARTNER_LOGOS;
|
|
6901
|
+
screenRef?: string;
|
|
6902
|
+
videoRef?: string;
|
|
6903
|
+
videoPath?: string;
|
|
6904
|
+
}
|
|
6905
|
+
|
|
6906
|
+
/**
|
|
6907
|
+
* Tile data for static rows with itemSpecificData (BENEFITS, FAQ, NUMBERS, SPLIT_LAYOUT, REVIEWS, EXPLORE).
|
|
6908
|
+
* @public
|
|
6909
|
+
*/
|
|
6910
|
+
export declare interface StaticTileData<ItemSpecificData extends StaticTileItemSpecificData = StaticTileItemSpecificData> {
|
|
6911
|
+
/**
|
|
6912
|
+
* Specific data for an item type (e.g. benefit, faq, numbers, split layout, etc.).
|
|
6913
|
+
*/
|
|
6914
|
+
itemSpecificData: ItemSpecificData;
|
|
6915
|
+
}
|
|
6916
|
+
|
|
6917
|
+
/**
|
|
6918
|
+
* Type for itemSpecificData in API tile responses.
|
|
6919
|
+
* Excludes types that don't use itemSpecificData in tiles:
|
|
6920
|
+
* - MediaAccordeonTileSpecificData: MEDIA_ACCORDEON only uses path/id/name fields
|
|
6921
|
+
* - PresentBannerExtendRowData: PRESENT_BANNER data is flatten to row level (no tiles)
|
|
6922
|
+
* - CtaBannerExtendRowData: CTA_BANNER data is flatten to row level (no tiles)
|
|
6923
|
+
* @public
|
|
6924
|
+
*/
|
|
6925
|
+
export declare type StaticTileItemSpecificData = BenefitTileSpecificData | ReviewTileSpecificData | NumbersTileSpecificData | SplitLayoutSpecificData | FaqTileSpecificData | ExploreTileSpecificData | MediaAccordeonTileSpecificData;
|
|
6926
|
+
|
|
5991
6927
|
/**
|
|
5992
6928
|
* @public
|
|
5993
6929
|
*/
|
|
@@ -6002,6 +6938,15 @@ export declare interface StoreBadgeConfig {
|
|
|
6002
6938
|
appId: string;
|
|
6003
6939
|
}
|
|
6004
6940
|
|
|
6941
|
+
/**
|
|
6942
|
+
* @public
|
|
6943
|
+
* Streaming profile for buffer configuration.
|
|
6944
|
+
* - 'low': Minimal buffering for fastest camera switches (bufferingGoal: 3s)
|
|
6945
|
+
* - 'medium': Balanced buffering (bufferingGoal: 5s) - default
|
|
6946
|
+
* - 'high': Maximum buffering for stable playback (bufferingGoal: 15s)
|
|
6947
|
+
*/
|
|
6948
|
+
export declare type StreamingProfile = 'low' | 'medium' | 'high';
|
|
6949
|
+
|
|
6005
6950
|
export declare interface SubmitAnswerRequest {
|
|
6006
6951
|
answerOptionId?: string;
|
|
6007
6952
|
answerText?: string;
|
|
@@ -6070,6 +7015,25 @@ declare interface SubscriptionInfo {
|
|
|
6070
7015
|
frequency: string;
|
|
6071
7016
|
}
|
|
6072
7017
|
|
|
7018
|
+
/**
|
|
7019
|
+
* Extended language codes for subtitle tracks.
|
|
7020
|
+
* Includes all LangCode values plus additional languages only needed for subtitles.
|
|
7021
|
+
* @public
|
|
7022
|
+
*/
|
|
7023
|
+
export declare type SubtitleLangCode = LangCode | 'uk' | 'zh';
|
|
7024
|
+
|
|
7025
|
+
/**
|
|
7026
|
+
* Mapping of subtitle language codes to their English names.
|
|
7027
|
+
* @public
|
|
7028
|
+
*/
|
|
7029
|
+
export declare const SubtitleLangCodeToTitle: Record<SubtitleLangCode, string>;
|
|
7030
|
+
|
|
7031
|
+
/**
|
|
7032
|
+
* All subtitle language codes including extra languages not in LangCode.
|
|
7033
|
+
* @public
|
|
7034
|
+
*/
|
|
7035
|
+
export declare const subtitleLanguages: SubtitleLangCode[];
|
|
7036
|
+
|
|
6073
7037
|
/**
|
|
6074
7038
|
* @public
|
|
6075
7039
|
*/
|
|
@@ -6110,8 +7074,8 @@ export declare interface Tag extends RowItem {
|
|
|
6110
7074
|
detailBanner?: string;
|
|
6111
7075
|
availableSeasons?: AvailableSeason[];
|
|
6112
7076
|
isFavorite: boolean;
|
|
6113
|
-
addToFavorites: () =>
|
|
6114
|
-
removeFromFavorites: () =>
|
|
7077
|
+
addToFavorites: () => void;
|
|
7078
|
+
removeFromFavorites: () => void;
|
|
6115
7079
|
cover: string;
|
|
6116
7080
|
getApplicationName: () => string | undefined;
|
|
6117
7081
|
seriesRef?: DocumentReference<any>;
|
|
@@ -6216,45 +7180,74 @@ export declare interface TileApplicationData {
|
|
|
6216
7180
|
name: Translation;
|
|
6217
7181
|
description?: string;
|
|
6218
7182
|
logo: string;
|
|
6219
|
-
organizationBanner?: string;
|
|
6220
|
-
urlHandle: string;
|
|
6221
|
-
organizationId: string;
|
|
6222
|
-
type: ApplicationType;
|
|
6223
|
-
profilePhoto?: string;
|
|
6224
|
-
isMainApplication?: boolean;
|
|
6225
|
-
}
|
|
6226
|
-
|
|
6227
|
-
|
|
6228
|
-
|
|
6229
|
-
|
|
6230
|
-
|
|
6231
|
-
|
|
6232
|
-
|
|
6233
|
-
|
|
6234
|
-
|
|
6235
|
-
|
|
6236
|
-
|
|
6237
|
-
* Type of the tile. VIDEO, TV_CHANNEL, TAG, ...
|
|
6238
|
-
*/
|
|
6239
|
-
itemType: ROW_ITEM_TYPES;
|
|
7183
|
+
organizationBanner?: string;
|
|
7184
|
+
urlHandle: string;
|
|
7185
|
+
organizationId: string;
|
|
7186
|
+
type: ApplicationType;
|
|
7187
|
+
profilePhoto?: string;
|
|
7188
|
+
isMainApplication?: boolean;
|
|
7189
|
+
}
|
|
7190
|
+
|
|
7191
|
+
/**
|
|
7192
|
+
* @public
|
|
7193
|
+
*/
|
|
7194
|
+
export declare interface TileComponentProps {
|
|
7195
|
+
children?: React_2.ReactNode;
|
|
7196
|
+
cover?: string;
|
|
7197
|
+
bottomLabel: string;
|
|
7198
|
+
bottomLabelAreaHeight: number;
|
|
7199
|
+
bottomItem?: React_2.ReactNode;
|
|
7200
|
+
innerLabel: string;
|
|
6240
7201
|
/**
|
|
6241
|
-
*
|
|
7202
|
+
* Override font size of component type specific tile based on viewport width
|
|
6242
7203
|
*/
|
|
6243
|
-
|
|
7204
|
+
innerLabelFontSize?: number;
|
|
7205
|
+
duration: string;
|
|
7206
|
+
price: string | null;
|
|
7207
|
+
focused: boolean;
|
|
7208
|
+
onClick?: () => void;
|
|
7209
|
+
hoverable: boolean;
|
|
7210
|
+
coverPadding: CoverPadding;
|
|
7211
|
+
variant: RowItemComponent;
|
|
7212
|
+
coverWidth: number;
|
|
7213
|
+
progress?: number;
|
|
7214
|
+
time?: string;
|
|
7215
|
+
logo?: string;
|
|
7216
|
+
bigLogo?: string;
|
|
7217
|
+
coverHeight: number;
|
|
7218
|
+
aspectRatio?: number;
|
|
6244
7219
|
/**
|
|
6245
|
-
*
|
|
7220
|
+
* Margin of inner TileContainer.
|
|
7221
|
+
* Now used for backward compatibility for WebTileGrid. Consider to use it other way.
|
|
6246
7222
|
*/
|
|
6247
|
-
|
|
7223
|
+
containerMargin?: number | string;
|
|
7224
|
+
created?: Date;
|
|
7225
|
+
numberOfLines?: number;
|
|
7226
|
+
applicationName?: string;
|
|
7227
|
+
applicationLogo?: string;
|
|
7228
|
+
hasBranding?: boolean;
|
|
7229
|
+
applicationHandle?: string;
|
|
7230
|
+
fullWidth?: boolean;
|
|
7231
|
+
bottomComponent?: BottomComponent;
|
|
7232
|
+
showAlreadyWatchedOverlay?: boolean;
|
|
7233
|
+
itemType?: ROW_ITEM_TYPES;
|
|
7234
|
+
description?: string;
|
|
7235
|
+
showDescriptionAsTitle?: boolean;
|
|
7236
|
+
isSeries?: boolean;
|
|
7237
|
+
episodeCount?: number;
|
|
6248
7238
|
/**
|
|
6249
|
-
*
|
|
7239
|
+
* Optional label to display in the top-right corner of the tile (e.g., "Exclusive").
|
|
7240
|
+
* Label text (already resolved for the current language).
|
|
6250
7241
|
*/
|
|
6251
|
-
|
|
7242
|
+
topLabel?: string;
|
|
6252
7243
|
/**
|
|
6253
|
-
*
|
|
7244
|
+
* CSS color for the topLabel background. Defaults to white.
|
|
6254
7245
|
*/
|
|
6255
|
-
|
|
7246
|
+
topLabelColor?: string;
|
|
6256
7247
|
}
|
|
6257
7248
|
|
|
7249
|
+
export declare type TileData<T extends ScreenRowType = ScreenRowType> = T extends 'static' ? StaticTileData : DocumentTileData;
|
|
7250
|
+
|
|
6258
7251
|
export declare interface TileMonetizationData {
|
|
6259
7252
|
id: string;
|
|
6260
7253
|
path: string;
|
|
@@ -6311,56 +7304,17 @@ export declare interface TileOptions {
|
|
|
6311
7304
|
}
|
|
6312
7305
|
|
|
6313
7306
|
/**
|
|
7307
|
+
* Additional properties that can be applied to tiles for visual customization
|
|
6314
7308
|
* @public
|
|
6315
7309
|
*/
|
|
6316
7310
|
export declare interface TileProps {
|
|
6317
|
-
|
|
6318
|
-
cover?: string;
|
|
6319
|
-
bottomLabel: string;
|
|
6320
|
-
bottomLabelAreaHeight: number;
|
|
6321
|
-
bottomItem?: React_2.ReactNode;
|
|
6322
|
-
innerLabel: string;
|
|
6323
|
-
/**
|
|
6324
|
-
* Override font size of component type specific tile based on viewport width
|
|
6325
|
-
*/
|
|
6326
|
-
innerLabelFontSize?: number;
|
|
6327
|
-
duration: string;
|
|
6328
|
-
price: string | null;
|
|
6329
|
-
focused: boolean;
|
|
6330
|
-
onClick?: () => void;
|
|
6331
|
-
hoverable: boolean;
|
|
6332
|
-
coverPadding: CoverPadding;
|
|
6333
|
-
variant: RowItemComponent;
|
|
6334
|
-
coverWidth: number;
|
|
6335
|
-
progress?: number;
|
|
6336
|
-
time?: string;
|
|
6337
|
-
logo?: string;
|
|
6338
|
-
bigLogo?: string;
|
|
6339
|
-
coverHeight: number;
|
|
6340
|
-
aspectRatio?: number;
|
|
6341
|
-
/**
|
|
6342
|
-
* Margin of inner TileContainer.
|
|
6343
|
-
* Now used for backward compatibility for WebTileGrid. Consider to use it other way.
|
|
6344
|
-
*/
|
|
6345
|
-
containerMargin?: number | string;
|
|
6346
|
-
created?: Date;
|
|
6347
|
-
numberOfLines?: number;
|
|
6348
|
-
applicationName?: string;
|
|
6349
|
-
applicationLogo?: string;
|
|
6350
|
-
hasBranding?: boolean;
|
|
6351
|
-
applicationHandle?: string;
|
|
6352
|
-
fullWidth?: boolean;
|
|
6353
|
-
bottomComponent?: BottomComponent;
|
|
6354
|
-
showAlreadyWatchedOverlay?: boolean;
|
|
6355
|
-
itemType?: ROW_ITEM_TYPES;
|
|
6356
|
-
description?: string;
|
|
6357
|
-
showDescriptionAsTitle?: boolean;
|
|
7311
|
+
topRightLabel?: TileTopRightLabel;
|
|
6358
7312
|
}
|
|
6359
7313
|
|
|
6360
7314
|
/**
|
|
6361
7315
|
* @public
|
|
6362
7316
|
*/
|
|
6363
|
-
export declare type TilePropsPartial = Partial<
|
|
7317
|
+
export declare type TilePropsPartial = Partial<TileComponentProps>;
|
|
6364
7318
|
|
|
6365
7319
|
/**
|
|
6366
7320
|
* @internal
|
|
@@ -6400,6 +7354,15 @@ export declare type TileSizesMap = {
|
|
|
6400
7354
|
*/
|
|
6401
7355
|
export declare type TileSizeVariant = 'default' | 'mobile';
|
|
6402
7356
|
|
|
7357
|
+
/**
|
|
7358
|
+
* Custom label to be displayed on a tile (e.g., "Exclusive" badge)
|
|
7359
|
+
* @public
|
|
7360
|
+
*/
|
|
7361
|
+
export declare interface TileTopRightLabel {
|
|
7362
|
+
text: string;
|
|
7363
|
+
color?: string;
|
|
7364
|
+
}
|
|
7365
|
+
|
|
6403
7366
|
/**
|
|
6404
7367
|
* @public
|
|
6405
7368
|
*/
|
|
@@ -6490,10 +7453,6 @@ export declare interface TivioComponents {
|
|
|
6490
7453
|
ContentSortPicker: React_2.ComponentType<ContentSortPickerProps>;
|
|
6491
7454
|
WebTivioProVideoScreen: React_2.ComponentType<WebTivioProVideoScreenProps>;
|
|
6492
7455
|
RemoteController: React_2.ComponentType<RemoteControllerProps>;
|
|
6493
|
-
MonetizationsSelectOverlay: React_2.ComponentType;
|
|
6494
|
-
MonetizationsSelectOverlayContextProvider: React_2.ComponentType<{
|
|
6495
|
-
children: React_2.ReactNode;
|
|
6496
|
-
}>;
|
|
6497
7456
|
}
|
|
6498
7457
|
|
|
6499
7458
|
/**
|
|
@@ -6530,7 +7489,10 @@ export declare interface TivioConfig {
|
|
|
6530
7489
|
* @deprecated this field is no longer in use and has no impact when set.
|
|
6531
7490
|
*/
|
|
6532
7491
|
firestore?: any | null;
|
|
6533
|
-
|
|
7492
|
+
/**
|
|
7493
|
+
* @deprecated currency should be determined by `currencies` field in organization document in database, do not rely on this field.
|
|
7494
|
+
*/
|
|
7495
|
+
currency?: Currency;
|
|
6534
7496
|
/**
|
|
6535
7497
|
* Represents an optional array of LanguageSelector objects.
|
|
6536
7498
|
* Used to define and manage a list of supported languages for different language-usages (user, content,...).
|
|
@@ -6660,6 +7622,22 @@ export declare type TivioHooks = {
|
|
|
6660
7622
|
};
|
|
6661
7623
|
useChannelSource: UseChannelSource;
|
|
6662
7624
|
useTvChannel: UseTvChannel;
|
|
7625
|
+
useInteractiveWidget: (widgetPath: string | undefined, isObs?: boolean) => {
|
|
7626
|
+
widget: SDKWidget<InteractiveWidget> | null;
|
|
7627
|
+
isLoading: boolean;
|
|
7628
|
+
error: Error | null;
|
|
7629
|
+
};
|
|
7630
|
+
useQuizWidget: (widgetPath: string | undefined, isObs?: boolean) => {
|
|
7631
|
+
widget: SDKWidget<QuizWidget> | null;
|
|
7632
|
+
isLoading: boolean;
|
|
7633
|
+
error: Error | null;
|
|
7634
|
+
};
|
|
7635
|
+
usePollWidget: (widgetPath: string | undefined, isObs?: boolean) => {
|
|
7636
|
+
widget: SDKWidget<PollWidget> | null;
|
|
7637
|
+
isLoading: boolean;
|
|
7638
|
+
error: Error | null;
|
|
7639
|
+
};
|
|
7640
|
+
useRemoteController: UseRemoteController;
|
|
6663
7641
|
};
|
|
6664
7642
|
|
|
6665
7643
|
/**
|
|
@@ -6689,6 +7667,10 @@ export declare type TivioInternalComponents = {
|
|
|
6689
7667
|
}>;
|
|
6690
7668
|
Banner: React_2.ComponentType<BannerPropsPartial>;
|
|
6691
7669
|
CustomAppHistoryContext: React_2.Context<HistoryContextData | undefined>;
|
|
7670
|
+
ScrollableSubscriptionList: React_2.ComponentType<{
|
|
7671
|
+
subscriptions: PurchasableMonetization[];
|
|
7672
|
+
renderSubscription: (subscription: PurchasableMonetization) => React_2.ReactNode;
|
|
7673
|
+
}>;
|
|
6692
7674
|
};
|
|
6693
7675
|
|
|
6694
7676
|
/**
|
|
@@ -6739,6 +7721,13 @@ export declare type TivioInternalHooks = {
|
|
|
6739
7721
|
error: Error | null;
|
|
6740
7722
|
loading: boolean;
|
|
6741
7723
|
});
|
|
7724
|
+
useScrollShadows: () => {
|
|
7725
|
+
scrollRef: React_2.RefObject<HTMLDivElement>;
|
|
7726
|
+
showLeftShadow: boolean;
|
|
7727
|
+
showRightShadow: boolean;
|
|
7728
|
+
shouldCenter: boolean;
|
|
7729
|
+
checkScrollShadows: () => void;
|
|
7730
|
+
};
|
|
6742
7731
|
useTvChannel: UseTvChannel;
|
|
6743
7732
|
useUser: () => {
|
|
6744
7733
|
user: User | null;
|
|
@@ -6766,9 +7755,7 @@ export declare type TivioInternalProviders = {
|
|
|
6766
7755
|
UserContextProvider: React_2.ComponentType<{
|
|
6767
7756
|
children?: React_2.ReactNode;
|
|
6768
7757
|
}>;
|
|
6769
|
-
MonetizationsSelectOverlayContextProvider: React_2.ComponentType
|
|
6770
|
-
children: React_2.ReactNode;
|
|
6771
|
-
}>;
|
|
7758
|
+
MonetizationsSelectOverlayContextProvider: React_2.ComponentType;
|
|
6772
7759
|
QerkoOverlayContextProvider: React_2.ComponentType;
|
|
6773
7760
|
/**
|
|
6774
7761
|
* @deprecated do not use, this provider will be removed in the future
|
|
@@ -6873,7 +7860,7 @@ export declare type TivioReactBundle = {
|
|
|
6873
7860
|
subscriptions: TivioSubscriptions;
|
|
6874
7861
|
purchaseVideoWithQerko: (videoId: string, monetizationId: string, voucher?: {
|
|
6875
7862
|
expirationDate: Date;
|
|
6876
|
-
}) => Promise<QerkoPaymentInfo>;
|
|
7863
|
+
}, email?: string) => Promise<QerkoPaymentInfo>;
|
|
6877
7864
|
purchaseSubscriptionWithQerko: (monetizationId: string, voucher?: {
|
|
6878
7865
|
expirationDate: Date;
|
|
6879
7866
|
}) => Promise<QerkoPaymentInfo>;
|
|
@@ -6886,8 +7873,6 @@ export declare type TivioReactBundle = {
|
|
|
6886
7873
|
*/
|
|
6887
7874
|
internal: TivioInternalBundle;
|
|
6888
7875
|
analytics: TivioAnalytics;
|
|
6889
|
-
addToFavoritesByPath: (path: string) => Promise<void>;
|
|
6890
|
-
removeFromFavoritesByPath: (path: string) => Promise<void>;
|
|
6891
7876
|
destroy: () => Promise<void>;
|
|
6892
7877
|
} & Pick<TivioSetters, 'setBundleVersion' | 'setUser' | 'setLanguage' | 'setStorageManager'> & Omit<Partial<TivioJsBundleExposedApi>, 'createPlayerWrapper'>;
|
|
6893
7878
|
|
|
@@ -7016,7 +8001,7 @@ export declare interface TvAppProps {
|
|
|
7016
8001
|
/**
|
|
7017
8002
|
* @public
|
|
7018
8003
|
*/
|
|
7019
|
-
export declare interface TvChannel extends RowItem
|
|
8004
|
+
export declare interface TvChannel extends RowItem {
|
|
7020
8005
|
id: string;
|
|
7021
8006
|
itemType: ROW_ITEM_TYPES.TV_CHANNEL;
|
|
7022
8007
|
name: string;
|
|
@@ -7027,11 +8012,17 @@ export declare interface TvChannel extends RowItem, MonetizableItem {
|
|
|
7027
8012
|
logoPendingOverlayWidth?: string;
|
|
7028
8013
|
hls: string;
|
|
7029
8014
|
dash: string;
|
|
8015
|
+
/**
|
|
8016
|
+
* Returns all transactions and subscriptions applied to this tv channel.
|
|
8017
|
+
* Transactions before subscriptions, sorted by price ascending.
|
|
8018
|
+
*/
|
|
8019
|
+
getPurchasableMonetizations(options?: GetPurchasableMonetizationsOptions): PurchasableMonetization[];
|
|
7030
8020
|
getSourceUrl(options?: {
|
|
7031
8021
|
language?: LangCode;
|
|
7032
8022
|
}): Promise<GetSourceUrlResponse & {
|
|
7033
8023
|
language?: LangCode;
|
|
7034
8024
|
}>;
|
|
8025
|
+
purchasableMonetization: any | null;
|
|
7035
8026
|
price: number;
|
|
7036
8027
|
cover: string;
|
|
7037
8028
|
isPlayable: boolean;
|
|
@@ -7061,7 +8052,12 @@ export declare enum TvChannelType {
|
|
|
7061
8052
|
/**
|
|
7062
8053
|
* "Virtual" tv channel constructed from separate videos
|
|
7063
8054
|
*/
|
|
7064
|
-
VIRTUAL = "VIRTUAL"
|
|
8055
|
+
VIRTUAL = "VIRTUAL",
|
|
8056
|
+
/**
|
|
8057
|
+
* Scheduled channel - has EPG like VIRTUAL (admin can edit schedule)
|
|
8058
|
+
* but streams like CLASSIC (calls getSourceUrl on the channel, not per-video).
|
|
8059
|
+
*/
|
|
8060
|
+
SCHEDULED = "SCHEDULED"
|
|
7065
8061
|
}
|
|
7066
8062
|
|
|
7067
8063
|
/**
|
|
@@ -7143,6 +8139,13 @@ export declare type UpdateNotificationSettingsRequest = {
|
|
|
7143
8139
|
|
|
7144
8140
|
export declare type UpdateNotificationSettingsResponse = Promise<boolean>;
|
|
7145
8141
|
|
|
8142
|
+
export declare type UpdateUserEmailPayload = {
|
|
8143
|
+
newEmail: string;
|
|
8144
|
+
password: string;
|
|
8145
|
+
name: string;
|
|
8146
|
+
token?: string;
|
|
8147
|
+
};
|
|
8148
|
+
|
|
7146
8149
|
export declare type UpsertCommentResponse = AddEditCommentResponse | DeleteCommentResponse;
|
|
7147
8150
|
|
|
7148
8151
|
export declare type UrlNamesType = {
|
|
@@ -7205,7 +8208,7 @@ export declare const useCancelSubscription: UseCancelSubscription;
|
|
|
7205
8208
|
* @public
|
|
7206
8209
|
*/
|
|
7207
8210
|
export declare interface UseCancelSubscriptionsResult {
|
|
7208
|
-
cancelSubscriptions: (subscriptionIds: string[]) => Promise<
|
|
8211
|
+
cancelSubscriptions: (subscriptionIds: string[]) => Promise<boolean>;
|
|
7209
8212
|
cancellationInfos: QerkoCancellationInfo[];
|
|
7210
8213
|
errors: string[];
|
|
7211
8214
|
}
|
|
@@ -7283,6 +8286,18 @@ export declare type UseEpisodesResult = {
|
|
|
7283
8286
|
hasMoreEpisodes: boolean;
|
|
7284
8287
|
};
|
|
7285
8288
|
|
|
8289
|
+
/**
|
|
8290
|
+
* Load the interactive widget at `widgetPath` via the remote Tivio bundle.
|
|
8291
|
+
* Returns the union widget (`QuizWidget | PollWidget`); narrow
|
|
8292
|
+
* on `widget.type` to access type-specific fields. Prefer `useQuizWidget` /
|
|
8293
|
+
* `usePollWidget` when you know the type up-front.
|
|
8294
|
+
*/
|
|
8295
|
+
export declare const useInteractiveWidget: (widgetPath: string | undefined, isObs?: boolean) => {
|
|
8296
|
+
widget: SDKWidget<InteractiveWidget> | null;
|
|
8297
|
+
isLoading: boolean;
|
|
8298
|
+
error: Error | null;
|
|
8299
|
+
};
|
|
8300
|
+
|
|
7286
8301
|
/**
|
|
7287
8302
|
* @public
|
|
7288
8303
|
*/
|
|
@@ -7375,6 +8390,12 @@ export declare const useOrganizationSubscriptions: (onlyPurchasableSubscriptions
|
|
|
7375
8390
|
subscriptions: PurchasableMonetization[];
|
|
7376
8391
|
};
|
|
7377
8392
|
|
|
8393
|
+
export declare const usePollWidget: (widgetPath: string | undefined, isObs?: boolean) => {
|
|
8394
|
+
widget: Omit<PollWidget<InteractiveWidgetScene>, InternalInteractiveWidgetMethods> | null;
|
|
8395
|
+
isLoading: boolean;
|
|
8396
|
+
error: Error | null;
|
|
8397
|
+
};
|
|
8398
|
+
|
|
7378
8399
|
/**
|
|
7379
8400
|
* Is used to mark purchase in recovery state as PAID.
|
|
7380
8401
|
*
|
|
@@ -7396,6 +8417,12 @@ export declare function usePurchaseRecovery(): {
|
|
|
7396
8417
|
*/
|
|
7397
8418
|
export declare const usePurchaseSubscription: (monetizationId: string, voucher?: NewVoucher) => QerkoTransaction;
|
|
7398
8419
|
|
|
8420
|
+
export declare const useQuizWidget: (widgetPath: string | undefined, isObs?: boolean) => {
|
|
8421
|
+
widget: Omit<QuizWidget<InteractiveWidgetScene>, InternalInteractiveWidgetMethods> | null;
|
|
8422
|
+
isLoading: boolean;
|
|
8423
|
+
error: Error | null;
|
|
8424
|
+
};
|
|
8425
|
+
|
|
7399
8426
|
/**
|
|
7400
8427
|
* @public
|
|
7401
8428
|
*/
|
|
@@ -7414,9 +8441,17 @@ export declare type User = {
|
|
|
7414
8441
|
* Returns all PAID or CANCELLED user purchases (expired and non-expired)
|
|
7415
8442
|
*/
|
|
7416
8443
|
allPurchases: Purchase[];
|
|
8444
|
+
/**
|
|
8445
|
+
* Returns all PAID or CANCELLED user purchases (expired and non-expired)
|
|
8446
|
+
*/
|
|
8447
|
+
pastPurchases: Purchase[];
|
|
8448
|
+
/**
|
|
8449
|
+
* IDs of available promotions (promotion document IDs).
|
|
8450
|
+
* Example: ['kaGHeCMcOCEF2OcaJCcr']
|
|
8451
|
+
*/
|
|
7417
8452
|
availablePromotionsIds: string[];
|
|
7418
8453
|
/**
|
|
7419
|
-
* Returns "active" (not CANCELLED) VoD purchases ("transaction" type)
|
|
8454
|
+
* Returns "active" (not CANCELLED) VoD purchases ("transaction" type")
|
|
7420
8455
|
*/
|
|
7421
8456
|
purchasedVods: Purchase[];
|
|
7422
8457
|
/**
|
|
@@ -7504,9 +8539,6 @@ export declare type User = {
|
|
|
7504
8539
|
getAllExtendableSubscriptions: () => Promise<Purchase[]>;
|
|
7505
8540
|
getRssValidToken: () => Promise<TokenInterface | undefined>;
|
|
7506
8541
|
getRssUrl: () => Promise<GetUserRssUrlResponse>;
|
|
7507
|
-
getFavorites: (options?: GetUserProfileDataOptions) => Promise<FavoriteWithData[]>;
|
|
7508
|
-
getWatchPositions: (options?: GetUserProfileDataOptions) => Promise<WatchPositionWithData[]>;
|
|
7509
|
-
getWatchHistory: (options?: GetUserProfileDataOptions) => Promise<WatchPositionWithData[]>;
|
|
7510
8542
|
invalidateAllTokens: (type: TokenType) => Promise<void>;
|
|
7511
8543
|
isPartiallyRegistered: boolean;
|
|
7512
8544
|
conversationStore: ConversationStore;
|
|
@@ -7532,6 +8564,58 @@ export declare interface UseReactionsOptions {
|
|
|
7532
8564
|
onError?: (error: Error) => void;
|
|
7533
8565
|
}
|
|
7534
8566
|
|
|
8567
|
+
/**
|
|
8568
|
+
* @public
|
|
8569
|
+
*/
|
|
8570
|
+
export declare type UseRemoteController = (options?: UseRemoteControllerOptions) => UseRemoteControllerResult;
|
|
8571
|
+
|
|
8572
|
+
export declare const useRemoteController: UseRemoteController;
|
|
8573
|
+
|
|
8574
|
+
/**
|
|
8575
|
+
* @public
|
|
8576
|
+
*/
|
|
8577
|
+
export declare interface UseRemoteControllerOptions {
|
|
8578
|
+
sessionId?: string;
|
|
8579
|
+
videoId?: string;
|
|
8580
|
+
}
|
|
8581
|
+
|
|
8582
|
+
/**
|
|
8583
|
+
* @public
|
|
8584
|
+
*/
|
|
8585
|
+
export declare type UseRemoteControllerPlaybackControlPayload = Pick<RemoteControlPlaybackControlPayload, 'playback' | 'activeVideoId'> & Partial<Pick<RemoteControlPlaybackControlPayload, 'sessionId' | 'videoId'>>;
|
|
8586
|
+
|
|
8587
|
+
/**
|
|
8588
|
+
* @public
|
|
8589
|
+
*/
|
|
8590
|
+
export declare type UseRemoteControllerPlayHighlightPayload = Pick<RemoteControlPlayHighlightPayload, 'activeVideoId' | 'replay'> & Partial<Pick<RemoteControlPlayHighlightPayload, 'sessionId' | 'videoId'>>;
|
|
8591
|
+
|
|
8592
|
+
/**
|
|
8593
|
+
* @public
|
|
8594
|
+
*/
|
|
8595
|
+
export declare interface UseRemoteControllerResult {
|
|
8596
|
+
session: UserStreamingSessionFieldInterface | null;
|
|
8597
|
+
sessionId: string | null;
|
|
8598
|
+
videoId: string | null;
|
|
8599
|
+
activeContentId: string | null;
|
|
8600
|
+
isInitialized: boolean;
|
|
8601
|
+
isSignedIn: boolean;
|
|
8602
|
+
isLoading: boolean;
|
|
8603
|
+
error: Error | null;
|
|
8604
|
+
resetError: () => void;
|
|
8605
|
+
pairDevice: (payload: RemoteControlPairPayload) => Promise<RemoteControlPairResponse>;
|
|
8606
|
+
unpairDevice: (payload?: Partial<RemoteControlUnpairPayload>) => Promise<boolean | string>;
|
|
8607
|
+
selectCamera: (payload: UseRemoteControllerSelectCameraPayload) => Promise<boolean | string>;
|
|
8608
|
+
playHighlight: (payload: UseRemoteControllerPlayHighlightPayload) => Promise<boolean | string>;
|
|
8609
|
+
playbackControl: (payload: UseRemoteControllerPlaybackControlPayload) => Promise<boolean | string>;
|
|
8610
|
+
getSourceUrl: (payload: RemoteControlGetSourceUrlPayload) => Promise<RemoteControlGenerateSourceResponse>;
|
|
8611
|
+
remoteControl: <TResponse = RemoteControlGenerateSourceResponse | boolean | string>(payload: RemoteControlRequest) => Promise<TResponse>;
|
|
8612
|
+
}
|
|
8613
|
+
|
|
8614
|
+
/**
|
|
8615
|
+
* @public
|
|
8616
|
+
*/
|
|
8617
|
+
export declare type UseRemoteControllerSelectCameraPayload = Pick<RemoteControlSelectCameraPayload, 'activeVideoId'> & Partial<Pick<RemoteControlSelectCameraPayload, 'sessionId' | 'videoId'>>;
|
|
8618
|
+
|
|
7535
8619
|
export declare enum UserGroup {
|
|
7536
8620
|
ALL = "all",
|
|
7537
8621
|
FREE = "free",
|
|
@@ -7552,7 +8636,7 @@ export declare interface UserNotificationSettings {
|
|
|
7552
8636
|
* @public
|
|
7553
8637
|
*/
|
|
7554
8638
|
export declare type UseRow = (rowId: string | null, organizationId?: string) => {
|
|
7555
|
-
row:
|
|
8639
|
+
row: BaseRow | null;
|
|
7556
8640
|
error: Error | null;
|
|
7557
8641
|
};
|
|
7558
8642
|
|
|
@@ -7794,7 +8878,6 @@ export declare enum VastProvider {
|
|
|
7794
8878
|
TEST = "test",
|
|
7795
8879
|
TEST_VPAID = "test-vpaid",
|
|
7796
8880
|
TIVIO_ADS = "tivio-ads",
|
|
7797
|
-
STATIC_ADS_PROVIDER = "static-ads-provider",
|
|
7798
8881
|
JOJ_TEST_AD_FORM_PROGRAMMATIC = "joj-test-ad-form-programmatic",
|
|
7799
8882
|
JOJ_TEST_TESTER_VASTERIX = "joj-test-tester-vasterix",
|
|
7800
8883
|
JOJ_TEST_TESTER_ADFORM_30 = "joj-test-tester-adform-30"
|
|
@@ -7878,8 +8961,8 @@ export declare interface Video extends RowItem, MonetizableItem, ReactableConten
|
|
|
7878
8961
|
tasting: Video | null;
|
|
7879
8962
|
watchPosition: number | null;
|
|
7880
8963
|
isFavorite: boolean;
|
|
7881
|
-
addToFavorites: () =>
|
|
7882
|
-
removeFromFavorites: () =>
|
|
8964
|
+
addToFavorites: () => void;
|
|
8965
|
+
removeFromFavorites: () => void;
|
|
7883
8966
|
availability: ContentAvailability | null;
|
|
7884
8967
|
sourceLanguages: LangCode[];
|
|
7885
8968
|
urlByLanguage: (lang: LangCode) => string | undefined;
|
|
@@ -7937,10 +9020,6 @@ export declare interface VideoController {
|
|
|
7937
9020
|
muted: boolean;
|
|
7938
9021
|
volume: number;
|
|
7939
9022
|
}) => void): void;
|
|
7940
|
-
addEventListener(event: 'ad-started', callback: (value: AdMetadata & {
|
|
7941
|
-
adCtaElement: HTMLElement | null;
|
|
7942
|
-
}) => void): void;
|
|
7943
|
-
addEventListener(event: 'companion-ads', callback: (value: CompanionAd[]) => void): void;
|
|
7944
9023
|
/**
|
|
7945
9024
|
* Remove an event listener
|
|
7946
9025
|
* @param event - The event name to stop listening for
|
|
@@ -7976,6 +9055,10 @@ export declare interface VideoController {
|
|
|
7976
9055
|
* Replay the current video from the beginning
|
|
7977
9056
|
*/
|
|
7978
9057
|
replay(): Promise<void>;
|
|
9058
|
+
/**
|
|
9059
|
+
* Refresh the current source by calling getSourceUrl without sourceHistory.
|
|
9060
|
+
*/
|
|
9061
|
+
refreshSource(): Promise<void>;
|
|
7979
9062
|
/**
|
|
7980
9063
|
* Retry playback if it failed to start
|
|
7981
9064
|
*/
|
|
@@ -8066,7 +9149,30 @@ export declare interface VideoController {
|
|
|
8066
9149
|
* @param mutations - Array of DOM mutation records
|
|
8067
9150
|
*/
|
|
8068
9151
|
onWatermarkElementChange(mutations: MutationRecord[]): void;
|
|
8069
|
-
|
|
9152
|
+
/**
|
|
9153
|
+
* Switch to HLS source for AirPlay (Safari/iOS only).
|
|
9154
|
+
* Preserves current playback position.
|
|
9155
|
+
*/
|
|
9156
|
+
switchToHlsForAirplay(): Promise<void>;
|
|
9157
|
+
/**
|
|
9158
|
+
* Switch back to DASH from HLS after AirPlay disconnects.
|
|
9159
|
+
* Preserves current playback position.
|
|
9160
|
+
*/
|
|
9161
|
+
switchToDashFromAirplay(): Promise<void>;
|
|
9162
|
+
/**
|
|
9163
|
+
* Reload the current source while preserving playback position.
|
|
9164
|
+
* Used when switching between native HLS and MSE playback modes.
|
|
9165
|
+
*/
|
|
9166
|
+
reloadCurrentSource(): Promise<void>;
|
|
9167
|
+
/**
|
|
9168
|
+
* Set whether to prefer HLS sources over DASH.
|
|
9169
|
+
* Used in Safari/iOS when AirPlay is available, as AirPlay only supports HLS streaming.
|
|
9170
|
+
*/
|
|
9171
|
+
setPreferHls(preferHls: boolean): void;
|
|
9172
|
+
/**
|
|
9173
|
+
* Suppress watermark tamper detection during AirPlay source switching.
|
|
9174
|
+
*/
|
|
9175
|
+
setAirplaySwitching(isSwitching: boolean): void;
|
|
8070
9176
|
}
|
|
8071
9177
|
|
|
8072
9178
|
declare type VideoDetailResponsiveField = OrganizationResponsiveSetting<{
|
|
@@ -8087,7 +9193,7 @@ declare type VideoDetailResponsiveField = OrganizationResponsiveSetting<{
|
|
|
8087
9193
|
/**
|
|
8088
9194
|
* @public
|
|
8089
9195
|
*/
|
|
8090
|
-
export declare type VideoExternals = (JojExternals |
|
|
9196
|
+
export declare type VideoExternals = (JojExternals | OktagonExternals | MigratedVideoExternals | SportyExternals | AdExternals) & {
|
|
8091
9197
|
channelKey?: string;
|
|
8092
9198
|
};
|
|
8093
9199
|
|
|
@@ -8150,6 +9256,11 @@ export declare type VideoSourceField = {
|
|
|
8150
9256
|
* because content id in source url and authentication will not match.
|
|
8151
9257
|
*/
|
|
8152
9258
|
contentId?: string;
|
|
9259
|
+
/**
|
|
9260
|
+
* List of platforms that this source is restricted to.
|
|
9261
|
+
* If empty or not defined, there are no restrictions, and source is available for all platforms.
|
|
9262
|
+
*/
|
|
9263
|
+
platforms?: PLATFORM[];
|
|
8153
9264
|
} & ({
|
|
8154
9265
|
url: string;
|
|
8155
9266
|
provider?: Exclude<VideoSourceProvider, VideoSourceProvider.CLOUDFLARE>;
|
|
@@ -8199,6 +9310,7 @@ export declare interface VideoTileSpecificData {
|
|
|
8199
9310
|
urlName?: UrlNamesType;
|
|
8200
9311
|
monetizations?: VideoTileMonetizationData[];
|
|
8201
9312
|
description?: Translation;
|
|
9313
|
+
duration?: number;
|
|
8202
9314
|
}
|
|
8203
9315
|
|
|
8204
9316
|
/**
|
|
@@ -8287,7 +9399,7 @@ export declare interface ViewCountItem {
|
|
|
8287
9399
|
/**
|
|
8288
9400
|
* @public
|
|
8289
9401
|
*/
|
|
8290
|
-
export declare interface VirtualChannelSourceInterface extends
|
|
9402
|
+
export declare interface VirtualChannelSourceInterface extends ChannelSourceInterface {
|
|
8291
9403
|
tvChannelType: TvChannelType.VIRTUAL;
|
|
8292
9404
|
program?: TvProgram | null;
|
|
8293
9405
|
video?: Video | null;
|
|
@@ -8300,18 +9412,9 @@ export declare interface VirtualChannelSourceInterface extends Omit<ChannelSourc
|
|
|
8300
9412
|
*/
|
|
8301
9413
|
export declare interface VirtualChannelSourceParams extends ChannelSourceParams {
|
|
8302
9414
|
tvChannelType: TvChannelType.VIRTUAL;
|
|
8303
|
-
currentProgram?: TvProgram | null;
|
|
8304
9415
|
drm?: Drm;
|
|
8305
9416
|
}
|
|
8306
9417
|
|
|
8307
|
-
/**
|
|
8308
|
-
* Interface representing the parameters for a VOD (Video On Demand) external multi-source configuration.
|
|
8309
|
-
* Multi-source means an array of string URLs representing the external sources for the video content.
|
|
8310
|
-
*/
|
|
8311
|
-
export declare interface VodExternalMultiSourceParams extends Omit<VodExternalSourceParams, 'url'> {
|
|
8312
|
-
urls: string[];
|
|
8313
|
-
}
|
|
8314
|
-
|
|
8315
9418
|
/**
|
|
8316
9419
|
* @public
|
|
8317
9420
|
*/
|
|
@@ -8410,21 +9513,6 @@ export declare interface WarningConfirmationOverlayPayload extends ConfirmationO
|
|
|
8410
9513
|
subscriptionExpirationText?: string;
|
|
8411
9514
|
}
|
|
8412
9515
|
|
|
8413
|
-
/**
|
|
8414
|
-
* @public
|
|
8415
|
-
*/
|
|
8416
|
-
export declare interface WatchPositionWithData extends Omit<UserWatchPositionField, 'videoRef' | 'tagRef'> {
|
|
8417
|
-
/**
|
|
8418
|
-
* Video that given watch position is related to.
|
|
8419
|
-
*/
|
|
8420
|
-
video: Video;
|
|
8421
|
-
/**
|
|
8422
|
-
* If user watches episode of series, we have to save series ref as well.
|
|
8423
|
-
* Same for {@link episodeNumber} and {@link seasonNumber}.
|
|
8424
|
-
*/
|
|
8425
|
-
tag?: Tag;
|
|
8426
|
-
}
|
|
8427
|
-
|
|
8428
9516
|
/**
|
|
8429
9517
|
* @public
|
|
8430
9518
|
*/
|
|
@@ -8435,7 +9523,6 @@ export declare interface Watermark {
|
|
|
8435
9523
|
|
|
8436
9524
|
export declare interface WebConfig {
|
|
8437
9525
|
customer: CustomerId;
|
|
8438
|
-
customerName?: string;
|
|
8439
9526
|
title?: string;
|
|
8440
9527
|
description?: string;
|
|
8441
9528
|
logo: string;
|
|
@@ -8449,37 +9536,31 @@ export declare interface WebConfig {
|
|
|
8449
9536
|
header?: {
|
|
8450
9537
|
/**
|
|
8451
9538
|
* Text on buy voucher button, if not provided the default text will be used.
|
|
9539
|
+
* Can be a string or an array of language-specific texts.
|
|
9540
|
+
* @deprecated Use headerButton instead
|
|
8452
9541
|
*/
|
|
8453
9542
|
buyVoucherButtonText?: string;
|
|
8454
9543
|
/**
|
|
8455
|
-
*
|
|
9544
|
+
* Configurable button shown in the header (e.g., for vouchers, creator signup, etc.)
|
|
9545
|
+
* Array of language-specific button configurations.
|
|
8456
9546
|
*/
|
|
8457
|
-
|
|
9547
|
+
headerButton?: (LanguageRestricted & {
|
|
9548
|
+
label: string;
|
|
9549
|
+
href: string;
|
|
9550
|
+
/** Icon to show on the button (mobile only) */
|
|
9551
|
+
icon?: 'gift' | 'star' | 'videoRecorder';
|
|
9552
|
+
variant?: 'primary' | 'secondary' | 'transparent';
|
|
9553
|
+
})[];
|
|
8458
9554
|
allowSearch?: boolean;
|
|
8459
9555
|
logoHeight?: string;
|
|
8460
9556
|
mobileLogoHeight?: string;
|
|
8461
9557
|
buySubscriptionButtonText?: string;
|
|
8462
|
-
isHidden?: boolean;
|
|
8463
|
-
/**
|
|
8464
|
-
* Additional menu items to be shown in the rounded menu in the header (external or internal)
|
|
8465
|
-
*/
|
|
8466
|
-
additionalMenuItems?: {
|
|
8467
|
-
name: string;
|
|
8468
|
-
href: string;
|
|
8469
|
-
newTab?: boolean;
|
|
8470
|
-
}[];
|
|
8471
9558
|
};
|
|
8472
9559
|
footer?: {
|
|
8473
|
-
isHidden?: boolean;
|
|
8474
9560
|
/**
|
|
8475
9561
|
* If logo is different from logo in header
|
|
8476
9562
|
*/
|
|
8477
9563
|
logo?: string;
|
|
8478
|
-
/**
|
|
8479
|
-
* @fixme https://app.clickup.com/t/90151157205/TIV-1515
|
|
8480
|
-
* If multiple logos are provided, the multiple logos are prioritized over the single logo.
|
|
8481
|
-
*/
|
|
8482
|
-
multipleLogos?: string[];
|
|
8483
9564
|
showLogo?: boolean;
|
|
8484
9565
|
/**
|
|
8485
9566
|
* right panel - various type of contacts to owners of website
|
|
@@ -8522,19 +9603,6 @@ export declare interface WebConfig {
|
|
|
8522
9603
|
email?: string;
|
|
8523
9604
|
};
|
|
8524
9605
|
cookieSettingsLabel?: string;
|
|
8525
|
-
disclaimer?: string;
|
|
8526
|
-
showDivider?: boolean;
|
|
8527
|
-
/**
|
|
8528
|
-
* Additional links to be shown in the footer
|
|
8529
|
-
*/
|
|
8530
|
-
additionalLinks?: {
|
|
8531
|
-
name: string;
|
|
8532
|
-
href: string;
|
|
8533
|
-
}[];
|
|
8534
|
-
/**
|
|
8535
|
-
* Hide footer on these paths
|
|
8536
|
-
*/
|
|
8537
|
-
hideFooter?: string[];
|
|
8538
9606
|
partners?: {
|
|
8539
9607
|
name: string;
|
|
8540
9608
|
logo: string;
|
|
@@ -8550,14 +9618,6 @@ export declare interface WebConfig {
|
|
|
8550
9618
|
* so app requires authorization to see them.
|
|
8551
9619
|
*/
|
|
8552
9620
|
securedContent?: boolean;
|
|
8553
|
-
/**
|
|
8554
|
-
* If true, then auth is required for all pages.
|
|
8555
|
-
*/
|
|
8556
|
-
isAuthRequired?: boolean;
|
|
8557
|
-
/**
|
|
8558
|
-
* If true, then buy subscription button is hidden.
|
|
8559
|
-
*/
|
|
8560
|
-
hideBuySubscriptionButton?: boolean;
|
|
8561
9621
|
/**
|
|
8562
9622
|
* CSS styles for application background.
|
|
8563
9623
|
*/
|
|
@@ -8576,10 +9636,6 @@ export declare interface WebConfig {
|
|
|
8576
9636
|
* Default is TRUE (see {@link AppLoadingOverlay}
|
|
8577
9637
|
*/
|
|
8578
9638
|
showProgressBar?: boolean;
|
|
8579
|
-
/**
|
|
8580
|
-
* URL to background image shown on loading screen.
|
|
8581
|
-
*/
|
|
8582
|
-
backgroundUrl?: string;
|
|
8583
9639
|
};
|
|
8584
9640
|
/**
|
|
8585
9641
|
* Slug of all pages where user will be forced to fill login form if he's not logged in.
|
|
@@ -8607,7 +9663,6 @@ export declare interface WebConfig {
|
|
|
8607
9663
|
*/
|
|
8608
9664
|
showChooseSubscription?: boolean;
|
|
8609
9665
|
registration?: {
|
|
8610
|
-
logoMarginTop?: string;
|
|
8611
9666
|
/**
|
|
8612
9667
|
* Customization of auth form
|
|
8613
9668
|
*/
|
|
@@ -8627,18 +9682,18 @@ export declare interface WebConfig {
|
|
|
8627
9682
|
showAcceptanceOfTermsAndConditions?: boolean;
|
|
8628
9683
|
};
|
|
8629
9684
|
registrationConsent?: string;
|
|
8630
|
-
socialRegistrationConsent?: string;
|
|
8631
9685
|
};
|
|
8632
9686
|
payment?: {
|
|
8633
9687
|
paymentConsent?: string;
|
|
8634
9688
|
paymentRenewalConsent?: boolean;
|
|
9689
|
+
allowFrequencySwitcher?: boolean;
|
|
8635
9690
|
};
|
|
8636
9691
|
/**
|
|
8637
9692
|
* If web supports entering vouchers
|
|
8638
9693
|
*/
|
|
8639
9694
|
supportVouchers?: boolean;
|
|
8640
9695
|
/**
|
|
8641
|
-
* Config for Google Tag Manager
|
|
9696
|
+
* Config for Google Tag Manager
|
|
8642
9697
|
*/
|
|
8643
9698
|
googleTagManagerConfig?: TagManagerArgs & {
|
|
8644
9699
|
shouldWaitForDidomi?: boolean;
|
|
@@ -8661,8 +9716,6 @@ export declare interface WebConfig {
|
|
|
8661
9716
|
};
|
|
8662
9717
|
monetizationSelectOverlay?: {
|
|
8663
9718
|
title?: string;
|
|
8664
|
-
benefitLeftIcon?: string;
|
|
8665
|
-
showFullMonetizationOnMobile?: boolean;
|
|
8666
9719
|
};
|
|
8667
9720
|
/**
|
|
8668
9721
|
* Google Analytics ID. If provided, Google Analytics will be enabled.
|
|
@@ -8674,7 +9727,6 @@ export declare interface WebConfig {
|
|
|
8674
9727
|
centeredMenu?: boolean;
|
|
8675
9728
|
/**
|
|
8676
9729
|
* All values are considered as false if not provided.
|
|
8677
|
-
* @deprecated - use settings.allowedSignInProviders inside OrganizationDocument
|
|
8678
9730
|
*/
|
|
8679
9731
|
socialLogins?: {
|
|
8680
9732
|
showAppleLogin?: boolean;
|
|
@@ -8689,24 +9741,11 @@ export declare interface WebConfig {
|
|
|
8689
9741
|
* If true, robots.txt will prevent crawling of the website.
|
|
8690
9742
|
*/
|
|
8691
9743
|
norobots?: boolean;
|
|
8692
|
-
|
|
8693
|
-
|
|
8694
|
-
|
|
8695
|
-
|
|
8696
|
-
onPurchase?: (monetization: Purchase) => void;
|
|
8697
|
-
facebookPixelConfig?: {
|
|
8698
|
-
pixelId: string;
|
|
8699
|
-
shouldWaitForDidomi?: boolean;
|
|
9744
|
+
customTranslations?: {
|
|
9745
|
+
[key: string]: {
|
|
9746
|
+
[key: string]: string;
|
|
9747
|
+
};
|
|
8700
9748
|
};
|
|
8701
|
-
/**
|
|
8702
|
-
* If true, the app will be locked in the "remote controller" mode.
|
|
8703
|
-
* This means that the app will not be able to navigate to other pages and will only show the remote controller.
|
|
8704
|
-
*/
|
|
8705
|
-
isRemoteControllerApp?: boolean;
|
|
8706
|
-
/**
|
|
8707
|
-
* Determines if application should check allowed URL handles when switching applications.
|
|
8708
|
-
*/
|
|
8709
|
-
disableUrlHandleCheck?: boolean;
|
|
8710
9749
|
/**
|
|
8711
9750
|
* Map for all handlers
|
|
8712
9751
|
*/
|
|
@@ -8733,7 +9772,7 @@ export declare interface WebGridScreenProps {
|
|
|
8733
9772
|
*/
|
|
8734
9773
|
export declare interface WebPlayerProps {
|
|
8735
9774
|
id: string;
|
|
8736
|
-
source?:
|
|
9775
|
+
source?: SourceParams | VideoPath | ChannelPath | null;
|
|
8737
9776
|
onEnded?: () => any;
|
|
8738
9777
|
/**
|
|
8739
9778
|
* If true, the player will inherit the width and height of its parent element.
|
|
@@ -8797,14 +9836,6 @@ export declare interface WebPlayerProps {
|
|
|
8797
9836
|
* If true then OSD is shown based on condition resolved in HidableOsdContainer, e.g. on pause, on mouse move etc.
|
|
8798
9837
|
*/
|
|
8799
9838
|
showOsd?: boolean;
|
|
8800
|
-
/**
|
|
8801
|
-
* If true, then only a minimal set of OSD controls is shown (play/pause, volume, fullscreen)
|
|
8802
|
-
* and the big center play/pause button only flashes briefly on state change.
|
|
8803
|
-
*
|
|
8804
|
-
* Intended for small fixed containers (e.g. a scroll-pinned mini player in the corner
|
|
8805
|
-
* of the page, or a full-width mobile player pinned to the top of the viewport).
|
|
8806
|
-
*/
|
|
8807
|
-
isMinimal?: boolean;
|
|
8808
9839
|
/**
|
|
8809
9840
|
* If false, then buffering spinner is never shown.
|
|
8810
9841
|
* If true then buffering spinner is shown while buffering.
|
|
@@ -8827,8 +9858,6 @@ export declare interface WebPlayerProps {
|
|
|
8827
9858
|
setPaymentOverlayVisible?: React_2.Dispatch<React_2.SetStateAction<boolean>>;
|
|
8828
9859
|
hideOverlay?: boolean;
|
|
8829
9860
|
sourcePlayMode?: SourcePlayMode;
|
|
8830
|
-
adsConfig?: StaticAdsBreak[];
|
|
8831
|
-
userAuthCallbacks?: SDKUserAuthCallbacks;
|
|
8832
9861
|
}
|
|
8833
9862
|
|
|
8834
9863
|
/**
|