@contember/echo 0.0.26 → 0.0.28

Sign up to get free protection for your applications and to get access to all the features.
package/dist/echo.es.js CHANGED
@@ -1,6 +1,6 @@
1
- import { sharedConfig as $, createRoot as Te, createRenderEffect as w, getOwner as pe, createEffect as ne, runWithOwner as Ge, createMemo as x, createSignal as D, onCleanup as K, untrack as Ie, onMount as fe, $PROXY as A, $TRACK as xe, getListener as ce, batch as Je, createContext as qe, createComponent as f, useContext as Qe, For as re, mergeProps as Z, Show as j } from "solid-js";
2
- import Ze from "html2canvas";
3
- const et = [
1
+ import { sharedConfig as P, createRoot as Te, createRenderEffect as w, getOwner as pe, createEffect as oe, runWithOwner as Xe, createMemo as p, createSignal as M, onCleanup as K, untrack as Ie, onMount as fe, $PROXY as A, $TRACK as xe, getListener as ce, batch as Ge, createContext as Je, createComponent as g, useContext as qe, For as re, mergeProps as Z, Show as j } from "solid-js";
2
+ import Qe from "html2canvas";
3
+ const Ze = [
4
4
  "allowfullscreen",
5
5
  "async",
6
6
  "autofocus",
@@ -26,7 +26,7 @@ const et = [
26
26
  "reversed",
27
27
  "seamless",
28
28
  "selected"
29
- ], tt = /* @__PURE__ */ new Set([
29
+ ], et = /* @__PURE__ */ new Set([
30
30
  "className",
31
31
  "value",
32
32
  "readOnly",
@@ -34,8 +34,8 @@ const et = [
34
34
  "isMap",
35
35
  "noModule",
36
36
  "playsInline",
37
- ...et
38
- ]), ot = /* @__PURE__ */ new Set([
37
+ ...Ze
38
+ ]), tt = /* @__PURE__ */ new Set([
39
39
  "innerHTML",
40
40
  "textContent",
41
41
  "innerText",
@@ -43,7 +43,7 @@ const et = [
43
43
  ]), nt = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(null), {
44
44
  className: "class",
45
45
  htmlFor: "for"
46
- }), rt = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(null), {
46
+ }), ot = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(null), {
47
47
  class: "className",
48
48
  formnovalidate: {
49
49
  $: "formNoValidate",
@@ -68,11 +68,11 @@ const et = [
68
68
  TEXTAREA: 1
69
69
  }
70
70
  });
71
- function it(e, t) {
72
- const o = rt[e];
73
- return typeof o == "object" ? o[t] ? o.$ : void 0 : o;
71
+ function rt(e, t) {
72
+ const n = ot[e];
73
+ return typeof n == "object" ? n[t] ? n.$ : void 0 : n;
74
74
  }
75
- const at = /* @__PURE__ */ new Set([
75
+ const it = /* @__PURE__ */ new Set([
76
76
  "beforeinput",
77
77
  "click",
78
78
  "dblclick",
@@ -96,196 +96,196 @@ const at = /* @__PURE__ */ new Set([
96
96
  "touchmove",
97
97
  "touchstart"
98
98
  ]);
99
- function st(e, t, o) {
100
- let n = o.length, r = t.length, i = n, a = 0, l = 0, s = t[r - 1].nextSibling, c = null;
101
- for (; a < r || l < i; ) {
102
- if (t[a] === o[l]) {
99
+ function at(e, t, n) {
100
+ let o = n.length, i = t.length, r = o, a = 0, l = 0, s = t[i - 1].nextSibling, c = null;
101
+ for (; a < i || l < r; ) {
102
+ if (t[a] === n[l]) {
103
103
  a++, l++;
104
104
  continue;
105
105
  }
106
- for (; t[r - 1] === o[i - 1]; )
107
- r--, i--;
108
- if (r === a) {
109
- const d = i < n ? l ? o[l - 1].nextSibling : o[i - l] : s;
110
- for (; l < i; ) e.insertBefore(o[l++], d);
111
- } else if (i === l)
112
- for (; a < r; )
106
+ for (; t[i - 1] === n[r - 1]; )
107
+ i--, r--;
108
+ if (i === a) {
109
+ const d = r < o ? l ? n[l - 1].nextSibling : n[r - l] : s;
110
+ for (; l < r; ) e.insertBefore(n[l++], d);
111
+ } else if (r === l)
112
+ for (; a < i; )
113
113
  (!c || !c.has(t[a])) && t[a].remove(), a++;
114
- else if (t[a] === o[i - 1] && o[l] === t[r - 1]) {
115
- const d = t[--r].nextSibling;
116
- e.insertBefore(o[l++], t[a++].nextSibling), e.insertBefore(o[--i], d), t[r] = o[i];
114
+ else if (t[a] === n[r - 1] && n[l] === t[i - 1]) {
115
+ const d = t[--i].nextSibling;
116
+ e.insertBefore(n[l++], t[a++].nextSibling), e.insertBefore(n[--r], d), t[i] = n[r];
117
117
  } else {
118
118
  if (!c) {
119
119
  c = /* @__PURE__ */ new Map();
120
120
  let u = l;
121
- for (; u < i; ) c.set(o[u], u++);
121
+ for (; u < r; ) c.set(n[u], u++);
122
122
  }
123
123
  const d = c.get(t[a]);
124
124
  if (d != null)
125
- if (l < d && d < i) {
126
- let u = a, g = 1, m;
127
- for (; ++u < r && u < i && !((m = c.get(t[u])) == null || m !== d + g); )
128
- g++;
129
- if (g > d - l) {
125
+ if (l < d && d < r) {
126
+ let u = a, f = 1, v;
127
+ for (; ++u < i && u < r && !((v = c.get(t[u])) == null || v !== d + f); )
128
+ f++;
129
+ if (f > d - l) {
130
130
  const y = t[a];
131
- for (; l < d; ) e.insertBefore(o[l++], y);
132
- } else e.replaceChild(o[l++], t[a++]);
131
+ for (; l < d; ) e.insertBefore(n[l++], y);
132
+ } else e.replaceChild(n[l++], t[a++]);
133
133
  } else a++;
134
134
  else t[a++].remove();
135
135
  }
136
136
  }
137
137
  }
138
138
  const ke = "_$DX_DELEGATE";
139
- function lt(e, t, o, n = {}) {
140
- let r;
141
- return Te((i) => {
142
- r = i, t === document ? e() : v(t, e(), t.firstChild ? null : void 0, o);
143
- }, n.owner), () => {
144
- r(), t.textContent = "";
139
+ function st(e, t, n, o = {}) {
140
+ let i;
141
+ return Te((r) => {
142
+ i = r, t === document ? e() : m(t, e(), t.firstChild ? null : void 0, n);
143
+ }, o.owner), () => {
144
+ i(), t.textContent = "";
145
145
  };
146
146
  }
147
- function b(e, t, o) {
148
- let n;
149
- const r = () => {
147
+ function b(e, t, n) {
148
+ let o;
149
+ const i = () => {
150
150
  const a = document.createElement("template");
151
- return a.innerHTML = e, o ? a.content.firstChild.firstChild : a.content.firstChild;
152
- }, i = t ? () => Ie(() => document.importNode(n || (n = r()), !0)) : () => (n || (n = r())).cloneNode(!0);
153
- return i.cloneNode = i, i;
151
+ return a.innerHTML = e, n ? a.content.firstChild.firstChild : a.content.firstChild;
152
+ }, r = t ? () => Ie(() => document.importNode(o || (o = i()), !0)) : () => (o || (o = i())).cloneNode(!0);
153
+ return r.cloneNode = r, r;
154
154
  }
155
- function I(e, t = window.document) {
156
- const o = t[ke] || (t[ke] = /* @__PURE__ */ new Set());
157
- for (let n = 0, r = e.length; n < r; n++) {
158
- const i = e[n];
159
- o.has(i) || (o.add(i), t.addEventListener(i, gt));
155
+ function T(e, t = window.document) {
156
+ const n = t[ke] || (t[ke] = /* @__PURE__ */ new Set());
157
+ for (let o = 0, i = e.length; o < i; o++) {
158
+ const r = e[o];
159
+ n.has(r) || (n.add(r), t.addEventListener(r, ft));
160
160
  }
161
161
  }
162
- function h(e, t, o) {
163
- J(e) || (o == null ? e.removeAttribute(t) : e.setAttribute(t, o));
162
+ function h(e, t, n) {
163
+ J(e) || (n == null ? e.removeAttribute(t) : e.setAttribute(t, n));
164
164
  }
165
- function ct(e, t, o) {
166
- J(e) || (o ? e.setAttribute(t, "") : e.removeAttribute(t));
165
+ function lt(e, t, n) {
166
+ J(e) || (n ? e.setAttribute(t, "") : e.removeAttribute(t));
167
167
  }
168
- function Me(e, t) {
168
+ function De(e, t) {
169
169
  J(e) || (t == null ? e.removeAttribute("class") : e.className = t);
170
170
  }
171
- function _(e, t, o, n) {
172
- if (n)
173
- Array.isArray(o) ? (e[`$$${t}`] = o[0], e[`$$${t}Data`] = o[1]) : e[`$$${t}`] = o;
174
- else if (Array.isArray(o)) {
175
- const r = o[0];
176
- e.addEventListener(t, o[0] = (i) => r.call(e, o[1], i));
177
- } else e.addEventListener(t, o, typeof o != "function" && o);
171
+ function _(e, t, n, o) {
172
+ if (o)
173
+ Array.isArray(n) ? (e[`$$${t}`] = n[0], e[`$$${t}Data`] = n[1]) : e[`$$${t}`] = n;
174
+ else if (Array.isArray(n)) {
175
+ const i = n[0];
176
+ e.addEventListener(t, n[0] = (r) => i.call(e, n[1], r));
177
+ } else e.addEventListener(t, n, typeof n != "function" && n);
178
178
  }
179
- function dt(e, t, o = {}) {
180
- const n = Object.keys(t || {}), r = Object.keys(o);
181
- let i, a;
182
- for (i = 0, a = r.length; i < a; i++) {
183
- const l = r[i];
184
- !l || l === "undefined" || t[l] || (Se(e, l, !1), delete o[l]);
179
+ function ct(e, t, n = {}) {
180
+ const o = Object.keys(t || {}), i = Object.keys(n);
181
+ let r, a;
182
+ for (r = 0, a = i.length; r < a; r++) {
183
+ const l = i[r];
184
+ !l || l === "undefined" || t[l] || (Se(e, l, !1), delete n[l]);
185
185
  }
186
- for (i = 0, a = n.length; i < a; i++) {
187
- const l = n[i], s = !!t[l];
188
- !l || l === "undefined" || o[l] === s || !s || (Se(e, l, !0), o[l] = s);
186
+ for (r = 0, a = o.length; r < a; r++) {
187
+ const l = o[r], s = !!t[l];
188
+ !l || l === "undefined" || n[l] === s || !s || (Se(e, l, !0), n[l] = s);
189
189
  }
190
- return o;
190
+ return n;
191
191
  }
192
- function P(e, t, o) {
193
- if (!t) return o ? h(e, "style") : t;
194
- const n = e.style;
195
- if (typeof t == "string") return n.cssText = t;
196
- typeof o == "string" && (n.cssText = o = void 0), o || (o = {}), t || (t = {});
197
- let r, i;
198
- for (i in o)
199
- t[i] == null && n.removeProperty(i), delete o[i];
200
- for (i in t)
201
- r = t[i], r !== o[i] && (n.setProperty(i, r), o[i] = r);
202
- return o;
192
+ function C(e, t, n) {
193
+ if (!t) return n ? h(e, "style") : t;
194
+ const o = e.style;
195
+ if (typeof t == "string") return o.cssText = t;
196
+ typeof n == "string" && (o.cssText = n = void 0), n || (n = {}), t || (t = {});
197
+ let i, r;
198
+ for (r in n)
199
+ t[r] == null && o.removeProperty(r), delete n[r];
200
+ for (r in t)
201
+ i = t[r], i !== n[r] && (o.setProperty(r, i), n[r] = i);
202
+ return n;
203
203
  }
204
- function ht(e, t = {}, o, n) {
205
- const r = {};
204
+ function dt(e, t = {}, n, o) {
205
+ const i = {};
206
206
  return w(
207
- () => r.children = V(e, t.children, r.children)
208
- ), w(() => typeof t.ref == "function" && G(t.ref, e)), w(() => ut(e, t, o, !0, r, !0)), r;
207
+ () => i.children = V(e, t.children, i.children)
208
+ ), w(() => typeof t.ref == "function" && G(t.ref, e)), w(() => ht(e, t, n, !0, i, !0)), i;
209
209
  }
210
- function G(e, t, o) {
211
- return Ie(() => e(t, o));
210
+ function G(e, t, n) {
211
+ return Ie(() => e(t, n));
212
212
  }
213
- function v(e, t, o, n) {
214
- if (o !== void 0 && !n && (n = []), typeof t != "function") return V(e, t, n, o);
215
- w((r) => V(e, t(), r, o), n);
213
+ function m(e, t, n, o) {
214
+ if (n !== void 0 && !o && (o = []), typeof t != "function") return V(e, t, o, n);
215
+ w((i) => V(e, t(), i, n), o);
216
216
  }
217
- function ut(e, t, o, n, r = {}, i = !1) {
217
+ function ht(e, t, n, o, i = {}, r = !1) {
218
218
  t || (t = {});
219
- for (const a in r)
219
+ for (const a in i)
220
220
  if (!(a in t)) {
221
221
  if (a === "children") continue;
222
- r[a] = Ce(e, a, null, r[a], o, i, t);
222
+ i[a] = Ce(e, a, null, i[a], n, r, t);
223
223
  }
224
224
  for (const a in t) {
225
225
  if (a === "children")
226
226
  continue;
227
227
  const l = t[a];
228
- r[a] = Ce(e, a, l, r[a], o, i, t);
228
+ i[a] = Ce(e, a, l, i[a], n, r, t);
229
229
  }
230
230
  }
231
231
  function J(e) {
232
- return !!$.context && !$.done && (!e || e.isConnected);
232
+ return !!P.context && !P.done && (!e || e.isConnected);
233
233
  }
234
- function ft(e) {
235
- return e.toLowerCase().replace(/-([a-z])/g, (t, o) => o.toUpperCase());
234
+ function ut(e) {
235
+ return e.toLowerCase().replace(/-([a-z])/g, (t, n) => n.toUpperCase());
236
236
  }
237
- function Se(e, t, o) {
238
- const n = t.trim().split(/\s+/);
239
- for (let r = 0, i = n.length; r < i; r++)
240
- e.classList.toggle(n[r], o);
237
+ function Se(e, t, n) {
238
+ const o = t.trim().split(/\s+/);
239
+ for (let i = 0, r = o.length; i < r; i++)
240
+ e.classList.toggle(o[i], n);
241
241
  }
242
- function Ce(e, t, o, n, r, i, a) {
242
+ function Ce(e, t, n, o, i, r, a) {
243
243
  let l, s, c, d, u;
244
- if (t === "style") return P(e, o, n);
245
- if (t === "classList") return dt(e, o, n);
246
- if (o === n) return n;
244
+ if (t === "style") return C(e, n, o);
245
+ if (t === "classList") return ct(e, n, o);
246
+ if (n === o) return o;
247
247
  if (t === "ref")
248
- i || o(e);
248
+ r || n(e);
249
249
  else if (t.slice(0, 3) === "on:") {
250
- const g = t.slice(3);
251
- n && e.removeEventListener(g, n, typeof n != "function" && n), o && e.addEventListener(g, o, typeof o != "function" && o);
250
+ const f = t.slice(3);
251
+ o && e.removeEventListener(f, o, typeof o != "function" && o), n && e.addEventListener(f, n, typeof n != "function" && n);
252
252
  } else if (t.slice(0, 10) === "oncapture:") {
253
- const g = t.slice(10);
254
- n && e.removeEventListener(g, n, !0), o && e.addEventListener(g, o, !0);
253
+ const f = t.slice(10);
254
+ o && e.removeEventListener(f, o, !0), n && e.addEventListener(f, n, !0);
255
255
  } else if (t.slice(0, 2) === "on") {
256
- const g = t.slice(2).toLowerCase(), m = at.has(g);
257
- if (!m && n) {
258
- const y = Array.isArray(n) ? n[0] : n;
259
- e.removeEventListener(g, y);
256
+ const f = t.slice(2).toLowerCase(), v = it.has(f);
257
+ if (!v && o) {
258
+ const y = Array.isArray(o) ? o[0] : o;
259
+ e.removeEventListener(f, y);
260
260
  }
261
- (m || o) && (_(e, g, o, m), m && I([g]));
261
+ (v || n) && (_(e, f, n, v), v && T([f]));
262
262
  } else if (t.slice(0, 5) === "attr:")
263
- h(e, t.slice(5), o);
263
+ h(e, t.slice(5), n);
264
264
  else if (t.slice(0, 5) === "bool:")
265
- ct(e, t.slice(5), o);
266
- else if ((u = t.slice(0, 5) === "prop:") || (c = ot.has(t)) || (d = it(t, e.tagName)) || (s = tt.has(t)) || (l = e.nodeName.includes("-") || "is" in a)) {
265
+ lt(e, t.slice(5), n);
266
+ else if ((u = t.slice(0, 5) === "prop:") || (c = tt.has(t)) || (d = rt(t, e.tagName)) || (s = et.has(t)) || (l = e.nodeName.includes("-") || "is" in a)) {
267
267
  if (u)
268
268
  t = t.slice(5), s = !0;
269
- else if (J(e)) return o;
270
- t === "class" || t === "className" ? Me(e, o) : l && !s && !c ? e[ft(t)] = o : e[d || t] = o;
269
+ else if (J(e)) return n;
270
+ t === "class" || t === "className" ? De(e, n) : l && !s && !c ? e[ut(t)] = n : e[d || t] = n;
271
271
  } else
272
- h(e, nt[t] || t, o);
273
- return o;
272
+ h(e, nt[t] || t, n);
273
+ return n;
274
274
  }
275
- function gt(e) {
276
- if ($.registry && $.events && $.events.find(([s, c]) => c === e))
275
+ function ft(e) {
276
+ if (P.registry && P.events && P.events.find(([s, c]) => c === e))
277
277
  return;
278
278
  let t = e.target;
279
- const o = `$$${e.type}`, n = e.target, r = e.currentTarget, i = (s) => Object.defineProperty(e, "target", {
279
+ const n = `$$${e.type}`, o = e.target, i = e.currentTarget, r = (s) => Object.defineProperty(e, "target", {
280
280
  configurable: !0,
281
281
  value: s
282
282
  }), a = () => {
283
- const s = t[o];
283
+ const s = t[n];
284
284
  if (s && !t.disabled) {
285
- const c = t[`${o}Data`];
285
+ const c = t[`${n}Data`];
286
286
  if (c !== void 0 ? s.call(t, c, e) : s.call(t, e), e.cancelBubble) return;
287
287
  }
288
- return t.host && typeof t.host != "string" && !t.host._$host && t.contains(e.target) && i(t.host), !0;
288
+ return t.host && typeof t.host != "string" && !t.host._$host && t.contains(e.target) && r(t.host), !0;
289
289
  }, l = () => {
290
290
  for (; a() && (t = t._$host || t.parentNode || t.host); ) ;
291
291
  };
@@ -294,218 +294,218 @@ function gt(e) {
294
294
  get() {
295
295
  return t || document;
296
296
  }
297
- }), $.registry && !$.done && ($.done = _$HY.done = !0), e.composedPath) {
297
+ }), P.registry && !P.done && (P.done = _$HY.done = !0), e.composedPath) {
298
298
  const s = e.composedPath();
299
- i(s[0]);
299
+ r(s[0]);
300
300
  for (let c = 0; c < s.length - 2 && (t = s[c], !!a()); c++) {
301
301
  if (t._$host) {
302
302
  t = t._$host, l();
303
303
  break;
304
304
  }
305
- if (t.parentNode === r)
305
+ if (t.parentNode === i)
306
306
  break;
307
307
  }
308
308
  } else l();
309
- i(n);
309
+ r(o);
310
310
  }
311
- function V(e, t, o, n, r) {
312
- const i = J(e);
313
- if (i) {
314
- !o && (o = [...e.childNodes]);
311
+ function V(e, t, n, o, i) {
312
+ const r = J(e);
313
+ if (r) {
314
+ !n && (n = [...e.childNodes]);
315
315
  let s = [];
316
- for (let c = 0; c < o.length; c++) {
317
- const d = o[c];
316
+ for (let c = 0; c < n.length; c++) {
317
+ const d = n[c];
318
318
  d.nodeType === 8 && d.data.slice(0, 2) === "!$" ? d.remove() : s.push(d);
319
319
  }
320
- o = s;
320
+ n = s;
321
321
  }
322
- for (; typeof o == "function"; ) o = o();
323
- if (t === o) return o;
324
- const a = typeof t, l = n !== void 0;
325
- if (e = l && o[0] && o[0].parentNode || e, a === "string" || a === "number") {
326
- if (i || a === "number" && (t = t.toString(), t === o))
327
- return o;
322
+ for (; typeof n == "function"; ) n = n();
323
+ if (t === n) return n;
324
+ const a = typeof t, l = o !== void 0;
325
+ if (e = l && n[0] && n[0].parentNode || e, a === "string" || a === "number") {
326
+ if (r || a === "number" && (t = t.toString(), t === n))
327
+ return n;
328
328
  if (l) {
329
- let s = o[0];
330
- s && s.nodeType === 3 ? s.data !== t && (s.data = t) : s = document.createTextNode(t), o = N(e, o, n, s);
329
+ let s = n[0];
330
+ s && s.nodeType === 3 ? s.data !== t && (s.data = t) : s = document.createTextNode(t), n = N(e, n, o, s);
331
331
  } else
332
- o !== "" && typeof o == "string" ? o = e.firstChild.data = t : o = e.textContent = t;
332
+ n !== "" && typeof n == "string" ? n = e.firstChild.data = t : n = e.textContent = t;
333
333
  } else if (t == null || a === "boolean") {
334
- if (i) return o;
335
- o = N(e, o, n);
334
+ if (r) return n;
335
+ n = N(e, n, o);
336
336
  } else {
337
337
  if (a === "function")
338
338
  return w(() => {
339
339
  let s = t();
340
340
  for (; typeof s == "function"; ) s = s();
341
- o = V(e, s, o, n);
342
- }), () => o;
341
+ n = V(e, s, n, o);
342
+ }), () => n;
343
343
  if (Array.isArray(t)) {
344
- const s = [], c = o && Array.isArray(o);
345
- if (de(s, t, o, r))
346
- return w(() => o = V(e, s, o, n, !0)), () => o;
347
- if (i) {
348
- if (!s.length) return o;
349
- if (n === void 0) return o = [...e.childNodes];
344
+ const s = [], c = n && Array.isArray(n);
345
+ if (de(s, t, n, i))
346
+ return w(() => n = V(e, s, n, o, !0)), () => n;
347
+ if (r) {
348
+ if (!s.length) return n;
349
+ if (o === void 0) return n = [...e.childNodes];
350
350
  let d = s[0];
351
- if (d.parentNode !== e) return o;
351
+ if (d.parentNode !== e) return n;
352
352
  const u = [d];
353
- for (; (d = d.nextSibling) !== n; ) u.push(d);
354
- return o = u;
353
+ for (; (d = d.nextSibling) !== o; ) u.push(d);
354
+ return n = u;
355
355
  }
356
356
  if (s.length === 0) {
357
- if (o = N(e, o, n), l) return o;
358
- } else c ? o.length === 0 ? Pe(e, s, n) : st(e, o, s) : (o && N(e), Pe(e, s));
359
- o = s;
357
+ if (n = N(e, n, o), l) return n;
358
+ } else c ? n.length === 0 ? Pe(e, s, o) : at(e, n, s) : (n && N(e), Pe(e, s));
359
+ n = s;
360
360
  } else if (t.nodeType) {
361
- if (i && t.parentNode) return o = l ? [t] : t;
362
- if (Array.isArray(o)) {
363
- if (l) return o = N(e, o, n, t);
364
- N(e, o, null, t);
365
- } else o == null || o === "" || !e.firstChild ? e.appendChild(t) : e.replaceChild(t, e.firstChild);
366
- o = t;
361
+ if (r && t.parentNode) return n = l ? [t] : t;
362
+ if (Array.isArray(n)) {
363
+ if (l) return n = N(e, n, o, t);
364
+ N(e, n, null, t);
365
+ } else n == null || n === "" || !e.firstChild ? e.appendChild(t) : e.replaceChild(t, e.firstChild);
366
+ n = t;
367
367
  }
368
368
  }
369
- return o;
369
+ return n;
370
370
  }
371
- function de(e, t, o, n) {
372
- let r = !1;
373
- for (let i = 0, a = t.length; i < a; i++) {
374
- let l = t[i], s = o && o[e.length], c;
371
+ function de(e, t, n, o) {
372
+ let i = !1;
373
+ for (let r = 0, a = t.length; r < a; r++) {
374
+ let l = t[r], s = n && n[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
- r = de(e, l, s) || r;
378
+ i = de(e, l, s) || i;
379
379
  else if (c === "function")
380
- if (n) {
380
+ if (o) {
381
381
  for (; typeof l == "function"; ) l = l();
382
- r = de(
382
+ i = de(
383
383
  e,
384
384
  Array.isArray(l) ? l : [l],
385
385
  Array.isArray(s) ? s : [s]
386
- ) || r;
386
+ ) || i;
387
387
  } else
388
- e.push(l), r = !0;
388
+ e.push(l), i = !0;
389
389
  else {
390
390
  const d = String(l);
391
391
  s && s.nodeType === 3 && s.data === d ? e.push(s) : e.push(document.createTextNode(d));
392
392
  }
393
393
  }
394
- return r;
394
+ return i;
395
395
  }
396
- function Pe(e, t, o = null) {
397
- for (let n = 0, r = t.length; n < r; n++) e.insertBefore(t[n], o);
396
+ function Pe(e, t, n = null) {
397
+ for (let o = 0, i = t.length; o < i; o++) e.insertBefore(t[o], n);
398
398
  }
399
- function N(e, t, o, n) {
400
- if (o === void 0) return e.textContent = "";
401
- const r = n || document.createTextNode("");
399
+ function N(e, t, n, o) {
400
+ if (n === void 0) return e.textContent = "";
401
+ const i = o || document.createTextNode("");
402
402
  if (t.length) {
403
- let i = !1;
403
+ let r = !1;
404
404
  for (let a = t.length - 1; a >= 0; a--) {
405
405
  const l = t[a];
406
- if (r !== l) {
406
+ if (i !== l) {
407
407
  const s = l.parentNode === e;
408
- !i && !a ? s ? e.replaceChild(r, l) : e.insertBefore(r, o) : s && l.remove();
409
- } else i = !0;
408
+ !r && !a ? s ? e.replaceChild(i, l) : e.insertBefore(i, n) : s && l.remove();
409
+ } else r = !0;
410
410
  }
411
- } else e.insertBefore(r, o);
412
- return [r];
411
+ } else e.insertBefore(i, n);
412
+ return [i];
413
413
  }
414
- const mt = "http://www.w3.org/2000/svg";
415
- function vt(e, t = !1) {
416
- return t ? document.createElementNS(mt, e) : document.createElement(e);
414
+ const gt = "http://www.w3.org/2000/svg";
415
+ function mt(e, t = !1) {
416
+ return t ? document.createElementNS(gt, e) : document.createElement(e);
417
417
  }
418
- function wt(e) {
419
- const { useShadow: t } = e, o = document.createTextNode(""), n = () => e.mount || document.body, r = pe();
420
- let i, a = !!$.context;
421
- return ne(
418
+ function vt(e) {
419
+ const { useShadow: t } = e, n = document.createTextNode(""), o = () => e.mount || document.body, i = pe();
420
+ let r, a = !!P.context;
421
+ return oe(
422
422
  () => {
423
- a && (pe().user = a = !1), i || (i = Ge(r, () => x(() => e.children)));
424
- const l = n();
423
+ a && (pe().user = a = !1), r || (r = Xe(i, () => p(() => e.children)));
424
+ const l = o();
425
425
  if (l instanceof HTMLHeadElement) {
426
- const [s, c] = D(!1), d = () => c(!0);
427
- Te((u) => v(l, () => s() ? u() : i(), null)), K(d);
426
+ const [s, c] = M(!1), d = () => c(!0);
427
+ Te((u) => m(l, () => s() ? u() : r(), null)), K(d);
428
428
  } else {
429
- const s = vt(e.isSVG ? "g" : "div", e.isSVG), c = t && s.attachShadow ? s.attachShadow({
429
+ const s = mt(e.isSVG ? "g" : "div", e.isSVG), c = t && s.attachShadow ? s.attachShadow({
430
430
  mode: "open"
431
431
  }) : s;
432
432
  Object.defineProperty(s, "_$host", {
433
433
  get() {
434
- return o.parentNode;
434
+ return n.parentNode;
435
435
  },
436
436
  configurable: !0
437
- }), v(c, i), l.appendChild(s), e.ref && e.ref(s), K(() => l.removeChild(s));
437
+ }), m(c, r), l.appendChild(s), e.ref && e.ref(s), K(() => l.removeChild(s));
438
438
  }
439
439
  },
440
440
  void 0,
441
441
  {
442
442
  render: !a
443
443
  }
444
- ), o;
444
+ ), n;
445
445
  }
446
- const bt = (e, t) => {
447
- let o;
448
- return (...n) => {
449
- clearTimeout(o), o = window.setTimeout(() => e(...n), t);
446
+ const wt = (e, t) => {
447
+ let n;
448
+ return (...o) => {
449
+ clearTimeout(n), n = window.setTimeout(() => e(...o), t);
450
450
  };
451
- }, yt = (e, t) => {
451
+ }, bt = (e, t) => {
452
452
  W({
453
453
  event: "keydown",
454
- callback: (o) => {
455
- o.key === e && t(o);
454
+ callback: (n) => {
455
+ n.key === e && t(n);
456
456
  }
457
457
  });
458
458
  }, W = (e) => {
459
- const { event: t, callback: o, onMount: n, onCleanup: r } = e, i = (a) => {
460
- o(a);
459
+ const { event: t, callback: n, onMount: o, onCleanup: i } = e, r = (a) => {
460
+ n(a);
461
461
  };
462
462
  fe(() => {
463
- n == null || n(), window.addEventListener(t, i);
463
+ o == null || o(), window.addEventListener(t, r);
464
464
  }), K(() => {
465
- r == null || r(), window.removeEventListener(t, i);
465
+ i == null || i(), window.removeEventListener(t, r);
466
466
  });
467
467
  }, ge = (e) => {
468
- const { target: t, options: o, callback: n, onMount: r, onCleanup: i } = e, a = new MutationObserver(n);
468
+ const { target: t, options: n, callback: o, onMount: i, onCleanup: r } = e, a = new MutationObserver(o);
469
469
  fe(() => {
470
- r == null || r(), a.observe(t, o);
470
+ i == null || i(), a.observe(t, n);
471
471
  }), K(() => {
472
- i == null || i(), a.disconnect();
472
+ r == null || r(), a.disconnect();
473
473
  });
474
- }, pt = "echo_", F = "echo_page_state", De = () => {
474
+ }, yt = "echo_", F = "echo_page_state", Me = () => {
475
475
  window.dispatchEvent(new CustomEvent("echo-storage-change"));
476
- }, Ae = (e) => `${pt}${e}`, je = (e, t) => {
476
+ }, Ae = (e) => `${yt}${e}`, je = (e, t) => {
477
477
  try {
478
- const o = localStorage.getItem(Ae(e));
479
- return o ? JSON.parse(o) : t;
478
+ const n = localStorage.getItem(Ae(e));
479
+ return n ? JSON.parse(n) : t;
480
480
  } catch {
481
481
  return t;
482
482
  }
483
483
  }, he = (e, t) => {
484
484
  try {
485
485
  localStorage.setItem(Ae(e), JSON.stringify(t));
486
- } catch (o) {
487
- console.warn("Failed to save to localStorage:", o);
486
+ } catch (n) {
487
+ console.warn("Failed to save to localStorage:", n);
488
488
  }
489
- }, ae = () => window.location.pathname, xt = (e, t) => {
489
+ }, ae = () => window.location.pathname, pt = (e, t) => {
490
490
  try {
491
- const o = localStorage.getItem(F), n = o ? JSON.parse(o) : {};
491
+ const n = localStorage.getItem(F), o = n ? JSON.parse(n) : {};
492
492
  if (!t.feedback.comment && (!t.drawing.shapes || t.drawing.shapes.length === 0))
493
- delete n[e];
493
+ delete o[e];
494
494
  else {
495
- const r = window.location.search || void 0, i = {
495
+ const i = window.location.search || void 0, r = {
496
496
  feedback: {
497
497
  comment: t.feedback.comment
498
498
  },
499
499
  drawing: {
500
500
  shapes: t.drawing.shapes
501
501
  },
502
- latestQuery: r
502
+ latestQuery: i
503
503
  };
504
- n[e] = i;
504
+ o[e] = r;
505
505
  }
506
- localStorage.setItem(F, JSON.stringify(n)), De();
507
- } catch (o) {
508
- console.error("Failed to save page state:", o);
506
+ localStorage.setItem(F, JSON.stringify(o)), Me();
507
+ } catch (n) {
508
+ console.error("Failed to save page state:", n);
509
509
  }
510
510
  }, me = (e) => {
511
511
  try {
@@ -518,8 +518,8 @@ const bt = (e, t) => {
518
518
  try {
519
519
  const t = localStorage.getItem(F);
520
520
  if (!t) return;
521
- const o = JSON.parse(t);
522
- delete o[e], localStorage.setItem(F, JSON.stringify(o)), De();
521
+ const n = JSON.parse(t);
522
+ delete n[e], localStorage.setItem(F, JSON.stringify(n)), Me();
523
523
  } catch (t) {
524
524
  console.error("Failed to clear page state:", t);
525
525
  }
@@ -537,25 +537,25 @@ const bt = (e, t) => {
537
537
  const e = localStorage.getItem(F);
538
538
  if (!e) return [];
539
539
  const t = JSON.parse(e);
540
- return Object.entries(t).map(([o, n]) => ({
541
- path: o,
542
- state: n
540
+ return Object.entries(t).map(([n, o]) => ({
541
+ path: n,
542
+ state: o
543
543
  }));
544
544
  } catch (e) {
545
545
  return console.error("Failed to get stored pages:", e), [];
546
546
  }
547
- }, ue = Symbol("store-raw"), B = Symbol("store-node"), E = Symbol("store-has"), Ne = Symbol("store-self");
547
+ }, ue = Symbol("store-raw"), B = Symbol("store-node"), $ = Symbol("store-has"), Ne = Symbol("store-self");
548
548
  function Be(e) {
549
549
  let t = e[A];
550
550
  if (!t && (Object.defineProperty(e, A, {
551
- value: t = new Proxy(e, Ct)
551
+ value: t = new Proxy(e, St)
552
552
  }), !Array.isArray(e))) {
553
- const o = Object.keys(e), n = Object.getOwnPropertyDescriptors(e);
554
- for (let r = 0, i = o.length; r < i; r++) {
555
- const a = o[r];
556
- n[a].get && Object.defineProperty(e, a, {
557
- enumerable: n[a].enumerable,
558
- get: n[a].get.bind(t)
553
+ const n = Object.keys(e), o = Object.getOwnPropertyDescriptors(e);
554
+ for (let i = 0, r = n.length; i < r; i++) {
555
+ const a = n[i];
556
+ o[a].get && Object.defineProperty(e, a, {
557
+ enumerable: o[a].enumerable,
558
+ get: o[a].get.bind(t)
559
559
  });
560
560
  }
561
561
  }
@@ -566,62 +566,62 @@ function ee(e) {
566
566
  return e != null && typeof e == "object" && (e[A] || !(t = Object.getPrototypeOf(e)) || t === Object.prototype || Array.isArray(e));
567
567
  }
568
568
  function R(e, t = /* @__PURE__ */ new Set()) {
569
- let o, n, r, i;
570
- if (o = e != null && e[ue]) return o;
569
+ let n, o, i, r;
570
+ if (n = e != null && e[ue]) return n;
571
571
  if (!ee(e) || t.has(e)) return e;
572
572
  if (Array.isArray(e)) {
573
573
  Object.isFrozen(e) ? e = e.slice(0) : t.add(e);
574
574
  for (let a = 0, l = e.length; a < l; a++)
575
- r = e[a], (n = R(r, t)) !== r && (e[a] = n);
575
+ i = e[a], (o = R(i, t)) !== i && (e[a] = o);
576
576
  } else {
577
577
  Object.isFrozen(e) ? e = Object.assign({}, e) : t.add(e);
578
578
  const a = Object.keys(e), l = Object.getOwnPropertyDescriptors(e);
579
579
  for (let s = 0, c = a.length; s < c; s++)
580
- i = a[s], !l[i].get && (r = e[i], (n = R(r, t)) !== r && (e[i] = n));
580
+ r = a[s], !l[r].get && (i = e[r], (o = R(i, t)) !== i && (e[r] = o));
581
581
  }
582
582
  return e;
583
583
  }
584
584
  function te(e, t) {
585
- let o = e[t];
586
- return o || Object.defineProperty(e, t, {
587
- value: o = /* @__PURE__ */ Object.create(null)
588
- }), o;
585
+ let n = e[t];
586
+ return n || Object.defineProperty(e, t, {
587
+ value: n = /* @__PURE__ */ Object.create(null)
588
+ }), n;
589
589
  }
590
- function X(e, t, o) {
590
+ function X(e, t, n) {
591
591
  if (e[t]) return e[t];
592
- const [n, r] = D(o, {
592
+ const [o, i] = M(n, {
593
593
  equals: !1,
594
594
  internal: !0
595
595
  });
596
- return n.$ = r, e[t] = n;
596
+ return o.$ = i, e[t] = o;
597
597
  }
598
- function kt(e, t) {
599
- const o = Reflect.getOwnPropertyDescriptor(e, t);
600
- return !o || o.get || !o.configurable || t === A || t === B || (delete o.value, delete o.writable, o.get = () => e[A][t]), o;
598
+ function xt(e, t) {
599
+ const n = Reflect.getOwnPropertyDescriptor(e, t);
600
+ return !n || n.get || !n.configurable || t === A || t === B || (delete n.value, delete n.writable, n.get = () => e[A][t]), n;
601
601
  }
602
602
  function Ye(e) {
603
603
  ce() && X(te(e, B), Ne)();
604
604
  }
605
- function St(e) {
605
+ function kt(e) {
606
606
  return Ye(e), Reflect.ownKeys(e);
607
607
  }
608
- const Ct = {
609
- get(e, t, o) {
608
+ const St = {
609
+ get(e, t, n) {
610
610
  if (t === ue) return e;
611
- if (t === A) return o;
611
+ if (t === A) return n;
612
612
  if (t === xe)
613
- return Ye(e), o;
614
- const n = te(e, B), r = n[t];
615
- let i = r ? r() : e[t];
616
- if (t === B || t === E || t === "__proto__") return i;
617
- if (!r) {
613
+ return Ye(e), n;
614
+ const o = te(e, B), i = o[t];
615
+ let r = i ? i() : e[t];
616
+ if (t === B || t === $ || t === "__proto__") return r;
617
+ if (!i) {
618
618
  const a = Object.getOwnPropertyDescriptor(e, t);
619
- ce() && (typeof i != "function" || e.hasOwnProperty(t)) && !(a && a.get) && (i = X(n, t, i)());
619
+ ce() && (typeof r != "function" || e.hasOwnProperty(t)) && !(a && a.get) && (r = X(o, t, r)());
620
620
  }
621
- return ee(i) ? Be(i) : i;
621
+ return ee(r) ? Be(r) : r;
622
622
  },
623
623
  has(e, t) {
624
- return t === ue || t === A || t === xe || t === B || t === E || t === "__proto__" ? !0 : (ce() && X(te(e, E), t)(), t in e);
624
+ return t === ue || t === A || t === xe || t === B || t === $ || t === "__proto__" ? !0 : (ce() && X(te(e, $), t)(), t in e);
625
625
  },
626
626
  set() {
627
627
  return !0;
@@ -629,75 +629,75 @@ const Ct = {
629
629
  deleteProperty() {
630
630
  return !0;
631
631
  },
632
- ownKeys: St,
633
- getOwnPropertyDescriptor: kt
632
+ ownKeys: kt,
633
+ getOwnPropertyDescriptor: xt
634
634
  };
635
- function oe(e, t, o, n = !1) {
636
- if (!n && e[t] === o) return;
637
- const r = e[t], i = e.length;
638
- o === void 0 ? (delete e[t], e[E] && e[E][t] && r !== void 0 && e[E][t].$()) : (e[t] = o, e[E] && e[E][t] && r === void 0 && e[E][t].$());
635
+ function ne(e, t, n, o = !1) {
636
+ if (!o && e[t] === n) return;
637
+ const i = e[t], r = e.length;
638
+ n === void 0 ? (delete e[t], e[$] && e[$][t] && i !== void 0 && e[$][t].$()) : (e[t] = n, e[$] && e[$][t] && i === void 0 && e[$][t].$());
639
639
  let a = te(e, B), l;
640
- if ((l = X(a, t, r)) && l.$(() => o), Array.isArray(e) && e.length !== i) {
641
- for (let s = e.length; s < i; s++) (l = a[s]) && l.$();
642
- (l = X(a, "length", i)) && l.$(e.length);
640
+ if ((l = X(a, t, i)) && l.$(() => n), Array.isArray(e) && e.length !== r) {
641
+ for (let s = e.length; s < r; s++) (l = a[s]) && l.$();
642
+ (l = X(a, "length", r)) && l.$(e.length);
643
643
  }
644
644
  (l = a[Ne]) && l.$();
645
645
  }
646
646
  function He(e, t) {
647
- const o = Object.keys(t);
648
- for (let n = 0; n < o.length; n += 1) {
649
- const r = o[n];
650
- oe(e, r, t[r]);
647
+ const n = Object.keys(t);
648
+ for (let o = 0; o < n.length; o += 1) {
649
+ const i = n[o];
650
+ ne(e, i, t[i]);
651
651
  }
652
652
  }
653
- function Pt(e, t) {
653
+ function Ct(e, t) {
654
654
  if (typeof t == "function" && (t = t(e)), t = R(t), Array.isArray(t)) {
655
655
  if (e === t) return;
656
- let o = 0, n = t.length;
657
- for (; o < n; o++) {
658
- const r = t[o];
659
- e[o] !== r && oe(e, o, r);
656
+ let n = 0, o = t.length;
657
+ for (; n < o; n++) {
658
+ const i = t[n];
659
+ e[n] !== i && ne(e, n, i);
660
660
  }
661
- oe(e, "length", n);
661
+ ne(e, "length", o);
662
662
  } else He(e, t);
663
663
  }
664
- function U(e, t, o = []) {
665
- let n, r = e;
664
+ function U(e, t, n = []) {
665
+ let o, i = e;
666
666
  if (t.length > 1) {
667
- n = t.shift();
668
- const a = typeof n, l = Array.isArray(e);
669
- if (Array.isArray(n)) {
670
- for (let s = 0; s < n.length; s++)
671
- U(e, [n[s]].concat(t), o);
667
+ o = t.shift();
668
+ const a = typeof o, l = Array.isArray(e);
669
+ if (Array.isArray(o)) {
670
+ for (let s = 0; s < o.length; s++)
671
+ U(e, [o[s]].concat(t), n);
672
672
  return;
673
673
  } else if (l && a === "function") {
674
674
  for (let s = 0; s < e.length; s++)
675
- n(e[s], s) && U(e, [s].concat(t), o);
675
+ o(e[s], s) && U(e, [s].concat(t), n);
676
676
  return;
677
677
  } else if (l && a === "object") {
678
- const { from: s = 0, to: c = e.length - 1, by: d = 1 } = n;
678
+ const { from: s = 0, to: c = e.length - 1, by: d = 1 } = o;
679
679
  for (let u = s; u <= c; u += d)
680
- U(e, [u].concat(t), o);
680
+ U(e, [u].concat(t), n);
681
681
  return;
682
682
  } else if (t.length > 1) {
683
- U(e[n], t, [n].concat(o));
683
+ U(e[o], t, [o].concat(n));
684
684
  return;
685
685
  }
686
- r = e[n], o = [n].concat(o);
686
+ i = e[o], n = [o].concat(n);
687
687
  }
688
- let i = t[0];
689
- typeof i == "function" && (i = i(r, o), i === r) || n === void 0 && i == null || (i = R(i), n === void 0 || ee(r) && ee(i) && !Array.isArray(i) ? He(r, i) : oe(e, n, i));
688
+ let r = t[0];
689
+ typeof r == "function" && (r = r(i, n), r === i) || o === void 0 && r == null || (r = R(r), o === void 0 || ee(i) && ee(r) && !Array.isArray(r) ? He(i, r) : ne(e, o, r));
690
690
  }
691
691
  function ve(...[e, t]) {
692
- const o = R(e || {}), n = Array.isArray(o), r = Be(o);
693
- function i(...a) {
694
- Je(() => {
695
- n && a.length === 1 ? Pt(o, a[0]) : U(o, a);
692
+ const n = R(e || {}), o = Array.isArray(n), i = Be(n);
693
+ function r(...a) {
694
+ Ge(() => {
695
+ o && a.length === 1 ? Ct(n, a[0]) : U(n, a);
696
696
  });
697
697
  }
698
- return [r, i];
698
+ return [i, r];
699
699
  }
700
- const O = {
700
+ const z = {
701
701
  rectangle: {
702
702
  id: "rectangle",
703
703
  label: "Highlight",
@@ -718,110 +718,110 @@ const O = {
718
718
  default: 1
719
719
  }
720
720
  }
721
- }, $t = (e) => {
722
- const t = e.replace("#", ""), o = Number.parseInt(t.slice(0, 2), 16) / 255, n = Number.parseInt(t.slice(2, 2), 16) / 255, r = Number.parseInt(t.slice(4, 2), 16) / 255;
723
- return 0.2126 * o + 0.7152 * n + 0.0722 * r;
724
- }, Et = (e) => $t(e) < 0.5 ? "#FFFFFF" : "#000000", We = (e, t) => {
721
+ }, Pt = (e) => {
722
+ const t = e.replace("#", ""), n = Number.parseInt(t.slice(0, 2), 16) / 255, o = Number.parseInt(t.slice(2, 2), 16) / 255, i = Number.parseInt(t.slice(4, 2), 16) / 255;
723
+ return 0.2126 * n + 0.7152 * o + 0.0722 * i;
724
+ }, $t = (e) => Pt(e) < 0.5 ? "#FFFFFF" : "#000000", We = (e, t) => {
725
725
  if (!t) return e;
726
- const o = { ...e };
727
- for (const n in t)
728
- t[n] && typeof t[n] == "object" && !Array.isArray(t[n]) ? o[n] = We(e[n], t[n]) : o[n] = t[n];
729
- return o;
726
+ const n = { ...e };
727
+ for (const o in t)
728
+ t[o] && typeof t[o] == "object" && !Array.isArray(t[o]) ? n[o] = We(e[o], t[o]) : n[o] = t[o];
729
+ return n;
730
730
  };
731
- let z = [], C = null, Y = null, H = null;
732
- const le = (e, t) => (...o) => {
733
- const n = o.map((r) => typeof r == "string" ? r : r instanceof Error ? r.stack || r.message : JSON.stringify(r)).join(" ");
734
- z.push({
731
+ let E = [], S = null, Y = null, H = null;
732
+ const le = (e, t) => (...n) => {
733
+ const o = n.map((i) => typeof i == "string" ? i : i instanceof Error ? i.stack || i.message : JSON.stringify(i)).join(" ");
734
+ E.push({
735
735
  type: e,
736
- message: n,
736
+ message: o,
737
737
  timestamp: (/* @__PURE__ */ new Date()).toISOString()
738
- }), z.length > 1e3 && (z = z.slice(-1e3)), t.apply(console, o);
739
- }, zt = () => {
740
- C || (C = {
738
+ }), E.length > 1e3 && (E = E.slice(-1e3)), t.apply(console, n);
739
+ }, Et = () => {
740
+ S || (S = {
741
741
  log: console.log,
742
742
  warn: console.warn,
743
743
  error: console.error
744
- }, Y = window.onerror, H = window.onunhandledrejection, window.onerror = (e, t, o, n, r) => {
745
- const i = (r == null ? void 0 : r.stack) || (r == null ? void 0 : r.message) || e;
746
- return z.push({
744
+ }, Y = window.onerror, H = window.onunhandledrejection, window.onerror = (e, t, n, o, i) => {
745
+ const r = (i == null ? void 0 : i.stack) || (i == null ? void 0 : i.message) || e;
746
+ return E.push({
747
747
  type: "error",
748
- message: `Uncaught Error: ${i}
749
- Location: ${t}:${o}:${n}`,
748
+ message: `Uncaught Error: ${r}
749
+ Location: ${t}:${n}:${o}`,
750
750
  timestamp: (/* @__PURE__ */ new Date()).toISOString()
751
- }), Y ? Y(e, t, o, n, r) : !1;
751
+ }), Y ? Y(e, t, n, o, i) : !1;
752
752
  }, window.onunhandledrejection = (e) => {
753
753
  const t = e.reason;
754
- z.push({
754
+ E.push({
755
755
  type: "error",
756
756
  message: `Unhandled Promise Rejection: ${(t == null ? void 0 : t.stack) || (t == null ? void 0 : t.message) || t}`,
757
757
  timestamp: (/* @__PURE__ */ new Date()).toISOString()
758
758
  }), H && H(e);
759
- }, console.log = le("log", C.log), console.warn = le("warn", C.warn), console.error = le("error", C.error), window.addEventListener("error", (e) => {
760
- const { message: t, filename: o, lineno: n, colno: r, error: i } = e, a = (i == null ? void 0 : i.stack) || (i == null ? void 0 : i.message) || t;
761
- z.push({
759
+ }, console.log = le("log", S.log), console.warn = le("warn", S.warn), console.error = le("error", S.error), window.addEventListener("error", (e) => {
760
+ const { message: t, filename: n, lineno: o, colno: i, error: r } = e, a = (r == null ? void 0 : r.stack) || (r == null ? void 0 : r.message) || t;
761
+ E.push({
762
762
  type: "error",
763
763
  message: `Uncaught Error: ${a}
764
- Location: ${o}:${n}:${r}`,
764
+ Location: ${n}:${o}:${i}`,
765
765
  timestamp: (/* @__PURE__ */ new Date()).toISOString()
766
766
  });
767
767
  }));
768
- }, Ot = () => {
769
- C && (console.log = C.log, console.warn = C.warn, console.error = C.error, C = null), Y && (window.onerror = Y, Y = null), H && (window.onunhandledrejection = H, H = null), window.removeEventListener("error", () => {
770
- }), z = [];
771
- }, _e = () => [...z], Ue = () => {
768
+ }, zt = () => {
769
+ S && (console.log = S.log, console.warn = S.warn, console.error = S.error, S = null), Y && (window.onerror = Y, Y = null), H && (window.onunhandledrejection = H, H = null), window.removeEventListener("error", () => {
770
+ }), E = [];
771
+ }, _e = () => [...E], Ot = () => {
772
772
  var e;
773
773
  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);
774
774
  }, q = (e, { useClientCoords: t = !1 } = {}) => {
775
- const n = typeof TouchEvent < "u" && e instanceof TouchEvent ? e.touches[0] : null;
775
+ const o = typeof TouchEvent < "u" && e instanceof TouchEvent ? e.touches[0] : null;
776
776
  return {
777
- x: n ? t ? n.clientX : n.pageX : t ? e.clientX : e.pageX,
778
- y: n ? t ? n.clientY : n.pageY : t ? e.clientY : e.pageY
777
+ x: o ? t ? o.clientX : o.pageX : t ? e.clientX : e.pageX,
778
+ y: o ? t ? o.clientY : o.pageY : t ? e.clientY : e.pageY
779
779
  };
780
780
  }, $e = (e, t) => {
781
- const o = t.x - e.x, n = t.y - e.y;
782
- return Math.sqrt(o * o + n * n);
783
- }, Ke = (e) => {
781
+ const n = t.x - e.x, o = t.y - e.y;
782
+ return Math.sqrt(n * n + o * o);
783
+ }, Ue = (e) => {
784
784
  if (e.length !== 2) return null;
785
- const [t, o] = e;
785
+ const [t, n] = e;
786
786
  return {
787
- x: Math.min(t.x, o.x),
788
- y: Math.min(t.y, o.y),
789
- width: Math.abs(o.x - t.x),
790
- height: Math.abs(o.y - t.y)
787
+ x: Math.min(t.x, n.x),
788
+ y: Math.min(t.y, n.y),
789
+ width: Math.abs(n.x - t.x),
790
+ height: Math.abs(n.y - t.y)
791
791
  };
792
792
  }, Tt = (e) => e.length < 2 ? null : `M ${e[0].x} ${e[0].y} ${e.slice(1).map((t) => `L ${t.x} ${t.y}`).join(" ")}`, It = (e, t) => {
793
- const o = document.createElement("canvas");
794
- return o.width = e, o.height = t, o;
795
- }, Mt = (e) => e.hasAttribute("data-hide-when-drawing"), Dt = async () => {
793
+ const n = document.createElement("canvas");
794
+ return n.width = e, n.height = t, n;
795
+ }, Dt = (e) => e.hasAttribute("data-hide-when-drawing"), Mt = async () => {
796
796
  try {
797
- const e = await Ze(document.body, {
797
+ const e = await Qe(document.body, {
798
798
  backgroundColor: null,
799
799
  logging: !1,
800
800
  useCORS: !0,
801
801
  scale: 1,
802
802
  allowTaint: !0,
803
803
  foreignObjectRendering: !0,
804
- ignoreElements: Mt
805
- }), t = It(e.width, e.height), o = t.getContext("2d");
806
- if (!o)
804
+ ignoreElements: Dt
805
+ }), t = It(e.width, e.height), n = t.getContext("2d");
806
+ if (!n)
807
807
  throw new Error("Failed to get canvas context");
808
- return o.drawImage(e, 0, 0), t.toDataURL();
808
+ return n.drawImage(e, 0, 0), t.toDataURL();
809
809
  } catch (e) {
810
810
  console.error("Failed to capture screenshot:", e);
811
811
  return;
812
812
  }
813
- }, At = (e, t, o) => {
814
- let n = `M0 0 H${e.width} V${e.height} H0 Z`;
813
+ }, At = (e, t, n) => {
814
+ let o = `M0 0 H${e.width} V${e.height} H0 Z`;
815
815
  if (t.length === 2) {
816
- const [r, i] = t;
817
- n += ` M${r.x} ${r.y} h${i.x - r.x} v${i.y - r.y} h${r.x - i.x} v${r.y - i.y}`;
816
+ const [i, r] = t;
817
+ o += ` M${i.x} ${i.y} h${r.x - i.x} v${r.y - i.y} h${i.x - r.x} v${i.y - r.y}`;
818
818
  }
819
- for (const r of o)
820
- if (r.type === "rectangle") {
821
- const [i, a] = r.points;
822
- n += ` M${i.x} ${i.y} h${a.x - i.x} v${a.y - i.y} h${i.x - a.x} v${i.y - a.y}`;
819
+ for (const i of n)
820
+ if (i.type === "rectangle") {
821
+ const [r, a] = i.points;
822
+ o += ` M${r.x} ${r.y} h${a.x - r.x} v${a.y - r.y} h${r.x - a.x} v${r.y - a.y}`;
823
823
  }
824
- return n;
824
+ return o;
825
825
  }, jt = (e) => {
826
826
  if (typeof e != "object" || e === null)
827
827
  throw new Error("Echo initialization failed: options must be an object");
@@ -829,9 +829,9 @@ Location: ${o}:${n}:${r}`,
829
829
  throw new Error("Echo initialization failed: onSubmit must be a function");
830
830
  if (e.primaryColor && !/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(e.primaryColor))
831
831
  throw new Error("Echo initialization failed: primaryColor must be a valid hex color");
832
- }, Ee = 5, ze = (e, t) => O[e].getCursor(t), Ft = (e, t, o) => {
832
+ }, Ee = 5, ze = (e, t) => z[e].getCursor(t), Ft = (e, t, n) => {
833
833
  var l, s;
834
- const [n, r] = ve({
834
+ const [o, i] = ve({
835
835
  isDrawing: !1,
836
836
  currentPoints: [],
837
837
  selectedShapeId: null,
@@ -846,36 +846,36 @@ Location: ${o}:${n}:${r}`,
846
846
  initialClickPos: null,
847
847
  dragOffset: null,
848
848
  cursor: ze("rectangle", e.primaryColor)
849
- }), i = (c, d = !1) => {
849
+ }), r = (c, d = !1) => {
850
850
  if (c.selectedTool || c.selectedColor) {
851
- const u = c.selectedTool || n.selectedTool, g = c.selectedColor || n.selectedColor;
852
- c.cursor = ze(u, g);
851
+ const u = c.selectedTool || o.selectedTool, f = c.selectedColor || o.selectedColor;
852
+ c.cursor = ze(u, f);
853
853
  }
854
- r(c), o == null || o(c, d);
854
+ i(c), n == null || n(c, d);
855
855
  }, a = {
856
856
  startDrawing: (c) => {
857
- i({
857
+ r({
858
858
  isDrawing: !0,
859
859
  currentPoints: [c],
860
860
  selectedShapeId: null
861
861
  });
862
862
  },
863
863
  updateDrawing: (c) => {
864
- n.selectedTool === "rectangle" ? i({ currentPoints: [n.currentPoints[0], c] }) : n.selectedTool === "path" && i({
865
- currentPoints: [...n.currentPoints, c]
864
+ o.selectedTool === "rectangle" ? r({ currentPoints: [o.currentPoints[0], c] }) : o.selectedTool === "path" && r({
865
+ currentPoints: [...o.currentPoints, c]
866
866
  });
867
867
  },
868
868
  finishDrawing: () => {
869
- if (n.currentPoints.length >= 2) {
869
+ if (o.currentPoints.length >= 2) {
870
870
  const c = {
871
871
  id: Math.random().toString(36).substring(2),
872
- type: n.selectedTool,
873
- color: n.selectedColor,
874
- points: n.currentPoints
872
+ type: o.selectedTool,
873
+ color: o.selectedColor,
874
+ points: o.currentPoints
875
875
  };
876
- i({ shapes: [...n.shapes, c] });
876
+ r({ shapes: [...o.shapes, c] });
877
877
  }
878
- i({ isDrawing: !1, currentPoints: [] });
878
+ r({ isDrawing: !1, currentPoints: [] });
879
879
  },
880
880
  handleShapeClick: (c) => {
881
881
  },
@@ -888,10 +888,10 @@ Location: ${o}:${n}:${r}`,
888
888
  const d = q(c);
889
889
  if (c.target instanceof SVGElement && c.target.classList.contains("echo-shape")) {
890
890
  const u = c.target.dataset.shapeId;
891
- if (u && n.selectedShapeId === u) {
892
- const g = n.shapes.find((m) => m.id === u);
893
- if (g) {
894
- a.startDrag(d), a.updateDragOffset(g, d);
891
+ if (u && o.selectedShapeId === u) {
892
+ const f = o.shapes.find((v) => v.id === u);
893
+ if (f) {
894
+ a.startDrag(d), a.updateDragOffset(f, d);
895
895
  return;
896
896
  }
897
897
  }
@@ -900,63 +900,63 @@ Location: ${o}:${n}:${r}`,
900
900
  },
901
901
  handleMove: (c) => {
902
902
  const d = q(c, { useClientCoords: !0 }), u = q(c);
903
- if (i({ mousePosition: d }), n.isDragging && n.selectedShapeId && n.dragStartPos && n.shapes.find((m) => m.id === n.selectedShapeId)) {
904
- const m = u.x - n.dragStartPos.x, y = u.y - n.dragStartPos.y, p = n.shapes.map((S) => S.id === n.selectedShapeId ? {
905
- ...S,
906
- points: S.points.map((L) => ({
907
- x: L.x + m,
903
+ if (r({ mousePosition: d }), o.isDragging && o.selectedShapeId && o.dragStartPos && o.shapes.find((v) => v.id === o.selectedShapeId)) {
904
+ const v = u.x - o.dragStartPos.x, y = u.y - o.dragStartPos.y, k = o.shapes.map((I) => I.id === o.selectedShapeId ? {
905
+ ...I,
906
+ points: I.points.map((L) => ({
907
+ x: L.x + v,
908
908
  y: L.y + y
909
909
  }))
910
- } : S);
911
- i({ shapes: p }), a.startDrag(u);
910
+ } : I);
911
+ r({ shapes: k }), a.startDrag(u);
912
912
  return;
913
913
  }
914
- if (n.initialClickPos && !n.isDrawing) {
915
- $e(n.initialClickPos, u) >= Ee && a.startDrawing(n.initialClickPos);
914
+ if (o.initialClickPos && !o.isDrawing) {
915
+ $e(o.initialClickPos, u) >= Ee && a.startDrawing(o.initialClickPos);
916
916
  return;
917
917
  }
918
- n.isDrawing && a.updateDrawing(u);
918
+ o.isDrawing && a.updateDrawing(u);
919
919
  },
920
920
  handleEnd: (c) => {
921
- if (n.isDragging) {
921
+ if (o.isDragging) {
922
922
  a.stopDrag();
923
923
  return;
924
924
  }
925
- if (n.initialClickPos && !n.isDrawing) {
925
+ if (o.initialClickPos && !o.isDrawing) {
926
926
  const d = q(c);
927
- if ($e(n.initialClickPos, d) < Ee && c.target instanceof SVGElement && c.target.classList.contains("echo-shape")) {
928
- const g = c.target.dataset.shapeId;
929
- g && i({ selectedShapeId: g });
927
+ if ($e(o.initialClickPos, d) < Ee && c.target instanceof SVGElement && c.target.classList.contains("echo-shape")) {
928
+ const f = c.target.dataset.shapeId;
929
+ f && r({ selectedShapeId: f });
930
930
  }
931
931
  }
932
932
  a.setInitialClick(null), a.finishDrawing();
933
933
  },
934
934
  handleEnter: (c) => {
935
- c.target === c.currentTarget && !n.hasDrawn && i({ showTooltip: !0 });
935
+ c.target === c.currentTarget && !o.hasDrawn && r({ showTooltip: !0 });
936
936
  },
937
937
  handleLeave: (c) => {
938
- c.target === c.currentTarget && i({ showTooltip: !1 });
938
+ c.target === c.currentTarget && r({ showTooltip: !1 });
939
939
  },
940
940
  startDrag: (c) => {
941
- i({
941
+ r({
942
942
  isDragging: !0,
943
943
  dragStartPos: c
944
944
  });
945
945
  },
946
946
  stopDrag: () => {
947
- i({
947
+ r({
948
948
  isDragging: !1,
949
949
  dragStartPos: null,
950
950
  dragOffset: null
951
951
  });
952
952
  },
953
953
  setInitialClick: (c) => {
954
- i({
954
+ r({
955
955
  initialClickPos: c
956
956
  });
957
957
  },
958
958
  updateDragOffset: (c, d) => {
959
- i({
959
+ r({
960
960
  dragOffset: {
961
961
  x: d.x - c.points[0].x,
962
962
  y: d.y - c.points[0].y
@@ -965,26 +965,26 @@ Location: ${o}:${n}:${r}`,
965
965
  }
966
966
  };
967
967
  return {
968
- state: n,
969
- setState: i,
968
+ state: o,
969
+ setState: r,
970
970
  methods: a
971
971
  };
972
- }, Lt = (e, t, o) => {
972
+ }, Lt = (e, t, n) => {
973
973
  var a, l;
974
- const [n, r] = ve({
974
+ const [o, i] = ve({
975
975
  comment: ((l = (a = me(t)) == null ? void 0 : a.feedback) == null ? void 0 : l.comment) || "",
976
976
  screenshot: void 0,
977
977
  isCapturing: !1,
978
978
  isMinimized: !1
979
979
  });
980
980
  return {
981
- state: n,
981
+ state: o,
982
982
  setState: (s, c = !1) => {
983
- r(s), o == null || o(s, c);
983
+ i(s), n == null || n(s, c);
984
984
  }
985
985
  };
986
986
  }, Nt = (e, t) => {
987
- const [o, n] = ve({
987
+ const [n, o] = ve({
988
988
  text: e.textConfig,
989
989
  isOpen: !1,
990
990
  primaryColor: e.primaryColor,
@@ -1002,29 +1002,29 @@ Location: ${o}:${n}:${r}`,
1002
1002
  welcomeMessageIsClosing: !1
1003
1003
  });
1004
1004
  return {
1005
- state: o,
1006
- setState: n
1005
+ state: n,
1006
+ setState: o
1007
1007
  };
1008
1008
  }, Bt = (e) => {
1009
1009
  let t = ae();
1010
- const o = bt((s, c = !1) => {
1011
- (c || n.state.comment.trim().length > 0 || r.state.shapes.length > 0) && (xt(s, {
1012
- feedback: n.state,
1013
- drawing: r.state
1014
- }), i.setState({ pagesCount: Le() }));
1015
- }, 1e3), n = Lt(e, t, (s, c) => {
1016
- o(t, c);
1017
- }), r = Ft(e, t, (s, c) => {
1018
- o(t, c);
1019
- }), i = Nt(e), a = () => {
1020
- const s = ae();
1021
- if (s !== t) {
1022
- t = s;
1023
- const c = me(t);
1024
- n.setState({
1025
- comment: (c == null ? void 0 : c.feedback.comment) || ""
1026
- }), r.setState({
1027
- shapes: (c == null ? void 0 : c.drawing.shapes) || []
1010
+ const n = wt((c, d = !1) => {
1011
+ (d || o.state.comment.trim().length > 0 || i.state.shapes.length > 0) && (pt(c, {
1012
+ feedback: o.state,
1013
+ drawing: i.state
1014
+ }), r.setState({ pagesCount: Le() }));
1015
+ }, 1e3), o = Lt(e, t, (c, d) => {
1016
+ n(t, d);
1017
+ }), i = Ft(e, t, (c, d) => {
1018
+ n(t, d);
1019
+ }), r = Nt(e), a = () => {
1020
+ const c = ae();
1021
+ if (c !== t) {
1022
+ t = c;
1023
+ const d = me(t);
1024
+ o.setState({
1025
+ comment: (d == null ? void 0 : d.feedback.comment) || ""
1026
+ }), i.setState({
1027
+ shapes: (d == null ? void 0 : d.drawing.shapes) || []
1028
1028
  });
1029
1029
  }
1030
1030
  };
@@ -1042,7 +1042,7 @@ Location: ${o}:${n}:${r}`,
1042
1042
  }
1043
1043
  });
1044
1044
  const l = () => {
1045
- Fe(t), n.setState(
1045
+ Fe(t), o.setState(
1046
1046
  {
1047
1047
  comment: "",
1048
1048
  screenshot: void 0,
@@ -1050,7 +1050,7 @@ Location: ${o}:${n}:${r}`,
1050
1050
  isMinimized: !1
1051
1051
  },
1052
1052
  !0
1053
- ), r.setState(
1053
+ ), i.setState(
1054
1054
  {
1055
1055
  isDrawing: !1,
1056
1056
  currentPoints: [],
@@ -1067,39 +1067,46 @@ Location: ${o}:${n}:${r}`,
1067
1067
  dragOffset: null
1068
1068
  },
1069
1069
  !0
1070
- ), i.setState({
1070
+ ), r.setState({
1071
1071
  isOpen: !1
1072
1072
  });
1073
+ }, s = (c) => {
1074
+ r.setState({ notification: { show: !0, type: c.type, message: c.message } }), setTimeout(() => {
1075
+ r.setState({ notification: { show: !1, type: c.type, message: c.message } });
1076
+ }, 5e3);
1073
1077
  };
1074
1078
  return {
1075
- feedback: n,
1076
- drawing: r,
1077
- widget: i,
1079
+ feedback: o,
1080
+ drawing: i,
1081
+ widget: r,
1078
1082
  methods: {
1079
1083
  reset: l,
1080
- postSubmit: (s) => {
1081
- l(), i.setState({ notification: { show: !0, type: s.type, message: s.message } }), setTimeout(() => {
1082
- i.setState({ notification: { show: !1, type: s.type, message: s.message } });
1083
- }, 5e3);
1084
- },
1085
- onSubmit: (s) => e.onSubmit(s)
1084
+ submit: async (c) => {
1085
+ r.setState({ isOpen: !1 });
1086
+ try {
1087
+ const d = await e.onSubmit(c);
1088
+ return d instanceof Response && !d.ok ? (s({ show: !0, type: "error", message: "Submission failed" }), d) : (l(), s({ show: !0, type: "success", message: "Feedback submitted" }), d);
1089
+ } catch {
1090
+ s({ show: !0, type: "error", message: "Submission failed" });
1091
+ }
1092
+ }
1086
1093
  }
1087
1094
  };
1088
- }, Ve = qe(), Yt = (e) => {
1095
+ }, Ke = Je(), Yt = (e) => {
1089
1096
  const t = Bt({
1090
1097
  primaryColor: e.primaryColor,
1091
1098
  onSubmit: e.onSubmit,
1092
1099
  textConfig: e.textConfig,
1093
1100
  position: e.position
1094
1101
  });
1095
- return f(Ve.Provider, {
1102
+ return g(Ke.Provider, {
1096
1103
  value: t,
1097
1104
  get children() {
1098
1105
  return e.children;
1099
1106
  }
1100
1107
  });
1101
- }, k = () => {
1102
- const e = Qe(Ve);
1108
+ }, x = () => {
1109
+ const e = qe(Ke);
1103
1110
  if (!e)
1104
1111
  throw new Error("useEchoStore must be used within EchoProvider");
1105
1112
  return e;
@@ -1107,9 +1114,9 @@ Location: ${o}:${n}:${r}`,
1107
1114
  var Wt = /* @__PURE__ */ b('<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">');
1108
1115
  const _t = (e) => (() => {
1109
1116
  var t = Wt();
1110
- return w((o) => {
1111
- var n = e.size ?? 24, r = e.size ?? 24, i = e.fill ?? "none", a = e.stroke ?? "currentColor", l = e.strokeWidth ?? 2, s = e.class, c = e.style;
1112
- return n !== o.e && h(t, "width", o.e = n), r !== o.t && h(t, "height", o.t = r), i !== o.a && h(t, "fill", o.a = i), a !== o.o && h(t, "stroke", o.o = a), l !== o.i && h(t, "stroke-width", o.i = l), s !== o.n && h(t, "class", o.n = s), o.s = P(t, c, o.s), o;
1117
+ return w((n) => {
1118
+ var o = e.size ?? 24, i = e.size ?? 24, r = e.fill ?? "none", a = e.stroke ?? "currentColor", l = e.strokeWidth ?? 2, s = e.class, c = e.style;
1119
+ return o !== n.e && h(t, "width", n.e = o), i !== n.t && h(t, "height", n.t = i), r !== n.a && h(t, "fill", n.a = r), a !== n.o && h(t, "stroke", n.o = a), l !== n.i && h(t, "stroke-width", n.i = l), s !== n.n && h(t, "class", n.n = s), n.s = C(t, c, n.s), n;
1113
1120
  }, {
1114
1121
  e: void 0,
1115
1122
  t: void 0,
@@ -1122,10 +1129,10 @@ const _t = (e) => (() => {
1122
1129
  })();
1123
1130
  var Ut = /* @__PURE__ */ b('<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">');
1124
1131
  const Kt = (e) => (() => {
1125
- var t = Ut(), o = t.firstChild;
1126
- return w((n) => {
1127
- var r = e.size ?? 24, i = e.size ?? 24, a = e.class, l = e.style, s = e.fill ?? "currentColor";
1128
- return r !== n.e && h(t, "width", n.e = r), i !== n.t && h(t, "height", n.t = i), a !== n.a && h(t, "class", n.a = a), n.o = P(t, l, n.o), s !== n.i && h(o, "fill", n.i = s), n;
1132
+ var t = Ut(), n = t.firstChild;
1133
+ return w((o) => {
1134
+ var i = e.size ?? 24, r = e.size ?? 24, a = e.class, l = e.style, s = e.fill ?? "currentColor";
1135
+ return i !== o.e && h(t, "width", o.e = i), r !== o.t && h(t, "height", o.t = r), a !== o.a && h(t, "class", o.a = a), o.o = C(t, l, o.o), s !== o.i && h(n, "fill", o.i = s), o;
1129
1136
  }, {
1130
1137
  e: void 0,
1131
1138
  t: void 0,
@@ -1137,9 +1144,9 @@ const Kt = (e) => (() => {
1137
1144
  var Vt = /* @__PURE__ */ b('<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">');
1138
1145
  const Rt = (e) => (() => {
1139
1146
  var t = Vt();
1140
- return w((o) => {
1141
- var n = e.size ?? 24, r = e.size ?? 24, i = e.fill ?? "none", a = e.stroke ?? "currentColor", l = e.strokeWidth ?? 2, s = e.class, c = e.style;
1142
- return n !== o.e && h(t, "width", o.e = n), r !== o.t && h(t, "height", o.t = r), i !== o.a && h(t, "fill", o.a = i), a !== o.o && h(t, "stroke", o.o = a), l !== o.i && h(t, "stroke-width", o.i = l), s !== o.n && h(t, "class", o.n = s), o.s = P(t, c, o.s), o;
1147
+ return w((n) => {
1148
+ var o = e.size ?? 24, i = e.size ?? 24, r = e.fill ?? "none", a = e.stroke ?? "currentColor", l = e.strokeWidth ?? 2, s = e.class, c = e.style;
1149
+ return o !== n.e && h(t, "width", n.e = o), i !== n.t && h(t, "height", n.t = i), r !== n.a && h(t, "fill", n.a = r), a !== n.o && h(t, "stroke", n.o = a), l !== n.i && h(t, "stroke-width", n.i = l), s !== n.n && h(t, "class", n.n = s), n.s = C(t, c, n.s), n;
1143
1150
  }, {
1144
1151
  e: void 0,
1145
1152
  t: void 0,
@@ -1153,9 +1160,9 @@ const Rt = (e) => (() => {
1153
1160
  var Xt = /* @__PURE__ */ b('<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">');
1154
1161
  const Gt = (e) => (() => {
1155
1162
  var t = Xt();
1156
- return w((o) => {
1157
- var n = e.size ?? 24, r = e.size ?? 24, i = e.fill ?? "none", a = e.stroke ?? "currentColor", l = e.strokeWidth ?? 2, s = e.class, c = e.style;
1158
- return n !== o.e && h(t, "width", o.e = n), r !== o.t && h(t, "height", o.t = r), i !== o.a && h(t, "fill", o.a = i), a !== o.o && h(t, "stroke", o.o = a), l !== o.i && h(t, "stroke-width", o.i = l), s !== o.n && h(t, "class", o.n = s), o.s = P(t, c, o.s), o;
1163
+ return w((n) => {
1164
+ var o = e.size ?? 24, i = e.size ?? 24, r = e.fill ?? "none", a = e.stroke ?? "currentColor", l = e.strokeWidth ?? 2, s = e.class, c = e.style;
1165
+ return o !== n.e && h(t, "width", n.e = o), i !== n.t && h(t, "height", n.t = i), r !== n.a && h(t, "fill", n.a = r), a !== n.o && h(t, "stroke", n.o = a), l !== n.i && h(t, "stroke-width", n.i = l), s !== n.n && h(t, "class", n.n = s), n.s = C(t, c, n.s), n;
1159
1166
  }, {
1160
1167
  e: void 0,
1161
1168
  t: void 0,
@@ -1167,11 +1174,11 @@ const Gt = (e) => (() => {
1167
1174
  }), t;
1168
1175
  })();
1169
1176
  var Jt = /* @__PURE__ */ b('<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>');
1170
- const Re = (e) => (() => {
1177
+ const Ve = (e) => (() => {
1171
1178
  var t = Jt();
1172
- return w((o) => {
1173
- var n = e.size ?? 24, r = e.size ?? 24, i = e.fill ?? "none", a = e.stroke ?? "currentColor", l = e.strokeWidth ?? 2, s = e.class, c = e.style;
1174
- return n !== o.e && h(t, "width", o.e = n), r !== o.t && h(t, "height", o.t = r), i !== o.a && h(t, "fill", o.a = i), a !== o.o && h(t, "stroke", o.o = a), l !== o.i && h(t, "stroke-width", o.i = l), s !== o.n && h(t, "class", o.n = s), o.s = P(t, c, o.s), o;
1179
+ return w((n) => {
1180
+ var o = e.size ?? 24, i = e.size ?? 24, r = e.fill ?? "none", a = e.stroke ?? "currentColor", l = e.strokeWidth ?? 2, s = e.class, c = e.style;
1181
+ return o !== n.e && h(t, "width", n.e = o), i !== n.t && h(t, "height", n.t = i), r !== n.a && h(t, "fill", n.a = r), a !== n.o && h(t, "stroke", n.o = a), l !== n.i && h(t, "stroke-width", n.i = l), s !== n.n && h(t, "class", n.n = s), n.s = C(t, c, n.s), n;
1175
1182
  }, {
1176
1183
  e: void 0,
1177
1184
  t: void 0,
@@ -1185,9 +1192,9 @@ const Re = (e) => (() => {
1185
1192
  var qt = /* @__PURE__ */ b('<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">');
1186
1193
  const Qt = (e) => (() => {
1187
1194
  var t = qt();
1188
- return w((o) => {
1189
- var n = e.size ?? 24, r = e.size ?? 24, i = e.fill ?? "none", a = e.stroke ?? "currentColor", l = e.strokeWidth ?? 2, s = e.class, c = e.style;
1190
- return n !== o.e && h(t, "width", o.e = n), r !== o.t && h(t, "height", o.t = r), i !== o.a && h(t, "fill", o.a = i), a !== o.o && h(t, "stroke", o.o = a), l !== o.i && h(t, "stroke-width", o.i = l), s !== o.n && h(t, "class", o.n = s), o.s = P(t, c, o.s), o;
1195
+ return w((n) => {
1196
+ var o = e.size ?? 24, i = e.size ?? 24, r = e.fill ?? "none", a = e.stroke ?? "currentColor", l = e.strokeWidth ?? 2, s = e.class, c = e.style;
1197
+ return o !== n.e && h(t, "width", n.e = o), i !== n.t && h(t, "height", n.t = i), r !== n.a && h(t, "fill", n.a = r), a !== n.o && h(t, "stroke", n.o = a), l !== n.i && h(t, "stroke-width", n.i = l), s !== n.n && h(t, "class", n.n = s), n.s = C(t, c, n.s), n;
1191
1198
  }, {
1192
1199
  e: void 0,
1193
1200
  t: void 0,
@@ -1199,11 +1206,11 @@ const Qt = (e) => (() => {
1199
1206
  }), t;
1200
1207
  })();
1201
1208
  var Zt = /* @__PURE__ */ b('<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">');
1202
- const eo = (e) => (() => {
1209
+ const en = (e) => (() => {
1203
1210
  var t = Zt();
1204
- return w((o) => {
1205
- var n = e.size ?? 24, r = e.size ?? 24, i = e.fill ?? "none", a = e.stroke ?? "currentColor", l = e.strokeWidth ?? 2, s = e.class, c = e.style;
1206
- return n !== o.e && h(t, "width", o.e = n), r !== o.t && h(t, "height", o.t = r), i !== o.a && h(t, "fill", o.a = i), a !== o.o && h(t, "stroke", o.o = a), l !== o.i && h(t, "stroke-width", o.i = l), s !== o.n && h(t, "class", o.n = s), o.s = P(t, c, o.s), o;
1211
+ return w((n) => {
1212
+ var o = e.size ?? 24, i = e.size ?? 24, r = e.fill ?? "none", a = e.stroke ?? "currentColor", l = e.strokeWidth ?? 2, s = e.class, c = e.style;
1213
+ return o !== n.e && h(t, "width", n.e = o), i !== n.t && h(t, "height", n.t = i), r !== n.a && h(t, "fill", n.a = r), a !== n.o && h(t, "stroke", n.o = a), l !== n.i && h(t, "stroke-width", n.i = l), s !== n.n && h(t, "class", n.n = s), n.s = C(t, c, n.s), n;
1207
1214
  }, {
1208
1215
  e: void 0,
1209
1216
  t: void 0,
@@ -1214,12 +1221,12 @@ const eo = (e) => (() => {
1214
1221
  s: void 0
1215
1222
  }), t;
1216
1223
  })();
1217
- var to = /* @__PURE__ */ b('<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">');
1224
+ var tn = /* @__PURE__ */ b('<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">');
1218
1225
  const ie = (e) => (() => {
1219
- var t = to();
1220
- return w((o) => {
1221
- var n = e.size ?? 24, r = e.size ?? 24, i = e.fill ?? "none", a = e.stroke ?? "currentColor", l = e.strokeWidth ?? 2, s = e.class, c = e.style;
1222
- return n !== o.e && h(t, "width", o.e = n), r !== o.t && h(t, "height", o.t = r), i !== o.a && h(t, "fill", o.a = i), a !== o.o && h(t, "stroke", o.o = a), l !== o.i && h(t, "stroke-width", o.i = l), s !== o.n && h(t, "class", o.n = s), o.s = P(t, c, o.s), o;
1226
+ var t = tn();
1227
+ return w((n) => {
1228
+ var o = e.size ?? 24, i = e.size ?? 24, r = e.fill ?? "none", a = e.stroke ?? "currentColor", l = e.strokeWidth ?? 2, s = e.class, c = e.style;
1229
+ return o !== n.e && h(t, "width", n.e = o), i !== n.t && h(t, "height", n.t = i), r !== n.a && h(t, "fill", n.a = r), a !== n.o && h(t, "stroke", n.o = a), l !== n.i && h(t, "stroke-width", n.i = l), s !== n.n && h(t, "class", n.n = s), n.s = C(t, c, n.s), n;
1223
1230
  }, {
1224
1231
  e: void 0,
1225
1232
  t: void 0,
@@ -1230,8 +1237,8 @@ const ie = (e) => (() => {
1230
1237
  s: void 0
1231
1238
  }), t;
1232
1239
  })();
1233
- var oo = /* @__PURE__ */ b("<div class=echo-color-selector><button class=echo-drawing-toolbar-button title=Color></button><div class=echo-color-swatch-wrapper><div class=echo-color-swatch>"), no = /* @__PURE__ */ b("<button class=echo-color-swatch-button>");
1234
- const ro = [
1240
+ var nn = /* @__PURE__ */ b("<div class=echo-color-selector><button class=echo-drawing-toolbar-button title=Color></button><div class=echo-color-swatch-wrapper><div class=echo-color-swatch>"), on = /* @__PURE__ */ b("<button class=echo-color-swatch-button>");
1241
+ const rn = [
1235
1242
  "#ff6b6b",
1236
1243
  // Soft Red
1237
1244
  "#69db7c",
@@ -1248,44 +1255,44 @@ const ro = [
1248
1255
  // Soft Orange
1249
1256
  "#e599f7"
1250
1257
  // Soft Pink
1251
- ], io = () => {
1252
- const e = k();
1258
+ ], an = () => {
1259
+ const e = x();
1253
1260
  return (() => {
1254
- var t = oo(), o = t.firstChild, n = o.nextSibling, r = n.firstChild;
1255
- return v(r, f(re, {
1261
+ var t = nn(), n = t.firstChild, o = n.nextSibling, i = o.firstChild;
1262
+ return m(i, g(re, {
1256
1263
  get each() {
1257
- return [e.widget.state.primaryColor, ...ro];
1264
+ return [e.widget.state.primaryColor, ...rn];
1258
1265
  },
1259
- children: (i) => (() => {
1260
- var a = no();
1266
+ children: (r) => (() => {
1267
+ var a = on();
1261
1268
  return a.$$click = () => e.drawing.setState({
1262
- selectedColor: i
1263
- }), h(a, "title", `Select ${i} color`), i != null ? a.style.setProperty("background-color", i) : a.style.removeProperty("background-color"), w(() => h(a, "data-selected", e.drawing.state.selectedColor === i)), a;
1269
+ selectedColor: r
1270
+ }), h(a, "title", `Select ${r} color`), r != null ? a.style.setProperty("background-color", r) : a.style.removeProperty("background-color"), w(() => h(a, "data-selected", e.drawing.state.selectedColor === r)), a;
1264
1271
  })()
1265
- })), w((i) => (i = e.drawing.state.selectedColor) != null ? o.style.setProperty("background-color", i) : o.style.removeProperty("background-color")), t;
1272
+ })), w((r) => (r = e.drawing.state.selectedColor) != null ? n.style.setProperty("background-color", r) : n.style.removeProperty("background-color")), t;
1266
1273
  })();
1267
1274
  };
1268
- I(["click"]);
1269
- var ao = /* @__PURE__ */ b('<div class=echo-drawing-toolbar data-hide-when-drawing=true><button class=echo-drawing-toolbar-button title="Clear drawings">'), so = /* @__PURE__ */ b("<button class=echo-drawing-toolbar-button>");
1270
- const lo = {
1275
+ T(["click"]);
1276
+ var sn = /* @__PURE__ */ b('<div class=echo-drawing-toolbar data-hide-when-drawing=true><button class=echo-drawing-toolbar-button title="Clear drawings">'), ln = /* @__PURE__ */ b("<button class=echo-drawing-toolbar-button>");
1277
+ const cn = {
1271
1278
  rectangle: Rt,
1272
1279
  path: Gt
1273
- }, co = () => {
1274
- const e = k(), t = Object.values(O);
1280
+ }, dn = () => {
1281
+ const e = x(), t = Object.values(z);
1275
1282
  return (() => {
1276
- var o = ao(), n = o.firstChild;
1277
- return v(o, f(re, {
1283
+ var n = sn(), o = n.firstChild;
1284
+ return m(n, g(re, {
1278
1285
  each: t,
1279
- children: (r) => {
1280
- const i = lo[r.id];
1286
+ children: (i) => {
1287
+ const r = cn[i.id];
1281
1288
  return (() => {
1282
- var a = so();
1289
+ var a = ln();
1283
1290
  return a.$$click = () => e.drawing.setState({
1284
- selectedTool: r.id
1285
- }), v(a, f(i, {
1291
+ selectedTool: i.id
1292
+ }), m(a, g(r, {
1286
1293
  class: "echo-drawing-toolbar-icon"
1287
1294
  })), w((l) => {
1288
- var s = r.label, c = e.drawing.state.selectedTool === r.id;
1295
+ var s = i.label, c = e.drawing.state.selectedTool === i.id;
1289
1296
  return s !== l.e && h(a, "title", l.e = s), c !== l.t && h(a, "data-selected", l.t = c), l;
1290
1297
  }, {
1291
1298
  e: void 0,
@@ -1293,32 +1300,32 @@ const lo = {
1293
1300
  }), a;
1294
1301
  })();
1295
1302
  }
1296
- }), n), v(o, f(io, {}), n), n.$$click = () => e.drawing.setState({
1303
+ }), o), m(n, g(an, {}), o), o.$$click = () => e.drawing.setState({
1297
1304
  shapes: []
1298
- }, !0), v(n, f(Re, {
1305
+ }, !0), m(o, g(Ve, {
1299
1306
  class: "echo-drawing-toolbar-icon"
1300
- })), o;
1307
+ })), n;
1301
1308
  })();
1302
1309
  };
1303
- I(["click"]);
1304
- var ho = /* @__PURE__ */ b("<button>");
1305
- const T = (e) => {
1306
- const t = () => e.variant || "primary", o = () => e.size || "md";
1310
+ T(["click"]);
1311
+ var hn = /* @__PURE__ */ b("<button>");
1312
+ const O = (e) => {
1313
+ const t = () => e.variant || "primary", n = () => e.size || "md";
1307
1314
  return (() => {
1308
- var n = ho();
1309
- return ht(n, Z(e, {
1315
+ var o = hn();
1316
+ return dt(o, Z(e, {
1310
1317
  get class() {
1311
- return `echo-button echo-button-${t()} echo-button-${o()} ${e.class}`;
1318
+ return `echo-button echo-button-${t()} echo-button-${n()} ${e.class}`;
1312
1319
  }
1313
- }), !1), n;
1320
+ }), !1), o;
1314
1321
  })();
1315
1322
  };
1316
- var uo = /* @__PURE__ */ b('<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>');
1317
- const fo = (e) => (() => {
1318
- var t = uo();
1319
- return w((o) => {
1320
- var n = e.size ?? 24, r = e.size ?? 24, i = e.fill ?? "none", a = e.stroke ?? "currentColor", l = e.strokeWidth ?? 2, s = e.class, c = e.style;
1321
- return n !== o.e && h(t, "width", o.e = n), r !== o.t && h(t, "height", o.t = r), i !== o.a && h(t, "fill", o.a = i), a !== o.o && h(t, "stroke", o.o = a), l !== o.i && h(t, "stroke-width", o.i = l), s !== o.n && h(t, "class", o.n = s), o.s = P(t, c, o.s), o;
1323
+ var un = /* @__PURE__ */ b('<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>');
1324
+ const fn = (e) => (() => {
1325
+ var t = un();
1326
+ return w((n) => {
1327
+ var o = e.size ?? 24, i = e.size ?? 24, r = e.fill ?? "none", a = e.stroke ?? "currentColor", l = e.strokeWidth ?? 2, s = e.class, c = e.style;
1328
+ return o !== n.e && h(t, "width", n.e = o), i !== n.t && h(t, "height", n.t = i), r !== n.a && h(t, "fill", n.a = r), a !== n.o && h(t, "stroke", n.o = a), l !== n.i && h(t, "stroke-width", n.i = l), s !== n.n && h(t, "class", n.n = s), n.s = C(t, c, n.s), n;
1322
1329
  }, {
1323
1330
  e: void 0,
1324
1331
  t: void 0,
@@ -1329,19 +1336,19 @@ const fo = (e) => (() => {
1329
1336
  s: void 0
1330
1337
  }), t;
1331
1338
  })();
1332
- var go = /* @__PURE__ */ b("<div class=echo-stored-feedback-empty>No unsubmitted feedback"), mo = /* @__PURE__ */ b("<div class=echo-stored-feedback><div class=echo-stored-feedback-header><h3>Unsubmitted Feedback</h3></div><div class=echo-stored-feedback-list>"), vo = /* @__PURE__ */ b("<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>");
1333
- const wo = () => {
1334
- const e = k(), [t, o] = D(se()), [n, r] = D(window.location.pathname), i = () => {
1339
+ var gn = /* @__PURE__ */ b("<div class=echo-stored-feedback-empty>No unsubmitted feedback"), mn = /* @__PURE__ */ b("<div class=echo-stored-feedback><div class=echo-stored-feedback-header><h3>Unsubmitted Feedback</h3></div><div class=echo-stored-feedback-list>"), vn = /* @__PURE__ */ b("<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>");
1340
+ const wn = () => {
1341
+ const e = x(), [t, n] = M(se()), [o, i] = M(window.location.pathname), r = () => {
1335
1342
  const d = se();
1336
- o(d), e.widget.setState({
1343
+ n(d), e.widget.setState({
1337
1344
  pagesCount: d.length
1338
1345
  });
1339
1346
  }, a = () => {
1340
- r(window.location.pathname);
1347
+ i(window.location.pathname);
1341
1348
  };
1342
1349
  W({
1343
1350
  event: "echo-storage-change",
1344
- callback: i
1351
+ callback: r
1345
1352
  }), W({
1346
1353
  event: "popstate",
1347
1354
  callback: a
@@ -1352,18 +1359,18 @@ const wo = () => {
1352
1359
  subtree: !0
1353
1360
  },
1354
1361
  callback: () => {
1355
- r(window.location.pathname);
1362
+ i(window.location.pathname);
1356
1363
  }
1357
1364
  });
1358
1365
  const l = (d, u) => {
1359
- const g = u ? `${d}${u}` : d;
1360
- window.location.href = g, e.widget.setState({
1366
+ const f = u ? `${d}${u}` : d;
1367
+ window.location.href = f, e.widget.setState({
1361
1368
  isStoredFeedbackOpen: !1
1362
1369
  });
1363
1370
  }, s = (d) => {
1364
- n() === d && e.methods.reset(), Fe(d);
1371
+ o() === d && e.methods.reset(), Fe(d);
1365
1372
  const u = se();
1366
- o(u), e.widget.setState({
1373
+ n(u), e.widget.setState({
1367
1374
  pagesCount: u.length
1368
1375
  });
1369
1376
  }, c = (d) => {
@@ -1371,83 +1378,83 @@ const wo = () => {
1371
1378
  const u = d.split("/");
1372
1379
  return u.length <= 4 ? d : `/${u[1]}/.../${u[u.length - 1]}`;
1373
1380
  };
1374
- return f(j, {
1381
+ return g(j, {
1375
1382
  get when() {
1376
1383
  return e.widget.state.isStoredFeedbackOpen;
1377
1384
  },
1378
1385
  get children() {
1379
- var d = mo(), u = d.firstChild;
1386
+ var d = mn(), u = d.firstChild;
1380
1387
  u.firstChild;
1381
- var g = u.nextSibling;
1382
- return v(u, f(T, {
1388
+ var f = u.nextSibling;
1389
+ return m(u, g(O, {
1383
1390
  variant: "secondary",
1384
1391
  size: "sm",
1385
1392
  onClick: () => e.widget.setState({
1386
1393
  isStoredFeedbackOpen: !1
1387
1394
  }),
1388
1395
  get children() {
1389
- return f(ie, {
1396
+ return g(ie, {
1390
1397
  size: 20
1391
1398
  });
1392
1399
  }
1393
- }), null), v(g, f(re, {
1400
+ }), null), m(f, g(re, {
1394
1401
  get each() {
1395
1402
  return t();
1396
1403
  },
1397
- children: (m) => {
1398
- const y = x(() => m.path === n());
1404
+ children: (v) => {
1405
+ const y = p(() => v.path === o());
1399
1406
  return (() => {
1400
- var p = vo(), S = p.firstChild, L = S.firstChild, Xe = L.nextSibling, we = S.nextSibling;
1401
- return v(L, () => c(m.path)), v(Xe, () => m.state.feedback.comment), v(we, (() => {
1402
- var M = x(() => !y());
1403
- return () => M() && f(T, {
1407
+ var k = vn(), I = k.firstChild, L = I.firstChild, Re = L.nextSibling, we = I.nextSibling;
1408
+ return m(L, () => c(v.path)), m(Re, () => v.state.feedback.comment), m(we, (() => {
1409
+ var D = p(() => !y());
1410
+ return () => D() && g(O, {
1404
1411
  class: "echo-stored-feedback-link",
1405
1412
  variant: "secondary",
1406
1413
  size: "sm",
1407
- onClick: () => l(m.path, m.state.latestQuery),
1414
+ onClick: () => l(v.path, v.state.latestQuery),
1408
1415
  get children() {
1409
- return f(fo, {});
1416
+ return g(fn, {});
1410
1417
  }
1411
1418
  });
1412
- })(), null), v(we, f(T, {
1419
+ })(), null), m(we, g(O, {
1413
1420
  class: "echo-stored-feedback-delete",
1414
1421
  variant: "secondary",
1415
1422
  size: "sm",
1416
- onClick: () => s(m.path),
1423
+ onClick: () => s(v.path),
1417
1424
  children: "Delete"
1418
- }), null), w((M) => {
1419
- var be = `echo-stored-feedback-item ${y() ? "echo-stored-feedback-item-current" : ""}`, ye = m.path;
1420
- return be !== M.e && Me(p, M.e = be), ye !== M.t && h(L, "title", M.t = ye), M;
1425
+ }), null), w((D) => {
1426
+ var be = `echo-stored-feedback-item ${y() ? "echo-stored-feedback-item-current" : ""}`, ye = v.path;
1427
+ return be !== D.e && De(k, D.e = be), ye !== D.t && h(L, "title", D.t = ye), D;
1421
1428
  }, {
1422
1429
  e: void 0,
1423
1430
  t: void 0
1424
- }), p;
1431
+ }), k;
1425
1432
  })();
1426
1433
  }
1427
- }), null), v(g, f(j, {
1434
+ }), null), m(f, g(j, {
1428
1435
  get when() {
1429
1436
  return t().length === 0;
1430
1437
  },
1431
1438
  get children() {
1432
- return go();
1439
+ return gn();
1433
1440
  }
1434
1441
  }), null), d;
1435
1442
  }
1436
1443
  });
1437
1444
  };
1438
- var bo = /* @__PURE__ */ b("<button class=echo-launcher-button>"), yo = /* @__PURE__ */ b("<span class=echo-launcher-button-count>");
1439
- const po = () => {
1440
- const e = k(), [t, o] = D(!1);
1441
- let n;
1442
- const r = () => {
1443
- n && window.clearTimeout(n), n = window.setTimeout(() => {
1445
+ var bn = /* @__PURE__ */ b("<button class=echo-launcher-button>"), yn = /* @__PURE__ */ b("<span class=echo-launcher-button-count>");
1446
+ const pn = () => {
1447
+ const e = x(), [t, n] = M(!1);
1448
+ let o;
1449
+ const i = () => {
1450
+ o && window.clearTimeout(o), o = window.setTimeout(() => {
1444
1451
  const c = je("welcome_message_shown", !1);
1445
- !e.widget.state.isOpen && !e.widget.state.isStoredFeedbackOpen && c && o(!0);
1452
+ !e.widget.state.isOpen && !e.widget.state.isStoredFeedbackOpen && c && n(!0);
1446
1453
  }, 4e3);
1447
- }, i = () => {
1448
- o(!1);
1454
+ }, r = () => {
1455
+ n(!1);
1449
1456
  }, a = () => {
1450
- r();
1457
+ i();
1451
1458
  }, l = () => {
1452
1459
  e.widget.setState({
1453
1460
  isOpen: !e.widget.state.isOpen
@@ -1455,45 +1462,45 @@ const po = () => {
1455
1462
  welcomeMessageIsClosing: !0
1456
1463
  }), he("welcome_message_shown", !0);
1457
1464
  };
1458
- ne(() => {
1459
- e.widget.state.isOpen || (o(!1), r()), e.widget.state.isStoredFeedbackOpen && o(!1);
1465
+ oe(() => {
1466
+ e.widget.state.isOpen || (n(!1), i()), e.widget.state.isStoredFeedbackOpen && n(!1);
1460
1467
  });
1461
1468
  const s = (c) => {
1462
1469
  c.stopPropagation(), e.widget.setState({
1463
1470
  isStoredFeedbackOpen: !e.widget.state.isStoredFeedbackOpen
1464
- }), o(!1);
1471
+ }), n(!1);
1465
1472
  };
1466
1473
  return [(() => {
1467
- var c = bo();
1468
- return c.addEventListener("pointerleave", a), c.addEventListener("pointerenter", i), c.$$click = l, v(c, f(Kt, {
1474
+ var c = bn();
1475
+ return c.addEventListener("pointerleave", a), c.addEventListener("pointerenter", r), c.$$click = l, m(c, g(Kt, {
1469
1476
  stroke: "white",
1470
1477
  fill: "#ffffff"
1471
- }), null), v(c, (() => {
1472
- var d = x(() => e.widget.state.pagesCount > 0);
1478
+ }), null), m(c, (() => {
1479
+ var d = p(() => e.widget.state.pagesCount > 0);
1473
1480
  return () => d() && (() => {
1474
- var u = yo();
1475
- return u.$$click = s, v(u, () => e.widget.state.pagesCount), u;
1481
+ var u = yn();
1482
+ return u.$$click = s, m(u, () => e.widget.state.pagesCount), u;
1476
1483
  })();
1477
1484
  })(), null), w((d) => {
1478
- var u = e.widget.state.isOpen, g = t() ? "45px" : "0";
1479
- return u !== d.e && h(c, "data-hidden", d.e = u), g !== d.t && ((d.t = g) != null ? c.style.setProperty("left", g) : c.style.removeProperty("left")), d;
1485
+ var u = e.widget.state.isOpen, f = t() ? "45px" : "0";
1486
+ return u !== d.e && h(c, "data-hidden", d.e = u), f !== d.t && ((d.t = f) != null ? c.style.setProperty("left", f) : c.style.removeProperty("left")), d;
1480
1487
  }, {
1481
1488
  e: void 0,
1482
1489
  t: void 0
1483
1490
  }), c;
1484
- })(), f(wo, {})];
1491
+ })(), g(wn, {})];
1485
1492
  };
1486
- I(["click"]);
1487
- var xo = /* @__PURE__ */ b("<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>");
1488
- const ko = () => {
1489
- const e = k(), t = () => {
1493
+ T(["click"]);
1494
+ var xn = /* @__PURE__ */ b("<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>");
1495
+ const kn = () => {
1496
+ const e = x(), t = () => {
1490
1497
  e.widget.setState({
1491
1498
  notification: {
1492
1499
  ...e.widget.state.notification,
1493
1500
  show: !1
1494
1501
  }
1495
1502
  });
1496
- }, o = () => {
1503
+ }, n = () => {
1497
1504
  switch (e.widget.state.notification.type) {
1498
1505
  case "success":
1499
1506
  return e.widget.state.text.notification.successTitle;
@@ -1504,8 +1511,8 @@ const ko = () => {
1504
1511
  }
1505
1512
  };
1506
1513
  return (() => {
1507
- var n = xo(), r = n.firstChild, i = r.nextSibling, a = i.firstChild, l = a.nextSibling;
1508
- return v(n, f(T, {
1514
+ var o = xn(), i = o.firstChild, r = i.nextSibling, a = r.firstChild, l = a.nextSibling;
1515
+ return m(o, g(O, {
1509
1516
  class: "echo-notification-hide",
1510
1517
  variant: "secondary",
1511
1518
  size: "sm",
@@ -1514,40 +1521,40 @@ const ko = () => {
1514
1521
  return e.widget.state.text.notification.hideTitle;
1515
1522
  },
1516
1523
  get children() {
1517
- return f(ie, {
1524
+ return g(ie, {
1518
1525
  size: 20
1519
1526
  });
1520
1527
  }
1521
- }), r), v(r, (() => {
1522
- var s = x(() => e.widget.state.notification.type === "success");
1523
- return () => s() ? f(Qt, {
1528
+ }), i), m(i, (() => {
1529
+ var s = p(() => e.widget.state.notification.type === "success");
1530
+ return () => s() ? g(Qt, {
1524
1531
  size: 32
1525
1532
  }) : (() => {
1526
- var c = x(() => e.widget.state.notification.type === "error");
1527
- return () => c() ? f(eo, {
1533
+ var c = p(() => e.widget.state.notification.type === "error");
1534
+ return () => c() ? g(en, {
1528
1535
  size: 32
1529
1536
  }) : null;
1530
1537
  })();
1531
- })()), v(a, o), v(l, () => {
1538
+ })()), m(a, n), m(l, () => {
1532
1539
  var s;
1533
1540
  return (s = e.widget.state.notification) == null ? void 0 : s.message;
1534
1541
  }), w((s) => {
1535
1542
  var c = e.widget.state.notification.type, d = !e.widget.state.notification.type, u = !e.widget.state.notification.show;
1536
- return c !== s.e && h(n, "data-type", s.e = c), d !== s.t && h(n, "data-empty", s.t = d), u !== s.a && h(n, "data-hidden", s.a = u), s;
1543
+ return c !== s.e && h(o, "data-type", s.e = c), d !== s.t && h(o, "data-empty", s.t = d), u !== s.a && h(o, "data-hidden", s.a = u), s;
1537
1544
  }, {
1538
1545
  e: void 0,
1539
1546
  t: void 0,
1540
1547
  a: void 0
1541
- }), n;
1548
+ }), o;
1542
1549
  })();
1543
1550
  };
1544
- var So = /* @__PURE__ */ b("<button class=echo-welcome-message><span class=echo-welcome-message-pulsar></span><div class=echo-welcome-message-close role=button tabindex=0>");
1545
- const Co = () => {
1546
- const e = k(), t = je("welcome_message_shown", !1), o = (r) => {
1547
- r.stopPropagation(), e.widget.setState({
1551
+ var Sn = /* @__PURE__ */ b("<button class=echo-welcome-message><span class=echo-welcome-message-pulsar></span><div class=echo-welcome-message-close role=button tabindex=0>");
1552
+ const Cn = () => {
1553
+ const e = x(), t = je("welcome_message_shown", !1), n = (i) => {
1554
+ i.stopPropagation(), e.widget.setState({
1548
1555
  welcomeMessageIsClosing: !0
1549
1556
  }), he("welcome_message_shown", !0);
1550
- }, n = () => {
1557
+ }, o = () => {
1551
1558
  e.widget.setState({
1552
1559
  isOpen: !0
1553
1560
  }), e.widget.setState({
@@ -1555,60 +1562,60 @@ const Co = () => {
1555
1562
  }), he("welcome_message_shown", !0);
1556
1563
  };
1557
1564
  return t ? null : (() => {
1558
- var r = So(), i = r.firstChild, a = i.nextSibling;
1559
- return r.$$click = n, r.style.setProperty("bottom", "80px"), r.style.setProperty("right", "20px"), v(r, () => e.widget.state.text.welcomeMessage.text, a), a.$$keydown = (l) => l.key === "Enter" && o(l), a.$$click = o, v(a, f(ie, {
1565
+ var i = Sn(), r = i.firstChild, a = r.nextSibling;
1566
+ return i.$$click = o, i.style.setProperty("bottom", "80px"), i.style.setProperty("right", "20px"), m(i, () => e.widget.state.text.welcomeMessage.text, a), a.$$keydown = (l) => l.key === "Enter" && n(l), a.$$click = n, m(a, g(ie, {
1560
1567
  size: 16,
1561
1568
  strokeWidth: 3
1562
1569
  })), w((l) => {
1563
1570
  var s = e.widget.state.welcomeMessageIsClosing, c = e.widget.state.text.welcomeMessage.closeAriaLabel;
1564
- return s !== l.e && h(r, "data-hidden", l.e = s), c !== l.t && h(a, "aria-label", l.t = c), l;
1571
+ return s !== l.e && h(i, "data-hidden", l.e = s), c !== l.t && h(a, "aria-label", l.t = c), l;
1565
1572
  }, {
1566
1573
  e: void 0,
1567
1574
  t: void 0
1568
- }), r;
1575
+ }), i;
1569
1576
  })();
1570
1577
  };
1571
- I(["click", "keydown"]);
1572
- var Po = /* @__PURE__ */ b("<svg><rect class=echo-shape fill=transparent vector-effect=non-scaling-stroke></svg>", !1, !0), $o = /* @__PURE__ */ b("<svg><path class=echo-shape fill=none vector-effect=non-scaling-stroke stroke-linecap=round></svg>", !1, !0);
1578
+ T(["click", "keydown"]);
1579
+ var Pn = /* @__PURE__ */ b("<svg><rect class=echo-shape fill=transparent vector-effect=non-scaling-stroke></svg>", !1, !0), $n = /* @__PURE__ */ b("<svg><path class=echo-shape fill=none vector-effect=non-scaling-stroke stroke-linecap=round></svg>", !1, !0);
1573
1580
  const Oe = (e) => {
1574
- const t = x(() => e.id === e.selectedShapeId);
1575
- return [f(j, {
1581
+ const t = p(() => e.id === e.selectedShapeId);
1582
+ return [g(j, {
1576
1583
  get when() {
1577
1584
  return e.type === "rectangle";
1578
1585
  },
1579
1586
  get children() {
1580
- return f(Eo, Z(e, {
1587
+ return g(En, Z(e, {
1581
1588
  get isSelected() {
1582
1589
  return t();
1583
1590
  }
1584
1591
  }));
1585
1592
  }
1586
- }), f(j, {
1593
+ }), g(j, {
1587
1594
  get when() {
1588
1595
  return e.type === "path";
1589
1596
  },
1590
1597
  get children() {
1591
- return f(zo, Z(e, {
1598
+ return g(zn, Z(e, {
1592
1599
  get isSelected() {
1593
1600
  return t();
1594
1601
  }
1595
1602
  }));
1596
1603
  }
1597
1604
  })];
1598
- }, Eo = (e) => {
1599
- const t = x(() => Ke(e.points));
1600
- return f(j, {
1605
+ }, En = (e) => {
1606
+ const t = p(() => Ue(e.points));
1607
+ return g(j, {
1601
1608
  get when() {
1602
1609
  return t();
1603
1610
  },
1604
1611
  get children() {
1605
- var o = Po();
1606
- return o.$$click = () => {
1607
- var n;
1608
- return (n = e.onShapeClick) == null ? void 0 : n.call(e, e.id);
1609
- }, w((n) => {
1610
- var r = e.id, i = e.isSelected, a = t().x, l = t().y, s = t().width, c = t().height, d = e.color, u = O.rectangle.strokeWidth, g = e.isSelected ? O.rectangle.opacity.selected : O.rectangle.opacity.default, m = e.isSelected ? "5,5" : "none", y = e.isSelected ? "move" : "pointer";
1611
- return r !== n.e && h(o, "data-shape-id", n.e = r), i !== n.t && h(o, "data-selected", n.t = i), a !== n.a && h(o, "x", n.a = a), l !== n.o && h(o, "y", n.o = l), s !== n.i && h(o, "width", n.i = s), c !== n.n && h(o, "height", n.n = c), d !== n.s && h(o, "stroke", n.s = d), u !== n.h && h(o, "stroke-width", n.h = u), g !== n.r && h(o, "opacity", n.r = g), m !== n.d && h(o, "stroke-dasharray", n.d = m), y !== n.l && h(o, "cursor", n.l = y), n;
1612
+ var n = Pn();
1613
+ return n.$$click = () => {
1614
+ var o;
1615
+ return (o = e.onShapeClick) == null ? void 0 : o.call(e, e.id);
1616
+ }, w((o) => {
1617
+ var i = e.id, r = e.isSelected, a = t().x, l = t().y, s = t().width, c = t().height, d = e.color, u = z.rectangle.strokeWidth, f = e.isSelected ? z.rectangle.opacity.selected : z.rectangle.opacity.default, v = e.isSelected ? "5,5" : "none", y = e.isSelected ? "move" : "pointer";
1618
+ return i !== o.e && h(n, "data-shape-id", o.e = i), r !== o.t && h(n, "data-selected", o.t = r), a !== o.a && h(n, "x", o.a = a), l !== o.o && h(n, "y", o.o = l), s !== o.i && h(n, "width", o.i = s), c !== o.n && h(n, "height", o.n = c), d !== o.s && h(n, "stroke", o.s = d), u !== o.h && h(n, "stroke-width", o.h = u), f !== o.r && h(n, "opacity", o.r = f), v !== o.d && h(n, "stroke-dasharray", o.d = v), y !== o.l && h(n, "cursor", o.l = y), o;
1612
1619
  }, {
1613
1620
  e: void 0,
1614
1621
  t: void 0,
@@ -1621,23 +1628,23 @@ const Oe = (e) => {
1621
1628
  r: void 0,
1622
1629
  d: void 0,
1623
1630
  l: void 0
1624
- }), o;
1631
+ }), n;
1625
1632
  }
1626
1633
  });
1627
- }, zo = (e) => {
1628
- const t = x(() => Tt(e.points));
1629
- return f(j, {
1634
+ }, zn = (e) => {
1635
+ const t = p(() => Tt(e.points));
1636
+ return g(j, {
1630
1637
  get when() {
1631
1638
  return t();
1632
1639
  },
1633
1640
  get children() {
1634
- var o = $o();
1635
- return o.$$click = () => {
1636
- var n;
1637
- return (n = e.onShapeClick) == null ? void 0 : n.call(e, e.id);
1638
- }, w((n) => {
1639
- var r = e.id, i = e.isSelected, a = t(), l = e.color, s = O.path.strokeWidth, c = e.isSelected ? O.path.opacity.selected : O.path.opacity.default, d = e.isSelected ? "move" : "pointer";
1640
- return r !== n.e && h(o, "data-shape-id", n.e = r), i !== n.t && h(o, "data-selected", n.t = i), a !== n.a && h(o, "d", n.a = a), l !== n.o && h(o, "stroke", n.o = l), s !== n.i && h(o, "stroke-width", n.i = s), c !== n.n && h(o, "opacity", n.n = c), d !== n.s && h(o, "cursor", n.s = d), n;
1641
+ var n = $n();
1642
+ return n.$$click = () => {
1643
+ var o;
1644
+ return (o = e.onShapeClick) == null ? void 0 : o.call(e, e.id);
1645
+ }, w((o) => {
1646
+ var i = e.id, r = e.isSelected, a = t(), l = e.color, s = z.path.strokeWidth, c = e.isSelected ? z.path.opacity.selected : z.path.opacity.default, d = e.isSelected ? "move" : "pointer";
1647
+ return i !== o.e && h(n, "data-shape-id", o.e = i), r !== o.t && h(n, "data-selected", o.t = r), a !== o.a && h(n, "d", o.a = a), l !== o.o && h(n, "stroke", o.o = l), s !== o.i && h(n, "stroke-width", o.i = s), c !== o.n && h(n, "opacity", o.n = c), d !== o.s && h(n, "cursor", o.s = d), o;
1641
1648
  }, {
1642
1649
  e: void 0,
1643
1650
  t: void 0,
@@ -1646,62 +1653,62 @@ const Oe = (e) => {
1646
1653
  i: void 0,
1647
1654
  n: void 0,
1648
1655
  s: void 0
1649
- }), o;
1656
+ }), n;
1650
1657
  }
1651
1658
  });
1652
1659
  };
1653
- I(["click"]);
1654
- var Oo = /* @__PURE__ */ b("<div class=echo-drawing-tooltip data-hide-when-drawing=true>");
1655
- const To = () => {
1656
- const e = k(), t = x(() => e.drawing.state.showTooltip && e.drawing.state.mousePosition.y && e.drawing.state.mousePosition.x && e.widget.state.isOpen && !Ue());
1657
- return f(j, {
1660
+ T(["click"]);
1661
+ var On = /* @__PURE__ */ b("<div class=echo-drawing-tooltip data-hide-when-drawing=true>");
1662
+ const Tn = () => {
1663
+ const e = x(), t = p(() => e.drawing.state.showTooltip && e.drawing.state.mousePosition.y && e.drawing.state.mousePosition.x && e.widget.state.isOpen && !Ot());
1664
+ return g(j, {
1658
1665
  get when() {
1659
1666
  return t();
1660
1667
  },
1661
1668
  get children() {
1662
- var o = Oo();
1663
- return v(o, () => e.widget.state.text.drawingTooltip.text), w((n) => {
1664
- var r = `${e.drawing.state.mousePosition.y + 20}px`, i = `${e.drawing.state.mousePosition.x + 10}px`;
1665
- return r !== n.e && ((n.e = r) != null ? o.style.setProperty("top", r) : o.style.removeProperty("top")), i !== n.t && ((n.t = i) != null ? o.style.setProperty("left", i) : o.style.removeProperty("left")), n;
1669
+ var n = On();
1670
+ return m(n, () => e.widget.state.text.drawingTooltip.text), w((o) => {
1671
+ var i = `${e.drawing.state.mousePosition.y + 20}px`, r = `${e.drawing.state.mousePosition.x + 10}px`;
1672
+ return i !== o.e && ((o.e = i) != null ? n.style.setProperty("top", i) : n.style.removeProperty("top")), r !== o.t && ((o.t = r) != null ? n.style.setProperty("left", r) : n.style.removeProperty("left")), o;
1666
1673
  }, {
1667
1674
  e: void 0,
1668
1675
  t: void 0
1669
- }), o;
1676
+ }), n;
1670
1677
  }
1671
1678
  });
1672
1679
  };
1673
- var Io = /* @__PURE__ */ b("<div class=echo-shape-actions data-hide-when-drawing=true>");
1674
- const Mo = () => {
1675
- const e = k();
1680
+ var In = /* @__PURE__ */ b("<div class=echo-shape-actions data-hide-when-drawing=true>");
1681
+ const Dn = () => {
1682
+ const e = x();
1676
1683
  let t;
1677
- const [o, n] = D({
1684
+ const [n, o] = M({
1678
1685
  x: window.scrollX,
1679
1686
  y: window.scrollY
1680
1687
  });
1681
1688
  W({
1682
1689
  event: "scroll",
1683
1690
  callback: () => {
1684
- n({
1691
+ o({
1685
1692
  x: window.scrollX,
1686
1693
  y: window.scrollY
1687
1694
  });
1688
1695
  }
1689
1696
  });
1690
- const i = () => {
1697
+ const r = () => {
1691
1698
  e.drawing.state.selectedShapeId && e.drawing.setState({
1692
1699
  shapes: e.drawing.state.shapes.filter((s) => s.id !== e.drawing.state.selectedShapeId),
1693
1700
  selectedShapeId: null
1694
1701
  });
1695
- }, a = x(() => e.drawing.state.selectedShapeId ? e.drawing.state.shapes.find((s) => s.id === e.drawing.state.selectedShapeId) : null), l = x(() => {
1702
+ }, a = p(() => e.drawing.state.selectedShapeId ? e.drawing.state.shapes.find((s) => s.id === e.drawing.state.selectedShapeId) : null), l = p(() => {
1696
1703
  const s = a(), c = t == null ? void 0 : t.getBoundingClientRect();
1697
1704
  if (!s || !c) return null;
1698
1705
  let d = null;
1699
1706
  if (s.type === "rectangle") {
1700
- const m = Ke(s.points);
1701
- if (!m) return null;
1707
+ const v = Ue(s.points);
1708
+ if (!v) return null;
1702
1709
  d = {
1703
- x: m.x + m.width / 2,
1704
- y: m.y
1710
+ x: v.x + v.width / 2,
1711
+ y: v.y
1705
1712
  };
1706
1713
  } else if (s.type === "path" && s.points.length > 0)
1707
1714
  d = {
@@ -1710,28 +1717,28 @@ const Mo = () => {
1710
1717
  };
1711
1718
  else
1712
1719
  return null;
1713
- const u = 8, g = o();
1720
+ const u = 8, f = n();
1714
1721
  return {
1715
- x: Math.max(c.width / 2 + u, Math.min(window.innerWidth - c.width / 2 - u, d.x - g.x)),
1716
- y: Math.max(c.height + u, Math.min(window.innerHeight - u, d.y - g.y))
1722
+ x: Math.max(c.width / 2 + u, Math.min(window.innerWidth - c.width / 2 - u, d.x - f.x)),
1723
+ y: Math.max(c.height + u, Math.min(window.innerHeight - u, d.y - f.y))
1717
1724
  };
1718
1725
  });
1719
1726
  return (() => {
1720
- var s = Io(), c = t;
1721
- return typeof c == "function" ? G(c, s) : t = s, v(s, f(T, {
1722
- onClick: i,
1727
+ var s = In(), c = t;
1728
+ return typeof c == "function" ? G(c, s) : t = s, m(s, g(O, {
1729
+ onClick: r,
1723
1730
  size: "sm",
1724
1731
  variant: "secondary",
1725
1732
  title: "Delete shape",
1726
1733
  get children() {
1727
- return f(Re, {
1734
+ return g(Ve, {
1728
1735
  size: 20
1729
1736
  });
1730
1737
  }
1731
1738
  })), w((d) => {
1732
- var y, p;
1733
- var u = !l(), g = l() ? `${(y = l()) == null ? void 0 : y.x}px` : "0", m = l() ? `${(p = l()) == null ? void 0 : p.y}px` : "0";
1734
- return u !== d.e && (s.hidden = d.e = u), g !== d.t && ((d.t = g) != null ? s.style.setProperty("left", g) : s.style.removeProperty("left")), m !== d.a && ((d.a = m) != null ? s.style.setProperty("top", m) : s.style.removeProperty("top")), d;
1739
+ var y, k;
1740
+ var u = !l(), f = l() ? `${(y = l()) == null ? void 0 : y.x}px` : "0", v = l() ? `${(k = l()) == null ? void 0 : k.y}px` : "0";
1741
+ return u !== d.e && (s.hidden = d.e = u), f !== d.t && ((d.t = f) != null ? s.style.setProperty("left", f) : s.style.removeProperty("left")), v !== d.a && ((d.a = v) != null ? s.style.setProperty("top", v) : s.style.removeProperty("top")), d;
1735
1742
  }, {
1736
1743
  e: void 0,
1737
1744
  t: void 0,
@@ -1739,9 +1746,9 @@ const Mo = () => {
1739
1746
  }), s;
1740
1747
  })();
1741
1748
  };
1742
- var Do = /* @__PURE__ */ b('<div class=echo-drawing-layer-container><svg width=100% height=100% class=echo-drawing-layer preserveAspectRatio=none><path class=echo-drawing-layer-mask fill="rgba(33, 43, 55, 1)"fill-opacity=0.2 fill-rule=evenodd>');
1743
- const Ao = () => {
1744
- const e = k();
1749
+ var Mn = /* @__PURE__ */ b('<div class=echo-drawing-layer-container><svg width=100% height=100% class=echo-drawing-layer preserveAspectRatio=none><path class=echo-drawing-layer-mask fill="rgba(33, 43, 55, 1)"fill-opacity=0.2 fill-rule=evenodd>');
1750
+ const An = () => {
1751
+ const e = x();
1745
1752
  let t;
1746
1753
  return fe(() => {
1747
1754
  t == null || t.addEventListener("mousemove", e.drawing.methods.handleMove), t == null || t.addEventListener("mouseup", e.drawing.methods.handleEnd), t == null || t.addEventListener("touchmove", e.drawing.methods.handleMove, {
@@ -1750,24 +1757,24 @@ const Ao = () => {
1750
1757
  }), K(() => {
1751
1758
  t == null || t.removeEventListener("mousemove", e.drawing.methods.handleMove), t == null || t.removeEventListener("mouseup", e.drawing.methods.handleEnd), t == null || t.removeEventListener("touchmove", e.drawing.methods.handleMove), t == null || t.removeEventListener("touchend", e.drawing.methods.handleEnd);
1752
1759
  }), (() => {
1753
- var o = Do(), n = o.firstChild, r = n.firstChild, i = t;
1754
- return typeof i == "function" ? G(i, o) : t = o, v(o, f(To, {}), n), v(o, f(Mo, {}), n), _(n, "touchend", e.drawing.methods.handleLeave, !0), _(n, "mouseleave", e.drawing.methods.handleLeave), _(n, "mouseenter", e.drawing.methods.handleEnter), n.$$touchmove = (a) => {
1760
+ var n = Mn(), o = n.firstChild, i = o.firstChild, r = t;
1761
+ return typeof r == "function" ? G(r, n) : t = n, m(n, g(Tn, {}), o), m(n, g(Dn, {}), o), _(o, "touchend", e.drawing.methods.handleLeave, !0), _(o, "mouseleave", e.drawing.methods.handleLeave), _(o, "mouseenter", e.drawing.methods.handleEnter), o.$$touchmove = (a) => {
1755
1762
  a.preventDefault(), e.drawing.methods.handleMove(a);
1756
- }, _(n, "mousemove", e.drawing.methods.handleMove, !0), n.$$touchstart = (a) => {
1763
+ }, _(o, "mousemove", e.drawing.methods.handleMove, !0), o.$$touchstart = (a) => {
1757
1764
  a.preventDefault(), e.drawing.methods.handleStart(a), e.drawing.methods.handleEnter(a), e.drawing.setState({
1758
1765
  showTooltip: !1,
1759
1766
  hasDrawn: !0
1760
1767
  });
1761
- }, n.$$mousedown = (a) => {
1768
+ }, o.$$mousedown = (a) => {
1762
1769
  e.drawing.methods.handleStart(a), e.drawing.setState({
1763
1770
  showTooltip: !1,
1764
1771
  hasDrawn: !0
1765
1772
  });
1766
- }, v(n, f(re, {
1773
+ }, m(o, g(re, {
1767
1774
  get each() {
1768
1775
  return e.drawing.state.shapes;
1769
1776
  },
1770
- children: (a) => f(Oe, {
1777
+ children: (a) => g(Oe, {
1771
1778
  get id() {
1772
1779
  return a.id;
1773
1780
  },
@@ -1787,7 +1794,7 @@ const Ao = () => {
1787
1794
  return e.drawing.methods.handleShapeClick;
1788
1795
  }
1789
1796
  })
1790
- }), null), v(n, f(Oe, {
1797
+ }), null), m(o, g(Oe, {
1791
1798
  id: "temp",
1792
1799
  get type() {
1793
1800
  return e.drawing.state.selectedTool;
@@ -1806,22 +1813,22 @@ const Ao = () => {
1806
1813
  width: e.widget.state.dimensions.width,
1807
1814
  height: e.widget.state.dimensions.height
1808
1815
  }, e.drawing.state.currentPoints, e.drawing.state.shapes);
1809
- return l !== a.e && ((a.e = l) != null ? o.style.setProperty("cursor", l) : o.style.removeProperty("cursor")), s !== a.t && h(r, "d", a.t = s), a;
1816
+ return l !== a.e && ((a.e = l) != null ? n.style.setProperty("cursor", l) : n.style.removeProperty("cursor")), s !== a.t && h(i, "d", a.t = s), a;
1810
1817
  }, {
1811
1818
  e: void 0,
1812
1819
  t: void 0
1813
- }), o;
1820
+ }), n;
1814
1821
  })();
1815
1822
  };
1816
- I(["mousedown", "touchstart", "mousemove", "touchmove", "touchend"]);
1817
- var jo = /* @__PURE__ */ b("<div class=echo-feedback data-hide-when-drawing=true><form class=echo-feedback-content><div class=echo-feedback-header><h3 class=echo-feedback-title></h3><div class=echo-feedback-header-actions></div></div><textarea class=echo-feedback-form-textarea required>");
1818
- const Fo = () => {
1823
+ T(["mousedown", "touchstart", "mousemove", "touchmove", "touchend"]);
1824
+ var jn = /* @__PURE__ */ b("<div class=echo-feedback data-hide-when-drawing=true><form class=echo-feedback-content><div class=echo-feedback-header><h3 class=echo-feedback-title></h3><div class=echo-feedback-header-actions></div></div><textarea class=echo-feedback-form-textarea required>");
1825
+ const Fn = () => {
1819
1826
  let e;
1820
- const t = k(), o = Ue(), n = async (a) => {
1821
- a.preventDefault();
1822
- const l = await Dt(), s = {
1827
+ const t = x(), n = async (r) => {
1828
+ r.preventDefault();
1829
+ const a = await Mt(), l = {
1823
1830
  comment: t.feedback.state.comment,
1824
- screenshot: l,
1831
+ screenshot: a,
1825
1832
  metadata: {
1826
1833
  url: window.location.href,
1827
1834
  userAgent: navigator.userAgent,
@@ -1830,35 +1837,18 @@ const Fo = () => {
1830
1837
  width: window.innerWidth,
1831
1838
  height: window.innerHeight,
1832
1839
  screenWidth: window.screen.width,
1833
- screenHeight: window.screen.height,
1834
- isMobile: o
1840
+ screenHeight: window.screen.height
1835
1841
  }
1836
- }
1842
+ },
1843
+ console: _e()
1837
1844
  };
1838
- try {
1839
- t.widget.setState({
1840
- isOpen: !1
1841
- }), await t.methods.onSubmit({
1842
- ...s,
1843
- console: _e()
1844
- }), t.methods.postSubmit({
1845
- show: !0,
1846
- type: "success",
1847
- message: ""
1848
- });
1849
- } catch {
1850
- t.methods.postSubmit({
1851
- show: !0,
1852
- type: "error",
1853
- message: t.widget.state.text.notification.errorMessage
1854
- });
1855
- }
1845
+ t.methods.submit(l);
1856
1846
  };
1857
- ne(() => {
1847
+ oe(() => {
1858
1848
  e && t.widget.state.isOpen && e.focus();
1859
1849
  });
1860
- const r = (a) => {
1861
- a.stopPropagation(), t.feedback.setState({
1850
+ const o = (r) => {
1851
+ r.stopPropagation(), t.feedback.setState({
1862
1852
  isMinimized: !0
1863
1853
  });
1864
1854
  }, i = () => {
@@ -1867,19 +1857,19 @@ const Fo = () => {
1867
1857
  });
1868
1858
  };
1869
1859
  return (() => {
1870
- var a = jo(), l = a.firstChild, s = l.firstChild, c = s.firstChild, d = c.nextSibling, u = s.nextSibling;
1871
- a.$$click = () => t.feedback.state.isMinimized && i(), l.addEventListener("submit", n), v(c, () => t.widget.state.text.feedbackForm.title), v(d, f(T, {
1860
+ var r = jn(), a = r.firstChild, l = a.firstChild, s = l.firstChild, c = s.nextSibling, d = l.nextSibling;
1861
+ r.$$click = () => t.feedback.state.isMinimized && i(), a.addEventListener("submit", n), m(s, () => t.widget.state.text.feedbackForm.title), m(c, g(O, {
1872
1862
  type: "button",
1873
1863
  title: "Hide form",
1874
1864
  variant: "secondary",
1875
1865
  size: "sm",
1876
- onClick: r,
1866
+ onClick: o,
1877
1867
  get children() {
1878
- return f(_t, {
1868
+ return g(_t, {
1879
1869
  size: 20
1880
1870
  });
1881
1871
  }
1882
- }), null), v(d, f(T, {
1872
+ }), null), m(c, g(O, {
1883
1873
  type: "button",
1884
1874
  title: "Close form",
1885
1875
  variant: "secondary",
@@ -1888,15 +1878,15 @@ const Fo = () => {
1888
1878
  isOpen: !1
1889
1879
  }),
1890
1880
  get children() {
1891
- return f(ie, {
1881
+ return g(ie, {
1892
1882
  size: 20
1893
1883
  });
1894
1884
  }
1895
- }), null), u.$$input = (m) => t.feedback.setState({
1896
- comment: m.currentTarget.value
1885
+ }), null), d.$$input = (f) => t.feedback.setState({
1886
+ comment: f.currentTarget.value
1897
1887
  });
1898
- var g = e;
1899
- return typeof g == "function" ? G(g, u) : e = u, v(l, f(T, {
1888
+ var u = e;
1889
+ return typeof u == "function" ? G(u, d) : e = d, m(a, g(O, {
1900
1890
  type: "submit",
1901
1891
  variant: "primary",
1902
1892
  size: "lg",
@@ -1906,66 +1896,66 @@ const Fo = () => {
1906
1896
  get children() {
1907
1897
  return t.widget.state.text.feedbackForm.submitButton;
1908
1898
  }
1909
- }), null), w((m) => {
1910
- var y = t.feedback.state.isMinimized, p = t.feedback.state.isMinimized ? "pointer" : "default", S = t.widget.state.text.feedbackForm.placeholder;
1911
- return y !== m.e && h(a, "data-minimized", m.e = y), p !== m.t && ((m.t = p) != null ? a.style.setProperty("cursor", p) : a.style.removeProperty("cursor")), S !== m.a && h(u, "placeholder", m.a = S), m;
1899
+ }), null), w((f) => {
1900
+ var v = t.feedback.state.isMinimized, y = t.feedback.state.isMinimized ? "pointer" : "default", k = t.widget.state.text.feedbackForm.placeholder;
1901
+ return v !== f.e && h(r, "data-minimized", f.e = v), y !== f.t && ((f.t = y) != null ? r.style.setProperty("cursor", y) : r.style.removeProperty("cursor")), k !== f.a && h(d, "placeholder", f.a = k), f;
1912
1902
  }, {
1913
1903
  e: void 0,
1914
1904
  t: void 0,
1915
1905
  a: void 0
1916
- }), w(() => u.value = t.feedback.state.comment), a;
1906
+ }), w(() => d.value = t.feedback.state.comment), r;
1917
1907
  })();
1918
1908
  };
1919
- I(["click", "input"]);
1920
- var Lo = /* @__PURE__ */ b("<style>"), No = /* @__PURE__ */ b("<div class=echo-launcher>"), Bo = /* @__PURE__ */ b("<div class=echo-overlay>"), Yo = /* @__PURE__ */ b("<div class=echo-root>");
1921
- const Ho = (e) => f(wt, {
1909
+ T(["click", "input"]);
1910
+ var Ln = /* @__PURE__ */ b("<style>"), Nn = /* @__PURE__ */ b("<div class=echo-launcher>"), Bn = /* @__PURE__ */ b("<div class=echo-overlay>"), Yn = /* @__PURE__ */ b("<div class=echo-root>");
1911
+ const Hn = (e) => g(vt, {
1922
1912
  useShadow: !0,
1923
1913
  get mount() {
1924
1914
  return document.body;
1925
1915
  },
1926
1916
  get children() {
1927
- return f(Yt, Z(e, {
1917
+ return g(Yt, Z(e, {
1928
1918
  get children() {
1929
- return f(Uo, {
1919
+ return g(Un, {
1930
1920
  get children() {
1931
- return [f(Wo, {
1921
+ return [g(Wn, {
1932
1922
  get primaryColor() {
1933
1923
  return e.primaryColor;
1934
1924
  }
1935
- }), f(_o, {})];
1925
+ }), g(_n, {})];
1936
1926
  }
1937
1927
  });
1938
1928
  }
1939
1929
  }));
1940
1930
  }
1941
- }), Wo = (e) => {
1942
- const [t, o] = D("");
1943
- return ne(() => {
1944
- const n = `
1931
+ }), Wn = (e) => {
1932
+ const [t, n] = M("");
1933
+ return oe(() => {
1934
+ const o = `
1945
1935
  .echo-root {
1946
1936
  --primary-color: ${e.primaryColor};
1947
- --primary-text-color: ${Et(e.primaryColor)};
1937
+ --primary-text-color: ${$t(e.primaryColor)};
1948
1938
  }
1949
1939
  `;
1950
- o(n);
1940
+ n(o);
1951
1941
  }), (() => {
1952
- var n = Lo();
1953
- return v(n, Ht, null), v(n, t, null), n;
1942
+ var o = Ln();
1943
+ return m(o, Ht, null), m(o, t, null), o;
1954
1944
  })();
1955
- }, _o = () => {
1956
- const e = k();
1945
+ }, _n = () => {
1946
+ const e = x();
1957
1947
  return [(() => {
1958
- var t = No();
1959
- return v(t, f(po, {}), null), v(t, f(Co, {}), null), v(t, f(ko, {}), null), w(() => h(t, "data-hidden", e.widget.state.isOpen)), t;
1948
+ var t = Nn();
1949
+ return m(t, g(pn, {}), null), m(t, g(Cn, {}), null), m(t, g(kn, {}), null), w(() => h(t, "data-hidden", e.widget.state.isOpen)), t;
1960
1950
  })(), (() => {
1961
- var t = Bo();
1962
- return v(t, f(Fo, {}), null), v(t, f(co, {}), null), v(t, f(Ao, {}), null), w(() => h(t, "data-hidden", !e.widget.state.isOpen)), t;
1951
+ var t = Bn();
1952
+ return m(t, g(Fn, {}), null), m(t, g(dn, {}), null), m(t, g(An, {}), null), w(() => h(t, "data-hidden", !e.widget.state.isOpen)), t;
1963
1953
  })()];
1964
- }, Uo = (e) => {
1954
+ }, Un = (e) => {
1965
1955
  let t;
1966
- const o = k(), n = () => {
1956
+ const n = x(), o = () => {
1967
1957
  requestAnimationFrame(() => {
1968
- t && (t.style.height = "0px", t.style.height = `${document.documentElement.scrollHeight}px`, o.widget.setState({
1958
+ t && (t.style.height = "0px", t.style.height = `${document.documentElement.scrollHeight}px`, n.widget.setState({
1969
1959
  dimensions: {
1970
1960
  width: document.documentElement.clientWidth,
1971
1961
  height: document.documentElement.scrollHeight
@@ -1975,10 +1965,10 @@ const Ho = (e) => f(wt, {
1975
1965
  };
1976
1966
  return W({
1977
1967
  event: "resize",
1978
- callback: n,
1979
- onMount: n
1980
- }), yt("Escape", () => {
1981
- o.widget.setState({
1968
+ callback: o,
1969
+ onMount: o
1970
+ }), bt("Escape", () => {
1971
+ n.widget.setState({
1982
1972
  isOpen: !1
1983
1973
  });
1984
1974
  }), ge({
@@ -1989,20 +1979,20 @@ const Ho = (e) => f(wt, {
1989
1979
  attributes: !0
1990
1980
  },
1991
1981
  callback: () => {
1992
- n();
1982
+ o();
1993
1983
  }
1994
1984
  }), (() => {
1995
- var r = Yo(), i = t;
1996
- return typeof i == "function" ? G(i, r) : t = r, v(r, () => e.children), w((a) => {
1997
- var l = o.drawing.state.isDrawing, s = `${o.widget.state.dimensions.height}px`, c = `${o.widget.state.dimensions.width}px`;
1998
- return l !== a.e && h(r, "data-drawing", a.e = l), s !== a.t && ((a.t = s) != null ? r.style.setProperty("height", s) : r.style.removeProperty("height")), c !== a.a && ((a.a = c) != null ? r.style.setProperty("width", c) : r.style.removeProperty("width")), a;
1985
+ var i = Yn(), r = t;
1986
+ return typeof r == "function" ? G(r, i) : t = i, m(i, () => e.children), w((a) => {
1987
+ var l = n.drawing.state.isDrawing, s = `${n.widget.state.dimensions.height}px`, c = `${n.widget.state.dimensions.width}px`;
1988
+ return l !== a.e && h(i, "data-drawing", a.e = l), s !== a.t && ((a.t = s) != null ? i.style.setProperty("height", s) : i.style.removeProperty("height")), c !== a.a && ((a.a = c) != null ? i.style.setProperty("width", c) : i.style.removeProperty("width")), a;
1999
1989
  }, {
2000
1990
  e: void 0,
2001
1991
  t: void 0,
2002
1992
  a: void 0
2003
- }), r;
1993
+ }), i;
2004
1994
  })();
2005
- }, Ko = {
1995
+ }, Kn = {
2006
1996
  welcomeMessage: {
2007
1997
  text: "Click here to leave feedback",
2008
1998
  closeAriaLabel: "Close welcome message"
@@ -2028,33 +2018,27 @@ const Ho = (e) => f(wt, {
2028
2018
  }
2029
2019
  };
2030
2020
  let Q = null;
2031
- function Xo(e) {
2021
+ function Xn(e) {
2032
2022
  Q && (console.warn("Echo widget is already initialized. Cleaning up previous instance..."), Q());
2033
2023
  try {
2034
- jt(e), zt();
2024
+ jt(e), Et();
2035
2025
  const {
2036
2026
  position: t = "bottom-right",
2037
- primaryColor: o = "#6227dc",
2038
- onSubmit: n,
2039
- textConfig: r = {}
2040
- } = e, i = We(Ko, r), a = document.createElement("div");
2027
+ primaryColor: n = "#6227dc",
2028
+ onSubmit: o,
2029
+ textConfig: i = {}
2030
+ } = e, r = We(Kn, i), a = document.createElement("div");
2041
2031
  a.id = "echo-container", document.body.appendChild(a);
2042
- const l = lt(() => f(Ho, {
2032
+ const l = st(() => g(Hn, {
2043
2033
  position: t,
2044
- primaryColor: o,
2045
- textConfig: i,
2046
- onSubmit: async (c) => {
2047
- try {
2048
- await n({
2049
- ...c,
2050
- console: _e()
2051
- });
2052
- } catch (d) {
2053
- throw console.error("Error in Echo onSubmit handler:", d), d;
2054
- }
2055
- }
2034
+ primaryColor: n,
2035
+ textConfig: r,
2036
+ onSubmit: async (c) => await o({
2037
+ ...c,
2038
+ console: _e()
2039
+ })
2056
2040
  }), a), s = () => {
2057
- l(), a.remove(), Ot(), Q = null;
2041
+ l(), a.remove(), zt(), Q = null;
2058
2042
  };
2059
2043
  return window.addEventListener("unload", s, {
2060
2044
  once: !0
@@ -2064,5 +2048,5 @@ function Xo(e) {
2064
2048
  }
2065
2049
  }
2066
2050
  export {
2067
- Xo as initEcho
2051
+ Xn as initEcho
2068
2052
  };