@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.
- package/assets/level-selector/list.ejs +2 -2
- package/dist/core.js +2 -2
- package/dist/index.css +780 -780
- package/dist/index.js +1720 -1473
- package/dist/player.d.ts +425 -94
- package/dist/plugins/index.css +1466 -1466
- package/dist/plugins/index.js +1501 -1252
- package/docs/api/player.bottomgear.getelement.md +56 -0
- package/docs/api/player.bottomgear.md +51 -0
- package/docs/api/player.bottomgear.setcontent.md +56 -0
- package/docs/api/player.clapprnerdstats.md +12 -259
- package/docs/api/player.dvrcontrols.md +5 -1
- package/docs/api/player.errorscreen.attributes.md +3 -0
- package/docs/api/player.errorscreen.bindevents.md +3 -0
- package/docs/api/player.errorscreen.container.md +3 -0
- package/docs/api/player.errorscreen.hide.md +3 -0
- package/docs/api/player.errorscreen.md +27 -0
- package/docs/api/player.errorscreen.name.md +3 -0
- package/docs/api/player.errorscreen.render.md +3 -0
- package/docs/api/player.errorscreen.show.md +3 -0
- package/docs/api/player.errorscreen.supportedversion.md +3 -0
- package/docs/api/player.errorscreen.template.md +3 -0
- package/docs/api/player.errorscreen.unbindevents.md +3 -0
- package/docs/api/player.gearevents.md +49 -0
- package/docs/api/{player.sourcecontroller.name.md → player.gearitemelement.md} +5 -3
- package/docs/api/{player.playbackrate.template.md → player.initeventdata.event.md} +3 -3
- package/docs/api/{player.playbackrate.updateplaybackrate.md → player.initeventdata.md} +15 -11
- package/docs/api/player.levelselector.md +9 -1
- package/docs/api/player.md +124 -4
- package/docs/api/{player.clapprnerdstats.render.md → player.mediacontrol.getrightpanel.md} +8 -4
- package/docs/api/player.mediacontrol.md +14 -0
- package/docs/api/player.mediacontrolelement.md +1 -1
- package/docs/api/player.pictureinpicture.md +9 -197
- package/docs/api/player.playbackrate.md +10 -314
- package/docs/api/player.sourcecontroller.md +0 -90
- package/docs/api/player.spinnerevents.md +49 -0
- package/docs/api/player.spinnerthreebounce._constructor_.md +3 -0
- package/docs/api/player.spinnerthreebounce.hide.md +5 -0
- package/docs/api/player.spinnerthreebounce.md +14 -95
- package/docs/api/player.spinnerthreebounce.show.md +6 -37
- package/docs/api/{player.playbackrate.onplay.md → player.stalleventdata.count.md} +5 -7
- package/docs/api/{player.playbackrate.name.md → player.stalleventdata.event.md} +3 -3
- package/docs/api/player.stalleventdata.md +112 -0
- package/docs/api/player.stalleventdata.time.md +13 -0
- package/docs/api/player.stalleventdata.total_ms.md +13 -0
- package/docs/api/{player.pluginsettings.md → player.starteventdata.event.md} +3 -5
- package/docs/api/{player.playbackrate.onrateselect.md → player.starteventdata.md} +15 -11
- package/docs/api/player.subtitles.hide.md +5 -0
- package/docs/api/player.subtitles.md +23 -275
- package/docs/api/player.subtitles.show.md +5 -0
- package/docs/api/{player.statistics._constructor_.md → player.telemetry._constructor_.md} +6 -3
- package/docs/api/player.telemetry.md +146 -0
- package/docs/api/{player.volumefade.name.md → player.telemetry.name.md} +4 -2
- package/docs/api/{player.sourcecontroller.supportedversion.md → player.telemetry.supportedversion.md} +4 -2
- package/docs/api/player.telemetryevent.md +89 -0
- package/docs/api/player.telemetryeventdata.md +15 -0
- package/docs/api/player.telemetrypluginsettings.md +57 -0
- package/docs/api/player.telemetrypluginsettings.send.md +13 -0
- package/docs/api/player.telemetryrecord.md +17 -0
- package/docs/api/player.volumefade.md +0 -93
- package/docs/api/{player.pictureinpicture.name.md → player.watcheventdata.event.md} +3 -3
- package/docs/api/{player.playbackrate.setselectedrate.md → player.watcheventdata.md} +15 -11
- package/lib/index.plugins.d.ts +2 -2
- package/lib/index.plugins.d.ts.map +1 -1
- package/lib/index.plugins.js +2 -2
- package/lib/playback/hls-playback/HlsPlayback.js +1 -1
- package/lib/plugins/bottom-gear/BottomGear.d.ts +20 -1
- package/lib/plugins/bottom-gear/BottomGear.d.ts.map +1 -1
- package/lib/plugins/bottom-gear/BottomGear.js +28 -7
- package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.d.ts +38 -5
- package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.d.ts.map +1 -1
- package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.js +67 -21
- package/lib/plugins/dvr-controls/DvrControls.d.ts +5 -2
- package/lib/plugins/dvr-controls/DvrControls.d.ts.map +1 -1
- package/lib/plugins/dvr-controls/DvrControls.js +5 -2
- package/lib/plugins/error-screen/ErrorScreen.d.ts +5 -0
- package/lib/plugins/error-screen/ErrorScreen.d.ts.map +1 -1
- package/lib/plugins/error-screen/ErrorScreen.js +5 -0
- package/lib/plugins/index.d.ts +2 -3
- package/lib/plugins/index.d.ts.map +1 -1
- package/lib/plugins/index.js +2 -3
- package/lib/plugins/level-selector/LevelSelector.d.ts +10 -3
- package/lib/plugins/level-selector/LevelSelector.d.ts.map +1 -1
- package/lib/plugins/level-selector/LevelSelector.js +20 -19
- package/lib/plugins/media-control/MediaControl.d.ts +6 -2
- package/lib/plugins/media-control/MediaControl.d.ts.map +1 -1
- package/lib/plugins/media-control/MediaControl.js +40 -39
- package/lib/plugins/picture-in-picture/PictureInPicture.d.ts +32 -4
- package/lib/plugins/picture-in-picture/PictureInPicture.d.ts.map +1 -1
- package/lib/plugins/picture-in-picture/PictureInPicture.js +30 -2
- package/lib/plugins/playback-rate/PlaybackRate.d.ts +47 -14
- package/lib/plugins/playback-rate/PlaybackRate.d.ts.map +1 -1
- package/lib/plugins/playback-rate/PlaybackRate.js +38 -9
- package/lib/plugins/source-controller/SourceController.d.ts +9 -0
- package/lib/plugins/source-controller/SourceController.d.ts.map +1 -1
- package/lib/plugins/source-controller/SourceController.js +11 -1
- package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts +35 -1
- package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts.map +1 -1
- package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.js +46 -23
- package/lib/plugins/statistics/Statistics.d.ts +38 -3
- package/lib/plugins/statistics/Statistics.d.ts.map +1 -1
- package/lib/plugins/statistics/Statistics.js +51 -9
- package/lib/plugins/subtitles/Subtitles.d.ts +65 -16
- package/lib/plugins/subtitles/Subtitles.d.ts.map +1 -1
- package/lib/plugins/subtitles/Subtitles.js +131 -109
- package/lib/plugins/telemetry/Telemetry.d.ts +135 -0
- package/lib/plugins/telemetry/Telemetry.d.ts.map +1 -0
- package/lib/plugins/telemetry/Telemetry.js +180 -0
- package/lib/plugins/volume-fade/VolumeFade.d.ts +7 -1
- package/lib/plugins/volume-fade/VolumeFade.d.ts.map +1 -1
- package/lib/plugins/volume-fade/VolumeFade.js +8 -1
- package/package.json +1 -1
- package/src/index.plugins.ts +2 -2
- package/src/playback/hls-playback/HlsPlayback.ts +1 -1
- package/src/plugins/bottom-gear/BottomGear.ts +26 -4
- package/src/plugins/clappr-nerd-stats/ClapprNerdStats.ts +240 -173
- package/src/plugins/dvr-controls/DvrControls.ts +5 -2
- package/src/plugins/error-screen/ErrorScreen.ts +5 -0
- package/src/plugins/index.ts +2 -3
- package/src/plugins/level-selector/LevelSelector.ts +22 -19
- package/src/plugins/level-selector/__tests__/LevelSelector.test.ts +47 -26
- package/src/plugins/level-selector/__tests__/__snapshots__/LevelSelector.test.ts.snap +18 -18
- package/src/plugins/media-control/MediaControl.ts +43 -41
- package/src/plugins/picture-in-picture/PictureInPicture.ts +35 -7
- package/src/plugins/playback-rate/PlaybackRate.ts +53 -24
- package/src/plugins/source-controller/SourceController.ts +11 -1
- package/src/plugins/source-controller/__tests__/SourceController.test.ts +1 -1
- package/src/plugins/spinner-three-bounce/SpinnerThreeBounce.ts +46 -22
- package/src/plugins/subtitles/Subtitles.ts +146 -155
- package/src/plugins/telemetry/Telemetry.ts +299 -0
- package/src/plugins/volume-fade/VolumeFade.ts +9 -2
- package/temp/player.api.json +3384 -4872
- package/tsconfig.tsbuildinfo +1 -1
- package/docs/api/player.clapprnerdstats.attributes.md +0 -17
- package/docs/api/player.clapprnerdstats.bindevents.md +0 -18
- package/docs/api/player.clapprnerdstats.events.md +0 -18
- package/docs/api/player.clapprnerdstats.name.md +0 -14
- package/docs/api/player.clapprnerdstats.playerheight.md +0 -14
- package/docs/api/player.clapprnerdstats.playerwidth.md +0 -14
- package/docs/api/player.clapprnerdstats.statsboxelem.md +0 -14
- package/docs/api/player.clapprnerdstats.statsboxwidththreshold.md +0 -14
- package/docs/api/player.clapprnerdstats.supportedversion.md +0 -16
- package/docs/api/player.clapprnerdstats.template.md +0 -14
- package/docs/api/player.pictureinpicture.bindevents.md +0 -15
- package/docs/api/player.pictureinpicture.events.md +0 -13
- package/docs/api/player.pictureinpicture.exitpictureinpicture.md +0 -15
- package/docs/api/player.pictureinpicture.render.md +0 -15
- package/docs/api/player.pictureinpicture.requestpictureinpicture.md +0 -15
- package/docs/api/player.pictureinpicture.supportedversion.md +0 -13
- package/docs/api/player.pictureinpicture.togglepictureinpicture.md +0 -15
- package/docs/api/player.pictureinpicture.version.md +0 -11
- package/docs/api/player.pictureinpicture.videoelement.md +0 -11
- package/docs/api/player.playbackrate.attributes.md +0 -14
- package/docs/api/player.playbackrate.bindevents.md +0 -15
- package/docs/api/player.playbackrate.events.md +0 -15
- package/docs/api/player.playbackrate.gettitle.md +0 -15
- package/docs/api/player.playbackrate.goback.md +0 -15
- package/docs/api/player.playbackrate.highlightcurrentrate.md +0 -15
- package/docs/api/player.playbackrate.onfinishad.md +0 -15
- package/docs/api/player.playbackrate.onshowmenu.md +0 -15
- package/docs/api/player.playbackrate.onstartad.md +0 -15
- package/docs/api/player.playbackrate.onstop.md +0 -15
- package/docs/api/player.playbackrate.reload.md +0 -15
- package/docs/api/player.playbackrate.render.md +0 -15
- package/docs/api/player.playbackrate.supportedversion.md +0 -13
- package/docs/api/player.playbackrate.unbindevents.md +0 -15
- package/docs/api/player.sourcecontroller.version.md +0 -14
- package/docs/api/player.spinnerthreebounce.attributes.md +0 -14
- package/docs/api/player.spinnerthreebounce.name.md +0 -11
- package/docs/api/player.spinnerthreebounce.render.md +0 -15
- package/docs/api/player.spinnerthreebounce.supportedversion.md +0 -13
- package/docs/api/player.statistics.bindevents.md +0 -15
- package/docs/api/player.statistics.md +0 -141
- package/docs/api/player.statistics.name.md +0 -11
- package/docs/api/player.statistics.supportedversion.md +0 -13
- package/docs/api/player.subtitles.attributes.md +0 -14
- package/docs/api/player.subtitles.bindevents.md +0 -15
- package/docs/api/player.subtitles.buttonelement.md +0 -15
- package/docs/api/player.subtitles.events.md +0 -14
- package/docs/api/player.subtitles.levelelement.md +0 -51
- package/docs/api/player.subtitles.name.md +0 -11
- package/docs/api/player.subtitles.preselectedlanguage.md +0 -11
- package/docs/api/player.subtitles.reload.md +0 -15
- package/docs/api/player.subtitles.render.md +0 -15
- package/docs/api/player.subtitles.selectsubtitles.md +0 -15
- package/docs/api/player.subtitles.startlevelswitch.md +0 -15
- package/docs/api/player.subtitles.stoplevelswitch.md +0 -15
- package/docs/api/player.subtitles.supportedversion.md +0 -13
- package/docs/api/player.subtitles.template.md +0 -11
- package/docs/api/player.subtitles.templatestring.md +0 -11
- package/docs/api/player.subtitles.unbindevents.md +0 -15
- package/docs/api/player.subtitles.version.md +0 -11
- package/docs/api/player.volumefade.bindevents.md +0 -18
- package/docs/api/player.volumefade.unbindevents.md +0 -18
- package/src/plugins/statistics/Statistics.ts +0 -207
- /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
|
|
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
|
|
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
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
this.listenTo(this.
|
|
250
|
-
this.listenTo(this.
|
|
251
|
-
this.listenTo(this.
|
|
252
|
-
this.listenTo(this.
|
|
253
|
-
this.listenTo(this.
|
|
254
|
-
this.listenTo(this.
|
|
255
|
-
this.listenTo(this.
|
|
256
|
-
this.listenTo(this.
|
|
257
|
-
this.listenTo(this.
|
|
258
|
-
this.listenTo(this.
|
|
259
|
-
this.listenTo(this.
|
|
260
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
538
|
-
this.
|
|
539
|
-
this.
|
|
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.
|
|
542
|
-
this.
|
|
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.
|
|
540
|
+
this.core.activeContainer.$el.addClass('crop-video');
|
|
546
541
|
}
|
|
547
|
-
|
|
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 =
|
|
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.
|
|
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()
|
|
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
|
|
17
|
-
requestPictureInPicture
|
|
18
|
-
exitPictureInPicture
|
|
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,
|
|
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.
|
|
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 '
|
|
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
|
-
|
|
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
|
|
52
|
+
private unBindEvents;
|
|
23
53
|
private allRateElements;
|
|
24
54
|
private rateElement;
|
|
25
55
|
private onDashRateChange;
|
|
26
56
|
private updateLiveStatus;
|
|
27
|
-
reload
|
|
57
|
+
private reload;
|
|
28
58
|
private shouldRender;
|
|
59
|
+
/**
|
|
60
|
+
* @internal
|
|
61
|
+
*/
|
|
29
62
|
render(): this;
|
|
30
|
-
onStartAd
|
|
31
|
-
onFinishAd
|
|
32
|
-
onPlay
|
|
33
|
-
onStop
|
|
34
|
-
onRateSelect
|
|
35
|
-
onShowMenu
|
|
36
|
-
goBack
|
|
37
|
-
updatePlaybackRate
|
|
38
|
-
setSelectedRate
|
|
39
|
-
getTitle
|
|
40
|
-
highlightCurrentRate
|
|
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,
|
|
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 '
|
|
44
|
+
return 'playback_rate';
|
|
29
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* @internal
|
|
48
|
+
*/
|
|
30
49
|
get supportedVersion() {
|
|
31
50
|
return { min: CLAPPR_VERSION };
|
|
32
51
|
}
|
|
33
|
-
|
|
34
|
-
|
|
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
|
|
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
|
-
|
|
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;
|
|
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(
|
|
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
|
-
|
|
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,
|
|
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"}
|