@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,21 @@
1
+ export const handleSegmentTimeChanged = (playerContext, segment) => {
2
+ let isFinished = false;
3
+ const handleTimeGreaterThanOutpoint = (e) => {
4
+ if (e.time > segment.outpoint && !isFinished) {
5
+ isFinished = true;
6
+ playerContext.player.seek(Math.max(segment.inpoint, segment.outpoint));
7
+ playerContext.player.pause();
8
+ playerContext?.player.addClassToNpoPlayerElement('bmpui-player-state-replay');
9
+ }
10
+ };
11
+ const handleTimeLessThanInpoint = (e) => {
12
+ if (e.time < segment.inpoint || (e.time > segment.outpoint && isFinished)) {
13
+ isFinished = false;
14
+ playerContext.player.seek(segment.inpoint);
15
+ }
16
+ };
17
+ return (e) => {
18
+ handleTimeGreaterThanOutpoint(e);
19
+ handleTimeLessThanInpoint(e);
20
+ };
21
+ };
@@ -0,0 +1,34 @@
1
+ import { mockPlayerContext } from '../../../tests/mocks/mockPlayerContext';
2
+ import { handleSegmentTimeChanged } from './handleSegmentTimeChanged';
3
+ describe('handleSegmentTimeChanged', () => {
4
+ const segment = { inpoint: 10, outpoint: 20, duration: 10 };
5
+ const context = { ...mockPlayerContext };
6
+ beforeEach(() => {
7
+ jest.clearAllMocks();
8
+ });
9
+ it('should seek and pause player, and add class when time is greater than outpoint and isFinished is false', () => {
10
+ const handler = handleSegmentTimeChanged(context, segment);
11
+ handler({ time: 30 });
12
+ expect(context.player.seek).toHaveBeenCalledWith(20);
13
+ expect(context.player.pause).toHaveBeenCalled();
14
+ expect(context.player.addClassToNpoPlayerElement).toHaveBeenCalledWith('bmpui-player-state-replay');
15
+ });
16
+ it('should reset isFinished and seek to inpoint when time is less than inpoint', () => {
17
+ const handler = handleSegmentTimeChanged(context, segment);
18
+ handler({ time: 30 });
19
+ handler({ time: 9 });
20
+ expect(context.player.seek).toHaveBeenCalledWith(10);
21
+ });
22
+ it('should reset isFinished and seek to inpoint when time is greater than outpoint and isFinished is true', () => {
23
+ const handler = handleSegmentTimeChanged(context, segment);
24
+ handler({ time: 21 });
25
+ handler({ time: 22 });
26
+ expect(context.player.seek).toHaveBeenCalledWith(10);
27
+ });
28
+ it('should not call pause if time is within inpoint and outpoint', () => {
29
+ const handler = handleSegmentTimeChanged(context, segment);
30
+ handler({ time: 15 });
31
+ expect(context.player.seek).not.toHaveBeenCalled();
32
+ expect(context.player.pause).not.toHaveBeenCalled();
33
+ });
34
+ });
@@ -0,0 +1,7 @@
1
+ import { Fragment, PlayerContext, Segment } from 'types/interfaces';
2
+ type SegmentOrFragment = {
3
+ segment?: Segment;
4
+ fragment?: Fragment;
5
+ };
6
+ export declare const initSegment: (playerContext: PlayerContext, options: SegmentOrFragment) => void;
7
+ export {};
@@ -0,0 +1,10 @@
1
+ import { addSegmentEventListeners } from './addSegmentEventListeners';
2
+ import { convertFragmentToSegment } from './convertFragmentToSegment';
3
+ export const initSegment = (playerContext, options) => {
4
+ const { segment, fragment } = options;
5
+ const activeSegment = fragment ? convertFragmentToSegment(fragment) : segment;
6
+ if (activeSegment) {
7
+ playerContext.player.seek(activeSegment.inpoint);
8
+ addSegmentEventListeners(playerContext, activeSegment);
9
+ }
10
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,36 @@
1
+ import { initSegment } from './initSegment';
2
+ import { addSegmentEventListeners } from './addSegmentEventListeners';
3
+ import { convertFragmentToSegment } from './convertFragmentToSegment';
4
+ import { mockPlayerContext } from '../../../tests/mocks/mockPlayerContext';
5
+ jest.mock('./addSegmentEventListeners');
6
+ jest.mock('./convertFragmentToSegment');
7
+ const createMockSegment = () => ({ inpoint: 10, outpoint: 20, duration: 10 });
8
+ const createMockFragment = () => ({
9
+ sections: [{ time: 0, duration: 10, title: 'Dummy fragment' }]
10
+ });
11
+ describe('initSegment', () => {
12
+ beforeEach(() => {
13
+ jest.clearAllMocks();
14
+ });
15
+ it('should convert fragment to segment and seek to inpoint', () => {
16
+ const mockFragment = createMockFragment();
17
+ const mockSegment = createMockSegment();
18
+ convertFragmentToSegment.mockReturnValue(mockSegment);
19
+ initSegment(mockPlayerContext, { fragment: mockFragment });
20
+ expect(convertFragmentToSegment).toHaveBeenCalledWith(mockFragment);
21
+ expect(mockPlayerContext.player.seek).toHaveBeenCalledWith(mockSegment.inpoint);
22
+ expect(addSegmentEventListeners).toHaveBeenCalledWith(mockPlayerContext, mockSegment);
23
+ });
24
+ it('should seek to inpoint and add event listeners if segment is provided', () => {
25
+ const mockSegment = createMockSegment();
26
+ initSegment(mockPlayerContext, { segment: mockSegment });
27
+ expect(mockPlayerContext.player.seek).toHaveBeenCalledWith(mockSegment.inpoint);
28
+ expect(addSegmentEventListeners).toHaveBeenCalledWith(mockPlayerContext, mockSegment);
29
+ });
30
+ it('should do nothing if neither segment nor fragment is provided', () => {
31
+ initSegment(mockPlayerContext, {});
32
+ expect(mockPlayerContext.player.seek).not.toHaveBeenCalled();
33
+ expect(addSegmentEventListeners).not.toHaveBeenCalled();
34
+ expect(convertFragmentToSegment).not.toHaveBeenCalled();
35
+ });
36
+ });
@@ -0,0 +1,2 @@
1
+ import { Segment, TimeLineMarker } from 'types/interfaces';
2
+ export declare function setSegmentMarkers(segment: Segment, title: string): Array<TimeLineMarker>;
@@ -0,0 +1,25 @@
1
+ import * as nlJson from '../../lang/nl.json';
2
+ export function setSegmentMarkers(segment, title) {
3
+ const unplayableClass = 'seekbar-marker-unplayable';
4
+ const unplayableTitle = nlJson['segment.unplayableTitle'];
5
+ const ONE_DAY_IN_SECONDS = 86400;
6
+ return [
7
+ {
8
+ time: 0,
9
+ duration: segment.inpoint,
10
+ title: unplayableTitle,
11
+ cssClasses: [unplayableClass]
12
+ },
13
+ {
14
+ time: segment.inpoint,
15
+ duration: segment.outpoint - segment.inpoint,
16
+ title: title
17
+ },
18
+ {
19
+ time: segment.outpoint,
20
+ duration: ONE_DAY_IN_SECONDS,
21
+ title: unplayableTitle,
22
+ cssClasses: [unplayableClass]
23
+ }
24
+ ];
25
+ }
@@ -0,0 +1,32 @@
1
+ import { setSegmentMarkers } from './setSegmentMarkers';
2
+ describe('setSegmentMarkers', () => {
3
+ it('should create markers correctly for a given segment', () => {
4
+ const ONE_DAY_IN_SECONDS = 86400;
5
+ const segment = {
6
+ inpoint: 10,
7
+ outpoint: 50,
8
+ duration: 60
9
+ };
10
+ const expectedMarkers = [
11
+ {
12
+ time: 0,
13
+ duration: segment.inpoint,
14
+ title: 'Niet beschikbaar',
15
+ cssClasses: ['seekbar-marker-unplayable']
16
+ },
17
+ {
18
+ time: 10,
19
+ duration: segment.outpoint - segment.inpoint,
20
+ title: 'Test title'
21
+ },
22
+ {
23
+ time: segment.outpoint,
24
+ duration: ONE_DAY_IN_SECONDS,
25
+ title: 'Niet beschikbaar',
26
+ cssClasses: ['seekbar-marker-unplayable']
27
+ }
28
+ ];
29
+ const result = setSegmentMarkers(segment, 'Test title');
30
+ expect(result).toEqual(expectedMarkers);
31
+ });
32
+ });
@@ -0,0 +1,14 @@
1
+ import { ApiPayload, Fragment, PlayerContext, Profile, Segment, TimeLineMarker, LocalStorageData, LocalStorageValues } from 'types/interfaces';
2
+ import { AVType } from '@npotag/tag/dist/types/src/streamTracker';
3
+ export declare class NpoPlayerServices {
4
+ getAVType(avType: string): AVType;
5
+ keyboardHandler(playerContext: PlayerContext, e: KeyboardEvent): void;
6
+ convertFragmentToSegment(fragment: Fragment): Segment;
7
+ segmentMarkersHandler(segment: Segment, title: string): Array<TimeLineMarker>;
8
+ decideProfile(playerContext: PlayerContext, preferredDRM?: string): Promise<Profile>;
9
+ verifyDRM(playerContext: PlayerContext, payload: ApiPayload): Promise<void>;
10
+ setStoredUserPrefs(key: LocalStorageValues, value: any): void;
11
+ getStoredUserPrefs(): LocalStorageData;
12
+ handleUserPrefs(playerContext: PlayerContext): void;
13
+ setAccessibilityAttributes(playerContext: PlayerContext): void;
14
+ }
@@ -0,0 +1,47 @@
1
+ import { resolveKeyPress } from './keyboardHandlers/resolvekeypress';
2
+ import { setSegmentMarkers } from './segmentHandlers/setSegmentMarkers';
3
+ import { convertFragmentToSegment } from './segmentHandlers/convertFragmentToSegment';
4
+ import * as DRMHandlers from './drmHandlers/drmhandlers';
5
+ import { setupAccessibilityAttributes } from './a11y/setup';
6
+ import { getLocalStorage, setLocalStorage, setValuesBasedOnLocalStorage } from './localStorageHandlers/localStorageHandlers';
7
+ import { getAVType } from './avTypeHandlers/getAVType';
8
+ export class NpoPlayerServices {
9
+ getAVType(avType) {
10
+ return getAVType(avType);
11
+ }
12
+ keyboardHandler(playerContext, e) {
13
+ resolveKeyPress(playerContext, e);
14
+ }
15
+ convertFragmentToSegment(fragment) {
16
+ return convertFragmentToSegment(fragment);
17
+ }
18
+ segmentMarkersHandler(segment, title) {
19
+ return setSegmentMarkers(segment, title);
20
+ }
21
+ decideProfile(playerContext, preferredDRM = '') {
22
+ return DRMHandlers.decideProfile(playerContext, preferredDRM);
23
+ }
24
+ verifyDRM(playerContext, payload) {
25
+ return DRMHandlers.verifyDRM(playerContext, payload);
26
+ }
27
+ setStoredUserPrefs(key, value) {
28
+ return setLocalStorage(key, value);
29
+ }
30
+ getStoredUserPrefs() {
31
+ return getLocalStorage();
32
+ }
33
+ handleUserPrefs(playerContext) {
34
+ if (playerContext === undefined) {
35
+ console.error('playerContext is undefined');
36
+ return;
37
+ }
38
+ return setValuesBasedOnLocalStorage(playerContext);
39
+ }
40
+ setAccessibilityAttributes(playerContext) {
41
+ if (playerContext === undefined) {
42
+ console.error('playerContext is undefined');
43
+ return;
44
+ }
45
+ return setupAccessibilityAttributes(playerContext);
46
+ }
47
+ }
@@ -1,4 +1,4 @@
1
- import { PlayerAPI } from "bitmovin-player";
2
- import { UIManager } from "bitmovin-player-ui";
3
- import { TimeLineMarker } from "types/interfaces";
1
+ import { PlayerAPI } from 'bitmovin-player';
2
+ import { UIManager } from 'bitmovin-player-ui';
3
+ import { TimeLineMarker } from 'types/interfaces';
4
4
  export declare function updateLiveMarkers(timeLineMarkers: TimeLineMarker[], player: PlayerAPI, uiManager: UIManager, autoFillTimeLineMarkerDuration: boolean): void;
@@ -2,5 +2,5 @@ import { type PlayerAPI } from 'bitmovin-player';
2
2
  import type NpoPlayer from '../../../npoplayer';
3
3
  import { type StreamOptions } from 'types/interfaces';
4
4
  export declare function handleStartOffset(player: PlayerAPI, offset?: number): void;
5
- export declare function shiftToProgramStart(player: PlayerAPI | null, timestamp?: number): void;
6
- export declare function handleLiveOffsetLogic(npoplayer: NpoPlayer, player: PlayerAPI | null, options: StreamOptions): void;
5
+ export declare function shiftToProgramStart(player: PlayerAPI | undefined, timestamp?: number): void;
6
+ export declare function handleLiveOffsetLogic(npoplayer: NpoPlayer, player: PlayerAPI | undefined, options: StreamOptions): void;
@@ -1,2 +1,2 @@
1
- import { PlayerAPI, SourceConfig } from "bitmovin-player";
1
+ import { PlayerAPI, SourceConfig } from 'bitmovin-player';
2
2
  export declare function setupMediaSessionActionHandlers(player: PlayerAPI, sourceConfig: SourceConfig, _streamObject: any): void;
@@ -1,3 +1,3 @@
1
- import { type PlayerConfig } from "bitmovin-player";
2
- import NpoPlayer from "npoplayer";
1
+ import { type PlayerConfig } from 'bitmovin-player';
2
+ import NpoPlayer from 'npoplayer';
3
3
  export declare function processPlayerConfig(npoplayer: NpoPlayer, playerConfig: PlayerConfig): PlayerConfig;
@@ -1,3 +1,4 @@
1
1
  import { StreamObject, StreamOptions } from 'types/interfaces';
2
2
  import { SourceConfig } from 'bitmovin-player';
3
- export declare function processSourceConfig(_sourceConfig: SourceConfig | undefined, _streamObject: StreamObject, drm: string | null | undefined, streamOptions: StreamOptions, version: string, npoTagPartyId: string | undefined): Promise<SourceConfig>;
3
+ import { NpoPlayerServices } from '../../../services/services';
4
+ export declare function processSourceConfig(NpoPlayerServices: NpoPlayerServices, _sourceConfig: SourceConfig | undefined, _streamObject: StreamObject, drm: string | undefined, streamOptions: StreamOptions, version: string, npoTagPartyId: string | undefined, npoPlayerServices: NpoPlayerServices): Promise<SourceConfig>;
@@ -1,2 +1,2 @@
1
1
  import { PlayerAPI } from 'bitmovin-player';
2
- export declare function removeReplayClass(player: PlayerAPI | null): void;
2
+ export declare function removeReplayClass(player: PlayerAPI | undefined): void;
@@ -1 +1 @@
1
- export {};
1
+ import '@testing-library/jest-dom';
@@ -1,5 +1,4 @@
1
- export { resolveKeyPress } from "./handlers/resolvekeypress";
2
- export { handleStartOffset, handleLiveOffsetLogic, shiftToProgramStart } from "./handlers/handleoffsets";
3
- export { handlePlayerError } from "./handlers/error";
4
- export { processPlayerConfig } from "./handlers/processplayerconfig";
5
- export { processSourceConfig } from "./handlers/processsourceconfig";
1
+ export { handleStartOffset, handleLiveOffsetLogic, shiftToProgramStart } from './handlers/handleoffsets';
2
+ export { handlePlayerError } from './handlers/error';
3
+ export { processPlayerConfig } from './handlers/processplayerconfig';
4
+ export { processSourceConfig } from './handlers/processsourceconfig';
@@ -0,0 +1 @@
1
+ export declare const supportedKeySystems: string[];
@@ -1,4 +1,4 @@
1
1
  import { type NPOTag } from '@npotag/tag';
2
2
  import { type InitialisationProps } from '@npotag/tag/dist/types/src/npoTag';
3
3
  import type NpoPlayer from '../../../npoplayer';
4
- export declare function initPlayerTracker(npoplayer: NpoPlayer, _npotag?: InitialisationProps | null, _npotaginstance?: NPOTag): void;
4
+ export declare function initPlayerTracker(npoplayer: NpoPlayer, _npotag?: InitialisationProps | undefined, _npotaginstance?: NPOTag): void;
@@ -1 +1 @@
1
- export declare function startPlayerTracker(playerInstance: any, duration: number, version: string, source: string | null): void;
1
+ export declare function startPlayerTracker(playerInstance: any, duration: number, version: string, source: string | undefined): void;
@@ -0,0 +1,10 @@
1
+ interface ElementByQuery {
2
+ container: HTMLElement;
3
+ query: string;
4
+ }
5
+ interface RemoveClassFromElementByQuery extends ElementByQuery {
6
+ className: string;
7
+ }
8
+ export declare function getElementByQuery({ container, query }: ElementByQuery): Element | null;
9
+ export declare function removeClassFromElementByQuery(params: RemoveClassFromElementByQuery): void;
10
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ export declare const convertBase64ToObject: (value: string) => Record<string, any>;
2
+ export declare const convertJwtToBase64: (jwt: string) => string;
3
+ export declare function isJWTToken(token: string): boolean;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import { type LocalizableText } from 'bitmovin-player-ui/dist/js/framework/localization/i18n';
2
+ export declare function localizeKey(key: string): LocalizableText;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export declare function getModuleExport(module: unknown): unknown;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ interface StreamDurationInSecondsParams {
2
+ duration: string | number | undefined;
3
+ durationIsInMs?: boolean;
4
+ }
5
+ export declare function getStreamDurationInSeconds(params: StreamDurationInSecondsParams): number;
6
+ export declare function validatePrid(prid: string | undefined): string;
7
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export declare function replaceSpecialCharacters(text: string): string;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export declare function convertMsToSeconds(ms: number): number;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ export declare function isMediaUrl(url: string): Promise<boolean>;
2
+ export declare function isUrl(url: string): boolean;
3
+ export declare const removeTrailingSlash: (url: string) => string;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ export declare function isFairPlayDrmSupported(keySystems: string[]): boolean;
2
+ export declare const isSafariUserAgent: (userAgent: string) => boolean;
3
+ export declare function isSafari(): boolean;
@@ -0,0 +1 @@
1
+ export declare function logVersion(version: string): void;
@@ -0,0 +1 @@
1
+ export {};
@@ -1 +1 @@
1
- export {};
1
+ import '@testing-library/jest-dom';
@@ -1,21 +1,21 @@
1
+ import { NpoPlayerServices } from './services/services';
1
2
  import { type StreamTracker, type NPOTag } from '@npotag/tag';
2
3
  import { type InitialisationProps } from '@npotag/tag/dist/types/src/npoTag';
3
4
  import { type PlayerAPI, type PlayerConfig, type SourceConfig } from 'bitmovin-player';
4
5
  import { UIManager } from 'bitmovin-player-ui';
5
6
  import { LogEmitter } from './types/classes';
6
- import { type DRMProfile, type ApiPayload, type NPOTagObject, type Section, type StreamObject, type StreamOptions, type UIComponents, type TimeLineMarker, NpoPlayerUIVariants } from './types/interfaces';
7
- export { type PlayerConfig, type InitialisationProps, type NPOTagObject, type StreamOptions, NpoPlayerUIVariants, };
7
+ import { type DRMProfile, type ApiPayload, type NPOTagObject, type StreamObject, type StreamOptions, type UIComponents, type TimeLineMarker, type LocalStorageData, type PlayerContext, type EventListeners, NpoPlayerUIVariants } from './types/interfaces';
8
+ export { type PlayerConfig, type InitialisationProps, type NPOTagObject, type StreamOptions, NpoPlayerUIVariants };
8
9
  export default class NpoPlayer {
9
10
  playerConfig: PlayerConfig;
10
11
  sourceConfig: SourceConfig;
11
12
  streamObject: StreamObject;
12
- player: PlayerAPI | null;
13
- uiManager: UIManager | null;
13
+ player: PlayerAPI | undefined;
14
+ uiManager: UIManager | undefined;
14
15
  npoTag: NPOTagObject | undefined;
15
- streamTracker: StreamTracker | null;
16
+ streamTracker: StreamTracker | undefined;
16
17
  logEmitter: LogEmitter;
17
18
  uiComponents: UIComponents;
18
- fragment: Section | null;
19
19
  container: HTMLElement;
20
20
  streamOptions: StreamOptions;
21
21
  jwt: string;
@@ -26,13 +26,17 @@ export default class NpoPlayer {
26
26
  variant: NpoPlayerUIVariants;
27
27
  isShowingPlayNextScreen: boolean;
28
28
  canceledPlayNextScreen: boolean;
29
- constructor(_container: HTMLElement, _playerConfig: PlayerConfig, _npotag?: InitialisationProps | null, _npotaginstance?: NPOTag | undefined, _variant?: NpoPlayerUIVariants);
29
+ playerContext: PlayerContext | undefined;
30
+ npoplayerServices: NpoPlayerServices;
31
+ eventListeners: EventListeners | undefined;
32
+ mockNpoPlayer: any;
33
+ userPreferences: LocalStorageData;
34
+ constructor(_container: HTMLElement, _playerConfig: PlayerConfig, _npotag?: InitialisationProps | undefined, _npotaginstance?: NPOTag | undefined, _variant?: NpoPlayerUIVariants);
30
35
  initPlayer(_container: HTMLElement, playerConfig: PlayerConfig, variant: NpoPlayerUIVariants): void;
31
36
  loadStream(source: string, options?: StreamOptions): Promise<void>;
32
- createUIManager(player: PlayerAPI, variant: NpoPlayerUIVariants): Promise<void>;
37
+ createUIManager(player: PlayerAPI, playerContext: PlayerContext, variant: NpoPlayerUIVariants): Promise<void>;
33
38
  doError(input: any, status?: number): void;
34
- keyPress(e: KeyboardEvent): void;
35
- play(): void;
39
+ play(): Promise<void>;
36
40
  pause(): void;
37
41
  setVolume(volume: number): void;
38
42
  increaseVolume(): void;
@@ -0,0 +1,2 @@
1
+ import { PlayerContext } from '../../types/interfaces';
2
+ export declare function setupAccessibilityAttributes(playerContext: PlayerContext): void;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import { AVType } from '@npotag/tag/dist/types/src/streamTracker';
2
+ export declare function getAVType(avType: string): AVType;
@@ -0,0 +1,15 @@
1
+ export declare const appleDRM: string[];
2
+ export declare const openDRM: string[];
3
+ export declare enum DRM_TYPES {
4
+ FAIRPLAY = "fairplay",
5
+ WIDEVINE = "widevine",
6
+ PLAYREADY = "playready"
7
+ }
8
+ export declare enum STREAM_TYPES {
9
+ DASH = "dash",
10
+ HLS = "hls"
11
+ }
12
+ export type DRMInfo = {
13
+ supportedDRM: string[];
14
+ preferredDRM: string;
15
+ };
@@ -0,0 +1,2 @@
1
+ import { type Profile, PlayerContext } from '../../types/interfaces';
2
+ export declare function decideProfile(playerContext: PlayerContext, preferredDRM?: string): Promise<Profile>;
@@ -0,0 +1,2 @@
1
+ export { decideProfile } from './decideprofile';
2
+ export { verifyDRM } from './verifydrm';
@@ -0,0 +1,5 @@
1
+ import { type DRMInfo } from './constants';
2
+ export declare function isSupportedAppleDRM(drm: string): boolean;
3
+ export declare function isSupportedOpenDRM(drm: string): boolean;
4
+ export declare function getBestDRMForDash(drmInfo: DRMInfo): string;
5
+ export declare function getBestDRMForHls(drmInfo: DRMInfo): string;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import { PlayerContext, type ApiPayload } from '../../types/interfaces';
2
+ export declare function verifyDRM(playerContext: PlayerContext, payload: ApiPayload): Promise<void>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import { PlayerContext } from 'types/interfaces';
2
+ export declare const removeEventListeners: (playerContext: PlayerContext) => void;
@@ -0,0 +1,2 @@
1
+ import { PlayerContext } from '../../types/interfaces';
2
+ export declare function resolveKeyPress(playerContext: PlayerContext, e: KeyboardEvent): void;
@@ -0,0 +1,6 @@
1
+ import { PlayerContext } from 'types/interfaces';
2
+ export declare const handleLiveStreamControls: (playerContext: PlayerContext) => void;
3
+ export declare function updateForwardButtonState(player: any): void;
4
+ export declare function toggleForwardButtons(forwardButtons: NodeListOf<Element>, timeShift: number): void;
5
+ export declare function disableForwardButton(button: Element): void;
6
+ export declare function enableForwardButton(button: Element): void;
@@ -0,0 +1,4 @@
1
+ import { LocalStorageData, LocalStorageValues, PlayerContext } from 'types/interfaces';
2
+ export declare function setLocalStorage(key: LocalStorageValues, value: any): void;
3
+ export declare function getLocalStorage(): LocalStorageData;
4
+ export declare function setValuesBasedOnLocalStorage(playerContext: PlayerContext): void;
@@ -0,0 +1,30 @@
1
+ import { PlayerAPI, PlayerEvent, PlayerEventCallback, SourceConfig, TimeMode, ViewMode } from 'bitmovin-player';
2
+ import { Technology } from 'types/interfaces';
3
+ export declare class NpoPlayerAPI {
4
+ playerAPI: PlayerAPI;
5
+ constructor(playerAPI: PlayerAPI);
6
+ load(sourceConfig: SourceConfig): Promise<void>;
7
+ play(): Promise<void>;
8
+ pause(): void;
9
+ mute(): void;
10
+ unmute(): void;
11
+ getVolume(): number;
12
+ setVolume(level: number): void;
13
+ setViewMode(viewMode: ViewMode): void;
14
+ getViewMode(): ViewMode;
15
+ areSubtitlesEnabled(): boolean;
16
+ enableSubtitles(): void;
17
+ isPaused(): boolean;
18
+ isMuted(): boolean;
19
+ getSupportedDRM(): Promise<string[]>;
20
+ getSupportedTech(): Technology[];
21
+ off(eventType: PlayerEvent, callback: PlayerEventCallback): void;
22
+ on(eventType: PlayerEvent, callback: PlayerEventCallback): void;
23
+ seek(time: number): void;
24
+ getContainer(): HTMLElement;
25
+ getNpoPlayerElement(): Element | null;
26
+ addClassToNpoPlayerElement(className: string): void | undefined;
27
+ removeClassFromNpoPlayerElement(className: string): void | undefined;
28
+ getCurrentTime(mode?: TimeMode | undefined): number;
29
+ getTimeShift(): number;
30
+ }
@@ -0,0 +1,2 @@
1
+ import { PlayerContext, Segment } from '../../types/interfaces';
2
+ export declare const addSegmentEventListeners: (playerContext: PlayerContext, segment: Segment) => void;
@@ -0,0 +1,2 @@
1
+ import { Fragment, Segment } from 'types/interfaces';
2
+ export declare function convertFragmentToSegment(fragment: Fragment): Segment;