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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/player.es.js CHANGED
@@ -54,7 +54,7 @@ function ee(i, t) {
54
54
  }
55
55
  }, u = je(), w = b(u), O = b(w);
56
56
  {
57
- let e = ve(() => `https://${v()}/recordings/${n()}/audio.mp3`);
57
+ let e = ve(() => `https://${v()}/api/v1/recordings/${n()}/audio.mp3`);
58
58
  ce(O, {
59
59
  get audioURL() {
60
60
  return p(e);
@@ -1,8 +1,8 @@
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) {
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
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);
4
+ var s = r.$$slots?.[i], v = !1;
5
+ s === !0 && (s = r.children, v = !0), s === void 0 || s(e, v ? () => n : n);
6
6
  }
7
7
  const Vr = () => performance.now(), H = {
8
8
  // don't access requestAnimationFrame eagerly outside method
@@ -49,19 +49,19 @@ function Jr(e) {
49
49
  }
50
50
  function br(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 n of i) {
53
+ const [o, s] = n.split(":");
54
+ if (!o || s === void 0) break;
55
+ const v = Jr(o.trim());
56
+ r[v] = s.trim();
57
57
  }
58
58
  return r;
59
59
  }
60
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;
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;
63
63
  function E() {
64
- return _r(() => x ??= i()(r, s?.() ?? /** @type {P} */
64
+ return _r(() => x ??= i()(r, n?.() ?? /** @type {P} */
65
65
  {}, {
66
66
  direction: q
67
67
  }));
@@ -73,12 +73,12 @@ function gr(e, r, i, s) {
73
73
  C?.abort(), C?.reset?.();
74
74
  return;
75
75
  }
76
- n || w?.abort(), or(r, "introstart"), w = yr(r, E(), C, 1, () => {
76
+ s || w?.abort(), or(r, "introstart"), w = yr(r, E(), C, 1, () => {
77
77
  or(r, "introend"), w?.abort(), w = x = void 0, r.style.overflow = M;
78
78
  });
79
79
  },
80
80
  out(g) {
81
- if (!n) {
81
+ if (!s) {
82
82
  g?.(), x = void 0;
83
83
  return;
84
84
  }
@@ -93,14 +93,14 @@ function gr(e, r, i, s) {
93
93
  /** @type {Effect} */
94
94
  qr
95
95
  );
96
- if ((c.transitions ??= []).push(a), o && zr) {
96
+ if ((c.transitions ??= []).push(a), o && $r) {
97
97
  var m = f;
98
98
  if (!m) {
99
99
  for (var d = (
100
100
  /** @type {Effect | null} */
101
101
  c.parent
102
102
  ); d && (d.f & Rr) !== 0; )
103
- for (; (d = d.parent) && (d.f & $r) === 0; )
103
+ for (; (d = d.parent) && (d.f & zr) === 0; )
104
104
  ;
105
105
  m = !d || (d.f & Lr) !== 0;
106
106
  }
@@ -109,22 +109,22 @@ function gr(e, r, i, s) {
109
109
  });
110
110
  }
111
111
  }
112
- function yr(e, r, i, s, o) {
113
- var n = s === 1;
112
+ function yr(e, r, i, n, o) {
113
+ var s = n === 1;
114
114
  if (jr(r)) {
115
- var u, f = !1;
115
+ var v, f = !1;
116
116
  return Ur(() => {
117
117
  if (!f) {
118
- var c = r({ direction: n ? "in" : "out" });
119
- u = yr(e, c, i, s, o);
118
+ var c = r({ direction: s ? "in" : "out" });
119
+ v = yr(e, c, i, n, o);
120
120
  }
121
121
  }), {
122
122
  abort: () => {
123
- f = !0, u?.abort();
123
+ f = !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)
@@ -132,28 +132,28 @@ function yr(e, r, i, s, o) {
132
132
  abort: J,
133
133
  deactivate: J,
134
134
  reset: J,
135
- t: () => s
135
+ t: () => n
136
136
  };
137
137
  const { delay: q = 0, css: x, tick: _, easing: M = Qr } = r;
138
138
  var w = [];
139
- if (n && i === void 0 && (_ && _(0, 1), x)) {
139
+ if (s && i === void 0 && (_ && _(0, 1), x)) {
140
140
  var C = br(x(0, 1));
141
141
  w.push(C, C);
142
142
  }
143
- var E = () => 1 - s, a = e.animate(w, { duration: q, fill: "forwards" });
143
+ var E = () => 1 - n, a = e.animate(w, { duration: q, fill: "forwards" });
144
144
  return a.onfinish = () => {
145
145
  a.cancel();
146
- var c = i?.t() ?? 1 - s;
146
+ var c = i?.t() ?? 1 - n;
147
147
  i?.abort();
148
- var m = s - c, d = (
148
+ var m = n - c, d = (
149
149
  /** @type {number} */
150
150
  r.duration * Math.abs(m)
151
151
  ), g = [];
152
152
  if (d > 0) {
153
153
  var l = !1;
154
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));
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
157
  g.push(b), l ||= b.overflow === "hidden";
158
158
  }
159
159
  l && (e.style.overflow = "hidden"), E = () => {
@@ -170,7 +170,7 @@ function yr(e, r, i, s, o) {
170
170
  });
171
171
  }
172
172
  a = e.animate(g, { duration: d, fill: "forwards" }), a.onfinish = () => {
173
- E = () => s, _?.(s, 1 - s), o();
173
+ E = () => n, _?.(n, 1 - n), o();
174
174
  };
175
175
  }, {
176
176
  abort: () => {
@@ -180,7 +180,7 @@ function yr(e, r, i, s, o) {
180
180
  o = J;
181
181
  },
182
182
  reset: () => {
183
- s === 0 && _?.(1, 0);
183
+ n === 0 && _?.(1, 0);
184
184
  },
185
185
  t: () => E()
186
186
  };
@@ -198,21 +198,21 @@ 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 Zr(e, { delay: r = 0, duration: i = 400, easing: n = Xr } = {}) {
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: n,
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 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);
212
212
  return {
213
213
  delay: r,
214
214
  duration: i,
215
- easing: s,
215
+ easing: n,
216
216
  css: (a, c) => `
217
217
  transform: ${x} translate(${(1 - a) * M}${w}, ${(1 - a) * C}${E});
218
218
  opacity: ${q - _ * c}`
@@ -220,26 +220,26 @@ function hr(e, { delay: r = 0, duration: i = 400, easing: s = Yr, x: o = 0, y: n
220
220
  }
221
221
  async function Mr(e = !1) {
222
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}`
223
+ const r = await navigator.mediaDevices.enumerateDevices(), i = r.filter((n) => n.deviceId).filter((n) => n.kind === "audioinput").map((n) => ({
224
+ id: n.deviceId,
225
+ label: n.label || `Microphone ${r.indexOf(n) + 1}`
226
226
  }));
227
227
  return i.length === 0 ? Mr(!0) : i;
228
228
  }
229
- async function re(e, r, i, s) {
230
- I(r, !t(r)), t(i).length || await s();
229
+ async function re(e, r, i, n) {
230
+ I(r, !t(r)), t(i).length || await n();
231
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>');
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
233
  const se = {
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
237
  function Sr(e, r) {
238
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;
239
+ let i = P(r, "deviceId", 15, ""), n = P(r, "disabled", 7, !1), o = j(ir([])), s = j(!1), v = j(!1), f;
240
240
  wr(() => {
241
241
  function a(c) {
242
- c.composedPath().includes(f) || t(n) && I(n, !1);
242
+ c.composedPath().includes(f) || t(s) && I(s, !1);
243
243
  }
244
244
  return document.addEventListener("pointerdown", a), () => {
245
245
  document.removeEventListener("pointerdown", a);
@@ -247,21 +247,21 @@ function Sr(e, r) {
247
247
  });
248
248
  async function q() {
249
249
  try {
250
- I(u, !0), (await navigator.mediaDevices.getUserMedia({ audio: !0 })).getTracks().forEach((c) => c.stop()), I(o, await navigator.mediaDevices.enumerateDevices(), !0), I(
250
+ I(v, !0), (await navigator.mediaDevices.getUserMedia({ audio: !0 })).getTracks().forEach((c) => c.stop()), I(o, await navigator.mediaDevices.enumerateDevices(), !0), I(
251
251
  o,
252
252
  t(o).filter((c) => c.deviceId).filter((c) => c.kind === "audioinput").map((c, m) => ({
253
253
  deviceId: c.deviceId,
254
254
  label: c.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(u, !1);
257
+ ), !i() && t(o).length && i(t(o)[0].deviceId), t(o).sort((c, m) => c.label.localeCompare(m.label)), I(v, !1);
258
258
  } catch (a) {
259
259
  console.error("Error accessing microphones:", a);
260
260
  }
261
261
  }
262
262
  function x(a) {
263
263
  return () => {
264
- i(a), I(n, !1);
264
+ i(a), I(s, !1);
265
265
  };
266
266
  }
267
267
  var _ = {
@@ -272,18 +272,18 @@ function Sr(e, r) {
272
272
  i(a), B();
273
273
  },
274
274
  get disabled() {
275
- return s();
275
+ return n();
276
276
  },
277
277
  set disabled(a = !1) {
278
- s(a), B();
278
+ n(a), B();
279
279
  }
280
280
  }, M = ie(), w = T(M);
281
- w.__click = [re, n, o, q];
281
+ w.__click = [re, s, o, q];
282
282
  var C = L(w, 2);
283
283
  {
284
284
  var E = (a) => {
285
285
  var c = ae(), m = T(c);
286
- lr(m, 17, () => t(o), ur, (v, y) => {
286
+ lr(m, 17, () => t(o), vr, (u, y) => {
287
287
  var b = ee(), h = T(b), D = fr(() => x(t(y).deviceId));
288
288
  h.__click = function(...K) {
289
289
  t(D)?.apply(this, K);
@@ -298,47 +298,47 @@ function Sr(e, r) {
298
298
  t(y).deviceId === i() && "devices-select__option--is-selected"
299
299
  ]),
300
300
  "svelte-q87ygv"
301
- ), h.disabled = s(), Y(A, t(y).label);
302
- }), k(v, b);
301
+ ), h.disabled = n(), Y(A, t(y).label);
302
+ }), k(u, b);
303
303
  });
304
304
  var d = L(m, 2);
305
305
  {
306
- var g = (v) => {
306
+ var g = (u) => {
307
307
  var y = te();
308
- k(v, y);
308
+ k(u, y);
309
309
  };
310
- G(d, (v) => {
311
- !t(o).length && !t(u) && v(g);
310
+ G(d, (u) => {
311
+ !t(o).length && !t(v) && u(g);
312
312
  });
313
313
  }
314
314
  var l = L(d, 2);
315
315
  {
316
- var p = (v) => {
316
+ var p = (u) => {
317
317
  var y = oe();
318
- k(v, y);
318
+ k(u, y);
319
319
  };
320
- G(l, (v) => {
321
- t(u) && v(p);
320
+ G(l, (u) => {
321
+ t(v) && u(p);
322
322
  });
323
323
  }
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);
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);
325
325
  };
326
326
  G(C, (a) => {
327
- t(n) && a(E);
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(n))), k(e, M), tr(_);
330
+ return S(M), kr(M, (a) => f = a, () => f), N(() => ar(w, "aria-expanded", t(s))), k(e, M), tr(_);
331
331
  }
332
332
  cr(["click"]);
333
333
  Z(Sr, { deviceId: {}, disabled: {} }, [], [], !0);
334
- var ne = $("<button><!></button>");
334
+ var ne = z("<button><!></button>");
335
335
  const ce = {
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
339
  function nr(e, r) {
340
340
  rr(r, !0), er(e, ce);
341
- const i = P(r, "type", 7), s = P(r, "onclick", 7, () => {
341
+ const i = P(r, "type", 7), n = P(r, "onclick", 7, () => {
342
342
  });
343
343
  var o = {
344
344
  get type() {
@@ -348,23 +348,23 @@ function nr(e, r) {
348
348
  i(f), B();
349
349
  },
350
350
  get onclick() {
351
- return s();
351
+ return n();
352
352
  },
353
353
  set onclick(f = () => {
354
354
  }) {
355
- s(f), B();
355
+ n(f), B();
356
356
  }
357
- }, n = ne();
358
- n.__click = function(...f) {
359
- s()?.apply(this, f);
357
+ }, s = ne();
358
+ s.__click = function(...f) {
359
+ n()?.apply(this, f);
360
360
  };
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);
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);
363
363
  }
364
364
  cr(["click"]);
365
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 = {
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 = {
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;}
@@ -384,33 +384,33 @@ const ue = {
384
384
  }`
385
385
  };
386
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({
387
+ rr(r, !0), er(e, ve);
388
+ let i = P(r, "deviceId", 15, ""), n = P(r, "onDone", 7), o = j(ir({
389
389
  state: "ready",
390
390
  // "ready", "recording"
391
391
  timeElapsed: 0,
392
392
  error: null
393
- })), n;
393
+ })), s;
394
394
  Br(() => {
395
- n?.stop();
395
+ s?.stop();
396
396
  });
397
- function u() {
397
+ function v() {
398
398
  t(o).state === "ready" ? f() : t(o).state === "recording" && q();
399
399
  }
400
400
  async function f() {
401
401
  const a = await navigator.mediaDevices.getUserMedia({
402
402
  audio: { deviceId: i() ? { exact: i() } : void 0 }
403
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();
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");
406
+ }, s.start();
407
407
  const m = () => {
408
408
  t(o).state === "recording" && (t(o).timeElapsed += 1, setTimeout(m, 1e3));
409
409
  };
410
410
  setTimeout(m, 1e3), t(o).state = "recording";
411
411
  }
412
412
  function q() {
413
- n?.stop();
413
+ s?.stop();
414
414
  }
415
415
  var x = {
416
416
  get deviceId() {
@@ -420,16 +420,16 @@ function Er(e, r) {
420
420
  i(a), B();
421
421
  },
422
422
  get onDone() {
423
- return s();
423
+ return n();
424
424
  },
425
425
  set onDone(a) {
426
- s(a), B();
426
+ n(a), B();
427
427
  }
428
428
  }, _ = fe(), M = T(_);
429
429
  {
430
430
  let a = fr(() => t(o).state === "recording" && "recording");
431
431
  nr(M, {
432
- onclick: u,
432
+ onclick: v,
433
433
  get type() {
434
434
  return t(a);
435
435
  },
@@ -437,13 +437,13 @@ function Er(e, r) {
437
437
  var d = de(), g = Q(d), l = L(g, 2);
438
438
  {
439
439
  var p = (y) => {
440
- var b = vr("Record");
440
+ var b = ur("Record");
441
441
  k(y, b);
442
- }, v = (y) => {
442
+ }, u = (y) => {
443
443
  var b = pr(), h = Q(b);
444
444
  {
445
445
  var D = (A) => {
446
- var K = vr("Recording");
446
+ var K = ur("Recording");
447
447
  k(A, K);
448
448
  };
449
449
  G(
@@ -457,7 +457,7 @@ function Er(e, r) {
457
457
  k(y, b);
458
458
  };
459
459
  G(l, (y) => {
460
- t(o).state === "ready" ? y(p) : y(v, !1);
460
+ t(o).state === "ready" ? y(p) : y(u, !1);
461
461
  });
462
462
  }
463
463
  N(() => X(
@@ -512,10 +512,10 @@ function Er(e, r) {
512
512
  )), k(e, _), tr(x);
513
513
  }
514
514
  Z(Er, { deviceId: {}, onDone: {} }, [], [], !0);
515
- function ve(e, r, i) {
515
+ function ue(e, r, i) {
516
516
  I(r, e.target.value, !0), i()(e.target.value);
517
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:
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:
519
519
  #f9f9f9;" fill="none" xmlns="http://www.w3.org/2000/svg"></svg></div></div></div>`);
520
520
  const be = {
521
521
  hash: "svelte-zkiuts",
@@ -524,32 +524,32 @@ const be = {
524
524
  function me(e, r) {
525
525
  rr(r, !0), er(e, be);
526
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)));
527
+ let n = j(ir([])), o = j(null), s = null, v = j(!1), f = j(ir(Array(15).fill(1)));
528
528
  wr(() => {
529
- const d = async () => I(s, await Mr(), !0);
529
+ const d = async () => I(n, await Mr(), !0);
530
530
  navigator.mediaDevices.ondevicechange = d, d();
531
531
  });
532
532
  async function q() {
533
- if (n) {
534
- if (t(u)) {
535
- n.srcObject.getTracks().forEach((d) => d.stop()), I(u, !1);
533
+ if (s) {
534
+ if (t(v)) {
535
+ s.srcObject.getTracks().forEach((d) => d.stop()), I(v, !1);
536
536
  return;
537
537
  }
538
- I(f, Array(15).fill(1), !0), I(u, !0);
538
+ I(f, Array(15).fill(1), !0), I(v, !0);
539
539
  try {
540
540
  let A = function(F) {
541
- if (!t(u)) {
542
- v.close();
541
+ if (!t(v)) {
542
+ u.close();
543
543
  return;
544
544
  }
545
545
  const R = new Uint8Array(b.fftSize);
546
546
  b.getByteTimeDomainData(R);
547
- let z = 0;
547
+ let $ = 0;
548
548
  for (let U = 0; U < R.length; U++) {
549
549
  const V = (R[U] - 128) / 128;
550
- z += V * V;
550
+ $ += V * V;
551
551
  }
552
- const O = Math.sqrt(z / R.length);
552
+ const O = Math.sqrt($ / R.length);
553
553
  D.push(O), requestAnimationFrame(A);
554
554
  };
555
555
  const d = await navigator.mediaDevices.getUserMedia({
@@ -560,13 +560,13 @@ function me(e, r) {
560
560
  let p;
561
561
  g.ondataavailable = (F) => F.data.size && l.push(F.data), g.onstop = () => {
562
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);
563
+ s.src = R, s.play(), d.getTracks().forEach(($) => $.stop()), I(v, !1), clearInterval(p);
564
564
  }, g.start(), setTimeout(() => g.stop(), 5e3);
565
- const v = new (window.AudioContext || window.webkitAudioContext)(), y = v.createMediaStreamSource(d), b = v.createAnalyser();
565
+ const u = new (window.AudioContext || window.webkitAudioContext)(), y = u.createMediaStreamSource(d), b = u.createAnalyser();
566
566
  y.connect(b), b.fftSize = 2048;
567
567
  const h = (F, R) => {
568
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);
569
+ const $ = 20 * Math.log10(F), O = -50, U = -10, W = (Math.min(U, Math.max(O, $)) - O) / (U - O);
570
570
  return Math.round(W * R);
571
571
  };
572
572
  let D = [];
@@ -574,7 +574,7 @@ function me(e, r) {
574
574
  let K = 0;
575
575
  p = setInterval(
576
576
  () => {
577
- const F = D.reduce((z, O) => z + O, 0) / D.length, R = h(F, 100);
577
+ const F = D.reduce(($, O) => $ + O, 0) / D.length, R = h(F, 100);
578
578
  t(f)[K++] = R, D = [];
579
579
  },
580
580
  300
@@ -592,12 +592,12 @@ function me(e, r) {
592
592
  i(d), B();
593
593
  }
594
594
  }, _ = ye(), M = L(T(_), 2);
595
- M.__change = [ve, o, i], lr(M, 21, () => t(s), ur, (d, g) => {
595
+ M.__change = [ue, o, i], lr(M, 21, () => t(n), vr, (d, g) => {
596
596
  var l = pe(), p = T(l, !0);
597
597
  S(l);
598
- var v = {};
598
+ var u = {};
599
599
  N(() => {
600
- Y(p, t(g).label), v !== (v = t(g).id) && (l.value = (l.__value = t(g).id) ?? "");
600
+ Y(p, t(g).label), u !== (u = t(g).id) && (l.value = (l.__value = t(g).id) ?? "");
601
601
  }), k(d, l);
602
602
  }), S(M);
603
603
  var w = L(M, 2), C = L(T(w), 4), E = T(C);
@@ -605,18 +605,18 @@ function me(e, r) {
605
605
  var a = T(E, !0);
606
606
  S(E);
607
607
  var c = L(E, 2);
608
- kr(c, (d) => n = d, () => n);
608
+ kr(c, (d) => s = d, () => s);
609
609
  var m = L(c, 2);
610
- return lr(m, 21, () => t(f), ur, (d, g, l) => {
610
+ return lr(m, 21, () => t(f), vr, (d, g, l) => {
611
611
  var p = ge();
612
612
  ar(p, "x", l * 12), N(() => {
613
613
  ar(p, "y", 100 - t(g)), ar(p, "height", t(g));
614
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);
615
+ }), S(m), S(C), S(w), S(_), N(() => Y(a, t(v) ? "Stop Testing" : "Let's Check")), k(e, _), tr(x);
616
616
  }
617
617
  cr(["change", "click"]);
618
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>');
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
620
  const Me = {
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)
@@ -625,8 +625,8 @@ const Me = {
625
625
  function Se(e, r) {
626
626
  rr(r, !0), er(e, Me);
627
627
  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()) : [];
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
630
  let f = j(
631
631
  "ready"
632
632
  // "ready", "recording", "confirm", "processing", "done"
@@ -635,11 +635,11 @@ function Se(e, r) {
635
635
  if (t(f) !== "confirm" || !t(x))
636
636
  return;
637
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 });
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
640
  l.append("audioFile", y);
641
641
  try {
642
- const h = await (await fetch(`https://${n()}/recordings`, { method: "POST", body: l })).json();
642
+ const h = await (await fetch(`https://${s()}/api/v1/recordings`, { method: "POST", body: l })).json();
643
643
  I(q, h.recordingId, !0), I(f, "processing");
644
644
  let D = !1;
645
645
  for (; !D; )
@@ -654,7 +654,7 @@ function Se(e, r) {
654
654
  }
655
655
  async function C(l) {
656
656
  try {
657
- const p = await fetch(`https://44hz.zuuu.us/recordings/${l}/status`);
657
+ const p = await fetch(`https://${s()}/api/v1/recordings/${l}/status`);
658
658
  if (!p.ok)
659
659
  throw new Error("Failed to fetch data");
660
660
  return (await p.json()).status === "ready";
@@ -667,10 +667,10 @@ function Se(e, r) {
667
667
  }
668
668
  var a = {
669
669
  get projectId() {
670
- return s();
670
+ return n();
671
671
  },
672
672
  set projectId(l) {
673
- s(l), B();
673
+ n(l), B();
674
674
  },
675
675
  get labelsStr() {
676
676
  return o();
@@ -679,20 +679,20 @@ function Se(e, r) {
679
679
  o(l), B();
680
680
  },
681
681
  get apiHost() {
682
- return n();
682
+ return s();
683
683
  },
684
684
  set apiHost(l = "api.44.audio") {
685
- n(l), B();
685
+ s(l), B();
686
686
  }
687
687
  }, c = Ie(), m = T(c);
688
688
  {
689
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);
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
693
  A.__click = w, S(D), N(() => Y(h, t(q))), k(l, p);
694
694
  }, g = (l) => {
695
- var p = pr(), v = Q(p);
695
+ var p = pr(), u = Q(p);
696
696
  {
697
697
  var y = (h) => {
698
698
  var D = _e();
@@ -701,7 +701,7 @@ function Se(e, r) {
701
701
  var D = pr(), A = Q(D);
702
702
  {
703
703
  var K = (R) => {
704
- var z = ke(), O = T(z);
704
+ var $ = ke(), O = T($);
705
705
  Hr(O, {
706
706
  get audioURL() {
707
707
  return t(x);
@@ -722,13 +722,13 @@ function Se(e, r) {
722
722
  onclick: M,
723
723
  children: (W, Cr) => {
724
724
  Gr();
725
- var dr = vr("Save");
725
+ var dr = ur("Save");
726
726
  k(W, dr);
727
727
  },
728
728
  $$slots: { default: !0 }
729
- }), S(z), gr(1, z, () => hr, () => ({ y: 20, duration: 700 })), k(R, z);
729
+ }), S($), gr(1, $, () => hr, () => ({ y: 20, duration: 700 })), k(R, $);
730
730
  }, F = (R) => {
731
- var z = xe(), O = T(z);
731
+ var $ = xe(), O = T($);
732
732
  Er(O, {
733
733
  onDone: E,
734
734
  get deviceId() {
@@ -737,7 +737,7 @@ function Se(e, r) {
737
737
  set deviceId(U) {
738
738
  I(_, U, !0);
739
739
  }
740
- }), S(z), gr(1, z, () => hr, () => ({ y: -20, duration: 700 })), k(R, z);
740
+ }), S($), gr(1, $, () => hr, () => ({ y: -20, duration: 700 })), k(R, $);
741
741
  };
742
742
  G(
743
743
  A,
@@ -750,7 +750,7 @@ function Se(e, r) {
750
750
  k(h, D);
751
751
  };
752
752
  G(
753
- v,
753
+ u,
754
754
  (h) => {
755
755
  t(f) === "processing" ? h(y) : h(b, !1);
756
756
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@44-audio/components",
3
- "version": "0.1.0-dev.5",
3
+ "version": "0.1.0-dev.8",
4
4
  "private": false,
5
5
  "files": [
6
6
  "dist"