You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

637 lines
32 KiB

/*
Copyright (C) Federico Zivolo 2019
Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT).
*/
(function(e, t) { 'object' == typeof exports && 'undefined' != typeof module ? module.exports = t() : 'function' == typeof define && define.amd ? define(t) : e.Popper = t() })(this, function() {
'use strict';
function e(e) { return e && '[object Function]' === {}.toString.call(e) }
function t(e, t) {
if (1 !== e.nodeType) return [];
var o = e.ownerDocument.defaultView,
n = o.getComputedStyle(e, null);
return t ? n[t] : n
}
function o(e) { return 'HTML' === e.nodeName ? e : e.parentNode || e.host }
function n(e) {
if (!e) return document.body;
switch (e.nodeName) {
case 'HTML':
case 'BODY':
return e.ownerDocument.body;
case '#document':
return e.body;
}
var i = t(e),
r = i.overflow,
p = i.overflowX,
s = i.overflowY;
return /(auto|scroll|overlay)/.test(r + s + p) ? e : n(o(e))
}
function i(e) { return e && e.referenceNode ? e.referenceNode : e }
function r(e) { return 11 === e ? re : 10 === e ? pe : re || pe }
function p(e) { if (!e) return document.documentElement; for (var o = r(10) ? document.body : null, n = e.offsetParent || null; n === o && e.nextElementSibling;) n = (e = e.nextElementSibling).offsetParent; var i = n && n.nodeName; return i && 'BODY' !== i && 'HTML' !== i ? -1 !== ['TH', 'TD', 'TABLE'].indexOf(n.nodeName) && 'static' === t(n, 'position') ? p(n) : n : e ? e.ownerDocument.documentElement : document.documentElement }
function s(e) { var t = e.nodeName; return 'BODY' !== t && ('HTML' === t || p(e.firstElementChild) === e) }
function d(e) { return null === e.parentNode ? e : d(e.parentNode) }
function a(e, t) {
if (!e || !e.nodeType || !t || !t.nodeType) return document.documentElement;
var o = e.compareDocumentPosition(t) & Node.DOCUMENT_POSITION_FOLLOWING,
n = o ? e : t,
i = o ? t : e,
r = document.createRange();
r.setStart(n, 0), r.setEnd(i, 0);
var l = r.commonAncestorContainer;
if (e !== l && t !== l || n.contains(i)) return s(l) ? l : p(l);
var f = d(e);
return f.host ? a(f.host, t) : a(e, d(t).host)
}
function l(e) {
var t = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : 'top',
o = 'top' === t ? 'scrollTop' : 'scrollLeft',
n = e.nodeName;
if ('BODY' === n || 'HTML' === n) {
var i = e.ownerDocument.documentElement,
r = e.ownerDocument.scrollingElement || i;
return r[o]
}
return e[o]
}
function f(e, t) {
var o = 2 < arguments.length && void 0 !== arguments[2] && arguments[2],
n = l(t, 'top'),
i = l(t, 'left'),
r = o ? -1 : 1;
return e.top += n * r, e.bottom += n * r, e.left += i * r, e.right += i * r, e
}
function m(e, t) {
var o = 'x' === t ? 'Left' : 'Top',
n = 'Left' == o ? 'Right' : 'Bottom';
return parseFloat(e['border' + o + 'Width'], 10) + parseFloat(e['border' + n + 'Width'], 10)
}
function h(e, t, o, n) { return ee(t['offset' + e], t['scroll' + e], o['client' + e], o['offset' + e], o['scroll' + e], r(10) ? parseInt(o['offset' + e]) + parseInt(n['margin' + ('Height' === e ? 'Top' : 'Left')]) + parseInt(n['margin' + ('Height' === e ? 'Bottom' : 'Right')]) : 0) }
function c(e) {
var t = e.body,
o = e.documentElement,
n = r(10) && getComputedStyle(o);
return { height: h('Height', t, o, n), width: h('Width', t, o, n) }
}
function g(e) { return le({}, e, { right: e.left + e.width, bottom: e.top + e.height }) }
function u(e) {
var o = {};
try {
if (r(10)) {
o = e.getBoundingClientRect();
var n = l(e, 'top'),
i = l(e, 'left');
o.top += n, o.left += i, o.bottom += n, o.right += i
} else o = e.getBoundingClientRect()
} catch (t) {}
var p = { left: o.left, top: o.top, width: o.right - o.left, height: o.bottom - o.top },
s = 'HTML' === e.nodeName ? c(e.ownerDocument) : {},
d = s.width || e.clientWidth || p.width,
a = s.height || e.clientHeight || p.height,
f = e.offsetWidth - d,
h = e.offsetHeight - a;
if (f || h) {
var u = t(e);
f -= m(u, 'x'), h -= m(u, 'y'), p.width -= f, p.height -= h
}
return g(p)
}
function b(e, o) {
var i = 2 < arguments.length && void 0 !== arguments[2] && arguments[2],
p = r(10),
s = 'HTML' === o.nodeName,
d = u(e),
a = u(o),
l = n(e),
m = t(o),
h = parseFloat(m.borderTopWidth, 10),
c = parseFloat(m.borderLeftWidth, 10);
i && s && (a.top = ee(a.top, 0), a.left = ee(a.left, 0));
var b = g({ top: d.top - a.top - h, left: d.left - a.left - c, width: d.width, height: d.height });
if (b.marginTop = 0, b.marginLeft = 0, !p && s) {
var w = parseFloat(m.marginTop, 10),
y = parseFloat(m.marginLeft, 10);
b.top -= h - w, b.bottom -= h - w, b.left -= c - y, b.right -= c - y, b.marginTop = w, b.marginLeft = y
}
return (p && !i ? o.contains(l) : o === l && 'BODY' !== l.nodeName) && (b = f(b, o)), b
}
function w(e) {
var t = 1 < arguments.length && void 0 !== arguments[1] && arguments[1],
o = e.ownerDocument.documentElement,
n = b(e, o),
i = ee(o.clientWidth, window.innerWidth || 0),
r = ee(o.clientHeight, window.innerHeight || 0),
p = t ? 0 : l(o),
s = t ? 0 : l(o, 'left'),
d = { top: p - n.top + n.marginTop, left: s - n.left + n.marginLeft, width: i, height: r };
return g(d)
}
function y(e) { var n = e.nodeName; if ('BODY' === n || 'HTML' === n) return !1; if ('fixed' === t(e, 'position')) return !0; var i = o(e); return !!i && y(i) }
function E(e) { if (!e || !e.parentElement || r()) return document.documentElement; for (var o = e.parentElement; o && 'none' === t(o, 'transform');) o = o.parentElement; return o || document.documentElement }
function v(e, t, r, p) {
var s = 4 < arguments.length && void 0 !== arguments[4] && arguments[4],
d = { top: 0, left: 0 },
l = s ? E(e) : a(e, i(t));
if ('viewport' === p) d = w(l, s);
else {
var f;
'scrollParent' === p ? (f = n(o(t)), 'BODY' === f.nodeName && (f = e.ownerDocument.documentElement)) : 'window' === p ? f = e.ownerDocument.documentElement : f = p;
var m = b(f, l, s);
if ('HTML' === f.nodeName && !y(l)) {
var h = c(e.ownerDocument),
g = h.height,
u = h.width;
d.top += m.top - m.marginTop, d.bottom = g + m.top, d.left += m.left - m.marginLeft, d.right = u + m.left
} else d = m
}
r = r || 0;
var v = 'number' == typeof r;
return d.left += v ? r : r.left || 0, d.top += v ? r : r.top || 0, d.right -= v ? r : r.right || 0, d.bottom -= v ? r : r.bottom || 0, d
}
function x(e) {
var t = e.width,
o = e.height;
return t * o
}
function O(e, t, o, n, i) {
var r = 5 < arguments.length && void 0 !== arguments[5] ? arguments[5] : 0;
if (-1 === e.indexOf('auto')) return e;
var p = v(o, n, r, i),
s = { top: { width: p.width, height: t.top - p.top }, right: { width: p.right - t.right, height: p.height }, bottom: { width: p.width, height: p.bottom - t.bottom }, left: { width: t.left - p.left, height: p.height } },
d = Object.keys(s).map(function(e) { return le({ key: e }, s[e], { area: x(s[e]) }) }).sort(function(e, t) { return t.area - e.area }),
a = d.filter(function(e) {
var t = e.width,
n = e.height;
return t >= o.clientWidth && n >= o.clientHeight
}),
l = 0 < a.length ? a[0].key : d[0].key,
f = e.split('-')[1];
return l + (f ? '-' + f : '')
}
function L(e, t, o) {
var n = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null,
r = n ? E(t) : a(t, i(o));
return b(o, r, n)
}
function S(e) {
var t = e.ownerDocument.defaultView,
o = t.getComputedStyle(e),
n = parseFloat(o.marginTop || 0) + parseFloat(o.marginBottom || 0),
i = parseFloat(o.marginLeft || 0) + parseFloat(o.marginRight || 0),
r = { width: e.offsetWidth + i, height: e.offsetHeight + n };
return r
}
function T(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 C(e, t, o) {
o = o.split('-')[0];
var n = S(e),
i = { width: n.width, height: n.height },
r = -1 !== ['right', 'left'].indexOf(o),
p = r ? 'top' : 'left',
s = r ? 'left' : 'top',
d = r ? 'height' : 'width',
a = r ? 'width' : 'height';
return i[p] = t[p] + t[d] / 2 - n[d] / 2, i[s] = o === s ? t[s] - n[a] : t[T(s)], i
}
function D(e, t) { return Array.prototype.find ? e.find(t) : e.filter(t)[0] }
function N(e, t, o) { if (Array.prototype.findIndex) return e.findIndex(function(e) { return e[t] === o }); var n = D(e, function(e) { return e[t] === o }); return e.indexOf(n) }
function P(t, o, n) {
var i = void 0 === n ? t : t.slice(0, N(t, 'name', n));
return i.forEach(function(t) {
t['function'] && console.warn('`modifier.function` is deprecated, use `modifier.fn`!');
var n = t['function'] || t.fn;
t.enabled && e(n) && (o.offsets.popper = g(o.offsets.popper), o.offsets.reference = g(o.offsets.reference), o = n(o, t))
}), o
}
function k() {
if (!this.state.isDestroyed) {
var e = { instance: this, styles: {}, arrowStyles: {}, attributes: {}, flipped: !1, offsets: {} };
e.offsets.reference = L(this.state, this.popper, this.reference, this.options.positionFixed), e.placement = O(this.options.placement, e.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding), e.originalPlacement = e.placement, e.positionFixed = this.options.positionFixed, e.offsets.popper = C(this.popper, e.offsets.reference, e.placement), e.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute', e = P(this.modifiers, e), this.state.isCreated ? this.options.onUpdate(e) : (this.state.isCreated = !0, this.options.onCreate(e))
}
}
function W(e, t) {
return e.some(function(e) {
var o = e.name,
n = e.enabled;
return n && o === t
})
}
function B(e) {
for (var t = [!1, 'ms', 'Webkit', 'Moz', 'O'], o = e.charAt(0).toUpperCase() + e.slice(1), n = 0; n < t.length; n++) {
var i = t[n],
r = i ? '' + i + o : e;
if ('undefined' != typeof document.body.style[r]) return r
}
return null
}
function H() { return this.state.isDestroyed = !0, W(this.modifiers, 'applyStyle') && (this.popper.removeAttribute('x-placement'), this.popper.style.position = '', this.popper.style.top = '', this.popper.style.left = '', this.popper.style.right = '', this.popper.style.bottom = '', this.popper.style.willChange = '', this.popper.style[B('transform')] = ''), this.disableEventListeners(), this.options.removeOnDestroy && this.popper.parentNode.removeChild(this.popper), this }
function A(e) { var t = e.ownerDocument; return t ? t.defaultView : window }
function M(e, t, o, i) {
var r = 'BODY' === e.nodeName,
p = r ? e.ownerDocument.defaultView : e;
p.addEventListener(t, o, { passive: !0 }), r || M(n(p.parentNode), t, o, i), i.push(p)
}
function F(e, t, o, i) { o.updateBound = i, A(e).addEventListener('resize', o.updateBound, { passive: !0 }); var r = n(e); return M(r, 'scroll', o.updateBound, o.scrollParents), o.scrollElement = r, o.eventsEnabled = !0, o }
function I() { this.state.eventsEnabled || (this.state = F(this.reference, this.options, this.state, this.scheduleUpdate)) }
function R(e, t) { return A(e).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 U() { this.state.eventsEnabled && (cancelAnimationFrame(this.scheduleUpdate), this.state = R(this.reference, this.state)) }
function Y(e) { return '' !== e && !isNaN(parseFloat(e)) && isFinite(e) }
function V(e, t) { Object.keys(t).forEach(function(o) { var n = ''; - 1 !== ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(o) && Y(t[o]) && (n = 'px'), e.style[o] = t[o] + n }) }
function j(e, t) { Object.keys(t).forEach(function(o) { var n = t[o];!1 === n ? e.removeAttribute(o) : e.setAttribute(o, t[o]) }) }
function q(e, t) {
var o = e.offsets,
n = o.popper,
i = o.reference,
r = $,
p = function(e) { return e },
s = r(i.width),
d = r(n.width),
a = -1 !== ['left', 'right'].indexOf(e.placement),
l = -1 !== e.placement.indexOf('-'),
f = t ? a || l || s % 2 == d % 2 ? r : Z : p,
m = t ? r : p;
return { left: f(1 == s % 2 && 1 == d % 2 && !l && t ? n.left - 1 : n.left), top: m(n.top), bottom: m(n.bottom), right: f(n.right) }
}
function K(e, t, o) {
var n = D(e, function(e) { var o = e.name; return o === t }),
i = !!n && e.some(function(e) { return e.name === o && e.enabled && e.order < n.order });
if (!i) {
var r = '`' + t + '`';
console.warn('`' + o + '`' + ' modifier is required by ' + r + ' modifier in order to work, be sure to include it before ' + r + '!')
}
return i
}
function z(e) { return 'end' === e ? 'start' : 'start' === e ? 'end' : e }
function G(e) {
var t = 1 < arguments.length && void 0 !== arguments[1] && arguments[1],
o = he.indexOf(e),
n = he.slice(o + 1).concat(he.slice(0, o));
return t ? n.reverse() : n
}
function _(e, t, o, n) {
var i = e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),
r = +i[1],
p = i[2];
if (!r) return e;
if (0 === p.indexOf('%')) {
var s;
switch (p) {
case '%p':
s = o;
break;
case '%':
case '%r':
default:
s = n;
}
var d = g(s);
return d[t] / 100 * r
}
if ('vh' === p || 'vw' === p) { var a; return a = 'vh' === p ? ee(document.documentElement.clientHeight, window.innerHeight || 0) : ee(document.documentElement.clientWidth, window.innerWidth || 0), a / 100 * r }
return r
}
function X(e, t, o, n) {
var i = [0, 0],
r = -1 !== ['right', 'left'].indexOf(n),
p = e.split(/(\+|\-)/).map(function(e) { return e.trim() }),
s = p.indexOf(D(p, function(e) { return -1 !== e.search(/,|\s/) }));
p[s] && -1 === p[s].indexOf(',') && console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');
var d = /\s*,\s*|\s+/,
a = -1 === s ? [p] : [p.slice(0, s).concat([p[s].split(d)[0]]), [p[s].split(d)[1]].concat(p.slice(s + 1))];
return a = a.map(function(e, n) {
var i = (1 === n ? !r : r) ? 'height' : 'width',
p = !1;
return e.reduce(function(e, t) { return '' === e[e.length - 1] && -1 !== ['+', '-'].indexOf(t) ? (e[e.length - 1] = t, p = !0, e) : p ? (e[e.length - 1] += t, p = !1, e) : e.concat(t) }, []).map(function(e) { return _(e, i, t, o) })
}), a.forEach(function(e, t) { e.forEach(function(o, n) { Y(o) && (i[t] += o * ('-' === e[n - 1] ? -1 : 1)) }) }), i
}
function J(e, t) {
var o, n = t.offset,
i = e.placement,
r = e.offsets,
p = r.popper,
s = r.reference,
d = i.split('-')[0];
return o = Y(+n) ? [+n, 0] : X(n, p, s, d), 'left' === d ? (p.top += o[0], p.left -= o[1]) : 'right' === d ? (p.top += o[0], p.left += o[1]) : 'top' === d ? (p.left += o[0], p.top -= o[1]) : 'bottom' === d && (p.left += o[0], p.top += o[1]), e.popper = p, e
}
var Q = Math.min,
Z = Math.floor,
$ = Math.round,
ee = Math.max,
te = 'undefined' != typeof window && 'undefined' != typeof document && 'undefined' != typeof navigator,
oe = function() {
for (var e = ['Edge', 'Trident', 'Firefox'], t = 0; t < e.length; t += 1)
if (te && 0 <= navigator.userAgent.indexOf(e[t])) return 1;
return 0
}(),
ne = te && window.Promise,
ie = ne ? function(e) { var t = !1; return function() { t || (t = !0, window.Promise.resolve().then(function() { t = !1, e() })) } } : function(e) { var t = !1; return function() { t || (t = !0, setTimeout(function() { t = !1, e() }, oe)) } },
re = te && !!(window.MSInputMethodContext && document.documentMode),
pe = te && /MSIE 10/.test(navigator.userAgent),
se = function(e, t) { if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function') },
de = function() {
function e(e, t) { for (var o, n = 0; n < t.length; n++) o = t[n], o.enumerable = o.enumerable || !1, o.configurable = !0, 'value' in o && (o.writable = !0), Object.defineProperty(e, o.key, o) }
return function(t, o, n) { return o && e(t.prototype, o), n && e(t, n), t }
}(),
ae = function(e, t, o) { return t in e ? Object.defineProperty(e, t, { value: o, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = o, e },
le = Object.assign || function(e) {
for (var t, o = 1; o < arguments.length; o++)
for (var n in t = arguments[o], t) Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);
return e
},
fe = te && /Firefox/i.test(navigator.userAgent),
me = ['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 = me.slice(3),
ce = { FLIP: 'flip', CLOCKWISE: 'clockwise', COUNTERCLOCKWISE: 'counterclockwise' },
ge = function() {
function t(o, n) {
var i = this,
r = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : {};
se(this, t), this.scheduleUpdate = function() { return requestAnimationFrame(i.update) }, this.update = ie(this.update.bind(this)), this.options = le({}, t.Defaults, r), this.state = { isDestroyed: !1, isCreated: !1, scrollParents: [] }, this.reference = o && o.jquery ? o[0] : o, this.popper = n && n.jquery ? n[0] : n, this.options.modifiers = {}, Object.keys(le({}, t.Defaults.modifiers, r.modifiers)).forEach(function(e) { i.options.modifiers[e] = le({}, t.Defaults.modifiers[e] || {}, r.modifiers ? r.modifiers[e] : {}) }), this.modifiers = Object.keys(this.options.modifiers).map(function(e) { return le({ name: e }, i.options.modifiers[e]) }).sort(function(e, t) { return e.order - t.order }), this.modifiers.forEach(function(t) { t.enabled && e(t.onLoad) && t.onLoad(i.reference, i.popper, i.options, t, i.state) }), this.update();
var p = this.options.eventsEnabled;
p && this.enableEventListeners(), this.state.eventsEnabled = p
}
return de(t, [{ key: 'update', value: function() { return k.call(this) } }, { key: 'destroy', value: function() { return H.call(this) } }, { key: 'enableEventListeners', value: function() { return I.call(this) } }, { key: 'disableEventListeners', value: function() { return U.call(this) } }]), t
}();
return ge.Utils = ('undefined' == typeof window ? global : window).PopperUtils, ge.placements = me, ge.Defaults = {
placement: 'bottom',
positionFixed: !1,
eventsEnabled: !0,
removeOnDestroy: !1,
onCreate: function() {},
onUpdate: function() {},
modifiers: {
shift: {
order: 100,
enabled: !0,
fn: function(e) {
var t = e.placement,
o = t.split('-')[0],
n = t.split('-')[1];
if (n) {
var i = e.offsets,
r = i.reference,
p = i.popper,
s = -1 !== ['bottom', 'top'].indexOf(o),
d = s ? 'left' : 'top',
a = s ? 'width' : 'height',
l = { start: ae({}, d, r[d]), end: ae({}, d, r[d] + r[a] - p[a]) };
e.offsets.popper = le({}, p, l[n])
}
return e
}
},
offset: { order: 200, enabled: !0, fn: J, offset: 0 },
preventOverflow: {
order: 300,
enabled: !0,
fn: function(e, t) {
var o = t.boundariesElement || p(e.instance.popper);
e.instance.reference === o && (o = p(o));
var n = B('transform'),
i = e.instance.popper.style,
r = i.top,
s = i.left,
d = i[n];
i.top = '', i.left = '', i[n] = '';
var a = v(e.instance.popper, e.instance.reference, t.padding, o, e.positionFixed);
i.top = r, i.left = s, i[n] = d, t.boundaries = a;
var l = t.priority,
f = e.offsets.popper,
m = {
primary: function(e) { var o = f[e]; return f[e] < a[e] && !t.escapeWithReference && (o = ee(f[e], a[e])), ae({}, e, o) },
secondary: function(e) {
var o = 'right' === e ? 'left' : 'top',
n = f[o];
return f[e] > a[e] && !t.escapeWithReference && (n = Q(f[o], a[e] - ('right' === e ? f.width : f.height))), ae({}, o, n)
}
};
return l.forEach(function(e) {
var t = -1 === ['left', 'top'].indexOf(e) ? 'secondary' : 'primary';
f = le({}, f, m[t](e))
}), e.offsets.popper = f, e
},
priority: ['left', 'right', 'top', 'bottom'],
padding: 5,
boundariesElement: 'scrollParent'
},
keepTogether: {
order: 400,
enabled: !0,
fn: function(e) {
var t = e.offsets,
o = t.popper,
n = t.reference,
i = e.placement.split('-')[0],
r = Z,
p = -1 !== ['top', 'bottom'].indexOf(i),
s = p ? 'right' : 'bottom',
d = p ? 'left' : 'top',
a = p ? 'width' : 'height';
return o[s] < r(n[d]) && (e.offsets.popper[d] = r(n[d]) - o[a]), o[d] > r(n[s]) && (e.offsets.popper[d] = r(n[s])), e
}
},
arrow: {
order: 500,
enabled: !0,
fn: function(e, o) {
var n;
if (!K(e.instance.modifiers, 'arrow', 'keepTogether')) return e;
var i = o.element;
if ('string' == typeof i) { if (i = e.instance.popper.querySelector(i), !i) return e; } else if (!e.instance.popper.contains(i)) return console.warn('WARNING: `arrow.element` must be child of its popper element!'), e;
var r = e.placement.split('-')[0],
p = e.offsets,
s = p.popper,
d = p.reference,
a = -1 !== ['left', 'right'].indexOf(r),
l = a ? 'height' : 'width',
f = a ? 'Top' : 'Left',
m = f.toLowerCase(),
h = a ? 'left' : 'top',
c = a ? 'bottom' : 'right',
u = S(i)[l];
d[c] - u < s[m] && (e.offsets.popper[m] -= s[m] - (d[c] - u)), d[m] + u > s[c] && (e.offsets.popper[m] += d[m] + u - s[c]), e.offsets.popper = g(e.offsets.popper);
var b = d[m] + d[l] / 2 - u / 2,
w = t(e.instance.popper),
y = parseFloat(w['margin' + f], 10),
E = parseFloat(w['border' + f + 'Width'], 10),
v = b - e.offsets.popper[m] - y - E;
return v = ee(Q(s[l] - u, v), 0), e.arrowElement = i, e.offsets.arrow = (n = {}, ae(n, m, $(v)), ae(n, h, ''), n), e
},
element: '[x-arrow]'
},
flip: {
order: 600,
enabled: !0,
fn: function(e, t) {
if (W(e.instance.modifiers, 'inner')) return e;
if (e.flipped && e.placement === e.originalPlacement) return e;
var o = v(e.instance.popper, e.instance.reference, t.padding, t.boundariesElement, e.positionFixed),
n = e.placement.split('-')[0],
i = T(n),
r = e.placement.split('-')[1] || '',
p = [];
switch (t.behavior) {
case ce.FLIP:
p = [n, i];
break;
case ce.CLOCKWISE:
p = G(n);
break;
case ce.COUNTERCLOCKWISE:
p = G(n, !0);
break;
default:
p = t.behavior;
}
return p.forEach(function(s, d) {
if (n !== s || p.length === d + 1) return e;
n = e.placement.split('-')[0], i = T(n);
var a = e.offsets.popper,
l = e.offsets.reference,
f = Z,
m = 'left' === n && f(a.right) > f(l.left) || 'right' === n && f(a.left) < f(l.right) || 'top' === n && f(a.bottom) > f(l.top) || 'bottom' === n && f(a.top) < f(l.bottom),
h = f(a.left) < f(o.left),
c = f(a.right) > f(o.right),
g = f(a.top) < f(o.top),
u = f(a.bottom) > f(o.bottom),
b = 'left' === n && h || 'right' === n && c || 'top' === n && g || 'bottom' === n && u,
w = -1 !== ['top', 'bottom'].indexOf(n),
y = !!t.flipVariations && (w && 'start' === r && h || w && 'end' === r && c || !w && 'start' === r && g || !w && 'end' === r && u),
E = !!t.flipVariationsByContent && (w && 'start' === r && c || w && 'end' === r && h || !w && 'start' === r && u || !w && 'end' === r && g),
v = y || E;
(m || b || v) && (e.flipped = !0, (m || b) && (n = p[d + 1]), v && (r = z(r)), e.placement = n + (r ? '-' + r : ''), e.offsets.popper = le({}, e.offsets.popper, C(e.instance.popper, e.offsets.reference, e.placement)), e = P(e.instance.modifiers, e, 'flip'))
}), e
},
behavior: 'flip',
padding: 5,
boundariesElement: 'viewport',
flipVariations: !1,
flipVariationsByContent: !1
},
inner: {
order: 700,
enabled: !1,
fn: function(e) {
var t = e.placement,
o = t.split('-')[0],
n = e.offsets,
i = n.popper,
r = n.reference,
p = -1 !== ['left', 'right'].indexOf(o),
s = -1 === ['top', 'left'].indexOf(o);
return i[p ? 'left' : 'top'] = r[o] - (s ? i[p ? 'width' : 'height'] : 0), e.placement = T(t), e.offsets.popper = g(i), e
}
},
hide: {
order: 800,
enabled: !0,
fn: function(e) {
if (!K(e.instance.modifiers, 'hide', 'preventOverflow')) return e;
var t = e.offsets.reference,
o = D(e.instance.modifiers, function(e) { return 'preventOverflow' === e.name }).boundaries;
if (t.bottom < o.top || t.left > o.right || t.top > o.bottom || t.right < o.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
}
},
computeStyle: {
order: 850,
enabled: !0,
fn: function(e, t) {
var o = t.x,
n = t.y,
i = e.offsets.popper,
r = D(e.instance.modifiers, function(e) { return 'applyStyle' === e.name }).gpuAcceleration;
void 0 !== r && console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');
var s, d, a = void 0 === r ? t.gpuAcceleration : r,
l = p(e.instance.popper),
f = u(l),
m = { position: i.position },
h = q(e, 2 > window.devicePixelRatio || !fe),
c = 'bottom' === o ? 'top' : 'bottom',
g = 'right' === n ? 'left' : 'right',
b = B('transform');
if (d = 'bottom' == c ? 'HTML' === l.nodeName ? -l.clientHeight + h.bottom : -f.height + h.bottom : h.top, s = 'right' == g ? 'HTML' === l.nodeName ? -l.clientWidth + h.right : -f.width + h.right : h.left, a && b) m[b] = 'translate3d(' + s + 'px, ' + d + 'px, 0)', m[c] = 0, m[g] = 0, m.willChange = 'transform';
else {
var w = 'bottom' == c ? -1 : 1,
y = 'right' == g ? -1 : 1;
m[c] = d * w, m[g] = s * y, m.willChange = c + ', ' + g
}
var E = { "x-placement": e.placement };
return e.attributes = le({}, E, e.attributes), e.styles = le({}, m, e.styles), e.arrowStyles = le({}, e.offsets.arrow, e.arrowStyles), e
},
gpuAcceleration: !0,
x: 'bottom',
y: 'right'
},
applyStyle: {
order: 900,
enabled: !0,
fn: function(e) { return V(e.instance.popper, e.styles), j(e.instance.popper, e.attributes), e.arrowElement && Object.keys(e.arrowStyles).length && V(e.arrowElement, e.arrowStyles), e },
onLoad: function(e, t, o, n, i) {
var r = L(i, t, e, o.positionFixed),
p = O(o.placement, r, t, e, o.modifiers.flip.boundariesElement, o.modifiers.flip.padding);
return t.setAttribute('x-placement', p), V(t, { position: o.positionFixed ? 'fixed' : 'absolute' }), o
},
gpuAcceleration: void 0
}
}
}, ge
});