@tivio/sdk-react 4.0.0 → 4.0.1
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +8 -0
- package/README.md.bak +8 -0
- package/dist/index.d.ts +393 -68
- package/dist/index.js +1 -1
- package/dist/sdk-react.d.ts +434 -70
- package/package.json +2 -2
package/dist/sdk-react.d.ts
CHANGED
@@ -37,6 +37,27 @@ export declare interface AdExternal {
|
|
37
37
|
skip: () => void;
|
38
38
|
}
|
39
39
|
|
40
|
+
/**
|
41
|
+
* @public
|
42
|
+
*/
|
43
|
+
export declare type AdMetadata = {
|
44
|
+
type: 'ad';
|
45
|
+
subType: 'inserted' | 'original';
|
46
|
+
secondsToEnd: number;
|
47
|
+
/**
|
48
|
+
* null when ad is not skippable
|
49
|
+
*/
|
50
|
+
secondsToSkippable: number | null;
|
51
|
+
canTriggerSkip: boolean;
|
52
|
+
isSkippable: boolean;
|
53
|
+
order: number | null;
|
54
|
+
totalCount: number | null;
|
55
|
+
skip: () => void;
|
56
|
+
} | null;
|
57
|
+
|
58
|
+
/**
|
59
|
+
* @public
|
60
|
+
*/
|
40
61
|
declare type AdSegment = {
|
41
62
|
id: string;
|
42
63
|
/**
|
@@ -95,6 +116,13 @@ export declare type AdSource = {
|
|
95
116
|
secondsToSkippable: number | null;
|
96
117
|
};
|
97
118
|
|
119
|
+
/**
|
120
|
+
* @public
|
121
|
+
*/
|
122
|
+
declare type AdSource_2 = SourceBase & {
|
123
|
+
type: 'ad';
|
124
|
+
};
|
125
|
+
|
98
126
|
/**
|
99
127
|
* @public
|
100
128
|
*/
|
@@ -193,11 +221,7 @@ export declare type BannerProps = {
|
|
193
221
|
hoverable: boolean;
|
194
222
|
broadcastInfo: string;
|
195
223
|
height: number;
|
196
|
-
coverPadding: CoverPadding;
|
197
224
|
cover: string;
|
198
|
-
fullWidth: boolean;
|
199
|
-
coverContainerPaddingTop: string;
|
200
|
-
width: number;
|
201
225
|
overlay: boolean;
|
202
226
|
price: string;
|
203
227
|
hasRoundCorners: boolean;
|
@@ -256,9 +280,6 @@ export declare interface Channel {
|
|
256
280
|
recentVideos: Video[];
|
257
281
|
}
|
258
282
|
|
259
|
-
/**
|
260
|
-
* @public
|
261
|
-
*/
|
262
283
|
export declare type ChannelSource = {
|
263
284
|
new (uri: string, originalOptions: Record<string, any>, channelName: string, programName: string, programDescription: string, from: Date, to: Date): ChannelSource;
|
264
285
|
description: string;
|
@@ -424,7 +445,7 @@ export declare type Customizations = {
|
|
424
445
|
* @internal
|
425
446
|
*/
|
426
447
|
export declare interface CustomTheme {
|
427
|
-
customizations?: Customizations
|
448
|
+
customizations?: Partial<Customizations>;
|
428
449
|
components: Components;
|
429
450
|
size: (size: number) => number;
|
430
451
|
}
|
@@ -433,7 +454,7 @@ export declare interface CustomTheme {
|
|
433
454
|
* @internal
|
434
455
|
*/
|
435
456
|
export declare interface CustomThemeOptions {
|
436
|
-
customizations?: Customizations
|
457
|
+
customizations?: Partial<Customizations>;
|
437
458
|
components: Components;
|
438
459
|
size: (size: number) => number;
|
439
460
|
}
|
@@ -463,7 +484,7 @@ export declare type DetailedPrice = {
|
|
463
484
|
/**
|
464
485
|
* @public
|
465
486
|
*/
|
466
|
-
export declare type DeviceInfo = ArrisDeviceInfo |
|
487
|
+
export declare type DeviceInfo = ArrisDeviceInfo | ReactNativeDeviceInfo;
|
467
488
|
|
468
489
|
/**
|
469
490
|
* @public
|
@@ -496,6 +517,11 @@ export declare type DocumentOptions = Partial<{
|
|
496
517
|
*/
|
497
518
|
export declare type Empty = void | Promise<void> | undefined | Promise<undefined>;
|
498
519
|
|
520
|
+
/**
|
521
|
+
* @public
|
522
|
+
*/
|
523
|
+
declare type Empty_2 = void | Promise<void> | undefined | Promise<undefined>;
|
524
|
+
|
499
525
|
/**
|
500
526
|
* @public
|
501
527
|
*/
|
@@ -616,7 +642,7 @@ export declare type InternalConfig = SdkReactConfig & {
|
|
616
642
|
fetchPackage: FetchPackage;
|
617
643
|
pubSub: PubSub;
|
618
644
|
/**
|
619
|
-
* @private URL of resolver. Resolver is a script used to fetch
|
645
|
+
* @private URL of resolver. Resolver is a script used to fetch remote code bundle
|
620
646
|
*/
|
621
647
|
resolverUrl: string;
|
622
648
|
sdkVersion: string;
|
@@ -653,6 +679,24 @@ declare interface IntroMarker {
|
|
653
679
|
*/
|
654
680
|
export declare type ItemsInRow = Tag | Video | TvChannel;
|
655
681
|
|
682
|
+
/**
|
683
|
+
* @public
|
684
|
+
*/
|
685
|
+
export declare interface JojExternals {
|
686
|
+
tvProfiProgramId?: string;
|
687
|
+
tvProfiContentId?: string;
|
688
|
+
tvProfiSerialId?: string;
|
689
|
+
contentId?: string;
|
690
|
+
provysId?: string;
|
691
|
+
tvProfiProvysId?: string;
|
692
|
+
tvProfiHouseId?: string;
|
693
|
+
tvProfiTitleOriginal?: string;
|
694
|
+
tvProfiTitleSk?: string;
|
695
|
+
tvProfiType?: string;
|
696
|
+
tvProfiSeriesName?: string;
|
697
|
+
tvProfiDistributor?: string;
|
698
|
+
}
|
699
|
+
|
656
700
|
/**
|
657
701
|
* Enum of all supported languages codes as in ISO 639-1
|
658
702
|
* @public
|
@@ -687,6 +731,34 @@ export declare type LinkedVideo = {
|
|
687
731
|
type: 'CUT' | 'TRAILER' | 'BONUS' | 'CHILD';
|
688
732
|
};
|
689
733
|
|
734
|
+
/**
|
735
|
+
* @public
|
736
|
+
*/
|
737
|
+
export declare type Listener = ListenerAdMetadata | ListenerMarkers;
|
738
|
+
|
739
|
+
/**
|
740
|
+
* @public
|
741
|
+
*/
|
742
|
+
export declare type ListenerAdMetadata = (metadata: AdMetadata) => void;
|
743
|
+
|
744
|
+
/**
|
745
|
+
* @public
|
746
|
+
*/
|
747
|
+
export declare type ListenerMarkers = (marker: Marker[] | null) => void;
|
748
|
+
|
749
|
+
/**
|
750
|
+
* Not supported yet, now it does pass-through only.
|
751
|
+
*
|
752
|
+
* @public
|
753
|
+
*/
|
754
|
+
export declare type LiveTvChannelSource = SourceBase & {
|
755
|
+
type: 'live_tv_channel';
|
756
|
+
/**
|
757
|
+
* Tivio needs channel name in order to load markers.
|
758
|
+
*/
|
759
|
+
channelName: string;
|
760
|
+
};
|
761
|
+
|
690
762
|
declare interface Logger {
|
691
763
|
/** important messages */
|
692
764
|
warn(...data: LoggerArgs): void;
|
@@ -709,15 +781,24 @@ declare type LoggerArgs = any[];
|
|
709
781
|
/**
|
710
782
|
* @public
|
711
783
|
*/
|
712
|
-
export declare
|
784
|
+
export declare interface MallTvExternals {
|
785
|
+
mallTvEntityId: string;
|
786
|
+
}
|
787
|
+
|
788
|
+
/**
|
789
|
+
* @public
|
790
|
+
*/
|
791
|
+
export declare interface Marker {
|
713
792
|
id: string;
|
714
|
-
type: string;
|
715
793
|
from: Date;
|
716
794
|
to: Date;
|
717
795
|
count?: number;
|
718
796
|
fromMs?: number;
|
719
797
|
toMs?: number;
|
720
|
-
|
798
|
+
relativeFromMs: number;
|
799
|
+
relativeToMs: number;
|
800
|
+
type: 'AD' | 'AD_SEGMENT' | 'START' | 'END' | 'INTRO';
|
801
|
+
}
|
721
802
|
|
722
803
|
/**
|
723
804
|
* @public
|
@@ -773,6 +854,16 @@ export declare type Nullable<T> = {
|
|
773
854
|
*/
|
774
855
|
export declare type ObjectType = Record<string, any>;
|
775
856
|
|
857
|
+
/**
|
858
|
+
* @public
|
859
|
+
*/
|
860
|
+
export declare interface OktagonExternals {
|
861
|
+
/**
|
862
|
+
* DRM content Key ID - shouldn't be more connected with buyDRM or streamOnline? It is not general thing
|
863
|
+
*/
|
864
|
+
keyId?: string;
|
865
|
+
}
|
866
|
+
|
776
867
|
/**
|
777
868
|
* @public
|
778
869
|
*/
|
@@ -789,6 +880,16 @@ declare type OrderByDirection = 'desc' | 'asc';
|
|
789
880
|
export declare interface Organization {
|
790
881
|
}
|
791
882
|
|
883
|
+
/**
|
884
|
+
* If Tivio PlayerWrapper is an interception layer, it should allow the pass-through
|
885
|
+
* of not just Tivio source types but any other source types that the 3rd party app may be using.
|
886
|
+
*
|
887
|
+
* @public
|
888
|
+
*/
|
889
|
+
export declare type OtherSource = SourceBase & StartAndContinuePosition & {
|
890
|
+
type: 'other';
|
891
|
+
};
|
892
|
+
|
792
893
|
/**
|
793
894
|
* @public
|
794
895
|
*/
|
@@ -816,6 +917,30 @@ export declare enum PLATFORM {
|
|
816
917
|
TV = "TV"
|
817
918
|
}
|
818
919
|
|
920
|
+
/**
|
921
|
+
* @public
|
922
|
+
*/
|
923
|
+
export declare type Player = {
|
924
|
+
ad: any;
|
925
|
+
currentTime: any;
|
926
|
+
adSegment: any;
|
927
|
+
event: any;
|
928
|
+
events: any;
|
929
|
+
source: any;
|
930
|
+
state: any;
|
931
|
+
onPlaybackEnded: any;
|
932
|
+
onSourceChanged: any;
|
933
|
+
onStateChanged: any;
|
934
|
+
onTimeChanged: any;
|
935
|
+
pause: any;
|
936
|
+
play: any;
|
937
|
+
togglePlayPause: any;
|
938
|
+
register: any;
|
939
|
+
seekTo: any;
|
940
|
+
setVolume: any;
|
941
|
+
triggerEvent: any;
|
942
|
+
};
|
943
|
+
|
819
944
|
/**
|
820
945
|
* @public
|
821
946
|
*/
|
@@ -871,6 +996,17 @@ export declare type PlayerConfig = {
|
|
871
996
|
fullFileDownloadSupport?: boolean;
|
872
997
|
};
|
873
998
|
};
|
999
|
+
/**
|
1000
|
+
* Ad service settings
|
1001
|
+
*/
|
1002
|
+
adService?: {
|
1003
|
+
/**
|
1004
|
+
* Tivio - can be used in websites and TV apps. Does not support VPAID
|
1005
|
+
* IMA - can be used only in websites. Supports VAST 2, partially VAST 3, VAST 4, SIMID 1.0, OM SDK 1.3,
|
1006
|
+
* VPAID 2 (HTML5) https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/compatibility
|
1007
|
+
*/
|
1008
|
+
name: 'IMA SDK' | 'Tivio';
|
1009
|
+
};
|
874
1010
|
};
|
875
1011
|
|
876
1012
|
/**
|
@@ -905,6 +1041,18 @@ export declare interface PlayerInterface {
|
|
905
1041
|
unmute?: () => void;
|
906
1042
|
}
|
907
1043
|
|
1044
|
+
/**
|
1045
|
+
* @public
|
1046
|
+
*/
|
1047
|
+
export declare interface PlayerInterfaceForPlayerWrapper {
|
1048
|
+
/**
|
1049
|
+
* @param {number} ms - milliseconds relative to start of video (relative to 0 ms)
|
1050
|
+
* or in case of TV programs relative to start of the program (relative to source.from ms)
|
1051
|
+
*/
|
1052
|
+
seekTo: (ms: number) => void;
|
1053
|
+
setSource: (source: Source | null) => void;
|
1054
|
+
}
|
1055
|
+
|
908
1056
|
/**
|
909
1057
|
* @public
|
910
1058
|
*/
|
@@ -962,8 +1110,8 @@ export declare type PlayerWrapper = {
|
|
962
1110
|
source: InputSource | null;
|
963
1111
|
events: {
|
964
1112
|
isSupported: (even: string) => boolean;
|
965
|
-
addListener: <T = any>(event: string, cb: (value: T) =>
|
966
|
-
removeListener: <T = any>(event: string, cb: (value: T) =>
|
1113
|
+
addListener: <T = any>(event: string, cb: (value: T) => Empty_2) => void;
|
1114
|
+
removeListener: <T = any>(event: string, cb: (value: T) => Empty_2) => void;
|
967
1115
|
removeAllListeners: () => void;
|
968
1116
|
};
|
969
1117
|
/**
|
@@ -1001,6 +1149,19 @@ export declare type PlayerWrapper = {
|
|
1001
1149
|
toggleMuted: () => void;
|
1002
1150
|
};
|
1003
1151
|
|
1152
|
+
/**
|
1153
|
+
* @public
|
1154
|
+
*/
|
1155
|
+
export declare enum PlayerWrapperEventType {
|
1156
|
+
adMetadata = "adMetadata",
|
1157
|
+
markers = "markers"
|
1158
|
+
}
|
1159
|
+
|
1160
|
+
/**
|
1161
|
+
* @public
|
1162
|
+
*/
|
1163
|
+
export declare type PlayerWrapperEventTypeType = `${PlayerWrapperEventType}`;
|
1164
|
+
|
1004
1165
|
/**
|
1005
1166
|
* @public
|
1006
1167
|
*/
|
@@ -1020,12 +1181,16 @@ export declare type Purchase = {
|
|
1020
1181
|
expirationDate: Date | null;
|
1021
1182
|
id: string;
|
1022
1183
|
isExpired: boolean;
|
1184
|
+
/**
|
1185
|
+
* @deprecated isPurchased is ambiguous name. Now it means that purchase.status is "PAID".
|
1186
|
+
* So use purchase.status === PurchaseStatus.PAID instead.
|
1187
|
+
*/
|
1023
1188
|
isPurchased: boolean;
|
1024
1189
|
monetization: PurchaseMonetization | null;
|
1025
1190
|
monetizationId: string | null;
|
1026
1191
|
monetizationRef: any | null;
|
1027
1192
|
status: PurchaseStatus | null;
|
1028
|
-
type:
|
1193
|
+
type: PurchaseType | null;
|
1029
1194
|
/**
|
1030
1195
|
* Timestamp of the last purchase status update in milliseconds.
|
1031
1196
|
*/
|
@@ -1043,7 +1208,10 @@ export declare type PurchaseMonetization = {
|
|
1043
1208
|
currency?: Currency;
|
1044
1209
|
period?: number;
|
1045
1210
|
price?: number;
|
1046
|
-
|
1211
|
+
/**
|
1212
|
+
* Here are only transaction and subscription, because purchasing of advertisement monetization doesn't make sense.
|
1213
|
+
*/
|
1214
|
+
type: 'transaction' | 'subscription';
|
1047
1215
|
title?: string;
|
1048
1216
|
frequency?: MONETIZATION_FREQUENCY | null;
|
1049
1217
|
/**
|
@@ -1064,9 +1232,16 @@ export declare enum PurchaseStatus {
|
|
1064
1232
|
/**
|
1065
1233
|
* Used when purchase is terminated due to terms and conditions violation (e.g. restreaming).
|
1066
1234
|
*/
|
1067
|
-
|
1235
|
+
BLOCKED = "BLOCKED"
|
1068
1236
|
}
|
1069
1237
|
|
1238
|
+
/**
|
1239
|
+
* Purchase is a purchase of one video (transaction type), purchase of subscription or voucher.
|
1240
|
+
*
|
1241
|
+
* @public
|
1242
|
+
*/
|
1243
|
+
export declare type PurchaseType = 'transaction' | 'subscription' | 'voucher';
|
1244
|
+
|
1070
1245
|
/**
|
1071
1246
|
* @public
|
1072
1247
|
*/
|
@@ -1080,7 +1255,7 @@ export declare interface QerkoCancellationInfo {
|
|
1080
1255
|
*/
|
1081
1256
|
export declare interface QerkoData {
|
1082
1257
|
monetization: Monetization;
|
1083
|
-
|
1258
|
+
item?: Video | TvChannel;
|
1084
1259
|
onPurchase?: () => void;
|
1085
1260
|
onClose?: () => void;
|
1086
1261
|
}
|
@@ -1133,6 +1308,19 @@ export declare interface QerkoTransaction {
|
|
1133
1308
|
voucherId?: string;
|
1134
1309
|
}
|
1135
1310
|
|
1311
|
+
/**
|
1312
|
+
* @public
|
1313
|
+
*/
|
1314
|
+
export declare type ReactNativeDeviceInfo = {
|
1315
|
+
type: 'react-native';
|
1316
|
+
/**
|
1317
|
+
* Type values defined according to {@link OperatingSystem} from `detect-browser` package for convenience.
|
1318
|
+
*/
|
1319
|
+
os?: 'iOS' | 'Android OS';
|
1320
|
+
osVersion: string;
|
1321
|
+
platform: PLATFORM;
|
1322
|
+
};
|
1323
|
+
|
1136
1324
|
/**
|
1137
1325
|
* @public
|
1138
1326
|
*/
|
@@ -1147,7 +1335,7 @@ export declare type RemoteBundleState = {
|
|
1147
1335
|
*/
|
1148
1336
|
export declare type RemoteProviderProps = {
|
1149
1337
|
disableUnmounting?: boolean;
|
1150
|
-
language?:
|
1338
|
+
language?: LangCode;
|
1151
1339
|
children: any;
|
1152
1340
|
};
|
1153
1341
|
|
@@ -1221,6 +1409,7 @@ export declare interface RowItemAssets {
|
|
1221
1409
|
portrait?: string | null;
|
1222
1410
|
circled?: string | null;
|
1223
1411
|
banner?: string | null;
|
1412
|
+
bannerMobile?: string | null;
|
1224
1413
|
}
|
1225
1414
|
|
1226
1415
|
/**
|
@@ -1308,7 +1497,7 @@ export declare type ScreenSubscription = (screenId: string, cb: (error: Error |
|
|
1308
1497
|
*
|
1309
1498
|
* @public
|
1310
1499
|
*/
|
1311
|
-
export declare type SdkReactConfig = Omit<TivioConfig, '
|
1500
|
+
export declare type SdkReactConfig = Omit<TivioConfig, 'language'> & {
|
1312
1501
|
disableUnmounting?: boolean;
|
1313
1502
|
enable?: boolean;
|
1314
1503
|
enableSentry?: boolean;
|
@@ -1317,7 +1506,9 @@ export declare type SdkReactConfig = Omit<TivioConfig, 'deviceCapabilities' | 'l
|
|
1317
1506
|
}>;
|
1318
1507
|
LoaderComponent?: ComponentType;
|
1319
1508
|
logger?: Logger | null;
|
1320
|
-
|
1509
|
+
/**
|
1510
|
+
* language is required for bundle init (TivioConfig), but it can be set to default EN on SDK side, so here it's optional.
|
1511
|
+
*/
|
1321
1512
|
language?: LangCode;
|
1322
1513
|
};
|
1323
1514
|
|
@@ -1356,6 +1547,63 @@ export declare const setUser: (userId: string | null, payload?: UserPayload | un
|
|
1356
1547
|
*/
|
1357
1548
|
export declare const showGdprConsentPreferences: () => Promise<void>;
|
1358
1549
|
|
1550
|
+
/**
|
1551
|
+
* @public
|
1552
|
+
*/
|
1553
|
+
export declare type Source = TvProgramSource | TivioVodSource | AdSource_2 | OtherSource | LiveTvChannelSource;
|
1554
|
+
|
1555
|
+
/**
|
1556
|
+
* @public
|
1557
|
+
*/
|
1558
|
+
export declare type SourceBase = {
|
1559
|
+
/**
|
1560
|
+
* Tivio SDK users may use pretty complicated source objects in their existing code and if Tivio player
|
1561
|
+
* is an interception layer, it should allow them to pass through any type of object.
|
1562
|
+
*/
|
1563
|
+
additionalPayload?: Record<string, any>;
|
1564
|
+
/**
|
1565
|
+
* Source type.
|
1566
|
+
*/
|
1567
|
+
type: 'ad' | 'live_tv_channel' | 'other' | 'tivio_vod' | 'tv_program';
|
1568
|
+
/**
|
1569
|
+
* URI to play.
|
1570
|
+
*/
|
1571
|
+
uri: string;
|
1572
|
+
};
|
1573
|
+
|
1574
|
+
/**
|
1575
|
+
* @public
|
1576
|
+
*/
|
1577
|
+
export declare type StartAndContinuePosition = {
|
1578
|
+
/**
|
1579
|
+
* Relative from stream start, in ms.
|
1580
|
+
*
|
1581
|
+
* On input to Tivio either `startFromPosition` or `continueFromPosition` must always be provided.
|
1582
|
+
*
|
1583
|
+
* On output from Tivio it is always defined. Tivio can change this value.
|
1584
|
+
* (e.g. in order to fix start position of a TV program)
|
1585
|
+
*/
|
1586
|
+
startFromPosition?: number;
|
1587
|
+
/**
|
1588
|
+
* Relative from stream start, in ms.
|
1589
|
+
*
|
1590
|
+
* On input to Tivio either `startFromPosition` or `continueFromPosition` must always be provided.
|
1591
|
+
*
|
1592
|
+
* If provided, tivio will not correct it and will send this value back in startFromPosition.
|
1593
|
+
* If provided, startFromPosition is ignored.
|
1594
|
+
*/
|
1595
|
+
continueFromPosition?: number;
|
1596
|
+
};
|
1597
|
+
|
1598
|
+
/**
|
1599
|
+
* @public
|
1600
|
+
*/
|
1601
|
+
declare interface StorageManager_2 {
|
1602
|
+
getItem(key: string): string | null | Promise<string | null>;
|
1603
|
+
setItem(key: string, value: string): void | Promise<void>;
|
1604
|
+
}
|
1605
|
+
export { StorageManager_2 as StorageManager }
|
1606
|
+
|
1359
1607
|
/**
|
1360
1608
|
* @public
|
1361
1609
|
*/
|
@@ -1467,6 +1715,9 @@ export declare type TileOptions = {
|
|
1467
1715
|
opacity: string | number;
|
1468
1716
|
fontWeight: string;
|
1469
1717
|
};
|
1718
|
+
sizes: {
|
1719
|
+
[variant in TileSizeVariant]: TileSizesMap;
|
1720
|
+
};
|
1470
1721
|
};
|
1471
1722
|
|
1472
1723
|
/**
|
@@ -1474,7 +1725,6 @@ export declare type TileOptions = {
|
|
1474
1725
|
*/
|
1475
1726
|
export declare type TileProps = {
|
1476
1727
|
cover: string;
|
1477
|
-
isLoading: boolean;
|
1478
1728
|
bottomLabel: string;
|
1479
1729
|
bottomLabelAreaHeight: number;
|
1480
1730
|
innerLabel: string;
|
@@ -1483,7 +1733,6 @@ export declare type TileProps = {
|
|
1483
1733
|
focused: boolean;
|
1484
1734
|
onClick?: () => void;
|
1485
1735
|
hoverable: boolean;
|
1486
|
-
overlay: boolean;
|
1487
1736
|
coverPadding: CoverPadding;
|
1488
1737
|
variant: RowItemComponent;
|
1489
1738
|
coverWidth: number;
|
@@ -1503,6 +1752,34 @@ export declare type TileProps = {
|
|
1503
1752
|
*/
|
1504
1753
|
export declare type TilePropsPartial = Partial<TileProps>;
|
1505
1754
|
|
1755
|
+
/**
|
1756
|
+
* @internal
|
1757
|
+
*/
|
1758
|
+
export declare type TileSizes = {
|
1759
|
+
coverPaddingTop: number;
|
1760
|
+
coverPaddingBottom: number;
|
1761
|
+
coverWidth: number;
|
1762
|
+
coverHeight: number;
|
1763
|
+
cellPaddingRight: number;
|
1764
|
+
labelHeight: number;
|
1765
|
+
};
|
1766
|
+
|
1767
|
+
/**
|
1768
|
+
* Tile sizes by Tile variant (row item component)
|
1769
|
+
*
|
1770
|
+
* @internal
|
1771
|
+
*/
|
1772
|
+
export declare type TileSizesMap = {
|
1773
|
+
[item in RowItemComponent]: TileSizes;
|
1774
|
+
};
|
1775
|
+
|
1776
|
+
/**
|
1777
|
+
* Default (desktop) or mobile variants are used for WEB.
|
1778
|
+
*
|
1779
|
+
* @internal
|
1780
|
+
*/
|
1781
|
+
export declare type TileSizeVariant = 'default' | 'mobile';
|
1782
|
+
|
1506
1783
|
/**
|
1507
1784
|
* @public
|
1508
1785
|
*/
|
@@ -1572,10 +1849,6 @@ export declare type TivioComponents = {
|
|
1572
1849
|
WebTile: React_2.ComponentType<{
|
1573
1850
|
item?: ItemsInRow;
|
1574
1851
|
} & TilePropsPartial>;
|
1575
|
-
AdIndicationButtonWeb: React_2.ReactNode;
|
1576
|
-
Recommendation: React_2.ReactNode;
|
1577
|
-
SkipButtonWeb: React_2.ReactNode;
|
1578
|
-
TvPlayer: React_2.ComponentType<WebPlayerProps>;
|
1579
1852
|
};
|
1580
1853
|
|
1581
1854
|
/**
|
@@ -1634,7 +1907,7 @@ export declare type TivioGetters = {
|
|
1634
1907
|
*/
|
1635
1908
|
getPlayerWrapper: (opt: {
|
1636
1909
|
playerWrapperId?: string;
|
1637
|
-
}) =>
|
1910
|
+
}) => PlayerWrapper;
|
1638
1911
|
getOrganizationSubscriptions: () => Promise<Monetization[] | undefined>;
|
1639
1912
|
/**
|
1640
1913
|
* Get video by its id.
|
@@ -1653,7 +1926,7 @@ export declare type TivioGetters = {
|
|
1653
1926
|
* @public
|
1654
1927
|
*/
|
1655
1928
|
export declare type TivioHooks = {
|
1656
|
-
useAd: () => [(
|
1929
|
+
useAd: () => [(AdExternal | null)];
|
1657
1930
|
useAdSegment: () => AdSegment | null;
|
1658
1931
|
useCancelSubscription: UseCancelSubscription;
|
1659
1932
|
useItemsInRow: (rowId: string, options: PaginationOptions) => {
|
@@ -1764,6 +2037,59 @@ export declare type TivioInternalProviders = {
|
|
1764
2037
|
RouterOverridesContextProvider: React_2.ComponentType<RouterOverridesContextState>;
|
1765
2038
|
};
|
1766
2039
|
|
2040
|
+
/**
|
2041
|
+
* @internal
|
2042
|
+
*/
|
2043
|
+
export declare type TivioJsBundle = TivioJsBundleExposedApi & {
|
2044
|
+
init: (config: TivioConfig) => void | Promise<void>;
|
2045
|
+
tivio: any;
|
2046
|
+
};
|
2047
|
+
|
2048
|
+
/**
|
2049
|
+
* @public
|
2050
|
+
*/
|
2051
|
+
export declare type TivioJsBundleExposedApi = {
|
2052
|
+
AdSource: any;
|
2053
|
+
ChannelSource: any;
|
2054
|
+
VodTivioSource: any;
|
2055
|
+
/**
|
2056
|
+
* Get (or create) player wrapper instance
|
2057
|
+
* @param id - player wrapper id
|
2058
|
+
* @returns {Player} player wrapper instance
|
2059
|
+
*/
|
2060
|
+
getPlayer: (id: string) => Player;
|
2061
|
+
/**
|
2062
|
+
* Get tv channel by its id.
|
2063
|
+
* @param tvChannelId - tv channel id
|
2064
|
+
* @returns {Promise<TvChannel | null>} channel or null if tv channel does not exists
|
2065
|
+
*/
|
2066
|
+
getTvChannelById: (tvChannelId: string) => Promise<TvChannel | null>;
|
2067
|
+
/**
|
2068
|
+
* Get tag by its id.
|
2069
|
+
* @param tagId - tag id
|
2070
|
+
* @returns {Promise<Tag | null>} widget or null if tag does not exists
|
2071
|
+
*/
|
2072
|
+
getTagById: (tagId: string) => Promise<Tag | null>;
|
2073
|
+
createPlayerWrapper: (playerImplementation: PlayerInterfaceForPlayerWrapper) => TivioPlayerWrapper;
|
2074
|
+
destroy: () => Promise<void>;
|
2075
|
+
} & Pick<TivioGetters, 'getVideoById'> & Pick<TivioSubscriptions, 'subscribeToVideo' | 'subscribeToItemsInRow'> & Pick<TivioAuth, 'createUserWithEmailAndPassword' | 'signInWithEmailAndPassword'> & Pick<TivioSetters, 'setBundleVersion' | 'setUser' | 'setLanguage' | 'setStorageManager'>;
|
2076
|
+
|
2077
|
+
/**
|
2078
|
+
* @public
|
2079
|
+
*/
|
2080
|
+
export declare interface TivioPlayerWrapper {
|
2081
|
+
addEventListener: (eventType: PlayerWrapperEventTypeType, listener: Listener) => void;
|
2082
|
+
reportError: (error: Error) => void;
|
2083
|
+
reportPlaybackEnded: () => void;
|
2084
|
+
reportTimeProgress: (ms: number) => void;
|
2085
|
+
seekTo: (ms: number) => void;
|
2086
|
+
/**
|
2087
|
+
* @param {Source} source - source to set
|
2088
|
+
* @param {string} calibrationId - id of calibration profile
|
2089
|
+
*/
|
2090
|
+
setSource: (source: Source | null, calibrationId?: string) => void;
|
2091
|
+
}
|
2092
|
+
|
1767
2093
|
/**
|
1768
2094
|
* @public
|
1769
2095
|
*/
|
@@ -1798,12 +2124,6 @@ export declare type TivioReactBundle = {
|
|
1798
2124
|
expirationDate: Date;
|
1799
2125
|
}) => Promise<QerkoPaymentInfo>;
|
1800
2126
|
cancelSubscriptionWithQerko: (subscriptionId: string) => Promise<QerkoCancellationInfo>;
|
1801
|
-
/**
|
1802
|
-
* Set tivio language.
|
1803
|
-
* @param language
|
1804
|
-
*/
|
1805
|
-
setLanguage: (language: LangCode) => void;
|
1806
|
-
setUser: (userId: string | null, userPayload?: UserPayload) => Promise<void>;
|
1807
2127
|
showConsentPreferences: () => void;
|
1808
2128
|
/**
|
1809
2129
|
* Contains hooks and providers for internal usages.
|
@@ -1812,6 +2132,20 @@ export declare type TivioReactBundle = {
|
|
1812
2132
|
*/
|
1813
2133
|
internal: TivioInternalBundle;
|
1814
2134
|
destroy: () => Promise<void>;
|
2135
|
+
} & Pick<TivioSetters, 'setBundleVersion' | 'setUser' | 'setLanguage' | 'setStorageManager'>;
|
2136
|
+
|
2137
|
+
/**
|
2138
|
+
* @public
|
2139
|
+
*/
|
2140
|
+
export declare type TivioSetters = {
|
2141
|
+
setBundleVersion: (bundleVersion: string | null) => void;
|
2142
|
+
/**
|
2143
|
+
* Set tivio language.
|
2144
|
+
* @param language
|
2145
|
+
*/
|
2146
|
+
setLanguage: (language: LangCode) => void;
|
2147
|
+
setStorageManager: (storageManager: StorageManager_2) => void;
|
2148
|
+
setUser: (userId: string | null, userPayload?: UserPayload) => Promise<void>;
|
1815
2149
|
};
|
1816
2150
|
|
1817
2151
|
/**
|
@@ -1844,6 +2178,17 @@ export declare type TivioSubscriptions = {
|
|
1844
2178
|
}) => void;
|
1845
2179
|
};
|
1846
2180
|
|
2181
|
+
/**
|
2182
|
+
* @public
|
2183
|
+
*/
|
2184
|
+
export declare type TivioVodSource = SourceBase & StartAndContinuePosition & {
|
2185
|
+
type: 'tivio_vod';
|
2186
|
+
/**
|
2187
|
+
* Allows Tivio to load monetization config an apply ads.
|
2188
|
+
*/
|
2189
|
+
videoPath: string;
|
2190
|
+
};
|
2191
|
+
|
1847
2192
|
/**
|
1848
2193
|
* @public
|
1849
2194
|
*/
|
@@ -1893,15 +2238,6 @@ export declare interface TivioWidgetRef {
|
|
1893
2238
|
});
|
1894
2239
|
}
|
1895
2240
|
|
1896
|
-
/**
|
1897
|
-
* @public
|
1898
|
-
*/
|
1899
|
-
export declare type TizenDeviceInfo = {
|
1900
|
-
type: 'tizen';
|
1901
|
-
model?: string;
|
1902
|
-
osVersion?: string;
|
1903
|
-
};
|
1904
|
-
|
1905
2241
|
declare type TransactionInfo = {
|
1906
2242
|
type: 'transaction';
|
1907
2243
|
name: string;
|
@@ -1942,6 +2278,35 @@ export declare interface TvChannel extends RowItem {
|
|
1942
2278
|
price: number;
|
1943
2279
|
}
|
1944
2280
|
|
2281
|
+
/**
|
2282
|
+
* @public
|
2283
|
+
*/
|
2284
|
+
export declare type TvProgramSource = SourceBase & StartAndContinuePosition & {
|
2285
|
+
type: 'tv_program';
|
2286
|
+
/**
|
2287
|
+
* If epgTo is wrong, Tivio cannot correctly guess if the video it startover or timeshift . For such cases
|
2288
|
+
* Tivio needs explicit tv mode.
|
2289
|
+
* null if source begins in the future.
|
2290
|
+
*/
|
2291
|
+
tvMode: 'startover' | 'timeshift' | null;
|
2292
|
+
/**
|
2293
|
+
* Tivio needs channel name in order to load markers.
|
2294
|
+
*/
|
2295
|
+
channelName: string;
|
2296
|
+
/**
|
2297
|
+
* Tivio needs EPG from in order to load markers.
|
2298
|
+
*/
|
2299
|
+
epgFrom: Date;
|
2300
|
+
/**
|
2301
|
+
* Tivio needs EPG to in order to load markers.
|
2302
|
+
*/
|
2303
|
+
epgTo: Date;
|
2304
|
+
/**
|
2305
|
+
* When the stream (provided in uri) really starts - typically few minutes before epgFrom.
|
2306
|
+
*/
|
2307
|
+
streamStart: Date;
|
2308
|
+
};
|
2309
|
+
|
1945
2310
|
/**
|
1946
2311
|
* @public
|
1947
2312
|
*/
|
@@ -1950,7 +2315,7 @@ export declare const TvTivioProvider: React_2.FC<TivioProviderProps>;
|
|
1950
2315
|
/**
|
1951
2316
|
* @public
|
1952
2317
|
*/
|
1953
|
-
export declare const useAd: () =>
|
2318
|
+
export declare const useAd: () => AdExternal | null;
|
1954
2319
|
|
1955
2320
|
/**
|
1956
2321
|
* @public
|
@@ -2102,9 +2467,23 @@ export declare const usePurchasesWithVideos: () => {
|
|
2102
2467
|
* @public
|
2103
2468
|
*/
|
2104
2469
|
export declare type User = {
|
2470
|
+
/**
|
2471
|
+
* Returns "active" (non-expired) purchases, so they give access to some content.
|
2472
|
+
* Does not return voucher purchases, because they give access to videos/subscriptions only for user who activates voucher,
|
2473
|
+
* not for user who purchases it.
|
2474
|
+
*/
|
2105
2475
|
purchases: Purchase[];
|
2476
|
+
/**
|
2477
|
+
* Returns all PAID or CANCELLED user purchases (expired and non-expired)
|
2478
|
+
*/
|
2106
2479
|
allPurchases: Purchase[];
|
2480
|
+
/**
|
2481
|
+
* Returns "active" (not CANCELLED) VoD purchases ("transaction" type)
|
2482
|
+
*/
|
2107
2483
|
purchasedVods: Purchase[];
|
2484
|
+
/**
|
2485
|
+
* Returns "active" (non-expired) subscription purchases
|
2486
|
+
*/
|
2108
2487
|
purchasedSubscriptions: Purchase[];
|
2109
2488
|
isPurchasesInitialized: boolean;
|
2110
2489
|
isSignedIn: boolean;
|
@@ -2281,7 +2660,8 @@ export declare enum VastProvider {
|
|
2281
2660
|
MALL_TV = "malltv",
|
2282
2661
|
MALL_TV_PREBID = "malltv-prebid",
|
2283
2662
|
PRIMA = "prima",
|
2284
|
-
TEST = "test"
|
2663
|
+
TEST = "test",
|
2664
|
+
TEST_VPAID = "test-vpaid"
|
2285
2665
|
}
|
2286
2666
|
|
2287
2667
|
/**
|
@@ -2363,18 +2743,7 @@ export declare enum VideoContentType {
|
|
2363
2743
|
/**
|
2364
2744
|
* @public
|
2365
2745
|
*/
|
2366
|
-
export declare
|
2367
|
-
tvProfiProgramId?: string;
|
2368
|
-
tvProfiContentId?: string;
|
2369
|
-
tvProfiSerialId?: string;
|
2370
|
-
contentId?: string;
|
2371
|
-
provysId?: string;
|
2372
|
-
mallTvEntityId?: string;
|
2373
|
-
/**
|
2374
|
-
* DRM content Key ID - should't be more connected with buyDRM or streamOnline? It is not general thing
|
2375
|
-
*/
|
2376
|
-
keyId?: string;
|
2377
|
-
}
|
2746
|
+
export declare type VideoExternals = JojExternals | MallTvExternals | OktagonExternals;
|
2378
2747
|
|
2379
2748
|
declare type VideoPath = string;
|
2380
2749
|
|
@@ -2391,7 +2760,11 @@ export declare enum VideoType {
|
|
2391
2760
|
* Video is a standard single video.
|
2392
2761
|
*/
|
2393
2762
|
VIDEO = "VIDEO",
|
2394
|
-
TV_PROGRAM = "TV_PROGRAM"
|
2763
|
+
TV_PROGRAM = "TV_PROGRAM",
|
2764
|
+
/**
|
2765
|
+
* Video object represents whole series, e.g. tv show.
|
2766
|
+
*/
|
2767
|
+
SERIES = "SERIES"
|
2395
2768
|
}
|
2396
2769
|
|
2397
2770
|
/**
|
@@ -2438,15 +2811,6 @@ declare type Voucher = {
|
|
2438
2811
|
voucherInfo: SubscriptionInfo | TransactionInfo;
|
2439
2812
|
};
|
2440
2813
|
|
2441
|
-
/**
|
2442
|
-
* @public
|
2443
|
-
*/
|
2444
|
-
export declare type WebosDeviceInfo = {
|
2445
|
-
type: 'webos';
|
2446
|
-
model?: string;
|
2447
|
-
osVersion?: string;
|
2448
|
-
};
|
2449
|
-
|
2450
2814
|
/**
|
2451
2815
|
* @public
|
2452
2816
|
*/
|