@contember/echo 0.0.33-beta.3 → 0.0.33-beta.4

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