@gcorevideo/player 2.20.3 → 2.20.5

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 (108) hide show
  1. package/assets/error-screen/error_screen.ejs +3 -1
  2. package/dist/core.js +436 -210
  3. package/dist/index.css +1223 -1223
  4. package/dist/index.js +580 -392
  5. package/dist/player.d.ts +10 -0
  6. package/dist/plugins/index.css +754 -754
  7. package/dist/plugins/index.js +122 -163
  8. package/docs/api/player.contextmenupluginsettings.label.md +3 -0
  9. package/docs/api/player.contextmenupluginsettings.md +8 -3
  10. package/docs/api/player.contextmenupluginsettings.preventshowcontextmenu.md +3 -0
  11. package/docs/api/player.contextmenupluginsettings.url.md +3 -0
  12. package/docs/api/player.md +6 -2
  13. package/docs/api/player.multicamera._constructor_.md +3 -0
  14. package/docs/api/player.multicamera.activebyid.md +3 -0
  15. package/docs/api/player.multicamera.attributes.md +3 -0
  16. package/docs/api/player.multicamera.bindevents.md +3 -0
  17. package/docs/api/player.multicamera.events.md +3 -0
  18. package/docs/api/player.multicamera.getcameraslist.md +3 -0
  19. package/docs/api/player.multicamera.getcurrentcamera.md +3 -0
  20. package/docs/api/player.multicamera.md +28 -1
  21. package/docs/api/player.multicamera.name.md +3 -0
  22. package/docs/api/player.multicamera.render.md +3 -0
  23. package/docs/api/player.multicamera.supportedversion.md +3 -0
  24. package/docs/api/player.multicamera.template.md +3 -0
  25. package/docs/api/player.multicamera.unbindevents.md +3 -0
  26. package/docs/api/player.multicamera.version.md +3 -0
  27. package/docs/api/player.volumefadeevents.md +7 -0
  28. package/docs/api/player.zeptoresult.md +1 -0
  29. package/lib/Player.d.ts +5 -3
  30. package/lib/Player.d.ts.map +1 -1
  31. package/lib/Player.js +32 -8
  32. package/lib/internal.types.d.ts +7 -7
  33. package/lib/internal.types.d.ts.map +1 -1
  34. package/lib/playback/BasePlayback.d.ts +11 -0
  35. package/lib/playback/BasePlayback.d.ts.map +1 -0
  36. package/lib/playback/BasePlayback.js +33 -0
  37. package/lib/playback/dash-playback/DashPlayback.d.ts +3 -2
  38. package/lib/playback/dash-playback/DashPlayback.d.ts.map +1 -1
  39. package/lib/playback/dash-playback/DashPlayback.js +7 -7
  40. package/lib/playback/hls-playback/HlsPlayback.d.ts +2 -2
  41. package/lib/playback/hls-playback/HlsPlayback.d.ts.map +1 -1
  42. package/lib/playback/hls-playback/HlsPlayback.js +8 -5
  43. package/lib/playback/utils.d.ts +2 -0
  44. package/lib/playback/utils.d.ts.map +1 -0
  45. package/lib/playback/utils.js +1 -0
  46. package/lib/playback.types.d.ts +10 -3
  47. package/lib/playback.types.d.ts.map +1 -1
  48. package/lib/playback.types.js +3 -3
  49. package/lib/plugins/context-menu/ContextMenu.d.ts +4 -0
  50. package/lib/plugins/context-menu/ContextMenu.d.ts.map +1 -1
  51. package/lib/plugins/context-menu/ContextMenu.js +1 -2
  52. package/lib/plugins/error-screen/ErrorScreen.d.ts +39 -24
  53. package/lib/plugins/error-screen/ErrorScreen.d.ts.map +1 -1
  54. package/lib/plugins/error-screen/ErrorScreen.js +70 -136
  55. package/lib/plugins/media-control/MediaControl.d.ts +1 -1
  56. package/lib/plugins/media-control/MediaControl.d.ts.map +1 -1
  57. package/lib/plugins/media-control/MediaControl.js +7 -5
  58. package/lib/plugins/multi-camera/MultiCamera.d.ts +1 -0
  59. package/lib/plugins/multi-camera/MultiCamera.d.ts.map +1 -1
  60. package/lib/plugins/multi-camera/MultiCamera.js +5 -5
  61. package/lib/plugins/poster/Poster.js +1 -1
  62. package/lib/plugins/seek-time/SeekTime.js +1 -1
  63. package/lib/plugins/share/Share.js +1 -1
  64. package/lib/plugins/source-controller/SourceController.d.ts +2 -1
  65. package/lib/plugins/source-controller/SourceController.d.ts.map +1 -1
  66. package/lib/plugins/source-controller/SourceController.js +12 -6
  67. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts +2 -1
  68. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts.map +1 -1
  69. package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.js +19 -3
  70. package/lib/plugins/volume-fade/VolumeFade.d.ts +4 -0
  71. package/lib/plugins/volume-fade/VolumeFade.d.ts.map +1 -1
  72. package/lib/plugins/volume-fade/VolumeFade.js +4 -0
  73. package/lib/testUtils.d.ts +66 -2
  74. package/lib/testUtils.d.ts.map +1 -1
  75. package/lib/testUtils.js +95 -2
  76. package/lib/types.d.ts +9 -1
  77. package/lib/types.d.ts.map +1 -1
  78. package/lib/utils/types.d.ts +1 -0
  79. package/lib/utils/types.d.ts.map +1 -1
  80. package/package.json +2 -2
  81. package/release_notes +297 -0
  82. package/src/Player.ts +103 -48
  83. package/src/__tests__/Player.test.ts +25 -4
  84. package/src/internal.types.ts +86 -79
  85. package/src/playback/BasePlayback.ts +41 -0
  86. package/src/playback/dash-playback/DashPlayback.ts +11 -15
  87. package/src/playback/hls-playback/HlsPlayback.ts +7 -5
  88. package/src/playback/utils.ts +2 -0
  89. package/src/playback.types.ts +11 -3
  90. package/src/plugins/context-menu/ContextMenu.ts +5 -2
  91. package/src/plugins/error-screen/ErrorScreen.ts +121 -195
  92. package/src/plugins/error-screen/__tests__/ErrorScreen.test.ts +113 -0
  93. package/src/plugins/error-screen/__tests__/__snapshots__/ErrorScreen.test.ts.snap +20 -0
  94. package/src/plugins/level-selector/__tests__/LevelSelector.test.ts +32 -57
  95. package/src/plugins/media-control/MediaControl.ts +8 -5
  96. package/src/plugins/multi-camera/MultiCamera.ts +5 -5
  97. package/src/plugins/poster/Poster.ts +1 -1
  98. package/src/plugins/seek-time/SeekTime.ts +1 -1
  99. package/src/plugins/share/Share.ts +1 -1
  100. package/src/plugins/source-controller/SourceController.ts +20 -14
  101. package/src/plugins/source-controller/__tests__/SourceController.test.ts +29 -46
  102. package/src/plugins/spinner-three-bounce/SpinnerThreeBounce.ts +20 -3
  103. package/src/plugins/volume-fade/VolumeFade.ts +4 -0
  104. package/src/testUtils.ts +100 -3
  105. package/src/types.ts +11 -1
  106. package/src/utils/types.ts +1 -0
  107. package/temp/player.api.json +24 -24
  108. package/tsconfig.tsbuildinfo +1 -1
@@ -61,15 +61,15 @@ export declare enum PlaybackErrorCode {
61
61
  /**
62
62
  * An unknown or uncategorised error.
63
63
  */
64
- Generic = 0,
64
+ Generic = "GENERIC_ERROR",
65
65
  /**
66
66
  * The media source is not available. Typically a network error.
67
67
  */
68
- MediaSourceUnavailable = 1,
68
+ MediaSourceUnavailable = "MEDIA_SOURCE_UNAVAILABLE",
69
69
  /**
70
70
  * The media source is not accessible due to some protection policy.
71
71
  */
72
- MediaSourceAccessDenied = 3
72
+ MediaSourceAccessDenied = "MEDIA_SOURCE_ACCESS_DENIED"
73
73
  }
74
74
  /**
75
75
  * Levels of severity of errors. Non-fatal errors usually can be ignored.
@@ -114,5 +114,12 @@ export interface PlaybackError {
114
114
  * Component subsystem of the error origin
115
115
  */
116
116
  scope: PlayerComponentType;
117
+ /**
118
+ * UI description of the error.
119
+ */
120
+ UI?: {
121
+ title: string;
122
+ message: string;
123
+ };
117
124
  }
118
125
  //# sourceMappingURL=playback.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"playback.types.d.ts","sourceRoot":"","sources":["../src/playback.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAE9B;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,OAAO,EAAE,SAAS,CAAA;IAClB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAA;CACjB;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAE3D;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG;IACtC,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;GAGG;AACH,oBAAY,iBAAiB;IAC3B;;OAEG;IACH,OAAO,IAAI;IACX;;OAEG;IACH,sBAAsB,IAAI;IAC1B;;OAEG;IACH,uBAAuB,IAAI;CAC5B;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;AAElD;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,CAAA;AAEnE;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,EAAE,iBAAiB,CAAA;IACvB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,KAAK,EAAE,UAAU,CAAA;IACjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;;;;OAMG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,KAAK,EAAE,mBAAmB,CAAA;CAC3B"}
1
+ {"version":3,"file":"playback.types.d.ts","sourceRoot":"","sources":["../src/playback.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAE9B;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,OAAO,EAAE,SAAS,CAAA;IAClB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAA;CACjB;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAE3D;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG;IACtC,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;GAGG;AACH,oBAAY,iBAAiB;IAC3B;;OAEG;IACH,OAAO,kBAAkB;IACzB;;OAEG;IACH,sBAAsB,6BAA6B;IACnD;;OAEG;IACH,uBAAuB,+BAA+B;CACvD;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;AAElD;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,CAAA;AAEnE;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,EAAE,iBAAiB,CAAA;IACvB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,KAAK,EAAE,UAAU,CAAA;IACjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;;;;OAMG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,KAAK,EAAE,mBAAmB,CAAA;IAE1B;;OAEG;IACH,EAAE,CAAC,EAAE;QACH,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;CACF"}
@@ -7,13 +7,13 @@ export var PlaybackErrorCode;
7
7
  /**
8
8
  * An unknown or uncategorised error.
9
9
  */
10
- PlaybackErrorCode[PlaybackErrorCode["Generic"] = 0] = "Generic";
10
+ PlaybackErrorCode["Generic"] = "GENERIC_ERROR";
11
11
  /**
12
12
  * The media source is not available. Typically a network error.
13
13
  */
14
- PlaybackErrorCode[PlaybackErrorCode["MediaSourceUnavailable"] = 1] = "MediaSourceUnavailable";
14
+ PlaybackErrorCode["MediaSourceUnavailable"] = "MEDIA_SOURCE_UNAVAILABLE";
15
15
  /**
16
16
  * The media source is not accessible due to some protection policy.
17
17
  */
18
- PlaybackErrorCode[PlaybackErrorCode["MediaSourceAccessDenied"] = 3] = "MediaSourceAccessDenied";
18
+ PlaybackErrorCode["MediaSourceAccessDenied"] = "MEDIA_SOURCE_ACCESS_DENIED";
19
19
  })(PlaybackErrorCode || (PlaybackErrorCode = {}));
@@ -1,5 +1,9 @@
1
1
  import { Container, UIContainerPlugin } from '@clappr/core';
2
2
  import '../../../assets/context-menu/context_menu.scss';
3
+ /**
4
+ * The plugin adds a context menu to the player.
5
+ * @beta
6
+ */
3
7
  export interface ContextMenuPluginSettings {
4
8
  label?: string;
5
9
  url?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../../src/plugins/context-menu/ContextMenu.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,SAAS,EACT,iBAAiB,EAClB,MAAM,cAAc,CAAA;AAIrB,OAAO,gDAAgD,CAAA;AASvD,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC;AAED;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,iBAAiB;IAChD,OAAO,CAAC,MAAM,CAAa;IAE3B,OAAO,CAAC,IAAI,CAAa;IAEzB,OAAO,CAAC,WAAW,CAAmB;IAEtC;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,IAAa,UAAU;;MAEtB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAEzD,OAAO,KAAK,KAAK,GAEhB;IAED,OAAO,KAAK,GAAG,GAEd;IAED,OAAO,KAAK,aAAa,GAKxB;IAED;;OAEG;IACH,IAAa,MAAM;;MAIlB;gBAEW,SAAS,EAAE,SAAS;IAYhC;;OAEG;IACM,UAAU;IAUnB;;OAEG;IACM,OAAO;IAKhB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,IAAI;IAYZ,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,cAAc;IAItB;;OAEG;IACM,MAAM;IASf,OAAO,CAAC,eAAe,CAEtB;CACF"}
1
+ {"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../../src/plugins/context-menu/ContextMenu.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,SAAS,EACT,iBAAiB,EAClB,MAAM,cAAc,CAAA;AAIrB,OAAO,gDAAgD,CAAA;AASvD;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC;AAED;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,iBAAiB;IAChD,OAAO,CAAC,MAAM,CAAa;IAE3B,OAAO,CAAC,IAAI,CAAa;IAEzB,OAAO,CAAC,WAAW,CAAmB;IAEtC;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,IAAa,UAAU;;MAEtB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAEzD,OAAO,KAAK,KAAK,GAEhB;IAED,OAAO,KAAK,GAAG,GAEd;IAED,OAAO,KAAK,aAAa,GAKxB;IAED;;OAEG;IACH,IAAa,MAAM;;MAIlB;gBAEW,SAAS,EAAE,SAAS;IAYhC;;OAEG;IACM,UAAU;IASnB;;OAEG;IACM,OAAO;IAKhB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,IAAI;IAYZ,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,cAAc;IAItB;;OAEG;IACM,MAAM;IASf,OAAO,CAAC,eAAe,CAEtB;CACF"}
@@ -61,7 +61,7 @@ export class ContextMenu extends UIContainerPlugin {
61
61
  this._url = this.options.contextMenu.url;
62
62
  }
63
63
  this.render();
64
- this.bindEvents();
64
+ $('body').on('click', this.hideOnBodyClick);
65
65
  }
66
66
  /**
67
67
  * @internal
@@ -69,7 +69,6 @@ export class ContextMenu extends UIContainerPlugin {
69
69
  bindEvents() {
70
70
  this.listenTo(this.container, Events.CONTAINER_CONTEXTMENU, this.toggleContextMenu);
71
71
  this.listenTo(this.container, Events.CONTAINER_CLICK, this.hide);
72
- $('body').on('click', this.hideOnBodyClick);
73
72
  }
74
73
  /**
75
74
  * @internal
@@ -1,48 +1,63 @@
1
1
  import { UICorePlugin } from '@clappr/core';
2
2
  import '../../../assets/error-screen/error_screen.scss';
3
- type PresentationalError = {
4
- title: string;
5
- message: string;
3
+ export type ErrorDesc = {
4
+ description: string;
5
+ level: string;
6
6
  code: string;
7
- icon: string;
8
- reloadIcon: string;
7
+ origin: string;
8
+ scope: string;
9
+ raw?: string;
10
+ UI?: {
11
+ icon?: string;
12
+ title: string;
13
+ message: string;
14
+ };
15
+ };
16
+ export type ErrorScreenPluginSettings = {
17
+ noReload?: boolean;
9
18
  };
10
19
  /**
11
- * Displays a descriptive error in the overlay on top of the player.
20
+ * Displays an error nicely in the overlay on top of the player.
12
21
  * @beta
13
22
  */
14
23
  export declare class ErrorScreen extends UICorePlugin {
15
- private _retry;
16
24
  private err;
17
- private hideValue;
18
- private timeout;
19
- private reloadButton;
25
+ /**
26
+ * @internal
27
+ */
20
28
  get name(): string;
29
+ /**
30
+ * @internal
31
+ */
21
32
  get supportedVersion(): {
22
33
  min: string;
23
34
  };
24
- get template(): any;
25
- get container(): any;
35
+ private static readonly template;
36
+ /**
37
+ * @internal
38
+ */
26
39
  get attributes(): {
27
40
  class: string;
28
41
  'data-error-screen': string;
29
42
  };
43
+ /**
44
+ * @internal
45
+ */
30
46
  bindEvents(): void;
31
- private onCoreReady;
32
47
  private onPlay;
33
- private destroyError;
34
- unBindEvents(): void;
35
- private bindReload;
48
+ private unmount;
49
+ /**
50
+ * @internal
51
+ */
52
+ get events(): {
53
+ 'click .player-error-screen__reload': string;
54
+ };
36
55
  private reload;
37
- private unbindReload;
38
- private onContainerChanged;
39
- private onStartAd;
40
- private onFinishAd;
56
+ private onActiveContainerChanged;
41
57
  private onError;
42
- private drying;
43
- show(err?: PresentationalError): void;
44
- hide(): void;
58
+ /**
59
+ * @internal
60
+ */
45
61
  render(): this;
46
62
  }
47
- export {};
48
63
  //# sourceMappingURL=ErrorScreen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorScreen.d.ts","sourceRoot":"","sources":["../../../src/plugins/error-screen/ErrorScreen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiC,MAAM,cAAc,CAAC;AAQ3E,OAAO,gDAAgD,CAAC;AAaxD,KAAK,mBAAmB,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB,CAAA;AAID;;;GAGG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,MAAM,CAAK;IAEnB,OAAO,CAAC,GAAG,CAAoC;IAE/C,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,OAAO,CAAwB;IAEvC,OAAO,CAAC,YAAY,CAA4B;IAEhD,IAAI,IAAI,WAEP;IAED,IAAI,gBAAgB;;MAEnB;IAED,IAAI,QAAQ,QAEX;IAED,IAAI,SAAS,QAEZ;IAED,IAAa,UAAU;;;MAKtB;IAEQ,UAAU;IAQnB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,YAAY;IAWpB,YAAY;IASZ,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,OAAO;IAqDf,OAAO,CAAC,MAAM;IAad,IAAI,CAAC,GAAG,CAAC,EAAE,mBAAmB;IAU9B,IAAI;IAIK,MAAM;CAYhB"}
1
+ {"version":3,"file":"ErrorScreen.d.ts","sourceRoot":"","sources":["../../../src/plugins/error-screen/ErrorScreen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoB,MAAM,cAAc,CAAA;AAO7D,OAAO,gDAAgD,CAAA;AAGvD,MAAM,MAAM,SAAS,GAAG;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE;QACH,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;CACF,CAAA;AASD,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAID;;;GAGG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,GAAG,CAA+B;IAE1C;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAEzD;;OAEG;IACH,IAAa,UAAU;;;MAKtB;IAED;;OAEG;IACM,UAAU;IASnB,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,OAAO;IAOf;;OAEG;IACH,IAAa,MAAM;;MAIlB;IAED,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,wBAAwB;IAqBhC,OAAO,CAAC,OAAO;IAgBf;;OAEG;IACM,MAAM;CAkBhB"}
@@ -1,184 +1,118 @@
1
- import { UICorePlugin, Events, template, PlayerError } from '@clappr/core';
1
+ import { UICorePlugin, Events, template } from '@clappr/core';
2
2
  import { trace } from '@gcorevideo/utils';
3
3
  import { CLAPPR_VERSION } from '../../build.js';
4
4
  import reloadIcon from '../../../assets/icons/old/reload.svg';
5
5
  import templateHtml from '../../../assets/error-screen/error_screen.ejs';
6
6
  import '../../../assets/error-screen/error_screen.scss';
7
- const TIME_FOR_UPDATE = 10000;
8
- const MAX_RETRY = 10;
9
7
  const T = 'plugins.error_screen';
10
8
  /**
11
- * Displays a descriptive error in the overlay on top of the player.
9
+ * Displays an error nicely in the overlay on top of the player.
12
10
  * @beta
13
11
  */
14
12
  export class ErrorScreen extends UICorePlugin {
15
- _retry = 0;
16
13
  err = null;
17
- hideValue = false;
18
- timeout = null;
19
- reloadButton = null;
14
+ /**
15
+ * @internal
16
+ */
20
17
  get name() {
21
- return 'error_gplayer';
18
+ return 'error_screen';
22
19
  }
20
+ /**
21
+ * @internal
22
+ */
23
23
  get supportedVersion() {
24
24
  return { min: CLAPPR_VERSION };
25
25
  }
26
- get template() {
27
- return template(templateHtml);
28
- }
29
- get container() {
30
- return this.core.activeContainer;
31
- }
26
+ static template = template(templateHtml);
27
+ /**
28
+ * @internal
29
+ */
32
30
  get attributes() {
33
31
  return {
34
- 'class': 'player-error-screen',
32
+ class: 'player-error-screen',
35
33
  'data-error-screen': '',
36
34
  };
37
35
  }
36
+ /**
37
+ * @internal
38
+ */
38
39
  bindEvents() {
39
40
  this.listenTo(this.core, Events.ERROR, this.onError);
40
- this.listenTo(this.core, Events.CORE_READY, this.onCoreReady);
41
- this.listenTo(this.core, 'core:advertisement:start', this.onStartAd);
42
- this.listenTo(this.core, 'core:advertisement:finish', this.onFinishAd);
43
- this.listenTo(this.core.mediaControl, Events.MEDIACONTROL_CONTAINERCHANGED, this.onContainerChanged);
44
- }
45
- onCoreReady() {
46
- trace(`${T} onCoreReady`);
47
- if (this.core.activePlayback) {
48
- this.listenTo(this.core.activePlayback, Events.PLAYBACK_PLAY, this.onPlay);
49
- }
41
+ this.listenTo(this.core, Events.CORE_ACTIVE_CONTAINER_CHANGED, this.onActiveContainerChanged);
50
42
  }
51
43
  onPlay() {
52
44
  trace(`${T} onPlay`);
53
- this.destroyError();
45
+ this.unmount();
54
46
  }
55
- destroyError() {
56
- trace(`${T} destroyError`);
57
- this._retry = 0;
47
+ unmount() {
48
+ trace(`${T} unmount`);
58
49
  this.err = null;
59
- if (this.timeout !== null) {
60
- clearTimeout(this.timeout);
61
- this.timeout = null;
62
- }
63
- this.$el.hide();
64
- }
65
- unBindEvents() {
66
- // @ts-ignore
67
- this.stopListening(this.core, 'core:advertisement:start');
68
- // @ts-ignore
69
- this.stopListening(this.core, 'core:advertisement:finish');
70
- // @ts-ignore
71
- this.stopListening(this.core, Events.ERROR);
50
+ this.$el.empty();
51
+ // this.$el.hide();
72
52
  }
73
- bindReload() {
74
- this.reloadButton = this.$el.find('.player-error-screen__reload');
75
- this.reloadButton && this.reloadButton.on('click', this.reload.bind(this));
53
+ /**
54
+ * @internal
55
+ */
56
+ get events() {
57
+ return {
58
+ 'click .player-error-screen__reload': 'reload',
59
+ };
76
60
  }
77
61
  reload() {
78
- this._retry++;
79
- this.core.configure({
80
- ...this.options,
81
- autoPlay: true
62
+ setTimeout(() => {
63
+ this.core.configure({
64
+ reloading: true,
65
+ source: this.core.options.source,
66
+ sources: this.core.options.sources,
67
+ });
68
+ }, 0);
69
+ }
70
+ onActiveContainerChanged() {
71
+ trace(`${T} onActiveContainerChanged`, {
72
+ reloading: this.core.options.reloading,
82
73
  });
83
- this.core.activeContainer.mediaControlDisabled = false;
84
- this.unbindReload();
85
- }
86
- unbindReload() {
87
- this.reloadButton && this.reloadButton.off('click');
88
- }
89
- onContainerChanged() {
90
74
  this.err = null;
91
- if (this.core.getPlugin('error_screen')) {
92
- this.core.getPlugin('error_screen').disable();
93
- }
94
- this.unbindReload();
95
- this.hide();
96
- }
97
- onStartAd() {
98
- this.hideValue = true;
99
- if (this.err) {
100
- this.hide();
101
- }
102
- }
103
- onFinishAd() {
104
- this.hideValue = false;
105
- if (this.err) {
106
- this.container.disableMediaControl();
107
- this.container.stop();
108
- this.show();
75
+ this.listenTo(this.core.activeContainer.playback, Events.PLAYBACK_PLAY, this.onPlay);
76
+ if (this.core.options.reloading) {
77
+ setTimeout(() => {
78
+ this.core.options.reloading = false;
79
+ this.unmount();
80
+ this.core.activeContainer.play({
81
+ reloading: true,
82
+ });
83
+ }, 0);
109
84
  }
110
85
  }
111
86
  onError(err) {
112
87
  trace(`${T} onError`, { err });
113
- if (err.level === PlayerError.Levels.FATAL ||
114
- err.details === 'bufferStalledError' ||
115
- err.details === 'manifestParsingError') {
88
+ if (err.UI) {
89
+ if (this.err) {
90
+ this.unmount();
91
+ }
116
92
  this.err = {
117
- title: this.core.i18n.t('no_broadcast'),
118
- message: '',
119
- code: '',
120
- // icon: (this.err.UI && this.err.UI.icon) || '',
121
- icon: '',
122
- reloadIcon,
93
+ title: err.UI.title,
94
+ message: err.UI.message,
95
+ code: err.code,
96
+ icon: err.UI.icon,
123
97
  };
124
- if (this.options.errorScreen?.reloadOnError === false) {
125
- return;
126
- }
127
- if (this.options.errorScreen?.neverStopToRetry) {
128
- this._retry = 0;
129
- }
130
- if (this._retry >= MAX_RETRY) {
131
- this.drying();
132
- return;
133
- }
134
- const ctp = this.container.getPlugin('click_to_pause_custom');
135
- const toggleCTP = !!ctp?.enabled;
136
- if (toggleCTP) {
137
- // clickToPausePlugin.afterEnabled = true;
138
- ctp.disable();
139
- }
140
- this.timeout = setTimeout(() => {
141
- if (toggleCTP) {
142
- ctp.enable();
143
- }
144
- this.reload();
145
- }, TIME_FOR_UPDATE);
146
- const spinnerPlugin = this.container.getPlugin('spinner');
147
- if (spinnerPlugin) {
148
- spinnerPlugin.show(); // TODO remove?
149
- setTimeout(() => spinnerPlugin.show(), 0);
150
- }
98
+ this.render();
151
99
  }
152
100
  }
153
- drying() {
154
- const spinnerPlugin = this.container.getPlugin('spinner');
155
- spinnerPlugin?.hide();
156
- this._retry = 0;
157
- if (!this.hideValue) {
158
- this.container.disableMediaControl();
159
- this.container.stop();
160
- this.show();
161
- }
162
- }
163
- show(err) {
164
- if (err) {
165
- this.err = err;
166
- }
167
- // TODO use container.disableMediaControl() instead
168
- this.core.mediaControl.disable();
169
- this.render();
170
- this.$el.show();
171
- }
172
- hide() {
173
- this.$el.hide();
174
- }
101
+ /**
102
+ * @internal
103
+ */
175
104
  render() {
176
105
  if (!this.err) {
177
106
  return this;
178
107
  }
179
- this.$el.html(this.template(this.err));
180
- this.core.$el.append(this.el);
181
- this.bindReload();
108
+ this.$el.html(ErrorScreen.template({
109
+ ...this.err,
110
+ reloadIcon: this.options.errorScreen?.noReload ? null : reloadIcon,
111
+ }));
112
+ // TODO append to container instead of core?
113
+ if (!this.el.parentElement) {
114
+ this.core.$el.append(this.el);
115
+ }
182
116
  return this;
183
117
  }
184
118
  }
@@ -152,7 +152,7 @@ export declare class MediaControl extends UICorePlugin {
152
152
  bindEvents(): void;
153
153
  private bindContainerEvents;
154
154
  /**
155
- * Disables the plugin and unmounts its UI
155
+ * Hides the media control UI
156
156
  */
157
157
  disable(): void;
158
158
  /**
@@ -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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"}
@@ -3,7 +3,7 @@
3
3
  // license that can be found in the LICENSE file.
4
4
  import assert from 'assert';
5
5
  import { Events, UICorePlugin, Browser, Playback, Utils, template, $, } from '@clappr/core';
6
- import { reportError } from '@gcorevideo/utils';
6
+ import { reportError, trace } from '@gcorevideo/utils';
7
7
  import { Kibo } from '../kibo/index.js';
8
8
  import { CLAPPR_VERSION } from '../../build.js';
9
9
  import { getPageX, isFullscreen } from '../utils.js';
@@ -262,9 +262,10 @@ export class MediaControl extends UICorePlugin {
262
262
  }
263
263
  }
264
264
  /**
265
- * Disables the plugin and unmounts its UI
265
+ * Hides the media control UI
266
266
  */
267
267
  disable() {
268
+ trace(`${T} disable`);
268
269
  this.userDisabled = true;
269
270
  this.hide();
270
271
  this.unbindKeyEvents();
@@ -274,6 +275,7 @@ export class MediaControl extends UICorePlugin {
274
275
  * Reenables the plugin disabled earlier with the {@link MediaControl.disable} method
275
276
  */
276
277
  enable() {
278
+ trace(`${T} enable`);
277
279
  if (this.options.chromeless) {
278
280
  return;
279
281
  }
@@ -951,13 +953,13 @@ export class MediaControl extends UICorePlugin {
951
953
  destroy() {
952
954
  $(document).unbind('mouseup', this.stopDrag);
953
955
  $(document).unbind('mousemove', this.updateDrag);
956
+ $(document).unbind('touchend', this.stopDrag);
957
+ $(document).unbind('touchmove', this.updateDrag);
954
958
  this.unbindKeyEvents();
955
- // @ts-ignore
956
- this.stopListening();
957
959
  return super.destroy();
958
960
  }
959
961
  configure() {
960
- this.advertisementPlaying ? this.disable() : this.enable();
962
+ // this.advertisementPlaying ? this.disable() : this.enable()
961
963
  this.trigger(Events.MEDIACONTROL_OPTIONS_CHANGE);
962
964
  }
963
965
  /**
@@ -9,6 +9,7 @@ type MediaSourceInfo = {
9
9
  };
10
10
  /**
11
11
  * The plugin adds support for loading multiple streams and switching between them using the media control UI.
12
+ * @beta
12
13
  */
13
14
  export declare class MultiCamera extends UICorePlugin {
14
15
  private currentCamera;
@@ -1 +1 @@
1
- {"version":3,"file":"MultiCamera.d.ts","sourceRoot":"","sources":["../../../src/plugins/multi-camera/MultiCamera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,IAAI,EAA8B,YAAY,EAAE,MAAM,cAAc,CAAC;AAMvF,OAAO,yCAAyC,CAAC;AASjD,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,OAAO,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAA;AAMD;;GAEG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,aAAa,CAAgC;IAErD,OAAO,CAAC,WAAW,CAAa;IAEhC,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,WAAW,CAAyB;IAE5C,OAAO,CAAC,eAAe,CAAS;IAEhC,IAAI,IAAI,WAEP;IAED,IAAI,gBAAgB;;MAEnB;IAED,MAAM,KAAK,OAAO,WAEjB;IAED,IAAI,QAAQ,QAEX;IAED,IAAa,UAAU;;;MAKtB;IAED,IAAa,MAAM;;;MAKlB;gBAEW,IAAI,EAAE,IAAI;IAYb,UAAU;IAOnB,YAAY;IAaZ,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,YAAY;IAYX,MAAM;IAwEf,OAAO,CAAC,cAAc;IAUtB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IA8BtC,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,UAAU;IA4ClB,cAAc;IAId,gBAAgB;IAIhB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,qBAAqB;CAK9B"}
1
+ {"version":3,"file":"MultiCamera.d.ts","sourceRoot":"","sources":["../../../src/plugins/multi-camera/MultiCamera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,IAAI,EAA8B,YAAY,EAAE,MAAM,cAAc,CAAC;AAMvF,OAAO,yCAAyC,CAAC;AASjD,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,OAAO,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAA;AAMD;;;GAGG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,aAAa,CAAgC;IAErD,OAAO,CAAC,WAAW,CAAa;IAEhC,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,WAAW,CAAyB;IAE5C,OAAO,CAAC,eAAe,CAAS;IAEhC,IAAI,IAAI,WAEP;IAED,IAAI,gBAAgB;;MAEnB;IAED,MAAM,KAAK,OAAO,WAEjB;IAED,IAAI,QAAQ,QAEX;IAED,IAAa,UAAU;;;MAKtB;IAED,IAAa,MAAM;;;MAKlB;gBAEW,IAAI,EAAE,IAAI;IAYb,UAAU;IAOnB,YAAY;IAaZ,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,YAAY;IAYX,MAAM;IAwEf,OAAO,CAAC,cAAc;IAUtB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IA8BtC,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,SAAS;IAmBjB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,UAAU;IA4ClB,cAAc;IAId,gBAAgB;IAIhB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,qBAAqB;CAK9B"}
@@ -7,9 +7,10 @@ import streamsIcon from '../../../assets/icons/old/streams.svg';
7
7
  import streamsMomentoIcon from '../../../assets/icons/old/language.svg';
8
8
  import streamsWhiteNightsIcon from '../../../assets/icons/old/wn.svg';
9
9
  const VERSION = '0.0.1';
10
- const T = 'plugins.media_control_multicamera';
10
+ const T = 'plugins.multicamera';
11
11
  /**
12
12
  * The plugin adds support for loading multiple streams and switching between them using the media control UI.
13
+ * @beta
13
14
  */
14
15
  export class MultiCamera extends UICorePlugin {
15
16
  currentCamera = null;
@@ -18,7 +19,7 @@ export class MultiCamera extends UICorePlugin {
18
19
  multicamera = [];
19
20
  noActiveStreams = false;
20
21
  get name() {
21
- return 'media_control_multicamera';
22
+ return 'multicamera';
22
23
  }
23
24
  get supportedVersion() {
24
25
  return { min: CLAPPR_VERSION };
@@ -261,13 +262,12 @@ export class MultiCamera extends UICorePlugin {
261
262
  catch (error) {
262
263
  reportError(error);
263
264
  }
264
- // TODO figure out
265
- this.core.getPlugin('error_gplayer')?.show({
265
+ // TODO trigger error instead
266
+ this.core.getPlugin('error_screen')?.show({
266
267
  title: this.core.i18n.t('source_offline'),
267
268
  message: '',
268
269
  code: '',
269
270
  icon: '',
270
- reloadIcon: '',
271
271
  });
272
272
  }
273
273
  hideError() {
@@ -55,7 +55,7 @@ export class Poster extends UIContainerPlugin {
55
55
  }
56
56
  static template = template(posterHTML);
57
57
  get shouldRender() {
58
- if (!this.enabled) {
58
+ if (!this.enabled || this.options.reloading) {
59
59
  return false;
60
60
  }
61
61
  const showForNoOp = !!this.options.poster?.showForNoOp;
@@ -12,7 +12,7 @@ const { formatTime } = Utils;
12
12
  */
13
13
  export class SeekTime extends UICorePlugin {
14
14
  get name() {
15
- return 'media_control_seek_time';
15
+ return 'seek_time';
16
16
  }
17
17
  get supportedVersion() {
18
18
  return { min: CLAPPR_VERSION };
@@ -13,7 +13,7 @@ export class Share extends UICorePlugin {
13
13
  hide = false;
14
14
  container = null;
15
15
  get name() {
16
- return 'media_control_share';
16
+ return 'share';
17
17
  }
18
18
  get supportedVersion() {
19
19
  return { min: CLAPPR_VERSION };
@@ -37,7 +37,8 @@ export declare class SourceController extends CorePlugin {
37
37
  * @internal
38
38
  */
39
39
  bindEvents(): void;
40
- private onReady;
40
+ private onCoreReady;
41
+ private onActiveContainerChanged;
41
42
  private bindContainerEventListeners;
42
43
  private reset;
43
44
  private retryPlayback;
@@ -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;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
+ {"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;AAwBrB;;;;;;;;;;;;;;;;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;IAWnB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,2BAA2B;IAsCnC,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,aAAa;IA2BrB,OAAO,CAAC,kBAAkB;IAe1B;;OAEG;IACH,MAAM,KAAK,OAAO,WAEjB;CACF"}