@44-audio/components 0.1.0-dev.19 → 0.1.0-dev.20
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/{time-BmemrSJ4.mjs → index-DCaqXYMO.js} +368 -382
- package/dist/player.es.js +1367 -2349
- package/dist/recorder.es.js +297 -291
- package/package.json +4 -1
package/dist/recorder.es.js
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
function
|
|
1
|
+
import { a4 as je, l as ae, m as se, K as ne, o as P, Z as _e, z as d, F as R, I as W, L as I, D as B, G as we, H as O, x as l, y as ie, r as D, C as T, q as e, M, v as re, w as Q, _ as Me, a0 as Se, B as N, X as ue, V as te, $ as ce, Q as Ue, T as xe, S as U, J as Oe, N as oe, O as ve, R as ze, a1 as he, a2 as Fe, P as Ne, t as He, a5 as qe, a6 as Ce } from "./index-DCaqXYMO.js";
|
|
2
|
+
function Ge(b, s, n, c, i) {
|
|
3
3
|
var t = () => {
|
|
4
|
-
|
|
4
|
+
c(n[b]);
|
|
5
5
|
};
|
|
6
|
-
n.addEventListener(s, t), t(), (n === document.body || n === window || n === document) &&
|
|
6
|
+
n.addEventListener(s, t), t(), (n === document.body || n === window || n === document) && je(() => {
|
|
7
7
|
n.removeEventListener(s, t);
|
|
8
8
|
});
|
|
9
9
|
}
|
|
10
|
-
|
|
10
|
+
function Ie(b) {
|
|
11
|
+
if (isNaN(b) || b < 0)
|
|
12
|
+
return "-:--";
|
|
13
|
+
const s = b / 1e3, n = Math.floor(s / 3600), c = Math.floor(s % 3600 / 60), i = Math.round(s % 60);
|
|
14
|
+
return n > 0 ? `${n}:${c.toString().padStart(2, "0")}:${i.toString().padStart(2, "0")}` : `${c}:${i.toString().padStart(2, "0")}`;
|
|
15
|
+
}
|
|
16
|
+
var Ve = ue('<rect rx="1"></rect>'), We = R('<div class="container svelte-efr4jv" role="group" aria-label="audio player"><svg width="100%" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" class="svelte-efr4jv"><!></svg></div>');
|
|
11
17
|
const Je = {
|
|
12
18
|
hash: "svelte-efr4jv",
|
|
13
19
|
code: `svg.svelte-efr4jv {box-sizing:border-box;margin:0;padding:0;}.container.svelte-efr4jv {flex:1;box-sizing:border-box;margin:0;padding:0;display:flex;align-items:center;}.bar.svelte-efr4jv {transition:fill 0.2s;}.played.svelte-efr4jv {fill:var(--44-color-2, var(--fortyfour-recorder-bg-primary));}.unplayed.svelte-efr4jv {fill:var(--44-color-1, var(--fortyfour-recorder-color-0));}.recording-pulse.svelte-efr4jv {
|
|
@@ -22,42 +28,42 @@ const Je = {
|
|
|
22
28
|
}
|
|
23
29
|
}`
|
|
24
30
|
};
|
|
25
|
-
function Le(
|
|
26
|
-
se(s, !0), ne(
|
|
31
|
+
function Le(b, s) {
|
|
32
|
+
se(s, !0), ne(b, Je);
|
|
27
33
|
function n(r, o) {
|
|
28
|
-
const
|
|
29
|
-
for (let
|
|
30
|
-
const m = Math.floor(
|
|
34
|
+
const f = r.length / o, a = [];
|
|
35
|
+
for (let u = 0; u < o; u++) {
|
|
36
|
+
const m = Math.floor(u * f), E = Math.floor((u + 1) * f), V = r.slice(m, Math.max(m + 1, E)), $ = V.reduce((J, K) => J + K * K, 0), ge = Math.sqrt($ / V.length);
|
|
31
37
|
a.push(ge);
|
|
32
38
|
}
|
|
33
39
|
return a;
|
|
34
40
|
}
|
|
35
|
-
let
|
|
41
|
+
let c = P(s, "data", 7), i = P(s, "timeMs", 7, null), t = P(s, "barWidth", 7, 3), h = P(s, "spacing", 7, 1), g = P(s, "playedColor", 7, null), S = P(s, "unplayedColor", 7, null), _ = D(0), j = D(!1), k = null;
|
|
36
42
|
_e(() => {
|
|
37
43
|
const r = new ResizeObserver((o) => {
|
|
38
|
-
for (let
|
|
39
|
-
|
|
44
|
+
for (let f of o)
|
|
45
|
+
f.contentBoxSize ? d(_, f.contentBoxSize[0]?.inlineSize || f.contentBoxSize.inlineSize, !0) : d(_, f.contentRect.width, !0), d(j, !0);
|
|
40
46
|
});
|
|
41
47
|
return k && r.observe(k), () => {
|
|
42
48
|
r.disconnect();
|
|
43
49
|
};
|
|
44
50
|
});
|
|
45
|
-
const
|
|
46
|
-
const o = Math.max(3, Math.round(r / 100 * (
|
|
51
|
+
const L = 56, H = 100, F = N(() => Math.floor(e(_) / (t() + h()))), y = N(() => n(c(), e(F))), p = N(() => e(y).length ? c().length / e(y).length : 1), v = N(() => H * e(p)), q = N(() => e(y).map((r) => {
|
|
52
|
+
const o = Math.max(3, Math.round(r / 100 * (L - 3) + 3));
|
|
47
53
|
return o % 2 === 0 ? o + 1 : o;
|
|
48
54
|
}));
|
|
49
55
|
var A = {
|
|
50
56
|
get data() {
|
|
51
|
-
return
|
|
57
|
+
return c();
|
|
52
58
|
},
|
|
53
59
|
set data(r) {
|
|
54
|
-
|
|
60
|
+
c(r), T();
|
|
55
61
|
},
|
|
56
62
|
get timeMs() {
|
|
57
|
-
return
|
|
63
|
+
return i();
|
|
58
64
|
},
|
|
59
65
|
set timeMs(r = null) {
|
|
60
|
-
|
|
66
|
+
i(r), T();
|
|
61
67
|
},
|
|
62
68
|
get barWidth() {
|
|
63
69
|
return t();
|
|
@@ -66,51 +72,51 @@ function Le(L, s) {
|
|
|
66
72
|
t(r), T();
|
|
67
73
|
},
|
|
68
74
|
get spacing() {
|
|
69
|
-
return
|
|
75
|
+
return h();
|
|
70
76
|
},
|
|
71
77
|
set spacing(r = 1) {
|
|
72
|
-
|
|
78
|
+
h(r), T();
|
|
73
79
|
},
|
|
74
80
|
get playedColor() {
|
|
75
|
-
return
|
|
81
|
+
return g();
|
|
76
82
|
},
|
|
77
83
|
set playedColor(r = null) {
|
|
78
|
-
|
|
84
|
+
g(r), T();
|
|
79
85
|
},
|
|
80
86
|
get unplayedColor() {
|
|
81
|
-
return
|
|
87
|
+
return S();
|
|
82
88
|
},
|
|
83
89
|
set unplayedColor(r = null) {
|
|
84
|
-
|
|
90
|
+
S(r), T();
|
|
85
91
|
}
|
|
86
|
-
},
|
|
87
|
-
|
|
88
|
-
var
|
|
92
|
+
}, z = We(), x = I(z);
|
|
93
|
+
W(x, "height", L);
|
|
94
|
+
var w = I(x);
|
|
89
95
|
{
|
|
90
96
|
var C = (r) => {
|
|
91
|
-
var o = re(),
|
|
92
|
-
|
|
93
|
-
const E =
|
|
94
|
-
var
|
|
97
|
+
var o = re(), f = Q(o);
|
|
98
|
+
Me(f, 17, () => e(q), Se, (a, u, m) => {
|
|
99
|
+
const E = N(() => m * e(v) < i()), V = N(() => i() === null && m === e(q).length - 1);
|
|
100
|
+
var $ = Ve();
|
|
95
101
|
O(() => {
|
|
96
102
|
te(
|
|
97
|
-
|
|
103
|
+
$,
|
|
98
104
|
0,
|
|
99
105
|
ce([
|
|
100
106
|
"bar",
|
|
101
107
|
e(E) ? "played" : "unplayed",
|
|
102
|
-
e(
|
|
108
|
+
e(V) && "recording-pulse"
|
|
103
109
|
]),
|
|
104
110
|
"svelte-efr4jv"
|
|
105
|
-
),
|
|
106
|
-
}),
|
|
107
|
-
}),
|
|
111
|
+
), W($, "x", m * (t() + h())), W($, "y", L / 4 - e(u) / 2), W($, "width", t() - 1), W($, "height", e(u)), Ue($, e(E) ? g() ? `fill: ${g()}` : null : S() ? `fill: ${S()}` : null);
|
|
112
|
+
}), l(a, $);
|
|
113
|
+
}), l(r, o);
|
|
108
114
|
};
|
|
109
|
-
|
|
110
|
-
e(
|
|
115
|
+
B(w, (r) => {
|
|
116
|
+
e(j) && r(C);
|
|
111
117
|
});
|
|
112
118
|
}
|
|
113
|
-
return
|
|
119
|
+
return M(x), we(x, (r) => k = r, () => k), M(z), O(() => W(x, "viewBox", `0 0 ${e(_)} ${L / 2}`)), l(b, z), ie(A);
|
|
114
120
|
}
|
|
115
121
|
ae(
|
|
116
122
|
Le,
|
|
@@ -127,25 +133,25 @@ ae(
|
|
|
127
133
|
!0
|
|
128
134
|
);
|
|
129
135
|
var Xe = ue('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" class="icon svelte-7u5az2"><path d="M176 96C149.5 96 128 117.5 128 144L128 496C128 522.5 149.5 544 176 544L240 544C266.5 544 288 522.5 288 496L288 144C288 117.5 266.5 96 240 96L176 96zM400 96C373.5 96 352 117.5 352 144L352 496C352 522.5 373.5 544 400 544L464 544C490.5 544 512 522.5 512 496L512 144C512 117.5 490.5 96 464 96L400 96z"></path></svg>'), Ke = ue('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" class="icon svelte-7u5az2"><path d="M187.2 100.9C174.8 94.1 159.8 94.4 147.6 101.6C135.4 108.8 128 121.9 128 136L128 504C128 518.1 135.5 531.2 147.6 538.4C159.7 545.6 174.8 545.9 187.2 539.1L523.2 355.1C536 348.1 544 334.6 544 320C544 305.4 536 291.9 523.2 284.9L187.2 100.9z"></path></svg>'), Qe = R('<div class="container svelte-7u5az2" role="group" aria-label="Audio player"><button class="btn svelte-7u5az2"><!></button> <!> <div class="time svelte-7u5az2"><!></div> <audio></audio></div>');
|
|
130
|
-
const
|
|
136
|
+
const Ze = {
|
|
131
137
|
hash: "svelte-7u5az2",
|
|
132
138
|
code: ".container.svelte-7u5az2 {display:flex;align-items:stretch;gap:0.5rem;flex:1;}.btn.svelte-7u5az2 {border:none;border-radius:50%;padding:0.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1;flex-shrink:0;align-self:center;color:var(--fortyfour-recorder-btn-primary-color);background:var(--fortyfour-recorder-btn-primary-bg);}.btn.svelte-7u5az2:hover {color:var(--fortyfour-recorder-btn-primary-color-hover);background:var(--fortyfour-recorder-btn-primary-bg-hover);}.icon.svelte-7u5az2 {width:1.5em;height:1.5em;fill:currentColor;}.time.svelte-7u5az2 {display:flex;align-items:center;font-variant-numeric:tabular-nums;font-size:0.9rem;}"
|
|
133
139
|
};
|
|
134
|
-
function Ee(
|
|
135
|
-
se(s, !0), ne(
|
|
136
|
-
let n = P(s, "audioURL", 7),
|
|
140
|
+
function Ee(b, s) {
|
|
141
|
+
se(s, !0), ne(b, Ze);
|
|
142
|
+
let n = P(s, "audioURL", 7), c = P(s, "waveform", 7), i = D(null), t = D(0), h = D(0), g = D(
|
|
137
143
|
"ready"
|
|
138
144
|
// "ready", "playing", "paused"
|
|
139
|
-
),
|
|
140
|
-
const
|
|
145
|
+
), S = null;
|
|
146
|
+
const j = typeof navigator < "u" && /iPad|iPhone|iPod/.test(navigator.userAgent) ? 350 : 0;
|
|
141
147
|
function k() {
|
|
142
|
-
e(
|
|
148
|
+
e(i) && e(g) === "playing" && (d(t, e(i).currentTime, !0), S = requestAnimationFrame(k));
|
|
143
149
|
}
|
|
144
|
-
function
|
|
145
|
-
|
|
150
|
+
function L() {
|
|
151
|
+
d(g, "ready"), d(t, 0), S && (cancelAnimationFrame(S), S = null);
|
|
146
152
|
}
|
|
147
|
-
function
|
|
148
|
-
e(
|
|
153
|
+
function H() {
|
|
154
|
+
e(i) && (e(g) === "playing" ? (e(i).pause(), d(g, "paused"), S && (cancelAnimationFrame(S), S = null)) : (e(i).play(), d(g, "playing"), k()));
|
|
149
155
|
}
|
|
150
156
|
var F = {
|
|
151
157
|
get audioURL() {
|
|
@@ -155,106 +161,106 @@ function Ee(L, s) {
|
|
|
155
161
|
n(a), T();
|
|
156
162
|
},
|
|
157
163
|
get waveform() {
|
|
158
|
-
return
|
|
164
|
+
return c();
|
|
159
165
|
},
|
|
160
166
|
set waveform(a) {
|
|
161
|
-
|
|
167
|
+
c(a), T();
|
|
162
168
|
}
|
|
163
|
-
}, y = Qe(),
|
|
164
|
-
|
|
165
|
-
var
|
|
169
|
+
}, y = Qe(), p = I(y);
|
|
170
|
+
p.__click = H;
|
|
171
|
+
var v = I(p);
|
|
166
172
|
{
|
|
167
173
|
var q = (a) => {
|
|
168
|
-
var
|
|
169
|
-
|
|
174
|
+
var u = Xe();
|
|
175
|
+
l(a, u);
|
|
170
176
|
}, A = (a) => {
|
|
171
|
-
var
|
|
172
|
-
|
|
177
|
+
var u = Ke();
|
|
178
|
+
l(a, u);
|
|
173
179
|
};
|
|
174
|
-
|
|
175
|
-
e(
|
|
180
|
+
B(v, (a) => {
|
|
181
|
+
e(g) === "playing" ? a(q) : a(A, !1);
|
|
176
182
|
});
|
|
177
183
|
}
|
|
178
|
-
|
|
179
|
-
var
|
|
184
|
+
M(p);
|
|
185
|
+
var z = U(p, 2);
|
|
180
186
|
{
|
|
181
|
-
var
|
|
187
|
+
var x = (a) => {
|
|
182
188
|
{
|
|
183
|
-
let
|
|
189
|
+
let u = N(() => Math.round(e(t) * 1e3) + j);
|
|
184
190
|
Le(a, {
|
|
185
191
|
get timeMs() {
|
|
186
|
-
return e(
|
|
192
|
+
return e(u);
|
|
187
193
|
},
|
|
188
194
|
get data() {
|
|
189
|
-
return
|
|
195
|
+
return c();
|
|
190
196
|
}
|
|
191
197
|
});
|
|
192
198
|
}
|
|
193
199
|
};
|
|
194
|
-
|
|
195
|
-
|
|
200
|
+
B(z, (a) => {
|
|
201
|
+
c() && a(x);
|
|
196
202
|
});
|
|
197
203
|
}
|
|
198
|
-
var
|
|
204
|
+
var w = U(z, 2), C = I(w);
|
|
199
205
|
{
|
|
200
206
|
var r = (a) => {
|
|
201
|
-
var
|
|
202
|
-
O((m) => ve(
|
|
207
|
+
var u = oe();
|
|
208
|
+
O((m) => ve(u, m), [() => Ie(e(t))]), l(a, u);
|
|
203
209
|
}, o = (a) => {
|
|
204
|
-
var
|
|
205
|
-
O((m) => ve(
|
|
210
|
+
var u = oe();
|
|
211
|
+
O((m) => ve(u, m), [() => Ie(e(h))]), l(a, u);
|
|
206
212
|
};
|
|
207
|
-
|
|
208
|
-
["playing", "paused"].includes(e(
|
|
213
|
+
B(C, (a) => {
|
|
214
|
+
["playing", "paused"].includes(e(g)) ? a(r) : a(o, !1);
|
|
209
215
|
});
|
|
210
216
|
}
|
|
211
|
-
|
|
212
|
-
var
|
|
213
|
-
return we(
|
|
214
|
-
|
|
215
|
-
}), Oe("ended",
|
|
217
|
+
M(w);
|
|
218
|
+
var f = U(w, 2);
|
|
219
|
+
return we(f, (a) => d(i, a), () => e(i)), M(y), O(() => {
|
|
220
|
+
W(p, "aria-label", e(g) === "playing" ? "Pause" : "Play"), W(f, "src", n());
|
|
221
|
+
}), Oe("ended", f, L), Ge("duration", "durationchange", f, (a) => d(h, a)), l(b, y), ie(F);
|
|
216
222
|
}
|
|
217
223
|
xe(["click"]);
|
|
218
224
|
ae(Ee, { audioURL: {}, waveform: {} }, [], [], !0);
|
|
219
|
-
async function
|
|
220
|
-
|
|
225
|
+
async function Ye(b, s, n, c) {
|
|
226
|
+
d(s, !e(s)), e(n).length || await c();
|
|
221
227
|
}
|
|
222
228
|
var er = R("<li><button> </button></li>"), rr = R('<li><button class="devices-select__option svelte-q87ygv" disabled>No microphones found</button></li>'), tr = R('<li><button class="devices-select__option svelte-q87ygv" disabled>Loading Microphones...</button></li>'), or = R('<ul role="listbox" aria-label="Select microphone"><!> <!> <!></ul>'), ar = 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>');
|
|
223
229
|
const sr = {
|
|
224
230
|
hash: "svelte-q87ygv",
|
|
225
231
|
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;}'
|
|
226
232
|
};
|
|
227
|
-
function Re(
|
|
228
|
-
se(s, !0), ne(
|
|
229
|
-
let n = P(s, "deviceId", 15, ""),
|
|
233
|
+
function Re(b, s) {
|
|
234
|
+
se(s, !0), ne(b, sr);
|
|
235
|
+
let n = P(s, "deviceId", 15, ""), c = P(s, "disabled", 7, !1), i = D(ze([])), t = D(!1), h = D(!1), g;
|
|
230
236
|
_e(() => {
|
|
231
|
-
function y(
|
|
232
|
-
|
|
237
|
+
function y(p) {
|
|
238
|
+
p.composedPath().includes(g) || e(t) && d(t, !1);
|
|
233
239
|
}
|
|
234
240
|
return document.addEventListener("pointerdown", y), () => {
|
|
235
241
|
document.removeEventListener("pointerdown", y);
|
|
236
242
|
};
|
|
237
243
|
});
|
|
238
|
-
async function
|
|
244
|
+
async function S() {
|
|
239
245
|
try {
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
e(
|
|
243
|
-
deviceId:
|
|
244
|
-
label:
|
|
246
|
+
d(h, !0), (await navigator.mediaDevices.getUserMedia({ audio: !0 })).getTracks().forEach((p) => p.stop()), d(i, await navigator.mediaDevices.enumerateDevices(), !0), d(
|
|
247
|
+
i,
|
|
248
|
+
e(i).filter((p) => p.deviceId).filter((p) => p.kind === "audioinput").map((p, v) => ({
|
|
249
|
+
deviceId: p.deviceId,
|
|
250
|
+
label: p.label || `Microphone ${v + 1}`
|
|
245
251
|
})),
|
|
246
252
|
!0
|
|
247
|
-
), !n() && e(
|
|
253
|
+
), !n() && e(i).length && n(e(i)[0].deviceId), e(i).sort((p, v) => p.label.localeCompare(v.label)), d(h, !1);
|
|
248
254
|
} catch (y) {
|
|
249
255
|
console.error("Error accessing microphones:", y);
|
|
250
256
|
}
|
|
251
257
|
}
|
|
252
|
-
function
|
|
258
|
+
function _(y) {
|
|
253
259
|
return () => {
|
|
254
|
-
n(y),
|
|
260
|
+
n(y), d(t, !1);
|
|
255
261
|
};
|
|
256
262
|
}
|
|
257
|
-
var
|
|
263
|
+
var j = {
|
|
258
264
|
get deviceId() {
|
|
259
265
|
return n();
|
|
260
266
|
},
|
|
@@ -262,24 +268,24 @@ function Re(L, s) {
|
|
|
262
268
|
n(y), T();
|
|
263
269
|
},
|
|
264
270
|
get disabled() {
|
|
265
|
-
return
|
|
271
|
+
return c();
|
|
266
272
|
},
|
|
267
273
|
set disabled(y = !1) {
|
|
268
|
-
|
|
274
|
+
c(y), T();
|
|
269
275
|
}
|
|
270
|
-
}, k = ar(),
|
|
271
|
-
|
|
272
|
-
var
|
|
276
|
+
}, k = ar(), L = I(k);
|
|
277
|
+
L.__click = [Ye, t, i, S];
|
|
278
|
+
var H = U(L, 2);
|
|
273
279
|
{
|
|
274
280
|
var F = (y) => {
|
|
275
|
-
var
|
|
276
|
-
|
|
277
|
-
var r = er(), o = I(r),
|
|
278
|
-
o.__click = function(...
|
|
279
|
-
e(
|
|
281
|
+
var p = or(), v = I(p);
|
|
282
|
+
Me(v, 17, () => e(i), Se, (w, C) => {
|
|
283
|
+
var r = er(), o = I(r), f = N(() => _(e(C).deviceId));
|
|
284
|
+
o.__click = function(...u) {
|
|
285
|
+
e(f)?.apply(this, u);
|
|
280
286
|
};
|
|
281
287
|
var a = I(o, !0);
|
|
282
|
-
|
|
288
|
+
M(o), M(r), O(() => {
|
|
283
289
|
te(
|
|
284
290
|
o,
|
|
285
291
|
1,
|
|
@@ -288,36 +294,36 @@ function Re(L, s) {
|
|
|
288
294
|
e(C).deviceId === n() && "devices-select__option--is-selected"
|
|
289
295
|
]),
|
|
290
296
|
"svelte-q87ygv"
|
|
291
|
-
), o.disabled =
|
|
292
|
-
}),
|
|
297
|
+
), o.disabled = c(), ve(a, e(C).label);
|
|
298
|
+
}), l(w, r);
|
|
293
299
|
});
|
|
294
|
-
var q = U(
|
|
300
|
+
var q = U(v, 2);
|
|
295
301
|
{
|
|
296
|
-
var A = (
|
|
302
|
+
var A = (w) => {
|
|
297
303
|
var C = rr();
|
|
298
|
-
|
|
304
|
+
l(w, C);
|
|
299
305
|
};
|
|
300
|
-
|
|
301
|
-
!e(
|
|
306
|
+
B(q, (w) => {
|
|
307
|
+
!e(i).length && !e(h) && w(A);
|
|
302
308
|
});
|
|
303
309
|
}
|
|
304
|
-
var
|
|
310
|
+
var z = U(q, 2);
|
|
305
311
|
{
|
|
306
|
-
var
|
|
312
|
+
var x = (w) => {
|
|
307
313
|
var C = tr();
|
|
308
|
-
|
|
314
|
+
l(w, C);
|
|
309
315
|
};
|
|
310
|
-
|
|
311
|
-
e(
|
|
316
|
+
B(z, (w) => {
|
|
317
|
+
e(h) && w(x);
|
|
312
318
|
});
|
|
313
319
|
}
|
|
314
|
-
|
|
320
|
+
M(p), O(() => te(p, 1, `devices-select ${e(t) ? "devices-select--is-open" : ""}`, "svelte-q87ygv")), he(3, p, () => Fe, () => ({ duration: 100 })), l(y, p);
|
|
315
321
|
};
|
|
316
|
-
|
|
322
|
+
B(H, (y) => {
|
|
317
323
|
e(t) && y(F);
|
|
318
324
|
});
|
|
319
325
|
}
|
|
320
|
-
return
|
|
326
|
+
return M(k), we(k, (y) => g = y, () => g), O(() => W(L, "aria-expanded", e(t))), l(b, k), ie(j);
|
|
321
327
|
}
|
|
322
328
|
xe(["click"]);
|
|
323
329
|
ae(Re, { deviceId: {}, disabled: {} }, [], [], !0);
|
|
@@ -326,30 +332,30 @@ const ir = {
|
|
|
326
332
|
hash: "svelte-f3ispq",
|
|
327
333
|
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);}"
|
|
328
334
|
};
|
|
329
|
-
function de(
|
|
330
|
-
se(s, !0), ne(
|
|
331
|
-
const n = P(s, "type", 7),
|
|
335
|
+
function de(b, s) {
|
|
336
|
+
se(s, !0), ne(b, ir);
|
|
337
|
+
const n = P(s, "type", 7), c = P(s, "onclick", 7, () => {
|
|
332
338
|
});
|
|
333
|
-
var
|
|
339
|
+
var i = {
|
|
334
340
|
get type() {
|
|
335
341
|
return n();
|
|
336
342
|
},
|
|
337
|
-
set type(
|
|
338
|
-
n(
|
|
343
|
+
set type(g) {
|
|
344
|
+
n(g), T();
|
|
339
345
|
},
|
|
340
346
|
get onclick() {
|
|
341
|
-
return
|
|
347
|
+
return c();
|
|
342
348
|
},
|
|
343
|
-
set onclick(
|
|
349
|
+
set onclick(g = () => {
|
|
344
350
|
}) {
|
|
345
|
-
|
|
351
|
+
c(g), T();
|
|
346
352
|
}
|
|
347
353
|
}, t = nr();
|
|
348
|
-
t.__click = function(...
|
|
349
|
-
|
|
354
|
+
t.__click = function(...g) {
|
|
355
|
+
c()?.apply(this, g);
|
|
350
356
|
};
|
|
351
|
-
var
|
|
352
|
-
return
|
|
357
|
+
var h = I(t);
|
|
358
|
+
return Ne(h, s, "default", {}, null), M(t), O(() => te(t, 1, ce(["btn", n() && `btn--${n()}`]), "svelte-f3ispq")), l(b, t), ie(i);
|
|
353
359
|
}
|
|
354
360
|
xe(["click"]);
|
|
355
361
|
ae(de, { type: {}, onclick: {} }, ["default"], [], !0);
|
|
@@ -373,139 +379,139 @@ const vr = {
|
|
|
373
379
|
}
|
|
374
380
|
}`
|
|
375
381
|
};
|
|
376
|
-
function Ae(
|
|
377
|
-
se(s, !0), ne(
|
|
378
|
-
let n = P(s, "deviceId", 15, ""),
|
|
379
|
-
const
|
|
380
|
-
let t = D(
|
|
382
|
+
function Ae(b, s) {
|
|
383
|
+
se(s, !0), ne(b, vr);
|
|
384
|
+
let n = P(s, "deviceId", 15, ""), c = P(s, "onDone", 7);
|
|
385
|
+
const i = 100;
|
|
386
|
+
let t = D(ze({
|
|
381
387
|
state: "ready",
|
|
382
388
|
// "ready", "recording"
|
|
383
389
|
timeElapsed: 0,
|
|
384
390
|
error: null,
|
|
385
391
|
waveformSamples: []
|
|
386
|
-
})),
|
|
387
|
-
|
|
388
|
-
|
|
392
|
+
})), h, g;
|
|
393
|
+
He(() => {
|
|
394
|
+
h?.stop();
|
|
389
395
|
}), _e(() => {
|
|
390
|
-
function
|
|
391
|
-
document.hidden && e(t).state === "recording" &&
|
|
396
|
+
function v() {
|
|
397
|
+
document.hidden && e(t).state === "recording" && j();
|
|
392
398
|
}
|
|
393
|
-
return document.addEventListener("visibilitychange",
|
|
394
|
-
document.removeEventListener("visibilitychange",
|
|
399
|
+
return document.addEventListener("visibilitychange", v), () => {
|
|
400
|
+
document.removeEventListener("visibilitychange", v);
|
|
395
401
|
};
|
|
396
402
|
});
|
|
397
|
-
function
|
|
398
|
-
e(t).state === "ready" ?
|
|
403
|
+
function S() {
|
|
404
|
+
e(t).state === "ready" ? _() : e(t).state === "recording" && j();
|
|
399
405
|
}
|
|
400
|
-
async function
|
|
401
|
-
const
|
|
406
|
+
async function _() {
|
|
407
|
+
const v = await navigator.mediaDevices.getUserMedia({
|
|
402
408
|
audio: {
|
|
403
409
|
deviceId: n() ? { exact: n() } : void 0,
|
|
404
410
|
autoGainControl: !0,
|
|
405
411
|
noiseSuppression: !0
|
|
406
412
|
}
|
|
407
413
|
}), q = [];
|
|
408
|
-
|
|
409
|
-
const A =
|
|
410
|
-
A.fftSize = 256,
|
|
411
|
-
const
|
|
412
|
-
let
|
|
414
|
+
h = new MediaRecorder(v), h.ondataavailable = (o) => q.push(o.data), g = new AudioContext();
|
|
415
|
+
const A = g.createAnalyser();
|
|
416
|
+
A.fftSize = 256, g.createMediaStreamSource(v).connect(A);
|
|
417
|
+
const x = new Uint8Array(A.frequencyBinCount);
|
|
418
|
+
let w = 0;
|
|
413
419
|
function C(o) {
|
|
414
420
|
if (e(t).state !== "recording") return;
|
|
415
|
-
A.getByteTimeDomainData(
|
|
416
|
-
let
|
|
417
|
-
for (let m = 0; m <
|
|
418
|
-
const E = (
|
|
419
|
-
|
|
421
|
+
A.getByteTimeDomainData(x);
|
|
422
|
+
let f = 0;
|
|
423
|
+
for (let m = 0; m < x.length; m++) {
|
|
424
|
+
const E = (x[m] - 128) / 128;
|
|
425
|
+
f += E * E;
|
|
420
426
|
}
|
|
421
|
-
const a = Math.sqrt(
|
|
422
|
-
o -
|
|
427
|
+
const a = Math.sqrt(f / x.length), u = Math.min(1, a * 4);
|
|
428
|
+
o - w >= i && (e(t).waveformSamples = [...e(t).waveformSamples, Math.round(u * 100)], w = o), requestAnimationFrame(C);
|
|
423
429
|
}
|
|
424
|
-
|
|
430
|
+
h.onstop = () => {
|
|
425
431
|
if (e(t).state !== "recording")
|
|
426
432
|
return;
|
|
427
|
-
|
|
433
|
+
v.getTracks().forEach((f) => f.stop()), g?.close();
|
|
428
434
|
const o = e(t).waveformSamples;
|
|
429
|
-
e(t).waveformSamples = [],
|
|
430
|
-
url: URL.createObjectURL(new Blob(q, { type:
|
|
435
|
+
e(t).waveformSamples = [], c()({
|
|
436
|
+
url: URL.createObjectURL(new Blob(q, { type: h.mimeType })),
|
|
431
437
|
waveform: o
|
|
432
438
|
}), e(t).state = "ready";
|
|
433
|
-
},
|
|
439
|
+
}, h.start();
|
|
434
440
|
const r = () => {
|
|
435
441
|
e(t).state === "recording" && (e(t).timeElapsed += 1, setTimeout(r, 1e3));
|
|
436
442
|
};
|
|
437
443
|
setTimeout(r, 1e3), e(t).state = "recording", C();
|
|
438
444
|
}
|
|
439
|
-
function
|
|
440
|
-
|
|
445
|
+
function j() {
|
|
446
|
+
h?.stop();
|
|
441
447
|
}
|
|
442
448
|
var k = {
|
|
443
449
|
get deviceId() {
|
|
444
450
|
return n();
|
|
445
451
|
},
|
|
446
|
-
set deviceId(
|
|
447
|
-
n(
|
|
452
|
+
set deviceId(v = "") {
|
|
453
|
+
n(v), T();
|
|
448
454
|
},
|
|
449
455
|
get onDone() {
|
|
450
|
-
return
|
|
456
|
+
return c();
|
|
451
457
|
},
|
|
452
|
-
set onDone(
|
|
453
|
-
|
|
458
|
+
set onDone(v) {
|
|
459
|
+
c(v), T();
|
|
454
460
|
}
|
|
455
|
-
},
|
|
461
|
+
}, L = cr(), H = I(L);
|
|
456
462
|
{
|
|
457
|
-
let
|
|
458
|
-
de(
|
|
459
|
-
onclick:
|
|
463
|
+
let v = N(() => e(t).state === "recording" && "recording");
|
|
464
|
+
de(H, {
|
|
465
|
+
onclick: S,
|
|
460
466
|
get type() {
|
|
461
|
-
return e(
|
|
467
|
+
return e(v);
|
|
462
468
|
},
|
|
463
469
|
children: (q, A) => {
|
|
464
|
-
var
|
|
470
|
+
var z = lr(), x = Q(z), w = U(x, 2);
|
|
465
471
|
{
|
|
466
472
|
var C = (o) => {
|
|
467
|
-
var
|
|
468
|
-
|
|
473
|
+
var f = oe("Record");
|
|
474
|
+
l(o, f);
|
|
469
475
|
}, r = (o) => {
|
|
470
|
-
var
|
|
476
|
+
var f = re(), a = Q(f);
|
|
471
477
|
{
|
|
472
|
-
var
|
|
478
|
+
var u = (m) => {
|
|
473
479
|
var E = oe("Recording");
|
|
474
|
-
|
|
480
|
+
l(m, E);
|
|
475
481
|
};
|
|
476
|
-
|
|
482
|
+
B(
|
|
477
483
|
a,
|
|
478
484
|
(m) => {
|
|
479
|
-
e(t).state === "recording" && m(
|
|
485
|
+
e(t).state === "recording" && m(u);
|
|
480
486
|
},
|
|
481
487
|
!0
|
|
482
488
|
);
|
|
483
489
|
}
|
|
484
|
-
|
|
490
|
+
l(o, f);
|
|
485
491
|
};
|
|
486
|
-
|
|
492
|
+
B(w, (o) => {
|
|
487
493
|
e(t).state === "ready" ? o(C) : o(r, !1);
|
|
488
494
|
});
|
|
489
495
|
}
|
|
490
496
|
O(() => te(
|
|
491
|
-
|
|
497
|
+
x,
|
|
492
498
|
1,
|
|
493
499
|
ce([
|
|
494
500
|
"record-icon",
|
|
495
501
|
e(t).state === "recording" && "record-icon--is-recording"
|
|
496
502
|
]),
|
|
497
503
|
"svelte-fc16qh"
|
|
498
|
-
)),
|
|
504
|
+
)), l(q, z);
|
|
499
505
|
},
|
|
500
506
|
$$slots: { default: !0 }
|
|
501
507
|
});
|
|
502
508
|
}
|
|
503
|
-
var F = U(
|
|
509
|
+
var F = U(H, 2);
|
|
504
510
|
{
|
|
505
|
-
let
|
|
511
|
+
let v = N(() => e(t).state === "recording");
|
|
506
512
|
Re(F, {
|
|
507
513
|
get disabled() {
|
|
508
|
-
return e(
|
|
514
|
+
return e(v);
|
|
509
515
|
},
|
|
510
516
|
get deviceId() {
|
|
511
517
|
return n();
|
|
@@ -517,32 +523,32 @@ function Ae(L, s) {
|
|
|
517
523
|
}
|
|
518
524
|
var y = U(F, 2);
|
|
519
525
|
{
|
|
520
|
-
var
|
|
521
|
-
var q = dr(), A = I(q),
|
|
522
|
-
Le(
|
|
526
|
+
var p = (v) => {
|
|
527
|
+
var q = dr(), A = I(q), z = I(A);
|
|
528
|
+
Le(z, {
|
|
523
529
|
get data() {
|
|
524
530
|
return e(t).waveformSamples;
|
|
525
531
|
}
|
|
526
|
-
}),
|
|
527
|
-
var
|
|
528
|
-
|
|
532
|
+
}), M(A);
|
|
533
|
+
var x = U(A, 2), w = I(x);
|
|
534
|
+
M(x), M(q), O((C, r) => ve(w, `${C ?? ""}:${r ?? ""}`), [
|
|
529
535
|
() => Math.floor(e(t).timeElapsed / 60).toString(),
|
|
530
536
|
() => (e(t).timeElapsed % 60).toString().padStart(2, "0")
|
|
531
|
-
]),
|
|
537
|
+
]), l(v, q);
|
|
532
538
|
};
|
|
533
|
-
|
|
534
|
-
e(t).state === "recording" &&
|
|
539
|
+
B(y, (v) => {
|
|
540
|
+
e(t).state === "recording" && v(p);
|
|
535
541
|
});
|
|
536
542
|
}
|
|
537
|
-
return
|
|
538
|
-
|
|
543
|
+
return M(L), O(() => te(
|
|
544
|
+
L,
|
|
539
545
|
1,
|
|
540
546
|
ce([
|
|
541
547
|
"container",
|
|
542
548
|
e(t).state === "recording" && "is-recording"
|
|
543
549
|
]),
|
|
544
550
|
"svelte-fc16qh"
|
|
545
|
-
)),
|
|
551
|
+
)), l(b, L), ie(k);
|
|
546
552
|
}
|
|
547
553
|
ae(Ae, { deviceId: {}, onDone: {} }, [], [], !0);
|
|
548
554
|
var fr = R('<p class="status-message svelte-14spe77">Recording saved successfully!</p>'), ur = R('<p class="status-message svelte-14spe77">Uploading...</p>'), gr = R('<p class="status-message svelte-14spe77">Processing...</p>'), pr = R('<div class="error svelte-14spe77"><p class="svelte-14spe77"> </p> <!></div>'), yr = ue('<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>'), mr = R('<div class="confirm svelte-14spe77"><!> <div class="confirm-actions svelte-14spe77"><!> <!></div></div>'), br = R('<div class="row"><!></div>'), hr = R('<div class="recorder svelte-14spe77" role="group" aria-label="44 audio recorder"><!></div>');
|
|
@@ -551,46 +557,46 @@ const _r = {
|
|
|
551
557
|
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)
|
|
552
558
|
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-14spe77 {padding:var(--fortyfour-recorder-spacing-md);border-radius:var(--fortyfour-recorder-radius);background:var(--fortyfour-recorder-bg);color:var(--fortyfour-recorder-color);}.confirm.svelte-14spe77 {display:flex;align-items:center;gap:var(--fortyfour-recorder-spacing-sm);}.confirm-actions.svelte-14spe77 {display:flex;gap:var(--fortyfour-recorder-spacing-sm);flex-shrink:0;}.error.svelte-14spe77 {display:flex;flex-direction:column;gap:var(--fortyfour-recorder-spacing-sm);}.error.svelte-14spe77 p:where(.svelte-14spe77) {color:var(--fortyfour-recorder-red-bg);margin:0;}.status-message.svelte-14spe77 {margin:0;text-align:center;}`
|
|
553
559
|
};
|
|
554
|
-
function wr(
|
|
555
|
-
se(s, !0), ne(
|
|
560
|
+
function wr(b, s) {
|
|
561
|
+
se(s, !0), ne(b, _r);
|
|
556
562
|
const n = s.$$host;
|
|
557
|
-
let
|
|
558
|
-
const
|
|
559
|
-
let
|
|
563
|
+
let c = P(s, "sessionId", 7), i = P(s, "labels", 7, ""), t = P(s, "apiHost", 7, "api.44.audio");
|
|
564
|
+
const h = N(() => i() ? i().split(",").map((r) => r.trim()).filter(Boolean) : []), g = 2e3, S = 30;
|
|
565
|
+
let _ = D(
|
|
560
566
|
"ready"
|
|
561
567
|
// "ready", "recording", "confirm", "uploading", "processing", "done", "error"
|
|
562
|
-
),
|
|
568
|
+
), j = D(null), k = D(null), L = D(null), H = D(""), F = D(null);
|
|
563
569
|
async function y() {
|
|
564
|
-
if (!(e(
|
|
565
|
-
|
|
570
|
+
if (!(e(_) !== "confirm" || !e(k))) {
|
|
571
|
+
d(_, "uploading");
|
|
566
572
|
try {
|
|
567
573
|
const r = await fetch(e(k));
|
|
568
574
|
if (!r.ok)
|
|
569
575
|
throw new Error("Failed to load audio data");
|
|
570
|
-
const o = await r.blob(),
|
|
571
|
-
a.append("sessionId",
|
|
572
|
-
const
|
|
573
|
-
if (!
|
|
574
|
-
throw new Error(`Upload failed: ${
|
|
575
|
-
const m = await
|
|
576
|
-
|
|
577
|
-
let E = !1,
|
|
578
|
-
for (; !E &&
|
|
579
|
-
await new Promise((
|
|
576
|
+
const o = await r.blob(), f = new File([o], "recording.audio", { type: o.type }), a = new FormData();
|
|
577
|
+
a.append("sessionId", c()), e(h).forEach(($) => a.append("labels", $)), a.append("audioFile", f), e(L) && a.append("waveform", JSON.stringify(e(L)));
|
|
578
|
+
const u = await fetch(`https://${t()}/v1/recordings`, { method: "POST", body: a });
|
|
579
|
+
if (!u.ok)
|
|
580
|
+
throw new Error(`Upload failed: ${u.status}`);
|
|
581
|
+
const m = await u.json();
|
|
582
|
+
d(j, m.recordingId, !0), d(_, "processing");
|
|
583
|
+
let E = !1, V = 0;
|
|
584
|
+
for (; !E && V < S; )
|
|
585
|
+
await new Promise(($) => setTimeout($, g)), E = await v(e(j)), V++;
|
|
580
586
|
if (!E) {
|
|
581
|
-
|
|
587
|
+
d(F, "Recording processing timeout. Please try again."), d(_, "error");
|
|
582
588
|
return;
|
|
583
589
|
}
|
|
584
|
-
n.dispatchEvent(new CustomEvent("recording-complete", { detail: { recordingId: e(
|
|
590
|
+
n.dispatchEvent(new CustomEvent("recording-complete", { detail: { recordingId: e(j) } })), d(_, "done");
|
|
585
591
|
} catch (r) {
|
|
586
|
-
console.error("Error saving recording:", r),
|
|
592
|
+
console.error("Error saving recording:", r), d(F, r.message || "Failed to save recording", !0), d(_, "error");
|
|
587
593
|
}
|
|
588
594
|
}
|
|
589
595
|
}
|
|
590
|
-
function
|
|
591
|
-
|
|
596
|
+
function p() {
|
|
597
|
+
d(k, null), d(L, null), d(_, "ready");
|
|
592
598
|
}
|
|
593
|
-
async function
|
|
599
|
+
async function v(r) {
|
|
594
600
|
try {
|
|
595
601
|
const o = await fetch(`https://${t()}/v1/recordings/${r}/status`);
|
|
596
602
|
if (!o.ok)
|
|
@@ -601,20 +607,20 @@ function wr(L, s) {
|
|
|
601
607
|
}
|
|
602
608
|
}
|
|
603
609
|
function q(r) {
|
|
604
|
-
|
|
610
|
+
d(k, r.url, !0), d(L, r.waveform, !0), d(_, "confirm");
|
|
605
611
|
}
|
|
606
612
|
var A = {
|
|
607
613
|
get sessionId() {
|
|
608
|
-
return
|
|
614
|
+
return c();
|
|
609
615
|
},
|
|
610
616
|
set sessionId(r) {
|
|
611
|
-
|
|
617
|
+
c(r), T();
|
|
612
618
|
},
|
|
613
619
|
get labels() {
|
|
614
|
-
return
|
|
620
|
+
return i();
|
|
615
621
|
},
|
|
616
622
|
set labels(r = "") {
|
|
617
|
-
|
|
623
|
+
i(r), T();
|
|
618
624
|
},
|
|
619
625
|
get apiHost() {
|
|
620
626
|
return t();
|
|
@@ -622,129 +628,129 @@ function wr(L, s) {
|
|
|
622
628
|
set apiHost(r = "api.44.audio") {
|
|
623
629
|
t(r), T();
|
|
624
630
|
}
|
|
625
|
-
},
|
|
631
|
+
}, z = hr(), x = I(z);
|
|
626
632
|
{
|
|
627
|
-
var
|
|
633
|
+
var w = (r) => {
|
|
628
634
|
var o = fr();
|
|
629
|
-
|
|
635
|
+
l(r, o);
|
|
630
636
|
}, C = (r) => {
|
|
631
|
-
var o = re(),
|
|
637
|
+
var o = re(), f = Q(o);
|
|
632
638
|
{
|
|
633
639
|
var a = (m) => {
|
|
634
640
|
var E = ur();
|
|
635
|
-
|
|
636
|
-
},
|
|
637
|
-
var E = re(),
|
|
641
|
+
l(m, E);
|
|
642
|
+
}, u = (m) => {
|
|
643
|
+
var E = re(), V = Q(E);
|
|
638
644
|
{
|
|
639
|
-
var
|
|
645
|
+
var $ = (J) => {
|
|
640
646
|
var K = gr();
|
|
641
|
-
|
|
647
|
+
l(J, K);
|
|
642
648
|
}, ge = (J) => {
|
|
643
649
|
var K = re(), Pe = Q(K);
|
|
644
650
|
{
|
|
645
|
-
var Te = (
|
|
646
|
-
var
|
|
647
|
-
|
|
651
|
+
var Te = (Z) => {
|
|
652
|
+
var Y = pr(), le = I(Y), pe = I(le);
|
|
653
|
+
M(le);
|
|
648
654
|
var ye = U(le, 2);
|
|
649
655
|
de(ye, {
|
|
650
|
-
onclick: () =>
|
|
651
|
-
children: (X,
|
|
652
|
-
|
|
656
|
+
onclick: () => d(_, "confirm"),
|
|
657
|
+
children: (X, G) => {
|
|
658
|
+
qe();
|
|
653
659
|
var ee = oe("Try Again");
|
|
654
|
-
|
|
660
|
+
l(X, ee);
|
|
655
661
|
},
|
|
656
662
|
$$slots: { default: !0 }
|
|
657
|
-
}),
|
|
658
|
-
}, De = (
|
|
659
|
-
var
|
|
663
|
+
}), M(Y), O(() => ve(pe, `Error: ${e(F) ?? ""}`)), l(Z, Y);
|
|
664
|
+
}, De = (Z) => {
|
|
665
|
+
var Y = re(), le = Q(Y);
|
|
660
666
|
{
|
|
661
667
|
var pe = (X) => {
|
|
662
|
-
var
|
|
668
|
+
var G = mr(), ee = I(G);
|
|
663
669
|
Ee(ee, {
|
|
664
670
|
get audioURL() {
|
|
665
671
|
return e(k);
|
|
666
672
|
},
|
|
667
673
|
get waveform() {
|
|
668
|
-
return e(
|
|
674
|
+
return e(L);
|
|
669
675
|
}
|
|
670
676
|
});
|
|
671
677
|
var fe = U(ee, 2), ke = I(fe);
|
|
672
678
|
de(ke, {
|
|
673
|
-
onclick:
|
|
674
|
-
children: (me,
|
|
679
|
+
onclick: p,
|
|
680
|
+
children: (me, Be) => {
|
|
675
681
|
var be = yr();
|
|
676
|
-
|
|
682
|
+
l(me, be);
|
|
677
683
|
},
|
|
678
684
|
$$slots: { default: !0 }
|
|
679
685
|
});
|
|
680
|
-
var
|
|
681
|
-
de(
|
|
686
|
+
var $e = U(ke, 2);
|
|
687
|
+
de($e, {
|
|
682
688
|
type: "primary",
|
|
683
689
|
onclick: y,
|
|
684
|
-
children: (me,
|
|
685
|
-
|
|
690
|
+
children: (me, Be) => {
|
|
691
|
+
qe();
|
|
686
692
|
var be = oe("Save");
|
|
687
|
-
|
|
693
|
+
l(me, be);
|
|
688
694
|
},
|
|
689
695
|
$$slots: { default: !0 }
|
|
690
|
-
}),
|
|
696
|
+
}), M(fe), M(G), he(1, G, () => Ce, () => ({ y: 20, duration: 700 })), l(X, G);
|
|
691
697
|
}, ye = (X) => {
|
|
692
|
-
var
|
|
698
|
+
var G = br(), ee = I(G);
|
|
693
699
|
Ae(ee, {
|
|
694
700
|
onDone: q,
|
|
695
701
|
get deviceId() {
|
|
696
|
-
return e(
|
|
702
|
+
return e(H);
|
|
697
703
|
},
|
|
698
704
|
set deviceId(fe) {
|
|
699
|
-
|
|
705
|
+
d(H, fe, !0);
|
|
700
706
|
}
|
|
701
|
-
}),
|
|
707
|
+
}), M(G), he(1, G, () => Ce, () => ({ y: -20, duration: 700 })), l(X, G);
|
|
702
708
|
};
|
|
703
|
-
|
|
709
|
+
B(
|
|
704
710
|
le,
|
|
705
711
|
(X) => {
|
|
706
|
-
e(
|
|
712
|
+
e(_) === "confirm" ? X(pe) : X(ye, !1);
|
|
707
713
|
},
|
|
708
714
|
!0
|
|
709
715
|
);
|
|
710
716
|
}
|
|
711
|
-
|
|
717
|
+
l(Z, Y);
|
|
712
718
|
};
|
|
713
|
-
|
|
719
|
+
B(
|
|
714
720
|
Pe,
|
|
715
|
-
(
|
|
716
|
-
e(
|
|
721
|
+
(Z) => {
|
|
722
|
+
e(_) === "error" ? Z(Te) : Z(De, !1);
|
|
717
723
|
},
|
|
718
724
|
!0
|
|
719
725
|
);
|
|
720
726
|
}
|
|
721
|
-
|
|
727
|
+
l(J, K);
|
|
722
728
|
};
|
|
723
|
-
|
|
724
|
-
|
|
729
|
+
B(
|
|
730
|
+
V,
|
|
725
731
|
(J) => {
|
|
726
|
-
e(
|
|
732
|
+
e(_) === "processing" ? J($) : J(ge, !1);
|
|
727
733
|
},
|
|
728
734
|
!0
|
|
729
735
|
);
|
|
730
736
|
}
|
|
731
|
-
|
|
737
|
+
l(m, E);
|
|
732
738
|
};
|
|
733
|
-
|
|
734
|
-
|
|
739
|
+
B(
|
|
740
|
+
f,
|
|
735
741
|
(m) => {
|
|
736
|
-
e(
|
|
742
|
+
e(_) === "uploading" ? m(a) : m(u, !1);
|
|
737
743
|
},
|
|
738
744
|
!0
|
|
739
745
|
);
|
|
740
746
|
}
|
|
741
|
-
|
|
747
|
+
l(r, o);
|
|
742
748
|
};
|
|
743
|
-
|
|
744
|
-
e(
|
|
749
|
+
B(x, (r) => {
|
|
750
|
+
e(_) === "done" ? r(w) : r(C, !1);
|
|
745
751
|
});
|
|
746
752
|
}
|
|
747
|
-
return z
|
|
753
|
+
return M(z), l(b, z), ie(A);
|
|
748
754
|
}
|
|
749
755
|
customElements.define("fortyfour-audio-recorder", ae(
|
|
750
756
|
wr,
|