ai-form-designer
Version:
vue3+adv的设计器,可视化开发页面表单
1,258 lines • 167 kB
JavaScript
import { g as $r, a as Kr, c as Br } from "./_commonjsHelpers-BVfed4GL.js";
import { r as Hr } from "./_vue_commonjs-external-NwvjgbHK.js";
var Pr = { exports: {} };
/**!
* Sortable 1.14.0
* @author RubaXa <trash@rubaxa.org>
* @author owenm <owen23355@gmail.com>
* @license MIT
*/
function pr(l, r) {
var n = Object.keys(l);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(l);
r && (i = i.filter(function(e) {
return Object.getOwnPropertyDescriptor(l, e).enumerable;
})), n.push.apply(n, i);
}
return n;
}
function Bt(l) {
for (var r = 1; r < arguments.length; r++) {
var n = arguments[r] != null ? arguments[r] : {};
r % 2 ? pr(Object(n), !0).forEach(function(i) {
Wr(l, i, n[i]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(l, Object.getOwnPropertyDescriptors(n)) : pr(Object(n)).forEach(function(i) {
Object.defineProperty(l, i, Object.getOwnPropertyDescriptor(n, i));
});
}
return l;
}
function Ue(l) {
"@babel/helpers - typeof";
return typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? Ue = function(r) {
return typeof r;
} : Ue = function(r) {
return r && typeof Symbol == "function" && r.constructor === Symbol && r !== Symbol.prototype ? "symbol" : typeof r;
}, Ue(l);
}
function Wr(l, r, n) {
return r in l ? Object.defineProperty(l, r, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : l[r] = n, l;
}
function jt() {
return jt = Object.assign || function(l) {
for (var r = 1; r < arguments.length; r++) {
var n = arguments[r];
for (var i in n)
Object.prototype.hasOwnProperty.call(n, i) && (l[i] = n[i]);
}
return l;
}, jt.apply(this, arguments);
}
function Xr(l, r) {
if (l == null) return {};
var n = {}, i = Object.keys(l), e, f;
for (f = 0; f < i.length; f++)
e = i[f], !(r.indexOf(e) >= 0) && (n[e] = l[e]);
return n;
}
function Yr(l, r) {
if (l == null) return {};
var n = Xr(l, r), i, e;
if (Object.getOwnPropertySymbols) {
var f = Object.getOwnPropertySymbols(l);
for (e = 0; e < f.length; e++)
i = f[e], !(r.indexOf(i) >= 0) && Object.prototype.propertyIsEnumerable.call(l, i) && (n[i] = l[i]);
}
return n;
}
function Vr(l) {
return zr(l) || Jr(l) || Qr(l) || Zr();
}
function zr(l) {
if (Array.isArray(l)) return ir(l);
}
function Jr(l) {
if (typeof Symbol < "u" && l[Symbol.iterator] != null || l["@@iterator"] != null) return Array.from(l);
}
function Qr(l, r) {
if (l) {
if (typeof l == "string") return ir(l, r);
var n = Object.prototype.toString.call(l).slice(8, -1);
if (n === "Object" && l.constructor && (n = l.constructor.name), n === "Map" || n === "Set") return Array.from(l);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return ir(l, r);
}
}
function ir(l, r) {
(r == null || r > l.length) && (r = l.length);
for (var n = 0, i = new Array(r); n < r; n++) i[n] = l[n];
return i;
}
function Zr() {
throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
}
var kr = "1.14.0";
function Ht(l) {
if (typeof window < "u" && window.navigator)
return !!/* @__PURE__ */ navigator.userAgent.match(l);
}
var Wt = Ht(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i), De = Ht(/Edge/i), gr = Ht(/firefox/i), xe = Ht(/safari/i) && !Ht(/chrome/i) && !Ht(/android/i), Dr = Ht(/iP(ad|od|hone)/i), qr = Ht(/chrome/i) && Ht(/android/i), Cr = {
capture: !1,
passive: !1
};
function Z(l, r, n) {
l.addEventListener(r, n, !Wt && Cr);
}
function Q(l, r, n) {
l.removeEventListener(r, n, !Wt && Cr);
}
function He(l, r) {
if (r) {
if (r[0] === ">" && (r = r.substring(1)), l)
try {
if (l.matches)
return l.matches(r);
if (l.msMatchesSelector)
return l.msMatchesSelector(r);
if (l.webkitMatchesSelector)
return l.webkitMatchesSelector(r);
} catch {
return !1;
}
return !1;
}
}
function _r(l) {
return l.host && l !== document && l.host.nodeType ? l.host : l.parentNode;
}
function Ut(l, r, n, i) {
if (l) {
n = n || document;
do {
if (r != null && (r[0] === ">" ? l.parentNode === n && He(l, r) : He(l, r)) || i && l === n)
return l;
if (l === n) break;
} while (l = _r(l));
}
return null;
}
var mr = /\s+/g;
function lt(l, r, n) {
if (l && r)
if (l.classList)
l.classList[n ? "add" : "remove"](r);
else {
var i = (" " + l.className + " ").replace(mr, " ").replace(" " + r + " ", " ");
l.className = (i + (n ? " " + r : "")).replace(mr, " ");
}
}
function w(l, r, n) {
var i = l && l.style;
if (i) {
if (n === void 0)
return document.defaultView && document.defaultView.getComputedStyle ? n = document.defaultView.getComputedStyle(l, "") : l.currentStyle && (n = l.currentStyle), r === void 0 ? n : n[r];
!(r in i) && r.indexOf("webkit") === -1 && (r = "-webkit-" + r), i[r] = n + (typeof n == "string" ? "" : "px");
}
}
function ee(l, r) {
var n = "";
if (typeof l == "string")
n = l;
else
do {
var i = w(l, "transform");
i && i !== "none" && (n = i + " " + n);
} while (!r && (l = l.parentNode));
var e = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;
return e && new e(n);
}
function Ar(l, r, n) {
if (l) {
var i = l.getElementsByTagName(r), e = 0, f = i.length;
if (n)
for (; e < f; e++)
n(i[e], e);
return i;
}
return [];
}
function Kt() {
var l = document.scrollingElement;
return l || document.documentElement;
}
function at(l, r, n, i, e) {
if (!(!l.getBoundingClientRect && l !== window)) {
var f, t, o, a, s, c, u;
if (l !== window && l.parentNode && l !== Kt() ? (f = l.getBoundingClientRect(), t = f.top, o = f.left, a = f.bottom, s = f.right, c = f.height, u = f.width) : (t = 0, o = 0, a = window.innerHeight, s = window.innerWidth, c = window.innerHeight, u = window.innerWidth), (r || n) && l !== window && (e = e || l.parentNode, !Wt))
do
if (e && e.getBoundingClientRect && (w(e, "transform") !== "none" || n && w(e, "position") !== "static")) {
var d = e.getBoundingClientRect();
t -= d.top + parseInt(w(e, "border-top-width")), o -= d.left + parseInt(w(e, "border-left-width")), a = t + f.height, s = o + f.width;
break;
}
while (e = e.parentNode);
if (i && l !== window) {
var v = ee(e || l), h = v && v.a, p = v && v.d;
v && (t /= p, o /= h, u /= h, c /= p, a = t + c, s = o + u);
}
return {
top: t,
left: o,
bottom: a,
right: s,
width: u,
height: c
};
}
}
function yr(l, r, n) {
for (var i = Qt(l, !0), e = at(l)[r]; i; ) {
var f = at(i)[n], t = void 0;
if (t = e >= f, !t) return i;
if (i === Kt()) break;
i = Qt(i, !1);
}
return !1;
}
function se(l, r, n, i) {
for (var e = 0, f = 0, t = l.children; f < t.length; ) {
if (t[f].style.display !== "none" && t[f] !== B.ghost && (i || t[f] !== B.dragged) && Ut(t[f], n.draggable, l, !1)) {
if (e === r)
return t[f];
e++;
}
f++;
}
return null;
}
function cr(l, r) {
for (var n = l.lastElementChild; n && (n === B.ghost || w(n, "display") === "none" || r && !He(n, r)); )
n = n.previousElementSibling;
return n || null;
}
function dt(l, r) {
var n = 0;
if (!l || !l.parentNode)
return -1;
for (; l = l.previousElementSibling; )
l.nodeName.toUpperCase() !== "TEMPLATE" && l !== B.clone && (!r || He(l, r)) && n++;
return n;
}
function Sr(l) {
var r = 0, n = 0, i = Kt();
if (l)
do {
var e = ee(l), f = e.a, t = e.d;
r += l.scrollLeft * f, n += l.scrollTop * t;
} while (l !== i && (l = l.parentNode));
return [r, n];
}
function tn(l, r) {
for (var n in l)
if (l.hasOwnProperty(n)) {
for (var i in r)
if (r.hasOwnProperty(i) && r[i] === l[n][i]) return Number(n);
}
return -1;
}
function Qt(l, r) {
if (!l || !l.getBoundingClientRect) return Kt();
var n = l, i = !1;
do
if (n.clientWidth < n.scrollWidth || n.clientHeight < n.scrollHeight) {
var e = w(n);
if (n.clientWidth < n.scrollWidth && (e.overflowX == "auto" || e.overflowX == "scroll") || n.clientHeight < n.scrollHeight && (e.overflowY == "auto" || e.overflowY == "scroll")) {
if (!n.getBoundingClientRect || n === document.body) return Kt();
if (i || r) return n;
i = !0;
}
}
while (n = n.parentNode);
return Kt();
}
function en(l, r) {
if (l && r)
for (var n in r)
r.hasOwnProperty(n) && (l[n] = r[n]);
return l;
}
function Ze(l, r) {
return Math.round(l.top) === Math.round(r.top) && Math.round(l.left) === Math.round(r.left) && Math.round(l.height) === Math.round(r.height) && Math.round(l.width) === Math.round(r.width);
}
var Oe;
function Rr(l, r) {
return function() {
if (!Oe) {
var n = arguments, i = this;
n.length === 1 ? l.call(i, n[0]) : l.apply(i, n), Oe = setTimeout(function() {
Oe = void 0;
}, r);
}
};
}
function rn() {
clearTimeout(Oe), Oe = void 0;
}
function Nr(l, r, n) {
l.scrollLeft += r, l.scrollTop += n;
}
function dr(l) {
var r = window.Polymer, n = window.jQuery || window.Zepto;
return r && r.dom ? r.dom(l).cloneNode(!0) : n ? n(l).clone(!0)[0] : l.cloneNode(!0);
}
function br(l, r) {
w(l, "position", "absolute"), w(l, "top", r.top), w(l, "left", r.left), w(l, "width", r.width), w(l, "height", r.height);
}
function ke(l) {
w(l, "position", ""), w(l, "top", ""), w(l, "left", ""), w(l, "width", ""), w(l, "height", "");
}
var Ot = "Sortable" + (/* @__PURE__ */ new Date()).getTime();
function nn() {
var l = [], r;
return {
captureAnimationState: function() {
if (l = [], !!this.options.animation) {
var i = [].slice.call(this.el.children);
i.forEach(function(e) {
if (!(w(e, "display") === "none" || e === B.ghost)) {
l.push({
target: e,
rect: at(e)
});
var f = Bt({}, l[l.length - 1].rect);
if (e.thisAnimationDuration) {
var t = ee(e, !0);
t && (f.top -= t.f, f.left -= t.e);
}
e.fromRect = f;
}
});
}
},
addAnimationState: function(i) {
l.push(i);
},
removeAnimationState: function(i) {
l.splice(tn(l, {
target: i
}), 1);
},
animateAll: function(i) {
var e = this;
if (!this.options.animation) {
clearTimeout(r), typeof i == "function" && i();
return;
}
var f = !1, t = 0;
l.forEach(function(o) {
var a = 0, s = o.target, c = s.fromRect, u = at(s), d = s.prevFromRect, v = s.prevToRect, h = o.rect, p = ee(s, !0);
p && (u.top -= p.f, u.left -= p.e), s.toRect = u, s.thisAnimationDuration && Ze(d, u) && !Ze(c, u) && // Make sure animatingRect is on line between toRect & fromRect
(h.top - u.top) / (h.left - u.left) === (c.top - u.top) / (c.left - u.left) && (a = an(h, d, v, e.options)), Ze(u, c) || (s.prevFromRect = c, s.prevToRect = u, a || (a = e.options.animation), e.animate(s, h, u, a)), a && (f = !0, t = Math.max(t, a), clearTimeout(s.animationResetTimer), s.animationResetTimer = setTimeout(function() {
s.animationTime = 0, s.prevFromRect = null, s.fromRect = null, s.prevToRect = null, s.thisAnimationDuration = null;
}, a), s.thisAnimationDuration = a);
}), clearTimeout(r), f ? r = setTimeout(function() {
typeof i == "function" && i();
}, t) : typeof i == "function" && i(), l = [];
},
animate: function(i, e, f, t) {
if (t) {
w(i, "transition", ""), w(i, "transform", "");
var o = ee(this.el), a = o && o.a, s = o && o.d, c = (e.left - f.left) / (a || 1), u = (e.top - f.top) / (s || 1);
i.animatingX = !!c, i.animatingY = !!u, w(i, "transform", "translate3d(" + c + "px," + u + "px,0)"), this.forRepaintDummy = on(i), w(i, "transition", "transform " + t + "ms" + (this.options.easing ? " " + this.options.easing : "")), w(i, "transform", "translate3d(0,0,0)"), typeof i.animated == "number" && clearTimeout(i.animated), i.animated = setTimeout(function() {
w(i, "transition", ""), w(i, "transform", ""), i.animated = !1, i.animatingX = !1, i.animatingY = !1;
}, t);
}
}
};
}
function on(l) {
return l.offsetWidth;
}
function an(l, r, n, i) {
return Math.sqrt(Math.pow(r.top - l.top, 2) + Math.pow(r.left - l.left, 2)) / Math.sqrt(Math.pow(r.top - n.top, 2) + Math.pow(r.left - n.left, 2)) * i.animation;
}
var ne = [], qe = {
initializeByDefault: !0
}, Ce = {
mount: function(r) {
for (var n in qe)
qe.hasOwnProperty(n) && !(n in r) && (r[n] = qe[n]);
ne.forEach(function(i) {
if (i.pluginName === r.pluginName)
throw "Sortable: Cannot mount plugin ".concat(r.pluginName, " more than once");
}), ne.push(r);
},
pluginEvent: function(r, n, i) {
var e = this;
this.eventCanceled = !1, i.cancel = function() {
e.eventCanceled = !0;
};
var f = r + "Global";
ne.forEach(function(t) {
n[t.pluginName] && (n[t.pluginName][f] && n[t.pluginName][f](Bt({
sortable: n
}, i)), n.options[t.pluginName] && n[t.pluginName][r] && n[t.pluginName][r](Bt({
sortable: n
}, i)));
});
},
initializePlugins: function(r, n, i, e) {
ne.forEach(function(o) {
var a = o.pluginName;
if (!(!r.options[a] && !o.initializeByDefault)) {
var s = new o(r, n, r.options);
s.sortable = r, s.options = r.options, r[a] = s, jt(i, s.defaults);
}
});
for (var f in r.options)
if (r.options.hasOwnProperty(f)) {
var t = this.modifyOption(r, f, r.options[f]);
typeof t < "u" && (r.options[f] = t);
}
},
getEventProperties: function(r, n) {
var i = {};
return ne.forEach(function(e) {
typeof e.eventProperties == "function" && jt(i, e.eventProperties.call(n[e.pluginName], r));
}), i;
},
modifyOption: function(r, n, i) {
var e;
return ne.forEach(function(f) {
r[f.pluginName] && f.optionListeners && typeof f.optionListeners[n] == "function" && (e = f.optionListeners[n].call(r[f.pluginName], i));
}), e;
}
};
function ye(l) {
var r = l.sortable, n = l.rootEl, i = l.name, e = l.targetEl, f = l.cloneEl, t = l.toEl, o = l.fromEl, a = l.oldIndex, s = l.newIndex, c = l.oldDraggableIndex, u = l.newDraggableIndex, d = l.originalEvent, v = l.putSortable, h = l.extraEventProperties;
if (r = r || n && n[Ot], !!r) {
var p, g = r.options, S = "on" + i.charAt(0).toUpperCase() + i.substr(1);
window.CustomEvent && !Wt && !De ? p = new CustomEvent(i, {
bubbles: !0,
cancelable: !0
}) : (p = document.createEvent("Event"), p.initEvent(i, !0, !0)), p.to = t || n, p.from = o || n, p.item = e || n, p.clone = f, p.oldIndex = a, p.newIndex = s, p.oldDraggableIndex = c, p.newDraggableIndex = u, p.originalEvent = d, p.pullMode = v ? v.lastPutMode : void 0;
var b = Bt(Bt({}, h), Ce.getEventProperties(i, r));
for (var I in b)
p[I] = b[I];
n && n.dispatchEvent(p), g[S] && g[S].call(r, p);
}
}
var ln = ["evt"], Dt = function(r, n) {
var i = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, e = i.evt, f = Yr(i, ln);
Ce.pluginEvent.bind(B)(r, n, Bt({
dragEl: A,
parentEl: ut,
ghostEl: z,
rootEl: ot,
nextEl: te,
lastDownEl: Ge,
cloneEl: ct,
cloneHidden: Jt,
dragStarted: Se,
putSortable: Et,
activeSortable: B.active,
originalEvent: e,
oldIndex: le,
oldDraggableIndex: Te,
newIndex: Nt,
newDraggableIndex: zt,
hideGhostForTarget: Lr,
unhideGhostForTarget: wr,
cloneNowHidden: function() {
Jt = !0;
},
cloneNowShown: function() {
Jt = !1;
},
dispatchSortableEvent: function(o) {
It({
sortable: n,
name: o,
originalEvent: e
});
}
}, f));
};
function It(l) {
ye(Bt({
putSortable: Et,
cloneEl: ct,
targetEl: A,
rootEl: ot,
oldIndex: le,
oldDraggableIndex: Te,
newIndex: Nt,
newDraggableIndex: zt
}, l));
}
var A, ut, z, ot, te, Ge, ct, Jt, le, Nt, Te, zt, Ne, Et, ie = !1, We = !1, Xe = [], qt, Lt, _e, tr, Er, xr, Se, oe, Ie, Pe = !1, Me = !1, $e, xt, er = [], lr = !1, Ye = [], ze = typeof document < "u", je = Dr, Or = De || Wt ? "cssFloat" : "float", sn = ze && !qr && !Dr && "draggable" in document.createElement("div"), Mr = function() {
if (ze) {
if (Wt)
return !1;
var l = document.createElement("x");
return l.style.cssText = "pointer-events:auto", l.style.pointerEvents === "auto";
}
}(), jr = function(r, n) {
var i = w(r), e = parseInt(i.width) - parseInt(i.paddingLeft) - parseInt(i.paddingRight) - parseInt(i.borderLeftWidth) - parseInt(i.borderRightWidth), f = se(r, 0, n), t = se(r, 1, n), o = f && w(f), a = t && w(t), s = o && parseInt(o.marginLeft) + parseInt(o.marginRight) + at(f).width, c = a && parseInt(a.marginLeft) + parseInt(a.marginRight) + at(t).width;
if (i.display === "flex")
return i.flexDirection === "column" || i.flexDirection === "column-reverse" ? "vertical" : "horizontal";
if (i.display === "grid")
return i.gridTemplateColumns.split(" ").length <= 1 ? "vertical" : "horizontal";
if (f && o.float && o.float !== "none") {
var u = o.float === "left" ? "left" : "right";
return t && (a.clear === "both" || a.clear === u) ? "vertical" : "horizontal";
}
return f && (o.display === "block" || o.display === "flex" || o.display === "table" || o.display === "grid" || s >= e && i[Or] === "none" || t && i[Or] === "none" && s + c > e) ? "vertical" : "horizontal";
}, fn = function(r, n, i) {
var e = i ? r.left : r.top, f = i ? r.right : r.bottom, t = i ? r.width : r.height, o = i ? n.left : n.top, a = i ? n.right : n.bottom, s = i ? n.width : n.height;
return e === o || f === a || e + t / 2 === o + s / 2;
}, un = function(r, n) {
var i;
return Xe.some(function(e) {
var f = e[Ot].options.emptyInsertThreshold;
if (!(!f || cr(e))) {
var t = at(e), o = r >= t.left - f && r <= t.right + f, a = n >= t.top - f && n <= t.bottom + f;
if (o && a)
return i = e;
}
}), i;
}, Fr = function(r) {
function n(f, t) {
return function(o, a, s, c) {
var u = o.options.group.name && a.options.group.name && o.options.group.name === a.options.group.name;
if (f == null && (t || u))
return !0;
if (f == null || f === !1)
return !1;
if (t && f === "clone")
return f;
if (typeof f == "function")
return n(f(o, a, s, c), t)(o, a, s, c);
var d = (t ? o : a).options.group.name;
return f === !0 || typeof f == "string" && f === d || f.join && f.indexOf(d) > -1;
};
}
var i = {}, e = r.group;
(!e || Ue(e) != "object") && (e = {
name: e
}), i.name = e.name, i.checkPull = n(e.pull, !0), i.checkPut = n(e.put), i.revertClone = e.revertClone, r.group = i;
}, Lr = function() {
!Mr && z && w(z, "display", "none");
}, wr = function() {
!Mr && z && w(z, "display", "");
};
ze && document.addEventListener("click", function(l) {
if (We)
return l.preventDefault(), l.stopPropagation && l.stopPropagation(), l.stopImmediatePropagation && l.stopImmediatePropagation(), We = !1, !1;
}, !0);
var _t = function(r) {
if (A) {
r = r.touches ? r.touches[0] : r;
var n = un(r.clientX, r.clientY);
if (n) {
var i = {};
for (var e in r)
r.hasOwnProperty(e) && (i[e] = r[e]);
i.target = i.rootEl = n, i.preventDefault = void 0, i.stopPropagation = void 0, n[Ot]._onDragOver(i);
}
}
}, cn = function(r) {
A && A.parentNode[Ot]._isOutsideThisEl(r.target);
};
function B(l, r) {
if (!(l && l.nodeType && l.nodeType === 1))
throw "Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(l));
this.el = l, this.options = r = jt({}, r), l[Ot] = this;
var n = {
group: null,
sort: !0,
disabled: !1,
store: null,
handle: null,
draggable: /^[uo]l$/i.test(l.nodeName) ? ">li" : ">*",
swapThreshold: 1,
// percentage; 0 <= x <= 1
invertSwap: !1,
// invert always
invertedSwapThreshold: null,
// will be set to same as swapThreshold if default
removeCloneOnHide: !0,
direction: function() {
return jr(l, this.options);
},
ghostClass: "sortable-ghost",
chosenClass: "sortable-chosen",
dragClass: "sortable-drag",
ignore: "a, img",
filter: null,
preventOnFilter: !0,
animation: 0,
easing: null,
setData: function(t, o) {
t.setData("Text", o.textContent);
},
dropBubble: !1,
dragoverBubble: !1,
dataIdAttr: "data-id",
delay: 0,
delayOnTouchOnly: !1,
touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,
forceFallback: !1,
fallbackClass: "sortable-fallback",
fallbackOnBody: !1,
fallbackTolerance: 0,
fallbackOffset: {
x: 0,
y: 0
},
supportPointer: B.supportPointer !== !1 && "PointerEvent" in window && !xe,
emptyInsertThreshold: 5
};
Ce.initializePlugins(this, l, n);
for (var i in n)
!(i in r) && (r[i] = n[i]);
Fr(r);
for (var e in this)
e.charAt(0) === "_" && typeof this[e] == "function" && (this[e] = this[e].bind(this));
this.nativeDraggable = r.forceFallback ? !1 : sn, this.nativeDraggable && (this.options.touchStartThreshold = 1), r.supportPointer ? Z(l, "pointerdown", this._onTapStart) : (Z(l, "mousedown", this._onTapStart), Z(l, "touchstart", this._onTapStart)), this.nativeDraggable && (Z(l, "dragover", this), Z(l, "dragenter", this)), Xe.push(this.el), r.store && r.store.get && this.sort(r.store.get(this) || []), jt(this, nn());
}
B.prototype = /** @lends Sortable.prototype */
{
constructor: B,
_isOutsideThisEl: function(r) {
!this.el.contains(r) && r !== this.el && (oe = null);
},
_getDirection: function(r, n) {
return typeof this.options.direction == "function" ? this.options.direction.call(this, r, n, A) : this.options.direction;
},
_onTapStart: function(r) {
if (r.cancelable) {
var n = this, i = this.el, e = this.options, f = e.preventOnFilter, t = r.type, o = r.touches && r.touches[0] || r.pointerType && r.pointerType === "touch" && r, a = (o || r).target, s = r.target.shadowRoot && (r.path && r.path[0] || r.composedPath && r.composedPath()[0]) || a, c = e.filter;
if (Sn(i), !A && !(/mousedown|pointerdown/.test(t) && r.button !== 0 || e.disabled) && !s.isContentEditable && !(!this.nativeDraggable && xe && a && a.tagName.toUpperCase() === "SELECT") && (a = Ut(a, e.draggable, i, !1), !(a && a.animated) && Ge !== a)) {
if (le = dt(a), Te = dt(a, e.draggable), typeof c == "function") {
if (c.call(this, r, a, this)) {
It({
sortable: n,
rootEl: s,
name: "filter",
targetEl: a,
toEl: i,
fromEl: i
}), Dt("filter", n, {
evt: r
}), f && r.cancelable && r.preventDefault();
return;
}
} else if (c && (c = c.split(",").some(function(u) {
if (u = Ut(s, u.trim(), i, !1), u)
return It({
sortable: n,
rootEl: u,
name: "filter",
targetEl: a,
fromEl: i,
toEl: i
}), Dt("filter", n, {
evt: r
}), !0;
}), c)) {
f && r.cancelable && r.preventDefault();
return;
}
e.handle && !Ut(s, e.handle, i, !1) || this._prepareDragStart(r, o, a);
}
}
},
_prepareDragStart: function(r, n, i) {
var e = this, f = e.el, t = e.options, o = f.ownerDocument, a;
if (i && !A && i.parentNode === f) {
var s = at(i);
if (ot = f, A = i, ut = A.parentNode, te = A.nextSibling, Ge = i, Ne = t.group, B.dragged = A, qt = {
target: A,
clientX: (n || r).clientX,
clientY: (n || r).clientY
}, Er = qt.clientX - s.left, xr = qt.clientY - s.top, this._lastX = (n || r).clientX, this._lastY = (n || r).clientY, A.style["will-change"] = "all", a = function() {
if (Dt("delayEnded", e, {
evt: r
}), B.eventCanceled) {
e._onDrop();
return;
}
e._disableDelayedDragEvents(), !gr && e.nativeDraggable && (A.draggable = !0), e._triggerDragStart(r, n), It({
sortable: e,
name: "choose",
originalEvent: r
}), lt(A, t.chosenClass, !0);
}, t.ignore.split(",").forEach(function(c) {
Ar(A, c.trim(), rr);
}), Z(o, "dragover", _t), Z(o, "mousemove", _t), Z(o, "touchmove", _t), Z(o, "mouseup", e._onDrop), Z(o, "touchend", e._onDrop), Z(o, "touchcancel", e._onDrop), gr && this.nativeDraggable && (this.options.touchStartThreshold = 4, A.draggable = !0), Dt("delayStart", this, {
evt: r
}), t.delay && (!t.delayOnTouchOnly || n) && (!this.nativeDraggable || !(De || Wt))) {
if (B.eventCanceled) {
this._onDrop();
return;
}
Z(o, "mouseup", e._disableDelayedDrag), Z(o, "touchend", e._disableDelayedDrag), Z(o, "touchcancel", e._disableDelayedDrag), Z(o, "mousemove", e._delayedDragTouchMoveHandler), Z(o, "touchmove", e._delayedDragTouchMoveHandler), t.supportPointer && Z(o, "pointermove", e._delayedDragTouchMoveHandler), e._dragStartTimer = setTimeout(a, t.delay);
} else
a();
}
},
_delayedDragTouchMoveHandler: function(r) {
var n = r.touches ? r.touches[0] : r;
Math.max(Math.abs(n.clientX - this._lastX), Math.abs(n.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1)) && this._disableDelayedDrag();
},
_disableDelayedDrag: function() {
A && rr(A), clearTimeout(this._dragStartTimer), this._disableDelayedDragEvents();
},
_disableDelayedDragEvents: function() {
var r = this.el.ownerDocument;
Q(r, "mouseup", this._disableDelayedDrag), Q(r, "touchend", this._disableDelayedDrag), Q(r, "touchcancel", this._disableDelayedDrag), Q(r, "mousemove", this._delayedDragTouchMoveHandler), Q(r, "touchmove", this._delayedDragTouchMoveHandler), Q(r, "pointermove", this._delayedDragTouchMoveHandler);
},
_triggerDragStart: function(r, n) {
n = n || r.pointerType == "touch" && r, !this.nativeDraggable || n ? this.options.supportPointer ? Z(document, "pointermove", this._onTouchMove) : n ? Z(document, "touchmove", this._onTouchMove) : Z(document, "mousemove", this._onTouchMove) : (Z(A, "dragend", this), Z(ot, "dragstart", this._onDragStart));
try {
document.selection ? Ke(function() {
document.selection.empty();
}) : window.getSelection().removeAllRanges();
} catch {
}
},
_dragStarted: function(r, n) {
if (ie = !1, ot && A) {
Dt("dragStarted", this, {
evt: n
}), this.nativeDraggable && Z(document, "dragover", cn);
var i = this.options;
!r && lt(A, i.dragClass, !1), lt(A, i.ghostClass, !0), B.active = this, r && this._appendGhost(), It({
sortable: this,
name: "start",
originalEvent: n
});
} else
this._nulling();
},
_emulateDragOver: function() {
if (Lt) {
this._lastX = Lt.clientX, this._lastY = Lt.clientY, Lr();
for (var r = document.elementFromPoint(Lt.clientX, Lt.clientY), n = r; r && r.shadowRoot && (r = r.shadowRoot.elementFromPoint(Lt.clientX, Lt.clientY), r !== n); )
n = r;
if (A.parentNode[Ot]._isOutsideThisEl(r), n)
do {
if (n[Ot]) {
var i = void 0;
if (i = n[Ot]._onDragOver({
clientX: Lt.clientX,
clientY: Lt.clientY,
target: r,
rootEl: n
}), i && !this.options.dragoverBubble)
break;
}
r = n;
} while (n = n.parentNode);
wr();
}
},
_onTouchMove: function(r) {
if (qt) {
var n = this.options, i = n.fallbackTolerance, e = n.fallbackOffset, f = r.touches ? r.touches[0] : r, t = z && ee(z, !0), o = z && t && t.a, a = z && t && t.d, s = je && xt && Sr(xt), c = (f.clientX - qt.clientX + e.x) / (o || 1) + (s ? s[0] - er[0] : 0) / (o || 1), u = (f.clientY - qt.clientY + e.y) / (a || 1) + (s ? s[1] - er[1] : 0) / (a || 1);
if (!B.active && !ie) {
if (i && Math.max(Math.abs(f.clientX - this._lastX), Math.abs(f.clientY - this._lastY)) < i)
return;
this._onDragStart(r, !0);
}
if (z) {
t ? (t.e += c - (_e || 0), t.f += u - (tr || 0)) : t = {
a: 1,
b: 0,
c: 0,
d: 1,
e: c,
f: u
};
var d = "matrix(".concat(t.a, ",").concat(t.b, ",").concat(t.c, ",").concat(t.d, ",").concat(t.e, ",").concat(t.f, ")");
w(z, "webkitTransform", d), w(z, "mozTransform", d), w(z, "msTransform", d), w(z, "transform", d), _e = c, tr = u, Lt = f;
}
r.cancelable && r.preventDefault();
}
},
_appendGhost: function() {
if (!z) {
var r = this.options.fallbackOnBody ? document.body : ot, n = at(A, !0, je, !0, r), i = this.options;
if (je) {
for (xt = r; w(xt, "position") === "static" && w(xt, "transform") === "none" && xt !== document; )
xt = xt.parentNode;
xt !== document.body && xt !== document.documentElement ? (xt === document && (xt = Kt()), n.top += xt.scrollTop, n.left += xt.scrollLeft) : xt = Kt(), er = Sr(xt);
}
z = A.cloneNode(!0), lt(z, i.ghostClass, !1), lt(z, i.fallbackClass, !0), lt(z, i.dragClass, !0), w(z, "transition", ""), w(z, "transform", ""), w(z, "box-sizing", "border-box"), w(z, "margin", 0), w(z, "top", n.top), w(z, "left", n.left), w(z, "width", n.width), w(z, "height", n.height), w(z, "opacity", "0.8"), w(z, "position", je ? "absolute" : "fixed"), w(z, "zIndex", "100000"), w(z, "pointerEvents", "none"), B.ghost = z, r.appendChild(z), w(z, "transform-origin", Er / parseInt(z.style.width) * 100 + "% " + xr / parseInt(z.style.height) * 100 + "%");
}
},
_onDragStart: function(r, n) {
var i = this, e = r.dataTransfer, f = i.options;
if (Dt("dragStart", this, {
evt: r
}), B.eventCanceled) {
this._onDrop();
return;
}
Dt("setupClone", this), B.eventCanceled || (ct = dr(A), ct.draggable = !1, ct.style["will-change"] = "", this._hideClone(), lt(ct, this.options.chosenClass, !1), B.clone = ct), i.cloneId = Ke(function() {
Dt("clone", i), !B.eventCanceled && (i.options.removeCloneOnHide || ot.insertBefore(ct, A), i._hideClone(), It({
sortable: i,
name: "clone"
}));
}), !n && lt(A, f.dragClass, !0), n ? (We = !0, i._loopId = setInterval(i._emulateDragOver, 50)) : (Q(document, "mouseup", i._onDrop), Q(document, "touchend", i._onDrop), Q(document, "touchcancel", i._onDrop), e && (e.effectAllowed = "move", f.setData && f.setData.call(i, e, A)), Z(document, "drop", i), w(A, "transform", "translateZ(0)")), ie = !0, i._dragStartId = Ke(i._dragStarted.bind(i, n, r)), Z(document, "selectstart", i), Se = !0, xe && w(document.body, "user-select", "none");
},
// Returns true - if no further action is needed (either inserted or another condition)
_onDragOver: function(r) {
var n = this.el, i = r.target, e, f, t, o = this.options, a = o.group, s = B.active, c = Ne === a, u = o.sort, d = Et || s, v, h = this, p = !1;
if (lr) return;
function g(_, rt) {
Dt(_, h, Bt({
evt: r,
isOwner: c,
axis: v ? "vertical" : "horizontal",
revert: t,
dragRect: e,
targetRect: f,
canSort: u,
fromSortable: d,
target: i,
completed: b,
onMove: function(st, ft) {
return Fe(ot, n, A, e, st, at(st), r, ft);
},
changed: I
}, rt));
}
function S() {
g("dragOverAnimationCapture"), h.captureAnimationState(), h !== d && d.captureAnimationState();
}
function b(_) {
return g("dragOverCompleted", {
insertion: _
}), _ && (c ? s._hideClone() : s._showClone(h), h !== d && (lt(A, Et ? Et.options.ghostClass : s.options.ghostClass, !1), lt(A, o.ghostClass, !0)), Et !== h && h !== B.active ? Et = h : h === B.active && Et && (Et = null), d === h && (h._ignoreWhileAnimating = i), h.animateAll(function() {
g("dragOverAnimationComplete"), h._ignoreWhileAnimating = null;
}), h !== d && (d.animateAll(), d._ignoreWhileAnimating = null)), (i === A && !A.animated || i === n && !i.animated) && (oe = null), !o.dragoverBubble && !r.rootEl && i !== document && (A.parentNode[Ot]._isOutsideThisEl(r.target), !_ && _t(r)), !o.dragoverBubble && r.stopPropagation && r.stopPropagation(), p = !0;
}
function I() {
Nt = dt(A), zt = dt(A, o.draggable), It({
sortable: h,
name: "change",
toEl: n,
newIndex: Nt,
newDraggableIndex: zt,
originalEvent: r
});
}
if (r.preventDefault !== void 0 && r.cancelable && r.preventDefault(), i = Ut(i, o.draggable, n, !0), g("dragOver"), B.eventCanceled) return p;
if (A.contains(r.target) || i.animated && i.animatingX && i.animatingY || h._ignoreWhileAnimating === i)
return b(!1);
if (We = !1, s && !o.disabled && (c ? u || (t = ut !== ot) : Et === this || (this.lastPutMode = Ne.checkPull(this, s, A, r)) && a.checkPut(this, s, A, r))) {
if (v = this._getDirection(r, i) === "vertical", e = at(A), g("dragOverValid"), B.eventCanceled) return p;
if (t)
return ut = ot, S(), this._hideClone(), g("revert"), B.eventCanceled || (te ? ot.insertBefore(A, te) : ot.appendChild(A)), b(!0);
var x = cr(n, o.draggable);
if (!x || pn(r, v, this) && !x.animated) {
if (x === A)
return b(!1);
if (x && n === r.target && (i = x), i && (f = at(i)), Fe(ot, n, A, e, i, f, r, !!i) !== !1)
return S(), n.appendChild(A), ut = n, I(), b(!0);
} else if (x && hn(r, v, this)) {
var P = se(n, 0, o, !0);
if (P === A)
return b(!1);
if (i = P, f = at(i), Fe(ot, n, A, e, i, f, r, !1) !== !1)
return S(), n.insertBefore(A, P), ut = n, I(), b(!0);
} else if (i.parentNode === n) {
f = at(i);
var O = 0, L, U = A.parentNode !== n, T = !fn(A.animated && A.toRect || e, i.animated && i.toRect || f, v), N = v ? "top" : "left", j = yr(i, "top", "top") || yr(A, "top", "top"), Y = j ? j.scrollTop : void 0;
oe !== i && (L = f[N], Pe = !1, Me = !T && o.invertSwap || U), O = gn(r, i, f, v, T ? 1 : o.swapThreshold, o.invertedSwapThreshold == null ? o.swapThreshold : o.invertedSwapThreshold, Me, oe === i);
var C;
if (O !== 0) {
var R = dt(A);
do
R -= O, C = ut.children[R];
while (C && (w(C, "display") === "none" || C === z));
}
if (O === 0 || C === i)
return b(!1);
oe = i, Ie = O;
var X = i.nextElementSibling, M = !1;
M = O === 1;
var $ = Fe(ot, n, A, e, i, f, r, M);
if ($ !== !1)
return ($ === 1 || $ === -1) && (M = $ === 1), lr = !0, setTimeout(vn, 30), S(), M && !X ? n.appendChild(A) : i.parentNode.insertBefore(A, M ? X : i), j && Nr(j, 0, Y - j.scrollTop), ut = A.parentNode, L !== void 0 && !Me && ($e = Math.abs(L - at(i)[N])), I(), b(!0);
}
if (n.contains(A))
return b(!1);
}
return !1;
},
_ignoreWhileAnimating: null,
_offMoveEvents: function() {
Q(document, "mousemove", this._onTouchMove), Q(document, "touchmove", this._onTouchMove), Q(document, "pointermove", this._onTouchMove), Q(document, "dragover", _t), Q(document, "mousemove", _t), Q(document, "touchmove", _t);
},
_offUpEvents: function() {
var r = this.el.ownerDocument;
Q(r, "mouseup", this._onDrop), Q(r, "touchend", this._onDrop), Q(r, "pointerup", this._onDrop), Q(r, "touchcancel", this._onDrop), Q(document, "selectstart", this);
},
_onDrop: function(r) {
var n = this.el, i = this.options;
if (Nt = dt(A), zt = dt(A, i.draggable), Dt("drop", this, {
evt: r
}), ut = A && A.parentNode, Nt = dt(A), zt = dt(A, i.draggable), B.eventCanceled) {
this._nulling();
return;
}
ie = !1, Me = !1, Pe = !1, clearInterval(this._loopId), clearTimeout(this._dragStartTimer), sr(this.cloneId), sr(this._dragStartId), this.nativeDraggable && (Q(document, "drop", this), Q(n, "dragstart", this._onDragStart)), this._offMoveEvents(), this._offUpEvents(), xe && w(document.body, "user-select", ""), w(A, "transform", ""), r && (Se && (r.cancelable && r.preventDefault(), !i.dropBubble && r.stopPropagation()), z && z.parentNode && z.parentNode.removeChild(z), (ot === ut || Et && Et.lastPutMode !== "clone") && ct && ct.parentNode && ct.parentNode.removeChild(ct), A && (this.nativeDraggable && Q(A, "dragend", this), rr(A), A.style["will-change"] = "", Se && !ie && lt(A, Et ? Et.options.ghostClass : this.options.ghostClass, !1), lt(A, this.options.chosenClass, !1), It({
sortable: this,
name: "unchoose",
toEl: ut,
newIndex: null,
newDraggableIndex: null,
originalEvent: r
}), ot !== ut ? (Nt >= 0 && (It({
rootEl: ut,
name: "add",
toEl: ut,
fromEl: ot,
originalEvent: r
}), It({
sortable: this,
name: "remove",
toEl: ut,
originalEvent: r
}), It({
rootEl: ut,
name: "sort",
toEl: ut,
fromEl: ot,
originalEvent: r
}), It({
sortable: this,
name: "sort",
toEl: ut,
originalEvent: r
})), Et && Et.save()) : Nt !== le && Nt >= 0 && (It({
sortable: this,
name: "update",
toEl: ut,
originalEvent: r
}), It({
sortable: this,
name: "sort",
toEl: ut,
originalEvent: r
})), B.active && ((Nt == null || Nt === -1) && (Nt = le, zt = Te), It({
sortable: this,
name: "end",
toEl: ut,
originalEvent: r
}), this.save()))), this._nulling();
},
_nulling: function() {
Dt("nulling", this), ot = A = ut = z = te = ct = Ge = Jt = qt = Lt = Se = Nt = zt = le = Te = oe = Ie = Et = Ne = B.dragged = B.ghost = B.clone = B.active = null, Ye.forEach(function(r) {
r.checked = !0;
}), Ye.length = _e = tr = 0;
},
handleEvent: function(r) {
switch (r.type) {
case "drop":
case "dragend":
this._onDrop(r);
break;
case "dragenter":
case "dragover":
A && (this._onDragOver(r), dn(r));
break;
case "selectstart":
r.preventDefault();
break;
}
},
/**
* Serializes the item into an array of string.
* @returns {String[]}
*/
toArray: function() {
for (var r = [], n, i = this.el.children, e = 0, f = i.length, t = this.options; e < f; e++)
n = i[e], Ut(n, t.draggable, this.el, !1) && r.push(n.getAttribute(t.dataIdAttr) || yn(n));
return r;
},
/**
* Sorts the elements according to the array.
* @param {String[]} order order of the items
*/
sort: function(r, n) {
var i = {}, e = this.el;
this.toArray().forEach(function(f, t) {
var o = e.children[t];
Ut(o, this.options.draggable, e, !1) && (i[f] = o);
}, this), n && this.captureAnimationState(), r.forEach(function(f) {
i[f] && (e.removeChild(i[f]), e.appendChild(i[f]));
}), n && this.animateAll();
},
/**
* Save the current sorting
*/
save: function() {
var r = this.options.store;
r && r.set && r.set(this);
},
/**
* For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.
* @param {HTMLElement} el
* @param {String} [selector] default: `options.draggable`
* @returns {HTMLElement|null}
*/
closest: function(r, n) {
return Ut(r, n || this.options.draggable, this.el, !1);
},
/**
* Set/get option
* @param {string} name
* @param {*} [value]
* @returns {*}
*/
option: function(r, n) {
var i = this.options;
if (n === void 0)
return i[r];
var e = Ce.modifyOption(this, r, n);
typeof e < "u" ? i[r] = e : i[r] = n, r === "group" && Fr(i);
},
/**
* Destroy
*/
destroy: function() {
Dt("destroy", this);
var r = this.el;
r[Ot] = null, Q(r, "mousedown", this._onTapStart), Q(r, "touchstart", this._onTapStart), Q(r, "pointerdown", this._onTapStart), this.nativeDraggable && (Q(r, "dragover", this), Q(r, "dragenter", this)), Array.prototype.forEach.call(r.querySelectorAll("[draggable]"), function(n) {
n.removeAttribute("draggable");
}), this._onDrop(), this._disableDelayedDragEvents(), Xe.splice(Xe.indexOf(this.el), 1), this.el = r = null;
},
_hideClone: function() {
if (!Jt) {
if (Dt("hideClone", this), B.eventCanceled) return;
w(ct, "display", "none"), this.options.removeCloneOnHide && ct.parentNode && ct.parentNode.removeChild(ct), Jt = !0;
}
},
_showClone: function(r) {
if (r.lastPutMode !== "clone") {
this._hideClone();
return;
}
if (Jt) {
if (Dt("showClone", this), B.eventCanceled) return;
A.parentNode == ot && !this.options.group.revertClone ? ot.insertBefore(ct, A) : te ? ot.insertBefore(ct, te) : ot.appendChild(ct), this.options.group.revertClone && this.animate(A, ct), w(ct, "display", ""), Jt = !1;
}
}
};
function dn(l) {
l.dataTransfer && (l.dataTransfer.dropEffect = "move"), l.cancelable && l.preventDefault();
}
function Fe(l, r, n, i, e, f, t, o) {
var a, s = l[Ot], c = s.options.onMove, u;
return window.CustomEvent && !Wt && !De ? a = new CustomEvent("move", {
bubbles: !0,
cancelable: !0
}) : (a = document.createEvent("Event"), a.initEvent("move", !0, !0)), a.to = r, a.from = l, a.dragged = n, a.draggedRect = i, a.related = e || r, a.relatedRect = f || at(r), a.willInsertAfter = o, a.originalEvent = t, l.dispatchEvent(a), c && (u = c.call(s, a, t)), u;
}
function rr(l) {
l.draggable = !1;
}
function vn() {
lr = !1;
}
function hn(l, r, n) {
var i = at(se(n.el, 0, n.options, !0)), e = 10;
return r ? l.clientX < i.left - e || l.clientY < i.top && l.clientX < i.right : l.clientY < i.top - e || l.clientY < i.bottom && l.clientX < i.left;
}
function pn(l, r, n) {
var i = at(cr(n.el, n.options.draggable)), e = 10;
return r ? l.clientX > i.right + e || l.clientX <= i.right && l.clientY > i.bottom && l.clientX >= i.left : l.clientX > i.right && l.clientY > i.top || l.clientX <= i.right && l.clientY > i.bottom + e;
}
function gn(l, r, n, i, e, f, t, o) {
var a = i ? l.clientY : l.clientX, s = i ? n.height : n.width, c = i ? n.top : n.left, u = i ? n.bottom : n.right, d = !1;
if (!t) {
if (o && $e < s * e) {
if (!Pe && (Ie === 1 ? a > c + s * f / 2 : a < u - s * f / 2) && (Pe = !0), Pe)
d = !0;
else if (Ie === 1 ? a < c + $e : a > u - $e)
return -Ie;
} else if (a > c + s * (1 - e) / 2 && a < u - s * (1 - e) / 2)
return mn(r);
}
return d = d || t, d && (a < c + s * f / 2 || a > u - s * f / 2) ? a > c + s / 2 ? 1 : -1 : 0;
}
function mn(l) {
return dt(A) < dt(l) ? 1 : -1;
}
function yn(l) {
for (var r = l.tagName + l.className + l.src + l.href + l.textContent, n = r.length, i = 0; n--; )
i += r.charCodeAt(n);
return i.toString(36);
}
function Sn(l) {
Ye.length = 0;
for (var r = l.getElementsByTagName("input"), n = r.length; n--; ) {
var i = r[n];
i.checked && Ye.push(i);
}
}
function Ke(l) {
return setTimeout(l, 0);
}
function sr(l) {
return clearTimeout(l);
}
ze && Z(document, "touchmove", function(l) {
(B.active || ie) && l.cancelable && l.preventDefault();
});
B.utils = {
on: Z,
off: Q,
css: w,
find: Ar,
is: function(r, n) {
return !!Ut(r, n, r, !1);
},
extend: en,
throttle: Rr,
closest: Ut,
toggleClass: lt,
clone: dr,
index: dt,
nextTick: Ke,
cancelNextTick: sr,
detectDirection: jr,
getChild: se
};
B.get = function(l) {
return l[Ot];
};
B.mount = function() {
for (var l = arguments.length, r = new Array(l), n = 0; n < l; n++)
r[n] = arguments[n];
r[0].constructor === Array && (r = r[0]), r.forEach(function(i) {
if (!i.prototype || !i.prototype.constructor)
throw "Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(i));
i.utils && (B.utils = Bt(Bt({}, B.utils), i.utils)), Ce.mount(i);
});
};
B.create = function(l, r) {
return new B(l, r);
};
B.version = kr;
var pt = [], be, fr, ur = !1, nr, or, Ve, Ee;
function bn() {
function l() {
this.defaults = {
scroll: !0,
forceAutoScrollFallback: !1,
scrollSensitivity: 30,
scrollSpeed: 10,
bubbleScroll: !0
};
for (var r in this)
r.charAt(0) === "_" && typeof this[r] == "function" && (this[r] = this[r].bind(this));
}
return l.prototype = {
dragStarted: function(n) {
var i = n.originalEvent;
this.sortable.nativeDraggable ? Z(document, "dragover", this._handleAutoScroll) : this.options.supportPointer ? Z(document, "pointermove", this._handleFallbackAutoScroll) : i.touches ? Z(document, "touchmove", this._handleFallbackAutoScroll) : Z(document, "mousemove", this._handleFallbackAutoScroll);
},
dragOverCompleted: function(n) {
var i = n.originalEvent;
!this.options.dragOverBubble && !i.rootEl && this._handleAutoScroll(i);
},
drop: function() {
this.sortable.nativeDraggable ? Q(document, "dragover", this._handleAutoScroll) : (Q(document, "pointermove", this._handleFallbackAutoScroll), Q(document, "touchmove", this._handleFallbackAutoScroll), Q(document, "mousemove", this._handleFallbackAutoScroll)), Tr(), Be(), rn();
},
nulling: function() {
Ve = fr = be = ur = Ee = nr = or = null, pt.length = 0;
},
_handleFallbackAutoScroll: function(n) {
this._handleAutoScroll(n, !0);
},
_handleAutoScroll: function(n, i) {
var e = this, f = (n.touches ? n.touches[0] : n).clientX, t = (n.touches ? n.touches[0] : n).clientY, o = document.elementFromPoint(f, t);
if (Ve = n, i || this.options.forceAutoScrollFallback || De || Wt || xe) {
ar(n, this.options, o, i);
var a = Qt(o, !0);
ur && (!Ee || f !== nr || t !== or) && (Ee && Tr(), Ee = setInterval(function() {
var s = Qt(document.elementFromPoint(f, t), !0);
s !== a && (a = s, Be()), ar(n, e.options, s, i);
}, 10), nr = f, or = t);
} else {
if (!this.options.bubbleScroll || Qt(o, !0) === Kt()) {
Be();
return;
}
ar(n, this.options, Qt(o, !1), !1);
}
}
}, jt(l, {
pluginName: "scroll",
initializeByDefault: !0
});
}
function Be() {
pt.forEach(function(l) {
clearInterval(l.pid);
}), pt = [];
}
function Tr() {
clearInterval(Ee);
}
var ar = Rr(function(l, r, n, i) {
if (r.scroll) {
var e = (l.touches ? l.touches[0] : l).clientX, f = (l.touches ? l.touches[0] : l).clientY, t = r.scrollSensitivity, o = r.scrollSpeed, a = Kt(), s = !1, c;
fr !== n && (fr = n, Be(), be = r.scroll, c = r.scrollFn, be === !0 && (be = Qt(n, !0)));
var u = 0, d = be;
do {
var v = d, h = at(v), p = h.top, g = h.bottom, S = h.left, b = h.right, I = h.width, x = h.height, P = void 0, O = void 0, L = v.scrollWidth, U = v.scrollHeight, T = w(v), N = v.scrollLeft, j = v.scrollTop;
v === a ? (P = I < L && (T.overflowX === "auto" || T.overflowX === "scroll" || T.overflowX === "visible"), O = x < U && (T.overflowY === "auto" || T.overflowY === "scroll" || T.overflowY === "visible")) : (P = I < L && (T.overflowX === "auto" || T.overflowX === "scroll"), O = x < U && (T.overflowY === "auto" || T.overflowY === "scroll"));
var Y = P && (Math.abs(b - e) <= t && N + I < L) - (Math.abs(S - e) <= t && !!N), C = O && (Math.abs(g - f) <= t && j + x < U) - (Math.abs(p - f) <= t && !!j);
if (!pt[u])
for (var R = 0; R <= u; R++)
pt[R] || (pt[R] = {});
(pt[u].vx != Y || pt[u].vy != C || pt[u].el !== v) && (pt[u].el = v, pt[u].vx = Y, pt[u].vy = C, clearInterval(pt[u].pid), (Y != 0 || C != 0) && (s = !0, pt[u].pid = setInterval((function() {
i && this.layer === 0 && B.active._onTouchMove(Ve);
var X = pt[this.layer].vy ? pt[this.layer].vy * o : 0, M = pt[this.layer].vx ? pt[this.layer].vx * o : 0;
typeof c == "function" && c.call(B.dragged.parentNode[Ot], M, X, l, Ve, pt[this.layer].el) !== "continue" || Nr(pt[this.layer].el, M, X);
}).bind({
layer: u
}), 24))), u++;
} while (r.bubbleScroll && d !== a && (d = Qt(d, !1)));
ur = s;
}
}, 30), Ur = function(r) {
var n = r.originalEvent, i = r.putSortable, e = r.dragEl, f = r.activeSortable, t = r.dispatchSortableEvent, o = r.hideGhostForTarget, a = r.unhideGhostForTarget;
if (n) {
var s = i || f;
o();
var c = n.changedTouches && n.changedTouches.length ? n.changedTouches[0] : n, u = document.elementFromPoint(c.clientX, c.clientY);
a(), s && !s.el.contains(u) && (t("spill"), this.onSpill({
dragEl: e,
putSortable: i
}));
}
};
function vr() {
}
vr.prototype = {
startIndex: null,
dragStart: function(r) {
var n = r.oldDraggableIndex;
this.startIndex = n;
},
onSpill: function(r) {
var n = r.dragEl, i = r.putSortable;
this.sortable.captureAnimationState(), i && i.captu