@npo/player 1.22.4 → 1.23.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 +1 -1
- package/lib/js/ads/ster.js +23 -21
- package/lib/js/ads/ster.test.js +17 -17
- package/lib/js/api/getstreamobject.js +7 -7
- package/lib/js/api/getstreamobject.test.js +3 -3
- package/lib/js/markers/updateLiveMarkers.d.ts +3 -3
- package/lib/js/markers/updateLiveMarkers.js +14 -15
- package/lib/js/markers/updateLiveMarkers.test.js +11 -12
- package/lib/js/playeractions/customerrors.test.js +33 -33
- package/lib/js/playeractions/handlers/customerrors.js +48 -48
- package/lib/js/playeractions/handlers/error.js +1 -1
- package/lib/js/playeractions/handlers/error.test.js +11 -11
- package/lib/js/playeractions/handlers/handleoffsets.d.ts +2 -2
- package/lib/js/playeractions/handlers/handleoffsets.js +6 -6
- package/lib/js/playeractions/handlers/handleoffsets.test.js +12 -12
- package/lib/js/playeractions/handlers/mediasessionactions.d.ts +1 -1
- package/lib/js/playeractions/handlers/mediasessionactions.js +20 -15
- package/lib/js/playeractions/handlers/processplayerconfig.d.ts +2 -2
- package/lib/js/playeractions/handlers/processplayerconfig.js +4 -4
- package/lib/js/playeractions/handlers/processsourceconfig.d.ts +2 -1
- package/lib/js/playeractions/handlers/processsourceconfig.js +52 -46
- package/lib/js/playeractions/handlers/removereplayclass.d.ts +1 -1
- package/lib/js/playeractions/handlers/removereplayclass.test.d.ts +1 -1
- package/lib/js/playeractions/handlers/removereplayclass.test.js +7 -6
- package/lib/js/playeractions/playeractions.d.ts +4 -5
- package/lib/js/playeractions/playeractions.js +4 -5
- package/lib/js/settings/settings.user-agent.d.ts +1 -0
- package/lib/js/settings/settings.user-agent.js +1 -0
- package/lib/js/tracking/handlers/eventbinding.js +9 -9
- package/lib/js/tracking/handlers/eventlogging.js +2 -2
- package/lib/js/tracking/handlers/eventlogging.test.js +2 -2
- package/lib/js/tracking/handlers/playertrackerinit.d.ts +1 -1
- package/lib/js/tracking/handlers/playertrackerinit.js +5 -11
- package/lib/js/tracking/handlers/playertrackerstart.d.ts +1 -1
- package/lib/js/tracking/handlers/playertrackerstart.js +5 -10
- package/lib/js/utilities/utilities.element.d.ts +10 -0
- package/lib/js/utilities/utilities.element.js +8 -0
- package/lib/js/utilities/utilities.element.test.js +25 -0
- package/lib/js/utilities/utilities.jwt.d.ts +3 -0
- package/lib/js/utilities/utilities.jwt.js +22 -0
- package/lib/js/utilities/utilities.jwt.test.js +32 -0
- package/lib/js/utilities/utilities.locale.d.ts +2 -0
- package/lib/js/utilities/utilities.locale.js +4 -0
- package/lib/js/utilities/utilities.locale.test.js +10 -0
- package/lib/js/utilities/utilities.module.d.ts +1 -0
- package/lib/js/utilities/utilities.module.js +4 -0
- package/lib/js/utilities/utilities.module.test.js +19 -0
- package/lib/js/utilities/utilities.stream.d.ts +7 -0
- package/lib/js/utilities/utilities.stream.js +10 -0
- package/lib/js/utilities/utilities.stream.test.js +32 -0
- package/lib/js/utilities/utilities.text.d.ts +1 -0
- package/lib/js/utilities/utilities.text.js +3 -0
- package/lib/js/utilities/utilities.text.test.js +18 -0
- package/lib/js/utilities/utilities.time.d.ts +1 -0
- package/lib/js/utilities/utilities.time.js +3 -0
- package/lib/js/utilities/utilities.time.test.js +8 -0
- package/lib/js/utilities/utilities.url.d.ts +3 -0
- package/lib/js/utilities/utilities.url.js +29 -0
- package/lib/js/utilities/utilities.url.test.js +46 -0
- package/lib/js/utilities/utilities.user-agent.d.ts +3 -0
- package/lib/js/utilities/utilities.user-agent.js +13 -0
- package/lib/js/utilities/utilities.user-agent.test.js +60 -0
- package/lib/js/utilities/utilities.version.d.ts +1 -0
- package/lib/js/utilities/{printversion.js → utilities.version.js} +8 -8
- package/lib/js/utilities/utilities.version.test.js +26 -0
- package/lib/lang/nl.json +2 -1
- package/lib/npoplayer-bridge.test.d.ts +1 -1
- package/lib/npoplayer-bridge.test.js +6 -5
- package/lib/npoplayer.d.ts +14 -10
- package/lib/npoplayer.js +116 -124
- package/lib/npoplayer.test.js +3 -3
- package/lib/package.json +19 -12
- package/lib/services/a11y/setup.d.ts +2 -0
- package/lib/services/a11y/setup.js +18 -0
- package/lib/services/a11y/setup.test.js +109 -0
- package/lib/services/avTypeHandlers/getAVType.d.ts +2 -0
- package/lib/services/avTypeHandlers/getAVType.js +9 -0
- package/lib/services/avTypeHandlers/getAVType.test.js +18 -0
- package/lib/services/drmHandlers/constants.d.ts +15 -0
- package/lib/services/drmHandlers/constants.js +13 -0
- package/lib/services/drmHandlers/decideprofile.d.ts +2 -0
- package/lib/services/drmHandlers/decideprofile.js +51 -0
- package/lib/services/drmHandlers/decideprofile.test.js +34 -0
- package/lib/services/drmHandlers/drmhandlers.d.ts +2 -0
- package/lib/services/drmHandlers/drmhandlers.js +2 -0
- package/lib/services/drmHandlers/utils.d.ts +5 -0
- package/lib/services/drmHandlers/utils.js +26 -0
- package/lib/services/drmHandlers/utils.test.js +74 -0
- package/lib/services/drmHandlers/verifydrm.d.ts +2 -0
- package/lib/services/drmHandlers/verifydrm.js +40 -0
- package/lib/services/drmHandlers/verifydrm.test.js +89 -0
- package/lib/services/eventListenerHandlers/removeEventListeners.d.ts +2 -0
- package/lib/services/eventListenerHandlers/removeEventListeners.js +18 -0
- package/lib/services/eventListenerHandlers/removeEventListeners.test.js +27 -0
- package/lib/services/keyboardHandlers/resolvekeypress.d.ts +2 -0
- package/lib/services/keyboardHandlers/resolvekeypress.js +49 -0
- package/lib/{js/playeractions/handlers → services/keyboardHandlers}/resolvekeypress.test.js +21 -13
- package/lib/services/liveStreamHandlers/handleLiveStreamControls.d.ts +6 -0
- package/lib/services/liveStreamHandlers/handleLiveStreamControls.js +35 -0
- package/lib/services/localStorageHandlers/localStorageHandlers.d.ts +4 -0
- package/lib/services/localStorageHandlers/localStorageHandlers.js +33 -0
- package/lib/services/localStorageHandlers/localStorageHandlers.test.js +109 -0
- package/lib/services/npoPlayerAPI/npoPlayerAPI.d.ts +30 -0
- package/lib/services/npoPlayerAPI/npoPlayerAPI.js +91 -0
- package/lib/services/npoPlayerAPI/npoPlayerAPI.test.js +51 -0
- package/lib/services/segmentHandlers/addSegmentEventListeners.d.ts +2 -0
- package/lib/services/segmentHandlers/addSegmentEventListeners.js +14 -0
- package/lib/services/segmentHandlers/addSegmentEventListeners.test.js +43 -0
- package/lib/services/segmentHandlers/convertFragmentToSegment.d.ts +2 -0
- package/lib/services/segmentHandlers/convertFragmentToSegment.js +8 -0
- package/lib/services/segmentHandlers/convertFragmentToSegment.test.js +17 -0
- package/lib/services/segmentHandlers/handleSegmentSeek.d.ts +5 -0
- package/lib/services/segmentHandlers/handleSegmentSeek.js +15 -0
- package/lib/services/segmentHandlers/handleSegmentSeek.test.js +73 -0
- package/lib/services/segmentHandlers/handleSegmentTimeChanged.d.ts +2 -0
- package/lib/services/segmentHandlers/handleSegmentTimeChanged.js +21 -0
- package/lib/services/segmentHandlers/handleSegmentTimeChanged.test.d.ts +1 -0
- package/lib/services/segmentHandlers/handleSegmentTimeChanged.test.js +34 -0
- package/lib/services/segmentHandlers/initSegment.d.ts +7 -0
- package/lib/services/segmentHandlers/initSegment.js +10 -0
- package/lib/services/segmentHandlers/initSegment.test.d.ts +1 -0
- package/lib/services/segmentHandlers/initSegment.test.js +36 -0
- package/lib/services/segmentHandlers/setSegmentMarkers.d.ts +2 -0
- package/lib/services/segmentHandlers/setSegmentMarkers.js +25 -0
- package/lib/services/segmentHandlers/setSegmentMarkers.test.d.ts +1 -0
- package/lib/services/segmentHandlers/setSegmentMarkers.test.js +32 -0
- package/lib/services/services.d.ts +14 -0
- package/lib/services/services.js +47 -0
- package/lib/src/js/markers/updateLiveMarkers.d.ts +3 -3
- package/lib/src/js/playeractions/handlers/handleoffsets.d.ts +2 -2
- package/lib/src/js/playeractions/handlers/mediasessionactions.d.ts +1 -1
- package/lib/src/js/playeractions/handlers/processplayerconfig.d.ts +2 -2
- package/lib/src/js/playeractions/handlers/processsourceconfig.d.ts +2 -1
- package/lib/src/js/playeractions/handlers/removereplayclass.d.ts +1 -1
- package/lib/src/js/playeractions/handlers/removereplayclass.test.d.ts +1 -1
- package/lib/src/js/playeractions/playeractions.d.ts +4 -5
- package/lib/src/js/settings/settings.user-agent.d.ts +1 -0
- package/lib/src/js/tracking/handlers/playertrackerinit.d.ts +1 -1
- package/lib/src/js/tracking/handlers/playertrackerstart.d.ts +1 -1
- package/lib/src/js/utilities/utilities.element.d.ts +10 -0
- package/lib/src/js/utilities/utilities.element.test.d.ts +1 -0
- package/lib/src/js/utilities/utilities.jwt.d.ts +3 -0
- package/lib/src/js/utilities/utilities.jwt.test.d.ts +1 -0
- package/lib/src/js/utilities/utilities.locale.d.ts +2 -0
- package/lib/src/js/utilities/utilities.locale.test.d.ts +1 -0
- package/lib/src/js/utilities/utilities.module.d.ts +1 -0
- package/lib/src/js/utilities/utilities.module.test.d.ts +1 -0
- package/lib/src/js/utilities/utilities.stream.d.ts +7 -0
- package/lib/src/js/utilities/utilities.stream.test.d.ts +1 -0
- package/lib/src/js/utilities/utilities.text.d.ts +1 -0
- package/lib/src/js/utilities/utilities.text.test.d.ts +1 -0
- package/lib/src/js/utilities/utilities.time.d.ts +1 -0
- package/lib/src/js/utilities/utilities.time.test.d.ts +1 -0
- package/lib/src/js/utilities/utilities.url.d.ts +3 -0
- package/lib/src/js/utilities/utilities.url.test.d.ts +1 -0
- package/lib/src/js/utilities/utilities.user-agent.d.ts +3 -0
- package/lib/src/js/utilities/utilities.user-agent.test.d.ts +1 -0
- package/lib/src/js/utilities/utilities.version.d.ts +1 -0
- package/lib/src/js/utilities/utilities.version.test.d.ts +1 -0
- package/lib/src/npoplayer-bridge.test.d.ts +1 -1
- package/lib/src/npoplayer.d.ts +14 -10
- package/lib/src/services/a11y/setup.d.ts +2 -0
- package/lib/src/services/a11y/setup.test.d.ts +1 -0
- package/lib/src/services/avTypeHandlers/getAVType.d.ts +2 -0
- package/lib/src/services/avTypeHandlers/getAVType.test.d.ts +1 -0
- package/lib/src/services/drmHandlers/constants.d.ts +15 -0
- package/lib/src/services/drmHandlers/decideprofile.d.ts +2 -0
- package/lib/src/services/drmHandlers/decideprofile.test.d.ts +1 -0
- package/lib/src/services/drmHandlers/drmhandlers.d.ts +2 -0
- package/lib/src/services/drmHandlers/utils.d.ts +5 -0
- package/lib/src/services/drmHandlers/utils.test.d.ts +1 -0
- package/lib/src/services/drmHandlers/verifydrm.d.ts +2 -0
- package/lib/src/services/drmHandlers/verifydrm.test.d.ts +1 -0
- package/lib/src/services/eventListenerHandlers/removeEventListeners.d.ts +2 -0
- package/lib/src/services/eventListenerHandlers/removeEventListeners.test.d.ts +1 -0
- package/lib/src/services/keyboardHandlers/resolvekeypress.d.ts +2 -0
- package/lib/src/services/keyboardHandlers/resolvekeypress.test.d.ts +1 -0
- package/lib/src/services/liveStreamHandlers/handleLiveStreamControls.d.ts +6 -0
- package/lib/src/services/localStorageHandlers/localStorageHandlers.d.ts +4 -0
- package/lib/src/services/localStorageHandlers/localStorageHandlers.test.d.ts +1 -0
- package/lib/src/services/npoPlayerAPI/npoPlayerAPI.d.ts +30 -0
- package/lib/src/services/npoPlayerAPI/npoPlayerAPI.test.d.ts +1 -0
- package/lib/src/services/segmentHandlers/addSegmentEventListeners.d.ts +2 -0
- package/lib/src/services/segmentHandlers/addSegmentEventListeners.test.d.ts +1 -0
- package/lib/src/services/segmentHandlers/convertFragmentToSegment.d.ts +2 -0
- package/lib/src/services/segmentHandlers/convertFragmentToSegment.test.d.ts +1 -0
- package/lib/src/services/segmentHandlers/handleSegmentSeek.d.ts +5 -0
- package/lib/src/services/segmentHandlers/handleSegmentSeek.test.d.ts +1 -0
- package/lib/src/services/segmentHandlers/handleSegmentTimeChanged.d.ts +2 -0
- package/lib/src/services/segmentHandlers/handleSegmentTimeChanged.test.d.ts +1 -0
- package/lib/src/services/segmentHandlers/initSegment.d.ts +7 -0
- package/lib/src/services/segmentHandlers/initSegment.test.d.ts +1 -0
- package/lib/src/services/segmentHandlers/setSegmentMarkers.d.ts +2 -0
- package/lib/src/services/segmentHandlers/setSegmentMarkers.test.d.ts +1 -0
- package/lib/src/services/services.d.ts +14 -0
- package/lib/src/types/events.d.ts +91 -0
- package/lib/src/types/interfaces.d.ts +39 -15
- package/lib/{js → src}/ui/components/adbutton.d.ts +1 -1
- package/lib/{js → src}/ui/components/adlabel.d.ts +1 -1
- package/lib/{js → src}/ui/components/audio/controlbar.d.ts +1 -1
- package/lib/{js → src}/ui/components/buttons.d.ts +3 -3
- package/lib/src/ui/components/controlbar.d.ts +3 -0
- package/lib/{js → src}/ui/components/ctabar.d.ts +2 -2
- package/lib/src/ui/components/nativemobile/controlbar.d.ts +3 -0
- package/lib/src/ui/components/nativemobile/topbar.d.ts +3 -0
- package/lib/{js → src}/ui/components/playnext.d.ts +1 -1
- package/lib/src/{js/ui → ui}/components/seekbar.d.ts +1 -1
- package/lib/src/{js/ui → ui}/components/settingspanel.d.ts +1 -1
- package/lib/{js → src}/ui/components/titlebar.d.ts +1 -1
- package/lib/src/ui/components/topbar.d.ts +3 -0
- package/lib/src/ui/handlers/accessibilityhandler.test.d.ts +1 -0
- package/lib/src/ui/handlers/domhandlers.d.ts +3 -0
- package/lib/src/ui/handlers/domhandlers.test.d.ts +1 -0
- package/lib/{js → src}/ui/handlers/nicamhandler.d.ts +2 -2
- package/lib/src/ui/handlers/nicamhandler.test.d.ts +1 -0
- package/lib/{js → src}/ui/handlers/playnextstreen.test.d.ts +1 -1
- package/lib/src/{js/ui → ui}/handlers/streamhandler.d.ts +2 -2
- package/lib/{js → src}/ui/nativemobileuicontainer.d.ts +1 -1
- package/lib/src/ui/nativemobileuifactory.test.d.ts +1 -0
- package/lib/{js → src}/ui/uicontainer.d.ts +2 -3
- package/lib/tests/mocks/mockNpoplayer.js +18 -15
- package/lib/tests/mocks/mockPlayerAPI.d.ts +3 -0
- package/lib/tests/mocks/mockPlayerAPI.js +181 -0
- package/lib/tests/mocks/mockPlayerContext.d.ts +2 -0
- package/lib/tests/mocks/mockPlayerContext.js +40 -0
- package/lib/types/events.d.ts +91 -0
- package/lib/types/events.js +1 -0
- package/lib/types/interfaces.d.ts +39 -15
- package/lib/types/interfaces.js +12 -0
- package/lib/{src/js/ui → ui}/components/adbutton.d.ts +1 -1
- package/lib/{src/js/ui → ui}/components/adlabel.d.ts +1 -1
- package/lib/{src/js/ui → ui}/components/audio/controlbar.d.ts +1 -1
- package/lib/{js/ui → ui}/components/audio/controlbar.js +2 -2
- package/lib/{src/js/ui → ui}/components/buttons.d.ts +3 -3
- package/lib/{js/ui → ui}/components/buttons.js +7 -7
- package/lib/ui/components/controlbar.d.ts +3 -0
- package/lib/{js/ui → ui}/components/controlbar.js +5 -2
- package/lib/{src/js/ui → ui}/components/ctabar.d.ts +3 -3
- package/lib/{js/ui → ui}/components/ctabar.js +4 -6
- package/lib/{js/ui → ui}/components/nativemobile/buttons.js +8 -6
- package/lib/ui/components/nativemobile/controlbar.d.ts +3 -0
- package/lib/{js/ui → ui}/components/nativemobile/controlbar.js +6 -4
- package/lib/{js/ui → ui}/components/nativemobile/ctabar.js +1 -1
- package/lib/ui/components/nativemobile/topbar.d.ts +3 -0
- package/lib/{js/ui → ui}/components/nativemobile/topbar.js +6 -3
- package/lib/{src/js/ui → ui}/components/playnext.d.ts +1 -1
- package/lib/{js/ui → ui}/components/playnext.js +1 -1
- package/lib/{js/ui → ui}/components/seekbar.d.ts +1 -1
- package/lib/{js/ui → ui}/components/seekbar.js +1 -1
- package/lib/{js/ui → ui}/components/settingspanel.d.ts +1 -1
- package/lib/{js/ui → ui}/components/settingspanel.js +23 -40
- package/lib/{src/js/ui → ui}/components/titlebar.d.ts +1 -1
- package/lib/ui/components/topbar.d.ts +3 -0
- package/lib/{js/ui → ui}/components/topbar.js +8 -4
- package/lib/{js/ui → ui}/handlers/accessibilityhandler.js +10 -10
- package/lib/ui/handlers/accessibilityhandler.test.d.ts +1 -0
- package/lib/ui/handlers/domhandlers.d.ts +3 -0
- package/lib/ui/handlers/domhandlers.js +7 -0
- package/lib/ui/handlers/domhandlers.test.d.ts +1 -0
- package/lib/ui/handlers/domhandlers.test.js +51 -0
- package/lib/{js/ui → ui}/handlers/listboxhandlers.js +7 -7
- package/lib/{src/js/ui → ui}/handlers/nicamhandler.d.ts +2 -2
- package/lib/{js/ui → ui}/handlers/nicamhandler.js +31 -10
- package/lib/ui/handlers/nicamhandler.test.d.ts +1 -0
- package/lib/{js/ui → ui}/handlers/nicamhandler.test.js +4 -3
- package/lib/{js/ui → ui}/handlers/playnextscreen.js +1 -1
- package/lib/{src/js/ui → ui}/handlers/playnextstreen.test.d.ts +1 -1
- package/lib/{js/ui → ui}/handlers/playnextstreen.test.js +5 -3
- package/lib/{js/ui → ui}/handlers/streamhandler.d.ts +2 -2
- package/lib/ui/handlers/streamhandler.js +51 -0
- package/lib/{src/js/ui → ui}/nativemobileuicontainer.d.ts +1 -1
- package/lib/{js/ui → ui}/nativemobileuicontainer.js +8 -13
- package/lib/{js/ui → ui}/nativemobileuifactory.js +20 -23
- package/lib/ui/nativemobileuifactory.test.d.ts +1 -0
- package/lib/{js/ui → ui}/nativemobileuifactory.test.js +8 -6
- package/lib/{src/js/ui → ui}/uicontainer.d.ts +2 -3
- package/lib/{js/ui → ui}/uicontainer.js +31 -45
- package/package.json +19 -12
- package/src/{scss → style}/components/_controlbars.scss +4 -0
- package/src/{scss → style}/components/_icons.scss +6 -0
- package/src/style/components/_poster.scss +3 -0
- package/src/{scss → style}/components/_settingspanel.scss +15 -1
- package/src/{scss → style}/components/_subtitles.scss +25 -16
- package/src/{scss → style}/npoplayer.css +30 -20
- package/src/{scss → style}/npoplayer.scss +3 -0
- package/src/{scss → style}/variants/_player-small.scss +9 -8
- package/lib/js/checks/apple.d.ts +0 -2
- package/lib/js/checks/apple.js +0 -19
- package/lib/js/checks/apple.test.js +0 -20
- package/lib/js/drm/drm.d.ts +0 -2
- package/lib/js/drm/drm.js +0 -2
- package/lib/js/drm/handlers/decideprofile.d.ts +0 -3
- package/lib/js/drm/handlers/decideprofile.js +0 -53
- package/lib/js/drm/handlers/decideprofile.test.js +0 -33
- package/lib/js/drm/handlers/verifydrm.d.ts +0 -4
- package/lib/js/drm/handlers/verifydrm.js +0 -24
- package/lib/js/drm/handlers/verifydrm.test.js +0 -17
- package/lib/js/fragments/removefragments.d.ts +0 -2
- package/lib/js/fragments/removefragments.js +0 -5
- package/lib/js/fragments/removefragments.test.js +0 -26
- package/lib/js/fragments/setfragments.d.ts +0 -6
- package/lib/js/fragments/setfragments.js +0 -78
- package/lib/js/fragments/setfragments.test.js +0 -72
- package/lib/js/playeractions/handlers/resolvekeypress.d.ts +0 -3
- package/lib/js/playeractions/handlers/resolvekeypress.js +0 -52
- package/lib/js/ui/components/controlbar.d.ts +0 -3
- package/lib/js/ui/components/nativemobile/addFragments.d.ts +0 -1
- package/lib/js/ui/components/nativemobile/addFragments.js +0 -7
- package/lib/js/ui/components/nativemobile/controlbar.d.ts +0 -3
- package/lib/js/ui/components/nativemobile/topbar.d.ts +0 -3
- package/lib/js/ui/components/topbar.d.ts +0 -3
- package/lib/js/ui/handlers/domhandlers.d.ts +0 -3
- package/lib/js/ui/handlers/domhandlers.js +0 -7
- package/lib/js/ui/handlers/domhandlers.test.js +0 -50
- package/lib/js/ui/handlers/streamhandler.js +0 -40
- package/lib/js/utilities/printversion.d.ts +0 -1
- package/lib/js/utilities/utilities.d.ts +0 -16
- package/lib/js/utilities/utilities.js +0 -78
- package/lib/js/utilities/utilities.test.js +0 -50
- package/lib/src/js/checks/apple.d.ts +0 -2
- package/lib/src/js/drm/drm.d.ts +0 -2
- package/lib/src/js/drm/handlers/decideprofile.d.ts +0 -3
- package/lib/src/js/drm/handlers/verifydrm.d.ts +0 -4
- package/lib/src/js/fragments/removefragments.d.ts +0 -2
- package/lib/src/js/fragments/setfragments.d.ts +0 -6
- package/lib/src/js/playeractions/handlers/resolvekeypress.d.ts +0 -3
- package/lib/src/js/ui/components/controlbar.d.ts +0 -3
- package/lib/src/js/ui/components/nativemobile/addFragments.d.ts +0 -1
- package/lib/src/js/ui/components/nativemobile/controlbar.d.ts +0 -3
- package/lib/src/js/ui/components/nativemobile/topbar.d.ts +0 -3
- package/lib/src/js/ui/components/topbar.d.ts +0 -3
- package/lib/src/js/ui/handlers/domhandlers.d.ts +0 -3
- package/lib/src/js/utilities/printversion.d.ts +0 -1
- package/lib/src/js/utilities/utilities.d.ts +0 -16
- /package/lib/js/{utilities/localizationconfig.d.ts → settings/localization.d.ts} +0 -0
- /package/lib/js/{utilities/localizationconfig.js → settings/localization.js} +0 -0
- /package/lib/js/{checks/apple.test.d.ts → utilities/utilities.element.test.d.ts} +0 -0
- /package/lib/js/{drm/handlers/decideprofile.test.d.ts → utilities/utilities.jwt.test.d.ts} +0 -0
- /package/lib/js/{drm/handlers/verifydrm.test.d.ts → utilities/utilities.locale.test.d.ts} +0 -0
- /package/lib/js/{fragments/removefragments.test.d.ts → utilities/utilities.module.test.d.ts} +0 -0
- /package/lib/js/{fragments/setfragments.test.d.ts → utilities/utilities.stream.test.d.ts} +0 -0
- /package/lib/js/{playeractions/handlers/resolvekeypress.test.d.ts → utilities/utilities.text.test.d.ts} +0 -0
- /package/lib/js/{ui/handlers/accessibilityhandler.test.d.ts → utilities/utilities.time.test.d.ts} +0 -0
- /package/lib/js/{ui/handlers/domhandlers.test.d.ts → utilities/utilities.url.test.d.ts} +0 -0
- /package/lib/js/{ui/handlers/nicamhandler.test.d.ts → utilities/utilities.user-agent.test.d.ts} +0 -0
- /package/lib/js/{ui/nativemobileuifactory.test.d.ts → utilities/utilities.version.test.d.ts} +0 -0
- /package/lib/{js/utilities/utilities.test.d.ts → services/a11y/setup.test.d.ts} +0 -0
- /package/lib/{src/js/checks/apple.test.d.ts → services/avTypeHandlers/getAVType.test.d.ts} +0 -0
- /package/lib/{src/js/drm/handlers → services/drmHandlers}/decideprofile.test.d.ts +0 -0
- /package/lib/{src/js/drm/handlers/verifydrm.test.d.ts → services/drmHandlers/utils.test.d.ts} +0 -0
- /package/lib/{src/js/fragments/removefragments.test.d.ts → services/drmHandlers/verifydrm.test.d.ts} +0 -0
- /package/lib/{src/js/fragments/setfragments.test.d.ts → services/eventListenerHandlers/removeEventListeners.test.d.ts} +0 -0
- /package/lib/{src/js/playeractions/handlers → services/keyboardHandlers}/resolvekeypress.test.d.ts +0 -0
- /package/lib/{src/js/ui/handlers/accessibilityhandler.test.d.ts → services/localStorageHandlers/localStorageHandlers.test.d.ts} +0 -0
- /package/lib/{src/js/ui/handlers/domhandlers.test.d.ts → services/npoPlayerAPI/npoPlayerAPI.test.d.ts} +0 -0
- /package/lib/{src/js/ui/handlers/nicamhandler.test.d.ts → services/segmentHandlers/addSegmentEventListeners.test.d.ts} +0 -0
- /package/lib/{src/js/ui/nativemobileuifactory.test.d.ts → services/segmentHandlers/convertFragmentToSegment.test.d.ts} +0 -0
- /package/lib/{src/js/utilities/utilities.test.d.ts → services/segmentHandlers/handleSegmentSeek.test.d.ts} +0 -0
- /package/lib/src/js/{utilities/localizationconfig.d.ts → settings/localization.d.ts} +0 -0
- /package/lib/{js → src}/ui/components/nativemobile/buttons.d.ts +0 -0
- /package/lib/{js → src}/ui/components/nativemobile/ctabar.d.ts +0 -0
- /package/lib/{js → src}/ui/components/nativemobile/titlebar.d.ts +0 -0
- /package/lib/{js → src}/ui/handlers/accessibilityhandler.d.ts +0 -0
- /package/lib/{js → src}/ui/handlers/listboxhandlers.d.ts +0 -0
- /package/lib/{js → src}/ui/handlers/playnextscreen.d.ts +0 -0
- /package/lib/{js → src}/ui/handlers/timecontrolhandlers.d.ts +0 -0
- /package/lib/{js → src}/ui/nativemobileuifactory.d.ts +0 -0
- /package/lib/{js/ui → ui}/components/adbutton.js +0 -0
- /package/lib/{js/ui → ui}/components/adlabel.js +0 -0
- /package/lib/{src/js/ui → ui}/components/nativemobile/buttons.d.ts +0 -0
- /package/lib/{src/js/ui → ui}/components/nativemobile/ctabar.d.ts +0 -0
- /package/lib/{src/js/ui → ui}/components/nativemobile/titlebar.d.ts +0 -0
- /package/lib/{js/ui → ui}/components/nativemobile/titlebar.js +0 -0
- /package/lib/{js/ui → ui}/components/titlebar.js +0 -0
- /package/lib/{src/js/ui → ui}/handlers/accessibilityhandler.d.ts +0 -0
- /package/lib/{js/ui → ui}/handlers/accessibilityhandler.test.js +0 -0
- /package/lib/{src/js/ui → ui}/handlers/listboxhandlers.d.ts +0 -0
- /package/lib/{src/js/ui → ui}/handlers/playnextscreen.d.ts +0 -0
- /package/lib/{src/js/ui → ui}/handlers/timecontrolhandlers.d.ts +0 -0
- /package/lib/{js/ui → ui}/handlers/timecontrolhandlers.js +0 -0
- /package/lib/{src/js/ui → ui}/nativemobileuifactory.d.ts +0 -0
- /package/src/{scss → style}/components/_advert.scss +0 -0
- /package/src/{scss → style}/components/_audio.scss +0 -0
- /package/src/{scss → style}/components/_buffering.scss +0 -0
- /package/src/{scss → style}/components/_error.scss +0 -0
- /package/src/{scss → style}/components/_hugeplaybacktogglebutton.scss +0 -0
- /package/src/{scss → style}/components/_metadata.scss +0 -0
- /package/src/{scss → style}/components/_nicam.scss +0 -0
- /package/src/{scss → style}/components/_playnext.scss +0 -0
- /package/src/{scss → style}/components/_replay.scss +0 -0
- /package/src/{scss → style}/components/_seekbar.scss +0 -0
- /package/src/{scss → style}/components/_seekbarthumbnail.scss +0 -0
- /package/src/{scss → style}/components/_textbuttons.scss +0 -0
- /package/src/{scss → style}/components/_volumeslider.scss +0 -0
- /package/src/{scss → style}/components/audio/_bottombar.scss +0 -0
- /package/src/{scss → style}/components/audio/_buffering.scss +0 -0
- /package/src/{scss → style}/components/audio/_errors.scss +0 -0
- /package/src/{scss → style}/components/audio/_metadata.scss +0 -0
- /package/src/{scss → style}/components/audio/_playbutton.scss +0 -0
- /package/src/{scss → style}/components/audio/_poster.scss +0 -0
- /package/src/{scss → style}/components/audio/_replay.scss +0 -0
- /package/src/{scss → style}/components/audio/_seekbar.scss +0 -0
- /package/src/{scss → style}/components/audio/_topbar.scss +0 -0
- /package/src/{scss → style}/components/audio/_vars.scss +0 -0
- /package/src/{scss → style}/components/audio/_volumeslider.scss +0 -0
- /package/src/{scss → style}/variants/_player-audio.scss +0 -0
- /package/src/{scss → style}/variants/_player-base.scss +0 -0
- /package/src/{scss → style}/variants/_player-debug.scss +0 -0
- /package/src/{scss → style}/variants/_player-large.scss +0 -0
- /package/src/{scss → style}/variants/_player-medium.scss +0 -0
- /package/src/{scss → style}/variants/_player-native-mobile.scss +0 -0
- /package/src/{scss → style}/vars/_audio.scss +0 -0
- /package/src/{scss → style}/vars/_colors.scss +0 -0
- /package/src/{scss → style}/vars/_fonts.scss +0 -0
- /package/src/{scss → style}/vars/_icons.scss +0 -0
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { AdQuartile, PlayerError, ModuleName, ErrorCode, BufferType, HttpRequestMethod, HttpRequestType, HttpResponseType, LogLevel, MediaType, PlayerAPINotAvailableError, PlayerEvent, PlayerModuleMissingError, PlayerType, SupportedTechnologyMode, ViewMode, WarningCode } from 'bitmovin-player';
|
|
2
|
+
export const mockPlayerAPI = {
|
|
3
|
+
version: '1.0',
|
|
4
|
+
buffer: {
|
|
5
|
+
setTargetLevel: jest.fn(),
|
|
6
|
+
getLevel: jest.fn()
|
|
7
|
+
},
|
|
8
|
+
manifest: {
|
|
9
|
+
dash: {
|
|
10
|
+
getPeriod: jest.fn(),
|
|
11
|
+
listPeriods: jest.fn()
|
|
12
|
+
},
|
|
13
|
+
hls: {
|
|
14
|
+
getVideoTracks: jest.fn(),
|
|
15
|
+
getAudioTracks: jest.fn(),
|
|
16
|
+
getTextTracks: jest.fn(),
|
|
17
|
+
properties: []
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
lowlatency: {
|
|
21
|
+
getLatency: jest.fn(),
|
|
22
|
+
setTargetLatency: jest.fn(),
|
|
23
|
+
getTargetLatency: jest.fn(),
|
|
24
|
+
setCatchupConfig: jest.fn(),
|
|
25
|
+
getCatchupConfig: jest.fn(),
|
|
26
|
+
setFallbackConfig: jest.fn(),
|
|
27
|
+
getFallbackConfig: jest.fn()
|
|
28
|
+
},
|
|
29
|
+
adaptation: {
|
|
30
|
+
setConfig: jest.fn(),
|
|
31
|
+
getConfig: jest.fn()
|
|
32
|
+
},
|
|
33
|
+
ads: {
|
|
34
|
+
schedule: jest.fn(),
|
|
35
|
+
skip: jest.fn(),
|
|
36
|
+
list: jest.fn(),
|
|
37
|
+
getActiveAdBreak: jest.fn(),
|
|
38
|
+
getActiveAd: jest.fn(),
|
|
39
|
+
discardAdBreak: jest.fn(),
|
|
40
|
+
isLinearAdActive: jest.fn(),
|
|
41
|
+
getModuleInfo: jest.fn()
|
|
42
|
+
},
|
|
43
|
+
vr: {
|
|
44
|
+
setStereo: jest.fn(),
|
|
45
|
+
enableGyroscope: jest.fn(),
|
|
46
|
+
disableGyroscope: jest.fn(),
|
|
47
|
+
isGyroscopeEnabled: jest.fn(),
|
|
48
|
+
enableMouseControl: jest.fn(),
|
|
49
|
+
disableMouseControl: jest.fn(),
|
|
50
|
+
isMouseControlEnabled: jest.fn(),
|
|
51
|
+
enableKeyboardControl: jest.fn(),
|
|
52
|
+
disableKeyboardControl: jest.fn(),
|
|
53
|
+
isKeyboardControlEnabled: jest.fn(),
|
|
54
|
+
getStereo: jest.fn(),
|
|
55
|
+
getState: jest.fn(),
|
|
56
|
+
getLastError: jest.fn(),
|
|
57
|
+
getViewingDirection: jest.fn(),
|
|
58
|
+
setViewingDirection: jest.fn(),
|
|
59
|
+
moveViewingDirection: jest.fn(),
|
|
60
|
+
setViewingDirectionChangeEventInterval: jest.fn(),
|
|
61
|
+
getViewingDirectionChangeEventInterval: jest.fn(),
|
|
62
|
+
setViewingDirectionChangeThreshold: jest.fn(),
|
|
63
|
+
getViewingDirectionChangeThreshold: jest.fn(),
|
|
64
|
+
setVerticalFieldOfView: jest.fn(),
|
|
65
|
+
getVerticalFieldOfView: jest.fn(),
|
|
66
|
+
setHorizontalFieldOfView: jest.fn(),
|
|
67
|
+
getHorizontalFieldOfView: jest.fn(),
|
|
68
|
+
zoom: jest.fn(),
|
|
69
|
+
getZoom: jest.fn(),
|
|
70
|
+
deviceOrientationPermissionRequired: jest.fn(),
|
|
71
|
+
requestDeviceOrientationPermission: jest.fn()
|
|
72
|
+
},
|
|
73
|
+
subtitles: {
|
|
74
|
+
add: jest.fn(),
|
|
75
|
+
remove: jest.fn(),
|
|
76
|
+
list: jest.fn(),
|
|
77
|
+
enable: jest.fn(),
|
|
78
|
+
disable: jest.fn(),
|
|
79
|
+
cueEnter: jest.fn(),
|
|
80
|
+
cueExit: jest.fn()
|
|
81
|
+
},
|
|
82
|
+
drm: {
|
|
83
|
+
renewLicense: jest.fn()
|
|
84
|
+
},
|
|
85
|
+
exports: {
|
|
86
|
+
PlayerEvent: PlayerEvent,
|
|
87
|
+
LogLevel: LogLevel,
|
|
88
|
+
HttpRequestType: HttpRequestType,
|
|
89
|
+
HttpResponseType: HttpResponseType,
|
|
90
|
+
HttpRequestMethod: HttpRequestMethod,
|
|
91
|
+
MediaType: MediaType,
|
|
92
|
+
BufferType: BufferType,
|
|
93
|
+
AdQuartile: AdQuartile,
|
|
94
|
+
ViewMode: ViewMode,
|
|
95
|
+
WarningCode: WarningCode,
|
|
96
|
+
ErrorCode: ErrorCode,
|
|
97
|
+
PlayerError: PlayerError,
|
|
98
|
+
PlayerModuleMissingError: PlayerModuleMissingError,
|
|
99
|
+
PlayerAPINotAvailableError: PlayerAPINotAvailableError,
|
|
100
|
+
ModuleName: ModuleName,
|
|
101
|
+
SupportedTechnologyMode: SupportedTechnologyMode,
|
|
102
|
+
PlayerType: PlayerType
|
|
103
|
+
},
|
|
104
|
+
on: jest.fn(),
|
|
105
|
+
addMetadata: jest.fn(),
|
|
106
|
+
castStop: jest.fn(),
|
|
107
|
+
castVideo: jest.fn(),
|
|
108
|
+
clearQueryParameters: jest.fn(),
|
|
109
|
+
destroy: jest.fn(),
|
|
110
|
+
getAspectRatio: jest.fn(),
|
|
111
|
+
getAudio: jest.fn(),
|
|
112
|
+
getAudioBufferLength: jest.fn(),
|
|
113
|
+
getAudioQuality: jest.fn(),
|
|
114
|
+
getAvailableAudio: jest.fn(),
|
|
115
|
+
getAvailableAudioQualities: jest.fn(),
|
|
116
|
+
getAvailableVideoQualities: jest.fn(),
|
|
117
|
+
getConfig: jest.fn(),
|
|
118
|
+
getContainer: jest.fn(),
|
|
119
|
+
getCurrentTime: jest.fn(),
|
|
120
|
+
getDownloadedAudioData: jest.fn(),
|
|
121
|
+
getDownloadedVideoData: jest.fn(),
|
|
122
|
+
getDroppedVideoFrames: jest.fn(),
|
|
123
|
+
getDuration: jest.fn(),
|
|
124
|
+
getManifest: jest.fn(),
|
|
125
|
+
getMaxTimeShift: jest.fn(),
|
|
126
|
+
getPlaybackAudioData: jest.fn(),
|
|
127
|
+
getPlaybackSpeed: jest.fn(),
|
|
128
|
+
getPlaybackVideoData: jest.fn(),
|
|
129
|
+
getPlayerType: jest.fn(),
|
|
130
|
+
getSnapshot: jest.fn(),
|
|
131
|
+
getStreamType: jest.fn(),
|
|
132
|
+
getSupportedDRM: jest.fn(),
|
|
133
|
+
getSupportedTech: jest.fn(),
|
|
134
|
+
getThumbnail: jest.fn(),
|
|
135
|
+
getTimeShift: jest.fn(),
|
|
136
|
+
getTotalStalledTime: jest.fn(),
|
|
137
|
+
getVideoBufferLength: jest.fn(),
|
|
138
|
+
getVideoQuality: jest.fn(),
|
|
139
|
+
getVolume: jest.fn(),
|
|
140
|
+
hasEnded: jest.fn(),
|
|
141
|
+
isCastAvailable: jest.fn(),
|
|
142
|
+
isCasting: jest.fn(),
|
|
143
|
+
isDRMSupported: jest.fn(),
|
|
144
|
+
isLive: jest.fn(),
|
|
145
|
+
isMuted: jest.fn(),
|
|
146
|
+
isPaused: jest.fn(),
|
|
147
|
+
isPlaying: jest.fn(),
|
|
148
|
+
isStalled: jest.fn(),
|
|
149
|
+
load: jest.fn(),
|
|
150
|
+
mute: jest.fn(),
|
|
151
|
+
pause: jest.fn(),
|
|
152
|
+
play: jest.fn(),
|
|
153
|
+
off: jest.fn(),
|
|
154
|
+
getSeekableRange: jest.fn(),
|
|
155
|
+
seek: jest.fn(),
|
|
156
|
+
setAspectRatio: jest.fn(),
|
|
157
|
+
setAudio: jest.fn(),
|
|
158
|
+
setAudioQuality: jest.fn(),
|
|
159
|
+
setAuthentication: jest.fn(),
|
|
160
|
+
setPlaybackSpeed: jest.fn(),
|
|
161
|
+
setPosterImage: jest.fn(),
|
|
162
|
+
setQueryParameters: jest.fn(),
|
|
163
|
+
setVideoElement: jest.fn(),
|
|
164
|
+
setVideoQuality: jest.fn(),
|
|
165
|
+
setVolume: jest.fn(),
|
|
166
|
+
timeShift: jest.fn(),
|
|
167
|
+
unload: jest.fn(),
|
|
168
|
+
unmute: jest.fn(),
|
|
169
|
+
isAirplayAvailable: jest.fn(),
|
|
170
|
+
isAirplayActive: jest.fn(),
|
|
171
|
+
showAirplayTargetPicker: jest.fn(),
|
|
172
|
+
getBufferedRanges: jest.fn(),
|
|
173
|
+
getAvailableSegments: jest.fn(),
|
|
174
|
+
preload: jest.fn(),
|
|
175
|
+
setLogLevel: jest.fn(),
|
|
176
|
+
getVideoElement: jest.fn(),
|
|
177
|
+
isViewModeAvailable: jest.fn(),
|
|
178
|
+
setViewMode: jest.fn(),
|
|
179
|
+
getViewMode: jest.fn(),
|
|
180
|
+
getSource: jest.fn()
|
|
181
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { mockNpoPlayer } from './mockNpoplayer';
|
|
2
|
+
import { mockPlayerAPI } from './mockPlayerAPI';
|
|
3
|
+
export const mockPlayerContext = {
|
|
4
|
+
player: {
|
|
5
|
+
load: jest.fn(),
|
|
6
|
+
seek: jest.fn(),
|
|
7
|
+
getCurrentTime: mockNpoPlayer.player?.getCurrentTime || (() => 0),
|
|
8
|
+
play: jest.fn(),
|
|
9
|
+
pause: jest.fn(),
|
|
10
|
+
mute: jest.fn(),
|
|
11
|
+
unmute: jest.fn(),
|
|
12
|
+
isMuted: jest.fn().mockReturnValue(false),
|
|
13
|
+
isPaused: jest.fn().mockReturnValue(true),
|
|
14
|
+
on: jest.fn(),
|
|
15
|
+
off: jest.fn(),
|
|
16
|
+
setViewMode: jest.fn(),
|
|
17
|
+
getViewMode: jest.fn(),
|
|
18
|
+
getSupportedDRM: jest.fn(),
|
|
19
|
+
getSupportedTech: jest.fn(),
|
|
20
|
+
getTimeShift: jest.fn(),
|
|
21
|
+
getContainer: jest.fn(),
|
|
22
|
+
getNpoPlayerElement: jest.fn(),
|
|
23
|
+
addClassToNpoPlayerElement: jest.fn(),
|
|
24
|
+
removeClassFromNpoPlayerElement: jest.fn(),
|
|
25
|
+
playerAPI: mockPlayerAPI,
|
|
26
|
+
getVolume: function () {
|
|
27
|
+
throw new Error('Function not implemented.');
|
|
28
|
+
},
|
|
29
|
+
setVolume: function (level) {
|
|
30
|
+
throw new Error('Function not implemented.');
|
|
31
|
+
},
|
|
32
|
+
areSubtitlesEnabled: function () {
|
|
33
|
+
throw new Error('Function not implemented.');
|
|
34
|
+
},
|
|
35
|
+
enableSubtitles: function () {
|
|
36
|
+
throw new Error('Function not implemented.');
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
npoplayer: mockNpoPlayer
|
|
40
|
+
};
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
export declare enum PlayerEvent {
|
|
2
|
+
Ready = "ready",
|
|
3
|
+
Play = "play",
|
|
4
|
+
Playing = "playing",
|
|
5
|
+
Paused = "paused",
|
|
6
|
+
Seek = "seek",
|
|
7
|
+
Seeked = "seeked",
|
|
8
|
+
TimeShift = "timeshift",
|
|
9
|
+
TimeShifted = "timeshifted",
|
|
10
|
+
VolumeChanged = "volumechanged",
|
|
11
|
+
Muted = "muted",
|
|
12
|
+
Unmuted = "unmuted",
|
|
13
|
+
PlayerResized = "playerresized",
|
|
14
|
+
PlaybackFinished = "playbackfinished",
|
|
15
|
+
Error = "error",
|
|
16
|
+
Warning = "warning",
|
|
17
|
+
StallStarted = "stallstarted",
|
|
18
|
+
StallEnded = "stallended",
|
|
19
|
+
AudioChanged = "audiochanged",
|
|
20
|
+
AudioAdded = "audioadded",
|
|
21
|
+
AudioRemoved = "audioremoved",
|
|
22
|
+
VideoQualityChanged = "videoqualitychanged",
|
|
23
|
+
AudioQualityChanged = "audioqualitychanged",
|
|
24
|
+
VideoDownloadQualityChange = "videodownloadqualitychange",
|
|
25
|
+
AudioDownloadQualityChange = "audiodownloadqualitychange",
|
|
26
|
+
VideoDownloadQualityChanged = "videodownloadqualitychanged",
|
|
27
|
+
AudioDownloadQualityChanged = "audiodownloadqualitychanged",
|
|
28
|
+
VideoPlaybackQualityChanged = "videoplaybackqualitychanged",
|
|
29
|
+
AudioPlaybackQualityChanged = "audioplaybackqualitychanged",
|
|
30
|
+
TimeChanged = "timechanged",
|
|
31
|
+
CueParsed = "cueparsed",
|
|
32
|
+
CueEnter = "cueenter",
|
|
33
|
+
CueUpdate = "cueupdate",
|
|
34
|
+
CueExit = "cueexit",
|
|
35
|
+
SegmentPlayback = "segmentplayback",
|
|
36
|
+
Metadata = "metadata",
|
|
37
|
+
MetadataParsed = "metadataparsed",
|
|
38
|
+
MetadataChanged = "metadatachanged",
|
|
39
|
+
VideoAdaptation = "videoadaptation",
|
|
40
|
+
AudioAdaptation = "audioadaptation",
|
|
41
|
+
DownloadFinished = "downloadfinished",
|
|
42
|
+
SegmentRequestFinished = "segmentrequestfinished",
|
|
43
|
+
AdManifestLoaded = "admanifestloaded",
|
|
44
|
+
AdStarted = "adstarted",
|
|
45
|
+
OverlayAdStarted = "overlayadstarted",
|
|
46
|
+
AdQuartile = "adquartile",
|
|
47
|
+
AdSkipped = "adskipped",
|
|
48
|
+
AdClicked = "adclicked",
|
|
49
|
+
AdInteraction = "adinteraction",
|
|
50
|
+
AdLinearityChanged = "adlinearitychanged",
|
|
51
|
+
AdBreakStarted = "adbreakstarted",
|
|
52
|
+
AdBreakFinished = "adbreakfinished",
|
|
53
|
+
AdFinished = "adfinished",
|
|
54
|
+
AdError = "aderror",
|
|
55
|
+
VRViewingDirectionChange = "vrviewingdirectionchange",
|
|
56
|
+
VRViewingDirectionChanged = "vrviewingdirectionchanged",
|
|
57
|
+
VRStereoChanged = "vrstereochanged",
|
|
58
|
+
CastAvailable = "castavailable",
|
|
59
|
+
CastStopped = "caststopped",
|
|
60
|
+
CastStart = "caststart",
|
|
61
|
+
CastStarted = "caststarted",
|
|
62
|
+
CastWaitingForDevice = "castwaitingfordevice",
|
|
63
|
+
SourceLoaded = "sourceloaded",
|
|
64
|
+
SourceUnloaded = "sourceunloaded",
|
|
65
|
+
PeriodSwitch = "periodswitch",
|
|
66
|
+
PeriodSwitched = "periodswitched",
|
|
67
|
+
DVRWindowExceeded = "dvrwindowexceeded",
|
|
68
|
+
SubtitleAdded = "subtitleadded",
|
|
69
|
+
SubtitleRemoved = "subtitleremoved",
|
|
70
|
+
ShowAirplayTargetPicker = "showairplaytargetpicker",
|
|
71
|
+
AirplayAvailable = "airplayavailable",
|
|
72
|
+
AirplayChanged = "airplaychanged",
|
|
73
|
+
Destroy = "destroy",
|
|
74
|
+
PlaybackSpeedChanged = "playbackspeedchanged",
|
|
75
|
+
DurationChanged = "durationchanged",
|
|
76
|
+
ViewModeChanged = "viewmodechanged",
|
|
77
|
+
ModuleReady = "moduleready",
|
|
78
|
+
SubtitleEnable = "subtitleenable",
|
|
79
|
+
SubtitleEnabled = "subtitleenabled",
|
|
80
|
+
SubtitleDisable = "subtitledisable",
|
|
81
|
+
SubtitleDisabled = "subtitledisabled",
|
|
82
|
+
VideoQualityAdded = "videoqualityadded",
|
|
83
|
+
VideoQualityRemoved = "videoqualityremoved",
|
|
84
|
+
AudioQualityAdded = "audioqualityadded",
|
|
85
|
+
AudioQualityRemoved = "audioqualityremoved",
|
|
86
|
+
TargetLatencyChanged = "targetlatencychanged",
|
|
87
|
+
LatencyModeChanged = "latencymodechanged",
|
|
88
|
+
LicenseValidated = "licensevalidated",
|
|
89
|
+
DrmLicenseAdded = "drmlicenseadded",
|
|
90
|
+
AspectRatioChanged = "aspectratiochanged"
|
|
91
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,11 +1,24 @@
|
|
|
1
|
-
import { type SourceConfig } from 'bitmovin-player';
|
|
1
|
+
import { PlayerEventCallback, type SourceConfig } from 'bitmovin-player';
|
|
2
2
|
import { type ErrorMessageOverlay, type Label, ControlBar, SettingsPanelItem, Button, SeekBar, CastToggleButton, SettingsPanel } from 'bitmovin-player-ui';
|
|
3
3
|
import { type NPOTag, type PageTracker } from '@npotag/tag';
|
|
4
4
|
import { ButtonConfig } from 'bitmovin-player-ui/dist/js/framework/components/button';
|
|
5
|
+
import NpoPlayer from '../npoplayer';
|
|
6
|
+
import { NpoPlayerAPI } from '../services/npoPlayerAPI/npoPlayerAPI';
|
|
7
|
+
export { Technology } from 'bitmovin-player';
|
|
5
8
|
export interface Profile {
|
|
6
9
|
profileName: string;
|
|
7
10
|
drm: string;
|
|
8
11
|
}
|
|
12
|
+
export interface Segment {
|
|
13
|
+
inpoint: number;
|
|
14
|
+
outpoint: number;
|
|
15
|
+
duration: number;
|
|
16
|
+
}
|
|
17
|
+
export interface EventListeners {
|
|
18
|
+
liveStreamHandleTimeChangedCallback?: PlayerEventCallback;
|
|
19
|
+
segmentHandleTimeChangedCallback?: PlayerEventCallback;
|
|
20
|
+
segmentSeekFunctionCallback?: PlayerEventCallback;
|
|
21
|
+
}
|
|
9
22
|
export interface StreamObject {
|
|
10
23
|
stream: StreamObject_Stream;
|
|
11
24
|
metadata: StreamObject_Metadata;
|
|
@@ -13,6 +26,11 @@ export interface StreamObject {
|
|
|
13
26
|
user: {
|
|
14
27
|
type: 'plus' | 'anonymous';
|
|
15
28
|
};
|
|
29
|
+
segment?: Segment;
|
|
30
|
+
}
|
|
31
|
+
export interface PlayerContext {
|
|
32
|
+
player: NpoPlayerAPI;
|
|
33
|
+
npoplayer: NpoPlayer;
|
|
16
34
|
}
|
|
17
35
|
export interface ApiPayload {
|
|
18
36
|
baseURL: string;
|
|
@@ -34,7 +52,7 @@ export interface DRMProfile {
|
|
|
34
52
|
export interface NPOTagObject {
|
|
35
53
|
npoTagInstance: NPOTag | undefined;
|
|
36
54
|
heartbeatInterval: number | undefined;
|
|
37
|
-
pageTracker: PageTracker |
|
|
55
|
+
pageTracker: PageTracker | undefined;
|
|
38
56
|
}
|
|
39
57
|
interface StreamObject_Stream {
|
|
40
58
|
avType: string;
|
|
@@ -53,7 +71,7 @@ interface Subtitle {
|
|
|
53
71
|
}
|
|
54
72
|
interface StreamObject_Assets {
|
|
55
73
|
scrubbingThumbnail: string;
|
|
56
|
-
subtitles: Subtitle[] |
|
|
74
|
+
subtitles: Subtitle[] | undefined;
|
|
57
75
|
preroll?: string;
|
|
58
76
|
}
|
|
59
77
|
export interface StreamObject_Metadata {
|
|
@@ -75,21 +93,17 @@ export interface StreamObject_Metadata {
|
|
|
75
93
|
title: string;
|
|
76
94
|
hasPreroll?: string;
|
|
77
95
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
end: number;
|
|
96
|
+
interface FragmentSection {
|
|
97
|
+
time: number;
|
|
98
|
+
duration: number;
|
|
82
99
|
title: string;
|
|
83
100
|
}
|
|
84
|
-
export interface
|
|
85
|
-
sections:
|
|
86
|
-
startAtBeginOfFragment?: boolean;
|
|
87
|
-
startAtFragment?: number;
|
|
88
|
-
stopAtEndOfFragment?: boolean;
|
|
101
|
+
export interface Fragment {
|
|
102
|
+
sections: FragmentSection[];
|
|
89
103
|
}
|
|
90
104
|
export interface StreamOptions {
|
|
91
105
|
sourceConfig?: SourceConfig;
|
|
92
|
-
fragments?:
|
|
106
|
+
fragments?: Fragment;
|
|
93
107
|
startOffset?: number;
|
|
94
108
|
liveOffset?: boolean;
|
|
95
109
|
liveProgramTime?: number;
|
|
@@ -121,7 +135,7 @@ export interface UIComponents {
|
|
|
121
135
|
}> | undefined;
|
|
122
136
|
seekBar?: SeekBar | undefined;
|
|
123
137
|
chromeCastButton?: CastToggleButton | undefined;
|
|
124
|
-
|
|
138
|
+
settingsPanels?: SettingsPanel[] | undefined;
|
|
125
139
|
}
|
|
126
140
|
export interface CustomMessageHandlerInterface {
|
|
127
141
|
defaultActionRequired?: boolean;
|
|
@@ -166,6 +180,11 @@ export declare enum NpoPlayerUIVariants {
|
|
|
166
180
|
AUDIO = "audio",
|
|
167
181
|
AD = "ad"
|
|
168
182
|
}
|
|
183
|
+
export declare enum ViewMode {
|
|
184
|
+
Inline = "inline",
|
|
185
|
+
Fullscreen = "fullscreen",
|
|
186
|
+
PictureInPicture = "pictureinpicture"
|
|
187
|
+
}
|
|
169
188
|
export interface PlayNext {
|
|
170
189
|
showPlayNext?: boolean;
|
|
171
190
|
duration?: number;
|
|
@@ -179,4 +198,9 @@ export type TimeLineMarker = {
|
|
|
179
198
|
duration?: number;
|
|
180
199
|
cssClasses?: string[];
|
|
181
200
|
};
|
|
182
|
-
export {
|
|
201
|
+
export declare enum LocalStorageValues {
|
|
202
|
+
IS_MUTED = "ismuted",
|
|
203
|
+
VOLUME = "volume",
|
|
204
|
+
SUBTITLES_ENABLED = "subtitles_enabled"
|
|
205
|
+
}
|
|
206
|
+
export type LocalStorageData = Partial<Record<LocalStorageValues, string | number>>;
|
package/lib/types/interfaces.js
CHANGED
|
@@ -31,3 +31,15 @@ export var NpoPlayerUIVariants;
|
|
|
31
31
|
NpoPlayerUIVariants["AUDIO"] = "audio";
|
|
32
32
|
NpoPlayerUIVariants["AD"] = "ad";
|
|
33
33
|
})(NpoPlayerUIVariants || (NpoPlayerUIVariants = {}));
|
|
34
|
+
export var ViewMode;
|
|
35
|
+
(function (ViewMode) {
|
|
36
|
+
ViewMode["Inline"] = "inline";
|
|
37
|
+
ViewMode["Fullscreen"] = "fullscreen";
|
|
38
|
+
ViewMode["PictureInPicture"] = "pictureinpicture";
|
|
39
|
+
})(ViewMode || (ViewMode = {}));
|
|
40
|
+
export var LocalStorageValues;
|
|
41
|
+
(function (LocalStorageValues) {
|
|
42
|
+
LocalStorageValues["IS_MUTED"] = "ismuted";
|
|
43
|
+
LocalStorageValues["VOLUME"] = "volume";
|
|
44
|
+
LocalStorageValues["SUBTITLES_ENABLED"] = "subtitles_enabled";
|
|
45
|
+
})(LocalStorageValues || (LocalStorageValues = {}));
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { type PlayerAPI } from 'bitmovin-player';
|
|
2
2
|
import { Button, ControlBar } from 'bitmovin-player-ui';
|
|
3
|
-
import type NpoPlayer from '
|
|
3
|
+
import type NpoPlayer from '../../npoplayer';
|
|
4
4
|
export declare function createMiddleButtons(player: PlayerAPI): ControlBar;
|
|
5
|
-
export declare function createRewindButton(player: PlayerAPI |
|
|
5
|
+
export declare function createRewindButton(player: PlayerAPI | undefined): Button<{
|
|
6
6
|
cssClass: string;
|
|
7
7
|
ariaLabel: string;
|
|
8
8
|
}>;
|
|
9
|
-
export declare function createForwardButton(player: PlayerAPI |
|
|
9
|
+
export declare function createForwardButton(player: PlayerAPI | undefined): Button<{
|
|
10
10
|
cssClass: string;
|
|
11
11
|
ariaLabel: string;
|
|
12
12
|
}>;
|
|
@@ -14,7 +14,7 @@ export function createMiddleButtons(player) {
|
|
|
14
14
|
export function createRewindButton(player) {
|
|
15
15
|
const rewindButton = new Button({
|
|
16
16
|
cssClass: 'ui-rewindbutton bmpui-ui-button',
|
|
17
|
-
ariaLabel: 'Spoel 10 seconden terug'
|
|
17
|
+
ariaLabel: 'Spoel 10 seconden terug'
|
|
18
18
|
});
|
|
19
19
|
if (player) {
|
|
20
20
|
rewindButton.onClick.subscribe(() => {
|
|
@@ -26,7 +26,7 @@ export function createRewindButton(player) {
|
|
|
26
26
|
export function createForwardButton(player) {
|
|
27
27
|
const forwardButton = new Button({
|
|
28
28
|
cssClass: 'ui-forwardbutton bmpui-ui-button',
|
|
29
|
-
ariaLabel: 'Spoel 10 seconden vooruit'
|
|
29
|
+
ariaLabel: 'Spoel 10 seconden vooruit'
|
|
30
30
|
});
|
|
31
31
|
if (player) {
|
|
32
32
|
forwardButton.onClick.subscribe(() => {
|
|
@@ -43,7 +43,7 @@ export function createPlayNextButton(player, npoplayer) {
|
|
|
43
43
|
hidden: false
|
|
44
44
|
});
|
|
45
45
|
playNextButton.onClick.subscribe(() => {
|
|
46
|
-
if (player !=
|
|
46
|
+
if (player != undefined) {
|
|
47
47
|
npoplayer.doPlayNext();
|
|
48
48
|
}
|
|
49
49
|
});
|
|
@@ -57,7 +57,7 @@ export function createCancelPlayNextButton(player, npoplayer) {
|
|
|
57
57
|
hidden: false
|
|
58
58
|
});
|
|
59
59
|
cancelPlayNextButton.onClick.subscribe(() => {
|
|
60
|
-
if (player !=
|
|
60
|
+
if (player != undefined) {
|
|
61
61
|
npoplayer.cancelPlayNextScreen();
|
|
62
62
|
}
|
|
63
63
|
});
|
|
@@ -71,7 +71,7 @@ export function createskipIntroButton(player) {
|
|
|
71
71
|
hidden: true
|
|
72
72
|
});
|
|
73
73
|
skipIntroButton.onClick.subscribe(() => {
|
|
74
|
-
if (player !=
|
|
74
|
+
if (player != undefined) {
|
|
75
75
|
player.seek(96);
|
|
76
76
|
}
|
|
77
77
|
});
|
|
@@ -85,7 +85,7 @@ export function createGoBackLiveButton(player) {
|
|
|
85
85
|
hidden: true
|
|
86
86
|
});
|
|
87
87
|
goBackLiveButton.onClick.subscribe(() => {
|
|
88
|
-
if (player !=
|
|
88
|
+
if (player != undefined && player.isLive()) {
|
|
89
89
|
player.timeShift(0);
|
|
90
90
|
}
|
|
91
91
|
});
|
|
@@ -99,7 +99,7 @@ export function createWatchFromStartButton(player, npoplayer) {
|
|
|
99
99
|
hidden: true
|
|
100
100
|
});
|
|
101
101
|
watchFromStartButton.onClick.subscribe(() => {
|
|
102
|
-
if (
|
|
102
|
+
if (player.isLive() ?? false)
|
|
103
103
|
npoplayer.watchFromStart();
|
|
104
104
|
if (npoplayer.uiComponents.watchFromStartButton)
|
|
105
105
|
npoplayer.uiComponents.watchFromStartButton.hide();
|
|
@@ -2,7 +2,8 @@ import { ControlBar, Container, SeekBar, SeekBarLabel, PlaybackToggleButton, Vol
|
|
|
2
2
|
import { PlayerEvent } from 'bitmovin-player';
|
|
3
3
|
import { createForwardButton, createRewindButton } from './buttons';
|
|
4
4
|
import { createSeekBar } from './seekbar';
|
|
5
|
-
|
|
5
|
+
import { createSettingsPanel } from './settingspanel';
|
|
6
|
+
export function createControlBar(npoplayer) {
|
|
6
7
|
const player = npoplayer.player;
|
|
7
8
|
const rewindButton = createRewindButton(player);
|
|
8
9
|
const forwardButton = createForwardButton(player);
|
|
@@ -16,6 +17,7 @@ export function createControlBar(npoplayer, settingsPanel) {
|
|
|
16
17
|
chromeCastButton.show();
|
|
17
18
|
}
|
|
18
19
|
});
|
|
20
|
+
const settingsPanel = createSettingsPanel(npoplayer);
|
|
19
21
|
const controlbar = new ControlBar({
|
|
20
22
|
components: [
|
|
21
23
|
createSeekBar(npoplayer),
|
|
@@ -27,10 +29,11 @@ export function createControlBar(npoplayer, settingsPanel) {
|
|
|
27
29
|
rewindButton,
|
|
28
30
|
forwardButton,
|
|
29
31
|
new Spacer(),
|
|
30
|
-
|
|
32
|
+
new PictureInPictureToggleButton(),
|
|
31
33
|
new AirPlayToggleButton(),
|
|
32
34
|
chromeCastButton,
|
|
33
35
|
new SettingsToggleButton({ settingsPanel }),
|
|
36
|
+
settingsPanel,
|
|
34
37
|
new FullscreenToggleButton()
|
|
35
38
|
],
|
|
36
39
|
cssClasses: ['controlbar-bottom']
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Button, Container, Label } from 'bitmovin-player-ui';
|
|
2
|
-
import type NpoPlayer from '
|
|
2
|
+
import type NpoPlayer from '../../npoplayer';
|
|
3
3
|
import { type PlayerAPI } from 'bitmovin-player';
|
|
4
4
|
import { ButtonConfig } from 'bitmovin-player-ui/dist/js/framework/components/button';
|
|
5
5
|
import { LabelConfig } from 'bitmovin-player-ui/dist/js/framework/components/label';
|
|
6
|
-
import { NpoPlayerUIVariants } from '
|
|
6
|
+
import { NpoPlayerUIVariants } from '../../types/interfaces';
|
|
7
7
|
export declare function createCTABar(player: PlayerAPI, npoplayer: NpoPlayer, variant: NpoPlayerUIVariants): Container<{
|
|
8
|
-
components: (
|
|
8
|
+
components: (Button<ButtonConfig> | Label<LabelConfig>)[];
|
|
9
9
|
cssClasses: string[];
|
|
10
10
|
}>;
|
|
@@ -2,20 +2,18 @@ import { Container } from 'bitmovin-player-ui';
|
|
|
2
2
|
import { createGoBackLiveButton, createWatchFromStartButton } from './buttons';
|
|
3
3
|
import { createAdButton } from './adbutton';
|
|
4
4
|
import { createAdLabel } from './adlabel';
|
|
5
|
-
import { NpoPlayerUIVariants } from '
|
|
5
|
+
import { NpoPlayerUIVariants } from '../../types/interfaces';
|
|
6
6
|
export function createCTABar(player, npoplayer, variant) {
|
|
7
|
-
|
|
7
|
+
const barComponents = [];
|
|
8
8
|
if (variant === NpoPlayerUIVariants.DEFAULT) {
|
|
9
9
|
const goBackLiveButton = createGoBackLiveButton(player);
|
|
10
10
|
const watchFromStartButton = createWatchFromStartButton(player, npoplayer);
|
|
11
|
-
barComponents.push(watchFromStartButton);
|
|
12
|
-
barComponents.push(goBackLiveButton);
|
|
11
|
+
barComponents.push(watchFromStartButton, goBackLiveButton);
|
|
13
12
|
}
|
|
14
13
|
if (variant === NpoPlayerUIVariants.AD) {
|
|
15
14
|
const adLabel = createAdLabel(npoplayer);
|
|
16
15
|
const adButton = createAdButton(npoplayer);
|
|
17
|
-
barComponents.push(adLabel);
|
|
18
|
-
barComponents.push(adButton);
|
|
16
|
+
barComponents.push(adLabel, adButton);
|
|
19
17
|
adLabel.hide();
|
|
20
18
|
}
|
|
21
19
|
return new Container({
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { AirPlayToggleButton, Button, CastToggleButton, ControlBar, FullscreenToggleButton, PictureInPictureToggleButton, PlaybackToggleButton, SettingsToggleButton, VolumeToggleButton } from 'bitmovin-player-ui';
|
|
2
2
|
import { sendCustomMessage } from '../../nativemobileuicontainer';
|
|
3
|
-
import { CustomMessages } from '
|
|
3
|
+
import { CustomMessages } from '../../../types/interfaces';
|
|
4
4
|
import { ViewMode } from 'bitmovin-player';
|
|
5
|
-
import { createForwardButton, createRewindButton } from '
|
|
5
|
+
import { createForwardButton, createRewindButton } from '../buttons';
|
|
6
|
+
const watchFromStartButtonClickHandler = () => {
|
|
7
|
+
sendCustomMessage(CustomMessages.CLICK_WATCH_FROM_START);
|
|
8
|
+
};
|
|
6
9
|
function createBigPlayToggleButton() {
|
|
7
10
|
const bigPlayToggleButton = new PlaybackToggleButton({
|
|
8
11
|
cssClass: 'ui-playbacktogglebutton'
|
|
@@ -36,9 +39,6 @@ export function createWatchFromStartButton() {
|
|
|
36
39
|
ariaLabel: 'Kijk vanaf het begin',
|
|
37
40
|
hidden: true
|
|
38
41
|
});
|
|
39
|
-
const watchFromStartButtonClickHandler = () => {
|
|
40
|
-
sendCustomMessage(CustomMessages.CLICK_WATCH_FROM_START);
|
|
41
|
-
};
|
|
42
42
|
watchFromStartButton.onClick.subscribe(() => {
|
|
43
43
|
watchFromStartButtonClickHandler();
|
|
44
44
|
});
|
|
@@ -74,7 +74,9 @@ export function createSettingsButton(settingsPanel) {
|
|
|
74
74
|
if (!customSettingsToggleButton || !settingsPanel)
|
|
75
75
|
return;
|
|
76
76
|
const clickPromise = new Promise((resolve, reject) => {
|
|
77
|
-
const result = sendCustomMessage(CustomMessages.TOGGLE_SETTINGS_PANEL, {
|
|
77
|
+
const result = sendCustomMessage(CustomMessages.TOGGLE_SETTINGS_PANEL, {
|
|
78
|
+
isChecked: !settingsPanel.isShown()
|
|
79
|
+
});
|
|
78
80
|
if (result.defaultActionRequired === true) {
|
|
79
81
|
reject(result);
|
|
80
82
|
}
|