diff --git "a/src/backend/gradio_coolcanvas/templates/component/index.js" "b/src/backend/gradio_coolcanvas/templates/component/index.js" new file mode 100644--- /dev/null +++ "b/src/backend/gradio_coolcanvas/templates/component/index.js" @@ -0,0 +1,10531 @@ +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 +};