@contember/echo 0.0.26 → 0.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/echo.es.js +767 -782
- package/dist/echo.es.js.map +1 -0
- package/dist/echo.umd.js +6 -5
- package/dist/echo.umd.js.map +1 -0
- package/package.json +1 -1
- package/dist/components/Echo.d.ts +0 -3
- package/dist/components/atoms/Button.d.ts +0 -7
- package/dist/components/atoms/Shape.d.ts +0 -8
- package/dist/components/atoms/index.d.ts +0 -1
- package/dist/components/icons/CheckCircleIcon.d.ts +0 -3
- package/dist/components/icons/ChevronRightIcon.d.ts +0 -3
- package/dist/components/icons/ContemberIcon.d.ts +0 -3
- package/dist/components/icons/ExternalLinkIcon.d.ts +0 -3
- package/dist/components/icons/HighlightIcon.d.ts +0 -3
- package/dist/components/icons/PenIcon.d.ts +0 -3
- package/dist/components/icons/TrashIcon.d.ts +0 -3
- package/dist/components/icons/XCircleIcon.d.ts +0 -3
- package/dist/components/icons/XIcon.d.ts +0 -3
- package/dist/components/icons/index.d.ts +0 -8
- package/dist/components/molecules/ColorSelector.d.ts +0 -2
- package/dist/components/molecules/DrawingToolbar.d.ts +0 -2
- package/dist/components/molecules/DrawingTooltip.d.ts +0 -2
- package/dist/components/molecules/LauncherButton.d.ts +0 -2
- package/dist/components/molecules/Notification.d.ts +0 -2
- package/dist/components/molecules/ShapeActions.d.ts +0 -2
- package/dist/components/molecules/StoredFeedback.d.ts +0 -2
- package/dist/components/molecules/WelcomeMessage.d.ts +0 -2
- package/dist/components/organisms/DrawingLayer.d.ts +0 -2
- package/dist/components/organisms/FeedbackForm.d.ts +0 -2
- package/dist/config/defaultText.d.ts +0 -2
- package/dist/config/drawingConfig.d.ts +0 -13
- package/dist/contexts/EchoContext.d.ts +0 -9
- package/dist/contexts/index.d.ts +0 -1
- package/dist/stores/drawingStore.d.ts +0 -39
- package/dist/stores/echoStore.d.ts +0 -16
- package/dist/stores/feedbackStore.d.ts +0 -12
- package/dist/stores/index.d.ts +0 -4
- package/dist/stores/widgetStore.d.ts +0 -19
- package/dist/types.d.ts +0 -87
- package/dist/utils/color.d.ts +0 -2
- package/dist/utils/common.d.ts +0 -1
- package/dist/utils/console.d.ts +0 -4
- package/dist/utils/debounce.d.ts +0 -1
- package/dist/utils/device.d.ts +0 -1
- package/dist/utils/events.d.ts +0 -5
- package/dist/utils/format.d.ts +0 -1
- package/dist/utils/geometry.d.ts +0 -8
- package/dist/utils/index.d.ts +0 -13
- package/dist/utils/listeners.d.ts +0 -22
- package/dist/utils/screenshot.d.ts +0 -2
- package/dist/utils/storage.d.ts +0 -28
- package/dist/utils/svg.d.ts +0 -13
- package/dist/utils/validators.d.ts +0 -2
    
        package/dist/echo.es.js
    CHANGED
    
    | @@ -1,6 +1,6 @@ | |
| 1 | 
            -
            import { sharedConfig as  | 
| 2 | 
            -
            import  | 
| 3 | 
            -
            const  | 
| 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 | 
            -
            ],  | 
| 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 | 
            -
              ... | 
| 38 | 
            -
            ]),  | 
| 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 | 
            -
            }),  | 
| 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  | 
| 72 | 
            -
              const  | 
| 73 | 
            -
              return typeof  | 
| 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  | 
| 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  | 
| 100 | 
            -
              let  | 
| 101 | 
            -
              for (; a <  | 
| 102 | 
            -
                if (t[a] ===  | 
| 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[ | 
| 107 | 
            -
                   | 
| 108 | 
            -
                if ( | 
| 109 | 
            -
                  const d =  | 
| 110 | 
            -
                  for (; l <  | 
| 111 | 
            -
                } else if ( | 
| 112 | 
            -
                  for (; a <  | 
| 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] ===  | 
| 115 | 
            -
                  const d = t[-- | 
| 116 | 
            -
                  e.insertBefore( | 
| 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 <  | 
| 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 <  | 
| 126 | 
            -
                      let u = a,  | 
| 127 | 
            -
                      for (; ++u <  | 
| 128 | 
            -
                         | 
| 129 | 
            -
                      if ( | 
| 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( | 
| 132 | 
            -
                      } else e.replaceChild( | 
| 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  | 
| 140 | 
            -
              let  | 
| 141 | 
            -
              return Te(( | 
| 142 | 
            -
                 | 
| 143 | 
            -
              },  | 
| 144 | 
            -
                 | 
| 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,  | 
| 148 | 
            -
              let  | 
| 149 | 
            -
              const  | 
| 147 | 
            +
            function b(e, t, n) {
         | 
| 148 | 
            +
              let o;
         | 
| 149 | 
            +
              const i = () => {
         | 
| 150 150 | 
             
                const a = document.createElement("template");
         | 
| 151 | 
            -
                return a.innerHTML = e,  | 
| 152 | 
            -
              },  | 
| 153 | 
            -
              return  | 
| 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  | 
| 156 | 
            -
              const  | 
| 157 | 
            -
              for (let  | 
| 158 | 
            -
                const  | 
| 159 | 
            -
                 | 
| 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,  | 
| 163 | 
            -
              J(e) || ( | 
| 162 | 
            +
            function h(e, t, n) {
         | 
| 163 | 
            +
              J(e) || (n == null ? e.removeAttribute(t) : e.setAttribute(t, n));
         | 
| 164 164 | 
             
            }
         | 
| 165 | 
            -
            function  | 
| 166 | 
            -
              J(e) || ( | 
| 165 | 
            +
            function lt(e, t, n) {
         | 
| 166 | 
            +
              J(e) || (n ? e.setAttribute(t, "") : e.removeAttribute(t));
         | 
| 167 167 | 
             
            }
         | 
| 168 | 
            -
            function  | 
| 168 | 
            +
            function De(e, t) {
         | 
| 169 169 | 
             
              J(e) || (t == null ? e.removeAttribute("class") : e.className = t);
         | 
| 170 170 | 
             
            }
         | 
| 171 | 
            -
            function _(e, t,  | 
| 172 | 
            -
              if ( | 
| 173 | 
            -
                Array.isArray( | 
| 174 | 
            -
              else if (Array.isArray( | 
| 175 | 
            -
                const  | 
| 176 | 
            -
                e.addEventListener(t,  | 
| 177 | 
            -
              } else e.addEventListener(t,  | 
| 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  | 
| 180 | 
            -
              const  | 
| 181 | 
            -
              let  | 
| 182 | 
            -
              for ( | 
| 183 | 
            -
                const l = r | 
| 184 | 
            -
                !l || l === "undefined" || t[l] || (Se(e, l, !1), delete  | 
| 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 ( | 
| 187 | 
            -
                const l =  | 
| 188 | 
            -
                !l || l === "undefined" ||  | 
| 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  | 
| 190 | 
            +
              return n;
         | 
| 191 191 | 
             
            }
         | 
| 192 | 
            -
            function  | 
| 193 | 
            -
              if (!t) return  | 
| 194 | 
            -
              const  | 
| 195 | 
            -
              if (typeof t == "string") return  | 
| 196 | 
            -
              typeof  | 
| 197 | 
            -
              let  | 
| 198 | 
            -
              for ( | 
| 199 | 
            -
                t[ | 
| 200 | 
            -
              for ( | 
| 201 | 
            -
                 | 
| 202 | 
            -
              return  | 
| 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  | 
| 205 | 
            -
              const  | 
| 204 | 
            +
            function dt(e, t = {}, n, o) {
         | 
| 205 | 
            +
              const i = {};
         | 
| 206 206 | 
             
              return w(
         | 
| 207 | 
            -
                () =>  | 
| 208 | 
            -
              ), w(() => typeof t.ref == "function" && G(t.ref, e)), w(() =>  | 
| 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,  | 
| 211 | 
            -
              return Ie(() => e(t,  | 
| 210 | 
            +
            function G(e, t, n) {
         | 
| 211 | 
            +
              return Ie(() => e(t, n));
         | 
| 212 212 | 
             
            }
         | 
| 213 | 
            -
            function  | 
| 214 | 
            -
              if ( | 
| 215 | 
            -
              w(( | 
| 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  | 
| 217 | 
            +
            function ht(e, t, n, o, i = {}, r = !1) {
         | 
| 218 218 | 
             
              t || (t = {});
         | 
| 219 | 
            -
              for (const a in  | 
| 219 | 
            +
              for (const a in i)
         | 
| 220 220 | 
             
                if (!(a in t)) {
         | 
| 221 221 | 
             
                  if (a === "children") continue;
         | 
| 222 | 
            -
                   | 
| 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 | 
            -
                 | 
| 228 | 
            +
                i[a] = Ce(e, a, l, i[a], n, r, t);
         | 
| 229 229 | 
             
              }
         | 
| 230 230 | 
             
            }
         | 
| 231 231 | 
             
            function J(e) {
         | 
| 232 | 
            -
              return  | 
| 232 | 
            +
              return !!P.context && !P.done && (!e || e.isConnected);
         | 
| 233 233 | 
             
            }
         | 
| 234 | 
            -
            function  | 
| 235 | 
            -
              return e.toLowerCase().replace(/-([a-z])/g, (t,  | 
| 234 | 
            +
            function ut(e) {
         | 
| 235 | 
            +
              return e.toLowerCase().replace(/-([a-z])/g, (t, n) => n.toUpperCase());
         | 
| 236 236 | 
             
            }
         | 
| 237 | 
            -
            function Se(e, t,  | 
| 238 | 
            -
              const  | 
| 239 | 
            -
              for (let  | 
| 240 | 
            -
                e.classList.toggle( | 
| 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,  | 
| 242 | 
            +
            function Ce(e, t, n, o, i, r, a) {
         | 
| 243 243 | 
             
              let l, s, c, d, u;
         | 
| 244 | 
            -
              if (t === "style") return  | 
| 245 | 
            -
              if (t === "classList") return  | 
| 246 | 
            -
              if ( | 
| 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 | 
            -
                 | 
| 248 | 
            +
                r || n(e);
         | 
| 249 249 | 
             
              else if (t.slice(0, 3) === "on:") {
         | 
| 250 | 
            -
                const  | 
| 251 | 
            -
                 | 
| 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  | 
| 254 | 
            -
                 | 
| 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  | 
| 257 | 
            -
                if (! | 
| 258 | 
            -
                  const y = Array.isArray( | 
| 259 | 
            -
                  e.removeEventListener( | 
| 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 | 
            -
                ( | 
| 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),  | 
| 263 | 
            +
                h(e, t.slice(5), n);
         | 
| 264 264 | 
             
              else if (t.slice(0, 5) === "bool:")
         | 
| 265 | 
            -
                 | 
| 266 | 
            -
              else if ((u = t.slice(0, 5) === "prop:") || (c =  | 
| 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  | 
| 270 | 
            -
                t === "class" || t === "className" ?  | 
| 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,  | 
| 273 | 
            -
              return  | 
| 272 | 
            +
                h(e, nt[t] || t, n);
         | 
| 273 | 
            +
              return n;
         | 
| 274 274 | 
             
            }
         | 
| 275 | 
            -
            function  | 
| 276 | 
            -
              if ( | 
| 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  | 
| 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[ | 
| 283 | 
            +
                const s = t[n];
         | 
| 284 284 | 
             
                if (s && !t.disabled) {
         | 
| 285 | 
            -
                  const c = t[`${ | 
| 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) &&  | 
| 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 | 
            -
              }),  | 
| 297 | 
            +
              }), P.registry && !P.done && (P.done = _$HY.done = !0), e.composedPath) {
         | 
| 298 298 | 
             
                const s = e.composedPath();
         | 
| 299 | 
            -
                 | 
| 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 ===  | 
| 305 | 
            +
                  if (t.parentNode === i)
         | 
| 306 306 | 
             
                    break;
         | 
| 307 307 | 
             
                }
         | 
| 308 308 | 
             
              } else l();
         | 
| 309 | 
            -
               | 
| 309 | 
            +
              r(o);
         | 
| 310 310 | 
             
            }
         | 
| 311 | 
            -
            function V(e, t,  | 
| 312 | 
            -
              const  | 
| 313 | 
            -
              if ( | 
| 314 | 
            -
                ! | 
| 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 <  | 
| 317 | 
            -
                  const d =  | 
| 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 | 
            -
                 | 
| 320 | 
            +
                n = s;
         | 
| 321 321 | 
             
              }
         | 
| 322 | 
            -
              for (; typeof  | 
| 323 | 
            -
              if (t ===  | 
| 324 | 
            -
              const a = typeof t, l =  | 
| 325 | 
            -
              if (e = l &&  | 
| 326 | 
            -
                if ( | 
| 327 | 
            -
                  return  | 
| 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 =  | 
| 330 | 
            -
                  s && s.nodeType === 3 ? s.data !== t && (s.data = t) : s = document.createTextNode(t),  | 
| 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 | 
            -
                   | 
| 332 | 
            +
                  n !== "" && typeof n == "string" ? n = e.firstChild.data = t : n = e.textContent = t;
         | 
| 333 333 | 
             
              } else if (t == null || a === "boolean") {
         | 
| 334 | 
            -
                if ( | 
| 335 | 
            -
                 | 
| 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 | 
            -
                     | 
| 342 | 
            -
                  }), () =>  | 
| 341 | 
            +
                    n = V(e, s, n, o);
         | 
| 342 | 
            +
                  }), () => n;
         | 
| 343 343 | 
             
                if (Array.isArray(t)) {
         | 
| 344 | 
            -
                  const s = [], c =  | 
| 345 | 
            -
                  if (de(s, t,  | 
| 346 | 
            -
                    return w(() =>  | 
| 347 | 
            -
                  if ( | 
| 348 | 
            -
                    if (!s.length) return  | 
| 349 | 
            -
                    if ( | 
| 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  | 
| 351 | 
            +
                    if (d.parentNode !== e) return n;
         | 
| 352 352 | 
             
                    const u = [d];
         | 
| 353 | 
            -
                    for (; (d = d.nextSibling) !==  | 
| 354 | 
            -
                    return  | 
| 353 | 
            +
                    for (; (d = d.nextSibling) !== o; ) u.push(d);
         | 
| 354 | 
            +
                    return n = u;
         | 
| 355 355 | 
             
                  }
         | 
| 356 356 | 
             
                  if (s.length === 0) {
         | 
| 357 | 
            -
                    if ( | 
| 358 | 
            -
                  } else c ?  | 
| 359 | 
            -
                   | 
| 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 ( | 
| 362 | 
            -
                  if (Array.isArray( | 
| 363 | 
            -
                    if (l) return  | 
| 364 | 
            -
                    N(e,  | 
| 365 | 
            -
                  } else  | 
| 366 | 
            -
                   | 
| 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  | 
| 369 | 
            +
              return n;
         | 
| 370 370 | 
             
            }
         | 
| 371 | 
            -
            function de(e, t,  | 
| 372 | 
            -
              let  | 
| 373 | 
            -
              for (let  | 
| 374 | 
            -
                let l = t[ | 
| 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 | 
            -
                   | 
| 378 | 
            +
                  i = de(e, l, s) || i;
         | 
| 379 379 | 
             
                else if (c === "function")
         | 
| 380 | 
            -
                  if ( | 
| 380 | 
            +
                  if (o) {
         | 
| 381 381 | 
             
                    for (; typeof l == "function"; ) l = l();
         | 
| 382 | 
            -
                     | 
| 382 | 
            +
                    i = de(
         | 
| 383 383 | 
             
                      e,
         | 
| 384 384 | 
             
                      Array.isArray(l) ? l : [l],
         | 
| 385 385 | 
             
                      Array.isArray(s) ? s : [s]
         | 
| 386 | 
            -
                    ) ||  | 
| 386 | 
            +
                    ) || i;
         | 
| 387 387 | 
             
                  } else
         | 
| 388 | 
            -
                    e.push(l),  | 
| 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  | 
| 394 | 
            +
              return i;
         | 
| 395 395 | 
             
            }
         | 
| 396 | 
            -
            function Pe(e, t,  | 
| 397 | 
            -
              for (let  | 
| 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,  | 
| 400 | 
            -
              if ( | 
| 401 | 
            -
              const  | 
| 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  | 
| 403 | 
            +
                let r = !1;
         | 
| 404 404 | 
             
                for (let a = t.length - 1; a >= 0; a--) {
         | 
| 405 405 | 
             
                  const l = t[a];
         | 
| 406 | 
            -
                  if ( | 
| 406 | 
            +
                  if (i !== l) {
         | 
| 407 407 | 
             
                    const s = l.parentNode === e;
         | 
| 408 | 
            -
                    ! | 
| 409 | 
            -
                  } else  | 
| 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( | 
| 412 | 
            -
              return [ | 
| 411 | 
            +
              } else e.insertBefore(i, n);
         | 
| 412 | 
            +
              return [i];
         | 
| 413 413 | 
             
            }
         | 
| 414 | 
            -
            const  | 
| 415 | 
            -
            function  | 
| 416 | 
            -
              return t ? document.createElementNS( | 
| 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  | 
| 419 | 
            -
              const { useShadow: t } = e,  | 
| 420 | 
            -
              let  | 
| 421 | 
            -
              return  | 
| 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),  | 
| 424 | 
            -
                  const l =  | 
| 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] =  | 
| 427 | 
            -
                    Te((u) =>  | 
| 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 =  | 
| 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  | 
| 434 | 
            +
                        return n.parentNode;
         | 
| 435 435 | 
             
                      },
         | 
| 436 436 | 
             
                      configurable: !0
         | 
| 437 | 
            -
                    }),  | 
| 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 | 
            -
              ),  | 
| 444 | 
            +
              ), n;
         | 
| 445 445 | 
             
            }
         | 
| 446 | 
            -
            const  | 
| 447 | 
            -
              let  | 
| 448 | 
            -
              return (... | 
| 449 | 
            -
                clearTimeout( | 
| 446 | 
            +
            const wt = (e, t) => {
         | 
| 447 | 
            +
              let n;
         | 
| 448 | 
            +
              return (...o) => {
         | 
| 449 | 
            +
                clearTimeout(n), n = window.setTimeout(() => e(...o), t);
         | 
| 450 450 | 
             
              };
         | 
| 451 | 
            -
            },  | 
| 451 | 
            +
            }, bt = (e, t) => {
         | 
| 452 452 | 
             
              W({
         | 
| 453 453 | 
             
                event: "keydown",
         | 
| 454 | 
            -
                callback: ( | 
| 455 | 
            -
                   | 
| 454 | 
            +
                callback: (n) => {
         | 
| 455 | 
            +
                  n.key === e && t(n);
         | 
| 456 456 | 
             
                }
         | 
| 457 457 | 
             
              });
         | 
| 458 458 | 
             
            }, W = (e) => {
         | 
| 459 | 
            -
              const { event: t, callback:  | 
| 460 | 
            -
                 | 
| 459 | 
            +
              const { event: t, callback: n, onMount: o, onCleanup: i } = e, r = (a) => {
         | 
| 460 | 
            +
                n(a);
         | 
| 461 461 | 
             
              };
         | 
| 462 462 | 
             
              fe(() => {
         | 
| 463 | 
            -
                 | 
| 463 | 
            +
                o == null || o(), window.addEventListener(t, r);
         | 
| 464 464 | 
             
              }), K(() => {
         | 
| 465 | 
            -
                 | 
| 465 | 
            +
                i == null || i(), window.removeEventListener(t, r);
         | 
| 466 466 | 
             
              });
         | 
| 467 467 | 
             
            }, ge = (e) => {
         | 
| 468 | 
            -
              const { target: t, options:  | 
| 468 | 
            +
              const { target: t, options: n, callback: o, onMount: i, onCleanup: r } = e, a = new MutationObserver(o);
         | 
| 469 469 | 
             
              fe(() => {
         | 
| 470 | 
            -
                 | 
| 470 | 
            +
                i == null || i(), a.observe(t, n);
         | 
| 471 471 | 
             
              }), K(() => {
         | 
| 472 | 
            -
                 | 
| 472 | 
            +
                r == null || r(), a.disconnect();
         | 
| 473 473 | 
             
              });
         | 
| 474 | 
            -
            },  | 
| 474 | 
            +
            }, yt = "echo_", F = "echo_page_state", Me = () => {
         | 
| 475 475 | 
             
              window.dispatchEvent(new CustomEvent("echo-storage-change"));
         | 
| 476 | 
            -
            }, Ae = (e) => `${ | 
| 476 | 
            +
            }, Ae = (e) => `${yt}${e}`, je = (e, t) => {
         | 
| 477 477 | 
             
              try {
         | 
| 478 | 
            -
                const  | 
| 479 | 
            -
                return  | 
| 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 ( | 
| 487 | 
            -
                console.warn("Failed to save to localStorage:",  | 
| 486 | 
            +
              } catch (n) {
         | 
| 487 | 
            +
                console.warn("Failed to save to localStorage:", n);
         | 
| 488 488 | 
             
              }
         | 
| 489 | 
            -
            }, ae = () => window.location.pathname,  | 
| 489 | 
            +
            }, ae = () => window.location.pathname, pt = (e, t) => {
         | 
| 490 490 | 
             
              try {
         | 
| 491 | 
            -
                const  | 
| 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  | 
| 493 | 
            +
                  delete o[e];
         | 
| 494 494 | 
             
                else {
         | 
| 495 | 
            -
                  const  | 
| 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:  | 
| 502 | 
            +
                    latestQuery: i
         | 
| 503 503 | 
             
                  };
         | 
| 504 | 
            -
                   | 
| 504 | 
            +
                  o[e] = r;
         | 
| 505 505 | 
             
                }
         | 
| 506 | 
            -
                localStorage.setItem(F, JSON.stringify( | 
| 507 | 
            -
              } catch ( | 
| 508 | 
            -
                console.error("Failed to save page state:",  | 
| 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  | 
| 522 | 
            -
                delete  | 
| 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(([ | 
| 541 | 
            -
                  path:  | 
| 542 | 
            -
                  state:  | 
| 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"),  | 
| 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,  | 
| 551 | 
            +
                value: t = new Proxy(e, St)
         | 
| 552 552 | 
             
              }), !Array.isArray(e))) {
         | 
| 553 | 
            -
                const  | 
| 554 | 
            -
                for (let  | 
| 555 | 
            -
                  const a =  | 
| 556 | 
            -
                   | 
| 557 | 
            -
                    enumerable:  | 
| 558 | 
            -
                    get:  | 
| 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,  | 
| 570 | 
            -
              if ( | 
| 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 | 
            -
                   | 
| 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 | 
            -
                   | 
| 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  | 
| 586 | 
            -
              return  | 
| 587 | 
            -
                value:  | 
| 588 | 
            -
              }),  | 
| 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,  | 
| 590 | 
            +
            function X(e, t, n) {
         | 
| 591 591 | 
             
              if (e[t]) return e[t];
         | 
| 592 | 
            -
              const [ | 
| 592 | 
            +
              const [o, i] = M(n, {
         | 
| 593 593 | 
             
                equals: !1,
         | 
| 594 594 | 
             
                internal: !0
         | 
| 595 595 | 
             
              });
         | 
| 596 | 
            -
              return  | 
| 596 | 
            +
              return o.$ = i, e[t] = o;
         | 
| 597 597 | 
             
            }
         | 
| 598 | 
            -
            function  | 
| 599 | 
            -
              const  | 
| 600 | 
            -
              return ! | 
| 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  | 
| 605 | 
            +
            function kt(e) {
         | 
| 606 606 | 
             
              return Ye(e), Reflect.ownKeys(e);
         | 
| 607 607 | 
             
            }
         | 
| 608 | 
            -
            const  | 
| 609 | 
            -
              get(e, t,  | 
| 608 | 
            +
            const St = {
         | 
| 609 | 
            +
              get(e, t, n) {
         | 
| 610 610 | 
             
                if (t === ue) return e;
         | 
| 611 | 
            -
                if (t === A) return  | 
| 611 | 
            +
                if (t === A) return n;
         | 
| 612 612 | 
             
                if (t === xe)
         | 
| 613 | 
            -
                  return Ye(e),  | 
| 614 | 
            -
                const  | 
| 615 | 
            -
                let  | 
| 616 | 
            -
                if (t === B || t ===  | 
| 617 | 
            -
                if (! | 
| 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  | 
| 619 | 
            +
                  ce() && (typeof r != "function" || e.hasOwnProperty(t)) && !(a && a.get) && (r = X(o, t, r)());
         | 
| 620 620 | 
             
                }
         | 
| 621 | 
            -
                return ee( | 
| 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 ===  | 
| 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:  | 
| 633 | 
            -
              getOwnPropertyDescriptor:  | 
| 632 | 
            +
              ownKeys: kt,
         | 
| 633 | 
            +
              getOwnPropertyDescriptor: xt
         | 
| 634 634 | 
             
            };
         | 
| 635 | 
            -
            function  | 
| 636 | 
            -
              if (! | 
| 637 | 
            -
              const  | 
| 638 | 
            -
               | 
| 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,  | 
| 641 | 
            -
                for (let s = e.length; s <  | 
| 642 | 
            -
                (l = X(a, "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  | 
| 648 | 
            -
              for (let  | 
| 649 | 
            -
                const  | 
| 650 | 
            -
                 | 
| 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  | 
| 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  | 
| 657 | 
            -
                for (;  | 
| 658 | 
            -
                  const  | 
| 659 | 
            -
                  e[ | 
| 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 | 
            -
                 | 
| 661 | 
            +
                ne(e, "length", o);
         | 
| 662 662 | 
             
              } else He(e, t);
         | 
| 663 663 | 
             
            }
         | 
| 664 | 
            -
            function U(e, t,  | 
| 665 | 
            -
              let  | 
| 664 | 
            +
            function U(e, t, n = []) {
         | 
| 665 | 
            +
              let o, i = e;
         | 
| 666 666 | 
             
              if (t.length > 1) {
         | 
| 667 | 
            -
                 | 
| 668 | 
            -
                const a = typeof  | 
| 669 | 
            -
                if (Array.isArray( | 
| 670 | 
            -
                  for (let s = 0; s <  | 
| 671 | 
            -
                    U(e, [ | 
| 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 | 
            -
                     | 
| 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 } =  | 
| 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),  | 
| 680 | 
            +
                    U(e, [u].concat(t), n);
         | 
| 681 681 | 
             
                  return;
         | 
| 682 682 | 
             
                } else if (t.length > 1) {
         | 
| 683 | 
            -
                  U(e[ | 
| 683 | 
            +
                  U(e[o], t, [o].concat(n));
         | 
| 684 684 | 
             
                  return;
         | 
| 685 685 | 
             
                }
         | 
| 686 | 
            -
                 | 
| 686 | 
            +
                i = e[o], n = [o].concat(n);
         | 
| 687 687 | 
             
              }
         | 
| 688 | 
            -
              let  | 
| 689 | 
            -
              typeof  | 
| 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  | 
| 693 | 
            -
              function  | 
| 694 | 
            -
                 | 
| 695 | 
            -
                   | 
| 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 [ | 
| 698 | 
            +
              return [i, r];
         | 
| 699 699 | 
             
            }
         | 
| 700 | 
            -
            const  | 
| 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 | 
            -
            },  | 
| 722 | 
            -
              const t = e.replace("#", ""),  | 
| 723 | 
            -
              return 0.2126 *  | 
| 724 | 
            -
            },  | 
| 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  | 
| 727 | 
            -
              for (const  | 
| 728 | 
            -
                t[ | 
| 729 | 
            -
              return  | 
| 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  | 
| 732 | 
            -
            const le = (e, t) => (... | 
| 733 | 
            -
              const  | 
| 734 | 
            -
               | 
| 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:  | 
| 736 | 
            +
                message: o,
         | 
| 737 737 | 
             
                timestamp: (/* @__PURE__ */ new Date()).toISOString()
         | 
| 738 | 
            -
              }),  | 
| 739 | 
            -
            },  | 
| 740 | 
            -
               | 
| 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,  | 
| 745 | 
            -
                const  | 
| 746 | 
            -
                return  | 
| 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: ${ | 
| 749 | 
            -
            Location: ${t}:${ | 
| 748 | 
            +
                  message: `Uncaught Error: ${r}
         | 
| 749 | 
            +
            Location: ${t}:${n}:${o}`,
         | 
| 750 750 | 
             
                  timestamp: (/* @__PURE__ */ new Date()).toISOString()
         | 
| 751 | 
            -
                }), Y ? Y(e, t,  | 
| 751 | 
            +
                }), Y ? Y(e, t, n, o, i) : !1;
         | 
| 752 752 | 
             
              }, window.onunhandledrejection = (e) => {
         | 
| 753 753 | 
             
                const t = e.reason;
         | 
| 754 | 
            -
                 | 
| 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",  | 
| 760 | 
            -
                const { message: t, filename:  | 
| 761 | 
            -
                 | 
| 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: ${ | 
| 764 | 
            +
            Location: ${n}:${o}:${i}`,
         | 
| 765 765 | 
             
                  timestamp: (/* @__PURE__ */ new Date()).toISOString()
         | 
| 766 766 | 
             
                });
         | 
| 767 767 | 
             
              }));
         | 
| 768 | 
            -
            },  | 
| 769 | 
            -
               | 
| 770 | 
            -
              }),  | 
| 771 | 
            -
            }, _e = () => [... | 
| 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  | 
| 775 | 
            +
              const o = typeof TouchEvent < "u" && e instanceof TouchEvent ? e.touches[0] : null;
         | 
| 776 776 | 
             
              return {
         | 
| 777 | 
            -
                x:  | 
| 778 | 
            -
                y:  | 
| 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  | 
| 782 | 
            -
              return Math.sqrt( | 
| 783 | 
            -
            },  | 
| 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,  | 
| 785 | 
            +
              const [t, n] = e;
         | 
| 786 786 | 
             
              return {
         | 
| 787 | 
            -
                x: Math.min(t.x,  | 
| 788 | 
            -
                y: Math.min(t.y,  | 
| 789 | 
            -
                width: Math.abs( | 
| 790 | 
            -
                height: Math.abs( | 
| 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  | 
| 794 | 
            -
              return  | 
| 795 | 
            -
            },  | 
| 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  | 
| 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:  | 
| 805 | 
            -
                }), t = It(e.width, e.height),  | 
| 806 | 
            -
                if (! | 
| 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  | 
| 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,  | 
| 814 | 
            -
              let  | 
| 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 [ | 
| 817 | 
            -
                 | 
| 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  | 
| 820 | 
            -
                if ( | 
| 821 | 
            -
                  const [ | 
| 822 | 
            -
                   | 
| 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  | 
| 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) =>  | 
| 832 | 
            +
            }, Ee = 5, ze = (e, t) => z[e].getCursor(t), Ft = (e, t, n) => {
         | 
| 833 833 | 
             
              var l, s;
         | 
| 834 | 
            -
              const [ | 
| 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 | 
            -
              }),  | 
| 849 | 
            +
              }), r = (c, d = !1) => {
         | 
| 850 850 | 
             
                if (c.selectedTool || c.selectedColor) {
         | 
| 851 | 
            -
                  const u = c.selectedTool ||  | 
| 852 | 
            -
                  c.cursor = ze(u,  | 
| 851 | 
            +
                  const u = c.selectedTool || o.selectedTool, f = c.selectedColor || o.selectedColor;
         | 
| 852 | 
            +
                  c.cursor = ze(u, f);
         | 
| 853 853 | 
             
                }
         | 
| 854 | 
            -
                 | 
| 854 | 
            +
                i(c), n == null || n(c, d);
         | 
| 855 855 | 
             
              }, a = {
         | 
| 856 856 | 
             
                startDrawing: (c) => {
         | 
| 857 | 
            -
                   | 
| 857 | 
            +
                  r({
         | 
| 858 858 | 
             
                    isDrawing: !0,
         | 
| 859 859 | 
             
                    currentPoints: [c],
         | 
| 860 860 | 
             
                    selectedShapeId: null
         | 
| 861 861 | 
             
                  });
         | 
| 862 862 | 
             
                },
         | 
| 863 863 | 
             
                updateDrawing: (c) => {
         | 
| 864 | 
            -
                   | 
| 865 | 
            -
                    currentPoints: [... | 
| 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 ( | 
| 869 | 
            +
                  if (o.currentPoints.length >= 2) {
         | 
| 870 870 | 
             
                    const c = {
         | 
| 871 871 | 
             
                      id: Math.random().toString(36).substring(2),
         | 
| 872 | 
            -
                      type:  | 
| 873 | 
            -
                      color:  | 
| 874 | 
            -
                      points:  | 
| 872 | 
            +
                      type: o.selectedTool,
         | 
| 873 | 
            +
                      color: o.selectedColor,
         | 
| 874 | 
            +
                      points: o.currentPoints
         | 
| 875 875 | 
             
                    };
         | 
| 876 | 
            -
                     | 
| 876 | 
            +
                    r({ shapes: [...o.shapes, c] });
         | 
| 877 877 | 
             
                  }
         | 
| 878 | 
            -
                   | 
| 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 &&  | 
| 892 | 
            -
                      const  | 
| 893 | 
            -
                      if ( | 
| 894 | 
            -
                        a.startDrag(d), a.updateDragOffset( | 
| 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 ( | 
| 904 | 
            -
                    const  | 
| 905 | 
            -
                      ... | 
| 906 | 
            -
                      points:  | 
| 907 | 
            -
                        x: L.x +  | 
| 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 | 
            -
                    } :  | 
| 911 | 
            -
                     | 
| 910 | 
            +
                    } : I);
         | 
| 911 | 
            +
                    r({ shapes: k }), a.startDrag(u);
         | 
| 912 912 | 
             
                    return;
         | 
| 913 913 | 
             
                  }
         | 
| 914 | 
            -
                  if ( | 
| 915 | 
            -
                    $e( | 
| 914 | 
            +
                  if (o.initialClickPos && !o.isDrawing) {
         | 
| 915 | 
            +
                    $e(o.initialClickPos, u) >= Ee && a.startDrawing(o.initialClickPos);
         | 
| 916 916 | 
             
                    return;
         | 
| 917 917 | 
             
                  }
         | 
| 918 | 
            -
                   | 
| 918 | 
            +
                  o.isDrawing && a.updateDrawing(u);
         | 
| 919 919 | 
             
                },
         | 
| 920 920 | 
             
                handleEnd: (c) => {
         | 
| 921 | 
            -
                  if ( | 
| 921 | 
            +
                  if (o.isDragging) {
         | 
| 922 922 | 
             
                    a.stopDrag();
         | 
| 923 923 | 
             
                    return;
         | 
| 924 924 | 
             
                  }
         | 
| 925 | 
            -
                  if ( | 
| 925 | 
            +
                  if (o.initialClickPos && !o.isDrawing) {
         | 
| 926 926 | 
             
                    const d = q(c);
         | 
| 927 | 
            -
                    if ($e( | 
| 928 | 
            -
                      const  | 
| 929 | 
            -
                       | 
| 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 && ! | 
| 935 | 
            +
                  c.target === c.currentTarget && !o.hasDrawn && r({ showTooltip: !0 });
         | 
| 936 936 | 
             
                },
         | 
| 937 937 | 
             
                handleLeave: (c) => {
         | 
| 938 | 
            -
                  c.target === c.currentTarget &&  | 
| 938 | 
            +
                  c.target === c.currentTarget && r({ showTooltip: !1 });
         | 
| 939 939 | 
             
                },
         | 
| 940 940 | 
             
                startDrag: (c) => {
         | 
| 941 | 
            -
                   | 
| 941 | 
            +
                  r({
         | 
| 942 942 | 
             
                    isDragging: !0,
         | 
| 943 943 | 
             
                    dragStartPos: c
         | 
| 944 944 | 
             
                  });
         | 
| 945 945 | 
             
                },
         | 
| 946 946 | 
             
                stopDrag: () => {
         | 
| 947 | 
            -
                   | 
| 947 | 
            +
                  r({
         | 
| 948 948 | 
             
                    isDragging: !1,
         | 
| 949 949 | 
             
                    dragStartPos: null,
         | 
| 950 950 | 
             
                    dragOffset: null
         | 
| 951 951 | 
             
                  });
         | 
| 952 952 | 
             
                },
         | 
| 953 953 | 
             
                setInitialClick: (c) => {
         | 
| 954 | 
            -
                   | 
| 954 | 
            +
                  r({
         | 
| 955 955 | 
             
                    initialClickPos: c
         | 
| 956 956 | 
             
                  });
         | 
| 957 957 | 
             
                },
         | 
| 958 958 | 
             
                updateDragOffset: (c, d) => {
         | 
| 959 | 
            -
                   | 
| 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:  | 
| 969 | 
            -
                setState:  | 
| 968 | 
            +
                state: o,
         | 
| 969 | 
            +
                setState: r,
         | 
| 970 970 | 
             
                methods: a
         | 
| 971 971 | 
             
              };
         | 
| 972 | 
            -
            }, Lt = (e, t,  | 
| 972 | 
            +
            }, Lt = (e, t, n) => {
         | 
| 973 973 | 
             
              var a, l;
         | 
| 974 | 
            -
              const [ | 
| 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:  | 
| 981 | 
            +
                state: o,
         | 
| 982 982 | 
             
                setState: (s, c = !1) => {
         | 
| 983 | 
            -
                   | 
| 983 | 
            +
                  i(s), n == null || n(s, c);
         | 
| 984 984 | 
             
                }
         | 
| 985 985 | 
             
              };
         | 
| 986 986 | 
             
            }, Nt = (e, t) => {
         | 
| 987 | 
            -
              const [ | 
| 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:  | 
| 1006 | 
            -
                setState:  | 
| 1005 | 
            +
                state: n,
         | 
| 1006 | 
            +
                setState: o
         | 
| 1007 1007 | 
             
              };
         | 
| 1008 1008 | 
             
            }, Bt = (e) => {
         | 
| 1009 1009 | 
             
              let t = ae();
         | 
| 1010 | 
            -
              const  | 
| 1011 | 
            -
                ( | 
| 1012 | 
            -
                  feedback:  | 
| 1013 | 
            -
                  drawing:  | 
| 1014 | 
            -
                }),  | 
| 1015 | 
            -
              }, 1e3),  | 
| 1016 | 
            -
                 | 
| 1017 | 
            -
              }),  | 
| 1018 | 
            -
                 | 
| 1019 | 
            -
              }),  | 
| 1020 | 
            -
                const  | 
| 1021 | 
            -
                if ( | 
| 1022 | 
            -
                  t =  | 
| 1023 | 
            -
                  const  | 
| 1024 | 
            -
                   | 
| 1025 | 
            -
                    comment: ( | 
| 1026 | 
            -
                  }),  | 
| 1027 | 
            -
                    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),  | 
| 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 | 
            -
                ),  | 
| 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 | 
            -
                ),  | 
| 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:  | 
| 1076 | 
            -
                drawing:  | 
| 1077 | 
            -
                widget:  | 
| 1079 | 
            +
                feedback: o,
         | 
| 1080 | 
            +
                drawing: i,
         | 
| 1081 | 
            +
                widget: r,
         | 
| 1078 1082 | 
             
                methods: {
         | 
| 1079 1083 | 
             
                  reset: l,
         | 
| 1080 | 
            -
                   | 
| 1081 | 
            -
                     | 
| 1082 | 
            -
             | 
| 1083 | 
            -
             | 
| 1084 | 
            -
             | 
| 1085 | 
            -
             | 
| 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 | 
            -
            },  | 
| 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  | 
| 1102 | 
            +
              return g(Ke.Provider, {
         | 
| 1096 1103 | 
             
                value: t,
         | 
| 1097 1104 | 
             
                get children() {
         | 
| 1098 1105 | 
             
                  return e.children;
         | 
| 1099 1106 | 
             
                }
         | 
| 1100 1107 | 
             
              });
         | 
| 1101 | 
            -
            },  | 
| 1102 | 
            -
              const e =  | 
| 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(( | 
| 1111 | 
            -
                var  | 
| 1112 | 
            -
                return  | 
| 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(),  | 
| 1126 | 
            -
              return w(( | 
| 1127 | 
            -
                var  | 
| 1128 | 
            -
                return  | 
| 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(( | 
| 1141 | 
            -
                var  | 
| 1142 | 
            -
                return  | 
| 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(( | 
| 1157 | 
            -
                var  | 
| 1158 | 
            -
                return  | 
| 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  | 
| 1177 | 
            +
            const Ve = (e) => (() => {
         | 
| 1171 1178 | 
             
              var t = Jt();
         | 
| 1172 | 
            -
              return w(( | 
| 1173 | 
            -
                var  | 
| 1174 | 
            -
                return  | 
| 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(( | 
| 1189 | 
            -
                var  | 
| 1190 | 
            -
                return  | 
| 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  | 
| 1209 | 
            +
            const en = (e) => (() => {
         | 
| 1203 1210 | 
             
              var t = Zt();
         | 
| 1204 | 
            -
              return w(( | 
| 1205 | 
            -
                var  | 
| 1206 | 
            -
                return  | 
| 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  | 
| 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 =  | 
| 1220 | 
            -
              return w(( | 
| 1221 | 
            -
                var  | 
| 1222 | 
            -
                return  | 
| 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  | 
| 1234 | 
            -
            const  | 
| 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 | 
            -
            ],  | 
| 1252 | 
            -
              const e =  | 
| 1258 | 
            +
            ], an = () => {
         | 
| 1259 | 
            +
              const e = x();
         | 
| 1253 1260 | 
             
              return (() => {
         | 
| 1254 | 
            -
                var t =  | 
| 1255 | 
            -
                return  | 
| 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, ... | 
| 1264 | 
            +
                    return [e.widget.state.primaryColor, ...rn];
         | 
| 1258 1265 | 
             
                  },
         | 
| 1259 | 
            -
                  children: ( | 
| 1260 | 
            -
                    var a =  | 
| 1266 | 
            +
                  children: (r) => (() => {
         | 
| 1267 | 
            +
                    var a = on();
         | 
| 1261 1268 | 
             
                    return a.$$click = () => e.drawing.setState({
         | 
| 1262 | 
            -
                      selectedColor:  | 
| 1263 | 
            -
                    }), h(a, "title", `Select ${ | 
| 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(( | 
| 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 | 
            -
             | 
| 1269 | 
            -
            var  | 
| 1270 | 
            -
            const  | 
| 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 | 
            -
            },  | 
| 1274 | 
            -
              const e =  | 
| 1280 | 
            +
            }, dn = () => {
         | 
| 1281 | 
            +
              const e = x(), t = Object.values(z);
         | 
| 1275 1282 | 
             
              return (() => {
         | 
| 1276 | 
            -
                var  | 
| 1277 | 
            -
                return  | 
| 1283 | 
            +
                var n = sn(), o = n.firstChild;
         | 
| 1284 | 
            +
                return m(n, g(re, {
         | 
| 1278 1285 | 
             
                  each: t,
         | 
| 1279 | 
            -
                  children: ( | 
| 1280 | 
            -
                    const  | 
| 1286 | 
            +
                  children: (i) => {
         | 
| 1287 | 
            +
                    const r = cn[i.id];
         | 
| 1281 1288 | 
             
                    return (() => {
         | 
| 1282 | 
            -
                      var a =  | 
| 1289 | 
            +
                      var a = ln();
         | 
| 1283 1290 | 
             
                      return a.$$click = () => e.drawing.setState({
         | 
| 1284 | 
            -
                        selectedTool:  | 
| 1285 | 
            -
                      }),  | 
| 1291 | 
            +
                        selectedTool: i.id
         | 
| 1292 | 
            +
                      }), m(a, g(r, {
         | 
| 1286 1293 | 
             
                        class: "echo-drawing-toolbar-icon"
         | 
| 1287 1294 | 
             
                      })), w((l) => {
         | 
| 1288 | 
            -
                        var s =  | 
| 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 | 
            -
                }),  | 
| 1303 | 
            +
                }), o), m(n, g(an, {}), o), o.$$click = () => e.drawing.setState({
         | 
| 1297 1304 | 
             
                  shapes: []
         | 
| 1298 | 
            -
                }, !0),  | 
| 1305 | 
            +
                }, !0), m(o, g(Ve, {
         | 
| 1299 1306 | 
             
                  class: "echo-drawing-toolbar-icon"
         | 
| 1300 | 
            -
                })),  | 
| 1307 | 
            +
                })), n;
         | 
| 1301 1308 | 
             
              })();
         | 
| 1302 1309 | 
             
            };
         | 
| 1303 | 
            -
             | 
| 1304 | 
            -
            var  | 
| 1305 | 
            -
            const  | 
| 1306 | 
            -
              const t = () => e.variant || "primary",  | 
| 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  | 
| 1309 | 
            -
                return  | 
| 1315 | 
            +
                var o = hn();
         | 
| 1316 | 
            +
                return dt(o, Z(e, {
         | 
| 1310 1317 | 
             
                  get class() {
         | 
| 1311 | 
            -
                    return `echo-button echo-button-${t()} echo-button-${ | 
| 1318 | 
            +
                    return `echo-button echo-button-${t()} echo-button-${n()} ${e.class}`;
         | 
| 1312 1319 | 
             
                  }
         | 
| 1313 | 
            -
                }), !1),  | 
| 1320 | 
            +
                }), !1), o;
         | 
| 1314 1321 | 
             
              })();
         | 
| 1315 1322 | 
             
            };
         | 
| 1316 | 
            -
            var  | 
| 1317 | 
            -
            const  | 
| 1318 | 
            -
              var t =  | 
| 1319 | 
            -
              return w(( | 
| 1320 | 
            -
                var  | 
| 1321 | 
            -
                return  | 
| 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  | 
| 1333 | 
            -
            const  | 
| 1334 | 
            -
              const e =  | 
| 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 | 
            -
                 | 
| 1343 | 
            +
                n(d), e.widget.setState({
         | 
| 1337 1344 | 
             
                  pagesCount: d.length
         | 
| 1338 1345 | 
             
                });
         | 
| 1339 1346 | 
             
              }, a = () => {
         | 
| 1340 | 
            -
                 | 
| 1347 | 
            +
                i(window.location.pathname);
         | 
| 1341 1348 | 
             
              };
         | 
| 1342 1349 | 
             
              W({
         | 
| 1343 1350 | 
             
                event: "echo-storage-change",
         | 
| 1344 | 
            -
                callback:  | 
| 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 | 
            -
                   | 
| 1362 | 
            +
                  i(window.location.pathname);
         | 
| 1356 1363 | 
             
                }
         | 
| 1357 1364 | 
             
              });
         | 
| 1358 1365 | 
             
              const l = (d, u) => {
         | 
| 1359 | 
            -
                const  | 
| 1360 | 
            -
                window.location.href =  | 
| 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 | 
            -
                 | 
| 1371 | 
            +
                o() === d && e.methods.reset(), Fe(d);
         | 
| 1365 1372 | 
             
                const u = se();
         | 
| 1366 | 
            -
                 | 
| 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  | 
| 1381 | 
            +
              return g(j, {
         | 
| 1375 1382 | 
             
                get when() {
         | 
| 1376 1383 | 
             
                  return e.widget.state.isStoredFeedbackOpen;
         | 
| 1377 1384 | 
             
                },
         | 
| 1378 1385 | 
             
                get children() {
         | 
| 1379 | 
            -
                  var d =  | 
| 1386 | 
            +
                  var d = mn(), u = d.firstChild;
         | 
| 1380 1387 | 
             
                  u.firstChild;
         | 
| 1381 | 
            -
                  var  | 
| 1382 | 
            -
                  return  | 
| 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  | 
| 1396 | 
            +
                      return g(ie, {
         | 
| 1390 1397 | 
             
                        size: 20
         | 
| 1391 1398 | 
             
                      });
         | 
| 1392 1399 | 
             
                    }
         | 
| 1393 | 
            -
                  }), null),  | 
| 1400 | 
            +
                  }), null), m(f, g(re, {
         | 
| 1394 1401 | 
             
                    get each() {
         | 
| 1395 1402 | 
             
                      return t();
         | 
| 1396 1403 | 
             
                    },
         | 
| 1397 | 
            -
                    children: ( | 
| 1398 | 
            -
                      const y =  | 
| 1404 | 
            +
                    children: (v) => {
         | 
| 1405 | 
            +
                      const y = p(() => v.path === o());
         | 
| 1399 1406 | 
             
                      return (() => {
         | 
| 1400 | 
            -
                        var  | 
| 1401 | 
            -
                        return  | 
| 1402 | 
            -
                          var  | 
| 1403 | 
            -
                          return () =>  | 
| 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( | 
| 1414 | 
            +
                            onClick: () => l(v.path, v.state.latestQuery),
         | 
| 1408 1415 | 
             
                            get children() {
         | 
| 1409 | 
            -
                              return  | 
| 1416 | 
            +
                              return g(fn, {});
         | 
| 1410 1417 | 
             
                            }
         | 
| 1411 1418 | 
             
                          });
         | 
| 1412 | 
            -
                        })(), null),  | 
| 1419 | 
            +
                        })(), null), m(we, g(O, {
         | 
| 1413 1420 | 
             
                          class: "echo-stored-feedback-delete",
         | 
| 1414 1421 | 
             
                          variant: "secondary",
         | 
| 1415 1422 | 
             
                          size: "sm",
         | 
| 1416 | 
            -
                          onClick: () => s( | 
| 1423 | 
            +
                          onClick: () => s(v.path),
         | 
| 1417 1424 | 
             
                          children: "Delete"
         | 
| 1418 | 
            -
                        }), null), w(( | 
| 1419 | 
            -
                          var be = `echo-stored-feedback-item ${y() ? "echo-stored-feedback-item-current" : ""}`, ye =  | 
| 1420 | 
            -
                          return be !==  | 
| 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 | 
            -
                        }),  | 
| 1431 | 
            +
                        }), k;
         | 
| 1425 1432 | 
             
                      })();
         | 
| 1426 1433 | 
             
                    }
         | 
| 1427 | 
            -
                  }), null),  | 
| 1434 | 
            +
                  }), null), m(f, g(j, {
         | 
| 1428 1435 | 
             
                    get when() {
         | 
| 1429 1436 | 
             
                      return t().length === 0;
         | 
| 1430 1437 | 
             
                    },
         | 
| 1431 1438 | 
             
                    get children() {
         | 
| 1432 | 
            -
                      return  | 
| 1439 | 
            +
                      return gn();
         | 
| 1433 1440 | 
             
                    }
         | 
| 1434 1441 | 
             
                  }), null), d;
         | 
| 1435 1442 | 
             
                }
         | 
| 1436 1443 | 
             
              });
         | 
| 1437 1444 | 
             
            };
         | 
| 1438 | 
            -
            var  | 
| 1439 | 
            -
            const  | 
| 1440 | 
            -
              const e =  | 
| 1441 | 
            -
              let  | 
| 1442 | 
            -
              const  | 
| 1443 | 
            -
                 | 
| 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 &&  | 
| 1452 | 
            +
                  !e.widget.state.isOpen && !e.widget.state.isStoredFeedbackOpen && c && n(!0);
         | 
| 1446 1453 | 
             
                }, 4e3);
         | 
| 1447 | 
            -
              },  | 
| 1448 | 
            -
                 | 
| 1454 | 
            +
              }, r = () => {
         | 
| 1455 | 
            +
                n(!1);
         | 
| 1449 1456 | 
             
              }, a = () => {
         | 
| 1450 | 
            -
                 | 
| 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 | 
            -
               | 
| 1459 | 
            -
                e.widget.state.isOpen || ( | 
| 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 | 
            -
                }),  | 
| 1471 | 
            +
                }), n(!1);
         | 
| 1465 1472 | 
             
              };
         | 
| 1466 1473 | 
             
              return [(() => {
         | 
| 1467 | 
            -
                var c =  | 
| 1468 | 
            -
                return c.addEventListener("pointerleave", a), c.addEventListener("pointerenter",  | 
| 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),  | 
| 1472 | 
            -
                  var d =  | 
| 1478 | 
            +
                }), null), m(c, (() => {
         | 
| 1479 | 
            +
                  var d = p(() => e.widget.state.pagesCount > 0);
         | 
| 1473 1480 | 
             
                  return () => d() && (() => {
         | 
| 1474 | 
            -
                    var u =  | 
| 1475 | 
            -
                    return u.$$click = s,  | 
| 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,  | 
| 1479 | 
            -
                  return u !== d.e && h(c, "data-hidden", d.e = u),  | 
| 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 | 
            -
              })(),  | 
| 1491 | 
            +
              })(), g(wn, {})];
         | 
| 1485 1492 | 
             
            };
         | 
| 1486 | 
            -
             | 
| 1487 | 
            -
            var  | 
| 1488 | 
            -
            const  | 
| 1489 | 
            -
              const e =  | 
| 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 | 
            -
              },  | 
| 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  | 
| 1508 | 
            -
                return  | 
| 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  | 
| 1524 | 
            +
                    return g(ie, {
         | 
| 1518 1525 | 
             
                      size: 20
         | 
| 1519 1526 | 
             
                    });
         | 
| 1520 1527 | 
             
                  }
         | 
| 1521 | 
            -
                }),  | 
| 1522 | 
            -
                  var s =  | 
| 1523 | 
            -
                  return () => s() ?  | 
| 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 =  | 
| 1527 | 
            -
                    return () => c() ?  | 
| 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 | 
            -
                })()),  | 
| 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( | 
| 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 | 
            -
                }),  | 
| 1548 | 
            +
                }), o;
         | 
| 1542 1549 | 
             
              })();
         | 
| 1543 1550 | 
             
            };
         | 
| 1544 | 
            -
            var  | 
| 1545 | 
            -
            const  | 
| 1546 | 
            -
              const e =  | 
| 1547 | 
            -
                 | 
| 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 | 
            -
              },  | 
| 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  | 
| 1559 | 
            -
                return  | 
| 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( | 
| 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 | 
            -
                }),  | 
| 1575 | 
            +
                }), i;
         | 
| 1569 1576 | 
             
              })();
         | 
| 1570 1577 | 
             
            };
         | 
| 1571 | 
            -
             | 
| 1572 | 
            -
            var  | 
| 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 =  | 
| 1575 | 
            -
              return [ | 
| 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  | 
| 1587 | 
            +
                  return g(En, Z(e, {
         | 
| 1581 1588 | 
             
                    get isSelected() {
         | 
| 1582 1589 | 
             
                      return t();
         | 
| 1583 1590 | 
             
                    }
         | 
| 1584 1591 | 
             
                  }));
         | 
| 1585 1592 | 
             
                }
         | 
| 1586 | 
            -
              }),  | 
| 1593 | 
            +
              }), g(j, {
         | 
| 1587 1594 | 
             
                get when() {
         | 
| 1588 1595 | 
             
                  return e.type === "path";
         | 
| 1589 1596 | 
             
                },
         | 
| 1590 1597 | 
             
                get children() {
         | 
| 1591 | 
            -
                  return  | 
| 1598 | 
            +
                  return g(zn, Z(e, {
         | 
| 1592 1599 | 
             
                    get isSelected() {
         | 
| 1593 1600 | 
             
                      return t();
         | 
| 1594 1601 | 
             
                    }
         | 
| 1595 1602 | 
             
                  }));
         | 
| 1596 1603 | 
             
                }
         | 
| 1597 1604 | 
             
              })];
         | 
| 1598 | 
            -
            },  | 
| 1599 | 
            -
              const t =  | 
| 1600 | 
            -
              return  | 
| 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  | 
| 1606 | 
            -
                  return  | 
| 1607 | 
            -
                    var  | 
| 1608 | 
            -
                    return ( | 
| 1609 | 
            -
                  }, w(( | 
| 1610 | 
            -
                    var  | 
| 1611 | 
            -
                    return  | 
| 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 | 
            -
                  }),  | 
| 1631 | 
            +
                  }), n;
         | 
| 1625 1632 | 
             
                }
         | 
| 1626 1633 | 
             
              });
         | 
| 1627 | 
            -
            },  | 
| 1628 | 
            -
              const t =  | 
| 1629 | 
            -
              return  | 
| 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  | 
| 1635 | 
            -
                  return  | 
| 1636 | 
            -
                    var  | 
| 1637 | 
            -
                    return ( | 
| 1638 | 
            -
                  }, w(( | 
| 1639 | 
            -
                    var  | 
| 1640 | 
            -
                    return  | 
| 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 | 
            -
                  }),  | 
| 1656 | 
            +
                  }), n;
         | 
| 1650 1657 | 
             
                }
         | 
| 1651 1658 | 
             
              });
         | 
| 1652 1659 | 
             
            };
         | 
| 1653 | 
            -
             | 
| 1654 | 
            -
            var  | 
| 1655 | 
            -
            const  | 
| 1656 | 
            -
              const e =  | 
| 1657 | 
            -
              return  | 
| 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  | 
| 1663 | 
            -
                  return  | 
| 1664 | 
            -
                    var  | 
| 1665 | 
            -
                    return  | 
| 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 | 
            -
                  }),  | 
| 1676 | 
            +
                  }), n;
         | 
| 1670 1677 | 
             
                }
         | 
| 1671 1678 | 
             
              });
         | 
| 1672 1679 | 
             
            };
         | 
| 1673 | 
            -
            var  | 
| 1674 | 
            -
            const  | 
| 1675 | 
            -
              const e =  | 
| 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 [ | 
| 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 | 
            -
                   | 
| 1691 | 
            +
                  o({
         | 
| 1685 1692 | 
             
                    x: window.scrollX,
         | 
| 1686 1693 | 
             
                    y: window.scrollY
         | 
| 1687 1694 | 
             
                  });
         | 
| 1688 1695 | 
             
                }
         | 
| 1689 1696 | 
             
              });
         | 
| 1690 | 
            -
              const  | 
| 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 =  | 
| 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  | 
| 1701 | 
            -
                  if (! | 
| 1707 | 
            +
                  const v = Ue(s.points);
         | 
| 1708 | 
            +
                  if (!v) return null;
         | 
| 1702 1709 | 
             
                  d = {
         | 
| 1703 | 
            -
                    x:  | 
| 1704 | 
            -
                    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,  | 
| 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 -  | 
| 1716 | 
            -
                  y: Math.max(c.height + u, Math.min(window.innerHeight - u, d.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 =  | 
| 1721 | 
            -
                return typeof c == "function" ? G(c, s) : t = s,  | 
| 1722 | 
            -
                  onClick:  | 
| 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  | 
| 1734 | 
            +
                    return g(Ve, {
         | 
| 1728 1735 | 
             
                      size: 20
         | 
| 1729 1736 | 
             
                    });
         | 
| 1730 1737 | 
             
                  }
         | 
| 1731 1738 | 
             
                })), w((d) => {
         | 
| 1732 | 
            -
                  var y,  | 
| 1733 | 
            -
                  var u = !l(),  | 
| 1734 | 
            -
                  return u !== d.e && (s.hidden = d.e = u),  | 
| 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  | 
| 1743 | 
            -
            const  | 
| 1744 | 
            -
              const e =  | 
| 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  | 
| 1754 | 
            -
                return typeof  | 
| 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 | 
            -
                }, _( | 
| 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 | 
            -
                },  | 
| 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 | 
            -
                },  | 
| 1773 | 
            +
                }, m(o, g(re, {
         | 
| 1767 1774 | 
             
                  get each() {
         | 
| 1768 1775 | 
             
                    return e.drawing.state.shapes;
         | 
| 1769 1776 | 
             
                  },
         | 
| 1770 | 
            -
                  children: (a) =>  | 
| 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),  | 
| 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 ?  | 
| 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 | 
            -
                }),  | 
| 1820 | 
            +
                }), n;
         | 
| 1814 1821 | 
             
              })();
         | 
| 1815 1822 | 
             
            };
         | 
| 1816 | 
            -
             | 
| 1817 | 
            -
            var  | 
| 1818 | 
            -
            const  | 
| 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 =  | 
| 1821 | 
            -
                 | 
| 1822 | 
            -
                const  | 
| 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:  | 
| 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 | 
            -
                 | 
| 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 | 
            -
               | 
| 1847 | 
            +
              oe(() => {
         | 
| 1858 1848 | 
             
                e && t.widget.state.isOpen && e.focus();
         | 
| 1859 1849 | 
             
              });
         | 
| 1860 | 
            -
              const  | 
| 1861 | 
            -
                 | 
| 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  | 
| 1871 | 
            -
                 | 
| 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:  | 
| 1866 | 
            +
                  onClick: o,
         | 
| 1877 1867 | 
             
                  get children() {
         | 
| 1878 | 
            -
                    return  | 
| 1868 | 
            +
                    return g(_t, {
         | 
| 1879 1869 | 
             
                      size: 20
         | 
| 1880 1870 | 
             
                    });
         | 
| 1881 1871 | 
             
                  }
         | 
| 1882 | 
            -
                }), null),  | 
| 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  | 
| 1881 | 
            +
                    return g(ie, {
         | 
| 1892 1882 | 
             
                      size: 20
         | 
| 1893 1883 | 
             
                    });
         | 
| 1894 1884 | 
             
                  }
         | 
| 1895 | 
            -
                }), null),  | 
| 1896 | 
            -
                  comment:  | 
| 1885 | 
            +
                }), null), d.$$input = (f) => t.feedback.setState({
         | 
| 1886 | 
            +
                  comment: f.currentTarget.value
         | 
| 1897 1887 | 
             
                });
         | 
| 1898 | 
            -
                var  | 
| 1899 | 
            -
                return typeof  | 
| 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(( | 
| 1910 | 
            -
                  var  | 
| 1911 | 
            -
                  return  | 
| 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(() =>  | 
| 1906 | 
            +
                }), w(() => d.value = t.feedback.state.comment), r;
         | 
| 1917 1907 | 
             
              })();
         | 
| 1918 1908 | 
             
            };
         | 
| 1919 | 
            -
             | 
| 1920 | 
            -
            var  | 
| 1921 | 
            -
            const  | 
| 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  | 
| 1917 | 
            +
                return g(Yt, Z(e, {
         | 
| 1928 1918 | 
             
                  get children() {
         | 
| 1929 | 
            -
                    return  | 
| 1919 | 
            +
                    return g(Un, {
         | 
| 1930 1920 | 
             
                      get children() {
         | 
| 1931 | 
            -
                        return [ | 
| 1921 | 
            +
                        return [g(Wn, {
         | 
| 1932 1922 | 
             
                          get primaryColor() {
         | 
| 1933 1923 | 
             
                            return e.primaryColor;
         | 
| 1934 1924 | 
             
                          }
         | 
| 1935 | 
            -
                        }),  | 
| 1925 | 
            +
                        }), g(_n, {})];
         | 
| 1936 1926 | 
             
                      }
         | 
| 1937 1927 | 
             
                    });
         | 
| 1938 1928 | 
             
                  }
         | 
| 1939 1929 | 
             
                }));
         | 
| 1940 1930 | 
             
              }
         | 
| 1941 | 
            -
            }),  | 
| 1942 | 
            -
              const [t,  | 
| 1943 | 
            -
              return  | 
| 1944 | 
            -
                const  | 
| 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: ${ | 
| 1937 | 
            +
            					--primary-text-color: ${$t(e.primaryColor)};
         | 
| 1948 1938 | 
             
            				}
         | 
| 1949 1939 | 
             
            			`;
         | 
| 1950 | 
            -
                o | 
| 1940 | 
            +
                n(o);
         | 
| 1951 1941 | 
             
              }), (() => {
         | 
| 1952 | 
            -
                var  | 
| 1953 | 
            -
                return  | 
| 1942 | 
            +
                var o = Ln();
         | 
| 1943 | 
            +
                return m(o, Ht, null), m(o, t, null), o;
         | 
| 1954 1944 | 
             
              })();
         | 
| 1955 | 
            -
            },  | 
| 1956 | 
            -
              const e =  | 
| 1945 | 
            +
            }, _n = () => {
         | 
| 1946 | 
            +
              const e = x();
         | 
| 1957 1947 | 
             
              return [(() => {
         | 
| 1958 | 
            -
                var t =  | 
| 1959 | 
            -
                return  | 
| 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 =  | 
| 1962 | 
            -
                return  | 
| 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 | 
            -
            },  | 
| 1954 | 
            +
            }, Un = (e) => {
         | 
| 1965 1955 | 
             
              let t;
         | 
| 1966 | 
            -
              const  | 
| 1956 | 
            +
              const n = x(), o = () => {
         | 
| 1967 1957 | 
             
                requestAnimationFrame(() => {
         | 
| 1968 | 
            -
                  t && (t.style.height = "0px", t.style.height = `${document.documentElement.scrollHeight}px`,  | 
| 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:  | 
| 1979 | 
            -
                onMount:  | 
| 1980 | 
            -
              }),  | 
| 1981 | 
            -
                 | 
| 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 | 
            -
                   | 
| 1982 | 
            +
                  o();
         | 
| 1993 1983 | 
             
                }
         | 
| 1994 1984 | 
             
              }), (() => {
         | 
| 1995 | 
            -
                var  | 
| 1996 | 
            -
                return typeof  | 
| 1997 | 
            -
                  var l =  | 
| 1998 | 
            -
                  return l !== a.e && h( | 
| 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 | 
            -
                }),  | 
| 1993 | 
            +
                }), i;
         | 
| 2004 1994 | 
             
              })();
         | 
| 2005 | 
            -
            },  | 
| 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  | 
| 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),  | 
| 2024 | 
            +
                jt(e), Et();
         | 
| 2035 2025 | 
             
                const {
         | 
| 2036 2026 | 
             
                  position: t = "bottom-right",
         | 
| 2037 | 
            -
                  primaryColor:  | 
| 2038 | 
            -
                  onSubmit:  | 
| 2039 | 
            -
                  textConfig:  | 
| 2040 | 
            -
                } = e,  | 
| 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 =  | 
| 2032 | 
            +
                const l = st(() => g(Hn, {
         | 
| 2043 2033 | 
             
                  position: t,
         | 
| 2044 | 
            -
                  primaryColor:  | 
| 2045 | 
            -
                  textConfig:  | 
| 2046 | 
            -
                  onSubmit: async (c) => {
         | 
| 2047 | 
            -
                     | 
| 2048 | 
            -
             | 
| 2049 | 
            -
             | 
| 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(),  | 
| 2041 | 
            +
                  l(), a.remove(), zt(), Q = null;
         | 
| 2058 2042 | 
             
                };
         | 
| 2059 2043 | 
             
                return window.addEventListener("unload", s, {
         | 
| 2060 2044 | 
             
                  once: !0
         | 
| @@ -2064,5 +2048,6 @@ function Xo(e) { | |
| 2064 2048 | 
             
              }
         | 
| 2065 2049 | 
             
            }
         | 
| 2066 2050 | 
             
            export {
         | 
| 2067 | 
            -
               | 
| 2051 | 
            +
              Xn as initEcho
         | 
| 2068 2052 | 
             
            };
         | 
| 2053 | 
            +
            //# sourceMappingURL=echo.es.js.map
         |