@contember/echo 0.0.33-beta.5 → 0.0.33-beta.7

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