FrameUi/1.0/incs/tippy/tippy.js

(开头部分) 34KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

!function (e, t) { "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : e.Tippy = t() }(this, function () { "use strict"; function e(e) { var t = !1, n = 0, i = document.createElement("span"); return new MutationObserver(function () { e(), t = !1 }).observe(i, { attributes: !0 }), function () { t || (t = !0, i.setAttribute("x-index", n), n += 1) } } function t(e) { var t = !1; return function () { t || (t = !0, setTimeout(function () { t = !1, e() }, ye)) } } function n(e) { return "" !== e && !isNaN(parseFloat(e)) && isFinite(e) } function i(e, t) { Object.keys(t).forEach(function (i) { var r = ""; -1 !== ["width", "height", "top", "right", "bottom", "left"].indexOf(i) && n(t[i]) && (r = "px"), e.style[i] = t[i] + r }) } function r(e) { for (var t = [!1, "ms", "webkit", "moz", "o"], n = e.charAt(0).toUpperCase() + e.slice(1), i = 0; i < t.length - 1; i++) { var r = t[i], o = r ? "" + r + n : e; if (void 0 !== window.document.body.style[o]) return o } return null } function o(e) { var t = e.nodeName; return "BODY" !== t && ("HTML" === t || e.firstElementChild.offsetParent === e) } function s(e) { return null !== e.parentNode ? s(e.parentNode) : e } function a(e) { var t = e && e.offsetParent, n = t && t.nodeName; return n && "BODY" !== n && "HTML" !== n ? t : window.document.documentElement } function p(e, t) { if (!(e && e.nodeType && t && t.nodeType)) return window.document.documentElement; var n = e.compareDocumentPosition(t) & Node.DOCUMENT_POSITION_FOLLOWING, i = n ? e : t, r = n ? t : e, l = document.createRange(); l.setStart(i, 0), l.setEnd(r, 0); var f = l.commonAncestorContainer; if (e !== f && t !== f || i.contains(r)) return o(f) ? f : a(f); var d = s(e); return d.host ? p(d.host, t) : p(e, s(t).host) } function l(e, t) { if (1 !== e.nodeType) return []; var n = window.getComputedStyle(e, null); return t ? n[t] : n } function f(e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "top", n = "top" === t ? "scrollTop" : "scrollLeft", i = e.nodeName; if ("BODY" === i || "HTML" === i) { var r = window.document.documentElement; return (window.document.scrollingElement || r)[n] } return e[n] } function d(e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], i = f(t, "top"), r = f(t, "left"), o = n ? -1 : 1; return e.top += i * o, e.bottom += i * o, e.left += r * o, e.right += r * o, e } function c(e) { return "HTML" === e.nodeName ? e : e.parentNode || e.host } function u(e) { if (!e || -1 !== ["HTML", "BODY", "#document"].indexOf(e.nodeName)) return window.document.body; var t = l(e), n = t.overflow, i = t.overflowX; return /(auto|scroll)/.test(n + t.overflowY + i) ? e : u(c(e)) } function h(e, t) { var n = "x" === t ? "Left" : "Top", i = "Left" === n ? "Right" : "Bottom"; return +e["border" + n + "Width"].split("px")[0] + +e["border" + i + "Width"].split("px")[0] } function m() { var e = window.document.body, t = window.document.documentElement; return { height: Math.max(e.scrollHeight, e.offsetHeight, t.clientHeight, t.scrollHeight, t.offsetHeight), width: Math.max(e.scrollWidth, e.offsetWidth, t.clientWidth, t.scrollWidth, t.offsetWidth) } } function v(e) { return ke({}, e, { right: e.left + e.width, bottom: e.top + e.height }) } function g(e) { var t = {}; if (Me()) try { t = e.getBoundingClientRect(); var n = f(e, "top"), i = f(e, "left"); t.top += n, t.left += i, t.bottom += n, t.right += i } catch (e) { } else t = e.getBoundingClientRect(); var r = { left: t.left, top: t.top, width: t.right - t.left, height: t.bottom - t.top }, o = "HTML" === e.nodeName ? m() : {}, s = o.width || e.clientWidth || r.right - r.left, a = o.height || e.clientHeight || r.bottom - r.top, p = e.offsetWidth - s, d = e.offsetHeight - a; if (p || d) { var c = l(e); p -= h(c, "x"), d -= h(c, "y"), r.width -= p, r.height -= d } return v(r) } function b(e, t) { var n = Me(), i = "HTML" === t.nodeName, r = g(e), o = g(t), s = u(e), a = v({ top: r.top - o.top, left: r.left - o.left, width: r.width, height: r.height }); if (i || "BODY" === t.nodeName) { var p = l(t), f = n && i ? 0 : +p.borderTopWidth.split("px")[0], c = n && i ? 0 : +p.borderLeftWidth.split("px")[0], h = n && i ? 0 : +p.marginTop.split("px")[0], m = n && i ? 0 : +p.marginLeft.split("px")[0]; a.top -= f - h, a.bottom -= f - h, a.left -= c - m, a.right -= c - m, a.marginTop = h, a.marginLeft = m } return t.contains(s) && (n || "BODY" !== s.nodeName) && (a = d(a, t)), a } function w(e, t, n) { return b(n, p(t, n)) } function y(e) { var t = window.getComputedStyle(e), n = parseFloat(t.marginTop) + parseFloat(t.marginBottom), i = parseFloat(t.marginLeft) + parseFloat(t.marginRight); return { width: e.offsetWidth + i, height: e.offsetHeight + n } } function E(e) { var t = { left: "right", right: "left", bottom: "top", top: "bottom" }; return e.replace(/left|right|bottom|top/g, function (e) { return t[e] }) } function O(e, t, n, i) { i = i.split("-")[0]; var r = y(t), o = { position: e, width: r.width, height: r.height }, s = -1 !== ["right", "left"].indexOf(i), a = s ? "top" : "left", p = s ? "left" : "top", l = s ? "height" : "width", f = s ? "width" : "height"; return o[a] = n[a] + n[l] / 2 - r[l] / 2, o[p] = i === p ? n[p] - r[f] : n[E(p)], o } function x(e) { var t = {}; return e && "[object Function]" === t.toString.call(e) } function L(e, t, n, i) { var r = "BODY" === e.nodeName, o = r ? window : e; o.addEventListener(t, n, { passive: !0 }), r || L(u(o.parentNode), t, n, i), i.push(o) } function T(e, t, n, i) { n.updateBound = i, window.addEventListener("resize", n.updateBound, { passive: !0 }); var r = u(e); return L(r, "scroll", n.updateBound, n.scrollParents), n.scrollElement = r, n.eventsEnabled = !0, n } function A(e, t) { return window.removeEventListener("resize", t.updateBound), t.scrollParents.forEach(function (e) { e.removeEventListener("scroll", t.updateBound) }), t.updateBound = null, t.scrollParents = [], t.scrollElement = null, t.eventsEnabled = !1, t } function k(e, t) { return Array.prototype.find ? e.find(t) : e.filter(t)[0] } function C(e, t, n) { if (Array.prototype.findIndex) return e.findIndex(function (e) { return e[t] === n }); var i = k(e, function (e) { return e[t] === n }); return e.indexOf(i) } function M(e, t, n) { return (void 0 === n ? e : e.slice(0, C(e, "name", n))).forEach(function (e) { e.function && console.warn("`modifier.function` is deprecated, use `modifier.fn`!"); var n = e.function || e.fn; e.enabled && x(n) && (t = n(t, e)) }), t } function S(e, t) { return e.some(function (e) { var n = e.name; return e.enabled && n === t }) } function H(e) { var t = window.document.documentElement, n = b(e, t), i = Math.max(t.clientWidth, window.innerWidth || 0), r = Math.max(t.clientHeight, window.innerHeight || 0), o = f(t), s = f(t, "left"); return v({ top: o - n.top + n.marginTop, left: s - n.left + n.marginLeft, width: i, height: r }) } function D(e) { var t = e.nodeName; return "BODY" !== t && "HTML" !== t && ("fixed" === l(e, "position") || D(c(e))) } function I(e, t, n, i) { var r = { top: 0, left: 0 }, o = p(e, t); if ("viewport" === i) r = H(o); else { var s = void 0; "scrollParent" === i ? (s = u(c(e)), "BODY" === s.nodeName && (s = window.document.documentElement)) : s = "window" === i ? window.document.documentElement : i; var a = b(s, o); if ("HTML" !== s.nodeName || D(o)) r = a; else { var l = m(), f = l.height, d = l.width; r.top += a.top - a.marginTop, r.bottom = f + a.top, r.left += a.left - a.marginLeft, r.right = d + a.left } } return r.left += n, r.top += n, r.right -= n, r.bottom -= n, r } function N(e, t, n, i, r) { if (-1 === e.indexOf("auto")) return e; var o = I(n, i, 0, r), s = { top: t.top - o.top, right: o.right - t.right, bottom: o.bottom - t.bottom, left: t.left - o.left }, a = Object.keys(s).sort(function (e, t) { return s[t] - s[e] })[0], p = e.split("-")[1]; return a + (p ? "-" + p : "") } function W(e, t) { Object.keys(t).forEach(function (n) { !1 !== t[n] ? e.setAttribute(n, t[n]) : e.removeAttribute(n) }) } function B(e, t) { var n = { position: e.offsets.popper.position }, o = { "x-placement": e.placement }, s = Math.round(e.offsets.popper.left), a = Math.round(e.offsets.popper.top), p = r("transform"); return t.gpuAcceleration && p ? (n[p] = "translate3d(" + s + "px, " + a + "px, 0)", n.top = 0, n.left = 0, n.willChange = "transform") : (n.left = s, n.top = a, n.willChange = "top, left"), i(e.instance.popper, ke({}, n, e.styles)), W(e.instance.popper, ke({}, o, e.attributes)), e.offsets.arrow && i(e.arrowElement, e.offsets.arrow), e } function F(e, t, n, i, r) { var o = w(r, t, e), s = N(n.placement, o, t, e, n.modifiers.flip.boundariesElement); return t.setAttribute("x-placement", s), n } function P(e, t, n) { var i = k(e, function (e) { return e.name === t }), r = !!i && e.some(function (e) { return e.name === n && e.enabled && e.order < i.order }); if (!r) { var o = "`" + t + "`", s = "`" + n + "`"; console.warn(s + " modifier is required by " + o + " modifier in order to work, be sure to include it before " + o + "!") } return r } function U(e, t) { if (!P(e.instance.modifiers, "arrow", "keepTogether")) return e; var n = t.element; if ("string" == typeof n) { if (!(n = e.instance.popper.querySelector(n))) return e } else if (!e.instance.popper.contains(n)) return console.warn("WARNING: `arrow.element` must be child of its popper element!"), e; var i = e.placement.split("-")[0], r = v(e.offsets.popper), o = e.offsets.reference, s = -1 !== ["left", "right"].indexOf(i), a = s ? "height" : "width", p = s ? "top" : "left", l = s ? "left" : "top", f = s ? "bottom" : "right", d = y(n)[a]; o[f] - d < r[p] && (e.offsets.popper[p] -= r[p] - (o[f] - d)), o[p] + d > r[f] && (e.offsets.popper[p] += o[p] + d - r[f]); var c = o[p] + o[a] / 2 - d / 2, u = c - v(e.offsets.popper)[p]; return u = Math.max(Math.min(r[a] - d, u), 0), e.arrowElement = n, e.offsets.arrow = {}, e.offsets.arrow[p] = u, e.offsets.arrow[l] = "", e } function j(e) { return "end" === e ? "start" : "start" === e ? "end" : e } function q(e) { var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], n = He.indexOf(e), i = He.slice(n + 1).concat(He.slice(0, n)); return t ? i.reverse() : i } function Y(e, t) { if (S(e.instance.modifiers, "inner")) return e; if (e.flipped && e.placement === e.originalPlacement) return e; var n = I(e.instance.popper, e.instance.reference, t.padding, t.boundariesElement), i = e.placement.split("-")[0], r = E(i), o = e.placement.split("-")[1] || "", s = []; switch (t.behavior) { case De.FLIP: s = [i, r]; break; case De.CLOCKWISE: s = q(i); break; case De.COUNTERCLOCKWISE: s = q(i, !0); break; default: s = t.behavior }return s.forEach(function (a, p) { if (i !== a || s.length === p + 1) return e; i = e.placement.split("-")[0], r = E(i); var l = v(e.offsets.popper), f = e.offsets.reference, d = Math.floor, c = "left" === i && d(l.right) > d(f.left) || "right" === i && d(l.left) < d(f.right) || "top" === i && d(l.bottom) > d(f.top) || "bottom" === i && d(l.top) < d(f.bottom), u = d(l.left) < d(n.left), h = d(l.right) > d(n.right), m = d(l.top) < d(n.top), g = d(l.bottom) > d(n.bottom), b = "left" === i && u || "right" === i && h || "top" === i && m || "bottom" === i && g, w = -1 !== ["top", "bottom"].indexOf(i), y = !!t.flipVariations && (w && "start" === o && u || w && "end" === o && h || !w && "start" === o && m || !w && "end" === o && g); (c || b || y) && (e.flipped = !0, (c || b) && (i = s[p + 1]), y && (o = j(o)), e.placement = i + (o ? "-" + o : ""), e.offsets.popper = O(e.instance.state.position, e.instance.popper, e.offsets.reference, e.placement), e = M(e.instance.modifiers, e, "flip")) }), e } function R(e) { var t = v(e.offsets.popper), n = e.offsets.reference, i = e.placement.split("-")[0], r = Math.floor, o = -1 !== ["top", "bottom"].indexOf(i), s = o ? "right" : "bottom", a = o ? "left" : "top", p = o ? "width" : "height"; return t[s] < r(n[a]) && (e.offsets.popper[a] = r(n[a]) - t[p]), t[a] > r(n[s]) && (e.offsets.popper[a] = r(n[s])), e } function z(e, t, n, i) { var r = e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/), o = +r[1], s = r[2]; if (!o) return e; if (0 === s.indexOf("%")) { var a = void 0; switch (s) { case "%p": a = n; break; case "%": case "%r": default: a = i }return v(a)[t] / 100 * o } if ("vh" === s || "vw" === s) { return ("vh" === s ? Math.max(document.documentElement.clientHeight, window.innerHeight || 0) : Math.max(document.documentElement.clientWidth, window.innerWidth || 0)) / 100 * o } return o } function _(e, t, i, r) { var o = [0, 0], s = -1 !== ["right", "left"].indexOf(r), a = e.split(/(\+|\-)/).map(function (e) { return e.trim() }), p = a.indexOf(k(a, function (e) { return -1 !== e.search(/,|\s/) })); a[p] && -1 === a[p].indexOf(",") && console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead."); var l = -1 !== p ? [a.slice(0, p).concat([a[p].split(/\s*,\s*|\s+/)[0]]), [a[p].split(/\s*,\s*|\s+/)[1]].concat(a.slice(p + 1))] : [a]; return l = l.map(function (e, n) { var r = (1 === n ? !s : s) ? "height" : "width", o = !1; return e.reduce(function (e, t) { return "" === e[e.length - 1] && -1 !== ["+", "-"].indexOf(t) ? (e[e.length - 1] = t, o = !0, e) : o ? (e[e.length - 1] += t, o = !1, e) : e.concat(t) }, []).map(function (e) { return z(e, r, t, i) }) }), l.forEach(function (e, t) { e.forEach(function (i, r) { n(i) && (o[t] += i * ("-" === e[r - 1] ? -1 : 1)) }) }), o } function X(e, t) { var i = t.offset, r = e.placement, o = e.offsets, s = o.popper, a = o.reference, p = r.split("-")[0], l = void 0; return l = n(+i) ? [+i, 0] : _(i, s, a, p), "left" === p ? (s.top += l[0], s.left -= l[1]) : "right" === p ? (s.top += l[0], s.left += l[1]) : "top" === p ? (s.left += l[0], s.top -= l[1]) : "bottom" === p && (s.left += l[0], s.top += l[1]), e.popper = s, e } function K(e, t) { var n = t.boundariesElement || a(e.instance.popper), i = I(e.instance.popper, e.instance.reference, t.padding, n); t.boundaries = i; var r = t.priority, o = v(e.offsets.popper), s = { primary: function (e) { var n = o[e]; return o[e] < i[e] && !t.escapeWithReference && (n = Math.max(o[e], i[e])), Ae({}, e, n) }, secondary: function (e) { var n = "right" === e ? "left" : "top", r = o[n]; return o[e] > i[e] && !t.escapeWithReference && (r = Math.min(o[n], i[e] - ("right" === e ? o.width : o.height))), Ae({}, n, r) } }; return r.forEach(function (e) { var t = -1 !== ["left", "top"].indexOf(e) ? "primary" : "secondary"; o = ke({}, o, s[t](e)) }), e.offsets.popper = o, e } function G(e) { var t = e.placement, n = t.split("-")[0], i = t.split("-")[1]; if (i) { var r = e.offsets.reference, o = v(e.offsets.popper), s = -1 !== ["bottom", "top"].indexOf(n), a = s ? "left" : "top", p = s ? "width" : "height", l = { start: Ae({}, a, r[a]), end: Ae({}, a, r[a] + r[p] - o[p]) }; e.offsets.popper = ke({}, o, l[i]) } return e } function J(e) { if (!P(e.instance.modifiers, "hide", "preventOverflow")) return e; var t = e.offsets.reference, n = k(e.instance.modifiers, function (e) { return "preventOverflow" === e.name }).boundaries; if (t.bottom < n.top || t.left > n.right || t.top > n.bottom || t.right < n.left) { if (!0 === e.hide) return e; e.hide = !0, e.attributes["x-out-of-boundaries"] = "" } else { if (!1 === e.hide) return e; e.hide = !1, e.attributes["x-out-of-boundaries"] = !1 } return e } function V(e) { var t = e.placement, n = t.split("-")[0], i = v(e.offsets.popper), r = v(e.offsets.reference), o = -1 !== ["left", "right"].indexOf(n), s = -1 === ["top", "left"].indexOf(n); return i[o ? "left" : "top"] = r[t] - (s ? i[o ? "width" : "height"] : 0), e.placement = E(t), e.offsets.popper = v(i), e } function Q() { Ue.touchUser = !0, /(iPad|iPhone|iPod)/g.test(navigator.userAgent) && !window.MSStream && document.body.classList.add("tippy-touch"), document.removeEventListener("touchstart", Q) } function Z(e) { var t = te(e.target, Re.el), n = te(e.target, Re.popper); if (n) { if (je.refs[je.poppers.indexOf(n)].settings.interactive) return } if (t) { var i = je.refs[je.els.indexOf(t)]; if (!0 !== i.settings.hideOnClick || Ue.touchUser || clearTimeout(i.popper.getAttribute("data-delay")), !i.settings.multiple && Ue.touchUser || !i.settings.multiple && -1 !== i.settings.trigger.indexOf("click")) return ve(i); if (!0 !== i.settings.hideOnClick || -1 !== i.settings.trigger.indexOf("click")) return } !te(e.target, Re.controller) && document.body.querySelector(Re.popper) && ve() } function $(e) { for (var t = [!1, "webkit"], n = e.charAt(0).toUpperCase() + e.slice(1), i = 0; i < t.length; i++) { var r = t[i], o = r ? "" + r + n : e; if (void 0 !== window.document.body.style[o]) return o } return null } function ee(e) { return e.replace(/-.+/, "") } function te(e, t) { return Element.prototype.matches || (Element.prototype.matches = Element.prototype.matchesSelector || Element.prototype.webkitMatchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || function (e) { for (var t = (this.document || this.ownerDocument).querySelectorAll(e), n = t.length; --n >= 0 && t.item(n) !== this;); return n > -1 }), Element.prototype.closest || (Element.prototype.closest = function (e) { for (var t = this; t;) { if (t.matches(e)) return t; t = t.parentElement } }), e.closest(t) } function ne(e) { var t = e.settings, n = e.popper.querySelector(Re.tooltip), i = Pe({ placement: t.position }, t.popperOptions || {}, { modifiers: Pe({}, t.popperOptions ? t.popperOptions.modifiers : {}, { flip: Pe({ padding: parseInt(t.distance) + 5 }, t.popperOptions && t.popperOptions.modifiers ? t.popperOptions.modifiers.flip : {}), offset: Pe({ offset: parseInt(t.offset) }, t.popperOptions && t.popperOptions.modifiers ? t.popperOptions.modifiers.offset : {}) }), onUpdate: function () { n.style.top = "", n.style.bottom = "", n.style.left = "", n.style.right = "", n.style[ee(e.popper.getAttribute("x-placement"))] = -(t.distance - 10) + "px" } }); return new We(e.el, e.popper, i) } function ie(e, t, n) { var i = document.createElement("div"); i.setAttribute("class", "tippy-popper"), i.setAttribute("role", "tooltip"), i.setAttribute("aria-hidden", "true"), i.setAttribute("id", "tippy-tooltip-" + e); var r = document.createElement("div"); if (r.setAttribute("class", "tippy-tooltip tippy-tooltip--" + n.size + " " + n.theme + "-theme leave"), r.setAttribute("data-animation", n.animation), n.arrow) { var o = document.createElement("div"); o.setAttribute("class", "arrow-" + n.arrowSize), o.setAttribute("x-arrow", ""), r.appendChild(o) } if (n.animateFill) { r.setAttribute("data-animatefill", ""); var s = document.createElement("div"); s.setAttribute("class", "leave"), s.setAttribute("x-circle", ""), r.appendChild(s) } n.inertia && r.setAttribute("data-inertia", ""); var a = document.createElement("div"); if (a.setAttribute("class", "tippy-tooltip-content"), n.html) { var p = void 0; n.html instanceof Element ? (a.innerHTML = n.html.innerHTML, p = n.html.id || "tippy-html-template") : (a.innerHTML = document.getElementById(n.html.replace("#", "")).innerHTML, p = n.html), i.classList.add("html-template"), i.setAttribute("tabindex", "0"), r.setAttribute("data-template-id", p) } else a.innerHTML = t; return r.style[ee(n.position)] = -(n.distance - 10) + "px", r.appendChild(a), i.appendChild(r), i } function re(e, t, n) { var i = []; return "manual" === e ? i : (t.addEventListener(e, n.handleTrigger), i.push({ event: e, handler: n.handleTrigger }), "mouseenter" === e && (t.addEventListener("mouseleave", n.handleMouseleave), i.push({ event: "mouseleave", handler: n.handleMouseleave })), "focus" === e && (t.addEventListener("blur", n.handleBlur), i.push({ event: "blur", handler: n.handleBlur })), i) } function oe(e) { je.refs.push(e), je.els.push(e.el), je.poppers.push(e.popper) } function se(e) { var t = e.getAttribute("title"); e.setAttribute("data-original-title", t || "html"), e.removeAttribute("title") } function ae(e) { var t = e.getBoundingClientRect(); return t.top >= 0 && t.left >= 0 && t.bottom <= (window.innerHeight || document.documentElement.clientHeight) && t.right <= (window.innerWidth || document.documentElement.clientWidth) } function pe(e) { var t = je.refs[je.els.indexOf(this)], n = ee(t.popper.getAttribute("x-placement")), i = Math.round(t.popper.offsetWidth / 2), r = Math.round(t.popper.offsetHeight / 2), o = e.pageX - i, s = e.pageY - 2.5 * r; "left" === n ? (o = e.pageX - 2 * i - 15, s = e.pageY - r) : "right" === n ? (o = e.pageX + r, s = e.pageY - r) : "bottom" === n && (s = e.pageY + r / 1.5), t.popper.style[$("transform")] = "translate3d(" + o + "px, " + s + "px, 0)" } function le(e, t) { t ? window.getComputedStyle(t)[$("transform")] : window.getComputedStyle(e).opacity } function fe(e, t) { e.forEach(function (e) { e && t(e.classList) }) } function de(e, t) { e.forEach(function (e) { e && (e.hasAttribute("x-circle") && (t /= 1.25), e.style[$("transitionDuration")] = t + "ms") }) } function ce(e, t) { setTimeout(function () { var n = e.settings.position !== e.popper.getAttribute("x-placement"); !e.flipped && n ? (e.flipped = !0, t()) : e.flipped && !n && (e.flipped = !1, t()) }, 0) } function ue(e, t, n) { var i = e.popper.querySelector(Re.tooltip), r = !1, o = function e(t) { t.target === i && (r = !0, i.removeEventListener("webkitTransitionEnd", e), i.removeEventListener("transitionend", e), n()) }; i.addEventListener("webkitTransitionEnd", o), i.addEventListener("transitionend", o), clearTimeout(e.transitionendTimeout), e.transitionendTimeout = setTimeout(function () { r || n() }, t) } function he(e, t) { var n = e.style.visibility; return "show" === t ? "visible" === n : "hidden" === n } function me(e) { if (document.body.appendChild(e.popper), e.popperInstance) { e.popperInstance.update(); var t = 0; !function n() { setTimeout(function () { e.popperInstance.scheduleUpdate(), t < 50 && window.innerWidth <= e.popper.getBoundingClientRect().right && n() }, 0), t++ }(), e.settings.followCursor || e.popperInstance.enableEventListeners() } else e.popperInstance = ne(e), e.settings.followCursor && !Ue.touchUser && (e.el.addEventListener("mousemove", pe), e.popperInstance.disableEventListeners()) } function ve(e) { je.refs.forEach(function (t) { if (document.body.contains(t.popper)) { var n = !0 === t.settings.hideOnClick, i = !e || t.popper !== e.popper; n && i && t.tippyInstance.hide(t.popper, t.settings.hideDuration) } }) } for (var ge = ["native code", "[object MutationObserverConstructor]"], be = "undefined" != typeof window, we = ["Edge", "Trident", "Firefox"], ye = 0, Ee = 0; Ee < we.length; Ee += 1)if (be && navigator.userAgent.indexOf(we[Ee]) >= 0) { ye = 1; break } var Oe = be && function (e) { return ge.some(function (t) { return (e || "").toString().indexOf(t) > -1 }) }(window.MutationObserver), xe = Oe ? e : t, Le = function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }, Te = function () { function e(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t } }(), Ae = function (e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e }, ke = Object.assign || function (e) { for (var t = 1; t < arguments.length; t++) { var n = arguments[t]; for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (e[i] = n[i]) } return e }, Ce = void 0, Me = function () { return void 0 === Ce && (Ce = -1 !== navigator.appVersion.indexOf("MSIE 10")), Ce }, Se = ["auto-start", "auto", "auto-end", "top-start", "top", "top-end", "right-start", "right", "right-end", "bottom-end", "bottom", "bottom-start", "left-end", "left", "left-start"], He = Se.slice(3), De = { FLIP: "flip", CLOCKWISE: "clockwise", COUNTERCLOCKWISE: "counterclockwise" }, Ie = { shift: { order: 100, enabled: !0, fn: G }, offset: { order: 200, enabled: !0, fn: X, offset: 0 }, preventOverflow: { order: 300, enabled: !0, fn: K, priority: ["left", "right", "top", "bottom"], padding: 5, boundariesElement: "scrollParent" }, keepTogether: { order: 400, enabled: !0, fn: R }, arrow: { order: 500, enabled: !0, fn: U, element: "[x-arrow]" }, flip: { order: 600, enabled: !0, fn: Y, behavior: "flip", padding: 5, boundariesElement: "viewport" }, inner: { order: 700, enabled: !1, fn: V }, hide: { order: 800, enabled: !0, fn: J }, applyStyle: { order: 900, enabled: !0, fn: B, onLoad: F, gpuAcceleration: !0 } }, Ne = { placement: "bottom", eventsEnabled: !0, removeOnDestroy: !1, onCreate: function () { }, onUpdate: function () { }, modifiers: Ie }, We = function () { function e(t, n) { var r = this, o = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; Le(this, e), this.scheduleUpdate = function () { return requestAnimationFrame(r.update) }, this.update = xe(this.update.bind(this)), this.options = ke({}, e.Defaults, o), this.state = { isDestroyed: !1, isCreated: !1, scrollParents: [] }, this.reference = t.jquery ? t[0] : t, this.popper = n.jquery ? n[0] : n, i(this.popper, { position: "absolute" }), this.modifiers = Object.keys(e.Defaults.modifiers).map(function (t) { return ke({ name: t }, e.Defaults.modifiers[t]) }), this.modifiers = this.modifiers.map(function (e) { var t = o.modifiers && o.modifiers[e.name] || {}; return ke({}, e, t) }), o.modifiers && (this.options.modifiers = ke({}, e.Defaults.modifiers, o.modifiers), Object.keys(o.modifiers).forEach(function (t) { if (void 0 === e.Defaults.modifiers[t]) { var n = o.modifiers[t]; n.name = t, r.modifiers.push(n) } })), this.modifiers = this.modifiers.sort(function (e, t) { return e.order - t.order }), this.modifiers.forEach(function (e) { e.enabled && x(e.onLoad) && e.onLoad(r.reference, r.popper, r.options, e, r.state) }), this.update(); var s = this.options.eventsEnabled; s && this.enableEventListeners(), this.state.eventsEnabled = s } return Te(e, [{ key: "update", value: function () { if (!this.state.isDestroyed) { var e = { instance: this, styles: {}, attributes: {}, flipped: !1, offsets: {} }; e.offsets.reference = w(this.state, this.popper, this.reference), e.placement = N(this.options.placement, e.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement), e.originalPlacement = e.placement, e.offsets.popper = O(this.state, this.popper, e.offsets.reference, e.placement), e.offsets.popper.position = "absolute", e = M(this.modifiers, e), this.state.isCreated ? this.options.onUpdate(e) : (this.state.isCreated = !0, this.options.onCreate(e)) } } }, { key: "destroy", value: function () { return this.state.isDestroyed = !0, S(this.modifiers, "applyStyle") && (this.popper.removeAttribute("x-placement"), this.popper.style.left = "", this.popper.style.position = "", this.popper.style.top = "", this.popper.style[r("transform")] = ""), this.disableEventListeners(), this.options.removeOnDestroy && this.popper.parentNode.removeChild(this.popper), this } }, { key: "enableEventListeners", value: function () { this.state.eventsEnabled || (this.state = T(this.reference, this.options, this.state, this.scheduleUpdate)) } }, { key: "disableEventListeners", value: function () { this.state.eventsEnabled && (window.cancelAnimationFrame(this.scheduleUpdate), this.state = A(this.reference, this.state)) } }]), e }(); We.Utils = ("undefined" != typeof window ? window : global).PopperUtils, We.placements = Se, We.Defaults = Ne; var Be = function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }, Fe = function () { function e(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t } }(), Pe = Object.assign || function (e) { for (var t = 1; t < arguments.length; t++) { var n = arguments[t]; for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (e[i] = n[i]) } return e }, Ue = { touchUser: !1, idCounter: 0 }, je = { refs: [], els: [], poppers: [] }, qe = { html: !1, position: "top", animation: "shift", animateFill: !0, arrow: !1, arrowSize: "regular", delay: 0, hideDelay: 0, trigger: "mouseenter focus", duration: 375, hideDuration: 375, interactive: !1, theme: "dark", size: "regular", distance: 10, offset: 0, hideOnClick: !0, multiple: !1, followCursor: !1, inertia: !1, transitionFlip: !0, popperOptions: {} }, Ye = Object.keys(qe), Re = { popper: ".tippy-popper", tooltip: ".tippy-tooltip", content: ".tippy-tooltip-content", circle: "[x-circle]", arrow: "[x-arrow]", el: "[data-tooltipped]", controller: "[data-tippy-controller]" }; return document.addEventListener && (document.addEventListener("click", Z), document.addEventListener("touchstart", Q)), function () { function e(t) { var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; if (Be(this, e), "addEventListener" in window && !/MSIE 9/i.test(navigator.userAgent) && !window.operamini) { this.settings = Pe(JSON.parse(JSON.stringify(qe)), n), this.callbacks = { wait: n.wait, beforeShown: n.beforeShown || new Function, shown: n.shown || new Function, beforeHidden: n.beforeHidden || new Function, hidden: n.hidden || new Function }; var i = t instanceof Element ? [t] : [].slice.call(document.querySelectorAll(t)); this._createTooltips(i) } } return Fe(e, [{ key: "_applyIndividualSettings", value: function (e) { var t = this, n = {}; return Ye.forEach(function (i) { var r = e.getAttribute("data-" + i.toLowerCase()) || t.settings[i]; "false" === r && (r = !1), n[i] = r }), n.arrow && (n.animateFill = !1), Pe({}, this.settings, n) } }, { key: "_getEventListenerHandlers", value: function (e, t, n) { var i = this, r = function () { clearTimeout(t.getAttribute("data-delay")), clearTimeout(t.getAttribute("data-hidedelay")) }, o = function () { if (r(), "visible" !== t.style.visibility) if (n.delay) { var e = setTimeout(function () { return i.show(t, n.duration) }, n.delay); t.setAttribute("data-delay", e) } else i.show(t, n.duration) }, s = function (e) { return i.callbacks.wait ? i.callbacks.wait(o, e) : o() }, a = function () { if (r(), n.hideDelay) { var e = setTimeout(function () { return i.hide(t, n.hideDuration) }, n.hideDelay); t.setAttribute("data-hidedelay", e) } else i.hide(t, n.hideDuration) }; return { handleTrigger: function (e) { var i = "click" === e.type, r = "visible" === t.style.visibility, o = "persistent" !== n.hideOnClick; i && r && o ? a() : s(e) }, handleMouseleave: function (i) { if (n.interactive) { var r = function i(r) { var o = te(r.target, Re.popper) === t, s = te(r.target, Re.el) === e, p = -1 !== n.trigger.indexOf("click"); if (!(o || s || p)) { var l = t.getBoundingClientRect(); Math.abs(r.clientY - l.bottom) >= 2 && Math.abs(r.clientY - l.top) >= 2 && Math.abs(r.clientX - l.left) >= 2 && Math.abs(r.clientX - l.right) >= 2 && (document.removeEventListener("mousemove", i), a()) } }; return document.addEventListener("mousemove", r) } a() }, handleBlur: function (e) { !Ue.touchUser && e.relatedTarget && (te(e.relatedTarget, Re.popper) || a()) } } } }, { key: "_createTooltips", value: function (t) { var n = this; t.forEach(function (e) { var t = n._applyIndividualSettings(e), i = e.title; if (i || t.html) { var r = Ue.idCounter; e.setAttribute("data-tooltipped", ""), e.setAttribute("aria-describedby", "tippy-tooltip-" + r), se(e); var o = ie(r, i, t), s = n._getEventListenerHandlers(e, o, t), a = []; t.trigger.trim().split(" ").forEach(function (t) { return a = a.concat(re(t, e, s)) }), oe({ id: r, el: e, popper: o, settings: t, listeners: a, tippyInstance: n }), Ue.idCounter++ } }), e.store = je } }, { key: "getPopperElement", value: function (e) { try { return je.refs[je.els.indexOf(e)].popper } catch (e) { throw new Error("[Tippy error]: Element does not exist in any Tippy instances") } } }, { key: "getTooltippedElement", value: function (e) { try { return je.refs[je.poppers.indexOf(e)].el } catch (e) { throw new Error("[Tippy error]: Popper does not exist in any Tippy instances") } } }, { key: "show", value: function (e) { var t = this, n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : this.settings.duration, i = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2], r = je.refs[je.poppers.indexOf(e)], o = e.querySelector(Re.tooltip), s = e.querySelector(Re.circle); i && (this.callbacks.beforeShown(), ce(r, function () { t.hide(e, 0, !1), setTimeout(function () { r.hidden || t.show(e, n, !1) }, 0) })), document.body.contains(e) || me(r), r.settings.interactive && r.el.classList.add("active"), r.hidden = !1, r.popper.style.visibility = "visible", r.popper.setAttribute("aria-hidden", "false"), le(o, s), fe([o, s], function (e) { e.remove("leave"), e.add("enter") }), de([o, s], n), ue(r, n, function () { he(e, "show") && !r.onShownFired && (r.settings.transitionFlip || o.classList.add("tippy-notransition"), r.settings.interactive && e.focus(), r.onShownFired = !0, i && t.callbacks.shown()) }) } }, { key: "hide", value: function (e) { var t = this, n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : this.settings.duration, i = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2], r = je.refs[je.poppers.indexOf(e)], o = e.querySelector(Re.tooltip), s = e.querySelector(Re.circle); e.querySelector(Re.content); i && (this.callbacks.beforeHidden(), r.hidden = !0, r.el.classList.remove("active"), r.onShownFired = !1, r.settings.transitionFlip || o.classList.remove("tippy-notransition"), r.flipped = r.settings.position !== e.getAttribute("x-placement")), e.style.visibility = "hidden", e.setAttribute("aria-hidden", "true"), n === qe.hideDuration ? n = parseInt(o.style[$("transitionDuration")]) : de([o, s], n), fe([o, s], function (e) { e.remove("enter"), e.add("leave") }), r.settings.html && -1 !== r.settings.trigger.indexOf("click") && ae(r.el) && r.el.focus(), ue(r, n, function () { he(e, "hide") && document.body.contains(e) && (r.popperInstance.disableEventListeners(), document.body.removeChild(e), i && t.callbacks.hidden()) }) } }, { key: "destroy", value: function (e) { var t = je.poppers.indexOf(e), n = je.refs[t]; n.listeners.forEach(function (e) { return n.el.removeEventListener(e.event, e.handler) }), n.el.removeAttribute("data-tooltipped"), n.el.removeAttribute("aria-describedby"), n.popperInstance && n.popperInstance.destroy(), je.refs.splice(t, 1), je.els.splice(t, 1), je.poppers.splice(t, 1) } }, { key: "update", value: function (e) { var t = je.refs[je.poppers.indexOf(e)], n = e.querySelector(Re.content), i = t.settings.html; i ? n.innerHTML = i instanceof Element ? i.innerHTML : document.getElementById(i.replace("#", "")).innerHTML : (n.innerHTML = t.el.getAttribute("title") || t.el.getAttribute("data-original-title"), se(t.el)) } }]), e }() });

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。