@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.
- package/dist/{AudioPlayer-bUgQMAfs.mjs → AudioPlayer-Bha1JWsp.mjs} +147 -147
- package/dist/player.es.js +118 -102
- package/dist/recorder.es.js +413 -496
- package/package.json +1 -1
package/dist/recorder.es.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { h as
|
|
2
|
-
function
|
|
3
|
-
|
|
4
|
-
var
|
|
5
|
-
|
|
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
|
|
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: () =>
|
|
15
|
+
now: () => re(),
|
|
16
16
|
tasks: /* @__PURE__ */ new Set()
|
|
17
17
|
};
|
|
18
|
-
function
|
|
19
|
-
const e =
|
|
20
|
-
|
|
21
|
-
r.c(e) || (
|
|
22
|
-
}),
|
|
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
|
|
24
|
+
function ee(e) {
|
|
25
25
|
let r;
|
|
26
|
-
return
|
|
26
|
+
return F.tasks.size === 0 && F.tick(qr), {
|
|
27
27
|
promise: new Promise((i) => {
|
|
28
|
-
|
|
28
|
+
F.tasks.add(r = { c: e, f: i });
|
|
29
29
|
}),
|
|
30
30
|
abort() {
|
|
31
|
-
|
|
31
|
+
F.tasks.delete(r);
|
|
32
32
|
}
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
|
-
function
|
|
36
|
-
|
|
35
|
+
function er(e, r) {
|
|
36
|
+
kr(() => {
|
|
37
37
|
e.dispatchEvent(new CustomEvent(r));
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
|
-
function
|
|
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
|
|
50
|
+
function _r(e) {
|
|
51
51
|
const r = {}, i = e.split(";");
|
|
52
|
-
for (const
|
|
53
|
-
const [o,
|
|
54
|
-
if (!o ||
|
|
55
|
-
const
|
|
56
|
-
r[
|
|
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
|
|
61
|
-
function gr(e, r, i,
|
|
62
|
-
var o = (e &
|
|
63
|
-
function
|
|
64
|
-
return
|
|
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:
|
|
66
|
+
direction: C
|
|
67
67
|
}));
|
|
68
68
|
}
|
|
69
|
-
var
|
|
70
|
-
is_global:
|
|
69
|
+
var t = {
|
|
70
|
+
is_global: p,
|
|
71
71
|
in() {
|
|
72
|
-
if (r.inert =
|
|
73
|
-
|
|
72
|
+
if (r.inert = y, !o) {
|
|
73
|
+
x?.abort(), x?.reset?.();
|
|
74
74
|
return;
|
|
75
75
|
}
|
|
76
|
-
|
|
77
|
-
|
|
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(
|
|
81
|
-
if (!
|
|
82
|
-
|
|
80
|
+
out(I) {
|
|
81
|
+
if (!s) {
|
|
82
|
+
I?.(), l = void 0;
|
|
83
83
|
return;
|
|
84
84
|
}
|
|
85
|
-
r.inert = !0,
|
|
86
|
-
|
|
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
|
-
|
|
90
|
+
h?.abort(), x?.abort();
|
|
91
91
|
}
|
|
92
|
-
},
|
|
92
|
+
}, n = (
|
|
93
93
|
/** @type {Effect} */
|
|
94
|
-
|
|
94
|
+
Sr
|
|
95
95
|
);
|
|
96
|
-
if ((
|
|
97
|
-
var
|
|
98
|
-
if (!
|
|
99
|
-
for (var
|
|
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
|
-
|
|
102
|
-
);
|
|
103
|
-
for (; (
|
|
101
|
+
n.parent
|
|
102
|
+
); f && (f.f & Mr) !== 0; )
|
|
103
|
+
for (; (f = f.parent) && (f.f & zr) === 0; )
|
|
104
104
|
;
|
|
105
|
-
|
|
105
|
+
b = !f || (f.f & Pr) !== 0;
|
|
106
106
|
}
|
|
107
|
-
|
|
108
|
-
|
|
107
|
+
b && Fr(() => {
|
|
108
|
+
Nr(() => t.in());
|
|
109
109
|
});
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
function
|
|
113
|
-
var
|
|
114
|
-
if (
|
|
115
|
-
var
|
|
116
|
-
return
|
|
117
|
-
if (!
|
|
118
|
-
var
|
|
119
|
-
|
|
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
|
-
|
|
123
|
+
p = !0, v?.abort();
|
|
124
124
|
},
|
|
125
|
-
deactivate: () =>
|
|
126
|
-
reset: () =>
|
|
127
|
-
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:
|
|
133
|
-
deactivate:
|
|
134
|
-
reset:
|
|
135
|
-
t: () =>
|
|
132
|
+
abort: Q,
|
|
133
|
+
deactivate: Q,
|
|
134
|
+
reset: Q,
|
|
135
|
+
t: () => d
|
|
136
136
|
};
|
|
137
|
-
const { delay:
|
|
138
|
-
var
|
|
139
|
-
if (
|
|
140
|
-
var
|
|
141
|
-
|
|
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
|
|
144
|
-
return
|
|
145
|
-
|
|
146
|
-
var
|
|
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
|
|
148
|
+
var b = d - n, f = (
|
|
149
149
|
/** @type {number} */
|
|
150
|
-
r.duration * Math.abs(
|
|
151
|
-
),
|
|
152
|
-
if (
|
|
153
|
-
var
|
|
154
|
-
if (
|
|
155
|
-
for (var
|
|
156
|
-
var
|
|
157
|
-
|
|
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
|
-
|
|
160
|
-
var
|
|
159
|
+
B && (e.style.overflow = "hidden"), T = () => {
|
|
160
|
+
var m = (
|
|
161
161
|
/** @type {number} */
|
|
162
162
|
/** @type {globalThis.Animation} */
|
|
163
|
-
|
|
163
|
+
t.currentTime
|
|
164
164
|
);
|
|
165
|
-
return
|
|
166
|
-
},
|
|
167
|
-
if (
|
|
168
|
-
var
|
|
169
|
-
return
|
|
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
|
-
|
|
173
|
-
|
|
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
|
-
|
|
177
|
+
t && (t.cancel(), t.effect = null, t.onfinish = Q);
|
|
178
178
|
},
|
|
179
179
|
deactivate: () => {
|
|
180
|
-
o =
|
|
180
|
+
o = Q;
|
|
181
181
|
},
|
|
182
182
|
reset: () => {
|
|
183
|
-
|
|
183
|
+
d === 0 && y?.(1, 0);
|
|
184
184
|
},
|
|
185
|
-
t: () =>
|
|
185
|
+
t: () => T()
|
|
186
186
|
};
|
|
187
187
|
}
|
|
188
|
-
const
|
|
189
|
-
function
|
|
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
|
|
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
|
|
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:
|
|
207
|
-
css: (
|
|
206
|
+
easing: d,
|
|
207
|
+
css: (s) => `opacity: ${s * o}`
|
|
208
208
|
};
|
|
209
209
|
}
|
|
210
|
-
function
|
|
211
|
-
const
|
|
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:
|
|
216
|
-
css: (
|
|
217
|
-
transform: ${
|
|
218
|
-
opacity: ${
|
|
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
|
|
222
|
-
|
|
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
|
-
|
|
230
|
-
|
|
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
|
|
238
|
-
|
|
239
|
-
let i =
|
|
240
|
-
|
|
241
|
-
function
|
|
242
|
-
|
|
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",
|
|
245
|
-
document.removeEventListener("pointerdown",
|
|
236
|
+
return document.addEventListener("pointerdown", t), () => {
|
|
237
|
+
document.removeEventListener("pointerdown", t);
|
|
246
238
|
};
|
|
247
239
|
});
|
|
248
|
-
async function
|
|
240
|
+
async function C() {
|
|
249
241
|
try {
|
|
250
|
-
|
|
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
|
-
|
|
253
|
-
deviceId:
|
|
254
|
-
label:
|
|
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() &&
|
|
258
|
-
} catch (
|
|
259
|
-
console.error("Error accessing microphones:",
|
|
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
|
|
254
|
+
function l(t) {
|
|
263
255
|
return () => {
|
|
264
|
-
i(
|
|
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(
|
|
272
|
-
i(
|
|
263
|
+
set deviceId(t = "") {
|
|
264
|
+
i(t), U();
|
|
273
265
|
},
|
|
274
266
|
get disabled() {
|
|
275
|
-
return
|
|
267
|
+
return d();
|
|
276
268
|
},
|
|
277
|
-
set disabled(
|
|
278
|
-
|
|
269
|
+
set disabled(t = !1) {
|
|
270
|
+
d(t), U();
|
|
279
271
|
}
|
|
280
|
-
},
|
|
281
|
-
|
|
282
|
-
var
|
|
272
|
+
}, _ = ve(), h = E(_);
|
|
273
|
+
h.__click = [ne, s, o, C];
|
|
274
|
+
var x = S(h, 2);
|
|
283
275
|
{
|
|
284
|
-
var
|
|
285
|
-
var
|
|
286
|
-
|
|
287
|
-
var
|
|
288
|
-
|
|
289
|
-
|
|
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
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
283
|
+
var q = E(m, !0);
|
|
284
|
+
L(m), L(g), O(() => {
|
|
285
|
+
Z(
|
|
286
|
+
m,
|
|
295
287
|
1,
|
|
296
|
-
|
|
288
|
+
ar([
|
|
297
289
|
"devices-select__option",
|
|
298
|
-
|
|
290
|
+
a(c).deviceId === i() && "devices-select__option--is-selected"
|
|
299
291
|
]),
|
|
300
292
|
"svelte-q87ygv"
|
|
301
|
-
),
|
|
302
|
-
}), k
|
|
293
|
+
), m.disabled = d(), sr(q, a(c).label);
|
|
294
|
+
}), u(k, g);
|
|
303
295
|
});
|
|
304
|
-
var
|
|
296
|
+
var f = S(b, 2);
|
|
305
297
|
{
|
|
306
|
-
var
|
|
307
|
-
var
|
|
308
|
-
k
|
|
298
|
+
var I = (k) => {
|
|
299
|
+
var c = de();
|
|
300
|
+
u(k, c);
|
|
309
301
|
};
|
|
310
|
-
|
|
311
|
-
!
|
|
302
|
+
z(f, (k) => {
|
|
303
|
+
!a(o).length && !a(v) && k(I);
|
|
312
304
|
});
|
|
313
305
|
}
|
|
314
|
-
var
|
|
306
|
+
var B = S(f, 2);
|
|
315
307
|
{
|
|
316
|
-
var
|
|
317
|
-
var
|
|
318
|
-
k
|
|
308
|
+
var H = (k) => {
|
|
309
|
+
var c = le();
|
|
310
|
+
u(k, c);
|
|
319
311
|
};
|
|
320
|
-
|
|
321
|
-
|
|
312
|
+
z(B, (k) => {
|
|
313
|
+
a(v) && k(H);
|
|
322
314
|
});
|
|
323
315
|
}
|
|
324
|
-
|
|
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
|
-
|
|
327
|
-
|
|
318
|
+
z(x, (t) => {
|
|
319
|
+
a(s) && t(T);
|
|
328
320
|
});
|
|
329
321
|
}
|
|
330
|
-
return
|
|
322
|
+
return L(_), Kr(_, (t) => p = t, () => p), O(() => Vr(h, "aria-expanded", a(s))), u(e, _), lr(y);
|
|
331
323
|
}
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
var
|
|
335
|
-
const
|
|
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
|
|
340
|
-
|
|
341
|
-
const i =
|
|
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(
|
|
348
|
-
i(
|
|
339
|
+
set type(p) {
|
|
340
|
+
i(p), U();
|
|
349
341
|
},
|
|
350
342
|
get onclick() {
|
|
351
|
-
return
|
|
343
|
+
return d();
|
|
352
344
|
},
|
|
353
|
-
set onclick(
|
|
345
|
+
set onclick(p = () => {
|
|
354
346
|
}) {
|
|
355
|
-
|
|
347
|
+
d(p), U();
|
|
356
348
|
}
|
|
357
|
-
},
|
|
358
|
-
|
|
359
|
-
|
|
349
|
+
}, s = pe();
|
|
350
|
+
s.__click = function(...p) {
|
|
351
|
+
d()?.apply(this, p);
|
|
360
352
|
};
|
|
361
|
-
var
|
|
362
|
-
return
|
|
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
|
-
|
|
365
|
-
|
|
366
|
-
var
|
|
367
|
-
const
|
|
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
|
|
387
|
-
|
|
388
|
-
let i =
|
|
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
|
-
})),
|
|
394
|
-
|
|
395
|
-
|
|
385
|
+
})), s;
|
|
386
|
+
Jr(() => {
|
|
387
|
+
s?.stop();
|
|
396
388
|
});
|
|
397
|
-
function
|
|
398
|
-
|
|
389
|
+
function v() {
|
|
390
|
+
a(o).state === "ready" ? p() : a(o).state === "recording" && C();
|
|
399
391
|
}
|
|
400
|
-
async function
|
|
401
|
-
const
|
|
392
|
+
async function p() {
|
|
393
|
+
const t = await navigator.mediaDevices.getUserMedia({
|
|
402
394
|
audio: { deviceId: i() ? { exact: i() } : void 0 }
|
|
403
|
-
}),
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
},
|
|
407
|
-
const
|
|
408
|
-
|
|
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(
|
|
402
|
+
setTimeout(b, 1e3), a(o).state = "recording";
|
|
411
403
|
}
|
|
412
|
-
function
|
|
413
|
-
|
|
404
|
+
function C() {
|
|
405
|
+
s?.stop();
|
|
414
406
|
}
|
|
415
|
-
var
|
|
407
|
+
var l = {
|
|
416
408
|
get deviceId() {
|
|
417
409
|
return i();
|
|
418
410
|
},
|
|
419
|
-
set deviceId(
|
|
420
|
-
i(
|
|
411
|
+
set deviceId(t = "") {
|
|
412
|
+
i(t), U();
|
|
421
413
|
},
|
|
422
414
|
get onDone() {
|
|
423
|
-
return
|
|
415
|
+
return d();
|
|
424
416
|
},
|
|
425
|
-
set onDone(
|
|
426
|
-
|
|
417
|
+
set onDone(t) {
|
|
418
|
+
d(t), U();
|
|
427
419
|
}
|
|
428
|
-
},
|
|
420
|
+
}, y = me(), _ = E(y);
|
|
429
421
|
{
|
|
430
|
-
let
|
|
431
|
-
|
|
432
|
-
onclick:
|
|
422
|
+
let t = or(() => a(o).state === "recording" && "recording");
|
|
423
|
+
Y(_, {
|
|
424
|
+
onclick: v,
|
|
433
425
|
get type() {
|
|
434
|
-
return t
|
|
426
|
+
return a(t);
|
|
435
427
|
},
|
|
436
|
-
children: (
|
|
437
|
-
var
|
|
428
|
+
children: (n, b) => {
|
|
429
|
+
var f = ge(), I = X(f), B = S(I, 2);
|
|
438
430
|
{
|
|
439
|
-
var
|
|
440
|
-
var
|
|
441
|
-
|
|
442
|
-
},
|
|
443
|
-
var
|
|
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
|
|
446
|
-
var
|
|
447
|
-
|
|
437
|
+
var A = (q) => {
|
|
438
|
+
var R = ir("Recording");
|
|
439
|
+
u(q, R);
|
|
448
440
|
};
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
(
|
|
452
|
-
|
|
441
|
+
z(
|
|
442
|
+
m,
|
|
443
|
+
(q) => {
|
|
444
|
+
a(o).state === "recording" && q(A);
|
|
453
445
|
},
|
|
454
446
|
!0
|
|
455
447
|
);
|
|
456
448
|
}
|
|
457
|
-
|
|
449
|
+
u(c, g);
|
|
458
450
|
};
|
|
459
|
-
|
|
460
|
-
|
|
451
|
+
z(B, (c) => {
|
|
452
|
+
a(o).state === "ready" ? c(H) : c(k, !1);
|
|
461
453
|
});
|
|
462
454
|
}
|
|
463
|
-
|
|
464
|
-
|
|
455
|
+
O(() => Z(
|
|
456
|
+
I,
|
|
465
457
|
1,
|
|
466
|
-
|
|
458
|
+
ar([
|
|
467
459
|
"record-icon",
|
|
468
|
-
|
|
460
|
+
a(o).state === "recording" && "record-icon--is-recording"
|
|
469
461
|
]),
|
|
470
462
|
"svelte-11ls49v"
|
|
471
|
-
)),
|
|
463
|
+
)), u(n, f);
|
|
472
464
|
},
|
|
473
465
|
$$slots: { default: !0 }
|
|
474
466
|
});
|
|
475
467
|
}
|
|
476
|
-
var
|
|
468
|
+
var h = S(_, 2);
|
|
477
469
|
{
|
|
478
|
-
let
|
|
479
|
-
|
|
470
|
+
let t = or(() => a(o).state === "recording");
|
|
471
|
+
Er(h, {
|
|
480
472
|
get disabled() {
|
|
481
|
-
return t
|
|
473
|
+
return a(t);
|
|
482
474
|
},
|
|
483
475
|
get deviceId() {
|
|
484
476
|
return i();
|
|
485
477
|
},
|
|
486
|
-
set deviceId(
|
|
487
|
-
i(
|
|
478
|
+
set deviceId(n) {
|
|
479
|
+
i(n);
|
|
488
480
|
}
|
|
489
481
|
});
|
|
490
482
|
}
|
|
491
|
-
var
|
|
483
|
+
var x = S(h, 2);
|
|
492
484
|
{
|
|
493
|
-
var
|
|
494
|
-
var
|
|
495
|
-
|
|
496
|
-
() => Math.floor(
|
|
497
|
-
() => (
|
|
498
|
-
]),
|
|
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
|
-
|
|
501
|
-
|
|
492
|
+
z(x, (t) => {
|
|
493
|
+
a(o).state === "recording" && t(T);
|
|
502
494
|
});
|
|
503
495
|
}
|
|
504
|
-
return
|
|
505
|
-
|
|
496
|
+
return L(y), O(() => Z(
|
|
497
|
+
y,
|
|
506
498
|
1,
|
|
507
|
-
|
|
499
|
+
ar([
|
|
508
500
|
"container",
|
|
509
|
-
|
|
501
|
+
a(o).state === "recording" && "is-recording"
|
|
510
502
|
]),
|
|
511
503
|
"svelte-11ls49v"
|
|
512
|
-
)),
|
|
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
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
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-
|
|
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
|
|
626
|
-
|
|
513
|
+
function Te(e, r) {
|
|
514
|
+
cr(r, !0), dr(e, Le);
|
|
627
515
|
const i = r.$$host;
|
|
628
|
-
let
|
|
629
|
-
const
|
|
630
|
-
let
|
|
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
|
-
),
|
|
634
|
-
async function
|
|
635
|
-
if (
|
|
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
|
|
638
|
-
|
|
639
|
-
const
|
|
640
|
-
|
|
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
|
|
643
|
-
|
|
644
|
-
let D = !1;
|
|
645
|
-
for (; !D; )
|
|
646
|
-
await new Promise((
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
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
|
|
653
|
-
|
|
544
|
+
function t() {
|
|
545
|
+
w(_, null), w(l, "ready");
|
|
654
546
|
}
|
|
655
|
-
async function
|
|
547
|
+
async function n(c) {
|
|
656
548
|
try {
|
|
657
|
-
const
|
|
658
|
-
if (!
|
|
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
|
|
661
|
-
} catch (
|
|
662
|
-
return console.error(
|
|
552
|
+
return (await g.json()).status === "ready";
|
|
553
|
+
} catch (g) {
|
|
554
|
+
return console.error(g), !1;
|
|
663
555
|
}
|
|
664
556
|
}
|
|
665
|
-
function
|
|
666
|
-
|
|
557
|
+
function b(c) {
|
|
558
|
+
w(_, c, !0), w(l, "confirm");
|
|
667
559
|
}
|
|
668
|
-
var
|
|
669
|
-
get
|
|
670
|
-
return
|
|
560
|
+
var f = {
|
|
561
|
+
get sessionId() {
|
|
562
|
+
return d();
|
|
671
563
|
},
|
|
672
|
-
set
|
|
673
|
-
|
|
564
|
+
set sessionId(c) {
|
|
565
|
+
d(c), U();
|
|
674
566
|
},
|
|
675
|
-
get
|
|
567
|
+
get labels() {
|
|
676
568
|
return o();
|
|
677
569
|
},
|
|
678
|
-
set
|
|
679
|
-
o(
|
|
570
|
+
set labels(c = "") {
|
|
571
|
+
o(c), U();
|
|
680
572
|
},
|
|
681
573
|
get apiHost() {
|
|
682
|
-
return
|
|
574
|
+
return s();
|
|
683
575
|
},
|
|
684
|
-
set apiHost(
|
|
685
|
-
|
|
576
|
+
set apiHost(c = "api.44.audio") {
|
|
577
|
+
s(c), U();
|
|
686
578
|
}
|
|
687
|
-
},
|
|
579
|
+
}, I = Ee(), B = E(I);
|
|
688
580
|
{
|
|
689
|
-
var
|
|
690
|
-
var
|
|
691
|
-
|
|
692
|
-
var D =
|
|
693
|
-
|
|
694
|
-
},
|
|
695
|
-
var
|
|
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
|
|
698
|
-
var D =
|
|
699
|
-
|
|
700
|
-
},
|
|
701
|
-
var 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
|
|
704
|
-
var
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
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
|
-
}),
|
|
730
|
-
},
|
|
731
|
-
var
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
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
|
-
|
|
743
|
-
|
|
744
|
-
(
|
|
745
|
-
|
|
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
|
-
|
|
668
|
+
u(R, D);
|
|
751
669
|
};
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
(
|
|
755
|
-
|
|
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
|
-
|
|
678
|
+
u(c, g);
|
|
761
679
|
};
|
|
762
|
-
|
|
763
|
-
|
|
680
|
+
z(B, (c) => {
|
|
681
|
+
a(l) === "done" && a(y) ? c(H) : c(k, !1);
|
|
764
682
|
});
|
|
765
683
|
}
|
|
766
|
-
return
|
|
684
|
+
return L(I), u(e, I), lr(f);
|
|
767
685
|
}
|
|
768
|
-
|
|
769
|
-
customElements.define("fortyfour-audio-recorder",
|
|
770
|
-
|
|
686
|
+
mr(["click"]);
|
|
687
|
+
customElements.define("fortyfour-audio-recorder", nr(
|
|
688
|
+
Te,
|
|
771
689
|
{
|
|
772
690
|
apiHost: { attribute: "api-host" },
|
|
773
|
-
|
|
774
|
-
labels: { attribute: "labels" }
|
|
775
|
-
labelsStr: {}
|
|
691
|
+
sessionId: { attribute: "session-id" },
|
|
692
|
+
labels: { attribute: "labels" }
|
|
776
693
|
},
|
|
777
694
|
[],
|
|
778
695
|
[],
|