multi_embed_player 3.0.1 → 3.1.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.
@@ -1,76 +1,40 @@
1
- import { YouTubeContent, IPlayer, PlayerState, EventHandler } from '../types';
2
- declare global {
3
- interface Window {
4
- YT: {
5
- Player: new (element: string | HTMLElement, config: YTPlayerConfig) => YTPlayer;
6
- ready: (callback: () => void) => void;
7
- };
8
- }
9
- }
10
- interface YTPlayerConfig {
11
- height: string;
12
- width: string;
1
+ declare var YT: any;
2
+ interface MepYoutubeLoadObject {
13
3
  videoId: string;
14
- playerVars: Record<string, any>;
15
- host: string;
16
- events: {
17
- onReady: () => void;
18
- onError: (event: {
19
- data: number;
20
- }) => void;
21
- onStateChange: () => void;
22
- };
4
+ startSeconds?: number;
5
+ endSeconds?: number;
23
6
  }
24
- interface YTPlayer {
25
- playVideo(): void;
26
- pauseVideo(): void;
27
- getCurrentTime(): number;
28
- getDuration(): number;
29
- seekTo(seconds: number, allowSeekAhead?: boolean): void;
30
- setVolume(volume: number): void;
31
- getVolume(): number;
32
- mute(): void;
33
- unMute(): void;
34
- isMuted(): boolean;
35
- getPlayerState(): number;
36
- loadVideoById(videoId: string, startSeconds?: number, suggestedQuality?: string): void;
37
- cueVideoById(videoId: string, startSeconds?: number, suggestedQuality?: string): void;
7
+ interface MepYoutubePlayerVars {
8
+ autoplay?: number;
9
+ startSeconds?: number;
10
+ endSeconds?: number;
11
+ }
12
+ interface MepYoutubeContent {
13
+ videoId: string;
14
+ playerVars?: MepYoutubePlayerVars;
15
+ width?: number;
16
+ height?: number;
38
17
  }
39
18
  /**
40
19
  * Class representing a YouTube player.
41
20
  */
42
- export declare class mep_youtube implements IPlayer {
43
- private static youtube_api_loaded;
44
- private static youtube_api_promise;
45
- private player;
46
- private YT_player;
47
- private autoplay;
48
- private startSeconds;
49
- private endSeconds;
50
- private el;
51
- /**
52
- * Load YouTube Iframe API asynchronously.
53
- */
54
- private load_youtube_api;
21
+ declare class mep_youtube {
22
+ #private;
23
+ static youtube_api_loaded: number;
24
+ static youtube_api_promise: (() => void)[];
25
+ player: HTMLElement;
26
+ autoplay: number;
27
+ startSeconds: number;
28
+ endSeconds: number;
29
+ el: HTMLElement;
30
+ YT_player: any;
55
31
  /**
56
32
  * Create a new YouTube player instance.
57
33
  */
58
- constructor(replacing_element: string | HTMLElement, content: YouTubeContent, player_set_event_function?: EventHandler);
59
- /**
60
- * Load the YouTube player.
61
- */
62
- private load;
63
- /**
64
- * Handle error events from the player.
65
- */
66
- private error_event_handler;
34
+ constructor(replacing_element: string | HTMLElement, content: MepYoutubeContent, player_set_event_function?: (player: HTMLElement) => void);
67
35
  /**
68
- * Dispatch event to the player element.
69
- */
70
- private dispatch_event;
71
- /**
72
- * Play the video.
73
- */
36
+ * Play the video.
37
+ */
74
38
  playVideo(): void;
75
39
  /**
76
40
  * Pause the video.
@@ -101,8 +65,8 @@ export declare class mep_youtube implements IPlayer {
101
65
  */
102
66
  mute(): void;
103
67
  /**
104
- * Unmute the player.
105
- */
68
+ * Unmute the player.
69
+ */
106
70
  unMute(): void;
107
71
  /**
108
72
  * Check if the player is muted.
@@ -115,7 +79,7 @@ export declare class mep_youtube implements IPlayer {
115
79
  /**
116
80
  * Get the current state of the player.
117
81
  */
118
- getPlayerState(): PlayerState;
82
+ getPlayerState(): number;
119
83
  /**
120
84
  * Get the title of the currently loaded video.
121
85
  */
@@ -123,11 +87,10 @@ export declare class mep_youtube implements IPlayer {
123
87
  /**
124
88
  * Load a new video by ID.
125
89
  */
126
- loadVideoById(content: YouTubeContent, startSeconds?: number): void;
90
+ loadVideoById(content: MepYoutubeLoadObject | string, startSeconds?: number): void;
127
91
  /**
128
92
  * Cue a new video by ID.
129
93
  */
130
- cueVideoById(content: YouTubeContent, startSeconds?: number): void;
94
+ cueVideoById(content: MepYoutubeLoadObject | string, startSeconds?: number): void;
131
95
  }
132
- export {};
133
96
  //# sourceMappingURL=youtube.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"youtube.d.ts","sourceRoot":"","sources":["../../iframe_api/youtube.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"youtube.d.ts","sourceRoot":"","sources":["../../iframe_api/youtube.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC;AAMpB,UAAU,oBAAoB;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,oBAAoB;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,iBAAiB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,cAAM,WAAW;;IACb,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAK;IACtC,MAAM,CAAC,mBAAmB,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAM;IAEhD,MAAM,EAAE,WAAW,CAAiC;IACpD,QAAQ,EAAE,MAAM,CAAK;IACrB,YAAY,EAAE,MAAM,CAAK;IACzB,UAAU,EAAE,MAAM,CAAM;IACxB,EAAE,EAAE,WAAW,CAAiC;IAChD,SAAS,EAAE,GAAG,CAAC;IAyBf;;OAEG;gBACS,iBAAiB,EAAE,MAAM,GAAG,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI;IAgFzI;;MAEE;IACH,SAAS;IAIT;;OAEG;IACH,UAAU;IAIV;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,eAAe,IAAI,MAAM;IASzB;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAa1B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAS/B;;OAEG;IACH,IAAI;IAIH;;MAEE;IACH,MAAM;IAIN;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,cAAc,IAAI,MAAM;IAuBxB;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IASlF;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;CAoBpF"}
@@ -1,142 +1,29 @@
1
- import { PlayerState, ErrorCode } from '../types';
1
+ "use strict";
2
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
+ };
7
+ var _mep_youtube_instances, _mep_youtube_load_youtube_api, _mep_youtube_load, _mep_youtube_error_event_handler, _mep_youtube_dispatchEvent;
2
8
  /**
3
9
  * Class representing a YouTube player.
4
10
  */
5
- export class mep_youtube {
6
- /**
7
- * Load YouTube Iframe API asynchronously.
8
- */
9
- async load_youtube_api() {
10
- return new Promise((resolve) => {
11
- if (mep_youtube.youtube_api_loaded === 0) {
12
- mep_youtube.youtube_api_loaded = 1;
13
- const script_doc = document.createElement("script");
14
- script_doc.src = "https://www.youtube.com/iframe_api";
15
- script_doc.addEventListener("load", () => {
16
- window.YT.ready(() => {
17
- mep_youtube.youtube_api_promise.forEach(func => func());
18
- mep_youtube.youtube_api_loaded = 2;
19
- resolve();
20
- });
21
- });
22
- document.body.appendChild(script_doc);
23
- }
24
- else if (mep_youtube.youtube_api_loaded === 1) {
25
- mep_youtube.youtube_api_promise.push(resolve);
26
- }
27
- else {
28
- resolve();
29
- }
30
- });
31
- }
11
+ class mep_youtube {
32
12
  /**
33
13
  * Create a new YouTube player instance.
34
14
  */
35
15
  constructor(replacing_element, content, player_set_event_function) {
16
+ _mep_youtube_instances.add(this);
17
+ this.player = document.createElement("div");
36
18
  this.autoplay = 0;
37
19
  this.startSeconds = 0;
38
20
  this.endSeconds = -1;
39
- this.load(replacing_element, content, player_set_event_function);
40
- }
41
- /**
42
- * Load the YouTube player.
43
- */
44
- async load(replacing_element, content, player_set_event_function) {
45
- this.player = document.createElement("div"); // dummy
46
- if (typeof player_set_event_function === "function") {
47
- player_set_event_function();
48
- }
49
- await this.load_youtube_api();
50
- let iframe_replace_node;
51
- if (typeof replacing_element === "string") {
52
- const element = document.getElementById(replacing_element);
53
- if (!element) {
54
- throw new Error(`Element with id "${replacing_element}" not found`);
55
- }
56
- iframe_replace_node = element;
57
- }
58
- else {
59
- iframe_replace_node = replacing_element;
60
- }
61
- const playerVars = content.playerVars || {};
62
- const player_vars_pass_over = {};
63
- this.autoplay = 0;
64
- if (playerVars.autoplay) {
65
- this.autoplay = 1;
66
- player_vars_pass_over.autoplay = 1;
67
- }
68
- else {
69
- player_vars_pass_over.autoplay = 0;
70
- }
71
- this.startSeconds = 0;
72
- this.endSeconds = -1;
73
- if (playerVars.startSeconds) {
74
- this.startSeconds = playerVars.startSeconds;
75
- player_vars_pass_over.start = playerVars.startSeconds;
76
- }
77
- if (playerVars.endSeconds) {
78
- this.endSeconds = playerVars.endSeconds;
79
- player_vars_pass_over.end = playerVars.endSeconds;
80
- }
81
- this.el = iframe_replace_node;
82
- this.YT_player = new window.YT.Player(iframe_replace_node, {
83
- height: "315",
84
- width: "560",
85
- videoId: content.videoId,
86
- playerVars: player_vars_pass_over,
87
- host: "https://www.youtube-nocookie.com",
88
- events: {
89
- onReady: () => {
90
- this.dispatch_event(new Event("onReady"));
91
- },
92
- onError: (e) => {
93
- this.error_event_handler(e);
94
- },
95
- onStateChange: () => {
96
- this.dispatch_event(new CustomEvent("onStateChange", { detail: this.getPlayerState() }));
97
- if (this.getPlayerState() === PlayerState.ENDED) {
98
- this.dispatch_event(new Event("onEndVideo"));
99
- }
100
- }
101
- }
102
- });
103
- if (!this.autoplay) {
104
- this.player.addEventListener("onReady", () => {
105
- this.pauseVideo();
106
- }, { once: true });
107
- }
108
- }
109
- /**
110
- * Handle error events from the player.
111
- */
112
- error_event_handler(event) {
113
- let code = 520;
114
- switch (event.data) {
115
- case 2:
116
- code = ErrorCode.INVALID_PARAMETER;
117
- break;
118
- case 5:
119
- code = ErrorCode.HTML5_ERROR;
120
- break;
121
- case 100:
122
- code = ErrorCode.VIDEO_NOT_FOUND;
123
- break;
124
- case 101:
125
- case 150:
126
- code = ErrorCode.EMBED_NOT_ALLOWED;
127
- break;
128
- }
129
- this.player.dispatchEvent(new CustomEvent("onError", { detail: { code } }));
21
+ this.el = document.createElement("div");
22
+ __classPrivateFieldGet(this, _mep_youtube_instances, "m", _mep_youtube_load).call(this, replacing_element, content, player_set_event_function);
130
23
  }
131
24
  /**
132
- * Dispatch event to the player element.
133
- */
134
- dispatch_event(event) {
135
- this.player.dispatchEvent(event);
136
- }
137
- /**
138
- * Play the video.
139
- */
25
+ * Play the video.
26
+ */
140
27
  playVideo() {
141
28
  this.YT_player.playVideo();
142
29
  }
@@ -173,7 +60,7 @@ export class mep_youtube {
173
60
  * Seek to a specific time in the video.
174
61
  */
175
62
  seekTo(time) {
176
- // try to time as number
63
+ //try to time as number
177
64
  time = Number(time);
178
65
  if (isNaN(time)) {
179
66
  console.error("time is not a number(Nan error)");
@@ -202,8 +89,8 @@ export class mep_youtube {
202
89
  this.YT_player.mute();
203
90
  }
204
91
  /**
205
- * Unmute the player.
206
- */
92
+ * Unmute the player.
93
+ */
207
94
  unMute() {
208
95
  this.YT_player.unMute();
209
96
  }
@@ -225,24 +112,24 @@ export class mep_youtube {
225
112
  getPlayerState() {
226
113
  let nowstatus = this.YT_player.getPlayerState();
227
114
  if ((this.getCurrentTime() > this.getDuration() - 1 && this.getCurrentTime() != 0 && this.getDuration() != 0) || (this.endSeconds != -1 && this.endSeconds - 1 <= this.getCurrentTime())) {
228
- return PlayerState.ENDED;
115
+ return 4;
229
116
  }
230
117
  else if (nowstatus == -1) {
231
- return PlayerState.UNSTARTED;
118
+ return 0;
232
119
  }
233
120
  else if (nowstatus == 0) {
234
- return PlayerState.ENDED;
121
+ return 4;
235
122
  }
236
123
  else if (nowstatus == 1) {
237
- return PlayerState.PLAYING;
124
+ return 2;
238
125
  }
239
126
  else if (nowstatus == 2) {
240
- return PlayerState.PAUSED;
127
+ return 3;
241
128
  }
242
129
  else if (nowstatus == 3 || nowstatus == 5) {
243
- return PlayerState.BUFFERING;
130
+ return 1;
244
131
  }
245
- return PlayerState.UNSTARTED;
132
+ return 0;
246
133
  }
247
134
  /**
248
135
  * Get the title of the currently loaded video.
@@ -255,7 +142,7 @@ export class mep_youtube {
255
142
  */
256
143
  loadVideoById(content, startSeconds) {
257
144
  if (typeof content === "object") {
258
- this.YT_player.loadVideoById(content.videoId, startSeconds);
145
+ this.YT_player.loadVideoById(content);
259
146
  }
260
147
  else {
261
148
  this.YT_player.loadVideoById(content, startSeconds);
@@ -266,13 +153,117 @@ export class mep_youtube {
266
153
  */
267
154
  cueVideoById(content, startSeconds) {
268
155
  if (typeof content === "object") {
269
- this.YT_player.cueVideoById(content.videoId, startSeconds);
156
+ this.YT_player.cueVideoById(content);
270
157
  }
271
158
  else {
272
159
  this.YT_player.cueVideoById(content, startSeconds);
273
160
  }
274
161
  }
275
162
  }
163
+ _mep_youtube_instances = new WeakSet(), _mep_youtube_load_youtube_api =
164
+ /**
165
+ * Load YouTube Iframe API asynchronously.
166
+ * @returns {Promise} Promise that resolves when the API is loaded.
167
+ */
168
+ async function _mep_youtube_load_youtube_api() {
169
+ return new Promise(async (resolve, reject) => {
170
+ if (window.mep_youtube.youtube_api_loaded === 0) {
171
+ window.mep_youtube.youtube_api_loaded = 1;
172
+ const script_doc = document.createElement("script");
173
+ script_doc.src = "https://www.youtube.com/iframe_api";
174
+ //script_doc.addEventListener("error",this.#dispatchEvent(new CustomEvent("onError",{detail:{code:1001}})));
175
+ script_doc.addEventListener("load", () => { YT.ready(() => { window.mep_youtube.youtube_api_promise.forEach((func) => func()); window.mep_youtube.youtube_api_loaded = 2; resolve(); }); });
176
+ document.body.appendChild(script_doc);
177
+ }
178
+ else if (window.mep_youtube.youtube_api_loaded == 1) {
179
+ window.mep_youtube.youtube_api_promise.push(resolve);
180
+ }
181
+ else {
182
+ resolve();
183
+ }
184
+ });
185
+ }, _mep_youtube_load =
186
+ /**
187
+ * Load the YouTube player.
188
+ */
189
+ async function _mep_youtube_load(replacing_element, content, player_set_event_function) {
190
+ this.player = document.createElement("div"); //dummy
191
+ if (typeof player_set_event_function === "function") {
192
+ player_set_event_function(this.player);
193
+ }
194
+ await __classPrivateFieldGet(this, _mep_youtube_instances, "m", _mep_youtube_load_youtube_api).call(this);
195
+ let iframe_replace_node = null;
196
+ if (typeof replacing_element === "string") {
197
+ iframe_replace_node = document.getElementById(replacing_element);
198
+ }
199
+ else {
200
+ iframe_replace_node = replacing_element;
201
+ }
202
+ const playerVars = content.playerVars || {};
203
+ let playerVars_pass_over = {};
204
+ if (playerVars.autoplay) {
205
+ this.autoplay = 1;
206
+ playerVars_pass_over.autoplay = 1;
207
+ }
208
+ else {
209
+ playerVars_pass_over.autoplay = 0;
210
+ }
211
+ if (playerVars.startSeconds) {
212
+ this.startSeconds = playerVars.startSeconds;
213
+ playerVars_pass_over.start = playerVars.startSeconds;
214
+ }
215
+ if (playerVars.endSeconds) {
216
+ this.endSeconds = playerVars.endSeconds;
217
+ playerVars_pass_over.end = playerVars.endSeconds;
218
+ }
219
+ if (iframe_replace_node) {
220
+ this.el = iframe_replace_node;
221
+ this.YT_player = new YT.Player(iframe_replace_node, {
222
+ height: "315",
223
+ width: "560",
224
+ videoId: content.videoId,
225
+ playerVars: playerVars_pass_over,
226
+ host: "https://www.youtube-nocookie.com",
227
+ events: {
228
+ "onReady": () => { __classPrivateFieldGet(this, _mep_youtube_instances, "m", _mep_youtube_dispatchEvent).call(this, new Event("onReady")); },
229
+ "onError": (e) => { __classPrivateFieldGet(this, _mep_youtube_instances, "m", _mep_youtube_error_event_handler).call(this, e); },
230
+ "onStateChange": () => { __classPrivateFieldGet(this, _mep_youtube_instances, "m", _mep_youtube_dispatchEvent).call(this, new CustomEvent("onStateChange", { detail: this.getPlayerState() })); if (this.getPlayerState() == 4) {
231
+ __classPrivateFieldGet(this, _mep_youtube_instances, "m", _mep_youtube_dispatchEvent).call(this, new Event("onEndVideo"));
232
+ } }
233
+ }
234
+ });
235
+ if (!this.autoplay) {
236
+ this.player.addEventListener("onReady", () => { this.pauseVideo(); }, { once: true });
237
+ }
238
+ }
239
+ }, _mep_youtube_error_event_handler = function _mep_youtube_error_event_handler(event) {
240
+ //change status code to mep error code
241
+ let code = 520;
242
+ switch (event.data) {
243
+ case 2:
244
+ code = 401;
245
+ break;
246
+ case 5:
247
+ code = 500;
248
+ break;
249
+ case 100:
250
+ code = 404;
251
+ break;
252
+ case 101:
253
+ case 150:
254
+ code = 403;
255
+ break;
256
+ }
257
+ this.player.dispatchEvent(new CustomEvent("onError", { detail: { code: code } }));
258
+ }, _mep_youtube_dispatchEvent = function _mep_youtube_dispatchEvent(event) {
259
+ try {
260
+ this.player.dispatchEvent(event);
261
+ }
262
+ catch (e) {
263
+ console.error(e);
264
+ }
265
+ };
276
266
  mep_youtube.youtube_api_loaded = 0;
277
267
  mep_youtube.youtube_api_promise = [];
268
+ window.mep_youtube = mep_youtube;
278
269
  //# sourceMappingURL=youtube.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"youtube.js","sourceRoot":"","sources":["../../iframe_api/youtube.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,WAAW,EAAE,SAAS,EAAgB,MAAM,UAAU,CAAC;AAyC5G;;GAEG;AACH,MAAM,OAAO,WAAW;IAWtB;;OAEG;IACK,KAAK,CAAC,gBAAgB;QAC5B,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,WAAW,CAAC,kBAAkB,KAAK,CAAC,EAAE,CAAC;gBACzC,WAAW,CAAC,kBAAkB,GAAG,CAAC,CAAC;gBACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACpD,UAAU,CAAC,GAAG,GAAG,oCAAoC,CAAC;gBACtD,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;oBACvC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;wBACnB,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;wBACxD,WAAW,CAAC,kBAAkB,GAAG,CAAC,CAAC;wBACnC,OAAO,EAAE,CAAC;oBACZ,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACxC,CAAC;iBAAM,IAAI,WAAW,CAAC,kBAAkB,KAAK,CAAC,EAAE,CAAC;gBAChD,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,YACE,iBAAuC,EACvC,OAAuB,EACvB,yBAAwC;QApClC,aAAQ,GAAW,CAAC,CAAC;QACrB,iBAAY,GAAW,CAAC,CAAC;QACzB,eAAU,GAAW,CAAC,CAAC,CAAC;QAoC9B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,yBAAyB,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,IAAI,CAChB,iBAAuC,EACvC,OAAuB,EACvB,yBAAwC;QAExC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;QACrD,IAAI,OAAO,yBAAyB,KAAK,UAAU,EAAE,CAAC;YACpD,yBAAyB,EAAE,CAAC;QAC9B,CAAC;QAED,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE9B,IAAI,mBAAgC,CAAC;QACrC,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;YAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,oBAAoB,iBAAiB,aAAa,CAAC,CAAC;YACtE,CAAC;YACD,mBAAmB,GAAG,OAAO,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,mBAAmB,GAAG,iBAAiB,CAAC;QAC1C,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;QAC5C,MAAM,qBAAqB,GAAwB,EAAE,CAAC;QAEtD,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;YAClB,qBAAqB,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,qBAAqB,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAErB,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;YAC5C,qBAAqB,CAAC,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC;QACxD,CAAC;QAED,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;YACxC,qBAAqB,CAAC,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,EAAE,GAAG,mBAAmB,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,mBAAmB,EAAE;YACzD,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,UAAU,EAAE,qBAAqB;YACjC,IAAI,EAAE,kCAAkC;YACxC,MAAM,EAAE;gBACN,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC5C,CAAC;gBACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBACb,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;gBAC9B,CAAC;gBACD,aAAa,EAAE,GAAG,EAAE;oBAClB,IAAI,CAAC,cAAc,CAAC,IAAI,WAAW,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC;oBACzF,IAAI,IAAI,CAAC,cAAc,EAAE,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC;wBAChD,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;oBAC/C,CAAC;gBACH,CAAC;aACF;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE;gBAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,KAAuB;QACjD,IAAI,IAAI,GAAG,GAAG,CAAC;QACf,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,CAAC;gBACJ,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC;gBACnC,MAAM;YACR,KAAK,CAAC;gBACJ,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC;gBAC7B,MAAM;YACR,KAAK,GAAG;gBACN,IAAI,GAAG,SAAS,CAAC,eAAe,CAAC;gBACjC,MAAM;YACR,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACN,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC;gBACnC,MAAM;QACV,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,KAA0B;QAC/C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,SAAS;QACP,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,eAAe;QACb,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAY;QACjB,wBAAwB;QACxB,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACb,IAAI,GAAG,CAAC,CAAC;QACX,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAc;QACtB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YAC/D,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC;YACzL,OAAO,WAAW,CAAC,KAAK,CAAC;QAC3B,CAAC;aAAM,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC;YAC3B,OAAO,WAAW,CAAC,SAAS,CAAC;QAC/B,CAAC;aAAM,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,WAAW,CAAC,KAAK,CAAC;QAC3B,CAAC;aAAM,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,WAAW,CAAC,OAAO,CAAC;QAC7B,CAAC;aAAM,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,WAAW,CAAC,MAAM,CAAC;QAC5B,CAAC;aAAM,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YAC5C,OAAO,WAAW,CAAC,SAAS,CAAC;QAC/B,CAAC;QACD,OAAO,WAAW,CAAC,SAAS,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAQ,IAAI,CAAC,SAAiB,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,OAAuB,EAAE,YAAqB;QAC1D,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAc,EAAE,YAAY,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,OAAuB,EAAE,YAAqB;QACzD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,OAAc,EAAE,YAAY,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;;AA1Sc,8BAAkB,GAAW,CAAC,AAAZ,CAAa;AAC/B,+BAAmB,GAAsB,EAAE,AAAxB,CAAyB"}
1
+ {"version":3,"file":"youtube.js","sourceRoot":"","sources":["../../iframe_api/youtube.ts"],"names":[],"mappings":"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"}