@44-audio/components 0.1.0-dev.1 → 0.1.0-dev.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,10 @@
1
- import { h as Dr, C as Tr, D as qr, E as zr, F as Rr, G as $r, H as Lr, I as Ar, J as Fr, T as Or, K as _r, L as jr, M as Ur, N as J, O as Nr, P as Pr, d as cr, c as Z, p as rr, a as er, b as P, l as j, Q as ir, y as wr, f as $, g as T, e as L, i as G, z as kr, q as N, j as k, k as tr, s as I, n as t, m as B, r as S, B as ar, R as lr, u as fr, S as X, U as sr, v as Y, V as ur, W as Br, o as Q, w as vr, x as pr, X as xr, A as Hr, Y as Gr } from "./AudioPlayer-bUgQMAfs.mjs";
2
- function Kr(e, r, i, s, o) {
3
- Dr && Tr();
4
- var n = r.$$slots?.[i], u = !1;
5
- n === !0 && (n = r.children, u = !0), n === void 0 || n(e, u ? () => s : s);
1
+ import { h as Cr, C as Dr, D as Sr, E as Ar, F as Mr, G as zr, H as Pr, I as Fr, J as Nr, T as Or, K as kr, L as Ur, M as Br, N as Q, O as Hr, P as jr, d as mr, c as nr, p as cr, a as dr, b as N, l as P, Q as Ir, y as Gr, f as $, g as E, e as S, i as z, z as Kr, q as O, j as u, k as lr, s as w, n as a, m as U, r as L, B as Vr, R as Wr, u as or, S as Z, U as ar, v as sr, V as Xr, W as Jr, o as X, w as ir, x as tr, X as hr, A as Qr, Y as Yr } from "./AudioPlayer-Bha1JWsp.mjs";
2
+ function Zr(e, r, i, d, o) {
3
+ Cr && Dr();
4
+ var s = r.$$slots?.[i], v = !1;
5
+ s === !0 && (s = r.children, v = !0), s === void 0 || s(e, v ? () => d : d);
6
6
  }
7
- const Vr = () => performance.now(), H = {
7
+ const re = () => performance.now(), F = {
8
8
  // don't access requestAnimationFrame eagerly outside method
9
9
  // this allows basic testing of user code without JSDOM
10
10
  // bunder will eval and remove ternary when the user's app is built
@@ -12,32 +12,32 @@ const Vr = () => performance.now(), H = {
12
12
  /** @param {any} _ */
13
13
  (e) => requestAnimationFrame(e)
14
14
  ),
15
- now: () => Vr(),
15
+ now: () => re(),
16
16
  tasks: /* @__PURE__ */ new Set()
17
17
  };
18
- function Ir() {
19
- const e = H.now();
20
- H.tasks.forEach((r) => {
21
- r.c(e) || (H.tasks.delete(r), r.f());
22
- }), H.tasks.size !== 0 && H.tick(Ir);
18
+ function qr() {
19
+ const e = F.now();
20
+ F.tasks.forEach((r) => {
21
+ r.c(e) || (F.tasks.delete(r), r.f());
22
+ }), F.tasks.size !== 0 && F.tick(qr);
23
23
  }
24
- function Wr(e) {
24
+ function ee(e) {
25
25
  let r;
26
- return H.tasks.size === 0 && H.tick(Ir), {
26
+ return F.tasks.size === 0 && F.tick(qr), {
27
27
  promise: new Promise((i) => {
28
- H.tasks.add(r = { c: e, f: i });
28
+ F.tasks.add(r = { c: e, f: i });
29
29
  }),
30
30
  abort() {
31
- H.tasks.delete(r);
31
+ F.tasks.delete(r);
32
32
  }
33
33
  };
34
34
  }
35
- function or(e, r) {
36
- _r(() => {
35
+ function er(e, r) {
36
+ kr(() => {
37
37
  e.dispatchEvent(new CustomEvent(r));
38
38
  });
39
39
  }
40
- function Jr(e) {
40
+ function te(e) {
41
41
  if (e === "float") return "cssFloat";
42
42
  if (e === "offset") return "cssOffset";
43
43
  if (e.startsWith("--")) return e;
@@ -47,150 +47,150 @@ function Jr(e) {
47
47
  (i) => i[0].toUpperCase() + i.slice(1)
48
48
  ).join("");
49
49
  }
50
- function br(e) {
50
+ function _r(e) {
51
51
  const r = {}, i = e.split(";");
52
- for (const s of i) {
53
- const [o, n] = s.split(":");
54
- if (!o || n === void 0) break;
55
- const u = Jr(o.trim());
56
- r[u] = n.trim();
52
+ for (const d of i) {
53
+ const [o, s] = d.split(":");
54
+ if (!o || s === void 0) break;
55
+ const v = te(o.trim());
56
+ r[v] = s.trim();
57
57
  }
58
58
  return r;
59
59
  }
60
- const Qr = (e) => e;
61
- function gr(e, r, i, s) {
62
- var o = (e & Nr) !== 0, n = (e & Pr) !== 0, u = o && n, f = (e & Or) !== 0, q = u ? "both" : o ? "in" : "out", x, _ = r.inert, M = r.style.overflow, w, C;
63
- function E() {
64
- return _r(() => x ??= i()(r, s?.() ?? /** @type {P} */
60
+ const oe = (e) => e;
61
+ function gr(e, r, i, d) {
62
+ var o = (e & Hr) !== 0, s = (e & jr) !== 0, v = o && s, p = (e & Or) !== 0, C = v ? "both" : o ? "in" : "out", l, y = r.inert, _ = r.style.overflow, h, x;
63
+ function T() {
64
+ return kr(() => l ??= i()(r, d?.() ?? /** @type {P} */
65
65
  {}, {
66
- direction: q
66
+ direction: C
67
67
  }));
68
68
  }
69
- var a = {
70
- is_global: f,
69
+ var t = {
70
+ is_global: p,
71
71
  in() {
72
- if (r.inert = _, !o) {
73
- C?.abort(), C?.reset?.();
72
+ if (r.inert = y, !o) {
73
+ x?.abort(), x?.reset?.();
74
74
  return;
75
75
  }
76
- n || w?.abort(), or(r, "introstart"), w = yr(r, E(), C, 1, () => {
77
- or(r, "introend"), w?.abort(), w = x = void 0, r.style.overflow = M;
76
+ s || h?.abort(), er(r, "introstart"), h = br(r, T(), x, 1, () => {
77
+ er(r, "introend"), h?.abort(), h = l = void 0, r.style.overflow = _;
78
78
  });
79
79
  },
80
- out(g) {
81
- if (!n) {
82
- g?.(), x = void 0;
80
+ out(I) {
81
+ if (!s) {
82
+ I?.(), l = void 0;
83
83
  return;
84
84
  }
85
- r.inert = !0, or(r, "outrostart"), C = yr(r, E(), w, 0, () => {
86
- or(r, "outroend"), g?.();
85
+ r.inert = !0, er(r, "outrostart"), x = br(r, T(), h, 0, () => {
86
+ er(r, "outroend"), I?.();
87
87
  });
88
88
  },
89
89
  stop: () => {
90
- w?.abort(), C?.abort();
90
+ h?.abort(), x?.abort();
91
91
  }
92
- }, c = (
92
+ }, n = (
93
93
  /** @type {Effect} */
94
- qr
94
+ Sr
95
95
  );
96
- if ((c.transitions ??= []).push(a), o && zr) {
97
- var m = f;
98
- if (!m) {
99
- for (var d = (
96
+ if ((n.transitions ??= []).push(t), o && Ar) {
97
+ var b = p;
98
+ if (!b) {
99
+ for (var f = (
100
100
  /** @type {Effect | null} */
101
- c.parent
102
- ); d && (d.f & Rr) !== 0; )
103
- for (; (d = d.parent) && (d.f & $r) === 0; )
101
+ n.parent
102
+ ); f && (f.f & Mr) !== 0; )
103
+ for (; (f = f.parent) && (f.f & zr) === 0; )
104
104
  ;
105
- m = !d || (d.f & Lr) !== 0;
105
+ b = !f || (f.f & Pr) !== 0;
106
106
  }
107
- m && Ar(() => {
108
- Fr(() => a.in());
107
+ b && Fr(() => {
108
+ Nr(() => t.in());
109
109
  });
110
110
  }
111
111
  }
112
- function yr(e, r, i, s, o) {
113
- var n = s === 1;
114
- if (jr(r)) {
115
- var u, f = !1;
116
- return Ur(() => {
117
- if (!f) {
118
- var c = r({ direction: n ? "in" : "out" });
119
- u = yr(e, c, i, s, o);
112
+ function br(e, r, i, d, o) {
113
+ var s = d === 1;
114
+ if (Ur(r)) {
115
+ var v, p = !1;
116
+ return Br(() => {
117
+ if (!p) {
118
+ var n = r({ direction: s ? "in" : "out" });
119
+ v = br(e, n, i, d, o);
120
120
  }
121
121
  }), {
122
122
  abort: () => {
123
- f = !0, u?.abort();
123
+ p = !0, v?.abort();
124
124
  },
125
- deactivate: () => u.deactivate(),
126
- reset: () => u.reset(),
127
- t: () => u.t()
125
+ deactivate: () => v.deactivate(),
126
+ reset: () => v.reset(),
127
+ t: () => v.t()
128
128
  };
129
129
  }
130
130
  if (i?.deactivate(), !r?.duration)
131
131
  return o(), {
132
- abort: J,
133
- deactivate: J,
134
- reset: J,
135
- t: () => s
132
+ abort: Q,
133
+ deactivate: Q,
134
+ reset: Q,
135
+ t: () => d
136
136
  };
137
- const { delay: q = 0, css: x, tick: _, easing: M = Qr } = r;
138
- var w = [];
139
- if (n && i === void 0 && (_ && _(0, 1), x)) {
140
- var C = br(x(0, 1));
141
- w.push(C, C);
137
+ const { delay: C = 0, css: l, tick: y, easing: _ = oe } = r;
138
+ var h = [];
139
+ if (s && i === void 0 && (y && y(0, 1), l)) {
140
+ var x = _r(l(0, 1));
141
+ h.push(x, x);
142
142
  }
143
- var E = () => 1 - s, a = e.animate(w, { duration: q, fill: "forwards" });
144
- return a.onfinish = () => {
145
- a.cancel();
146
- var c = i?.t() ?? 1 - s;
143
+ var T = () => 1 - d, t = e.animate(h, { duration: C, fill: "forwards" });
144
+ return t.onfinish = () => {
145
+ t.cancel();
146
+ var n = i?.t() ?? 1 - d;
147
147
  i?.abort();
148
- var m = s - c, d = (
148
+ var b = d - n, f = (
149
149
  /** @type {number} */
150
- r.duration * Math.abs(m)
151
- ), g = [];
152
- if (d > 0) {
153
- var l = !1;
154
- if (x)
155
- for (var p = Math.ceil(d / 16.666666666666668), v = 0; v <= p; v += 1) {
156
- var y = c + m * M(v / p), b = br(x(y, 1 - y));
157
- g.push(b), l ||= b.overflow === "hidden";
150
+ r.duration * Math.abs(b)
151
+ ), I = [];
152
+ if (f > 0) {
153
+ var B = !1;
154
+ if (l)
155
+ for (var H = Math.ceil(f / 16.666666666666668), k = 0; k <= H; k += 1) {
156
+ var c = n + b * _(k / H), g = _r(l(c, 1 - c));
157
+ I.push(g), B ||= g.overflow === "hidden";
158
158
  }
159
- l && (e.style.overflow = "hidden"), E = () => {
160
- var h = (
159
+ B && (e.style.overflow = "hidden"), T = () => {
160
+ var m = (
161
161
  /** @type {number} */
162
162
  /** @type {globalThis.Animation} */
163
- a.currentTime
163
+ t.currentTime
164
164
  );
165
- return c + m * M(h / d);
166
- }, _ && Wr(() => {
167
- if (a.playState !== "running") return !1;
168
- var h = E();
169
- return _(h, 1 - h), !0;
165
+ return n + b * _(m / f);
166
+ }, y && ee(() => {
167
+ if (t.playState !== "running") return !1;
168
+ var m = T();
169
+ return y(m, 1 - m), !0;
170
170
  });
171
171
  }
172
- a = e.animate(g, { duration: d, fill: "forwards" }), a.onfinish = () => {
173
- E = () => s, _?.(s, 1 - s), o();
172
+ t = e.animate(I, { duration: f, fill: "forwards" }), t.onfinish = () => {
173
+ T = () => d, y?.(d, 1 - d), o();
174
174
  };
175
175
  }, {
176
176
  abort: () => {
177
- a && (a.cancel(), a.effect = null, a.onfinish = J);
177
+ t && (t.cancel(), t.effect = null, t.onfinish = Q);
178
178
  },
179
179
  deactivate: () => {
180
- o = J;
180
+ o = Q;
181
181
  },
182
182
  reset: () => {
183
- s === 0 && _?.(1, 0);
183
+ d === 0 && y?.(1, 0);
184
184
  },
185
- t: () => E()
185
+ t: () => T()
186
186
  };
187
187
  }
188
- const Xr = (e) => e;
189
- function Yr(e) {
188
+ const ae = (e) => e;
189
+ function se(e) {
190
190
  const r = e - 1;
191
191
  return r * r * r + 1;
192
192
  }
193
- function mr(e) {
193
+ function wr(e) {
194
194
  const r = typeof e == "string" && e.match(/^\s*(-?[\d.]+)([^\s]*)\s*$/);
195
195
  return r ? [parseFloat(r[1]), r[2] || "px"] : [
196
196
  /** @type {number} */
@@ -198,173 +198,165 @@ function mr(e) {
198
198
  "px"
199
199
  ];
200
200
  }
201
- function Zr(e, { delay: r = 0, duration: i = 400, easing: s = Xr } = {}) {
201
+ function ie(e, { delay: r = 0, duration: i = 400, easing: d = ae } = {}) {
202
202
  const o = +getComputedStyle(e).opacity;
203
203
  return {
204
204
  delay: r,
205
205
  duration: i,
206
- easing: s,
207
- css: (n) => `opacity: ${n * o}`
206
+ easing: d,
207
+ css: (s) => `opacity: ${s * o}`
208
208
  };
209
209
  }
210
- function hr(e, { delay: r = 0, duration: i = 400, easing: s = Yr, x: o = 0, y: n = 0, opacity: u = 0 } = {}) {
211
- const f = getComputedStyle(e), q = +f.opacity, x = f.transform === "none" ? "" : f.transform, _ = q * (1 - u), [M, w] = mr(o), [C, E] = mr(n);
210
+ function xr(e, { delay: r = 0, duration: i = 400, easing: d = se, x: o = 0, y: s = 0, opacity: v = 0 } = {}) {
211
+ const p = getComputedStyle(e), C = +p.opacity, l = p.transform === "none" ? "" : p.transform, y = C * (1 - v), [_, h] = wr(o), [x, T] = wr(s);
212
212
  return {
213
213
  delay: r,
214
214
  duration: i,
215
- easing: s,
216
- css: (a, c) => `
217
- transform: ${x} translate(${(1 - a) * M}${w}, ${(1 - a) * C}${E});
218
- opacity: ${q - _ * c}`
215
+ easing: d,
216
+ css: (t, n) => `
217
+ transform: ${l} translate(${(1 - t) * _}${h}, ${(1 - t) * x}${T});
218
+ opacity: ${C - y * n}`
219
219
  };
220
220
  }
221
- async function Mr(e = !1) {
222
- e && (await navigator.mediaDevices.getUserMedia({ audio: !0 })).getTracks().forEach((o) => o.stop());
223
- const r = await navigator.mediaDevices.enumerateDevices(), i = r.filter((s) => s.deviceId).filter((s) => s.kind === "audioinput").map((s) => ({
224
- id: s.deviceId,
225
- label: s.label || `Microphone ${r.indexOf(s) + 1}`
226
- }));
227
- return i.length === 0 ? Mr(!0) : i;
221
+ async function ne(e, r, i, d) {
222
+ w(r, !a(r)), a(i).length || await d();
228
223
  }
229
- async function re(e, r, i, s) {
230
- I(r, !t(r)), t(i).length || await s();
231
- }
232
- var ee = $("<li><button> </button></li>"), te = $('<li><button class="devices-select__option svelte-q87ygv" disabled>No microphones found</button></li>'), oe = $('<li><button class="devices-select__option svelte-q87ygv" disabled>Loading Microphones...</button></li>'), ae = $('<ul role="listbox" aria-label="Select microphone"><!> <!> <!></ul>'), ie = $('<div class="container" role="group" aria-label="Audio recorder"><button class="devices-btn svelte-q87ygv" aria-haspopup="listbox"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" class="devices-btn__icon svelte-q87ygv"><path d="M201.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 338.7 54.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"></path></svg></button> <!></div>');
233
- const se = {
224
+ var ce = $("<li><button> </button></li>"), de = $('<li><button class="devices-select__option svelte-q87ygv" disabled>No microphones found</button></li>'), le = $('<li><button class="devices-select__option svelte-q87ygv" disabled>Loading Microphones...</button></li>'), fe = $('<ul role="listbox" aria-label="Select microphone"><!> <!> <!></ul>'), ve = $('<div class="container" role="group" aria-label="Audio recorder"><button class="devices-btn svelte-q87ygv" aria-haspopup="listbox"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" class="devices-btn__icon svelte-q87ygv"><path d="M201.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 338.7 54.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"></path></svg></button> <!></div>');
225
+ const ue = {
234
226
  hash: "svelte-q87ygv",
235
227
  code: '.devices-btn.svelte-q87ygv {background:none;border:none;font-size:inherit;cursor:pointer;color:inherit;}.devices-btn__icon.svelte-q87ygv {width:0.75rem;height:0.75rem;fill:var(--fortyfour-recorder-btn-color);}.devices-select.svelte-q87ygv {display:none;flex-direction:column;list-style:none;margin:0;padding:0;border:var(--fortyfour-recorder-select-border);box-shadow:var(--fortyfour-recorder-select-shadow);border-radius:var(--fortyfour-recorder-select-radius);background:var(--fortyfour-recorder-select-bg);position:absolute;z-index:2147483647;overflow-y:auto;width:11rem;max-height:12rem;}.devices-select--is-open.svelte-q87ygv {display:flex;}.devices-select__option.svelte-q87ygv {padding:0.5rem 1rem;padding-left:0;background:none;border:none;text-align:left;cursor:pointer;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background 0.1s;font:inherit;font-size:var(--fortyfour-recorder-select-font-size);color:var(--fortyfour-recorder-select-color);}.devices-select__option.svelte-q87ygv:hover {background:var(--fortyfour-recorder-select-bg-hover);}.devices-select__option.svelte-q87ygv::before {content:"";display:inline-block;width:2ch;text-align:center;padding:0 0.25rem;}.devices-select__option--is-selected.svelte-q87ygv::before {content:"✓";}.devices-select__option.svelte-q87ygv:disabled {opacity:0.5;cursor:inherit;}.devices-select__option.svelte-q87ygv:disabled:hover {background:inherit;}'
236
228
  };
237
- function Sr(e, r) {
238
- rr(r, !0), er(e, se);
239
- let i = P(r, "deviceId", 15, ""), s = P(r, "disabled", 7, !1), o = j(ir([])), n = j(!1), u = j(!1), f;
240
- wr(() => {
241
- function a(c) {
242
- c.composedPath().includes(f) || t(n) && I(n, !1);
229
+ function Er(e, r) {
230
+ cr(r, !0), dr(e, ue);
231
+ let i = N(r, "deviceId", 15, ""), d = N(r, "disabled", 7, !1), o = P(Ir([])), s = P(!1), v = P(!1), p;
232
+ Gr(() => {
233
+ function t(n) {
234
+ n.composedPath().includes(p) || a(s) && w(s, !1);
243
235
  }
244
- return document.addEventListener("pointerdown", a), () => {
245
- document.removeEventListener("pointerdown", a);
236
+ return document.addEventListener("pointerdown", t), () => {
237
+ document.removeEventListener("pointerdown", t);
246
238
  };
247
239
  });
248
- async function q() {
240
+ async function C() {
249
241
  try {
250
- I(u, !0), (await navigator.mediaDevices.getUserMedia({ audio: !0 })).getTracks().forEach((c) => c.stop()), I(o, await navigator.mediaDevices.enumerateDevices(), !0), I(
242
+ w(v, !0), (await navigator.mediaDevices.getUserMedia({ audio: !0 })).getTracks().forEach((n) => n.stop()), w(o, await navigator.mediaDevices.enumerateDevices(), !0), w(
251
243
  o,
252
- t(o).filter((c) => c.deviceId).filter((c) => c.kind === "audioinput").map((c, m) => ({
253
- deviceId: c.deviceId,
254
- label: c.label || `Microphone ${m + 1}`
244
+ a(o).filter((n) => n.deviceId).filter((n) => n.kind === "audioinput").map((n, b) => ({
245
+ deviceId: n.deviceId,
246
+ label: n.label || `Microphone ${b + 1}`
255
247
  })),
256
248
  !0
257
- ), !i() && t(o).length && i(t(o)[0].deviceId), t(o).sort((c, m) => c.label.localeCompare(m.label)), I(u, !1);
258
- } catch (a) {
259
- console.error("Error accessing microphones:", a);
249
+ ), !i() && a(o).length && i(a(o)[0].deviceId), a(o).sort((n, b) => n.label.localeCompare(b.label)), w(v, !1);
250
+ } catch (t) {
251
+ console.error("Error accessing microphones:", t);
260
252
  }
261
253
  }
262
- function x(a) {
254
+ function l(t) {
263
255
  return () => {
264
- i(a), I(n, !1);
256
+ i(t), w(s, !1);
265
257
  };
266
258
  }
267
- var _ = {
259
+ var y = {
268
260
  get deviceId() {
269
261
  return i();
270
262
  },
271
- set deviceId(a = "") {
272
- i(a), B();
263
+ set deviceId(t = "") {
264
+ i(t), U();
273
265
  },
274
266
  get disabled() {
275
- return s();
267
+ return d();
276
268
  },
277
- set disabled(a = !1) {
278
- s(a), B();
269
+ set disabled(t = !1) {
270
+ d(t), U();
279
271
  }
280
- }, M = ie(), w = T(M);
281
- w.__click = [re, n, o, q];
282
- var C = L(w, 2);
272
+ }, _ = ve(), h = E(_);
273
+ h.__click = [ne, s, o, C];
274
+ var x = S(h, 2);
283
275
  {
284
- var E = (a) => {
285
- var c = ae(), m = T(c);
286
- lr(m, 17, () => t(o), ur, (v, y) => {
287
- var b = ee(), h = T(b), D = fr(() => x(t(y).deviceId));
288
- h.__click = function(...K) {
289
- t(D)?.apply(this, K);
276
+ var T = (t) => {
277
+ var n = fe(), b = E(n);
278
+ Wr(b, 17, () => a(o), Xr, (k, c) => {
279
+ var g = ce(), m = E(g), A = or(() => l(a(c).deviceId));
280
+ m.__click = function(...R) {
281
+ a(A)?.apply(this, R);
290
282
  };
291
- var A = T(h, !0);
292
- S(h), S(b), N(() => {
293
- X(
294
- h,
283
+ var q = E(m, !0);
284
+ L(m), L(g), O(() => {
285
+ Z(
286
+ m,
295
287
  1,
296
- sr([
288
+ ar([
297
289
  "devices-select__option",
298
- t(y).deviceId === i() && "devices-select__option--is-selected"
290
+ a(c).deviceId === i() && "devices-select__option--is-selected"
299
291
  ]),
300
292
  "svelte-q87ygv"
301
- ), h.disabled = s(), Y(A, t(y).label);
302
- }), k(v, b);
293
+ ), m.disabled = d(), sr(q, a(c).label);
294
+ }), u(k, g);
303
295
  });
304
- var d = L(m, 2);
296
+ var f = S(b, 2);
305
297
  {
306
- var g = (v) => {
307
- var y = te();
308
- k(v, y);
298
+ var I = (k) => {
299
+ var c = de();
300
+ u(k, c);
309
301
  };
310
- G(d, (v) => {
311
- !t(o).length && !t(u) && v(g);
302
+ z(f, (k) => {
303
+ !a(o).length && !a(v) && k(I);
312
304
  });
313
305
  }
314
- var l = L(d, 2);
306
+ var B = S(f, 2);
315
307
  {
316
- var p = (v) => {
317
- var y = oe();
318
- k(v, y);
308
+ var H = (k) => {
309
+ var c = le();
310
+ u(k, c);
319
311
  };
320
- G(l, (v) => {
321
- t(u) && v(p);
312
+ z(B, (k) => {
313
+ a(v) && k(H);
322
314
  });
323
315
  }
324
- S(c), N(() => X(c, 1, `devices-select ${t(n) ? "devices-select--is-open" : ""}`, "svelte-q87ygv")), gr(3, c, () => Zr, () => ({ duration: 100 })), k(a, c);
316
+ L(n), O(() => Z(n, 1, `devices-select ${a(s) ? "devices-select--is-open" : ""}`, "svelte-q87ygv")), gr(3, n, () => ie, () => ({ duration: 100 })), u(t, n);
325
317
  };
326
- G(C, (a) => {
327
- t(n) && a(E);
318
+ z(x, (t) => {
319
+ a(s) && t(T);
328
320
  });
329
321
  }
330
- return S(M), kr(M, (a) => f = a, () => f), N(() => ar(w, "aria-expanded", t(n))), k(e, M), tr(_);
322
+ return L(_), Kr(_, (t) => p = t, () => p), O(() => Vr(h, "aria-expanded", a(s))), u(e, _), lr(y);
331
323
  }
332
- cr(["click"]);
333
- Z(Sr, { deviceId: {}, disabled: {} }, [], [], !0);
334
- var ne = $("<button><!></button>");
335
- const ce = {
324
+ mr(["click"]);
325
+ nr(Er, { deviceId: {}, disabled: {} }, [], [], !0);
326
+ var pe = $("<button><!></button>");
327
+ const ye = {
336
328
  hash: "svelte-f3ispq",
337
329
  code: ".btn.svelte-f3ispq {display:flex;align-items:center;gap:var(--fortyfour-recorder-btn-gap);font:inherit;border:none;padding:var(--fortyfour-recorder-btn-padding);border-radius:var(--fortyfour-recorder-btn-radius);background:var(--fortyfour-recorder-btn-bg);color:var(--fortyfour-recorder-btn-color);cursor:pointer;}.btn.svelte-f3ispq:hover {background:var(--fortyfour-recorder-btn-bg-hover);color:var(--fortyfour-recorder-btn-color-hover);}.btn.btn--recording.svelte-f3ispq {background:var(--fortyfour-recorder-red-bg);color:var(--fortyfour-recorder-red-color);}.btn.btn--primary.svelte-f3ispq {background:var(--fortyfour-recorder-btn-primary-bg);color:var(--fortyfour-recorder-btn-primary-color);}.btn.btn--primary.svelte-f3ispq:hover {background:var(--fortyfour-recorder-btn-primary-bg-hover);color:var(--fortyfour-recorder-btn-primary-color-hover);}"
338
330
  };
339
- function nr(e, r) {
340
- rr(r, !0), er(e, ce);
341
- const i = P(r, "type", 7), s = P(r, "onclick", 7, () => {
331
+ function Y(e, r) {
332
+ cr(r, !0), dr(e, ye);
333
+ const i = N(r, "type", 7), d = N(r, "onclick", 7, () => {
342
334
  });
343
335
  var o = {
344
336
  get type() {
345
337
  return i();
346
338
  },
347
- set type(f) {
348
- i(f), B();
339
+ set type(p) {
340
+ i(p), U();
349
341
  },
350
342
  get onclick() {
351
- return s();
343
+ return d();
352
344
  },
353
- set onclick(f = () => {
345
+ set onclick(p = () => {
354
346
  }) {
355
- s(f), B();
347
+ d(p), U();
356
348
  }
357
- }, n = ne();
358
- n.__click = function(...f) {
359
- s()?.apply(this, f);
349
+ }, s = pe();
350
+ s.__click = function(...p) {
351
+ d()?.apply(this, p);
360
352
  };
361
- var u = T(n);
362
- return Kr(u, r, "default", {}), S(n), N(() => X(n, 1, sr(["btn", i() && `btn--${i()}`]), "svelte-f3ispq")), k(e, n), tr(o);
353
+ var v = E(s);
354
+ return Zr(v, r, "default", {}), L(s), O(() => Z(s, 1, ar(["btn", i() && `btn--${i()}`]), "svelte-f3ispq")), u(e, s), lr(o);
363
355
  }
364
- cr(["click"]);
365
- Z(nr, { type: {}, onclick: {} }, ["default"], [], !0);
366
- var de = $("<div></div> <!>", 1), le = $('<div class="time-elapsed svelte-11ls49v"> </div>'), fe = $('<div role="group" aria-label="Audio recorder"><!> <!> <!></div>');
367
- const ue = {
356
+ mr(["click"]);
357
+ nr(Y, { type: {}, onclick: {} }, ["default"], [], !0);
358
+ var ge = $("<div></div> <!>", 1), be = $('<div class="time-elapsed svelte-11ls49v"> </div>'), me = $('<div role="group" aria-label="Audio recorder"><!> <!> <!></div>');
359
+ const he = {
368
360
  hash: "svelte-11ls49v",
369
361
  code: `.container.svelte-11ls49v {display:flex;align-items:center;gap:1rem;}.record-icon.svelte-11ls49v {width:1.25rem;height:1.25rem;background:var(--fortyfour-recorder-red-bg);border-radius:50%;}.record-icon--is-recording.svelte-11ls49v {background:var(--fortyfour-recorder-red-color);
370
362
  animation: svelte-11ls49v-pulse 2s infinite ease-out;}.time-elapsed.svelte-11ls49v {font-variant-numeric:tabular-nums;}
@@ -383,396 +375,321 @@ const ue = {
383
375
  }
384
376
  }`
385
377
  };
386
- function Er(e, r) {
387
- rr(r, !0), er(e, ue);
388
- let i = P(r, "deviceId", 15, ""), s = P(r, "onDone", 7), o = j(ir({
378
+ function Lr(e, r) {
379
+ cr(r, !0), dr(e, he);
380
+ let i = N(r, "deviceId", 15, ""), d = N(r, "onDone", 7), o = P(Ir({
389
381
  state: "ready",
390
382
  // "ready", "recording"
391
383
  timeElapsed: 0,
392
384
  error: null
393
- })), n;
394
- Br(() => {
395
- n?.stop();
385
+ })), s;
386
+ Jr(() => {
387
+ s?.stop();
396
388
  });
397
- function u() {
398
- t(o).state === "ready" ? f() : t(o).state === "recording" && q();
389
+ function v() {
390
+ a(o).state === "ready" ? p() : a(o).state === "recording" && C();
399
391
  }
400
- async function f() {
401
- const a = await navigator.mediaDevices.getUserMedia({
392
+ async function p() {
393
+ const t = await navigator.mediaDevices.getUserMedia({
402
394
  audio: { deviceId: i() ? { exact: i() } : void 0 }
403
- }), c = [];
404
- n = new MediaRecorder(a), n.ondataavailable = (d) => c.push(d.data), n.onstop = () => {
405
- t(o).state === "recording" && (a.getTracks().forEach((d) => d.stop()), s()(URL.createObjectURL(new Blob(c, { type: n.mimeType }))), t(o).state = "ready");
406
- }, n.start();
407
- const m = () => {
408
- t(o).state === "recording" && (t(o).timeElapsed += 1, setTimeout(m, 1e3));
395
+ }), n = [];
396
+ s = new MediaRecorder(t), s.ondataavailable = (f) => n.push(f.data), s.onstop = () => {
397
+ a(o).state === "recording" && (t.getTracks().forEach((f) => f.stop()), d()(URL.createObjectURL(new Blob(n, { type: s.mimeType }))), a(o).state = "ready");
398
+ }, s.start();
399
+ const b = () => {
400
+ a(o).state === "recording" && (a(o).timeElapsed += 1, setTimeout(b, 1e3));
409
401
  };
410
- setTimeout(m, 1e3), t(o).state = "recording";
402
+ setTimeout(b, 1e3), a(o).state = "recording";
411
403
  }
412
- function q() {
413
- n?.stop();
404
+ function C() {
405
+ s?.stop();
414
406
  }
415
- var x = {
407
+ var l = {
416
408
  get deviceId() {
417
409
  return i();
418
410
  },
419
- set deviceId(a = "") {
420
- i(a), B();
411
+ set deviceId(t = "") {
412
+ i(t), U();
421
413
  },
422
414
  get onDone() {
423
- return s();
415
+ return d();
424
416
  },
425
- set onDone(a) {
426
- s(a), B();
417
+ set onDone(t) {
418
+ d(t), U();
427
419
  }
428
- }, _ = fe(), M = T(_);
420
+ }, y = me(), _ = E(y);
429
421
  {
430
- let a = fr(() => t(o).state === "recording" && "recording");
431
- nr(M, {
432
- onclick: u,
422
+ let t = or(() => a(o).state === "recording" && "recording");
423
+ Y(_, {
424
+ onclick: v,
433
425
  get type() {
434
- return t(a);
426
+ return a(t);
435
427
  },
436
- children: (c, m) => {
437
- var d = de(), g = Q(d), l = L(g, 2);
428
+ children: (n, b) => {
429
+ var f = ge(), I = X(f), B = S(I, 2);
438
430
  {
439
- var p = (y) => {
440
- var b = vr("Record");
441
- k(y, b);
442
- }, v = (y) => {
443
- var b = pr(), h = Q(b);
431
+ var H = (c) => {
432
+ var g = ir("Record");
433
+ u(c, g);
434
+ }, k = (c) => {
435
+ var g = tr(), m = X(g);
444
436
  {
445
- var D = (A) => {
446
- var K = vr("Recording");
447
- k(A, K);
437
+ var A = (q) => {
438
+ var R = ir("Recording");
439
+ u(q, R);
448
440
  };
449
- G(
450
- h,
451
- (A) => {
452
- t(o).state === "recording" && A(D);
441
+ z(
442
+ m,
443
+ (q) => {
444
+ a(o).state === "recording" && q(A);
453
445
  },
454
446
  !0
455
447
  );
456
448
  }
457
- k(y, b);
449
+ u(c, g);
458
450
  };
459
- G(l, (y) => {
460
- t(o).state === "ready" ? y(p) : y(v, !1);
451
+ z(B, (c) => {
452
+ a(o).state === "ready" ? c(H) : c(k, !1);
461
453
  });
462
454
  }
463
- N(() => X(
464
- g,
455
+ O(() => Z(
456
+ I,
465
457
  1,
466
- sr([
458
+ ar([
467
459
  "record-icon",
468
- t(o).state === "recording" && "record-icon--is-recording"
460
+ a(o).state === "recording" && "record-icon--is-recording"
469
461
  ]),
470
462
  "svelte-11ls49v"
471
- )), k(c, d);
463
+ )), u(n, f);
472
464
  },
473
465
  $$slots: { default: !0 }
474
466
  });
475
467
  }
476
- var w = L(M, 2);
468
+ var h = S(_, 2);
477
469
  {
478
- let a = fr(() => t(o).state === "recording");
479
- Sr(w, {
470
+ let t = or(() => a(o).state === "recording");
471
+ Er(h, {
480
472
  get disabled() {
481
- return t(a);
473
+ return a(t);
482
474
  },
483
475
  get deviceId() {
484
476
  return i();
485
477
  },
486
- set deviceId(c) {
487
- i(c);
478
+ set deviceId(n) {
479
+ i(n);
488
480
  }
489
481
  });
490
482
  }
491
- var C = L(w, 2);
483
+ var x = S(h, 2);
492
484
  {
493
- var E = (a) => {
494
- var c = le(), m = T(c);
495
- S(c), N((d, g) => Y(m, `${d ?? ""}:${g ?? ""}`), [
496
- () => Math.floor(t(o).timeElapsed / 60).toString(),
497
- () => (t(o).timeElapsed % 60).toString().padStart(2, "0")
498
- ]), k(a, c);
485
+ var T = (t) => {
486
+ var n = be(), b = E(n);
487
+ L(n), O((f, I) => sr(b, `${f ?? ""}:${I ?? ""}`), [
488
+ () => Math.floor(a(o).timeElapsed / 60).toString(),
489
+ () => (a(o).timeElapsed % 60).toString().padStart(2, "0")
490
+ ]), u(t, n);
499
491
  };
500
- G(C, (a) => {
501
- t(o).state === "recording" && a(E);
492
+ z(x, (t) => {
493
+ a(o).state === "recording" && t(T);
502
494
  });
503
495
  }
504
- return S(_), N(() => X(
505
- _,
496
+ return L(y), O(() => Z(
497
+ y,
506
498
  1,
507
- sr([
499
+ ar([
508
500
  "container",
509
- t(o).state === "recording" && "is-recording"
501
+ a(o).state === "recording" && "is-recording"
510
502
  ]),
511
503
  "svelte-11ls49v"
512
- )), k(e, _), tr(x);
513
- }
514
- Z(Er, { deviceId: {}, onDone: {} }, [], [], !0);
515
- function ve(e, r, i) {
516
- I(r, e.target.value, !0), i()(e.target.value);
517
- }
518
- var pe = $("<option> </option>"), ge = xr('<rect width="10" fill="#4A90E2"></rect>'), ye = $(`<div><label for="mic-select" class="svelte-zkiuts">Input Device</label> <select id="mic-select" class="svelte-zkiuts"></select> <div><div>Mic Test</div> <div>Having mic issues? Start a test and say something fun and see if it picks up your voice.</div> <div><button> </button> <audio></audio> <svg style="vertical-align: middle; margin-left: 1em; border: 1px solid #ccc; background:
519
- #f9f9f9;" fill="none" xmlns="http://www.w3.org/2000/svg"></svg></div></div></div>`);
520
- const be = {
521
- hash: "svelte-zkiuts",
522
- code: "label.svelte-zkiuts {display:block;margin-bottom:0.5em;}select.svelte-zkiuts {display:block;font-size:inherit;}"
523
- };
524
- function me(e, r) {
525
- rr(r, !0), er(e, be);
526
- const i = P(r, "onSelectMic", 7);
527
- let s = j(ir([])), o = j(null), n = null, u = j(!1), f = j(ir(Array(15).fill(1)));
528
- wr(() => {
529
- const d = async () => I(s, await Mr(), !0);
530
- navigator.mediaDevices.ondevicechange = d, d();
531
- });
532
- async function q() {
533
- if (n) {
534
- if (t(u)) {
535
- n.srcObject.getTracks().forEach((d) => d.stop()), I(u, !1);
536
- return;
537
- }
538
- I(f, Array(15).fill(1), !0), I(u, !0);
539
- try {
540
- let A = function(F) {
541
- if (!t(u)) {
542
- v.close();
543
- return;
544
- }
545
- const R = new Uint8Array(b.fftSize);
546
- b.getByteTimeDomainData(R);
547
- let z = 0;
548
- for (let U = 0; U < R.length; U++) {
549
- const V = (R[U] - 128) / 128;
550
- z += V * V;
551
- }
552
- const O = Math.sqrt(z / R.length);
553
- D.push(O), requestAnimationFrame(A);
554
- };
555
- const d = await navigator.mediaDevices.getUserMedia({
556
- audio: {
557
- deviceId: t(o) ? { exact: t(o) } : void 0
558
- }
559
- }), g = new MediaRecorder(d), l = [];
560
- let p;
561
- g.ondataavailable = (F) => F.data.size && l.push(F.data), g.onstop = () => {
562
- const F = new Blob(l, { type: g.mimeType }), R = URL.createObjectURL(F);
563
- n.src = R, n.play(), d.getTracks().forEach((z) => z.stop()), I(u, !1), clearInterval(p);
564
- }, g.start(), setTimeout(() => g.stop(), 5e3);
565
- const v = new (window.AudioContext || window.webkitAudioContext)(), y = v.createMediaStreamSource(d), b = v.createAnalyser();
566
- y.connect(b), b.fftSize = 2048;
567
- const h = (F, R) => {
568
- if (F <= 0) return 0;
569
- const z = 20 * Math.log10(F), O = -50, U = -10, W = (Math.min(U, Math.max(O, z)) - O) / (U - O);
570
- return Math.round(W * R);
571
- };
572
- let D = [];
573
- A(0);
574
- let K = 0;
575
- p = setInterval(
576
- () => {
577
- const F = D.reduce((z, O) => z + O, 0) / D.length, R = h(F, 100);
578
- t(f)[K++] = R, D = [];
579
- },
580
- 300
581
- );
582
- } catch (d) {
583
- console.error("Error during mic check:", d);
584
- }
585
- }
586
- }
587
- var x = {
588
- get onSelectMic() {
589
- return i();
590
- },
591
- set onSelectMic(d) {
592
- i(d), B();
593
- }
594
- }, _ = ye(), M = L(T(_), 2);
595
- M.__change = [ve, o, i], lr(M, 21, () => t(s), ur, (d, g) => {
596
- var l = pe(), p = T(l, !0);
597
- S(l);
598
- var v = {};
599
- N(() => {
600
- Y(p, t(g).label), v !== (v = t(g).id) && (l.value = (l.__value = t(g).id) ?? "");
601
- }), k(d, l);
602
- }), S(M);
603
- var w = L(M, 2), C = L(T(w), 4), E = T(C);
604
- E.__click = q;
605
- var a = T(E, !0);
606
- S(E);
607
- var c = L(E, 2);
608
- kr(c, (d) => n = d, () => n);
609
- var m = L(c, 2);
610
- return lr(m, 21, () => t(f), ur, (d, g, l) => {
611
- var p = ge();
612
- ar(p, "x", l * 12), N(() => {
613
- ar(p, "y", 100 - t(g)), ar(p, "height", t(g));
614
- }), k(d, p);
615
- }), S(m), S(C), S(w), S(_), N(() => Y(a, t(u) ? "Stop Testing" : "Let's Check")), k(e, _), tr(x);
504
+ )), u(e, y), lr(l);
616
505
  }
617
- cr(["change", "click"]);
618
- Z(me, { onSelectMic: {} }, [], [], !0);
619
- var he = $('<div><p>Recording saved! ID:</p> <code><pre> </pre></code></div> <p><button class="primary">Record Again</button></p>', 1), _e = $("<p>Processing your recording…</p>"), we = xr('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" style="fill: currentColor; width: 1em; height: 1em;"><path d="M232.7 69.9L224 96L128 96C110.3 96 96 110.3 96 128C96 145.7 110.3 160 128 160L512 160C529.7 160 544 145.7 544 128C544 110.3 529.7 96 512 96L416 96L407.3 69.9C402.9 56.8 390.7 48 376.9 48L263.1 48C249.3 48 237.1 56.8 232.7 69.9zM512 208L128 208L149.1 531.1C150.7 556.4 171.7 576 197 576L443 576C468.3 576 489.3 556.4 490.9 531.1L512 208z"></path></svg>'), ke = $('<div class="confirm svelte-1i5eb1b"><!> <!> <!></div>'), xe = $('<div class="row"><!></div>'), Ie = $('<div class="recorder svelte-1i5eb1b" role="group" aria-label="44 audio recorder"><!></div>');
620
- const Me = {
621
- hash: "svelte-1i5eb1b",
506
+ nr(Lr, { deviceId: {}, onDone: {} }, [], [], !0);
507
+ var _e = $('<div><p>Recording saved! ID:</p> <pre><code> </code></pre></div> <p><button class="primary">Record Again</button></p>', 1), we = $("<p>Processing your recording…</p>"), xe = $('<div class="error svelte-16qftx0"><p class="svelte-16qftx0"> </p> <!></div>'), ke = Yr('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" style="fill: currentColor; width: 1em; height: 1em;"><path d="M232.7 69.9L224 96L128 96C110.3 96 96 110.3 96 128C96 145.7 110.3 160 128 160L512 160C529.7 160 544 145.7 544 128C544 110.3 529.7 96 512 96L416 96L407.3 69.9C402.9 56.8 390.7 48 376.9 48L263.1 48C249.3 48 237.1 56.8 232.7 69.9zM512 208L128 208L149.1 531.1C150.7 556.4 171.7 576 197 576L443 576C468.3 576 489.3 556.4 490.9 531.1L512 208z"></path></svg>'), Ie = $('<div class="confirm svelte-16qftx0"><!> <!> <!></div>'), qe = $('<div class="row"><!></div>'), Ee = $('<div class="recorder svelte-16qftx0" role="group" aria-label="44 audio recorder"><!></div>');
508
+ const Le = {
509
+ hash: "svelte-16qftx0",
622
510
  code: `:host {--fortyfour-recorder-bg-0: #2d2d2d;--fortyfour-recorder-bg-1: #393939;--fortyfour-recorder-bg-2: #515151;--fortyfour-recorder-bg-primary: hsla(210, 50%, 60%, 1);--fortyfour-recorder-bg-primary-light: hsla(210, 55%, 64%, 1);--fortyfour-recorder-color-0: #d3d0c8;--fortyfour-recorder-color-primary: hsla(0, 0%, 100%, 0.9);--fortyfour-recorder-red-bg: #f2777a;--fortyfour-recorder-red-color: #ffffff;--fortyfour-recorder-font-size-lg: 1.25rem;--fortyfour-recorder-font-size-md: 1rem;--fortyfour-recorder-font-size-sm: 0.875rem;--fortyfour-recorder-font-size-xs: 0.6825rem;--fortyfour-recorder-radius-xl: 3rem;--fortyfour-recorder-radius-lg: 1rem;--fortyfour-recorder-radius-md: 0.5rem;--fortyfour-recorder-spacing-md: 1rem;--fortyfour-recorder-spacing-sm-1: 0.85rem;--fortyfour-recorder-spacing-sm: 0.5rem;--fortyfour-recorder-radius: var(--fortyfour-recorder-radius-lg);--fortyfour-recorder-bg: var(--fortyfour-recorder-bg-0);--fortyfour-recorder-color: var(--fortyfour-recorder-color-0);--fortyfour-recorder-btn-radius: var(--fortyfour-recorder-radius-xl);--fortyfour-recorder-btn-padding: var(--fortyfour-recorder-spacing-sm)
623
- var(--fortyfour-recorder-spacing-sm-1);--fortyfour-recorder-btn-gap: var(--fortyfour-recorder-spacing-sm);--fortyfour-recorder-btn-bg: var(--fortyfour-recorder-bg-1);--fortyfour-recorder-btn-bg-hover: var(--fortyfour-recorder-bg-2);--fortyfour-recorder-btn-color: var(--fortyfour-recorder-color-0);--fortyfour-recorder-btn-color-hover: var(--fortyfour-recorder-color-0);--fortyfour-recorder-btn-primary-bg: var(--fortyfour-recorder-bg-primary);--fortyfour-recorder-btn-primary-bg-hover: var(--fortyfour-recorder-bg-primary-light);--fortyfour-recorder-btn-primary-color: var(--fortyfour-recorder-color-primary);--fortyfour-recorder-btn-primary-color-hover: var(--fortyfour-recorder-color-primary);--fortyfour-recorder-select-bg: var(--fortyfour-recorder-bg-0);--fortyfour-recorder-select-bg-hover: var(--fortyfour-recorder-bg-1);--fortyfour-recorder-select-border: 1px solid var(--fortyfour-recorder-bg-1);--fortyfour-recorder-select-radius: var(--fortyfour-recorder-radius-md);--fortyfour-recorder-select-shadow: 0 4px 8px hsla(0, 0%, 0%, 0.1);--fortyfour-recorder-select-color: var(--fortyfour-recorder-color-0);--fortyfour-recorder-select-font-size: var(--fortyfour-recorder-font-size-xs);}.recorder.svelte-1i5eb1b {padding:var(--fortyfour-recorder-spacing-md);border-radius:var(--fortyfour-recorder-radius);background:var(--fortyfour-recorder-bg);color:var(--fortyfour-recorder-color);}.confirm.svelte-1i5eb1b {display:flex;align-items:stretch;gap:var(--fortyfour-recorder-spacing-sm);}`
511
+ var(--fortyfour-recorder-spacing-sm-1);--fortyfour-recorder-btn-gap: var(--fortyfour-recorder-spacing-sm);--fortyfour-recorder-btn-bg: var(--fortyfour-recorder-bg-1);--fortyfour-recorder-btn-bg-hover: var(--fortyfour-recorder-bg-2);--fortyfour-recorder-btn-color: var(--fortyfour-recorder-color-0);--fortyfour-recorder-btn-color-hover: var(--fortyfour-recorder-color-0);--fortyfour-recorder-btn-primary-bg: var(--fortyfour-recorder-bg-primary);--fortyfour-recorder-btn-primary-bg-hover: var(--fortyfour-recorder-bg-primary-light);--fortyfour-recorder-btn-primary-color: var(--fortyfour-recorder-color-primary);--fortyfour-recorder-btn-primary-color-hover: var(--fortyfour-recorder-color-primary);--fortyfour-recorder-select-bg: var(--fortyfour-recorder-bg-0);--fortyfour-recorder-select-bg-hover: var(--fortyfour-recorder-bg-1);--fortyfour-recorder-select-border: 1px solid var(--fortyfour-recorder-bg-1);--fortyfour-recorder-select-radius: var(--fortyfour-recorder-radius-md);--fortyfour-recorder-select-shadow: 0 4px 8px hsla(0, 0%, 0%, 0.1);--fortyfour-recorder-select-color: var(--fortyfour-recorder-color-0);--fortyfour-recorder-select-font-size: var(--fortyfour-recorder-font-size-xs);}.recorder.svelte-16qftx0 {padding:var(--fortyfour-recorder-spacing-md);border-radius:var(--fortyfour-recorder-radius);background:var(--fortyfour-recorder-bg);color:var(--fortyfour-recorder-color);}.confirm.svelte-16qftx0 {display:flex;align-items:stretch;gap:var(--fortyfour-recorder-spacing-sm);}.error.svelte-16qftx0 {display:flex;flex-direction:column;gap:var(--fortyfour-recorder-spacing-sm);}.error.svelte-16qftx0 p:where(.svelte-16qftx0) {color:var(--fortyfour-recorder-red-bg);margin:0;}`
624
512
  };
625
- function Se(e, r) {
626
- rr(r, !0), er(e, Me);
513
+ function Te(e, r) {
514
+ cr(r, !0), dr(e, Le);
627
515
  const i = r.$$host;
628
- let s = P(r, "projectId", 7), o = P(r, "labelsStr", 7, ""), n = P(r, "apiHost", 7, "api.44.audio");
629
- const u = o() ? o().split(",").map((l) => l.trim()) : [];
630
- let f = j(
516
+ let d = N(r, "sessionId", 7), o = N(r, "labels", 7, ""), s = N(r, "apiHost", 7, "api.44.audio");
517
+ const v = or(() => o() ? o().split(",").map((c) => c.trim()).filter(Boolean) : []), p = 2e3, C = 30;
518
+ let l = P(
631
519
  "ready"
632
- // "ready", "recording", "confirm", "processing", "done"
633
- ), q = j(null), x = j(null), _ = j("");
634
- async function M() {
635
- if (t(f) !== "confirm" || !t(x))
520
+ // "ready", "recording", "confirm", "processing", "done", "error"
521
+ ), y = P(null), _ = P(null), h = P(""), x = P(null);
522
+ async function T() {
523
+ if (a(l) !== "confirm" || !a(_))
636
524
  return;
637
- const l = new FormData();
638
- l.append("projectId", s()), u.forEach((b) => l.append("labels", b));
639
- const v = await (await fetch(t(x))).blob(), y = new File([v], "recording.audio", { type: v.type });
640
- l.append("audioFile", y);
525
+ const c = new FormData();
526
+ c.append("sessionId", d()), a(v).forEach((q) => c.append("labels", q));
527
+ const m = await (await fetch(a(_))).blob(), A = new File([m], "recording.audio", { type: m.type });
528
+ c.append("audioFile", A);
641
529
  try {
642
- const h = await (await fetch(`https://${n()}/recordings`, { method: "POST", body: l })).json();
643
- I(q, h.recordingId, !0), I(f, "processing");
644
- let D = !1;
645
- for (; !D; )
646
- await new Promise((A) => setTimeout(A, 2e3)), D = await C(t(q));
647
- i.dispatchEvent(new CustomEvent("recording-complete", { detail: { recordingId: t(q) } })), I(f, "done");
648
- } catch (b) {
649
- console.error("Error saving recording:", b), I(f, "ready");
530
+ const R = await (await fetch(`https://${s()}/v1/recordings`, { method: "POST", body: c })).json();
531
+ w(y, R.recordingId, !0), w(l, "processing");
532
+ let D = !1, G = 0;
533
+ for (; !D && G < C; )
534
+ await new Promise((fr) => setTimeout(fr, p)), D = await n(a(y)), G++;
535
+ if (!D) {
536
+ w(x, "Recording processing timeout. Please try again."), w(l, "error");
537
+ return;
538
+ }
539
+ i.dispatchEvent(new CustomEvent("recording-complete", { detail: { recordingId: a(y) } })), w(l, "done");
540
+ } catch (q) {
541
+ console.error("Error saving recording:", q), w(x, q.message || "Failed to save recording", !0), w(l, "error");
650
542
  }
651
543
  }
652
- function w() {
653
- I(x, null), I(f, "ready");
544
+ function t() {
545
+ w(_, null), w(l, "ready");
654
546
  }
655
- async function C(l) {
547
+ async function n(c) {
656
548
  try {
657
- const p = await fetch(`https://44hz.zuuu.us/recordings/${l}/status`);
658
- if (!p.ok)
549
+ const g = await fetch(`https://${s()}/v1/recordings/${c}/status`);
550
+ if (!g.ok)
659
551
  throw new Error("Failed to fetch data");
660
- return (await p.json()).status === "ready";
661
- } catch (p) {
662
- return console.error(p), !1;
552
+ return (await g.json()).status === "ready";
553
+ } catch (g) {
554
+ return console.error(g), !1;
663
555
  }
664
556
  }
665
- function E(l) {
666
- I(x, l, !0), I(f, "confirm");
557
+ function b(c) {
558
+ w(_, c, !0), w(l, "confirm");
667
559
  }
668
- var a = {
669
- get projectId() {
670
- return s();
560
+ var f = {
561
+ get sessionId() {
562
+ return d();
671
563
  },
672
- set projectId(l) {
673
- s(l), B();
564
+ set sessionId(c) {
565
+ d(c), U();
674
566
  },
675
- get labelsStr() {
567
+ get labels() {
676
568
  return o();
677
569
  },
678
- set labelsStr(l = "") {
679
- o(l), B();
570
+ set labels(c = "") {
571
+ o(c), U();
680
572
  },
681
573
  get apiHost() {
682
- return n();
574
+ return s();
683
575
  },
684
- set apiHost(l = "api.44.audio") {
685
- n(l), B();
576
+ set apiHost(c = "api.44.audio") {
577
+ s(c), U();
686
578
  }
687
- }, c = Ie(), m = T(c);
579
+ }, I = Ee(), B = E(I);
688
580
  {
689
- var d = (l) => {
690
- var p = he(), v = Q(p), y = L(T(v), 2), b = T(y), h = T(b, !0);
691
- S(b), S(y), S(v);
692
- var D = L(v, 2), A = T(D);
693
- A.__click = w, S(D), N(() => Y(h, t(q))), k(l, p);
694
- }, g = (l) => {
695
- var p = pr(), v = Q(p);
581
+ var H = (c) => {
582
+ var g = _e(), m = X(g), A = S(E(m), 2), q = E(A), R = E(q, !0);
583
+ L(q), L(A), L(m);
584
+ var D = S(m, 2), G = E(D);
585
+ G.__click = t, L(D), O(() => sr(R, a(y))), u(c, g);
586
+ }, k = (c) => {
587
+ var g = tr(), m = X(g);
696
588
  {
697
- var y = (h) => {
698
- var D = _e();
699
- k(h, D);
700
- }, b = (h) => {
701
- var D = pr(), A = Q(D);
589
+ var A = (R) => {
590
+ var D = we();
591
+ u(R, D);
592
+ }, q = (R) => {
593
+ var D = tr(), G = X(D);
702
594
  {
703
- var K = (R) => {
704
- var z = ke(), O = T(z);
705
- Hr(O, {
706
- get audioURL() {
707
- return t(x);
708
- }
709
- });
710
- var U = L(O, 2);
711
- nr(U, {
712
- onclick: w,
713
- children: (W, Cr) => {
714
- var dr = we();
715
- k(W, dr);
716
- },
717
- $$slots: { default: !0 }
718
- });
719
- var V = L(U, 2);
720
- nr(V, {
721
- type: "primary",
722
- onclick: M,
723
- children: (W, Cr) => {
724
- Gr();
725
- var dr = vr("Save");
726
- k(W, dr);
595
+ var fr = (K) => {
596
+ var V = xe(), J = E(V), vr = E(J);
597
+ L(J);
598
+ var ur = S(J, 2);
599
+ Y(ur, {
600
+ onclick: () => w(l, "confirm"),
601
+ children: (j, M) => {
602
+ hr();
603
+ var W = ir("Try Again");
604
+ u(j, W);
727
605
  },
728
606
  $$slots: { default: !0 }
729
- }), S(z), gr(1, z, () => hr, () => ({ y: 20, duration: 700 })), k(R, z);
730
- }, F = (R) => {
731
- var z = xe(), O = T(z);
732
- Er(O, {
733
- onDone: E,
734
- get deviceId() {
735
- return t(_);
736
- },
737
- set deviceId(U) {
738
- I(_, U, !0);
739
- }
740
- }), S(z), gr(1, z, () => hr, () => ({ y: -20, duration: 700 })), k(R, z);
607
+ }), L(V), O(() => sr(vr, `Error: ${a(x) ?? ""}`)), u(K, V);
608
+ }, Tr = (K) => {
609
+ var V = tr(), J = X(V);
610
+ {
611
+ var vr = (j) => {
612
+ var M = Ie(), W = E(M);
613
+ Qr(W, {
614
+ get audioURL() {
615
+ return a(_);
616
+ }
617
+ });
618
+ var rr = S(W, 2);
619
+ Y(rr, {
620
+ onclick: t,
621
+ children: (pr, Rr) => {
622
+ var yr = ke();
623
+ u(pr, yr);
624
+ },
625
+ $$slots: { default: !0 }
626
+ });
627
+ var $r = S(rr, 2);
628
+ Y($r, {
629
+ type: "primary",
630
+ onclick: T,
631
+ children: (pr, Rr) => {
632
+ hr();
633
+ var yr = ir("Save");
634
+ u(pr, yr);
635
+ },
636
+ $$slots: { default: !0 }
637
+ }), L(M), gr(1, M, () => xr, () => ({ y: 20, duration: 700 })), u(j, M);
638
+ }, ur = (j) => {
639
+ var M = qe(), W = E(M);
640
+ Lr(W, {
641
+ onDone: b,
642
+ get deviceId() {
643
+ return a(h);
644
+ },
645
+ set deviceId(rr) {
646
+ w(h, rr, !0);
647
+ }
648
+ }), L(M), gr(1, M, () => xr, () => ({ y: -20, duration: 700 })), u(j, M);
649
+ };
650
+ z(
651
+ J,
652
+ (j) => {
653
+ a(l) === "confirm" ? j(vr) : j(ur, !1);
654
+ },
655
+ !0
656
+ );
657
+ }
658
+ u(K, V);
741
659
  };
742
- G(
743
- A,
744
- (R) => {
745
- t(f) === "confirm" ? R(K) : R(F, !1);
660
+ z(
661
+ G,
662
+ (K) => {
663
+ a(l) === "error" ? K(fr) : K(Tr, !1);
746
664
  },
747
665
  !0
748
666
  );
749
667
  }
750
- k(h, D);
668
+ u(R, D);
751
669
  };
752
- G(
753
- v,
754
- (h) => {
755
- t(f) === "processing" ? h(y) : h(b, !1);
670
+ z(
671
+ m,
672
+ (R) => {
673
+ a(l) === "processing" ? R(A) : R(q, !1);
756
674
  },
757
675
  !0
758
676
  );
759
677
  }
760
- k(l, p);
678
+ u(c, g);
761
679
  };
762
- G(m, (l) => {
763
- t(f) === "done" && t(q) ? l(d) : l(g, !1);
680
+ z(B, (c) => {
681
+ a(l) === "done" && a(y) ? c(H) : c(k, !1);
764
682
  });
765
683
  }
766
- return S(c), k(e, c), tr(a);
684
+ return L(I), u(e, I), lr(f);
767
685
  }
768
- cr(["click"]);
769
- customElements.define("fortyfour-audio-recorder", Z(
770
- Se,
686
+ mr(["click"]);
687
+ customElements.define("fortyfour-audio-recorder", nr(
688
+ Te,
771
689
  {
772
690
  apiHost: { attribute: "api-host" },
773
- projectId: { attribute: "project-id" },
774
- labels: { attribute: "labels" },
775
- labelsStr: {}
691
+ sessionId: { attribute: "session-id" },
692
+ labels: { attribute: "labels" }
776
693
  },
777
694
  [],
778
695
  [],