@contember/echo 0.0.33-beta.5 → 0.0.33-beta.7
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 +548 -576
- package/dist/echo.umd.js +5 -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 j, createRoot as Be, createRenderEffect as b, untrack as Re, getOwner as Te, createEffect as U, runWithOwner as ot, createMemo as k, createSignal as I, onCleanup as ee, $PROXY as Y, $TRACK as Oe, getListener as xe, batch as at, onMount as ve, createContext as it, createComponent as g, useContext as st, For as _, Show as F, mergeProps as re, Switch as lt, Match as te } from "solid-js";
|
2
|
+
import ct from "html2canvas-pro";
|
3
|
+
const dt = [
|
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
|
+
], ut = /* @__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
|
+
...dt
|
38
|
+
]), ht = /* @__PURE__ */ new Set([
|
39
39
|
"innerHTML",
|
40
40
|
"textContent",
|
41
41
|
"innerText",
|
42
42
|
"children"
|
43
|
-
]),
|
43
|
+
]), gt = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(null), {
|
44
44
|
className: "class",
|
45
45
|
htmlFor: "for"
|
46
|
-
}),
|
46
|
+
}), ft = /* @__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 mt(e, n) {
|
72
|
+
const t = ft[e];
|
73
73
|
return typeof t == "object" ? t[n] ? t.$ : void 0 : t;
|
74
74
|
}
|
75
|
-
const
|
75
|
+
const vt = /* @__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 bt(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 Me = "_$DX_DELEGATE";
|
139
|
+
function wt(e, n, t, r = {}) {
|
140
140
|
let a;
|
141
|
-
return
|
141
|
+
return Be((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 ? () => Re(() => 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[Me] || (n[Me] = /* @__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, Ct));
|
160
160
|
}
|
161
161
|
}
|
162
162
|
function d(e, n, t) {
|
163
|
-
|
163
|
+
le(e) || (t == null ? e.removeAttribute(n) : e.setAttribute(n, t));
|
164
164
|
}
|
165
|
-
function
|
166
|
-
|
165
|
+
function yt(e, n, t) {
|
166
|
+
le(e) || (t ? e.setAttribute(n, "") : e.removeAttribute(n));
|
167
167
|
}
|
168
|
-
function
|
169
|
-
|
168
|
+
function _e(e, n) {
|
169
|
+
le(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 pt(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] || (Ae(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 || (Ae(e, l, !0), t[l] = s);
|
189
189
|
}
|
190
190
|
return t;
|
191
191
|
}
|
192
|
-
function
|
192
|
+
function O(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 xt(e, n = {}, t, r) {
|
205
205
|
const a = {};
|
206
206
|
return b(
|
207
|
-
() => a.children =
|
208
|
-
), b(() => typeof n.ref == "function" &&
|
207
|
+
() => a.children = oe(e, n.children, a.children)
|
208
|
+
), b(() => typeof n.ref == "function" && V(n.ref, e)), b(() => kt(e, n, t, !0, a, !0)), a;
|
209
209
|
}
|
210
|
-
function
|
211
|
-
return
|
210
|
+
function V(e, n, t) {
|
211
|
+
return Re(() => 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 oe(e, n, r, t);
|
215
|
+
b((a) => oe(e, n(), a, t), r);
|
216
216
|
}
|
217
|
-
function
|
217
|
+
function kt(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] = De(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] = De(e, i, l, a[i], t, o, n);
|
229
229
|
}
|
230
230
|
}
|
231
|
-
function
|
232
|
-
return !!
|
231
|
+
function le(e) {
|
232
|
+
return !!j.context && !j.done && (!e || e.isConnected);
|
233
233
|
}
|
234
|
-
function
|
234
|
+
function St(e) {
|
235
235
|
return e.toLowerCase().replace(/-([a-z])/g, (n, t) => t.toUpperCase());
|
236
236
|
}
|
237
|
-
function
|
237
|
+
function Ae(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 De(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 O(e, t, r);
|
245
|
+
if (n === "classList") return pt(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 = vt.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
|
+
yt(e, n.slice(5), t);
|
266
|
+
else if ((h = n.slice(0, 5) === "prop:") || (c = ht.has(n)) || (u = mt(n, e.tagName)) || (s = ut.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 (le(e)) return t;
|
270
|
+
n === "class" || n === "className" ? _e(e, t) : l && !s && !c ? e[St(n)] = t : e[u || n] = t;
|
271
271
|
} else
|
272
|
-
d(e,
|
272
|
+
d(e, gt[n] || n, t);
|
273
273
|
return t;
|
274
274
|
}
|
275
|
-
function
|
276
|
-
if (
|
275
|
+
function Ct(e) {
|
276
|
+
if (j.registry && j.events && j.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
|
+
}), j.registry && !j.done && (j.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 oe(e, n, t, r, a) {
|
312
|
+
const o = le(e);
|
313
313
|
if (o) {
|
314
314
|
!t && (t = [...e.childNodes]);
|
315
315
|
let s = [];
|
@@ -338,12 +338,12 @@ function se(e, n, t, r, a) {
|
|
338
338
|
return b(() => {
|
339
339
|
let s = n();
|
340
340
|
for (; typeof s == "function"; ) s = s();
|
341
|
-
t =
|
341
|
+
t = oe(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 (ke(s, n, t, a))
|
346
|
+
return b(() => t = oe(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];
|
@@ -355,7 +355,7 @@ function se(e, n, t, r, a) {
|
|
355
355
|
}
|
356
356
|
if (s.length === 0) {
|
357
357
|
if (t = X(e, t, r), l) return t;
|
358
|
-
} else c ? t.length === 0 ?
|
358
|
+
} else c ? t.length === 0 ? Fe(e, s, r) : bt(e, t, s) : (t && X(e), Fe(e, s));
|
359
359
|
t = s;
|
360
360
|
} else if (n.nodeType) {
|
361
361
|
if (o && n.parentNode) return t = l ? [n] : n;
|
@@ -368,18 +368,18 @@ function se(e, n, t, r, a) {
|
|
368
368
|
}
|
369
369
|
return t;
|
370
370
|
}
|
371
|
-
function
|
371
|
+
function ke(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 = ke(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 = ke(
|
383
383
|
e,
|
384
384
|
Array.isArray(l) ? l : [l],
|
385
385
|
Array.isArray(s) ? s : [s]
|
@@ -393,7 +393,7 @@ function ze(e, n, t, r) {
|
|
393
393
|
}
|
394
394
|
return a;
|
395
395
|
}
|
396
|
-
function
|
396
|
+
function Fe(e, n, t = null) {
|
397
397
|
for (let r = 0, a = n.length; r < a; r++) e.insertBefore(n[r], t);
|
398
398
|
}
|
399
399
|
function X(e, n, t, r) {
|
@@ -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 $t = "http://www.w3.org/2000/svg";
|
415
|
+
function Pt(e, n = !1) {
|
416
|
+
return n ? document.createElementNS($t, 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 Et(e) {
|
419
|
+
const { useShadow: n } = e, t = document.createTextNode(""), r = () => e.mount || document.body, a = Te();
|
420
|
+
let o, i = !!j.context;
|
421
|
+
return U(
|
422
422
|
() => {
|
423
|
-
i && (
|
423
|
+
i && (Te().user = i = !1), o || (o = ot(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
|
+
Be((h) => v(l, () => s() ? h() : o(), null)), ee(u);
|
428
428
|
} else {
|
429
|
-
const s =
|
429
|
+
const s = Pt(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), ee(() => 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 zt = 5e3, It = (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
|
+
}, zt);
|
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
|
+
}, We = (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] = We(e[r], n[r]) : t[r] = n[r];
|
482
482
|
return t;
|
483
|
-
},
|
483
|
+
}, Tt = (e, n) => {
|
484
484
|
let t;
|
485
485
|
return (...r) => {
|
486
486
|
clearTimeout(t), t = window.setTimeout(() => e(...r), n);
|
487
487
|
};
|
488
|
-
},
|
488
|
+
}, Ot = "echo_", K = "echo-pages", He = (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
|
+
}, Ue = () => {
|
493
493
|
window.dispatchEvent(new Event("echo-storage-change"));
|
494
|
-
},
|
494
|
+
}, Ye = (e) => `${Ot}${e}`, G = (e, n) => {
|
495
495
|
try {
|
496
|
-
const t = localStorage.getItem(
|
496
|
+
const t = localStorage.getItem(Ye(e));
|
497
497
|
return t ? JSON.parse(t) : n;
|
498
498
|
} catch {
|
499
499
|
return n;
|
500
500
|
}
|
501
|
-
},
|
501
|
+
}, ae = (e, n) => {
|
502
502
|
try {
|
503
|
-
localStorage.setItem(
|
503
|
+
localStorage.setItem(Ye(e), JSON.stringify(n));
|
504
504
|
} catch (t) {
|
505
505
|
console.warn("Failed to save to localStorage:", t);
|
506
506
|
}
|
507
|
-
},
|
507
|
+
}, Se = () => {
|
508
508
|
const e = window.location.pathname || "/", n = window.location.search;
|
509
509
|
return `${e}${n}`;
|
510
|
-
},
|
510
|
+
}, Mt = (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 = G(K, {}), a =
|
516
|
+
}, r = G(K, {}), a = He(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
|
+
}), ae(K, r), Ue();
|
524
524
|
} catch (t) {
|
525
525
|
console.warn("Failed to save page state:", t);
|
526
526
|
}
|
527
|
-
},
|
527
|
+
}, $e = (e) => {
|
528
528
|
try {
|
529
529
|
return G(K, {})[e];
|
530
530
|
} catch (n) {
|
531
531
|
console.error("Failed to load page state:", n);
|
532
532
|
return;
|
533
533
|
}
|
534
|
-
},
|
534
|
+
}, Ke = (e) => {
|
535
535
|
try {
|
536
536
|
const n = G(K, {});
|
537
|
-
delete n[e],
|
537
|
+
delete n[e], ae(K, n), Ue();
|
538
538
|
} catch (n) {
|
539
539
|
console.error("Failed to clear page state:", n);
|
540
540
|
}
|
541
|
-
},
|
541
|
+
}, Ge = () => {
|
542
542
|
try {
|
543
543
|
const e = G(K, {});
|
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
|
+
}, we = () => {
|
549
549
|
try {
|
550
550
|
const e = G(K, {});
|
551
551
|
return Object.entries(e).map(([n, t]) => ({
|
552
|
-
path:
|
552
|
+
path: He(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
|
558
|
+
}, At = (e) => Tt((n, t, r = !1) => {
|
559
|
+
(!r || t.feedback.message.trim().length > 0 || t.drawing.shapes.length > 0) && (Mt(n, t), e.setState({ pagesCount: Ge() }));
|
560
|
+
}, 1e3), Ce = Symbol("store-raw"), J = Symbol("store-node"), L = Symbol("store-has"), Xe = Symbol("store-self");
|
561
|
+
function Je(e) {
|
562
562
|
let n = e[Y];
|
563
563
|
if (!n && (Object.defineProperty(e, Y, {
|
564
|
-
value: n = new Proxy(e,
|
564
|
+
value: n = new Proxy(e, jt)
|
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 ge(e) {
|
578
578
|
let n;
|
579
579
|
return e != null && typeof e == "object" && (e[Y] || !(n = Object.getPrototypeOf(e)) || n === Object.prototype || Array.isArray(e));
|
580
580
|
}
|
581
|
-
function
|
581
|
+
function ie(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[Ce]) return t;
|
584
|
+
if (!ge(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 = ie(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 = ie(a, n)) !== a && (e[o] = r));
|
594
594
|
}
|
595
595
|
return e;
|
596
596
|
}
|
597
|
-
function
|
597
|
+
function fe(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 se(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 Dt(e, n) {
|
612
612
|
const t = Reflect.getOwnPropertyDescriptor(e, n);
|
613
|
-
return !t || t.get || !t.configurable || n === Y || n ===
|
613
|
+
return !t || t.get || !t.configurable || n === Y || n === J || (delete t.value, delete t.writable, t.get = () => e[Y][n]), t;
|
614
614
|
}
|
615
|
-
function
|
616
|
-
|
615
|
+
function Ze(e) {
|
616
|
+
xe() && se(fe(e, J), Xe)();
|
617
617
|
}
|
618
|
-
function
|
619
|
-
return
|
618
|
+
function Ft(e) {
|
619
|
+
return Ze(e), Reflect.ownKeys(e);
|
620
620
|
}
|
621
|
-
const
|
621
|
+
const jt = {
|
622
622
|
get(e, n, t) {
|
623
|
-
if (n ===
|
623
|
+
if (n === Ce) return e;
|
624
624
|
if (n === Y) return t;
|
625
|
-
if (n ===
|
626
|
-
return
|
627
|
-
const r =
|
625
|
+
if (n === Oe)
|
626
|
+
return Ze(e), t;
|
627
|
+
const r = fe(e, J), a = r[n];
|
628
628
|
let o = a ? a() : e[n];
|
629
|
-
if (n ===
|
629
|
+
if (n === J || n === L || n === "__proto__") return o;
|
630
630
|
if (!a) {
|
631
631
|
const i = Object.getOwnPropertyDescriptor(e, n);
|
632
|
-
|
632
|
+
xe() && (typeof o != "function" || e.hasOwnProperty(n)) && !(i && i.get) && (o = se(r, n, o)());
|
633
633
|
}
|
634
|
-
return
|
634
|
+
return ge(o) ? Je(o) : o;
|
635
635
|
},
|
636
636
|
has(e, n) {
|
637
|
-
return n ===
|
637
|
+
return n === Ce || n === Y || n === Oe || n === J || n === L || n === "__proto__" ? !0 : (xe() && se(fe(e, L), 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: Ft,
|
646
|
+
getOwnPropertyDescriptor: Dt
|
647
647
|
};
|
648
|
-
function
|
648
|
+
function me(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[L] && e[L][n] && a !== void 0 && e[L][n].$()) : (e[n] = t, e[L] && e[L][n] && a === void 0 && e[L][n].$());
|
652
|
+
let i = fe(e, J), l;
|
653
|
+
if ((l = se(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 = se(i, "length", o)) && l.$(e.length);
|
656
656
|
}
|
657
|
-
(l = i[
|
657
|
+
(l = i[Xe]) && l.$();
|
658
658
|
}
|
659
|
-
function
|
659
|
+
function Qe(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
|
+
me(e, a, n[a]);
|
664
664
|
}
|
665
665
|
}
|
666
|
-
function
|
667
|
-
if (typeof n == "function" && (n = n(e)), n =
|
666
|
+
function Lt(e, n) {
|
667
|
+
if (typeof n == "function" && (n = n(e)), n = ie(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 && me(e, t, a);
|
673
673
|
}
|
674
|
-
|
675
|
-
} else
|
674
|
+
me(e, "length", r);
|
675
|
+
} else Qe(e, n);
|
676
676
|
}
|
677
|
-
function
|
677
|
+
function ne(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
|
+
ne(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) && ne(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
|
+
ne(e, [h].concat(n), t);
|
694
694
|
return;
|
695
695
|
} else if (n.length > 1) {
|
696
|
-
|
696
|
+
ne(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 = ie(o), r === void 0 || ge(a) && ge(o) && !Array.isArray(o) ? Qe(a, o) : me(e, r, o));
|
703
703
|
}
|
704
|
-
function
|
705
|
-
const t =
|
704
|
+
function Pe(...[e, n]) {
|
705
|
+
const t = ie(e || {}), r = Array.isArray(t), a = Je(t);
|
706
706
|
function o(...i) {
|
707
|
-
|
708
|
-
r && i.length === 1 ?
|
707
|
+
at(() => {
|
708
|
+
r && i.length === 1 ? Lt(t, i[0]) : ne(t, i);
|
709
709
|
});
|
710
710
|
}
|
711
711
|
return [a, o];
|
712
712
|
}
|
713
|
-
const
|
713
|
+
const B = {
|
714
714
|
rectangle: {
|
715
715
|
id: "rectangle",
|
716
716
|
label: "Highlight",
|
@@ -731,12 +731,12 @@ const V = {
|
|
731
731
|
default: 1
|
732
732
|
}
|
733
733
|
}
|
734
|
-
},
|
734
|
+
}, Nt = (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
|
737
|
+
}, qt = (e) => Nt(e) < 0.5 ? "#FFFFFF" : "#000000";
|
738
|
+
let N = [], A = null, Z = null, Q = null;
|
739
|
+
const ye = (e, n) => (...t) => {
|
740
740
|
const r = (o) => {
|
741
741
|
if (typeof o == "string") return o;
|
742
742
|
if (o instanceof Error) return o.stack || o.message;
|
@@ -754,56 +754,56 @@ const $e = (e, n) => (...t) => {
|
|
754
754
|
return "[Unable to stringify value]";
|
755
755
|
}
|
756
756
|
}, a = t.map(r).join(" ");
|
757
|
-
|
757
|
+
N.push({
|
758
758
|
type: e,
|
759
759
|
message: a,
|
760
760
|
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
761
|
-
}),
|
762
|
-
},
|
763
|
-
|
761
|
+
}), N.length > 1e3 && (N = N.slice(-1e3)), n.apply(console, t);
|
762
|
+
}, Vt = () => {
|
763
|
+
A || (A = {
|
764
764
|
log: console.log,
|
765
765
|
warn: console.warn,
|
766
766
|
error: console.error
|
767
|
-
},
|
767
|
+
}, Z = window.onerror, Q = window.onunhandledrejection, window.onerror = (e, n, t, r, a) => {
|
768
768
|
const o = (a == null ? void 0 : a.stack) || (a == null ? void 0 : a.message) || e;
|
769
|
-
return
|
769
|
+
return N.push({
|
770
770
|
type: "error",
|
771
771
|
message: `Uncaught Error: ${o}
|
772
772
|
Location: ${n}:${t}:${r}`,
|
773
773
|
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
774
|
-
}),
|
774
|
+
}), Z ? Z(e, n, t, r, a) : !1;
|
775
775
|
}, window.onunhandledrejection = (e) => {
|
776
776
|
const n = e.reason;
|
777
|
-
|
777
|
+
N.push({
|
778
778
|
type: "error",
|
779
779
|
message: `Unhandled Promise Rejection: ${(n == null ? void 0 : n.stack) || (n == null ? void 0 : n.message) || n}`,
|
780
780
|
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
781
|
-
}),
|
782
|
-
}, console.log =
|
781
|
+
}), Q && Q(e);
|
782
|
+
}, console.log = ye("log", A.log), console.warn = ye("warn", A.warn), console.error = ye("error", A.error), window.addEventListener("error", (e) => {
|
783
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
|
-
|
784
|
+
N.push({
|
785
785
|
type: "error",
|
786
786
|
message: `Uncaught Error: ${i}
|
787
787
|
Location: ${t}:${r}:${a}`,
|
788
788
|
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
789
789
|
});
|
790
790
|
}));
|
791
|
-
},
|
792
|
-
|
793
|
-
}),
|
794
|
-
},
|
791
|
+
}, Bt = () => {
|
792
|
+
A && (console.log = A.log, console.warn = A.warn, console.error = A.error, A = null), Z && (window.onerror = Z, Z = null), Q && (window.onunhandledrejection = Q, Q = null), window.removeEventListener("error", () => {
|
793
|
+
}), N = [];
|
794
|
+
}, Rt = () => [...N], _t = () => {
|
795
795
|
var e;
|
796
796
|
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
|
-
},
|
797
|
+
}, ue = (e, { useClientCoords: n = !1 } = {}) => {
|
798
798
|
const r = typeof TouchEvent < "u" && e instanceof TouchEvent ? e.touches[0] : null;
|
799
799
|
return {
|
800
800
|
x: r ? n ? r.clientX : r.pageX : n ? e.clientX : e.pageX,
|
801
801
|
y: r ? n ? r.clientY : r.pageY : n ? e.clientY : e.pageY
|
802
802
|
};
|
803
|
-
},
|
803
|
+
}, je = (e, n) => {
|
804
804
|
const t = n.x - e.x, r = n.y - e.y;
|
805
805
|
return Math.sqrt(t * t + r * r);
|
806
|
-
},
|
806
|
+
}, et = (e) => {
|
807
807
|
if (e.length !== 2) return null;
|
808
808
|
const [n, t] = e;
|
809
809
|
return {
|
@@ -812,82 +812,39 @@ Location: ${t}:${r}:${a}`,
|
|
812
812
|
width: Math.abs(t.x - n.x),
|
813
813
|
height: Math.abs(t.y - n.y)
|
814
814
|
};
|
815
|
-
},
|
816
|
-
|
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);
|
857
|
-
}, A = (e) => {
|
815
|
+
}, Wt = (e) => e.length < 2 ? null : `M ${e[0].x} ${e[0].y} ${e.slice(1).map((n) => `L ${n.x} ${n.y}`).join(" ")}`, Ht = (e) => {
|
816
|
+
}, D = (e) => {
|
858
817
|
const { event: n, callback: t, onMount: r, onCleanup: a } = e;
|
859
|
-
|
818
|
+
ve(() => {
|
860
819
|
r == null || r(), window.addEventListener(n, t);
|
861
|
-
}),
|
820
|
+
}), ee(() => {
|
862
821
|
a == null || a(), window.removeEventListener(n, t);
|
863
822
|
});
|
864
|
-
},
|
823
|
+
}, Ee = (e) => {
|
865
824
|
const { target: n, options: t, callback: r, onMount: a, onCleanup: o } = e, i = new MutationObserver(r);
|
866
|
-
|
825
|
+
ve(() => {
|
867
826
|
a == null || a(), i.observe(n, t);
|
868
|
-
}),
|
827
|
+
}), ee(() => {
|
869
828
|
o == null || o(), i.disconnect();
|
870
829
|
});
|
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 () => {
|
830
|
+
}, Ut = (e) => e.hasAttribute("data-hide-when-drawing"), Yt = async () => {
|
874
831
|
var e;
|
875
832
|
try {
|
876
833
|
const n = document.createElement("style");
|
877
834
|
document.head.appendChild(n), (e = n.sheet) == null || e.insertRule("body > div:last-child img { display: inline-block; }");
|
878
|
-
const t = await
|
835
|
+
const t = await ct(document.body, {
|
879
836
|
logging: !1,
|
880
837
|
useCORS: !0,
|
881
838
|
scale: window.devicePixelRatio,
|
882
839
|
allowTaint: !0,
|
883
|
-
ignoreElements: (r) =>
|
840
|
+
ignoreElements: (r) => Ut(r)
|
884
841
|
});
|
885
842
|
return n.remove(), t.toDataURL("image/png");
|
886
843
|
} catch (n) {
|
887
844
|
console.error("Failed to capture screenshot:", n);
|
888
845
|
return;
|
889
846
|
}
|
890
|
-
},
|
847
|
+
}, Kt = (e, n, t) => {
|
891
848
|
let r = `M0 0 H${e.width} V${e.height} H0 Z`;
|
892
849
|
if (n.length === 2) {
|
893
850
|
const [a, o] = n;
|
@@ -899,16 +856,16 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
899
856
|
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
857
|
}
|
901
858
|
return r;
|
902
|
-
},
|
859
|
+
}, Gt = (e) => {
|
903
860
|
if (typeof e != "object" || e === null)
|
904
861
|
throw new Error("Echo initialization failed: options must be an object");
|
905
862
|
if (typeof e.onSubmit != "function")
|
906
863
|
throw new Error("Echo initialization failed: onSubmit must be a function");
|
907
864
|
if (e.primaryColor && !/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(e.primaryColor))
|
908
865
|
throw new Error("Echo initialization failed: primaryColor must be a valid hex color");
|
909
|
-
},
|
866
|
+
}, Le = 5, Ne = (e, n) => B[e].getCursor(n), Xt = (e, n, t) => {
|
910
867
|
var l, s;
|
911
|
-
const [r, a] =
|
868
|
+
const [r, a] = Pe({
|
912
869
|
isDrawing: !1,
|
913
870
|
currentPoints: [],
|
914
871
|
selectedShapeId: null,
|
@@ -916,17 +873,17 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
916
873
|
showTooltip: !0,
|
917
874
|
mousePosition: { x: 0, y: 0 },
|
918
875
|
selectedColor: e.primaryColor,
|
919
|
-
shapes: ((s = (l =
|
876
|
+
shapes: ((s = (l = $e(n)) == null ? void 0 : l.drawing) == null ? void 0 : s.shapes) || [],
|
920
877
|
hasDrawn: !1,
|
921
878
|
isDragging: !1,
|
922
879
|
dragStartPos: null,
|
923
880
|
initialClickPos: null,
|
924
881
|
dragOffset: null,
|
925
|
-
cursor:
|
882
|
+
cursor: Ne("rectangle", e.primaryColor)
|
926
883
|
}), o = (c, u = !1) => {
|
927
884
|
if (c.selectedTool || c.selectedColor) {
|
928
885
|
const h = c.selectedTool || r.selectedTool, f = c.selectedColor || r.selectedColor;
|
929
|
-
c.cursor =
|
886
|
+
c.cursor = Ne(h, f);
|
930
887
|
}
|
931
888
|
a(c), t == null || t(c, u);
|
932
889
|
}, i = {
|
@@ -962,7 +919,7 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
962
919
|
if (!h.classList.contains("echo-drawing-layer-mask") && !h.classList.contains("echo-shape"))
|
963
920
|
return;
|
964
921
|
}
|
965
|
-
const u =
|
922
|
+
const u = ue(c);
|
966
923
|
if (c.target instanceof SVGElement && c.target.classList.contains("echo-shape")) {
|
967
924
|
const h = c.target.dataset.shapeId;
|
968
925
|
if (h && r.selectedShapeId === h) {
|
@@ -976,20 +933,20 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
976
933
|
i.setInitialClick(u);
|
977
934
|
},
|
978
935
|
handleMove: (c) => {
|
979
|
-
const u =
|
936
|
+
const u = ue(c, { useClientCoords: !0 }), h = ue(c);
|
980
937
|
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,
|
938
|
+
const m = h.x - r.dragStartPos.x, y = h.y - r.dragStartPos.y, P = r.shapes.map((S) => S.id === r.selectedShapeId ? {
|
982
939
|
...S,
|
983
940
|
points: S.points.map((C) => ({
|
984
941
|
x: C.x + m,
|
985
942
|
y: C.y + y
|
986
943
|
}))
|
987
944
|
} : S);
|
988
|
-
o({ shapes:
|
945
|
+
o({ shapes: P }), i.startDrag(h);
|
989
946
|
return;
|
990
947
|
}
|
991
948
|
if (r.initialClickPos && !r.isDrawing) {
|
992
|
-
|
949
|
+
je(r.initialClickPos, h) >= Le && i.startDrawing(r.initialClickPos);
|
993
950
|
return;
|
994
951
|
}
|
995
952
|
r.isDrawing && i.updateDrawing(h);
|
@@ -1000,8 +957,8 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1000
957
|
return;
|
1001
958
|
}
|
1002
959
|
if (r.initialClickPos && !r.isDrawing) {
|
1003
|
-
const u =
|
1004
|
-
if (
|
960
|
+
const u = ue(c);
|
961
|
+
if (je(r.initialClickPos, u) < Le && c.target instanceof SVGElement && c.target.classList.contains("echo-shape")) {
|
1005
962
|
const f = c.target.dataset.shapeId;
|
1006
963
|
f && o({ selectedShapeId: f });
|
1007
964
|
}
|
@@ -1046,15 +1003,15 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1046
1003
|
setState: o,
|
1047
1004
|
methods: i
|
1048
1005
|
};
|
1049
|
-
},
|
1006
|
+
}, Jt = (e, n, t, r) => {
|
1050
1007
|
var h;
|
1051
1008
|
const a = (r == null ? void 0 : r.reduce(
|
1052
1009
|
(f, m) => (f[m.id] = m.defaultValue ?? (m.type === "checkbox" ? [] : ""), f),
|
1053
1010
|
{}
|
1054
|
-
)) || {}, o =
|
1011
|
+
)) || {}, o = $e(n), i = (o == null ? void 0 : o.feedback.customInputValues) || {}, l = {
|
1055
1012
|
...a,
|
1056
1013
|
...i
|
1057
|
-
}, [s, c] =
|
1014
|
+
}, [s, c] = Pe({
|
1058
1015
|
message: ((h = o == null ? void 0 : o.feedback) == null ? void 0 : h.message) || "",
|
1059
1016
|
screenshot: void 0,
|
1060
1017
|
isCapturing: !1,
|
@@ -1069,8 +1026,8 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1069
1026
|
!y && !s.hasUserInteracted && c({ hasUserInteracted: !0 }), c(f), (s.hasUserInteracted || y) && (t == null || t(f, m));
|
1070
1027
|
}
|
1071
1028
|
};
|
1072
|
-
},
|
1073
|
-
const [t, r] =
|
1029
|
+
}, Zt = (e, n) => {
|
1030
|
+
const [t, r] = Pe({
|
1074
1031
|
text: e.textConfig,
|
1075
1032
|
isOpen: !1,
|
1076
1033
|
primaryColor: e.primaryColor,
|
@@ -1084,7 +1041,7 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1084
1041
|
height: document.documentElement.scrollHeight
|
1085
1042
|
},
|
1086
1043
|
isStoredFeedbackOpen: !1,
|
1087
|
-
pagesCount:
|
1044
|
+
pagesCount: Ge(),
|
1088
1045
|
welcomeMessageIsClosing: !1,
|
1089
1046
|
position: e.position,
|
1090
1047
|
customInputs: e.customInputs,
|
@@ -1094,15 +1051,15 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1094
1051
|
state: t,
|
1095
1052
|
setState: r
|
1096
1053
|
};
|
1097
|
-
},
|
1054
|
+
}, qe = (e) => {
|
1098
1055
|
var n;
|
1099
1056
|
return ((n = e.customInputs) == null ? void 0 : n.reduce(
|
1100
1057
|
(t, r) => (t[r.id] = r.defaultValue ?? (r.type === "checkbox" ? [] : ""), t),
|
1101
1058
|
{}
|
1102
1059
|
)) || {};
|
1103
|
-
},
|
1104
|
-
let n =
|
1105
|
-
const t =
|
1060
|
+
}, Qt = (e) => {
|
1061
|
+
let n = Se();
|
1062
|
+
const t = Zt(e), r = At(t), a = It(t), o = Jt(
|
1106
1063
|
e,
|
1107
1064
|
n,
|
1108
1065
|
(c, u) => {
|
@@ -1116,7 +1073,7 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1116
1073
|
);
|
1117
1074
|
},
|
1118
1075
|
e.customInputs
|
1119
|
-
), i =
|
1076
|
+
), i = Xt(e, n, (c, u) => {
|
1120
1077
|
r(
|
1121
1078
|
n,
|
1122
1079
|
{
|
@@ -1127,8 +1084,8 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1127
1084
|
);
|
1128
1085
|
}), l = (c) => {
|
1129
1086
|
n = c;
|
1130
|
-
const u =
|
1131
|
-
...
|
1087
|
+
const u = $e(n), h = {
|
1088
|
+
...qe(e),
|
1132
1089
|
...u == null ? void 0 : u.feedback.customInputValues
|
1133
1090
|
};
|
1134
1091
|
o.setState({
|
@@ -1139,7 +1096,7 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1139
1096
|
shapes: (u == null ? void 0 : u.drawing.shapes) || []
|
1140
1097
|
});
|
1141
1098
|
}, s = () => {
|
1142
|
-
|
1099
|
+
Ke(n);
|
1143
1100
|
const c = {
|
1144
1101
|
feedback: {
|
1145
1102
|
message: "",
|
@@ -1147,7 +1104,7 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1147
1104
|
isCapturing: !1,
|
1148
1105
|
isMinimized: !1,
|
1149
1106
|
hasUserInteracted: !1,
|
1150
|
-
customInputValues:
|
1107
|
+
customInputValues: qe(e)
|
1151
1108
|
},
|
1152
1109
|
drawing: {
|
1153
1110
|
isDrawing: !1,
|
@@ -1189,8 +1146,8 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1189
1146
|
}
|
1190
1147
|
}
|
1191
1148
|
};
|
1192
|
-
},
|
1193
|
-
const n =
|
1149
|
+
}, tt = it(), en = (e) => {
|
1150
|
+
const n = Qt({
|
1194
1151
|
primaryColor: e.primaryColor,
|
1195
1152
|
onSubmit: e.onSubmit,
|
1196
1153
|
textConfig: e.textConfig,
|
@@ -1198,19 +1155,19 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1198
1155
|
customInputs: e.customInputs,
|
1199
1156
|
disableMinimization: e.disableMinimization
|
1200
1157
|
});
|
1201
|
-
return g(
|
1158
|
+
return g(tt.Provider, {
|
1202
1159
|
value: n,
|
1203
1160
|
get children() {
|
1204
1161
|
return e.children;
|
1205
1162
|
}
|
1206
1163
|
});
|
1207
1164
|
}, $ = () => {
|
1208
|
-
const e =
|
1165
|
+
const e = st(tt);
|
1209
1166
|
if (!e)
|
1210
1167
|
throw new Error("useEchoStore must be used within EchoProvider");
|
1211
1168
|
return e;
|
1212
|
-
},
|
1213
|
-
const [n, t] =
|
1169
|
+
}, tn = (e) => {
|
1170
|
+
const [n, t] = I({
|
1214
1171
|
width: document.documentElement.clientWidth,
|
1215
1172
|
height: document.documentElement.scrollHeight
|
1216
1173
|
}), r = () => {
|
@@ -1222,11 +1179,11 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1222
1179
|
}));
|
1223
1180
|
});
|
1224
1181
|
};
|
1225
|
-
return
|
1182
|
+
return D({
|
1226
1183
|
event: "resize",
|
1227
1184
|
callback: r,
|
1228
1185
|
onMount: r
|
1229
|
-
}),
|
1186
|
+
}), Ee({
|
1230
1187
|
target: document.documentElement,
|
1231
1188
|
options: {
|
1232
1189
|
childList: !0,
|
@@ -1235,13 +1192,13 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1235
1192
|
},
|
1236
1193
|
callback: r
|
1237
1194
|
}), n;
|
1238
|
-
},
|
1239
|
-
let n =
|
1195
|
+
}, nn = ({ onUrlChange: e }) => {
|
1196
|
+
let n = Se();
|
1240
1197
|
const t = () => {
|
1241
|
-
const r =
|
1198
|
+
const r = Se();
|
1242
1199
|
r !== n && (n = r, e(r));
|
1243
1200
|
};
|
1244
|
-
|
1201
|
+
D({ event: "popstate", callback: t }), D({ event: "pushstate", callback: t }), D({ event: "replacestate", callback: t }), Ee({
|
1245
1202
|
target: document.documentElement,
|
1246
1203
|
options: {
|
1247
1204
|
childList: !0,
|
@@ -1249,9 +1206,9 @@ const re = /* @__PURE__ */ new WeakMap(), Jt = (e) => {
|
|
1249
1206
|
},
|
1250
1207
|
callback: t
|
1251
1208
|
});
|
1252
|
-
}, 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}`;
|
1253
|
-
var
|
1254
|
-
const
|
1209
|
+
}, rn = `*,*: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}`;
|
1210
|
+
var on = /* @__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>'), an = /* @__PURE__ */ w("<button class=echo-color-swatch-button role=option>");
|
1211
|
+
const sn = [
|
1255
1212
|
"#ff6b6b",
|
1256
1213
|
// Soft Red
|
1257
1214
|
"#69db7c",
|
@@ -1268,7 +1225,7 @@ const vn = [
|
|
1268
1225
|
// Soft Orange
|
1269
1226
|
"#e599f7"
|
1270
1227
|
// Soft Pink
|
1271
|
-
],
|
1228
|
+
], ln = {
|
1272
1229
|
"#ff6b6b": "Soft Red",
|
1273
1230
|
"#69db7c": "Soft Green",
|
1274
1231
|
"#74c0fc": "Soft Blue",
|
@@ -1277,20 +1234,20 @@ const vn = [
|
|
1277
1234
|
"#66d9e8": "Soft Cyan",
|
1278
1235
|
"#ffa94d": "Soft Orange",
|
1279
1236
|
"#e599f7": "Soft Pink"
|
1280
|
-
},
|
1237
|
+
}, pe = (e) => ln[e] || "Primary", cn = () => {
|
1281
1238
|
const e = $();
|
1282
1239
|
return (() => {
|
1283
|
-
var n =
|
1284
|
-
return d(t, "aria-expanded", !1), v(a, g(
|
1240
|
+
var n = on(), t = n.firstChild, r = t.nextSibling, a = r.firstChild;
|
1241
|
+
return d(t, "aria-expanded", !1), v(a, g(_, {
|
1285
1242
|
get each() {
|
1286
|
-
return [e.widget.state.primaryColor, ...
|
1243
|
+
return [e.widget.state.primaryColor, ...sn];
|
1287
1244
|
},
|
1288
1245
|
children: (o) => (() => {
|
1289
|
-
var i =
|
1246
|
+
var i = an();
|
1290
1247
|
return i.$$click = () => e.drawing.setState({
|
1291
1248
|
selectedColor: o
|
1292
1249
|
}), o != null ? i.style.setProperty("background-color", o) : i.style.removeProperty("background-color"), b((l) => {
|
1293
|
-
var s = `Select ${
|
1250
|
+
var s = `Select ${pe(o)} color`, c = e.drawing.state.selectedColor === o, u = `${pe(o)} color`, h = e.drawing.state.selectedColor === o;
|
1294
1251
|
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;
|
1295
1252
|
}, {
|
1296
1253
|
e: void 0,
|
@@ -1300,7 +1257,7 @@ const vn = [
|
|
1300
1257
|
}), i;
|
1301
1258
|
})()
|
1302
1259
|
})), b((o) => {
|
1303
|
-
var i = `Current color: ${
|
1260
|
+
var i = `Current color: ${pe(e.drawing.state.selectedColor)}`, l = e.drawing.state.selectedColor;
|
1304
1261
|
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;
|
1305
1262
|
}, {
|
1306
1263
|
e: void 0,
|
@@ -1308,13 +1265,13 @@ const vn = [
|
|
1308
1265
|
}), n;
|
1309
1266
|
})();
|
1310
1267
|
};
|
1311
|
-
|
1312
|
-
var
|
1313
|
-
const
|
1314
|
-
var n =
|
1268
|
+
T(["click"]);
|
1269
|
+
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="m9 18 6-6-6-6">');
|
1270
|
+
const un = (e) => (() => {
|
1271
|
+
var n = dn();
|
1315
1272
|
return b((t) => {
|
1316
1273
|
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;
|
1317
|
-
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 =
|
1274
|
+
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 = O(n, c, t.s), t;
|
1318
1275
|
}, {
|
1319
1276
|
e: void 0,
|
1320
1277
|
t: void 0,
|
@@ -1325,12 +1282,12 @@ const pn = (e) => (() => {
|
|
1325
1282
|
s: void 0
|
1326
1283
|
}), n;
|
1327
1284
|
})();
|
1328
|
-
var
|
1329
|
-
const
|
1330
|
-
var n =
|
1285
|
+
var hn = /* @__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">');
|
1286
|
+
const gn = (e) => (() => {
|
1287
|
+
var n = hn(), t = n.firstChild;
|
1331
1288
|
return b((r) => {
|
1332
1289
|
var a = e.size ?? 24, o = e.size ?? 24, i = e.class, l = e.style, s = e.fill ?? "currentColor";
|
1333
|
-
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 =
|
1290
|
+
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 = O(n, l, r.o), s !== r.i && d(t, "fill", r.i = s), r;
|
1334
1291
|
}, {
|
1335
1292
|
e: void 0,
|
1336
1293
|
t: void 0,
|
@@ -1339,12 +1296,12 @@ const kn = (e) => (() => {
|
|
1339
1296
|
i: void 0
|
1340
1297
|
}), n;
|
1341
1298
|
})();
|
1342
|
-
var
|
1343
|
-
const
|
1344
|
-
var n =
|
1299
|
+
var fn = /* @__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">');
|
1300
|
+
const mn = (e) => (() => {
|
1301
|
+
var n = fn();
|
1345
1302
|
return b((t) => {
|
1346
1303
|
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;
|
1347
|
-
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 =
|
1304
|
+
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 = O(n, c, t.s), t;
|
1348
1305
|
}, {
|
1349
1306
|
e: void 0,
|
1350
1307
|
t: void 0,
|
@@ -1355,12 +1312,12 @@ const Cn = (e) => (() => {
|
|
1355
1312
|
s: void 0
|
1356
1313
|
}), n;
|
1357
1314
|
})();
|
1358
|
-
var
|
1359
|
-
const
|
1360
|
-
var n =
|
1315
|
+
var vn = /* @__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">');
|
1316
|
+
const bn = (e) => (() => {
|
1317
|
+
var n = vn();
|
1361
1318
|
return b((t) => {
|
1362
1319
|
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;
|
1363
|
-
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 =
|
1320
|
+
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 = O(n, c, t.s), t;
|
1364
1321
|
}, {
|
1365
1322
|
e: void 0,
|
1366
1323
|
t: void 0,
|
@@ -1371,12 +1328,12 @@ const En = (e) => (() => {
|
|
1371
1328
|
s: void 0
|
1372
1329
|
}), n;
|
1373
1330
|
})();
|
1374
|
-
var
|
1375
|
-
const
|
1376
|
-
var n =
|
1331
|
+
var wn = /* @__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>');
|
1332
|
+
const nt = (e) => (() => {
|
1333
|
+
var n = wn();
|
1377
1334
|
return b((t) => {
|
1378
1335
|
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;
|
1379
|
-
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 =
|
1336
|
+
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 = O(n, c, t.s), t;
|
1380
1337
|
}, {
|
1381
1338
|
e: void 0,
|
1382
1339
|
t: void 0,
|
@@ -1387,12 +1344,12 @@ const lt = (e) => (() => {
|
|
1387
1344
|
s: void 0
|
1388
1345
|
}), n;
|
1389
1346
|
})();
|
1390
|
-
var
|
1391
|
-
const
|
1392
|
-
var n =
|
1347
|
+
var yn = /* @__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">');
|
1348
|
+
const pn = (e) => (() => {
|
1349
|
+
var n = yn();
|
1393
1350
|
return b((t) => {
|
1394
1351
|
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;
|
1395
|
-
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 =
|
1352
|
+
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 = O(n, c, t.s), t;
|
1396
1353
|
}, {
|
1397
1354
|
e: void 0,
|
1398
1355
|
t: void 0,
|
@@ -1403,12 +1360,12 @@ const Tn = (e) => (() => {
|
|
1403
1360
|
s: void 0
|
1404
1361
|
}), n;
|
1405
1362
|
})();
|
1406
|
-
var
|
1407
|
-
const
|
1408
|
-
var n =
|
1363
|
+
var xn = /* @__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">');
|
1364
|
+
const kn = (e) => (() => {
|
1365
|
+
var n = xn();
|
1409
1366
|
return b((t) => {
|
1410
1367
|
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;
|
1411
|
-
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 =
|
1368
|
+
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 = O(n, c, t.s), t;
|
1412
1369
|
}, {
|
1413
1370
|
e: void 0,
|
1414
1371
|
t: void 0,
|
@@ -1419,12 +1376,12 @@ const On = (e) => (() => {
|
|
1419
1376
|
s: void 0
|
1420
1377
|
}), n;
|
1421
1378
|
})();
|
1422
|
-
var
|
1423
|
-
const
|
1424
|
-
var n =
|
1379
|
+
var Sn = /* @__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">');
|
1380
|
+
const be = (e) => (() => {
|
1381
|
+
var n = Sn();
|
1425
1382
|
return b((t) => {
|
1426
1383
|
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;
|
1427
|
-
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 =
|
1384
|
+
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 = O(n, c, t.s), t;
|
1428
1385
|
}, {
|
1429
1386
|
e: void 0,
|
1430
1387
|
t: void 0,
|
@@ -1435,20 +1392,20 @@ const Se = (e) => (() => {
|
|
1435
1392
|
s: void 0
|
1436
1393
|
}), n;
|
1437
1394
|
})();
|
1438
|
-
var
|
1439
|
-
const
|
1440
|
-
rectangle:
|
1441
|
-
path:
|
1442
|
-
},
|
1443
|
-
const e = $(), n = Object.values(
|
1395
|
+
var Cn = /* @__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>'), $n = /* @__PURE__ */ w("<button class=echo-drawing-toolbar-button role=button>");
|
1396
|
+
const Pn = {
|
1397
|
+
rectangle: mn,
|
1398
|
+
path: bn
|
1399
|
+
}, En = () => {
|
1400
|
+
const e = $(), n = Object.values(B);
|
1444
1401
|
return (() => {
|
1445
|
-
var t =
|
1446
|
-
return v(t, g(
|
1402
|
+
var t = Cn(), r = t.firstChild;
|
1403
|
+
return v(t, g(_, {
|
1447
1404
|
each: n,
|
1448
1405
|
children: (a) => {
|
1449
|
-
const o =
|
1406
|
+
const o = Pn[a.id];
|
1450
1407
|
return (() => {
|
1451
|
-
var i =
|
1408
|
+
var i = $n();
|
1452
1409
|
return i.$$click = () => e.drawing.setState({
|
1453
1410
|
selectedTool: a.id
|
1454
1411
|
}), v(i, g(o, {
|
@@ -1465,24 +1422,24 @@ const Fn = {
|
|
1465
1422
|
}), i;
|
1466
1423
|
})();
|
1467
1424
|
}
|
1468
|
-
}), r), v(t, g(
|
1425
|
+
}), r), v(t, g(cn, {}), r), r.$$click = () => e.drawing.setState({
|
1469
1426
|
shapes: []
|
1470
|
-
}, !0), v(r, g(
|
1427
|
+
}, !0), v(r, g(nt, {
|
1471
1428
|
class: "echo-drawing-toolbar-icon",
|
1472
1429
|
"aria-hidden": "true"
|
1473
1430
|
})), t;
|
1474
1431
|
})();
|
1475
1432
|
};
|
1476
|
-
|
1477
|
-
var
|
1478
|
-
const
|
1479
|
-
const e = $(), n = k(() => e.drawing.state.showTooltip && e.drawing.state.mousePosition.y && e.drawing.state.mousePosition.x && e.widget.state.isOpen && !
|
1480
|
-
return g(
|
1433
|
+
T(["click"]);
|
1434
|
+
var zn = /* @__PURE__ */ w("<div class=echo-drawing-tooltip data-hide-when-drawing=true>");
|
1435
|
+
const In = () => {
|
1436
|
+
const e = $(), n = k(() => e.drawing.state.showTooltip && e.drawing.state.mousePosition.y && e.drawing.state.mousePosition.x && e.widget.state.isOpen && !_t());
|
1437
|
+
return g(F, {
|
1481
1438
|
get when() {
|
1482
1439
|
return n();
|
1483
1440
|
},
|
1484
1441
|
get children() {
|
1485
|
-
var t =
|
1442
|
+
var t = zn();
|
1486
1443
|
return v(t, () => e.widget.state.text.drawingTooltip.text), b((r) => {
|
1487
1444
|
var a = `${e.drawing.state.mousePosition.y + 20}px`, o = `${e.drawing.state.mousePosition.x + 10}px`;
|
1488
1445
|
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;
|
@@ -1493,24 +1450,24 @@ const jn = () => {
|
|
1493
1450
|
}
|
1494
1451
|
});
|
1495
1452
|
};
|
1496
|
-
var
|
1497
|
-
const
|
1453
|
+
var Tn = /* @__PURE__ */ w("<button>");
|
1454
|
+
const R = (e) => {
|
1498
1455
|
const n = () => e.variant || "primary", t = () => e.size || "md";
|
1499
1456
|
return (() => {
|
1500
|
-
var r =
|
1501
|
-
return
|
1457
|
+
var r = Tn();
|
1458
|
+
return xt(r, re(e, {
|
1502
1459
|
get class() {
|
1503
1460
|
return `echo-button echo-button-${n()} echo-button-${t()} ${e.class}`;
|
1504
1461
|
}
|
1505
1462
|
}), !1), r;
|
1506
1463
|
})();
|
1507
1464
|
};
|
1508
|
-
var
|
1509
|
-
const
|
1510
|
-
var n =
|
1465
|
+
var On = /* @__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>');
|
1466
|
+
const Mn = (e) => (() => {
|
1467
|
+
var n = On();
|
1511
1468
|
return b((t) => {
|
1512
1469
|
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;
|
1513
|
-
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 =
|
1470
|
+
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 = O(n, c, t.s), t;
|
1514
1471
|
}, {
|
1515
1472
|
e: void 0,
|
1516
1473
|
t: void 0,
|
@@ -1521,11 +1478,11 @@ const Vn = (e) => (() => {
|
|
1521
1478
|
s: void 0
|
1522
1479
|
}), n;
|
1523
1480
|
})();
|
1524
|
-
var
|
1525
|
-
const
|
1481
|
+
var An = /* @__PURE__ */ w("<div class=echo-stored-feedback-empty>No unsubmitted feedback"), Dn = /* @__PURE__ */ w("<div class=echo-stored-feedback><div class=echo-stored-feedback-header><h3>Unsubmitted Feedback</h3></div><div class=echo-stored-feedback-list>"), Fn = /* @__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>");
|
1482
|
+
const jn = () => {
|
1526
1483
|
const e = $();
|
1527
1484
|
let n;
|
1528
|
-
const [t, r] =
|
1485
|
+
const [t, r] = I(we()), [a, o] = I(window.location.pathname), i = (m) => {
|
1529
1486
|
m.key === "Escape" && e.widget.state.isStoredFeedbackOpen && e.widget.setState({
|
1530
1487
|
isStoredFeedbackOpen: !1
|
1531
1488
|
});
|
@@ -1535,20 +1492,20 @@ const Un = () => {
|
|
1535
1492
|
isStoredFeedbackOpen: !1
|
1536
1493
|
});
|
1537
1494
|
}, s = () => {
|
1538
|
-
const m =
|
1495
|
+
const m = we();
|
1539
1496
|
r(m), e.widget.setState({
|
1540
1497
|
pagesCount: m.length
|
1541
1498
|
});
|
1542
1499
|
}, c = () => {
|
1543
1500
|
o(window.location.pathname);
|
1544
1501
|
};
|
1545
|
-
|
1502
|
+
D({
|
1546
1503
|
event: "echo-storage-change",
|
1547
1504
|
callback: s
|
1548
|
-
}),
|
1505
|
+
}), D({
|
1549
1506
|
event: "popstate",
|
1550
1507
|
callback: c
|
1551
|
-
}),
|
1508
|
+
}), Ee({
|
1552
1509
|
target: document.documentElement,
|
1553
1510
|
options: {
|
1554
1511
|
childList: !0,
|
@@ -1557,21 +1514,21 @@ const Un = () => {
|
|
1557
1514
|
callback: () => {
|
1558
1515
|
o(window.location.pathname);
|
1559
1516
|
}
|
1560
|
-
}),
|
1517
|
+
}), D({
|
1561
1518
|
event: "keydown",
|
1562
1519
|
callback: i
|
1563
|
-
}),
|
1520
|
+
}), D({
|
1564
1521
|
event: "click",
|
1565
1522
|
callback: l
|
1566
1523
|
});
|
1567
1524
|
const u = (m, y) => {
|
1568
|
-
const
|
1569
|
-
window.location.href =
|
1525
|
+
const P = y ? `${m}${y}` : m;
|
1526
|
+
window.location.href = P, e.widget.setState({
|
1570
1527
|
isStoredFeedbackOpen: !1
|
1571
1528
|
});
|
1572
1529
|
}, h = (m) => {
|
1573
|
-
a() === m && e.methods.reset(),
|
1574
|
-
const y =
|
1530
|
+
a() === m && e.methods.reset(), Ke(m);
|
1531
|
+
const y = we();
|
1575
1532
|
r(y), e.widget.setState({
|
1576
1533
|
pagesCount: y.length
|
1577
1534
|
});
|
@@ -1580,73 +1537,73 @@ const Un = () => {
|
|
1580
1537
|
const y = m.split("/");
|
1581
1538
|
return y.length <= 4 ? m : `/${y[1]}/.../${y[y.length - 1]}`;
|
1582
1539
|
};
|
1583
|
-
return g(
|
1540
|
+
return g(F, {
|
1584
1541
|
get when() {
|
1585
1542
|
return e.widget.state.isStoredFeedbackOpen;
|
1586
1543
|
},
|
1587
1544
|
get children() {
|
1588
|
-
var m =
|
1545
|
+
var m = Dn(), y = m.firstChild;
|
1589
1546
|
y.firstChild;
|
1590
|
-
var
|
1591
|
-
return typeof S == "function" ?
|
1547
|
+
var P = y.nextSibling, S = n;
|
1548
|
+
return typeof S == "function" ? V(S, m) : n = m, v(y, g(R, {
|
1592
1549
|
variant: "secondary",
|
1593
1550
|
size: "sm",
|
1594
1551
|
onClick: () => e.widget.setState({
|
1595
1552
|
isStoredFeedbackOpen: !1
|
1596
1553
|
}),
|
1597
1554
|
get children() {
|
1598
|
-
return g(
|
1555
|
+
return g(be, {
|
1599
1556
|
size: 20
|
1600
1557
|
});
|
1601
1558
|
}
|
1602
|
-
}), null), v(
|
1559
|
+
}), null), v(P, g(_, {
|
1603
1560
|
get each() {
|
1604
1561
|
return t();
|
1605
1562
|
},
|
1606
1563
|
children: (C) => {
|
1607
1564
|
const p = k(() => C.path === a());
|
1608
1565
|
return (() => {
|
1609
|
-
var
|
1610
|
-
return v(x, () => f(C.path)), v(
|
1611
|
-
var
|
1612
|
-
return () =>
|
1566
|
+
var E = Fn(), z = E.firstChild, x = z.firstChild, W = x.nextSibling, q = z.nextSibling;
|
1567
|
+
return v(x, () => f(C.path)), v(W, () => C.state.feedback.message), v(q, (() => {
|
1568
|
+
var M = k(() => !p());
|
1569
|
+
return () => M() && g(R, {
|
1613
1570
|
class: "echo-stored-feedback-link",
|
1614
1571
|
variant: "secondary",
|
1615
1572
|
size: "sm",
|
1616
1573
|
onClick: () => u(C.path, C.state.latestQuery),
|
1617
1574
|
get children() {
|
1618
|
-
return g(
|
1575
|
+
return g(Mn, {});
|
1619
1576
|
}
|
1620
1577
|
});
|
1621
|
-
})(), null), v(q, g(
|
1578
|
+
})(), null), v(q, g(R, {
|
1622
1579
|
class: "echo-stored-feedback-delete",
|
1623
1580
|
variant: "secondary",
|
1624
1581
|
size: "sm",
|
1625
1582
|
onClick: () => h(C.path),
|
1626
1583
|
children: "Delete"
|
1627
|
-
}), null), b((
|
1628
|
-
var
|
1629
|
-
return
|
1584
|
+
}), null), b((M) => {
|
1585
|
+
var ze = `echo-stored-feedback-item ${p() ? "echo-stored-feedback-item-current" : ""}`, Ie = C.path;
|
1586
|
+
return ze !== M.e && _e(E, M.e = ze), Ie !== M.t && d(x, "title", M.t = Ie), M;
|
1630
1587
|
}, {
|
1631
1588
|
e: void 0,
|
1632
1589
|
t: void 0
|
1633
|
-
}),
|
1590
|
+
}), E;
|
1634
1591
|
})();
|
1635
1592
|
}
|
1636
|
-
}), null), v(
|
1593
|
+
}), null), v(P, g(F, {
|
1637
1594
|
get when() {
|
1638
1595
|
return t().length === 0;
|
1639
1596
|
},
|
1640
1597
|
get children() {
|
1641
|
-
return
|
1598
|
+
return An();
|
1642
1599
|
}
|
1643
1600
|
}), null), m;
|
1644
1601
|
}
|
1645
1602
|
});
|
1646
1603
|
};
|
1647
|
-
var
|
1648
|
-
const
|
1649
|
-
const e = $(), [n, t] =
|
1604
|
+
var Ln = /* @__PURE__ */ w('<button class=echo-launcher-button aria-label="Open feedback form"role=button>'), Nn = /* @__PURE__ */ w("<span class=echo-launcher-button-count role=button tabindex=0>");
|
1605
|
+
const qn = () => {
|
1606
|
+
const e = $(), [n, t] = I(!1);
|
1650
1607
|
let r;
|
1651
1608
|
const a = () => {
|
1652
1609
|
r && window.clearTimeout(r), !e.widget.state.disableMinimization && (r = window.setTimeout(() => {
|
@@ -1662,9 +1619,9 @@ const Kn = () => {
|
|
1662
1619
|
isOpen: !e.widget.state.isOpen
|
1663
1620
|
}), e.widget.setState({
|
1664
1621
|
welcomeMessageIsClosing: !0
|
1665
|
-
}),
|
1622
|
+
}), ae("welcome_message_shown", !0);
|
1666
1623
|
};
|
1667
|
-
|
1624
|
+
U(() => {
|
1668
1625
|
e.widget.state.isOpen || (t(!1), e.widget.state.disableMinimization || a()), e.widget.state.isStoredFeedbackOpen && t(!1);
|
1669
1626
|
});
|
1670
1627
|
const s = (c) => {
|
@@ -1673,15 +1630,15 @@ const Kn = () => {
|
|
1673
1630
|
}), t(!1);
|
1674
1631
|
};
|
1675
1632
|
return [(() => {
|
1676
|
-
var c =
|
1677
|
-
return c.addEventListener("pointerleave", i), c.addEventListener("pointerenter", o), c.$$click = l, v(c, g(
|
1633
|
+
var c = Ln();
|
1634
|
+
return c.addEventListener("pointerleave", i), c.addEventListener("pointerenter", o), c.$$click = l, v(c, g(gn, {
|
1678
1635
|
stroke: "white",
|
1679
1636
|
fill: "#ffffff",
|
1680
1637
|
"aria-hidden": "true"
|
1681
1638
|
}), null), v(c, (() => {
|
1682
1639
|
var u = k(() => e.widget.state.pagesCount > 0);
|
1683
1640
|
return () => u() && (() => {
|
1684
|
-
var h =
|
1641
|
+
var h = Nn();
|
1685
1642
|
return h.$$click = s, v(h, () => e.widget.state.pagesCount), b(() => d(h, "aria-label", `View ${e.widget.state.pagesCount} stored feedback items`)), h;
|
1686
1643
|
})();
|
1687
1644
|
})(), null), b((u) => {
|
@@ -1692,11 +1649,11 @@ const Kn = () => {
|
|
1692
1649
|
t: void 0,
|
1693
1650
|
a: void 0
|
1694
1651
|
}), c;
|
1695
|
-
})(), g(
|
1652
|
+
})(), g(jn, {})];
|
1696
1653
|
};
|
1697
|
-
|
1698
|
-
var
|
1699
|
-
const
|
1654
|
+
T(["click"]);
|
1655
|
+
var Vn = /* @__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>");
|
1656
|
+
const Bn = () => {
|
1700
1657
|
const e = $(), n = () => {
|
1701
1658
|
e.widget.setState({
|
1702
1659
|
notification: {
|
@@ -1715,8 +1672,8 @@ const Xn = () => {
|
|
1715
1672
|
}
|
1716
1673
|
};
|
1717
1674
|
return (() => {
|
1718
|
-
var r =
|
1719
|
-
return v(r, g(
|
1675
|
+
var r = Vn(), a = r.firstChild, o = a.nextSibling, i = o.firstChild, l = i.nextSibling;
|
1676
|
+
return v(r, g(R, {
|
1720
1677
|
class: "echo-notification-hide",
|
1721
1678
|
variant: "secondary",
|
1722
1679
|
size: "sm",
|
@@ -1725,17 +1682,17 @@ const Xn = () => {
|
|
1725
1682
|
return e.widget.state.text.notification.hideTitle;
|
1726
1683
|
},
|
1727
1684
|
get children() {
|
1728
|
-
return g(
|
1685
|
+
return g(be, {
|
1729
1686
|
size: 20
|
1730
1687
|
});
|
1731
1688
|
}
|
1732
1689
|
}), a), v(a, (() => {
|
1733
1690
|
var s = k(() => e.widget.state.notification.type === "success");
|
1734
|
-
return () => s() ? g(
|
1691
|
+
return () => s() ? g(pn, {
|
1735
1692
|
size: 32
|
1736
1693
|
}) : (() => {
|
1737
1694
|
var c = k(() => e.widget.state.notification.type === "error");
|
1738
|
-
return () => c() ? g(
|
1695
|
+
return () => c() ? g(kn, {
|
1739
1696
|
size: 32
|
1740
1697
|
}) : null;
|
1741
1698
|
})();
|
@@ -1752,15 +1709,15 @@ const Xn = () => {
|
|
1752
1709
|
}), r;
|
1753
1710
|
})();
|
1754
1711
|
};
|
1755
|
-
var
|
1756
|
-
const
|
1712
|
+
var Rn = /* @__PURE__ */ w("<div class=echo-shape-actions data-hide-when-drawing=true>");
|
1713
|
+
const _n = () => {
|
1757
1714
|
const e = $();
|
1758
1715
|
let n;
|
1759
|
-
const [t, r] =
|
1716
|
+
const [t, r] = I({
|
1760
1717
|
x: window.scrollX,
|
1761
1718
|
y: window.scrollY
|
1762
1719
|
});
|
1763
|
-
|
1720
|
+
D({
|
1764
1721
|
event: "scroll",
|
1765
1722
|
callback: () => {
|
1766
1723
|
r({
|
@@ -1779,7 +1736,7 @@ const Zn = () => {
|
|
1779
1736
|
if (!s || !c) return null;
|
1780
1737
|
let u = null;
|
1781
1738
|
if (s.type === "rectangle") {
|
1782
|
-
const m =
|
1739
|
+
const m = et(s.points);
|
1783
1740
|
if (!m) return null;
|
1784
1741
|
u = {
|
1785
1742
|
x: m.x + m.width / 2,
|
@@ -1799,14 +1756,14 @@ const Zn = () => {
|
|
1799
1756
|
};
|
1800
1757
|
});
|
1801
1758
|
return (() => {
|
1802
|
-
var s =
|
1803
|
-
return typeof c == "function" ?
|
1759
|
+
var s = Rn(), c = n;
|
1760
|
+
return typeof c == "function" ? V(c, s) : n = s, s.style.setProperty("top", "0"), s.style.setProperty("left", "0"), v(s, g(R, {
|
1804
1761
|
onClick: o,
|
1805
1762
|
size: "sm",
|
1806
1763
|
variant: "secondary",
|
1807
1764
|
title: "Delete shape",
|
1808
1765
|
get children() {
|
1809
|
-
return g(
|
1766
|
+
return g(nt, {
|
1810
1767
|
size: 20
|
1811
1768
|
});
|
1812
1769
|
}
|
@@ -1820,22 +1777,22 @@ const Zn = () => {
|
|
1820
1777
|
}), s;
|
1821
1778
|
})();
|
1822
1779
|
};
|
1823
|
-
var
|
1824
|
-
const
|
1780
|
+
var Wn = /* @__PURE__ */ w("<button class=echo-welcome-message><span class=echo-welcome-message-pulsar></span><div class=echo-welcome-message-close role=button tabindex=0>");
|
1781
|
+
const Hn = () => {
|
1825
1782
|
const e = $(), n = G("welcome_message_shown", !1), t = (a) => {
|
1826
1783
|
a.stopPropagation(), e.widget.setState({
|
1827
1784
|
welcomeMessageIsClosing: !0
|
1828
|
-
}),
|
1785
|
+
}), ae("welcome_message_shown", !0);
|
1829
1786
|
}, r = () => {
|
1830
1787
|
e.widget.setState({
|
1831
1788
|
isOpen: !0
|
1832
1789
|
}), e.widget.setState({
|
1833
1790
|
welcomeMessageIsClosing: !0
|
1834
|
-
}),
|
1791
|
+
}), ae("welcome_message_shown", !0);
|
1835
1792
|
};
|
1836
1793
|
return n ? null : (() => {
|
1837
|
-
var a =
|
1838
|
-
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(
|
1794
|
+
var a = Wn(), o = a.firstChild, i = o.nextSibling;
|
1795
|
+
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(be, {
|
1839
1796
|
size: 16,
|
1840
1797
|
strokeWidth: 3
|
1841
1798
|
})), b((l) => {
|
@@ -1847,41 +1804,41 @@ const er = () => {
|
|
1847
1804
|
}), a;
|
1848
1805
|
})();
|
1849
1806
|
};
|
1850
|
-
|
1851
|
-
var
|
1852
|
-
const
|
1807
|
+
T(["click", "keydown"]);
|
1808
|
+
var Un = /* @__PURE__ */ w("<svg><rect class=echo-shape fill=transparent vector-effect=non-scaling-stroke role=img></svg>", !1, !0), Yn = /* @__PURE__ */ w("<svg><path class=echo-shape fill=none vector-effect=non-scaling-stroke stroke-linecap=round role=img></svg>", !1, !0);
|
1809
|
+
const Ve = (e) => {
|
1853
1810
|
const n = k(() => e.id === e.selectedShapeId);
|
1854
|
-
return [g(
|
1811
|
+
return [g(F, {
|
1855
1812
|
get when() {
|
1856
1813
|
return e.type === "rectangle";
|
1857
1814
|
},
|
1858
1815
|
get children() {
|
1859
|
-
return g(
|
1816
|
+
return g(Kn, re(e, {
|
1860
1817
|
get isSelected() {
|
1861
1818
|
return n();
|
1862
1819
|
}
|
1863
1820
|
}));
|
1864
1821
|
}
|
1865
|
-
}), g(
|
1822
|
+
}), g(F, {
|
1866
1823
|
get when() {
|
1867
1824
|
return e.type === "path";
|
1868
1825
|
},
|
1869
1826
|
get children() {
|
1870
|
-
return g(
|
1827
|
+
return g(Gn, re(e, {
|
1871
1828
|
get isSelected() {
|
1872
1829
|
return n();
|
1873
1830
|
}
|
1874
1831
|
}));
|
1875
1832
|
}
|
1876
1833
|
})];
|
1877
|
-
},
|
1878
|
-
const n = k(() =>
|
1879
|
-
return g(
|
1834
|
+
}, Kn = (e) => {
|
1835
|
+
const n = k(() => et(e.points));
|
1836
|
+
return g(F, {
|
1880
1837
|
get when() {
|
1881
1838
|
return n();
|
1882
1839
|
},
|
1883
1840
|
get children() {
|
1884
|
-
var t =
|
1841
|
+
var t = Un();
|
1885
1842
|
return t.$$keydown = (r) => {
|
1886
1843
|
var a;
|
1887
1844
|
return r.key === "Enter" && ((a = e.onShapeClick) == null ? void 0 : a.call(e, e.id));
|
@@ -1889,8 +1846,8 @@ const He = (e) => {
|
|
1889
1846
|
var r;
|
1890
1847
|
return (r = e.onShapeClick) == null ? void 0 : r.call(e, e.id);
|
1891
1848
|
}, b((r) => {
|
1892
|
-
var a = e.id, o = e.isSelected, i = n().x, l = n().y, s = n().width, c = n().height, u = e.color, h =
|
1893
|
-
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),
|
1849
|
+
var a = e.id, o = e.isSelected, i = n().x, l = n().y, s = n().width, c = n().height, u = e.color, h = B.rectangle.strokeWidth, f = e.isSelected ? B.rectangle.opacity.selected : B.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;
|
1850
|
+
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;
|
1894
1851
|
}, {
|
1895
1852
|
e: void 0,
|
1896
1853
|
t: void 0,
|
@@ -1908,14 +1865,14 @@ const He = (e) => {
|
|
1908
1865
|
}), t;
|
1909
1866
|
}
|
1910
1867
|
});
|
1911
|
-
},
|
1912
|
-
const n = k(() =>
|
1913
|
-
return g(
|
1868
|
+
}, Gn = (e) => {
|
1869
|
+
const n = k(() => Wt(e.points));
|
1870
|
+
return g(F, {
|
1914
1871
|
get when() {
|
1915
1872
|
return n();
|
1916
1873
|
},
|
1917
1874
|
get children() {
|
1918
|
-
var t =
|
1875
|
+
var t = Yn();
|
1919
1876
|
return t.$$keydown = (r) => {
|
1920
1877
|
var a;
|
1921
1878
|
return r.key === "Enter" && ((a = e.onShapeClick) == null ? void 0 : a.call(e, e.id));
|
@@ -1923,7 +1880,7 @@ const He = (e) => {
|
|
1923
1880
|
var r;
|
1924
1881
|
return (r = e.onShapeClick) == null ? void 0 : r.call(e, e.id);
|
1925
1882
|
}, b((r) => {
|
1926
|
-
var a = e.id, o = e.isSelected, i = n(), l = e.color, s =
|
1883
|
+
var a = e.id, o = e.isSelected, i = n(), l = e.color, s = B.path.strokeWidth, c = e.isSelected ? B.path.opacity.selected : B.path.opacity.default, u = e.isSelected ? "move" : "pointer", h = `Freehand shape ${e.isSelected ? "(selected)" : ""}`, f = e.onShapeClick ? 0 : -1;
|
1927
1884
|
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;
|
1928
1885
|
}, {
|
1929
1886
|
e: void 0,
|
@@ -1939,22 +1896,22 @@ const He = (e) => {
|
|
1939
1896
|
}
|
1940
1897
|
});
|
1941
1898
|
};
|
1942
|
-
|
1943
|
-
var
|
1944
|
-
const
|
1899
|
+
T(["click", "keydown"]);
|
1900
|
+
var Xn = /* @__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>');
|
1901
|
+
const Jn = () => {
|
1945
1902
|
const e = $();
|
1946
1903
|
let n;
|
1947
|
-
return
|
1904
|
+
return ve(() => {
|
1948
1905
|
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, {
|
1949
1906
|
passive: !1
|
1950
1907
|
}), n == null || n.addEventListener("touchend", e.drawing.methods.handleEnd);
|
1951
|
-
}),
|
1908
|
+
}), ee(() => {
|
1952
1909
|
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);
|
1953
1910
|
}), (() => {
|
1954
|
-
var t =
|
1955
|
-
return typeof o == "function" ?
|
1911
|
+
var t = Xn(), r = t.firstChild, a = r.firstChild, o = n;
|
1912
|
+
return typeof o == "function" ? V(o, t) : n = t, v(t, g(In, {}), r), v(t, g(_n, {}), 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) => {
|
1956
1913
|
i.preventDefault(), e.drawing.methods.handleMove(i);
|
1957
|
-
},
|
1914
|
+
}, H(r, "mousemove", e.drawing.methods.handleMove, !0), r.$$touchstart = (i) => {
|
1958
1915
|
i.preventDefault(), e.drawing.methods.handleStart(i), e.drawing.methods.handleEnter(i), e.drawing.setState({
|
1959
1916
|
showTooltip: !1,
|
1960
1917
|
hasDrawn: !0
|
@@ -1964,11 +1921,11 @@ const ir = () => {
|
|
1964
1921
|
showTooltip: !1,
|
1965
1922
|
hasDrawn: !0
|
1966
1923
|
});
|
1967
|
-
}, v(r, g(
|
1924
|
+
}, v(r, g(_, {
|
1968
1925
|
get each() {
|
1969
1926
|
return e.drawing.state.shapes;
|
1970
1927
|
},
|
1971
|
-
children: (i) => g(
|
1928
|
+
children: (i) => g(Ve, {
|
1972
1929
|
get id() {
|
1973
1930
|
return i.id;
|
1974
1931
|
},
|
@@ -1988,7 +1945,7 @@ const ir = () => {
|
|
1988
1945
|
return e.drawing.methods.handleShapeClick;
|
1989
1946
|
}
|
1990
1947
|
})
|
1991
|
-
}), null), v(r, g(
|
1948
|
+
}), null), v(r, g(Ve, {
|
1992
1949
|
id: "temp",
|
1993
1950
|
get type() {
|
1994
1951
|
return e.drawing.state.selectedTool;
|
@@ -2003,7 +1960,7 @@ const ir = () => {
|
|
2003
1960
|
return e.drawing.state.selectedShapeId;
|
2004
1961
|
}
|
2005
1962
|
}), null), b((i) => {
|
2006
|
-
var l = e.drawing.state.cursor, s =
|
1963
|
+
var l = e.drawing.state.cursor, s = Kt({
|
2007
1964
|
width: e.widget.state.dimensions.width,
|
2008
1965
|
height: e.widget.state.dimensions.height
|
2009
1966
|
}, e.drawing.state.currentPoints, e.drawing.state.shapes);
|
@@ -2014,8 +1971,8 @@ const ir = () => {
|
|
2014
1971
|
}), t;
|
2015
1972
|
})();
|
2016
1973
|
};
|
2017
|
-
|
2018
|
-
const
|
1974
|
+
T(["mousedown", "touchstart", "mousemove", "touchmove", "touchend"]);
|
1975
|
+
const ce = (e) => ({
|
2019
1976
|
handleTextChange: (o) => {
|
2020
1977
|
const i = o.target;
|
2021
1978
|
e(i.value);
|
@@ -2029,26 +1986,26 @@ const ge = (e) => ({
|
|
2029
1986
|
},
|
2030
1987
|
getCheckboxValue: (o) => Array.isArray(o) ? o : []
|
2031
1988
|
});
|
2032
|
-
var
|
2033
|
-
const
|
2034
|
-
var n =
|
1989
|
+
var Zn = /* @__PURE__ */ w("<div class=echo-input role=group>"), Qn = /* @__PURE__ */ w("<label class=echo-input-label><span>"), er = /* @__PURE__ */ w('<span class=echo-input-required aria-label="Required field">*');
|
1990
|
+
const de = (e) => (() => {
|
1991
|
+
var n = Zn();
|
2035
1992
|
return v(n, (() => {
|
2036
1993
|
var t = k(() => !!e.label);
|
2037
1994
|
return () => t() && (() => {
|
2038
|
-
var r =
|
1995
|
+
var r = Qn(), a = r.firstChild;
|
2039
1996
|
return v(a, () => e.label), v(r, (() => {
|
2040
1997
|
var o = k(() => !!e.required);
|
2041
|
-
return () => o() &&
|
1998
|
+
return () => o() && er();
|
2042
1999
|
})(), null), r;
|
2043
2000
|
})();
|
2044
2001
|
})(), null), v(n, () => e.children, null), n;
|
2045
2002
|
})();
|
2046
|
-
var
|
2047
|
-
const
|
2003
|
+
var tr = /* @__PURE__ */ w("<textarea class=echo-input-field rows=5>"), nr = /* @__PURE__ */ w("<div class=visually-hidden>");
|
2004
|
+
const rt = (e) => {
|
2048
2005
|
const {
|
2049
2006
|
handleTextChange: n
|
2050
|
-
} =
|
2051
|
-
return g(
|
2007
|
+
} = ce(e.onChange);
|
2008
|
+
return g(de, {
|
2052
2009
|
get label() {
|
2053
2010
|
return e.config.label;
|
2054
2011
|
},
|
@@ -2057,8 +2014,8 @@ const ct = (e) => {
|
|
2057
2014
|
},
|
2058
2015
|
get children() {
|
2059
2016
|
return [(() => {
|
2060
|
-
var t =
|
2061
|
-
return
|
2017
|
+
var t = tr();
|
2018
|
+
return H(t, "input", n, !0), b((r) => {
|
2062
2019
|
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`;
|
2063
2020
|
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;
|
2064
2021
|
}, {
|
@@ -2071,20 +2028,20 @@ const ct = (e) => {
|
|
2071
2028
|
s: void 0
|
2072
2029
|
}), b(() => t.value = e.value === void 0 ? "" : e.value), t;
|
2073
2030
|
})(), (() => {
|
2074
|
-
var t =
|
2031
|
+
var t = nr();
|
2075
2032
|
return v(t, () => e.config.placeholder), b(() => d(t, "id", `${e.config.id}-description`)), t;
|
2076
2033
|
})()];
|
2077
2034
|
}
|
2078
2035
|
});
|
2079
2036
|
};
|
2080
|
-
|
2081
|
-
var
|
2082
|
-
const
|
2037
|
+
T(["input"]);
|
2038
|
+
var rr = /* @__PURE__ */ w("<fieldset class=echo-input-options role=group>"), or = /* @__PURE__ */ w("<label class=echo-input-option><input type=checkbox><span>");
|
2039
|
+
const ar = (e) => {
|
2083
2040
|
const {
|
2084
2041
|
handleCheckboxChange: n,
|
2085
2042
|
getCheckboxValue: t
|
2086
|
-
} =
|
2087
|
-
return g(
|
2043
|
+
} = ce(e.onChange), r = () => t(e.value), a = () => r().length > 0;
|
2044
|
+
return g(de, {
|
2088
2045
|
get label() {
|
2089
2046
|
return e.config.label;
|
2090
2047
|
},
|
@@ -2092,25 +2049,25 @@ const fr = (e) => {
|
|
2092
2049
|
return e.config.required;
|
2093
2050
|
},
|
2094
2051
|
get children() {
|
2095
|
-
var o =
|
2096
|
-
return v(o, g(
|
2052
|
+
var o = rr();
|
2053
|
+
return v(o, g(_, {
|
2097
2054
|
get each() {
|
2098
2055
|
return e.config.options;
|
2099
2056
|
},
|
2100
2057
|
children: (i, l) => (() => {
|
2101
|
-
var s =
|
2058
|
+
var s = or(), c = s.firstChild, u = c.nextSibling;
|
2102
2059
|
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;
|
2103
2060
|
})()
|
2104
2061
|
})), b(() => d(o, "aria-required", e.config.required)), o;
|
2105
2062
|
}
|
2106
2063
|
});
|
2107
2064
|
};
|
2108
|
-
var
|
2109
|
-
const
|
2065
|
+
var ir = /* @__PURE__ */ w("<fieldset class=echo-input-options role=radiogroup>"), sr = /* @__PURE__ */ w("<label class=echo-input-option><input type=radio><span>");
|
2066
|
+
const lr = (e) => {
|
2110
2067
|
const {
|
2111
2068
|
handleSelectChange: n
|
2112
|
-
} =
|
2113
|
-
return g(
|
2069
|
+
} = ce(e.onChange);
|
2070
|
+
return g(de, {
|
2114
2071
|
get label() {
|
2115
2072
|
return e.config.label;
|
2116
2073
|
},
|
@@ -2118,13 +2075,13 @@ const br = (e) => {
|
|
2118
2075
|
return e.config.required;
|
2119
2076
|
},
|
2120
2077
|
get children() {
|
2121
|
-
var t =
|
2122
|
-
return v(t, g(
|
2078
|
+
var t = ir();
|
2079
|
+
return v(t, g(_, {
|
2123
2080
|
get each() {
|
2124
2081
|
return e.config.options;
|
2125
2082
|
},
|
2126
2083
|
children: (r) => (() => {
|
2127
|
-
var a =
|
2084
|
+
var a = sr(), o = a.firstChild, i = o.nextSibling;
|
2128
2085
|
return o.addEventListener("change", () => n(r.value)), v(i, () => r.label), b((l) => {
|
2129
2086
|
var s = e.config.id, c = e.config.required;
|
2130
2087
|
return s !== l.e && d(o, "name", l.e = s), c !== l.t && (o.required = l.t = c), l;
|
@@ -2137,24 +2094,24 @@ const br = (e) => {
|
|
2137
2094
|
}
|
2138
2095
|
});
|
2139
2096
|
};
|
2140
|
-
var
|
2141
|
-
const
|
2097
|
+
var cr = /* @__PURE__ */ w("<div class=echo-select-dropdown role=listbox>"), dr = /* @__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>'), ur = /* @__PURE__ */ w("<button type=button class=echo-select-option role=option>");
|
2098
|
+
const hr = (e) => {
|
2142
2099
|
const {
|
2143
2100
|
handleSelectChange: n
|
2144
|
-
} =
|
2101
|
+
} = ce(e.onChange), [t, r] = I(!1);
|
2145
2102
|
let a, o, i;
|
2146
2103
|
const l = () => e.config.options.find((h) => h.value === (e.value === void 0 ? "" : e.value)), s = (h, f) => {
|
2147
2104
|
f.stopPropagation(), h.value === e.value ? e.config.required || n("") : n(h.value), r(!1);
|
2148
2105
|
}, c = () => {
|
2149
2106
|
r(!t());
|
2150
2107
|
};
|
2151
|
-
return
|
2108
|
+
return D({
|
2152
2109
|
event: "mousedown",
|
2153
2110
|
callback: (h) => {
|
2154
2111
|
if (!t() || !a) return;
|
2155
2112
|
h.composedPath().includes(a) || r(!1);
|
2156
2113
|
}
|
2157
|
-
}), g(
|
2114
|
+
}), g(de, {
|
2158
2115
|
get label() {
|
2159
2116
|
return e.config.label;
|
2160
2117
|
},
|
@@ -2162,29 +2119,29 @@ const xr = (e) => {
|
|
2162
2119
|
return e.config.required;
|
2163
2120
|
},
|
2164
2121
|
get children() {
|
2165
|
-
var h =
|
2166
|
-
typeof
|
2122
|
+
var h = dr(), f = h.firstChild, m = f.firstChild, y = f.nextSibling, P = a;
|
2123
|
+
typeof P == "function" ? V(P, h) : a = h, f.$$click = (p) => {
|
2167
2124
|
p.stopPropagation(), c();
|
2168
2125
|
};
|
2169
2126
|
var S = o;
|
2170
|
-
typeof S == "function" ?
|
2127
|
+
typeof S == "function" ? V(S, f) : o = f, v(m, () => {
|
2171
2128
|
var p;
|
2172
2129
|
return ((p = l()) == null ? void 0 : p.label) || e.config.placeholder;
|
2173
|
-
}), v(h, g(
|
2130
|
+
}), v(h, g(F, {
|
2174
2131
|
get when() {
|
2175
2132
|
return t();
|
2176
2133
|
},
|
2177
2134
|
get children() {
|
2178
|
-
var p =
|
2179
|
-
return v(p, g(
|
2135
|
+
var p = cr();
|
2136
|
+
return v(p, g(_, {
|
2180
2137
|
get each() {
|
2181
2138
|
return e.config.options;
|
2182
2139
|
},
|
2183
|
-
children: (
|
2184
|
-
var z =
|
2185
|
-
return z.$$click = (x) => s(
|
2186
|
-
var
|
2187
|
-
return
|
2140
|
+
children: (E) => (() => {
|
2141
|
+
var z = ur();
|
2142
|
+
return z.$$click = (x) => s(E, x), v(z, () => E.label), b((x) => {
|
2143
|
+
var W = E.value === e.value, q = E.value === e.value;
|
2144
|
+
return W !== x.e && d(z, "aria-selected", x.e = W), q !== x.t && d(z, "data-selected", x.t = q), x;
|
2188
2145
|
}, {
|
2189
2146
|
e: void 0,
|
2190
2147
|
t: void 0
|
@@ -2194,9 +2151,9 @@ const xr = (e) => {
|
|
2194
2151
|
}
|
2195
2152
|
}), y);
|
2196
2153
|
var C = i;
|
2197
|
-
return typeof C == "function" ?
|
2198
|
-
var
|
2199
|
-
return
|
2154
|
+
return typeof C == "function" ? V(C, y) : i = y, b((p) => {
|
2155
|
+
var E = t(), z = !e.value, x = e.config.required, W = t(), q = e.config.required, M = e.config.required;
|
2156
|
+
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), W !== p.o && d(f, "aria-expanded", p.o = W), q !== p.i && d(f, "aria-required", p.i = q), M !== p.n && (y.required = p.n = M), p;
|
2200
2157
|
}, {
|
2201
2158
|
e: void 0,
|
2202
2159
|
t: void 0,
|
@@ -2208,13 +2165,13 @@ const xr = (e) => {
|
|
2208
2165
|
}
|
2209
2166
|
});
|
2210
2167
|
};
|
2211
|
-
|
2212
|
-
var
|
2213
|
-
const
|
2168
|
+
T(["click"]);
|
2169
|
+
var gr = /* @__PURE__ */ w("<input type=text class=echo-input-field>");
|
2170
|
+
const fr = (e) => {
|
2214
2171
|
const {
|
2215
2172
|
handleTextChange: n
|
2216
|
-
} =
|
2217
|
-
return g(
|
2173
|
+
} = ce(e.onChange);
|
2174
|
+
return g(de, {
|
2218
2175
|
get label() {
|
2219
2176
|
return e.config.label;
|
2220
2177
|
},
|
@@ -2222,8 +2179,8 @@ const Sr = (e) => {
|
|
2222
2179
|
return e.config.required;
|
2223
2180
|
},
|
2224
2181
|
get children() {
|
2225
|
-
var t =
|
2226
|
-
return
|
2182
|
+
var t = gr();
|
2183
|
+
return H(t, "input", n, !0), b((r) => {
|
2227
2184
|
var a = e.config.placeholder, o = e.config.required, i = e.config.disabled;
|
2228
2185
|
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;
|
2229
2186
|
}, {
|
@@ -2234,31 +2191,31 @@ const Sr = (e) => {
|
|
2234
2191
|
}
|
2235
2192
|
});
|
2236
2193
|
};
|
2237
|
-
|
2238
|
-
var
|
2239
|
-
const
|
2194
|
+
T(["input"]);
|
2195
|
+
var mr = /* @__PURE__ */ w("<div class=echo-input-error>Invalid input type"), vr = /* @__PURE__ */ w("<div class=echo-input-error>Unsupported input type: ");
|
2196
|
+
const br = (e) => g(F, {
|
2240
2197
|
get when() {
|
2241
2198
|
return e.config.type;
|
2242
2199
|
},
|
2243
2200
|
keyed: !0,
|
2244
2201
|
get fallback() {
|
2245
|
-
return
|
2202
|
+
return mr();
|
2246
2203
|
},
|
2247
2204
|
get children() {
|
2248
|
-
return g(
|
2205
|
+
return g(lt, {
|
2249
2206
|
get fallback() {
|
2250
2207
|
return (() => {
|
2251
|
-
var n =
|
2208
|
+
var n = vr();
|
2252
2209
|
return n.firstChild, v(n, () => e.config.type, null), n;
|
2253
2210
|
})();
|
2254
2211
|
},
|
2255
2212
|
get children() {
|
2256
|
-
return [g(
|
2213
|
+
return [g(te, {
|
2257
2214
|
get when() {
|
2258
2215
|
return e.config.type === "text";
|
2259
2216
|
},
|
2260
2217
|
get children() {
|
2261
|
-
return g(
|
2218
|
+
return g(fr, re(e, {
|
2262
2219
|
get value() {
|
2263
2220
|
return e.value;
|
2264
2221
|
},
|
@@ -2267,12 +2224,12 @@ const Er = (e) => g(D, {
|
|
2267
2224
|
}
|
2268
2225
|
}));
|
2269
2226
|
}
|
2270
|
-
}), g(
|
2227
|
+
}), g(te, {
|
2271
2228
|
get when() {
|
2272
2229
|
return e.config.type === "textarea";
|
2273
2230
|
},
|
2274
2231
|
get children() {
|
2275
|
-
return g(
|
2232
|
+
return g(rt, {
|
2276
2233
|
get config() {
|
2277
2234
|
return e.config;
|
2278
2235
|
},
|
@@ -2284,12 +2241,12 @@ const Er = (e) => g(D, {
|
|
2284
2241
|
}
|
2285
2242
|
});
|
2286
2243
|
}
|
2287
|
-
}), g(
|
2244
|
+
}), g(te, {
|
2288
2245
|
get when() {
|
2289
2246
|
return e.config.type === "radio";
|
2290
2247
|
},
|
2291
2248
|
get children() {
|
2292
|
-
return g(
|
2249
|
+
return g(lr, {
|
2293
2250
|
get config() {
|
2294
2251
|
return e.config;
|
2295
2252
|
},
|
@@ -2301,12 +2258,12 @@ const Er = (e) => g(D, {
|
|
2301
2258
|
}
|
2302
2259
|
});
|
2303
2260
|
}
|
2304
|
-
}), g(
|
2261
|
+
}), g(te, {
|
2305
2262
|
get when() {
|
2306
2263
|
return e.config.type === "checkbox";
|
2307
2264
|
},
|
2308
2265
|
get children() {
|
2309
|
-
return g(
|
2266
|
+
return g(ar, {
|
2310
2267
|
get config() {
|
2311
2268
|
return e.config;
|
2312
2269
|
},
|
@@ -2318,12 +2275,12 @@ const Er = (e) => g(D, {
|
|
2318
2275
|
}
|
2319
2276
|
});
|
2320
2277
|
}
|
2321
|
-
}), g(
|
2278
|
+
}), g(te, {
|
2322
2279
|
get when() {
|
2323
2280
|
return e.config.type === "select";
|
2324
2281
|
},
|
2325
2282
|
get children() {
|
2326
|
-
return g(
|
2283
|
+
return g(hr, {
|
2327
2284
|
get config() {
|
2328
2285
|
return e.config;
|
2329
2286
|
},
|
@@ -2339,7 +2296,7 @@ const Er = (e) => g(D, {
|
|
2339
2296
|
}
|
2340
2297
|
});
|
2341
2298
|
}
|
2342
|
-
}),
|
2299
|
+
}), wr = () => {
|
2343
2300
|
const e = navigator.connection;
|
2344
2301
|
return {
|
2345
2302
|
effectiveType: e == null ? void 0 : e.effectiveType,
|
@@ -2347,7 +2304,7 @@ const Er = (e) => g(D, {
|
|
2347
2304
|
rtt: e == null ? void 0 : e.rtt,
|
2348
2305
|
saveData: e == null ? void 0 : e.saveData
|
2349
2306
|
};
|
2350
|
-
},
|
2307
|
+
}, yr = () => ({
|
2351
2308
|
width: window.innerWidth,
|
2352
2309
|
height: window.innerHeight,
|
2353
2310
|
screenWidth: window.screen.width,
|
@@ -2362,7 +2319,7 @@ const Er = (e) => g(D, {
|
|
2362
2319
|
pixelRatio: window.devicePixelRatio,
|
2363
2320
|
availableWidth: window.screen.availWidth,
|
2364
2321
|
availableHeight: window.screen.availHeight
|
2365
|
-
}),
|
2322
|
+
}), pr = () => {
|
2366
2323
|
const e = new URL(window.location.href), n = {};
|
2367
2324
|
return e.searchParams.forEach((t, r) => {
|
2368
2325
|
n[r] = t;
|
@@ -2373,25 +2330,25 @@ const Er = (e) => g(D, {
|
|
2373
2330
|
searchParams: n,
|
2374
2331
|
referrer: document.referrer
|
2375
2332
|
};
|
2376
|
-
},
|
2333
|
+
}, xr = () => ({
|
2377
2334
|
timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
|
2378
2335
|
localDateTime: (/* @__PURE__ */ new Date()).toISOString()
|
2379
|
-
}),
|
2336
|
+
}), kr = () => ({
|
2380
2337
|
userAgent: navigator.userAgent,
|
2381
|
-
browserInfo:
|
2382
|
-
networkInfo:
|
2383
|
-
locationInfo:
|
2384
|
-
timeInfo:
|
2385
|
-
console:
|
2338
|
+
browserInfo: yr(),
|
2339
|
+
networkInfo: wr(),
|
2340
|
+
locationInfo: pr(),
|
2341
|
+
timeInfo: xr(),
|
2342
|
+
console: Rt()
|
2386
2343
|
});
|
2387
|
-
var
|
2388
|
-
const
|
2344
|
+
var Sr = /* @__PURE__ */ w("<fieldset class=echo-input-options-wrapper><legend class=visually-hidden>Additional Information"), Cr = /* @__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>');
|
2345
|
+
const $r = () => {
|
2389
2346
|
const e = $(), n = async (a) => {
|
2390
2347
|
a.preventDefault();
|
2391
|
-
const o = await
|
2348
|
+
const o = await Yt(), i = {
|
2392
2349
|
message: e.feedback.state.message,
|
2393
2350
|
screenshot: o,
|
2394
|
-
metadata:
|
2351
|
+
metadata: kr(),
|
2395
2352
|
customInputs: e.feedback.state.customInputValues
|
2396
2353
|
};
|
2397
2354
|
e.methods.submit(i);
|
@@ -2404,16 +2361,16 @@ const Dr = () => {
|
|
2404
2361
|
isMinimized: !1
|
2405
2362
|
});
|
2406
2363
|
};
|
2407
|
-
return
|
2364
|
+
return U(() => {
|
2408
2365
|
e.widget.state.isOpen && requestAnimationFrame(() => {
|
2409
2366
|
var a;
|
2410
2367
|
(a = document.querySelector(".echo-input-field")) == null || a.focus();
|
2411
2368
|
});
|
2412
2369
|
}), (() => {
|
2413
|
-
var a =
|
2370
|
+
var a = Cr(), o = a.firstChild, i = o.firstChild, l = i.firstChild, s = l.nextSibling, c = i.nextSibling;
|
2414
2371
|
c.firstChild;
|
2415
2372
|
var u = c.nextSibling;
|
2416
|
-
return a.$$click = () => e.feedback.state.isMinimized && r(), o.addEventListener("submit", n), v(l, () => e.widget.state.text.feedbackForm.title), v(s, g(
|
2373
|
+
return a.$$click = () => e.feedback.state.isMinimized && r(), o.addEventListener("submit", n), v(l, () => e.widget.state.text.feedbackForm.title), v(s, g(R, {
|
2417
2374
|
type: "button",
|
2418
2375
|
title: "Hide form",
|
2419
2376
|
variant: "secondary",
|
@@ -2421,11 +2378,11 @@ const Dr = () => {
|
|
2421
2378
|
onClick: t,
|
2422
2379
|
"aria-label": "Minimize feedback form",
|
2423
2380
|
get children() {
|
2424
|
-
return g(
|
2381
|
+
return g(un, {
|
2425
2382
|
size: 20
|
2426
2383
|
});
|
2427
2384
|
}
|
2428
|
-
}), null), v(s, g(
|
2385
|
+
}), null), v(s, g(R, {
|
2429
2386
|
type: "button",
|
2430
2387
|
title: "Close form",
|
2431
2388
|
variant: "secondary",
|
@@ -2435,11 +2392,11 @@ const Dr = () => {
|
|
2435
2392
|
}),
|
2436
2393
|
"aria-label": "Close feedback form",
|
2437
2394
|
get children() {
|
2438
|
-
return g(
|
2395
|
+
return g(be, {
|
2439
2396
|
size: 20
|
2440
2397
|
});
|
2441
2398
|
}
|
2442
|
-
}), null), v(c, g(
|
2399
|
+
}), null), v(c, g(rt, {
|
2443
2400
|
get config() {
|
2444
2401
|
return {
|
2445
2402
|
type: "textarea",
|
@@ -2455,18 +2412,18 @@ const Dr = () => {
|
|
2455
2412
|
onChange: (h) => e.feedback.setState({
|
2456
2413
|
message: h
|
2457
2414
|
})
|
2458
|
-
}), null), v(o, g(
|
2415
|
+
}), null), v(o, g(F, {
|
2459
2416
|
get when() {
|
2460
2417
|
var h;
|
2461
2418
|
return (h = e.widget.state.customInputs) == null ? void 0 : h.length;
|
2462
2419
|
},
|
2463
2420
|
get children() {
|
2464
|
-
var h =
|
2465
|
-
return h.firstChild, v(h, g(
|
2421
|
+
var h = Sr();
|
2422
|
+
return h.firstChild, v(h, g(_, {
|
2466
2423
|
get each() {
|
2467
2424
|
return e.widget.state.customInputs;
|
2468
2425
|
},
|
2469
|
-
children: (f) => g(
|
2426
|
+
children: (f) => g(br, {
|
2470
2427
|
config: f,
|
2471
2428
|
get value() {
|
2472
2429
|
return e.feedback.state.customInputValues[f.id];
|
@@ -2480,7 +2437,7 @@ const Dr = () => {
|
|
2480
2437
|
})
|
2481
2438
|
}), null), h;
|
2482
2439
|
}
|
2483
|
-
}), u), v(u, g(
|
2440
|
+
}), u), v(u, g(R, {
|
2484
2441
|
type: "submit",
|
2485
2442
|
variant: "primary",
|
2486
2443
|
size: "lg",
|
@@ -2501,73 +2458,90 @@ const Dr = () => {
|
|
2501
2458
|
}), a;
|
2502
2459
|
})();
|
2503
2460
|
};
|
2504
|
-
|
2505
|
-
var
|
2506
|
-
const
|
2507
|
-
const [n, t] =
|
2508
|
-
return
|
2461
|
+
T(["click"]);
|
2462
|
+
var Pr = /* @__PURE__ */ w("<style>"), Er = /* @__PURE__ */ w("<div class=echo-launcher>"), zr = /* @__PURE__ */ w("<dialog class=echo-overlay>"), Ir = /* @__PURE__ */ w("<div class=echo-root>");
|
2463
|
+
const Tr = (e) => {
|
2464
|
+
const [n, t] = I();
|
2465
|
+
return U(() => {
|
2509
2466
|
const r = n();
|
2510
|
-
r &&
|
2511
|
-
}), g(
|
2467
|
+
r && Ht(r.shadowRoot);
|
2468
|
+
}), g(Et, {
|
2512
2469
|
ref: t,
|
2513
2470
|
useShadow: !0,
|
2514
2471
|
get mount() {
|
2515
2472
|
return document.body;
|
2516
2473
|
},
|
2517
2474
|
get children() {
|
2518
|
-
return g(
|
2475
|
+
return g(en, re(e, {
|
2519
2476
|
get children() {
|
2520
|
-
return g(
|
2477
|
+
return g(Dr, {
|
2521
2478
|
get children() {
|
2522
|
-
return [g(
|
2479
|
+
return [g(Or, {
|
2523
2480
|
get primaryColor() {
|
2524
2481
|
return e.primaryColor;
|
2525
2482
|
}
|
2526
|
-
}), g(
|
2483
|
+
}), g(Mr, {})];
|
2527
2484
|
}
|
2528
2485
|
});
|
2529
2486
|
}
|
2530
2487
|
}));
|
2531
2488
|
}
|
2532
2489
|
});
|
2533
|
-
},
|
2534
|
-
const [n, t] =
|
2535
|
-
return
|
2490
|
+
}, Or = (e) => {
|
2491
|
+
const [n, t] = I("");
|
2492
|
+
return U(() => {
|
2536
2493
|
const r = `
|
2537
2494
|
.echo-root {
|
2538
2495
|
--primary-color: ${e.primaryColor};
|
2539
|
-
--primary-text-color: ${
|
2496
|
+
--primary-text-color: ${qt(e.primaryColor)};
|
2540
2497
|
}
|
2541
2498
|
`;
|
2542
2499
|
t(r);
|
2543
2500
|
}), (() => {
|
2544
|
-
var r =
|
2545
|
-
return v(r,
|
2501
|
+
var r = Pr();
|
2502
|
+
return v(r, rn, null), v(r, n, null), r;
|
2546
2503
|
})();
|
2547
|
-
},
|
2504
|
+
}, Mr = () => {
|
2548
2505
|
const e = $();
|
2549
2506
|
return [(() => {
|
2550
|
-
var n =
|
2551
|
-
return v(n, g(
|
2552
|
-
|
2507
|
+
var n = Er();
|
2508
|
+
return v(n, g(qn, {}), null), v(n, g(Hn, {}), null), v(n, g(Bn, {}), null), b((t) => {
|
2509
|
+
var r = {
|
2510
|
+
...e.widget.state.position.includes("top") ? {
|
2511
|
+
top: "var(--spacing-xl)"
|
2512
|
+
} : {
|
2513
|
+
bottom: "var(--spacing-xl)"
|
2514
|
+
},
|
2515
|
+
...e.widget.state.position.includes("left") ? {
|
2516
|
+
left: "var(--spacing-xl)"
|
2517
|
+
} : {
|
2518
|
+
right: "var(--spacing-xl)"
|
2519
|
+
}
|
2520
|
+
}, a = e.widget.state.isOpen;
|
2521
|
+
return t.e = O(n, r, t.e), a !== t.t && d(n, "data-hidden", t.t = a), t;
|
2522
|
+
}, {
|
2523
|
+
e: void 0,
|
2524
|
+
t: void 0
|
2525
|
+
}), n;
|
2526
|
+
})(), g(Ar, {
|
2553
2527
|
get children() {
|
2554
|
-
return [g(
|
2528
|
+
return [g($r, {}), g(En, {}), g(Jn, {})];
|
2555
2529
|
}
|
2556
2530
|
})];
|
2557
|
-
},
|
2558
|
-
const [n, t] =
|
2559
|
-
return
|
2531
|
+
}, Ar = (e) => {
|
2532
|
+
const [n, t] = I(), r = $(), a = tn(() => n());
|
2533
|
+
return U(() => {
|
2560
2534
|
n() && r.widget.setState({
|
2561
2535
|
dimensions: a()
|
2562
2536
|
});
|
2563
|
-
}),
|
2537
|
+
}), U(() => {
|
2564
2538
|
var o, i;
|
2565
2539
|
r.widget.state.isOpen ? (o = n()) == null || o.showModal() : (i = n()) == null || i.close();
|
2566
2540
|
}), (() => {
|
2567
|
-
var o =
|
2541
|
+
var o = zr();
|
2568
2542
|
return o.addEventListener("close", () => r.widget.setState({
|
2569
2543
|
isOpen: !1
|
2570
|
-
})),
|
2544
|
+
})), V(t, o), v(o, () => e.children), b((i) => {
|
2571
2545
|
var l = `${a().height}px`, s = `${a().width}px`, c = !r.widget.state.isOpen;
|
2572
2546
|
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;
|
2573
2547
|
}, {
|
@@ -2576,21 +2550,19 @@ const qr = (e) => {
|
|
2576
2550
|
a: void 0
|
2577
2551
|
}), o;
|
2578
2552
|
})();
|
2579
|
-
},
|
2553
|
+
}, Dr = (e) => {
|
2580
2554
|
const n = $();
|
2581
|
-
return
|
2555
|
+
return nn({
|
2582
2556
|
onUrlChange: (t) => n.methods.handlePageChange(t)
|
2583
|
-
}),
|
2584
|
-
|
2585
|
-
|
2586
|
-
|
2587
|
-
}), te(() => {
|
2588
|
-
Yt(), Qt();
|
2557
|
+
}), ve(() => {
|
2558
|
+
Vt();
|
2559
|
+
}), ee(() => {
|
2560
|
+
Bt();
|
2589
2561
|
}), (() => {
|
2590
|
-
var t =
|
2562
|
+
var t = Ir();
|
2591
2563
|
return v(t, () => e.children), b(() => d(t, "data-drawing", n.drawing.state.isDrawing)), t;
|
2592
2564
|
})();
|
2593
|
-
},
|
2565
|
+
}, Fr = {
|
2594
2566
|
welcomeMessage: {
|
2595
2567
|
text: "Click here to leave feedback",
|
2596
2568
|
closeAriaLabel: "Close welcome message"
|
@@ -2615,11 +2587,11 @@ const qr = (e) => {
|
|
2615
2587
|
text: "Click & drag to draw"
|
2616
2588
|
}
|
2617
2589
|
};
|
2618
|
-
let
|
2619
|
-
function
|
2620
|
-
|
2590
|
+
let he = null;
|
2591
|
+
function Nr(e) {
|
2592
|
+
he && (console.warn("Echo widget is already initialized. Cleaning up previous instance..."), he());
|
2621
2593
|
try {
|
2622
|
-
|
2594
|
+
Gt(e);
|
2623
2595
|
const {
|
2624
2596
|
position: n = "bottom-right",
|
2625
2597
|
primaryColor: t = "#6227dc",
|
@@ -2627,9 +2599,9 @@ function Yr(e) {
|
|
2627
2599
|
textConfig: a = {},
|
2628
2600
|
customInputs: o = [],
|
2629
2601
|
disableMinimization: i = !1
|
2630
|
-
} = e, l =
|
2602
|
+
} = e, l = We(Fr, a), s = document.createElement("div");
|
2631
2603
|
document.body.appendChild(s);
|
2632
|
-
const c =
|
2604
|
+
const c = wt(() => g(Tr, {
|
2633
2605
|
position: n,
|
2634
2606
|
primaryColor: t,
|
2635
2607
|
textConfig: l,
|
@@ -2639,15 +2611,15 @@ function Yr(e) {
|
|
2639
2611
|
}), s);
|
2640
2612
|
s.remove();
|
2641
2613
|
const u = () => {
|
2642
|
-
c(),
|
2614
|
+
c(), he = null;
|
2643
2615
|
};
|
2644
2616
|
return window.addEventListener("unload", u, {
|
2645
2617
|
once: !0
|
2646
|
-
}),
|
2618
|
+
}), he = u, u;
|
2647
2619
|
} catch (n) {
|
2648
2620
|
throw console.error("Echo initialization failed:", n), n;
|
2649
2621
|
}
|
2650
2622
|
}
|
2651
2623
|
export {
|
2652
|
-
|
2624
|
+
Nr as initEcho
|
2653
2625
|
};
|