@gcorevideo/player 2.20.1 → 2.20.3

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 (262) hide show
  1. package/dist/core.js +1 -1
  2. package/dist/index.css +1328 -1328
  3. package/dist/index.js +305 -217
  4. package/dist/player.d.ts +270 -52
  5. package/dist/plugins/index.css +612 -612
  6. package/dist/plugins/index.js +1459 -1347
  7. package/docs/api/player.audioselector.md +1 -251
  8. package/docs/api/player.bigmutebutton.md +1 -156
  9. package/docs/api/player.clapprstats.exportmetrics.md +4 -0
  10. package/docs/api/player.clapprstats.md +7 -223
  11. package/docs/api/player.clapprstats.setupdatemetrics.md +2 -0
  12. package/docs/api/player.clicktopause.md +5 -113
  13. package/docs/api/player.clipsplugin.gettext.md +9 -0
  14. package/docs/api/player.clipsplugin.md +10 -94
  15. package/docs/api/player.clipspluginsettings.md +57 -0
  16. package/docs/api/player.clipspluginsettings.text.md +13 -0
  17. package/docs/api/player.contextmenu._constructor_.md +6 -3
  18. package/docs/api/player.contextmenu.md +13 -256
  19. package/docs/api/player.contextmenupluginsettings.label.md +11 -0
  20. package/docs/api/player.contextmenupluginsettings.md +93 -0
  21. package/docs/api/player.contextmenupluginsettings.preventshowcontextmenu.md +11 -0
  22. package/docs/api/player.contextmenupluginsettings.url.md +11 -0
  23. package/docs/api/player.dvrcontrols.md +1 -1
  24. package/docs/api/player.errorscreen.md +0 -2
  25. package/docs/api/player.favicon._constructor_.md +3 -0
  26. package/docs/api/player.favicon.bindevents.md +3 -0
  27. package/docs/api/player.favicon.configure.md +3 -0
  28. package/docs/api/player.favicon.destroy.md +3 -0
  29. package/docs/api/player.favicon.disable.md +3 -0
  30. package/docs/api/player.favicon.md +18 -1
  31. package/docs/api/player.favicon.name.md +3 -0
  32. package/docs/api/player.favicon.supportedversion.md +3 -0
  33. package/docs/api/player.gearevents.md +4 -1
  34. package/docs/api/player.googleanalytics._constructor_.md +3 -0
  35. package/docs/api/player.googleanalytics.addeventlisteners.md +3 -0
  36. package/docs/api/player.googleanalytics.embedscript.md +3 -0
  37. package/docs/api/player.googleanalytics.md +42 -1
  38. package/docs/api/player.googleanalytics.name.md +3 -0
  39. package/docs/api/player.googleanalytics.onbufferfull.md +3 -0
  40. package/docs/api/player.googleanalytics.onbuffering.md +3 -0
  41. package/docs/api/player.googleanalytics.ondvr.md +3 -0
  42. package/docs/api/player.googleanalytics.onended.md +3 -0
  43. package/docs/api/player.googleanalytics.onerror.md +3 -0
  44. package/docs/api/player.googleanalytics.onfullscreen.md +3 -0
  45. package/docs/api/player.googleanalytics.onhd.md +3 -0
  46. package/docs/api/player.googleanalytics.onpause.md +3 -0
  47. package/docs/api/player.googleanalytics.onplay.md +3 -0
  48. package/docs/api/player.googleanalytics.onready.md +3 -0
  49. package/docs/api/player.googleanalytics.onseek.md +3 -0
  50. package/docs/api/player.googleanalytics.onstop.md +3 -0
  51. package/docs/api/player.googleanalytics.onvolumechanged.md +3 -0
  52. package/docs/api/player.googleanalytics.push.md +3 -0
  53. package/docs/api/player.googleanalytics.supportedversion.md +3 -0
  54. package/docs/api/player.initeventdata.event.md +3 -0
  55. package/docs/api/player.initeventdata.md +7 -0
  56. package/docs/api/player.logo._constructor_.md +3 -0
  57. package/docs/api/player.logo.attributes.md +3 -0
  58. package/docs/api/player.logo.bindevents.md +3 -0
  59. package/docs/api/player.logo.md +20 -1
  60. package/docs/api/player.logo.name.md +3 -0
  61. package/docs/api/player.logo.render.md +3 -0
  62. package/docs/api/player.logo.stoplistening.md +3 -0
  63. package/docs/api/player.logo.supportedversion.md +3 -0
  64. package/docs/api/player.logo.template.md +3 -0
  65. package/docs/api/player.md +68 -20
  66. package/docs/api/player.mediacontrolelement.md +1 -1
  67. package/docs/api/player.multicamera.md +2 -0
  68. package/docs/api/player.seektime.attributes.md +3 -0
  69. package/docs/api/player.seektime.bindevents.md +3 -0
  70. package/docs/api/player.seektime.durationshown.md +3 -0
  71. package/docs/api/player.seektime.getseektime.md +3 -0
  72. package/docs/api/player.seektime.islivestreamwithdvr.md +3 -0
  73. package/docs/api/player.seektime.md +31 -0
  74. package/docs/api/player.seektime.mediacontrol.md +3 -0
  75. package/docs/api/player.seektime.mediacontrolcontainer.md +3 -0
  76. package/docs/api/player.seektime.name.md +3 -0
  77. package/docs/api/player.seektime.render.md +3 -0
  78. package/docs/api/player.seektime.shouldbevisible.md +3 -0
  79. package/docs/api/player.seektime.supportedversion.md +3 -0
  80. package/docs/api/player.seektime.template.md +3 -0
  81. package/docs/api/player.seektime.update.md +3 -0
  82. package/docs/api/player.share.md +2 -0
  83. package/docs/api/player.skiptime.md +2 -0
  84. package/docs/api/player.stalleventdata.count.md +3 -0
  85. package/docs/api/player.stalleventdata.event.md +3 -0
  86. package/docs/api/player.stalleventdata.md +8 -3
  87. package/docs/api/player.stalleventdata.time.md +3 -0
  88. package/docs/api/player.stalleventdata.total_ms.md +3 -0
  89. package/docs/api/player.starteventdata.event.md +3 -0
  90. package/docs/api/player.starteventdata.md +7 -0
  91. package/docs/api/player.telemetryevent.md +11 -0
  92. package/docs/api/player.telemetryeventdata.md +3 -0
  93. package/docs/api/player.telemetrypluginsettings.md +4 -1
  94. package/docs/api/player.telemetrypluginsettings.send.md +3 -0
  95. package/docs/api/player.telemetryrecord.md +3 -0
  96. package/docs/api/player.thumbnails.md +21 -139
  97. package/docs/api/player.thumbnailspluginsettings.md +23 -0
  98. package/docs/api/player.volumefade.md +1 -0
  99. package/docs/api/player.watcheventdata.event.md +3 -0
  100. package/docs/api/player.watcheventdata.md +7 -0
  101. package/lib/index.plugins.d.ts +0 -1
  102. package/lib/index.plugins.d.ts.map +1 -1
  103. package/lib/index.plugins.js +0 -1
  104. package/lib/plugins/audio-selector/AudioSelector.d.ts +28 -6
  105. package/lib/plugins/audio-selector/AudioSelector.d.ts.map +1 -1
  106. package/lib/plugins/audio-selector/AudioSelector.js +52 -22
  107. package/lib/plugins/big-mute-button/BigMuteButton.d.ts +18 -2
  108. package/lib/plugins/big-mute-button/BigMuteButton.d.ts.map +1 -1
  109. package/lib/plugins/big-mute-button/BigMuteButton.js +21 -16
  110. package/lib/plugins/bottom-gear/BottomGear.d.ts +1 -0
  111. package/lib/plugins/bottom-gear/BottomGear.d.ts.map +1 -1
  112. package/lib/plugins/bottom-gear/BottomGear.js +1 -0
  113. package/lib/plugins/clappr-stats/ClapprStats.d.ts +31 -8
  114. package/lib/plugins/clappr-stats/ClapprStats.d.ts.map +1 -1
  115. package/lib/plugins/clappr-stats/ClapprStats.js +24 -0
  116. package/lib/plugins/clappr-stats/types.d.ts +12 -0
  117. package/lib/plugins/clappr-stats/types.d.ts.map +1 -1
  118. package/lib/plugins/clappr-stats/types.js +3 -0
  119. package/lib/plugins/click-to-pause/ClickToPause.d.ts +13 -1
  120. package/lib/plugins/click-to-pause/ClickToPause.d.ts.map +1 -1
  121. package/lib/plugins/click-to-pause/ClickToPause.js +14 -4
  122. package/lib/plugins/clips/Clips.d.ts +34 -2
  123. package/lib/plugins/clips/Clips.d.ts.map +1 -1
  124. package/lib/plugins/clips/Clips.js +51 -22
  125. package/lib/plugins/context-menu/ContextMenu.d.ts +40 -13
  126. package/lib/plugins/context-menu/ContextMenu.d.ts.map +1 -1
  127. package/lib/plugins/context-menu/ContextMenu.js +48 -36
  128. package/lib/plugins/dvr-controls/DvrControls.d.ts +1 -3
  129. package/lib/plugins/dvr-controls/DvrControls.d.ts.map +1 -1
  130. package/lib/plugins/dvr-controls/DvrControls.js +11 -28
  131. package/lib/plugins/error-screen/ErrorScreen.d.ts +0 -1
  132. package/lib/plugins/error-screen/ErrorScreen.d.ts.map +1 -1
  133. package/lib/plugins/error-screen/ErrorScreen.js +0 -1
  134. package/lib/plugins/favicon/Favicon.d.ts +4 -0
  135. package/lib/plugins/favicon/Favicon.d.ts.map +1 -1
  136. package/lib/plugins/favicon/Favicon.js +4 -0
  137. package/lib/plugins/google-analytics/GoogleAnalytics.d.ts +4 -0
  138. package/lib/plugins/google-analytics/GoogleAnalytics.d.ts.map +1 -1
  139. package/lib/plugins/google-analytics/GoogleAnalytics.js +5 -1
  140. package/lib/plugins/index.d.ts +0 -1
  141. package/lib/plugins/index.d.ts.map +1 -1
  142. package/lib/plugins/index.js +0 -1
  143. package/lib/plugins/logo/Logo.d.ts +4 -0
  144. package/lib/plugins/logo/Logo.d.ts.map +1 -1
  145. package/lib/plugins/logo/Logo.js +4 -0
  146. package/lib/plugins/media-control/MediaControl.d.ts +1 -1
  147. package/lib/plugins/media-control/MediaControl.d.ts.map +1 -1
  148. package/lib/plugins/media-control/MediaControl.js +3 -1
  149. package/lib/plugins/multi-camera/MultiCamera.d.ts +3 -0
  150. package/lib/plugins/multi-camera/MultiCamera.d.ts.map +1 -1
  151. package/lib/plugins/multi-camera/MultiCamera.js +3 -0
  152. package/lib/plugins/seek-time/SeekTime.d.ts +4 -0
  153. package/lib/plugins/seek-time/SeekTime.d.ts.map +1 -1
  154. package/lib/plugins/seek-time/SeekTime.js +5 -1
  155. package/lib/plugins/share/Share.d.ts +3 -0
  156. package/lib/plugins/share/Share.d.ts.map +1 -1
  157. package/lib/plugins/share/Share.js +3 -0
  158. package/lib/plugins/skip-time/SkipTime.d.ts +3 -0
  159. package/lib/plugins/skip-time/SkipTime.d.ts.map +1 -1
  160. package/lib/plugins/skip-time/SkipTime.js +3 -0
  161. package/lib/plugins/telemetry/Telemetry.d.ts +18 -0
  162. package/lib/plugins/telemetry/Telemetry.d.ts.map +1 -1
  163. package/lib/plugins/telemetry/Telemetry.js +1 -0
  164. package/lib/plugins/thumbnails/Thumbnails.d.ts +48 -3
  165. package/lib/plugins/thumbnails/Thumbnails.d.ts.map +1 -1
  166. package/lib/plugins/thumbnails/Thumbnails.js +52 -18
  167. package/lib/plugins/volume-fade/VolumeFade.d.ts +1 -0
  168. package/lib/plugins/volume-fade/VolumeFade.d.ts.map +1 -1
  169. package/lib/plugins/volume-fade/VolumeFade.js +1 -0
  170. package/package.json +1 -1
  171. package/src/index.plugins.ts +0 -1
  172. package/src/plugins/audio-selector/AudioSelector.ts +227 -154
  173. package/src/plugins/big-mute-button/BigMuteButton.ts +100 -79
  174. package/src/plugins/bottom-gear/BottomGear.ts +1 -0
  175. package/src/plugins/clappr-stats/ClapprStats.ts +32 -8
  176. package/src/plugins/clappr-stats/types.ts +13 -0
  177. package/src/plugins/click-to-pause/ClickToPause.ts +47 -36
  178. package/src/plugins/clips/Clips.ts +127 -71
  179. package/src/plugins/context-menu/ContextMenu.ts +105 -76
  180. package/src/plugins/dvr-controls/DvrControls.ts +11 -30
  181. package/src/plugins/error-screen/ErrorScreen.ts +0 -1
  182. package/src/plugins/favicon/Favicon.ts +4 -0
  183. package/src/plugins/google-analytics/GoogleAnalytics.ts +5 -1
  184. package/src/plugins/index.ts +0 -1
  185. package/src/plugins/logo/Logo.ts +4 -0
  186. package/src/plugins/media-control/MediaControl.ts +4 -1
  187. package/src/plugins/multi-camera/MultiCamera.ts +3 -0
  188. package/src/plugins/seek-time/SeekTime.ts +5 -1
  189. package/src/plugins/share/Share.ts +3 -0
  190. package/src/plugins/skip-time/SkipTime.ts +3 -0
  191. package/src/plugins/telemetry/Telemetry.ts +18 -0
  192. package/src/plugins/thumbnails/Thumbnails.ts +268 -194
  193. package/src/plugins/volume-fade/VolumeFade.ts +1 -0
  194. package/temp/player.api.json +622 -2463
  195. package/tsconfig.tsbuildinfo +1 -1
  196. package/docs/api/player.audioselector.attributes.md +0 -17
  197. package/docs/api/player.audioselector.bindevents.md +0 -18
  198. package/docs/api/player.audioselector.events.md +0 -17
  199. package/docs/api/player.audioselector.hideselecttrackmenu.md +0 -18
  200. package/docs/api/player.audioselector.name.md +0 -14
  201. package/docs/api/player.audioselector.onshowlevelselectmenu.md +0 -18
  202. package/docs/api/player.audioselector.reload.md +0 -18
  203. package/docs/api/player.audioselector.render.md +0 -18
  204. package/docs/api/player.audioselector.supportedversion.md +0 -16
  205. package/docs/api/player.audioselector.template.md +0 -14
  206. package/docs/api/player.audioselector.togglecontextmenu.md +0 -18
  207. package/docs/api/player.audioselector.unbindevents.md +0 -18
  208. package/docs/api/player.audioselector.version.md +0 -14
  209. package/docs/api/player.bigmutebutton.bindevents.md +0 -18
  210. package/docs/api/player.bigmutebutton.events.md +0 -17
  211. package/docs/api/player.bigmutebutton.name.md +0 -14
  212. package/docs/api/player.bigmutebutton.render.md +0 -18
  213. package/docs/api/player.bigmutebutton.supportedversion.md +0 -16
  214. package/docs/api/player.bigmutebutton.template.md +0 -14
  215. package/docs/api/player.clapprstats._buildreport.md +0 -18
  216. package/docs/api/player.clapprstats._defaultreport.md +0 -52
  217. package/docs/api/player.clapprstats._playbackname.md +0 -14
  218. package/docs/api/player.clapprstats._playbacktype.md +0 -14
  219. package/docs/api/player.clapprstats.bindevents.md +0 -18
  220. package/docs/api/player.clapprstats.destroy.md +0 -18
  221. package/docs/api/player.clapprstats.name.md +0 -14
  222. package/docs/api/player.clapprstats.onfirstplaying.md +0 -18
  223. package/docs/api/player.clapprstats.playafterpause.md +0 -18
  224. package/docs/api/player.clapprstats.starttimers.md +0 -18
  225. package/docs/api/player.clapprstats.stopreporting.md +0 -18
  226. package/docs/api/player.clapprstats.supportedversion.md +0 -16
  227. package/docs/api/player.clicktopause.bindevents.md +0 -15
  228. package/docs/api/player.clicktopause.config.md +0 -11
  229. package/docs/api/player.clicktopause.name.md +0 -11
  230. package/docs/api/player.clicktopause.supportedversion.md +0 -13
  231. package/docs/api/player.clipsplugin.attributes.md +0 -13
  232. package/docs/api/player.clipsplugin.bindevents.md +0 -15
  233. package/docs/api/player.clipsplugin.makesvg.md +0 -49
  234. package/docs/api/player.clipsplugin.name.md +0 -11
  235. package/docs/api/player.clipsplugin.unbindevents.md +0 -15
  236. package/docs/api/player.contextmenu.attributes.md +0 -13
  237. package/docs/api/player.contextmenu.bindevents.md +0 -15
  238. package/docs/api/player.contextmenu.destroy.md +0 -15
  239. package/docs/api/player.contextmenu.events.md +0 -13
  240. package/docs/api/player.contextmenu.exposeversion.md +0 -14
  241. package/docs/api/player.contextmenu.label.md +0 -11
  242. package/docs/api/player.contextmenu.mediacontrol.md +0 -11
  243. package/docs/api/player.contextmenu.name.md +0 -11
  244. package/docs/api/player.contextmenu.render.md +0 -15
  245. package/docs/api/player.contextmenu.supportedversion.md +0 -13
  246. package/docs/api/player.contextmenu.template.md +0 -11
  247. package/docs/api/player.contextmenu.url.md +0 -11
  248. package/docs/api/player.disablecontrols.bindevents.md +0 -15
  249. package/docs/api/player.disablecontrols.container.md +0 -11
  250. package/docs/api/player.disablecontrols.md +0 -138
  251. package/docs/api/player.disablecontrols.name.md +0 -11
  252. package/docs/api/player.disablecontrols.supportedversion.md +0 -13
  253. package/docs/api/player.disablecontrols.unbindevents.md +0 -15
  254. package/docs/api/player.thumbnails.attributes.md +0 -13
  255. package/docs/api/player.thumbnails.bindevents.md +0 -15
  256. package/docs/api/player.thumbnails.name.md +0 -11
  257. package/docs/api/player.thumbnails.settext.md +0 -49
  258. package/docs/api/player.thumbnails.supportedversion.md +0 -13
  259. package/docs/api/player.thumbnails.template.md +0 -11
  260. package/src/plugins/disable-controls/DisableControls.ts +0 -81
  261. package/src/plugins/ga-events/GaEvents.js +0 -395
  262. package/src/plugins/ga-events/ga-tracking.js +0 -46
@@ -111,7 +111,7 @@ export class MediaControl extends UICorePlugin {
111
111
  return { min: CLAPPR_VERSION };
112
112
  }
113
113
  get disabled() {
114
- const playbackIsNOOP = this.container && this.container.getPlaybackType() === Playback.NO_OP;
114
+ const playbackIsNOOP = this.core.activeContainer && this.core.activeContainer.getPlaybackType() === Playback.NO_OP;
115
115
  return this.userDisabled || playbackIsNOOP;
116
116
  }
117
117
  /**
@@ -792,6 +792,8 @@ export class MediaControl extends UICorePlugin {
792
792
  */
793
793
  getElement(name) {
794
794
  switch (name) {
795
+ case 'audioTracksSelector':
796
+ return this.$audioTracksSelector;
795
797
  case 'clipText':
796
798
  return this.$clipText;
797
799
  case 'bottomGear':
@@ -7,6 +7,9 @@ type MediaSourceInfo = {
7
7
  dvr: boolean;
8
8
  projection: string | null;
9
9
  };
10
+ /**
11
+ * The plugin adds support for loading multiple streams and switching between them using the media control UI.
12
+ */
10
13
  export declare class MultiCamera extends UICorePlugin {
11
14
  private currentCamera;
12
15
  private currentTime;
@@ -1 +1 @@
1
- {"version":3,"file":"MultiCamera.d.ts","sourceRoot":"","sources":["../../../src/plugins/multi-camera/MultiCamera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,IAAI,EAA8B,YAAY,EAAE,MAAM,cAAc,CAAC;AAMvF,OAAO,yCAAyC,CAAC;AASjD,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,OAAO,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAA;AAMD,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,aAAa,CAAgC;IAErD,OAAO,CAAC,WAAW,CAAa;IAEhC,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,WAAW,CAAyB;IAE5C,OAAO,CAAC,eAAe,CAAS;IAEhC,IAAI,IAAI,WAEP;IAED,IAAI,gBAAgB;;MAEnB;IAED,MAAM,KAAK,OAAO,WAEjB;IAED,IAAI,QAAQ,QAEX;IAED,IAAa,UAAU;;;MAKtB;IAED,IAAa,MAAM;;;MAKlB;gBAEW,IAAI,EAAE,IAAI;IAYb,UAAU;IAOnB,YAAY;IAaZ,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,YAAY;IAYX,MAAM;IAwEf,OAAO,CAAC,cAAc;IAUtB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IA8BtC,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,UAAU;IA4ClB,cAAc;IAId,gBAAgB;IAIhB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,qBAAqB;CAK9B"}
1
+ {"version":3,"file":"MultiCamera.d.ts","sourceRoot":"","sources":["../../../src/plugins/multi-camera/MultiCamera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,IAAI,EAA8B,YAAY,EAAE,MAAM,cAAc,CAAC;AAMvF,OAAO,yCAAyC,CAAC;AASjD,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,OAAO,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAA;AAMD;;GAEG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,aAAa,CAAgC;IAErD,OAAO,CAAC,WAAW,CAAa;IAEhC,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,WAAW,CAAyB;IAE5C,OAAO,CAAC,eAAe,CAAS;IAEhC,IAAI,IAAI,WAEP;IAED,IAAI,gBAAgB;;MAEnB;IAED,MAAM,KAAK,OAAO,WAEjB;IAED,IAAI,QAAQ,QAEX;IAED,IAAa,UAAU;;;MAKtB;IAED,IAAa,MAAM;;;MAKlB;gBAEW,IAAI,EAAE,IAAI;IAYb,UAAU;IAOnB,YAAY;IAaZ,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,YAAY;IAYX,MAAM;IAwEf,OAAO,CAAC,cAAc;IAUtB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IA8BtC,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,UAAU;IA4ClB,cAAc;IAId,gBAAgB;IAIhB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,qBAAqB;CAK9B"}
@@ -8,6 +8,9 @@ import streamsMomentoIcon from '../../../assets/icons/old/language.svg';
8
8
  import streamsWhiteNightsIcon from '../../../assets/icons/old/wn.svg';
9
9
  const VERSION = '0.0.1';
10
10
  const T = 'plugins.media_control_multicamera';
11
+ /**
12
+ * The plugin adds support for loading multiple streams and switching between them using the media control UI.
13
+ */
11
14
  export class MultiCamera extends UICorePlugin {
12
15
  currentCamera = null;
13
16
  currentTime = 0;
@@ -1,5 +1,9 @@
1
1
  import { UICorePlugin } from '@clappr/core';
2
2
  import '../../../assets/seek-time/seek-time.scss';
3
+ /**
4
+ * The plugin adds a seek time indicator to the media control UI.
5
+ * @beta
6
+ */
3
7
  export declare class SeekTime extends UICorePlugin {
4
8
  get name(): string;
5
9
  get supportedVersion(): {
@@ -1 +1 @@
1
- {"version":3,"file":"SeekTime.d.ts","sourceRoot":"","sources":["../../../src/plugins/seek-time/SeekTime.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,YAAY,EAAmB,MAAM,cAAc,CAAC;AAM/E,OAAO,0CAA0C,CAAC;AAKlD,qBAAa,QAAS,SAAQ,YAAY;IACxC,IAAI,IAAI,WAEP;IAED,IAAI,gBAAgB;;MAEnB;IAED,IAAI,QAAQ,QAEX;IAED,IAAa,UAAU;;;MAKtB;IAED,IAAI,YAAY,QAEf;IAED,IAAI,qBAAqB,QAExB;IAED,IAAI,mBAAmB,QAItB;IAED,IAAI,aAAa,YAEhB;IAED,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,aAAa,CAAK;IAE1B,OAAO,CAAC,iBAAiB,CAAuB;IAEhD,OAAO,CAAC,iBAAiB,CAAsB;IAE/C,OAAO,CAAC,QAAQ,CAAK;IAGrB,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,WAAW,CAA4B;IAE/C,OAAO,CAAC,WAAW,CAA4B;IAEtC,UAAU;IAWnB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,sBAAsB;IAO9B,WAAW;;;IAYX,MAAM;IA8CN,eAAe;IAQN,MAAM;CAahB"}
1
+ {"version":3,"file":"SeekTime.d.ts","sourceRoot":"","sources":["../../../src/plugins/seek-time/SeekTime.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,YAAY,EAAmB,MAAM,cAAc,CAAC;AAM/E,OAAO,0CAA0C,CAAC;AAKlD;;;GAGG;AACH,qBAAa,QAAS,SAAQ,YAAY;IACxC,IAAI,IAAI,WAEP;IAED,IAAI,gBAAgB;;MAEnB;IAED,IAAI,QAAQ,QAEX;IAED,IAAa,UAAU;;;MAKtB;IAED,IAAI,YAAY,QAEf;IAED,IAAI,qBAAqB,QAExB;IAED,IAAI,mBAAmB,QAItB;IAED,IAAI,aAAa,YAEhB;IAED,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,aAAa,CAAK;IAE1B,OAAO,CAAC,iBAAiB,CAAuB;IAEhD,OAAO,CAAC,iBAAiB,CAAsB;IAE/C,OAAO,CAAC,QAAQ,CAAK;IAGrB,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,WAAW,CAA4B;IAE/C,OAAO,CAAC,WAAW,CAA4B;IAEtC,UAAU;IAWnB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,sBAAsB;IAO9B,WAAW;;;IAYX,MAAM;IA8CN,eAAe;IAQN,MAAM;CAahB"}
@@ -1,11 +1,15 @@
1
1
  // Copyright 2014 Globo.com Player authors. All rights reserved.
2
2
  // Use of this source code is governed by a BSD-style
3
- // license that can be found in the LICENSE file.
3
+ // license that can be found at https://github.com/clappr/clappr-plugins/blob/master/LICENSE
4
4
  import { Events, Playback, UICorePlugin, Utils, template } from '@clappr/core';
5
5
  import { CLAPPR_VERSION } from '../../build.js';
6
6
  import seekTimeHTML from '../../../assets/seek-time/seek-time.html';
7
7
  import '../../../assets/seek-time/seek-time.scss';
8
8
  const { formatTime } = Utils;
9
+ /**
10
+ * The plugin adds a seek time indicator to the media control UI.
11
+ * @beta
12
+ */
9
13
  export class SeekTime extends UICorePlugin {
10
14
  get name() {
11
15
  return 'media_control_seek_time';
@@ -1,5 +1,8 @@
1
1
  import { UICorePlugin } from '@clappr/core';
2
2
  import '../../../assets/share/style.scss';
3
+ /**
4
+ * The plugin adds a share button to the media control UI.
5
+ */
3
6
  export declare class Share extends UICorePlugin {
4
7
  private hide;
5
8
  private container;
@@ -1 +1 @@
1
- {"version":3,"file":"Share.d.ts","sourceRoot":"","sources":["../../../src/plugins/share/Share.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,YAAY,EAAY,MAAM,cAAc,CAAC;AAKzE,OAAO,kCAAkC,CAAC;AAM1C,qBAAa,KAAM,SAAQ,YAAY;IACrC,OAAO,CAAC,IAAI,CAAS;IAErB,OAAO,CAAC,SAAS,CAA0B;IAE3C,IAAI,IAAI,WAEP;IAED,IAAI,gBAAgB;;MAEnB;IAED,IAAI,QAAQ,QAEX;IAED,IAAa,UAAU;;;MAKtB;IAED,IAAa,MAAM;;;;;;;MASlB;IAEQ,UAAU;IAQnB,YAAY;IAaZ,YAAY;IAIZ,OAAO,CAAC,OAAO;IASN,MAAM;IAgBf,SAAS;IAIT,SAAS;IAOT,eAAe;IASf,WAAW;IAIX,WAAW;IAIX,SAAS;IAQT,SAAS;IAQT,gBAAgB;IAIhB,iBAAiB;CAGlB"}
1
+ {"version":3,"file":"Share.d.ts","sourceRoot":"","sources":["../../../src/plugins/share/Share.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,YAAY,EAAY,MAAM,cAAc,CAAC;AAKzE,OAAO,kCAAkC,CAAC;AAM1C;;GAEG;AACH,qBAAa,KAAM,SAAQ,YAAY;IACrC,OAAO,CAAC,IAAI,CAAS;IAErB,OAAO,CAAC,SAAS,CAA0B;IAE3C,IAAI,IAAI,WAEP;IAED,IAAI,gBAAgB;;MAEnB;IAED,IAAI,QAAQ,QAEX;IAED,IAAa,UAAU;;;MAKtB;IAED,IAAa,MAAM;;;;;;;MASlB;IAEQ,UAAU;IAQnB,YAAY;IAaZ,YAAY;IAIZ,OAAO,CAAC,OAAO;IASN,MAAM;IAgBf,SAAS;IAIT,SAAS;IAOT,eAAe;IASf,WAAW;IAIX,WAAW;IAIX,SAAS;IAQT,SAAS;IAQT,gBAAgB;IAIhB,iBAAiB;CAGlB"}
@@ -6,6 +6,9 @@ import shareIcon from '../../../assets/icons/old/share.svg';
6
6
  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
+ /**
10
+ * The plugin adds a share button to the media control UI.
11
+ */
9
12
  export class Share extends UICorePlugin {
10
13
  hide = false;
11
14
  container = null;
@@ -1,5 +1,8 @@
1
1
  import { UICorePlugin as UICorePluginOriginal } from '@clappr/core';
2
2
  import '../../../assets/skip-time/style.scss';
3
+ /**
4
+ * The plugin adds skip controls to the media control UI.
5
+ */
3
6
  export declare class SkipTime extends UICorePluginOriginal {
4
7
  get name(): string;
5
8
  get supportedVersion(): {
@@ -1 +1 @@
1
- {"version":3,"file":"SkipTime.d.ts","sourceRoot":"","sources":["../../../src/plugins/skip-time/SkipTime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAuC,MAAM,cAAc,CAAC;AAKzG,OAAO,sCAAsC,CAAC;AAI9C,qBAAa,QAAS,SAAQ,oBAAoB;IAChD,IAAI,IAAI,WAEP;IAED,IAAI,gBAAgB;;MAEnB;IAED,IAAI,SAAS,QAEZ;IAED,IAAI,QAAQ,QAEX;IAED,IAAa,UAAU;;;MAKtB;IAED,OAAO,CAAC,QAAQ,CAAmB;IAEnC,IAAa,MAAM;;;;MAMlB;IAEQ,UAAU;IAQnB,OAAO;IAIP,kBAAkB;IA4BlB,WAAW;IAIX,UAAU;IAIV,gBAAgB;IAMP,MAAM;CAWhB"}
1
+ {"version":3,"file":"SkipTime.d.ts","sourceRoot":"","sources":["../../../src/plugins/skip-time/SkipTime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAuC,MAAM,cAAc,CAAC;AAKzG,OAAO,sCAAsC,CAAC;AAI9C;;GAEG;AACH,qBAAa,QAAS,SAAQ,oBAAoB;IAChD,IAAI,IAAI,WAEP;IAED,IAAI,gBAAgB;;MAEnB;IAED,IAAI,SAAS,QAEZ;IAED,IAAI,QAAQ,QAEX;IAED,IAAa,UAAU;;;MAKtB;IAED,OAAO,CAAC,QAAQ,CAAmB;IAEnC,IAAa,MAAM;;;;MAMlB;IAEQ,UAAU;IAQnB,OAAO;IAIP,kBAAkB;IA4BlB,WAAW;IAIX,UAAU;IAIV,gBAAgB;IAMP,MAAM;CAWhB"}
@@ -2,6 +2,9 @@ import { UICorePlugin as UICorePluginOriginal, Browser, Playback, Events, templa
2
2
  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
+ /**
6
+ * The plugin adds skip controls to the media control UI.
7
+ */
5
8
  export class SkipTime extends UICorePluginOriginal {
6
9
  get name() {
7
10
  return 'skip_time';
@@ -2,10 +2,12 @@ import { Container, ContainerPlugin } from '@clappr/core';
2
2
  import type { PlaybackType } from '../../types.js';
3
3
  /**
4
4
  * Telemetry event data
5
+ * @beta
5
6
  */
6
7
  export type TelemetryEventData = StallEventData | InitEventData | StartEventData | WatchEventData;
7
8
  /**
8
9
  * Playback stall event data
10
+ * @beta
9
11
  */
10
12
  export interface StallEventData {
11
13
  event: TelemetryEvent.Stall;
@@ -22,17 +24,30 @@ export interface StallEventData {
22
24
  */
23
25
  time: number;
24
26
  }
27
+ /**
28
+ * Telemetry init event data
29
+ * @beta
30
+ */
25
31
  export interface InitEventData {
26
32
  event: TelemetryEvent.Init;
27
33
  }
34
+ /**
35
+ * Telemetry start event data
36
+ * @beta
37
+ */
28
38
  export interface StartEventData {
29
39
  event: TelemetryEvent.Start;
30
40
  }
41
+ /**
42
+ * Telemetry watch event data
43
+ * @beta
44
+ */
31
45
  export interface WatchEventData {
32
46
  event: TelemetryEvent.Watch;
33
47
  }
34
48
  /**
35
49
  * Telemetry record
50
+ * @beta
36
51
  */
37
52
  export type TelemetryRecord = {
38
53
  type: PlaybackType;
@@ -40,10 +55,12 @@ export type TelemetryRecord = {
40
55
  /**
41
56
  * Callback to send the telemetry record to the storage.
42
57
  * @param data - The telemetry record to send.
58
+ * @beta
43
59
  */
44
60
  type TelemetrySendFn = (data: TelemetryRecord) => void;
45
61
  /**
46
62
  * Plugin settings
63
+ * @beta
47
64
  */
48
65
  export interface TelemetryPluginSettings {
49
66
  /**
@@ -54,6 +71,7 @@ export interface TelemetryPluginSettings {
54
71
  }
55
72
  /**
56
73
  * Telemetry event type
74
+ * @beta
57
75
  */
58
76
  export declare enum TelemetryEvent {
59
77
  Init = 1,
@@ -1 +1 @@
1
- {"version":3,"file":"Telemetry.d.ts","sourceRoot":"","sources":["../../../src/plugins/telemetry/Telemetry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAU,MAAM,cAAc,CAAA;AAKjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAUlD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG,aAAa,GAAG,cAAc,GAAG,cAAc,CAAA;AAEjG;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,cAAc,CAAC,KAAK,CAAA;IAC3B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,cAAc,CAAC,IAAI,CAAA;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,cAAc,CAAC,KAAK,CAAA;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,cAAc,CAAC,KAAK,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,YAAY,CAAA;CACnB,GAAG,kBAAkB,CAAC;AAEvB;;;GAGG;AACH,KAAK,eAAe,GAAG,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAA;AAEtD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,IAAI,EAAE,eAAe,CAAA;CACtB;AAED;;GAEG;AACH,oBAAY,cAAc;IACxB,IAAI,IAAI;IACR,KAAK,IAAA;IACL,KAAK,IAAA;IACL,KAAK,IAAA;CACN;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,SAAU,SAAQ,eAAe;IAC5C;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED,OAAO,CAAC,OAAO,CAAQ;IAEvB,OAAO,CAAC,SAAS,CAAI;IAErB,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAO,CAAC,aAAa,CAAI;IAEzB,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAO,CAAC,WAAW,CAAQ;IAE3B,OAAO,CAAC,SAAS,CAAI;IAErB;;OAEG;IACH,OAAO,CAAC,cAAc,CAAI;IAE1B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAI;gBAER,SAAS,EAAE,SAAS;IAUhC;;OAEG;IACM,UAAU;IAoCnB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,OAAO;IAgBf,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,IAAI;IAOZ,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,OAAO;CAShB"}
1
+ {"version":3,"file":"Telemetry.d.ts","sourceRoot":"","sources":["../../../src/plugins/telemetry/Telemetry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAU,MAAM,cAAc,CAAA;AAKjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAUlD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG,aAAa,GAAG,cAAc,GAAG,cAAc,CAAA;AAEjG;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,cAAc,CAAC,KAAK,CAAA;IAC3B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,cAAc,CAAC,IAAI,CAAA;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,cAAc,CAAC,KAAK,CAAA;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,cAAc,CAAC,KAAK,CAAA;CAC5B;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,YAAY,CAAA;CACnB,GAAG,kBAAkB,CAAC;AAEvB;;;;GAIG;AACH,KAAK,eAAe,GAAG,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAA;AAEtD;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,IAAI,EAAE,eAAe,CAAA;CACtB;AAED;;;GAGG;AACH,oBAAY,cAAc;IACxB,IAAI,IAAI;IACR,KAAK,IAAA;IACL,KAAK,IAAA;IACL,KAAK,IAAA;CACN;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,SAAU,SAAQ,eAAe;IAC5C;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED,OAAO,CAAC,OAAO,CAAQ;IAEvB,OAAO,CAAC,SAAS,CAAI;IAErB,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAO,CAAC,aAAa,CAAI;IAEzB,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAO,CAAC,WAAW,CAAQ;IAE3B,OAAO,CAAC,SAAS,CAAI;IAErB;;OAEG;IACH,OAAO,CAAC,cAAc,CAAI;IAE1B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAI;gBAER,SAAS,EAAE,SAAS;IAUhC;;OAEG;IACM,UAAU;IAoCnB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,OAAO;IAgBf,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,IAAI;IAOZ,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,OAAO;CAShB"}
@@ -8,6 +8,7 @@ const STALL_MEASURE_PERIOD = 10;
8
8
  const T = 'plugins.telemetry';
9
9
  /**
10
10
  * Telemetry event type
11
+ * @beta
11
12
  */
12
13
  export var TelemetryEvent;
13
14
  (function (TelemetryEvent) {
@@ -1,6 +1,39 @@
1
1
  import { UICorePlugin } from '@clappr/core';
2
- import { TimeValue } from '../../playback.types.js';
3
2
  import '../../../assets/thumbnails/style.scss';
3
+ /**
4
+ * Plugin configuration options for the thumbnails plugin.
5
+ * @beta
6
+ */
7
+ export type ThumbnailsPluginSettings = {
8
+ backdropHeight: number;
9
+ backdropMaxOpacity: number;
10
+ backdropMinOpacity: number;
11
+ spotlightHeight: number;
12
+ sprite: string;
13
+ vtt: string;
14
+ };
15
+ /**
16
+ * Displays the thumbnails of the video when available.
17
+ * @beta
18
+ * @example
19
+ * ```ts
20
+ * import { Thumbnails } from '@gcorevideo/player'
21
+ *
22
+ * Player.registerPlugin(Thumbnails)
23
+ *
24
+ * new Player({
25
+ * thumbnails: {
26
+ * backdropHeight: 200,
27
+ * backdropMinOpacity: 0.9,
28
+ * backdropMaxOpacity: 0.99,
29
+ * spotlightHeight: 100,
30
+ * vtt: '1\n00:00:00,000 --> 00:00:10,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=0,0,100,56\n\n2\n00:00:10,000 --> 00:00:20,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=100,0,100,56\n\n3\n00:00:20,000 --> 00:00:30,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=200,0,100,56\n\n4\n00:00:30,000 --> 00:00:40,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=300,0,100,56\n\n5\n00:00:40,000 --> 00:00:50,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=400,0,100,56\n\n6\n00:00:50,000 --> 00:01:00,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=500,0,100,56\n\n7\n00:01:00,000 --> 00:01:10,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=600,0,100,56\n\n8\n00:01:10,000 --> 00:01:20,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=0,56,100,56\n\n9\n00:01:20,000 --> 00:01:30,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=100,56,100,56\n\n10\n00:01:30,000 --> 00:01:40,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=200,56,100,56\n\n11\n00:01:40,000 --> 00:01:50,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=300,56,100,56\n\n12\n00:01:50,000 --> 00:02:00,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=400,56,100,56\n\n13\n00:02:00,000 --> 00:02:10,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=500,56,100,56\n\n14\n00:02:10,000 --> 00:02:20,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=600,56,100,56\n\n15\n00:02:20,000 --> 00:02:30,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=0,112,100,56\n\n16\n00:02:30,000 --> 00:02:40,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=100,112,100,56\n\n17\n00:02:40,000 --> 00:02:50,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=200,112,100,56\n\n18\n00:02:50,000 --> 00:03:00,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=300,112,100,56\n\n19\n00:03:00,000 --> 00:03:10,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=400,112,100,56\n\n20\n00:03:10,000 --> 00:03:20,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=500,112,100,56\n\n21\n00:03:20,000 --> 00:03:30,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=600,112,100,56\n\n22\n00:03:30,000 --> 00:03:40,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=0,168,100,56\n\n23\n00:03:40,000 --> 00:03:50,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=100,168,100,56\n\n24\n00:03:50,000 --> 00:04:00,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=200,168,100,56\n\n25\n00:04:00,000 --> 00:04:10,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=300,168,100,56\n\n26\n00:04:10,000 --> 00:04:20,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=400,168,100,56\n\n27\n00:04:20,000 --> 00:04:30,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=500,168,100,56\n\n28\n00:04:30,000 --> 00:04:40,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=600,168,100,56\n\n29\n00:04:40,000 --> 00:04:50,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=0,224,100,56\n\n30\n00:04:50,000 --> 00:05:00,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=100,224,100,56\n\n31\n00:05:00,000 --> 00:05:10,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=200,224,100,56\n\n32\n00:05:10,000 --> 00:05:20,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=300,224,100,56\n\n33\n00:05:20,000 --> 00:05:30,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=400,224,100,56\n\n34\n00:05:30,000 --> 00:05:40,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=500,224,100,56\n\n35\n00:05:40,000 --> 00:05:50,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=600,224,100,56\n\n36\n00:05:50,000 --> 00:06:00,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=0,280,100,56\n\n37\n00:06:00,000 --> 00:06:10,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=100,280,100,56\n\n38\n00:06:10,000 --> 00:06:20,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=200,280,100,56\n\n39\n00:06:20,000 --> 00:06:30,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=300,280,100,56\n\n40\n00:06:30,000 --> 00:06:40,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=400,280,100,56\n\n41\n00:06:40,000 --> 00:06:50,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=500,280,100,56\n\n42\n00:06:50,000 --> 00:07:00,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=600,280,100,56\n\n43\n00:07:00,000 --> 00:07:10,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=0,336,100,56\n\n44\n00:07:10,000 --> 00:07:20,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=100,336,100,56\n\n45\n00:07:20,000 --> 00:07:30,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=200,336,100,56\n\n46\n00:07:30,000 --> 00:07:40,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=300,336,100,56\n\n47\n00:07:40,000 --> 00:07:50,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=400,336,100,56\n\n48\n00:07:50,000 --> 00:08:00,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=500,336,100,56\n\n49\n00:08:00,000 --> 00:08:10,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=600,336,100,56\n',
31
+ * sprite:
32
+ * 'https://static.gvideo.co/videoplatform/sprites/2675/2452164_3dk4NsRt6vWsffEr.mp4_sprite.jpg',
33
+ * },
34
+ * })
35
+ * ```
36
+ */
4
37
  export declare class Thumbnails extends UICorePlugin {
5
38
  private _$spotlight;
6
39
  private _$backdrop;
@@ -15,15 +48,27 @@ export declare class Thumbnails extends UICorePlugin {
15
48
  private _thumbsLoaded;
16
49
  private _oldContainer;
17
50
  private _thumbs;
51
+ /**
52
+ * @internal
53
+ */
18
54
  get name(): string;
55
+ /**
56
+ * @internal
57
+ */
19
58
  get supportedVersion(): {
20
59
  min: string;
21
60
  };
61
+ /**
62
+ * @internal
63
+ */
22
64
  get attributes(): {
23
65
  class: string;
24
66
  };
25
- get template(): any;
67
+ private static readonly template;
26
68
  private buildSpriteConfig;
69
+ /**
70
+ * @internal
71
+ */
27
72
  bindEvents(): void;
28
73
  private _bindContainerEvents;
29
74
  private _onCoreReady;
@@ -37,7 +82,7 @@ export declare class Thumbnails extends UICorePlugin {
37
82
  private _calculateHoverPosition;
38
83
  private _buildImg;
39
84
  private _loadBackdrop;
40
- setText(time: TimeValue): void;
85
+ private setText;
41
86
  private _updateCarousel;
42
87
  private _updateSpotlightThumb;
43
88
  private _getThumbIndexForTime;
@@ -1 +1 @@
1
- {"version":3,"file":"Thumbnails.d.ts","sourceRoot":"","sources":["../../../src/plugins/thumbnails/Thumbnails.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkC,MAAM,cAAc,CAAC;AAI5E,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAKpD,OAAO,uCAAuC,CAAC;AA0B/C,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,WAAW,CAA4B;IAE/C,OAAO,CAAC,UAAU,CAA4B;IAE9C,OAAO,CAAC,UAAU,CAA4B;IAE9C,OAAO,CAAC,IAAI,CAA4B;IAExC,OAAO,CAAC,UAAU,CAA4B;IAE9C,OAAO,CAAC,cAAc,CAA4B;IAElD,OAAO,CAAC,sBAAsB,CAAqB;IAEnD,OAAO,CAAC,iBAAiB,CAAa;IAEtC,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,aAAa,CAA0B;IAE/C,OAAO,CAAC,OAAO,CAAe;IAE9B,IAAI,IAAI,WAEP;IAED,IAAI,gBAAgB;;MAEnB;IAED,IAAa,UAAU;;MAItB;IAED,IAAI,QAAQ,QAEX;IAcD,OAAO,CAAC,iBAAiB;IAmChB,UAAU;IAQnB,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,YAAY;YA0BN,eAAe;IAY7B,OAAO,CAAC,+BAA+B;IAIvC,OAAO,CAAC,KAAK;IAcb,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,uBAAuB;IA4E/B,OAAO,CAAC,SAAS;IA2BjB,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,IAAI,EAAE,SAAS;IAUvB,OAAO,CAAC,eAAe;IAwEvB,OAAO,CAAC,qBAAqB;IA6C7B,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,eAAe;CAkBxB"}
1
+ {"version":3,"file":"Thumbnails.d.ts","sourceRoot":"","sources":["../../../src/plugins/thumbnails/Thumbnails.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkC,MAAM,cAAc,CAAA;AAS3E,OAAO,uCAAuC,CAAA;AAI9C;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,eAAe,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAeD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,WAAW,CAA2B;IAE9C,OAAO,CAAC,UAAU,CAA2B;IAE7C,OAAO,CAAC,UAAU,CAA2B;IAE7C,OAAO,CAAC,IAAI,CAA2B;IAEvC,OAAO,CAAC,UAAU,CAA2B;IAE7C,OAAO,CAAC,cAAc,CAA2B;IAEjD,OAAO,CAAC,sBAAsB,CAAoB;IAElD,OAAO,CAAC,iBAAiB,CAAY;IAErC,OAAO,CAAC,cAAc,CAAI;IAE1B,OAAO,CAAC,KAAK,CAAQ;IAErB,OAAO,CAAC,aAAa,CAAQ;IAE7B,OAAO,CAAC,aAAa,CAAyB;IAE9C,OAAO,CAAC,OAAO,CAAc;IAE7B;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,IAAa,UAAU;;MAItB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAcvD,OAAO,CAAC,iBAAiB;IAmCzB;;OAEG;IACM,UAAU;IAwBnB,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,YAAY;YAiCN,eAAe;IAY7B,OAAO,CAAC,+BAA+B;IAIvC,OAAO,CAAC,KAAK;IAcb,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,uBAAuB;IAgF/B,OAAO,CAAC,SAAS;IA2BjB,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,eAAe;IA4EvB,OAAO,CAAC,qBAAqB;IA8C7B,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,eAAe;CAgBxB"}
@@ -5,7 +5,29 @@ import { CLAPPR_VERSION } from '../../build.js';
5
5
  import pluginHtml from '../../../assets/thumbnails/scrub-thumbnails.ejs';
6
6
  import '../../../assets/thumbnails/style.scss';
7
7
  import { getPageX } from '../utils.js';
8
- const T = 'plugins.media_control_thumbnails';
8
+ const T = 'plugins.thumbnails';
9
+ /**
10
+ * Displays the thumbnails of the video when available.
11
+ * @beta
12
+ * @example
13
+ * ```ts
14
+ * import { Thumbnails } from '@gcorevideo/player'
15
+ *
16
+ * Player.registerPlugin(Thumbnails)
17
+ *
18
+ * new Player({
19
+ * thumbnails: {
20
+ * backdropHeight: 200,
21
+ * backdropMinOpacity: 0.9,
22
+ * backdropMaxOpacity: 0.99,
23
+ * spotlightHeight: 100,
24
+ * vtt: '1\n00:00:00,000 --> 00:00:10,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=0,0,100,56\n\n2\n00:00:10,000 --> 00:00:20,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=100,0,100,56\n\n3\n00:00:20,000 --> 00:00:30,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=200,0,100,56\n\n4\n00:00:30,000 --> 00:00:40,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=300,0,100,56\n\n5\n00:00:40,000 --> 00:00:50,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=400,0,100,56\n\n6\n00:00:50,000 --> 00:01:00,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=500,0,100,56\n\n7\n00:01:00,000 --> 00:01:10,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=600,0,100,56\n\n8\n00:01:10,000 --> 00:01:20,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=0,56,100,56\n\n9\n00:01:20,000 --> 00:01:30,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=100,56,100,56\n\n10\n00:01:30,000 --> 00:01:40,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=200,56,100,56\n\n11\n00:01:40,000 --> 00:01:50,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=300,56,100,56\n\n12\n00:01:50,000 --> 00:02:00,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=400,56,100,56\n\n13\n00:02:00,000 --> 00:02:10,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=500,56,100,56\n\n14\n00:02:10,000 --> 00:02:20,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=600,56,100,56\n\n15\n00:02:20,000 --> 00:02:30,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=0,112,100,56\n\n16\n00:02:30,000 --> 00:02:40,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=100,112,100,56\n\n17\n00:02:40,000 --> 00:02:50,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=200,112,100,56\n\n18\n00:02:50,000 --> 00:03:00,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=300,112,100,56\n\n19\n00:03:00,000 --> 00:03:10,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=400,112,100,56\n\n20\n00:03:10,000 --> 00:03:20,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=500,112,100,56\n\n21\n00:03:20,000 --> 00:03:30,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=600,112,100,56\n\n22\n00:03:30,000 --> 00:03:40,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=0,168,100,56\n\n23\n00:03:40,000 --> 00:03:50,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=100,168,100,56\n\n24\n00:03:50,000 --> 00:04:00,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=200,168,100,56\n\n25\n00:04:00,000 --> 00:04:10,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=300,168,100,56\n\n26\n00:04:10,000 --> 00:04:20,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=400,168,100,56\n\n27\n00:04:20,000 --> 00:04:30,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=500,168,100,56\n\n28\n00:04:30,000 --> 00:04:40,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=600,168,100,56\n\n29\n00:04:40,000 --> 00:04:50,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=0,224,100,56\n\n30\n00:04:50,000 --> 00:05:00,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=100,224,100,56\n\n31\n00:05:00,000 --> 00:05:10,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=200,224,100,56\n\n32\n00:05:10,000 --> 00:05:20,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=300,224,100,56\n\n33\n00:05:20,000 --> 00:05:30,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=400,224,100,56\n\n34\n00:05:30,000 --> 00:05:40,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=500,224,100,56\n\n35\n00:05:40,000 --> 00:05:50,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=600,224,100,56\n\n36\n00:05:50,000 --> 00:06:00,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=0,280,100,56\n\n37\n00:06:00,000 --> 00:06:10,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=100,280,100,56\n\n38\n00:06:10,000 --> 00:06:20,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=200,280,100,56\n\n39\n00:06:20,000 --> 00:06:30,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=300,280,100,56\n\n40\n00:06:30,000 --> 00:06:40,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=400,280,100,56\n\n41\n00:06:40,000 --> 00:06:50,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=500,280,100,56\n\n42\n00:06:50,000 --> 00:07:00,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=600,280,100,56\n\n43\n00:07:00,000 --> 00:07:10,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=0,336,100,56\n\n44\n00:07:10,000 --> 00:07:20,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=100,336,100,56\n\n45\n00:07:20,000 --> 00:07:30,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=200,336,100,56\n\n46\n00:07:30,000 --> 00:07:40,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=300,336,100,56\n\n47\n00:07:40,000 --> 00:07:50,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=400,336,100,56\n\n48\n00:07:50,000 --> 00:08:00,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=500,336,100,56\n\n49\n00:08:00,000 --> 00:08:10,000\n3dk4NsRt6vWsffEr_sprite.jpg#xywh=600,336,100,56\n',
25
+ * sprite:
26
+ * 'https://static.gvideo.co/videoplatform/sprites/2675/2452164_3dk4NsRt6vWsffEr.mp4_sprite.jpg',
27
+ * },
28
+ * })
29
+ * ```
30
+ */
9
31
  export class Thumbnails extends UICorePlugin {
10
32
  _$spotlight = null;
11
33
  _$backdrop = null;
@@ -20,20 +42,27 @@ export class Thumbnails extends UICorePlugin {
20
42
  _thumbsLoaded = false;
21
43
  _oldContainer = null;
22
44
  _thumbs = [];
45
+ /**
46
+ * @internal
47
+ */
23
48
  get name() {
24
- return 'media_control_thumbnails';
49
+ return 'thumbnails';
25
50
  }
51
+ /**
52
+ * @internal
53
+ */
26
54
  get supportedVersion() {
27
55
  return { min: CLAPPR_VERSION };
28
56
  }
57
+ /**
58
+ * @internal
59
+ */
29
60
  get attributes() {
30
61
  return {
31
- 'class': this.name
62
+ class: this.name,
32
63
  };
33
64
  }
34
- get template() {
35
- return template(pluginHtml);
36
- }
65
+ static template = template(pluginHtml);
37
66
  /*
38
67
  * Helper to build the "thumbs" property for a sprite sheet.
39
68
  *
@@ -77,6 +106,9 @@ export class Thumbnails extends UICorePlugin {
77
106
  return thumbs;
78
107
  }
79
108
  // TODO check if seek enabled
109
+ /**
110
+ * @internal
111
+ */
80
112
  bindEvents() {
81
113
  this.listenToOnce(this.core, Events.CORE_READY, this._onCoreReady);
82
114
  this.listenTo(this.core.mediaControl, Events.MEDIACONTROL_MOUSEMOVE_SEEKBAR, this._onMouseMove);
@@ -93,7 +125,9 @@ export class Thumbnails extends UICorePlugin {
93
125
  }
94
126
  _onCoreReady() {
95
127
  try {
96
- if (!this.options.thumbnails || !this.options.thumbnails.sprite || !this.options.thumbnails.vtt) {
128
+ if (!this.options.thumbnails ||
129
+ !this.options.thumbnails.sprite ||
130
+ !this.options.thumbnails.vtt) {
97
131
  this.destroy();
98
132
  return;
99
133
  }
@@ -144,7 +178,7 @@ export class Thumbnails extends UICorePlugin {
144
178
  }
145
179
  _getOptions() {
146
180
  if (!('thumbnails' in this.core.options)) {
147
- throw '\'thumbnail property missing from options object.';
181
+ throw "'thumbnail property missing from options object.";
148
182
  }
149
183
  return this.core.options.thumbnails;
150
184
  }
@@ -245,7 +279,7 @@ export class Thumbnails extends UICorePlugin {
245
279
  this.$img.css({
246
280
  height: this.spriteSheetHeight * scaleFactor,
247
281
  left: -1 * thumb.x * scaleFactor,
248
- top: -1 * thumb.y * scaleFactor
282
+ top: -1 * thumb.y * scaleFactor,
249
283
  });
250
284
  if (this.$container.find(this.$img).length === 0) {
251
285
  this.$container.append(this.$img);
@@ -287,7 +321,7 @@ export class Thumbnails extends UICorePlugin {
287
321
  const videoDuration = this.core.mediaControl.container.getDuration();
288
322
  const startTimeOffset = this.core.mediaControl.container.getStartTimeOffset();
289
323
  // the time into the video at the current hover position
290
- const hoverTime = startTimeOffset + (videoDuration * hoverPosition);
324
+ const hoverTime = startTimeOffset + videoDuration * hoverPosition;
291
325
  const backdropWidth = this._$backdrop.width();
292
326
  const $carousel = this._$carousel;
293
327
  const carouselWidth = $carousel.width();
@@ -312,9 +346,9 @@ export class Thumbnails extends UICorePlugin {
312
346
  const positionInThumb = timeIntoThumb / thumbDuration;
313
347
  const xCoordInThumb = thumbWidth * positionInThumb;
314
348
  // now calculate the position along carousel that we want to be above the hover position
315
- const xCoordInCarousel = (thumbIndex * thumbWidth) + xCoordInThumb;
349
+ const xCoordInCarousel = thumbIndex * thumbWidth + xCoordInThumb;
316
350
  // and finally the position of the carousel when the hover position is taken in to consideration
317
- const carouselXCoord = xCoordInCarousel - (hoverPosition * backdropWidth);
351
+ const carouselXCoord = xCoordInCarousel - hoverPosition * backdropWidth;
318
352
  $carousel.css('left', -carouselXCoord);
319
353
  const maxOpacity = this._getOptions().backdropMaxOpacity || 0.6;
320
354
  const minOpacity = this._getOptions().backdropMinOpacity || 0.08;
@@ -330,7 +364,7 @@ export class Thumbnails extends UICorePlugin {
330
364
  distance = Math.min(0, distance + thumbWidth);
331
365
  }
332
366
  // fade over the width of 2 thumbnails
333
- const opacity = Math.max(maxOpacity - (Math.abs(distance) / (2 * thumbWidth)), minOpacity);
367
+ const opacity = Math.max(maxOpacity - Math.abs(distance) / (2 * thumbWidth), minOpacity);
334
368
  this._$backdropCarouselImgs[i].css('opacity', opacity);
335
369
  }
336
370
  }
@@ -346,7 +380,7 @@ export class Thumbnails extends UICorePlugin {
346
380
  const videoDuration = this.core.mediaControl.container.getDuration();
347
381
  // the time into the video at the current hover position
348
382
  const startTimeOffset = this.core.mediaControl.container.getStartTimeOffset();
349
- const hoverTime = startTimeOffset + (videoDuration * hoverPosition);
383
+ const hoverTime = startTimeOffset + videoDuration * hoverPosition;
350
384
  this.setText(hoverTime);
351
385
  // determine which thumbnail applies to the current time
352
386
  const thumbIndex = this._getThumbIndexForTime(hoverTime);
@@ -358,7 +392,7 @@ export class Thumbnails extends UICorePlugin {
358
392
  const elWidth = this.$el.width();
359
393
  const thumbWidth = $spotlight.width();
360
394
  const thumbHeight = $spotlight.height();
361
- let spotlightXPos = (elWidth * hoverPosition) - (thumbWidth / 2);
395
+ let spotlightXPos = elWidth * hoverPosition - thumbWidth / 2;
362
396
  // adjust so the entire thumbnail is always visible
363
397
  spotlightXPos = Math.max(Math.min(spotlightXPos, elWidth - thumbWidth), 0);
364
398
  $spotlight.css('left', spotlightXPos);
@@ -399,9 +433,9 @@ export class Thumbnails extends UICorePlugin {
399
433
  }
400
434
  _createElements() {
401
435
  trace(`${T} _createElements`);
402
- this.$el.html(this.template({
403
- 'backdropHeight': this._getOptions().backdropHeight,
404
- 'spotlightHeight': this._getOptions().spotlightHeight
436
+ this.$el.html(Thumbnails.template({
437
+ backdropHeight: this._getOptions().backdropHeight,
438
+ spotlightHeight: this._getOptions().spotlightHeight,
405
439
  }));
406
440
  // cache dom references
407
441
  this._$spotlight = this.$el.find('.spotlight');
@@ -3,6 +3,7 @@ export declare enum VolumeFadeEvents {
3
3
  FADE = "core:volume:fade"
4
4
  }
5
5
  /**
6
+ * Applies fade effect to the player's volume change.
6
7
  * @beta
7
8
  */
8
9
  export declare class VolumeFade extends UICorePlugin {
@@ -1 +1 @@
1
- {"version":3,"file":"VolumeFade.d.ts","sourceRoot":"","sources":["../../../src/plugins/volume-fade/VolumeFade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiC,MAAM,cAAc,CAAC;AAK3E,oBAAY,gBAAgB;IAC1B,IAAI,qBAAqB;CAC1B;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,kBAAkB,CAAK;IAE/B,OAAO,CAAC,SAAS,CAA0B;IAE3C,OAAO,CAAC,KAAK,CAAK;IAElB,OAAO,CAAC,QAAQ,CAAwB;IAExC;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACM,UAAU;IASnB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,WAAW;IAwBnB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,QAAQ;IA0BhB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,OAAO;CAGhB"}
1
+ {"version":3,"file":"VolumeFade.d.ts","sourceRoot":"","sources":["../../../src/plugins/volume-fade/VolumeFade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiC,MAAM,cAAc,CAAC;AAK3E,oBAAY,gBAAgB;IAC1B,IAAI,qBAAqB;CAC1B;AAED;;;GAGG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,kBAAkB,CAAK;IAE/B,OAAO,CAAC,SAAS,CAA0B;IAE3C,OAAO,CAAC,KAAK,CAAK;IAElB,OAAO,CAAC,QAAQ,CAAwB;IAExC;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACM,UAAU;IASnB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,WAAW;IAwBnB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,QAAQ;IA0BhB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,OAAO;CAGhB"}
@@ -5,6 +5,7 @@ export var VolumeFadeEvents;
5
5
  VolumeFadeEvents["FADE"] = "core:volume:fade";
6
6
  })(VolumeFadeEvents || (VolumeFadeEvents = {}));
7
7
  /**
8
+ * Applies fade effect to the player's volume change.
8
9
  * @beta
9
10
  */
10
11
  export class VolumeFade extends UICorePlugin {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gcorevideo/player",
3
- "version": "2.20.1",
3
+ "version": "2.20.3",
4
4
  "description": "Gcore JavaScript video player",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -8,7 +8,6 @@ export * from "./plugins/clappr-stats/ClapprStats.js";
8
8
  export * from "./plugins/click-to-pause/ClickToPause.js";
9
9
  export * from "./plugins/clips/Clips.js";
10
10
  export * from "./plugins/context-menu/ContextMenu.js";
11
- export * from "./plugins/disable-controls/DisableControls.js";
12
11
  export * from "./plugins/dvr-controls/DvrControls.js";
13
12
  export * from "./plugins/error-screen/ErrorScreen.js";
14
13
  export * from "./plugins/favicon/Favicon.js";