@npo/player 1.9.4 → 1.10.1
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/lib/js/fragments/setfragments.d.ts +3 -2
- package/lib/js/playeractions/handlers/processplayerconfig.d.ts +3 -0
- package/lib/js/playeractions/playeractions.d.ts +1 -0
- package/lib/js/tracking/handlers/eventbinding.d.ts +0 -7
- package/lib/js/tracking/handlers/eventlogging.d.ts +0 -9
- package/lib/js/tracking/handlers/playertrackerinit.d.ts +0 -9
- package/lib/js/tracking/handlers/playertrackerstart.d.ts +0 -7
- package/lib/js/ui/components/controlbar.d.ts +1 -1
- package/lib/js/ui/components/ctabar.d.ts +1 -1
- package/lib/js/ui/components/nativemobile/addFragments.d.ts +1 -0
- package/lib/js/ui/components/nativemobile/controlbar.d.ts +2 -1
- package/lib/js/ui/components/nativemobile/titlebar.d.ts +2 -0
- package/lib/js/ui/handlers/nicamhandler.d.ts +1 -1
- package/lib/js/ui/nativemobileuifactory.d.ts +3 -0
- package/lib/js/utilities/utilities.d.ts +0 -50
- package/lib/npoplayer.d.ts +1 -1
- package/lib/npoplayer.js +2 -517
- package/lib/npoplayer.js.map +1 -1
- package/lib/package.json +19 -10
- package/package.json +19 -10
- package/src/scss/components/_advert.scss +28 -31
- package/src/scss/components/_buffering.scss +35 -4
- package/src/scss/components/_controlbars.scss +5 -9
- package/src/scss/components/_error.scss +6 -4
- package/src/scss/components/_hugeplaybacktogglebutton.scss +71 -0
- package/src/scss/components/_icons.scss +53 -154
- package/src/scss/components/_metadata.scss +22 -0
- package/src/scss/components/_nicam.scss +2 -1
- package/src/scss/components/_playnext.scss +1 -1
- package/src/scss/components/_replay.scss +35 -0
- package/src/scss/components/_seekbar.scss +51 -76
- package/src/scss/components/_seekbarthumbnail.scss +56 -0
- package/src/scss/components/_settingspanel.scss +47 -54
- package/src/scss/components/_textbuttons.scss +1 -1
- package/src/scss/components/_volumeslider.scss +78 -13
- package/src/scss/npoplayer.css +2 -1234
- package/src/scss/npoplayer.scss +7 -3
- package/src/scss/variants/_player-base.scss +27 -36
- package/src/scss/variants/_player-debug.scss +14 -0
- package/src/scss/variants/_player-large.scss +18 -40
- package/src/scss/variants/_player-medium.scss +11 -43
- package/src/scss/variants/_player-native-mobile.scss +5 -0
- package/src/scss/variants/_player-small.scss +48 -190
- package/src/scss/vars/_colors.scss +7 -12
- package/src/scss/vars/_icons.scss +21 -33
- package/lib/js/ads/ster.js +0 -157
- package/lib/js/ads/ster.js.map +0 -1
- package/lib/js/ads/ster.test.js +0 -91
- package/lib/js/ads/ster.test.js.map +0 -1
- package/lib/js/api/getstreamobject.js +0 -19
- package/lib/js/api/getstreamobject.js.map +0 -1
- package/lib/js/cdnproviders.js +0 -13
- package/lib/js/cdnproviders.js.map +0 -1
- package/lib/js/checks/safari.js +0 -10
- package/lib/js/checks/safari.js.map +0 -1
- package/lib/js/checks/safari.test.js +0 -21
- package/lib/js/checks/safari.test.js.map +0 -1
- package/lib/js/drm/verifydrm.js +0 -38
- package/lib/js/drm/verifydrm.js.map +0 -1
- package/lib/js/drm/verifydrm.test.js +0 -18
- package/lib/js/drm/verifydrm.test.js.map +0 -1
- package/lib/js/fragments/setfragments.js +0 -68
- package/lib/js/fragments/setfragments.js.map +0 -1
- package/lib/js/playeractions/customerrors.test.js +0 -52
- package/lib/js/playeractions/customerrors.test.js.map +0 -1
- package/lib/js/playeractions/handlers/customerrors.js +0 -154
- package/lib/js/playeractions/handlers/customerrors.js.map +0 -1
- package/lib/js/playeractions/handlers/error.js +0 -23
- package/lib/js/playeractions/handlers/error.js.map +0 -1
- package/lib/js/playeractions/handlers/error.test.js +0 -45
- package/lib/js/playeractions/handlers/error.test.js.map +0 -1
- package/lib/js/playeractions/handlers/handleoffsets.js +0 -71
- package/lib/js/playeractions/handlers/handleoffsets.js.map +0 -1
- package/lib/js/playeractions/handlers/handleoffsets.test.js +0 -50
- package/lib/js/playeractions/handlers/handleoffsets.test.js.map +0 -1
- package/lib/js/playeractions/handlers/resolvekeypress.js +0 -55
- package/lib/js/playeractions/handlers/resolvekeypress.js.map +0 -1
- package/lib/js/playeractions/playeractions.js +0 -4
- package/lib/js/playeractions/playeractions.js.map +0 -1
- package/lib/js/tracking/handlers/eventbinding.js +0 -86
- package/lib/js/tracking/handlers/eventbinding.js.map +0 -1
- package/lib/js/tracking/handlers/eventlogging.js +0 -42
- package/lib/js/tracking/handlers/eventlogging.js.map +0 -1
- package/lib/js/tracking/handlers/playertrackerinit.js +0 -29
- package/lib/js/tracking/handlers/playertrackerinit.js.map +0 -1
- package/lib/js/tracking/handlers/playertrackerstart.js +0 -29
- package/lib/js/tracking/handlers/playertrackerstart.js.map +0 -1
- package/lib/js/tracking/playertracker.js +0 -10
- package/lib/js/tracking/playertracker.js.map +0 -1
- package/lib/js/ui/components/adbutton.js +0 -21
- package/lib/js/ui/components/adbutton.js.map +0 -1
- package/lib/js/ui/components/adlabel.js +0 -17
- package/lib/js/ui/components/adlabel.js.map +0 -1
- package/lib/js/ui/components/buttons.js +0 -89
- package/lib/js/ui/components/buttons.js.map +0 -1
- package/lib/js/ui/components/controlbar.js +0 -52
- package/lib/js/ui/components/controlbar.js.map +0 -1
- package/lib/js/ui/components/ctabar.js +0 -41
- package/lib/js/ui/components/ctabar.js.map +0 -1
- package/lib/js/ui/components/nativemobile/buttons.js +0 -43
- package/lib/js/ui/components/nativemobile/buttons.js.map +0 -1
- package/lib/js/ui/components/nativemobile/controlbar.js +0 -23
- package/lib/js/ui/components/nativemobile/controlbar.js.map +0 -1
- package/lib/js/ui/components/nativemobile/ctabar.js +0 -12
- package/lib/js/ui/components/nativemobile/ctabar.js.map +0 -1
- package/lib/js/ui/components/nativemobile/playnext.js +0 -16
- package/lib/js/ui/components/nativemobile/playnext.js.map +0 -1
- package/lib/js/ui/components/nativemobile/topbar.js +0 -21
- package/lib/js/ui/components/nativemobile/topbar.js.map +0 -1
- package/lib/js/ui/components/playnext.js +0 -11
- package/lib/js/ui/components/playnext.js.map +0 -1
- package/lib/js/ui/components/settingspanel.js +0 -130
- package/lib/js/ui/components/settingspanel.js.map +0 -1
- package/lib/js/ui/components/shared/playnextscreen.js +0 -18
- package/lib/js/ui/components/shared/playnextscreen.js.map +0 -1
- package/lib/js/ui/components/titlebar.js +0 -9
- package/lib/js/ui/components/titlebar.js.map +0 -1
- package/lib/js/ui/components/topbar.js +0 -19
- package/lib/js/ui/components/topbar.js.map +0 -1
- package/lib/js/ui/handlers/listboxhandlers.js +0 -41
- package/lib/js/ui/handlers/listboxhandlers.js.map +0 -1
- package/lib/js/ui/handlers/nicamhandler.js +0 -32
- package/lib/js/ui/handlers/nicamhandler.js.map +0 -1
- package/lib/js/ui/handlers/nicamhandler.test.js +0 -34
- package/lib/js/ui/handlers/nicamhandler.test.js.map +0 -1
- package/lib/js/ui/handlers/playnexthandlers.js +0 -2
- package/lib/js/ui/handlers/playnexthandlers.js.map +0 -1
- package/lib/js/ui/handlers/timecontrolhandlers.js +0 -23
- package/lib/js/ui/handlers/timecontrolhandlers.js.map +0 -1
- package/lib/js/ui/nativemobileui.js +0 -49
- package/lib/js/ui/nativemobileui.js.map +0 -1
- package/lib/js/ui/uicontainer.js +0 -61
- package/lib/js/ui/uicontainer.js.map +0 -1
- package/lib/js/utilities/localizationconfig.js +0 -8
- package/lib/js/utilities/localizationconfig.js.map +0 -1
- package/lib/js/utilities/printversion.js +0 -28
- package/lib/js/utilities/printversion.js.map +0 -1
- package/lib/js/utilities/utilities.js +0 -106
- package/lib/js/utilities/utilities.js.map +0 -1
- package/lib/lang/nl.json +0 -72
- package/lib/npoplayer.test.js +0 -12
- package/lib/npoplayer.test.js.map +0 -1
- package/lib/src/js/ads/ster.d.ts +0 -4
- package/lib/src/js/ads/ster.test.d.ts +0 -1
- package/lib/src/js/api/getstreamobject.d.ts +0 -3
- package/lib/src/js/cdnproviders.d.ts +0 -1
- package/lib/src/js/checks/safari.d.ts +0 -1
- package/lib/src/js/checks/safari.test.d.ts +0 -1
- package/lib/src/js/drm/verifydrm.d.ts +0 -4
- package/lib/src/js/drm/verifydrm.test.d.ts +0 -1
- package/lib/src/js/fragments/setfragments.d.ts +0 -3
- package/lib/src/js/playeractions/customerrors.test.d.ts +0 -1
- package/lib/src/js/playeractions/handlers/customerrors.d.ts +0 -50
- package/lib/src/js/playeractions/handlers/error.d.ts +0 -3
- package/lib/src/js/playeractions/handlers/error.test.d.ts +0 -1
- package/lib/src/js/playeractions/handlers/handleoffsets.d.ts +0 -6
- package/lib/src/js/playeractions/handlers/handleoffsets.test.d.ts +0 -1
- package/lib/src/js/playeractions/handlers/resolvekeypress.d.ts +0 -3
- package/lib/src/js/playeractions/playeractions.d.ts +0 -3
- package/lib/src/js/tracking/handlers/eventbinding.d.ts +0 -10
- package/lib/src/js/tracking/handlers/eventlogging.d.ts +0 -11
- package/lib/src/js/tracking/handlers/playertrackerinit.d.ts +0 -13
- package/lib/src/js/tracking/handlers/playertrackerstart.d.ts +0 -8
- package/lib/src/js/tracking/playertracker.d.ts +0 -4
- package/lib/src/js/ui/components/adbutton.d.ts +0 -7
- package/lib/src/js/ui/components/adlabel.d.ts +0 -7
- package/lib/src/js/ui/components/buttons.d.ts +0 -30
- package/lib/src/js/ui/components/controlbar.d.ts +0 -3
- package/lib/src/js/ui/components/ctabar.d.ts +0 -9
- package/lib/src/js/ui/components/nativemobile/buttons.d.ts +0 -13
- package/lib/src/js/ui/components/nativemobile/controlbar.d.ts +0 -2
- package/lib/src/js/ui/components/nativemobile/ctabar.d.ts +0 -10
- package/lib/src/js/ui/components/nativemobile/playnext.d.ts +0 -10
- package/lib/src/js/ui/components/nativemobile/topbar.d.ts +0 -3
- package/lib/src/js/ui/components/playnext.d.ts +0 -11
- package/lib/src/js/ui/components/settingspanel.d.ts +0 -4
- package/lib/src/js/ui/components/shared/playnextscreen.d.ts +0 -2
- package/lib/src/js/ui/components/titlebar.d.ts +0 -3
- package/lib/src/js/ui/components/topbar.d.ts +0 -2
- package/lib/src/js/ui/handlers/listboxhandlers.d.ts +0 -5
- package/lib/src/js/ui/handlers/nicamhandler.d.ts +0 -2
- package/lib/src/js/ui/handlers/nicamhandler.test.d.ts +0 -1
- package/lib/src/js/ui/handlers/playnexthandlers.d.ts +0 -0
- package/lib/src/js/ui/handlers/timecontrolhandlers.d.ts +0 -3
- package/lib/src/js/ui/nativemobileui.d.ts +0 -6
- package/lib/src/js/ui/uicontainer.d.ts +0 -3
- package/lib/src/js/utilities/localizationconfig.d.ts +0 -6
- package/lib/src/js/utilities/printversion.d.ts +0 -1
- package/lib/src/js/utilities/utilities.d.ts +0 -60
- package/lib/src/npoplayer.d.ts +0 -45
- package/lib/src/npoplayer.test.d.ts +0 -1
- package/lib/src/types/classes.d.ts +0 -4
- package/lib/src/types/interfaces.d.ts +0 -106
- package/lib/types/classes.js +0 -4
- package/lib/types/classes.js.map +0 -1
- package/lib/types/interfaces.js +0 -6
- package/lib/types/interfaces.js.map +0 -1
- package/src/scss/components/_container.scss +0 -8
- package/src/scss/components/_fonts.scss +0 -19
- /package/lib/js/ui/{nativemobileui.d.ts → nativemobileuicontainer.d.ts} +0 -0
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* This file contains small utility functions that have no relation to the broader player logic
|
|
3
|
-
*/
|
|
4
|
-
import { i18n } from 'bitmovin-player-ui/dist/js/framework/localization/i18n';
|
|
5
|
-
/**
|
|
6
|
-
* @function jwtToBase64
|
|
7
|
-
* @description Converts a JWT string to a base64 encoded string.
|
|
8
|
-
* @param {string} jwt - The JWT string to convert.
|
|
9
|
-
* @returns {string} The converted base64 string.
|
|
10
|
-
*/
|
|
11
|
-
export const jwtToBase64 = (jwt) => {
|
|
12
|
-
return jwt.toString().split('.')[1].replace('-', '+').replace('_', '/');
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* @function base64ToObject
|
|
16
|
-
* @description Converts a base64 encoded JWT string to a JSON object.
|
|
17
|
-
* @param {string} base64 - The base64 string to convert.
|
|
18
|
-
* @returns {Object} The converted JSON object.
|
|
19
|
-
*/
|
|
20
|
-
export const base64ToObject = (base64) => {
|
|
21
|
-
return JSON.parse(decodeURIComponent(window
|
|
22
|
-
.atob(base64)
|
|
23
|
-
.split('')
|
|
24
|
-
.map(function (c) {
|
|
25
|
-
return ('%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2));
|
|
26
|
-
})
|
|
27
|
-
.join('')));
|
|
28
|
-
};
|
|
29
|
-
/**
|
|
30
|
-
* @function noTrailingSlash
|
|
31
|
-
* @description Removes the trailing slash from the provided url if it exists.
|
|
32
|
-
* @param {string} url - The url to remove the trailing slash from.
|
|
33
|
-
* @returns {string} The url without the trailing slash.
|
|
34
|
-
*/
|
|
35
|
-
export const noTrailingSlash = (url) => {
|
|
36
|
-
return url.slice(-1) === '/' ? (url = url.slice(0, -1)) : url;
|
|
37
|
-
};
|
|
38
|
-
/**
|
|
39
|
-
* @function localize
|
|
40
|
-
* @description Returns the localized text for the provided key.
|
|
41
|
-
* @param {key} key - The key of the text to localize.
|
|
42
|
-
* @returns {LocalizableText} The localized text.
|
|
43
|
-
*/
|
|
44
|
-
export function localize(key) {
|
|
45
|
-
return i18n.getLocalizer(key);
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* @function validateStreamLength
|
|
49
|
-
* @description Validates the provided stream duration and converts it to seconds.
|
|
50
|
-
* If the duration is null, returns -1.
|
|
51
|
-
* @param {string|number} duration - The stream duration to validate, can be either a string or a number.
|
|
52
|
-
* @returns {number} The duration in seconds or -1 if the duration is null.
|
|
53
|
-
*/
|
|
54
|
-
export function validateStreamLength(duration) {
|
|
55
|
-
return duration !== null ? msToSeconds(Number(duration)) : -1;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* @function msToSeconds
|
|
59
|
-
* @description Converts milliseconds to seconds.
|
|
60
|
-
* @param {number} ms - The milliseconds to convert.
|
|
61
|
-
* @returns {number} The converted milliseconds.
|
|
62
|
-
*/
|
|
63
|
-
export function msToSeconds(ms) {
|
|
64
|
-
return ms / 1000;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* @function validatePrid
|
|
68
|
-
* @description Validates the provided prid. If the prid is null or empty, returns 'unknown'.
|
|
69
|
-
* @param {string|null} prid - The prid to validate.
|
|
70
|
-
* @returns {string} The validated prid or 'unknown' if the prid is null or empty.
|
|
71
|
-
*/
|
|
72
|
-
export function validatePrid(prid) {
|
|
73
|
-
return prid !== '' && prid !== null ? prid : 'unknown';
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* @function getModuleExport
|
|
77
|
-
* @description Returns the default export of a module if it exists, otherwise returns the module itself.
|
|
78
|
-
* This is used to support both ES6 and CommonJS modules.
|
|
79
|
-
* @param {unkown} module - The module to get the export from.
|
|
80
|
-
* @returns {unknown} module - The multicompatible module export.
|
|
81
|
-
*/
|
|
82
|
-
export function getModuleExport(module) {
|
|
83
|
-
if (typeof module === 'object' && module !== null && 'default' in module) {
|
|
84
|
-
return module.default;
|
|
85
|
-
}
|
|
86
|
-
return module;
|
|
87
|
-
}
|
|
88
|
-
export function airPlaySupported() {
|
|
89
|
-
let hasAirPlay = false;
|
|
90
|
-
if (window.WebKitPlaybackTargetAvailabilityEvent == null || undefined) {
|
|
91
|
-
return false;
|
|
92
|
-
}
|
|
93
|
-
window.addEventListener('webkitplaybacktargetavailabilitychanged', function (event) {
|
|
94
|
-
console.log('event', event);
|
|
95
|
-
switch (event.availability) {
|
|
96
|
-
case "available":
|
|
97
|
-
hasAirPlay = true;
|
|
98
|
-
break;
|
|
99
|
-
case "not-available":
|
|
100
|
-
hasAirPlay = false;
|
|
101
|
-
break;
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
return hasAirPlay;
|
|
105
|
-
}
|
|
106
|
-
//# sourceMappingURL=utilities.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../../../src/js/utilities/utilities.ts"],"names":[],"mappings":"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"}
|
package/lib/lang/nl.json
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"settings.video.quality": "Kwaliteit",
|
|
3
|
-
"settings.audio.quality": "Audio kwaliteit",
|
|
4
|
-
"settings.audio.track": "Audio Track",
|
|
5
|
-
"settings.audio.mute": "Mute",
|
|
6
|
-
"settings.audio.volume": "Volume",
|
|
7
|
-
"settings.subtitles.window.color": "Venster kleur",
|
|
8
|
-
"settings.subtitles.window.opacity": "Venster zichtbaarheid",
|
|
9
|
-
"settings.subtitles": "Ondertiteling",
|
|
10
|
-
"settings.subtitles.font.color": "Tekst kleur",
|
|
11
|
-
"settings.subtitles.font.opacity": "Tekst opacity",
|
|
12
|
-
"settings.subtitles.background.color": "Background color",
|
|
13
|
-
"settings.subtitles.background.opacity": "Background opacity",
|
|
14
|
-
"colors.white": "wit",
|
|
15
|
-
"colors.black": "zwart",
|
|
16
|
-
"colors.red": "rood",
|
|
17
|
-
"colors.green": "groen",
|
|
18
|
-
"colors.blue": "blauw",
|
|
19
|
-
"colors.cyan": "cyaan",
|
|
20
|
-
"colors.yellow": "geel",
|
|
21
|
-
"colors.magenta": "magenta",
|
|
22
|
-
"percent": "{value}%",
|
|
23
|
-
"settings.subtitles.font.size": "Tekst grootte",
|
|
24
|
-
"settings.subtitles.characterEdge": "Character edge",
|
|
25
|
-
"settings.subtitles.characterEdge.raised": "raised",
|
|
26
|
-
"settings.subtitles.characterEdge.depressed": "depressed",
|
|
27
|
-
"settings.subtitles.characterEdge.uniform": "uniform",
|
|
28
|
-
"settings.subtitles.characterEdge.dropshadowed": "drop shadowed",
|
|
29
|
-
"settings.subtitles.font.family": "Lettertype",
|
|
30
|
-
"settings.subtitles.font.family.monospacedserif": "monospaced serif",
|
|
31
|
-
"settings.subtitles.font.family.proportionalserif": "proportional serif",
|
|
32
|
-
"settings.subtitles.font.family.monospacedsansserif": "monospaced sans serif",
|
|
33
|
-
"settings.subtitles.font.family.proportionalsansserif": "proportional sans serif",
|
|
34
|
-
"settings.subtitles.font.family.casual": "casual",
|
|
35
|
-
"settings.subtitles.font.family.cursive": "cursive",
|
|
36
|
-
"settings.subtitles.font.family.smallcapital": "small capital",
|
|
37
|
-
"settings.time.hours": "Uren",
|
|
38
|
-
"settings.time.minutes": "Minuten",
|
|
39
|
-
"settings.time.seconds": "Secondes",
|
|
40
|
-
"ads.remainingTime": "De advertentie duurt nog {remainingTime} seconden.",
|
|
41
|
-
"settings": "Instellingen",
|
|
42
|
-
"fullscreen": "Volledig scherm",
|
|
43
|
-
"speed": "Snelheid",
|
|
44
|
-
"playPause": "Play/Pauzeer",
|
|
45
|
-
"play": "Play",
|
|
46
|
-
"pause": "Pauzeer",
|
|
47
|
-
"open": "open",
|
|
48
|
-
"close": "sluit",
|
|
49
|
-
"pictureInPicture": "Picture-in-Picture",
|
|
50
|
-
"appleAirplay": "Apple AirPlay",
|
|
51
|
-
"googleCast": "Google Cast",
|
|
52
|
-
"vr": "VR",
|
|
53
|
-
"off": "Geen",
|
|
54
|
-
"auto": "automatisch",
|
|
55
|
-
"back": "Terug",
|
|
56
|
-
"reset": "Reset",
|
|
57
|
-
"replay": "Replay",
|
|
58
|
-
"normal": "normaal",
|
|
59
|
-
"default": "standaard",
|
|
60
|
-
"live": "Live",
|
|
61
|
-
"subtitle.example": "voorbeeld ondertiteling",
|
|
62
|
-
"subtitle.select": "Selecteer ondertiteling",
|
|
63
|
-
"playingOn": "Speelt af op <strong>{castDeviceName}</strong>",
|
|
64
|
-
"connectingTo": "Maakt verbinding met <strong>{castDeviceName}</strong>...",
|
|
65
|
-
"watermarkLink": "Link to Homepage",
|
|
66
|
-
"controlBar": "Video speler controls",
|
|
67
|
-
"player": "Video speler",
|
|
68
|
-
"seekBar": "Video tijdlijn",
|
|
69
|
-
"seekBar.value": "Waarde",
|
|
70
|
-
"seekBar.timeshift": "Timeshift",
|
|
71
|
-
"seekBar.durationText": "out of"
|
|
72
|
-
}
|
package/lib/npoplayer.test.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import NpoPlayer from "./npoplayer";
|
|
2
|
-
const div = document.createElement("div");
|
|
3
|
-
const testPlayerConfig = {
|
|
4
|
-
key: "D634EA2C-BFE7-4BB6-9EAA-CDCC7B1EDFFA",
|
|
5
|
-
};
|
|
6
|
-
let player;
|
|
7
|
-
test("player init", async () => {
|
|
8
|
-
player = new NpoPlayer(div, testPlayerConfig);
|
|
9
|
-
expect(player).toBeInstanceOf(NpoPlayer);
|
|
10
|
-
expect(player.playerConfig.key).toBe(testPlayerConfig.key);
|
|
11
|
-
});
|
|
12
|
-
//# sourceMappingURL=npoplayer.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"npoplayer.test.js","sourceRoot":"","sources":["../../src/npoplayer.test.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,MAAM,GAAG,GAAgB,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAEvD,MAAM,gBAAgB,GAAiB;IACnC,GAAG,EAAE,sCAAsC;CAC9C,CAAC;AAEF,IAAI,MAAiB,CAAC;AAEtB,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;IAC3B,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAE9C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC"}
|
package/lib/src/js/ads/ster.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const npoCdnProviders: Map<any, any>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function isSafari(isFairPlayDrmSupported: boolean): boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
export declare const customSpecificErrorMessageOverlayConfig: {
|
|
2
|
-
1000: string;
|
|
3
|
-
1001: string;
|
|
4
|
-
1101: string;
|
|
5
|
-
1102: string;
|
|
6
|
-
1103: string;
|
|
7
|
-
1104: string;
|
|
8
|
-
1105: string;
|
|
9
|
-
1106: string;
|
|
10
|
-
1107: string;
|
|
11
|
-
1108: string;
|
|
12
|
-
1113: string;
|
|
13
|
-
1201: string;
|
|
14
|
-
1202: (error: any) => string | import("bitmovin-player-ui/dist/js/framework/components/errormessageoverlay").ErrorMessageTranslator;
|
|
15
|
-
1203: string;
|
|
16
|
-
1204: string;
|
|
17
|
-
1205: string;
|
|
18
|
-
1206: string;
|
|
19
|
-
1207: string;
|
|
20
|
-
1208: (error: any) => string;
|
|
21
|
-
1209: string;
|
|
22
|
-
1210: string;
|
|
23
|
-
1211: string;
|
|
24
|
-
1301: string;
|
|
25
|
-
1304: string;
|
|
26
|
-
1400: string;
|
|
27
|
-
1401: string;
|
|
28
|
-
1402: string;
|
|
29
|
-
1403: string;
|
|
30
|
-
1404: string;
|
|
31
|
-
2001: string;
|
|
32
|
-
2002: string;
|
|
33
|
-
2003: string;
|
|
34
|
-
2005: string;
|
|
35
|
-
2006: string;
|
|
36
|
-
2007: string;
|
|
37
|
-
2008: string;
|
|
38
|
-
2009: string;
|
|
39
|
-
2010: string;
|
|
40
|
-
2011: string;
|
|
41
|
-
2012: string;
|
|
42
|
-
2013: string;
|
|
43
|
-
2015: string;
|
|
44
|
-
2101: string;
|
|
45
|
-
3001: string;
|
|
46
|
-
3002: string;
|
|
47
|
-
3003: string;
|
|
48
|
-
3004: string;
|
|
49
|
-
4000: string;
|
|
50
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { type PlayerAPI } from 'bitmovin-player';
|
|
2
|
-
import type NpoPlayer from '../../../npoplayer';
|
|
3
|
-
import { type StreamOptions } from 'types/interfaces';
|
|
4
|
-
export declare function handleStartOffset(player: PlayerAPI, offset?: number): void;
|
|
5
|
-
export declare function shiftToProgramStart(player: PlayerAPI | null, timestamp?: number): void;
|
|
6
|
-
export declare function handleLiveOffsetLogic(npoplayer: NpoPlayer, player: PlayerAPI | null, options: StreamOptions): void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { type PlayerAPI } from 'bitmovin-player';
|
|
2
|
-
import type NpoPlayer from '../../../npoplayer';
|
|
3
|
-
/**
|
|
4
|
-
* @function bindPlayerEvents
|
|
5
|
-
* @description Binds the player events to the event logging function.
|
|
6
|
-
* @param {NpoPlayer} npoplayer - The NpoPlayer instance.
|
|
7
|
-
* @param {PlayerAPI} player - The Bitmovin player instance.
|
|
8
|
-
* @returns {void}
|
|
9
|
-
*/
|
|
10
|
-
export declare function bindPlayerEvents(npoplayer: NpoPlayer, player: PlayerAPI): void;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @function logEvent
|
|
3
|
-
* @description Logs an event to the NPO Tag StreamTracker
|
|
4
|
-
* @param {Object} npoplayer - The NpoPlayer instance
|
|
5
|
-
* @param {string} event - The event name
|
|
6
|
-
* @param {Object} data - The event data, this is optional and currently only used for seek events,
|
|
7
|
-
* because the tag SDK does not export SeekEventProps as a type the type for data is set to any.
|
|
8
|
-
* @returns {void}
|
|
9
|
-
*/
|
|
10
|
-
import NpoPlayer from "../../../npoplayer";
|
|
11
|
-
export declare function logEvent(npoplayer: NpoPlayer, event: string, data?: any): void;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { type NPOTag } from '@npotag/tag';
|
|
2
|
-
import { type InitialisationProps } from '@npotag/tag/dist/types/src/npoTag';
|
|
3
|
-
import type NpoPlayer from '../../../npoplayer';
|
|
4
|
-
/**
|
|
5
|
-
* @function initPlayerTracker
|
|
6
|
-
* @description: This function initializes the NPO Tag instance and page tracker.
|
|
7
|
-
* The page tracker is a required prerequisite for the stream tracker to function.
|
|
8
|
-
* @param {NpoPlayer} npoplayer - The NpoPlayer instance.
|
|
9
|
-
* @param {InitialisationProps | null} _npotag - The NPO Tag instance.
|
|
10
|
-
* @param {NPOTag} _npotaginstance - The NPO Tag instance.
|
|
11
|
-
* @returns {void}
|
|
12
|
-
*/
|
|
13
|
-
export declare function initPlayerTracker(npoplayer: NpoPlayer, _npotag?: InitialisationProps | null, _npotaginstance?: NPOTag): void;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @function startPlayerTracker
|
|
3
|
-
* @description This function creates a new StreamTracker instance and binds the player events to it.
|
|
4
|
-
* @param {Object} playerInstance - The NpoPlayer instance
|
|
5
|
-
* @param {number} duration - The duration of the stream in seconds
|
|
6
|
-
* @returns {void}
|
|
7
|
-
*/
|
|
8
|
-
export declare function startPlayerTracker(playerInstance: any, duration: number, version: string): void;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { type PlayerAPI } from 'bitmovin-player';
|
|
2
|
-
import { Button, ControlBar } from 'bitmovin-player-ui';
|
|
3
|
-
import type NpoPlayer from '../../../npoplayer';
|
|
4
|
-
export declare function createMiddleButtons(player: PlayerAPI | null): ControlBar;
|
|
5
|
-
export declare function createRewindButton(player: PlayerAPI | null): Button<{
|
|
6
|
-
cssClass: string;
|
|
7
|
-
}>;
|
|
8
|
-
export declare function createForwardButton(player: PlayerAPI | null): Button<{
|
|
9
|
-
cssClass: string;
|
|
10
|
-
}>;
|
|
11
|
-
export declare function createPlayNextButton(player: PlayerAPI | null, npoplayer: NpoPlayer): Button<{
|
|
12
|
-
cssClass: string;
|
|
13
|
-
text: string;
|
|
14
|
-
hidden: false;
|
|
15
|
-
}>;
|
|
16
|
-
export declare function createskipIntroButton(player: PlayerAPI | null): Button<{
|
|
17
|
-
cssClass: string;
|
|
18
|
-
text: string;
|
|
19
|
-
hidden: true;
|
|
20
|
-
}>;
|
|
21
|
-
export declare function createGoBackLiveButton(player: PlayerAPI | null): Button<{
|
|
22
|
-
cssClass: string;
|
|
23
|
-
text: string;
|
|
24
|
-
hidden: true;
|
|
25
|
-
}>;
|
|
26
|
-
export declare function createWatchFromStartButton(player: PlayerAPI | null, npoplayer: NpoPlayer): Button<{
|
|
27
|
-
cssClass: string;
|
|
28
|
-
text: string;
|
|
29
|
-
hidden: true;
|
|
30
|
-
}>;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Button, Container, Label } from 'bitmovin-player-ui';
|
|
2
|
-
import type NpoPlayer from '../../../npoplayer';
|
|
3
|
-
import { type PlayerAPI } from 'bitmovin-player';
|
|
4
|
-
import { ButtonConfig } from 'bitmovin-player-ui/dist/js/framework/components/button';
|
|
5
|
-
import { LabelConfig } from 'bitmovin-player-ui/dist/js/framework/components/label';
|
|
6
|
-
export declare function createCTABar(player: PlayerAPI | null, npoplayer: NpoPlayer, variant: string): Container<{
|
|
7
|
-
components: (Label<LabelConfig> | Button<ButtonConfig>)[];
|
|
8
|
-
cssClasses: string[];
|
|
9
|
-
}>;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { type PlayerAPI } from 'bitmovin-player';
|
|
2
|
-
import { Button, SettingsPanel, SettingsToggleButton } from 'bitmovin-player-ui';
|
|
3
|
-
export declare function createPlayNextButton(player: PlayerAPI | null): Button<{
|
|
4
|
-
cssClass: string;
|
|
5
|
-
text: string;
|
|
6
|
-
hidden: false;
|
|
7
|
-
}>;
|
|
8
|
-
export declare function createWatchFromStartButton(): Button<{
|
|
9
|
-
cssClass: string;
|
|
10
|
-
text: string;
|
|
11
|
-
hidden: true;
|
|
12
|
-
}>;
|
|
13
|
-
export declare function createSettingsButton(player: PlayerAPI | null, settingsPanel: SettingsPanel): SettingsToggleButton;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Container } from 'bitmovin-player-ui';
|
|
2
|
-
import { type PlayerAPI } from 'bitmovin-player';
|
|
3
|
-
export declare function createCTABar(player: PlayerAPI | null): Container<{
|
|
4
|
-
components: import("bitmovin-player-ui").Button<{
|
|
5
|
-
cssClass: string;
|
|
6
|
-
text: string;
|
|
7
|
-
hidden: true;
|
|
8
|
-
}>[];
|
|
9
|
-
cssClasses: string[];
|
|
10
|
-
}>;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Container } from 'bitmovin-player-ui';
|
|
2
|
-
import { type PlayerAPI } from 'bitmovin-player';
|
|
3
|
-
export declare function createPlayNextScreen(player: PlayerAPI | null): Container<{
|
|
4
|
-
components: import("bitmovin-player-ui").Button<{
|
|
5
|
-
cssClass: string;
|
|
6
|
-
text: string;
|
|
7
|
-
hidden: false;
|
|
8
|
-
}>[];
|
|
9
|
-
cssClasses: string[];
|
|
10
|
-
}>;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Container } from 'bitmovin-player-ui';
|
|
2
|
-
import { type PlayerAPI } from 'bitmovin-player';
|
|
3
|
-
import type NpoPlayer from '../../../npoplayer';
|
|
4
|
-
export declare function createPlayNextScreen(player: PlayerAPI | null, npoplayer: NpoPlayer): Container<{
|
|
5
|
-
components: import("bitmovin-player-ui").Button<{
|
|
6
|
-
cssClass: string;
|
|
7
|
-
text: string;
|
|
8
|
-
hidden: false;
|
|
9
|
-
}>[];
|
|
10
|
-
cssClasses: string[];
|
|
11
|
-
}>;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { type PlayerAPI } from 'bitmovin-player';
|
|
2
|
-
import { type SettingsPanel, type SettingsPanelPage, type SettingsPanelPageOpenButton } from 'bitmovin-player-ui';
|
|
3
|
-
export declare function handleSubtitleListBoxItemSelected(subtitleSettingsOpenButton: SettingsPanelPageOpenButton, settingsPanel: SettingsPanel, mainSettingsPage: SettingsPanelPage): (e: any) => void;
|
|
4
|
-
export declare function handleSpeedListBoxItemSelected(player: PlayerAPI | null, speedSettingsOpenButton: SettingsPanelPageOpenButton, settingsPanel: SettingsPanel, mainSettingsPage: SettingsPanelPage): (source: any, args: any) => void;
|
|
5
|
-
export declare function handleQualityListBoxItemSelected(player: PlayerAPI | null, qualitySettingsOpenButton: SettingsPanelPageOpenButton, settingsPanel: SettingsPanel, mainSettingsPage: SettingsPanelPage): (source: any, args: any) => void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
File without changes
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { UIContainer } from 'bitmovin-player-ui';
|
|
2
|
-
import { PlayerAPI } from 'bitmovin-player';
|
|
3
|
-
import { CustomMessages } from '../../types/interfaces';
|
|
4
|
-
export declare function sendCustomMessage(message: CustomMessages): any;
|
|
5
|
-
export declare function getCustomMessage(message: CustomMessages): {};
|
|
6
|
-
export declare function nativeMobileUIContainer(player: PlayerAPI): UIContainer;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function printVersion(version: string): void;
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { type LocalizableText } from 'bitmovin-player-ui/dist/js/framework/localization/i18n';
|
|
2
|
-
/**
|
|
3
|
-
* @function jwtToBase64
|
|
4
|
-
* @description Converts a JWT string to a base64 encoded string.
|
|
5
|
-
* @param {string} jwt - The JWT string to convert.
|
|
6
|
-
* @returns {string} The converted base64 string.
|
|
7
|
-
*/
|
|
8
|
-
export declare const jwtToBase64: (jwt: string) => string;
|
|
9
|
-
/**
|
|
10
|
-
* @function base64ToObject
|
|
11
|
-
* @description Converts a base64 encoded JWT string to a JSON object.
|
|
12
|
-
* @param {string} base64 - The base64 string to convert.
|
|
13
|
-
* @returns {Object} The converted JSON object.
|
|
14
|
-
*/
|
|
15
|
-
export declare const base64ToObject: (base64: string) => any;
|
|
16
|
-
/**
|
|
17
|
-
* @function noTrailingSlash
|
|
18
|
-
* @description Removes the trailing slash from the provided url if it exists.
|
|
19
|
-
* @param {string} url - The url to remove the trailing slash from.
|
|
20
|
-
* @returns {string} The url without the trailing slash.
|
|
21
|
-
*/
|
|
22
|
-
export declare const noTrailingSlash: (url: string) => string;
|
|
23
|
-
/**
|
|
24
|
-
* @function localize
|
|
25
|
-
* @description Returns the localized text for the provided key.
|
|
26
|
-
* @param {key} key - The key of the text to localize.
|
|
27
|
-
* @returns {LocalizableText} The localized text.
|
|
28
|
-
*/
|
|
29
|
-
export declare function localize(key: string): LocalizableText;
|
|
30
|
-
/**
|
|
31
|
-
* @function validateStreamLength
|
|
32
|
-
* @description Validates the provided stream duration and converts it to seconds.
|
|
33
|
-
* If the duration is null, returns -1.
|
|
34
|
-
* @param {string|number} duration - The stream duration to validate, can be either a string or a number.
|
|
35
|
-
* @returns {number} The duration in seconds or -1 if the duration is null.
|
|
36
|
-
*/
|
|
37
|
-
export declare function validateStreamLength(duration: string | number | undefined): number;
|
|
38
|
-
/**
|
|
39
|
-
* @function msToSeconds
|
|
40
|
-
* @description Converts milliseconds to seconds.
|
|
41
|
-
* @param {number} ms - The milliseconds to convert.
|
|
42
|
-
* @returns {number} The converted milliseconds.
|
|
43
|
-
*/
|
|
44
|
-
export declare function msToSeconds(ms: number): number;
|
|
45
|
-
/**
|
|
46
|
-
* @function validatePrid
|
|
47
|
-
* @description Validates the provided prid. If the prid is null or empty, returns 'unknown'.
|
|
48
|
-
* @param {string|null} prid - The prid to validate.
|
|
49
|
-
* @returns {string} The validated prid or 'unknown' if the prid is null or empty.
|
|
50
|
-
*/
|
|
51
|
-
export declare function validatePrid(prid: string | null): string;
|
|
52
|
-
/**
|
|
53
|
-
* @function getModuleExport
|
|
54
|
-
* @description Returns the default export of a module if it exists, otherwise returns the module itself.
|
|
55
|
-
* This is used to support both ES6 and CommonJS modules.
|
|
56
|
-
* @param {unkown} module - The module to get the export from.
|
|
57
|
-
* @returns {unknown} module - The multicompatible module export.
|
|
58
|
-
*/
|
|
59
|
-
export declare function getModuleExport(module: unknown): unknown;
|
|
60
|
-
export declare function airPlaySupported(): boolean;
|