@gcorevideo/player 2.20.8 → 2.20.11

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 (329) hide show
  1. package/assets/dvr-controls/dvr_controls.scss +0 -2
  2. package/dist/core.js +22 -17
  3. package/dist/index.css +1343 -1346
  4. package/dist/index.js +119 -109
  5. package/dist/player.d.ts +238 -179
  6. package/dist/plugins/index.css +461 -464
  7. package/dist/plugins/index.js +97 -93
  8. package/docs/api/player.audioselector.md +1 -1
  9. package/docs/api/player.bigmutebutton.md +1 -1
  10. package/docs/api/player.bottomgear.md +15 -1
  11. package/docs/api/player.bottomgear.refresh.md +20 -0
  12. package/docs/api/player.clapprnerdstats.md +1 -1
  13. package/docs/api/player.clapprstats.exportmetrics.md +1 -1
  14. package/docs/api/player.clapprstats.md +1 -15
  15. package/docs/api/player.clapprstats.setupdatemetrics.md +2 -0
  16. package/docs/api/player.clicktopause.md +1 -1
  17. package/docs/api/player.clipsplugin.md +1 -1
  18. package/docs/api/player.clipspluginsettings.md +5 -2
  19. package/docs/api/player.clipspluginsettings.text.md +3 -0
  20. package/docs/api/player.containerpluginconstructor.md +17 -0
  21. package/docs/api/player.containersize.md +0 -3
  22. package/docs/api/player.contextmenu.md +1 -1
  23. package/docs/api/player.corepluginconstructor.md +17 -0
  24. package/docs/api/player.dashsettings.md +0 -3
  25. package/docs/api/player.dvrcontrols.md +2 -35
  26. package/docs/api/player.errorlevel.md +0 -3
  27. package/docs/api/player.errorscreen.md +1 -220
  28. package/docs/api/{player.errorscreen.render.md → player.errorscreenpluginsettings.md} +7 -7
  29. package/docs/api/player.favicon.md +1 -1
  30. package/docs/api/player.googleanalytics.md +1 -1
  31. package/docs/api/player.langtag.md +0 -3
  32. package/docs/api/player.levelselector.md +3 -9
  33. package/docs/api/{player.errorscreen.bindevents.md → player.levelselectorpluginsettings.labels.md} +11 -5
  34. package/docs/api/player.levelselectorpluginsettings.md +79 -0
  35. package/docs/api/{player.errorscreen.unbindevents.md → player.levelselectorpluginsettings.restrictresolution.md} +5 -7
  36. package/docs/api/player.logo.md +1 -1
  37. package/docs/api/player.md +131 -65
  38. package/docs/api/{player.errorscreen.container.md → player.mediacontrol.currentseekpos.md} +3 -3
  39. package/docs/api/player.mediacontrol.disable.md +1 -1
  40. package/docs/api/player.mediacontrol.md +24 -3
  41. package/docs/api/{player.gearevents.md → player.mediacontrolevents.md} +4 -4
  42. package/docs/api/player.multicamera.md +1 -29
  43. package/docs/api/player.pictureinpicture.md +1 -1
  44. package/docs/api/player.playbackerror.code.md +0 -3
  45. package/docs/api/player.playbackerror.description.md +0 -3
  46. package/docs/api/player.playbackerror.level.md +0 -3
  47. package/docs/api/player.playbackerror.md +25 -9
  48. package/docs/api/player.playbackerror.message.md +0 -3
  49. package/docs/api/player.playbackerror.origin.md +0 -3
  50. package/docs/api/player.playbackerror.scope.md +0 -3
  51. package/docs/api/player.playbackerror.ui.md +17 -0
  52. package/docs/api/player.playbackerrorcode.md +6 -9
  53. package/docs/api/player.playbackmodule.md +0 -3
  54. package/docs/api/{player.dvrcontrols._constructor_.md → player.playbackrate._constructor_.md} +3 -3
  55. package/docs/api/player.playbackrate.md +35 -2
  56. package/docs/api/player.playbacktype.md +1 -4
  57. package/docs/api/player.player._constructor_.md +0 -3
  58. package/docs/api/player.player.attachto.md +0 -3
  59. package/docs/api/player.player.configure.md +0 -3
  60. package/docs/api/player.player.destroy.md +0 -3
  61. package/docs/api/player.player.getcurrenttime.md +0 -3
  62. package/docs/api/player.player.getduration.md +0 -3
  63. package/docs/api/player.player.getvolume.md +0 -3
  64. package/docs/api/player.player.isdvrenabled.md +0 -3
  65. package/docs/api/player.player.isdvrinuse.md +0 -3
  66. package/docs/api/player.player.ismuted.md +0 -3
  67. package/docs/api/player.player.isplaying.md +0 -3
  68. package/docs/api/player.player.md +25 -28
  69. package/docs/api/player.player.mute.md +0 -3
  70. package/docs/api/player.player.off.md +0 -3
  71. package/docs/api/player.player.on.md +0 -3
  72. package/docs/api/player.player.pause.md +0 -3
  73. package/docs/api/player.player.play.md +0 -3
  74. package/docs/api/player.player.registerplugin.md +2 -5
  75. package/docs/api/player.player.resize.md +0 -3
  76. package/docs/api/player.player.seek.md +0 -3
  77. package/docs/api/player.player.setvolume.md +0 -3
  78. package/docs/api/player.player.stop.md +0 -3
  79. package/docs/api/player.player.unmute.md +0 -3
  80. package/docs/api/player.player.unregisterplugin.md +14 -7
  81. package/docs/api/player.playercomponenttype.md +0 -3
  82. package/docs/api/player.playerconfig.autoplay.md +0 -3
  83. package/docs/api/player.playerconfig.dash.md +0 -3
  84. package/docs/api/player.playerconfig.debug.md +0 -3
  85. package/docs/api/player.playerconfig.language.md +0 -3
  86. package/docs/api/player.playerconfig.loop.md +0 -3
  87. package/docs/api/player.playerconfig.md +10 -13
  88. package/docs/api/player.playerconfig.mute.md +0 -3
  89. package/docs/api/player.playerconfig.playbacktype.md +0 -3
  90. package/docs/api/player.playerconfig.prioritytransport.md +0 -3
  91. package/docs/api/player.playerconfig.sources.md +0 -3
  92. package/docs/api/player.playerconfig.strings.md +0 -3
  93. package/docs/api/player.playerdebugsettings.md +0 -3
  94. package/docs/api/player.playerdebugtag.md +0 -3
  95. package/docs/api/player.playerevent.md +11 -14
  96. package/docs/api/player.playereventhandler.md +0 -3
  97. package/docs/api/player.playereventparams.md +0 -3
  98. package/docs/api/player.playermediasource.md +0 -3
  99. package/docs/api/player.playermediasourcedesc.md +2 -5
  100. package/docs/api/player.playermediasourcedesc.mimetype.md +0 -3
  101. package/docs/api/player.playermediasourcedesc.source.md +0 -3
  102. package/docs/api/player.playerplugin.md +0 -4
  103. package/docs/api/player.playerpluginconstructor.md +14 -0
  104. package/docs/api/player.poster.md +1 -1
  105. package/docs/api/player.qualitylevel.bitrate.md +0 -3
  106. package/docs/api/player.qualitylevel.height.md +0 -3
  107. package/docs/api/player.qualitylevel.level.md +0 -3
  108. package/docs/api/player.qualitylevel.md +4 -7
  109. package/docs/api/player.qualitylevel.width.md +0 -3
  110. package/docs/api/player.seektime.md +1 -1
  111. package/docs/api/player.share.attributes.md +3 -0
  112. package/docs/api/player.share.bindevents.md +3 -0
  113. package/docs/api/player.share.canshowshare.md +3 -0
  114. package/docs/api/player.share.events.md +3 -0
  115. package/docs/api/player.share.hideshare.md +3 -0
  116. package/docs/api/player.share.initializeicons.md +3 -0
  117. package/docs/api/player.share.md +40 -1
  118. package/docs/api/player.share.name.md +3 -0
  119. package/docs/api/player.share.onshareembedclick.md +3 -0
  120. package/docs/api/player.share.onsharefb.md +3 -0
  121. package/docs/api/player.share.onsharehide.md +3 -0
  122. package/docs/api/player.share.onsharelinkclick.md +3 -0
  123. package/docs/api/player.share.onshareshow.md +3 -0
  124. package/docs/api/player.share.onsharetw.md +3 -0
  125. package/docs/api/player.share.render.md +3 -0
  126. package/docs/api/player.share.showshare.md +3 -0
  127. package/docs/api/player.share.supportedversion.md +3 -0
  128. package/docs/api/player.share.template.md +3 -0
  129. package/docs/api/player.share.unbindevents.md +3 -0
  130. package/docs/api/player.skiptime.attributes.md +3 -0
  131. package/docs/api/player.skiptime.bindevents.md +3 -0
  132. package/docs/api/player.skiptime.container.md +3 -0
  133. package/docs/api/player.skiptime.events.md +3 -0
  134. package/docs/api/player.skiptime.handlerewindclicks.md +3 -0
  135. package/docs/api/player.skiptime.md +30 -1
  136. package/docs/api/player.skiptime.name.md +3 -0
  137. package/docs/api/player.skiptime.render.md +3 -0
  138. package/docs/api/player.skiptime.setback.md +3 -0
  139. package/docs/api/player.skiptime.setforward.md +3 -0
  140. package/docs/api/player.skiptime.setmidclick.md +3 -0
  141. package/docs/api/player.skiptime.supportedversion.md +3 -0
  142. package/docs/api/player.skiptime.template.md +3 -0
  143. package/docs/api/player.skiptime.togglefullscreen.md +3 -0
  144. package/docs/api/player.sourcecontroller.md +1 -1
  145. package/docs/api/player.spinnerevents.md +4 -1
  146. package/docs/api/player.spinnerthreebounce.hide.md +1 -1
  147. package/docs/api/player.spinnerthreebounce.md +7 -5
  148. package/docs/api/player.spinnerthreebounce.show.md +40 -2
  149. package/docs/api/player.subtitles.md +1 -1
  150. package/docs/api/player.telemetry.md +1 -1
  151. package/docs/api/player.telemetrypluginsettings.md +1 -1
  152. package/docs/api/{player.errorscreen.hide.md → player.telemetrysendfn.md} +6 -6
  153. package/docs/api/player.thumbnails.md +1 -1
  154. package/docs/api/player.timeposition.current.md +0 -3
  155. package/docs/api/player.timeposition.md +2 -5
  156. package/docs/api/player.timeposition.total.md +0 -3
  157. package/docs/api/player.timevalue.md +0 -3
  158. package/docs/api/player.translationkey.md +0 -3
  159. package/docs/api/player.translationsettings.md +0 -3
  160. package/docs/api/player.transportpreference.md +2 -7
  161. package/docs/api/player.volumefade.md +1 -1
  162. package/lib/Player.d.ts +18 -9
  163. package/lib/Player.d.ts.map +1 -1
  164. package/lib/Player.js +19 -14
  165. package/lib/index.core.d.ts +0 -1
  166. package/lib/index.core.d.ts.map +1 -1
  167. package/lib/index.core.js +0 -1
  168. package/lib/index.d.ts +18 -1
  169. package/lib/index.d.ts.map +1 -1
  170. package/lib/index.js +18 -1
  171. package/lib/index.plugins.d.ts +0 -1
  172. package/lib/index.plugins.d.ts.map +1 -1
  173. package/lib/index.plugins.js +0 -1
  174. package/lib/playback/hls-playback/HlsPlayback.d.ts.map +1 -1
  175. package/lib/playback/hls-playback/HlsPlayback.js +1 -1
  176. package/lib/playback.types.d.ts +8 -7
  177. package/lib/playback.types.d.ts.map +1 -1
  178. package/lib/playback.types.js +1 -1
  179. package/lib/plugins/audio-selector/AudioSelector.d.ts +1 -1
  180. package/lib/plugins/audio-selector/AudioSelector.js +1 -1
  181. package/lib/plugins/big-mute-button/BigMuteButton.d.ts +1 -1
  182. package/lib/plugins/big-mute-button/BigMuteButton.d.ts.map +1 -1
  183. package/lib/plugins/big-mute-button/BigMuteButton.js +1 -2
  184. package/lib/plugins/bottom-gear/BottomGear.d.ts +2 -2
  185. package/lib/plugins/bottom-gear/BottomGear.d.ts.map +1 -1
  186. package/lib/plugins/bottom-gear/BottomGear.js +1 -1
  187. package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.d.ts +1 -1
  188. package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.js +1 -1
  189. package/lib/plugins/clappr-nerd-stats/speedtest/Speedtest.d.ts.map +1 -1
  190. package/lib/plugins/clappr-nerd-stats/speedtest/Speedtest.js +8 -8
  191. package/lib/plugins/clappr-stats/ClapprStats.d.ts +4 -5
  192. package/lib/plugins/clappr-stats/ClapprStats.d.ts.map +1 -1
  193. package/lib/plugins/clappr-stats/ClapprStats.js +4 -3
  194. package/lib/plugins/click-to-pause/ClickToPause.d.ts +1 -1
  195. package/lib/plugins/click-to-pause/ClickToPause.js +1 -1
  196. package/lib/plugins/clips/Clips.d.ts +3 -2
  197. package/lib/plugins/clips/Clips.d.ts.map +1 -1
  198. package/lib/plugins/clips/Clips.js +1 -1
  199. package/lib/plugins/context-menu/ContextMenu.d.ts +1 -1
  200. package/lib/plugins/context-menu/ContextMenu.d.ts.map +1 -1
  201. package/lib/plugins/context-menu/ContextMenu.js +1 -1
  202. package/lib/plugins/dvr-controls/DvrControls.d.ts +7 -4
  203. package/lib/plugins/dvr-controls/DvrControls.d.ts.map +1 -1
  204. package/lib/plugins/dvr-controls/DvrControls.js +29 -36
  205. package/lib/plugins/error-screen/ErrorScreen.d.ts +8 -14
  206. package/lib/plugins/error-screen/ErrorScreen.d.ts.map +1 -1
  207. package/lib/plugins/error-screen/ErrorScreen.js +1 -1
  208. package/lib/plugins/favicon/Favicon.d.ts +1 -1
  209. package/lib/plugins/favicon/Favicon.js +1 -1
  210. package/lib/plugins/google-analytics/GoogleAnalytics.d.ts +1 -1
  211. package/lib/plugins/google-analytics/GoogleAnalytics.js +1 -1
  212. package/lib/plugins/index.d.ts +0 -1
  213. package/lib/plugins/index.d.ts.map +1 -1
  214. package/lib/plugins/index.js +0 -1
  215. package/lib/plugins/kibo/index.d.ts +0 -3
  216. package/lib/plugins/kibo/index.d.ts.map +1 -1
  217. package/lib/plugins/kibo/index.js +0 -3
  218. package/lib/plugins/level-selector/LevelSelector.d.ts +6 -4
  219. package/lib/plugins/level-selector/LevelSelector.d.ts.map +1 -1
  220. package/lib/plugins/level-selector/LevelSelector.js +2 -4
  221. package/lib/plugins/logo/Logo.d.ts +1 -1
  222. package/lib/plugins/logo/Logo.js +1 -1
  223. package/lib/plugins/media-control/MediaControl.d.ts +11 -5
  224. package/lib/plugins/media-control/MediaControl.d.ts.map +1 -1
  225. package/lib/plugins/media-control/MediaControl.js +17 -5
  226. package/lib/plugins/multi-camera/MultiCamera.d.ts +3 -11
  227. package/lib/plugins/multi-camera/MultiCamera.d.ts.map +1 -1
  228. package/lib/plugins/multi-camera/MultiCamera.js +1 -1
  229. package/lib/plugins/picture-in-picture/PictureInPicture.d.ts +1 -1
  230. package/lib/plugins/picture-in-picture/PictureInPicture.js +1 -1
  231. package/lib/plugins/playback-rate/PlaybackRate.d.ts +1 -1
  232. package/lib/plugins/playback-rate/PlaybackRate.js +1 -1
  233. package/lib/plugins/poster/Poster.d.ts +1 -1
  234. package/lib/plugins/poster/Poster.js +3 -3
  235. package/lib/plugins/seek-time/SeekTime.d.ts +1 -1
  236. package/lib/plugins/seek-time/SeekTime.js +1 -1
  237. package/lib/plugins/share/Share.d.ts +2 -1
  238. package/lib/plugins/share/Share.d.ts.map +1 -1
  239. package/lib/plugins/share/Share.js +2 -1
  240. package/lib/plugins/skip-time/SkipTime.d.ts +2 -1
  241. package/lib/plugins/skip-time/SkipTime.d.ts.map +1 -1
  242. package/lib/plugins/skip-time/SkipTime.js +2 -1
  243. package/lib/plugins/source-controller/SourceController.d.ts +1 -1
  244. package/lib/plugins/source-controller/SourceController.js +4 -4
  245. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts +6 -3
  246. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts.map +1 -1
  247. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.js +6 -3
  248. package/lib/plugins/subtitles/Subtitles.d.ts +1 -1
  249. package/lib/plugins/subtitles/Subtitles.js +1 -1
  250. package/lib/plugins/telemetry/Telemetry.d.ts +2 -3
  251. package/lib/plugins/telemetry/Telemetry.d.ts.map +1 -1
  252. package/lib/plugins/telemetry/Telemetry.js +1 -1
  253. package/lib/plugins/thumbnails/Thumbnails.d.ts +1 -1
  254. package/lib/plugins/thumbnails/Thumbnails.js +1 -1
  255. package/lib/plugins/vast-ads/VastAds.d.ts.map +1 -1
  256. package/lib/plugins/vast-ads/VastAds.js +3 -3
  257. package/lib/plugins/vast-ads/roll.d.ts +1 -1
  258. package/lib/plugins/vast-ads/roll.d.ts.map +1 -1
  259. package/lib/plugins/vast-ads/rollmanager.d.ts +1 -1
  260. package/lib/plugins/vast-ads/rollmanager.d.ts.map +1 -1
  261. package/lib/plugins/vast-ads/rollmanager.js +2 -2
  262. package/lib/plugins/volume-fade/VolumeFade.d.ts +1 -1
  263. package/lib/plugins/volume-fade/VolumeFade.js +1 -1
  264. package/lib/testUtils.d.ts +11 -2
  265. package/lib/testUtils.d.ts.map +1 -1
  266. package/lib/testUtils.js +22 -3
  267. package/lib/types.d.ts +38 -27
  268. package/lib/types.d.ts.map +1 -1
  269. package/lib/types.js +1 -1
  270. package/lib/utils/types.d.ts +0 -6
  271. package/lib/utils/types.d.ts.map +1 -1
  272. package/package.json +1 -1
  273. package/src/Player.ts +23 -21
  274. package/src/index.core.ts +0 -1
  275. package/src/index.plugins.ts +0 -1
  276. package/src/index.ts +18 -1
  277. package/src/playback/hls-playback/HlsPlayback.ts +7 -11
  278. package/src/playback.types.ts +8 -7
  279. package/src/plugins/audio-selector/AudioSelector.ts +2 -2
  280. package/src/plugins/big-mute-button/BigMuteButton.ts +2 -3
  281. package/src/plugins/bottom-gear/BottomGear.ts +2 -2
  282. package/src/plugins/clappr-nerd-stats/ClapprNerdStats.ts +2 -2
  283. package/src/plugins/clappr-nerd-stats/speedtest/Speedtest.ts +184 -187
  284. package/src/plugins/clappr-stats/ClapprStats.ts +5 -4
  285. package/src/plugins/click-to-pause/ClickToPause.ts +1 -1
  286. package/src/plugins/clips/Clips.ts +4 -3
  287. package/src/plugins/context-menu/ContextMenu.ts +1 -3
  288. package/src/plugins/dvr-controls/DvrControls.ts +34 -45
  289. package/src/plugins/dvr-controls/__tests__/DvrControls.test.ts +91 -0
  290. package/src/plugins/dvr-controls/__tests__/__snapshots__/DvrControls.test.ts.snap +43 -0
  291. package/src/plugins/error-screen/ErrorScreen.ts +10 -17
  292. package/src/plugins/favicon/Favicon.ts +2 -2
  293. package/src/plugins/google-analytics/GoogleAnalytics.ts +1 -1
  294. package/src/plugins/index.ts +0 -1
  295. package/src/plugins/kibo/index.ts +0 -3
  296. package/src/plugins/level-selector/LevelSelector.ts +7 -5
  297. package/src/plugins/logo/Logo.ts +2 -2
  298. package/src/plugins/media-control/MediaControl.ts +20 -6
  299. package/src/plugins/multi-camera/MultiCamera.ts +4 -4
  300. package/src/plugins/picture-in-picture/PictureInPicture.ts +1 -1
  301. package/src/plugins/playback-rate/PlaybackRate.ts +2 -2
  302. package/src/plugins/poster/Poster.ts +4 -4
  303. package/src/plugins/seek-time/SeekTime.ts +2 -2
  304. package/src/plugins/share/Share.ts +2 -1
  305. package/src/plugins/skip-time/SkipTime.ts +2 -1
  306. package/src/plugins/source-controller/SourceController.ts +4 -4
  307. package/src/plugins/source-controller/__tests__/SourceController.test.ts +2 -2
  308. package/src/plugins/spinner-three-bounce/SpinnerThreeBounce.ts +6 -3
  309. package/src/plugins/subtitles/Subtitles.ts +2 -2
  310. package/src/plugins/telemetry/Telemetry.ts +2 -2
  311. package/src/plugins/thumbnails/Thumbnails.ts +2 -2
  312. package/src/plugins/vast-ads/VastAds.ts +5 -4
  313. package/src/plugins/vast-ads/roll.ts +2 -1
  314. package/src/plugins/vast-ads/rollmanager.ts +3 -3
  315. package/src/plugins/volume-fade/VolumeFade.ts +1 -1
  316. package/src/testUtils.ts +28 -4
  317. package/src/types.ts +41 -28
  318. package/src/utils/types.ts +0 -8
  319. package/temp/player.api.json +680 -786
  320. package/tsconfig.tsbuildinfo +1 -1
  321. package/docs/api/player.clapprstats.onbitrate.md +0 -52
  322. package/docs/api/player.errorscreen.attributes.md +0 -17
  323. package/docs/api/player.errorscreen.name.md +0 -14
  324. package/docs/api/player.errorscreen.show.md +0 -54
  325. package/docs/api/player.errorscreen.supportedversion.md +0 -16
  326. package/docs/api/player.errorscreen.template.md +0 -14
  327. package/docs/api/player.mediatransport.md +0 -16
  328. package/docs/api/player.multicamera.getcameraslist.md +0 -18
  329. package/docs/api/player.multicamera.getcurrentcamera.md +0 -18
@@ -32340,7 +32340,7 @@ const VERSION$6 = '0.0.1';
32340
32340
  // const T = 'plugins.audio_selector';
32341
32341
  const AUTO = 0;
32342
32342
  /**
32343
- * Adds an audio track selector to the media control UI.
32343
+ * `PLUGIN` that adds an audio track selector to the media control UI.
32344
32344
  * @beta
32345
32345
  */
32346
32346
  class AudioSelector extends UICorePlugin {
@@ -32652,7 +32652,7 @@ const pluginHtml$6 = "<div class=\"big-mute-icon-wrapper\" data-big-mute>\n <
32652
32652
  const T$c = 'plugins.big_mute_button';
32653
32653
  // TODO rewrite as a container plugin
32654
32654
  /**
32655
- * Displays a big mute button over the video when it's muted.
32655
+ * `PLUGIN` that displays a big mute button over the video when it's muted.
32656
32656
  * Once pressed, it unmutes the video.
32657
32657
  * @beta
32658
32658
  */
@@ -32687,7 +32687,6 @@ class BigMuteButton extends UICorePlugin {
32687
32687
  * @internal
32688
32688
  */
32689
32689
  bindEvents() {
32690
- super.bindEvents();
32691
32690
  this.listenTo(this.core, Events$1.CORE_READY, this.onCoreReady);
32692
32691
  this.listenTo(this.core, 'core:advertisement:start', this.onStartAd);
32693
32692
  this.listenTo(this.core, 'core:advertisement:finish', this.onFinishAd);
@@ -32796,9 +32795,6 @@ const gearHdIcon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\
32796
32795
  /* eslint-disable */
32797
32796
  // Kibo is released under the MIT License. Copyright (c) 2013 marquete.
32798
32797
  // see https://github.com/marquete/kibo
32799
- /**
32800
- * @internal
32801
- */
32802
32798
  class Kibo {
32803
32799
  element;
32804
32800
  lastKeyCode = -1;
@@ -33066,9 +33062,11 @@ const fullscreenOffIcon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"
33066
33062
 
33067
33063
  const fullscreenOnIcon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M15.1568 23.15C15.7408 23.15 16.2142 22.6766 16.2142 22.0926V17.1947C16.2142 16.7253 16.5948 16.3447 17.0642 16.3447H21.9621C22.5461 16.3447 23.0195 15.8713 23.0195 15.2873C23.0195 14.7034 22.5461 14.2299 21.9621 14.2299H16.0642C14.9832 14.2299 14.0995 15.1137 14.0995 16.1947V22.0926C14.0995 22.6766 14.5729 23.15 15.1568 23.15Z\"\n fill=\"#C9C9C9\" stroke=\"#C9C9C9\" stroke-width=\"0.3\"/>\n <path\n d=\"M1.90739 10.7701H7.80528C8.88627 10.7701 9.77006 9.88627 9.77006 8.80528V2.90739C9.77006 2.32341 9.29665 1.85 8.71267 1.85C8.12869 1.85 7.65528 2.32341 7.65528 2.90739V7.80528C7.65528 8.27472 7.27472 8.65528 6.80528 8.65528H1.90739C1.32341 8.65528 0.85 9.12869 0.85 9.71267C0.85 10.2966 1.32341 10.7701 1.90739 10.7701Z\"\n fill=\"#C9C9C9\" stroke=\"#C9C9C9\" stroke-width=\"0.3\"/>\n <path\n d=\"M8.71261 23.15C9.29659 23.15 9.77 22.6766 9.77 22.0926V16.1947C9.77 15.1137 8.88621 14.2299 7.80521 14.2299H1.90733C1.32335 14.2299 0.849939 14.7034 0.849939 15.2873C0.849939 15.8713 1.32335 16.3447 1.90733 16.3447H6.80521C7.27466 16.3447 7.65521 16.7253 7.65521 17.1947V22.0926C7.65521 22.6766 8.12862 23.15 8.71261 23.15Z\"\n fill=\"#C9C9C9\" stroke=\"#C9C9C9\" stroke-width=\"0.3\"/>\n <path\n d=\"M21.9621 10.7701C22.5461 10.7701 23.0195 10.2966 23.0195 9.71267C23.0195 9.12869 22.5461 8.65528 21.9621 8.65528H17.0642C16.5948 8.65528 16.2142 8.27472 16.2142 7.80528V2.90739C16.2142 2.32341 15.7408 1.85 15.1568 1.85C14.5729 1.85 14.0995 2.32341 14.0995 2.90739V8.80528C14.0995 9.88627 14.9832 10.7701 16.0642 10.7701H21.9621Z\"\n fill=\"#C9C9C9\" stroke=\"#C9C9C9\" stroke-width=\"0.3\"/>\n</svg>\n";
33068
33064
 
33065
+ // This is a derived work from the {@link https://github.com/clappr/clappr-plugins/tree/ffaa9d27005fa5a8a7c243ffc47eb5655b84b371/src/plugins/media_control | Clappr MediaControl plugin}
33066
+ // It is redistributed under the terms of the {@link ../../../../../LICENSE | Apache 2.0} license.
33069
33067
  // Copyright 2014 Globo.com Player authors. All rights reserved.
33070
33068
  // Use of this source code is governed by a BSD-style
33071
- // license that can be found in the LICENSE file.
33069
+ // license that can be found in the {@link https://github.com/clappr/clappr-plugins/blob/master/LICENSE | LICENSE}.
33072
33070
  /**
33073
33071
  * Custom events emitted by the plugins to communicate with one another
33074
33072
  * @beta
@@ -33096,11 +33094,11 @@ function orderByOrderPattern(arr, order) {
33096
33094
  return [...ordered, ...rest];
33097
33095
  }
33098
33096
  /**
33099
- * The MediaControl provides a foundation for developing custom media controls UI.
33097
+ * `PLUGIN` that provides a foundation for developing custom media controls UI.
33100
33098
  * @beta
33101
33099
  * @remarks
33102
33100
  * The methods exposed are to be used by the other plugins that extend the media control UI.
33103
- * The plugin registration should be arranged so that MediaControl is initialized before every other plugin that depends on it.
33101
+ * The plugin registration should be arranged so that MediaControl is initialized before every other `PLUGIN` that depends on it.
33104
33102
  * @example
33105
33103
  * ```ts
33106
33104
  * Player.registerPlugin(MediaControl) // <--- This must go first
@@ -33178,14 +33176,14 @@ class MediaControl extends UICorePlugin {
33178
33176
  }
33179
33177
  /**
33180
33178
  * @internal
33181
- * @deprecated
33179
+ * @deprecated Use core.activeContainer directly
33182
33180
  */
33183
33181
  get container() {
33184
33182
  return this.core.activeContainer;
33185
33183
  }
33186
33184
  /**
33187
33185
  * @internal
33188
- * @deprecated
33186
+ * @deprecated Use core.activePlayback directly
33189
33187
  */
33190
33188
  get playback() {
33191
33189
  return this.core.activePlayback;
@@ -33885,6 +33883,16 @@ class MediaControl extends UICorePlugin {
33885
33883
  getRightPanel() {
33886
33884
  return this.$el.find('.media-control-right-panel');
33887
33885
  }
33886
+ /**
33887
+ * Get the left panel area to append custom elements to
33888
+ * @returns ZeptoSelector of the left panel element
33889
+ */
33890
+ getLeftPanel() {
33891
+ return this.$el.find('.media-control-left-panel');
33892
+ }
33893
+ getCenterPanel() {
33894
+ return this.$el.find('.media-control-center-panel');
33895
+ }
33888
33896
  resetIndicators() {
33889
33897
  assert.ok(this.$duration && this.$position, 'duration and position elements must be present');
33890
33898
  this.displayedPosition = this.$position.text();
@@ -34160,7 +34168,7 @@ MediaControl.extend = function (properties) {
34160
34168
 
34161
34169
  const VERSION$5 = '2.19.12';
34162
34170
  /**
34163
- * Adds the gear button that triggers extra options menu on the right side of the {@link MediaControl | media control} UI
34171
+ * `PLUGIN` that adds the gear button with an extra options menu on the right side of the {@link MediaControl | media control} UI
34164
34172
  * @beta
34165
34173
  * @remarks
34166
34174
  * The plugins provides a base for attaching custom settings UI in the gear menu
@@ -35923,7 +35931,7 @@ class Speedtest {
35923
35931
  this._state = 1;
35924
35932
  }
35925
35933
  if (this._state !== 1) {
35926
- throw 'You can\'t add a server after server selection';
35934
+ throw "You can't add a server after server selection";
35927
35935
  }
35928
35936
  this._settings.mpot = true;
35929
35937
  this._serverList.push(server);
@@ -35942,7 +35950,7 @@ class Speedtest {
35942
35950
  setSelectedServer(server) {
35943
35951
  this._checkServerDefinition(server);
35944
35952
  if (this._state === 3) {
35945
- throw 'You can\'t select a server while the test is running';
35953
+ throw "You can't select a server while the test is running";
35946
35954
  }
35947
35955
  this._selectedServer = server;
35948
35956
  this._state = 2;
@@ -35956,7 +35964,7 @@ class Speedtest {
35956
35964
  throw 'Server already selected';
35957
35965
  }
35958
35966
  if (this._state >= 3) {
35959
- throw 'You can\'t select a server while the test is running';
35967
+ throw "You can't select a server while the test is running";
35960
35968
  }
35961
35969
  }
35962
35970
  if (this._selectServerCalled) {
@@ -35966,7 +35974,7 @@ class Speedtest {
35966
35974
  this._selectServerCalled = true;
35967
35975
  }
35968
35976
  /*this function goes through a list of servers. For each server, the ping is measured, then the server with the function result is called with the best server, or null if all the servers were down.
35969
- */
35977
+ */
35970
35978
  const select = (serverList, result) => {
35971
35979
  //pings the specified URL, then calls the function result. Result will receive a parameter which is either the time it took to ping the URL, or -1 if something went wrong.
35972
35980
  const PING_TIMEOUT = 2000;
@@ -36064,7 +36072,7 @@ class Speedtest {
36064
36072
  }
36065
36073
  result(bestServer);
36066
36074
  };
36067
- serverList.forEach(server => {
36075
+ serverList.forEach((server) => {
36068
36076
  checkServer(server, done);
36069
36077
  });
36070
36078
  if (i === serverList.length) {
@@ -36153,12 +36161,12 @@ class Speedtest {
36153
36161
  if (typeof this._originalExtra !== 'undefined') {
36154
36162
  this._settings.telemetry_extra = JSON.stringify({
36155
36163
  server: this._selectedServer.name,
36156
- extra: this._originalExtra
36164
+ extra: this._originalExtra,
36157
36165
  });
36158
36166
  }
36159
36167
  else {
36160
36168
  this._settings.telemetry_extra = JSON.stringify({
36161
- server: this._selectedServer.name
36169
+ server: this._selectedServer.name,
36162
36170
  });
36163
36171
  }
36164
36172
  }
@@ -36168,7 +36176,7 @@ class Speedtest {
36168
36176
  }
36169
36177
  abort() {
36170
36178
  if (this._state < 3) {
36171
- throw new Error('You cannot abort a test that\'s not started yet');
36179
+ throw new Error("You cannot abort a test that's not started yet");
36172
36180
  }
36173
36181
  if (this._state < 4) {
36174
36182
  this.worker?.postMessage('abort');
@@ -36413,7 +36421,7 @@ const drawSummary = (customMetrics, vodContainer, liveContainer) => {
36413
36421
  };
36414
36422
  // const T = 'plugins.clappr_nerd_stats';
36415
36423
  /**
36416
- * Displays useful network-related statistics.
36424
+ * `PLUGIN` that displays useful network-related statistics.
36417
36425
  * @beta
36418
36426
  *
36419
36427
  * @remarks
@@ -36669,7 +36677,7 @@ function newMetrics() {
36669
36677
  // TODO: fix
36670
36678
  const updateMetrics = () => { };
36671
36679
  /**
36672
- * Collects useful statistics about playback performance.
36680
+ * `PLUGIN` that collects useful statistics about playback performance.
36673
36681
  * @beta
36674
36682
  * @remarks
36675
36683
  * This plugin does not render anything and is supposed to be extended or used together with other plugins that actually render something.
@@ -36732,9 +36740,10 @@ class ClapprStats extends ContainerPlugin {
36732
36740
  }
36733
36741
  /**
36734
36742
  * Registers a callback to receive the metrics.
36735
- * @param updateMetricsFn
36743
+ * @param updateMetricsFn - The callback to receive the metrics
36736
36744
  */
36737
36745
  setUpdateMetrics(updateMetricsFn) {
36746
+ // TODO use events instead
36738
36747
  this.updateFn = updateMetricsFn;
36739
36748
  }
36740
36749
  _defaultReport(metrics) {
@@ -36782,7 +36791,7 @@ class ClapprStats extends ContainerPlugin {
36782
36791
  }
36783
36792
  /**
36784
36793
  * Returns the collected metrics.
36785
- * @returns The collected metrics
36794
+ * @returns Currently collected metrics
36786
36795
  */
36787
36796
  exportMetrics() {
36788
36797
  return structuredClone(this.metrics);
@@ -37025,7 +37034,7 @@ class ClapprStats extends ContainerPlugin {
37025
37034
  // Use of this source code is governed by a BSD-style
37026
37035
  // license that can be found at https://github.com/clappr/clappr-plugins/blob/master/LICENSE.
37027
37036
  /**
37028
- * Adds a behavior of toggling the playback state on click over the container
37037
+ * `PLUGIN` that adds a behavior of toggling the playback state on click over the container
37029
37038
  * @beta
37030
37039
  */
37031
37040
  class ClickToPause extends ContainerPlugin {
@@ -37092,7 +37101,7 @@ class ClickToPause extends ContainerPlugin {
37092
37101
  }
37093
37102
 
37094
37103
  /**
37095
- * Adds a behavior of showing a text over the seekbar to indicate the current clip.
37104
+ * `PLUGIN` that shows text over the seekbar to indicate the current clip.
37096
37105
  * @beta
37097
37106
  * @remarks
37098
37107
  * Depends on:
@@ -37248,7 +37257,7 @@ class ClipsPlugin extends UICorePlugin {
37248
37257
 
37249
37258
  const templateHtml$1 = "<ul class=\"context-menu-list\">\n <% if(options) { %>\n <% for (var i = 0; i < options.length; i++) { %>\n <li class=\"context-menu-list-item <%= options[i].class %>\"\n data-<%= options[i].name %>><%= options[i].label %></li>\n <% } %>\n <% } %>\n</ul>\n";
37250
37259
 
37251
- var version$1 = "2.20.8";
37260
+ var version$1 = "2.20.11";
37252
37261
 
37253
37262
  var packages = {
37254
37263
  "node_modules/@clappr/core": {
@@ -37273,7 +37282,7 @@ function version() {
37273
37282
  }
37274
37283
 
37275
37284
  /**
37276
- * Displays a small context menu when clicked on the player container.
37285
+ * `PLUGIN` that displays a small context menu when clicked on the player container.
37277
37286
  * @beta
37278
37287
  * @remarks
37279
37288
  * Configuration options - {@link ContextMenuPluginSettings}
@@ -37385,7 +37394,8 @@ const dvrHTML = "<div class=\"live-info\"><%= live %></div>\n<button type=\"butt
37385
37394
 
37386
37395
  const T$b = 'plugins.dvr_controls';
37387
37396
  /**
37388
- * Adds the DVR controls to the media control UI
37397
+ * `PLUGIN` that adds the DVR controls to the media control UI
37398
+ *
37389
37399
  * @beta
37390
37400
  *
37391
37401
  * @remarks
@@ -37393,7 +37403,9 @@ const T$b = 'plugins.dvr_controls';
37393
37403
  *
37394
37404
  * - {@link MediaControl}
37395
37405
  *
37396
- * The plugin renders the live stream indicator and the DVR seek bar, if DVR is enabled, in the media control UI.
37406
+ * The plugin renders live stream indicator.
37407
+ * If DVR is enabled, the indicator shows whether the current position is at the live edge of the stream or not.
37408
+ * In the latter case, the indicator can be clicked to seek to the live edge.
37397
37409
  */
37398
37410
  class DvrControls extends UICorePlugin {
37399
37411
  static template = tmpl(dvrHTML);
@@ -37426,64 +37438,56 @@ class DvrControls extends UICorePlugin {
37426
37438
  'data-dvr-controls': '',
37427
37439
  };
37428
37440
  }
37429
- constructor(core) {
37430
- super(core);
37431
- this.settingsUpdate();
37432
- }
37433
37441
  /**
37434
37442
  * @internal
37435
37443
  */
37436
37444
  bindEvents() {
37445
+ this.listenTo(this.core, Events$1.CORE_READY, this.onCoreReady);
37446
+ this.listenTo(this.core, Events$1.CORE_OPTIONS_CHANGE, this.render);
37447
+ this.listenTo(this.core, Events$1.CORE_ACTIVE_CONTAINER_CHANGED, this.bindContainerEvents);
37448
+ }
37449
+ onCoreReady() {
37437
37450
  const mediaControl = this.core.getPlugin('media_control');
37438
37451
  assert(mediaControl, 'media_control plugin is required');
37439
37452
  this.listenTo(mediaControl, Events$1.MEDIACONTROL_RENDERED, this.settingsUpdate);
37440
- this.listenTo(this.core, Events$1.CORE_OPTIONS_CHANGE, this.render);
37441
- this.listenTo(this.core, Events$1.CORE_ACTIVE_CONTAINER_CHANGED, this.bindContainerEvents);
37453
+ this.settingsUpdate();
37442
37454
  }
37443
37455
  bindContainerEvents() {
37444
37456
  this.listenToOnce(this.core.activeContainer, Events$1.CONTAINER_TIMEUPDATE, this.render);
37445
37457
  this.listenTo(this.core.activeContainer, Events$1.CONTAINER_PLAYBACKDVRSTATECHANGED, this.onDvrChanged);
37446
37458
  }
37447
- onDvrChanged(dvrEnabled) {
37459
+ onDvrChanged(dvrInUse) {
37448
37460
  if (this.core.getPlaybackType() !== Playback.LIVE) {
37449
37461
  return;
37450
37462
  }
37451
- this.settingsUpdate();
37452
- this.core.mediaControl.$el.addClass('live');
37453
- if (dvrEnabled) {
37454
- // TODO
37455
- this.core.mediaControl.$el
37463
+ this.render();
37464
+ const mediaControl = this.core.getPlugin('media_control');
37465
+ mediaControl.$el.addClass('live');
37466
+ if (dvrInUse) {
37467
+ mediaControl.$el
37456
37468
  .addClass('dvr')
37457
- .find('.media-control-indicator[data-position], .media-control-indicator[data-duration]')
37469
+ .find(
37470
+ // TODO add API, test
37471
+ '.media-control-indicator[data-position], .media-control-indicator[data-duration]')
37458
37472
  .hide();
37459
37473
  }
37460
37474
  else {
37461
- this.core.mediaControl.$el.removeClass('dvr');
37475
+ mediaControl.$el.removeClass('dvr');
37462
37476
  }
37463
37477
  }
37464
37478
  click() {
37465
- const mediaControl = this.core.getPlugin('media_control');
37466
37479
  const container = this.core.activeContainer;
37467
37480
  if (!container.isPlaying()) {
37468
37481
  container.play();
37469
37482
  }
37470
- if (mediaControl.$el.hasClass('dvr')) {
37471
- container.seek(container.getDuration());
37472
- }
37483
+ container.seek(container.getDuration());
37473
37484
  }
37474
37485
  settingsUpdate() {
37475
- // @ts-ignore
37476
- this.stopListening(); // TODO sort out
37477
- this.core.getPlugin('media_control').$el.removeClass('live'); // TODO don't access directly
37478
- if (this.shouldRender()) {
37479
- this.render();
37480
- this.$el.click(() => this.click());
37481
- }
37482
- this.bindEvents();
37486
+ this.core.getPlugin('media_control').$el.removeClass('live');
37487
+ this.render();
37483
37488
  }
37484
37489
  shouldRender() {
37485
- const useDvrControls = this.core.options.useDvrControls === undefined ||
37486
- !!this.core.options.useDvrControls;
37490
+ const useDvrControls = this.core.options.useDvrControls !== false;
37487
37491
  return useDvrControls && this.core.getPlaybackType() === Playback.LIVE;
37488
37492
  }
37489
37493
  /**
@@ -37492,6 +37496,7 @@ class DvrControls extends UICorePlugin {
37492
37496
  render() {
37493
37497
  trace(`${T$b} render`, {
37494
37498
  dvrEnabled: this.core.activePlayback?.dvrEnabled,
37499
+ playbackType: this.core.getPlaybackType(),
37495
37500
  });
37496
37501
  if (!this.shouldRender()) {
37497
37502
  return this;
@@ -37501,12 +37506,8 @@ class DvrControls extends UICorePlugin {
37501
37506
  backToLive: this.core.i18n.t('back_to_live'),
37502
37507
  }));
37503
37508
  const mediaControl = this.core.getPlugin('media_control');
37504
- assert(mediaControl, 'media_control plugin is required');
37505
- // TODO don't tap into the $el directly
37506
37509
  mediaControl.$el.addClass('live');
37507
- mediaControl
37508
- .$('.media-control-left-panel[data-media-control]')
37509
- .append(this.$el);
37510
+ mediaControl.getLeftPanel().append(this.$el);
37510
37511
  return this;
37511
37512
  }
37512
37513
  }
@@ -37517,7 +37518,7 @@ const templateHtml = "<div class=\"player-error-screen__content\" data-error-scr
37517
37518
 
37518
37519
  const T$a = 'plugins.error_screen';
37519
37520
  /**
37520
- * Displays an error nicely in the overlay on top of the player.
37521
+ * `PLUGIN` that displays errors nicely in the overlay on top of the player.
37521
37522
  * @beta
37522
37523
  */
37523
37524
  class ErrorScreen extends UICorePlugin {
@@ -37628,7 +37629,7 @@ const FAVICON_COLOR = '#567';
37628
37629
  const FAVICON_SELECTOR = 'link[rel="shortcut icon"]';
37629
37630
  // const oldIcon = $(FAVICON_SELECTOR);
37630
37631
  /**
37631
- * The plugin adds custom favicon to the player's tab.
37632
+ * `PLUGIN` that adds custom favicon to the player's tab.
37632
37633
  * @beta
37633
37634
  */
37634
37635
  class Favicon extends CorePlugin {
@@ -37734,7 +37735,7 @@ class Favicon extends CorePlugin {
37734
37735
  // Use of this source code is governed by a BSD-style
37735
37736
  // license that can be found at https://github.com/clappr/clappr-plugins/blob/master/LICENSE
37736
37737
  /**
37737
- * An example Google Analytics integration plugin
37738
+ * `PLUGIN` that integrates with Google Analytics
37738
37739
  * @beta
37739
37740
  */
37740
37741
  class GoogleAnalytics extends ContainerPlugin {
@@ -37862,7 +37863,7 @@ const checkIcon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"
37862
37863
  const T$9 = 'plugins.level_selector';
37863
37864
  const VERSION$4 = '2.19.4';
37864
37865
  /**
37865
- * A {@link MediaControl | media control} plugin that provides a UI to control the quality level of the playback.
37866
+ * `PLUGIN` that provides a UI to select the desired quality level of the playback.
37866
37867
  * @beta
37867
37868
  *
37868
37869
  * @remarks
@@ -37872,9 +37873,7 @@ const VERSION$4 = '2.19.4';
37872
37873
  *
37873
37874
  * - {@link BottomGear}
37874
37875
  *
37875
- * The plugin is rendered as an item in the gear menu.
37876
- *
37877
- * When clicked, it shows a list of quality levels to choose from.
37876
+ * The plugin is rendered as an item in the gear menu, which, when clicked, shows a list of quality levels to choose from.
37878
37877
  *
37879
37878
  * Configuration options - {@link LevelSelectorPluginSettings}
37880
37879
  *
@@ -38187,7 +38186,7 @@ function calculateSize(original) {
38187
38186
  const logoHTML = "<div class=\"clappr-logo control-need-disable\">\n <img class=\"clappr-logo-img\"/>\n</div>\n";
38188
38187
 
38189
38188
  /**
38190
- * The plugin adds custom logo to the player.
38189
+ * `PLUGIN` that adds custom logo to the player.
38191
38190
  * @beta
38192
38191
  */
38193
38192
  class Logo extends UIContainerPlugin {
@@ -38374,7 +38373,7 @@ const streamsWhiteNightsIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:
38374
38373
  const VERSION$3 = '0.0.1';
38375
38374
  const T$8 = 'plugins.multicamera';
38376
38375
  /**
38377
- * The plugin adds support for loading multiple streams and switching between them using the media control UI.
38376
+ * `PLUGIN` that adds support for loading multiple streams and switching between them using the media control UI.
38378
38377
  * @beta
38379
38378
  */
38380
38379
  class MultiCamera extends UICorePlugin {
@@ -38720,7 +38719,7 @@ const buttonHtml$1 = "<button class=\"gplayer-lite-btn gcore-skin-button-color\"
38720
38719
  const VERSION$2 = '0.0.1';
38721
38720
  const T$7 = `plugins.pip`;
38722
38721
  /**
38723
- * Enables picture in picture mode.
38722
+ * `PLUGIN` that enables picture in picture mode.
38724
38723
  * @beta
38725
38724
  * @remarks
38726
38725
  * Depends on:
@@ -38830,7 +38829,7 @@ const DEFAULT_PLAYBACK_RATES = [
38830
38829
  const DEFAULT_PLAYBACK_RATE = '1.0';
38831
38830
  const T$6 = 'plugins.playback_rate';
38832
38831
  /**
38833
- * PLUGIN that allows changing the playback speed of the video.
38832
+ * `PLUGIN` that allows changing the playback speed of the video.
38834
38833
  * @beta
38835
38834
  *
38836
38835
  * @remarks
@@ -39031,9 +39030,9 @@ const posterHTML = "<div class=\"play-wrapper\" data-poster></div>\n";
39031
39030
  //Copyright 2014 Globo.com Player authors. All rights reserved.
39032
39031
  // Use of this source code is governed by a BSD-style
39033
39032
  // license that can be found in the LICENSE file.
39034
- const T$5 = 'plugins.poster_custom';
39033
+ const T$5 = 'plugins.poster';
39035
39034
  /**
39036
- * Displays a poster image in the background and a big play button on top when playback is stopped
39035
+ * `PLUGIN` that displays a poster image in the background and a big play button on top when playback is stopped
39037
39036
  * @beta
39038
39037
  * @remarks
39039
39038
  * When the playback is stopped, media control UI is disabled.
@@ -39069,7 +39068,7 @@ class Poster extends UIContainerPlugin {
39069
39068
  * @internal
39070
39069
  */
39071
39070
  get name() {
39072
- return 'poster_custom';
39071
+ return 'poster';
39073
39072
  }
39074
39073
  /**
39075
39074
  * @internal
@@ -39305,7 +39304,7 @@ const seekTimeHTML = "<span data-seek-time></span>\n<span data-duration></span>\
39305
39304
  // license that can be found at https://github.com/clappr/clappr-plugins/blob/master/LICENSE
39306
39305
  const { formatTime } = Utils;
39307
39306
  /**
39308
- * The plugin adds a seek time indicator to the media control UI.
39307
+ * `PLUGIN` that adds a seek time indicator to the media control UI.
39309
39308
  * @beta
39310
39309
  */
39311
39310
  class SeekTime extends UICorePlugin {
@@ -39465,7 +39464,8 @@ const fbIcon = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"32px\"
39465
39464
  const twIcon = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"32px\" height=\"32px\" viewBox=\"0 0 32 32\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <!-- Generator: Sketch 49 (51002) - http://www.bohemiancoding.com/sketch -->\n <title>twitter</title>\n <desc>Created with Sketch.</desc>\n <defs></defs>\n <g id=\"twitter\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <g fill-rule=\"nonzero\" id=\"Shape\">\n <path d=\"M32,30 C32,31.104 31.104,32 30,32 L2,32 C0.896,32 0,31.104 0,30 L0,2 C0,0.896 0.896,0 2,0 L30,0 C31.104,0 32,0.896 32,2 L32,30 Z\" fill=\"#55ACEE\"></path>\n <path class=\"icon-hover\" d=\"M25.987,9.894 C25.251,10.216 24.462,10.431 23.63,10.529 C24.48,10.031 25.13,9.24 25.436,8.298 C24.644,8.759 23.766,9.095 22.831,9.276 C22.083,8.491 21.017,8 19.838,8 C17.572,8 15.738,9.807 15.738,12.038 C15.738,12.352 15.774,12.663 15.842,12.96 C12.435,12.788 9.413,11.181 7.39,8.739 C7.038,9.336 6.834,10.029 6.834,10.771 C6.834,12.17 7.56,13.406 8.658,14.131 C7.987,14.109 7.354,13.928 6.802,13.625 C6.801,13.642 6.801,13.659 6.801,13.677 C6.801,15.632 8.215,17.266 10.091,17.637 C9.748,17.727 9.386,17.779 9.01,17.779 C8.746,17.779 8.49,17.755 8.24,17.707 C8.76,19.311 10.274,20.478 12.068,20.512 C10.67,21.594 8.9,22.24 6.979,22.24 C6.649,22.24 6.321,22.222 6,22.184 C7.814,23.329 9.971,23.997 12.287,23.997 C19.828,23.997 23.953,17.843 23.953,12.506 C23.953,12.333 23.948,12.156 23.941,11.985 C24.741,11.414 25.438,10.703 25.987,9.894 Z\" fill=\"#FFFFFF\"></path>\n </g>\n </g>\n</svg>";
39466
39465
 
39467
39466
  /**
39468
- * The plugin adds a share button to the media control UI.
39467
+ * `PLUGIN` that adds a share button to the media control UI.
39468
+ * @beta
39469
39469
  */
39470
39470
  class Share extends UICorePlugin {
39471
39471
  hide = false;
@@ -39585,7 +39585,8 @@ class Share extends UICorePlugin {
39585
39585
  const pluginHtml$1 = "<div class=\"skip-container\" data-skip-container>\n <div class=\"skip-item\" data-skip-left>\n </div>\n <div class=\"skip-item\" data-skip-mid>\n </div>\n <div class=\"skip-item\" data-skip-right>\n </div>\n</div>\n";
39586
39586
 
39587
39587
  /**
39588
- * The plugin adds skip controls to the media control UI.
39588
+ * `PLUGIN` that adds skip controls to the media control UI.
39589
+ * @beta
39589
39590
  */
39590
39591
  class SkipTime extends UICorePlugin {
39591
39592
  get name() {
@@ -39672,7 +39673,7 @@ class SkipTime extends UICorePlugin {
39672
39673
 
39673
39674
  /**
39674
39675
  * Codes of errors occurring within the playback component.
39675
- * @beta
39676
+ * @public
39676
39677
  */
39677
39678
  var PlaybackErrorCode;
39678
39679
  (function (PlaybackErrorCode) {
@@ -39698,6 +39699,7 @@ const spinnerHTML = "<div data-bounce1></div>\n<div data-bounce2></div>\n<div da
39698
39699
  const T$4 = 'plugins.spinner';
39699
39700
  /**
39700
39701
  * Custom events emitted by the plugin
39702
+ * @beta
39701
39703
  */
39702
39704
  var SpinnerEvents;
39703
39705
  (function (SpinnerEvents) {
@@ -39708,10 +39710,12 @@ var SpinnerEvents;
39708
39710
  SpinnerEvents["SYNC"] = "plugins:spinner:sync";
39709
39711
  })(SpinnerEvents || (SpinnerEvents = {}));
39710
39712
  /**
39711
- * Shows a pending operation indicator when playback is buffering or in other appropriate cases
39713
+ * `PLUGIN` that shows a pending operation indicator when playback is buffering or in a similar state
39712
39714
  * @beta
39713
39715
  * @remarks
39714
- * The plugin emits
39716
+ * Events emitted- {@link SpinnerEvents}
39717
+ * Other plugins can use {@link SpinnerThreeBounce.show | show} and {@link SpinnerThreeBounce.hide | hide} methods to
39718
+ * implement custom pending/progress indication scenarios.
39715
39719
  */
39716
39720
  class SpinnerThreeBounce extends UIContainerPlugin {
39717
39721
  userShown = false;
@@ -39789,7 +39793,7 @@ class SpinnerThreeBounce extends UIContainerPlugin {
39789
39793
  /**
39790
39794
  * Shows the spinner.
39791
39795
  *
39792
- * When called, the spinner will not hide (due to its built-in logic) until {@link SpinnerThreeBounce#hide} is called
39796
+ * When called, the spinner will not hide (due to its built-in logic) until {@link SpinnerThreeBounce.hide} is called
39793
39797
  */
39794
39798
  show(delay = 300) {
39795
39799
  this.userShown = true;
@@ -39855,7 +39859,7 @@ function noSync(cb) {
39855
39859
  queueMicrotask(cb);
39856
39860
  }
39857
39861
  /**
39858
- * This plugin is responsible for managing the automatic failover between sources.
39862
+ * `PLUGIN` that is responsible for managing the automatic failover between sources.
39859
39863
  * @beta
39860
39864
  * @remarks
39861
39865
  * Have a look at the {@link https://miro.com/app/board/uXjVLiN15tY=/?share_link_id=390327585787 | source failover diagram} for the details
@@ -39966,7 +39970,7 @@ class SourceController extends CorePlugin {
39966
39970
  }
39967
39971
  this.bindContainerEventListeners();
39968
39972
  if (this.active) {
39969
- this.core.activeContainer?.getPlugin('poster_custom')?.disable();
39973
+ this.core.activeContainer?.getPlugin('poster')?.disable();
39970
39974
  spinner?.show(0);
39971
39975
  }
39972
39976
  }
@@ -39987,7 +39991,7 @@ class SourceController extends CorePlugin {
39987
39991
  }
39988
39992
  switch (error.code) {
39989
39993
  case PlaybackErrorCode.MediaSourceUnavailable:
39990
- this.core.activeContainer?.getPlugin('poster_custom')?.disable();
39994
+ this.core.activeContainer?.getPlugin('poster')?.disable();
39991
39995
  this.retryPlayback();
39992
39996
  break;
39993
39997
  }
@@ -39999,7 +40003,7 @@ class SourceController extends CorePlugin {
39999
40003
  });
40000
40004
  if (this.active) {
40001
40005
  this.reset();
40002
- this.core.activeContainer?.getPlugin('poster_custom')?.enable();
40006
+ this.core.activeContainer?.getPlugin('poster')?.enable();
40003
40007
  this.core.activeContainer?.getPlugin('spinner')?.hide();
40004
40008
  }
40005
40009
  });
@@ -40058,7 +40062,7 @@ const LOCAL_STORAGE_SUBTITLES_ID = 'gplayer.plugins.subtitles.selected';
40058
40062
  const T$2 = 'plugins.subtitles';
40059
40063
  const NO_TRACK = { language: 'off' };
40060
40064
  /**
40061
- * A {@link MediaControl | media control} plugin that provides a UI to select the subtitles when available.
40065
+ * `PLUGIN` that provides a UI to select the subtitles when available.
40062
40066
  * @beta
40063
40067
  *
40064
40068
  * @remarks
@@ -40430,7 +40434,7 @@ var TelemetryEvent;
40430
40434
  TelemetryEvent[TelemetryEvent["Stall"] = 4] = "Stall";
40431
40435
  })(TelemetryEvent || (TelemetryEvent = {}));
40432
40436
  /**
40433
- * Collects and reports the performance statistics.
40437
+ * `PLUGIN` that collects and reports the performance statistics.
40434
40438
  * @beta
40435
40439
  * @remarks
40436
40440
  * This plugin is experimental and its API is likely to change.
@@ -40709,7 +40713,7 @@ const pluginHtml = "<div class=\"thumbnails-text\"></div>\n<% if (backdropHeight
40709
40713
 
40710
40714
  const T = 'plugins.thumbnails';
40711
40715
  /**
40712
- * Displays the thumbnails of the video when available.
40716
+ * `PLUGIN` that displays the thumbnails of the video when available.
40713
40717
  * @beta
40714
40718
  * @example
40715
40719
  * ```ts
@@ -41156,7 +41160,7 @@ var VolumeFadeEvents;
41156
41160
  VolumeFadeEvents["FADE"] = "core:volume:fade";
41157
41161
  })(VolumeFadeEvents || (VolumeFadeEvents = {}));
41158
41162
  /**
41159
- * Applies fade effect to the player's volume change.
41163
+ * `PLUGIN` that applies fade effect to the player's volume change.
41160
41164
  * @beta
41161
41165
  */
41162
41166
  class VolumeFade extends UICorePlugin {
@@ -41249,4 +41253,4 @@ class VolumeFade extends UICorePlugin {
41249
41253
  }
41250
41254
  }
41251
41255
 
41252
- export { AudioSelector, BigMuteButton, BottomGear, ClapprNerdStats, ClapprStats, ClickToPause, ClipsPlugin, ContextMenu, DvrControls, ErrorScreen, Favicon, GoogleAnalytics, Kibo, LevelSelector, Logo, MediaControl, MediaControlEvents, MultiCamera, PictureInPicture, PlaybackRate, Poster, SeekTime, Share, SkipTime, SourceController, SpinnerEvents, SpinnerThreeBounce, Subtitles, Telemetry, TelemetryEvent, Thumbnails, VolumeFade, VolumeFadeEvents };
41256
+ export { AudioSelector, BigMuteButton, BottomGear, ClapprNerdStats, ClapprStats, ClickToPause, ClipsPlugin, ContextMenu, DvrControls, ErrorScreen, Favicon, GoogleAnalytics, LevelSelector, Logo, MediaControl, MediaControlEvents, MultiCamera, PictureInPicture, PlaybackRate, Poster, SeekTime, Share, SkipTime, SourceController, SpinnerEvents, SpinnerThreeBounce, Subtitles, Telemetry, TelemetryEvent, Thumbnails, VolumeFade, VolumeFadeEvents };
@@ -7,7 +7,7 @@
7
7
  > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
8
8
  >
9
9
 
10
- Adds an audio track selector to the media control UI.
10
+ `PLUGIN` that adds an audio track selector to the media control UI.
11
11
 
12
12
  **Signature:**
13
13
 
@@ -7,7 +7,7 @@
7
7
  > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
8
8
  >
9
9
 
10
- Displays a big mute button over the video when it's muted. Once pressed, it unmutes the video.
10
+ `PLUGIN` that displays a big mute button over the video when it's muted. Once pressed, it unmutes the video.
11
11
 
12
12
  **Signature:**
13
13
 
@@ -7,7 +7,7 @@
7
7
  > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
8
8
  >
9
9
 
10
- Adds the gear button that triggers extra options menu on the right side of the [media control](./player.mediacontrol.md) UI
10
+ `PLUGIN` that adds the gear button with an extra options menu on the right side of the [media control](./player.mediacontrol.md) UI
11
11
 
12
12
  **Signature:**
13
13
 
@@ -55,6 +55,20 @@ Description
55
55
  **_(BETA)_**
56
56
 
57
57
 
58
+ </td></tr>
59
+ <tr><td>
60
+
61
+ [refresh()](./player.bottomgear.refresh.md)
62
+
63
+
64
+ </td><td>
65
+
66
+
67
+ </td><td>
68
+
69
+ **_(BETA)_** Re-renders the gear menu. It fires the [MEDIACONTROL\_GEAR\_RENDERED](./player.mediacontrolevents.md) event, which the plugins that attach to the gear menu can listen to to re-render themselves.
70
+
71
+
58
72
  </td></tr>
59
73
  <tr><td>
60
74