function su(t) { for (var r = [], e = 1; e < arguments.length; e++) r[e - 1] = arguments[e]; return r.map(function(n) { return n.split(" ").map(function(a) { return a ? "" + t + a : ""; }).join(" "); }).join(" "); } function uu(t, r) { return r.replace(/([^}{]*){/gm, function(e, n) { return n.replace(/\.([^{,\s\d.]+)/g, "." + t + "$1") + "{"; }); } function rr(t, r) { return function(e) { e && (t[r] = e); }; } function Ki(t, r, e) { return function(n) { n && (t[r][e] = n); }; } function Ka(t, r) { return function(e) { var n = e.prototype; t.forEach(function(a) { r(n, a); }); }; } function fu(t, r) { return r === void 0 && (r = {}), function(e, n) { t.forEach(function(a) { var i = r[a] || a; i in e || (e[i] = function() { for (var o, s = [], u = 0; u < arguments.length; u++) s[u] = arguments[u]; var f = (o = this[n])[a].apply(o, s); return f === this[n] ? this : f; }); }); }; } var lu = "function", cu = "object", vu = "string", du = "number", sa = "undefined", Zi = typeof window !== sa, pu = typeof document !== sa && document, hu = [{ open: "(", close: ")" }, { open: '"', close: '"' }, { open: "'", close: "'" }, { open: '\\"', close: '\\"' }, { open: "\\'", close: "\\'" }], bt = 1e-7, Ee = { cm: function(t) { return t * 96 / 2.54; }, mm: function(t) { return t * 96 / 254; }, in: function(t) { return t * 96; }, pt: function(t) { return t * 96 / 72; }, pc: function(t) { return t * 96 / 6; }, "%": function(t, r) { return t * r / 100; }, vw: function(t, r) { return r === void 0 && (r = window.innerWidth), t / 100 * r; }, vh: function(t, r) { return r === void 0 && (r = window.innerHeight), t / 100 * r; }, vmax: function(t, r) { return r === void 0 && (r = Math.max(window.innerWidth, window.innerHeight)), t / 100 * r; }, vmin: function(t, r) { return r === void 0 && (r = Math.min(window.innerWidth, window.innerHeight)), t / 100 * r; } }; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ function gu() { for (var t = 0, r = 0, e = arguments.length; r < e; r++) t += arguments[r].length; for (var n = Array(t), a = 0, r = 0; r < e; r++) for (var i = arguments[r], o = 0, s = i.length; o < s; o++, a++) n[a] = i[o]; return n; } function He(t, r, e, n) { return (t * n + r * e) / (e + n); } function Je(t) { return typeof t === sa; } function $t(t) { return t && typeof t === cu; } function yt(t) { return Array.isArray(t); } function Ft(t) { return typeof t === vu; } function kr(t) { return typeof t === du; } function ua(t) { return typeof t === lu; } function mu(t, r) { var e = t === "" || t == " ", n = r === "" || r == " "; return n && e || t === r; } function Ji(t, r, e, n, a) { var i = fa(t, r, e); return i ? e : Su(t, r, e + 1, n, a); } function fa(t, r, e) { if (!t.ignore) return null; var n = r.slice(Math.max(e - 3, 0), e + 3).join(""); return new RegExp(t.ignore).exec(n); } function Su(t, r, e, n, a) { for (var i = function(f) { var l = r[f].trim(); if (l === t.close && !fa(t, r, f)) return { value: f }; var v = f, c = Nt(a, function(d) { var p = d.open; return p === l; }); if (c && (v = Ji(c, r, f, n, a)), v === -1) return o = f, "break"; f = v, o = f; }, o, s = e; s < n; ++s) { var u = i(s); if (s = o, typeof u == "object") return u.value; if (u === "break") break; } return -1; } function la(t, r) { var e = Ft(r) ? { separator: r } : r, n = e.separator, a = n === void 0 ? "," : n, i = e.isSeparateFirst, o = e.isSeparateOnlyOpenClose, s = e.isSeparateOpenClose, u = s === void 0 ? o : s, f = e.openCloseCharacters, l = f === void 0 ? hu : f, v = l.map(function(D) { var E = D.open, C = D.close; return E === C ? E : E + "|" + C; }).join("|"), c = "(\\s*" + a + "\\s*|" + v + "|\\s+)", d = new RegExp(c, "g"), p = t.split(d).filter(function(D) { return D && D !== "undefined"; }), h = p.length, g = [], m = []; function S() { return m.length ? (g.push(m.join("")), m = [], !0) : !1; } for (var x = function(D) { var E = p[D].trim(), C = D, w = Nt(l, function(O) { var I = O.open; return I === E; }), P = Nt(l, function(O) { var I = O.close; return I === E; }); if (w) { if (C = Ji(w, p, D, h, l), C !== -1 && u) return S() && i || (g.push(p.slice(D, C + 1).join("")), D = C, i) ? (_ = D, "break") : (_ = D, "continue"); } else if (P && !fa(P, p, D)) { var R = gu(l); return R.splice(l.indexOf(P), 1), { value: la(t, { separator: a, isSeparateFirst: i, isSeparateOnlyOpenClose: o, isSeparateOpenClose: u, openCloseCharacters: R }) }; } else if (mu(E, a) && !o) return S(), i ? (_ = D, "break") : (_ = D, "continue"); C === -1 && (C = h - 1), m.push(p.slice(D, C + 1).join("")), D = C, _ = D; }, _, y = 0; y < h; ++y) { var b = x(y); if (y = _, typeof b == "object") return b.value; if (b === "break") break; } return m.length && g.push(m.join("")), g; } function vr(t) { return la(t, ""); } function br(t) { return la(t, ","); } function Qi(t) { var r = /([^(]*)\(([\s\S]*)\)([\s\S]*)/g.exec(t); return !r || r.length < 4 ? {} : { prefix: r[1], value: r[2], suffix: r[3] }; } function ve(t) { var r = /^([^\d|e|\-|\+]*)((?:\d|\.|-|e-|e\+)+)(\S*)$/g.exec(t); if (!r) return { prefix: "", unit: "", value: NaN }; var e = r[1], n = r[2], a = r[3]; return { prefix: e, unit: a, value: parseFloat(n) }; } function to(t) { return t.replace(/[\s-_]+([^\s-_])/g, function(r, e) { return e.toUpperCase(); }); } function Ae(t, r) { return r === void 0 && (r = "-"), t.replace(/([a-z])([A-Z])/g, function(e, n, a) { return "" + n + r + a.toLowerCase(); }); } function oe() { return Date.now ? Date.now() : (/* @__PURE__ */ new Date()).getTime(); } function ar(t, r, e) { e === void 0 && (e = -1); for (var n = t.length, a = 0; a < n; ++a) if (r(t[a], a, t)) return a; return e; } function Nt(t, r, e) { var n = ar(t, r); return n > -1 ? t[n] : e; } var ro = /* @__PURE__ */ function() { var t = oe(), r = Zi && (window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.msRequestAnimationFrame); return r ? r.bind(window) : function(e) { var n = oe(), a = setTimeout(function() { e(n - t); }, 1e3 / 60); return a; }; }(), xu = /* @__PURE__ */ function() { var t = Zi && (window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.msCancelAnimationFrame); return t ? t.bind(window) : function(r) { clearTimeout(r); }; }(); function ir(t) { return Object.keys(t); } function _u(t) { var r = ir(t); return r.map(function(e) { return t[e]; }); } function vt(t, r) { var e = ve(t), n = e.value, a = e.unit; if ($t(r)) { var i = r[a]; if (i) { if (ua(i)) return i(n); if (Ee[a]) return Ee[a](n, i); } } else if (a === "%") return n * r / 100; return Ee[a] ? Ee[a](n) : n; } function zn(t, r, e) { return Math.max(r, Math.min(t, e)); } function Za(t, r, e, n) { return n === void 0 && (n = t[0] / t[1]), [[tt(r[0], bt), tt(r[0] / n, bt)], [tt(r[1] * n, bt), tt(r[1], bt)]].filter(function(a) { return a.every(function(i, o) { var s = r[o], u = tt(s, bt); return e ? i <= s || i <= u : i >= s || i >= u; }); })[0] || t; } function eo(t, r, e, n) { if (!n) return t.map(function(d, p) { return zn(d, r[p], e[p]); }); var a = t[0], i = t[1], o = n === !0 ? a / i : n, s = Za(t, r, !1, o), u = s[0], f = s[1], l = Za(t, e, !0, o), v = l[0], c = l[1]; return a < u || i < f ? (a = u, i = f) : (a > v || i > c) && (a = v, i = c), [a, i]; } function bu(t) { for (var r = t.length, e = 0, n = r - 1; n >= 0; --n) e += t[n]; return e; } function Gn(t) { for (var r = t.length, e = 0, n = r - 1; n >= 0; --n) e += t[n]; return r ? e / r : 0; } function St(t, r) { var e = r[0] - t[0], n = r[1] - t[1], a = Math.atan2(n, e); return a >= 0 ? a : a + Math.PI * 2; } function yu(t) { return [0, 1].map(function(r) { return Gn(t.map(function(e) { return e[r]; })); }); } function Ja(t) { var r = yu(t), e = St(r, t[0]), n = St(r, t[1]); return e < n && n - e < Math.PI || e > n && n - e < -Math.PI ? 1 : -1; } function er(t, r) { return Math.sqrt(Math.pow((r ? r[0] : 0) - t[0], 2) + Math.pow((r ? r[1] : 0) - t[1], 2)); } function tt(t, r) { if (!r) return t; var e = 1 / r; return Math.round(t / r) / e; } function Qa(t, r) { return t.forEach(function(e, n) { t[n] = tt(t[n], r); }), t; } function Eu(t) { for (var r = [], e = 0; e < t; ++e) r.push(e); return r; } function no(t) { return t.reduce(function(r, e) { return r.concat(e); }, []); } function ao(t, r) { t.indexOf(r) === -1 && t.push(r); } function Ct(t, r) { return t.classList ? t.classList.contains(r) : !!t.className.match(new RegExp("(\\s|^)" + r + "(\\s|$)")); } function io(t, r) { t.classList ? t.classList.add(r) : t.className += " " + r; } function oo(t, r) { if (t.classList) t.classList.remove(r); else { var e = new RegExp("(\\s|^)" + r + "(\\s|$)"); t.className = t.className.replace(e, " "); } } function Tt(t, r, e, n) { t.addEventListener(r, e, n); } function Dt(t, r, e, n) { t.removeEventListener(r, e, n); } function Xr(t) { return (t == null ? void 0 : t.ownerDocument) || pu; } function ca(t) { return Xr(t).documentElement; } function hr(t) { return Xr(t).body; } function cr(t) { var r; return ((r = t == null ? void 0 : t.ownerDocument) === null || r === void 0 ? void 0 : r.defaultView) || window; } function so(t) { return t && "postMessage" in t && "blur" in t && "self" in t; } function Vr(t) { return $t(t) && t.nodeName && t.nodeType && "ownerDocument" in t; } var Du = /* @__PURE__ */ function() { function t() { this.keys = [], this.values = []; } var r = t.prototype; return r.get = function(e) { return this.values[this.keys.indexOf(e)]; }, r.set = function(e, n) { var a = this.keys, i = this.values, o = a.indexOf(e), s = o === -1 ? a.length : o; a[s] = e, i[s] = n; }, t; }(), Cu = /* @__PURE__ */ function() { function t() { this.object = {}; } var r = t.prototype; return r.get = function(e) { return this.object[e]; }, r.set = function(e, n) { this.object[e] = n; }, t; }(), Mu = typeof Map == "function", wu = /* @__PURE__ */ function() { function t() { } var r = t.prototype; return r.connect = function(e, n) { this.prev = e, this.next = n, e && (e.next = this), n && (n.prev = this); }, r.disconnect = function() { var e = this.prev, n = this.next; e && (e.next = n), n && (n.prev = e); }, r.getIndex = function() { for (var e = this, n = -1; e; ) e = e.prev, ++n; return n; }, t; }(); function Tu(t, r) { var e = [], n = []; return t.forEach(function(a) { var i = a[0], o = a[1], s = new wu(); e[i] = s, n[o] = s; }), e.forEach(function(a, i) { a.connect(e[i - 1]); }), t.filter(function(a, i) { return !r[i]; }).map(function(a, i) { var o = a[0], s = a[1]; if (o === s) return [0, 0]; var u = e[o], f = n[s - 1], l = u.getIndex(); u.disconnect(), f ? u.connect(f, f.next) : u.connect(void 0, e[0]); var v = u.getIndex(); return [l, v]; }); } var Ou = /* @__PURE__ */ function() { function t(e, n, a, i, o, s, u, f) { this.prevList = e, this.list = n, this.added = a, this.removed = i, this.changed = o, this.maintained = s, this.changedBeforeAdded = u, this.fixed = f; } var r = t.prototype; return Object.defineProperty(r, "ordered", { get: function() { return this.cacheOrdered || this.caculateOrdered(), this.cacheOrdered; }, enumerable: !0, configurable: !0 }), Object.defineProperty(r, "pureChanged", { get: function() { return this.cachePureChanged || this.caculateOrdered(), this.cachePureChanged; }, enumerable: !0, configurable: !0 }), r.caculateOrdered = function() { var e = Tu(this.changedBeforeAdded, this.fixed), n = this.changed, a = []; this.cacheOrdered = e.filter(function(i, o) { var s = i[0], u = i[1], f = n[o], l = f[0], v = f[1]; if (s !== u) return a.push([l, v]), !0; }), this.cachePureChanged = a; }, t; }(); function de(t, r, e) { var n = Mu ? Map : e ? Cu : Du, a = e || function(S) { return S; }, i = [], o = [], s = [], u = t.map(a), f = r.map(a), l = new n(), v = new n(), c = [], d = [], p = {}, h = [], g = 0, m = 0; return u.forEach(function(S, x) { l.set(S, x); }), f.forEach(function(S, x) { v.set(S, x); }), u.forEach(function(S, x) { var _ = v.get(S); typeof _ > "u" ? (++m, o.push(x)) : p[_] = m; }), f.forEach(function(S, x) { var _ = l.get(S); typeof _ > "u" ? (i.push(x), ++g) : (s.push([_, x]), m = p[x] || 0, c.push([_ - m, x - g]), d.push(x === _), _ !== x && h.push([_, x])); }), o.reverse(), new Ou(t, r, i, o, h, s, c, d); } var Ru = /* @__PURE__ */ function() { function t(e, n) { e === void 0 && (e = []), this.findKeyCallback = n, this.list = [].slice.call(e); } var r = t.prototype; return r.update = function(e) { var n = [].slice.call(e), a = de(this.list, n, this.findKeyCallback); return this.list = n, a; }, t; }(), Bn = function(t, r) { return Bn = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(e, n) { e.__proto__ = n; } || function(e, n) { for (var a in n) Object.prototype.hasOwnProperty.call(n, a) && (e[a] = n[a]); }, Bn(t, r); }; function pe(t, r) { if (typeof r != "function" && r !== null) throw new TypeError("Class extends value " + String(r) + " is not a constructor or null"); Bn(t, r); function e() { this.constructor = t; } t.prototype = r === null ? Object.create(r) : (e.prototype = r.prototype, new e()); } var Zt = function() { return Zt = Object.assign || function(r) { for (var e, n = 1, a = arguments.length; n < a; n++) { e = arguments[n]; for (var i in e) Object.prototype.hasOwnProperty.call(e, i) && (r[i] = e[i]); } return r; }, Zt.apply(this, arguments); }; function uo(t, r) { var e = {}; for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && r.indexOf(n) < 0 && (e[n] = t[n]); if (t != null && typeof Object.getOwnPropertySymbols == "function") for (var a = 0, n = Object.getOwnPropertySymbols(t); a < n.length; a++) r.indexOf(n[a]) < 0 && Object.prototype.propertyIsEnumerable.call(t, n[a]) && (e[n[a]] = t[n[a]]); return e; } function ti(t, r, e) { if (e || arguments.length === 2) for (var n = 0, a = r.length, i; n < a; n++) (i || !(n in r)) && (i || (i = Array.prototype.slice.call(r, 0, n)), i[n] = r[n]); return t.concat(i || Array.prototype.slice.call(r)); } function ri(t) { var r = 0; return t.map(function(e) { return e == null ? "$compat".concat(++r) : "".concat(e); }); } function fo(t) { var r = []; return t.forEach(function(e) { r = r.concat(yt(e) ? fo(e) : e); }), r; } function gn(t, r) { if (!r) return t; for (var e in r) Je(t[e]) && (t[e] = r[e]); return t; } function We(t, r) { if (t === r) return !1; for (var e in t) if (!(e in r)) return !0; for (var e in r) if (t[e] !== r[e]) return !0; return !1; } function ei(t) { var r = t.className, e = uo(t, ["className"]); return r != null && (e.class = r), delete e.style, delete e.children, e; } function ni(t) { var r = {}, e = {}; for (var n in t) n.indexOf("on") === 0 ? e[n] = t[n] : r[n] = t[n]; return [r, e]; } function Qe(t) { if (!t) return null; var r = t.b; return Vr(r) ? r : Qe(t.c); } function lo(t) { var r = t.parentNode; r && r.removeChild(t); } function co(t) { t.forEach(function(r) { r(); }); } function Pu() { return this.constructor(this.props, this.context); } var va = 0, tn = /* @__PURE__ */ function() { function t(e, n, a, i, o, s, u) { u === void 0 && (u = {}), this.t = e, this.d = n, this.k = a, this.i = i, this.c = o, this.ref = s, this.ps = u, this.typ = "prov", this._ps = [], this._cs = {}, this._hyd = null, this._sel = !1; } var r = t.prototype; return r.s = function() { return !0; }, r.u = function(e, n, a, i, o) { var s = this, u = s.d, f = _u(n).filter(function(p) { return p.$_req; }), l = fo(f.map(function(p) { return p.$_subs; })), v = Nt(l, function(p) { return p.d === u; }); if (s.b && !Ft(a) && !o && !s.s(a.props, i) && !v) { var c = l.reduce(function(p, h) { var g = h.d; return p[0] ? p[0].d === g && p.push(h) : g > u && p.push(h), p; }, []); return c.forEach(function(p) { he(p, p._ps, [p.o], e, n, !0); }), !1; } s.o = a, s.ss(i); var d = s.ps; return Ft(a) || (s.ps = a.props, s.ref = a.ref), da(this), s.r(e, n, s.b ? d : {}, i), !0; }, r.md = function() { this.rr(); }, r.ss = function() { }, r.ud = function() { this.rr(); }, r.rr = function() { var e = this, n = e.ref, a = e.fr; n && n(a ? a.current : e.b); }, t; }(); function vo() { return Object.__CROACT_CURRENT_INSTNACE__; } function Iu() { return va; } function zu(t) { va = t; } function da(t) { return Object.__CROACT_CURRENT_INSTNACE__ = t, va = 0, t; } var pa = /* @__PURE__ */ function() { function t(e, n) { e === void 0 && (e = {}), this.props = e, this.context = n, this.state = {}, this.$_timer = 0, this.$_state = {}, this.$_subs = [], this.$_cs = {}; } var r = t.prototype; return r.render = function() { return null; }, r.shouldComponentUpdate = function(e, n) { return this.props !== e || this.state !== n; }, r.setState = function(e, n, a) { var i = this; i.$_timer || (i.$_state = {}), clearTimeout(i.$_timer), i.$_timer = 0, i.$_state = Zt(Zt({}, i.$_state), e), a ? i.$_setState(n, a) : i.$_timer = window.setTimeout(function() { i.$_timer = 0, i.$_setState(n, a); }); }, r.forceUpdate = function(e) { this.setState({}, e, !0); }, r.componentDidMount = function() { }, r.componentDidUpdate = function(e, n) { }, r.componentWillUnmount = function() { }, r.$_setState = function(e, n) { var a = [], i = this.$_p, o = he(i.c, [i], [i.o], a, i._cs, Zt(Zt({}, this.state), this.$_state), n); o && (e && a.push(e), co(a), da(null)); }, t; }(), po = /* @__PURE__ */ function(t) { pe(r, t); function r() { return t !== null && t.apply(this, arguments) || this; } var e = r.prototype; return e.shouldComponentUpdate = function(n, a) { return We(this.props, n) || We(this.state, a); }, r; }(pa); function ho(t) { var r = function(e) { r.current = e; }; return r.current = t, r; } function Gu(t) { return t._fr = !0, t; } function Bu(t, r, e, n) { var a, i; return !((a = t == null ? void 0 : t.prototype) === null || a === void 0) && a.render ? i = new t(r, e) : (i = new pa(r, e), i.constructor = t, t._fr ? (n.fr = ho(), i.render = function() { return this.constructor(this.props, n.fr); }) : i.render = Pu), i.$_p = n, i; } var Au = /* @__PURE__ */ function(t) { pe(r, t); function r(n, a, i, o, s, u, f) { f === void 0 && (f = {}); var l = t.call(this, n, a, i, o, s, u, gn(f, n.defaultProps)) || this; return l.typ = "comp", l._usefs = [], l._uefs = [], l._defs = [], l; } var e = r.prototype; return e.s = function(n, a) { var i = this.b; return i.shouldComponentUpdate(gn(n, this.t.defaultProps), a || i.state) !== !1; }, e.r = function(n, a, i) { var o, s, u = this, f = u.t; u.ps = gn(u.ps, u.t.defaultProps); var l = u.ps, v = !u.b, c = f.contextType, d = u.b, p = c == null ? void 0 : c.get(u); u._cs = a, v ? (d = Bu(f, l, p, u), u.b = d) : (d.props = l, d.context = p); var h = d.state; u._usefs = [], u._uefs = []; var g = d.render(); ((s = (o = g == null ? void 0 : g.props) === null || o === void 0 ? void 0 : o.children) === null || s === void 0 ? void 0 : s.length) === 0 && (g.props.children = u.ps.children); var m = Zt(Zt({}, a), d.$_cs); he(u, u._ps, g ? [g] : [], n, m), v ? u._uefs.push(function() { c == null || c.register(u), d.componentDidMount(); }) : u._uefs.push(function() { d.componentDidUpdate(i, h); }), n.push(function() { u._usefs.forEach(function(S) { S(); }), v ? u.md() : u.ud(), u._defs = u._uefs.map(function(S) { return S(); }); }); }, e.ss = function(n) { var a = this.b; !a || !n || (a.state = n); }, e.un = function() { var n, a = this; a._ps.forEach(function(o) { o.un(); }); var i = a.t; (n = i.contextType) === null || n === void 0 || n.unregister(a), clearTimeout(a.b.$_timer), a._defs.forEach(function(o) { o && o(); }), a.b.componentWillUnmount(); }, r; }(tn); function ku(t, r, e) { var n = ha(ei(t), ei(r)), a = n.added, i = n.removed, o = n.changed; for (var s in a) e.setAttribute(s, a[s]); for (var u in o) e.setAttribute(u, o[u][1]); for (var f in i) e.removeAttribute(f); } function Fu(t, r, e) { var n = ha(t, r), a = n.added, i = n.removed; for (var o in i) e.e(o, !0); for (var s in a) e.e(s); } function ha(t, r) { var e = ir(t), n = ir(r), a = de(e, n, function(u) { return u; }), i = {}, o = {}, s = {}; return a.added.forEach(function(u) { var f = n[u]; i[f] = r[f]; }), a.removed.forEach(function(u) { var f = e[u]; o[f] = t[f]; }), a.maintained.forEach(function(u) { var f = u[0], l = e[f], v = [t[l], r[l]]; t[l] !== r[l] && (s[l] = v); }), { added: i, removed: o, changed: s }; } function Nu(t, r, e) { var n = e.style, a = ha(t, r), i = a.added, o = a.removed, s = a.changed; for (var u in i) { var f = Ae(u, "-"); n.setProperty(f, i[u]); } for (var u in s) { var l = Ae(u, "-"); n.setProperty(l, s[u][1]); } for (var u in o) { var v = Ae(u, "-"); n.removeProperty(v); } } function Hu(t) { return t.replace(/^on/g, "").toLowerCase(); } var Wu = /* @__PURE__ */ function(t) { pe(r, t); function r() { var n = t !== null && t.apply(this, arguments) || this; return n.typ = "elem", n._es = {}, n._svg = !1, n; } var e = r.prototype; return e.e = function(n, a) { var i = this, o = i._es, s = i.b, u = Hu(n); a ? (Dt(s, u, o[n]), delete o[n]) : (o[n] = function(f) { var l, v; (v = (l = i.ps)[n]) === null || v === void 0 || v.call(l, f); }, Tt(s, u, o[n])); }, e.s = function(n) { return We(this.ps, n); }, e.r = function(n, a, i) { var o, s = this, u = !s.b, f = s.ps; if (u) { var l = Qe(s.c), v = !1; s._svg || s.t === "svg" ? v = !0 : v = l && l.ownerSVGElement, s._svg = v; var c = (o = s._hyd) === null || o === void 0 ? void 0 : o.splice(0, 1)[0], d = s.t; if (c) s._hyd = [].slice.call(c.children || []); else { var p = Xr(l); v ? c = p.createElementNS("http://www.w3.org/2000/svg", d) : c = p.createElement(d); } s.b = c; } he(s, s._ps, f.children, n, a); var h = s.b, g = ni(i), m = g[0], S = g[1], x = ni(f), _ = x[0], y = x[1]; return ku(m, _, h), Fu(S, y, s), Nu(i.style || {}, f.style || {}, h), n.push(function() { u ? s.md() : s.ud(); }), !0; }, e.un = function() { var n = this, a = n._es, i = n.b; for (var o in a) Dt(i, o, a[o]); n._ps.forEach(function(s) { s.un(); }), n._es = {}, n._sel || lo(i); }, r; }(tn); function se(t) { if (!t || Vr(t)) return t; var r = t.$_p._ps; return r.length ? se(r[0].b) : null; } function go(t) { if (t) { if (t.b && Vr(t.b)) return t; var r = t._ps; return r.length ? go(r[0]) : null; } } function jt(t, r) { for (var e = [], n = 2; n < arguments.length; n++) e[n - 2] = arguments[n]; var a = r || {}, i = a.key, o = a.ref, s = uo(a, ["key", "ref"]); return { type: t, key: i, ref: o, props: Zt(Zt({}, s), { children: no(e).filter(function(u) { return u != null && u !== !1; }) }) }; } var mo = /* @__PURE__ */ function(t) { pe(r, t); function r(n, a) { a === void 0 && (a = 0); var i = t.call(this, "container", a, "container", 0, null) || this; return i.typ = "container", i.b = n, i; } var e = r.prototype; return e.r = function() { return !0; }, e.un = function() { }, r; }(tn), Yu = /* @__PURE__ */ function(t) { pe(r, t); function r() { var n = t !== null && t.apply(this, arguments) || this; return n.typ = "text", n; } var e = r.prototype; return e.r = function(n) { var a, i = this, o = !i.b; if (o) { var s = Qe(i.c), u = (a = i._hyd) === null || a === void 0 ? void 0 : a.splice(0, 1)[0]; i.b = u || Xr(s).createTextNode(i.t.replace("text_", "")); } return n.push(function() { o ? i.md() : i.ud(); }), !0; }, e.un = function() { lo(this.b); }, r; }(tn); function Lu(t, r, e) { var n = e.map(function(u) { return Ft(u) ? null : u.key; }), a = ri(r.map(function(u) { return u.k; })), i = ri(n), o = de(a, i, function(u) { return u; }); o.removed.forEach(function(u) { r.splice(u, 1)[0].un(); }), o.ordered.forEach(function(u) { var f = u[0], l = u[1], v = r.splice(f, 1)[0]; r.splice(l, 0, v); var c = se(v.b), d = se(r[l + 1] && r[l + 1].b); c && c.parentNode.insertBefore(c, d); }), o.added.forEach(function(u) { r.splice(u, 0, ai(e[u], n[u], u, t)); }); var s = o.maintained.filter(function(u) { u[0]; var f = u[1], l = e[f], v = r[f], c = Ft(l) ? "text_".concat(l) : l.type; return c !== v.t ? (v.un(), r.splice(f, 1, ai(l, n[f], f, t)), !0) : (v.i = f, !1); }); return ti(ti([], o.added, !0), s.map(function(u) { u[0]; var f = u[1]; return f; }), !0); } function Xu(t, r) { for (var e = t._ps, n = e.length, a = r.i + 1; a < n; ++a) { var i = se(e[a].b); if (i) return i; } return null; } function ai(t, r, e, n) { var a = n.d + 1; if (Ft(t) || kr(t)) return new Yu("text_".concat(t), a, r, e, n, null, {}); var i = t.type, o = typeof i == "string" ? Wu : Au; return new o(i, a, r, e, n, t.ref, t.props); } function he(t, r, e, n, a, i, o) { var s = Lu(t, r, e), u = t._hyd, f = r.filter(function(v, c) { return v._hyd = u, v.u(n, a, e[c], i, o); }); t.typ === "container" && t._sel && r.forEach(function(v) { var c = go(v); c && (c._sel = !0); }), t._hyd = null; var l = Qe(t); return l && s.reverse().forEach(function(v) { var c = r[v], d = se(c.b); if (d && l !== d && !d.parentNode) { var p = Xu(t, c); l.insertBefore(d, p); } }), f.length > 0; } function Vu(t, r, e, n) { e === void 0 && (e = r.__CROACT__), n === void 0 && (n = {}); var a = !!e; e || (e = new mo(r)); var i = []; return he(e, e._ps, t ? [t] : [], i, n, void 0, void 0), co(i), da(null), a || (r.__CROACT__ = e), e; } function ii(t, r, e) { return !e && t && (e = new mo(r.parentElement), e._hyd = [r], e._sel = !0), Vu(t, r, e), e; } function So(t) { var r = vo(), e = r._hs || (r._hs = []), n = Iu(), a = e[n]; if (zu(n + 1), a) { if (!We(a.deps, t.deps)) return a.updated = !1, a; e[n] = t; } else e.push(t); return t.value = t.func(), t.updated = !0, t; } function qu(t, r) { var e = So({ func: t, deps: r }); return e.value; } function ju(t) { return qu(function() { return ho(t); }, []); } function xo(t, r, e) { var n = vo(), a = So({ func: function() { return t; }, deps: r }), i = e ? n._usefs : n._uefs; a.updated ? i.push(function() { return a.effect && a.effect(), a.effect = t(), a.effect; }) : i.push(function() { return a.effect; }); } function Uu(t, r, e) { xo(function() { t == null || t(r()); }, e, !0); } function ga(t, r) { for (var e = t.length, n = 0; n < e; ++n) if (r(t[n], n)) return !0; return !1; } function _o(t, r) { for (var e = t.length, n = 0; n < e; ++n) if (r(t[n], n)) return t[n]; return null; } function bo(t) { var r = t; if (typeof r > "u") { if (typeof navigator > "u" || !navigator) return ""; r = navigator.userAgent || ""; } return r.toLowerCase(); } function ma(t, r) { try { return new RegExp(t, "g").exec(r); } catch { return null; } } function $u() { if (typeof navigator > "u" || !navigator || !navigator.userAgentData) return !1; var t = navigator.userAgentData, r = t.brands || t.uaList; return !!(r && r.length); } function Ku(t, r) { var e = ma("(" + t + ")((?:\\/|\\s|:)([0-9|\\.|_]+))", r); return e ? e[3] : ""; } function An(t) { return t.replace(/_/g, "."); } function Kr(t, r) { var e = null, n = "-1"; return ga(t, function(a) { var i = ma("(" + a.test + ")((?:\\/|\\s|:)([0-9|\\.|_]+))?", r); return !i || a.brand ? !1 : (e = a, n = i[3] || "-1", a.versionAlias ? n = a.versionAlias : a.versionTest && (n = Ku(a.versionTest.toLowerCase(), r) || n), n = An(n), !0); }), { preset: e, version: n }; } function $r(t, r) { var e = { brand: "", version: "-1" }; return ga(t, function(n) { var a = yo(r, n); return a ? (e.brand = n.id, e.version = n.versionAlias || a.version, e.version !== "-1") : !1; }), e; } function yo(t, r) { return _o(t, function(e) { var n = e.brand; return ma("" + r.test, n.toLowerCase()); }); } var kn = [{ test: "phantomjs", id: "phantomjs" }, { test: "whale", id: "whale" }, { test: "edgios|edge|edg", id: "edge" }, { test: "msie|trident|windows phone", id: "ie", versionTest: "iemobile|msie|rv" }, { test: "miuibrowser", id: "miui browser" }, { test: "samsungbrowser", id: "samsung internet" }, { test: "samsung", id: "samsung internet", versionTest: "version" }, { test: "chrome|crios", id: "chrome" }, { test: "firefox|fxios", id: "firefox" }, { test: "android", id: "android browser", versionTest: "version" }, { test: "safari|iphone|ipad|ipod", id: "safari", versionTest: "version" }], Eo = [{ test: "(?=.*applewebkit/(53[0-7]|5[0-2]|[0-4]))(?=.*\\schrome)", id: "chrome", versionTest: "chrome" }, { test: "chromium", id: "chrome" }, { test: "whale", id: "chrome", versionAlias: "-1", brand: !0 }], Fn = [{ test: "applewebkit", id: "webkit", versionTest: "applewebkit|safari" }], Do = [{ test: "(?=(iphone|ipad))(?!(.*version))", id: "webview" }, { test: "(?=(android|iphone|ipad))(?=.*(naver|daum|; wv))", id: "webview" }, { // test webview test: "webview", id: "webview" }], Co = [{ test: "windows phone", id: "windows phone" }, { test: "windows 2000", id: "window", versionAlias: "5.0" }, { test: "windows nt", id: "window" }, { test: "win32|windows", id: "window" }, { test: "iphone|ipad|ipod", id: "ios", versionTest: "iphone os|cpu os" }, { test: "macos|macintel|mac os x", id: "mac" }, { test: "android|linux armv81", id: "android" }, { test: "tizen", id: "tizen" }, { test: "webos|web0s", id: "webos" }]; function Mo(t) { return !!Kr(Do, t).preset; } function Zu(t) { var r = bo(t), e = !!/mobi/g.exec(r), n = { name: "unknown", version: "-1", majorVersion: -1, webview: Mo(r), chromium: !1, chromiumVersion: "-1", webkit: !1, webkitVersion: "-1" }, a = { name: "unknown", version: "-1", majorVersion: -1 }, i = Kr(kn, r), o = i.preset, s = i.version, u = Kr(Co, r), f = u.preset, l = u.version, v = Kr(Eo, r); if (n.chromium = !!v.preset, n.chromiumVersion = v.version, !n.chromium) { var c = Kr(Fn, r); n.webkit = !!c.preset, n.webkitVersion = c.version; } return f && (a.name = f.id, a.version = l, a.majorVersion = parseInt(l, 10)), o && (n.name = o.id, n.version = s, n.webview && a.name === "ios" && n.name !== "safari" && (n.webview = !1)), n.majorVersion = parseInt(n.version, 10), { browser: n, os: a, isMobile: e, isHints: !1 }; } function Ju(t) { var r = navigator.userAgentData, e = (r.uaList || r.brands).slice(), n = t && t.fullVersionList, a = r.mobile || !1, i = e[0], o = (t && t.platform || r.platform || navigator.platform).toLowerCase(), s = { name: i.brand, version: i.version, majorVersion: -1, webkit: !1, webkitVersion: "-1", chromium: !1, chromiumVersion: "-1", webview: !!$r(Do, e).brand || Mo(bo()) }, u = { name: "unknown", version: "-1", majorVersion: -1 }; s.webkit = !s.chromium && ga(Fn, function(p) { return yo(e, p); }); var f = $r(Eo, e); if (s.chromium = !!f.brand, s.chromiumVersion = f.version, !s.chromium) { var l = $r(Fn, e); s.webkit = !!l.brand, s.webkitVersion = l.version; } var v = _o(Co, function(p) { return new RegExp("" + p.test, "g").exec(o); }); if (u.name = v ? v.id : "", t && (u.version = t.platformVersion), n && n.length) { var c = $r(kn, n); s.name = c.brand || s.name, s.version = c.version || s.version; } else { var d = $r(kn, e); s.name = d.brand || s.name, s.version = d.brand && t ? t.uaFullVersion : d.version; } return s.webkit && (u.name = a ? "ios" : "mac"), u.name === "ios" && s.webview && (s.version = "-1"), u.version = An(u.version), s.version = An(s.version), u.majorVersion = parseInt(u.version, 10), s.majorVersion = parseInt(s.version, 10), { browser: s, os: u, isMobile: a, isHints: !0 }; } function Qu(t) { return typeof t > "u" && $u() ? Ju() : Zu(t); } function tf(t, r, e, n, a, i) { for (var o = 0; o < a; ++o) { var s = e + o * a, u = n + o * a; t[s] += t[u] * i, r[s] += r[u] * i; } } function rf(t, r, e, n, a) { for (var i = 0; i < a; ++i) { var o = e + i * a, s = n + i * a, u = t[o], f = r[o]; t[o] = t[s], t[s] = u, r[o] = r[s], r[s] = f; } } function ef(t, r, e, n, a) { for (var i = 0; i < n; ++i) { var o = e + i * n; t[o] /= a, r[o] /= a; } } function wo(t, r, e) { e === void 0 && (e = Math.sqrt(t.length)); for (var n = t.slice(), a = 0; a < e; ++a) n[a * e + r - 1] = 0, n[(r - 1) * e + a] = 0; return n[(r - 1) * (e + 1)] = 1, n; } function Qt(t, r) { r === void 0 && (r = Math.sqrt(t.length)); for (var e = t.slice(), n = gt(r), a = 0; a < r; ++a) { var i = r * a + a; if (!tt(e[i], bt)) { for (var o = a + 1; o < r; ++o) if (e[r * a + o]) { rf(e, n, a, o, r); break; } } if (!tt(e[i], bt)) return []; ef(e, n, a, r, e[i]); for (var o = 0; o < r; ++o) { var s = o, u = o + a * r, f = e[u]; !tt(f, bt) || a === o || tf(e, n, s, a, r, -f); } } return n; } function nf(t, r) { r === void 0 && (r = Math.sqrt(t.length)); for (var e = [], n = 0; n < r; ++n) for (var a = 0; a < r; ++a) e[a * r + n] = t[r * n + a]; return e; } function To(t, r) { r === void 0 && (r = Math.sqrt(t.length)); for (var e = [], n = t[r * r - 1], a = 0; a < r - 1; ++a) e[a] = t[r * (r - 1) + a] / n; return e[r - 1] = 0, e; } function af(t, r) { for (var e = gt(r), n = 0; n < r - 1; ++n) e[r * (r - 1) + n] = t[n] || 0; return e; } function yr(t, r) { for (var e = t.slice(), n = t.length; n < r - 1; ++n) e[n] = 0; return e[r - 1] = 1, e; } function Kt(t, r, e) { if (r === void 0 && (r = Math.sqrt(t.length)), r === e) return t; for (var n = gt(e), a = Math.min(r, e), i = 0; i < a - 1; ++i) { for (var o = 0; o < a - 1; ++o) n[i * e + o] = t[i * r + o]; n[(i + 1) * e - 1] = t[(i + 1) * r - 1], n[(e - 1) * e + i] = t[(r - 1) * r + i]; } return n[e * e - 1] = t[r * r - 1], n; } function Ye(t) { for (var r = [], e = 1; e < arguments.length; e++) r[e - 1] = arguments[e]; var n = gt(t); return r.forEach(function(a) { n = dt(n, a, t); }), n; } function dt(t, r, e) { e === void 0 && (e = Math.sqrt(t.length)); var n = [], a = t.length / e, i = r.length / a; if (a) { if (!i) return t; } else return r; for (var o = 0; o < e; ++o) for (var s = 0; s < i; ++s) { n[s * e + o] = 0; for (var u = 0; u < a; ++u) n[s * e + o] += t[u * e + o] * r[s * a + u]; } return n; } function ut(t, r) { for (var e = Math.min(t.length, r.length), n = t.slice(), a = 0; a < e; ++a) n[a] = n[a] + r[a]; return n; } function Q(t, r) { for (var e = Math.min(t.length, r.length), n = t.slice(), a = 0; a < e; ++a) n[a] = n[a] - r[a]; return n; } function of(t, r) { return r === void 0 && (r = t.length === 6), r ? [t[0], t[1], 0, t[2], t[3], 0, t[4], t[5], 1] : t; } function Oo(t, r) { return r === void 0 && (r = t.length === 9), r ? [t[0], t[1], t[3], t[4], t[6], t[7]] : t; } function Rt(t, r, e) { e === void 0 && (e = r.length); var n = dt(t, r, e), a = n[e - 1]; return n.map(function(i) { return i / a; }); } function sf(t, r) { return dt(t, [1, 0, 0, 0, 0, Math.cos(r), Math.sin(r), 0, 0, -Math.sin(r), Math.cos(r), 0, 0, 0, 0, 1], 4); } function uf(t, r) { return dt(t, [Math.cos(r), 0, -Math.sin(r), 0, 0, 1, 0, 0, Math.sin(r), 0, Math.cos(r), 0, 0, 0, 0, 1], 4); } function ff(t, r) { return dt(t, me(r, 4)); } function De(t, r) { var e = r[0], n = e === void 0 ? 1 : e, a = r[1], i = a === void 0 ? 1 : a, o = r[2], s = o === void 0 ? 1 : o; return dt(t, [n, 0, 0, 0, 0, i, 0, 0, 0, 0, s, 0, 0, 0, 0, 1], 4); } function ge(t, r) { return Rt(me(r, 3), yr(t, 3)); } function mn(t, r) { var e = r[0], n = e === void 0 ? 0 : e, a = r[1], i = a === void 0 ? 0 : a, o = r[2], s = o === void 0 ? 0 : o; return dt(t, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, n, i, s, 1], 4); } function oi(t, r) { return dt(t, r, 4); } function me(t, r) { var e = Math.cos(t), n = Math.sin(t), a = gt(r); return a[0] = e, a[1] = n, a[r] = -n, a[r + 1] = e, a; } function gt(t) { for (var r = t * t, e = [], n = 0; n < r; ++n) e[n] = n % (t + 1) ? 0 : 1; return e; } function Sa(t, r) { for (var e = gt(r), n = Math.min(t.length, r - 1), a = 0; a < n; ++a) e[(r + 1) * a] = t[a]; return e; } function Er(t, r) { for (var e = gt(r), n = Math.min(t.length, r - 1), a = 0; a < n; ++a) e[r * (r - 1) + a] = t[a]; return e; } function xa(t, r, e, n, a, i, o, s) { var u = t[0], f = t[1], l = r[0], v = r[1], c = e[0], d = e[1], p = n[0], h = n[1], g = a[0], m = a[1], S = i[0], x = i[1], _ = o[0], y = o[1], b = s[0], D = s[1], E = [u, 0, l, 0, c, 0, p, 0, f, 0, v, 0, d, 0, h, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, u, 0, l, 0, c, 0, p, 0, f, 0, v, 0, d, 0, h, 0, 1, 0, 1, 0, 1, 0, 1, -g * u, -m * u, -S * l, -x * l, -_ * c, -y * c, -b * p, -D * p, -g * f, -m * f, -S * v, -x * v, -_ * d, -y * d, -b * h, -D * h], C = Qt(E, 8); if (!C.length) return []; var w = dt(C, [g, m, S, x, _, y, b, D], 8); return w[8] = 1, Kt(nf(w), 3, 4); } var te = function() { return te = Object.assign || function(r) { for (var e, n = 1, a = arguments.length; n < a; n++) { e = arguments[n]; for (var i in e) Object.prototype.hasOwnProperty.call(e, i) && (r[i] = e[i]); } return r; }, te.apply(this, arguments); }; function lf() { return [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 ]; } function ue(t, r) { return r === void 0 && (r = 0), Rr(Fr(t, r)); } function cf(t, r) { var e = Rt(t, [r[0], r[1] || 0, r[2] || 0, 1], 4), n = e[3] || 1; return [ e[0] / n, e[1] / n, e[2] / n ]; } function Rr(t) { var r = lf(); return t.forEach(function(e) { var n = e.matrixFunction, a = e.functionValue; n && (r = n(r, a)); }), r; } function Fr(t, r) { r === void 0 && (r = 0); var e = yt(t) ? t : vr(t); return e.map(function(n) { var a = Qi(n), i = a.prefix, o = a.value, s = null, u = i, f = ""; if (i === "translate" || i === "translateX" || i === "translate3d") { var l = $t(r) ? te(te({}, r), { "o%": r["%"] }) : { "%": r, "o%": r }, v = br(o).map(function(O, I) { return I === 0 && "x%" in l ? l["%"] = r["x%"] : I === 1 && "y%" in l ? l["%"] = r["y%"] : l["%"] = r["o%"], vt(O, l); }), c = v[0], d = v[1], p = d === void 0 ? 0 : d, h = v[2], g = h === void 0 ? 0 : h; s = mn, f = [c, p, g]; } else if (i === "translateY") { var m = $t(r) ? te({ "%": r["y%"] }, r) : { "%": r }, p = vt(o, m); s = mn, f = [0, p, 0]; } else if (i === "translateZ") { var g = parseFloat(o); s = mn, f = [0, 0, g]; } else if (i === "scale" || i === "scale3d") { var S = br(o).map(function(O) { return parseFloat(O); }), x = S[0], _ = S[1], y = _ === void 0 ? x : _, b = S[2], D = b === void 0 ? 1 : b; s = De, f = [x, y, D]; } else if (i === "scaleX") { var x = parseFloat(o); s = De, f = [x, 1, 1]; } else if (i === "scaleY") { var y = parseFloat(o); s = De, f = [1, y, 1]; } else if (i === "scaleZ") { var D = parseFloat(o); s = De, f = [1, 1, D]; } else if (i === "rotate" || i === "rotateZ" || i === "rotateX" || i === "rotateY") { var E = ve(o), C = E.unit, w = E.value, P = C === "rad" ? w : w * Math.PI / 180; i === "rotate" || i === "rotateZ" ? (u = "rotateZ", s = ff) : i === "rotateX" ? s = sf : i === "rotateY" && (s = uf), f = P; } else if (i === "matrix3d") s = oi, f = br(o).map(function(O) { return parseFloat(O); }); else if (i === "matrix") { var R = br(o).map(function(O) { return parseFloat(O); }); s = oi, f = [ R[0], R[1], 0, 0, R[2], R[3], 0, 0, 0, 0, 1, 0, R[4], R[5], 0, 1 ]; } else u = ""; return { name: i, functionName: u, value: o, matrixFunction: s, functionValue: f }; }); } /*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT. See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ var Nn = function(t, r) { return Nn = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(e, n) { e.__proto__ = n; } || function(e, n) { for (var a in n) n.hasOwnProperty(a) && (e[a] = n[a]); }, Nn(t, r); }; function vf(t, r) { Nn(t, r); function e() { this.constructor = t; } t.prototype = r === null ? Object.create(r) : (e.prototype = r.prototype, new e()); } var Ro = typeof Map == "function" ? void 0 : function() { var t = 0; return function(r) { return r.__DIFF_KEY__ || (r.__DIFF_KEY__ = ++t); }; }(), Po = /* @__PURE__ */ function(t) { vf(r, t); function r(e) { return e === void 0 && (e = []), t.call(this, e, Ro) || this; } return r; }(Ru); function df(t, r) { return de(t, r, Ro); } /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ var Hn = function() { return Hn = Object.assign || function(r) { for (var e, n = 1, a = arguments.length; n < a; n++) { e = arguments[n]; for (var i in e) Object.prototype.hasOwnProperty.call(e, i) && (r[i] = e[i]); } return r; }, Hn.apply(this, arguments); }; function pf() { for (var t = 0, r = 0, e = arguments.length; r < e; r++) t += arguments[r].length; for (var n = Array(t), a = 0, r = 0; r < e; r++) for (var i = arguments[r], o = 0, s = i.length; o < s; o++, a++) n[a] = i[o]; return n; } var hf = /* @__PURE__ */ function() { function t() { this._events = {}; } var r = t.prototype; return r.on = function(e, n) { if ($t(e)) for (var a in e) this.on(a, e[a]); else this._addEvent(e, n, {}); return this; }, r.off = function(e, n) { if (!e) this._events = {}; else if ($t(e)) for (var a in e) this.off(a); else if (!n) this._events[e] = []; else { var i = this._events[e]; if (i) { var o = ar(i, function(s) { return s.listener === n; }); o > -1 && i.splice(o, 1); } } return this; }, r.once = function(e, n) { var a = this; return n && this._addEvent(e, n, { once: !0 }), new Promise(function(i) { a._addEvent(e, i, { once: !0 }); }); }, r.emit = function(e, n) { var a = this; n === void 0 && (n = {}); var i = this._events[e]; if (!e || !i) return !0; var o = !1; return n.eventType = e, n.stop = function() { o = !0; }, n.currentTarget = this, pf(i).forEach(function(s) { s.listener(n), s.once && a.off(e, s.listener); }), !o; }, r.trigger = function(e, n) { return n === void 0 && (n = {}), this.emit(e, n); }, r._addEvent = function(e, n, a) { var i = this._events; i[e] = i[e] || []; var o = i[e]; o.push(Hn({ listener: n }, a)); }, t; }(); const rn = hf; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ var Wn = function(t, r) { return Wn = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(e, n) { e.__proto__ = n; } || function(e, n) { for (var a in n) n.hasOwnProperty(a) && (e[a] = n[a]); }, Wn(t, r); }; function gf(t, r) { Wn(t, r); function e() { this.constructor = t; } t.prototype = r === null ? Object.create(r) : (e.prototype = r.prototype, new e()); } var Pr = function() { return Pr = Object.assign || function(r) { for (var e, n = 1, a = arguments.length; n < a; n++) { e = arguments[n]; for (var i in e) Object.prototype.hasOwnProperty.call(e, i) && (r[i] = e[i]); } return r; }, Pr.apply(this, arguments); }; function mf(t) { var r = t.container; return r === document.body ? [r.scrollLeft || document.documentElement.scrollLeft, r.scrollTop || document.documentElement.scrollTop] : [r.scrollLeft, r.scrollTop]; } function si(t, r) { return t.addEventListener("scroll", r), function() { t.removeEventListener("scroll", r); }; } function Ce(t) { if (t) { if (Ft(t)) return document.querySelector(t); } else return null; if (ua(t)) return t(); if (t instanceof Element) return t; if ("current" in t) return t.current; if ("value" in t) return t.value; } var Sf = /* @__PURE__ */ function(t) { gf(r, t); function r() { var n = t !== null && t.apply(this, arguments) || this; return n._startRect = null, n._startPos = [], n._prevTime = 0, n._timer = 0, n._prevScrollPos = [0, 0], n._isWait = !1, n._flag = !1, n._currentOptions = null, n._lock = !1, n._unregister = null, n._onScroll = function() { var a = n._currentOptions; n._lock || !a || n.emit("scrollDrag", { next: function(i) { n.checkScroll({ container: a.container, inputEvent: i }); } }); }, n; } var e = r.prototype; return e.dragStart = function(n, a) { var i = Ce(a.container); if (!i) { this._flag = !1; return; } var o = 0, s = 0, u = 0, f = 0; if (i === document.body) u = window.innerWidth, f = window.innerHeight; else { var l = i.getBoundingClientRect(); o = l.top, s = l.left, u = l.width, f = l.height; } this._flag = !0, this._startPos = [n.clientX, n.clientY], this._startRect = { top: o, left: s, width: u, height: f }, this._prevScrollPos = this._getScrollPosition([0, 0], a), this._currentOptions = a, this._registerScrollEvent(a); }, e.drag = function(n, a) { if (clearTimeout(this._timer), !!this._flag) { var i = n.clientX, o = n.clientY, s = a.threshold, u = s === void 0 ? 0 : s, f = this, l = f._startRect, v = f._startPos; this._currentOptions = a; var c = [0, 0]; return l.top > o - u ? (v[1] > l.top || o < v[1]) && (c[1] = -1) : l.top + l.height < o + u && (v[1] < l.top + l.height || o > v[1]) && (c[1] = 1), l.left > i - u ? (v[0] > l.left || i < v[0]) && (c[0] = -1) : l.left + l.width < i + u && (v[0] < l.left + l.width || i > v[0]) && (c[0] = 1), !c[0] && !c[1] ? !1 : this._continueDrag(Pr(Pr({}, a), { direction: c, inputEvent: n, isDrag: !0 })); } }, e.checkScroll = function(n) { var a = this; if (this._isWait) return !1; var i = n.prevScrollPos, o = i === void 0 ? this._prevScrollPos : i, s = n.direction, u = n.throttleTime, f = u === void 0 ? 0 : u, l = n.inputEvent, v = n.isDrag, c = this._getScrollPosition(s || [0, 0], n), d = c[0] - o[0], p = c[1] - o[1], h = s || [d ? Math.abs(d) / d : 0, p ? Math.abs(p) / p : 0]; return this._prevScrollPos = c, this._lock = !1, !d && !p ? !1 : (this.emit("move", { offsetX: h[0] ? d : 0, offsetY: h[1] ? p : 0, inputEvent: l }), f && v && (clearTimeout(this._timer), this._timer = window.setTimeout(function() { a._continueDrag(n); }, f)), !0); }, e.dragEnd = function() { this._flag = !1, this._lock = !1, clearTimeout(this._timer), this._unregisterScrollEvent(); }, e._getScrollPosition = function(n, a) { var i = a.container, o = a.getScrollPosition, s = o === void 0 ? mf : o; return s({ container: Ce(i), direction: n }); }, e._continueDrag = function(n) { var a = this, i, o = n.container, s = n.direction, u = n.throttleTime, f = n.useScroll, l = n.isDrag, v = n.inputEvent; if (!(!this._flag || l && this._isWait)) { var c = oe(), d = Math.max(u + this._prevTime - c, 0); if (d > 0) return clearTimeout(this._timer), this._timer = window.setTimeout(function() { a._continueDrag(n); }, d), !1; this._prevTime = c; var p = this._getScrollPosition(s, n); this._prevScrollPos = p, l && (this._isWait = !0), f || (this._lock = !0); var h = { container: Ce(o), direction: s, inputEvent: v }; return (i = n.requestScroll) === null || i === void 0 || i.call(n, h), this.emit("scroll", h), this._isWait = !1, f || this.checkScroll(Pr(Pr({}, n), { prevScrollPos: p, direction: s, inputEvent: v })); } }, e._registerScrollEvent = function(n) { this._unregisterScrollEvent(); var a = n.checkScrollEvent; if (a) { var i = a === !0 ? si : a, o = Ce(n.container); a === !0 && (o === document.body || o === document.documentElement) ? this._unregister = si(window, this._onScroll) : this._unregister = i(o, this._onScroll); } }, e._unregisterScrollEvent = function() { var n; (n = this._unregister) === null || n === void 0 || n.call(this), this._unregister = null; }, r; }(rn); const xf = Sf; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ function _f() { for (var t = 0, r = 0, e = arguments.length; r < e; r++) t += arguments[r].length; for (var n = Array(t), a = 0, r = 0; r < e; r++) for (var i = arguments[r], o = 0, s = i.length; o < s; o++, a++) n[a] = i[o]; return n; } function kt(t) { return tt(t, bt); } function bf(t, r) { return t.every(function(e, n) { return kt(e - r[n]) === 0; }); } function yf(t, r) { return !kt(t[0] - r[0]) && !kt(t[1] - r[1]); } function Io(t) { return t.length < 3 ? 0 : Math.abs(bu(t.map(function(r, e) { var n = t[e + 1] || t[0]; return r[0] * n[1] - n[0] * r[1]; }))) / 2; } function ui(t, r) { var e = r.width, n = r.height, a = r.left, i = r.top, o = Dr(t), s = o.minX, u = o.minY, f = o.maxX, l = o.maxY, v = e / (f - s), c = n / (l - u); return t.map(function(d) { return [a + (d[0] - s) * v, i + (d[1] - u) * c]; }); } function Dr(t) { var r = t.map(function(n) { return n[0]; }), e = t.map(function(n) { return n[1]; }); return { minX: Math.min.apply(Math, r), minY: Math.min.apply(Math, e), maxX: Math.max.apply(Math, r), maxY: Math.max.apply(Math, e) }; } function Yn(t, r, e) { var n = t[0], a = t[1], i = Dr(r), o = i.minX, s = i.maxX, u = [[o, a], [s, a]], f = Le(u[0], u[1]), l = Ln(r), v = []; if (l.forEach(function(p) { var h = Le(p[0], p[1]), g = p[0]; if (bf(f, h)) v.push({ pos: t, line: p, type: "line" }); else { var m = zo(_a(f, h), [u, p]); m.forEach(function(S) { p.some(function(x) { return yf(x, S); }) ? v.push({ pos: S, line: p, type: "point" }) : kt(g[1] - a) !== 0 && v.push({ pos: S, line: p, type: "intersection" }); }); } }), !e && Nt(v, function(p) { return p[0] === n; })) return !0; var c = 0, d = {}; return v.forEach(function(p) { var h = p.pos, g = p.type, m = p.line; if (!(h[0] > n)) if (g === "intersection") ++c; else { if (g === "line") return; if (g === "point") { var S = Nt(m, function(y) { return y[1] !== a; }), x = d[h[0]], _ = S[1] > a ? 1 : -1; x ? x !== _ && ++c : d[h[0]] = _; } } }), c % 2 === 1; } function Le(t, r) { var e = t[0], n = t[1], a = r[0], i = r[1], o = a - e, s = i - n; Math.abs(o) < bt && (o = 0), Math.abs(s) < bt && (s = 0); var u = 0, f = 0, l = 0; return o ? s ? (u = -s / o, f = 1, l = -u * e - n) : (f = 1, l = -n) : s && (u = -1, l = e), [u, f, l]; } function _a(t, r) { var e = t[0], n = t[1], a = t[2], i = r[0], o = r[1], s = r[2], u = e === 0 && i === 0, f = n === 0 && o === 0, l = []; if (u && f) return []; if (u) { var v = -a / n, c = -s / o; return v !== c ? [] : [[-1 / 0, v], [1 / 0, v]]; } else if (f) { var d = -a / e, p = -s / i; return d !== p ? [] : [[d, -1 / 0], [d, 1 / 0]]; } else if (e === 0) { var h = -a / n, g = -(o * h + s) / i; l = [[g, h]]; } else if (i === 0) { var h = -s / o, g = -(n * h + a) / e; l = [[g, h]]; } else if (n === 0) { var g = -a / e, h = -(i * g + s) / o; l = [[g, h]]; } else if (o === 0) { var g = -s / i, h = -(e * g + a) / n; l = [[g, h]]; } else { var g = (n * s - o * a) / (o * e - n * i), h = -(e * g + a) / n; l = [[g, h]]; } return l.map(function(m) { return [m[0], m[1]]; }); } function zo(t, r) { var e = r.map(function(v) { return [0, 1].map(function(c) { return [Math.min(v[0][c], v[1][c]), Math.max(v[0][c], v[1][c])]; }); }), n = []; if (t.length === 2) { var a = t[0], i = a[0], o = a[1]; if (kt(i - t[1][0])) { if (!kt(o - t[1][1])) { var f = Math.max.apply(Math, e.map(function(v) { return v[0][0]; })), l = Math.min.apply(Math, e.map(function(v) { return v[0][1]; })); if (kt(f - l) > 0) return []; n = [[f, o], [l, o]]; } } else { var s = Math.max.apply(Math, e.map(function(v) { return v[1][0]; })), u = Math.min.apply(Math, e.map(function(v) { return v[1][1]; })); if (kt(s - u) > 0) return []; n = [[i, s], [i, u]]; } } return n.length || (n = t.filter(function(v) { var c = v[0], d = v[1]; return e.every(function(p) { return 0 <= kt(c - p[0][0]) && 0 <= kt(p[0][1] - c) && 0 <= kt(d - p[1][0]) && 0 <= kt(p[1][1] - d); }); })), n.map(function(v) { return [kt(v[0]), kt(v[1])]; }); } function Ln(t) { return _f(t.slice(1), [t[0]]).map(function(r, e) { return [t[e], r]; }); } function Ef(t, r) { var e = t.slice(), n = r.slice(); Ja(e) === -1 && e.reverse(), Ja(n) === -1 && n.reverse(); var a = Ln(e), i = Ln(n), o = a.map(function(l) { return Le(l[0], l[1]); }), s = i.map(function(l) { return Le(l[0], l[1]); }), u = []; o.forEach(function(l, v) { var c = a[v], d = []; s.forEach(function(p, h) { var g = _a(l, p), m = zo(g, [c, i[h]]); d.push.apply(d, m.map(function(S) { return { index1: v, index2: h, pos: S, type: "intersection" }; })); }), d.sort(function(p, h) { return er(c[0], p.pos) - er(c[0], h.pos); }), u.push.apply(u, d), Yn(c[1], n) && u.push({ index1: v, index2: -1, pos: c[1], type: "inside" }); }), i.forEach(function(l, v) { if (Yn(l[1], e)) { var c = !1, d = ar(u, function(p) { var h = p.index2; return h === v ? (c = !0, !1) : !!c; }); d === -1 && (c = !1, d = ar(u, function(p) { var h = p.index1, g = p.index2; return h === -1 && g + 1 === v ? (c = !0, !1) : !!c; })), d === -1 ? u.push({ index1: -1, index2: v, pos: l[1], type: "inside" }) : u.splice(d, 0, { index1: -1, index2: v, pos: l[1], type: "inside" }); } }); var f = {}; return u.filter(function(l) { var v = l.pos, c = v[0] + "x" + v[1]; return f[c] ? !1 : (f[c] = !0, !0); }); } function Df(t, r) { var e = Ef(t, r); return e.map(function(n) { var a = n.pos; return a; }); } function Cf(t, r) { var e = Df(t, r); return Io(e); } /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ var Xn = function(t, r) { return Xn = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(e, n) { e.__proto__ = n; } || function(e, n) { for (var a in n) n.hasOwnProperty(a) && (e[a] = n[a]); }, Xn(t, r); }; function Mf(t, r) { Xn(t, r); function e() { this.constructor = t; } t.prototype = r === null ? Object.create(r) : (e.prototype = r.prototype, new e()); } var _t = function() { return _t = Object.assign || function(r) { for (var e, n = 1, a = arguments.length; n < a; n++) { e = arguments[n]; for (var i in e) Object.prototype.hasOwnProperty.call(e, i) && (r[i] = e[i]); } return r; }, _t.apply(this, arguments); }; function wf(t, r) { var e = r[0] - t[0], n = r[1] - t[1], a = Math.atan2(n, e); return a >= 0 ? a : a + Math.PI * 2; } function Sn(t) { return wf([ t[0].clientX, t[0].clientY ], [ t[1].clientX, t[1].clientY ]) / Math.PI * 180; } function Tf(t) { return t.touches && t.touches.length >= 2; } function Me(t) { return t ? t.touches ? Rf(t.touches) : [Go(t)] : []; } function Of(t) { return t && (t.type.indexOf("mouse") > -1 || "button" in t); } function fi(t, r, e) { var n = e.length, a = re(t, n), i = a.clientX, o = a.clientY, s = a.originalClientX, u = a.originalClientY, f = re(r, n), l = f.clientX, v = f.clientY, c = re(e, n), d = c.clientX, p = c.clientY, h = i - l, g = o - v, m = i - d, S = o - p; return { clientX: s, clientY: u, deltaX: h, deltaY: g, distX: m, distY: S }; } function xn(t) { return Math.sqrt(Math.pow(t[0].clientX - t[1].clientX, 2) + Math.pow(t[0].clientY - t[1].clientY, 2)); } function Rf(t) { for (var r = Math.min(t.length, 2), e = [], n = 0; n < r; ++n) e.push(Go(t[n])); return e; } function Go(t) { return { clientX: t.clientX, clientY: t.clientY }; } function re(t, r) { r === void 0 && (r = t.length); for (var e = { clientX: 0, clientY: 0, originalClientX: 0, originalClientY: 0 }, n = Math.min(t.length, r), a = 0; a < n; ++a) { var i = t[a]; e.originalClientX += "originalClientX" in i ? i.originalClientX : i.clientX, e.originalClientY += "originalClientY" in i ? i.originalClientY : i.clientY, e.clientX += i.clientX, e.clientY += i.clientY; } return r ? { clientX: e.clientX / r, clientY: e.clientY / r, originalClientX: e.originalClientX / r, originalClientY: e.originalClientY / r } : e; } var _n = /* @__PURE__ */ function() { function t(r) { this.prevClients = [], this.startClients = [], this.movement = 0, this.length = 0, this.startClients = r, this.prevClients = r, this.length = r.length; } return t.prototype.getAngle = function(r) { return r === void 0 && (r = this.prevClients), Sn(r); }, t.prototype.getRotation = function(r) { return r === void 0 && (r = this.prevClients), Sn(r) - Sn(this.startClients); }, t.prototype.getPosition = function(r, e) { r === void 0 && (r = this.prevClients); var n = fi(r || this.prevClients, this.prevClients, this.startClients), a = n.deltaX, i = n.deltaY; return this.movement += Math.sqrt(a * a + i * i), this.prevClients = r, n; }, t.prototype.getPositions = function(r) { r === void 0 && (r = this.prevClients); for (var e = this.prevClients, n = this.startClients, a = Math.min(this.length, e.length), i = [], o = 0; o < a; ++o) i[o] = fi([r[o]], [e[o]], [n[o]]); return i; }, t.prototype.getMovement = function(r) { var e = this.movement; if (!r) return e; var n = re(r, this.length), a = re(this.prevClients, this.length), i = n.clientX - a.clientX, o = n.clientY - a.clientY; return Math.sqrt(i * i + o * o) + e; }, t.prototype.getDistance = function(r) { return r === void 0 && (r = this.prevClients), xn(r); }, t.prototype.getScale = function(r) { return r === void 0 && (r = this.prevClients), xn(r) / xn(this.startClients); }, t.prototype.move = function(r, e) { this.startClients.forEach(function(n) { n.clientX -= r, n.clientY -= e; }), this.prevClients.forEach(function(n) { n.clientX -= r, n.clientY -= e; }); }, t; }(), li = ["textarea", "input"], Pf = /* @__PURE__ */ function(t) { Mf(r, t); function r(e, n) { n === void 0 && (n = {}); var a = t.call(this) || this; a.options = {}, a.flag = !1, a.pinchFlag = !1, a.data = {}, a.isDrag = !1, a.isPinch = !1, a.clientStores = [], a.targets = [], a.prevTime = 0, a.doubleFlag = !1, a._useMouse = !1, a._useTouch = !1, a._useDrag = !1, a._dragFlag = !1, a._isTrusted = !1, a._isMouseEvent = !1, a._isSecondaryButton = !1, a._preventMouseEvent = !1, a._prevInputEvent = null, a._isDragAPI = !1, a._isIdle = !0, a._preventMouseEventId = 0, a._window = window, a.onDragStart = function(c, d) { if (d === void 0 && (d = !0), !(!a.flag && c.cancelable === !1)) { var p = c.type.indexOf("drag") >= -1; if (!(a.flag && p)) { a._isDragAPI = !0; var h = a.options, g = h.container, m = h.pinchOutside, S = h.preventWheelClick, x = h.preventRightClick, _ = h.preventDefault, y = h.checkInput, b = h.dragFocusedInput, D = h.preventClickEventOnDragStart, E = h.preventClickEventOnDrag, C = h.preventClickEventByCondition, w = a._useTouch, P = !a.flag; if (a._isSecondaryButton = c.which === 3 || c.button === 2, S && (c.which === 2 || c.button === 1) || x && (c.which === 3 || c.button === 2)) return a.stop(), !1; if (P) { var R = a._window.document.activeElement, O = c.target; if (O) { var I = O.tagName.toLowerCase(), z = li.indexOf(I) > -1, k = O.isContentEditable; if (z || k) { if (y || !b && R === O) return !1; if (R && (R === O || k && R.isContentEditable && R.contains(O))) if (b) O.blur(); else return !1; } else if ((_ || c.type === "touchstart") && R) { var F = R.tagName.toLowerCase(); (R.isContentEditable || li.indexOf(F) > -1) && R.blur(); } (D || E || C) && Tt(a._window, "click", a._onClick, !0); } a.clientStores = [new _n(Me(c))], a._isIdle = !1, a.flag = !0, a.isDrag = !1, a._isTrusted = d, a._dragFlag = !0, a._prevInputEvent = c, a.data = {}, a.doubleFlag = oe() - a.prevTime < 200, a._isMouseEvent = Of(c), !a._isMouseEvent && a._preventMouseEvent && a._allowMouseEvent(); var A = a._preventMouseEvent || a.emit("dragStart", _t(_t({ data: a.data, datas: a.data, inputEvent: c, isMouseEvent: a._isMouseEvent, isSecondaryButton: a._isSecondaryButton, isTrusted: d, isDouble: a.doubleFlag }, a.getCurrentStore().getPosition()), { preventDefault: function() { c.preventDefault(); }, preventDrag: function() { a._dragFlag = !1; } })); A === !1 && a.stop(), a._isMouseEvent && a.flag && _ && c.preventDefault(); } if (!a.flag) return !1; var H = 0; if (P ? (a._attchDragEvent(), w && m && (H = setTimeout(function() { Tt(g, "touchstart", a.onDragStart, { passive: !1 }); }))) : w && m && Dt(g, "touchstart", a.onDragStart), a.flag && Tf(c)) { if (clearTimeout(H), P && c.touches.length !== c.changedTouches.length) return; a.pinchFlag || a.onPinchStart(c); } } } }, a.onDrag = function(c, d) { if (a.flag) { var p = a.options.preventDefault; !a._isMouseEvent && p && c.preventDefault(), a._prevInputEvent = c; var h = Me(c), g = a.moveClients(h, c, !1); if (a._dragFlag) { if (a.pinchFlag || g.deltaX || g.deltaY) { var m = a._preventMouseEvent || a.emit("drag", _t(_t({}, g), { isScroll: !!d, inputEvent: c })); if (m === !1) { a.stop(); return; } } a.pinchFlag && a.onPinch(c, h); } a.getCurrentStore().getPosition(h, !0); } }, a.onDragEnd = function(c) { if (a.flag) { var d = a.options, p = d.pinchOutside, h = d.container, g = d.preventClickEventOnDrag, m = d.preventClickEventOnDragStart, S = d.preventClickEventByCondition, x = a.isDrag; (g || m || S) && requestAnimationFrame(function() { a._allowClickEvent(); }), !S && !m && g && !x && a._allowClickEvent(), a._useTouch && p && Dt(h, "touchstart", a.onDragStart), a.pinchFlag && a.onPinchEnd(c); var _ = c != null && c.touches ? Me(c) : [], y = _.length; y === 0 || !a.options.keepDragging ? a.flag = !1 : a._addStore(new _n(_)); var b = a._getPosition(), D = oe(), E = !x && a.doubleFlag; a._prevInputEvent = null, a.prevTime = x || E ? 0 : D, a.flag || (a._dettachDragEvent(), a._preventMouseEvent || a.emit("dragEnd", _t({ data: a.data, datas: a.data, isDouble: E, isDrag: x, isClick: !x, isMouseEvent: a._isMouseEvent, isSecondaryButton: a._isSecondaryButton, inputEvent: c, isTrusted: a._isTrusted }, b)), a.clientStores = [], a._isMouseEvent || (a._preventMouseEvent = !0, clearTimeout(a._preventMouseEventId), a._preventMouseEventId = setTimeout(function() { a._preventMouseEvent = !1; }, 200)), a._isIdle = !0); } }, a.onBlur = function() { a.onDragEnd(); }, a._allowClickEvent = function() { Dt(a._window, "click", a._onClick, !0); }, a._onClick = function(c) { a._allowClickEvent(), a._allowMouseEvent(); var d = a.options.preventClickEventByCondition; d != null && d(c) || (c.stopPropagation(), c.preventDefault()); }, a._onContextMenu = function(c) { var d = a.options; d.preventRightClick ? a.onDragEnd(c) : c.preventDefault(); }, a._passCallback = function() { }; var i = [].concat(e), o = i[0]; a._window = so(o) ? o : cr(o), a.options = _t({ checkInput: !1, container: o && !("document" in o) ? cr(o) : o, preventRightClick: !0, preventWheelClick: !0, preventClickEventOnDragStart: !1, preventClickEventOnDrag: !1, preventClickEventByCondition: null, preventDefault: !0, checkWindowBlur: !1, keepDragging: !1, pinchThreshold: 0, events: ["touch", "mouse"] }, n); var s = a.options, u = s.container, f = s.events, l = s.checkWindowBlur; if (a._useDrag = f.indexOf("drag") > -1, a._useTouch = f.indexOf("touch") > -1, a._useMouse = f.indexOf("mouse") > -1, a.targets = i, a._useDrag && i.forEach(function(c) { Tt(c, "dragstart", a.onDragStart); }), a._useMouse && (i.forEach(function(c) { Tt(c, "mousedown", a.onDragStart), Tt(c, "mousemove", a._passCallback); }), Tt(u, "contextmenu", a._onContextMenu)), l && Tt(cr(), "blur", a.onBlur), a._useTouch) { var v = { passive: !1 }; i.forEach(function(c) { Tt(c, "touchstart", a.onDragStart, v), Tt(c, "touchmove", a._passCallback, v); }); } return a; } return r.prototype.stop = function() { this.isDrag = !1, this.data = {}, this.clientStores = [], this.pinchFlag = !1, this.doubleFlag = !1, this.prevTime = 0, this.flag = !1, this._isIdle = !0, this._allowClickEvent(), this._dettachDragEvent(), this._isDragAPI = !1; }, r.prototype.getMovement = function(e) { return this.getCurrentStore().getMovement(e) + this.clientStores.slice(1).reduce(function(n, a) { return n + a.movement; }, 0); }, r.prototype.isDragging = function() { return this.isDrag; }, r.prototype.isIdle = function() { return this._isIdle; }, r.prototype.isFlag = function() { return this.flag; }, r.prototype.isPinchFlag = function() { return this.pinchFlag; }, r.prototype.isDoubleFlag = function() { return this.doubleFlag; }, r.prototype.isPinching = function() { return this.isPinch; }, r.prototype.scrollBy = function(e, n, a, i) { i === void 0 && (i = !0), this.flag && (this.clientStores[0].move(e, n), i && this.onDrag(a, !0)); }, r.prototype.move = function(e, n) { var a = e[0], i = e[1], o = this.getCurrentStore(), s = o.prevClients; return this.moveClients(s.map(function(u) { var f = u.clientX, l = u.clientY; return { clientX: f + a, clientY: l + i, originalClientX: f, originalClientY: l }; }), n, !0); }, r.prototype.triggerDragStart = function(e) { this.onDragStart(e, !1); }, r.prototype.setEventData = function(e) { var n = this.data; for (var a in e) n[a] = e[a]; return this; }, r.prototype.setEventDatas = function(e) { return this.setEventData(e); }, r.prototype.getCurrentEvent = function(e) { return e === void 0 && (e = this._prevInputEvent), _t(_t({ data: this.data, datas: this.data }, this._getPosition()), { movement: this.getMovement(), isDrag: this.isDrag, isPinch: this.isPinch, isScroll: !1, inputEvent: e }); }, r.prototype.getEventData = function() { return this.data; }, r.prototype.getEventDatas = function() { return this.data; }, r.prototype.unset = function() { var e = this, n = this.targets, a = this.options.container; this.off(), Dt(this._window, "blur", this.onBlur), this._useDrag && n.forEach(function(i) { Dt(i, "dragstart", e.onDragStart); }), this._useMouse && (n.forEach(function(i) { Dt(i, "mousedown", e.onDragStart); }), Dt(a, "contextmenu", this._onContextMenu)), this._useTouch && (n.forEach(function(i) { Dt(i, "touchstart", e.onDragStart); }), Dt(a, "touchstart", this.onDragStart)), this._prevInputEvent = null, this._allowClickEvent(), this._dettachDragEvent(); }, r.prototype.onPinchStart = function(e) { var n = this, a = this.options.pinchThreshold; if (!(this.isDrag && this.getMovement() > a)) { var i = new _n(Me(e)); this.pinchFlag = !0, this._addStore(i); var o = this.emit("pinchStart", _t(_t({ data: this.data, datas: this.data, angle: i.getAngle(), touches: this.getCurrentStore().getPositions() }, i.getPosition()), { inputEvent: e, isTrusted: this._isTrusted, preventDefault: function() { e.preventDefault(); }, preventDrag: function() { n._dragFlag = !1; } })); o === !1 && (this.pinchFlag = !1); } }, r.prototype.onPinch = function(e, n) { if (!(!this.flag || !this.pinchFlag || n.length < 2)) { var a = this.getCurrentStore(); this.isPinch = !0, this.emit("pinch", _t(_t({ data: this.data, datas: this.data, movement: this.getMovement(n), angle: a.getAngle(n), rotation: a.getRotation(n), touches: a.getPositions(n), scale: a.getScale(n), distance: a.getDistance(n) }, a.getPosition(n)), { inputEvent: e, isTrusted: this._isTrusted })); } }, r.prototype.onPinchEnd = function(e) { if (this.pinchFlag) { var n = this.isPinch; this.isPinch = !1, this.pinchFlag = !1; var a = this.getCurrentStore(); this.emit("pinchEnd", _t(_t({ data: this.data, datas: this.data, isPinch: n, touches: a.getPositions() }, a.getPosition()), { inputEvent: e })); } }, r.prototype.getCurrentStore = function() { return this.clientStores[0]; }, r.prototype.moveClients = function(e, n, a) { var i = this._getPosition(e, a), o = this.isDrag; (i.deltaX || i.deltaY) && (this.isDrag = !0); var s = !1; return !o && this.isDrag && (s = !0), _t(_t({ data: this.data, datas: this.data }, i), { movement: this.getMovement(e), isDrag: this.isDrag, isPinch: this.isPinch, isScroll: !1, isMouseEvent: this._isMouseEvent, isSecondaryButton: this._isSecondaryButton, inputEvent: n, isTrusted: this._isTrusted, isFirstDrag: s }); }, r.prototype._addStore = function(e) { this.clientStores.splice(0, 0, e); }, r.prototype._getPosition = function(e, n) { var a = this.getCurrentStore(), i = a.getPosition(e, n), o = this.clientStores.slice(1).reduce(function(f, l) { var v = l.getPosition(); return f.distX += v.distX, f.distY += v.distY, f; }, i), s = o.distX, u = o.distY; return _t(_t({}, i), { distX: s, distY: u }); }, r.prototype._attchDragEvent = function() { var e = this._window, n = this.options.container, a = { passive: !1 }; this._isDragAPI && (Tt(n, "dragover", this.onDrag, a), Tt(e, "dragend", this.onDragEnd)), this._useMouse && (Tt(n, "mousemove", this.onDrag), Tt(e, "mouseup", this.onDragEnd)), this._useTouch && (Tt(n, "touchmove", this.onDrag, a), Tt(e, "touchend", this.onDragEnd, a), Tt(e, "touchcancel", this.onDragEnd, a)); }, r.prototype._dettachDragEvent = function() { var e = this._window, n = this.options.container; this._isDragAPI && (Dt(n, "dragover", this.onDrag), Dt(e, "dragend", this.onDragEnd)), this._useMouse && (Dt(n, "mousemove", this.onDrag), Dt(e, "mouseup", this.onDragEnd)), this._useTouch && (Dt(n, "touchstart", this.onDragStart), Dt(n, "touchmove", this.onDrag), Dt(e, "touchend", this.onDragEnd), Dt(e, "touchcancel", this.onDragEnd)); }, r.prototype._allowMouseEvent = function() { this._preventMouseEvent = !1, clearTimeout(this._preventMouseEventId); }, r; }(rn); function If(t) { for (var r = 5381, e = t.length; e; ) r = r * 33 ^ t.charCodeAt(--e); return r >>> 0; } var zf = If; function Gf(t) { return zf(t).toString(36); } function Bf(t) { if (t && t.getRootNode) { var r = t.getRootNode(); if (r.nodeType === 11) return r; } } function Af(t, r, e) { return e.original ? r : r.replace(/([^};{\s}][^};{]*|^\s*){/mg, function(n, a) { var i = a.trim(); return (i ? br(i) : [""]).map(function(o) { var s = o.trim(); return s.indexOf("@") === 0 ? s : s.indexOf(":global") > -1 ? s.replace(/\:global/g, "") : s.indexOf(":host") > -1 ? "".concat(s.replace(/\:host/g, ".".concat(t))) : s ? ".".concat(t, " ").concat(s) : ".".concat(t); }).join(", ") + " {"; }); } function kf(t, r, e, n, a) { var i = Xr(n), o = i.createElement("style"); return o.setAttribute("type", "text/css"), o.setAttribute("data-styled-id", t), o.setAttribute("data-styled-count", "1"), e.nonce && o.setAttribute("nonce", e.nonce), o.innerHTML = Af(t, r, e), (a || i.head || i.body).appendChild(o), o; } function Ff(t) { var r = "rCS" + Gf(t); return { className: r, inject: function(e, n) { n === void 0 && (n = {}); var a = Bf(e), i = (a || e.ownerDocument || document).querySelector('style[data-styled-id="'.concat(r, '"]')); if (!i) i = kf(r, t, n, e, a); else { var o = parseFloat(i.getAttribute("data-styled-count")) || 0; i.setAttribute("data-styled-count", "".concat(o + 1)); } return { destroy: function() { var s, u = parseFloat(i.getAttribute("data-styled-count")) || 0; u <= 1 ? (i.remove ? i.remove() : (s = i.parentNode) === null || s === void 0 || s.removeChild(i), i = null) : i.setAttribute("data-styled-count", "".concat(u - 1)); } }; } }; } var Vn = function() { return Vn = Object.assign || function(r) { for (var e, n = 1, a = arguments.length; n < a; n++) { e = arguments[n]; for (var i in e) Object.prototype.hasOwnProperty.call(e, i) && (r[i] = e[i]); } return r; }, Vn.apply(this, arguments); }; function Nf(t, r) { var e = {}; for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && r.indexOf(n) < 0 && (e[n] = t[n]); if (t != null && typeof Object.getOwnPropertySymbols == "function") for (var a = 0, n = Object.getOwnPropertySymbols(t); a < n.length; a++) r.indexOf(n[a]) < 0 && Object.prototype.propertyIsEnumerable.call(t, n[a]) && (e[n[a]] = t[n[a]]); return e; } function Bo(t, r) { var e = Ff(r), n = e.className; return Gu(function(a, i) { var o = a.className, s = o === void 0 ? "" : o; a.cspNonce; var u = Nf(a, ["className", "cspNonce"]), f = ju(); return Uu(i, function() { return f.current; }, []), xo(function() { var l = e.inject(f.current, { nonce: a.cspNonce }); return function() { l.destroy(); }; }, []), jt(t, Vn({ ref: f, "data-styled-id": n, className: "".concat(s, " ").concat(n) }, u)); }); } var qn = function(t, r) { return qn = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(e, n) { e.__proto__ = n; } || function(e, n) { for (var a in n) Object.prototype.hasOwnProperty.call(n, a) && (e[a] = n[a]); }, qn(t, r); }; function Se(t, r) { if (typeof r != "function" && r !== null) throw new TypeError("Class extends value " + String(r) + " is not a constructor or null"); qn(t, r); function e() { this.constructor = t; } t.prototype = r === null ? Object.create(r) : (e.prototype = r.prototype, new e()); } var M = function() { return M = Object.assign || function(r) { for (var e, n = 1, a = arguments.length; n < a; n++) { e = arguments[n]; for (var i in e) Object.prototype.hasOwnProperty.call(e, i) && (r[i] = e[i]); } return r; }, M.apply(this, arguments); }; function Hf(t, r) { var e = {}; for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && r.indexOf(n) < 0 && (e[n] = t[n]); if (t != null && typeof Object.getOwnPropertySymbols == "function") for (var a = 0, n = Object.getOwnPropertySymbols(t); a < n.length; a++) r.indexOf(n[a]) < 0 && Object.prototype.propertyIsEnumerable.call(t, n[a]) && (e[n[a]] = t[n[a]]); return e; } function Wf(t, r, e, n) { var a = arguments.length, i = a < 3 ? r : n === null ? n = Object.getOwnPropertyDescriptor(r, e) : n, o; if (typeof Reflect == "object" && typeof Reflect.decorate == "function") i = Reflect.decorate(t, r, e, n); else for (var s = t.length - 1; s >= 0; s--) (o = t[s]) && (i = (a < 3 ? o(i) : a > 3 ? o(r, e, i) : o(r, e)) || i); return a > 3 && i && Object.defineProperty(r, e, i), i; } function Yf(t) { var r = typeof Symbol == "function" && Symbol.iterator, e = r && t[r], n = 0; if (e) return e.call(t); if (t && typeof t.length == "number") return { next: function() { return t && n >= t.length && (t = void 0), { value: t && t[n++], done: !t }; } }; throw new TypeError(r ? "Object is not iterable." : "Symbol.iterator is not defined."); } function T(t, r) { var e = typeof Symbol == "function" && t[Symbol.iterator]; if (!e) return t; var n = e.call(t), a, i = [], o; try { for (; (r === void 0 || r-- > 0) && !(a = n.next()).done; ) i.push(a.value); } catch (s) { o = { error: s }; } finally { try { a && !a.done && (e = n.return) && e.call(n); } finally { if (o) throw o.error; } } return i; } function N(t, r, e) { if (e || arguments.length === 2) for (var n = 0, a = r.length, i; n < a; n++) (i || !(n in r)) && (i || (i = Array.prototype.slice.call(r, 0, n)), i[n] = r[n]); return t.concat(i || Array.prototype.slice.call(r)); } function xe(t, r) { return M({ events: [], props: [], name: t }, r); } var Lf = ["n", "w", "s", "e"], ba = ["n", "w", "s", "e", "nw", "ne", "sw", "se"]; function Xf(t, r) { return 'data:image/svg+xml;utf8,'); } function Vf(t) { var r = Xf(1, t), e = Math.round(t / 45) * 45 % 180, n = "ns-resize"; return e === 135 ? n = "nwse-resize" : e === 45 ? n = "nesw-resize" : e === 90 && (n = "ew-resize"), "cursor:".concat(n, ";cursor: url('").concat(r, "') 16 16, ").concat(n, ";"); } var qr = Qu(), Ao = qr.browser.webkit, ko = Ao && function() { var t = typeof window > "u" ? { userAgent: "" } : window.navigator, r = /applewebkit\/([^\s]+)/g.exec(t.userAgent.toLowerCase()); return r ? parseFloat(r[1]) < 605 : !1; }(), Fo = qr.browser.name, No = parseInt(qr.browser.version, 10), qf = Fo === "chrome", jf = qr.browser.chromium, Uf = parseInt(qr.browser.chromiumVersion, 10) || 0, $f = qf && No >= 109 || jf && Uf >= 109, Kf = Fo === "firefox", Zf = parseInt(qr.browser.webkitVersion, 10) >= 612 || No >= 15, ya = "moveable-", Jf = ba.map(function(t) { var r = "", e = "", n = "center", a = "center", i = "calc(var(--moveable-control-padding, 20) * -1px)"; return t.indexOf("n") > -1 && (r = "top: ".concat(i, ";"), a = "bottom"), t.indexOf("s") > -1 && (r = "top: 0px;", a = "top"), t.indexOf("w") > -1 && (e = "left: ".concat(i, ";"), n = "right"), t.indexOf("e") > -1 && (e = "left: 0px;", n = "left"), '.around-control[data-direction*="'.concat(t, `"] { `).concat(e).concat(r, ` transform-origin: `).concat(n, " ").concat(a, `; }`); }).join(` `), Qf = ` { position: absolute; width: 1px; height: 1px; left: 0; top: 0; z-index: 3000; --moveable-color: #4af; --zoom: 1; --zoompx: 1px; --moveable-line-padding: 0; --moveable-control-padding: 0; will-change: transform; outline: 1px solid transparent; } .control-box { z-index: 0; } .line, .control { position: absolute; left: 0; top: 0; will-change: transform; } .control { width: 14px; height: 14px; border-radius: 50%; border: 2px solid #fff; box-sizing: border-box; background: #4af; background: var(--moveable-color); margin-top: -7px; margin-left: -7px; border: 2px solid #fff; z-index: 10; } .around-control { position: absolute; will-change: transform; width: calc(var(--moveable-control-padding, 20) * 1px); height: calc(var(--moveable-control-padding, 20) * 1px); left: calc(var(--moveable-control-padding, 20) * -0.5px); top: calc(var(--moveable-control-padding, 20) * -0.5px); box-sizing: border-box; background: transparent; z-index: 8; cursor: alias; transform-origin: center center; } `.concat(Jf, ` .padding { position: absolute; top: 0px; left: 0px; width: 100px; height: 100px; transform-origin: 0 0; } .line { width: 1px; height: 1px; background: #4af; background: var(--moveable-color); transform-origin: 0px 50%; } .line.edge { z-index: 1; background: transparent; } .line.dashed { box-sizing: border-box; background: transparent; } .line.dashed.horizontal { border-top: 1px dashed #4af; border-top-color: #4af; border-top-color: var(--moveable-color); } .line.dashed.vertical { border-left: 1px dashed #4af; border-left-color: #4af; border-left-color: var(--moveable-color); } .line.vertical { transform: translateX(-50%); } .line.horizontal { transform: translateY(-50%); } .line.vertical.bold { width: 2px; } .line.horizontal.bold { height: 2px; } .control.origin { border-color: #f55; background: #fff; width: 12px; height: 12px; margin-top: -6px; margin-left: -6px; pointer-events: none; } `).concat([0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165].map(function(t) { return ` .direction[data-rotation="`.concat(t, '"], :global .view-control-rotation').concat(t, ` { `).concat(Vf(t), ` } `); }).join(` `), ` .line.direction:before { content: ""; position: absolute; width: 100%; height: calc(var(--moveable-line-padding, 0) * 1px); bottom: 0; left: 0; } .group { z-index: -1; } .area { position: absolute; } .area-pieces { position: absolute; top: 0; left: 0; display: none; } .area.avoid, .area.pass { pointer-events: none; } .area.avoid+.area-pieces { display: block; } .area-piece { position: absolute; } `).concat(ko ? `:global svg *:before { content:""; transform-origin: inherit; }` : "", ` `), tl = [ [0, 1, 2], [1, 0, 3], [2, 0, 3], [3, 1, 2] ], jn = 1e-4, At = 1e-7, we = 1e-9, Un = Math.pow(10, 10), ci = -Un, rl = { n: [0, -1], e: [1, 0], s: [0, 1], w: [-1, 0], nw: [-1, -1], ne: [1, -1], sw: [-1, 1], se: [1, 1] }, Ea = { n: [0, 1], e: [1, 3], s: [3, 2], w: [2, 0], nw: [0], ne: [1], sw: [2], se: [3] }, Ho = { n: 0, s: 180, w: 270, e: 90, nw: 315, ne: 45, sw: 225, se: 135 }, Wo = [ "isMoveableElement", "updateRect", "updateTarget", "destroy", "dragStart", "isInside", "hitTest", "setState", "getRect", "request", "isDragging", "getManager", "forceUpdate", "waitToChangeTarget", "updateSelectors", "getTargets", "stopDrag", "getControlBoxElement", "getMoveables", "getDragElement" ]; function _e(t, r, e, n, a, i) { var o, s; i === void 0 && (i = "draggable"); var u = (s = (o = r.gestos[i]) === null || o === void 0 ? void 0 : o.move(e, t.inputEvent)) !== null && s !== void 0 ? s : {}, f = u.originalDatas || u.datas, l = f[i] || (f[i] = {}); return M(M({}, a ? Os(r, u) : u), { isPinch: !!n, parentEvent: !0, datas: l, originalDatas: t.originalDatas }); } var Nr = /* @__PURE__ */ function() { function t(r) { var e; r === void 0 && (r = "draggable"), this.ableName = r, this.prevX = 0, this.prevY = 0, this.startX = 0, this.startY = 0, this.isDrag = !1, this.isFlag = !1, this.datas = { draggable: {} }, this.datas = (e = {}, e[r] = {}, e); } return t.prototype.dragStart = function(r, e) { this.isDrag = !1, this.isFlag = !1; var n = e.originalDatas; return this.datas = n, n[this.ableName] || (n[this.ableName] = {}), M(M({}, this.move(r, e.inputEvent)), { type: "dragstart" }); }, t.prototype.drag = function(r, e) { return this.move([ r[0] - this.prevX, r[1] - this.prevY ], e); }, t.prototype.move = function(r, e) { var n, a, i = !1; if (!this.isFlag) this.prevX = r[0], this.prevY = r[1], this.startX = r[0], this.startY = r[1], n = r[0], a = r[1], this.isFlag = !0; else { var o = this.isDrag; n = this.prevX + r[0], a = this.prevY + r[1], (r[0] || r[1]) && (this.isDrag = !0), !o && this.isDrag && (i = !0); } return this.prevX = n, this.prevY = a, { type: "drag", clientX: n, clientY: a, inputEvent: e, isFirstDrag: i, isDrag: this.isDrag, distX: n - this.startX, distY: a - this.startY, deltaX: r[0], deltaY: r[1], datas: this.datas[this.ableName], originalDatas: this.datas, parentEvent: !0, parentGesto: this }; }, t; }(); function Ar(t, r, e, n) { var a = t.length === 16, i = a ? 4 : 3, o = wr(t, e, n, i), s = T(o, 4), u = T(s[0], 2), f = u[0], l = u[1], v = T(s[1], 2), c = v[0], d = v[1], p = T(s[2], 2), h = p[0], g = p[1], m = T(s[3], 2), S = m[0], x = m[1], _ = T(mt(t, r, i), 2), y = _[0], b = _[1], D = Math.min(f, c, h, S), E = Math.min(l, d, g, x), C = Math.max(f, c, h, S), w = Math.max(l, d, g, x); f = f - D || 0, c = c - D || 0, h = h - D || 0, S = S - D || 0, l = l - E || 0, d = d - E || 0, g = g - E || 0, x = x - E || 0, y = y - D || 0, b = b - E || 0; var P = t[0], R = t[i + 1], O = Gt(P * R); return { left: D, top: E, right: C, bottom: w, origin: [y, b], pos1: [f, l], pos2: [c, d], pos3: [h, g], pos4: [S, x], direction: O }; } function Yo(t, r) { var e = r.clientX, n = r.clientY, a = r.datas, i = t.state, o = i.moveableClientRect, s = i.rootMatrix, u = i.is3d, f = i.pos1, l = o.left, v = o.top, c = u ? 4 : 3, d = T(Q(Yr(s, [e - l, n - v], c), f), 2), p = d[0], h = d[1], g = T(tr({ datas: a, distX: p, distY: h }), 2), m = g[0], S = g[1]; return [m, S]; } function Mr(t, r) { var e = r.datas, n = t.state, a = n.allMatrix, i = n.beforeMatrix, o = n.is3d, s = n.left, u = n.top, f = n.origin, l = n.offsetMatrix, v = n.targetMatrix, c = n.transformOrigin, d = o ? 4 : 3; e.is3d = o, e.matrix = a, e.targetMatrix = v, e.beforeMatrix = i, e.offsetMatrix = l, e.transformOrigin = c, e.inverseMatrix = Qt(a, d), e.inverseBeforeMatrix = Qt(i, d), e.absoluteOrigin = yr(ut([s, u], f), d), e.startDragBeforeDist = Rt(e.inverseBeforeMatrix, e.absoluteOrigin, d), e.startDragDist = Rt(e.inverseMatrix, e.absoluteOrigin, d); } function el(t) { return Ar(t.datas.beforeTransform, [50, 50], 100, 100).direction; } function en(t, r, e) { var n = r.datas, a = r.originalDatas.beforeRenderable, i = n.transformIndex, o = a.nextTransforms, s = o.length, u = a.nextTransformAppendedIndexes, f = -1; i === -1 ? (e === "translate" ? f = 0 : e === "rotate" && (f = ar(o, function(d) { return d.match(/scale\(/g); })), f === -1 && (f = o.length), n.transformIndex = f) : Nt(u, function(d) { return d.index === i && d.functionName === e; }) ? f = i : f = i + u.filter(function(d) { return d.index < i; }).length; var l = wc(o, t.state, f), v = l.targetFunction, c = e === "rotate" ? "rotateZ" : e; n.beforeFunctionTexts = l.beforeFunctionTexts, n.afterFunctionTexts = l.afterFunctionTexts, n.beforeTransform = l.beforeFunctionMatrix, n.beforeTransform2 = l.beforeFunctionMatrix2, n.targetTansform = l.targetFunctionMatrix, n.afterTransform = l.afterFunctionMatrix, n.afterTransform2 = l.afterFunctionMatrix2, n.targetAllTransform = l.allFunctionMatrix, v.functionName === c ? (n.afterFunctionTexts.splice(0, 1), n.isAppendTransform = !1) : s > f && (n.isAppendTransform = !0, a.nextTransformAppendedIndexes = N(N([], T(u), !1), [{ functionName: e, index: f, isAppend: !0 }], !1)); } function nn(t, r, e) { return "".concat(t.beforeFunctionTexts.join(" "), " ").concat(t.isAppendTransform ? e : r, " ").concat(t.afterFunctionTexts.join(" ")); } function nl(t) { var r = t.datas, e = t.distX, n = t.distY, a = T(Xo({ datas: r, distX: e, distY: n }), 2), i = a[0], o = a[1], s = Lo(r, af([i, o], 4)); return Rt(s, yr([0, 0, 0], 4), 4); } function Lo(t, r, e) { var n = t.beforeTransform, a = t.afterTransform, i = t.beforeTransform2, o = t.afterTransform2, s = t.targetAllTransform, u = e ? dt(s, r, 4) : dt(r, s, 4), f = dt(Qt(e ? i : n, 4), u, 4), l = dt(f, Qt(e ? o : a, 4), 4); return l; } function Xo(t) { var r = t.datas, e = t.distX, n = t.distY, a = r.inverseBeforeMatrix, i = r.is3d, o = r.startDragBeforeDist, s = r.absoluteOrigin, u = i ? 4 : 3; return Q(Rt(a, ut(s, [e, n]), u), o); } function tr(t, r) { var e = t.datas, n = t.distX, a = t.distY, i = e.inverseBeforeMatrix, o = e.inverseMatrix, s = e.is3d, u = e.startDragBeforeDist, f = e.startDragDist, l = e.absoluteOrigin, v = s ? 4 : 3; return Q(Rt(r ? i : o, ut(l, [n, a]), v), r ? u : f); } function al(t, r) { var e = t.datas, n = t.distX, a = t.distY, i = e.beforeMatrix, o = e.matrix, s = e.is3d, u = e.startDragBeforeDist, f = e.startDragDist, l = e.absoluteOrigin, v = s ? 4 : 3; return Q(Rt(r ? i : o, ut(r ? u : f, [n, a]), v), l); } function il(t, r, e, n, a, i) { return n === void 0 && (n = r), a === void 0 && (a = e), i === void 0 && (i = [0, 0]), t ? t.map(function(o, s) { var u = ve(o), f = u.value, l = u.unit, v = s ? a : n, c = s ? e : r; if (o === "%" || isNaN(f)) { var d = v ? i[s] / v : 0; return c * d; } else if (l !== "%") return f; return c * f / 100; }) : i; } function Vo(t) { var r = []; return t[1] >= 0 && (t[0] >= 0 && r.push(3), t[0] <= 0 && r.push(2)), t[1] <= 0 && (t[0] >= 0 && r.push(1), t[0] <= 0 && r.push(0)), r; } function ol(t, r) { return Vo(r).map(function(e) { return t[e]; }); } function bn(t, r) { var e = (r + 1) / 2; return [ He(t[0][0], t[1][0], e, 1 - e), He(t[0][1], t[1][1], e, 1 - e) ]; } function Mt(t, r) { var e = bn([t[0], t[1]], r[0]), n = bn([t[2], t[3]], r[0]); return bn([e, n], r[1]); } function sl(t, r, e, n, a, i) { var o = wr(r, e, n, a), s = Mt(o, i), u = t[0] - s[0], f = t[1] - s[1]; return [u, f]; } function be(t, r, e, n) { return dt(t, ne(r, n, e), n); } function ul(t, r, e, n) { var a = t.transformOrigin, i = t.offsetMatrix, o = t.is3d, s = o ? 4 : 3, u; if (Ft(e)) { var f = r.beforeTransform, l = r.afterTransform; n ? u = Kt(ue(e), 4, s) : u = Kt(dt(dt(f, ue([e]), 4), l, 4), 4, s); } else u = e; return be(i, u, a, s); } function fl(t, r) { var e = t.transformOrigin, n = t.offsetMatrix, a = t.is3d, i = t.targetMatrix, o = t.targetAllTransform, s = a ? 4 : 3; return be(n, dt(o || i, Sa(r, s), s), e, s); } function an(t, r) { var e = jr(r); return { setTransform: function(n, a) { a === void 0 && (a = -1), e.startTransforms = yt(n) ? n : vr(n), $n(t, r, a); }, setTransformIndex: function(n) { $n(t, r, n); } }; } function on(t, r, e) { var n = jr(r), a = n.startTransforms; $n(t, r, ar(a, function(i) { return i.indexOf("".concat(e, "(")) === 0; })); } function $n(t, r, e) { var n = jr(r), a = r.datas; if (a.transformIndex = e, e !== -1) { var i = n.startTransforms[e]; if (i) { var o = t.state, s = Fr([i], { "x%": function(u) { return u / 100 * o.offsetWidth; }, "y%": function(u) { return u / 100 * o.offsetHeight; } }); a.startValue = s[0].functionValue; } } } function Da(t, r) { var e = jr(t); e.nextTransforms = vr(r); } function jr(t) { return t.originalDatas.beforeRenderable; } function Xe(t) { var r = t.originalDatas.beforeRenderable; return r.nextTransforms; } function Te(t) { return (Xe(t) || []).join(" "); } function Oe(t) { return jr(t).nextStyle; } function qo(t, r, e, n, a) { Da(a, r); var i = zt.drag(t, _e(a, t.state, e, n, !1)), o = i ? i.transform : r; return M(M({ transform: r, drag: i }, Bt({ transform: o }, a)), { afterTransform: o }); } function Ca(t, r, e, n, a, i) { var o = ul(t.state, a, r, i), s = vl(t, e, n, o); return s; } function jo(t, r, e, n, a, i, o) { var s = Ca(t, r, e, a, i, o), u = t.state, f = u.left, l = u.top, v = t.props.groupable, c = v ? f : 0, d = v ? l : 0, p = Q(n, s); return Q(p, [c, d]); } function ll(t, r, e, n, a, i, o) { var s = jo(t, r, e, n, a, i, o); return s; } function cl(t, r, e) { return [ r ? -1 + t[0] / (r / 2) : 0, e ? -1 + t[1] / (e / 2) : 0 ]; } function vl(t, r, e, n) { n === void 0 && (n = t.state.allMatrix); var a = t.state, i = a.width, o = a.height, s = a.is3d, u = s ? 4 : 3, f = [ i / 2 * (1 + r[0]) + e[0], o / 2 * (1 + r[1]) + e[1] ]; return mt(n, f, u); } function dl(t, r, e) { var n = e.fixedDirection, a = e.fixedPosition, i = e.fixedOffset; return jo(t, "rotate(".concat(r, "deg)"), n, a, i, e); } function pl(t, r, e, n, a, i) { var o = t.props.groupable, s = t.state, u = s.transformOrigin, f = s.offsetMatrix, l = s.is3d, v = s.width, c = s.height, d = s.left, p = s.top, h = i.fixedDirection, g = i.nextTargetMatrix || s.targetMatrix, m = l ? 4 : 3, S = il(a, r, e, v, c, u), x = o ? d : 0, _ = o ? p : 0, y = be(f, g, S, m), b = sl(n, y, r, e, m, h); return Q(b, [x, _]); } function hl(t, r) { return Mt(Vt(t.state), r); } function gl(t, r) { var e = t.targetGesto, n = t.controlGesto, a; return e != null && e.isFlag() && (a = e.getEventData()[r]), !a && (n != null && n.isFlag()) && (a = n.getEventData()[r]), a || {}; } function ml(t) { if (t && t.getRootNode) { var r = t.getRootNode(); if (r.nodeType === 11) return r; } } function Sl(t) { var r = t("scale"), e = t("rotate"), n = t("translate"), a = []; return n && n !== "0px" && n !== "none" && a.push("translate(".concat(n.split(/\s+/).join(","), ")")), e && e !== "1" && e !== "none" && a.push("rotate(".concat(e, ")")), r && r !== "1" && r !== "none" && a.push("scale(".concat(r.split(/\s+/).join(","), ")")), a; } function Uo(t, r, e) { for (var n = t, a = [], i = ca(t) || hr(t), o = !e && t === r || t === i, s = o, u = !1, f = 3, l, v, c, d = !1, p = le(r, r, !0).offsetParent, h = 1; n && !s; ) { s = o; var g = Ht(n), m = g("position"), S = Ss(n), x = m === "fixed", _ = Sl(g), y = of(hc(S)), b = void 0, D = !1, E = !1, C = 0, w = 0, P = 0, R = 0, O = { hasTransform: !1, fixedContainer: null }; x && (d = !0, O = _c(n), p = O.fixedContainer); var I = y.length; !u && (I === 16 || _.length) && (u = !0, f = 4, ra(a), c && (c = Kt(c, 3, 4))), u && I === 9 && (y = Kt(y, 3, 4)); var z = xc(n, t), k = z.tagName, F = z.hasOffset, A = z.isSVG, H = z.origin, W = z.targetOrigin, G = z.offset, V = T(G, 2), q = V[0], Y = V[1]; k === "svg" && !n.ownerSVGElement && c && (a.push({ type: "target", target: n, matrix: bc(n, f) }), a.push({ type: "offset", target: n, matrix: gt(f) })); var j = parseFloat(g("zoom")) || 1; if (x) b = O.fixedContainer, D = !0; else { var L = le(n, r, !1, !0, g), $ = L.offsetZoom; if (b = L.offsetParent, D = L.isEnd, E = L.isStatic, h *= $, (L.isCustomElement || $ !== 1) && E) q -= b.offsetLeft, Y -= b.offsetTop; else if (Kf || $f) { var J = L.parentSlotElement; if (J) { for (var at = b, st = 0, X = 0; at && ml(at); ) st += at.offsetLeft, X += at.offsetTop, at = at.offsetParent; q -= st, Y -= X; } } } if (Ao && !Zf && F && !A && E && (m === "relative" || m === "static") && (q -= b.offsetLeft, Y -= b.offsetTop, o = o || D), x) F && O.hasTransform && (P = b.clientLeft, R = b.clientTop); else if (F && p !== b && (C = b.clientLeft, w = b.clientTop), F && b === i) { var K = xs(n, !1); q += K[0], Y += K[1]; } if (a.push({ type: "target", target: n, matrix: ne(y, f, H) }), _.length && (a.push({ type: "offset", target: n, matrix: gt(f) }), a.push({ type: "target", target: n, matrix: ne(ue(_), f, H) })), F) { var ft = n === t, rt = ft ? 0 : n.scrollLeft, et = ft ? 0 : n.scrollTop; a.push({ type: "offset", target: n, matrix: Er([ q - rt + C - P, Y - et + w - R ], f) }); } else a.push({ type: "offset", target: n, origin: H }); if (j !== 1 && a.push({ type: "zoom", target: n, matrix: ne(Sa([j, j], f), f, [0, 0]) }), c || (c = y), l || (l = H), v || (v = W), s || x) break; n = b, o = D, (!e || n === i) && (s = o); } return c || (c = gt(f)), l || (l = [0, 0]), v || (v = [0, 0]), { zoom: h, offsetContainer: p, matrixes: a, targetMatrix: c, transformOrigin: l, targetOrigin: v, is3d: u, hasFixed: d }; } var mr = null, Sr = null, Ir = null; function Hr(t) { t ? (window.Map && (mr = /* @__PURE__ */ new Map(), Sr = /* @__PURE__ */ new Map()), Ir = []) : (mr = null, Ir = null, Sr = null); } function xl(t) { var r = Sr == null ? void 0 : Sr.get(t); if (r) return r; var e = ae(t, !0); return Sr && Sr.set(t, e), e; } function _l(t, r) { if (Ir) { var e = Nt(Ir, function(a) { return a[0][0] == t && a[0][1] == r; }); if (e) return e[1]; } var n = Uo(t, r, !0); return Ir && Ir.push([[t, r], n]), n; } function Ht(t) { var r = mr == null ? void 0 : mr.get(t); if (!r) { var e = cr(t).getComputedStyle(t); if (!mr) return function(i) { return e[i]; }; r = { style: e, cached: {} }, mr.set(t, r); } var n = r.cached, a = r.style; return function(i) { return i in n || (n[i] = a[i]), n[i]; }; } function Ut(t, r, e) { var n = e.originalDatas; n.groupable = n.groupable || {}; var a = n.groupable; a.childDatas = a.childDatas || []; var i = a.childDatas; return t.moveables.map(function(o, s) { return i[s] = i[s] || {}, i[s][r] = i[s][r] || {}, M(M({}, e), { isRequestChild: !0, datas: i[s][r], originalDatas: i[s] }); }); } function yn(t, r, e, n, a, i, o) { var s = !!e.match(/Start$/g), u = !!e.match(/End$/g), f = a.isPinch, l = a.datas, v = Ut(t, r.name, a), c = t.moveables, d = [], p = v.map(function(h, g) { var m = c[g], S = m.state, x = S.gestos, _ = h; if (s) _ = new Nr(o).dragStart(n, h), d.push(_); else { if (x[o] || (x[o] = l.childGestos[g]), !x[o]) return; _ = _e(h, S, n, f, i, o), d.push(_); } var y = r[e](m, M(M({}, _), { parentFlag: !0 })); return u && (x[o] = null), y; }); return s && (l.childGestos = c.map(function(h) { return h.state.gestos[o]; })), { eventParams: p, childEvents: d }; } function nr(t, r, e, n, a, i) { a === void 0 && (a = function(l, v) { return v; }); var o = !!e.match(/End$/g), s = Ut(t, r.name, n), u = t.moveables, f = s.map(function(l, v) { var c = u[v], d = l; d = a(c, l); var p = r[e](c, M(M({}, d), { parentFlag: !0 })); return p && i && i(c, l, p, v), o && (c.state.gestos = {}), p; }); return f; } function Ve(t, r, e, n) { var a = e.fixedDirection, i = e.fixedPosition, o = n.datas.startPositions || Vt(r.state), s = Mt(o, a), u = T(Rt(me(-t.rotation / 180 * Math.PI, 3), [s[0] - i[0], s[1] - i[1], 1], 3), 2), f = u[0], l = u[1]; return n.datas.originalX = f, n.datas.originalY = l, n; } function $o(t, r, e, n) { var a = t.getState(), i = a.renderPoses, o = a.rotation, s = a.direction, u = Cr(t.props, r).zoom, f = ee(o / Math.PI * 180), l = {}, v = t.renderState; v.renderDirectionMap || (v.renderDirectionMap = {}); var c = v.renderDirectionMap; e.forEach(function(p) { var h = p.dir; l[h] = !0; }); var d = Gt(s); return e.map(function(p) { var h = p.data, g = p.classNames, m = p.dir, S = Ea[m]; if (!S || !l[m]) return null; c[m] = !0; var x = (tt(f, 15) + d * Ho[m] + 720) % 180, _ = {}; return ir(h).forEach(function(y) { _["data-".concat(y)] = h[y]; }), n.createElement("div", M({ className: Z.apply(void 0, N(["control", "direction", m, r], T(g), !1)), "data-rotation": x, "data-direction": m }, _, { key: "direction-".concat(m), style: $e.apply(void 0, N([o, u], T(S.map(function(y) { return i[y]; })), !1)) })); }); } function Ko(t, r, e, n) { var a = Cr(t.props, e), i = a.renderDirections, o = i === void 0 ? r : i, s = a.displayAroundControls; if (!o) return []; var u = o === !0 ? ba : o; return N(N([], T(s ? ts(t, n, e, u) : []), !1), T($o(t, e, u.map(function(f) { return { data: {}, classNames: [], dir: f }; }), n)), !1); } function fe(t, r, e, n, a, i) { for (var o = [], s = 6; s < arguments.length; s++) o[s - 6] = arguments[s]; var u = St(e, n), f = r ? tt(u / Math.PI * 180, 15) % 180 : -1; return t.createElement("div", { key: "line-".concat(i), className: Z.apply(void 0, N(["line", "direction", r ? "edge" : "", r], T(o), !1)), "data-rotation": f, "data-line-key": i, "data-direction": r, style: Jr(e, n, a, u) }); } function Zo(t, r, e, n, a) { var i = e === !0 ? Lf : e; return i.map(function(o, s) { var u = T(Ea[o], 2), f = u[0], l = u[1]; if (l != null) return fe(t, o, n[f], n[l], a, "".concat(r, "Edge").concat(s), r); }).filter(Boolean); } function Jo(t) { return function(r, e) { var n = Cr(r.props, t).edge; return n && (n === !0 || n.length) ? N(N([], T(Zo(e, t, n, r.getState().renderPoses, r.props.zoom)), !1), T(bl(r, t, e)), !1) : Qo(r, t, e); }; } function Qo(t, r, e) { return Ko(t, ba, r, e); } function bl(t, r, e) { return Ko(t, ["nw", "ne", "sw", "se"], r, e); } function ts(t, r, e, n) { var a = t.renderState; a.renderDirectionMap || (a.renderDirectionMap = {}); var i = t.getState(), o = i.renderPoses, s = i.rotation, u = i.direction, f = a.renderDirectionMap, l = t.props.zoom, v = Gt(u), c = s / Math.PI * 180; return (n || ir(f)).map(function(d) { var p = Ea[d]; if (!p) return null; var h = (tt(c, 15) + v * Ho[d] + 720) % 180, g = ["around-control"]; return e && g.push("direction", e), r.createElement("div", { className: Z.apply(void 0, N([], T(g), !1)), "data-rotation": h, "data-direction": d, key: "direction-around-".concat(d), style: $e.apply(void 0, N([s, l], T(p.map(function(m) { return o[m]; })), !1)) }); }); } function Ma(t, r, e) { var n = t || {}, a = n.position, i = a === void 0 ? "client" : a, o = n.left, s = o === void 0 ? -1 / 0 : o, u = n.top, f = u === void 0 ? -1 / 0 : u, l = n.right, v = l === void 0 ? 1 / 0 : l, c = n.bottom, d = c === void 0 ? 1 / 0 : c, p = { position: i, left: s, top: f, right: v, bottom: d }; return { vertical: vi(p, r, !0), horizontal: vi(p, e, !1) }; } function sn(t, r) { var e = t.state, n = e.containerClientRect, a = n.clientHeight, i = n.clientWidth, o = n.clientLeft, s = n.clientTop, u = e.snapOffset, f = u.left, l = u.top, v = u.right, c = u.bottom, d = r || t.props.bounds || {}, p = d.position || "client", h = p === "css", g = d.left, m = g === void 0 ? -1 / 0 : g, S = d.top, x = S === void 0 ? -1 / 0 : S, _ = d.right, y = _ === void 0 ? h ? -1 / 0 : 1 / 0 : _, b = d.bottom, D = b === void 0 ? h ? -1 / 0 : 1 / 0 : b; return h && (y = i + v - f - y, D = a + c - l - D), { left: m + f - o, right: y + f - o, top: x + l - s, bottom: D + l - s }; } function yl(t, r, e) { var n = sn(t), a = n.left, i = n.top, o = n.right, s = n.bottom, u = T(e, 2), f = u[0], l = u[1], v = T(Q(e, r), 2), c = v[0], d = v[1]; B(c) < At && (c = 0), B(d) < At && (d = 0); var p = d > 0, h = c > 0, g = { isBound: !1, offset: 0, pos: 0 }, m = { isBound: !1, offset: 0, pos: 0 }; if (c === 0 && d === 0) return { vertical: g, horizontal: m }; if (c === 0) p ? s < l && (m.pos = s, m.offset = l - s) : i > l && (m.pos = i, m.offset = l - i); else if (d === 0) h ? o < f && (g.pos = o, g.offset = f - o) : a > f && (g.pos = a, g.offset = f - a); else { var S = d / c, x = e[1] - S * f, _ = 0, y = 0, b = !1; h && o <= f ? (_ = S * o + x, y = o, b = !0) : !h && f <= a && (_ = S * a + x, y = a, b = !0), b && (_ < i || _ > s) && (b = !1), b || (p && s <= l ? (_ = s, y = (_ - x) / S, b = !0) : !p && l <= i && (_ = i, y = (_ - x) / S, b = !0)), b && (g.isBound = !0, g.pos = y, g.offset = f - y, m.isBound = !0, m.pos = _, m.offset = l - _); } return { vertical: g, horizontal: m }; } function vi(t, r, e) { var n = t[e ? "left" : "top"], a = t[e ? "right" : "bottom"], i = Math.min.apply(Math, N([], T(r), !1)), o = Math.max.apply(Math, N([], T(r), !1)), s = []; return n + 1 > i && s.push({ direction: "start", isBound: !0, offset: i - n, pos: n }), a - 1 < o && s.push({ direction: "end", isBound: !0, offset: o - a, pos: a }), s.length || s.push({ isBound: !1, offset: 0, pos: 0 }), s.sort(function(u, f) { return B(f.offset) - B(u.offset); }); } function di(t, r, e) { var n = e ? t.map(function(a) { return ge(a, e); }) : t; return n.some(function(a) { return a[0] < r.left && B(a[0] - r.left) > 0.1 || a[0] > r.right && B(a[0] - r.right) > 0.1 || a[1] < r.top && B(a[1] - r.top) > 0.1 || a[1] > r.bottom && B(a[1] - r.bottom) > 0.1; }); } function El(t, r, e) { var n = Xt(t), a = Math.sqrt(n * n - r * r) || 0; return [a, -a].sort(function(i, o) { return B(i - t[e ? 0 : 1]) - B(o - t[e ? 0 : 1]); }).map(function(i) { return St([0, 0], e ? [i, r] : [r, i]); }); } function Dl(t, r, e, n, a) { if (!t.props.bounds) return []; var i = a * Math.PI / 180, o = sn(t), s = o.left, u = o.top, f = o.right, l = o.bottom, v = s - n[0], c = f - n[0], d = u - n[1], p = l - n[1], h = { left: v, top: d, right: c, bottom: p }; if (!di(e, h, 0)) return []; var g = []; return [ [v, 0], [c, 0], [d, 1], [p, 1] ].forEach(function(m) { var S = T(m, 2), x = S[0], _ = S[1]; e.forEach(function(y) { var b = St([0, 0], y); g.push.apply(g, N([], T(El(y, x, _).map(function(D) { return i + D - b; }).filter(function(D) { return !di(r, h, D); }).map(function(D) { return tt(D * 180 / Math.PI, At); })), !1)); }); }), g; } var Cl = ["left", "right", "center"], Ml = ["top", "bottom", "middle"], pi = { left: "start", right: "end", center: "center", top: "start", bottom: "end", middle: "center" }, dr = { start: "left", end: "right", center: "center" }, pr = { start: "top", end: "bottom", center: "middle" }; function zr() { return { left: !1, top: !1, right: !1, bottom: !1 }; } function Ur(t, r) { var e = t.props, n = e.snappable, a = e.bounds, i = e.innerBounds, o = e.verticalGuidelines, s = e.horizontalGuidelines, u = e.snapGridWidth, f = e.snapGridHeight, l = t.state, v = l.guidelines, c = l.enableSnap; return !n || !c || r && n !== !0 && n.indexOf(r) < 0 ? !1 : !!(u || f || a || i || v && v.length || o && o.length || s && s.length); } function wa(t) { return t === !1 ? {} : t === !0 || !t ? { left: !0, right: !0, top: !0, bottom: !0 } : t; } function wl(t, r) { var e = wa(t), n = {}; for (var a in e) a in r && e[a] && (n[a] = r[a]); return n; } function Ta(t, r) { var e = wl(t, r), n = Ml.filter(function(i) { return i in e; }), a = Cl.filter(function(i) { return i in e; }); return { horizontalNames: n, verticalNames: a, horizontal: n.map(function(i) { return e[i]; }), vertical: a.map(function(i) { return e[i]; }) }; } function Tl(t, r, e) { var n = mt(t, [r.clientLeft, r.clientTop], e); return [ r.left + n[0], r.top + n[1] ]; } function Ol(t) { var r = T(t, 2), e = r[0], n = r[1], a = n[0] - e[0], i = n[1] - e[1]; Math.abs(a) < bt && (a = 0), Math.abs(i) < bt && (i = 0); var o = 0, s = 0, u = 0; return a ? i ? (o = -i / a, s = 1, u = o * e[0] - e[1]) : (s = 1, u = -e[1]) : (o = -1, u = e[0]), [o, s, u].map(function(f) { return tt(f, bt); }); } var rs = "snapRotationThreshold", es = "snapRotationDegrees", ns = "snapHorizontalThreshold", as = "snapVerticalThreshold"; function un(t, r, e, n, a, i, o) { var s; n === void 0 && (n = []), a === void 0 && (a = []); var u = t.props, f = ((s = t.state.snapThresholdInfo) === null || s === void 0 ? void 0 : s.multiples) || [1, 1], l = Oi(o, u[ns], 5), v = Oi(i, u[as], 5); return is(t.state.guidelines, r, e, n, a, l, v, f); } function is(t, r, e, n, a, i, o, s) { return { vertical: gi(t, "vertical", r, o * s[0], n), horizontal: gi(t, "horizontal", e, i * s[1], a) }; } function Rl(t, r, e) { var n = T(e, 2), a = n[0], i = n[1], o = T(r, 2), s = o[0], u = o[1], f = T(Q(e, r), 2), l = f[0], v = f[1], c = v > 0, d = l > 0; l = Ke(l), v = Ke(v); var p = { isSnap: !1, offset: 0, pos: 0 }, h = { isSnap: !1, offset: 0, pos: 0 }; if (l === 0 && v === 0) return { vertical: p, horizontal: h }; var g = un(t, l ? [a] : [], v ? [i] : [], [], [], void 0, void 0), m = g.vertical, S = g.horizontal; m.posInfos.filter(function(k) { var F = k.pos; return d ? F >= s : F <= s; }), S.posInfos.filter(function(k) { var F = k.pos; return c ? F >= u : F <= u; }), m.isSnap = m.posInfos.length > 0, S.isSnap = S.posInfos.length > 0; var x = Kn(m), _ = x.isSnap, y = x.guideline, b = Kn(S), D = b.isSnap, E = b.guideline, C = D ? E.pos[1] : 0, w = _ ? y.pos[0] : 0; if (l === 0) D && (h.isSnap = !0, h.pos = E.pos[1], h.offset = i - h.pos); else if (v === 0) _ && (p.isSnap = !0, p.pos = w, p.offset = a - w); else { var P = v / l, R = e[1] - P * a, O = 0, I = 0, z = !1; _ ? (I = w, O = P * I + R, z = !0) : D && (O = C, I = (O - R) / P, z = !0), z && (p.isSnap = !0, p.pos = I, p.offset = a - I, h.isSnap = !0, h.pos = O, h.offset = i - O); } return { vertical: p, horizontal: h }; } function fr(t) { var r = ""; return t === -1 || t === "top" || t === "left" ? r = "start" : t === 0 || t === "center" || t === "middle" ? r = "center" : (t === 1 || t === "right" || t === "bottom") && (r = "end"), r; } function hi(t, r, e, n) { var a = Ta(t.props.snapDirections, r), i = un(t, a.vertical, a.horizontal, a.verticalNames.map(function(u) { return fr(u); }), a.horizontalNames.map(function(u) { return fr(u); }), e, n), o = fr(a.horizontalNames[i.horizontal.index]), s = fr(a.verticalNames[i.vertical.index]); return { vertical: M(M({}, i.vertical), { direction: s }), horizontal: M(M({}, i.horizontal), { direction: o }) }; } function Kn(t) { var r = t.isSnap; if (!r) return { isSnap: !1, offset: 0, dist: -1, pos: 0, guideline: null }; var e = t.posInfos[0], n = e.guidelineInfos[0], a = n.offset, i = n.dist, o = n.guideline; return { isSnap: r, offset: a, dist: i, pos: e.pos, guideline: o }; } function gi(t, r, e, n, a) { var i, o; if (a === void 0 && (a = []), !t || !t.length) return { isSnap: !1, index: -1, direction: "", posInfos: [] }; var s = r === "vertical", u = s ? 0 : 1, f = e.map(function(v, c) { var d = a[c] || "", p = t.map(function(h) { var g = h.pos, m = v - g[u]; return { offset: m, dist: B(m), guideline: h, direction: d }; }).filter(function(h) { var g = h.guideline, m = h.dist, S = g.type; return !(S !== r || m > n); }).sort(function(h, g) { return h.dist - g.dist; }); return { pos: v, index: c, guidelineInfos: p, direction: d }; }).filter(function(v) { return v.guidelineInfos.length > 0; }).sort(function(v, c) { return v.guidelineInfos[0].dist - c.guidelineInfos[0].dist; }), l = f.length > 0; return { isSnap: l, index: l ? f[0].index : -1, direction: (o = (i = f[0]) === null || i === void 0 ? void 0 : i.direction) !== null && o !== void 0 ? o : "", posInfos: f }; } function Pl(t, r, e, n, a) { var i = []; e[0] && e[1] ? i = [ e, [-e[0], e[1]], [e[0], -e[1]] ] : !e[0] && !e[1] ? [ [-1, -1], [1, -1], [1, 1], [-1, 1] ].forEach(function(c, d, p) { var h = p[d + 1] || p[0]; i.push(c), i.push([ (c[0] + h[0]) / 2, (c[1] + h[1]) / 2 ]); }) : t.props.keepRatio ? i.push([-1, -1], [-1, 1], [1, -1], [1, 1], e) : (i.push.apply(i, N([], T(ol([ [-1, -1], [1, -1], [-1, -1], [1, 1] ], e)), !1)), i.length > 1 && i.push([ (i[0][0] + i[1][0]) / 2, (i[0][1] + i[1][1]) / 2 ])); var o = i.map(function(c) { return Mt(r, c); }), s = o.map(function(c) { return c[0]; }), u = o.map(function(c) { return c[1]; }), f = un(t, s, u, i.map(function(c) { return fr(c[0]); }), i.map(function(c) { return fr(c[1]); }), n, a), l = fr(i.map(function(c) { return c[0]; })[f.vertical.index]), v = fr(i.map(function(c) { return c[1]; })[f.horizontal.index]); return { vertical: M(M({}, f.vertical), { direction: l }), horizontal: M(M({}, f.horizontal), { direction: v }) }; } function os(t, r) { var e = B(t.offset), n = B(r.offset); return t.isBound && r.isBound ? n - e : t.isBound ? -1 : r.isBound ? 1 : t.isSnap && r.isSnap ? n - e : t.isSnap ? -1 : r.isSnap || e < At ? 1 : n < At ? -1 : e - n; } function qe(t, r) { return t.slice().sort(function(e, n) { var a = e.sign[r], i = n.sign[r], o = e.offset[r], s = n.offset[r]; if (a) { if (!i) return -1; } else return 1; return os({ isBound: e.isBound, isSnap: e.isSnap, offset: o }, { isBound: n.isBound, isSnap: n.isSnap, offset: s }); })[0]; } function Il(t, r, e) { var n = []; if (e) B(r[0]) !== 1 || B(r[1]) !== 1 ? n.push([r, [-1, -1]], [r, [-1, 1]], [r, [1, -1]], [r, [1, 1]]) : n.push([r, [t[0], -t[1]]], [r, [-t[0], t[1]]]), n.push([r, t]); else if (t[0] && t[1] || !t[0] && !t[1]) { var a = t[0] ? t : [1, 1]; [1, -1].forEach(function(o) { [1, -1].forEach(function(s) { var u = [o * a[0], s * a[1]]; r[0] === u[0] && r[1] === u[1] || n.push([r, u]); }); }); } else if (t[0]) { var i = B(r[0]) === 1 ? [1] : [1, -1]; i.forEach(function(o) { n.push([ [r[0], -1], [o * t[0], -1] ], [ [r[0], 0], [o * t[0], 0] ], [ [r[0], 1], [o * t[0], 1] ]); }); } else if (t[1]) { var i = B(r[1]) === 1 ? [1] : [1, -1]; i.forEach(function(s) { n.push([ [-1, r[1]], [-1, s * t[1]] ], [ [0, r[1]], [0, s * t[1]] ], [ [1, r[1]], [1, s * t[1]] ]); }); } return n; } function ss(t, r) { var e = Gn([r[0][0], r[1][0]]), n = Gn([r[0][1], r[1][1]]); return { vertical: e <= t[0], horizontal: n <= t[1] }; } function Oa(t, r) { var e = T(r, 2), n = e[0], a = e[1], i = a[0] - n[0], o = a[1] - n[1]; B(i) < At && (i = 0), B(o) < At && (o = 0); var s, u; if (!i) s = n[0], u = t[0]; else if (!o) s = n[1], u = t[1]; else { var f = o / i; s = f * (t[0] - n[0]) + n[1], u = t[1]; } return s - u; } function us(t, r, e, n) { return n === void 0 && (n = At), t.every(function(a) { var i = Oa(a, r), o = i <= 0; return o === e || B(i) <= n; }); } function mi(t, r, e, n, a) { return a === void 0 && (a = 0), n && r - a <= t || !n && t <= e + a ? { isBound: !0, offset: n ? r - t : e - t } : { isBound: !1, offset: 0 }; } function zl(t, r) { var e = r.line, n = r.centerSign, a = r.verticalSign, i = r.horizontalSign, o = r.lineConstants, s = t.props.innerBounds; if (!s) return { isAllBound: !1, isBound: !1, isVerticalBound: !1, isHorizontalBound: !1, offset: [0, 0] }; var u = s.left, f = s.top, l = s.width, v = s.height, c = [[u, f], [u, f + v]], d = [[u, f], [u + l, f]], p = [[u + l, f], [u + l, f + v]], h = [[u, f + v], [u + l, f + v]]; if (us([ [u, f], [u + l, f], [u, f + v], [u + l, f + v] ], e, n)) return { isAllBound: !1, isBound: !1, isVerticalBound: !1, isHorizontalBound: !1, offset: [0, 0] }; var g = lr(e, o, d, a), m = lr(e, o, h, a), S = lr(e, o, c, i), x = lr(e, o, p, i), _ = g.isBound && m.isBound, y = g.isBound || m.isBound, b = S.isBound && x.isBound, D = S.isBound || x.isBound, E = Wr(g.offset, m.offset), C = Wr(S.offset, x.offset), w = [0, 0], P = !1, R = !1; return B(C) < B(E) ? (w = [E, 0], P = y, R = _) : (w = [0, C], P = D, R = b), { isAllBound: R, isVerticalBound: y, isHorizontalBound: D, isBound: P, offset: w }; } function lr(t, r, e, n, a, i) { var o = T(r, 2), s = o[0], u = o[1], f = t[0], l = e[0], v = e[1], c = Ke(v[1] - l[1]), d = Ke(v[0] - l[0]), p = u, h = s, g = -s / u; if (d) { if (!c) { if (i && !p) return { isBound: !1, offset: 0 }; if (h) { var _ = (l[1] - f[1]) / g + f[0]; return mi(_, l[0], v[0], n, a); } else { var S = l[1] - f[1], x = B(S) <= (a || 0); return { isBound: x, offset: x ? S : 0 }; } } } else { if (i && !h) return { isBound: !1, offset: 0 }; if (p) { var m = g * (l[0] - f[0]) + f[1]; return mi(m, l[1], v[1], n, a); } else { var S = l[0] - f[0], x = B(S) <= (a || 0); return { isBound: x, offset: x ? S : 0 }; } } return { isBound: !1, offset: 0 }; } function fs(t, r, e) { return r.map(function(n) { var a = zl(t, n), i = a.isBound, o = a.offset, s = a.isVerticalBound, u = a.isHorizontalBound, f = n.multiple, l = tr({ datas: e, distX: o[0], distY: o[1] }).map(function(v, c) { return v * (f[c] ? 2 / f[c] : 0); }); return { sign: f, isBound: i, isVerticalBound: s, isHorizontalBound: u, isSnap: !1, offset: l }; }); } function Gl(t, r, e) { var n, a = Ra(t, r, [0, 0], !1).map(function(c) { return M(M({}, c), { multiple: c.multiple.map(function(d) { return B(d) * 2; }) }); }), i = fs(t, a, e), o = qe(i, 0), s = qe(i, 1), u = 0, f = 0, l = o.isVerticalBound || s.isVerticalBound, v = o.isHorizontalBound || s.isHorizontalBound; return (l || v) && (n = T(al({ datas: e, distX: -o.offset[0], distY: -s.offset[1] }), 2), u = n[0], f = n[1]), { vertical: { isBound: l, offset: u }, horizontal: { isBound: v, offset: f } }; } function Bl(t, r) { var e = [], n = t[0], a = t[1]; return n && a ? e.push([[0, a * 2], t, [-n, a]], [[n * 2, 0], t, [n, -a]]) : n ? (e.push([[n * 2, 0], [n, 1], [n, -1]]), r && e.push([[0, -1], [n, -1], [-n, -1]], [[0, 1], [n, 1], [-n, 1]])) : a ? (e.push([[0, a * 2], [1, a], [-1, a]]), r && e.push([[-1, 0], [-1, a], [-1, -a]], [[1, 0], [1, a], [1, -a]])) : e.push([[-1, 0], [-1, -1], [-1, 1]], [[1, 0], [1, -1], [1, 1]], [[0, -1], [-1, -1], [1, -1]], [[0, 1], [-1, 1], [1, 1]]), e; } function Ra(t, r, e, n) { var a = t.state, i = a.allMatrix, o = a.is3d, s = wr(i, 100, 100, o ? 4 : 3), u = Mt(s, [0, 0]); return Bl(e, n).map(function(f) { var l = T(f, 3), v = l[0], c = l[1], d = l[2], p = [ Mt(s, c), Mt(s, d) ], h = Ol(p), g = ss(u, p), m = g.vertical, S = g.horizontal, x = Oa(u, p) <= 0; return { multiple: v, centerSign: x, verticalSign: m, horizontalSign: S, lineConstants: h, line: [ Mt(r, c), Mt(r, d) ] }; }); } function Si(t, r, e, n) { var a = n ? t.map(function(i) { return ge(i, n); }) : t; return [ [a[0], a[1]], [a[1], a[3]], [a[3], a[2]], [a[2], a[0]] ].some(function(i) { var o = Oa(e, i) <= 0; return !us(r, i, o); }); } function Al(t) { var r = T(t, 2), e = r[0], n = r[1], a = n[0] - e[0], i = n[1] - e[1]; if (!a) return B(e[0]); if (!i) return B(e[1]); var o = i / a; return B((-o * e[0] + e[1]) / Math.sqrt(Math.pow(o, 2) + 1)); } function kl(t) { var r = T(t, 2), e = r[0], n = r[1], a = n[0] - e[0], i = n[1] - e[1]; if (!a) return [e[0], 0]; if (!i) return [0, e[1]]; var o = i / a, s = -o * e[0] + e[1]; return [ -s / (o + 1 / o), s / (o * o + 1) ]; } function Fl(t, r, e, n, a) { var i = t.props.innerBounds, o = a * Math.PI / 180; if (!i) return []; var s = i.left, u = i.top, f = i.width, l = i.height, v = s - n[0], c = s + f - n[0], d = u - n[1], p = u + l - n[1], h = [ [v, d], [c, d], [v, p], [c, p] ], g = Mt(e, [0, 0]); if (!Si(e, h, g, 0)) return []; var m = [], S = h.map(function(x) { return [ Xt(x), St([0, 0], x) ]; }); return [ [e[0], e[1]], [e[1], e[3]], [e[3], e[2]], [e[2], e[0]] ].forEach(function(x) { var _ = St([0, 0], kl(x)), y = Al(x); m.push.apply(m, N([], T(S.filter(function(b) { var D = T(b, 1), E = D[0]; return E && y <= E; }).map(function(b) { var D = T(b, 2), E = D[0], C = D[1], w = Math.acos(E ? y / E : 0), P = C + w, R = C - w; return [ o + P - _, o + R - _ ]; }).reduce(function(b, D) { return b.push.apply(b, N([], T(D), !1)), b; }, []).filter(function(b) { return !Si(r, h, g, b); }).map(function(b) { return tt(b * 180 / Math.PI, At); })), !1)); }), m; } function Nl(t) { var r = t.props.innerBounds, e = zr(); if (!r) return { boundMap: e, vertical: [], horizontal: [] }; var n = t.getRect(), a = n.pos1, i = n.pos2, o = n.pos3, s = n.pos4, u = [a, i, o, s], f = Mt(u, [0, 0]), l = r.left, v = r.top, c = r.width, d = r.height, p = [[l, v], [l, v + d]], h = [[l, v], [l + c, v]], g = [[l + c, v], [l + c, v + d]], m = [[l, v + d], [l + c, v + d]], S = Ra(t, u, [0, 0], !1), x = [], _ = []; return S.forEach(function(y) { var b = y.line, D = y.lineConstants, E = ss(f, b), C = E.horizontal, w = E.vertical, P = lr(b, D, h, w, 1, !0), R = lr(b, D, m, w, 1, !0), O = lr(b, D, p, C, 1, !0), I = lr(b, D, g, C, 1, !0); P.isBound && !e.top && (x.push(v), e.top = !0), R.isBound && !e.bottom && (x.push(v + d), e.bottom = !0), O.isBound && !e.left && (_.push(l), e.left = !0), I.isBound && !e.right && (_.push(l + c), e.right = !0); }), { boundMap: e, horizontal: x, vertical: _ }; } function Hl(t, r, e, n) { var a = r[0] - t[0], i = r[1] - t[1]; if (B(a) < bt && (a = 0), B(i) < bt && (i = 0), !a) return n ? [0, 0] : [0, e]; if (!i) return n ? [e, 0] : [0, 0]; var o = i / a, s = t[1] - o * t[0]; if (n) { var u = o * (r[0] + e) + s; return [e, u - r[1]]; } else { var f = (r[1] + e - s) / o; return [f - r[0], e]; } } function Zn(t, r, e, n, a) { var i = Hl(t, r, e, n); if (!i) return { isOutside: !1, offset: [0, 0] }; var o = er(t, r), s = er(i, t), u = er(i, r), f = s > o || u > o, l = T(tr({ datas: a, distX: i[0], distY: i[1] }), 2), v = l[0], c = l[1]; return { offset: [v, c], isOutside: f }; } function je(t, r) { return t.isBound ? t.offset : r.isSnap ? Kn(r).offset : 0; } function Wl(t, r, e, n, a) { var i = T(r, 2), o = i[0], s = i[1], u = T(e, 2), f = u[0], l = u[1], v = T(n, 2), c = v[0], d = v[1], p = T(a, 2), h = p[0], g = p[1], m = -h, S = -g; if (t && o && s) { m = 0, S = 0; var x = []; if (f && l ? x.push([0, g], [h, 0]) : f ? x.push([h, 0]) : l ? x.push([0, g]) : c && d ? x.push([0, g], [h, 0]) : c ? x.push([h, 0]) : d && x.push([0, g]), x.length) { x.sort(function(D, E) { return Xt(Q([o, s], D)) - Xt(Q([o, s], E)); }); var _ = x[0]; if (_[0] && B(o) > bt) m = -_[0], S = s * B(o + m) / B(o) - s; else if (_[1] && B(s) > bt) { var y = s; S = -_[1], m = o * B(s + S) / B(y) - o; } if (t && l && f) if (B(m) > bt && B(m) < B(h)) { var b = B(h) / B(m); m *= b, S *= b; } else if (B(S) > bt && B(S) < B(g)) { var b = B(g) / B(S); m *= b, S *= b; } else m = Wr(-h, m), S = Wr(-g, S); } } else m = o || f ? -h : 0, S = s || l ? -g : 0; return [m, S]; } function Yl(t, r, e, n, a, i) { if (!Ur(t, "draggable")) return [ { isSnap: !1, isBound: !1, offset: 0 }, { isSnap: !1, isBound: !1, offset: 0 } ]; var o = za(i.absolutePoses, [r, e]), s = Lt(o), u = s.left, f = s.right, l = s.top, v = s.bottom, c = { horizontal: o.map(function(I) { return I[1]; }), vertical: o.map(function(I) { return I[0]; }) }, d = wa(t.props.snapDirections), p = Ta(d, { left: u, right: f, top: l, bottom: v, center: (u + f) / 2, middle: (l + v) / 2 }), h = fn(t, a, p, c), g = h.vertical, m = h.horizontal, S = Gl(t, o, i), x = S.vertical, _ = S.horizontal, y = g.isSnap, b = m.isSnap, D = g.isBound || x.isBound, E = m.isBound || _.isBound, C = Wr(g.offset, x.offset), w = Wr(m.offset, _.offset), P = T(Wl(n, [r, e], [D, E], [y, b], [C, w]), 2), R = P[0], O = P[1]; return [ { isBound: D, isSnap: y, offset: R }, { isBound: E, isSnap: b, offset: O } ]; } function fn(t, r, e, n) { n === void 0 && (n = e); var a = Ma(sn(t), n.vertical, n.horizontal), i = a.horizontal, o = a.vertical, s = r ? { horizontal: { isSnap: !1, index: -1 }, vertical: { isSnap: !1, index: -1 } } : un(t, e.vertical, e.horizontal, void 0, void 0, void 0, void 0), u = s.horizontal, f = s.vertical, l = je(i[0], u), v = je(o[0], f), c = B(l), d = B(v); return { horizontal: { isBound: i[0].isBound, isSnap: u.isSnap, snapIndex: u.index, offset: l, dist: c, bounds: i, snap: u }, vertical: { isBound: o[0].isBound, isSnap: f.isSnap, snapIndex: f.index, offset: v, dist: d, bounds: o, snap: f } }; } function xi(t, r, e, n, a, i, o) { o === void 0 && (o = [1, 1]); var s = Ma(r, e, n), u = s.horizontal, f = s.vertical, l = is(t, e, n, [], [], a, i, o), v = l.horizontal, c = l.vertical, d = je(u[0], v), p = je(f[0], c), h = B(d), g = B(p); return { horizontal: { isBound: u[0].isBound, isSnap: v.isSnap, snapIndex: v.index, offset: d, dist: h, bounds: u, snap: v }, vertical: { isBound: f[0].isBound, isSnap: c.isSnap, snapIndex: c.index, offset: p, dist: g, bounds: f, snap: c } }; } function Ll(t, r, e, n) { var a = St(t, r) / Math.PI * 180, i = e.vertical, o = i.isBound, s = i.isSnap, u = i.dist, f = e.horizontal, l = f.isBound, v = f.isSnap, c = f.dist, d = a % 180, p = d < 3 || d > 177, h = d > 87 && d < 93; return c < u && (o || s && !h && (!n || !p)) ? "vertical" : l || v && !p && (!n || !h) ? "horizontal" : ""; } function Xl(t, r, e, n, a, i) { return e.map(function(o) { var s = T(o, 2), u = s[0], f = s[1], l = Mt(r, u), v = Mt(r, f), c = n ? Vl(t, l, v, a) : fn(t, a, { vertical: [v[0]], horizontal: [v[1]] }), d = c.horizontal, p = d.offset, h = d.isBound, g = d.isSnap, m = c.vertical, S = m.offset, x = m.isBound, _ = m.isSnap, y = Q(f, u); if (!S && !p) return { isBound: x || h, isSnap: _ || g, sign: y, offset: [0, 0] }; var b = Ll(l, v, c, n); if (!b) return { sign: y, isBound: !1, isSnap: !1, offset: [0, 0] }; var D = b === "vertical", E = [0, 0]; return !n && B(f[0]) === 1 && B(f[1]) === 1 && u[0] !== f[0] && u[1] !== f[1] ? E = tr({ datas: i, distX: -S, distY: -p }) : E = Zn(l, v, -(D ? S : p), D, i).offset, E = E.map(function(C, w) { return C * (y[w] ? 2 / y[w] : 0); }), { sign: y, isBound: D ? x : h, isSnap: D ? _ : g, offset: E }; }); } function _i(t, r) { return t.isBound ? t.offset : r.isSnap ? r.offset : 0; } function Vl(t, r, e, n) { var a = yl(t, r, e), i = a.horizontal, o = a.vertical, s = n ? { horizontal: { isSnap: !1 }, vertical: { isSnap: !1 } } : Rl(t, r, e), u = s.horizontal, f = s.vertical, l = _i(i, u), v = _i(o, f), c = B(l), d = B(v); return { horizontal: { isBound: i.isBound, isSnap: u.isSnap, offset: l, dist: c }, vertical: { isBound: o.isBound, isSnap: f.isSnap, offset: v, dist: d } }; } function ql(t, r, e, n, a) { var i = [-e[0], -e[1]], o = t.state, s = o.width, u = o.height, f = t.props.bounds, l = 1 / 0, v = 1 / 0; if (f) { var c = [ [e[0], -e[1]], [-e[0], e[1]] ], d = f.left, p = d === void 0 ? -1 / 0 : d, h = f.top, g = h === void 0 ? -1 / 0 : h, m = f.right, S = m === void 0 ? 1 / 0 : m, x = f.bottom, _ = x === void 0 ? 1 / 0 : x; c.forEach(function(y) { var b = y[0] !== i[0], D = y[1] !== i[1], E = Mt(r, y), C = St(n, E) * 360 / Math.PI; if (D) { var w = E.slice(); (B(C - 360) < 2 || B(C - 180) < 2) && (w[1] = n[1]); var P = Zn(n, w, (n[1] < E[1] ? _ : g) - E[1], !1, a), R = T(P.offset, 2), O = R[1], I = P.isOutside; isNaN(O) || (v = u + (I ? 1 : -1) * B(O)); } if (b) { var w = E.slice(); (B(C - 90) < 2 || B(C - 270) < 2) && (w[0] = n[0]); var z = Zn(n, w, (n[0] < E[0] ? S : p) - E[0], !0, a), k = T(z.offset, 1), F = k[0], A = z.isOutside; isNaN(F) || (l = s + (A ? 1 : -1) * B(F)); } }); } return { maxWidth: l, maxHeight: v }; } var zt = { name: "draggable", props: [ "draggable", "throttleDrag", "throttleDragRotate", "hideThrottleDragRotateLine", "startDragRotate", "edgeDraggable" ], events: [ "dragStart", "drag", "dragEnd", "dragGroupStart", "dragGroup", "dragGroupEnd" ], requestStyle: function() { return ["left", "top", "right", "bottom"]; }, requestChildStyle: function() { return ["left", "top", "right", "bottom"]; }, render: function(t, r) { var e = t.props, n = e.hideThrottleDragRotateLine, a = e.throttleDragRotate, i = e.zoom, o = t.getState(), s = o.dragInfo, u = o.beforeOrigin; if (n || !a || !s) return []; var f = s.dist; if (!f[0] && !f[1]) return []; var l = Xt(f), v = St(f, [0, 0]); return [r.createElement("div", { className: Z("line", "horizontal", "dragline", "dashed"), key: "dragRotateGuideline", style: { width: "".concat(l, "px"), transform: "translate(".concat(u[0], "px, ").concat(u[1], "px) rotate(").concat(v, "rad) scaleY(").concat(i, ")") } })]; }, dragStart: function(t, r) { var e = r.datas, n = r.parentEvent, a = r.parentGesto, i = t.state, o = i.gestos, s = i.style; if (o.draggable) return !1; o.draggable = a || t.targetGesto, e.datas = {}, e.left = parseFloat(s.left || "") || 0, e.top = parseFloat(s.top || "") || 0, e.bottom = parseFloat(s.bottom || "") || 0, e.right = parseFloat(s.right || "") || 0, e.startValue = [0, 0], Mr(t, r), on(t, r, "translate"), cc(t, e), e.prevDist = [0, 0], e.prevBeforeDist = [0, 0], e.isDrag = !1, e.deltaOffset = [0, 0]; var u = nt(t, r, M({ set: function(l) { e.startValue = l; } }, an(t, r))), f = n || U(t, "onDragStart", u); return f !== !1 ? (e.isDrag = !0, t.state.dragInfo = { startRect: t.getRect(), dist: [0, 0] }) : (o.draggable = null, e.isPinch = !1), e.isDrag ? u : !1; }, drag: function(t, r) { if (r) { en(t, r, "translate"); var e = r.datas, n = r.parentEvent, a = r.parentFlag, i = r.isPinch, o = r.deltaOffset, s = r.useSnap, u = r.isRequest, f = r.isGroup, l = r.parentThrottleDrag, v = r.distX, c = r.distY, d = e.isDrag, p = e.prevDist, h = e.prevBeforeDist, g = e.startValue; if (d) { o && (v += o[0], c += o[1]); var m = t.props, S = m.parentMoveable, x = f ? 0 : m.throttleDrag || l || 0, _ = n ? 0 : m.throttleDragRotate || 0, y = 0, b = !1, D = !1, E = !1, C = !1; if (!n && _ > 0 && (v || c)) { var w = m.startDragRotate || 0, P = tt(w + St([0, 0], [v, c]) * 180 / Math.PI, _) - w, R = c * Math.abs(Math.cos((P - 90) / 180 * Math.PI)), O = v * Math.abs(Math.cos(P / 180 * Math.PI)), I = Xt([O, R]); y = P * Math.PI / 180, v = I * Math.cos(y), c = I * Math.sin(y); } if (!i && !n && !a) { var z = T(Yl(t, v, c, _, !s && u || o, e), 2), k = z[0], F = z[1]; b = k.isSnap, D = k.isBound, E = F.isSnap, C = F.isBound; var A = k.offset, H = F.offset; v += A, c += H; } var W = ut(Xo({ datas: e, distX: v, distY: c }), g), G = ut(nl({ datas: e, distX: v, distY: c }), g); Qa(G, At), Qa(W, At), _ || (!b && !D && (G[0] = tt(G[0], x), W[0] = tt(W[0], x)), !E && !C && (G[1] = tt(G[1], x), W[1] = tt(W[1], x))); var V = Q(W, g), q = Q(G, g), Y = Q(q, p), j = Q(V, h); e.prevDist = q, e.prevBeforeDist = V, e.passDelta = Y, e.passDist = q; var L = e.left + V[0], $ = e.top + V[1], J = e.right - V[0], at = e.bottom - V[1], st = nn(e, "translate(".concat(G[0], "px, ").concat(G[1], "px)"), "translate(".concat(q[0], "px, ").concat(q[1], "px)")); if (Da(r, st), t.state.dragInfo.dist = n ? [0, 0] : q, !(!n && !S && Y.every(function(et) { return !et; }) && j.some(function(et) { return !et; }))) { var X = t.state, K = X.width, ft = X.height, rt = nt(t, r, M({ transform: st, dist: q, delta: Y, translate: G, beforeDist: V, beforeDelta: j, beforeTranslate: W, left: L, top: $, right: J, bottom: at, width: K, height: ft, isPinch: i }, Bt({ transform: st }, r))); return !n && U(t, "onDrag", rt), rt; } } } }, dragAfter: function(t, r) { var e = r.datas, n = e.deltaOffset; return n[0] || n[1] ? (e.deltaOffset = [0, 0], this.drag(t, M(M({}, r), { deltaOffset: n }))) : !1; }, dragEnd: function(t, r) { var e = r.parentEvent, n = r.datas; if (t.state.dragInfo = null, !!n.isDrag) { n.isDrag = !1; var a = Wt(t, r, {}); return !e && U(t, "onDragEnd", a), a; } }, dragGroupStart: function(t, r) { var e, n, a = r.datas, i = r.clientX, o = r.clientY, s = this.dragStart(t, r); if (!s) return !1; var u = yn(t, this, "dragStart", [ i || 0, o || 0 ], r, !1, "draggable"), f = u.childEvents, l = u.eventParams, v = M(M({}, s), { targets: t.props.targets, events: l }), c = U(t, "onDragGroupStart", v); a.isDrag = c !== !1; var d = (n = (e = f[0]) === null || e === void 0 ? void 0 : e.datas.startValue) !== null && n !== void 0 ? n : [0, 0]; return a.throttleOffset = [d[0] % 1, d[1] % 1], a.isDrag ? s : !1; }, dragGroup: function(t, r) { var e = r.datas; if (e.isDrag) { var n = this.drag(t, M(M({}, r), { parentThrottleDrag: t.props.throttleDrag })), a = r.datas.passDelta, i = yn(t, this, "drag", a, r, !1, "draggable").eventParams; if (n) { var o = M({ targets: t.props.targets, events: i }, n); return U(t, "onDragGroup", o), o; } } }, dragGroupEnd: function(t, r) { var e = r.isDrag, n = r.datas; if (n.isDrag) { this.dragEnd(t, r); var a = yn(t, this, "dragEnd", [0, 0], r, !1, "draggable").eventParams; return U(t, "onDragGroupEnd", Wt(t, r, { targets: t.props.targets, events: a })), e; } }, /** * @method Moveable.Draggable#request * @param {object} [e] - the draggable's request parameter * @param {number} [e.x] - x position * @param {number} [e.y] - y position * @param {number} [e.deltaX] - X number to move * @param {number} [e.deltaY] - Y number to move * @return {Moveable.Requester} Moveable Requester * @example * // Instantly Request (requestStart - request - requestEnd) * // Use Relative Value * moveable.request("draggable", { deltaX: 10, deltaY: 10 }, true); * // Use Absolute Value * moveable.request("draggable", { x: 200, y: 100 }, true); * * // requestStart * const requester = moveable.request("draggable"); * * // request * // Use Relative Value * requester.request({ deltaX: 10, deltaY: 10 }); * requester.request({ deltaX: 10, deltaY: 10 }); * requester.request({ deltaX: 10, deltaY: 10 }); * // Use Absolute Value * moveable.request("draggable", { x: 200, y: 100 }); * moveable.request("draggable", { x: 220, y: 100 }); * moveable.request("draggable", { x: 240, y: 100 }); * * // requestEnd * requester.requestEnd(); */ request: function(t) { var r = {}, e = t.getRect(), n = 0, a = 0, i = !1; return { isControl: !1, requestStart: function(o) { return i = o.useSnap, { datas: r, useSnap: i }; }, request: function(o) { return "x" in o ? n = o.x - e.left : "deltaX" in o && (n += o.deltaX), "y" in o ? a = o.y - e.top : "deltaY" in o && (a += o.deltaY), { datas: r, distX: n, distY: a, useSnap: i }; }, requestEnd: function() { return { datas: r, isDrag: !0, useSnap: i }; } }; }, unset: function(t) { t.state.gestos.draggable = null, t.state.dragInfo = null; } }; function ls(t, r) { var e = Mt(t, r), n = [0, 0]; return { fixedPosition: e, fixedDirection: r, fixedOffset: n }; } function jl(t, r) { var e = t.allMatrix, n = t.is3d, a = t.width, i = t.height, o = n ? 4 : 3, s = [ a / 2 * (1 + r[0]), i / 2 * (1 + r[1]) ], u = mt(e, s, o), f = [0, 0]; return { fixedPosition: u, fixedDirection: r, fixedOffset: f }; } function cs(t, r) { var e = t.allMatrix, n = t.is3d, a = t.width, i = t.height, o = n ? 4 : 3, s = cl(r, a, i), u = mt(e, r, o), f = [ a ? 0 : r[0], i ? 0 : r[1] ]; return { fixedPosition: u, fixedDirection: s, fixedOffset: f }; } var bi = Aa("resizable"), Jn = { name: "resizable", ableGroup: "size", canPinch: !0, props: [ "resizable", "throttleResize", "renderDirections", "displayAroundControls", "keepRatio", "resizeFormat", "keepRatioFinally", "edge", "checkResizableError" ], events: [ "resizeStart", "beforeResize", "resize", "resizeEnd", "resizeGroupStart", "beforeResizeGroup", "resizeGroup", "resizeGroupEnd" ], render: Jo("resizable"), dragControlCondition: bi, viewClassName: Ba("resizable"), dragControlStart: function(t, r) { var e, n = r.inputEvent, a = r.isPinch, i = r.isGroup, o = r.parentDirection, s = r.parentGesto, u = r.datas, f = r.parentFixedDirection, l = r.parentEvent, v = Ds(o, a, n, u), c = t.state, d = c.target, p = c.width, h = c.height, g = c.gestos; if (!v || !d || g.resizable) return !1; g.resizable = s || t.controlGesto, !a && Mr(t, r), u.datas = {}, u.direction = v, u.startOffsetWidth = p, u.startOffsetHeight = h, u.prevWidth = 0, u.prevHeight = 0, u.minSize = [0, 0], u.startWidth = c.inlineCSSWidth || c.cssWidth, u.startHeight = c.inlineCSSHeight || c.cssHeight, u.maxSize = [1 / 0, 1 / 0], i || (u.minSize = [ c.minOffsetWidth, c.minOffsetHeight ], u.maxSize = [ c.maxOffsetWidth, c.maxOffsetHeight ]); var m = t.props.transformOrigin || "% %"; u.transformOrigin = m && Ft(m) ? m.split(" ") : m, u.startOffsetMatrix = c.offsetMatrix, u.startTransformOrigin = c.transformOrigin, u.isWidth = (e = r == null ? void 0 : r.parentIsWidth) !== null && e !== void 0 ? e : !v[0] && !v[1] || v[0] || !v[1]; function S(C) { u.ratio = C && isFinite(C) ? C : 0; } u.startPositions = Vt(t.state); function x(C) { var w = ls(u.startPositions, C); u.fixedDirection = w.fixedDirection, u.fixedPosition = w.fixedPosition, u.fixedOffset = w.fixedOffset; } function _(C) { var w = cs(t.state, C); u.fixedDirection = w.fixedDirection, u.fixedPosition = w.fixedPosition, u.fixedOffset = w.fixedOffset; } function y(C) { u.minSize = [ vt("".concat(C[0]), 0) || 0, vt("".concat(C[1]), 0) || 0 ]; } function b(C) { var w = [ C[0] || 1 / 0, C[1] || 1 / 0 ]; (!kr(w[0]) || isFinite(w[0])) && (w[0] = vt("".concat(w[0]), 0) || 1 / 0), (!kr(w[1]) || isFinite(w[1])) && (w[1] = vt("".concat(w[1]), 0) || 1 / 0), u.maxSize = w; } S(p / h), x(f || [-v[0], -v[1]]), u.setFixedDirection = x, u.setFixedPosition = _, u.setMin = y, u.setMax = b; var D = nt(t, r, { direction: v, startRatio: u.ratio, set: function(C) { var w = T(C, 2), P = w[0], R = w[1]; u.startWidth = P, u.startHeight = R; }, setMin: y, setMax: b, setRatio: S, setFixedDirection: x, setFixedPosition: _, setOrigin: function(C) { u.transformOrigin = C; }, dragStart: zt.dragStart(t, new Nr().dragStart([0, 0], r)) }), E = l || U(t, "onResizeStart", D); return u.startFixedDirection = u.fixedDirection, u.startFixedPosition = u.fixedPosition, E !== !1 && (u.isResize = !0, t.state.snapRenderInfo = { request: r.isRequest, direction: v }), u.isResize ? D : !1; }, dragControl: function(t, r) { var e, n = r.datas, a = r.parentFlag, i = r.isPinch, o = r.parentKeepRatio, s = r.dragClient, u = r.parentDist, f = r.useSnap, l = r.isRequest, v = r.isGroup, c = r.parentEvent, d = r.resolveMatrix, p = n.isResize, h = n.transformOrigin, g = n.startWidth, m = n.startHeight, S = n.prevWidth, x = n.prevHeight, _ = n.minSize, y = n.maxSize, b = n.ratio, D = n.startOffsetWidth, E = n.startOffsetHeight, C = n.isWidth; if (!p) return; if (d) { var w = t.state.is3d, P = n.startOffsetMatrix, R = n.startTransformOrigin, O = w ? 4 : 3, I = ue(Xe(r)), z = Math.sqrt(I.length); O !== z && (I = Kt(I, z, O)); var k = be(P, I, R, O), F = wr(k, D, E, O); n.startPositions = F, n.nextTargetMatrix = I, n.nextAllMatrix = k; } var A = Cr(t.props, "resizable"), H = A.resizeFormat, W = A.throttleResize, G = W === void 0 ? a ? 0 : 1 : W, V = A.parentMoveable, q = A.keepRatioFinally, Y = n.direction, j = Y, L = 0, $ = 0; !Y[0] && !Y[1] && (j = [1, 1]); var J = b && (o ?? A.keepRatio) || !1; function at() { var xt = n.fixedDirection, Et = Ps(j, J, n, r); L = Et.distWidth, $ = Et.distHeight; var or = j[0] - xt[0] || J ? Math.max(D + L, At) : D, sr = j[1] - xt[1] || J ? Math.max(E + $, At) : E; return J && D && E && (C ? sr = or / b : or = sr * b), [or, sr]; } var st = T(at(), 2), X = st[0], K = st[1]; c || (n.setFixedDirection(n.fixedDirection), U(t, "onBeforeResize", nt(t, r, { startFixedDirection: n.startFixedDirection, startFixedPosition: n.startFixedPosition, setFixedDirection: function(xt) { var Et; return n.setFixedDirection(xt), Et = T(at(), 2), X = Et[0], K = Et[1], [X, K]; }, setFixedPosition: function(xt) { var Et; return n.setFixedPosition(xt), Et = T(at(), 2), X = Et[0], K = Et[1], [X, K]; }, boundingWidth: X, boundingHeight: K, setSize: function(xt) { var Et; Et = T(xt, 2), X = Et[0], K = Et[1]; } }, !0))); var ft = s; s || (!a && i ? ft = hl(t, [0, 0]) : ft = n.fixedPosition); var rt = [0, 0]; i || (rt = fc(t, X, K, Y, ft, !f && l, n)), u && (!u[0] && (rt[0] = 0), !u[1] && (rt[1] = 0)); function et() { var xt; H && (xt = T(H([X, K]), 2), X = xt[0], K = xt[1]), X = tt(X, G), K = tt(K, G); } if (J) { j[0] && j[1] && rt[0] && rt[1] && (B(rt[0]) > B(rt[1]) ? rt[1] = 0 : rt[0] = 0); var ot = !rt[0] && !rt[1]; ot && et(), j[0] && !j[1] || rt[0] && !rt[1] || ot && C ? (X += rt[0], K = X / b) : (!j[0] && j[1] || !rt[0] && rt[1] || ot && !C) && (K += rt[1], X = K * b); } else X += rt[0], K += rt[1], X = Math.max(0, X), K = Math.max(0, K); e = T(eo([X, K], _, y, J ? b : !1), 2), X = e[0], K = e[1], et(), J && (v || q) && (C ? K = X / b : X = K * b), L = X - D, $ = K - E; var ct = [L - S, $ - x]; n.prevWidth = L, n.prevHeight = $; var pt = pl(t, X, K, ft, h, n); if (!(!V && ct.every(function(xt) { return !xt; }) && pt.every(function(xt) { return !xt; }))) { var it = zt.drag(t, _e(r, t.state, pt, !!i, !1, "draggable")), lt = it.transform, wt = g + L, Pt = m + $, Ot = nt(t, r, M({ width: wt, height: Pt, offsetWidth: Math.round(X), offsetHeight: Math.round(K), startRatio: b, boundingWidth: X, boundingHeight: K, direction: Y, dist: [L, $], delta: ct, isPinch: !!i, drag: it }, Ms({ style: { width: "".concat(wt, "px"), height: "".concat(Pt, "px") }, transform: lt }, it, r))); return !c && U(t, "onResize", Ot), Ot; } }, dragControlAfter: function(t, r) { var e = r.datas, n = e.isResize, a = e.startOffsetWidth, i = e.startOffsetHeight, o = e.prevWidth, s = e.prevHeight; if (!(!n || t.props.checkResizableError === !1)) { var u = t.state, f = u.width, l = u.height, v = f - (a + o), c = l - (i + s), d = B(v) > 3, p = B(c) > 3; if (d && (e.startWidth += v, e.startOffsetWidth += v, e.prevWidth += v), p && (e.startHeight += c, e.startOffsetHeight += c, e.prevHeight += c), d || p) return this.dragControl(t, r); } }, dragControlEnd: function(t, r) { var e = r.datas, n = r.parentEvent; if (e.isResize) { e.isResize = !1; var a = Wt(t, r, {}); return !n && U(t, "onResizeEnd", a), a; } }, dragGroupControlCondition: bi, dragGroupControlStart: function(t, r) { var e = r.datas, n = this.dragControlStart(t, M(M({}, r), { isGroup: !0 })); if (!n) return !1; var a = Ut(t, "resizable", r), i = e.startOffsetWidth, o = e.startOffsetHeight; function s() { var d = e.minSize; a.forEach(function(p) { var h = p.datas, g = h.minSize, m = h.startOffsetWidth, S = h.startOffsetHeight, x = i * (m ? g[0] / m : 0), _ = o * (S ? g[1] / S : 0); d[0] = Math.max(d[0], x), d[1] = Math.max(d[1], _); }); } function u() { var d = e.maxSize; a.forEach(function(p) { var h = p.datas, g = h.maxSize, m = h.startOffsetWidth, S = h.startOffsetHeight, x = i * (m ? g[0] / m : 0), _ = o * (S ? g[1] / S : 0); d[0] = Math.min(d[0], x), d[1] = Math.min(d[1], _); }); } var f = nr(t, this, "dragControlStart", r, function(d, p) { return Ve(t, d, e, p); }); s(), u(); var l = function(d) { n.setFixedDirection(d), f.forEach(function(p, h) { p.setFixedDirection(d), Ve(t, p.moveable, e, a[h]); }); }; e.setFixedDirection = l; var v = M(M({}, n), { targets: t.props.targets, events: f.map(function(d) { return M(M({}, d), { setMin: function(p) { d.setMin(p), s(); }, setMax: function(p) { d.setMax(p), u(); } }); }), setFixedDirection: l, setMin: function(d) { n.setMin(d), s(); }, setMax: function(d) { n.setMax(d), u(); } }), c = U(t, "onResizeGroupStart", v); return e.isResize = c !== !1, e.isResize ? n : !1; }, dragGroupControl: function(t, r) { var e = r.datas; if (e.isResize) { var n = Cr(t.props, "resizable"); cn(t, "onBeforeResize", function(d) { U(t, "onBeforeResizeGroup", nt(t, r, M(M({}, d), { targets: n.targets }), !0)); }); var a = this.dragControl(t, M(M({}, r), { isGroup: !0 })); if (a) { var i = a.boundingWidth, o = a.boundingHeight, s = a.dist, u = n.keepRatio, f = [ i / (i - s[0]), o / (o - s[1]) ], l = e.fixedPosition, v = nr(t, this, "dragControl", r, function(d, p) { var h = T(Rt(me(t.rotation / 180 * Math.PI, 3), [ p.datas.originalX * f[0], p.datas.originalY * f[1], 1 ], 3), 2), g = h[0], m = h[1]; return M(M({}, p), { parentDist: null, parentScale: f, dragClient: ut(l, [g, m]), parentKeepRatio: u }); }), c = M({ targets: n.targets, events: v }, a); return U(t, "onResizeGroup", c), c; } } }, dragGroupControlEnd: function(t, r) { var e = r.isDrag, n = r.datas; if (n.isResize) { this.dragControlEnd(t, r); var a = nr(t, this, "dragControlEnd", r), i = Wt(t, r, { targets: t.props.targets, events: a }); return U(t, "onResizeGroupEnd", i), e; } }, /** * @method Moveable.Resizable#request * @param {Moveable.Resizable.ResizableRequestParam} e - the Resizable's request parameter * @return {Moveable.Requester} Moveable Requester * @example * // Instantly Request (requestStart - request - requestEnd) * // Use Relative Value * moveable.request("resizable", { deltaWidth: 10, deltaHeight: 10 }, true); * * // Use Absolute Value * moveable.request("resizable", { offsetWidth: 100, offsetHeight: 100 }, true); * * // requestStart * const requester = moveable.request("resizable"); * * // request * // Use Relative Value * requester.request({ deltaWidth: 10, deltaHeight: 10 }); * requester.request({ deltaWidth: 10, deltaHeight: 10 }); * requester.request({ deltaWidth: 10, deltaHeight: 10 }); * * // Use Absolute Value * moveable.request("resizable", { offsetWidth: 100, offsetHeight: 100 }); * moveable.request("resizable", { offsetWidth: 110, offsetHeight: 100 }); * moveable.request("resizable", { offsetWidth: 120, offsetHeight: 100 }); * * // requestEnd * requester.requestEnd(); */ request: function(t) { var r = {}, e = 0, n = 0, a = !1, i = t.getRect(); return { isControl: !0, requestStart: function(o) { var s; return a = o.useSnap, { datas: r, parentDirection: o.direction || [1, 1], parentIsWidth: (s = o == null ? void 0 : o.horizontal) !== null && s !== void 0 ? s : !0, useSnap: a }; }, request: function(o) { return "offsetWidth" in o ? e = o.offsetWidth - i.offsetWidth : "deltaWidth" in o && (e += o.deltaWidth), "offsetHeight" in o ? n = o.offsetHeight - i.offsetHeight : "deltaHeight" in o && (n += o.deltaHeight), { datas: r, parentDist: [e, n], parentKeepRatio: o.keepRatio, useSnap: a }; }, requestEnd: function() { return { datas: r, isDrag: !0, useSnap: a }; } }; }, unset: function(t) { t.state.gestos.resizable = null; } }; function En(t, r, e, n, a) { var i = t.props.groupable, o = t.state, s = o.is3d ? 4 : 3, u = r.origin, f = mt( t.state.rootMatrix, // TO-DO #710 Q([u[0], u[1]], i ? [0, 0] : [o.left, o.top]), s ), l = ut([a.left, a.top], f); r.startAbsoluteOrigin = l, r.prevDeg = St(l, [e, n]) / Math.PI * 180, r.defaultDeg = r.prevDeg, r.prevSnapDeg = 0, r.loop = 0, r.startDist = er(l, [e, n]); } function ke(t, r, e) { var n = e.defaultDeg, a = e.prevDeg, i = a % 360, o = Math.floor(a / 360); i < 0 && (i += 360), i > t && i > 270 && t < 90 ? ++o : i < t && i < 90 && t > 270 && --o; var s = r * (o * 360 + t - n); return e.prevDeg = n + s, s; } function Dn(t, r, e, n) { return ke(St(n.startAbsoluteOrigin, [t, r]) / Math.PI * 180, e, n); } function Cn(t, r, e, n, a, i) { var o = t.props.throttleRotate, s = o === void 0 ? 0 : o, u = e.prevSnapDeg, f = 0, l = !1; if (i) { var v = uc(t, r, n, a + n); l = v.isSnap, f = a + v.dist; } l || (f = tt(a + n, s)); var c = f - a; return e.prevSnapDeg = c, [c - u, c, f]; } function vs(t, r, e) { var n = T(r, 4), a = n[0], i = n[1], o = n[2], s = n[3]; if (t === "none") return []; if (yt(t)) return t.map(function(g) { return vs(g, [a, i, o, s], e)[0]; }); var u = T((t || "top").split("-"), 2), f = u[0], l = u[1], v = [a, i]; f === "left" ? v = [o, a] : f === "right" ? v = [i, s] : f === "bottom" && (v = [s, o]); var c = [ (v[0][0] + v[1][0]) / 2, (v[0][1] + v[1][1]) / 2 ], d = ys(v, e); if (l) { var p = l === "top" || l === "left", h = f === "bottom" || f === "left"; c = v[p && !h || !p && h ? 0 : 1]; } return [[c, d]]; } function Qn(t, r) { if (r.isRequest) return r.requestAble === "rotatable"; var e = r.inputEvent.target; if (Ct(e, Z("rotation-control")) || t.props.rotateAroundControls && Ct(e, Z("around-control")) || Ct(e, Z("control")) && Ct(e, Z("rotatable"))) return !0; var n = t.props.rotationTarget; return n ? ka(n, !0).some(function(a) { return a ? e === a || e.contains(a) : !1; }) : !1; } var Ul = `.rotation { position: absolute; height: 40px; width: 1px; transform-origin: 50% 100%; height: calc(40px * var(--zoom)); top: auto; left: 0; bottom: 100%; will-change: transform; } .rotation .rotation-line { display: block; width: 100%; height: 100%; transform-origin: 50% 50%; } .rotation .rotation-control { border-color: #4af; border-color: var(--moveable-color); background:#fff; cursor: alias; } :global .view-rotation-dragging, .rotatable.direction.control { cursor: alias; } .rotatable.direction.control.move { cursor: move; } `, $l = { name: "rotatable", canPinch: !0, props: [ "rotatable", "rotationPosition", "throttleRotate", "renderDirections", "rotationTarget", "rotateAroundControls", "edge", "resolveAblesWithRotatable", "displayAroundControls" ], events: [ "rotateStart", "beforeRotate", "rotate", "rotateEnd", "rotateGroupStart", "beforeRotateGroup", "rotateGroup", "rotateGroupEnd" ], css: [Ul], viewClassName: function(t) { return t.isDragging("rotatable") ? Z("view-rotation-dragging") : ""; }, render: function(t, r) { var e = Cr(t.props, "rotatable"), n = e.rotatable, a = e.rotationPosition, i = e.zoom, o = e.renderDirections, s = e.rotateAroundControls, u = e.resolveAblesWithRotatable, f = t.getState(), l = f.renderPoses, v = f.direction; if (!n) return null; var c = vs(a, l, v), d = []; if (c.forEach(function(m, S) { var x = T(m, 2), _ = x[0], y = x[1]; d.push(r.createElement( "div", { key: "rotation".concat(S), className: Z("rotation"), style: { // tslint:disable-next-line: max-line-length transform: "translate(-50%) translate(".concat(_[0], "px, ").concat(_[1], "px) rotate(").concat(y, "rad)") } }, r.createElement("div", { className: Z("line rotation-line"), style: { transform: "scaleX(".concat(i, ")") } }), r.createElement("div", { className: Z("control rotation-control"), style: { transform: "translate(0.5px) scale(".concat(i, ")") } }) )); }), o) { var p = ir(u || {}), h = {}; p.forEach(function(m) { u[m].forEach(function(S) { h[S] = m; }); }); var g = []; yt(o) && (g = o.map(function(m) { var S = h[m]; return { data: S ? { resolve: S } : {}, classNames: S ? ["move"] : [], dir: m }; })), d.push.apply(d, N([], T($o(t, "rotatable", g, r)), !1)); } return s && d.push.apply(d, N([], T(ts(t, r)), !1)), d; }, dragControlCondition: Qn, dragControlStart: function(t, r) { var e, n, a = r.datas, i = r.clientX, o = r.clientY, s = r.parentRotate, u = r.parentFlag, f = r.isPinch, l = r.isRequest, v = t.state, c = v.target, d = v.left, p = v.top, h = v.direction, g = v.beforeDirection, m = v.targetTransform, S = v.moveableClientRect, x = v.offsetMatrix, _ = v.targetMatrix, y = v.allMatrix, b = v.width, D = v.height; if (!l && !c) return !1; var E = t.getRect(); a.rect = E, a.transform = m, a.left = d, a.top = p; var C = function(j) { var L = cs(t.state, j); a.fixedDirection = L.fixedDirection, a.fixedOffset = L.fixedOffset, a.fixedPosition = L.fixedPosition, G && G.setFixedPosition(j); }, w = function(j) { var L = jl(t.state, j); a.fixedDirection = L.fixedDirection, a.fixedOffset = L.fixedOffset, a.fixedPosition = L.fixedPosition, G && G.setFixedDirection(j); }, P = i, R = o; if (l || f || u) { var O = s || 0; a.beforeInfo = { origin: E.beforeOrigin, prevDeg: O, defaultDeg: O, prevSnapDeg: 0, startDist: 0 }, a.afterInfo = M(M({}, a.beforeInfo), { origin: E.origin }), a.absoluteInfo = M(M({}, a.beforeInfo), { origin: E.origin, startValue: O }); } else { var I = (n = r.inputEvent) === null || n === void 0 ? void 0 : n.target; if (I) { var z = I.getAttribute("data-direction") || "", k = rl[z]; if (k) { a.isControl = !0, a.isAroundControl = Ct(I, Z("around-control")), a.controlDirection = k; var F = I.getAttribute("data-resolve"); F && (a.resolveAble = F); var A = Dc(v.rootMatrix, v.renderPoses, S); e = T(Mt(A, k), 2), P = e[0], R = e[1]; } } a.beforeInfo = { origin: E.beforeOrigin }, a.afterInfo = { origin: E.origin }, a.absoluteInfo = { origin: E.origin, startValue: E.rotation }; var H = C; C = function(j) { var L = v.is3d ? 4 : 3, $ = T(ut(To(_, L), j), 2), J = $[0], at = $[1], st = Rt(x, yr([J, at], L)), X = Rt(y, yr([j[0], j[1]], L)); H(j); var K = v.posDelta; a.beforeInfo.origin = Q(st, K), a.afterInfo.origin = Q(X, K), a.absoluteInfo.origin = Q(X, K), En(t, a.beforeInfo, P, R, S), En(t, a.afterInfo, P, R, S), En(t, a.absoluteInfo, P, R, S); }, w = function(j) { var L = Mt([ [0, 0], [b, 0], [0, D], [b, D] ], j); C(L); }; } a.startClientX = P, a.startClientY = R, a.direction = h, a.beforeDirection = g, a.startValue = 0, a.datas = {}, on(t, r, "rotate"); var W = !1, G = !1; if (a.isControl && a.resolveAble) { var V = a.resolveAble; V === "resizable" && (G = Jn.dragControlStart(t, M(M({}, new Nr("resizable").dragStart([0, 0], r)), { parentPosition: a.controlPosition, parentFixedPosition: a.fixedPosition }))); } G || (W = zt.dragStart(t, new Nr().dragStart([0, 0], r))), C(Cc(t)); var q = nt(t, r, M(M({ set: function(j) { a.startValue = j * Math.PI / 180; }, setFixedDirection: w, setFixedPosition: C }, an(t, r)), { dragStart: W, resizeStart: G })), Y = U(t, "onRotateStart", q); return a.isRotate = Y !== !1, v.snapRenderInfo = { request: r.isRequest }, a.isRotate ? q : !1; }, dragControl: function(t, r) { var e, n, a, i = r.datas, o = r.clientDistX, s = r.clientDistY, u = r.parentRotate, f = r.parentFlag, l = r.isPinch, v = r.groupDelta, c = r.resolveMatrix, d = i.beforeDirection, p = i.beforeInfo, h = i.afterInfo, g = i.absoluteInfo, m = i.isRotate, S = i.startValue, x = i.rect, _ = i.startClientX, y = i.startClientY; if (m) { en(t, r, "rotate"); var b = el(r), D = d * b, E = t.props.parentMoveable, C = 0, w, P, R = 0, O, I, z = 0, k, F, A = 180 / Math.PI * S, H = g.startValue, W = !1, G = _ + o, V = y + s; if (!f && "parentDist" in r) { var q = r.parentDist; w = q, O = q, k = q; } else l || f ? (w = ke(u, d, p), O = ke(u, D, h), k = ke(u, D, g)) : (w = Dn(G, V, d, p), O = Dn(G, V, D, h), k = Dn(G, V, D, g), W = !0); if (P = A + w, I = A + O, F = H + k, U(t, "onBeforeRotate", nt(t, r, { beforeRotation: P, rotation: I, absoluteRotation: F, setRotation: function(ft) { O = ft - A, w = O, k = O; } }, !0)), e = T(Cn(t, x, p, w, A, W), 3), C = e[0], w = e[1], P = e[2], n = T(Cn(t, x, h, O, A, W), 3), R = n[0], O = n[1], I = n[2], a = T(Cn(t, x, g, k, H, W), 3), z = a[0], k = a[1], F = a[2], !(!z && !R && !C && !E && !c)) { var Y = nn(i, "rotate(".concat(I, "deg)"), "rotate(".concat(O, "deg)")); c && (i.fixedPosition = Ca(t, i.targetAllTransform, i.fixedDirection, i.fixedOffset, i)); var j = dl(t, O, i), L = Q(ut(v || [0, 0], j), i.prevInverseDist || [0, 0]); i.prevInverseDist = j, i.requestValue = null; var $ = qo(t, Y, L, l, r), J = $, at = er([G, V], g.startAbsoluteOrigin) - g.startDist, st = void 0; if (i.resolveAble === "resizable") { var X = Jn.dragControl(t, M(M({}, _e(r, t.state, [r.deltaX, r.deltaY], !!l, !1, "resizable")), { resolveMatrix: !0, parentDistance: at })); X && (st = X, J = Ms(J, X, r)); } var K = nt(t, r, M(M({ delta: R, dist: O, rotate: I, rotation: I, beforeDist: w, beforeDelta: C, beforeRotate: P, beforeRotation: P, absoluteDist: k, absoluteDelta: z, absoluteRotate: F, absoluteRotation: F, isPinch: !!l, resize: st }, $), J)); return U(t, "onRotate", K), K; } } }, dragControlEnd: function(t, r) { var e = r.datas; if (e.isRotate) { e.isRotate = !1; var n = Wt(t, r, {}); return U(t, "onRotateEnd", n), n; } }, dragGroupControlCondition: Qn, dragGroupControlStart: function(t, r) { var e = r.datas, n = t.state, a = n.left, i = n.top, o = n.beforeOrigin, s = this.dragControlStart(t, r); if (!s) return !1; s.set(e.beforeDirection * t.rotation); var u = nr(t, this, "dragControlStart", r, function(v, c) { var d = v.state, p = d.left, h = d.top, g = d.beforeOrigin, m = ut(Q([p, h], [a, i]), Q(g, o)); return c.datas.startGroupClient = m, c.datas.groupClient = m, M(M({}, c), { parentRotate: 0 }); }), f = M(M({}, s), { targets: t.props.targets, events: u }), l = U(t, "onRotateGroupStart", f); return e.isRotate = l !== !1, e.isRotate ? s : !1; }, dragGroupControl: function(t, r) { var e = r.datas; if (e.isRotate) { cn(t, "onBeforeRotate", function(f) { U(t, "onBeforeRotateGroup", nt(t, r, M(M({}, f), { targets: t.props.targets }), !0)); }); var n = this.dragControl(t, r); if (n) { var a = e.beforeDirection, i = n.beforeDist, o = i / 180 * Math.PI, s = nr(t, this, "dragControl", r, function(f, l) { var v = l.datas.startGroupClient, c = T(l.datas.groupClient, 2), d = c[0], p = c[1], h = T(ge(v, o * a), 2), g = h[0], m = h[1], S = [g - d, m - p]; return l.datas.groupClient = [g, m], M(M({}, l), { parentRotate: i, groupDelta: S }); }); t.rotation = a * n.beforeRotation; var u = M({ targets: t.props.targets, events: s, set: function(f) { t.rotation = f; }, setGroupRotation: function(f) { t.rotation = f; } }, n); return U(t, "onRotateGroup", u), u; } } }, dragGroupControlEnd: function(t, r) { var e = r.isDrag, n = r.datas; if (n.isRotate) { this.dragControlEnd(t, r); var a = nr(t, this, "dragControlEnd", r), i = Wt(t, r, { targets: t.props.targets, events: a }); return U(t, "onRotateGroupEnd", i), e; } }, /** * @method Moveable.Rotatable#request * @param {object} [e] - the Resizable's request parameter * @param {number} [e.deltaRotate=0] - delta number of rotation * @param {number} [e.rotate=0] - absolute number of moveable's rotation * @return {Moveable.Requester} Moveable Requester * @example * // Instantly Request (requestStart - request - requestEnd) * moveable.request("rotatable", { deltaRotate: 10 }, true); * * * moveable.request("rotatable", { rotate: 10 }, true); * * // requestStart * const requester = moveable.request("rotatable"); * * // request * requester.request({ deltaRotate: 10 }); * requester.request({ deltaRotate: 10 }); * requester.request({ deltaRotate: 10 }); * * requester.request({ rotate: 10 }); * requester.request({ rotate: 20 }); * requester.request({ rotate: 30 }); * * // requestEnd * requester.requestEnd(); */ request: function(t) { var r = {}, e = 0, n = t.getRotation(); return { isControl: !0, requestStart: function() { return { datas: r }; }, request: function(a) { return "deltaRotate" in a ? e += a.deltaRotate : "rotate" in a && (e = a.rotate - n), { datas: r, parentDist: e }; }, requestEnd: function() { return { datas: r, isDrag: !0 }; } }; } }; function Kl(t, r) { var e, n = t.direction, a = t.classNames, i = t.size, o = t.pos, s = t.zoom, u = t.key, f = n === "horizontal", l = f ? "Y" : "X"; return r.createElement("div", { key: u, className: a.join(" "), style: (e = {}, e[f ? "width" : "height"] = "".concat(i), e.transform = "translate(".concat(o[0], ", ").concat(o[1], ") translate").concat(l, "(-50%) scale").concat(l, "(").concat(s, ")"), e) }); } function Pa(t, r) { return Kl(M(M({}, t), { classNames: N([ Z("line", "guideline", t.direction) ], T(t.classNames), !1).filter(function(e) { return e; }), size: t.size || "".concat(t.sizeValue, "px"), pos: t.pos || t.posValue.map(function(e) { return "".concat(tt(e, 0.1), "px"); }) }), r); } function yi(t, r, e, n, a, i, o, s) { var u = t.props.zoom; return e.map(function(f, l) { var v = f.type, c = f.pos, d = [0, 0]; return d[o] = n, d[o ? 0 : 1] = -a + c, Pa({ key: "".concat(r, "TargetGuideline").concat(l), classNames: [Z("target", "bold", v)], posValue: d, sizeValue: i, zoom: u, direction: r }, s); }); } function Ei(t, r, e, n, a, i) { var o = t.props, s = o.zoom, u = o.isDisplayInnerSnapDigit, f = r === "horizontal" ? dr : pr, l = a[f.start], v = a[f.end]; return e.filter(function(c) { var d = c.hide, p = c.elementRect; if (d) return !1; if (u && p) { var h = p.rect; if (h[f.start] <= l && v <= h[f.end]) return !1; } return !0; }).map(function(c, d) { var p = c.pos, h = c.size, g = c.element, m = c.className, S = [ -n[0] + p[0], -n[1] + p[1] ]; return Pa({ key: "".concat(r, "-default-guideline-").concat(d), classNames: g ? [Z("bold"), m] : [Z("normal"), m], direction: r, posValue: S, sizeValue: h, zoom: s }, i); }); } function Zr(t, r, e, n, a, i, o, s) { var u, f = t.props, l = f.snapDigit, v = l === void 0 ? 0 : l, c = f.isDisplaySnapDigit, d = c === void 0 ? !0 : c, p = f.snapDistFormat, h = p === void 0 ? function(y, b) { return y; } : p, g = f.zoom, m = r === "horizontal" ? "X" : "Y", S = r === "vertical" ? "height" : "width", x = Math.abs(a), _ = d ? parseFloat(x.toFixed(v)) : 0; return s.createElement( "div", { key: "".concat(r, "-").concat(e, "-guideline-").concat(n), className: Z("guideline-group", r), style: (u = { left: "".concat(i[0], "px"), top: "".concat(i[1], "px") }, u[S] = "".concat(x, "px"), u) }, Pa({ direction: r, classNames: [Z(e), o], size: "100%", posValue: [0, 0], sizeValue: x, zoom: g }, s), s.createElement("div", { className: Z("size-value", "gap"), style: { transform: "translate".concat(m, "(-50%) scale(").concat(g, ")") } }, _ > 0 ? h(_, r) : "") ); } function Zl(t, r, e, n) { var a = t === "vertical" ? 0 : 1, i = t === "vertical" ? 1 : 0, o = a ? dr : pr, s = e[o.start], u = e[o.end]; return ws(r, function(f) { return f.pos[a]; }).map(function(f) { var l = [], v = [], c = []; return f.forEach(function(d) { var p, h, g = d.element, m = d.elementRect.rect; if (m[o.end] < s) l.push(d); else if (u < m[o.start]) v.push(d); else if (m[o.start] <= s && u <= m[o.end] && n) { var S = d.pos, x = { element: g, rect: M(M({}, m), (p = {}, p[o.end] = m[o.start], p)) }, _ = { element: g, rect: M(M({}, m), (h = {}, h[o.start] = m[o.end], h)) }, y = [0, 0], b = [0, 0]; y[a] = S[a], y[i] = S[i], b[a] = S[a], b[i] = S[i] + d.size, l.push({ type: t, pos: y, size: 0, elementRect: x, direction: "", elementDirection: "end" }), v.push({ type: t, pos: b, size: 0, elementRect: _, direction: "", elementDirection: "start" }); } }), l.sort(function(d, p) { return p.pos[i] - d.pos[i]; }), v.sort(function(d, p) { return d.pos[i] - p.pos[i]; }), { total: f, start: l, end: v, inner: c }; }); } function Jl(t, r, e, n, a) { var i = t.props.isDisplayInnerSnapDigit, o = []; return ["vertical", "horizontal"].forEach(function(s) { var u = r.filter(function(g) { return g.type === s; }), f = s === "vertical" ? 1 : 0, l = f ? 0 : 1, v = Zl(s, u, n, i), c = f ? pr : dr, d = f ? dr : pr, p = n[c.start], h = n[c.end]; v.forEach(function(g) { var m = g.total, S = g.start, x = g.end, _ = g.inner, y = e[l] + m[0].pos[l] - n[d.start], b = n; S.forEach(function(D) { var E = D.elementRect.rect, C = b[c.start] - E[c.end]; if (C > 0) { var w = [0, 0]; w[f] = e[f] + b[c.start] - p - C, w[l] = y, o.push(Zr(t, s, "dashed", o.length, C, w, D.className, a)); } b = E; }), b = n, x.forEach(function(D) { var E = D.elementRect.rect, C = E[c.start] - b[c.end]; if (C > 0) { var w = [0, 0]; w[f] = e[f] + b[c.end] - p, w[l] = y, o.push(Zr(t, s, "dashed", o.length, C, w, D.className, a)); } b = E; }), _.forEach(function(D) { var E = D.elementRect.rect, C = p - E[c.start], w = E[c.end] - h, P = [0, 0], R = [0, 0]; P[f] = e[f] - C, P[l] = y, R[f] = e[f] + h - p, R[l] = y, o.push(Zr(t, s, "dashed", o.length, C, P, D.className, a)), o.push(Zr(t, s, "dashed", o.length, w, R, D.className, a)); }); }); }), o; } function Ql(t, r, e, n, a) { var i = []; return ["horizontal", "vertical"].forEach(function(o) { var s = r.filter(function(g) { return g.type === o; }).slice(0, 1), u = o === "vertical" ? 0 : 1, f = u ? 0 : 1, l = u ? pr : dr, v = u ? dr : pr, c = n[l.start], d = n[l.end], p = n[v.start], h = n[v.end]; s.forEach(function(g) { var m = g.gap, S = g.gapRects, x = Math.max.apply(Math, N([p], T(S.map(function(b) { var D = b.rect; return D[v.start]; })), !1)), _ = Math.min.apply(Math, N([h], T(S.map(function(b) { var D = b.rect; return D[v.end]; })), !1)), y = (x + _) / 2; x === _ || y === (p + h) / 2 || S.forEach(function(b) { var D = b.rect, E = b.className, C = [e[0], e[1]]; if (D[l.end] < c) C[u] += D[l.end] - c; else if (d < D[l.start]) C[u] += D[l.start] - c - m; else return; C[f] += y - p, i.push(Zr(t, u ? "vertical" : "horizontal", "gap", i.length, m, C, E, a)); }); }); }), i; } function ta(t) { var r, e, n = t.state, a = n.containerClientRect, i = n.hasFixed, o = a.overflow, s = a.scrollHeight, u = a.scrollWidth, f = a.clientHeight, l = a.clientWidth, v = a.clientLeft, c = a.clientTop, d = t.props, p = d.snapGap, h = p === void 0 ? !0 : p, g = d.verticalGuidelines, m = d.horizontalGuidelines, S = d.snapThreshold, x = S === void 0 ? 5 : S, _ = d.maxSnapElementGuidelineDistance, y = _ === void 0 ? 1 / 0 : _, b = d.isDisplayGridGuidelines, D = Lt(Vt(t.state)), E = D.top, C = D.left, w = D.bottom, P = D.right, R = { top: E, left: C, bottom: w, right: P, center: (C + P) / 2, middle: (E + w) / 2 }, O = nc(t), I = N([], T(O), !1), z = ((e = (r = n.snapThresholdInfo) === null || r === void 0 ? void 0 : r.multiples) !== null && e !== void 0 ? e : [1, 1]).map(function(H) { return H * x; }); h && I.push.apply(I, N([], T(tc(t, R, z)), !1)); var k = M({}, n.snapOffset || { left: 0, top: 0, bottom: 0, right: 0 }); if (I.push.apply(I, N([], T(ec(t, o ? u : l, o ? s : f, v, c, k, b)), !1)), i) { var F = a.left, A = a.top; k.left += F, k.top += A, k.right += F, k.bottom += A; } return I.push.apply(I, N([], T(ps(m || !1, g || !1, o ? u : l, o ? s : f, v, c, k)), !1)), I = I.filter(function(H) { var W = H.element, G = H.elementRect, V = H.type; if (!W || !G) return !0; var q = G.rect; return ds(R, q, V, y); }), I; } function tc(t, r, e) { var n = t.props, a = n.maxSnapElementGuidelineDistance, i = a === void 0 ? 1 / 0 : a, o = n.maxSnapElementGapDistance, s = o === void 0 ? 1 / 0 : o, u = t.state.elementRects, f = []; return [ ["vertical", dr, pr], ["horizontal", pr, dr] ].forEach(function(l) { var v = T(l, 3), c = v[0], d = v[1], p = v[2], h = r[d.start], g = r[d.end], m = r[d.center], S = r[p.start], x = r[p.end], _ = { left: e[0], top: e[1] }; function y(E) { var C = E.rect, w = _[d.start]; return C[d.end] < h + w ? h - C[d.end] : g - w < C[d.start] ? C[d.start] - g : -1; } var b = u.filter(function(E) { var C = E.rect; return C[p.start] > x || C[p.end] < S ? !1 : y(E) > 0; }).sort(function(E, C) { return y(E) - y(C); }), D = []; b.forEach(function(E) { b.forEach(function(C) { if (E !== C) { var w = E.rect, P = C.rect, R = w[p.start], O = w[p.end], I = P[p.start], z = P[p.end]; R > z || I > O || D.push([E, C]); } }); }), D.forEach(function(E) { var C = T(E, 2), w = C[0], P = C[1], R = w.rect, O = P.rect, I = R[d.start], z = R[d.end], k = O[d.start], F = O[d.end], A = _[d.start], H = 0, W = 0, G = !1, V = !1, q = !1; if (z <= h && g <= k) { if (V = !0, H = (k - z - (g - h)) / 2, W = z + H + (g - h) / 2, B(W - m) > A) return; } else if (z < k && F < h + A) { if (G = !0, H = k - z, W = F + H, B(W - h) > A) return; } else if (z < k && g - A < I) { if (q = !0, H = k - z, W = I - H, B(W - g) > A) return; } else return; H && ds(r, O, c, i) && (H > s || f.push({ type: c, pos: c === "vertical" ? [W, 0] : [0, W], element: P.element, size: 0, className: P.className, isStart: G, isCenter: V, isEnd: q, gap: H, hide: !0, gapRects: [w, P], direction: "", elementDirection: "" })); }); }), f; } function rc(t, r, e, n) { var a, i, o = t.props, s = t.state, u = o.snapGridAll, f = o.snapGridWidth, l = f === void 0 ? 0 : f, v = o.snapGridHeight, c = v === void 0 ? 0 : v, d = s.snapRenderInfo, p = d && (((a = d.direction) === null || a === void 0 ? void 0 : a[0]) || ((i = d.direction) === null || i === void 0 ? void 0 : i[1])), h = t.moveables; if (u && h && p && (l || c)) { if (s.snapThresholdInfo) return; s.snapThresholdInfo = { multiples: [1, 1], offset: [0, 0] }; var g = t.getRect(), m = g.children, S = d.direction; if (m) { var x = S.map(function(y, b) { var D = b === 0 ? { snapSize: l, posName: "left", sizeName: "width", clientOffset: n.left - r } : { snapSize: c, posName: "top", sizeName: "height", clientOffset: n.top - e }, E = D.snapSize, C = D.posName, w = D.sizeName, P = D.clientOffset; if (!E) return { dir: y, multiple: 1, snapSize: E, snapOffset: 0 }; var R = g[w], O = g[C], I = no(m.map(function(G) { return [ G[C] - O, G[w], R - G[w] - G[C] + O ]; })).filter(function(G) { return G; }).sort(function(G, V) { return G - V; }), z = I[0], k = I.map(function(G) { return tt(G / z, 0.1) * E; }), F = 1, A = tt(R / z, 0.1); for (F = 1; F <= 10 && !k.every(function(G) { return G * F % 1 === 0; }); ++F) ; var H = (-y + 1) / 2, W = He(O - P, O - P + R, H, 1 - H); return { multiple: A * F, dir: y, snapSize: E, snapOffset: Math.round(W / E) }; }), _ = x.map(function(y) { return y.multiple || 1; }); s.snapThresholdInfo.multiples = _, s.snapThresholdInfo.offset = x.map(function(y) { return y.snapOffset; }), x.forEach(function(y, b) { y.snapSize; }); } } else s.snapThresholdInfo = null; } function ec(t, r, e, n, a, i, o) { n === void 0 && (n = 0), a === void 0 && (a = 0); var s = t.props, u = t.state, f = s.snapGridWidth, l = f === void 0 ? 0 : f, v = s.snapGridHeight, c = v === void 0 ? 0 : v, d = [], p = i.left, h = i.top, g = [0, 0]; rc(t, n, a, i); var m = u.snapThresholdInfo, S = l, x = c; if (m && (l *= m.multiples[0] || 1, c *= m.multiples[1] || 1, g = m.offset), c) { for (var _ = function(b) { d.push({ type: "horizontal", pos: [ p, tt(g[1] * x + b - a + h, 0.1) ], className: Z("grid-guideline"), size: r, hide: !o, direction: "", grid: !0 }); }, y = 0; y <= e * 2; y += c) _(y); for (var y = -c; y >= -e; y -= c) _(y); } if (l) { for (var _ = function(D) { d.push({ type: "vertical", pos: [ tt(g[0] * S + D - n + p, 0.1), h ], className: Z("grid-guideline"), size: e, hide: !o, direction: "", grid: !0 }); }, y = 0; y <= r * 2; y += l) _(y); for (var y = -l; y >= -r; y -= l) _(y); } return d; } function ds(t, r, e, n) { return e === "horizontal" ? B(t.right - r.left) <= n || B(t.left - r.right) <= n || t.left <= r.right && r.left <= t.right : e === "vertical" ? B(t.bottom - r.top) <= n || B(t.top - r.bottom) <= n || t.top <= r.bottom && r.top <= t.bottom : !0; } function nc(t) { var r = t.state, e = t.props.elementGuidelines, n = e === void 0 ? [] : e; if (!n.length) return r.elementRects = [], []; var a = (r.elementRects || []).filter(function(c) { return !c.refresh; }), i = n.map(function(c) { return $t(c) && "element" in c ? M(M({}, c), { element: Jt(c.element, !0) }) : { element: Jt(c, !0) }; }).filter(function(c) { return c.element; }), o = df(a.map(function(c) { return c.element; }), i.map(function(c) { return c.element; })), s = o.maintained, u = o.added, f = []; s.forEach(function(c) { var d = T(c, 2), p = d[0], h = d[1]; f[h] = a[p]; }), ac(t, u.map(function(c) { return i[c]; })).map(function(c, d) { f[u[d]] = c; }), r.elementRects = f; var l = wa(t.props.elementSnapDirections), v = []; return f.forEach(function(c) { var d = c.element, p = c.top, h = p === void 0 ? l.top : p, g = c.left, m = g === void 0 ? l.left : g, S = c.right, x = S === void 0 ? l.right : S, _ = c.bottom, y = _ === void 0 ? l.bottom : _, b = c.center, D = b === void 0 ? l.center : b, E = c.middle, C = E === void 0 ? l.middle : E, w = c.className, P = c.rect, R = Ta({ top: h, right: x, left: m, bottom: y, center: D, middle: C }, P), O = R.horizontal, I = R.vertical, z = R.horizontalNames, k = R.verticalNames, F = P.top, A = P.left, H = P.right - A, W = P.bottom - F, G = [H, W]; I.forEach(function(V, q) { v.push({ type: "vertical", element: d, pos: [ tt(V, 0.1), F ], size: W, sizes: G, className: w, elementRect: c, elementDirection: pi[k[q]] || k[q], direction: "" }); }), O.forEach(function(V, q) { v.push({ type: "horizontal", element: d, pos: [ A, tt(V, 0.1) ], size: H, sizes: G, className: w, elementRect: c, elementDirection: pi[z[q]] || z[q], direction: "" }); }); }), v; } function Di(t, r) { return t ? t.map(function(e) { var n = $t(e) ? e : { pos: e }, a = n.pos; return kr(a) ? n : M(M({}, n), { pos: vt(a, r) }); }) : []; } function ps(t, r, e, n, a, i, o) { a === void 0 && (a = 0), i === void 0 && (i = 0), o === void 0 && (o = { left: 0, top: 0, right: 0, bottom: 0 }); var s = [], u = o.left, f = o.top, l = o.bottom, v = o.right, c = e + v - u, d = n + l - f; return Di(t, d).forEach(function(p) { s.push({ type: "horizontal", pos: [ u, tt(p.pos - i + f, 0.1) ], size: c, className: p.className, direction: "" }); }), Di(r, c).forEach(function(p) { s.push({ type: "vertical", pos: [ tt(p.pos - a + u, 0.1), f ], size: d, className: p.className, direction: "" }); }), s; } function ac(t, r) { if (!r.length) return []; var e = t.props.groupable, n = t.state, a = n.containerClientRect, i = n.rootMatrix, o = n.is3d, s = n.offsetDelta, u = o ? 4 : 3, f = T(Tl(i, a, u), 2), l = f[0], v = f[1], c = e ? 0 : s[0], d = e ? 0 : s[1]; return r.map(function(p) { var h = p.element.getBoundingClientRect(), g = h.left - l - c, m = h.top - v - d, S = m + h.height, x = g + h.width, _ = T(Yr(i, [g, m], u), 2), y = _[0], b = _[1], D = T(Yr(i, [x, S], u), 2), E = D[0], C = D[1]; return M(M({}, p), { rect: { left: y, right: E, top: b, bottom: C, center: (y + E) / 2, middle: (b + C) / 2 } }); }); } function Re(t) { var r = t.state, e = r.container, n = t.props.snapContainer || e; if (r.snapContainer === n && r.guidelines && r.guidelines.length) return !1; var a = r.containerClientRect, i = { left: 0, top: 0, bottom: 0, right: 0 }; if (e !== n) { var o = Jt(n, !0); if (o) { var s = ae(o), u = Ri(r, [ s.left - a.left, s.top - a.top ]), f = Ri(r, [ s.right - a.right, s.bottom - a.bottom ]); i.left = tt(u[0], 1e-5), i.top = tt(u[1], 1e-5), i.right = tt(f[0], 1e-5), i.bottom = tt(f[1], 1e-5); } } return r.snapContainer = n, r.snapOffset = i, r.guidelines = ta(t), r.enableSnap = !0, !0; } function hs(t, r, e, n, a, i) { var o = wr(t, r, e, i ? 4 : 3), s = Mt(o, n); return za(o, Q(a, s)); } function Ci(t) { return t ? t / B(t) : 0; } function ic(t, r, e, n, a, i) { var o = i.fixedDirection, s = Il(e, o, n), u = Ra(t, r, e, n), f = N(N([], T(Xl(t, r, s, n, a, i)), !1), T(fs(t, u, i)), !1), l = qe(f, 0), v = qe(f, 1); return { width: { isBound: l.isBound, offset: l.offset[0] }, height: { isBound: v.isBound, offset: v.offset[1] } }; } function oc(t, r, e, n, a, i, o, s, u) { var f = Mt(r, o), l = fn(t, s, { vertical: [f[0]], horizontal: [f[1]] }), v = l.horizontal.offset, c = l.vertical.offset; if (tt(c, jn) || tt(v, jn)) { var d = T(tr({ datas: u, distX: -c, distY: -v }), 2), p = d[0], h = d[1], g = Math.min(a || 1 / 0, e + o[0] * p), m = Math.min(i || 1 / 0, n + o[1] * h); return [g - e, m - n]; } return [0, 0]; } function gs(t, r, e, n, a, i, o, s) { for (var u = Vt(t.state), f = t.props.keepRatio, l = 0, v = 0, c = 0; c < 2; ++c) { var d = r(l, v), p = ic(t, d, a, f, o, s), h = p.width, g = p.height, m = h.isBound, S = g.isBound, x = h.offset, _ = g.offset; if (c === 1 && (m || (x = 0), S || (_ = 0)), c === 0 && o && !m && !S) return [0, 0]; if (f) { var y = B(x) * (e ? 1 / e : 1), b = B(_) * (n ? 1 / n : 1), D = m && S ? y < b : S || !m && y < b; D ? x = e * _ / n : _ = n * x / e; } l += x, v += _; } if (!f && a[0] && a[1]) { var E = ql(t, u, a, i, s), C = E.maxWidth, w = E.maxHeight, P = T(oc(t, r(l, v).map(function(I) { return I.map(function(z) { return tt(z, jn); }); }), e + l, n + v, C, w, a, o, s), 2), x = P[0], _ = P[1]; l += x, v += _; } return [l, v]; } function ee(t) { return t < 0 && (t = t % 360 + 360), t %= 360, t; } function sc(t, r) { r = ee(r); var e = Math.floor(t / 360), n = e * 360 + 360 - r, a = e * 360 + r; return B(t - n) < B(t - a) ? n : a; } function Mn(t, r) { t = ee(t), r = ee(r); var e = ee(t - r); return Math.min(e, 360 - e); } function uc(t, r, e, n) { var a, i = t.props, o = (a = i[rs]) !== null && a !== void 0 ? a : 5, s = i[es]; if (Ur(t, "rotatable")) { var u = r.pos1, f = r.pos2, l = r.pos3, v = r.pos4, c = r.origin, d = e * Math.PI / 180, p = [u, f, l, v].map(function(_) { return Q(_, c); }), h = p.map(function(_) { return ge(_, d); }), g = N(N([], T(Dl(t, p, h, c, e)), !1), T(Fl(t, p, h, c, e)), !1); g.sort(function(_, y) { return B(_ - e) - B(y - e); }); var m = g.length > 0; if (m) return { isSnap: m, dist: m ? g[0] : e }; } if (s != null && s.length && o) { var S = s.slice().sort(function(_, y) { return Mn(_, n) - Mn(y, n); }), x = S[0]; if (Mn(x, n) <= o) return { isSnap: !0, dist: e + sc(n, x) - n }; } return { isSnap: !1, dist: e }; } function fc(t, r, e, n, a, i, o) { if (!Ur(t, "resizable")) return [0, 0]; var s = o.fixedDirection, u = o.nextAllMatrix, f = t.state, l = f.allMatrix, v = f.is3d; return gs(t, function(c, d) { return hs(u || l, r + c, e + d, s, a, v); }, r, e, n, a, i, o); } function lc(t, r, e, n, a) { if (!Ur(t, "scalable")) return [0, 0]; var i = a.startOffsetWidth, o = a.startOffsetHeight, s = a.fixedPosition, u = a.fixedDirection, f = a.is3d, l = gs(t, function(v, c) { return hs(fl(a, ut(r, [v / i, c / o])), i, o, u, s, f); }, i, o, e, s, n, a); return [l[0] / i, l[1] / o]; } function cc(t, r) { r.absolutePoses = Vt(t.state); } function Mi(t) { var r = []; return t.forEach(function(e) { e.guidelineInfos.forEach(function(n) { var a = n.guideline; Nt(r, function(i) { return i.guideline === a; }) || (a.direction = "", r.push({ guideline: a, posInfo: e })); }); }), r.map(function(e) { var n = e.guideline, a = e.posInfo; return M(M({}, n), { direction: a.direction }); }); } function wi(t, r, e, n, a, i) { var o = Ma(sn(t, i), r, e), s = o.vertical, u = o.horizontal, f = zr(); s.forEach(function(p) { p.isBound && (p.direction === "start" && (f.left = !0), p.direction === "end" && (f.right = !0), n.push({ type: "bounds", pos: p.pos })); }), u.forEach(function(p) { p.isBound && (p.direction === "start" && (f.top = !0), p.direction === "end" && (f.bottom = !0), a.push({ type: "bounds", pos: p.pos })); }); var l = Nl(t), v = l.boundMap, c = l.vertical, d = l.horizontal; return c.forEach(function(p) { ar(n, function(h) { var g = h.type, m = h.pos; return g === "bounds" && m === p; }) >= 0 || n.push({ type: "bounds", pos: p }); }), d.forEach(function(p) { ar(a, function(h) { var g = h.type, m = h.pos; return g === "bounds" && m === p; }) >= 0 || a.push({ type: "bounds", pos: p }); }), { boundMap: f, innerBoundMap: v }; } var vc = Aa("", ["resizable", "scalable"]), dc = { name: "snappable", dragRelation: "strong", props: [ "snappable", "snapContainer", "snapDirections", "elementSnapDirections", "snapGap", "snapGridWidth", "snapGridHeight", "isDisplaySnapDigit", "isDisplayInnerSnapDigit", "isDisplayGridGuidelines", "snapDigit", "snapThreshold", "snapRenderThreshold", "snapGridAll", rs, es, ns, as, "horizontalGuidelines", "verticalGuidelines", "elementGuidelines", "bounds", "innerBounds", "snapDistFormat", "maxSnapElementGuidelineDistance", "maxSnapElementGapDistance" ], events: ["snap", "bound"], css: [ `:host { --bounds-color: #d66; } .guideline { pointer-events: none; z-index: 2; } .guideline.bounds { background: #d66; background: var(--bounds-color); } .guideline-group { position: absolute; top: 0; left: 0; } .guideline-group .size-value { position: absolute; color: #f55; font-size: 12px; font-size: calc(12px * var(--zoom)); font-weight: bold; } .guideline-group.horizontal .size-value { transform-origin: 50% 100%; transform: translateX(-50%); left: 50%; bottom: 5px; bottom: calc(2px + 3px * var(--zoom)); } .guideline-group.vertical .size-value { transform-origin: 0% 50%; top: 50%; transform: translateY(-50%); left: 5px; left: calc(2px + 3px * var(--zoom)); } .guideline.gap { background: #f55; } .size-value.gap { color: #f55; } ` ], render: function(t, r) { var e = t.state, n = e.top, a = e.left, i = e.pos1, o = e.pos2, s = e.pos3, u = e.pos4, f = e.snapRenderInfo, l = t.props.snapRenderThreshold, v = l === void 0 ? 1 : l; if (!f || !f.render || !Ur(t, "")) return Br(t, "boundMap", zr(), function(Y) { return JSON.stringify(Y); }), Br(t, "innerBoundMap", zr(), function(Y) { return JSON.stringify(Y); }), []; e.guidelines = ta(t); var c = Math.min(i[0], o[0], s[0], u[0]), d = Math.min(i[1], o[1], s[1], u[1]), p = f.externalPoses || [], h = Vt(t.state), g = [], m = [], S = [], x = [], _ = [], y = Lt(h), b = y.width, D = y.height, E = y.top, C = y.left, w = y.bottom, P = y.right, R = { left: C, right: P, top: E, bottom: w, center: (C + P) / 2, middle: (E + w) / 2 }, O = p.length > 0, I = O ? Lt(p) : {}; if (!f.request) { if (f.direction && _.push(Pl(t, h, f.direction, v, v)), f.snap) { var z = Lt(h); f.center && (z.middle = (z.top + z.bottom) / 2, z.center = (z.left + z.right) / 2), _.push(hi(t, z, v, v)); } O && (f.center && (I.middle = (I.top + I.bottom) / 2, I.center = (I.left + I.right) / 2), _.push(hi(t, I, v, v))), _.forEach(function(Y) { var j = Y.vertical.posInfos, L = Y.horizontal.posInfos; g.push.apply(g, N([], T(j.filter(function($) { var J = $.guidelineInfos; return J.some(function(at) { var st = at.guideline; return !st.hide; }); }).map(function($) { return { type: "snap", pos: $.pos }; })), !1)), m.push.apply(m, N([], T(L.filter(function($) { var J = $.guidelineInfos; return J.some(function(at) { var st = at.guideline; return !st.hide; }); }).map(function($) { return { type: "snap", pos: $.pos }; })), !1)), S.push.apply(S, N([], T(Mi(j)), !1)), x.push.apply(x, N([], T(Mi(L)), !1)); }); } var k = wi(t, [C, P], [E, w], g, m), F = k.boundMap, A = k.innerBoundMap; O && wi(t, [I.left, I.right], [I.top, I.bottom], g, m, f.externalBounds); var H = N(N([], T(S), !1), T(x), !1), W = H.filter(function(Y) { return Y.element && !Y.gapRects; }), G = H.filter(function(Y) { return Y.gapRects; }).sort(function(Y, j) { return Y.gap - j.gap; }); U(t, "onSnap", { guidelines: H.filter(function(Y) { var j = Y.element; return !j; }), elements: W, gaps: G }, !0); var V = Br(t, "boundMap", F, function(Y) { return JSON.stringify(Y); }, zr()), q = Br(t, "innerBoundMap", A, function(Y) { return JSON.stringify(Y); }, zr()); return (F === V || A === q) && U(t, "onBound", { bounds: F, innerBounds: A }, !0), N(N(N(N(N(N([], T(Jl(t, W, [c, d], R, r)), !1), T(Ql(t, G, [c, d], R, r)), !1), T(Ei(t, "horizontal", x, [a, n], R, r)), !1), T(Ei(t, "vertical", S, [a, n], R, r)), !1), T(yi(t, "horizontal", m, c, n, b, 0, r)), !1), T(yi(t, "vertical", g, d, a, D, 1, r)), !1); }, dragStart: function(t, r) { t.state.snapRenderInfo = { request: r.isRequest, snap: !0, center: !0 }, Re(t); }, drag: function(t) { var r = t.state; Re(t) || (r.guidelines = ta(t)), r.snapRenderInfo && (r.snapRenderInfo.render = !0); }, pinchStart: function(t) { this.unset(t); }, dragEnd: function(t) { this.unset(t); }, dragControlCondition: function(t, r) { if (vc(t, r) || Qn(t, r)) return !0; if (!r.isRequest && r.inputEvent) return Ct(r.inputEvent.target, Z("snap-control")); }, dragControlStart: function(t) { t.state.snapRenderInfo = null, Re(t); }, dragControl: function(t) { this.drag(t); }, dragControlEnd: function(t) { this.unset(t); }, dragGroupStart: function(t, r) { this.dragStart(t, r); }, dragGroup: function(t) { this.drag(t); }, dragGroupEnd: function(t) { this.unset(t); }, dragGroupControlStart: function(t) { t.state.snapRenderInfo = null, Re(t); }, dragGroupControl: function(t) { this.drag(t); }, dragGroupControlEnd: function(t) { this.unset(t); }, unset: function(t) { var r = t.state; r.enableSnap = !1, r.guidelines = [], r.snapRenderInfo = null, r.elementRects = []; } }; function pc(t, r) { return [ t[0] * r[0], t[1] * r[1] ]; } function Z() { for (var t = [], r = 0; r < arguments.length; r++) t[r] = arguments[r]; return su.apply(void 0, N([ya], T(t), !1)); } function ms(t) { t(); } function hc(t) { return !t || t === "none" ? [1, 0, 0, 1, 0, 0] : $t(t) ? t : ue(t); } function ne(t, r, e) { return Ye(r, Er(e, r), t, Er(e.map(function(n) { return -n; }), r)); } function gc(t, r, e) { if (r === "%") { var n = Ia(t.ownerSVGElement); return n[e ? "width" : "height"] / 100; } return 1; } function mc(t) { var r = Sc(Ga(t, ":before")); return r.map(function(e, n) { var a = ve(e), i = a.value, o = a.unit; return i * gc(t, o, n === 0); }); } function Ue(t) { return t ? t.split(" ") : ["0", "0"]; } function Sc(t) { return Ue(t.transformOrigin); } function Ss(t) { var r = Ht(t), e = r("transform"); if (e && e !== "none") return e; if ("transform" in t) { var n = t.transform, a = n.baseVal; if (!a) return ""; var i = a.length; if (!i) return ""; for (var o = [], s = function(f) { var l = a[f].matrix; o.push("matrix(".concat(["a", "b", "c", "d", "e", "f"].map(function(v) { return l[v]; }).join(", "), ")")); }, u = 0; u < i; ++u) s(u); return o.join(" "); } return ""; } function le(t, r, e, n, a) { var i, o, s = ca(t) || hr(t), u = !1, f, l; if (!t || e) f = t; else { var v = (i = t == null ? void 0 : t.assignedSlot) === null || i === void 0 ? void 0 : i.parentElement, c = t.parentElement; v ? (u = !0, l = c, f = v) : f = c; } for (var d = !1, p = t === r || f === r, h = "relative", g = 1, m = parseFloat(a == null ? void 0 : a("zoom")) || 1, S = a == null ? void 0 : a("position"); f && f !== s; ) { r === f && (p = !0); var x = Ht(f), _ = f.tagName.toLowerCase(), y = Ss(f), b = x("willChange"), D = parseFloat(x("zoom")) || 1; if (h = x("position"), n && D !== 1) { g = D; break; } if ( // offsetParent is the parentElement if the target's zoom is not 1 and not absolute. !e && n && m !== 1 && S && S !== "absolute" || _ === "svg" || _ === "foreignobject" || h !== "static" || y && y !== "none" || b === "transform" ) break; var E = (o = t == null ? void 0 : t.assignedSlot) === null || o === void 0 ? void 0 : o.parentNode, C = f.parentNode; E && (u = !0, l = C); var w = C; if (w && w.nodeType === 11) { f = w.host, d = !0, h = Ht(f)("position"); break; } f = w, h = "relative"; } return { offsetZoom: g, hasSlot: u, parentSlotElement: l, isCustomElement: d, isStatic: h === "static", isEnd: p || !f || f === s, offsetParent: f || s }; } function xc(t, r) { var e, n = t.tagName.toLowerCase(), a = t.offsetLeft, i = t.offsetTop, o = Ht(t), s = Je(a), u = !s, f, l; return !u && (n !== "svg" || t.ownerSVGElement) ? (f = ko ? mc(t) : Ue(o("transformOrigin")).map(function(v) { return parseFloat(v); }), l = f.slice(), u = !0, n === "svg" ? (a = 0, i = 0) : (e = T(yc(t, f, t === r && r.tagName.toLowerCase() === "g"), 4), a = e[0], i = e[1], f[0] = e[2], f[1] = e[3])) : (f = Ue(o("transformOrigin")).map(function(v) { return parseFloat(v); }), l = f.slice()), { tagName: n, isSVG: s, hasOffset: u, offset: [a || 0, i || 0], origin: f, targetOrigin: l }; } function xs(t, r) { var e = Ht(t), n = Ht(hr(t)), a = n("position"); if (!r && (!a || a === "static")) return [0, 0]; var i = parseInt(n("marginLeft"), 10), o = parseInt(n("marginTop"), 10); return e("position") === "absolute" && ((e("top") !== "auto" || e("bottom") !== "auto") && (o = 0), (e("left") !== "auto" || e("right") !== "auto") && (i = 0)), [i, o]; } function ra(t) { t.forEach(function(r) { var e = r.matrix; e && (r.matrix = Kt(e, 3, 4)); }); } function _c(t) { for (var r = t.parentElement, e = !1, n = hr(t); r; ) { var a = Ga(r).transform; if (a && a !== "none") { e = !0; break; } if (r === n) break; r = r.parentElement; } return { fixedContainer: r || n, hasTransform: e }; } function ln(t, r) { return r === void 0 && (r = t.length > 9), "".concat(r ? "matrix3d" : "matrix", "(").concat(Oo(t, !r).join(","), ")"); } function Ia(t) { var r = t.clientWidth, e = t.clientHeight; if (!t) return { x: 0, y: 0, width: 0, height: 0, clientWidth: r, clientHeight: e }; var n = t.viewBox, a = n && n.baseVal || { x: 0, y: 0, width: 0, height: 0 }; return { x: a.x, y: a.y, width: a.width || r, height: a.height || e, clientWidth: r, clientHeight: e }; } function bc(t, r) { var e, n = Ia(t), a = n.width, i = n.height, o = n.clientWidth, s = n.clientHeight, u = o / a, f = s / i, l = t.preserveAspectRatio.baseVal, v = l.align, c = l.meetOrSlice, d = [0, 0], p = [u, f], h = [0, 0]; if (v !== 1) { var g = (v - 2) % 3, m = Math.floor((v - 2) / 3); d[0] = a * g / 2, d[1] = i * m / 2; var S = c === 2 ? Math.max(f, u) : Math.min(u, f); p[0] = S, p[1] = S, h[0] = (o - a) / 2 * g, h[1] = (s - i) / 2 * m; } var x = Sa(p, r); return e = T(h, 2), x[r * (r - 1)] = e[0], x[r * (r - 1) + 1] = e[1], ne(x, r, d); } function yc(t, r, e) { var n = t.tagName.toLowerCase(); if (!t.getBBox || !e && n === "g") return [0, 0, 0, 0]; var a = Ht(t), i = a("transform-box") === "fill-box", o = t.getBBox(), s = Ia(t.ownerSVGElement), u = o.x, f = o.y; n === "foreignobject" && !u && !f && (u = parseFloat(t.getAttribute("x")) || 0, f = parseFloat(t.getAttribute("y")) || 0); var l = u - s.x, v = f - s.y, c = i ? r[0] : r[0] - l, d = i ? r[1] : r[1] - v; return [l, v, c, d]; } function mt(t, r, e) { return Rt(t, yr(r, e), e); } function wr(t, r, e, n) { return [[0, 0], [r, 0], [0, e], [r, e]].map(function(a) { return mt(t, a, n); }); } function Lt(t) { var r = t.map(function(f) { return f[0]; }), e = t.map(function(f) { return f[1]; }), n = Math.min.apply(Math, N([], T(r), !1)), a = Math.min.apply(Math, N([], T(e), !1)), i = Math.max.apply(Math, N([], T(r), !1)), o = Math.max.apply(Math, N([], T(e), !1)), s = i - n, u = o - a; return { left: n, top: a, right: i, bottom: o, width: s, height: u }; } function Ti(t, r, e, n) { var a = wr(t, r, e, n); return Lt(a); } function Ec(t, r, e, n, a) { var i, o = t.target, s = t.origin, u = r.matrix, f = bs(o), l = f.offsetWidth, v = f.offsetHeight, c = e.getBoundingClientRect(), d = [0, 0]; e === hr(e) && (d = xs(o, !0)); for (var p = o.getBoundingClientRect(), h = p.left - c.left + e.scrollLeft - (e.clientLeft || 0) + d[0], g = p.top - c.top + e.scrollTop - (e.clientTop || 0) + d[1], m = p.width, S = p.height, x = Ye(n, a, u), _ = Ti(x, l, v, n), y = _.left, b = _.top, D = _.width, E = _.height, C = mt(x, s, n), w = Q(C, [y, b]), P = [ h + w[0] * m / D, g + w[1] * S / E ], R = [0, 0], O = 0; ++O < 10; ) { var I = Qt(a, n); i = T(Q(mt(I, P, n), mt(I, C, n)), 2), R[0] = i[0], R[1] = i[1]; var z = Ye(n, a, Er(R, n), u), k = Ti(z, l, v, n), F = k.left, A = k.top, H = F - h, W = A - g; if (B(H) < 2 && B(W) < 2) break; P[0] -= H, P[1] -= W; } return R.map(function(G) { return Math.round(G); }); } function Dc(t, r, e) { var n = t.length === 16, a = n ? 4 : 3, i = r.map(function(u) { return mt(t, u, a); }), o = e.left, s = e.top; return i.map(function(u) { return [u[0] + o, u[1] + s]; }); } function Xt(t) { return Math.sqrt(t[0] * t[0] + t[1] * t[1]); } function _s(t, r) { return Xt([ r[0] - t[0], r[1] - t[1] ]); } function Jr(t, r, e, n) { e === void 0 && (e = 1), n === void 0 && (n = St(t, r)); var a = _s(t, r); return { transform: "translateY(-50%) translate(".concat(t[0], "px, ").concat(t[1], "px) rotate(").concat(n, "rad) scaleY(").concat(e, ")"), width: "".concat(a, "px") }; } function $e(t, r) { for (var e = [], n = 2; n < arguments.length; n++) e[n - 2] = arguments[n]; var a = e.length, i = e.reduce(function(s, u) { return s + u[0]; }, 0) / a, o = e.reduce(function(s, u) { return s + u[1]; }, 0) / a; return { transform: "translateZ(0px) translate(".concat(i, "px, ").concat(o, "px) rotate(").concat(t, "rad) scale(").concat(r, ")") }; } function Cr(t, r) { var e = t[r]; return $t(e) ? M(M({}, t), e) : t; } function bs(t) { var r = t && !Je(t.offsetWidth), e = 0, n = 0, a = 0, i = 0, o = 0, s = 0, u = 0, f = 0, l = 0, v = 0, c = 0, d = 0, p = 1 / 0, h = 1 / 0, g = 1 / 0, m = 1 / 0, S = 0, x = 0, _ = !1; if (t) if (!r && t.ownerSVGElement) { var y = t.getBBox(); _ = !0, e = y.width, n = y.height, o = e, s = n, u = e, f = n, a = e, i = n; } else { var b = Ht(t), D = t.style, E = b("boxSizing") === "border-box", C = parseFloat(b("borderLeftWidth")) || 0, w = parseFloat(b("borderRightWidth")) || 0, P = parseFloat(b("borderTopWidth")) || 0, R = parseFloat(b("borderBottomWidth")) || 0, O = parseFloat(b("paddingLeft")) || 0, I = parseFloat(b("paddingRight")) || 0, z = parseFloat(b("paddingTop")) || 0, k = parseFloat(b("paddingBottom")) || 0, F = O + I, A = z + k, H = C + w, W = P + R, G = F + H, V = A + W, q = b("position"), Y = 0, j = 0; if ("clientLeft" in t) { var L = null; if (q === "absolute") { var $ = le(t, hr(t)); L = $.offsetParent; } else L = t.parentElement; if (L) { var J = Ht(L); Y = parseFloat(J("width")), j = parseFloat(J("height")); } } l = Math.max(F, vt(b("minWidth"), Y) || 0), v = Math.max(A, vt(b("minHeight"), j) || 0), p = vt(b("maxWidth"), Y), h = vt(b("maxHeight"), j), isNaN(p) && (p = 1 / 0), isNaN(h) && (h = 1 / 0), S = vt(D.width, 0) || 0, x = vt(D.height, 0) || 0, o = parseFloat(b("width")) || 0, s = parseFloat(b("height")) || 0, u = B(o - S) < 1 ? zn(l, S || o, p) : o, f = B(s - x) < 1 ? zn(v, x || s, h) : s, e = u, n = f, a = u, i = f, E ? (g = p, m = h, c = l, d = v, u = e - G, f = n - V) : (g = p + G, m = h + V, c = l + G, d = v + V, e = u + G, n = f + V), a = u + F, i = f + A; } return { svg: _, offsetWidth: e, offsetHeight: n, clientWidth: a, clientHeight: i, contentWidth: u, contentHeight: f, inlineCSSWidth: S, inlineCSSHeight: x, cssWidth: o, cssHeight: s, minWidth: l, minHeight: v, maxWidth: p, maxHeight: h, minOffsetWidth: c, minOffsetHeight: d, maxOffsetWidth: g, maxOffsetHeight: m }; } function ys(t, r) { return St(r > 0 ? t[0] : t[1], r > 0 ? t[1] : t[0]); } function Pe() { return { left: 0, top: 0, width: 0, height: 0, right: 0, bottom: 0, clientLeft: 0, clientTop: 0, clientWidth: 0, clientHeight: 0, scrollWidth: 0, scrollHeight: 0 }; } function Es(t, r) { var e = t === hr(t) || t === ca(t), n = { clientLeft: t.clientLeft, clientTop: t.clientTop, clientWidth: t.clientWidth, clientHeight: t.clientHeight, scrollWidth: t.scrollWidth, scrollHeight: t.scrollHeight, overflow: !1 }; return e && (n.clientHeight = Math.max(r.height, n.clientHeight), n.scrollHeight = Math.max(r.height, n.scrollHeight)), n.overflow = Ht(t)("overflow") !== "visible", M(M({}, r), n); } function wn(t, r, e, n) { var a = t.left, i = t.right, o = t.top, s = t.bottom, u = r.top, f = r.left, l = { left: f + a, top: u + o, right: f + i, bottom: u + s, width: i - a, height: s - o }; return e && n ? Es(e, l) : l; } function ae(t, r) { var e = 0, n = 0, a = 0, i = 0; if (t) { var o = t.getBoundingClientRect(); e = o.left, n = o.top, a = o.width, i = o.height; } var s = { left: e, top: n, width: a, height: i, right: e + a, bottom: n + i }; return t && r ? Es(t, s) : s; } function Cc(t) { var r = t.props, e = r.groupable, n = r.svgOrigin, a = t.getState(), i = a.offsetWidth, o = a.offsetHeight, s = a.svg, u = a.transformOrigin; return !e && s && n ? Fa(n, i, o) : u; } function Ds(t, r, e, n) { var a; if (t) a = t; else if (r) a = [0, 0]; else { var i = e.target; a = Cs(i, n); } return a; } function Cs(t, r) { if (t) { var e = t.getAttribute("data-rotation") || "", n = t.getAttribute("data-direction"); if (r.deg = e, !!n) { var a = [0, 0]; return n.indexOf("w") > -1 && (a[0] = -1), n.indexOf("e") > -1 && (a[0] = 1), n.indexOf("n") > -1 && (a[1] = -1), n.indexOf("s") > -1 && (a[1] = 1), a; } } } function za(t, r) { return [ ut(r, t[0]), ut(r, t[1]), ut(r, t[2]), ut(r, t[3]) ]; } function Vt(t) { var r = t.left, e = t.top, n = t.pos1, a = t.pos2, i = t.pos3, o = t.pos4; return za([n, a, i, o], [r, e]); } function ea(t, r) { t[r ? "controlAbles" : "targetAbles"].forEach(function(e) { e.unset && e.unset(t); }); } function Gr(t, r) { var e = r ? "controlGesto" : "targetGesto", n = t[e]; (n == null ? void 0 : n.isIdle()) === !1 && ea(t, r), n == null || n.unset(), t[e] = null; } function Bt(t, r) { if (r) { var e = jr(r); e.nextStyle = M(M({}, e.nextStyle), t); } return { style: t, cssText: ir(t).map(function(n) { return "".concat(Ae(n, "-"), ": ").concat(t[n], ";"); }).join("") }; } function Ms(t, r, e) { var n = r.afterTransform || r.transform; return M(M({}, Bt(M(M(M({}, t.style), r.style), { transform: n }), e)), { afterTransform: n, transform: t.transform }); } function nt(t, r, e, n) { var a = r.datas; a.datas || (a.datas = {}); var i = M(M({}, e), { target: t.state.target, clientX: r.clientX, clientY: r.clientY, inputEvent: r.inputEvent, currentTarget: t, moveable: t, datas: a.datas, isRequest: r.isRequest, isRequestChild: r.isRequestChild, isFirstDrag: !!r.isFirstDrag, isTrusted: r.isTrusted !== !1, stopAble: function() { a.isEventStart = !1; }, stopDrag: function() { var o; (o = r.stop) === null || o === void 0 || o.call(r); } }); return a.isStartEvent ? n || (a.lastEvent = i) : a.isStartEvent = !0, i; } function Wt(t, r, e) { var n = r.datas, a = "isDrag" in e ? e.isDrag : r.isDrag; return n.datas || (n.datas = {}), M(M({ isDrag: a }, e), { moveable: t, target: t.state.target, clientX: r.clientX, clientY: r.clientY, inputEvent: r.inputEvent, currentTarget: t, lastEvent: n.lastEvent, isDouble: r.isDouble, datas: n.datas, isFirstDrag: !!r.isFirstDrag }); } function cn(t, r, e) { t._emitter.on(r, e); } function U(t, r, e, n, a) { return t.triggerEvent(r, e, n, a); } function Ga(t, r) { return cr(t).getComputedStyle(t, r); } function Ie(t, r, e) { var n = {}, a = {}; return t.filter(function(i) { var o = i.name; if (n[o] || !r.some(function(s) { return i[s]; })) return !1; if (!e && i.ableGroup) { if (a[i.ableGroup]) return !1; a[i.ableGroup] = !0; } return n[o] = !0, !0; }); } function na(t, r) { return t === r || t == null && r == null; } function Oi() { for (var t = [], r = 0; r < arguments.length; r++) t[r] = arguments[r]; for (var e = t.length - 1, n = 0; n < e; ++n) { var a = t[n]; if (!Je(a)) return a; } return t[e]; } function ws(t, r) { var e = [], n = []; return t.forEach(function(a, i) { var o = r(a, i, t), s = n.indexOf(o), u = e[s] || []; s === -1 && (n.push(o), e.push(u)), u.push(a); }), e; } function Mc(t, r) { var e = [], n = {}; return t.forEach(function(a, i) { var o = r(a, i, t), s = n[o]; s || (s = [], n[o] = s, e.push(s)), s.push(a); }), e; } function Ts(t) { return t.reduce(function(r, e) { return r.concat(e); }, []); } function Wr() { for (var t = [], r = 0; r < arguments.length; r++) t[r] = arguments[r]; return t.sort(function(e, n) { return B(n) - B(e); }), t[0]; } function Yr(t, r, e) { return Rt(Qt(t, e), yr(r, e), e); } function Os(t, r) { var e, n = t.is3d, a = t.rootMatrix, i = n ? 4 : 3; return e = T(Yr(a, [r.distX, r.distY], i), 2), r.distX = e[0], r.distY = e[1], r; } function Yt(t, r, e, n) { if (!e[0] && !e[1]) return r; var a = mt(t, [Ci(e[0] || 1), 0], n), i = mt(t, [0, Ci(e[1] || 1)], n), o = mt(t, [ e[0] / Xt(a), e[1] / Xt(i) ], n); return ut(r, o); } function qt(t, r, e) { return e ? "".concat(t / r * 100, "%") : "".concat(t, "px"); } function Ke(t) { return B(t) <= At ? 0 : t; } function Ba(t) { return function(r) { if (!r.isDragging(t)) return ""; var e = gl(r, t), n = e.deg; return n ? Z("view-control-rotation".concat(n)) : ""; }; } function Aa(t, r) { return r === void 0 && (r = [t]), function(e, n) { if (n.isRequest) return r.some(function(i) { return n.requestAble === i; }) ? n.parentDirection : !1; var a = n.inputEvent.target; return Ct(a, Z("direction")) && (!t || Ct(a, Z(t))); }; } function wc(t, r, e) { var n, a = Fr(t, { "x%": function(y) { return y / 100 * r.offsetWidth; }, "y%": function(y) { return y / 100 * r.offsetHeight; } }), i = t.slice(0, e < 0 ? void 0 : e), o = t.slice(0, e < 0 ? void 0 : e + 1), s = t[e] || "", u = e < 0 ? [] : t.slice(e), f = e < 0 ? [] : t.slice(e + 1), l = a.slice(0, e < 0 ? void 0 : e), v = a.slice(0, e < 0 ? void 0 : e + 1), c = (n = a[e]) !== null && n !== void 0 ? n : Fr([""])[0], d = e < 0 ? [] : a.slice(e), p = e < 0 ? [] : a.slice(e + 1), h = c ? [c] : [], g = Rr(l), m = Rr(v), S = Rr(d), x = Rr(p), _ = dt(g, S, 4); return { transforms: t, beforeFunctionMatrix: g, beforeFunctionMatrix2: m, targetFunctionMatrix: Rr(h), afterFunctionMatrix: S, afterFunctionMatrix2: x, allFunctionMatrix: _, beforeFunctions: l, beforeFunctions2: v, targetFunction: h[0], afterFunctions: d, afterFunctions2: p, beforeFunctionTexts: i, beforeFunctionTexts2: o, targetFunctionText: s, afterFunctionTexts: u, afterFunctionTexts2: f }; } function Tc(t) { return !t || !$t(t) || Vr(t) ? !1 : yt(t) || "length" in t; } function Jt(t, r) { return t ? Vr(t) ? t : Ft(t) ? r ? document.querySelector(t) : t : ua(t) ? t() : so(t) ? t : "current" in t ? t.current : t : null; } function ka(t, r) { if (!t) return []; var e = Tc(t) ? [].slice.call(t) : [t]; return e.reduce(function(n, a) { return Ft(a) && r ? N(N([], T(n), !1), T([].slice.call(document.querySelectorAll(a))), !1) : (yt(a) ? n.push(ka(a, r)) : n.push(Jt(a, r)), n); }, []); } function Oc(t, r, e) { var n = St(t, r) / Math.PI * 180; return n = e >= 0 ? n : 180 - n, n = n >= 0 ? n : 360 + n, n; } function Ri(t, r) { var e = t.rootMatrix, n = t.is3d, a = n ? 4 : 3, i = Qt(e, a); return n || (i = Kt(i, 3, 4)), i[12] = 0, i[13] = 0, i[14] = 0, cf(i, r); } function Rs(t, r, e, n, a) { var i = T(t, 2), o = i[0], s = i[1], u = 0, f = 0; if (a && o && s) { var l = St([0, 0], r), v = St([0, 0], n), c = Xt(r), d = Math.cos(l - v) * c; if (!n[0]) f = d, u = f * e; else if (!n[1]) u = d, f = u / e; else { var p = n[0] * o, h = n[1] * s, g = Math.atan2(p + r[0], h + r[1]), m = Math.atan2(p, h); g < 0 && (g += Math.PI * 2), m < 0 && (m += Math.PI * 2); var S = 0; B(g - m) < Math.PI / 2 || B(g - m) > Math.PI / 2 * 3 || (m += Math.PI), S = g - m, S > Math.PI * 2 ? S -= Math.PI * 2 : S > Math.PI ? S = 2 * Math.PI - S : S < -Math.PI && (S = -2 * Math.PI - S); var x = Xt([p + r[0], h + r[1]]) * Math.cos(S); u = x * Math.sin(m) - p, f = x * Math.cos(m) - h, n[0] < 0 && (u *= -1), n[1] < 0 && (f *= -1); } } else u = n[0] * r[0], f = n[1] * r[1]; return [u, f]; } function Ps(t, r, e, n) { var a, i = e.ratio, o = e.startOffsetWidth, s = e.startOffsetHeight, u = 0, f = 0, l = n.distX, v = n.distY, c = n.pinchScale, d = n.parentDistance, p = n.parentDist, h = n.parentScale, g = e.fixedDirection, m = [0, 1].map(function(D) { return B(t[D] - g[D]); }), S = [0, 1].map(function(D) { var E = m[D]; return E !== 0 && (E = 2 / E), E; }); if (p) u = p[0], f = p[1], r && (u ? f || (f = u / i) : u = f * i); else if (kr(c)) u = (c - 1) * o, f = (c - 1) * s; else if (h) u = (h[0] - 1) * o, f = (h[1] - 1) * s; else if (d) { var x = o * m[0], _ = s * m[1], y = Xt([x, _]); u = d / y * x * S[0], f = d / y * _ * S[1]; } else { var b = tr({ datas: e, distX: l, distY: v }); b = S.map(function(D, E) { return b[E] * D; }), a = T(Rs([o, s], b, i, t, r), 2), u = a[0], f = a[1]; } return { // direction, // sizeDirection, distWidth: u, distHeight: f }; } function aa(t, r) { if (r) { if (t === "left") return { x: "0%", y: "50%" }; if (t === "top") return { x: "50%", y: "50%" }; if (t === "center") return { x: "50%", y: "50%" }; if (t === "right") return { x: "100%", y: "50%" }; if (t === "bottom") return { x: "50%", y: "100%" }; var e = T(t.split(" "), 2), n = e[0], a = e[1], i = aa(n || ""), o = aa(a || ""), s = M(M({}, i), o), u = { x: "50%", y: "50%" }; return s.x && (u.x = s.x), s.y && (u.y = s.y), s.value && (s.x && !s.y && (u.y = s.value), !s.x && s.y && (u.x = s.value)), u; } return t === "left" ? { x: "0%" } : t === "right" ? { x: "100%" } : t === "top" ? { y: "0%" } : t === "bottom" ? { y: "100%" } : t ? t === "center" ? { value: "50%" } : { value: t } : {}; } function Fa(t, r, e) { var n = aa(t, !0), a = n.x, i = n.y; return [ vt(a, r) || 0, vt(i, e) || 0 ]; } function Rc(t, r, e) { var n = t.map(function(i) { return Q(i, r); }), a = n.map(function(i) { return ge(i, e); }); return { prev: n, next: a, result: a.map(function(i) { return ut(i, r); }) }; } function Is(t, r) { return t.length === r.length && t.every(function(e, n) { var a = r[n], i = yt(e), o = yt(a); return i && o ? Is(e, a) : !i && !o ? e === a : !1; }); } function Br(t, r, e, n, a) { var i = t._store, o = i[r]; if (!(r in i)) if (a != null) i[r] = a, o = a; else return i[r] = e, e; return o === e || n(o) === n(e) ? o : (i[r] = e, e); } function Gt(t) { return t >= 0 ? 1 : -1; } function B(t) { return Math.abs(t); } function Tn(t, r) { return Eu(t).map(function(e) { return r(e); }); } function zs(t) { return kr(t) ? { top: t, left: t, right: t, bottom: t } : { left: t.left || 0, top: t.top || 0, right: t.right || 0, bottom: t.bottom || 0 }; } var Pc = xe("pinchable", { props: [ "pinchable" ], events: [ "pinchStart", "pinch", "pinchEnd", "pinchGroupStart", "pinchGroup", "pinchGroupEnd" ], dragStart: function() { return !0; }, pinchStart: function(t, r) { var e = r.datas, n = r.targets, a = r.angle, i = r.originalDatas, o = t.props, s = o.pinchable, u = o.ables; if (!s) return !1; var f = "onPinch".concat(n ? "Group" : "", "Start"), l = "drag".concat(n ? "Group" : "", "ControlStart"), v = (s === !0 ? t.controlAbles : u.filter(function(h) { return s.indexOf(h.name) > -1; })).filter(function(h) { return h.canPinch && h[l]; }), c = nt(t, r, {}); n && (c.targets = n); var d = U(t, f, c); e.isPinch = d !== !1, e.ables = v; var p = e.isPinch; return p ? (v.forEach(function(h) { if (i[h.name] = i[h.name] || {}, !!h[l]) { var g = M(M({}, r), { datas: i[h.name], parentRotate: a, isPinch: !0 }); h[l](t, g); } }), t.state.snapRenderInfo = { request: r.isRequest, direction: [0, 0] }, p) : !1; }, pinch: function(t, r) { var e = r.datas, n = r.scale, a = r.distance, i = r.originalDatas, o = r.inputEvent, s = r.targets, u = r.angle; if (e.isPinch) { var f = a * (1 - 1 / n), l = nt(t, r, {}); s && (l.targets = s); var v = "onPinch".concat(s ? "Group" : ""); U(t, v, l); var c = e.ables, d = "drag".concat(s ? "Group" : "", "Control"); return c.forEach(function(p) { p[d] && p[d](t, M(M({}, r), { datas: i[p.name], inputEvent: o, resolveMatrix: !0, pinchScale: n, parentDistance: f, parentRotate: u, isPinch: !0 })); }), l; } }, pinchEnd: function(t, r) { var e = r.datas, n = r.isPinch, a = r.inputEvent, i = r.targets, o = r.originalDatas; if (e.isPinch) { var s = "onPinch".concat(i ? "Group" : "", "End"), u = Wt(t, r, { isDrag: n }); i && (u.targets = i), U(t, s, u); var f = e.ables, l = "drag".concat(i ? "Group" : "", "ControlEnd"); return f.forEach(function(v) { v[l] && v[l](t, M(M({}, r), { isDrag: n, datas: o[v.name], inputEvent: a, isPinch: !0 })); }), n; } }, pinchGroupStart: function(t, r) { return this.pinchStart(t, M(M({}, r), { targets: t.props.targets })); }, pinchGroup: function(t, r) { return this.pinch(t, M(M({}, r), { targets: t.props.targets })); }, pinchGroupEnd: function(t, r) { return this.pinchEnd(t, M(M({}, r), { targets: t.props.targets })); } }), Pi = Aa("scalable"), Ic = { name: "scalable", ableGroup: "size", canPinch: !0, props: [ "scalable", "throttleScale", "renderDirections", "keepRatio", "edge", "displayAroundControls" ], events: [ "scaleStart", "beforeScale", "scale", "scaleEnd", "scaleGroupStart", "beforeScaleGroup", "scaleGroup", "scaleGroupEnd" ], render: Jo("scalable"), dragControlCondition: Pi, viewClassName: Ba("scalable"), dragControlStart: function(t, r) { var e = r.datas, n = r.isPinch, a = r.inputEvent, i = r.parentDirection, o = Ds(i, n, a, e), s = t.state, u = s.width, f = s.height, l = s.targetTransform, v = s.target, c = s.pos1, d = s.pos2, p = s.pos4; if (!o || !v) return !1; n || Mr(t, r), e.datas = {}, e.transform = l, e.prevDist = [1, 1], e.direction = o, e.startOffsetWidth = u, e.startOffsetHeight = f, e.startValue = [1, 1]; var h = !o[0] && !o[1] || o[0] || !o[1]; on(t, r, "scale"), e.isWidth = h; function g(b) { e.ratio = b && isFinite(b) ? b : 0; } e.startPositions = Vt(t.state); function m(b) { var D = ls(e.startPositions, b); e.fixedDirection = D.fixedDirection, e.fixedPosition = D.fixedPosition, e.fixedOffset = D.fixedOffset; } e.setFixedDirection = m, g(er(c, d) / er(d, p)), m([-o[0], -o[1]]); var S = function(b) { e.minScaleSize = b; }, x = function(b) { e.maxScaleSize = b; }; S([-1 / 0, -1 / 0]), x([1 / 0, 1 / 0]); var _ = nt(t, r, M(M({ direction: o, set: function(b) { e.startValue = b; }, setRatio: g, setFixedDirection: m, setMinScaleSize: S, setMaxScaleSize: x }, an(t, r)), { dragStart: zt.dragStart(t, new Nr().dragStart([0, 0], r)) })), y = U(t, "onScaleStart", _); return e.startFixedDirection = e.fixedDirection, y !== !1 && (e.isScale = !0, t.state.snapRenderInfo = { request: r.isRequest, direction: o }), e.isScale ? _ : !1; }, dragControl: function(t, r) { en(t, r, "scale"); var e = r.datas, n = r.parentKeepRatio, a = r.parentFlag, i = r.isPinch, o = r.dragClient, s = r.isRequest, u = r.useSnap, f = r.resolveMatrix, l = e.prevDist, v = e.direction, c = e.startOffsetWidth, d = e.startOffsetHeight, p = e.isScale, h = e.startValue, g = e.isWidth, m = e.ratio; if (!p) return !1; var S = t.props, x = S.throttleScale, _ = S.parentMoveable, y = v; !v[0] && !v[1] && (y = [1, 1]); var b = m && (n ?? S.keepRatio) || !1, D = t.state, E = [ h[0], h[1] ]; function C() { var X = Ps(y, b, e, r), K = X.distWidth, ft = X.distHeight, rt = c ? (c + K) / c : 1, et = d ? (d + ft) / d : 1; h[0] || (E[0] = K / c), h[1] || (E[1] = ft / d); var ot = (y[0] || b ? rt : 1) * E[0], ct = (y[1] || b ? et : 1) * E[1]; return ot === 0 && (ot = Gt(l[0]) * we), ct === 0 && (ct = Gt(l[1]) * we), [ot, ct]; } var w = C(); if (!i && t.props.groupable) { var P = D.snapRenderInfo || {}, R = P.direction; yt(R) && (R[0] || R[1]) && (D.snapRenderInfo = { direction: v, request: r.isRequest }); } U(t, "onBeforeScale", nt(t, r, { scale: w, setFixedDirection: function(X) { return e.setFixedDirection(X), w = C(), w; }, startFixedDirection: e.startFixedDirection, setScale: function(X) { w = X; } }, !0)); var O = [ w[0] / E[0], w[1] / E[1] ], I = o, z = [0, 0], k = Gt(O[0] * O[1]), F = !o && !a && i; if (F || f ? I = Ca(t, e.targetAllTransform, [0, 0], [0, 0], e) : o || (I = e.fixedPosition), i || (z = lc(t, O, v, !u && s, e)), b) { y[0] && y[1] && z[0] && z[1] && (Math.abs(z[0] * c) > Math.abs(z[1] * d) ? z[1] = 0 : z[0] = 0); var A = !z[0] && !z[1]; if (A && (g ? O[0] = tt(O[0] * E[0], x) / E[0] : O[1] = tt(O[1] * E[1], x) / E[1]), y[0] && !y[1] || z[0] && !z[1] || A && g) { O[0] += z[0]; var H = c * O[0] * E[0] / m; O[1] = Gt(k * O[0]) * B(H / d / E[1]); } else if (!y[0] && y[1] || !z[0] && z[1] || A && !g) { O[1] += z[1]; var W = d * O[1] * E[1] * m; O[0] = Gt(k * O[1]) * B(W / c / E[0]); } } else O[0] += z[0], O[1] += z[1], z[0] || (O[0] = tt(O[0] * E[0], x) / E[0]), z[1] || (O[1] = tt(O[1] * E[1], x) / E[1]); O[0] === 0 && (O[0] = Gt(l[0]) * we), O[1] === 0 && (O[1] = Gt(l[1]) * we), w = pc(O, [E[0], E[1]]); var G = [ c, d ], V = [ c * w[0], d * w[1] ]; V = eo(V, e.minScaleSize, e.maxScaleSize, b ? m : !1), w = Tn(2, function(X) { return G[X] ? V[X] / G[X] : V[X]; }), O = Tn(2, function(X) { return w[X] / E[X]; }); var q = Tn(2, function(X) { return l[X] ? O[X] / l[X] : O[X]; }), Y = "scale(".concat(O.join(", "), ")"), j = "scale(".concat(w.join(", "), ")"), L = nn(e, j, Y), $ = !h[0] || !h[1], J = ll(t, $ ? j : Y, e.fixedDirection, I, e.fixedOffset, e, $), at = F ? J : Q(J, e.prevInverseDist || [0, 0]); if (e.prevDist = O, e.prevInverseDist = J, w[0] === l[0] && w[1] === l[1] && at.every(function(X) { return !X; }) && !_ && !F) return !1; var st = nt(t, r, M({ offsetWidth: c, offsetHeight: d, direction: v, scale: w, dist: O, delta: q, isPinch: !!i }, qo(t, L, at, i, r))); return U(t, "onScale", st), st; }, dragControlEnd: function(t, r) { var e = r.datas; if (!e.isScale) return !1; e.isScale = !1; var n = Wt(t, r, {}); return U(t, "onScaleEnd", n), n; }, dragGroupControlCondition: Pi, dragGroupControlStart: function(t, r) { var e = r.datas, n = this.dragControlStart(t, r); if (!n) return !1; var a = Ut(t, "resizable", r); e.moveableScale = t.scale; var i = nr(t, this, "dragControlStart", r, function(f, l) { return Ve(t, f, e, l); }), o = function(f) { n.setFixedDirection(f), i.forEach(function(l, v) { l.setFixedDirection(f), Ve(t, l.moveable, e, a[v]); }); }; e.setFixedDirection = o; var s = M(M({}, n), { targets: t.props.targets, events: i, setFixedDirection: o }), u = U(t, "onScaleGroupStart", s); return e.isScale = u !== !1, e.isScale ? s : !1; }, dragGroupControl: function(t, r) { var e = r.datas; if (e.isScale) { cn(t, "onBeforeScale", function(l) { U(t, "onBeforeScaleGroup", nt(t, r, M(M({}, l), { targets: t.props.targets }), !0)); }); var n = this.dragControl(t, r); if (n) { var a = n.dist, i = e.moveableScale; t.scale = [ a[0] * i[0], a[1] * i[1] ]; var o = t.props.keepRatio, s = e.fixedPosition, u = nr(t, this, "dragControl", r, function(l, v) { var c = T(Rt(me(t.rotation / 180 * Math.PI, 3), [ v.datas.originalX * a[0], v.datas.originalY * a[1], 1 ], 3), 2), d = c[0], p = c[1]; return M(M({}, v), { parentDist: null, parentScale: a, parentKeepRatio: o, // recalculate child fixed position for parent group's dragging. dragClient: ut(s, [d, p]) }); }), f = M({ targets: t.props.targets, events: u }, n); return U(t, "onScaleGroup", f), f; } } }, dragGroupControlEnd: function(t, r) { var e = r.isDrag, n = r.datas; if (n.isScale) { this.dragControlEnd(t, r); var a = nr(t, this, "dragControlEnd", r), i = Wt(t, r, { targets: t.props.targets, events: a }); return U(t, "onScaleGroupEnd", i), e; } }, /** * @method Moveable.Scalable#request * @param {Moveable.Scalable.ScalableRequestParam} e - the Scalable's request parameter * @return {Moveable.Requester} Moveable Requester * @example * // Instantly Request (requestStart - request - requestEnd) * moveable.request("scalable", { deltaWidth: 10, deltaHeight: 10 }, true); * * // requestStart * const requester = moveable.request("scalable"); * * // request * requester.request({ deltaWidth: 10, deltaHeight: 10 }); * requester.request({ deltaWidth: 10, deltaHeight: 10 }); * requester.request({ deltaWidth: 10, deltaHeight: 10 }); * * // requestEnd * requester.requestEnd(); */ request: function() { var t = {}, r = 0, e = 0, n = !1; return { isControl: !0, requestStart: function(a) { return n = a.useSnap, { datas: t, parentDirection: a.direction || [1, 1], useSnap: n }; }, request: function(a) { return r += a.deltaWidth, e += a.deltaHeight, { datas: t, parentDist: [r, e], parentKeepRatio: a.keepRatio, useSnap: n }; }, requestEnd: function() { return { datas: t, isDrag: !0, useSnap: n }; } }; } }; function ur(t, r) { return t.map(function(e, n) { return He(e, r[n], 1, 2); }); } function Ii(t, r, e) { var n = St(t, r), a = St(t, e), i = a - n; return i >= 0 ? i : i + 2 * Math.PI; } function zc(t, r) { var e = Ii(t[0], t[1], t[2]), n = Ii(r[0], r[1], r[2]), a = Math.PI; return !(e >= a && n <= a || e <= a && n >= a); } var Gc = { name: "warpable", ableGroup: "size", props: [ "warpable", "renderDirections", "edge", "displayAroundControls" ], events: [ "warpStart", "warp", "warpEnd" ], viewClassName: Ba("warpable"), render: function(t, r) { var e = t.props, n = e.resizable, a = e.scalable, i = e.warpable, o = e.zoom; if (n || a || !i) return []; var s = t.state, u = s.pos1, f = s.pos2, l = s.pos3, v = s.pos4, c = ur(u, f), d = ur(f, u), p = ur(u, l), h = ur(l, u), g = ur(l, v), m = ur(v, l), S = ur(f, v), x = ur(v, f); return N([ r.createElement("div", { className: Z("line"), key: "middeLine1", style: Jr(c, g, o) }), r.createElement("div", { className: Z("line"), key: "middeLine2", style: Jr(d, m, o) }), r.createElement("div", { className: Z("line"), key: "middeLine3", style: Jr(p, S, o) }), r.createElement("div", { className: Z("line"), key: "middeLine4", style: Jr(h, x, o) }) ], T(Qo(t, "warpable", r)), !1); }, dragControlCondition: function(t, r) { if (r.isRequest) return !1; var e = r.inputEvent.target; return Ct(e, Z("direction")) && Ct(e, Z("warpable")); }, dragControlStart: function(t, r) { var e = r.datas, n = r.inputEvent, a = t.props.target, i = n.target, o = Cs(i, e); if (!o || !a) return !1; var s = t.state, u = s.transformOrigin, f = s.is3d, l = s.targetTransform, v = s.targetMatrix, c = s.width, d = s.height, p = s.left, h = s.top; e.datas = {}, e.targetTransform = l, e.warpTargetMatrix = f ? v : Kt(v, 3, 4), e.targetInverseMatrix = wo(Qt(e.warpTargetMatrix, 4), 3, 4), e.direction = o, e.left = p, e.top = h, e.poses = [ [0, 0], [c, 0], [0, d], [c, d] ].map(function(S) { return Q(S, u); }), e.nextPoses = e.poses.map(function(S) { var x = T(S, 2), _ = x[0], y = x[1]; return Rt(e.warpTargetMatrix, [_, y, 0, 1], 4); }), e.startValue = gt(4), e.prevMatrix = gt(4), e.absolutePoses = Vt(s), e.posIndexes = Vo(o), Mr(t, r), on(t, r, "matrix3d"), s.snapRenderInfo = { request: r.isRequest, direction: o }; var g = nt(t, r, M({ set: function(S) { e.startValue = S; } }, an(t, r))), m = U(t, "onWarpStart", g); return m !== !1 && (e.isWarp = !0), e.isWarp; }, dragControl: function(t, r) { var e = r.datas, n = r.isRequest, a = r.distX, i = r.distY, o = e.targetInverseMatrix, s = e.prevMatrix, u = e.isWarp, f = e.startValue, l = e.poses, v = e.posIndexes, c = e.absolutePoses; if (!u) return !1; if (en(t, r, "matrix3d"), Ur(t, "warpable")) { var d = v.map(function(C) { return c[C]; }); d.length > 1 && d.push([ (d[0][0] + d[1][0]) / 2, (d[0][1] + d[1][1]) / 2 ]); var p = fn(t, n, { horizontal: d.map(function(C) { return C[1] + i; }), vertical: d.map(function(C) { return C[0] + a; }) }), h = p.horizontal, g = p.vertical; i -= h.offset, a -= g.offset; } var m = tr({ datas: e, distX: a, distY: i }, !0), S = e.nextPoses.slice(); if (v.forEach(function(C) { S[C] = ut(S[C], m); }), !tl.every(function(C) { return zc(C.map(function(w) { return l[w]; }), C.map(function(w) { return S[w]; })); })) return !1; var x = xa(l[0], l[2], l[1], l[3], S[0], S[2], S[1], S[3]); if (!x.length) return !1; var _ = dt(o, x, 4), y = Lo(e, _, !0), b = dt(Qt(s, 4), y, 4); e.prevMatrix = y; var D = dt(f, y, 4), E = nn(e, "matrix3d(".concat(D.join(", "), ")"), "matrix3d(".concat(y.join(", "), ")")); return Da(r, E), U(t, "onWarp", nt(t, r, M({ delta: b, matrix: D, dist: y, multiply: dt, transform: E }, Bt({ transform: E }, r)))), !0; }, dragControlEnd: function(t, r) { var e = r.datas, n = r.isDrag; return e.isWarp ? (e.isWarp = !1, U(t, "onWarpEnd", Wt(t, r, {})), n) : !1; } }, Bc = /* @__PURE__ */ Z("area-pieces"), ze = /* @__PURE__ */ Z("area-piece"), Gs = /* @__PURE__ */ Z("avoid"), Ac = Z("view-dragging"); function On(t) { var r = t.areaElement; if (r) { var e = t.state, n = e.width, a = e.height; oo(r, Gs), r.style.cssText += "left: 0px; top: 0px; width: ".concat(n, "px; height: ").concat(a, "px"); } } function zi(t) { return t.createElement( "div", { key: "area_pieces", className: Bc }, t.createElement("div", { className: ze }), t.createElement("div", { className: ze }), t.createElement("div", { className: ze }), t.createElement("div", { className: ze }) ); } var Bs = { name: "dragArea", props: [ "dragArea", "passDragArea" ], events: [ "click", "clickGroup" ], render: function(t, r) { var e = t.props, n = e.target, a = e.dragArea, i = e.groupable, o = e.passDragArea, s = t.getState(), u = s.width, f = s.height, l = s.renderPoses, v = o ? Z("area", "pass") : Z("area"); if (i) return [ r.createElement("div", { key: "area", ref: rr(t, "areaElement"), className: v }), zi(r) ]; if (!n || !a) return []; var c = xa([0, 0], [u, 0], [0, f], [u, f], l[0], l[1], l[2], l[3]), d = c.length ? ln(c, !0) : "none"; return [ r.createElement("div", { key: "area", ref: rr(t, "areaElement"), className: v, style: { top: "0px", left: "0px", width: "".concat(u, "px"), height: "".concat(f, "px"), transformOrigin: "0 0", transform: d } }), zi(r) ]; }, dragStart: function(t, r) { var e = r.datas, n = r.clientX, a = r.clientY, i = r.inputEvent; if (!i) return !1; e.isDragArea = !1; var o = t.areaElement, s = t.state, u = s.moveableClientRect, f = s.renderPoses, l = s.rootMatrix, v = s.is3d, c = u.left, d = u.top, p = Lt(f), h = p.left, g = p.top, m = p.width, S = p.height, x = v ? 4 : 3, _ = T(Yr(l, [n - c, a - d], x), 2), y = _[0], b = _[1]; y -= h, b -= g; var D = [ { left: h, top: g, width: m, height: b - 10 }, { left: h, top: g, width: y - 10, height: S }, { left: h, top: g + b + 10, width: m, height: S - b - 10 }, { left: h + y + 10, top: g, width: m - y - 10, height: S } ], E = [].slice.call(o.nextElementSibling.children); D.forEach(function(C, w) { E[w].style.cssText = "left: ".concat(C.left, "px;top: ").concat(C.top, "px; width: ").concat(C.width, "px; height: ").concat(C.height, "px;"); }), io(o, Gs), s.disableNativeEvent = !0; }, drag: function(t, r) { var e = r.datas, n = r.inputEvent; if (this.enableNativeEvent(t), !n) return !1; e.isDragArea || (e.isDragArea = !0, On(t)); }, dragEnd: function(t, r) { this.enableNativeEvent(t); var e = r.inputEvent, n = r.datas; if (!e) return !1; n.isDragArea || On(t); }, dragGroupStart: function(t, r) { return this.dragStart(t, r); }, dragGroup: function(t, r) { return this.drag(t, r); }, dragGroupEnd: function(t, r) { return this.dragEnd(t, r); }, unset: function(t) { On(t), t.state.disableNativeEvent = !1; }, enableNativeEvent: function(t) { var r = t.state; r.disableNativeEvent && ro(function() { r.disableNativeEvent = !1; }); } }, kc = xe("origin", { props: ["origin", "svgOrigin"], render: function(t, r) { var e = t.props, n = e.zoom, a = e.svgOrigin, i = e.groupable, o = t.getState(), s = o.beforeOrigin, u = o.rotation, f = o.svg, l = o.allMatrix, v = o.is3d, c = o.left, d = o.top, p = o.offsetWidth, h = o.offsetHeight, g; if (!i && f && a) { var m = T(Fa(a, p, h), 2), S = m[0], x = m[1], _ = v ? 4 : 3, y = mt(l, [S, x], _); g = $e(u, n, Q(y, [c, d])); } else g = $e(u, n, s); return [ r.createElement("div", { className: Z("control", "origin"), style: g, key: "beforeOrigin" }) ]; } }); function Fc(t) { var r = t.scrollContainer; return [ r.scrollLeft, r.scrollTop ]; } var Nc = { name: "scrollable", canPinch: !0, props: [ "scrollable", "scrollContainer", "scrollThreshold", "scrollThrottleTime", "getScrollPosition", "scrollOptions" ], events: [ "scroll", "scrollGroup" ], dragRelation: "strong", dragStart: function(t, r) { var e = t.props, n = e.scrollContainer, a = n === void 0 ? t.getContainer() : n, i = e.scrollOptions, o = new xf(), s = Jt(a, !0); r.datas.dragScroll = o, t.state.dragScroll = o; var u = r.isControl ? "controlGesto" : "targetGesto", f = r.targets; o.on("scroll", function(l) { var v = l.container, c = l.direction, d = nt(t, r, { scrollContainer: v, direction: c }), p = f ? "onScrollGroup" : "onScroll"; f && (d.targets = f), U(t, p, d); }).on("move", function(l) { var v = l.offsetX, c = l.offsetY, d = l.inputEvent; t[u].scrollBy(v, c, d.inputEvent, !1); }).on("scrollDrag", function(l) { var v = l.next; v(t[u].getCurrentEvent()); }), o.dragStart(r, M({ container: s }, i)); }, checkScroll: function(t, r) { var e = r.datas.dragScroll; if (e) { var n = t.props, a = n.scrollContainer, i = a === void 0 ? t.getContainer() : a, o = n.scrollThreshold, s = o === void 0 ? 0 : o, u = n.scrollThrottleTime, f = u === void 0 ? 0 : u, l = n.getScrollPosition, v = l === void 0 ? Fc : l, c = n.scrollOptions; return e.drag(r, M({ container: i, threshold: s, throttleTime: f, getScrollPosition: function(d) { return v({ scrollContainer: d.container, direction: d.direction }); } }, c)), !0; } }, drag: function(t, r) { return this.checkScroll(t, r); }, dragEnd: function(t, r) { r.datas.dragScroll.dragEnd(), r.datas.dragScroll = null; }, dragControlStart: function(t, r) { return this.dragStart(t, M(M({}, r), { isControl: !0 })); }, dragControl: function(t, r) { return this.drag(t, r); }, dragControlEnd: function(t, r) { return this.dragEnd(t, r); }, dragGroupStart: function(t, r) { return this.dragStart(t, M(M({}, r), { targets: t.props.targets })); }, dragGroup: function(t, r) { return this.drag(t, M(M({}, r), { targets: t.props.targets })); }, dragGroupEnd: function(t, r) { return this.dragEnd(t, M(M({}, r), { targets: t.props.targets })); }, dragGroupControlStart: function(t, r) { return this.dragStart(t, M(M({}, r), { targets: t.props.targets, isControl: !0 })); }, dragGroupControl: function(t, r) { return this.drag(t, M(M({}, r), { targets: t.props.targets })); }, dragGroupControEnd: function(t, r) { return this.dragEnd(t, M(M({}, r), { targets: t.props.targets })); }, unset: function(t) { var r, e = t.state; (r = e.dragScroll) === null || r === void 0 || r.dragEnd(), e.dragScroll = null; } }, As = { name: "", props: [ "target", "dragTargetSelf", "dragTarget", "dragContainer", "container", "warpSelf", "rootContainer", "useResizeObserver", "useMutationObserver", "zoom", "dragFocusedInput", "transformOrigin", "ables", "className", "pinchThreshold", "pinchOutside", "triggerAblesSimultaneously", "checkInput", "cspNonce", "translateZ", "hideDefaultLines", "props", "flushSync", "stopPropagation", "preventClickEventOnDrag", "preventClickDefault", "viewContainer", "persistData", "useAccuratePosition", "firstRenderState", "linePadding", "controlPadding", "preventDefault", "preventRightClick", "preventWheelClick", "requestStyles" ], events: [ "changeTargets" ] }, Hc = xe("padding", { props: ["padding"], render: function(t, r) { var e = t.props; if (e.dragArea) return []; var n = zs(e.padding || {}), a = n.left, i = n.top, o = n.right, s = n.bottom, u = t.getState(), f = u.renderPoses, l = u.pos1, v = u.pos2, c = u.pos3, d = u.pos4, p = [l, v, c, d], h = []; return a > 0 && h.push([0, 2]), i > 0 && h.push([0, 1]), o > 0 && h.push([1, 3]), s > 0 && h.push([2, 3]), h.map(function(g, m) { var S = T(g, 2), x = S[0], _ = S[1], y = p[x], b = p[_], D = f[x], E = f[_], C = xa([0, 0], [100, 0], [0, 100], [100, 100], y, b, D, E); if (C.length) return r.createElement("div", { key: "padding".concat(m), className: Z("padding"), style: { transform: ln(C, !0) } }); }); } }), Gi = ["nw", "ne", "se", "sw"]; function Ge(t, r) { var e = t[0] + t[1], n = e > r ? r / e : 1; return t[0] *= n, t[1] = r - t[1] * n, t; } var Wc = [1, 2, 5, 6], Yc = [0, 3, 4, 7], xr = [1, -1, -1, 1], _r = [1, 1, -1, -1]; function Na(t, r, e, n, a, i, o, s) { a === void 0 && (a = 0), i === void 0 && (i = 0), o === void 0 && (o = e), s === void 0 && (s = n); var u = [], f = !1, l = t.filter(function(c) { return !c.virtual; }), v = l.map(function(c) { var d = c.horizontal, p = c.vertical, h = c.pos; if (p && !f && (f = !0, u.push("/")), f) { var g = Math.max(0, p === 1 ? h[1] - i : s - h[1]); return u.push(qt(g, n, r)), g; } else { var g = Math.max(0, d === 1 ? h[0] - a : o - h[0]); return u.push(qt(g, e, r)), g; } }); return { radiusPoses: l, styles: u, raws: v }; } function ks(t) { for (var r = [0, 0], e = [0, 0], n = t.length, a = 0; a < n; ++a) { var i = t[a]; i.sub && (i.horizontal && (r[1] === 0 && (r[0] = a), r[1] = a - r[0] + 1, e[0] = a + 1), i.vertical && (e[1] === 0 && (e[0] = a), e[1] = a - e[0] + 1)); } return { horizontalRange: r, verticalRange: e }; } function Fs(t, r, e, n, a, i, o) { var s, u, f, l; i === void 0 && (i = [0, 0]), o === void 0 && (o = !1); var v = t.indexOf("/"), c = (v > -1 ? t.slice(0, v) : t).length, d = t.slice(0, c), p = t.slice(c + 1), h = d.length, g = p.length, m = g > 0, S = T(d, 4), x = S[0], _ = x === void 0 ? "0px" : x, y = S[1], b = y === void 0 ? _ : y, D = S[2], E = D === void 0 ? _ : D, C = S[3], w = C === void 0 ? b : C, P = T(p, 4), R = P[0], O = R === void 0 ? _ : R, I = P[1], z = I === void 0 ? m ? O : b : I, k = P[2], F = k === void 0 ? m ? O : E : k, A = P[3], H = A === void 0 ? m ? z : w : A, W = [_, b, E, w].map(function(L) { return vt(L, r); }), G = [O, z, F, H].map(function(L) { return vt(L, e); }), V = W.slice(), q = G.slice(); s = T(Ge([V[0], V[1]], r), 2), V[0] = s[0], V[1] = s[1], u = T(Ge([V[3], V[2]], r), 2), V[3] = u[0], V[2] = u[1], f = T(Ge([q[0], q[3]], e), 2), q[0] = f[0], q[3] = f[1], l = T(Ge([q[1], q[2]], e), 2), q[1] = l[0], q[2] = l[1]; var Y = o ? V : V.slice(0, Math.max(i[0], h)), j = o ? q : q.slice(0, Math.max(i[1], g)); return N(N([], T(Y.map(function(L, $) { var J = Gi[$]; return { virtual: $ >= h, horizontal: xr[$], vertical: 0, pos: [n + L, a + (_r[$] === -1 ? e : 0)], sub: !0, raw: W[$], direction: J }; })), !1), T(j.map(function(L, $) { var J = Gi[$]; return { virtual: $ >= g, horizontal: 0, vertical: _r[$], pos: [n + (xr[$] === -1 ? r : 0), a + L], sub: !0, raw: G[$], direction: J }; })), !1); } function Lc(t, r, e, n, a) { a === void 0 && (a = r.length); var i = ks(t.slice(n)), o = i.horizontalRange, s = i.verticalRange, u = e - n, f = 0; if (u === 0) f = a; else if (u > 0 && u < o[1]) f = o[1] - u; else if (u >= s[0]) f = s[0] + s[1] - u; else return; t.splice(e, f), r.splice(e, f); } function Xc(t, r, e, n, a, i, o, s, u, f, l) { f === void 0 && (f = 0), l === void 0 && (l = 0); var v = ks(t.slice(e)), c = v.horizontalRange, d = v.verticalRange; if (n > -1) for (var p = xr[n] === 1 ? i - f : s - i, h = c[1]; h <= n; ++h) { var g = _r[h] === 1 ? l : u, m = 0; if (n === h ? m = i : h === 0 ? m = f + p : xr[h] === -1 && (m = s - (r[e][0] - f)), t.splice(e + h, 0, { horizontal: xr[h], vertical: 0, pos: [m, g] }), r.splice(e + h, 0, [m, g]), h === 0) break; } else if (a > -1) { var S = _r[a] === 1 ? o - l : u - o; if (c[1] === 0 && d[1] === 0) { var x = [ f + S, l ]; t.push({ horizontal: xr[0], vertical: 0, pos: x }), r.push(x); } for (var _ = d[0], h = d[1]; h <= a; ++h) { var m = xr[h] === 1 ? f : s, g = 0; if (a === h ? g = o : h === 0 ? g = l + S : _r[h] === 1 ? g = r[e + _][1] : _r[h] === -1 && (g = u - (r[e + _][1] - l)), t.push({ horizontal: 0, vertical: _r[h], pos: [m, g] }), r.push([m, g]), h === 0) break; } } } function Vc(t, r) { r === void 0 && (r = t.map(function(a) { return a.raw; })); var e = t.map(function(a, i) { return a.horizontal ? r[i] : null; }).filter(function(a) { return a != null; }), n = t.map(function(a, i) { return a.vertical ? r[i] : null; }).filter(function(a) { return a != null; }); return { horizontals: e, verticals: n }; } var qc = [ [0, -1, "n"], [1, 0, "e"] ], jc = [ [-1, -1, "nw"], [0, -1, "n"], [1, -1, "ne"], [1, 0, "e"], [1, 1, "se"], [0, 1, "s"], [-1, 1, "sw"], [-1, 0, "w"] ]; function Ha(t, r, e) { var n = t.props.clipRelative, a = t.state, i = a.width, o = a.height, s = r, u = s.type, f = s.poses, l = u === "rect", v = u === "circle"; if (u === "polygon") return e.map(function(b) { return "".concat(qt(b[0], i, n), " ").concat(qt(b[1], o, n)); }); if (l || u === "inset") { var c = e[1][1], d = e[3][0], p = e[7][0], h = e[5][1]; if (l) return [ c, d, h, p ].map(function(b) { return "".concat(b, "px"); }); var g = [c, i - d, o - h, p].map(function(b, D) { return qt(b, D % 2 ? i : o, n); }); if (e.length > 8) { var m = T(Q(e[4], e[0]), 2), S = m[0], x = m[1]; g.push.apply(g, N(["round"], T(Na(f.slice(8).map(function(b, D) { return M(M({}, b), { pos: e[D] }); }), n, S, x, p, c, d, h).styles), !1)); } return g; } else if (v || u === "ellipse") { var _ = e[0], y = qt(B(e[1][1] - _[1]), v ? Math.sqrt((i * i + o * o) / 2) : o, n), g = v ? [y] : [qt(B(e[2][0] - _[0]), i, n), y]; return g.push("at", qt(_[0], i, n), qt(_[1], o, n)), g; } } function Ze(t, r, e, n) { var a = [n, (n + r) / 2, r], i = [t, (t + e) / 2, e]; return jc.map(function(o) { var s = T(o, 3), u = s[0], f = s[1], l = s[2], v = a[u + 1], c = i[f + 1]; return { vertical: B(f), horizontal: B(u), direction: l, pos: [v, c] }; }); } function Ns(t) { var r = [1 / 0, -1 / 0], e = [1 / 0, -1 / 0]; return t.forEach(function(n) { var a = n.pos; r[0] = Math.min(r[0], a[0]), r[1] = Math.max(r[1], a[0]), e[0] = Math.min(e[0], a[1]), e[1] = Math.max(e[1], a[1]); }), [ B(r[1] - r[0]), B(e[1] - e[0]) ]; } function Bi(t, r, e, n, a) { var i, o, s, u, f, l, v, c, d; if (t) { var p = a; if (!p) { var h = Ht(t), g = h("clipPath"); p = g !== "none" ? g : h("clip"); } if (!((!p || p === "none" || p === "auto") && (p = n, !p))) { var m = Qi(p), S = m.prefix, x = S === void 0 ? p : S, _ = m.value, y = _ === void 0 ? "" : _, b = x === "circle", D = " "; if (x === "polygon") { var E = br(y || "0% 0%, 100% 0%, 100% 100%, 0% 100%"); D = ","; var C = E.map(function(wt) { var Pt = T(wt.split(" "), 2), Ot = Pt[0], xt = Pt[1]; return { vertical: 1, horizontal: 1, pos: [ vt(Ot, r), vt(xt, e) ] }; }), w = Dr(C.map(function(wt) { return wt.pos; })); return { type: x, clipText: p, poses: C, splitter: D, left: w.minX, right: w.maxX, top: w.minY, bottom: w.maxY }; } else if (b || x === "ellipse") { var P = "", R = "", O = 0, I = 0, E = vr(y); if (b) { var z = ""; i = T(E, 4), o = i[0], z = o === void 0 ? "50%" : o, s = i[2], P = s === void 0 ? "50%" : s, u = i[3], R = u === void 0 ? "50%" : u, O = vt(z, Math.sqrt((r * r + e * e) / 2)), I = O; } else { var k = "", F = ""; f = T(E, 5), l = f[0], k = l === void 0 ? "50%" : l, v = f[1], F = v === void 0 ? "50%" : v, c = f[3], P = c === void 0 ? "50%" : c, d = f[4], R = d === void 0 ? "50%" : d, O = vt(k, r), I = vt(F, e); } var A = [ vt(P, r), vt(R, e) ], C = N([ { vertical: 1, horizontal: 1, pos: A, direction: "nesw" } ], T(qc.slice(0, b ? 1 : 2).map(function(Ot) { return { vertical: B(Ot[1]), horizontal: Ot[0], direction: Ot[2], sub: !0, pos: [ A[0] + Ot[0] * O, A[1] + Ot[1] * I ] }; })), !1); return { type: x, clipText: p, radiusX: O, radiusY: I, left: A[0] - O, top: A[1] - I, right: A[0] + O, bottom: A[1] + I, poses: C, splitter: D }; } else if (x === "inset") { var E = vr(y || "0 0 0 0"), H = E.indexOf("round"), W = (H > -1 ? E.slice(0, H) : E).length, G = E.slice(W + 1), V = T(E.slice(0, W), 4), q = V[0], Y = V[1], j = Y === void 0 ? q : Y, L = V[2], $ = L === void 0 ? q : L, J = V[3], at = J === void 0 ? j : J, st = T([q, $].map(function(Ot) { return vt(Ot, e); }), 2), X = st[0], K = st[1], ft = T([at, j].map(function(Ot) { return vt(Ot, r); }), 2), rt = ft[0], et = ft[1], ot = r - et, ct = e - K, pt = Fs(G, ot - rt, ct - X, rt, X), C = N(N([], T(Ze(X, ot, ct, rt)), !1), T(pt), !1); return { type: "inset", clipText: p, poses: C, top: X, left: rt, right: ot, bottom: ct, radius: G, splitter: D }; } else if (x === "rect") { var E = br(y || "0px, ".concat(r, "px, ").concat(e, "px, 0px")); D = ","; var it = T(E.map(function(or) { var sr = ve(or).value; return sr; }), 4), lt = it[0], et = it[1], K = it[2], rt = it[3], C = Ze(lt, et, K, rt); return { type: "rect", clipText: p, poses: C, top: lt, right: et, bottom: K, left: rt, values: E, splitter: D }; } } } } function Uc(t, r, e, n, a) { var i = t[r], o = i.direction, s = i.sub, u = t.map(function() { return [0, 0]; }), f = o ? o.split("") : []; if (n && r < 8) { var l = f.filter(function(O) { return O === "w" || O === "e"; }), v = f.filter(function(O) { return O === "n" || O === "s"; }), c = l[0], d = v[0]; u[r] = e; var p = T(Ns(t), 2), h = p[0], g = p[1], m = h && g ? h / g : 0; if (m && a) { var S = (r + 4) % 8, x = t[S].pos, _ = [0, 0]; o.indexOf("w") > -1 ? _[0] = -1 : o.indexOf("e") > -1 && (_[0] = 1), o.indexOf("n") > -1 ? _[1] = -1 : o.indexOf("s") > -1 && (_[1] = 1); var y = Rs([h, g], e, m, _, !0), b = h + y[0], D = g + y[1], E = x[1], C = x[1], w = x[0], P = x[0]; _[0] === -1 ? w = P - b : _[0] === 1 ? P = w + b : (w = w - b / 2, P = P + b / 2), _[1] === -1 ? E = C - D : (_[1] === 1 || (E = C - D / 2), C = E + D); var R = Ze(E, P, C, w); t.forEach(function(O, I) { u[I][0] = R[I].pos[0] - O.pos[0], u[I][1] = R[I].pos[1] - O.pos[1]; }); } else t.forEach(function(O, I) { var z = O.direction; z && (z.indexOf(c) > -1 && (u[I][0] = e[0]), z.indexOf(d) > -1 && (u[I][1] = e[1])); }), c && (u[1][0] = e[0] / 2, u[5][0] = e[0] / 2), d && (u[3][1] = e[1] / 2, u[7][1] = e[1] / 2); } else o && !s ? f.forEach(function(O) { var I = O === "n" || O === "s"; t.forEach(function(z, k) { var F = z.direction, A = z.horizontal, H = z.vertical; !F || F.indexOf(O) === -1 || (u[k] = [ I || !A ? 0 : e[0], !I || !H ? 0 : e[1] ]); }); }) : u[r] = e; return u; } function $c(t, r) { var e = T(Yo(t, r), 2), n = e[0], a = e[1], i = r.datas, o = i.clipPath, s = i.clipIndex, u = o, f = u.type, l = u.poses, v = u.splitter, c = l.map(function(S) { return S.pos; }); if (f === "polygon") c.splice(s, 0, [n, a]); else if (f === "inset") { var d = Wc.indexOf(s), p = Yc.indexOf(s), h = l.length; if (Xc(l, c, 8, d, p, n, a, c[4][0], c[4][1], c[0][0], c[0][1]), h === l.length) return; } else return; var g = Ha(t, o, c), m = "".concat(f, "(").concat(g.join(v), ")"); U(t, "onClip", nt(t, r, M({ clipEventType: "added", clipType: f, poses: c, clipStyles: g, clipStyle: m, distX: 0, distY: 0 }, Bt({ clipPath: m }, r)))); } function Kc(t, r) { var e = r.datas, n = e.clipPath, a = e.clipIndex, i = n, o = i.type, s = i.poses, u = i.splitter, f = s.map(function(d) { return d.pos; }), l = f.length; if (o === "polygon") s.splice(a, 1), f.splice(a, 1); else if (o === "inset") { if (a < 8 || (Lc(s, f, a, 8, l), l === s.length)) return; } else return; var v = Ha(t, n, f), c = "".concat(o, "(").concat(v.join(u), ")"); U(t, "onClip", nt(t, r, M({ clipEventType: "removed", clipType: o, poses: f, clipStyles: v, clipStyle: c, distX: 0, distY: 0 }, Bt({ clipPath: c }, r)))); } var Zc = { name: "clippable", props: [ "clippable", "defaultClipPath", "customClipPath", "keepRatio", "clipRelative", "clipArea", "dragWithClip", "clipTargetBounds", "clipVerticalGuidelines", "clipHorizontalGuidelines", "clipSnapThreshold" ], events: [ "clipStart", "clip", "clipEnd" ], css: [ `.control.clip-control { background: #6d6; cursor: pointer; } .control.clip-control.clip-radius { background: #d66; } .line.clip-line { background: #6e6; cursor: move; z-index: 1; } .clip-area { position: absolute; top: 0; left: 0; } .clip-ellipse { position: absolute; cursor: move; border: 1px solid #6d6; border: var(--zoompx) solid #6d6; border-radius: 50%; transform-origin: 0px 0px; }`, `:host { --bounds-color: #d66; }`, `.guideline { pointer-events: none; z-index: 2; }`, `.line.guideline.bounds { background: #d66; background: var(--bounds-color); }` ], render: function(t, r) { var e = t.props, n = e.customClipPath, a = e.defaultClipPath, i = e.clipArea, o = e.zoom, s = e.groupable, u = t.getState(), f = u.target, l = u.width, v = u.height, c = u.allMatrix, d = u.is3d, p = u.left, h = u.top, g = u.pos1, m = u.pos2, S = u.pos3, x = u.pos4, _ = u.clipPathState, y = u.snapBoundInfos, b = u.rotation; if (!f || s) return []; var D = Bi(f, l, v, a || "inset", _ || n); if (!D) return []; var E = d ? 4 : 3, C = D.type, w = D.poses, P = w.map(function(et) { var ot = mt(c, et.pos, E); return [ ot[0] - p, ot[1] - h ]; }), R = [], O = [], I = C === "rect", z = C === "inset", k = C === "polygon"; if (I || z || k) { var F = z ? P.slice(0, 8) : P; O = F.map(function(et, ot) { var ct = ot === 0 ? F[F.length - 1] : F[ot - 1], pt = St(ct, et), it = _s(ct, et); return r.createElement("div", { key: "clipLine".concat(ot), className: Z("line", "clip-line", "snap-control"), "data-clip-index": ot, style: { width: "".concat(it, "px"), transform: "translate(".concat(ct[0], "px, ").concat(ct[1], "px) rotate(").concat(pt, "rad) scaleY(").concat(o, ")") } }); }); } if (R = P.map(function(et, ot) { return r.createElement("div", { key: "clipControl".concat(ot), className: Z("control", "clip-control", "snap-control"), "data-clip-index": ot, style: { transform: "translate(".concat(et[0], "px, ").concat(et[1], "px) rotate(").concat(b, "rad) scale(").concat(o, ")") } }); }), z && R.push.apply(R, N([], T(P.slice(8).map(function(et, ot) { return r.createElement("div", { key: "clipRadiusControl".concat(ot), className: Z("control", "clip-control", "clip-radius", "snap-control"), "data-clip-index": 8 + ot, style: { transform: "translate(".concat(et[0], "px, ").concat(et[1], "px) rotate(").concat(b, "rad) scale(").concat(o, ")") } }); })), !1)), C === "circle" || C === "ellipse") { var A = D.left, H = D.top, W = D.radiusX, G = D.radiusY, V = T(Q(mt(c, [A, H], E), mt(c, [0, 0], E)), 2), q = V[0], Y = V[1], j = "none"; if (!i) { for (var L = Math.max(10, W / 5, G / 5), $ = [], J = 0; J <= L; ++J) { var at = Math.PI * 2 / L * J; $.push([ W + (W - o) * Math.cos(at), G + (G - o) * Math.sin(at) ]); } $.push([W, -2]), $.push([-2, -2]), $.push([-2, G * 2 + 2]), $.push([W * 2 + 2, G * 2 + 2]), $.push([W * 2 + 2, -2]), $.push([W, -2]), j = "polygon(".concat($.map(function(et) { return "".concat(et[0], "px ").concat(et[1], "px"); }).join(", "), ")"); } R.push(r.createElement("div", { key: "clipEllipse", className: Z("clip-ellipse", "snap-control"), style: { width: "".concat(W * 2, "px"), height: "".concat(G * 2, "px"), clipPath: j, transform: "translate(".concat(-p + q, "px, ").concat(-h + Y, "px) ").concat(ln(c)) } })); } if (i) { var st = Lt(N([g, m, S, x], T(P), !1)), X = st.width, K = st.height, ft = st.left, rt = st.top; if (k || I || z) { var $ = z ? P.slice(0, 8) : P; R.push(r.createElement("div", { key: "clipArea", className: Z("clip-area", "snap-control"), style: { width: "".concat(X, "px"), height: "".concat(K, "px"), transform: "translate(".concat(ft, "px, ").concat(rt, "px)"), clipPath: "polygon(".concat($.map(function(ot) { return "".concat(ot[0] - ft, "px ").concat(ot[1] - rt, "px"); }).join(", "), ")") } })); } } return y && ["vertical", "horizontal"].forEach(function(et) { var ot = y[et], ct = et === "horizontal"; ot.isSnap && O.push.apply(O, N([], T(ot.snap.posInfos.map(function(pt, it) { var lt = pt.pos, wt = Q(mt(c, ct ? [0, lt] : [lt, 0], E), [p, h]), Pt = Q(mt(c, ct ? [l, lt] : [lt, v], E), [p, h]); return fe(r, "", wt, Pt, o, "clip".concat(et, "snap").concat(it), "guideline"); })), !1)), ot.isBound && O.push.apply(O, N([], T(ot.bounds.map(function(pt, it) { var lt = pt.pos, wt = Q(mt(c, ct ? [0, lt] : [lt, 0], E), [p, h]), Pt = Q(mt(c, ct ? [l, lt] : [lt, v], E), [p, h]); return fe(r, "", wt, Pt, o, "clip".concat(et, "bounds").concat(it), "guideline", "bounds", "bold"); })), !1)); }), N(N([], T(R), !1), T(O), !1); }, dragControlCondition: function(t, r) { return r.inputEvent && (r.inputEvent.target.getAttribute("class") || "").indexOf("clip") > -1; }, dragStart: function(t, r) { var e = t.props, n = e.dragWithClip, a = n === void 0 ? !0 : n; return a ? !1 : this.dragControlStart(t, r); }, drag: function(t, r) { return this.dragControl(t, M(M({}, r), { isDragTarget: !0 })); }, dragEnd: function(t, r) { return this.dragControlEnd(t, r); }, dragControlStart: function(t, r) { var e = t.state, n = t.props, a = n.defaultClipPath, i = n.customClipPath, o = e.target, s = e.width, u = e.height, f = r.inputEvent ? r.inputEvent.target : null, l = f && f.getAttribute("class") || "", v = r.datas, c = Bi(o, s, u, a || "inset", i); if (!c) return !1; var d = c.clipText, p = c.type, h = c.poses, g = U(t, "onClipStart", nt(t, r, { clipType: p, clipStyle: d, poses: h.map(function(m) { return m.pos; }) })); return g === !1 ? (v.isClipStart = !1, !1) : (v.isControl = l && l.indexOf("clip-control") > -1, v.isLine = l.indexOf("clip-line") > -1, v.isArea = l.indexOf("clip-area") > -1 || l.indexOf("clip-ellipse") > -1, v.clipIndex = f ? parseInt(f.getAttribute("data-clip-index"), 10) : -1, v.clipPath = c, v.isClipStart = !0, e.clipPathState = d, Mr(t, r), !0); }, dragControl: function(t, r) { var e, n, a, i = r.datas, o = r.originalDatas, s = r.isDragTarget; if (!i.isClipStart) return !1; var u = i, f = u.isControl, l = u.isLine, v = u.isArea, c = u.clipIndex, d = u.clipPath; if (!d) return !1; var p = Cr(t.props, "clippable"), h = p.keepRatio, g = 0, m = 0, S = o.draggable, x = tr(r); s && S ? (e = T(S.prevBeforeDist, 2), g = e[0], m = e[1]) : (n = T(x, 2), g = n[0], m = n[1]); var _ = [g, m], y = t.state, b = y.width, D = y.height, E = !v && !f && !l, C = d.type, w = d.poses, P = d.splitter, R = w.map(function(ht) { return ht.pos; }); E && (g = -g, m = -m); var O = !f || w[c].direction === "nesw", I = C === "inset" || C === "rect", z = w.map(function() { return [0, 0]; }); if (f && !O) { var k = w[c], F = k.horizontal, A = k.vertical, H = [ g * B(F), m * B(A) ]; z = Uc(w, c, H, I, h); } else O && (z = R.map(function() { return [g, m]; })); var W = R.map(function(ht, It) { return ut(ht, z[It]); }), G = N([], T(W), !1); y.snapBoundInfos = null; var V = d.type === "circle", q = d.type === "ellipse"; if (V || q) { var Y = Lt(W), j = B(Y.bottom - Y.top), L = B(q ? Y.right - Y.left : j), $ = W[0][1] + j, J = W[0][0] - L, at = W[0][0] + L; V && (G.push([at, Y.bottom]), z.push([1, 0])), G.push([Y.left, $]), z.push([0, 1]), G.push([J, Y.bottom]), z.push([1, 0]); } var st = ps((p.clipHorizontalGuidelines || []).map(function(ht) { return vt("".concat(ht), D); }), (p.clipVerticalGuidelines || []).map(function(ht) { return vt("".concat(ht), b); }), b, D), X = [], K = []; if (V || q) X = [G[4][0], G[2][0]], K = [G[1][1], G[3][1]]; else if (I) { var ft = [G[0], G[2], G[4], G[6]], rt = [z[0], z[2], z[4], z[6]]; X = ft.filter(function(ht, It) { return rt[It][0]; }).map(function(ht) { return ht[0]; }), K = ft.filter(function(ht, It) { return rt[It][1]; }).map(function(ht) { return ht[1]; }); } else X = G.filter(function(ht, It) { return z[It][0]; }).map(function(ht) { return ht[0]; }), K = G.filter(function(ht, It) { return z[It][1]; }).map(function(ht) { return ht[1]; }); var et = [0, 0], ot = xi(st, p.clipTargetBounds && { left: 0, top: 0, right: b, bottom: D }, X, K, 5, 5), ct = ot.horizontal, pt = ot.vertical, it = ct.offset, lt = pt.offset; if (ct.isBound && (et[1] += it), pt.isBound && (et[0] += lt), (q || V) && z[0][0] === 0 && z[0][1] === 0) { var Y = Lt(W), wt = Y.bottom - Y.top, Pt = q ? Y.right - Y.left : wt, Ot = pt.isBound ? B(lt) : pt.snapIndex === 0 ? -lt : lt, xt = ct.isBound ? B(it) : ct.snapIndex === 0 ? -it : it; Pt -= Ot, wt -= xt, V && (wt = os(pt, ct) > 0 ? wt : Pt, Pt = wt); var Et = G[0]; G[1][1] = Et[1] - wt, G[2][0] = Et[0] + Pt, G[3][1] = Et[1] + wt, G[4][0] = Et[0] - Pt; } else if (I && h && f) { var or = T(Ns(w), 2), sr = or[0], Va = or[1], qa = sr && Va ? sr / Va : 0, ru = w[c], ye = ru.direction || "", vn = G[1][1], $ = G[5][1], J = G[7][0], at = G[3][0]; B(it) <= B(lt) ? it = Gt(it) * B(lt) / qa : lt = Gt(lt) * B(it) * qa, ye.indexOf("w") > -1 ? J -= lt : ye.indexOf("e") > -1 ? at -= lt : (J += lt / 2, at -= lt / 2), ye.indexOf("n") > -1 ? vn -= it : ye.indexOf("s") > -1 ? $ -= it : (vn += it / 2, $ -= it / 2); var eu = Ze(vn, at, $, J); G.forEach(function($a, ou) { var hn; hn = T(eu[ou].pos, 2), $a[0] = hn[0], $a[1] = hn[1]; }); } else G.forEach(function(ht, It) { var Ua = z[It]; Ua[0] && (ht[0] -= lt), Ua[1] && (ht[1] -= it); }); var ja = Ha(t, d, W), dn = "".concat(C, "(").concat(ja.join(P), ")"); if (y.clipPathState = dn, V || q) X = [G[4][0], G[2][0]], K = [G[1][1], G[3][1]]; else if (I) { var ft = [G[0], G[2], G[4], G[6]]; X = ft.map(function(It) { return It[0]; }), K = ft.map(function(It) { return It[1]; }); } else X = G.map(function(ht) { return ht[0]; }), K = G.map(function(ht) { return ht[1]; }); if (y.snapBoundInfos = xi(st, p.clipTargetBounds && { left: 0, top: 0, right: b, bottom: D }, X, K, 1, 1), S) { var nu = y.is3d, au = y.allMatrix, iu = nu ? 4 : 3, pn = et; s && (pn = [ _[0] + et[0] - x[0], _[1] + et[1] - x[1] ]), S.deltaOffset = dt(au, [pn[0], pn[1], 0, 0], iu); } return U(t, "onClip", nt(t, r, M({ clipEventType: "changed", clipType: C, poses: W, clipStyle: dn, clipStyles: ja, distX: g, distY: m }, Bt((a = {}, a[C === "rect" ? "clip" : "clipPath"] = dn, a), r)))), !0; }, dragControlEnd: function(t, r) { this.unset(t); var e = r.isDrag, n = r.datas, a = r.isDouble, i = n.isLine, o = n.isClipStart, s = n.isControl; return o ? (U(t, "onClipEnd", Wt(t, r, {})), a && (s ? Kc(t, r) : i && $c(t, r)), a || e) : !1; }, unset: function(t) { t.state.clipPathState = "", t.state.snapBoundInfos = null; } }, Jc = { name: "originDraggable", props: [ "originDraggable", "originRelative" ], events: [ "dragOriginStart", "dragOrigin", "dragOriginEnd" ], css: [ `:host[data-able-origindraggable] .control.origin { pointer-events: auto; }` ], dragControlCondition: function(t, r) { return r.isRequest ? r.requestAble === "originDraggable" : Ct(r.inputEvent.target, Z("origin")); }, dragControlStart: function(t, r) { var e = r.datas; Mr(t, r); var n = nt(t, r, { dragStart: zt.dragStart(t, new Nr().dragStart([0, 0], r)) }), a = U(t, "onDragOriginStart", n); return e.startOrigin = t.state.transformOrigin, e.startTargetOrigin = t.state.targetOrigin, e.prevOrigin = [0, 0], e.isDragOrigin = !0, a === !1 ? (e.isDragOrigin = !1, !1) : n; }, dragControl: function(t, r) { var e = r.datas, n = r.isPinch, a = r.isRequest; if (!e.isDragOrigin) return !1; var i = T(tr(r), 2), o = i[0], s = i[1], u = t.state, f = u.width, l = u.height, v = u.offsetMatrix, c = u.targetMatrix, d = u.is3d, p = t.props.originRelative, h = p === void 0 ? !0 : p, g = d ? 4 : 3, m = [o, s]; if (a) { var S = r.distOrigin; (S[0] || S[1]) && (m = S); } var x = ut(e.startOrigin, m), _ = ut(e.startTargetOrigin, m), y = Q(m, e.prevOrigin), b = be(v, c, x, g), D = t.getRect(), E = Lt(wr(b, f, l, g)), C = [ D.left - E.left, D.top - E.top ]; e.prevOrigin = m; var w = [ qt(_[0], f, h), qt(_[1], l, h) ].join(" "), P = zt.drag(t, _e(r, t.state, C, !!n, !1)), R = nt(t, r, M(M({ width: f, height: l, origin: x, dist: m, delta: y, transformOrigin: w, drag: P }, Bt({ transformOrigin: w, transform: P.transform }, r)), { afterTransform: P.transform })); return U(t, "onDragOrigin", R), R; }, dragControlEnd: function(t, r) { var e = r.datas; return e.isDragOrigin ? (U(t, "onDragOriginEnd", Wt(t, r, {})), !0) : !1; }, dragGroupControlCondition: function(t, r) { return this.dragControlCondition(t, r); }, dragGroupControlStart: function(t, r) { var e = this.dragControlStart(t, r); return !!e; }, dragGroupControl: function(t, r) { var e = this.dragControl(t, r); return e ? (t.transformOrigin = e.transformOrigin, !0) : !1; }, /** * @method Moveable.OriginDraggable#request * @param {object} e - the OriginDraggable's request parameter * @param {number} [e.x] - x position * @param {number} [e.y] - y position * @param {number} [e.deltaX] - x number to move * @param {number} [e.deltaY] - y number to move * @param {array} [e.deltaOrigin] - left, top number to move transform-origin * @param {array} [e.origin] - transform-origin position * @param {number} [e.isInstant] - Whether to execute the request instantly * @return {Moveable.Requester} Moveable Requester * @example * // Instantly Request (requestStart - request - requestEnd) * // Use Relative Value * moveable.request("originDraggable", { deltaX: 10, deltaY: 10 }, true); * // Use Absolute Value * moveable.request("originDraggable", { x: 200, y: 100 }, true); * // Use Transform Value * moveable.request("originDraggable", { deltaOrigin: [10, 0] }, true); * moveable.request("originDraggable", { origin: [100, 0] }, true); * // requestStart * const requester = moveable.request("originDraggable"); * * // request * // Use Relative Value * requester.request({ deltaX: 10, deltaY: 10 }); * requester.request({ deltaX: 10, deltaY: 10 }); * requester.request({ deltaX: 10, deltaY: 10 }); * // Use Absolute Value * moveable.request("originDraggable", { x: 200, y: 100 }); * moveable.request("originDraggable", { x: 220, y: 100 }); * moveable.request("originDraggable", { x: 240, y: 100 }); * * // requestEnd * requester.requestEnd(); */ request: function(t) { var r = {}, e = t.getRect(), n = 0, a = 0, i = e.transformOrigin, o = [0, 0]; return { isControl: !0, requestStart: function() { return { datas: r }; }, request: function(s) { return "deltaOrigin" in s ? (o[0] += s.deltaOrigin[0], o[1] += s.deltaOrigin[1]) : "origin" in s ? (o[0] = s.origin[0] - i[0], o[1] = s.origin[1] - i[1]) : ("x" in s ? n = s.x - e.left : "deltaX" in s && (n += s.deltaX), "y" in s ? a = s.y - e.top : "deltaY" in s && (a += s.deltaY)), { datas: r, distX: n, distY: a, distOrigin: o }; }, requestEnd: function() { return { datas: r, isDrag: !0 }; } }; } }; function Qc(t, r, e, n) { var a = t.filter(function(u) { var f = u.virtual, l = u.horizontal; return l && !f; }).length, i = t.filter(function(u) { var f = u.virtual, l = u.vertical; return l && !f; }).length, o = -1; if (r === 0 && (a === 0 ? o = 0 : a === 1 && (o = 1)), r === 2 && (a <= 2 ? o = 2 : a <= 3 && (o = 3)), r === 3 && (i === 0 ? o = 4 : i < 4 && (o = 7)), r === 1 && (i <= 1 ? o = 5 : i <= 2 && (o = 6)), !(o === -1 || !t[o].virtual)) { var s = t[o]; tv(t, o), o < 4 ? s.pos[0] = e : s.pos[1] = n; } } function tv(t, r) { r < 4 ? t.slice(0, r + 1).forEach(function(e) { e.virtual = !1; }) : (t[0].virtual && (t[0].virtual = !1), t.slice(4, r + 1).forEach(function(e) { e.virtual = !1; })); } function rv(t, r) { r < 4 ? t.slice(r, 4).forEach(function(e) { e.virtual = !0; }) : t.slice(r).forEach(function(e) { e.virtual = !0; }); } function Ai(t, r, e, n, a) { n === void 0 && (n = [0, 0]); var i = []; return !t || t === "0px" ? i = [] : i = vr(t), Fs(i, r, e, 0, 0, n, a); } function ki(t, r, e, n, a) { var i = t.state, o = i.width, s = i.height, u = Na(a, t.props.roundRelative, o, s), f = u.raws, l = u.styles, v = u.radiusPoses, c = Vc(v, f), d = c.horizontals, p = c.verticals, h = l.join(" "); i.borderRadiusState = h; var g = nt(t, r, M({ horizontals: d, verticals: p, borderRadius: h, width: o, height: s, delta: n, dist: e }, Bt({ borderRadius: h }, r))); return U(t, "onRound", g), g; } function Fi(t) { var r, e, n = t.getState().style, a = n.borderRadius || ""; if (!a && t.props.groupable) { var i = t.moveables[0], o = t.getTargets()[0]; o && ((i == null ? void 0 : i.props.target) === o ? (a = (e = (r = t.moveables[0]) === null || r === void 0 ? void 0 : r.state.style.borderRadius) !== null && e !== void 0 ? e : "", n.borderRadius = a) : (a = Ga(o).borderRadius, n.borderRadius = a)); } return a; } var ev = { name: "roundable", props: [ "roundable", "roundRelative", "minRoundControls", "maxRoundControls", "roundClickable", "roundPadding", "isDisplayShadowRoundControls" ], events: [ "roundStart", "round", "roundEnd", "roundGroupStart", "roundGroup", "roundGroupEnd" ], css: [ `.control.border-radius { background: #d66; cursor: pointer; z-index: 3; }`, `.control.border-radius.vertical { background: #d6d; z-index: 2; }`, `.control.border-radius.virtual { opacity: 0.5; z-index: 1; }`, `:host.round-line-clickable .line.direction { cursor: pointer; }` ], className: function(t) { var r = t.props.roundClickable; return r === !0 || r === "line" ? Z("round-line-clickable") : ""; }, requestStyle: function() { return ["borderRadius"]; }, requestChildStyle: function() { return ["borderRadius"]; }, render: function(t, r) { var e = t.getState(), n = e.target, a = e.width, i = e.height, o = e.allMatrix, s = e.is3d, u = e.left, f = e.top, l = e.borderRadiusState, v = t.props, c = v.minRoundControls, d = c === void 0 ? [0, 0] : c, p = v.maxRoundControls, h = p === void 0 ? [4, 4] : p, g = v.zoom, m = v.roundPadding, S = m === void 0 ? 0 : m, x = v.isDisplayShadowRoundControls, _ = v.groupable; if (!n) return null; var y = l || Fi(t), b = s ? 4 : 3, D = Ai(y, a, i, d, !0); if (!D) return null; var E = 0, C = 0, w = _ ? [0, 0] : [u, f]; return D.map(function(P, R) { var O = P.horizontal, I = P.vertical, z = P.direction || "", k = N([], T(P.pos), !1); C += Math.abs(O), E += Math.abs(I), O && z.indexOf("n") > -1 && (k[1] -= S), I && z.indexOf("w") > -1 && (k[0] -= S), O && z.indexOf("s") > -1 && (k[1] += S), I && z.indexOf("e") > -1 && (k[0] += S); var F = Q(mt(o, k, b), w), A = x && x !== "horizontal", H = P.vertical ? E <= h[1] && (A || !P.virtual) : C <= h[0] && (x || !P.virtual); return r.createElement("div", { key: "borderRadiusControl".concat(R), className: Z("control", "border-radius", P.vertical ? "vertical" : "", P.virtual ? "virtual" : ""), "data-radius-index": R, style: { display: H ? "block" : "none", transform: "translate(".concat(F[0], "px, ").concat(F[1], "px) scale(").concat(g, ")") } }); }); }, dragControlCondition: function(t, r) { if (!r.inputEvent || r.isRequest) return !1; var e = r.inputEvent.target.getAttribute("class") || ""; return e.indexOf("border-radius") > -1 || e.indexOf("moveable-line") > -1 && e.indexOf("moveable-direction") > -1; }, dragGroupControlCondition: function(t, r) { return this.dragControlCondition(t, r); }, dragControlStart: function(t, r) { var e = r.inputEvent, n = r.datas, a = e.target, i = a.getAttribute("class") || "", o = i.indexOf("border-radius") > -1, s = i.indexOf("moveable-line") > -1 && i.indexOf("moveable-direction") > -1, u = o ? parseInt(a.getAttribute("data-radius-index"), 10) : -1, f = -1; if (s) { var l = a.getAttribute("data-line-key") || ""; l && (f = parseInt(l.replace(/render-line-/g, ""), 10), isNaN(f) && (f = -1)); } if (!o && !s) return !1; var v = nt(t, r, {}), c = U(t, "onRoundStart", v); if (c === !1) return !1; n.lineIndex = f, n.controlIndex = u, n.isControl = o, n.isLine = s, Mr(t, r); var d = t.props, p = d.roundRelative, h = d.minRoundControls, g = h === void 0 ? [0, 0] : h, m = t.state, S = m.width, x = m.height; n.isRound = !0, n.prevDist = [0, 0]; var _ = Fi(t), y = Ai(_ || "", S, x, g, !0) || []; return n.controlPoses = y, m.borderRadiusState = Na(y, p, S, x).styles.join(" "), v; }, dragControl: function(t, r) { var e = r.datas, n = e.controlPoses; if (!e.isRound || !e.isControl || !n.length) return !1; var a = e.controlIndex, i = T(tr(r), 2), o = i[0], s = i[1], u = [o, s], f = Q(u, e.prevDist), l = t.props.maxRoundControls, v = l === void 0 ? [4, 4] : l, c = t.state, d = c.width, p = c.height, h = n[a], g = h.vertical, m = h.horizontal, S = n.map(function(_) { var y = _.horizontal, b = _.vertical, D = [ y * m * u[0], b * g * u[1] ]; if (y) { if (v[0] === 1) return D; if (v[0] < 4 && y !== m) return D; } else { if (v[1] === 0) return D[1] = b * m * u[0] / d * p, D; if (g) { if (v[1] === 1) return D; if (v[1] < 4 && b !== g) return D; } } return [0, 0]; }); S[a] = u; var x = n.map(function(_, y) { return M(M({}, _), { pos: ut(_.pos, S[y]) }); }); return a < 4 ? x.slice(0, a + 1).forEach(function(_) { _.virtual = !1; }) : x.slice(4, a + 1).forEach(function(_) { _.virtual = !1; }), e.prevDist = [o, s], ki(t, r, u, f, x); }, dragControlEnd: function(t, r) { var e = t.state; e.borderRadiusState = ""; var n = r.datas, a = r.isDouble; if (!n.isRound) return !1; var i = n.isControl, o = n.controlIndex, s = n.isLine, u = n.lineIndex, f = n.controlPoses, l = f.filter(function(m) { var S = m.virtual; return S; }).length, v = t.props.roundClickable, c = v === void 0 ? !0 : v; if (a && c) { if (i && (c === !0 || c === "control")) rv(f, o); else if (s && (c === !0 || c === "line")) { var d = T(Yo(t, r), 2), p = d[0], h = d[1]; Qc(f, u, p, h); } l !== f.filter(function(m) { var S = m.virtual; return S; }).length && ki(t, r, [0, 0], [0, 0], f); } var g = Wt(t, r, {}); return U(t, "onRoundEnd", g), e.borderRadiusState = "", g; }, dragGroupControlStart: function(t, r) { var e = this.dragControlStart(t, r); if (!e) return !1; var n = t.moveables, a = t.props.targets, i = Ut(t, "roundable", r), o = M({ targets: t.props.targets, events: i.map(function(s, u) { return M(M({}, s), { target: a[u], moveable: n[u], currentTarget: n[u] }); }) }, e); return U(t, "onRoundGroupStart", o), e; }, dragGroupControl: function(t, r) { var e = this.dragControl(t, r); if (!e) return !1; var n = t.moveables, a = t.props.targets, i = Ut(t, "roundable", r), o = M({ targets: t.props.targets, events: i.map(function(s, u) { return M(M(M({}, s), { target: a[u], moveable: n[u], currentTarget: n[u] }), Bt({ borderRadius: e.borderRadius }, s)); }) }, e); return U(t, "onRoundGroup", o), o; }, dragGroupControlEnd: function(t, r) { var e = t.moveables, n = t.props.targets, a = Ut(t, "roundable", r); cn(t, "onRound", function(s) { var u = M({ targets: t.props.targets, events: a.map(function(f, l) { return M(M(M({}, f), { target: n[l], moveable: e[l], currentTarget: e[l] }), Bt({ borderRadius: s.borderRadius }, f)); }) }, s); U(t, "onRoundGroup", u); }); var i = this.dragControlEnd(t, r); if (!i) return !1; var o = M({ targets: t.props.targets, events: a.map(function(s, u) { var f; return M(M({}, s), { target: n[u], moveable: e[u], currentTarget: e[u], lastEvent: (f = s.datas) === null || f === void 0 ? void 0 : f.lastEvent }); }) }, i); return U(t, "onRoundGroupEnd", o), o; }, unset: function(t) { t.state.borderRadiusState = ""; } }; function nv(t, r) { var e = r ? 4 : 3, n = gt(e), a = "matrix".concat(r ? "3d" : "", "(").concat(n.join(","), ")"); return t === a || t === "matrix(1,0,0,1,0,0)"; } var Hs = { isPinch: !0, name: "beforeRenderable", props: [], events: [ "beforeRenderStart", "beforeRender", "beforeRenderEnd", "beforeRenderGroupStart", "beforeRenderGroup", "beforeRenderGroupEnd" ], dragRelation: "weak", setTransform: function(t, r) { var e = t.state, n = e.is3d, a = e.targetMatrix, i = e.inlineTransform, o = n ? "matrix3d(".concat(a.join(","), ")") : "matrix(".concat(Oo(a, !0), ")"), s = !i || i === "none" ? o : i; r.datas.startTransforms = nv(s, n) ? [] : vr(s); }, resetStyle: function(t) { var r = t.datas; r.nextStyle = {}, r.nextTransforms = t.datas.startTransforms, r.nextTransformAppendedIndexes = []; }, fillDragStartParams: function(t, r) { return nt(t, r, { setTransform: function(e) { r.datas.startTransforms = yt(e) ? e : vr(e); }, isPinch: !!r.isPinch }); }, fillDragParams: function(t, r) { return nt(t, r, { isPinch: !!r.isPinch }); }, dragStart: function(t, r) { this.setTransform(t, r), this.resetStyle(r), U(t, "onBeforeRenderStart", this.fillDragStartParams(t, r)); }, drag: function(t, r) { r.datas.startTransforms || this.setTransform(t, r), this.resetStyle(r), U(t, "onBeforeRender", nt(t, r, { isPinch: !!r.isPinch })); }, dragEnd: function(t, r) { r.datas.startTransforms || (this.setTransform(t, r), this.resetStyle(r)), U(t, "onBeforeRenderEnd", nt(t, r, { isPinch: !!r.isPinch, isDrag: r.isDrag })); }, dragGroupStart: function(t, r) { var e = this; this.dragStart(t, r); var n = Ut(t, "beforeRenderable", r), a = t.moveables, i = n.map(function(o, s) { var u = a[s]; return e.setTransform(u, o), e.resetStyle(o), e.fillDragStartParams(u, o); }); U(t, "onBeforeRenderGroupStart", nt(t, r, { isPinch: !!r.isPinch, targets: t.props.targets, setTransform: function() { }, events: i })); }, dragGroup: function(t, r) { var e = this; this.drag(t, r); var n = Ut(t, "beforeRenderable", r), a = t.moveables, i = n.map(function(o, s) { var u = a[s]; return e.resetStyle(o), e.fillDragParams(u, o); }); U(t, "onBeforeRenderGroup", nt(t, r, { isPinch: !!r.isPinch, targets: t.props.targets, events: i })); }, dragGroupEnd: function(t, r) { this.dragEnd(t, r), U(t, "onBeforeRenderGroupEnd", nt(t, r, { isPinch: !!r.isPinch, isDrag: r.isDrag, targets: t.props.targets })); }, dragControlStart: function(t, r) { return this.dragStart(t, r); }, dragControl: function(t, r) { return this.drag(t, r); }, dragControlEnd: function(t, r) { return this.dragEnd(t, r); }, dragGroupControlStart: function(t, r) { return this.dragGroupStart(t, r); }, dragGroupControl: function(t, r) { return this.dragGroup(t, r); }, dragGroupControlEnd: function(t, r) { return this.dragGroupEnd(t, r); } }, Ws = { name: "renderable", props: [], events: [ "renderStart", "render", "renderEnd", "renderGroupStart", "renderGroup", "renderGroupEnd" ], dragRelation: "weak", dragStart: function(t, r) { U(t, "onRenderStart", nt(t, r, { isPinch: !!r.isPinch })); }, drag: function(t, r) { U(t, "onRender", this.fillDragParams(t, r)); }, dragAfter: function(t, r) { return this.drag(t, r); }, dragEnd: function(t, r) { U(t, "onRenderEnd", this.fillDragEndParams(t, r)); }, dragGroupStart: function(t, r) { U(t, "onRenderGroupStart", nt(t, r, { isPinch: !!r.isPinch, targets: t.props.targets })); }, dragGroup: function(t, r) { var e = this, n = Ut(t, "beforeRenderable", r), a = t.moveables, i = n.map(function(o, s) { var u = a[s]; return e.fillDragParams(u, o); }); U(t, "onRenderGroup", nt(t, r, M(M({ isPinch: !!r.isPinch, targets: t.props.targets, transform: Te(r), transformObject: {} }, Bt(Oe(r))), { events: i }))); }, dragGroupEnd: function(t, r) { var e = this, n = Ut(t, "beforeRenderable", r), a = t.moveables, i = n.map(function(o, s) { var u = a[s]; return e.fillDragEndParams(u, o); }); U(t, "onRenderGroupEnd", nt(t, r, M({ isPinch: !!r.isPinch, isDrag: r.isDrag, targets: t.props.targets, events: i, transformObject: {}, transform: Te(r) }, Bt(Oe(r))))); }, dragControlStart: function(t, r) { return this.dragStart(t, r); }, dragControl: function(t, r) { return this.drag(t, r); }, dragControlAfter: function(t, r) { return this.dragAfter(t, r); }, dragControlEnd: function(t, r) { return this.dragEnd(t, r); }, dragGroupControlStart: function(t, r) { return this.dragGroupStart(t, r); }, dragGroupControl: function(t, r) { return this.dragGroup(t, r); }, dragGroupControlEnd: function(t, r) { return this.dragGroupEnd(t, r); }, fillDragParams: function(t, r) { var e = {}; return Fr(Xe(r) || []).forEach(function(n) { e[n.name] = n.functionValue; }), nt(t, r, M({ isPinch: !!r.isPinch, transformObject: e, transform: Te(r) }, Bt(Oe(r)))); }, fillDragEndParams: function(t, r) { var e = {}; return Fr(Xe(r) || []).forEach(function(n) { e[n.name] = n.functionValue; }), nt(t, r, M({ isPinch: !!r.isPinch, isDrag: r.isDrag, transformObject: e, transform: Te(r) }, Bt(Oe(r)))); } }; function ie(t, r, e, n, a, i, o) { i.clientDistX = i.distX, i.clientDistY = i.distY; var s = a === "Start", u = a === "End", f = a === "After", l = t.state.target, v = i.isRequest, c = n.indexOf("Control") > -1; if (!l || s && c && !v && t.areaElement === i.inputEvent.target) return !1; var d = N([], T(r), !1); if (v) { var p = i.requestAble; d.some(function(R) { return R.name === p; }) || d.push.apply(d, N([], T(t.props.ables.filter(function(R) { return R.name === p; })), !1)); } if (!d.length || d.every(function(R) { return R.dragRelation; })) return !1; var h = i.inputEvent, g; u && h && (g = document.elementFromPoint(i.clientX, i.clientY) || h.target); var m = !1, S = function() { var R; m = !0, (R = i.stop) === null || R === void 0 || R.call(i); }, x = s && (!t.targetGesto || !t.controlGesto || !t.targetGesto.isFlag() || !t.controlGesto.isFlag()); x && t.updateRect(a, !0, !1); var _ = i.datas, y = c ? "controlGesto" : "targetGesto", b = t[y], D = function(R, O, I) { if (!(O in R) || b !== t[y]) return !1; var z = R.name, k = _[z] || (_[z] = {}); if (s && (k.isEventStart = !I || !R[I] || R[I](t, i)), !k.isEventStart) return !1; var F = R[O](t, M(M({}, i), { stop: S, datas: k, originalDatas: _, inputTarget: g })); return t._emitter.off(), s && F === !1 && (k.isEventStart = !1), F; }; x && d.forEach(function(R) { R.unset && R.unset(t); }), D(Hs, "drag".concat(n).concat(a)); var E = 0, C = 0; e.forEach(function(R) { if (m) return !1; var O = "".concat(R).concat(n).concat(a), I = "".concat(R).concat(n, "Condition"); a === "" && !v && Os(t.state, i); var z = d.filter(function(A) { return A[O]; }); z = z.filter(function(A, H) { return A.name && z.indexOf(A) === H; }); var k = z.filter(function(A) { return D(A, O, I); }), F = k.length; m && ++E, F && ++C, !m && s && z.length && !F && (E += z.filter(function(A) { var H = A.name, W = _[H]; return W.isEventStart ? A.dragRelation !== "strong" : !1; }).length ? 1 : 0); }), (!f || C) && D(Ws, "drag".concat(n).concat(a)); var w = b !== t[y] || E === e.length; if ((u || m || w) && (t.state.gestos = {}, t.moveables && t.moveables.forEach(function(R) { R.state.gestos = {}; }), d.forEach(function(R) { R.unset && R.unset(t); })), s && !w && !v && C && t.props.preventDefault && (i == null || i.preventDefault()), t.isUnmounted || w) return !1; if (!s && C && !o || u) { var P = t.props.flushSync || ms; P(function() { t.updateRect(u ? a : "", !0, !1), t.forceUpdate(); }); } return !s && !u && !f && C && !o && ie(t, r, e, n, a + "After", i), !0; } function Wa(t, r) { return function(e, n) { var a; n === void 0 && (n = e.inputEvent.target); var i = n, o = t.areaElement, s = t._dragTarget; return !s || !r && (!((a = t.controlGesto) === null || a === void 0) && a.isFlag()) ? !1 : i === s || s.contains(i) || i === o || !t.isMoveableElement(i) && !t.controlBox.contains(i) || Ct(i, "moveable-area") || Ct(i, "moveable-padding") || Ct(i, "moveable-edgeDraggable"); }; } function Ys(t, r, e) { var n = t.controlBox, a = [], i = t.props, o = i.dragArea, s = t.state.target, u = i.dragTarget; a.push(n), (!o || u) && a.push(r), !o && u && s && r !== s && i.dragTargetSelf && a.push(s); var f = Wa(t); return Xs(t, a, "targetAbles", e, { dragStart: f, pinchStart: f }); } function Ls(t, r) { var e = t.controlBox, n = []; n.push(e); var a = Wa(t, !0), i = function(o, s) { if (s === void 0 && (s = o.inputEvent.target), s === e) return !0; var u = a(o, s); return !u; }; return Xs(t, n, "controlAbles", r, { dragStart: i, pinchStart: i }); } function Xs(t, r, e, n, a) { a === void 0 && (a = {}); var i = e === "targetAbles", o = t.props, s = o.pinchOutside, u = o.pinchThreshold, f = o.preventClickEventOnDrag, l = o.preventClickDefault, v = o.checkInput, c = o.dragFocusedInput, d = o.preventDefault, p = d === void 0 ? !0 : d, h = o.preventRightClick, g = h === void 0 ? !0 : h, m = o.preventWheelClick, S = m === void 0 ? !0 : m, x = o.dragContainer, _ = Jt(x, !0), y = { preventDefault: p, preventRightClick: g, preventWheelClick: S, container: _ || cr(t.getControlBoxElement()), pinchThreshold: u, pinchOutside: s, preventClickEventOnDrag: i ? f : !1, preventClickEventOnDragStart: i ? l : !1, preventClickEventByCondition: i ? null : function(E) { return t.controlBox.contains(E.target); }, checkInput: i ? v : !1, dragFocusedInput: c }, b = new Pf(r, y), D = n === "Control"; return ["drag", "pinch"].forEach(function(E) { ["Start", "", "End"].forEach(function(C) { b.on("".concat(E).concat(C), function(w) { var P, R = w.eventType, O = E === "drag" && w.isPinch; if (a[R] && !a[R](w)) { w.stop(); return; } if (!O) { var I = E === "drag" ? [E] : ["drag", E], z = N([], T(t[e]), !1), k = ie(t, z, I, n, C, w); k ? (t.props.stopPropagation || C === "Start" && D) && ((P = w == null ? void 0 : w.inputEvent) === null || P === void 0 || P.stopPropagation()) : w.stop(); } }); }); }), b; } var av = /* @__PURE__ */ function() { function t(r, e, n) { var a = this; this.target = r, this.moveable = e, this.eventName = n, this.ables = [], this._onEvent = function(i) { var o = a.eventName, s = a.moveable; s.state.disableNativeEvent || a.ables.forEach(function(u) { u[o](s, { inputEvent: i }); }); }, r.addEventListener(n.toLowerCase(), this._onEvent); } return t.prototype.setAbles = function(r) { this.ables = r; }, t.prototype.destroy = function() { this.target.removeEventListener(this.eventName.toLowerCase(), this._onEvent), this.target = null, this.moveable = null; }, t; }(); function iv(t, r, e, n) { var a; e === void 0 && (e = r); var i = Uo(t, r), o = i.matrixes, s = i.is3d, u = i.targetMatrix, f = i.transformOrigin, l = i.targetOrigin, v = i.offsetContainer, c = i.hasFixed, d = i.zoom, p = _l(v, e), h = p.matrixes, g = p.is3d, m = p.offsetContainer, S = p.zoom, x = n || g || s, _ = x ? 4 : 3, y = t.tagName.toLowerCase() !== "svg" && "ownerSVGElement" in t, b = u, D = gt(_), E = gt(_), C = gt(_), w = gt(_), P = o.length, R = h.map(function(H) { return M(M({}, H), { matrix: H.matrix ? N([], T(H.matrix), !1) : void 0 }); }).reverse(); o.reverse(), !s && x && (b = Kt(b, 3, 4), ra(o)), !g && x && ra(R), R.forEach(function(H) { E = dt(E, H.matrix, _); }); var O = e || hr(t), I = ((a = R[0]) === null || a === void 0 ? void 0 : a.target) || le(O, O, !0).offsetParent, z = R.slice(1).reduce(function(H, W) { return dt(H, W.matrix, _); }, gt(_)); o.forEach(function(H, W) { if (P - 2 === W && (C = D.slice()), P - 1 === W && (w = D.slice()), !H.matrix) { var G = o[W + 1], V = Ec(H, G, I, _, dt(z, D, _)); H.matrix = Er(V, _); } D = dt(D, H.matrix, _); }); var k = !y && s; b || (b = gt(k ? 4 : 3)); var F = ln(y && b.length === 16 ? Kt(b, 4, 3) : b, k), A = E; return E = wo(E, _, _), { hasZoom: d !== 1 || S !== 1, hasFixed: c, matrixes: o, rootMatrix: E, originalRootMatrix: A, beforeMatrix: C, offsetMatrix: w, allMatrix: D, targetMatrix: b, targetTransform: F, inlineTransform: t.style.transform, transformOrigin: f, targetOrigin: l, is3d: x, offsetContainer: v, offsetRootContainer: m }; } function ov(t, r, e, n) { e === void 0 && (e = r); var a = 0, i = 0, o = 0, s = {}, u = bs(t); if (t && (a = u.offsetWidth, i = u.offsetHeight), t) { var f = iv(t, r, e, n), l = Ar(f.allMatrix, f.transformOrigin, a, i); s = M(M({}, f), l); var v = Ar(f.allMatrix, [50, 50], 100, 100); o = ys([v.pos1, v.pos2], v.direction); } var c = n ? 4 : 3; return M(M(M({ hasZoom: !1, width: a, height: i, rotation: o }, u), { originalRootMatrix: gt(c), rootMatrix: gt(c), beforeMatrix: gt(c), offsetMatrix: gt(c), allMatrix: gt(c), targetMatrix: gt(c), targetTransform: "", inlineTransform: "", transformOrigin: [0, 0], targetOrigin: [0, 0], is3d: !!n, left: 0, top: 0, right: 0, bottom: 0, origin: [0, 0], pos1: [0, 0], pos2: [0, 0], pos3: [0, 0], pos4: [0, 0], direction: 1, hasFixed: !1, offsetContainer: null, offsetRootContainer: null, matrixes: [] }), s); } function ia(t, r, e, n, a, i) { i === void 0 && (i = []); var o = 1, s = [0, 0], u = Pe(), f = Pe(), l = Pe(), v = Pe(), c = [0, 0], d = {}, p = ov(r, e, a, !0); if (r) { var h = Ht(r); i.forEach(function(R) { d[R] = h(R); }); var g = p.is3d ? 4 : 3, m = Ar(p.offsetMatrix, ut(p.transformOrigin, To(p.targetMatrix, g)), p.width, p.height); o = m.direction, s = ut(m.origin, [m.left - p.left, m.top - p.top]), v = ae(p.offsetRootContainer); var S = le(n, n, !0).offsetParent || p.offsetRootContainer; if (p.hasZoom) { var x = Ar(dt(p.originalRootMatrix, p.allMatrix), p.transformOrigin, p.width, p.height), _ = Ar(p.originalRootMatrix, Ue(Ht(S)("transformOrigin")).map(function(R) { return parseFloat(R); }), S.offsetWidth, S.offsetHeight); if (u = wn(x, v), l = wn(_, v, S, !0), t) { var y = x.left, b = x.top; f = wn({ left: y, top: b, bottom: b, right: b }, v); } } else { u = ae(r), l = xl(S), t && (f = ae(t)); var D = l.left, E = l.top, C = l.clientLeft, w = l.clientTop, P = [ u.left - D, u.top - E ]; c = Q(Yr(p.rootMatrix, P, 4), [C + p.left, w + p.top]); } } return M({ targetClientRect: u, containerClientRect: l, moveableClientRect: f, rootContainerClientRect: v, beforeDirection: o, beforeOrigin: s, originalBeforeOrigin: s, target: r, style: d, offsetDelta: c }, p); } function Ni(t) { var r = t.pos1, e = t.pos2, n = t.pos3, a = t.pos4; if (!r || !e || !n || !a) return null; var i = Dr([r, e, n, a]), o = [i.minX, i.minY], s = Q(t.origin, o); return r = Q(r, o), e = Q(e, o), n = Q(n, o), a = Q(a, o), M(M({}, t), { left: t.left, top: t.top, posDelta: o, pos1: r, pos2: e, pos3: n, pos4: a, origin: s, beforeOrigin: s, // originalBeforeOrigin: origin, isPersisted: !0 }); } var Lr = /* @__PURE__ */ function(t) { Se(r, t); function r() { var e = t !== null && t.apply(this, arguments) || this; return e.state = M({ container: null, gestos: {}, renderLines: [ [[0, 0], [0, 0]], [[0, 0], [0, 0]], [[0, 0], [0, 0]], [[0, 0], [0, 0]] ], renderPoses: [[0, 0], [0, 0], [0, 0], [0, 0]], disableNativeEvent: !1, posDelta: [0, 0] }, ia(null)), e.renderState = {}, e.enabledAbles = [], e.targetAbles = [], e.controlAbles = [], e.rotation = 0, e.scale = [1, 1], e.isMoveableMounted = !1, e.isUnmounted = !1, e.events = { mouseEnter: null, mouseLeave: null }, e._emitter = new rn(), e._prevOriginalDragTarget = null, e._originalDragTarget = null, e._prevDragTarget = null, e._dragTarget = null, e._prevPropTarget = null, e._propTarget = null, e._prevDragArea = !1, e._isPropTargetChanged = !1, e._hasFirstTarget = !1, e._reiszeObserver = null, e._observerId = 0, e._mutationObserver = null, e._rootContainer = null, e._viewContainer = null, e._viewClassNames = [], e._store = {}, e.checkUpdateRect = function() { if (!e.isDragging()) { var n = e.props.parentMoveable; if (n) { n.checkUpdateRect(); return; } xu(e._observerId), e._observerId = ro(function() { e.isDragging() || e.updateRect(); }); } }, e._onPreventClick = function(n) { n.stopPropagation(), n.preventDefault(); }, e; } return r.prototype.render = function() { var e = this.props, n = this.getState(), a = e.parentPosition, i = e.className, o = e.target, s = e.zoom, u = e.cspNonce, f = e.translateZ, l = e.cssStyled, v = e.groupable, c = e.linePadding, d = e.controlPadding; this._checkUpdateRootContainer(), this.checkUpdate(), this.updateRenderPoses(); var p = T(a || [0, 0], 2), h = p[0], g = p[1], m = n.left, S = n.top, x = n.target, _ = n.direction, y = n.hasFixed, b = n.offsetDelta, D = e.targets, E = this.isDragging(), C = {}; this.getEnabledAbles().forEach(function(z) { C["data-able-".concat(z.name.toLowerCase())] = !0; }); var w = this._getAbleClassName(), P = D && D.length && (x || v) || o || !this._hasFirstTarget && this.state.isPersisted, R = this.controlBox || this.props.firstRenderState || this.props.persistData, O = [m - h, S - g]; !v && e.useAccuratePosition && (O[0] += b[0], O[1] += b[1]); var I = { position: y ? "fixed" : "absolute", display: P ? "block" : "none", visibility: R ? "visible" : "hidden", transform: "translate3d(".concat(O[0], "px, ").concat(O[1], "px, ").concat(f, ")"), "--zoom": s, "--zoompx": "".concat(s, "px") }; return c && (I["--moveable-line-padding"] = c), d && (I["--moveable-control-padding"] = d), jt( l, M({ cspNonce: u, ref: rr(this, "controlBox"), className: "".concat(Z("control-box", _ === -1 ? "reverse" : "", E ? "dragging" : ""), " ").concat(w, " ").concat(i) }, C, { onClick: this._onPreventClick, style: I }), this.renderAbles(), this._renderLines() ); }, r.prototype.componentDidMount = function() { this.isMoveableMounted = !0, this.isUnmounted = !1; var e = this.props, n = e.parentMoveable, a = e.container; this._checkUpdateRootContainer(), this._checkUpdateViewContainer(), this._updateTargets(), this._updateNativeEvents(), this._updateEvents(), this.updateCheckInput(), this._updateObserver(this.props), !a && !n && !this.state.isPersisted && (this.updateRect("", !1, !1), this.forceUpdate()); }, r.prototype.componentDidUpdate = function(e) { this._checkUpdateRootContainer(), this._checkUpdateViewContainer(), this._updateNativeEvents(), this._updateTargets(), this._updateEvents(), this.updateCheckInput(), this._updateObserver(e); }, r.prototype.componentWillUnmount = function() { var e, n; this.isMoveableMounted = !1, this.isUnmounted = !0, this._emitter.off(), (e = this._reiszeObserver) === null || e === void 0 || e.disconnect(), (n = this._mutationObserver) === null || n === void 0 || n.disconnect(); var a = this._viewContainer; a && this._changeAbleViewClassNames([]), Gr(this, !1), Gr(this, !0); var i = this.events; for (var o in i) { var s = i[o]; s && s.destroy(); } }, r.prototype.getTargets = function() { var e = this.props.target; return e ? [e] : []; }, r.prototype.getAble = function(e) { var n = this.props.ables || []; return Nt(n, function(a) { return a.name === e; }); }, r.prototype.getContainer = function() { var e = this.props, n = e.parentMoveable, a = e.wrapperMoveable, i = e.container; return i || a && a.getContainer() || n && n.getContainer() || this.controlBox.parentElement; }, r.prototype.getControlBoxElement = function() { return this.controlBox; }, r.prototype.getDragElement = function() { return this._dragTarget; }, r.prototype.isMoveableElement = function(e) { var n; return e && (((n = e.getAttribute) === null || n === void 0 ? void 0 : n.call(e, "class")) || "").indexOf(ya) > -1; }, r.prototype.dragStart = function(e, n) { n === void 0 && (n = e.target); var a = this.targetGesto, i = this.controlGesto; return a && Wa(this)({ inputEvent: e }, n) ? a.isFlag() || a.triggerDragStart(e) : i && this.isMoveableElement(n) && (i.isFlag() || i.triggerDragStart(e)), this; }, r.prototype.hitTest = function(e) { var n = this.state, a = n.target, i = n.pos1, o = n.pos2, s = n.pos3, u = n.pos4, f = n.targetClientRect; if (!a) return 0; var l; if (Vr(e)) { var v = e.getBoundingClientRect(); l = { left: v.left, top: v.top, width: v.width, height: v.height }; } else l = M({ width: 0, height: 0 }, e); var c = l.left, d = l.top, p = l.width, h = l.height, g = ui([i, o, u, s], f), m = Cf(g, [ [c, d], [c + p, d], [c + p, d + h], [c, d + h] ]), S = Io(g); return !m || !S ? 0 : Math.min(100, m / S * 100); }, r.prototype.isInside = function(e, n) { var a = this.state, i = a.target, o = a.pos1, s = a.pos2, u = a.pos3, f = a.pos4, l = a.targetClientRect; return i ? Yn([e, n], ui([o, s, f, u], l)) : !1; }, r.prototype.updateRect = function(e, n, a) { a === void 0 && (a = !0); var i = this.props, o = !i.parentPosition && !i.wrapperMoveable; o && Hr(!0); var s = i.parentMoveable, u = this.state, f = u.target || i.target, l = this.getContainer(), v = s ? s._rootContainer : this._rootContainer, c = ia(this.controlBox, f, l, l, v || l, this._getRequestStyles()); if (!f && this._hasFirstTarget && i.persistData) { var d = Ni(i.persistData); for (var p in d) c[p] = d[p]; } o && Hr(), this.updateState(c, s ? !1 : a); }, r.prototype.isDragging = function(e) { var n, a, i = this.targetGesto, o = this.controlGesto; if (i != null && i.isFlag()) { if (!e) return !0; var s = i.getEventData(); return !!(!((n = s[e]) === null || n === void 0) && n.isEventStart); } if (o != null && o.isFlag()) { if (!e) return !0; var s = o.getEventData(); return !!(!((a = s[e]) === null || a === void 0) && a.isEventStart); } return !1; }, r.prototype.updateTarget = function(e) { this.updateRect(e, !0); }, r.prototype.getRect = function() { var e = this.state, n = Vt(this.state), a = T(n, 4), i = a[0], o = a[1], s = a[2], u = a[3], f = Lt(n), l = e.width, v = e.height, c = f.width, d = f.height, p = f.left, h = f.top, g = [e.left, e.top], m = ut(g, e.origin), S = ut(g, e.beforeOrigin), x = e.transformOrigin; return { width: c, height: d, left: p, top: h, pos1: i, pos2: o, pos3: s, pos4: u, offsetWidth: l, offsetHeight: v, beforeOrigin: S, origin: m, transformOrigin: x, rotation: this.getRotation() }; }, r.prototype.getManager = function() { return this; }, r.prototype.stopDrag = function(e) { if (!e || e === "target") { var n = this.targetGesto; (n == null ? void 0 : n.isIdle()) === !1 && ea(this, !1), n == null || n.stop(); } if (!e || e === "control") { var n = this.controlGesto; (n == null ? void 0 : n.isIdle()) === !1 && ea(this, !0), n == null || n.stop(); } }, r.prototype.getRotation = function() { var e = this.state, n = e.pos1, a = e.pos2, i = e.direction; return Oc(n, a, i); }, r.prototype.request = function(e, n, a) { n === void 0 && (n = {}); var i = this, o = i.props, s = o.parentMoveable || o.wrapperMoveable || i, u = s.props.ables, f = o.groupable, l = Nt(u, function(m) { return m.name === e; }); if (this.isDragging() || !l || !l.request) return { request: function() { return this; }, requestEnd: function() { return this; } }; var v = l.request(i), c = a || n.isInstant, d = v.isControl ? "controlAbles" : "targetAbles", p = "".concat(f ? "Group" : "").concat(v.isControl ? "Control" : ""), h = N([], T(s[d]), !1), g = { request: function(m) { return ie(i, h, ["drag"], p, "", M(M({}, v.request(m)), { requestAble: e, isRequest: !0 }), c), g; }, requestEnd: function() { return ie(i, h, ["drag"], p, "End", M(M({}, v.requestEnd()), { requestAble: e, isRequest: !0 }), c), g; } }; return ie(i, h, ["drag"], p, "Start", M(M({}, v.requestStart(n)), { requestAble: e, isRequest: !0 }), c), c ? g.request(n).requestEnd() : g; }, r.prototype.getMoveables = function() { return [this]; }, r.prototype.destroy = function() { this.componentWillUnmount(); }, r.prototype.updateRenderPoses = function() { var e = this.getState(), n = this.props, a = n.padding, i = e.originalBeforeOrigin, o = e.transformOrigin, s = e.allMatrix, u = e.is3d, f = e.pos1, l = e.pos2, v = e.pos3, c = e.pos4, d = e.left, p = e.top, h = e.isPersisted, g = n.zoom || 1; if (!a && g <= 1) { e.renderPoses = [ f, l, v, c ], e.renderLines = [ [f, l], [l, c], [c, v], [v, f] ]; return; } var m = zs(a || {}), S = m.left, x = m.top, _ = m.bottom, y = m.right, b = u ? 4 : 3, D = []; h ? D = o : this.controlBox && n.groupable ? D = i : D = ut(i, [d, p]); var E = Ye(b, Er(D.map(function(I) { return -I; }), b), s, Er(o, b)), C = Yt(E, f, [-S, -x], b), w = Yt(E, l, [y, -x], b), P = Yt(E, v, [-S, _], b), R = Yt(E, c, [y, _], b); if (e.renderPoses = [ C, w, P, R ], e.renderLines = [ [C, w], [w, R], [R, P], [P, C] ], g) { var O = g / 2; e.renderLines = [ [ Yt(E, f, [-S - O, -x], b), Yt(E, l, [y + O, -x], b) ], [ Yt(E, l, [y, -x - O], b), Yt(E, c, [y, _ + O], b) ], [ Yt(E, c, [y + O, _], b), Yt(E, v, [-S - O, _], b) ], [ Yt(E, v, [-S, _ + O], b), Yt(E, f, [-S, -x - O], b) ] ]; } }, r.prototype.checkUpdate = function() { this._isPropTargetChanged = !1; var e = this.props, n = e.target, a = e.container, i = e.parentMoveable, o = this.state, s = o.target, u = o.container; if (!(!s && !n)) { this.updateAbles(); var f = !na(s, n), l = f || !na(u, a); if (l) { var v = a || this.controlBox; v && this.unsetAbles(), this.updateState({ target: n, container: a }), !i && v && this.updateRect("End", !1, !1), this._isPropTargetChanged = f; } } }, r.prototype.waitToChangeTarget = function() { return new Promise(function() { }); }, r.prototype.triggerEvent = function(e, n) { var a = this.props; if (this._emitter.trigger(e, n), a.parentMoveable && n.isRequest && !n.isRequestChild) return a.parentMoveable.triggerEvent(e, n, !0); var i = a[e]; return i && i(n); }, r.prototype.useCSS = function(e, n) { var a = this.props.customStyledMap, i = e + n; return a[i] || (a[i] = Bo(e, n)), a[i]; }, r.prototype.getState = function() { var e, n = this.props; (n.target || !((e = n.targets) === null || e === void 0) && e.length) && (this._hasFirstTarget = !0); var a = this.controlBox, i = n.persistData, o = n.firstRenderState; if (o && !a) return o; if (!this._hasFirstTarget && i) { var s = Ni(i); if (s) return this.updateState(s, !1), this.state; } return this.state.isPersisted = !1, this.state; }, r.prototype.updateSelectors = function() { }, r.prototype.unsetAbles = function() { var e = this; this.targetAbles.forEach(function(n) { n.unset && n.unset(e); }); }, r.prototype.updateAbles = function(e, n) { e === void 0 && (e = this.props.ables), n === void 0 && (n = ""); var a = this.props, i = a.triggerAblesSimultaneously, o = this.getEnabledAbles(e), s = "drag".concat(n, "Start"), u = "pinch".concat(n, "Start"), f = "drag".concat(n, "ControlStart"), l = Ie(o, [s, u], i), v = Ie(o, [f], i); this.enabledAbles = o, this.targetAbles = l, this.controlAbles = v; }, r.prototype.updateState = function(e, n) { if (n) { if (this.isUnmounted) return; this.setState(e); } else { var a = this.state; for (var i in e) a[i] = e[i]; } }, r.prototype.getEnabledAbles = function(e) { e === void 0 && (e = this.props.ables); var n = this.props; return e.filter(function(a) { return a && (a.always && n[a.name] !== !1 || n[a.name]); }); }, r.prototype.renderAbles = function() { var e = this, n = this.props, a = n.triggerAblesSimultaneously, i = { createElement: jt }; return this.renderState = {}, Mc(Ts(Ie(this.getEnabledAbles(), ["render"], a).map(function(o) { var s = o.render; return s(e, i) || []; })).filter(function(o) { return o; }), function(o) { var s = o.key; return s; }).map(function(o) { return o[0]; }); }, r.prototype.updateCheckInput = function() { this.targetGesto && (this.targetGesto.options.checkInput = this.props.checkInput); }, r.prototype._getRequestStyles = function() { var e = this.getEnabledAbles().reduce(function(n, a) { var i, o, s = (o = (i = a.requestStyle) === null || i === void 0 ? void 0 : i.call(a)) !== null && o !== void 0 ? o : []; return N(N([], T(n), !1), T(s), !1); }, N([], T(this.props.requestStyles || []), !1)); return e; }, r.prototype._updateObserver = function(e) { this._updateResizeObserver(e), this._updateMutationObserver(e); }, r.prototype._updateEvents = function() { var e = this.targetAbles.length, n = this.controlAbles.length, a = this._dragTarget, i = !e && this.targetGesto || this._isTargetChanged(!0); i && (Gr(this, !1), this.updateState({ gestos: {} })), n || Gr(this, !0), a && e && !this.targetGesto && (this.targetGesto = Ys(this, a, "")), !this.controlGesto && n && (this.controlGesto = Ls(this, "Control")); }, r.prototype._updateTargets = function() { var e = this.props; this._prevPropTarget = this._propTarget, this._prevDragTarget = this._dragTarget, this._prevOriginalDragTarget = this._originalDragTarget, this._prevDragArea = e.dragArea, this._propTarget = e.target, this._originalDragTarget = e.dragTarget || e.target, this._dragTarget = Jt(this._originalDragTarget, !0); }, r.prototype._renderLines = function() { var e = this.props, n = e, a = n.zoom, i = n.hideDefaultLines, o = n.hideChildMoveableDefaultLines, s = n.parentMoveable; if (i || s && o) return []; var u = this.getState(), f = { createElement: jt }; return u.renderLines.map(function(l, v) { return fe(f, "", l[0], l[1], a, "render-line-".concat(v)); }); }, r.prototype._isTargetChanged = function(e) { var n = this.props, a = n.dragTarget || n.target, i = this._prevOriginalDragTarget, o = this._prevDragArea, s = n.dragArea, u = !s && i !== a, f = (e || s) && o !== s; return u || f || this._prevPropTarget != this._propTarget; }, r.prototype._updateNativeEvents = function() { var e = this, n = this.props, a = n.dragArea ? this.areaElement : this.state.target, i = this.events, o = ir(i); if (this._isTargetChanged()) for (var s in i) { var u = i[s]; u && u.destroy(), i[s] = null; } if (a) { var f = this.enabledAbles; o.forEach(function(l) { var v = Ie(f, [l]), c = v.length > 0, d = i[l]; if (!c) { d && (d.destroy(), i[l] = null); return; } d || (d = new av(a, e, l), i[l] = d), d.setAbles(v); }); } }, r.prototype._checkUpdateRootContainer = function() { var e = this.props.rootContainer; !this._rootContainer && e && (this._rootContainer = Jt(e, !0)); }, r.prototype._checkUpdateViewContainer = function() { var e = this.props.viewContainer; !this._viewContainer && e && (this._viewContainer = Jt(e, !0)); var n = this._viewContainer; n && this._changeAbleViewClassNames(N(N([], T(this._getAbleViewClassNames()), !1), [ this.isDragging() ? Ac : "" ], !1)); }, r.prototype._changeAbleViewClassNames = function(e) { var n = this._viewContainer, a = ws(e.filter(Boolean), function(f) { return f; }).map(function(f) { var l = T(f, 1), v = l[0]; return v; }), i = this._viewClassNames, o = de(i, a), s = o.removed, u = o.added; s.forEach(function(f) { oo(n, i[f]); }), u.forEach(function(f) { io(n, a[f]); }), this._viewClassNames = a; }, r.prototype._getAbleViewClassNames = function() { var e = this; return (this.getEnabledAbles().map(function(n) { var a; return ((a = n.viewClassName) === null || a === void 0 ? void 0 : a.call(n, e)) || ""; }).join(" ") + " ".concat(this._getAbleClassName("-view"))).split(/\s+/g); }, r.prototype._getAbleClassName = function(e) { var n = this; e === void 0 && (e = ""); var a = this.getEnabledAbles(), i = this.targetGesto, o = this.controlGesto, s = i != null && i.isFlag() ? i.getEventData() : {}, u = o != null && o.isFlag() ? o.getEventData() : {}; return a.map(function(f) { var l, v, c, d = f.name, p = ((l = f.className) === null || l === void 0 ? void 0 : l.call(f, n)) || ""; return (!((v = s[d]) === null || v === void 0) && v.isEventStart || !((c = u[d]) === null || c === void 0) && c.isEventStart) && (p += " ".concat(Z("".concat(d).concat(e, "-dragging")))), p.trim(); }).filter(Boolean).join(" "); }, r.prototype._updateResizeObserver = function(e) { var n, a = this.props, i = a.target, o = cr(this.getControlBoxElement()); if (!o.ResizeObserver || !i || !a.useResizeObserver) { (n = this._reiszeObserver) === null || n === void 0 || n.disconnect(); return; } if (!(e.target === i && this._reiszeObserver)) { var s = new o.ResizeObserver(this.checkUpdateRect); s.observe(i, { box: "border-box" }), this._reiszeObserver = s; } }, r.prototype._updateMutationObserver = function(e) { var n = this, a, i = this.props, o = i.target, s = cr(this.getControlBoxElement()); if (!s.MutationObserver || !o || !i.useMutationObserver) { (a = this._mutationObserver) === null || a === void 0 || a.disconnect(); return; } if (!(e.target === o && this._mutationObserver)) { var u = new s.MutationObserver(function(f) { var l, v; try { for (var c = Yf(f), d = c.next(); !d.done; d = c.next()) { var p = d.value; p.type === "attributes" && p.attributeName === "style" && n.checkUpdateRect(); } } catch (h) { l = { error: h }; } finally { try { d && !d.done && (v = c.return) && v.call(c); } finally { if (l) throw l.error; } } }); u.observe(o, { attributes: !0 }), this._mutationObserver = u; } }, r.defaultProps = { dragTargetSelf: !1, target: null, dragTarget: null, container: null, rootContainer: null, origin: !0, parentMoveable: null, wrapperMoveable: null, isWrapperMounted: !1, parentPosition: null, warpSelf: !1, svgOrigin: "", dragContainer: null, useResizeObserver: !1, useMutationObserver: !1, preventDefault: !0, preventRightClick: !0, preventWheelClick: !0, linePadding: 0, controlPadding: 0, ables: [], pinchThreshold: 20, dragArea: !1, passDragArea: !1, transformOrigin: "", className: "", zoom: 1, triggerAblesSimultaneously: !1, padding: {}, pinchOutside: !0, checkInput: !1, dragFocusedInput: !1, groupable: !1, hideDefaultLines: !1, cspNonce: "", translateZ: 0, cssStyled: null, customStyledMap: {}, props: {}, stopPropagation: !1, preventClickDefault: !1, preventClickEventOnDrag: !0, flushSync: ms, firstRenderState: null, persistData: null, viewContainer: null, requestStyles: [], useAccuratePosition: !1 }, r; }(po), Ya = { name: "groupable", props: [ "defaultGroupRotate", "useDefaultGroupRotate", "defaultGroupOrigin", "groupable", "groupableProps", "targetGroups", "hideChildMoveableDefaultLines" ], events: [], render: function(t, r) { var e, n = t.props, a = n.targets || [], i = t.getState(), o = i.left, s = i.top, u = i.isPersisted, f = n.zoom || 1, l = t.renderGroupRects, v = ((e = n.persistData) === null || e === void 0 ? void 0 : e.children) || []; u ? a = v.map(function() { return null; }) : v = []; var c = Br(t, "parentPosition", [o, s], function(p) { return p.join(","); }), d = Br(t, "requestStyles", t.getRequestChildStyles(), function(p) { return p.join(","); }); return t.moveables = t.moveables.slice(0, a.length), N(N([], T(a.map(function(p, h) { return r.createElement(Lr, { key: "moveable" + h, ref: Ki(t, "moveables", h), target: p, origin: !1, requestStyles: d, cssStyled: n.cssStyled, customStyledMap: n.customStyledMap, useResizeObserver: n.useResizeObserver, useMutationObserver: n.useMutationObserver, hideChildMoveableDefaultLines: n.hideChildMoveableDefaultLines, parentMoveable: t, parentPosition: [o, s], persistData: v[h], zoom: f }); })), !1), T(Ts(l.map(function(p, h) { var g = p.pos1, m = p.pos2, S = p.pos3, x = p.pos4, _ = [g, m, S, x]; return [ [0, 1], [1, 3], [3, 2], [2, 0] ].map(function(y, b) { var D = T(y, 2), E = D[0], C = D[1]; return fe(r, "", Q(_[E], c), Q(_[C], c), f, "group-rect-".concat(h, "-").concat(b)); }); }))), !1); } }, sv = xe("clickable", { props: [ "clickable" ], events: [ "click", "clickGroup" ], always: !0, dragRelation: "weak", // eslint-disable-next-line @typescript-eslint/no-unused-vars dragStart: function() { }, dragControlStart: function() { }, dragGroupStart: function(t, r) { r.datas.inputTarget = r.inputEvent && r.inputEvent.target; }, dragEnd: function(t, r) { var e = t.props.target, n = r.inputEvent, a = r.inputTarget, i = t.isMoveableElement(a), o = !i && t.controlBox.contains(a); if (!(!n || !a || r.isDrag || t.isMoveableElement(a) || o)) { var s = e.contains(a); U(t, "onClick", nt(t, r, { isDouble: r.isDouble, inputTarget: a, isTarget: e === a, moveableTarget: t.props.target, containsTarget: s })); } }, dragGroupEnd: function(t, r) { var e = r.inputEvent, n = r.inputTarget; if (!(!e || !n || r.isDrag || t.isMoveableElement(n) || r.datas.inputTarget === n)) { var a = t.props.targets, i = a.indexOf(n), o = i > -1, s = !1; i === -1 && (i = ar(a, function(u) { return u.contains(n); }), s = i > -1), U(t, "onClickGroup", nt(t, r, { isDouble: r.isDouble, targets: a, inputTarget: n, targetIndex: i, isTarget: o, containsTarget: s, moveableTarget: a[i] })); } }, dragControlEnd: function(t, r) { this.dragEnd(t, r); }, dragGroupControlEnd: function(t, r) { this.dragEnd(t, r); } }); function Tr(t) { var r = t.originalDatas.draggable; return r || (t.originalDatas.draggable = {}, r = t.originalDatas.draggable), M(M({}, t), { datas: r }); } var uv = xe("edgeDraggable", { css: [ `.edge.edgeDraggable.line { cursor: move; }` ], render: function(t, r) { var e = t.props, n = e.edgeDraggable; return n ? Zo(r, "edgeDraggable", n, t.getState().renderPoses, e.zoom) : []; }, dragCondition: function(t, r) { var e, n = t.props, a = (e = r.inputEvent) === null || e === void 0 ? void 0 : e.target; return !n.edgeDraggable || !a ? !1 : !n.draggable && Ct(a, Z("direction")) && Ct(a, Z("edge")) && Ct(a, Z("edgeDraggable")); }, dragStart: function(t, r) { return zt.dragStart(t, Tr(r)); }, drag: function(t, r) { return zt.drag(t, Tr(r)); }, dragEnd: function(t, r) { return zt.dragEnd(t, Tr(r)); }, dragGroupCondition: function(t, r) { var e, n = t.props, a = (e = r.inputEvent) === null || e === void 0 ? void 0 : e.target; return !n.edgeDraggable || !a ? !1 : !n.draggable && Ct(a, Z("direction")) && Ct(a, Z("line")); }, dragGroupStart: function(t, r) { return zt.dragGroupStart(t, Tr(r)); }, dragGroup: function(t, r) { return zt.dragGroup(t, Tr(r)); }, dragGroupEnd: function(t, r) { return zt.dragGroupEnd(t, Tr(r)); }, unset: function(t) { return zt.unset(t); } }), Vs = { name: "individualGroupable", props: [ "individualGroupable", "individualGroupableProps" ], events: [] }, La = [ Hs, As, dc, Pc, zt, uv, Jn, Ic, Gc, $l, Nc, Hc, kc, Jc, Zc, ev, Ya, Vs, sv, Bs, Ws ], fv = /* @__PURE__ */ La.reduce(function(t, r) { return (r.events || []).forEach(function(e) { ao(t, e); }), t; }, []), lv = /* @__PURE__ */ La.reduce(function(t, r) { return (r.props || []).forEach(function(e) { ao(t, e); }), t; }, []); function Hi(t, r) { var e = T(t, 3), n = e[0], a = e[1], i = e[2]; return (n * r[0] + a * r[1] + i) / Math.sqrt(n * n + a * a); } function Be(t, r) { var e = T(t, 2), n = e[0], a = e[1]; return -n * r[0] - a * r[1]; } function Wi(t, r) { return Math.max.apply(Math, N([], T(t.map(function(e) { var n = T(e, 4), a = n[0], i = n[1], o = n[2], s = n[3]; return Math.max(a[r], i[r], o[r], s[r]); })), !1)); } function Yi(t, r) { return Math.min.apply(Math, N([], T(t.map(function(e) { var n = T(e, 4), a = n[0], i = n[1], o = n[2], s = n[3]; return Math.min(a[r], i[r], o[r], s[r]); })), !1)); } function cv(t, r) { var e, n, a, i = [0, 0], o = [0, 0], s = [0, 0], u = [0, 0], f = 0, l = 0; if (!t.length) return { pos1: i, pos2: o, pos3: s, pos4: u, minX: 0, minY: 0, maxX: 0, maxY: 0, width: f, height: l, rotation: r }; var v = tt(r, At); if (v % 90) { var c = v / 180 * Math.PI, d = Math.tan(c), p = -1 / d, h = [Un, ci], g = [[0, 0], [0, 0]], m = [Un, ci], S = [[0, 0], [0, 0]]; t.forEach(function(q) { q.forEach(function(Y) { var j = Hi([-d, 1, 0], Y), L = Hi([-p, 1, 0], Y); h[0] > j && (g[0] = Y, h[0] = j), h[1] < j && (g[1] = Y, h[1] = j), m[0] > L && (S[0] = Y, m[0] = L), m[1] < L && (S[1] = Y, m[1] = L); }); }); var x = T(g, 2), _ = x[0], y = x[1], b = T(S, 2), D = b[0], E = b[1], C = [-d, 1, Be([-d, 1], _)], w = [-d, 1, Be([-d, 1], y)], P = [-p, 1, Be([-p, 1], D)], R = [-p, 1, Be([-p, 1], E)]; e = T([ [C, P], [C, R], [w, P], [w, R] ].map(function(q) { var Y = T(q, 2), j = Y[0], L = Y[1]; return _a(j, L)[0]; }), 4), i = e[0], o = e[1], s = e[2], u = e[3], f = m[1] - m[0], l = h[1] - h[0]; } else { var O = Yi(t, 0), I = Yi(t, 1), z = Wi(t, 0), k = Wi(t, 1); if (i = [O, I], o = [z, I], s = [O, k], u = [z, k], f = z - O, l = k - I, v % 180) { var F = [s, i, u, o]; n = T(F, 4), i = n[0], o = n[1], s = n[2], u = n[3], f = k - I, l = z - O; } } if (v % 360 > 180) { var F = [u, s, o, i]; a = T(F, 4), i = a[0], o = a[1], s = a[2], u = a[3]; } var A = Dr([i, o, s, u]), H = A.minX, W = A.minY, G = A.maxX, V = A.maxY; return { pos1: i, pos2: o, pos3: s, pos4: u, width: f, height: l, minX: H, minY: W, maxX: G, maxY: V, rotation: r }; } function qs(t, r) { var e = r.map(function(n) { if (yt(n)) { var a = qs(t, n), i = a.length; return i > 1 ? a : i === 1 ? a[0] : null; } else { var o = Nt(t, function(s) { var u = s.manager; return u.props.target === n; }); return o ? (o.finded = !0, o.manager) : null; } }).filter(Boolean); return e.length === 1 && yt(e[0]) ? e[0] : e; } var vv = /* @__PURE__ */ function(t) { Se(r, t); function r() { var e = t !== null && t.apply(this, arguments) || this; return e.differ = new Po(), e.moveables = [], e.transformOrigin = "50% 50%", e.renderGroupRects = [], e._targetGroups = [], e._hasFirstTargets = !1, e; } return r.prototype.componentDidMount = function() { t.prototype.componentDidMount.call(this); }, r.prototype.checkUpdate = function() { this._isPropTargetChanged = !1, this.updateAbles(); }, r.prototype.getTargets = function() { return this.props.targets; }, r.prototype.updateRect = function(e, n, a) { var i; a === void 0 && (a = !0); var o = this.state; if (!this.controlBox || o.isPersisted) return; Hr(!0), this.moveables.forEach(function(J) { J.updateRect(e, !1, !1); }); var s = this.props, u = this.moveables, f = o.target || s.target, l = u.map(function(J) { return { finded: !1, manager: J }; }), v = this.props.targetGroups || [], c = qs(l, v), d = s.useDefaultGroupRotate; c.push.apply(c, N([], T(l.filter(function(J) { var at = J.finded; return !at; }).map(function(J) { var at = J.manager; return at; })), !1)); var p = [], h = !n || e !== "" && s.updateGroup, g = s.defaultGroupRotate || 0; if (!this._hasFirstTargets) { var m = (i = s.persistData) === null || i === void 0 ? void 0 : i.rotation; m != null && (g = m); } function S(J, at, st) { var X = J.map(function(pt) { if (yt(pt)) { var it = S(pt, at), lt = [it.pos1, it.pos2, it.pos3, it.pos4]; return p.push(it), { poses: lt, rotation: it.rotation }; } else return { poses: Vt(pt.state), rotation: pt.getRotation() }; }), K = X.map(function(pt) { var it = pt.rotation; return it; }), ft = 0, rt = K[0], et = K.every(function(pt) { return Math.abs(rt - pt) < 0.1; }); h ? ft = !d && et ? rt : g : ft = !d && !st && et ? rt : at; var ot = X.map(function(pt) { var it = pt.poses; return it; }), ct = cv(ot, ft); return ct; } var x = S(c, this.rotation, !0); h && (this.rotation = x.rotation, this.transformOrigin = s.defaultGroupOrigin || "50% 50%", this.scale = [1, 1]), this._targetGroups = v, this.renderGroupRects = p; var _ = this.transformOrigin, y = this.rotation, b = this.scale, D = x.width, E = x.height, C = x.minX, w = x.minY, P = Rc([ [0, 0], [D, 0], [0, E], [D, E] ], Fa(_, D, E), this.rotation / 180 * Math.PI), R = Dr(P.result), O = R.minX, I = R.minY, z = " rotate(".concat(y, "deg)") + " scale(".concat(Gt(b[0]), ", ").concat(Gt(b[1]), ")"), k = "translate(".concat(-O, "px, ").concat(-I, "px)").concat(z); this.controlBox.style.transform = "translate3d(".concat(C, "px, ").concat(w, "px, ").concat(this.props.translateZ || 0, ")"), f.style.cssText += "left:0px;top:0px;" + "transform-origin:".concat(_, ";") + "width:".concat(D, "px;height:").concat(E, "px;") + "transform: ".concat(k), o.width = D, o.height = E; var F = this.getContainer(), A = ia(this.controlBox, f, this.controlBox, this.getContainer(), this._rootContainer || F, []), H = [A.left, A.top], W = T(Vt(A), 4), G = W[0], V = W[1], q = W[2], Y = W[3], j = Dr([G, V, q, Y]), L = [j.minX, j.minY], $ = Gt(b[0] * b[1]); A.pos1 = Q(G, L), A.pos2 = Q(V, L), A.pos3 = Q(q, L), A.pos4 = Q(Y, L), A.left = C - A.left + L[0], A.top = w - A.top + L[1], A.origin = Q(ut(H, A.origin), L), A.beforeOrigin = Q(ut(H, A.beforeOrigin), L), A.originalBeforeOrigin = ut(H, A.originalBeforeOrigin), A.transformOrigin = Q(ut(H, A.transformOrigin), L), f.style.transform = "translate(".concat(-O - L[0], "px, ").concat(-I - L[1], "px)") + z, Hr(), this.updateState(M(M({}, A), { posDelta: L, direction: $, beforeDirection: $ }), a); }, r.prototype.getRect = function() { return M(M({}, t.prototype.getRect.call(this)), { children: this.moveables.map(function(e) { return e.getRect(); }) }); }, r.prototype.triggerEvent = function(e, n, a) { if (a || e.indexOf("Group") > -1) return t.prototype.triggerEvent.call(this, e, n); this._emitter.trigger(e, n); }, r.prototype.getRequestChildStyles = function() { var e = this.getEnabledAbles().reduce(function(n, a) { var i, o, s = (o = (i = a.requestChildStyle) === null || i === void 0 ? void 0 : i.call(a)) !== null && o !== void 0 ? o : []; return N(N([], T(n), !1), T(s), !1); }, []); return e; }, r.prototype.getMoveables = function() { return N([], T(this.moveables), !1); }, r.prototype.updateAbles = function() { t.prototype.updateAbles.call(this, N(N([], T(this.props.ables), !1), [Ya], !1), "Group"); }, r.prototype._updateTargets = function() { t.prototype._updateTargets.call(this), this._originalDragTarget = this.props.dragTarget || this.areaElement, this._dragTarget = Jt(this._originalDragTarget, !0); }, r.prototype._updateEvents = function() { var e = this.state, n = this.props, a = this._prevDragTarget, i = n.dragTarget || this.areaElement, o = n.targets, s = this.differ.update(o), u = s.added, f = s.changed, l = s.removed, v = u.length || l.length; (v || this._prevOriginalDragTarget !== this._originalDragTarget) && (Gr(this, !1), Gr(this, !0), this.updateState({ gestos: {} })), a !== i && (e.target = null), e.target || (e.target = this.areaElement, this.controlBox.style.display = "block"), e.target && (this.targetGesto || (this.targetGesto = Ys(this, this._dragTarget, "Group")), this.controlGesto || (this.controlGesto = Ls(this, "GroupControl"))); var c = !na(e.container, n.container); c && (e.container = n.container), (c || v || this.transformOrigin !== (n.defaultGroupOrigin || "50% 50%") || f.length || o.length && !Is(this._targetGroups, n.targetGroups || [])) && (this.updateRect(), this._hasFirstTargets = !0), this._isPropTargetChanged = !!v; }, r.prototype._updateObserver = function() { }, r.defaultProps = M(M({}, Lr.defaultProps), { transformOrigin: ["50%", "50%"], groupable: !0, dragArea: !0, keepRatio: !0, targets: [], defaultGroupRotate: 0, defaultGroupOrigin: "50% 50%" }), r; }(Lr), dv = /* @__PURE__ */ function(t) { Se(r, t); function r() { var e = t !== null && t.apply(this, arguments) || this; return e.moveables = [], e; } return r.prototype.render = function() { var e = this, n, a = this.props, i = a.cspNonce, o = a.cssStyled, s = a.persistData, u = a.targets || [], f = u.length, l = this.isUnmounted || !f, v = (n = s == null ? void 0 : s.children) !== null && n !== void 0 ? n : []; return l && !f && v.length ? u = v.map(function() { return null; }) : l || (v = []), jt(o, { cspNonce: i, ref: rr(this, "controlBox"), className: Z("control-box") }, u.map(function(c, d) { var p, h, g = (h = (p = a.individualGroupableProps) === null || p === void 0 ? void 0 : p.call(a, c, d)) !== null && h !== void 0 ? h : {}; return jt(Lr, M({ key: "moveable" + d, ref: Ki(e, "moveables", d) }, a, g, { target: c, wrapperMoveable: e, isWrapperMounted: e.isMoveableMounted, persistData: v[d] })); })); }, r.prototype.componentDidMount = function() { }, r.prototype.componentDidUpdate = function() { }, r.prototype.getTargets = function() { return this.props.targets; }, r.prototype.updateRect = function(e, n, a) { a === void 0 && (a = !0), Hr(!0), this.moveables.forEach(function(i) { i.updateRect(e, n, a); }), Hr(); }, r.prototype.getRect = function() { return M(M({}, t.prototype.getRect.call(this)), { children: this.moveables.map(function(e) { return e.getRect(); }) }); }, r.prototype.request = function(e, n, a) { n === void 0 && (n = {}); var i = this.moveables.map(function(u) { return u.request(e, M(M({}, n), { isInstant: !1 }), !1); }), o = a || n.isInstant, s = { request: function(u) { return i.forEach(function(f) { return f.request(u); }), this; }, requestEnd: function() { return i.forEach(function(u) { return u.requestEnd(); }), this; } }; return o ? s.request(n).requestEnd() : s; }, r.prototype.dragStart = function(e, n) { n === void 0 && (n = e.target); var a = n, i = Nt(this.moveables, function(o) { var s = o.getTargets()[0], u = o.getControlBoxElement(), f = o.getDragElement(); return !s || !f ? !1 : f === a || f.contains(a) || f !== s && s === a || s.contains(a) || u === a || u.contains(a); }); return i && i.dragStart(e, n), this; }, r.prototype.hitTest = function() { return 0; }, r.prototype.isInside = function() { return !1; }, r.prototype.isDragging = function() { return !1; }, r.prototype.getDragElement = function() { return null; }, r.prototype.getMoveables = function() { return N([], T(this.moveables), !1); }, r.prototype.updateRenderPoses = function() { }, r.prototype.checkUpdate = function() { }, r.prototype.triggerEvent = function() { }, r.prototype.updateAbles = function() { }, r.prototype._updateEvents = function() { }, r.prototype._updateObserver = function() { }, r; }(Lr); function js(t, r) { var e = []; return t.forEach(function(n) { if (n) { if (Ft(n)) { r[n] && e.push.apply(e, N([], T(r[n]), !1)); return; } yt(n) ? e.push.apply(e, N([], T(js(n, r)), !1)) : e.push(n); } }), e; } function Us(t, r) { var e = []; return t.forEach(function(n) { if (n) { if (Ft(n)) { r[n] && e.push.apply(e, N([], T(r[n]), !1)); return; } yt(n) ? e.push(Us(n, r)) : e.push(n); } }), e; } function $s(t, r) { return t.length !== r.length || t.some(function(e, n) { var a = r[n]; return !e && !a ? !1 : e != a ? yt(e) && yt(a) ? $s(e, a) : !0 : !1; }); } var pv = /* @__PURE__ */ function(t) { Se(r, t); function r() { var e = t !== null && t.apply(this, arguments) || this; return e.refTargets = [], e.selectorMap = {}, e._differ = new Po(), e._elementTargets = [], e._tmpRefTargets = [], e._tmpSelectorMap = {}, e._onChangeTargets = null, e; } return r.makeStyled = function() { var e = {}, n = this.getTotalAbles(); n.forEach(function(i) { var o = i.css; o && o.forEach(function(s) { e[s] = !0; }); }); var a = ir(e).join(` `); this.defaultStyled = Bo("div", uu(ya, Qf + a)); }, r.getTotalAbles = function() { return N([As, Ya, Vs, Bs], T(this.defaultAbles), !1); }, r.prototype.render = function() { var e, n = this.constructor; n.defaultStyled || n.makeStyled(); var a = this.props, i = a.ables, o = a.props, s = Hf(a, ["ables", "props"]), u = T(this._updateRefs(!0), 2), f = u[0], l = u[1], v = js(f, l), c = v.length > 1, d = n.getTotalAbles(), p = N(N([], T(d), !1), T(i || []), !1), h = M(M(M({}, s), o || {}), { ables: p, cssStyled: n.defaultStyled, customStyledMap: n.customStyledMap }); this._elementTargets = v; var g = null, m = this.moveable, S = s.persistData; if (S != null && S.children && (c = !0), s.individualGroupable) return jt(dv, M({ key: "individual-group", ref: rr(this, "moveable") }, h, { target: null, targets: v })); if (c) { var x = Us(f, l); if (m && !m.props.groupable && !m.props.individualGroupable) { var _ = m.props.target; _ && v.indexOf(_) > -1 && (g = M({}, m.state)); } return jt(vv, M({ key: "group", ref: rr(this, "moveable") }, h, (e = s.groupableProps) !== null && e !== void 0 ? e : {}, { target: null, targets: v, targetGroups: x, firstRenderState: g })); } else { var y = v[0]; if (m && (m.props.groupable || m.props.individualGroupable)) { var b = m.moveables || [], D = Nt(b, function(E) { return E.props.target === y; }); D && (g = M({}, D.state)); } return jt(Lr, M({ key: "single", ref: rr(this, "moveable") }, h, { target: y, firstRenderState: g })); } }, r.prototype.componentDidMount = function() { this._checkChangeTargets(); }, r.prototype.componentDidUpdate = function() { this._checkChangeTargets(); }, r.prototype.componentWillUnmount = function() { this.selectorMap = {}, this.refTargets = []; }, r.prototype.getTargets = function() { var e, n; return (n = (e = this.moveable) === null || e === void 0 ? void 0 : e.getTargets()) !== null && n !== void 0 ? n : []; }, r.prototype.updateSelectors = function() { this.selectorMap = {}, this._updateRefs(), this.forceUpdate(); }, r.prototype.waitToChangeTarget = function() { var e = this, n; return this._onChangeTargets = function() { e._onChangeTargets = null, n(); }, new Promise(function(a) { n = a; }); }, r.prototype.waitToChangeTargets = function() { return this.waitToChangeTarget(); }, r.prototype.getManager = function() { return this.moveable; }, r.prototype.getMoveables = function() { return this.moveable.getMoveables(); }, r.prototype.getDragElement = function() { return this.moveable.getDragElement(); }, r.prototype._updateRefs = function(e) { var n = this.refTargets, a = ka(this.props.target || this.props.targets), i = typeof document < "u", o = $s(n, a), s = this.selectorMap, u = {}; return this.refTargets.forEach(function f(l) { if (Ft(l)) { var v = s[l]; v ? u[l] = s[l] : i && (o = !0, u[l] = [].slice.call(document.querySelectorAll(l))); } else yt(l) && l.forEach(f); }), this._tmpRefTargets = a, this._tmpSelectorMap = u, [ a, u, !e && o ]; }, r.prototype._checkChangeTargets = function() { var e, n, a; this.refTargets = this._tmpRefTargets, this.selectorMap = this._tmpSelectorMap; var i = this._differ.update(this._elementTargets), o = i.added, s = i.removed, u = o.length || s.length; u && ((n = (e = this.props).onChangeTargets) === null || n === void 0 || n.call(e, { moveable: this.moveable, targets: this._elementTargets }), (a = this._onChangeTargets) === null || a === void 0 || a.call(this)); var f = T(this._updateRefs(), 3), l = f[0], v = f[1], c = f[2]; this.refTargets = l, this.selectorMap = v, c && this.forceUpdate(); }, r.defaultAbles = [], r.customStyledMap = {}, r.defaultStyled = null, Wf([ fu(Wo) ], r.prototype, "moveable", void 0), r; }(po), hv = /* @__PURE__ */ function(t) { Se(r, t); function r() { return t !== null && t.apply(this, arguments) || this; } return r.defaultAbles = La, r; }(pv), oa = function(t, r) { return oa = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(e, n) { e.__proto__ = n; } || function(e, n) { for (var a in n) Object.prototype.hasOwnProperty.call(n, a) && (e[a] = n[a]); }, oa(t, r); }; function Xa(t, r) { if (typeof r != "function" && r !== null) throw new TypeError("Class extends value " + String(r) + " is not a constructor or null"); oa(t, r); function e() { this.constructor = t; } t.prototype = r === null ? Object.create(r) : (e.prototype = r.prototype, new e()); } var ce = function() { return ce = Object.assign || function(r) { for (var e, n = 1, a = arguments.length; n < a; n++) { e = arguments[n]; for (var i in e) Object.prototype.hasOwnProperty.call(e, i) && (r[i] = e[i]); } return r; }, ce.apply(this, arguments); }; function gv(t, r, e, n) { var a = arguments.length, i = a < 3 ? r : n === null ? n = Object.getOwnPropertyDescriptor(r, e) : n, o; if (typeof Reflect == "object" && typeof Reflect.decorate == "function") i = Reflect.decorate(t, r, e, n); else for (var s = t.length - 1; s >= 0; s--) (o = t[s]) && (i = (a < 3 ? o(i) : a > 3 ? o(r, e, i) : o(r, e)) || i); return a > 3 && i && Object.defineProperty(r, e, i), i; } var mv = /* @__PURE__ */ function(t) { Xa(r, t); function r(n) { var a = t.call(this, n) || this; return a.state = {}, a.state = a.props, a; } var e = r.prototype; return e.render = function() { return jt(hv, ce({ ref: rr(this, "moveable") }, this.state)); }, r; }(pa), Ks = lv, Zs = Wo, Js = fv, Sv = /* @__PURE__ */ function(t) { Xa(r, t); function r(n, a) { a === void 0 && (a = {}); var i = t.call(this) || this; i.containerProvider = null, i.selfElement = null, i._warp = !1; var o = ce({}, a), s = {}; Js.forEach(function(l) { s[to("on ".concat(l))] = function(v) { return i.trigger(l, v); }; }); var u; a.warpSelf ? (delete a.warpSelf, i._warp = !0, u = n) : (u = Xr(n).createElement("div"), n.appendChild(u)), i.containerProvider = ii(jt(mv, ce({ ref: rr(i, "innerMoveable") }, o, s)), u), i.selfElement = u; var f = o.target; return yt(f) && f.length > 1 && i.updateRect(), i; } var e = r.prototype; return e.setState = function(n, a) { this.innerMoveable.setState(n, a); }, e.forceUpdate = function(n) { this.innerMoveable.forceUpdate(n); }, e.dragStart = function(n, a) { a === void 0 && (a = n.target); var i = this.innerMoveable; i.$_timer && this.forceUpdate(), this.getMoveable().dragStart(n, a); }, e.destroy = function() { var n, a = this.selfElement; ii(null, a, this.containerProvider), this._warp || (n = a == null ? void 0 : a.parentElement) === null || n === void 0 || n.removeChild(a), this.containerProvider = null, this.off(), this.selfElement = null, this.innerMoveable = null; }, e.getMoveable = function() { return this.innerMoveable.moveable; }, r = gv([Ka(Zs, function(n, a) { n[a] || (n[a] = function() { for (var i = [], o = 0; o < arguments.length; o++) i[o] = arguments[o]; var s = this.getMoveable(); if (!(!s || !s[a])) return s[a].apply(s, i); }); }), Ka(Ks, function(n, a) { Object.defineProperty(n, a, { get: function() { return this.getMoveable().props[a]; }, set: function(i) { var o; this.setState((o = {}, o[a] = i, o)); }, enumerable: !0, configurable: !0 }); })], r), r; }(rn), xv = /* @__PURE__ */ function(t) { Xa(r, t); function r() { return t !== null && t.apply(this, arguments) || this; } return r; }(Sv); const { SvelteComponent: _v, assign: Li, binding_callbacks: bv, detach: yv, element: Ev, exclude_internal_props: Xi, init: Dv, insert: Cv, noop: Rn, safe_not_equal: Mv } = window.__gradio__svelte__internal, { onMount: wv, onDestroy: Tv, createEventDispatcher: Ov, beforeUpdate: Rv, tick: Pv } = window.__gradio__svelte__internal; function Iv(t) { let r; return { c() { r = Ev("div"); }, m(e, n) { Cv(e, r, n), t[2](r); }, p: Rn, i: Rn, o: Rn, d(e) { e && yv(r), t[2](null); } }; } function zv(t, r, e) { const n = Ov(); let a = {}, i, o; Rv(() => { const f = r; a = {}, Ks.forEach((l) => { l in f && (a[l] = f[l]); }), o && Pv().then(() => { o.setState({ ...a }); }); }), wv(() => { o = new xv(i, { ...a, warpSelf: !0 }), Js.forEach((f) => { const l = to(`on ${f}`); o.on(f, (v) => { r[l] && r[l](v), n(f, v); }); }); }), Tv(() => { o && o.destroy(); }); function s() { return o; } function u(f) { bv[f ? "unshift" : "push"](() => { i = f, e(0, i); }); } return t.$$set = (f) => { e(6, r = Li(Li({}, r), Xi(f))); }, r = Xi(r), [i, s, u]; } let Gv = class extends _v { constructor(r) { super(), Dv(this, r, zv, Iv, Mv, { getInstance: 1 }); } get getInstance() { return this.$$.ctx[1]; } }; const Pn = Gv, Bv = /* @__PURE__ */ (() => { const t = Pn.prototype; return t && Zs.forEach((r) => { t[r] = function(...e) { const n = this.getInstance(), a = n[r](...e); return a === n ? this : a; }; }), Pn; })(); const { SvelteComponent: Av, append: Or, attr: gr, binding_callbacks: kv, check_outros: Fv, create_component: Nv, create_slot: Hv, destroy_component: Wv, destroy_each: Yv, detach: Qs, element: Fe, ensure_array_like: Vi, get_all_dirty_from_scope: Lv, get_slot_changes: Xv, group_outros: Vv, init: qv, insert: tu, listen: jv, mount_component: Uv, noop: $v, null_to_empty: Kv, safe_not_equal: Zv, set_data: Jv, space: In, text: Qv, toggle_class: qi, transition_in: Qr, transition_out: Ne, update_slot_base: td } = window.__gradio__svelte__internal; function ji(t, r, e) { const n = t.slice(); return n[11] = r[e], n[13] = e, n; } function Ui(t) { let r, e = ( /*elmt*/ t[11].outerHTML + "" ); return { c() { r = Fe("div"), gr(r, "class", Kv("target target" + /*id*/ t[13]) + " svelte-1ken6gh"); }, m(n, a) { tu(n, r, a), r.innerHTML = e; }, p(n, a) { a & /*componentElements*/ 16 && e !== (e = /*elmt*/ n[11].outerHTML + "") && (r.innerHTML = e); }, d(n) { n && Qs(r); } }; } function $i(t) { let r, e; return r = new Bv({ props: { target: ".target", individualGroupable: !0, draggable: ed, throttleDrag: nd, edgeDraggable: ad, startDragRotate: id, throttleDragRotate: od, scalable: sd, keepRatio: ud, throttleScale: fd, renderDirections: ( /*renderDirections*/ t[6] ), rotatable: ld, throttleRotate: cd, rotationPosition: vd } }), r.$on("drag", dd), r.$on("scale", pd), r.$on("rotate", hd), { c() { Nv(r.$$.fragment); }, m(n, a) { Uv(r, n, a), e = !0; }, p: $v, i(n) { e || (Qr(r.$$.fragment, n), e = !0); }, o(n) { Ne(r.$$.fragment, n), e = !1; }, d(n) { Wv(r, n); } }; } function rd(t) { let r, e, n = ( /*editing*/ t[5] ? "Done" : "Edit" ), a, i, o, s, u, f, l, v, c; const d = ( /*#slots*/ t[8].default ), p = Hv( d, t, /*$$scope*/ t[7], null ); let h = Vi( /*componentElements*/ t[4] ), g = []; for (let S = 0; S < h.length; S += 1) g[S] = Ui(ji(t, h, S)); let m = ( /*componentElements*/ t[4].length > 0 && /*editing*/ t[5] && $i(t) ); return { c() { r = Fe("div"), e = Fe("button"), a = Qv(n), i = In(), o = Fe("div"), p && p.c(), s = In(); for (let S = 0; S < g.length; S += 1) g[S].c(); u = In(), m && m.c(), gr(e, "class", "edit-button svelte-1ken6gh"), gr(o, "class", "hide svelte-1ken6gh"), gr( r, "id", /*elem_id*/ t[0] ), gr(r, "class", f = "gr-group " + /*elem_classes*/ t[1].join(" ") + " svelte-1ken6gh"), qi(r, "hide", !/*visible*/ t[2]); }, m(S, x) { tu(S, r, x), Or(r, e), Or(e, a), Or(r, i), Or(r, o), p && p.m(o, null), t[10](o), Or(r, s); for (let _ = 0; _ < g.length; _ += 1) g[_] && g[_].m(r, null); Or(r, u), m && m.m(r, null), l = !0, v || (c = jv( e, "click", /*click_handler*/ t[9] ), v = !0); }, p(S, [x]) { if ((!l || x & /*editing*/ 32) && n !== (n = /*editing*/ S[5] ? "Done" : "Edit") && Jv(a, n), p && p.p && (!l || x & /*$$scope*/ 128) && td( p, d, S, /*$$scope*/ S[7], l ? Xv( d, /*$$scope*/ S[7], x, null ) : Lv( /*$$scope*/ S[7] ), null ), x & /*componentElements*/ 16) { h = Vi( /*componentElements*/ S[4] ); let _; for (_ = 0; _ < h.length; _ += 1) { const y = ji(S, h, _); g[_] ? g[_].p(y, x) : (g[_] = Ui(y), g[_].c(), g[_].m(r, u)); } for (; _ < g.length; _ += 1) g[_].d(1); g.length = h.length; } /*componentElements*/ S[4].length > 0 && /*editing*/ S[5] ? m ? (m.p(S, x), x & /*componentElements, editing*/ 48 && Qr(m, 1)) : (m = $i(S), m.c(), Qr(m, 1), m.m(r, null)) : m && (Vv(), Ne(m, 1, 1, () => { m = null; }), Fv()), (!l || x & /*elem_id*/ 1) && gr( r, "id", /*elem_id*/ S[0] ), (!l || x & /*elem_classes*/ 2 && f !== (f = "gr-group " + /*elem_classes*/ S[1].join(" ") + " svelte-1ken6gh")) && gr(r, "class", f), (!l || x & /*elem_classes, visible*/ 6) && qi(r, "hide", !/*visible*/ S[2]); }, i(S) { l || (Qr(p, S), Qr(m), l = !0); }, o(S) { Ne(p, S), Ne(m), l = !1; }, d(S) { S && Qs(r), p && p.d(S), t[10](null), Yv(g, S), m && m.d(), v = !1, c(); } }; } const ed = !0, nd = 1, ad = !0, id = 0, od = 0, sd = !0, ud = !1, fd = 0, ld = !0, cd = 0, vd = "top", dd = ({ detail: t }) => { t.target.style.transform = t.transform; }, pd = ({ detail: t }) => { t.target.style.transform = t.drag.transform; }, hd = ({ detail: t }) => { t.target.style.transform = t.drag.transform; }; function gd(t, r, e) { let { $$slots: n = {}, $$scope: a } = r, { elem_id: i = "" } = r, { elem_classes: o = [] } = r, { visible: s = !0 } = r, u, f = []; const l = ["nw", "n", "ne", "w", "e", "sw", "s", "se"]; let v = !1; const c = () => e(5, v = !v); function d(p) { kv[p ? "unshift" : "push"](() => { u = p, e(3, u); }); } return t.$$set = (p) => { "elem_id" in p && e(0, i = p.elem_id), "elem_classes" in p && e(1, o = p.elem_classes), "visible" in p && e(2, s = p.visible), "$$scope" in p && e(7, a = p.$$scope); }, t.$$.update = () => { t.$$.dirty & /*data*/ 8 && u && e(4, f = Array.from(u.querySelectorAll('[id^="component-"]'))); }, [ i, o, s, u, f, v, l, a, n, c, d ]; } class Sd extends Av { constructor(r) { super(), qv(this, r, gd, rd, Zv, { elem_id: 0, elem_classes: 1, visible: 2 }); } } export { Sd as default };