@44-audio/components 0.1.0-dev.8 → 0.1.0-dev.9

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