@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.
- package/dist/recorder.es.js +354 -357
- package/package.json +1 -1
package/dist/recorder.es.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { h as
|
|
2
|
-
function
|
|
3
|
-
|
|
4
|
-
var s = r.$$slots?.[i],
|
|
5
|
-
s === !0 && (s = r.children,
|
|
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
|
|
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: () =>
|
|
15
|
+
now: () => Kr(),
|
|
16
16
|
tasks: /* @__PURE__ */ new Set()
|
|
17
17
|
};
|
|
18
18
|
function Ir() {
|
|
19
|
-
const e =
|
|
20
|
-
|
|
21
|
-
r.c(e) || (
|
|
22
|
-
}),
|
|
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
|
|
24
|
+
function Vr(e) {
|
|
25
25
|
let r;
|
|
26
|
-
return
|
|
26
|
+
return j.tasks.size === 0 && j.tick(Ir), {
|
|
27
27
|
promise: new Promise((i) => {
|
|
28
|
-
|
|
28
|
+
j.tasks.add(r = { c: e, f: i });
|
|
29
29
|
}),
|
|
30
30
|
abort() {
|
|
31
|
-
|
|
31
|
+
j.tasks.delete(r);
|
|
32
32
|
}
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
|
-
function
|
|
35
|
+
function tr(e, r) {
|
|
36
36
|
_r(() => {
|
|
37
37
|
e.dispatchEvent(new CustomEvent(r));
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
|
-
function
|
|
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
|
|
56
|
-
r[
|
|
55
|
+
const f = Wr(o.trim());
|
|
56
|
+
r[f] = s.trim();
|
|
57
57
|
}
|
|
58
58
|
return r;
|
|
59
59
|
}
|
|
60
|
-
const
|
|
60
|
+
const Jr = (e) => e;
|
|
61
61
|
function gr(e, r, i, n) {
|
|
62
|
-
var o = (e & Nr) !== 0, s = (e & Pr) !== 0,
|
|
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(() =>
|
|
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:
|
|
70
|
+
is_global: v,
|
|
71
71
|
in() {
|
|
72
|
-
if (r.inert =
|
|
73
|
-
|
|
72
|
+
if (r.inert = w, !o) {
|
|
73
|
+
D?.abort(), D?.reset?.();
|
|
74
74
|
return;
|
|
75
75
|
}
|
|
76
|
-
s ||
|
|
77
|
-
|
|
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(
|
|
80
|
+
out(c) {
|
|
81
81
|
if (!s) {
|
|
82
|
-
|
|
82
|
+
c?.(), C = void 0;
|
|
83
83
|
return;
|
|
84
84
|
}
|
|
85
|
-
r.inert = !0,
|
|
86
|
-
|
|
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
|
-
|
|
90
|
+
k?.abort(), D?.abort();
|
|
91
91
|
}
|
|
92
|
-
},
|
|
92
|
+
}, d = (
|
|
93
93
|
/** @type {Effect} */
|
|
94
|
-
|
|
94
|
+
Tr
|
|
95
95
|
);
|
|
96
|
-
if ((
|
|
97
|
-
var m =
|
|
96
|
+
if ((d.transitions ??= []).push(a), o && qr) {
|
|
97
|
+
var m = v;
|
|
98
98
|
if (!m) {
|
|
99
|
-
for (var
|
|
99
|
+
for (var l = (
|
|
100
100
|
/** @type {Effect | null} */
|
|
101
|
-
|
|
102
|
-
);
|
|
103
|
-
for (; (
|
|
101
|
+
d.parent
|
|
102
|
+
); l && (l.f & $r) !== 0; )
|
|
103
|
+
for (; (l = l.parent) && (l.f & Rr) === 0; )
|
|
104
104
|
;
|
|
105
|
-
m = !
|
|
105
|
+
m = !l || (l.f & zr) !== 0;
|
|
106
106
|
}
|
|
107
|
-
m &&
|
|
108
|
-
|
|
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 (
|
|
115
|
-
var
|
|
114
|
+
if (Or(r)) {
|
|
115
|
+
var f, v = !1;
|
|
116
116
|
return Ur(() => {
|
|
117
|
-
if (!
|
|
118
|
-
var
|
|
119
|
-
|
|
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
|
-
|
|
123
|
+
v = !0, f?.abort();
|
|
124
124
|
},
|
|
125
|
-
deactivate: () =>
|
|
126
|
-
reset: () =>
|
|
127
|
-
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:
|
|
133
|
-
deactivate:
|
|
134
|
-
reset:
|
|
132
|
+
abort: W,
|
|
133
|
+
deactivate: W,
|
|
134
|
+
reset: W,
|
|
135
135
|
t: () => n
|
|
136
136
|
};
|
|
137
|
-
const { delay: q = 0, css:
|
|
138
|
-
var
|
|
139
|
-
if (s && i === void 0 && (
|
|
140
|
-
var
|
|
141
|
-
|
|
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(
|
|
143
|
+
var E = () => 1 - n, a = e.animate(k, { duration: q, fill: "forwards" });
|
|
144
144
|
return a.onfinish = () => {
|
|
145
145
|
a.cancel();
|
|
146
|
-
var
|
|
146
|
+
var d = i?.t() ?? 1 - n;
|
|
147
147
|
i?.abort();
|
|
148
|
-
var m = n -
|
|
148
|
+
var m = n - d, l = (
|
|
149
149
|
/** @type {number} */
|
|
150
150
|
r.duration * Math.abs(m)
|
|
151
|
-
),
|
|
152
|
-
if (
|
|
153
|
-
var
|
|
154
|
-
if (
|
|
155
|
-
for (var
|
|
156
|
-
var
|
|
157
|
-
|
|
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
|
-
|
|
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
|
|
166
|
-
},
|
|
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
|
|
169
|
+
return w(h, 1 - h), !0;
|
|
170
170
|
});
|
|
171
171
|
}
|
|
172
|
-
a = e.animate(
|
|
173
|
-
E = () => n,
|
|
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 =
|
|
177
|
+
a && (a.cancel(), a.effect = null, a.onfinish = W);
|
|
178
178
|
},
|
|
179
179
|
deactivate: () => {
|
|
180
|
-
o =
|
|
180
|
+
o = W;
|
|
181
181
|
},
|
|
182
182
|
reset: () => {
|
|
183
|
-
n === 0 &&
|
|
183
|
+
n === 0 && w?.(1, 0);
|
|
184
184
|
},
|
|
185
185
|
t: () => E()
|
|
186
186
|
};
|
|
187
187
|
}
|
|
188
|
-
const
|
|
189
|
-
function
|
|
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
|
|
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 =
|
|
211
|
-
const
|
|
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,
|
|
217
|
-
transform: ${
|
|
218
|
-
opacity: ${q -
|
|
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
|
|
229
|
+
async function Zr(e, r, i, n) {
|
|
230
230
|
I(r, !t(r)), t(i).length || await n();
|
|
231
231
|
}
|
|
232
|
-
var
|
|
233
|
-
const
|
|
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
|
|
238
|
-
|
|
239
|
-
let i = P(r, "deviceId", 15, ""), n = P(r, "disabled", 7, !1), o =
|
|
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(
|
|
242
|
-
|
|
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(
|
|
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((
|
|
253
|
-
deviceId:
|
|
254
|
-
label:
|
|
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((
|
|
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
|
|
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
|
-
},
|
|
281
|
-
|
|
282
|
-
var
|
|
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
|
|
286
|
-
lr(m, 17, () => t(o), vr, (
|
|
287
|
-
var
|
|
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(
|
|
289
|
+
t(L)?.apply(this, K);
|
|
290
290
|
};
|
|
291
|
-
var
|
|
292
|
-
|
|
293
|
-
|
|
291
|
+
var N = T(h, !0);
|
|
292
|
+
M(h), M(y), U(() => {
|
|
293
|
+
Q(
|
|
294
294
|
h,
|
|
295
295
|
1,
|
|
296
|
-
|
|
296
|
+
ir([
|
|
297
297
|
"devices-select__option",
|
|
298
|
-
t(
|
|
298
|
+
t(u).deviceId === i() && "devices-select__option--is-selected"
|
|
299
299
|
]),
|
|
300
300
|
"svelte-q87ygv"
|
|
301
|
-
), h.disabled = n(),
|
|
302
|
-
}),
|
|
301
|
+
), h.disabled = n(), X(N, t(u).label);
|
|
302
|
+
}), _(g, y);
|
|
303
303
|
});
|
|
304
|
-
var
|
|
304
|
+
var l = z(m, 2);
|
|
305
305
|
{
|
|
306
|
-
var
|
|
307
|
-
var
|
|
308
|
-
|
|
306
|
+
var c = (g) => {
|
|
307
|
+
var u = ee();
|
|
308
|
+
_(g, u);
|
|
309
309
|
};
|
|
310
|
-
|
|
311
|
-
!t(o).length && !t(
|
|
310
|
+
H(l, (g) => {
|
|
311
|
+
!t(o).length && !t(f) && g(c);
|
|
312
312
|
});
|
|
313
313
|
}
|
|
314
|
-
var
|
|
314
|
+
var p = z(l, 2);
|
|
315
315
|
{
|
|
316
|
-
var
|
|
317
|
-
var
|
|
318
|
-
|
|
316
|
+
var b = (g) => {
|
|
317
|
+
var u = te();
|
|
318
|
+
_(g, u);
|
|
319
319
|
};
|
|
320
|
-
|
|
321
|
-
t(
|
|
320
|
+
H(p, (g) => {
|
|
321
|
+
t(f) && g(b);
|
|
322
322
|
});
|
|
323
323
|
}
|
|
324
|
-
|
|
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
|
-
|
|
326
|
+
H(D, (a) => {
|
|
327
327
|
t(s) && a(E);
|
|
328
328
|
});
|
|
329
329
|
}
|
|
330
|
-
return
|
|
330
|
+
return M(x), kr(x, (a) => v = a, () => v), U(() => or(k, "aria-expanded", t(s))), _(e, x), er(w);
|
|
331
331
|
}
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
var
|
|
335
|
-
const
|
|
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
|
|
340
|
-
|
|
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(
|
|
348
|
-
i(
|
|
347
|
+
set type(v) {
|
|
348
|
+
i(v), B();
|
|
349
349
|
},
|
|
350
350
|
get onclick() {
|
|
351
351
|
return n();
|
|
352
352
|
},
|
|
353
|
-
set onclick(
|
|
353
|
+
set onclick(v = () => {
|
|
354
354
|
}) {
|
|
355
|
-
n(
|
|
355
|
+
n(v), B();
|
|
356
356
|
}
|
|
357
|
-
}, s =
|
|
358
|
-
s.__click = function(...
|
|
359
|
-
n()?.apply(this,
|
|
357
|
+
}, s = se();
|
|
358
|
+
s.__click = function(...v) {
|
|
359
|
+
n()?.apply(this, v);
|
|
360
360
|
};
|
|
361
|
-
var
|
|
362
|
-
return
|
|
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
|
-
|
|
365
|
-
|
|
366
|
-
var
|
|
367
|
-
const
|
|
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
|
|
387
|
-
|
|
388
|
-
let i = P(r, "deviceId", 15, ""), n = P(r, "onDone", 7), o =
|
|
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
|
|
398
|
-
t(o).state === "ready" ?
|
|
397
|
+
function f() {
|
|
398
|
+
t(o).state === "ready" ? v() : t(o).state === "recording" && q();
|
|
399
399
|
}
|
|
400
|
-
async function
|
|
400
|
+
async function v() {
|
|
401
401
|
const a = await navigator.mediaDevices.getUserMedia({
|
|
402
402
|
audio: { deviceId: i() ? { exact: i() } : void 0 }
|
|
403
|
-
}),
|
|
404
|
-
s = new MediaRecorder(a), s.ondataavailable = (
|
|
405
|
-
t(o).state === "recording" && (a.getTracks().forEach((
|
|
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
|
|
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
|
-
},
|
|
428
|
+
}, w = le(), x = T(w);
|
|
429
429
|
{
|
|
430
430
|
let a = fr(() => t(o).state === "recording" && "recording");
|
|
431
|
-
|
|
432
|
-
onclick:
|
|
431
|
+
sr(x, {
|
|
432
|
+
onclick: f,
|
|
433
433
|
get type() {
|
|
434
434
|
return t(a);
|
|
435
435
|
},
|
|
436
|
-
children: (
|
|
437
|
-
var
|
|
436
|
+
children: (d, m) => {
|
|
437
|
+
var l = ce(), c = J(l), p = z(c, 2);
|
|
438
438
|
{
|
|
439
|
-
var
|
|
440
|
-
var
|
|
441
|
-
|
|
442
|
-
},
|
|
443
|
-
var
|
|
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
|
|
445
|
+
var L = (N) => {
|
|
446
446
|
var K = ur("Recording");
|
|
447
|
-
|
|
447
|
+
_(N, K);
|
|
448
448
|
};
|
|
449
|
-
|
|
449
|
+
H(
|
|
450
450
|
h,
|
|
451
|
-
(
|
|
452
|
-
t(o).state === "recording" &&
|
|
451
|
+
(N) => {
|
|
452
|
+
t(o).state === "recording" && N(L);
|
|
453
453
|
},
|
|
454
454
|
!0
|
|
455
455
|
);
|
|
456
456
|
}
|
|
457
|
-
|
|
457
|
+
_(u, y);
|
|
458
458
|
};
|
|
459
|
-
|
|
460
|
-
t(o).state === "ready" ?
|
|
459
|
+
H(p, (u) => {
|
|
460
|
+
t(o).state === "ready" ? u(b) : u(g, !1);
|
|
461
461
|
});
|
|
462
462
|
}
|
|
463
|
-
|
|
464
|
-
|
|
463
|
+
U(() => Q(
|
|
464
|
+
c,
|
|
465
465
|
1,
|
|
466
|
-
|
|
466
|
+
ir([
|
|
467
467
|
"record-icon",
|
|
468
468
|
t(o).state === "recording" && "record-icon--is-recording"
|
|
469
469
|
]),
|
|
470
470
|
"svelte-11ls49v"
|
|
471
|
-
)),
|
|
471
|
+
)), _(d, l);
|
|
472
472
|
},
|
|
473
473
|
$$slots: { default: !0 }
|
|
474
474
|
});
|
|
475
475
|
}
|
|
476
|
-
var
|
|
476
|
+
var k = z(x, 2);
|
|
477
477
|
{
|
|
478
478
|
let a = fr(() => t(o).state === "recording");
|
|
479
|
-
|
|
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(
|
|
487
|
-
i(
|
|
486
|
+
set deviceId(d) {
|
|
487
|
+
i(d);
|
|
488
488
|
}
|
|
489
489
|
});
|
|
490
490
|
}
|
|
491
|
-
var
|
|
491
|
+
var D = z(k, 2);
|
|
492
492
|
{
|
|
493
493
|
var E = (a) => {
|
|
494
|
-
var
|
|
495
|
-
|
|
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
|
-
]),
|
|
498
|
+
]), _(a, d);
|
|
499
499
|
};
|
|
500
|
-
|
|
500
|
+
H(D, (a) => {
|
|
501
501
|
t(o).state === "recording" && a(E);
|
|
502
502
|
});
|
|
503
503
|
}
|
|
504
|
-
return
|
|
505
|
-
|
|
504
|
+
return M(w), U(() => Q(
|
|
505
|
+
w,
|
|
506
506
|
1,
|
|
507
|
-
|
|
507
|
+
ir([
|
|
508
508
|
"container",
|
|
509
509
|
t(o).state === "recording" && "is-recording"
|
|
510
510
|
]),
|
|
511
511
|
"svelte-11ls49v"
|
|
512
|
-
)),
|
|
512
|
+
)), _(e, w), er(C);
|
|
513
513
|
}
|
|
514
|
-
|
|
515
|
-
function
|
|
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
|
|
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
|
|
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
|
|
525
|
-
|
|
524
|
+
function be(e, r) {
|
|
525
|
+
Z(r, !0), rr(e, ye);
|
|
526
526
|
const i = P(r, "onSelectMic", 7);
|
|
527
|
-
let n =
|
|
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
|
|
530
|
-
navigator.mediaDevices.ondevicechange =
|
|
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(
|
|
535
|
-
s.srcObject.getTracks().forEach((
|
|
534
|
+
if (t(f)) {
|
|
535
|
+
s.srcObject.getTracks().forEach((l) => l.stop()), I(f, !1);
|
|
536
536
|
return;
|
|
537
537
|
}
|
|
538
|
-
I(
|
|
538
|
+
I(v, Array(15).fill(1), !0), I(f, !0);
|
|
539
539
|
try {
|
|
540
|
-
let
|
|
541
|
-
if (!t(
|
|
542
|
-
|
|
540
|
+
let N = function($) {
|
|
541
|
+
if (!t(f)) {
|
|
542
|
+
g.close();
|
|
543
543
|
return;
|
|
544
544
|
}
|
|
545
|
-
const
|
|
546
|
-
|
|
547
|
-
let
|
|
548
|
-
for (let
|
|
549
|
-
const V = (
|
|
550
|
-
|
|
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
|
|
553
|
-
|
|
552
|
+
const F = Math.sqrt(A / S.length);
|
|
553
|
+
L.push(F), requestAnimationFrame(N);
|
|
554
554
|
};
|
|
555
|
-
const
|
|
555
|
+
const l = await navigator.mediaDevices.getUserMedia({
|
|
556
556
|
audio: {
|
|
557
557
|
deviceId: t(o) ? { exact: t(o) } : void 0
|
|
558
558
|
}
|
|
559
|
-
}),
|
|
560
|
-
let
|
|
561
|
-
|
|
562
|
-
const
|
|
563
|
-
s.src =
|
|
564
|
-
},
|
|
565
|
-
const
|
|
566
|
-
|
|
567
|
-
const h = (
|
|
568
|
-
if (
|
|
569
|
-
const
|
|
570
|
-
return Math.round(
|
|
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
|
|
573
|
-
|
|
572
|
+
let L = [];
|
|
573
|
+
N(0);
|
|
574
574
|
let K = 0;
|
|
575
|
-
|
|
575
|
+
b = setInterval(
|
|
576
576
|
() => {
|
|
577
|
-
const
|
|
578
|
-
t(
|
|
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 (
|
|
583
|
-
console.error("Error during mic check:",
|
|
582
|
+
} catch (l) {
|
|
583
|
+
console.error("Error during mic check:", l);
|
|
584
584
|
}
|
|
585
585
|
}
|
|
586
586
|
}
|
|
587
|
-
var
|
|
587
|
+
var C = {
|
|
588
588
|
get onSelectMic() {
|
|
589
589
|
return i();
|
|
590
590
|
},
|
|
591
|
-
set onSelectMic(
|
|
592
|
-
i(
|
|
591
|
+
set onSelectMic(l) {
|
|
592
|
+
i(l), B();
|
|
593
593
|
}
|
|
594
|
-
},
|
|
595
|
-
|
|
596
|
-
var
|
|
597
|
-
|
|
598
|
-
var
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
}),
|
|
602
|
-
}),
|
|
603
|
-
var
|
|
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
|
-
|
|
607
|
-
var
|
|
608
|
-
kr(
|
|
609
|
-
var m =
|
|
610
|
-
return lr(m, 21, () => t(
|
|
611
|
-
var
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
}),
|
|
615
|
-
}),
|
|
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
|
-
|
|
618
|
-
|
|
619
|
-
var
|
|
620
|
-
const
|
|
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
|
|
626
|
-
|
|
625
|
+
function Me(e, r) {
|
|
626
|
+
Z(r, !0), rr(e, Ie);
|
|
627
627
|
const i = r.$$host;
|
|
628
|
-
let n = P(r, "
|
|
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
|
-
),
|
|
634
|
-
async function
|
|
635
|
-
if (t(f) !== "confirm" || !t(
|
|
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
|
|
638
|
-
|
|
639
|
-
const
|
|
640
|
-
|
|
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
|
|
643
|
-
I(
|
|
644
|
-
let
|
|
645
|
-
for (; !
|
|
646
|
-
await new Promise((
|
|
647
|
-
i.dispatchEvent(new CustomEvent("recording-complete", { detail: { recordingId: t(
|
|
648
|
-
} catch (
|
|
649
|
-
console.error("Error saving recording:",
|
|
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
|
|
653
|
-
I(
|
|
650
|
+
function x() {
|
|
651
|
+
I(q, null), I(f, "ready");
|
|
654
652
|
}
|
|
655
|
-
async function
|
|
653
|
+
async function k(c) {
|
|
656
654
|
try {
|
|
657
|
-
const p = await fetch(`https://${s()}/api/v1/recordings/${
|
|
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
|
|
666
|
-
I(
|
|
663
|
+
function D(c) {
|
|
664
|
+
I(q, c, !0), I(f, "confirm");
|
|
667
665
|
}
|
|
668
|
-
var
|
|
669
|
-
get
|
|
666
|
+
var E = {
|
|
667
|
+
get sessionId() {
|
|
670
668
|
return n();
|
|
671
669
|
},
|
|
672
|
-
set
|
|
673
|
-
n(
|
|
670
|
+
set sessionId(c) {
|
|
671
|
+
n(c), B();
|
|
674
672
|
},
|
|
675
|
-
get
|
|
673
|
+
get labels() {
|
|
676
674
|
return o();
|
|
677
675
|
},
|
|
678
|
-
set
|
|
679
|
-
o(
|
|
676
|
+
set labels(c = "") {
|
|
677
|
+
o(c), B();
|
|
680
678
|
},
|
|
681
679
|
get apiHost() {
|
|
682
680
|
return s();
|
|
683
681
|
},
|
|
684
|
-
set apiHost(
|
|
685
|
-
s(
|
|
682
|
+
set apiHost(c = "api.44.audio") {
|
|
683
|
+
s(c), B();
|
|
686
684
|
}
|
|
687
|
-
},
|
|
685
|
+
}, a = xe(), d = T(a);
|
|
688
686
|
{
|
|
689
|
-
var
|
|
690
|
-
var p =
|
|
691
|
-
|
|
692
|
-
var
|
|
693
|
-
|
|
694
|
-
},
|
|
695
|
-
var p = pr(),
|
|
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
|
|
698
|
-
var
|
|
699
|
-
|
|
700
|
-
},
|
|
701
|
-
var
|
|
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
|
|
704
|
-
var
|
|
705
|
-
|
|
701
|
+
var N = ($) => {
|
|
702
|
+
var S = we(), A = T(S);
|
|
703
|
+
jr(A, {
|
|
706
704
|
get audioURL() {
|
|
707
|
-
return t(
|
|
705
|
+
return t(q);
|
|
708
706
|
}
|
|
709
707
|
});
|
|
710
|
-
var
|
|
711
|
-
|
|
712
|
-
onclick:
|
|
713
|
-
children: (
|
|
714
|
-
var dr =
|
|
715
|
-
|
|
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
|
|
720
|
-
|
|
717
|
+
var G = z(F, 2);
|
|
718
|
+
sr(G, {
|
|
721
719
|
type: "primary",
|
|
722
|
-
onclick:
|
|
723
|
-
children: (
|
|
724
|
-
|
|
720
|
+
onclick: w,
|
|
721
|
+
children: (V, cr) => {
|
|
722
|
+
Hr();
|
|
725
723
|
var dr = ur("Save");
|
|
726
|
-
|
|
724
|
+
_(V, dr);
|
|
727
725
|
},
|
|
728
726
|
$$slots: { default: !0 }
|
|
729
|
-
}), S
|
|
730
|
-
},
|
|
731
|
-
var
|
|
732
|
-
|
|
733
|
-
onDone:
|
|
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(
|
|
738
|
-
I(
|
|
735
|
+
set deviceId(F) {
|
|
736
|
+
I(C, F, !0);
|
|
739
737
|
}
|
|
740
|
-
}), S
|
|
738
|
+
}), M(S), gr(1, S, () => hr, () => ({ y: -20, duration: 700 })), _($, S);
|
|
741
739
|
};
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
(
|
|
745
|
-
t(f) === "confirm" ?
|
|
740
|
+
H(
|
|
741
|
+
L,
|
|
742
|
+
($) => {
|
|
743
|
+
t(f) === "confirm" ? $(N) : $(K, !1);
|
|
746
744
|
},
|
|
747
745
|
!0
|
|
748
746
|
);
|
|
749
747
|
}
|
|
750
|
-
|
|
748
|
+
_(y, h);
|
|
751
749
|
};
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
(
|
|
755
|
-
t(f) === "processing" ?
|
|
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
|
-
|
|
758
|
+
_(c, p);
|
|
761
759
|
};
|
|
762
|
-
|
|
763
|
-
t(f) === "done" && t(
|
|
760
|
+
H(d, (c) => {
|
|
761
|
+
t(f) === "done" && t(v) ? c(m) : c(l, !1);
|
|
764
762
|
});
|
|
765
763
|
}
|
|
766
|
-
return
|
|
764
|
+
return M(a), _(e, a), er(E);
|
|
767
765
|
}
|
|
768
|
-
|
|
769
|
-
customElements.define("fortyfour-audio-recorder",
|
|
770
|
-
|
|
766
|
+
nr(["click"]);
|
|
767
|
+
customElements.define("fortyfour-audio-recorder", Y(
|
|
768
|
+
Me,
|
|
771
769
|
{
|
|
772
770
|
apiHost: { attribute: "api-host" },
|
|
773
|
-
|
|
774
|
-
labels: { attribute: "labels" }
|
|
775
|
-
labelsStr: {}
|
|
771
|
+
sessionId: { attribute: "session-id" },
|
|
772
|
+
labels: { attribute: "labels" }
|
|
776
773
|
},
|
|
777
774
|
[],
|
|
778
775
|
[],
|