/*!
* ApexCharts v3.43.0
* (c) 2018-2023 ApexCharts
* Released under the MIT License.
*/
!(function (t, e) {
"object" == typeof exports && "undefined" != typeof module
? (module.exports = e())
: "function" == typeof define && define.amd
? define(e)
: ((t =
"undefined" != typeof globalThis
? globalThis
: t || self).ApexCharts = e());
})(this, function () {
"use strict";
function t(t, e) {
var i = Object.keys(t);
if (Object.getOwnPropertySymbols) {
var a = Object.getOwnPropertySymbols(t);
e &&
(a = a.filter(function (e) {
return Object.getOwnPropertyDescriptor(t, e).enumerable;
})),
i.push.apply(i, a);
}
return i;
}
function e(e) {
for (var i = 1; i < arguments.length; i++) {
var a = null != arguments[i] ? arguments[i] : {};
i % 2
? t(Object(a), !0).forEach(function (t) {
o(e, t, a[t]);
})
: Object.getOwnPropertyDescriptors
? Object.defineProperties(
e,
Object.getOwnPropertyDescriptors(a)
)
: t(Object(a)).forEach(function (t) {
Object.defineProperty(
e,
t,
Object.getOwnPropertyDescriptor(a, t)
);
});
}
return e;
}
function i(t) {
return (
(i =
"function" == typeof Symbol &&
"symbol" == typeof Symbol.iterator
? function (t) {
return typeof t;
}
: function (t) {
return t &&
"function" == typeof Symbol &&
t.constructor === Symbol &&
t !== Symbol.prototype
? "symbol"
: typeof t;
}),
i(t)
);
}
function a(t, e) {
if (!(t instanceof e))
throw new TypeError("Cannot call a class as a function");
}
function s(t, e) {
for (var i = 0; i < e.length; i++) {
var a = e[i];
(a.enumerable = a.enumerable || !1),
(a.configurable = !0),
"value" in a && (a.writable = !0),
Object.defineProperty(t, a.key, a);
}
}
function r(t, e, i) {
return e && s(t.prototype, e), i && s(t, i), t;
}
function o(t, e, i) {
return (
e in t
? Object.defineProperty(t, e, {
value: i,
enumerable: !0,
configurable: !0,
writable: !0,
})
: (t[e] = i),
t
);
}
function n(t, e) {
if ("function" != typeof e && null !== e)
throw new TypeError(
"Super expression must either be null or a function"
);
(t.prototype = Object.create(e && e.prototype, {
constructor: { value: t, writable: !0, configurable: !0 },
})),
e && h(t, e);
}
function l(t) {
return (
(l = Object.setPrototypeOf
? Object.getPrototypeOf
: function (t) {
return t.__proto__ || Object.getPrototypeOf(t);
}),
l(t)
);
}
function h(t, e) {
return (
(h =
Object.setPrototypeOf ||
function (t, e) {
return (t.__proto__ = e), t;
}),
h(t, e)
);
}
function c(t, e) {
if (e && ("object" == typeof e || "function" == typeof e)) return e;
if (void 0 !== e)
throw new TypeError(
"Derived constructors may only return object or undefined"
);
return (function (t) {
if (void 0 === t)
throw new ReferenceError(
"this hasn't been initialised - super() hasn't been called"
);
return t;
})(t);
}
function d(t) {
var e = (function () {
if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
if (Reflect.construct.sham) return !1;
if ("function" == typeof Proxy) return !0;
try {
return (
Boolean.prototype.valueOf.call(
Reflect.construct(Boolean, [], function () {})
),
!0
);
} catch (t) {
return !1;
}
})();
return function () {
var i,
a = l(t);
if (e) {
var s = l(this).constructor;
i = Reflect.construct(a, arguments, s);
} else i = a.apply(this, arguments);
return c(this, i);
};
}
function g(t, e) {
return (
(function (t) {
if (Array.isArray(t)) return t;
})(t) ||
(function (t, e) {
var i =
null == t
? null
: ("undefined" != typeof Symbol &&
t[Symbol.iterator]) ||
t["@@iterator"];
if (null == i) return;
var a,
s,
r = [],
o = !0,
n = !1;
try {
for (
i = i.call(t);
!(o = (a = i.next()).done) &&
(r.push(a.value), !e || r.length !== e);
o = !0
);
} catch (t) {
(n = !0), (s = t);
} finally {
try {
o || null == i.return || i.return();
} finally {
if (n) throw s;
}
}
return r;
})(t, e) ||
p(t, e) ||
(function () {
throw new TypeError(
"Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
);
})()
);
}
function u(t) {
return (
(function (t) {
if (Array.isArray(t)) return f(t);
})(t) ||
(function (t) {
if (
("undefined" != typeof Symbol &&
null != t[Symbol.iterator]) ||
null != t["@@iterator"]
)
return Array.from(t);
})(t) ||
p(t) ||
(function () {
throw new TypeError(
"Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
);
})()
);
}
function p(t, e) {
if (t) {
if ("string" == typeof t) return f(t, e);
var i = Object.prototype.toString.call(t).slice(8, -1);
return (
"Object" === i && t.constructor && (i = t.constructor.name),
"Map" === i || "Set" === i
? Array.from(t)
: "Arguments" === i ||
/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)
? f(t, e)
: void 0
);
}
}
function f(t, e) {
(null == e || e > t.length) && (e = t.length);
for (var i = 0, a = new Array(e); i < e; i++) a[i] = t[i];
return a;
}
var x = (function () {
function t() {
a(this, t);
}
return (
r(
t,
[
{
key: "shadeRGBColor",
value: function (t, e) {
var i = e.split(","),
a = t < 0 ? 0 : 255,
s = t < 0 ? -1 * t : t,
r = parseInt(i[0].slice(4), 10),
o = parseInt(i[1], 10),
n = parseInt(i[2], 10);
return (
"rgb(" +
(Math.round((a - r) * s) + r) +
"," +
(Math.round((a - o) * s) + o) +
"," +
(Math.round((a - n) * s) + n) +
")"
);
},
},
{
key: "shadeHexColor",
value: function (t, e) {
var i = parseInt(e.slice(1), 16),
a = t < 0 ? 0 : 255,
s = t < 0 ? -1 * t : t,
r = i >> 16,
o = (i >> 8) & 255,
n = 255 & i;
return (
"#" +
(
16777216 +
65536 * (Math.round((a - r) * s) + r) +
256 * (Math.round((a - o) * s) + o) +
(Math.round((a - n) * s) + n)
)
.toString(16)
.slice(1)
);
},
},
{
key: "shadeColor",
value: function (e, i) {
return t.isColorHex(i)
? this.shadeHexColor(e, i)
: this.shadeRGBColor(e, i);
},
},
],
[
{
key: "bind",
value: function (t, e) {
return function () {
return t.apply(e, arguments);
};
},
},
{
key: "isObject",
value: function (t) {
return (
t &&
"object" === i(t) &&
!Array.isArray(t) &&
null != t
);
},
},
{
key: "is",
value: function (t, e) {
return (
Object.prototype.toString.call(e) ===
"[object " + t + "]"
);
},
},
{
key: "listToArray",
value: function (t) {
var e,
i = [];
for (e = 0; e < t.length; e++) i[e] = t[e];
return i;
},
},
{
key: "extend",
value: function (t, e) {
var i = this;
"function" != typeof Object.assign &&
(Object.assign = function (t) {
if (null == t)
throw new TypeError(
"Cannot convert undefined or null to object"
);
for (
var e = Object(t), i = 1;
i < arguments.length;
i++
) {
var a = arguments[i];
if (null != a)
for (var s in a)
a.hasOwnProperty(s) &&
(e[s] = a[s]);
}
return e;
});
var a = Object.assign({}, t);
return (
this.isObject(t) &&
this.isObject(e) &&
Object.keys(e).forEach(function (s) {
i.isObject(e[s]) && s in t
? (a[s] = i.extend(t[s], e[s]))
: Object.assign(
a,
o({}, s, e[s])
);
}),
a
);
},
},
{
key: "extendArray",
value: function (e, i) {
var a = [];
return (
e.map(function (e) {
a.push(t.extend(i, e));
}),
(e = a)
);
},
},
{
key: "monthMod",
value: function (t) {
return t % 12;
},
},
{
key: "clone",
value: function (e) {
if (t.is("Array", e)) {
for (var a = [], s = 0; s < e.length; s++)
a[s] = this.clone(e[s]);
return a;
}
if (t.is("Null", e)) return null;
if (t.is("Date", e)) return e;
if ("object" === i(e)) {
var r = {};
for (var o in e)
e.hasOwnProperty(o) &&
(r[o] = this.clone(e[o]));
return r;
}
return e;
},
},
{
key: "log10",
value: function (t) {
return Math.log(t) / Math.LN10;
},
},
{
key: "roundToBase10",
value: function (t) {
return Math.pow(10, Math.floor(Math.log10(t)));
},
},
{
key: "roundToBase",
value: function (t, e) {
return Math.pow(
e,
Math.floor(Math.log(t) / Math.log(e))
);
},
},
{
key: "parseNumber",
value: function (t) {
return null === t ? t : parseFloat(t);
},
},
{
key: "stripNumber",
value: function (t) {
var e =
arguments.length > 1 &&
void 0 !== arguments[1]
? arguments[1]
: 2;
return Number.isInteger(t)
? t
: parseFloat(t.toPrecision(e));
},
},
{
key: "randomId",
value: function () {
return (Math.random() + 1)
.toString(36)
.substring(4);
},
},
{
key: "noExponents",
value: function (t) {
var e = String(t).split(/[eE]/);
if (1 === e.length) return e[0];
var i = "",
a = t < 0 ? "-" : "",
s = e[0].replace(".", ""),
r = Number(e[1]) + 1;
if (r < 0) {
for (i = a + "0."; r++; ) i += "0";
return i + s.replace(/^-/, "");
}
for (r -= s.length; r--; ) i += "0";
return s + i;
},
},
{
key: "getDimensions",
value: function (t) {
var e = getComputedStyle(t, null),
i = t.clientHeight,
a = t.clientWidth;
return (
(i -=
parseFloat(e.paddingTop) +
parseFloat(e.paddingBottom)),
[
(a -=
parseFloat(e.paddingLeft) +
parseFloat(e.paddingRight)),
i,
]
);
},
},
{
key: "getBoundingClientRect",
value: function (t) {
var e = t.getBoundingClientRect();
return {
top: e.top,
right: e.right,
bottom: e.bottom,
left: e.left,
width: t.clientWidth,
height: t.clientHeight,
x: e.left,
y: e.top,
};
},
},
{
key: "getLargestStringFromArr",
value: function (t) {
return t.reduce(function (t, e) {
return (
Array.isArray(e) &&
(e = e.reduce(function (t, e) {
return t.length > e.length
? t
: e;
})),
t.length > e.length ? t : e
);
}, 0);
},
},
{
key: "hexToRgba",
value: function () {
var t =
arguments.length > 0 &&
void 0 !== arguments[0]
? arguments[0]
: "#999999",
e =
arguments.length > 1 &&
void 0 !== arguments[1]
? arguments[1]
: 0.6;
"#" !== t.substring(0, 1) && (t = "#999999");
var i = t.replace("#", "");
i = i.match(
new RegExp("(.{" + i.length / 3 + "})", "g")
);
for (var a = 0; a < i.length; a++)
i[a] = parseInt(
1 === i[a].length ? i[a] + i[a] : i[a],
16
);
return (
void 0 !== e && i.push(e),
"rgba(" + i.join(",") + ")"
);
},
},
{
key: "getOpacityFromRGBA",
value: function (t) {
return parseFloat(
t.replace(/^.*,(.+)\)/, "$1")
);
},
},
{
key: "rgb2hex",
value: function (t) {
return (t = t.match(
/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i
)) && 4 === t.length
? "#" +
(
"0" +
parseInt(t[1], 10).toString(16)
).slice(-2) +
(
"0" +
parseInt(t[2], 10).toString(16)
).slice(-2) +
(
"0" +
parseInt(t[3], 10).toString(16)
).slice(-2)
: "";
},
},
{
key: "isColorHex",
value: function (t) {
return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)|(^#[0-9A-F]{8}$)/i.test(
t
);
},
},
{
key: "getPolygonPos",
value: function (t, e) {
for (
var i = [], a = (2 * Math.PI) / e, s = 0;
s < e;
s++
) {
var r = {};
(r.x = t * Math.sin(s * a)),
(r.y = -t * Math.cos(s * a)),
i.push(r);
}
return i;
},
},
{
key: "polarToCartesian",
value: function (t, e, i, a) {
var s = ((a - 90) * Math.PI) / 180;
return {
x: t + i * Math.cos(s),
y: e + i * Math.sin(s),
};
},
},
{
key: "escapeString",
value: function (t) {
var e =
arguments.length > 1 &&
void 0 !== arguments[1]
? arguments[1]
: "x",
i = t.toString().slice();
return (i = i.replace(
/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,
e
));
},
},
{
key: "negToZero",
value: function (t) {
return t < 0 ? 0 : t;
},
},
{
key: "moveIndexInArray",
value: function (t, e, i) {
if (i >= t.length)
for (var a = i - t.length + 1; a--; )
t.push(void 0);
return t.splice(i, 0, t.splice(e, 1)[0]), t;
},
},
{
key: "extractNumber",
value: function (t) {
return parseFloat(t.replace(/[^\d.]*/g, ""));
},
},
{
key: "findAncestor",
value: function (t, e) {
for (
;
(t = t.parentElement) &&
!t.classList.contains(e);
);
return t;
},
},
{
key: "setELstyles",
value: function (t, e) {
for (var i in e)
e.hasOwnProperty(i) && (t.style.key = e[i]);
},
},
{
key: "isNumber",
value: function (t) {
return (
!isNaN(t) &&
parseFloat(Number(t)) === t &&
!isNaN(parseInt(t, 10))
);
},
},
{
key: "isFloat",
value: function (t) {
return Number(t) === t && t % 1 != 0;
},
},
{
key: "isSafari",
value: function () {
return /^((?!chrome|android).)*safari/i.test(
navigator.userAgent
);
},
},
{
key: "isFirefox",
value: function () {
return (
navigator.userAgent
.toLowerCase()
.indexOf("firefox") > -1
);
},
},
{
key: "isIE11",
value: function () {
if (
-1 !==
window.navigator.userAgent.indexOf(
"MSIE"
) ||
window.navigator.appVersion.indexOf(
"Trident/"
) > -1
)
return !0;
},
},
{
key: "isIE",
value: function () {
var t = window.navigator.userAgent,
e = t.indexOf("MSIE ");
if (e > 0)
return parseInt(
t.substring(e + 5, t.indexOf(".", e)),
10
);
if (t.indexOf("Trident/") > 0) {
var i = t.indexOf("rv:");
return parseInt(
t.substring(i + 3, t.indexOf(".", i)),
10
);
}
var a = t.indexOf("Edge/");
return (
a > 0 &&
parseInt(
t.substring(a + 5, t.indexOf(".", a)),
10
)
);
},
},
]
),
t
);
})(),
b = (function () {
function t(e) {
a(this, t),
(this.ctx = e),
(this.w = e.w),
this.setEasingFunctions();
}
return (
r(t, [
{
key: "setEasingFunctions",
value: function () {
var t;
if (!this.w.globals.easing) {
switch (this.w.config.chart.animations.easing) {
case "linear":
t = "-";
break;
case "easein":
t = "<";
break;
case "easeout":
t = ">";
break;
case "easeinout":
default:
t = "<>";
break;
case "swing":
t = function (t) {
var e = 1.70158;
return (
(t -= 1) *
t *
((e + 1) * t + e) +
1
);
};
break;
case "bounce":
t = function (t) {
return t < 1 / 2.75
? 7.5625 * t * t
: t < 2 / 2.75
? 7.5625 *
(t -= 1.5 / 2.75) *
t +
0.75
: t < 2.5 / 2.75
? 7.5625 *
(t -= 2.25 / 2.75) *
t +
0.9375
: 7.5625 *
(t -= 2.625 / 2.75) *
t +
0.984375;
};
break;
case "elastic":
t = function (t) {
return t === !!t
? t
: Math.pow(2, -10 * t) *
Math.sin(
((t - 0.075) *
(2 * Math.PI)) /
0.3
) +
1;
};
}
this.w.globals.easing = t;
}
},
},
{
key: "animateLine",
value: function (t, e, i, a) {
t.attr(e).animate(a).attr(i);
},
},
{
key: "animateMarker",
value: function (t, e, i, a, s, r) {
e || (e = 0),
t
.attr({ r: e, width: e, height: e })
.animate(a, s)
.attr({
r: i,
width: i.width,
height: i.height,
})
.afterAll(function () {
r();
});
},
},
{
key: "animateCircle",
value: function (t, e, i, a, s) {
t.attr({ r: e.r, cx: e.cx, cy: e.cy })
.animate(a, s)
.attr({ r: i.r, cx: i.cx, cy: i.cy });
},
},
{
key: "animateRect",
value: function (t, e, i, a, s) {
t.attr(e)
.animate(a)
.attr(i)
.afterAll(function () {
return s();
});
},
},
{
key: "animatePathsGradually",
value: function (t) {
var e = t.el,
i = t.realIndex,
a = t.j,
s = t.fill,
r = t.pathFrom,
o = t.pathTo,
n = t.speed,
l = t.delay,
h = this.w,
c = 0;
h.config.chart.animations.animateGradually
.enabled &&
(c =
h.config.chart.animations.animateGradually
.delay),
h.config.chart.animations.dynamicAnimation
.enabled &&
h.globals.dataChanged &&
"bar" !== h.config.chart.type &&
(c = 0),
this.morphSVG(
e,
i,
a,
"line" !== h.config.chart.type ||
h.globals.comboCharts
? s
: "stroke",
r,
o,
n,
l * c
);
},
},
{
key: "showDelayedElements",
value: function () {
this.w.globals.delayedElements.forEach(function (
t
) {
var e = t.el;
e.classList.remove("apexcharts-element-hidden"),
e.classList.add(
"apexcharts-hidden-element-shown"
);
});
},
},
{
key: "animationCompleted",
value: function (t) {
var e = this.w;
e.globals.animationEnded ||
((e.globals.animationEnded = !0),
this.showDelayedElements(),
"function" ==
typeof e.config.chart.events.animationEnd &&
e.config.chart.events.animationEnd(
this.ctx,
{ el: t, w: e }
));
},
},
{
key: "morphSVG",
value: function (t, e, i, a, s, r, o, n) {
var l = this,
h = this.w;
s || (s = t.attr("pathFrom")),
r || (r = t.attr("pathTo"));
var c = function (t) {
return (
"radar" === h.config.chart.type && (o = 1),
"M 0 ".concat(h.globals.gridHeight)
);
};
(!s ||
s.indexOf("undefined") > -1 ||
s.indexOf("NaN") > -1) &&
(s = c()),
(!r ||
r.indexOf("undefined") > -1 ||
r.indexOf("NaN") > -1) &&
(r = c()),
h.globals.shouldAnimate || (o = 1),
t
.plot(s)
.animate(1, h.globals.easing, n)
.plot(s)
.animate(o, h.globals.easing, n)
.plot(r)
.afterAll(function () {
x.isNumber(i)
? i ===
h.globals.series[
h.globals
.maxValsInArrayIndex
].length -
2 &&
h.globals.shouldAnimate &&
l.animationCompleted(t)
: "none" !== a &&
h.globals.shouldAnimate &&
((!h.globals.comboCharts &&
e ===
h.globals.series.length -
1) ||
h.globals.comboCharts) &&
l.animationCompleted(t),
l.showDelayedElements();
});
},
},
]),
t
);
})(),
v = (function () {
function t(e) {
a(this, t), (this.ctx = e), (this.w = e.w);
}
return (
r(t, [
{
key: "getDefaultFilter",
value: function (t, e) {
var i = this.w;
t.unfilter(!0),
new window.SVG.Filter().size(
"120%",
"180%",
"-5%",
"-40%"
),
"none" !== i.config.states.normal.filter
? this.applyFilter(
t,
e,
i.config.states.normal.filter.type,
i.config.states.normal.filter.value
)
: i.config.chart.dropShadow.enabled &&
this.dropShadow(
t,
i.config.chart.dropShadow,
e
);
},
},
{
key: "addNormalFilter",
value: function (t, e) {
var i = this.w;
i.config.chart.dropShadow.enabled &&
!t.node.classList.contains(
"apexcharts-marker"
) &&
this.dropShadow(
t,
i.config.chart.dropShadow,
e
);
},
},
{
key: "addLightenFilter",
value: function (t, e, i) {
var a = this,
s = this.w,
r = i.intensity;
t.unfilter(!0);
new window.SVG.Filter();
t.filter(function (t) {
var i = s.config.chart.dropShadow;
(i.enabled
? a.addShadow(t, e, i)
: t
).componentTransfer({
rgb: {
type: "linear",
slope: 1.5,
intercept: r,
},
});
}),
t.filterer.node.setAttribute(
"filterUnits",
"userSpaceOnUse"
),
this._scaleFilterSize(t.filterer.node);
},
},
{
key: "addDarkenFilter",
value: function (t, e, i) {
var a = this,
s = this.w,
r = i.intensity;
t.unfilter(!0);
new window.SVG.Filter();
t.filter(function (t) {
var i = s.config.chart.dropShadow;
(i.enabled
? a.addShadow(t, e, i)
: t
).componentTransfer({
rgb: { type: "linear", slope: r },
});
}),
t.filterer.node.setAttribute(
"filterUnits",
"userSpaceOnUse"
),
this._scaleFilterSize(t.filterer.node);
},
},
{
key: "applyFilter",
value: function (t, e, i) {
var a =
arguments.length > 3 && void 0 !== arguments[3]
? arguments[3]
: 0.5;
switch (i) {
case "none":
this.addNormalFilter(t, e);
break;
case "lighten":
this.addLightenFilter(t, e, {
intensity: a,
});
break;
case "darken":
this.addDarkenFilter(t, e, {
intensity: a,
});
}
},
},
{
key: "addShadow",
value: function (t, e, i) {
var a = i.blur,
s = i.top,
r = i.left,
o = i.color,
n = i.opacity,
l = t
.flood(Array.isArray(o) ? o[e] : o, n)
.composite(t.sourceAlpha, "in")
.offset(r, s)
.gaussianBlur(a)
.merge(t.source);
return t.blend(t.source, l);
},
},
{
key: "dropShadow",
value: function (t, e) {
var i =
arguments.length > 2 &&
void 0 !== arguments[2]
? arguments[2]
: 0,
a = e.top,
s = e.left,
r = e.blur,
o = e.color,
n = e.opacity,
l = e.noUserSpaceOnUse,
h = this.w;
return (
t.unfilter(!0),
(x.isIE() &&
"radialBar" === h.config.chart.type) ||
((o = Array.isArray(o) ? o[i] : o),
t.filter(function (t) {
var e = null;
(e =
x.isSafari() ||
x.isFirefox() ||
x.isIE()
? t
.flood(o, n)
.composite(
t.sourceAlpha,
"in"
)
.offset(s, a)
.gaussianBlur(r)
: t
.flood(o, n)
.composite(
t.sourceAlpha,
"in"
)
.offset(s, a)
.gaussianBlur(r)
.merge(t.source)),
t.blend(t.source, e);
}),
l ||
t.filterer.node.setAttribute(
"filterUnits",
"userSpaceOnUse"
),
this._scaleFilterSize(t.filterer.node)),
t
);
},
},
{
key: "setSelectionFilter",
value: function (t, e, i) {
var a = this.w;
if (
void 0 !== a.globals.selectedDataPoints[e] &&
a.globals.selectedDataPoints[e].indexOf(i) > -1
) {
t.node.setAttribute("selected", !0);
var s = a.config.states.active.filter;
"none" !== s &&
this.applyFilter(t, e, s.type, s.value);
}
},
},
{
key: "_scaleFilterSize",
value: function (t) {
!(function (e) {
for (var i in e)
e.hasOwnProperty(i) &&
t.setAttribute(i, e[i]);
})({
width: "200%",
height: "200%",
x: "-50%",
y: "-50%",
});
},
},
]),
t
);
})(),
m = (function () {
function t(e) {
a(this, t), (this.ctx = e), (this.w = e.w);
}
return (
r(
t,
[
{
key: "roundPathCorners",
value: function (t, e) {
function i(t, e, i) {
var s = e.x - t.x,
r = e.y - t.y,
o = Math.sqrt(s * s + r * r);
return a(t, e, Math.min(1, i / o));
}
function a(t, e, i) {
return {
x: t.x + (e.x - t.x) * i,
y: t.y + (e.y - t.y) * i,
};
}
function s(t, e) {
t.length > 2 &&
((t[t.length - 2] = e.x),
(t[t.length - 1] = e.y));
}
function r(t) {
return {
x: parseFloat(t[t.length - 2]),
y: parseFloat(t[t.length - 1]),
};
}
t.indexOf("NaN") > -1 && (t = "");
var o = t
.split(/[,\s]/)
.reduce(function (t, e) {
var i = e.match("([a-zA-Z])(.+)");
return (
i
? (t.push(i[1]),
t.push(i[2]))
: t.push(e),
t
);
}, [])
.reduce(function (t, e) {
return (
parseFloat(e) == e && t.length
? t[t.length - 1].push(e)
: t.push([e]),
t
);
}, []),
n = [];
if (o.length > 1) {
var l = r(o[0]),
h = null;
"Z" == o[o.length - 1][0] &&
o[0].length > 2 &&
((h = ["L", l.x, l.y]),
(o[o.length - 1] = h)),
n.push(o[0]);
for (var c = 1; c < o.length; c++) {
var d = n[n.length - 1],
g = o[c],
u = g == h ? o[1] : o[c + 1];
if (
u &&
d &&
d.length > 2 &&
"L" == g[0] &&
u.length > 2 &&
"L" == u[0]
) {
var p,
f,
x = r(d),
b = r(g),
v = r(u);
(p = i(b, x, e)),
(f = i(b, v, e)),
s(g, p),
(g.origPoint = b),
n.push(g);
var m = a(p, b, 0.5),
y = a(b, f, 0.5),
w = [
"C",
m.x,
m.y,
y.x,
y.y,
f.x,
f.y,
];
(w.origPoint = b), n.push(w);
} else n.push(g);
}
if (h) {
var k = r(n[n.length - 1]);
n.push(["Z"]), s(n[0], k);
}
} else n = o;
return n.reduce(function (t, e) {
return t + e.join(" ") + " ";
}, "");
},
},
{
key: "drawLine",
value: function (t, e, i, a) {
var s =
arguments.length > 4 &&
void 0 !== arguments[4]
? arguments[4]
: "#a8a8a8",
r =
arguments.length > 5 &&
void 0 !== arguments[5]
? arguments[5]
: 0,
o =
arguments.length > 6 &&
void 0 !== arguments[6]
? arguments[6]
: null,
n =
arguments.length > 7 &&
void 0 !== arguments[7]
? arguments[7]
: "butt";
return this.w.globals.dom.Paper.line().attr({
x1: t,
y1: e,
x2: i,
y2: a,
stroke: s,
"stroke-dasharray": r,
"stroke-width": o,
"stroke-linecap": n,
});
},
},
{
key: "drawRect",
value: function () {
var t =
arguments.length > 0 &&
void 0 !== arguments[0]
? arguments[0]
: 0,
e =
arguments.length > 1 &&
void 0 !== arguments[1]
? arguments[1]
: 0,
i =
arguments.length > 2 &&
void 0 !== arguments[2]
? arguments[2]
: 0,
a =
arguments.length > 3 &&
void 0 !== arguments[3]
? arguments[3]
: 0,
s =
arguments.length > 4 &&
void 0 !== arguments[4]
? arguments[4]
: 0,
r =
arguments.length > 5 &&
void 0 !== arguments[5]
? arguments[5]
: "#fefefe",
o =
arguments.length > 6 &&
void 0 !== arguments[6]
? arguments[6]
: 1,
n =
arguments.length > 7 &&
void 0 !== arguments[7]
? arguments[7]
: null,
l =
arguments.length > 8 &&
void 0 !== arguments[8]
? arguments[8]
: null,
h =
arguments.length > 9 &&
void 0 !== arguments[9]
? arguments[9]
: 0,
c = this.w.globals.dom.Paper.rect();
return (
c.attr({
x: t,
y: e,
width: i > 0 ? i : 0,
height: a > 0 ? a : 0,
rx: s,
ry: s,
opacity: o,
"stroke-width": null !== n ? n : 0,
stroke: null !== l ? l : "none",
"stroke-dasharray": h,
}),
c.node.setAttribute("fill", r),
c
);
},
},
{
key: "drawPolygon",
value: function (t) {
var e =
arguments.length > 1 &&
void 0 !== arguments[1]
? arguments[1]
: "#e1e1e1",
i =
arguments.length > 2 &&
void 0 !== arguments[2]
? arguments[2]
: 1,
a =
arguments.length > 3 &&
void 0 !== arguments[3]
? arguments[3]
: "none";
return this.w.globals.dom.Paper.polygon(t).attr(
{ fill: a, stroke: e, "stroke-width": i }
);
},
},
{
key: "drawCircle",
value: function (t) {
var e =
arguments.length > 1 &&
void 0 !== arguments[1]
? arguments[1]
: null;
t < 0 && (t = 0);
var i = this.w.globals.dom.Paper.circle(2 * t);
return null !== e && i.attr(e), i;
},
},
{
key: "drawPath",
value: function (t) {
var e = t.d,
i = void 0 === e ? "" : e,
a = t.stroke,
s = void 0 === a ? "#a8a8a8" : a,
r = t.strokeWidth,
o = void 0 === r ? 1 : r,
n = t.fill,
l = t.fillOpacity,
h = void 0 === l ? 1 : l,
c = t.strokeOpacity,
d = void 0 === c ? 1 : c,
g = t.classes,
u = t.strokeLinecap,
p = void 0 === u ? null : u,
f = t.strokeDashArray,
x = void 0 === f ? 0 : f,
b = this.w;
return (
null === p && (p = b.config.stroke.lineCap),
(i.indexOf("undefined") > -1 ||
i.indexOf("NaN") > -1) &&
(i = "M 0 ".concat(
b.globals.gridHeight
)),
b.globals.dom.Paper.path(i).attr({
fill: n,
"fill-opacity": h,
stroke: s,
"stroke-opacity": d,
"stroke-linecap": p,
"stroke-width": o,
"stroke-dasharray": x,
class: g,
})
);
},
},
{
key: "group",
value: function () {
var t =
arguments.length > 0 &&
void 0 !== arguments[0]
? arguments[0]
: null,
e = this.w.globals.dom.Paper.group();
return null !== t && e.attr(t), e;
},
},
{
key: "move",
value: function (t, e) {
var i = ["M", t, e].join(" ");
return i;
},
},
{
key: "line",
value: function (t, e) {
var i =
arguments.length > 2 &&
void 0 !== arguments[2]
? arguments[2]
: null,
a = null;
return (
null === i
? (a = [" L", t, e].join(" "))
: "H" === i
? (a = [" H", t].join(" "))
: "V" === i &&
(a = [" V", e].join(" ")),
a
);
},
},
{
key: "curve",
value: function (t, e, i, a, s, r) {
var o = ["C", t, e, i, a, s, r].join(" ");
return o;
},
},
{
key: "quadraticCurve",
value: function (t, e, i, a) {
return ["Q", t, e, i, a].join(" ");
},
},
{
key: "arc",
value: function (t, e, i, a, s, r, o) {
var n = "A";
arguments.length > 7 &&
void 0 !== arguments[7] &&
arguments[7] &&
(n = "a");
var l = [n, t, e, i, a, s, r, o].join(" ");
return l;
},
},
{
key: "renderPaths",
value: function (t) {
var i,
a = t.j,
s = t.realIndex,
r = t.pathFrom,
o = t.pathTo,
n = t.stroke,
l = t.strokeWidth,
h = t.strokeLinecap,
c = t.fill,
d = t.animationDelay,
g = t.initialSpeed,
u = t.dataChangeSpeed,
p = t.className,
f = t.shouldClipToGrid,
x = void 0 === f || f,
m = t.bindEventsOnPaths,
y = void 0 === m || m,
w = t.drawShadow,
k = void 0 === w || w,
A = this.w,
S = new v(this.ctx),
C = new b(this.ctx),
L = this.w.config.chart.animations.enabled,
P =
L &&
this.w.config.chart.animations
.dynamicAnimation.enabled,
I = !!(
(L && !A.globals.resized) ||
(P &&
A.globals.dataChanged &&
A.globals.shouldAnimate)
);
I
? (i = r)
: ((i = o),
(A.globals.animationEnded = !0));
var T = A.config.stroke.dashArray,
M = 0;
M = Array.isArray(T)
? T[s]
: A.config.stroke.dashArray;
var z = this.drawPath({
d: i,
stroke: n,
strokeWidth: l,
fill: c,
fillOpacity: 1,
classes: p,
strokeLinecap: h,
strokeDashArray: M,
});
if (
(z.attr("index", s),
x &&
z.attr({
"clip-path":
"url(#gridRectMask".concat(
A.globals.cuid,
")"
),
}),
"none" !==
A.config.states.normal.filter.type)
)
S.getDefaultFilter(z, s);
else if (
A.config.chart.dropShadow.enabled &&
k &&
(!A.config.chart.dropShadow
.enabledOnSeries ||
(A.config.chart.dropShadow
.enabledOnSeries &&
-1 !==
A.config.chart.dropShadow.enabledOnSeries.indexOf(
s
)))
) {
var X = A.config.chart.dropShadow;
S.dropShadow(z, X, s);
}
y &&
(z.node.addEventListener(
"mouseenter",
this.pathMouseEnter.bind(this, z)
),
z.node.addEventListener(
"mouseleave",
this.pathMouseLeave.bind(this, z)
),
z.node.addEventListener(
"mousedown",
this.pathMouseDown.bind(this, z)
)),
z.attr({ pathTo: o, pathFrom: r });
var E = {
el: z,
j: a,
realIndex: s,
pathFrom: r,
pathTo: o,
fill: c,
strokeWidth: l,
delay: d,
};
return (
!L ||
A.globals.resized ||
A.globals.dataChanged
? (!A.globals.resized &&
A.globals.dataChanged) ||
C.showDelayedElements()
: C.animatePathsGradually(
e(e({}, E), {}, { speed: g })
),
A.globals.dataChanged &&
P &&
I &&
C.animatePathsGradually(
e(e({}, E), {}, { speed: u })
),
z
);
},
},
{
key: "drawPattern",
value: function (t, e, i) {
var a =
arguments.length > 3 &&
void 0 !== arguments[3]
? arguments[3]
: "#a8a8a8",
s =
arguments.length > 4 &&
void 0 !== arguments[4]
? arguments[4]
: 0;
return this.w.globals.dom.Paper.pattern(
e,
i,
function (r) {
"horizontalLines" === t
? r
.line(0, 0, i, 0)
.stroke({
color: a,
width: s + 1,
})
: "verticalLines" === t
? r
.line(0, 0, 0, e)
.stroke({
color: a,
width: s + 1,
})
: "slantedLines" === t
? r
.line(0, 0, e, i)
.stroke({
color: a,
width: s,
})
: "squares" === t
? r
.rect(e, i)
.fill("none")
.stroke({
color: a,
width: s,
})
: "circles" === t &&
r
.circle(e)
.fill("none")
.stroke({
color: a,
width: s,
});
}
);
},
},
{
key: "drawGradient",
value: function (t, e, i, a, s) {
var r,
o =
arguments.length > 5 &&
void 0 !== arguments[5]
? arguments[5]
: null,
n =
arguments.length > 6 &&
void 0 !== arguments[6]
? arguments[6]
: null,
l =
arguments.length > 7 &&
void 0 !== arguments[7]
? arguments[7]
: null,
h =
arguments.length > 8 &&
void 0 !== arguments[8]
? arguments[8]
: 0,
c = this.w;
e.length < 9 &&
0 === e.indexOf("#") &&
(e = x.hexToRgba(e, a)),
i.length < 9 &&
0 === i.indexOf("#") &&
(i = x.hexToRgba(i, s));
var d = 0,
g = 1,
u = 1,
p = null;
null !== n &&
((d = void 0 !== n[0] ? n[0] / 100 : 0),
(g = void 0 !== n[1] ? n[1] / 100 : 1),
(u = void 0 !== n[2] ? n[2] / 100 : 1),
(p = void 0 !== n[3] ? n[3] / 100 : null));
var f = !(
"donut" !== c.config.chart.type &&
"pie" !== c.config.chart.type &&
"polarArea" !== c.config.chart.type &&
"bubble" !== c.config.chart.type
);
if (
((r =
null === l || 0 === l.length
? c.globals.dom.Paper.gradient(
f ? "radial" : "linear",
function (t) {
t.at(d, e, a),
t.at(g, i, s),
t.at(u, i, s),
null !== p &&
t.at(p, e, a);
}
)
: c.globals.dom.Paper.gradient(
f ? "radial" : "linear",
function (t) {
(Array.isArray(l[h])
? l[h]
: l
).forEach(function (e) {
t.at(
e.offset / 100,
e.color,
e.opacity
);
});
}
)),
f)
) {
var b = c.globals.gridWidth / 2,
v = c.globals.gridHeight / 2;
"bubble" !== c.config.chart.type
? r.attr({
gradientUnits: "userSpaceOnUse",
cx: b,
cy: v,
r: o,
})
: r.attr({
cx: 0.5,
cy: 0.5,
r: 0.8,
fx: 0.2,
fy: 0.2,
});
} else
"vertical" === t
? r.from(0, 0).to(0, 1)
: "diagonal" === t
? r.from(0, 0).to(1, 1)
: "horizontal" === t
? r.from(0, 1).to(1, 1)
: "diagonal2" === t &&
r.from(1, 0).to(0, 1);
return r;
},
},
{
key: "getTextBasedOnMaxWidth",
value: function (t) {
var e = t.text,
i = t.maxWidth,
a = t.fontSize,
s = t.fontFamily,
r = this.getTextRects(e, a, s),
o = r.width / e.length,
n = Math.floor(i / o);
return i < r.width
? e.slice(0, n - 3) + "..."
: e;
},
},
{
key: "drawText",
value: function (t) {
var i = this,
a = t.x,
s = t.y,
r = t.text,
o = t.textAnchor,
n = t.fontSize,
l = t.fontFamily,
h = t.fontWeight,
c = t.foreColor,
d = t.opacity,
g = t.maxWidth,
u = t.cssClass,
p = void 0 === u ? "" : u,
f = t.isPlainText,
x = void 0 === f || f,
b = this.w;
void 0 === r && (r = "");
var v = r;
o || (o = "start"),
(c && c.length) ||
(c = b.config.chart.foreColor),
(l = l || b.config.chart.fontFamily),
(h = h || "regular");
var m,
y = {
maxWidth: g,
fontSize: (n = n || "11px"),
fontFamily: l,
};
return (
Array.isArray(r)
? (m = b.globals.dom.Paper.text(
function (t) {
for (
var a = 0;
a < r.length;
a++
)
(v = r[a]),
g &&
(v =
i.getTextBasedOnMaxWidth(
e(
{
text: r[
a
],
},
y
)
)),
0 === a
? t.tspan(v)
: t
.tspan(v)
.newLine();
}
))
: (g &&
(v = this.getTextBasedOnMaxWidth(
e({ text: r }, y)
)),
(m = x
? b.globals.dom.Paper.plain(r)
: b.globals.dom.Paper.text(
function (t) {
return t.tspan(v);
}
))),
m.attr({
x: a,
y: s,
"text-anchor": o,
"dominant-baseline": "auto",
"font-size": n,
"font-family": l,
"font-weight": h,
fill: c,
class: "apexcharts-text " + p,
}),
(m.node.style.fontFamily = l),
(m.node.style.opacity = d),
m
);
},
},
{
key: "drawMarker",
value: function (t, e, i) {
t = t || 0;
var a = i.pSize || 0,
s = null;
if (
"square" === i.shape ||
"rect" === i.shape
) {
var r =
void 0 === i.pRadius
? a / 2
: i.pRadius;
(null !== e && a) || ((a = 0), (r = 0));
var o = 1.2 * a + r,
n = this.drawRect(o, o, o, o, r);
n.attr({
x: t - o / 2,
y: e - o / 2,
cx: t,
cy: e,
class: i.class ? i.class : "",
fill: i.pointFillColor,
"fill-opacity": i.pointFillOpacity
? i.pointFillOpacity
: 1,
stroke: i.pointStrokeColor,
"stroke-width": i.pointStrokeWidth
? i.pointStrokeWidth
: 0,
"stroke-opacity": i.pointStrokeOpacity
? i.pointStrokeOpacity
: 1,
}),
(s = n);
} else
("circle" !== i.shape && i.shape) ||
(x.isNumber(e) || ((a = 0), (e = 0)),
(s = this.drawCircle(a, {
cx: t,
cy: e,
class: i.class ? i.class : "",
stroke: i.pointStrokeColor,
fill: i.pointFillColor,
"fill-opacity": i.pointFillOpacity
? i.pointFillOpacity
: 1,
"stroke-width": i.pointStrokeWidth
? i.pointStrokeWidth
: 0,
"stroke-opacity":
i.pointStrokeOpacity
? i.pointStrokeOpacity
: 1,
})));
return s;
},
},
{
key: "pathMouseEnter",
value: function (t, e) {
var i = this.w,
a = new v(this.ctx),
s = parseInt(
t.node.getAttribute("index"),
10
),
r = parseInt(t.node.getAttribute("j"), 10);
if (
("function" ==
typeof i.config.chart.events
.dataPointMouseEnter &&
i.config.chart.events.dataPointMouseEnter(
e,
this.ctx,
{
seriesIndex: s,
dataPointIndex: r,
w: i,
}
),
this.ctx.events.fireEvent(
"dataPointMouseEnter",
[
e,
this.ctx,
{
seriesIndex: s,
dataPointIndex: r,
w: i,
},
]
),
("none" ===
i.config.states.active.filter.type ||
"true" !==
t.node.getAttribute("selected")) &&
"none" !==
i.config.states.hover.filter.type &&
!i.globals.isTouchDevice)
) {
var o = i.config.states.hover.filter;
a.applyFilter(t, s, o.type, o.value);
}
},
},
{
key: "pathMouseLeave",
value: function (t, e) {
var i = this.w,
a = new v(this.ctx),
s = parseInt(
t.node.getAttribute("index"),
10
),
r = parseInt(t.node.getAttribute("j"), 10);
"function" ==
typeof i.config.chart.events
.dataPointMouseLeave &&
i.config.chart.events.dataPointMouseLeave(
e,
this.ctx,
{
seriesIndex: s,
dataPointIndex: r,
w: i,
}
),
this.ctx.events.fireEvent(
"dataPointMouseLeave",
[
e,
this.ctx,
{
seriesIndex: s,
dataPointIndex: r,
w: i,
},
]
),
("none" !==
i.config.states.active.filter.type &&
"true" ===
t.node.getAttribute("selected")) ||
("none" !==
i.config.states.hover.filter.type &&
a.getDefaultFilter(t, s));
},
},
{
key: "pathMouseDown",
value: function (t, e) {
var i = this.w,
a = new v(this.ctx),
s = parseInt(
t.node.getAttribute("index"),
10
),
r = parseInt(t.node.getAttribute("j"), 10),
o = "false";
if (
"true" === t.node.getAttribute("selected")
) {
if (
(t.node.setAttribute(
"selected",
"false"
),
i.globals.selectedDataPoints[s].indexOf(
r
) > -1)
) {
var n =
i.globals.selectedDataPoints[
s
].indexOf(r);
i.globals.selectedDataPoints[s].splice(
n,
1
);
}
} else {
if (
!i.config.states.active
.allowMultipleDataPointsSelection &&
i.globals.selectedDataPoints.length > 0
) {
i.globals.selectedDataPoints = [];
var l = i.globals.dom.Paper.select(
".apexcharts-series path"
).members,
h = i.globals.dom.Paper.select(
".apexcharts-series circle, .apexcharts-series rect"
).members,
c = function (t) {
Array.prototype.forEach.call(
t,
function (t) {
t.node.setAttribute(
"selected",
"false"
),
a.getDefaultFilter(
t,
s
);
}
);
};
c(l), c(h);
}
t.node.setAttribute("selected", "true"),
(o = "true"),
void 0 ===
i.globals.selectedDataPoints[s] &&
(i.globals.selectedDataPoints[s] =
[]),
i.globals.selectedDataPoints[s].push(r);
}
if ("true" === o) {
var d = i.config.states.active.filter;
if ("none" !== d)
a.applyFilter(t, s, d.type, d.value);
else if (
"none" !==
i.config.states.hover.filter &&
!i.globals.isTouchDevice
) {
var g = i.config.states.hover.filter;
a.applyFilter(t, s, g.type, g.value);
}
} else if (
"none" !==
i.config.states.active.filter.type
)
if (
"none" ===
i.config.states.hover.filter.type ||
i.globals.isTouchDevice
)
a.getDefaultFilter(t, s);
else {
g = i.config.states.hover.filter;
a.applyFilter(t, s, g.type, g.value);
}
"function" ==
typeof i.config.chart.events
.dataPointSelection &&
i.config.chart.events.dataPointSelection(
e,
this.ctx,
{
selectedDataPoints:
i.globals.selectedDataPoints,
seriesIndex: s,
dataPointIndex: r,
w: i,
}
),
e &&
this.ctx.events.fireEvent(
"dataPointSelection",
[
e,
this.ctx,
{
selectedDataPoints:
i.globals
.selectedDataPoints,
seriesIndex: s,
dataPointIndex: r,
w: i,
},
]
);
},
},
{
key: "rotateAroundCenter",
value: function (t) {
var e = {};
return (
t &&
"function" == typeof t.getBBox &&
(e = t.getBBox()),
{
x: e.x + e.width / 2,
y: e.y + e.height / 2,
}
);
},
},
{
key: "getTextRects",
value: function (t, e, i, a) {
var s =
!(
arguments.length > 4 &&
void 0 !== arguments[4]
) || arguments[4],
r = this.w,
o = this.drawText({
x: -200,
y: -200,
text: t,
textAnchor: "start",
fontSize: e,
fontFamily: i,
foreColor: "#fff",
opacity: 0,
});
a && o.attr("transform", a),
r.globals.dom.Paper.add(o);
var n = o.bbox();
return (
s || (n = o.node.getBoundingClientRect()),
o.remove(),
{ width: n.width, height: n.height }
);
},
},
{
key: "placeTextWithEllipsis",
value: function (t, e, i) {
if (
"function" ==
typeof t.getComputedTextLength &&
((t.textContent = e),
e.length > 0 &&
t.getComputedTextLength() >= i / 1.1)
) {
for (var a = e.length - 3; a > 0; a -= 3)
if (
t.getSubStringLength(0, a) <=
i / 1.1
)
return void (t.textContent =
e.substring(0, a) + "...");
t.textContent = ".";
}
},
},
],
[
{
key: "setAttrs",
value: function (t, e) {
for (var i in e)
e.hasOwnProperty(i) &&
t.setAttribute(i, e[i]);
},
},
]
),
t
);
})(),
y = (function () {
function t(e) {
a(this, t), (this.ctx = e), (this.w = e.w);
}
return (
r(
t,
[
{
key: "getStackedSeriesTotals",
value: function () {
var t =
arguments.length > 0 &&
void 0 !== arguments[0]
? arguments[0]
: [],
e = this.w,
i = [];
if (0 === e.globals.series.length) return i;
for (
var a = 0;
a <
e.globals.series[
e.globals.maxValsInArrayIndex
].length;
a++
) {
for (
var s = 0, r = 0;
r < e.globals.series.length;
r++
)
void 0 !== e.globals.series[r][a] &&
-1 === t.indexOf(r) &&
(s += e.globals.series[r][a]);
i.push(s);
}
return i;
},
},
{
key: "getSeriesTotalByIndex",
value: function () {
var t =
arguments.length > 0 &&
void 0 !== arguments[0]
? arguments[0]
: null;
return null === t
? this.w.config.series.reduce(function (
t,
e
) {
return t + e;
},
0)
: this.w.globals.series[t].reduce(function (
t,
e
) {
return t + e;
},
0);
},
},
{
key: "isSeriesNull",
value: function () {
var t =
arguments.length > 0 &&
void 0 !== arguments[0]
? arguments[0]
: null;
return (
0 ===
(null === t
? this.w.config.series.filter(function (
t
) {
return null !== t;
})
: this.w.config.series[t].data.filter(
function (t) {
return null !== t;
}
)
).length
);
},
},
{
key: "seriesHaveSameValues",
value: function (t) {
return this.w.globals.series[t].every(function (
t,
e,
i
) {
return t === i[0];
});
},
},
{
key: "getCategoryLabels",
value: function (t) {
var e = this.w,
i = t.slice();
return (
e.config.xaxis.convertedCatToNumeric &&
(i = t.map(function (t, i) {
return e.config.xaxis.labels.formatter(
t - e.globals.minX + 1
);
})),
i
);
},
},
{
key: "getLargestSeries",
value: function () {
var t = this.w;
t.globals.maxValsInArrayIndex = t.globals.series
.map(function (t) {
return t.length;
})
.indexOf(
Math.max.apply(
Math,
t.globals.series.map(function (t) {
return t.length;
})
)
);
},
},
{
key: "getLargestMarkerSize",
value: function () {
var t = this.w,
e = 0;
return (
t.globals.markers.size.forEach(function (
t
) {
e = Math.max(e, t);
}),
t.config.markers.discrete &&
t.config.markers.discrete.length &&
t.config.markers.discrete.forEach(
function (t) {
e = Math.max(e, t.size);
}
),
e > 0 &&
(e +=
t.config.markers.hover.sizeOffset +
1),
(t.globals.markers.largestSize = e),
e
);
},
},
{
key: "getSeriesTotals",
value: function () {
var t = this.w;
t.globals.seriesTotals = t.globals.series.map(
function (t, e) {
var i = 0;
if (Array.isArray(t))
for (var a = 0; a < t.length; a++)
i += t[a];
else i += t;
return i;
}
);
},
},
{
key: "getSeriesTotalsXRange",
value: function (t, e) {
var i = this.w;
return i.globals.series.map(function (a, s) {
for (var r = 0, o = 0; o < a.length; o++)
i.globals.seriesX[s][o] > t &&
i.globals.seriesX[s][o] < e &&
(r += a[o]);
return r;
});
},
},
{
key: "getPercentSeries",
value: function () {
var t = this.w;
t.globals.seriesPercent = t.globals.series.map(
function (e, i) {
var a = [];
if (Array.isArray(e))
for (var s = 0; s < e.length; s++) {
var r =
t.globals
.stackedSeriesTotals[
s
],
o = 0;
r && (o = (100 * e[s]) / r),
a.push(o);
}
else {
var n =
(100 * e) /
t.globals.seriesTotals.reduce(
function (t, e) {
return t + e;
},
0
);
a.push(n);
}
return a;
}
);
},
},
{
key: "getCalculatedRatios",
value: function () {
var t,
e,
i,
a,
s = this.w.globals,
r = [],
o = 0,
n = [],
l = 0.1,
h = 0;
if (((s.yRange = []), s.isMultipleYAxis))
for (var c = 0; c < s.minYArr.length; c++)
s.yRange.push(
Math.abs(
s.minYArr[c] - s.maxYArr[c]
)
),
n.push(0);
else s.yRange.push(Math.abs(s.minY - s.maxY));
(s.xRange = Math.abs(s.maxX - s.minX)),
(s.zRange = Math.abs(s.maxZ - s.minZ));
for (var d = 0; d < s.yRange.length; d++)
r.push(s.yRange[d] / s.gridHeight);
if (
((e = s.xRange / s.gridWidth),
(i =
Math.abs(
s.initialMaxX - s.initialMinX
) / s.gridWidth),
(t = s.yRange / s.gridWidth),
(a = s.xRange / s.gridHeight),
(o = (s.zRange / s.gridHeight) * 16) ||
(o = 1),
s.minY !== Number.MIN_VALUE &&
0 !== Math.abs(s.minY) &&
(s.hasNegs = !0),
s.isMultipleYAxis)
) {
n = [];
for (var g = 0; g < r.length; g++)
n.push(-s.minYArr[g] / r[g]);
} else
n.push(-s.minY / r[0]),
s.minY !== Number.MIN_VALUE &&
0 !== Math.abs(s.minY) &&
((l = -s.minY / t),
(h = s.minX / e));
return {
yRatio: r,
invertedYRatio: t,
zRatio: o,
xRatio: e,
initialXRatio: i,
invertedXRatio: a,
baseLineInvertedY: l,
baseLineY: n,
baseLineX: h,
};
},
},
{
key: "getLogSeries",
value: function (t) {
var e = this,
i = this.w;
return (
(i.globals.seriesLog = t.map(function (
t,
a
) {
return i.config.yaxis[a] &&
i.config.yaxis[a].logarithmic
? t.map(function (t) {
return null === t
? null
: e.getLogVal(
i.config.yaxis[a]
.logBase,
t,
a
);
})
: t;
})),
i.globals.invalidLogScale
? t
: i.globals.seriesLog
);
},
},
{
key: "getBaseLog",
value: function (t, e) {
return Math.log(e) / Math.log(t);
},
},
{
key: "getLogVal",
value: function (t, e, i) {
if (0 === e) return 0;
var a = this.w,
s =
0 === a.globals.minYArr[i]
? -1
: this.getBaseLog(
t,
a.globals.minYArr[i]
),
r =
(0 === a.globals.maxYArr[i]
? 0
: this.getBaseLog(
t,
a.globals.maxYArr[i]
)) - s;
return e < 1
? e / r
: (this.getBaseLog(t, e) - s) / r;
},
},
{
key: "getLogYRatios",
value: function (t) {
var e = this,
i = this.w,
a = this.w.globals;
return (
(a.yLogRatio = t.slice()),
(a.logYRange = a.yRange.map(function (
t,
s
) {
if (
i.config.yaxis[s] &&
e.w.config.yaxis[s].logarithmic
) {
var r,
o = -Number.MAX_VALUE,
n = Number.MIN_VALUE;
return (
a.seriesLog.forEach(function (
t,
e
) {
t.forEach(function (t) {
i.config.yaxis[e] &&
i.config.yaxis[e]
.logarithmic &&
((o = Math.max(
t,
o
)),
(n = Math.min(
t,
n
)));
});
}),
(r = Math.pow(
a.yRange[s],
Math.abs(n - o) /
a.yRange[s]
)),
(a.yLogRatio[s] =
r / a.gridHeight),
r
);
}
})),
a.invalidLogScale ? t.slice() : a.yLogRatio
);
},
},
],
[
{
key: "checkComboSeries",
value: function (t) {
var e = !1,
i = 0,
a = 0;
return (
t.length &&
void 0 !== t[0].type &&
t.forEach(function (t) {
("bar" !== t.type &&
"column" !== t.type &&
"candlestick" !== t.type &&
"boxPlot" !== t.type) ||
i++,
void 0 !== t.type && a++;
}),
a > 0 && (e = !0),
{ comboBarCount: i, comboCharts: e }
);
},
},
{
key: "extendArrayProps",
value: function (t, e, i) {
return (
e.yaxis && (e = t.extendYAxis(e, i)),
e.annotations &&
(e.annotations.yaxis &&
(e = t.extendYAxisAnnotations(e)),
e.annotations.xaxis &&
(e = t.extendXAxisAnnotations(e)),
e.annotations.points &&
(e = t.extendPointAnnotations(e))),
e
);
},
},
]
),
t
);
})(),
w = (function () {
function t(e) {
a(this, t), (this.w = e.w), (this.annoCtx = e);
}
return (
r(t, [
{
key: "setOrientations",
value: function (t) {
var e =
arguments.length > 1 &&
void 0 !== arguments[1]
? arguments[1]
: null,
i = this.w;
if ("vertical" === t.label.orientation) {
var a = null !== e ? e : 0,
s = i.globals.dom.baseEl.querySelector(
".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(
a,
"']"
)
);
if (null !== s) {
var r = s.getBoundingClientRect();
s.setAttribute(
"x",
parseFloat(s.getAttribute("x")) -
r.height +
4
),
"top" === t.label.position
? s.setAttribute(
"y",
parseFloat(
s.getAttribute("y")
) + r.width
)
: s.setAttribute(
"y",
parseFloat(
s.getAttribute("y")
) - r.width
);
var o =
this.annoCtx.graphics.rotateAroundCenter(
s
),
n = o.x,
l = o.y;
s.setAttribute(
"transform",
"rotate(-90 "
.concat(n, " ")
.concat(l, ")")
);
}
}
},
},
{
key: "addBackgroundToAnno",
value: function (t, e) {
var i = this.w;
if (
!t ||
void 0 === e.label.text ||
(void 0 !== e.label.text &&
!String(e.label.text).trim())
)
return null;
var a = i.globals.dom.baseEl
.querySelector(".apexcharts-grid")
.getBoundingClientRect(),
s = t.getBoundingClientRect(),
r = e.label.style.padding.left,
o = e.label.style.padding.right,
n = e.label.style.padding.top,
l = e.label.style.padding.bottom;
"vertical" === e.label.orientation &&
((n = e.label.style.padding.left),
(l = e.label.style.padding.right),
(r = e.label.style.padding.top),
(o = e.label.style.padding.bottom));
var h = s.left - a.left - r,
c = s.top - a.top - n,
d = this.annoCtx.graphics.drawRect(
h - i.globals.barPadForNumericAxis,
c,
s.width + r + o,
s.height + n + l,
e.label.borderRadius,
e.label.style.background,
1,
e.label.borderWidth,
e.label.borderColor,
0
);
return e.id && d.node.classList.add(e.id), d;
},
},
{
key: "annotationsBackground",
value: function () {
var t = this,
e = this.w,
i = function (i, a, s) {
var r = e.globals.dom.baseEl.querySelector(
".apexcharts-"
.concat(
s,
"-annotations .apexcharts-"
)
.concat(
s,
"-annotation-label[rel='"
)
.concat(a, "']")
);
if (r) {
var o = r.parentNode,
n = t.addBackgroundToAnno(r, i);
n &&
(o.insertBefore(n.node, r),
i.label.mouseEnter &&
n.node.addEventListener(
"mouseenter",
i.label.mouseEnter.bind(
t,
i
)
),
i.label.mouseLeave &&
n.node.addEventListener(
"mouseleave",
i.label.mouseLeave.bind(
t,
i
)
),
i.label.click &&
n.node.addEventListener(
"click",
i.label.click.bind(t, i)
));
}
};
e.config.annotations.xaxis.map(function (t, e) {
i(t, e, "xaxis");
}),
e.config.annotations.yaxis.map(function (t, e) {
i(t, e, "yaxis");
}),
e.config.annotations.points.map(function (
t,
e
) {
i(t, e, "point");
});
},
},
{
key: "getY1Y2",
value: function (t, e) {
var i,
a = "y1" === t ? e.y : e.y2,
s = this.w;
if (this.annoCtx.invertAxis) {
var r = s.globals.labels.indexOf(a);
s.config.xaxis.convertedCatToNumeric &&
(r = s.globals.categoryLabels.indexOf(a));
var o = s.globals.dom.baseEl.querySelector(
".apexcharts-yaxis-texts-g text:nth-child(" +
(r + 1) +
")"
);
o && (i = parseFloat(o.getAttribute("y")));
} else {
var n;
if (s.config.yaxis[e.yAxisIndex].logarithmic)
n =
(a = new y(this.annoCtx.ctx).getLogVal(
a,
e.yAxisIndex
)) / s.globals.yLogRatio[e.yAxisIndex];
else
n =
(a - s.globals.minYArr[e.yAxisIndex]) /
(s.globals.yRange[e.yAxisIndex] /
s.globals.gridHeight);
(i = s.globals.gridHeight - n),
!e.marker ||
(void 0 !== e.y && null !== e.y) ||
(i = 0),
s.config.yaxis[e.yAxisIndex] &&
s.config.yaxis[e.yAxisIndex].reversed &&
(i = n);
}
return (
"string" == typeof a &&
a.indexOf("px") > -1 &&
(i = parseFloat(a)),
i
);
},
},
{
key: "getX1X2",
value: function (t, e) {
var i = this.w,
a = this.annoCtx.invertAxis
? i.globals.minY
: i.globals.minX,
s = this.annoCtx.invertAxis
? i.globals.maxY
: i.globals.maxX,
r = this.annoCtx.invertAxis
? i.globals.yRange[0]
: i.globals.xRange,
o = (e.x - a) / (r / i.globals.gridWidth);
this.annoCtx.inversedReversedAxis &&
(o = (s - e.x) / (r / i.globals.gridWidth)),
("category" !== i.config.xaxis.type &&
!i.config.xaxis.convertedCatToNumeric) ||
this.annoCtx.invertAxis ||
i.globals.dataFormatXNumeric ||
(o = this.getStringX(e.x));
var n = (e.x2 - a) / (r / i.globals.gridWidth);
return (
this.annoCtx.inversedReversedAxis &&
(n =
(s - e.x2) / (r / i.globals.gridWidth)),
("category" !== i.config.xaxis.type &&
!i.config.xaxis.convertedCatToNumeric) ||
this.annoCtx.invertAxis ||
i.globals.dataFormatXNumeric ||
(n = this.getStringX(e.x2)),
(void 0 !== e.x && null !== e.x) ||
!e.marker ||
(o = i.globals.gridWidth),
"x1" === t &&
"string" == typeof e.x &&
e.x.indexOf("px") > -1 &&
(o = parseFloat(e.x)),
"x2" === t &&
"string" == typeof e.x2 &&
e.x2.indexOf("px") > -1 &&
(n = parseFloat(e.x2)),
"x1" === t ? o : n
);
},
},
{
key: "getStringX",
value: function (t) {
var e = this.w,
i = t;
e.config.xaxis.convertedCatToNumeric &&
e.globals.categoryLabels.length &&
(t = e.globals.categoryLabels.indexOf(t) + 1);
var a = e.globals.labels.indexOf(t),
s = e.globals.dom.baseEl.querySelector(
".apexcharts-xaxis-texts-g text:nth-child(" +
(a + 1) +
")"
);
return (
s && (i = parseFloat(s.getAttribute("x"))), i
);
},
},
]),
t
);
})(),
k = (function () {
function t(e) {
a(this, t),
(this.w = e.w),
(this.annoCtx = e),
(this.invertAxis = this.annoCtx.invertAxis),
(this.helpers = new w(this.annoCtx));
}
return (
r(t, [
{
key: "addXaxisAnnotation",
value: function (t, e, i) {
var a,
s = this.w,
r = this.helpers.getX1X2("x1", t),
o = t.label.text,
n = t.strokeDashArray;
if (x.isNumber(r)) {
if (null === t.x2 || void 0 === t.x2) {
var l = this.annoCtx.graphics.drawLine(
r + t.offsetX,
0 + t.offsetY,
r + t.offsetX,
s.globals.gridHeight + t.offsetY,
t.borderColor,
n,
t.borderWidth
);
e.appendChild(l.node),
t.id && l.node.classList.add(t.id);
} else {
if (
(a = this.helpers.getX1X2("x2", t)) < r
) {
var h = r;
(r = a), (a = h);
}
var c = this.annoCtx.graphics.drawRect(
r + t.offsetX,
0 + t.offsetY,
a - r,
s.globals.gridHeight + t.offsetY,
0,
t.fillColor,
t.opacity,
1,
t.borderColor,
n
);
c.node.classList.add(
"apexcharts-annotation-rect"
),
c.attr(
"clip-path",
"url(#gridRectMask".concat(
s.globals.cuid,
")"
)
),
e.appendChild(c.node),
t.id && c.node.classList.add(t.id);
}
var d = this.annoCtx.graphics.getTextRects(
o,
parseFloat(t.label.style.fontSize)
),
g =
"top" === t.label.position
? 4
: "center" === t.label.position
? s.globals.gridHeight / 2 +
("vertical" ===
t.label.orientation
? d.width / 2
: 0)
: s.globals.gridHeight,
u = this.annoCtx.graphics.drawText({
x: r + t.label.offsetX,
y:
g +
t.label.offsetY -
("vertical" === t.label.orientation
? "top" === t.label.position
? d.width / 2 - 12
: -d.width / 2
: 0),
text: o,
textAnchor: t.label.textAnchor,
fontSize: t.label.style.fontSize,
fontFamily: t.label.style.fontFamily,
fontWeight: t.label.style.fontWeight,
foreColor: t.label.style.color,
cssClass:
"apexcharts-xaxis-annotation-label "
.concat(
t.label.style.cssClass,
" "
)
.concat(t.id ? t.id : ""),
});
u.attr({ rel: i }),
e.appendChild(u.node),
this.annoCtx.helpers.setOrientations(t, i);
}
},
},
{
key: "drawXAxisAnnotations",
value: function () {
var t = this,
e = this.w,
i = this.annoCtx.graphics.group({
class: "apexcharts-xaxis-annotations",
});
return (
e.config.annotations.xaxis.map(function (e, a) {
t.addXaxisAnnotation(e, i.node, a);
}),
i
);
},
},
]),
t
);
})(),
A = (function () {
function t(e) {
a(this, t),
(this.w = e.w),
(this.annoCtx = e),
(this.helpers = new w(this.annoCtx));
}
return (
r(t, [
{
key: "addYaxisAnnotation",
value: function (t, e, i) {
var a,
s = this.w,
r = t.strokeDashArray,
o = this.helpers.getY1Y2("y1", t),
n = t.label.text;
if (null === t.y2 || void 0 === t.y2) {
var l = this.annoCtx.graphics.drawLine(
0 + t.offsetX,
o + t.offsetY,
this._getYAxisAnnotationWidth(t),
o + t.offsetY,
t.borderColor,
r,
t.borderWidth
);
e.appendChild(l.node),
t.id && l.node.classList.add(t.id);
} else {
if ((a = this.helpers.getY1Y2("y2", t)) > o) {
var h = o;
(o = a), (a = h);
}
var c = this.annoCtx.graphics.drawRect(
0 + t.offsetX,
a + t.offsetY,
this._getYAxisAnnotationWidth(t),
o - a,
0,
t.fillColor,
t.opacity,
1,
t.borderColor,
r
);
c.node.classList.add(
"apexcharts-annotation-rect"
),
c.attr(
"clip-path",
"url(#gridRectMask".concat(
s.globals.cuid,
")"
)
),
e.appendChild(c.node),
t.id && c.node.classList.add(t.id);
}
var d =
"right" === t.label.position
? s.globals.gridWidth
: "center" === t.label.position
? s.globals.gridWidth / 2
: 0,
g = this.annoCtx.graphics.drawText({
x: d + t.label.offsetX,
y:
(null != a ? a : o) +
t.label.offsetY -
3,
text: n,
textAnchor: t.label.textAnchor,
fontSize: t.label.style.fontSize,
fontFamily: t.label.style.fontFamily,
fontWeight: t.label.style.fontWeight,
foreColor: t.label.style.color,
cssClass:
"apexcharts-yaxis-annotation-label "
.concat(t.label.style.cssClass, " ")
.concat(t.id ? t.id : ""),
});
g.attr({ rel: i }), e.appendChild(g.node);
},
},
{
key: "_getYAxisAnnotationWidth",
value: function (t) {
var e = this.w;
e.globals.gridWidth;
return (
(t.width.indexOf("%") > -1
? (e.globals.gridWidth *
parseInt(t.width, 10)) /
100
: parseInt(t.width, 10)) + t.offsetX
);
},
},
{
key: "drawYAxisAnnotations",
value: function () {
var t = this,
e = this.w,
i = this.annoCtx.graphics.group({
class: "apexcharts-yaxis-annotations",
});
return (
e.config.annotations.yaxis.map(function (e, a) {
t.addYaxisAnnotation(e, i.node, a);
}),
i
);
},
},
]),
t
);
})(),
S = (function () {
function t(e) {
a(this, t),
(this.w = e.w),
(this.annoCtx = e),
(this.helpers = new w(this.annoCtx));
}
return (
r(t, [
{
key: "addPointAnnotation",
value: function (t, e, i) {
this.w;
var a = this.helpers.getX1X2("x1", t),
s = this.helpers.getY1Y2("y1", t);
if (x.isNumber(a)) {
var r = {
pSize: t.marker.size,
pointStrokeWidth: t.marker.strokeWidth,
pointFillColor: t.marker.fillColor,
pointStrokeColor: t.marker.strokeColor,
shape: t.marker.shape,
pRadius: t.marker.radius,
class: "apexcharts-point-annotation-marker "
.concat(t.marker.cssClass, " ")
.concat(t.id ? t.id : ""),
},
o = this.annoCtx.graphics.drawMarker(
a + t.marker.offsetX,
s + t.marker.offsetY,
r
);
e.appendChild(o.node);
var n = t.label.text ? t.label.text : "",
l = this.annoCtx.graphics.drawText({
x: a + t.label.offsetX,
y:
s +
t.label.offsetY -
t.marker.size -
parseFloat(t.label.style.fontSize) /
1.6,
text: n,
textAnchor: t.label.textAnchor,
fontSize: t.label.style.fontSize,
fontFamily: t.label.style.fontFamily,
fontWeight: t.label.style.fontWeight,
foreColor: t.label.style.color,
cssClass:
"apexcharts-point-annotation-label "
.concat(
t.label.style.cssClass,
" "
)
.concat(t.id ? t.id : ""),
});
if (
(l.attr({ rel: i }),
e.appendChild(l.node),
t.customSVG.SVG)
) {
var h = this.annoCtx.graphics.group({
class:
"apexcharts-point-annotations-custom-svg " +
t.customSVG.cssClass,
});
h.attr({
transform: "translate("
.concat(
a + t.customSVG.offsetX,
", "
)
.concat(
s + t.customSVG.offsetY,
")"
),
}),
(h.node.innerHTML = t.customSVG.SVG),
e.appendChild(h.node);
}
if (t.image.path) {
var c = t.image.width ? t.image.width : 20,
d = t.image.height
? t.image.height
: 20;
o = this.annoCtx.addImage({
x: a + t.image.offsetX - c / 2,
y: s + t.image.offsetY - d / 2,
width: c,
height: d,
path: t.image.path,
appendTo:
".apexcharts-point-annotations",
});
}
t.mouseEnter &&
o.node.addEventListener(
"mouseenter",
t.mouseEnter.bind(this, t)
),
t.mouseLeave &&
o.node.addEventListener(
"mouseleave",
t.mouseLeave.bind(this, t)
),
t.click &&
o.node.addEventListener(
"click",
t.click.bind(this, t)
);
}
},
},
{
key: "drawPointAnnotations",
value: function () {
var t = this,
e = this.w,
i = this.annoCtx.graphics.group({
class: "apexcharts-point-annotations",
});
return (
e.config.annotations.points.map(function (
e,
a
) {
t.addPointAnnotation(e, i.node, a);
}),
i
);
},
},
]),
t
);
})();
var C = {
name: "en",
options: {
months: [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December",
],
shortMonths: [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec",
],
days: [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
],
shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
toolbar: {
exportToSVG: "Download SVG",
exportToPNG: "Download PNG",
exportToCSV: "Download CSV",
menu: "Menu",
selection: "Selection",
selectionZoom: "Selection Zoom",
zoomIn: "Zoom In",
zoomOut: "Zoom Out",
pan: "Panning",
reset: "Reset Zoom",
},
},
},
L = (function () {
function t() {
a(this, t),
(this.yAxis = {
show: !0,
showAlways: !1,
showForNullSeries: !0,
seriesName: void 0,
opposite: !1,
reversed: !1,
logarithmic: !1,
logBase: 10,
tickAmount: void 0,
forceNiceScale: !1,
max: void 0,
min: void 0,
floating: !1,
decimalsInFloat: void 0,
labels: {
show: !0,
minWidth: 0,
maxWidth: 160,
offsetX: 0,
offsetY: 0,
align: void 0,
rotate: 0,
padding: 20,
style: {
colors: [],
fontSize: "11px",
fontWeight: 400,
fontFamily: void 0,
cssClass: "",
},
formatter: void 0,
},
axisBorder: {
show: !1,
color: "#e0e0e0",
width: 1,
offsetX: 0,
offsetY: 0,
},
axisTicks: {
show: !1,
color: "#e0e0e0",
width: 6,
offsetX: 0,
offsetY: 0,
},
title: {
text: void 0,
rotate: -90,
offsetY: 0,
offsetX: 0,
style: {
color: void 0,
fontSize: "11px",
fontWeight: 900,
fontFamily: void 0,
cssClass: "",
},
},
tooltip: { enabled: !1, offsetX: 0 },
crosshairs: {
show: !0,
position: "front",
stroke: {
color: "#b6b6b6",
width: 1,
dashArray: 0,
},
},
}),
(this.pointAnnotation = {
id: void 0,
x: 0,
y: null,
yAxisIndex: 0,
seriesIndex: 0,
mouseEnter: void 0,
mouseLeave: void 0,
click: void 0,
marker: {
size: 4,
fillColor: "#fff",
strokeWidth: 2,
strokeColor: "#333",
shape: "circle",
offsetX: 0,
offsetY: 0,
radius: 2,
cssClass: "",
},
label: {
borderColor: "#c2c2c2",
borderWidth: 1,
borderRadius: 2,
text: void 0,
textAnchor: "middle",
offsetX: 0,
offsetY: 0,
mouseEnter: void 0,
mouseLeave: void 0,
click: void 0,
style: {
background: "#fff",
color: void 0,
fontSize: "11px",
fontFamily: void 0,
fontWeight: 400,
cssClass: "",
padding: {
left: 5,
right: 5,
top: 2,
bottom: 2,
},
},
},
customSVG: {
SVG: void 0,
cssClass: void 0,
offsetX: 0,
offsetY: 0,
},
image: {
path: void 0,
width: 20,
height: 20,
offsetX: 0,
offsetY: 0,
},
}),
(this.yAxisAnnotation = {
id: void 0,
y: 0,
y2: null,
strokeDashArray: 1,
fillColor: "#c2c2c2",
borderColor: "#c2c2c2",
borderWidth: 1,
opacity: 0.3,
offsetX: 0,
offsetY: 0,
width: "100%",
yAxisIndex: 0,
label: {
borderColor: "#c2c2c2",
borderWidth: 1,
borderRadius: 2,
text: void 0,
textAnchor: "end",
position: "right",
offsetX: 0,
offsetY: -3,
mouseEnter: void 0,
mouseLeave: void 0,
click: void 0,
style: {
background: "#fff",
color: void 0,
fontSize: "11px",
fontFamily: void 0,
fontWeight: 400,
cssClass: "",
padding: {
left: 5,
right: 5,
top: 2,
bottom: 2,
},
},
},
}),
(this.xAxisAnnotation = {
id: void 0,
x: 0,
x2: null,
strokeDashArray: 1,
fillColor: "#c2c2c2",
borderColor: "#c2c2c2",
borderWidth: 1,
opacity: 0.3,
offsetX: 0,
offsetY: 0,
label: {
borderColor: "#c2c2c2",
borderWidth: 1,
borderRadius: 2,
text: void 0,
textAnchor: "middle",
orientation: "vertical",
position: "top",
offsetX: 0,
offsetY: 0,
mouseEnter: void 0,
mouseLeave: void 0,
click: void 0,
style: {
background: "#fff",
color: void 0,
fontSize: "11px",
fontFamily: void 0,
fontWeight: 400,
cssClass: "",
padding: {
left: 5,
right: 5,
top: 2,
bottom: 2,
},
},
},
}),
(this.text = {
x: 0,
y: 0,
text: "",
textAnchor: "start",
foreColor: void 0,
fontSize: "13px",
fontFamily: void 0,
fontWeight: 400,
appendTo: ".apexcharts-annotations",
backgroundColor: "transparent",
borderColor: "#c2c2c2",
borderRadius: 0,
borderWidth: 0,
paddingLeft: 4,
paddingRight: 4,
paddingTop: 2,
paddingBottom: 2,
});
}
return (
r(t, [
{
key: "init",
value: function () {
return {
annotations: {
yaxis: [this.yAxisAnnotation],
xaxis: [this.xAxisAnnotation],
points: [this.pointAnnotation],
texts: [],
images: [],
shapes: [],
},
chart: {
animations: {
enabled: !0,
easing: "easeinout",
speed: 800,
animateGradually: {
delay: 150,
enabled: !0,
},
dynamicAnimation: {
enabled: !0,
speed: 350,
},
},
background: "transparent",
locales: [C],
defaultLocale: "en",
dropShadow: {
enabled: !1,
enabledOnSeries: void 0,
top: 2,
left: 2,
blur: 4,
color: "#000",
opacity: 0.35,
},
events: {
animationEnd: void 0,
beforeMount: void 0,
mounted: void 0,
updated: void 0,
click: void 0,
mouseMove: void 0,
mouseLeave: void 0,
xAxisLabelClick: void 0,
legendClick: void 0,
markerClick: void 0,
selection: void 0,
dataPointSelection: void 0,
dataPointMouseEnter: void 0,
dataPointMouseLeave: void 0,
beforeZoom: void 0,
beforeResetZoom: void 0,
zoomed: void 0,
scrolled: void 0,
brushScrolled: void 0,
},
foreColor: "#373d3f",
fontFamily: "Helvetica, Arial, sans-serif",
height: "auto",
parentHeightOffset: 15,
redrawOnParentResize: !0,
redrawOnWindowResize: !0,
id: void 0,
group: void 0,
offsetX: 0,
offsetY: 0,
selection: {
enabled: !1,
type: "x",
fill: {
color: "#24292e",
opacity: 0.1,
},
stroke: {
width: 1,
color: "#24292e",
opacity: 0.4,
dashArray: 3,
},
xaxis: { min: void 0, max: void 0 },
yaxis: { min: void 0, max: void 0 },
},
sparkline: { enabled: !1 },
brush: {
enabled: !1,
autoScaleYaxis: !0,
target: void 0,
targets: void 0,
},
stacked: !1,
stackType: "normal",
toolbar: {
show: !0,
offsetX: 0,
offsetY: 0,
tools: {
download: !0,
selection: !0,
zoom: !0,
zoomin: !0,
zoomout: !0,
pan: !0,
reset: !0,
customIcons: [],
},
export: {
csv: {
filename: void 0,
columnDelimiter: ",",
headerCategory: "category",
headerValue: "value",
dateFormatter: function (t) {
return new Date(
t
).toDateString();
},
},
png: { filename: void 0 },
svg: { filename: void 0 },
},
autoSelected: "zoom",
},
type: "line",
width: "100%",
zoom: {
enabled: !0,
type: "x",
autoScaleYaxis: !1,
zoomedArea: {
fill: {
color: "#90CAF9",
opacity: 0.4,
},
stroke: {
color: "#0D47A1",
opacity: 0.4,
width: 1,
},
},
},
},
plotOptions: {
area: { fillTo: "origin" },
bar: {
horizontal: !1,
columnWidth: "70%",
barHeight: "70%",
distributed: !1,
borderRadius: 0,
borderRadiusApplication: "around",
borderRadiusWhenStacked: "last",
rangeBarOverlap: !0,
rangeBarGroupRows: !1,
hideZeroBarsWhenGrouped: !1,
isDumbbell: !1,
dumbbellColors: void 0,
isFunnel: !1,
isFunnel3d: !0,
colors: {
ranges: [],
backgroundBarColors: [],
backgroundBarOpacity: 1,
backgroundBarRadius: 0,
},
dataLabels: {
position: "top",
maxItems: 100,
hideOverflowingLabels: !0,
orientation: "horizontal",
total: {
enabled: !1,
formatter: void 0,
offsetX: 0,
offsetY: 0,
style: {
color: "#373d3f",
fontSize: "12px",
fontFamily: void 0,
fontWeight: 600,
},
},
},
},
bubble: {
zScaling: !0,
minBubbleRadius: void 0,
maxBubbleRadius: void 0,
},
candlestick: {
colors: {
upward: "#00B746",
downward: "#EF403C",
},
wick: { useFillColor: !0 },
},
boxPlot: {
colors: {
upper: "#00E396",
lower: "#008FFB",
},
},
heatmap: {
radius: 2,
enableShades: !0,
shadeIntensity: 0.5,
reverseNegativeShade: !1,
distributed: !1,
useFillColorAsStroke: !1,
colorScale: {
inverse: !1,
ranges: [],
min: void 0,
max: void 0,
},
},
treemap: {
enableShades: !0,
shadeIntensity: 0.5,
distributed: !1,
reverseNegativeShade: !1,
useFillColorAsStroke: !1,
dataLabels: { format: "scale" },
colorScale: {
inverse: !1,
ranges: [],
min: void 0,
max: void 0,
},
},
radialBar: {
inverseOrder: !1,
startAngle: 0,
endAngle: 360,
offsetX: 0,
offsetY: 0,
hollow: {
margin: 5,
size: "50%",
background: "transparent",
image: void 0,
imageWidth: 150,
imageHeight: 150,
imageOffsetX: 0,
imageOffsetY: 0,
imageClipped: !0,
position: "front",
dropShadow: {
enabled: !1,
top: 0,
left: 0,
blur: 3,
color: "#000",
opacity: 0.5,
},
},
track: {
show: !0,
startAngle: void 0,
endAngle: void 0,
background: "#f2f2f2",
strokeWidth: "97%",
opacity: 1,
margin: 5,
dropShadow: {
enabled: !1,
top: 0,
left: 0,
blur: 3,
color: "#000",
opacity: 0.5,
},
},
dataLabels: {
show: !0,
name: {
show: !0,
fontSize: "16px",
fontFamily: void 0,
fontWeight: 600,
color: void 0,
offsetY: 0,
formatter: function (t) {
return t;
},
},
value: {
show: !0,
fontSize: "14px",
fontFamily: void 0,
fontWeight: 400,
color: void 0,
offsetY: 16,
formatter: function (t) {
return t + "%";
},
},
total: {
show: !1,
label: "Total",
fontSize: "16px",
fontWeight: 600,
fontFamily: void 0,
color: void 0,
formatter: function (t) {
return (
t.globals.seriesTotals.reduce(
function (t, e) {
return t + e;
},
0
) /
t.globals.series
.length +
"%"
);
},
},
},
},
pie: {
customScale: 1,
offsetX: 0,
offsetY: 0,
startAngle: 0,
endAngle: 360,
expandOnClick: !0,
dataLabels: {
offset: 0,
minAngleToShowLabel: 10,
},
donut: {
size: "65%",
background: "transparent",
labels: {
show: !1,
name: {
show: !0,
fontSize: "16px",
fontFamily: void 0,
fontWeight: 600,
color: void 0,
offsetY: -10,
formatter: function (t) {
return t;
},
},
value: {
show: !0,
fontSize: "20px",
fontFamily: void 0,
fontWeight: 400,
color: void 0,
offsetY: 10,
formatter: function (t) {
return t;
},
},
total: {
show: !1,
showAlways: !1,
label: "Total",
fontSize: "16px",
fontWeight: 400,
fontFamily: void 0,
color: void 0,
formatter: function (t) {
return t.globals.seriesTotals.reduce(
function (t, e) {
return t + e;
},
0
);
},
},
},
},
},
polarArea: {
rings: {
strokeWidth: 1,
strokeColor: "#e8e8e8",
},
spokes: {
strokeWidth: 1,
connectorColors: "#e8e8e8",
},
},
radar: {
size: void 0,
offsetX: 0,
offsetY: 0,
polygons: {
strokeWidth: 1,
strokeColors: "#e8e8e8",
connectorColors: "#e8e8e8",
fill: { colors: void 0 },
},
},
},
colors: void 0,
dataLabels: {
enabled: !0,
enabledOnSeries: void 0,
formatter: function (t) {
return null !== t ? t : "";
},
textAnchor: "middle",
distributed: !1,
offsetX: 0,
offsetY: 0,
style: {
fontSize: "12px",
fontFamily: void 0,
fontWeight: 600,
colors: void 0,
},
background: {
enabled: !0,
foreColor: "#fff",
borderRadius: 2,
padding: 4,
opacity: 0.9,
borderWidth: 1,
borderColor: "#fff",
dropShadow: {
enabled: !1,
top: 1,
left: 1,
blur: 1,
color: "#000",
opacity: 0.45,
},
},
dropShadow: {
enabled: !1,
top: 1,
left: 1,
blur: 1,
color: "#000",
opacity: 0.45,
},
},
fill: {
type: "solid",
colors: void 0,
opacity: 0.85,
gradient: {
shade: "dark",
type: "horizontal",
shadeIntensity: 0.5,
gradientToColors: void 0,
inverseColors: !0,
opacityFrom: 1,
opacityTo: 1,
stops: [0, 50, 100],
colorStops: [],
},
image: {
src: [],
width: void 0,
height: void 0,
},
pattern: {
style: "squares",
width: 6,
height: 6,
strokeWidth: 2,
},
},
forecastDataPoints: {
count: 0,
fillOpacity: 0.5,
strokeWidth: void 0,
dashArray: 4,
},
grid: {
show: !0,
borderColor: "#e0e0e0",
strokeDashArray: 0,
position: "back",
xaxis: { lines: { show: !1 } },
yaxis: { lines: { show: !0 } },
row: { colors: void 0, opacity: 0.5 },
column: { colors: void 0, opacity: 0.5 },
padding: {
top: 0,
right: 10,
bottom: 0,
left: 12,
},
},
labels: [],
legend: {
show: !0,
showForSingleSeries: !1,
showForNullSeries: !0,
showForZeroSeries: !0,
floating: !1,
position: "bottom",
horizontalAlign: "center",
inverseOrder: !1,
fontSize: "12px",
fontFamily: void 0,
fontWeight: 400,
width: void 0,
height: void 0,
formatter: void 0,
tooltipHoverFormatter: void 0,
offsetX: -20,
offsetY: 4,
customLegendItems: [],
labels: {
colors: void 0,
useSeriesColors: !1,
},
markers: {
width: 12,
height: 12,
strokeWidth: 0,
fillColors: void 0,
strokeColor: "#fff",
radius: 12,
customHTML: void 0,
offsetX: 0,
offsetY: 0,
onClick: void 0,
},
itemMargin: { horizontal: 5, vertical: 2 },
onItemClick: { toggleDataSeries: !0 },
onItemHover: { highlightDataSeries: !0 },
},
markers: {
discrete: [],
size: 0,
colors: void 0,
strokeColors: "#fff",
strokeWidth: 2,
strokeOpacity: 0.9,
strokeDashArray: 0,
fillOpacity: 1,
shape: "circle",
width: 8,
height: 8,
radius: 2,
offsetX: 0,
offsetY: 0,
onClick: void 0,
onDblClick: void 0,
showNullDataPoints: !0,
hover: { size: void 0, sizeOffset: 3 },
},
noData: {
text: void 0,
align: "center",
verticalAlign: "middle",
offsetX: 0,
offsetY: 0,
style: {
color: void 0,
fontSize: "14px",
fontFamily: void 0,
},
},
responsive: [],
series: void 0,
states: {
normal: {
filter: { type: "none", value: 0 },
},
hover: {
filter: { type: "lighten", value: 0.1 },
},
active: {
allowMultipleDataPointsSelection: !1,
filter: { type: "darken", value: 0.5 },
},
},
title: {
text: void 0,
align: "left",
margin: 5,
offsetX: 0,
offsetY: 0,
floating: !1,
style: {
fontSize: "14px",
fontWeight: 900,
fontFamily: void 0,
color: void 0,
},
},
subtitle: {
text: void 0,
align: "left",
margin: 5,
offsetX: 0,
offsetY: 30,
floating: !1,
style: {
fontSize: "12px",
fontWeight: 400,
fontFamily: void 0,
color: void 0,
},
},
stroke: {
show: !0,
curve: "smooth",
lineCap: "butt",
width: 2,
colors: void 0,
dashArray: 0,
fill: {
type: "solid",
colors: void 0,
opacity: 0.85,
gradient: {
shade: "dark",
type: "horizontal",
shadeIntensity: 0.5,
gradientToColors: void 0,
inverseColors: !0,
opacityFrom: 1,
opacityTo: 1,
stops: [0, 50, 100],
colorStops: [],
},
},
},
tooltip: {
enabled: !0,
enabledOnSeries: void 0,
shared: !0,
followCursor: !1,
intersect: !1,
inverseOrder: !1,
custom: void 0,
fillSeriesColor: !1,
theme: "light",
cssClass: "",
style: {
fontSize: "12px",
fontFamily: void 0,
},
onDatasetHover: { highlightDataSeries: !1 },
x: {
show: !0,
format: "dd MMM",
formatter: void 0,
},
y: {
formatter: void 0,
title: {
formatter: function (t) {
return t ? t + ": " : "";
},
},
},
z: { formatter: void 0, title: "Size: " },
marker: { show: !0, fillColors: void 0 },
items: { display: "flex" },
fixed: {
enabled: !1,
position: "topRight",
offsetX: 0,
offsetY: 0,
},
},
xaxis: {
type: "category",
categories: [],
convertedCatToNumeric: !1,
offsetX: 0,
offsetY: 0,
overwriteCategories: void 0,
labels: {
show: !0,
rotate: -45,
rotateAlways: !1,
hideOverlappingLabels: !0,
trim: !1,
minHeight: void 0,
maxHeight: 120,
showDuplicates: !0,
style: {
colors: [],
fontSize: "12px",
fontWeight: 400,
fontFamily: void 0,
cssClass: "",
},
offsetX: 0,
offsetY: 0,
format: void 0,
formatter: void 0,
datetimeUTC: !0,
datetimeFormatter: {
year: "yyyy",
month: "MMM 'yy",
day: "dd MMM",
hour: "HH:mm",
minute: "HH:mm:ss",
second: "HH:mm:ss",
},
},
group: {
groups: [],
style: {
colors: [],
fontSize: "12px",
fontWeight: 400,
fontFamily: void 0,
cssClass: "",
},
},
axisBorder: {
show: !0,
color: "#e0e0e0",
width: "100%",
height: 1,
offsetX: 0,
offsetY: 0,
},
axisTicks: {
show: !0,
color: "#e0e0e0",
height: 6,
offsetX: 0,
offsetY: 0,
},
tickAmount: void 0,
tickPlacement: "on",
min: void 0,
max: void 0,
range: void 0,
floating: !1,
decimalsInFloat: void 0,
position: "bottom",
title: {
text: void 0,
offsetX: 0,
offsetY: 0,
style: {
color: void 0,
fontSize: "12px",
fontWeight: 900,
fontFamily: void 0,
cssClass: "",
},
},
crosshairs: {
show: !0,
width: 1,
position: "back",
opacity: 0.9,
stroke: {
color: "#b6b6b6",
width: 1,
dashArray: 3,
},
fill: {
type: "solid",
color: "#B1B9C4",
gradient: {
colorFrom: "#D8E3F0",
colorTo: "#BED1E6",
stops: [0, 100],
opacityFrom: 0.4,
opacityTo: 0.5,
},
},
dropShadow: {
enabled: !1,
left: 0,
top: 0,
blur: 1,
opacity: 0.4,
},
},
tooltip: {
enabled: !0,
offsetY: 0,
formatter: void 0,
style: {
fontSize: "12px",
fontFamily: void 0,
},
},
},
yaxis: this.yAxis,
theme: {
mode: "light",
palette: "palette1",
monochrome: {
enabled: !1,
color: "#008FFB",
shadeTo: "light",
shadeIntensity: 0.65,
},
},
};
},
},
]),
t
);
})(),
P = (function () {
function t(e) {
a(this, t),
(this.ctx = e),
(this.w = e.w),
(this.graphics = new m(this.ctx)),
this.w.globals.isBarHorizontal && (this.invertAxis = !0),
(this.helpers = new w(this)),
(this.xAxisAnnotations = new k(this)),
(this.yAxisAnnotations = new A(this)),
(this.pointsAnnotations = new S(this)),
this.w.globals.isBarHorizontal &&
this.w.config.yaxis[0].reversed &&
(this.inversedReversedAxis = !0),
(this.xDivision =
this.w.globals.gridWidth / this.w.globals.dataPoints);
}
return (
r(t, [
{
key: "drawAxesAnnotations",
value: function () {
var t = this.w;
if (t.globals.axisCharts) {
for (
var e =
this.yAxisAnnotations.drawYAxisAnnotations(),
i =
this.xAxisAnnotations.drawXAxisAnnotations(),
a =
this.pointsAnnotations.drawPointAnnotations(),
s = t.config.chart.animations.enabled,
r = [e, i, a],
o = [i.node, e.node, a.node],
n = 0;
n < 3;
n++
)
t.globals.dom.elGraphical.add(r[n]),
!s ||
t.globals.resized ||
t.globals.dataChanged ||
("scatter" !==
t.config.chart.type &&
"bubble" !==
t.config.chart.type &&
t.globals.dataPoints > 1 &&
o[n].classList.add(
"apexcharts-element-hidden"
)),
t.globals.delayedElements.push({
el: o[n],
index: 0,
});
this.helpers.annotationsBackground();
}
},
},
{
key: "drawImageAnnos",
value: function () {
var t = this;
this.w.config.annotations.images.map(function (
e,
i
) {
t.addImage(e, i);
});
},
},
{
key: "drawTextAnnos",
value: function () {
var t = this;
this.w.config.annotations.texts.map(function (
e,
i
) {
t.addText(e, i);
});
},
},
{
key: "addXaxisAnnotation",
value: function (t, e, i) {
this.xAxisAnnotations.addXaxisAnnotation(t, e, i);
},
},
{
key: "addYaxisAnnotation",
value: function (t, e, i) {
this.yAxisAnnotations.addYaxisAnnotation(t, e, i);
},
},
{
key: "addPointAnnotation",
value: function (t, e, i) {
this.pointsAnnotations.addPointAnnotation(t, e, i);
},
},
{
key: "addText",
value: function (t, e) {
var i = t.x,
a = t.y,
s = t.text,
r = t.textAnchor,
o = t.foreColor,
n = t.fontSize,
l = t.fontFamily,
h = t.fontWeight,
c = t.cssClass,
d = t.backgroundColor,
g = t.borderWidth,
u = t.strokeDashArray,
p = t.borderRadius,
f = t.borderColor,
x = t.appendTo,
b =
void 0 === x
? ".apexcharts-annotations"
: x,
v = t.paddingLeft,
m = void 0 === v ? 4 : v,
y = t.paddingRight,
w = void 0 === y ? 4 : y,
k = t.paddingBottom,
A = void 0 === k ? 2 : k,
S = t.paddingTop,
C = void 0 === S ? 2 : S,
L = this.w,
P = this.graphics.drawText({
x: i,
y: a,
text: s,
textAnchor: r || "start",
fontSize: n || "12px",
fontWeight: h || "regular",
fontFamily: l || L.config.chart.fontFamily,
foreColor: o || L.config.chart.foreColor,
cssClass: c,
}),
I = L.globals.dom.baseEl.querySelector(b);
I && I.appendChild(P.node);
var T = P.bbox();
if (s) {
var M = this.graphics.drawRect(
T.x - m,
T.y - C,
T.width + m + w,
T.height + A + C,
p,
d || "transparent",
1,
g,
f,
u
);
I.insertBefore(M.node, P.node);
}
},
},
{
key: "addImage",
value: function (t, e) {
var i = this.w,
a = t.path,
s = t.x,
r = void 0 === s ? 0 : s,
o = t.y,
n = void 0 === o ? 0 : o,
l = t.width,
h = void 0 === l ? 20 : l,
c = t.height,
d = void 0 === c ? 20 : c,
g = t.appendTo,
u =
void 0 === g
? ".apexcharts-annotations"
: g,
p = i.globals.dom.Paper.image(a);
p.size(h, d).move(r, n);
var f = i.globals.dom.baseEl.querySelector(u);
return f && f.appendChild(p.node), p;
},
},
{
key: "addXaxisAnnotationExternal",
value: function (t, e, i) {
return (
this.addAnnotationExternal({
params: t,
pushToMemory: e,
context: i,
type: "xaxis",
contextMethod: i.addXaxisAnnotation,
}),
i
);
},
},
{
key: "addYaxisAnnotationExternal",
value: function (t, e, i) {
return (
this.addAnnotationExternal({
params: t,
pushToMemory: e,
context: i,
type: "yaxis",
contextMethod: i.addYaxisAnnotation,
}),
i
);
},
},
{
key: "addPointAnnotationExternal",
value: function (t, e, i) {
return (
void 0 === this.invertAxis &&
(this.invertAxis =
i.w.globals.isBarHorizontal),
this.addAnnotationExternal({
params: t,
pushToMemory: e,
context: i,
type: "point",
contextMethod: i.addPointAnnotation,
}),
i
);
},
},
{
key: "addAnnotationExternal",
value: function (t) {
var e = t.params,
i = t.pushToMemory,
a = t.context,
s = t.type,
r = t.contextMethod,
o = a,
n = o.w,
l = n.globals.dom.baseEl.querySelector(
".apexcharts-".concat(s, "-annotations")
),
h = l.childNodes.length + 1,
c = new L(),
d = Object.assign(
{},
"xaxis" === s
? c.xAxisAnnotation
: "yaxis" === s
? c.yAxisAnnotation
: c.pointAnnotation
),
g = x.extend(d, e);
switch (s) {
case "xaxis":
this.addXaxisAnnotation(g, l, h);
break;
case "yaxis":
this.addYaxisAnnotation(g, l, h);
break;
case "point":
this.addPointAnnotation(g, l, h);
}
var u = n.globals.dom.baseEl.querySelector(
".apexcharts-"
.concat(s, "-annotations .apexcharts-")
.concat(s, "-annotation-label[rel='")
.concat(h, "']")
),
p = this.helpers.addBackgroundToAnno(u, g);
return (
p && l.insertBefore(p.node, u),
i &&
n.globals.memory.methodsToExec.push({
context: o,
id: g.id ? g.id : x.randomId(),
method: r,
label: "addAnnotation",
params: e,
}),
a
);
},
},
{
key: "clearAnnotations",
value: function (t) {
var e = t.w,
i = e.globals.dom.baseEl.querySelectorAll(
".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations"
);
e.globals.memory.methodsToExec.map(function (t, i) {
("addText" !== t.label &&
"addAnnotation" !== t.label) ||
e.globals.memory.methodsToExec.splice(i, 1);
}),
(i = x.listToArray(i)),
Array.prototype.forEach.call(i, function (t) {
for (; t.firstChild; )
t.removeChild(t.firstChild);
});
},
},
{
key: "removeAnnotation",
value: function (t, e) {
var i = t.w,
a = i.globals.dom.baseEl.querySelectorAll(
".".concat(e)
);
a &&
(i.globals.memory.methodsToExec.map(function (
t,
a
) {
t.id === e &&
i.globals.memory.methodsToExec.splice(
a,
1
);
}),
Array.prototype.forEach.call(a, function (t) {
t.parentElement.removeChild(t);
}));
},
},
]),
t
);
})(),
I = (function () {
function t(e) {
a(this, t),
(this.ctx = e),
(this.w = e.w),
(this.months31 = [1, 3, 5, 7, 8, 10, 12]),
(this.months30 = [2, 4, 6, 9, 11]),
(this.daysCntOfYear = [
0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334,
]);
}
return (
r(t, [
{
key: "isValidDate",
value: function (t) {
return !isNaN(this.parseDate(t));
},
},
{
key: "getTimeStamp",
value: function (t) {
return Date.parse(t)
? this.w.config.xaxis.labels.datetimeUTC
? new Date(
new Date(t)
.toISOString()
.substr(0, 25)
).getTime()
: new Date(t).getTime()
: t;
},
},
{
key: "getDate",
value: function (t) {
return this.w.config.xaxis.labels.datetimeUTC
? new Date(new Date(t).toUTCString())
: new Date(t);
},
},
{
key: "parseDate",
value: function (t) {
var e = Date.parse(t);
if (!isNaN(e)) return this.getTimeStamp(t);
var i = Date.parse(
t.replace(/-/g, "/").replace(/[a-z]+/gi, " ")
);
return (i = this.getTimeStamp(i));
},
},
{
key: "parseDateWithTimezone",
value: function (t) {
return Date.parse(
t.replace(/-/g, "/").replace(/[a-z]+/gi, " ")
);
},
},
{
key: "formatDate",
value: function (t, e) {
var i = this.w.globals.locale,
a = this.w.config.xaxis.labels.datetimeUTC,
s = ["\0"].concat(u(i.months)),
r = ["\x01"].concat(u(i.shortMonths)),
o = ["\x02"].concat(u(i.days)),
n = ["\x03"].concat(u(i.shortDays));
function l(t, e) {
var i = t + "";
for (e = e || 2; i.length < e; ) i = "0" + i;
return i;
}
var h = a ? t.getUTCFullYear() : t.getFullYear();
e = (e = (e = e.replace(
/(^|[^\\])yyyy+/g,
"$1" + h
)).replace(
/(^|[^\\])yy/g,
"$1" + h.toString().substr(2, 2)
)).replace(/(^|[^\\])y/g, "$1" + h);
var c = (a ? t.getUTCMonth() : t.getMonth()) + 1;
e = (e = (e = (e = e.replace(
/(^|[^\\])MMMM+/g,
"$1" + s[0]
)).replace(/(^|[^\\])MMM/g, "$1" + r[0])).replace(
/(^|[^\\])MM/g,
"$1" + l(c)
)).replace(/(^|[^\\])M/g, "$1" + c);
var d = a ? t.getUTCDate() : t.getDate();
e = (e = (e = (e = e.replace(
/(^|[^\\])dddd+/g,
"$1" + o[0]
)).replace(/(^|[^\\])ddd/g, "$1" + n[0])).replace(
/(^|[^\\])dd/g,
"$1" + l(d)
)).replace(/(^|[^\\])d/g, "$1" + d);
var g = a ? t.getUTCHours() : t.getHours(),
p = g > 12 ? g - 12 : 0 === g ? 12 : g;
e = (e = (e = (e = e.replace(
/(^|[^\\])HH+/g,
"$1" + l(g)
)).replace(/(^|[^\\])H/g, "$1" + g)).replace(
/(^|[^\\])hh+/g,
"$1" + l(p)
)).replace(/(^|[^\\])h/g, "$1" + p);
var f = a ? t.getUTCMinutes() : t.getMinutes();
e = (e = e.replace(
/(^|[^\\])mm+/g,
"$1" + l(f)
)).replace(/(^|[^\\])m/g, "$1" + f);
var x = a ? t.getUTCSeconds() : t.getSeconds();
e = (e = e.replace(
/(^|[^\\])ss+/g,
"$1" + l(x)
)).replace(/(^|[^\\])s/g, "$1" + x);
var b = a
? t.getUTCMilliseconds()
: t.getMilliseconds();
(e = e.replace(/(^|[^\\])fff+/g, "$1" + l(b, 3))),
(b = Math.round(b / 10)),
(e = e.replace(/(^|[^\\])ff/g, "$1" + l(b))),
(b = Math.round(b / 10));
var v = g < 12 ? "AM" : "PM";
e = (e = (e = e.replace(
/(^|[^\\])f/g,
"$1" + b
)).replace(/(^|[^\\])TT+/g, "$1" + v)).replace(
/(^|[^\\])T/g,
"$1" + v.charAt(0)
);
var m = v.toLowerCase();
e = (e = e.replace(
/(^|[^\\])tt+/g,
"$1" + m
)).replace(/(^|[^\\])t/g, "$1" + m.charAt(0));
var y = -t.getTimezoneOffset(),
w = a || !y ? "Z" : y > 0 ? "+" : "-";
if (!a) {
var k = (y = Math.abs(y)) % 60;
w += l(Math.floor(y / 60)) + ":" + l(k);
}
e = e.replace(/(^|[^\\])K/g, "$1" + w);
var A = (a ? t.getUTCDay() : t.getDay()) + 1;
return (e = (e = (e = (e = (e = e.replace(
new RegExp(o[0], "g"),
o[A]
)).replace(new RegExp(n[0], "g"), n[A])).replace(
new RegExp(s[0], "g"),
s[c]
)).replace(new RegExp(r[0], "g"), r[c])).replace(
/\\(.)/g,
"$1"
));
},
},
{
key: "getTimeUnitsfromTimestamp",
value: function (t, e, i) {
var a = this.w;
void 0 !== a.config.xaxis.min &&
(t = a.config.xaxis.min),
void 0 !== a.config.xaxis.max &&
(e = a.config.xaxis.max);
var s = this.getDate(t),
r = this.getDate(e),
o = this.formatDate(
s,
"yyyy MM dd HH mm ss fff"
).split(" "),
n = this.formatDate(
r,
"yyyy MM dd HH mm ss fff"
).split(" ");
return {
minMillisecond: parseInt(o[6], 10),
maxMillisecond: parseInt(n[6], 10),
minSecond: parseInt(o[5], 10),
maxSecond: parseInt(n[5], 10),
minMinute: parseInt(o[4], 10),
maxMinute: parseInt(n[4], 10),
minHour: parseInt(o[3], 10),
maxHour: parseInt(n[3], 10),
minDate: parseInt(o[2], 10),
maxDate: parseInt(n[2], 10),
minMonth: parseInt(o[1], 10) - 1,
maxMonth: parseInt(n[1], 10) - 1,
minYear: parseInt(o[0], 10),
maxYear: parseInt(n[0], 10),
};
},
},
{
key: "isLeapYear",
value: function (t) {
return (t % 4 == 0 && t % 100 != 0) || t % 400 == 0;
},
},
{
key: "calculcateLastDaysOfMonth",
value: function (t, e, i) {
return this.determineDaysOfMonths(t, e) - i;
},
},
{
key: "determineDaysOfYear",
value: function (t) {
var e = 365;
return this.isLeapYear(t) && (e = 366), e;
},
},
{
key: "determineRemainingDaysOfYear",
value: function (t, e, i) {
var a = this.daysCntOfYear[e] + i;
return e > 1 && this.isLeapYear() && a++, a;
},
},
{
key: "determineDaysOfMonths",
value: function (t, e) {
var i = 30;
switch (((t = x.monthMod(t)), !0)) {
case this.months30.indexOf(t) > -1:
2 === t &&
(i = this.isLeapYear(e) ? 29 : 28);
break;
case this.months31.indexOf(t) > -1:
default:
i = 31;
}
return i;
},
},
]),
t
);
})(),
T = (function () {
function t(e) {
a(this, t),
(this.ctx = e),
(this.w = e.w),
(this.tooltipKeyFormat = "dd MMM");
}
return (
r(t, [
{
key: "xLabelFormat",
value: function (t, e, i, a) {
var s = this.w;
if (
"datetime" === s.config.xaxis.type &&
void 0 === s.config.xaxis.labels.formatter &&
void 0 === s.config.tooltip.x.formatter
) {
var r = new I(this.ctx);
return r.formatDate(
r.getDate(e),
s.config.tooltip.x.format
);
}
return t(e, i, a);
},
},
{
key: "defaultGeneralFormatter",
value: function (t) {
return Array.isArray(t)
? t.map(function (t) {
return t;
})
: t;
},
},
{
key: "defaultYFormatter",
value: function (t, e, i) {
var a = this.w;
return (
x.isNumber(t) &&
(t =
0 !== a.globals.yValueDecimal
? t.toFixed(
void 0 !== e.decimalsInFloat
? e.decimalsInFloat
: a.globals.yValueDecimal
)
: a.globals.maxYArr[i] -
a.globals.minYArr[i] <
5
? t.toFixed(1)
: t.toFixed(0)),
t
);
},
},
{
key: "setLabelFormatters",
value: function () {
var t = this,
e = this.w;
return (
(e.globals.xaxisTooltipFormatter = function (
e
) {
return t.defaultGeneralFormatter(e);
}),
(e.globals.ttKeyFormatter = function (e) {
return t.defaultGeneralFormatter(e);
}),
(e.globals.ttZFormatter = function (t) {
return t;
}),
(e.globals.legendFormatter = function (e) {
return t.defaultGeneralFormatter(e);
}),
void 0 !== e.config.xaxis.labels.formatter
? (e.globals.xLabelFormatter =
e.config.xaxis.labels.formatter)
: (e.globals.xLabelFormatter = function (
t
) {
if (x.isNumber(t)) {
if (
!e.config.xaxis
.convertedCatToNumeric &&
"numeric" ===
e.config.xaxis.type
) {
if (
x.isNumber(
e.config.xaxis
.decimalsInFloat
)
)
return t.toFixed(
e.config.xaxis
.decimalsInFloat
);
var i =
e.globals.maxX -
e.globals.minX;
return i > 0 && i < 100
? t.toFixed(1)
: t.toFixed(0);
}
if (e.globals.isBarHorizontal)
if (
e.globals.maxY -
e.globals.minYArr <
4
)
return t.toFixed(1);
return t.toFixed(0);
}
return t;
}),
"function" ==
typeof e.config.tooltip.x.formatter
? (e.globals.ttKeyFormatter =
e.config.tooltip.x.formatter)
: (e.globals.ttKeyFormatter =
e.globals.xLabelFormatter),
"function" ==
typeof e.config.xaxis.tooltip.formatter &&
(e.globals.xaxisTooltipFormatter =
e.config.xaxis.tooltip.formatter),
(Array.isArray(e.config.tooltip.y) ||
void 0 !== e.config.tooltip.y.formatter) &&
(e.globals.ttVal = e.config.tooltip.y),
void 0 !== e.config.tooltip.z.formatter &&
(e.globals.ttZFormatter =
e.config.tooltip.z.formatter),
void 0 !== e.config.legend.formatter &&
(e.globals.legendFormatter =
e.config.legend.formatter),
e.config.yaxis.forEach(function (i, a) {
void 0 !== i.labels.formatter
? (e.globals.yLabelFormatters[a] =
i.labels.formatter)
: (e.globals.yLabelFormatters[a] =
function (s) {
return e.globals.xyCharts
? Array.isArray(s)
? s.map(function (e) {
return t.defaultYFormatter(
e,
i,
a
);
})
: t.defaultYFormatter(
s,
i,
a
)
: s;
});
}),
e.globals
);
},
},
{
key: "heatmapLabelFormatters",
value: function () {
var t = this.w;
if ("heatmap" === t.config.chart.type) {
t.globals.yAxisScale[0].result =
t.globals.seriesNames.slice();
var e = t.globals.seriesNames.reduce(function (
t,
e
) {
return t.length > e.length ? t : e;
},
0);
(t.globals.yAxisScale[0].niceMax = e),
(t.globals.yAxisScale[0].niceMin = e);
}
},
},
]),
t
);
})(),
M = function (t) {
var e,
i = t.isTimeline,
a = t.ctx,
s = t.seriesIndex,
r = t.dataPointIndex,
o = t.y1,
n = t.y2,
l = t.w,
h = l.globals.seriesRangeStart[s][r],
c = l.globals.seriesRangeEnd[s][r],
d = l.globals.labels[r],
g = l.config.series[s].name ? l.config.series[s].name : "",
u = l.globals.ttKeyFormatter,
p = l.config.tooltip.y.title.formatter,
f = {
w: l,
seriesIndex: s,
dataPointIndex: r,
start: h,
end: c,
};
("function" == typeof p && (g = p(g, f)),
null !== (e = l.config.series[s].data[r]) &&
void 0 !== e &&
e.x &&
(d = l.config.series[s].data[r].x),
i) ||
("datetime" === l.config.xaxis.type &&
(d = new T(a).xLabelFormat(l.globals.ttKeyFormatter, d, d, {
i: void 0,
dateFormatter: new I(a).formatDate,
w: l,
})));
"function" == typeof u && (d = u(d, f)),
Number.isFinite(o) && Number.isFinite(n) && ((h = o), (c = n));
var x = "",
b = "",
v = l.globals.colors[s];
if (void 0 === l.config.tooltip.x.formatter)
if ("datetime" === l.config.xaxis.type) {
var m = new I(a);
(x = m.formatDate(m.getDate(h), l.config.tooltip.x.format)),
(b = m.formatDate(
m.getDate(c),
l.config.tooltip.x.format
));
} else (x = h), (b = c);
else
(x = l.config.tooltip.x.formatter(h)),
(b = l.config.tooltip.x.formatter(c));
return {
start: h,
end: c,
startVal: x,
endVal: b,
ylabel: d,
color: v,
seriesName: g,
};
},
z = function (t) {
var e = t.color,
i = t.seriesName,
a = t.ylabel,
s = t.start,
r = t.end,
o = t.seriesIndex,
n = t.dataPointIndex,
l = t.ctx.tooltip.tooltipLabels.getFormatters(o);
(s = l.yLbFormatter(s)), (r = l.yLbFormatter(r));
var h = l.yLbFormatter(t.w.globals.series[o][n]),
c = '\n '
.concat(
s,
'\n - \n '
)
.concat(r, "\n ");
return (
'
"
);
},
X = (function () {
function t(e) {
a(this, t), (this.opts = e);
}
return (
r(t, [
{
key: "hideYAxis",
value: function () {
(this.opts.yaxis[0].show = !1),
(this.opts.yaxis[0].title.text = ""),
(this.opts.yaxis[0].axisBorder.show = !1),
(this.opts.yaxis[0].axisTicks.show = !1),
(this.opts.yaxis[0].floating = !0);
},
},
{
key: "line",
value: function () {
return {
chart: { animations: { easing: "swing" } },
dataLabels: { enabled: !1 },
stroke: { width: 5, curve: "straight" },
markers: { size: 0, hover: { sizeOffset: 6 } },
xaxis: { crosshairs: { width: 1 } },
};
},
},
{
key: "sparkline",
value: function (t) {
this.hideYAxis();
return x.extend(t, {
grid: {
show: !1,
padding: {
left: 0,
right: 0,
top: 0,
bottom: 0,
},
},
legend: { show: !1 },
xaxis: {
labels: { show: !1 },
tooltip: { enabled: !1 },
axisBorder: { show: !1 },
axisTicks: { show: !1 },
},
chart: {
toolbar: { show: !1 },
zoom: { enabled: !1 },
},
dataLabels: { enabled: !1 },
});
},
},
{
key: "bar",
value: function () {
return {
chart: {
stacked: !1,
animations: { easing: "swing" },
},
plotOptions: {
bar: { dataLabels: { position: "center" } },
},
dataLabels: {
style: { colors: ["#fff"] },
background: { enabled: !1 },
},
stroke: { width: 0, lineCap: "round" },
fill: { opacity: 0.85 },
legend: {
markers: {
shape: "square",
radius: 2,
size: 8,
},
},
tooltip: { shared: !1, intersect: !0 },
xaxis: {
tooltip: { enabled: !1 },
tickPlacement: "between",
crosshairs: {
width: "barWidth",
position: "back",
fill: { type: "gradient" },
dropShadow: { enabled: !1 },
stroke: { width: 0 },
},
},
};
},
},
{
key: "funnel",
value: function () {
return (
this.hideYAxis(),
e(
e({}, this.bar()),
{},
{
chart: {
animations: {
easing: "linear",
speed: 800,
animateGradually: {
enabled: !1,
},
},
},
plotOptions: {
bar: {
horizontal: !0,
borderRadiusApplication:
"around",
borderRadius: 0,
dataLabels: {
position: "center",
},
},
},
grid: {
show: !1,
padding: { left: 0, right: 0 },
},
xaxis: {
labels: { show: !1 },
tooltip: { enabled: !1 },
axisBorder: { show: !1 },
axisTicks: { show: !1 },
},
}
)
);
},
},
{
key: "candlestick",
value: function () {
var t = this;
return {
stroke: { width: 1, colors: ["#333"] },
fill: { opacity: 1 },
dataLabels: { enabled: !1 },
tooltip: {
shared: !0,
custom: function (e) {
var i = e.seriesIndex,
a = e.dataPointIndex,
s = e.w;
return t._getBoxTooltip(
s,
i,
a,
[
"Open",
"High",
"",
"Low",
"Close",
],
"candlestick"
);
},
},
states: {
active: { filter: { type: "none" } },
},
xaxis: { crosshairs: { width: 1 } },
};
},
},
{
key: "boxPlot",
value: function () {
var t = this;
return {
chart: {
animations: {
dynamicAnimation: { enabled: !1 },
},
},
stroke: { width: 1, colors: ["#24292e"] },
dataLabels: { enabled: !1 },
tooltip: {
shared: !0,
custom: function (e) {
var i = e.seriesIndex,
a = e.dataPointIndex,
s = e.w;
return t._getBoxTooltip(
s,
i,
a,
[
"Minimum",
"Q1",
"Median",
"Q3",
"Maximum",
],
"boxPlot"
);
},
},
markers: {
size: 5,
strokeWidth: 1,
strokeColors: "#111",
},
xaxis: { crosshairs: { width: 1 } },
};
},
},
{
key: "rangeBar",
value: function () {
return {
chart: { animations: { animateGradually: !1 } },
stroke: { width: 0, lineCap: "square" },
plotOptions: {
bar: {
borderRadius: 0,
dataLabels: { position: "center" },
},
},
dataLabels: {
enabled: !1,
formatter: function (t, e) {
e.ctx;
var i = e.seriesIndex,
a = e.dataPointIndex,
s = e.w,
r = function () {
var t =
s.globals.seriesRangeStart[
i
][a];
return (
s.globals.seriesRangeEnd[i][
a
] - t
);
};
return s.globals.comboCharts
? "rangeBar" ===
s.config.series[i].type ||
"rangeArea" ===
s.config.series[i].type
? r()
: t
: r();
},
background: { enabled: !1 },
style: { colors: ["#fff"] },
},
markers: { size: 10 },
tooltip: {
shared: !1,
followCursor: !0,
custom: function (t) {
return t.w.config.plotOptions &&
t.w.config.plotOptions.bar &&
t.w.config.plotOptions.bar
.horizontal
? (function (t) {
var i = M(
e(
e({}, t),
{},
{ isTimeline: !0 }
)
),
a = i.color,
s = i.seriesName,
r = i.ylabel,
o = i.startVal,
n = i.endVal;
return z(
e(
e({}, t),
{},
{
color: a,
seriesName: s,
ylabel: r,
start: o,
end: n,
}
)
);
})(t)
: (function (t) {
var i = M(t),
a = i.color,
s = i.seriesName,
r = i.ylabel,
o = i.start,
n = i.end;
return z(
e(
e({}, t),
{},
{
color: a,
seriesName: s,
ylabel: r,
start: o,
end: n,
}
)
);
})(t);
},
},
xaxis: {
tickPlacement: "between",
tooltip: { enabled: !1 },
crosshairs: { stroke: { width: 0 } },
},
};
},
},
{
key: "dumbbell",
value: function (t) {
var e, i;
return (
(null !== (e = t.plotOptions.bar) &&
void 0 !== e &&
e.barHeight) ||
(t.plotOptions.bar.barHeight = 2),
(null !== (i = t.plotOptions.bar) &&
void 0 !== i &&
i.columnWidth) ||
(t.plotOptions.bar.columnWidth = 2),
t
);
},
},
{
key: "area",
value: function () {
return {
stroke: {
width: 4,
fill: {
type: "solid",
gradient: {
inverseColors: !1,
shade: "light",
type: "vertical",
opacityFrom: 0.65,
opacityTo: 0.5,
stops: [0, 100, 100],
},
},
},
fill: {
type: "gradient",
gradient: {
inverseColors: !1,
shade: "light",
type: "vertical",
opacityFrom: 0.65,
opacityTo: 0.5,
stops: [0, 100, 100],
},
},
markers: { size: 0, hover: { sizeOffset: 6 } },
tooltip: { followCursor: !1 },
};
},
},
{
key: "rangeArea",
value: function () {
return {
stroke: { curve: "straight", width: 0 },
fill: { type: "solid", opacity: 0.6 },
markers: { size: 0 },
states: {
hover: { filter: { type: "none" } },
active: { filter: { type: "none" } },
},
tooltip: {
intersect: !1,
shared: !0,
followCursor: !0,
custom: function (t) {
return (function (t) {
var i = M(t),
a = i.color,
s = i.seriesName,
r = i.ylabel,
o = i.start,
n = i.end;
return z(
e(
e({}, t),
{},
{
color: a,
seriesName: s,
ylabel: r,
start: o,
end: n,
}
)
);
})(t);
},
},
};
},
},
{
key: "brush",
value: function (t) {
return x.extend(t, {
chart: {
toolbar: {
autoSelected: "selection",
show: !1,
},
zoom: { enabled: !1 },
},
dataLabels: { enabled: !1 },
stroke: { width: 1 },
tooltip: { enabled: !1 },
xaxis: { tooltip: { enabled: !1 } },
});
},
},
{
key: "stacked100",
value: function (t) {
(t.dataLabels = t.dataLabels || {}),
(t.dataLabels.formatter =
t.dataLabels.formatter || void 0);
var e = t.dataLabels.formatter;
return (
t.yaxis.forEach(function (e, i) {
(t.yaxis[i].min = 0),
(t.yaxis[i].max = 100);
}),
"bar" === t.chart.type &&
(t.dataLabels.formatter =
e ||
function (t) {
return "number" == typeof t && t
? t.toFixed(0) + "%"
: t;
}),
t
);
},
},
{
key: "stackedBars",
value: function () {
var t = this.bar();
return e(
e({}, t),
{},
{
plotOptions: e(
e({}, t.plotOptions),
{},
{
bar: e(
e({}, t.plotOptions.bar),
{},
{
borderRadiusApplication:
"end",
borderRadiusWhenStacked:
"last",
}
),
}
),
}
);
},
},
{
key: "convertCatToNumeric",
value: function (t) {
return (t.xaxis.convertedCatToNumeric = !0), t;
},
},
{
key: "convertCatToNumericXaxis",
value: function (t, e, i) {
(t.xaxis.type = "numeric"),
(t.xaxis.labels = t.xaxis.labels || {}),
(t.xaxis.labels.formatter =
t.xaxis.labels.formatter ||
function (t) {
return x.isNumber(t)
? Math.floor(t)
: t;
});
var a = t.xaxis.labels.formatter,
s =
t.xaxis.categories &&
t.xaxis.categories.length
? t.xaxis.categories
: t.labels;
return (
i &&
i.length &&
(s = i.map(function (t) {
return Array.isArray(t) ? t : String(t);
})),
s &&
s.length &&
(t.xaxis.labels.formatter = function (t) {
return x.isNumber(t)
? a(s[Math.floor(t) - 1])
: a(t);
}),
(t.xaxis.categories = []),
(t.labels = []),
(t.xaxis.tickAmount =
t.xaxis.tickAmount || "dataPoints"),
t
);
},
},
{
key: "bubble",
value: function () {
return {
dataLabels: { style: { colors: ["#fff"] } },
tooltip: { shared: !1, intersect: !0 },
xaxis: { crosshairs: { width: 0 } },
fill: {
type: "solid",
gradient: {
shade: "light",
inverse: !0,
shadeIntensity: 0.55,
opacityFrom: 0.4,
opacityTo: 0.8,
},
},
};
},
},
{
key: "scatter",
value: function () {
return {
dataLabels: { enabled: !1 },
tooltip: { shared: !1, intersect: !0 },
markers: {
size: 6,
strokeWidth: 1,
hover: { sizeOffset: 2 },
},
};
},
},
{
key: "heatmap",
value: function () {
return {
chart: { stacked: !1 },
fill: { opacity: 1 },
dataLabels: { style: { colors: ["#fff"] } },
stroke: { colors: ["#fff"] },
tooltip: {
followCursor: !0,
marker: { show: !1 },
x: { show: !1 },
},
legend: {
position: "top",
markers: {
shape: "square",
size: 10,
offsetY: 2,
},
},
grid: { padding: { right: 20 } },
};
},
},
{
key: "treemap",
value: function () {
return {
chart: { zoom: { enabled: !1 } },
dataLabels: {
style: {
fontSize: 14,
fontWeight: 600,
colors: ["#fff"],
},
},
stroke: {
show: !0,
width: 2,
colors: ["#fff"],
},
legend: { show: !1 },
fill: { gradient: { stops: [0, 100] } },
tooltip: { followCursor: !0, x: { show: !1 } },
grid: { padding: { left: 0, right: 0 } },
xaxis: {
crosshairs: { show: !1 },
tooltip: { enabled: !1 },
},
};
},
},
{
key: "pie",
value: function () {
return {
chart: { toolbar: { show: !1 } },
plotOptions: {
pie: { donut: { labels: { show: !1 } } },
},
dataLabels: {
formatter: function (t) {
return t.toFixed(1) + "%";
},
style: { colors: ["#fff"] },
background: { enabled: !1 },
dropShadow: { enabled: !0 },
},
stroke: { colors: ["#fff"] },
fill: {
opacity: 1,
gradient: {
shade: "light",
stops: [0, 100],
},
},
tooltip: { theme: "dark", fillSeriesColor: !0 },
legend: { position: "right" },
};
},
},
{
key: "donut",
value: function () {
return {
chart: { toolbar: { show: !1 } },
dataLabels: {
formatter: function (t) {
return t.toFixed(1) + "%";
},
style: { colors: ["#fff"] },
background: { enabled: !1 },
dropShadow: { enabled: !0 },
},
stroke: { colors: ["#fff"] },
fill: {
opacity: 1,
gradient: {
shade: "light",
shadeIntensity: 0.35,
stops: [80, 100],
opacityFrom: 1,
opacityTo: 1,
},
},
tooltip: { theme: "dark", fillSeriesColor: !0 },
legend: { position: "right" },
};
},
},
{
key: "polarArea",
value: function () {
return (
(this.opts.yaxis[0].tickAmount = this.opts
.yaxis[0].tickAmount
? this.opts.yaxis[0].tickAmount
: 6),
{
chart: { toolbar: { show: !1 } },
dataLabels: {
formatter: function (t) {
return t.toFixed(1) + "%";
},
enabled: !1,
},
stroke: { show: !0, width: 2 },
fill: { opacity: 0.7 },
tooltip: {
theme: "dark",
fillSeriesColor: !0,
},
legend: { position: "right" },
}
);
},
},
{
key: "radar",
value: function () {
return (
(this.opts.yaxis[0].labels.offsetY = this.opts
.yaxis[0].labels.offsetY
? this.opts.yaxis[0].labels.offsetY
: 6),
{
dataLabels: {
enabled: !1,
style: { fontSize: "11px" },
},
stroke: { width: 2 },
markers: {
size: 3,
strokeWidth: 1,
strokeOpacity: 1,
},
fill: { opacity: 0.2 },
tooltip: {
shared: !1,
intersect: !0,
followCursor: !0,
},
grid: { show: !1 },
xaxis: {
labels: {
formatter: function (t) {
return t;
},
style: {
colors: ["#a8a8a8"],
fontSize: "11px",
},
},
tooltip: { enabled: !1 },
crosshairs: { show: !1 },
},
}
);
},
},
{
key: "radialBar",
value: function () {
return {
chart: {
animations: {
dynamicAnimation: {
enabled: !0,
speed: 800,
},
},
toolbar: { show: !1 },
},
fill: {
gradient: {
shade: "dark",
shadeIntensity: 0.4,
inverseColors: !1,
type: "diagonal2",
opacityFrom: 1,
opacityTo: 1,
stops: [70, 98, 100],
},
},
legend: { show: !1, position: "right" },
tooltip: { enabled: !1, fillSeriesColor: !0 },
};
},
},
{
key: "_getBoxTooltip",
value: function (t, e, i, a, s) {
var r = t.globals.seriesCandleO[e][i],
o = t.globals.seriesCandleH[e][i],
n = t.globals.seriesCandleM[e][i],
l = t.globals.seriesCandleL[e][i],
h = t.globals.seriesCandleC[e][i];
return t.config.series[e].type &&
t.config.series[e].type !== s
? '\n '
.concat(
t.config.series[e].name
? t.config.series[e].name
: "series-" + (e + 1),
": "
)
.concat(
t.globals.series[e][i],
"\n
"
)
: '";
},
},
]),
t
);
})(),
E = (function () {
function t(e) {
a(this, t), (this.opts = e);
}
return (
r(t, [
{
key: "init",
value: function (t) {
var e = t.responsiveOverride,
a = this.opts,
s = new L(),
r = new X(a);
(this.chartType = a.chart.type),
(a = this.extendYAxis(a)),
(a = this.extendAnnotations(a));
var o = s.init(),
n = {};
if (a && "object" === i(a)) {
var l,
h,
c,
d,
g,
u,
p,
f,
b,
v,
m = {};
(m =
-1 !==
[
"line",
"area",
"bar",
"candlestick",
"boxPlot",
"rangeBar",
"rangeArea",
"bubble",
"scatter",
"heatmap",
"treemap",
"pie",
"polarArea",
"donut",
"radar",
"radialBar",
].indexOf(a.chart.type)
? r[a.chart.type]()
: r.line()),
null !== (l = a.plotOptions) &&
void 0 !== l &&
null !== (h = l.bar) &&
void 0 !== h &&
h.isFunnel &&
(m = r.funnel()),
a.chart.stacked &&
"bar" === a.chart.type &&
(m = r.stackedBars()),
null !== (c = a.chart.brush) &&
void 0 !== c &&
c.enabled &&
(m = r.brush(m)),
a.chart.stacked &&
"100%" === a.chart.stackType &&
(a = r.stacked100(a)),
null !== (d = a.plotOptions) &&
void 0 !== d &&
null !== (g = d.bar) &&
void 0 !== g &&
g.isDumbbell &&
(a = r.dumbbell(a)),
"monotoneCubic" ===
(null === (u = a) ||
void 0 === u ||
null === (p = u.stroke) ||
void 0 === p
? void 0
: p.curve) &&
(a.stroke.curve = "smooth"),
this.checkForDarkTheme(window.Apex),
this.checkForDarkTheme(a),
(a.xaxis =
a.xaxis || window.Apex.xaxis || {}),
e || (a.xaxis.convertedCatToNumeric = !1),
((null !==
(f = (a =
this.checkForCatToNumericXAxis(
this.chartType,
m,
a
)).chart.sparkline) &&
void 0 !== f &&
f.enabled) ||
(null !== (b = window.Apex.chart) &&
void 0 !== b &&
null !== (v = b.sparkline) &&
void 0 !== v &&
v.enabled)) &&
(m = r.sparkline(m)),
(n = x.extend(o, m));
}
var y = x.extend(n, window.Apex);
return (
(o = x.extend(y, a)),
(o = this.handleUserInputErrors(o))
);
},
},
{
key: "checkForCatToNumericXAxis",
value: function (t, e, i) {
var a,
s,
r = new X(i),
o =
("bar" === t || "boxPlot" === t) &&
(null === (a = i.plotOptions) ||
void 0 === a ||
null === (s = a.bar) ||
void 0 === s
? void 0
: s.horizontal),
n =
"pie" === t ||
"polarArea" === t ||
"donut" === t ||
"radar" === t ||
"radialBar" === t ||
"heatmap" === t,
l =
"datetime" !== i.xaxis.type &&
"numeric" !== i.xaxis.type,
h = i.xaxis.tickPlacement
? i.xaxis.tickPlacement
: e.xaxis && e.xaxis.tickPlacement;
return (
o ||
n ||
!l ||
"between" === h ||
(i = r.convertCatToNumeric(i)),
i
);
},
},
{
key: "extendYAxis",
value: function (t, e) {
var i = new L();
(void 0 === t.yaxis ||
!t.yaxis ||
(Array.isArray(t.yaxis) &&
0 === t.yaxis.length)) &&
(t.yaxis = {}),
t.yaxis.constructor !== Array &&
window.Apex.yaxis &&
window.Apex.yaxis.constructor !== Array &&
(t.yaxis = x.extend(
t.yaxis,
window.Apex.yaxis
)),
t.yaxis.constructor !== Array
? (t.yaxis = [x.extend(i.yAxis, t.yaxis)])
: (t.yaxis = x.extendArray(
t.yaxis,
i.yAxis
));
var a = !1;
t.yaxis.forEach(function (t) {
t.logarithmic && (a = !0);
});
var s = t.series;
return (
e && !s && (s = e.config.series),
a &&
s.length !== t.yaxis.length &&
s.length &&
(t.yaxis = s.map(function (e, a) {
if (
(e.name ||
(s[a].name = "series-".concat(
a + 1
)),
t.yaxis[a])
)
return (
(t.yaxis[a].seriesName =
s[a].name),
t.yaxis[a]
);
var r = x.extend(i.yAxis, t.yaxis[0]);
return (r.show = !1), r;
})),
a &&
s.length > 1 &&
s.length !== t.yaxis.length &&
console.warn(
"A multi-series logarithmic chart should have equal number of series and y-axes"
),
t
);
},
},
{
key: "extendAnnotations",
value: function (t) {
return (
void 0 === t.annotations &&
((t.annotations = {}),
(t.annotations.yaxis = []),
(t.annotations.xaxis = []),
(t.annotations.points = [])),
(t = this.extendYAxisAnnotations(t)),
(t = this.extendXAxisAnnotations(t)),
(t = this.extendPointAnnotations(t))
);
},
},
{
key: "extendYAxisAnnotations",
value: function (t) {
var e = new L();
return (
(t.annotations.yaxis = x.extendArray(
void 0 !== t.annotations.yaxis
? t.annotations.yaxis
: [],
e.yAxisAnnotation
)),
t
);
},
},
{
key: "extendXAxisAnnotations",
value: function (t) {
var e = new L();
return (
(t.annotations.xaxis = x.extendArray(
void 0 !== t.annotations.xaxis
? t.annotations.xaxis
: [],
e.xAxisAnnotation
)),
t
);
},
},
{
key: "extendPointAnnotations",
value: function (t) {
var e = new L();
return (
(t.annotations.points = x.extendArray(
void 0 !== t.annotations.points
? t.annotations.points
: [],
e.pointAnnotation
)),
t
);
},
},
{
key: "checkForDarkTheme",
value: function (t) {
t.theme &&
"dark" === t.theme.mode &&
(t.tooltip || (t.tooltip = {}),
"light" !== t.tooltip.theme &&
(t.tooltip.theme = "dark"),
t.chart.foreColor ||
(t.chart.foreColor = "#f6f7f8"),
t.chart.background ||
(t.chart.background = "#424242"),
t.theme.palette ||
(t.theme.palette = "palette4"));
},
},
{
key: "handleUserInputErrors",
value: function (t) {
var e = t;
if (e.tooltip.shared && e.tooltip.intersect)
throw new Error(
"tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false."
);
if (
"bar" === e.chart.type &&
e.plotOptions.bar.horizontal
) {
if (e.yaxis.length > 1)
throw new Error(
"Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false"
);
e.yaxis[0].reversed &&
(e.yaxis[0].opposite = !0),
(e.xaxis.tooltip.enabled = !1),
(e.yaxis[0].tooltip.enabled = !1),
(e.chart.zoom.enabled = !1);
}
return (
("bar" !== e.chart.type &&
"rangeBar" !== e.chart.type) ||
(e.tooltip.shared &&
"barWidth" ===
e.xaxis.crosshairs.width &&
e.series.length > 1 &&
(e.xaxis.crosshairs.width =
"tickWidth")),
("candlestick" !== e.chart.type &&
"boxPlot" !== e.chart.type) ||
(e.yaxis[0].reversed &&
(console.warn(
"Reversed y-axis in ".concat(
e.chart.type,
" chart is not supported."
)
),
(e.yaxis[0].reversed = !1))),
e
);
},
},
]),
t
);
})(),
Y = (function () {
function t() {
a(this, t);
}
return (
r(t, [
{
key: "initGlobalVars",
value: function (t) {
(t.series = []),
(t.seriesCandleO = []),
(t.seriesCandleH = []),
(t.seriesCandleM = []),
(t.seriesCandleL = []),
(t.seriesCandleC = []),
(t.seriesRangeStart = []),
(t.seriesRangeEnd = []),
(t.seriesRange = []),
(t.seriesPercent = []),
(t.seriesGoals = []),
(t.seriesX = []),
(t.seriesZ = []),
(t.seriesNames = []),
(t.seriesTotals = []),
(t.seriesLog = []),
(t.seriesColors = []),
(t.stackedSeriesTotals = []),
(t.seriesXvalues = []),
(t.seriesYvalues = []),
(t.labels = []),
(t.hasXaxisGroups = !1),
(t.groups = []),
(t.hasSeriesGroups = !1),
(t.seriesGroups = []),
(t.categoryLabels = []),
(t.timescaleLabels = []),
(t.noLabelsProvided = !1),
(t.resizeTimer = null),
(t.selectionResizeTimer = null),
(t.delayedElements = []),
(t.pointsArray = []),
(t.dataLabelsRects = []),
(t.isXNumeric = !1),
(t.skipLastTimelinelabel = !1),
(t.skipFirstTimelinelabel = !1),
(t.isDataXYZ = !1),
(t.isMultiLineX = !1),
(t.isMultipleYAxis = !1),
(t.maxY = -Number.MAX_VALUE),
(t.minY = Number.MIN_VALUE),
(t.minYArr = []),
(t.maxYArr = []),
(t.maxX = -Number.MAX_VALUE),
(t.minX = Number.MAX_VALUE),
(t.initialMaxX = -Number.MAX_VALUE),
(t.initialMinX = Number.MAX_VALUE),
(t.maxDate = 0),
(t.minDate = Number.MAX_VALUE),
(t.minZ = Number.MAX_VALUE),
(t.maxZ = -Number.MAX_VALUE),
(t.minXDiff = Number.MAX_VALUE),
(t.yAxisScale = []),
(t.xAxisScale = null),
(t.xAxisTicksPositions = []),
(t.yLabelsCoords = []),
(t.yTitleCoords = []),
(t.barPadForNumericAxis = 0),
(t.padHorizontal = 0),
(t.xRange = 0),
(t.yRange = []),
(t.zRange = 0),
(t.dataPoints = 0),
(t.xTickAmount = 0);
},
},
{
key: "globalVars",
value: function (t) {
return {
chartID: null,
cuid: null,
events: {
beforeMount: [],
mounted: [],
updated: [],
clicked: [],
selection: [],
dataPointSelection: [],
zoomed: [],
scrolled: [],
},
colors: [],
clientX: null,
clientY: null,
fill: { colors: [] },
stroke: { colors: [] },
dataLabels: { style: { colors: [] } },
radarPolygons: { fill: { colors: [] } },
markers: {
colors: [],
size: t.markers.size,
largestSize: 0,
},
animationEnded: !1,
isTouchDevice:
"ontouchstart" in window ||
navigator.msMaxTouchPoints,
isDirty: !1,
isExecCalled: !1,
initialConfig: null,
initialSeries: [],
lastXAxis: [],
lastYAxis: [],
columnSeries: null,
labels: [],
timescaleLabels: [],
noLabelsProvided: !1,
allSeriesCollapsed: !1,
collapsedSeries: [],
collapsedSeriesIndices: [],
ancillaryCollapsedSeries: [],
ancillaryCollapsedSeriesIndices: [],
risingSeries: [],
dataFormatXNumeric: !1,
capturedSeriesIndex: -1,
capturedDataPointIndex: -1,
selectedDataPoints: [],
goldenPadding: 35,
invalidLogScale: !1,
ignoreYAxisIndexes: [],
yAxisSameScaleIndices: [],
maxValsInArrayIndex: 0,
radialSize: 0,
selection: void 0,
zoomEnabled:
"zoom" === t.chart.toolbar.autoSelected &&
t.chart.toolbar.tools.zoom &&
t.chart.zoom.enabled,
panEnabled:
"pan" === t.chart.toolbar.autoSelected &&
t.chart.toolbar.tools.pan,
selectionEnabled:
"selection" ===
t.chart.toolbar.autoSelected &&
t.chart.toolbar.tools.selection,
yaxis: null,
mousedown: !1,
lastClientPosition: {},
visibleXRange: void 0,
yValueDecimal: 0,
total: 0,
SVGNS: "http://www.w3.org/2000/svg",
svgWidth: 0,
svgHeight: 0,
noData: !1,
locale: {},
dom: {},
memory: { methodsToExec: [] },
shouldAnimate: !0,
skipLastTimelinelabel: !1,
skipFirstTimelinelabel: !1,
delayedElements: [],
axisCharts: !0,
isDataXYZ: !1,
resized: !1,
resizeTimer: null,
comboCharts: !1,
dataChanged: !1,
previousPaths: [],
allSeriesHasEqualX: !0,
pointsArray: [],
dataLabelsRects: [],
lastDrawnDataLabelsIndexes: [],
hasNullValues: !1,
easing: null,
zoomed: !1,
gridWidth: 0,
gridHeight: 0,
rotateXLabels: !1,
defaultLabels: !1,
xLabelFormatter: void 0,
yLabelFormatters: [],
xaxisTooltipFormatter: void 0,
ttKeyFormatter: void 0,
ttVal: void 0,
ttZFormatter: void 0,
LINE_HEIGHT_RATIO: 1.618,
xAxisLabelsHeight: 0,
xAxisGroupLabelsHeight: 0,
xAxisLabelsWidth: 0,
yAxisLabelsWidth: 0,
scaleX: 1,
scaleY: 1,
translateX: 0,
translateY: 0,
translateYAxisX: [],
yAxisWidths: [],
translateXAxisY: 0,
translateXAxisX: 0,
tooltip: null,
};
},
},
{
key: "init",
value: function (t) {
var e = this.globalVars(t);
return (
this.initGlobalVars(e),
(e.initialConfig = x.extend({}, t)),
(e.initialSeries = x.clone(t.series)),
(e.lastXAxis = x.clone(e.initialConfig.xaxis)),
(e.lastYAxis = x.clone(e.initialConfig.yaxis)),
e
);
},
},
]),
t
);
})(),
F = (function () {
function t(e) {
a(this, t), (this.opts = e);
}
return (
r(t, [
{
key: "init",
value: function () {
var t = new E(this.opts).init({
responsiveOverride: !1,
});
return { config: t, globals: new Y().init(t) };
},
},
]),
t
);
})(),
R = (function () {
function t(e) {
a(this, t),
(this.ctx = e),
(this.w = e.w),
(this.opts = null),
(this.seriesIndex = 0);
}
return (
r(t, [
{
key: "clippedImgArea",
value: function (t) {
var e = this.w,
i = e.config,
a = parseInt(e.globals.gridWidth, 10),
s = parseInt(e.globals.gridHeight, 10),
r = a > s ? a : s,
o = t.image,
n = 0,
l = 0;
void 0 === t.width && void 0 === t.height
? void 0 !== i.fill.image.width &&
void 0 !== i.fill.image.height
? ((n = i.fill.image.width + 1),
(l = i.fill.image.height))
: ((n = r + 1), (l = r))
: ((n = t.width), (l = t.height));
var h = document.createElementNS(
e.globals.SVGNS,
"pattern"
);
m.setAttrs(h, {
id: t.patternID,
patternUnits: t.patternUnits
? t.patternUnits
: "userSpaceOnUse",
width: n + "px",
height: l + "px",
});
var c = document.createElementNS(
e.globals.SVGNS,
"image"
);
h.appendChild(c),
c.setAttributeNS(window.SVG.xlink, "href", o),
m.setAttrs(c, {
x: 0,
y: 0,
preserveAspectRatio: "none",
width: n + "px",
height: l + "px",
}),
(c.style.opacity = t.opacity),
e.globals.dom.elDefs.node.appendChild(h);
},
},
{
key: "getSeriesIndex",
value: function (t) {
var e = this.w,
i = e.config.chart.type;
return (
(("bar" === i || "rangeBar" === i) &&
e.config.plotOptions.bar.distributed) ||
"heatmap" === i ||
"treemap" === i
? (this.seriesIndex = t.seriesNumber)
: (this.seriesIndex =
t.seriesNumber %
e.globals.series.length),
this.seriesIndex
);
},
},
{
key: "fillPath",
value: function (t) {
var e = this.w;
this.opts = t;
var i,
a,
s,
r = this.w.config;
this.seriesIndex = this.getSeriesIndex(t);
var o = this.getFillColors()[this.seriesIndex];
void 0 !==
e.globals.seriesColors[this.seriesIndex] &&
(o = e.globals.seriesColors[this.seriesIndex]),
"function" == typeof o &&
(o = o({
seriesIndex: this.seriesIndex,
dataPointIndex: t.dataPointIndex,
value: t.value,
w: e,
}));
var n = t.fillType
? t.fillType
: this.getFillType(this.seriesIndex),
l = Array.isArray(r.fill.opacity)
? r.fill.opacity[this.seriesIndex]
: r.fill.opacity;
t.color && (o = t.color),
o ||
((o = "#fff"),
console.warn(
"undefined color - ApexCharts"
));
var h = o;
if (
(-1 === o.indexOf("rgb")
? o.length < 9 && (h = x.hexToRgba(o, l))
: o.indexOf("rgba") > -1 &&
(l = x.getOpacityFromRGBA(o)),
t.opacity && (l = t.opacity),
"pattern" === n &&
(a = this.handlePatternFill({
fillConfig: t.fillConfig,
patternFill: a,
fillColor: o,
fillOpacity: l,
defaultColor: h,
})),
"gradient" === n &&
(s = this.handleGradientFill({
fillConfig: t.fillConfig,
fillColor: o,
fillOpacity: l,
i: this.seriesIndex,
})),
"image" === n)
) {
var c = r.fill.image.src,
d = t.patternID ? t.patternID : "";
this.clippedImgArea({
opacity: l,
image: Array.isArray(c)
? t.seriesNumber < c.length
? c[t.seriesNumber]
: c[0]
: c,
width: t.width ? t.width : void 0,
height: t.height ? t.height : void 0,
patternUnits: t.patternUnits,
patternID: "pattern"
.concat(e.globals.cuid)
.concat(t.seriesNumber + 1)
.concat(d),
}),
(i = "url(#pattern"
.concat(e.globals.cuid)
.concat(t.seriesNumber + 1)
.concat(d, ")"));
} else
i =
"gradient" === n
? s
: "pattern" === n
? a
: h;
return t.solid && (i = h), i;
},
},
{
key: "getFillType",
value: function (t) {
var e = this.w;
return Array.isArray(e.config.fill.type)
? e.config.fill.type[t]
: e.config.fill.type;
},
},
{
key: "getFillColors",
value: function () {
var t = this.w,
e = t.config,
i = this.opts,
a = [];
return (
t.globals.comboCharts
? "line" ===
t.config.series[this.seriesIndex].type
? Array.isArray(t.globals.stroke.colors)
? (a = t.globals.stroke.colors)
: a.push(t.globals.stroke.colors)
: Array.isArray(t.globals.fill.colors)
? (a = t.globals.fill.colors)
: a.push(t.globals.fill.colors)
: "line" === e.chart.type
? Array.isArray(t.globals.stroke.colors)
? (a = t.globals.stroke.colors)
: a.push(t.globals.stroke.colors)
: Array.isArray(t.globals.fill.colors)
? (a = t.globals.fill.colors)
: a.push(t.globals.fill.colors),
void 0 !== i.fillColors &&
((a = []),
Array.isArray(i.fillColors)
? (a = i.fillColors.slice())
: a.push(i.fillColors)),
a
);
},
},
{
key: "handlePatternFill",
value: function (t) {
var e = t.fillConfig,
i = t.patternFill,
a = t.fillColor,
s = t.fillOpacity,
r = t.defaultColor,
o = this.w.config.fill;
e && (o = e);
var n = this.opts,
l = new m(this.ctx),
h = Array.isArray(o.pattern.strokeWidth)
? o.pattern.strokeWidth[this.seriesIndex]
: o.pattern.strokeWidth,
c = a;
Array.isArray(o.pattern.style)
? (i =
void 0 !== o.pattern.style[n.seriesNumber]
? l.drawPattern(
o.pattern.style[n.seriesNumber],
o.pattern.width,
o.pattern.height,
c,
h,
s
)
: r)
: (i = l.drawPattern(
o.pattern.style,
o.pattern.width,
o.pattern.height,
c,
h,
s
));
return i;
},
},
{
key: "handleGradientFill",
value: function (t) {
var i = t.fillColor,
a = t.fillOpacity,
s = t.fillConfig,
r = t.i,
o = this.w.config.fill;
s && (o = e(e({}, o), s));
var n,
l = this.opts,
h = new m(this.ctx),
c = new x(),
d = o.gradient.type,
g = i,
u =
void 0 === o.gradient.opacityFrom
? a
: Array.isArray(o.gradient.opacityFrom)
? o.gradient.opacityFrom[r]
: o.gradient.opacityFrom;
g.indexOf("rgba") > -1 &&
(u = x.getOpacityFromRGBA(g));
var p =
void 0 === o.gradient.opacityTo
? a
: Array.isArray(o.gradient.opacityTo)
? o.gradient.opacityTo[r]
: o.gradient.opacityTo;
if (
void 0 === o.gradient.gradientToColors ||
0 === o.gradient.gradientToColors.length
)
n =
"dark" === o.gradient.shade
? c.shadeColor(
-1 *
parseFloat(
o.gradient.shadeIntensity
),
i.indexOf("rgb") > -1
? x.rgb2hex(i)
: i
)
: c.shadeColor(
parseFloat(
o.gradient.shadeIntensity
),
i.indexOf("rgb") > -1
? x.rgb2hex(i)
: i
);
else if (
o.gradient.gradientToColors[l.seriesNumber]
) {
var f =
o.gradient.gradientToColors[l.seriesNumber];
(n = f),
f.indexOf("rgba") > -1 &&
(p = x.getOpacityFromRGBA(f));
} else n = i;
if (
(o.gradient.gradientFrom &&
(g = o.gradient.gradientFrom),
o.gradient.gradientTo &&
(n = o.gradient.gradientTo),
o.gradient.inverseColors)
) {
var b = g;
(g = n), (n = b);
}
return (
g.indexOf("rgb") > -1 && (g = x.rgb2hex(g)),
n.indexOf("rgb") > -1 && (n = x.rgb2hex(n)),
h.drawGradient(
d,
g,
n,
u,
p,
l.size,
o.gradient.stops,
o.gradient.colorStops,
r
)
);
},
},
]),
t
);
})(),
H = (function () {
function t(e, i) {
a(this, t), (this.ctx = e), (this.w = e.w);
}
return (
r(t, [
{
key: "setGlobalMarkerSize",
value: function () {
var t = this.w;
if (
((t.globals.markers.size = Array.isArray(
t.config.markers.size
)
? t.config.markers.size
: [t.config.markers.size]),
t.globals.markers.size.length > 0)
) {
if (
t.globals.markers.size.length <
t.globals.series.length + 1
)
for (
var e = 0;
e <= t.globals.series.length;
e++
)
void 0 === t.globals.markers.size[e] &&
t.globals.markers.size.push(
t.globals.markers.size[0]
);
} else
t.globals.markers.size = t.config.series.map(
function (e) {
return t.config.markers.size;
}
);
},
},
{
key: "plotChartMarkers",
value: function (t, e, i, a) {
var s,
r =
arguments.length > 4 &&
void 0 !== arguments[4] &&
arguments[4],
o = this.w,
n = e,
l = t,
h = null,
c = new m(this.ctx),
d =
o.config.markers.discrete &&
o.config.markers.discrete.length;
if (
((o.globals.markers.size[e] > 0 || r || d) &&
(h = c.group({
class:
r || d
? ""
: "apexcharts-series-markers",
})).attr(
"clip-path",
"url(#gridRectMarkerMask".concat(
o.globals.cuid,
")"
)
),
Array.isArray(l.x))
)
for (var g = 0; g < l.x.length; g++) {
var u = i;
1 === i && 0 === g && (u = 0),
1 === i && 1 === g && (u = 1);
var p = "apexcharts-marker";
if (
(("line" !== o.config.chart.type &&
"area" !== o.config.chart.type) ||
o.globals.comboCharts ||
o.config.tooltip.intersect ||
(p += " no-pointer-events"),
(Array.isArray(o.config.markers.size)
? o.globals.markers.size[e] > 0
: o.config.markers.size > 0) ||
r ||
d)
) {
x.isNumber(l.y[g])
? (p += " w".concat(x.randomId()))
: (p = "apexcharts-nullpoint");
var f = this.getMarkerConfig({
cssClass: p,
seriesIndex: e,
dataPointIndex: u,
});
o.config.series[n].data[u] &&
(o.config.series[n].data[u]
.fillColor &&
(f.pointFillColor =
o.config.series[n].data[
u
].fillColor),
o.config.series[n].data[u]
.strokeColor &&
(f.pointStrokeColor =
o.config.series[n].data[
u
].strokeColor)),
a && (f.pSize = a),
(l.x[g] < 0 ||
l.x[g] > o.globals.gridWidth ||
l.y[g] < 0 ||
l.y[g] >
o.globals.gridHeight) &&
(f.pSize = 0),
(s = c.drawMarker(
l.x[g],
l.y[g],
f
)).attr("rel", u),
s.attr("j", u),
s.attr("index", e),
s.node.setAttribute(
"default-marker-size",
f.pSize
),
new v(this.ctx).setSelectionFilter(
s,
e,
u
),
this.addEvents(s),
h && h.add(s);
} else
void 0 === o.globals.pointsArray[e] &&
(o.globals.pointsArray[e] = []),
o.globals.pointsArray[e].push([
l.x[g],
l.y[g],
]);
}
return h;
},
},
{
key: "getMarkerConfig",
value: function (t) {
var e = t.cssClass,
i = t.seriesIndex,
a = t.dataPointIndex,
s = void 0 === a ? null : a,
r = t.finishRadius,
o = void 0 === r ? null : r,
n = this.w,
l = this.getMarkerStyle(i),
h = n.globals.markers.size[i],
c = n.config.markers;
return (
null !== s &&
c.discrete.length &&
c.discrete.map(function (t) {
t.seriesIndex === i &&
t.dataPointIndex === s &&
((l.pointStrokeColor =
t.strokeColor),
(l.pointFillColor = t.fillColor),
(h = t.size),
(l.pointShape = t.shape));
}),
{
pSize: null === o ? h : o,
pRadius: c.radius,
width: Array.isArray(c.width)
? c.width[i]
: c.width,
height: Array.isArray(c.height)
? c.height[i]
: c.height,
pointStrokeWidth: Array.isArray(
c.strokeWidth
)
? c.strokeWidth[i]
: c.strokeWidth,
pointStrokeColor: l.pointStrokeColor,
pointFillColor: l.pointFillColor,
shape:
l.pointShape ||
(Array.isArray(c.shape)
? c.shape[i]
: c.shape),
class: e,
pointStrokeOpacity: Array.isArray(
c.strokeOpacity
)
? c.strokeOpacity[i]
: c.strokeOpacity,
pointStrokeDashArray: Array.isArray(
c.strokeDashArray
)
? c.strokeDashArray[i]
: c.strokeDashArray,
pointFillOpacity: Array.isArray(
c.fillOpacity
)
? c.fillOpacity[i]
: c.fillOpacity,
seriesIndex: i,
}
);
},
},
{
key: "addEvents",
value: function (t) {
var e = this.w,
i = new m(this.ctx);
t.node.addEventListener(
"mouseenter",
i.pathMouseEnter.bind(this.ctx, t)
),
t.node.addEventListener(
"mouseleave",
i.pathMouseLeave.bind(this.ctx, t)
),
t.node.addEventListener(
"mousedown",
i.pathMouseDown.bind(this.ctx, t)
),
t.node.addEventListener(
"click",
e.config.markers.onClick
),
t.node.addEventListener(
"dblclick",
e.config.markers.onDblClick
),
t.node.addEventListener(
"touchstart",
i.pathMouseDown.bind(this.ctx, t),
{ passive: !0 }
);
},
},
{
key: "getMarkerStyle",
value: function (t) {
var e = this.w,
i = e.globals.markers.colors,
a =
e.config.markers.strokeColor ||
e.config.markers.strokeColors;
return {
pointStrokeColor: Array.isArray(a) ? a[t] : a,
pointFillColor: Array.isArray(i) ? i[t] : i,
};
},
},
]),
t
);
})(),
D = (function () {
function t(e) {
a(this, t),
(this.ctx = e),
(this.w = e.w),
(this.initialAnim = this.w.config.chart.animations.enabled),
(this.dynamicAnim =
this.initialAnim &&
this.w.config.chart.animations.dynamicAnimation
.enabled);
}
return (
r(t, [
{
key: "draw",
value: function (t, e, i) {
var a = this.w,
s = new m(this.ctx),
r = i.realIndex,
o = i.pointsPos,
n = i.zRatio,
l = i.elParent,
h = s.group({
class: "apexcharts-series-markers apexcharts-series-".concat(
a.config.chart.type
),
});
if (
(h.attr(
"clip-path",
"url(#gridRectMarkerMask".concat(
a.globals.cuid,
")"
)
),
Array.isArray(o.x))
)
for (var c = 0; c < o.x.length; c++) {
var d = e + 1,
g = !0;
0 === e && 0 === c && (d = 0),
0 === e && 1 === c && (d = 1);
var u = 0,
p = a.globals.markers.size[r];
if (n !== 1 / 0) {
var f = a.config.plotOptions.bubble;
(p = a.globals.seriesZ[r][d]),
f.zScaling && (p /= n),
f.minBubbleRadius &&
p < f.minBubbleRadius &&
(p = f.minBubbleRadius),
f.maxBubbleRadius &&
p > f.maxBubbleRadius &&
(p = f.maxBubbleRadius);
}
a.config.chart.animations.enabled ||
(u = p);
var x = o.x[c],
b = o.y[c];
if (
((u = u || 0),
(null !== b &&
void 0 !==
a.globals.series[r][d]) ||
(g = !1),
g)
) {
var v = this.drawPoint(
x,
b,
u,
p,
r,
d,
e
);
h.add(v);
}
l.add(h);
}
},
},
{
key: "drawPoint",
value: function (t, e, i, a, s, r, o) {
var n = this.w,
l = s,
h = new b(this.ctx),
c = new v(this.ctx),
d = new R(this.ctx),
g = new H(this.ctx),
u = new m(this.ctx),
p = g.getMarkerConfig({
cssClass: "apexcharts-marker",
seriesIndex: l,
dataPointIndex: r,
finishRadius:
"bubble" === n.config.chart.type ||
(n.globals.comboCharts &&
n.config.series[s] &&
"bubble" ===
n.config.series[s].type)
? a
: null,
});
a = p.pSize;
var f,
x = d.fillPath({
seriesNumber: s,
dataPointIndex: r,
color: p.pointFillColor,
patternUnits: "objectBoundingBox",
value: n.globals.series[s][o],
});
if (
("circle" === p.shape
? (f = u.drawCircle(i))
: ("square" !== p.shape &&
"rect" !== p.shape) ||
(f = u.drawRect(
0,
0,
p.width - p.pointStrokeWidth / 2,
p.height - p.pointStrokeWidth / 2,
p.pRadius
)),
n.config.series[l].data[r] &&
n.config.series[l].data[r].fillColor &&
(x = n.config.series[l].data[r].fillColor),
f.attr({
x: t - p.width / 2 - p.pointStrokeWidth / 2,
y:
e -
p.height / 2 -
p.pointStrokeWidth / 2,
cx: t,
cy: e,
fill: x,
"fill-opacity": p.pointFillOpacity,
stroke: p.pointStrokeColor,
r: a,
"stroke-width": p.pointStrokeWidth,
"stroke-dasharray": p.pointStrokeDashArray,
"stroke-opacity": p.pointStrokeOpacity,
}),
n.config.chart.dropShadow.enabled)
) {
var y = n.config.chart.dropShadow;
c.dropShadow(f, y, s);
}
if (
!this.initialAnim ||
n.globals.dataChanged ||
n.globals.resized
)
n.globals.animationEnded = !0;
else {
var w = n.config.chart.animations.speed;
h.animateMarker(
f,
0,
"circle" === p.shape
? a
: { width: p.width, height: p.height },
w,
n.globals.easing,
function () {
window.setTimeout(function () {
h.animationCompleted(f);
}, 100);
}
);
}
if (n.globals.dataChanged && "circle" === p.shape)
if (this.dynamicAnim) {
var k,
A,
S,
C,
L =
n.config.chart.animations
.dynamicAnimation.speed;
null !=
(C =
n.globals.previousPaths[s] &&
n.globals.previousPaths[s][o]) &&
((k = C.x),
(A = C.y),
(S = void 0 !== C.r ? C.r : a));
for (
var P = 0;
P < n.globals.collapsedSeries.length;
P++
)
n.globals.collapsedSeries[P].index ===
s && ((L = 1), (a = 0));
0 === t && 0 === e && (a = 0),
h.animateCircle(
f,
{ cx: k, cy: A, r: S },
{ cx: t, cy: e, r: a },
L,
n.globals.easing
);
} else f.attr({ r: a });
return (
f.attr({
rel: r,
j: r,
index: s,
"default-marker-size": a,
}),
c.setSelectionFilter(f, s, r),
g.addEvents(f),
f.node.classList.add("apexcharts-marker"),
f
);
},
},
{
key: "centerTextInBubble",
value: function (t) {
var e = this.w;
return {
y: (t +=
parseInt(
e.config.dataLabels.style.fontSize,
10
) / 4),
};
},
},
]),
t
);
})(),
O = (function () {
function t(e) {
a(this, t), (this.ctx = e), (this.w = e.w);
}
return (
r(t, [
{
key: "dataLabelsCorrection",
value: function (t, e, i, a, s, r, o) {
var n = this.w,
l = !1,
h = new m(this.ctx).getTextRects(i, o),
c = h.width,
d = h.height;
e < 0 && (e = 0),
e > n.globals.gridHeight + d &&
(e = n.globals.gridHeight + d / 2),
void 0 === n.globals.dataLabelsRects[a] &&
(n.globals.dataLabelsRects[a] = []),
n.globals.dataLabelsRects[a].push({
x: t,
y: e,
width: c,
height: d,
});
var g = n.globals.dataLabelsRects[a].length - 2,
u =
void 0 !==
n.globals.lastDrawnDataLabelsIndexes[a]
? n.globals.lastDrawnDataLabelsIndexes[
a
][
n.globals
.lastDrawnDataLabelsIndexes[a]
.length - 1
]
: 0;
if (void 0 !== n.globals.dataLabelsRects[a][g]) {
var p = n.globals.dataLabelsRects[a][u];
(t > p.x + p.width ||
e > p.y + p.height ||
e + d < p.y ||
t + c < p.x) &&
(l = !0);
}
return (
(0 === s || r) && (l = !0),
{ x: t, y: e, textRects: h, drawnextLabel: l }
);
},
},
{
key: "drawDataLabel",
value: function (t) {
var e = this,
i = t.type,
a = t.pos,
s = t.i,
r = t.j,
o = t.isRangeStart,
n = t.strokeWidth,
l = void 0 === n ? 2 : n,
h = this.w,
c = new m(this.ctx),
d = h.config.dataLabels,
g = 0,
u = 0,
p = r,
f = null;
if (!d.enabled || !Array.isArray(a.x)) return f;
f = c.group({ class: "apexcharts-data-labels" });
for (var x = 0; x < a.x.length; x++)
if (
((g = a.x[x] + d.offsetX),
(u = a.y[x] + d.offsetY + l),
!isNaN(g))
) {
1 === r && 0 === x && (p = 0),
1 === r && 1 === x && (p = 1);
var b = h.globals.series[s][p];
"rangeArea" === i &&
(b = o
? h.globals.seriesRangeStart[s][p]
: h.globals.seriesRangeEnd[s][p]);
var v = "",
y = function (t) {
return h.config.dataLabels.formatter(
t,
{
ctx: e.ctx,
seriesIndex: s,
dataPointIndex: p,
w: h,
}
);
};
if ("bubble" === h.config.chart.type)
(v = y((b = h.globals.seriesZ[s][p]))),
(u = a.y[x]),
(u = new D(
this.ctx
).centerTextInBubble(u, s, p).y);
else void 0 !== b && (v = y(b));
this.plotDataLabelsText({
x: g,
y: u,
text: v,
i: s,
j: p,
parent: f,
offsetCorrection: !0,
dataLabelsConfig: h.config.dataLabels,
});
}
return f;
},
},
{
key: "plotDataLabelsText",
value: function (t) {
var e = this.w,
i = new m(this.ctx),
a = t.x,
s = t.y,
r = t.i,
o = t.j,
n = t.text,
l = t.textAnchor,
h = t.fontSize,
c = t.parent,
d = t.dataLabelsConfig,
g = t.color,
u = t.alwaysDrawDataLabel,
p = t.offsetCorrection;
if (
!(
Array.isArray(
e.config.dataLabels.enabledOnSeries
) &&
e.config.dataLabels.enabledOnSeries.indexOf(
r
) < 0
)
) {
var f = {
x: a,
y: s,
drawnextLabel: !0,
textRects: null,
};
p &&
(f = this.dataLabelsCorrection(
a,
s,
n,
r,
o,
u,
parseInt(d.style.fontSize, 10)
)),
e.globals.zoomed || ((a = f.x), (s = f.y)),
f.textRects &&
(a < -10 - f.textRects.width ||
a >
e.globals.gridWidth +
f.textRects.width +
10) &&
(n = "");
var x = e.globals.dataLabels.style.colors[r];
((("bar" === e.config.chart.type ||
"rangeBar" === e.config.chart.type) &&
e.config.plotOptions.bar.distributed) ||
e.config.dataLabels.distributed) &&
(x = e.globals.dataLabels.style.colors[o]),
"function" == typeof x &&
(x = x({
series: e.globals.series,
seriesIndex: r,
dataPointIndex: o,
w: e,
})),
g && (x = g);
var b = d.offsetX,
y = d.offsetY;
if (
(("bar" !== e.config.chart.type &&
"rangeBar" !== e.config.chart.type) ||
((b = 0), (y = 0)),
f.drawnextLabel)
) {
var w = i.drawText({
width: 100,
height: parseInt(d.style.fontSize, 10),
x: a + b,
y: s + y,
foreColor: x,
textAnchor: l || d.textAnchor,
text: n,
fontSize: h || d.style.fontSize,
fontFamily: d.style.fontFamily,
fontWeight:
d.style.fontWeight || "normal",
});
if (
(w.attr({
class: "apexcharts-datalabel",
cx: a,
cy: s,
}),
d.dropShadow.enabled)
) {
var k = d.dropShadow;
new v(this.ctx).dropShadow(w, k);
}
c.add(w),
void 0 ===
e.globals
.lastDrawnDataLabelsIndexes[
r
] &&
(e.globals.lastDrawnDataLabelsIndexes[
r
] = []),
e.globals.lastDrawnDataLabelsIndexes[
r
].push(o);
}
}
},
},
{
key: "addBackgroundToDataLabel",
value: function (t, e) {
var i = this.w,
a = i.config.dataLabels.background,
s = a.padding,
r = a.padding / 2,
o = e.width,
n = e.height,
l = new m(this.ctx).drawRect(
e.x - s,
e.y - r / 2,
o + 2 * s,
n + r,
a.borderRadius,
"transparent" === i.config.chart.background
? "#fff"
: i.config.chart.background,
a.opacity,
a.borderWidth,
a.borderColor
);
a.dropShadow.enabled &&
new v(this.ctx).dropShadow(l, a.dropShadow);
return l;
},
},
{
key: "dataLabelsBackground",
value: function () {
var t = this.w;
if ("bubble" !== t.config.chart.type)
for (
var e =
t.globals.dom.baseEl.querySelectorAll(
".apexcharts-datalabels text"
),
i = 0;
i < e.length;
i++
) {
var a = e[i],
s = a.getBBox(),
r = null;
if (
(s.width &&
s.height &&
(r = this.addBackgroundToDataLabel(
a,
s
)),
r)
) {
a.parentNode.insertBefore(r.node, a);
var o = a.getAttribute("fill");
t.config.chart.animations.enabled &&
!t.globals.resized &&
!t.globals.dataChanged
? r.animate().attr({ fill: o })
: r.attr({ fill: o }),
a.setAttribute(
"fill",
t.config.dataLabels.background
.foreColor
);
}
}
},
},
{
key: "bringForward",
value: function () {
for (
var t = this.w,
e = t.globals.dom.baseEl.querySelectorAll(
".apexcharts-datalabels"
),
i = t.globals.dom.baseEl.querySelector(
".apexcharts-plot-series:last-child"
),
a = 0;
a < e.length;
a++
)
i && i.insertBefore(e[a], i.nextSibling);
},
},
]),
t
);
})(),
N = (function () {
function t(e) {
a(this, t),
(this.ctx = e),
(this.w = e.w),
(this.legendInactiveClass = "legend-mouseover-inactive");
}
return (
r(t, [
{
key: "getAllSeriesEls",
value: function () {
return this.w.globals.dom.baseEl.getElementsByClassName(
"apexcharts-series"
);
},
},
{
key: "getSeriesByName",
value: function (t) {
return this.w.globals.dom.baseEl.querySelector(
".apexcharts-inner .apexcharts-series[seriesName='".concat(
x.escapeString(t),
"']"
)
);
},
},
{
key: "isSeriesHidden",
value: function (t) {
var e = this.getSeriesByName(t),
i = parseInt(
e.getAttribute("data:realIndex"),
10
);
return {
isHidden: e.classList.contains(
"apexcharts-series-collapsed"
),
realIndex: i,
};
},
},
{
key: "addCollapsedClassToSeries",
value: function (t, e) {
var i = this.w;
function a(i) {
for (var a = 0; a < i.length; a++)
i[a].index === e &&
t.node.classList.add(
"apexcharts-series-collapsed"
);
}
a(i.globals.collapsedSeries),
a(i.globals.ancillaryCollapsedSeries);
},
},
{
key: "toggleSeries",
value: function (t) {
var e = this.isSeriesHidden(t);
return (
this.ctx.legend.legendHelpers.toggleDataSeries(
e.realIndex,
e.isHidden
),
e.isHidden
);
},
},
{
key: "showSeries",
value: function (t) {
var e = this.isSeriesHidden(t);
e.isHidden &&
this.ctx.legend.legendHelpers.toggleDataSeries(
e.realIndex,
!0
);
},
},
{
key: "hideSeries",
value: function (t) {
var e = this.isSeriesHidden(t);
e.isHidden ||
this.ctx.legend.legendHelpers.toggleDataSeries(
e.realIndex,
!1
);
},
},
{
key: "resetSeries",
value: function () {
var t =
!(
arguments.length > 0 &&
void 0 !== arguments[0]
) || arguments[0],
e =
!(
arguments.length > 1 &&
void 0 !== arguments[1]
) || arguments[1],
i =
!(
arguments.length > 2 &&
void 0 !== arguments[2]
) || arguments[2],
a = this.w,
s = x.clone(a.globals.initialSeries);
(a.globals.previousPaths = []),
i
? ((a.globals.collapsedSeries = []),
(a.globals.ancillaryCollapsedSeries = []),
(a.globals.collapsedSeriesIndices = []),
(a.globals.ancillaryCollapsedSeriesIndices =
[]))
: (s = this.emptyCollapsedSeries(s)),
(a.config.series = s),
t &&
(e &&
((a.globals.zoomed = !1),
this.ctx.updateHelpers.revertDefaultAxisMinMax()),
this.ctx.updateHelpers._updateSeries(
s,
a.config.chart.animations
.dynamicAnimation.enabled
));
},
},
{
key: "emptyCollapsedSeries",
value: function (t) {
for (var e = this.w, i = 0; i < t.length; i++)
e.globals.collapsedSeriesIndices.indexOf(i) >
-1 && (t[i].data = []);
return t;
},
},
{
key: "toggleSeriesOnHover",
value: function (t, e) {
var i = this.w;
e || (e = t.target);
var a = i.globals.dom.baseEl.querySelectorAll(
".apexcharts-series, .apexcharts-datalabels"
);
if ("mousemove" === t.type) {
var s = parseInt(e.getAttribute("rel"), 10) - 1,
r = null,
o = null;
i.globals.axisCharts ||
"radialBar" === i.config.chart.type
? i.globals.axisCharts
? ((r =
i.globals.dom.baseEl.querySelector(
".apexcharts-series[data\\:realIndex='".concat(
s,
"']"
)
)),
(o =
i.globals.dom.baseEl.querySelector(
".apexcharts-datalabels[data\\:realIndex='".concat(
s,
"']"
)
)))
: (r =
i.globals.dom.baseEl.querySelector(
".apexcharts-series[rel='".concat(
s + 1,
"']"
)
))
: (r = i.globals.dom.baseEl.querySelector(
".apexcharts-series[rel='".concat(
s + 1,
"'] path"
)
));
for (var n = 0; n < a.length; n++)
a[n].classList.add(
this.legendInactiveClass
);
null !== r &&
(i.globals.axisCharts ||
r.parentNode.classList.remove(
this.legendInactiveClass
),
r.classList.remove(
this.legendInactiveClass
),
null !== o &&
o.classList.remove(
this.legendInactiveClass
));
} else if ("mouseout" === t.type)
for (var l = 0; l < a.length; l++)
a[l].classList.remove(
this.legendInactiveClass
);
},
},
{
key: "highlightRangeInSeries",
value: function (t, e) {
var i = this,
a = this.w,
s = a.globals.dom.baseEl.getElementsByClassName(
"apexcharts-heatmap-rect"
),
r = function (t) {
for (var e = 0; e < s.length; e++)
s[e].classList[t](
i.legendInactiveClass
);
};
if ("mousemove" === t.type) {
var o = parseInt(e.getAttribute("rel"), 10) - 1;
r("add"),
(function (t) {
for (var e = 0; e < s.length; e++) {
var a = parseInt(
s[e].getAttribute("val"),
10
);
a >= t.from &&
a <= t.to &&
s[e].classList.remove(
i.legendInactiveClass
);
}
})(
a.config.plotOptions.heatmap.colorScale
.ranges[o]
);
} else "mouseout" === t.type && r("remove");
},
},
{
key: "getActiveConfigSeriesIndex",
value: function () {
var t =
arguments.length > 0 &&
void 0 !== arguments[0]
? arguments[0]
: "asc",
e =
arguments.length > 1 &&
void 0 !== arguments[1]
? arguments[1]
: [],
i = this.w,
a = 0;
if (i.config.series.length > 1)
for (
var s = i.config.series.map(function (
t,
a
) {
return t.data &&
t.data.length > 0 &&
-1 ===
i.globals.collapsedSeriesIndices.indexOf(
a
) &&
(!i.globals.comboCharts ||
0 === e.length ||
(e.length &&
e.indexOf(
i.config.series[a]
.type
) > -1))
? a
: -1;
}),
r = "asc" === t ? 0 : s.length - 1;
"asc" === t ? r < s.length : r >= 0;
"asc" === t ? r++ : r--
)
if (-1 !== s[r]) {
a = s[r];
break;
}
return a;
},
},
{
key: "getBarSeriesIndices",
value: function () {
return this.w.globals.comboCharts
? this.w.config.series
.map(function (t, e) {
return "bar" === t.type ||
"column" === t.type
? e
: -1;
})
.filter(function (t) {
return -1 !== t;
})
: this.w.config.series.map(function (t, e) {
return e;
});
},
},
{
key: "getPreviousPaths",
value: function () {
var t = this.w;
function e(e, i, a) {
for (
var s = e[i].childNodes,
r = {
type: a,
paths: [],
realIndex:
e[i].getAttribute(
"data:realIndex"
),
},
o = 0;
o < s.length;
o++
)
if (s[o].hasAttribute("pathTo")) {
var n = s[o].getAttribute("pathTo");
r.paths.push({ d: n });
}
t.globals.previousPaths.push(r);
}
t.globals.previousPaths = [];
[
"line",
"area",
"bar",
"rangebar",
"rangeArea",
"candlestick",
"radar",
].forEach(function (i) {
for (
var a,
s =
((a = i),
t.globals.dom.baseEl.querySelectorAll(
".apexcharts-".concat(
a,
"-series .apexcharts-series"
)
)),
r = 0;
r < s.length;
r++
)
e(s, r, i);
}),
this.handlePrevBubbleScatterPaths("bubble"),
this.handlePrevBubbleScatterPaths("scatter");
var i = t.globals.dom.baseEl.querySelectorAll(
".apexcharts-".concat(
t.config.chart.type,
" .apexcharts-series"
)
);
if (i.length > 0)
for (
var a = function (e) {
for (
var i =
t.globals.dom.baseEl.querySelectorAll(
".apexcharts-"
.concat(
t.config
.chart
.type,
" .apexcharts-series[data\\:realIndex='"
)
.concat(
e,
"'] rect"
)
),
a = [],
s = function (t) {
var e = function (e) {
return i[
t
].getAttribute(
e
);
},
s = {
x: parseFloat(
e("x")
),
y: parseFloat(
e("y")
),
width: parseFloat(
e("width")
),
height: parseFloat(
e("height")
),
};
a.push({
rect: s,
color: i[
t
].getAttribute(
"color"
),
});
},
r = 0;
r < i.length;
r++
)
s(r);
t.globals.previousPaths.push(a);
},
s = 0;
s < i.length;
s++
)
a(s);
t.globals.axisCharts ||
(t.globals.previousPaths = t.globals.series);
},
},
{
key: "handlePrevBubbleScatterPaths",
value: function (t) {
var e = this.w,
i = e.globals.dom.baseEl.querySelectorAll(
".apexcharts-".concat(
t,
"-series .apexcharts-series"
)
);
if (i.length > 0)
for (var a = 0; a < i.length; a++) {
for (
var s =
e.globals.dom.baseEl.querySelectorAll(
".apexcharts-"
.concat(
t,
"-series .apexcharts-series[data\\:realIndex='"
)
.concat(a, "'] circle")
),
r = [],
o = 0;
o < s.length;
o++
)
r.push({
x: s[o].getAttribute("cx"),
y: s[o].getAttribute("cy"),
r: s[o].getAttribute("r"),
});
e.globals.previousPaths.push(r);
}
},
},
{
key: "clearPreviousPaths",
value: function () {
var t = this.w;
(t.globals.previousPaths = []),
(t.globals.allSeriesCollapsed = !1);
},
},
{
key: "handleNoData",
value: function () {
var t = this.w,
e = t.config.noData,
i = new m(this.ctx),
a = t.globals.svgWidth / 2,
s = t.globals.svgHeight / 2,
r = "middle";
if (
((t.globals.noData = !0),
(t.globals.animationEnded = !0),
"left" === e.align
? ((a = 10), (r = "start"))
: "right" === e.align &&
((a = t.globals.svgWidth - 10),
(r = "end")),
"top" === e.verticalAlign
? (s = 50)
: "bottom" === e.verticalAlign &&
(s = t.globals.svgHeight - 50),
(a += e.offsetX),
(s =
s +
parseInt(e.style.fontSize, 10) +
2 +
e.offsetY),
void 0 !== e.text && "" !== e.text)
) {
var o = i.drawText({
x: a,
y: s,
text: e.text,
textAnchor: r,
fontSize: e.style.fontSize,
fontFamily: e.style.fontFamily,
foreColor: e.style.color,
opacity: 1,
class: "apexcharts-text-nodata",
});
t.globals.dom.Paper.add(o);
}
},
},
{
key: "setNullSeriesToZeroValues",
value: function (t) {
for (var e = this.w, i = 0; i < t.length; i++)
if (0 === t[i].length)
for (
var a = 0;
a <
t[e.globals.maxValsInArrayIndex].length;
a++
)
t[i].push(0);
return t;
},
},
{
key: "hasAllSeriesEqualX",
value: function () {
for (
var t = !0,
e = this.w,
i = this.filteredSeriesX(),
a = 0;
a < i.length - 1;
a++
)
if (i[a][0] !== i[a + 1][0]) {
t = !1;
break;
}
return (e.globals.allSeriesHasEqualX = t), t;
},
},
{
key: "filteredSeriesX",
value: function () {
var t = this.w.globals.seriesX.map(function (t) {
return t.length > 0 ? t : [];
});
return t;
},
},
]),
t
);
})(),
W = (function () {
function t(e) {
a(this, t),
(this.ctx = e),
(this.w = e.w),
(this.twoDSeries = []),
(this.threeDSeries = []),
(this.twoDSeriesX = []),
(this.seriesGoals = []),
(this.coreUtils = new y(this.ctx));
}
return (
r(t, [
{
key: "isMultiFormat",
value: function () {
return this.isFormatXY() || this.isFormat2DArray();
},
},
{
key: "isFormatXY",
value: function () {
var t = this.w.config.series.slice(),
e = new N(this.ctx);
if (
((this.activeSeriesIndex =
e.getActiveConfigSeriesIndex()),
void 0 !== t[this.activeSeriesIndex].data &&
t[this.activeSeriesIndex].data.length > 0 &&
null !==
t[this.activeSeriesIndex].data[0] &&
void 0 !==
t[this.activeSeriesIndex].data[0].x &&
null !== t[this.activeSeriesIndex].data[0])
)
return !0;
},
},
{
key: "isFormat2DArray",
value: function () {
var t = this.w.config.series.slice(),
e = new N(this.ctx);
if (
((this.activeSeriesIndex =
e.getActiveConfigSeriesIndex()),
void 0 !== t[this.activeSeriesIndex].data &&
t[this.activeSeriesIndex].data.length > 0 &&
void 0 !==
t[this.activeSeriesIndex].data[0] &&
null !==
t[this.activeSeriesIndex].data[0] &&
t[this.activeSeriesIndex].data[0]
.constructor === Array)
)
return !0;
},
},
{
key: "handleFormat2DArray",
value: function (t, e) {
for (
var i = this.w.config,
a = this.w.globals,
s =
"boxPlot" === i.chart.type ||
"boxPlot" === i.series[e].type,
r = 0;
r < t[e].data.length;
r++
)
if (
(void 0 !== t[e].data[r][1] &&
(Array.isArray(t[e].data[r][1]) &&
4 === t[e].data[r][1].length &&
!s
? this.twoDSeries.push(
x.parseNumber(
t[e].data[r][1][3]
)
)
: t[e].data[r].length >= 5
? this.twoDSeries.push(
x.parseNumber(t[e].data[r][4])
)
: this.twoDSeries.push(
x.parseNumber(t[e].data[r][1])
),
(a.dataFormatXNumeric = !0)),
"datetime" === i.xaxis.type)
) {
var o = new Date(t[e].data[r][0]);
(o = new Date(o).getTime()),
this.twoDSeriesX.push(o);
} else this.twoDSeriesX.push(t[e].data[r][0]);
for (var n = 0; n < t[e].data.length; n++)
void 0 !== t[e].data[n][2] &&
(this.threeDSeries.push(t[e].data[n][2]),
(a.isDataXYZ = !0));
},
},
{
key: "handleFormatXY",
value: function (t, e) {
var i = this.w.config,
a = this.w.globals,
s = new I(this.ctx),
r = e;
a.collapsedSeriesIndices.indexOf(e) > -1 &&
(r = this.activeSeriesIndex);
for (var o = 0; o < t[e].data.length; o++)
void 0 !== t[e].data[o].y &&
(Array.isArray(t[e].data[o].y)
? this.twoDSeries.push(
x.parseNumber(
t[e].data[o].y[
t[e].data[o].y.length - 1
]
)
)
: this.twoDSeries.push(
x.parseNumber(t[e].data[o].y)
)),
void 0 !== t[e].data[o].goals &&
Array.isArray(t[e].data[o].goals)
? (void 0 === this.seriesGoals[e] &&
(this.seriesGoals[e] = []),
this.seriesGoals[e].push(
t[e].data[o].goals
))
: (void 0 === this.seriesGoals[e] &&
(this.seriesGoals[e] = []),
this.seriesGoals[e].push(null));
for (var n = 0; n < t[r].data.length; n++) {
var l = "string" == typeof t[r].data[n].x,
h = Array.isArray(t[r].data[n].x),
c =
!h &&
!!s.isValidDate(
t[r].data[n].x.toString()
);
if (l || c)
if (l || i.xaxis.convertedCatToNumeric) {
var d =
a.isBarHorizontal && a.isRangeData;
"datetime" !== i.xaxis.type || d
? ((this.fallbackToCategory = !0),
this.twoDSeriesX.push(
t[r].data[n].x
),
isNaN(t[r].data[n].x) ||
"category" ===
this.w.config.xaxis
.type ||
"string" ==
typeof t[r].data[n].x ||
(a.isXNumeric = !0))
: this.twoDSeriesX.push(
s.parseDate(t[r].data[n].x)
);
} else
"datetime" === i.xaxis.type
? this.twoDSeriesX.push(
s.parseDate(
t[r].data[n].x.toString()
)
)
: ((a.dataFormatXNumeric = !0),
(a.isXNumeric = !0),
this.twoDSeriesX.push(
parseFloat(t[r].data[n].x)
));
else
h
? ((this.fallbackToCategory = !0),
this.twoDSeriesX.push(t[r].data[n].x))
: ((a.isXNumeric = !0),
(a.dataFormatXNumeric = !0),
this.twoDSeriesX.push(
t[r].data[n].x
));
}
if (t[e].data[0] && void 0 !== t[e].data[0].z) {
for (var g = 0; g < t[e].data.length; g++)
this.threeDSeries.push(t[e].data[g].z);
a.isDataXYZ = !0;
}
},
},
{
key: "handleRangeData",
value: function (t, e) {
var i = this.w.globals,
a = {};
return (
this.isFormat2DArray()
? (a = this.handleRangeDataFormat(
"array",
t,
e
))
: this.isFormatXY() &&
(a = this.handleRangeDataFormat(
"xy",
t,
e
)),
i.seriesRangeStart.push(a.start),
i.seriesRangeEnd.push(a.end),
i.seriesRange.push(a.rangeUniques),
i.seriesRange.forEach(function (t, e) {
t &&
t.forEach(function (t, e) {
t.y.forEach(function (e, i) {
for (
var a = 0;
a < t.y.length;
a++
)
if (i !== a) {
var s = e.y1,
r = e.y2,
o = t.y[a].y1;
s <= t.y[a].y2 &&
o <= r &&
(t.overlaps.indexOf(
e.rangeName
) < 0 &&
t.overlaps.push(
e.rangeName
),
t.overlaps.indexOf(
t.y[a].rangeName
) < 0 &&
t.overlaps.push(
t.y[a]
.rangeName
));
}
});
});
}),
a
);
},
},
{
key: "handleCandleStickBoxData",
value: function (t, e) {
var i = this.w.globals,
a = {};
return (
this.isFormat2DArray()
? (a = this.handleCandleStickBoxDataFormat(
"array",
t,
e
))
: this.isFormatXY() &&
(a = this.handleCandleStickBoxDataFormat(
"xy",
t,
e
)),
(i.seriesCandleO[e] = a.o),
(i.seriesCandleH[e] = a.h),
(i.seriesCandleM[e] = a.m),
(i.seriesCandleL[e] = a.l),
(i.seriesCandleC[e] = a.c),
a
);
},
},
{
key: "handleRangeDataFormat",
value: function (t, e, i) {
var a = [],
s = [],
r = e[i].data
.filter(function (t, e, i) {
return (
e ===
i.findIndex(function (e) {
return e.x === t.x;
})
);
})
.map(function (t, e) {
return { x: t.x, overlaps: [], y: [] };
});
if ("array" === t)
for (var o = 0; o < e[i].data.length; o++)
Array.isArray(e[i].data[o])
? (a.push(e[i].data[o][1][0]),
s.push(e[i].data[o][1][1]))
: (a.push(e[i].data[o]),
s.push(e[i].data[o]));
else if ("xy" === t)
for (
var n = function (t) {
var o = Array.isArray(
e[i].data[t].y
),
n = x.randomId(),
l = e[i].data[t].x,
h = {
y1: o
? e[i].data[t].y[0]
: e[i].data[t].y,
y2: o
? e[i].data[t].y[1]
: e[i].data[t].y,
rangeName: n,
};
e[i].data[t].rangeName = n;
var c = r.findIndex(function (t) {
return t.x === l;
});
r[c].y.push(h),
a.push(h.y1),
s.push(h.y2);
},
l = 0;
l < e[i].data.length;
l++
)
n(l);
return { start: a, end: s, rangeUniques: r };
},
},
{
key: "handleCandleStickBoxDataFormat",
value: function (t, e, i) {
var a = this.w,
s =
"boxPlot" === a.config.chart.type ||
"boxPlot" === a.config.series[i].type,
r = [],
o = [],
n = [],
l = [],
h = [];
if ("array" === t)
if (
(s && 6 === e[i].data[0].length) ||
(!s && 5 === e[i].data[0].length)
)
for (var c = 0; c < e[i].data.length; c++)
r.push(e[i].data[c][1]),
o.push(e[i].data[c][2]),
s
? (n.push(e[i].data[c][3]),
l.push(e[i].data[c][4]),
h.push(e[i].data[c][5]))
: (l.push(e[i].data[c][3]),
h.push(e[i].data[c][4]));
else
for (var d = 0; d < e[i].data.length; d++)
Array.isArray(e[i].data[d][1]) &&
(r.push(e[i].data[d][1][0]),
o.push(e[i].data[d][1][1]),
s
? (n.push(e[i].data[d][1][2]),
l.push(e[i].data[d][1][3]),
h.push(e[i].data[d][1][4]))
: (l.push(e[i].data[d][1][2]),
h.push(e[i].data[d][1][3])));
else if ("xy" === t)
for (var g = 0; g < e[i].data.length; g++)
Array.isArray(e[i].data[g].y) &&
(r.push(e[i].data[g].y[0]),
o.push(e[i].data[g].y[1]),
s
? (n.push(e[i].data[g].y[2]),
l.push(e[i].data[g].y[3]),
h.push(e[i].data[g].y[4]))
: (l.push(e[i].data[g].y[2]),
h.push(e[i].data[g].y[3])));
return { o: r, h: o, m: n, l: l, c: h };
},
},
{
key: "parseDataAxisCharts",
value: function (t) {
var e,
i = this,
a =
arguments.length > 1 &&
void 0 !== arguments[1]
? arguments[1]
: this.ctx,
s = this.w.config,
r = this.w.globals,
o = new I(a),
n =
s.labels.length > 0
? s.labels.slice()
: s.xaxis.categories.slice();
if (
((r.isRangeBar =
"rangeBar" === s.chart.type &&
r.isBarHorizontal),
(r.hasXaxisGroups =
"category" === s.xaxis.type &&
s.xaxis.group.groups.length > 0),
r.hasXaxisGroups &&
(r.groups = s.xaxis.group.groups),
(r.hasSeriesGroups =
null === (e = t[0]) || void 0 === e
? void 0
: e.group),
r.hasSeriesGroups)
) {
var l = [],
h = u(
new Set(
t.map(function (t) {
return t.group;
})
)
);
t.forEach(function (t, e) {
var i = h.indexOf(t.group);
l[i] || (l[i] = []), l[i].push(t.name);
}),
(r.seriesGroups = l);
}
for (
var c = function () {
for (var t = 0; t < n.length; t++)
if ("string" == typeof n[t]) {
if (!o.isValidDate(n[t]))
throw new Error(
"You have provided invalid Date format. Please provide a valid JavaScript Date"
);
i.twoDSeriesX.push(
o.parseDate(n[t])
);
} else i.twoDSeriesX.push(n[t]);
},
d = 0;
d < t.length;
d++
) {
if (
((this.twoDSeries = []),
(this.twoDSeriesX = []),
(this.threeDSeries = []),
void 0 === t[d].data)
)
return void console.error(
"It is a possibility that you may have not included 'data' property in series."
);
if (
(("rangeBar" !== s.chart.type &&
"rangeArea" !== s.chart.type &&
"rangeBar" !== t[d].type &&
"rangeArea" !== t[d].type) ||
((r.isRangeData = !0),
r.isComboCharts
? ("rangeBar" !== t[d].type &&
"rangeArea" !== t[d].type) ||
this.handleRangeData(t, d)
: ("rangeBar" !== s.chart.type &&
"rangeArea" !==
s.chart.type) ||
this.handleRangeData(t, d)),
this.isMultiFormat())
)
this.isFormat2DArray()
? this.handleFormat2DArray(t, d)
: this.isFormatXY() &&
this.handleFormatXY(t, d),
("candlestick" !== s.chart.type &&
"candlestick" !== t[d].type &&
"boxPlot" !== s.chart.type &&
"boxPlot" !== t[d].type) ||
this.handleCandleStickBoxData(t, d),
r.series.push(this.twoDSeries),
r.labels.push(this.twoDSeriesX),
r.seriesX.push(this.twoDSeriesX),
(r.seriesGoals = this.seriesGoals),
d !== this.activeSeriesIndex ||
this.fallbackToCategory ||
(r.isXNumeric = !0);
else {
"datetime" === s.xaxis.type
? ((r.isXNumeric = !0),
c(),
r.seriesX.push(this.twoDSeriesX))
: "numeric" === s.xaxis.type &&
((r.isXNumeric = !0),
n.length > 0 &&
((this.twoDSeriesX = n),
r.seriesX.push(
this.twoDSeriesX
))),
r.labels.push(this.twoDSeriesX);
var g = t[d].data.map(function (t) {
return x.parseNumber(t);
});
r.series.push(g);
}
r.seriesZ.push(this.threeDSeries),
void 0 !== t[d].name
? r.seriesNames.push(t[d].name)
: r.seriesNames.push(
"series-" + parseInt(d + 1, 10)
),
void 0 !== t[d].color
? r.seriesColors.push(t[d].color)
: r.seriesColors.push(void 0);
}
return this.w;
},
},
{
key: "parseDataNonAxisCharts",
value: function (t) {
var e = this.w.globals,
i = this.w.config;
(e.series = t.slice()),
(e.seriesNames = i.labels.slice());
for (var a = 0; a < e.series.length; a++)
void 0 === e.seriesNames[a] &&
e.seriesNames.push("series-" + (a + 1));
return this.w;
},
},
{
key: "handleExternalLabelsData",
value: function (t) {
var e = this.w.config,
i = this.w.globals;
if (e.xaxis.categories.length > 0)
i.labels = e.xaxis.categories;
else if (e.labels.length > 0)
i.labels = e.labels.slice();
else if (this.fallbackToCategory) {
if (
((i.labels = i.labels[0]),
i.seriesRange.length &&
(i.seriesRange.map(function (t) {
t.forEach(function (t) {
i.labels.indexOf(t.x) < 0 &&
t.x &&
i.labels.push(t.x);
});
}),
(i.labels = Array.from(
new Set(
i.labels.map(JSON.stringify)
),
JSON.parse
))),
e.xaxis.convertedCatToNumeric)
)
new X(e).convertCatToNumericXaxis(
e,
this.ctx,
i.seriesX[0]
),
this._generateExternalLabels(t);
} else this._generateExternalLabels(t);
},
},
{
key: "_generateExternalLabels",
value: function (t) {
var e = this.w.globals,
i = this.w.config,
a = [];
if (e.axisCharts) {
if (e.series.length > 0)
if (this.isFormatXY())
for (
var s = i.series.map(function (
t,
e
) {
return t.data.filter(
function (t, e, i) {
return (
i.findIndex(
function (
e
) {
return (
e.x ===
t.x
);
}
) === e
);
}
);
}),
r = s.reduce(function (
t,
e,
i,
a
) {
return a[t].length >
e.length
? t
: i;
},
0),
o = 0;
o < s[r].length;
o++
)
a.push(o + 1);
else
for (
var n = 0;
n <
e.series[e.maxValsInArrayIndex]
.length;
n++
)
a.push(n + 1);
e.seriesX = [];
for (var l = 0; l < t.length; l++)
e.seriesX.push(a);
this.w.globals.isBarHorizontal ||
(e.isXNumeric = !0);
}
if (0 === a.length) {
a = e.axisCharts
? []
: e.series.map(function (t, e) {
return e + 1;
});
for (var h = 0; h < t.length; h++)
e.seriesX.push(a);
}
(e.labels = a),
i.xaxis.convertedCatToNumeric &&
(e.categoryLabels = a.map(function (t) {
return i.xaxis.labels.formatter(t);
})),
(e.noLabelsProvided = !0);
},
},
{
key: "parseData",
value: function (t) {
var e = this.w,
i = e.config,
a = e.globals;
if (
(this.excludeCollapsedSeriesInYAxis(),
(this.fallbackToCategory = !1),
this.ctx.core.resetGlobals(),
this.ctx.core.isMultipleY(),
a.axisCharts
? (this.parseDataAxisCharts(t),
this.coreUtils.getLargestSeries())
: this.parseDataNonAxisCharts(t),
i.chart.stacked)
) {
var s = new N(this.ctx);
a.series = s.setNullSeriesToZeroValues(
a.series
);
}
this.coreUtils.getSeriesTotals(),
a.axisCharts &&
(a.stackedSeriesTotals =
this.coreUtils.getStackedSeriesTotals()),
this.coreUtils.getPercentSeries(),
a.dataFormatXNumeric ||
(a.isXNumeric &&
("numeric" !== i.xaxis.type ||
0 !== i.labels.length ||
0 !== i.xaxis.categories.length)) ||
this.handleExternalLabelsData(t);
for (
var r = this.coreUtils.getCategoryLabels(
a.labels
),
o = 0;
o < r.length;
o++
)
if (Array.isArray(r[o])) {
a.isMultiLineX = !0;
break;
}
},
},
{
key: "excludeCollapsedSeriesInYAxis",
value: function () {
var t = this,
e = this.w;
e.globals.ignoreYAxisIndexes =
e.globals.collapsedSeries.map(function (i, a) {
if (
t.w.globals.isMultipleYAxis &&
!e.config.chart.stacked
)
return i.index;
});
},
},
]),
t
);
})(),
B = (function () {
function t(e) {
a(this, t), (this.ctx = e), (this.w = e.w);
}
return (
r(t, [
{
key: "getLabel",
value: function (t, e, i, a) {
var s =
arguments.length > 4 &&
void 0 !== arguments[4]
? arguments[4]
: [],
r =
arguments.length > 5 &&
void 0 !== arguments[5]
? arguments[5]
: "12px",
o =
!(
arguments.length > 6 &&
void 0 !== arguments[6]
) || arguments[6],
n = this.w,
l = void 0 === t[a] ? "" : t[a],
h = l,
c = n.globals.xLabelFormatter,
d = n.config.xaxis.labels.formatter,
g = !1,
u = new T(this.ctx),
p = l;
o &&
((h = u.xLabelFormat(c, l, p, {
i: a,
dateFormatter: new I(this.ctx).formatDate,
w: n,
})),
void 0 !== d &&
(h = d(l, t[a], {
i: a,
dateFormatter: new I(this.ctx)
.formatDate,
w: n,
})));
var f, x;
e.length > 0
? ((f = e[a].unit),
(x = null),
e.forEach(function (t) {
"month" === t.unit
? (x = "year")
: "day" === t.unit
? (x = "month")
: "hour" === t.unit
? (x = "day")
: "minute" === t.unit && (x = "hour");
}),
(g = x === f),
(i = e[a].position),
(h = e[a].value))
: "datetime" === n.config.xaxis.type &&
void 0 === d &&
(h = ""),
void 0 === h && (h = ""),
(h = Array.isArray(h) ? h : h.toString());
var b = new m(this.ctx),
v = {};
v =
n.globals.rotateXLabels && o
? b.getTextRects(
h,
parseInt(r, 10),
null,
"rotate(".concat(
n.config.xaxis.labels.rotate,
" 0 0)"
),
!1
)
: b.getTextRects(h, parseInt(r, 10));
var y =
!n.config.xaxis.labels.showDuplicates &&
this.ctx.timeScale;
return (
!Array.isArray(h) &&
(0 === h.indexOf("NaN") ||
0 ===
h
.toLowerCase()
.indexOf("invalid") ||
h.toLowerCase().indexOf("infinity") >=
0 ||
(s.indexOf(h) >= 0 && y)) &&
(h = ""),
{ x: i, text: h, textRect: v, isBold: g }
);
},
},
{
key: "checkLabelBasedOnTickamount",
value: function (t, e, i) {
var a = this.w,
s = a.config.xaxis.tickAmount;
return (
"dataPoints" === s &&
(s = Math.round(a.globals.gridWidth / 120)),
s > i ||
t % Math.round(i / (s + 1)) == 0 ||
(e.text = ""),
e
);
},
},
{
key: "checkForOverflowingLabels",
value: function (t, e, i, a, s) {
var r = this.w;
if (
(0 === t &&
r.globals.skipFirstTimelinelabel &&
(e.text = ""),
t === i - 1 &&
r.globals.skipLastTimelinelabel &&
(e.text = ""),
r.config.xaxis.labels.hideOverlappingLabels &&
a.length > 0)
) {
var o = s[s.length - 1];
e.x <
o.textRect.width /
(r.globals.rotateXLabels
? Math.abs(
r.config.xaxis.labels.rotate
) / 12
: 1.01) +
o.x && (e.text = "");
}
return e;
},
},
{
key: "checkForReversedLabels",
value: function (t, e) {
var i = this.w;
return (
i.config.yaxis[t] &&
i.config.yaxis[t].reversed &&
e.reverse(),
e
);
},
},
{
key: "isYAxisHidden",
value: function (t) {
var e = this.w,
i = new y(this.ctx);
return (
!e.config.yaxis[t].show ||
(!e.config.yaxis[t].showForNullSeries &&
i.isSeriesNull(t) &&
-1 ===
e.globals.collapsedSeriesIndices.indexOf(
t
))
);
},
},
{
key: "getYAxisForeColor",
value: function (t, e) {
var i = this.w;
return (
Array.isArray(t) &&
i.globals.yAxisScale[e] &&
this.ctx.theme.pushExtraColors(
t,
i.globals.yAxisScale[e].result.length,
!1
),
t
);
},
},
{
key: "drawYAxisTicks",
value: function (t, e, i, a, s, r, o) {
var n = this.w,
l = new m(this.ctx),
h = n.globals.translateY;
if (a.show && e > 0) {
!0 === n.config.yaxis[s].opposite &&
(t += a.width);
for (var c = e; c >= 0; c--) {
var d =
h +
e / 10 +
n.config.yaxis[s].labels.offsetY -
1;
n.globals.isBarHorizontal && (d = r * c),
"heatmap" === n.config.chart.type &&
(d += r / 2);
var g = l.drawLine(
t + i.offsetX - a.width + a.offsetX,
d + a.offsetY,
t + i.offsetX + a.offsetX,
d + a.offsetY,
a.color
);
o.add(g), (h += r);
}
}
},
},
]),
t
);
})(),
G = (function () {
function t(e) {
a(this, t), (this.ctx = e), (this.w = e.w);
}
return (
r(t, [
{
key: "scaleSvgNode",
value: function (t, e) {
var i = parseFloat(t.getAttributeNS(null, "width")),
a = parseFloat(
t.getAttributeNS(null, "height")
);
t.setAttributeNS(null, "width", i * e),
t.setAttributeNS(null, "height", a * e),
t.setAttributeNS(
null,
"viewBox",
"0 0 " + i + " " + a
);
},
},
{
key: "fixSvgStringForIe11",
value: function (t) {
if (!x.isIE11())
return t.replace(/ /g, " ");
var e = 0,
i = t.replace(
/xmlns="http:\/\/www.w3.org\/2000\/svg"/g,
function (t) {
return 2 === ++e
? 'xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev"'
: t;
}
);
return (i = (i = i.replace(
/xmlns:NS\d+=""/g,
""
)).replace(/NS\d+:(\w+:\w+=")/g, "$1"));
},
},
{
key: "getSvgString",
value: function (t) {
null == t && (t = 1);
var e = this.w.globals.dom.Paper.svg();
if (1 !== t) {
var i = this.w.globals.dom.Paper.node.cloneNode(
!0
);
this.scaleSvgNode(i, t),
(e = new XMLSerializer().serializeToString(
i
));
}
return this.fixSvgStringForIe11(e);
},
},
{
key: "cleanup",
value: function () {
var t = this.w,
e = t.globals.dom.baseEl.getElementsByClassName(
"apexcharts-xcrosshairs"
),
i = t.globals.dom.baseEl.getElementsByClassName(
"apexcharts-ycrosshairs"
),
a = t.globals.dom.baseEl.querySelectorAll(
".apexcharts-zoom-rect, .apexcharts-selection-rect"
);
Array.prototype.forEach.call(a, function (t) {
t.setAttribute("width", 0);
}),
e &&
e[0] &&
(e[0].setAttribute("x", -500),
e[0].setAttribute("x1", -500),
e[0].setAttribute("x2", -500)),
i &&
i[0] &&
(i[0].setAttribute("y", -100),
i[0].setAttribute("y1", -100),
i[0].setAttribute("y2", -100));
},
},
{
key: "svgUrl",
value: function () {
this.cleanup();
var t = this.getSvgString(),
e = new Blob([t], {
type: "image/svg+xml;charset=utf-8",
});
return URL.createObjectURL(e);
},
},
{
key: "dataURI",
value: function (t) {
var e = this;
return new Promise(function (i) {
var a = e.w,
s = t
? t.scale ||
t.width / a.globals.svgWidth
: 1;
e.cleanup();
var r = document.createElement("canvas");
(r.width = a.globals.svgWidth * s),
(r.height =
parseInt(
a.globals.dom.elWrap.style.height,
10
) * s);
var o =
"transparent" ===
a.config.chart.background
? "#fff"
: a.config.chart.background,
n = r.getContext("2d");
(n.fillStyle = o),
n.fillRect(0, 0, r.width * s, r.height * s);
var l = e.getSvgString(s);
if (window.canvg && x.isIE11()) {
var h = window.canvg.Canvg.fromString(
n,
l,
{
ignoreClear: !0,
ignoreDimensions: !0,
}
);
h.start();
var c = r.msToBlob();
h.stop(), i({ blob: c });
} else {
var d =
"data:image/svg+xml," +
encodeURIComponent(l),
g = new Image();
(g.crossOrigin = "anonymous"),
(g.onload = function () {
if (
(n.drawImage(g, 0, 0),
r.msToBlob)
) {
var t = r.msToBlob();
i({ blob: t });
} else {
var e =
r.toDataURL("image/png");
i({ imgURI: e });
}
}),
(g.src = d);
}
});
},
},
{
key: "exportToSVG",
value: function () {
this.triggerDownload(
this.svgUrl(),
this.w.config.chart.toolbar.export.svg.filename,
".svg"
);
},
},
{
key: "exportToPng",
value: function () {
var t = this;
this.dataURI().then(function (e) {
var i = e.imgURI,
a = e.blob;
a
? navigator.msSaveOrOpenBlob(
a,
t.w.globals.chartID + ".png"
)
: t.triggerDownload(
i,
t.w.config.chart.toolbar.export.png
.filename,
".png"
);
});
},
},
{
key: "exportToCSV",
value: function (t) {
var e = this,
i = t.series,
a = t.fileName,
s = t.columnDelimiter,
r = void 0 === s ? "," : s,
o = t.lineDelimiter,
n = void 0 === o ? "\n" : o,
l = this.w;
i || (i = l.config.series);
var h = [],
c = [],
d = "",
g = l.globals.series.map(function (t, e) {
return -1 ===
l.globals.collapsedSeriesIndices.indexOf(
e
)
? t
: [];
}),
p = Math.max.apply(
Math,
u(
i.map(function (t) {
return t.data ? t.data.length : 0;
})
)
),
f = new W(this.ctx),
b = new B(this.ctx),
v = function (t) {
var i = "";
if (l.globals.axisCharts) {
if (
"category" ===
l.config.xaxis.type ||
l.config.xaxis.convertedCatToNumeric
)
if (l.globals.isBarHorizontal) {
var a =
l.globals
.yLabelFormatters[0],
s = new N(
e.ctx
).getActiveConfigSeriesIndex();
i = a(l.globals.labels[t], {
seriesIndex: s,
dataPointIndex: t,
w: l,
});
} else
i = b.getLabel(
l.globals.labels,
l.globals.timescaleLabels,
0,
t
).text;
"datetime" === l.config.xaxis.type &&
(l.config.xaxis.categories.length
? (i =
l.config.xaxis.categories[
t
])
: l.config.labels.length &&
(i = l.config.labels[t]));
} else i = l.config.labels[t];
return (
Array.isArray(i) && (i = i.join(" ")),
x.isNumber(i) ? i : i.split(r).join("")
);
},
m = function (t, e) {
if (
(h.length &&
0 === e &&
c.push(h.join(r)),
t.data)
) {
t.data =
(t.data.length && t.data) ||
u(Array(p)).map(function () {
return "";
});
for (
var a = 0;
a < t.data.length;
a++
) {
h = [];
var s = v(a);
if (
(s ||
(f.isFormatXY()
? (s = i[e].data[a].x)
: f.isFormat2DArray() &&
(s = i[e].data[a]
? i[e].data[a][0]
: "")),
0 === e)
) {
h.push(
((d = s),
"datetime" ===
l.config.xaxis.type &&
String(d).length >= 10
? l.config.chart.toolbar.export.csv.dateFormatter(
s
)
: x.isNumber(s)
? s
: s.split(r).join(""))
);
for (
var o = 0;
o < l.globals.series.length;
o++
) {
var n;
if (f.isFormatXY())
h.push(
null ===
(n =
i[o].data[
a
]) ||
void 0 === n
? void 0
: n.y
);
else h.push(g[o][a]);
}
}
("candlestick" ===
l.config.chart.type ||
(t.type &&
"candlestick" ===
t.type)) &&
(h.pop(),
h.push(
l.globals.seriesCandleO[e][
a
]
),
h.push(
l.globals.seriesCandleH[e][
a
]
),
h.push(
l.globals.seriesCandleL[e][
a
]
),
h.push(
l.globals.seriesCandleC[e][
a
]
)),
("boxPlot" ===
l.config.chart.type ||
(t.type &&
"boxPlot" ===
t.type)) &&
(h.pop(),
h.push(
l.globals.seriesCandleO[
e
][a]
),
h.push(
l.globals.seriesCandleH[
e
][a]
),
h.push(
l.globals.seriesCandleM[
e
][a]
),
h.push(
l.globals.seriesCandleL[
e
][a]
),
h.push(
l.globals.seriesCandleC[
e
][a]
)),
"rangeBar" ===
l.config.chart.type &&
(h.pop(),
h.push(
l.globals
.seriesRangeStart[
e
][a]
),
h.push(
l.globals
.seriesRangeEnd[e][
a
]
)),
h.length && c.push(h.join(r));
}
}
var d;
};
h.push(
l.config.chart.toolbar.export.csv.headerCategory
),
"boxPlot" === l.config.chart.type
? (h.push("minimum"),
h.push("q1"),
h.push("median"),
h.push("q3"),
h.push("maximum"))
: "candlestick" === l.config.chart.type
? (h.push("open"),
h.push("high"),
h.push("low"),
h.push("close"))
: "rangeBar" === l.config.chart.type
? (h.push("minimum"), h.push("maximum"))
: i.map(function (t, e) {
var i =
(t.name
? t.name
: "series-".concat(e)) + "";
l.globals.axisCharts &&
h.push(
i.split(r).join("")
? i.split(r).join("")
: "series-".concat(e)
);
}),
l.globals.axisCharts ||
(h.push(
l.config.chart.toolbar.export.csv
.headerValue
),
c.push(h.join(r))),
i.map(function (t, e) {
l.globals.axisCharts
? m(t, e)
: ((h = []).push(
l.globals.labels[e]
.split(r)
.join("")
),
h.push(g[e]),
c.push(h.join(r)));
}),
(d += c.join(n)),
this.triggerDownload(
"data:text/csv; charset=utf-8," +
encodeURIComponent("\ufeff" + d),
a ||
l.config.chart.toolbar.export.csv
.filename,
".csv"
);
},
},
{
key: "triggerDownload",
value: function (t, e, i) {
var a = document.createElement("a");
(a.href = t),
(a.download =
(e || this.w.globals.chartID) + i),
document.body.appendChild(a),
a.click(),
document.body.removeChild(a);
},
},
]),
t
);
})(),
V = (function () {
function t(e, i) {
a(this, t), (this.ctx = e), (this.elgrid = i), (this.w = e.w);
var s = this.w;
(this.axesUtils = new B(e)),
(this.xaxisLabels = s.globals.labels.slice()),
s.globals.timescaleLabels.length > 0 &&
!s.globals.isBarHorizontal &&
(this.xaxisLabels = s.globals.timescaleLabels.slice()),
s.config.xaxis.overwriteCategories &&
(this.xaxisLabels = s.config.xaxis.overwriteCategories),
(this.drawnLabels = []),
(this.drawnLabelsRects = []),
"top" === s.config.xaxis.position
? (this.offY = 0)
: (this.offY = s.globals.gridHeight + 1),
(this.offY = this.offY + s.config.xaxis.axisBorder.offsetY),
(this.isCategoryBarHorizontal =
"bar" === s.config.chart.type &&
s.config.plotOptions.bar.horizontal),
(this.xaxisFontSize = s.config.xaxis.labels.style.fontSize),
(this.xaxisFontFamily =
s.config.xaxis.labels.style.fontFamily),
(this.xaxisForeColors = s.config.xaxis.labels.style.colors),
(this.xaxisBorderWidth = s.config.xaxis.axisBorder.width),
this.isCategoryBarHorizontal &&
(this.xaxisBorderWidth =
s.config.yaxis[0].axisBorder.width.toString()),
this.xaxisBorderWidth.indexOf("%") > -1
? (this.xaxisBorderWidth =
(s.globals.gridWidth *
parseInt(this.xaxisBorderWidth, 10)) /
100)
: (this.xaxisBorderWidth = parseInt(
this.xaxisBorderWidth,
10
)),
(this.xaxisBorderHeight = s.config.xaxis.axisBorder.height),
(this.yaxis = s.config.yaxis[0]);
}
return (
r(t, [
{
key: "drawXaxis",
value: function () {
var t = this.w,
e = new m(this.ctx),
i = e.group({
class: "apexcharts-xaxis",
transform: "translate("
.concat(t.config.xaxis.offsetX, ", ")
.concat(t.config.xaxis.offsetY, ")"),
}),
a = e.group({
class: "apexcharts-xaxis-texts-g",
transform: "translate("
.concat(t.globals.translateXAxisX, ", ")
.concat(t.globals.translateXAxisY, ")"),
});
i.add(a);
for (
var s = [], r = 0;
r < this.xaxisLabels.length;
r++
)
s.push(this.xaxisLabels[r]);
if (
(this.drawXAxisLabelAndGroup(
!0,
e,
a,
s,
t.globals.isXNumeric,
function (t, e) {
return e;
}
),
t.globals.hasXaxisGroups)
) {
var o = t.globals.groups;
s = [];
for (var n = 0; n < o.length; n++)
s.push(o[n].title);
var l = {};
t.config.xaxis.group.style &&
((l.xaxisFontSize =
t.config.xaxis.group.style.fontSize),
(l.xaxisFontFamily =
t.config.xaxis.group.style.fontFamily),
(l.xaxisForeColors =
t.config.xaxis.group.style.colors),
(l.fontWeight =
t.config.xaxis.group.style.fontWeight),
(l.cssClass =
t.config.xaxis.group.style.cssClass)),
this.drawXAxisLabelAndGroup(
!1,
e,
a,
s,
!1,
function (t, e) {
return o[t].cols * e;
},
l
);
}
if (void 0 !== t.config.xaxis.title.text) {
var h = e.group({
class: "apexcharts-xaxis-title",
}),
c = e.drawText({
x:
t.globals.gridWidth / 2 +
t.config.xaxis.title.offsetX,
y:
this.offY +
parseFloat(this.xaxisFontSize) +
("bottom" ===
t.config.xaxis.position
? t.globals.xAxisLabelsHeight
: -t.globals.xAxisLabelsHeight -
10) +
t.config.xaxis.title.offsetY,
text: t.config.xaxis.title.text,
textAnchor: "middle",
fontSize:
t.config.xaxis.title.style.fontSize,
fontFamily:
t.config.xaxis.title.style
.fontFamily,
fontWeight:
t.config.xaxis.title.style
.fontWeight,
foreColor:
t.config.xaxis.title.style.color,
cssClass:
"apexcharts-xaxis-title-text " +
t.config.xaxis.title.style.cssClass,
});
h.add(c), i.add(h);
}
if (t.config.xaxis.axisBorder.show) {
var d = t.globals.barPadForNumericAxis,
g = e.drawLine(
t.globals.padHorizontal +
t.config.xaxis.axisBorder.offsetX -
d,
this.offY,
this.xaxisBorderWidth + d,
this.offY,
t.config.xaxis.axisBorder.color,
0,
this.xaxisBorderHeight
);
this.elgrid &&
this.elgrid.elGridBorders &&
t.config.grid.show
? this.elgrid.elGridBorders.add(g)
: i.add(g);
}
return i;
},
},
{
key: "drawXAxisLabelAndGroup",
value: function (t, e, i, a, s, r) {
var o,
n = this,
l =
arguments.length > 6 &&
void 0 !== arguments[6]
? arguments[6]
: {},
h = [],
c = [],
d = this.w,
g = l.xaxisFontSize || this.xaxisFontSize,
u = l.xaxisFontFamily || this.xaxisFontFamily,
p = l.xaxisForeColors || this.xaxisForeColors,
f =
l.fontWeight ||
d.config.xaxis.labels.style.fontWeight,
x =
l.cssClass ||
d.config.xaxis.labels.style.cssClass,
b = d.globals.padHorizontal,
v = a.length,
m =
"category" === d.config.xaxis.type
? d.globals.dataPoints
: v;
if ((0 === m && v > m && (m = v), s)) {
var y = m > 1 ? m - 1 : m;
(o = d.globals.gridWidth / Math.min(y, v - 1)),
(b =
b +
r(0, o) / 2 +
d.config.xaxis.labels.offsetX);
} else
(o = d.globals.gridWidth / m),
(b =
b +
r(0, o) +
d.config.xaxis.labels.offsetX);
for (
var w = function (s) {
var l =
b -
r(s, o) / 2 +
d.config.xaxis.labels.offsetX;
0 === s &&
1 === v &&
o / 2 === b &&
1 === m &&
(l = d.globals.gridWidth / 2);
var y = n.axesUtils.getLabel(
a,
d.globals.timescaleLabels,
l,
s,
h,
g,
t
),
w = 28;
d.globals.rotateXLabels &&
t &&
(w = 22),
d.config.xaxis.title.text &&
"top" ===
d.config.xaxis.position &&
(w +=
parseFloat(
d.config.xaxis.title
.style.fontSize
) + 2),
t ||
(w =
w +
parseFloat(g) +
(d.globals
.xAxisLabelsHeight -
d.globals
.xAxisGroupLabelsHeight) +
(d.globals.rotateXLabels
? 10
: 0)),
(y =
void 0 !==
d.config.xaxis.tickAmount &&
"dataPoints" !==
d.config.xaxis.tickAmount &&
"datetime" !==
d.config.xaxis.type
? n.axesUtils.checkLabelBasedOnTickamount(
s,
y,
v
)
: n.axesUtils.checkForOverflowingLabels(
s,
y,
v,
h,
c
));
if (d.config.xaxis.labels.show) {
var k = e.drawText({
x: y.x,
y:
n.offY +
d.config.xaxis.labels
.offsetY +
w -
("top" ===
d.config.xaxis.position
? d.globals
.xAxisHeight +
d.config.xaxis
.axisTicks
.height -
2
: 0),
text: y.text,
textAnchor: "middle",
fontWeight: y.isBold ? 600 : f,
fontSize: g,
fontFamily: u,
foreColor: Array.isArray(p)
? t &&
d.config.xaxis
.convertedCatToNumeric
? p[
d.globals.minX +
s -
1
]
: p[s]
: p,
isPlainText: !1,
cssClass:
(t
? "apexcharts-xaxis-label "
: "apexcharts-xaxis-group-label ") +
x,
});
if (
(i.add(k),
k.on("click", function (t) {
if (
"function" ==
typeof d.config.chart
.events
.xAxisLabelClick
) {
var e = Object.assign(
{},
d,
{ labelIndex: s }
);
d.config.chart.events.xAxisLabelClick(
t,
n.ctx,
e
);
}
}),
t)
) {
var A =
document.createElementNS(
d.globals.SVGNS,
"title"
);
(A.textContent = Array.isArray(
y.text
)
? y.text.join(" ")
: y.text),
k.node.appendChild(A),
"" !== y.text &&
(h.push(y.text),
c.push(y));
}
}
s < v - 1 && (b += r(s + 1, o));
},
k = 0;
k <= v - 1;
k++
)
w(k);
},
},
{
key: "drawXaxisInversed",
value: function (t) {
var e,
i,
a = this,
s = this.w,
r = new m(this.ctx),
o = s.config.yaxis[0].opposite
? s.globals.translateYAxisX[t]
: 0,
n = r.group({
class: "apexcharts-yaxis apexcharts-xaxis-inversed",
rel: t,
}),
l = r.group({
class: "apexcharts-yaxis-texts-g apexcharts-xaxis-inversed-texts-g",
transform: "translate(" + o + ", 0)",
});
n.add(l);
var h = [];
if (s.config.yaxis[t].show)
for (
var c = 0;
c < this.xaxisLabels.length;
c++
)
h.push(this.xaxisLabels[c]);
(e = s.globals.gridHeight / h.length),
(i = -e / 2.2);
var d = s.globals.yLabelFormatters[0],
g = s.config.yaxis[0].labels;
if (g.show)
for (
var u = function (o) {
var n = void 0 === h[o] ? "" : h[o];
n = d(n, {
seriesIndex: t,
dataPointIndex: o,
w: s,
});
var c =
a.axesUtils.getYAxisForeColor(
g.style.colors,
t
),
u = 0;
Array.isArray(n) &&
(u =
(n.length / 2) *
parseInt(
g.style.fontSize,
10
));
var p = g.offsetX - 15,
f = "end";
a.yaxis.opposite && (f = "start"),
"left" ===
s.config.yaxis[0].labels.align
? ((p = g.offsetX),
(f = "start"))
: "center" ===
s.config.yaxis[0].labels
.align
? ((p = g.offsetX),
(f = "middle"))
: "right" ===
s.config.yaxis[0]
.labels.align &&
(f = "end");
var x = r.drawText({
x: p,
y: i + e + g.offsetY - u,
text: n,
textAnchor: f,
foreColor: Array.isArray(c)
? c[o]
: c,
fontSize: g.style.fontSize,
fontFamily: g.style.fontFamily,
fontWeight: g.style.fontWeight,
isPlainText: !1,
cssClass:
"apexcharts-yaxis-label " +
g.style.cssClass,
maxWidth: g.maxWidth,
});
l.add(x),
x.on("click", function (t) {
if (
"function" ==
typeof s.config.chart
.events
.xAxisLabelClick
) {
var e = Object.assign(
{},
s,
{ labelIndex: o }
);
s.config.chart.events.xAxisLabelClick(
t,
a.ctx,
e
);
}
});
var b = document.createElementNS(
s.globals.SVGNS,
"title"
);
if (
((b.textContent = Array.isArray(
n
)
? n.join(" ")
: n),
x.node.appendChild(b),
0 !==
s.config.yaxis[t].labels
.rotate)
) {
var v = r.rotateAroundCenter(
x.node
);
x.node.setAttribute(
"transform",
"rotate("
.concat(
s.config.yaxis[t]
.labels.rotate,
" 0 "
)
.concat(v.y, ")")
);
}
i += e;
},
p = 0;
p <= h.length - 1;
p++
)
u(p);
if (void 0 !== s.config.yaxis[0].title.text) {
var f = r.group({
class: "apexcharts-yaxis-title apexcharts-xaxis-title-inversed",
transform: "translate(" + o + ", 0)",
}),
x = r.drawText({
x: s.config.yaxis[0].title.offsetX,
y:
s.globals.gridHeight / 2 +
s.config.yaxis[0].title.offsetY,
text: s.config.yaxis[0].title.text,
textAnchor: "middle",
foreColor:
s.config.yaxis[0].title.style.color,
fontSize:
s.config.yaxis[0].title.style
.fontSize,
fontWeight:
s.config.yaxis[0].title.style
.fontWeight,
fontFamily:
s.config.yaxis[0].title.style
.fontFamily,
cssClass:
"apexcharts-yaxis-title-text " +
s.config.yaxis[0].title.style
.cssClass,
});
f.add(x), n.add(f);
}
var b = 0;
this.isCategoryBarHorizontal &&
s.config.yaxis[0].opposite &&
(b = s.globals.gridWidth);
var v = s.config.xaxis.axisBorder;
if (v.show) {
var y = r.drawLine(
s.globals.padHorizontal + v.offsetX + b,
1 + v.offsetY,
s.globals.padHorizontal + v.offsetX + b,
s.globals.gridHeight + v.offsetY,
v.color,
0
);
this.elgrid &&
this.elgrid.elGridBorders &&
s.config.grid.show
? this.elgrid.elGridBorders.add(y)
: n.add(y);
}
return (
s.config.yaxis[0].axisTicks.show &&
this.axesUtils.drawYAxisTicks(
b,
h.length,
s.config.yaxis[0].axisBorder,
s.config.yaxis[0].axisTicks,
0,
e,
n
),
n
);
},
},
{
key: "drawXaxisTicks",
value: function (t, e, i) {
var a = this.w,
s = t;
if (!(t < 0 || t - 2 > a.globals.gridWidth)) {
var r =
this.offY +
a.config.xaxis.axisTicks.offsetY;
if (
((e =
e +
r +
a.config.xaxis.axisTicks.height),
"top" === a.config.xaxis.position &&
(e =
r -
a.config.xaxis.axisTicks.height),
a.config.xaxis.axisTicks.show)
) {
var o = new m(this.ctx).drawLine(
t + a.config.xaxis.axisTicks.offsetX,
r + a.config.xaxis.offsetY,
s + a.config.xaxis.axisTicks.offsetX,
e + a.config.xaxis.offsetY,
a.config.xaxis.axisTicks.color
);
i.add(o),
o.node.classList.add(
"apexcharts-xaxis-tick"
);
}
}
},
},
{
key: "getXAxisTicksPositions",
value: function () {
var t = this.w,
e = [],
i = this.xaxisLabels.length,
a = t.globals.padHorizontal;
if (t.globals.timescaleLabels.length > 0)
for (var s = 0; s < i; s++)
(a = this.xaxisLabels[s].position),
e.push(a);
else
for (var r = i, o = 0; o < r; o++) {
var n = r;
t.globals.isXNumeric &&
"bar" !== t.config.chart.type &&
(n -= 1),
(a += t.globals.gridWidth / n),
e.push(a);
}
return e;
},
},
{
key: "xAxisLabelCorrections",
value: function () {
var t = this.w,
e = new m(this.ctx),
i = t.globals.dom.baseEl.querySelector(
".apexcharts-xaxis-texts-g"
),
a = t.globals.dom.baseEl.querySelectorAll(
".apexcharts-xaxis-texts-g text:not(.apexcharts-xaxis-group-label)"
),
s = t.globals.dom.baseEl.querySelectorAll(
".apexcharts-yaxis-inversed text"
),
r = t.globals.dom.baseEl.querySelectorAll(
".apexcharts-xaxis-inversed-texts-g text tspan"
);
if (
t.globals.rotateXLabels ||
t.config.xaxis.labels.rotateAlways
)
for (var o = 0; o < a.length; o++) {
var n = e.rotateAroundCenter(a[o]);
(n.y = n.y - 1),
(n.x = n.x + 1),
a[o].setAttribute(
"transform",
"rotate("
.concat(
t.config.xaxis.labels
.rotate,
" "
)
.concat(n.x, " ")
.concat(n.y, ")")
),
a[o].setAttribute("text-anchor", "end");
i.setAttribute(
"transform",
"translate(0, ".concat(-10, ")")
);
var l = a[o].childNodes;
t.config.xaxis.labels.trim &&
Array.prototype.forEach.call(
l,
function (i) {
e.placeTextWithEllipsis(
i,
i.textContent,
t.globals
.xAxisLabelsHeight -
("bottom" ===
t.config.legend.position
? 20
: 10)
);
}
);
}
else
!(function () {
for (
var i =
t.globals.gridWidth /
(t.globals.labels.length + 1),
s = 0;
s < a.length;
s++
) {
var r = a[s].childNodes;
t.config.xaxis.labels.trim &&
"datetime" !==
t.config.xaxis.type &&
Array.prototype.forEach.call(
r,
function (t) {
e.placeTextWithEllipsis(
t,
t.textContent,
i
);
}
);
}
})();
if (s.length > 0) {
var h = s[s.length - 1].getBBox(),
c = s[0].getBBox();
h.x < -20 &&
s[s.length - 1].parentNode.removeChild(
s[s.length - 1]
),
c.x + c.width > t.globals.gridWidth &&
!t.globals.isBarHorizontal &&
s[0].parentNode.removeChild(s[0]);
for (var d = 0; d < r.length; d++)
e.placeTextWithEllipsis(
r[d],
r[d].textContent,
t.config.yaxis[0].labels.maxWidth -
(t.config.yaxis[0].title.text
? 2 *
parseFloat(
t.config.yaxis[0].title
.style.fontSize
)
: 0) -
15
);
}
},
},
]),
t
);
})(),
j = (function () {
function t(e) {
a(this, t), (this.ctx = e), (this.w = e.w);
var i = this.w;
(this.xaxisLabels = i.globals.labels.slice()),
(this.axesUtils = new B(e)),
(this.isRangeBar =
i.globals.seriesRange.length &&
i.globals.isBarHorizontal),
i.globals.timescaleLabels.length > 0 &&
(this.xaxisLabels = i.globals.timescaleLabels.slice());
}
return (
r(t, [
{
key: "drawGridArea",
value: function () {
var t =
arguments.length > 0 &&
void 0 !== arguments[0]
? arguments[0]
: null,
e = this.w,
i = new m(this.ctx);
null === t &&
(t = i.group({ class: "apexcharts-grid" }));
var a = i.drawLine(
e.globals.padHorizontal,
1,
e.globals.padHorizontal,
e.globals.gridHeight,
"transparent"
),
s = i.drawLine(
e.globals.padHorizontal,
e.globals.gridHeight,
e.globals.gridWidth,
e.globals.gridHeight,
"transparent"
);
return t.add(s), t.add(a), t;
},
},
{
key: "drawGrid",
value: function () {
var t = null;
return (
this.w.globals.axisCharts &&
((t = this.renderGrid()),
this.drawGridArea(t.el)),
t
);
},
},
{
key: "createGridMask",
value: function () {
var t = this.w,
e = t.globals,
i = new m(this.ctx),
a = Array.isArray(t.config.stroke.width)
? 0
: t.config.stroke.width;
if (Array.isArray(t.config.stroke.width)) {
var s = 0;
t.config.stroke.width.forEach(function (t) {
s = Math.max(s, t);
}),
(a = s);
}
(e.dom.elGridRectMask = document.createElementNS(
e.SVGNS,
"clipPath"
)),
e.dom.elGridRectMask.setAttribute(
"id",
"gridRectMask".concat(e.cuid)
),
(e.dom.elGridRectMarkerMask =
document.createElementNS(
e.SVGNS,
"clipPath"
)),
e.dom.elGridRectMarkerMask.setAttribute(
"id",
"gridRectMarkerMask".concat(e.cuid)
),
(e.dom.elForecastMask =
document.createElementNS(
e.SVGNS,
"clipPath"
)),
e.dom.elForecastMask.setAttribute(
"id",
"forecastMask".concat(e.cuid)
),
(e.dom.elNonForecastMask =
document.createElementNS(
e.SVGNS,
"clipPath"
)),
e.dom.elNonForecastMask.setAttribute(
"id",
"nonForecastMask".concat(e.cuid)
);
var r = t.config.chart.type,
o = 0,
n = 0;
("bar" === r ||
"rangeBar" === r ||
"candlestick" === r ||
"boxPlot" === r ||
t.globals.comboBarCount > 0) &&
t.globals.isXNumeric &&
!t.globals.isBarHorizontal &&
((o = t.config.grid.padding.left),
(n = t.config.grid.padding.right),
e.barPadForNumericAxis > o &&
((o = e.barPadForNumericAxis),
(n = e.barPadForNumericAxis))),
(e.dom.elGridRect = i.drawRect(
-a / 2 - o - 2,
-a / 2,
e.gridWidth + a + n + o + 4,
e.gridHeight + a,
0,
"#fff"
));
var l = t.globals.markers.largestSize + 1;
(e.dom.elGridRectMarker = i.drawRect(
2 * -l,
2 * -l,
e.gridWidth + 4 * l,
e.gridHeight + 4 * l,
0,
"#fff"
)),
e.dom.elGridRectMask.appendChild(
e.dom.elGridRect.node
),
e.dom.elGridRectMarkerMask.appendChild(
e.dom.elGridRectMarker.node
);
var h = e.dom.baseEl.querySelector("defs");
h.appendChild(e.dom.elGridRectMask),
h.appendChild(e.dom.elForecastMask),
h.appendChild(e.dom.elNonForecastMask),
h.appendChild(e.dom.elGridRectMarkerMask);
},
},
{
key: "_drawGridLines",
value: function (t) {
var e = t.i,
i = t.x1,
a = t.y1,
s = t.x2,
r = t.y2,
o = t.xCount,
n = t.parent,
l = this.w;
if (
!(
(0 === e &&
l.globals.skipFirstTimelinelabel) ||
(e === o - 1 &&
l.globals.skipLastTimelinelabel &&
!l.config.xaxis.labels.formatter) ||
"radar" === l.config.chart.type
)
) {
l.config.grid.xaxis.lines.show &&
this._drawGridLine({
i: e,
x1: i,
y1: a,
x2: s,
y2: r,
xCount: o,
parent: n,
});
var h = 0;
if (
l.globals.hasXaxisGroups &&
"between" === l.config.xaxis.tickPlacement
) {
var c = l.globals.groups;
if (c) {
for (
var d = 0, g = 0;
d < e && g < c.length;
g++
)
d += c[g].cols;
d === e &&
(h =
0.6 *
l.globals.xAxisLabelsHeight);
}
}
new V(this.ctx).drawXaxisTicks(
i,
h,
l.globals.dom.elGraphical
);
}
},
},
{
key: "_drawGridLine",
value: function (t) {
var e = t.i,
i = t.x1,
a = t.y1,
s = t.x2,
r = t.y2,
o = t.xCount,
n = t.parent,
l = this.w,
h = !1,
c = n.node.classList.contains(
"apexcharts-gridlines-horizontal"
),
d = l.config.grid.strokeDashArray,
g = l.globals.barPadForNumericAxis;
((0 === a && 0 === r) || (0 === i && 0 === s)) &&
(h = !0),
a === l.globals.gridHeight &&
r === l.globals.gridHeight &&
(h = !0),
!l.globals.isBarHorizontal ||
(0 !== e && e !== o - 1) ||
(h = !0);
var u = new m(this).drawLine(
i - (c ? g : 0),
a,
s + (c ? g : 0),
r,
l.config.grid.borderColor,
d
);
u.node.classList.add("apexcharts-gridline"),
h && l.config.grid.show
? this.elGridBorders.add(u)
: n.add(u);
},
},
{
key: "_drawGridBandRect",
value: function (t) {
var e = t.c,
i = t.x1,
a = t.y1,
s = t.x2,
r = t.y2,
o = t.type,
n = this.w,
l = new m(this.ctx),
h = n.globals.barPadForNumericAxis;
if (
"column" !== o ||
"datetime" !== n.config.xaxis.type
) {
var c = n.config.grid[o].colors[e],
d = l.drawRect(
i - ("row" === o ? h : 0),
a,
s + ("row" === o ? 2 * h : 0),
r,
0,
c,
n.config.grid[o].opacity
);
this.elg.add(d),
d.attr(
"clip-path",
"url(#gridRectMask".concat(
n.globals.cuid,
")"
)
),
d.node.classList.add(
"apexcharts-grid-".concat(o)
);
}
},
},
{
key: "_drawXYLines",
value: function (t) {
var e = this,
i = t.xCount,
a = t.tickAmount,
s = this.w;
if (
s.config.grid.xaxis.lines.show ||
s.config.xaxis.axisTicks.show
) {
var r,
o = s.globals.padHorizontal,
n = s.globals.gridHeight;
s.globals.timescaleLabels.length
? (function (t) {
for (
var a = t.xC,
s = t.x1,
r = t.y1,
o = t.x2,
n = t.y2,
l = 0;
l < a;
l++
)
(s = e.xaxisLabels[l].position),
(o =
e.xaxisLabels[l]
.position),
e._drawGridLines({
i: l,
x1: s,
y1: r,
x2: o,
y2: n,
xCount: i,
parent: e.elgridLinesV,
});
})({ xC: i, x1: o, y1: 0, x2: r, y2: n })
: (s.globals.isXNumeric &&
(i =
s.globals.xAxisScale.result
.length),
(function (t) {
for (
var a = t.xC,
r = t.x1,
o = t.y1,
n = t.x2,
l = t.y2,
h = 0;
h <
a +
(s.globals.isXNumeric
? 0
: 1);
h++
)
0 === h &&
1 === a &&
1 === s.globals.dataPoints &&
(n = r =
s.globals.gridWidth / 2),
e._drawGridLines({
i: h,
x1: r,
y1: o,
x2: n,
y2: l,
xCount: i,
parent: e.elgridLinesV,
}),
(n = r +=
s.globals.gridWidth /
(s.globals.isXNumeric
? a - 1
: a));
})({
xC: i,
x1: o,
y1: 0,
x2: r,
y2: n,
}));
}
if (s.config.grid.yaxis.lines.show) {
var l = 0,
h = 0,
c = s.globals.gridWidth,
d = a + 1;
this.isRangeBar &&
(d = s.globals.labels.length);
for (
var g = 0;
g < d + (this.isRangeBar ? 1 : 0);
g++
)
this._drawGridLine({
i: g,
xCount: d + (this.isRangeBar ? 1 : 0),
x1: 0,
y1: l,
x2: c,
y2: h,
parent: this.elgridLinesH,
}),
(h = l +=
s.globals.gridHeight /
(this.isRangeBar ? d : a));
}
},
},
{
key: "_drawInvertedXYLines",
value: function (t) {
var e = t.xCount,
i = this.w;
if (
i.config.grid.xaxis.lines.show ||
i.config.xaxis.axisTicks.show
)
for (
var a,
s = i.globals.padHorizontal,
r = i.globals.gridHeight,
o = 0;
o < e + 1;
o++
) {
i.config.grid.xaxis.lines.show &&
this._drawGridLine({
i: o,
xCount: e + 1,
x1: s,
y1: 0,
x2: a,
y2: r,
parent: this.elgridLinesV,
}),
new V(this.ctx).drawXaxisTicks(
s,
0,
i.globals.dom.elGraphical
),
(a = s =
s + i.globals.gridWidth / e + 0.3);
}
if (i.config.grid.yaxis.lines.show)
for (
var n = 0,
l = 0,
h = i.globals.gridWidth,
c = 0;
c < i.globals.dataPoints + 1;
c++
)
this._drawGridLine({
i: c,
xCount: i.globals.dataPoints + 1,
x1: 0,
y1: n,
x2: h,
y2: l,
parent: this.elgridLinesH,
}),
(l = n +=
i.globals.gridHeight /
i.globals.dataPoints);
},
},
{
key: "renderGrid",
value: function () {
var t = this.w,
e = new m(this.ctx);
(this.elg = e.group({ class: "apexcharts-grid" })),
(this.elgridLinesH = e.group({
class: "apexcharts-gridlines-horizontal",
})),
(this.elgridLinesV = e.group({
class: "apexcharts-gridlines-vertical",
})),
(this.elGridBorders = e.group({
class: "apexcharts-grid-borders",
})),
this.elg.add(this.elgridLinesH),
this.elg.add(this.elgridLinesV),
t.config.grid.show ||
(this.elgridLinesV.hide(),
this.elgridLinesH.hide(),
this.elGridBorders.hide());
for (
var i,
a = t.globals.yAxisScale.length
? t.globals.yAxisScale[0].result
.length - 1
: 5,
s = 0;
s < t.globals.series.length &&
(void 0 !== t.globals.yAxisScale[s] &&
(a =
t.globals.yAxisScale[s].result.length -
1),
!(a > 2));
s++
);
return (
!t.globals.isBarHorizontal || this.isRangeBar
? ((i = this.xaxisLabels.length),
this.isRangeBar &&
(i--,
(a = t.globals.labels.length),
t.config.xaxis.tickAmount &&
t.config.xaxis.labels.formatter &&
(i = t.config.xaxis.tickAmount)),
this._drawXYLines({
xCount: i,
tickAmount: a,
}))
: ((i = a),
(a = t.globals.xTickAmount),
this._drawInvertedXYLines({
xCount: i,
tickAmount: a,
})),
this.drawGridBands(i, a),
{
el: this.elg,
elGridBorders: this.elGridBorders,
xAxisTickWidth: t.globals.gridWidth / i,
}
);
},
},
{
key: "drawGridBands",
value: function (t, e) {
var i = this.w;
if (
void 0 !== i.config.grid.row.colors &&
i.config.grid.row.colors.length > 0
)
for (
var a = 0,
s = i.globals.gridHeight / e,
r = i.globals.gridWidth,
o = 0,
n = 0;
o < e;
o++, n++
)
n >= i.config.grid.row.colors.length &&
(n = 0),
this._drawGridBandRect({
c: n,
x1: 0,
y1: a,
x2: r,
y2: s,
type: "row",
}),
(a += i.globals.gridHeight / e);
if (
void 0 !== i.config.grid.column.colors &&
i.config.grid.column.colors.length > 0
)
for (
var l =
i.globals.isBarHorizontal ||
"on" !==
i.config.xaxis.tickPlacement ||
("category" !==
i.config.xaxis.type &&
!i.config.xaxis
.convertedCatToNumeric)
? t
: t - 1,
h = i.globals.padHorizontal,
c =
i.globals.padHorizontal +
i.globals.gridWidth / l,
d = i.globals.gridHeight,
g = 0,
u = 0;
g < t;
g++, u++
)
u >= i.config.grid.column.colors.length &&
(u = 0),
this._drawGridBandRect({
c: u,
x1: h,
y1: 0,
x2: c,
y2: d,
type: "column",
}),
(h += i.globals.gridWidth / l);
},
},
]),
t
);
})(),
_ = (function () {
function t(e) {
a(this, t), (this.ctx = e), (this.w = e.w);
}
return (
r(t, [
{
key: "niceScale",
value: function (t, e) {
var i =
arguments.length > 2 &&
void 0 !== arguments[2]
? arguments[2]
: 10,
a =
arguments.length > 3 &&
void 0 !== arguments[3]
? arguments[3]
: 0,
s =
arguments.length > 4
? arguments[4]
: void 0,
r = this.w,
o = Math.abs(e - t);
if (
("dataPoints" ===
(i = this._adjustTicksForSmallRange(
i,
a,
o
)) && (i = r.globals.dataPoints - 1),
(t === Number.MIN_VALUE && 0 === e) ||
(!x.isNumber(t) && !x.isNumber(e)) ||
(t === Number.MIN_VALUE &&
e === -Number.MAX_VALUE))
)
return (
(t = 0), (e = i), this.linearScale(t, e, i)
);
t > e
? (console.warn(
"axis.min cannot be greater than axis.max"
),
(e = t + 0.1))
: t === e &&
((t = 0 === t ? 0 : t - 0.5),
(e = 0 === e ? 2 : e + 0.5));
var n = [];
o < 1 &&
s &&
("candlestick" === r.config.chart.type ||
"candlestick" === r.config.series[a].type ||
"boxPlot" === r.config.chart.type ||
"boxPlot" === r.config.series[a].type ||
r.globals.isRangeData) &&
(e *= 1.01);
var l = i + 1;
l < 2 ? (l = 2) : l > 2 && (l -= 2);
var h = o / l,
c = Math.floor(x.log10(h)),
d = Math.pow(10, c),
g = Math.round(h / d);
g < 1 && (g = 1);
var u = g * d,
p = u * Math.floor(t / u),
f = u * Math.ceil(e / u),
b = p;
if (s && o > 2) {
for (
;
n.push(x.stripNumber(b, 7)),
!((b += u) > f);
);
return {
result: n,
niceMin: n[0],
niceMax: n[n.length - 1],
};
}
var v = t;
(n = []).push(x.stripNumber(v, 7));
for (
var m = Math.abs(e - t) / i, y = 0;
y <= i;
y++
)
(v += m), n.push(v);
return (
n[n.length - 2] >= e && n.pop(),
{
result: n,
niceMin: n[0],
niceMax: n[n.length - 1],
}
);
},
},
{
key: "linearScale",
value: function (t, e) {
var i =
arguments.length > 2 &&
void 0 !== arguments[2]
? arguments[2]
: 10,
a =
arguments.length > 3
? arguments[3]
: void 0,
s = Math.abs(e - t);
"dataPoints" ===
(i = this._adjustTicksForSmallRange(i, a, s)) &&
(i = this.w.globals.dataPoints - 1);
var r = s / i;
i === Number.MAX_VALUE && ((i = 10), (r = 1));
for (var o = [], n = t; i >= 0; )
o.push(n), (n += r), (i -= 1);
return {
result: o,
niceMin: o[0],
niceMax: o[o.length - 1],
};
},
},
{
key: "logarithmicScaleNice",
value: function (t, e, i) {
e <= 0 && (e = Math.max(t, i)),
t <= 0 && (t = Math.min(e, i));
for (
var a = [],
s = Math.ceil(
Math.log(e) / Math.log(i) + 1
),
r = Math.floor(Math.log(t) / Math.log(i));
r < s;
r++
)
a.push(Math.pow(i, r));
return {
result: a,
niceMin: a[0],
niceMax: a[a.length - 1],
};
},
},
{
key: "logarithmicScale",
value: function (t, e, i) {
e <= 0 && (e = Math.max(t, i)),
t <= 0 && (t = Math.min(e, i));
for (
var a = [],
s = Math.log(e) / Math.log(i),
r = Math.log(t) / Math.log(i),
o = s - r,
n = Math.round(o),
l = o / n,
h = 0,
c = r;
h < n;
h++, c += l
)
a.push(Math.pow(i, c));
return (
a.push(Math.pow(i, s)),
{ result: a, niceMin: t, niceMax: e }
);
},
},
{
key: "_adjustTicksForSmallRange",
value: function (t, e, i) {
var a = t;
if (
void 0 !== e &&
this.w.config.yaxis[e].labels.formatter &&
void 0 === this.w.config.yaxis[e].tickAmount
) {
var s = Number(
this.w.config.yaxis[e].labels.formatter(1)
);
x.isNumber(s) &&
0 === this.w.globals.yValueDecimal &&
(a = Math.ceil(i));
}
return a < t ? a : t;
},
},
{
key: "setYScaleForIndex",
value: function (t, e, i) {
var a = this.w.globals,
s = this.w.config,
r = a.isBarHorizontal ? s.xaxis : s.yaxis[t];
void 0 === a.yAxisScale[t] &&
(a.yAxisScale[t] = []);
var o = Math.abs(i - e);
if (
(r.logarithmic &&
o <= 5 &&
(a.invalidLogScale = !0),
r.logarithmic && o > 5)
)
(a.allSeriesCollapsed = !1),
(a.yAxisScale[t] = this.logarithmicScale(
e,
i,
r.logBase
)),
(a.yAxisScale[t] = r.forceNiceScale
? this.logarithmicScaleNice(
e,
i,
r.logBase
)
: this.logarithmicScale(
e,
i,
r.logBase
));
else if (i !== -Number.MAX_VALUE && x.isNumber(i))
if (
((a.allSeriesCollapsed = !1),
(void 0 === r.min && void 0 === r.max) ||
r.forceNiceScale)
) {
var n =
(void 0 === s.yaxis[t].max &&
void 0 === s.yaxis[t].min) ||
s.yaxis[t].forceNiceScale;
a.yAxisScale[t] = this.niceScale(
e,
i,
r.tickAmount
? r.tickAmount
: o < 5 && o > 1
? o + 1
: 5,
t,
n
);
} else
a.yAxisScale[t] = this.linearScale(
e,
i,
r.tickAmount,
t
);
else a.yAxisScale[t] = this.linearScale(0, 5, 5);
},
},
{
key: "setXScale",
value: function (t, e) {
var i = this.w,
a = i.globals,
s = i.config.xaxis,
r = Math.abs(e - t);
return (
e !== -Number.MAX_VALUE && x.isNumber(e)
? (a.xAxisScale = this.linearScale(
t,
e,
s.tickAmount
? s.tickAmount
: r < 5 && r > 1
? r + 1
: 5,
0
))
: (a.xAxisScale = this.linearScale(
0,
5,
5
)),
a.xAxisScale
);
},
},
{
key: "setMultipleYScales",
value: function () {
var t = this,
e = this.w.globals,
i = this.w.config,
a = e.minYArr.concat([]),
s = e.maxYArr.concat([]),
r = [];
i.yaxis.forEach(function (e, o) {
var n = o;
i.series.forEach(function (t, i) {
t.name === e.seriesName &&
((n = i),
o !== i
? r.push({
index: i,
similarIndex: o,
alreadyExists: !0,
})
: r.push({ index: i }));
});
var l = a[n],
h = s[n];
t.setYScaleForIndex(o, l, h);
}),
this.sameScaleInMultipleAxes(a, s, r);
},
},
{
key: "sameScaleInMultipleAxes",
value: function (t, e, i) {
var a = this,
s = this.w.config,
r = this.w.globals,
o = [];
i.forEach(function (t) {
t.alreadyExists &&
(void 0 === o[t.index] && (o[t.index] = []),
o[t.index].push(t.index),
o[t.index].push(t.similarIndex));
}),
(r.yAxisSameScaleIndices = o),
o.forEach(function (t, e) {
o.forEach(function (i, a) {
var s, r;
e !== a &&
((s = t),
(r = i),
s.filter(function (t) {
return -1 !== r.indexOf(t);
})).length > 0 &&
(o[e] = o[e].concat(o[a]));
});
});
var n = o
.map(function (t) {
return t.filter(function (e, i) {
return t.indexOf(e) === i;
});
})
.map(function (t) {
return t.sort();
});
o = o.filter(function (t) {
return !!t;
});
var l = n.slice(),
h = l.map(function (t) {
return JSON.stringify(t);
});
l = l.filter(function (t, e) {
return h.indexOf(JSON.stringify(t)) === e;
});
var c = [],
d = [];
t.forEach(function (t, i) {
l.forEach(function (a, s) {
a.indexOf(i) > -1 &&
(void 0 === c[s] &&
((c[s] = []), (d[s] = [])),
c[s].push({ key: i, value: t }),
d[s].push({ key: i, value: e[i] }));
});
});
var g = Array.apply(null, Array(l.length)).map(
Number.prototype.valueOf,
Number.MIN_VALUE
),
u = Array.apply(null, Array(l.length)).map(
Number.prototype.valueOf,
-Number.MAX_VALUE
);
c.forEach(function (t, e) {
t.forEach(function (t, i) {
g[e] = Math.min(t.value, g[e]);
});
}),
d.forEach(function (t, e) {
t.forEach(function (t, i) {
u[e] = Math.max(t.value, u[e]);
});
}),
t.forEach(function (t, e) {
d.forEach(function (t, i) {
var o = g[i],
n = u[i];
s.chart.stacked &&
((n = 0),
t.forEach(function (t, e) {
t.value !== -Number.MAX_VALUE &&
(n += t.value),
o !== Number.MIN_VALUE &&
(o += c[i][e].value);
})),
t.forEach(function (i, l) {
t[l].key === e &&
(void 0 !==
s.yaxis[e].min &&
(o =
"function" ==
typeof s.yaxis[e]
.min
? s.yaxis[
e
].min(r.minY)
: s.yaxis[e]
.min),
void 0 !== s.yaxis[e].max &&
(n =
"function" ==
typeof s.yaxis[e]
.max
? s.yaxis[
e
].max(r.maxY)
: s.yaxis[e]
.max),
a.setYScaleForIndex(
e,
o,
n
));
});
});
});
},
},
{
key: "autoScaleY",
value: function (t, e, i) {
t || (t = this);
var a = t.w;
if (
a.globals.isMultipleYAxis ||
a.globals.collapsedSeries.length
)
return (
console.warn(
"autoScaleYaxis not supported in a multi-yaxis chart."
),
e
);
var s = a.globals.seriesX[0],
r = a.config.chart.stacked;
return (
e.forEach(function (t, o) {
for (var n = 0, l = 0; l < s.length; l++)
if (s[l] >= i.xaxis.min) {
n = l;
break;
}
var h,
c,
d = a.globals.minYArr[o],
g = a.globals.maxYArr[o],
u = a.globals.stackedSeriesTotals;
a.globals.series.forEach(function (o, l) {
var p = o[n];
r
? ((p = u[n]),
(h = c = p),
u.forEach(function (t, e) {
s[e] <= i.xaxis.max &&
s[e] >= i.xaxis.min &&
(t > c &&
null !== t &&
(c = t),
o[e] < h &&
null !== o[e] &&
(h = o[e]));
}))
: ((h = c = p),
o.forEach(function (t, e) {
if (
s[e] <= i.xaxis.max &&
s[e] >= i.xaxis.min
) {
var r = t,
o = t;
a.globals.series.forEach(
function (i, a) {
null !== t &&
((r =
Math.min(
i[e],
r
)),
(o = Math.max(
i[e],
o
)));
}
),
o > c &&
null !== o &&
(c = o),
r < h &&
null !== r &&
(h = r);
}
})),
void 0 === h &&
void 0 === c &&
((h = d), (c = g)),
(c *= c < 0 ? 0.9 : 1.1),
0 === (h *= h < 0 ? 1.1 : 0.9) &&
0 === c &&
((h = -1), (c = 1)),
c < 0 && c < g && (c = g),
h < 0 && h > d && (h = d),
e.length > 1
? ((e[l].min =
void 0 === t.min
? h
: t.min),
(e[l].max =
void 0 === t.max
? c
: t.max))
: ((e[0].min =
void 0 === t.min
? h
: t.min),
(e[0].max =
void 0 === t.max
? c
: t.max));
});
}),
e
);
},
},
]),
t
);
})(),
U = (function () {
function t(e) {
a(this, t),
(this.ctx = e),
(this.w = e.w),
(this.scales = new _(e));
}
return (
r(t, [
{
key: "init",
value: function () {
this.setYRange(),
this.setXRange(),
this.setZRange();
},
},
{
key: "getMinYMaxY",
value: function (t) {
var e =
arguments.length > 1 &&
void 0 !== arguments[1]
? arguments[1]
: Number.MAX_VALUE,
i =
arguments.length > 2 &&
void 0 !== arguments[2]
? arguments[2]
: -Number.MAX_VALUE,
a =
arguments.length > 3 &&
void 0 !== arguments[3]
? arguments[3]
: null,
s = this.w.config,
r = this.w.globals,
o = -Number.MAX_VALUE,
n = Number.MIN_VALUE;
null === a && (a = t + 1);
var l = r.series,
h = l,
c = l;
"candlestick" === s.chart.type
? ((h = r.seriesCandleL), (c = r.seriesCandleH))
: "boxPlot" === s.chart.type
? ((h = r.seriesCandleO), (c = r.seriesCandleC))
: r.isRangeData &&
((h = r.seriesRangeStart),
(c = r.seriesRangeEnd));
for (var d = t; d < a; d++) {
(r.dataPoints = Math.max(
r.dataPoints,
l[d].length
)),
r.categoryLabels.length &&
(r.dataPoints = r.categoryLabels.filter(
function (t) {
return void 0 !== t;
}
).length),
r.labels.length &&
"datetime" !== s.xaxis.type &&
0 !==
r.series.reduce(function (t, e) {
return t + e.length;
}, 0) &&
(r.dataPoints = Math.max(
r.dataPoints,
r.labels.length
));
for (var g = 0; g < r.series[d].length; g++) {
var u = l[d][g];
null !== u && x.isNumber(u)
? (void 0 !== c[d][g] &&
((o = Math.max(o, c[d][g])),
(e = Math.min(e, c[d][g]))),
void 0 !== h[d][g] &&
((e = Math.min(e, h[d][g])),
(i = Math.max(i, h[d][g]))),
("candlestick" !==
this.w.config.chart.type &&
"boxPlot" !==
this.w.config.chart.type &&
"rangeArea" ===
this.w.config.chart.type &&
"rangeBar" ===
this.w.config.chart.type) ||
(("candlestick" !==
this.w.config.chart.type &&
"boxPlot" !==
this.w.config.chart
.type) ||
(void 0 !==
r.seriesCandleC[d][g] &&
((o = Math.max(
o,
r.seriesCandleO[d][g]
)),
(o = Math.max(
o,
r.seriesCandleH[d][g]
)),
(o = Math.max(
o,
r.seriesCandleL[d][g]
)),
(o = Math.max(
o,
r.seriesCandleC[d][g]
)),
"boxPlot" ===
this.w.config.chart
.type &&
(o = Math.max(
o,
r.seriesCandleM[
d
][g]
)))),
!s.series[d].type ||
("candlestick" ===
s.series[d].type &&
"boxPlot" ===
s.series[d].type &&
"rangeArea" ===
s.series[d].type &&
"rangeBar" ===
s.series[d].type) ||
((o = Math.max(
o,
r.series[d][g]
)),
(e = Math.min(
e,
r.series[d][g]
))),
(i = o)),
r.seriesGoals[d] &&
r.seriesGoals[d][g] &&
Array.isArray(
r.seriesGoals[d][g]
) &&
r.seriesGoals[d][g].forEach(
function (t) {
n !== Number.MIN_VALUE &&
((n = Math.min(
n,
t.value
)),
(e = n)),
(o = Math.max(
o,
t.value
)),
(i = o);
}
),
x.isFloat(u) &&
((u = x.noExponents(u)),
(r.yValueDecimal = Math.max(
r.yValueDecimal,
u.toString().split(".")[1]
.length
))),
n > h[d][g] &&
h[d][g] < 0 &&
(n = h[d][g]))
: (r.hasNullValues = !0);
}
}
return (
"rangeBar" === s.chart.type &&
r.seriesRangeStart.length &&
r.isBarHorizontal &&
(n = e),
"bar" === s.chart.type &&
(n < 0 && o < 0 && (o = 0),
n === Number.MIN_VALUE && (n = 0)),
{ minY: n, maxY: o, lowestY: e, highestY: i }
);
},
},
{
key: "setYRange",
value: function () {
var t = this.w.globals,
e = this.w.config;
(t.maxY = -Number.MAX_VALUE),
(t.minY = Number.MIN_VALUE);
var i = Number.MAX_VALUE;
if (t.isMultipleYAxis)
for (var a = 0; a < t.series.length; a++) {
var s = this.getMinYMaxY(a, i, null, a + 1);
t.minYArr.push(s.minY),
t.maxYArr.push(s.maxY),
(i = s.lowestY);
}
var r = this.getMinYMaxY(
0,
i,
null,
t.series.length
);
if (
((t.minY = r.minY),
(t.maxY = r.maxY),
(i = r.lowestY),
e.chart.stacked && this._setStackedMinMax(),
("line" === e.chart.type ||
"area" === e.chart.type ||
"candlestick" === e.chart.type ||
"boxPlot" === e.chart.type ||
("rangeBar" === e.chart.type &&
!t.isBarHorizontal)) &&
t.minY === Number.MIN_VALUE &&
i !== -Number.MAX_VALUE &&
i !== t.maxY)
) {
var o = t.maxY - i;
((i >= 0 && i <= 10) ||
void 0 !== e.yaxis[0].min ||
void 0 !== e.yaxis[0].max) &&
(o = 0),
(t.minY = i - (5 * o) / 100),
i > 0 && t.minY < 0 && (t.minY = 0),
(t.maxY = t.maxY + (5 * o) / 100);
}
if (
(e.yaxis.forEach(function (e, i) {
void 0 !== e.max &&
("number" == typeof e.max
? (t.maxYArr[i] = e.max)
: "function" == typeof e.max &&
(t.maxYArr[i] = e.max(
t.isMultipleYAxis
? t.maxYArr[i]
: t.maxY
)),
(t.maxY = t.maxYArr[i])),
void 0 !== e.min &&
("number" == typeof e.min
? (t.minYArr[i] = e.min)
: "function" == typeof e.min &&
(t.minYArr[i] = e.min(
t.isMultipleYAxis
? t.minYArr[i] ===
Number.MIN_VALUE
? 0
: t.minYArr[i]
: t.minY
)),
(t.minY = t.minYArr[i]));
}),
t.isBarHorizontal)
) {
["min", "max"].forEach(function (i) {
void 0 !== e.xaxis[i] &&
"number" == typeof e.xaxis[i] &&
("min" === i
? (t.minY = e.xaxis[i])
: (t.maxY = e.xaxis[i]));
});
}
return (
t.isMultipleYAxis
? (this.scales.setMultipleYScales(),
(t.minY = i),
t.yAxisScale.forEach(function (e, i) {
(t.minYArr[i] = e.niceMin),
(t.maxYArr[i] = e.niceMax);
}))
: (this.scales.setYScaleForIndex(
0,
t.minY,
t.maxY
),
(t.minY = t.yAxisScale[0].niceMin),
(t.maxY = t.yAxisScale[0].niceMax),
(t.minYArr[0] = t.yAxisScale[0].niceMin),
(t.maxYArr[0] = t.yAxisScale[0].niceMax)),
{
minY: t.minY,
maxY: t.maxY,
minYArr: t.minYArr,
maxYArr: t.maxYArr,
yAxisScale: t.yAxisScale,
}
);
},
},
{
key: "setXRange",
value: function () {
var t = this.w.globals,
e = this.w.config,
i =
"numeric" === e.xaxis.type ||
"datetime" === e.xaxis.type ||
("category" === e.xaxis.type &&
!t.noLabelsProvided) ||
t.noLabelsProvided ||
t.isXNumeric;
if (
(t.isXNumeric &&
(function () {
for (
var e = 0;
e < t.series.length;
e++
)
if (t.labels[e])
for (
var i = 0;
i < t.labels[e].length;
i++
)
null !== t.labels[e][i] &&
x.isNumber(
t.labels[e][i]
) &&
((t.maxX = Math.max(
t.maxX,
t.labels[e][i]
)),
(t.initialMaxX =
Math.max(
t.maxX,
t.labels[e][i]
)),
(t.minX = Math.min(
t.minX,
t.labels[e][i]
)),
(t.initialMinX =
Math.min(
t.minX,
t.labels[e][i]
)));
})(),
t.noLabelsProvided &&
0 === e.xaxis.categories.length &&
((t.maxX = t.labels[t.labels.length - 1]),
(t.initialMaxX =
t.labels[t.labels.length - 1]),
(t.minX = 1),
(t.initialMinX = 1)),
t.isXNumeric ||
t.noLabelsProvided ||
t.dataFormatXNumeric)
) {
var a;
if (
(void 0 === e.xaxis.tickAmount
? ((a = Math.round(t.svgWidth / 150)),
"numeric" === e.xaxis.type &&
t.dataPoints < 30 &&
(a = t.dataPoints - 1),
a > t.dataPoints &&
0 !== t.dataPoints &&
(a = t.dataPoints - 1))
: "dataPoints" === e.xaxis.tickAmount
? (t.series.length > 1 &&
(a =
t.series[
t.maxValsInArrayIndex
].length - 1),
t.isXNumeric &&
(a = t.maxX - t.minX - 1))
: (a = e.xaxis.tickAmount),
(t.xTickAmount = a),
void 0 !== e.xaxis.max &&
"number" == typeof e.xaxis.max &&
(t.maxX = e.xaxis.max),
void 0 !== e.xaxis.min &&
"number" == typeof e.xaxis.min &&
(t.minX = e.xaxis.min),
void 0 !== e.xaxis.range &&
(t.minX = t.maxX - e.xaxis.range),
t.minX !== Number.MAX_VALUE &&
t.maxX !== -Number.MAX_VALUE)
)
if (
e.xaxis.convertedCatToNumeric &&
!t.dataFormatXNumeric
) {
for (
var s = [], r = t.minX - 1;
r < t.maxX;
r++
)
s.push(r + 1);
t.xAxisScale = {
result: s,
niceMin: s[0],
niceMax: s[s.length - 1],
};
} else
t.xAxisScale = this.scales.setXScale(
t.minX,
t.maxX
);
else
(t.xAxisScale = this.scales.linearScale(
0,
a,
a
)),
t.noLabelsProvided &&
t.labels.length > 0 &&
((t.xAxisScale =
this.scales.linearScale(
1,
t.labels.length,
a - 1
)),
(t.seriesX = t.labels.slice()));
i && (t.labels = t.xAxisScale.result.slice());
}
return (
t.isBarHorizontal &&
t.labels.length &&
(t.xTickAmount = t.labels.length),
this._handleSingleDataPoint(),
this._getMinXDiff(),
{ minX: t.minX, maxX: t.maxX }
);
},
},
{
key: "setZRange",
value: function () {
var t = this.w.globals;
if (t.isDataXYZ)
for (var e = 0; e < t.series.length; e++)
if (void 0 !== t.seriesZ[e])
for (
var i = 0;
i < t.seriesZ[e].length;
i++
)
null !== t.seriesZ[e][i] &&
x.isNumber(t.seriesZ[e][i]) &&
((t.maxZ = Math.max(
t.maxZ,
t.seriesZ[e][i]
)),
(t.minZ = Math.min(
t.minZ,
t.seriesZ[e][i]
)));
},
},
{
key: "_handleSingleDataPoint",
value: function () {
var t = this.w.globals,
e = this.w.config;
if (t.minX === t.maxX) {
var i = new I(this.ctx);
if ("datetime" === e.xaxis.type) {
var a = i.getDate(t.minX);
e.xaxis.labels.datetimeUTC
? a.setUTCDate(a.getUTCDate() - 2)
: a.setDate(a.getDate() - 2),
(t.minX = new Date(a).getTime());
var s = i.getDate(t.maxX);
e.xaxis.labels.datetimeUTC
? s.setUTCDate(s.getUTCDate() + 2)
: s.setDate(s.getDate() + 2),
(t.maxX = new Date(s).getTime());
} else
("numeric" === e.xaxis.type ||
("category" === e.xaxis.type &&
!t.noLabelsProvided)) &&
((t.minX = t.minX - 2),
(t.initialMinX = t.minX),
(t.maxX = t.maxX + 2),
(t.initialMaxX = t.maxX));
}
},
},
{
key: "_getMinXDiff",
value: function () {
var t = this.w.globals;
t.isXNumeric &&
t.seriesX.forEach(function (e, i) {
1 === e.length &&
e.push(
t.seriesX[t.maxValsInArrayIndex][
t.seriesX[t.maxValsInArrayIndex]
.length - 1
]
);
var a = e.slice();
a.sort(function (t, e) {
return t - e;
}),
a.forEach(function (e, i) {
if (i > 0) {
var s = e - a[i - 1];
s > 0 &&
(t.minXDiff = Math.min(
s,
t.minXDiff
));
}
}),
(1 !== t.dataPoints &&
t.minXDiff !== Number.MAX_VALUE) ||
(t.minXDiff = 0.5);
});
},
},
{
key: "_setStackedMinMax",
value: function () {
var t = this,
e = this.w.globals;
if (e.series.length) {
var i = e.seriesGroups;
i.length ||
(i = [
this.w.config.series.map(function (t) {
return t.name;
}),
]);
var a = {},
s = {};
i.forEach(function (i) {
(a[i] = []),
(s[i] = []),
t.w.config.series
.map(function (t, e) {
return i.indexOf(t.name) > -1
? e
: null;
})
.filter(function (t) {
return null !== t;
})
.forEach(function (t) {
for (
var r = 0;
r <
e.series[
e.maxValsInArrayIndex
].length;
r++
)
void 0 === a[i][r] &&
((a[i][r] = 0),
(s[i][r] = 0)),
null !==
e.series[t][r] &&
x.isNumber(
e.series[t][r]
) &&
(e.series[t][r] > 0
? (a[i][r] +=
parseFloat(
e
.series[
t
][r]
) + 1e-4)
: (s[i][r] +=
parseFloat(
e
.series[
t
][r]
)));
});
}),
Object.entries(a).forEach(function (t) {
var i = g(t, 1)[0];
a[i].forEach(function (t, r) {
(e.maxY = Math.max(
e.maxY,
a[i][r]
)),
(e.minY = Math.min(
e.minY,
s[i][r]
));
});
});
}
},
},
]),
t
);
})(),
q = (function () {
function t(e, i) {
a(this, t), (this.ctx = e), (this.elgrid = i), (this.w = e.w);
var s = this.w;
(this.xaxisFontSize = s.config.xaxis.labels.style.fontSize),
(this.axisFontFamily =
s.config.xaxis.labels.style.fontFamily),
(this.xaxisForeColors = s.config.xaxis.labels.style.colors),
(this.isCategoryBarHorizontal =
"bar" === s.config.chart.type &&
s.config.plotOptions.bar.horizontal),
(this.xAxisoffX = 0),
"bottom" === s.config.xaxis.position &&
(this.xAxisoffX = s.globals.gridHeight),
(this.drawnLabels = []),
(this.axesUtils = new B(e));
}
return (
r(t, [
{
key: "drawYaxis",
value: function (t) {
var e = this,
i = this.w,
a = new m(this.ctx),
s = i.config.yaxis[t].labels.style,
r = s.fontSize,
o = s.fontFamily,
n = s.fontWeight,
l = a.group({
class: "apexcharts-yaxis",
rel: t,
transform:
"translate(" +
i.globals.translateYAxisX[t] +
", 0)",
});
if (this.axesUtils.isYAxisHidden(t)) return l;
var h = a.group({
class: "apexcharts-yaxis-texts-g",
});
l.add(h);
var c = i.globals.yAxisScale[t].result.length - 1,
d = i.globals.gridHeight / c,
g = i.globals.translateY,
u = i.globals.yLabelFormatters[t],
p = i.globals.yAxisScale[t].result.slice();
p = this.axesUtils.checkForReversedLabels(t, p);
var f = "";
if (i.config.yaxis[t].labels.show)
for (
var x = function (l) {
var x = p[l];
x = u(x, l, i);
var b =
i.config.yaxis[t].labels
.padding;
i.config.yaxis[t].opposite &&
0 !== i.config.yaxis.length &&
(b *= -1);
var v = "end";
i.config.yaxis[t].opposite &&
(v = "start"),
"left" ===
i.config.yaxis[t].labels.align
? (v = "start")
: "center" ===
i.config.yaxis[t].labels
.align
? (v = "middle")
: "right" ===
i.config.yaxis[t]
.labels.align &&
(v = "end");
var m =
e.axesUtils.getYAxisForeColor(
s.colors,
t
),
y =
i.config.yaxis[t].labels
.offsetY;
"heatmap" === i.config.chart.type &&
(y -=
(i.globals.gridHeight /
i.globals.series
.length -
1) /
2);
var w = a.drawText({
x: b,
y: g + c / 10 + y + 1,
text: x,
textAnchor: v,
fontSize: r,
fontFamily: o,
fontWeight: n,
maxWidth:
i.config.yaxis[t].labels
.maxWidth,
foreColor: Array.isArray(m)
? m[l]
: m,
isPlainText: !1,
cssClass:
"apexcharts-yaxis-label " +
s.cssClass,
});
l === c && (f = w), h.add(w);
var k = document.createElementNS(
i.globals.SVGNS,
"title"
);
if (
((k.textContent = Array.isArray(
x
)
? x.join(" ")
: x),
w.node.appendChild(k),
0 !==
i.config.yaxis[t].labels
.rotate)
) {
var A = a.rotateAroundCenter(
f.node
),
S = a.rotateAroundCenter(
w.node
);
w.node.setAttribute(
"transform",
"rotate("
.concat(
i.config.yaxis[t]
.labels.rotate,
" "
)
.concat(A.x, " ")
.concat(S.y, ")")
);
}
g += d;
},
b = c;
b >= 0;
b--
)
x(b);
if (void 0 !== i.config.yaxis[t].title.text) {
var v = a.group({
class: "apexcharts-yaxis-title",
}),
y = 0;
i.config.yaxis[t].opposite &&
(y = i.globals.translateYAxisX[t]);
var w = a.drawText({
x: y,
y:
i.globals.gridHeight / 2 +
i.globals.translateY +
i.config.yaxis[t].title.offsetY,
text: i.config.yaxis[t].title.text,
textAnchor: "end",
foreColor:
i.config.yaxis[t].title.style.color,
fontSize:
i.config.yaxis[t].title.style.fontSize,
fontWeight:
i.config.yaxis[t].title.style
.fontWeight,
fontFamily:
i.config.yaxis[t].title.style
.fontFamily,
cssClass:
"apexcharts-yaxis-title-text " +
i.config.yaxis[t].title.style.cssClass,
});
v.add(w), l.add(v);
}
var k = i.config.yaxis[t].axisBorder,
A = 31 + k.offsetX;
if (
(i.config.yaxis[t].opposite &&
(A = -31 - k.offsetX),
k.show)
) {
var S = a.drawLine(
A,
i.globals.translateY + k.offsetY - 2,
A,
i.globals.gridHeight +
i.globals.translateY +
k.offsetY +
2,
k.color,
0,
k.width
);
l.add(S);
}
return (
i.config.yaxis[t].axisTicks.show &&
this.axesUtils.drawYAxisTicks(
A,
c,
k,
i.config.yaxis[t].axisTicks,
t,
d,
l
),
l
);
},
},
{
key: "drawYaxisInversed",
value: function (t) {
var e = this.w,
i = new m(this.ctx),
a = i.group({
class: "apexcharts-xaxis apexcharts-yaxis-inversed",
}),
s = i.group({
class: "apexcharts-xaxis-texts-g",
transform: "translate("
.concat(e.globals.translateXAxisX, ", ")
.concat(e.globals.translateXAxisY, ")"),
});
a.add(s);
var r = e.globals.yAxisScale[t].result.length - 1,
o = e.globals.gridWidth / r + 0.1,
n = o + e.config.xaxis.labels.offsetX,
l = e.globals.xLabelFormatter,
h = e.globals.yAxisScale[t].result.slice(),
c = e.globals.timescaleLabels;
c.length > 0 &&
((this.xaxisLabels = c.slice()),
(r = (h = c.slice()).length)),
(h = this.axesUtils.checkForReversedLabels(
t,
h
));
var d = c.length;
if (e.config.xaxis.labels.show)
for (
var g = d ? 0 : r;
d ? g < d : g >= 0;
d ? g++ : g--
) {
var u = h[g];
u = l(u, g, e);
var p =
e.globals.gridWidth +
e.globals.padHorizontal -
(n - o + e.config.xaxis.labels.offsetX);
if (c.length) {
var f = this.axesUtils.getLabel(
h,
c,
p,
g,
this.drawnLabels,
this.xaxisFontSize
);
(p = f.x),
(u = f.text),
this.drawnLabels.push(f.text),
0 === g &&
e.globals
.skipFirstTimelinelabel &&
(u = ""),
g === h.length - 1 &&
e.globals
.skipLastTimelinelabel &&
(u = "");
}
var x = i.drawText({
x: p,
y:
this.xAxisoffX +
e.config.xaxis.labels.offsetY +
30 -
("top" === e.config.xaxis.position
? e.globals.xAxisHeight +
e.config.xaxis.axisTicks
.height -
2
: 0),
text: u,
textAnchor: "middle",
foreColor: Array.isArray(
this.xaxisForeColors
)
? this.xaxisForeColors[t]
: this.xaxisForeColors,
fontSize: this.xaxisFontSize,
fontFamily: this.xaxisFontFamily,
fontWeight:
e.config.xaxis.labels.style
.fontWeight,
isPlainText: !1,
cssClass:
"apexcharts-xaxis-label " +
e.config.xaxis.labels.style
.cssClass,
});
s.add(x), x.tspan(u);
var b = document.createElementNS(
e.globals.SVGNS,
"title"
);
(b.textContent = u),
x.node.appendChild(b),
(n += o);
}
return (
this.inversedYAxisTitleText(a),
this.inversedYAxisBorder(a),
a
);
},
},
{
key: "inversedYAxisBorder",
value: function (t) {
var e = this.w,
i = new m(this.ctx),
a = e.config.xaxis.axisBorder;
if (a.show) {
var s = 0;
"bar" === e.config.chart.type &&
e.globals.isXNumeric &&
(s -= 15);
var r = i.drawLine(
e.globals.padHorizontal + s + a.offsetX,
this.xAxisoffX,
e.globals.gridWidth,
this.xAxisoffX,
a.color,
0,
a.height
);
this.elgrid &&
this.elgrid.elGridBorders &&
e.config.grid.show
? this.elgrid.elGridBorders.add(r)
: t.add(r);
}
},
},
{
key: "inversedYAxisTitleText",
value: function (t) {
var e = this.w,
i = new m(this.ctx);
if (void 0 !== e.config.xaxis.title.text) {
var a = i.group({
class: "apexcharts-xaxis-title apexcharts-yaxis-title-inversed",
}),
s = i.drawText({
x:
e.globals.gridWidth / 2 +
e.config.xaxis.title.offsetX,
y:
this.xAxisoffX +
parseFloat(this.xaxisFontSize) +
parseFloat(
e.config.xaxis.title.style
.fontSize
) +
e.config.xaxis.title.offsetY +
20,
text: e.config.xaxis.title.text,
textAnchor: "middle",
fontSize:
e.config.xaxis.title.style.fontSize,
fontFamily:
e.config.xaxis.title.style
.fontFamily,
fontWeight:
e.config.xaxis.title.style
.fontWeight,
foreColor:
e.config.xaxis.title.style.color,
cssClass:
"apexcharts-xaxis-title-text " +
e.config.xaxis.title.style.cssClass,
});
a.add(s), t.add(a);
}
},
},
{
key: "yAxisTitleRotate",
value: function (t, e) {
var i = this.w,
a = new m(this.ctx),
s = { width: 0, height: 0 },
r = { width: 0, height: 0 },
o = i.globals.dom.baseEl.querySelector(
" .apexcharts-yaxis[rel='".concat(
t,
"'] .apexcharts-yaxis-texts-g"
)
);
null !== o && (s = o.getBoundingClientRect());
var n = i.globals.dom.baseEl.querySelector(
".apexcharts-yaxis[rel='".concat(
t,
"'] .apexcharts-yaxis-title text"
)
);
if (
(null !== n && (r = n.getBoundingClientRect()),
null !== n)
) {
var l = this.xPaddingForYAxisTitle(t, s, r, e);
n.setAttribute("x", l.xPos - (e ? 10 : 0));
}
if (null !== n) {
var h = a.rotateAroundCenter(n);
n.setAttribute(
"transform",
"rotate("
.concat(
e
? -1 *
i.config.yaxis[t].title
.rotate
: i.config.yaxis[t].title
.rotate,
" "
)
.concat(h.x, " ")
.concat(h.y, ")")
);
}
},
},
{
key: "xPaddingForYAxisTitle",
value: function (t, e, i, a) {
var s = this.w,
r = 0,
o = 0,
n = 10;
return void 0 === s.config.yaxis[t].title.text ||
t < 0
? { xPos: o, padd: 0 }
: (a
? ((o =
e.width +
s.config.yaxis[t].title.offsetX +
i.width / 2 +
n / 2),
0 === (r += 1) && (o -= n / 2))
: ((o =
-1 * e.width +
s.config.yaxis[t].title.offsetX +
n / 2 +
i.width / 2),
s.globals.isBarHorizontal &&
((n = 25),
(o =
-1 * e.width -
s.config.yaxis[t].title
.offsetX -
n))),
{ xPos: o, padd: n });
},
},
{
key: "setYAxisXPosition",
value: function (t, e) {
var i = this.w,
a = 0,
s = 0,
r = 18,
o = 1;
i.config.yaxis.length > 1 && (this.multipleYs = !0),
i.config.yaxis.map(function (n, l) {
var h =
i.globals.ignoreYAxisIndexes.indexOf(
l
) > -1 ||
!n.show ||
n.floating ||
0 === t[l].width,
c = t[l].width + e[l].width;
n.opposite
? i.globals.isBarHorizontal
? ((s =
i.globals.gridWidth +
i.globals.translateX -
1),
(i.globals.translateYAxisX[l] =
s - n.labels.offsetX))
: ((s =
i.globals.gridWidth +
i.globals.translateX +
o),
h || (o = o + c + 20),
(i.globals.translateYAxisX[l] =
s - n.labels.offsetX + 20))
: ((a = i.globals.translateX - r),
h || (r = r + c + 20),
(i.globals.translateYAxisX[l] =
a + n.labels.offsetX));
});
},
},
{
key: "setYAxisTextAlignments",
value: function () {
var t = this.w,
e =
t.globals.dom.baseEl.getElementsByClassName(
"apexcharts-yaxis"
);
(e = x.listToArray(e)).forEach(function (e, i) {
var a = t.config.yaxis[i];
if (
a &&
!a.floating &&
void 0 !== a.labels.align
) {
var s = t.globals.dom.baseEl.querySelector(
".apexcharts-yaxis[rel='".concat(
i,
"'] .apexcharts-yaxis-texts-g"
)
),
r =
t.globals.dom.baseEl.querySelectorAll(
".apexcharts-yaxis[rel='".concat(
i,
"'] .apexcharts-yaxis-label"
)
);
r = x.listToArray(r);
var o = s.getBoundingClientRect();
"left" === a.labels.align
? (r.forEach(function (t, e) {
t.setAttribute(
"text-anchor",
"start"
);
}),
a.opposite ||
s.setAttribute(
"transform",
"translate(-".concat(
o.width,
", 0)"
)
))
: "center" === a.labels.align
? (r.forEach(function (t, e) {
t.setAttribute(
"text-anchor",
"middle"
);
}),
s.setAttribute(
"transform",
"translate(".concat(
(o.width / 2) *
(a.opposite ? 1 : -1),
", 0)"
)
))
: "right" === a.labels.align &&
(r.forEach(function (t, e) {
t.setAttribute(
"text-anchor",
"end"
);
}),
a.opposite &&
s.setAttribute(
"transform",
"translate(".concat(
o.width,
", 0)"
)
));
}
});
},
},
]),
t
);
})(),
Z = (function () {
function t(e) {
a(this, t),
(this.ctx = e),
(this.w = e.w),
(this.documentEvent = x.bind(this.documentEvent, this));
}
return (
r(t, [
{
key: "addEventListener",
value: function (t, e) {
var i = this.w;
i.globals.events.hasOwnProperty(t)
? i.globals.events[t].push(e)
: (i.globals.events[t] = [e]);
},
},
{
key: "removeEventListener",
value: function (t, e) {
var i = this.w;
if (i.globals.events.hasOwnProperty(t)) {
var a = i.globals.events[t].indexOf(e);
-1 !== a && i.globals.events[t].splice(a, 1);
}
},
},
{
key: "fireEvent",
value: function (t, e) {
var i = this.w;
if (i.globals.events.hasOwnProperty(t)) {
(e && e.length) || (e = []);
for (
var a = i.globals.events[t],
s = a.length,
r = 0;
r < s;
r++
)
a[r].apply(null, e);
}
},
},
{
key: "setupEventHandlers",
value: function () {
var t = this,
e = this.w,
i = this.ctx,
a = e.globals.dom.baseEl.querySelector(
e.globals.chartClass
);
this.ctx.eventList.forEach(function (t) {
a.addEventListener(
t,
function (t) {
var a = Object.assign({}, e, {
seriesIndex:
e.globals.capturedSeriesIndex,
dataPointIndex:
e.globals
.capturedDataPointIndex,
});
"mousemove" === t.type ||
"touchmove" === t.type
? "function" ==
typeof e.config.chart.events
.mouseMove &&
e.config.chart.events.mouseMove(
t,
i,
a
)
: "mouseleave" === t.type ||
"touchleave" === t.type
? "function" ==
typeof e.config.chart.events
.mouseLeave &&
e.config.chart.events.mouseLeave(
t,
i,
a
)
: (("mouseup" === t.type &&
1 === t.which) ||
"touchend" === t.type) &&
("function" ==
typeof e.config.chart.events
.click &&
e.config.chart.events.click(
t,
i,
a
),
i.ctx.events.fireEvent("click", [
t,
i,
a,
]));
},
{ capture: !1, passive: !0 }
);
}),
this.ctx.eventList.forEach(function (i) {
e.globals.dom.baseEl.addEventListener(
i,
t.documentEvent,
{ passive: !0 }
);
}),
this.ctx.core.setupBrushHandler();
},
},
{
key: "documentEvent",
value: function (t) {
var e = this.w,
i = t.target.className;
if ("click" === t.type) {
var a =
e.globals.dom.baseEl.querySelector(
".apexcharts-menu"
);
a &&
a.classList.contains(
"apexcharts-menu-open"
) &&
"apexcharts-menu-icon" !== i &&
a.classList.remove("apexcharts-menu-open");
}
(e.globals.clientX =
"touchmove" === t.type
? t.touches[0].clientX
: t.clientX),
(e.globals.clientY =
"touchmove" === t.type
? t.touches[0].clientY
: t.clientY);
},
},
]),
t
);
})(),
$ = (function () {
function t(e) {
a(this, t), (this.ctx = e), (this.w = e.w);
}
return (
r(t, [
{
key: "setCurrentLocaleValues",
value: function (t) {
var e = this.w.config.chart.locales;
window.Apex.chart &&
window.Apex.chart.locales &&
window.Apex.chart.locales.length > 0 &&
(e = this.w.config.chart.locales.concat(
window.Apex.chart.locales
));
var i = e.filter(function (e) {
return e.name === t;
})[0];
if (!i)
throw new Error(
"Wrong locale name provided. Please make sure you set the correct locale name in options"
);
var a = x.extend(C, i);
this.w.globals.locale = a.options;
},
},
]),
t
);
})(),
J = (function () {
function t(e) {
a(this, t), (this.ctx = e), (this.w = e.w);
}
return (
r(t, [
{
key: "drawAxis",
value: function (t, e) {
var i,
a,
s = this,
r = this.w.globals,
o = this.w.config,
n = new V(this.ctx, e),
l = new q(this.ctx, e);
r.axisCharts &&
"radar" !== t &&
(r.isBarHorizontal
? ((a = l.drawYaxisInversed(0)),
(i = n.drawXaxisInversed(0)),
r.dom.elGraphical.add(i),
r.dom.elGraphical.add(a))
: ((i = n.drawXaxis()),
r.dom.elGraphical.add(i),
o.yaxis.map(function (t, e) {
if (
-1 ===
r.ignoreYAxisIndexes.indexOf(
e
) &&
((a = l.drawYaxis(e)),
r.dom.Paper.add(a),
"back" ===
s.w.config.grid.position)
) {
var i = r.dom.Paper.children()[1];
i.remove(), r.dom.Paper.add(i);
}
})));
},
},
]),
t
);
})(),
Q = (function () {
function t(e) {
a(this, t), (this.ctx = e), (this.w = e.w);
}
return (
r(t, [
{
key: "drawXCrosshairs",
value: function () {
var t = this.w,
e = new m(this.ctx),
i = new v(this.ctx),
a = t.config.xaxis.crosshairs.fill.gradient,
s = t.config.xaxis.crosshairs.dropShadow,
r = t.config.xaxis.crosshairs.fill.type,
o = a.colorFrom,
n = a.colorTo,
l = a.opacityFrom,
h = a.opacityTo,
c = a.stops,
d = s.enabled,
g = s.left,
u = s.top,
p = s.blur,
f = s.color,
b = s.opacity,
y = t.config.xaxis.crosshairs.fill.color;
if (t.config.xaxis.crosshairs.show) {
"gradient" === r &&
(y = e.drawGradient(
"vertical",
o,
n,
l,
h,
null,
c,
null
));
var w = e.drawRect();
1 === t.config.xaxis.crosshairs.width &&
(w = e.drawLine());
var k = t.globals.gridHeight;
(!x.isNumber(k) || k < 0) && (k = 0);
var A = t.config.xaxis.crosshairs.width;
(!x.isNumber(A) || A < 0) && (A = 0),
w.attr({
class: "apexcharts-xcrosshairs",
x: 0,
y: 0,
y2: k,
width: A,
height: k,
fill: y,
filter: "none",
"fill-opacity":
t.config.xaxis.crosshairs.opacity,
stroke: t.config.xaxis.crosshairs.stroke
.color,
"stroke-width":
t.config.xaxis.crosshairs.stroke
.width,
"stroke-dasharray":
t.config.xaxis.crosshairs.stroke
.dashArray,
}),
d &&
(w = i.dropShadow(w, {
left: g,
top: u,
blur: p,
color: f,
opacity: b,
})),
t.globals.dom.elGraphical.add(w);
}
},
},
{
key: "drawYCrosshairs",
value: function () {
var t = this.w,
e = new m(this.ctx),
i = t.config.yaxis[0].crosshairs,
a = t.globals.barPadForNumericAxis;
if (t.config.yaxis[0].crosshairs.show) {
var s = e.drawLine(
-a,
0,
t.globals.gridWidth + a,
0,
i.stroke.color,
i.stroke.dashArray,
i.stroke.width
);
s.attr({ class: "apexcharts-ycrosshairs" }),
t.globals.dom.elGraphical.add(s);
}
var r = e.drawLine(
-a,
0,
t.globals.gridWidth + a,
0,
i.stroke.color,
0,
0
);
r.attr({ class: "apexcharts-ycrosshairs-hidden" }),
t.globals.dom.elGraphical.add(r);
},
},
]),
t
);
})(),
K = (function () {
function t(e) {
a(this, t), (this.ctx = e), (this.w = e.w);
}
return (
r(t, [
{
key: "checkResponsiveConfig",
value: function (t) {
var e = this,
i = this.w,
a = i.config;
if (0 !== a.responsive.length) {
var s = a.responsive.slice();
s.sort(function (t, e) {
return t.breakpoint > e.breakpoint
? 1
: e.breakpoint > t.breakpoint
? -1
: 0;
}).reverse();
var r = new E({}),
o = function () {
var t =
arguments.length > 0 &&
void 0 !== arguments[0]
? arguments[0]
: {},
a = s[0].breakpoint,
o =
window.innerWidth > 0
? window.innerWidth
: screen.width;
if (o > a) {
var n = y.extendArrayProps(
r,
i.globals.initialConfig,
i
);
(t = x.extend(n, t)),
(t = x.extend(i.config, t)),
e.overrideResponsiveOptions(t);
} else
for (var l = 0; l < s.length; l++)
o < s[l].breakpoint &&
((t = y.extendArrayProps(
r,
s[l].options,
i
)),
(t = x.extend(i.config, t)),
e.overrideResponsiveOptions(
t
));
};
if (t) {
var n = y.extendArrayProps(r, t, i);
(n = x.extend(i.config, n)),
o((n = x.extend(n, t)));
} else o({});
}
},
},
{
key: "overrideResponsiveOptions",
value: function (t) {
var e = new E(t).init({ responsiveOverride: !0 });
this.w.config = e;
},
},
]),
t
);
})(),
tt = (function () {
function t(e) {
a(this, t), (this.ctx = e), (this.colors = []), (this.w = e.w);
var i = this.w;
(this.isColorFn = !1),
(this.isHeatmapDistributed =
("treemap" === i.config.chart.type &&
i.config.plotOptions.treemap.distributed) ||
("heatmap" === i.config.chart.type &&
i.config.plotOptions.heatmap.distributed)),
(this.isBarDistributed =
i.config.plotOptions.bar.distributed &&
("bar" === i.config.chart.type ||
"rangeBar" === i.config.chart.type));
}
return (
r(t, [
{
key: "init",
value: function () {
this.setDefaultColors();
},
},
{
key: "setDefaultColors",
value: function () {
var t,
e = this,
i = this.w,
a = new x();
if (
(i.globals.dom.elWrap.classList.add(
"apexcharts-theme-".concat(
i.config.theme.mode
)
),
void 0 === i.config.colors ||
0 ===
(null === (t = i.config.colors) ||
void 0 === t
? void 0
: t.length)
? (i.globals.colors = this.predefined())
: ((i.globals.colors = i.config.colors),
Array.isArray(i.config.colors) &&
i.config.colors.length > 0 &&
"function" ==
typeof i.config.colors[0] &&
(i.globals.colors =
i.config.series.map(function (
t,
a
) {
var s = i.config.colors[a];
return (
s ||
(s =
i.config
.colors[0]),
"function" == typeof s
? ((e.isColorFn = !0),
s({
value: i.globals
.axisCharts
? i.globals
.series[
a
][0]
? i
.globals
.series[
a
][0]
: 0
: i.globals
.series[
a
],
seriesIndex: a,
dataPointIndex:
a,
w: i,
}))
: s
);
}))),
i.globals.seriesColors.map(function (t, e) {
t && (i.globals.colors[e] = t);
}),
i.config.theme.monochrome.enabled)
) {
var s = [],
r = i.globals.series.length;
(this.isBarDistributed ||
this.isHeatmapDistributed) &&
(r =
i.globals.series[0].length *
i.globals.series.length);
for (
var o = i.config.theme.monochrome.color,
n =
1 /
(r /
i.config.theme.monochrome
.shadeIntensity),
l = i.config.theme.monochrome.shadeTo,
h = 0,
c = 0;
c < r;
c++
) {
var d = void 0;
"dark" === l
? ((d = a.shadeColor(-1 * h, o)),
(h += n))
: ((d = a.shadeColor(h, o)), (h += n)),
s.push(d);
}
i.globals.colors = s.slice();
}
var g = i.globals.colors.slice();
this.pushExtraColors(i.globals.colors);
["fill", "stroke"].forEach(function (t) {
void 0 === i.config[t].colors
? (i.globals[t].colors = e.isColorFn
? i.config.colors
: g)
: (i.globals[t].colors =
i.config[t].colors.slice()),
e.pushExtraColors(i.globals[t].colors);
}),
void 0 === i.config.dataLabels.style.colors
? (i.globals.dataLabels.style.colors = g)
: (i.globals.dataLabels.style.colors =
i.config.dataLabels.style.colors.slice()),
this.pushExtraColors(
i.globals.dataLabels.style.colors,
50
),
void 0 ===
i.config.plotOptions.radar.polygons.fill.colors
? (i.globals.radarPolygons.fill.colors = [
"dark" === i.config.theme.mode
? "#424242"
: "none",
])
: (i.globals.radarPolygons.fill.colors =
i.config.plotOptions.radar.polygons.fill.colors.slice()),
this.pushExtraColors(
i.globals.radarPolygons.fill.colors,
20
),
void 0 === i.config.markers.colors
? (i.globals.markers.colors = g)
: (i.globals.markers.colors =
i.config.markers.colors.slice()),
this.pushExtraColors(i.globals.markers.colors);
},
},
{
key: "pushExtraColors",
value: function (t, e) {
var i =
arguments.length > 2 &&
void 0 !== arguments[2]
? arguments[2]
: null,
a = this.w,
s = e || a.globals.series.length;
if (
(null === i &&
(i =
this.isBarDistributed ||
this.isHeatmapDistributed ||
("heatmap" === a.config.chart.type &&
a.config.plotOptions.heatmap
.colorScale.inverse)),
i &&
a.globals.series.length &&
(s =
a.globals.series[
a.globals.maxValsInArrayIndex
].length * a.globals.series.length),
t.length < s)
)
for (var r = s - t.length, o = 0; o < r; o++)
t.push(t[o]);
},
},
{
key: "updateThemeOptions",
value: function (t) {
(t.chart = t.chart || {}),
(t.tooltip = t.tooltip || {});
var e = t.theme.mode || "light",
i = t.theme.palette
? t.theme.palette
: "dark" === e
? "palette4"
: "palette1",
a = t.chart.foreColor
? t.chart.foreColor
: "dark" === e
? "#f6f7f8"
: "#373d3f";
return (
(t.tooltip.theme = e),
(t.chart.foreColor = a),
(t.theme.palette = i),
t
);
},
},
{
key: "predefined",
value: function () {
switch (this.w.config.theme.palette) {
case "palette1":
default:
this.colors = [
"#008FFB",
"#00E396",
"#FEB019",
"#FF4560",
"#775DD0",
];
break;
case "palette2":
this.colors = [
"#3f51b5",
"#03a9f4",
"#4caf50",
"#f9ce1d",
"#FF9800",
];
break;
case "palette3":
this.colors = [
"#33b2df",
"#546E7A",
"#d4526e",
"#13d8aa",
"#A5978B",
];
break;
case "palette4":
this.colors = [
"#4ecdc4",
"#c7f464",
"#81D4FA",
"#fd6a6a",
"#546E7A",
];
break;
case "palette5":
this.colors = [
"#2b908f",
"#f9a3a4",
"#90ee7e",
"#fa4443",
"#69d2e7",
];
break;
case "palette6":
this.colors = [
"#449DD1",
"#F86624",
"#EA3546",
"#662E9B",
"#C5D86D",
];
break;
case "palette7":
this.colors = [
"#D7263D",
"#1B998B",
"#2E294E",
"#F46036",
"#E2C044",
];
break;
case "palette8":
this.colors = [
"#662E9B",
"#F86624",
"#F9C80E",
"#EA3546",
"#43BCCD",
];
break;
case "palette9":
this.colors = [
"#5C4742",
"#A5978B",
"#8D5B4C",
"#5A2A27",
"#C4BBAF",
];
break;
case "palette10":
this.colors = [
"#A300D6",
"#7D02EB",
"#5653FE",
"#2983FF",
"#00B1F2",
];
}
return this.colors;
},
},
]),
t
);
})(),
et = (function () {
function t(e) {
a(this, t), (this.ctx = e), (this.w = e.w);
}
return (
r(t, [
{
key: "draw",
value: function () {
this.drawTitleSubtitle("title"),
this.drawTitleSubtitle("subtitle");
},
},
{
key: "drawTitleSubtitle",
value: function (t) {
var e = this.w,
i =
"title" === t
? e.config.title
: e.config.subtitle,
a = e.globals.svgWidth / 2,
s = i.offsetY,
r = "middle";
if (
("left" === i.align
? ((a = 10), (r = "start"))
: "right" === i.align &&
((a = e.globals.svgWidth - 10),
(r = "end")),
(a += i.offsetX),
(s =
s +
parseInt(i.style.fontSize, 10) +
i.margin / 2),
void 0 !== i.text)
) {
var o = new m(this.ctx).drawText({
x: a,
y: s,
text: i.text,
textAnchor: r,
fontSize: i.style.fontSize,
fontFamily: i.style.fontFamily,
fontWeight: i.style.fontWeight,
foreColor: i.style.color,
opacity: 1,
});
o.node.setAttribute(
"class",
"apexcharts-".concat(t, "-text")
),
e.globals.dom.Paper.add(o);
}
},
},
]),
t
);
})(),
it = (function () {
function t(e) {
a(this, t), (this.w = e.w), (this.dCtx = e);
}
return (
r(t, [
{
key: "getTitleSubtitleCoords",
value: function (t) {
var e = this.w,
i = 0,
a = 0,
s =
"title" === t
? e.config.title.floating
: e.config.subtitle.floating,
r = e.globals.dom.baseEl.querySelector(
".apexcharts-".concat(t, "-text")
);
if (null !== r && !s) {
var o = r.getBoundingClientRect();
(i = o.width),
(a = e.globals.axisCharts
? o.height + 5
: o.height);
}
return { width: i, height: a };
},
},
{
key: "getLegendsRect",
value: function () {
var t = this.w,
e = t.globals.dom.elLegendWrap;
t.config.legend.height ||
("top" !== t.config.legend.position &&
"bottom" !== t.config.legend.position) ||
(e.style.maxHeight =
t.globals.svgHeight / 2 + "px");
var i = Object.assign(
{},
x.getBoundingClientRect(e)
);
return (
null !== e &&
!t.config.legend.floating &&
t.config.legend.show
? (this.dCtx.lgRect = {
x: i.x,
y: i.y,
height: i.height,
width: 0 === i.height ? 0 : i.width,
})
: (this.dCtx.lgRect = {
x: 0,
y: 0,
height: 0,
width: 0,
}),
("left" !== t.config.legend.position &&
"right" !== t.config.legend.position) ||
(1.5 * this.dCtx.lgRect.width >
t.globals.svgWidth &&
(this.dCtx.lgRect.width =
t.globals.svgWidth / 1.5)),
this.dCtx.lgRect
);
},
},
{
key: "getLargestStringFromMultiArr",
value: function (t, e) {
var i = t;
if (this.w.globals.isMultiLineX) {
var a = e.map(function (t, e) {
return Array.isArray(t) ? t.length : 1;
}),
s = Math.max.apply(Math, u(a));
i = e[a.indexOf(s)];
}
return i;
},
},
]),
t
);
})(),
at = (function () {
function t(e) {
a(this, t), (this.w = e.w), (this.dCtx = e);
}
return (
r(t, [
{
key: "getxAxisLabelsCoords",
value: function () {
var t,
e = this.w,
i = e.globals.labels.slice();
if (
(e.config.xaxis.convertedCatToNumeric &&
0 === i.length &&
(i = e.globals.categoryLabels),
e.globals.timescaleLabels.length > 0)
) {
var a = this.getxAxisTimeScaleLabelsCoords();
(t = { width: a.width, height: a.height }),
(e.globals.rotateXLabels = !1);
} else {
this.dCtx.lgWidthForSideLegends =
("left" !== e.config.legend.position &&
"right" !== e.config.legend.position) ||
e.config.legend.floating
? 0
: this.dCtx.lgRect.width;
var s = e.globals.xLabelFormatter,
r = x.getLargestStringFromArr(i),
o =
this.dCtx.dimHelpers.getLargestStringFromMultiArr(
r,
i
);
e.globals.isBarHorizontal &&
(o = r =
e.globals.yAxisScale[0].result.reduce(
function (t, e) {
return t.length > e.length
? t
: e;
},
0
));
var n = new T(this.dCtx.ctx),
l = r;
(r = n.xLabelFormat(s, r, l, {
i: void 0,
dateFormatter: new I(this.dCtx.ctx)
.formatDate,
w: e,
})),
(o = n.xLabelFormat(s, o, l, {
i: void 0,
dateFormatter: new I(this.dCtx.ctx)
.formatDate,
w: e,
})),
((e.config.xaxis.convertedCatToNumeric &&
void 0 === r) ||
"" === String(r).trim()) &&
(o = r = "1");
var h = new m(this.dCtx.ctx),
c = h.getTextRects(
r,
e.config.xaxis.labels.style.fontSize
),
d = c;
if (
(r !== o &&
(d = h.getTextRects(
o,
e.config.xaxis.labels.style.fontSize
)),
((t = {
width:
c.width >= d.width
? c.width
: d.width,
height:
c.height >= d.height
? c.height
: d.height,
}).width *
i.length >
e.globals.svgWidth -
this.dCtx.lgWidthForSideLegends -
this.dCtx.yAxisWidth -
this.dCtx.gridPad.left -
this.dCtx.gridPad.right &&
0 !== e.config.xaxis.labels.rotate) ||
e.config.xaxis.labels.rotateAlways)
) {
if (!e.globals.isBarHorizontal) {
e.globals.rotateXLabels = !0;
var g = function (t) {
return h.getTextRects(
t,
e.config.xaxis.labels.style
.fontSize,
e.config.xaxis.labels.style
.fontFamily,
"rotate(".concat(
e.config.xaxis.labels
.rotate,
" 0 0)"
),
!1
);
};
(c = g(r)),
r !== o && (d = g(o)),
(t.height =
(c.height > d.height
? c.height
: d.height) / 1.5),
(t.width =
c.width > d.width
? c.width
: d.width);
}
} else e.globals.rotateXLabels = !1;
}
return (
e.config.xaxis.labels.show ||
(t = { width: 0, height: 0 }),
{ width: t.width, height: t.height }
);
},
},
{
key: "getxAxisGroupLabelsCoords",
value: function () {
var t,
e = this.w;
if (!e.globals.hasXaxisGroups)
return { width: 0, height: 0 };
var i,
a =
(null ===
(t = e.config.xaxis.group.style) ||
void 0 === t
? void 0
: t.fontSize) ||
e.config.xaxis.labels.style.fontSize,
s = e.globals.groups.map(function (t) {
return t.title;
}),
r = x.getLargestStringFromArr(s),
o =
this.dCtx.dimHelpers.getLargestStringFromMultiArr(
r,
s
),
n = new m(this.dCtx.ctx),
l = n.getTextRects(r, a),
h = l;
return (
r !== o && (h = n.getTextRects(o, a)),
(i = {
width:
l.width >= h.width ? l.width : h.width,
height:
l.height >= h.height
? l.height
: h.height,
}),
e.config.xaxis.labels.show ||
(i = { width: 0, height: 0 }),
{ width: i.width, height: i.height }
);
},
},
{
key: "getxAxisTitleCoords",
value: function () {
var t = this.w,
e = 0,
i = 0;
if (void 0 !== t.config.xaxis.title.text) {
var a = new m(this.dCtx.ctx).getTextRects(
t.config.xaxis.title.text,
t.config.xaxis.title.style.fontSize
);
(e = a.width), (i = a.height);
}
return { width: e, height: i };
},
},
{
key: "getxAxisTimeScaleLabelsCoords",
value: function () {
var t,
e = this.w;
this.dCtx.timescaleLabels =
e.globals.timescaleLabels.slice();
var i = this.dCtx.timescaleLabels.map(function (t) {
return t.value;
}),
a = i.reduce(function (t, e) {
return void 0 === t
? (console.error(
"You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"
),
0)
: t.length > e.length
? t
: e;
}, 0);
return (
1.05 *
(t = new m(this.dCtx.ctx).getTextRects(
a,
e.config.xaxis.labels.style.fontSize
)).width *
i.length >
e.globals.gridWidth &&
0 !== e.config.xaxis.labels.rotate &&
(e.globals.overlappingXLabels = !0),
t
);
},
},
{
key: "additionalPaddingXLabels",
value: function (t) {
var e = this,
i = this.w,
a = i.globals,
s = i.config,
r = s.xaxis.type,
o = t.width;
(a.skipLastTimelinelabel = !1),
(a.skipFirstTimelinelabel = !1);
var n =
i.config.yaxis[0].opposite &&
i.globals.isBarHorizontal,
l = function (t, n) {
(s.yaxis.length > 1 &&
(function (t) {
return (
-1 !==
a.collapsedSeriesIndices.indexOf(
t
)
);
})(n)) ||
(function (t) {
if (
e.dCtx.timescaleLabels &&
e.dCtx.timescaleLabels.length
) {
var n =
e.dCtx
.timescaleLabels[0],
l =
e.dCtx.timescaleLabels[
e.dCtx
.timescaleLabels
.length - 1
].position +
o / 1.75 -
e.dCtx.yAxisWidthRight,
h =
n.position -
o / 1.75 +
e.dCtx.yAxisWidthLeft,
c =
"right" ===
i.config.legend
.position &&
e.dCtx.lgRect.width > 0
? e.dCtx.lgRect
.width
: 0;
l >
a.svgWidth -
a.translateX -
c &&
(a.skipLastTimelinelabel =
!0),
h <
-((t.show &&
!t.floating) ||
("bar" !==
s.chart.type &&
"candlestick" !==
s.chart.type &&
"rangeBar" !==
s.chart.type &&
"boxPlot" !==
s.chart.type)
? 10
: o / 1.75) &&
(a.skipFirstTimelinelabel =
!0);
} else
"datetime" === r
? e.dCtx.gridPad.right <
o &&
!a.rotateXLabels &&
(a.skipLastTimelinelabel =
!0)
: "datetime" !== r &&
e.dCtx.gridPad.right <
o / 2 -
e.dCtx
.yAxisWidthRight &&
!a.rotateXLabels &&
!i.config.xaxis.labels
.trim &&
("between" !==
i.config.xaxis
.tickPlacement ||
i.globals
.isBarHorizontal) &&
(e.dCtx.xPadRight =
o / 2 + 1);
})(t);
};
s.yaxis.forEach(function (t, i) {
n
? (e.dCtx.gridPad.left < o &&
(e.dCtx.xPadLeft = o / 2 + 1),
(e.dCtx.xPadRight = o / 2 + 1))
: l(t, i);
});
},
},
]),
t
);
})(),
st = (function () {
function t(e) {
a(this, t), (this.w = e.w), (this.dCtx = e);
}
return (
r(t, [
{
key: "getyAxisLabelsCoords",
value: function () {
var t = this,
e = this.w,
i = [],
a = 10,
s = new B(this.dCtx.ctx);
return (
e.config.yaxis.map(function (r, o) {
var n = {
seriesIndex: o,
dataPointIndex: -1,
w: e,
},
l = e.globals.yAxisScale[o],
h = 0;
if (
(!s.isYAxisHidden(o) &&
r.labels.show &&
void 0 !== r.labels.minWidth &&
(h = r.labels.minWidth),
!s.isYAxisHidden(o) &&
r.labels.show &&
l.result.length)
) {
var c = e.globals.yLabelFormatters[o],
d =
l.niceMin === Number.MIN_VALUE
? 0
: l.niceMin,
g = l.result.reduce(function (
t,
e
) {
var i, a;
return (null ===
(i = String(c(t, n))) ||
void 0 === i
? void 0
: i.length) >
(null ===
(a = String(c(e, n))) ||
void 0 === a
? void 0
: a.length)
? t
: e;
},
d),
u = (g = c(g, n));
if (
((void 0 !== g && 0 !== g.length) ||
(g = l.niceMax),
e.globals.isBarHorizontal)
) {
a = 0;
var p = e.globals.labels.slice();
(g = x.getLargestStringFromArr(p)),
(g = c(g, {
seriesIndex: o,
dataPointIndex: -1,
w: e,
})),
(u =
t.dCtx.dimHelpers.getLargestStringFromMultiArr(
g,
p
));
}
var f = new m(t.dCtx.ctx),
b = "rotate(".concat(
r.labels.rotate,
" 0 0)"
),
v = f.getTextRects(
g,
r.labels.style.fontSize,
r.labels.style.fontFamily,
b,
!1
),
y = v;
g !== u &&
(y = f.getTextRects(
u,
r.labels.style.fontSize,
r.labels.style.fontFamily,
b,
!1
)),
i.push({
width:
(h > y.width || h > v.width
? h
: y.width > v.width
? y.width
: v.width) + a,
height:
y.height > v.height
? y.height
: v.height,
});
} else i.push({ width: 0, height: 0 });
}),
i
);
},
},
{
key: "getyAxisTitleCoords",
value: function () {
var t = this,
e = this.w,
i = [];
return (
e.config.yaxis.map(function (e, a) {
if (e.show && void 0 !== e.title.text) {
var s = new m(t.dCtx.ctx),
r = "rotate(".concat(
e.title.rotate,
" 0 0)"
),
o = s.getTextRects(
e.title.text,
e.title.style.fontSize,
e.title.style.fontFamily,
r,
!1
);
i.push({
width: o.width,
height: o.height,
});
} else i.push({ width: 0, height: 0 });
}),
i
);
},
},
{
key: "getTotalYAxisWidth",
value: function () {
var t = this.w,
e = 0,
i = 0,
a = 0,
s = t.globals.yAxisScale.length > 1 ? 10 : 0,
r = new B(this.dCtx.ctx),
o = function (o, n) {
var l = t.config.yaxis[n].floating,
h = 0;
o.width > 0 && !l
? ((h = o.width + s),
(function (e) {
return (
t.globals.ignoreYAxisIndexes.indexOf(
e
) > -1
);
})(n) && (h = h - o.width - s))
: (h = l || r.isYAxisHidden(n) ? 0 : 5),
t.config.yaxis[n].opposite
? (a += h)
: (i += h),
(e += h);
};
return (
t.globals.yLabelsCoords.map(function (t, e) {
o(t, e);
}),
t.globals.yTitleCoords.map(function (t, e) {
o(t, e);
}),
t.globals.isBarHorizontal &&
!t.config.yaxis[0].floating &&
(e =
t.globals.yLabelsCoords[0].width +
t.globals.yTitleCoords[0].width +
15),
(this.dCtx.yAxisWidthLeft = i),
(this.dCtx.yAxisWidthRight = a),
e
);
},
},
]),
t
);
})(),
rt = (function () {
function t(e) {
a(this, t), (this.w = e.w), (this.dCtx = e);
}
return (
r(t, [
{
key: "gridPadForColumnsInNumericAxis",
value: function (t) {
var e = this.w;
if (
e.globals.noData ||
e.globals.allSeriesCollapsed
)
return 0;
var i = function (t) {
return (
"bar" === t ||
"rangeBar" === t ||
"candlestick" === t ||
"boxPlot" === t
);
},
a = e.config.chart.type,
s = 0,
r = i(a) ? e.config.series.length : 1;
if (
(e.globals.comboBarCount > 0 &&
(r = e.globals.comboBarCount),
e.globals.collapsedSeries.forEach(function (t) {
i(t.type) && (r -= 1);
}),
e.config.chart.stacked && (r = 1),
(i(a) || e.globals.comboBarCount > 0) &&
e.globals.isXNumeric &&
!e.globals.isBarHorizontal &&
r > 0)
) {
var o,
n,
l = Math.abs(
e.globals.initialMaxX -
e.globals.initialMinX
);
l <= 3 && (l = e.globals.dataPoints),
(o = l / t),
e.globals.minXDiff &&
e.globals.minXDiff / o > 0 &&
(n = e.globals.minXDiff / o),
n > t / 2 && (n /= 2),
(s =
((n / r) *
parseInt(
e.config.plotOptions.bar
.columnWidth,
10
)) /
100) < 1 && (s = 1),
(s = s / (r > 1 ? 1 : 1.5) + 5),
(e.globals.barPadForNumericAxis = s);
}
return s;
},
},
{
key: "gridPadFortitleSubtitle",
value: function () {
var t = this,
e = this.w,
i = e.globals,
a =
this.dCtx.isSparkline ||
!e.globals.axisCharts
? 0
: 10;
["title", "subtitle"].forEach(function (i) {
void 0 !== e.config[i].text
? (a += e.config[i].margin)
: (a +=
t.dCtx.isSparkline ||
!e.globals.axisCharts
? 0
: 5);
}),
!e.config.legend.show ||
"bottom" !== e.config.legend.position ||
e.config.legend.floating ||
e.globals.axisCharts ||
(a += 10);
var s =
this.dCtx.dimHelpers.getTitleSubtitleCoords(
"title"
),
r =
this.dCtx.dimHelpers.getTitleSubtitleCoords(
"subtitle"
);
(i.gridHeight =
i.gridHeight - s.height - r.height - a),
(i.translateY =
i.translateY + s.height + r.height + a);
},
},
{
key: "setGridXPosForDualYAxis",
value: function (t, e) {
var i = this.w,
a = new B(this.dCtx.ctx);
i.config.yaxis.map(function (s, r) {
-1 !==
i.globals.ignoreYAxisIndexes.indexOf(r) ||
s.floating ||
a.isYAxisHidden(r) ||
(s.opposite &&
(i.globals.translateX =
i.globals.translateX -
(e[r].width + t[r].width) -
parseInt(
i.config.yaxis[r].labels.style
.fontSize,
10
) /
1.2 -
12),
i.globals.translateX < 2 &&
(i.globals.translateX = 2));
});
},
},
]),
t
);
})(),
ot = (function () {
function t(e) {
a(this, t),
(this.ctx = e),
(this.w = e.w),
(this.lgRect = {}),
(this.yAxisWidth = 0),
(this.yAxisWidthLeft = 0),
(this.yAxisWidthRight = 0),
(this.xAxisHeight = 0),
(this.isSparkline = this.w.config.chart.sparkline.enabled),
(this.dimHelpers = new it(this)),
(this.dimYAxis = new st(this)),
(this.dimXAxis = new at(this)),
(this.dimGrid = new rt(this)),
(this.lgWidthForSideLegends = 0),
(this.gridPad = this.w.config.grid.padding),
(this.xPadRight = 0),
(this.xPadLeft = 0);
}
return (
r(t, [
{
key: "plotCoords",
value: function () {
var t = this,
e = this.w,
i = e.globals;
(this.lgRect = this.dimHelpers.getLegendsRect()),
this.isSparkline &&
(e.config.markers.discrete.length > 0 ||
e.config.markers.size > 0) &&
Object.entries(this.gridPad).forEach(
function (e) {
var i = g(e, 2),
a = i[0],
s = i[1];
t.gridPad[a] = Math.max(
s,
t.w.globals.markers
.largestSize / 1.5
);
}
),
i.axisCharts
? this.setDimensionsForAxisCharts()
: this.setDimensionsForNonAxisCharts(),
this.dimGrid.gridPadFortitleSubtitle(),
(i.gridHeight =
i.gridHeight -
this.gridPad.top -
this.gridPad.bottom),
(i.gridWidth =
i.gridWidth -
this.gridPad.left -
this.gridPad.right -
this.xPadRight -
this.xPadLeft);
var a = this.dimGrid.gridPadForColumnsInNumericAxis(
i.gridWidth
);
(i.gridWidth = i.gridWidth - 2 * a),
(i.translateX =
i.translateX +
this.gridPad.left +
this.xPadLeft +
(a > 0 ? a + 4 : 0)),
(i.translateY =
i.translateY + this.gridPad.top);
},
},
{
key: "setDimensionsForAxisCharts",
value: function () {
var t = this,
e = this.w,
i = e.globals,
a = this.dimYAxis.getyAxisLabelsCoords(),
s = this.dimYAxis.getyAxisTitleCoords();
(e.globals.yLabelsCoords = []),
(e.globals.yTitleCoords = []),
e.config.yaxis.map(function (t, i) {
e.globals.yLabelsCoords.push({
width: a[i].width,
index: i,
}),
e.globals.yTitleCoords.push({
width: s[i].width,
index: i,
});
}),
(this.yAxisWidth =
this.dimYAxis.getTotalYAxisWidth());
var r = this.dimXAxis.getxAxisLabelsCoords(),
o = this.dimXAxis.getxAxisGroupLabelsCoords(),
n = this.dimXAxis.getxAxisTitleCoords();
this.conditionalChecksForAxisCoords(r, n, o),
(i.translateXAxisY = e.globals.rotateXLabels
? this.xAxisHeight / 8
: -4),
(i.translateXAxisX =
e.globals.rotateXLabels &&
e.globals.isXNumeric &&
e.config.xaxis.labels.rotate <= -45
? -this.xAxisWidth / 4
: 0),
e.globals.isBarHorizontal &&
((i.rotateXLabels = !1),
(i.translateXAxisY =
(parseInt(
e.config.xaxis.labels.style
.fontSize,
10
) /
1.5) *
-1)),
(i.translateXAxisY =
i.translateXAxisY +
e.config.xaxis.labels.offsetY),
(i.translateXAxisX =
i.translateXAxisX +
e.config.xaxis.labels.offsetX);
var l = this.yAxisWidth,
h = this.xAxisHeight;
(i.xAxisLabelsHeight = this.xAxisHeight - n.height),
(i.xAxisGroupLabelsHeight =
i.xAxisLabelsHeight - r.height),
(i.xAxisLabelsWidth = this.xAxisWidth),
(i.xAxisHeight = this.xAxisHeight);
var c = 10;
("radar" === e.config.chart.type ||
this.isSparkline) &&
((l = 0), (h = i.goldenPadding)),
this.isSparkline &&
(this.lgRect = { height: 0, width: 0 }),
(this.isSparkline ||
"treemap" === e.config.chart.type) &&
((l = 0), (h = 0), (c = 0)),
this.isSparkline ||
this.dimXAxis.additionalPaddingXLabels(r);
var d = function () {
(i.translateX = l),
(i.gridHeight =
i.svgHeight -
t.lgRect.height -
h -
(t.isSparkline ||
"treemap" === e.config.chart.type
? 0
: e.globals.rotateXLabels
? 10
: 15)),
(i.gridWidth = i.svgWidth - l);
};
switch (
("top" === e.config.xaxis.position &&
(c =
i.xAxisHeight -
e.config.xaxis.axisTicks.height -
5),
e.config.legend.position)
) {
case "bottom":
(i.translateY = c), d();
break;
case "top":
(i.translateY = this.lgRect.height + c),
d();
break;
case "left":
(i.translateY = c),
(i.translateX = this.lgRect.width + l),
(i.gridHeight = i.svgHeight - h - 12),
(i.gridWidth =
i.svgWidth - this.lgRect.width - l);
break;
case "right":
(i.translateY = c),
(i.translateX = l),
(i.gridHeight = i.svgHeight - h - 12),
(i.gridWidth =
i.svgWidth -
this.lgRect.width -
l -
5);
break;
default:
throw new Error(
"Legend position not supported"
);
}
this.dimGrid.setGridXPosForDualYAxis(s, a),
new q(this.ctx).setYAxisXPosition(a, s);
},
},
{
key: "setDimensionsForNonAxisCharts",
value: function () {
var t = this.w,
e = t.globals,
i = t.config,
a = 0;
t.config.legend.show &&
!t.config.legend.floating &&
(a = 20);
var s =
"pie" === i.chart.type ||
"polarArea" === i.chart.type ||
"donut" === i.chart.type
? "pie"
: "radialBar",
r = i.plotOptions[s].offsetY,
o = i.plotOptions[s].offsetX;
if (!i.legend.show || i.legend.floating)
return (
(e.gridHeight =
e.svgHeight -
i.grid.padding.left +
i.grid.padding.right),
(e.gridWidth = e.gridHeight),
(e.translateY = r),
void (e.translateX =
o + (e.svgWidth - e.gridWidth) / 2)
);
switch (i.legend.position) {
case "bottom":
(e.gridHeight =
e.svgHeight -
this.lgRect.height -
e.goldenPadding),
(e.gridWidth = e.svgWidth),
(e.translateY = r - 10),
(e.translateX =
o + (e.svgWidth - e.gridWidth) / 2);
break;
case "top":
(e.gridHeight =
e.svgHeight -
this.lgRect.height -
e.goldenPadding),
(e.gridWidth = e.svgWidth),
(e.translateY =
this.lgRect.height + r + 10),
(e.translateX =
o + (e.svgWidth - e.gridWidth) / 2);
break;
case "left":
(e.gridWidth =
e.svgWidth - this.lgRect.width - a),
(e.gridHeight =
"auto" !== i.chart.height
? e.svgHeight
: e.gridWidth),
(e.translateY = r),
(e.translateX =
o + this.lgRect.width + a);
break;
case "right":
(e.gridWidth =
e.svgWidth - this.lgRect.width - a - 5),
(e.gridHeight =
"auto" !== i.chart.height
? e.svgHeight
: e.gridWidth),
(e.translateY = r),
(e.translateX = o + 10);
break;
default:
throw new Error(
"Legend position not supported"
);
}
},
},
{
key: "conditionalChecksForAxisCoords",
value: function (t, e, i) {
var a = this.w,
s = a.globals.hasXaxisGroups ? 2 : 1,
r = i.height + t.height + e.height,
o = a.globals.isMultiLineX
? 1.2
: a.globals.LINE_HEIGHT_RATIO,
n = a.globals.rotateXLabels ? 22 : 10,
l =
a.globals.rotateXLabels &&
"bottom" === a.config.legend.position
? 10
: 0;
(this.xAxisHeight = r * o + s * n + l),
(this.xAxisWidth = t.width),
this.xAxisHeight - e.height >
a.config.xaxis.labels.maxHeight &&
(this.xAxisHeight =
a.config.xaxis.labels.maxHeight),
a.config.xaxis.labels.minHeight &&
this.xAxisHeight <
a.config.xaxis.labels.minHeight &&
(this.xAxisHeight =
a.config.xaxis.labels.minHeight),
a.config.xaxis.floating &&
(this.xAxisHeight = 0);
var h = 0,
c = 0;
a.config.yaxis.forEach(function (t) {
(h += t.labels.minWidth),
(c += t.labels.maxWidth);
}),
this.yAxisWidth < h && (this.yAxisWidth = h),
this.yAxisWidth > c && (this.yAxisWidth = c);
},
},
]),
t
);
})(),
nt = (function () {
function t(e) {
a(this, t), (this.w = e.w), (this.lgCtx = e);
}
return (
r(t, [
{
key: "getLegendStyles",
value: function () {
var t = document.createElement("style");
t.setAttribute("type", "text/css");
var e = document.createTextNode(
"\t\n \t\n .apexcharts-legend {\t\n display: flex;\t\n overflow: auto;\t\n padding: 0 10px;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\t\n flex-wrap: wrap\t\n }\t\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\t\n flex-direction: column;\t\n bottom: 0;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\t\n justify-content: flex-start;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\t\n justify-content: center; \t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\t\n justify-content: flex-end;\t\n }\t\n .apexcharts-legend-series {\t\n cursor: pointer;\t\n line-height: normal;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom .apexcharts-legend-series, .apexcharts-legend.apx-legend-position-top .apexcharts-legend-series{\t\n display: flex;\t\n align-items: center;\t\n }\t\n .apexcharts-legend-text {\t\n position: relative;\t\n font-size: 14px;\t\n }\t\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\t\n pointer-events: none;\t\n }\t\n .apexcharts-legend-marker {\t\n position: relative;\t\n display: inline-block;\t\n cursor: pointer;\t\n margin-right: 3px;\t\n border-style: solid;\n }\t\n \t\n .apexcharts-legend.apexcharts-align-right .apexcharts-legend-series, .apexcharts-legend.apexcharts-align-left .apexcharts-legend-series{\t\n display: inline-block;\t\n }\t\n .apexcharts-legend-series.apexcharts-no-click {\t\n cursor: auto;\t\n }\t\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\t\n display: none !important;\t\n }\t\n .apexcharts-inactive-legend {\t\n opacity: 0.45;\t\n }"
);
return t.appendChild(e), t;
},
},
{
key: "getLegendBBox",
value: function () {
var t = this.w.globals.dom.baseEl
.querySelector(".apexcharts-legend")
.getBoundingClientRect(),
e = t.width;
return { clwh: t.height, clww: e };
},
},
{
key: "appendToForeignObject",
value: function () {
this.w.globals.dom.elLegendForeign.appendChild(
this.getLegendStyles()
);
},
},
{
key: "toggleDataSeries",
value: function (t, e) {
var i = this,
a = this.w;
if (
a.globals.axisCharts ||
"radialBar" === a.config.chart.type
) {
a.globals.resized = !0;
var s = null,
r = null;
if (
((a.globals.risingSeries = []),
a.globals.axisCharts
? ((s =
a.globals.dom.baseEl.querySelector(
".apexcharts-series[data\\:realIndex='".concat(
t,
"']"
)
)),
(r = parseInt(
s.getAttribute("data:realIndex"),
10
)))
: ((s =
a.globals.dom.baseEl.querySelector(
".apexcharts-series[rel='".concat(
t + 1,
"']"
)
)),
(r =
parseInt(
s.getAttribute("rel"),
10
) - 1)),
e)
)
[
{
cs: a.globals.collapsedSeries,
csi: a.globals
.collapsedSeriesIndices,
},
{
cs: a.globals
.ancillaryCollapsedSeries,
csi: a.globals
.ancillaryCollapsedSeriesIndices,
},
].forEach(function (t) {
i.riseCollapsedSeries(t.cs, t.csi, r);
});
else
this.hideSeries({
seriesEl: s,
realIndex: r,
});
} else {
var o = a.globals.dom.Paper.select(
" .apexcharts-series[rel='".concat(
t + 1,
"'] path"
)
),
n = a.config.chart.type;
if (
"pie" === n ||
"polarArea" === n ||
"donut" === n
) {
var l =
a.config.plotOptions.pie.donut.labels;
new m(this.lgCtx.ctx).pathMouseDown(
o.members[0],
null
),
this.lgCtx.ctx.pie.printDataLabelsInner(
o.members[0].node,
l
);
}
o.fire("click");
}
},
},
{
key: "hideSeries",
value: function (t) {
var e = t.seriesEl,
i = t.realIndex,
a = this.w,
s = x.clone(a.config.series);
if (a.globals.axisCharts) {
var r = !1;
if (
(a.config.yaxis[i] &&
a.config.yaxis[i].show &&
a.config.yaxis[i].showAlways &&
((r = !0),
a.globals.ancillaryCollapsedSeriesIndices.indexOf(
i
) < 0 &&
(a.globals.ancillaryCollapsedSeries.push(
{
index: i,
data: s[i].data.slice(),
type: e.parentNode.className.baseVal.split(
"-"
)[1],
}
),
a.globals.ancillaryCollapsedSeriesIndices.push(
i
))),
!r)
) {
a.globals.collapsedSeries.push({
index: i,
data: s[i].data.slice(),
type: e.parentNode.className.baseVal.split(
"-"
)[1],
}),
a.globals.collapsedSeriesIndices.push(
i
);
var o = a.globals.risingSeries.indexOf(i);
a.globals.risingSeries.splice(o, 1);
}
} else
a.globals.collapsedSeries.push({
index: i,
data: s[i],
}),
a.globals.collapsedSeriesIndices.push(i);
for (var n = e.childNodes, l = 0; l < n.length; l++)
n[l].classList.contains(
"apexcharts-series-markers-wrap"
) &&
(n[l].classList.contains("apexcharts-hide")
? n[l].classList.remove(
"apexcharts-hide"
)
: n[l].classList.add(
"apexcharts-hide"
));
(a.globals.allSeriesCollapsed =
a.globals.collapsedSeries.length ===
a.config.series.length),
(s = this._getSeriesBasedOnCollapsedState(s)),
this.lgCtx.ctx.updateHelpers._updateSeries(
s,
a.config.chart.animations.dynamicAnimation
.enabled
);
},
},
{
key: "riseCollapsedSeries",
value: function (t, e, i) {
var a = this.w,
s = x.clone(a.config.series);
if (t.length > 0) {
for (var r = 0; r < t.length; r++)
t[r].index === i &&
(a.globals.axisCharts
? ((s[i].data = t[r].data.slice()),
t.splice(r, 1),
e.splice(r, 1),
a.globals.risingSeries.push(i))
: ((s[i] = t[r].data),
t.splice(r, 1),
e.splice(r, 1),
a.globals.risingSeries.push(i)));
(s = this._getSeriesBasedOnCollapsedState(s)),
this.lgCtx.ctx.updateHelpers._updateSeries(
s,
a.config.chart.animations
.dynamicAnimation.enabled
);
}
},
},
{
key: "_getSeriesBasedOnCollapsedState",
value: function (t) {
var e = this.w;
return (
e.globals.axisCharts
? t.forEach(function (i, a) {
e.globals.collapsedSeriesIndices.indexOf(
a
) > -1 && (t[a].data = []);
})
: t.forEach(function (i, a) {
e.globals.collapsedSeriesIndices.indexOf(
a
) > -1 && (t[a] = 0);
}),
t
);
},
},
]),
t
);
})(),
lt = (function () {
function t(e) {
a(this, t),
(this.ctx = e),
(this.w = e.w),
(this.onLegendClick = this.onLegendClick.bind(this)),
(this.onLegendHovered = this.onLegendHovered.bind(this)),
(this.isBarsDistributed =
"bar" === this.w.config.chart.type &&
this.w.config.plotOptions.bar.distributed &&
1 === this.w.config.series.length),
(this.legendHelpers = new nt(this));
}
return (
r(t, [
{
key: "init",
value: function () {
var t = this.w,
e = t.globals,
i = t.config;
if (
((i.legend.showForSingleSeries &&
1 === e.series.length) ||
this.isBarsDistributed ||
e.series.length > 1 ||
!e.axisCharts) &&
i.legend.show
) {
for (; e.dom.elLegendWrap.firstChild; )
e.dom.elLegendWrap.removeChild(
e.dom.elLegendWrap.firstChild
);
this.drawLegends(),
x.isIE11()
? document
.getElementsByTagName("head")[0]
.appendChild(
this.legendHelpers.getLegendStyles()
)
: this.legendHelpers.appendToForeignObject(),
"bottom" === i.legend.position ||
"top" === i.legend.position
? this.legendAlignHorizontal()
: ("right" !== i.legend.position &&
"left" !== i.legend.position) ||
this.legendAlignVertical();
}
},
},
{
key: "drawLegends",
value: function () {
var t = this,
e = this.w,
i = e.config.legend.fontFamily,
a = e.globals.seriesNames,
s = e.globals.colors.slice();
if ("heatmap" === e.config.chart.type) {
var r =
e.config.plotOptions.heatmap.colorScale
.ranges;
(a = r.map(function (t) {
return t.name
? t.name
: t.from + " - " + t.to;
})),
(s = r.map(function (t) {
return t.color;
}));
} else
this.isBarsDistributed &&
(a = e.globals.labels.slice());
e.config.legend.customLegendItems.length &&
(a = e.config.legend.customLegendItems);
for (
var o = e.globals.legendFormatter,
n = e.config.legend.inverseOrder,
l = n ? a.length - 1 : 0;
n ? l >= 0 : l <= a.length - 1;
n ? l-- : l++
) {
var h,
c = o(a[l], { seriesIndex: l, w: e }),
d = !1,
g = !1;
if (e.globals.collapsedSeries.length > 0)
for (
var u = 0;
u < e.globals.collapsedSeries.length;
u++
)
e.globals.collapsedSeries[u].index ===
l && (d = !0);
if (
e.globals.ancillaryCollapsedSeriesIndices
.length > 0
)
for (
var p = 0;
p <
e.globals
.ancillaryCollapsedSeriesIndices
.length;
p++
)
e.globals
.ancillaryCollapsedSeriesIndices[
p
] === l && (g = !0);
var f = document.createElement("span");
f.classList.add("apexcharts-legend-marker");
var b = e.config.legend.markers.offsetX,
v = e.config.legend.markers.offsetY,
w = e.config.legend.markers.height,
k = e.config.legend.markers.width,
A = e.config.legend.markers.strokeWidth,
S = e.config.legend.markers.strokeColor,
C = e.config.legend.markers.radius,
L = f.style;
(L.background = s[l]),
(L.color = s[l]),
L.setProperty(
"background",
s[l],
"important"
),
e.config.legend.markers.fillColors &&
e.config.legend.markers.fillColors[l] &&
(L.background =
e.config.legend.markers.fillColors[
l
]),
void 0 !== e.globals.seriesColors[l] &&
((L.background =
e.globals.seriesColors[l]),
(L.color = e.globals.seriesColors[l])),
(L.height = Array.isArray(w)
? parseFloat(w[l]) + "px"
: parseFloat(w) + "px"),
(L.width = Array.isArray(k)
? parseFloat(k[l]) + "px"
: parseFloat(k) + "px"),
(L.left =
(Array.isArray(b)
? parseFloat(b[l])
: parseFloat(b)) + "px"),
(L.top =
(Array.isArray(v)
? parseFloat(v[l])
: parseFloat(v)) + "px"),
(L.borderWidth = Array.isArray(A)
? A[l]
: A),
(L.borderColor = Array.isArray(S)
? S[l]
: S),
(L.borderRadius = Array.isArray(C)
? parseFloat(C[l]) + "px"
: parseFloat(C) + "px"),
e.config.legend.markers.customHTML &&
(Array.isArray(
e.config.legend.markers.customHTML
)
? e.config.legend.markers
.customHTML[l] &&
(f.innerHTML =
e.config.legend.markers.customHTML[
l
]())
: (f.innerHTML =
e.config.legend.markers.customHTML())),
m.setAttrs(f, {
rel: l + 1,
"data:collapsed": d || g,
}),
(d || g) &&
f.classList.add(
"apexcharts-inactive-legend"
);
var P = document.createElement("div"),
I = document.createElement("span");
I.classList.add("apexcharts-legend-text"),
(I.innerHTML = Array.isArray(c)
? c.join(" ")
: c);
var T = e.config.legend.labels.useSeriesColors
? e.globals.colors[l]
: Array.isArray(
e.config.legend.labels.colors
)
? null ===
(h = e.config.legend.labels.colors) ||
void 0 === h
? void 0
: h[l]
: e.config.legend.labels.colors;
T || (T = e.config.chart.foreColor),
(I.style.color = T),
(I.style.fontSize =
parseFloat(e.config.legend.fontSize) +
"px"),
(I.style.fontWeight =
e.config.legend.fontWeight),
(I.style.fontFamily =
i || e.config.chart.fontFamily),
m.setAttrs(I, {
rel: l + 1,
i: l,
"data:default-text":
encodeURIComponent(c),
"data:collapsed": d || g,
}),
P.appendChild(f),
P.appendChild(I);
var M = new y(this.ctx);
if (!e.config.legend.showForZeroSeries)
0 === M.getSeriesTotalByIndex(l) &&
M.seriesHaveSameValues(l) &&
!M.isSeriesNull(l) &&
-1 ===
e.globals.collapsedSeriesIndices.indexOf(
l
) &&
-1 ===
e.globals.ancillaryCollapsedSeriesIndices.indexOf(
l
) &&
P.classList.add(
"apexcharts-hidden-zero-series"
);
e.config.legend.showForNullSeries ||
(M.isSeriesNull(l) &&
-1 ===
e.globals.collapsedSeriesIndices.indexOf(
l
) &&
-1 ===
e.globals.ancillaryCollapsedSeriesIndices.indexOf(
l
) &&
P.classList.add(
"apexcharts-hidden-null-series"
)),
e.globals.dom.elLegendWrap.appendChild(P),
e.globals.dom.elLegendWrap.classList.add(
"apexcharts-align-".concat(
e.config.legend.horizontalAlign
)
),
e.globals.dom.elLegendWrap.classList.add(
"apx-legend-position-" +
e.config.legend.position
),
P.classList.add("apexcharts-legend-series"),
(P.style.margin = ""
.concat(
e.config.legend.itemMargin.vertical,
"px "
)
.concat(
e.config.legend.itemMargin
.horizontal,
"px"
)),
(e.globals.dom.elLegendWrap.style.width = e
.config.legend.width
? e.config.legend.width + "px"
: ""),
(e.globals.dom.elLegendWrap.style.height = e
.config.legend.height
? e.config.legend.height + "px"
: ""),
m.setAttrs(P, {
rel: l + 1,
seriesName: x.escapeString(a[l]),
"data:collapsed": d || g,
}),
(d || g) &&
P.classList.add(
"apexcharts-inactive-legend"
),
e.config.legend.onItemClick
.toggleDataSeries ||
P.classList.add("apexcharts-no-click");
}
e.globals.dom.elWrap.addEventListener(
"click",
t.onLegendClick,
!0
),
e.config.legend.onItemHover
.highlightDataSeries &&
0 ===
e.config.legend.customLegendItems
.length &&
(e.globals.dom.elWrap.addEventListener(
"mousemove",
t.onLegendHovered,
!0
),
e.globals.dom.elWrap.addEventListener(
"mouseout",
t.onLegendHovered,
!0
));
},
},
{
key: "setLegendWrapXY",
value: function (t, e) {
var i = this.w,
a = i.globals.dom.elLegendWrap,
s = a.getBoundingClientRect(),
r = 0,
o = 0;
if ("bottom" === i.config.legend.position)
o += i.globals.svgHeight - s.height / 2;
else if ("top" === i.config.legend.position) {
var n = new ot(this.ctx),
l =
n.dimHelpers.getTitleSubtitleCoords(
"title"
).height,
h =
n.dimHelpers.getTitleSubtitleCoords(
"subtitle"
).height;
o =
o +
(l > 0 ? l - 10 : 0) +
(h > 0 ? h - 10 : 0);
}
(a.style.position = "absolute"),
(r = r + t + i.config.legend.offsetX),
(o = o + e + i.config.legend.offsetY),
(a.style.left = r + "px"),
(a.style.top = o + "px"),
"bottom" === i.config.legend.position
? ((a.style.top = "auto"),
(a.style.bottom =
5 - i.config.legend.offsetY + "px"))
: "right" === i.config.legend.position &&
((a.style.left = "auto"),
(a.style.right =
25 + i.config.legend.offsetX + "px"));
["width", "height"].forEach(function (t) {
a.style[t] &&
(a.style[t] =
parseInt(i.config.legend[t], 10) +
"px");
});
},
},
{
key: "legendAlignHorizontal",
value: function () {
var t = this.w;
t.globals.dom.elLegendWrap.style.right = 0;
var e = this.legendHelpers.getLegendBBox(),
i = new ot(this.ctx),
a =
i.dimHelpers.getTitleSubtitleCoords(
"title"
),
s =
i.dimHelpers.getTitleSubtitleCoords(
"subtitle"
),
r = 0;
"bottom" === t.config.legend.position
? (r = -e.clwh / 1.8)
: "top" === t.config.legend.position &&
(r =
a.height +
s.height +
t.config.title.margin +
t.config.subtitle.margin -
10),
this.setLegendWrapXY(20, r);
},
},
{
key: "legendAlignVertical",
value: function () {
var t = this.w,
e = this.legendHelpers.getLegendBBox(),
i = 0;
"left" === t.config.legend.position && (i = 20),
"right" === t.config.legend.position &&
(i = t.globals.svgWidth - e.clww - 10),
this.setLegendWrapXY(i, 20);
},
},
{
key: "onLegendHovered",
value: function (t) {
var e = this.w,
i =
t.target.classList.contains(
"apexcharts-legend-series"
) ||
t.target.classList.contains(
"apexcharts-legend-text"
) ||
t.target.classList.contains(
"apexcharts-legend-marker"
);
if (
"heatmap" === e.config.chart.type ||
this.isBarsDistributed
) {
if (i) {
var a =
parseInt(
t.target.getAttribute("rel"),
10
) - 1;
this.ctx.events.fireEvent("legendHover", [
this.ctx,
a,
this.w,
]),
new N(this.ctx).highlightRangeInSeries(
t,
t.target
);
}
} else
!t.target.classList.contains(
"apexcharts-inactive-legend"
) &&
i &&
new N(this.ctx).toggleSeriesOnHover(
t,
t.target
);
},
},
{
key: "onLegendClick",
value: function (t) {
var e = this.w;
if (
!e.config.legend.customLegendItems.length &&
(t.target.classList.contains(
"apexcharts-legend-series"
) ||
t.target.classList.contains(
"apexcharts-legend-text"
) ||
t.target.classList.contains(
"apexcharts-legend-marker"
))
) {
var i =
parseInt(
t.target.getAttribute("rel"),
10
) - 1,
a =
"true" ===
t.target.getAttribute("data:collapsed"),
s = this.w.config.chart.events.legendClick;
"function" == typeof s &&
s(this.ctx, i, this.w),
this.ctx.events.fireEvent("legendClick", [
this.ctx,
i,
this.w,
]);
var r = this.w.config.legend.markers.onClick;
"function" == typeof r &&
t.target.classList.contains(
"apexcharts-legend-marker"
) &&
(r(this.ctx, i, this.w),
this.ctx.events.fireEvent(
"legendMarkerClick",
[this.ctx, i, this.w]
)),
"treemap" !== e.config.chart.type &&
"heatmap" !== e.config.chart.type &&
!this.isBarsDistributed &&
e.config.legend.onItemClick
.toggleDataSeries &&
this.legendHelpers.toggleDataSeries(
i,
a
);
}
},
},
]),
t
);
})(),
ht = (function () {
function t(e) {
a(this, t), (this.ctx = e), (this.w = e.w);
var i = this.w;
(this.ev = this.w.config.chart.events),
(this.selectedClass = "apexcharts-selected"),
(this.localeValues = this.w.globals.locale.toolbar),
(this.minX = i.globals.minX),
(this.maxX = i.globals.maxX);
}
return (
r(t, [
{
key: "createToolbar",
value: function () {
var t = this,
e = this.w,
i = function () {
return document.createElement("div");
},
a = i();
if (
(a.setAttribute("class", "apexcharts-toolbar"),
(a.style.top =
e.config.chart.toolbar.offsetY + "px"),
(a.style.right =
3 - e.config.chart.toolbar.offsetX + "px"),
e.globals.dom.elWrap.appendChild(a),
(this.elZoom = i()),
(this.elZoomIn = i()),
(this.elZoomOut = i()),
(this.elPan = i()),
(this.elSelection = i()),
(this.elZoomReset = i()),
(this.elMenuIcon = i()),
(this.elMenu = i()),
(this.elCustomIcons = []),
(this.t = e.config.chart.toolbar.tools),
Array.isArray(this.t.customIcons))
)
for (
var s = 0;
s < this.t.customIcons.length;
s++
)
this.elCustomIcons.push(i());
var r = [],
o = function (i, a, s) {
var o = i.toLowerCase();
t.t[o] &&
e.config.chart.zoom.enabled &&
r.push({
el: a,
icon:
"string" == typeof t.t[o]
? t.t[o]
: s,
title: t.localeValues[i],
class: "apexcharts-".concat(
o,
"-icon"
),
});
};
o(
"zoomIn",
this.elZoomIn,
'\n'
),
o(
"zoomOut",
this.elZoomOut,
'\n'
);
var n = function (i) {
t.t[i] &&
e.config.chart[i].enabled &&
r.push({
el:
"zoom" === i
? t.elZoom
: t.elSelection,
icon:
"string" == typeof t.t[i]
? t.t[i]
: "zoom" === i
? ''
: '',
title: t.localeValues[
"zoom" === i
? "selectionZoom"
: "selection"
],
class: e.globals.isTouchDevice
? "apexcharts-element-hidden"
: "apexcharts-".concat(i, "-icon"),
});
};
n("zoom"),
n("selection"),
this.t.pan &&
e.config.chart.zoom.enabled &&
r.push({
el: this.elPan,
icon:
"string" == typeof this.t.pan
? this.t.pan
: '',
title: this.localeValues.pan,
class: e.globals.isTouchDevice
? "apexcharts-element-hidden"
: "apexcharts-pan-icon",
}),
o(
"reset",
this.elZoomReset,
''
),
this.t.download &&
r.push({
el: this.elMenuIcon,
icon:
"string" == typeof this.t.download
? this.t.download
: '',
title: this.localeValues.menu,
class: "apexcharts-menu-icon",
});
for (var l = 0; l < this.elCustomIcons.length; l++)
r.push({
el: this.elCustomIcons[l],
icon: this.t.customIcons[l].icon,
title: this.t.customIcons[l].title,
index: this.t.customIcons[l].index,
class:
"apexcharts-toolbar-custom-icon " +
this.t.customIcons[l].class,
});
r.forEach(function (t, e) {
t.index && x.moveIndexInArray(r, e, t.index);
});
for (var h = 0; h < r.length; h++)
m.setAttrs(r[h].el, {
class: r[h].class,
title: r[h].title,
}),
(r[h].el.innerHTML = r[h].icon),
a.appendChild(r[h].el);
this._createHamburgerMenu(a),
e.globals.zoomEnabled
? this.elZoom.classList.add(
this.selectedClass
)
: e.globals.panEnabled
? this.elPan.classList.add(
this.selectedClass
)
: e.globals.selectionEnabled &&
this.elSelection.classList.add(
this.selectedClass
),
this.addToolbarEventListeners();
},
},
{
key: "_createHamburgerMenu",
value: function (t) {
(this.elMenuItems = []),
t.appendChild(this.elMenu),
m.setAttrs(this.elMenu, {
class: "apexcharts-menu",
});
var e = [
{
name: "exportSVG",
title: this.localeValues.exportToSVG,
},
{
name: "exportPNG",
title: this.localeValues.exportToPNG,
},
{
name: "exportCSV",
title: this.localeValues.exportToCSV,
},
];
this.w.globals.allSeriesHasEqualX || e.splice(2, 1);
for (var i = 0; i < e.length; i++)
this.elMenuItems.push(
document.createElement("div")
),
(this.elMenuItems[i].innerHTML =
e[i].title),
m.setAttrs(this.elMenuItems[i], {
class: "apexcharts-menu-item ".concat(
e[i].name
),
title: e[i].title,
}),
this.elMenu.appendChild(
this.elMenuItems[i]
);
},
},
{
key: "addToolbarEventListeners",
value: function () {
var t = this;
this.elZoomReset.addEventListener(
"click",
this.handleZoomReset.bind(this)
),
this.elSelection.addEventListener(
"click",
this.toggleZoomSelection.bind(
this,
"selection"
)
),
this.elZoom.addEventListener(
"click",
this.toggleZoomSelection.bind(this, "zoom")
),
this.elZoomIn.addEventListener(
"click",
this.handleZoomIn.bind(this)
),
this.elZoomOut.addEventListener(
"click",
this.handleZoomOut.bind(this)
),
this.elPan.addEventListener(
"click",
this.togglePanning.bind(this)
),
this.elMenuIcon.addEventListener(
"click",
this.toggleMenu.bind(this)
),
this.elMenuItems.forEach(function (e) {
e.classList.contains("exportSVG")
? e.addEventListener(
"click",
t.handleDownload.bind(t, "svg")
)
: e.classList.contains("exportPNG")
? e.addEventListener(
"click",
t.handleDownload.bind(t, "png")
)
: e.classList.contains("exportCSV") &&
e.addEventListener(
"click",
t.handleDownload.bind(t, "csv")
);
});
for (var e = 0; e < this.t.customIcons.length; e++)
this.elCustomIcons[e].addEventListener(
"click",
this.t.customIcons[e].click.bind(
this,
this.ctx,
this.ctx.w
)
);
},
},
{
key: "toggleZoomSelection",
value: function (t) {
this.ctx.getSyncedCharts().forEach(function (e) {
e.ctx.toolbar.toggleOtherControls();
var i =
"selection" === t
? e.ctx.toolbar.elSelection
: e.ctx.toolbar.elZoom,
a =
"selection" === t
? "selectionEnabled"
: "zoomEnabled";
(e.w.globals[a] = !e.w.globals[a]),
i.classList.contains(
e.ctx.toolbar.selectedClass
)
? i.classList.remove(
e.ctx.toolbar.selectedClass
)
: i.classList.add(
e.ctx.toolbar.selectedClass
);
});
},
},
{
key: "getToolbarIconsReference",
value: function () {
var t = this.w;
this.elZoom ||
(this.elZoom =
t.globals.dom.baseEl.querySelector(
".apexcharts-zoom-icon"
)),
this.elPan ||
(this.elPan =
t.globals.dom.baseEl.querySelector(
".apexcharts-pan-icon"
)),
this.elSelection ||
(this.elSelection =
t.globals.dom.baseEl.querySelector(
".apexcharts-selection-icon"
));
},
},
{
key: "enableZoomPanFromToolbar",
value: function (t) {
this.toggleOtherControls(),
"pan" === t
? (this.w.globals.panEnabled = !0)
: (this.w.globals.zoomEnabled = !0);
var e = "pan" === t ? this.elPan : this.elZoom,
i = "pan" === t ? this.elZoom : this.elPan;
e && e.classList.add(this.selectedClass),
i && i.classList.remove(this.selectedClass);
},
},
{
key: "togglePanning",
value: function () {
this.ctx.getSyncedCharts().forEach(function (t) {
t.ctx.toolbar.toggleOtherControls(),
(t.w.globals.panEnabled =
!t.w.globals.panEnabled),
t.ctx.toolbar.elPan.classList.contains(
t.ctx.toolbar.selectedClass
)
? t.ctx.toolbar.elPan.classList.remove(
t.ctx.toolbar.selectedClass
)
: t.ctx.toolbar.elPan.classList.add(
t.ctx.toolbar.selectedClass
);
});
},
},
{
key: "toggleOtherControls",
value: function () {
var t = this,
e = this.w;
(e.globals.panEnabled = !1),
(e.globals.zoomEnabled = !1),
(e.globals.selectionEnabled = !1),
this.getToolbarIconsReference(),
[
this.elPan,
this.elSelection,
this.elZoom,
].forEach(function (e) {
e && e.classList.remove(t.selectedClass);
});
},
},
{
key: "handleZoomIn",
value: function () {
var t = this.w;
t.globals.isRangeBar &&
((this.minX = t.globals.minY),
(this.maxX = t.globals.maxY));
var e = (this.minX + this.maxX) / 2,
i = (this.minX + e) / 2,
a = (this.maxX + e) / 2,
s = this._getNewMinXMaxX(i, a);
t.globals.disableZoomIn ||
this.zoomUpdateOptions(s.minX, s.maxX);
},
},
{
key: "handleZoomOut",
value: function () {
var t = this.w;
if (
(t.globals.isRangeBar &&
((this.minX = t.globals.minY),
(this.maxX = t.globals.maxY)),
!(
"datetime" === t.config.xaxis.type &&
new Date(this.minX).getUTCFullYear() < 1e3
))
) {
var e = (this.minX + this.maxX) / 2,
i = this.minX - (e - this.minX),
a = this.maxX - (e - this.maxX),
s = this._getNewMinXMaxX(i, a);
t.globals.disableZoomOut ||
this.zoomUpdateOptions(s.minX, s.maxX);
}
},
},
{
key: "_getNewMinXMaxX",
value: function (t, e) {
var i = this.w.config.xaxis.convertedCatToNumeric;
return {
minX: i ? Math.floor(t) : t,
maxX: i ? Math.floor(e) : e,
};
},
},
{
key: "zoomUpdateOptions",
value: function (t, e) {
var i = this.w;
if (void 0 !== t || void 0 !== e) {
if (
!(
i.config.xaxis.convertedCatToNumeric &&
(t < 1 &&
((t = 1),
(e = i.globals.dataPoints)),
e - t < 2)
)
) {
var a = { min: t, max: e },
s = this.getBeforeZoomRange(a);
s && (a = s.xaxis);
var r = { xaxis: a },
o = x.clone(
i.globals.initialConfig.yaxis
);
if (i.config.chart.zoom.autoScaleYaxis)
o = new _(this.ctx).autoScaleY(
this.ctx,
o,
{ xaxis: a }
);
i.config.chart.group || (r.yaxis = o),
(this.w.globals.zoomed = !0),
this.ctx.updateHelpers._updateOptions(
r,
!1,
this.w.config.chart.animations
.dynamicAnimation.enabled
),
this.zoomCallback(a, o);
}
} else this.handleZoomReset();
},
},
{
key: "zoomCallback",
value: function (t, e) {
"function" == typeof this.ev.zoomed &&
this.ev.zoomed(this.ctx, {
xaxis: t,
yaxis: e,
});
},
},
{
key: "getBeforeZoomRange",
value: function (t, e) {
var i = null;
return (
"function" == typeof this.ev.beforeZoom &&
(i = this.ev.beforeZoom(this, {
xaxis: t,
yaxis: e,
})),
i
);
},
},
{
key: "toggleMenu",
value: function () {
var t = this;
window.setTimeout(function () {
t.elMenu.classList.contains(
"apexcharts-menu-open"
)
? t.elMenu.classList.remove(
"apexcharts-menu-open"
)
: t.elMenu.classList.add(
"apexcharts-menu-open"
);
}, 0);
},
},
{
key: "handleDownload",
value: function (t) {
var e = this.w,
i = new G(this.ctx);
switch (t) {
case "svg":
i.exportToSVG(this.ctx);
break;
case "png":
i.exportToPng(this.ctx);
break;
case "csv":
i.exportToCSV({
series: e.config.series,
columnDelimiter:
e.config.chart.toolbar.export.csv
.columnDelimiter,
});
}
},
},
{
key: "handleZoomReset",
value: function (t) {
this.ctx.getSyncedCharts().forEach(function (t) {
var e = t.w;
if (
((e.globals.lastXAxis.min =
e.globals.initialConfig.xaxis.min),
(e.globals.lastXAxis.max =
e.globals.initialConfig.xaxis.max),
t.updateHelpers.revertDefaultAxisMinMax(),
"function" ==
typeof e.config.chart.events
.beforeResetZoom)
) {
var i =
e.config.chart.events.beforeResetZoom(
t,
e
);
i &&
t.updateHelpers.revertDefaultAxisMinMax(
i
);
}
"function" ==
typeof e.config.chart.events.zoomed &&
t.ctx.toolbar.zoomCallback({
min: e.config.xaxis.min,
max: e.config.xaxis.max,
}),
(e.globals.zoomed = !1);
var a = t.ctx.series.emptyCollapsedSeries(
x.clone(e.globals.initialSeries)
);
t.updateHelpers._updateSeries(
a,
e.config.chart.animations.dynamicAnimation
.enabled
);
});
},
},
{
key: "destroy",
value: function () {
(this.elZoom = null),
(this.elZoomIn = null),
(this.elZoomOut = null),
(this.elPan = null),
(this.elSelection = null),
(this.elZoomReset = null),
(this.elMenuIcon = null);
},
},
]),
t
);
})(),
ct = (function (t) {
n(i, t);
var e = d(i);
function i(t) {
var s;
return (
a(this, i),
((s = e.call(this, t)).ctx = t),
(s.w = t.w),
(s.dragged = !1),
(s.graphics = new m(s.ctx)),
(s.eventList = [
"mousedown",
"mouseleave",
"mousemove",
"touchstart",
"touchmove",
"mouseup",
"touchend",
]),
(s.clientX = 0),
(s.clientY = 0),
(s.startX = 0),
(s.endX = 0),
(s.dragX = 0),
(s.startY = 0),
(s.endY = 0),
(s.dragY = 0),
(s.moveDirection = "none"),
s
);
}
return (
r(i, [
{
key: "init",
value: function (t) {
var e = this,
i = t.xyRatios,
a = this.w,
s = this;
(this.xyRatios = i),
(this.zoomRect = this.graphics.drawRect(
0,
0,
0,
0
)),
(this.selectionRect = this.graphics.drawRect(
0,
0,
0,
0
)),
(this.gridRect =
a.globals.dom.baseEl.querySelector(
".apexcharts-grid"
)),
this.zoomRect.node.classList.add(
"apexcharts-zoom-rect"
),
this.selectionRect.node.classList.add(
"apexcharts-selection-rect"
),
a.globals.dom.elGraphical.add(this.zoomRect),
a.globals.dom.elGraphical.add(
this.selectionRect
),
"x" === a.config.chart.selection.type
? (this.slDraggableRect = this.selectionRect
.draggable({
minX: 0,
minY: 0,
maxX: a.globals.gridWidth,
maxY: a.globals.gridHeight,
})
.on(
"dragmove",
this.selectionDragging.bind(
this,
"dragging"
)
))
: "y" === a.config.chart.selection.type
? (this.slDraggableRect = this.selectionRect
.draggable({
minX: 0,
maxX: a.globals.gridWidth,
})
.on(
"dragmove",
this.selectionDragging.bind(
this,
"dragging"
)
))
: (this.slDraggableRect = this.selectionRect
.draggable()
.on(
"dragmove",
this.selectionDragging.bind(
this,
"dragging"
)
)),
this.preselectedSelection(),
(this.hoverArea =
a.globals.dom.baseEl.querySelector(
"".concat(
a.globals.chartClass,
" .apexcharts-svg"
)
)),
this.hoverArea.classList.add(
"apexcharts-zoomable"
),
this.eventList.forEach(function (t) {
e.hoverArea.addEventListener(
t,
s.svgMouseEvents.bind(s, i),
{ capture: !1, passive: !0 }
);
});
},
},
{
key: "destroy",
value: function () {
this.slDraggableRect &&
(this.slDraggableRect.draggable(!1),
this.slDraggableRect.off(),
this.selectionRect.off()),
(this.selectionRect = null),
(this.zoomRect = null),
(this.gridRect = null);
},
},
{
key: "svgMouseEvents",
value: function (t, e) {
var i = this.w,
a = this,
s = this.ctx.toolbar,
r = i.globals.zoomEnabled
? i.config.chart.zoom.type
: i.config.chart.selection.type,
o = i.config.chart.toolbar.autoSelected;
if (
(e.shiftKey
? ((this.shiftWasPressed = !0),
s.enableZoomPanFromToolbar(
"pan" === o ? "zoom" : "pan"
))
: this.shiftWasPressed &&
(s.enableZoomPanFromToolbar(o),
(this.shiftWasPressed = !1)),
e.target)
) {
var n,
l = e.target.classList;
if (
(e.target.parentNode &&
null !== e.target.parentNode &&
(n = e.target.parentNode.classList),
!(
l.contains(
"apexcharts-selection-rect"
) ||
l.contains(
"apexcharts-legend-marker"
) ||
l.contains("apexcharts-legend-text") ||
(n && n.contains("apexcharts-toolbar"))
))
) {
if (
((a.clientX =
"touchmove" === e.type ||
"touchstart" === e.type
? e.touches[0].clientX
: "touchend" === e.type
? e.changedTouches[0].clientX
: e.clientX),
(a.clientY =
"touchmove" === e.type ||
"touchstart" === e.type
? e.touches[0].clientY
: "touchend" === e.type
? e.changedTouches[0].clientY
: e.clientY),
"mousedown" === e.type && 1 === e.which)
) {
var h =
a.gridRect.getBoundingClientRect();
(a.startX = a.clientX - h.left),
(a.startY = a.clientY - h.top),
(a.dragged = !1),
(a.w.globals.mousedown = !0);
}
if (
((("mousemove" === e.type &&
1 === e.which) ||
"touchmove" === e.type) &&
((a.dragged = !0),
i.globals.panEnabled
? ((i.globals.selection = null),
a.w.globals.mousedown &&
a.panDragging({
context: a,
zoomtype: r,
xyRatios: t,
}))
: ((a.w.globals.mousedown &&
i.globals.zoomEnabled) ||
(a.w.globals.mousedown &&
i.globals
.selectionEnabled)) &&
(a.selection =
a.selectionDrawing({
context: a,
zoomtype: r,
}))),
"mouseup" === e.type ||
"touchend" === e.type ||
"mouseleave" === e.type)
) {
var c =
a.gridRect.getBoundingClientRect();
a.w.globals.mousedown &&
((a.endX = a.clientX - c.left),
(a.endY = a.clientY - c.top),
(a.dragX = Math.abs(
a.endX - a.startX
)),
(a.dragY = Math.abs(
a.endY - a.startY
)),
(i.globals.zoomEnabled ||
i.globals.selectionEnabled) &&
a.selectionDrawn({
context: a,
zoomtype: r,
}),
i.globals.panEnabled &&
i.config.xaxis
.convertedCatToNumeric &&
a.delayedPanScrolled()),
i.globals.zoomEnabled &&
a.hideSelectionRect(
this.selectionRect
),
(a.dragged = !1),
(a.w.globals.mousedown = !1);
}
this.makeSelectionRectDraggable();
}
}
},
},
{
key: "makeSelectionRectDraggable",
value: function () {
var t = this.w;
if (this.selectionRect) {
var e =
this.selectionRect.node.getBoundingClientRect();
e.width > 0 &&
e.height > 0 &&
this.slDraggableRect
.selectize({
points: "l, r",
pointSize: 8,
pointType: "rect",
})
.resize({
constraint: {
minX: 0,
minY: 0,
maxX: t.globals.gridWidth,
maxY: t.globals.gridHeight,
},
})
.on(
"resizing",
this.selectionDragging.bind(
this,
"resizing"
)
);
}
},
},
{
key: "preselectedSelection",
value: function () {
var t = this.w,
e = this.xyRatios;
if (!t.globals.zoomEnabled)
if (
void 0 !== t.globals.selection &&
null !== t.globals.selection
)
this.drawSelectionRect(t.globals.selection);
else if (
void 0 !==
t.config.chart.selection.xaxis.min &&
void 0 !==
t.config.chart.selection.xaxis.max
) {
var i =
(t.config.chart.selection.xaxis
.min -
t.globals.minX) /
e.xRatio,
a = {
x: i,
y: 0,
width:
t.globals.gridWidth -
(t.globals.maxX -
t.config.chart.selection
.xaxis.max) /
e.xRatio -
i,
height: t.globals.gridHeight,
translateX: 0,
translateY: 0,
selectionEnabled: !0,
};
this.drawSelectionRect(a),
this.makeSelectionRectDraggable(),
"function" ==
typeof t.config.chart.events
.selection &&
t.config.chart.events.selection(
this.ctx,
{
xaxis: {
min: t.config.chart
.selection.xaxis
.min,
max: t.config.chart
.selection.xaxis
.max,
},
yaxis: {},
}
);
}
},
},
{
key: "drawSelectionRect",
value: function (t) {
var e = t.x,
i = t.y,
a = t.width,
s = t.height,
r = t.translateX,
o = void 0 === r ? 0 : r,
n = t.translateY,
l = void 0 === n ? 0 : n,
h = this.w,
c = this.zoomRect,
d = this.selectionRect;
if (this.dragged || null !== h.globals.selection) {
var g = {
transform:
"translate(" + o + ", " + l + ")",
};
h.globals.zoomEnabled &&
this.dragged &&
(a < 0 && (a = 1),
c.attr({
x: e,
y: i,
width: a,
height: s,
fill: h.config.chart.zoom.zoomedArea
.fill.color,
"fill-opacity":
h.config.chart.zoom.zoomedArea.fill
.opacity,
stroke: h.config.chart.zoom.zoomedArea
.stroke.color,
"stroke-width":
h.config.chart.zoom.zoomedArea
.stroke.width,
"stroke-opacity":
h.config.chart.zoom.zoomedArea
.stroke.opacity,
}),
m.setAttrs(c.node, g)),
h.globals.selectionEnabled &&
(d.attr({
x: e,
y: i,
width: a > 0 ? a : 0,
height: s > 0 ? s : 0,
fill: h.config.chart.selection.fill
.color,
"fill-opacity":
h.config.chart.selection.fill
.opacity,
stroke: h.config.chart.selection
.stroke.color,
"stroke-width":
h.config.chart.selection.stroke
.width,
"stroke-dasharray":
h.config.chart.selection.stroke
.dashArray,
"stroke-opacity":
h.config.chart.selection.stroke
.opacity,
}),
m.setAttrs(d.node, g));
}
},
},
{
key: "hideSelectionRect",
value: function (t) {
t && t.attr({ x: 0, y: 0, width: 0, height: 0 });
},
},
{
key: "selectionDrawing",
value: function (t) {
var e = t.context,
i = t.zoomtype,
a = this.w,
s = e,
r = this.gridRect.getBoundingClientRect(),
o = s.startX - 1,
n = s.startY,
l = !1,
h = !1,
c = s.clientX - r.left - o,
d = s.clientY - r.top - n,
g = {};
return (
Math.abs(c + o) > a.globals.gridWidth
? (c = a.globals.gridWidth - o)
: s.clientX - r.left < 0 && (c = o),
o > s.clientX - r.left &&
((l = !0), (c = Math.abs(c))),
n > s.clientY - r.top &&
((h = !0), (d = Math.abs(d))),
(g =
"x" === i
? {
x: l ? o - c : o,
y: 0,
width: c,
height: a.globals.gridHeight,
}
: "y" === i
? {
x: 0,
y: h ? n - d : n,
width: a.globals.gridWidth,
height: d,
}
: {
x: l ? o - c : o,
y: h ? n - d : n,
width: c,
height: d,
}),
s.drawSelectionRect(g),
s.selectionDragging("resizing"),
g
);
},
},
{
key: "selectionDragging",
value: function (t, e) {
var i = this,
a = this.w,
s = this.xyRatios,
r = this.selectionRect,
o = 0;
"resizing" === t && (o = 30);
var n = function (t) {
return parseFloat(r.node.getAttribute(t));
},
l = {
x: n("x"),
y: n("y"),
width: n("width"),
height: n("height"),
};
(a.globals.selection = l),
"function" ==
typeof a.config.chart.events.selection &&
a.globals.selectionEnabled &&
(clearTimeout(
this.w.globals.selectionResizeTimer
),
(this.w.globals.selectionResizeTimer =
window.setTimeout(function () {
var t =
i.gridRect.getBoundingClientRect(),
e =
r.node.getBoundingClientRect(),
o = {
xaxis: {
min:
a.globals.xAxisScale
.niceMin +
(e.left - t.left) *
s.xRatio,
max:
a.globals.xAxisScale
.niceMin +
(e.right - t.left) *
s.xRatio,
},
yaxis: {
min:
a.globals
.yAxisScale[0]
.niceMin +
(t.bottom -
e.bottom) *
s.yRatio[0],
max:
a.globals
.yAxisScale[0]
.niceMax -
(e.top - t.top) *
s.yRatio[0],
},
};
a.config.chart.events.selection(
i.ctx,
o
),
a.config.chart.brush.enabled &&
void 0 !==
a.config.chart.events
.brushScrolled &&
a.config.chart.events.brushScrolled(
i.ctx,
o
);
}, o)));
},
},
{
key: "selectionDrawn",
value: function (t) {
var e = t.context,
i = t.zoomtype,
a = this.w,
s = e,
r = this.xyRatios,
o = this.ctx.toolbar;
if (s.startX > s.endX) {
var n = s.startX;
(s.startX = s.endX), (s.endX = n);
}
if (s.startY > s.endY) {
var l = s.startY;
(s.startY = s.endY), (s.endY = l);
}
var h = void 0,
c = void 0;
a.globals.isRangeBar
? ((h =
a.globals.yAxisScale[0].niceMin +
s.startX * r.invertedYRatio),
(c =
a.globals.yAxisScale[0].niceMin +
s.endX * r.invertedYRatio))
: ((h =
a.globals.xAxisScale.niceMin +
s.startX * r.xRatio),
(c =
a.globals.xAxisScale.niceMin +
s.endX * r.xRatio));
var d = [],
g = [];
if (
(a.config.yaxis.forEach(function (t, e) {
d.push(
a.globals.yAxisScale[e].niceMax -
r.yRatio[e] * s.startY
),
g.push(
a.globals.yAxisScale[e].niceMax -
r.yRatio[e] * s.endY
);
}),
s.dragged &&
(s.dragX > 10 || s.dragY > 10) &&
h !== c)
)
if (a.globals.zoomEnabled) {
var u = x.clone(
a.globals.initialConfig.yaxis
),
p = x.clone(
a.globals.initialConfig.xaxis
);
if (
((a.globals.zoomed = !0),
a.config.xaxis.convertedCatToNumeric &&
((h = Math.floor(h)),
(c = Math.floor(c)),
h < 1 &&
((h = 1),
(c = a.globals.dataPoints)),
c - h < 2 && (c = h + 1)),
("xy" !== i && "x" !== i) ||
(p = { min: h, max: c }),
("xy" !== i && "y" !== i) ||
u.forEach(function (t, e) {
(u[e].min = g[e]),
(u[e].max = d[e]);
}),
a.config.chart.zoom.autoScaleYaxis)
) {
var f = new _(s.ctx);
u = f.autoScaleY(s.ctx, u, {
xaxis: p,
});
}
if (o) {
var b = o.getBeforeZoomRange(p, u);
b &&
((p = b.xaxis ? b.xaxis : p),
(u = b.yaxis ? b.yaxis : u));
}
var v = { xaxis: p };
a.config.chart.group || (v.yaxis = u),
s.ctx.updateHelpers._updateOptions(
v,
!1,
s.w.config.chart.animations
.dynamicAnimation.enabled
),
"function" ==
typeof a.config.chart.events
.zoomed && o.zoomCallback(p, u);
} else if (a.globals.selectionEnabled) {
var m,
y = null;
(m = { min: h, max: c }),
("xy" !== i && "y" !== i) ||
(y = x.clone(
a.config.yaxis
)).forEach(function (t, e) {
(y[e].min = g[e]),
(y[e].max = d[e]);
}),
(a.globals.selection = s.selection),
"function" ==
typeof a.config.chart.events
.selection &&
a.config.chart.events.selection(
s.ctx,
{ xaxis: m, yaxis: y }
);
}
},
},
{
key: "panDragging",
value: function (t) {
var e = t.context,
i = this.w,
a = e;
if (void 0 !== i.globals.lastClientPosition.x) {
var s =
i.globals.lastClientPosition.x -
a.clientX,
r =
i.globals.lastClientPosition.y -
a.clientY;
Math.abs(s) > Math.abs(r) && s > 0
? (this.moveDirection = "left")
: Math.abs(s) > Math.abs(r) && s < 0
? (this.moveDirection = "right")
: Math.abs(r) > Math.abs(s) && r > 0
? (this.moveDirection = "up")
: Math.abs(r) > Math.abs(s) &&
r < 0 &&
(this.moveDirection = "down");
}
i.globals.lastClientPosition = {
x: a.clientX,
y: a.clientY,
};
var o = i.globals.isRangeBar
? i.globals.minY
: i.globals.minX,
n = i.globals.isRangeBar
? i.globals.maxY
: i.globals.maxX;
i.config.xaxis.convertedCatToNumeric ||
a.panScrolled(o, n);
},
},
{
key: "delayedPanScrolled",
value: function () {
var t = this.w,
e = t.globals.minX,
i = t.globals.maxX,
a = (t.globals.maxX - t.globals.minX) / 2;
"left" === this.moveDirection
? ((e = t.globals.minX + a),
(i = t.globals.maxX + a))
: "right" === this.moveDirection &&
((e = t.globals.minX - a),
(i = t.globals.maxX - a)),
(e = Math.floor(e)),
(i = Math.floor(i)),
this.updateScrolledChart(
{ xaxis: { min: e, max: i } },
e,
i
);
},
},
{
key: "panScrolled",
value: function (t, e) {
var i = this.w,
a = this.xyRatios,
s = x.clone(i.globals.initialConfig.yaxis),
r = a.xRatio,
o = i.globals.minX,
n = i.globals.maxX;
i.globals.isRangeBar &&
((r = a.invertedYRatio),
(o = i.globals.minY),
(n = i.globals.maxY)),
"left" === this.moveDirection
? ((t = o + (i.globals.gridWidth / 15) * r),
(e = n + (i.globals.gridWidth / 15) * r))
: "right" === this.moveDirection &&
((t = o - (i.globals.gridWidth / 15) * r),
(e = n - (i.globals.gridWidth / 15) * r)),
i.globals.isRangeBar ||
((t < i.globals.initialMinX ||
e > i.globals.initialMaxX) &&
((t = o), (e = n)));
var l = { min: t, max: e };
i.config.chart.zoom.autoScaleYaxis &&
(s = new _(this.ctx).autoScaleY(this.ctx, s, {
xaxis: l,
}));
var h = { xaxis: { min: t, max: e } };
i.config.chart.group || (h.yaxis = s),
this.updateScrolledChart(h, t, e);
},
},
{
key: "updateScrolledChart",
value: function (t, e, i) {
var a = this.w;
this.ctx.updateHelpers._updateOptions(t, !1, !1),
"function" ==
typeof a.config.chart.events.scrolled &&
a.config.chart.events.scrolled(this.ctx, {
xaxis: { min: e, max: i },
});
},
},
]),
i
);
})(ht),
dt = (function () {
function t(e) {
a(this, t),
(this.w = e.w),
(this.ttCtx = e),
(this.ctx = e.ctx);
}
return (
r(t, [
{
key: "getNearestValues",
value: function (t) {
var e = t.hoverArea,
i = t.elGrid,
a = t.clientX,
s = t.clientY,
r = this.w,
o = i.getBoundingClientRect(),
n = o.width,
l = o.height,
h = n / (r.globals.dataPoints - 1),
c = l / r.globals.dataPoints,
d = this.hasBars();
(!r.globals.comboCharts && !d) ||
r.config.xaxis.convertedCatToNumeric ||
(h = n / r.globals.dataPoints);
var g = a - o.left - r.globals.barPadForNumericAxis,
u = s - o.top;
g < 0 || u < 0 || g > n || u > l
? (e.classList.remove("hovering-zoom"),
e.classList.remove("hovering-pan"))
: r.globals.zoomEnabled
? (e.classList.remove("hovering-pan"),
e.classList.add("hovering-zoom"))
: r.globals.panEnabled &&
(e.classList.remove("hovering-zoom"),
e.classList.add("hovering-pan"));
var p = Math.round(g / h),
f = Math.floor(u / c);
d &&
!r.config.xaxis.convertedCatToNumeric &&
((p = Math.ceil(g / h)), (p -= 1));
var b = null,
v = null,
m = r.globals.seriesXvalues.map(function (t) {
return t.filter(function (t) {
return x.isNumber(t);
});
}),
y = r.globals.seriesYvalues.map(function (t) {
return t.filter(function (t) {
return x.isNumber(t);
});
});
if (r.globals.isXNumeric) {
var w = this.ttCtx
.getElGrid()
.getBoundingClientRect(),
k = g * (w.width / n),
A = u * (w.height / l);
(b = (v = this.closestInMultiArray(k, A, m, y))
.index),
(p = v.j),
null !== b &&
((m = r.globals.seriesXvalues[b]),
(p = (v = this.closestInArray(k, m))
.index));
}
return (
(r.globals.capturedSeriesIndex =
null === b ? -1 : b),
(!p || p < 1) && (p = 0),
r.globals.isBarHorizontal
? (r.globals.capturedDataPointIndex = f)
: (r.globals.capturedDataPointIndex = p),
{
capturedSeries: b,
j: r.globals.isBarHorizontal ? f : p,
hoverX: g,
hoverY: u,
}
);
},
},
{
key: "closestInMultiArray",
value: function (t, e, i, a) {
var s = this.w,
r = 0,
o = null,
n = -1;
s.globals.series.length > 1
? (r = this.getFirstActiveXArray(i))
: (o = 0);
var l = i[r][0],
h = Math.abs(t - l);
if (
(i.forEach(function (e) {
e.forEach(function (e, i) {
var a = Math.abs(t - e);
a <= h && ((h = a), (n = i));
});
}),
-1 !== n)
) {
var c = a[r][n],
d = Math.abs(e - c);
(o = r),
a.forEach(function (t, i) {
var a = Math.abs(e - t[n]);
a <= d && ((d = a), (o = i));
});
}
return { index: o, j: n };
},
},
{
key: "getFirstActiveXArray",
value: function (t) {
for (
var e = this.w,
i = 0,
a = t.map(function (t, e) {
return t.length > 0 ? e : -1;
}),
s = 0;
s < a.length;
s++
)
if (
-1 !== a[s] &&
-1 ===
e.globals.collapsedSeriesIndices.indexOf(
s
) &&
-1 ===
e.globals.ancillaryCollapsedSeriesIndices.indexOf(
s
)
) {
i = a[s];
break;
}
return i;
},
},
{
key: "closestInArray",
value: function (t, e) {
for (
var i = e[0],
a = null,
s = Math.abs(t - i),
r = 0;
r < e.length;
r++
) {
var o = Math.abs(t - e[r]);
o < s && ((s = o), (a = r));
}
return { index: a };
},
},
{
key: "isXoverlap",
value: function (t) {
var e = [],
i = this.w.globals.seriesX.filter(function (t) {
return void 0 !== t[0];
});
if (i.length > 0)
for (var a = 0; a < i.length - 1; a++)
void 0 !== i[a][t] &&
void 0 !== i[a + 1][t] &&
i[a][t] !== i[a + 1][t] &&
e.push("unEqual");
return 0 === e.length;
},
},
{
key: "isInitialSeriesSameLen",
value: function () {
for (
var t = !0,
e = this.w.globals.initialSeries,
i = 0;
i < e.length - 1;
i++
)
if (e[i].data.length !== e[i + 1].data.length) {
t = !1;
break;
}
return t;
},
},
{
key: "getBarsHeight",
value: function (t) {
return u(t).reduce(function (t, e) {
return t + e.getBBox().height;
}, 0);
},
},
{
key: "getElMarkers",
value: function (t) {
return "number" == typeof t
? this.w.globals.dom.baseEl.querySelectorAll(
".apexcharts-series[data\\:realIndex='".concat(
t,
"'] .apexcharts-series-markers-wrap > *"
)
)
: this.w.globals.dom.baseEl.querySelectorAll(
".apexcharts-series-markers-wrap > *"
);
},
},
{
key: "getAllMarkers",
value: function () {
var t = this.w.globals.dom.baseEl.querySelectorAll(
".apexcharts-series-markers-wrap"
);
(t = u(t)).sort(function (t, e) {
var i = Number(
t.getAttribute("data:realIndex")
),
a = Number(
e.getAttribute("data:realIndex")
);
return a < i ? 1 : a > i ? -1 : 0;
});
var e = [];
return (
t.forEach(function (t) {
e.push(
t.querySelector(".apexcharts-marker")
);
}),
e
);
},
},
{
key: "hasMarkers",
value: function (t) {
return this.getElMarkers(t).length > 0;
},
},
{
key: "getElBars",
value: function () {
return this.w.globals.dom.baseEl.querySelectorAll(
".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series"
);
},
},
{
key: "hasBars",
value: function () {
return this.getElBars().length > 0;
},
},
{
key: "getHoverMarkerSize",
value: function (t) {
var e = this.w,
i = e.config.markers.hover.size;
return (
void 0 === i &&
(i =
e.globals.markers.size[t] +
e.config.markers.hover.sizeOffset),
i
);
},
},
{
key: "toggleAllTooltipSeriesGroups",
value: function (t) {
var e = this.w,
i = this.ttCtx;
0 === i.allTooltipSeriesGroups.length &&
(i.allTooltipSeriesGroups =
e.globals.dom.baseEl.querySelectorAll(
".apexcharts-tooltip-series-group"
));
for (
var a = i.allTooltipSeriesGroups, s = 0;
s < a.length;
s++
)
"enable" === t
? (a[s].classList.add("apexcharts-active"),
(a[s].style.display =
e.config.tooltip.items.display))
: (a[s].classList.remove(
"apexcharts-active"
),
(a[s].style.display = "none"));
},
},
]),
t
);
})(),
gt = (function () {
function t(e) {
a(this, t),
(this.w = e.w),
(this.ctx = e.ctx),
(this.ttCtx = e),
(this.tooltipUtil = new dt(e));
}
return (
r(t, [
{
key: "drawSeriesTexts",
value: function (t) {
var e = t.shared,
i = void 0 === e || e,
a = t.ttItems,
s = t.i,
r = void 0 === s ? 0 : s,
o = t.j,
n = void 0 === o ? null : o,
l = t.y1,
h = t.y2,
c = t.e,
d = this.w;
void 0 !== d.config.tooltip.custom
? this.handleCustomTooltip({
i: r,
j: n,
y1: l,
y2: h,
w: d,
})
: this.toggleActiveInactiveSeries(i);
var g = this.getValuesToPrint({ i: r, j: n });
this.printLabels({
i: r,
j: n,
values: g,
ttItems: a,
shared: i,
e: c,
});
var u = this.ttCtx.getElTooltip();
(this.ttCtx.tooltipRect.ttWidth =
u.getBoundingClientRect().width),
(this.ttCtx.tooltipRect.ttHeight =
u.getBoundingClientRect().height);
},
},
{
key: "printLabels",
value: function (t) {
var i,
a = this,
s = t.i,
r = t.j,
o = t.values,
n = t.ttItems,
l = t.shared,
h = t.e,
c = this.w,
d = [],
g = function (t) {
return (
c.globals.seriesGoals[t] &&
c.globals.seriesGoals[t][r] &&
Array.isArray(
c.globals.seriesGoals[t][r]
)
);
},
u = o.xVal,
p = o.zVal,
f = o.xAxisTTVal,
x = "",
b = c.globals.colors[s];
null !== r &&
c.config.plotOptions.bar.distributed &&
(b = c.globals.colors[r]);
for (
var v = function (t, o) {
var v = a.getFormatters(s);
(x = a.getSeriesName({
fn: v.yLbTitleFormatter,
index: s,
seriesIndex: s,
j: r,
})),
"treemap" === c.config.chart.type &&
(x = v.yLbTitleFormatter(
String(
c.config.series[s].data[
r
].x
),
{
series: c.globals
.series,
seriesIndex: s,
dataPointIndex: r,
w: c,
}
));
var m = c.config.tooltip.inverseOrder
? o
: t;
if (c.globals.axisCharts) {
var y = function (t) {
var e, i, a, s;
return c.globals.isRangeData
? v.yLbFormatter(
null ===
(e =
c.globals
.seriesRangeStart) ||
void 0 === e ||
null ===
(i = e[t]) ||
void 0 === i
? void 0
: i[r],
{
series: c.globals
.seriesRangeStart,
seriesIndex: t,
dataPointIndex: r,
w: c,
}
) +
" - " +
v.yLbFormatter(
null ===
(a =
c.globals
.seriesRangeEnd) ||
void 0 ===
a ||
null ===
(s =
a[
t
]) ||
void 0 === s
? void 0
: s[r],
{
series: c
.globals
.seriesRangeEnd,
seriesIndex:
t,
dataPointIndex:
r,
w: c,
}
)
: v.yLbFormatter(
c.globals.series[t][
r
],
{
series: c.globals
.series,
seriesIndex: t,
dataPointIndex: r,
w: c,
}
);
};
if (l)
(v = a.getFormatters(m)),
(x = a.getSeriesName({
fn: v.yLbTitleFormatter,
index: m,
seriesIndex: s,
j: r,
})),
(b = c.globals.colors[m]),
(i = y(m)),
g(m) &&
(d =
c.globals.seriesGoals[
m
][r].map(function (
t
) {
return {
attrs: t,
val: v.yLbFormatter(
t.value,
{
seriesIndex:
m,
dataPointIndex:
r,
w: c,
}
),
};
}));
else {
var w,
k =
null == h ||
null ===
(w = h.target) ||
void 0 === w
? void 0
: w.getAttribute(
"fill"
);
k &&
(b =
-1 !== k.indexOf("url")
? document
.querySelector(
k
.substr(
4
)
.slice(
0,
-1
)
)
.childNodes[0].getAttribute(
"stroke"
)
: k),
(i = y(s)),
g(s) &&
Array.isArray(
c.globals
.seriesGoals[s][
r
]
) &&
(d =
c.globals.seriesGoals[
s
][r].map(function (
t
) {
return {
attrs: t,
val: v.yLbFormatter(
t.value,
{
seriesIndex:
s,
dataPointIndex:
r,
w: c,
}
),
};
}));
}
}
null === r &&
(i = v.yLbFormatter(
c.globals.series[s],
e(
e({}, c),
{},
{
seriesIndex: s,
dataPointIndex: s,
}
)
)),
a.DOMHandling({
i: s,
t: m,
j: r,
ttItems: n,
values: {
val: i,
goalVals: d,
xVal: u,
xAxisTTVal: f,
zVal: p,
},
seriesName: x,
shared: l,
pColor: b,
});
},
m = 0,
y = c.globals.series.length - 1;
m < c.globals.series.length;
m++, y--
)
v(m, y);
},
},
{
key: "getFormatters",
value: function (t) {
var e,
i = this.w,
a = i.globals.yLabelFormatters[t];
return (
void 0 !== i.globals.ttVal
? Array.isArray(i.globals.ttVal)
? ((a =
i.globals.ttVal[t] &&
i.globals.ttVal[t].formatter),
(e =
i.globals.ttVal[t] &&
i.globals.ttVal[t].title &&
i.globals.ttVal[t].title
.formatter))
: ((a = i.globals.ttVal.formatter),
"function" ==
typeof i.globals.ttVal.title
.formatter &&
(e =
i.globals.ttVal.title
.formatter))
: (e = i.config.tooltip.y.title.formatter),
"function" != typeof a &&
(a = i.globals.yLabelFormatters[0]
? i.globals.yLabelFormatters[0]
: function (t) {
return t;
}),
"function" != typeof e &&
(e = function (t) {
return t;
}),
{ yLbFormatter: a, yLbTitleFormatter: e }
);
},
},
{
key: "getSeriesName",
value: function (t) {
var e = t.fn,
i = t.index,
a = t.seriesIndex,
s = t.j,
r = this.w;
return e(String(r.globals.seriesNames[i]), {
series: r.globals.series,
seriesIndex: a,
dataPointIndex: s,
w: r,
});
},
},
{
key: "DOMHandling",
value: function (t) {
t.i;
var e = t.t,
i = t.j,
a = t.ttItems,
s = t.values,
r = t.seriesName,
o = t.shared,
n = t.pColor,
l = this.w,
h = this.ttCtx,
c = s.val,
d = s.goalVals,
g = s.xVal,
u = s.xAxisTTVal,
p = s.zVal,
f = null;
(f = a[e].children),
l.config.tooltip.fillSeriesColor &&
((a[e].style.backgroundColor = n),
(f[0].style.display = "none")),
h.showTooltipTitle &&
(null === h.tooltipTitle &&
(h.tooltipTitle =
l.globals.dom.baseEl.querySelector(
".apexcharts-tooltip-title"
)),
(h.tooltipTitle.innerHTML = g)),
h.isXAxisTooltipEnabled &&
(h.xaxisTooltipText.innerHTML =
"" !== u ? u : g);
var x = a[e].querySelector(
".apexcharts-tooltip-text-y-label"
);
x && (x.innerHTML = r || "");
var b = a[e].querySelector(
".apexcharts-tooltip-text-y-value"
);
b && (b.innerHTML = void 0 !== c ? c : ""),
f[0] &&
f[0].classList.contains(
"apexcharts-tooltip-marker"
) &&
(l.config.tooltip.marker.fillColors &&
Array.isArray(
l.config.tooltip.marker.fillColors
) &&
(n =
l.config.tooltip.marker.fillColors[
e
]),
(f[0].style.backgroundColor = n)),
l.config.tooltip.marker.show ||
(f[0].style.display = "none");
var v = a[e].querySelector(
".apexcharts-tooltip-text-goals-label"
),
m = a[e].querySelector(
".apexcharts-tooltip-text-goals-value"
);
if (d.length && l.globals.seriesGoals[e]) {
var y = function () {
var t = "",
e = "
";
d.forEach(function (i, a) {
(t +=
'
'
)
.concat(
i.attrs.name,
"
"
)),
(e += "
".concat(
i.val,
"
"
));
}),
(v.innerHTML = t + "
"),
(m.innerHTML = e + "
");
};
o
? l.globals.seriesGoals[e][i] &&
Array.isArray(l.globals.seriesGoals[e][i])
? y()
: ((v.innerHTML = ""),
(m.innerHTML = ""))
: y();
} else (v.innerHTML = ""), (m.innerHTML = "");
null !== p &&
((a[e].querySelector(
".apexcharts-tooltip-text-z-label"
).innerHTML = l.config.tooltip.z.title),
(a[e].querySelector(
".apexcharts-tooltip-text-z-value"
).innerHTML = void 0 !== p ? p : ""));
o &&
f[0] &&
(null == c ||
l.globals.ancillaryCollapsedSeriesIndices.indexOf(
e
) > -1 ||
l.globals.collapsedSeriesIndices.indexOf(e) > -1
? (f[0].parentNode.style.display = "none")
: (f[0].parentNode.style.display =
l.config.tooltip.items.display));
},
},
{
key: "toggleActiveInactiveSeries",
value: function (t) {
var e = this.w;
if (t)
this.tooltipUtil.toggleAllTooltipSeriesGroups(
"enable"
);
else {
this.tooltipUtil.toggleAllTooltipSeriesGroups(
"disable"
);
var i = e.globals.dom.baseEl.querySelector(
".apexcharts-tooltip-series-group"
);
i &&
(i.classList.add("apexcharts-active"),
(i.style.display =
e.config.tooltip.items.display));
}
},
},
{
key: "getValuesToPrint",
value: function (t) {
var e = t.i,
i = t.j,
a = this.w,
s = this.ctx.series.filteredSeriesX(),
r = "",
o = "",
n = null,
l = null,
h = {
series: a.globals.series,
seriesIndex: e,
dataPointIndex: i,
w: a,
},
c = a.globals.ttZFormatter;
null === i
? (l = a.globals.series[e])
: a.globals.isXNumeric &&
"treemap" !== a.config.chart.type
? ((r = s[e][i]),
0 === s[e].length &&
(r =
s[
this.tooltipUtil.getFirstActiveXArray(
s
)
][i]))
: (r =
void 0 !== a.globals.labels[i]
? a.globals.labels[i]
: "");
var d = r;
a.globals.isXNumeric &&
"datetime" === a.config.xaxis.type
? (r = new T(this.ctx).xLabelFormat(
a.globals.ttKeyFormatter,
d,
d,
{
i: void 0,
dateFormatter: new I(this.ctx)
.formatDate,
w: this.w,
}
))
: (r = a.globals.isBarHorizontal
? a.globals.yLabelFormatters[0](d, h)
: a.globals.xLabelFormatter(d, h));
return (
void 0 !== a.config.tooltip.x.formatter &&
(r = a.globals.ttKeyFormatter(d, h)),
a.globals.seriesZ.length > 0 &&
a.globals.seriesZ[e].length > 0 &&
(n = c(a.globals.seriesZ[e][i], a)),
(o =
"function" ==
typeof a.config.xaxis.tooltip.formatter
? a.globals.xaxisTooltipFormatter(d, h)
: r),
{
val: Array.isArray(l) ? l.join(" ") : l,
xVal: Array.isArray(r) ? r.join(" ") : r,
xAxisTTVal: Array.isArray(o)
? o.join(" ")
: o,
zVal: n,
}
);
},
},
{
key: "handleCustomTooltip",
value: function (t) {
var e = t.i,
i = t.j,
a = t.y1,
s = t.y2,
r = t.w,
o = this.ttCtx.getElTooltip(),
n = r.config.tooltip.custom;
Array.isArray(n) && n[e] && (n = n[e]),
(o.innerHTML = n({
ctx: this.ctx,
series: r.globals.series,
seriesIndex: e,
dataPointIndex: i,
y1: a,
y2: s,
w: r,
}));
},
},
]),
t
);
})(),
ut = (function () {
function t(e) {
a(this, t),
(this.ttCtx = e),
(this.ctx = e.ctx),
(this.w = e.w);
}
return (
r(t, [
{
key: "moveXCrosshairs",
value: function (t) {
var e =
arguments.length > 1 &&
void 0 !== arguments[1]
? arguments[1]
: null,
i = this.ttCtx,
a = this.w,
s = i.getElXCrosshairs(),
r = t - i.xcrosshairsWidth / 2,
o = a.globals.labels.slice().length;
if (
(null !== e &&
(r = (a.globals.gridWidth / o) * e),
null === s ||
a.globals.isBarHorizontal ||
(s.setAttribute("x", r),
s.setAttribute("x1", r),
s.setAttribute("x2", r),
s.setAttribute("y2", a.globals.gridHeight),
s.classList.add("apexcharts-active")),
r < 0 && (r = 0),
r > a.globals.gridWidth &&
(r = a.globals.gridWidth),
i.isXAxisTooltipEnabled)
) {
var n = r;
("tickWidth" !==
a.config.xaxis.crosshairs.width &&
"barWidth" !==
a.config.xaxis.crosshairs.width) ||
(n = r + i.xcrosshairsWidth / 2),
this.moveXAxisTooltip(n);
}
},
},
{
key: "moveYCrosshairs",
value: function (t) {
var e = this.ttCtx;
null !== e.ycrosshairs &&
m.setAttrs(e.ycrosshairs, { y1: t, y2: t }),
null !== e.ycrosshairsHidden &&
m.setAttrs(e.ycrosshairsHidden, {
y1: t,
y2: t,
});
},
},
{
key: "moveXAxisTooltip",
value: function (t) {
var e = this.w,
i = this.ttCtx;
if (
null !== i.xaxisTooltip &&
0 !== i.xcrosshairsWidth
) {
i.xaxisTooltip.classList.add(
"apexcharts-active"
);
var a =
i.xaxisOffY +
e.config.xaxis.tooltip.offsetY +
e.globals.translateY +
1 +
e.config.xaxis.offsetY;
if (
((t -=
i.xaxisTooltip.getBoundingClientRect()
.width / 2),
!isNaN(t))
) {
t += e.globals.translateX;
var s;
(s = new m(this.ctx).getTextRects(
i.xaxisTooltipText.innerHTML
)),
(i.xaxisTooltipText.style.minWidth =
s.width + "px"),
(i.xaxisTooltip.style.left = t + "px"),
(i.xaxisTooltip.style.top = a + "px");
}
}
},
},
{
key: "moveYAxisTooltip",
value: function (t) {
var e = this.w,
i = this.ttCtx;
null === i.yaxisTTEls &&
(i.yaxisTTEls =
e.globals.dom.baseEl.querySelectorAll(
".apexcharts-yaxistooltip"
));
var a = parseInt(
i.ycrosshairsHidden.getAttribute("y1"),
10
),
s = e.globals.translateY + a,
r =
i.yaxisTTEls[t].getBoundingClientRect()
.height,
o = e.globals.translateYAxisX[t] - 2;
e.config.yaxis[t].opposite && (o -= 26),
(s -= r / 2),
-1 === e.globals.ignoreYAxisIndexes.indexOf(t)
? (i.yaxisTTEls[t].classList.add(
"apexcharts-active"
),
(i.yaxisTTEls[t].style.top = s + "px"),
(i.yaxisTTEls[t].style.left =
o +
e.config.yaxis[t].tooltip.offsetX +
"px"))
: i.yaxisTTEls[t].classList.remove(
"apexcharts-active"
);
},
},
{
key: "moveTooltip",
value: function (t, e) {
var i =
arguments.length > 2 &&
void 0 !== arguments[2]
? arguments[2]
: null,
a = this.w,
s = this.ttCtx,
r = s.getElTooltip(),
o = s.tooltipRect,
n = null !== i ? parseFloat(i) : 1,
l = parseFloat(t) + n + 5,
h = parseFloat(e) + n / 2;
if (
(l > a.globals.gridWidth / 2 &&
(l = l - o.ttWidth - n - 10),
l > a.globals.gridWidth - o.ttWidth - 10 &&
(l = a.globals.gridWidth - o.ttWidth),
l < -20 && (l = -20),
a.config.tooltip.followCursor)
) {
var c = s.getElGrid().getBoundingClientRect();
(l = s.e.clientX - c.left) >
a.globals.gridWidth / 2 &&
(l -= s.tooltipRect.ttWidth),
(h =
s.e.clientY +
a.globals.translateY -
c.top) >
a.globals.gridHeight / 2 &&
(h -= s.tooltipRect.ttHeight);
} else
a.globals.isBarHorizontal ||
(o.ttHeight / 2 + h >
a.globals.gridHeight &&
(h =
a.globals.gridHeight -
o.ttHeight +
a.globals.translateY));
isNaN(l) ||
((l += a.globals.translateX),
(r.style.left = l + "px"),
(r.style.top = h + "px"));
},
},
{
key: "moveMarkers",
value: function (t, e) {
var i = this.w,
a = this.ttCtx;
if (i.globals.markers.size[t] > 0)
for (
var s =
i.globals.dom.baseEl.querySelectorAll(
" .apexcharts-series[data\\:realIndex='".concat(
t,
"'] .apexcharts-marker"
)
),
r = 0;
r < s.length;
r++
)
parseInt(s[r].getAttribute("rel"), 10) ===
e &&
(a.marker.resetPointsSize(),
a.marker.enlargeCurrentPoint(e, s[r]));
else
a.marker.resetPointsSize(),
this.moveDynamicPointOnHover(e, t);
},
},
{
key: "moveDynamicPointOnHover",
value: function (t, e) {
var i,
a,
s = this.w,
r = this.ttCtx,
o = s.globals.pointsArray,
n = r.tooltipUtil.getHoverMarkerSize(e),
l = s.config.series[e].type;
if (
!l ||
("column" !== l &&
"candlestick" !== l &&
"boxPlot" !== l)
) {
(i = o[e][t][0]),
(a = o[e][t][1] ? o[e][t][1] : 0);
var h = s.globals.dom.baseEl.querySelector(
".apexcharts-series[data\\:realIndex='".concat(
e,
"'] .apexcharts-series-markers circle"
)
);
h &&
a < s.globals.gridHeight &&
a > 0 &&
(h.setAttribute("r", n),
h.setAttribute("cx", i),
h.setAttribute("cy", a)),
this.moveXCrosshairs(i),
r.fixedTooltip || this.moveTooltip(i, a, n);
}
},
},
{
key: "moveDynamicPointsOnHover",
value: function (t) {
var e,
i = this.ttCtx,
a = i.w,
s = 0,
r = 0,
o = a.globals.pointsArray;
e = new N(this.ctx).getActiveConfigSeriesIndex(
"asc",
["line", "area", "scatter", "bubble"]
);
var n = i.tooltipUtil.getHoverMarkerSize(e);
o[e] && ((s = o[e][t][0]), (r = o[e][t][1]));
var l = i.tooltipUtil.getAllMarkers();
if (null !== l)
for (
var h = 0;
h < a.globals.series.length;
h++
) {
var c = o[h];
if (
(a.globals.comboCharts &&
void 0 === c &&
l.splice(h, 0, null),
c && c.length)
) {
var d = o[h][t][1],
g = void 0;
if (
(l[h].setAttribute("cx", s),
"rangeArea" ===
a.config.chart.type &&
!a.globals.comboCharts)
) {
var u =
t + a.globals.series[h].length;
(g = o[h][u][1]),
(d -= Math.abs(d - g) / 2);
}
null !== d &&
!isNaN(d) &&
d < a.globals.gridHeight + n &&
d + n > 0
? (l[h] &&
l[h].setAttribute("r", n),
l[h] &&
l[h].setAttribute("cy", d))
: l[h] && l[h].setAttribute("r", 0);
}
}
this.moveXCrosshairs(s),
i.fixedTooltip ||
this.moveTooltip(
s,
r || a.globals.gridHeight,
n
);
},
},
{
key: "moveStickyTooltipOverBars",
value: function (t, e) {
var i = this.w,
a = this.ttCtx,
s = i.globals.columnSeries
? i.globals.columnSeries.length
: i.globals.series.length,
r =
s >= 2 && s % 2 == 0
? Math.floor(s / 2)
: Math.floor(s / 2) + 1;
i.globals.isBarHorizontal &&
(r =
new N(this.ctx).getActiveConfigSeriesIndex(
"desc"
) + 1);
var o = i.globals.dom.baseEl.querySelector(
".apexcharts-bar-series .apexcharts-series[rel='"
.concat(r, "'] path[j='")
.concat(
t,
"'], .apexcharts-candlestick-series .apexcharts-series[rel='"
)
.concat(r, "'] path[j='")
.concat(
t,
"'], .apexcharts-boxPlot-series .apexcharts-series[rel='"
)
.concat(r, "'] path[j='")
.concat(
t,
"'], .apexcharts-rangebar-series .apexcharts-series[rel='"
)
.concat(r, "'] path[j='")
.concat(t, "']")
);
o ||
"number" != typeof e ||
(o = i.globals.dom.baseEl.querySelector(
".apexcharts-bar-series .apexcharts-series[data\\:realIndex='"
.concat(e, "'] path[j='")
.concat(
t,
"'],\n .apexcharts-candlestick-series .apexcharts-series[data\\:realIndex='"
)
.concat(e, "'] path[j='")
.concat(
t,
"'],\n .apexcharts-boxPlot-series .apexcharts-series[data\\:realIndex='"
)
.concat(e, "'] path[j='")
.concat(
t,
"'],\n .apexcharts-rangebar-series .apexcharts-series[data\\:realIndex='"
)
.concat(e, "'] path[j='")
.concat(t, "']")
));
var n = o ? parseFloat(o.getAttribute("cx")) : 0,
l = o ? parseFloat(o.getAttribute("cy")) : 0,
h = o
? parseFloat(o.getAttribute("barWidth"))
: 0,
c = a.getElGrid().getBoundingClientRect(),
d =
o &&
(o.classList.contains(
"apexcharts-candlestick-area"
) ||
o.classList.contains(
"apexcharts-boxPlot-area"
));
i.globals.isXNumeric
? (o && !d && (n -= s % 2 != 0 ? h / 2 : 0),
o &&
d &&
i.globals.comboCharts &&
(n -= h / 2))
: i.globals.isBarHorizontal ||
((n =
a.xAxisTicksPositions[t - 1] +
a.dataPointsDividedWidth / 2),
isNaN(n) &&
(n =
a.xAxisTicksPositions[t] -
a.dataPointsDividedWidth / 2)),
i.globals.isBarHorizontal
? (l -= a.tooltipRect.ttHeight)
: i.config.tooltip.followCursor
? (l =
a.e.clientY -
c.top -
a.tooltipRect.ttHeight / 2)
: l + a.tooltipRect.ttHeight + 15 >
i.globals.gridHeight &&
(l = i.globals.gridHeight),
i.globals.isBarHorizontal ||
this.moveXCrosshairs(n),
a.fixedTooltip ||
this.moveTooltip(
n,
l || i.globals.gridHeight
);
},
},
]),
t
);
})(),
pt = (function () {
function t(e) {
a(this, t),
(this.w = e.w),
(this.ttCtx = e),
(this.ctx = e.ctx),
(this.tooltipPosition = new ut(e));
}
return (
r(t, [
{
key: "drawDynamicPoints",
value: function () {
var t = this.w,
e = new m(this.ctx),
i = new H(this.ctx),
a =
t.globals.dom.baseEl.querySelectorAll(
".apexcharts-series"
);
(a = u(a)),
t.config.chart.stacked &&
a.sort(function (t, e) {
return (
parseFloat(
t.getAttribute("data:realIndex")
) -
parseFloat(
e.getAttribute("data:realIndex")
)
);
});
for (var s = 0; s < a.length; s++) {
var r = a[s].querySelector(
".apexcharts-series-markers-wrap"
);
if (null !== r) {
var o = void 0,
n = "apexcharts-marker w".concat(
(Math.random() + 1)
.toString(36)
.substring(4)
);
("line" !== t.config.chart.type &&
"area" !== t.config.chart.type) ||
t.globals.comboCharts ||
t.config.tooltip.intersect ||
(n += " no-pointer-events");
var l = i.getMarkerConfig({
cssClass: n,
seriesIndex: Number(
r.getAttribute("data:realIndex")
),
});
(o = e.drawMarker(
0,
0,
l
)).node.setAttribute(
"default-marker-size",
0
);
var h = document.createElementNS(
t.globals.SVGNS,
"g"
);
h.classList.add(
"apexcharts-series-markers"
),
h.appendChild(o.node),
r.appendChild(h);
}
}
},
},
{
key: "enlargeCurrentPoint",
value: function (t, e) {
var i =
arguments.length > 2 &&
void 0 !== arguments[2]
? arguments[2]
: null,
a =
arguments.length > 3 &&
void 0 !== arguments[3]
? arguments[3]
: null,
s = this.w;
"bubble" !== s.config.chart.type &&
this.newPointSize(t, e);
var r = e.getAttribute("cx"),
o = e.getAttribute("cy");
if (
(null !== i && null !== a && ((r = i), (o = a)),
this.tooltipPosition.moveXCrosshairs(r),
!this.fixedTooltip)
) {
if ("radar" === s.config.chart.type) {
var n = this.ttCtx
.getElGrid()
.getBoundingClientRect();
r = this.ttCtx.e.clientX - n.left;
}
this.tooltipPosition.moveTooltip(
r,
o,
s.config.markers.hover.size
);
}
},
},
{
key: "enlargePoints",
value: function (t) {
for (
var e = this.w,
i = this,
a = this.ttCtx,
s = t,
r = e.globals.dom.baseEl.querySelectorAll(
".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"
),
o = e.config.markers.hover.size,
n = 0;
n < r.length;
n++
) {
var l = r[n].getAttribute("rel"),
h = r[n].getAttribute("index");
if (
(void 0 === o &&
(o =
e.globals.markers.size[h] +
e.config.markers.hover.sizeOffset),
s === parseInt(l, 10))
) {
i.newPointSize(s, r[n]);
var c = r[n].getAttribute("cx"),
d = r[n].getAttribute("cy");
i.tooltipPosition.moveXCrosshairs(c),
a.fixedTooltip ||
i.tooltipPosition.moveTooltip(
c,
d,
o
);
} else i.oldPointSize(r[n]);
}
},
},
{
key: "newPointSize",
value: function (t, e) {
var i = this.w,
a = i.config.markers.hover.size,
s =
0 === t
? e.parentNode.firstChild
: e.parentNode.lastChild;
if ("0" !== s.getAttribute("default-marker-size")) {
var r = parseInt(s.getAttribute("index"), 10);
void 0 === a &&
(a =
i.globals.markers.size[r] +
i.config.markers.hover.sizeOffset),
a < 0 && (a = 0),
s.setAttribute("r", a);
}
},
},
{
key: "oldPointSize",
value: function (t) {
var e = parseFloat(
t.getAttribute("default-marker-size")
);
t.setAttribute("r", e);
},
},
{
key: "resetPointsSize",
value: function () {
for (
var t =
this.w.globals.dom.baseEl.querySelectorAll(
".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"
),
e = 0;
e < t.length;
e++
) {
var i = parseFloat(
t[e].getAttribute("default-marker-size")
);
x.isNumber(i) && i >= 0
? t[e].setAttribute("r", i)
: t[e].setAttribute("r", 0);
}
},
},
]),
t
);
})(),
ft = (function () {
function t(e) {
a(this, t), (this.w = e.w);
var i = this.w;
(this.ttCtx = e),
(this.isVerticalGroupedRangeBar =
!i.globals.isBarHorizontal &&
"rangeBar" === i.config.chart.type &&
i.config.plotOptions.bar.rangeBarGroupRows);
}
return (
r(t, [
{
key: "getAttr",
value: function (t, e) {
return parseFloat(t.target.getAttribute(e));
},
},
{
key: "handleHeatTreeTooltip",
value: function (t) {
var e = t.e,
i = t.opt,
a = t.x,
s = t.y,
r = t.type,
o = this.ttCtx,
n = this.w;
if (
e.target.classList.contains(
"apexcharts-".concat(r, "-rect")
)
) {
var l = this.getAttr(e, "i"),
h = this.getAttr(e, "j"),
c = this.getAttr(e, "cx"),
d = this.getAttr(e, "cy"),
g = this.getAttr(e, "width"),
u = this.getAttr(e, "height");
if (
(o.tooltipLabels.drawSeriesTexts({
ttItems: i.ttItems,
i: l,
j: h,
shared: !1,
e: e,
}),
(n.globals.capturedSeriesIndex = l),
(n.globals.capturedDataPointIndex = h),
(a = c + o.tooltipRect.ttWidth / 2 + g),
(s =
d + o.tooltipRect.ttHeight / 2 - u / 2),
o.tooltipPosition.moveXCrosshairs(
c + g / 2
),
a > n.globals.gridWidth / 2 &&
(a = c - o.tooltipRect.ttWidth / 2 + g),
o.w.config.tooltip.followCursor)
) {
var p =
n.globals.dom.elWrap.getBoundingClientRect();
(a =
n.globals.clientX -
p.left -
(a > n.globals.gridWidth / 2
? o.tooltipRect.ttWidth
: 0)),
(s =
n.globals.clientY -
p.top -
(s > n.globals.gridHeight / 2
? o.tooltipRect.ttHeight
: 0));
}
}
return { x: a, y: s };
},
},
{
key: "handleMarkerTooltip",
value: function (t) {
var e,
i,
a = t.e,
s = t.opt,
r = t.x,
o = t.y,
n = this.w,
l = this.ttCtx;
if (
a.target.classList.contains("apexcharts-marker")
) {
var h = parseInt(
s.paths.getAttribute("cx"),
10
),
c = parseInt(
s.paths.getAttribute("cy"),
10
),
d = parseFloat(s.paths.getAttribute("val"));
if (
((i = parseInt(
s.paths.getAttribute("rel"),
10
)),
(e =
parseInt(
s.paths.parentNode.parentNode.parentNode.getAttribute(
"rel"
),
10
) - 1),
l.intersect)
) {
var g = x.findAncestor(
s.paths,
"apexcharts-series"
);
g &&
(e = parseInt(
g.getAttribute("data:realIndex"),
10
));
}
if (
(l.tooltipLabels.drawSeriesTexts({
ttItems: s.ttItems,
i: e,
j: i,
shared:
!l.showOnIntersect &&
n.config.tooltip.shared,
e: a,
}),
"mouseup" === a.type &&
l.markerClick(a, e, i),
(n.globals.capturedSeriesIndex = e),
(n.globals.capturedDataPointIndex = i),
(r = h),
(o =
c +
n.globals.translateY -
1.4 * l.tooltipRect.ttHeight),
l.w.config.tooltip.followCursor)
) {
var u = l
.getElGrid()
.getBoundingClientRect();
o =
l.e.clientY +
n.globals.translateY -
u.top;
}
d < 0 && (o = c),
l.marker.enlargeCurrentPoint(
i,
s.paths,
r,
o
);
}
return { x: r, y: o };
},
},
{
key: "handleBarTooltip",
value: function (t) {
var e,
i,
a = t.e,
s = t.opt,
r = this.w,
o = this.ttCtx,
n = o.getElTooltip(),
l = 0,
h = 0,
c = 0,
d = this.getBarTooltipXY({ e: a, opt: s });
e = d.i;
var g = d.barHeight,
u = d.j;
(r.globals.capturedSeriesIndex = e),
(r.globals.capturedDataPointIndex = u),
(r.globals.isBarHorizontal &&
o.tooltipUtil.hasBars()) ||
!r.config.tooltip.shared
? ((h = d.x),
(c = d.y),
(i = Array.isArray(r.config.stroke.width)
? r.config.stroke.width[e]
: r.config.stroke.width),
(l = h))
: r.globals.comboCharts ||
r.config.tooltip.shared ||
(l /= 2),
isNaN(c) &&
(c =
r.globals.svgHeight -
o.tooltipRect.ttHeight);
var p = parseInt(
s.paths.parentNode.getAttribute(
"data:realIndex"
),
10
),
f = r.globals.isMultipleYAxis
? r.config.yaxis[p] &&
r.config.yaxis[p].reversed
: r.config.yaxis[0].reversed;
if (
(h + o.tooltipRect.ttWidth >
r.globals.gridWidth && !f
? (h -= o.tooltipRect.ttWidth)
: h < 0 && (h = 0),
o.w.config.tooltip.followCursor)
) {
var x = o.getElGrid().getBoundingClientRect();
c = o.e.clientY - x.top;
}
null === o.tooltip &&
(o.tooltip = r.globals.dom.baseEl.querySelector(
".apexcharts-tooltip"
)),
r.config.tooltip.shared ||
(r.globals.comboBarCount > 0
? o.tooltipPosition.moveXCrosshairs(
l + i / 2
)
: o.tooltipPosition.moveXCrosshairs(l)),
!o.fixedTooltip &&
(!r.config.tooltip.shared ||
(r.globals.isBarHorizontal &&
o.tooltipUtil.hasBars())) &&
(f &&
(h -= o.tooltipRect.ttWidth) < 0 &&
(h = 0),
!f ||
(r.globals.isBarHorizontal &&
o.tooltipUtil.hasBars()) ||
(c =
c +
g -
2 *
(r.globals.series[e][u] < 0
? g
: 0)),
(c =
c +
r.globals.translateY -
o.tooltipRect.ttHeight / 2),
(n.style.left =
h + r.globals.translateX + "px"),
(n.style.top = c + "px"));
},
},
{
key: "getBarTooltipXY",
value: function (t) {
var e = this,
i = t.e,
a = t.opt,
s = this.w,
r = null,
o = this.ttCtx,
n = 0,
l = 0,
h = 0,
c = 0,
d = 0,
g = i.target.classList;
if (
g.contains("apexcharts-bar-area") ||
g.contains("apexcharts-candlestick-area") ||
g.contains("apexcharts-boxPlot-area") ||
g.contains("apexcharts-rangebar-area")
) {
var u = i.target,
p = u.getBoundingClientRect(),
f = a.elGrid.getBoundingClientRect(),
x = p.height;
d = p.height;
var b = p.width,
v = parseInt(u.getAttribute("cx"), 10),
m = parseInt(u.getAttribute("cy"), 10);
c = parseFloat(u.getAttribute("barWidth"));
var y =
"touchmove" === i.type
? i.touches[0].clientX
: i.clientX;
(r = parseInt(u.getAttribute("j"), 10)),
(n =
parseInt(
u.parentNode.getAttribute("rel"),
10
) - 1);
var w = u.getAttribute("data-range-y1"),
k = u.getAttribute("data-range-y2");
s.globals.comboCharts &&
(n = parseInt(
u.parentNode.getAttribute(
"data:realIndex"
),
10
));
var A = function (t) {
return s.globals.isXNumeric
? v - b / 2
: e.isVerticalGroupedRangeBar
? v + b / 2
: v -
o.dataPointsDividedWidth +
b / 2;
},
S = function () {
return (
m -
o.dataPointsDividedHeight +
x / 2 -
o.tooltipRect.ttHeight / 2
);
};
o.tooltipLabels.drawSeriesTexts({
ttItems: a.ttItems,
i: n,
j: r,
y1: w ? parseInt(w, 10) : null,
y2: k ? parseInt(k, 10) : null,
shared:
!o.showOnIntersect &&
s.config.tooltip.shared,
e: i,
}),
s.config.tooltip.followCursor
? s.globals.isBarHorizontal
? ((l = y - f.left + 15), (h = S()))
: ((l = A()),
(h =
i.clientY -
f.top -
o.tooltipRect.ttHeight / 2 -
15))
: s.globals.isBarHorizontal
? ((l = v) <
o.xyRatios.baseLineInvertedY &&
(l = v - o.tooltipRect.ttWidth),
(h = S()))
: ((l = A()), (h = m));
}
return {
x: l,
y: h,
barHeight: d,
barWidth: c,
i: n,
j: r,
};
},
},
]),
t
);
})(),
xt = (function () {
function t(e) {
a(this, t), (this.w = e.w), (this.ttCtx = e);
}
return (
r(t, [
{
key: "drawXaxisTooltip",
value: function () {
var t = this.w,
e = this.ttCtx,
i = "bottom" === t.config.xaxis.position;
e.xaxisOffY = i
? t.globals.gridHeight + 1
: -t.globals.xAxisHeight -
t.config.xaxis.axisTicks.height +
3;
var a = i
? "apexcharts-xaxistooltip apexcharts-xaxistooltip-bottom"
: "apexcharts-xaxistooltip apexcharts-xaxistooltip-top",
s = t.globals.dom.elWrap;
e.isXAxisTooltipEnabled &&
null ===
t.globals.dom.baseEl.querySelector(
".apexcharts-xaxistooltip"
) &&
((e.xaxisTooltip =
document.createElement("div")),
e.xaxisTooltip.setAttribute(
"class",
a +
" apexcharts-theme-" +
t.config.tooltip.theme
),
s.appendChild(e.xaxisTooltip),
(e.xaxisTooltipText =
document.createElement("div")),
e.xaxisTooltipText.classList.add(
"apexcharts-xaxistooltip-text"
),
(e.xaxisTooltipText.style.fontFamily =
t.config.xaxis.tooltip.style.fontFamily ||
t.config.chart.fontFamily),
(e.xaxisTooltipText.style.fontSize =
t.config.xaxis.tooltip.style.fontSize),
e.xaxisTooltip.appendChild(e.xaxisTooltipText));
},
},
{
key: "drawYaxisTooltip",
value: function () {
for (
var t = this.w,
e = this.ttCtx,
i = function (i) {
var a =
t.config.yaxis[i].opposite ||
t.config.yaxis[i].crosshairs
.opposite;
e.yaxisOffX = a
? t.globals.gridWidth + 1
: 1;
var s =
"apexcharts-yaxistooltip apexcharts-yaxistooltip-".concat(
i,
a
? " apexcharts-yaxistooltip-right"
: " apexcharts-yaxistooltip-left"
);
t.globals.yAxisSameScaleIndices.map(
function (e, a) {
e.map(function (e, a) {
a === i &&
(s += t.config.yaxis[a]
.show
? " "
: " apexcharts-yaxistooltip-hidden");
});
}
);
var r = t.globals.dom.elWrap;
null ===
t.globals.dom.baseEl.querySelector(
".apexcharts-yaxistooltip apexcharts-yaxistooltip-".concat(
i
)
) &&
((e.yaxisTooltip =
document.createElement("div")),
e.yaxisTooltip.setAttribute(
"class",
s +
" apexcharts-theme-" +
t.config.tooltip.theme
),
r.appendChild(e.yaxisTooltip),
0 === i &&
(e.yaxisTooltipText = []),
(e.yaxisTooltipText[i] =
document.createElement("div")),
e.yaxisTooltipText[i].classList.add(
"apexcharts-yaxistooltip-text"
),
e.yaxisTooltip.appendChild(
e.yaxisTooltipText[i]
));
},
a = 0;
a < t.config.yaxis.length;
a++
)
i(a);
},
},
{
key: "setXCrosshairWidth",
value: function () {
var t = this.w,
e = this.ttCtx,
i = e.getElXCrosshairs();
if (
((e.xcrosshairsWidth = parseInt(
t.config.xaxis.crosshairs.width,
10
)),
t.globals.comboCharts)
) {
var a = t.globals.dom.baseEl.querySelector(
".apexcharts-bar-area"
);
if (
null !== a &&
"barWidth" ===
t.config.xaxis.crosshairs.width
) {
var s = parseFloat(
a.getAttribute("barWidth")
);
e.xcrosshairsWidth = s;
} else if (
"tickWidth" ===
t.config.xaxis.crosshairs.width
) {
var r = t.globals.labels.length;
e.xcrosshairsWidth =
t.globals.gridWidth / r;
}
} else if (
"tickWidth" === t.config.xaxis.crosshairs.width
) {
var o = t.globals.labels.length;
e.xcrosshairsWidth = t.globals.gridWidth / o;
} else if (
"barWidth" === t.config.xaxis.crosshairs.width
) {
var n = t.globals.dom.baseEl.querySelector(
".apexcharts-bar-area"
);
if (null !== n) {
var l = parseFloat(
n.getAttribute("barWidth")
);
e.xcrosshairsWidth = l;
} else e.xcrosshairsWidth = 1;
}
t.globals.isBarHorizontal &&
(e.xcrosshairsWidth = 0),
null !== i &&
e.xcrosshairsWidth > 0 &&
i.setAttribute("width", e.xcrosshairsWidth);
},
},
{
key: "handleYCrosshair",
value: function () {
var t = this.w,
e = this.ttCtx;
(e.ycrosshairs = t.globals.dom.baseEl.querySelector(
".apexcharts-ycrosshairs"
)),
(e.ycrosshairsHidden =
t.globals.dom.baseEl.querySelector(
".apexcharts-ycrosshairs-hidden"
));
},
},
{
key: "drawYaxisTooltipText",
value: function (t, e, i) {
var a = this.ttCtx,
s = this.w,
r = s.globals.yLabelFormatters[t];
if (a.yaxisTooltips[t]) {
var o = a.getElGrid().getBoundingClientRect(),
n = (e - o.top) * i.yRatio[t],
l =
s.globals.maxYArr[t] -
s.globals.minYArr[t],
h = s.globals.minYArr[t] + (l - n);
a.tooltipPosition.moveYCrosshairs(e - o.top),
(a.yaxisTooltipText[t].innerHTML = r(h)),
a.tooltipPosition.moveYAxisTooltip(t);
}
},
},
]),
t
);
})(),
bt = (function () {
function t(e) {
a(this, t), (this.ctx = e), (this.w = e.w);
var i = this.w;
(this.tConfig = i.config.tooltip),
(this.tooltipUtil = new dt(this)),
(this.tooltipLabels = new gt(this)),
(this.tooltipPosition = new ut(this)),
(this.marker = new pt(this)),
(this.intersect = new ft(this)),
(this.axesTooltip = new xt(this)),
(this.showOnIntersect = this.tConfig.intersect),
(this.showTooltipTitle = this.tConfig.x.show),
(this.fixedTooltip = this.tConfig.fixed.enabled),
(this.xaxisTooltip = null),
(this.yaxisTTEls = null),
(this.isBarShared =
!i.globals.isBarHorizontal && this.tConfig.shared),
(this.lastHoverTime = Date.now());
}
return (
r(t, [
{
key: "getElTooltip",
value: function (t) {
return (
t || (t = this),
t.w.globals.dom.baseEl
? t.w.globals.dom.baseEl.querySelector(
".apexcharts-tooltip"
)
: null
);
},
},
{
key: "getElXCrosshairs",
value: function () {
return this.w.globals.dom.baseEl.querySelector(
".apexcharts-xcrosshairs"
);
},
},
{
key: "getElGrid",
value: function () {
return this.w.globals.dom.baseEl.querySelector(
".apexcharts-grid"
);
},
},
{
key: "drawTooltip",
value: function (t) {
var e = this.w;
(this.xyRatios = t),
(this.isXAxisTooltipEnabled =
e.config.xaxis.tooltip.enabled &&
e.globals.axisCharts),
(this.yaxisTooltips = e.config.yaxis.map(
function (t, i) {
return !!(
t.show &&
t.tooltip.enabled &&
e.globals.axisCharts
);
}
)),
(this.allTooltipSeriesGroups = []),
e.globals.axisCharts ||
(this.showTooltipTitle = !1);
var i = document.createElement("div");
if (
(i.classList.add("apexcharts-tooltip"),
e.config.tooltip.cssClass &&
i.classList.add(e.config.tooltip.cssClass),
i.classList.add(
"apexcharts-theme-".concat(
this.tConfig.theme
)
),
e.globals.dom.elWrap.appendChild(i),
e.globals.axisCharts)
) {
this.axesTooltip.drawXaxisTooltip(),
this.axesTooltip.drawYaxisTooltip(),
this.axesTooltip.setXCrosshairWidth(),
this.axesTooltip.handleYCrosshair();
var a = new V(this.ctx);
this.xAxisTicksPositions =
a.getXAxisTicksPositions();
}
if (
((!e.globals.comboCharts &&
!this.tConfig.intersect &&
"rangeBar" !== e.config.chart.type) ||
this.tConfig.shared ||
(this.showOnIntersect = !0),
(0 !== e.config.markers.size &&
0 !== e.globals.markers.largestSize) ||
this.marker.drawDynamicPoints(this),
e.globals.collapsedSeries.length !==
e.globals.series.length)
) {
(this.dataPointsDividedHeight =
e.globals.gridHeight /
e.globals.dataPoints),
(this.dataPointsDividedWidth =
e.globals.gridWidth /
e.globals.dataPoints),
this.showTooltipTitle &&
((this.tooltipTitle =
document.createElement("div")),
this.tooltipTitle.classList.add(
"apexcharts-tooltip-title"
),
(this.tooltipTitle.style.fontFamily =
this.tConfig.style.fontFamily ||
e.config.chart.fontFamily),
(this.tooltipTitle.style.fontSize =
this.tConfig.style.fontSize),
i.appendChild(this.tooltipTitle));
var s = e.globals.series.length;
(e.globals.xyCharts || e.globals.comboCharts) &&
this.tConfig.shared &&
(s = this.showOnIntersect
? 1
: e.globals.series.length),
(this.legendLabels =
e.globals.dom.baseEl.querySelectorAll(
".apexcharts-legend-text"
)),
(this.ttItems = this.createTTElements(s)),
this.addSVGEvents();
}
},
},
{
key: "createTTElements",
value: function (t) {
for (
var e = this,
i = this.w,
a = [],
s = this.getElTooltip(),
r = function (r) {
var o = document.createElement("div");
o.classList.add(
"apexcharts-tooltip-series-group"
),
(o.style.order = i.config.tooltip
.inverseOrder
? t - r
: r + 1),
e.tConfig.shared &&
e.tConfig.enabledOnSeries &&
Array.isArray(
e.tConfig.enabledOnSeries
) &&
e.tConfig.enabledOnSeries.indexOf(
r
) < 0 &&
o.classList.add(
"apexcharts-tooltip-series-group-hidden"
);
var n = document.createElement("span");
n.classList.add(
"apexcharts-tooltip-marker"
),
(n.style.backgroundColor =
i.globals.colors[r]),
o.appendChild(n);
var l = document.createElement("div");
l.classList.add(
"apexcharts-tooltip-text"
),
(l.style.fontFamily =
e.tConfig.style.fontFamily ||
i.config.chart.fontFamily),
(l.style.fontSize =
e.tConfig.style.fontSize),
["y", "goals", "z"].forEach(
function (t) {
var e =
document.createElement(
"div"
);
e.classList.add(
"apexcharts-tooltip-".concat(
t,
"-group"
)
);
var i =
document.createElement(
"span"
);
i.classList.add(
"apexcharts-tooltip-text-".concat(
t,
"-label"
)
),
e.appendChild(i);
var a =
document.createElement(
"span"
);
a.classList.add(
"apexcharts-tooltip-text-".concat(
t,
"-value"
)
),
e.appendChild(a),
l.appendChild(e);
}
),
o.appendChild(l),
s.appendChild(o),
a.push(o);
},
o = 0;
o < t;
o++
)
r(o);
return a;
},
},
{
key: "addSVGEvents",
value: function () {
var t = this.w,
e = t.config.chart.type,
i = this.getElTooltip(),
a = !(
"bar" !== e &&
"candlestick" !== e &&
"boxPlot" !== e &&
"rangeBar" !== e
),
s =
"area" === e ||
"line" === e ||
"scatter" === e ||
"bubble" === e ||
"radar" === e,
r = t.globals.dom.Paper.node,
o = this.getElGrid();
o && (this.seriesBound = o.getBoundingClientRect());
var n,
l = [],
h = [],
c = {
hoverArea: r,
elGrid: o,
tooltipEl: i,
tooltipY: l,
tooltipX: h,
ttItems: this.ttItems,
};
if (
t.globals.axisCharts &&
(s
? (n =
t.globals.dom.baseEl.querySelectorAll(
".apexcharts-series[data\\:longestSeries='true'] .apexcharts-marker"
))
: a
? (n =
t.globals.dom.baseEl.querySelectorAll(
".apexcharts-series .apexcharts-bar-area, .apexcharts-series .apexcharts-candlestick-area, .apexcharts-series .apexcharts-boxPlot-area, .apexcharts-series .apexcharts-rangebar-area"
))
: ("heatmap" !== e && "treemap" !== e) ||
(n =
t.globals.dom.baseEl.querySelectorAll(
".apexcharts-series .apexcharts-heatmap, .apexcharts-series .apexcharts-treemap"
)),
n && n.length)
)
for (var d = 0; d < n.length; d++)
l.push(n[d].getAttribute("cy")),
h.push(n[d].getAttribute("cx"));
if (
(t.globals.xyCharts && !this.showOnIntersect) ||
(t.globals.comboCharts &&
!this.showOnIntersect) ||
(a &&
this.tooltipUtil.hasBars() &&
this.tConfig.shared)
)
this.addPathsEventListeners([r], c);
else if (
(a && !t.globals.comboCharts) ||
(s && this.showOnIntersect)
)
this.addDatapointEventsListeners(c);
else if (
!t.globals.axisCharts ||
"heatmap" === e ||
"treemap" === e
) {
var g =
t.globals.dom.baseEl.querySelectorAll(
".apexcharts-series"
);
this.addPathsEventListeners(g, c);
}
if (this.showOnIntersect) {
var u = t.globals.dom.baseEl.querySelectorAll(
".apexcharts-line-series .apexcharts-marker, .apexcharts-area-series .apexcharts-marker"
);
u.length > 0 &&
this.addPathsEventListeners(u, c),
this.tooltipUtil.hasBars() &&
!this.tConfig.shared &&
this.addDatapointEventsListeners(c);
}
},
},
{
key: "drawFixedTooltipRect",
value: function () {
var t = this.w,
e = this.getElTooltip(),
i = e.getBoundingClientRect(),
a = i.width + 10,
s = i.height + 10,
r = this.tConfig.fixed.offsetX,
o = this.tConfig.fixed.offsetY,
n = this.tConfig.fixed.position.toLowerCase();
return (
n.indexOf("right") > -1 &&
(r = r + t.globals.svgWidth - a + 10),
n.indexOf("bottom") > -1 &&
(o = o + t.globals.svgHeight - s - 10),
(e.style.left = r + "px"),
(e.style.top = o + "px"),
{ x: r, y: o, ttWidth: a, ttHeight: s }
);
},
},
{
key: "addDatapointEventsListeners",
value: function (t) {
var e = this.w.globals.dom.baseEl.querySelectorAll(
".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area"
);
this.addPathsEventListeners(e, t);
},
},
{
key: "addPathsEventListeners",
value: function (t, e) {
for (
var i = this,
a = function (a) {
var s = {
paths: t[a],
tooltipEl: e.tooltipEl,
tooltipY: e.tooltipY,
tooltipX: e.tooltipX,
elGrid: e.elGrid,
hoverArea: e.hoverArea,
ttItems: e.ttItems,
};
[
"mousemove",
"mouseup",
"touchmove",
"mouseout",
"touchend",
].map(function (e) {
return t[a].addEventListener(
e,
i.onSeriesHover.bind(i, s),
{ capture: !1, passive: !0 }
);
});
},
s = 0;
s < t.length;
s++
)
a(s);
},
},
{
key: "onSeriesHover",
value: function (t, e) {
var i = this,
a = Date.now() - this.lastHoverTime;
a >= 100
? this.seriesHover(t, e)
: (clearTimeout(this.seriesHoverTimeout),
(this.seriesHoverTimeout = setTimeout(
function () {
i.seriesHover(t, e);
},
100 - a
)));
},
},
{
key: "seriesHover",
value: function (t, e) {
var i = this;
this.lastHoverTime = Date.now();
var a = [],
s = this.w;
s.config.chart.group &&
(a = this.ctx.getGroupedCharts()),
(s.globals.axisCharts &&
((s.globals.minX === -1 / 0 &&
s.globals.maxX === 1 / 0) ||
0 === s.globals.dataPoints)) ||
(a.length
? a.forEach(function (a) {
var s = i.getElTooltip(a),
r = {
paths: t.paths,
tooltipEl: s,
tooltipY: t.tooltipY,
tooltipX: t.tooltipX,
elGrid: t.elGrid,
hoverArea: t.hoverArea,
ttItems:
a.w.globals.tooltip
.ttItems,
};
a.w.globals.minX ===
i.w.globals.minX &&
a.w.globals.maxX ===
i.w.globals.maxX &&
a.w.globals.tooltip.seriesHoverByContext(
{
chartCtx: a,
ttCtx: a.w.globals
.tooltip,
opt: r,
e: e,
}
);
})
: this.seriesHoverByContext({
chartCtx: this.ctx,
ttCtx: this.w.globals.tooltip,
opt: t,
e: e,
}));
},
},
{
key: "seriesHoverByContext",
value: function (t) {
var e = t.chartCtx,
i = t.ttCtx,
a = t.opt,
s = t.e,
r = e.w,
o = this.getElTooltip();
if (o) {
if (
((i.tooltipRect = {
x: 0,
y: 0,
ttWidth:
o.getBoundingClientRect().width,
ttHeight:
o.getBoundingClientRect().height,
}),
(i.e = s),
i.tooltipUtil.hasBars() &&
!r.globals.comboCharts &&
!i.isBarShared)
)
if (
this.tConfig.onDatasetHover
.highlightDataSeries
)
new N(e).toggleSeriesOnHover(
s,
s.target.parentNode
);
i.fixedTooltip && i.drawFixedTooltipRect(),
r.globals.axisCharts
? i.axisChartsTooltips({
e: s,
opt: a,
tooltipRect: i.tooltipRect,
})
: i.nonAxisChartsTooltips({
e: s,
opt: a,
tooltipRect: i.tooltipRect,
});
}
},
},
{
key: "axisChartsTooltips",
value: function (t) {
var e,
i,
a = t.e,
s = t.opt,
r = this.w,
o = s.elGrid.getBoundingClientRect(),
n =
"touchmove" === a.type
? a.touches[0].clientX
: a.clientX,
l =
"touchmove" === a.type
? a.touches[0].clientY
: a.clientY;
if (
((this.clientY = l),
(this.clientX = n),
(r.globals.capturedSeriesIndex = -1),
(r.globals.capturedDataPointIndex = -1),
l < o.top || l > o.top + o.height)
)
this.handleMouseOut(s);
else {
if (
Array.isArray(
this.tConfig.enabledOnSeries
) &&
!r.config.tooltip.shared
) {
var h = parseInt(
s.paths.getAttribute("index"),
10
);
if (
this.tConfig.enabledOnSeries.indexOf(
h
) < 0
)
return void this.handleMouseOut(s);
}
var c = this.getElTooltip(),
d = this.getElXCrosshairs(),
g =
r.globals.xyCharts ||
("bar" === r.config.chart.type &&
!r.globals.isBarHorizontal &&
this.tooltipUtil.hasBars() &&
this.tConfig.shared) ||
(r.globals.comboCharts &&
this.tooltipUtil.hasBars());
if (
"mousemove" === a.type ||
"touchmove" === a.type ||
"mouseup" === a.type
) {
if (
r.globals.collapsedSeries.length +
r.globals.ancillaryCollapsedSeries
.length ===
r.globals.series.length
)
return;
null !== d &&
d.classList.add("apexcharts-active");
var u = this.yaxisTooltips.filter(function (
t
) {
return !0 === t;
});
if (
(null !== this.ycrosshairs &&
u.length &&
this.ycrosshairs.classList.add(
"apexcharts-active"
),
g && !this.showOnIntersect)
)
this.handleStickyTooltip(a, n, l, s);
else if (
"heatmap" === r.config.chart.type ||
"treemap" === r.config.chart.type
) {
var p =
this.intersect.handleHeatTreeTooltip(
{
e: a,
opt: s,
x: e,
y: i,
type: r.config.chart.type,
}
);
(e = p.x),
(i = p.y),
(c.style.left = e + "px"),
(c.style.top = i + "px");
} else
this.tooltipUtil.hasBars() &&
this.intersect.handleBarTooltip({
e: a,
opt: s,
}),
this.tooltipUtil.hasMarkers() &&
this.intersect.handleMarkerTooltip(
{ e: a, opt: s, x: e, y: i }
);
if (this.yaxisTooltips.length)
for (
var f = 0;
f < r.config.yaxis.length;
f++
)
this.axesTooltip.drawYaxisTooltipText(
f,
l,
this.xyRatios
);
s.tooltipEl.classList.add(
"apexcharts-active"
);
} else
("mouseout" !== a.type &&
"touchend" !== a.type) ||
this.handleMouseOut(s);
}
},
},
{
key: "nonAxisChartsTooltips",
value: function (t) {
var e = t.e,
i = t.opt,
a = t.tooltipRect,
s = this.w,
r = i.paths.getAttribute("rel"),
o = this.getElTooltip(),
n =
s.globals.dom.elWrap.getBoundingClientRect();
if (
"mousemove" === e.type ||
"touchmove" === e.type
) {
o.classList.add("apexcharts-active"),
this.tooltipLabels.drawSeriesTexts({
ttItems: i.ttItems,
i: parseInt(r, 10) - 1,
shared: !1,
});
var l =
s.globals.clientX -
n.left -
a.ttWidth / 2,
h =
s.globals.clientY -
n.top -
a.ttHeight -
10;
if (
((o.style.left = l + "px"),
(o.style.top = h + "px"),
s.config.legend.tooltipHoverFormatter)
) {
var c = r - 1,
d = (0,
s.config.legend.tooltipHoverFormatter)(
this.legendLabels[c].getAttribute(
"data:default-text"
),
{
seriesIndex: c,
dataPointIndex: c,
w: s,
}
);
this.legendLabels[c].innerHTML = d;
}
} else
("mouseout" !== e.type &&
"touchend" !== e.type) ||
(o.classList.remove("apexcharts-active"),
s.config.legend.tooltipHoverFormatter &&
this.legendLabels.forEach(function (t) {
var e =
t.getAttribute(
"data:default-text"
);
t.innerHTML = decodeURIComponent(e);
}));
},
},
{
key: "handleStickyTooltip",
value: function (t, e, i, a) {
var s = this.w,
r = this.tooltipUtil.getNearestValues({
context: this,
hoverArea: a.hoverArea,
elGrid: a.elGrid,
clientX: e,
clientY: i,
}),
o = r.j,
n = r.capturedSeries;
s.globals.collapsedSeriesIndices.includes(n) &&
(n = null);
var l = a.elGrid.getBoundingClientRect();
if (r.hoverX < 0 || r.hoverX > l.width)
this.handleMouseOut(a);
else if (null !== n)
this.handleStickyCapturedSeries(t, n, a, o);
else if (
this.tooltipUtil.isXoverlap(o) ||
s.globals.isBarHorizontal
) {
var h = s.globals.series.findIndex(function (
t,
e
) {
return !s.globals.collapsedSeriesIndices.includes(
e
);
});
this.create(t, this, h, o, a.ttItems);
}
},
},
{
key: "handleStickyCapturedSeries",
value: function (t, e, i, a) {
var s = this.w;
if (
!this.tConfig.shared &&
null === s.globals.series[e][a]
)
return void this.handleMouseOut(i);
if (void 0 !== s.globals.series[e][a])
this.tConfig.shared &&
this.tooltipUtil.isXoverlap(a) &&
this.tooltipUtil.isInitialSeriesSameLen()
? this.create(t, this, e, a, i.ttItems)
: this.create(t, this, e, a, i.ttItems, !1);
else if (this.tooltipUtil.isXoverlap(a)) {
var r = s.globals.series.findIndex(function (
t,
e
) {
return !s.globals.collapsedSeriesIndices.includes(
e
);
});
this.create(t, this, r, a, i.ttItems);
}
},
},
{
key: "deactivateHoverFilter",
value: function () {
for (
var t = this.w,
e = new m(this.ctx),
i = t.globals.dom.Paper.select(
".apexcharts-bar-area"
),
a = 0;
a < i.length;
a++
)
e.pathMouseLeave(i[a]);
},
},
{
key: "handleMouseOut",
value: function (t) {
var e = this.w,
i = this.getElXCrosshairs();
if (
(t.tooltipEl.classList.remove(
"apexcharts-active"
),
this.deactivateHoverFilter(),
"bubble" !== e.config.chart.type &&
this.marker.resetPointsSize(),
null !== i &&
i.classList.remove("apexcharts-active"),
null !== this.ycrosshairs &&
this.ycrosshairs.classList.remove(
"apexcharts-active"
),
this.isXAxisTooltipEnabled &&
this.xaxisTooltip.classList.remove(
"apexcharts-active"
),
this.yaxisTooltips.length)
) {
null === this.yaxisTTEls &&
(this.yaxisTTEls =
e.globals.dom.baseEl.querySelectorAll(
".apexcharts-yaxistooltip"
));
for (var a = 0; a < this.yaxisTTEls.length; a++)
this.yaxisTTEls[a].classList.remove(
"apexcharts-active"
);
}
e.config.legend.tooltipHoverFormatter &&
this.legendLabels.forEach(function (t) {
var e = t.getAttribute("data:default-text");
t.innerHTML = decodeURIComponent(e);
});
},
},
{
key: "markerClick",
value: function (t, e, i) {
var a = this.w;
"function" ==
typeof a.config.chart.events.markerClick &&
a.config.chart.events.markerClick(t, this.ctx, {
seriesIndex: e,
dataPointIndex: i,
w: a,
}),
this.ctx.events.fireEvent("markerClick", [
t,
this.ctx,
{ seriesIndex: e, dataPointIndex: i, w: a },
]);
},
},
{
key: "create",
value: function (t, i, a, s, r) {
var o,
n,
l,
h,
c,
d,
g,
u,
p,
f,
x,
b,
v,
y,
w,
k,
A =
arguments.length > 5 &&
void 0 !== arguments[5]
? arguments[5]
: null,
S = this.w,
C = i;
"mouseup" === t.type && this.markerClick(t, a, s),
null === A && (A = this.tConfig.shared);
var L = this.tooltipUtil.hasMarkers(a),
P = this.tooltipUtil.getElBars();
if (S.config.legend.tooltipHoverFormatter) {
var I = S.config.legend.tooltipHoverFormatter,
T = Array.from(this.legendLabels);
T.forEach(function (t) {
var e = t.getAttribute("data:default-text");
t.innerHTML = decodeURIComponent(e);
});
for (var M = 0; M < T.length; M++) {
var z = T[M],
X = parseInt(z.getAttribute("i"), 10),
E = decodeURIComponent(
z.getAttribute("data:default-text")
),
Y = I(E, {
seriesIndex: A ? X : a,
dataPointIndex: s,
w: S,
});
if (A)
z.innerHTML =
S.globals.collapsedSeriesIndices.indexOf(
X
) < 0
? Y
: E;
else if (
((z.innerHTML = X === a ? Y : E),
a === X)
)
break;
}
}
var F = e(
e(
{ ttItems: r, i: a, j: s },
void 0 !==
(null === (o = S.globals.seriesRange) ||
void 0 === o ||
null === (n = o[a]) ||
void 0 === n ||
null === (l = n[s]) ||
void 0 === l ||
null === (h = l.y[0]) ||
void 0 === h
? void 0
: h.y1) && {
y1:
null ===
(c = S.globals.seriesRange) ||
void 0 === c ||
null === (d = c[a]) ||
void 0 === d ||
null === (g = d[s]) ||
void 0 === g ||
null === (u = g.y[0]) ||
void 0 === u
? void 0
: u.y1,
}
),
void 0 !==
(null === (p = S.globals.seriesRange) ||
void 0 === p ||
null === (f = p[a]) ||
void 0 === f ||
null === (x = f[s]) ||
void 0 === x ||
null === (b = x.y[0]) ||
void 0 === b
? void 0
: b.y2) && {
y2:
null === (v = S.globals.seriesRange) ||
void 0 === v ||
null === (y = v[a]) ||
void 0 === y ||
null === (w = y[s]) ||
void 0 === w ||
null === (k = w.y[0]) ||
void 0 === k
? void 0
: k.y2,
}
);
if (A) {
if (
(C.tooltipLabels.drawSeriesTexts(
e(
e({}, F),
{},
{
shared:
!this.showOnIntersect &&
this.tConfig.shared,
}
)
),
L)
)
S.globals.markers.largestSize > 0
? C.marker.enlargePoints(s)
: C.tooltipPosition.moveDynamicPointsOnHover(
s
);
else if (
this.tooltipUtil.hasBars() &&
((this.barSeriesHeight =
this.tooltipUtil.getBarsHeight(P)),
this.barSeriesHeight > 0)
) {
var R = new m(this.ctx),
H = S.globals.dom.Paper.select(
".apexcharts-bar-area[j='".concat(
s,
"']"
)
);
this.deactivateHoverFilter(),
this.tooltipPosition.moveStickyTooltipOverBars(
s,
a
);
for (var D = 0; D < H.length; D++)
R.pathMouseEnter(H[D]);
}
} else
C.tooltipLabels.drawSeriesTexts(
e({ shared: !1 }, F)
),
this.tooltipUtil.hasBars() &&
C.tooltipPosition.moveStickyTooltipOverBars(
s,
a
),
L && C.tooltipPosition.moveMarkers(a, s);
},
},
]),
t
);
})(),
vt = (function () {
function t(e) {
a(this, t),
(this.w = e.w),
(this.barCtx = e),
(this.totalFormatter =
this.w.config.plotOptions.bar.dataLabels.total.formatter),
this.totalFormatter ||
(this.totalFormatter =
this.w.config.dataLabels.formatter);
}
return (
r(t, [
{
key: "handleBarDataLabels",
value: function (t) {
var e = t.x,
i = t.y,
a = t.y1,
s = t.y2,
r = t.i,
o = t.j,
n = t.realIndex,
l = t.groupIndex,
h = t.series,
c = t.barHeight,
d = t.barWidth,
g = t.barXPosition,
u = t.barYPosition,
p = t.visibleSeries,
f = t.renderedPath,
x = this.w,
b = new m(this.barCtx.ctx),
v = Array.isArray(this.barCtx.strokeWidth)
? this.barCtx.strokeWidth[n]
: this.barCtx.strokeWidth,
y = e + parseFloat(d * p),
w = i + parseFloat(c * p);
x.globals.isXNumeric &&
!x.globals.isBarHorizontal &&
((y = e + parseFloat(d * (p + 1))),
(w = i + parseFloat(c * (p + 1)) - v));
var k,
A = null,
S = e,
C = i,
L = {},
P = x.config.dataLabels,
I = this.barCtx.barOptions.dataLabels,
T = this.barCtx.barOptions.dataLabels.total;
void 0 !== u &&
this.barCtx.isRangeBar &&
((w = u), (C = u)),
void 0 !== g &&
this.barCtx.isVerticalGroupedRangeBar &&
((y = g), (S = g));
var M = P.offsetX,
z = P.offsetY,
X = { width: 0, height: 0 };
if (x.config.dataLabels.enabled) {
var E = this.barCtx.series[r][o];
X = b.getTextRects(
x.globals.yLabelFormatters[0](E),
parseFloat(P.style.fontSize)
);
}
var Y = {
x: e,
y: i,
i: r,
j: o,
realIndex: n,
groupIndex: l || -1,
renderedPath: f,
bcx: y,
bcy: w,
barHeight: c,
barWidth: d,
textRects: X,
strokeWidth: v,
dataLabelsX: S,
dataLabelsY: C,
dataLabelsConfig: P,
barDataLabelsConfig: I,
barTotalDataLabelsConfig: T,
offX: M,
offY: z,
};
return (
(L = this.barCtx.isHorizontal
? this.calculateBarsDataLabelsPosition(Y)
: this.calculateColumnsDataLabelsPosition(
Y
)),
f.attr({
cy: L.bcy,
cx: L.bcx,
j: o,
val: h[r][o],
barHeight: c,
barWidth: d,
}),
(k = this.drawCalculatedDataLabels({
x: L.dataLabelsX,
y: L.dataLabelsY,
val: this.barCtx.isRangeBar
? [a, s]
: h[r][o],
i: n,
j: o,
barWidth: d,
barHeight: c,
textRects: X,
dataLabelsConfig: P,
})),
x.config.chart.stacked &&
T.enabled &&
(A = this.drawTotalDataLabels({
x: L.totalDataLabelsX,
y: L.totalDataLabelsY,
realIndex: n,
textAnchor: L.totalDataLabelsAnchor,
val: this.getStackedTotalDataLabel({
realIndex: n,
j: o,
}),
dataLabelsConfig: P,
barTotalDataLabelsConfig: T,
})),
{ dataLabels: k, totalDataLabels: A }
);
},
},
{
key: "getStackedTotalDataLabel",
value: function (t) {
var i = t.realIndex,
a = t.j,
s = this.w,
r = this.barCtx.stackedSeriesTotals[a];
return (
this.totalFormatter &&
(r = this.totalFormatter(
r,
e(
e({}, s),
{},
{
seriesIndex: i,
dataPointIndex: a,
w: s,
}
)
)),
r
);
},
},
{
key: "calculateColumnsDataLabelsPosition",
value: function (t) {
var e,
i,
a = this.w,
s = t.i,
r = t.j,
o = t.realIndex,
n = t.groupIndex,
l = t.y,
h = t.bcx,
c = t.barWidth,
d = t.barHeight,
g = t.textRects,
u = t.dataLabelsX,
p = t.dataLabelsY,
f = t.dataLabelsConfig,
x = t.barDataLabelsConfig,
b = t.barTotalDataLabelsConfig,
v = t.strokeWidth,
y = t.offX,
w = t.offY;
d = Math.abs(d);
var k =
"vertical" ===
a.config.plotOptions.bar.dataLabels
.orientation,
A =
this.barCtx.barHelpers.getZeroValueEncounters(
{ i: s, j: r }
).zeroEncounters;
h = h - v / 2 + (-1 !== n ? n * c : 0);
var S = a.globals.gridWidth / a.globals.dataPoints;
if (
(this.barCtx.isVerticalGroupedRangeBar
? (u += c / 2)
: ((u = a.globals.isXNumeric
? h - c / 2 + y
: h - S + c / 2 + y),
A > 0 &&
a.config.plotOptions.bar
.hideZeroBarsWhenGrouped &&
(u -= c * A)),
k)
) {
u = u + g.height / 2 - v / 2 - 2;
}
var C = this.barCtx.series[s][r] < 0,
L = l;
switch (
(this.barCtx.isReversed &&
((L = l - d + (C ? 2 * d : 0)), (l -= d)),
x.position)
) {
case "center":
p = k
? C
? L - d / 2 + w
: L + d / 2 - w
: C
? L - d / 2 + g.height / 2 + w
: L + d / 2 + g.height / 2 - w;
break;
case "bottom":
p = k
? C
? L - d + w
: L + d - w
: C
? L - d + g.height + v + w
: L + d - g.height / 2 + v - w;
break;
case "top":
p = k
? C
? L + w
: L - w
: C
? L - g.height / 2 - w
: L + g.height + w;
}
if (
this.barCtx.lastActiveBarSerieIndex === o &&
b.enabled
) {
var P = new m(this.barCtx.ctx).getTextRects(
this.getStackedTotalDataLabel({
realIndex: o,
j: r,
}),
f.fontSize
);
(e = C
? L - P.height / 2 - w - b.offsetY + 18
: L + P.height + w + b.offsetY - 18),
(i = u + b.offsetX);
}
return (
a.config.chart.stacked ||
(p < 0
? (p = 0 + v)
: p + g.height / 3 >
a.globals.gridHeight &&
(p = a.globals.gridHeight - v)),
{
bcx: h,
bcy: l,
dataLabelsX: u,
dataLabelsY: p,
totalDataLabelsX: i,
totalDataLabelsY: e,
totalDataLabelsAnchor: "middle",
}
);
},
},
{
key: "calculateBarsDataLabelsPosition",
value: function (t) {
var e = this.w,
i = t.x,
a = t.i,
s = t.j,
r = t.realIndex,
o = t.groupIndex,
n = t.bcy,
l = t.barHeight,
h = t.barWidth,
c = t.textRects,
d = t.dataLabelsX,
g = t.strokeWidth,
u = t.dataLabelsConfig,
p = t.barDataLabelsConfig,
f = t.barTotalDataLabelsConfig,
x = t.offX,
b = t.offY,
v = e.globals.gridHeight / e.globals.dataPoints;
h = Math.abs(h);
var y,
w,
k =
(n += -1 !== o ? o * l : 0) -
(this.barCtx.isRangeBar ? 0 : v) +
l / 2 +
c.height / 2 +
b -
3,
A = "start",
S = this.barCtx.series[a][s] < 0,
C = i;
switch (
(this.barCtx.isReversed &&
((C = i + h - (S ? 2 * h : 0)),
(i = e.globals.gridWidth - h)),
p.position)
) {
case "center":
d = S
? C + h / 2 - x
: Math.max(c.width / 2, C - h / 2) + x;
break;
case "bottom":
d = S
? C +
h -
g -
Math.round(c.width / 2) -
x
: C -
h +
g +
Math.round(c.width / 2) +
x;
break;
case "top":
d = S
? C - g + Math.round(c.width / 2) - x
: C - g - Math.round(c.width / 2) + x;
}
if (
this.barCtx.lastActiveBarSerieIndex === r &&
f.enabled
) {
var L = new m(this.barCtx.ctx).getTextRects(
this.getStackedTotalDataLabel({
realIndex: r,
j: s,
}),
u.fontSize
);
S
? ((y =
C -
g +
Math.round(L.width / 2) -
x -
f.offsetX -
15),
(A = "end"))
: (y =
C -
g -
Math.round(L.width / 2) +
x +
f.offsetX +
15),
(w = k + f.offsetY);
}
return (
e.config.chart.stacked ||
(d < 0
? (d = d + c.width + g)
: d + c.width / 2 >
e.globals.gridWidth &&
(d =
e.globals.gridWidth -
c.width -
g)),
{
bcx: i,
bcy: n,
dataLabelsX: d,
dataLabelsY: k,
totalDataLabelsX: y,
totalDataLabelsY: w,
totalDataLabelsAnchor: A,
}
);
},
},
{
key: "drawCalculatedDataLabels",
value: function (t) {
var i = t.x,
a = t.y,
s = t.val,
r = t.i,
o = t.j,
n = t.textRects,
l = t.barHeight,
h = t.barWidth,
c = t.dataLabelsConfig,
d = this.w,
g = "rotate(0)";
"vertical" ===
d.config.plotOptions.bar.dataLabels
.orientation &&
(g = "rotate(-90, "
.concat(i, ", ")
.concat(a, ")"));
var u = new O(this.barCtx.ctx),
p = new m(this.barCtx.ctx),
f = c.formatter,
x = null,
b =
d.globals.collapsedSeriesIndices.indexOf(
r
) > -1;
if (c.enabled && !b) {
x = p.group({
class: "apexcharts-data-labels",
transform: g,
});
var v = "";
void 0 !== s &&
(v = f(
s,
e(
e({}, d),
{},
{
seriesIndex: r,
dataPointIndex: o,
w: d,
}
)
)),
!s &&
d.config.plotOptions.bar
.hideZeroBarsWhenGrouped &&
(v = "");
var y = d.globals.series[r][o] < 0,
w =
d.config.plotOptions.bar.dataLabels
.position;
if (
("vertical" ===
d.config.plotOptions.bar.dataLabels
.orientation &&
("top" === w &&
(c.textAnchor = y
? "end"
: "start"),
"center" === w &&
(c.textAnchor = "middle"),
"bottom" === w &&
(c.textAnchor = y
? "end"
: "start")),
this.barCtx.isRangeBar &&
this.barCtx.barOptions.dataLabels
.hideOverflowingLabels)
)
h <
p.getTextRects(
v,
parseFloat(c.style.fontSize)
).width && (v = "");
d.config.chart.stacked &&
this.barCtx.barOptions.dataLabels
.hideOverflowingLabels &&
(this.barCtx.isHorizontal
? n.width / 1.6 > Math.abs(h) &&
(v = "")
: n.height / 1.6 > Math.abs(l) &&
(v = ""));
var k = e({}, c);
this.barCtx.isHorizontal &&
s < 0 &&
("start" === c.textAnchor
? (k.textAnchor = "end")
: "end" === c.textAnchor &&
(k.textAnchor = "start")),
u.plotDataLabelsText({
x: i,
y: a,
text: v,
i: r,
j: o,
parent: x,
dataLabelsConfig: k,
alwaysDrawDataLabel: !0,
offsetCorrection: !0,
});
}
return x;
},
},
{
key: "drawTotalDataLabels",
value: function (t) {
var e,
i = t.x,
a = t.y,
s = t.val,
r = t.realIndex,
o = t.textAnchor,
n = t.barTotalDataLabelsConfig,
l = new m(this.barCtx.ctx);
return (
n.enabled &&
void 0 !== i &&
void 0 !== a &&
this.barCtx.lastActiveBarSerieIndex === r &&
(e = l.drawText({
x: i,
y: a,
foreColor: n.style.color,
text: s,
textAnchor: o,
fontFamily: n.style.fontFamily,
fontSize: n.style.fontSize,
fontWeight: n.style.fontWeight,
})),
e
);
},
},
]),
t
);
})(),
mt = (function () {
function t(e) {
a(this, t), (this.w = e.w), (this.barCtx = e);
}
return (
r(t, [
{
key: "initVariables",
value: function (t) {
var e = this.w;
(this.barCtx.series = t),
(this.barCtx.totalItems = 0),
(this.barCtx.seriesLen = 0),
(this.barCtx.visibleI = -1),
(this.barCtx.visibleItems = 1);
for (var i = 0; i < t.length; i++)
if (
(t[i].length > 0 &&
((this.barCtx.seriesLen =
this.barCtx.seriesLen + 1),
(this.barCtx.totalItems +=
t[i].length)),
e.globals.isXNumeric)
)
for (var a = 0; a < t[i].length; a++)
e.globals.seriesX[i][a] >
e.globals.minX &&
e.globals.seriesX[i][a] <
e.globals.maxX &&
this.barCtx.visibleItems++;
else
this.barCtx.visibleItems =
e.globals.dataPoints;
0 === this.barCtx.seriesLen &&
(this.barCtx.seriesLen = 1),
(this.barCtx.zeroSerieses = []),
e.globals.comboCharts ||
this.checkZeroSeries({ series: t });
},
},
{
key: "initialPositions",
value: function () {
var t,
e,
i,
a,
s,
r,
o,
n,
l = this.w,
h = l.globals.dataPoints;
this.barCtx.isRangeBar &&
(h = l.globals.labels.length);
var c = this.barCtx.seriesLen;
if (
(l.config.plotOptions.bar.rangeBarGroupRows &&
(c = 1),
this.barCtx.isHorizontal)
)
(s = (i = l.globals.gridHeight / h) / c),
l.globals.isXNumeric &&
(s =
(i =
l.globals.gridHeight /
this.barCtx.totalItems) /
this.barCtx.seriesLen),
(s =
(s *
parseInt(
this.barCtx.barOptions
.barHeight,
10
)) /
100),
-1 ===
String(
this.barCtx.barOptions.barHeight
).indexOf("%") &&
(s = parseInt(
this.barCtx.barOptions.barHeight,
10
)),
(n =
this.barCtx.baseLineInvertedY +
l.globals.padHorizontal +
(this.barCtx.isReversed
? l.globals.gridWidth
: 0) -
(this.barCtx.isReversed
? 2 * this.barCtx.baseLineInvertedY
: 0)),
this.barCtx.isFunnel &&
(n = l.globals.gridWidth / 2),
(e = (i - s * this.barCtx.seriesLen) / 2);
else {
if (
((a =
l.globals.gridWidth /
this.barCtx.visibleItems),
l.config.xaxis.convertedCatToNumeric &&
(a =
l.globals.gridWidth /
l.globals.dataPoints),
(r =
((a / c) *
parseInt(
this.barCtx.barOptions
.columnWidth,
10
)) /
100),
l.globals.isXNumeric)
) {
var d = this.barCtx.xRatio;
l.config.xaxis.convertedCatToNumeric &&
(d = this.barCtx.initialXRatio),
l.globals.minXDiff &&
0.5 !== l.globals.minXDiff &&
l.globals.minXDiff / d > 0 &&
(a = l.globals.minXDiff / d),
(r =
((a / c) *
parseInt(
this.barCtx.barOptions
.columnWidth,
10
)) /
100) < 1 && (r = 1);
}
-1 ===
String(
this.barCtx.barOptions.columnWidth
).indexOf("%") &&
(r = parseInt(
this.barCtx.barOptions.columnWidth,
10
)),
(o =
l.globals.gridHeight -
this.barCtx.baseLineY[
this.barCtx.yaxisIndex
] -
(this.barCtx.isReversed
? l.globals.gridHeight
: 0) +
(this.barCtx.isReversed
? 2 *
this.barCtx.baseLineY[
this.barCtx.yaxisIndex
]
: 0)),
(t =
l.globals.padHorizontal +
(a - r * this.barCtx.seriesLen) / 2);
}
return {
x: t,
y: e,
yDivision: i,
xDivision: a,
barHeight: s,
barWidth: r,
zeroH: o,
zeroW: n,
};
},
},
{
key: "initializeStackedPrevVars",
value: function (t) {
var e = t.w;
e.globals.hasSeriesGroups
? e.globals.seriesGroups.forEach(function (e) {
t[e] || (t[e] = {}),
(t[e].prevY = []),
(t[e].prevX = []),
(t[e].prevYF = []),
(t[e].prevXF = []),
(t[e].prevYVal = []),
(t[e].prevXVal = []);
})
: ((t.prevY = []),
(t.prevX = []),
(t.prevYF = []),
(t.prevXF = []),
(t.prevYVal = []),
(t.prevXVal = []));
},
},
{
key: "initializeStackedXYVars",
value: function (t) {
var e = t.w;
e.globals.hasSeriesGroups
? e.globals.seriesGroups.forEach(function (e) {
t[e] || (t[e] = {}),
(t[e].xArrj = []),
(t[e].xArrjF = []),
(t[e].xArrjVal = []),
(t[e].yArrj = []),
(t[e].yArrjF = []),
(t[e].yArrjVal = []);
})
: ((t.xArrj = []),
(t.xArrjF = []),
(t.xArrjVal = []),
(t.yArrj = []),
(t.yArrjF = []),
(t.yArrjVal = []));
},
},
{
key: "getPathFillColor",
value: function (t, e, i, a) {
var s,
r,
o,
n,
l = this.w,
h = new R(this.barCtx.ctx),
c = null,
d = this.barCtx.barOptions.distributed ? i : e;
this.barCtx.barOptions.colors.ranges.length > 0 &&
this.barCtx.barOptions.colors.ranges.map(
function (a) {
t[e][i] >= a.from &&
t[e][i] <= a.to &&
(c = a.color);
}
);
return (
l.config.series[e].data[i] &&
l.config.series[e].data[i].fillColor &&
(c = l.config.series[e].data[i].fillColor),
h.fillPath({
seriesNumber: this.barCtx.barOptions
.distributed
? d
: a,
dataPointIndex: i,
color: c,
value: t[e][i],
fillConfig:
null ===
(s = l.config.series[e].data[i]) ||
void 0 === s
? void 0
: s.fill,
fillType:
null !==
(r = l.config.series[e].data[i]) &&
void 0 !== r &&
null !== (o = r.fill) &&
void 0 !== o &&
o.type
? null ===
(n =
l.config.series[e].data[
i
]) || void 0 === n
? void 0
: n.fill.type
: l.config.fill.type,
})
);
},
},
{
key: "getStrokeWidth",
value: function (t, e, i) {
var a = 0,
s = this.w;
return (
this.barCtx.series[t][e]
? (this.barCtx.isNullValue = !1)
: (this.barCtx.isNullValue = !0),
s.config.stroke.show &&
(this.barCtx.isNullValue ||
(a = Array.isArray(
this.barCtx.strokeWidth
)
? this.barCtx.strokeWidth[i]
: this.barCtx.strokeWidth)),
a
);
},
},
{
key: "shouldApplyRadius",
value: function (t) {
var e = this.w,
i = !1;
return (
e.config.plotOptions.bar.borderRadius > 0 &&
(e.config.chart.stacked &&
"last" ===
e.config.plotOptions.bar
.borderRadiusWhenStacked
? this.barCtx
.lastActiveBarSerieIndex === t &&
(i = !0)
: (i = !0)),
i
);
},
},
{
key: "barBackground",
value: function (t) {
var e = t.j,
i = t.i,
a = t.x1,
s = t.x2,
r = t.y1,
o = t.y2,
n = t.elSeries,
l = this.w,
h = new m(this.barCtx.ctx),
c = new N(
this.barCtx.ctx
).getActiveConfigSeriesIndex();
if (
this.barCtx.barOptions.colors
.backgroundBarColors.length > 0 &&
c === i
) {
e >=
this.barCtx.barOptions.colors
.backgroundBarColors.length &&
(e %=
this.barCtx.barOptions.colors
.backgroundBarColors.length);
var d =
this.barCtx.barOptions.colors
.backgroundBarColors[e],
g = h.drawRect(
void 0 !== a ? a : 0,
void 0 !== r ? r : 0,
void 0 !== s ? s : l.globals.gridWidth,
void 0 !== o ? o : l.globals.gridHeight,
this.barCtx.barOptions.colors
.backgroundBarRadius,
d,
this.barCtx.barOptions.colors
.backgroundBarOpacity
);
n.add(g),
g.node.classList.add(
"apexcharts-backgroundBar"
);
}
},
},
{
key: "getColumnPaths",
value: function (t) {
var e,
i = t.barWidth,
a = t.barXPosition,
s = t.y1,
r = t.y2,
o = t.strokeWidth,
n = t.seriesGroup,
l = t.realIndex,
h = t.i,
c = t.j,
d = t.w,
g = new m(this.barCtx.ctx);
(o = Array.isArray(o) ? o[l] : o) || (o = 0);
var u = i,
p = a;
null !== (e = d.config.series[l].data[c]) &&
void 0 !== e &&
e.columnWidthOffset &&
((p =
a -
d.config.series[l].data[c]
.columnWidthOffset /
2),
(u =
i +
d.config.series[l].data[c]
.columnWidthOffset));
var f = p,
x = p + u;
(s += 0.001), (r += 0.001);
var b = g.move(f, s),
v = g.move(f, s),
y = g.line(x - o, s);
if (
(d.globals.previousPaths.length > 0 &&
(v = this.barCtx.getPreviousPath(l, c, !1)),
(b =
b +
g.line(f, r) +
g.line(x - o, r) +
g.line(x - o, s) +
("around" ===
d.config.plotOptions.bar
.borderRadiusApplication
? " Z"
: " z")),
(v =
v +
g.line(f, s) +
y +
y +
y +
y +
y +
g.line(f, s) +
("around" ===
d.config.plotOptions.bar
.borderRadiusApplication
? " Z"
: " z")),
this.shouldApplyRadius(l) &&
(b = g.roundPathCorners(
b,
d.config.plotOptions.bar.borderRadius
)),
d.config.chart.stacked)
) {
var w = this.barCtx;
d.globals.hasSeriesGroups &&
n &&
(w = this.barCtx[n]),
w.yArrj.push(r),
w.yArrjF.push(Math.abs(s - r)),
w.yArrjVal.push(this.barCtx.series[h][c]);
}
return { pathTo: b, pathFrom: v };
},
},
{
key: "getBarpaths",
value: function (t) {
var e,
i = t.barYPosition,
a = t.barHeight,
s = t.x1,
r = t.x2,
o = t.strokeWidth,
n = t.seriesGroup,
l = t.realIndex,
h = t.i,
c = t.j,
d = t.w,
g = new m(this.barCtx.ctx);
(o = Array.isArray(o) ? o[l] : o) || (o = 0);
var u = i,
p = a;
null !== (e = d.config.series[l].data[c]) &&
void 0 !== e &&
e.barHeightOffset &&
((u =
i -
d.config.series[l].data[c].barHeightOffset /
2),
(p =
a +
d.config.series[l].data[c]
.barHeightOffset));
var f = u,
x = u + p;
(s += 0.001), (r += 0.001);
var b = g.move(s, f),
v = g.move(s, f);
d.globals.previousPaths.length > 0 &&
(v = this.barCtx.getPreviousPath(l, c, !1));
var y = g.line(s, x - o);
if (
((b =
b +
g.line(r, f) +
g.line(r, x - o) +
y +
("around" ===
d.config.plotOptions.bar
.borderRadiusApplication
? " Z"
: " z")),
(v =
v +
g.line(s, f) +
y +
y +
y +
y +
y +
g.line(s, f) +
("around" ===
d.config.plotOptions.bar
.borderRadiusApplication
? " Z"
: " z")),
this.shouldApplyRadius(l) &&
(b = g.roundPathCorners(
b,
d.config.plotOptions.bar.borderRadius
)),
d.config.chart.stacked)
) {
var w = this.barCtx;
d.globals.hasSeriesGroups &&
n &&
(w = this.barCtx[n]),
w.xArrj.push(r),
w.xArrjF.push(Math.abs(s - r)),
w.xArrjVal.push(this.barCtx.series[h][c]);
}
return { pathTo: b, pathFrom: v };
},
},
{
key: "checkZeroSeries",
value: function (t) {
for (
var e = t.series, i = this.w, a = 0;
a < e.length;
a++
) {
for (
var s = 0, r = 0;
r < e[i.globals.maxValsInArrayIndex].length;
r++
)
s += e[a][r];
0 === s && this.barCtx.zeroSerieses.push(a);
}
},
},
{
key: "getXForValue",
value: function (t, e) {
var i =
!(
arguments.length > 2 &&
void 0 !== arguments[2]
) || arguments[2]
? e
: null;
return (
null != t &&
(i =
e +
t / this.barCtx.invertedYRatio -
2 *
(this.barCtx.isReversed
? t / this.barCtx.invertedYRatio
: 0)),
i
);
},
},
{
key: "getYForValue",
value: function (t, e) {
var i =
!(
arguments.length > 2 &&
void 0 !== arguments[2]
) || arguments[2]
? e
: null;
return (
null != t &&
(i =
e -
t /
this.barCtx.yRatio[
this.barCtx.yaxisIndex
] +
2 *
(this.barCtx.isReversed
? t /
this.barCtx.yRatio[
this.barCtx.yaxisIndex
]
: 0)),
i
);
},
},
{
key: "getGoalValues",
value: function (t, i, a, s, r) {
var n = this,
l = this.w,
h = [],
c = function (e, s) {
var r;
h.push(
(o(
(r = {}),
t,
"x" === t
? n.getXForValue(e, i, !1)
: n.getYForValue(e, a, !1)
),
o(r, "attrs", s),
r)
);
};
if (
(l.globals.seriesGoals[s] &&
l.globals.seriesGoals[s][r] &&
Array.isArray(
l.globals.seriesGoals[s][r]
) &&
l.globals.seriesGoals[s][r].forEach(
function (t) {
c(t.value, t);
}
),
this.barCtx.barOptions.isDumbbell &&
l.globals.seriesRange.length)
) {
var d = this.barCtx.barOptions.dumbbellColors
? this.barCtx.barOptions.dumbbellColors
: l.globals.colors,
g = {
strokeHeight:
"x" === t
? 0
: l.globals.markers.size[s],
strokeWidth:
"x" === t
? l.globals.markers.size[s]
: 0,
strokeDashArray: 0,
strokeLineCap: "round",
strokeColor: Array.isArray(d[s])
? d[s][0]
: d[s],
};
c(l.globals.seriesRangeStart[s][r], g),
c(
l.globals.seriesRangeEnd[s][r],
e(
e({}, g),
{},
{
strokeColor: Array.isArray(d[s])
? d[s][1]
: d[s],
}
)
);
}
return h;
},
},
{
key: "drawGoalLine",
value: function (t) {
var e = t.barXPosition,
i = t.barYPosition,
a = t.goalX,
s = t.goalY,
r = t.barWidth,
o = t.barHeight,
n = new m(this.barCtx.ctx),
l = n.group({
className: "apexcharts-bar-goals-groups",
});
l.node.classList.add("apexcharts-element-hidden"),
this.barCtx.w.globals.delayedElements.push({
el: l.node,
}),
l.attr(
"clip-path",
"url(#gridRectMarkerMask".concat(
this.barCtx.w.globals.cuid,
")"
)
);
var h = null;
return (
this.barCtx.isHorizontal
? Array.isArray(a) &&
a.forEach(function (t) {
var e =
void 0 !==
t.attrs.strokeHeight
? t.attrs.strokeHeight
: o / 2,
a = i + e + o / 2;
(h = n.drawLine(
t.x,
a - 2 * e,
t.x,
a,
t.attrs.strokeColor
? t.attrs.strokeColor
: void 0,
t.attrs.strokeDashArray,
t.attrs.strokeWidth
? t.attrs.strokeWidth
: 2,
t.attrs.strokeLineCap
)),
l.add(h);
})
: Array.isArray(s) &&
s.forEach(function (t) {
var i =
void 0 !== t.attrs.strokeWidth
? t.attrs.strokeWidth
: r / 2,
a = e + i + r / 2;
(h = n.drawLine(
a - 2 * i,
t.y,
a,
t.y,
t.attrs.strokeColor
? t.attrs.strokeColor
: void 0,
t.attrs.strokeDashArray,
t.attrs.strokeHeight
? t.attrs.strokeHeight
: 2,
t.attrs.strokeLineCap
)),
l.add(h);
}),
l
);
},
},
{
key: "drawBarShadow",
value: function (t) {
var e = t.prevPaths,
i = t.currPaths,
a = t.color,
s = this.w,
r = e.x,
o = e.x1,
n = e.barYPosition,
l = i.x,
h = i.x1,
c = i.barYPosition,
d = n + i.barHeight,
g = new m(this.barCtx.ctx),
u = new x(),
p =
g.move(o, d) +
g.line(r, d) +
g.line(l, c) +
g.line(h, c) +
g.line(o, d) +
("around" ===
s.config.plotOptions.bar
.borderRadiusApplication
? " Z"
: " z");
return g.drawPath({
d: p,
fill: u.shadeColor(0.5, x.rgb2hex(a)),
stroke: "none",
strokeWidth: 0,
fillOpacity: 1,
classes: "apexcharts-bar-shadows",
});
},
},
{
key: "getZeroValueEncounters",
value: function (t) {
var e = t.i,
i = t.j,
a = this.w,
s = 0,
r = 0;
return (
a.globals.seriesPercent.forEach(function (
t,
a
) {
t[i] && s++, a < e && 0 === t[i] && r++;
}),
{ nonZeroColumns: s, zeroEncounters: r }
);
},
},
]),
t
);
})(),
yt = (function () {
function t(e, i) {
a(this, t), (this.ctx = e), (this.w = e.w);
var s = this.w;
(this.barOptions = s.config.plotOptions.bar),
(this.isHorizontal = this.barOptions.horizontal),
(this.strokeWidth = s.config.stroke.width),
(this.isNullValue = !1),
(this.isRangeBar =
s.globals.seriesRange.length && this.isHorizontal),
(this.isVerticalGroupedRangeBar =
!s.globals.isBarHorizontal &&
s.globals.seriesRange.length &&
s.config.plotOptions.bar.rangeBarGroupRows),
(this.isFunnel = this.barOptions.isFunnel),
(this.xyRatios = i),
null !== this.xyRatios &&
((this.xRatio = i.xRatio),
(this.initialXRatio = i.initialXRatio),
(this.yRatio = i.yRatio),
(this.invertedXRatio = i.invertedXRatio),
(this.invertedYRatio = i.invertedYRatio),
(this.baseLineY = i.baseLineY),
(this.baseLineInvertedY = i.baseLineInvertedY)),
(this.yaxisIndex = 0),
(this.seriesLen = 0),
(this.pathArr = []);
var r = new N(this.ctx);
this.lastActiveBarSerieIndex = r.getActiveConfigSeriesIndex(
"desc",
["bar", "column"]
);
var o = r.getBarSeriesIndices(),
n = new y(this.ctx);
(this.stackedSeriesTotals = n.getStackedSeriesTotals(
this.w.config.series
.map(function (t, e) {
return -1 === o.indexOf(e) ? e : -1;
})
.filter(function (t) {
return -1 !== t;
})
)),
(this.barHelpers = new mt(this));
}
return (
r(t, [
{
key: "draw",
value: function (t, i) {
var a = this.w,
s = new m(this.ctx),
r = new y(this.ctx, a);
(t = r.getLogSeries(t)),
(this.series = t),
(this.yRatio = r.getLogYRatios(this.yRatio)),
this.barHelpers.initVariables(t);
var o = s.group({
class: "apexcharts-bar-series apexcharts-plot-series",
});
a.config.dataLabels.enabled &&
this.totalItems >
this.barOptions.dataLabels.maxItems &&
console.warn(
"WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts"
);
for (var n = 0, l = 0; n < t.length; n++, l++) {
var h,
c,
d,
g,
u = void 0,
p = void 0,
f = [],
b = [],
v = a.globals.comboCharts ? i[n] : n,
w = s.group({
class: "apexcharts-series",
rel: n + 1,
seriesName: x.escapeString(
a.globals.seriesNames[v]
),
"data:realIndex": v,
});
this.ctx.series.addCollapsedClassToSeries(w, v),
t[n].length > 0 &&
(this.visibleI = this.visibleI + 1);
var k = 0,
A = 0;
this.yRatio.length > 1 && (this.yaxisIndex = v),
(this.isReversed =
a.config.yaxis[this.yaxisIndex] &&
a.config.yaxis[this.yaxisIndex]
.reversed);
var S = this.barHelpers.initialPositions();
(p = S.y),
(k = S.barHeight),
(c = S.yDivision),
(g = S.zeroW),
(u = S.x),
(A = S.barWidth),
(h = S.xDivision),
(d = S.zeroH),
this.horizontal || b.push(u + A / 2);
var C = s.group({
class: "apexcharts-datalabels",
"data:realIndex": v,
});
a.globals.delayedElements.push({ el: C.node }),
C.node.classList.add(
"apexcharts-element-hidden"
);
var L = s.group({
class: "apexcharts-bar-goals-markers",
}),
P = s.group({
class: "apexcharts-bar-shadows",
});
a.globals.delayedElements.push({ el: P.node }),
P.node.classList.add(
"apexcharts-element-hidden"
);
for (var I = 0; I < a.globals.dataPoints; I++) {
var T = this.barHelpers.getStrokeWidth(
n,
I,
v
),
M = null,
z = {
indexes: {
i: n,
j: I,
realIndex: v,
bc: l,
},
x: u,
y: p,
strokeWidth: T,
elSeries: w,
};
this.isHorizontal
? ((M = this.drawBarPaths(
e(
e({}, z),
{},
{
barHeight: k,
zeroW: g,
yDivision: c,
}
)
)),
(A =
this.series[n][I] /
this.invertedYRatio))
: ((M = this.drawColumnPaths(
e(
e({}, z),
{},
{
xDivision: h,
barWidth: A,
zeroH: d,
}
)
)),
(k =
this.series[n][I] /
this.yRatio[this.yaxisIndex]));
var X = this.barHelpers.getPathFillColor(
t,
n,
I,
v
);
if (
this.isFunnel &&
this.barOptions.isFunnel3d &&
this.pathArr.length &&
I > 0
) {
var E = this.barHelpers.drawBarShadow({
color:
"string" == typeof X &&
-1 ===
(null == X
? void 0
: X.indexOf("url"))
? X
: x.hexToRgba(
a.globals.colors[n]
),
prevPaths:
this.pathArr[
this.pathArr.length - 1
],
currPaths: M,
});
E && P.add(E);
}
this.pathArr.push(M);
var Y = this.barHelpers.drawGoalLine({
barXPosition: M.barXPosition,
barYPosition: M.barYPosition,
goalX: M.goalX,
goalY: M.goalY,
barHeight: k,
barWidth: A,
});
Y && L.add(Y),
(p = M.y),
(u = M.x),
I > 0 && b.push(u + A / 2),
f.push(p),
this.renderSeries({
realIndex: v,
pathFill: X,
j: I,
i: n,
pathFrom: M.pathFrom,
pathTo: M.pathTo,
strokeWidth: T,
elSeries: w,
x: u,
y: p,
series: t,
barHeight: M.barHeight
? M.barHeight
: k,
barWidth: M.barWidth
? M.barWidth
: A,
elDataLabelsWrap: C,
elGoalsMarkers: L,
elBarShadows: P,
visibleSeries: this.visibleI,
type: "bar",
});
}
(a.globals.seriesXvalues[v] = b),
(a.globals.seriesYvalues[v] = f),
o.add(w);
}
return o;
},
},
{
key: "renderSeries",
value: function (t) {
var e = t.realIndex,
i = t.pathFill,
a = t.lineFill,
s = t.j,
r = t.i,
o = t.groupIndex,
n = t.pathFrom,
l = t.pathTo,
h = t.strokeWidth,
c = t.elSeries,
d = t.x,
g = t.y,
u = t.y1,
p = t.y2,
f = t.series,
x = t.barHeight,
b = t.barWidth,
y = t.barXPosition,
w = t.barYPosition,
k = t.elDataLabelsWrap,
A = t.elGoalsMarkers,
S = t.elBarShadows,
C = t.visibleSeries,
L = t.type,
P = this.w,
I = new m(this.ctx);
a ||
(a = this.barOptions.distributed
? P.globals.stroke.colors[s]
: P.globals.stroke.colors[e]),
P.config.series[r].data[s] &&
P.config.series[r].data[s].strokeColor &&
(a =
P.config.series[r].data[s].strokeColor),
this.isNullValue && (i = "none");
var T =
((s /
P.config.chart.animations
.animateGradually.delay) *
(P.config.chart.animations.speed /
P.globals.dataPoints)) /
2.4,
M = I.renderPaths({
i: r,
j: s,
realIndex: e,
pathFrom: n,
pathTo: l,
stroke: a,
strokeWidth: h,
strokeLineCap: P.config.stroke.lineCap,
fill: i,
animationDelay: T,
initialSpeed:
P.config.chart.animations.speed,
dataChangeSpeed:
P.config.chart.animations
.dynamicAnimation.speed,
className: "apexcharts-".concat(L, "-area"),
});
M.attr(
"clip-path",
"url(#gridRectMask".concat(P.globals.cuid, ")")
);
var z = P.config.forecastDataPoints;
z.count > 0 &&
s >= P.globals.dataPoints - z.count &&
(M.node.setAttribute(
"stroke-dasharray",
z.dashArray
),
M.node.setAttribute(
"stroke-width",
z.strokeWidth
),
M.node.setAttribute(
"fill-opacity",
z.fillOpacity
)),
void 0 !== u &&
void 0 !== p &&
(M.attr("data-range-y1", u),
M.attr("data-range-y2", p)),
new v(this.ctx).setSelectionFilter(M, e, s),
c.add(M);
var X = new vt(this).handleBarDataLabels({
x: d,
y: g,
y1: u,
y2: p,
i: r,
j: s,
series: f,
realIndex: e,
groupIndex: o,
barHeight: x,
barWidth: b,
barXPosition: y,
barYPosition: w,
renderedPath: M,
visibleSeries: C,
});
return (
null !== X.dataLabels && k.add(X.dataLabels),
X.totalDataLabels && k.add(X.totalDataLabels),
c.add(k),
A && c.add(A),
S && c.add(S),
c
);
},
},
{
key: "drawBarPaths",
value: function (t) {
var e,
i = t.indexes,
a = t.barHeight,
s = t.strokeWidth,
r = t.zeroW,
o = t.x,
n = t.y,
l = t.yDivision,
h = t.elSeries,
c = this.w,
d = i.i,
g = i.j;
if (c.globals.isXNumeric)
e =
(n =
(c.globals.seriesX[d][g] -
c.globals.minX) /
this.invertedXRatio -
a) +
a * this.visibleI;
else if (
c.config.plotOptions.bar.hideZeroBarsWhenGrouped
) {
var u = 0,
p = 0;
c.globals.seriesPercent.forEach(function (
t,
e
) {
t[g] && u++, e < d && 0 === t[g] && p++;
}),
u > 0 && (a = (this.seriesLen * a) / u),
(e = n + a * this.visibleI),
(e -= a * p);
} else e = n + a * this.visibleI;
this.isFunnel &&
(r -=
(this.barHelpers.getXForValue(
this.series[d][g],
r
) -
r) /
2),
(o = this.barHelpers.getXForValue(
this.series[d][g],
r
));
var f = this.barHelpers.getBarpaths({
barYPosition: e,
barHeight: a,
x1: r,
x2: o,
strokeWidth: s,
series: this.series,
realIndex: i.realIndex,
i: d,
j: g,
w: c,
});
return (
c.globals.isXNumeric || (n += l),
this.barHelpers.barBackground({
j: g,
i: d,
y1: e - a * this.visibleI,
y2: a * this.seriesLen,
elSeries: h,
}),
{
pathTo: f.pathTo,
pathFrom: f.pathFrom,
x1: r,
x: o,
y: n,
goalX: this.barHelpers.getGoalValues(
"x",
r,
null,
d,
g
),
barYPosition: e,
barHeight: a,
}
);
},
},
{
key: "drawColumnPaths",
value: function (t) {
var e,
i = t.indexes,
a = t.x,
s = t.y,
r = t.xDivision,
o = t.barWidth,
n = t.zeroH,
l = t.strokeWidth,
h = t.elSeries,
c = this.w,
d = i.realIndex,
g = i.i,
u = i.j,
p = i.bc;
if (c.globals.isXNumeric) {
var f = d;
c.globals.seriesX[d].length ||
(f = c.globals.maxValsInArrayIndex),
c.globals.seriesX[f][u] &&
(a =
(c.globals.seriesX[f][u] -
c.globals.minX) /
this.xRatio -
(o * this.seriesLen) / 2),
(e = a + o * this.visibleI);
} else if (
c.config.plotOptions.bar.hideZeroBarsWhenGrouped
) {
var x = this.barHelpers.getZeroValueEncounters({
i: g,
j: u,
}),
b = x.nonZeroColumns,
v = x.zeroEncounters;
b > 0 && (o = (this.seriesLen * o) / b),
(e = a + o * this.visibleI),
(e -= o * v);
} else e = a + o * this.visibleI;
s = this.barHelpers.getYForValue(
this.series[g][u],
n
);
var m = this.barHelpers.getColumnPaths({
barXPosition: e,
barWidth: o,
y1: n,
y2: s,
strokeWidth: l,
series: this.series,
realIndex: i.realIndex,
i: g,
j: u,
w: c,
});
return (
c.globals.isXNumeric || (a += r),
this.barHelpers.barBackground({
bc: p,
j: u,
i: g,
x1: e - l / 2 - o * this.visibleI,
x2: o * this.seriesLen + l / 2,
elSeries: h,
}),
{
pathTo: m.pathTo,
pathFrom: m.pathFrom,
x: a,
y: s,
goalY: this.barHelpers.getGoalValues(
"y",
null,
n,
g,
u
),
barXPosition: e,
barWidth: o,
}
);
},
},
{
key: "getPreviousPath",
value: function (t, e) {
for (
var i, a = this.w, s = 0;
s < a.globals.previousPaths.length;
s++
) {
var r = a.globals.previousPaths[s];
r.paths &&
r.paths.length > 0 &&
parseInt(r.realIndex, 10) ===
parseInt(t, 10) &&
void 0 !==
a.globals.previousPaths[s].paths[e] &&
(i = a.globals.previousPaths[s].paths[e].d);
}
return i;
},
},
]),
t
);
})(),
wt = (function (t) {
n(s, t);
var i = d(s);
function s() {
return a(this, s), i.apply(this, arguments);
}
return (
r(s, [
{
key: "draw",
value: function (t, i) {
var a = this,
s = this.w;
(this.graphics = new m(this.ctx)),
(this.bar = new yt(this.ctx, this.xyRatios));
var r = new y(this.ctx, s);
(t = r.getLogSeries(t)),
(this.yRatio = r.getLogYRatios(this.yRatio)),
this.barHelpers.initVariables(t),
"100%" === s.config.chart.stackType &&
(t = s.globals.seriesPercent.slice()),
(this.series = t),
this.barHelpers.initializeStackedPrevVars(this);
for (
var o = this.graphics.group({
class: "apexcharts-bar-series apexcharts-plot-series",
}),
n = 0,
l = 0,
h = function (r, h) {
var c = void 0,
d = void 0,
g = void 0,
u = void 0,
p = -1;
(a.groupCtx = a),
s.globals.seriesGroups.forEach(
function (t, e) {
t.indexOf(
s.config.series[r].name
) > -1 && (p = e);
}
),
-1 !== p &&
(a.groupCtx =
a[
s.globals.seriesGroups[
p
]
]);
var f = [],
b = [],
v = s.globals.comboCharts
? i[r]
: r;
a.yRatio.length > 1 &&
(a.yaxisIndex = v),
(a.isReversed =
s.config.yaxis[a.yaxisIndex] &&
s.config.yaxis[a.yaxisIndex]
.reversed);
var m = a.graphics.group({
class: "apexcharts-series",
seriesName: x.escapeString(
s.globals.seriesNames[v]
),
rel: r + 1,
"data:realIndex": v,
});
a.ctx.series.addCollapsedClassToSeries(
m,
v
);
var y = a.graphics.group({
class: "apexcharts-datalabels",
"data:realIndex": v,
}),
w = a.graphics.group({
class: "apexcharts-bar-goals-markers",
}),
k = 0,
A = 0,
S = a.initialPositions(
n,
l,
c,
d,
g,
u
);
(l = S.y),
(k = S.barHeight),
(d = S.yDivision),
(u = S.zeroW),
(n = S.x),
(A = S.barWidth),
(c = S.xDivision),
(g = S.zeroH),
a.barHelpers.initializeStackedXYVars(
a
),
1 === a.groupCtx.prevY.length &&
a.groupCtx.prevY[0].every(
function (t) {
return isNaN(t);
}
) &&
((a.groupCtx.prevY[0] =
a.groupCtx.prevY[0].map(
function (t) {
return g;
}
)),
(a.groupCtx.prevYF[0] =
a.groupCtx.prevYF[0].map(
function (t) {
return 0;
}
)));
for (
var C = 0;
C < s.globals.dataPoints;
C++
) {
var L = a.barHelpers.getStrokeWidth(
r,
C,
v
),
P = {
indexes: {
i: r,
j: C,
realIndex: v,
bc: h,
},
strokeWidth: L,
x: n,
y: l,
elSeries: m,
groupIndex: p,
seriesGroup:
s.globals.seriesGroups[
p
],
},
I = null;
a.isHorizontal
? ((I = a.drawStackedBarPaths(
e(
e({}, P),
{},
{
zeroW: u,
barHeight: k,
yDivision: d,
}
)
)),
(A =
a.series[r][C] /
a.invertedYRatio))
: ((I =
a.drawStackedColumnPaths(
e(
e({}, P),
{},
{
xDivision: c,
barWidth: A,
zeroH: g,
}
)
)),
(k =
a.series[r][C] /
a.yRatio[a.yaxisIndex]));
var T = a.barHelpers.drawGoalLine({
barXPosition: I.barXPosition,
barYPosition: I.barYPosition,
goalX: I.goalX,
goalY: I.goalY,
barHeight: k,
barWidth: A,
});
T && w.add(T),
(l = I.y),
(n = I.x),
f.push(n),
b.push(l);
var M =
a.barHelpers.getPathFillColor(
t,
r,
C,
v
);
m = a.renderSeries({
realIndex: v,
pathFill: M,
j: C,
i: r,
groupIndex: p,
pathFrom: I.pathFrom,
pathTo: I.pathTo,
strokeWidth: L,
elSeries: m,
x: n,
y: l,
series: t,
barHeight: k,
barWidth: A,
elDataLabelsWrap: y,
elGoalsMarkers: w,
type: "bar",
visibleSeries: 0,
});
}
(s.globals.seriesXvalues[v] = f),
(s.globals.seriesYvalues[v] = b),
a.groupCtx.prevY.push(
a.groupCtx.yArrj
),
a.groupCtx.prevYF.push(
a.groupCtx.yArrjF
),
a.groupCtx.prevYVal.push(
a.groupCtx.yArrjVal
),
a.groupCtx.prevX.push(
a.groupCtx.xArrj
),
a.groupCtx.prevXF.push(
a.groupCtx.xArrjF
),
a.groupCtx.prevXVal.push(
a.groupCtx.xArrjVal
),
o.add(m);
},
c = 0,
d = 0;
c < t.length;
c++, d++
)
h(c, d);
return o;
},
},
{
key: "initialPositions",
value: function (t, e, i, a, s, r) {
var o,
n,
l,
h,
c = this.w;
return (
this.isHorizontal
? ((l =
((l = a =
c.globals.gridHeight /
c.globals.dataPoints) *
parseInt(
c.config.plotOptions.bar
.barHeight,
10
)) /
100),
-1 ===
String(
c.config.plotOptions.bar.barHeight
).indexOf("%") &&
(l = parseInt(
c.config.plotOptions.bar
.barHeight,
10
)),
(r =
this.baseLineInvertedY +
c.globals.padHorizontal +
(this.isReversed
? c.globals.gridWidth
: 0) -
(this.isReversed
? 2 * this.baseLineInvertedY
: 0)),
(e = (a - l) / 2))
: ((h = i =
c.globals.gridWidth /
c.globals.dataPoints),
(h =
c.globals.isXNumeric &&
c.globals.dataPoints > 1
? ((i =
c.globals.minXDiff /
this.xRatio) *
parseInt(
this.barOptions
.columnWidth,
10
)) /
100
: (h *
parseInt(
c.config.plotOptions.bar
.columnWidth,
10
)) /
100),
-1 ===
String(
c.config.plotOptions.bar
.columnWidth
).indexOf("%") &&
(h = parseInt(
c.config.plotOptions.bar
.columnWidth,
10
)),
(s =
c.globals.gridHeight -
this.baseLineY[this.yaxisIndex] -
(this.isReversed
? c.globals.gridHeight
: 0) +
(this.isReversed
? 2 *
this.baseLineY[this.yaxisIndex]
: 0)),
(t =
c.globals.padHorizontal +
(i - h) / 2)),
{
x: t,
y: e,
yDivision: a,
xDivision: i,
barHeight:
null !== (o = c.globals.seriesGroups) &&
void 0 !== o &&
o.length
? l / c.globals.seriesGroups.length
: l,
barWidth:
null !== (n = c.globals.seriesGroups) &&
void 0 !== n &&
n.length
? h / c.globals.seriesGroups.length
: h,
zeroH: s,
zeroW: r,
}
);
},
},
{
key: "drawStackedBarPaths",
value: function (t) {
for (
var e,
i = t.indexes,
a = t.barHeight,
s = t.strokeWidth,
r = t.zeroW,
o = t.x,
n = t.y,
l = t.groupIndex,
h = t.seriesGroup,
c = t.yDivision,
d = t.elSeries,
g = this.w,
u = n + (-1 !== l ? l * a : 0),
p = i.i,
f = i.j,
x = 0,
b = 0;
b < this.groupCtx.prevXF.length;
b++
)
x += this.groupCtx.prevXF[b][f];
var v = p;
if (
(h && (v = h.indexOf(g.config.series[p].name)),
v > 0)
) {
var m = r;
this.groupCtx.prevXVal[v - 1][f] < 0
? (m =
this.series[p][f] >= 0
? this.groupCtx.prevX[v - 1][f] +
x -
2 * (this.isReversed ? x : 0)
: this.groupCtx.prevX[v - 1][f])
: this.groupCtx.prevXVal[v - 1][f] >= 0 &&
(m =
this.series[p][f] >= 0
? this.groupCtx.prevX[v - 1][f]
: this.groupCtx.prevX[v - 1][f] -
x +
2 * (this.isReversed ? x : 0)),
(e = m);
} else e = r;
o =
null === this.series[p][f]
? e
: e +
this.series[p][f] / this.invertedYRatio -
2 *
(this.isReversed
? this.series[p][f] /
this.invertedYRatio
: 0);
var y = this.barHelpers.getBarpaths({
barYPosition: u,
barHeight: a,
x1: e,
x2: o,
strokeWidth: s,
series: this.series,
realIndex: i.realIndex,
seriesGroup: h,
i: p,
j: f,
w: g,
});
return (
this.barHelpers.barBackground({
j: f,
i: p,
y1: u,
y2: a,
elSeries: d,
}),
(n += c),
{
pathTo: y.pathTo,
pathFrom: y.pathFrom,
goalX: this.barHelpers.getGoalValues(
"x",
r,
null,
p,
f
),
barYPosition: u,
x: o,
y: n,
}
);
},
},
{
key: "drawStackedColumnPaths",
value: function (t) {
var e = t.indexes,
i = t.x,
a = t.y,
s = t.xDivision,
r = t.barWidth,
o = t.zeroH,
n = t.groupIndex,
l = t.seriesGroup,
h = t.elSeries,
c = this.w,
d = e.i,
g = e.j,
u = e.bc;
if (c.globals.isXNumeric) {
var p = c.globals.seriesX[d][g];
p || (p = 0),
(i =
(p - c.globals.minX) / this.xRatio -
r / 2),
c.globals.seriesGroups.length &&
(i =
(p - c.globals.minX) / this.xRatio -
(r / 2) *
c.globals.seriesGroups.length);
}
for (
var f,
x = i + (-1 !== n ? n * r : 0),
b = 0,
v = 0;
v < this.groupCtx.prevYF.length;
v++
)
b += isNaN(this.groupCtx.prevYF[v][g])
? 0
: this.groupCtx.prevYF[v][g];
var m = d;
if (
(l && (m = l.indexOf(c.config.series[d].name)),
(m > 0 && !c.globals.isXNumeric) ||
(m > 0 &&
c.globals.isXNumeric &&
c.globals.seriesX[d - 1][g] ===
c.globals.seriesX[d][g]))
) {
var y,
w,
k,
A = Math.min(this.yRatio.length + 1, d + 1);
if (
void 0 !== this.groupCtx.prevY[m - 1] &&
this.groupCtx.prevY[m - 1].length
)
for (var S = 1; S < A; S++) {
var C;
if (
!isNaN(
null ===
(C =
this.groupCtx.prevY[
m - S
]) || void 0 === C
? void 0
: C[g]
)
) {
k = this.groupCtx.prevY[m - S][g];
break;
}
}
for (var L = 1; L < A; L++) {
var P, I;
if (
(null ===
(P =
this.groupCtx.prevYVal[
m - L
]) || void 0 === P
? void 0
: P[g]) < 0
) {
w =
this.series[d][g] >= 0
? k -
b +
2 * (this.isReversed ? b : 0)
: k;
break;
}
if (
(null ===
(I =
this.groupCtx.prevYVal[
m - L
]) || void 0 === I
? void 0
: I[g]) >= 0
) {
w =
this.series[d][g] >= 0
? k
: k +
b -
2 * (this.isReversed ? b : 0);
break;
}
}
void 0 === w && (w = c.globals.gridHeight),
(f =
null !==
(y = this.groupCtx.prevYF[0]) &&
void 0 !== y &&
y.every(function (t) {
return 0 === t;
}) &&
this.groupCtx.prevYF
.slice(1, m)
.every(function (t) {
return t.every(function (t) {
return isNaN(t);
});
})
? o
: w);
} else f = o;
a = this.series[d][g]
? f -
this.series[d][g] /
this.yRatio[this.yaxisIndex] +
2 *
(this.isReversed
? this.series[d][g] /
this.yRatio[this.yaxisIndex]
: 0)
: f;
var T = this.barHelpers.getColumnPaths({
barXPosition: x,
barWidth: r,
y1: f,
y2: a,
yRatio: this.yRatio[this.yaxisIndex],
strokeWidth: this.strokeWidth,
series: this.series,
seriesGroup: l,
realIndex: e.realIndex,
i: d,
j: g,
w: c,
});
return (
this.barHelpers.barBackground({
bc: u,
j: g,
i: d,
x1: x,
x2: r,
elSeries: h,
}),
(i += s),
{
pathTo: T.pathTo,
pathFrom: T.pathFrom,
goalY: this.barHelpers.getGoalValues(
"y",
null,
o,
d,
g
),
barXPosition: x,
x: c.globals.isXNumeric ? i - s : i,
y: a,
}
);
},
},
]),
s
);
})(yt),
kt = (function (t) {
n(s, t);
var i = d(s);
function s() {
return a(this, s), i.apply(this, arguments);
}
return (
r(s, [
{
key: "draw",
value: function (t, i, a) {
var s = this,
r = this.w,
o = new m(this.ctx),
n = r.globals.comboCharts
? i
: r.config.chart.type,
l = new R(this.ctx);
(this.candlestickOptions =
this.w.config.plotOptions.candlestick),
(this.boxOptions =
this.w.config.plotOptions.boxPlot),
(this.isHorizontal =
r.config.plotOptions.bar.horizontal);
var h = new y(this.ctx, r);
(t = h.getLogSeries(t)),
(this.series = t),
(this.yRatio = h.getLogYRatios(this.yRatio)),
this.barHelpers.initVariables(t);
for (
var c = o.group({
class: "apexcharts-".concat(
n,
"-series apexcharts-plot-series"
),
}),
d = function (i) {
s.isBoxPlot =
"boxPlot" === r.config.chart.type ||
"boxPlot" ===
r.config.series[i].type;
var n,
h,
d,
g,
u = void 0,
p = void 0,
f = [],
b = [],
v = r.globals.comboCharts
? a[i]
: i,
m = o.group({
class: "apexcharts-series",
seriesName: x.escapeString(
r.globals.seriesNames[v]
),
rel: i + 1,
"data:realIndex": v,
});
s.ctx.series.addCollapsedClassToSeries(
m,
v
),
t[i].length > 0 &&
(s.visibleI = s.visibleI + 1);
var y, w;
s.yRatio.length > 1 &&
(s.yaxisIndex = v);
var k = s.barHelpers.initialPositions();
(p = k.y),
(y = k.barHeight),
(h = k.yDivision),
(g = k.zeroW),
(u = k.x),
(w = k.barWidth),
(n = k.xDivision),
(d = k.zeroH),
b.push(u + w / 2);
for (
var A = o.group({
class: "apexcharts-datalabels",
"data:realIndex": v,
}),
S = function (a) {
var o =
s.barHelpers.getStrokeWidth(
i,
a,
v
),
c = null,
x = {
indexes: {
i: i,
j: a,
realIndex: v,
},
x: u,
y: p,
strokeWidth: o,
elSeries: m,
};
(c = s.isHorizontal
? s.drawHorizontalBoxPaths(
e(
e({}, x),
{},
{
yDivision:
h,
barHeight:
y,
zeroW: g,
}
)
)
: s.drawVerticalBoxPaths(
e(
e({}, x),
{},
{
xDivision:
n,
barWidth:
w,
zeroH: d,
}
)
)),
(p = c.y),
(u = c.x),
a > 0 &&
b.push(u + w / 2),
f.push(p),
c.pathTo.forEach(
function (e, n) {
var h =
!s.isBoxPlot &&
s
.candlestickOptions
.wick
.useFillColor
? c
.color[
n
]
: r
.globals
.stroke
.colors[
i
],
d =
l.fillPath(
{
seriesNumber:
v,
dataPointIndex:
a,
color: c
.color[
n
],
value: t[
i
][
a
],
}
);
s.renderSeries({
realIndex:
v,
pathFill: d,
lineFill: h,
j: a,
i: i,
pathFrom:
c.pathFrom,
pathTo: e,
strokeWidth:
o,
elSeries: m,
x: u,
y: p,
series: t,
barHeight:
y,
barWidth: w,
elDataLabelsWrap:
A,
visibleSeries:
s.visibleI,
type: r
.config
.chart
.type,
});
}
);
},
C = 0;
C < r.globals.dataPoints;
C++
)
S(C);
(r.globals.seriesXvalues[v] = b),
(r.globals.seriesYvalues[v] = f),
c.add(m);
},
g = 0;
g < t.length;
g++
)
d(g);
return c;
},
},
{
key: "drawVerticalBoxPaths",
value: function (t) {
var e = t.indexes,
i = t.x;
t.y;
var a = t.xDivision,
s = t.barWidth,
r = t.zeroH,
o = t.strokeWidth,
n = this.w,
l = new m(this.ctx),
h = e.i,
c = e.j,
d = !0,
g =
n.config.plotOptions.candlestick.colors
.upward,
u =
n.config.plotOptions.candlestick.colors
.downward,
p = "";
this.isBoxPlot &&
(p = [
this.boxOptions.colors.lower,
this.boxOptions.colors.upper,
]);
var f = this.yRatio[this.yaxisIndex],
x = e.realIndex,
b = this.getOHLCValue(x, c),
v = r,
y = r;
b.o > b.c && (d = !1);
var w = Math.min(b.o, b.c),
k = Math.max(b.o, b.c),
A = b.m;
n.globals.isXNumeric &&
(i =
(n.globals.seriesX[x][c] - n.globals.minX) /
this.xRatio -
s / 2);
var S = i + s * this.visibleI;
void 0 === this.series[h][c] ||
null === this.series[h][c]
? ((w = r), (k = r))
: ((w = r - w / f),
(k = r - k / f),
(v = r - b.h / f),
(y = r - b.l / f),
(A = r - b.m / f));
var C = l.move(S, r),
L = l.move(S + s / 2, w);
return (
n.globals.previousPaths.length > 0 &&
(L = this.getPreviousPath(x, c, !0)),
(C = this.isBoxPlot
? [
l.move(S, w) +
l.line(S + s / 2, w) +
l.line(S + s / 2, v) +
l.line(S + s / 4, v) +
l.line(S + s - s / 4, v) +
l.line(S + s / 2, v) +
l.line(S + s / 2, w) +
l.line(S + s, w) +
l.line(S + s, A) +
l.line(S, A) +
l.line(S, w + o / 2),
l.move(S, A) +
l.line(S + s, A) +
l.line(S + s, k) +
l.line(S + s / 2, k) +
l.line(S + s / 2, y) +
l.line(S + s - s / 4, y) +
l.line(S + s / 4, y) +
l.line(S + s / 2, y) +
l.line(S + s / 2, k) +
l.line(S, k) +
l.line(S, A) +
"z",
]
: [
l.move(S, k) +
l.line(S + s / 2, k) +
l.line(S + s / 2, v) +
l.line(S + s / 2, k) +
l.line(S + s, k) +
l.line(S + s, w) +
l.line(S + s / 2, w) +
l.line(S + s / 2, y) +
l.line(S + s / 2, w) +
l.line(S, w) +
l.line(S, k - o / 2),
]),
(L += l.move(S, w)),
n.globals.isXNumeric || (i += a),
{
pathTo: C,
pathFrom: L,
x: i,
y: k,
barXPosition: S,
color: this.isBoxPlot ? p : d ? [g] : [u],
}
);
},
},
{
key: "drawHorizontalBoxPaths",
value: function (t) {
var e = t.indexes;
t.x;
var i = t.y,
a = t.yDivision,
s = t.barHeight,
r = t.zeroW,
o = t.strokeWidth,
n = this.w,
l = new m(this.ctx),
h = e.i,
c = e.j,
d = this.boxOptions.colors.lower;
this.isBoxPlot &&
(d = [
this.boxOptions.colors.lower,
this.boxOptions.colors.upper,
]);
var g = this.invertedYRatio,
u = e.realIndex,
p = this.getOHLCValue(u, c),
f = r,
x = r,
b = Math.min(p.o, p.c),
v = Math.max(p.o, p.c),
y = p.m;
n.globals.isXNumeric &&
(i =
(n.globals.seriesX[u][c] - n.globals.minX) /
this.invertedXRatio -
s / 2);
var w = i + s * this.visibleI;
void 0 === this.series[h][c] ||
null === this.series[h][c]
? ((b = r), (v = r))
: ((b = r + b / g),
(v = r + v / g),
(f = r + p.h / g),
(x = r + p.l / g),
(y = r + p.m / g));
var k = l.move(r, w),
A = l.move(b, w + s / 2);
return (
n.globals.previousPaths.length > 0 &&
(A = this.getPreviousPath(u, c, !0)),
(k = [
l.move(b, w) +
l.line(b, w + s / 2) +
l.line(f, w + s / 2) +
l.line(f, w + s / 2 - s / 4) +
l.line(f, w + s / 2 + s / 4) +
l.line(f, w + s / 2) +
l.line(b, w + s / 2) +
l.line(b, w + s) +
l.line(y, w + s) +
l.line(y, w) +
l.line(b + o / 2, w),
l.move(y, w) +
l.line(y, w + s) +
l.line(v, w + s) +
l.line(v, w + s / 2) +
l.line(x, w + s / 2) +
l.line(x, w + s - s / 4) +
l.line(x, w + s / 4) +
l.line(x, w + s / 2) +
l.line(v, w + s / 2) +
l.line(v, w) +
l.line(y, w) +
"z",
]),
(A += l.move(b, w)),
n.globals.isXNumeric || (i += a),
{
pathTo: k,
pathFrom: A,
x: v,
y: i,
barYPosition: w,
color: d,
}
);
},
},
{
key: "getOHLCValue",
value: function (t, e) {
var i = this.w;
return {
o: this.isBoxPlot
? i.globals.seriesCandleH[t][e]
: i.globals.seriesCandleO[t][e],
h: this.isBoxPlot
? i.globals.seriesCandleO[t][e]
: i.globals.seriesCandleH[t][e],
m: i.globals.seriesCandleM[t][e],
l: this.isBoxPlot
? i.globals.seriesCandleC[t][e]
: i.globals.seriesCandleL[t][e],
c: this.isBoxPlot
? i.globals.seriesCandleL[t][e]
: i.globals.seriesCandleC[t][e],
};
},
},
]),
s
);
})(yt),
At = (function () {
function t(e) {
a(this, t), (this.ctx = e), (this.w = e.w);
}
return (
r(t, [
{
key: "checkColorRange",
value: function () {
var t = this.w,
e = !1,
i = t.config.plotOptions[t.config.chart.type];
return (
i.colorScale.ranges.length > 0 &&
i.colorScale.ranges.map(function (t, i) {
t.from <= 0 && (e = !0);
}),
e
);
},
},
{
key: "getShadeColor",
value: function (t, e, i, a) {
var s = this.w,
r = 1,
o = s.config.plotOptions[t].shadeIntensity,
n = this.determineColor(t, e, i);
s.globals.hasNegs || a
? (r = s.config.plotOptions[t]
.reverseNegativeShade
? n.percent < 0
? (n.percent / 100) * (1.25 * o)
: (1 - n.percent / 100) * (1.25 * o)
: n.percent <= 0
? 1 - (1 + n.percent / 100) * o
: (1 - n.percent / 100) * o)
: ((r = 1 - n.percent / 100),
"treemap" === t &&
(r = (1 - n.percent / 100) * (1.25 * o)));
var l = n.color,
h = new x();
return (
s.config.plotOptions[t].enableShades &&
(l =
"dark" === this.w.config.theme.mode
? x.hexToRgba(
h.shadeColor(-1 * r, n.color),
s.config.fill.opacity
)
: x.hexToRgba(
h.shadeColor(r, n.color),
s.config.fill.opacity
)),
{ color: l, colorProps: n }
);
},
},
{
key: "determineColor",
value: function (t, e, i) {
var a = this.w,
s = a.globals.series[e][i],
r = a.config.plotOptions[t],
o = r.colorScale.inverse ? i : e;
r.distributed &&
"treemap" === a.config.chart.type &&
(o = i);
var n = a.globals.colors[o],
l = null,
h = Math.min.apply(
Math,
u(a.globals.series[e])
),
c = Math.max.apply(
Math,
u(a.globals.series[e])
);
r.distributed ||
"heatmap" !== t ||
((h = a.globals.minY), (c = a.globals.maxY)),
void 0 !== r.colorScale.min &&
((h =
r.colorScale.min < a.globals.minY
? r.colorScale.min
: a.globals.minY),
(c =
r.colorScale.max > a.globals.maxY
? r.colorScale.max
: a.globals.maxY));
var d = Math.abs(c) + Math.abs(h),
g = (100 * s) / (0 === d ? d - 1e-6 : d);
r.colorScale.ranges.length > 0 &&
r.colorScale.ranges.map(function (t, e) {
if (s >= t.from && s <= t.to) {
(n = t.color),
(l = t.foreColor
? t.foreColor
: null),
(h = t.from),
(c = t.to);
var i = Math.abs(c) + Math.abs(h);
g =
(100 * s) /
(0 === i ? i - 1e-6 : i);
}
});
return { color: n, foreColor: l, percent: g };
},
},
{
key: "calculateDataLabels",
value: function (t) {
var e = t.text,
i = t.x,
a = t.y,
s = t.i,
r = t.j,
o = t.colorProps,
n = t.fontSize,
l = this.w.config.dataLabels,
h = new m(this.ctx),
c = new O(this.ctx),
d = null;
if (l.enabled) {
d = h.group({
class: "apexcharts-data-labels",
});
var g = l.offsetX,
u = l.offsetY,
p = i + g,
f =
a +
parseFloat(l.style.fontSize) / 3 +
u;
c.plotDataLabelsText({
x: p,
y: f,
text: e,
i: s,
j: r,
color: o.foreColor,
parent: d,
fontSize: n,
dataLabelsConfig: l,
});
}
return d;
},
},
{
key: "addListeners",
value: function (t) {
var e = new m(this.ctx);
t.node.addEventListener(
"mouseenter",
e.pathMouseEnter.bind(this, t)
),
t.node.addEventListener(
"mouseleave",
e.pathMouseLeave.bind(this, t)
),
t.node.addEventListener(
"mousedown",
e.pathMouseDown.bind(this, t)
);
},
},
]),
t
);
})(),
St = (function () {
function t(e, i) {
a(this, t),
(this.ctx = e),
(this.w = e.w),
(this.xRatio = i.xRatio),
(this.yRatio = i.yRatio),
(this.dynamicAnim =
this.w.config.chart.animations.dynamicAnimation),
(this.helpers = new At(e)),
(this.rectRadius =
this.w.config.plotOptions.heatmap.radius),
(this.strokeWidth = this.w.config.stroke.show
? this.w.config.stroke.width
: 0);
}
return (
r(t, [
{
key: "draw",
value: function (t) {
var e = this.w,
i = new m(this.ctx),
a = i.group({ class: "apexcharts-heatmap" });
a.attr(
"clip-path",
"url(#gridRectMask".concat(e.globals.cuid, ")")
);
var s = e.globals.gridWidth / e.globals.dataPoints,
r =
e.globals.gridHeight /
e.globals.series.length,
o = 0,
n = !1;
this.negRange = this.helpers.checkColorRange();
var l = t.slice();
e.config.yaxis[0].reversed &&
((n = !0), l.reverse());
for (
var h = n ? 0 : l.length - 1;
n ? h < l.length : h >= 0;
n ? h++ : h--
) {
var c = i.group({
class: "apexcharts-series apexcharts-heatmap-series",
seriesName: x.escapeString(
e.globals.seriesNames[h]
),
rel: h + 1,
"data:realIndex": h,
});
if (
(this.ctx.series.addCollapsedClassToSeries(
c,
h
),
e.config.chart.dropShadow.enabled)
) {
var d = e.config.chart.dropShadow;
new v(this.ctx).dropShadow(c, d, h);
}
for (
var g = 0,
u =
e.config.plotOptions.heatmap
.shadeIntensity,
p = 0;
p < l[h].length;
p++
) {
var f = this.helpers.getShadeColor(
e.config.chart.type,
h,
p,
this.negRange
),
b = f.color,
y = f.colorProps;
if ("image" === e.config.fill.type)
b = new R(this.ctx).fillPath({
seriesNumber: h,
dataPointIndex: p,
opacity: e.globals.hasNegs
? y.percent < 0
? 1 - (1 + y.percent / 100)
: u + y.percent / 100
: y.percent / 100,
patternID: x.randomId(),
width: e.config.fill.image.width
? e.config.fill.image.width
: s,
height: e.config.fill.image.height
? e.config.fill.image.height
: r,
});
var w = this.rectRadius,
k = i.drawRect(g, o, s, r, w);
if (
(k.attr({ cx: g, cy: o }),
k.node.classList.add(
"apexcharts-heatmap-rect"
),
c.add(k),
k.attr({
fill: b,
i: h,
index: h,
j: p,
val: l[h][p],
"stroke-width": this.strokeWidth,
stroke: e.config.plotOptions.heatmap
.useFillColorAsStroke
? b
: e.globals.stroke.colors[0],
color: b,
}),
this.helpers.addListeners(k),
e.config.chart.animations.enabled &&
!e.globals.dataChanged)
) {
var A = 1;
e.globals.resized ||
(A =
e.config.chart.animations
.speed),
this.animateHeatMap(
k,
g,
o,
s,
r,
A
);
}
if (e.globals.dataChanged) {
var S = 1;
if (
this.dynamicAnim.enabled &&
e.globals.shouldAnimate
) {
S = this.dynamicAnim.speed;
var C =
e.globals.previousPaths[h] &&
e.globals.previousPaths[h][p] &&
e.globals.previousPaths[h][p]
.color;
C || (C = "rgba(255, 255, 255, 0)"),
this.animateHeatColor(
k,
x.isColorHex(C)
? C
: x.rgb2hex(C),
x.isColorHex(b)
? b
: x.rgb2hex(b),
S
);
}
}
var L = (0, e.config.dataLabels.formatter)(
e.globals.series[h][p],
{
value: e.globals.series[h][p],
seriesIndex: h,
dataPointIndex: p,
w: e,
}
),
P = this.helpers.calculateDataLabels({
text: L,
x: g + s / 2,
y: o + r / 2,
i: h,
j: p,
colorProps: y,
series: l,
});
null !== P && c.add(P), (g += s);
}
(o += r), a.add(c);
}
var I = e.globals.yAxisScale[0].result.slice();
return (
e.config.yaxis[0].reversed
? I.unshift("")
: I.push(""),
(e.globals.yAxisScale[0].result = I),
a
);
},
},
{
key: "animateHeatMap",
value: function (t, e, i, a, s, r) {
var o = new b(this.ctx);
o.animateRect(
t,
{
x: e + a / 2,
y: i + s / 2,
width: 0,
height: 0,
},
{ x: e, y: i, width: a, height: s },
r,
function () {
o.animationCompleted(t);
}
);
},
},
{
key: "animateHeatColor",
value: function (t, e, i, a) {
t.attr({ fill: e }).animate(a).attr({ fill: i });
},
},
]),
t
);
})(),
Ct = (function () {
function t(e) {
a(this, t), (this.ctx = e), (this.w = e.w);
}
return (
r(t, [
{
key: "drawYAxisTexts",
value: function (t, e, i, a) {
var s = this.w,
r = s.config.yaxis[0],
o = s.globals.yLabelFormatters[0];
return new m(this.ctx).drawText({
x: t + r.labels.offsetX,
y: e + r.labels.offsetY,
text: o(a, i),
textAnchor: "middle",
fontSize: r.labels.style.fontSize,
fontFamily: r.labels.style.fontFamily,
foreColor: Array.isArray(r.labels.style.colors)
? r.labels.style.colors[i]
: r.labels.style.colors,
});
},
},
]),
t
);
})(),
Lt = (function () {
function t(e) {
a(this, t), (this.ctx = e), (this.w = e.w);
var i = this.w;
(this.chartType = this.w.config.chart.type),
(this.initialAnim = this.w.config.chart.animations.enabled),
(this.dynamicAnim =
this.initialAnim &&
this.w.config.chart.animations.dynamicAnimation
.enabled),
(this.animBeginArr = [0]),
(this.animDur = 0),
(this.donutDataLabels =
this.w.config.plotOptions.pie.donut.labels),
(this.lineColorArr =
void 0 !== i.globals.stroke.colors
? i.globals.stroke.colors
: i.globals.colors),
(this.defaultSize = Math.min(
i.globals.gridWidth,
i.globals.gridHeight
)),
(this.centerY = this.defaultSize / 2),
(this.centerX = i.globals.gridWidth / 2),
"radialBar" === i.config.chart.type
? (this.fullAngle = 360)
: (this.fullAngle = Math.abs(
i.config.plotOptions.pie.endAngle -
i.config.plotOptions.pie.startAngle
)),
(this.initialAngle =
i.config.plotOptions.pie.startAngle % this.fullAngle),
(i.globals.radialSize =
this.defaultSize / 2.05 -
i.config.stroke.width -
(i.config.chart.sparkline.enabled
? 0
: i.config.chart.dropShadow.blur)),
(this.donutSize =
(i.globals.radialSize *
parseInt(i.config.plotOptions.pie.donut.size, 10)) /
100),
(this.maxY = 0),
(this.sliceLabels = []),
(this.sliceSizes = []),
(this.prevSectorAngleArr = []);
}
return (
r(t, [
{
key: "draw",
value: function (t) {
var e = this,
i = this.w,
a = new m(this.ctx);
if (
((this.ret = a.group({
class: "apexcharts-pie",
})),
i.globals.noData)
)
return this.ret;
for (var s = 0, r = 0; r < t.length; r++)
s += x.negToZero(t[r]);
var o = [],
n = a.group();
0 === s && (s = 1e-5),
t.forEach(function (t) {
e.maxY = Math.max(e.maxY, t);
}),
i.config.yaxis[0].max &&
(this.maxY = i.config.yaxis[0].max),
"back" === i.config.grid.position &&
"polarArea" === this.chartType &&
this.drawPolarElements(this.ret);
for (var l = 0; l < t.length; l++) {
var h =
(this.fullAngle * x.negToZero(t[l])) / s;
o.push(h),
"polarArea" === this.chartType
? ((o[l] = this.fullAngle / t.length),
this.sliceSizes.push(
(i.globals.radialSize * t[l]) /
this.maxY
))
: this.sliceSizes.push(
i.globals.radialSize
);
}
if (i.globals.dataChanged) {
for (
var c, d = 0, g = 0;
g < i.globals.previousPaths.length;
g++
)
d += x.negToZero(
i.globals.previousPaths[g]
);
for (
var u = 0;
u < i.globals.previousPaths.length;
u++
)
(c =
(this.fullAngle *
x.negToZero(
i.globals.previousPaths[u]
)) /
d),
this.prevSectorAngleArr.push(c);
}
this.donutSize < 0 && (this.donutSize = 0);
var p = i.config.plotOptions.pie.customScale,
f = i.globals.gridWidth / 2,
b = i.globals.gridHeight / 2,
v = f - (i.globals.gridWidth / 2) * p,
y = b - (i.globals.gridHeight / 2) * p;
if ("donut" === this.chartType) {
var w = a.drawCircle(this.donutSize);
w.attr({
cx: this.centerX,
cy: this.centerY,
fill: i.config.plotOptions.pie.donut
.background
? i.config.plotOptions.pie.donut
.background
: "transparent",
}),
n.add(w);
}
var k = this.drawArcs(o, t);
if (
(this.sliceLabels.forEach(function (t) {
k.add(t);
}),
n.attr({
transform: "translate("
.concat(v, ", ")
.concat(y, ") scale(")
.concat(p, ")"),
}),
n.add(k),
this.ret.add(n),
this.donutDataLabels.show)
) {
var A = this.renderInnerDataLabels(
this.donutDataLabels,
{
hollowSize: this.donutSize,
centerX: this.centerX,
centerY: this.centerY,
opacity: this.donutDataLabels.show,
translateX: v,
translateY: y,
}
);
this.ret.add(A);
}
return (
"front" === i.config.grid.position &&
"polarArea" === this.chartType &&
this.drawPolarElements(this.ret),
this.ret
);
},
},
{
key: "drawArcs",
value: function (t, e) {
var i = this.w,
a = new v(this.ctx),
s = new m(this.ctx),
r = new R(this.ctx),
o = s.group({ class: "apexcharts-slices" }),
n = this.initialAngle,
l = this.initialAngle,
h = this.initialAngle,
c = this.initialAngle;
this.strokeWidth = i.config.stroke.show
? i.config.stroke.width
: 0;
for (var d = 0; d < t.length; d++) {
var g = s.group({
class: "apexcharts-series apexcharts-pie-series",
seriesName: x.escapeString(
i.globals.seriesNames[d]
),
rel: d + 1,
"data:realIndex": d,
});
o.add(g),
(l = c),
(h = (n = h) + t[d]),
(c = l + this.prevSectorAngleArr[d]);
var u = h < n ? this.fullAngle + h - n : h - n,
p = r.fillPath({
seriesNumber: d,
size: this.sliceSizes[d],
value: e[d],
}),
f = this.getChangedPath(l, c),
b = s.drawPath({
d: f,
stroke: Array.isArray(this.lineColorArr)
? this.lineColorArr[d]
: this.lineColorArr,
strokeWidth: 0,
fill: p,
fillOpacity: i.config.fill.opacity,
classes:
"apexcharts-pie-area apexcharts-"
.concat(
this.chartType.toLowerCase(),
"-slice-"
)
.concat(d),
});
if (
(b.attr({ index: 0, j: d }),
a.setSelectionFilter(b, 0, d),
i.config.chart.dropShadow.enabled)
) {
var y = i.config.chart.dropShadow;
a.dropShadow(b, y, d);
}
this.addListeners(b, this.donutDataLabels),
m.setAttrs(b.node, {
"data:angle": u,
"data:startAngle": n,
"data:strokeWidth": this.strokeWidth,
"data:value": e[d],
});
var w = { x: 0, y: 0 };
"pie" === this.chartType ||
"polarArea" === this.chartType
? (w = x.polarToCartesian(
this.centerX,
this.centerY,
i.globals.radialSize / 1.25 +
i.config.plotOptions.pie
.dataLabels.offset,
(n + u / 2) % this.fullAngle
))
: "donut" === this.chartType &&
(w = x.polarToCartesian(
this.centerX,
this.centerY,
(i.globals.radialSize +
this.donutSize) /
2 +
i.config.plotOptions.pie
.dataLabels.offset,
(n + u / 2) % this.fullAngle
)),
g.add(b);
var k = 0;
if (
(!this.initialAnim ||
i.globals.resized ||
i.globals.dataChanged
? this.animBeginArr.push(0)
: (0 ===
(k =
(u / this.fullAngle) *
i.config.chart.animations
.speed) && (k = 1),
(this.animDur = k + this.animDur),
this.animBeginArr.push(this.animDur)),
this.dynamicAnim && i.globals.dataChanged
? this.animatePaths(b, {
size: this.sliceSizes[d],
endAngle: h,
startAngle: n,
prevStartAngle: l,
prevEndAngle: c,
animateStartingPos: !0,
i: d,
animBeginArr: this.animBeginArr,
shouldSetPrevPaths: !0,
dur: i.config.chart.animations
.dynamicAnimation.speed,
})
: this.animatePaths(b, {
size: this.sliceSizes[d],
endAngle: h,
startAngle: n,
i: d,
totalItems: t.length - 1,
animBeginArr: this.animBeginArr,
dur: k,
}),
i.config.plotOptions.pie.expandOnClick &&
"polarArea" !== this.chartType &&
b.click(this.pieClicked.bind(this, d)),
void 0 !==
i.globals.selectedDataPoints[0] &&
i.globals.selectedDataPoints[0].indexOf(
d
) > -1 &&
this.pieClicked(d),
i.config.dataLabels.enabled)
) {
var A = w.x,
S = w.y,
C = (100 * u) / this.fullAngle + "%";
if (
0 !== u &&
i.config.plotOptions.pie.dataLabels
.minAngleToShowLabel < t[d]
) {
var L = i.config.dataLabels.formatter;
void 0 !== L &&
(C = L(
i.globals.seriesPercent[d][0],
{ seriesIndex: d, w: i }
));
var P =
i.globals.dataLabels.style
.colors[d],
I = s.group({
class: "apexcharts-datalabels",
}),
T = s.drawText({
x: A,
y: S,
text: C,
textAnchor: "middle",
fontSize:
i.config.dataLabels.style
.fontSize,
fontFamily:
i.config.dataLabels.style
.fontFamily,
fontWeight:
i.config.dataLabels.style
.fontWeight,
foreColor: P,
});
if (
(I.add(T),
i.config.dataLabels.dropShadow
.enabled)
) {
var M =
i.config.dataLabels.dropShadow;
a.dropShadow(T, M);
}
T.node.classList.add(
"apexcharts-pie-label"
),
i.config.chart.animations.animate &&
!1 === i.globals.resized &&
(T.node.classList.add(
"apexcharts-pie-label-delay"
),
(T.node.style.animationDelay =
i.config.chart.animations
.speed /
940 +
"s")),
this.sliceLabels.push(I);
}
}
}
return o;
},
},
{
key: "addListeners",
value: function (t, e) {
var i = new m(this.ctx);
t.node.addEventListener(
"mouseenter",
i.pathMouseEnter.bind(this, t)
),
t.node.addEventListener(
"mouseleave",
i.pathMouseLeave.bind(this, t)
),
t.node.addEventListener(
"mouseleave",
this.revertDataLabelsInner.bind(
this,
t.node,
e
)
),
t.node.addEventListener(
"mousedown",
i.pathMouseDown.bind(this, t)
),
this.donutDataLabels.total.showAlways ||
(t.node.addEventListener(
"mouseenter",
this.printDataLabelsInner.bind(
this,
t.node,
e
)
),
t.node.addEventListener(
"mousedown",
this.printDataLabelsInner.bind(
this,
t.node,
e
)
));
},
},
{
key: "animatePaths",
value: function (t, e) {
var i = this.w,
a =
e.endAngle < e.startAngle
? this.fullAngle +
e.endAngle -
e.startAngle
: e.endAngle - e.startAngle,
s = a,
r = e.startAngle,
o = e.startAngle;
void 0 !== e.prevStartAngle &&
void 0 !== e.prevEndAngle &&
((r = e.prevEndAngle),
(s =
e.prevEndAngle < e.prevStartAngle
? this.fullAngle +
e.prevEndAngle -
e.prevStartAngle
: e.prevEndAngle - e.prevStartAngle)),
e.i === i.config.series.length - 1 &&
(a + o > this.fullAngle
? (e.endAngle = e.endAngle - (a + o))
: a + o < this.fullAngle &&
(e.endAngle =
e.endAngle +
(this.fullAngle - (a + o)))),
a === this.fullAngle &&
(a = this.fullAngle - 0.01),
this.animateArc(t, r, o, a, s, e);
},
},
{
key: "animateArc",
value: function (t, e, i, a, s, r) {
var o,
n = this,
l = this.w,
h = new b(this.ctx),
c = r.size;
(isNaN(e) || isNaN(s)) &&
((e = i), (s = a), (r.dur = 0));
var d = a,
g = i,
u = e < i ? this.fullAngle + e - i : e - i;
l.globals.dataChanged &&
r.shouldSetPrevPaths &&
r.prevEndAngle &&
((o = n.getPiePath({
me: n,
startAngle: r.prevStartAngle,
angle:
r.prevEndAngle < r.prevStartAngle
? this.fullAngle +
r.prevEndAngle -
r.prevStartAngle
: r.prevEndAngle - r.prevStartAngle,
size: c,
})),
t.attr({ d: o })),
0 !== r.dur
? t
.animate(
r.dur,
l.globals.easing,
r.animBeginArr[r.i]
)
.afterAll(function () {
("pie" !== n.chartType &&
"donut" !== n.chartType &&
"polarArea" !==
n.chartType) ||
this.animate(
l.config.chart.animations
.dynamicAnimation
.speed
).attr({
"stroke-width":
n.strokeWidth,
}),
r.i ===
l.config.series.length -
1 &&
h.animationCompleted(t);
})
.during(function (l) {
(d = u + (a - u) * l),
r.animateStartingPos &&
((d = s + (a - s) * l),
(g =
e -
s +
(i - (e - s)) * l)),
(o = n.getPiePath({
me: n,
startAngle: g,
angle: d,
size: c,
})),
t.node.setAttribute(
"data:pathOrig",
o
),
t.attr({ d: o });
})
: ((o = n.getPiePath({
me: n,
startAngle: g,
angle: a,
size: c,
})),
r.isTrack ||
(l.globals.animationEnded = !0),
t.node.setAttribute("data:pathOrig", o),
t.attr({
d: o,
"stroke-width": n.strokeWidth,
}));
},
},
{
key: "pieClicked",
value: function (t) {
var e,
i = this.w,
a = this,
s =
a.sliceSizes[t] +
(i.config.plotOptions.pie.expandOnClick
? 4
: 0),
r = i.globals.dom.Paper.select(
".apexcharts-"
.concat(
a.chartType.toLowerCase(),
"-slice-"
)
.concat(t)
).members[0];
if ("true" !== r.attr("data:pieClicked")) {
var o =
i.globals.dom.baseEl.getElementsByClassName(
"apexcharts-pie-area"
);
Array.prototype.forEach.call(o, function (t) {
t.setAttribute("data:pieClicked", "false");
var e = t.getAttribute("data:pathOrig");
e && t.setAttribute("d", e);
}),
r.attr("data:pieClicked", "true");
var n = parseInt(r.attr("data:startAngle"), 10),
l = parseInt(r.attr("data:angle"), 10);
(e = a.getPiePath({
me: a,
startAngle: n,
angle: l,
size: s,
})),
360 !== l && r.plot(e);
} else {
r.attr({ "data:pieClicked": "false" }),
this.revertDataLabelsInner(
r.node,
this.donutDataLabels
);
var h = r.attr("data:pathOrig");
r.attr({ d: h });
}
},
},
{
key: "getChangedPath",
value: function (t, e) {
var i = "";
return (
this.dynamicAnim &&
this.w.globals.dataChanged &&
(i = this.getPiePath({
me: this,
startAngle: t,
angle: e - t,
size: this.size,
})),
i
);
},
},
{
key: "getPiePath",
value: function (t) {
var e = t.me,
i = t.startAngle,
a = t.angle,
s = t.size,
r = i,
o = (Math.PI * (r - 90)) / 180,
n = a + i;
Math.ceil(n) >=
this.fullAngle +
(this.w.config.plotOptions.pie.startAngle %
this.fullAngle) &&
(n =
this.fullAngle +
(this.w.config.plotOptions.pie.startAngle %
this.fullAngle) -
0.01),
Math.ceil(n) > this.fullAngle &&
(n -= this.fullAngle);
var l = (Math.PI * (n - 90)) / 180,
h = e.centerX + s * Math.cos(o),
c = e.centerY + s * Math.sin(o),
d = e.centerX + s * Math.cos(l),
g = e.centerY + s * Math.sin(l),
u = x.polarToCartesian(
e.centerX,
e.centerY,
e.donutSize,
n
),
p = x.polarToCartesian(
e.centerX,
e.centerY,
e.donutSize,
r
),
f = a > 180 ? 1 : 0,
b = ["M", h, c, "A", s, s, 0, f, 1, d, g];
return "donut" === e.chartType
? []
.concat(b, [
"L",
u.x,
u.y,
"A",
e.donutSize,
e.donutSize,
0,
f,
0,
p.x,
p.y,
"L",
h,
c,
"z",
])
.join(" ")
: "pie" === e.chartType ||
"polarArea" === e.chartType
? []
.concat(b, [
"L",
e.centerX,
e.centerY,
"L",
h,
c,
])
.join(" ")
: [].concat(b).join(" ");
},
},
{
key: "drawPolarElements",
value: function (t) {
var e = this.w,
i = new _(this.ctx),
a = new m(this.ctx),
s = new Ct(this.ctx),
r = a.group(),
o = a.group(),
n = i.niceScale(
0,
Math.ceil(this.maxY),
e.config.yaxis[0].tickAmount,
0,
!0
),
l = n.result.reverse(),
h = n.result.length;
this.maxY = n.niceMax;
for (
var c = e.globals.radialSize,
d = c / (h - 1),
g = 0;
g < h - 1;
g++
) {
var u = a.drawCircle(c);
if (
(u.attr({
cx: this.centerX,
cy: this.centerY,
fill: "none",
"stroke-width":
e.config.plotOptions.polarArea.rings
.strokeWidth,
stroke: e.config.plotOptions.polarArea
.rings.strokeColor,
}),
e.config.yaxis[0].show)
) {
var p = s.drawYAxisTexts(
this.centerX,
this.centerY -
c +
parseInt(
e.config.yaxis[0].labels.style
.fontSize,
10
) /
2,
g,
l[g]
);
o.add(p);
}
r.add(u), (c -= d);
}
this.drawSpokes(t), t.add(r), t.add(o);
},
},
{
key: "renderInnerDataLabels",
value: function (t, e) {
var i = this.w,
a = new m(this.ctx),
s = a.group({
class: "apexcharts-datalabels-group",
transform: "translate("
.concat(
e.translateX ? e.translateX : 0,
", "
)
.concat(
e.translateY ? e.translateY : 0,
") scale("
)
.concat(
i.config.plotOptions.pie
.customScale,
")"
),
}),
r = t.total.show;
s.node.style.opacity = e.opacity;
var o,
n,
l = e.centerX,
h = e.centerY;
o =
void 0 === t.name.color
? i.globals.colors[0]
: t.name.color;
var c = t.name.fontSize,
d = t.name.fontFamily,
g = t.name.fontWeight;
n =
void 0 === t.value.color
? i.config.chart.foreColor
: t.value.color;
var u = t.value.formatter,
p = "",
f = "";
if (
(r
? ((o = t.total.color),
(c = t.total.fontSize),
(d = t.total.fontFamily),
(g = t.total.fontWeight),
(f = t.total.label),
(p = t.total.formatter(i)))
: 1 === i.globals.series.length &&
((p = u(i.globals.series[0], i)),
(f = i.globals.seriesNames[0])),
f && (f = t.name.formatter(f, t.total.show, i)),
t.name.show)
) {
var x = a.drawText({
x: l,
y: h + parseFloat(t.name.offsetY),
text: f,
textAnchor: "middle",
foreColor: o,
fontSize: c,
fontWeight: g,
fontFamily: d,
});
x.node.classList.add(
"apexcharts-datalabel-label"
),
s.add(x);
}
if (t.value.show) {
var b = t.name.show
? parseFloat(t.value.offsetY) + 16
: t.value.offsetY,
v = a.drawText({
x: l,
y: h + b,
text: p,
textAnchor: "middle",
foreColor: n,
fontWeight: t.value.fontWeight,
fontSize: t.value.fontSize,
fontFamily: t.value.fontFamily,
});
v.node.classList.add(
"apexcharts-datalabel-value"
),
s.add(v);
}
return s;
},
},
{
key: "printInnerLabels",
value: function (t, e, i, a) {
var s,
r = this.w;
a
? (s =
void 0 === t.name.color
? r.globals.colors[
parseInt(
a.parentNode.getAttribute(
"rel"
),
10
) - 1
]
: t.name.color)
: r.globals.series.length > 1 &&
t.total.show &&
(s = t.total.color);
var o = r.globals.dom.baseEl.querySelector(
".apexcharts-datalabel-label"
),
n = r.globals.dom.baseEl.querySelector(
".apexcharts-datalabel-value"
);
(i = (0, t.value.formatter)(i, r)),
a ||
"function" != typeof t.total.formatter ||
(i = t.total.formatter(r));
var l = e === t.total.label;
(e = t.name.formatter(e, l, r)),
null !== o && (o.textContent = e),
null !== n && (n.textContent = i),
null !== o && (o.style.fill = s);
},
},
{
key: "printDataLabelsInner",
value: function (t, e) {
var i = this.w,
a = t.getAttribute("data:value"),
s =
i.globals.seriesNames[
parseInt(
t.parentNode.getAttribute("rel"),
10
) - 1
];
i.globals.series.length > 1 &&
this.printInnerLabels(e, s, a, t);
var r = i.globals.dom.baseEl.querySelector(
".apexcharts-datalabels-group"
);
null !== r && (r.style.opacity = 1);
},
},
{
key: "drawSpokes",
value: function (t) {
var e = this,
i = this.w,
a = new m(this.ctx),
s = i.config.plotOptions.polarArea.spokes;
if (0 !== s.strokeWidth) {
for (
var r = [],
o = 360 / i.globals.series.length,
n = 0;
n < i.globals.series.length;
n++
)
r.push(
x.polarToCartesian(
this.centerX,
this.centerY,
i.globals.radialSize,
i.config.plotOptions.pie
.startAngle +
o * n
)
);
r.forEach(function (i, r) {
var o = a.drawLine(
i.x,
i.y,
e.centerX,
e.centerY,
Array.isArray(s.connectorColors)
? s.connectorColors[r]
: s.connectorColors
);
t.add(o);
});
}
},
},
{
key: "revertDataLabelsInner",
value: function (t, e, i) {
var a = this,
s = this.w,
r = s.globals.dom.baseEl.querySelector(
".apexcharts-datalabels-group"
),
o = !1,
n = s.globals.dom.baseEl.getElementsByClassName(
"apexcharts-pie-area"
),
l = function (t) {
var i = t.makeSliceOut,
s = t.printLabel;
Array.prototype.forEach.call(
n,
function (t) {
"true" ===
t.getAttribute(
"data:pieClicked"
) &&
(i && (o = !0),
s &&
a.printDataLabelsInner(
t,
e
));
}
);
};
if (
(l({ makeSliceOut: !0, printLabel: !1 }),
e.total.show && s.globals.series.length > 1)
)
o && !e.total.showAlways
? l({ makeSliceOut: !1, printLabel: !0 })
: this.printInnerLabels(
e,
e.total.label,
e.total.formatter(s)
);
else if (
(l({ makeSliceOut: !1, printLabel: !0 }), !o)
)
if (
s.globals.selectedDataPoints.length &&
s.globals.series.length > 1
)
if (
s.globals.selectedDataPoints[0].length >
0
) {
var h = s.globals.selectedDataPoints[0],
c =
s.globals.dom.baseEl.querySelector(
".apexcharts-"
.concat(
this.chartType.toLowerCase(),
"-slice-"
)
.concat(h)
);
this.printDataLabelsInner(c, e);
} else
r &&
s.globals.selectedDataPoints
.length &&
0 ===
s.globals.selectedDataPoints[0]
.length &&
(r.style.opacity = 0);
else
r &&
s.globals.series.length > 1 &&
(r.style.opacity = 0);
},
},
]),
t
);
})(),
Pt = (function () {
function t(e) {
a(this, t),
(this.ctx = e),
(this.w = e.w),
(this.chartType = this.w.config.chart.type),
(this.initialAnim = this.w.config.chart.animations.enabled),
(this.dynamicAnim =
this.initialAnim &&
this.w.config.chart.animations.dynamicAnimation
.enabled),
(this.animDur = 0);
var i = this.w;
(this.graphics = new m(this.ctx)),
(this.lineColorArr =
void 0 !== i.globals.stroke.colors
? i.globals.stroke.colors
: i.globals.colors),
(this.defaultSize =
i.globals.svgHeight < i.globals.svgWidth
? i.globals.gridHeight +
1.5 * i.globals.goldenPadding
: i.globals.gridWidth),
(this.isLog = i.config.yaxis[0].logarithmic),
(this.coreUtils = new y(this.ctx)),
(this.maxValue = this.isLog
? this.coreUtils.getLogVal(i.globals.maxY, 0)
: i.globals.maxY),
(this.minValue = this.isLog
? this.coreUtils.getLogVal(this.w.globals.minY, 0)
: i.globals.minY),
(this.polygons = i.config.plotOptions.radar.polygons),
(this.strokeWidth = i.config.stroke.show
? i.config.stroke.width
: 0),
(this.size =
this.defaultSize / 2.1 -
this.strokeWidth -
i.config.chart.dropShadow.blur),
i.config.xaxis.labels.show &&
(this.size =
this.size - i.globals.xAxisLabelsWidth / 1.75),
void 0 !== i.config.plotOptions.radar.size &&
(this.size = i.config.plotOptions.radar.size),
(this.dataRadiusOfPercent = []),
(this.dataRadius = []),
(this.angleArr = []),
(this.yaxisLabelsTextsPos = []);
}
return (
r(t, [
{
key: "draw",
value: function (t) {
var i = this,
a = this.w,
s = new R(this.ctx),
r = [],
o = new O(this.ctx);
t.length &&
(this.dataPointsLen =
t[a.globals.maxValsInArrayIndex].length),
(this.disAngle =
(2 * Math.PI) / this.dataPointsLen);
var n = a.globals.gridWidth / 2,
l = a.globals.gridHeight / 2,
h = n + a.config.plotOptions.radar.offsetX,
c = l + a.config.plotOptions.radar.offsetY,
d = this.graphics.group({
class: "apexcharts-radar-series apexcharts-plot-series",
transform: "translate("
.concat(h || 0, ", ")
.concat(c || 0, ")"),
}),
g = [],
u = null,
p = null;
if (
((this.yaxisLabels = this.graphics.group({
class: "apexcharts-yaxis",
})),
t.forEach(function (t, n) {
var l = t.length === a.globals.dataPoints,
h = i.graphics
.group()
.attr({
class: "apexcharts-series",
"data:longestSeries": l,
seriesName: x.escapeString(
a.globals.seriesNames[n]
),
rel: n + 1,
"data:realIndex": n,
});
(i.dataRadiusOfPercent[n] = []),
(i.dataRadius[n] = []),
(i.angleArr[n] = []),
t.forEach(function (t, e) {
var a = Math.abs(
i.maxValue - i.minValue
);
(t += Math.abs(i.minValue)),
i.isLog &&
(t = i.coreUtils.getLogVal(
t,
0
)),
(i.dataRadiusOfPercent[n][e] =
t / a),
(i.dataRadius[n][e] =
i.dataRadiusOfPercent[n][
e
] * i.size),
(i.angleArr[n][e] =
e * i.disAngle);
}),
(g = i.getDataPointsPos(
i.dataRadius[n],
i.angleArr[n]
));
var c = i.createPaths(g, { x: 0, y: 0 });
(u = i.graphics.group({
class: "apexcharts-series-markers-wrap apexcharts-element-hidden",
})),
(p = i.graphics.group({
class: "apexcharts-datalabels",
"data:realIndex": n,
})),
a.globals.delayedElements.push({
el: u.node,
index: n,
});
var d = {
i: n,
realIndex: n,
animationDelay: n,
initialSpeed:
a.config.chart.animations.speed,
dataChangeSpeed:
a.config.chart.animations
.dynamicAnimation.speed,
className: "apexcharts-radar",
shouldClipToGrid: !1,
bindEventsOnPaths: !1,
stroke: a.globals.stroke.colors[n],
strokeLineCap:
a.config.stroke.lineCap,
},
f = null;
a.globals.previousPaths.length > 0 &&
(f = i.getPreviousPath(n));
for (
var b = 0;
b < c.linePathsTo.length;
b++
) {
var m = i.graphics.renderPaths(
e(
e({}, d),
{},
{
pathFrom:
null === f
? c.linePathsFrom[b]
: f,
pathTo: c.linePathsTo[b],
strokeWidth: Array.isArray(
i.strokeWidth
)
? i.strokeWidth[n]
: i.strokeWidth,
fill: "none",
drawShadow: !1,
}
)
);
h.add(m);
var y = s.fillPath({ seriesNumber: n }),
w = i.graphics.renderPaths(
e(
e({}, d),
{},
{
pathFrom:
null === f
? c
.areaPathsFrom[
b
]
: f,
pathTo: c.areaPathsTo[
b
],
strokeWidth: 0,
fill: y,
drawShadow: !1,
}
)
);
if (a.config.chart.dropShadow.enabled) {
var k = new v(i.ctx),
A = a.config.chart.dropShadow;
k.dropShadow(
w,
Object.assign({}, A, {
noUserSpaceOnUse: !0,
}),
n
);
}
h.add(w);
}
t.forEach(function (t, s) {
var r = new H(i.ctx).getMarkerConfig({
cssClass: "apexcharts-marker",
seriesIndex: n,
dataPointIndex: s,
}),
l = i.graphics.drawMarker(
g[s].x,
g[s].y,
r
);
l.attr("rel", s),
l.attr("j", s),
l.attr("index", n),
l.node.setAttribute(
"default-marker-size",
r.pSize
);
var c = i.graphics.group({
class: "apexcharts-series-markers",
});
c && c.add(l), u.add(c), h.add(u);
var d = a.config.dataLabels;
if (d.enabled) {
var f = d.formatter(
a.globals.series[n][s],
{
seriesIndex: n,
dataPointIndex: s,
w: a,
}
);
o.plotDataLabelsText({
x: g[s].x,
y: g[s].y,
text: f,
textAnchor: "middle",
i: n,
j: n,
parent: p,
offsetCorrection: !1,
dataLabelsConfig: e({}, d),
});
}
h.add(p);
}),
r.push(h);
}),
this.drawPolygons({ parent: d }),
a.config.xaxis.labels.show)
) {
var f = this.drawXAxisTexts();
d.add(f);
}
return (
r.forEach(function (t) {
d.add(t);
}),
d.add(this.yaxisLabels),
d
);
},
},
{
key: "drawPolygons",
value: function (t) {
for (
var e = this,
i = this.w,
a = t.parent,
s = new Ct(this.ctx),
r =
i.globals.yAxisScale[0].result.reverse(),
o = r.length,
n = [],
l = this.size / (o - 1),
h = 0;
h < o;
h++
)
n[h] = l * h;
n.reverse();
var c = [],
d = [];
n.forEach(function (t, i) {
var a = x.getPolygonPos(t, e.dataPointsLen),
s = "";
a.forEach(function (t, a) {
if (0 === i) {
var r = e.graphics.drawLine(
t.x,
t.y,
0,
0,
Array.isArray(
e.polygons.connectorColors
)
? e.polygons.connectorColors[a]
: e.polygons.connectorColors
);
d.push(r);
}
0 === a &&
e.yaxisLabelsTextsPos.push({
x: t.x,
y: t.y,
}),
(s += t.x + "," + t.y + " ");
}),
c.push(s);
}),
c.forEach(function (t, s) {
var r = e.polygons.strokeColors,
o = e.polygons.strokeWidth,
n = e.graphics.drawPolygon(
t,
Array.isArray(r) ? r[s] : r,
Array.isArray(o) ? o[s] : o,
i.globals.radarPolygons.fill.colors[
s
]
);
a.add(n);
}),
d.forEach(function (t) {
a.add(t);
}),
i.config.yaxis[0].show &&
this.yaxisLabelsTextsPos.forEach(function (
t,
i
) {
var a = s.drawYAxisTexts(
t.x,
t.y,
i,
r[i]
);
e.yaxisLabels.add(a);
});
},
},
{
key: "drawXAxisTexts",
value: function () {
var t = this,
i = this.w,
a = i.config.xaxis.labels,
s = this.graphics.group({
class: "apexcharts-xaxis",
}),
r = x.getPolygonPos(
this.size,
this.dataPointsLen
);
return (
i.globals.labels.forEach(function (o, n) {
var l = i.config.xaxis.labels.formatter,
h = new O(t.ctx);
if (r[n]) {
var c = t.getTextPos(r[n], t.size),
d = l(o, {
seriesIndex: -1,
dataPointIndex: n,
w: i,
});
h.plotDataLabelsText({
x: c.newX,
y: c.newY,
text: d,
textAnchor: c.textAnchor,
i: n,
j: n,
parent: s,
color:
Array.isArray(a.style.colors) &&
a.style.colors[n]
? a.style.colors[n]
: "#a8a8a8",
dataLabelsConfig: e(
{
textAnchor: c.textAnchor,
dropShadow: { enabled: !1 },
},
a
),
offsetCorrection: !1,
});
}
}),
s
);
},
},
{
key: "createPaths",
value: function (t, e) {
var i = this,
a = [],
s = [],
r = [],
o = [];
if (t.length) {
(s = [this.graphics.move(e.x, e.y)]),
(o = [this.graphics.move(e.x, e.y)]);
var n = this.graphics.move(t[0].x, t[0].y),
l = this.graphics.move(t[0].x, t[0].y);
t.forEach(function (e, a) {
(n += i.graphics.line(e.x, e.y)),
(l += i.graphics.line(e.x, e.y)),
a === t.length - 1 &&
((n += "Z"), (l += "Z"));
}),
a.push(n),
r.push(l);
}
return {
linePathsFrom: s,
linePathsTo: a,
areaPathsFrom: o,
areaPathsTo: r,
};
},
},
{
key: "getTextPos",
value: function (t, e) {
var i = "middle",
a = t.x,
s = t.y;
return (
Math.abs(t.x) >= 10
? t.x > 0
? ((i = "start"), (a += 10))
: t.x < 0 && ((i = "end"), (a -= 10))
: (i = "middle"),
Math.abs(t.y) >= e - 10 &&
(t.y < 0
? (s -= 10)
: t.y > 0 && (s += 10)),
{ textAnchor: i, newX: a, newY: s }
);
},
},
{
key: "getPreviousPath",
value: function (t) {
for (
var e = this.w, i = null, a = 0;
a < e.globals.previousPaths.length;
a++
) {
var s = e.globals.previousPaths[a];
s.paths.length > 0 &&
parseInt(s.realIndex, 10) ===
parseInt(t, 10) &&
void 0 !==
e.globals.previousPaths[a].paths[0] &&
(i = e.globals.previousPaths[a].paths[0].d);
}
return i;
},
},
{
key: "getDataPointsPos",
value: function (t, e) {
var i =
arguments.length > 2 && void 0 !== arguments[2]
? arguments[2]
: this.dataPointsLen;
(t = t || []), (e = e || []);
for (var a = [], s = 0; s < i; s++) {
var r = {};
(r.x = t[s] * Math.sin(e[s])),
(r.y = -t[s] * Math.cos(e[s])),
a.push(r);
}
return a;
},
},
]),
t
);
})(),
It = (function (t) {
n(i, t);
var e = d(i);
function i(t) {
var s;
a(this, i),
((s = e.call(this, t)).ctx = t),
(s.w = t.w),
(s.animBeginArr = [0]),
(s.animDur = 0);
var r = s.w;
return (
(s.startAngle = r.config.plotOptions.radialBar.startAngle),
(s.endAngle = r.config.plotOptions.radialBar.endAngle),
(s.totalAngle = Math.abs(
r.config.plotOptions.radialBar.endAngle -
r.config.plotOptions.radialBar.startAngle
)),
(s.trackStartAngle =
r.config.plotOptions.radialBar.track.startAngle),
(s.trackEndAngle =
r.config.plotOptions.radialBar.track.endAngle),
(s.donutDataLabels =
s.w.config.plotOptions.radialBar.dataLabels),
(s.radialDataLabels = s.donutDataLabels),
s.trackStartAngle || (s.trackStartAngle = s.startAngle),
s.trackEndAngle || (s.trackEndAngle = s.endAngle),
360 === s.endAngle && (s.endAngle = 359.99),
(s.margin = parseInt(
r.config.plotOptions.radialBar.track.margin,
10
)),
s
);
}
return (
r(i, [
{
key: "draw",
value: function (t) {
var e = this.w,
i = new m(this.ctx),
a = i.group({ class: "apexcharts-radialbar" });
if (e.globals.noData) return a;
var s = i.group(),
r = this.defaultSize / 2,
o = e.globals.gridWidth / 2,
n = this.defaultSize / 2.05;
e.config.chart.sparkline.enabled ||
(n =
n -
e.config.stroke.width -
e.config.chart.dropShadow.blur);
var l = e.globals.fill.colors;
if (e.config.plotOptions.radialBar.track.show) {
var h = this.drawTracks({
size: n,
centerX: o,
centerY: r,
colorArr: l,
series: t,
});
s.add(h);
}
var c = this.drawArcs({
size: n,
centerX: o,
centerY: r,
colorArr: l,
series: t,
}),
d = 360;
e.config.plotOptions.radialBar.startAngle < 0 &&
(d = this.totalAngle);
var g = (360 - d) / 360;
if (
((e.globals.radialSize = n - n * g),
this.radialDataLabels.value.show)
) {
var u = Math.max(
this.radialDataLabels.value.offsetY,
this.radialDataLabels.name.offsetY
);
e.globals.radialSize += u * g;
}
return (
s.add(c.g),
"front" ===
e.config.plotOptions.radialBar.hollow
.position &&
(c.g.add(c.elHollow),
c.dataLabels && c.g.add(c.dataLabels)),
a.add(s),
a
);
},
},
{
key: "drawTracks",
value: function (t) {
var e = this.w,
i = new m(this.ctx),
a = i.group({ class: "apexcharts-tracks" }),
s = new v(this.ctx),
r = new R(this.ctx),
o = this.getStrokeWidth(t);
t.size = t.size - o / 2;
for (var n = 0; n < t.series.length; n++) {
var l = i.group({
class: "apexcharts-radialbar-track apexcharts-track",
});
a.add(l),
l.attr({ rel: n + 1 }),
(t.size = t.size - o - this.margin);
var h = e.config.plotOptions.radialBar.track,
c = r.fillPath({
seriesNumber: 0,
size: t.size,
fillColors: Array.isArray(h.background)
? h.background[n]
: h.background,
solid: !0,
}),
d = this.trackStartAngle,
g = this.trackEndAngle;
Math.abs(g) + Math.abs(d) >= 360 &&
(g = 360 - Math.abs(this.startAngle) - 0.1);
var u = i.drawPath({
d: "",
stroke: c,
strokeWidth:
(o * parseInt(h.strokeWidth, 10)) / 100,
fill: "none",
strokeOpacity: h.opacity,
classes: "apexcharts-radialbar-area",
});
if (h.dropShadow.enabled) {
var p = h.dropShadow;
s.dropShadow(u, p);
}
l.add(u),
u.attr(
"id",
"apexcharts-radialbarTrack-" + n
),
this.animatePaths(u, {
centerX: t.centerX,
centerY: t.centerY,
endAngle: g,
startAngle: d,
size: t.size,
i: n,
totalItems: 2,
animBeginArr: 0,
dur: 0,
isTrack: !0,
easing: e.globals.easing,
});
}
return a;
},
},
{
key: "drawArcs",
value: function (t) {
var e = this.w,
i = new m(this.ctx),
a = new R(this.ctx),
s = new v(this.ctx),
r = i.group(),
o = this.getStrokeWidth(t);
t.size = t.size - o / 2;
var n =
e.config.plotOptions.radialBar.hollow
.background,
l =
t.size -
o * t.series.length -
this.margin * t.series.length -
(o *
parseInt(
e.config.plotOptions.radialBar.track
.strokeWidth,
10
)) /
100 /
2,
h =
l -
e.config.plotOptions.radialBar.hollow
.margin;
void 0 !==
e.config.plotOptions.radialBar.hollow.image &&
(n = this.drawHollowImage(t, r, l, n));
var c = this.drawHollow({
size: h,
centerX: t.centerX,
centerY: t.centerY,
fill: n || "transparent",
});
if (
e.config.plotOptions.radialBar.hollow.dropShadow
.enabled
) {
var d =
e.config.plotOptions.radialBar.hollow
.dropShadow;
s.dropShadow(c, d);
}
var g = 1;
!this.radialDataLabels.total.show &&
e.globals.series.length > 1 &&
(g = 0);
var u = null;
this.radialDataLabels.show &&
(u = this.renderInnerDataLabels(
this.radialDataLabels,
{
hollowSize: l,
centerX: t.centerX,
centerY: t.centerY,
opacity: g,
}
)),
"back" ===
e.config.plotOptions.radialBar.hollow
.position && (r.add(c), u && r.add(u));
var p = !1;
e.config.plotOptions.radialBar.inverseOrder &&
(p = !0);
for (
var f = p ? t.series.length - 1 : 0;
p ? f >= 0 : f < t.series.length;
p ? f-- : f++
) {
var b = i.group({
class: "apexcharts-series apexcharts-radial-series",
seriesName: x.escapeString(
e.globals.seriesNames[f]
),
});
r.add(b),
b.attr({ rel: f + 1, "data:realIndex": f }),
this.ctx.series.addCollapsedClassToSeries(
b,
f
),
(t.size = t.size - o - this.margin);
var y = a.fillPath({
seriesNumber: f,
size: t.size,
value: t.series[f],
}),
w = this.startAngle,
k = void 0,
A =
x.negToZero(
t.series[f] > 100
? 100
: t.series[f]
) / 100,
S =
Math.round(this.totalAngle * A) +
this.startAngle,
C = void 0;
e.globals.dataChanged &&
((k = this.startAngle),
(C =
Math.round(
(this.totalAngle *
x.negToZero(
e.globals.previousPaths[f]
)) /
100
) + k)),
Math.abs(S) + Math.abs(w) >= 360 &&
(S -= 0.01),
Math.abs(C) + Math.abs(k) >= 360 &&
(C -= 0.01);
var L = S - w,
P = Array.isArray(e.config.stroke.dashArray)
? e.config.stroke.dashArray[f]
: e.config.stroke.dashArray,
I = i.drawPath({
d: "",
stroke: y,
strokeWidth: o,
fill: "none",
fillOpacity: e.config.fill.opacity,
classes:
"apexcharts-radialbar-area apexcharts-radialbar-slice-" +
f,
strokeDashArray: P,
});
if (
(m.setAttrs(I.node, {
"data:angle": L,
"data:value": t.series[f],
}),
e.config.chart.dropShadow.enabled)
) {
var T = e.config.chart.dropShadow;
s.dropShadow(I, T, f);
}
s.setSelectionFilter(I, 0, f),
this.addListeners(I, this.radialDataLabels),
b.add(I),
I.attr({ index: 0, j: f });
var M = 0;
!this.initialAnim ||
e.globals.resized ||
e.globals.dataChanged ||
(M = e.config.chart.animations.speed),
e.globals.dataChanged &&
(M =
e.config.chart.animations
.dynamicAnimation.speed),
(this.animDur =
M / (1.2 * t.series.length) +
this.animDur),
this.animBeginArr.push(this.animDur),
this.animatePaths(I, {
centerX: t.centerX,
centerY: t.centerY,
endAngle: S,
startAngle: w,
prevEndAngle: C,
prevStartAngle: k,
size: t.size,
i: f,
totalItems: 2,
animBeginArr: this.animBeginArr,
dur: M,
shouldSetPrevPaths: !0,
easing: e.globals.easing,
});
}
return { g: r, elHollow: c, dataLabels: u };
},
},
{
key: "drawHollow",
value: function (t) {
var e = new m(this.ctx).drawCircle(2 * t.size);
return (
e.attr({
class: "apexcharts-radialbar-hollow",
cx: t.centerX,
cy: t.centerY,
r: t.size,
fill: t.fill,
}),
e
);
},
},
{
key: "drawHollowImage",
value: function (t, e, i, a) {
var s = this.w,
r = new R(this.ctx),
o = x.randomId(),
n = s.config.plotOptions.radialBar.hollow.image;
if (
s.config.plotOptions.radialBar.hollow
.imageClipped
)
r.clippedImgArea({
width: i,
height: i,
image: n,
patternID: "pattern"
.concat(s.globals.cuid)
.concat(o),
}),
(a = "url(#pattern"
.concat(s.globals.cuid)
.concat(o, ")"));
else {
var l =
s.config.plotOptions.radialBar.hollow
.imageWidth,
h =
s.config.plotOptions.radialBar.hollow
.imageHeight;
if (void 0 === l && void 0 === h) {
var c = s.globals.dom.Paper.image(n).loaded(
function (e) {
this.move(
t.centerX -
e.width / 2 +
s.config.plotOptions
.radialBar.hollow
.imageOffsetX,
t.centerY -
e.height / 2 +
s.config.plotOptions
.radialBar.hollow
.imageOffsetY
);
}
);
e.add(c);
} else {
var d = s.globals.dom.Paper.image(n).loaded(
function (e) {
this.move(
t.centerX -
l / 2 +
s.config.plotOptions
.radialBar.hollow
.imageOffsetX,
t.centerY -
h / 2 +
s.config.plotOptions
.radialBar.hollow
.imageOffsetY
),
this.size(l, h);
}
);
e.add(d);
}
}
return a;
},
},
{
key: "getStrokeWidth",
value: function (t) {
var e = this.w;
return (
(t.size *
(100 -
parseInt(
e.config.plotOptions.radialBar
.hollow.size,
10
))) /
100 /
(t.series.length + 1) -
this.margin
);
},
},
]),
i
);
})(Lt),
Tt = (function (t) {
n(s, t);
var i = d(s);
function s() {
return a(this, s), i.apply(this, arguments);
}
return (
r(s, [
{
key: "draw",
value: function (t, i) {
var a = this.w,
s = new m(this.ctx);
(this.rangeBarOptions =
this.w.config.plotOptions.rangeBar),
(this.series = t),
(this.seriesRangeStart =
a.globals.seriesRangeStart),
(this.seriesRangeEnd =
a.globals.seriesRangeEnd),
this.barHelpers.initVariables(t);
for (
var r = s.group({
class: "apexcharts-rangebar-series apexcharts-plot-series",
}),
n = 0;
n < t.length;
n++
) {
var l,
h,
c,
d,
g = void 0,
u = void 0,
p = a.globals.comboCharts ? i[n] : n,
f = s.group({
class: "apexcharts-series",
seriesName: x.escapeString(
a.globals.seriesNames[p]
),
rel: n + 1,
"data:realIndex": p,
});
this.ctx.series.addCollapsedClassToSeries(f, p),
t[n].length > 0 &&
(this.visibleI = this.visibleI + 1);
var b = 0,
v = 0;
this.yRatio.length > 1 && (this.yaxisIndex = p);
var y = this.barHelpers.initialPositions();
(u = y.y),
(d = y.zeroW),
(g = y.x),
(v = y.barWidth),
(b = y.barHeight),
(l = y.xDivision),
(h = y.yDivision),
(c = y.zeroH);
for (
var w = s.group({
class: "apexcharts-datalabels",
"data:realIndex": p,
}),
k = s.group({
class: "apexcharts-rangebar-goals-markers",
}),
A = 0;
A < a.globals.dataPoints;
A++
) {
var S,
C = this.barHelpers.getStrokeWidth(
n,
A,
p
),
L = this.seriesRangeStart[n][A],
P = this.seriesRangeEnd[n][A],
I = null,
T = null,
M = null,
z = {
x: g,
y: u,
strokeWidth: C,
elSeries: f,
},
X = this.seriesLen;
if (
(a.config.plotOptions.bar
.rangeBarGroupRows && (X = 1),
void 0 === a.config.series[n].data[A])
)
break;
if (this.isHorizontal) {
M = u + b * this.visibleI;
var E = (h - b * X) / 2;
if (a.config.series[n].data[A].x) {
var Y = this.detectOverlappingBars({
i: n,
j: A,
barYPosition: M,
srty: E,
barHeight: b,
yDivision: h,
initPositions: y,
});
(b = Y.barHeight),
(M = Y.barYPosition);
}
v = (I = this.drawRangeBarPaths(
e(
{
indexes: {
i: n,
j: A,
realIndex: p,
},
barHeight: b,
barYPosition: M,
zeroW: d,
yDivision: h,
y1: L,
y2: P,
},
z
)
)).barWidth;
} else {
a.globals.isXNumeric &&
(g =
(a.globals.seriesX[n][A] -
a.globals.minX) /
this.xRatio -
v / 2),
(T = g + v * this.visibleI);
var F = (l - v * X) / 2;
if (a.config.series[n].data[A].x) {
var R = this.detectOverlappingBars({
i: n,
j: A,
barXPosition: T,
srtx: F,
barWidth: v,
xDivision: l,
initPositions: y,
});
(v = R.barWidth),
(T = R.barXPosition);
}
b = (I = this.drawRangeColumnPaths(
e(
{
indexes: {
i: n,
j: A,
realIndex: p,
},
barWidth: v,
barXPosition: T,
zeroH: c,
xDivision: l,
},
z
)
)).barHeight;
}
var H = this.barHelpers.drawGoalLine({
barXPosition: I.barXPosition,
barYPosition: M,
goalX: I.goalX,
goalY: I.goalY,
barHeight: b,
barWidth: v,
});
H && k.add(H), (u = I.y), (g = I.x);
var D = this.barHelpers.getPathFillColor(
t,
n,
A,
p
),
O = a.globals.stroke.colors[p];
this.renderSeries(
(o(
(S = {
realIndex: p,
pathFill: D,
lineFill: O,
j: A,
i: n,
x: g,
y: u,
y1: L,
y2: P,
pathFrom: I.pathFrom,
pathTo: I.pathTo,
strokeWidth: C,
elSeries: f,
series: t,
barHeight: b,
barWidth: v,
barXPosition: T,
barYPosition: M,
}),
"barWidth",
v
),
o(S, "elDataLabelsWrap", w),
o(S, "elGoalsMarkers", k),
o(S, "visibleSeries", this.visibleI),
o(S, "type", "rangebar"),
S)
);
}
r.add(f);
}
return r;
},
},
{
key: "detectOverlappingBars",
value: function (t) {
var e = t.i,
i = t.j,
a = t.barYPosition,
s = t.barXPosition,
r = t.srty,
o = t.srtx,
n = t.barHeight,
l = t.barWidth,
h = t.yDivision,
c = t.xDivision,
d = t.initPositions,
g = this.w,
u = [],
p = g.config.series[e].data[i].rangeName,
f = g.config.series[e].data[i].x,
x = Array.isArray(f) ? f.join(" ") : f,
b = g.globals.labels
.map(function (t) {
return Array.isArray(t)
? t.join(" ")
: t;
})
.indexOf(x),
v = g.globals.seriesRange[e].findIndex(
function (t) {
return (
t.x === x && t.overlaps.length > 0
);
}
);
return (
this.isHorizontal
? ((a = g.config.plotOptions.bar
.rangeBarGroupRows
? r + h * b
: r + n * this.visibleI + h * b),
v > -1 &&
!g.config.plotOptions.bar
.rangeBarOverlap &&
(u =
g.globals.seriesRange[e][v]
.overlaps).indexOf(p) > -1 &&
(a =
(n = d.barHeight / u.length) *
this.visibleI +
(h *
(100 -
parseInt(
this.barOptions
.barHeight,
10
))) /
100 /
2 +
n *
(this.visibleI +
u.indexOf(p)) +
h * b))
: (b > -1 &&
(s = g.config.plotOptions.bar
.rangeBarGroupRows
? o + c * b
: o + l * this.visibleI + c * b),
v > -1 &&
!g.config.plotOptions.bar
.rangeBarOverlap &&
(u =
g.globals.seriesRange[e][v]
.overlaps).indexOf(p) > -1 &&
(s =
(l = d.barWidth / u.length) *
this.visibleI +
(c *
(100 -
parseInt(
this.barOptions
.barWidth,
10
))) /
100 /
2 +
l *
(this.visibleI +
u.indexOf(p)) +
c * b)),
{
barYPosition: a,
barXPosition: s,
barHeight: n,
barWidth: l,
}
);
},
},
{
key: "drawRangeColumnPaths",
value: function (t) {
var e = t.indexes,
i = t.x,
a = t.xDivision,
s = t.barWidth,
r = t.barXPosition,
o = t.zeroH,
n = this.w,
l = e.i,
h = e.j,
c = this.yRatio[this.yaxisIndex],
d = e.realIndex,
g = this.getRangeValue(d, h),
u = Math.min(g.start, g.end),
p = Math.max(g.start, g.end);
void 0 === this.series[l][h] ||
null === this.series[l][h]
? (u = o)
: ((u = o - u / c), (p = o - p / c));
var f = Math.abs(p - u),
x = this.barHelpers.getColumnPaths({
barXPosition: r,
barWidth: s,
y1: u,
y2: p,
strokeWidth: this.strokeWidth,
series: this.seriesRangeEnd,
realIndex: e.realIndex,
i: d,
j: h,
w: n,
});
return (
n.globals.isXNumeric || (i += a),
{
pathTo: x.pathTo,
pathFrom: x.pathFrom,
barHeight: f,
x: i,
y: p,
goalY: this.barHelpers.getGoalValues(
"y",
null,
o,
l,
h
),
barXPosition: r,
}
);
},
},
{
key: "drawRangeBarPaths",
value: function (t) {
var e = t.indexes,
i = t.y,
a = t.y1,
s = t.y2,
r = t.yDivision,
o = t.barHeight,
n = t.barYPosition,
l = t.zeroW,
h = this.w,
c = l + a / this.invertedYRatio,
d = l + s / this.invertedYRatio,
g = Math.abs(d - c),
u = this.barHelpers.getBarpaths({
barYPosition: n,
barHeight: o,
x1: c,
x2: d,
strokeWidth: this.strokeWidth,
series: this.seriesRangeEnd,
i: e.realIndex,
realIndex: e.realIndex,
j: e.j,
w: h,
});
return (
h.globals.isXNumeric || (i += r),
{
pathTo: u.pathTo,
pathFrom: u.pathFrom,
barWidth: g,
x: d,
goalX: this.barHelpers.getGoalValues(
"x",
l,
null,
e.realIndex,
e.j
),
y: i,
}
);
},
},
{
key: "getRangeValue",
value: function (t, e) {
var i = this.w;
return {
start: i.globals.seriesRangeStart[t][e],
end: i.globals.seriesRangeEnd[t][e],
};
},
},
]),
s
);
})(yt),
Mt = (function () {
function t(e) {
a(this, t), (this.w = e.w), (this.lineCtx = e);
}
return (
r(t, [
{
key: "sameValueSeriesFix",
value: function (t, e) {
var i = this.w;
if (
("gradient" === i.config.fill.type ||
"gradient" === i.config.fill.type[t]) &&
new y(this.lineCtx.ctx, i).seriesHaveSameValues(
t
)
) {
var a = e[t].slice();
(a[a.length - 1] = a[a.length - 1] + 1e-6),
(e[t] = a);
}
return e;
},
},
{
key: "calculatePoints",
value: function (t) {
var e = t.series,
i = t.realIndex,
a = t.x,
s = t.y,
r = t.i,
o = t.j,
n = t.prevY,
l = this.w,
h = [],
c = [];
if (0 === o) {
var d =
this.lineCtx.categoryAxisCorrection +
l.config.markers.offsetX;
l.globals.isXNumeric &&
(d =
(l.globals.seriesX[i][0] -
l.globals.minX) /
this.lineCtx.xRatio +
l.config.markers.offsetX),
h.push(d),
c.push(
x.isNumber(e[r][0])
? n + l.config.markers.offsetY
: null
),
h.push(a + l.config.markers.offsetX),
c.push(
x.isNumber(e[r][o + 1])
? s + l.config.markers.offsetY
: null
);
} else
h.push(a + l.config.markers.offsetX),
c.push(
x.isNumber(e[r][o + 1])
? s + l.config.markers.offsetY
: null
);
return { x: h, y: c };
},
},
{
key: "checkPreviousPaths",
value: function (t) {
for (
var e = t.pathFromLine,
i = t.pathFromArea,
a = t.realIndex,
s = this.w,
r = 0;
r < s.globals.previousPaths.length;
r++
) {
var o = s.globals.previousPaths[r];
("line" === o.type || "area" === o.type) &&
o.paths.length > 0 &&
parseInt(o.realIndex, 10) ===
parseInt(a, 10) &&
("line" === o.type
? ((this.lineCtx.appendPathFrom = !1),
(e =
s.globals.previousPaths[r]
.paths[0].d))
: "area" === o.type &&
((this.lineCtx.appendPathFrom = !1),
(i =
s.globals.previousPaths[r]
.paths[0].d),
s.config.stroke.show &&
s.globals.previousPaths[r]
.paths[1] &&
(e =
s.globals.previousPaths[r]
.paths[1].d)));
}
return { pathFromLine: e, pathFromArea: i };
},
},
{
key: "determineFirstPrevY",
value: function (t) {
var e,
i = t.i,
a = t.series,
s = t.prevY,
r = t.lineYPosition,
o = this.w;
if (
void 0 !==
(null === (e = a[i]) || void 0 === e
? void 0
: e[0])
)
s =
(r =
o.config.chart.stacked && i > 0
? this.lineCtx.prevSeriesY[i - 1][0]
: this.lineCtx.zeroY) -
a[i][0] /
this.lineCtx.yRatio[
this.lineCtx.yaxisIndex
] +
2 *
(this.lineCtx.isReversed
? a[i][0] /
this.lineCtx.yRatio[
this.lineCtx.yaxisIndex
]
: 0);
else if (
o.config.chart.stacked &&
i > 0 &&
void 0 === a[i][0]
)
for (var n = i - 1; n >= 0; n--)
if (
null !== a[n][0] &&
void 0 !== a[n][0]
) {
s = r = this.lineCtx.prevSeriesY[n][0];
break;
}
return { prevY: s, lineYPosition: r };
},
},
]),
t
);
})(),
zt = function (t) {
for (
var e,
i,
a,
s,
r = (function (t) {
for (
var e = [],
i = t[0],
a = t[1],
s = (e[0] = Yt(i, a)),
r = 1,
o = t.length - 1;
r < o;
r++
)
(i = a),
(a = t[r + 1]),
(e[r] = 0.5 * (s + (s = Yt(i, a))));
return (e[r] = s), e;
})(t),
o = t.length - 1,
n = [],
l = 0;
l < o;
l++
)
(a = Yt(t[l], t[l + 1])),
Math.abs(a) < 1e-6
? (r[l] = r[l + 1] = 0)
: (s = (e = r[l] / a) * e + (i = r[l + 1] / a) * i) >
9 &&
((s = (3 * a) / Math.sqrt(s)),
(r[l] = s * e),
(r[l + 1] = s * i));
for (var h = 0; h <= o; h++)
(s =
(t[Math.min(o, h + 1)][0] - t[Math.max(0, h - 1)][0]) /
(6 * (1 + r[h] * r[h]))),
n.push([s || 0, r[h] * s || 0]);
return n;
},
Xt = function (t) {
for (var e = "", i = 0; i < t.length; i++) {
var a = t[i],
s = a.length;
s > 4
? ((e += "C".concat(a[0], ", ").concat(a[1])),
(e += ", ".concat(a[2], ", ").concat(a[3])),
(e += ", ".concat(a[4], ", ").concat(a[5])))
: s > 2 &&
((e += "S".concat(a[0], ", ").concat(a[1])),
(e += ", ".concat(a[2], ", ").concat(a[3])));
}
return e;
},
Et = function (t) {
var e = zt(t),
i = t[1],
a = t[0],
s = [],
r = e[1],
o = e[0];
s.push(a, [
a[0] + o[0],
a[1] + o[1],
i[0] - r[0],
i[1] - r[1],
i[0],
i[1],
]);
for (var n = 2, l = e.length; n < l; n++) {
var h = t[n],
c = e[n];
s.push([h[0] - c[0], h[1] - c[1], h[0], h[1]]);
}
return s;
};
function Yt(t, e) {
return (e[1] - t[1]) / (e[0] - t[0]);
}
var Ft = (function () {
function t(e, i, s) {
a(this, t),
(this.ctx = e),
(this.w = e.w),
(this.xyRatios = i),
(this.pointsChart =
!(
"bubble" !== this.w.config.chart.type &&
"scatter" !== this.w.config.chart.type
) || s),
(this.scatter = new D(this.ctx)),
(this.noNegatives = this.w.globals.minX === Number.MAX_VALUE),
(this.lineHelpers = new Mt(this)),
(this.markers = new H(this.ctx)),
(this.prevSeriesY = []),
(this.categoryAxisCorrection = 0),
(this.yaxisIndex = 0);
}
return (
r(t, [
{
key: "draw",
value: function (t, i, a, s) {
var r = this.w,
o = new m(this.ctx),
n = r.globals.comboCharts ? i : r.config.chart.type,
l = o.group({
class: "apexcharts-".concat(
n,
"-series apexcharts-plot-series"
),
}),
h = new y(this.ctx, r);
(this.yRatio = this.xyRatios.yRatio),
(this.zRatio = this.xyRatios.zRatio),
(this.xRatio = this.xyRatios.xRatio),
(this.baseLineY = this.xyRatios.baseLineY),
(t = h.getLogSeries(t)),
(this.yRatio = h.getLogYRatios(this.yRatio));
for (var c = [], d = 0; d < t.length; d++) {
t = this.lineHelpers.sameValueSeriesFix(d, t);
var g = r.globals.comboCharts ? a[d] : d;
this._initSerieVariables(t, d, g);
var u = [],
p = [],
f = [],
x =
r.globals.padHorizontal +
this.categoryAxisCorrection;
this.ctx.series.addCollapsedClassToSeries(
this.elSeries,
g
),
r.globals.isXNumeric &&
r.globals.seriesX.length > 0 &&
(x =
(r.globals.seriesX[g][0] -
r.globals.minX) /
this.xRatio),
f.push(x);
var b = x,
v = this.zeroY,
w = this.zeroY;
(v = this.lineHelpers.determineFirstPrevY({
i: d,
series: t,
prevY: v,
lineYPosition: 0,
}).prevY),
"smooth" === r.config.stroke.curve &&
null === t[d][0]
? u.push(null)
: u.push(v);
"rangeArea" === n &&
((w = this.lineHelpers.determineFirstPrevY({
i: d,
series: s,
prevY: w,
lineYPosition: 0,
}).prevY),
p.push(w));
var k = {
type: n,
series: t,
realIndex: g,
i: d,
x: x,
y: 1,
pathsFrom: this._calculatePathsFrom({
type: n,
series: t,
i: d,
realIndex: g,
prevX: b,
prevY: v,
prevY2: w,
}),
linePaths: [],
areaPaths: [],
seriesIndex: a,
lineYPosition: 0,
xArrj: f,
yArrj: u,
y2Arrj: p,
seriesRangeEnd: s,
},
A = this._iterateOverDataPoints(
e(
e({}, k),
{},
{
iterations:
"rangeArea" === n
? t[d].length - 1
: void 0,
isRangeStart: !0,
}
)
);
if ("rangeArea" === n) {
var S = this._calculatePathsFrom({
series: s,
i: d,
realIndex: g,
prevX: b,
prevY: w,
}),
C = this._iterateOverDataPoints(
e(
e({}, k),
{},
{
series: s,
pathsFrom: S,
iterations: s[d].length - 1,
isRangeStart: !1,
}
)
);
(A.linePaths[0] = C.linePath + A.linePath),
(A.pathFromLine =
C.pathFromLine + A.pathFromLine);
}
this._handlePaths({
type: n,
realIndex: g,
i: d,
paths: A,
}),
this.elSeries.add(this.elPointsMain),
this.elSeries.add(this.elDataLabelsWrap),
c.push(this.elSeries);
}
if (r.config.chart.stacked)
for (var L = c.length; L > 0; L--) l.add(c[L - 1]);
else for (var P = 0; P < c.length; P++) l.add(c[P]);
return l;
},
},
{
key: "_initSerieVariables",
value: function (t, e, i) {
var a = this.w,
s = new m(this.ctx);
(this.xDivision =
a.globals.gridWidth /
(a.globals.dataPoints -
("on" === a.config.xaxis.tickPlacement
? 1
: 0))),
(this.strokeWidth = Array.isArray(
a.config.stroke.width
)
? a.config.stroke.width[i]
: a.config.stroke.width),
this.yRatio.length > 1 && (this.yaxisIndex = i),
(this.isReversed =
a.config.yaxis[this.yaxisIndex] &&
a.config.yaxis[this.yaxisIndex].reversed),
(this.zeroY =
a.globals.gridHeight -
this.baseLineY[this.yaxisIndex] -
(this.isReversed ? a.globals.gridHeight : 0) +
(this.isReversed
? 2 * this.baseLineY[this.yaxisIndex]
: 0)),
(this.areaBottomY = this.zeroY),
(this.zeroY > a.globals.gridHeight ||
"end" === a.config.plotOptions.area.fillTo) &&
(this.areaBottomY = a.globals.gridHeight),
(this.categoryAxisCorrection = this.xDivision / 2),
(this.elSeries = s.group({
class: "apexcharts-series",
seriesName: x.escapeString(
a.globals.seriesNames[i]
),
})),
(this.elPointsMain = s.group({
class: "apexcharts-series-markers-wrap",
"data:realIndex": i,
})),
(this.elDataLabelsWrap = s.group({
class: "apexcharts-datalabels",
"data:realIndex": i,
}));
var r = t[e].length === a.globals.dataPoints;
this.elSeries.attr({
"data:longestSeries": r,
rel: e + 1,
"data:realIndex": i,
}),
(this.appendPathFrom = !0);
},
},
{
key: "_calculatePathsFrom",
value: function (t) {
var e,
i,
a,
s,
r = t.type,
o = t.series,
n = t.i,
l = t.realIndex,
h = t.prevX,
c = t.prevY,
d = t.prevY2,
g = this.w,
u = new m(this.ctx);
if (null === o[n][0]) {
for (var p = 0; p < o[n].length; p++)
if (null !== o[n][p]) {
(h = this.xDivision * p),
(c =
this.zeroY -
o[n][p] /
this.yRatio[this.yaxisIndex]),
(e = u.move(h, c)),
(i = u.move(h, this.areaBottomY));
break;
}
} else
(e = u.move(h, c)),
"rangeArea" === r &&
(e = u.move(h, d) + u.line(h, c)),
(i =
u.move(h, this.areaBottomY) + u.line(h, c));
if (
((a =
u.move(-1, this.zeroY) +
u.line(-1, this.zeroY)),
(s =
u.move(-1, this.zeroY) +
u.line(-1, this.zeroY)),
g.globals.previousPaths.length > 0)
) {
var f = this.lineHelpers.checkPreviousPaths({
pathFromLine: a,
pathFromArea: s,
realIndex: l,
});
(a = f.pathFromLine), (s = f.pathFromArea);
}
return {
prevX: h,
prevY: c,
linePath: e,
areaPath: i,
pathFromLine: a,
pathFromArea: s,
};
},
},
{
key: "_handlePaths",
value: function (t) {
var i = t.type,
a = t.realIndex,
s = t.i,
r = t.paths,
o = this.w,
n = new m(this.ctx),
l = new R(this.ctx);
this.prevSeriesY.push(r.yArrj),
(o.globals.seriesXvalues[a] = r.xArrj),
(o.globals.seriesYvalues[a] = r.yArrj);
var h = o.config.forecastDataPoints;
if (h.count > 0 && "rangeArea" !== i) {
var c =
o.globals.seriesXvalues[a][
o.globals.seriesXvalues[a].length -
h.count -
1
],
d = n.drawRect(
c,
0,
o.globals.gridWidth,
o.globals.gridHeight,
0
);
o.globals.dom.elForecastMask.appendChild(d.node);
var g = n.drawRect(
0,
0,
c,
o.globals.gridHeight,
0
);
o.globals.dom.elNonForecastMask.appendChild(g.node);
}
this.pointsChart ||
o.globals.delayedElements.push({
el: this.elPointsMain.node,
index: a,
});
var u = {
i: s,
realIndex: a,
animationDelay: s,
initialSpeed: o.config.chart.animations.speed,
dataChangeSpeed:
o.config.chart.animations.dynamicAnimation
.speed,
className: "apexcharts-".concat(i),
};
if ("area" === i)
for (
var p = l.fillPath({ seriesNumber: a }), f = 0;
f < r.areaPaths.length;
f++
) {
var x = n.renderPaths(
e(
e({}, u),
{},
{
pathFrom: r.pathFromArea,
pathTo: r.areaPaths[f],
stroke: "none",
strokeWidth: 0,
strokeLineCap: null,
fill: p,
}
)
);
this.elSeries.add(x);
}
if (o.config.stroke.show && !this.pointsChart) {
var b = null;
if ("line" === i)
b = l.fillPath({ seriesNumber: a, i: s });
else if ("solid" === o.config.stroke.fill.type)
b = o.globals.stroke.colors[a];
else {
var v = o.config.fill;
(o.config.fill = o.config.stroke.fill),
(b = l.fillPath({ seriesNumber: a, i: s })),
(o.config.fill = v);
}
for (var y = 0; y < r.linePaths.length; y++) {
var w = b;
"rangeArea" === i &&
(w = l.fillPath({ seriesNumber: a }));
var k = e(
e({}, u),
{},
{
pathFrom: r.pathFromLine,
pathTo: r.linePaths[y],
stroke: b,
strokeWidth: this.strokeWidth,
strokeLineCap:
o.config.stroke.lineCap,
fill:
"rangeArea" === i ? w : "none",
}
),
A = n.renderPaths(k);
if (
(this.elSeries.add(A),
A.attr("fill-rule", "evenodd"),
h.count > 0 && "rangeArea" !== i)
) {
var S = n.renderPaths(k);
S.node.setAttribute(
"stroke-dasharray",
h.dashArray
),
h.strokeWidth &&
S.node.setAttribute(
"stroke-width",
h.strokeWidth
),
this.elSeries.add(S),
S.attr(
"clip-path",
"url(#forecastMask".concat(
o.globals.cuid,
")"
)
),
A.attr(
"clip-path",
"url(#nonForecastMask".concat(
o.globals.cuid,
")"
)
);
}
}
}
},
},
{
key: "_iterateOverDataPoints",
value: function (t) {
var e = this,
i = t.type,
a = t.series,
s = t.iterations,
r = t.realIndex,
o = t.i,
n = t.x,
l = t.y,
h = t.pathsFrom,
c = t.linePaths,
d = t.areaPaths,
g = t.seriesIndex,
u = t.lineYPosition,
p = t.xArrj,
f = t.yArrj,
b = t.y2Arrj,
v = t.isRangeStart,
y = t.seriesRangeEnd,
w = this.w,
k = new m(this.ctx),
A = this.yRatio,
S = h.prevY,
C = h.linePath,
L = h.areaPath,
P = h.pathFromLine,
I = h.pathFromArea,
T = x.isNumber(w.globals.minYArr[r])
? w.globals.minYArr[r]
: w.globals.minY;
s ||
(s =
w.globals.dataPoints > 1
? w.globals.dataPoints - 1
: w.globals.dataPoints);
for (
var M = function (t, i) {
return (
i -
t / A[e.yaxisIndex] +
2 *
(e.isReversed
? t / A[e.yaxisIndex]
: 0)
);
},
z = l,
X = 0;
X < s;
X++
) {
var E =
void 0 === a[o][X + 1] || null === a[o][X + 1];
if (w.globals.isXNumeric) {
var Y = w.globals.seriesX[r][X + 1];
void 0 === w.globals.seriesX[r][X + 1] &&
(Y = w.globals.seriesX[r][s - 1]),
(n = (Y - w.globals.minX) / this.xRatio);
} else n += this.xDivision;
if (w.config.chart.stacked)
if (
o > 0 &&
w.globals.collapsedSeries.length <
w.config.series.length - 1
) {
u =
this.prevSeriesY[
(function (t) {
for (
var e = t, i = 0;
i < w.globals.series.length;
i++
)
if (
w.globals.collapsedSeriesIndices.indexOf(
t
) > -1
) {
e--;
break;
}
return e >= 0 ? e : 0;
})(o - 1)
][X + 1];
} else u = this.zeroY;
else u = this.zeroY;
E
? (l = M(T, u))
: ((l = M(a[o][X + 1], u)),
"rangeArea" === i && (z = M(y[o][X + 1], u))),
p.push(n),
E && "smooth" === w.config.stroke.curve
? f.push(null)
: f.push(l),
b.push(z);
var F = this.lineHelpers.calculatePoints({
series: a,
x: n,
y: l,
realIndex: r,
i: o,
j: X,
prevY: S,
}),
R = this._createPaths({
type: i,
series: a,
i: o,
realIndex: r,
j: X,
x: n,
y: l,
y2: z,
xArrj: p,
yArrj: f,
y2Arrj: b,
linePath: C,
areaPath: L,
linePaths: c,
areaPaths: d,
seriesIndex: g,
isRangeStart: v,
});
(d = R.areaPaths),
(c = R.linePaths),
(L = R.areaPath),
(C = R.linePath),
!this.appendPathFrom ||
("smooth" === w.config.stroke.curve &&
"rangeArea" === i) ||
((P += k.line(n, this.zeroY)),
(I += k.line(n, this.zeroY))),
this.handleNullDataPoints(a, F, o, X, r),
this._handleMarkersAndLabels({
type: i,
pointsPos: F,
i: o,
j: X,
realIndex: r,
isRangeStart: v,
});
}
return {
yArrj: f,
xArrj: p,
pathFromArea: I,
areaPaths: d,
pathFromLine: P,
linePaths: c,
linePath: C,
areaPath: L,
};
},
},
{
key: "_handleMarkersAndLabels",
value: function (t) {
var e = t.type,
i = t.pointsPos,
a = t.isRangeStart,
s = t.i,
r = t.j,
o = t.realIndex,
n = this.w,
l = new O(this.ctx);
if (this.pointsChart)
this.scatter.draw(this.elSeries, r, {
realIndex: o,
pointsPos: i,
zRatio: this.zRatio,
elParent: this.elPointsMain,
});
else {
n.globals.series[s].length > 1 &&
this.elPointsMain.node.classList.add(
"apexcharts-element-hidden"
);
var h = this.markers.plotChartMarkers(i, o, r + 1);
null !== h && this.elPointsMain.add(h);
}
var c = l.drawDataLabel({
type: e,
isRangeStart: a,
pos: i,
i: o,
j: r + 1,
});
null !== c && this.elDataLabelsWrap.add(c);
},
},
{
key: "_createPaths",
value: function (t) {
var e = t.type,
i = t.series,
a = t.i,
s = t.realIndex,
r = t.j,
o = t.x,
n = t.y,
l = t.xArrj,
h = t.yArrj,
c = t.y2,
d = t.y2Arrj,
g = t.linePath,
u = t.areaPath,
p = t.linePaths,
f = t.areaPaths,
x = t.seriesIndex,
b = t.isRangeStart,
v = this.w,
y = new m(this.ctx),
w = v.config.stroke.curve,
k = this.areaBottomY;
if (
(Array.isArray(v.config.stroke.curve) &&
(w = Array.isArray(x)
? v.config.stroke.curve[x[a]]
: v.config.stroke.curve[a]),
"rangeArea" === e &&
(v.globals.hasNullValues ||
v.config.forecastDataPoints.count > 0) &&
"smooth" === w &&
(w = "straight"),
"smooth" === w)
) {
if (
"rangeArea" === e
? l.length === v.globals.dataPoints
: r === i[a].length - 2
) {
var A = l
.map(function (t, e) {
return [l[e], h[e]];
})
.filter(function (t) {
return null !== t[1];
}),
S = Et(A);
if (
((g += Xt(S)),
null === i[a][0] ? (u = g) : (u += Xt(S)),
"rangeArea" === e && b)
) {
g += y.line(
l[l.length - 1],
d[d.length - 1]
);
var C = l.slice().reverse(),
L = d.slice().reverse(),
P = C.map(function (t, e) {
return [C[e], L[e]];
}),
I = Et(P);
u = g += Xt(I);
} else
u +=
y.line(A[A.length - 1][0], k) +
y.line(A[0][0], k) +
y.move(A[0][0], A[0][1]) +
"z";
p.push(g), f.push(u);
}
} else {
if (null === i[a][r + 1]) {
g += y.move(o, n);
var T = v.globals.isXNumeric
? (v.globals.seriesX[s][r] -
v.globals.minX) /
this.xRatio
: o - this.xDivision;
u = u + y.line(T, k) + y.move(o, n) + "z";
}
null === i[a][r] &&
((g += y.move(o, n)), (u += y.move(o, k))),
"stepline" === w
? ((g =
g +
y.line(o, null, "H") +
y.line(null, n, "V")),
(u =
u +
y.line(o, null, "H") +
y.line(null, n, "V")))
: "straight" === w &&
((g += y.line(o, n)),
(u += y.line(o, n))),
r === i[a].length - 2 &&
((u =
u + y.line(o, k) + y.move(o, n) + "z"),
"rangeArea" === e && b
? (g =
g +
y.line(o, c) +
y.move(o, c) +
"z")
: (p.push(g), f.push(u)));
}
return {
linePaths: p,
areaPaths: f,
linePath: g,
areaPath: u,
};
},
},
{
key: "handleNullDataPoints",
value: function (t, e, i, a, s) {
var r = this.w;
if (
(null === t[i][a] &&
r.config.markers.showNullDataPoints) ||
1 === t[i].length
) {
var o = this.markers.plotChartMarkers(
e,
s,
a + 1,
this.strokeWidth -
r.config.markers.strokeWidth / 2,
!0
);
null !== o && this.elPointsMain.add(o);
}
},
},
]),
t
);
})();
(window.TreemapSquared = {}),
(window.TreemapSquared.generate = (function () {
function t(e, i, a, s) {
(this.xoffset = e),
(this.yoffset = i),
(this.height = s),
(this.width = a),
(this.shortestEdge = function () {
return Math.min(this.height, this.width);
}),
(this.getCoordinates = function (t) {
var e,
i = [],
a = this.xoffset,
s = this.yoffset,
o = r(t) / this.height,
n = r(t) / this.width;
if (this.width >= this.height)
for (e = 0; e < t.length; e++)
i.push([a, s, a + o, s + t[e] / o]),
(s += t[e] / o);
else
for (e = 0; e < t.length; e++)
i.push([a, s, a + t[e] / n, s + n]),
(a += t[e] / n);
return i;
}),
(this.cutArea = function (e) {
var i;
if (this.width >= this.height) {
var a = e / this.height,
s = this.width - a;
i = new t(
this.xoffset + a,
this.yoffset,
s,
this.height
);
} else {
var r = e / this.width,
o = this.height - r;
i = new t(
this.xoffset,
this.yoffset + r,
this.width,
o
);
}
return i;
});
}
function e(e, a, s, o, n) {
(o = void 0 === o ? 0 : o), (n = void 0 === n ? 0 : n);
var l = i(
(function (t, e) {
var i,
a = [],
s = e / r(t);
for (i = 0; i < t.length; i++) a[i] = t[i] * s;
return a;
})(e, a * s),
[],
new t(o, n, a, s),
[]
);
return (function (t) {
var e,
i,
a = [];
for (e = 0; e < t.length; e++)
for (i = 0; i < t[e].length; i++) a.push(t[e][i]);
return a;
})(l);
}
function i(t, e, s, o) {
var n, l, h;
if (0 !== t.length)
return (
(n = s.shortestEdge()),
(function (t, e, i) {
var s;
if (0 === t.length) return !0;
(s = t.slice()).push(e);
var r = a(t, i),
o = a(s, i);
return r >= o;
})(e, (l = t[0]), n)
? (e.push(l), i(t.slice(1), e, s, o))
: ((h = s.cutArea(r(e), o)),
o.push(s.getCoordinates(e)),
i(t, [], h, o)),
o
);
o.push(s.getCoordinates(e));
}
function a(t, e) {
var i = Math.min.apply(Math, t),
a = Math.max.apply(Math, t),
s = r(t);
return Math.max(
(Math.pow(e, 2) * a) / Math.pow(s, 2),
Math.pow(s, 2) / (Math.pow(e, 2) * i)
);
}
function s(t) {
return t && t.constructor === Array;
}
function r(t) {
var e,
i = 0;
for (e = 0; e < t.length; e++) i += t[e];
return i;
}
function o(t) {
var e,
i = 0;
if (s(t[0])) for (e = 0; e < t.length; e++) i += o(t[e]);
else i = r(t);
return i;
}
return function t(i, a, r, n, l) {
(n = void 0 === n ? 0 : n), (l = void 0 === l ? 0 : l);
var h,
c,
d = [],
g = [];
if (s(i[0])) {
for (c = 0; c < i.length; c++) d[c] = o(i[c]);
for (h = e(d, a, r, n, l), c = 0; c < i.length; c++)
g.push(
t(
i[c],
h[c][2] - h[c][0],
h[c][3] - h[c][1],
h[c][0],
h[c][1]
)
);
} else g = e(i, a, r, n, l);
return g;
};
})());
var Rt,
Ht,
Dt = (function () {
function t(e, i) {
a(this, t),
(this.ctx = e),
(this.w = e.w),
(this.strokeWidth = this.w.config.stroke.width),
(this.helpers = new At(e)),
(this.dynamicAnim =
this.w.config.chart.animations.dynamicAnimation),
(this.labels = []);
}
return (
r(t, [
{
key: "draw",
value: function (t) {
var e = this,
i = this.w,
a = new m(this.ctx),
s = new R(this.ctx),
r = a.group({ class: "apexcharts-treemap" });
if (i.globals.noData) return r;
var o = [];
return (
t.forEach(function (t) {
var e = t.map(function (t) {
return Math.abs(t);
});
o.push(e);
}),
(this.negRange =
this.helpers.checkColorRange()),
i.config.series.forEach(function (t, i) {
t.data.forEach(function (t) {
Array.isArray(e.labels[i]) ||
(e.labels[i] = []),
e.labels[i].push(t.x);
});
}),
window.TreemapSquared.generate(
o,
i.globals.gridWidth,
i.globals.gridHeight
).forEach(function (o, n) {
var l = a.group({
class: "apexcharts-series apexcharts-treemap-series",
seriesName: x.escapeString(
i.globals.seriesNames[n]
),
rel: n + 1,
"data:realIndex": n,
});
if (i.config.chart.dropShadow.enabled) {
var h = i.config.chart.dropShadow;
new v(e.ctx).dropShadow(r, h, n);
}
var c = a.group({
class: "apexcharts-data-labels",
});
o.forEach(function (r, o) {
var h = r[0],
c = r[1],
d = r[2],
g = r[3],
u = a.drawRect(
h,
c,
d - h,
g - c,
0,
"#fff",
1,
e.strokeWidth,
i.config.plotOptions.treemap
.useFillColorAsStroke
? f
: i.globals.stroke.colors[n]
);
u.attr({
cx: h,
cy: c,
index: n,
i: n,
j: o,
width: d - h,
height: g - c,
});
var p = e.helpers.getShadeColor(
i.config.chart.type,
n,
o,
e.negRange
),
f = p.color;
void 0 !== i.config.series[n].data[o] &&
i.config.series[n].data[o]
.fillColor &&
(f =
i.config.series[n].data[o]
.fillColor);
var x = s.fillPath({
color: f,
seriesNumber: n,
dataPointIndex: o,
});
u.node.classList.add(
"apexcharts-treemap-rect"
),
u.attr({ fill: x }),
e.helpers.addListeners(u);
var b = {
x: h + (d - h) / 2,
y: c + (g - c) / 2,
width: 0,
height: 0,
},
v = {
x: h,
y: c,
width: d - h,
height: g - c,
};
if (
i.config.chart.animations.enabled &&
!i.globals.dataChanged
) {
var m = 1;
i.globals.resized ||
(m =
i.config.chart.animations
.speed),
e.animateTreemap(u, b, v, m);
}
if (i.globals.dataChanged) {
var y = 1;
e.dynamicAnim.enabled &&
i.globals.shouldAnimate &&
((y = e.dynamicAnim.speed),
i.globals.previousPaths[n] &&
i.globals.previousPaths[n][
o
] &&
i.globals.previousPaths[n][
o
].rect &&
(b =
i.globals.previousPaths[
n
][o].rect),
e.animateTreemap(u, b, v, y));
}
var w = e.getFontSize(r),
k = i.config.dataLabels.formatter(
e.labels[n][o],
{
value: i.globals.series[n][
o
],
seriesIndex: n,
dataPointIndex: o,
w: i,
}
);
"truncate" ===
i.config.plotOptions.treemap
.dataLabels.format &&
((w = parseInt(
i.config.dataLabels.style
.fontSize,
10
)),
(k = e.truncateLabels(
k,
w,
h,
c,
d,
g
)));
var A = e.helpers.calculateDataLabels({
text: k,
x: (h + d) / 2,
y:
(c + g) / 2 +
e.strokeWidth / 2 +
w / 3,
i: n,
j: o,
colorProps: p,
fontSize: w,
series: t,
});
i.config.dataLabels.enabled &&
A &&
e.rotateToFitLabel(
A,
w,
k,
h,
c,
d,
g
),
l.add(u),
null !== A && l.add(A);
}),
l.add(c),
r.add(l);
}),
r
);
},
},
{
key: "getFontSize",
value: function (t) {
var e = this.w;
var i,
a,
s,
r,
o =
(function t(e) {
var i,
a = 0;
if (Array.isArray(e[0]))
for (i = 0; i < e.length; i++)
a += t(e[i]);
else
for (i = 0; i < e.length; i++)
a += e[i].length;
return a;
})(this.labels) /
(function t(e) {
var i,
a = 0;
if (Array.isArray(e[0]))
for (i = 0; i < e.length; i++)
a += t(e[i]);
else
for (i = 0; i < e.length; i++)
a += 1;
return a;
})(this.labels);
return (
(i = t[2] - t[0]),
(a = t[3] - t[1]),
(s = i * a),
(r = Math.pow(s, 0.5)),
Math.min(
r / o,
parseInt(
e.config.dataLabels.style.fontSize,
10
)
)
);
},
},
{
key: "rotateToFitLabel",
value: function (t, e, i, a, s, r, o) {
var n = new m(this.ctx),
l = n.getTextRects(i, e);
if (
l.width + this.w.config.stroke.width + 5 >
r - a &&
l.width <= o - s
) {
var h = n.rotateAroundCenter(t.node);
t.node.setAttribute(
"transform",
"rotate(-90 "
.concat(h.x, " ")
.concat(h.y, ") translate(")
.concat(l.height / 3, ")")
);
}
},
},
{
key: "truncateLabels",
value: function (t, e, i, a, s, r) {
var o = new m(this.ctx),
n =
o.getTextRects(t, e).width +
this.w.config.stroke.width +
5 >
s - i && r - a > s - i
? r - a
: s - i,
l = o.getTextBasedOnMaxWidth({
text: t,
maxWidth: n,
fontSize: e,
});
return t.length !== l.length && n / e < 5 ? "" : l;
},
},
{
key: "animateTreemap",
value: function (t, e, i, a) {
var s = new b(this.ctx);
s.animateRect(
t,
{
x: e.x,
y: e.y,
width: e.width,
height: e.height,
},
{
x: i.x,
y: i.y,
width: i.width,
height: i.height,
},
a,
function () {
s.animationCompleted(t);
}
);
},
},
]),
t
);
})(),
Ot = 86400,
Nt = (function () {
function t(e) {
a(this, t),
(this.ctx = e),
(this.w = e.w),
(this.timeScaleArray = []),
(this.utc = this.w.config.xaxis.labels.datetimeUTC);
}
return (
r(t, [
{
key: "calculateTimeScaleTicks",
value: function (t, i) {
var a = this,
s = this.w;
if (s.globals.allSeriesCollapsed)
return (
(s.globals.labels = []),
(s.globals.timescaleLabels = []),
[]
);
var r = new I(this.ctx),
o = (i - t) / 864e5;
this.determineInterval(o),
(s.globals.disableZoomIn = !1),
(s.globals.disableZoomOut = !1),
o < 0.00011574074074074075
? (s.globals.disableZoomIn = !0)
: o > 5e4 &&
(s.globals.disableZoomOut = !0);
var n = r.getTimeUnitsfromTimestamp(t, i, this.utc),
l = s.globals.gridWidth / o,
h = l / 24,
c = h / 60,
d = c / 60,
g = Math.floor(24 * o),
u = Math.floor(1440 * o),
p = Math.floor(o * Ot),
f = Math.floor(o),
x = Math.floor(o / 30),
b = Math.floor(o / 365),
v = {
minMillisecond: n.minMillisecond,
minSecond: n.minSecond,
minMinute: n.minMinute,
minHour: n.minHour,
minDate: n.minDate,
minMonth: n.minMonth,
minYear: n.minYear,
},
m = {
firstVal: v,
currentMillisecond: v.minMillisecond,
currentSecond: v.minSecond,
currentMinute: v.minMinute,
currentHour: v.minHour,
currentMonthDate: v.minDate,
currentDate: v.minDate,
currentMonth: v.minMonth,
currentYear: v.minYear,
daysWidthOnXAxis: l,
hoursWidthOnXAxis: h,
minutesWidthOnXAxis: c,
secondsWidthOnXAxis: d,
numberOfSeconds: p,
numberOfMinutes: u,
numberOfHours: g,
numberOfDays: f,
numberOfMonths: x,
numberOfYears: b,
};
switch (this.tickInterval) {
case "years":
this.generateYearScale(m);
break;
case "months":
case "half_year":
this.generateMonthScale(m);
break;
case "months_days":
case "months_fortnight":
case "days":
case "week_days":
this.generateDayScale(m);
break;
case "hours":
this.generateHourScale(m);
break;
case "minutes_fives":
case "minutes":
this.generateMinuteScale(m);
break;
case "seconds_tens":
case "seconds_fives":
case "seconds":
this.generateSecondScale(m);
}
var y = this.timeScaleArray.map(function (t) {
var i = {
position: t.position,
unit: t.unit,
year: t.year,
day: t.day ? t.day : 1,
hour: t.hour ? t.hour : 0,
month: t.month + 1,
};
return "month" === t.unit
? e(
e({}, i),
{},
{ day: 1, value: t.value + 1 }
)
: "day" === t.unit || "hour" === t.unit
? e(e({}, i), {}, { value: t.value })
: "minute" === t.unit
? e(
e({}, i),
{},
{ value: t.value, minute: t.value }
)
: "second" === t.unit
? e(
e({}, i),
{},
{
value: t.value,
minute: t.minute,
second: t.second,
}
)
: t;
});
return y.filter(function (t) {
var e = 1,
i = Math.ceil(s.globals.gridWidth / 120),
r = t.value;
void 0 !== s.config.xaxis.tickAmount &&
(i = s.config.xaxis.tickAmount),
y.length > i &&
(e = Math.floor(y.length / i));
var o = !1,
n = !1;
switch (a.tickInterval) {
case "years":
"year" === t.unit && (o = !0);
break;
case "half_year":
(e = 7), "year" === t.unit && (o = !0);
break;
case "months":
(e = 1), "year" === t.unit && (o = !0);
break;
case "months_fortnight":
(e = 15),
("year" !== t.unit &&
"month" !== t.unit) ||
(o = !0),
30 === r && (n = !0);
break;
case "months_days":
(e = 10),
"month" === t.unit && (o = !0),
30 === r && (n = !0);
break;
case "week_days":
(e = 8), "month" === t.unit && (o = !0);
break;
case "days":
(e = 1), "month" === t.unit && (o = !0);
break;
case "hours":
"day" === t.unit && (o = !0);
break;
case "minutes_fives":
case "seconds_fives":
r % 5 != 0 && (n = !0);
break;
case "seconds_tens":
r % 10 != 0 && (n = !0);
}
if (
"hours" === a.tickInterval ||
"minutes_fives" === a.tickInterval ||
"seconds_tens" === a.tickInterval ||
"seconds_fives" === a.tickInterval
) {
if (!n) return !0;
} else if ((r % e == 0 || o) && !n) return !0;
});
},
},
{
key: "recalcDimensionsBasedOnFormat",
value: function (t, e) {
var i = this.w,
a = this.formatDates(t),
s = this.removeOverlappingTS(a);
(i.globals.timescaleLabels = s.slice()),
new ot(this.ctx).plotCoords();
},
},
{
key: "determineInterval",
value: function (t) {
var e = 24 * t,
i = 60 * e;
switch (!0) {
case t / 365 > 5:
this.tickInterval = "years";
break;
case t > 800:
this.tickInterval = "half_year";
break;
case t > 180:
this.tickInterval = "months";
break;
case t > 90:
this.tickInterval = "months_fortnight";
break;
case t > 60:
this.tickInterval = "months_days";
break;
case t > 30:
this.tickInterval = "week_days";
break;
case t > 2:
this.tickInterval = "days";
break;
case e > 2.4:
this.tickInterval = "hours";
break;
case i > 15:
this.tickInterval = "minutes_fives";
break;
case i > 5:
this.tickInterval = "minutes";
break;
case i > 1:
this.tickInterval = "seconds_tens";
break;
case 60 * i > 20:
this.tickInterval = "seconds_fives";
break;
default:
this.tickInterval = "seconds";
}
},
},
{
key: "generateYearScale",
value: function (t) {
var e = t.firstVal,
i = t.currentMonth,
a = t.currentYear,
s = t.daysWidthOnXAxis,
r = t.numberOfYears,
o = e.minYear,
n = 0,
l = new I(this.ctx),
h = "year";
if (e.minDate > 1 || e.minMonth > 0) {
var c = l.determineRemainingDaysOfYear(
e.minYear,
e.minMonth,
e.minDate
);
(n =
(l.determineDaysOfYear(e.minYear) - c + 1) *
s),
(o = e.minYear + 1),
this.timeScaleArray.push({
position: n,
value: o,
unit: h,
year: o,
month: x.monthMod(i + 1),
});
} else
1 === e.minDate &&
0 === e.minMonth &&
this.timeScaleArray.push({
position: n,
value: o,
unit: h,
year: a,
month: x.monthMod(i + 1),
});
for (var d = o, g = n, u = 0; u < r; u++)
d++,
(g = l.determineDaysOfYear(d - 1) * s + g),
this.timeScaleArray.push({
position: g,
value: d,
unit: h,
year: d,
month: 1,
});
},
},
{
key: "generateMonthScale",
value: function (t) {
var e = t.firstVal,
i = t.currentMonthDate,
a = t.currentMonth,
s = t.currentYear,
r = t.daysWidthOnXAxis,
o = t.numberOfMonths,
n = a,
l = 0,
h = new I(this.ctx),
c = "month",
d = 0;
if (e.minDate > 1) {
(l =
(h.determineDaysOfMonths(a + 1, e.minYear) -
i +
1) *
r),
(n = x.monthMod(a + 1));
var g = s + d,
u = x.monthMod(n),
p = n;
0 === n &&
((c = "year"),
(p = g),
(u = 1),
(g += d += 1)),
this.timeScaleArray.push({
position: l,
value: p,
unit: c,
year: g,
month: u,
});
} else
this.timeScaleArray.push({
position: l,
value: n,
unit: c,
year: s,
month: x.monthMod(a),
});
for (
var f = n + 1, b = l, v = 0, m = 1;
v < o;
v++, m++
) {
0 === (f = x.monthMod(f))
? ((c = "year"), (d += 1))
: (c = "month");
var y = this._getYear(s, f, d);
b = h.determineDaysOfMonths(f, y) * r + b;
var w = 0 === f ? y : f;
this.timeScaleArray.push({
position: b,
value: w,
unit: c,
year: y,
month: 0 === f ? 1 : f,
}),
f++;
}
},
},
{
key: "generateDayScale",
value: function (t) {
var e = t.firstVal,
i = t.currentMonth,
a = t.currentYear,
s = t.hoursWidthOnXAxis,
r = t.numberOfDays,
o = new I(this.ctx),
n = "day",
l = e.minDate + 1,
h = l,
c = function (t, e, i) {
return t > o.determineDaysOfMonths(e + 1, i)
? ((h = 1),
(n = "month"),
(g = e += 1),
e)
: e;
},
d = (24 - e.minHour) * s,
g = l,
u = c(h, i, a);
0 === e.minHour && 1 === e.minDate
? ((d = 0),
(g = x.monthMod(e.minMonth)),
(n = "month"),
(h = e.minDate))
: 1 !== e.minDate &&
0 === e.minHour &&
0 === e.minMinute &&
((d = 0),
(l = e.minDate),
(g = l),
(u = c((h = l), i, a))),
this.timeScaleArray.push({
position: d,
value: g,
unit: n,
year: this._getYear(a, u, 0),
month: x.monthMod(u),
day: h,
});
for (var p = d, f = 0; f < r; f++) {
(n = "day"),
(u = c(
(h += 1),
u,
this._getYear(a, u, 0)
));
var b = this._getYear(a, u, 0);
p = 24 * s + p;
var v = 1 === h ? x.monthMod(u) : h;
this.timeScaleArray.push({
position: p,
value: v,
unit: n,
year: b,
month: x.monthMod(u),
day: v,
});
}
},
},
{
key: "generateHourScale",
value: function (t) {
var e = t.firstVal,
i = t.currentDate,
a = t.currentMonth,
s = t.currentYear,
r = t.minutesWidthOnXAxis,
o = t.numberOfHours,
n = new I(this.ctx),
l = "hour",
h = function (t, e) {
return (
t > n.determineDaysOfMonths(e + 1, s) &&
((f = 1), (e += 1)),
{ month: e, date: f }
);
},
c = function (t, e) {
return t > n.determineDaysOfMonths(e + 1, s)
? (e += 1)
: e;
},
d = 60 - (e.minMinute + e.minSecond / 60),
g = d * r,
u = e.minHour + 1,
p = u;
60 === d && ((g = 0), (p = (u = e.minHour) + 1));
var f = i;
p >= 24 && ((p = 0), (f += 1), (l = "day"));
var b = h(f, a).month;
(b = c(f, b)),
this.timeScaleArray.push({
position: g,
value: u,
unit: l,
day: f,
hour: p,
year: s,
month: x.monthMod(b),
}),
p++;
for (var v = g, m = 0; m < o; m++) {
if (((l = "hour"), p >= 24))
(p = 0),
(l = "day"),
(b = h((f += 1), b).month),
(b = c(f, b));
var y = this._getYear(s, b, 0);
v = 60 * r + v;
var w = 0 === p ? f : p;
this.timeScaleArray.push({
position: v,
value: w,
unit: l,
hour: p,
day: f,
year: y,
month: x.monthMod(b),
}),
p++;
}
},
},
{
key: "generateMinuteScale",
value: function (t) {
for (
var e = t.currentMillisecond,
i = t.currentSecond,
a = t.currentMinute,
s = t.currentHour,
r = t.currentDate,
o = t.currentMonth,
n = t.currentYear,
l = t.minutesWidthOnXAxis,
h = t.secondsWidthOnXAxis,
c = t.numberOfMinutes,
d = a + 1,
g = r,
u = o,
p = n,
f = s,
b = (60 - i - e / 1e3) * h,
v = 0;
v < c;
v++
)
d >= 60 &&
((d = 0), 24 === (f += 1) && (f = 0)),
this.timeScaleArray.push({
position: b,
value: d,
unit: "minute",
hour: f,
minute: d,
day: g,
year: this._getYear(p, u, 0),
month: x.monthMod(u),
}),
(b += l),
d++;
},
},
{
key: "generateSecondScale",
value: function (t) {
for (
var e = t.currentMillisecond,
i = t.currentSecond,
a = t.currentMinute,
s = t.currentHour,
r = t.currentDate,
o = t.currentMonth,
n = t.currentYear,
l = t.secondsWidthOnXAxis,
h = t.numberOfSeconds,
c = i + 1,
d = a,
g = r,
u = o,
p = n,
f = s,
b = ((1e3 - e) / 1e3) * l,
v = 0;
v < h;
v++
)
c >= 60 &&
((c = 0),
++d >= 60 &&
((d = 0), 24 === ++f && (f = 0))),
this.timeScaleArray.push({
position: b,
value: c,
unit: "second",
hour: f,
minute: d,
second: c,
day: g,
year: this._getYear(p, u, 0),
month: x.monthMod(u),
}),
(b += l),
c++;
},
},
{
key: "createRawDateString",
value: function (t, e) {
var i = t.year;
return (
0 === t.month && (t.month = 1),
(i +=
"-" + ("0" + t.month.toString()).slice(-2)),
"day" === t.unit
? (i +=
"day" === t.unit
? "-" + ("0" + e).slice(-2)
: "-01")
: (i +=
"-" +
("0" + (t.day ? t.day : "1")).slice(
-2
)),
"hour" === t.unit
? (i +=
"hour" === t.unit
? "T" + ("0" + e).slice(-2)
: "T00")
: (i +=
"T" +
("0" + (t.hour ? t.hour : "0")).slice(
-2
)),
"minute" === t.unit
? (i += ":" + ("0" + e).slice(-2))
: (i +=
":" +
(t.minute
? ("0" + t.minute).slice(-2)
: "00")),
"second" === t.unit
? (i += ":" + ("0" + e).slice(-2))
: (i += ":00"),
this.utc && (i += ".000Z"),
i
);
},
},
{
key: "formatDates",
value: function (t) {
var e = this,
i = this.w;
return t.map(function (t) {
var a = t.value.toString(),
s = new I(e.ctx),
r = e.createRawDateString(t, a),
o = s.getDate(s.parseDate(r));
if (
(e.utc ||
(o = s.getDate(
s.parseDateWithTimezone(r)
)),
void 0 === i.config.xaxis.labels.format)
) {
var n = "dd MMM",
l =
i.config.xaxis.labels
.datetimeFormatter;
"year" === t.unit && (n = l.year),
"month" === t.unit && (n = l.month),
"day" === t.unit && (n = l.day),
"hour" === t.unit && (n = l.hour),
"minute" === t.unit && (n = l.minute),
"second" === t.unit && (n = l.second),
(a = s.formatDate(o, n));
} else a = s.formatDate(o, i.config.xaxis.labels.format);
return {
dateString: r,
position: t.position,
value: a,
unit: t.unit,
year: t.year,
month: t.month,
};
});
},
},
{
key: "removeOverlappingTS",
value: function (t) {
var e,
i = this,
a = new m(this.ctx),
s = !1;
t.length > 0 &&
t[0].value &&
t.every(function (e) {
return e.value.length === t[0].value.length;
}) &&
((s = !0),
(e = a.getTextRects(t[0].value).width));
var r = 0,
o = t.map(function (o, n) {
if (
n > 0 &&
i.w.config.xaxis.labels
.hideOverlappingLabels
) {
var l = s
? e
: a.getTextRects(t[r].value)
.width,
h = t[r].position;
return o.position > h + l + 10
? ((r = n), o)
: null;
}
return o;
});
return (o = o.filter(function (t) {
return null !== t;
}));
},
},
{
key: "_getYear",
value: function (t, e, i) {
return t + Math.floor(e / 12) + i;
},
},
]),
t
);
})(),
Wt = (function () {
function t(e, i) {
a(this, t), (this.ctx = i), (this.w = i.w), (this.el = e);
}
return (
r(t, [
{
key: "setupElements",
value: function () {
var t = this.w.globals,
e = this.w.config,
i = e.chart.type;
(t.axisCharts =
[
"line",
"area",
"bar",
"rangeBar",
"rangeArea",
"candlestick",
"boxPlot",
"scatter",
"bubble",
"radar",
"heatmap",
"treemap",
].indexOf(i) > -1),
(t.xyCharts =
[
"line",
"area",
"bar",
"rangeBar",
"rangeArea",
"candlestick",
"boxPlot",
"scatter",
"bubble",
].indexOf(i) > -1),
(t.isBarHorizontal =
("bar" === e.chart.type ||
"rangeBar" === e.chart.type ||
"boxPlot" === e.chart.type) &&
e.plotOptions.bar.horizontal),
(t.chartClass = ".apexcharts" + t.chartID),
(t.dom.baseEl = this.el),
(t.dom.elWrap = document.createElement("div")),
m.setAttrs(t.dom.elWrap, {
id: t.chartClass.substring(1),
class:
"apexcharts-canvas " +
t.chartClass.substring(1),
}),
this.el.appendChild(t.dom.elWrap),
(t.dom.Paper = new window.SVG.Doc(
t.dom.elWrap
)),
t.dom.Paper.attr({
class: "apexcharts-svg",
"xmlns:data": "ApexChartsNS",
transform: "translate("
.concat(e.chart.offsetX, ", ")
.concat(e.chart.offsetY, ")"),
}),
(t.dom.Paper.node.style.background =
"dark" === e.theme.mode &&
"transparent" === e.chart.background
? "rgba(0, 0, 0, 0.8)"
: e.chart.background),
this.setSVGDimensions(),
(t.dom.elLegendForeign =
document.createElementNS(
t.SVGNS,
"foreignObject"
)),
m.setAttrs(t.dom.elLegendForeign, {
x: 0,
y: 0,
width: t.svgWidth,
height: t.svgHeight,
}),
(t.dom.elLegendWrap =
document.createElement("div")),
t.dom.elLegendWrap.classList.add(
"apexcharts-legend"
),
t.dom.elLegendWrap.setAttribute(
"xmlns",
"http://www.w3.org/1999/xhtml"
),
t.dom.elLegendForeign.appendChild(
t.dom.elLegendWrap
),
t.dom.Paper.node.appendChild(
t.dom.elLegendForeign
),
(t.dom.elGraphical = t.dom.Paper.group().attr({
class: "apexcharts-inner apexcharts-graphical",
})),
(t.dom.elDefs = t.dom.Paper.defs()),
t.dom.Paper.add(t.dom.elGraphical),
t.dom.elGraphical.add(t.dom.elDefs);
},
},
{
key: "plotChartType",
value: function (t, e) {
var i = this.w,
a = i.config,
s = i.globals,
r = { series: [], i: [] },
o = { series: [], i: [] },
n = { series: [], i: [] },
l = { series: [], i: [] },
h = { series: [], i: [] },
c = { series: [], i: [] },
d = { series: [], i: [] },
g = { series: [], i: [] },
u = { series: [], seriesRangeEnd: [], i: [] };
s.series.map(function (e, p) {
var f = 0;
void 0 !== t[p].type
? ("column" === t[p].type ||
"bar" === t[p].type
? (s.series.length > 1 &&
a.plotOptions.bar.horizontal &&
console.warn(
"Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`"
),
h.series.push(e),
h.i.push(p),
f++,
(i.globals.columnSeries = h.series))
: "area" === t[p].type
? (o.series.push(e), o.i.push(p), f++)
: "line" === t[p].type
? (r.series.push(e), r.i.push(p), f++)
: "scatter" === t[p].type
? (n.series.push(e), n.i.push(p))
: "bubble" === t[p].type
? (l.series.push(e), l.i.push(p), f++)
: "candlestick" === t[p].type
? (c.series.push(e), c.i.push(p), f++)
: "boxPlot" === t[p].type
? (d.series.push(e), d.i.push(p), f++)
: "rangeBar" === t[p].type
? (g.series.push(e), g.i.push(p), f++)
: "rangeArea" === t[p].type
? (u.series.push(
s.seriesRangeStart[p]
),
u.seriesRangeEnd.push(
s.seriesRangeEnd[p]
),
u.i.push(p),
f++)
: console.warn(
"You have specified an unrecognized chart type. Available types for this property are line/area/column/bar/scatter/bubble/candlestick/boxPlot/rangeBar/rangeArea"
),
f > 1 && (s.comboCharts = !0))
: (r.series.push(e), r.i.push(p));
});
var p = new Ft(this.ctx, e),
f = new kt(this.ctx, e);
this.ctx.pie = new Lt(this.ctx);
var x = new It(this.ctx);
this.ctx.rangeBar = new Tt(this.ctx, e);
var b = new Pt(this.ctx),
v = [];
if (s.comboCharts) {
if (
(o.series.length > 0 &&
v.push(p.draw(o.series, "area", o.i)),
h.series.length > 0)
)
if (i.config.chart.stacked) {
var m = new wt(this.ctx, e);
v.push(m.draw(h.series, h.i));
} else
(this.ctx.bar = new yt(this.ctx, e)),
v.push(
this.ctx.bar.draw(h.series, h.i)
);
if (
(u.series.length > 0 &&
v.push(
p.draw(
u.series,
"rangeArea",
u.i,
u.seriesRangeEnd
)
),
r.series.length > 0 &&
v.push(p.draw(r.series, "line", r.i)),
c.series.length > 0 &&
v.push(
f.draw(c.series, "candlestick", c.i)
),
d.series.length > 0 &&
v.push(
f.draw(d.series, "boxPlot", d.i)
),
g.series.length > 0 &&
v.push(
this.ctx.rangeBar.draw(
g.series,
g.i
)
),
n.series.length > 0)
) {
var y = new Ft(this.ctx, e, !0);
v.push(y.draw(n.series, "scatter", n.i));
}
if (l.series.length > 0) {
var w = new Ft(this.ctx, e, !0);
v.push(w.draw(l.series, "bubble", l.i));
}
} else
switch (a.chart.type) {
case "line":
v = p.draw(s.series, "line");
break;
case "area":
v = p.draw(s.series, "area");
break;
case "bar":
if (a.chart.stacked)
v = new wt(this.ctx, e).draw(
s.series
);
else
(this.ctx.bar = new yt(
this.ctx,
e
)),
(v = this.ctx.bar.draw(
s.series
));
break;
case "candlestick":
v = new kt(this.ctx, e).draw(
s.series,
"candlestick"
);
break;
case "boxPlot":
v = new kt(this.ctx, e).draw(
s.series,
a.chart.type
);
break;
case "rangeBar":
v = this.ctx.rangeBar.draw(s.series);
break;
case "rangeArea":
v = p.draw(
s.seriesRangeStart,
"rangeArea",
void 0,
s.seriesRangeEnd
);
break;
case "heatmap":
v = new St(this.ctx, e).draw(s.series);
break;
case "treemap":
v = new Dt(this.ctx, e).draw(s.series);
break;
case "pie":
case "donut":
case "polarArea":
v = this.ctx.pie.draw(s.series);
break;
case "radialBar":
v = x.draw(s.series);
break;
case "radar":
v = b.draw(s.series);
break;
default:
v = p.draw(s.series);
}
return v;
},
},
{
key: "setSVGDimensions",
value: function () {
var t = this.w.globals,
e = this.w.config;
(t.svgWidth = e.chart.width),
(t.svgHeight = e.chart.height);
var i = x.getDimensions(this.el),
a = e.chart.width
.toString()
.split(/[0-9]+/g)
.pop();
"%" === a
? x.isNumber(i[0]) &&
(0 === i[0].width &&
(i = x.getDimensions(this.el.parentNode)),
(t.svgWidth =
(i[0] * parseInt(e.chart.width, 10)) /
100))
: ("px" !== a && "" !== a) ||
(t.svgWidth = parseInt(e.chart.width, 10));
var s = e.chart.height
.toString()
.split(/[0-9]+/g)
.pop();
if ("auto" !== t.svgHeight && "" !== t.svgHeight)
if ("%" === s) {
var r = x.getDimensions(this.el.parentNode);
t.svgHeight =
(r[1] * parseInt(e.chart.height, 10)) /
100;
} else
t.svgHeight = parseInt(e.chart.height, 10);
else
t.axisCharts
? (t.svgHeight = t.svgWidth / 1.61)
: (t.svgHeight = t.svgWidth / 1.2);
if (
(t.svgWidth < 0 && (t.svgWidth = 0),
t.svgHeight < 0 && (t.svgHeight = 0),
m.setAttrs(t.dom.Paper.node, {
width: t.svgWidth,
height: t.svgHeight,
}),
"%" !== s)
) {
var o = e.chart.sparkline.enabled
? 0
: t.axisCharts
? e.chart.parentHeightOffset
: 0;
t.dom.Paper.node.parentNode.parentNode.style.minHeight =
t.svgHeight + o + "px";
}
(t.dom.elWrap.style.width = t.svgWidth + "px"),
(t.dom.elWrap.style.height =
t.svgHeight + "px");
},
},
{
key: "shiftGraphPosition",
value: function () {
var t = this.w.globals,
e = t.translateY,
i = {
transform:
"translate(" +
t.translateX +
", " +
e +
")",
};
m.setAttrs(t.dom.elGraphical.node, i);
},
},
{
key: "resizeNonAxisCharts",
value: function () {
var t = this.w,
e = t.globals,
i = 0,
a = t.config.chart.sparkline.enabled ? 1 : 15;
(a += t.config.grid.padding.bottom),
("top" !== t.config.legend.position &&
"bottom" !== t.config.legend.position) ||
!t.config.legend.show ||
t.config.legend.floating ||
(i =
new lt(
this.ctx
).legendHelpers.getLegendBBox().clwh +
10);
var s = t.globals.dom.baseEl.querySelector(
".apexcharts-radialbar, .apexcharts-pie"
),
r = 2.05 * t.globals.radialSize;
if (
s &&
!t.config.chart.sparkline.enabled &&
0 !== t.config.plotOptions.radialBar.startAngle
) {
var o = x.getBoundingClientRect(s);
r = o.bottom;
var n = o.bottom - o.top;
r = Math.max(2.05 * t.globals.radialSize, n);
}
var l = r + e.translateY + i + a;
e.dom.elLegendForeign &&
e.dom.elLegendForeign.setAttribute("height", l),
(t.config.chart.height &&
String(t.config.chart.height).indexOf("%") >
0) ||
((e.dom.elWrap.style.height = l + "px"),
m.setAttrs(e.dom.Paper.node, { height: l }),
(e.dom.Paper.node.parentNode.parentNode.style.minHeight =
l + "px"));
},
},
{
key: "coreCalculations",
value: function () {
new U(this.ctx).init();
},
},
{
key: "resetGlobals",
value: function () {
var t = this,
e = function () {
return t.w.config.series.map(function (t) {
return [];
});
},
i = new Y(),
a = this.w.globals;
i.initGlobalVars(a),
(a.seriesXvalues = e()),
(a.seriesYvalues = e());
},
},
{
key: "isMultipleY",
value: function () {
if (
this.w.config.yaxis.constructor === Array &&
this.w.config.yaxis.length > 1
)
return (
(this.w.globals.isMultipleYAxis = !0), !0
);
},
},
{
key: "xySettings",
value: function () {
var t = null,
e = this.w;
if (e.globals.axisCharts) {
if (
"back" ===
e.config.xaxis.crosshairs.position
)
new Q(this.ctx).drawXCrosshairs();
if (
"back" ===
e.config.yaxis[0].crosshairs.position
)
new Q(this.ctx).drawYCrosshairs();
if (
"datetime" === e.config.xaxis.type &&
void 0 === e.config.xaxis.labels.formatter
) {
this.ctx.timeScale = new Nt(this.ctx);
var i = [];
isFinite(e.globals.minX) &&
isFinite(e.globals.maxX) &&
!e.globals.isBarHorizontal
? (i =
this.ctx.timeScale.calculateTimeScaleTicks(
e.globals.minX,
e.globals.maxX
))
: e.globals.isBarHorizontal &&
(i =
this.ctx.timeScale.calculateTimeScaleTicks(
e.globals.minY,
e.globals.maxY
)),
this.ctx.timeScale.recalcDimensionsBasedOnFormat(
i
);
}
t = new y(this.ctx).getCalculatedRatios();
}
return t;
},
},
{
key: "updateSourceChart",
value: function (t) {
(this.ctx.w.globals.selection = void 0),
this.ctx.updateHelpers._updateOptions(
{
chart: {
selection: {
xaxis: {
min: t.w.globals.minX,
max: t.w.globals.maxX,
},
},
},
},
!1,
!1
);
},
},
{
key: "setupBrushHandler",
value: function () {
var t = this,
i = this.w;
if (
i.config.chart.brush.enabled &&
"function" !=
typeof i.config.chart.events.selection
) {
var a = Array.isArray(
i.config.chart.brush.targets
) || [i.config.chart.brush.target];
a.forEach(function (e) {
var i = ApexCharts.getChartByID(e);
(i.w.globals.brushSource = t.ctx),
"function" !=
typeof i.w.config.chart.events
.zoomed &&
(i.w.config.chart.events.zoomed =
function () {
t.updateSourceChart(i);
}),
"function" !=
typeof i.w.config.chart.events
.scrolled &&
(i.w.config.chart.events.scrolled =
function () {
t.updateSourceChart(i);
});
}),
(i.config.chart.events.selection =
function (t, s) {
a.forEach(function (t) {
var a =
ApexCharts.getChartByID(
t
),
r = x.clone(i.config.yaxis);
if (
i.config.chart.brush
.autoScaleYaxis &&
1 ===
a.w.globals.series
.length
) {
var o = new _(a);
r = o.autoScaleY(a, r, s);
}
var n = a.w.config.yaxis.reduce(
function (t, i, s) {
return [].concat(u(t), [
e(
e(
{},
a.w.config
.yaxis[
s
]
),
{},
{
min: r[0]
.min,
max: r[0]
.max,
}
),
]);
},
[]
);
a.ctx.updateHelpers._updateOptions(
{
xaxis: {
min: s.xaxis.min,
max: s.xaxis.max,
},
yaxis: n,
},
!1,
!1,
!1,
!1
);
});
});
}
},
},
]),
t
);
})(),
Bt = (function () {
function t(e) {
a(this, t), (this.ctx = e), (this.w = e.w);
}
return (
r(t, [
{
key: "_updateOptions",
value: function (t) {
var e = this,
a =
arguments.length > 1 &&
void 0 !== arguments[1] &&
arguments[1],
s =
!(
arguments.length > 2 &&
void 0 !== arguments[2]
) || arguments[2],
r =
!(
arguments.length > 3 &&
void 0 !== arguments[3]
) || arguments[3],
o =
arguments.length > 4 &&
void 0 !== arguments[4] &&
arguments[4];
return new Promise(function (n) {
var l = [e.ctx];
r && (l = e.ctx.getSyncedCharts()),
e.ctx.w.globals.isExecCalled &&
((l = [e.ctx]),
(e.ctx.w.globals.isExecCalled = !1)),
l.forEach(function (r, h) {
var c = r.w;
if (
((c.globals.shouldAnimate = s),
a ||
((c.globals.resized = !0),
(c.globals.dataChanged = !0),
s &&
r.series.getPreviousPaths()),
t &&
"object" === i(t) &&
((r.config = new E(t)),
(t = y.extendArrayProps(
r.config,
t,
c
)),
r.w.globals.chartID !==
e.ctx.w.globals.chartID &&
delete t.series,
(c.config = x.extend(
c.config,
t
)),
o &&
((c.globals.lastXAxis =
t.xaxis
? x.clone(t.xaxis)
: []),
(c.globals.lastYAxis =
t.yaxis
? x.clone(t.yaxis)
: []),
(c.globals.initialConfig =
x.extend({}, c.config)),
(c.globals.initialSeries =
x.clone(
c.config.series
)),
t.series)))
) {
for (
var d = 0;
d <
c.globals.collapsedSeriesIndices
.length;
d++
) {
var g =
c.config.series[
c.globals
.collapsedSeriesIndices[
d
]
];
c.globals.collapsedSeries[
d
].data = c.globals.axisCharts
? g.data.slice()
: g;
}
for (
var u = 0;
u <
c.globals
.ancillaryCollapsedSeriesIndices
.length;
u++
) {
var p =
c.config.series[
c.globals
.ancillaryCollapsedSeriesIndices[
u
]
];
c.globals.ancillaryCollapsedSeries[
u
].data = c.globals.axisCharts
? p.data.slice()
: p;
}
r.series.emptyCollapsedSeries(
c.config.series
);
}
return r.update(t).then(function () {
h === l.length - 1 && n(r);
});
});
});
},
},
{
key: "_updateSeries",
value: function (t, e) {
var i = this,
a =
arguments.length > 2 &&
void 0 !== arguments[2] &&
arguments[2];
return new Promise(function (s) {
var r,
o = i.w;
return (
(o.globals.shouldAnimate = e),
(o.globals.dataChanged = !0),
e && i.ctx.series.getPreviousPaths(),
o.globals.axisCharts
? (0 ===
(r = t.map(function (t, e) {
return i._extendSeries(t, e);
})).length &&
(r = [{ data: [] }]),
(o.config.series = r))
: (o.config.series = t.slice()),
a &&
((o.globals.initialConfig.series =
x.clone(o.config.series)),
(o.globals.initialSeries = x.clone(
o.config.series
))),
i.ctx.update().then(function () {
s(i.ctx);
})
);
});
},
},
{
key: "_extendSeries",
value: function (t, i) {
var a = this.w,
s = a.config.series[i];
return e(
e({}, a.config.series[i]),
{},
{
name: t.name ? t.name : s && s.name,
color: t.color ? t.color : s && s.color,
type: t.type ? t.type : s && s.type,
group: t.group ? t.group : s && s.group,
data: t.data ? t.data : s && s.data,
}
);
},
},
{
key: "toggleDataPointSelection",
value: function (t, e) {
var i = this.w,
a = null,
s =
".apexcharts-series[data\\:realIndex='".concat(
t,
"']"
);
return (
i.globals.axisCharts
? (a = i.globals.dom.Paper.select(
""
.concat(s, " path[j='")
.concat(e, "'], ")
.concat(s, " circle[j='")
.concat(e, "'], ")
.concat(s, " rect[j='")
.concat(e, "']")
).members[0])
: void 0 === e &&
((a = i.globals.dom.Paper.select(
""
.concat(s, " path[j='")
.concat(t, "']")
).members[0]),
("pie" !== i.config.chart.type &&
"polarArea" !== i.config.chart.type &&
"donut" !== i.config.chart.type) ||
this.ctx.pie.pieClicked(t)),
a
? (new m(this.ctx).pathMouseDown(a, null),
a.node ? a.node : null)
: (console.warn(
"toggleDataPointSelection: Element not found"
),
null)
);
},
},
{
key: "forceXAxisUpdate",
value: function (t) {
var e = this.w;
if (
(["min", "max"].forEach(function (i) {
void 0 !== t.xaxis[i] &&
((e.config.xaxis[i] = t.xaxis[i]),
(e.globals.lastXAxis[i] = t.xaxis[i]));
}),
t.xaxis.categories &&
t.xaxis.categories.length &&
(e.config.xaxis.categories =
t.xaxis.categories),
e.config.xaxis.convertedCatToNumeric)
) {
var i = new X(t);
t = i.convertCatToNumericXaxis(t, this.ctx);
}
return t;
},
},
{
key: "forceYAxisUpdate",
value: function (t) {
return (
t.chart &&
t.chart.stacked &&
"100%" === t.chart.stackType &&
(Array.isArray(t.yaxis)
? t.yaxis.forEach(function (e, i) {
(t.yaxis[i].min = 0),
(t.yaxis[i].max = 100);
})
: ((t.yaxis.min = 0),
(t.yaxis.max = 100))),
t
);
},
},
{
key: "revertDefaultAxisMinMax",
value: function (t) {
var e = this,
i = this.w,
a = i.globals.lastXAxis,
s = i.globals.lastYAxis;
t && t.xaxis && (a = t.xaxis),
t && t.yaxis && (s = t.yaxis),
(i.config.xaxis.min = a.min),
(i.config.xaxis.max = a.max);
var r = function (t) {
void 0 !== s[t] &&
((i.config.yaxis[t].min = s[t].min),
(i.config.yaxis[t].max = s[t].max));
};
i.config.yaxis.map(function (t, a) {
i.globals.zoomed || void 0 !== s[a]
? r(a)
: void 0 !== e.ctx.opts.yaxis[a] &&
((t.min = e.ctx.opts.yaxis[a].min),
(t.max = e.ctx.opts.yaxis[a].max));
});
},
},
]),
t
);
})();
(Rt = "undefined" != typeof window ? window : void 0),
(Ht = function (t, e) {
var a = ((void 0 !== this ? this : t).SVG = function (t) {
if (a.supported)
return (t = new a.Doc(t)), a.parser.draw || a.prepare(), t;
});
if (
((a.ns = "http://www.w3.org/2000/svg"),
(a.xmlns = "http://www.w3.org/2000/xmlns/"),
(a.xlink = "http://www.w3.org/1999/xlink"),
(a.svgjs = "http://svgjs.dev"),
(a.supported = !0),
!a.supported)
)
return !1;
(a.did = 1e3),
(a.eid = function (t) {
return "Svgjs" + d(t) + a.did++;
}),
(a.create = function (t) {
var i = e.createElementNS(this.ns, t);
return i.setAttribute("id", this.eid(t)), i;
}),
(a.extend = function () {
var t, e;
e = (t = [].slice.call(arguments)).pop();
for (var i = t.length - 1; i >= 0; i--)
if (t[i]) for (var s in e) t[i].prototype[s] = e[s];
a.Set && a.Set.inherit && a.Set.inherit();
}),
(a.invent = function (t) {
var e =
"function" == typeof t.create
? t.create
: function () {
this.constructor.call(
this,
a.create(t.create)
);
};
return (
t.inherit && (e.prototype = new t.inherit()),
t.extend && a.extend(e, t.extend),
t.construct &&
a.extend(t.parent || a.Container, t.construct),
e
);
}),
(a.adopt = function (e) {
return e
? e.instance
? e.instance
: (((i =
"svg" == e.nodeName
? e.parentNode instanceof t.SVGElement
? new a.Nested()
: new a.Doc()
: "linearGradient" == e.nodeName
? new a.Gradient("linear")
: "radialGradient" == e.nodeName
? new a.Gradient("radial")
: a[d(e.nodeName)]
? new a[d(e.nodeName)]()
: new a.Element(e)).type = e.nodeName),
(i.node = e),
(e.instance = i),
i instanceof a.Doc && i.namespace().defs(),
i.setData(
JSON.parse(e.getAttribute("svgjs:data")) || {}
),
i)
: null;
var i;
}),
(a.prepare = function () {
var t = e.getElementsByTagName("body")[0],
i = (
t
? new a.Doc(t)
: a.adopt(e.documentElement).nested()
).size(2, 0);
a.parser = {
body: t || e.documentElement,
draw: i.style(
"opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden"
).node,
poly: i.polyline().node,
path: i.path().node,
native: a.create("svg"),
};
}),
(a.parser = { native: a.create("svg") }),
e.addEventListener(
"DOMContentLoaded",
function () {
a.parser.draw || a.prepare();
},
!1
),
(a.regex = {
numberAndUnit:
/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,
hex: /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,
rgb: /rgb\((\d+),(\d+),(\d+)\)/,
reference: /#([a-z0-9\-_]+)/i,
transforms: /\)\s*,?\s*/,
whitespace: /\s/g,
isHex: /^#[a-f0-9]{3,6}$/i,
isRgb: /^rgb\(/,
isCss: /[^:]+:[^;]+;?/,
isBlank: /^(\s+)?$/,
isNumber: /^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,
isPercent: /^-?[\d\.]+%$/,
isImage: /\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,
delimiter: /[\s,]+/,
hyphen: /([^e])\-/gi,
pathLetters: /[MLHVCSQTAZ]/gi,
isPathLetter: /[MLHVCSQTAZ]/i,
numbersWithDots:
/((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi,
dots: /\./g,
}),
(a.utils = {
map: function (t, e) {
for (var i = t.length, a = [], s = 0; s < i; s++)
a.push(e(t[s]));
return a;
},
filter: function (t, e) {
for (var i = t.length, a = [], s = 0; s < i; s++)
e(t[s]) && a.push(t[s]);
return a;
},
filterSVGElements: function (e) {
return this.filter(e, function (e) {
return e instanceof t.SVGElement;
});
},
}),
(a.defaults = {
attrs: {
"fill-opacity": 1,
"stroke-opacity": 1,
"stroke-width": 0,
"stroke-linejoin": "miter",
"stroke-linecap": "butt",
fill: "#000000",
stroke: "#000000",
opacity: 1,
x: 0,
y: 0,
cx: 0,
cy: 0,
width: 0,
height: 0,
r: 0,
rx: 0,
ry: 0,
offset: 0,
"stop-opacity": 1,
"stop-color": "#000000",
"font-size": 16,
"font-family": "Helvetica, Arial, sans-serif",
"text-anchor": "start",
},
}),
(a.Color = function (t) {
var e, s;
(this.r = 0),
(this.g = 0),
(this.b = 0),
t &&
("string" == typeof t
? a.regex.isRgb.test(t)
? ((e = a.regex.rgb.exec(
t.replace(a.regex.whitespace, "")
)),
(this.r = parseInt(e[1])),
(this.g = parseInt(e[2])),
(this.b = parseInt(e[3])))
: a.regex.isHex.test(t) &&
((e = a.regex.hex.exec(
4 == (s = t).length
? [
"#",
s.substring(1, 2),
s.substring(1, 2),
s.substring(2, 3),
s.substring(2, 3),
s.substring(3, 4),
s.substring(3, 4),
].join("")
: s
)),
(this.r = parseInt(e[1], 16)),
(this.g = parseInt(e[2], 16)),
(this.b = parseInt(e[3], 16)))
: "object" === i(t) &&
((this.r = t.r),
(this.g = t.g),
(this.b = t.b)));
}),
a.extend(a.Color, {
toString: function () {
return this.toHex();
},
toHex: function () {
return "#" + g(this.r) + g(this.g) + g(this.b);
},
toRgb: function () {
return "rgb(" + [this.r, this.g, this.b].join() + ")";
},
brightness: function () {
return (
(this.r / 255) * 0.3 +
(this.g / 255) * 0.59 +
(this.b / 255) * 0.11
);
},
morph: function (t) {
return (this.destination = new a.Color(t)), this;
},
at: function (t) {
return this.destination
? ((t = t < 0 ? 0 : t > 1 ? 1 : t),
new a.Color({
r: ~~(
this.r +
(this.destination.r - this.r) * t
),
g: ~~(
this.g +
(this.destination.g - this.g) * t
),
b: ~~(
this.b +
(this.destination.b - this.b) * t
),
}))
: this;
},
}),
(a.Color.test = function (t) {
return (
(t += ""),
a.regex.isHex.test(t) || a.regex.isRgb.test(t)
);
}),
(a.Color.isRgb = function (t) {
return (
t &&
"number" == typeof t.r &&
"number" == typeof t.g &&
"number" == typeof t.b
);
}),
(a.Color.isColor = function (t) {
return a.Color.isRgb(t) || a.Color.test(t);
}),
(a.Array = function (t, e) {
0 == (t = (t || []).valueOf()).length &&
e &&
(t = e.valueOf()),
(this.value = this.parse(t));
}),
a.extend(a.Array, {
toString: function () {
return this.value.join(" ");
},
valueOf: function () {
return this.value;
},
parse: function (t) {
return (
(t = t.valueOf()),
Array.isArray(t) ? t : this.split(t)
);
},
}),
(a.PointArray = function (t, e) {
a.Array.call(this, t, e || [[0, 0]]);
}),
(a.PointArray.prototype = new a.Array()),
(a.PointArray.prototype.constructor = a.PointArray);
for (
var s = {
M: function (t, e, i) {
return (
(e.x = i.x = t[0]),
(e.y = i.y = t[1]),
["M", e.x, e.y]
);
},
L: function (t, e) {
return (
(e.x = t[0]), (e.y = t[1]), ["L", t[0], t[1]]
);
},
H: function (t, e) {
return (e.x = t[0]), ["H", t[0]];
},
V: function (t, e) {
return (e.y = t[0]), ["V", t[0]];
},
C: function (t, e) {
return (
(e.x = t[4]),
(e.y = t[5]),
["C", t[0], t[1], t[2], t[3], t[4], t[5]]
);
},
Q: function (t, e) {
return (
(e.x = t[2]),
(e.y = t[3]),
["Q", t[0], t[1], t[2], t[3]]
);
},
S: function (t, e) {
return (
(e.x = t[2]),
(e.y = t[3]),
["S", t[0], t[1], t[2], t[3]]
);
},
Z: function (t, e, i) {
return (e.x = i.x), (e.y = i.y), ["Z"];
},
},
r = "mlhvqtcsaz".split(""),
o = 0,
n = r.length;
o < n;
++o
)
s[r[o]] = (function (t) {
return function (e, i, a) {
if ("H" == t) e[0] = e[0] + i.x;
else if ("V" == t) e[0] = e[0] + i.y;
else if ("A" == t)
(e[5] = e[5] + i.x), (e[6] = e[6] + i.y);
else
for (var r = 0, o = e.length; r < o; ++r)
e[r] = e[r] + (r % 2 ? i.y : i.x);
if (s && "function" == typeof s[t])
return s[t](e, i, a);
};
})(r[o].toUpperCase());
(a.PathArray = function (t, e) {
a.Array.call(this, t, e || [["M", 0, 0]]);
}),
(a.PathArray.prototype = new a.Array()),
(a.PathArray.prototype.constructor = a.PathArray),
a.extend(a.PathArray, {
toString: function () {
return (function (t) {
for (var e = 0, i = t.length, a = ""; e < i; e++)
(a += t[e][0]),
null != t[e][1] &&
((a += t[e][1]),
null != t[e][2] &&
((a += " "),
(a += t[e][2]),
null != t[e][3] &&
((a += " "),
(a += t[e][3]),
(a += " "),
(a += t[e][4]),
null != t[e][5] &&
((a += " "),
(a += t[e][5]),
(a += " "),
(a += t[e][6]),
null != t[e][7] &&
((a += " "),
(a += t[e][7]))))));
return a + " ";
})(this.value);
},
move: function (t, e) {
var i = this.bbox();
return i.x, i.y, this;
},
at: function (t) {
if (!this.destination) return this;
for (
var e = this.value,
i = this.destination.value,
s = [],
r = new a.PathArray(),
o = 0,
n = e.length;
o < n;
o++
) {
s[o] = [e[o][0]];
for (var l = 1, h = e[o].length; l < h; l++)
s[o][l] = e[o][l] + (i[o][l] - e[o][l]) * t;
"A" === s[o][0] &&
((s[o][4] = +(0 != s[o][4])),
(s[o][5] = +(0 != s[o][5])));
}
return (r.value = s), r;
},
parse: function (t) {
if (t instanceof a.PathArray) return t.valueOf();
var e,
i = {
M: 2,
L: 2,
H: 1,
V: 1,
C: 6,
S: 4,
Q: 4,
T: 2,
A: 7,
Z: 0,
};
t =
"string" == typeof t
? t
.replace(a.regex.numbersWithDots, h)
.replace(a.regex.pathLetters, " $& ")
.replace(a.regex.hyphen, "$1 -")
.trim()
.split(a.regex.delimiter)
: t.reduce(function (t, e) {
return [].concat.call(t, e);
}, []);
var r = [],
o = new a.Point(),
n = new a.Point(),
l = 0,
c = t.length;
do {
a.regex.isPathLetter.test(t[l])
? ((e = t[l]), ++l)
: "M" == e
? (e = "L")
: "m" == e && (e = "l"),
r.push(
s[e].call(
null,
t
.slice(l, (l += i[e.toUpperCase()]))
.map(parseFloat),
o,
n
)
);
} while (c > l);
return r;
},
bbox: function () {
return (
a.parser.draw || a.prepare(),
a.parser.path.setAttribute("d", this.toString()),
a.parser.path.getBBox()
);
},
}),
(a.Number = a.invent({
create: function (t, e) {
(this.value = 0),
(this.unit = e || ""),
"number" == typeof t
? (this.value = isNaN(t)
? 0
: isFinite(t)
? t
: t < 0
? -34e37
: 34e37)
: "string" == typeof t
? (e = t.match(a.regex.numberAndUnit)) &&
((this.value = parseFloat(e[1])),
"%" == e[5]
? (this.value /= 100)
: "s" == e[5] && (this.value *= 1e3),
(this.unit = e[5]))
: t instanceof a.Number &&
((this.value = t.valueOf()),
(this.unit = t.unit));
},
extend: {
toString: function () {
return (
("%" == this.unit
? ~~(1e8 * this.value) / 1e6
: "s" == this.unit
? this.value / 1e3
: this.value) + this.unit
);
},
toJSON: function () {
return this.toString();
},
valueOf: function () {
return this.value;
},
plus: function (t) {
return (
(t = new a.Number(t)),
new a.Number(this + t, this.unit || t.unit)
);
},
minus: function (t) {
return (
(t = new a.Number(t)),
new a.Number(this - t, this.unit || t.unit)
);
},
times: function (t) {
return (
(t = new a.Number(t)),
new a.Number(this * t, this.unit || t.unit)
);
},
divide: function (t) {
return (
(t = new a.Number(t)),
new a.Number(this / t, this.unit || t.unit)
);
},
to: function (t) {
var e = new a.Number(this);
return "string" == typeof t && (e.unit = t), e;
},
morph: function (t) {
return (
(this.destination = new a.Number(t)),
t.relative &&
(this.destination.value += this.value),
this
);
},
at: function (t) {
return this.destination
? new a.Number(this.destination)
.minus(this)
.times(t)
.plus(this)
: this;
},
},
})),
(a.Element = a.invent({
create: function (t) {
(this._stroke = a.defaults.attrs.stroke),
(this._event = null),
(this.dom = {}),
(this.node = t) &&
((this.type = t.nodeName),
(this.node.instance = this),
(this._stroke =
t.getAttribute("stroke") || this._stroke));
},
extend: {
x: function (t) {
return this.attr("x", t);
},
y: function (t) {
return this.attr("y", t);
},
cx: function (t) {
return null == t
? this.x() + this.width() / 2
: this.x(t - this.width() / 2);
},
cy: function (t) {
return null == t
? this.y() + this.height() / 2
: this.y(t - this.height() / 2);
},
move: function (t, e) {
return this.x(t).y(e);
},
center: function (t, e) {
return this.cx(t).cy(e);
},
width: function (t) {
return this.attr("width", t);
},
height: function (t) {
return this.attr("height", t);
},
size: function (t, e) {
var i = u(this, t, e);
return this.width(new a.Number(i.width)).height(
new a.Number(i.height)
);
},
clone: function (t) {
this.writeDataToDom();
var e = x(this.node.cloneNode(!0));
return t ? t.add(e) : this.after(e), e;
},
remove: function () {
return (
this.parent() &&
this.parent().removeElement(this),
this
);
},
replace: function (t) {
return this.after(t).remove(), t;
},
addTo: function (t) {
return t.put(this);
},
putIn: function (t) {
return t.add(this);
},
id: function (t) {
return this.attr("id", t);
},
show: function () {
return this.style("display", "");
},
hide: function () {
return this.style("display", "none");
},
visible: function () {
return "none" != this.style("display");
},
toString: function () {
return this.attr("id");
},
classes: function () {
var t = this.attr("class");
return null == t
? []
: t.trim().split(a.regex.delimiter);
},
hasClass: function (t) {
return -1 != this.classes().indexOf(t);
},
addClass: function (t) {
if (!this.hasClass(t)) {
var e = this.classes();
e.push(t), this.attr("class", e.join(" "));
}
return this;
},
removeClass: function (t) {
return (
this.hasClass(t) &&
this.attr(
"class",
this.classes()
.filter(function (e) {
return e != t;
})
.join(" ")
),
this
);
},
toggleClass: function (t) {
return this.hasClass(t)
? this.removeClass(t)
: this.addClass(t);
},
reference: function (t) {
return a.get(this.attr(t));
},
parent: function (e) {
var i = this;
if (!i.node.parentNode) return null;
if (((i = a.adopt(i.node.parentNode)), !e))
return i;
for (; i && i.node instanceof t.SVGElement; ) {
if (
"string" == typeof e
? i.matches(e)
: i instanceof e
)
return i;
if (
!i.node.parentNode ||
"#document" == i.node.parentNode.nodeName
)
return null;
i = a.adopt(i.node.parentNode);
}
},
doc: function () {
return this instanceof a.Doc
? this
: this.parent(a.Doc);
},
parents: function (t) {
var e = [],
i = this;
do {
if (!(i = i.parent(t)) || !i.node) break;
e.push(i);
} while (i.parent);
return e;
},
matches: function (t) {
return (function (t, e) {
return (
t.matches ||
t.matchesSelector ||
t.msMatchesSelector ||
t.mozMatchesSelector ||
t.webkitMatchesSelector ||
t.oMatchesSelector
).call(t, e);
})(this.node, t);
},
native: function () {
return this.node;
},
svg: function (t) {
var i = e.createElement("svg");
if (!(t && this instanceof a.Parent))
return (
i.appendChild((t = e.createElement("svg"))),
this.writeDataToDom(),
t.appendChild(this.node.cloneNode(!0)),
i.innerHTML
.replace(/^