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

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