@contember/echo 0.0.33-beta.2 → 0.0.33-beta.4
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/echo.es.js +518 -622
- package/dist/echo.umd.js +3 -5
- package/package.json +1 -1
package/dist/echo.es.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
import { sharedConfig as
|
2
|
-
import
|
3
|
-
const
|
1
|
+
import { sharedConfig as F, createRoot as je, createRenderEffect as b, untrack as Le, getOwner as $e, createEffect as R, runWithOwner as Qe, createMemo as k, createSignal as I, onCleanup as J, $PROXY as W, $TRACK as Pe, getListener as me, batch as et, onMount as ye, createContext as tt, createComponent as g, useContext as nt, For as V, Show as M, mergeProps as Q, Switch as rt, Match as X } from "solid-js";
|
2
|
+
import ot from "html2canvas-pro";
|
3
|
+
const at = [
|
4
4
|
"allowfullscreen",
|
5
5
|
"async",
|
6
6
|
"autofocus",
|
@@ -26,7 +26,7 @@ const vt = [
|
|
26
26
|
"reversed",
|
27
27
|
"seamless",
|
28
28
|
"selected"
|
29
|
-
],
|
29
|
+
], it = /* @__PURE__ */ new Set([
|
30
30
|
"className",
|
31
31
|
"value",
|
32
32
|
"readOnly",
|
@@ -34,16 +34,16 @@ const vt = [
|
|
34
34
|
"isMap",
|
35
35
|
"noModule",
|
36
36
|
"playsInline",
|
37
|
-
...
|
38
|
-
]),
|
37
|
+
...at
|
38
|
+
]), st = /* @__PURE__ */ new Set([
|
39
39
|
"innerHTML",
|
40
40
|
"textContent",
|
41
41
|
"innerText",
|
42
42
|
"children"
|
43
|
-
]),
|
43
|
+
]), lt = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(null), {
|
44
44
|
className: "class",
|
45
45
|
htmlFor: "for"
|
46
|
-
}),
|
46
|
+
}), ct = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(null), {
|
47
47
|
class: "className",
|
48
48
|
formnovalidate: {
|
49
49
|
$: "formNoValidate",
|
@@ -68,11 +68,11 @@ const vt = [
|
|
68
68
|
TEXTAREA: 1
|
69
69
|
}
|
70
70
|
});
|
71
|
-
function
|
72
|
-
const t =
|
71
|
+
function dt(e, n) {
|
72
|
+
const t = ct[e];
|
73
73
|
return typeof t == "object" ? t[n] ? t.$ : void 0 : t;
|
74
74
|
}
|
75
|
-
const
|
75
|
+
const ut = /* @__PURE__ */ new Set([
|
76
76
|
"beforeinput",
|
77
77
|
"click",
|
78
78
|
"dblclick",
|
@@ -96,7 +96,7 @@ const kt = /* @__PURE__ */ new Set([
|
|
96
96
|
"touchmove",
|
97
97
|
"touchstart"
|
98
98
|
]);
|
99
|
-
function
|
99
|
+
function ht(e, n, t) {
|
100
100
|
let r = t.length, a = n.length, o = r, i = 0, l = 0, s = n[a - 1].nextSibling, c = null;
|
101
101
|
for (; i < a || l < o; ) {
|
102
102
|
if (n[i] === t[l]) {
|
@@ -135,10 +135,10 @@ function St(e, n, t) {
|
|
135
135
|
}
|
136
136
|
}
|
137
137
|
}
|
138
|
-
const
|
139
|
-
function
|
138
|
+
const Ee = "_$DX_DELEGATE";
|
139
|
+
function gt(e, n, t, r = {}) {
|
140
140
|
let a;
|
141
|
-
return
|
141
|
+
return je((o) => {
|
142
142
|
a = o, n === document ? e() : v(n, e(), n.firstChild ? null : void 0, t);
|
143
143
|
}, r.owner), () => {
|
144
144
|
a(), n.textContent = "";
|
@@ -149,26 +149,26 @@ function w(e, n, t) {
|
|
149
149
|
const a = () => {
|
150
150
|
const i = document.createElement("template");
|
151
151
|
return i.innerHTML = e, t ? i.content.firstChild.firstChild : i.content.firstChild;
|
152
|
-
}, o = n ? () =>
|
152
|
+
}, o = n ? () => Le(() => document.importNode(r || (r = a()), !0)) : () => (r || (r = a())).cloneNode(!0);
|
153
153
|
return o.cloneNode = o, o;
|
154
154
|
}
|
155
|
-
function
|
156
|
-
const t = n[
|
155
|
+
function T(e, n = window.document) {
|
156
|
+
const t = n[Ee] || (n[Ee] = /* @__PURE__ */ new Set());
|
157
157
|
for (let r = 0, a = e.length; r < a; r++) {
|
158
158
|
const o = e[r];
|
159
|
-
t.has(o) || (t.add(o), n.addEventListener(o,
|
159
|
+
t.has(o) || (t.add(o), n.addEventListener(o, yt));
|
160
160
|
}
|
161
161
|
}
|
162
162
|
function d(e, n, t) {
|
163
|
-
|
163
|
+
oe(e) || (t == null ? e.removeAttribute(n) : e.setAttribute(n, t));
|
164
164
|
}
|
165
|
-
function
|
166
|
-
|
165
|
+
function ft(e, n, t) {
|
166
|
+
oe(e) || (t ? e.setAttribute(n, "") : e.removeAttribute(n));
|
167
167
|
}
|
168
|
-
function
|
169
|
-
|
168
|
+
function Ne(e, n) {
|
169
|
+
oe(e) || (n == null ? e.removeAttribute("class") : e.className = n);
|
170
170
|
}
|
171
|
-
function
|
171
|
+
function H(e, n, t, r) {
|
172
172
|
if (r)
|
173
173
|
Array.isArray(t) ? (e[`$$${n}`] = t[0], e[`$$${n}Data`] = t[1]) : e[`$$${n}`] = t;
|
174
174
|
else if (Array.isArray(t)) {
|
@@ -176,20 +176,20 @@ function U(e, n, t, r) {
|
|
176
176
|
e.addEventListener(n, t[0] = (o) => a.call(e, t[1], o));
|
177
177
|
} else e.addEventListener(n, t, typeof t != "function" && t);
|
178
178
|
}
|
179
|
-
function
|
179
|
+
function mt(e, n, t = {}) {
|
180
180
|
const r = Object.keys(n || {}), a = Object.keys(t);
|
181
181
|
let o, i;
|
182
182
|
for (o = 0, i = a.length; o < i; o++) {
|
183
183
|
const l = a[o];
|
184
|
-
!l || l === "undefined" || n[l] || (
|
184
|
+
!l || l === "undefined" || n[l] || (ze(e, l, !1), delete t[l]);
|
185
185
|
}
|
186
186
|
for (o = 0, i = r.length; o < i; o++) {
|
187
187
|
const l = r[o], s = !!n[l];
|
188
|
-
!l || l === "undefined" || t[l] === s || !s || (
|
188
|
+
!l || l === "undefined" || t[l] === s || !s || (ze(e, l, !0), t[l] = s);
|
189
189
|
}
|
190
190
|
return t;
|
191
191
|
}
|
192
|
-
function
|
192
|
+
function D(e, n, t) {
|
193
193
|
if (!n) return t ? d(e, "style") : n;
|
194
194
|
const r = e.style;
|
195
195
|
if (typeof n == "string") return r.cssText = n;
|
@@ -201,48 +201,48 @@ function F(e, n, t) {
|
|
201
201
|
a = n[o], a !== t[o] && (r.setProperty(o, a), t[o] = a);
|
202
202
|
return t;
|
203
203
|
}
|
204
|
-
function
|
204
|
+
function vt(e, n = {}, t, r) {
|
205
205
|
const a = {};
|
206
206
|
return b(
|
207
|
-
() => a.children =
|
208
|
-
), b(() => typeof n.ref == "function" &&
|
207
|
+
() => a.children = ee(e, n.children, a.children)
|
208
|
+
), b(() => typeof n.ref == "function" && N(n.ref, e)), b(() => bt(e, n, t, !0, a, !0)), a;
|
209
209
|
}
|
210
|
-
function
|
211
|
-
return
|
210
|
+
function N(e, n, t) {
|
211
|
+
return Le(() => e(n, t));
|
212
212
|
}
|
213
213
|
function v(e, n, t, r) {
|
214
|
-
if (t !== void 0 && !r && (r = []), typeof n != "function") return
|
215
|
-
b((a) =>
|
214
|
+
if (t !== void 0 && !r && (r = []), typeof n != "function") return ee(e, n, r, t);
|
215
|
+
b((a) => ee(e, n(), a, t), r);
|
216
216
|
}
|
217
|
-
function
|
217
|
+
function bt(e, n, t, r, a = {}, o = !1) {
|
218
218
|
n || (n = {});
|
219
219
|
for (const i in a)
|
220
220
|
if (!(i in n)) {
|
221
221
|
if (i === "children") continue;
|
222
|
-
a[i] =
|
222
|
+
a[i] = Ie(e, i, null, a[i], t, o, n);
|
223
223
|
}
|
224
224
|
for (const i in n) {
|
225
225
|
if (i === "children")
|
226
226
|
continue;
|
227
227
|
const l = n[i];
|
228
|
-
a[i] =
|
228
|
+
a[i] = Ie(e, i, l, a[i], t, o, n);
|
229
229
|
}
|
230
230
|
}
|
231
|
-
function
|
232
|
-
return !!
|
231
|
+
function oe(e) {
|
232
|
+
return !!F.context && !F.done && (!e || e.isConnected);
|
233
233
|
}
|
234
|
-
function
|
234
|
+
function wt(e) {
|
235
235
|
return e.toLowerCase().replace(/-([a-z])/g, (n, t) => t.toUpperCase());
|
236
236
|
}
|
237
|
-
function
|
237
|
+
function ze(e, n, t) {
|
238
238
|
const r = n.trim().split(/\s+/);
|
239
239
|
for (let a = 0, o = r.length; a < o; a++)
|
240
240
|
e.classList.toggle(r[a], t);
|
241
241
|
}
|
242
|
-
function
|
242
|
+
function Ie(e, n, t, r, a, o, i) {
|
243
243
|
let l, s, c, u, h;
|
244
|
-
if (n === "style") return
|
245
|
-
if (n === "classList") return
|
244
|
+
if (n === "style") return D(e, t, r);
|
245
|
+
if (n === "classList") return mt(e, t, r);
|
246
246
|
if (t === r) return r;
|
247
247
|
if (n === "ref")
|
248
248
|
o || t(e);
|
@@ -253,27 +253,27 @@ function Re(e, n, t, r, a, o, i) {
|
|
253
253
|
const f = n.slice(10);
|
254
254
|
r && e.removeEventListener(f, r, !0), t && e.addEventListener(f, t, !0);
|
255
255
|
} else if (n.slice(0, 2) === "on") {
|
256
|
-
const f = n.slice(2).toLowerCase(), m =
|
256
|
+
const f = n.slice(2).toLowerCase(), m = ut.has(f);
|
257
257
|
if (!m && r) {
|
258
258
|
const y = Array.isArray(r) ? r[0] : r;
|
259
259
|
e.removeEventListener(f, y);
|
260
260
|
}
|
261
|
-
(m || t) && (
|
261
|
+
(m || t) && (H(e, f, t, m), m && T([f]));
|
262
262
|
} else if (n.slice(0, 5) === "attr:")
|
263
263
|
d(e, n.slice(5), t);
|
264
264
|
else if (n.slice(0, 5) === "bool:")
|
265
|
-
|
266
|
-
else if ((h = n.slice(0, 5) === "prop:") || (c =
|
265
|
+
ft(e, n.slice(5), t);
|
266
|
+
else if ((h = n.slice(0, 5) === "prop:") || (c = st.has(n)) || (u = dt(n, e.tagName)) || (s = it.has(n)) || (l = e.nodeName.includes("-") || "is" in i)) {
|
267
267
|
if (h)
|
268
268
|
n = n.slice(5), s = !0;
|
269
|
-
else if (
|
270
|
-
n === "class" || n === "className" ?
|
269
|
+
else if (oe(e)) return t;
|
270
|
+
n === "class" || n === "className" ? Ne(e, t) : l && !s && !c ? e[wt(n)] = t : e[u || n] = t;
|
271
271
|
} else
|
272
|
-
d(e,
|
272
|
+
d(e, lt[n] || n, t);
|
273
273
|
return t;
|
274
274
|
}
|
275
|
-
function
|
276
|
-
if (
|
275
|
+
function yt(e) {
|
276
|
+
if (F.registry && F.events && F.events.find(([s, c]) => c === e))
|
277
277
|
return;
|
278
278
|
let n = e.target;
|
279
279
|
const t = `$$${e.type}`, r = e.target, a = e.currentTarget, o = (s) => Object.defineProperty(e, "target", {
|
@@ -294,7 +294,7 @@ function It(e) {
|
|
294
294
|
get() {
|
295
295
|
return n || document;
|
296
296
|
}
|
297
|
-
}),
|
297
|
+
}), F.registry && !F.done && (F.done = _$HY.done = !0), e.composedPath) {
|
298
298
|
const s = e.composedPath();
|
299
299
|
o(s[0]);
|
300
300
|
for (let c = 0; c < s.length - 2 && (n = s[c], !!i()); c++) {
|
@@ -308,8 +308,8 @@ function It(e) {
|
|
308
308
|
} else l();
|
309
309
|
o(r);
|
310
310
|
}
|
311
|
-
function
|
312
|
-
const o =
|
311
|
+
function ee(e, n, t, r, a) {
|
312
|
+
const o = oe(e);
|
313
313
|
if (o) {
|
314
314
|
!t && (t = [...e.childNodes]);
|
315
315
|
let s = [];
|
@@ -327,23 +327,23 @@ function se(e, n, t, r, a) {
|
|
327
327
|
return t;
|
328
328
|
if (l) {
|
329
329
|
let s = t[0];
|
330
|
-
s && s.nodeType === 3 ? s.data !== n && (s.data = n) : s = document.createTextNode(n), t =
|
330
|
+
s && s.nodeType === 3 ? s.data !== n && (s.data = n) : s = document.createTextNode(n), t = K(e, t, r, s);
|
331
331
|
} else
|
332
332
|
t !== "" && typeof t == "string" ? t = e.firstChild.data = n : t = e.textContent = n;
|
333
333
|
} else if (n == null || i === "boolean") {
|
334
334
|
if (o) return t;
|
335
|
-
t =
|
335
|
+
t = K(e, t, r);
|
336
336
|
} else {
|
337
337
|
if (i === "function")
|
338
338
|
return b(() => {
|
339
339
|
let s = n();
|
340
340
|
for (; typeof s == "function"; ) s = s();
|
341
|
-
t =
|
341
|
+
t = ee(e, s, t, r);
|
342
342
|
}), () => t;
|
343
343
|
if (Array.isArray(n)) {
|
344
344
|
const s = [], c = t && Array.isArray(t);
|
345
|
-
if (
|
346
|
-
return b(() => t =
|
345
|
+
if (ve(s, n, t, a))
|
346
|
+
return b(() => t = ee(e, s, t, r, !0)), () => t;
|
347
347
|
if (o) {
|
348
348
|
if (!s.length) return t;
|
349
349
|
if (r === void 0) return t = [...e.childNodes];
|
@@ -354,32 +354,32 @@ function se(e, n, t, r, a) {
|
|
354
354
|
return t = h;
|
355
355
|
}
|
356
356
|
if (s.length === 0) {
|
357
|
-
if (t =
|
358
|
-
} else c ? t.length === 0 ?
|
357
|
+
if (t = K(e, t, r), l) return t;
|
358
|
+
} else c ? t.length === 0 ? Te(e, s, r) : ht(e, t, s) : (t && K(e), Te(e, s));
|
359
359
|
t = s;
|
360
360
|
} else if (n.nodeType) {
|
361
361
|
if (o && n.parentNode) return t = l ? [n] : n;
|
362
362
|
if (Array.isArray(t)) {
|
363
|
-
if (l) return t =
|
364
|
-
|
363
|
+
if (l) return t = K(e, t, r, n);
|
364
|
+
K(e, t, null, n);
|
365
365
|
} else t == null || t === "" || !e.firstChild ? e.appendChild(n) : e.replaceChild(n, e.firstChild);
|
366
366
|
t = n;
|
367
367
|
}
|
368
368
|
}
|
369
369
|
return t;
|
370
370
|
}
|
371
|
-
function
|
371
|
+
function ve(e, n, t, r) {
|
372
372
|
let a = !1;
|
373
373
|
for (let o = 0, i = n.length; o < i; o++) {
|
374
374
|
let l = n[o], s = t && t[e.length], c;
|
375
375
|
if (!(l == null || l === !0 || l === !1)) if ((c = typeof l) == "object" && l.nodeType)
|
376
376
|
e.push(l);
|
377
377
|
else if (Array.isArray(l))
|
378
|
-
a =
|
378
|
+
a = ve(e, l, s) || a;
|
379
379
|
else if (c === "function")
|
380
380
|
if (r) {
|
381
381
|
for (; typeof l == "function"; ) l = l();
|
382
|
-
a =
|
382
|
+
a = ve(
|
383
383
|
e,
|
384
384
|
Array.isArray(l) ? l : [l],
|
385
385
|
Array.isArray(s) ? s : [s]
|
@@ -393,10 +393,10 @@ function ze(e, n, t, r) {
|
|
393
393
|
}
|
394
394
|
return a;
|
395
395
|
}
|
396
|
-
function
|
396
|
+
function Te(e, n, t = null) {
|
397
397
|
for (let r = 0, a = n.length; r < a; r++) e.insertBefore(n[r], t);
|
398
398
|
}
|
399
|
-
function
|
399
|
+
function K(e, n, t, r) {
|
400
400
|
if (t === void 0) return e.textContent = "";
|
401
401
|
const a = r || document.createTextNode("");
|
402
402
|
if (n.length) {
|
@@ -411,22 +411,22 @@ function X(e, n, t, r) {
|
|
411
411
|
} else e.insertBefore(a, t);
|
412
412
|
return [a];
|
413
413
|
}
|
414
|
-
const
|
415
|
-
function
|
416
|
-
return n ? document.createElementNS(
|
414
|
+
const pt = "http://www.w3.org/2000/svg";
|
415
|
+
function xt(e, n = !1) {
|
416
|
+
return n ? document.createElementNS(pt, e) : document.createElement(e);
|
417
417
|
}
|
418
|
-
function
|
419
|
-
const { useShadow: n } = e, t = document.createTextNode(""), r = () => e.mount || document.body, a =
|
420
|
-
let o, i = !!
|
421
|
-
return
|
418
|
+
function kt(e) {
|
419
|
+
const { useShadow: n } = e, t = document.createTextNode(""), r = () => e.mount || document.body, a = $e();
|
420
|
+
let o, i = !!F.context;
|
421
|
+
return R(
|
422
422
|
() => {
|
423
|
-
i && (
|
423
|
+
i && ($e().user = i = !1), o || (o = Qe(a, () => k(() => e.children)));
|
424
424
|
const l = r();
|
425
425
|
if (l instanceof HTMLHeadElement) {
|
426
|
-
const [s, c] =
|
427
|
-
|
426
|
+
const [s, c] = I(!1), u = () => c(!0);
|
427
|
+
je((h) => v(l, () => s() ? h() : o(), null)), J(u);
|
428
428
|
} else {
|
429
|
-
const s =
|
429
|
+
const s = xt(e.isSVG ? "g" : "div", e.isSVG), c = n && s.attachShadow ? s.attachShadow({
|
430
430
|
mode: "open"
|
431
431
|
}) : s;
|
432
432
|
Object.defineProperty(s, "_$host", {
|
@@ -434,7 +434,7 @@ function At(e) {
|
|
434
434
|
return t.parentNode;
|
435
435
|
},
|
436
436
|
configurable: !0
|
437
|
-
}), v(c, o), l.appendChild(s), e.ref && e.ref(s),
|
437
|
+
}), v(c, o), l.appendChild(s), e.ref && e.ref(s), J(() => l.removeChild(s));
|
438
438
|
}
|
439
439
|
},
|
440
440
|
void 0,
|
@@ -443,7 +443,7 @@ function At(e) {
|
|
443
443
|
}
|
444
444
|
), t;
|
445
445
|
}
|
446
|
-
const
|
446
|
+
const St = 5e3, Ct = (e) => {
|
447
447
|
let n = null;
|
448
448
|
const t = () => {
|
449
449
|
n !== null && (window.clearTimeout(n), n = null);
|
@@ -462,7 +462,7 @@ const Dt = 5e3, Ft = (e) => {
|
|
462
462
|
show: !1
|
463
463
|
}
|
464
464
|
}), n = null;
|
465
|
-
},
|
465
|
+
}, St);
|
466
466
|
},
|
467
467
|
clear: () => {
|
468
468
|
t(), e.setState({
|
@@ -474,94 +474,94 @@ const Dt = 5e3, Ft = (e) => {
|
|
474
474
|
});
|
475
475
|
}
|
476
476
|
};
|
477
|
-
},
|
477
|
+
}, qe = (e, n) => {
|
478
478
|
if (!n) return e;
|
479
479
|
const t = { ...e };
|
480
480
|
for (const r in n)
|
481
|
-
n[r] && typeof n[r] == "object" && !Array.isArray(n[r]) ? t[r] =
|
481
|
+
n[r] && typeof n[r] == "object" && !Array.isArray(n[r]) ? t[r] = qe(e[r], n[r]) : t[r] = n[r];
|
482
482
|
return t;
|
483
|
-
},
|
483
|
+
}, $t = (e, n) => {
|
484
484
|
let t;
|
485
485
|
return (...r) => {
|
486
486
|
clearTimeout(t), t = window.setTimeout(() => e(...r), n);
|
487
487
|
};
|
488
|
-
},
|
488
|
+
}, Pt = "echo_", Y = "echo-pages", Be = (e) => {
|
489
489
|
if (!e || e === "/") return "/";
|
490
490
|
const n = e.split("/");
|
491
491
|
return n.length <= 4 ? e : `/${n[1]}/.../${n[n.length - 1]}`;
|
492
|
-
},
|
492
|
+
}, Ve = () => {
|
493
493
|
window.dispatchEvent(new Event("echo-storage-change"));
|
494
|
-
},
|
494
|
+
}, _e = (e) => `${Pt}${e}`, U = (e, n) => {
|
495
495
|
try {
|
496
|
-
const t = localStorage.getItem(
|
496
|
+
const t = localStorage.getItem(_e(e));
|
497
497
|
return t ? JSON.parse(t) : n;
|
498
498
|
} catch {
|
499
499
|
return n;
|
500
500
|
}
|
501
|
-
},
|
501
|
+
}, te = (e, n) => {
|
502
502
|
try {
|
503
|
-
localStorage.setItem(
|
503
|
+
localStorage.setItem(_e(e), JSON.stringify(n));
|
504
504
|
} catch (t) {
|
505
505
|
console.warn("Failed to save to localStorage:", t);
|
506
506
|
}
|
507
|
-
},
|
507
|
+
}, be = () => {
|
508
508
|
const e = window.location.pathname || "/", n = window.location.search;
|
509
509
|
return `${e}${n}`;
|
510
|
-
},
|
510
|
+
}, Et = (e, n) => {
|
511
511
|
try {
|
512
512
|
if (!n.feedback.hasUserInteracted && n.drawing.shapes.length < 1) return;
|
513
513
|
const t = {
|
514
514
|
message: n.feedback.message,
|
515
515
|
customInputValues: n.feedback.customInputValues
|
516
|
-
}, r =
|
516
|
+
}, r = U(Y, {}), a = Be(e);
|
517
517
|
(t || n.drawing.shapes.length > 0) && (r[a] = {
|
518
518
|
...r[a] || {},
|
519
519
|
...t ? { feedback: t } : {},
|
520
520
|
drawing: {
|
521
521
|
shapes: n.drawing.shapes
|
522
522
|
}
|
523
|
-
}),
|
523
|
+
}), te(Y, r), Ve();
|
524
524
|
} catch (t) {
|
525
525
|
console.warn("Failed to save page state:", t);
|
526
526
|
}
|
527
|
-
},
|
527
|
+
}, pe = (e) => {
|
528
528
|
try {
|
529
|
-
return
|
529
|
+
return U(Y, {})[e];
|
530
530
|
} catch (n) {
|
531
531
|
console.error("Failed to load page state:", n);
|
532
532
|
return;
|
533
533
|
}
|
534
|
-
},
|
534
|
+
}, He = (e) => {
|
535
535
|
try {
|
536
|
-
const n =
|
537
|
-
delete n[e],
|
536
|
+
const n = U(Y, {});
|
537
|
+
delete n[e], te(Y, n), Ve();
|
538
538
|
} catch (n) {
|
539
539
|
console.error("Failed to clear page state:", n);
|
540
540
|
}
|
541
|
-
},
|
541
|
+
}, Re = () => {
|
542
542
|
try {
|
543
|
-
const e =
|
543
|
+
const e = U(Y, {});
|
544
544
|
return Object.keys(e).length;
|
545
545
|
} catch (e) {
|
546
546
|
return console.error("Failed to get stored pages count:", e), 0;
|
547
547
|
}
|
548
|
-
},
|
548
|
+
}, ge = () => {
|
549
549
|
try {
|
550
|
-
const e =
|
550
|
+
const e = U(Y, {});
|
551
551
|
return Object.entries(e).map(([n, t]) => ({
|
552
|
-
path:
|
552
|
+
path: Be(n),
|
553
553
|
state: t
|
554
554
|
}));
|
555
555
|
} catch (e) {
|
556
556
|
return console.error("Failed to get stored pages:", e), [];
|
557
557
|
}
|
558
|
-
},
|
559
|
-
(!r || t.feedback.message.trim().length > 0 || t.drawing.shapes.length > 0) && (
|
560
|
-
}, 1e3),
|
561
|
-
function
|
562
|
-
let n = e[
|
563
|
-
if (!n && (Object.defineProperty(e,
|
564
|
-
value: n = new Proxy(e,
|
558
|
+
}, zt = (e) => $t((n, t, r = !1) => {
|
559
|
+
(!r || t.feedback.message.trim().length > 0 || t.drawing.shapes.length > 0) && (Et(n, t), e.setState({ pagesCount: Re() }));
|
560
|
+
}, 1e3), we = Symbol("store-raw"), G = Symbol("store-node"), j = Symbol("store-has"), We = Symbol("store-self");
|
561
|
+
function Ye(e) {
|
562
|
+
let n = e[W];
|
563
|
+
if (!n && (Object.defineProperty(e, W, {
|
564
|
+
value: n = new Proxy(e, Ot)
|
565
565
|
}), !Array.isArray(e))) {
|
566
566
|
const t = Object.keys(e), r = Object.getOwnPropertyDescriptors(e);
|
567
567
|
for (let a = 0, o = t.length; a < o; a++) {
|
@@ -574,67 +574,67 @@ function rt(e) {
|
|
574
574
|
}
|
575
575
|
return n;
|
576
576
|
}
|
577
|
-
function
|
577
|
+
function ce(e) {
|
578
578
|
let n;
|
579
|
-
return e != null && typeof e == "object" && (e[
|
579
|
+
return e != null && typeof e == "object" && (e[W] || !(n = Object.getPrototypeOf(e)) || n === Object.prototype || Array.isArray(e));
|
580
580
|
}
|
581
|
-
function
|
581
|
+
function ne(e, n = /* @__PURE__ */ new Set()) {
|
582
582
|
let t, r, a, o;
|
583
|
-
if (t = e != null && e[
|
584
|
-
if (!
|
583
|
+
if (t = e != null && e[we]) return t;
|
584
|
+
if (!ce(e) || n.has(e)) return e;
|
585
585
|
if (Array.isArray(e)) {
|
586
586
|
Object.isFrozen(e) ? e = e.slice(0) : n.add(e);
|
587
587
|
for (let i = 0, l = e.length; i < l; i++)
|
588
|
-
a = e[i], (r =
|
588
|
+
a = e[i], (r = ne(a, n)) !== a && (e[i] = r);
|
589
589
|
} else {
|
590
590
|
Object.isFrozen(e) ? e = Object.assign({}, e) : n.add(e);
|
591
591
|
const i = Object.keys(e), l = Object.getOwnPropertyDescriptors(e);
|
592
592
|
for (let s = 0, c = i.length; s < c; s++)
|
593
|
-
o = i[s], !l[o].get && (a = e[o], (r =
|
593
|
+
o = i[s], !l[o].get && (a = e[o], (r = ne(a, n)) !== a && (e[o] = r));
|
594
594
|
}
|
595
595
|
return e;
|
596
596
|
}
|
597
|
-
function
|
597
|
+
function de(e, n) {
|
598
598
|
let t = e[n];
|
599
599
|
return t || Object.defineProperty(e, n, {
|
600
600
|
value: t = /* @__PURE__ */ Object.create(null)
|
601
601
|
}), t;
|
602
602
|
}
|
603
|
-
function
|
603
|
+
function re(e, n, t) {
|
604
604
|
if (e[n]) return e[n];
|
605
|
-
const [r, a] =
|
605
|
+
const [r, a] = I(t, {
|
606
606
|
equals: !1,
|
607
607
|
internal: !0
|
608
608
|
});
|
609
609
|
return r.$ = a, e[n] = r;
|
610
610
|
}
|
611
|
-
function
|
611
|
+
function It(e, n) {
|
612
612
|
const t = Reflect.getOwnPropertyDescriptor(e, n);
|
613
|
-
return !t || t.get || !t.configurable || n ===
|
613
|
+
return !t || t.get || !t.configurable || n === W || n === G || (delete t.value, delete t.writable, t.get = () => e[W][n]), t;
|
614
614
|
}
|
615
|
-
function
|
616
|
-
|
615
|
+
function Ue(e) {
|
616
|
+
me() && re(de(e, G), We)();
|
617
617
|
}
|
618
|
-
function
|
619
|
-
return
|
618
|
+
function Tt(e) {
|
619
|
+
return Ue(e), Reflect.ownKeys(e);
|
620
620
|
}
|
621
|
-
const
|
621
|
+
const Ot = {
|
622
622
|
get(e, n, t) {
|
623
|
-
if (n ===
|
624
|
-
if (n ===
|
625
|
-
if (n ===
|
626
|
-
return
|
627
|
-
const r =
|
623
|
+
if (n === we) return e;
|
624
|
+
if (n === W) return t;
|
625
|
+
if (n === Pe)
|
626
|
+
return Ue(e), t;
|
627
|
+
const r = de(e, G), a = r[n];
|
628
628
|
let o = a ? a() : e[n];
|
629
|
-
if (n ===
|
629
|
+
if (n === G || n === j || n === "__proto__") return o;
|
630
630
|
if (!a) {
|
631
631
|
const i = Object.getOwnPropertyDescriptor(e, n);
|
632
|
-
|
632
|
+
me() && (typeof o != "function" || e.hasOwnProperty(n)) && !(i && i.get) && (o = re(r, n, o)());
|
633
633
|
}
|
634
|
-
return
|
634
|
+
return ce(o) ? Ye(o) : o;
|
635
635
|
},
|
636
636
|
has(e, n) {
|
637
|
-
return n ===
|
637
|
+
return n === we || n === W || n === Pe || n === G || n === j || n === "__proto__" ? !0 : (me() && re(de(e, j), n)(), n in e);
|
638
638
|
},
|
639
639
|
set() {
|
640
640
|
return !0;
|
@@ -642,75 +642,75 @@ const Wt = {
|
|
642
642
|
deleteProperty() {
|
643
643
|
return !0;
|
644
644
|
},
|
645
|
-
ownKeys:
|
646
|
-
getOwnPropertyDescriptor:
|
645
|
+
ownKeys: Tt,
|
646
|
+
getOwnPropertyDescriptor: It
|
647
647
|
};
|
648
|
-
function
|
648
|
+
function ue(e, n, t, r = !1) {
|
649
649
|
if (!r && e[n] === t) return;
|
650
650
|
const a = e[n], o = e.length;
|
651
|
-
t === void 0 ? (delete e[n], e[
|
652
|
-
let i =
|
653
|
-
if ((l =
|
651
|
+
t === void 0 ? (delete e[n], e[j] && e[j][n] && a !== void 0 && e[j][n].$()) : (e[n] = t, e[j] && e[j][n] && a === void 0 && e[j][n].$());
|
652
|
+
let i = de(e, G), l;
|
653
|
+
if ((l = re(i, n, a)) && l.$(() => t), Array.isArray(e) && e.length !== o) {
|
654
654
|
for (let s = e.length; s < o; s++) (l = i[s]) && l.$();
|
655
|
-
(l =
|
655
|
+
(l = re(i, "length", o)) && l.$(e.length);
|
656
656
|
}
|
657
|
-
(l = i[
|
657
|
+
(l = i[We]) && l.$();
|
658
658
|
}
|
659
|
-
function
|
659
|
+
function Ke(e, n) {
|
660
660
|
const t = Object.keys(n);
|
661
661
|
for (let r = 0; r < t.length; r += 1) {
|
662
662
|
const a = t[r];
|
663
|
-
|
663
|
+
ue(e, a, n[a]);
|
664
664
|
}
|
665
665
|
}
|
666
|
-
function
|
667
|
-
if (typeof n == "function" && (n = n(e)), n =
|
666
|
+
function At(e, n) {
|
667
|
+
if (typeof n == "function" && (n = n(e)), n = ne(n), Array.isArray(n)) {
|
668
668
|
if (e === n) return;
|
669
669
|
let t = 0, r = n.length;
|
670
670
|
for (; t < r; t++) {
|
671
671
|
const a = n[t];
|
672
|
-
e[t] !== a &&
|
672
|
+
e[t] !== a && ue(e, t, a);
|
673
673
|
}
|
674
|
-
|
675
|
-
} else
|
674
|
+
ue(e, "length", r);
|
675
|
+
} else Ke(e, n);
|
676
676
|
}
|
677
|
-
function
|
677
|
+
function Z(e, n, t = []) {
|
678
678
|
let r, a = e;
|
679
679
|
if (n.length > 1) {
|
680
680
|
r = n.shift();
|
681
681
|
const i = typeof r, l = Array.isArray(e);
|
682
682
|
if (Array.isArray(r)) {
|
683
683
|
for (let s = 0; s < r.length; s++)
|
684
|
-
|
684
|
+
Z(e, [r[s]].concat(n), t);
|
685
685
|
return;
|
686
686
|
} else if (l && i === "function") {
|
687
687
|
for (let s = 0; s < e.length; s++)
|
688
|
-
r(e[s], s) &&
|
688
|
+
r(e[s], s) && Z(e, [s].concat(n), t);
|
689
689
|
return;
|
690
690
|
} else if (l && i === "object") {
|
691
691
|
const { from: s = 0, to: c = e.length - 1, by: u = 1 } = r;
|
692
692
|
for (let h = s; h <= c; h += u)
|
693
|
-
|
693
|
+
Z(e, [h].concat(n), t);
|
694
694
|
return;
|
695
695
|
} else if (n.length > 1) {
|
696
|
-
|
696
|
+
Z(e[r], n, [r].concat(t));
|
697
697
|
return;
|
698
698
|
}
|
699
699
|
a = e[r], t = [r].concat(t);
|
700
700
|
}
|
701
701
|
let o = n[0];
|
702
|
-
typeof o == "function" && (o = o(a, t), o === a) || r === void 0 && o == null || (o =
|
702
|
+
typeof o == "function" && (o = o(a, t), o === a) || r === void 0 && o == null || (o = ne(o), r === void 0 || ce(a) && ce(o) && !Array.isArray(o) ? Ke(a, o) : ue(e, r, o));
|
703
703
|
}
|
704
|
-
function
|
705
|
-
const t =
|
704
|
+
function xe(...[e, n]) {
|
705
|
+
const t = ne(e || {}), r = Array.isArray(t), a = Ye(t);
|
706
706
|
function o(...i) {
|
707
|
-
|
708
|
-
r && i.length === 1 ?
|
707
|
+
et(() => {
|
708
|
+
r && i.length === 1 ? At(t, i[0]) : Z(t, i);
|
709
709
|
});
|
710
710
|
}
|
711
711
|
return [a, o];
|
712
712
|
}
|
713
|
-
const
|
713
|
+
const q = {
|
714
714
|
rectangle: {
|
715
715
|
id: "rectangle",
|
716
716
|
label: "Highlight",
|
@@ -731,79 +731,24 @@ const V = {
|
|
731
731
|
default: 1
|
732
732
|
}
|
733
733
|
}
|
734
|
-
},
|
734
|
+
}, Mt = (e) => {
|
735
735
|
const n = e.replace("#", ""), t = Number.parseInt(n.slice(0, 2), 16) / 255, r = Number.parseInt(n.slice(2, 2), 16) / 255, a = Number.parseInt(n.slice(4, 2), 16) / 255;
|
736
736
|
return 0.2126 * t + 0.7152 * r + 0.0722 * a;
|
737
|
-
},
|
738
|
-
let
|
739
|
-
const
|
740
|
-
const r = (o) => {
|
741
|
-
if (typeof o == "string") return o;
|
742
|
-
if (o instanceof Error) return o.stack || o.message;
|
743
|
-
try {
|
744
|
-
const i = /* @__PURE__ */ new WeakSet();
|
745
|
-
return JSON.stringify(o, (s, c) => {
|
746
|
-
if (typeof c == "object" && c !== null) {
|
747
|
-
if (c instanceof Node) return `[${c.nodeName} Element]`;
|
748
|
-
if (i.has(c)) return "[Circular Reference]";
|
749
|
-
i.add(c);
|
750
|
-
}
|
751
|
-
return c;
|
752
|
-
});
|
753
|
-
} catch {
|
754
|
-
return "[Unable to stringify value]";
|
755
|
-
}
|
756
|
-
}, a = t.map(r).join(" ");
|
757
|
-
j.push({
|
758
|
-
type: e,
|
759
|
-
message: a,
|
760
|
-
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
761
|
-
}), j.length > 1e3 && (j = j.slice(-1e3)), n.apply(console, t);
|
762
|
-
}, Ht = () => {
|
763
|
-
M || (M = {
|
764
|
-
log: console.log,
|
765
|
-
warn: console.warn,
|
766
|
-
error: console.error
|
767
|
-
}, Q = window.onerror, ee = window.onunhandledrejection, window.onerror = (e, n, t, r, a) => {
|
768
|
-
const o = (a == null ? void 0 : a.stack) || (a == null ? void 0 : a.message) || e;
|
769
|
-
return j.push({
|
770
|
-
type: "error",
|
771
|
-
message: `Uncaught Error: ${o}
|
772
|
-
Location: ${n}:${t}:${r}`,
|
773
|
-
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
774
|
-
}), Q ? Q(e, n, t, r, a) : !1;
|
775
|
-
}, window.onunhandledrejection = (e) => {
|
776
|
-
const n = e.reason;
|
777
|
-
j.push({
|
778
|
-
type: "error",
|
779
|
-
message: `Unhandled Promise Rejection: ${(n == null ? void 0 : n.stack) || (n == null ? void 0 : n.message) || n}`,
|
780
|
-
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
781
|
-
}), ee && ee(e);
|
782
|
-
}, console.log = $e("log", M.log), console.warn = $e("warn", M.warn), console.error = $e("error", M.error), window.addEventListener("error", (e) => {
|
783
|
-
const { message: n, filename: t, lineno: r, colno: a, error: o } = e, i = (o == null ? void 0 : o.stack) || (o == null ? void 0 : o.message) || n;
|
784
|
-
j.push({
|
785
|
-
type: "error",
|
786
|
-
message: `Uncaught Error: ${i}
|
787
|
-
Location: ${t}:${r}:${a}`,
|
788
|
-
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
789
|
-
});
|
790
|
-
}));
|
791
|
-
}, Yt = () => {
|
792
|
-
M && (console.log = M.log, console.warn = M.warn, console.error = M.error, M = null), Q && (window.onerror = Q, Q = null), ee && (window.onunhandledrejection = ee, ee = null), window.removeEventListener("error", () => {
|
793
|
-
}), j = [];
|
794
|
-
}, Kt = () => [...j], Gt = () => {
|
737
|
+
}, Dt = (e) => Mt(e) < 0.5 ? "#FFFFFF" : "#000000";
|
738
|
+
let Ft = [];
|
739
|
+
const jt = () => [...Ft], Lt = () => {
|
795
740
|
var e;
|
796
741
|
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) || ((e = window.matchMedia) == null ? void 0 : e.call(window, "(max-width: 768px)").matches);
|
797
|
-
},
|
742
|
+
}, se = (e, { useClientCoords: n = !1 } = {}) => {
|
798
743
|
const r = typeof TouchEvent < "u" && e instanceof TouchEvent ? e.touches[0] : null;
|
799
744
|
return {
|
800
745
|
x: r ? n ? r.clientX : r.pageX : n ? e.clientX : e.pageX,
|
801
746
|
y: r ? n ? r.clientY : r.pageY : n ? e.clientY : e.pageY
|
802
747
|
};
|
803
|
-
},
|
748
|
+
}, Oe = (e, n) => {
|
804
749
|
const t = n.x - e.x, r = n.y - e.y;
|
805
750
|
return Math.sqrt(t * t + r * r);
|
806
|
-
},
|
751
|
+
}, Ge = (e) => {
|
807
752
|
if (e.length !== 2) return null;
|
808
753
|
const [n, t] = e;
|
809
754
|
return {
|
@@ -812,82 +757,39 @@ Location: ${t}:${r}:${a}`,
|
|
812
757
|
width: Math.abs(t.x - n.x),
|
813
758
|
height: Math.abs(t.y - n.y)
|
814
759
|
};
|
815
|
-
},
|
816
|
-
let xe = !1, ae = null;
|
817
|
-
const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
818
|
-
ae = e;
|
819
|
-
}, ue = (e) => {
|
820
|
-
if (!ae || !e)
|
821
|
-
return !1;
|
822
|
-
if (e === ae) return !0;
|
823
|
-
const n = e.getRootNode();
|
824
|
-
if (n && n.nodeName === "#document") {
|
825
|
-
const r = n.querySelector("#top-layer");
|
826
|
-
if (r != null && r.contains(e))
|
827
|
-
return !0;
|
828
|
-
}
|
829
|
-
let t = e;
|
830
|
-
for (; t; ) {
|
831
|
-
if (t.getRootNode() === ae)
|
832
|
-
return !0;
|
833
|
-
t = t.parentNode;
|
834
|
-
}
|
835
|
-
return !1;
|
836
|
-
}, Zt = (e) => {
|
837
|
-
xe || (xe = !0, window.EventTarget.prototype.addEventListener = function(n, t, r) {
|
838
|
-
if (!t || typeof t != "function")
|
839
|
-
return be.call(this, n, t, r);
|
840
|
-
if (!(this instanceof Node && !ue(this)))
|
841
|
-
return be.call(this, n, t, r);
|
842
|
-
const o = en(t, e);
|
843
|
-
re.has(this) || re.set(this, /* @__PURE__ */ new Map()), re.get(this).set(t, o), be.call(this, n, o, r);
|
844
|
-
}, window.EventTarget.prototype.removeEventListener = function(n, t, r) {
|
845
|
-
if (!t || typeof this != "object")
|
846
|
-
return J.call(this, n, t, r);
|
847
|
-
if (this instanceof Node && ue(this))
|
848
|
-
return J.call(this, n, t, r);
|
849
|
-
const o = re.get(this);
|
850
|
-
if (!o)
|
851
|
-
return J.call(this, n, t, r);
|
852
|
-
const i = o.get(t);
|
853
|
-
i ? (J.call(this, n, i, r), o.delete(t), o.size === 0 && re.delete(this)) : J.call(this, n, t, r);
|
854
|
-
});
|
855
|
-
}, Qt = () => {
|
856
|
-
xe && (window.EventTarget.prototype.addEventListener = be, window.EventTarget.prototype.removeEventListener = J, xe = !1, ae = null);
|
760
|
+
}, Nt = (e) => e.length < 2 ? null : `M ${e[0].x} ${e[0].y} ${e.slice(1).map((n) => `L ${n.x} ${n.y}`).join(" ")}`, qt = (e) => {
|
857
761
|
}, A = (e) => {
|
858
762
|
const { event: n, callback: t, onMount: r, onCleanup: a } = e;
|
859
|
-
|
763
|
+
ye(() => {
|
860
764
|
r == null || r(), window.addEventListener(n, t);
|
861
|
-
}),
|
765
|
+
}), J(() => {
|
862
766
|
a == null || a(), window.removeEventListener(n, t);
|
863
767
|
});
|
864
|
-
},
|
768
|
+
}, ke = (e) => {
|
865
769
|
const { target: n, options: t, callback: r, onMount: a, onCleanup: o } = e, i = new MutationObserver(r);
|
866
|
-
|
770
|
+
ye(() => {
|
867
771
|
a == null || a(), i.observe(n, t);
|
868
|
-
}),
|
772
|
+
}), J(() => {
|
869
773
|
o == null || o(), i.disconnect();
|
870
774
|
});
|
871
|
-
},
|
872
|
-
(!(t.target instanceof Node) || !ue(t.target)) && n(t), e.call(this, t);
|
873
|
-
}, tn = (e) => e.hasAttribute("data-hide-when-drawing"), nn = async () => {
|
775
|
+
}, Bt = (e) => e.hasAttribute("data-hide-when-drawing"), Vt = async () => {
|
874
776
|
var e;
|
875
777
|
try {
|
876
778
|
const n = document.createElement("style");
|
877
779
|
document.head.appendChild(n), (e = n.sheet) == null || e.insertRule("body > div:last-child img { display: inline-block; }");
|
878
|
-
const t = await
|
780
|
+
const t = await ot(document.body, {
|
879
781
|
logging: !1,
|
880
782
|
useCORS: !0,
|
881
783
|
scale: window.devicePixelRatio,
|
882
784
|
allowTaint: !0,
|
883
|
-
ignoreElements: (r) =>
|
785
|
+
ignoreElements: (r) => Bt(r)
|
884
786
|
});
|
885
787
|
return n.remove(), t.toDataURL("image/png");
|
886
788
|
} catch (n) {
|
887
789
|
console.error("Failed to capture screenshot:", n);
|
888
790
|
return;
|
889
791
|
}
|
890
|
-
},
|
792
|
+
}, _t = (e, n, t) => {
|
891
793
|
let r = `M0 0 H${e.width} V${e.height} H0 Z`;
|
892
794
|
if (n.length === 2) {
|
893
795
|
const [a, o] = n;
|
@@ -899,16 +801,16 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
899
801
|
r += ` M${o.x} ${o.y} h${i.x - o.x} v${i.y - o.y} h${o.x - i.x} v${o.y - i.y}`;
|
900
802
|
}
|
901
803
|
return r;
|
902
|
-
},
|
804
|
+
}, Ht = (e) => {
|
903
805
|
if (typeof e != "object" || e === null)
|
904
806
|
throw new Error("Echo initialization failed: options must be an object");
|
905
807
|
if (typeof e.onSubmit != "function")
|
906
808
|
throw new Error("Echo initialization failed: onSubmit must be a function");
|
907
809
|
if (e.primaryColor && !/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(e.primaryColor))
|
908
810
|
throw new Error("Echo initialization failed: primaryColor must be a valid hex color");
|
909
|
-
},
|
811
|
+
}, Ae = 5, Me = (e, n) => q[e].getCursor(n), Rt = (e, n, t) => {
|
910
812
|
var l, s;
|
911
|
-
const [r, a] =
|
813
|
+
const [r, a] = xe({
|
912
814
|
isDrawing: !1,
|
913
815
|
currentPoints: [],
|
914
816
|
selectedShapeId: null,
|
@@ -916,17 +818,17 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
916
818
|
showTooltip: !0,
|
917
819
|
mousePosition: { x: 0, y: 0 },
|
918
820
|
selectedColor: e.primaryColor,
|
919
|
-
shapes: ((s = (l =
|
821
|
+
shapes: ((s = (l = pe(n)) == null ? void 0 : l.drawing) == null ? void 0 : s.shapes) || [],
|
920
822
|
hasDrawn: !1,
|
921
823
|
isDragging: !1,
|
922
824
|
dragStartPos: null,
|
923
825
|
initialClickPos: null,
|
924
826
|
dragOffset: null,
|
925
|
-
cursor:
|
827
|
+
cursor: Me("rectangle", e.primaryColor)
|
926
828
|
}), o = (c, u = !1) => {
|
927
829
|
if (c.selectedTool || c.selectedColor) {
|
928
830
|
const h = c.selectedTool || r.selectedTool, f = c.selectedColor || r.selectedColor;
|
929
|
-
c.cursor =
|
831
|
+
c.cursor = Me(h, f);
|
930
832
|
}
|
931
833
|
a(c), t == null || t(c, u);
|
932
834
|
}, i = {
|
@@ -962,7 +864,7 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
962
864
|
if (!h.classList.contains("echo-drawing-layer-mask") && !h.classList.contains("echo-shape"))
|
963
865
|
return;
|
964
866
|
}
|
965
|
-
const u =
|
867
|
+
const u = se(c);
|
966
868
|
if (c.target instanceof SVGElement && c.target.classList.contains("echo-shape")) {
|
967
869
|
const h = c.target.dataset.shapeId;
|
968
870
|
if (h && r.selectedShapeId === h) {
|
@@ -976,20 +878,20 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
976
878
|
i.setInitialClick(u);
|
977
879
|
},
|
978
880
|
handleMove: (c) => {
|
979
|
-
const u =
|
881
|
+
const u = se(c, { useClientCoords: !0 }), h = se(c);
|
980
882
|
if (o({ mousePosition: u }), r.isDragging && r.selectedShapeId && r.dragStartPos && r.shapes.find((m) => m.id === r.selectedShapeId)) {
|
981
|
-
const m = h.x - r.dragStartPos.x, y = h.y - r.dragStartPos.y,
|
883
|
+
const m = h.x - r.dragStartPos.x, y = h.y - r.dragStartPos.y, P = r.shapes.map((S) => S.id === r.selectedShapeId ? {
|
982
884
|
...S,
|
983
885
|
points: S.points.map((C) => ({
|
984
886
|
x: C.x + m,
|
985
887
|
y: C.y + y
|
986
888
|
}))
|
987
889
|
} : S);
|
988
|
-
o({ shapes:
|
890
|
+
o({ shapes: P }), i.startDrag(h);
|
989
891
|
return;
|
990
892
|
}
|
991
893
|
if (r.initialClickPos && !r.isDrawing) {
|
992
|
-
|
894
|
+
Oe(r.initialClickPos, h) >= Ae && i.startDrawing(r.initialClickPos);
|
993
895
|
return;
|
994
896
|
}
|
995
897
|
r.isDrawing && i.updateDrawing(h);
|
@@ -1000,8 +902,8 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1000
902
|
return;
|
1001
903
|
}
|
1002
904
|
if (r.initialClickPos && !r.isDrawing) {
|
1003
|
-
const u =
|
1004
|
-
if (
|
905
|
+
const u = se(c);
|
906
|
+
if (Oe(r.initialClickPos, u) < Ae && c.target instanceof SVGElement && c.target.classList.contains("echo-shape")) {
|
1005
907
|
const f = c.target.dataset.shapeId;
|
1006
908
|
f && o({ selectedShapeId: f });
|
1007
909
|
}
|
@@ -1046,15 +948,15 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1046
948
|
setState: o,
|
1047
949
|
methods: i
|
1048
950
|
};
|
1049
|
-
},
|
951
|
+
}, Wt = (e, n, t, r) => {
|
1050
952
|
var h;
|
1051
953
|
const a = (r == null ? void 0 : r.reduce(
|
1052
954
|
(f, m) => (f[m.id] = m.defaultValue ?? (m.type === "checkbox" ? [] : ""), f),
|
1053
955
|
{}
|
1054
|
-
)) || {}, o =
|
956
|
+
)) || {}, o = pe(n), i = (o == null ? void 0 : o.feedback.customInputValues) || {}, l = {
|
1055
957
|
...a,
|
1056
958
|
...i
|
1057
|
-
}, [s, c] =
|
959
|
+
}, [s, c] = xe({
|
1058
960
|
message: ((h = o == null ? void 0 : o.feedback) == null ? void 0 : h.message) || "",
|
1059
961
|
screenshot: void 0,
|
1060
962
|
isCapturing: !1,
|
@@ -1069,8 +971,8 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1069
971
|
!y && !s.hasUserInteracted && c({ hasUserInteracted: !0 }), c(f), (s.hasUserInteracted || y) && (t == null || t(f, m));
|
1070
972
|
}
|
1071
973
|
};
|
1072
|
-
},
|
1073
|
-
const [t, r] =
|
974
|
+
}, Yt = (e, n) => {
|
975
|
+
const [t, r] = xe({
|
1074
976
|
text: e.textConfig,
|
1075
977
|
isOpen: !1,
|
1076
978
|
primaryColor: e.primaryColor,
|
@@ -1084,7 +986,7 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1084
986
|
height: document.documentElement.scrollHeight
|
1085
987
|
},
|
1086
988
|
isStoredFeedbackOpen: !1,
|
1087
|
-
pagesCount:
|
989
|
+
pagesCount: Re(),
|
1088
990
|
welcomeMessageIsClosing: !1,
|
1089
991
|
position: e.position,
|
1090
992
|
customInputs: e.customInputs
|
@@ -1093,15 +995,15 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1093
995
|
state: t,
|
1094
996
|
setState: r
|
1095
997
|
};
|
1096
|
-
},
|
998
|
+
}, De = (e) => {
|
1097
999
|
var n;
|
1098
1000
|
return ((n = e.customInputs) == null ? void 0 : n.reduce(
|
1099
1001
|
(t, r) => (t[r.id] = r.defaultValue ?? (r.type === "checkbox" ? [] : ""), t),
|
1100
1002
|
{}
|
1101
1003
|
)) || {};
|
1102
|
-
},
|
1103
|
-
let n =
|
1104
|
-
const t =
|
1004
|
+
}, Ut = (e) => {
|
1005
|
+
let n = be();
|
1006
|
+
const t = Yt(e), r = zt(t), a = Ct(t), o = Wt(
|
1105
1007
|
e,
|
1106
1008
|
n,
|
1107
1009
|
(c, u) => {
|
@@ -1115,7 +1017,7 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1115
1017
|
);
|
1116
1018
|
},
|
1117
1019
|
e.customInputs
|
1118
|
-
), i =
|
1020
|
+
), i = Rt(e, n, (c, u) => {
|
1119
1021
|
r(
|
1120
1022
|
n,
|
1121
1023
|
{
|
@@ -1126,8 +1028,8 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1126
1028
|
);
|
1127
1029
|
}), l = (c) => {
|
1128
1030
|
n = c;
|
1129
|
-
const u =
|
1130
|
-
...
|
1031
|
+
const u = pe(n), h = {
|
1032
|
+
...De(e),
|
1131
1033
|
...u == null ? void 0 : u.feedback.customInputValues
|
1132
1034
|
};
|
1133
1035
|
o.setState({
|
@@ -1138,7 +1040,7 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1138
1040
|
shapes: (u == null ? void 0 : u.drawing.shapes) || []
|
1139
1041
|
});
|
1140
1042
|
}, s = () => {
|
1141
|
-
|
1043
|
+
He(n);
|
1142
1044
|
const c = {
|
1143
1045
|
feedback: {
|
1144
1046
|
message: "",
|
@@ -1146,7 +1048,7 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1146
1048
|
isCapturing: !1,
|
1147
1049
|
isMinimized: !1,
|
1148
1050
|
hasUserInteracted: !1,
|
1149
|
-
customInputValues:
|
1051
|
+
customInputValues: De(e)
|
1150
1052
|
},
|
1151
1053
|
drawing: {
|
1152
1054
|
isDrawing: !1,
|
@@ -1188,27 +1090,27 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1188
1090
|
}
|
1189
1091
|
}
|
1190
1092
|
};
|
1191
|
-
},
|
1192
|
-
const n =
|
1093
|
+
}, Xe = tt(), Kt = (e) => {
|
1094
|
+
const n = Ut({
|
1193
1095
|
primaryColor: e.primaryColor,
|
1194
1096
|
onSubmit: e.onSubmit,
|
1195
1097
|
textConfig: e.textConfig,
|
1196
1098
|
position: e.position,
|
1197
1099
|
customInputs: e.customInputs
|
1198
1100
|
});
|
1199
|
-
return g(
|
1101
|
+
return g(Xe.Provider, {
|
1200
1102
|
value: n,
|
1201
1103
|
get children() {
|
1202
1104
|
return e.children;
|
1203
1105
|
}
|
1204
1106
|
});
|
1205
1107
|
}, $ = () => {
|
1206
|
-
const e =
|
1108
|
+
const e = nt(Xe);
|
1207
1109
|
if (!e)
|
1208
1110
|
throw new Error("useEchoStore must be used within EchoProvider");
|
1209
1111
|
return e;
|
1210
|
-
},
|
1211
|
-
const [n, t] =
|
1112
|
+
}, Gt = (e) => {
|
1113
|
+
const [n, t] = I({
|
1212
1114
|
width: document.documentElement.clientWidth,
|
1213
1115
|
height: document.documentElement.scrollHeight
|
1214
1116
|
}), r = () => {
|
@@ -1224,7 +1126,7 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1224
1126
|
event: "resize",
|
1225
1127
|
callback: r,
|
1226
1128
|
onMount: r
|
1227
|
-
}),
|
1129
|
+
}), ke({
|
1228
1130
|
target: document.documentElement,
|
1229
1131
|
options: {
|
1230
1132
|
childList: !0,
|
@@ -1233,13 +1135,13 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1233
1135
|
},
|
1234
1136
|
callback: r
|
1235
1137
|
}), n;
|
1236
|
-
},
|
1237
|
-
let n =
|
1138
|
+
}, Xt = ({ onUrlChange: e }) => {
|
1139
|
+
let n = be();
|
1238
1140
|
const t = () => {
|
1239
|
-
const r =
|
1141
|
+
const r = be();
|
1240
1142
|
r !== n && (n = r, e(r));
|
1241
1143
|
};
|
1242
|
-
A({ event: "popstate", callback: t }), A({ event: "pushstate", callback: t }), A({ event: "replacestate", callback: t }),
|
1144
|
+
A({ event: "popstate", callback: t }), A({ event: "pushstate", callback: t }), A({ event: "replacestate", callback: t }), ke({
|
1243
1145
|
target: document.documentElement,
|
1244
1146
|
options: {
|
1245
1147
|
childList: !0,
|
@@ -1247,9 +1149,9 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1247
1149
|
},
|
1248
1150
|
callback: t
|
1249
1151
|
});
|
1250
|
-
}, gn = `*,*:before,*:after{box-sizing:border-box}.echo-root{position:absolute;top:0;left:0;z-index:var(--z-root);isolation:isolate;pointer-events:none;--z-root: 999999;--z-launcher: 2;--z-overlay: 1;--z-drawing-toolbar: 3;--z-drawing-tooltip: 3;--z-shape-actions: 3;--z-notification: 2;--z-welcome-message: 2;--z-widget-button: 2;--z-feedback-form: 4;--primary-color: #000;--primary-text-color: #fff;--error-color: #f44336;--success-color: var(--primary-color);--text-dark: #1a1a1a;--text-medium: #333;--text-light: #666;--text-lighter: #999;--border-color: rgba(0, 0, 0, .1);--border-color-light: rgba(0, 0, 0, .05);--border-color-medium: rgba(0, 0, 0, .08);--background-color: #fff;--primary-color-lighter: color-mix(in srgb, var(--primary-color) 100%, white 40%);--primary-color-lightest: color-mix(in srgb, var(--primary-color) 7%, white 100%);--hover-color: color-mix(in srgb, var(--primary-color) 80%, #fff);--shadow-color-dark: rgba(0, 0, 0, .6);--shadow-color-light: rgba(255, 255, 255, .1);--shadow-color-medium: rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px;--shadow-md: 0 4px 10px;--shadow-lg: 0 10px 20px;--shadow-black-sm: var(--shadow-sm) rgba(0, 0, 0, .5);--shadow-black-md: var(--shadow-md) rgba(0, 0, 0, .5);--shadow-black-lg: var(--shadow-lg) rgba(0, 0, 0, .5);--shadow-black-lightened-sm: var(--shadow-sm) var(--shadow-color-medium);--shadow-black-lightened-md: var(--shadow-md) var(--shadow-color-medium);--shadow-black-lightened-lg: var(--shadow-lg) var(--shadow-color-medium);--shadow-primary-sm: var(--shadow-sm) color-mix(in srgb, var(--primary-color) 60%, transparent 80%);--shadow-primary-md: var(--shadow-md) color-mix(in srgb, var(--primary-color) 50%, transparent 80%);--shadow-primary-lg: var(--shadow-lg) color-mix(in srgb, var(--primary-color) 40%, transparent 80%);--shadow-primary-lighter-sm: var(--shadow-sm) color-mix(in srgb, var(--primary-color-lighter) 70%, transparent 80%);--shadow-primary-lighter-md: var(--shadow-md) color-mix(in srgb, var(--primary-color-lighter) 60%, transparent 80%);--shadow-primary-lighter-lg: var(--shadow-lg) color-mix(in srgb, var(--primary-color-lighter) 50%, transparent 80%);--shadow-primary-lightest-sm: var(--shadow-sm) color-mix(in srgb, var(--primary-color-lightest) 70%, transparent 80%);--shadow-primary-lightest-md: var(--shadow-md) color-mix(in srgb, var(--primary-color-lightest) 60%, transparent 80%);--shadow-primary-lightest-lg: var(--shadow-lg) color-mix(in srgb, var(--primary-color-lightest) 50%, transparent 80%);--shadow-combined-sm: var(--shadow-primary-sm), var(--shadow-black-lightened-sm);--shadow-combined-md: var(--shadow-primary-md), var(--shadow-black-lightened-md);--shadow-combined-lg: var(--shadow-primary-lg), var(--shadow-black-lightened-lg);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--spacing-3xl: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--font-xs: .8125rem;--font-sm: .875rem;--font-base: .9375rem;--font-md: 1rem;--font-lg: 1.125rem;--duration-fast: .1s;--duration-base: .2s;--duration-slow: .3s;--duration-slower: .4s;--duration-slowest: .6s;--ease-default: ease;--ease-in-out: ease-in-out;--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.16, 1, .3, 1)}.echo-stored-feedback{position:absolute;display:flex;flex-direction:column;bottom:calc(100% + var(--spacing-lg));right:0;width:320px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-black-lightened-lg);animation:slideUpFade var(--duration-base) var(--ease-smooth);z-index:calc(var(--z-widget-button) + 1);transform-origin:bottom right;transition:all var(--duration-base) var(--ease-smooth)}.echo-stored-feedback-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg)}.echo-stored-feedback-header h3{margin:0;font-size:var(--font-md);font-weight:600}.echo-stored-feedback-list{max-height:400px;overflow-y:auto;border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.echo-stored-feedback-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color-light);transition:all var(--duration-base) var(--ease-smooth);background:#fff;position:relative}.echo-stored-feedback-item:hover{background:var(--primary-color-lightest)}.echo-stored-feedback-item-current{background:var(--primary-color-lightest);padding-left:calc(var(--spacing-lg) - 3px)}.echo-stored-feedback-item-current:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--primary-color);border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.echo-stored-feedback-item:last-child{border-bottom:none;border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.echo-stored-feedback-item:last-child.echo-stored-feedback-item-current:before{border-bottom-left-radius:var(--radius-lg)}.echo-stored-feedback-content{flex:1;min-width:0;margin-right:var(--spacing-md)}.echo-stored-feedback-path{font-size:var(--font-sm);font-weight:500;color:var(--text-medium);margin-bottom:var(--spacing-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.echo-stored-feedback-preview{font-size:var(--font-xs);color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.echo-stored-feedback-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.echo-stored-feedback-link{color:var(--text-light)}.echo-stored-feedback-link:hover{color:var(--primary-color)}.echo-stored-feedback-delete{color:var(--text-light);font-size:var(--font-xs);padding:var(--spacing-xs) var(--spacing-md)}.echo-stored-feedback-delete:hover{color:var(--error-color);background:color-mix(in srgb,var(--error-color) 10%,transparent)}.echo-stored-feedback-empty{padding:var(--spacing-3xl) var(--spacing-lg);text-align:center;color:var(--text-light);font-size:var(--font-sm);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.echo-launcher{position:fixed;z-index:var(--z-launcher);bottom:var(--spacing-xl);right:var(--spacing-xl);pointer-events:none}.echo-overlay{position:absolute;top:0;left:0;margin:0;padding:0;max-width:none;max-height:none;border:3px solid var(--primary-color);background:transparent}.echo-overlay::backdrop{background:transparent}[data-hidden=true],[data-hidden=false]{transition:opacity var(--duration-slow) var(--ease-in-out),visibility var(--duration-slow) var(--ease-in-out)}[data-hidden=true]{opacity:0;visibility:hidden;pointer-events:none}[data-hidden=false]{opacity:1;visibility:visible;pointer-events:auto;user-select:none;-webkit-user-select:none}.echo-launcher-button{z-index:var(--z-widget-button);position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;background:radial-gradient(circle at 40% 40%,var(--primary-color) 0%,var(--primary-color-lighter) 65%,var(--primary-color-lighter) 100%);border:none;border-radius:var(--radius-full);width:48px;height:48px;box-shadow:var(--shadow-black-md);transition:all var(--duration-slow) var(--ease-default),transform var(--duration-slower) var(--ease-smooth),opacity var(--duration-slow) var(--ease-in-out);will-change:transform}.echo-launcher-button:hover{box-shadow:var(--shadow-black-lg);transform:translateY(-2px)}.echo-launcher-button:active{transform:scale(.95)}.echo-launcher-button-count{position:absolute;top:calc(-1 * var(--spacing-xs));left:calc(-1 * var(--spacing-xs));background:var(--primary-color-lightest);color:var(--primary-color-lighter);border-radius:var(--radius-md);min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-black-sm);padding:0 var(--spacing-xs);font-weight:600;pointer-events:auto;cursor:pointer;transform-origin:center center;animation:popIn var(--duration-slow) var(--ease-bounce);transition:transform var(--duration-base) var(--ease-default)}.echo-launcher-button-count:hover{transform:scale(1.1)}.echo-feedback{position:fixed;bottom:var(--spacing-xl);right:var(--spacing-xl);width:min(calc(100vw - var(--spacing-xl) * 2),24rem);max-height:calc(100vh - var(--spacing-xl) * 2);z-index:var(--z-feedback-form);box-shadow:var(--shadow-black-lightened-lg);display:flex;flex-direction:column;gap:var(--spacing-lg);background:var(--background-color);border-radius:var(--radius-lg);overflow-y:auto;will-change:transform;padding:0 var(--spacing-lg)}.echo-feedback[data-minimized=true]{transition:transform .4s var(--ease-default),box-shadow .4s var(--ease-default);transform:translate(calc(100% - 48px),calc(100% - 48px));box-shadow:0 8px 16px #0003}.echo-feedback[data-minimized=true]:hover{cursor:pointer;transform:translate(calc(100% - 48px),calc(100% - 48px)) rotate(-2deg) scale(1.1);box-shadow:0 12px 24px #00000040}.echo-feedback[data-minimized=false]{transition:transform .4s var(--ease-smooth),box-shadow .4s var(--ease-smooth);transform:translate(0)}.echo-feedback[style*=transition]{pointer-events:none}.echo-feedback-content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.echo-feedback-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) 0;background-color:var(--background-color);position:sticky;top:0;z-index:1}.echo-feedback-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) 0;background-color:var(--background-color);position:sticky;bottom:0;z-index:1}.echo-feedback-title{font-size:var(--font-lg);font-weight:600;color:var(--text-dark);margin:0}.echo-feedback-header-actions{display:flex;gap:var(--spacing-xs);margin:calc(-1 * var(--spacing-sm)) calc(-1 * var(--spacing-sm)) calc(-1 * var(--spacing-sm)) 0}[data-hide-when-drawing=true]{opacity:1;visibility:visible;transition:opacity .3s ease-in-out,visibility .3s ease-in-out}[data-drawing=true] [data-hide-when-drawing=true]{opacity:0;visibility:hidden;pointer-events:none;user-select:none;-webkit-user-select:none}.echo-drawing-layer,.echo-drawing-layer-container{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;user-select:none;-webkit-user-select:none}.echo-drawing-layer-container svg{pointer-events:auto}.echo-drawing-toolbar{position:fixed;top:var(--spacing-xl);left:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-sm);z-index:var(--z-drawing-toolbar);opacity:1;transition:opacity var(--duration-base) var(--ease-default)}.echo-drawing-toolbar-button{width:50px;height:50px;border-radius:var(--radius-full);border:2px solid #ddd;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:all var(--duration-base) var(--ease-default);box-shadow:var(--shadow-black-sm);position:relative}.echo-drawing-toolbar-icon{width:25px;height:25px;color:var(--primary-color);transition:color var(--duration-base) var(--ease-default)}.echo-drawing-toolbar-button:hover{transform:scale(1.05);border-color:var(--hover-color)}.echo-drawing-toolbar-button[data-selected=true]{background:var(--primary-color-lightest);border-color:var(--primary-color)}.echo-color-selector{position:relative}.echo-color-selector:hover .echo-drawing-toolbar-button{border-top-right-radius:0;border-bottom-right-radius:0;transform:scale(1.05);border-right-color:transparent;background:rgba(var(--primary-color),.9);border-color:var(--hover-color)}.echo-color-swatch-wrapper{position:absolute;left:calc(100% - 2px);top:50%;transform:translateY(-50%);height:52.5px;padding-right:var(--spacing-sm);display:none}.echo-color-selector:hover .echo-color-swatch-wrapper{display:block}.echo-color-swatch{height:100%;background:#fff;border-radius:var(--radius-md);border-top-left-radius:0;border-bottom-left-radius:0;padding:var(--spacing-sm);padding-left:var(--spacing-md);box-shadow:var(--shadow-black-sm);display:flex;align-items:center;gap:var(--spacing-sm);border:2px solid #ddd;border-left:none}.echo-color-selector:hover .echo-color-swatch{border-color:var(--hover-color)}.echo-color-swatch-button{width:24px;height:24px;border-radius:var(--radius-full);border:2px solid transparent;cursor:pointer;padding:0;transition:transform var(--duration-base) var(--ease-default)}.echo-color-swatch-button:hover{transform:scale(1.1)}.echo-color-swatch-button[data-selected=true]{border-color:var(--primary-color)}.echo-drawing-tooltip{display:flex;text-wrap:nowrap;position:fixed;background:#fff;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-combined-sm);font-size:var(--font-sm);color:var(--primary-color);z-index:var(--z-drawing-tooltip);pointer-events:none;animation:slideDownFade var(--duration-slow) var(--ease-default);border:1px solid var(--primary-color);background:var(--primary-color-lightest)}.echo-shape-actions{position:fixed;z-index:var(--z-shape-actions);display:flex;gap:var(--spacing-xs);background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-combined-md);transform:translate(-50%,-100%) translateY(calc(-1 * var(--spacing-sm)));animation:popInSlideDown var(--duration-fast) var(--ease-default);cursor:default;pointer-events:auto;padding:var(--spacing-xs);border:1px solid var(--primary-color)}.echo-shape-actions-divider{width:1px;margin:var(--spacing-sm) 0;background:var(--border-color);pointer-events:none}.echo-shape-actions[hidden]{display:none}.echo-notification{position:absolute;z-index:var(--z-notification);bottom:70px;right:0;width:300px;padding:var(--spacing-2xl);border-radius:var(--radius-lg);font-size:var(--font-md);font-weight:500;box-shadow:var(--shadow-combined-md);background:#fff;border:1px solid var(--primary-color);transform-origin:bottom right;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xl);opacity:1;pointer-events:auto;transition:all var(--duration-base) var(--ease-smooth)}.echo-notification:not([data-empty=true]){animation:popInSlideUp var(--duration-slower) var(--ease-spring)}.echo-notification[data-empty=true]{opacity:0;pointer-events:none;transform:translateY(var(--spacing-sm)) scale(.95);transition:none}.echo-notification-hide{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);width:24px;height:24px;padding:var(--spacing-xs);border:none;background:transparent;color:var(--text-light);opacity:.7;cursor:pointer;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;transition:all var(--duration-base) var(--ease-bounce);flex-shrink:0}.echo-notification-hide:hover{opacity:1;background:var(--primary-color-lightest);transform:scale(1.1);color:var(--primary-color)}.echo-notification-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;transform:scale(1.5);background:var(--primary-color-lightest);padding:var(--spacing-md);border-radius:var(--radius-full);margin-top:var(--spacing-md);transition:all var(--duration-base) var(--ease-bounce)}.echo-notification[data-type=success]{border-color:var(--success-color)}.echo-notification[data-type=success] .echo-notification-icon{color:var(--success-color)}.echo-notification[data-type=error]{border-color:var(--error-color)}.echo-notification[data-type=error] .echo-notification-icon{color:var(--error-color);background:color-mix(in srgb,var(--error-color) 10%,white)}.echo-notification-content{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:0 12px}.echo-notification-title{font-size:1rem;font-weight:600;color:#1a1a1a}.echo-notification-message{font-size:.875rem;font-weight:400;color:#666;line-height:1.4;max-width:100%}@media (max-width: 768px){.echo-notification{right:0;width:calc(100vw - 40px);height:auto;min-height:180px;-webkit-backdrop-filter:none;backdrop-filter:none;font-size:.9375rem;padding:20px;gap:16px;bottom:calc(100% + 20px)}.echo-notification-icon{transform:scale(1.3);padding:10px;margin-top:8px}.echo-notification-title{font-size:.9375rem}.echo-notification-message{font-size:.8125rem}}.echo-welcome-message{display:flex;align-items:center;gap:var(--spacing-xs);position:fixed;z-index:var(--z-welcome-message);background:var(--primary-color-lightest);border:1px solid var(--primary-color);color:var(--primary-color);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);font-size:var(--font-sm);font-weight:500;box-shadow:var(--shadow-combined-md);opacity:1;transform:translateY(0) scale(1);transition:all var(--duration-slow) var(--ease-smooth);animation:bounceIn var(--duration-slowest) var(--ease-bounce);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;cursor:pointer;text-align:left}.echo-welcome-message:hover{transform:translateY(-2px) scale(1.02);background:var(--primary-color-lightest);box-shadow:var(--shadow-combined-lg)}.echo-welcome-message:active{transform:translateY(0) scale(.98)}.echo-welcome-message-close{width:20px;height:20px;padding:2px;margin-left:var(--spacing-xs);border:none;background:transparent;opacity:.7;cursor:pointer;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;transition:all var(--duration-base) var(--ease-default)}.echo-welcome-message-close:hover{opacity:1;background:var(--shadow-color-light);transform:scale(1.1)}.echo-welcome-message-close:active{transform:scale(.95)}.echo-welcome-message:after{content:"";position:absolute;bottom:-4px;right:17px;width:16px;height:16px;background:inherit;transform:rotate(45deg);border-radius:var(--radius-xs);border:1px solid var(--primary-color);z-index:-2}.echo-welcome-message:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--primary-color-lightest);z-index:-1;border-radius:var(--radius-lg)}.echo-welcome-message-pulsar{content:"";display:inline-block;width:6px;height:6px;background:var(--primary-color);border-radius:50%;margin-right:8px;animation:pulse 1.5s var(--ease-in-out) infinite}.echo-button{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all var(--duration-base) var(--ease-default);line-height:1}.echo-button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.echo-button-primary{background:var(--primary-color);color:#fff}.echo-button-primary:hover{background:var(--hover-color);transform:translateY(-1px)}.echo-button-primary:active{transform:translateY(0)}.echo-button-secondary{background:transparent;color:var(--text-light)}.echo-button-secondary:hover{background-color:var(--primary-color-lightest);color:var(--primary-color)}.echo-button-xs{padding:var(--spacing-xs);font-size:var(--font-xs)}.echo-button-sm{padding:var(--spacing-xs);font-size:var(--font-sm)}.echo-button-md{padding:var(--spacing-md) var(--spacing-2xl);font-size:var(--font-base)}.echo-button-lg{padding:var(--spacing-md) var(--spacing-3xl);font-size:var(--font-md)}@keyframes slideUpFade{0%{opacity:0;transform:translateY(var(--spacing-sm))}to{opacity:1;transform:translateY(0)}}@keyframes slideDownFade{0%{opacity:0;transform:translateY(calc(-1 * var(--spacing-sm)))}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes popInSlideUp{0%{opacity:0;transform:translateY(var(--spacing-sm)) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes popInSlideDown{0%{opacity:0;transform:translate(-50%,-100%) translateY(calc(-1 * var(--spacing-xs))) scale(.95)}to{opacity:1;transform:translate(-50%,-100%) translateY(calc(-1 * var(--spacing-sm))) scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:translateY(var(--spacing-xl)) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}to{transform:scale(1);opacity:1}}.echo-inputs{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.echo-input{display:flex;flex-direction:column;gap:.5rem}.echo-input-label{font-size:.875rem;font-weight:500;color:var(--text-color)}.echo-input-required{color:#dc2626;margin-left:.25rem}.echo-input-field{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:#fff;color:var(--text-medium);font-size:var(--font-sm);transition:all var(--duration-base) var(--ease-default)}.echo-input-field:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 15%,transparent)}.echo-input-field:disabled{opacity:.5}.echo-input-field::placeholder{color:var(--text-lighter)}textarea.echo-input-field{resize:vertical;max-width:100%;max-height:20rem;box-sizing:border-box}select.echo-input-field{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;padding-right:2.5rem;cursor:pointer}.echo-input-options-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xl);border:none;margin:0;padding:0}.echo-input-options{display:flex;flex-direction:column;gap:var(--spacing-sm);border:none;margin:0;padding:0}.echo-input-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all var(--duration-base) var(--ease-default)}.echo-input-option:hover{background:var(--primary-color-lightest)}.echo-input-option input[type=radio],.echo-input-option input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;width:18px;height:18px;border:1px solid var(--border-color);background-color:#fff;display:grid;place-content:center;cursor:pointer;transition:all var(--duration-base) var(--ease-default)}.echo-input-option input[type=radio]{border-radius:50%}.echo-input-option input[type=radio]:before{content:"";width:10px;height:10px;border-radius:50%;transform:scale(0);transition:transform var(--duration-base) var(--ease-default);background-color:var(--primary-color)}.echo-input-option input[type=radio]:checked:before{transform:scale(1)}.echo-input-option input[type=checkbox]{border-radius:var(--radius-sm)}.echo-input-option input[type=checkbox]:before{content:"";width:12px;height:12px;transform:scale(0);transition:all var(--duration-base) var(--ease-default);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center}.echo-input-option input[type=checkbox]:checked{background-color:var(--primary-color-lighter);border-color:var(--primary-color-lighter)}.echo-input-option input[type=checkbox]:checked:before{transform:scale(1)}.echo-input-option input[type=radio]:hover,.echo-input-option input[type=checkbox]:hover{border-color:var(--primary-color-lighter)}.echo-input-option input[type=radio]:focus,.echo-input-option input[type=checkbox]:focus{outline:none;border-color:var(--primary-color-lighter);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 15%,transparent)}.echo-input-option input[type=radio]:checked,.echo-input-option input[type=checkbox]:checked{border-color:var(--primary-color-lighter)}.echo-input-option span{font-size:var(--font-sm);color:var(--text-medium);-webkit-user-select:none;user-select:none}.echo-select{position:relative;width:100%}.echo-select-trigger{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:#fff;color:var(--text-medium);font-size:var(--font-sm);transition:all var(--duration-base) var(--ease-default);cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:.5rem;outline:none}.echo-select-trigger[data-placeholder=true]{color:var(--text-lighter)}.echo-select-trigger:hover{border-color:var(--border-color-medium)}.echo-select-trigger:focus,.echo-select-trigger[data-open=true]{border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 15%,transparent)}.echo-select-arrow{flex-shrink:0;transition:transform var(--duration-base) var(--ease-default)}.echo-select-trigger[data-open=true] .echo-select-arrow{transform:rotate(180deg)}.echo-select-dropdown{position:absolute;top:calc(100% + .25rem);left:0;right:0;background:#fff;border:1px solid var(--border-color-medium);border-radius:var(--radius-md);box-shadow:var(--shadow-black-lightened-md);max-height:15rem;overflow-y:auto;z-index:10;animation:slideDownFade var(--duration-base) var(--ease-default);padding:var(--spacing-xs)}.echo-select-option{width:100%;padding:.5rem .75rem;background:none;border:none;text-align:left;color:var(--text-medium);font-size:var(--font-sm);cursor:pointer;transition:all var(--duration-base) var(--ease-default);outline:none;border-radius:var(--radius-sm)}.echo-select-option:hover{background:var(--primary-color-lightest)}.echo-select-option:focus{background:var(--primary-color-lightest);box-shadow:0 0 0 1px var(--primary-color) inset}.echo-select-option[data-selected=true]{background:var(--primary-color-lightest);color:var(--primary-color);font-weight:500}select.echo-input-field{display:none}.visually-hidden{position:absolute;left:50%;bottom:0;transform:translate(-50%);width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}`;
|
1251
|
-
var
|
1252
|
-
const
|
1152
|
+
}, Zt = `*,*:before,*:after{box-sizing:border-box}.echo-root{position:absolute;top:0;left:0;z-index:var(--z-root);isolation:isolate;pointer-events:none;--z-root: 999999;--z-launcher: 2;--z-overlay: 1;--z-drawing-toolbar: 3;--z-drawing-tooltip: 3;--z-shape-actions: 3;--z-notification: 2;--z-welcome-message: 2;--z-widget-button: 2;--z-feedback-form: 4;--primary-color: #000;--primary-text-color: #fff;--error-color: #f44336;--success-color: var(--primary-color);--text-dark: #1a1a1a;--text-medium: #333;--text-light: #666;--text-lighter: #999;--border-color: rgba(0, 0, 0, .1);--border-color-light: rgba(0, 0, 0, .05);--border-color-medium: rgba(0, 0, 0, .08);--background-color: #fff;--primary-color-lighter: color-mix(in srgb, var(--primary-color) 100%, white 40%);--primary-color-lightest: color-mix(in srgb, var(--primary-color) 7%, white 100%);--hover-color: color-mix(in srgb, var(--primary-color) 80%, #fff);--shadow-color-dark: rgba(0, 0, 0, .6);--shadow-color-light: rgba(255, 255, 255, .1);--shadow-color-medium: rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px;--shadow-md: 0 4px 10px;--shadow-lg: 0 10px 20px;--shadow-black-sm: var(--shadow-sm) rgba(0, 0, 0, .5);--shadow-black-md: var(--shadow-md) rgba(0, 0, 0, .5);--shadow-black-lg: var(--shadow-lg) rgba(0, 0, 0, .5);--shadow-black-lightened-sm: var(--shadow-sm) var(--shadow-color-medium);--shadow-black-lightened-md: var(--shadow-md) var(--shadow-color-medium);--shadow-black-lightened-lg: var(--shadow-lg) var(--shadow-color-medium);--shadow-primary-sm: var(--shadow-sm) color-mix(in srgb, var(--primary-color) 60%, transparent 80%);--shadow-primary-md: var(--shadow-md) color-mix(in srgb, var(--primary-color) 50%, transparent 80%);--shadow-primary-lg: var(--shadow-lg) color-mix(in srgb, var(--primary-color) 40%, transparent 80%);--shadow-primary-lighter-sm: var(--shadow-sm) color-mix(in srgb, var(--primary-color-lighter) 70%, transparent 80%);--shadow-primary-lighter-md: var(--shadow-md) color-mix(in srgb, var(--primary-color-lighter) 60%, transparent 80%);--shadow-primary-lighter-lg: var(--shadow-lg) color-mix(in srgb, var(--primary-color-lighter) 50%, transparent 80%);--shadow-primary-lightest-sm: var(--shadow-sm) color-mix(in srgb, var(--primary-color-lightest) 70%, transparent 80%);--shadow-primary-lightest-md: var(--shadow-md) color-mix(in srgb, var(--primary-color-lightest) 60%, transparent 80%);--shadow-primary-lightest-lg: var(--shadow-lg) color-mix(in srgb, var(--primary-color-lightest) 50%, transparent 80%);--shadow-combined-sm: var(--shadow-primary-sm), var(--shadow-black-lightened-sm);--shadow-combined-md: var(--shadow-primary-md), var(--shadow-black-lightened-md);--shadow-combined-lg: var(--shadow-primary-lg), var(--shadow-black-lightened-lg);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--spacing-3xl: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--font-xs: .8125rem;--font-sm: .875rem;--font-base: .9375rem;--font-md: 1rem;--font-lg: 1.125rem;--duration-fast: .1s;--duration-base: .2s;--duration-slow: .3s;--duration-slower: .4s;--duration-slowest: .6s;--ease-default: ease;--ease-in-out: ease-in-out;--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.16, 1, .3, 1)}.echo-stored-feedback{position:absolute;display:flex;flex-direction:column;bottom:calc(100% + var(--spacing-lg));right:0;width:320px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-black-lightened-lg);animation:slideUpFade var(--duration-base) var(--ease-smooth);z-index:calc(var(--z-widget-button) + 1);transform-origin:bottom right;transition:all var(--duration-base) var(--ease-smooth)}.echo-stored-feedback-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg)}.echo-stored-feedback-header h3{margin:0;font-size:var(--font-md);font-weight:600}.echo-stored-feedback-list{max-height:400px;overflow-y:auto;border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.echo-stored-feedback-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color-light);transition:all var(--duration-base) var(--ease-smooth);background:#fff;position:relative}.echo-stored-feedback-item:hover{background:var(--primary-color-lightest)}.echo-stored-feedback-item-current{background:var(--primary-color-lightest);padding-left:calc(var(--spacing-lg) - 3px)}.echo-stored-feedback-item-current:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--primary-color);border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.echo-stored-feedback-item:last-child{border-bottom:none;border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.echo-stored-feedback-item:last-child.echo-stored-feedback-item-current:before{border-bottom-left-radius:var(--radius-lg)}.echo-stored-feedback-content{flex:1;min-width:0;margin-right:var(--spacing-md)}.echo-stored-feedback-path{font-size:var(--font-sm);font-weight:500;color:var(--text-medium);margin-bottom:var(--spacing-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.echo-stored-feedback-preview{font-size:var(--font-xs);color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.echo-stored-feedback-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.echo-stored-feedback-link{color:var(--text-light)}.echo-stored-feedback-link:hover{color:var(--primary-color)}.echo-stored-feedback-delete{color:var(--text-light);font-size:var(--font-xs);padding:var(--spacing-xs) var(--spacing-md)}.echo-stored-feedback-delete:hover{color:var(--error-color);background:color-mix(in srgb,var(--error-color) 10%,transparent)}.echo-stored-feedback-empty{padding:var(--spacing-3xl) var(--spacing-lg);text-align:center;color:var(--text-light);font-size:var(--font-sm);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.echo-launcher{position:fixed;z-index:var(--z-launcher);bottom:var(--spacing-xl);right:var(--spacing-xl);pointer-events:none}.echo-overlay{position:absolute;top:0;left:0;margin:0;padding:0;max-width:none;max-height:none;border:3px solid var(--primary-color);background:transparent}.echo-overlay::backdrop{background:transparent}[data-hidden=true],[data-hidden=false]{transition:opacity var(--duration-slow) var(--ease-in-out),visibility var(--duration-slow) var(--ease-in-out)}[data-hidden=true]{opacity:0;visibility:hidden;pointer-events:none}[data-hidden=false]{opacity:1;visibility:visible;pointer-events:auto;user-select:none;-webkit-user-select:none}.echo-launcher-button{z-index:var(--z-widget-button);position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;background:radial-gradient(circle at 40% 40%,var(--primary-color) 0%,var(--primary-color-lighter) 65%,var(--primary-color-lighter) 100%);border:none;border-radius:var(--radius-full);width:48px;height:48px;box-shadow:var(--shadow-black-md);transition:all var(--duration-slow) var(--ease-default),transform var(--duration-slower) var(--ease-smooth),opacity var(--duration-slow) var(--ease-in-out);will-change:transform}.echo-launcher-button:hover{box-shadow:var(--shadow-black-lg);transform:translateY(-2px)}.echo-launcher-button:active{transform:scale(.95)}.echo-launcher-button-count{position:absolute;top:calc(-1 * var(--spacing-xs));left:calc(-1 * var(--spacing-xs));background:var(--primary-color-lightest);color:var(--primary-color-lighter);border-radius:var(--radius-md);min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-black-sm);padding:0 var(--spacing-xs);font-weight:600;pointer-events:auto;cursor:pointer;transform-origin:center center;animation:popIn var(--duration-slow) var(--ease-bounce);transition:transform var(--duration-base) var(--ease-default)}.echo-launcher-button-count:hover{transform:scale(1.1)}.echo-feedback{position:fixed;bottom:var(--spacing-xl);right:var(--spacing-xl);width:min(calc(100vw - var(--spacing-xl) * 2),24rem);max-height:calc(100vh - var(--spacing-xl) * 2);z-index:var(--z-feedback-form);box-shadow:var(--shadow-black-lightened-lg);display:flex;flex-direction:column;gap:var(--spacing-lg);background:var(--background-color);border-radius:var(--radius-lg);overflow-y:auto;will-change:transform;padding:0 var(--spacing-lg)}.echo-feedback[data-minimized=true]{transition:transform .4s var(--ease-default),box-shadow .4s var(--ease-default);transform:translate(calc(100% - 48px),calc(100% - 48px));box-shadow:0 8px 16px #0003}.echo-feedback[data-minimized=true]:hover{cursor:pointer;transform:translate(calc(100% - 48px),calc(100% - 48px)) rotate(-2deg) scale(1.1);box-shadow:0 12px 24px #00000040}.echo-feedback[data-minimized=false]{transition:transform .4s var(--ease-smooth),box-shadow .4s var(--ease-smooth);transform:translate(0)}.echo-feedback[style*=transition]{pointer-events:none}.echo-feedback-content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.echo-feedback-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) 0;background-color:var(--background-color);position:sticky;top:0;z-index:1}.echo-feedback-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) 0;background-color:var(--background-color);position:sticky;bottom:0;z-index:1}.echo-feedback-title{font-size:var(--font-lg);font-weight:600;color:var(--text-dark);margin:0}.echo-feedback-header-actions{display:flex;gap:var(--spacing-xs);margin:calc(-1 * var(--spacing-sm)) calc(-1 * var(--spacing-sm)) calc(-1 * var(--spacing-sm)) 0}[data-hide-when-drawing=true]{opacity:1;visibility:visible;transition:opacity .3s ease-in-out,visibility .3s ease-in-out}[data-drawing=true] [data-hide-when-drawing=true]{opacity:0;visibility:hidden;pointer-events:none;user-select:none;-webkit-user-select:none}.echo-drawing-layer,.echo-drawing-layer-container{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;user-select:none;-webkit-user-select:none}.echo-drawing-layer-container svg{pointer-events:auto}.echo-drawing-toolbar{position:fixed;top:var(--spacing-xl);left:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-sm);z-index:var(--z-drawing-toolbar);opacity:1;transition:opacity var(--duration-base) var(--ease-default)}.echo-drawing-toolbar-button{width:50px;height:50px;border-radius:var(--radius-full);border:2px solid #ddd;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:all var(--duration-base) var(--ease-default);box-shadow:var(--shadow-black-sm);position:relative}.echo-drawing-toolbar-icon{width:25px;height:25px;color:var(--primary-color);transition:color var(--duration-base) var(--ease-default)}.echo-drawing-toolbar-button:hover{transform:scale(1.05);border-color:var(--hover-color)}.echo-drawing-toolbar-button[data-selected=true]{background:var(--primary-color-lightest);border-color:var(--primary-color)}.echo-color-selector{position:relative}.echo-color-selector:hover .echo-drawing-toolbar-button{border-top-right-radius:0;border-bottom-right-radius:0;transform:scale(1.05);border-right-color:transparent;background:rgba(var(--primary-color),.9);border-color:var(--hover-color)}.echo-color-swatch-wrapper{position:absolute;left:calc(100% - 2px);top:50%;transform:translateY(-50%);height:52.5px;padding-right:var(--spacing-sm);display:none}.echo-color-selector:hover .echo-color-swatch-wrapper{display:block}.echo-color-swatch{height:100%;background:#fff;border-radius:var(--radius-md);border-top-left-radius:0;border-bottom-left-radius:0;padding:var(--spacing-sm);padding-left:var(--spacing-md);box-shadow:var(--shadow-black-sm);display:flex;align-items:center;gap:var(--spacing-sm);border:2px solid #ddd;border-left:none}.echo-color-selector:hover .echo-color-swatch{border-color:var(--hover-color)}.echo-color-swatch-button{width:24px;height:24px;border-radius:var(--radius-full);border:2px solid transparent;cursor:pointer;padding:0;transition:transform var(--duration-base) var(--ease-default)}.echo-color-swatch-button:hover{transform:scale(1.1)}.echo-color-swatch-button[data-selected=true]{border-color:var(--primary-color)}.echo-drawing-tooltip{display:flex;text-wrap:nowrap;position:fixed;background:#fff;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-combined-sm);font-size:var(--font-sm);color:var(--primary-color);z-index:var(--z-drawing-tooltip);pointer-events:none;animation:slideDownFade var(--duration-slow) var(--ease-default);border:1px solid var(--primary-color);background:var(--primary-color-lightest)}.echo-shape-actions{position:fixed;z-index:var(--z-shape-actions);display:flex;gap:var(--spacing-xs);background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-combined-md);transform:translate(-50%,-100%) translateY(calc(-1 * var(--spacing-sm)));animation:popInSlideDown var(--duration-fast) var(--ease-default);cursor:default;pointer-events:auto;padding:var(--spacing-xs);border:1px solid var(--primary-color)}.echo-shape-actions-divider{width:1px;margin:var(--spacing-sm) 0;background:var(--border-color);pointer-events:none}.echo-shape-actions[hidden]{display:none}.echo-notification{position:absolute;z-index:var(--z-notification);bottom:70px;right:0;width:300px;padding:var(--spacing-2xl);border-radius:var(--radius-lg);font-size:var(--font-md);font-weight:500;box-shadow:var(--shadow-combined-md);background:#fff;border:1px solid var(--primary-color);transform-origin:bottom right;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xl);opacity:1;pointer-events:auto;transition:all var(--duration-base) var(--ease-smooth)}.echo-notification:not([data-empty=true]){animation:popInSlideUp var(--duration-slower) var(--ease-spring)}.echo-notification[data-empty=true]{opacity:0;pointer-events:none;transform:translateY(var(--spacing-sm)) scale(.95);transition:none}.echo-notification-hide{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);width:24px;height:24px;padding:var(--spacing-xs);border:none;background:transparent;color:var(--text-light);opacity:.7;cursor:pointer;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;transition:all var(--duration-base) var(--ease-bounce);flex-shrink:0}.echo-notification-hide:hover{opacity:1;background:var(--primary-color-lightest);transform:scale(1.1);color:var(--primary-color)}.echo-notification-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;transform:scale(1.5);background:var(--primary-color-lightest);padding:var(--spacing-md);border-radius:var(--radius-full);margin-top:var(--spacing-md);transition:all var(--duration-base) var(--ease-bounce)}.echo-notification[data-type=success]{border-color:var(--success-color)}.echo-notification[data-type=success] .echo-notification-icon{color:var(--success-color)}.echo-notification[data-type=error]{border-color:var(--error-color)}.echo-notification[data-type=error] .echo-notification-icon{color:var(--error-color);background:color-mix(in srgb,var(--error-color) 10%,white)}.echo-notification-content{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:0 12px}.echo-notification-title{font-size:1rem;font-weight:600;color:#1a1a1a}.echo-notification-message{font-size:.875rem;font-weight:400;color:#666;line-height:1.4;max-width:100%}@media (max-width: 768px){.echo-notification{right:0;width:calc(100vw - 40px);height:auto;min-height:180px;-webkit-backdrop-filter:none;backdrop-filter:none;font-size:.9375rem;padding:20px;gap:16px;bottom:calc(100% + 20px)}.echo-notification-icon{transform:scale(1.3);padding:10px;margin-top:8px}.echo-notification-title{font-size:.9375rem}.echo-notification-message{font-size:.8125rem}}.echo-welcome-message{display:flex;align-items:center;gap:var(--spacing-xs);position:fixed;z-index:var(--z-welcome-message);background:var(--primary-color-lightest);border:1px solid var(--primary-color);color:var(--primary-color);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);font-size:var(--font-sm);font-weight:500;box-shadow:var(--shadow-combined-md);opacity:1;transform:translateY(0) scale(1);transition:all var(--duration-slow) var(--ease-smooth);animation:bounceIn var(--duration-slowest) var(--ease-bounce);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;cursor:pointer;text-align:left}.echo-welcome-message:hover{transform:translateY(-2px) scale(1.02);background:var(--primary-color-lightest);box-shadow:var(--shadow-combined-lg)}.echo-welcome-message:active{transform:translateY(0) scale(.98)}.echo-welcome-message-close{width:20px;height:20px;padding:2px;margin-left:var(--spacing-xs);border:none;background:transparent;opacity:.7;cursor:pointer;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;transition:all var(--duration-base) var(--ease-default)}.echo-welcome-message-close:hover{opacity:1;background:var(--shadow-color-light);transform:scale(1.1)}.echo-welcome-message-close:active{transform:scale(.95)}.echo-welcome-message:after{content:"";position:absolute;bottom:-4px;right:17px;width:16px;height:16px;background:inherit;transform:rotate(45deg);border-radius:var(--radius-xs);border:1px solid var(--primary-color);z-index:-2}.echo-welcome-message:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--primary-color-lightest);z-index:-1;border-radius:var(--radius-lg)}.echo-welcome-message-pulsar{content:"";display:inline-block;width:6px;height:6px;background:var(--primary-color);border-radius:50%;margin-right:8px;animation:pulse 1.5s var(--ease-in-out) infinite}.echo-button{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all var(--duration-base) var(--ease-default);line-height:1}.echo-button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.echo-button-primary{background:var(--primary-color);color:#fff}.echo-button-primary:hover{background:var(--hover-color);transform:translateY(-1px)}.echo-button-primary:active{transform:translateY(0)}.echo-button-secondary{background:transparent;color:var(--text-light)}.echo-button-secondary:hover{background-color:var(--primary-color-lightest);color:var(--primary-color)}.echo-button-xs{padding:var(--spacing-xs);font-size:var(--font-xs)}.echo-button-sm{padding:var(--spacing-xs);font-size:var(--font-sm)}.echo-button-md{padding:var(--spacing-md) var(--spacing-2xl);font-size:var(--font-base)}.echo-button-lg{padding:var(--spacing-md) var(--spacing-3xl);font-size:var(--font-md)}@keyframes slideUpFade{0%{opacity:0;transform:translateY(var(--spacing-sm))}to{opacity:1;transform:translateY(0)}}@keyframes slideDownFade{0%{opacity:0;transform:translateY(calc(-1 * var(--spacing-sm)))}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes popInSlideUp{0%{opacity:0;transform:translateY(var(--spacing-sm)) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes popInSlideDown{0%{opacity:0;transform:translate(-50%,-100%) translateY(calc(-1 * var(--spacing-xs))) scale(.95)}to{opacity:1;transform:translate(-50%,-100%) translateY(calc(-1 * var(--spacing-sm))) scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:translateY(var(--spacing-xl)) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}to{transform:scale(1);opacity:1}}.echo-inputs{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.echo-input{display:flex;flex-direction:column;gap:.5rem}.echo-input-label{font-size:.875rem;font-weight:500;color:var(--text-color)}.echo-input-required{color:#dc2626;margin-left:.25rem}.echo-input-field{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:#fff;color:var(--text-medium);font-size:var(--font-sm);transition:all var(--duration-base) var(--ease-default)}.echo-input-field:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 15%,transparent)}.echo-input-field:disabled{opacity:.5}.echo-input-field::placeholder{color:var(--text-lighter)}textarea.echo-input-field{resize:vertical;max-width:100%;max-height:20rem;box-sizing:border-box}select.echo-input-field{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;padding-right:2.5rem;cursor:pointer}.echo-input-options-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xl);border:none;margin:0;padding:0}.echo-input-options{display:flex;flex-direction:column;gap:var(--spacing-sm);border:none;margin:0;padding:0}.echo-input-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all var(--duration-base) var(--ease-default)}.echo-input-option:hover{background:var(--primary-color-lightest)}.echo-input-option input[type=radio],.echo-input-option input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;width:18px;height:18px;border:1px solid var(--border-color);background-color:#fff;display:grid;place-content:center;cursor:pointer;transition:all var(--duration-base) var(--ease-default)}.echo-input-option input[type=radio]{border-radius:50%}.echo-input-option input[type=radio]:before{content:"";width:10px;height:10px;border-radius:50%;transform:scale(0);transition:transform var(--duration-base) var(--ease-default);background-color:var(--primary-color)}.echo-input-option input[type=radio]:checked:before{transform:scale(1)}.echo-input-option input[type=checkbox]{border-radius:var(--radius-sm)}.echo-input-option input[type=checkbox]:before{content:"";width:12px;height:12px;transform:scale(0);transition:all var(--duration-base) var(--ease-default);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center}.echo-input-option input[type=checkbox]:checked{background-color:var(--primary-color-lighter);border-color:var(--primary-color-lighter)}.echo-input-option input[type=checkbox]:checked:before{transform:scale(1)}.echo-input-option input[type=radio]:hover,.echo-input-option input[type=checkbox]:hover{border-color:var(--primary-color-lighter)}.echo-input-option input[type=radio]:focus,.echo-input-option input[type=checkbox]:focus{outline:none;border-color:var(--primary-color-lighter);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 15%,transparent)}.echo-input-option input[type=radio]:checked,.echo-input-option input[type=checkbox]:checked{border-color:var(--primary-color-lighter)}.echo-input-option span{font-size:var(--font-sm);color:var(--text-medium);-webkit-user-select:none;user-select:none}.echo-select{position:relative;width:100%}.echo-select-trigger{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:#fff;color:var(--text-medium);font-size:var(--font-sm);transition:all var(--duration-base) var(--ease-default);cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:.5rem;outline:none}.echo-select-trigger[data-placeholder=true]{color:var(--text-lighter)}.echo-select-trigger:hover{border-color:var(--border-color-medium)}.echo-select-trigger:focus,.echo-select-trigger[data-open=true]{border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 15%,transparent)}.echo-select-arrow{flex-shrink:0;transition:transform var(--duration-base) var(--ease-default)}.echo-select-trigger[data-open=true] .echo-select-arrow{transform:rotate(180deg)}.echo-select-dropdown{position:absolute;top:calc(100% + .25rem);left:0;right:0;background:#fff;border:1px solid var(--border-color-medium);border-radius:var(--radius-md);box-shadow:var(--shadow-black-lightened-md);max-height:15rem;overflow-y:auto;z-index:10;animation:slideDownFade var(--duration-base) var(--ease-default);padding:var(--spacing-xs)}.echo-select-option{width:100%;padding:.5rem .75rem;background:none;border:none;text-align:left;color:var(--text-medium);font-size:var(--font-sm);cursor:pointer;transition:all var(--duration-base) var(--ease-default);outline:none;border-radius:var(--radius-sm)}.echo-select-option:hover{background:var(--primary-color-lightest)}.echo-select-option:focus{background:var(--primary-color-lightest);box-shadow:0 0 0 1px var(--primary-color) inset}.echo-select-option[data-selected=true]{background:var(--primary-color-lightest);color:var(--primary-color);font-weight:500}select.echo-input-field{display:none}.visually-hidden{position:absolute;left:50%;bottom:0;transform:translate(-50%);width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}`;
|
1153
|
+
var Jt = /* @__PURE__ */ w('<div class=echo-color-selector role=group aria-label="Color Selection"><button class=echo-drawing-toolbar-button title="Current Color"></button><div class=echo-color-swatch-wrapper role=listbox aria-label="Available Colors"><div class=echo-color-swatch>'), Qt = /* @__PURE__ */ w("<button class=echo-color-swatch-button role=option>");
|
1154
|
+
const en = [
|
1253
1155
|
"#ff6b6b",
|
1254
1156
|
// Soft Red
|
1255
1157
|
"#69db7c",
|
@@ -1266,7 +1168,7 @@ const vn = [
|
|
1266
1168
|
// Soft Orange
|
1267
1169
|
"#e599f7"
|
1268
1170
|
// Soft Pink
|
1269
|
-
],
|
1171
|
+
], tn = {
|
1270
1172
|
"#ff6b6b": "Soft Red",
|
1271
1173
|
"#69db7c": "Soft Green",
|
1272
1174
|
"#74c0fc": "Soft Blue",
|
@@ -1275,20 +1177,20 @@ const vn = [
|
|
1275
1177
|
"#66d9e8": "Soft Cyan",
|
1276
1178
|
"#ffa94d": "Soft Orange",
|
1277
1179
|
"#e599f7": "Soft Pink"
|
1278
|
-
},
|
1180
|
+
}, fe = (e) => tn[e] || "Primary", nn = () => {
|
1279
1181
|
const e = $();
|
1280
1182
|
return (() => {
|
1281
|
-
var n =
|
1282
|
-
return d(t, "aria-expanded", !1), v(a, g(
|
1183
|
+
var n = Jt(), t = n.firstChild, r = t.nextSibling, a = r.firstChild;
|
1184
|
+
return d(t, "aria-expanded", !1), v(a, g(V, {
|
1283
1185
|
get each() {
|
1284
|
-
return [e.widget.state.primaryColor, ...
|
1186
|
+
return [e.widget.state.primaryColor, ...en];
|
1285
1187
|
},
|
1286
1188
|
children: (o) => (() => {
|
1287
|
-
var i =
|
1189
|
+
var i = Qt();
|
1288
1190
|
return i.$$click = () => e.drawing.setState({
|
1289
1191
|
selectedColor: o
|
1290
1192
|
}), o != null ? i.style.setProperty("background-color", o) : i.style.removeProperty("background-color"), b((l) => {
|
1291
|
-
var s = `Select ${
|
1193
|
+
var s = `Select ${fe(o)} color`, c = e.drawing.state.selectedColor === o, u = `${fe(o)} color`, h = e.drawing.state.selectedColor === o;
|
1292
1194
|
return s !== l.e && d(i, "title", l.e = s), c !== l.t && d(i, "data-selected", l.t = c), u !== l.a && d(i, "aria-label", l.a = u), h !== l.o && d(i, "aria-selected", l.o = h), l;
|
1293
1195
|
}, {
|
1294
1196
|
e: void 0,
|
@@ -1298,7 +1200,7 @@ const vn = [
|
|
1298
1200
|
}), i;
|
1299
1201
|
})()
|
1300
1202
|
})), b((o) => {
|
1301
|
-
var i = `Current color: ${
|
1203
|
+
var i = `Current color: ${fe(e.drawing.state.selectedColor)}`, l = e.drawing.state.selectedColor;
|
1302
1204
|
return i !== o.e && d(t, "aria-label", o.e = i), l !== o.t && ((o.t = l) != null ? t.style.setProperty("background-color", l) : t.style.removeProperty("background-color")), o;
|
1303
1205
|
}, {
|
1304
1206
|
e: void 0,
|
@@ -1306,13 +1208,13 @@ const vn = [
|
|
1306
1208
|
}), n;
|
1307
1209
|
})();
|
1308
1210
|
};
|
1309
|
-
|
1310
|
-
var
|
1311
|
-
const
|
1312
|
-
var n =
|
1211
|
+
T(["click"]);
|
1212
|
+
var rn = /* @__PURE__ */ w('<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 24 24"stroke-linecap=round stroke-linejoin=round><path d="m9 18 6-6-6-6">');
|
1213
|
+
const on = (e) => (() => {
|
1214
|
+
var n = rn();
|
1313
1215
|
return b((t) => {
|
1314
1216
|
var r = e.size ?? 24, a = e.size ?? 24, o = e.fill ?? "none", i = e.stroke ?? "currentColor", l = e.strokeWidth ?? 2, s = e.class, c = e.style;
|
1315
|
-
return r !== t.e && d(n, "width", t.e = r), a !== t.t && d(n, "height", t.t = a), o !== t.a && d(n, "fill", t.a = o), i !== t.o && d(n, "stroke", t.o = i), l !== t.i && d(n, "stroke-width", t.i = l), s !== t.n && d(n, "class", t.n = s), t.s =
|
1217
|
+
return r !== t.e && d(n, "width", t.e = r), a !== t.t && d(n, "height", t.t = a), o !== t.a && d(n, "fill", t.a = o), i !== t.o && d(n, "stroke", t.o = i), l !== t.i && d(n, "stroke-width", t.i = l), s !== t.n && d(n, "class", t.n = s), t.s = D(n, c, t.s), t;
|
1316
1218
|
}, {
|
1317
1219
|
e: void 0,
|
1318
1220
|
t: void 0,
|
@@ -1323,12 +1225,12 @@ const pn = (e) => (() => {
|
|
1323
1225
|
s: void 0
|
1324
1226
|
}), n;
|
1325
1227
|
})();
|
1326
|
-
var
|
1327
|
-
const
|
1328
|
-
var n =
|
1228
|
+
var an = /* @__PURE__ */ w('<svg viewBox="0 0 64 66"fill=none><path d="M59.716 36.936L54.9 33l-6.17 5.108a77.278 77.278 0 00-12.744 13.469l-3.637 4.914-3.778-5.017a83.719 83.719 0 00-13.956-14.538L9.799 33l2.86-2.332A104.39 104.39 0 0030.1 12.5l2.24-2.98 1.736 2.298a111.905 111.905 0 0018.608 19.384l2.206 1.81 2.861-2.333a104.13 104.13 0 005.297-4.641C59.978 11.294 47.409.26 32.349.26 14.997.26.92 14.923.92 33c0 18.076 14.077 32.74 31.43 32.74 15.102 0 27.715-11.103 30.73-25.892a75.808 75.808 0 00-3.375-2.912h.011z">');
|
1229
|
+
const sn = (e) => (() => {
|
1230
|
+
var n = an(), t = n.firstChild;
|
1329
1231
|
return b((r) => {
|
1330
1232
|
var a = e.size ?? 24, o = e.size ?? 24, i = e.class, l = e.style, s = e.fill ?? "currentColor";
|
1331
|
-
return a !== r.e && d(n, "width", r.e = a), o !== r.t && d(n, "height", r.t = o), i !== r.a && d(n, "class", r.a = i), r.o =
|
1233
|
+
return a !== r.e && d(n, "width", r.e = a), o !== r.t && d(n, "height", r.t = o), i !== r.a && d(n, "class", r.a = i), r.o = D(n, l, r.o), s !== r.i && d(t, "fill", r.i = s), r;
|
1332
1234
|
}, {
|
1333
1235
|
e: void 0,
|
1334
1236
|
t: void 0,
|
@@ -1337,12 +1239,12 @@ const kn = (e) => (() => {
|
|
1337
1239
|
i: void 0
|
1338
1240
|
}), n;
|
1339
1241
|
})();
|
1340
|
-
var
|
1341
|
-
const
|
1342
|
-
var n =
|
1242
|
+
var ln = /* @__PURE__ */ w('<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 24 24"stroke-linecap=round stroke-linejoin=round><path d="M3 7V5a2 2 0 0 1 2-2h2"></path><path d="M17 3h2a2 2 0 0 1 2 2v2"></path><path d="M21 17v2a2 2 0 0 1-2 2h-2"></path><path d="M7 21H5a2 2 0 0 1-2-2v-2">');
|
1243
|
+
const cn = (e) => (() => {
|
1244
|
+
var n = ln();
|
1343
1245
|
return b((t) => {
|
1344
1246
|
var r = e.size ?? 24, a = e.size ?? 24, o = e.fill ?? "none", i = e.stroke ?? "currentColor", l = e.strokeWidth ?? 2, s = e.class, c = e.style;
|
1345
|
-
return r !== t.e && d(n, "width", t.e = r), a !== t.t && d(n, "height", t.t = a), o !== t.a && d(n, "fill", t.a = o), i !== t.o && d(n, "stroke", t.o = i), l !== t.i && d(n, "stroke-width", t.i = l), s !== t.n && d(n, "class", t.n = s), t.s =
|
1247
|
+
return r !== t.e && d(n, "width", t.e = r), a !== t.t && d(n, "height", t.t = a), o !== t.a && d(n, "fill", t.a = o), i !== t.o && d(n, "stroke", t.o = i), l !== t.i && d(n, "stroke-width", t.i = l), s !== t.n && d(n, "class", t.n = s), t.s = D(n, c, t.s), t;
|
1346
1248
|
}, {
|
1347
1249
|
e: void 0,
|
1348
1250
|
t: void 0,
|
@@ -1353,12 +1255,12 @@ const Cn = (e) => (() => {
|
|
1353
1255
|
s: void 0
|
1354
1256
|
}), n;
|
1355
1257
|
})();
|
1356
|
-
var
|
1357
|
-
const
|
1358
|
-
var n =
|
1258
|
+
var dn = /* @__PURE__ */ w('<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 24 24"stroke-linecap=round stroke-linejoin=round><path d="M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z">');
|
1259
|
+
const un = (e) => (() => {
|
1260
|
+
var n = dn();
|
1359
1261
|
return b((t) => {
|
1360
1262
|
var r = e.size ?? 24, a = e.size ?? 24, o = e.fill ?? "none", i = e.stroke ?? "currentColor", l = e.strokeWidth ?? 2, s = e.class, c = e.style;
|
1361
|
-
return r !== t.e && d(n, "width", t.e = r), a !== t.t && d(n, "height", t.t = a), o !== t.a && d(n, "fill", t.a = o), i !== t.o && d(n, "stroke", t.o = i), l !== t.i && d(n, "stroke-width", t.i = l), s !== t.n && d(n, "class", t.n = s), t.s =
|
1263
|
+
return r !== t.e && d(n, "width", t.e = r), a !== t.t && d(n, "height", t.t = a), o !== t.a && d(n, "fill", t.a = o), i !== t.o && d(n, "stroke", t.o = i), l !== t.i && d(n, "stroke-width", t.i = l), s !== t.n && d(n, "class", t.n = s), t.s = D(n, c, t.s), t;
|
1362
1264
|
}, {
|
1363
1265
|
e: void 0,
|
1364
1266
|
t: void 0,
|
@@ -1369,12 +1271,12 @@ const En = (e) => (() => {
|
|
1369
1271
|
s: void 0
|
1370
1272
|
}), n;
|
1371
1273
|
})();
|
1372
|
-
var
|
1373
|
-
const
|
1374
|
-
var n =
|
1274
|
+
var hn = /* @__PURE__ */ w('<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 24 24"stroke-linecap=round stroke-linejoin=round><path d="M3 6h18"></path><path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"></path><path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"></path><line x1=10 x2=10 y1=11 y2=17></line><line x1=14 x2=14 y1=11 y2=17>');
|
1275
|
+
const Ze = (e) => (() => {
|
1276
|
+
var n = hn();
|
1375
1277
|
return b((t) => {
|
1376
1278
|
var r = e.size ?? 24, a = e.size ?? 24, o = e.fill ?? "none", i = e.stroke ?? "currentColor", l = e.strokeWidth ?? 2, s = e.class, c = e.style;
|
1377
|
-
return r !== t.e && d(n, "width", t.e = r), a !== t.t && d(n, "height", t.t = a), o !== t.a && d(n, "fill", t.a = o), i !== t.o && d(n, "stroke", t.o = i), l !== t.i && d(n, "stroke-width", t.i = l), s !== t.n && d(n, "class", t.n = s), t.s =
|
1279
|
+
return r !== t.e && d(n, "width", t.e = r), a !== t.t && d(n, "height", t.t = a), o !== t.a && d(n, "fill", t.a = o), i !== t.o && d(n, "stroke", t.o = i), l !== t.i && d(n, "stroke-width", t.i = l), s !== t.n && d(n, "class", t.n = s), t.s = D(n, c, t.s), t;
|
1378
1280
|
}, {
|
1379
1281
|
e: void 0,
|
1380
1282
|
t: void 0,
|
@@ -1385,12 +1287,12 @@ const lt = (e) => (() => {
|
|
1385
1287
|
s: void 0
|
1386
1288
|
}), n;
|
1387
1289
|
})();
|
1388
|
-
var
|
1389
|
-
const
|
1390
|
-
var n =
|
1290
|
+
var gn = /* @__PURE__ */ w('<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 24 24"stroke-linecap=round stroke-linejoin=round><circle cx=12 cy=12 r=10></circle><path d="m9 12 2 2 4-4">');
|
1291
|
+
const fn = (e) => (() => {
|
1292
|
+
var n = gn();
|
1391
1293
|
return b((t) => {
|
1392
1294
|
var r = e.size ?? 24, a = e.size ?? 24, o = e.fill ?? "none", i = e.stroke ?? "currentColor", l = e.strokeWidth ?? 2, s = e.class, c = e.style;
|
1393
|
-
return r !== t.e && d(n, "width", t.e = r), a !== t.t && d(n, "height", t.t = a), o !== t.a && d(n, "fill", t.a = o), i !== t.o && d(n, "stroke", t.o = i), l !== t.i && d(n, "stroke-width", t.i = l), s !== t.n && d(n, "class", t.n = s), t.s =
|
1295
|
+
return r !== t.e && d(n, "width", t.e = r), a !== t.t && d(n, "height", t.t = a), o !== t.a && d(n, "fill", t.a = o), i !== t.o && d(n, "stroke", t.o = i), l !== t.i && d(n, "stroke-width", t.i = l), s !== t.n && d(n, "class", t.n = s), t.s = D(n, c, t.s), t;
|
1394
1296
|
}, {
|
1395
1297
|
e: void 0,
|
1396
1298
|
t: void 0,
|
@@ -1401,12 +1303,12 @@ const Tn = (e) => (() => {
|
|
1401
1303
|
s: void 0
|
1402
1304
|
}), n;
|
1403
1305
|
})();
|
1404
|
-
var
|
1405
|
-
const
|
1406
|
-
var n =
|
1306
|
+
var mn = /* @__PURE__ */ w('<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 24 24"stroke-linecap=round stroke-linejoin=round><circle cx=12 cy=12 r=10></circle><path d="m15 9-6 6"></path><path d="m9 9 6 6">');
|
1307
|
+
const vn = (e) => (() => {
|
1308
|
+
var n = mn();
|
1407
1309
|
return b((t) => {
|
1408
1310
|
var r = e.size ?? 24, a = e.size ?? 24, o = e.fill ?? "none", i = e.stroke ?? "currentColor", l = e.strokeWidth ?? 2, s = e.class, c = e.style;
|
1409
|
-
return r !== t.e && d(n, "width", t.e = r), a !== t.t && d(n, "height", t.t = a), o !== t.a && d(n, "fill", t.a = o), i !== t.o && d(n, "stroke", t.o = i), l !== t.i && d(n, "stroke-width", t.i = l), s !== t.n && d(n, "class", t.n = s), t.s =
|
1311
|
+
return r !== t.e && d(n, "width", t.e = r), a !== t.t && d(n, "height", t.t = a), o !== t.a && d(n, "fill", t.a = o), i !== t.o && d(n, "stroke", t.o = i), l !== t.i && d(n, "stroke-width", t.i = l), s !== t.n && d(n, "class", t.n = s), t.s = D(n, c, t.s), t;
|
1410
1312
|
}, {
|
1411
1313
|
e: void 0,
|
1412
1314
|
t: void 0,
|
@@ -1417,12 +1319,12 @@ const On = (e) => (() => {
|
|
1417
1319
|
s: void 0
|
1418
1320
|
}), n;
|
1419
1321
|
})();
|
1420
|
-
var
|
1421
|
-
const
|
1422
|
-
var n =
|
1322
|
+
var bn = /* @__PURE__ */ w('<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 24 24"stroke-linecap=round stroke-linejoin=round><path d="M18 6 6 18"></path><path d="m6 6 12 12">');
|
1323
|
+
const he = (e) => (() => {
|
1324
|
+
var n = bn();
|
1423
1325
|
return b((t) => {
|
1424
1326
|
var r = e.size ?? 24, a = e.size ?? 24, o = e.fill ?? "none", i = e.stroke ?? "currentColor", l = e.strokeWidth ?? 2, s = e.class, c = e.style;
|
1425
|
-
return r !== t.e && d(n, "width", t.e = r), a !== t.t && d(n, "height", t.t = a), o !== t.a && d(n, "fill", t.a = o), i !== t.o && d(n, "stroke", t.o = i), l !== t.i && d(n, "stroke-width", t.i = l), s !== t.n && d(n, "class", t.n = s), t.s =
|
1327
|
+
return r !== t.e && d(n, "width", t.e = r), a !== t.t && d(n, "height", t.t = a), o !== t.a && d(n, "fill", t.a = o), i !== t.o && d(n, "stroke", t.o = i), l !== t.i && d(n, "stroke-width", t.i = l), s !== t.n && d(n, "class", t.n = s), t.s = D(n, c, t.s), t;
|
1426
1328
|
}, {
|
1427
1329
|
e: void 0,
|
1428
1330
|
t: void 0,
|
@@ -1433,20 +1335,20 @@ const Se = (e) => (() => {
|
|
1433
1335
|
s: void 0
|
1434
1336
|
}), n;
|
1435
1337
|
})();
|
1436
|
-
var
|
1437
|
-
const
|
1438
|
-
rectangle:
|
1439
|
-
path:
|
1440
|
-
},
|
1441
|
-
const e = $(), n = Object.values(
|
1338
|
+
var wn = /* @__PURE__ */ w('<div class=echo-drawing-toolbar data-hide-when-drawing=true role=toolbar aria-label="Drawing Tools"><button class=echo-drawing-toolbar-button title="Clear drawings"aria-label="Clear all drawings"role=button>'), yn = /* @__PURE__ */ w("<button class=echo-drawing-toolbar-button role=button>");
|
1339
|
+
const pn = {
|
1340
|
+
rectangle: cn,
|
1341
|
+
path: un
|
1342
|
+
}, xn = () => {
|
1343
|
+
const e = $(), n = Object.values(q);
|
1442
1344
|
return (() => {
|
1443
|
-
var t =
|
1444
|
-
return v(t, g(
|
1345
|
+
var t = wn(), r = t.firstChild;
|
1346
|
+
return v(t, g(V, {
|
1445
1347
|
each: n,
|
1446
1348
|
children: (a) => {
|
1447
|
-
const o =
|
1349
|
+
const o = pn[a.id];
|
1448
1350
|
return (() => {
|
1449
|
-
var i =
|
1351
|
+
var i = yn();
|
1450
1352
|
return i.$$click = () => e.drawing.setState({
|
1451
1353
|
selectedTool: a.id
|
1452
1354
|
}), v(i, g(o, {
|
@@ -1463,24 +1365,24 @@ const Fn = {
|
|
1463
1365
|
}), i;
|
1464
1366
|
})();
|
1465
1367
|
}
|
1466
|
-
}), r), v(t, g(
|
1368
|
+
}), r), v(t, g(nn, {}), r), r.$$click = () => e.drawing.setState({
|
1467
1369
|
shapes: []
|
1468
|
-
}, !0), v(r, g(
|
1370
|
+
}, !0), v(r, g(Ze, {
|
1469
1371
|
class: "echo-drawing-toolbar-icon",
|
1470
1372
|
"aria-hidden": "true"
|
1471
1373
|
})), t;
|
1472
1374
|
})();
|
1473
1375
|
};
|
1474
|
-
|
1475
|
-
var
|
1476
|
-
const
|
1477
|
-
const e = $(), n = k(() => e.drawing.state.showTooltip && e.drawing.state.mousePosition.y && e.drawing.state.mousePosition.x && e.widget.state.isOpen && !
|
1478
|
-
return g(
|
1376
|
+
T(["click"]);
|
1377
|
+
var kn = /* @__PURE__ */ w("<div class=echo-drawing-tooltip data-hide-when-drawing=true>");
|
1378
|
+
const Sn = () => {
|
1379
|
+
const e = $(), n = k(() => e.drawing.state.showTooltip && e.drawing.state.mousePosition.y && e.drawing.state.mousePosition.x && e.widget.state.isOpen && !Lt());
|
1380
|
+
return g(M, {
|
1479
1381
|
get when() {
|
1480
1382
|
return n();
|
1481
1383
|
},
|
1482
1384
|
get children() {
|
1483
|
-
var t =
|
1385
|
+
var t = kn();
|
1484
1386
|
return v(t, () => e.widget.state.text.drawingTooltip.text), b((r) => {
|
1485
1387
|
var a = `${e.drawing.state.mousePosition.y + 20}px`, o = `${e.drawing.state.mousePosition.x + 10}px`;
|
1486
1388
|
return a !== r.e && ((r.e = a) != null ? t.style.setProperty("top", a) : t.style.removeProperty("top")), o !== r.t && ((r.t = o) != null ? t.style.setProperty("left", o) : t.style.removeProperty("left")), r;
|
@@ -1491,24 +1393,24 @@ const jn = () => {
|
|
1491
1393
|
}
|
1492
1394
|
});
|
1493
1395
|
};
|
1494
|
-
var
|
1495
|
-
const
|
1396
|
+
var Cn = /* @__PURE__ */ w("<button>");
|
1397
|
+
const B = (e) => {
|
1496
1398
|
const n = () => e.variant || "primary", t = () => e.size || "md";
|
1497
1399
|
return (() => {
|
1498
|
-
var r =
|
1499
|
-
return
|
1400
|
+
var r = Cn();
|
1401
|
+
return vt(r, Q(e, {
|
1500
1402
|
get class() {
|
1501
1403
|
return `echo-button echo-button-${n()} echo-button-${t()} ${e.class}`;
|
1502
1404
|
}
|
1503
1405
|
}), !1), r;
|
1504
1406
|
})();
|
1505
1407
|
};
|
1506
|
-
var
|
1507
|
-
const
|
1508
|
-
var n =
|
1408
|
+
var $n = /* @__PURE__ */ w('<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 24 24"stroke-linecap=round stroke-linejoin=round><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1=10 y1=14 x2=21 y2=3>');
|
1409
|
+
const Pn = (e) => (() => {
|
1410
|
+
var n = $n();
|
1509
1411
|
return b((t) => {
|
1510
1412
|
var r = e.size ?? 24, a = e.size ?? 24, o = e.fill ?? "none", i = e.stroke ?? "currentColor", l = e.strokeWidth ?? 2, s = e.class, c = e.style;
|
1511
|
-
return r !== t.e && d(n, "width", t.e = r), a !== t.t && d(n, "height", t.t = a), o !== t.a && d(n, "fill", t.a = o), i !== t.o && d(n, "stroke", t.o = i), l !== t.i && d(n, "stroke-width", t.i = l), s !== t.n && d(n, "class", t.n = s), t.s =
|
1413
|
+
return r !== t.e && d(n, "width", t.e = r), a !== t.t && d(n, "height", t.t = a), o !== t.a && d(n, "fill", t.a = o), i !== t.o && d(n, "stroke", t.o = i), l !== t.i && d(n, "stroke-width", t.i = l), s !== t.n && d(n, "class", t.n = s), t.s = D(n, c, t.s), t;
|
1512
1414
|
}, {
|
1513
1415
|
e: void 0,
|
1514
1416
|
t: void 0,
|
@@ -1519,11 +1421,11 @@ const Vn = (e) => (() => {
|
|
1519
1421
|
s: void 0
|
1520
1422
|
}), n;
|
1521
1423
|
})();
|
1522
|
-
var
|
1523
|
-
const
|
1424
|
+
var En = /* @__PURE__ */ w("<div class=echo-stored-feedback-empty>No unsubmitted feedback"), zn = /* @__PURE__ */ w("<div class=echo-stored-feedback><div class=echo-stored-feedback-header><h3>Unsubmitted Feedback</h3></div><div class=echo-stored-feedback-list>"), In = /* @__PURE__ */ w("<div><div class=echo-stored-feedback-content><div class=echo-stored-feedback-path></div><div class=echo-stored-feedback-preview></div></div><div class=echo-stored-feedback-actions>");
|
1425
|
+
const Tn = () => {
|
1524
1426
|
const e = $();
|
1525
1427
|
let n;
|
1526
|
-
const [t, r] =
|
1428
|
+
const [t, r] = I(ge()), [a, o] = I(window.location.pathname), i = (m) => {
|
1527
1429
|
m.key === "Escape" && e.widget.state.isStoredFeedbackOpen && e.widget.setState({
|
1528
1430
|
isStoredFeedbackOpen: !1
|
1529
1431
|
});
|
@@ -1533,7 +1435,7 @@ const Un = () => {
|
|
1533
1435
|
isStoredFeedbackOpen: !1
|
1534
1436
|
});
|
1535
1437
|
}, s = () => {
|
1536
|
-
const m =
|
1438
|
+
const m = ge();
|
1537
1439
|
r(m), e.widget.setState({
|
1538
1440
|
pagesCount: m.length
|
1539
1441
|
});
|
@@ -1546,7 +1448,7 @@ const Un = () => {
|
|
1546
1448
|
}), A({
|
1547
1449
|
event: "popstate",
|
1548
1450
|
callback: c
|
1549
|
-
}),
|
1451
|
+
}), ke({
|
1550
1452
|
target: document.documentElement,
|
1551
1453
|
options: {
|
1552
1454
|
childList: !0,
|
@@ -1563,13 +1465,13 @@ const Un = () => {
|
|
1563
1465
|
callback: l
|
1564
1466
|
});
|
1565
1467
|
const u = (m, y) => {
|
1566
|
-
const
|
1567
|
-
window.location.href =
|
1468
|
+
const P = y ? `${m}${y}` : m;
|
1469
|
+
window.location.href = P, e.widget.setState({
|
1568
1470
|
isStoredFeedbackOpen: !1
|
1569
1471
|
});
|
1570
1472
|
}, h = (m) => {
|
1571
|
-
a() === m && e.methods.reset(),
|
1572
|
-
const y =
|
1473
|
+
a() === m && e.methods.reset(), He(m);
|
1474
|
+
const y = ge();
|
1573
1475
|
r(y), e.widget.setState({
|
1574
1476
|
pagesCount: y.length
|
1575
1477
|
});
|
@@ -1578,77 +1480,77 @@ const Un = () => {
|
|
1578
1480
|
const y = m.split("/");
|
1579
1481
|
return y.length <= 4 ? m : `/${y[1]}/.../${y[y.length - 1]}`;
|
1580
1482
|
};
|
1581
|
-
return g(
|
1483
|
+
return g(M, {
|
1582
1484
|
get when() {
|
1583
1485
|
return e.widget.state.isStoredFeedbackOpen;
|
1584
1486
|
},
|
1585
1487
|
get children() {
|
1586
|
-
var m =
|
1488
|
+
var m = zn(), y = m.firstChild;
|
1587
1489
|
y.firstChild;
|
1588
|
-
var
|
1589
|
-
return typeof S == "function" ?
|
1490
|
+
var P = y.nextSibling, S = n;
|
1491
|
+
return typeof S == "function" ? N(S, m) : n = m, v(y, g(B, {
|
1590
1492
|
variant: "secondary",
|
1591
1493
|
size: "sm",
|
1592
1494
|
onClick: () => e.widget.setState({
|
1593
1495
|
isStoredFeedbackOpen: !1
|
1594
1496
|
}),
|
1595
1497
|
get children() {
|
1596
|
-
return g(
|
1498
|
+
return g(he, {
|
1597
1499
|
size: 20
|
1598
1500
|
});
|
1599
1501
|
}
|
1600
|
-
}), null), v(
|
1502
|
+
}), null), v(P, g(V, {
|
1601
1503
|
get each() {
|
1602
1504
|
return t();
|
1603
1505
|
},
|
1604
1506
|
children: (C) => {
|
1605
1507
|
const p = k(() => C.path === a());
|
1606
1508
|
return (() => {
|
1607
|
-
var
|
1608
|
-
return v(x, () => f(C.path)), v(_, () => C.state.feedback.message), v(
|
1509
|
+
var E = In(), z = E.firstChild, x = z.firstChild, _ = x.nextSibling, L = z.nextSibling;
|
1510
|
+
return v(x, () => f(C.path)), v(_, () => C.state.feedback.message), v(L, (() => {
|
1609
1511
|
var O = k(() => !p());
|
1610
|
-
return () => O() && g(
|
1512
|
+
return () => O() && g(B, {
|
1611
1513
|
class: "echo-stored-feedback-link",
|
1612
1514
|
variant: "secondary",
|
1613
1515
|
size: "sm",
|
1614
1516
|
onClick: () => u(C.path, C.state.latestQuery),
|
1615
1517
|
get children() {
|
1616
|
-
return g(
|
1518
|
+
return g(Pn, {});
|
1617
1519
|
}
|
1618
1520
|
});
|
1619
|
-
})(), null), v(
|
1521
|
+
})(), null), v(L, g(B, {
|
1620
1522
|
class: "echo-stored-feedback-delete",
|
1621
1523
|
variant: "secondary",
|
1622
1524
|
size: "sm",
|
1623
1525
|
onClick: () => h(C.path),
|
1624
1526
|
children: "Delete"
|
1625
1527
|
}), null), b((O) => {
|
1626
|
-
var
|
1627
|
-
return
|
1528
|
+
var Se = `echo-stored-feedback-item ${p() ? "echo-stored-feedback-item-current" : ""}`, Ce = C.path;
|
1529
|
+
return Se !== O.e && Ne(E, O.e = Se), Ce !== O.t && d(x, "title", O.t = Ce), O;
|
1628
1530
|
}, {
|
1629
1531
|
e: void 0,
|
1630
1532
|
t: void 0
|
1631
|
-
}),
|
1533
|
+
}), E;
|
1632
1534
|
})();
|
1633
1535
|
}
|
1634
|
-
}), null), v(
|
1536
|
+
}), null), v(P, g(M, {
|
1635
1537
|
get when() {
|
1636
1538
|
return t().length === 0;
|
1637
1539
|
},
|
1638
1540
|
get children() {
|
1639
|
-
return
|
1541
|
+
return En();
|
1640
1542
|
}
|
1641
1543
|
}), null), m;
|
1642
1544
|
}
|
1643
1545
|
});
|
1644
1546
|
};
|
1645
|
-
var
|
1646
|
-
const
|
1647
|
-
const e = $(), [n, t] =
|
1547
|
+
var On = /* @__PURE__ */ w('<button class=echo-launcher-button aria-label="Open feedback form"role=button>'), An = /* @__PURE__ */ w("<span class=echo-launcher-button-count role=button tabindex=0>");
|
1548
|
+
const Mn = () => {
|
1549
|
+
const e = $(), [n, t] = I(!1);
|
1648
1550
|
let r;
|
1649
1551
|
const a = () => {
|
1650
1552
|
r && window.clearTimeout(r), r = window.setTimeout(() => {
|
1651
|
-
const c =
|
1553
|
+
const c = U("welcome_message_shown", !1);
|
1652
1554
|
!e.widget.state.isOpen && !e.widget.state.isStoredFeedbackOpen && c && t(!0);
|
1653
1555
|
}, 4e3);
|
1654
1556
|
}, o = () => {
|
@@ -1660,9 +1562,9 @@ const Kn = () => {
|
|
1660
1562
|
isOpen: !e.widget.state.isOpen
|
1661
1563
|
}), e.widget.setState({
|
1662
1564
|
welcomeMessageIsClosing: !0
|
1663
|
-
}),
|
1565
|
+
}), te("welcome_message_shown", !0);
|
1664
1566
|
};
|
1665
|
-
|
1567
|
+
R(() => {
|
1666
1568
|
e.widget.state.isOpen || (t(!1), a()), e.widget.state.isStoredFeedbackOpen && t(!1);
|
1667
1569
|
});
|
1668
1570
|
const s = (c) => {
|
@@ -1671,15 +1573,15 @@ const Kn = () => {
|
|
1671
1573
|
}), t(!1);
|
1672
1574
|
};
|
1673
1575
|
return [(() => {
|
1674
|
-
var c =
|
1675
|
-
return c.addEventListener("pointerleave", i), c.addEventListener("pointerenter", o), c.$$click = l, v(c, g(
|
1576
|
+
var c = On();
|
1577
|
+
return c.addEventListener("pointerleave", i), c.addEventListener("pointerenter", o), c.$$click = l, v(c, g(sn, {
|
1676
1578
|
stroke: "white",
|
1677
1579
|
fill: "#ffffff",
|
1678
1580
|
"aria-hidden": "true"
|
1679
1581
|
}), null), v(c, (() => {
|
1680
1582
|
var u = k(() => e.widget.state.pagesCount > 0);
|
1681
1583
|
return () => u() && (() => {
|
1682
|
-
var h =
|
1584
|
+
var h = An();
|
1683
1585
|
return h.$$click = s, v(h, () => e.widget.state.pagesCount), b(() => d(h, "aria-label", `View ${e.widget.state.pagesCount} stored feedback items`)), h;
|
1684
1586
|
})();
|
1685
1587
|
})(), null), b((u) => {
|
@@ -1690,11 +1592,11 @@ const Kn = () => {
|
|
1690
1592
|
t: void 0,
|
1691
1593
|
a: void 0
|
1692
1594
|
}), c;
|
1693
|
-
})(), g(
|
1595
|
+
})(), g(Tn, {})];
|
1694
1596
|
};
|
1695
|
-
|
1696
|
-
var
|
1697
|
-
const
|
1597
|
+
T(["click"]);
|
1598
|
+
var Dn = /* @__PURE__ */ w("<div class=echo-notification><div class=echo-notification-icon></div><div class=echo-notification-content><div class=echo-notification-title></div><div class=echo-notification-message>");
|
1599
|
+
const Fn = () => {
|
1698
1600
|
const e = $(), n = () => {
|
1699
1601
|
e.widget.setState({
|
1700
1602
|
notification: {
|
@@ -1713,8 +1615,8 @@ const Xn = () => {
|
|
1713
1615
|
}
|
1714
1616
|
};
|
1715
1617
|
return (() => {
|
1716
|
-
var r =
|
1717
|
-
return v(r, g(
|
1618
|
+
var r = Dn(), a = r.firstChild, o = a.nextSibling, i = o.firstChild, l = i.nextSibling;
|
1619
|
+
return v(r, g(B, {
|
1718
1620
|
class: "echo-notification-hide",
|
1719
1621
|
variant: "secondary",
|
1720
1622
|
size: "sm",
|
@@ -1723,17 +1625,17 @@ const Xn = () => {
|
|
1723
1625
|
return e.widget.state.text.notification.hideTitle;
|
1724
1626
|
},
|
1725
1627
|
get children() {
|
1726
|
-
return g(
|
1628
|
+
return g(he, {
|
1727
1629
|
size: 20
|
1728
1630
|
});
|
1729
1631
|
}
|
1730
1632
|
}), a), v(a, (() => {
|
1731
1633
|
var s = k(() => e.widget.state.notification.type === "success");
|
1732
|
-
return () => s() ? g(
|
1634
|
+
return () => s() ? g(fn, {
|
1733
1635
|
size: 32
|
1734
1636
|
}) : (() => {
|
1735
1637
|
var c = k(() => e.widget.state.notification.type === "error");
|
1736
|
-
return () => c() ? g(
|
1638
|
+
return () => c() ? g(vn, {
|
1737
1639
|
size: 32
|
1738
1640
|
}) : null;
|
1739
1641
|
})();
|
@@ -1750,11 +1652,11 @@ const Xn = () => {
|
|
1750
1652
|
}), r;
|
1751
1653
|
})();
|
1752
1654
|
};
|
1753
|
-
var
|
1754
|
-
const
|
1655
|
+
var jn = /* @__PURE__ */ w("<div class=echo-shape-actions data-hide-when-drawing=true>");
|
1656
|
+
const Ln = () => {
|
1755
1657
|
const e = $();
|
1756
1658
|
let n;
|
1757
|
-
const [t, r] =
|
1659
|
+
const [t, r] = I({
|
1758
1660
|
x: window.scrollX,
|
1759
1661
|
y: window.scrollY
|
1760
1662
|
});
|
@@ -1777,7 +1679,7 @@ const Zn = () => {
|
|
1777
1679
|
if (!s || !c) return null;
|
1778
1680
|
let u = null;
|
1779
1681
|
if (s.type === "rectangle") {
|
1780
|
-
const m =
|
1682
|
+
const m = Ge(s.points);
|
1781
1683
|
if (!m) return null;
|
1782
1684
|
u = {
|
1783
1685
|
x: m.x + m.width / 2,
|
@@ -1797,14 +1699,14 @@ const Zn = () => {
|
|
1797
1699
|
};
|
1798
1700
|
});
|
1799
1701
|
return (() => {
|
1800
|
-
var s =
|
1801
|
-
return typeof c == "function" ?
|
1702
|
+
var s = jn(), c = n;
|
1703
|
+
return typeof c == "function" ? N(c, s) : n = s, s.style.setProperty("top", "0"), s.style.setProperty("left", "0"), v(s, g(B, {
|
1802
1704
|
onClick: o,
|
1803
1705
|
size: "sm",
|
1804
1706
|
variant: "secondary",
|
1805
1707
|
title: "Delete shape",
|
1806
1708
|
get children() {
|
1807
|
-
return g(
|
1709
|
+
return g(Ze, {
|
1808
1710
|
size: 20
|
1809
1711
|
});
|
1810
1712
|
}
|
@@ -1818,22 +1720,22 @@ const Zn = () => {
|
|
1818
1720
|
}), s;
|
1819
1721
|
})();
|
1820
1722
|
};
|
1821
|
-
var
|
1822
|
-
const
|
1823
|
-
const e = $(), n =
|
1723
|
+
var Nn = /* @__PURE__ */ w("<button class=echo-welcome-message><span class=echo-welcome-message-pulsar></span><div class=echo-welcome-message-close role=button tabindex=0>");
|
1724
|
+
const qn = () => {
|
1725
|
+
const e = $(), n = U("welcome_message_shown", !1), t = (a) => {
|
1824
1726
|
a.stopPropagation(), e.widget.setState({
|
1825
1727
|
welcomeMessageIsClosing: !0
|
1826
|
-
}),
|
1728
|
+
}), te("welcome_message_shown", !0);
|
1827
1729
|
}, r = () => {
|
1828
1730
|
e.widget.setState({
|
1829
1731
|
isOpen: !0
|
1830
1732
|
}), e.widget.setState({
|
1831
1733
|
welcomeMessageIsClosing: !0
|
1832
|
-
}),
|
1734
|
+
}), te("welcome_message_shown", !0);
|
1833
1735
|
};
|
1834
1736
|
return n ? null : (() => {
|
1835
|
-
var a =
|
1836
|
-
return a.$$click = r, a.style.setProperty("bottom", "80px"), a.style.setProperty("right", "20px"), v(a, () => e.widget.state.text.welcomeMessage.text, i), i.$$keydown = (l) => l.key === "Enter" && t(l), i.$$click = t, v(i, g(
|
1737
|
+
var a = Nn(), o = a.firstChild, i = o.nextSibling;
|
1738
|
+
return a.$$click = r, a.style.setProperty("bottom", "80px"), a.style.setProperty("right", "20px"), v(a, () => e.widget.state.text.welcomeMessage.text, i), i.$$keydown = (l) => l.key === "Enter" && t(l), i.$$click = t, v(i, g(he, {
|
1837
1739
|
size: 16,
|
1838
1740
|
strokeWidth: 3
|
1839
1741
|
})), b((l) => {
|
@@ -1845,41 +1747,41 @@ const er = () => {
|
|
1845
1747
|
}), a;
|
1846
1748
|
})();
|
1847
1749
|
};
|
1848
|
-
|
1849
|
-
var
|
1850
|
-
const
|
1750
|
+
T(["click", "keydown"]);
|
1751
|
+
var Bn = /* @__PURE__ */ w("<svg><rect class=echo-shape fill=transparent vector-effect=non-scaling-stroke role=img></svg>", !1, !0), Vn = /* @__PURE__ */ w("<svg><path class=echo-shape fill=none vector-effect=non-scaling-stroke stroke-linecap=round role=img></svg>", !1, !0);
|
1752
|
+
const Fe = (e) => {
|
1851
1753
|
const n = k(() => e.id === e.selectedShapeId);
|
1852
|
-
return [g(
|
1754
|
+
return [g(M, {
|
1853
1755
|
get when() {
|
1854
1756
|
return e.type === "rectangle";
|
1855
1757
|
},
|
1856
1758
|
get children() {
|
1857
|
-
return g(
|
1759
|
+
return g(_n, Q(e, {
|
1858
1760
|
get isSelected() {
|
1859
1761
|
return n();
|
1860
1762
|
}
|
1861
1763
|
}));
|
1862
1764
|
}
|
1863
|
-
}), g(
|
1765
|
+
}), g(M, {
|
1864
1766
|
get when() {
|
1865
1767
|
return e.type === "path";
|
1866
1768
|
},
|
1867
1769
|
get children() {
|
1868
|
-
return g(
|
1770
|
+
return g(Hn, Q(e, {
|
1869
1771
|
get isSelected() {
|
1870
1772
|
return n();
|
1871
1773
|
}
|
1872
1774
|
}));
|
1873
1775
|
}
|
1874
1776
|
})];
|
1875
|
-
},
|
1876
|
-
const n = k(() =>
|
1877
|
-
return g(
|
1777
|
+
}, _n = (e) => {
|
1778
|
+
const n = k(() => Ge(e.points));
|
1779
|
+
return g(M, {
|
1878
1780
|
get when() {
|
1879
1781
|
return n();
|
1880
1782
|
},
|
1881
1783
|
get children() {
|
1882
|
-
var t =
|
1784
|
+
var t = Bn();
|
1883
1785
|
return t.$$keydown = (r) => {
|
1884
1786
|
var a;
|
1885
1787
|
return r.key === "Enter" && ((a = e.onShapeClick) == null ? void 0 : a.call(e, e.id));
|
@@ -1887,8 +1789,8 @@ const He = (e) => {
|
|
1887
1789
|
var r;
|
1888
1790
|
return (r = e.onShapeClick) == null ? void 0 : r.call(e, e.id);
|
1889
1791
|
}, b((r) => {
|
1890
|
-
var a = e.id, o = e.isSelected, i = n().x, l = n().y, s = n().width, c = n().height, u = e.color, h =
|
1891
|
-
return a !== r.e && d(t, "data-shape-id", r.e = a), o !== r.t && d(t, "data-selected", r.t = o), i !== r.a && d(t, "x", r.a = i), l !== r.o && d(t, "y", r.o = l), s !== r.i && d(t, "width", r.i = s), c !== r.n && d(t, "height", r.n = c), u !== r.s && d(t, "stroke", r.s = u), h !== r.h && d(t, "stroke-width", r.h = h), f !== r.r && d(t, "opacity", r.r = f), m !== r.d && d(t, "stroke-dasharray", r.d = m), y !== r.l && d(t, "cursor", r.l = y),
|
1792
|
+
var a = e.id, o = e.isSelected, i = n().x, l = n().y, s = n().width, c = n().height, u = e.color, h = q.rectangle.strokeWidth, f = e.isSelected ? q.rectangle.opacity.selected : q.rectangle.opacity.default, m = e.isSelected ? "5,5" : "none", y = e.isSelected ? "move" : "pointer", P = `Rectangle shape ${e.isSelected ? "(selected)" : ""}`, S = e.onShapeClick ? 0 : -1;
|
1793
|
+
return a !== r.e && d(t, "data-shape-id", r.e = a), o !== r.t && d(t, "data-selected", r.t = o), i !== r.a && d(t, "x", r.a = i), l !== r.o && d(t, "y", r.o = l), s !== r.i && d(t, "width", r.i = s), c !== r.n && d(t, "height", r.n = c), u !== r.s && d(t, "stroke", r.s = u), h !== r.h && d(t, "stroke-width", r.h = h), f !== r.r && d(t, "opacity", r.r = f), m !== r.d && d(t, "stroke-dasharray", r.d = m), y !== r.l && d(t, "cursor", r.l = y), P !== r.u && d(t, "aria-label", r.u = P), S !== r.c && d(t, "tabindex", r.c = S), r;
|
1892
1794
|
}, {
|
1893
1795
|
e: void 0,
|
1894
1796
|
t: void 0,
|
@@ -1906,14 +1808,14 @@ const He = (e) => {
|
|
1906
1808
|
}), t;
|
1907
1809
|
}
|
1908
1810
|
});
|
1909
|
-
},
|
1910
|
-
const n = k(() =>
|
1911
|
-
return g(
|
1811
|
+
}, Hn = (e) => {
|
1812
|
+
const n = k(() => Nt(e.points));
|
1813
|
+
return g(M, {
|
1912
1814
|
get when() {
|
1913
1815
|
return n();
|
1914
1816
|
},
|
1915
1817
|
get children() {
|
1916
|
-
var t =
|
1818
|
+
var t = Vn();
|
1917
1819
|
return t.$$keydown = (r) => {
|
1918
1820
|
var a;
|
1919
1821
|
return r.key === "Enter" && ((a = e.onShapeClick) == null ? void 0 : a.call(e, e.id));
|
@@ -1921,7 +1823,7 @@ const He = (e) => {
|
|
1921
1823
|
var r;
|
1922
1824
|
return (r = e.onShapeClick) == null ? void 0 : r.call(e, e.id);
|
1923
1825
|
}, b((r) => {
|
1924
|
-
var a = e.id, o = e.isSelected, i = n(), l = e.color, s =
|
1826
|
+
var a = e.id, o = e.isSelected, i = n(), l = e.color, s = q.path.strokeWidth, c = e.isSelected ? q.path.opacity.selected : q.path.opacity.default, u = e.isSelected ? "move" : "pointer", h = `Freehand shape ${e.isSelected ? "(selected)" : ""}`, f = e.onShapeClick ? 0 : -1;
|
1925
1827
|
return a !== r.e && d(t, "data-shape-id", r.e = a), o !== r.t && d(t, "data-selected", r.t = o), i !== r.a && d(t, "d", r.a = i), l !== r.o && d(t, "stroke", r.o = l), s !== r.i && d(t, "stroke-width", r.i = s), c !== r.n && d(t, "opacity", r.n = c), u !== r.s && d(t, "cursor", r.s = u), h !== r.h && d(t, "aria-label", r.h = h), f !== r.r && d(t, "tabindex", r.r = f), r;
|
1926
1828
|
}, {
|
1927
1829
|
e: void 0,
|
@@ -1937,22 +1839,22 @@ const He = (e) => {
|
|
1937
1839
|
}
|
1938
1840
|
});
|
1939
1841
|
};
|
1940
|
-
|
1941
|
-
var
|
1942
|
-
const
|
1842
|
+
T(["click", "keydown"]);
|
1843
|
+
var Rn = /* @__PURE__ */ w('<div class=echo-drawing-layer-container role=application aria-label="Drawing Canvas"><svg width=100% height=100% class=echo-drawing-layer preserveAspectRatio=none role=img aria-label="Drawing Area"><path class=echo-drawing-layer-mask fill="rgba(33, 43, 55, 1)"fill-opacity=0.2 fill-rule=evenodd aria-hidden=true>');
|
1844
|
+
const Wn = () => {
|
1943
1845
|
const e = $();
|
1944
1846
|
let n;
|
1945
|
-
return
|
1847
|
+
return ye(() => {
|
1946
1848
|
n == null || n.addEventListener("mousemove", e.drawing.methods.handleMove), n == null || n.addEventListener("mouseup", e.drawing.methods.handleEnd), n == null || n.addEventListener("touchmove", e.drawing.methods.handleMove, {
|
1947
1849
|
passive: !1
|
1948
1850
|
}), n == null || n.addEventListener("touchend", e.drawing.methods.handleEnd);
|
1949
|
-
}),
|
1851
|
+
}), J(() => {
|
1950
1852
|
n == null || n.removeEventListener("mousemove", e.drawing.methods.handleMove), n == null || n.removeEventListener("mouseup", e.drawing.methods.handleEnd), n == null || n.removeEventListener("touchmove", e.drawing.methods.handleMove), n == null || n.removeEventListener("touchend", e.drawing.methods.handleEnd);
|
1951
1853
|
}), (() => {
|
1952
|
-
var t =
|
1953
|
-
return typeof o == "function" ?
|
1854
|
+
var t = Rn(), r = t.firstChild, a = r.firstChild, o = n;
|
1855
|
+
return typeof o == "function" ? N(o, t) : n = t, v(t, g(Sn, {}), r), v(t, g(Ln, {}), r), H(r, "touchend", e.drawing.methods.handleLeave, !0), H(r, "mouseleave", e.drawing.methods.handleLeave), H(r, "mouseenter", e.drawing.methods.handleEnter), r.$$touchmove = (i) => {
|
1954
1856
|
i.preventDefault(), e.drawing.methods.handleMove(i);
|
1955
|
-
},
|
1857
|
+
}, H(r, "mousemove", e.drawing.methods.handleMove, !0), r.$$touchstart = (i) => {
|
1956
1858
|
i.preventDefault(), e.drawing.methods.handleStart(i), e.drawing.methods.handleEnter(i), e.drawing.setState({
|
1957
1859
|
showTooltip: !1,
|
1958
1860
|
hasDrawn: !0
|
@@ -1962,11 +1864,11 @@ const ir = () => {
|
|
1962
1864
|
showTooltip: !1,
|
1963
1865
|
hasDrawn: !0
|
1964
1866
|
});
|
1965
|
-
}, v(r, g(
|
1867
|
+
}, v(r, g(V, {
|
1966
1868
|
get each() {
|
1967
1869
|
return e.drawing.state.shapes;
|
1968
1870
|
},
|
1969
|
-
children: (i) => g(
|
1871
|
+
children: (i) => g(Fe, {
|
1970
1872
|
get id() {
|
1971
1873
|
return i.id;
|
1972
1874
|
},
|
@@ -1986,7 +1888,7 @@ const ir = () => {
|
|
1986
1888
|
return e.drawing.methods.handleShapeClick;
|
1987
1889
|
}
|
1988
1890
|
})
|
1989
|
-
}), null), v(r, g(
|
1891
|
+
}), null), v(r, g(Fe, {
|
1990
1892
|
id: "temp",
|
1991
1893
|
get type() {
|
1992
1894
|
return e.drawing.state.selectedTool;
|
@@ -2001,7 +1903,7 @@ const ir = () => {
|
|
2001
1903
|
return e.drawing.state.selectedShapeId;
|
2002
1904
|
}
|
2003
1905
|
}), null), b((i) => {
|
2004
|
-
var l = e.drawing.state.cursor, s =
|
1906
|
+
var l = e.drawing.state.cursor, s = _t({
|
2005
1907
|
width: e.widget.state.dimensions.width,
|
2006
1908
|
height: e.widget.state.dimensions.height
|
2007
1909
|
}, e.drawing.state.currentPoints, e.drawing.state.shapes);
|
@@ -2012,8 +1914,8 @@ const ir = () => {
|
|
2012
1914
|
}), t;
|
2013
1915
|
})();
|
2014
1916
|
};
|
2015
|
-
|
2016
|
-
const
|
1917
|
+
T(["mousedown", "touchstart", "mousemove", "touchmove", "touchend"]);
|
1918
|
+
const ae = (e) => ({
|
2017
1919
|
handleTextChange: (o) => {
|
2018
1920
|
const i = o.target;
|
2019
1921
|
e(i.value);
|
@@ -2027,26 +1929,26 @@ const ge = (e) => ({
|
|
2027
1929
|
},
|
2028
1930
|
getCheckboxValue: (o) => Array.isArray(o) ? o : []
|
2029
1931
|
});
|
2030
|
-
var
|
2031
|
-
const
|
2032
|
-
var n =
|
1932
|
+
var Yn = /* @__PURE__ */ w("<div class=echo-input role=group>"), Un = /* @__PURE__ */ w("<label class=echo-input-label><span>"), Kn = /* @__PURE__ */ w('<span class=echo-input-required aria-label="Required field">*');
|
1933
|
+
const ie = (e) => (() => {
|
1934
|
+
var n = Yn();
|
2033
1935
|
return v(n, (() => {
|
2034
1936
|
var t = k(() => !!e.label);
|
2035
1937
|
return () => t() && (() => {
|
2036
|
-
var r =
|
1938
|
+
var r = Un(), a = r.firstChild;
|
2037
1939
|
return v(a, () => e.label), v(r, (() => {
|
2038
1940
|
var o = k(() => !!e.required);
|
2039
|
-
return () => o() &&
|
1941
|
+
return () => o() && Kn();
|
2040
1942
|
})(), null), r;
|
2041
1943
|
})();
|
2042
1944
|
})(), null), v(n, () => e.children, null), n;
|
2043
1945
|
})();
|
2044
|
-
var
|
2045
|
-
const
|
1946
|
+
var Gn = /* @__PURE__ */ w("<textarea class=echo-input-field rows=5>"), Xn = /* @__PURE__ */ w("<div class=visually-hidden>");
|
1947
|
+
const Je = (e) => {
|
2046
1948
|
const {
|
2047
1949
|
handleTextChange: n
|
2048
|
-
} =
|
2049
|
-
return g(
|
1950
|
+
} = ae(e.onChange);
|
1951
|
+
return g(ie, {
|
2050
1952
|
get label() {
|
2051
1953
|
return e.config.label;
|
2052
1954
|
},
|
@@ -2055,8 +1957,8 @@ const ct = (e) => {
|
|
2055
1957
|
},
|
2056
1958
|
get children() {
|
2057
1959
|
return [(() => {
|
2058
|
-
var t =
|
2059
|
-
return
|
1960
|
+
var t = Gn();
|
1961
|
+
return H(t, "input", n, !0), b((r) => {
|
2060
1962
|
var a = e.config.id, o = e.config.placeholder, i = e.config.required, l = e.config.label || e.config.placeholder, s = e.config.required, c = e.value === "", u = `${e.config.id}-description`;
|
2061
1963
|
return a !== r.e && d(t, "id", r.e = a), o !== r.t && d(t, "placeholder", r.t = o), i !== r.a && (t.required = r.a = i), l !== r.o && d(t, "aria-label", r.o = l), s !== r.i && d(t, "aria-required", r.i = s), c !== r.n && d(t, "aria-invalid", r.n = c), u !== r.s && d(t, "aria-describedby", r.s = u), r;
|
2062
1964
|
}, {
|
@@ -2069,20 +1971,20 @@ const ct = (e) => {
|
|
2069
1971
|
s: void 0
|
2070
1972
|
}), b(() => t.value = e.value === void 0 ? "" : e.value), t;
|
2071
1973
|
})(), (() => {
|
2072
|
-
var t =
|
1974
|
+
var t = Xn();
|
2073
1975
|
return v(t, () => e.config.placeholder), b(() => d(t, "id", `${e.config.id}-description`)), t;
|
2074
1976
|
})()];
|
2075
1977
|
}
|
2076
1978
|
});
|
2077
1979
|
};
|
2078
|
-
|
2079
|
-
var
|
2080
|
-
const
|
1980
|
+
T(["input"]);
|
1981
|
+
var Zn = /* @__PURE__ */ w("<fieldset class=echo-input-options role=group>"), Jn = /* @__PURE__ */ w("<label class=echo-input-option><input type=checkbox><span>");
|
1982
|
+
const Qn = (e) => {
|
2081
1983
|
const {
|
2082
1984
|
handleCheckboxChange: n,
|
2083
1985
|
getCheckboxValue: t
|
2084
|
-
} =
|
2085
|
-
return g(
|
1986
|
+
} = ae(e.onChange), r = () => t(e.value), a = () => r().length > 0;
|
1987
|
+
return g(ie, {
|
2086
1988
|
get label() {
|
2087
1989
|
return e.config.label;
|
2088
1990
|
},
|
@@ -2090,25 +1992,25 @@ const fr = (e) => {
|
|
2090
1992
|
return e.config.required;
|
2091
1993
|
},
|
2092
1994
|
get children() {
|
2093
|
-
var o =
|
2094
|
-
return v(o, g(
|
1995
|
+
var o = Zn();
|
1996
|
+
return v(o, g(V, {
|
2095
1997
|
get each() {
|
2096
1998
|
return e.config.options;
|
2097
1999
|
},
|
2098
2000
|
children: (i, l) => (() => {
|
2099
|
-
var s =
|
2001
|
+
var s = Jn(), c = s.firstChild, u = c.nextSibling;
|
2100
2002
|
return c.addEventListener("change", (h) => n(r(), i.value, h.currentTarget.checked)), v(u, () => i.label), b(() => c.required = e.config.required && !a() && l() === 0), b(() => c.value = i.value), b(() => c.checked = r().includes(i.value)), s;
|
2101
2003
|
})()
|
2102
2004
|
})), b(() => d(o, "aria-required", e.config.required)), o;
|
2103
2005
|
}
|
2104
2006
|
});
|
2105
2007
|
};
|
2106
|
-
var
|
2107
|
-
const
|
2008
|
+
var er = /* @__PURE__ */ w("<fieldset class=echo-input-options role=radiogroup>"), tr = /* @__PURE__ */ w("<label class=echo-input-option><input type=radio><span>");
|
2009
|
+
const nr = (e) => {
|
2108
2010
|
const {
|
2109
2011
|
handleSelectChange: n
|
2110
|
-
} =
|
2111
|
-
return g(
|
2012
|
+
} = ae(e.onChange);
|
2013
|
+
return g(ie, {
|
2112
2014
|
get label() {
|
2113
2015
|
return e.config.label;
|
2114
2016
|
},
|
@@ -2116,13 +2018,13 @@ const br = (e) => {
|
|
2116
2018
|
return e.config.required;
|
2117
2019
|
},
|
2118
2020
|
get children() {
|
2119
|
-
var t =
|
2120
|
-
return v(t, g(
|
2021
|
+
var t = er();
|
2022
|
+
return v(t, g(V, {
|
2121
2023
|
get each() {
|
2122
2024
|
return e.config.options;
|
2123
2025
|
},
|
2124
2026
|
children: (r) => (() => {
|
2125
|
-
var a =
|
2027
|
+
var a = tr(), o = a.firstChild, i = o.nextSibling;
|
2126
2028
|
return o.addEventListener("change", () => n(r.value)), v(i, () => r.label), b((l) => {
|
2127
2029
|
var s = e.config.id, c = e.config.required;
|
2128
2030
|
return s !== l.e && d(o, "name", l.e = s), c !== l.t && (o.required = l.t = c), l;
|
@@ -2135,11 +2037,11 @@ const br = (e) => {
|
|
2135
2037
|
}
|
2136
2038
|
});
|
2137
2039
|
};
|
2138
|
-
var
|
2139
|
-
const
|
2040
|
+
var rr = /* @__PURE__ */ w("<div class=echo-select-dropdown role=listbox>"), or = /* @__PURE__ */ w('<div class=echo-select><button type=button class=echo-select-trigger aria-haspopup=listbox><span></span><svg class=echo-select-arrow width=16 height=16 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><path d="m6 9 6 6 6-6"></path></svg></button><input type=text class=visually-hidden aria-hidden=true>'), ar = /* @__PURE__ */ w("<button type=button class=echo-select-option role=option>");
|
2041
|
+
const ir = (e) => {
|
2140
2042
|
const {
|
2141
2043
|
handleSelectChange: n
|
2142
|
-
} =
|
2044
|
+
} = ae(e.onChange), [t, r] = I(!1);
|
2143
2045
|
let a, o, i;
|
2144
2046
|
const l = () => e.config.options.find((h) => h.value === (e.value === void 0 ? "" : e.value)), s = (h, f) => {
|
2145
2047
|
f.stopPropagation(), h.value === e.value ? e.config.required || n("") : n(h.value), r(!1);
|
@@ -2152,7 +2054,7 @@ const xr = (e) => {
|
|
2152
2054
|
if (!t() || !a) return;
|
2153
2055
|
h.composedPath().includes(a) || r(!1);
|
2154
2056
|
}
|
2155
|
-
}), g(
|
2057
|
+
}), g(ie, {
|
2156
2058
|
get label() {
|
2157
2059
|
return e.config.label;
|
2158
2060
|
},
|
@@ -2160,29 +2062,29 @@ const xr = (e) => {
|
|
2160
2062
|
return e.config.required;
|
2161
2063
|
},
|
2162
2064
|
get children() {
|
2163
|
-
var h =
|
2164
|
-
typeof
|
2065
|
+
var h = or(), f = h.firstChild, m = f.firstChild, y = f.nextSibling, P = a;
|
2066
|
+
typeof P == "function" ? N(P, h) : a = h, f.$$click = (p) => {
|
2165
2067
|
p.stopPropagation(), c();
|
2166
2068
|
};
|
2167
2069
|
var S = o;
|
2168
|
-
typeof S == "function" ?
|
2070
|
+
typeof S == "function" ? N(S, f) : o = f, v(m, () => {
|
2169
2071
|
var p;
|
2170
2072
|
return ((p = l()) == null ? void 0 : p.label) || e.config.placeholder;
|
2171
|
-
}), v(h, g(
|
2073
|
+
}), v(h, g(M, {
|
2172
2074
|
get when() {
|
2173
2075
|
return t();
|
2174
2076
|
},
|
2175
2077
|
get children() {
|
2176
|
-
var p =
|
2177
|
-
return v(p, g(
|
2078
|
+
var p = rr();
|
2079
|
+
return v(p, g(V, {
|
2178
2080
|
get each() {
|
2179
2081
|
return e.config.options;
|
2180
2082
|
},
|
2181
|
-
children: (
|
2182
|
-
var z =
|
2183
|
-
return z.$$click = (x) => s(
|
2184
|
-
var _ =
|
2185
|
-
return _ !== x.e && d(z, "aria-selected", x.e = _),
|
2083
|
+
children: (E) => (() => {
|
2084
|
+
var z = ar();
|
2085
|
+
return z.$$click = (x) => s(E, x), v(z, () => E.label), b((x) => {
|
2086
|
+
var _ = E.value === e.value, L = E.value === e.value;
|
2087
|
+
return _ !== x.e && d(z, "aria-selected", x.e = _), L !== x.t && d(z, "data-selected", x.t = L), x;
|
2186
2088
|
}, {
|
2187
2089
|
e: void 0,
|
2188
2090
|
t: void 0
|
@@ -2192,9 +2094,9 @@ const xr = (e) => {
|
|
2192
2094
|
}
|
2193
2095
|
}), y);
|
2194
2096
|
var C = i;
|
2195
|
-
return typeof C == "function" ?
|
2196
|
-
var
|
2197
|
-
return
|
2097
|
+
return typeof C == "function" ? N(C, y) : i = y, b((p) => {
|
2098
|
+
var E = t(), z = !e.value, x = e.config.required, _ = t(), L = e.config.required, O = e.config.required;
|
2099
|
+
return E !== p.e && d(f, "data-open", p.e = E), z !== p.t && d(f, "data-placeholder", p.t = z), x !== p.a && d(f, "data-required", p.a = x), _ !== p.o && d(f, "aria-expanded", p.o = _), L !== p.i && d(f, "aria-required", p.i = L), O !== p.n && (y.required = p.n = O), p;
|
2198
2100
|
}, {
|
2199
2101
|
e: void 0,
|
2200
2102
|
t: void 0,
|
@@ -2206,13 +2108,13 @@ const xr = (e) => {
|
|
2206
2108
|
}
|
2207
2109
|
});
|
2208
2110
|
};
|
2209
|
-
|
2210
|
-
var
|
2211
|
-
const
|
2111
|
+
T(["click"]);
|
2112
|
+
var sr = /* @__PURE__ */ w("<input type=text class=echo-input-field>");
|
2113
|
+
const lr = (e) => {
|
2212
2114
|
const {
|
2213
2115
|
handleTextChange: n
|
2214
|
-
} =
|
2215
|
-
return g(
|
2116
|
+
} = ae(e.onChange);
|
2117
|
+
return g(ie, {
|
2216
2118
|
get label() {
|
2217
2119
|
return e.config.label;
|
2218
2120
|
},
|
@@ -2220,8 +2122,8 @@ const Sr = (e) => {
|
|
2220
2122
|
return e.config.required;
|
2221
2123
|
},
|
2222
2124
|
get children() {
|
2223
|
-
var t =
|
2224
|
-
return
|
2125
|
+
var t = sr();
|
2126
|
+
return H(t, "input", n, !0), b((r) => {
|
2225
2127
|
var a = e.config.placeholder, o = e.config.required, i = e.config.disabled;
|
2226
2128
|
return a !== r.e && d(t, "placeholder", r.e = a), o !== r.t && (t.required = r.t = o), i !== r.a && (t.disabled = r.a = i), r;
|
2227
2129
|
}, {
|
@@ -2232,31 +2134,31 @@ const Sr = (e) => {
|
|
2232
2134
|
}
|
2233
2135
|
});
|
2234
2136
|
};
|
2235
|
-
|
2236
|
-
var
|
2237
|
-
const
|
2137
|
+
T(["input"]);
|
2138
|
+
var cr = /* @__PURE__ */ w("<div class=echo-input-error>Invalid input type"), dr = /* @__PURE__ */ w("<div class=echo-input-error>Unsupported input type: ");
|
2139
|
+
const ur = (e) => g(M, {
|
2238
2140
|
get when() {
|
2239
2141
|
return e.config.type;
|
2240
2142
|
},
|
2241
2143
|
keyed: !0,
|
2242
2144
|
get fallback() {
|
2243
|
-
return
|
2145
|
+
return cr();
|
2244
2146
|
},
|
2245
2147
|
get children() {
|
2246
|
-
return g(
|
2148
|
+
return g(rt, {
|
2247
2149
|
get fallback() {
|
2248
2150
|
return (() => {
|
2249
|
-
var n =
|
2151
|
+
var n = dr();
|
2250
2152
|
return n.firstChild, v(n, () => e.config.type, null), n;
|
2251
2153
|
})();
|
2252
2154
|
},
|
2253
2155
|
get children() {
|
2254
|
-
return [g(
|
2156
|
+
return [g(X, {
|
2255
2157
|
get when() {
|
2256
2158
|
return e.config.type === "text";
|
2257
2159
|
},
|
2258
2160
|
get children() {
|
2259
|
-
return g(
|
2161
|
+
return g(lr, Q(e, {
|
2260
2162
|
get value() {
|
2261
2163
|
return e.value;
|
2262
2164
|
},
|
@@ -2265,12 +2167,12 @@ const Er = (e) => g(D, {
|
|
2265
2167
|
}
|
2266
2168
|
}));
|
2267
2169
|
}
|
2268
|
-
}), g(
|
2170
|
+
}), g(X, {
|
2269
2171
|
get when() {
|
2270
2172
|
return e.config.type === "textarea";
|
2271
2173
|
},
|
2272
2174
|
get children() {
|
2273
|
-
return g(
|
2175
|
+
return g(Je, {
|
2274
2176
|
get config() {
|
2275
2177
|
return e.config;
|
2276
2178
|
},
|
@@ -2282,12 +2184,12 @@ const Er = (e) => g(D, {
|
|
2282
2184
|
}
|
2283
2185
|
});
|
2284
2186
|
}
|
2285
|
-
}), g(
|
2187
|
+
}), g(X, {
|
2286
2188
|
get when() {
|
2287
2189
|
return e.config.type === "radio";
|
2288
2190
|
},
|
2289
2191
|
get children() {
|
2290
|
-
return g(
|
2192
|
+
return g(nr, {
|
2291
2193
|
get config() {
|
2292
2194
|
return e.config;
|
2293
2195
|
},
|
@@ -2299,12 +2201,12 @@ const Er = (e) => g(D, {
|
|
2299
2201
|
}
|
2300
2202
|
});
|
2301
2203
|
}
|
2302
|
-
}), g(
|
2204
|
+
}), g(X, {
|
2303
2205
|
get when() {
|
2304
2206
|
return e.config.type === "checkbox";
|
2305
2207
|
},
|
2306
2208
|
get children() {
|
2307
|
-
return g(
|
2209
|
+
return g(Qn, {
|
2308
2210
|
get config() {
|
2309
2211
|
return e.config;
|
2310
2212
|
},
|
@@ -2316,12 +2218,12 @@ const Er = (e) => g(D, {
|
|
2316
2218
|
}
|
2317
2219
|
});
|
2318
2220
|
}
|
2319
|
-
}), g(
|
2221
|
+
}), g(X, {
|
2320
2222
|
get when() {
|
2321
2223
|
return e.config.type === "select";
|
2322
2224
|
},
|
2323
2225
|
get children() {
|
2324
|
-
return g(
|
2226
|
+
return g(ir, {
|
2325
2227
|
get config() {
|
2326
2228
|
return e.config;
|
2327
2229
|
},
|
@@ -2337,7 +2239,7 @@ const Er = (e) => g(D, {
|
|
2337
2239
|
}
|
2338
2240
|
});
|
2339
2241
|
}
|
2340
|
-
}),
|
2242
|
+
}), hr = () => {
|
2341
2243
|
const e = navigator.connection;
|
2342
2244
|
return {
|
2343
2245
|
effectiveType: e == null ? void 0 : e.effectiveType,
|
@@ -2345,7 +2247,7 @@ const Er = (e) => g(D, {
|
|
2345
2247
|
rtt: e == null ? void 0 : e.rtt,
|
2346
2248
|
saveData: e == null ? void 0 : e.saveData
|
2347
2249
|
};
|
2348
|
-
},
|
2250
|
+
}, gr = () => ({
|
2349
2251
|
width: window.innerWidth,
|
2350
2252
|
height: window.innerHeight,
|
2351
2253
|
screenWidth: window.screen.width,
|
@@ -2360,7 +2262,7 @@ const Er = (e) => g(D, {
|
|
2360
2262
|
pixelRatio: window.devicePixelRatio,
|
2361
2263
|
availableWidth: window.screen.availWidth,
|
2362
2264
|
availableHeight: window.screen.availHeight
|
2363
|
-
}),
|
2265
|
+
}), fr = () => {
|
2364
2266
|
const e = new URL(window.location.href), n = {};
|
2365
2267
|
return e.searchParams.forEach((t, r) => {
|
2366
2268
|
n[r] = t;
|
@@ -2371,25 +2273,25 @@ const Er = (e) => g(D, {
|
|
2371
2273
|
searchParams: n,
|
2372
2274
|
referrer: document.referrer
|
2373
2275
|
};
|
2374
|
-
},
|
2276
|
+
}, mr = () => ({
|
2375
2277
|
timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
|
2376
2278
|
localDateTime: (/* @__PURE__ */ new Date()).toISOString()
|
2377
|
-
}),
|
2279
|
+
}), vr = () => ({
|
2378
2280
|
userAgent: navigator.userAgent,
|
2379
|
-
browserInfo:
|
2380
|
-
networkInfo:
|
2381
|
-
locationInfo:
|
2382
|
-
timeInfo:
|
2383
|
-
console:
|
2281
|
+
browserInfo: gr(),
|
2282
|
+
networkInfo: hr(),
|
2283
|
+
locationInfo: fr(),
|
2284
|
+
timeInfo: mr(),
|
2285
|
+
console: jt()
|
2384
2286
|
});
|
2385
|
-
var
|
2386
|
-
const
|
2287
|
+
var br = /* @__PURE__ */ w("<fieldset class=echo-input-options-wrapper><legend class=visually-hidden>Additional Information"), wr = /* @__PURE__ */ w('<section class=echo-feedback data-hide-when-drawing=true role=dialog aria-label="Feedback Form"><form class=echo-feedback-content aria-label="Submit Feedback"><header class=echo-feedback-header><h3 class=echo-feedback-title id=feedback-form-title></h3><div class=echo-feedback-header-actions role=toolbar aria-label="Form controls"></div></header><fieldset class=echo-input-options-wrapper><legend class=visually-hidden>Feedback Message</legend></fieldset><footer class=echo-feedback-footer>');
|
2288
|
+
const yr = () => {
|
2387
2289
|
const e = $(), n = async (a) => {
|
2388
2290
|
a.preventDefault();
|
2389
|
-
const o = await
|
2291
|
+
const o = await Vt(), i = {
|
2390
2292
|
message: e.feedback.state.message,
|
2391
2293
|
screenshot: o,
|
2392
|
-
metadata:
|
2294
|
+
metadata: vr(),
|
2393
2295
|
customInputs: e.feedback.state.customInputValues
|
2394
2296
|
};
|
2395
2297
|
e.methods.submit(i);
|
@@ -2402,16 +2304,16 @@ const Dr = () => {
|
|
2402
2304
|
isMinimized: !1
|
2403
2305
|
});
|
2404
2306
|
};
|
2405
|
-
return
|
2307
|
+
return R(() => {
|
2406
2308
|
e.widget.state.isOpen && requestAnimationFrame(() => {
|
2407
2309
|
var a;
|
2408
2310
|
(a = document.querySelector(".echo-input-field")) == null || a.focus();
|
2409
2311
|
});
|
2410
2312
|
}), (() => {
|
2411
|
-
var a =
|
2313
|
+
var a = wr(), o = a.firstChild, i = o.firstChild, l = i.firstChild, s = l.nextSibling, c = i.nextSibling;
|
2412
2314
|
c.firstChild;
|
2413
2315
|
var u = c.nextSibling;
|
2414
|
-
return a.$$click = () => e.feedback.state.isMinimized && r(), o.addEventListener("submit", n), v(l, () => e.widget.state.text.feedbackForm.title), v(s, g(
|
2316
|
+
return a.$$click = () => e.feedback.state.isMinimized && r(), o.addEventListener("submit", n), v(l, () => e.widget.state.text.feedbackForm.title), v(s, g(B, {
|
2415
2317
|
type: "button",
|
2416
2318
|
title: "Hide form",
|
2417
2319
|
variant: "secondary",
|
@@ -2419,11 +2321,11 @@ const Dr = () => {
|
|
2419
2321
|
onClick: t,
|
2420
2322
|
"aria-label": "Minimize feedback form",
|
2421
2323
|
get children() {
|
2422
|
-
return g(
|
2324
|
+
return g(on, {
|
2423
2325
|
size: 20
|
2424
2326
|
});
|
2425
2327
|
}
|
2426
|
-
}), null), v(s, g(
|
2328
|
+
}), null), v(s, g(B, {
|
2427
2329
|
type: "button",
|
2428
2330
|
title: "Close form",
|
2429
2331
|
variant: "secondary",
|
@@ -2433,11 +2335,11 @@ const Dr = () => {
|
|
2433
2335
|
}),
|
2434
2336
|
"aria-label": "Close feedback form",
|
2435
2337
|
get children() {
|
2436
|
-
return g(
|
2338
|
+
return g(he, {
|
2437
2339
|
size: 20
|
2438
2340
|
});
|
2439
2341
|
}
|
2440
|
-
}), null), v(c, g(
|
2342
|
+
}), null), v(c, g(Je, {
|
2441
2343
|
get config() {
|
2442
2344
|
return {
|
2443
2345
|
type: "textarea",
|
@@ -2453,18 +2355,18 @@ const Dr = () => {
|
|
2453
2355
|
onChange: (h) => e.feedback.setState({
|
2454
2356
|
message: h
|
2455
2357
|
})
|
2456
|
-
}), null), v(o, g(
|
2358
|
+
}), null), v(o, g(M, {
|
2457
2359
|
get when() {
|
2458
2360
|
var h;
|
2459
2361
|
return (h = e.widget.state.customInputs) == null ? void 0 : h.length;
|
2460
2362
|
},
|
2461
2363
|
get children() {
|
2462
|
-
var h =
|
2463
|
-
return h.firstChild, v(h, g(
|
2364
|
+
var h = br();
|
2365
|
+
return h.firstChild, v(h, g(V, {
|
2464
2366
|
get each() {
|
2465
2367
|
return e.widget.state.customInputs;
|
2466
2368
|
},
|
2467
|
-
children: (f) => g(
|
2369
|
+
children: (f) => g(ur, {
|
2468
2370
|
config: f,
|
2469
2371
|
get value() {
|
2470
2372
|
return e.feedback.state.customInputValues[f.id];
|
@@ -2478,7 +2380,7 @@ const Dr = () => {
|
|
2478
2380
|
})
|
2479
2381
|
}), null), h;
|
2480
2382
|
}
|
2481
|
-
}), u), v(u, g(
|
2383
|
+
}), u), v(u, g(B, {
|
2482
2384
|
type: "submit",
|
2483
2385
|
variant: "primary",
|
2484
2386
|
size: "lg",
|
@@ -2499,73 +2401,73 @@ const Dr = () => {
|
|
2499
2401
|
}), a;
|
2500
2402
|
})();
|
2501
2403
|
};
|
2502
|
-
|
2503
|
-
var
|
2504
|
-
const
|
2505
|
-
const [n, t] =
|
2506
|
-
return
|
2404
|
+
T(["click"]);
|
2405
|
+
var pr = /* @__PURE__ */ w("<style>"), xr = /* @__PURE__ */ w("<div class=echo-launcher>"), kr = /* @__PURE__ */ w("<dialog class=echo-overlay>"), Sr = /* @__PURE__ */ w("<div class=echo-root>");
|
2406
|
+
const Cr = (e) => {
|
2407
|
+
const [n, t] = I();
|
2408
|
+
return R(() => {
|
2507
2409
|
const r = n();
|
2508
|
-
r &&
|
2509
|
-
}), g(
|
2410
|
+
r && qt(r.shadowRoot);
|
2411
|
+
}), g(kt, {
|
2510
2412
|
ref: t,
|
2511
2413
|
useShadow: !0,
|
2512
2414
|
get mount() {
|
2513
2415
|
return document.body;
|
2514
2416
|
},
|
2515
2417
|
get children() {
|
2516
|
-
return g(
|
2418
|
+
return g(Kt, Q(e, {
|
2517
2419
|
get children() {
|
2518
|
-
return g(
|
2420
|
+
return g(zr, {
|
2519
2421
|
get children() {
|
2520
|
-
return [g(
|
2422
|
+
return [g($r, {
|
2521
2423
|
get primaryColor() {
|
2522
2424
|
return e.primaryColor;
|
2523
2425
|
}
|
2524
|
-
}), g(
|
2426
|
+
}), g(Pr, {})];
|
2525
2427
|
}
|
2526
2428
|
});
|
2527
2429
|
}
|
2528
2430
|
}));
|
2529
2431
|
}
|
2530
2432
|
});
|
2531
|
-
},
|
2532
|
-
const [n, t] =
|
2533
|
-
return
|
2433
|
+
}, $r = (e) => {
|
2434
|
+
const [n, t] = I("");
|
2435
|
+
return R(() => {
|
2534
2436
|
const r = `
|
2535
2437
|
.echo-root {
|
2536
2438
|
--primary-color: ${e.primaryColor};
|
2537
|
-
--primary-text-color: ${
|
2439
|
+
--primary-text-color: ${Dt(e.primaryColor)};
|
2538
2440
|
}
|
2539
2441
|
`;
|
2540
2442
|
t(r);
|
2541
2443
|
}), (() => {
|
2542
|
-
var r =
|
2543
|
-
return v(r,
|
2444
|
+
var r = pr();
|
2445
|
+
return v(r, Zt, null), v(r, n, null), r;
|
2544
2446
|
})();
|
2545
|
-
},
|
2447
|
+
}, Pr = () => {
|
2546
2448
|
const e = $();
|
2547
2449
|
return [(() => {
|
2548
|
-
var n =
|
2549
|
-
return v(n, g(
|
2550
|
-
})(), g(
|
2450
|
+
var n = xr();
|
2451
|
+
return v(n, g(Mn, {}), null), v(n, g(qn, {}), null), v(n, g(Fn, {}), null), b(() => d(n, "data-hidden", e.widget.state.isOpen)), n;
|
2452
|
+
})(), g(Er, {
|
2551
2453
|
get children() {
|
2552
|
-
return [g(
|
2454
|
+
return [g(yr, {}), g(xn, {}), g(Wn, {})];
|
2553
2455
|
}
|
2554
2456
|
})];
|
2555
|
-
},
|
2556
|
-
const [n, t] =
|
2557
|
-
return
|
2457
|
+
}, Er = (e) => {
|
2458
|
+
const [n, t] = I(), r = $(), a = Gt(() => n());
|
2459
|
+
return R(() => {
|
2558
2460
|
n() && r.widget.setState({
|
2559
2461
|
dimensions: a()
|
2560
2462
|
});
|
2561
|
-
}),
|
2463
|
+
}), R(() => {
|
2562
2464
|
var o, i;
|
2563
2465
|
r.widget.state.isOpen ? (o = n()) == null || o.showModal() : (i = n()) == null || i.close();
|
2564
2466
|
}), (() => {
|
2565
|
-
var o =
|
2467
|
+
var o = kr();
|
2566
2468
|
return o.addEventListener("close", () => r.widget.setState({
|
2567
2469
|
isOpen: !1
|
2568
|
-
})),
|
2470
|
+
})), N(t, o), v(o, () => e.children), b((i) => {
|
2569
2471
|
var l = `${a().height}px`, s = `${a().width}px`, c = !r.widget.state.isOpen;
|
2570
2472
|
return l !== i.e && ((i.e = l) != null ? o.style.setProperty("height", l) : o.style.removeProperty("height")), s !== i.t && ((i.t = s) != null ? o.style.setProperty("width", s) : o.style.removeProperty("width")), c !== i.a && d(o, "data-hidden", i.a = c), i;
|
2571
2473
|
}, {
|
@@ -2574,21 +2476,15 @@ const qr = (e) => {
|
|
2574
2476
|
a: void 0
|
2575
2477
|
}), o;
|
2576
2478
|
})();
|
2577
|
-
},
|
2479
|
+
}, zr = (e) => {
|
2578
2480
|
const n = $();
|
2579
|
-
return
|
2481
|
+
return Xt({
|
2580
2482
|
onUrlChange: (t) => n.methods.handlePageChange(t)
|
2581
|
-
}), ke(() => {
|
2582
|
-
Ht(), Zt((t) => {
|
2583
|
-
t.target instanceof Document || t.target instanceof Window || t.target instanceof Element && t.target.shadowRoot && ue(t.target.shadowRoot) || t.target instanceof Node && ue(t.target);
|
2584
|
-
});
|
2585
|
-
}), te(() => {
|
2586
|
-
Yt(), Qt();
|
2587
2483
|
}), (() => {
|
2588
|
-
var t =
|
2484
|
+
var t = Sr();
|
2589
2485
|
return v(t, () => e.children), b(() => d(t, "data-drawing", n.drawing.state.isDrawing)), t;
|
2590
2486
|
})();
|
2591
|
-
},
|
2487
|
+
}, Ir = {
|
2592
2488
|
welcomeMessage: {
|
2593
2489
|
text: "Click here to leave feedback",
|
2594
2490
|
closeAriaLabel: "Close welcome message"
|
@@ -2613,20 +2509,20 @@ const qr = (e) => {
|
|
2613
2509
|
text: "Click & drag to draw"
|
2614
2510
|
}
|
2615
2511
|
};
|
2616
|
-
let
|
2617
|
-
function
|
2618
|
-
|
2512
|
+
let le = null;
|
2513
|
+
function Ar(e) {
|
2514
|
+
le && (console.warn("Echo widget is already initialized. Cleaning up previous instance..."), le());
|
2619
2515
|
try {
|
2620
|
-
|
2516
|
+
Ht(e);
|
2621
2517
|
const {
|
2622
2518
|
position: n = "bottom-right",
|
2623
2519
|
primaryColor: t = "#6227dc",
|
2624
2520
|
onSubmit: r,
|
2625
2521
|
textConfig: a = {},
|
2626
2522
|
customInputs: o = []
|
2627
|
-
} = e, i =
|
2523
|
+
} = e, i = qe(Ir, a), l = document.createElement("div");
|
2628
2524
|
document.body.appendChild(l);
|
2629
|
-
const s =
|
2525
|
+
const s = gt(() => g(Cr, {
|
2630
2526
|
position: n,
|
2631
2527
|
primaryColor: t,
|
2632
2528
|
textConfig: i,
|
@@ -2635,15 +2531,15 @@ function Yr(e) {
|
|
2635
2531
|
}), l);
|
2636
2532
|
l.remove();
|
2637
2533
|
const c = () => {
|
2638
|
-
s(),
|
2534
|
+
s(), le = null;
|
2639
2535
|
};
|
2640
2536
|
return window.addEventListener("unload", c, {
|
2641
2537
|
once: !0
|
2642
|
-
}),
|
2538
|
+
}), le = c, c;
|
2643
2539
|
} catch (n) {
|
2644
2540
|
throw console.error("Echo initialization failed:", n), n;
|
2645
2541
|
}
|
2646
2542
|
}
|
2647
2543
|
export {
|
2648
|
-
|
2544
|
+
Ar as initEcho
|
2649
2545
|
};
|