@banou/stub 0.0.20 → 0.0.22

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-BC_h4vk9.js +3844 -0
  13. package/build/assets/main-DZ0Ws1xk.css +1 -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-DejLBzlj.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,334 +0,0 @@
1
- import { f as e, i as t } from "./lib-compat-D8G4_Lzi.js";
2
- //#region node_modules/super-media-element/super-media-element.js
3
- e();
4
- var n = /* @__PURE__ */ "abort.canplay.canplaythrough.durationchange.emptied.encrypted.ended.error.loadeddata.loadedmetadata.loadstart.pause.play.playing.progress.ratechange.seeked.seeking.stalled.suspend.timeupdate.volumechange.waiting.waitingforkey.resize.enterpictureinpicture.leavepictureinpicture.webkitbeginfullscreen.webkitendfullscreen.webkitpresentationmodechanged".split("."), r = globalThis.document?.createElement("template");
5
- r && (r.innerHTML = "\n <style>\n :host {\n display: inline-block;\n line-height: 0;\n }\n\n video,\n audio {\n max-width: 100%;\n max-height: 100%;\n min-width: 100%;\n min-height: 100%;\n }\n </style>\n <slot></slot>\n ");
6
- var i = (e, { tag: t, is: i }) => {
7
- let s = globalThis.document?.createElement(t, { is: i }), c = s ? a(s) : [];
8
- return class l extends e {
9
- static Events = n;
10
- static template = r;
11
- static skipAttributes = [];
12
- static #e;
13
- static get observedAttributes() {
14
- return l.#t(), [
15
- ...s?.constructor?.observedAttributes ?? [],
16
- "autopictureinpicture",
17
- "disablepictureinpicture",
18
- "disableremoteplayback",
19
- "autoplay",
20
- "controls",
21
- "controlslist",
22
- "crossorigin",
23
- "loop",
24
- "muted",
25
- "playsinline",
26
- "poster",
27
- "preload",
28
- "src"
29
- ];
30
- }
31
- static #t() {
32
- if (this.#e) return;
33
- this.#e = !0;
34
- let e = new Set(this.observedAttributes);
35
- e.delete("muted");
36
- for (let t of c) if (!(t in this.prototype)) if (typeof s[t] == "function") this.prototype[t] = function(...e) {
37
- this.#c();
38
- let n = () => this.call ? this.call(t, ...e) : this.nativeEl[t].apply(this.nativeEl, e);
39
- return this.loadComplete && !this.isLoaded ? this.loadComplete.then(n) : n();
40
- };
41
- else {
42
- let n = { get() {
43
- this.#c();
44
- let n = t.toLowerCase();
45
- if (e.has(n)) {
46
- let e = this.getAttribute(n);
47
- return e === null ? !1 : e === "" ? !0 : e;
48
- }
49
- return this.get?.(t) ?? this.nativeEl?.[t] ?? this.#s[t];
50
- } };
51
- t !== t.toUpperCase() && (n.set = async function(n) {
52
- this.#c();
53
- let r = t.toLowerCase();
54
- if (e.has(r)) {
55
- n === !0 || n === !1 || n == null ? this.toggleAttribute(r, !!n) : this.setAttribute(r, n);
56
- return;
57
- }
58
- if (this.loadComplete && !this.isLoaded && await this.loadComplete, this.set) {
59
- this.set(t, n);
60
- return;
61
- }
62
- this.nativeEl[t] = n;
63
- }), Object.defineProperty(this.prototype, t, n);
64
- }
65
- }
66
- #n;
67
- #r;
68
- #i = !1;
69
- #a = !1;
70
- #o;
71
- #s;
72
- constructor() {
73
- super(), this.shadowRoot || (this.attachShadow({ mode: "open" }), this.shadowRoot.append(this.constructor.template.content.cloneNode(!0))), this.load !== l.prototype.load && (this.loadComplete = new o());
74
- }
75
- get loadComplete() {
76
- return this.#r;
77
- }
78
- set loadComplete(e) {
79
- this.#a = !1, this.#r = e, e?.then(() => {
80
- this.#a = !0;
81
- });
82
- }
83
- get isLoaded() {
84
- return this.#a;
85
- }
86
- get nativeEl() {
87
- return this.#o ?? this.shadowRoot.querySelector(t) ?? this.querySelector(t);
88
- }
89
- set nativeEl(e) {
90
- this.#o = e;
91
- }
92
- get defaultMuted() {
93
- return this.hasAttribute("muted");
94
- }
95
- set defaultMuted(e) {
96
- this.toggleAttribute("muted", !!e);
97
- }
98
- get src() {
99
- return this.getAttribute("src");
100
- }
101
- set src(e) {
102
- this.setAttribute("src", `${e}`);
103
- }
104
- get preload() {
105
- return this.getAttribute("preload") ?? this.nativeEl?.preload;
106
- }
107
- set preload(e) {
108
- this.setAttribute("preload", `${e}`);
109
- }
110
- async #c() {
111
- if (this.#n) return;
112
- this.#n = !0, this.#u(), this.#d();
113
- for (let e of c) this.#l(e);
114
- let e = /* @__PURE__ */ new Map(), t = this.shadowRoot.querySelector("slot:not([name])");
115
- t?.addEventListener("slotchange", () => {
116
- let n = new Map(e);
117
- t.assignedElements().filter((e) => ["track", "source"].includes(e.localName)).forEach(async (t) => {
118
- n.delete(t);
119
- let r = e.get(t);
120
- r || (r = t.cloneNode(), e.set(t, r)), this.loadComplete && !this.isLoaded && await this.loadComplete, this.nativeEl.append?.(r);
121
- }), n.forEach((e) => e.remove());
122
- });
123
- for (let e of this.constructor.Events) this.shadowRoot.addEventListener?.(e, (e) => {
124
- e.target === this.nativeEl && this.dispatchEvent(new CustomEvent(e.type, { detail: e.detail }));
125
- }, !0);
126
- }
127
- #l(e) {
128
- if (Object.prototype.hasOwnProperty.call(this, e)) {
129
- let t = this[e];
130
- delete this[e], this[e] = t;
131
- }
132
- }
133
- #u() {
134
- let e = document.createElement(t, { is: i });
135
- e.muted = this.hasAttribute("muted");
136
- for (let { name: t, value: n } of this.attributes) e.setAttribute(t, n);
137
- this.#s = {};
138
- for (let t of a(e)) this.#s[t] = e[t];
139
- e.removeAttribute("src"), e.load();
140
- }
141
- async #d() {
142
- if (this.loadComplete && !this.isLoaded && await this.loadComplete, !this.nativeEl) {
143
- let e = document.createElement(t, { is: i });
144
- e.part = t, this.shadowRoot.append(e);
145
- }
146
- this.nativeEl.muted = this.hasAttribute("muted");
147
- }
148
- attributeChangedCallback(e, t, n) {
149
- this.#c(), e === "src" && this.load !== l.prototype.load && this.#f(), this.#p(e, t, n);
150
- }
151
- async #f() {
152
- this.#i && (this.loadComplete = new o()), this.#i = !0, await Promise.resolve(), await this.load(), this.loadComplete?.resolve(), await this.loadComplete;
153
- }
154
- async #p(e, t, n) {
155
- this.loadComplete && !this.isLoaded && await this.loadComplete, ![
156
- "id",
157
- "class",
158
- ...this.constructor.skipAttributes
159
- ].includes(e) && (n === null ? this.nativeEl.removeAttribute?.(e) : this.nativeEl.setAttribute?.(e, n));
160
- }
161
- connectedCallback() {
162
- this.#c();
163
- }
164
- };
165
- };
166
- function a(e) {
167
- let t = [];
168
- for (let n = Object.getPrototypeOf(e); n && n !== HTMLElement.prototype; n = Object.getPrototypeOf(n)) t.push(...Object.getOwnPropertyNames(n));
169
- return t;
170
- }
171
- var o = class extends Promise {
172
- constructor(e = () => {}) {
173
- let t, n;
174
- super((r, i) => {
175
- e(r, i), t = r, n = i;
176
- }), this.resolve = t, this.reject = n;
177
- }
178
- }, s = globalThis.document ? i(HTMLElement, { tag: "video" }) : class {};
179
- globalThis.document && i(HTMLElement, { tag: "audio" });
180
- //#endregion
181
- //#region node_modules/wistia-video-element/dist/wistia-video-element.js
182
- var c = globalThis.document?.createElement("template");
183
- c && (c.innerHTML = "\n <div class=\"wistia_embed\"></div>\n ");
184
- var l = globalThis.document?.createElement("template");
185
- l && (l.innerHTML = "\n <style>\n :host {\n display: inline-block;\n min-width: 300px;\n min-height: 150px;\n position: relative;\n }\n ::slotted(.wistia_embed) {\n position: absolute;\n width: 100%;\n height: 100%;\n }\n </style>\n <slot></slot>\n ");
186
- var u = class extends s {
187
- static template = l;
188
- static skipAttributes = ["src"];
189
- get nativeEl() {
190
- return this.api?.elem() ?? this.querySelector("video");
191
- }
192
- async load() {
193
- var e;
194
- if ((e = this.querySelector(".wistia_embed")) == null || e.remove(), !this.src) return;
195
- await new Promise((e) => setTimeout(e, 50));
196
- let t = this.src.match(/(?:wistia\.com|wi\.st)\/(?:medias|embed)\/(.*)$/i)[1], n = {
197
- autoPlay: this.autoplay,
198
- preload: this.preload ?? "metadata",
199
- playsinline: this.playsInline,
200
- endVideoBehavior: this.loop && "loop",
201
- chromeless: !this.controls,
202
- playButton: this.controls,
203
- muted: this.defaultMuted
204
- };
205
- this.append(c.content.cloneNode(!0));
206
- let r = this.querySelector(".wistia_embed");
207
- r.id ||= m(t), r.classList.add(`wistia_async_${t}`), await f("https://fast.wistia.com/assets/external/E-v1.js", "Wistia"), this.api = await new Promise((e) => {
208
- globalThis._wq.push({
209
- id: r.id,
210
- onReady: e,
211
- options: n
212
- });
213
- });
214
- }
215
- async attributeChangedCallback(e, t, n) {
216
- if (e === "controls") {
217
- switch (await this.loadComplete, e) {
218
- case "controls":
219
- this.api.bigPlayButtonEnabled(this.controls), this.controls ? this.api.releaseChromeless() : this.api.requestChromeless();
220
- break;
221
- }
222
- return;
223
- }
224
- super.attributeChangedCallback(e, t, n);
225
- }
226
- get duration() {
227
- return this.api?.duration();
228
- }
229
- play() {
230
- return this.api.play(), new Promise((e) => this.addEventListener("playing", e));
231
- }
232
- }, d = {};
233
- async function f(e, t) {
234
- return t ? d[e] ? d[e] : self[t] ? self[t] : d[e] = new Promise((n, r) => {
235
- let i = document.createElement("script");
236
- i.defer = !0, i.src = e, i.onload = () => n(self[t]), i.onerror = r, document.head.append(i);
237
- }) : import(
238
- /* webpackIgnore: true */
239
- e
240
- );
241
- }
242
- var p = 0;
243
- function m(e) {
244
- return `${e}${++p}`;
245
- }
246
- globalThis.customElements && !globalThis.customElements.get("wistia-video") && globalThis.customElements.define("wistia-video", u);
247
- var h = u, g = /* @__PURE__ */ new Set([
248
- "style",
249
- "children",
250
- "ref",
251
- "key",
252
- "suppressContentEditableWarning",
253
- "suppressHydrationWarning",
254
- "dangerouslySetInnerHTML"
255
- ]), _ = {
256
- className: "class",
257
- htmlFor: "for"
258
- };
259
- function v(e) {
260
- return e.toLowerCase();
261
- }
262
- function y(e) {
263
- if (typeof e == "boolean") return e ? "" : void 0;
264
- if (typeof e != "function" && !(typeof e == "object" && e)) return e;
265
- }
266
- function b({ react: e, tagName: t, elementClass: n, events: r, displayName: i, defaultProps: a, toAttributeName: o = v, toAttributeValue: s = y }) {
267
- let c = Number.parseInt(e.version) >= 19, l = e.forwardRef((i, l) => {
268
- let u = e.useRef(null), d = e.useRef(/* @__PURE__ */ new Map()), f = {}, p = {}, m = {}, h = {};
269
- for (let [e, t] of Object.entries(i)) {
270
- if (g.has(e)) {
271
- m[e] = t;
272
- continue;
273
- }
274
- let r = o(_[e] ?? e);
275
- if (e in n.prototype && !(e in (globalThis.HTMLElement?.prototype ?? {})) && !n.observedAttributes?.some((e) => e === r)) {
276
- h[e] = t;
277
- continue;
278
- }
279
- if (e.startsWith("on")) {
280
- f[e] = t;
281
- continue;
282
- }
283
- let i = s(t);
284
- r && i != null && (p[r] = String(i), c || (m[r] = i)), r && c && (i === y(t) ? m[r] = t : m[r] = i);
285
- }
286
- if (typeof window < "u") {
287
- for (let t in f) {
288
- let n = f[t], i = t.endsWith("Capture"), a = (r?.[t] ?? t.slice(2).toLowerCase()).slice(0, i ? -7 : void 0);
289
- e.useLayoutEffect(() => {
290
- let e = u?.current;
291
- if (!(!e || typeof n != "function")) return e.addEventListener(a, n, i), () => {
292
- e.removeEventListener(a, n, i);
293
- };
294
- }, [u?.current, n]);
295
- }
296
- e.useLayoutEffect(() => {
297
- if (u.current === null) return;
298
- let e = /* @__PURE__ */ new Map();
299
- for (let t in h) x(u.current, t, h[t]), d.current.delete(t), e.set(t, h[t]);
300
- for (let [e, t] of d.current) x(u.current, e, void 0);
301
- d.current = e;
302
- });
303
- }
304
- if (typeof window > "u" && n?.getTemplateHTML && n?.shadowRootOptions) {
305
- let { mode: t, delegatesFocus: r } = n.shadowRootOptions;
306
- m.children = [e.createElement("template", {
307
- shadowrootmode: t,
308
- shadowrootdelegatesfocus: r,
309
- dangerouslySetInnerHTML: { __html: n.getTemplateHTML(p, i) }
310
- }), m.children];
311
- }
312
- return e.createElement(t, {
313
- ...a,
314
- ...m,
315
- ref: e.useCallback((e) => {
316
- u.current = e, typeof l == "function" ? l(e) : l !== null && (l.current = e);
317
- }, [l])
318
- });
319
- });
320
- return l.displayName = i ?? n.name, l;
321
- }
322
- function x(e, t, n) {
323
- e[t] = n, n == null && t in (globalThis.HTMLElement?.prototype ?? {}) && e.removeAttribute(t);
324
- }
325
- var S = b({
326
- react: t,
327
- tagName: "wistia-video",
328
- elementClass: h,
329
- toAttributeName(e) {
330
- return e === "muted" ? "" : e === "defaultMuted" ? "muted" : v(e);
331
- }
332
- });
333
- //#endregion
334
- export { S as default };
@@ -1,311 +0,0 @@
1
- import { f as e, i as t } from "./lib-compat-D8G4_Lzi.js";
2
- //#region node_modules/spotify-audio-element/dist/spotify-audio-element.js
3
- e();
4
- var n = "https://open.spotify.com", r = /open\.spotify\.com\/(\w+)\/(\w+)/i, i = "https://open.spotify.com/embed-podcast/iframe-api/v1", a = "SpotifyIframeApi", o = "onSpotifyIframeApiReady";
5
- function s(e, t = {}) {
6
- return `
7
- <style>
8
- :host {
9
- display: inline-block;
10
- min-width: 160px;
11
- min-height: 80px;
12
- position: relative;
13
- }
14
- iframe {
15
- position: absolute;
16
- top: 0;
17
- left: 0;
18
- width: 100%;
19
- height: 100%;
20
- overflow: hidden;
21
- }
22
- :host(:not([controls])) {
23
- display: none !important;
24
- }
25
- </style>
26
- <iframe${u({
27
- src: c(e, t),
28
- scrolling: "no",
29
- frameborder: 0,
30
- width: "100%",
31
- height: "100%",
32
- allow: "accelerometer; fullscreen; autoplay; encrypted-media; gyroscope; picture-in-picture"
33
- })}></iframe>
34
- `;
35
- }
36
- function c(e, t) {
37
- if (!e.src) return;
38
- let i = e.src.match(r), a = i && i[1], o = i && i[2], s = {
39
- t: t.config?.startAt,
40
- theme: t.config?.theme === "dark" ? "0" : null
41
- };
42
- return `${n}/embed/${a}/${o}${t.config?.preferVideo ? "/video" : ""}?${d(s)}`;
43
- }
44
- var l = class extends (globalThis.HTMLElement ?? class {}) {
45
- static getTemplateHTML = s;
46
- static shadowRootOptions = { mode: "open" };
47
- static observedAttributes = [
48
- "controls",
49
- "loop",
50
- "src"
51
- ];
52
- loadComplete = new g();
53
- #loadRequested;
54
- #hasLoaded;
55
- #isInit;
56
- #isWaiting = !1;
57
- #closeToEnded = !1;
58
- #paused = !0;
59
- #currentTime = 0;
60
- #duration = NaN;
61
- #seeking = !1;
62
- #config = null;
63
- constructor() {
64
- super(), this.#upgradeProperty("config");
65
- }
66
- async load() {
67
- if (this.#loadRequested) return;
68
- this.#hasLoaded && (this.loadComplete = new g()), this.#hasLoaded = !0, await (this.#loadRequested = Promise.resolve()), this.#loadRequested = null, this.#isWaiting = !1, this.#closeToEnded = !1, this.#currentTime = 0, this.#duration = NaN, this.#seeking = !1, this.dispatchEvent(new Event("emptied"));
69
- let e = this.api;
70
- if (this.api = null, !this.src) return;
71
- this.dispatchEvent(new Event("loadstart"));
72
- let t = {
73
- t: this.config?.startAt,
74
- theme: this.config?.theme === "dark" ? "0" : null,
75
- preferVideo: this.config?.preferVideo
76
- };
77
- if (this.#isInit) this.api = e, this.api.iframeElement.src = c(p(this.attributes), this);
78
- else {
79
- this.#isInit = !0, this.shadowRoot || (this.attachShadow({ mode: "open" }), this.shadowRoot.innerHTML = s(p(this.attributes), this));
80
- let e = this.shadowRoot.querySelector("iframe"), n = await h(i, a, o);
81
- this.api = await new Promise((r) => n.createController(e, t, r)), this.api.iframeElement = e, this.api.addListener("ready", () => {
82
- this.dispatchEvent(new Event("loadedmetadata")), this.dispatchEvent(new Event("durationchange")), this.dispatchEvent(new Event("volumechange"));
83
- }), this.api.addListener("playback_update", (e) => {
84
- if (this.#closeToEnded && this.#paused && (e.data.isBuffering || !e.data.isPaused)) {
85
- this.#closeToEnded = !1, this.currentTime = 1;
86
- return;
87
- }
88
- if (e.data.duration / 1e3 !== this.#duration && (this.#closeToEnded = !1, this.#duration = e.data.duration / 1e3, this.dispatchEvent(new Event("durationchange"))), e.data.position / 1e3 !== this.#currentTime && (this.#seeking = !1, this.#closeToEnded = !1, this.#currentTime = e.data.position / 1e3, this.dispatchEvent(new Event("timeupdate"))), !this.#isWaiting && !this.#paused && e.data.isPaused) {
89
- this.#paused = !0, this.dispatchEvent(new Event("pause"));
90
- return;
91
- }
92
- if (this.#paused && (e.data.isBuffering || !e.data.isPaused)) {
93
- this.#paused = !1, this.dispatchEvent(new Event("play")), this.#isWaiting = e.data.isBuffering, this.#isWaiting ? this.dispatchEvent(new Event("waiting")) : this.dispatchEvent(new Event("playing"));
94
- return;
95
- }
96
- if (this.#isWaiting && !e.data.isPaused) {
97
- this.#isWaiting = !1, this.dispatchEvent(new Event("playing"));
98
- return;
99
- }
100
- if (!this.paused && !this.seeking && !this.#closeToEnded && Math.ceil(this.currentTime) >= this.duration) {
101
- if (this.#closeToEnded = !0, this.loop) {
102
- this.currentTime = 1;
103
- return;
104
- }
105
- this.continuous || (this.pause(), this.dispatchEvent(new Event("ended")));
106
- return;
107
- }
108
- });
109
- }
110
- this.loadComplete.resolve(), await this.loadComplete;
111
- }
112
- async attributeChangedCallback(e, t, n) {
113
- if (t !== n) switch (e) {
114
- case "src":
115
- this.load();
116
- return;
117
- }
118
- }
119
- async play() {
120
- return this.#paused = !1, this.#isWaiting = !0, this.dispatchEvent(new Event("play")), await this.loadComplete, this.api?.resume();
121
- }
122
- async pause() {
123
- return await this.loadComplete, this.api?.pause();
124
- }
125
- get config() {
126
- return this.#config;
127
- }
128
- set config(e) {
129
- this.#config = e;
130
- }
131
- get paused() {
132
- return this.#paused ?? !0;
133
- }
134
- get muted() {
135
- return !1;
136
- }
137
- set muted(e) {}
138
- get volume() {
139
- return 1;
140
- }
141
- set volume(e) {}
142
- get ended() {
143
- return Math.ceil(this.currentTime) >= this.duration;
144
- }
145
- get seeking() {
146
- return this.#seeking;
147
- }
148
- get loop() {
149
- return this.hasAttribute("loop");
150
- }
151
- set loop(e) {
152
- this.loop != e && this.toggleAttribute("loop", !!e);
153
- }
154
- get currentTime() {
155
- return this.#currentTime;
156
- }
157
- set currentTime(e) {
158
- if (this.currentTime == e) return;
159
- this.#seeking = !0;
160
- let t = this.#currentTime;
161
- this.#currentTime = e, this.dispatchEvent(new Event("timeupdate")), this.#currentTime = t, this.loadComplete.then(() => {
162
- var t;
163
- (t = this.api) == null || t.seek(e);
164
- });
165
- }
166
- get duration() {
167
- return this.#duration;
168
- }
169
- get src() {
170
- return this.getAttribute("src");
171
- }
172
- set src(e) {
173
- this.setAttribute("src", `${e}`);
174
- }
175
- #upgradeProperty(e) {
176
- if (Object.prototype.hasOwnProperty.call(this, e)) {
177
- let t = this[e];
178
- delete this[e], this[e] = t;
179
- }
180
- }
181
- };
182
- function u(e) {
183
- let t = "";
184
- for (let n in e) {
185
- let r = e[n];
186
- r === "" ? t += ` ${n}` : t += ` ${n}="${r}"`;
187
- }
188
- return t;
189
- }
190
- function d(e) {
191
- return String(new URLSearchParams(f(e)));
192
- }
193
- function f(e) {
194
- let t = {};
195
- for (let n in e) {
196
- let r = e[n];
197
- r === !0 || r === "" ? t[n] = 1 : r === !1 ? t[n] = 0 : r != null && (t[n] = r);
198
- }
199
- return t;
200
- }
201
- function p(e) {
202
- let t = {};
203
- for (let n of e) t[n.name] = n.value;
204
- return t;
205
- }
206
- var m = {};
207
- async function h(e, t, n) {
208
- return m[e] ? m[e] : t && self[t] ? Promise.resolve(self[t]) : m[e] = new Promise(function(t, r) {
209
- let i = document.createElement("script");
210
- i.src = e;
211
- let a = (e) => t(e);
212
- n && (self[n] = a), i.onload = () => !n && a(), i.onerror = r, document.head.append(i);
213
- });
214
- }
215
- var g = class extends Promise {
216
- constructor(e = () => {}) {
217
- let t, n;
218
- super((r, i) => {
219
- e(r, i), t = r, n = i;
220
- }), this.resolve = t, this.reject = n;
221
- }
222
- };
223
- globalThis.customElements && !globalThis.customElements.get("spotify-audio") && globalThis.customElements.define("spotify-audio", l);
224
- var _ = l, v = /* @__PURE__ */ new Set([
225
- "style",
226
- "children",
227
- "ref",
228
- "key",
229
- "suppressContentEditableWarning",
230
- "suppressHydrationWarning",
231
- "dangerouslySetInnerHTML"
232
- ]), y = {
233
- className: "class",
234
- htmlFor: "for"
235
- };
236
- function b(e) {
237
- return e.toLowerCase();
238
- }
239
- function x(e) {
240
- if (typeof e == "boolean") return e ? "" : void 0;
241
- if (typeof e != "function" && !(typeof e == "object" && e)) return e;
242
- }
243
- function S({ react: e, tagName: t, elementClass: n, events: r, displayName: i, defaultProps: a, toAttributeName: o = b, toAttributeValue: s = x }) {
244
- let c = Number.parseInt(e.version) >= 19, l = e.forwardRef((i, l) => {
245
- let u = e.useRef(null), d = e.useRef(/* @__PURE__ */ new Map()), f = {}, p = {}, m = {}, h = {};
246
- for (let [e, t] of Object.entries(i)) {
247
- if (v.has(e)) {
248
- m[e] = t;
249
- continue;
250
- }
251
- let r = o(y[e] ?? e);
252
- if (e in n.prototype && !(e in (globalThis.HTMLElement?.prototype ?? {})) && !n.observedAttributes?.some((e) => e === r)) {
253
- h[e] = t;
254
- continue;
255
- }
256
- if (e.startsWith("on")) {
257
- f[e] = t;
258
- continue;
259
- }
260
- let i = s(t);
261
- r && i != null && (p[r] = String(i), c || (m[r] = i)), r && c && (i === x(t) ? m[r] = t : m[r] = i);
262
- }
263
- if (typeof window < "u") {
264
- for (let t in f) {
265
- let n = f[t], i = t.endsWith("Capture"), a = (r?.[t] ?? t.slice(2).toLowerCase()).slice(0, i ? -7 : void 0);
266
- e.useLayoutEffect(() => {
267
- let e = u?.current;
268
- if (!(!e || typeof n != "function")) return e.addEventListener(a, n, i), () => {
269
- e.removeEventListener(a, n, i);
270
- };
271
- }, [u?.current, n]);
272
- }
273
- e.useLayoutEffect(() => {
274
- if (u.current === null) return;
275
- let e = /* @__PURE__ */ new Map();
276
- for (let t in h) C(u.current, t, h[t]), d.current.delete(t), e.set(t, h[t]);
277
- for (let [e, t] of d.current) C(u.current, e, void 0);
278
- d.current = e;
279
- });
280
- }
281
- if (typeof window > "u" && n?.getTemplateHTML && n?.shadowRootOptions) {
282
- let { mode: t, delegatesFocus: r } = n.shadowRootOptions;
283
- m.children = [e.createElement("template", {
284
- shadowrootmode: t,
285
- shadowrootdelegatesfocus: r,
286
- dangerouslySetInnerHTML: { __html: n.getTemplateHTML(p, i) }
287
- }), m.children];
288
- }
289
- return e.createElement(t, {
290
- ...a,
291
- ...m,
292
- ref: e.useCallback((e) => {
293
- u.current = e, typeof l == "function" ? l(e) : l !== null && (l.current = e);
294
- }, [l])
295
- });
296
- });
297
- return l.displayName = i ?? n.name, l;
298
- }
299
- function C(e, t, n) {
300
- e[t] = n, n == null && t in (globalThis.HTMLElement?.prototype ?? {}) && e.removeAttribute(t);
301
- }
302
- var w = S({
303
- react: t,
304
- tagName: "spotify-audio",
305
- elementClass: _,
306
- toAttributeName(e) {
307
- return e === "muted" ? "" : e === "defaultMuted" ? "muted" : b(e);
308
- }
309
- });
310
- //#endregion
311
- export { w as default };