import "./chunk-ELXAK55F.js";

// node_modules/frappe-charts/dist/frappe-charts.min.esm.js
function styleInject(t7, e) {
  e === void 0 && (e = {});
  var n = e.insertAt;
  if (t7 && typeof document != "undefined") {
    var i = document.head || document.getElementsByTagName("head")[0], a = document.createElement("style");
    a.type = "text/css", n === "top" && i.firstChild ? i.insertBefore(a, i.firstChild) : i.appendChild(a), a.styleSheet ? a.styleSheet.cssText = t7 : a.appendChild(document.createTextNode(t7));
  }
}
function $(t7, e) {
  return typeof t7 == "string" ? (e || document).querySelector(t7) : t7 || null;
}
function getOffset(t7) {
  var e = t7.getBoundingClientRect();
  return { top: e.top + (document.documentElement.scrollTop || document.body.scrollTop), left: e.left + (document.documentElement.scrollLeft || document.body.scrollLeft) };
}
function isHidden(t7) {
  return t7.offsetParent === null;
}
function isElementInViewport(t7) {
  var e = t7.getBoundingClientRect();
  return e.top >= 0 && e.left >= 0 && e.bottom <= (window.innerHeight || document.documentElement.clientHeight) && e.right <= (window.innerWidth || document.documentElement.clientWidth);
}
function getElementContentWidth(t7) {
  var e = window.getComputedStyle(t7), n = parseFloat(e.paddingLeft) + parseFloat(e.paddingRight);
  return t7.clientWidth - n;
}
function fire(t7, e, n) {
  var i = document.createEvent("HTMLEvents");
  i.initEvent(e, true, true);
  for (var a in n)
    i[a] = n[a];
  return t7.dispatchEvent(i);
}
function getTopOffset(t7) {
  return t7.titleHeight + t7.margins.top + t7.paddings.top;
}
function getLeftOffset(t7) {
  return t7.margins.left + t7.paddings.left;
}
function getExtraHeight(t7) {
  return t7.margins.top + t7.margins.bottom + t7.paddings.top + t7.paddings.bottom + t7.titleHeight + t7.legendHeight;
}
function getExtraWidth(t7) {
  return t7.margins.left + t7.margins.right + t7.paddings.left + t7.paddings.right;
}
function _classCallCheck$4(t7, e) {
  if (!(t7 instanceof e))
    throw new TypeError("Cannot call a class as a function");
}
function floatTwo(t7) {
  return parseFloat(t7.toFixed(2));
}
function fillArray(t7, e, n) {
  var i = arguments.length > 3 && arguments[3] !== void 0 && arguments[3];
  n || (n = i ? t7[0] : t7[t7.length - 1]);
  var a = new Array(Math.abs(e)).fill(n);
  return t7 = i ? a.concat(t7) : t7.concat(a);
}
function getStringWidth(t7, e) {
  return (t7 + "").length * e;
}
function getPositionByAngle(t7, e) {
  return { x: Math.sin(t7 * ANGLE_RATIO) * e, y: Math.cos(t7 * ANGLE_RATIO) * e };
}
function isValidNumber(t7) {
  var e = arguments.length > 1 && arguments[1] !== void 0 && arguments[1];
  return !Number.isNaN(t7) && (t7 !== void 0 && (!!Number.isFinite(t7) && !(e && t7 < 0)));
}
function round(t7) {
  return Number(Math.round(t7 + "e4") + "e-4");
}
function deepClone(t7) {
  var e = void 0, n = void 0, i = void 0;
  if (t7 instanceof Date)
    return new Date(t7.getTime());
  if ((t7 === void 0 ? "undefined" : _typeof$2(t7)) !== "object" || t7 === null)
    return t7;
  e = Array.isArray(t7) ? [] : {};
  for (i in t7)
    n = t7[i], e[i] = deepClone(n);
  return e;
}
function getBarHeightAndYAttr(t7, e) {
  var n = void 0, i = void 0;
  return t7 <= e ? (n = e - t7, i = t7) : (n = t7 - e, i = e), [n, i];
}
function equilizeNoOfElements(t7, e) {
  var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length - t7.length;
  return n > 0 ? t7 = fillArray(t7, n) : e = fillArray(e, n), [t7, e];
}
function truncateString(t7, e) {
  if (t7)
    return t7.length > e ? t7.slice(0, e - 3) + "..." : t7;
}
function shortenLargeNumber(t7) {
  var e = void 0;
  if (typeof t7 == "number")
    e = t7;
  else if (typeof t7 == "string" && (e = Number(t7), Number.isNaN(e)))
    return t7;
  var n = Math.floor(Math.log10(Math.abs(e)));
  if (n <= 2)
    return e;
  var i = Math.floor(n / 3), a = Math.pow(10, n - 3 * i) * +(e / Math.pow(10, n)).toFixed(1);
  return Math.round(100 * a) / 100 + " " + ["", "K", "M", "B", "T"][i];
}
function getSplineCurvePointsStr(t7, e) {
  for (var n = [], i = 0; i < t7.length; i++)
    n.push([t7[i], e[i]]);
  var a = function(t8, e2) {
    var n2 = e2[0] - t8[0], i2 = e2[1] - t8[1];
    return { length: Math.sqrt(Math.pow(n2, 2) + Math.pow(i2, 2)), angle: Math.atan2(i2, n2) };
  }, r = function(t8, e2, n2, i2) {
    var r2 = a(e2 || t8, n2 || t8), o = r2.angle + (i2 ? Math.PI : 0), s = 0.2 * r2.length;
    return [t8[0] + Math.cos(o) * s, t8[1] + Math.sin(o) * s];
  };
  return function(t8, e2) {
    return t8.reduce(function(t9, n2, i2, a2) {
      return i2 === 0 ? n2[0] + "," + n2[1] : t9 + " " + e2(n2, i2, a2);
    }, "");
  }(n, function(t8, e2, n2) {
    var i2 = r(n2[e2 - 1], n2[e2 - 2], t8), a2 = r(t8, n2[e2 - 1], n2[e2 + 1], true);
    return "C " + i2[0] + "," + i2[1] + " " + a2[0] + "," + a2[1] + " " + t8[0] + "," + t8[1];
  });
}
function limitColor(t7) {
  return t7 > 255 ? 255 : t7 < 0 ? 0 : t7;
}
function lightenDarkenColor(t7, e) {
  var n = getColor(t7), i = false;
  n[0] == "#" && (n = n.slice(1), i = true);
  var a = parseInt(n, 16), r = limitColor((a >> 16) + e), o = limitColor((a >> 8 & 255) + e), s = limitColor((255 & a) + e);
  return (i ? "#" : "") + (s | o << 8 | r << 16).toString(16);
}
function isValidColor(t7) {
  var e = /(^\s*)(rgb|hsl)(a?)[(]\s*([\d.]+\s*%?)\s*,\s*([\d.]+\s*%?)\s*,\s*([\d.]+\s*%?)\s*(?:,\s*([\d.]+)\s*)?[)]$/i;
  return /(^\s*)(#)((?:[A-Fa-f0-9]{3}){1,2})$/i.test(t7) || e.test(t7);
}
function $$1(t7, e) {
  return typeof t7 == "string" ? (e || document).querySelector(t7) : t7 || null;
}
function createSVG(t7, e) {
  var n = document.createElementNS("http://www.w3.org/2000/svg", t7);
  for (var i in e) {
    var a = e[i];
    if (i === "inside")
      $$1(a).appendChild(n);
    else if (i === "around") {
      var r = $$1(a);
      r.parentNode.insertBefore(n, r), n.appendChild(r);
    } else
      i === "styles" ? (a === void 0 ? "undefined" : _typeof$1(a)) === "object" && Object.keys(a).map(function(t8) {
        n.style[t8] = a[t8];
      }) : (i === "className" && (i = "class"), i === "innerHTML" ? n.textContent = a : n.setAttribute(i, a));
  }
  return n;
}
function renderVerticalGradient(t7, e) {
  return createSVG("linearGradient", { inside: t7, id: e, x1: 0, x2: 0, y1: 0, y2: 1 });
}
function setGradientStop(t7, e, n, i) {
  return createSVG("stop", { inside: t7, style: "stop-color: " + n, offset: e, "stop-opacity": i });
}
function makeSVGContainer(t7, e, n, i) {
  return createSVG("svg", { className: e, inside: t7, width: n, height: i });
}
function makeSVGDefs(t7) {
  return createSVG("defs", { inside: t7 });
}
function makeSVGGroup(t7) {
  var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : void 0, i = { className: t7, transform: e };
  return n && (i.inside = n), createSVG("g", i);
}
function makePath(t7) {
  return createSVG("path", { className: arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", d: t7, styles: { stroke: arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "none", fill: arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : "none", "stroke-width": arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : 2 } });
}
function makeArcPathStr(t7, e, n, i) {
  var a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : 1, r = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : 0, o = n.x + t7.x, s = n.y + t7.y, l = n.x + e.x, u = n.y + e.y;
  return "M" + n.x + " " + n.y + "\n		L" + o + " " + s + "\n		A " + i + " " + i + " 0 " + r + " " + (a ? 1 : 0) + "\n		" + l + " " + u + " z";
}
function makeCircleStr(t7, e, n, i) {
  var a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : 1, r = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : 0, o = n.x + t7.x, s = n.y + t7.y, l = n.x + e.x, u = 2 * n.y, c = n.y + e.y;
  return "M" + n.x + " " + n.y + "\n		L" + o + " " + s + "\n		A " + i + " " + i + " 0 " + r + " " + (a ? 1 : 0) + "\n		" + l + " " + u + " z\n		L" + o + " " + u + "\n		A " + i + " " + i + " 0 " + r + " " + (a ? 1 : 0) + "\n		" + l + " " + c + " z";
}
function makeArcStrokePathStr(t7, e, n, i) {
  var a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : 1, r = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : 0, o = n.x + t7.x, s = n.y + t7.y, l = n.x + e.x, u = n.y + e.y;
  return "M" + o + " " + s + "\n		A " + i + " " + i + " 0 " + r + " " + (a ? 1 : 0) + "\n		" + l + " " + u;
}
function makeStrokeCircleStr(t7, e, n, i) {
  var a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : 1, r = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : 0, o = n.x + t7.x, s = n.y + t7.y, l = n.x + e.x, u = 2 * i + s, c = n.y + t7.y;
  return "M" + o + " " + s + "\n		A " + i + " " + i + " 0 " + r + " " + (a ? 1 : 0) + "\n		" + l + " " + u + "\n		M" + o + " " + u + "\n		A " + i + " " + i + " 0 " + r + " " + (a ? 1 : 0) + "\n		" + l + " " + c;
}
function makeGradient(t7, e) {
  var n = arguments.length > 2 && arguments[2] !== void 0 && arguments[2], i = "path-fill-gradient-" + e + "-" + (n ? "lighter" : "default"), a = renderVerticalGradient(t7, i), r = [1, 0.6, 0.2];
  return n && (r = [0.4, 0.2, 0]), setGradientStop(a, "0%", e, r[0]), setGradientStop(a, "50%", e, r[1]), setGradientStop(a, "100%", e, r[2]), i;
}
function percentageBar(t7, e, n, i) {
  var a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : PERCENTAGE_BAR_DEFAULT_DEPTH, r = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : "none";
  return createSVG("rect", { className: "percentage-bar", x: t7, y: e, width: n, height: i, fill: r, styles: { stroke: lightenDarkenColor(r, -25), "stroke-dasharray": "0, " + (i + n) + ", " + n + ", " + i, "stroke-width": a } });
}
function heatSquare(t7, e, n, i, a) {
  var r = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : "none", o = arguments.length > 6 && arguments[6] !== void 0 ? arguments[6] : {}, s = { className: t7, x: e, y: n, width: i, height: i, rx: a, fill: r };
  return Object.keys(o).map(function(t8) {
    s[t8] = o[t8];
  }), createSVG("rect", s);
}
function legendBar(t7, e, n) {
  var i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : "none", a = arguments[4];
  a = arguments.length > 5 && arguments[5] !== void 0 && arguments[5] ? truncateString(a, LABEL_MAX_CHARS) : a;
  var r = { className: "legend-bar", x: 0, y: 0, width: n, height: "2px", fill: i }, o = createSVG("text", { className: "legend-dataset-text", x: 0, y: 0, dy: 2 * FONT_SIZE + "px", "font-size": 1.2 * FONT_SIZE + "px", "text-anchor": "start", fill: FONT_FILL, innerHTML: a }), s = createSVG("g", { transform: "translate(" + t7 + ", " + e + ")" });
  return s.appendChild(createSVG("rect", r)), s.appendChild(o), s;
}
function legendDot(t7, e, n) {
  var i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : "none", a = arguments[4];
  a = arguments.length > 5 && arguments[5] !== void 0 && arguments[5] ? truncateString(a, LABEL_MAX_CHARS) : a;
  var r = { className: "legend-dot", cx: 0, cy: 0, r: n, fill: i }, o = createSVG("text", { className: "legend-dataset-text", x: 0, y: 0, dx: FONT_SIZE + "px", dy: FONT_SIZE / 3 + "px", "font-size": 1.2 * FONT_SIZE + "px", "text-anchor": "start", fill: FONT_FILL, innerHTML: a }), s = createSVG("g", { transform: "translate(" + t7 + ", " + e + ")" });
  return s.appendChild(createSVG("circle", r)), s.appendChild(o), s;
}
function makeText(t7, e, n, i) {
  var a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : {}, r = a.fontSize || FONT_SIZE;
  return createSVG("text", { className: t7, x: e, y: n, dy: (a.dy !== void 0 ? a.dy : r / 2) + "px", "font-size": r + "px", fill: a.fill || FONT_FILL, "text-anchor": a.textAnchor || "start", innerHTML: i });
}
function makeVertLine(t7, e, n, i) {
  var a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : {};
  a.stroke || (a.stroke = BASE_LINE_COLOR);
  var r = createSVG("line", { className: "line-vertical " + a.className, x1: 0, x2: 0, y1: n, y2: i, styles: { stroke: a.stroke } }), o = createSVG("text", { x: 0, y: n > i ? n + LABEL_MARGIN : n - LABEL_MARGIN - FONT_SIZE, dy: FONT_SIZE + "px", "font-size": FONT_SIZE + "px", "text-anchor": "middle", innerHTML: e + "" }), s = createSVG("g", { transform: "translate(" + t7 + ", 0)" });
  return s.appendChild(r), s.appendChild(o), s;
}
function makeHoriLine(t7, e, n, i) {
  var a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : {};
  a.stroke || (a.stroke = BASE_LINE_COLOR), a.lineType || (a.lineType = ""), a.shortenNumbers && (e = shortenLargeNumber(e));
  var r = createSVG("line", { className: "line-horizontal " + a.className + (a.lineType === "dashed" ? "dashed" : ""), x1: n, x2: i, y1: 0, y2: 0, styles: { stroke: a.stroke } }), o = createSVG("text", { x: n < i ? n - LABEL_MARGIN : n + LABEL_MARGIN, y: 0, dy: FONT_SIZE / 2 - 2 + "px", "font-size": FONT_SIZE + "px", "text-anchor": n < i ? "end" : "start", innerHTML: e + "" }), s = createSVG("g", { transform: "translate(0, " + t7 + ")", "stroke-opacity": 1 });
  return o !== 0 && o !== "0" || (s.style.stroke = "rgba(27, 31, 35, 0.6)"), s.appendChild(r), s.appendChild(o), s;
}
function yLine(t7, e, n) {
  var i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
  isValidNumber(t7) || (t7 = 0), i.pos || (i.pos = "left"), i.offset || (i.offset = 0), i.mode || (i.mode = "span"), i.stroke || (i.stroke = BASE_LINE_COLOR), i.className || (i.className = "");
  var a = -1 * AXIS_TICK_LENGTH, r = i.mode === "span" ? n + AXIS_TICK_LENGTH : 0;
  return i.mode === "tick" && i.pos === "right" && (a = n + AXIS_TICK_LENGTH, r = n), a += i.offset, r += i.offset, makeHoriLine(t7, e, a, r, { stroke: i.stroke, className: i.className, lineType: i.lineType, shortenNumbers: i.shortenNumbers });
}
function xLine(t7, e, n) {
  var i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
  isValidNumber(t7) || (t7 = 0), i.pos || (i.pos = "bottom"), i.offset || (i.offset = 0), i.mode || (i.mode = "span"), i.stroke || (i.stroke = BASE_LINE_COLOR), i.className || (i.className = "");
  var a = n + AXIS_TICK_LENGTH, r = i.mode === "span" ? -1 * AXIS_TICK_LENGTH : n;
  return i.mode === "tick" && i.pos === "top" && (a = -1 * AXIS_TICK_LENGTH, r = 0), makeVertLine(t7, e, a, r, { stroke: i.stroke, className: i.className, lineType: i.lineType });
}
function yMarker(t7, e, n) {
  var i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
  i.labelPos || (i.labelPos = "right");
  var a = createSVG("text", { className: "chart-label", x: i.labelPos === "left" ? LABEL_MARGIN : n - getStringWidth(e, 5) - LABEL_MARGIN, y: 0, dy: FONT_SIZE / -2 + "px", "font-size": FONT_SIZE + "px", "text-anchor": "start", innerHTML: e + "" }), r = makeHoriLine(t7, "", 0, n, { stroke: i.stroke || BASE_LINE_COLOR, className: i.className || "", lineType: i.lineType });
  return r.appendChild(a), r;
}
function yRegion(t7, e, n, i) {
  var a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : {}, r = t7 - e, o = createSVG("rect", { className: "bar mini", styles: { fill: "rgba(228, 234, 239, 0.49)", stroke: BASE_LINE_COLOR, "stroke-dasharray": n + ", " + r }, x: 0, y: 0, width: n, height: r });
  a.labelPos || (a.labelPos = "right");
  var s = createSVG("text", { className: "chart-label", x: a.labelPos === "left" ? LABEL_MARGIN : n - getStringWidth(i + "", 4.5) - LABEL_MARGIN, y: 0, dy: FONT_SIZE / -2 + "px", "font-size": FONT_SIZE + "px", "text-anchor": "start", innerHTML: i + "" }), l = createSVG("g", { transform: "translate(0, " + e + ")" });
  return l.appendChild(o), l.appendChild(s), l;
}
function datasetBar(t7, e, n, i) {
  var a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : "", r = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : 0, o = arguments.length > 6 && arguments[6] !== void 0 ? arguments[6] : 0, s = arguments.length > 7 && arguments[7] !== void 0 ? arguments[7] : {}, l = getBarHeightAndYAttr(e, s.zeroLine), u = _slicedToArray(l, 2), c = u[0], h = u[1];
  h -= o, c === 0 && (c = s.minHeight, h -= s.minHeight), isValidNumber(t7) || (t7 = 0), isValidNumber(h) || (h = 0), isValidNumber(c, true) || (c = 0), isValidNumber(n, true) || (n = 0);
  var d = createSVG("rect", { className: "bar mini", style: "fill: " + i, "data-point-index": r, x: t7, y: h, width: n, height: c });
  if ((a += "") || a.length) {
    d.setAttribute("y", 0), d.setAttribute("x", 0);
    var f = createSVG("text", { className: "data-point-value", x: n / 2, y: 0, dy: FONT_SIZE / 2 * -1 + "px", "font-size": FONT_SIZE + "px", "text-anchor": "middle", innerHTML: a }), p = createSVG("g", { "data-point-index": r, transform: "translate(" + t7 + ", " + h + ")" });
    return p.appendChild(d), p.appendChild(f), p;
  }
  return d;
}
function datasetDot(t7, e, n, i) {
  var a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : "", r = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : 0, o = createSVG("circle", { style: "fill: " + i, "data-point-index": r, cx: t7, cy: e, r: n });
  if ((a += "") || a.length) {
    o.setAttribute("cy", 0), o.setAttribute("cx", 0);
    var s = createSVG("text", { className: "data-point-value", x: 0, y: 0, dy: FONT_SIZE / 2 * -1 - n + "px", "font-size": FONT_SIZE + "px", "text-anchor": "middle", innerHTML: a }), l = createSVG("g", { "data-point-index": r, transform: "translate(" + t7 + ", " + e + ")" });
    return l.appendChild(o), l.appendChild(s), l;
  }
  return o;
}
function getPaths(t7, e, n) {
  var i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {}, a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : {}, r = e.map(function(e2, n2) {
    return t7[n2] + "," + e2;
  }).join("L");
  i.spline && (r = getSplineCurvePointsStr(t7, e));
  var o = makePath("M" + r, "line-graph-path", n);
  if (i.heatline) {
    var s = makeGradient(a.svgDefs, n);
    o.style.stroke = "url(#" + s + ")";
  }
  var l = { path: o };
  if (i.regionFill) {
    var u = makeGradient(a.svgDefs, n, true), c = "M" + t7[0] + "," + a.zeroLine + "L" + r + "L" + t7.slice(-1)[0] + "," + a.zeroLine;
    l.region = makePath(c, "region-fill", "none", "url(#" + u + ")");
  }
  return l;
}
function translate(t7, e, n, i) {
  var a = typeof e == "string" ? e : e.join(", ");
  return [t7, { transform: n.join(", ") }, i, STD_EASING, "translate", { transform: a }];
}
function translateVertLine(t7, e, n) {
  return translate(t7, [n, 0], [e, 0], MARKER_LINE_ANIM_DUR);
}
function translateHoriLine(t7, e, n) {
  return translate(t7, [0, n], [0, e], MARKER_LINE_ANIM_DUR);
}
function animateRegion(t7, e, n, i) {
  var a = e - n, r = t7.childNodes[0];
  return [[r, { height: a, "stroke-dasharray": r.getAttribute("width") + ", " + a }, MARKER_LINE_ANIM_DUR, STD_EASING], translate(t7, [0, i], [0, n], MARKER_LINE_ANIM_DUR)];
}
function animateBar(t7, e, n, i) {
  var a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : 0, r = getBarHeightAndYAttr(n, (arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : {}).zeroLine), o = _slicedToArray$2(r, 2), s = o[0], l = o[1];
  return l -= a, t7.nodeName !== "rect" ? [[t7.childNodes[0], { width: i, height: s }, UNIT_ANIM_DUR, STD_EASING], translate(t7, t7.getAttribute("transform").split("(")[1].slice(0, -1), [e, l], MARKER_LINE_ANIM_DUR)] : [[t7, { width: i, height: s, x: e, y: l }, UNIT_ANIM_DUR, STD_EASING]];
}
function animateDot(t7, e, n) {
  return t7.nodeName !== "circle" ? [translate(t7, t7.getAttribute("transform").split("(")[1].slice(0, -1), [e, n], MARKER_LINE_ANIM_DUR)] : [[t7, { cx: e, cy: n }, UNIT_ANIM_DUR, STD_EASING]];
}
function animatePath(t7, e, n, i, a) {
  var r = [], o = n.map(function(t8, n2) {
    return e[n2] + "," + t8;
  }).join("L");
  a && (o = getSplineCurvePointsStr(e, n));
  var s = [t7.path, { d: "M" + o }, PATH_ANIM_DUR, STD_EASING];
  if (r.push(s), t7.region) {
    var l = e[0] + "," + i + "L", u = "L" + e.slice(-1)[0] + ", " + i, c = [t7.region, { d: "M" + l + o + u }, PATH_ANIM_DUR, STD_EASING];
    r.push(c);
  }
  return r;
}
function animatePathStr(t7, e) {
  return [t7, { d: e }, UNIT_ANIM_DUR, STD_EASING];
}
function _toConsumableArray$1(t7) {
  if (Array.isArray(t7)) {
    for (var e = 0, n = Array(t7.length); e < t7.length; e++)
      n[e] = t7[e];
    return n;
  }
  return Array.from(t7);
}
function animateSVGElement(t7, e, n) {
  var i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : "linear", a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : void 0, r = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : {}, o = t7.cloneNode(true), s = t7.cloneNode(true);
  for (var l in e) {
    var u = void 0;
    u = l === "transform" ? document.createElementNS("http://www.w3.org/2000/svg", "animateTransform") : document.createElementNS("http://www.w3.org/2000/svg", "animate");
    var c = r[l] || t7.getAttribute(l), h = e[l], d = { attributeName: l, from: c, to: h, begin: "0s", dur: n / 1e3 + "s", values: c + ";" + h, keySplines: EASING[i], keyTimes: "0;1", calcMode: "spline", fill: "freeze" };
    a && (d.type = a);
    for (var f in d)
      u.setAttribute(f, d[f]);
    o.appendChild(u), a ? s.setAttribute(l, "translate(" + h + ")") : s.setAttribute(l, h);
  }
  return [o, s];
}
function transform(t7, e) {
  t7.style.transform = e, t7.style.webkitTransform = e, t7.style.msTransform = e, t7.style.mozTransform = e, t7.style.oTransform = e;
}
function animateSVG(t7, e) {
  var n = [], i = [];
  e.map(function(t8) {
    var e2 = t8[0], a2 = e2.parentNode, r = void 0, o = void 0;
    t8[0] = e2;
    var s = animateSVGElement.apply(void 0, _toConsumableArray$1(t8)), l = _slicedToArray$1(s, 2);
    r = l[0], o = l[1], n.push(o), i.push([r, a2]), a2 && a2.replaceChild(r, e2);
  });
  var a = t7.cloneNode(true);
  return i.map(function(t8, i2) {
    t8[1] && (t8[1].replaceChild(n[i2], t8[0]), e[i2][0] = n[i2]);
  }), a;
}
function runSMILAnimation(t7, e, n) {
  if (n.length !== 0) {
    var i = animateSVG(e, n);
    e.parentNode == t7 && (t7.removeChild(e), t7.appendChild(i)), setTimeout(function() {
      i.parentNode == t7 && (t7.removeChild(i), t7.appendChild(e));
    }, REPLACE_ALL_NEW_DUR);
  }
}
function downloadFile(t7, e) {
  var n = document.createElement("a");
  n.style = "display: none";
  var i = new Blob(e, { type: "image/svg+xml; charset=utf-8" }), a = window.URL.createObjectURL(i);
  n.href = a, n.download = t7, document.body.appendChild(n), n.click(), setTimeout(function() {
    document.body.removeChild(n), window.URL.revokeObjectURL(a);
  }, 300);
}
function prepareForExport(t7) {
  var e = t7.cloneNode(true);
  e.classList.add("chart-container"), e.setAttribute("xmlns", "http://www.w3.org/2000/svg"), e.setAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink");
  var n = $.create("style", { innerHTML: CSSTEXT });
  e.insertBefore(n, e.firstChild);
  var i = $.create("div");
  return i.appendChild(e), i.innerHTML;
}
function _classCallCheck$3(t7, e) {
  if (!(t7 instanceof e))
    throw new TypeError("Cannot call a class as a function");
}
function _classCallCheck$2(t7, e) {
  if (!(t7 instanceof e))
    throw new TypeError("Cannot call a class as a function");
}
function _possibleConstructorReturn$1(t7, e) {
  if (!t7)
    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
  return !e || typeof e != "object" && typeof e != "function" ? t7 : e;
}
function _inherits$1(t7, e) {
  if (typeof e != "function" && e !== null)
    throw new TypeError("Super expression must either be null or a function, not " + typeof e);
  t7.prototype = Object.create(e && e.prototype, { constructor: { value: t7, enumerable: false, writable: true, configurable: true } }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t7, e) : t7.__proto__ = e);
}
function treatAsUtc(t7) {
  var e = new Date(t7);
  return e.setMinutes(e.getMinutes() - e.getTimezoneOffset()), e;
}
function getYyyyMmDd(t7) {
  var e = t7.getDate(), n = t7.getMonth() + 1;
  return [t7.getFullYear(), (n > 9 ? "" : "0") + n, (e > 9 ? "" : "0") + e].join("-");
}
function clone(t7) {
  return new Date(t7.getTime());
}
function getWeeksBetween(t7, e) {
  var n = setDayToSunday(t7);
  return Math.ceil(getDaysBetween(n, e) / NO_OF_DAYS_IN_WEEK);
}
function getDaysBetween(t7, e) {
  var n = SEC_IN_DAY * NO_OF_MILLIS;
  return (treatAsUtc(e) - treatAsUtc(t7)) / n;
}
function areInSameMonth(t7, e) {
  return t7.getMonth() === e.getMonth() && t7.getFullYear() === e.getFullYear();
}
function getMonthName(t7) {
  var e = arguments.length > 1 && arguments[1] !== void 0 && arguments[1], n = MONTH_NAMES[t7];
  return e ? n.slice(0, 3) : n;
}
function getLastDateInMonth(t7, e) {
  return new Date(e, t7 + 1, 0);
}
function setDayToSunday(t7) {
  var e = clone(t7), n = e.getDay();
  return n !== 0 && addDays(e, -1 * n), e;
}
function addDays(t7, e) {
  t7.setDate(t7.getDate() + e);
}
function _classCallCheck$5(t7, e) {
  if (!(t7 instanceof e))
    throw new TypeError("Cannot call a class as a function");
}
function getComponent(t7, e, n) {
  var i = Object.keys(componentConfigs).filter(function(e2) {
    return t7.includes(e2);
  }), a = componentConfigs[i[0]];
  return Object.assign(a, { constants: e, getData: n }), new ChartComponent(a);
}
function _toConsumableArray(t7) {
  if (Array.isArray(t7)) {
    for (var e = 0, n = Array(t7.length); e < t7.length; e++)
      n[e] = t7[e];
    return n;
  }
  return Array.from(t7);
}
function _classCallCheck$1(t7, e) {
  if (!(t7 instanceof e))
    throw new TypeError("Cannot call a class as a function");
}
function _possibleConstructorReturn(t7, e) {
  if (!t7)
    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
  return !e || typeof e != "object" && typeof e != "function" ? t7 : e;
}
function _inherits(t7, e) {
  if (typeof e != "function" && e !== null)
    throw new TypeError("Super expression must either be null or a function, not " + typeof e);
  t7.prototype = Object.create(e && e.prototype, { constructor: { value: t7, enumerable: false, writable: true, configurable: true } }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t7, e) : t7.__proto__ = e);
}
function _toConsumableArray$2(t7) {
  if (Array.isArray(t7)) {
    for (var e = 0, n = Array(t7.length); e < t7.length; e++)
      n[e] = t7[e];
    return n;
  }
  return Array.from(t7);
}
function _classCallCheck$6(t7, e) {
  if (!(t7 instanceof e))
    throw new TypeError("Cannot call a class as a function");
}
function _possibleConstructorReturn$2(t7, e) {
  if (!t7)
    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
  return !e || typeof e != "object" && typeof e != "function" ? t7 : e;
}
function _inherits$2(t7, e) {
  if (typeof e != "function" && e !== null)
    throw new TypeError("Super expression must either be null or a function, not " + typeof e);
  t7.prototype = Object.create(e && e.prototype, { constructor: { value: t7, enumerable: false, writable: true, configurable: true } }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t7, e) : t7.__proto__ = e);
}
function _toConsumableArray$4(t7) {
  if (Array.isArray(t7)) {
    for (var e = 0, n = Array(t7.length); e < t7.length; e++)
      n[e] = t7[e];
    return n;
  }
  return Array.from(t7);
}
function normalize(t7) {
  if (t7 === 0)
    return [0, 0];
  if (isNaN(t7))
    return { mantissa: -6755399441055744, exponent: 972 };
  var e = t7 > 0 ? 1 : -1;
  if (!isFinite(t7))
    return { mantissa: 4503599627370496 * e, exponent: 972 };
  t7 = Math.abs(t7);
  var n = Math.floor(Math.log10(t7));
  return [e * (t7 / Math.pow(10, n)), n];
}
function getChartRangeIntervals(t7) {
  var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, n = Math.ceil(t7), i = Math.floor(e), a = n - i, r = a, o = 1;
  a > 5 && (a % 2 != 0 && (a = ++n - i), r = a / 2, o = 2), a <= 2 && (o = a / (r = 4)), a === 0 && (r = 5, o = 1);
  for (var s = [], l = 0; l <= r; l++)
    s.push(i + o * l);
  return s;
}
function getChartIntervals(t7) {
  var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, n = normalize(t7), i = _slicedToArray$4(n, 2), a = i[0], r = i[1], o = e ? e / Math.pow(10, r) : 0, s = getChartRangeIntervals(a = a.toFixed(6), o);
  return s = s.map(function(t8) {
    return t8 * Math.pow(10, r);
  });
}
function calcChartIntervals(t7) {
  function e(t8, e2) {
    for (var n2 = getChartIntervals(t8), i2 = n2[1] - n2[0], a2 = 0, r2 = 1; a2 < e2; r2++)
      a2 += i2, n2.unshift(-1 * a2);
    return n2;
  }
  var n = arguments.length > 1 && arguments[1] !== void 0 && arguments[1], i = Math.max.apply(Math, _toConsumableArray$4(t7)), a = Math.min.apply(Math, _toConsumableArray$4(t7)), r = [];
  if (i >= 0 && a >= 0)
    normalize(i)[1], r = n ? getChartIntervals(i, a) : getChartIntervals(i);
  else if (i > 0 && a < 0) {
    var o = Math.abs(a);
    i >= o ? (normalize(i)[1], r = e(i, o)) : (normalize(o)[1], r = e(o, i).reverse().map(function(t8) {
      return -1 * t8;
    }));
  } else if (i <= 0 && a <= 0) {
    var s = Math.abs(a), l = Math.abs(i);
    normalize(s)[1], r = (r = n ? getChartIntervals(s, l) : getChartIntervals(s)).reverse().map(function(t8) {
      return -1 * t8;
    });
  }
  return r;
}
function getZeroIndex(t7) {
  var e = getIntervalSize(t7);
  return t7.indexOf(0) >= 0 ? t7.indexOf(0) : t7[0] > 0 ? -1 * t7[0] / e : -1 * t7[t7.length - 1] / e + (t7.length - 1);
}
function getIntervalSize(t7) {
  return t7[1] - t7[0];
}
function getValueRange(t7) {
  return t7[t7.length - 1] - t7[0];
}
function scale(t7, e) {
  return floatTwo(e.zeroLine - t7 * e.scaleMultiplier);
}
function getClosestInArray(t7, e) {
  var n = arguments.length > 2 && arguments[2] !== void 0 && arguments[2], i = e.reduce(function(e2, n2) {
    return Math.abs(n2 - t7) < Math.abs(e2 - t7) ? n2 : e2;
  }, []);
  return n ? e.indexOf(i) : i;
}
function calcDistribution(t7, e) {
  for (var n = Math.max.apply(Math, _toConsumableArray$4(t7)), i = 1 / (e - 1), a = [], r = 0; r < e; r++) {
    var o = n * (i * r);
    a.push(o);
  }
  return a;
}
function getMaxCheckpoint(t7, e) {
  return e.filter(function(e2) {
    return e2 < t7;
  }).length;
}
function _toConsumableArray$3(t7) {
  if (Array.isArray(t7)) {
    for (var e = 0, n = Array(t7.length); e < t7.length; e++)
      n[e] = t7[e];
    return n;
  }
  return Array.from(t7);
}
function _classCallCheck$7(t7, e) {
  if (!(t7 instanceof e))
    throw new TypeError("Cannot call a class as a function");
}
function _possibleConstructorReturn$3(t7, e) {
  if (!t7)
    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
  return !e || typeof e != "object" && typeof e != "function" ? t7 : e;
}
function _inherits$3(t7, e) {
  if (typeof e != "function" && e !== null)
    throw new TypeError("Super expression must either be null or a function, not " + typeof e);
  t7.prototype = Object.create(e && e.prototype, { constructor: { value: t7, enumerable: false, writable: true, configurable: true } }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t7, e) : t7.__proto__ = e);
}
function _toConsumableArray$6(t7) {
  if (Array.isArray(t7)) {
    for (var e = 0, n = Array(t7.length); e < t7.length; e++)
      n[e] = t7[e];
    return n;
  }
  return Array.from(t7);
}
function dataPrep(t7, e) {
  t7.labels = t7.labels || [];
  var n = t7.labels.length, i = t7.datasets, a = new Array(n).fill(0);
  return i || (i = [{ values: a }]), i.map(function(t8) {
    if (t8.values) {
      var i2 = t8.values;
      i2 = (i2 = i2.map(function(t9) {
        return isNaN(t9) ? 0 : t9;
      })).length > n ? i2.slice(0, n) : fillArray(i2, n - i2.length, 0), t8.values = i2;
    } else
      t8.values = a;
    t8.chartType || (AXIS_DATASET_CHART_TYPES.includes(e), t8.chartType = e);
  }), t7.yRegions && t7.yRegions.map(function(t8) {
    if (t8.end < t8.start) {
      var e2 = [t8.end, t8.start];
      t8.start = e2[0], t8.end = e2[1];
    }
  }), t7;
}
function zeroDataPrep(t7) {
  var e = t7.labels.length, n = new Array(e).fill(0), i = { labels: t7.labels.slice(0, -1), datasets: t7.datasets.map(function(t8) {
    return { name: "", values: n.slice(0, -1), chartType: t8.chartType };
  }) };
  return t7.yMarkers && (i.yMarkers = [{ value: 0, label: "" }]), t7.yRegions && (i.yRegions = [{ start: 0, end: 0, label: "" }]), i;
}
function getShortenedLabels(t7) {
  var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [], n = !(arguments.length > 2 && arguments[2] !== void 0) || arguments[2], i = t7 / e.length;
  i <= 0 && (i = 1);
  var a = i / DEFAULT_CHAR_WIDTH, r = void 0;
  if (n) {
    var o = Math.max.apply(Math, _toConsumableArray$6(e.map(function(t8) {
      return t8.length;
    })));
    r = Math.ceil(o / a);
  }
  return e.map(function(t8, e2) {
    return (t8 += "").length > a && (n ? e2 % r != 0 && (t8 = "") : t8 = a - 3 > 0 ? t8.slice(0, a - 3) + " ..." : t8.slice(0, a) + ".."), t8;
  });
}
function _toConsumableArray$5(t7) {
  if (Array.isArray(t7)) {
    for (var e = 0, n = Array(t7.length); e < t7.length; e++)
      n[e] = t7[e];
    return n;
  }
  return Array.from(t7);
}
function _classCallCheck$8(t7, e) {
  if (!(t7 instanceof e))
    throw new TypeError("Cannot call a class as a function");
}
function _possibleConstructorReturn$4(t7, e) {
  if (!t7)
    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
  return !e || typeof e != "object" && typeof e != "function" ? t7 : e;
}
function _inherits$4(t7, e) {
  if (typeof e != "function" && e !== null)
    throw new TypeError("Super expression must either be null or a function, not " + typeof e);
  t7.prototype = Object.create(e && e.prototype, { constructor: { value: t7, enumerable: false, writable: true, configurable: true } }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t7, e) : t7.__proto__ = e);
}
function _toConsumableArray$7(t7) {
  if (Array.isArray(t7)) {
    for (var e = 0, n = Array(t7.length); e < t7.length; e++)
      n[e] = t7[e];
    return n;
  }
  return Array.from(t7);
}
function _classCallCheck$9(t7, e) {
  if (!(t7 instanceof e))
    throw new TypeError("Cannot call a class as a function");
}
function _possibleConstructorReturn$5(t7, e) {
  if (!t7)
    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
  return !e || typeof e != "object" && typeof e != "function" ? t7 : e;
}
function _inherits$5(t7, e) {
  if (typeof e != "function" && e !== null)
    throw new TypeError("Super expression must either be null or a function, not " + typeof e);
  t7.prototype = Object.create(e && e.prototype, { constructor: { value: t7, enumerable: false, writable: true, configurable: true } }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t7, e) : t7.__proto__ = e);
}
function _classCallCheck(t7, e) {
  if (!(t7 instanceof e))
    throw new TypeError("Cannot call a class as a function");
}
function getChartByType() {
  var t7 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "line", e = arguments[1], n = arguments[2];
  return t7 === "axis-mixed" ? (n.type = "line", new AxisChart(e, n)) : chartTypes[t7] ? new chartTypes[t7](e, n) : void console.error("Undefined chart type: " + t7);
}
var css_248z = '.chart-container{position:relative;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.chart-container .axis,.chart-container .chart-label{fill:#555b51}.chart-container .axis line,.chart-container .chart-label line{stroke:#dadada}.chart-container .dataset-units circle{stroke:#fff;stroke-width:2}.chart-container .dataset-units path{fill:none;stroke-opacity:1;stroke-width:2px}.chart-container .dataset-path{stroke-width:2px}.chart-container .path-group path{fill:none;stroke-opacity:1;stroke-width:2px}.chart-container line.dashed{stroke-dasharray:5,3}.chart-container .axis-line .specific-value{text-anchor:start}.chart-container .axis-line .y-line{text-anchor:end}.chart-container .axis-line .x-line{text-anchor:middle}.chart-container .legend-dataset-text{fill:#6c7680;font-weight:600}.graph-svg-tip{position:absolute;z-index:99999;padding:10px;font-size:12px;color:#959da5;text-align:center;background:rgba(0,0,0,.8);border-radius:3px}.graph-svg-tip ol,.graph-svg-tip ul{padding-left:0;display:-webkit-box;display:-ms-flexbox;display:flex}.graph-svg-tip ul.data-point-list li{min-width:90px;-webkit-box-flex:1;-ms-flex:1;flex:1;font-weight:600}.graph-svg-tip strong{color:#dfe2e5;font-weight:600}.graph-svg-tip .svg-pointer{position:absolute;height:5px;margin:0 0 0 -5px;content:" ";border:5px solid transparent;border-top-color:rgba(0,0,0,.8)}.graph-svg-tip.comparison{padding:0;text-align:left;pointer-events:none}.graph-svg-tip.comparison .title{display:block;padding:10px;margin:0;font-weight:600;line-height:1;pointer-events:none}.graph-svg-tip.comparison ul{margin:0;white-space:nowrap;list-style:none}.graph-svg-tip.comparison li{display:inline-block;padding:5px 10px}';
styleInject(css_248z);
var _typeof = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t7) {
  return typeof t7;
} : function(t7) {
  return t7 && typeof Symbol == "function" && t7.constructor === Symbol && t7 !== Symbol.prototype ? "symbol" : typeof t7;
};
$.create = function(t7, e) {
  var n = document.createElement(t7);
  for (var i in e) {
    var a = e[i];
    if (i === "inside")
      $(a).appendChild(n);
    else if (i === "around") {
      var r = $(a);
      r.parentNode.insertBefore(n, r), n.appendChild(r);
    } else
      i === "styles" ? (a === void 0 ? "undefined" : _typeof(a)) === "object" && Object.keys(a).map(function(t8) {
        n.style[t8] = a[t8];
      }) : i in n ? n[i] = a : n.setAttribute(i, a);
  }
  return n;
};
var BASE_MEASURES = { margins: { top: 10, bottom: 10, left: 20, right: 20 }, paddings: { top: 20, bottom: 40, left: 30, right: 10 }, baseHeight: 240, titleHeight: 20, legendHeight: 30, titleFontSize: 12 };
var INIT_CHART_UPDATE_TIMEOUT = 700;
var CHART_POST_ANIMATE_TIMEOUT = 400;
var AXIS_DATASET_CHART_TYPES = ["line", "bar"];
var AXIS_LEGEND_BAR_SIZE = 100;
var BAR_CHART_SPACE_RATIO = 0.5;
var MIN_BAR_PERCENT_HEIGHT = 0;
var LINE_CHART_DOT_SIZE = 4;
var DOT_OVERLAY_SIZE_INCR = 4;
var PERCENTAGE_BAR_DEFAULT_HEIGHT = 20;
var PERCENTAGE_BAR_DEFAULT_DEPTH = 2;
var HEATMAP_DISTRIBUTION_SIZE = 5;
var HEATMAP_SQUARE_SIZE = 10;
var HEATMAP_GUTTER_SIZE = 2;
var DEFAULT_CHAR_WIDTH = 7;
var TOOLTIP_POINTER_TRIANGLE_HEIGHT = 5;
var DEFAULT_CHART_COLORS = ["light-blue", "blue", "violet", "red", "orange", "yellow", "green", "light-green", "purple", "magenta", "light-grey", "dark-grey"];
var HEATMAP_COLORS_GREEN = ["#ebedf0", "#c6e48b", "#7bc96f", "#239a3b", "#196127"];
var DEFAULT_COLORS = { bar: DEFAULT_CHART_COLORS, line: DEFAULT_CHART_COLORS, pie: DEFAULT_CHART_COLORS, percentage: DEFAULT_CHART_COLORS, heatmap: HEATMAP_COLORS_GREEN, donut: DEFAULT_CHART_COLORS };
var ANGLE_RATIO = Math.PI / 180;
var FULL_ANGLE = 360;
var _createClass$3 = function() {
  function t7(t8, e) {
    for (var n = 0; n < e.length; n++) {
      var i = e[n];
      i.enumerable = i.enumerable || false, i.configurable = true, "value" in i && (i.writable = true), Object.defineProperty(t8, i.key, i);
    }
  }
  return function(e, n, i) {
    return n && t7(e.prototype, n), i && t7(e, i), e;
  };
}();
var SvgTip = function() {
  function t7(e) {
    var n = e.parent, i = n === void 0 ? null : n, a = e.colors, r = a === void 0 ? [] : a;
    _classCallCheck$4(this, t7), this.parent = i, this.colors = r, this.titleName = "", this.titleValue = "", this.listValues = [], this.titleValueFirst = 0, this.x = 0, this.y = 0, this.top = 0, this.left = 0, this.setup();
  }
  return _createClass$3(t7, [{ key: "setup", value: function() {
    this.makeTooltip();
  } }, { key: "refresh", value: function() {
    this.fill(), this.calcPosition();
  } }, { key: "makeTooltip", value: function() {
    var t8 = this;
    this.container = $.create("div", { inside: this.parent, className: "graph-svg-tip comparison", innerHTML: '<span class="title"></span>\n				<ul class="data-point-list"></ul>\n				<div class="svg-pointer"></div>' }), this.hideTip(), this.title = this.container.querySelector(".title"), this.dataPointList = this.container.querySelector(".data-point-list"), this.parent.addEventListener("mouseleave", function() {
      t8.hideTip();
    });
  } }, { key: "fill", value: function() {
    var t8 = this, e = void 0;
    this.index && this.container.setAttribute("data-point-index", this.index), e = this.titleValueFirst ? "<strong>" + this.titleValue + "</strong>" + this.titleName : this.titleName + "<strong>" + this.titleValue + "</strong>", this.title.innerHTML = e, this.dataPointList.innerHTML = "", this.listValues.map(function(e2, n) {
      var i = t8.colors[n] || "black", a = e2.formatted === 0 || e2.formatted ? e2.formatted : e2.value, r = $.create("li", { styles: { "border-top": "3px solid " + i }, innerHTML: '<strong style="display: block;">' + (a === 0 || a ? a : "") + "</strong>\n					" + (e2.title ? e2.title : "") });
      t8.dataPointList.appendChild(r);
    });
  } }, { key: "calcPosition", value: function() {
    var t8 = this.container.offsetWidth;
    this.top = this.y - this.container.offsetHeight - TOOLTIP_POINTER_TRIANGLE_HEIGHT, this.left = this.x - t8 / 2;
    var e = this.parent.offsetWidth - t8, n = this.container.querySelector(".svg-pointer");
    if (this.left < 0)
      n.style.left = "calc(50% - " + -1 * this.left + "px)", this.left = 0;
    else if (this.left > e) {
      var i = "calc(50% + " + (this.left - e) + "px)";
      n.style.left = i, this.left = e;
    } else
      n.style.left = "50%";
  } }, { key: "setValues", value: function(t8, e) {
    var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : [], a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : -1;
    this.titleName = n.name, this.titleValue = n.value, this.listValues = i, this.x = t8, this.y = e, this.titleValueFirst = n.valueFirst || 0, this.index = a, this.refresh();
  } }, { key: "hideTip", value: function() {
    this.container.style.top = "0px", this.container.style.left = "0px", this.container.style.opacity = "0";
  } }, { key: "showTip", value: function() {
    this.container.style.top = this.top + "px", this.container.style.left = this.left + "px", this.container.style.opacity = "1";
  } }]), t7;
}();
var _typeof$2 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t7) {
  return typeof t7;
} : function(t7) {
  return t7 && typeof Symbol == "function" && t7.constructor === Symbol && t7 !== Symbol.prototype ? "symbol" : typeof t7;
};
var PRESET_COLOR_MAP = { "light-blue": "#7cd6fd", blue: "#5e64ff", violet: "#743ee2", red: "#ff5858", orange: "#ffa00a", yellow: "#feef72", green: "#28a745", "light-green": "#98d85b", purple: "#b554ff", magenta: "#ffa3ef", black: "#36114C", grey: "#bdd3e6", "light-grey": "#f0f4f7", "dark-grey": "#b8c2cc" };
var getColor = function(t7) {
  return /rgb[a]{0,1}\([\d, ]+\)/gim.test(t7) ? /\D+(\d*)\D+(\d*)\D+(\d*)/gim.exec(t7).map(function(t8, e) {
    return e !== 0 ? Number(t8).toString(16) : "#";
  }).reduce(function(t8, e) {
    return "" + t8 + e;
  }) : PRESET_COLOR_MAP[t7] || t7;
};
var _slicedToArray = function() {
  function t7(t8, e) {
    var n = [], i = true, a = false, r = void 0;
    try {
      for (var o, s = t8[Symbol.iterator](); !(i = (o = s.next()).done) && (n.push(o.value), !e || n.length !== e); i = true)
        ;
    } catch (t9) {
      a = true, r = t9;
    } finally {
      try {
        !i && s.return && s.return();
      } finally {
        if (a)
          throw r;
      }
    }
    return n;
  }
  return function(e, n) {
    if (Array.isArray(e))
      return e;
    if (Symbol.iterator in Object(e))
      return t7(e, n);
    throw new TypeError("Invalid attempt to destructure non-iterable instance");
  };
}();
var _typeof$1 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t7) {
  return typeof t7;
} : function(t7) {
  return t7 && typeof Symbol == "function" && t7.constructor === Symbol && t7 !== Symbol.prototype ? "symbol" : typeof t7;
};
var AXIS_TICK_LENGTH = 6;
var LABEL_MARGIN = 4;
var LABEL_MAX_CHARS = 15;
var FONT_SIZE = 10;
var BASE_LINE_COLOR = "#dadada";
var FONT_FILL = "#555b51";
var makeOverlay = { bar: function(t7) {
  var e = void 0;
  t7.nodeName !== "rect" && (e = t7.getAttribute("transform"), t7 = t7.childNodes[0]);
  var n = t7.cloneNode();
  return n.style.fill = "#000000", n.style.opacity = "0.4", e && n.setAttribute("transform", e), n;
}, dot: function(t7) {
  var e = void 0;
  t7.nodeName !== "circle" && (e = t7.getAttribute("transform"), t7 = t7.childNodes[0]);
  var n = t7.cloneNode(), i = t7.getAttribute("r"), a = t7.getAttribute("fill");
  return n.setAttribute("r", parseInt(i) + DOT_OVERLAY_SIZE_INCR), n.setAttribute("fill", a), n.style.opacity = "0.6", e && n.setAttribute("transform", e), n;
}, heat_square: function(t7) {
  var e = void 0;
  t7.nodeName !== "circle" && (e = t7.getAttribute("transform"), t7 = t7.childNodes[0]);
  var n = t7.cloneNode(), i = t7.getAttribute("r"), a = t7.getAttribute("fill");
  return n.setAttribute("r", parseInt(i) + DOT_OVERLAY_SIZE_INCR), n.setAttribute("fill", a), n.style.opacity = "0.6", e && n.setAttribute("transform", e), n;
} };
var updateOverlay = { bar: function(t7, e) {
  var n = void 0;
  t7.nodeName !== "rect" && (n = t7.getAttribute("transform"), t7 = t7.childNodes[0]);
  var i = ["x", "y", "width", "height"];
  Object.values(t7.attributes).filter(function(t8) {
    return i.includes(t8.name) && t8.specified;
  }).map(function(t8) {
    e.setAttribute(t8.name, t8.nodeValue);
  }), n && e.setAttribute("transform", n);
}, dot: function(t7, e) {
  var n = void 0;
  t7.nodeName !== "circle" && (n = t7.getAttribute("transform"), t7 = t7.childNodes[0]);
  var i = ["cx", "cy"];
  Object.values(t7.attributes).filter(function(t8) {
    return i.includes(t8.name) && t8.specified;
  }).map(function(t8) {
    e.setAttribute(t8.name, t8.nodeValue);
  }), n && e.setAttribute("transform", n);
}, heat_square: function(t7, e) {
  var n = void 0;
  t7.nodeName !== "circle" && (n = t7.getAttribute("transform"), t7 = t7.childNodes[0]);
  var i = ["cx", "cy"];
  Object.values(t7.attributes).filter(function(t8) {
    return i.includes(t8.name) && t8.specified;
  }).map(function(t8) {
    e.setAttribute(t8.name, t8.nodeValue);
  }), n && e.setAttribute("transform", n);
} };
var _slicedToArray$2 = function() {
  function t7(t8, e) {
    var n = [], i = true, a = false, r = void 0;
    try {
      for (var o, s = t8[Symbol.iterator](); !(i = (o = s.next()).done) && (n.push(o.value), !e || n.length !== e); i = true)
        ;
    } catch (t9) {
      a = true, r = t9;
    } finally {
      try {
        !i && s.return && s.return();
      } finally {
        if (a)
          throw r;
      }
    }
    return n;
  }
  return function(e, n) {
    if (Array.isArray(e))
      return e;
    if (Symbol.iterator in Object(e))
      return t7(e, n);
    throw new TypeError("Invalid attempt to destructure non-iterable instance");
  };
}();
var UNIT_ANIM_DUR = 350;
var PATH_ANIM_DUR = 350;
var MARKER_LINE_ANIM_DUR = UNIT_ANIM_DUR;
var REPLACE_ALL_NEW_DUR = 250;
var STD_EASING = "easein";
var _slicedToArray$1 = function() {
  function t7(t8, e) {
    var n = [], i = true, a = false, r = void 0;
    try {
      for (var o, s = t8[Symbol.iterator](); !(i = (o = s.next()).done) && (n.push(o.value), !e || n.length !== e); i = true)
        ;
    } catch (t9) {
      a = true, r = t9;
    } finally {
      try {
        !i && s.return && s.return();
      } finally {
        if (a)
          throw r;
      }
    }
    return n;
  }
  return function(e, n) {
    if (Array.isArray(e))
      return e;
    if (Symbol.iterator in Object(e))
      return t7(e, n);
    throw new TypeError("Invalid attempt to destructure non-iterable instance");
  };
}();
var EASING = { ease: "0.25 0.1 0.25 1", linear: "0 0 1 1", easein: "0.1 0.8 0.2 1", easeout: "0 0 0.58 1", easeinout: "0.42 0 0.58 1" };
var CSSTEXT = ".chart-container{position:relative;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Cantarell','Fira Sans','Droid Sans','Helvetica Neue',sans-serif}.chart-container .axis,.chart-container .chart-label{fill:#555b51}.chart-container .axis line,.chart-container .chart-label line{stroke:#dadada}.chart-container .dataset-units circle{stroke:#fff;stroke-width:2}.chart-container .dataset-units path{fill:none;stroke-opacity:1;stroke-width:2px}.chart-container .dataset-path{stroke-width:2px}.chart-container .path-group path{fill:none;stroke-opacity:1;stroke-width:2px}.chart-container line.dashed{stroke-dasharray:5,3}.chart-container .axis-line .specific-value{text-anchor:start}.chart-container .axis-line .y-line{text-anchor:end}.chart-container .axis-line .x-line{text-anchor:middle}.chart-container .legend-dataset-text{fill:#6c7680;font-weight:600}.graph-svg-tip{position:absolute;z-index:99999;padding:10px;font-size:12px;color:#959da5;text-align:center;background:rgba(0,0,0,.8);border-radius:3px}.graph-svg-tip ul{padding-left:0;display:flex}.graph-svg-tip ol{padding-left:0;display:flex}.graph-svg-tip ul.data-point-list li{min-width:90px;flex:1;font-weight:600}.graph-svg-tip strong{color:#dfe2e5;font-weight:600}.graph-svg-tip .svg-pointer{position:absolute;height:5px;margin:0 0 0 -5px;content:' ';border:5px solid transparent;border-top-color:rgba(0,0,0,.8)}.graph-svg-tip.comparison{padding:0;text-align:left;pointer-events:none}.graph-svg-tip.comparison .title{display:block;padding:10px;margin:0;font-weight:600;line-height:1;pointer-events:none}.graph-svg-tip.comparison ul{margin:0;white-space:nowrap;list-style:none}.graph-svg-tip.comparison li{display:inline-block;padding:5px 10px}";
var _createClass$2 = function() {
  function t7(t8, e) {
    for (var n = 0; n < e.length; n++) {
      var i = e[n];
      i.enumerable = i.enumerable || false, i.configurable = true, "value" in i && (i.writable = true), Object.defineProperty(t8, i.key, i);
    }
  }
  return function(e, n, i) {
    return n && t7(e.prototype, n), i && t7(e, i), e;
  };
}();
var BaseChart = function() {
  function t7(e, n) {
    if (_classCallCheck$3(this, t7), n = deepClone(n), this.parent = typeof e == "string" ? document.querySelector(e) : e, !(this.parent instanceof HTMLElement))
      throw new Error("No `parent` element to render on was provided.");
    this.rawChartArgs = n, this.title = n.title || "", this.type = n.type || "", this.realData = this.prepareData(n.data), this.data = this.prepareFirstData(this.realData), this.colors = this.validateColors(n.colors, this.type), this.config = { showTooltip: 1, showLegend: 1, isNavigable: n.isNavigable || 0, animate: n.animate !== void 0 ? n.animate : 1, truncateLegends: n.truncateLegends || 1 }, this.measures = JSON.parse(JSON.stringify(BASE_MEASURES));
    var i = this.measures;
    this.setMeasures(n), this.title.length || (i.titleHeight = 0), this.config.showLegend || (i.legendHeight = 0), this.argHeight = n.height || i.baseHeight, this.state = {}, this.options = {}, this.initTimeout = INIT_CHART_UPDATE_TIMEOUT, this.config.isNavigable && (this.overlays = []), this.configure(n);
  }
  return _createClass$2(t7, [{ key: "prepareData", value: function(t8) {
    return t8;
  } }, { key: "prepareFirstData", value: function(t8) {
    return t8;
  } }, { key: "validateColors", value: function(t8, e) {
    var n = [];
    return (t8 = (t8 || []).concat(DEFAULT_COLORS[e])).forEach(function(t9) {
      var e2 = getColor(t9);
      isValidColor(e2) ? n.push(e2) : console.warn('"' + t9 + '" is not a valid color.');
    }), n;
  } }, { key: "setMeasures", value: function() {
  } }, { key: "configure", value: function() {
    var t8 = this, e = this.argHeight;
    this.baseHeight = e, this.height = e - getExtraHeight(this.measures), this.boundDrawFn = function() {
      return t8.draw(true);
    }, ResizeObserver && (this.resizeObserver = new ResizeObserver(this.boundDrawFn), this.resizeObserver.observe(this.parent)), window.addEventListener("resize", this.boundDrawFn), window.addEventListener("orientationchange", this.boundDrawFn);
  } }, { key: "destroy", value: function() {
    this.resizeObserver && this.resizeObserver.disconnect(), window.removeEventListener("resize", this.boundDrawFn), window.removeEventListener("orientationchange", this.boundDrawFn);
  } }, { key: "setup", value: function() {
    this.makeContainer(), this.updateWidth(), this.makeTooltip(), this.draw(false, true);
  } }, { key: "makeContainer", value: function() {
    this.parent.innerHTML = "";
    var t8 = { inside: this.parent, className: "chart-container" };
    this.independentWidth && (t8.styles = { width: this.independentWidth + "px" }), this.container = $.create("div", t8);
  } }, { key: "makeTooltip", value: function() {
    this.tip = new SvgTip({ parent: this.container, colors: this.colors }), this.bindTooltip();
  } }, { key: "bindTooltip", value: function() {
  } }, { key: "draw", value: function() {
    var t8 = this, e = arguments.length > 0 && arguments[0] !== void 0 && arguments[0], n = arguments.length > 1 && arguments[1] !== void 0 && arguments[1];
    e && isHidden(this.parent) || (this.updateWidth(), this.calc(e), this.makeChartArea(), this.setupComponents(), this.components.forEach(function(e2) {
      return e2.setup(t8.drawArea);
    }), this.render(this.components, false), n && (this.data = this.realData, setTimeout(function() {
      t8.update(t8.data);
    }, this.initTimeout)), this.renderLegend(), this.setupNavigation(n));
  } }, { key: "calc", value: function() {
  } }, { key: "updateWidth", value: function() {
    this.baseWidth = getElementContentWidth(this.parent), this.width = this.baseWidth - getExtraWidth(this.measures);
  } }, { key: "makeChartArea", value: function() {
    this.svg && this.container.removeChild(this.svg);
    var t8 = this.measures;
    this.svg = makeSVGContainer(this.container, "frappe-chart chart", this.baseWidth, this.baseHeight), this.svgDefs = makeSVGDefs(this.svg), this.title.length && (this.titleEL = makeText("title", t8.margins.left, t8.margins.top, this.title, { fontSize: t8.titleFontSize, fill: "#666666", dy: t8.titleFontSize }));
    var e = getTopOffset(t8);
    this.drawArea = makeSVGGroup(this.type + "-chart chart-draw-area", "translate(" + getLeftOffset(t8) + ", " + e + ")"), this.config.showLegend && (e += this.height + t8.paddings.bottom, this.legendArea = makeSVGGroup("chart-legend", "translate(" + getLeftOffset(t8) + ", " + e + ")")), this.title.length && this.svg.appendChild(this.titleEL), this.svg.appendChild(this.drawArea), this.config.showLegend && this.svg.appendChild(this.legendArea), this.updateTipOffset(getLeftOffset(t8), getTopOffset(t8));
  } }, { key: "updateTipOffset", value: function(t8, e) {
    this.tip.offset = { x: t8, y: e };
  } }, { key: "setupComponents", value: function() {
    this.components = new Map();
  } }, { key: "update", value: function(t8) {
    t8 || console.error("No data to update."), this.data = this.prepareData(t8), this.calc(), this.render(this.components, this.config.animate), this.renderLegend();
  } }, { key: "render", value: function() {
    var t8 = this, e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : this.components, n = !(arguments.length > 1 && arguments[1] !== void 0) || arguments[1];
    this.config.isNavigable && this.overlays.map(function(t9) {
      return t9.parentNode.removeChild(t9);
    });
    var i = [];
    e.forEach(function(t9) {
      i = i.concat(t9.update(n));
    }), i.length > 0 ? (runSMILAnimation(this.container, this.svg, i), setTimeout(function() {
      e.forEach(function(t9) {
        return t9.make();
      }), t8.updateNav();
    }, CHART_POST_ANIMATE_TIMEOUT)) : (e.forEach(function(t9) {
      return t9.make();
    }), this.updateNav());
  } }, { key: "updateNav", value: function() {
    this.config.isNavigable && (this.makeOverlay(), this.bindUnits());
  } }, { key: "renderLegend", value: function() {
  } }, { key: "setupNavigation", value: function() {
    var t8 = this, e = arguments.length > 0 && arguments[0] !== void 0 && arguments[0];
    this.config.isNavigable && e && (this.bindOverlay(), this.keyActions = { 13: this.onEnterKey.bind(this), 37: this.onLeftArrow.bind(this), 38: this.onUpArrow.bind(this), 39: this.onRightArrow.bind(this), 40: this.onDownArrow.bind(this) }, document.addEventListener("keydown", function(e2) {
      isElementInViewport(t8.container) && (e2 = e2 || window.event, t8.keyActions[e2.keyCode] && t8.keyActions[e2.keyCode]());
    }));
  } }, { key: "makeOverlay", value: function() {
  } }, { key: "updateOverlay", value: function() {
  } }, { key: "bindOverlay", value: function() {
  } }, { key: "bindUnits", value: function() {
  } }, { key: "onLeftArrow", value: function() {
  } }, { key: "onRightArrow", value: function() {
  } }, { key: "onUpArrow", value: function() {
  } }, { key: "onDownArrow", value: function() {
  } }, { key: "onEnterKey", value: function() {
  } }, { key: "addDataPoint", value: function() {
  } }, { key: "removeDataPoint", value: function() {
  } }, { key: "getDataPoint", value: function() {
  } }, { key: "setCurrentDataPoint", value: function() {
  } }, { key: "updateDataset", value: function() {
  } }, { key: "export", value: function() {
    var t8 = prepareForExport(this.svg);
    downloadFile(this.title || "Chart", [t8]);
  } }]), t7;
}();
var _createClass$1 = function() {
  function t7(t8, e) {
    for (var n = 0; n < e.length; n++) {
      var i = e[n];
      i.enumerable = i.enumerable || false, i.configurable = true, "value" in i && (i.writable = true), Object.defineProperty(t8, i.key, i);
    }
  }
  return function(e, n, i) {
    return n && t7(e.prototype, n), i && t7(e, i), e;
  };
}();
var _get$1 = function t(e, n, i) {
  e === null && (e = Function.prototype);
  var a = Object.getOwnPropertyDescriptor(e, n);
  if (a === void 0) {
    var r = Object.getPrototypeOf(e);
    return r === null ? void 0 : t(r, n, i);
  }
  if ("value" in a)
    return a.value;
  var o = a.get;
  if (o !== void 0)
    return o.call(i);
};
var AggregationChart = function(t7) {
  function e(t8, n) {
    return _classCallCheck$2(this, e), _possibleConstructorReturn$1(this, (e.__proto__ || Object.getPrototypeOf(e)).call(this, t8, n));
  }
  return _inherits$1(e, t7), _createClass$1(e, [{ key: "configure", value: function(t8) {
    _get$1(e.prototype.__proto__ || Object.getPrototypeOf(e.prototype), "configure", this).call(this, t8), this.config.formatTooltipY = (t8.tooltipOptions || {}).formatTooltipY, this.config.maxSlices = t8.maxSlices || 20, this.config.maxLegendPoints = t8.maxLegendPoints || 20;
  } }, { key: "calc", value: function() {
    var t8 = this, e2 = this.state, n = this.config.maxSlices;
    e2.sliceTotals = [];
    var i = this.data.labels.map(function(e3, n2) {
      var i2 = 0;
      return t8.data.datasets.map(function(t9) {
        i2 += t9.values[n2];
      }), [i2, e3];
    }).filter(function(t9) {
      return t9[0] >= 0;
    }), a = i;
    if (i.length > n) {
      i.sort(function(t9, e3) {
        return e3[0] - t9[0];
      }), a = i.slice(0, n - 1);
      var r = 0;
      i.slice(n - 1).map(function(t9) {
        r += t9[0];
      }), a.push([r, "Rest"]), this.colors[n - 1] = "grey";
    }
    e2.labels = [], a.map(function(t9) {
      e2.sliceTotals.push(round(t9[0])), e2.labels.push(t9[1]);
    }), e2.grandTotal = e2.sliceTotals.reduce(function(t9, e3) {
      return t9 + e3;
    }, 0), this.center = { x: this.width / 2, y: this.height / 2 };
  } }, { key: "renderLegend", value: function() {
    var t8 = this, e2 = this.state;
    this.legendArea.textContent = "", this.legendTotals = e2.sliceTotals.slice(0, this.config.maxLegendPoints);
    var n = 0, i = 0;
    this.legendTotals.map(function(a, r) {
      var o = 150, s = Math.floor((t8.width - getExtraWidth(t8.measures)) / o);
      t8.legendTotals.length < s && (o = t8.width / t8.legendTotals.length), n > s && (n = 0, i += 20);
      var l = o * n + 5, u = t8.config.truncateLegends ? truncateString(e2.labels[r], o / 10) : e2.labels[r], c = t8.config.formatTooltipY ? t8.config.formatTooltipY(a) : a, h = legendDot(l, i, 5, t8.colors[r], u + ": " + c, false);
      t8.legendArea.appendChild(h), n++;
    });
  } }]), e;
}(BaseChart);
var NO_OF_YEAR_MONTHS = 12;
var NO_OF_DAYS_IN_WEEK = 7;
var NO_OF_MILLIS = 1e3;
var SEC_IN_DAY = 86400;
var MONTH_NAMES = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var DAY_NAMES_SHORT = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
var _slicedToArray$3 = function() {
  function t7(t8, e) {
    var n = [], i = true, a = false, r = void 0;
    try {
      for (var o, s = t8[Symbol.iterator](); !(i = (o = s.next()).done) && (n.push(o.value), !e || n.length !== e); i = true)
        ;
    } catch (t9) {
      a = true, r = t9;
    } finally {
      try {
        !i && s.return && s.return();
      } finally {
        if (a)
          throw r;
      }
    }
    return n;
  }
  return function(e, n) {
    if (Array.isArray(e))
      return e;
    if (Symbol.iterator in Object(e))
      return t7(e, n);
    throw new TypeError("Invalid attempt to destructure non-iterable instance");
  };
}();
var _createClass$4 = function() {
  function t7(t8, e) {
    for (var n = 0; n < e.length; n++) {
      var i = e[n];
      i.enumerable = i.enumerable || false, i.configurable = true, "value" in i && (i.writable = true), Object.defineProperty(t8, i.key, i);
    }
  }
  return function(e, n, i) {
    return n && t7(e.prototype, n), i && t7(e, i), e;
  };
}();
var ChartComponent = function() {
  function t7(e) {
    var n = e.layerClass, i = n === void 0 ? "" : n, a = e.layerTransform, r = a === void 0 ? "" : a, o = e.constants, s = e.getData, l = e.makeElements, u = e.animateElements;
    _classCallCheck$5(this, t7), this.layerTransform = r, this.constants = o, this.makeElements = l, this.getData = s, this.animateElements = u, this.store = [], this.labels = [], this.layerClass = i, this.layerClass = typeof this.layerClass == "function" ? this.layerClass() : this.layerClass, this.refresh();
  }
  return _createClass$4(t7, [{ key: "refresh", value: function(t8) {
    this.data = t8 || this.getData();
  } }, { key: "setup", value: function(t8) {
    this.layer = makeSVGGroup(this.layerClass, this.layerTransform, t8);
  } }, { key: "make", value: function() {
    this.render(this.data), this.oldData = this.data;
  } }, { key: "render", value: function(t8) {
    var e = this;
    this.store = this.makeElements(t8), this.layer.textContent = "", this.store.forEach(function(t9) {
      e.layer.appendChild(t9);
    }), this.labels.forEach(function(t9) {
      e.layer.appendChild(t9);
    });
  } }, { key: "update", value: function() {
    var t8 = !(arguments.length > 0 && arguments[0] !== void 0) || arguments[0];
    this.refresh();
    var e = [];
    return t8 && (e = this.animateElements(this.data) || []), e;
  } }]), t7;
}();
var componentConfigs = { donutSlices: { layerClass: "donut-slices", makeElements: function(t7) {
  return t7.sliceStrings.map(function(e, n) {
    var i = makePath(e, "donut-path", t7.colors[n], "none", t7.strokeWidth);
    return i.style.transition = "transform .3s;", i;
  });
}, animateElements: function(t7) {
  return this.store.map(function(e, n) {
    return animatePathStr(e, t7.sliceStrings[n]);
  });
} }, pieSlices: { layerClass: "pie-slices", makeElements: function(t7) {
  return t7.sliceStrings.map(function(e, n) {
    var i = makePath(e, "pie-path", "none", t7.colors[n]);
    return i.style.transition = "transform .3s;", i;
  });
}, animateElements: function(t7) {
  return this.store.map(function(e, n) {
    return animatePathStr(e, t7.sliceStrings[n]);
  });
} }, percentageBars: { layerClass: "percentage-bars", makeElements: function(t7) {
  var e = this;
  return t7.xPositions.map(function(n, i) {
    return percentageBar(n, 0, t7.widths[i], e.constants.barHeight, e.constants.barDepth, t7.colors[i]);
  });
}, animateElements: function(t7) {
  if (t7)
    return [];
} }, yAxis: { layerClass: "y axis", makeElements: function(t7) {
  var e = this;
  return t7.positions.map(function(n, i) {
    return yLine(n, t7.labels[i], e.constants.width, { mode: e.constants.mode, pos: e.constants.pos, shortenNumbers: e.constants.shortenNumbers });
  });
}, animateElements: function(t7) {
  var e = t7.positions, n = t7.labels, i = this.oldData.positions, a = this.oldData.labels, r = equilizeNoOfElements(i, e), o = _slicedToArray$3(r, 2);
  i = o[0], e = o[1];
  var s = equilizeNoOfElements(a, n), l = _slicedToArray$3(s, 2);
  return a = l[0], n = l[1], this.render({ positions: i, labels: n }), this.store.map(function(t8, n2) {
    return translateHoriLine(t8, e[n2], i[n2]);
  });
} }, xAxis: { layerClass: "x axis", makeElements: function(t7) {
  var e = this;
  return t7.positions.map(function(n, i) {
    return xLine(n, t7.calcLabels[i], e.constants.height, { mode: e.constants.mode, pos: e.constants.pos });
  });
}, animateElements: function(t7) {
  var e = t7.positions, n = t7.calcLabels, i = this.oldData.positions, a = this.oldData.calcLabels, r = equilizeNoOfElements(i, e), o = _slicedToArray$3(r, 2);
  i = o[0], e = o[1];
  var s = equilizeNoOfElements(a, n), l = _slicedToArray$3(s, 2);
  return a = l[0], n = l[1], this.render({ positions: i, calcLabels: n }), this.store.map(function(t8, n2) {
    return translateVertLine(t8, e[n2], i[n2]);
  });
} }, yMarkers: { layerClass: "y-markers", makeElements: function(t7) {
  var e = this;
  return t7.map(function(t8) {
    return yMarker(t8.position, t8.label, e.constants.width, { labelPos: t8.options.labelPos, mode: "span", lineType: "dashed" });
  });
}, animateElements: function(t7) {
  var e = equilizeNoOfElements(this.oldData, t7), n = _slicedToArray$3(e, 2);
  this.oldData = n[0];
  var i = (t7 = n[1]).map(function(t8) {
    return t8.position;
  }), a = t7.map(function(t8) {
    return t8.label;
  }), r = t7.map(function(t8) {
    return t8.options;
  }), o = this.oldData.map(function(t8) {
    return t8.position;
  });
  return this.render(o.map(function(t8, e2) {
    return { position: o[e2], label: a[e2], options: r[e2] };
  })), this.store.map(function(t8, e2) {
    return translateHoriLine(t8, i[e2], o[e2]);
  });
} }, yRegions: { layerClass: "y-regions", makeElements: function(t7) {
  var e = this;
  return t7.map(function(t8) {
    return yRegion(t8.startPos, t8.endPos, e.constants.width, t8.label, { labelPos: t8.options.labelPos });
  });
}, animateElements: function(t7) {
  var e = equilizeNoOfElements(this.oldData, t7), n = _slicedToArray$3(e, 2);
  this.oldData = n[0];
  var i = (t7 = n[1]).map(function(t8) {
    return t8.endPos;
  }), a = t7.map(function(t8) {
    return t8.label;
  }), r = t7.map(function(t8) {
    return t8.startPos;
  }), o = t7.map(function(t8) {
    return t8.options;
  }), s = this.oldData.map(function(t8) {
    return t8.endPos;
  }), l = this.oldData.map(function(t8) {
    return t8.startPos;
  });
  this.render(s.map(function(t8, e2) {
    return { startPos: l[e2], endPos: s[e2], label: a[e2], options: o[e2] };
  }));
  var u = [];
  return this.store.map(function(t8, e2) {
    u = u.concat(animateRegion(t8, r[e2], i[e2], s[e2]));
  }), u;
} }, heatDomain: { layerClass: function() {
  return "heat-domain domain-" + this.constants.index;
}, makeElements: function(t7) {
  var e = this, n = this.constants, i = n.index, a = n.colWidth, r = n.rowHeight, o = n.squareSize, s = n.radius, l = n.xTranslate, u = 0;
  return this.serializedSubDomains = [], t7.cols.map(function(t8, n2) {
    n2 === 1 && e.labels.push(makeText("domain-name", l, -12, getMonthName(i, true).toUpperCase(), { fontSize: 9 })), t8.map(function(t9, n3) {
      if (t9.fill) {
        var i2 = { "data-date": t9.yyyyMmDd, "data-value": t9.dataValue, "data-day": n3 }, a2 = heatSquare("day", l, u, o, s, t9.fill, i2);
        e.serializedSubDomains.push(a2);
      }
      u += r;
    }), u = 0, l += a;
  }), this.serializedSubDomains;
}, animateElements: function(t7) {
  if (t7)
    return [];
} }, barGraph: { layerClass: function() {
  return "dataset-units dataset-bars dataset-" + this.constants.index;
}, makeElements: function(t7) {
  var e = this.constants;
  return this.unitType = "bar", this.units = t7.yPositions.map(function(n, i) {
    return datasetBar(t7.xPositions[i], n, t7.barWidth, e.color, t7.labels[i], i, t7.offsets[i], { zeroLine: t7.zeroLine, barsWidth: t7.barsWidth, minHeight: e.minHeight });
  }), this.units;
}, animateElements: function(t7) {
  var e = t7.xPositions, n = t7.yPositions, i = t7.offsets, a = t7.labels, r = this.oldData.xPositions, o = this.oldData.yPositions, s = this.oldData.offsets, l = this.oldData.labels, u = equilizeNoOfElements(r, e), c = _slicedToArray$3(u, 2);
  r = c[0], e = c[1];
  var h = equilizeNoOfElements(o, n), d = _slicedToArray$3(h, 2);
  o = d[0], n = d[1];
  var f = equilizeNoOfElements(s, i), p = _slicedToArray$3(f, 2);
  s = p[0], i = p[1];
  var v = equilizeNoOfElements(l, a), g = _slicedToArray$3(v, 2);
  l = g[0], a = g[1], this.render({ xPositions: r, yPositions: o, offsets: s, labels: a, zeroLine: this.oldData.zeroLine, barsWidth: this.oldData.barsWidth, barWidth: this.oldData.barWidth });
  var y = [];
  return this.store.map(function(a2, r2) {
    y = y.concat(animateBar(a2, e[r2], n[r2], t7.barWidth, i[r2], { zeroLine: t7.zeroLine }));
  }), y;
} }, lineGraph: { layerClass: function() {
  return "dataset-units dataset-line dataset-" + this.constants.index;
}, makeElements: function(t7) {
  var e = this.constants;
  return this.unitType = "dot", this.paths = {}, e.hideLine || (this.paths = getPaths(t7.xPositions, t7.yPositions, e.color, { heatline: e.heatline, regionFill: e.regionFill, spline: e.spline }, { svgDefs: e.svgDefs, zeroLine: t7.zeroLine })), this.units = [], e.hideDots || (this.units = t7.yPositions.map(function(n, i) {
    return datasetDot(t7.xPositions[i], n, t7.radius, e.color, e.valuesOverPoints ? t7.values[i] : "", i);
  })), Object.values(this.paths).concat(this.units);
}, animateElements: function(t7) {
  var e = t7.xPositions, n = t7.yPositions, i = t7.values, a = this.oldData.xPositions, r = this.oldData.yPositions, o = this.oldData.values, s = equilizeNoOfElements(a, e), l = _slicedToArray$3(s, 2);
  a = l[0], e = l[1];
  var u = equilizeNoOfElements(r, n), c = _slicedToArray$3(u, 2);
  r = c[0], n = c[1];
  var h = equilizeNoOfElements(o, i), d = _slicedToArray$3(h, 2);
  o = d[0], i = d[1], this.render({ xPositions: a, yPositions: r, values: i, zeroLine: this.oldData.zeroLine, radius: this.oldData.radius });
  var f = [];
  return Object.keys(this.paths).length && (f = f.concat(animatePath(this.paths, e, n, t7.zeroLine, this.constants.spline))), this.units.length && this.units.map(function(t8, i2) {
    f = f.concat(animateDot(t8, e[i2], n[i2]));
  }), f;
} } };
var _createClass = function() {
  function t7(t8, e) {
    for (var n = 0; n < e.length; n++) {
      var i = e[n];
      i.enumerable = i.enumerable || false, i.configurable = true, "value" in i && (i.writable = true), Object.defineProperty(t8, i.key, i);
    }
  }
  return function(e, n, i) {
    return n && t7(e.prototype, n), i && t7(e, i), e;
  };
}();
var _get = function t2(e, n, i) {
  e === null && (e = Function.prototype);
  var a = Object.getOwnPropertyDescriptor(e, n);
  if (a === void 0) {
    var r = Object.getPrototypeOf(e);
    return r === null ? void 0 : t2(r, n, i);
  }
  if ("value" in a)
    return a.value;
  var o = a.get;
  if (o !== void 0)
    return o.call(i);
};
var PercentageChart = function(t7) {
  function e(t8, n) {
    _classCallCheck$1(this, e);
    var i = _possibleConstructorReturn(this, (e.__proto__ || Object.getPrototypeOf(e)).call(this, t8, n));
    return i.type = "percentage", i.setup(), i;
  }
  return _inherits(e, t7), _createClass(e, [{ key: "setMeasures", value: function(t8) {
    var e2 = this.measures;
    this.barOptions = t8.barOptions || {};
    var n = this.barOptions;
    n.height = n.height || PERCENTAGE_BAR_DEFAULT_HEIGHT, n.depth = n.depth || PERCENTAGE_BAR_DEFAULT_DEPTH, e2.paddings.right = 30, e2.legendHeight = 60, e2.baseHeight = 8 * (n.height + 0.5 * n.depth);
  } }, { key: "setupComponents", value: function() {
    var t8 = this.state, e2 = [["percentageBars", { barHeight: this.barOptions.height, barDepth: this.barOptions.depth }, function() {
      return { xPositions: t8.xPositions, widths: t8.widths, colors: this.colors };
    }.bind(this)]];
    this.components = new Map(e2.map(function(t9) {
      var e3 = getComponent.apply(void 0, _toConsumableArray(t9));
      return [t9[0], e3];
    }));
  } }, { key: "calc", value: function() {
    var t8 = this;
    _get(e.prototype.__proto__ || Object.getPrototypeOf(e.prototype), "calc", this).call(this);
    var n = this.state;
    n.xPositions = [], n.widths = [];
    var i = 0;
    n.sliceTotals.map(function(e2) {
      var a = t8.width * e2 / n.grandTotal;
      n.widths.push(a), n.xPositions.push(i), i += a;
    });
  } }, { key: "makeDataByIndex", value: function() {
  } }, { key: "bindTooltip", value: function() {
    var t8 = this, e2 = this.state;
    this.container.addEventListener("mousemove", function(n) {
      var i = t8.components.get("percentageBars").store, a = n.target;
      if (i.includes(a)) {
        var r = i.indexOf(a), o = getOffset(t8.container), s = getOffset(a), l = s.left - o.left + parseInt(a.getAttribute("width")) / 2, u = s.top - o.top, c = (t8.formattedLabels && t8.formattedLabels.length > 0 ? t8.formattedLabels[r] : t8.state.labels[r]) + ": ", h = e2.sliceTotals[r] / e2.grandTotal;
        t8.tip.setValues(l, u, { name: c, value: (100 * h).toFixed(1) + "%" }), t8.tip.showTip();
      }
    });
  } }]), e;
}(AggregationChart);
var _createClass$5 = function() {
  function t7(t8, e) {
    for (var n = 0; n < e.length; n++) {
      var i = e[n];
      i.enumerable = i.enumerable || false, i.configurable = true, "value" in i && (i.writable = true), Object.defineProperty(t8, i.key, i);
    }
  }
  return function(e, n, i) {
    return n && t7(e.prototype, n), i && t7(e, i), e;
  };
}();
var _get$2 = function t3(e, n, i) {
  e === null && (e = Function.prototype);
  var a = Object.getOwnPropertyDescriptor(e, n);
  if (a === void 0) {
    var r = Object.getPrototypeOf(e);
    return r === null ? void 0 : t3(r, n, i);
  }
  if ("value" in a)
    return a.value;
  var o = a.get;
  if (o !== void 0)
    return o.call(i);
};
var PieChart = function(t7) {
  function e(t8, n) {
    _classCallCheck$6(this, e);
    var i = _possibleConstructorReturn$2(this, (e.__proto__ || Object.getPrototypeOf(e)).call(this, t8, n));
    return i.type = "pie", i.initTimeout = 0, i.init = 1, i.setup(), i;
  }
  return _inherits$2(e, t7), _createClass$5(e, [{ key: "configure", value: function(t8) {
    _get$2(e.prototype.__proto__ || Object.getPrototypeOf(e.prototype), "configure", this).call(this, t8), this.mouseMove = this.mouseMove.bind(this), this.mouseLeave = this.mouseLeave.bind(this), this.hoverRadio = t8.hoverRadio || 0.1, this.config.startAngle = t8.startAngle || 0, this.clockWise = t8.clockWise || false;
  } }, { key: "calc", value: function() {
    var t8 = this;
    _get$2(e.prototype.__proto__ || Object.getPrototypeOf(e.prototype), "calc", this).call(this);
    var n = this.state;
    this.radius = this.height > this.width ? this.center.x : this.center.y;
    var i = this.radius, a = this.clockWise, r = n.slicesProperties || [];
    n.sliceStrings = [], n.slicesProperties = [];
    var o = 180 - this.config.startAngle;
    n.sliceTotals.map(function(e2, s) {
      var l = o, u = e2 / n.grandTotal * FULL_ANGLE, c = u > 180 ? 1 : 0, h = a ? -u : u, d = o += h, f = getPositionByAngle(l, i), p = getPositionByAngle(d, i), v = t8.init && r[s], g = void 0, y = void 0;
      t8.init ? (g = v ? v.startPosition : f, y = v ? v.endPosition : f) : (g = f, y = p);
      var m = u === 360 ? makeCircleStr(g, y, t8.center, t8.radius, a, c) : makeArcPathStr(g, y, t8.center, t8.radius, a, c);
      n.sliceStrings.push(m), n.slicesProperties.push({ startPosition: f, endPosition: p, value: e2, total: n.grandTotal, startAngle: l, endAngle: d, angle: h });
    }), this.init = 0;
  } }, { key: "setupComponents", value: function() {
    var t8 = this.state, e2 = [["pieSlices", {}, function() {
      return { sliceStrings: t8.sliceStrings, colors: this.colors };
    }.bind(this)]];
    this.components = new Map(e2.map(function(t9) {
      var e3 = getComponent.apply(void 0, _toConsumableArray$2(t9));
      return [t9[0], e3];
    }));
  } }, { key: "calTranslateByAngle", value: function(t8) {
    var e2 = this.radius, n = this.hoverRadio, i = getPositionByAngle(t8.startAngle + t8.angle / 2, e2);
    return "translate3d(" + i.x * n + "px," + i.y * n + "px,0)";
  } }, { key: "hoverSlice", value: function(t8, e2, n, i) {
    if (t8) {
      var a = this.colors[e2];
      if (n) {
        transform(t8, this.calTranslateByAngle(this.state.slicesProperties[e2])), t8.style.fill = lightenDarkenColor(a, 50);
        var r = getOffset(this.svg), o = i.pageX - r.left + 10, s = i.pageY - r.top - 10, l = (this.formatted_labels && this.formatted_labels.length > 0 ? this.formatted_labels[e2] : this.state.labels[e2]) + ": ", u = (100 * this.state.sliceTotals[e2] / this.state.grandTotal).toFixed(1);
        this.tip.setValues(o, s, { name: l, value: u + "%" }), this.tip.showTip();
      } else
        transform(t8, "translate3d(0,0,0)"), this.tip.hideTip(), t8.style.fill = a;
    }
  } }, { key: "bindTooltip", value: function() {
    this.container.addEventListener("mousemove", this.mouseMove), this.container.addEventListener("mouseleave", this.mouseLeave);
  } }, { key: "mouseMove", value: function(t8) {
    var e2 = t8.target, n = this.components.get("pieSlices").store, i = this.curActiveSliceIndex, a = this.curActiveSlice;
    if (n.includes(e2)) {
      var r = n.indexOf(e2);
      this.hoverSlice(a, i, false), this.curActiveSlice = e2, this.curActiveSliceIndex = r, this.hoverSlice(e2, r, true, t8);
    } else
      this.mouseLeave();
  } }, { key: "mouseLeave", value: function() {
    this.hoverSlice(this.curActiveSlice, this.curActiveSliceIndex, false);
  } }]), e;
}(AggregationChart);
var _slicedToArray$4 = function() {
  function t7(t8, e) {
    var n = [], i = true, a = false, r = void 0;
    try {
      for (var o, s = t8[Symbol.iterator](); !(i = (o = s.next()).done) && (n.push(o.value), !e || n.length !== e); i = true)
        ;
    } catch (t9) {
      a = true, r = t9;
    } finally {
      try {
        !i && s.return && s.return();
      } finally {
        if (a)
          throw r;
      }
    }
    return n;
  }
  return function(e, n) {
    if (Array.isArray(e))
      return e;
    if (Symbol.iterator in Object(e))
      return t7(e, n);
    throw new TypeError("Invalid attempt to destructure non-iterable instance");
  };
}();
var _createClass$6 = function() {
  function t7(t8, e) {
    for (var n = 0; n < e.length; n++) {
      var i = e[n];
      i.enumerable = i.enumerable || false, i.configurable = true, "value" in i && (i.writable = true), Object.defineProperty(t8, i.key, i);
    }
  }
  return function(e, n, i) {
    return n && t7(e.prototype, n), i && t7(e, i), e;
  };
}();
var COL_WIDTH = HEATMAP_SQUARE_SIZE + HEATMAP_GUTTER_SIZE;
var ROW_HEIGHT = COL_WIDTH;
var Heatmap = function(t7) {
  function e(t8, n) {
    _classCallCheck$7(this, e);
    var i = _possibleConstructorReturn$3(this, (e.__proto__ || Object.getPrototypeOf(e)).call(this, t8, n));
    i.type = "heatmap", i.countLabel = n.countLabel || "";
    var a = ["Sunday", "Monday"], r = a.includes(n.startSubDomain) ? n.startSubDomain : "Sunday";
    return i.startSubDomainIndex = a.indexOf(r), i.setup(), i;
  }
  return _inherits$3(e, t7), _createClass$6(e, [{ key: "setMeasures", value: function(t8) {
    var e2 = this.measures;
    this.discreteDomains = t8.discreteDomains === 0 ? 0 : 1, e2.paddings.top = 3 * ROW_HEIGHT, e2.paddings.bottom = 0, e2.legendHeight = 2 * ROW_HEIGHT, e2.baseHeight = ROW_HEIGHT * NO_OF_DAYS_IN_WEEK + getExtraHeight(e2);
    var n = this.data, i = this.discreteDomains ? NO_OF_YEAR_MONTHS : 0;
    this.independentWidth = (getWeeksBetween(n.start, n.end) + i) * COL_WIDTH + getExtraWidth(e2);
  } }, { key: "updateWidth", value: function() {
    var t8 = this.discreteDomains ? NO_OF_YEAR_MONTHS : 0, e2 = this.state.noOfWeeks ? this.state.noOfWeeks : 52;
    this.baseWidth = (e2 + t8) * COL_WIDTH + getExtraWidth(this.measures);
  } }, { key: "prepareData", value: function() {
    var t8 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : this.data;
    if (t8.start && t8.end && t8.start > t8.end)
      throw new Error("Start date cannot be greater than end date.");
    if (t8.start || (t8.start = new Date(), t8.start.setFullYear(t8.start.getFullYear() - 1)), t8.end || (t8.end = new Date()), t8.dataPoints = t8.dataPoints || {}, parseInt(Object.keys(t8.dataPoints)[0]) > 1e5) {
      var e2 = {};
      Object.keys(t8.dataPoints).forEach(function(n) {
        var i = new Date(n * NO_OF_MILLIS);
        e2[getYyyyMmDd(i)] = t8.dataPoints[n];
      }), t8.dataPoints = e2;
    }
    return t8;
  } }, { key: "calc", value: function() {
    var t8 = this.state;
    t8.start = clone(this.data.start), t8.end = clone(this.data.end), t8.firstWeekStart = clone(t8.start), t8.noOfWeeks = getWeeksBetween(t8.start, t8.end), t8.distribution = calcDistribution(Object.values(this.data.dataPoints), HEATMAP_DISTRIBUTION_SIZE), t8.domainConfigs = this.getDomains();
  } }, { key: "setupComponents", value: function() {
    var t8 = this, e2 = this.state, n = this.discreteDomains ? 0 : 1, i = e2.domainConfigs.map(function(i2, a2) {
      return ["heatDomain", { index: i2.index, colWidth: COL_WIDTH, rowHeight: ROW_HEIGHT, squareSize: HEATMAP_SQUARE_SIZE, radius: t8.rawChartArgs.radius || 0, xTranslate: e2.domainConfigs.filter(function(t9, e3) {
        return e3 < a2;
      }).map(function(t9) {
        return t9.cols.length - n;
      }).reduce(function(t9, e3) {
        return t9 + e3;
      }, 0) * COL_WIDTH }, function() {
        return e2.domainConfigs[a2];
      }.bind(t8)];
    });
    this.components = new Map(i.map(function(t9, e3) {
      var n2 = getComponent.apply(void 0, _toConsumableArray$3(t9));
      return [t9[0] + "-" + e3, n2];
    }));
    var a = 0;
    DAY_NAMES_SHORT.forEach(function(e3, n2) {
      if ([1, 3, 5].includes(n2)) {
        var i2 = makeText("subdomain-name", -COL_WIDTH / 2, a, e3, { fontSize: HEATMAP_SQUARE_SIZE, dy: 8, textAnchor: "end" });
        t8.drawArea.appendChild(i2);
      }
      a += ROW_HEIGHT;
    });
  } }, { key: "update", value: function(t8) {
    t8 || console.error("No data to update."), this.data = this.prepareData(t8), this.draw(), this.bindTooltip();
  } }, { key: "bindTooltip", value: function() {
    var t8 = this;
    this.container.addEventListener("mousemove", function(e2) {
      t8.components.forEach(function(n) {
        var i = n.store, a = e2.target;
        if (i.includes(a)) {
          var r = a.getAttribute("data-value"), o = a.getAttribute("data-date").split("-"), s = getMonthName(parseInt(o[1]) - 1, true), l = t8.container.getBoundingClientRect(), u = a.getBoundingClientRect(), c = parseInt(e2.target.getAttribute("width")), h = u.left - l.left + c / 2, d = u.top - l.top, f = r + " " + t8.countLabel, p = " on " + s + " " + o[0] + ", " + o[2];
          t8.tip.setValues(h, d, { name: p, value: f, valueFirst: 1 }, []), t8.tip.showTip();
        }
      });
    });
  } }, { key: "renderLegend", value: function() {
    var t8 = this;
    this.legendArea.textContent = "";
    var e2 = 0, n = ROW_HEIGHT, i = this.rawChartArgs.radius || 0, a = makeText("subdomain-name", e2, n, "Less", { fontSize: HEATMAP_SQUARE_SIZE + 1, dy: 9 });
    e2 = 2 * COL_WIDTH + COL_WIDTH / 2, this.legendArea.appendChild(a), this.colors.slice(0, HEATMAP_DISTRIBUTION_SIZE).map(function(a2, r2) {
      var o = heatSquare("heatmap-legend-unit", e2 + (COL_WIDTH + 3) * r2, n, HEATMAP_SQUARE_SIZE, i, a2);
      t8.legendArea.appendChild(o);
    });
    var r = makeText("subdomain-name", e2 + HEATMAP_DISTRIBUTION_SIZE * (COL_WIDTH + 3) + COL_WIDTH / 4, n, "More", { fontSize: HEATMAP_SQUARE_SIZE + 1, dy: 9 });
    this.legendArea.appendChild(r);
  } }, { key: "getDomains", value: function() {
    for (var t8 = this.state, e2 = [t8.start.getMonth(), t8.start.getFullYear()], n = e2[0], i = e2[1], a = [t8.end.getMonth(), t8.end.getFullYear()], r = a[0] - n + 1 + 12 * (a[1] - i), o = [], s = clone(t8.start), l = 0; l < r; l++) {
      var u = t8.end;
      if (!areInSameMonth(s, t8.end)) {
        var c = [s.getMonth(), s.getFullYear()];
        u = getLastDateInMonth(c[0], c[1]);
      }
      o.push(this.getDomainConfig(s, u)), addDays(u, 1), s = u;
    }
    return o;
  } }, { key: "getDomainConfig", value: function(t8) {
    var e2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", n = [t8.getMonth(), t8.getFullYear()], i = n[0], a = n[1], r = setDayToSunday(t8), o = { index: i, cols: [] };
    addDays(e2 = clone(e2) || getLastDateInMonth(i, a), 1);
    for (var s = getWeeksBetween(r, e2), l = [], u = void 0, c = 0; c < s; c++)
      u = this.getCol(r, i), l.push(u), addDays(r = new Date(u[NO_OF_DAYS_IN_WEEK - 1].yyyyMmDd), 1);
    return u[NO_OF_DAYS_IN_WEEK - 1].dataValue !== void 0 && (addDays(r, 1), l.push(this.getCol(r, i, true))), o.cols = l, o;
  } }, { key: "getCol", value: function(t8, e2) {
    for (var n = arguments.length > 2 && arguments[2] !== void 0 && arguments[2], i = this.state, a = clone(t8), r = [], o = 0; o < NO_OF_DAYS_IN_WEEK; o++, addDays(a, 1)) {
      var s = {}, l = a >= i.start && a <= i.end;
      n || a.getMonth() !== e2 || !l ? s.yyyyMmDd = getYyyyMmDd(a) : s = this.getSubDomainConfig(a), r.push(s);
    }
    return r;
  } }, { key: "getSubDomainConfig", value: function(t8) {
    var e2 = getYyyyMmDd(t8), n = this.data.dataPoints[e2];
    return { yyyyMmDd: e2, dataValue: n || 0, fill: this.colors[getMaxCheckpoint(n, this.state.distribution)] };
  } }]), e;
}(BaseChart);
var _createClass$7 = function() {
  function t7(t8, e) {
    for (var n = 0; n < e.length; n++) {
      var i = e[n];
      i.enumerable = i.enumerable || false, i.configurable = true, "value" in i && (i.writable = true), Object.defineProperty(t8, i.key, i);
    }
  }
  return function(e, n, i) {
    return n && t7(e.prototype, n), i && t7(e, i), e;
  };
}();
var _get$3 = function t4(e, n, i) {
  e === null && (e = Function.prototype);
  var a = Object.getOwnPropertyDescriptor(e, n);
  if (a === void 0) {
    var r = Object.getPrototypeOf(e);
    return r === null ? void 0 : t4(r, n, i);
  }
  if ("value" in a)
    return a.value;
  var o = a.get;
  if (o !== void 0)
    return o.call(i);
};
var AxisChart = function(t7) {
  function e(t8, n) {
    _classCallCheck$8(this, e);
    var i = _possibleConstructorReturn$4(this, (e.__proto__ || Object.getPrototypeOf(e)).call(this, t8, n));
    return i.barOptions = n.barOptions || {}, i.lineOptions = n.lineOptions || {}, i.type = n.type || "line", i.init = 1, i.setup(), i;
  }
  return _inherits$4(e, t7), _createClass$7(e, [{ key: "setMeasures", value: function() {
    this.data.datasets.length <= 1 && (this.config.showLegend = 0, this.measures.paddings.bottom = 30);
  } }, { key: "configure", value: function(t8) {
    _get$3(e.prototype.__proto__ || Object.getPrototypeOf(e.prototype), "configure", this).call(this, t8), t8.axisOptions = t8.axisOptions || {}, t8.tooltipOptions = t8.tooltipOptions || {}, this.config.xAxisMode = t8.axisOptions.xAxisMode || "span", this.config.yAxisMode = t8.axisOptions.yAxisMode || "span", this.config.xIsSeries = t8.axisOptions.xIsSeries || 0, this.config.shortenYAxisNumbers = t8.axisOptions.shortenYAxisNumbers || 0, this.config.formatTooltipX = t8.tooltipOptions.formatTooltipX, this.config.formatTooltipY = t8.tooltipOptions.formatTooltipY, this.config.valuesOverPoints = t8.valuesOverPoints;
  } }, { key: "prepareData", value: function() {
    return dataPrep(arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : this.data, this.type);
  } }, { key: "prepareFirstData", value: function() {
    return zeroDataPrep(arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : this.data);
  } }, { key: "calc", value: function() {
    var t8 = arguments.length > 0 && arguments[0] !== void 0 && arguments[0];
    this.calcXPositions(), t8 || this.calcYAxisParameters(this.getAllYValues(), this.type === "line"), this.makeDataByIndex();
  } }, { key: "calcXPositions", value: function() {
    var t8 = this.state, e2 = this.data.labels;
    t8.datasetLength = e2.length, t8.unitWidth = this.width / t8.datasetLength, t8.xOffset = t8.unitWidth / 2, t8.xAxis = { labels: e2, positions: e2.map(function(e3, n) {
      return floatTwo(t8.xOffset + n * t8.unitWidth);
    }) };
  } }, { key: "calcYAxisParameters", value: function(t8) {
    var e2 = calcChartIntervals(t8, arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "false"), n = this.height / getValueRange(e2), i = getIntervalSize(e2) * n, a = this.height - getZeroIndex(e2) * i;
    this.state.yAxis = { labels: e2, positions: e2.map(function(t9) {
      return a - t9 * n;
    }), scaleMultiplier: n, zeroLine: a }, this.calcDatasetPoints(), this.calcYExtremes(), this.calcYRegions();
  } }, { key: "calcDatasetPoints", value: function() {
    var t8 = this.state, e2 = function(e3) {
      return e3.map(function(e4) {
        return scale(e4, t8.yAxis);
      });
    };
    t8.datasets = this.data.datasets.map(function(t9, n) {
      var i = t9.values, a = t9.cumulativeYs || [];
      return { name: t9.name && t9.name.replace(/<|>|&/g, function(t10) {
        return t10 == "&" ? "&amp;" : t10 == "<" ? "&lt;" : "&gt;";
      }), index: n, chartType: t9.chartType, values: i, yPositions: e2(i), cumulativeYs: a, cumulativeYPos: e2(a) };
    });
  } }, { key: "calcYExtremes", value: function() {
    var t8 = this.state;
    if (this.barOptions.stacked)
      return void (t8.yExtremes = t8.datasets[t8.datasets.length - 1].cumulativeYPos);
    t8.yExtremes = new Array(t8.datasetLength).fill(9999), t8.datasets.map(function(e2) {
      e2.yPositions.map(function(e3, n) {
        e3 < t8.yExtremes[n] && (t8.yExtremes[n] = e3);
      });
    });
  } }, { key: "calcYRegions", value: function() {
    var t8 = this.state;
    this.data.yMarkers && (this.state.yMarkers = this.data.yMarkers.map(function(e2) {
      return e2.position = scale(e2.value, t8.yAxis), e2.options || (e2.options = {}), e2;
    })), this.data.yRegions && (this.state.yRegions = this.data.yRegions.map(function(e2) {
      return e2.startPos = scale(e2.start, t8.yAxis), e2.endPos = scale(e2.end, t8.yAxis), e2.options || (e2.options = {}), e2;
    }));
  } }, { key: "getAllYValues", value: function() {
    var t8, e2 = this, n = "values";
    if (this.barOptions.stacked) {
      n = "cumulativeYs";
      var i = new Array(this.state.datasetLength).fill(0);
      this.data.datasets.map(function(t9, a2) {
        var r = e2.data.datasets[a2].values;
        t9[n] = i = i.map(function(t10, e3) {
          return t10 + r[e3];
        });
      });
    }
    var a = this.data.datasets.map(function(t9) {
      return t9[n];
    });
    return this.data.yMarkers && a.push(this.data.yMarkers.map(function(t9) {
      return t9.value;
    })), this.data.yRegions && this.data.yRegions.map(function(t9) {
      a.push([t9.end, t9.start]);
    }), (t8 = []).concat.apply(t8, _toConsumableArray$5(a));
  } }, { key: "setupComponents", value: function() {
    var t8 = this, e2 = [["yAxis", { mode: this.config.yAxisMode, width: this.width, shortenNumbers: this.config.shortenYAxisNumbers }, function() {
      return this.state.yAxis;
    }.bind(this)], ["xAxis", { mode: this.config.xAxisMode, height: this.height }, function() {
      var t9 = this.state;
      return t9.xAxis.calcLabels = getShortenedLabels(this.width, t9.xAxis.labels, this.config.xIsSeries), t9.xAxis;
    }.bind(this)], ["yRegions", { width: this.width, pos: "right" }, function() {
      return this.state.yRegions;
    }.bind(this)]], n = this.state.datasets.filter(function(t9) {
      return t9.chartType === "bar";
    }), i = this.state.datasets.filter(function(t9) {
      return t9.chartType === "line";
    }), a = n.map(function(e3) {
      var i2 = e3.index;
      return ["barGraph-" + e3.index, { index: i2, color: t8.colors[i2], stacked: t8.barOptions.stacked, valuesOverPoints: t8.config.valuesOverPoints, minHeight: t8.height * MIN_BAR_PERCENT_HEIGHT }, function() {
        var t9 = this.state, e4 = t9.datasets[i2], a2 = this.barOptions.stacked, r2 = this.barOptions.spaceRatio || BAR_CHART_SPACE_RATIO, o2 = t9.unitWidth * (1 - r2), s2 = o2 / (a2 ? 1 : n.length), l = t9.xAxis.positions.map(function(t10) {
          return t10 - o2 / 2;
        });
        a2 || (l = l.map(function(t10) {
          return t10 + s2 * i2;
        }));
        var u = new Array(t9.datasetLength).fill("");
        this.config.valuesOverPoints && (u = a2 && e4.index === t9.datasets.length - 1 ? e4.cumulativeYs : e4.values);
        var c = new Array(t9.datasetLength).fill(0);
        return a2 && (c = e4.yPositions.map(function(t10, n2) {
          return t10 - e4.cumulativeYPos[n2];
        })), { xPositions: l, yPositions: e4.yPositions, offsets: c, labels: u, zeroLine: t9.yAxis.zeroLine, barsWidth: o2, barWidth: s2 };
      }.bind(t8)];
    }), r = i.map(function(e3) {
      var n2 = e3.index;
      return ["lineGraph-" + e3.index, { index: n2, color: t8.colors[n2], svgDefs: t8.svgDefs, heatline: t8.lineOptions.heatline, regionFill: t8.lineOptions.regionFill, spline: t8.lineOptions.spline, hideDots: t8.lineOptions.hideDots, hideLine: t8.lineOptions.hideLine, valuesOverPoints: t8.config.valuesOverPoints }, function() {
        var t9 = this.state, e4 = t9.datasets[n2], i2 = t9.yAxis.positions[0] < t9.yAxis.zeroLine ? t9.yAxis.positions[0] : t9.yAxis.zeroLine;
        return { xPositions: t9.xAxis.positions, yPositions: e4.yPositions, values: e4.values, zeroLine: i2, radius: this.lineOptions.dotSize || LINE_CHART_DOT_SIZE };
      }.bind(t8)];
    }), o = [["yMarkers", { width: this.width, pos: "right" }, function() {
      return this.state.yMarkers;
    }.bind(this)]];
    e2 = e2.concat(a, r, o);
    var s = ["yMarkers", "yRegions"];
    this.dataUnitComponents = [], this.components = new Map(e2.filter(function(e3) {
      return !s.includes(e3[0]) || t8.state[e3[0]];
    }).map(function(e3) {
      var n2 = getComponent.apply(void 0, _toConsumableArray$5(e3));
      return (e3[0].includes("lineGraph") || e3[0].includes("barGraph")) && t8.dataUnitComponents.push(n2), [e3[0], n2];
    }));
  } }, { key: "makeDataByIndex", value: function() {
    var t8 = this;
    this.dataByIndex = {};
    var e2 = this.state, n = this.config.formatTooltipX, i = this.config.formatTooltipY;
    e2.xAxis.labels.map(function(a, r) {
      var o = t8.state.datasets.map(function(e3, n2) {
        var a2 = e3.values[r];
        return { title: e3.name, value: a2, yPos: e3.yPositions[r], color: t8.colors[n2], formatted: i ? i(a2) : a2 };
      });
      t8.dataByIndex[r] = { label: a, formattedLabel: n ? n(a) : a, xPos: e2.xAxis.positions[r], values: o, yExtreme: e2.yExtremes[r] };
    });
  } }, { key: "bindTooltip", value: function() {
    var t8 = this;
    this.container.addEventListener("mousemove", function(e2) {
      var n = t8.measures, i = getOffset(t8.container), a = e2.pageX - i.left - getLeftOffset(n), r = e2.pageY - i.top;
      r < t8.height + getTopOffset(n) && r > getTopOffset(n) ? t8.mapTooltipXPosition(a) : t8.tip.hideTip();
    });
  } }, { key: "mapTooltipXPosition", value: function(t8) {
    var e2 = this.state;
    if (e2.yExtremes) {
      var n = getClosestInArray(t8, e2.xAxis.positions, true);
      if (n >= 0) {
        var i = this.dataByIndex[n];
        this.tip.setValues(i.xPos + this.tip.offset.x, i.yExtreme + this.tip.offset.y, { name: i.formattedLabel, value: "" }, i.values, n), this.tip.showTip();
      }
    }
  } }, { key: "renderLegend", value: function() {
    var t8 = this, e2 = this.data;
    e2.datasets.length > 1 && (this.legendArea.textContent = "", e2.datasets.map(function(e3, n) {
      var i = AXIS_LEGEND_BAR_SIZE, a = legendBar(i * n, "0", i, t8.colors[n], e3.name, t8.config.truncateLegends);
      t8.legendArea.appendChild(a);
    }));
  } }, { key: "makeOverlay", value: function() {
    var t8 = this;
    if (this.init)
      return void (this.init = 0);
    this.overlayGuides && this.overlayGuides.forEach(function(t9) {
      var e2 = t9.overlay;
      e2.parentNode.removeChild(e2);
    }), this.overlayGuides = this.dataUnitComponents.map(function(t9) {
      return { type: t9.unitType, overlay: void 0, units: t9.units };
    }), this.state.currentIndex === void 0 && (this.state.currentIndex = this.state.datasetLength - 1), this.overlayGuides.map(function(e2) {
      var n = e2.units[t8.state.currentIndex];
      e2.overlay = makeOverlay[e2.type](n), t8.drawArea.appendChild(e2.overlay);
    });
  } }, { key: "updateOverlayGuides", value: function() {
    this.overlayGuides && this.overlayGuides.forEach(function(t8) {
      var e2 = t8.overlay;
      e2.parentNode.removeChild(e2);
    });
  } }, { key: "bindOverlay", value: function() {
    var t8 = this;
    this.parent.addEventListener("data-select", function() {
      t8.updateOverlay();
    });
  } }, { key: "bindUnits", value: function() {
    var t8 = this;
    this.dataUnitComponents.map(function(e2) {
      e2.units.map(function(e3) {
        e3.addEventListener("click", function() {
          var n = e3.getAttribute("data-point-index");
          t8.setCurrentDataPoint(n);
        });
      });
    }), this.tip.container.addEventListener("click", function() {
      var e2 = t8.tip.container.getAttribute("data-point-index");
      t8.setCurrentDataPoint(e2);
    });
  } }, { key: "updateOverlay", value: function() {
    var t8 = this;
    this.overlayGuides.map(function(e2) {
      var n = e2.units[t8.state.currentIndex];
      updateOverlay[e2.type](n, e2.overlay);
    });
  } }, { key: "onLeftArrow", value: function() {
    this.setCurrentDataPoint(this.state.currentIndex - 1);
  } }, { key: "onRightArrow", value: function() {
    this.setCurrentDataPoint(this.state.currentIndex + 1);
  } }, { key: "getDataPoint", value: function() {
    var t8 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : this.state.currentIndex, e2 = this.state;
    return { index: t8, label: e2.xAxis.labels[t8], values: e2.datasets.map(function(e3) {
      return e3.values[t8];
    }) };
  } }, { key: "setCurrentDataPoint", value: function(t8) {
    var e2 = this.state;
    (t8 = parseInt(t8)) < 0 && (t8 = 0), t8 >= e2.xAxis.labels.length && (t8 = e2.xAxis.labels.length - 1), t8 !== e2.currentIndex && (e2.currentIndex = t8, fire(this.parent, "data-select", this.getDataPoint()));
  } }, { key: "addDataPoint", value: function(t8, n) {
    var i = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : this.state.datasetLength;
    _get$3(e.prototype.__proto__ || Object.getPrototypeOf(e.prototype), "addDataPoint", this).call(this, t8, n, i), this.data.labels.splice(i, 0, t8), this.data.datasets.map(function(t9, e2) {
      t9.values.splice(i, 0, n[e2]);
    }), this.update(this.data);
  } }, { key: "removeDataPoint", value: function() {
    var t8 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : this.state.datasetLength - 1;
    this.data.labels.length <= 1 || (_get$3(e.prototype.__proto__ || Object.getPrototypeOf(e.prototype), "removeDataPoint", this).call(this, t8), this.data.labels.splice(t8, 1), this.data.datasets.map(function(e2) {
      e2.values.splice(t8, 1);
    }), this.update(this.data));
  } }, { key: "updateDataset", value: function(t8) {
    var e2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
    this.data.datasets[e2].values = t8, this.update(this.data);
  } }, { key: "updateDatasets", value: function(t8) {
    this.data.datasets.map(function(e2, n) {
      t8[n] && (e2.values = t8[n]);
    }), this.update(this.data);
  } }]), e;
}(BaseChart);
var _createClass$8 = function() {
  function t7(t8, e) {
    for (var n = 0; n < e.length; n++) {
      var i = e[n];
      i.enumerable = i.enumerable || false, i.configurable = true, "value" in i && (i.writable = true), Object.defineProperty(t8, i.key, i);
    }
  }
  return function(e, n, i) {
    return n && t7(e.prototype, n), i && t7(e, i), e;
  };
}();
var _get$4 = function t5(e, n, i) {
  e === null && (e = Function.prototype);
  var a = Object.getOwnPropertyDescriptor(e, n);
  if (a === void 0) {
    var r = Object.getPrototypeOf(e);
    return r === null ? void 0 : t5(r, n, i);
  }
  if ("value" in a)
    return a.value;
  var o = a.get;
  if (o !== void 0)
    return o.call(i);
};
var DonutChart = function(t7) {
  function e(t8, n) {
    _classCallCheck$9(this, e);
    var i = _possibleConstructorReturn$5(this, (e.__proto__ || Object.getPrototypeOf(e)).call(this, t8, n));
    return i.type = "donut", i.initTimeout = 0, i.init = 1, i.setup(), i;
  }
  return _inherits$5(e, t7), _createClass$8(e, [{ key: "configure", value: function(t8) {
    _get$4(e.prototype.__proto__ || Object.getPrototypeOf(e.prototype), "configure", this).call(this, t8), this.mouseMove = this.mouseMove.bind(this), this.mouseLeave = this.mouseLeave.bind(this), this.hoverRadio = t8.hoverRadio || 0.1, this.config.startAngle = t8.startAngle || 0, this.clockWise = t8.clockWise || false, this.strokeWidth = t8.strokeWidth || 30;
  } }, { key: "calc", value: function() {
    var t8 = this;
    _get$4(e.prototype.__proto__ || Object.getPrototypeOf(e.prototype), "calc", this).call(this);
    var n = this.state;
    this.radius = this.height > this.width ? this.center.x - this.strokeWidth / 2 : this.center.y - this.strokeWidth / 2;
    var i = this.radius, a = this.clockWise, r = n.slicesProperties || [];
    n.sliceStrings = [], n.slicesProperties = [];
    var o = 180 - this.config.startAngle;
    n.sliceTotals.map(function(e2, s) {
      var l = o, u = e2 / n.grandTotal * FULL_ANGLE, c = u > 180 ? 1 : 0, h = a ? -u : u, d = o += h, f = getPositionByAngle(l, i), p = getPositionByAngle(d, i), v = t8.init && r[s], g = void 0, y = void 0;
      t8.init ? (g = v ? v.startPosition : f, y = v ? v.endPosition : f) : (g = f, y = p);
      var m = u === 360 ? makeStrokeCircleStr(g, y, t8.center, t8.radius, t8.clockWise, c) : makeArcStrokePathStr(g, y, t8.center, t8.radius, t8.clockWise, c);
      n.sliceStrings.push(m), n.slicesProperties.push({ startPosition: f, endPosition: p, value: e2, total: n.grandTotal, startAngle: l, endAngle: d, angle: h });
    }), this.init = 0;
  } }, { key: "setupComponents", value: function() {
    var t8 = this.state, e2 = [["donutSlices", {}, function() {
      return { sliceStrings: t8.sliceStrings, colors: this.colors, strokeWidth: this.strokeWidth };
    }.bind(this)]];
    this.components = new Map(e2.map(function(t9) {
      var e3 = getComponent.apply(void 0, _toConsumableArray$7(t9));
      return [t9[0], e3];
    }));
  } }, { key: "calTranslateByAngle", value: function(t8) {
    var e2 = this.radius, n = this.hoverRadio, i = getPositionByAngle(t8.startAngle + t8.angle / 2, e2);
    return "translate3d(" + i.x * n + "px," + i.y * n + "px,0)";
  } }, { key: "hoverSlice", value: function(t8, e2, n, i) {
    if (t8) {
      var a = this.colors[e2];
      if (n) {
        transform(t8, this.calTranslateByAngle(this.state.slicesProperties[e2])), t8.style.stroke = lightenDarkenColor(a, 50);
        var r = getOffset(this.svg), o = i.pageX - r.left + 10, s = i.pageY - r.top - 10, l = (this.formatted_labels && this.formatted_labels.length > 0 ? this.formatted_labels[e2] : this.state.labels[e2]) + ": ", u = (100 * this.state.sliceTotals[e2] / this.state.grandTotal).toFixed(1);
        this.tip.setValues(o, s, { name: l, value: u + "%" }), this.tip.showTip();
      } else
        transform(t8, "translate3d(0,0,0)"), this.tip.hideTip(), t8.style.stroke = a;
    }
  } }, { key: "bindTooltip", value: function() {
    this.container.addEventListener("mousemove", this.mouseMove), this.container.addEventListener("mouseleave", this.mouseLeave);
  } }, { key: "mouseMove", value: function(t8) {
    var e2 = t8.target, n = this.components.get("donutSlices").store, i = this.curActiveSliceIndex, a = this.curActiveSlice;
    if (n.includes(e2)) {
      var r = n.indexOf(e2);
      this.hoverSlice(a, i, false), this.curActiveSlice = e2, this.curActiveSliceIndex = r, this.hoverSlice(e2, r, true, t8);
    } else
      this.mouseLeave();
  } }, { key: "mouseLeave", value: function() {
    this.hoverSlice(this.curActiveSlice, this.curActiveSliceIndex, false);
  } }]), e;
}(AggregationChart);
var chartTypes = { bar: AxisChart, line: AxisChart, percentage: PercentageChart, heatmap: Heatmap, pie: PieChart, donut: DonutChart };
var Chart = function t6(e, n) {
  return _classCallCheck(this, t6), getChartByType(n.type, e, n);
};
export {
  AxisChart,
  Chart,
  Heatmap,
  PercentageChart,
  PieChart
};
//# sourceMappingURL=frappe-charts.js.map
