@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.
Files changed (415) hide show
  1. package/README.md +1 -1
  2. package/lib/js/ads/ster.js +23 -21
  3. package/lib/js/ads/ster.test.js +17 -17
  4. package/lib/js/api/getstreamobject.js +7 -7
  5. package/lib/js/api/getstreamobject.test.js +3 -3
  6. package/lib/js/markers/updateLiveMarkers.d.ts +3 -3
  7. package/lib/js/markers/updateLiveMarkers.js +14 -15
  8. package/lib/js/markers/updateLiveMarkers.test.js +11 -12
  9. package/lib/js/playeractions/customerrors.test.js +33 -33
  10. package/lib/js/playeractions/handlers/customerrors.js +48 -48
  11. package/lib/js/playeractions/handlers/error.js +1 -1
  12. package/lib/js/playeractions/handlers/error.test.js +11 -11
  13. package/lib/js/playeractions/handlers/handleoffsets.d.ts +2 -2
  14. package/lib/js/playeractions/handlers/handleoffsets.js +6 -6
  15. package/lib/js/playeractions/handlers/handleoffsets.test.js +12 -12
  16. package/lib/js/playeractions/handlers/mediasessionactions.d.ts +1 -1
  17. package/lib/js/playeractions/handlers/mediasessionactions.js +20 -15
  18. package/lib/js/playeractions/handlers/processplayerconfig.d.ts +2 -2
  19. package/lib/js/playeractions/handlers/processplayerconfig.js +4 -4
  20. package/lib/js/playeractions/handlers/processsourceconfig.d.ts +2 -1
  21. package/lib/js/playeractions/handlers/processsourceconfig.js +52 -46
  22. package/lib/js/playeractions/handlers/removereplayclass.d.ts +1 -1
  23. package/lib/js/playeractions/handlers/removereplayclass.test.d.ts +1 -1
  24. package/lib/js/playeractions/handlers/removereplayclass.test.js +7 -6
  25. package/lib/js/playeractions/playeractions.d.ts +4 -5
  26. package/lib/js/playeractions/playeractions.js +4 -5
  27. package/lib/js/settings/settings.user-agent.d.ts +1 -0
  28. package/lib/js/settings/settings.user-agent.js +1 -0
  29. package/lib/js/tracking/handlers/eventbinding.js +9 -9
  30. package/lib/js/tracking/handlers/eventlogging.js +2 -2
  31. package/lib/js/tracking/handlers/eventlogging.test.js +2 -2
  32. package/lib/js/tracking/handlers/playertrackerinit.d.ts +1 -1
  33. package/lib/js/tracking/handlers/playertrackerinit.js +5 -11
  34. package/lib/js/tracking/handlers/playertrackerstart.d.ts +1 -1
  35. package/lib/js/tracking/handlers/playertrackerstart.js +5 -10
  36. package/lib/js/utilities/utilities.element.d.ts +10 -0
  37. package/lib/js/utilities/utilities.element.js +8 -0
  38. package/lib/js/utilities/utilities.element.test.js +25 -0
  39. package/lib/js/utilities/utilities.jwt.d.ts +3 -0
  40. package/lib/js/utilities/utilities.jwt.js +22 -0
  41. package/lib/js/utilities/utilities.jwt.test.js +32 -0
  42. package/lib/js/utilities/utilities.locale.d.ts +2 -0
  43. package/lib/js/utilities/utilities.locale.js +4 -0
  44. package/lib/js/utilities/utilities.locale.test.js +10 -0
  45. package/lib/js/utilities/utilities.module.d.ts +1 -0
  46. package/lib/js/utilities/utilities.module.js +4 -0
  47. package/lib/js/utilities/utilities.module.test.js +19 -0
  48. package/lib/js/utilities/utilities.stream.d.ts +7 -0
  49. package/lib/js/utilities/utilities.stream.js +10 -0
  50. package/lib/js/utilities/utilities.stream.test.js +32 -0
  51. package/lib/js/utilities/utilities.text.d.ts +1 -0
  52. package/lib/js/utilities/utilities.text.js +3 -0
  53. package/lib/js/utilities/utilities.text.test.js +18 -0
  54. package/lib/js/utilities/utilities.time.d.ts +1 -0
  55. package/lib/js/utilities/utilities.time.js +3 -0
  56. package/lib/js/utilities/utilities.time.test.js +8 -0
  57. package/lib/js/utilities/utilities.url.d.ts +3 -0
  58. package/lib/js/utilities/utilities.url.js +29 -0
  59. package/lib/js/utilities/utilities.url.test.js +46 -0
  60. package/lib/js/utilities/utilities.user-agent.d.ts +3 -0
  61. package/lib/js/utilities/utilities.user-agent.js +13 -0
  62. package/lib/js/utilities/utilities.user-agent.test.js +60 -0
  63. package/lib/js/utilities/utilities.version.d.ts +1 -0
  64. package/lib/js/utilities/{printversion.js → utilities.version.js} +8 -8
  65. package/lib/js/utilities/utilities.version.test.js +26 -0
  66. package/lib/lang/nl.json +2 -1
  67. package/lib/npoplayer-bridge.test.d.ts +1 -1
  68. package/lib/npoplayer-bridge.test.js +6 -5
  69. package/lib/npoplayer.d.ts +14 -10
  70. package/lib/npoplayer.js +116 -124
  71. package/lib/npoplayer.test.js +3 -3
  72. package/lib/package.json +19 -12
  73. package/lib/services/a11y/setup.d.ts +2 -0
  74. package/lib/services/a11y/setup.js +18 -0
  75. package/lib/services/a11y/setup.test.js +109 -0
  76. package/lib/services/avTypeHandlers/getAVType.d.ts +2 -0
  77. package/lib/services/avTypeHandlers/getAVType.js +9 -0
  78. package/lib/services/avTypeHandlers/getAVType.test.js +18 -0
  79. package/lib/services/drmHandlers/constants.d.ts +15 -0
  80. package/lib/services/drmHandlers/constants.js +13 -0
  81. package/lib/services/drmHandlers/decideprofile.d.ts +2 -0
  82. package/lib/services/drmHandlers/decideprofile.js +51 -0
  83. package/lib/services/drmHandlers/decideprofile.test.js +34 -0
  84. package/lib/services/drmHandlers/drmhandlers.d.ts +2 -0
  85. package/lib/services/drmHandlers/drmhandlers.js +2 -0
  86. package/lib/services/drmHandlers/utils.d.ts +5 -0
  87. package/lib/services/drmHandlers/utils.js +26 -0
  88. package/lib/services/drmHandlers/utils.test.js +74 -0
  89. package/lib/services/drmHandlers/verifydrm.d.ts +2 -0
  90. package/lib/services/drmHandlers/verifydrm.js +40 -0
  91. package/lib/services/drmHandlers/verifydrm.test.js +89 -0
  92. package/lib/services/eventListenerHandlers/removeEventListeners.d.ts +2 -0
  93. package/lib/services/eventListenerHandlers/removeEventListeners.js +18 -0
  94. package/lib/services/eventListenerHandlers/removeEventListeners.test.js +27 -0
  95. package/lib/services/keyboardHandlers/resolvekeypress.d.ts +2 -0
  96. package/lib/services/keyboardHandlers/resolvekeypress.js +49 -0
  97. package/lib/{js/playeractions/handlers → services/keyboardHandlers}/resolvekeypress.test.js +21 -13
  98. package/lib/services/liveStreamHandlers/handleLiveStreamControls.d.ts +6 -0
  99. package/lib/services/liveStreamHandlers/handleLiveStreamControls.js +35 -0
  100. package/lib/services/localStorageHandlers/localStorageHandlers.d.ts +4 -0
  101. package/lib/services/localStorageHandlers/localStorageHandlers.js +33 -0
  102. package/lib/services/localStorageHandlers/localStorageHandlers.test.js +109 -0
  103. package/lib/services/npoPlayerAPI/npoPlayerAPI.d.ts +30 -0
  104. package/lib/services/npoPlayerAPI/npoPlayerAPI.js +91 -0
  105. package/lib/services/npoPlayerAPI/npoPlayerAPI.test.js +51 -0
  106. package/lib/services/segmentHandlers/addSegmentEventListeners.d.ts +2 -0
  107. package/lib/services/segmentHandlers/addSegmentEventListeners.js +14 -0
  108. package/lib/services/segmentHandlers/addSegmentEventListeners.test.js +43 -0
  109. package/lib/services/segmentHandlers/convertFragmentToSegment.d.ts +2 -0
  110. package/lib/services/segmentHandlers/convertFragmentToSegment.js +8 -0
  111. package/lib/services/segmentHandlers/convertFragmentToSegment.test.js +17 -0
  112. package/lib/services/segmentHandlers/handleSegmentSeek.d.ts +5 -0
  113. package/lib/services/segmentHandlers/handleSegmentSeek.js +15 -0
  114. package/lib/services/segmentHandlers/handleSegmentSeek.test.js +73 -0
  115. package/lib/services/segmentHandlers/handleSegmentTimeChanged.d.ts +2 -0
  116. package/lib/services/segmentHandlers/handleSegmentTimeChanged.js +21 -0
  117. package/lib/services/segmentHandlers/handleSegmentTimeChanged.test.d.ts +1 -0
  118. package/lib/services/segmentHandlers/handleSegmentTimeChanged.test.js +34 -0
  119. package/lib/services/segmentHandlers/initSegment.d.ts +7 -0
  120. package/lib/services/segmentHandlers/initSegment.js +10 -0
  121. package/lib/services/segmentHandlers/initSegment.test.d.ts +1 -0
  122. package/lib/services/segmentHandlers/initSegment.test.js +36 -0
  123. package/lib/services/segmentHandlers/setSegmentMarkers.d.ts +2 -0
  124. package/lib/services/segmentHandlers/setSegmentMarkers.js +25 -0
  125. package/lib/services/segmentHandlers/setSegmentMarkers.test.d.ts +1 -0
  126. package/lib/services/segmentHandlers/setSegmentMarkers.test.js +32 -0
  127. package/lib/services/services.d.ts +14 -0
  128. package/lib/services/services.js +47 -0
  129. package/lib/src/js/markers/updateLiveMarkers.d.ts +3 -3
  130. package/lib/src/js/playeractions/handlers/handleoffsets.d.ts +2 -2
  131. package/lib/src/js/playeractions/handlers/mediasessionactions.d.ts +1 -1
  132. package/lib/src/js/playeractions/handlers/processplayerconfig.d.ts +2 -2
  133. package/lib/src/js/playeractions/handlers/processsourceconfig.d.ts +2 -1
  134. package/lib/src/js/playeractions/handlers/removereplayclass.d.ts +1 -1
  135. package/lib/src/js/playeractions/handlers/removereplayclass.test.d.ts +1 -1
  136. package/lib/src/js/playeractions/playeractions.d.ts +4 -5
  137. package/lib/src/js/settings/settings.user-agent.d.ts +1 -0
  138. package/lib/src/js/tracking/handlers/playertrackerinit.d.ts +1 -1
  139. package/lib/src/js/tracking/handlers/playertrackerstart.d.ts +1 -1
  140. package/lib/src/js/utilities/utilities.element.d.ts +10 -0
  141. package/lib/src/js/utilities/utilities.element.test.d.ts +1 -0
  142. package/lib/src/js/utilities/utilities.jwt.d.ts +3 -0
  143. package/lib/src/js/utilities/utilities.jwt.test.d.ts +1 -0
  144. package/lib/src/js/utilities/utilities.locale.d.ts +2 -0
  145. package/lib/src/js/utilities/utilities.locale.test.d.ts +1 -0
  146. package/lib/src/js/utilities/utilities.module.d.ts +1 -0
  147. package/lib/src/js/utilities/utilities.module.test.d.ts +1 -0
  148. package/lib/src/js/utilities/utilities.stream.d.ts +7 -0
  149. package/lib/src/js/utilities/utilities.stream.test.d.ts +1 -0
  150. package/lib/src/js/utilities/utilities.text.d.ts +1 -0
  151. package/lib/src/js/utilities/utilities.text.test.d.ts +1 -0
  152. package/lib/src/js/utilities/utilities.time.d.ts +1 -0
  153. package/lib/src/js/utilities/utilities.time.test.d.ts +1 -0
  154. package/lib/src/js/utilities/utilities.url.d.ts +3 -0
  155. package/lib/src/js/utilities/utilities.url.test.d.ts +1 -0
  156. package/lib/src/js/utilities/utilities.user-agent.d.ts +3 -0
  157. package/lib/src/js/utilities/utilities.user-agent.test.d.ts +1 -0
  158. package/lib/src/js/utilities/utilities.version.d.ts +1 -0
  159. package/lib/src/js/utilities/utilities.version.test.d.ts +1 -0
  160. package/lib/src/npoplayer-bridge.test.d.ts +1 -1
  161. package/lib/src/npoplayer.d.ts +14 -10
  162. package/lib/src/services/a11y/setup.d.ts +2 -0
  163. package/lib/src/services/a11y/setup.test.d.ts +1 -0
  164. package/lib/src/services/avTypeHandlers/getAVType.d.ts +2 -0
  165. package/lib/src/services/avTypeHandlers/getAVType.test.d.ts +1 -0
  166. package/lib/src/services/drmHandlers/constants.d.ts +15 -0
  167. package/lib/src/services/drmHandlers/decideprofile.d.ts +2 -0
  168. package/lib/src/services/drmHandlers/decideprofile.test.d.ts +1 -0
  169. package/lib/src/services/drmHandlers/drmhandlers.d.ts +2 -0
  170. package/lib/src/services/drmHandlers/utils.d.ts +5 -0
  171. package/lib/src/services/drmHandlers/utils.test.d.ts +1 -0
  172. package/lib/src/services/drmHandlers/verifydrm.d.ts +2 -0
  173. package/lib/src/services/drmHandlers/verifydrm.test.d.ts +1 -0
  174. package/lib/src/services/eventListenerHandlers/removeEventListeners.d.ts +2 -0
  175. package/lib/src/services/eventListenerHandlers/removeEventListeners.test.d.ts +1 -0
  176. package/lib/src/services/keyboardHandlers/resolvekeypress.d.ts +2 -0
  177. package/lib/src/services/keyboardHandlers/resolvekeypress.test.d.ts +1 -0
  178. package/lib/src/services/liveStreamHandlers/handleLiveStreamControls.d.ts +6 -0
  179. package/lib/src/services/localStorageHandlers/localStorageHandlers.d.ts +4 -0
  180. package/lib/src/services/localStorageHandlers/localStorageHandlers.test.d.ts +1 -0
  181. package/lib/src/services/npoPlayerAPI/npoPlayerAPI.d.ts +30 -0
  182. package/lib/src/services/npoPlayerAPI/npoPlayerAPI.test.d.ts +1 -0
  183. package/lib/src/services/segmentHandlers/addSegmentEventListeners.d.ts +2 -0
  184. package/lib/src/services/segmentHandlers/addSegmentEventListeners.test.d.ts +1 -0
  185. package/lib/src/services/segmentHandlers/convertFragmentToSegment.d.ts +2 -0
  186. package/lib/src/services/segmentHandlers/convertFragmentToSegment.test.d.ts +1 -0
  187. package/lib/src/services/segmentHandlers/handleSegmentSeek.d.ts +5 -0
  188. package/lib/src/services/segmentHandlers/handleSegmentSeek.test.d.ts +1 -0
  189. package/lib/src/services/segmentHandlers/handleSegmentTimeChanged.d.ts +2 -0
  190. package/lib/src/services/segmentHandlers/handleSegmentTimeChanged.test.d.ts +1 -0
  191. package/lib/src/services/segmentHandlers/initSegment.d.ts +7 -0
  192. package/lib/src/services/segmentHandlers/initSegment.test.d.ts +1 -0
  193. package/lib/src/services/segmentHandlers/setSegmentMarkers.d.ts +2 -0
  194. package/lib/src/services/segmentHandlers/setSegmentMarkers.test.d.ts +1 -0
  195. package/lib/src/services/services.d.ts +14 -0
  196. package/lib/src/types/events.d.ts +91 -0
  197. package/lib/src/types/interfaces.d.ts +39 -15
  198. package/lib/{js → src}/ui/components/adbutton.d.ts +1 -1
  199. package/lib/{js → src}/ui/components/adlabel.d.ts +1 -1
  200. package/lib/{js → src}/ui/components/audio/controlbar.d.ts +1 -1
  201. package/lib/{js → src}/ui/components/buttons.d.ts +3 -3
  202. package/lib/src/ui/components/controlbar.d.ts +3 -0
  203. package/lib/{js → src}/ui/components/ctabar.d.ts +2 -2
  204. package/lib/src/ui/components/nativemobile/controlbar.d.ts +3 -0
  205. package/lib/src/ui/components/nativemobile/topbar.d.ts +3 -0
  206. package/lib/{js → src}/ui/components/playnext.d.ts +1 -1
  207. package/lib/src/{js/ui → ui}/components/seekbar.d.ts +1 -1
  208. package/lib/src/{js/ui → ui}/components/settingspanel.d.ts +1 -1
  209. package/lib/{js → src}/ui/components/titlebar.d.ts +1 -1
  210. package/lib/src/ui/components/topbar.d.ts +3 -0
  211. package/lib/src/ui/handlers/accessibilityhandler.test.d.ts +1 -0
  212. package/lib/src/ui/handlers/domhandlers.d.ts +3 -0
  213. package/lib/src/ui/handlers/domhandlers.test.d.ts +1 -0
  214. package/lib/{js → src}/ui/handlers/nicamhandler.d.ts +2 -2
  215. package/lib/src/ui/handlers/nicamhandler.test.d.ts +1 -0
  216. package/lib/{js → src}/ui/handlers/playnextstreen.test.d.ts +1 -1
  217. package/lib/src/{js/ui → ui}/handlers/streamhandler.d.ts +2 -2
  218. package/lib/{js → src}/ui/nativemobileuicontainer.d.ts +1 -1
  219. package/lib/src/ui/nativemobileuifactory.test.d.ts +1 -0
  220. package/lib/{js → src}/ui/uicontainer.d.ts +2 -3
  221. package/lib/tests/mocks/mockNpoplayer.js +18 -15
  222. package/lib/tests/mocks/mockPlayerAPI.d.ts +3 -0
  223. package/lib/tests/mocks/mockPlayerAPI.js +181 -0
  224. package/lib/tests/mocks/mockPlayerContext.d.ts +2 -0
  225. package/lib/tests/mocks/mockPlayerContext.js +40 -0
  226. package/lib/types/events.d.ts +91 -0
  227. package/lib/types/events.js +1 -0
  228. package/lib/types/interfaces.d.ts +39 -15
  229. package/lib/types/interfaces.js +12 -0
  230. package/lib/{src/js/ui → ui}/components/adbutton.d.ts +1 -1
  231. package/lib/{src/js/ui → ui}/components/adlabel.d.ts +1 -1
  232. package/lib/{src/js/ui → ui}/components/audio/controlbar.d.ts +1 -1
  233. package/lib/{js/ui → ui}/components/audio/controlbar.js +2 -2
  234. package/lib/{src/js/ui → ui}/components/buttons.d.ts +3 -3
  235. package/lib/{js/ui → ui}/components/buttons.js +7 -7
  236. package/lib/ui/components/controlbar.d.ts +3 -0
  237. package/lib/{js/ui → ui}/components/controlbar.js +5 -2
  238. package/lib/{src/js/ui → ui}/components/ctabar.d.ts +3 -3
  239. package/lib/{js/ui → ui}/components/ctabar.js +4 -6
  240. package/lib/{js/ui → ui}/components/nativemobile/buttons.js +8 -6
  241. package/lib/ui/components/nativemobile/controlbar.d.ts +3 -0
  242. package/lib/{js/ui → ui}/components/nativemobile/controlbar.js +6 -4
  243. package/lib/{js/ui → ui}/components/nativemobile/ctabar.js +1 -1
  244. package/lib/ui/components/nativemobile/topbar.d.ts +3 -0
  245. package/lib/{js/ui → ui}/components/nativemobile/topbar.js +6 -3
  246. package/lib/{src/js/ui → ui}/components/playnext.d.ts +1 -1
  247. package/lib/{js/ui → ui}/components/playnext.js +1 -1
  248. package/lib/{js/ui → ui}/components/seekbar.d.ts +1 -1
  249. package/lib/{js/ui → ui}/components/seekbar.js +1 -1
  250. package/lib/{js/ui → ui}/components/settingspanel.d.ts +1 -1
  251. package/lib/{js/ui → ui}/components/settingspanel.js +23 -40
  252. package/lib/{src/js/ui → ui}/components/titlebar.d.ts +1 -1
  253. package/lib/ui/components/topbar.d.ts +3 -0
  254. package/lib/{js/ui → ui}/components/topbar.js +8 -4
  255. package/lib/{js/ui → ui}/handlers/accessibilityhandler.js +10 -10
  256. package/lib/ui/handlers/accessibilityhandler.test.d.ts +1 -0
  257. package/lib/ui/handlers/domhandlers.d.ts +3 -0
  258. package/lib/ui/handlers/domhandlers.js +7 -0
  259. package/lib/ui/handlers/domhandlers.test.d.ts +1 -0
  260. package/lib/ui/handlers/domhandlers.test.js +51 -0
  261. package/lib/{js/ui → ui}/handlers/listboxhandlers.js +7 -7
  262. package/lib/{src/js/ui → ui}/handlers/nicamhandler.d.ts +2 -2
  263. package/lib/{js/ui → ui}/handlers/nicamhandler.js +31 -10
  264. package/lib/ui/handlers/nicamhandler.test.d.ts +1 -0
  265. package/lib/{js/ui → ui}/handlers/nicamhandler.test.js +4 -3
  266. package/lib/{js/ui → ui}/handlers/playnextscreen.js +1 -1
  267. package/lib/{src/js/ui → ui}/handlers/playnextstreen.test.d.ts +1 -1
  268. package/lib/{js/ui → ui}/handlers/playnextstreen.test.js +5 -3
  269. package/lib/{js/ui → ui}/handlers/streamhandler.d.ts +2 -2
  270. package/lib/ui/handlers/streamhandler.js +51 -0
  271. package/lib/{src/js/ui → ui}/nativemobileuicontainer.d.ts +1 -1
  272. package/lib/{js/ui → ui}/nativemobileuicontainer.js +8 -13
  273. package/lib/{js/ui → ui}/nativemobileuifactory.js +20 -23
  274. package/lib/ui/nativemobileuifactory.test.d.ts +1 -0
  275. package/lib/{js/ui → ui}/nativemobileuifactory.test.js +8 -6
  276. package/lib/{src/js/ui → ui}/uicontainer.d.ts +2 -3
  277. package/lib/{js/ui → ui}/uicontainer.js +31 -45
  278. package/package.json +19 -12
  279. package/src/{scss → style}/components/_controlbars.scss +4 -0
  280. package/src/{scss → style}/components/_icons.scss +6 -0
  281. package/src/style/components/_poster.scss +3 -0
  282. package/src/{scss → style}/components/_settingspanel.scss +15 -1
  283. package/src/{scss → style}/components/_subtitles.scss +25 -16
  284. package/src/{scss → style}/npoplayer.css +30 -20
  285. package/src/{scss → style}/npoplayer.scss +3 -0
  286. package/src/{scss → style}/variants/_player-small.scss +9 -8
  287. package/lib/js/checks/apple.d.ts +0 -2
  288. package/lib/js/checks/apple.js +0 -19
  289. package/lib/js/checks/apple.test.js +0 -20
  290. package/lib/js/drm/drm.d.ts +0 -2
  291. package/lib/js/drm/drm.js +0 -2
  292. package/lib/js/drm/handlers/decideprofile.d.ts +0 -3
  293. package/lib/js/drm/handlers/decideprofile.js +0 -53
  294. package/lib/js/drm/handlers/decideprofile.test.js +0 -33
  295. package/lib/js/drm/handlers/verifydrm.d.ts +0 -4
  296. package/lib/js/drm/handlers/verifydrm.js +0 -24
  297. package/lib/js/drm/handlers/verifydrm.test.js +0 -17
  298. package/lib/js/fragments/removefragments.d.ts +0 -2
  299. package/lib/js/fragments/removefragments.js +0 -5
  300. package/lib/js/fragments/removefragments.test.js +0 -26
  301. package/lib/js/fragments/setfragments.d.ts +0 -6
  302. package/lib/js/fragments/setfragments.js +0 -78
  303. package/lib/js/fragments/setfragments.test.js +0 -72
  304. package/lib/js/playeractions/handlers/resolvekeypress.d.ts +0 -3
  305. package/lib/js/playeractions/handlers/resolvekeypress.js +0 -52
  306. package/lib/js/ui/components/controlbar.d.ts +0 -3
  307. package/lib/js/ui/components/nativemobile/addFragments.d.ts +0 -1
  308. package/lib/js/ui/components/nativemobile/addFragments.js +0 -7
  309. package/lib/js/ui/components/nativemobile/controlbar.d.ts +0 -3
  310. package/lib/js/ui/components/nativemobile/topbar.d.ts +0 -3
  311. package/lib/js/ui/components/topbar.d.ts +0 -3
  312. package/lib/js/ui/handlers/domhandlers.d.ts +0 -3
  313. package/lib/js/ui/handlers/domhandlers.js +0 -7
  314. package/lib/js/ui/handlers/domhandlers.test.js +0 -50
  315. package/lib/js/ui/handlers/streamhandler.js +0 -40
  316. package/lib/js/utilities/printversion.d.ts +0 -1
  317. package/lib/js/utilities/utilities.d.ts +0 -16
  318. package/lib/js/utilities/utilities.js +0 -78
  319. package/lib/js/utilities/utilities.test.js +0 -50
  320. package/lib/src/js/checks/apple.d.ts +0 -2
  321. package/lib/src/js/drm/drm.d.ts +0 -2
  322. package/lib/src/js/drm/handlers/decideprofile.d.ts +0 -3
  323. package/lib/src/js/drm/handlers/verifydrm.d.ts +0 -4
  324. package/lib/src/js/fragments/removefragments.d.ts +0 -2
  325. package/lib/src/js/fragments/setfragments.d.ts +0 -6
  326. package/lib/src/js/playeractions/handlers/resolvekeypress.d.ts +0 -3
  327. package/lib/src/js/ui/components/controlbar.d.ts +0 -3
  328. package/lib/src/js/ui/components/nativemobile/addFragments.d.ts +0 -1
  329. package/lib/src/js/ui/components/nativemobile/controlbar.d.ts +0 -3
  330. package/lib/src/js/ui/components/nativemobile/topbar.d.ts +0 -3
  331. package/lib/src/js/ui/components/topbar.d.ts +0 -3
  332. package/lib/src/js/ui/handlers/domhandlers.d.ts +0 -3
  333. package/lib/src/js/utilities/printversion.d.ts +0 -1
  334. package/lib/src/js/utilities/utilities.d.ts +0 -16
  335. /package/lib/js/{utilities/localizationconfig.d.ts → settings/localization.d.ts} +0 -0
  336. /package/lib/js/{utilities/localizationconfig.js → settings/localization.js} +0 -0
  337. /package/lib/js/{checks/apple.test.d.ts → utilities/utilities.element.test.d.ts} +0 -0
  338. /package/lib/js/{drm/handlers/decideprofile.test.d.ts → utilities/utilities.jwt.test.d.ts} +0 -0
  339. /package/lib/js/{drm/handlers/verifydrm.test.d.ts → utilities/utilities.locale.test.d.ts} +0 -0
  340. /package/lib/js/{fragments/removefragments.test.d.ts → utilities/utilities.module.test.d.ts} +0 -0
  341. /package/lib/js/{fragments/setfragments.test.d.ts → utilities/utilities.stream.test.d.ts} +0 -0
  342. /package/lib/js/{playeractions/handlers/resolvekeypress.test.d.ts → utilities/utilities.text.test.d.ts} +0 -0
  343. /package/lib/js/{ui/handlers/accessibilityhandler.test.d.ts → utilities/utilities.time.test.d.ts} +0 -0
  344. /package/lib/js/{ui/handlers/domhandlers.test.d.ts → utilities/utilities.url.test.d.ts} +0 -0
  345. /package/lib/js/{ui/handlers/nicamhandler.test.d.ts → utilities/utilities.user-agent.test.d.ts} +0 -0
  346. /package/lib/js/{ui/nativemobileuifactory.test.d.ts → utilities/utilities.version.test.d.ts} +0 -0
  347. /package/lib/{js/utilities/utilities.test.d.ts → services/a11y/setup.test.d.ts} +0 -0
  348. /package/lib/{src/js/checks/apple.test.d.ts → services/avTypeHandlers/getAVType.test.d.ts} +0 -0
  349. /package/lib/{src/js/drm/handlers → services/drmHandlers}/decideprofile.test.d.ts +0 -0
  350. /package/lib/{src/js/drm/handlers/verifydrm.test.d.ts → services/drmHandlers/utils.test.d.ts} +0 -0
  351. /package/lib/{src/js/fragments/removefragments.test.d.ts → services/drmHandlers/verifydrm.test.d.ts} +0 -0
  352. /package/lib/{src/js/fragments/setfragments.test.d.ts → services/eventListenerHandlers/removeEventListeners.test.d.ts} +0 -0
  353. /package/lib/{src/js/playeractions/handlers → services/keyboardHandlers}/resolvekeypress.test.d.ts +0 -0
  354. /package/lib/{src/js/ui/handlers/accessibilityhandler.test.d.ts → services/localStorageHandlers/localStorageHandlers.test.d.ts} +0 -0
  355. /package/lib/{src/js/ui/handlers/domhandlers.test.d.ts → services/npoPlayerAPI/npoPlayerAPI.test.d.ts} +0 -0
  356. /package/lib/{src/js/ui/handlers/nicamhandler.test.d.ts → services/segmentHandlers/addSegmentEventListeners.test.d.ts} +0 -0
  357. /package/lib/{src/js/ui/nativemobileuifactory.test.d.ts → services/segmentHandlers/convertFragmentToSegment.test.d.ts} +0 -0
  358. /package/lib/{src/js/utilities/utilities.test.d.ts → services/segmentHandlers/handleSegmentSeek.test.d.ts} +0 -0
  359. /package/lib/src/js/{utilities/localizationconfig.d.ts → settings/localization.d.ts} +0 -0
  360. /package/lib/{js → src}/ui/components/nativemobile/buttons.d.ts +0 -0
  361. /package/lib/{js → src}/ui/components/nativemobile/ctabar.d.ts +0 -0
  362. /package/lib/{js → src}/ui/components/nativemobile/titlebar.d.ts +0 -0
  363. /package/lib/{js → src}/ui/handlers/accessibilityhandler.d.ts +0 -0
  364. /package/lib/{js → src}/ui/handlers/listboxhandlers.d.ts +0 -0
  365. /package/lib/{js → src}/ui/handlers/playnextscreen.d.ts +0 -0
  366. /package/lib/{js → src}/ui/handlers/timecontrolhandlers.d.ts +0 -0
  367. /package/lib/{js → src}/ui/nativemobileuifactory.d.ts +0 -0
  368. /package/lib/{js/ui → ui}/components/adbutton.js +0 -0
  369. /package/lib/{js/ui → ui}/components/adlabel.js +0 -0
  370. /package/lib/{src/js/ui → ui}/components/nativemobile/buttons.d.ts +0 -0
  371. /package/lib/{src/js/ui → ui}/components/nativemobile/ctabar.d.ts +0 -0
  372. /package/lib/{src/js/ui → ui}/components/nativemobile/titlebar.d.ts +0 -0
  373. /package/lib/{js/ui → ui}/components/nativemobile/titlebar.js +0 -0
  374. /package/lib/{js/ui → ui}/components/titlebar.js +0 -0
  375. /package/lib/{src/js/ui → ui}/handlers/accessibilityhandler.d.ts +0 -0
  376. /package/lib/{js/ui → ui}/handlers/accessibilityhandler.test.js +0 -0
  377. /package/lib/{src/js/ui → ui}/handlers/listboxhandlers.d.ts +0 -0
  378. /package/lib/{src/js/ui → ui}/handlers/playnextscreen.d.ts +0 -0
  379. /package/lib/{src/js/ui → ui}/handlers/timecontrolhandlers.d.ts +0 -0
  380. /package/lib/{js/ui → ui}/handlers/timecontrolhandlers.js +0 -0
  381. /package/lib/{src/js/ui → ui}/nativemobileuifactory.d.ts +0 -0
  382. /package/src/{scss → style}/components/_advert.scss +0 -0
  383. /package/src/{scss → style}/components/_audio.scss +0 -0
  384. /package/src/{scss → style}/components/_buffering.scss +0 -0
  385. /package/src/{scss → style}/components/_error.scss +0 -0
  386. /package/src/{scss → style}/components/_hugeplaybacktogglebutton.scss +0 -0
  387. /package/src/{scss → style}/components/_metadata.scss +0 -0
  388. /package/src/{scss → style}/components/_nicam.scss +0 -0
  389. /package/src/{scss → style}/components/_playnext.scss +0 -0
  390. /package/src/{scss → style}/components/_replay.scss +0 -0
  391. /package/src/{scss → style}/components/_seekbar.scss +0 -0
  392. /package/src/{scss → style}/components/_seekbarthumbnail.scss +0 -0
  393. /package/src/{scss → style}/components/_textbuttons.scss +0 -0
  394. /package/src/{scss → style}/components/_volumeslider.scss +0 -0
  395. /package/src/{scss → style}/components/audio/_bottombar.scss +0 -0
  396. /package/src/{scss → style}/components/audio/_buffering.scss +0 -0
  397. /package/src/{scss → style}/components/audio/_errors.scss +0 -0
  398. /package/src/{scss → style}/components/audio/_metadata.scss +0 -0
  399. /package/src/{scss → style}/components/audio/_playbutton.scss +0 -0
  400. /package/src/{scss → style}/components/audio/_poster.scss +0 -0
  401. /package/src/{scss → style}/components/audio/_replay.scss +0 -0
  402. /package/src/{scss → style}/components/audio/_seekbar.scss +0 -0
  403. /package/src/{scss → style}/components/audio/_topbar.scss +0 -0
  404. /package/src/{scss → style}/components/audio/_vars.scss +0 -0
  405. /package/src/{scss → style}/components/audio/_volumeslider.scss +0 -0
  406. /package/src/{scss → style}/variants/_player-audio.scss +0 -0
  407. /package/src/{scss → style}/variants/_player-base.scss +0 -0
  408. /package/src/{scss → style}/variants/_player-debug.scss +0 -0
  409. /package/src/{scss → style}/variants/_player-large.scss +0 -0
  410. /package/src/{scss → style}/variants/_player-medium.scss +0 -0
  411. /package/src/{scss → style}/variants/_player-native-mobile.scss +0 -0
  412. /package/src/{scss → style}/vars/_audio.scss +0 -0
  413. /package/src/{scss → style}/vars/_colors.scss +0 -0
  414. /package/src/{scss → style}/vars/_fonts.scss +0 -0
  415. /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,2 @@
1
+ import { PlayerContext } from '../../src/types/interfaces';
2
+ export declare const mockPlayerContext: PlayerContext;
@@ -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 | null;
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[] | null;
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
- export interface Section {
79
- cssClasses?: string[];
80
- start: number;
81
- end: number;
96
+ interface FragmentSection {
97
+ time: number;
98
+ duration: number;
82
99
  title: string;
83
100
  }
84
- export interface Fragments {
85
- sections: Section[];
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?: 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
- settingsPanel?: SettingsPanel | undefined;
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>>;
@@ -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,5 +1,5 @@
1
1
  import { Button } from 'bitmovin-player-ui';
2
- import type NpoPlayer from '../../../npoplayer';
2
+ import type NpoPlayer from '../../npoplayer';
3
3
  export declare function createAdButton(npoplayer: NpoPlayer): Button<{
4
4
  cssClass: string;
5
5
  text: string;
@@ -1,5 +1,5 @@
1
1
  import { Label } from 'bitmovin-player-ui';
2
- import type NpoPlayer from '../../../npoplayer';
2
+ import type NpoPlayer from '../../npoplayer';
3
3
  export declare function createAdLabel(npoplayer: NpoPlayer): Label<{
4
4
  text: string;
5
5
  cssClass: string;
@@ -1,3 +1,3 @@
1
1
  import { ControlBar } from 'bitmovin-player-ui';
2
- import type NpoPlayer from '../../../../npoplayer';
2
+ import type NpoPlayer from '../../../npoplayer';
3
3
  export declare function createAudioControlBar(npoplayer: NpoPlayer): ControlBar;
@@ -9,8 +9,8 @@ export function createAudioControlBar(npoplayer) {
9
9
  new Container({
10
10
  components: [
11
11
  new VolumeControlButton({
12
- vertical: true,
13
- }),
12
+ vertical: true
13
+ })
14
14
  ],
15
15
  cssClasses: ['controlbar-bottom']
16
16
  })
@@ -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 '../../../npoplayer';
3
+ import type NpoPlayer from '../../npoplayer';
4
4
  export declare function createMiddleButtons(player: PlayerAPI): ControlBar;
5
- export declare function createRewindButton(player: PlayerAPI | null): Button<{
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 | null): Button<{
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 != null) {
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 != null) {
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 != null) {
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 != null && player.isLive()) {
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 ((player.isLive()) ?? false)
102
+ if (player.isLive() ?? false)
103
103
  npoplayer.watchFromStart();
104
104
  if (npoplayer.uiComponents.watchFromStartButton)
105
105
  npoplayer.uiComponents.watchFromStartButton.hide();
@@ -0,0 +1,3 @@
1
+ import { ControlBar } from 'bitmovin-player-ui';
2
+ import type NpoPlayer from '../../npoplayer';
3
+ export declare function createControlBar(npoplayer: NpoPlayer): ControlBar;
@@ -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
- export function createControlBar(npoplayer, settingsPanel) {
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
- ...(document.pictureInPictureEnabled && /^((?!chrome|android).)*safari/i.test(navigator.userAgent) ? [new PictureInPictureToggleButton()] : []),
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 '../../../npoplayer';
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 '../../../types/interfaces';
6
+ import { NpoPlayerUIVariants } from '../../types/interfaces';
7
7
  export declare function createCTABar(player: PlayerAPI, npoplayer: NpoPlayer, variant: NpoPlayerUIVariants): Container<{
8
- components: (Label<LabelConfig> | Button<ButtonConfig>)[];
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 '../../../types/interfaces';
5
+ import { NpoPlayerUIVariants } from '../../types/interfaces';
6
6
  export function createCTABar(player, npoplayer, variant) {
7
- let barComponents = [];
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 '../../../../types/interfaces';
3
+ import { CustomMessages } from '../../../types/interfaces';
4
4
  import { ViewMode } from 'bitmovin-player';
5
- import { createForwardButton, createRewindButton } from '../../components/buttons';
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, { isChecked: !settingsPanel.isShown() });
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
  }