@gcorevideo/player 2.20.9 → 2.20.12

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 (236) hide show
  1. package/assets/dvr-controls/dvr_controls.scss +0 -2
  2. package/dist/core.js +5 -5
  3. package/dist/index.css +1521 -1524
  4. package/dist/index.js +101 -106
  5. package/dist/player.d.ts +141 -100
  6. package/dist/plugins/index.css +1376 -1379
  7. package/dist/plugins/index.js +96 -102
  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 +1 -1
  11. package/docs/api/player.clapprnerdstats.md +1 -1
  12. package/docs/api/player.clapprstats.md +1 -1
  13. package/docs/api/player.clicktopause.md +1 -1
  14. package/docs/api/player.clipsplugin.md +1 -1
  15. package/docs/api/player.containerpluginconstructor.md +3 -5
  16. package/docs/api/player.containersize.md +0 -3
  17. package/docs/api/player.contextmenu.md +1 -1
  18. package/docs/api/player.contextmenupluginsettings.md +1 -1
  19. package/docs/api/player.corepluginconstructor.md +3 -5
  20. package/docs/api/player.dashsettings.md +0 -3
  21. package/docs/api/player.dvrcontrols.md +2 -35
  22. package/docs/api/player.errorlevel.md +0 -3
  23. package/docs/api/player.errorscreen.md +1 -1
  24. package/docs/api/player.favicon.md +4 -174
  25. package/docs/api/{player.favicon.disable.md → player.faviconpluginsettings.faviconcolor.md} +5 -7
  26. package/docs/api/{player.dvrcontrols._constructor_.md → player.faviconpluginsettings.md} +17 -8
  27. package/docs/api/player.googleanalytics.md +1 -1
  28. package/docs/api/player.langtag.md +0 -3
  29. package/docs/api/player.levelselector.md +1 -1
  30. package/docs/api/player.logo.md +1 -1
  31. package/docs/api/player.md +82 -82
  32. package/docs/api/{player.favicon.configure.md → player.mediacontrol.getcenterpanel.md} +4 -4
  33. package/docs/api/{player.favicon.destroy.md → player.mediacontrol.getleftpanel.md} +8 -4
  34. package/docs/api/player.mediacontrol.md +30 -2
  35. package/docs/api/player.multicamera.md +1 -1
  36. package/docs/api/player.pictureinpicture.md +1 -1
  37. package/docs/api/player.playbackerror.code.md +0 -3
  38. package/docs/api/player.playbackerror.description.md +0 -3
  39. package/docs/api/player.playbackerror.level.md +0 -3
  40. package/docs/api/player.playbackerror.md +8 -11
  41. package/docs/api/player.playbackerror.message.md +0 -3
  42. package/docs/api/player.playbackerror.origin.md +0 -3
  43. package/docs/api/player.playbackerror.scope.md +0 -3
  44. package/docs/api/player.playbackerror.ui.md +1 -3
  45. package/docs/api/player.playbackerrorcode.md +3 -6
  46. package/docs/api/player.playbackmodule.md +0 -3
  47. package/docs/api/player.playbackrate.md +1 -1
  48. package/docs/api/player.playbacktype.md +1 -4
  49. package/docs/api/player.player._constructor_.md +0 -3
  50. package/docs/api/player.player.attachto.md +0 -3
  51. package/docs/api/player.player.configure.md +0 -3
  52. package/docs/api/player.player.destroy.md +0 -3
  53. package/docs/api/player.player.getcurrenttime.md +0 -3
  54. package/docs/api/player.player.getduration.md +0 -3
  55. package/docs/api/player.player.getvolume.md +0 -3
  56. package/docs/api/player.player.isdvrenabled.md +0 -3
  57. package/docs/api/player.player.isdvrinuse.md +0 -3
  58. package/docs/api/player.player.ismuted.md +0 -3
  59. package/docs/api/player.player.isplaying.md +0 -3
  60. package/docs/api/player.player.md +25 -28
  61. package/docs/api/player.player.mute.md +0 -3
  62. package/docs/api/player.player.off.md +0 -3
  63. package/docs/api/player.player.on.md +0 -3
  64. package/docs/api/player.player.pause.md +0 -3
  65. package/docs/api/player.player.play.md +0 -3
  66. package/docs/api/player.player.registerplugin.md +0 -3
  67. package/docs/api/player.player.resize.md +0 -3
  68. package/docs/api/player.player.seek.md +0 -3
  69. package/docs/api/player.player.setvolume.md +0 -3
  70. package/docs/api/player.player.stop.md +0 -3
  71. package/docs/api/player.player.unmute.md +0 -3
  72. package/docs/api/player.player.unregisterplugin.md +14 -7
  73. package/docs/api/player.playercomponenttype.md +0 -3
  74. package/docs/api/player.playerconfig.autoplay.md +0 -3
  75. package/docs/api/player.playerconfig.dash.md +0 -3
  76. package/docs/api/player.playerconfig.debug.md +0 -3
  77. package/docs/api/player.playerconfig.language.md +0 -3
  78. package/docs/api/player.playerconfig.loop.md +0 -3
  79. package/docs/api/player.playerconfig.md +10 -13
  80. package/docs/api/player.playerconfig.mute.md +0 -3
  81. package/docs/api/player.playerconfig.playbacktype.md +0 -3
  82. package/docs/api/player.playerconfig.prioritytransport.md +0 -3
  83. package/docs/api/player.playerconfig.sources.md +0 -3
  84. package/docs/api/player.playerconfig.strings.md +0 -3
  85. package/docs/api/player.playerdebugsettings.md +0 -3
  86. package/docs/api/player.playerdebugtag.md +0 -3
  87. package/docs/api/player.playerevent.md +11 -14
  88. package/docs/api/player.playereventhandler.md +0 -3
  89. package/docs/api/player.playereventparams.md +0 -3
  90. package/docs/api/player.playermediasource.md +0 -3
  91. package/docs/api/player.playermediasourcedesc.md +2 -5
  92. package/docs/api/player.playermediasourcedesc.mimetype.md +0 -3
  93. package/docs/api/player.playermediasourcedesc.source.md +0 -3
  94. package/docs/api/player.playerplugin.md +0 -4
  95. package/docs/api/player.playerpluginconstructor.md +0 -3
  96. package/docs/api/player.poster.md +1 -1
  97. package/docs/api/player.qualitylevel.bitrate.md +0 -3
  98. package/docs/api/player.qualitylevel.height.md +0 -3
  99. package/docs/api/player.qualitylevel.level.md +0 -3
  100. package/docs/api/player.qualitylevel.md +4 -7
  101. package/docs/api/player.qualitylevel.width.md +0 -3
  102. package/docs/api/player.seektime.md +1 -1
  103. package/docs/api/player.share.md +1 -1
  104. package/docs/api/player.skiptime.md +1 -1
  105. package/docs/api/player.sourcecontroller.md +1 -1
  106. package/docs/api/player.spinnerthreebounce.md +1 -1
  107. package/docs/api/player.subtitles.md +1 -1
  108. package/docs/api/player.telemetry.md +1 -1
  109. package/docs/api/player.thumbnails.md +1 -1
  110. package/docs/api/player.timeposition.current.md +0 -3
  111. package/docs/api/player.timeposition.md +2 -5
  112. package/docs/api/player.timeposition.total.md +0 -3
  113. package/docs/api/player.timevalue.md +0 -3
  114. package/docs/api/player.translationkey.md +0 -3
  115. package/docs/api/player.translationsettings.md +0 -3
  116. package/docs/api/player.transportpreference.md +2 -7
  117. package/docs/api/player.volumefade.md +1 -1
  118. package/lib/Player.d.ts +5 -5
  119. package/lib/Player.js +2 -2
  120. package/lib/index.d.ts +18 -1
  121. package/lib/index.d.ts.map +1 -1
  122. package/lib/index.js +18 -1
  123. package/lib/playback.types.d.ts +8 -7
  124. package/lib/playback.types.d.ts.map +1 -1
  125. package/lib/playback.types.js +1 -1
  126. package/lib/plugins/audio-selector/AudioSelector.d.ts +1 -1
  127. package/lib/plugins/audio-selector/AudioSelector.js +1 -1
  128. package/lib/plugins/big-mute-button/BigMuteButton.d.ts +1 -1
  129. package/lib/plugins/big-mute-button/BigMuteButton.d.ts.map +1 -1
  130. package/lib/plugins/big-mute-button/BigMuteButton.js +1 -2
  131. package/lib/plugins/bottom-gear/BottomGear.d.ts +1 -1
  132. package/lib/plugins/bottom-gear/BottomGear.js +1 -1
  133. package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.d.ts +1 -1
  134. package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.js +1 -1
  135. package/lib/plugins/clappr-stats/ClapprStats.d.ts +1 -1
  136. package/lib/plugins/clappr-stats/ClapprStats.js +1 -1
  137. package/lib/plugins/click-to-pause/ClickToPause.d.ts +1 -1
  138. package/lib/plugins/click-to-pause/ClickToPause.js +1 -1
  139. package/lib/plugins/clips/Clips.d.ts +1 -1
  140. package/lib/plugins/clips/Clips.js +1 -1
  141. package/lib/plugins/context-menu/ContextMenu.d.ts +2 -2
  142. package/lib/plugins/context-menu/ContextMenu.js +1 -1
  143. package/lib/plugins/dvr-controls/DvrControls.d.ts +6 -4
  144. package/lib/plugins/dvr-controls/DvrControls.d.ts.map +1 -1
  145. package/lib/plugins/dvr-controls/DvrControls.js +28 -36
  146. package/lib/plugins/error-screen/ErrorScreen.d.ts +1 -18
  147. package/lib/plugins/error-screen/ErrorScreen.d.ts.map +1 -1
  148. package/lib/plugins/error-screen/ErrorScreen.js +1 -2
  149. package/lib/plugins/favicon/Favicon.d.ts +30 -3
  150. package/lib/plugins/favicon/Favicon.d.ts.map +1 -1
  151. package/lib/plugins/favicon/Favicon.js +28 -35
  152. package/lib/plugins/google-analytics/GoogleAnalytics.d.ts +1 -1
  153. package/lib/plugins/google-analytics/GoogleAnalytics.js +1 -1
  154. package/lib/plugins/level-selector/LevelSelector.d.ts +1 -1
  155. package/lib/plugins/level-selector/LevelSelector.js +1 -1
  156. package/lib/plugins/logo/Logo.d.ts +1 -1
  157. package/lib/plugins/logo/Logo.js +1 -1
  158. package/lib/plugins/media-control/MediaControl.d.ts +8 -2
  159. package/lib/plugins/media-control/MediaControl.d.ts.map +1 -1
  160. package/lib/plugins/media-control/MediaControl.js +15 -3
  161. package/lib/plugins/multi-camera/MultiCamera.d.ts +1 -1
  162. package/lib/plugins/multi-camera/MultiCamera.js +1 -1
  163. package/lib/plugins/picture-in-picture/PictureInPicture.d.ts +1 -1
  164. package/lib/plugins/picture-in-picture/PictureInPicture.js +1 -1
  165. package/lib/plugins/playback-rate/PlaybackRate.d.ts +1 -1
  166. package/lib/plugins/playback-rate/PlaybackRate.js +1 -1
  167. package/lib/plugins/poster/Poster.d.ts +1 -1
  168. package/lib/plugins/poster/Poster.js +1 -1
  169. package/lib/plugins/seek-time/SeekTime.d.ts +1 -1
  170. package/lib/plugins/seek-time/SeekTime.js +1 -1
  171. package/lib/plugins/share/Share.d.ts +1 -1
  172. package/lib/plugins/share/Share.js +1 -1
  173. package/lib/plugins/skip-time/SkipTime.d.ts +1 -1
  174. package/lib/plugins/skip-time/SkipTime.js +1 -1
  175. package/lib/plugins/source-controller/SourceController.d.ts +1 -1
  176. package/lib/plugins/source-controller/SourceController.js +1 -1
  177. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts +1 -1
  178. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.js +1 -1
  179. package/lib/plugins/subtitles/Subtitles.d.ts +1 -1
  180. package/lib/plugins/subtitles/Subtitles.js +1 -1
  181. package/lib/plugins/telemetry/Telemetry.d.ts +1 -1
  182. package/lib/plugins/telemetry/Telemetry.js +1 -1
  183. package/lib/plugins/thumbnails/Thumbnails.d.ts +1 -1
  184. package/lib/plugins/thumbnails/Thumbnails.js +1 -1
  185. package/lib/plugins/volume-fade/VolumeFade.d.ts +1 -1
  186. package/lib/plugins/volume-fade/VolumeFade.js +1 -1
  187. package/lib/testUtils.d.ts +11 -2
  188. package/lib/testUtils.d.ts.map +1 -1
  189. package/lib/testUtils.js +22 -3
  190. package/lib/types.d.ts +20 -25
  191. package/lib/types.d.ts.map +1 -1
  192. package/lib/types.js +1 -1
  193. package/package.json +1 -1
  194. package/src/Player.ts +5 -5
  195. package/src/index.ts +18 -1
  196. package/src/playback.types.ts +8 -7
  197. package/src/plugins/audio-selector/AudioSelector.ts +1 -1
  198. package/src/plugins/big-mute-button/BigMuteButton.ts +1 -2
  199. package/src/plugins/bottom-gear/BottomGear.ts +1 -1
  200. package/src/plugins/clappr-nerd-stats/ClapprNerdStats.ts +1 -1
  201. package/src/plugins/clappr-stats/ClapprStats.ts +1 -1
  202. package/src/plugins/click-to-pause/ClickToPause.ts +1 -1
  203. package/src/plugins/clips/Clips.ts +1 -1
  204. package/src/plugins/context-menu/ContextMenu.ts +2 -2
  205. package/src/plugins/dvr-controls/DvrControls.ts +33 -45
  206. package/src/plugins/dvr-controls/__tests__/DvrControls.test.ts +91 -0
  207. package/src/plugins/dvr-controls/__tests__/__snapshots__/DvrControls.test.ts.snap +43 -0
  208. package/src/plugins/error-screen/ErrorScreen.ts +3 -22
  209. package/src/plugins/favicon/Favicon.ts +38 -41
  210. package/src/plugins/google-analytics/GoogleAnalytics.ts +1 -1
  211. package/src/plugins/level-selector/LevelSelector.ts +1 -1
  212. package/src/plugins/logo/Logo.ts +1 -1
  213. package/src/plugins/media-control/MediaControl.ts +17 -3
  214. package/src/plugins/multi-camera/MultiCamera.ts +1 -1
  215. package/src/plugins/picture-in-picture/PictureInPicture.ts +1 -1
  216. package/src/plugins/playback-rate/PlaybackRate.ts +1 -1
  217. package/src/plugins/poster/Poster.ts +1 -1
  218. package/src/plugins/seek-time/SeekTime.ts +1 -1
  219. package/src/plugins/share/Share.ts +1 -1
  220. package/src/plugins/skip-time/SkipTime.ts +1 -1
  221. package/src/plugins/source-controller/SourceController.ts +1 -1
  222. package/src/plugins/spinner-three-bounce/SpinnerThreeBounce.ts +1 -1
  223. package/src/plugins/subtitles/Subtitles.ts +1 -1
  224. package/src/plugins/telemetry/Telemetry.ts +1 -1
  225. package/src/plugins/thumbnails/Thumbnails.ts +1 -1
  226. package/src/plugins/volume-fade/VolumeFade.ts +1 -1
  227. package/src/testUtils.ts +28 -4
  228. package/src/types.ts +20 -26
  229. package/temp/player.api.json +274 -455
  230. package/tsconfig.tsbuildinfo +1 -1
  231. package/docs/api/player.errordesc.md +0 -28
  232. package/docs/api/player.favicon._constructor_.md +0 -50
  233. package/docs/api/player.favicon.bindevents.md +0 -18
  234. package/docs/api/player.favicon.name.md +0 -14
  235. package/docs/api/player.favicon.supportedversion.md +0 -16
  236. package/docs/api/player.mediatransport.md +0 -16
@@ -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);
@@ -33063,9 +33062,11 @@ const fullscreenOffIcon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"
33063
33062
 
33064
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";
33065
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.
33066
33067
  // Copyright 2014 Globo.com Player authors. All rights reserved.
33067
33068
  // Use of this source code is governed by a BSD-style
33068
- // 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}.
33069
33070
  /**
33070
33071
  * Custom events emitted by the plugins to communicate with one another
33071
33072
  * @beta
@@ -33093,11 +33094,11 @@ function orderByOrderPattern(arr, order) {
33093
33094
  return [...ordered, ...rest];
33094
33095
  }
33095
33096
  /**
33096
- * PLUGIN that provides a foundation for developing custom media controls UI.
33097
+ * `PLUGIN` that provides a foundation for developing custom media controls UI.
33097
33098
  * @beta
33098
33099
  * @remarks
33099
33100
  * The methods exposed are to be used by the other plugins that extend the media control UI.
33100
- * 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.
33101
33102
  * @example
33102
33103
  * ```ts
33103
33104
  * Player.registerPlugin(MediaControl) // <--- This must go first
@@ -33882,6 +33883,16 @@ class MediaControl extends UICorePlugin {
33882
33883
  getRightPanel() {
33883
33884
  return this.$el.find('.media-control-right-panel');
33884
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
+ }
33885
33896
  resetIndicators() {
33886
33897
  assert.ok(this.$duration && this.$position, 'duration and position elements must be present');
33887
33898
  this.displayedPosition = this.$position.text();
@@ -34157,7 +34168,7 @@ MediaControl.extend = function (properties) {
34157
34168
 
34158
34169
  const VERSION$5 = '2.19.12';
34159
34170
  /**
34160
- * 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
34161
34172
  * @beta
34162
34173
  * @remarks
34163
34174
  * The plugins provides a base for attaching custom settings UI in the gear menu
@@ -36410,7 +36421,7 @@ const drawSummary = (customMetrics, vodContainer, liveContainer) => {
36410
36421
  };
36411
36422
  // const T = 'plugins.clappr_nerd_stats';
36412
36423
  /**
36413
- * PLUGIN that displays useful network-related statistics.
36424
+ * `PLUGIN` that displays useful network-related statistics.
36414
36425
  * @beta
36415
36426
  *
36416
36427
  * @remarks
@@ -36666,7 +36677,7 @@ function newMetrics() {
36666
36677
  // TODO: fix
36667
36678
  const updateMetrics = () => { };
36668
36679
  /**
36669
- * PLIGIN that collects useful statistics about playback performance.
36680
+ * `PLUGIN` that collects useful statistics about playback performance.
36670
36681
  * @beta
36671
36682
  * @remarks
36672
36683
  * This plugin does not render anything and is supposed to be extended or used together with other plugins that actually render something.
@@ -37023,7 +37034,7 @@ class ClapprStats extends ContainerPlugin {
37023
37034
  // Use of this source code is governed by a BSD-style
37024
37035
  // license that can be found at https://github.com/clappr/clappr-plugins/blob/master/LICENSE.
37025
37036
  /**
37026
- * 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
37027
37038
  * @beta
37028
37039
  */
37029
37040
  class ClickToPause extends ContainerPlugin {
@@ -37090,7 +37101,7 @@ class ClickToPause extends ContainerPlugin {
37090
37101
  }
37091
37102
 
37092
37103
  /**
37093
- * PLUGIN that shows text over the seekbar to indicate the current clip.
37104
+ * `PLUGIN` that shows text over the seekbar to indicate the current clip.
37094
37105
  * @beta
37095
37106
  * @remarks
37096
37107
  * Depends on:
@@ -37246,7 +37257,7 @@ class ClipsPlugin extends UICorePlugin {
37246
37257
 
37247
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";
37248
37259
 
37249
- var version$1 = "2.20.9";
37260
+ var version$1 = "2.20.12";
37250
37261
 
37251
37262
  var packages = {
37252
37263
  "node_modules/@clappr/core": {
@@ -37271,7 +37282,7 @@ function version() {
37271
37282
  }
37272
37283
 
37273
37284
  /**
37274
- * 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.
37275
37286
  * @beta
37276
37287
  * @remarks
37277
37288
  * Configuration options - {@link ContextMenuPluginSettings}
@@ -37383,7 +37394,7 @@ const dvrHTML = "<div class=\"live-info\"><%= live %></div>\n<button type=\"butt
37383
37394
 
37384
37395
  const T$b = 'plugins.dvr_controls';
37385
37396
  /**
37386
- * PLUGIN that adds the DVR controls to the media control UI
37397
+ * `PLUGIN` that adds the DVR controls to the media control UI
37387
37398
  *
37388
37399
  * @beta
37389
37400
  *
@@ -37392,7 +37403,9 @@ const T$b = 'plugins.dvr_controls';
37392
37403
  *
37393
37404
  * - {@link MediaControl}
37394
37405
  *
37395
- * The plugin renders 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.
37396
37409
  */
37397
37410
  class DvrControls extends UICorePlugin {
37398
37411
  static template = tmpl(dvrHTML);
@@ -37425,64 +37438,56 @@ class DvrControls extends UICorePlugin {
37425
37438
  'data-dvr-controls': '',
37426
37439
  };
37427
37440
  }
37428
- constructor(core) {
37429
- super(core);
37430
- this.settingsUpdate();
37431
- }
37432
37441
  /**
37433
37442
  * @internal
37434
37443
  */
37435
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() {
37436
37450
  const mediaControl = this.core.getPlugin('media_control');
37437
37451
  assert(mediaControl, 'media_control plugin is required');
37438
37452
  this.listenTo(mediaControl, Events$1.MEDIACONTROL_RENDERED, this.settingsUpdate);
37439
- this.listenTo(this.core, Events$1.CORE_OPTIONS_CHANGE, this.render);
37440
- this.listenTo(this.core, Events$1.CORE_ACTIVE_CONTAINER_CHANGED, this.bindContainerEvents);
37453
+ this.settingsUpdate();
37441
37454
  }
37442
37455
  bindContainerEvents() {
37443
37456
  this.listenToOnce(this.core.activeContainer, Events$1.CONTAINER_TIMEUPDATE, this.render);
37444
37457
  this.listenTo(this.core.activeContainer, Events$1.CONTAINER_PLAYBACKDVRSTATECHANGED, this.onDvrChanged);
37445
37458
  }
37446
- onDvrChanged(dvrEnabled) {
37459
+ onDvrChanged(dvrInUse) {
37447
37460
  if (this.core.getPlaybackType() !== Playback.LIVE) {
37448
37461
  return;
37449
37462
  }
37450
- this.settingsUpdate();
37451
- this.core.mediaControl.$el.addClass('live');
37452
- if (dvrEnabled) {
37453
- // TODO
37454
- 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
37455
37468
  .addClass('dvr')
37456
- .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]')
37457
37472
  .hide();
37458
37473
  }
37459
37474
  else {
37460
- this.core.mediaControl.$el.removeClass('dvr');
37475
+ mediaControl.$el.removeClass('dvr');
37461
37476
  }
37462
37477
  }
37463
37478
  click() {
37464
- const mediaControl = this.core.getPlugin('media_control');
37465
37479
  const container = this.core.activeContainer;
37466
37480
  if (!container.isPlaying()) {
37467
37481
  container.play();
37468
37482
  }
37469
- if (mediaControl.$el.hasClass('dvr')) {
37470
- container.seek(container.getDuration());
37471
- }
37483
+ container.seek(container.getDuration());
37472
37484
  }
37473
37485
  settingsUpdate() {
37474
- // @ts-ignore
37475
- this.stopListening(); // TODO sort out
37476
- this.core.getPlugin('media_control').$el.removeClass('live'); // TODO don't access directly
37477
- if (this.shouldRender()) {
37478
- this.render();
37479
- this.$el.click(() => this.click());
37480
- }
37481
- this.bindEvents();
37486
+ this.core.getPlugin('media_control').$el.removeClass('live');
37487
+ this.render();
37482
37488
  }
37483
37489
  shouldRender() {
37484
- const useDvrControls = this.core.options.useDvrControls === undefined ||
37485
- !!this.core.options.useDvrControls;
37490
+ const useDvrControls = this.core.options.useDvrControls !== false;
37486
37491
  return useDvrControls && this.core.getPlaybackType() === Playback.LIVE;
37487
37492
  }
37488
37493
  /**
@@ -37491,6 +37496,7 @@ class DvrControls extends UICorePlugin {
37491
37496
  render() {
37492
37497
  trace(`${T$b} render`, {
37493
37498
  dvrEnabled: this.core.activePlayback?.dvrEnabled,
37499
+ playbackType: this.core.getPlaybackType(),
37494
37500
  });
37495
37501
  if (!this.shouldRender()) {
37496
37502
  return this;
@@ -37500,12 +37506,8 @@ class DvrControls extends UICorePlugin {
37500
37506
  backToLive: this.core.i18n.t('back_to_live'),
37501
37507
  }));
37502
37508
  const mediaControl = this.core.getPlugin('media_control');
37503
- assert(mediaControl, 'media_control plugin is required');
37504
- // TODO don't tap into the $el directly
37505
37509
  mediaControl.$el.addClass('live');
37506
- mediaControl
37507
- .$('.media-control-left-panel[data-media-control]')
37508
- .append(this.$el);
37510
+ mediaControl.getLeftPanel().append(this.$el);
37509
37511
  return this;
37510
37512
  }
37511
37513
  }
@@ -37516,7 +37518,7 @@ const templateHtml = "<div class=\"player-error-screen__content\" data-error-scr
37516
37518
 
37517
37519
  const T$a = 'plugins.error_screen';
37518
37520
  /**
37519
- * PLUGIN that displays errors nicely in the overlay on top of the player.
37521
+ * `PLUGIN` that displays errors nicely in the overlay on top of the player.
37520
37522
  * @beta
37521
37523
  */
37522
37524
  class ErrorScreen extends UICorePlugin {
@@ -37615,7 +37617,6 @@ class ErrorScreen extends UICorePlugin {
37615
37617
  ...this.err,
37616
37618
  reloadIcon: this.options.errorScreen?.noReload ? null : reloadIcon,
37617
37619
  }));
37618
- // TODO append to container instead of core?
37619
37620
  if (!this.el.parentElement) {
37620
37621
  this.core.$el.append(this.el);
37621
37622
  }
@@ -37625,26 +37626,32 @@ class ErrorScreen extends UICorePlugin {
37625
37626
 
37626
37627
  const FAVICON_COLOR = '#567';
37627
37628
  const FAVICON_SELECTOR = 'link[rel="shortcut icon"]';
37628
- // const oldIcon = $(FAVICON_SELECTOR);
37629
37629
  /**
37630
- * The plugin adds custom favicon to the player's tab.
37630
+ * `PLUGIN` that changes the favicon according to the player's state.
37631
37631
  * @beta
37632
+ * @remarks
37633
+ * There are three states: stopped, playing and paused.
37632
37634
  */
37633
37635
  class Favicon extends CorePlugin {
37634
- _container = null;
37635
37636
  oldIcon;
37636
37637
  playIcon = null;
37637
37638
  pauseIcon = null;
37638
37639
  stopIcon = null;
37640
+ /**
37641
+ * @internal
37642
+ */
37639
37643
  get name() {
37640
37644
  return 'favicon';
37641
37645
  }
37646
+ /**
37647
+ * @internal
37648
+ */
37642
37649
  get supportedVersion() {
37643
37650
  return { min: CLAPPR_VERSION };
37644
37651
  }
37645
- // get oldIcon() {
37646
- // return oldIcon;
37647
- // }
37652
+ /**
37653
+ * @internal
37654
+ */
37648
37655
  constructor(core) {
37649
37656
  super(core);
37650
37657
  this.oldIcon = $(FAVICON_SELECTOR);
@@ -37652,41 +37659,31 @@ class Favicon extends CorePlugin {
37652
37659
  this.stopIcon = this.createIcon(stopIcon);
37653
37660
  this.changeIcon(this.stopIcon);
37654
37661
  }
37655
- this.configure();
37656
- }
37657
- configure() {
37658
- if (this.core.options.changeFavicon) {
37659
- if (!this.enabled) {
37660
- // @ts-ignore
37661
- this.stopListening(this.core, Events$1.CORE_OPTIONS_CHANGE);
37662
- this.enable();
37663
- }
37664
- }
37665
- else if (this.enabled) {
37666
- this.disable();
37667
- this.listenTo(this.core, Events$1.CORE_OPTIONS_CHANGE, this.configure);
37668
- }
37669
37662
  }
37663
+ /**
37664
+ * @internal
37665
+ */
37670
37666
  bindEvents() {
37671
- this.listenTo(this.core, Events$1.CORE_OPTIONS_CHANGE, this.configure);
37672
37667
  this.listenTo(this.core, Events$1.CORE_ACTIVE_CONTAINER_CHANGED, this.containerChanged);
37673
- this.core.activeContainer && this.containerChanged();
37674
37668
  }
37675
37669
  containerChanged() {
37676
- // @ts-ignore
37677
- this._container && this.stopListening(this._container);
37678
- this._container = this.core.activeContainer;
37679
- this.listenTo(this._container, Events$1.CONTAINER_PLAY, this.setPlayIcon);
37680
- this.listenTo(this._container, Events$1.CONTAINER_PAUSE, this.setPauseIcon);
37681
- this.listenTo(this._container, Events$1.CONTAINER_STOP, this.resetIcon);
37682
- this.listenTo(this._container, Events$1.CONTAINER_ENDED, this.resetIcon);
37683
- this.listenTo(this._container, Events$1.CONTAINER_ERROR, this.resetIcon);
37670
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_PLAY, this.setPlayIcon);
37671
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_PAUSE, this.setPauseIcon);
37672
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_STOP, this.resetIcon);
37673
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_ENDED, this.resetIcon);
37674
+ this.listenTo(this.core.activeContainer, Events$1.CONTAINER_ERROR, this.resetIcon);
37684
37675
  this.resetIcon();
37685
37676
  }
37677
+ /**
37678
+ * @internal
37679
+ */
37686
37680
  disable() {
37687
37681
  super.disable();
37688
37682
  this.resetIcon();
37689
37683
  }
37684
+ /**
37685
+ * @internal
37686
+ */
37690
37687
  destroy() {
37691
37688
  super.destroy();
37692
37689
  this.resetIcon();
@@ -37717,15 +37714,12 @@ class Favicon extends CorePlugin {
37717
37714
  this.changeIcon(this.pauseIcon);
37718
37715
  }
37719
37716
  resetIcon() {
37720
- $(FAVICON_SELECTOR).remove();
37721
37717
  const icon = this.oldIcon.length > 0 ? this.oldIcon : this.stopIcon;
37722
37718
  this.changeIcon(icon);
37723
37719
  }
37724
37720
  changeIcon(icon) {
37725
- if (icon) {
37726
- $('link[rel="shortcut icon"]').remove();
37727
- $('head').append(icon);
37728
- }
37721
+ $('link[rel="shortcut icon"]').remove();
37722
+ $('head').append(icon);
37729
37723
  }
37730
37724
  }
37731
37725
 
@@ -37733,7 +37727,7 @@ class Favicon extends CorePlugin {
37733
37727
  // Use of this source code is governed by a BSD-style
37734
37728
  // license that can be found at https://github.com/clappr/clappr-plugins/blob/master/LICENSE
37735
37729
  /**
37736
- * An example Google Analytics integration plugin
37730
+ * `PLUGIN` that integrates with Google Analytics
37737
37731
  * @beta
37738
37732
  */
37739
37733
  class GoogleAnalytics extends ContainerPlugin {
@@ -37861,7 +37855,7 @@ const checkIcon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"
37861
37855
  const T$9 = 'plugins.level_selector';
37862
37856
  const VERSION$4 = '2.19.4';
37863
37857
  /**
37864
- * PLUGIN that provides a UI to select the desired quality level of the playback.
37858
+ * `PLUGIN` that provides a UI to select the desired quality level of the playback.
37865
37859
  * @beta
37866
37860
  *
37867
37861
  * @remarks
@@ -38184,7 +38178,7 @@ function calculateSize(original) {
38184
38178
  const logoHTML = "<div class=\"clappr-logo control-need-disable\">\n <img class=\"clappr-logo-img\"/>\n</div>\n";
38185
38179
 
38186
38180
  /**
38187
- * The plugin adds custom logo to the player.
38181
+ * `PLUGIN` that adds custom logo to the player.
38188
38182
  * @beta
38189
38183
  */
38190
38184
  class Logo extends UIContainerPlugin {
@@ -38371,7 +38365,7 @@ const streamsWhiteNightsIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:
38371
38365
  const VERSION$3 = '0.0.1';
38372
38366
  const T$8 = 'plugins.multicamera';
38373
38367
  /**
38374
- * PLUGIN that adds support for loading multiple streams and switching between them using the media control UI.
38368
+ * `PLUGIN` that adds support for loading multiple streams and switching between them using the media control UI.
38375
38369
  * @beta
38376
38370
  */
38377
38371
  class MultiCamera extends UICorePlugin {
@@ -38717,7 +38711,7 @@ const buttonHtml$1 = "<button class=\"gplayer-lite-btn gcore-skin-button-color\"
38717
38711
  const VERSION$2 = '0.0.1';
38718
38712
  const T$7 = `plugins.pip`;
38719
38713
  /**
38720
- * Enables picture in picture mode.
38714
+ * `PLUGIN` that enables picture in picture mode.
38721
38715
  * @beta
38722
38716
  * @remarks
38723
38717
  * Depends on:
@@ -38827,7 +38821,7 @@ const DEFAULT_PLAYBACK_RATES = [
38827
38821
  const DEFAULT_PLAYBACK_RATE = '1.0';
38828
38822
  const T$6 = 'plugins.playback_rate';
38829
38823
  /**
38830
- * PLUGIN that allows changing the playback speed of the video.
38824
+ * `PLUGIN` that allows changing the playback speed of the video.
38831
38825
  * @beta
38832
38826
  *
38833
38827
  * @remarks
@@ -39030,7 +39024,7 @@ const posterHTML = "<div class=\"play-wrapper\" data-poster></div>\n";
39030
39024
  // license that can be found in the LICENSE file.
39031
39025
  const T$5 = 'plugins.poster';
39032
39026
  /**
39033
- * Displays a poster image in the background and a big play button on top when playback is stopped
39027
+ * `PLUGIN` that displays a poster image in the background and a big play button on top when playback is stopped
39034
39028
  * @beta
39035
39029
  * @remarks
39036
39030
  * When the playback is stopped, media control UI is disabled.
@@ -39302,7 +39296,7 @@ const seekTimeHTML = "<span data-seek-time></span>\n<span data-duration></span>\
39302
39296
  // license that can be found at https://github.com/clappr/clappr-plugins/blob/master/LICENSE
39303
39297
  const { formatTime } = Utils;
39304
39298
  /**
39305
- * The plugin adds a seek time indicator to the media control UI.
39299
+ * `PLUGIN` that adds a seek time indicator to the media control UI.
39306
39300
  * @beta
39307
39301
  */
39308
39302
  class SeekTime extends UICorePlugin {
@@ -39462,7 +39456,7 @@ const fbIcon = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"32px\"
39462
39456
  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>";
39463
39457
 
39464
39458
  /**
39465
- * PLUGIN that adds a share button to the media control UI.
39459
+ * `PLUGIN` that adds a share button to the media control UI.
39466
39460
  * @beta
39467
39461
  */
39468
39462
  class Share extends UICorePlugin {
@@ -39583,7 +39577,7 @@ class Share extends UICorePlugin {
39583
39577
  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";
39584
39578
 
39585
39579
  /**
39586
- * PLUGIN that adds skip controls to the media control UI.
39580
+ * `PLUGIN` that adds skip controls to the media control UI.
39587
39581
  * @beta
39588
39582
  */
39589
39583
  class SkipTime extends UICorePlugin {
@@ -39671,7 +39665,7 @@ class SkipTime extends UICorePlugin {
39671
39665
 
39672
39666
  /**
39673
39667
  * Codes of errors occurring within the playback component.
39674
- * @beta
39668
+ * @public
39675
39669
  */
39676
39670
  var PlaybackErrorCode;
39677
39671
  (function (PlaybackErrorCode) {
@@ -39708,7 +39702,7 @@ var SpinnerEvents;
39708
39702
  SpinnerEvents["SYNC"] = "plugins:spinner:sync";
39709
39703
  })(SpinnerEvents || (SpinnerEvents = {}));
39710
39704
  /**
39711
- * PLUGIN that shows a pending operation indicator when playback is buffering or in a similar state
39705
+ * `PLUGIN` that shows a pending operation indicator when playback is buffering or in a similar state
39712
39706
  * @beta
39713
39707
  * @remarks
39714
39708
  * Events emitted- {@link SpinnerEvents}
@@ -39857,7 +39851,7 @@ function noSync(cb) {
39857
39851
  queueMicrotask(cb);
39858
39852
  }
39859
39853
  /**
39860
- * This plugin is responsible for managing the automatic failover between sources.
39854
+ * `PLUGIN` that is responsible for managing the automatic failover between sources.
39861
39855
  * @beta
39862
39856
  * @remarks
39863
39857
  * Have a look at the {@link https://miro.com/app/board/uXjVLiN15tY=/?share_link_id=390327585787 | source failover diagram} for the details
@@ -40060,7 +40054,7 @@ const LOCAL_STORAGE_SUBTITLES_ID = 'gplayer.plugins.subtitles.selected';
40060
40054
  const T$2 = 'plugins.subtitles';
40061
40055
  const NO_TRACK = { language: 'off' };
40062
40056
  /**
40063
- * A {@link MediaControl | media control} plugin that provides a UI to select the subtitles when available.
40057
+ * `PLUGIN` that provides a UI to select the subtitles when available.
40064
40058
  * @beta
40065
40059
  *
40066
40060
  * @remarks
@@ -40432,7 +40426,7 @@ var TelemetryEvent;
40432
40426
  TelemetryEvent[TelemetryEvent["Stall"] = 4] = "Stall";
40433
40427
  })(TelemetryEvent || (TelemetryEvent = {}));
40434
40428
  /**
40435
- * PLUGIN that collects and reports the performance statistics.
40429
+ * `PLUGIN` that collects and reports the performance statistics.
40436
40430
  * @beta
40437
40431
  * @remarks
40438
40432
  * This plugin is experimental and its API is likely to change.
@@ -40711,7 +40705,7 @@ const pluginHtml = "<div class=\"thumbnails-text\"></div>\n<% if (backdropHeight
40711
40705
 
40712
40706
  const T = 'plugins.thumbnails';
40713
40707
  /**
40714
- * Displays the thumbnails of the video when available.
40708
+ * `PLUGIN` that displays the thumbnails of the video when available.
40715
40709
  * @beta
40716
40710
  * @example
40717
40711
  * ```ts
@@ -41158,7 +41152,7 @@ var VolumeFadeEvents;
41158
41152
  VolumeFadeEvents["FADE"] = "core:volume:fade";
41159
41153
  })(VolumeFadeEvents || (VolumeFadeEvents = {}));
41160
41154
  /**
41161
- * Applies fade effect to the player's volume change.
41155
+ * `PLUGIN` that applies fade effect to the player's volume change.
41162
41156
  * @beta
41163
41157
  */
41164
41158
  class VolumeFade extends UICorePlugin {
@@ -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
 
@@ -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
- PLUGIN that displays useful network-related statistics.
10
+ `PLUGIN` that displays useful network-related statistics.
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
- PLIGIN that collects useful statistics about playback performance.
10
+ `PLUGIN` that collects useful statistics about playback performance.
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 a behavior of toggling the playback state on click over the container
10
+ `PLUGIN` that adds a behavior of toggling the playback state on click over the container
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
- PLUGIN that shows text over the seekbar to indicate the current clip.
10
+ `PLUGIN` that shows text over the seekbar to indicate the current clip.
11
11
 
12
12
  **Signature:**
13
13
 
@@ -4,15 +4,13 @@
4
4
 
5
5
  ## ContainerPluginConstructor type
6
6
 
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
- >
9
-
10
7
 
11
8
  **Signature:**
12
9
 
13
10
  ```typescript
14
- export type ContainerPluginConstructor = ((container: unknown) => PlayerPlugin) & {
15
- type: 'container';
11
+ export type ContainerPluginConstructor = {
12
+ new (container: Container): PlayerPlugin;
13
+ type: string;
16
14
  };
17
15
  ```
18
16
  **References:** [PlayerPlugin](./player.playerplugin.md)
@@ -4,9 +4,6 @@
4
4
 
5
5
  ## ContainerSize type
6
6
 
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
- >
9
-
10
7
  Dimensions of the player container DOM element.
11
8
 
12
9
  **Signature:**
@@ -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 small context menu when clicked on the player container.
10
+ `PLUGIN` that displays a small context menu when clicked on the player container.
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
- The plugin adds a context menu to the player.
10
+ Context menu plugin settings
11
11
 
12
12
  **Signature:**
13
13