@44-audio/components 0.1.0-dev.14 → 0.1.0-dev.16

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.
package/dist/player.es.js CHANGED
@@ -1,143 +1,169 @@
1
- import { d as ut, c as Q, p as V, a as W, b as v, f as y, A as pt, i as S, t as h, s as ft, e as i, g as X, h as g, j as n, u as G, k as _, l as b, r as m, m as T, n as L, o as F, q as D, v as u, w as N, x as bt, y as ht } from "./AudioPlayer-BnKA5uw-.mjs";
2
- function _t(d, e) {
3
- u(e, !n(e));
1
+ import { b as Je, E as Ke, a as Qe, d as lt, n as st, h as He, c as Ve, e as dt, f as Ue, s as ut, p as ct, g as ft, i as Be, j as W, k as te, l as de, m as i, o as A, A as vt, q, t as Q, r as je, u as g, v as re, w as n, x as t, y as Y, z as j, B as K, C as D, D as E, F as N, G as se, H as U, I as x, J as Oe, K as ae, L as ie, M as gt, N as Pe, O as be, P as We, Q as pt, R as Ce, S as yt, T as ce, U as xe, V as ze, W as Ie, X as Ge, Y as mt } from "./index-CN_xnR1S.mjs";
2
+ function we(c, e, ...d) {
3
+ var l = c, s = st, o;
4
+ Je(() => {
5
+ s !== (s = e()) && (o && (lt(o), o = null), o = Qe(() => (
6
+ /** @type {SnippetFn} */
7
+ s(l, ...d)
8
+ )));
9
+ }, Ke), He && (l = Ve);
4
10
  }
5
- var mt = y('<p class="error svelte-47ttlb">Error loading recording.</p>'), yt = y('&bull; <button class="link svelte-47ttlb"> </button>', 1), xt = (d, e) => u(e, !0), kt = y(' <button class="link svelte-47ttlb">Show more</button>', 1), wt = (d, e) => u(e, !1), Ht = y(' <button class="link svelte-47ttlb">Show less</button>', 1), It = y('<span class="placeholder svelte-47ttlb"></span>'), zt = y('<div role="group" aria-label="44 audio player"><div class="display svelte-47ttlb"><!></div> <!> <div class="details svelte-47ttlb"><div class="title svelte-47ttlb">Transcription <!></div> <div class="transcription"><!></div></div></div>');
6
- const St = {
11
+ function ht(c, e, d) {
12
+ He && ft();
13
+ var l = c, s, o, u = null, m = null;
14
+ function k() {
15
+ o && (ct(o), o = null), u && (u.lastChild.remove(), l.before(u), u = null), o = m, m = null;
16
+ }
17
+ Je(() => {
18
+ if (s !== (s = e())) {
19
+ var h = ut();
20
+ if (s) {
21
+ var b = l;
22
+ h && (u = document.createDocumentFragment(), u.append(b = dt()), o && Ue.skipped_effects.add(o)), m = Qe(() => d(b, s));
23
+ }
24
+ h ? Ue.add_callback(k) : k();
25
+ }
26
+ }, Ke), He && (l = Ve);
27
+ }
28
+ function bt(c, e) {
29
+ x(e, !t(e));
30
+ }
31
+ var _t = A('<p class="error svelte-47ttlb">Error loading recording.</p>'), kt = A('&bull; <button class="link svelte-47ttlb"> </button>', 1), Pt = (c, e) => x(e, !0), wt = A(' <button class="link svelte-47ttlb">Show more</button>', 1), xt = (c, e) => x(e, !1), zt = A(' <button class="link svelte-47ttlb">Show less</button>', 1), It = A('<span class="placeholder svelte-47ttlb"></span>'), Lt = A('<div role="group" aria-label="44 audio player"><div class="display svelte-47ttlb"><!></div> <!> <div class="details svelte-47ttlb"><div class="title svelte-47ttlb">Transcription <!></div> <div class="transcription"><!></div></div></div>');
32
+ const Ct = {
7
33
  hash: "svelte-47ttlb",
8
34
  code: "button.svelte-47ttlb {font:inherit;margin:0;padding:0;box-sizing:border-box;border:none;background:none;cursor:pointer;}.link.svelte-47ttlb {background:none;border:none;color:var(--44-color-2);cursor:pointer;padding:0;font:inherit;}.link.svelte-47ttlb:hover {color:var(--44-color-3);text-decoration:underline;}.container.svelte-47ttlb {padding:16px;}.container.loading.svelte-47ttlb .display:where(.svelte-47ttlb) {opacity:0.5;}.display.svelte-47ttlb {display:flex;align-items:center;gap:12px;transition:opacity 0.2s;}.details.svelte-47ttlb {transition:opacity 0.2s;}.container.loading.svelte-47ttlb .details:where(.svelte-47ttlb) {opacity:0.5;}.details.svelte-47ttlb .title:where(.svelte-47ttlb) {font-weight:bold;margin-top:16px;margin-bottom:8px;}.error.svelte-47ttlb {margin:16px 0 0;opacity:0.7;}.placeholder.svelte-47ttlb {display:block;height:1em;width:100%;background:currentColor;opacity:0.15;border-radius:4px;}"
9
35
  };
10
- function Y(d, e) {
11
- V(e, !0), W(d, St);
12
- let l = v(e, "recordingId", 7), a = v(e, "recording", 7, null), c = v(e, "loading", 7, !1), j = v(e, "error", 7, !1), x = v(e, "apiHost", 7), p = L(!1), f = L(!1);
13
- const O = G(() => a()?.waveform ?? Array(100).fill(0));
14
- var k = {
36
+ function Xe(c, e) {
37
+ te(e, !0), de(c, Ct);
38
+ let d = i(e, "recordingId", 7), l = i(e, "recording", 7, null), s = i(e, "loading", 7, !1), o = i(e, "error", 7, !1), u = i(e, "apiHost", 7), m = N(!1), k = N(!1);
39
+ const h = Y(() => l()?.waveform ?? Array(100).fill(0));
40
+ var b = {
15
41
  get recordingId() {
16
- return l();
42
+ return d();
17
43
  },
18
- set recordingId(t) {
19
- l(t), g();
44
+ set recordingId(a) {
45
+ d(a), n();
20
46
  },
21
47
  get recording() {
22
- return a();
48
+ return l();
23
49
  },
24
- set recording(t = null) {
25
- a(t), g();
50
+ set recording(a = null) {
51
+ l(a), n();
26
52
  },
27
53
  get loading() {
28
- return c();
54
+ return s();
29
55
  },
30
- set loading(t = !1) {
31
- c(t), g();
56
+ set loading(a = !1) {
57
+ s(a), n();
32
58
  },
33
59
  get error() {
34
- return j();
60
+ return o();
35
61
  },
36
- set error(t = !1) {
37
- j(t), g();
62
+ set error(a = !1) {
63
+ o(a), n();
38
64
  },
39
65
  get apiHost() {
40
- return x();
66
+ return u();
41
67
  },
42
- set apiHost(t) {
43
- x(t), g();
68
+ set apiHost(a) {
69
+ u(a), n();
44
70
  }
45
- }, w = zt();
46
- let r;
47
- var o = _(w), Z = _(o);
71
+ }, P = Lt();
72
+ let _;
73
+ var r = j(P), S = j(r);
48
74
  {
49
- let t = G(() => `https://${x()}/v1/recordings/${l()}/audio.mp3`);
50
- pt(Z, {
75
+ let a = Y(() => `https://${u()}/v1/recordings/${d()}/audio.mp3`);
76
+ vt(S, {
51
77
  get audioURL() {
52
- return n(t);
78
+ return t(a);
53
79
  },
54
80
  get waveform() {
55
- return n(O);
81
+ return t(h);
56
82
  }
57
83
  });
58
84
  }
59
- m(o);
60
- var J = b(o, 2);
85
+ D(r);
86
+ var w = K(r, 2);
61
87
  {
62
- var $ = (t) => {
63
- var s = mt();
64
- i(t, s);
88
+ var f = (a) => {
89
+ var F = _t();
90
+ g(a, F);
65
91
  };
66
- S(J, (t) => {
67
- j() && t($);
92
+ q(w, (a) => {
93
+ o() && a(f);
68
94
  });
69
95
  }
70
- var K = b(J, 2), R = _(K), tt = b(_(R));
96
+ var L = K(w, 2), y = j(L), z = K(j(y));
71
97
  {
72
- var et = (t) => {
73
- var s = yt(), A = b(T(s));
74
- A.__click = [_t, p];
75
- var U = _(A, !0);
76
- m(A), h(() => F(U, n(p) ? "Original" : "Translation")), i(t, s);
98
+ var R = (a) => {
99
+ var F = kt(), I = K(E(F));
100
+ I.__click = [bt, m];
101
+ var H = j(I, !0);
102
+ D(I), Q(() => se(H, t(m) ? "Original" : "Translation")), g(a, F);
77
103
  };
78
- S(tt, (t) => {
79
- a()?.translation && t(et);
104
+ q(z, (a) => {
105
+ l()?.translation && a(R);
80
106
  });
81
107
  }
82
- m(R);
83
- var M = b(R, 2), rt = _(M);
108
+ D(y);
109
+ var B = K(y, 2), $ = j(B);
84
110
  {
85
- var at = (t) => {
86
- var s = D(), A = T(s);
111
+ var T = (a) => {
112
+ var F = U(), I = E(F);
87
113
  {
88
- var U = (H) => {
89
- var C = N();
90
- h(() => F(C, a().translation)), i(H, C);
91
- }, it = (H) => {
92
- var C = D(), lt = T(C);
114
+ var H = (O) => {
115
+ var G = Oe();
116
+ Q(() => se(G, l().translation)), g(O, G);
117
+ }, Z = (O) => {
118
+ var G = U(), fe = E(G);
93
119
  {
94
- var nt = (I) => {
95
- var E = D(), dt = T(E);
120
+ var ve = (v) => {
121
+ var V = U(), J = E(V);
96
122
  {
97
- var ct = (z) => {
98
- var P = kt(), q = T(P), B = b(q);
99
- B.__click = [xt, f], h((gt) => F(q, `${gt ?? ""}... `), [() => a().transcription.slice(0, 200)]), i(z, P);
100
- }, vt = (z) => {
101
- var P = Ht(), q = T(P), B = b(q);
102
- B.__click = [wt, f], h(() => F(q, `${a().transcription ?? ""} `)), i(z, P);
123
+ var ne = (p) => {
124
+ var C = wt(), X = E(C), oe = K(X);
125
+ oe.__click = [Pt, k], Q((pe) => se(X, `${pe ?? ""}... `), [() => l().transcription.slice(0, 200)]), g(p, C);
126
+ }, ge = (p) => {
127
+ var C = zt(), X = E(C), oe = K(X);
128
+ oe.__click = [xt, k], Q(() => se(X, `${l().transcription ?? ""} `)), g(p, C);
103
129
  };
104
- S(dt, (z) => {
105
- n(f) ? z(vt, !1) : z(ct);
130
+ q(J, (p) => {
131
+ t(k) ? p(ge, !1) : p(ne);
106
132
  });
107
133
  }
108
- i(I, E);
109
- }, st = (I) => {
110
- var E = N();
111
- h(() => F(E, a().transcription)), i(I, E);
134
+ g(v, V);
135
+ }, ee = (v) => {
136
+ var V = Oe();
137
+ Q(() => se(V, l().transcription)), g(v, V);
112
138
  };
113
- S(
114
- lt,
115
- (I) => {
116
- a().transcription.length > 200 ? I(nt) : I(st, !1);
139
+ q(
140
+ fe,
141
+ (v) => {
142
+ l().transcription.length > 200 ? v(ve) : v(ee, !1);
117
143
  },
118
144
  !0
119
145
  );
120
146
  }
121
- i(H, C);
147
+ g(O, G);
122
148
  };
123
- S(A, (H) => {
124
- n(p) ? H(U) : H(it, !1);
149
+ q(I, (O) => {
150
+ t(m) ? O(H) : O(Z, !1);
125
151
  });
126
152
  }
127
- i(t, s);
128
- }, ot = (t) => {
129
- var s = It();
130
- i(t, s);
153
+ g(a, F);
154
+ }, M = (a) => {
155
+ var F = It();
156
+ g(a, F);
131
157
  };
132
- S(rt, (t) => {
133
- a()?.transcription ? t(at) : t(ot, !1);
158
+ q($, (a) => {
159
+ l()?.transcription ? a(T) : a(M, !1);
134
160
  });
135
161
  }
136
- return m(M), m(K), m(w), h((t) => r = ft(w, 1, "container svelte-47ttlb", null, r, t), [() => ({ loading: c() })]), i(d, w), X(k);
162
+ return D(B), D(L), D(P), Q((a) => _ = je(P, 1, "container svelte-47ttlb", null, _, a), [() => ({ loading: s() })]), g(c, P), re(b);
137
163
  }
138
- ut(["click"]);
139
- Q(
140
- Y,
164
+ Be(["click"]);
165
+ W(
166
+ Xe,
141
167
  {
142
168
  recordingId: {},
143
169
  recording: {},
@@ -149,70 +175,70 @@ Q(
149
175
  [],
150
176
  !0
151
177
  );
152
- var Tt = y('<div class="container svelte-yizh5h" role="group" aria-label="44 audio player"><!></div>');
153
- const jt = {
178
+ var Rt = A('<div class="container svelte-yizh5h" role="group" aria-label="44 audio player"><!></div>');
179
+ const Tt = {
154
180
  hash: "svelte-yizh5h",
155
181
  code: ":host {display:block;font-size:inherit;font-family:system-ui;line-height:1.35;color:var(--44-color-1);min-height:150px;}.container.svelte-yizh5h {width:100%;border-radius:16px;background:var(--44-color-0);color:var(--44-color-1);}"
156
182
  };
157
- function At(d, e) {
158
- V(e, !0), W(d, jt);
159
- let l = v(e, "recordingId", 7), a = v(e, "theme", 7), c = v(e, "apiHost", 7, "api.44.audio");
160
- const j = G(() => a().split(",").map((r, o) => `--44-color-${o}: ${r.trim()};`).join(" "));
161
- let x = L(null), p = L(!0), f = L(!1);
162
- bt(() => {
163
- const r = l();
164
- u(p, !0), u(f, !1), fetch(`https://${c()}/v1/recordings/${r}/player`).then((o) => {
165
- if (!o.ok)
183
+ function Et(c, e) {
184
+ te(e, !0), de(c, Tt);
185
+ let d = i(e, "recordingId", 7), l = i(e, "theme", 7, "#ffffff,#000000,#3b82f6,#2563eb,#8b5cf6,#7c3aed"), s = i(e, "apiHost", 7, "api.44.audio");
186
+ const o = Y(() => l().split(",").map((_, r) => `--44-color-${r}: ${_.trim()};`).join(" "));
187
+ let u = N(null), m = N(!0), k = N(!1);
188
+ ae(() => {
189
+ const _ = d();
190
+ x(m, !0), x(k, !1), fetch(`https://${s()}/v1/recordings/${_}/player`).then((r) => {
191
+ if (!r.ok)
166
192
  throw new Error("Failed to fetch data");
167
- return o.json();
168
- }).then((o) => {
169
- l() === r && o.status === "ready" && u(x, o, !0);
170
- }).catch((o) => {
171
- console.error(o), l() === r && u(f, !0);
193
+ return r.json();
194
+ }).then((r) => {
195
+ d() === _ && r.status === "ready" && x(u, r, !0);
196
+ }).catch((r) => {
197
+ console.error(r), d() === _ && x(k, !0);
172
198
  }).finally(() => {
173
- l() === r && u(p, !1);
199
+ d() === _ && x(m, !1);
174
200
  });
175
201
  });
176
- var O = {
202
+ var h = {
177
203
  get recordingId() {
178
- return l();
204
+ return d();
179
205
  },
180
- set recordingId(r) {
181
- l(r), g();
206
+ set recordingId(_) {
207
+ d(_), n();
182
208
  },
183
209
  get theme() {
184
- return a();
210
+ return l();
185
211
  },
186
- set theme(r) {
187
- a(r), g();
212
+ set theme(_ = "#ffffff,#000000,#3b82f6,#2563eb,#8b5cf6,#7c3aed") {
213
+ l(_), n();
188
214
  },
189
215
  get apiHost() {
190
- return c();
216
+ return s();
191
217
  },
192
- set apiHost(r = "api.44.audio") {
193
- c(r), g();
218
+ set apiHost(_ = "api.44.audio") {
219
+ s(_), n();
194
220
  }
195
- }, k = Tt(), w = _(k);
196
- return Y(w, {
221
+ }, b = Rt(), P = j(b);
222
+ return Xe(P, {
197
223
  get apiHost() {
198
- return c();
224
+ return s();
199
225
  },
200
226
  get recordingId() {
201
- return l();
227
+ return d();
202
228
  },
203
229
  get recording() {
204
- return n(x);
230
+ return t(u);
205
231
  },
206
232
  get loading() {
207
- return n(p);
233
+ return t(m);
208
234
  },
209
235
  get error() {
210
- return n(f);
236
+ return t(k);
211
237
  }
212
- }), m(k), h(() => ht(k, n(j))), i(d, k), X(O);
238
+ }), D(b), Q(() => ie(b, t(o))), g(c, b), re(h);
213
239
  }
214
- customElements.define("fortyfour-audio-player", Q(
215
- At,
240
+ customElements.define("fortyfour-audio-player", W(
241
+ Et,
216
242
  {
217
243
  apiHost: { attribute: "api-host" },
218
244
  recordingId: { attribute: "recording-id" },
@@ -222,3 +248,1294 @@ customElements.define("fortyfour-audio-player", Q(
222
248
  [],
223
249
  !0
224
250
  ));
251
+ var St = A('<div part="ring" class="ring-progress svelte-1h9q29"><div class="ring-inner svelte-1h9q29"></div></div>');
252
+ const Mt = {
253
+ hash: "svelte-1h9q29",
254
+ code: `.ring-progress.svelte-1h9q29 {position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;background:conic-gradient(
255
+ from 0deg,
256
+ var(--fortyfour-player-mini-ring-fill-color) var(--progress-deg),
257
+ var(--fortyfour-player-mini-ring-track-color) var(--progress-deg)
258
+ );}.ring-inner.svelte-1h9q29 {position:absolute;inset:var(--fortyfour-player-mini-ring-width);border-radius:inherit;background:var(--fortyfour-player-mini-background-color);}`
259
+ };
260
+ function De(c, e) {
261
+ te(e, !0), de(c, Mt);
262
+ let d = i(e, "progress", 7, 0);
263
+ const l = Y(() => d() * 360);
264
+ var s = {
265
+ get progress() {
266
+ return d();
267
+ },
268
+ set progress(u = 0) {
269
+ d(u), n();
270
+ }
271
+ }, o = St();
272
+ return Q(() => ie(o, `--progress-deg: ${t(l) ?? ""}deg`)), g(c, o), re(s);
273
+ }
274
+ W(De, { progress: {} }, [], [], !0);
275
+ var At = A('<div part="ripple" class="ripple ripple-small svelte-i128c7"></div>'), Ht = A('<div part="ripple" class="ripple ripple-medium svelte-i128c7"></div>'), qt = A('<div part="ripple" class="ripple ripple-large svelte-i128c7"></div>'), Ft = A("<!> <!> <!>", 1);
276
+ const Bt = {
277
+ hash: "svelte-i128c7",
278
+ code: `.ripple.svelte-i128c7 {position:absolute;inset:0;border-radius:inherit;border:2px solid var(--fortyfour-player-mini-background-color);pointer-events:none;
279
+ animation: ripple 1.5s ease-out infinite;}.ripple-small.svelte-i128c7 {
280
+ animation-name: svelte-i128c7-ripple-small;}.ripple-medium.svelte-i128c7 {
281
+ animation-name: svelte-i128c7-ripple-medium;}.ripple-large.svelte-i128c7 {
282
+ animation-name: svelte-i128c7-ripple-large;}
283
+
284
+ @keyframes svelte-i128c7-ripple-small {
285
+ 0% {
286
+ transform: scale(1);
287
+ opacity: 0.4;
288
+ }
289
+ 100% {
290
+ transform: scale(calc(1 + 0.15 * var(--intensity, 1)));
291
+ opacity: 0;
292
+ }
293
+ }
294
+
295
+ @keyframes svelte-i128c7-ripple-medium {
296
+ 0% {
297
+ transform: scale(1);
298
+ opacity: 0.5;
299
+ }
300
+ 100% {
301
+ transform: scale(calc(1 + 0.3 * var(--intensity, 1)));
302
+ opacity: 0;
303
+ }
304
+ }
305
+
306
+ @keyframes svelte-i128c7-ripple-large {
307
+ 0% {
308
+ transform: scale(1);
309
+ opacity: 0.6;
310
+ }
311
+ 100% {
312
+ transform: scale(calc(1 + 0.5 * var(--intensity, 1)));
313
+ opacity: 0;
314
+ }
315
+ }
316
+
317
+ @media (prefers-reduced-motion: reduce) {.ripple.svelte-i128c7 {
318
+ animation: none;}
319
+ }`
320
+ };
321
+ function Ne(c, e) {
322
+ te(e, !0), de(c, Bt);
323
+ let d = i(e, "isPlaying", 7, !1), l = i(e, "amplitude", 7, 0), s = i(e, "intensity", 7, 1), o = N(gt({ small: !1, medium: !1, large: !1 }));
324
+ function u(f) {
325
+ return f < 33 ? "small" : f < 66 ? "medium" : "large";
326
+ }
327
+ ae(() => {
328
+ if (!d()) {
329
+ x(o, { small: !1, medium: !1, large: !1 }, !0);
330
+ return;
331
+ }
332
+ const f = u(l());
333
+ t(o)[f] || (t(o)[f] = !0);
334
+ });
335
+ function m(f) {
336
+ t(o)[f] = !1;
337
+ }
338
+ var k = {
339
+ get isPlaying() {
340
+ return d();
341
+ },
342
+ set isPlaying(f = !1) {
343
+ d(f), n();
344
+ },
345
+ get amplitude() {
346
+ return l();
347
+ },
348
+ set amplitude(f = 0) {
349
+ l(f), n();
350
+ },
351
+ get intensity() {
352
+ return s();
353
+ },
354
+ set intensity(f = 1) {
355
+ s(f), n();
356
+ }
357
+ }, h = Ft(), b = E(h);
358
+ {
359
+ var P = (f) => {
360
+ var L = At();
361
+ Q(() => ie(L, `--intensity: ${s() ?? ""};`)), Pe("animationend", L, () => m("small")), g(f, L);
362
+ };
363
+ q(b, (f) => {
364
+ t(o).small && f(P);
365
+ });
366
+ }
367
+ var _ = K(b, 2);
368
+ {
369
+ var r = (f) => {
370
+ var L = Ht();
371
+ Q(() => ie(L, `--intensity: ${s() ?? ""};`)), Pe("animationend", L, () => m("medium")), g(f, L);
372
+ };
373
+ q(_, (f) => {
374
+ t(o).medium && f(r);
375
+ });
376
+ }
377
+ var S = K(_, 2);
378
+ {
379
+ var w = (f) => {
380
+ var L = qt();
381
+ Q(() => ie(L, `--intensity: ${s() ?? ""};`)), Pe("animationend", L, () => m("large")), g(f, L);
382
+ };
383
+ q(S, (f) => {
384
+ t(o).large && f(w);
385
+ });
386
+ }
387
+ return g(c, h), re(k);
388
+ }
389
+ W(Ne, { isPlaying: {}, amplitude: {}, intensity: {} }, [], [], !0);
390
+ var jt = A('<div class="shape-wrapper svelte-1vidy74"><!> <button part="button"><!> <span part="icon" class="icon svelte-1vidy74"><!></span></button></div>');
391
+ const Dt = {
392
+ hash: "svelte-1vidy74",
393
+ code: `.shape-wrapper.svelte-1vidy74 {position:relative;width:1em;height:1em;}.play-button.svelte-1vidy74 {position:relative;width:100%;height:100%;border:var(--fortyfour-player-mini-border-width) solid
394
+ var(--fortyfour-player-mini-border-color);cursor:pointer;display:flex;align-items:center;justify-content:center;background:var(--fortyfour-player-mini-background-color);color:var(--fortyfour-player-mini-icon-color);}.play-button.svelte-1vidy74:focus-visible {outline:var(--fortyfour-player-mini-focus-width) solid var(--fortyfour-player-mini-focus-color);outline-offset:var(--fortyfour-player-mini-focus-offset);}.play-button.svelte-1vidy74:disabled {opacity:0.5;cursor:not-allowed;}.play-button.has-ring-progress.svelte-1vidy74 {border:none;}.icon.svelte-1vidy74 {position:relative;z-index:1;width:1em;height:1em;display:flex;align-items:center;justify-content:center;}.icon.svelte-1vidy74 svg {width:100%;height:100%;fill:currentColor;}`
395
+ };
396
+ function Re(c, e) {
397
+ te(e, !0), de(c, Dt);
398
+ let d = i(e, "onclick", 7), l = i(e, "disabled", 7, !1), s = i(e, "loading", 7, !1), o = i(e, "visualization", 7, "none"), u = i(e, "progressPercent", 7, 0), m = i(e, "isPlaying", 7, !1), k = i(e, "amplitude", 7, 0), h = i(e, "rippleIntensity", 7, 1), b = i(e, "ariaLabel", 7, "Play"), P = i(e, "borderRadius", 7, "50%"), _ = i(e, "children", 7);
399
+ var r = {
400
+ get onclick() {
401
+ return d();
402
+ },
403
+ set onclick(a) {
404
+ d(a), n();
405
+ },
406
+ get disabled() {
407
+ return l();
408
+ },
409
+ set disabled(a = !1) {
410
+ l(a), n();
411
+ },
412
+ get loading() {
413
+ return s();
414
+ },
415
+ set loading(a = !1) {
416
+ s(a), n();
417
+ },
418
+ get visualization() {
419
+ return o();
420
+ },
421
+ set visualization(a = "none") {
422
+ o(a), n();
423
+ },
424
+ get progressPercent() {
425
+ return u();
426
+ },
427
+ set progressPercent(a = 0) {
428
+ u(a), n();
429
+ },
430
+ get isPlaying() {
431
+ return m();
432
+ },
433
+ set isPlaying(a = !1) {
434
+ m(a), n();
435
+ },
436
+ get amplitude() {
437
+ return k();
438
+ },
439
+ set amplitude(a = 0) {
440
+ k(a), n();
441
+ },
442
+ get rippleIntensity() {
443
+ return h();
444
+ },
445
+ set rippleIntensity(a = 1) {
446
+ h(a), n();
447
+ },
448
+ get ariaLabel() {
449
+ return b();
450
+ },
451
+ set ariaLabel(a = "Play") {
452
+ b(a), n();
453
+ },
454
+ get borderRadius() {
455
+ return P();
456
+ },
457
+ set borderRadius(a = "50%") {
458
+ P(a), n();
459
+ },
460
+ get children() {
461
+ return _();
462
+ },
463
+ set children(a) {
464
+ _(a), n();
465
+ }
466
+ }, S = jt();
467
+ let w;
468
+ var f = j(S);
469
+ {
470
+ var L = (a) => {
471
+ Ne(a, {
472
+ get isPlaying() {
473
+ return m();
474
+ },
475
+ get amplitude() {
476
+ return k();
477
+ },
478
+ get intensity() {
479
+ return h();
480
+ }
481
+ });
482
+ };
483
+ q(f, (a) => {
484
+ o() === "ripple" && a(L);
485
+ });
486
+ }
487
+ var y = K(f, 2);
488
+ let z;
489
+ y.__click = function(...a) {
490
+ d()?.apply(this, a);
491
+ };
492
+ let R;
493
+ var B = j(y);
494
+ {
495
+ var $ = (a) => {
496
+ De(a, {
497
+ get progress() {
498
+ return u();
499
+ }
500
+ });
501
+ };
502
+ q(B, (a) => {
503
+ o() === "ring" && a($);
504
+ });
505
+ }
506
+ var T = K(B, 2), M = j(T);
507
+ return we(M, _), D(T), D(y), D(S), Q(
508
+ (a, F, I) => {
509
+ w = ie(S, "", w, a), z = je(y, 1, "play-button svelte-1vidy74", null, z, F), y.disabled = l(), be(y, "aria-label", b()), be(y, "aria-busy", s()), R = ie(y, "", R, I);
510
+ },
511
+ [
512
+ () => ({ "border-radius": P() }),
513
+ () => ({ "has-ring-progress": o() === "ring" }),
514
+ () => ({ "border-radius": P() })
515
+ ]
516
+ ), g(c, S), re(r);
517
+ }
518
+ Be(["click"]);
519
+ W(
520
+ Re,
521
+ {
522
+ onclick: {},
523
+ disabled: {},
524
+ loading: {},
525
+ visualization: {},
526
+ progressPercent: {},
527
+ isPlaying: {},
528
+ amplitude: {},
529
+ rippleIntensity: {},
530
+ ariaLabel: {},
531
+ borderRadius: {},
532
+ children: {}
533
+ },
534
+ [],
535
+ [],
536
+ !0
537
+ );
538
+ function qe(c, e) {
539
+ te(e, !0);
540
+ let d = i(e, "onclick", 7), l = i(e, "disabled", 7, !1), s = i(e, "loading", 7, !1), o = i(e, "visualization", 7, "none"), u = i(e, "progressPercent", 7, 0), m = i(e, "isPlaying", 7, !1), k = i(e, "amplitude", 7, 0), h = i(e, "rippleIntensity", 7, 1), b = i(e, "ariaLabel", 7, "Play"), P = i(e, "children", 7);
541
+ var _ = {
542
+ get onclick() {
543
+ return d();
544
+ },
545
+ set onclick(r) {
546
+ d(r), n();
547
+ },
548
+ get disabled() {
549
+ return l();
550
+ },
551
+ set disabled(r = !1) {
552
+ l(r), n();
553
+ },
554
+ get loading() {
555
+ return s();
556
+ },
557
+ set loading(r = !1) {
558
+ s(r), n();
559
+ },
560
+ get visualization() {
561
+ return o();
562
+ },
563
+ set visualization(r = "none") {
564
+ o(r), n();
565
+ },
566
+ get progressPercent() {
567
+ return u();
568
+ },
569
+ set progressPercent(r = 0) {
570
+ u(r), n();
571
+ },
572
+ get isPlaying() {
573
+ return m();
574
+ },
575
+ set isPlaying(r = !1) {
576
+ m(r), n();
577
+ },
578
+ get amplitude() {
579
+ return k();
580
+ },
581
+ set amplitude(r = 0) {
582
+ k(r), n();
583
+ },
584
+ get rippleIntensity() {
585
+ return h();
586
+ },
587
+ set rippleIntensity(r = 1) {
588
+ h(r), n();
589
+ },
590
+ get ariaLabel() {
591
+ return b();
592
+ },
593
+ set ariaLabel(r = "Play") {
594
+ b(r), n();
595
+ },
596
+ get children() {
597
+ return P();
598
+ },
599
+ set children(r) {
600
+ P(r), n();
601
+ }
602
+ };
603
+ return Re(c, {
604
+ get onclick() {
605
+ return d();
606
+ },
607
+ get disabled() {
608
+ return l();
609
+ },
610
+ get loading() {
611
+ return s();
612
+ },
613
+ get visualization() {
614
+ return o();
615
+ },
616
+ get progressPercent() {
617
+ return u();
618
+ },
619
+ get isPlaying() {
620
+ return m();
621
+ },
622
+ get amplitude() {
623
+ return k();
624
+ },
625
+ get rippleIntensity() {
626
+ return h();
627
+ },
628
+ get ariaLabel() {
629
+ return b();
630
+ },
631
+ borderRadius: "50%",
632
+ children: (r, S) => {
633
+ var w = U(), f = E(w);
634
+ we(f, P), g(r, w);
635
+ },
636
+ $$slots: { default: !0 }
637
+ }), re(_);
638
+ }
639
+ W(
640
+ qe,
641
+ {
642
+ onclick: {},
643
+ disabled: {},
644
+ loading: {},
645
+ visualization: {},
646
+ progressPercent: {},
647
+ isPlaying: {},
648
+ amplitude: {},
649
+ rippleIntensity: {},
650
+ ariaLabel: {},
651
+ children: {}
652
+ },
653
+ [],
654
+ [],
655
+ !0
656
+ );
657
+ function Ye(c, e) {
658
+ te(e, !0);
659
+ let d = i(e, "onclick", 7), l = i(e, "disabled", 7, !1), s = i(e, "loading", 7, !1), o = i(e, "visualization", 7, "none"), u = i(e, "progressPercent", 7, 0), m = i(e, "isPlaying", 7, !1), k = i(e, "amplitude", 7, 0), h = i(e, "rippleIntensity", 7, 1), b = i(e, "ariaLabel", 7, "Play"), P = i(e, "children", 7);
660
+ var _ = {
661
+ get onclick() {
662
+ return d();
663
+ },
664
+ set onclick(r) {
665
+ d(r), n();
666
+ },
667
+ get disabled() {
668
+ return l();
669
+ },
670
+ set disabled(r = !1) {
671
+ l(r), n();
672
+ },
673
+ get loading() {
674
+ return s();
675
+ },
676
+ set loading(r = !1) {
677
+ s(r), n();
678
+ },
679
+ get visualization() {
680
+ return o();
681
+ },
682
+ set visualization(r = "none") {
683
+ o(r), n();
684
+ },
685
+ get progressPercent() {
686
+ return u();
687
+ },
688
+ set progressPercent(r = 0) {
689
+ u(r), n();
690
+ },
691
+ get isPlaying() {
692
+ return m();
693
+ },
694
+ set isPlaying(r = !1) {
695
+ m(r), n();
696
+ },
697
+ get amplitude() {
698
+ return k();
699
+ },
700
+ set amplitude(r = 0) {
701
+ k(r), n();
702
+ },
703
+ get rippleIntensity() {
704
+ return h();
705
+ },
706
+ set rippleIntensity(r = 1) {
707
+ h(r), n();
708
+ },
709
+ get ariaLabel() {
710
+ return b();
711
+ },
712
+ set ariaLabel(r = "Play") {
713
+ b(r), n();
714
+ },
715
+ get children() {
716
+ return P();
717
+ },
718
+ set children(r) {
719
+ P(r), n();
720
+ }
721
+ };
722
+ return Re(c, {
723
+ get onclick() {
724
+ return d();
725
+ },
726
+ get disabled() {
727
+ return l();
728
+ },
729
+ get loading() {
730
+ return s();
731
+ },
732
+ get visualization() {
733
+ return o();
734
+ },
735
+ get progressPercent() {
736
+ return u();
737
+ },
738
+ get isPlaying() {
739
+ return m();
740
+ },
741
+ get amplitude() {
742
+ return k();
743
+ },
744
+ get rippleIntensity() {
745
+ return h();
746
+ },
747
+ get ariaLabel() {
748
+ return b();
749
+ },
750
+ borderRadius: "0",
751
+ children: (r, S) => {
752
+ var w = U(), f = E(w);
753
+ we(f, P), g(r, w);
754
+ },
755
+ $$slots: { default: !0 }
756
+ }), re(_);
757
+ }
758
+ W(
759
+ Ye,
760
+ {
761
+ onclick: {},
762
+ disabled: {},
763
+ loading: {},
764
+ visualization: {},
765
+ progressPercent: {},
766
+ isPlaying: {},
767
+ amplitude: {},
768
+ rippleIntensity: {},
769
+ ariaLabel: {},
770
+ children: {}
771
+ },
772
+ [],
773
+ [],
774
+ !0
775
+ );
776
+ function Ze(c, e) {
777
+ te(e, !0);
778
+ let d = i(e, "onclick", 7), l = i(e, "disabled", 7, !1), s = i(e, "loading", 7, !1), o = i(e, "visualization", 7, "none"), u = i(e, "progressPercent", 7, 0), m = i(e, "isPlaying", 7, !1), k = i(e, "amplitude", 7, 0), h = i(e, "rippleIntensity", 7, 1), b = i(e, "ariaLabel", 7, "Play"), P = i(e, "children", 7);
779
+ var _ = {
780
+ get onclick() {
781
+ return d();
782
+ },
783
+ set onclick(r) {
784
+ d(r), n();
785
+ },
786
+ get disabled() {
787
+ return l();
788
+ },
789
+ set disabled(r = !1) {
790
+ l(r), n();
791
+ },
792
+ get loading() {
793
+ return s();
794
+ },
795
+ set loading(r = !1) {
796
+ s(r), n();
797
+ },
798
+ get visualization() {
799
+ return o();
800
+ },
801
+ set visualization(r = "none") {
802
+ o(r), n();
803
+ },
804
+ get progressPercent() {
805
+ return u();
806
+ },
807
+ set progressPercent(r = 0) {
808
+ u(r), n();
809
+ },
810
+ get isPlaying() {
811
+ return m();
812
+ },
813
+ set isPlaying(r = !1) {
814
+ m(r), n();
815
+ },
816
+ get amplitude() {
817
+ return k();
818
+ },
819
+ set amplitude(r = 0) {
820
+ k(r), n();
821
+ },
822
+ get rippleIntensity() {
823
+ return h();
824
+ },
825
+ set rippleIntensity(r = 1) {
826
+ h(r), n();
827
+ },
828
+ get ariaLabel() {
829
+ return b();
830
+ },
831
+ set ariaLabel(r = "Play") {
832
+ b(r), n();
833
+ },
834
+ get children() {
835
+ return P();
836
+ },
837
+ set children(r) {
838
+ P(r), n();
839
+ }
840
+ };
841
+ return Re(c, {
842
+ get onclick() {
843
+ return d();
844
+ },
845
+ get disabled() {
846
+ return l();
847
+ },
848
+ get loading() {
849
+ return s();
850
+ },
851
+ get visualization() {
852
+ return o();
853
+ },
854
+ get progressPercent() {
855
+ return u();
856
+ },
857
+ get isPlaying() {
858
+ return m();
859
+ },
860
+ get amplitude() {
861
+ return k();
862
+ },
863
+ get rippleIntensity() {
864
+ return h();
865
+ },
866
+ get ariaLabel() {
867
+ return b();
868
+ },
869
+ borderRadius: "var(--fortyfour-player-mini-border-radius)",
870
+ children: (r, S) => {
871
+ var w = U(), f = E(w);
872
+ we(f, P), g(r, w);
873
+ },
874
+ $$slots: { default: !0 }
875
+ }), re(_);
876
+ }
877
+ W(
878
+ Ze,
879
+ {
880
+ onclick: {},
881
+ disabled: {},
882
+ loading: {},
883
+ visualization: {},
884
+ progressPercent: {},
885
+ isPlaying: {},
886
+ amplitude: {},
887
+ rippleIntensity: {},
888
+ ariaLabel: {},
889
+ children: {}
890
+ },
891
+ [],
892
+ [],
893
+ !0
894
+ );
895
+ var Nt = A('<div class="shape-wrapper svelte-knsinh"><!> <button part="button" class="play-button svelte-knsinh"><div aria-hidden="true"><!></div> <span part="icon" class="icon svelte-knsinh"><!></span></button></div>');
896
+ const Ut = {
897
+ hash: "svelte-knsinh",
898
+ code: `.shape-wrapper.svelte-knsinh {position:relative;width:1em;height:1em;}.play-button.svelte-knsinh {position:relative;width:100%;height:100%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--fortyfour-player-mini-icon-color);padding:0;}.play-button.svelte-knsinh:focus-visible {outline:var(--fortyfour-player-mini-focus-width) solid var(--fortyfour-player-mini-focus-color);outline-offset:var(--fortyfour-player-mini-focus-offset);}.play-button.svelte-knsinh:disabled {opacity:0.5;cursor:not-allowed;}.blob-background.svelte-knsinh {position:absolute;inset:0;background:var(--fortyfour-player-mini-background-color);border:var(--fortyfour-player-mini-border-width) solid
899
+ var(--fortyfour-player-mini-border-color);overflow:hidden;}.blob-background.has-ring.svelte-knsinh {border:none;}.icon.svelte-knsinh {position:relative;z-index:1;width:1em;height:1em;display:flex;align-items:center;justify-content:center;}.icon.svelte-knsinh svg {width:100%;height:100%;fill:currentColor;}`
900
+ };
901
+ function $e(c, e) {
902
+ te(e, !0), de(c, Ut);
903
+ let d = i(e, "onclick", 7), l = i(e, "disabled", 7, !1), s = i(e, "loading", 7, !1), o = i(e, "visualization", 7, "none"), u = i(e, "progressPercent", 7, 0), m = i(e, "isPlaying", 7, !1), k = i(e, "amplitude", 7, 0), h = i(e, "rippleIntensity", 7, 1), b = i(e, "ariaLabel", 7, "Play"), P = i(e, "animate", 7, !1), _ = i(e, "speed", 7, 20), r = i(e, "children", 7);
904
+ const S = (v, V) => Math.floor(v + Math.random() * (V - v));
905
+ function w() {
906
+ const V = (ne) => 100 - ne;
907
+ let J = [];
908
+ for (let ne = 0; ne < 4; ne++) {
909
+ let ge = S(25, V(25));
910
+ J.push(ge), J.push(V(ge));
911
+ }
912
+ return `${J[0]}% ${J[1]}% ${J[2]}% ${J[3]}% / ${J[4]}% ${J[6]}% ${J[7]}% ${J[5]}%`;
913
+ }
914
+ const f = w(), L = [
915
+ { borderRadius: f, offset: 0 },
916
+ { borderRadius: w(), offset: 0.15 },
917
+ { borderRadius: w(), offset: 0.3 },
918
+ { borderRadius: w(), offset: 0.45 },
919
+ { borderRadius: w(), offset: 0.6 },
920
+ { borderRadius: w(), offset: 0.75 },
921
+ { borderRadius: w(), offset: 0.9 },
922
+ { borderRadius: f, offset: 1 }
923
+ ], y = f;
924
+ let z = N(null), R = null;
925
+ const B = typeof window < "u" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
926
+ ae(() => (t(z) && P() && !B && (R = t(z).animate(L, {
927
+ duration: _() * 1e3,
928
+ iterations: 1 / 0,
929
+ easing: "ease"
930
+ })), () => {
931
+ R && (R.cancel(), R = null);
932
+ }));
933
+ var $ = {
934
+ get onclick() {
935
+ return d();
936
+ },
937
+ set onclick(v) {
938
+ d(v), n();
939
+ },
940
+ get disabled() {
941
+ return l();
942
+ },
943
+ set disabled(v = !1) {
944
+ l(v), n();
945
+ },
946
+ get loading() {
947
+ return s();
948
+ },
949
+ set loading(v = !1) {
950
+ s(v), n();
951
+ },
952
+ get visualization() {
953
+ return o();
954
+ },
955
+ set visualization(v = "none") {
956
+ o(v), n();
957
+ },
958
+ get progressPercent() {
959
+ return u();
960
+ },
961
+ set progressPercent(v = 0) {
962
+ u(v), n();
963
+ },
964
+ get isPlaying() {
965
+ return m();
966
+ },
967
+ set isPlaying(v = !1) {
968
+ m(v), n();
969
+ },
970
+ get amplitude() {
971
+ return k();
972
+ },
973
+ set amplitude(v = 0) {
974
+ k(v), n();
975
+ },
976
+ get rippleIntensity() {
977
+ return h();
978
+ },
979
+ set rippleIntensity(v = 1) {
980
+ h(v), n();
981
+ },
982
+ get ariaLabel() {
983
+ return b();
984
+ },
985
+ set ariaLabel(v = "Play") {
986
+ b(v), n();
987
+ },
988
+ get animate() {
989
+ return P();
990
+ },
991
+ set animate(v = !1) {
992
+ P(v), n();
993
+ },
994
+ get speed() {
995
+ return _();
996
+ },
997
+ set speed(v = 20) {
998
+ _(v), n();
999
+ },
1000
+ get children() {
1001
+ return r();
1002
+ },
1003
+ set children(v) {
1004
+ r(v), n();
1005
+ }
1006
+ }, T = Nt();
1007
+ let M;
1008
+ var a = j(T);
1009
+ {
1010
+ var F = (v) => {
1011
+ Ne(v, {
1012
+ get isPlaying() {
1013
+ return m();
1014
+ },
1015
+ get amplitude() {
1016
+ return k();
1017
+ },
1018
+ get intensity() {
1019
+ return h();
1020
+ }
1021
+ });
1022
+ };
1023
+ q(a, (v) => {
1024
+ o() === "ripple" && v(F);
1025
+ });
1026
+ }
1027
+ var I = K(a, 2);
1028
+ I.__click = function(...v) {
1029
+ d()?.apply(this, v);
1030
+ };
1031
+ var H = j(I);
1032
+ let Z, O;
1033
+ var G = j(H);
1034
+ {
1035
+ var fe = (v) => {
1036
+ De(v, {
1037
+ get progress() {
1038
+ return u();
1039
+ }
1040
+ });
1041
+ };
1042
+ q(G, (v) => {
1043
+ o() === "ring" && v(fe);
1044
+ });
1045
+ }
1046
+ D(H), We(H, (v) => x(z, v), () => t(z));
1047
+ var ve = K(H, 2), ee = j(ve);
1048
+ return we(ee, r), D(ve), D(I), D(T), Q(
1049
+ (v, V, J) => {
1050
+ M = ie(T, "", M, v), I.disabled = l(), be(I, "aria-label", b()), be(I, "aria-busy", s()), Z = je(H, 1, "blob-background svelte-knsinh", null, Z, V), O = ie(H, "", O, J);
1051
+ },
1052
+ [
1053
+ () => ({ "border-radius": y }),
1054
+ () => ({ "has-ring": o() === "ring" }),
1055
+ () => ({ "border-radius": y })
1056
+ ]
1057
+ ), g(c, T), re($);
1058
+ }
1059
+ Be(["click"]);
1060
+ W(
1061
+ $e,
1062
+ {
1063
+ onclick: {},
1064
+ disabled: {},
1065
+ loading: {},
1066
+ visualization: {},
1067
+ progressPercent: {},
1068
+ isPlaying: {},
1069
+ amplitude: {},
1070
+ rippleIntensity: {},
1071
+ ariaLabel: {},
1072
+ animate: {},
1073
+ speed: {},
1074
+ children: {}
1075
+ },
1076
+ [],
1077
+ [],
1078
+ !0
1079
+ );
1080
+ pt();
1081
+ var Ot = Ce('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" aria-hidden="true"><path d="M187.2 100.9C174.8 94.1 159.8 94.4 147.6 101.6C135.4 108.8 128 121.9 128 136L128 504C128 518.1 135.5 531.2 147.6 538.4C159.7 545.6 174.8 545.9 187.2 539.1L523.2 355.1C536 348.1 544 334.6 544 320C544 305.4 536 291.9 523.2 284.9L187.2 100.9z"></path></svg>');
1082
+ function et(c) {
1083
+ var e = Ot();
1084
+ g(c, e);
1085
+ }
1086
+ W(et, {}, [], [], !0);
1087
+ var Gt = Ce('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" aria-hidden="true"><path d="M176 96C149.5 96 128 117.5 128 144L128 496C128 522.5 149.5 544 176 544L240 544C266.5 544 288 522.5 288 496L288 144C288 117.5 266.5 96 240 96L176 96zM400 96C373.5 96 352 117.5 352 144L352 496C352 522.5 373.5 544 400 544L464 544C490.5 544 512 522.5 512 496L512 144C512 117.5 490.5 96 464 96L400 96z"></path></svg>');
1088
+ function tt(c) {
1089
+ var e = Gt();
1090
+ g(c, e);
1091
+ }
1092
+ W(tt, {}, [], [], !0);
1093
+ var Jt = Ce(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" aria-hidden="true"><style>circle {
1094
+ animation: fade 1s ease-in-out infinite;
1095
+ }
1096
+ circle:nth-child(2) {
1097
+ animation-delay: 0.2s;
1098
+ }
1099
+ circle:nth-child(3) {
1100
+ animation-delay: 0.4s;
1101
+ }
1102
+ @keyframes fade {
1103
+ 0%,
1104
+ 100% {
1105
+ opacity: 0.2;
1106
+ }
1107
+ 50% {
1108
+ opacity: 1;
1109
+ }
1110
+ }
1111
+ @media (prefers-reduced-motion: reduce) {
1112
+ circle {
1113
+ animation: none;
1114
+ opacity: 0.6;
1115
+ }
1116
+ }</style><circle cx="160" cy="320" r="56"></circle><circle cx="320" cy="320" r="56"></circle><circle cx="480" cy="320" r="56"></circle></svg>`);
1117
+ function rt(c) {
1118
+ var e = Jt();
1119
+ g(c, e);
1120
+ }
1121
+ W(rt, {}, [], [], !0);
1122
+ var Kt = Ce('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" aria-hidden="true"><path d="M320 64C178.6 64 64 178.6 64 320C64 461.4 178.6 576 320 576C461.4 576 576 461.4 576 320C576 178.6 461.4 64 320 64zM288 192C288 174.3 302.3 160 320 160C337.7 160 352 174.3 352 192L352 352C352 369.7 337.7 384 320 384C302.3 384 288 369.7 288 352L288 192zM320 480C302.3 480 288 465.7 288 448C288 430.3 302.3 416 320 416C337.7 416 352 430.3 352 448C352 465.7 337.7 480 320 480z"></path></svg>');
1123
+ function at(c) {
1124
+ var e = Kt();
1125
+ g(c, e);
1126
+ }
1127
+ W(at, {}, [], [], !0);
1128
+ const Fe = {
1129
+ delay: 0
1130
+ // ms to delay requests (set via console: window.__44_dev.delay = 2000)
1131
+ };
1132
+ typeof window < "u" && (window.__44_dev = Fe);
1133
+ function Qt(c) {
1134
+ return new Promise((e) => setTimeout(e, c));
1135
+ }
1136
+ async function Vt(c, e) {
1137
+ const d = `https://${c}/v1/recordings/${e}/player`;
1138
+ Fe.delay > 0 && await Qt(Fe.delay);
1139
+ const l = await fetch(d);
1140
+ if (!l.ok)
1141
+ throw l.status === 404 ? new Error(`Recording not found: ${e}`) : new Error(`Failed to fetch recording (${l.status})`);
1142
+ const s = await l.json();
1143
+ if (s.status !== "ready")
1144
+ throw new Error(`Recording not ready: ${e}`);
1145
+ return s;
1146
+ }
1147
+ function it(c, e = 200) {
1148
+ let d = N(!1);
1149
+ return ae(() => {
1150
+ if (c()) {
1151
+ const l = setTimeout(() => x(d, !0), e);
1152
+ return () => clearTimeout(l);
1153
+ } else
1154
+ x(d, !1);
1155
+ }), () => t(d);
1156
+ }
1157
+ function Le(c, e, d) {
1158
+ ae(() => {
1159
+ d() ? c.setAttribute(e, "") : c.removeAttribute(e);
1160
+ });
1161
+ }
1162
+ var Wt = A("<audio></audio>"), Xt = A("<!> <!>", 1);
1163
+ const Yt = {
1164
+ hash: "svelte-v1t5fc",
1165
+ code: `:host {--fortyfour-player-mini-size: 48px;--fortyfour-player-mini-background-color: #3b82f6;--fortyfour-player-mini-icon-color: #ffffff;--fortyfour-player-mini-border-width: 2px;--fortyfour-player-mini-border-color: #ffffff;--fortyfour-player-mini-border-radius: 12px;--fortyfour-player-mini-ring-width: var(--fortyfour-player-mini-border-width);--fortyfour-player-mini-ring-fill-color: #ffffff;--fortyfour-player-mini-ring-track-color: transparent;--fortyfour-player-mini-hover-scale: 1.04;--fortyfour-player-mini-hover-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);--fortyfour-player-mini-focus-color: var(--fortyfour-player-mini-background-color);--fortyfour-player-mini-focus-width: 2px;--fortyfour-player-mini-focus-offset: 2px;font-size:var(--fortyfour-player-mini-size);}:host([hover="scale"]) {transition:transform 0.15s ease-out;}:host([hover="scale"]:hover:not([disabled])) {transform:scale(var(--fortyfour-player-mini-hover-scale));}:host([hover="glow"]) {transition:filter 0.15s ease-out;}:host([hover="glow"]:hover:not([disabled])) {filter:drop-shadow(var(--fortyfour-player-mini-hover-shadow));}:host([hover="lift"]) {transition:transform 0.15s ease-out,
1166
+ filter 0.15s ease-out;}:host([hover="lift"]:hover:not([disabled])) {transform:scale(var(--fortyfour-player-mini-hover-scale));filter:drop-shadow(var(--fortyfour-player-mini-hover-shadow));}
1167
+
1168
+ @media (prefers-reduced-motion: reduce) {:host([hover="scale"]),
1169
+ :host([hover="glow"]),
1170
+ :host([hover="lift"]) {transition:none;}
1171
+ }`
1172
+ };
1173
+ function Zt(c, e) {
1174
+ te(e, !0), de(c, Yt);
1175
+ const d = (p) => {
1176
+ var C = U(), X = E(C);
1177
+ {
1178
+ var oe = (le) => {
1179
+ var ue = U(), ye = E(ue);
1180
+ ce(ye, e, "icon-error", {}, (Te) => {
1181
+ at(Te);
1182
+ }), g(le, ue);
1183
+ }, pe = (le) => {
1184
+ var ue = U(), ye = E(ue);
1185
+ {
1186
+ var Te = (me) => {
1187
+ var _e = U(), Ee = E(_e);
1188
+ ce(Ee, e, "icon-loading", {}, (Se) => {
1189
+ rt(Se);
1190
+ }), g(me, _e);
1191
+ }, nt = (me) => {
1192
+ var _e = U(), Ee = E(_e);
1193
+ {
1194
+ var Se = (he) => {
1195
+ var ke = U(), Me = E(ke);
1196
+ ce(Me, e, "icon-playing", {}, (Ae) => {
1197
+ tt(Ae);
1198
+ }), g(he, ke);
1199
+ }, ot = (he) => {
1200
+ var ke = U(), Me = E(ke);
1201
+ ce(Me, e, "icon-paused", {}, (Ae) => {
1202
+ et(Ae);
1203
+ }), g(he, ke);
1204
+ };
1205
+ q(
1206
+ Ee,
1207
+ (he) => {
1208
+ t(R) === "playing" ? he(Se) : he(ot, !1);
1209
+ },
1210
+ !0
1211
+ );
1212
+ }
1213
+ g(me, _e);
1214
+ };
1215
+ q(
1216
+ ye,
1217
+ (me) => {
1218
+ $() ? me(Te) : me(nt, !1);
1219
+ },
1220
+ !0
1221
+ );
1222
+ }
1223
+ g(le, ue);
1224
+ };
1225
+ q(X, (le) => {
1226
+ t(f) ? le(oe) : le(pe, !1);
1227
+ });
1228
+ }
1229
+ g(p, C);
1230
+ }, l = e.$$host;
1231
+ let s = i(e, "apiHost", 7, "api.44.audio"), o = i(e, "recordingId", 7), u = i(e, "visualization", 7, "none"), m = i(e, "rippleIntensity", 7, 1), k = i(e, "hover", 7, "none"), h = i(e, "preload", 7, "none"), b = i(e, "shape", 7, "circle"), P = i(e, "blobAnimate", 7, !1), _ = i(e, "blobSpeed", 7, 20);
1232
+ const r = {
1233
+ circle: qe,
1234
+ square: Ye,
1235
+ "rounded-square": Ze,
1236
+ blob: $e
1237
+ };
1238
+ let S = N(null), w = N(h() !== "none"), f = N(!1), L = N(null), y = N(0), z = N(0), R = N("ready"), B = null;
1239
+ const $ = it(() => t(w), 200), T = Y(() => r[b()] ?? qe), M = Y(() => o() ? `https://${s()}/v1/recordings/${o()}/audio.mp3` : null), a = Y(() => t(z) > 0 ? t(y) / t(z) : 0), F = Y(() => ({
1240
+ onclick: ve,
1241
+ disabled: !o() || t(f),
1242
+ loading: t(w),
1243
+ visualization: u(),
1244
+ progressPercent: t(a),
1245
+ isPlaying: t(R) === "playing",
1246
+ amplitude: t(H),
1247
+ rippleIntensity: m(),
1248
+ ariaLabel: t(R) === "playing" ? "Pause" : "Play",
1249
+ ...b() === "blob" ? { animate: P(), speed: _() } : {}
1250
+ })), I = Y(() => t(S)?.waveform ?? []), H = Y(() => {
1251
+ if (!t(I).length || t(z) === 0) return 0;
1252
+ const p = Math.floor(t(y) / t(z) * t(I).length), C = 3, X = Math.max(0, p - Math.floor(C / 2)), oe = Math.min(t(I).length, X + C), pe = t(I).slice(X, oe), le = pe.reduce((ue, ye) => ue + ye * ye, 0);
1253
+ return Math.sqrt(le / pe.length);
1254
+ });
1255
+ async function Z() {
1256
+ if (t(S)) return;
1257
+ const p = o();
1258
+ x(w, !0), x(f, !1);
1259
+ try {
1260
+ const C = await Vt(s(), p);
1261
+ o() === p && x(S, C, !0);
1262
+ } catch (C) {
1263
+ console.warn(`fortyfour-player-mini: ${C.message}`), o() === p && (x(f, !0), ee("error", { error: C }));
1264
+ } finally {
1265
+ o() === p && x(w, !1);
1266
+ }
1267
+ }
1268
+ ae(() => {
1269
+ o() || console.warn("fortyfour-player-mini: recording-id attribute is required");
1270
+ }), ae(() => {
1271
+ !o() || h() === "none" || Z();
1272
+ }), ae(() => {
1273
+ t(S)?.duration && (x(z, t(S).duration, !0), ee("loadedmetadata", { duration: t(z) }));
1274
+ }), ae(() => {
1275
+ if (t(R) !== "playing" || !t(L)) return;
1276
+ const p = () => {
1277
+ x(y, t(L).currentTime * 1e3), ee("timeupdate", { currentTime: t(y), duration: t(z) }), B = requestAnimationFrame(p);
1278
+ };
1279
+ return B = requestAnimationFrame(p), () => cancelAnimationFrame(B);
1280
+ });
1281
+ function O() {
1282
+ x(y, t(z), !0), ee("timeupdate", { currentTime: t(y), duration: t(z) }), x(R, "ready"), ee("ended", {});
1283
+ }
1284
+ function G(p) {
1285
+ x(f, !0), ee("error", { error: p });
1286
+ }
1287
+ function fe() {
1288
+ t(L) && (t(L).play().catch(G), x(R, "playing"), ee("play", {}));
1289
+ }
1290
+ function ve() {
1291
+ t(w) || t(f) || (t(R) === "playing" ? (t(L).pause(), x(R, "paused"), ee("pause", {})) : !t(S) && h() === "none" ? Z().then(() => {
1292
+ t(f) || fe();
1293
+ }) : fe());
1294
+ }
1295
+ function ee(p, C) {
1296
+ l.dispatchEvent(new CustomEvent(p, { detail: C, bubbles: !0, composed: !0 }));
1297
+ }
1298
+ Le(l, "data-playing", () => t(R) === "playing"), Le(l, "data-loading", $), Le(l, "data-error", () => t(f));
1299
+ var v = {
1300
+ get apiHost() {
1301
+ return s();
1302
+ },
1303
+ set apiHost(p = "api.44.audio") {
1304
+ s(p), n();
1305
+ },
1306
+ get recordingId() {
1307
+ return o();
1308
+ },
1309
+ set recordingId(p) {
1310
+ o(p), n();
1311
+ },
1312
+ get visualization() {
1313
+ return u();
1314
+ },
1315
+ set visualization(p = "none") {
1316
+ u(p), n();
1317
+ },
1318
+ get rippleIntensity() {
1319
+ return m();
1320
+ },
1321
+ set rippleIntensity(p = 1) {
1322
+ m(p), n();
1323
+ },
1324
+ get hover() {
1325
+ return k();
1326
+ },
1327
+ set hover(p = "none") {
1328
+ k(p), n();
1329
+ },
1330
+ get preload() {
1331
+ return h();
1332
+ },
1333
+ set preload(p = "none") {
1334
+ h(p), n();
1335
+ },
1336
+ get shape() {
1337
+ return b();
1338
+ },
1339
+ set shape(p = "circle") {
1340
+ b(p), n();
1341
+ },
1342
+ get blobAnimate() {
1343
+ return P();
1344
+ },
1345
+ set blobAnimate(p = !1) {
1346
+ P(p), n();
1347
+ },
1348
+ get blobSpeed() {
1349
+ return _();
1350
+ },
1351
+ set blobSpeed(p = 20) {
1352
+ _(p), n();
1353
+ }
1354
+ }, V = Xt(), J = E(V);
1355
+ ht(J, () => t(T), (p, C) => {
1356
+ C(p, yt(() => t(F), {
1357
+ children: (X, oe) => {
1358
+ d(X);
1359
+ },
1360
+ $$slots: { default: !0 }
1361
+ }));
1362
+ });
1363
+ var ne = K(J, 2);
1364
+ {
1365
+ var ge = (p) => {
1366
+ var C = Wt();
1367
+ We(C, (X) => x(L, X), () => t(L)), Q(() => {
1368
+ be(C, "src", t(M)), be(C, "preload", h());
1369
+ }), Pe("ended", C, O), Pe("error", C, G), g(p, C);
1370
+ };
1371
+ q(ne, (p) => {
1372
+ t(M) && p(ge);
1373
+ });
1374
+ }
1375
+ return g(c, V), re(v);
1376
+ }
1377
+ customElements.define("fortyfour-player-mini", W(
1378
+ Zt,
1379
+ {
1380
+ apiHost: { attribute: "api-host" },
1381
+ recordingId: { attribute: "recording-id" },
1382
+ visualization: { attribute: "visualization" },
1383
+ rippleIntensity: { attribute: "ripple-intensity" },
1384
+ hover: { attribute: "hover" },
1385
+ preload: { attribute: "preload" },
1386
+ shape: { attribute: "shape" },
1387
+ blobAnimate: { attribute: "blob-animate", type: "Boolean" },
1388
+ blobSpeed: { attribute: "blob-speed" },
1389
+ duration: {},
1390
+ currentTime: {}
1391
+ },
1392
+ ["icon-error", "icon-loading", "icon-playing", "icon-paused"],
1393
+ [],
1394
+ !0
1395
+ ));
1396
+ var $t = A('<div part="separator" class="separator svelte-38lkst">/</div>'), er = A('<div part="elapsed" class="elapsed svelte-38lkst"> </div> <!> <div part="total" class="total svelte-38lkst"> </div>', 1), tr = A('<div part="elapsed" class="elapsed svelte-38lkst">-:--</div> <div part="separator" class="separator svelte-38lkst">/</div> <div part="total" class="total svelte-38lkst">-:--</div>', 1), rr = A('<div part="duration" class="duration svelte-38lkst"><!></div>'), ar = A("<span> </span>"), ir = A("<span>--</span>"), nr = A('<div part="duration" class="duration svelte-38lkst"><!></div>');
1397
+ const or = {
1398
+ hash: "svelte-38lkst",
1399
+ code: ":host {--fortyfour-player-duration-font-size: inherit;--fortyfour-player-duration-color: inherit;--fortyfour-player-duration-elapsed-color: inherit;--fortyfour-player-duration-total-color: inherit;--fortyfour-player-duration-separator-color: inherit;display:inline-flex;font-variant-numeric:tabular-nums;}.duration.svelte-38lkst {display:flex;align-items:center;gap:0.25em;font-size:var(--fortyfour-player-duration-font-size);color:var(--fortyfour-player-duration-color);}.elapsed.svelte-38lkst {color:var(--fortyfour-player-duration-elapsed-color);}.total.svelte-38lkst {color:var(--fortyfour-player-duration-total-color);}.separator.svelte-38lkst {color:var(--fortyfour-player-duration-separator-color);}"
1400
+ };
1401
+ function lr(c, e) {
1402
+ te(e, !0), de(c, or);
1403
+ const d = e.$$host;
1404
+ let l = i(e, "format", 7, "-remaining"), s = i(e, "for", 7, ""), o = N(0), u = N(0), m = N("none");
1405
+ const k = it(() => t(u) === 0, 200), h = Y(() => t(u) !== 0 ? !1 : t(m) === "none" ? !0 : k()), b = Y(() => Ie(t(o))), P = Y(() => Ie(t(u))), _ = Y(() => {
1406
+ if (t(u) === 0)
1407
+ return "";
1408
+ switch (l()) {
1409
+ case "-remaining":
1410
+ return "-" + Ie(Math.max(0, t(u) - t(o)));
1411
+ case "remaining":
1412
+ return Ie(Math.max(0, t(u) - t(o)));
1413
+ case "elapsed":
1414
+ return t(b);
1415
+ case "elapsed-text":
1416
+ return Ge(t(o));
1417
+ case "total":
1418
+ return t(P);
1419
+ case "remaining-text":
1420
+ return Ge(Math.max(0, t(u) - t(o)));
1421
+ case "%":
1422
+ return Math.min(100, Math.ceil(t(o) / t(u) * 100)) + "%";
1423
+ default:
1424
+ return null;
1425
+ }
1426
+ });
1427
+ ae(() => {
1428
+ if (!s()) {
1429
+ console.warn("fortyfour-player-duration: 'for' attribute is required to link to a player");
1430
+ return;
1431
+ }
1432
+ const y = document.getElementById(s());
1433
+ if (!y) {
1434
+ console.warn("fortyfour-player-duration: No parent player found");
1435
+ return;
1436
+ }
1437
+ x(m, y.getAttribute("preload") || "none", !0), y.duration && x(u, y.duration, !0), y.currentTime && x(o, y.currentTime, !0);
1438
+ function z(B) {
1439
+ x(u, B.detail.duration, !0);
1440
+ }
1441
+ function R(B) {
1442
+ x(o, B.detail.currentTime, !0), x(u, B.detail.duration, !0);
1443
+ }
1444
+ return y.addEventListener("loadedmetadata", z), y.addEventListener("timeupdate", R), () => {
1445
+ y.removeEventListener("loadedmetadata", z), y.removeEventListener("timeupdate", R);
1446
+ };
1447
+ }), Le(d, "data-placeholder", () => t(h));
1448
+ var r = {
1449
+ get format() {
1450
+ return l();
1451
+ },
1452
+ set format(y = "-remaining") {
1453
+ l(y), n();
1454
+ },
1455
+ get for() {
1456
+ return s();
1457
+ },
1458
+ set for(y = "") {
1459
+ s(y), n();
1460
+ }
1461
+ }, S = U(), w = E(S);
1462
+ {
1463
+ var f = (y) => {
1464
+ var z = rr(), R = j(z);
1465
+ {
1466
+ var B = (T) => {
1467
+ var M = er(), a = E(M), F = j(a, !0);
1468
+ D(a);
1469
+ var I = K(a, 2);
1470
+ ce(I, e, "separator", {}, (O) => {
1471
+ var G = $t();
1472
+ xe(1, G, () => ze, () => ({ duration: 400 })), g(O, G);
1473
+ });
1474
+ var H = K(I, 2), Z = j(H, !0);
1475
+ D(H), Q(() => {
1476
+ se(F, t(b)), se(Z, t(P));
1477
+ }), xe(1, a, () => ze, () => ({ duration: 400 })), xe(1, H, () => ze, () => ({ duration: 400 })), g(T, M);
1478
+ }, $ = (T) => {
1479
+ var M = U(), a = E(M);
1480
+ {
1481
+ var F = (I) => {
1482
+ var H = U(), Z = E(H);
1483
+ ce(Z, e, "placeholder", {}, (O) => {
1484
+ var G = tr();
1485
+ mt(4), g(O, G);
1486
+ }), g(I, H);
1487
+ };
1488
+ q(
1489
+ a,
1490
+ (I) => {
1491
+ t(h) && I(F);
1492
+ },
1493
+ !0
1494
+ );
1495
+ }
1496
+ g(T, M);
1497
+ };
1498
+ q(R, (T) => {
1499
+ t(u) !== 0 ? T(B) : T($, !1);
1500
+ });
1501
+ }
1502
+ D(z), g(y, z);
1503
+ }, L = (y) => {
1504
+ var z = nr(), R = j(z);
1505
+ {
1506
+ var B = (T) => {
1507
+ var M = ar(), a = j(M, !0);
1508
+ D(M), Q(() => se(a, t(_))), xe(1, M, () => ze, () => ({ duration: 400 })), g(T, M);
1509
+ }, $ = (T) => {
1510
+ var M = U(), a = E(M);
1511
+ {
1512
+ var F = (I) => {
1513
+ var H = U(), Z = E(H);
1514
+ ce(Z, e, "placeholder", {}, (O) => {
1515
+ var G = ir();
1516
+ g(O, G);
1517
+ }), g(I, H);
1518
+ };
1519
+ q(
1520
+ a,
1521
+ (I) => {
1522
+ t(h) && I(F);
1523
+ },
1524
+ !0
1525
+ );
1526
+ }
1527
+ g(T, M);
1528
+ };
1529
+ q(R, (T) => {
1530
+ t(u) !== 0 ? T(B) : T($, !1);
1531
+ });
1532
+ }
1533
+ D(z), g(y, z);
1534
+ };
1535
+ q(w, (y) => {
1536
+ l() === "elapsed/total" ? y(f) : y(L, !1);
1537
+ });
1538
+ }
1539
+ return g(c, S), re(r);
1540
+ }
1541
+ customElements.define("fortyfour-player-duration", W(lr, { format: { attribute: "format" }, for: { attribute: "for" } }, ["separator", "placeholder"], [], !0));