@tivio/sdk-react 4.0.0 → 4.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/README.md +13 -0
- package/README.md.bak +13 -0
- package/dist/index.d.ts +413 -73
- package/dist/index.js +1 -1
- package/dist/sdk-react.d.ts +473 -75
- 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;
|
@@ -372,7 +393,8 @@ export declare enum CUSTOMER_BUILD {
|
|
372
393
|
MALL = "MALL",
|
373
394
|
GARAZ = "GARAZ",
|
374
395
|
U_KULATEHO_STOLU = "U_KULATEHO_STOLU",
|
375
|
-
INVESTOREES = "INVESTOREES"
|
396
|
+
INVESTOREES = "INVESTOREES",
|
397
|
+
DVTV = "DVTV"
|
376
398
|
}
|
377
399
|
|
378
400
|
/**
|
@@ -424,7 +446,7 @@ export declare type Customizations = {
|
|
424
446
|
* @internal
|
425
447
|
*/
|
426
448
|
export declare interface CustomTheme {
|
427
|
-
customizations?: Customizations
|
449
|
+
customizations?: Partial<Customizations>;
|
428
450
|
components: Components;
|
429
451
|
size: (size: number) => number;
|
430
452
|
}
|
@@ -433,7 +455,7 @@ export declare interface CustomTheme {
|
|
433
455
|
* @internal
|
434
456
|
*/
|
435
457
|
export declare interface CustomThemeOptions {
|
436
|
-
customizations?: Customizations
|
458
|
+
customizations?: Partial<Customizations>;
|
437
459
|
components: Components;
|
438
460
|
size: (size: number) => number;
|
439
461
|
}
|
@@ -463,7 +485,7 @@ export declare type DetailedPrice = {
|
|
463
485
|
/**
|
464
486
|
* @public
|
465
487
|
*/
|
466
|
-
export declare type DeviceInfo = ArrisDeviceInfo |
|
488
|
+
export declare type DeviceInfo = ArrisDeviceInfo | ReactNativeDeviceInfo;
|
467
489
|
|
468
490
|
/**
|
469
491
|
* @public
|
@@ -496,6 +518,11 @@ export declare type DocumentOptions = Partial<{
|
|
496
518
|
*/
|
497
519
|
export declare type Empty = void | Promise<void> | undefined | Promise<undefined>;
|
498
520
|
|
521
|
+
/**
|
522
|
+
* @public
|
523
|
+
*/
|
524
|
+
declare type Empty_2 = void | Promise<void> | undefined | Promise<undefined>;
|
525
|
+
|
499
526
|
/**
|
500
527
|
* @public
|
501
528
|
*/
|
@@ -590,8 +617,8 @@ export declare interface IndexedVideo extends IndexedObject {
|
|
590
617
|
isDraft: boolean;
|
591
618
|
type: VideoType;
|
592
619
|
contentType?: VideoContentType;
|
593
|
-
name: string;
|
594
|
-
description: string;
|
620
|
+
name: string | Translation;
|
621
|
+
description: string | Translation;
|
595
622
|
hide: boolean;
|
596
623
|
isDuplicate: boolean;
|
597
624
|
externals?: VideoExternals;
|
@@ -616,7 +643,7 @@ export declare type InternalConfig = SdkReactConfig & {
|
|
616
643
|
fetchPackage: FetchPackage;
|
617
644
|
pubSub: PubSub;
|
618
645
|
/**
|
619
|
-
* @private URL of resolver. Resolver is a script used to fetch
|
646
|
+
* @private URL of resolver. Resolver is a script used to fetch remote code bundle
|
620
647
|
*/
|
621
648
|
resolverUrl: string;
|
622
649
|
sdkVersion: string;
|
@@ -653,6 +680,24 @@ declare interface IntroMarker {
|
|
653
680
|
*/
|
654
681
|
export declare type ItemsInRow = Tag | Video | TvChannel;
|
655
682
|
|
683
|
+
/**
|
684
|
+
* @public
|
685
|
+
*/
|
686
|
+
export declare interface JojExternals {
|
687
|
+
tvProfiProgramId?: string;
|
688
|
+
tvProfiContentId?: string;
|
689
|
+
tvProfiSerialId?: string;
|
690
|
+
contentId?: string;
|
691
|
+
provysId?: string;
|
692
|
+
tvProfiProvysId?: string;
|
693
|
+
tvProfiHouseId?: string;
|
694
|
+
tvProfiTitleOriginal?: string;
|
695
|
+
tvProfiTitleSk?: string;
|
696
|
+
tvProfiType?: string;
|
697
|
+
tvProfiSeriesName?: string;
|
698
|
+
tvProfiDistributor?: string;
|
699
|
+
}
|
700
|
+
|
656
701
|
/**
|
657
702
|
* Enum of all supported languages codes as in ISO 639-1
|
658
703
|
* @public
|
@@ -662,9 +707,10 @@ export declare enum LangCode {
|
|
662
707
|
DE = "de",
|
663
708
|
EN = "en",
|
664
709
|
FR = "fr",
|
710
|
+
IT = "it",
|
665
711
|
PL = "pl",
|
666
712
|
SK = "sk",
|
667
|
-
|
713
|
+
ES = "es"
|
668
714
|
}
|
669
715
|
|
670
716
|
/**
|
@@ -687,6 +733,34 @@ export declare type LinkedVideo = {
|
|
687
733
|
type: 'CUT' | 'TRAILER' | 'BONUS' | 'CHILD';
|
688
734
|
};
|
689
735
|
|
736
|
+
/**
|
737
|
+
* @public
|
738
|
+
*/
|
739
|
+
export declare type Listener = ListenerAdMetadata | ListenerMarkers;
|
740
|
+
|
741
|
+
/**
|
742
|
+
* @public
|
743
|
+
*/
|
744
|
+
export declare type ListenerAdMetadata = (metadata: AdMetadata) => void;
|
745
|
+
|
746
|
+
/**
|
747
|
+
* @public
|
748
|
+
*/
|
749
|
+
export declare type ListenerMarkers = (marker: Marker[] | null) => void;
|
750
|
+
|
751
|
+
/**
|
752
|
+
* Not supported yet, now it does pass-through only.
|
753
|
+
*
|
754
|
+
* @public
|
755
|
+
*/
|
756
|
+
export declare type LiveTvChannelSource = SourceBase & {
|
757
|
+
type: 'live_tv_channel';
|
758
|
+
/**
|
759
|
+
* Tivio needs channel name in order to load markers.
|
760
|
+
*/
|
761
|
+
channelName: string;
|
762
|
+
};
|
763
|
+
|
690
764
|
declare interface Logger {
|
691
765
|
/** important messages */
|
692
766
|
warn(...data: LoggerArgs): void;
|
@@ -709,15 +783,33 @@ declare type LoggerArgs = any[];
|
|
709
783
|
/**
|
710
784
|
* @public
|
711
785
|
*/
|
712
|
-
export declare
|
786
|
+
export declare interface MallTvExternals {
|
787
|
+
mallTvEntityId: string;
|
788
|
+
}
|
789
|
+
|
790
|
+
/**
|
791
|
+
* @public
|
792
|
+
*/
|
793
|
+
export declare interface Marker {
|
713
794
|
id: string;
|
714
|
-
type: string;
|
715
795
|
from: Date;
|
716
796
|
to: Date;
|
717
797
|
count?: number;
|
718
798
|
fromMs?: number;
|
719
799
|
toMs?: number;
|
720
|
-
|
800
|
+
relativeFromMs: number;
|
801
|
+
relativeToMs: number;
|
802
|
+
type: 'AD' | 'AD_SEGMENT' | 'START' | 'END' | 'INTRO';
|
803
|
+
}
|
804
|
+
|
805
|
+
/**
|
806
|
+
* External information of video migrated via our Public API.
|
807
|
+
* @public
|
808
|
+
*/
|
809
|
+
export declare interface MigratedVideoExternals {
|
810
|
+
externalVideoId: string;
|
811
|
+
additionalData: any;
|
812
|
+
}
|
721
813
|
|
722
814
|
/**
|
723
815
|
* @public
|
@@ -773,6 +865,26 @@ export declare type Nullable<T> = {
|
|
773
865
|
*/
|
774
866
|
export declare type ObjectType = Record<string, any>;
|
775
867
|
|
868
|
+
/**
|
869
|
+
* @public
|
870
|
+
*/
|
871
|
+
export declare interface OktagonExternals {
|
872
|
+
/**
|
873
|
+
* DRM content Key ID - shouldn't be more connected with buyDRM or streamOnline? It is not general thing
|
874
|
+
*/
|
875
|
+
keyId?: string;
|
876
|
+
}
|
877
|
+
|
878
|
+
/**
|
879
|
+
* Returns string union of optional keys for given type
|
880
|
+
* @internal
|
881
|
+
*/
|
882
|
+
export declare type OptionalKeys<T> = {
|
883
|
+
[K in keyof T]-?: {} extends {
|
884
|
+
[P in K]: T[K];
|
885
|
+
} ? K : never;
|
886
|
+
}[keyof T];
|
887
|
+
|
776
888
|
/**
|
777
889
|
* @public
|
778
890
|
*/
|
@@ -789,6 +901,16 @@ declare type OrderByDirection = 'desc' | 'asc';
|
|
789
901
|
export declare interface Organization {
|
790
902
|
}
|
791
903
|
|
904
|
+
/**
|
905
|
+
* If Tivio PlayerWrapper is an interception layer, it should allow the pass-through
|
906
|
+
* of not just Tivio source types but any other source types that the 3rd party app may be using.
|
907
|
+
*
|
908
|
+
* @public
|
909
|
+
*/
|
910
|
+
export declare type OtherSource = SourceBase & StartAndContinuePosition & {
|
911
|
+
type: 'other';
|
912
|
+
};
|
913
|
+
|
792
914
|
/**
|
793
915
|
* @public
|
794
916
|
*/
|
@@ -816,6 +938,30 @@ export declare enum PLATFORM {
|
|
816
938
|
TV = "TV"
|
817
939
|
}
|
818
940
|
|
941
|
+
/**
|
942
|
+
* @public
|
943
|
+
*/
|
944
|
+
export declare type Player = {
|
945
|
+
ad: any;
|
946
|
+
currentTime: any;
|
947
|
+
adSegment: any;
|
948
|
+
event: any;
|
949
|
+
events: any;
|
950
|
+
source: any;
|
951
|
+
state: any;
|
952
|
+
onPlaybackEnded: any;
|
953
|
+
onSourceChanged: any;
|
954
|
+
onStateChanged: any;
|
955
|
+
onTimeChanged: any;
|
956
|
+
pause: any;
|
957
|
+
play: any;
|
958
|
+
togglePlayPause: any;
|
959
|
+
register: any;
|
960
|
+
seekTo: any;
|
961
|
+
setVolume: any;
|
962
|
+
triggerEvent: any;
|
963
|
+
};
|
964
|
+
|
819
965
|
/**
|
820
966
|
* @public
|
821
967
|
*/
|
@@ -871,6 +1017,17 @@ export declare type PlayerConfig = {
|
|
871
1017
|
fullFileDownloadSupport?: boolean;
|
872
1018
|
};
|
873
1019
|
};
|
1020
|
+
/**
|
1021
|
+
* Ad service settings
|
1022
|
+
*/
|
1023
|
+
adService?: {
|
1024
|
+
/**
|
1025
|
+
* Tivio - can be used in websites and TV apps. Does not support VPAID
|
1026
|
+
* IMA - can be used only in websites. Supports VAST 2, partially VAST 3, VAST 4, SIMID 1.0, OM SDK 1.3,
|
1027
|
+
* VPAID 2 (HTML5) https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/compatibility
|
1028
|
+
*/
|
1029
|
+
name: 'IMA SDK' | 'Tivio';
|
1030
|
+
};
|
874
1031
|
};
|
875
1032
|
|
876
1033
|
/**
|
@@ -905,6 +1062,18 @@ export declare interface PlayerInterface {
|
|
905
1062
|
unmute?: () => void;
|
906
1063
|
}
|
907
1064
|
|
1065
|
+
/**
|
1066
|
+
* @public
|
1067
|
+
*/
|
1068
|
+
export declare interface PlayerInterfaceForPlayerWrapper {
|
1069
|
+
/**
|
1070
|
+
* @param {number} ms - milliseconds relative to start of video (relative to 0 ms)
|
1071
|
+
* or in case of TV programs relative to start of the program (relative to source.from ms)
|
1072
|
+
*/
|
1073
|
+
seekTo: (ms: number) => void;
|
1074
|
+
setSource: (source: Source | null) => void;
|
1075
|
+
}
|
1076
|
+
|
908
1077
|
/**
|
909
1078
|
* @public
|
910
1079
|
*/
|
@@ -962,8 +1131,8 @@ export declare type PlayerWrapper = {
|
|
962
1131
|
source: InputSource | null;
|
963
1132
|
events: {
|
964
1133
|
isSupported: (even: string) => boolean;
|
965
|
-
addListener: <T = any>(event: string, cb: (value: T) =>
|
966
|
-
removeListener: <T = any>(event: string, cb: (value: T) =>
|
1134
|
+
addListener: <T = any>(event: string, cb: (value: T) => Empty_2) => void;
|
1135
|
+
removeListener: <T = any>(event: string, cb: (value: T) => Empty_2) => void;
|
967
1136
|
removeAllListeners: () => void;
|
968
1137
|
};
|
969
1138
|
/**
|
@@ -1001,6 +1170,19 @@ export declare type PlayerWrapper = {
|
|
1001
1170
|
toggleMuted: () => void;
|
1002
1171
|
};
|
1003
1172
|
|
1173
|
+
/**
|
1174
|
+
* @public
|
1175
|
+
*/
|
1176
|
+
export declare enum PlayerWrapperEventType {
|
1177
|
+
adMetadata = "adMetadata",
|
1178
|
+
markers = "markers"
|
1179
|
+
}
|
1180
|
+
|
1181
|
+
/**
|
1182
|
+
* @public
|
1183
|
+
*/
|
1184
|
+
export declare type PlayerWrapperEventTypeType = `${PlayerWrapperEventType}`;
|
1185
|
+
|
1004
1186
|
/**
|
1005
1187
|
* @public
|
1006
1188
|
*/
|
@@ -1020,12 +1202,16 @@ export declare type Purchase = {
|
|
1020
1202
|
expirationDate: Date | null;
|
1021
1203
|
id: string;
|
1022
1204
|
isExpired: boolean;
|
1205
|
+
/**
|
1206
|
+
* @deprecated isPurchased is ambiguous name. Now it means that purchase.status is "PAID".
|
1207
|
+
* So use purchase.status === PurchaseStatus.PAID instead.
|
1208
|
+
*/
|
1023
1209
|
isPurchased: boolean;
|
1024
1210
|
monetization: PurchaseMonetization | null;
|
1025
1211
|
monetizationId: string | null;
|
1026
1212
|
monetizationRef: any | null;
|
1027
1213
|
status: PurchaseStatus | null;
|
1028
|
-
type:
|
1214
|
+
type: PurchaseType | null;
|
1029
1215
|
/**
|
1030
1216
|
* Timestamp of the last purchase status update in milliseconds.
|
1031
1217
|
*/
|
@@ -1043,7 +1229,10 @@ export declare type PurchaseMonetization = {
|
|
1043
1229
|
currency?: Currency;
|
1044
1230
|
period?: number;
|
1045
1231
|
price?: number;
|
1046
|
-
|
1232
|
+
/**
|
1233
|
+
* Here are only transaction and subscription, because purchasing of advertisement monetization doesn't make sense.
|
1234
|
+
*/
|
1235
|
+
type: 'transaction' | 'subscription';
|
1047
1236
|
title?: string;
|
1048
1237
|
frequency?: MONETIZATION_FREQUENCY | null;
|
1049
1238
|
/**
|
@@ -1064,9 +1253,16 @@ export declare enum PurchaseStatus {
|
|
1064
1253
|
/**
|
1065
1254
|
* Used when purchase is terminated due to terms and conditions violation (e.g. restreaming).
|
1066
1255
|
*/
|
1067
|
-
|
1256
|
+
BLOCKED = "BLOCKED"
|
1068
1257
|
}
|
1069
1258
|
|
1259
|
+
/**
|
1260
|
+
* Purchase is a purchase of one video (transaction type), purchase of subscription or voucher.
|
1261
|
+
*
|
1262
|
+
* @public
|
1263
|
+
*/
|
1264
|
+
export declare type PurchaseType = 'transaction' | 'subscription' | 'voucher';
|
1265
|
+
|
1070
1266
|
/**
|
1071
1267
|
* @public
|
1072
1268
|
*/
|
@@ -1080,7 +1276,7 @@ export declare interface QerkoCancellationInfo {
|
|
1080
1276
|
*/
|
1081
1277
|
export declare interface QerkoData {
|
1082
1278
|
monetization: Monetization;
|
1083
|
-
|
1279
|
+
item?: Video | TvChannel;
|
1084
1280
|
onPurchase?: () => void;
|
1085
1281
|
onClose?: () => void;
|
1086
1282
|
}
|
@@ -1133,6 +1329,19 @@ export declare interface QerkoTransaction {
|
|
1133
1329
|
voucherId?: string;
|
1134
1330
|
}
|
1135
1331
|
|
1332
|
+
/**
|
1333
|
+
* @public
|
1334
|
+
*/
|
1335
|
+
export declare type ReactNativeDeviceInfo = {
|
1336
|
+
type: 'react-native';
|
1337
|
+
/**
|
1338
|
+
* Type values defined according to {@link OperatingSystem} from `detect-browser` package for convenience.
|
1339
|
+
*/
|
1340
|
+
os?: 'iOS' | 'Android OS';
|
1341
|
+
osVersion: string;
|
1342
|
+
platform: PLATFORM;
|
1343
|
+
};
|
1344
|
+
|
1136
1345
|
/**
|
1137
1346
|
* @public
|
1138
1347
|
*/
|
@@ -1147,10 +1356,19 @@ export declare type RemoteBundleState = {
|
|
1147
1356
|
*/
|
1148
1357
|
export declare type RemoteProviderProps = {
|
1149
1358
|
disableUnmounting?: boolean;
|
1150
|
-
language?:
|
1359
|
+
language?: LangCode;
|
1151
1360
|
children: any;
|
1152
1361
|
};
|
1153
1362
|
|
1363
|
+
/**
|
1364
|
+
* Makes optional attributes in given type to be required and nullable.
|
1365
|
+
* e.g. will make `attribute?: string` to be `attribute: string | null`
|
1366
|
+
* @internal
|
1367
|
+
*/
|
1368
|
+
export declare type RequiredNullable<T> = {
|
1369
|
+
[P in keyof T]-?: P extends OptionalKeys<T> ? T[P] | null : T[P];
|
1370
|
+
};
|
1371
|
+
|
1154
1372
|
/**
|
1155
1373
|
* @public
|
1156
1374
|
*/
|
@@ -1162,6 +1380,7 @@ export declare interface RouterOverrides {
|
|
1162
1380
|
goBack: () => void;
|
1163
1381
|
goLivePlayer: (videoId: string) => void;
|
1164
1382
|
goVodPlayer: (tvChannelId: string) => void;
|
1383
|
+
goToHome: () => void;
|
1165
1384
|
}
|
1166
1385
|
|
1167
1386
|
/**
|
@@ -1221,6 +1440,7 @@ export declare interface RowItemAssets {
|
|
1221
1440
|
portrait?: string | null;
|
1222
1441
|
circled?: string | null;
|
1223
1442
|
banner?: string | null;
|
1443
|
+
bannerMobile?: string | null;
|
1224
1444
|
}
|
1225
1445
|
|
1226
1446
|
/**
|
@@ -1308,7 +1528,7 @@ export declare type ScreenSubscription = (screenId: string, cb: (error: Error |
|
|
1308
1528
|
*
|
1309
1529
|
* @public
|
1310
1530
|
*/
|
1311
|
-
export declare type SdkReactConfig = Omit<TivioConfig, '
|
1531
|
+
export declare type SdkReactConfig = Omit<TivioConfig, 'language'> & {
|
1312
1532
|
disableUnmounting?: boolean;
|
1313
1533
|
enable?: boolean;
|
1314
1534
|
enableSentry?: boolean;
|
@@ -1317,7 +1537,9 @@ export declare type SdkReactConfig = Omit<TivioConfig, 'deviceCapabilities' | 'l
|
|
1317
1537
|
}>;
|
1318
1538
|
LoaderComponent?: ComponentType;
|
1319
1539
|
logger?: Logger | null;
|
1320
|
-
|
1540
|
+
/**
|
1541
|
+
* language is required for bundle init (TivioConfig), but it can be set to default EN on SDK side, so here it's optional.
|
1542
|
+
*/
|
1321
1543
|
language?: LangCode;
|
1322
1544
|
};
|
1323
1545
|
|
@@ -1356,6 +1578,63 @@ export declare const setUser: (userId: string | null, payload?: UserPayload | un
|
|
1356
1578
|
*/
|
1357
1579
|
export declare const showGdprConsentPreferences: () => Promise<void>;
|
1358
1580
|
|
1581
|
+
/**
|
1582
|
+
* @public
|
1583
|
+
*/
|
1584
|
+
export declare type Source = TvProgramSource | TivioVodSource | AdSource_2 | OtherSource | LiveTvChannelSource;
|
1585
|
+
|
1586
|
+
/**
|
1587
|
+
* @public
|
1588
|
+
*/
|
1589
|
+
export declare type SourceBase = {
|
1590
|
+
/**
|
1591
|
+
* Tivio SDK users may use pretty complicated source objects in their existing code and if Tivio player
|
1592
|
+
* is an interception layer, it should allow them to pass through any type of object.
|
1593
|
+
*/
|
1594
|
+
additionalPayload?: Record<string, any>;
|
1595
|
+
/**
|
1596
|
+
* Source type.
|
1597
|
+
*/
|
1598
|
+
type: 'ad' | 'live_tv_channel' | 'other' | 'tivio_vod' | 'tv_program';
|
1599
|
+
/**
|
1600
|
+
* URI to play.
|
1601
|
+
*/
|
1602
|
+
uri: string;
|
1603
|
+
};
|
1604
|
+
|
1605
|
+
/**
|
1606
|
+
* @public
|
1607
|
+
*/
|
1608
|
+
export declare type StartAndContinuePosition = {
|
1609
|
+
/**
|
1610
|
+
* Relative from stream start, in ms.
|
1611
|
+
*
|
1612
|
+
* On input to Tivio either `startFromPosition` or `continueFromPosition` must always be provided.
|
1613
|
+
*
|
1614
|
+
* On output from Tivio it is always defined. Tivio can change this value.
|
1615
|
+
* (e.g. in order to fix start position of a TV program)
|
1616
|
+
*/
|
1617
|
+
startFromPosition?: number;
|
1618
|
+
/**
|
1619
|
+
* Relative from stream start, in ms.
|
1620
|
+
*
|
1621
|
+
* On input to Tivio either `startFromPosition` or `continueFromPosition` must always be provided.
|
1622
|
+
*
|
1623
|
+
* If provided, tivio will not correct it and will send this value back in startFromPosition.
|
1624
|
+
* If provided, startFromPosition is ignored.
|
1625
|
+
*/
|
1626
|
+
continueFromPosition?: number;
|
1627
|
+
};
|
1628
|
+
|
1629
|
+
/**
|
1630
|
+
* @public
|
1631
|
+
*/
|
1632
|
+
declare interface StorageManager_2 {
|
1633
|
+
getItem(key: string): string | null | Promise<string | null>;
|
1634
|
+
setItem(key: string, value: string): void | Promise<void>;
|
1635
|
+
}
|
1636
|
+
export { StorageManager_2 as StorageManager }
|
1637
|
+
|
1359
1638
|
/**
|
1360
1639
|
* @public
|
1361
1640
|
*/
|
@@ -1467,6 +1746,9 @@ export declare type TileOptions = {
|
|
1467
1746
|
opacity: string | number;
|
1468
1747
|
fontWeight: string;
|
1469
1748
|
};
|
1749
|
+
sizes: {
|
1750
|
+
[variant in TileSizeVariant]: TileSizesMap;
|
1751
|
+
};
|
1470
1752
|
};
|
1471
1753
|
|
1472
1754
|
/**
|
@@ -1474,7 +1756,6 @@ export declare type TileOptions = {
|
|
1474
1756
|
*/
|
1475
1757
|
export declare type TileProps = {
|
1476
1758
|
cover: string;
|
1477
|
-
isLoading: boolean;
|
1478
1759
|
bottomLabel: string;
|
1479
1760
|
bottomLabelAreaHeight: number;
|
1480
1761
|
innerLabel: string;
|
@@ -1483,7 +1764,6 @@ export declare type TileProps = {
|
|
1483
1764
|
focused: boolean;
|
1484
1765
|
onClick?: () => void;
|
1485
1766
|
hoverable: boolean;
|
1486
|
-
overlay: boolean;
|
1487
1767
|
coverPadding: CoverPadding;
|
1488
1768
|
variant: RowItemComponent;
|
1489
1769
|
coverWidth: number;
|
@@ -1503,6 +1783,34 @@ export declare type TileProps = {
|
|
1503
1783
|
*/
|
1504
1784
|
export declare type TilePropsPartial = Partial<TileProps>;
|
1505
1785
|
|
1786
|
+
/**
|
1787
|
+
* @internal
|
1788
|
+
*/
|
1789
|
+
export declare type TileSizes = {
|
1790
|
+
coverPaddingTop: number;
|
1791
|
+
coverPaddingBottom: number;
|
1792
|
+
coverWidth: number;
|
1793
|
+
coverHeight: number;
|
1794
|
+
cellPaddingRight: number;
|
1795
|
+
labelHeight: number;
|
1796
|
+
};
|
1797
|
+
|
1798
|
+
/**
|
1799
|
+
* Tile sizes by Tile variant (row item component)
|
1800
|
+
*
|
1801
|
+
* @internal
|
1802
|
+
*/
|
1803
|
+
export declare type TileSizesMap = {
|
1804
|
+
[item in RowItemComponent]: TileSizes;
|
1805
|
+
};
|
1806
|
+
|
1807
|
+
/**
|
1808
|
+
* Default (desktop) or mobile variants are used for WEB.
|
1809
|
+
*
|
1810
|
+
* @internal
|
1811
|
+
*/
|
1812
|
+
export declare type TileSizeVariant = 'default' | 'mobile';
|
1813
|
+
|
1506
1814
|
/**
|
1507
1815
|
* @public
|
1508
1816
|
*/
|
@@ -1572,10 +1880,6 @@ export declare type TivioComponents = {
|
|
1572
1880
|
WebTile: React_2.ComponentType<{
|
1573
1881
|
item?: ItemsInRow;
|
1574
1882
|
} & TilePropsPartial>;
|
1575
|
-
AdIndicationButtonWeb: React_2.ReactNode;
|
1576
|
-
Recommendation: React_2.ReactNode;
|
1577
|
-
SkipButtonWeb: React_2.ReactNode;
|
1578
|
-
TvPlayer: React_2.ComponentType<WebPlayerProps>;
|
1579
1883
|
};
|
1580
1884
|
|
1581
1885
|
/**
|
@@ -1634,7 +1938,7 @@ export declare type TivioGetters = {
|
|
1634
1938
|
*/
|
1635
1939
|
getPlayerWrapper: (opt: {
|
1636
1940
|
playerWrapperId?: string;
|
1637
|
-
}) =>
|
1941
|
+
}) => PlayerWrapper;
|
1638
1942
|
getOrganizationSubscriptions: () => Promise<Monetization[] | undefined>;
|
1639
1943
|
/**
|
1640
1944
|
* Get video by its id.
|
@@ -1653,7 +1957,7 @@ export declare type TivioGetters = {
|
|
1653
1957
|
* @public
|
1654
1958
|
*/
|
1655
1959
|
export declare type TivioHooks = {
|
1656
|
-
useAd: () => [(
|
1960
|
+
useAd: () => [(AdExternal | null)];
|
1657
1961
|
useAdSegment: () => AdSegment | null;
|
1658
1962
|
useCancelSubscription: UseCancelSubscription;
|
1659
1963
|
useItemsInRow: (rowId: string, options: PaginationOptions) => {
|
@@ -1764,6 +2068,59 @@ export declare type TivioInternalProviders = {
|
|
1764
2068
|
RouterOverridesContextProvider: React_2.ComponentType<RouterOverridesContextState>;
|
1765
2069
|
};
|
1766
2070
|
|
2071
|
+
/**
|
2072
|
+
* @internal
|
2073
|
+
*/
|
2074
|
+
export declare type TivioJsBundle = TivioJsBundleExposedApi & {
|
2075
|
+
init: (config: TivioConfig) => void | Promise<void>;
|
2076
|
+
tivio: any;
|
2077
|
+
};
|
2078
|
+
|
2079
|
+
/**
|
2080
|
+
* @public
|
2081
|
+
*/
|
2082
|
+
export declare type TivioJsBundleExposedApi = {
|
2083
|
+
AdSource: any;
|
2084
|
+
ChannelSource: any;
|
2085
|
+
VodTivioSource: any;
|
2086
|
+
/**
|
2087
|
+
* Get (or create) player wrapper instance
|
2088
|
+
* @param id - player wrapper id
|
2089
|
+
* @returns {Player} player wrapper instance
|
2090
|
+
*/
|
2091
|
+
getPlayer: (id: string) => Player;
|
2092
|
+
/**
|
2093
|
+
* Get tv channel by its id.
|
2094
|
+
* @param tvChannelId - tv channel id
|
2095
|
+
* @returns {Promise<TvChannel | null>} channel or null if tv channel does not exists
|
2096
|
+
*/
|
2097
|
+
getTvChannelById: (tvChannelId: string) => Promise<TvChannel | null>;
|
2098
|
+
/**
|
2099
|
+
* Get tag by its id.
|
2100
|
+
* @param tagId - tag id
|
2101
|
+
* @returns {Promise<Tag | null>} widget or null if tag does not exists
|
2102
|
+
*/
|
2103
|
+
getTagById: (tagId: string) => Promise<Tag | null>;
|
2104
|
+
createPlayerWrapper: (playerImplementation: PlayerInterfaceForPlayerWrapper) => TivioPlayerWrapper;
|
2105
|
+
destroy: () => Promise<void>;
|
2106
|
+
} & Pick<TivioGetters, 'getVideoById'> & Pick<TivioSubscriptions, 'subscribeToVideo' | 'subscribeToItemsInRow'> & Pick<TivioAuth, 'createUserWithEmailAndPassword' | 'signInWithEmailAndPassword'> & Pick<TivioSetters, 'setBundleVersion' | 'setUser' | 'setLanguage' | 'setStorageManager'>;
|
2107
|
+
|
2108
|
+
/**
|
2109
|
+
* @public
|
2110
|
+
*/
|
2111
|
+
export declare interface TivioPlayerWrapper {
|
2112
|
+
addEventListener: (eventType: PlayerWrapperEventTypeType, listener: Listener) => void;
|
2113
|
+
reportError: (error: Error) => void;
|
2114
|
+
reportPlaybackEnded: () => void;
|
2115
|
+
reportTimeProgress: (ms: number) => void;
|
2116
|
+
seekTo: (ms: number) => void;
|
2117
|
+
/**
|
2118
|
+
* @param {Source} source - source to set
|
2119
|
+
* @param {string} calibrationId - id of calibration profile
|
2120
|
+
*/
|
2121
|
+
setSource: (source: Source | null, calibrationId?: string) => void;
|
2122
|
+
}
|
2123
|
+
|
1767
2124
|
/**
|
1768
2125
|
* @public
|
1769
2126
|
*/
|
@@ -1798,12 +2155,6 @@ export declare type TivioReactBundle = {
|
|
1798
2155
|
expirationDate: Date;
|
1799
2156
|
}) => Promise<QerkoPaymentInfo>;
|
1800
2157
|
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
2158
|
showConsentPreferences: () => void;
|
1808
2159
|
/**
|
1809
2160
|
* Contains hooks and providers for internal usages.
|
@@ -1812,6 +2163,20 @@ export declare type TivioReactBundle = {
|
|
1812
2163
|
*/
|
1813
2164
|
internal: TivioInternalBundle;
|
1814
2165
|
destroy: () => Promise<void>;
|
2166
|
+
} & Pick<TivioSetters, 'setBundleVersion' | 'setUser' | 'setLanguage' | 'setStorageManager'>;
|
2167
|
+
|
2168
|
+
/**
|
2169
|
+
* @public
|
2170
|
+
*/
|
2171
|
+
export declare type TivioSetters = {
|
2172
|
+
setBundleVersion: (bundleVersion: string | null) => void;
|
2173
|
+
/**
|
2174
|
+
* Set tivio language.
|
2175
|
+
* @param language
|
2176
|
+
*/
|
2177
|
+
setLanguage: (language: LangCode) => void;
|
2178
|
+
setStorageManager: (storageManager: StorageManager_2) => void;
|
2179
|
+
setUser: (userId: string | null, userPayload?: UserPayload) => Promise<void>;
|
1815
2180
|
};
|
1816
2181
|
|
1817
2182
|
/**
|
@@ -1844,6 +2209,17 @@ export declare type TivioSubscriptions = {
|
|
1844
2209
|
}) => void;
|
1845
2210
|
};
|
1846
2211
|
|
2212
|
+
/**
|
2213
|
+
* @public
|
2214
|
+
*/
|
2215
|
+
export declare type TivioVodSource = SourceBase & StartAndContinuePosition & {
|
2216
|
+
type: 'tivio_vod';
|
2217
|
+
/**
|
2218
|
+
* Allows Tivio to load monetization config an apply ads.
|
2219
|
+
*/
|
2220
|
+
videoPath: string;
|
2221
|
+
};
|
2222
|
+
|
1847
2223
|
/**
|
1848
2224
|
* @public
|
1849
2225
|
*/
|
@@ -1893,15 +2269,6 @@ export declare interface TivioWidgetRef {
|
|
1893
2269
|
});
|
1894
2270
|
}
|
1895
2271
|
|
1896
|
-
/**
|
1897
|
-
* @public
|
1898
|
-
*/
|
1899
|
-
export declare type TizenDeviceInfo = {
|
1900
|
-
type: 'tizen';
|
1901
|
-
model?: string;
|
1902
|
-
osVersion?: string;
|
1903
|
-
};
|
1904
|
-
|
1905
2272
|
declare type TransactionInfo = {
|
1906
2273
|
type: 'transaction';
|
1907
2274
|
name: string;
|
@@ -1915,7 +2282,7 @@ declare type TransactionInfo = {
|
|
1915
2282
|
* @public
|
1916
2283
|
*/
|
1917
2284
|
export declare type Translation = {
|
1918
|
-
[key in LangCode]
|
2285
|
+
[key in LangCode]?: string;
|
1919
2286
|
};
|
1920
2287
|
|
1921
2288
|
/**
|
@@ -1942,6 +2309,35 @@ export declare interface TvChannel extends RowItem {
|
|
1942
2309
|
price: number;
|
1943
2310
|
}
|
1944
2311
|
|
2312
|
+
/**
|
2313
|
+
* @public
|
2314
|
+
*/
|
2315
|
+
export declare type TvProgramSource = SourceBase & StartAndContinuePosition & {
|
2316
|
+
type: 'tv_program';
|
2317
|
+
/**
|
2318
|
+
* If epgTo is wrong, Tivio cannot correctly guess if the video it startover or timeshift . For such cases
|
2319
|
+
* Tivio needs explicit tv mode.
|
2320
|
+
* null if source begins in the future.
|
2321
|
+
*/
|
2322
|
+
tvMode: 'startover' | 'timeshift' | null;
|
2323
|
+
/**
|
2324
|
+
* Tivio needs channel name in order to load markers.
|
2325
|
+
*/
|
2326
|
+
channelName: string;
|
2327
|
+
/**
|
2328
|
+
* Tivio needs EPG from in order to load markers.
|
2329
|
+
*/
|
2330
|
+
epgFrom: Date;
|
2331
|
+
/**
|
2332
|
+
* Tivio needs EPG to in order to load markers.
|
2333
|
+
*/
|
2334
|
+
epgTo: Date;
|
2335
|
+
/**
|
2336
|
+
* When the stream (provided in uri) really starts - typically few minutes before epgFrom.
|
2337
|
+
*/
|
2338
|
+
streamStart: Date;
|
2339
|
+
};
|
2340
|
+
|
1945
2341
|
/**
|
1946
2342
|
* @public
|
1947
2343
|
*/
|
@@ -1950,7 +2346,7 @@ export declare const TvTivioProvider: React_2.FC<TivioProviderProps>;
|
|
1950
2346
|
/**
|
1951
2347
|
* @public
|
1952
2348
|
*/
|
1953
|
-
export declare const useAd: () =>
|
2349
|
+
export declare const useAd: () => AdExternal | null;
|
1954
2350
|
|
1955
2351
|
/**
|
1956
2352
|
* @public
|
@@ -2102,9 +2498,23 @@ export declare const usePurchasesWithVideos: () => {
|
|
2102
2498
|
* @public
|
2103
2499
|
*/
|
2104
2500
|
export declare type User = {
|
2501
|
+
/**
|
2502
|
+
* Returns "active" (non-expired) purchases, so they give access to some content.
|
2503
|
+
* Does not return voucher purchases, because they give access to videos/subscriptions only for user who activates voucher,
|
2504
|
+
* not for user who purchases it.
|
2505
|
+
*/
|
2105
2506
|
purchases: Purchase[];
|
2507
|
+
/**
|
2508
|
+
* Returns all PAID or CANCELLED user purchases (expired and non-expired)
|
2509
|
+
*/
|
2106
2510
|
allPurchases: Purchase[];
|
2511
|
+
/**
|
2512
|
+
* Returns "active" (not CANCELLED) VoD purchases ("transaction" type)
|
2513
|
+
*/
|
2107
2514
|
purchasedVods: Purchase[];
|
2515
|
+
/**
|
2516
|
+
* Returns "active" (non-expired) subscription purchases
|
2517
|
+
*/
|
2108
2518
|
purchasedSubscriptions: Purchase[];
|
2109
2519
|
isPurchasesInitialized: boolean;
|
2110
2520
|
isSignedIn: boolean;
|
@@ -2278,10 +2688,14 @@ export declare enum VastProvider {
|
|
2278
2688
|
GARAZ_TV_DEV = "garaz.tv.dev",
|
2279
2689
|
IMPRESSION_MEDIA_PREBID = "impressionMedia-prebid",
|
2280
2690
|
JOJ = "joj",
|
2691
|
+
JOJ_AD_MANAGER_VOD_PREROLL = "joj-ad-manager-vod-preroll",
|
2692
|
+
JOJ_AD_MANAGER_VOD_MIDROLL = "joj-ad-manager-vod-midroll",
|
2693
|
+
JOJ_AD_MANAGER_LIVE_PREROLL = "joj-ad-manager-live-preroll",
|
2281
2694
|
MALL_TV = "malltv",
|
2282
2695
|
MALL_TV_PREBID = "malltv-prebid",
|
2283
2696
|
PRIMA = "prima",
|
2284
|
-
TEST = "test"
|
2697
|
+
TEST = "test",
|
2698
|
+
TEST_VPAID = "test-vpaid"
|
2285
2699
|
}
|
2286
2700
|
|
2287
2701
|
/**
|
@@ -2363,18 +2777,7 @@ export declare enum VideoContentType {
|
|
2363
2777
|
/**
|
2364
2778
|
* @public
|
2365
2779
|
*/
|
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
|
-
}
|
2780
|
+
export declare type VideoExternals = JojExternals | MallTvExternals | OktagonExternals | MigratedVideoExternals;
|
2378
2781
|
|
2379
2782
|
declare type VideoPath = string;
|
2380
2783
|
|
@@ -2391,7 +2794,11 @@ export declare enum VideoType {
|
|
2391
2794
|
* Video is a standard single video.
|
2392
2795
|
*/
|
2393
2796
|
VIDEO = "VIDEO",
|
2394
|
-
TV_PROGRAM = "TV_PROGRAM"
|
2797
|
+
TV_PROGRAM = "TV_PROGRAM",
|
2798
|
+
/**
|
2799
|
+
* Video object represents whole series, e.g. tv show.
|
2800
|
+
*/
|
2801
|
+
SERIES = "SERIES"
|
2395
2802
|
}
|
2396
2803
|
|
2397
2804
|
/**
|
@@ -2438,15 +2845,6 @@ declare type Voucher = {
|
|
2438
2845
|
voucherInfo: SubscriptionInfo | TransactionInfo;
|
2439
2846
|
};
|
2440
2847
|
|
2441
|
-
/**
|
2442
|
-
* @public
|
2443
|
-
*/
|
2444
|
-
export declare type WebosDeviceInfo = {
|
2445
|
-
type: 'webos';
|
2446
|
-
model?: string;
|
2447
|
-
osVersion?: string;
|
2448
|
-
};
|
2449
|
-
|
2450
2848
|
/**
|
2451
2849
|
* @public
|
2452
2850
|
*/
|