Built files from Bizgaze WebServer
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

jkanban.min.js 25KB

1
  1. !function o(a, c, d) { function s(t, e) { if (!c[t]) { if (!a[t]) { var n = "function" == typeof require && require; if (!e && n) return n(t, !0); if (u) return u(t, !0); var i = new Error("Cannot find module '" + t + "'"); throw i.code = "MODULE_NOT_FOUND", i } var r = c[t] = { exports: {} }; a[t][0].call(r.exports, function (e) { return s(a[t][1][e] || e) }, r, r.exports, o, a, c, d) } return c[t].exports } for (var u = "function" == typeof require && require, e = 0; e < d.length; e++)s(d[e]); return s }({ 1: [function (e, t, n) { var i = e("dragula"); !function () { this.jKanban = function () { var b = this, e = { enabled: !1 }; this._disallowedItemProperties = ["id", "title", "click", "drag", "dragend", "drop", "order"], this.element = "", this.container = "", this.boardContainer = [], this.handlers = [], this.dragula = i, this.drake = "", this.drakeBoard = "", this.addItemButton = !1; var t = { element: "", gutter: "15px", widthBoard: "250px", responsive: "700", responsivePercentage: !(this.buttonContent = "More"), boards: [], dragBoards: !0, dragItems: !0, addItemButton: !1, buttonContent: "+", itemHandleOptions: this.itemHandleOptions = e, dragEl: function (e, t) { }, dragendEl: function (e) { }, dropEl: function (e, t, n, i) { }, dragBoard: function (e, t) { }, dragendBoard: function (e) { }, dropBoard: function (e, t, n, i) { }, click: function (e) { }, buttonClick: function (e, t) { } }; function y(e) { e.addEventListener("click", function (e) { e.preventDefault(), b.options.click(this), "function" == typeof this.clickfn && this.clickfn(this) }) } function w(e, t) { e.addEventListener("click", function (e) { e.preventDefault(), b.options.buttonClick(this, t) }) } function o(t) { var n = []; return b.options.boards.map(function (e) { if (e.id === t) return n.push(e) }), n[0] } function E(e, t) { for (var n in t) -1 < b._disallowedItemProperties.indexOf(n) || e.setAttribute("data-" + n, t[n]) } function T(e) { var t = e; if (b.options.itemHandleOptions.enabled) if (void 0 === (b.options.itemHandleOptions.customHandler || void 0)) { var n = b.options.itemHandleOptions.customCssHandler, i = b.options.itemHandleOptions.customCssIconHandler; void 0 === (n || void 0) && (n = "drag_handler"), void 0 === (i || void 0) && (i = n + "_icon"), t = "<div class='item_handle " + n + "'><i class='item_handle " + i + "'></i></div><div>" + t + "</div>" } else t = b.options.itemHandleOptions.customHandler.replace("%s", t); return t } arguments[0] && "object" == typeof arguments[0] && (this.options = function (e, t) { var n; for (n in t) t.hasOwnProperty(n) && (e[n] = t[n]); return e }(t, arguments[0])), this.__getCanMove = function (e) { return b.options.itemHandleOptions.enabled ? b.options.itemHandleOptions.handleClass ? e.classList.contains(b.options.itemHandleOptions.handleClass) : e.classList.contains("item_handle") : !!b.options.dragItems }, this.init = function () { !function () { b.element = document.querySelector(b.options.element); var e = document.createElement("div"); e.classList.add("kanban-container"), b.container = e, b.addBoards(b.options.boards, !0), b.element.appendChild(b.container) }(), window.innerWidth > b.options.responsive && (b.drakeBoard = b.dragula([b.container], { moves: function (e, t, n, i) { return !!b.options.dragBoards && (n.classList.contains("kanban-board-header") || n.classList.contains("kanban-title-board")) }, accepts: function (e, t, n, i) { return t.classList.contains("kanban-container") }, revertOnSpill: !0, direction: "horizontal" }).on("drag", function (e, t) { e.classList.add("is-moving"), b.options.dragBoard(e, t), "function" == typeof e.dragfn && e.dragfn(e, t) }).on("dragend", function (e) { !function () { for (var e = 1, t = 0; t < b.container.childNodes.length; t++)b.container.childNodes[t].dataset.order = e++ }(), e.classList.remove("is-moving"), b.options.dragendBoard(e), "function" == typeof e.dragendfn && e.dragendfn(e) }).on("drop", function (e, t, n, i) { e.classList.remove("is-moving"), b.options.dropBoard(e, t, n, i), "function" == typeof e.dropfn && e.dropfn(e, t, n, i) }), b.drake = b.dragula(b.boardContainer, { moves: function (e, t, n, i) { return b.__getCanMove(n) }, revertOnSpill: !0 }).on("cancel", function (e, t, n) { b.enableAllBoards() }).on("drag", function (e, t) { var n = e.getAttribute("class"); if ("" !== n && -1 < n.indexOf("not-draggable")) b.drake.cancel(!0); else { e.classList.add("is-moving"); var i = o(t.parentNode.dataset.id); void 0 !== i.dragTo && b.options.boards.map(function (e) { -1 === i.dragTo.indexOf(e.id) && e.id !== t.parentNode.dataset.id && b.findBoard(e.id).classList.add("disabled-board") }), b.options.dragEl(e, t), null !== e && "function" == typeof e.dragfn && e.dragfn(e, t) } }).on("dragend", function (e) { b.options.dragendEl(e), null !== e && "function" == typeof e.dragendfn && e.dragendfn(e) }).on("drop", function (e, t, n, i) { b.enableAllBoards(); var r = o(n.parentNode.dataset.id); void 0 !== r.dragTo && -1 === r.dragTo.indexOf(t.parentNode.dataset.id) && t.parentNode.dataset.id !== n.parentNode.dataset.id && b.drake.cancel(!0), null !== e && (!1 === b.options.dropEl(e, t, n, i) && b.drake.cancel(!0), e.classList.remove("is-moving"), "function" == typeof e.dropfn && e.dropfn(e, t, n, i)) })) }, this.enableAllBoards = function () { var e = document.querySelectorAll(".kanban-board"); if (0 < e.length && void 0 !== e) for (var t = 0; t < e.length; t++)e[t].classList.remove("disabled-board") }, this.addElement = function (e, t) { var n = b.element.querySelector('[data-id="' + e + '"] .kanban-drag'), i = document.createElement("div"); return i.classList.add("kanban-item"), void 0 !== t.id && "" !== t.id && i.setAttribute("data-eid", t.id), t.class && Array.isArray(t.class) && t.class.forEach(function (e) { i.classList.add(e) }), i.innerHTML = T(t.title), i.clickfn = t.click, i.dragfn = t.drag, i.dragendfn = t.dragend, i.dropfn = t.drop, E(i, t), y(i), b.options.itemHandleOptions.enabled && (i.style.cursor = "default"), n.appendChild(i), b }, this.addForm = function (e, t) { var n = b.element.querySelector('[data-id="' + e + '"] .kanban-drag'), i = t.getAttribute("class"); return t.setAttribute("class", i + " not-draggable"), n.appendChild(t), b }, this.addBoards = function (e, t) { if (b.options.responsivePercentage) if (b.container.style.width = "100%", b.options.gutter = "1%", window.innerWidth > b.options.responsive) var n = (100 - 2 * e.length) / e.length; else n = 100 - 2 * e.length; else n = b.options.widthBoard; var i = b.options.addItemButton, r = b.options.buttonContent; for (var o in e) { var a = e[o]; t || b.options.boards.push(a), b.options.responsivePercentage || ("" === b.container.style.width ? b.container.style.width = parseInt(n) + 2 * parseInt(b.options.gutter) + "px" : b.container.style.width = parseInt(b.container.style.width) + parseInt(n) + 2 * parseInt(b.options.gutter) + "px"); var c = document.createElement("div"); c.dataset.id = a.id, c.dataset.order = b.container.childNodes.length + 1, c.classList.add("kanban-board"), b.options.responsivePercentage ? c.style.width = n + "%" : c.style.width = n, c.style.marginLeft = b.options.gutter, c.style.marginRight = b.options.gutter; var d = document.createElement("header"); if ("" !== a.class && void 0 !== a.class) var s = a.class.split(","); else s = []; if (d.classList.add("kanban-board-header"), s.map(function (e) { d.classList.add(e) }), d.innerHTML = '<div class="kanban-title-board">' + a.title + "</div>", i) { var u = document.createElement("BUTTON"), l = document.createTextNode(r); u.setAttribute("class", "kanban-title-button btn btn-default btn-xs kanban-item btnfritem"), u.appendChild(l), w(u, a.id) } var f = document.createElement("main"); if (f.classList.add("kanban-drag"), "" !== a.bodyClass && void 0 !== a.bodyClass) var p = a.bodyClass.split(","); else p = []; for (var v in p.map(function (e) { f.classList.add(e) }), b.boardContainer.push(f), a.item) { var m = a.item[v], h = document.createElement("div"); h.classList.add("kanban-item"), m.id && (h.dataset.eid = m.id), m.class && Array.isArray(m.class) && m.class.forEach(function (e) { h.classList.add(e) }), h.innerHTML = T(m.title), h.clickfn = m.click, h.dragfn = m.drag, h.dragendfn = m.dragend, h.dropfn = m.drop, E(h, m), y(h), b.options.itemHandleOptions.enabled && (h.style.cursor = "default"), f.appendChild(h) }; var g = document.createElement("footer"); g.classList.add("footerboarditem"); f.appendChild(u); g.appendChild(u); c.appendChild(d), c.appendChild(f), c.appendChild(g), b.container.appendChild(c) } return b }, this.findBoard = function (e) { return b.element.querySelector('[data-id="' + e + '"]') }, this.getParentBoardID = function (e) { return "string" == typeof e && (e = b.element.querySelector('[data-eid="' + e + '"]')), null === e ? null : e.parentNode.parentNode.dataset.id }, this.moveElement = function (e, t, n) { if (e !== this.getParentBoardID(t)) return this.removeElement(t), this.addElement(e, n) }, this.replaceElement = function (e, t) { var n = e; return "string" == typeof n && (n = b.element.querySelector('[data-eid="' + e + '"]')), n.innerHTML = t.title, n.clickfn = t.click, n.dragfn = t.drag, n.dragendfn = t.dragend, n.dropfn = t.drop, E(n, t), b }, this.findElement = function (e) { return b.element.querySelector('[data-eid="' + e + '"]') }, this.getBoardElements = function (e) { return b.element.querySelector('[data-id="' + e + '"] .kanban-drag').childNodes }, this.removeElement = function (e) { return "string" == typeof e && (e = b.element.querySelector('[data-eid="' + e + '"]')), null !== e && e.remove(), b }, this.removeBoard = function (e) { var t = null; "string" == typeof e && (t = b.element.querySelector('[data-id="' + e + '"]')), null !== t && t.remove(); for (var n = 0; n < b.options.boards.length; n++)if (b.options.boards[n].id === e) { b.options.boards.splice(n, 1); break } return b }, this.onButtonClick = function (e) { }, this.init() } }() }, { dragula: 9 }], 2: [function (e, t, n) { t.exports = function (e, t) { return Array.prototype.slice.call(e, t) } }, {}], 3: [function (e, t, n) { "use strict"; var i = e("ticky"); t.exports = function (e, t, n) { e && i(function () { e.apply(n || null, t || []) }) } }, { ticky: 11 }], 4: [function (e, t, n) { "use strict"; var c = e("atoa"), d = e("./debounce"); t.exports = function (r, e) { var o = e || {}, a = {}; return void 0 === r && (r = {}), r.on = function (e, t) { return a[e] ? a[e].push(t) : a[e] = [t], r }, r.once = function (e, t) { return t._once = !0, r.on(e, t), r }, r.off = function (e, t) { var n = arguments.length; if (1 === n) delete a[e]; else if (0 === n) a = {}; else { var i = a[e]; if (!i) return r; i.splice(i.indexOf(t), 1) } return r }, r.emit = function () { var e = c(arguments); return r.emitterSnapshot(e.shift()).apply(this, e) }, r.emitterSnapshot = function (i) { var e = (a[i] || []).slice(0); return function () { var t = c(arguments), n = this || r; if ("error" === i && !1 !== o.throws && !e.length) throw 1 === t.length ? t[0] : t; return e.forEach(function (e) { o.async ? d(e, t, n) : e.apply(n, t), e._once && r.off(i, e) }), r } }, r } }, { "./debounce": 3, atoa: 2 }], 5: [function (n, i, e) { (function (r) { "use strict"; var o = n("custom-event"), a = n("./eventmap"), c = r.document, e = function (e, t, n, i) { return e.addEventListener(t, n, i) }, t = function (e, t, n, i) { return e.removeEventListener(t, n, i) }, d = []; function s(e, t, n) { var i = function (e, t, n) { var i, r; for (i = 0; i < d.length; i++)if ((r = d[i]).element === e && r.type === t && r.fn === n) return i }(e, t, n); if (i) { var r = d[i].wrapper; return d.splice(i, 1), r } } r.addEventListener || (e = function (e, t, n) { return e.attachEvent("on" + t, function (e, t, n) { var i = s(e, t, n) || function (n, e, i) { return function (e) { var t = e || r.event; t.target = t.target || t.srcElement, t.preventDefault = t.preventDefault || function () { t.returnValue = !1 }, t.stopPropagation = t.stopPropagation || function () { t.cancelBubble = !0 }, t.which = t.which || t.keyCode, i.call(n, t) } }(e, 0, n); return d.push({ wrapper: i, element: e, type: t, fn: n }), i }(e, t, n)) }, t = function (e, t, n) { var i = s(e, t, n); if (i) return e.detachEvent("on" + t, i) }), i.exports = { add: e, remove: t, fabricate: function (e, t, n) { var i = -1 === a.indexOf(t) ? new o(t, { detail: n }) : function () { var e; c.createEvent ? (e = c.createEvent("Event")).initEvent(t, !0, !0) : c.createEventObject && (e = c.createEventObject()); return e }(); e.dispatchEvent ? e.dispatchEvent(i) : e.fireEvent("on" + t, i) } } }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, { "./eventmap": 6, "custom-event": 7 }], 6: [function (e, r, t) { (function (e) { "use strict"; var t = [], n = "", i = /^on/; for (n in e) i.test(n) && t.push(n.slice(2)); r.exports = t }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, {}], 7: [function (e, n, t) { (function (e) { var t = e.CustomEvent; n.exports = function () { try { var e = new t("cat", { detail: { foo: "bar" } }); return "cat" === e.type && "bar" === e.detail.foo } catch (e) { } return !1 }() ? t : "function" == typeof document.createEvent ? function (e, t) { var n = document.createEvent("CustomEvent"); return t ? n.initCustomEvent(e, t.bubbles, t.cancelable, t.detail) : n.initCustomEvent(e, !1, !1, void 0), n } : function (e, t) { var n = document.createEventObject(); return n.type = e, t ? (n.bubbles = Boolean(t.bubbles), n.cancelable = Boolean(t.cancelable), n.detail = t.detail) : (n.bubbles = !1, n.cancelable = !1, n.detail = void 0), n } }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, {}], 8: [function (e, t, n) { "use strict"; var i = {}, r = "(?:^|\\s)", o = "(?:\\s|$)"; function a(e) { var t = i[e]; return t ? t.lastIndex = 0 : i[e] = t = new RegExp(r + e + o, "g"), t } t.exports = { add: function (e, t) { var n = e.className; n.length ? a(t).test(n) || (e.className += " " + t) : e.className = t }, rm: function (e, t) { e.className = e.className.replace(a(t), " ").trim() } } }, {}], 9: [function (e, t, n) { (function (r) { "use strict"; var M = e("contra/emitter"), X = e("crossvent"), Y = e("./classes"), j = document, F = j.documentElement; function R(e, t, n, i) { r.navigator.pointerEnabled ? X[t](e, { mouseup: "pointerup", mousedown: "pointerdown", mousemove: "pointermove" }[n], i) : r.navigator.msPointerEnabled ? X[t](e, { mouseup: "MSPointerUp", mousedown: "MSPointerDown", mousemove: "MSPointerMove" }[n], i) : (X[t](e, { mouseup: "touchend", mousedown: "touchstart", mousemove: "touchmove" }[n], i), X[t](e, n, i)) } function U(e) { if (void 0 !== e.touches) return e.touches.length; if (void 0 !== e.which && 0 !== e.which) return e.which; if (void 0 !== e.buttons) return e.buttons; var t = e.button; return void 0 !== t ? 1 & t ? 1 : 2 & t ? 3 : 4 & t ? 2 : 0 : void 0 } function K(e, t) { return void 0 !== r[t] ? r[t] : F.clientHeight ? F[e] : j.body[e] } function z(e, t, n) { var i, r = e || {}, o = r.className; return r.className += " gu-hide", i = j.elementFromPoint(t, n), r.className = o, i } function W() { return !1 } function V() { return !0 } function $(e) { return e.width || e.right - e.left } function G(e) { return e.height || e.bottom - e.top } function J(e) { return e.parentNode === j ? null : e.parentNode } function Q(e) { return "INPUT" === e.tagName || "TEXTAREA" === e.tagName || "SELECT" === e.tagName || function e(t) { if (!t) return !1; if ("false" === t.contentEditable) return !1; if ("true" === t.contentEditable) return !0; return e(J(t)) }(e) } function Z(t) { return t.nextElementSibling || function () { var e = t; for (; e = e.nextSibling, e && 1 !== e.nodeType;); return e }() } function ee(e, t) { var n = function (e) { return e.targetTouches && e.targetTouches.length ? e.targetTouches[0] : e.changedTouches && e.changedTouches.length ? e.changedTouches[0] : e }(t), i = { pageX: "clientX", pageY: "clientY" }; return e in i && !(e in n) && i[e] in n && (e = i[e]), n[e] } t.exports = function (e, t) { var p, v, m, h, g, o, a, b, y, w, n; 1 === arguments.length && !1 === Array.isArray(e) && (t = e, e = []); var c, E = null, T = t || {}; void 0 === T.moves && (T.moves = V), void 0 === T.accepts && (T.accepts = V), void 0 === T.invalid && (T.invalid = function () { return !1 }), void 0 === T.containers && (T.containers = e || []), void 0 === T.isContainer && (T.isContainer = W), void 0 === T.copy && (T.copy = !1), void 0 === T.copySortSource && (T.copySortSource = !1), void 0 === T.revertOnSpill && (T.revertOnSpill = !1), void 0 === T.removeOnSpill && (T.removeOnSpill = !1), void 0 === T.direction && (T.direction = "vertical"), void 0 === T.ignoreInputTextSelection && (T.ignoreInputTextSelection = !0), void 0 === T.mirrorContainer && (T.mirrorContainer = j.body); var C = M({ containers: T.containers, start: function (e) { var t = k(e); t && S(t) }, end: x, cancel: N, remove: I, destroy: function () { i(!0), O({}) }, canMove: function (e) { return !!k(e) }, dragging: !1 }); return !0 === T.removeOnSpill && C.on("over", function (e) { Y.rm(e, "gu-hide") }).on("out", function (e) { C.dragging && Y.add(e, "gu-hide") }), i(), C; function d(e) { return -1 !== C.containers.indexOf(e) || T.isContainer(e) } function i(e) { var t = e ? "remove" : "add"; R(F, t, "mousedown", l), R(F, t, "mouseup", O) } function s(e) { R(F, e ? "remove" : "add", "mousemove", f) } function u(e) { var t = e ? "remove" : "add"; X[t](F, "selectstart", r), X[t](F, "click", r) } function r(e) { c && e.preventDefault() } function l(e) { if (o = e.clientX, a = e.clientY, !(1 !== U(e) || e.metaKey || e.ctrlKey)) { var t = e.target, n = k(t); n && (c = n, s(), "mousedown" === e.type && (Q(t) ? t.focus() : e.preventDefault())) } } function f(e) { if (c) if (0 !== U(e)) { if (void 0 === e.clientX || e.clientX !== o || void 0 === e.clientY || e.clientY !== a) { if (T.ignoreInputTextSelection) { var t = ee("clientX", e), n = ee("clientY", e); if (Q(j.elementFromPoint(t, n))) return } var i = c; s(!0), u(), x(), S(i); var r = function (e) { var t = e.getBoundingClientRect(); return { left: t.left + K("scrollLeft", "pageXOffset"), top: t.top + K("scrollTop", "pageYOffset") } }(m); h = ee("pageX", e) - r.left, g = ee("pageY", e) - r.top, Y.add(w || m, "gu-transit"), function () { if (p) return; var e = m.getBoundingClientRect(); (p = m.cloneNode(!0)).style.width = $(e) + "px", p.style.height = G(e) + "px", Y.rm(p, "gu-transit"), Y.add(p, "gu-mirror"), T.mirrorContainer.appendChild(p), R(F, "add", "mousemove", P), Y.add(T.mirrorContainer, "gu-unselectable"), C.emit("cloned", p, m, "mirror") }(), P(e) } } else O({}) } function k(e) { if (!(C.dragging && p || d(e))) { for (var t = e; J(e) && !1 === d(J(e));) { if (T.invalid(e, t)) return; if (!(e = J(e))) return } var n = J(e); if (n) if (!T.invalid(e, t)) if (T.moves(e, n, t, Z(e))) return { item: e, source: n } } } function S(e) { !function (e, t) { return "boolean" == typeof T.copy ? T.copy : T.copy(e, t) }(e.item, e.source) || (w = e.item.cloneNode(!0), C.emit("cloned", w, e.item, "copy")), v = e.source, m = e.item, b = y = Z(e.item), C.dragging = !0, C.emit("drag", m, v) } function x() { if (C.dragging) { var e = w || m; B(e, J(e)) } } function L() { s(!(c = !1)), u(!0) } function O(e) { if (L(), C.dragging) { var t = w || m, n = ee("clientX", e), i = ee("clientY", e), r = H(z(p, n, i), n, i); r && (w && T.copySortSource || !w || r !== v) ? B(t, r) : T.removeOnSpill ? I() : N() } } function B(e, t) { var n = J(e); w && T.copySortSource && t === v && n.removeChild(m), A(t) ? C.emit("cancel", e, v, v) : C.emit("drop", e, t, v, y), _() } function I() { if (C.dragging) { var e = w || m, t = J(e); t && t.removeChild(e), C.emit(w ? "cancel" : "remove", e, t, v), _() } } function N(e) { if (C.dragging) { var t = 0 < arguments.length ? e : T.revertOnSpill, n = w || m, i = J(n), r = A(i); !1 === r && t && (w ? i && i.removeChild(w) : v.insertBefore(n, b)), r || t ? C.emit("cancel", n, v, v) : C.emit("drop", n, i, v, y), _() } } function _() { var e = w || m; L(), p && (Y.rm(T.mirrorContainer, "gu-unselectable"), R(F, "remove", "mousemove", P), J(p).removeChild(p), p = null), e && Y.rm(e, "gu-transit"), n && clearTimeout(n), C.dragging = !1, E && C.emit("out", e, E, v), C.emit("dragend", e), v = m = w = b = y = n = E = null } function A(e, t) { var n; return n = void 0 !== t ? t : p ? y : Z(w || m), e === v && n === b } function H(n, i, r) { for (var o = n; o && !e();)o = J(o); return o; function e() { if (!1 === d(o)) return !1; var e = q(o, n), t = D(o, e, i, r); return !!A(o, t) || T.accepts(m, o, v, t) } } function P(e) { if (p) { e.preventDefault(); var t = ee("clientX", e), n = ee("clientY", e), i = t - h, r = n - g; p.style.left = i + "px", p.style.top = r + "px"; var o = w || m, a = z(p, t, n), c = H(a, t, n), d = null !== c && c !== E; !d && null !== c || (E && f("out"), E = c, d && f("over")); var s = J(o); if (c !== v || !w || T.copySortSource) { var u, l = q(c, a); if (null !== l) u = D(c, l, t, n); else { if (!0 !== T.revertOnSpill || w) return void (w && s && s.removeChild(o)); u = b, c = v } (null === u && d || u !== o && u !== Z(o)) && (y = u, c.insertBefore(o, u), C.emit("shadow", o, c, v)) } else s && s.removeChild(o) } function f(e) { C.emit(e, o, E, v) } } function q(e, t) { for (var n = t; n !== e && J(n) !== e;)n = J(n); return n === F ? null : n } function D(r, t, o, a) { var c = "horizontal" === T.direction; return t !== r ? function () { var e = t.getBoundingClientRect(); if (c) return n(o > e.left + $(e) / 2); return n(a > e.top + G(e) / 2) }() : function () { var e, t, n, i = r.children.length; for (e = 0; e < i; e++) { if (t = r.children[e], n = t.getBoundingClientRect(), c && n.left + n.width / 2 > o) return t; if (!c && n.top + n.height / 2 > a) return t } return null }(); function n(e) { return e ? Z(t) : t } } } }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, { "./classes": 8, "contra/emitter": 4, crossvent: 5 }], 10: [function (e, t, n) { var i, r, o = t.exports = {}; function a() { throw new Error("setTimeout has not been defined") } function c() { throw new Error("clearTimeout has not been defined") } function d(t) { if (i === setTimeout) return setTimeout(t, 0); if ((i === a || !i) && setTimeout) return i = setTimeout, setTimeout(t, 0); try { return i(t, 0) } catch (e) { try { return i.call(null, t, 0) } catch (e) { return i.call(this, t, 0) } } } !function () { try { i = "function" == typeof setTimeout ? setTimeout : a } catch (e) { i = a } try { r = "function" == typeof clearTimeout ? clearTimeout : c } catch (e) { r = c } }(); var s, u = [], l = !1, f = -1; function p() { l && s && (l = !1, s.length ? u = s.concat(u) : f = -1, u.length && v()) } function v() { if (!l) { var e = d(p); l = !0; for (var t = u.length; t;) { for (s = u, u = []; ++f < t;)s && s[f].run(); f = -1, t = u.length } s = null, l = !1, function (t) { if (r === clearTimeout) return clearTimeout(t); if ((r === c || !r) && clearTimeout) return r = clearTimeout, clearTimeout(t); try { r(t) } catch (e) { try { return r.call(null, t) } catch (e) { return r.call(this, t) } } }(e) } } function m(e, t) { this.fun = e, this.array = t } function h() { } o.nextTick = function (e) { var t = new Array(arguments.length - 1); if (1 < arguments.length) for (var n = 1; n < arguments.length; n++)t[n - 1] = arguments[n]; u.push(new m(e, t)), 1 !== u.length || l || d(v) }, m.prototype.run = function () { this.fun.apply(null, this.array) }, o.title = "browser", o.browser = !0, o.env = {}, o.argv = [], o.version = "", o.versions = {}, o.on = h, o.addListener = h, o.once = h, o.off = h, o.removeListener = h, o.removeAllListeners = h, o.emit = h, o.prependListener = h, o.prependOnceListener = h, o.listeners = function (e) { return [] }, o.binding = function (e) { throw new Error("process.binding is not supported") }, o.cwd = function () { return "/" }, o.chdir = function (e) { throw new Error("process.chdir is not supported") }, o.umask = function () { return 0 } }, {}], 11: [function (e, n, t) { (function (t) { var e; e = "function" == typeof t ? function (e) { t(e) } : function (e) { setTimeout(e, 0) }, n.exports = e }).call(this, e("timers").setImmediate) }, { timers: 12 }], 12: [function (d, e, s) { (function (e, t) { var i = d("process/browser.js").nextTick, n = Function.prototype.apply, r = Array.prototype.slice, o = {}, a = 0; function c(e, t) { this._id = e, this._clearFn = t } s.setTimeout = function () { return new c(n.call(setTimeout, window, arguments), clearTimeout) }, s.setInterval = function () { return new c(n.call(setInterval, window, arguments), clearInterval) }, s.clearTimeout = s.clearInterval = function (e) { e.close() }, c.prototype.unref = c.prototype.ref = function () { }, c.prototype.close = function () { this._clearFn.call(window, this._id) }, s.enroll = function (e, t) { clearTimeout(e._idleTimeoutId), e._idleTimeout = t }, s.unenroll = function (e) { clearTimeout(e._idleTimeoutId), e._idleTimeout = -1 }, s._unrefActive = s.active = function (e) { clearTimeout(e._idleTimeoutId); var t = e._idleTimeout; 0 <= t && (e._idleTimeoutId = setTimeout(function () { e._onTimeout && e._onTimeout() }, t)) }, s.setImmediate = "function" == typeof e ? e : function (e) { var t = a++, n = !(arguments.length < 2) && r.call(arguments, 1); return o[t] = !0, i(function () { o[t] && (n ? e.apply(null, n) : e.call(null), s.clearImmediate(t)) }), t }, s.clearImmediate = "function" == typeof t ? t : function (e) { delete o[e] } }).call(this, d("timers").setImmediate, d("timers").clearImmediate) }, { "process/browser.js": 10, timers: 12 }] }, {}, [1]);