@gcorevideo/player 2.19.14 → 2.20.1

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 (196) hide show
  1. package/assets/level-selector/list.ejs +2 -2
  2. package/dist/core.js +2 -2
  3. package/dist/index.css +780 -780
  4. package/dist/index.js +1720 -1473
  5. package/dist/player.d.ts +425 -94
  6. package/dist/plugins/index.css +1466 -1466
  7. package/dist/plugins/index.js +1501 -1252
  8. package/docs/api/player.bottomgear.getelement.md +56 -0
  9. package/docs/api/player.bottomgear.md +51 -0
  10. package/docs/api/player.bottomgear.setcontent.md +56 -0
  11. package/docs/api/player.clapprnerdstats.md +12 -259
  12. package/docs/api/player.dvrcontrols.md +5 -1
  13. package/docs/api/player.errorscreen.attributes.md +3 -0
  14. package/docs/api/player.errorscreen.bindevents.md +3 -0
  15. package/docs/api/player.errorscreen.container.md +3 -0
  16. package/docs/api/player.errorscreen.hide.md +3 -0
  17. package/docs/api/player.errorscreen.md +27 -0
  18. package/docs/api/player.errorscreen.name.md +3 -0
  19. package/docs/api/player.errorscreen.render.md +3 -0
  20. package/docs/api/player.errorscreen.show.md +3 -0
  21. package/docs/api/player.errorscreen.supportedversion.md +3 -0
  22. package/docs/api/player.errorscreen.template.md +3 -0
  23. package/docs/api/player.errorscreen.unbindevents.md +3 -0
  24. package/docs/api/player.gearevents.md +49 -0
  25. package/docs/api/{player.sourcecontroller.name.md → player.gearitemelement.md} +5 -3
  26. package/docs/api/{player.playbackrate.template.md → player.initeventdata.event.md} +3 -3
  27. package/docs/api/{player.playbackrate.updateplaybackrate.md → player.initeventdata.md} +15 -11
  28. package/docs/api/player.levelselector.md +9 -1
  29. package/docs/api/player.md +124 -4
  30. package/docs/api/{player.clapprnerdstats.render.md → player.mediacontrol.getrightpanel.md} +8 -4
  31. package/docs/api/player.mediacontrol.md +14 -0
  32. package/docs/api/player.mediacontrolelement.md +1 -1
  33. package/docs/api/player.pictureinpicture.md +9 -197
  34. package/docs/api/player.playbackrate.md +10 -314
  35. package/docs/api/player.sourcecontroller.md +0 -90
  36. package/docs/api/player.spinnerevents.md +49 -0
  37. package/docs/api/player.spinnerthreebounce._constructor_.md +3 -0
  38. package/docs/api/player.spinnerthreebounce.hide.md +5 -0
  39. package/docs/api/player.spinnerthreebounce.md +14 -95
  40. package/docs/api/player.spinnerthreebounce.show.md +6 -37
  41. package/docs/api/{player.playbackrate.onplay.md → player.stalleventdata.count.md} +5 -7
  42. package/docs/api/{player.playbackrate.name.md → player.stalleventdata.event.md} +3 -3
  43. package/docs/api/player.stalleventdata.md +112 -0
  44. package/docs/api/player.stalleventdata.time.md +13 -0
  45. package/docs/api/player.stalleventdata.total_ms.md +13 -0
  46. package/docs/api/{player.pluginsettings.md → player.starteventdata.event.md} +3 -5
  47. package/docs/api/{player.playbackrate.onrateselect.md → player.starteventdata.md} +15 -11
  48. package/docs/api/player.subtitles.hide.md +5 -0
  49. package/docs/api/player.subtitles.md +23 -275
  50. package/docs/api/player.subtitles.show.md +5 -0
  51. package/docs/api/{player.statistics._constructor_.md → player.telemetry._constructor_.md} +6 -3
  52. package/docs/api/player.telemetry.md +146 -0
  53. package/docs/api/{player.volumefade.name.md → player.telemetry.name.md} +4 -2
  54. package/docs/api/{player.sourcecontroller.supportedversion.md → player.telemetry.supportedversion.md} +4 -2
  55. package/docs/api/player.telemetryevent.md +89 -0
  56. package/docs/api/player.telemetryeventdata.md +15 -0
  57. package/docs/api/player.telemetrypluginsettings.md +57 -0
  58. package/docs/api/player.telemetrypluginsettings.send.md +13 -0
  59. package/docs/api/player.telemetryrecord.md +17 -0
  60. package/docs/api/player.volumefade.md +0 -93
  61. package/docs/api/{player.pictureinpicture.name.md → player.watcheventdata.event.md} +3 -3
  62. package/docs/api/{player.playbackrate.setselectedrate.md → player.watcheventdata.md} +15 -11
  63. package/lib/index.plugins.d.ts +2 -2
  64. package/lib/index.plugins.d.ts.map +1 -1
  65. package/lib/index.plugins.js +2 -2
  66. package/lib/playback/hls-playback/HlsPlayback.js +1 -1
  67. package/lib/plugins/bottom-gear/BottomGear.d.ts +20 -1
  68. package/lib/plugins/bottom-gear/BottomGear.d.ts.map +1 -1
  69. package/lib/plugins/bottom-gear/BottomGear.js +28 -7
  70. package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.d.ts +38 -5
  71. package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.d.ts.map +1 -1
  72. package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.js +67 -21
  73. package/lib/plugins/dvr-controls/DvrControls.d.ts +5 -2
  74. package/lib/plugins/dvr-controls/DvrControls.d.ts.map +1 -1
  75. package/lib/plugins/dvr-controls/DvrControls.js +5 -2
  76. package/lib/plugins/error-screen/ErrorScreen.d.ts +5 -0
  77. package/lib/plugins/error-screen/ErrorScreen.d.ts.map +1 -1
  78. package/lib/plugins/error-screen/ErrorScreen.js +5 -0
  79. package/lib/plugins/index.d.ts +2 -3
  80. package/lib/plugins/index.d.ts.map +1 -1
  81. package/lib/plugins/index.js +2 -3
  82. package/lib/plugins/level-selector/LevelSelector.d.ts +10 -3
  83. package/lib/plugins/level-selector/LevelSelector.d.ts.map +1 -1
  84. package/lib/plugins/level-selector/LevelSelector.js +20 -19
  85. package/lib/plugins/media-control/MediaControl.d.ts +6 -2
  86. package/lib/plugins/media-control/MediaControl.d.ts.map +1 -1
  87. package/lib/plugins/media-control/MediaControl.js +40 -39
  88. package/lib/plugins/picture-in-picture/PictureInPicture.d.ts +32 -4
  89. package/lib/plugins/picture-in-picture/PictureInPicture.d.ts.map +1 -1
  90. package/lib/plugins/picture-in-picture/PictureInPicture.js +30 -2
  91. package/lib/plugins/playback-rate/PlaybackRate.d.ts +47 -14
  92. package/lib/plugins/playback-rate/PlaybackRate.d.ts.map +1 -1
  93. package/lib/plugins/playback-rate/PlaybackRate.js +38 -9
  94. package/lib/plugins/source-controller/SourceController.d.ts +9 -0
  95. package/lib/plugins/source-controller/SourceController.d.ts.map +1 -1
  96. package/lib/plugins/source-controller/SourceController.js +11 -1
  97. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts +35 -1
  98. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts.map +1 -1
  99. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.js +46 -23
  100. package/lib/plugins/statistics/Statistics.d.ts +38 -3
  101. package/lib/plugins/statistics/Statistics.d.ts.map +1 -1
  102. package/lib/plugins/statistics/Statistics.js +51 -9
  103. package/lib/plugins/subtitles/Subtitles.d.ts +65 -16
  104. package/lib/plugins/subtitles/Subtitles.d.ts.map +1 -1
  105. package/lib/plugins/subtitles/Subtitles.js +131 -109
  106. package/lib/plugins/telemetry/Telemetry.d.ts +135 -0
  107. package/lib/plugins/telemetry/Telemetry.d.ts.map +1 -0
  108. package/lib/plugins/telemetry/Telemetry.js +180 -0
  109. package/lib/plugins/volume-fade/VolumeFade.d.ts +7 -1
  110. package/lib/plugins/volume-fade/VolumeFade.d.ts.map +1 -1
  111. package/lib/plugins/volume-fade/VolumeFade.js +8 -1
  112. package/package.json +1 -1
  113. package/src/index.plugins.ts +2 -2
  114. package/src/playback/hls-playback/HlsPlayback.ts +1 -1
  115. package/src/plugins/bottom-gear/BottomGear.ts +26 -4
  116. package/src/plugins/clappr-nerd-stats/ClapprNerdStats.ts +240 -173
  117. package/src/plugins/dvr-controls/DvrControls.ts +5 -2
  118. package/src/plugins/error-screen/ErrorScreen.ts +5 -0
  119. package/src/plugins/index.ts +2 -3
  120. package/src/plugins/level-selector/LevelSelector.ts +22 -19
  121. package/src/plugins/level-selector/__tests__/LevelSelector.test.ts +47 -26
  122. package/src/plugins/level-selector/__tests__/__snapshots__/LevelSelector.test.ts.snap +18 -18
  123. package/src/plugins/media-control/MediaControl.ts +43 -41
  124. package/src/plugins/picture-in-picture/PictureInPicture.ts +35 -7
  125. package/src/plugins/playback-rate/PlaybackRate.ts +53 -24
  126. package/src/plugins/source-controller/SourceController.ts +11 -1
  127. package/src/plugins/source-controller/__tests__/SourceController.test.ts +1 -1
  128. package/src/plugins/spinner-three-bounce/SpinnerThreeBounce.ts +46 -22
  129. package/src/plugins/subtitles/Subtitles.ts +146 -155
  130. package/src/plugins/telemetry/Telemetry.ts +299 -0
  131. package/src/plugins/volume-fade/VolumeFade.ts +9 -2
  132. package/temp/player.api.json +3384 -4872
  133. package/tsconfig.tsbuildinfo +1 -1
  134. package/docs/api/player.clapprnerdstats.attributes.md +0 -17
  135. package/docs/api/player.clapprnerdstats.bindevents.md +0 -18
  136. package/docs/api/player.clapprnerdstats.events.md +0 -18
  137. package/docs/api/player.clapprnerdstats.name.md +0 -14
  138. package/docs/api/player.clapprnerdstats.playerheight.md +0 -14
  139. package/docs/api/player.clapprnerdstats.playerwidth.md +0 -14
  140. package/docs/api/player.clapprnerdstats.statsboxelem.md +0 -14
  141. package/docs/api/player.clapprnerdstats.statsboxwidththreshold.md +0 -14
  142. package/docs/api/player.clapprnerdstats.supportedversion.md +0 -16
  143. package/docs/api/player.clapprnerdstats.template.md +0 -14
  144. package/docs/api/player.pictureinpicture.bindevents.md +0 -15
  145. package/docs/api/player.pictureinpicture.events.md +0 -13
  146. package/docs/api/player.pictureinpicture.exitpictureinpicture.md +0 -15
  147. package/docs/api/player.pictureinpicture.render.md +0 -15
  148. package/docs/api/player.pictureinpicture.requestpictureinpicture.md +0 -15
  149. package/docs/api/player.pictureinpicture.supportedversion.md +0 -13
  150. package/docs/api/player.pictureinpicture.togglepictureinpicture.md +0 -15
  151. package/docs/api/player.pictureinpicture.version.md +0 -11
  152. package/docs/api/player.pictureinpicture.videoelement.md +0 -11
  153. package/docs/api/player.playbackrate.attributes.md +0 -14
  154. package/docs/api/player.playbackrate.bindevents.md +0 -15
  155. package/docs/api/player.playbackrate.events.md +0 -15
  156. package/docs/api/player.playbackrate.gettitle.md +0 -15
  157. package/docs/api/player.playbackrate.goback.md +0 -15
  158. package/docs/api/player.playbackrate.highlightcurrentrate.md +0 -15
  159. package/docs/api/player.playbackrate.onfinishad.md +0 -15
  160. package/docs/api/player.playbackrate.onshowmenu.md +0 -15
  161. package/docs/api/player.playbackrate.onstartad.md +0 -15
  162. package/docs/api/player.playbackrate.onstop.md +0 -15
  163. package/docs/api/player.playbackrate.reload.md +0 -15
  164. package/docs/api/player.playbackrate.render.md +0 -15
  165. package/docs/api/player.playbackrate.supportedversion.md +0 -13
  166. package/docs/api/player.playbackrate.unbindevents.md +0 -15
  167. package/docs/api/player.sourcecontroller.version.md +0 -14
  168. package/docs/api/player.spinnerthreebounce.attributes.md +0 -14
  169. package/docs/api/player.spinnerthreebounce.name.md +0 -11
  170. package/docs/api/player.spinnerthreebounce.render.md +0 -15
  171. package/docs/api/player.spinnerthreebounce.supportedversion.md +0 -13
  172. package/docs/api/player.statistics.bindevents.md +0 -15
  173. package/docs/api/player.statistics.md +0 -141
  174. package/docs/api/player.statistics.name.md +0 -11
  175. package/docs/api/player.statistics.supportedversion.md +0 -13
  176. package/docs/api/player.subtitles.attributes.md +0 -14
  177. package/docs/api/player.subtitles.bindevents.md +0 -15
  178. package/docs/api/player.subtitles.buttonelement.md +0 -15
  179. package/docs/api/player.subtitles.events.md +0 -14
  180. package/docs/api/player.subtitles.levelelement.md +0 -51
  181. package/docs/api/player.subtitles.name.md +0 -11
  182. package/docs/api/player.subtitles.preselectedlanguage.md +0 -11
  183. package/docs/api/player.subtitles.reload.md +0 -15
  184. package/docs/api/player.subtitles.render.md +0 -15
  185. package/docs/api/player.subtitles.selectsubtitles.md +0 -15
  186. package/docs/api/player.subtitles.startlevelswitch.md +0 -15
  187. package/docs/api/player.subtitles.stoplevelswitch.md +0 -15
  188. package/docs/api/player.subtitles.supportedversion.md +0 -13
  189. package/docs/api/player.subtitles.template.md +0 -11
  190. package/docs/api/player.subtitles.templatestring.md +0 -11
  191. package/docs/api/player.subtitles.unbindevents.md +0 -15
  192. package/docs/api/player.subtitles.version.md +0 -11
  193. package/docs/api/player.volumefade.bindevents.md +0 -18
  194. package/docs/api/player.volumefade.unbindevents.md +0 -18
  195. package/src/plugins/statistics/Statistics.ts +0 -207
  196. /package/src/plugins/{statistics → telemetry}/Statistics copy.xts +0 -0
@@ -119,14 +119,14 @@ export class MediaControl extends UICorePlugin {
119
119
  * @deprecated
120
120
  */
121
121
  get container() {
122
- return this.core && this.core.activeContainer;
122
+ return this.core.activeContainer;
123
123
  }
124
124
  /**
125
125
  * @internal
126
126
  * @deprecated
127
127
  */
128
128
  get playback() {
129
- return this.core && this.core.activePlayback;
129
+ return this.core.activePlayback;
130
130
  }
131
131
  /**
132
132
  * @internal
@@ -219,7 +219,6 @@ export class MediaControl extends UICorePlugin {
219
219
  this.listenTo(this.core, Events.CORE_FULLSCREEN, this.show);
220
220
  this.listenTo(this.core, Events.CORE_OPTIONS_CHANGE, this.configure);
221
221
  this.listenTo(this.core, Events.CORE_RESIZE, this.playerResize);
222
- this.bindContainerEvents();
223
222
  this.listenTo(this.core, 'core:advertisement:start', this.onStartAd);
224
223
  this.listenTo(this.core, 'core:advertisement:finish', this.onFinishAd);
225
224
  // const has360 = this.core?.getPlugin('video_360');
@@ -243,26 +242,23 @@ export class MediaControl extends UICorePlugin {
243
242
  // }
244
243
  }
245
244
  bindContainerEvents() {
246
- if (!this.container) {
247
- return;
248
- }
249
- this.listenTo(this.container, Events.CONTAINER_PLAY, this.changeTogglePlay);
250
- this.listenTo(this.container, Events.CONTAINER_PAUSE, this.changeTogglePlay);
251
- this.listenTo(this.container, Events.CONTAINER_STOP, this.changeTogglePlay);
252
- this.listenTo(this.container, Events.CONTAINER_DBLCLICK, this.toggleFullscreen);
253
- this.listenTo(this.container, Events.CONTAINER_TIMEUPDATE, this.onTimeUpdate);
254
- this.listenTo(this.container, Events.CONTAINER_PROGRESS, this.updateProgressBar);
255
- this.listenTo(this.container, Events.CONTAINER_SETTINGSUPDATE, this.settingsUpdate);
256
- this.listenTo(this.container, Events.CONTAINER_PLAYBACKDVRSTATECHANGED, this.settingsUpdate);
257
- this.listenTo(this.container, Events.CONTAINER_HIGHDEFINITIONUPDATE, this.highDefinitionUpdate);
258
- this.listenTo(this.container, Events.CONTAINER_MEDIACONTROL_DISABLE, this.disable);
259
- this.listenTo(this.container, Events.CONTAINER_MEDIACONTROL_ENABLE, this.enable);
260
- this.listenTo(this.container, Events.CONTAINER_ENDED, this.ended);
261
- this.listenTo(this.container, Events.CONTAINER_VOLUME, this.onVolumeChanged);
262
- this.listenTo(this.container, Events.CONTAINER_OPTIONS_CHANGE, this.setInitialVolume);
263
- if (this.container.playback.el.nodeName.toLowerCase() === 'video') {
245
+ this.listenTo(this.core.activeContainer, Events.CONTAINER_PLAY, this.changeTogglePlay);
246
+ this.listenTo(this.core.activeContainer, Events.CONTAINER_PAUSE, this.changeTogglePlay);
247
+ this.listenTo(this.core.activeContainer, Events.CONTAINER_STOP, this.changeTogglePlay);
248
+ this.listenTo(this.core.activeContainer, Events.CONTAINER_DBLCLICK, this.toggleFullscreen);
249
+ this.listenTo(this.core.activeContainer, Events.CONTAINER_TIMEUPDATE, this.onTimeUpdate);
250
+ this.listenTo(this.core.activeContainer, Events.CONTAINER_PROGRESS, this.updateProgressBar);
251
+ this.listenTo(this.core.activeContainer, Events.CONTAINER_SETTINGSUPDATE, this.settingsUpdate);
252
+ this.listenTo(this.core.activeContainer, Events.CONTAINER_PLAYBACKDVRSTATECHANGED, this.settingsUpdate);
253
+ this.listenTo(this.core.activeContainer, Events.CONTAINER_HIGHDEFINITIONUPDATE, this.highDefinitionUpdate);
254
+ this.listenTo(this.core.activeContainer, Events.CONTAINER_MEDIACONTROL_DISABLE, this.disable);
255
+ this.listenTo(this.core.activeContainer, Events.CONTAINER_MEDIACONTROL_ENABLE, this.enable);
256
+ this.listenTo(this.core.activeContainer, Events.CONTAINER_ENDED, this.ended);
257
+ this.listenTo(this.core.activeContainer, Events.CONTAINER_VOLUME, this.onVolumeChanged);
258
+ this.listenTo(this.core.activeContainer, Events.CONTAINER_OPTIONS_CHANGE, this.setInitialVolume);
259
+ if (this.core.activePlayback.el.nodeName.toLowerCase() === 'video') {
264
260
  // wait until the metadata has loaded and then check if fullscreen on video tag is supported
265
- this.listenToOnce(this.container, Events.CONTAINER_LOADEDMETADATA, this.onLoadedMetadataOnVideoTag);
261
+ this.listenToOnce(this.core.activeContainer, Events.CONTAINER_LOADEDMETADATA, this.onLoadedMetadataOnVideoTag);
266
262
  }
267
263
  }
268
264
  /**
@@ -297,7 +293,7 @@ export class MediaControl extends UICorePlugin {
297
293
  this.updateVolumeUI();
298
294
  }
299
295
  onLoadedMetadataOnVideoTag(event) {
300
- const video = this.playback && this.playback.el;
296
+ const video = this.core.activePlayback?.el;
301
297
  // video.webkitSupportsFullscreen is deprecated but iOS appears to only use this
302
298
  // see https://github.com/clappr/clappr/issues/1127
303
299
  if (!Fullscreen.fullscreenEnabled() && video.webkitSupportsFullscreen) {
@@ -528,24 +524,25 @@ export class MediaControl extends UICorePlugin {
528
524
  }
529
525
  onActiveContainerChanged() {
530
526
  this.fullScreenOnVideoTagSupported = null;
531
- this.bindEvents();
532
527
  // set the new container to match the volume of the last one
533
528
  this.setInitialVolume();
534
529
  this.changeTogglePlay();
535
530
  this.bindContainerEvents();
536
531
  this.settingsUpdate();
537
- this.container &&
538
- this.container.trigger(Events.CONTAINER_PLAYBACKDVRSTATECHANGED, this.container.isDvrInUse());
539
- this.container && this.container.mediaControlDisabled && this.disable();
532
+ this.core.activeContainer &&
533
+ this.core.activeContainer.trigger(Events.CONTAINER_PLAYBACKDVRSTATECHANGED, this.core.activeContainer.isDvrInUse());
534
+ this.core.activeContainer && this.core.activeContainer.mediaControlDisabled && this.disable();
540
535
  this.trigger(Events.MEDIACONTROL_CONTAINERCHANGED);
541
- if (this.container.$el) {
542
- this.container.$el.addClass('container-skin-1');
536
+ if (this.core.activeContainer.$el) {
537
+ this.core.activeContainer.$el.addClass('container-skin-1');
543
538
  }
544
539
  if (this.options.cropVideo) {
545
- this.container.$el.addClass('crop-video');
540
+ this.core.activeContainer.$el.addClass('crop-video');
546
541
  }
547
- const spinnerPlugin = this.container.getPlugin('spinner');
542
+ // TODO handle by the spinner itself
543
+ const spinnerPlugin = this.core.activeContainer.getPlugin('spinner');
548
544
  spinnerPlugin?.$el.find('div').addClass('gcore-skin-main-color');
545
+ // TODO handle by the seek_time itself
549
546
  const seekTimePlugin = this.container.getPlugin('seek_time');
550
547
  seekTimePlugin?.$el.addClass('gcore-skin-bg-color');
551
548
  seekTimePlugin?.$el.find('span').addClass('gcore-skin-text-color');
@@ -708,12 +705,11 @@ export class MediaControl extends UICorePlugin {
708
705
  }
709
706
  }
710
707
  settingsUpdate() {
711
- const newSettings = this.getSettings();
712
- $.extend(true, newSettings, {
708
+ const newSettings = $.extend(true, {
713
709
  left: [],
714
710
  default: [],
715
711
  right: [],
716
- });
712
+ }, this.core.activeContainer?.settings);
717
713
  newSettings.left = orderByOrderPattern([...newSettings.left, 'clipsText', 'volume'], LEFT_ORDER);
718
714
  newSettings.right = [
719
715
  'fullscreen',
@@ -744,10 +740,6 @@ export class MediaControl extends UICorePlugin {
744
740
  this.render();
745
741
  }
746
742
  }
747
- getSettings() {
748
- // TODO show live and remove duration/position if live
749
- return $.extend(true, {}, this.container && this.container.settings);
750
- }
751
743
  highDefinitionUpdate(isHD) {
752
744
  this.isHD = isHD;
753
745
  }
@@ -811,8 +803,17 @@ export class MediaControl extends UICorePlugin {
811
803
  return this.$playbackRate;
812
804
  case 'seekBarContainer':
813
805
  return this.$seekBarContainer;
806
+ case 'subtitlesSelector':
807
+ return this.$subtitlesSelector;
814
808
  }
815
809
  }
810
+ /**
811
+ * Get the right panel area to append custom elements to
812
+ * @returns ZeptoSelector of the right panel element
813
+ */
814
+ getRightPanel() {
815
+ return this.$el.find('.media-control-right-panel');
816
+ }
816
817
  resetIndicators() {
817
818
  assert.ok(this.$duration && this.$position, 'duration and position elements must be present');
818
819
  this.displayedPosition = this.$position.text();
@@ -971,7 +972,7 @@ export class MediaControl extends UICorePlugin {
971
972
  this.$playPauseToggle?.addClass('paused');
972
973
  this.$playStopToggle?.addClass('stopped');
973
974
  this.changeTogglePlay();
974
- if (this.container) {
975
+ if (this.core.activeContainer) {
975
976
  this.hideId = setTimeout(() => this.hide(), timeout);
976
977
  this.disabled && this.hide();
977
978
  }
@@ -1,20 +1,48 @@
1
1
  import { UICorePlugin } from '@clappr/core';
2
2
  import '../../../assets/picture-in-picture/button.scss';
3
+ /**
4
+ * Enables picture in picture mode.
5
+ * @beta
6
+ * @remarks
7
+ * Depends on:
8
+ *
9
+ * - {@link MediaControl}
10
+ *
11
+ * It renders a button to toggle picture in picture mode in the media control UI.
12
+ */
3
13
  export declare class PictureInPicture extends UICorePlugin {
14
+ /**
15
+ * @internal
16
+ */
4
17
  get name(): string;
18
+ /**
19
+ * @internal
20
+ */
5
21
  get supportedVersion(): {
6
22
  min: string;
7
23
  };
24
+ /**
25
+ * @internal
26
+ */
8
27
  static get version(): string;
28
+ /**
29
+ * @internal
30
+ */
9
31
  get events(): {
10
32
  'click button': string;
11
33
  };
12
- get videoElement(): any;
34
+ private get videoElement();
35
+ /**
36
+ * @internal
37
+ */
13
38
  bindEvents(): void;
14
39
  private isPiPSupported;
40
+ /**
41
+ * @internal
42
+ */
15
43
  render(): this;
16
- togglePictureInPicture(): void;
17
- requestPictureInPicture(): void;
18
- exitPictureInPicture(): void;
44
+ private togglePictureInPicture;
45
+ private requestPictureInPicture;
46
+ private exitPictureInPicture;
19
47
  }
20
48
  //# sourceMappingURL=PictureInPicture.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PictureInPicture.d.ts","sourceRoot":"","sources":["../../../src/plugins/picture-in-picture/PictureInPicture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoB,MAAM,cAAc,CAAC;AAO9D,OAAO,gDAAgD,CAAC;AAMxD,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,IAAI,IAAI,WAEP;IAED,IAAI,gBAAgB;;MAEnB;IAED,MAAM,KAAK,OAAO,WAEjB;IAED,IAAa,MAAM;;MAIlB;IAED,IAAI,YAAY,QAEf;IAEQ,UAAU;IAInB,OAAO,CAAC,cAAc;IASb,MAAM;IAiBf,sBAAsB;IAStB,uBAAuB;IAOvB,oBAAoB;CAIrB"}
1
+ {"version":3,"file":"PictureInPicture.d.ts","sourceRoot":"","sources":["../../../src/plugins/picture-in-picture/PictureInPicture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoB,MAAM,cAAc,CAAC;AAO9D,OAAO,gDAAgD,CAAC;AAMxD;;;;;;;;;GASG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,MAAM,KAAK,OAAO,WAEjB;IAED;;OAEG;IACH,IAAa,MAAM;;MAIlB;IAED,OAAO,KAAK,YAAY,GAEvB;IAED;;OAEG;IACM,UAAU;IAInB,OAAO,CAAC,cAAc;IAStB;;OAEG;IACM,MAAM;IAiBf,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,oBAAoB;CAI7B"}
@@ -5,17 +5,39 @@ import pipIcon from '../../../assets/icons/new/pip.svg';
5
5
  import buttonHtml from '../../../assets/picture-in-picture/button.ejs';
6
6
  import '../../../assets/picture-in-picture/button.scss';
7
7
  const VERSION = '0.0.1';
8
- const T = `plugins.media_control_pip`;
8
+ const T = `plugins.pip`;
9
+ /**
10
+ * Enables picture in picture mode.
11
+ * @beta
12
+ * @remarks
13
+ * Depends on:
14
+ *
15
+ * - {@link MediaControl}
16
+ *
17
+ * It renders a button to toggle picture in picture mode in the media control UI.
18
+ */
9
19
  export class PictureInPicture extends UICorePlugin {
20
+ /**
21
+ * @internal
22
+ */
10
23
  get name() {
11
- return 'media_control_pip';
24
+ return 'pip';
12
25
  }
26
+ /**
27
+ * @internal
28
+ */
13
29
  get supportedVersion() {
14
30
  return { min: CLAPPR_VERSION };
15
31
  }
32
+ /**
33
+ * @internal
34
+ */
16
35
  static get version() {
17
36
  return VERSION;
18
37
  }
38
+ /**
39
+ * @internal
40
+ */
19
41
  get events() {
20
42
  return {
21
43
  'click button': 'togglePictureInPicture',
@@ -24,6 +46,9 @@ export class PictureInPicture extends UICorePlugin {
24
46
  get videoElement() {
25
47
  return this.core.activePlayback.el;
26
48
  }
49
+ /**
50
+ * @internal
51
+ */
27
52
  bindEvents() {
28
53
  this.listenTo(this.core.mediaControl, Events.MEDIACONTROL_RENDERED, this.render);
29
54
  }
@@ -34,6 +59,9 @@ export class PictureInPicture extends UICorePlugin {
34
59
  });
35
60
  return document.pictureInPictureEnabled && !!HTMLVideoElement.prototype.requestPictureInPicture;
36
61
  }
62
+ /**
63
+ * @internal
64
+ */
37
65
  render() {
38
66
  if (!this.isPiPSupported()) {
39
67
  return this;
@@ -1,42 +1,75 @@
1
1
  import { UICorePlugin } from '@clappr/core';
2
+ /**
3
+ * Allows changing the playback speed of the video.
4
+ * @beta
5
+ *
6
+ * @remarks
7
+ * Depends on:
8
+ *
9
+ * - {@link MediaControl | media_control}
10
+ *
11
+ * - {@link BottomGear | bottom_gear}
12
+ *
13
+ * It renders a button in the gear menu, which opens a dropdown with the available playback rates.
14
+ */
2
15
  export declare class PlaybackRate extends UICorePlugin {
3
16
  private currentPlayback;
4
17
  private playbackRates;
5
18
  private prevSelectedRate;
6
19
  private selectedRate;
20
+ /**
21
+ * @internal
22
+ */
7
23
  get name(): string;
24
+ /**
25
+ * @internal
26
+ */
8
27
  get supportedVersion(): {
9
28
  min: string;
10
29
  };
11
- get template(): any;
30
+ private static readonly template;
31
+ private static readonly buttonTemplate;
32
+ private static readonly listTemplate;
33
+ /**
34
+ * @internal
35
+ */
12
36
  get attributes(): {
13
37
  class: string;
14
38
  'data-playback-rate-select': string;
15
39
  };
40
+ /**
41
+ * @internal
42
+ */
16
43
  get events(): {
17
44
  'click .gear-sub-menu_btn': string;
18
45
  'click .gear-option': string;
19
46
  'click .go-back': string;
20
47
  };
48
+ /**
49
+ * @internal
50
+ */
21
51
  bindEvents(): void;
22
- unBindEvents(): void;
52
+ private unBindEvents;
23
53
  private allRateElements;
24
54
  private rateElement;
25
55
  private onDashRateChange;
26
56
  private updateLiveStatus;
27
- reload(): void;
57
+ private reload;
28
58
  private shouldRender;
59
+ /**
60
+ * @internal
61
+ */
29
62
  render(): this;
30
- onStartAd(): void;
31
- onFinishAd(): void;
32
- onPlay(): void;
33
- onStop(): void;
34
- onRateSelect(event: MouseEvent): boolean;
35
- onShowMenu(): void;
36
- goBack(): void;
37
- updatePlaybackRate(rate: string): void;
38
- setSelectedRate(rate: string): void;
39
- getTitle(): string;
40
- highlightCurrentRate(): void;
63
+ private onStartAd;
64
+ private onFinishAd;
65
+ private onPlay;
66
+ private onStop;
67
+ private onRateSelect;
68
+ private onShowMenu;
69
+ private goBack;
70
+ private updatePlaybackRate;
71
+ private setSelectedRate;
72
+ private getTitle;
73
+ private highlightCurrentRate;
41
74
  }
42
75
  //# sourceMappingURL=PlaybackRate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlaybackRate.d.ts","sourceRoot":"","sources":["../../../src/plugins/playback-rate/PlaybackRate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,YAAY,EAAsB,MAAM,cAAc,CAAC;AAiCxE,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,eAAe,CAAyB;IAEhD,OAAO,CAAC,aAAa,CAAgD;IAErE,OAAO,CAAC,gBAAgB,CAAqB;IAE7C,OAAO,CAAC,YAAY,CAAiC;IAErD,IAAI,IAAI,WAEP;IAED,IAAI,gBAAgB;;MAEnB;IAED,IAAI,QAAQ,QAEX;IAED,IAAa,UAAU;;;MAKtB;IAED,IAAa,MAAM;;;;MAMlB;IAEQ,UAAU;IAoBnB,YAAY;IAOZ,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,gBAAgB;IAcxB,MAAM;IAKN,OAAO,CAAC,YAAY;IAUX,MAAM;IAyCf,SAAS;IAMT,UAAU;IAMV,MAAM;IAWN,MAAM;IAIN,YAAY,CAAC,KAAK,EAAE,UAAU;IAW9B,UAAU;IAaV,MAAM;IAIN,kBAAkB,CAAC,IAAI,EAAE,MAAM;IAI/B,eAAe,CAAC,IAAI,EAAE,MAAM;IAQ5B,QAAQ;IAYR,oBAAoB;CASrB"}
1
+ {"version":3,"file":"PlaybackRate.d.ts","sourceRoot":"","sources":["../../../src/plugins/playback-rate/PlaybackRate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,YAAY,EAAsB,MAAM,cAAc,CAAC;AAiCxE;;;;;;;;;;;;GAYG;AACH,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,eAAe,CAAyB;IAEhD,OAAO,CAAC,aAAa,CAAgD;IAErE,OAAO,CAAC,gBAAgB,CAAqB;IAE7C,OAAO,CAAC,YAAY,CAAiC;IAErD;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IAExD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAwB;IAE9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAsB;IAE1D;;OAEG;IACH,IAAa,UAAU;;;MAKtB;IAED;;OAEG;IACH,IAAa,MAAM;;;;MAMlB;IAED;;OAEG;IACM,UAAU;IAqBnB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,YAAY;IAUpB;;OAEG;IACM,MAAM;IAuCf,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,MAAM;IAGd,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,oBAAoB;CAS7B"}
@@ -19,26 +19,51 @@ const DEFAULT_PLAYBACK_RATES = [
19
19
  const DEFAULT_PLAYBACK_RATE = '1.0';
20
20
  // TODO
21
21
  const MEDIACONTROL_PLAYBACKRATE = 'playbackRate';
22
+ /**
23
+ * Allows changing the playback speed of the video.
24
+ * @beta
25
+ *
26
+ * @remarks
27
+ * Depends on:
28
+ *
29
+ * - {@link MediaControl | media_control}
30
+ *
31
+ * - {@link BottomGear | bottom_gear}
32
+ *
33
+ * It renders a button in the gear menu, which opens a dropdown with the available playback rates.
34
+ */
22
35
  export class PlaybackRate extends UICorePlugin {
23
36
  currentPlayback = null;
24
37
  playbackRates = DEFAULT_PLAYBACK_RATES;
25
38
  prevSelectedRate;
26
39
  selectedRate = DEFAULT_PLAYBACK_RATE;
40
+ /**
41
+ * @internal
42
+ */
27
43
  get name() {
28
- return 'media_control_playback_rate';
44
+ return 'playback_rate';
29
45
  }
46
+ /**
47
+ * @internal
48
+ */
30
49
  get supportedVersion() {
31
50
  return { min: CLAPPR_VERSION };
32
51
  }
33
- get template() {
34
- return template(pluginHtml);
35
- }
52
+ static template = template(pluginHtml);
53
+ static buttonTemplate = template(buttonHtml);
54
+ static listTemplate = template(listHtml);
55
+ /**
56
+ * @internal
57
+ */
36
58
  get attributes() {
37
59
  return {
38
60
  'class': this.name,
39
61
  'data-playback-rate-select': ''
40
62
  };
41
63
  }
64
+ /**
65
+ * @internal
66
+ */
42
67
  get events() {
43
68
  return {
44
69
  'click .gear-sub-menu_btn': 'onRateSelect',
@@ -46,8 +71,12 @@ export class PlaybackRate extends UICorePlugin {
46
71
  'click .go-back': 'goBack',
47
72
  };
48
73
  }
74
+ /**
75
+ * @internal
76
+ */
49
77
  bindEvents() {
50
78
  this.listenTo(this.core, 'gear:rendered', this.render);
79
+ // TODO this.core.getPlugin('media_control'), bottom_gear
51
80
  this.listenTo(this.core.mediaControl, Events.MEDIACONTROL_CONTAINERCHANGED, this.reload);
52
81
  this.listenTo(this.core.mediaControl, MEDIACONTROL_PLAYBACKRATE, this.updatePlaybackRate);
53
82
  this.listenTo(this.core, 'core:advertisement:start', this.onStartAd);
@@ -101,6 +130,9 @@ export class PlaybackRate extends UICorePlugin {
101
130
  this.currentPlayback = this.core.activePlayback;
102
131
  return !(this.currentPlayback?.tagName !== 'video' && this.currentPlayback?.tagName !== 'audio');
103
132
  }
133
+ /**
134
+ * @internal
135
+ */
104
136
  render() {
105
137
  const container = this.core.activeContainer;
106
138
  if (this.core.getPlaybackType() === Playback.LIVE && !container.isDvrEnabled()) {
@@ -114,9 +146,7 @@ export class PlaybackRate extends UICorePlugin {
114
146
  this.selectedRate = cfg.defaultValue || DEFAULT_PLAYBACK_RATE;
115
147
  }
116
148
  if (this.shouldRender()) {
117
- const t = template(buttonHtml);
118
- // const html = t({ playbackRates: this.playbackRates, title: this.getTitle() });
119
- const button = t({
149
+ const button = PlaybackRate.buttonTemplate({
120
150
  title: this.getTitle(),
121
151
  speedIcon,
122
152
  arrowRightIcon,
@@ -164,8 +194,7 @@ export class PlaybackRate extends UICorePlugin {
164
194
  return false;
165
195
  }
166
196
  onShowMenu() {
167
- const t = template(listHtml);
168
- this.$el.html(t({
197
+ this.$el.html(PlaybackRate.listTemplate({
169
198
  playbackRates: this.playbackRates,
170
199
  arrowLeftIcon,
171
200
  checkIcon,
@@ -22,7 +22,13 @@ export declare class SourceController extends CorePlugin {
22
22
  private sourcesDelay;
23
23
  private active;
24
24
  private sync;
25
+ /**
26
+ * @internal
27
+ */
25
28
  get name(): string;
29
+ /**
30
+ * @internal
31
+ */
26
32
  get supportedVersion(): {
27
33
  min: string;
28
34
  };
@@ -36,6 +42,9 @@ export declare class SourceController extends CorePlugin {
36
42
  private reset;
37
43
  private retryPlayback;
38
44
  private getNextMediaSource;
45
+ /**
46
+ * @internal
47
+ */
39
48
  static get version(): string;
40
49
  }
41
50
  //# sourceMappingURL=SourceController.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SourceController.d.ts","sourceRoot":"","sources":["../../../src/plugins/source-controller/SourceController.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,KAAK,IAAI,IAAI,UAAU,EACxB,MAAM,cAAc,CAAA;AA4BrB;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IAuC9C,OAAO,CAAC,WAAW,CAA8B;IAEjD,OAAO,CAAC,kBAAkB,CAAI;IAE9B,OAAO,CAAC,YAAY,CAA6B;IAEjD,OAAO,CAAC,MAAM,CAAQ;IAEtB,OAAO,CAAC,IAAI,CAAiB;IAE7B,IAAI,IAAI,WAEP;IAED,IAAI,gBAAgB;;MAEnB;gBAEW,IAAI,EAAE,UAAU;IAW5B;;OAEG;IACM,UAAU;IAMnB,OAAO,CAAC,OAAO;IAoBf,OAAO,CAAC,2BAA2B;IAsCnC,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,aAAa;IA0BrB,OAAO,CAAC,kBAAkB;IAe1B,MAAM,KAAK,OAAO,WAEjB;CACF"}
1
+ {"version":3,"file":"SourceController.d.ts","sourceRoot":"","sources":["../../../src/plugins/source-controller/SourceController.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,KAAK,IAAI,IAAI,UAAU,EACxB,MAAM,cAAc,CAAA;AA6BrB;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IAuC9C,OAAO,CAAC,WAAW,CAA8B;IAEjD,OAAO,CAAC,kBAAkB,CAAI;IAE9B,OAAO,CAAC,YAAY,CAA6B;IAEjD,OAAO,CAAC,MAAM,CAAQ;IAEtB,OAAO,CAAC,IAAI,CAAiB;IAE7B;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;gBAEW,IAAI,EAAE,UAAU;IAW5B;;OAEG;IACM,UAAU;IAMnB,OAAO,CAAC,OAAO;IAoBf,OAAO,CAAC,2BAA2B;IAsCnC,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,aAAa;IA0BrB,OAAO,CAAC,kBAAkB;IAe1B;;OAEG;IACH,MAAM,KAAK,OAAO,WAEjB;CACF"}
@@ -1,6 +1,7 @@
1
1
  import { Events as ClapprEvents, CorePlugin, } from '@clappr/core';
2
2
  import { PlaybackErrorCode, } from '../../playback.types.js';
3
3
  import { trace } from '@gcorevideo/utils';
4
+ import { SpinnerEvents } from '../spinner-three-bounce/SpinnerThreeBounce.js';
4
5
  import { CLAPPR_VERSION } from '../../build.js';
5
6
  const T = 'plugins.source_controller';
6
7
  const INITIAL_RETRY_DELAY = 1000;
@@ -71,9 +72,15 @@ export class SourceController extends CorePlugin {
71
72
  sourcesDelay = {};
72
73
  active = false;
73
74
  sync = noSync;
75
+ /**
76
+ * @internal
77
+ */
74
78
  get name() {
75
79
  return 'source_controller';
76
80
  }
81
+ /**
82
+ * @internal
83
+ */
77
84
  get supportedVersion() {
78
85
  return { min: CLAPPR_VERSION };
79
86
  }
@@ -103,7 +110,7 @@ export class SourceController extends CorePlugin {
103
110
  const spinner = this.core.activeContainer?.getPlugin('spinner');
104
111
  if (spinner) {
105
112
  this.sync = (cb) => {
106
- spinner.once('spinner:sync', cb);
113
+ spinner.once(SpinnerEvents.SYNC, cb);
107
114
  };
108
115
  }
109
116
  else {
@@ -188,6 +195,9 @@ export class SourceController extends CorePlugin {
188
195
  setTimeout(() => resolve(s), delay);
189
196
  });
190
197
  }
198
+ /**
199
+ * @internal
200
+ */
191
201
  static get version() {
192
202
  return VERSION;
193
203
  }
@@ -1,10 +1,35 @@
1
1
  import { Container, UIContainerPlugin } from '@clappr/core';
2
2
  import '../../../assets/spinner-three-bounce/spinner.scss';
3
+ /**
4
+ * Custom events emitted by the plugin
5
+ */
6
+ export declare enum SpinnerEvents {
7
+ /**
8
+ * Emitted at the end of the spinner animation cycle to facilitate smooth UI updates,
9
+ * e.g. {@link SourceController} listens to this event to reload the source when the spinner is hidden
10
+ */
11
+ SYNC = "plugins:spinner:sync"
12
+ }
13
+ /**
14
+ * Shows a pending operation indicator when playback is buffering or in other appropriate cases
15
+ * @beta
16
+ * @remarks
17
+ * The plugin emits
18
+ */
3
19
  export declare class SpinnerThreeBounce extends UIContainerPlugin {
20
+ /**
21
+ * @internal
22
+ */
4
23
  get name(): string;
24
+ /**
25
+ * @internal
26
+ */
5
27
  get supportedVersion(): {
6
28
  min: string;
7
29
  };
30
+ /**
31
+ * @internal
32
+ */
8
33
  get attributes(): {
9
34
  'data-spinner': string;
10
35
  class: string;
@@ -19,8 +44,17 @@ export declare class SpinnerThreeBounce extends UIContainerPlugin {
19
44
  private onPlay;
20
45
  private onStop;
21
46
  private onError;
22
- show(immediate?: boolean): void;
47
+ /**
48
+ * Shows the spinner
49
+ */
50
+ show(): void;
51
+ /**
52
+ * Hides the spinner
53
+ */
23
54
  hide(): void;
55
+ /**
56
+ * @internal
57
+ */
24
58
  render(): this;
25
59
  }
26
60
  //# sourceMappingURL=SpinnerThreeBounce.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SpinnerThreeBounce.d.ts","sourceRoot":"","sources":["../../../src/plugins/spinner-three-bounce/SpinnerThreeBounce.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAU,iBAAiB,EAAY,MAAM,cAAc,CAAC;AAK9E,OAAO,mDAAmD,CAAC;AAM3D,qBAAa,kBAAmB,SAAQ,iBAAiB;IACvD,IAAI,IAAI,WAEP;IAED,IAAI,gBAAgB;;MAEnB;IAED,IAAa,UAAU;;;MAKtB;IAED,OAAO,CAAC,WAAW,CAAwB;IAE3C,OAAO,CAAC,QAAQ,CAAyB;IAEzC,OAAO,CAAC,aAAa,CAAQ;IAE7B,OAAO,CAAC,YAAY,CAAQ;gBAEhB,SAAS,EAAE,SAAS;IAWhC,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,OAAO;IAef,IAAI,CAAC,SAAS,UAAQ;IAetB,IAAI;IAQK,MAAM;CAmBhB"}
1
+ {"version":3,"file":"SpinnerThreeBounce.d.ts","sourceRoot":"","sources":["../../../src/plugins/spinner-three-bounce/SpinnerThreeBounce.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAA0B,iBAAiB,EAAY,MAAM,cAAc,CAAC;AAK9F,OAAO,mDAAmD,CAAC;AAM3D;;GAEG;AACH,oBAAY,aAAa;IACvB;;;OAGG;IACH,IAAI,yBAAyB;CAC9B;AAED;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,iBAAiB;IACvD;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,IAAa,UAAU;;;MAKtB;IAED,OAAO,CAAC,WAAW,CAAwB;IAE3C,OAAO,CAAC,QAAQ,CAAyB;IAEzC,OAAO,CAAC,aAAa,CAAQ;IAE7B,OAAO,CAAC,YAAY,CAAQ;gBAEhB,SAAS,EAAE,SAAS;IAWhC,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,OAAO;IAef;;OAEG;IACH,IAAI;IAIJ;;OAEG;IACH,IAAI;IAQJ;;OAEG;IACM,MAAM;CAmBhB"}