datasurvey/src/main/webapp/content/js/nouislider.min.js

899 lines
29 KiB
JavaScript

/*! nouislider - 9.1.0 - 2016-12-10 16:00:32 */
!(function (a) {
'function' == typeof define && define.amd
? define([], a)
: 'object' == typeof exports
? (module.exports = a())
: (window.noUiSlider = a());
})(function () {
'use strict';
function a(a, b) {
var c = document.createElement('div');
return j(c, b), a.appendChild(c), c;
}
function b(a) {
return a.filter(function (a) {
return !this[a] && (this[a] = !0);
}, {});
}
function c(a, b) {
return Math.round(a / b) * b;
}
function d(a, b) {
var c = a.getBoundingClientRect(),
d = a.ownerDocument,
e = d.documentElement,
f = m();
return /webkit.*Chrome.*Mobile/i.test(navigator.userAgent) && (f.x = 0), b ? c.top + f.y - e.clientTop : c.left + f.x - e.clientLeft;
}
function e(a) {
return 'number' == typeof a && !isNaN(a) && isFinite(a);
}
function f(a, b, c) {
c > 0 &&
(j(a, b),
setTimeout(function () {
k(a, b);
}, c));
}
function g(a) {
return Math.max(Math.min(a, 100), 0);
}
function h(a) {
return Array.isArray(a) ? a : [a];
}
function i(a) {
a = String(a);
var b = a.split('.');
return b.length > 1 ? b[1].length : 0;
}
function j(a, b) {
a.classList ? a.classList.add(b) : (a.className += ' ' + b);
}
function k(a, b) {
a.classList
? a.classList.remove(b)
: (a.className = a.className.replace(new RegExp('(^|\\b)' + b.split(' ').join('|') + '(\\b|$)', 'gi'), ' '));
}
function l(a, b) {
return a.classList ? a.classList.contains(b) : new RegExp('\\b' + b + '\\b').test(a.className);
}
function m() {
var a = void 0 !== window.pageXOffset,
b = 'CSS1Compat' === (document.compatMode || ''),
c = a ? window.pageXOffset : b ? document.documentElement.scrollLeft : document.body.scrollLeft,
d = a ? window.pageYOffset : b ? document.documentElement.scrollTop : document.body.scrollTop;
return { x: c, y: d };
}
function n() {
return window.navigator.pointerEnabled
? { start: 'pointerdown', move: 'pointermove', end: 'pointerup' }
: window.navigator.msPointerEnabled
? { start: 'MSPointerDown', move: 'MSPointerMove', end: 'MSPointerUp' }
: { start: 'mousedown touchstart', move: 'mousemove touchmove', end: 'mouseup touchend' };
}
function o(a, b) {
return 100 / (b - a);
}
function p(a, b) {
return (100 * b) / (a[1] - a[0]);
}
function q(a, b) {
return p(a, a[0] < 0 ? b + Math.abs(a[0]) : b - a[0]);
}
function r(a, b) {
return (b * (a[1] - a[0])) / 100 + a[0];
}
function s(a, b) {
for (var c = 1; a >= b[c]; ) c += 1;
return c;
}
function t(a, b, c) {
if (c >= a.slice(-1)[0]) return 100;
var d,
e,
f,
g,
h = s(c, a);
return (d = a[h - 1]), (e = a[h]), (f = b[h - 1]), (g = b[h]), f + q([d, e], c) / o(f, g);
}
function u(a, b, c) {
if (c >= 100) return a.slice(-1)[0];
var d,
e,
f,
g,
h = s(c, b);
return (d = a[h - 1]), (e = a[h]), (f = b[h - 1]), (g = b[h]), r([d, e], (c - f) * o(f, g));
}
function v(a, b, d, e) {
if (100 === e) return e;
var f,
g,
h = s(e, a);
return d ? ((f = a[h - 1]), (g = a[h]), e - f > (g - f) / 2 ? g : f) : b[h - 1] ? a[h - 1] + c(e - a[h - 1], b[h - 1]) : e;
}
function w(a, b, c) {
var d;
if (('number' == typeof b && (b = [b]), '[object Array]' !== Object.prototype.toString.call(b)))
throw new Error("noUiSlider: 'range' contains invalid value.");
if (((d = 'min' === a ? 0 : 'max' === a ? 100 : parseFloat(a)), !e(d) || !e(b[0])))
throw new Error("noUiSlider: 'range' value isn't numeric.");
c.xPct.push(d),
c.xVal.push(b[0]),
d ? c.xSteps.push(!isNaN(b[1]) && b[1]) : isNaN(b[1]) || (c.xSteps[0] = b[1]),
c.xHighestCompleteStep.push(0);
}
function x(a, b, c) {
if (!b) return !0;
c.xSteps[a] = p([c.xVal[a], c.xVal[a + 1]], b) / o(c.xPct[a], c.xPct[a + 1]);
var d = (c.xVal[a + 1] - c.xVal[a]) / c.xNumSteps[a],
e = Math.ceil(Number(d.toFixed(3)) - 1),
f = c.xVal[a] + c.xNumSteps[a] * e;
c.xHighestCompleteStep[a] = f;
}
function y(a, b, c, d) {
(this.xPct = []),
(this.xVal = []),
(this.xSteps = [d || !1]),
(this.xNumSteps = [!1]),
(this.xHighestCompleteStep = []),
(this.snap = b),
(this.direction = c);
var e,
f = [];
for (e in a) a.hasOwnProperty(e) && f.push([a[e], e]);
for (
f.length && 'object' == typeof f[0][0]
? f.sort(function (a, b) {
return a[0][0] - b[0][0];
})
: f.sort(function (a, b) {
return a[0] - b[0];
}),
e = 0;
e < f.length;
e++
)
w(f[e][1], f[e][0], this);
for (this.xNumSteps = this.xSteps.slice(0), e = 0; e < this.xNumSteps.length; e++) x(e, this.xNumSteps[e], this);
}
function z(a, b) {
if (!e(b)) throw new Error("noUiSlider: 'step' is not numeric.");
a.singleStep = b;
}
function A(a, b) {
if ('object' != typeof b || Array.isArray(b)) throw new Error("noUiSlider: 'range' is not an object.");
if (void 0 === b.min || void 0 === b.max) throw new Error("noUiSlider: Missing 'min' or 'max' in 'range'.");
if (b.min === b.max) throw new Error("noUiSlider: 'range' 'min' and 'max' cannot be equal.");
a.spectrum = new y(b, a.snap, a.dir, a.singleStep);
}
function B(a, b) {
if (((b = h(b)), !Array.isArray(b) || !b.length)) throw new Error("noUiSlider: 'start' option is incorrect.");
(a.handles = b.length), (a.start = b);
}
function C(a, b) {
if (((a.snap = b), 'boolean' != typeof b)) throw new Error("noUiSlider: 'snap' option must be a boolean.");
}
function D(a, b) {
if (((a.animate = b), 'boolean' != typeof b)) throw new Error("noUiSlider: 'animate' option must be a boolean.");
}
function E(a, b) {
if (((a.animationDuration = b), 'number' != typeof b)) throw new Error("noUiSlider: 'animationDuration' option must be a number.");
}
function F(a, b) {
var c,
d = [!1];
if (('lower' === b ? (b = [!0, !1]) : 'upper' === b && (b = [!1, !0]), b === !0 || b === !1)) {
for (c = 1; c < a.handles; c++) d.push(b);
d.push(!1);
} else {
if (!Array.isArray(b) || !b.length || b.length !== a.handles + 1)
throw new Error("noUiSlider: 'connect' option doesn't match handle count.");
d = b;
}
a.connect = d;
}
function G(a, b) {
switch (b) {
case 'horizontal':
a.ort = 0;
break;
case 'vertical':
a.ort = 1;
break;
default:
throw new Error("noUiSlider: 'orientation' option is invalid.");
}
}
function H(a, b) {
if (!e(b)) throw new Error("noUiSlider: 'margin' option must be numeric.");
if (0 !== b && ((a.margin = a.spectrum.getMargin(b)), !a.margin))
throw new Error("noUiSlider: 'margin' option is only supported on linear sliders.");
}
function I(a, b) {
if (!e(b)) throw new Error("noUiSlider: 'limit' option must be numeric.");
if (((a.limit = a.spectrum.getMargin(b)), !a.limit || a.handles < 2))
throw new Error("noUiSlider: 'limit' option is only supported on linear sliders with 2 or more handles.");
}
function J(a, b) {
if (!e(b)) throw new Error("noUiSlider: 'padding' option must be numeric.");
if (0 !== b) {
if (((a.padding = a.spectrum.getMargin(b)), !a.padding))
throw new Error("noUiSlider: 'padding' option is only supported on linear sliders.");
if (a.padding < 0) throw new Error("noUiSlider: 'padding' option must be a positive number.");
if (a.padding >= 50) throw new Error("noUiSlider: 'padding' option must be less than half the range.");
}
}
function K(a, b) {
switch (b) {
case 'ltr':
a.dir = 0;
break;
case 'rtl':
a.dir = 1;
break;
default:
throw new Error("noUiSlider: 'direction' option was not recognized.");
}
}
function L(a, b) {
if ('string' != typeof b) throw new Error("noUiSlider: 'behaviour' must be a string containing options.");
var c = b.indexOf('tap') >= 0,
d = b.indexOf('drag') >= 0,
e = b.indexOf('fixed') >= 0,
f = b.indexOf('snap') >= 0,
g = b.indexOf('hover') >= 0;
if (e) {
if (2 !== a.handles) throw new Error("noUiSlider: 'fixed' behaviour must be used with 2 handles");
H(a, a.start[1] - a.start[0]);
}
a.events = { tap: c || f, drag: d, fixed: e, snap: f, hover: g };
}
function M(a, b) {
if (b !== !1)
if (b === !0) {
a.tooltips = [];
for (var c = 0; c < a.handles; c++) a.tooltips.push(!0);
} else {
if (((a.tooltips = h(b)), a.tooltips.length !== a.handles)) throw new Error('noUiSlider: must pass a formatter for all handles.');
a.tooltips.forEach(function (a) {
if ('boolean' != typeof a && ('object' != typeof a || 'function' != typeof a.to))
throw new Error("noUiSlider: 'tooltips' must be passed a formatter or 'false'.");
});
}
}
function N(a, b) {
if (((a.format = b), 'function' == typeof b.to && 'function' == typeof b.from)) return !0;
throw new Error("noUiSlider: 'format' requires 'to' and 'from' methods.");
}
function O(a, b) {
if (void 0 !== b && 'string' != typeof b && b !== !1) throw new Error("noUiSlider: 'cssPrefix' must be a string or `false`.");
a.cssPrefix = b;
}
function P(a, b) {
if (void 0 !== b && 'object' != typeof b) throw new Error("noUiSlider: 'cssClasses' must be an object.");
if ('string' == typeof a.cssPrefix) {
a.cssClasses = {};
for (var c in b) b.hasOwnProperty(c) && (a.cssClasses[c] = a.cssPrefix + b[c]);
} else a.cssClasses = b;
}
function Q(a, b) {
if (b !== !0 && b !== !1) throw new Error("noUiSlider: 'useRequestAnimationFrame' option should be true (default) or false.");
a.useRequestAnimationFrame = b;
}
function R(a) {
var b = { margin: 0, limit: 0, padding: 0, animate: !0, animationDuration: 300, format: U },
c = {
step: { r: !1, t: z },
start: { r: !0, t: B },
connect: { r: !0, t: F },
direction: { r: !0, t: K },
snap: { r: !1, t: C },
animate: { r: !1, t: D },
animationDuration: { r: !1, t: E },
range: { r: !0, t: A },
orientation: { r: !1, t: G },
margin: { r: !1, t: H },
limit: { r: !1, t: I },
padding: { r: !1, t: J },
behaviour: { r: !0, t: L },
format: { r: !1, t: N },
tooltips: { r: !1, t: M },
cssPrefix: { r: !1, t: O },
cssClasses: { r: !1, t: P },
useRequestAnimationFrame: { r: !1, t: Q },
},
d = {
connect: !1,
direction: 'ltr',
behaviour: 'tap',
orientation: 'horizontal',
cssPrefix: 'noUi-',
cssClasses: {
target: 'target',
base: 'base',
origin: 'origin',
handle: 'handle',
handleLower: 'handle-lower',
handleUpper: 'handle-upper',
horizontal: 'horizontal',
vertical: 'vertical',
background: 'background',
connect: 'connect',
ltr: 'ltr',
rtl: 'rtl',
draggable: 'draggable',
drag: 'state-drag',
tap: 'state-tap',
active: 'active',
tooltip: 'tooltip',
pips: 'pips',
pipsHorizontal: 'pips-horizontal',
pipsVertical: 'pips-vertical',
marker: 'marker',
markerHorizontal: 'marker-horizontal',
markerVertical: 'marker-vertical',
markerNormal: 'marker-normal',
markerLarge: 'marker-large',
markerSub: 'marker-sub',
value: 'value',
valueHorizontal: 'value-horizontal',
valueVertical: 'value-vertical',
valueNormal: 'value-normal',
valueLarge: 'value-large',
valueSub: 'value-sub',
},
useRequestAnimationFrame: !0,
};
Object.keys(c).forEach(function (e) {
if (void 0 === a[e] && void 0 === d[e]) {
if (c[e].r) throw new Error("noUiSlider: '" + e + "' is required.");
return !0;
}
c[e].t(b, void 0 === a[e] ? d[e] : a[e]);
}),
(b.pips = a.pips);
var e = [
['left', 'top'],
['right', 'bottom'],
];
return (b.style = e[b.dir][b.ort]), (b.styleOposite = e[b.dir ? 0 : 1][b.ort]), b;
}
function S(c, e, i) {
function o(b, c) {
var d = a(b, e.cssClasses.origin),
f = a(d, e.cssClasses.handle);
return (
f.setAttribute('data-handle', c),
0 === c ? j(f, e.cssClasses.handleLower) : c === e.handles - 1 && j(f, e.cssClasses.handleUpper),
d
);
}
function p(b, c) {
return !!c && a(b, e.cssClasses.connect);
}
function q(a, b) {
(ba = []), (ca = []), ca.push(p(b, a[0]));
for (var c = 0; c < e.handles; c++) ba.push(o(b, c)), (ha[c] = c), ca.push(p(b, a[c + 1]));
}
function r(b) {
j(b, e.cssClasses.target),
0 === e.dir ? j(b, e.cssClasses.ltr) : j(b, e.cssClasses.rtl),
0 === e.ort ? j(b, e.cssClasses.horizontal) : j(b, e.cssClasses.vertical),
(aa = a(b, e.cssClasses.base));
}
function s(b, c) {
return !!e.tooltips[c] && a(b.firstChild, e.cssClasses.tooltip);
}
function t() {
var a = ba.map(s);
Z('update', function (b, c, d) {
if (a[c]) {
var f = b[c];
e.tooltips[c] !== !0 && (f = e.tooltips[c].to(d[c])), (a[c].innerHTML = f);
}
});
}
function u(a, b, c) {
if ('range' === a || 'steps' === a) return ja.xVal;
if ('count' === a) {
var d,
e = 100 / (b - 1),
f = 0;
for (b = []; (d = f++ * e) <= 100; ) b.push(d);
a = 'positions';
}
return 'positions' === a
? b.map(function (a) {
return ja.fromStepping(c ? ja.getStep(a) : a);
})
: 'values' === a
? c
? b.map(function (a) {
return ja.fromStepping(ja.getStep(ja.toStepping(a)));
})
: b
: void 0;
}
function v(a, c, d) {
function e(a, b) {
return (a + b).toFixed(7) / 1;
}
var f = {},
g = ja.xVal[0],
h = ja.xVal[ja.xVal.length - 1],
i = !1,
j = !1,
k = 0;
return (
(d = b(
d.slice().sort(function (a, b) {
return a - b;
})
)),
d[0] !== g && (d.unshift(g), (i = !0)),
d[d.length - 1] !== h && (d.push(h), (j = !0)),
d.forEach(function (b, g) {
var h,
l,
m,
n,
o,
p,
q,
r,
s,
t,
u = b,
v = d[g + 1];
if (('steps' === c && (h = ja.xNumSteps[g]), h || (h = v - u), u !== !1 && void 0 !== v))
for (h = Math.max(h, 1e-7), l = u; l <= v; l = e(l, h)) {
for (n = ja.toStepping(l), o = n - k, r = o / a, s = Math.round(r), t = o / s, m = 1; m <= s; m += 1)
(p = k + m * t), (f[p.toFixed(5)] = ['x', 0]);
(q = d.indexOf(l) > -1 ? 1 : 'steps' === c ? 2 : 0),
!g && i && (q = 0),
(l === v && j) || (f[n.toFixed(5)] = [l, q]),
(k = n);
}
}),
f
);
}
function w(a, b, c) {
function d(a, b) {
var c = b === e.cssClasses.value,
d = c ? m : n,
f = c ? k : l;
return b + ' ' + d[e.ort] + ' ' + f[a];
}
function f(a, b, c) {
return 'class="' + d(c[1], b) + '" style="' + e.style + ': ' + a + '%"';
}
function g(a, d) {
(d[1] = d[1] && b ? b(d[0], d[1]) : d[1]),
(i += '<div ' + f(a, e.cssClasses.marker, d) + '></div>'),
d[1] && (i += '<div ' + f(a, e.cssClasses.value, d) + '>' + c.to(d[0]) + '</div>');
}
var h = document.createElement('div'),
i = '',
k = [e.cssClasses.valueNormal, e.cssClasses.valueLarge, e.cssClasses.valueSub],
l = [e.cssClasses.markerNormal, e.cssClasses.markerLarge, e.cssClasses.markerSub],
m = [e.cssClasses.valueHorizontal, e.cssClasses.valueVertical],
n = [e.cssClasses.markerHorizontal, e.cssClasses.markerVertical];
return (
j(h, e.cssClasses.pips),
j(h, 0 === e.ort ? e.cssClasses.pipsHorizontal : e.cssClasses.pipsVertical),
Object.keys(a).forEach(function (b) {
g(b, a[b]);
}),
(h.innerHTML = i),
h
);
}
function x(a) {
var b = a.mode,
c = a.density || 1,
d = a.filter || !1,
e = a.values || !1,
f = a.stepped || !1,
g = u(b, e, f),
h = v(c, b, g),
i = a.format || { to: Math.round };
return fa.appendChild(w(h, d, i));
}
function y() {
var a = aa.getBoundingClientRect(),
b = 'offset' + ['Width', 'Height'][e.ort];
return 0 === e.ort ? a.width || aa[b] : a.height || aa[b];
}
function z(a, b, c, d) {
var f = function (b) {
return (
!fa.hasAttribute('disabled') &&
!l(fa, e.cssClasses.tap) &&
!!(b = A(b, d.pageOffset)) &&
!(a === ea.start && void 0 !== b.buttons && b.buttons > 1) &&
(!d.hover || !b.buttons) &&
((b.calcPoint = b.points[e.ort]), void c(b, d))
);
},
g = [];
return (
a.split(' ').forEach(function (a) {
b.addEventListener(a, f, !1), g.push([a, f]);
}),
g
);
}
function A(a, b) {
a.preventDefault();
var c,
d,
e = 0 === a.type.indexOf('touch'),
f = 0 === a.type.indexOf('mouse'),
g = 0 === a.type.indexOf('pointer');
if ((0 === a.type.indexOf('MSPointer') && (g = !0), e)) {
if (a.touches.length > 1) return !1;
(c = a.changedTouches[0].pageX), (d = a.changedTouches[0].pageY);
}
return (
(b = b || m()),
(f || g) && ((c = a.clientX + b.x), (d = a.clientY + b.y)),
(a.pageOffset = b),
(a.points = [c, d]),
(a.cursor = f || g),
a
);
}
function B(a) {
var b = a - d(aa, e.ort),
c = (100 * b) / y();
return e.dir ? 100 - c : c;
}
function C(a) {
var b = 100,
c = !1;
return (
ba.forEach(function (d, e) {
if (!d.hasAttribute('disabled')) {
var f = Math.abs(ga[e] - a);
f < b && ((c = e), (b = f));
}
}),
c
);
}
function D(a, b, c, d) {
var e = c.slice(),
f = [!a, a],
g = [a, !a];
(d = d.slice()),
a && d.reverse(),
d.length > 1
? d.forEach(function (a, c) {
var d = M(e, a, e[a] + b, f[c], g[c]);
d === !1 ? (b = 0) : ((b = d - e[a]), (e[a] = d));
})
: (f = g = [!0]);
var h = !1;
d.forEach(function (a, d) {
h = Q(a, c[a] + b, f[d], g[d]) || h;
}),
h &&
d.forEach(function (a) {
E('update', a), E('slide', a);
});
}
function E(a, b, c) {
Object.keys(la).forEach(function (d) {
var f = d.split('.')[0];
a === f &&
la[d].forEach(function (a) {
a.call(da, ka.map(e.format.to), b, ka.slice(), c || !1, ga.slice());
});
});
}
function F(a, b) {
'mouseout' === a.type && 'HTML' === a.target.nodeName && null === a.relatedTarget && H(a, b);
}
function G(a, b) {
if (navigator.appVersion.indexOf('MSIE 9') === -1 && 0 === a.buttons && 0 !== b.buttonsProperty) return H(a, b);
var c = (e.dir ? -1 : 1) * (a.calcPoint - b.startCalcPoint),
d = (100 * c) / b.baseSize;
D(c > 0, d, b.locations, b.handleNumbers);
}
function H(a, b) {
ia && (k(ia, e.cssClasses.active), (ia = !1)),
a.cursor && ((document.body.style.cursor = ''), document.body.removeEventListener('selectstart', document.body.noUiListener)),
document.documentElement.noUiListeners.forEach(function (a) {
document.documentElement.removeEventListener(a[0], a[1]);
}),
k(fa, e.cssClasses.drag),
P(),
b.handleNumbers.forEach(function (a) {
E('set', a), E('change', a), E('end', a);
});
}
function I(a, b) {
if (1 === b.handleNumbers.length) {
var c = ba[b.handleNumbers[0]];
if (c.hasAttribute('disabled')) return !1;
(ia = c.children[0]), j(ia, e.cssClasses.active);
}
a.preventDefault(), a.stopPropagation();
var d = z(ea.move, document.documentElement, G, {
startCalcPoint: a.calcPoint,
baseSize: y(),
pageOffset: a.pageOffset,
handleNumbers: b.handleNumbers,
buttonsProperty: a.buttons,
locations: ga.slice(),
}),
f = z(ea.end, document.documentElement, H, { handleNumbers: b.handleNumbers }),
g = z('mouseout', document.documentElement, F, { handleNumbers: b.handleNumbers });
if (((document.documentElement.noUiListeners = d.concat(f, g)), a.cursor)) {
(document.body.style.cursor = getComputedStyle(a.target).cursor), ba.length > 1 && j(fa, e.cssClasses.drag);
var h = function () {
return !1;
};
(document.body.noUiListener = h), document.body.addEventListener('selectstart', h, !1);
}
b.handleNumbers.forEach(function (a) {
E('start', a);
});
}
function J(a) {
a.stopPropagation();
var b = B(a.calcPoint),
c = C(b);
return (
c !== !1 &&
(e.events.snap || f(fa, e.cssClasses.tap, e.animationDuration),
Q(c, b, !0, !0),
P(),
E('slide', c, !0),
E('set', c, !0),
E('change', c, !0),
E('update', c, !0),
void (e.events.snap && I(a, { handleNumbers: [c] })))
);
}
function K(a) {
var b = B(a.calcPoint),
c = ja.getStep(b),
d = ja.fromStepping(c);
Object.keys(la).forEach(function (a) {
'hover' === a.split('.')[0] &&
la[a].forEach(function (a) {
a.call(da, d);
});
});
}
function L(a) {
a.fixed ||
ba.forEach(function (a, b) {
z(ea.start, a.children[0], I, { handleNumbers: [b] });
}),
a.tap && z(ea.start, aa, J, {}),
a.hover && z(ea.move, aa, K, { hover: !0 }),
a.drag &&
ca.forEach(function (b, c) {
if (b !== !1 && 0 !== c && c !== ca.length - 1) {
var d = ba[c - 1],
f = ba[c],
g = [b];
j(b, e.cssClasses.draggable),
a.fixed && (g.push(d.children[0]), g.push(f.children[0])),
g.forEach(function (a) {
z(ea.start, a, I, { handles: [d, f], handleNumbers: [c - 1, c] });
});
}
});
}
function M(a, b, c, d, f) {
return (
ba.length > 1 &&
(d && b > 0 && (c = Math.max(c, a[b - 1] + e.margin)), f && b < ba.length - 1 && (c = Math.min(c, a[b + 1] - e.margin))),
ba.length > 1 &&
e.limit &&
(d && b > 0 && (c = Math.min(c, a[b - 1] + e.limit)), f && b < ba.length - 1 && (c = Math.max(c, a[b + 1] - e.limit))),
e.padding && (0 === b && (c = Math.max(c, e.padding)), b === ba.length - 1 && (c = Math.min(c, 100 - e.padding))),
(c = ja.getStep(c)),
(c = g(c)),
c !== a[b] && c
);
}
function N(a) {
return a + '%';
}
function O(a, b) {
(ga[a] = b), (ka[a] = ja.fromStepping(b));
var c = function () {
(ba[a].style[e.style] = N(b)), S(a), S(a + 1);
};
window.requestAnimationFrame && e.useRequestAnimationFrame ? window.requestAnimationFrame(c) : c();
}
function P() {
ha.forEach(function (a) {
var b = ga[a] > 50 ? -1 : 1,
c = 3 + (ba.length + b * a);
ba[a].childNodes[0].style.zIndex = c;
});
}
function Q(a, b, c, d) {
return (b = M(ga, a, b, c, d)), b !== !1 && (O(a, b), !0);
}
function S(a) {
if (ca[a]) {
var b = 0,
c = 100;
0 !== a && (b = ga[a - 1]),
a !== ca.length - 1 && (c = ga[a]),
(ca[a].style[e.style] = N(b)),
(ca[a].style[e.styleOposite] = N(100 - c));
}
}
function T(a, b) {
null !== a &&
a !== !1 &&
('number' == typeof a && (a = String(a)), (a = e.format.from(a)), a === !1 || isNaN(a) || Q(b, ja.toStepping(a), !1, !1));
}
function U(a, b) {
var c = h(a),
d = void 0 === ga[0];
(b = void 0 === b || !!b),
c.forEach(T),
e.animate && !d && f(fa, e.cssClasses.tap, e.animationDuration),
ha.forEach(function (a) {
Q(a, ga[a], !0, !1);
}),
P(),
ha.forEach(function (a) {
E('update', a), null !== c[a] && b && E('set', a);
});
}
function V(a) {
U(e.start, a);
}
function W() {
var a = ka.map(e.format.to);
return 1 === a.length ? a[0] : a;
}
function X() {
for (var a in e.cssClasses) e.cssClasses.hasOwnProperty(a) && k(fa, e.cssClasses[a]);
for (; fa.firstChild; ) fa.removeChild(fa.firstChild);
delete fa.noUiSlider;
}
function Y() {
return ga.map(function (a, b) {
var c = ja.getNearbySteps(a),
d = ka[b],
e = c.thisStep.step,
f = null;
e !== !1 && d + e > c.stepAfter.startValue && (e = c.stepAfter.startValue - d),
(f = d > c.thisStep.startValue ? c.thisStep.step : c.stepBefore.step !== !1 && d - c.stepBefore.highestStep),
100 === a ? (e = null) : 0 === a && (f = null);
var g = ja.countStepDecimals();
return null !== e && e !== !1 && (e = Number(e.toFixed(g))), null !== f && f !== !1 && (f = Number(f.toFixed(g))), [f, e];
});
}
function Z(a, b) {
(la[a] = la[a] || []),
la[a].push(b),
'update' === a.split('.')[0] &&
ba.forEach(function (a, b) {
E('update', b);
});
}
function $(a) {
var b = a && a.split('.')[0],
c = b && a.substring(b.length);
Object.keys(la).forEach(function (a) {
var d = a.split('.')[0],
e = a.substring(d.length);
(b && b !== d) || (c && c !== e) || delete la[a];
});
}
function _(a, b) {
var c = W(),
d = ['margin', 'limit', 'padding', 'range', 'animate', 'snap', 'step', 'format'];
d.forEach(function (b) {
void 0 !== a[b] && (i[b] = a[b]);
});
var f = R(i);
d.forEach(function (b) {
void 0 !== a[b] && (e[b] = f[b]);
}),
(f.spectrum.direction = ja.direction),
(ja = f.spectrum),
(e.margin = f.margin),
(e.limit = f.limit),
(e.padding = f.padding),
(ga = []),
U(a.start || c, b);
}
var aa,
ba,
ca,
da,
ea = n(),
fa = c,
ga = [],
ha = [],
ia = !1,
ja = e.spectrum,
ka = [],
la = {};
if (fa.noUiSlider) throw new Error('Slider was already initialized.');
return (
r(fa),
q(e.connect, aa),
(da = {
destroy: X,
steps: Y,
on: Z,
off: $,
get: W,
set: U,
reset: V,
__moveHandles: function (a, b, c) {
D(a, b, ga, c);
},
options: i,
updateOptions: _,
target: fa,
pips: x,
}),
L(e.events),
U(e.start),
e.pips && x(e.pips),
e.tooltips && t(),
da
);
}
function T(a, b) {
if (!a.nodeName) throw new Error('noUiSlider.create requires a single element.');
var c = R(b, a),
d = S(a, c, b);
return (a.noUiSlider = d), d;
}
(y.prototype.getMargin = function (a) {
var b = this.xNumSteps[0];
if (b && (a / b) % 1 !== 0) throw new Error("noUiSlider: 'limit', 'margin' and 'padding' must be divisible by step.");
return 2 === this.xPct.length && p(this.xVal, a);
}),
(y.prototype.toStepping = function (a) {
return (a = t(this.xVal, this.xPct, a));
}),
(y.prototype.fromStepping = function (a) {
return u(this.xVal, this.xPct, a);
}),
(y.prototype.getStep = function (a) {
return (a = v(this.xPct, this.xSteps, this.snap, a));
}),
(y.prototype.getNearbySteps = function (a) {
var b = s(a, this.xPct);
return {
stepBefore: { startValue: this.xVal[b - 2], step: this.xNumSteps[b - 2], highestStep: this.xHighestCompleteStep[b - 2] },
thisStep: { startValue: this.xVal[b - 1], step: this.xNumSteps[b - 1], highestStep: this.xHighestCompleteStep[b - 1] },
stepAfter: { startValue: this.xVal[b - 0], step: this.xNumSteps[b - 0], highestStep: this.xHighestCompleteStep[b - 0] },
};
}),
(y.prototype.countStepDecimals = function () {
var a = this.xNumSteps.map(i);
return Math.max.apply(null, a);
}),
(y.prototype.convert = function (a) {
return this.getStep(this.toStepping(a));
});
var U = {
to: function (a) {
return void 0 !== a && a.toFixed(2);
},
from: Number,
};
return { create: T };
});