@banou/stub 0.0.19 → 0.0.21

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 (67) hide show
  1. package/build/.well-known/fkn.json +1 -1
  2. package/build/assets/embed-VjpeLPHx.js +1461 -0
  3. package/build/assets/index-Cq0deG16.js +1964 -0
  4. package/build/assets/lib-DHuurgWT.js +71 -0
  5. package/build/assets/{lib-account-BuVN6Bsx.js → lib-account-B_rZrj_U.js} +1 -1
  6. package/build/assets/lib-account-ZA7I4UZl.js +2 -0
  7. package/build/assets/lib-api-0oE17Lze.js +2 -0
  8. package/build/assets/{lib-build-DEOZ3A7n.js → lib-api-DLvscoll-INenJIDp.js} +863 -556
  9. package/build/assets/lib-worker-B7p9HUJX.js +2 -0
  10. package/build/assets/lib-worker-C6VkH7Kf.js +9006 -0
  11. package/build/assets/lib-worker-index-DCktGn3b.js +1964 -0
  12. package/build/assets/main-DZ0Ws1xk.css +1 -0
  13. package/build/assets/main-JLaHac0l.js +3844 -0
  14. package/build/assets/uri-CY1i0hlC.js +1 -0
  15. package/build/assets/worker-CaEIruuB.js +1 -0
  16. package/build/assets/worker-juGKbgx7.js +1 -0
  17. package/build/embed.html +4 -8
  18. package/build/fkn.json +1 -1
  19. package/build/index.html +5 -8
  20. package/build/index.js +23838 -35935
  21. package/fkn.json +1 -1
  22. package/package.json +6 -3
  23. package/build/assets/Preview-DG9nqCV0.js +0 -1
  24. package/build/assets/compat-CusyxzKh.js +0 -1
  25. package/build/assets/custom-media-element-BDICDseJ.js +0 -43
  26. package/build/assets/dash.all.min-Dbg8AB-J.js +0 -19
  27. package/build/assets/dist-BgIerfpp.js +0 -3136
  28. package/build/assets/dist-BrpV89uJ.js +0 -1
  29. package/build/assets/dist-D-OKiX-f.js +0 -1
  30. package/build/assets/dist-D_XB-JLn.js +0 -40
  31. package/build/assets/embed-DBjG5JMH.js +0 -1
  32. package/build/assets/index-BHgdalnH.js +0 -1401
  33. package/build/assets/lib-Preview-B6uZKyhl.js +0 -82
  34. package/build/assets/lib-account-Cw8yCZtf.js +0 -2
  35. package/build/assets/lib-api-DLvscoll-DhlBp9Wz.js +0 -312
  36. package/build/assets/lib-api-DVwR-22s.js +0 -2
  37. package/build/assets/lib-compat-D8G4_Lzi.js +0 -860
  38. package/build/assets/lib-custom-media-element-CnANKrGl.js +0 -217
  39. package/build/assets/lib-dash.all.min-CDvdorbj.js +0 -27251
  40. package/build/assets/lib-dist-Dv8d3Kr0.js +0 -7
  41. package/build/assets/lib-dist-S8Gxnnq-.js +0 -12468
  42. package/build/assets/lib-dist-T0QlKbbk.js +0 -18578
  43. package/build/assets/lib-dist-xBHT3Lfz.js +0 -911
  44. package/build/assets/lib-react-BEg4mBBK.js +0 -112
  45. package/build/assets/lib-react-C0OCUIWX.js +0 -434
  46. package/build/assets/lib-react-CAkOlDha.js +0 -367
  47. package/build/assets/lib-react-CGlZXIjl.js +0 -2187
  48. package/build/assets/lib-react-CLVoi_ZM.js +0 -334
  49. package/build/assets/lib-react-DUxKSzCt.js +0 -311
  50. package/build/assets/lib-react-QvmpnEVK.js +0 -334
  51. package/build/assets/lib-react-WTnxAo6F.js +0 -202
  52. package/build/assets/lib-remote-DeY2A2G7.js +0 -416
  53. package/build/assets/lib-remote-DxEZmpd0.js +0 -2
  54. package/build/assets/lib-worker-index-C7ynIZYg.js +0 -1401
  55. package/build/assets/main-q4eQ72Te.js +0 -3349
  56. package/build/assets/players-BIbP12aF.js +0 -1530
  57. package/build/assets/preload-helper-D2XUqLHy.js +0 -1
  58. package/build/assets/react-BDr8Ag8b.js +0 -19
  59. package/build/assets/react-BTju4bmn.js +0 -22
  60. package/build/assets/react-CLMfdUXR.js +0 -2
  61. package/build/assets/react-CjmRCHoG.js +0 -34
  62. package/build/assets/react-Cs34a503.js +0 -19
  63. package/build/assets/react-DKSDz1wJ.js +0 -6
  64. package/build/assets/react-bkM_mQGd.js +0 -17
  65. package/build/assets/react-kPj0f67l.js +0 -21
  66. package/build/assets/rolldown-runtime-CNC7AqOf.js +0 -1
  67. /package/build/assets/{players-3a7RYKgR.css → embed-3a7RYKgR.css} +0 -0
@@ -1,112 +0,0 @@
1
- import { f as e, i as t } from "./lib-compat-D8G4_Lzi.js";
2
- import { t as n } from "./lib-custom-media-element-CnANKrGl.js";
3
- //#region node_modules/dash-video-element/dist/dash-video-element.js
4
- e();
5
- var r = class extends n {
6
- static shadowRootOptions = { ...n.shadowRootOptions };
7
- static getTemplateHTML = (e) => {
8
- let { src: t, ...r } = e;
9
- return n.getTemplateHTML(r);
10
- };
11
- #e;
12
- attributeChangedCallback(e, t, n) {
13
- e !== "src" && super.attributeChangedCallback(e, t, n), e === "src" && t != n && this.load();
14
- }
15
- async load() {
16
- if (this.#e) this.api.attachSource(this.src);
17
- else {
18
- this.#e = !0;
19
- let e = await import("./lib-dash.all.min-CDvdorbj.js");
20
- this.api = e.MediaPlayer().create(), this.api.initialize(this.nativeEl, this.src, this.autoplay);
21
- }
22
- }
23
- };
24
- globalThis.customElements && !globalThis.customElements.get("dash-video") && globalThis.customElements.define("dash-video", r);
25
- var i = r, a = /* @__PURE__ */ new Set([
26
- "style",
27
- "children",
28
- "ref",
29
- "key",
30
- "suppressContentEditableWarning",
31
- "suppressHydrationWarning",
32
- "dangerouslySetInnerHTML"
33
- ]), o = {
34
- className: "class",
35
- htmlFor: "for"
36
- };
37
- function s(e) {
38
- return e.toLowerCase();
39
- }
40
- function c(e) {
41
- if (typeof e == "boolean") return e ? "" : void 0;
42
- if (typeof e != "function" && !(typeof e == "object" && e)) return e;
43
- }
44
- function l({ react: e, tagName: t, elementClass: n, events: r, displayName: i, defaultProps: l, toAttributeName: d = s, toAttributeValue: f = c }) {
45
- let p = Number.parseInt(e.version) >= 19, m = e.forwardRef((i, s) => {
46
- let m = e.useRef(null), h = e.useRef(/* @__PURE__ */ new Map()), g = {}, _ = {}, v = {}, y = {};
47
- for (let [e, t] of Object.entries(i)) {
48
- if (a.has(e)) {
49
- v[e] = t;
50
- continue;
51
- }
52
- let r = d(o[e] ?? e);
53
- if (e in n.prototype && !(e in (globalThis.HTMLElement?.prototype ?? {})) && !n.observedAttributes?.some((e) => e === r)) {
54
- y[e] = t;
55
- continue;
56
- }
57
- if (e.startsWith("on")) {
58
- g[e] = t;
59
- continue;
60
- }
61
- let i = f(t);
62
- r && i != null && (_[r] = String(i), p || (v[r] = i)), r && p && (i === c(t) ? v[r] = t : v[r] = i);
63
- }
64
- if (typeof window < "u") {
65
- for (let t in g) {
66
- let n = g[t], i = t.endsWith("Capture"), a = (r?.[t] ?? t.slice(2).toLowerCase()).slice(0, i ? -7 : void 0);
67
- e.useLayoutEffect(() => {
68
- let e = m?.current;
69
- if (!(!e || typeof n != "function")) return e.addEventListener(a, n, i), () => {
70
- e.removeEventListener(a, n, i);
71
- };
72
- }, [m?.current, n]);
73
- }
74
- e.useLayoutEffect(() => {
75
- if (m.current === null) return;
76
- let e = /* @__PURE__ */ new Map();
77
- for (let t in y) u(m.current, t, y[t]), h.current.delete(t), e.set(t, y[t]);
78
- for (let [e, t] of h.current) u(m.current, e, void 0);
79
- h.current = e;
80
- });
81
- }
82
- if (typeof window > "u" && n?.getTemplateHTML && n?.shadowRootOptions) {
83
- let { mode: t, delegatesFocus: r } = n.shadowRootOptions;
84
- v.children = [e.createElement("template", {
85
- shadowrootmode: t,
86
- shadowrootdelegatesfocus: r,
87
- dangerouslySetInnerHTML: { __html: n.getTemplateHTML(_, i) }
88
- }), v.children];
89
- }
90
- return e.createElement(t, {
91
- ...l,
92
- ...v,
93
- ref: e.useCallback((e) => {
94
- m.current = e, typeof s == "function" ? s(e) : s !== null && (s.current = e);
95
- }, [s])
96
- });
97
- });
98
- return m.displayName = i ?? n.name, m;
99
- }
100
- function u(e, t, n) {
101
- e[t] = n, n == null && t in (globalThis.HTMLElement?.prototype ?? {}) && e.removeAttribute(t);
102
- }
103
- var d = l({
104
- react: t,
105
- tagName: "dash-video",
106
- elementClass: i,
107
- toAttributeName(e) {
108
- return e === "muted" ? "" : e === "defaultMuted" ? "muted" : s(e);
109
- }
110
- });
111
- //#endregion
112
- export { d as default };
@@ -1,434 +0,0 @@
1
- import { f as e, i as t } from "./lib-compat-D8G4_Lzi.js";
2
- //#region node_modules/youtube-video-element/dist/youtube-video-element.js
3
- e();
4
- var n = "https://www.youtube.com/embed", r = "https://www.youtube-nocookie.com/embed", i = "https://www.youtube.com/iframe_api", a = "YT", o = "onYouTubeIframeAPIReady", s = /(?:youtu\.be\/|youtube(?:-nocookie)?\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=|shorts\/|live\/))((\w|-){11})/, c = /(?:youtu\.be\/|youtube(?:-nocookie)?\.com\/.*?[?&]list=)([\w_-]+)/;
5
- function l(e, t = {}) {
6
- let n = {
7
- src: u(e, t),
8
- frameborder: 0,
9
- width: "100%",
10
- height: "100%",
11
- allow: "accelerometer; fullscreen; autoplay; encrypted-media; gyroscope; picture-in-picture"
12
- };
13
- return t.config && (n["data-config"] = JSON.stringify(t.config)), `
14
- <style>
15
- :host {
16
- display: inline-block;
17
- line-height: 0;
18
- position: relative;
19
- min-width: 300px;
20
- min-height: 150px;
21
- }
22
- iframe {
23
- position: absolute;
24
- top: 0;
25
- left: 0;
26
- }
27
- </style>
28
- <iframe${f(n)}></iframe>
29
- `;
30
- }
31
- function u(e, t) {
32
- if (!e.src) return;
33
- let i = e.src.includes("-nocookie") ? r : n, a = {
34
- controls: e.controls === "" ? null : 0,
35
- autoplay: e.autoplay,
36
- loop: e.loop,
37
- mute: e.muted,
38
- playsinline: e.playsinline,
39
- preload: e.preload ?? "metadata",
40
- enablejsapi: 1,
41
- showinfo: 0,
42
- rel: 0,
43
- iv_load_policy: 3,
44
- modestbranding: 1,
45
- ...t.config
46
- };
47
- if (s.test(e.src)) {
48
- let t = e.src.match(s);
49
- return `${i}/${t && t[1]}?${m(a)}`;
50
- }
51
- let o = e.src.match(c);
52
- return `${i}?${m({
53
- listType: "playlist",
54
- list: o && o[1],
55
- ...a
56
- })}`;
57
- }
58
- var d = class extends (globalThis.HTMLElement ?? class {}) {
59
- static getTemplateHTML = l;
60
- static shadowRootOptions = { mode: "open" };
61
- static observedAttributes = [
62
- "autoplay",
63
- "controls",
64
- "crossorigin",
65
- "loop",
66
- "muted",
67
- "playsinline",
68
- "poster",
69
- "preload",
70
- "src"
71
- ];
72
- loadComplete = new S();
73
- #loadRequested;
74
- #hasLoaded;
75
- #readyState = 0;
76
- #seeking = !1;
77
- #seekComplete;
78
- isLoaded = !1;
79
- #error = null;
80
- #config = null;
81
- constructor() {
82
- super(), this.#upgradeProperty("config");
83
- }
84
- get config() {
85
- return this.#config;
86
- }
87
- set config(e) {
88
- this.#config = e;
89
- }
90
- async load() {
91
- if (this.#loadRequested) return;
92
- this.shadowRoot || this.attachShadow({ mode: "open" });
93
- let e = !this.#hasLoaded;
94
- this.#hasLoaded && (this.loadComplete = new S(), this.isLoaded = !1), this.#hasLoaded = !0, await (this.#loadRequested = Promise.resolve()), this.#loadRequested = null, this.#readyState = 0, this.dispatchEvent(new Event("emptied"));
95
- let t = this.api;
96
- if (this.api = null, !this.src) {
97
- t?.destroy();
98
- return;
99
- }
100
- this.dispatchEvent(new Event("loadstart"));
101
- let n = this.shadowRoot.querySelector("iframe"), r = g(this.attributes);
102
- e && n && (this.#config = JSON.parse(n.getAttribute("data-config") || "{}")), (!n?.src || n.src !== u(r, this)) && (this.shadowRoot.innerHTML = l(r, this), n = this.shadowRoot.querySelector("iframe"));
103
- let s = await v(i, a, o);
104
- this.api = new s.Player(n, { events: {
105
- onReady: () => {
106
- this.#readyState = 1, this.dispatchEvent(new Event("loadedmetadata")), this.dispatchEvent(new Event("durationchange")), this.dispatchEvent(new Event("volumechange")), this.dispatchEvent(new Event("loadcomplete")), this.isLoaded = !0, this.loadComplete.resolve();
107
- },
108
- onError: (e) => {
109
- console.error(e), this.#error = {
110
- code: e.data,
111
- message: `YouTube iframe player error #${e.data}; visit https://developers.google.com/youtube/iframe_api_reference#onError for the full error message.`
112
- }, this.dispatchEvent(new Event("error"));
113
- }
114
- } });
115
- let c = !1;
116
- this.api.addEventListener("onStateChange", (e) => {
117
- var t;
118
- let n = e.data;
119
- if ((n === s.PlayerState.PLAYING || n === s.PlayerState.BUFFERING) && (c || (c = !0, this.dispatchEvent(new Event("play")))), n === s.PlayerState.PLAYING) this.seeking && (this.#seeking = !1, (t = this.#seekComplete) == null || t.resolve(), this.dispatchEvent(new Event("seeked"))), this.#readyState = 3, this.dispatchEvent(new Event("playing"));
120
- else if (n === s.PlayerState.PAUSED) {
121
- let e = Math.abs(this.currentTime - d);
122
- !this.seeking && e > .1 && (this.#seeking = !0, this.dispatchEvent(new Event("seeking"))), c = !1, this.dispatchEvent(new Event("pause"));
123
- }
124
- n === s.PlayerState.ENDED && (c = !1, this.dispatchEvent(new Event("pause")), this.dispatchEvent(new Event("ended")), this.loop && this.play());
125
- }), this.api.addEventListener("onPlaybackRateChange", () => {
126
- this.dispatchEvent(new Event("ratechange"));
127
- }), this.api.addEventListener("onVolumeChange", () => {
128
- this.dispatchEvent(new Event("volumechange"));
129
- }), this.api.addEventListener("onVideoProgress", () => {
130
- this.dispatchEvent(new Event("timeupdate"));
131
- }), await this.loadComplete;
132
- let d = 0;
133
- setInterval(() => {
134
- var e;
135
- let t = Math.abs(this.currentTime - d), n = this.buffered.end(this.buffered.length - 1);
136
- this.seeking && n > .1 ? (this.#seeking = !1, (e = this.#seekComplete) == null || e.resolve(), this.dispatchEvent(new Event("seeked"))) : !this.seeking && t > .1 && (this.#seeking = !0, this.dispatchEvent(new Event("seeking"))), d = this.currentTime;
137
- }, 50);
138
- let f, p = setInterval(() => {
139
- let e = this.buffered.end(this.buffered.length - 1);
140
- e >= this.duration && (clearInterval(p), this.#readyState = 4), f != e && (f = e, this.dispatchEvent(new Event("progress")));
141
- }, 100);
142
- }
143
- async attributeChangedCallback(e, t, n) {
144
- if (t !== n) switch (e) {
145
- case "src":
146
- case "autoplay":
147
- case "controls":
148
- case "loop":
149
- case "playsinline": this.load();
150
- }
151
- }
152
- async play() {
153
- var e;
154
- return this.#seekComplete = null, await this.loadComplete, (e = this.api) == null || e.playVideo(), x(this);
155
- }
156
- async pause() {
157
- return await this.loadComplete, this.api?.pauseVideo();
158
- }
159
- get seeking() {
160
- return this.#seeking;
161
- }
162
- get readyState() {
163
- return this.#readyState;
164
- }
165
- get src() {
166
- return this.getAttribute("src");
167
- }
168
- set src(e) {
169
- this.src != e && this.setAttribute("src", e);
170
- }
171
- get error() {
172
- return this.#error;
173
- }
174
- get paused() {
175
- var e;
176
- return this.isLoaded ? [
177
- -1,
178
- 0,
179
- 2,
180
- 5
181
- ].includes(((e = this.api)?.getPlayerState)?.call(e)) : !this.autoplay;
182
- }
183
- get duration() {
184
- var e;
185
- return ((e = this.api)?.getDuration)?.call(e) ?? NaN;
186
- }
187
- get autoplay() {
188
- return this.hasAttribute("autoplay");
189
- }
190
- set autoplay(e) {
191
- this.autoplay != e && this.toggleAttribute("autoplay", !!e);
192
- }
193
- get buffered() {
194
- if (!this.isLoaded) return C();
195
- let e = this.api?.getVideoLoadedFraction() * this.api?.getDuration();
196
- return e > 0 ? C(0, e) : C();
197
- }
198
- get controls() {
199
- return this.hasAttribute("controls");
200
- }
201
- set controls(e) {
202
- this.controls != e && this.toggleAttribute("controls", !!e);
203
- }
204
- get currentTime() {
205
- var e;
206
- return ((e = this.api)?.getCurrentTime)?.call(e) ?? 0;
207
- }
208
- set currentTime(e) {
209
- this.currentTime != e && (this.#seekComplete = new S(), this.loadComplete.then(() => {
210
- var t, n;
211
- (t = this.api) == null || t.seekTo(e, !0), this.paused && ((n = this.#seekComplete) == null || n.then(() => {
212
- var e;
213
- this.#seekComplete && ((e = this.api) == null || e.pauseVideo());
214
- }));
215
- }));
216
- }
217
- set defaultMuted(e) {
218
- this.defaultMuted != e && this.toggleAttribute("muted", !!e);
219
- }
220
- get defaultMuted() {
221
- return this.hasAttribute("muted");
222
- }
223
- get loop() {
224
- return this.hasAttribute("loop");
225
- }
226
- set loop(e) {
227
- this.loop != e && this.toggleAttribute("loop", !!e);
228
- }
229
- set muted(e) {
230
- this.muted != e && this.loadComplete.then(() => {
231
- var t, n;
232
- e ? (t = this.api) == null || t.mute() : (n = this.api) == null || n.unMute();
233
- });
234
- }
235
- get muted() {
236
- var e;
237
- return this.isLoaded ? ((e = this.api)?.isMuted)?.call(e) : this.defaultMuted;
238
- }
239
- get playbackRate() {
240
- var e;
241
- return ((e = this.api)?.getPlaybackRate)?.call(e) ?? 1;
242
- }
243
- set playbackRate(e) {
244
- this.playbackRate != e && this.loadComplete.then(() => {
245
- var t;
246
- (t = this.api) == null || t.setPlaybackRate(e);
247
- });
248
- }
249
- get playsInline() {
250
- return this.hasAttribute("playsinline");
251
- }
252
- set playsInline(e) {
253
- this.playsInline != e && this.toggleAttribute("playsinline", !!e);
254
- }
255
- get poster() {
256
- return this.getAttribute("poster");
257
- }
258
- set poster(e) {
259
- this.poster != e && this.setAttribute("poster", `${e}`);
260
- }
261
- set volume(e) {
262
- this.volume != e && this.loadComplete.then(() => {
263
- var t;
264
- (t = this.api) == null || t.setVolume(e * 100);
265
- });
266
- }
267
- get volume() {
268
- return this.isLoaded ? this.api?.getVolume() / 100 : 1;
269
- }
270
- #upgradeProperty(e) {
271
- if (Object.prototype.hasOwnProperty.call(this, e)) {
272
- let t = this[e];
273
- delete this[e], this[e] = t;
274
- }
275
- }
276
- };
277
- function f(e) {
278
- let t = "";
279
- for (let n in e) {
280
- let r = e[n];
281
- r === "" ? t += ` ${p(n)}` : t += ` ${p(n)}="${p(`${r}`)}"`;
282
- }
283
- return t;
284
- }
285
- function p(e) {
286
- return e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;").replace(/`/g, "&#x60;");
287
- }
288
- function m(e) {
289
- return String(new URLSearchParams(h(e)));
290
- }
291
- function h(e) {
292
- let t = {};
293
- for (let n in e) {
294
- let r = e[n];
295
- r === !0 || r === "" ? t[n] = 1 : r === !1 ? t[n] = 0 : r != null && (t[n] = r);
296
- }
297
- return t;
298
- }
299
- function g(e) {
300
- let t = {};
301
- for (let n of e) t[n.name] = n.value;
302
- return t;
303
- }
304
- var _ = {};
305
- async function v(e, t, n) {
306
- return _[e] ? _[e] : t && self[t] ? (await y(0), self[t]) : _[e] = new Promise(function(r, i) {
307
- let a = document.createElement("script");
308
- a.src = e;
309
- let o = () => r(self[t]);
310
- n && (self[n] = o), a.onload = () => !n && o(), a.onerror = i, document.head.append(a);
311
- });
312
- }
313
- var y = (e) => new Promise((t) => setTimeout(t, e));
314
- function b(e) {
315
- return (...t) => new Promise((n) => {
316
- e(...t, (...e) => {
317
- e.length > 1 ? n(e) : n(e[0]);
318
- });
319
- });
320
- }
321
- function x(e) {
322
- return b((t, n) => {
323
- let r;
324
- e.addEventListener(t, r = () => {
325
- e.removeEventListener(t, r), n();
326
- });
327
- })("playing");
328
- }
329
- var S = class extends Promise {
330
- constructor(e = () => {}) {
331
- let t, n;
332
- super((r, i) => {
333
- e(r, i), t = r, n = i;
334
- }), this.resolve = t, this.reject = n;
335
- }
336
- };
337
- function C(e, t) {
338
- return w(Array.isArray(e) ? e : e == null || t == null || e === 0 && t === 0 ? [[0, 0]] : [[e, t]]);
339
- }
340
- function w(e) {
341
- return Object.defineProperties(e, {
342
- start: { value: (t) => e[t][0] },
343
- end: { value: (t) => e[t][1] }
344
- }), e;
345
- }
346
- globalThis.customElements && !globalThis.customElements.get("youtube-video") && globalThis.customElements.define("youtube-video", d);
347
- var T = d, E = /* @__PURE__ */ new Set([
348
- "style",
349
- "children",
350
- "ref",
351
- "key",
352
- "suppressContentEditableWarning",
353
- "suppressHydrationWarning",
354
- "dangerouslySetInnerHTML"
355
- ]), D = {
356
- className: "class",
357
- htmlFor: "for"
358
- };
359
- function O(e) {
360
- return e.toLowerCase();
361
- }
362
- function k(e) {
363
- if (typeof e == "boolean") return e ? "" : void 0;
364
- if (typeof e != "function" && !(typeof e == "object" && e)) return e;
365
- }
366
- function A({ react: e, tagName: t, elementClass: n, events: r, displayName: i, defaultProps: a, toAttributeName: o = O, toAttributeValue: s = k }) {
367
- let c = Number.parseInt(e.version) >= 19, l = e.forwardRef((i, l) => {
368
- let u = e.useRef(null), d = e.useRef(/* @__PURE__ */ new Map()), f = {}, p = {}, m = {}, h = {};
369
- for (let [e, t] of Object.entries(i)) {
370
- if (E.has(e)) {
371
- m[e] = t;
372
- continue;
373
- }
374
- let r = o(D[e] ?? e);
375
- if (e in n.prototype && !(e in (globalThis.HTMLElement?.prototype ?? {})) && !n.observedAttributes?.some((e) => e === r)) {
376
- h[e] = t;
377
- continue;
378
- }
379
- if (e.startsWith("on")) {
380
- f[e] = t;
381
- continue;
382
- }
383
- let i = s(t);
384
- r && i != null && (p[r] = String(i), c || (m[r] = i)), r && c && (i === k(t) ? m[r] = t : m[r] = i);
385
- }
386
- if (typeof window < "u") {
387
- for (let t in f) {
388
- let n = f[t], i = t.endsWith("Capture"), a = (r?.[t] ?? t.slice(2).toLowerCase()).slice(0, i ? -7 : void 0);
389
- e.useLayoutEffect(() => {
390
- let e = u?.current;
391
- if (!(!e || typeof n != "function")) return e.addEventListener(a, n, i), () => {
392
- e.removeEventListener(a, n, i);
393
- };
394
- }, [u?.current, n]);
395
- }
396
- e.useLayoutEffect(() => {
397
- if (u.current === null) return;
398
- let e = /* @__PURE__ */ new Map();
399
- for (let t in h) j(u.current, t, h[t]), d.current.delete(t), e.set(t, h[t]);
400
- for (let [e, t] of d.current) j(u.current, e, void 0);
401
- d.current = e;
402
- });
403
- }
404
- if (typeof window > "u" && n?.getTemplateHTML && n?.shadowRootOptions) {
405
- let { mode: t, delegatesFocus: r } = n.shadowRootOptions;
406
- m.children = [e.createElement("template", {
407
- shadowrootmode: t,
408
- shadowrootdelegatesfocus: r,
409
- dangerouslySetInnerHTML: { __html: n.getTemplateHTML(p, i) }
410
- }), m.children];
411
- }
412
- return e.createElement(t, {
413
- ...a,
414
- ...m,
415
- ref: e.useCallback((e) => {
416
- u.current = e, typeof l == "function" ? l(e) : l !== null && (l.current = e);
417
- }, [l])
418
- });
419
- });
420
- return l.displayName = i ?? n.name, l;
421
- }
422
- function j(e, t, n) {
423
- e[t] = n, n == null && t in (globalThis.HTMLElement?.prototype ?? {}) && e.removeAttribute(t);
424
- }
425
- var M = A({
426
- react: t,
427
- tagName: "youtube-video",
428
- elementClass: T,
429
- toAttributeName(e) {
430
- return e === "muted" ? "" : e === "defaultMuted" ? "muted" : O(e);
431
- }
432
- });
433
- //#endregion
434
- export { M as default };