@gcorevideo/player 2.19.14 → 2.19.15

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 (77) hide show
  1. package/assets/level-selector/list.ejs +2 -2
  2. package/dist/core.js +1 -1
  3. package/dist/index.css +1054 -1054
  4. package/dist/index.js +1232 -1154
  5. package/dist/player.d.ts +157 -22
  6. package/dist/plugins/index.css +634 -634
  7. package/dist/plugins/index.js +1024 -944
  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.subtitles.levelelement.md → player.gearevents.md} +11 -13
  12. package/docs/api/{player.sourcecontroller.name.md → player.gearitemelement.md} +5 -3
  13. package/docs/api/player.levelselector.md +9 -1
  14. package/docs/api/player.md +37 -0
  15. package/docs/api/{player.sourcecontroller.supportedversion.md → player.mediacontrol.getrightpanel.md} +11 -5
  16. package/docs/api/player.mediacontrol.md +14 -0
  17. package/docs/api/player.mediacontrolelement.md +1 -1
  18. package/docs/api/player.sourcecontroller.md +0 -90
  19. package/docs/api/player.spinnerevents.md +49 -0
  20. package/docs/api/player.spinnerthreebounce._constructor_.md +3 -0
  21. package/docs/api/player.spinnerthreebounce.hide.md +5 -0
  22. package/docs/api/player.spinnerthreebounce.md +14 -95
  23. package/docs/api/player.spinnerthreebounce.show.md +6 -37
  24. package/docs/api/player.subtitles.hide.md +5 -0
  25. package/docs/api/player.subtitles.md +23 -275
  26. package/docs/api/player.subtitles.show.md +5 -0
  27. package/lib/plugins/bottom-gear/BottomGear.d.ts +20 -1
  28. package/lib/plugins/bottom-gear/BottomGear.d.ts.map +1 -1
  29. package/lib/plugins/bottom-gear/BottomGear.js +28 -7
  30. package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.js +4 -4
  31. package/lib/plugins/level-selector/LevelSelector.d.ts +10 -3
  32. package/lib/plugins/level-selector/LevelSelector.d.ts.map +1 -1
  33. package/lib/plugins/level-selector/LevelSelector.js +20 -19
  34. package/lib/plugins/media-control/MediaControl.d.ts +6 -2
  35. package/lib/plugins/media-control/MediaControl.d.ts.map +1 -1
  36. package/lib/plugins/media-control/MediaControl.js +40 -39
  37. package/lib/plugins/source-controller/SourceController.d.ts +9 -0
  38. package/lib/plugins/source-controller/SourceController.d.ts.map +1 -1
  39. package/lib/plugins/source-controller/SourceController.js +11 -1
  40. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts +35 -1
  41. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts.map +1 -1
  42. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.js +46 -23
  43. package/lib/plugins/subtitles/Subtitles.d.ts +65 -16
  44. package/lib/plugins/subtitles/Subtitles.d.ts.map +1 -1
  45. package/lib/plugins/subtitles/Subtitles.js +131 -109
  46. package/package.json +1 -1
  47. package/src/plugins/bottom-gear/BottomGear.ts +26 -4
  48. package/src/plugins/clappr-nerd-stats/ClapprNerdStats.ts +4 -4
  49. package/src/plugins/level-selector/LevelSelector.ts +22 -19
  50. package/src/plugins/media-control/MediaControl.ts +43 -41
  51. package/src/plugins/source-controller/SourceController.ts +11 -1
  52. package/src/plugins/source-controller/__tests__/SourceController.test.ts +1 -1
  53. package/src/plugins/spinner-three-bounce/SpinnerThreeBounce.ts +46 -22
  54. package/src/plugins/subtitles/Subtitles.ts +146 -155
  55. package/temp/player.api.json +293 -822
  56. package/tsconfig.tsbuildinfo +1 -1
  57. package/docs/api/player.sourcecontroller.version.md +0 -14
  58. package/docs/api/player.spinnerthreebounce.attributes.md +0 -14
  59. package/docs/api/player.spinnerthreebounce.name.md +0 -11
  60. package/docs/api/player.spinnerthreebounce.render.md +0 -15
  61. package/docs/api/player.spinnerthreebounce.supportedversion.md +0 -13
  62. package/docs/api/player.subtitles.attributes.md +0 -14
  63. package/docs/api/player.subtitles.bindevents.md +0 -15
  64. package/docs/api/player.subtitles.buttonelement.md +0 -15
  65. package/docs/api/player.subtitles.events.md +0 -14
  66. package/docs/api/player.subtitles.name.md +0 -11
  67. package/docs/api/player.subtitles.preselectedlanguage.md +0 -11
  68. package/docs/api/player.subtitles.reload.md +0 -15
  69. package/docs/api/player.subtitles.render.md +0 -15
  70. package/docs/api/player.subtitles.selectsubtitles.md +0 -15
  71. package/docs/api/player.subtitles.startlevelswitch.md +0 -15
  72. package/docs/api/player.subtitles.stoplevelswitch.md +0 -15
  73. package/docs/api/player.subtitles.supportedversion.md +0 -13
  74. package/docs/api/player.subtitles.template.md +0 -11
  75. package/docs/api/player.subtitles.templatestring.md +0 -11
  76. package/docs/api/player.subtitles.unbindevents.md +0 -15
  77. package/docs/api/player.subtitles.version.md +0 -11
@@ -6,7 +6,7 @@ import '../../../assets/media-control/plugins.scss';
6
6
  * Media control elements, mount points for additional plugins
7
7
  * @beta
8
8
  */
9
- export type MediaControlElement = 'bottomGear' | 'clipText' | 'gear' | 'pip' | 'playbackRate' | 'seekBarContainer';
9
+ export type MediaControlElement = 'bottomGear' | 'clipText' | 'gear' | 'pip' | 'playbackRate' | 'seekBarContainer' | 'subtitlesSelector';
10
10
  /**
11
11
  * The MediaControl provides a foundation for developing custom media controls UI.
12
12
  * @beta
@@ -207,7 +207,6 @@ export declare class MediaControl extends UICorePlugin {
207
207
  private hide;
208
208
  private updateCursorStyle;
209
209
  private settingsUpdate;
210
- private getSettings;
211
210
  private highDefinitionUpdate;
212
211
  private createCachedElements;
213
212
  /**
@@ -229,6 +228,11 @@ export declare class MediaControl extends UICorePlugin {
229
228
  * ```
230
229
  */
231
230
  getElement(name: MediaControlElement): ZeptoResult | null;
231
+ /**
232
+ * Get the right panel area to append custom elements to
233
+ * @returns ZeptoSelector of the right panel element
234
+ */
235
+ getRightPanel(): any;
232
236
  private resetIndicators;
233
237
  private initializeIcons;
234
238
  private setSeekPercentage;
@@ -1 +1 @@
1
- {"version":3,"file":"MediaControl.d.ts","sourceRoot":"","sources":["../../../src/plugins/media-control/MediaControl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MediaControl.d.ts","sourceRoot":"","sources":["../../../src/plugins/media-control/MediaControl.ts"],"names":[],"mappings":"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"}
@@ -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
  }
@@ -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"}
@@ -1,20 +1,46 @@
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
3
  // license that can be found in the LICENSE file.
4
- import { Events, UIContainerPlugin, template } from '@clappr/core';
4
+ import { Events as ClapprEvents, UIContainerPlugin, template } from '@clappr/core';
5
5
  import { PlaybackErrorCode } from '../../playback.types.js';
6
6
  import { trace } from '@gcorevideo/utils';
7
7
  import spinnerHTML from '../../../assets/spinner-three-bounce/spinner.ejs';
8
8
  import '../../../assets/spinner-three-bounce/spinner.scss';
9
9
  import { CLAPPR_VERSION } from '../../build.js';
10
10
  const T = 'plugins.spinner';
11
+ /**
12
+ * Custom events emitted by the plugin
13
+ */
14
+ export var SpinnerEvents;
15
+ (function (SpinnerEvents) {
16
+ /**
17
+ * Emitted at the end of the spinner animation cycle to facilitate smooth UI updates,
18
+ * e.g. {@link SourceController} listens to this event to reload the source when the spinner is hidden
19
+ */
20
+ SpinnerEvents["SYNC"] = "plugins:spinner:sync";
21
+ })(SpinnerEvents || (SpinnerEvents = {}));
22
+ /**
23
+ * Shows a pending operation indicator when playback is buffering or in other appropriate cases
24
+ * @beta
25
+ * @remarks
26
+ * The plugin emits
27
+ */
11
28
  export class SpinnerThreeBounce extends UIContainerPlugin {
29
+ /**
30
+ * @internal
31
+ */
12
32
  get name() {
13
33
  return 'spinner';
14
34
  }
35
+ /**
36
+ * @internal
37
+ */
15
38
  get supportedVersion() {
16
39
  return { min: CLAPPR_VERSION };
17
40
  }
41
+ /**
42
+ * @internal
43
+ */
18
44
  get attributes() {
19
45
  return {
20
46
  'data-spinner': '',
@@ -27,13 +53,13 @@ export class SpinnerThreeBounce extends UIContainerPlugin {
27
53
  hasBuffering = false;
28
54
  constructor(container) {
29
55
  super(container);
30
- this.listenTo(this.container, Events.CONTAINER_STATE_BUFFERING, this.onBuffering);
31
- this.listenTo(this.container, Events.CONTAINER_STATE_BUFFERFULL, this.onBufferFull);
32
- this.listenTo(this.container, Events.CONTAINER_PLAY, this.onPlay);
33
- this.listenTo(this.container, Events.CONTAINER_STOP, this.onStop);
34
- this.listenTo(this.container, Events.CONTAINER_ENDED, this.onStop);
35
- this.listenTo(this.container, Events.CONTAINER_ERROR, this.onError);
36
- this.listenTo(this.container, Events.CONTAINER_READY, this.render);
56
+ this.listenTo(this.container, ClapprEvents.CONTAINER_STATE_BUFFERING, this.onBuffering);
57
+ this.listenTo(this.container, ClapprEvents.CONTAINER_STATE_BUFFERFULL, this.onBufferFull);
58
+ this.listenTo(this.container, ClapprEvents.CONTAINER_PLAY, this.onPlay);
59
+ this.listenTo(this.container, ClapprEvents.CONTAINER_STOP, this.onStop);
60
+ this.listenTo(this.container, ClapprEvents.CONTAINER_ENDED, this.onStop);
61
+ this.listenTo(this.container, ClapprEvents.CONTAINER_ERROR, this.onError);
62
+ this.listenTo(this.container, ClapprEvents.CONTAINER_READY, this.render);
37
63
  }
38
64
  onBuffering() {
39
65
  this.hasBuffering = true;
@@ -73,21 +99,15 @@ export class SpinnerThreeBounce extends UIContainerPlugin {
73
99
  this.hide();
74
100
  }
75
101
  }
76
- show(immediate = false) {
77
- trace(`${T} show`, {
78
- immediate,
79
- });
80
- if (immediate) {
81
- if (this.showTimeout !== null) {
82
- clearTimeout(this.showTimeout);
83
- this.showTimeout = null;
84
- }
85
- this.$el.show();
86
- }
87
- else if (this.showTimeout === null) {
88
- this.showTimeout = setTimeout(() => this.$el.show(), 300);
89
- }
102
+ /**
103
+ * Shows the spinner
104
+ */
105
+ show() {
106
+ this.showTimeout = setTimeout(() => this.$el.show(), 300);
90
107
  }
108
+ /**
109
+ * Hides the spinner
110
+ */
91
111
  hide() {
92
112
  if (this.showTimeout !== null) {
93
113
  clearTimeout(this.showTimeout);
@@ -95,6 +115,9 @@ export class SpinnerThreeBounce extends UIContainerPlugin {
95
115
  }
96
116
  this.$el.hide();
97
117
  }
118
+ /**
119
+ * @internal
120
+ */
98
121
  render() {
99
122
  const showOnStart = this.options.spinner?.showOnStart;
100
123
  trace(`${T} render`, {
@@ -103,7 +126,7 @@ export class SpinnerThreeBounce extends UIContainerPlugin {
103
126
  });
104
127
  this.$el.html(this.template());
105
128
  this.el.firstElementChild?.addEventListener('animationiteration', () => {
106
- this.trigger('spinner:sync');
129
+ this.trigger(SpinnerEvents.SYNC);
107
130
  });
108
131
  this.container.$el.append(this.$el[0]);
109
132
  if (showOnStart || this.container.buffering) {
@@ -1,45 +1,94 @@
1
1
  import { UICorePlugin } from '@clappr/core';
2
2
  import '../../../assets/subtitles/style.scss';
3
- import type { ZeptoResult } from '../../utils/types.js';
3
+ /**
4
+ * A {@link MediaControl | media control} plugin that provides a UI to select the subtitles when available.
5
+ * @beta
6
+ *
7
+ * @remarks
8
+ * Depends on:
9
+ *
10
+ * - {@link MediaControl}
11
+ *
12
+ * Configuration options:
13
+ *
14
+ * - subtitles.language - The language of the subtitles to select by default.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * import { Subtitles } from '@gcorevideo/player'
19
+ *
20
+ * Player.registerPlugin(Subtitles)
21
+ *
22
+ * new Player({
23
+ * ...
24
+ * subtitles: {
25
+ * language: 'en',
26
+ * },
27
+ * })
28
+ * ```
29
+ */
4
30
  export declare class Subtitles extends UICorePlugin {
5
- private currentContainer;
6
31
  private currentLevel;
7
- private currentPlayback;
32
+ private isPreselectedApplied;
8
33
  private isShowing;
34
+ private track;
9
35
  private tracks;
10
36
  private $string;
37
+ /**
38
+ * @internal
39
+ */
11
40
  get name(): string;
41
+ /**
42
+ * @internal
43
+ */
12
44
  get supportedVersion(): {
13
45
  min: string;
14
46
  };
47
+ /**
48
+ * @internal
49
+ */
15
50
  static get version(): string;
16
- get template(): any;
17
- get templateString(): any;
51
+ private static readonly template;
52
+ private static readonly templateString;
53
+ /**
54
+ * @internal
55
+ */
18
56
  get attributes(): {
19
57
  class: string;
20
58
  'data-subtitles': string;
21
59
  };
60
+ /**
61
+ * @internal
62
+ */
22
63
  get events(): {
23
64
  'click [data-subtitles-select]': string;
24
65
  'click [data-subtitles-button]': string;
25
66
  };
26
- private isPreselectedApplied;
27
- private track;
28
- get preselectedLanguage(): string;
67
+ private get preselectedLanguage();
68
+ /**
69
+ * @internal
70
+ */
29
71
  bindEvents(): void;
30
- unBindEvents(): void;
31
72
  private bindPlaybackEvents;
32
73
  private getTracks;
33
74
  private onStartAd;
34
75
  private onFinishAd;
35
- reload(): void;
36
76
  private playerResize;
77
+ /**
78
+ * Hides the subtitles menu and the subtitles.
79
+ */
37
80
  hide(): void;
81
+ /**
82
+ * Shows the subtitles menu and the subtitles.
83
+ */
38
84
  show(): void;
39
85
  private shouldRender;
40
86
  private resizeFont;
87
+ /**
88
+ * @internal
89
+ */
41
90
  render(): this;
42
- private fillLevels;
91
+ private setTracks;
43
92
  private findLevelBy;
44
93
  private selectLevel;
45
94
  private onLevelSelect;
@@ -47,11 +96,11 @@ export declare class Subtitles extends UICorePlugin {
47
96
  private onShowLevelSelectMenu;
48
97
  private hideSelectLevelMenu;
49
98
  private toggleContextMenu;
50
- buttonElement(): ZeptoResult;
51
- levelElement(id?: string): ZeptoResult;
52
- startLevelSwitch(): void;
53
- stopLevelSwitch(): void;
54
- selectSubtitles(): void;
99
+ private buttonElement;
100
+ private levelElement;
101
+ private startLevelSwitch;
102
+ private stopLevelSwitch;
103
+ private selectSubtitles;
55
104
  private setSubtitleText;
56
105
  private clearSubtitleText;
57
106
  private updateCurrentLevel;
@@ -1 +1 @@
1
- {"version":3,"file":"Subtitles.d.ts","sourceRoot":"","sources":["../../../src/plugins/subtitles/Subtitles.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,YAAY,EAIb,MAAM,cAAc,CAAA;AAOrB,OAAO,sCAAsC,CAAA;AAO7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAmBvD,qBAAa,SAAU,SAAQ,YAAY;IACzC,OAAO,CAAC,gBAAgB,CAAuB;IAE/C,OAAO,CAAC,YAAY,CAA2B;IAE/C,OAAO,CAAC,eAAe,CAA4B;IAEnD,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAO,CAAC,MAAM,CAA2B;IAEzC,OAAO,CAAC,OAAO,CAAyB;IAExC,IAAI,IAAI,WAEP;IAED,IAAI,gBAAgB;;MAEnB;IAED,MAAM,KAAK,OAAO,WAEjB;IAED,IAAI,QAAQ,QAEX;IAED,IAAI,cAAc,QAEjB;IAED,IAAa,UAAU;;;MAKtB;IAED,IAAa,MAAM;;;MAKlB;IAED,OAAO,CAAC,oBAAoB,CAAQ;IAEpC,OAAO,CAAC,KAAK,CAAiC;IAE9C,IAAI,mBAAmB,IAAI,MAAM,CAEhC;IAEQ,UAAU;IAoBnB,YAAY;IAgCZ,OAAO,CAAC,kBAAkB;IA4C1B,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,UAAU;IASlB,MAAM;IAMN,OAAO,CAAC,YAAY;IAoBpB,IAAI;IAWJ,IAAI;IAiBJ,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,UAAU;IAcT,MAAM;IAgCf,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,yBAAyB;IASjC,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAIzB,aAAa,IAAI,WAAW;IAI5B,YAAY,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW;IAQtC,gBAAgB;IAIhB,eAAe;IAIf,eAAe;IAgDf,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,yBAAyB;IAYjC,OAAO,CAAC,UAAU;CAOnB"}
1
+ {"version":3,"file":"Subtitles.d.ts","sourceRoot":"","sources":["../../../src/plugins/subtitles/Subtitles.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EAIb,MAAM,cAAc,CAAA;AAMrB,OAAO,sCAAsC,CAAA;AAuB7C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,SAAU,SAAQ,YAAY;IACzC,OAAO,CAAC,YAAY,CAA6B;IAEjD,OAAO,CAAC,oBAAoB,CAAQ;IAEpC,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAO,CAAC,KAAK,CAAiC;IAE9C,OAAO,CAAC,MAAM,CAA6B;IAE3C,OAAO,CAAC,OAAO,CAA2B;IAE1C;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,MAAM,KAAK,OAAO,WAEjB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAEzD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAuB;IAE7D;;OAEG;IACH,IAAa,UAAU;;;MAKtB;IAED;;OAEG;IACH,IAAa,MAAM;;;MAKlB;IAED,OAAO,KAAK,mBAAmB,GAE9B;IAED;;OAEG;IACM,UAAU;IAiBnB,OAAO,CAAC,kBAAkB;IAkC1B,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,YAAY;IAoBpB;;OAEG;IACH,IAAI;IAWJ;;OAEG;IACH,IAAI;IAiBJ,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,UAAU;IAclB;;OAEG;IACM,MAAM;IAwCf,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,yBAAyB;IASjC,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,eAAe;IAgDvB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,yBAAyB;IAYjC,OAAO,CAAC,UAAU;CASnB"}