@gcorevideo/player 2.20.9 → 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 (227) hide show
  1. package/assets/dvr-controls/dvr_controls.scss +0 -2
  2. package/dist/core.js +5 -5
  3. package/dist/index.css +1212 -1215
  4. package/dist/index.js +74 -71
  5. package/dist/player.d.ts +103 -96
  6. package/dist/plugins/index.css +668 -671
  7. package/dist/plugins/index.js +69 -67
  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.corepluginconstructor.md +3 -5
  19. package/docs/api/player.dashsettings.md +0 -3
  20. package/docs/api/player.dvrcontrols.md +2 -35
  21. package/docs/api/player.errorlevel.md +0 -3
  22. package/docs/api/player.errorscreen.md +1 -1
  23. package/docs/api/player.favicon.md +1 -1
  24. package/docs/api/player.googleanalytics.md +1 -1
  25. package/docs/api/player.langtag.md +0 -3
  26. package/docs/api/player.levelselector.md +1 -1
  27. package/docs/api/player.logo.md +1 -1
  28. package/docs/api/player.md +69 -80
  29. package/docs/api/player.mediacontrol.md +2 -2
  30. package/docs/api/player.multicamera.md +1 -1
  31. package/docs/api/player.pictureinpicture.md +1 -1
  32. package/docs/api/player.playbackerror.code.md +0 -3
  33. package/docs/api/player.playbackerror.description.md +0 -3
  34. package/docs/api/player.playbackerror.level.md +0 -3
  35. package/docs/api/player.playbackerror.md +8 -11
  36. package/docs/api/player.playbackerror.message.md +0 -3
  37. package/docs/api/player.playbackerror.origin.md +0 -3
  38. package/docs/api/player.playbackerror.scope.md +0 -3
  39. package/docs/api/player.playbackerror.ui.md +1 -3
  40. package/docs/api/player.playbackerrorcode.md +3 -6
  41. package/docs/api/player.playbackmodule.md +0 -3
  42. package/docs/api/player.playbackrate.md +1 -1
  43. package/docs/api/player.playbacktype.md +1 -4
  44. package/docs/api/player.player._constructor_.md +0 -3
  45. package/docs/api/player.player.attachto.md +0 -3
  46. package/docs/api/player.player.configure.md +0 -3
  47. package/docs/api/player.player.destroy.md +0 -3
  48. package/docs/api/player.player.getcurrenttime.md +0 -3
  49. package/docs/api/player.player.getduration.md +0 -3
  50. package/docs/api/player.player.getvolume.md +0 -3
  51. package/docs/api/player.player.isdvrenabled.md +0 -3
  52. package/docs/api/player.player.isdvrinuse.md +0 -3
  53. package/docs/api/player.player.ismuted.md +0 -3
  54. package/docs/api/player.player.isplaying.md +0 -3
  55. package/docs/api/player.player.md +25 -28
  56. package/docs/api/player.player.mute.md +0 -3
  57. package/docs/api/player.player.off.md +0 -3
  58. package/docs/api/player.player.on.md +0 -3
  59. package/docs/api/player.player.pause.md +0 -3
  60. package/docs/api/player.player.play.md +0 -3
  61. package/docs/api/player.player.registerplugin.md +0 -3
  62. package/docs/api/player.player.resize.md +0 -3
  63. package/docs/api/player.player.seek.md +0 -3
  64. package/docs/api/player.player.setvolume.md +0 -3
  65. package/docs/api/player.player.stop.md +0 -3
  66. package/docs/api/player.player.unmute.md +0 -3
  67. package/docs/api/player.player.unregisterplugin.md +14 -7
  68. package/docs/api/player.playercomponenttype.md +0 -3
  69. package/docs/api/player.playerconfig.autoplay.md +0 -3
  70. package/docs/api/player.playerconfig.dash.md +0 -3
  71. package/docs/api/player.playerconfig.debug.md +0 -3
  72. package/docs/api/player.playerconfig.language.md +0 -3
  73. package/docs/api/player.playerconfig.loop.md +0 -3
  74. package/docs/api/player.playerconfig.md +10 -13
  75. package/docs/api/player.playerconfig.mute.md +0 -3
  76. package/docs/api/player.playerconfig.playbacktype.md +0 -3
  77. package/docs/api/player.playerconfig.prioritytransport.md +0 -3
  78. package/docs/api/player.playerconfig.sources.md +0 -3
  79. package/docs/api/player.playerconfig.strings.md +0 -3
  80. package/docs/api/player.playerdebugsettings.md +0 -3
  81. package/docs/api/player.playerdebugtag.md +0 -3
  82. package/docs/api/player.playerevent.md +11 -14
  83. package/docs/api/player.playereventhandler.md +0 -3
  84. package/docs/api/player.playereventparams.md +0 -3
  85. package/docs/api/player.playermediasource.md +0 -3
  86. package/docs/api/player.playermediasourcedesc.md +2 -5
  87. package/docs/api/player.playermediasourcedesc.mimetype.md +0 -3
  88. package/docs/api/player.playermediasourcedesc.source.md +0 -3
  89. package/docs/api/player.playerplugin.md +0 -4
  90. package/docs/api/player.playerpluginconstructor.md +0 -3
  91. package/docs/api/player.poster.md +1 -1
  92. package/docs/api/player.qualitylevel.bitrate.md +0 -3
  93. package/docs/api/player.qualitylevel.height.md +0 -3
  94. package/docs/api/player.qualitylevel.level.md +0 -3
  95. package/docs/api/player.qualitylevel.md +4 -7
  96. package/docs/api/player.qualitylevel.width.md +0 -3
  97. package/docs/api/player.seektime.md +1 -1
  98. package/docs/api/player.share.md +1 -1
  99. package/docs/api/player.skiptime.md +1 -1
  100. package/docs/api/player.sourcecontroller.md +1 -1
  101. package/docs/api/player.spinnerthreebounce.md +1 -1
  102. package/docs/api/player.subtitles.md +1 -1
  103. package/docs/api/player.telemetry.md +1 -1
  104. package/docs/api/player.thumbnails.md +1 -1
  105. package/docs/api/player.timeposition.current.md +0 -3
  106. package/docs/api/player.timeposition.md +2 -5
  107. package/docs/api/player.timeposition.total.md +0 -3
  108. package/docs/api/player.timevalue.md +0 -3
  109. package/docs/api/player.translationkey.md +0 -3
  110. package/docs/api/player.translationsettings.md +0 -3
  111. package/docs/api/player.transportpreference.md +2 -7
  112. package/docs/api/player.volumefade.md +1 -1
  113. package/lib/Player.d.ts +5 -5
  114. package/lib/Player.js +2 -2
  115. package/lib/index.d.ts +18 -1
  116. package/lib/index.d.ts.map +1 -1
  117. package/lib/index.js +18 -1
  118. package/lib/playback.types.d.ts +8 -7
  119. package/lib/playback.types.d.ts.map +1 -1
  120. package/lib/playback.types.js +1 -1
  121. package/lib/plugins/audio-selector/AudioSelector.d.ts +1 -1
  122. package/lib/plugins/audio-selector/AudioSelector.js +1 -1
  123. package/lib/plugins/big-mute-button/BigMuteButton.d.ts +1 -1
  124. package/lib/plugins/big-mute-button/BigMuteButton.d.ts.map +1 -1
  125. package/lib/plugins/big-mute-button/BigMuteButton.js +1 -2
  126. package/lib/plugins/bottom-gear/BottomGear.d.ts +1 -1
  127. package/lib/plugins/bottom-gear/BottomGear.js +1 -1
  128. package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.d.ts +1 -1
  129. package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.js +1 -1
  130. package/lib/plugins/clappr-stats/ClapprStats.d.ts +1 -1
  131. package/lib/plugins/clappr-stats/ClapprStats.js +1 -1
  132. package/lib/plugins/click-to-pause/ClickToPause.d.ts +1 -1
  133. package/lib/plugins/click-to-pause/ClickToPause.js +1 -1
  134. package/lib/plugins/clips/Clips.d.ts +1 -1
  135. package/lib/plugins/clips/Clips.js +1 -1
  136. package/lib/plugins/context-menu/ContextMenu.d.ts +1 -1
  137. package/lib/plugins/context-menu/ContextMenu.js +1 -1
  138. package/lib/plugins/dvr-controls/DvrControls.d.ts +6 -4
  139. package/lib/plugins/dvr-controls/DvrControls.d.ts.map +1 -1
  140. package/lib/plugins/dvr-controls/DvrControls.js +28 -36
  141. package/lib/plugins/error-screen/ErrorScreen.d.ts +1 -18
  142. package/lib/plugins/error-screen/ErrorScreen.d.ts.map +1 -1
  143. package/lib/plugins/error-screen/ErrorScreen.js +1 -1
  144. package/lib/plugins/favicon/Favicon.d.ts +1 -1
  145. package/lib/plugins/favicon/Favicon.js +1 -1
  146. package/lib/plugins/google-analytics/GoogleAnalytics.d.ts +1 -1
  147. package/lib/plugins/google-analytics/GoogleAnalytics.js +1 -1
  148. package/lib/plugins/level-selector/LevelSelector.d.ts +1 -1
  149. package/lib/plugins/level-selector/LevelSelector.js +1 -1
  150. package/lib/plugins/logo/Logo.d.ts +1 -1
  151. package/lib/plugins/logo/Logo.js +1 -1
  152. package/lib/plugins/media-control/MediaControl.d.ts +8 -2
  153. package/lib/plugins/media-control/MediaControl.d.ts.map +1 -1
  154. package/lib/plugins/media-control/MediaControl.js +15 -3
  155. package/lib/plugins/multi-camera/MultiCamera.d.ts +1 -1
  156. package/lib/plugins/multi-camera/MultiCamera.js +1 -1
  157. package/lib/plugins/picture-in-picture/PictureInPicture.d.ts +1 -1
  158. package/lib/plugins/picture-in-picture/PictureInPicture.js +1 -1
  159. package/lib/plugins/playback-rate/PlaybackRate.d.ts +1 -1
  160. package/lib/plugins/playback-rate/PlaybackRate.js +1 -1
  161. package/lib/plugins/poster/Poster.d.ts +1 -1
  162. package/lib/plugins/poster/Poster.js +1 -1
  163. package/lib/plugins/seek-time/SeekTime.d.ts +1 -1
  164. package/lib/plugins/seek-time/SeekTime.js +1 -1
  165. package/lib/plugins/share/Share.d.ts +1 -1
  166. package/lib/plugins/share/Share.js +1 -1
  167. package/lib/plugins/skip-time/SkipTime.d.ts +1 -1
  168. package/lib/plugins/skip-time/SkipTime.js +1 -1
  169. package/lib/plugins/source-controller/SourceController.d.ts +1 -1
  170. package/lib/plugins/source-controller/SourceController.js +1 -1
  171. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts +1 -1
  172. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.js +1 -1
  173. package/lib/plugins/subtitles/Subtitles.d.ts +1 -1
  174. package/lib/plugins/subtitles/Subtitles.js +1 -1
  175. package/lib/plugins/telemetry/Telemetry.d.ts +1 -1
  176. package/lib/plugins/telemetry/Telemetry.js +1 -1
  177. package/lib/plugins/thumbnails/Thumbnails.d.ts +1 -1
  178. package/lib/plugins/thumbnails/Thumbnails.js +1 -1
  179. package/lib/plugins/volume-fade/VolumeFade.d.ts +1 -1
  180. package/lib/plugins/volume-fade/VolumeFade.js +1 -1
  181. package/lib/testUtils.d.ts +11 -2
  182. package/lib/testUtils.d.ts.map +1 -1
  183. package/lib/testUtils.js +22 -3
  184. package/lib/types.d.ts +20 -25
  185. package/lib/types.d.ts.map +1 -1
  186. package/lib/types.js +1 -1
  187. package/package.json +1 -1
  188. package/src/Player.ts +5 -5
  189. package/src/index.ts +18 -1
  190. package/src/playback.types.ts +8 -7
  191. package/src/plugins/audio-selector/AudioSelector.ts +1 -1
  192. package/src/plugins/big-mute-button/BigMuteButton.ts +1 -2
  193. package/src/plugins/bottom-gear/BottomGear.ts +1 -1
  194. package/src/plugins/clappr-nerd-stats/ClapprNerdStats.ts +1 -1
  195. package/src/plugins/clappr-stats/ClapprStats.ts +1 -1
  196. package/src/plugins/click-to-pause/ClickToPause.ts +1 -1
  197. package/src/plugins/clips/Clips.ts +1 -1
  198. package/src/plugins/context-menu/ContextMenu.ts +1 -1
  199. package/src/plugins/dvr-controls/DvrControls.ts +33 -45
  200. package/src/plugins/dvr-controls/__tests__/DvrControls.test.ts +91 -0
  201. package/src/plugins/dvr-controls/__tests__/__snapshots__/DvrControls.test.ts.snap +43 -0
  202. package/src/plugins/error-screen/ErrorScreen.ts +3 -21
  203. package/src/plugins/favicon/Favicon.ts +1 -1
  204. package/src/plugins/google-analytics/GoogleAnalytics.ts +1 -1
  205. package/src/plugins/level-selector/LevelSelector.ts +1 -1
  206. package/src/plugins/logo/Logo.ts +1 -1
  207. package/src/plugins/media-control/MediaControl.ts +17 -3
  208. package/src/plugins/multi-camera/MultiCamera.ts +1 -1
  209. package/src/plugins/picture-in-picture/PictureInPicture.ts +1 -1
  210. package/src/plugins/playback-rate/PlaybackRate.ts +1 -1
  211. package/src/plugins/poster/Poster.ts +1 -1
  212. package/src/plugins/seek-time/SeekTime.ts +1 -1
  213. package/src/plugins/share/Share.ts +1 -1
  214. package/src/plugins/skip-time/SkipTime.ts +1 -1
  215. package/src/plugins/source-controller/SourceController.ts +1 -1
  216. package/src/plugins/spinner-three-bounce/SpinnerThreeBounce.ts +1 -1
  217. package/src/plugins/subtitles/Subtitles.ts +1 -1
  218. package/src/plugins/telemetry/Telemetry.ts +1 -1
  219. package/src/plugins/thumbnails/Thumbnails.ts +1 -1
  220. package/src/plugins/volume-fade/VolumeFade.ts +1 -1
  221. package/src/testUtils.ts +28 -4
  222. package/src/types.ts +20 -26
  223. package/temp/player.api.json +181 -251
  224. package/tsconfig.tsbuildinfo +1 -1
  225. package/docs/api/player.dvrcontrols._constructor_.md +0 -50
  226. package/docs/api/player.errordesc.md +0 -28
  227. package/docs/api/player.mediatransport.md +0 -16
@@ -6,7 +6,7 @@ import '../../../assets/dvr-controls/dvr_controls.scss';
6
6
  import { trace } from '@gcorevideo/utils';
7
7
  const T = 'plugins.dvr_controls';
8
8
  /**
9
- * PLUGIN that adds the DVR controls to the media control UI
9
+ * `PLUGIN` that adds the DVR controls to the media control UI
10
10
  *
11
11
  * @beta
12
12
  *
@@ -15,7 +15,9 @@ const T = 'plugins.dvr_controls';
15
15
  *
16
16
  * - {@link MediaControl}
17
17
  *
18
- * The plugin renders live stream indicator and the DVR seek bar, if DVR is enabled, in the media control UI.
18
+ * The plugin renders live stream indicator.
19
+ * If DVR is enabled, the indicator shows whether the current position is at the live edge of the stream or not.
20
+ * In the latter case, the indicator can be clicked to seek to the live edge.
19
21
  */
20
22
  export class DvrControls extends UICorePlugin {
21
23
  static template = template(dvrHTML);
@@ -48,67 +50,60 @@ export class DvrControls extends UICorePlugin {
48
50
  'data-dvr-controls': '',
49
51
  };
50
52
  }
51
- constructor(core) {
52
- super(core);
53
- this.settingsUpdate();
54
- }
55
53
  /**
56
54
  * @internal
57
55
  */
58
56
  bindEvents() {
57
+ this.listenTo(this.core, Events.CORE_READY, this.onCoreReady);
58
+ this.listenTo(this.core, Events.CORE_OPTIONS_CHANGE, this.render);
59
+ this.listenTo(this.core, Events.CORE_ACTIVE_CONTAINER_CHANGED, this.bindContainerEvents);
60
+ }
61
+ onCoreReady() {
59
62
  const mediaControl = this.core.getPlugin('media_control');
60
63
  assert(mediaControl, 'media_control plugin is required');
61
64
  this.listenTo(mediaControl, Events.MEDIACONTROL_RENDERED, this.settingsUpdate);
62
- this.listenTo(this.core, Events.CORE_OPTIONS_CHANGE, this.render);
63
- this.listenTo(this.core, Events.CORE_ACTIVE_CONTAINER_CHANGED, this.bindContainerEvents);
65
+ this.settingsUpdate();
64
66
  }
65
67
  bindContainerEvents() {
66
68
  this.listenToOnce(this.core.activeContainer, Events.CONTAINER_TIMEUPDATE, this.render);
67
69
  this.listenTo(this.core.activeContainer, Events.CONTAINER_PLAYBACKDVRSTATECHANGED, this.onDvrChanged);
68
70
  }
69
- onDvrChanged(dvrEnabled) {
71
+ onDvrChanged(dvrInUse) {
70
72
  trace(`${T} onDvrChanged`, {
71
- dvrEnabled,
73
+ dvrInUse,
72
74
  });
73
75
  if (this.core.getPlaybackType() !== Playback.LIVE) {
74
76
  return;
75
77
  }
76
- this.settingsUpdate();
77
- this.core.mediaControl.$el.addClass('live');
78
- if (dvrEnabled) {
79
- // TODO
80
- this.core.mediaControl.$el
78
+ this.render();
79
+ const mediaControl = this.core.getPlugin('media_control');
80
+ mediaControl.$el.addClass('live');
81
+ if (dvrInUse) {
82
+ mediaControl.$el
81
83
  .addClass('dvr')
82
- .find('.media-control-indicator[data-position], .media-control-indicator[data-duration]')
84
+ .find(
85
+ // TODO add API, test
86
+ '.media-control-indicator[data-position], .media-control-indicator[data-duration]')
83
87
  .hide();
84
88
  }
85
89
  else {
86
- this.core.mediaControl.$el.removeClass('dvr');
90
+ mediaControl.$el.removeClass('dvr');
87
91
  }
88
92
  }
89
93
  click() {
90
- const mediaControl = this.core.getPlugin('media_control');
91
94
  const container = this.core.activeContainer;
92
95
  if (!container.isPlaying()) {
93
96
  container.play();
94
97
  }
95
- if (mediaControl.$el.hasClass('dvr')) {
96
- container.seek(container.getDuration());
97
- }
98
+ container.seek(container.getDuration());
98
99
  }
99
100
  settingsUpdate() {
100
- // @ts-ignore
101
- this.stopListening(); // TODO sort out
102
- this.core.getPlugin('media_control').$el.removeClass('live'); // TODO don't access directly
103
- if (this.shouldRender()) {
104
- this.render();
105
- this.$el.click(() => this.click());
106
- }
107
- this.bindEvents();
101
+ trace(`${T} settingsUpdate`);
102
+ this.core.getPlugin('media_control').$el.removeClass('live');
103
+ this.render();
108
104
  }
109
105
  shouldRender() {
110
- const useDvrControls = this.core.options.useDvrControls === undefined ||
111
- !!this.core.options.useDvrControls;
106
+ const useDvrControls = this.core.options.useDvrControls !== false;
112
107
  return useDvrControls && this.core.getPlaybackType() === Playback.LIVE;
113
108
  }
114
109
  /**
@@ -117,6 +112,7 @@ export class DvrControls extends UICorePlugin {
117
112
  render() {
118
113
  trace(`${T} render`, {
119
114
  dvrEnabled: this.core.activePlayback?.dvrEnabled,
115
+ playbackType: this.core.getPlaybackType(),
120
116
  });
121
117
  if (!this.shouldRender()) {
122
118
  return this;
@@ -126,12 +122,8 @@ export class DvrControls extends UICorePlugin {
126
122
  backToLive: this.core.i18n.t('back_to_live'),
127
123
  }));
128
124
  const mediaControl = this.core.getPlugin('media_control');
129
- assert(mediaControl, 'media_control plugin is required');
130
- // TODO don't tap into the $el directly
131
125
  mediaControl.$el.addClass('live');
132
- mediaControl
133
- .$('.media-control-left-panel[data-media-control]')
134
- .append(this.$el);
126
+ mediaControl.getLeftPanel().append(this.$el);
135
127
  return this;
136
128
  }
137
129
  }
@@ -1,22 +1,5 @@
1
1
  import { UICorePlugin } from '@clappr/core';
2
2
  import '../../../assets/error-screen/error_screen.scss';
3
- /**
4
- * An error fired in the player and plugins code to be handled in the UI
5
- * @beta
6
- */
7
- export type ErrorDesc = {
8
- description: string;
9
- level: string;
10
- code: string;
11
- origin: string;
12
- scope: string;
13
- raw?: string;
14
- UI?: {
15
- icon?: string;
16
- title: string;
17
- message: string;
18
- };
19
- };
20
3
  /**
21
4
  * Configuration options for the {@link ErrorScreen | error screen} plugin.
22
5
  * @beta
@@ -28,7 +11,7 @@ export type ErrorScreenPluginSettings = {
28
11
  noReload?: boolean;
29
12
  };
30
13
  /**
31
- * PLUGIN that displays errors nicely in the overlay on top of the player.
14
+ * `PLUGIN` that displays errors nicely in the overlay on top of the player.
32
15
  * @beta
33
16
  */
34
17
  export declare class ErrorScreen extends UICorePlugin {
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorScreen.d.ts","sourceRoot":"","sources":["../../../src/plugins/error-screen/ErrorScreen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoB,MAAM,cAAc,CAAA;AAO7D,OAAO,gDAAgD,CAAA;AAGvD;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE;QACH,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;CACF,CAAA;AASD;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAID;;;GAGG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,GAAG,CAA+B;IAE1C;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAEzD;;OAEG;IACH,IAAa,UAAU;;;MAKtB;IAED;;OAEG;IACM,UAAU;IASnB,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,OAAO;IAMf;;OAEG;IACH,IAAa,MAAM;;MAIlB;IAED,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,wBAAwB;IAqBhC,OAAO,CAAC,OAAO;IAgBf;;OAEG;IACM,MAAM;CAkBhB"}
1
+ {"version":3,"file":"ErrorScreen.d.ts","sourceRoot":"","sources":["../../../src/plugins/error-screen/ErrorScreen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoB,MAAM,cAAc,CAAA;AAO7D,OAAO,gDAAgD,CAAA;AAUvD;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAID;;;GAGG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,GAAG,CAA+B;IAE1C;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAEzD;;OAEG;IACH,IAAa,UAAU;;;MAKtB;IAED;;OAEG;IACM,UAAU;IASnB,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,OAAO;IAMf;;OAEG;IACH,IAAa,MAAM;;MAIlB;IAED,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,wBAAwB;IAqBhC,OAAO,CAAC,OAAO;IAgBf;;OAEG;IACM,MAAM;CAkBhB"}
@@ -6,7 +6,7 @@ import templateHtml from '../../../assets/error-screen/error_screen.ejs';
6
6
  import '../../../assets/error-screen/error_screen.scss';
7
7
  const T = 'plugins.error_screen';
8
8
  /**
9
- * PLUGIN that displays errors nicely in the overlay on top of the player.
9
+ * `PLUGIN` that displays errors nicely in the overlay on top of the player.
10
10
  * @beta
11
11
  */
12
12
  export class ErrorScreen extends UICorePlugin {
@@ -1,6 +1,6 @@
1
1
  import { CorePlugin, Core } from '@clappr/core';
2
2
  /**
3
- * The plugin adds custom favicon to the player's tab.
3
+ * `PLUGIN` that adds custom favicon to the player's tab.
4
4
  * @beta
5
5
  */
6
6
  export declare class Favicon extends CorePlugin {
@@ -7,7 +7,7 @@ const FAVICON_COLOR = '#567';
7
7
  const FAVICON_SELECTOR = 'link[rel="shortcut icon"]';
8
8
  // const oldIcon = $(FAVICON_SELECTOR);
9
9
  /**
10
- * The plugin adds custom favicon to the player's tab.
10
+ * `PLUGIN` that adds custom favicon to the player's tab.
11
11
  * @beta
12
12
  */
13
13
  export class Favicon extends CorePlugin {
@@ -1,6 +1,6 @@
1
1
  import { Container, ContainerPlugin } from '@clappr/core';
2
2
  /**
3
- * An example Google Analytics integration plugin
3
+ * `PLUGIN` that integrates with Google Analytics
4
4
  * @beta
5
5
  */
6
6
  export declare class GoogleAnalytics extends ContainerPlugin {
@@ -4,7 +4,7 @@
4
4
  import { ContainerPlugin, Events } from '@clappr/core';
5
5
  import { CLAPPR_VERSION } from '../../build.js';
6
6
  /**
7
- * An example Google Analytics integration plugin
7
+ * `PLUGIN` that integrates with Google Analytics
8
8
  * @beta
9
9
  */
10
10
  export class GoogleAnalytics extends ContainerPlugin {
@@ -19,7 +19,7 @@ export interface LevelSelectorPluginSettings {
19
19
  labels?: Record<number, string>;
20
20
  }
21
21
  /**
22
- * PLUGIN that provides a UI to select the desired quality level of the playback.
22
+ * `PLUGIN` that provides a UI to select the desired quality level of the playback.
23
23
  * @beta
24
24
  *
25
25
  * @remarks
@@ -13,7 +13,7 @@ import { MediaControlEvents } from '../media-control/MediaControl.js';
13
13
  const T = 'plugins.level_selector';
14
14
  const VERSION = '2.19.4';
15
15
  /**
16
- * PLUGIN that provides a UI to select the desired quality level of the playback.
16
+ * `PLUGIN` that provides a UI to select the desired quality level of the playback.
17
17
  * @beta
18
18
  *
19
19
  * @remarks
@@ -1,7 +1,7 @@
1
1
  import { UIContainerPlugin, Container } from '@clappr/core';
2
2
  import '../../../assets/logo/styles/logo.scss';
3
3
  /**
4
- * The plugin adds custom logo to the player.
4
+ * `PLUGIN` that adds custom logo to the player.
5
5
  * @beta
6
6
  */
7
7
  export declare class Logo extends UIContainerPlugin {
@@ -4,7 +4,7 @@ import { calculateSize } from './utils/index.js';
4
4
  import logoHTML from '../../../assets/logo/templates/logo.ejs';
5
5
  import '../../../assets/logo/styles/logo.scss';
6
6
  /**
7
- * The plugin adds custom logo to the player.
7
+ * `PLUGIN` that adds custom logo to the player.
8
8
  * @beta
9
9
  */
10
10
  export class Logo extends UIContainerPlugin {
@@ -18,11 +18,11 @@ export declare enum MediaControlEvents {
18
18
  MEDIACONTROL_GEAR_RENDERED = "mediacontrol:gear:rendered"
19
19
  }
20
20
  /**
21
- * PLUGIN that provides a foundation for developing custom media controls UI.
21
+ * `PLUGIN` that provides a foundation for developing custom media controls UI.
22
22
  * @beta
23
23
  * @remarks
24
24
  * The methods exposed are to be used by the other plugins that extend the media control UI.
25
- * The plugin registration should be arranged so that MediaControl is initialized before every other plugin that depends on it.
25
+ * The plugin registration should be arranged so that MediaControl is initialized before every other `PLUGIN` that depends on it.
26
26
  * @example
27
27
  * ```ts
28
28
  * Player.registerPlugin(MediaControl) // <--- This must go first
@@ -244,6 +244,12 @@ export declare class MediaControl extends UICorePlugin {
244
244
  * @returns ZeptoSelector of the right panel element
245
245
  */
246
246
  getRightPanel(): any;
247
+ /**
248
+ * Get the left panel area to append custom elements to
249
+ * @returns ZeptoSelector of the left panel element
250
+ */
251
+ getLeftPanel(): any;
252
+ getCenterPanel(): any;
247
253
  private resetIndicators;
248
254
  private initializeIcons;
249
255
  private setSeekPercentage;
@@ -1 +1 @@
1
- {"version":3,"file":"MediaControl.d.ts","sourceRoot":"","sources":["../../../src/plugins/media-control/MediaControl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MediaControl.d.ts","sourceRoot":"","sources":["../../../src/plugins/media-control/MediaControl.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
+ // This is a derived work from the {@link https://github.com/clappr/clappr-plugins/tree/ffaa9d27005fa5a8a7c243ffc47eb5655b84b371/src/plugins/media_control | Clappr MediaControl plugin}
2
+ // It is redistributed under the terms of the {@link ../../../../../LICENSE | Apache 2.0} license.
1
3
  // Copyright 2014 Globo.com Player authors. All rights reserved.
2
4
  // Use of this source code is governed by a BSD-style
3
- // license that can be found in the LICENSE file.
5
+ // license that can be found in the {@link https://github.com/clappr/clappr-plugins/blob/master/LICENSE | LICENSE}.
4
6
  import assert from 'assert';
5
7
  import { Events, UICorePlugin, Browser, Playback, Utils, template, $, } from '@clappr/core';
6
8
  import { reportError, trace } from '@gcorevideo/utils';
@@ -45,11 +47,11 @@ function orderByOrderPattern(arr, order) {
45
47
  return [...ordered, ...rest];
46
48
  }
47
49
  /**
48
- * PLUGIN that provides a foundation for developing custom media controls UI.
50
+ * `PLUGIN` that provides a foundation for developing custom media controls UI.
49
51
  * @beta
50
52
  * @remarks
51
53
  * The methods exposed are to be used by the other plugins that extend the media control UI.
52
- * The plugin registration should be arranged so that MediaControl is initialized before every other plugin that depends on it.
54
+ * The plugin registration should be arranged so that MediaControl is initialized before every other `PLUGIN` that depends on it.
53
55
  * @example
54
56
  * ```ts
55
57
  * Player.registerPlugin(MediaControl) // <--- This must go first
@@ -837,6 +839,16 @@ export class MediaControl extends UICorePlugin {
837
839
  getRightPanel() {
838
840
  return this.$el.find('.media-control-right-panel');
839
841
  }
842
+ /**
843
+ * Get the left panel area to append custom elements to
844
+ * @returns ZeptoSelector of the left panel element
845
+ */
846
+ getLeftPanel() {
847
+ return this.$el.find('.media-control-left-panel');
848
+ }
849
+ getCenterPanel() {
850
+ return this.$el.find('.media-control-center-panel');
851
+ }
840
852
  resetIndicators() {
841
853
  assert.ok(this.$duration && this.$position, 'duration and position elements must be present');
842
854
  this.displayedPosition = this.$position.text();
@@ -1,7 +1,7 @@
1
1
  import { Core, UICorePlugin } from '@clappr/core';
2
2
  import '../../../assets/multi-camera/style.scss';
3
3
  /**
4
- * PLUGIN that adds support for loading multiple streams and switching between them using the media control UI.
4
+ * `PLUGIN` that adds support for loading multiple streams and switching between them using the media control UI.
5
5
  * @beta
6
6
  */
7
7
  export declare class MultiCamera extends UICorePlugin {
@@ -9,7 +9,7 @@ import streamsWhiteNightsIcon from '../../../assets/icons/old/wn.svg';
9
9
  const VERSION = '0.0.1';
10
10
  const T = 'plugins.multicamera';
11
11
  /**
12
- * PLUGIN that adds support for loading multiple streams and switching between them using the media control UI.
12
+ * `PLUGIN` that adds support for loading multiple streams and switching between them using the media control UI.
13
13
  * @beta
14
14
  */
15
15
  export class MultiCamera extends UICorePlugin {
@@ -1,7 +1,7 @@
1
1
  import { UICorePlugin } from '@clappr/core';
2
2
  import '../../../assets/picture-in-picture/button.scss';
3
3
  /**
4
- * Enables picture in picture mode.
4
+ * `PLUGIN` that enables picture in picture mode.
5
5
  * @beta
6
6
  * @remarks
7
7
  * Depends on:
@@ -7,7 +7,7 @@ import '../../../assets/picture-in-picture/button.scss';
7
7
  const VERSION = '0.0.1';
8
8
  const T = `plugins.pip`;
9
9
  /**
10
- * Enables picture in picture mode.
10
+ * `PLUGIN` that enables picture in picture mode.
11
11
  * @beta
12
12
  * @remarks
13
13
  * Depends on:
@@ -1,6 +1,6 @@
1
1
  import { UICorePlugin, Core } from '@clappr/core';
2
2
  /**
3
- * PLUGIN that allows changing the playback speed of the video.
3
+ * `PLUGIN` that allows changing the playback speed of the video.
4
4
  * @beta
5
5
  *
6
6
  * @remarks
@@ -22,7 +22,7 @@ const DEFAULT_PLAYBACK_RATES = [
22
22
  const DEFAULT_PLAYBACK_RATE = '1.0';
23
23
  const T = 'plugins.playback_rate';
24
24
  /**
25
- * PLUGIN that allows changing the playback speed of the video.
25
+ * `PLUGIN` that allows changing the playback speed of the video.
26
26
  * @beta
27
27
  *
28
28
  * @remarks
@@ -1,7 +1,7 @@
1
1
  import { UIContainerPlugin } from '@clappr/core';
2
2
  import '../../../assets/poster/poster.scss';
3
3
  /**
4
- * Displays a poster image in the background and a big play button on top when playback is stopped
4
+ * `PLUGIN` that displays a poster image in the background and a big play button on top when playback is stopped
5
5
  * @beta
6
6
  * @remarks
7
7
  * When the playback is stopped, media control UI is disabled.
@@ -9,7 +9,7 @@ import posterHTML from '../../../assets/poster/poster.ejs';
9
9
  import playIcon from '../../../assets/icons/new/play.svg';
10
10
  const T = 'plugins.poster';
11
11
  /**
12
- * Displays a poster image in the background and a big play button on top when playback is stopped
12
+ * `PLUGIN` that displays a poster image in the background and a big play button on top when playback is stopped
13
13
  * @beta
14
14
  * @remarks
15
15
  * When the playback is stopped, media control UI is disabled.
@@ -1,7 +1,7 @@
1
1
  import { UICorePlugin } from '@clappr/core';
2
2
  import '../../../assets/seek-time/seek-time.scss';
3
3
  /**
4
- * The plugin adds a seek time indicator to the media control UI.
4
+ * `PLUGIN` that adds a seek time indicator to the media control UI.
5
5
  * @beta
6
6
  */
7
7
  export declare class SeekTime extends UICorePlugin {
@@ -7,7 +7,7 @@ import seekTimeHTML from '../../../assets/seek-time/seek-time.html';
7
7
  import '../../../assets/seek-time/seek-time.scss';
8
8
  const { formatTime } = Utils;
9
9
  /**
10
- * The plugin adds a seek time indicator to the media control UI.
10
+ * `PLUGIN` that adds a seek time indicator to the media control UI.
11
11
  * @beta
12
12
  */
13
13
  export class SeekTime extends UICorePlugin {
@@ -1,7 +1,7 @@
1
1
  import { UICorePlugin } from '@clappr/core';
2
2
  import '../../../assets/share/style.scss';
3
3
  /**
4
- * PLUGIN that adds a share button to the media control UI.
4
+ * `PLUGIN` that adds a share button to the media control UI.
5
5
  * @beta
6
6
  */
7
7
  export declare class Share extends UICorePlugin {
@@ -7,7 +7,7 @@ import closeIcon from '../../../assets/icons/old/close-share.svg';
7
7
  import fbIcon from '../../../assets/icons/old/fb.svg';
8
8
  import twIcon from '../../../assets/icons/old/twitter.svg';
9
9
  /**
10
- * PLUGIN that adds a share button to the media control UI.
10
+ * `PLUGIN` that adds a share button to the media control UI.
11
11
  * @beta
12
12
  */
13
13
  export class Share extends UICorePlugin {
@@ -1,7 +1,7 @@
1
1
  import { UICorePlugin as UICorePluginOriginal } from '@clappr/core';
2
2
  import '../../../assets/skip-time/style.scss';
3
3
  /**
4
- * PLUGIN that adds skip controls to the media control UI.
4
+ * `PLUGIN` that adds skip controls to the media control UI.
5
5
  * @beta
6
6
  */
7
7
  export declare class SkipTime extends UICorePluginOriginal {
@@ -3,7 +3,7 @@ import { CLAPPR_VERSION } from '../../build.js';
3
3
  import pluginHtml from '../../../assets/skip-time/skip-time.ejs';
4
4
  import '../../../assets/skip-time/style.scss';
5
5
  /**
6
- * PLUGIN that adds skip controls to the media control UI.
6
+ * `PLUGIN` that adds skip controls to the media control UI.
7
7
  * @beta
8
8
  */
9
9
  export class SkipTime extends UICorePluginOriginal {
@@ -1,6 +1,6 @@
1
1
  import { CorePlugin, type Core as ClapprCore } from '@clappr/core';
2
2
  /**
3
- * This plugin is responsible for managing the automatic failover between sources.
3
+ * `PLUGIN` that is responsible for managing the automatic failover between sources.
4
4
  * @beta
5
5
  * @remarks
6
6
  * Have a look at the {@link https://miro.com/app/board/uXjVLiN15tY=/?share_link_id=390327585787 | source failover diagram} for the details
@@ -12,7 +12,7 @@ function noSync(cb) {
12
12
  queueMicrotask(cb);
13
13
  }
14
14
  /**
15
- * This plugin is responsible for managing the automatic failover between sources.
15
+ * `PLUGIN` that is responsible for managing the automatic failover between sources.
16
16
  * @beta
17
17
  * @remarks
18
18
  * Have a look at the {@link https://miro.com/app/board/uXjVLiN15tY=/?share_link_id=390327585787 | source failover diagram} for the details
@@ -12,7 +12,7 @@ export declare enum SpinnerEvents {
12
12
  SYNC = "plugins:spinner:sync"
13
13
  }
14
14
  /**
15
- * PLUGIN that shows a pending operation indicator when playback is buffering or in a similar state
15
+ * `PLUGIN` that shows a pending operation indicator when playback is buffering or in a similar state
16
16
  * @beta
17
17
  * @remarks
18
18
  * Events emitted- {@link SpinnerEvents}
@@ -21,7 +21,7 @@ export var SpinnerEvents;
21
21
  SpinnerEvents["SYNC"] = "plugins:spinner:sync";
22
22
  })(SpinnerEvents || (SpinnerEvents = {}));
23
23
  /**
24
- * PLUGIN that shows a pending operation indicator when playback is buffering or in a similar state
24
+ * `PLUGIN` that shows a pending operation indicator when playback is buffering or in a similar state
25
25
  * @beta
26
26
  * @remarks
27
27
  * Events emitted- {@link SpinnerEvents}
@@ -1,7 +1,7 @@
1
1
  import { UICorePlugin } from '@clappr/core';
2
2
  import '../../../assets/subtitles/style.scss';
3
3
  /**
4
- * A {@link MediaControl | media control} plugin that provides a UI to select the subtitles when available.
4
+ * `PLUGIN` that provides a UI to select the subtitles when available.
5
5
  * @beta
6
6
  *
7
7
  * @remarks
@@ -13,7 +13,7 @@ const LOCAL_STORAGE_SUBTITLES_ID = 'gplayer.plugins.subtitles.selected';
13
13
  const T = 'plugins.subtitles';
14
14
  const NO_TRACK = { language: 'off' };
15
15
  /**
16
- * A {@link MediaControl | media control} plugin that provides a UI to select the subtitles when available.
16
+ * `PLUGIN` that provides a UI to select the subtitles when available.
17
17
  * @beta
18
18
  *
19
19
  * @remarks
@@ -80,7 +80,7 @@ export declare enum TelemetryEvent {
80
80
  Stall = 4
81
81
  }
82
82
  /**
83
- * PLUGIN that collects and reports the performance statistics.
83
+ * `PLUGIN` that collects and reports the performance statistics.
84
84
  * @beta
85
85
  * @remarks
86
86
  * This plugin is experimental and its API is likely to change.
@@ -18,7 +18,7 @@ export var TelemetryEvent;
18
18
  TelemetryEvent[TelemetryEvent["Stall"] = 4] = "Stall";
19
19
  })(TelemetryEvent || (TelemetryEvent = {}));
20
20
  /**
21
- * PLUGIN that collects and reports the performance statistics.
21
+ * `PLUGIN` that collects and reports the performance statistics.
22
22
  * @beta
23
23
  * @remarks
24
24
  * This plugin is experimental and its API is likely to change.
@@ -13,7 +13,7 @@ export type ThumbnailsPluginSettings = {
13
13
  vtt: string;
14
14
  };
15
15
  /**
16
- * Displays the thumbnails of the video when available.
16
+ * `PLUGIN` that displays the thumbnails of the video when available.
17
17
  * @beta
18
18
  * @example
19
19
  * ```ts
@@ -7,7 +7,7 @@ import '../../../assets/thumbnails/style.scss';
7
7
  import { getPageX } from '../utils.js';
8
8
  const T = 'plugins.thumbnails';
9
9
  /**
10
- * Displays the thumbnails of the video when available.
10
+ * `PLUGIN` that displays the thumbnails of the video when available.
11
11
  * @beta
12
12
  * @example
13
13
  * ```ts
@@ -7,7 +7,7 @@ export declare enum VolumeFadeEvents {
7
7
  FADE = "core:volume:fade"
8
8
  }
9
9
  /**
10
- * Applies fade effect to the player's volume change.
10
+ * `PLUGIN` that applies fade effect to the player's volume change.
11
11
  * @beta
12
12
  */
13
13
  export declare class VolumeFade extends UICorePlugin {
@@ -9,7 +9,7 @@ export var VolumeFadeEvents;
9
9
  VolumeFadeEvents["FADE"] = "core:volume:fade";
10
10
  })(VolumeFadeEvents || (VolumeFadeEvents = {}));
11
11
  /**
12
- * Applies fade effect to the player's volume change.
12
+ * `PLUGIN` that applies fade effect to the player's volume change.
13
13
  * @beta
14
14
  */
15
15
  export class VolumeFade extends UICorePlugin {