@jboltai/tokui 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/tokui.mjs CHANGED
@@ -1806,7 +1806,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
1806
1806
  class: "tokui-chart-tip",
1807
1807
  "data-tip-id": u
1808
1808
  });
1809
- b.appendChild(s("rect", {
1809
+ b.setAttribute("data-tx", c), b.setAttribute("data-ty", l), b.appendChild(s("rect", {
1810
1810
  x: v,
1811
1811
  y,
1812
1812
  width: g,
@@ -1838,11 +1838,180 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
1838
1838
  });
1839
1839
  });
1840
1840
  }
1841
- function T(e, t, n, r, i, a) {
1841
+ function T(e, t) {
1842
+ e.querySelectorAll(".tokui-chart-tip-group:not([data-tip-bound])").forEach(function(e) {
1843
+ e.setAttribute("data-tip-bound", "1"), e.addEventListener("mouseenter", function() {
1844
+ var n = e.getAttribute("data-tip-id"), r = t.querySelector(".tokui-chart-tips-layer [data-tip-id=\"" + n + "\"]");
1845
+ r && (r.style.opacity = "1");
1846
+ }), e.addEventListener("mouseleave", function() {
1847
+ var n = e.getAttribute("data-tip-id"), r = t.querySelector(".tokui-chart-tips-layer [data-tip-id=\"" + n + "\"]");
1848
+ r && (r.style.opacity = "");
1849
+ });
1850
+ });
1851
+ }
1852
+ function E(e) {
1853
+ for (; e && e.firstChild;) e.removeChild(e.firstChild);
1854
+ }
1855
+ function D(e, t) {
1856
+ var n = e.getBoundingClientRect(), r = e.viewBox && e.viewBox.baseVal;
1857
+ return !n || !n.width || !r ? t - (n ? n.left : 0) : (t - n.left) / n.width * r.width + r.x;
1858
+ }
1859
+ function O(e, t) {
1860
+ var n = t.padL, r = t.cw, i = t.n, a = t.plotG, o = "tokui-chart-clip-" + ++N, c = s("defs"), l = s("clipPath", { id: o });
1861
+ l.appendChild(s("rect", {
1862
+ x: n - 1,
1863
+ y: t.padT - 1,
1864
+ width: r + 2,
1865
+ height: t.ch + 2
1866
+ })), c.appendChild(l), e.appendChild(c);
1867
+ var u = s("g", { "clip-path": "url(#" + o + ")" }), d = a.parentNode, f = a.nextSibling;
1868
+ u.appendChild(a), f ? d.insertBefore(u, f) : d.appendChild(u);
1869
+ var p = s("g", { class: "tokui-chart-plot-labels" });
1870
+ d.appendChild(p);
1871
+ var m = s("rect", {
1872
+ x: 0,
1873
+ y: 0,
1874
+ width: 0,
1875
+ height: 0,
1876
+ rx: 4,
1877
+ fill: "rgba(0,0,0,0.78)"
1878
+ }), h = s("text", {
1879
+ "text-anchor": "middle",
1880
+ "dominant-baseline": "central",
1881
+ fill: "#fff",
1882
+ "font-size": "10"
1883
+ }), g = s("g", { class: "tokui-chart-tip tokui-chart-tip--shared" });
1884
+ g.appendChild(m), g.appendChild(h), t.tipLayer.appendChild(g);
1885
+ var _ = {
1886
+ s: 0,
1887
+ e: i - 1,
1888
+ sx: 1,
1889
+ tx: 0
1890
+ };
1891
+ function v(e, n, r) {
1892
+ for (var i = 0, a = 0; a < e.length; a++) i += e.charCodeAt(a) > 127 ? 10 : 5.5;
1893
+ var o = i + 16, s = 18, c = n - o / 2, l = r - s - 6;
1894
+ c < 2 && (c = 2), c + o > t.w - 2 && (c = t.w - o - 2), l < 2 && (l = r + 10), m.setAttribute("x", c), m.setAttribute("y", l), m.setAttribute("width", o), m.setAttribute("height", s), h.setAttribute("x", c + o / 2), h.setAttribute("y", l + s / 2 + 1), h.textContent = e, g.style.opacity = "1";
1895
+ }
1896
+ function y(e, i, o) {
1897
+ var s = t.srcLeft(e), c = r / (t.srcRight(i) - s), l = n - c * s;
1898
+ a.setAttribute("transform", "matrix(" + c + " 0 0 1 " + l + " 0)"), _.s = e, _.e = i, _.sx = c, _.tx = l, E(p), o && t.renderLabels(p, e, i);
1899
+ }
1900
+ var x = s("g", { class: "tokui-chart-zoom" });
1901
+ d.appendChild(x);
1902
+ var S = t.h + 6, C = 16, w = C - 2;
1903
+ x.appendChild(s("rect", {
1904
+ x: n,
1905
+ y: S,
1906
+ width: r,
1907
+ height: C,
1908
+ fill: "var(--tokui-chart-grid, #e8e8e8)",
1909
+ rx: 3,
1910
+ class: "tokui-chart-zoom-track"
1911
+ }));
1912
+ for (var T = r / i, O = 0; O < i; O++) {
1913
+ var k = t.overview[O] || 0, A = Math.max(1, (k - t.valMin) / t.range * w);
1914
+ x.appendChild(s("rect", {
1915
+ x: n + O * T + .5,
1916
+ y: S + C - 1 - A,
1917
+ width: Math.max(1, T - 1),
1918
+ height: A,
1919
+ fill: "var(--tokui-chart-text, #bbb)",
1920
+ opacity: "0.55",
1921
+ class: "tokui-chart-zoom-overview"
1922
+ }));
1923
+ }
1924
+ var j = s("rect", {
1925
+ y: S - 1,
1926
+ height: C + 2,
1927
+ fill: "rgba(0,120,212,0.12)",
1928
+ stroke: "var(--tokui-primary-6, #1a73e8)",
1929
+ "stroke-width": 1,
1930
+ rx: 2,
1931
+ class: "tokui-chart-zoom-window",
1932
+ style: "cursor:grab;"
1933
+ }), M = s("rect", {
1934
+ width: 6,
1935
+ height: C + 6,
1936
+ y: S - 3,
1937
+ fill: "var(--tokui-primary-6, #1a73e8)",
1938
+ rx: 2,
1939
+ class: "tokui-chart-zoom-handle tokui-chart-zoom-handle--l",
1940
+ style: "cursor:ew-resize;"
1941
+ }), P = s("rect", {
1942
+ width: 6,
1943
+ height: C + 6,
1944
+ y: S - 3,
1945
+ fill: "var(--tokui-primary-6, #1a73e8)",
1946
+ rx: 2,
1947
+ class: "tokui-chart-zoom-handle tokui-chart-zoom-handle--r",
1948
+ style: "cursor:ew-resize;"
1949
+ });
1950
+ x.appendChild(j), x.appendChild(M), x.appendChild(P);
1951
+ var F = 0, I = 1, L = Math.max(2, Math.floor(i * .1)) / (i - 1);
1952
+ function R(e, t) {
1953
+ var i = n + e * r, a = n + t * r;
1954
+ j.setAttribute("x", i), j.setAttribute("width", Math.max(2, a - i)), M.setAttribute("x", i - 3), P.setAttribute("x", a - 3);
1955
+ }
1956
+ R(F, I);
1957
+ var z = typeof window < "u" && typeof window.requestAnimationFrame == "function", B = !1, V = null;
1958
+ function H(e, t) {
1959
+ V = [e, t], !B && (B = !0, z ? window.requestAnimationFrame(function() {
1960
+ B = !1, V && y(V[0], V[1], !1);
1961
+ }) : (B = !1, y(e, t, !1)));
1962
+ }
1963
+ function U(e) {
1964
+ R(F, I);
1965
+ var t = K(i, F, I);
1966
+ e ? H(t.s, t.e) : (V = null, y(t.s, t.e, !0));
1967
+ }
1968
+ function W(t, i) {
1969
+ t.style.touchAction = "none", t.style.userSelect = "none", t.style.webkitUserDrag = "none";
1970
+ function a(a, o) {
1971
+ var s = !0, c = a;
1972
+ function l(e) {
1973
+ if (s) {
1974
+ var t = b((e - n) / r, 0, 1);
1975
+ if (i === "l") F = Math.min(t, I - L);
1976
+ else if (i === "r") I = Math.max(t, F + L);
1977
+ else {
1978
+ var a = I - F, o = (e - c) / r;
1979
+ F = b(F + o, 0, 1 - a), I = F + a;
1980
+ }
1981
+ c = e, U(!0);
1982
+ }
1983
+ }
1984
+ function u(t) {
1985
+ t.preventDefault(), l(D(e, t.clientX));
1986
+ }
1987
+ function d() {
1988
+ s = !1, t.removeEventListener("pointermove", u), t.removeEventListener("pointerup", d);
1989
+ try {
1990
+ t.releasePointerCapture(o);
1991
+ } catch {}
1992
+ U(!1);
1993
+ }
1994
+ t.addEventListener("pointermove", u), t.addEventListener("pointerup", d);
1995
+ }
1996
+ t.addEventListener("pointerdown", function(n) {
1997
+ n.preventDefault(), n.stopPropagation();
1998
+ try {
1999
+ t.setPointerCapture(n.pointerId);
2000
+ } catch {}
2001
+ a(D(e, n.clientX), n.pointerId);
2002
+ });
2003
+ }
2004
+ return W(M, "l"), W(P, "r"), W(j, "pan"), y(0, i - 1, !0), {
2005
+ showTip: v,
2006
+ winState: _,
2007
+ sharedTip: g
2008
+ };
2009
+ }
2010
+ function k(e, t, n, r, i, a) {
1842
2011
  if (!(!t || !t.length)) {
1843
2012
  i > 0 || (i = 7);
1844
2013
  var o = 8, c = 4, l = 14, u = t.map(function(e) {
1845
- var t = D(e.text) * (i / 7);
2014
+ var t = j(e.text) * (i / 7);
1846
2015
  return {
1847
2016
  e,
1848
2017
  w: o + c + t
@@ -1874,7 +2043,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
1874
2043
  });
1875
2044
  }
1876
2045
  }
1877
- function E(e, t, r) {
2046
+ function A(e, t, r) {
1878
2047
  var i = s("svg", {
1879
2048
  viewBox: "0 0 " + e + " " + t,
1880
2049
  class: "tokui-chart__svg tokui-chart__svg--empty",
@@ -1889,53 +2058,119 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
1889
2058
  });
1890
2059
  return a.textContent = r || n("chart.empty"), i.appendChild(a), i;
1891
2060
  }
1892
- function D(e) {
2061
+ function j(e) {
1893
2062
  for (var t = 0, n = 0; n < e.length; n++) t += e.charCodeAt(n) > 127 ? 8 : 4.5;
1894
2063
  return t;
1895
2064
  }
1896
- var O = 12, k = 7;
1897
- function A(e, t, n) {
1898
- return !(t > 0) || !(n > 0) || e * t >= n ? e : n / t;
2065
+ var M = 14, N = 0, P = 16, F = 7;
2066
+ function I(e, t, n, r) {
2067
+ if (!(t > 0)) return e;
2068
+ var i = e * t;
2069
+ return r > 0 && i > r ? r / t : n > 0 && i < n ? n / t : e;
1899
2070
  }
1900
- function j(e, t, n, r, i) {
2071
+ function L(e, t) {
2072
+ if (t > 0) {
2073
+ var n = I(10, t, M, P) / 10;
2074
+ if (!(Math.abs(n - 1) < .005)) for (var r = e.querySelectorAll(".tokui-chart-tips-layer .tokui-chart-tip:not(.tokui-chart-tip--shared)"), i = 0; i < r.length; i++) {
2075
+ var a = r[i], o = parseFloat(a.getAttribute("data-tx")), s = parseFloat(a.getAttribute("data-ty"));
2076
+ if (!isFinite(o) || !isFinite(s)) {
2077
+ var c = a.querySelector("rect");
2078
+ c ? (o = parseFloat(c.getAttribute("x")) + parseFloat(c.getAttribute("width")) / 2, s = parseFloat(c.getAttribute("y")) + parseFloat(c.getAttribute("height")) / 2) : (o = 0, s = 0);
2079
+ }
2080
+ a.setAttribute("transform", "translate(" + o + " " + s + ") scale(" + Math.round(n * 1e3) / 1e3 + ") translate(" + -o + " " + -s + ")");
2081
+ }
2082
+ }
2083
+ }
2084
+ function R(e, t, n, r, i) {
1901
2085
  if (!(e > 0) || !(t >= 0) || !(r >= 0) || !(i > 0)) return 0;
1902
2086
  var a = e - 2 * i * (r - 1);
1903
2087
  return a <= 0 ? 0 : 2 * i * (t + n) / a;
1904
2088
  }
1905
- function M(e, t) {
2089
+ function z(e, t) {
1906
2090
  (!(e > 0) || !isFinite(e)) && (e = 1);
1907
2091
  var n = Math.floor(Math.log10(e)), r = e / 10 ** n;
1908
2092
  return (t ? r < 1.5 ? 1 : r < 3 ? 2 : r < 7 ? 5 : 10 : r <= 1 ? 1 : r <= 2 ? 2 : r <= 5 ? 5 : 10) * 10 ** n;
1909
2093
  }
1910
- function N(e, t) {
2094
+ function B(e, t) {
1911
2095
  if (!isFinite(e) || !isFinite(t)) return [0, 1];
1912
2096
  e === t && (--e, t += 1);
1913
- var n = M(M(t - e, !1) / 5, !0) || 1;
2097
+ var n = z(z(t - e, !1) / 5, !0) || 1;
1914
2098
  return [Math.floor(e / n) * n, Math.ceil(t / n) * n];
1915
2099
  }
1916
- function P(e, t, n, r) {
2100
+ function V(e, t, n, r) {
1917
2101
  if (e[t] !== void 0 && e[t] !== "") {
1918
2102
  var i = parseFloat(e[t]);
1919
2103
  if (!isNaN(i)) return i;
1920
2104
  }
1921
2105
  return e[n] === void 0 ? r : +e[n];
1922
2106
  }
1923
- function F(e, t, n, r, i) {
1924
- var a = (i || 40) * .9;
2107
+ var H = 38;
2108
+ function U(e, t, n, r, i) {
2109
+ var a = e.length, o = n || 30;
2110
+ if (!a) return {
2111
+ rotate: !1,
2112
+ padB: o,
2113
+ interval: 1
2114
+ };
2115
+ for (var s = r || t * a, c = 0, l = 0; l < a; l++) if (!(e[l] == null || e[l] === "")) {
2116
+ var u = j(String(e[l]));
2117
+ u > c && (c = u);
2118
+ }
2119
+ var d = P / F * c, f = Math.max(H, d * 1.15), p = Math.max(H * .72, d * .72), m = Math.max(1, Math.floor(s / f)), h = Math.max(1, Math.floor(s / p)), g = 1, _ = !1, v = i === void 0 ? "auto" : String(i);
2120
+ if (v === "0") g = 1, _ = a > m && (a <= h || a <= 10);
2121
+ else if (v === "auto") a <= m ? (g = 1, _ = !1) : a <= 10 || a <= h ? (g = 1, _ = !0) : (g = Math.ceil(a / m), _ = !1);
2122
+ else {
2123
+ var y = parseInt(v, 10);
2124
+ !isNaN(y) && y > 1 ? (g = y, _ = Math.ceil(a / g) > m && Math.ceil(a / g) <= h) : (g = 1, _ = a > m);
2125
+ }
2126
+ return _ && (o = Math.max(n || 30, 52)), {
2127
+ rotate: _,
2128
+ padB: o,
2129
+ interval: g
2130
+ };
2131
+ }
2132
+ var W = 30;
2133
+ function G(e, t) {
2134
+ var n = e.zoom;
2135
+ if (n === void 0) return !1;
2136
+ var r = String(n);
2137
+ if (r === "" || r === "auto" || r === "on" || r === "true") return t > W;
2138
+ if (r === "off" || r === "false" || r === "0") return !1;
2139
+ var i = parseInt(r, 10);
2140
+ return isNaN(i) ? t > W : t > i;
2141
+ }
2142
+ function K(e, t, n) {
2143
+ if (e <= 1) return {
2144
+ s: 0,
2145
+ e: Math.max(0, e - 1)
2146
+ };
2147
+ var r = Math.round(t * (e - 1)), i = Math.round(n * (e - 1));
2148
+ if (r < 0 && (r = 0), i > e - 1 && (i = e - 1), r > i) {
2149
+ var a = r;
2150
+ r = i, i = a;
2151
+ }
2152
+ var o = Math.min(e - 1, Math.max(2, Math.floor(e * .1)));
2153
+ return i - r < o && (r + o <= e - 1 ? i = r + o : (i = e - 1, r = Math.max(0, i - o))), {
2154
+ s: r,
2155
+ e: i
2156
+ };
2157
+ }
2158
+ function q(e, t, n, r, i, a, o) {
2159
+ var c = (i || 40) * .9, l = typeof a == "boolean", u = o && o > 1 ? o : 1, d = t.length - 1;
1925
2160
  t.forEach(function(t, i) {
1926
- if (!(t == null || t === "")) {
1927
- var o = n[i], c = D(String(t)) > a, l = s("text", {
2161
+ if (!(t == null || t === "") && !(u > 1 && !(i === 0 || i === d || i % u === 0))) {
2162
+ var o = n[i], f = l ? a : j(String(t)) > c, p = s("text", {
1928
2163
  x: o,
1929
2164
  y: r,
1930
- "text-anchor": c ? "end" : "middle",
2165
+ "text-anchor": f ? "end" : "middle",
1931
2166
  fill: "var(--tokui-chart-text, #999)",
1932
2167
  "font-size": "9"
1933
2168
  });
1934
- c && l.setAttribute("transform", "rotate(-45 " + o + " " + r + ")"), l.textContent = t, e.appendChild(l);
2169
+ f && p.setAttribute("transform", "rotate(-45 " + o + " " + r + ")"), p.textContent = t, e.appendChild(p);
1935
2170
  }
1936
2171
  });
1937
2172
  }
1938
- function I(e, t, n, r, i) {
2173
+ function J(e, t, n, r, i) {
1939
2174
  var a = s("text", {
1940
2175
  x: n,
1941
2176
  y: r,
@@ -1945,7 +2180,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
1945
2180
  });
1946
2181
  i && a.setAttribute("transform", "rotate(-90 " + n + " " + r + ")"), a.textContent = t, e.appendChild(a);
1947
2182
  }
1948
- function L(e, t, n, r) {
2183
+ function ee(e, t, n, r) {
1949
2184
  var i = typeof window < "u" && typeof window.requestAnimationFrame == "function", a = i && window.matchMedia && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
1950
2185
  if (!(n > 0) || !i || a) {
1951
2186
  r(t);
@@ -1959,230 +2194,422 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
1959
2194
  }
1960
2195
  window.requestAnimationFrame(s);
1961
2196
  }
1962
- function R(e) {
2197
+ function te(e) {
1963
2198
  return e = String(e).replace("#", ""), e.length === 3 && (e = e[0] + e[0] + e[1] + e[1] + e[2] + e[2]), /^[0-9a-fA-F]{6}$/.test(e) ? [
1964
2199
  parseInt(e.slice(0, 2), 16),
1965
2200
  parseInt(e.slice(2, 4), 16),
1966
2201
  parseInt(e.slice(4, 6), 16)
1967
2202
  ] : null;
1968
2203
  }
1969
- function z(e, t, n) {
1970
- var r = R(e), i = R(t);
2204
+ function Y(e, t, n) {
2205
+ var r = te(e), i = te(t);
1971
2206
  if (!r || !i) return e;
1972
2207
  var a = Math.round(r[0] + (i[0] - r[0]) * n), o = Math.round(r[1] + (i[1] - r[1]) * n), s = Math.round(r[2] + (i[2] - r[2]) * n);
1973
2208
  return "rgb(" + a + "," + o + "," + s + ")";
1974
2209
  }
1975
- function B(e, t) {
2210
+ function X(e, t) {
1976
2211
  if (t = b(t, 0, 1), e.length === 1) return e[0];
1977
2212
  var n = t * (e.length - 1), r = Math.min(e.length - 2, Math.floor(n));
1978
- return z(e[r], e[r + 1], n - r);
2213
+ return Y(e[r], e[r + 1], n - r);
1979
2214
  }
1980
- function V(e, t, r, i) {
2215
+ function ne(e, t, r, i) {
1981
2216
  var a = i.orient === "h" || i.orientation === "h", c = i.stack !== void 0 || i.stacked !== void 0, l = f(i.d);
1982
2217
  if (l.length || (l = [e]), l.every(function(e) {
1983
2218
  return !e.length;
1984
- })) return E(parseInt(i.w) || 400, parseInt(i.h) || 200);
2219
+ })) return A(parseInt(i.w) || 400, parseInt(i.h) || 200);
1985
2220
  var u = Math.max.apply(null, l.map(function(e) {
1986
2221
  return e.length;
1987
2222
  })), d, p;
1988
2223
  a ? (d = parseInt(i.w) || 480, p = x(i, "h", u, 36, 26, 200, 1200)) : (d = x(i, "w", u, 52, 26, 360, 2400), p = S(d, parseInt(i.h) || 200, 4, 560));
1989
- var m = l.length > 1, h = p + (m ? o : 0), g = 0, _ = 0;
1990
- if (c) for (var v = 0; v < u; v++) {
1991
- var y = 0, b = 0;
2224
+ var m = l.length > 1, h = !a && G(i, u), g = h ? 28 : 0, _ = p + (m ? o : 0) + g, v = 0, y = 0;
2225
+ if (c) for (var O = 0; O < u; O++) {
2226
+ var j = 0, M = 0;
1992
2227
  l.forEach(function(e) {
1993
- var t = e[v] || 0;
1994
- t >= 0 ? y += t : b += t;
1995
- }), y > g && (g = y), b < _ && (_ = b);
2228
+ var t = e[O] || 0;
2229
+ t >= 0 ? j += t : M += t;
2230
+ }), j > v && (v = j), M < y && (y = M);
1996
2231
  }
1997
2232
  else l.forEach(function(e) {
1998
2233
  e.forEach(function(e) {
1999
- e > g && (g = e), e < _ && (_ = e);
2234
+ e > v && (v = e), e < y && (y = e);
2000
2235
  });
2001
2236
  });
2002
- g = P(i, "ymax", "_yMax", g || 1);
2003
- var O = g - _ || 1, k = s("svg", {
2004
- viewBox: "0 0 " + d + " " + h,
2237
+ v = V(i, "ymax", "_yMax", v || 1);
2238
+ var P = v - y || 1, F = s("svg", {
2239
+ viewBox: "0 0 " + d + " " + _,
2005
2240
  class: "tokui-chart__svg",
2006
2241
  preserveAspectRatio: "xMidYMid meet"
2007
- }), A = C(d, h);
2008
- function j(e, t, n) {
2009
- var r = c ? n >= 0 ? M[t] || 0 : N[t] || 0 : 0, i = n >= 0 ? r + n : r, a = n >= 0 ? r : r + n;
2010
- return c && (n >= 0 ? M[t] = i : N[t] = a), [a, i];
2242
+ }), I = C(d, _);
2243
+ function L(e, t, n) {
2244
+ var r = c ? n >= 0 ? R[t] || 0 : z[t] || 0 : 0, i = n >= 0 ? r + n : r, a = n >= 0 ? r : r + n;
2245
+ return c && (n >= 0 ? R[t] = i : z[t] = a), [a, i];
2011
2246
  }
2012
- var M = [], N = [];
2247
+ var R = [], z = [];
2013
2248
  if (a) {
2014
- var L = 70, R = i.xl ? 30 : 22, z = 14, B = i.yl ? 30 : 16, V = d - L - B, H = p - z - R, U = H / u, W = Math.max(3, c ? U * .6 : U * .6 / l.length);
2249
+ var B = 70, H = i.xl ? 30 : 22, W = 14, ee = i.yl ? 30 : 16, te = d - B - ee, Y = p - W - H, X = Y / u, ne = Math.max(3, c ? X * .6 : X * .6 / l.length);
2015
2250
  function e(e) {
2016
- return L + V * (e - _) / O;
2017
- }
2018
- for (var G = 0; G <= 4; G++) {
2019
- var K = _ + O * G / 4, q = e(K);
2020
- k.appendChild(s("line", {
2021
- x1: q,
2022
- y1: z,
2023
- x2: q,
2024
- y2: z + H,
2251
+ return B + te * (e - y) / P;
2252
+ }
2253
+ for (var re = 0; re <= 4; re++) {
2254
+ var ie = y + P * re / 4, ae = e(ie);
2255
+ F.appendChild(s("line", {
2256
+ x1: ae,
2257
+ y1: W,
2258
+ x2: ae,
2259
+ y2: W + Y,
2025
2260
  stroke: "var(--tokui-chart-grid, #e8e8e8)",
2026
2261
  "stroke-width": 1
2027
- })), k.appendChild(s("text", {
2028
- x: q,
2029
- y: z + H + 10,
2262
+ })), F.appendChild(s("text", {
2263
+ x: ae,
2264
+ y: W + Y + 10,
2030
2265
  "text-anchor": "middle",
2031
2266
  fill: "var(--tokui-chart-text, #999)",
2032
2267
  "font-size": "9"
2033
- })).textContent = Math.round(K);
2268
+ })).textContent = Math.round(ie);
2034
2269
  }
2035
2270
  l.forEach(function(a, o) {
2036
2271
  a.forEach(function(a, u) {
2037
2272
  if (a != null) {
2038
- var d = j(o, u, a), f = e(d[0]), p = Math.max(0, e(d[1]) - f), m = z + u * U + U * .2 + (c ? 0 : o * W), h = s("g", { class: "tokui-chart-tip-group" });
2273
+ var d = L(o, u, a), f = e(d[0]), p = Math.max(0, e(d[1]) - f), m = W + u * X + X * .2 + (c ? 0 : o * ne), h = s("g", { class: "tokui-chart-tip-group" });
2039
2274
  if (h.appendChild(s("rect", {
2040
2275
  x: f,
2041
2276
  y: m,
2042
2277
  width: p,
2043
- height: W - 1,
2278
+ height: ne - 1,
2044
2279
  fill: r[o % r.length],
2045
2280
  rx: 2,
2046
2281
  class: "tokui-chart-bar"
2047
- })), A.add(h, (t[u] || "") + ": " + a + (l.length > 1 ? " (" + n("chart.seriesDefault", { n: o + 1 }) + ")" : ""), f + p / 2, m), k.appendChild(h), i.vals !== void 0) {
2282
+ })), I.add(h, (t[u] || "") + ": " + a + (l.length > 1 ? " (" + n("chart.seriesDefault", { n: o + 1 }) + ")" : ""), f + p / 2, m), F.appendChild(h), i.vals !== void 0) {
2048
2283
  var g = s("text", {
2049
2284
  x: f + p + 3,
2050
- y: m + W / 2 + 2,
2285
+ y: m + ne / 2 + 2,
2051
2286
  "text-anchor": "start",
2052
2287
  fill: "var(--tokui-chart-text, #666)",
2053
2288
  "font-size": "8"
2054
2289
  });
2055
- g.textContent = a, k.appendChild(g);
2290
+ g.textContent = a, F.appendChild(g);
2056
2291
  }
2057
2292
  }
2058
2293
  });
2059
2294
  }), t.slice(0, u).forEach(function(e, t) {
2060
2295
  if (!(e == null || e === "")) {
2061
- var n = z + t * U + U / 2;
2062
- k.appendChild(s("text", {
2063
- x: L - 6,
2296
+ var n = W + t * X + X / 2;
2297
+ F.appendChild(s("text", {
2298
+ x: B - 6,
2064
2299
  y: n + 3,
2065
2300
  "text-anchor": "end",
2066
2301
  fill: "var(--tokui-chart-text, #999)",
2067
2302
  "font-size": "9"
2068
2303
  })).textContent = e;
2069
2304
  }
2070
- }), i.xl && I(k, i.xl, L + V / 2, z + H + 22, !1), i.yl && I(k, i.yl, 12, z + H / 2, !0);
2305
+ }), i.xl && J(F, i.xl, B + te / 2, W + Y + 22, !1), i.yl && J(F, i.yl, 12, W + Y / 2, !0);
2071
2306
  } else {
2072
- var J = i.yl ? 46 : 40, ee = 12, te = i.xl ? 38 : 28, Y = 18, ne = d - J - ee, re = p - Y - te;
2307
+ var Z = i.yl ? 46 : 40, oe = 12, se = 18, Q = d - Z - oe, ce = Q / u, le = U(t.slice(0, u), ce, i.xl ? 38 : 28, Q, i.interval), ue = le.padB, de = p - se - ue;
2073
2308
  function e(e) {
2074
- return Y + re * (1 - (e - _) / O);
2075
- }
2076
- for (var ie = 0; ie <= 4; ie++) {
2077
- var ae = _ + O * ie / 4, oe = e(ae);
2078
- k.appendChild(s("line", {
2079
- x1: J,
2080
- y1: oe,
2081
- x2: d - ee,
2082
- y2: oe,
2309
+ return se + de * (1 - (e - y) / P);
2310
+ }
2311
+ for (var fe = 0; fe <= 4; fe++) {
2312
+ var pe = y + P * fe / 4, me = e(pe);
2313
+ F.appendChild(s("line", {
2314
+ x1: Z,
2315
+ y1: me,
2316
+ x2: d - oe,
2317
+ y2: me,
2083
2318
  stroke: "var(--tokui-chart-grid, #e8e8e8)",
2084
2319
  "stroke-width": 1
2085
- })), k.appendChild(s("text", {
2086
- x: J - 4,
2087
- y: oe + 4,
2320
+ })), F.appendChild(s("text", {
2321
+ x: Z - 4,
2322
+ y: me + 4,
2088
2323
  "text-anchor": "end",
2089
2324
  fill: "var(--tokui-chart-text, #999)",
2090
2325
  "font-size": "9"
2091
- })).textContent = Math.round(ae);
2092
- }
2093
- if (_ < 0) {
2094
- var X = e(0);
2095
- k.appendChild(s("line", {
2096
- x1: J,
2097
- y1: X,
2098
- x2: d - ee,
2099
- y2: X,
2326
+ })).textContent = Math.round(pe);
2327
+ }
2328
+ if (y < 0) {
2329
+ var he = e(0);
2330
+ F.appendChild(s("line", {
2331
+ x1: Z,
2332
+ y1: he,
2333
+ x2: d - oe,
2334
+ y2: he,
2100
2335
  stroke: "var(--tokui-chart-axis, #bbb)",
2101
2336
  "stroke-width": 1
2102
2337
  }));
2103
2338
  }
2104
- var Z = ne / u, Q = Math.max(4, c ? Z * .6 : Z * .6 / l.length);
2105
- l.forEach(function(a, o) {
2106
- a.forEach(function(a, u) {
2107
- if (a != null) {
2108
- var d = j(o, u, a), f = e(d[1]), p = Math.max(0, (d[1] - d[0]) / O * re), m = J + u * Z + Z * .2 + (c ? 0 : o * Q), h = s("g", { class: "tokui-chart-tip-group" });
2109
- if (h.appendChild(s("rect", {
2110
- x: m,
2111
- y: f,
2112
- width: Q - 1,
2113
- height: p,
2114
- fill: r[o % r.length],
2115
- rx: 2,
2116
- class: "tokui-chart-bar"
2117
- })), A.add(h, (t[u] || "") + ": " + a + (l.length > 1 ? " (" + n("chart.seriesDefault", { n: o + 1 }) + ")" : ""), m + (Q - 1) / 2, f), k.appendChild(h), i.vals !== void 0) {
2118
- var g = s("text", {
2119
- x: m + (Q - 1) / 2,
2120
- y: f - 3,
2121
- "text-anchor": "middle",
2122
- fill: "var(--tokui-chart-text, #666)",
2123
- "font-size": "8"
2124
- });
2125
- g.textContent = a, k.appendChild(g);
2339
+ var ge = s("g", { class: "tokui-chart-plot" });
2340
+ F.appendChild(ge);
2341
+ var _e = h && l.length === 1 && !c, ve = null, ye = null, be = null, xe = null, Se = null, Ce = null, we = Q / u, Te = Math.max(4, we * .6), Ee = {
2342
+ s: 0,
2343
+ e: u - 1,
2344
+ sx: 1,
2345
+ tx: 0
2346
+ };
2347
+ if (_e) {
2348
+ var De = "tokui-chart-clip-" + ++N, Oe = s("defs"), j = s("clipPath", { id: De });
2349
+ j.appendChild(s("rect", {
2350
+ x: Z - 1,
2351
+ y: se - 1,
2352
+ width: Q + 2,
2353
+ height: de + 2
2354
+ })), Oe.appendChild(j), F.appendChild(Oe);
2355
+ var ke = s("g", { "clip-path": "url(#" + De + ")" });
2356
+ ge.appendChild(ke), ye = s("g", { class: "tokui-chart-plot-bars" }), ke.appendChild(ye), ve = [];
2357
+ for (var Ae = l[0], je = 0; je < u; je++) {
2358
+ var Me = Ae[je], Ne = s("rect", {
2359
+ x: Z + je * we + we * .2,
2360
+ y: e(Me),
2361
+ width: Math.max(1, Te - 1),
2362
+ height: Math.max(0, Me / P * de),
2363
+ rx: 2,
2364
+ fill: r[0],
2365
+ class: "tokui-chart-bar"
2366
+ });
2367
+ ye.appendChild(Ne), ve.push(Ne);
2368
+ }
2369
+ be = s("g", { class: "tokui-chart-plot-labels" }), ge.appendChild(be), Se = s("rect", {
2370
+ x: 0,
2371
+ y: 0,
2372
+ width: 0,
2373
+ height: 0,
2374
+ rx: 4,
2375
+ fill: "rgba(0,0,0,0.78)"
2376
+ }), Ce = s("text", {
2377
+ "text-anchor": "middle",
2378
+ "dominant-baseline": "central",
2379
+ fill: "#fff",
2380
+ "font-size": "10"
2381
+ }), xe = s("g", { class: "tokui-chart-tip tokui-chart-tip--shared" }), xe.appendChild(Se), xe.appendChild(Ce), I.layer.appendChild(xe);
2382
+ }
2383
+ function a(a, o, d) {
2384
+ var f = o - a + 1;
2385
+ if (_e) {
2386
+ var m = u / f, g = Z - m * (Z + a * we);
2387
+ if (ye.setAttribute("transform", "matrix(" + m + " 0 0 1 " + g + " 0)"), Ee.s = a, Ee.e = o, Ee.sx = m, Ee.tx = g, E(be), d) {
2388
+ for (var _ = Q / f, v = [], y = 0; y < f; y++) v.push(Z + y * _ + _ / 2);
2389
+ q(be, t.slice(a, o + 1), v, p - 8, _, le.rotate, le.interval);
2390
+ }
2391
+ return;
2392
+ }
2393
+ var b = Q / f;
2394
+ E(ge), d && E(I.layer);
2395
+ var x = Math.max(4, c ? b * .6 : b * .6 / l.length), S = [], C = [];
2396
+ l.forEach(function(u, f) {
2397
+ for (var p = a; p <= o; p++) {
2398
+ var m = u[p];
2399
+ if (m != null) {
2400
+ var h = c ? m >= 0 ? S[p] || 0 : C[p] || 0 : 0, g = m >= 0 ? h + m : h, _ = m >= 0 ? h : h + m;
2401
+ c && (m >= 0 ? S[p] = g : C[p] = _);
2402
+ var v = e(g), y = Math.max(0, (g - _) / P * de), w = Z + (p - a) * b + b * .2 + (c ? 0 : f * x), T = s("g", { class: "tokui-chart-tip-group" });
2403
+ if (T.appendChild(s("rect", {
2404
+ x: w,
2405
+ y: v,
2406
+ width: x - 1,
2407
+ height: y,
2408
+ fill: r[f % r.length],
2409
+ rx: 2,
2410
+ class: "tokui-chart-bar"
2411
+ })), d && I.add(T, (t[p] || "") + ": " + m + (l.length > 1 ? " (" + n("chart.seriesDefault", { n: f + 1 }) + ")" : ""), w + (x - 1) / 2, v), ge.appendChild(T), i.vals !== void 0) {
2412
+ var E = s("text", {
2413
+ x: w + (x - 1) / 2,
2414
+ y: v - 3,
2415
+ "text-anchor": "middle",
2416
+ fill: "var(--tokui-chart-text, #666)",
2417
+ "font-size": "8"
2418
+ });
2419
+ E.textContent = m, ge.appendChild(E);
2420
+ }
2126
2421
  }
2127
2422
  }
2128
2423
  });
2129
- });
2130
- for (var se = [], ce = 0; ce < u; ce++) se.push(J + ce * Z + Z / 2);
2131
- F(k, t.slice(0, u), se, p - 8, Z), i.xl && I(k, i.xl, J + ne / 2, p - 8 + (D(String(t[0] || "")) > Z * .9 ? 26 : 12), !1), i.yl && I(k, i.yl, 12, Y + re / 2, !0);
2424
+ for (var w = [], D = 0; D < f; D++) w.push(Z + D * b + b / 2);
2425
+ q(ge, t.slice(a, o + 1), w, p - 8, b, le.rotate, le.interval), d && h && T(ge, F);
2426
+ }
2427
+ if (a(0, u - 1, !0), _e) {
2428
+ function n(e, t, n) {
2429
+ for (var r = 0, i = 0; i < e.length; i++) r += e.charCodeAt(i) > 127 ? 10 : 5.5;
2430
+ var a = r + 16, o = 18, s = t - a / 2, c = n - o - 6;
2431
+ s < 2 && (s = 2), s + a > d - 2 && (s = d - a - 2), c < 2 && (c = n + 10), Se.setAttribute("x", s), Se.setAttribute("y", c), Se.setAttribute("width", a), Se.setAttribute("height", o), Ce.setAttribute("x", s + a / 2), Ce.setAttribute("y", c + o / 2 + 1), Ce.textContent = e, xe.style.opacity = "1";
2432
+ }
2433
+ ve.forEach(function(r, i) {
2434
+ r.addEventListener("mouseenter", function() {
2435
+ var r = l[0][i];
2436
+ if (r != null) {
2437
+ var a = Z + i * we + we * .2 + (Te - 1) / 2, o = Ee.sx * a + Ee.tx, s = e(r);
2438
+ n((t[i] || "") + ": " + r, o, s);
2439
+ }
2440
+ }), r.addEventListener("mouseleave", function() {
2441
+ xe.style.opacity = "";
2442
+ });
2443
+ });
2444
+ }
2445
+ i.xl && J(F, i.xl, Z + Q / 2, p - 8 + (le.rotate ? 26 : 12), !1), i.yl && J(F, i.yl, 12, se + de / 2, !0), h && (function() {
2446
+ var e = s("g", { class: "tokui-chart-zoom" });
2447
+ F.appendChild(e);
2448
+ var t = p + 6, n = 16, r = n - 2;
2449
+ e.appendChild(s("rect", {
2450
+ x: Z,
2451
+ y: t,
2452
+ width: Q,
2453
+ height: n,
2454
+ fill: "var(--tokui-chart-grid, #e8e8e8)",
2455
+ rx: 3,
2456
+ class: "tokui-chart-zoom-track"
2457
+ }));
2458
+ var i = [];
2459
+ l.forEach(function(e) {
2460
+ for (var t = 0; t < e.length; t++) {
2461
+ var n = e[t] || 0;
2462
+ c ? i[t] = (i[t] || 0) + n : i[t] = Math.max(i[t] || 0, n);
2463
+ }
2464
+ });
2465
+ for (var o = Q / u, d = 0; d < u; d++) {
2466
+ var f = Math.max(1, (i[d] - y) / P * r);
2467
+ e.appendChild(s("rect", {
2468
+ x: Z + d * o + .5,
2469
+ y: t + n - 1 - f,
2470
+ width: Math.max(1, o - 1),
2471
+ height: f,
2472
+ fill: "var(--tokui-chart-text, #bbb)",
2473
+ opacity: "0.55",
2474
+ class: "tokui-chart-zoom-overview"
2475
+ }));
2476
+ }
2477
+ var m = s("rect", {
2478
+ y: t - 1,
2479
+ height: n + 2,
2480
+ fill: "rgba(0,120,212,0.12)",
2481
+ stroke: "var(--tokui-primary-6, #1a73e8)",
2482
+ "stroke-width": 1,
2483
+ rx: 2,
2484
+ class: "tokui-chart-zoom-window",
2485
+ style: "cursor:grab;"
2486
+ }), h = s("rect", {
2487
+ width: 6,
2488
+ height: n + 6,
2489
+ y: t - 3,
2490
+ fill: "var(--tokui-primary-6, #1a73e8)",
2491
+ rx: 2,
2492
+ class: "tokui-chart-zoom-handle tokui-chart-zoom-handle--l",
2493
+ style: "cursor:ew-resize;"
2494
+ }), g = s("rect", {
2495
+ width: 6,
2496
+ height: n + 6,
2497
+ y: t - 3,
2498
+ fill: "var(--tokui-primary-6, #1a73e8)",
2499
+ rx: 2,
2500
+ class: "tokui-chart-zoom-handle tokui-chart-zoom-handle--r",
2501
+ style: "cursor:ew-resize;"
2502
+ });
2503
+ e.appendChild(m), e.appendChild(h), e.appendChild(g);
2504
+ var _ = 0, v = 1, x = Math.max(2, Math.floor(u * .1)) / (u - 1);
2505
+ function S(e, t) {
2506
+ var n = Z + e * Q, r = Z + t * Q;
2507
+ m.setAttribute("x", n), m.setAttribute("width", Math.max(2, r - n)), h.setAttribute("x", n - 3), g.setAttribute("x", r - 3);
2508
+ }
2509
+ S(_, v);
2510
+ var C = typeof window < "u" && typeof window.requestAnimationFrame == "function", w = !1, T = null;
2511
+ function E(e, t) {
2512
+ T = [e, t], !w && (w = !0, C ? window.requestAnimationFrame(function() {
2513
+ w = !1, T && a(T[0], T[1], !1);
2514
+ }) : (w = !1, a(e, t, !1)));
2515
+ }
2516
+ function O(e) {
2517
+ S(_, v);
2518
+ var t = K(u, _, v);
2519
+ e ? E(t.s, t.e) : (T = null, a(t.s, t.e, !0));
2520
+ }
2521
+ function k(e, t) {
2522
+ e.style.touchAction = "none", e.style.userSelect = "none", e.style.webkitUserDrag = "none";
2523
+ function n(n, r) {
2524
+ var i = !0, a = n;
2525
+ function o(e) {
2526
+ if (i) {
2527
+ var n = b((e - Z) / Q, 0, 1);
2528
+ if (t === "l") _ = Math.min(n, v - x);
2529
+ else if (t === "r") v = Math.max(n, _ + x);
2530
+ else {
2531
+ var r = v - _, o = (e - a) / Q;
2532
+ _ = b(_ + o, 0, 1 - r), v = _ + r;
2533
+ }
2534
+ a = e, O(!0);
2535
+ }
2536
+ }
2537
+ function s(e) {
2538
+ e.preventDefault(), o(D(F, e.clientX));
2539
+ }
2540
+ function c() {
2541
+ i = !1, e.removeEventListener("pointermove", s), e.removeEventListener("pointerup", c);
2542
+ try {
2543
+ e.releasePointerCapture(r);
2544
+ } catch {}
2545
+ O(!1);
2546
+ }
2547
+ e.addEventListener("pointermove", s), e.addEventListener("pointerup", c);
2548
+ }
2549
+ e.addEventListener("pointerdown", function(t) {
2550
+ t.preventDefault(), t.stopPropagation();
2551
+ try {
2552
+ e.setPointerCapture(t.pointerId);
2553
+ } catch {}
2554
+ n(D(F, t.clientX), t.pointerId);
2555
+ });
2556
+ }
2557
+ k(h, "l"), k(g, "r"), k(m, "pan");
2558
+ })();
2132
2559
  }
2133
- return m && T(k, l.map(function(e, t) {
2560
+ return m && k(F, l.map(function(e, t) {
2134
2561
  return {
2135
2562
  color: r[t % r.length],
2136
2563
  text: n("chart.seriesDefault", { n: t + 1 })
2137
2564
  };
2138
- }), d, p + 6), k.appendChild(A.layer), w(k), k;
2565
+ }), d, p + 6), F.appendChild(I.layer), h || w(F), F;
2139
2566
  }
2140
- function H(e, t, r, i) {
2567
+ function re(e, t, r, i) {
2141
2568
  var a = i.stack !== void 0 || i.stacked !== void 0, c = i.smooth !== void 0, l = f(i.d);
2142
2569
  if (l.length || (l = [e]), l.every(function(e) {
2143
2570
  return !e.length;
2144
- })) return E(parseInt(i.w) || 400, parseInt(i.h) || 200);
2571
+ })) return A(parseInt(i.w) || 400, parseInt(i.h) || 200);
2145
2572
  var u = Math.max.apply(null, l.map(function(e) {
2146
2573
  return e.length;
2147
- })), d = x(i, "w", u, 52, 24, 360, 2400), p = S(d, parseInt(i.h) || 200, 4, 560), m = l.length > 1, h = p + (m ? o : 0), g = l.map(function(e) {
2574
+ })), d = x(i, "w", u, 52, 24, 360, 2400), p = S(d, parseInt(i.h) || 200, 4, 560), m = l.length > 1, h = G(i, u), g = h ? 28 : 0, _ = p + (m ? o : 0) + g, v = l.map(function(e) {
2148
2575
  return e.slice();
2149
2576
  });
2150
- if (a) for (var _ = 1; _ < g.length; _++) for (var v = 0; v < u; v++) g[_][v] = (g[_][v] || 0) + (g[_ - 1][v] || 0);
2151
- var y = 0, b = Infinity;
2152
- g.forEach(function(e) {
2577
+ if (a) for (var y = 1; y < v.length; y++) for (var b = 0; b < u; b++) v[y][b] = (v[y][b] || 0) + (v[y - 1][b] || 0);
2578
+ var T = 0, E = Infinity;
2579
+ v.forEach(function(e) {
2153
2580
  e.forEach(function(e) {
2154
- e > y && (y = e), e < b && (b = e);
2581
+ e > T && (T = e), e < E && (E = e);
2155
2582
  });
2156
- }), b === Infinity && (b = 0), b > 0 && !a && (b = 0);
2157
- var O = y - b || 1, k = i.yl ? 46 : 40, A = 12, j = i.xl ? 38 : 28, M = 18, N = d - k - A, P = p - M - j, L = s("svg", {
2158
- viewBox: "0 0 " + d + " " + h,
2583
+ }), E === Infinity && (E = 0), E > 0 && !a && (E = 0);
2584
+ var D = T - E || 1, j = i.yl ? 46 : 40, M = 12, N = 18, P = d - j - M, F = u > 1 ? P / (u - 1) : P, I = U(t.slice(0, u), F, i.xl ? 38 : 28, P, i.interval), L = I.padB, R = p - N - L, z = s("svg", {
2585
+ viewBox: "0 0 " + d + " " + _,
2159
2586
  class: "tokui-chart__svg",
2160
2587
  preserveAspectRatio: "xMidYMid meet"
2161
- }), R = C(d, h);
2162
- function z(e) {
2163
- return k + (u > 1 ? e * N / (u - 1) : N / 2);
2164
- }
2165
- function B(e) {
2166
- return M + P * (1 - (e - b) / O);
2167
- }
2168
- for (var V = 0; V <= 4; V++) {
2169
- var H = b + O * V / 4, U = B(H);
2170
- L.appendChild(s("line", {
2171
- x1: k,
2172
- y1: U,
2173
- x2: d - A,
2174
- y2: U,
2588
+ }), B = C(d, _);
2589
+ function V(e) {
2590
+ return j + (u > 1 ? e * P / (u - 1) : P / 2);
2591
+ }
2592
+ function H(e) {
2593
+ return N + R * (1 - (e - E) / D);
2594
+ }
2595
+ for (var W = 0; W <= 4; W++) {
2596
+ var K = E + D * W / 4, ee = H(K);
2597
+ z.appendChild(s("line", {
2598
+ x1: j,
2599
+ y1: ee,
2600
+ x2: d - M,
2601
+ y2: ee,
2175
2602
  stroke: "var(--tokui-chart-grid, #e8e8e8)",
2176
2603
  "stroke-width": 1
2177
- })), L.appendChild(s("text", {
2178
- x: k - 4,
2179
- y: U + 4,
2604
+ })), z.appendChild(s("text", {
2605
+ x: j - 4,
2606
+ y: ee + 4,
2180
2607
  "text-anchor": "end",
2181
2608
  fill: "var(--tokui-chart-text, #999)",
2182
2609
  "font-size": "9"
2183
- })).textContent = Math.round(H * 10) / 10;
2610
+ })).textContent = Math.round(K * 10) / 10;
2184
2611
  }
2185
- function W(e) {
2612
+ function te(e) {
2186
2613
  if (e.length < 2) return e.length ? "M" + e[0].x + "," + e[0].y : "";
2187
2614
  if (e.length === 2) return "M" + e[0].x + "," + e[0].y + " L" + e[1].x + "," + e[1].y;
2188
2615
  for (var t = "M" + e[0].x + "," + e[0].y, n = 0; n < e.length - 1; n++) {
@@ -2191,49 +2618,52 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
2191
2618
  }
2192
2619
  return t;
2193
2620
  }
2194
- g.forEach(function(e, o) {
2621
+ var Y = h ? s("g", { class: "tokui-chart-plot" }) : null;
2622
+ Y && z.appendChild(Y);
2623
+ var X = Y || z, ne = [];
2624
+ if (v.forEach(function(e, o) {
2195
2625
  for (var u = [], d = 0; d < e.length; d++) {
2196
2626
  var f = e[d];
2197
2627
  f != null && u.push({
2198
- x: z(d),
2199
- y: B(f),
2628
+ x: V(d),
2629
+ y: H(f),
2200
2630
  idx: d
2201
2631
  });
2202
2632
  }
2203
2633
  if (u.length) {
2204
2634
  if (i.area !== void 0 || a) if (a && o > 0) {
2205
- for (var p = [], m = 0; m < g[o - 1].length; m++) g[o - 1][m] !== void 0 && p.push({
2206
- x: z(m),
2207
- y: B(g[o - 1][m])
2635
+ for (var p = [], m = 0; m < v[o - 1].length; m++) v[o - 1][m] !== void 0 && p.push({
2636
+ x: V(m),
2637
+ y: H(v[o - 1][m])
2208
2638
  });
2209
- var h = "M" + u[0].x + "," + u[0].y;
2639
+ var g = "M" + u[0].x + "," + u[0].y;
2210
2640
  u.forEach(function(e) {
2211
- h += " L" + e.x + "," + e.y;
2641
+ g += " L" + e.x + "," + e.y;
2212
2642
  });
2213
- for (var _ = p.length - 1; _ >= 0; _--) h += " L" + p[_].x + "," + p[_].y;
2214
- h += " Z", L.appendChild(s("path", {
2215
- d: h,
2643
+ for (var _ = p.length - 1; _ >= 0; _--) g += " L" + p[_].x + "," + p[_].y;
2644
+ g += " Z", X.appendChild(s("path", {
2645
+ d: g,
2216
2646
  fill: r[o % r.length],
2217
2647
  opacity: "0.4"
2218
2648
  }));
2219
2649
  } else {
2220
- var v = B(Math.max(0, b)), y = "M" + u[0].x + "," + v;
2650
+ var y = H(Math.max(0, E)), b = "M" + u[0].x + "," + y;
2221
2651
  u.forEach(function(e) {
2222
- y += " L" + e.x + "," + e.y;
2223
- }), y += " L" + u[u.length - 1].x + "," + v + " Z", L.appendChild(s("path", {
2224
- d: y,
2652
+ b += " L" + e.x + "," + e.y;
2653
+ }), b += " L" + u[u.length - 1].x + "," + y + " Z", X.appendChild(s("path", {
2654
+ d: b,
2225
2655
  fill: r[o % r.length],
2226
2656
  opacity: "0.15"
2227
2657
  }));
2228
2658
  }
2229
- c ? L.appendChild(s("path", {
2230
- d: W(u),
2659
+ c ? X.appendChild(s("path", {
2660
+ d: te(u),
2231
2661
  fill: "none",
2232
2662
  stroke: r[o % r.length],
2233
2663
  "stroke-width": 2,
2234
2664
  "stroke-linejoin": "round",
2235
2665
  "stroke-linecap": "round"
2236
- })) : L.appendChild(s("polyline", {
2666
+ })) : X.appendChild(s("polyline", {
2237
2667
  points: u.map(function(e) {
2238
2668
  return e.x + "," + e.y;
2239
2669
  }).join(" "),
@@ -2244,21 +2674,50 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
2244
2674
  }));
2245
2675
  var x = l[o];
2246
2676
  u.forEach(function(a) {
2247
- var c = s("g", { class: "tokui-chart-tip-group" });
2248
- c.appendChild(s("circle", {
2249
- cx: a.x,
2250
- cy: a.y,
2251
- r: 8,
2252
- fill: "transparent"
2253
- })), c.appendChild(s("circle", {
2254
- cx: a.x,
2255
- cy: a.y,
2256
- r: 3,
2257
- fill: "#fff",
2258
- stroke: r[o % r.length],
2259
- "stroke-width": 2,
2260
- class: "tokui-chart-dot"
2261
- })), R.add(c, (t[a.idx] || "") + ": " + (x[a.idx] === void 0 ? e[a.idx] : x[a.idx]) + (l.length > 1 ? " (" + n("chart.seriesDefault", { n: o + 1 }) + ")" : ""), a.x, a.y), L.appendChild(c), i.vals !== void 0 && (L.appendChild(s("text", {
2677
+ if (h) {
2678
+ Y.appendChild(s("circle", {
2679
+ cx: a.x,
2680
+ cy: a.y,
2681
+ r: 3,
2682
+ fill: "#fff",
2683
+ stroke: r[o % r.length],
2684
+ "stroke-width": 2,
2685
+ class: "tokui-chart-dot"
2686
+ }));
2687
+ var c = s("circle", {
2688
+ cx: a.x,
2689
+ cy: a.y,
2690
+ r: 9,
2691
+ fill: "transparent",
2692
+ style: "cursor:pointer;"
2693
+ });
2694
+ Y.appendChild(c), ne.push({
2695
+ hit: c,
2696
+ si: o,
2697
+ idx: a.idx,
2698
+ x: a.x,
2699
+ y: a.y,
2700
+ orig: x,
2701
+ s: e
2702
+ });
2703
+ } else {
2704
+ var u = s("g", { class: "tokui-chart-tip-group" });
2705
+ u.appendChild(s("circle", {
2706
+ cx: a.x,
2707
+ cy: a.y,
2708
+ r: 8,
2709
+ fill: "transparent"
2710
+ })), u.appendChild(s("circle", {
2711
+ cx: a.x,
2712
+ cy: a.y,
2713
+ r: 3,
2714
+ fill: "#fff",
2715
+ stroke: r[o % r.length],
2716
+ "stroke-width": 2,
2717
+ class: "tokui-chart-dot"
2718
+ })), B.add(u, (t[a.idx] || "") + ": " + (x[a.idx] === void 0 ? e[a.idx] : x[a.idx]) + (l.length > 1 ? " (" + n("chart.seriesDefault", { n: o + 1 }) + ")" : ""), a.x, a.y), z.appendChild(u);
2719
+ }
2720
+ i.vals !== void 0 && (X.appendChild(s("text", {
2262
2721
  x: a.x,
2263
2722
  y: a.y - 6,
2264
2723
  "text-anchor": "middle",
@@ -2267,28 +2726,70 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
2267
2726
  })).textContent = x[a.idx] === void 0 ? e[a.idx] : x[a.idx]);
2268
2727
  });
2269
2728
  }
2270
- });
2271
- for (var G = [], K = 0; K < u; K++) G.push(z(K));
2272
- F(L, t.slice(0, u), G, p - 8, u > 1 ? N / (u - 1) : N);
2273
- var q = u > 1 ? N / (u - 1) : N;
2274
- return i.xl && I(L, i.xl, k + N / 2, p - 8 + (D(String(t[0] || "")) > q * .9 ? 26 : 12), !1), i.yl && I(L, i.yl, 12, M + P / 2, !0), m && T(L, l.map(function(e, t) {
2729
+ }), h) {
2730
+ var re = O(z, {
2731
+ plotG: Y,
2732
+ tipLayer: B.layer,
2733
+ padL: j,
2734
+ cw: P,
2735
+ padT: N,
2736
+ ch: R,
2737
+ h: p,
2738
+ w: d,
2739
+ n: u,
2740
+ srcLeft: function(e) {
2741
+ return j + (u > 1 ? e * P / (u - 1) : 0);
2742
+ },
2743
+ srcRight: function(e) {
2744
+ return j + (u > 1 ? e * P / (u - 1) : P);
2745
+ },
2746
+ overview: l.reduce(function(e, t) {
2747
+ for (var n = 0; n < t.length; n++) {
2748
+ var r = t[n] || 0;
2749
+ e[n] = Math.max(e[n] || 0, r);
2750
+ }
2751
+ return e;
2752
+ }, []),
2753
+ valMin: E,
2754
+ range: D,
2755
+ renderLabels: function(e, n, r) {
2756
+ for (var i = r - n, a = [], o = n; o <= r; o++) a.push(i > 0 ? j + (o - n) * P / i : j + P / 2);
2757
+ q(e, t.slice(n, r + 1), a, p - 8, F, I.rotate, I.interval);
2758
+ }
2759
+ });
2760
+ ne.forEach(function(e) {
2761
+ e.hit.addEventListener("mouseenter", function() {
2762
+ var r = e.orig[e.idx] === void 0 ? e.s[e.idx] : e.orig[e.idx];
2763
+ if (r != null) {
2764
+ var i = re.winState.sx * e.x + re.winState.tx;
2765
+ re.showTip((t[e.idx] || "") + ": " + r + (l.length > 1 ? " (" + n("chart.seriesDefault", { n: e.si + 1 }) + ")" : ""), i, e.y);
2766
+ }
2767
+ }), e.hit.addEventListener("mouseleave", function() {
2768
+ re.sharedTip.style.opacity = "";
2769
+ });
2770
+ });
2771
+ } else {
2772
+ for (var ie = [], ae = 0; ae < u; ae++) ie.push(V(ae));
2773
+ q(z, t.slice(0, u), ie, p - 8, F, I.rotate, I.interval);
2774
+ }
2775
+ return i.xl && J(z, i.xl, j + P / 2, p - 8 + (I.rotate ? 26 : 12), !1), i.yl && J(z, i.yl, 12, N + R / 2, !0), m && k(z, l.map(function(e, t) {
2275
2776
  return {
2276
2777
  color: r[t % r.length],
2277
2778
  text: n("chart.seriesDefault", { n: t + 1 })
2278
2779
  };
2279
- }), d, p + 6), L.appendChild(R.layer), w(L), L;
2780
+ }), d, p + 6), z.appendChild(B.layer), h || w(z), z;
2280
2781
  }
2281
- function U(e, t, n, r, i) {
2782
+ function ie(e, t, n, r, i) {
2282
2783
  var a = 10, s = 12, c = 4, l = 4;
2283
2784
  r > 0 || (r = 7);
2284
2785
  var u = 0;
2285
2786
  e.forEach(function(e, n) {
2286
2787
  if (t[n]) {
2287
- var r = Math.round(e / i * 100), a = D(t[n] + " " + e + "(" + r + "%)");
2788
+ var r = Math.round(e / i * 100), a = j(t[n] + " " + e + "(" + r + "%)");
2288
2789
  a > u && (u = a);
2289
2790
  }
2290
2791
  });
2291
- var d = u / k, f = a + s + c + l, p = f + d * r, m = parseInt(n.w) || 280, h = parseInt(n.h) || 280, g = a + r + l, _ = Math.max(8, Math.min(m, h) / 2 - g), v = _ + p;
2792
+ var d = u / F, f = a + s + c + l, p = f + d * r, m = parseInt(n.w) || 280, h = parseInt(n.h) || 280, g = a + r + l, _ = Math.max(8, Math.min(m, h) / 2 - g), v = _ + p;
2292
2793
  return {
2293
2794
  fs: r,
2294
2795
  leadLen: a,
@@ -2308,14 +2809,14 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
2308
2809
  totalH: (g + _) * 2 + o
2309
2810
  };
2310
2811
  }
2311
- function W(e, t, r, i) {
2812
+ function ae(e, t, r, i) {
2312
2813
  var a = parseInt(i.w) || 280, c = parseInt(i.h) || 280;
2313
- if (!e.length) return E(a, c + o);
2814
+ if (!e.length) return A(a, c + o);
2314
2815
  var l = e.reduce(function(e, t) {
2315
2816
  return e + t;
2316
2817
  }, 0) || 1, u = i._pieFs !== void 0 && i._pieFs !== "" ? parseFloat(i._pieFs) : 7;
2317
2818
  (!(u > 0) || !isFinite(u)) && (u = 7);
2318
- var d = U(e, t, i, u, l), f = [], p = -Math.PI / 2;
2819
+ var d = ie(e, t, i, u, l), f = [], p = -Math.PI / 2;
2319
2820
  e.forEach(function(e, t) {
2320
2821
  var n = e / l * 2 * Math.PI;
2321
2822
  f.push({
@@ -2332,16 +2833,28 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
2332
2833
  preserveAspectRatio: "xMidYMid meet"
2333
2834
  }), v = C(d.W, d.totalH);
2334
2835
  f.forEach(function(e) {
2335
- var i = e.idx, a = e.end - e.start, o = m + g * Math.cos(e.start), c = h + g * Math.sin(e.start), u = m + g * Math.cos(e.end), d = h + g * Math.sin(e.end), f = +(a > Math.PI), p = "M" + m + "," + h + " L" + o + "," + c + " A" + g + "," + g + " 0 " + f + " 1 " + u + "," + d + " Z", y = Math.round(e.val / l * 100), b = s("g", { class: "tokui-chart-tip-group" });
2336
- b.appendChild(s("path", {
2337
- d: p,
2836
+ var i = e.idx, a = e.end - e.start, o = Math.round(e.val / l * 100), c = s("g", { class: "tokui-chart-tip-group" });
2837
+ if (a >= 2 * Math.PI - 1e-9) c.appendChild(s("circle", {
2838
+ cx: m,
2839
+ cy: h,
2840
+ r: g,
2338
2841
  fill: r[i % r.length],
2339
2842
  stroke: "var(--tokui-chart-slice-stroke, #fff)",
2340
2843
  "stroke-width": 2,
2341
2844
  class: "tokui-chart-slice"
2342
2845
  }));
2846
+ else {
2847
+ var u = m + g * Math.cos(e.start), d = h + g * Math.sin(e.start), f = m + g * Math.cos(e.end), p = h + g * Math.sin(e.end), y = +(a > Math.PI), b = "M" + m + "," + h + " L" + u + "," + d + " A" + g + "," + g + " 0 " + y + " 1 " + f + "," + p + " Z";
2848
+ c.appendChild(s("path", {
2849
+ d: b,
2850
+ fill: r[i % r.length],
2851
+ stroke: "var(--tokui-chart-slice-stroke, #fff)",
2852
+ "stroke-width": 2,
2853
+ class: "tokui-chart-slice"
2854
+ }));
2855
+ }
2343
2856
  var x = m + g * .6 * Math.cos(e.mid), S = h + g * .6 * Math.sin(e.mid);
2344
- v.add(b, (t[i] || n("chart.itemDefault", { n: i + 1 })) + ": " + e.val + " (" + y + "%)", x, S), _.appendChild(b);
2857
+ v.add(c, (t[i] || n("chart.itemDefault", { n: i + 1 })) + ": " + e.val + " (" + o + "%)", x, S), _.appendChild(c);
2345
2858
  });
2346
2859
  var y = d.leadLen, b = d.tailLen, x = d.gap;
2347
2860
  return f.forEach(function(e) {
@@ -2364,18 +2877,18 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
2364
2877
  });
2365
2878
  w.textContent = t[n] + " " + e.val + "(" + a + "%)", _.appendChild(w);
2366
2879
  }
2367
- }), T(_, e.map(function(e, i) {
2880
+ }), k(_, e.map(function(e, i) {
2368
2881
  return {
2369
2882
  color: r[i % r.length],
2370
2883
  text: t[i] || n("chart.itemDefault", { n: i + 1 })
2371
2884
  };
2372
2885
  }), d.W, d.H + 6, d.fs), _.appendChild(v.layer), w(_), _;
2373
2886
  }
2374
- function G(e, t, r, i) {
2887
+ function Z(e, t, r, i) {
2375
2888
  var a = parseInt(i.w) || 240, c = parseInt(i.h) || 240, l = c + o, u = a / 2, d = c / 2, p = f(i.d);
2376
2889
  if (p.length || (p = [e]), p.every(function(e) {
2377
2890
  return !e.length;
2378
- })) return E(a, c + o);
2891
+ })) return A(a, c + o);
2379
2892
  var m = p.length > 1, h = Math.min(u, d) - 16, g = s("svg", {
2380
2893
  viewBox: "0 0 " + a + " " + l,
2381
2894
  class: "tokui-chart__svg",
@@ -2406,16 +2919,16 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
2406
2919
  "font-size": "16",
2407
2920
  "font-weight": "700",
2408
2921
  class: "tokui-chart-donut-value"
2409
- })).textContent = i.v + "%"), T(g, p[0].map(function(e, i) {
2922
+ })).textContent = i.v + "%"), k(g, p[0].map(function(e, i) {
2410
2923
  return {
2411
2924
  color: r[i % r.length],
2412
2925
  text: (t[i] || n("chart.itemDefault", { n: i + 1 })) + " " + e
2413
2926
  };
2414
2927
  }), a, c + 6), g.appendChild(_.layer), w(g), g;
2415
2928
  }
2416
- function K(e, t, r, i) {
2929
+ function oe(e, t, r, i) {
2417
2930
  var a = e.length, o = parseInt(i.w) || 480, c = parseInt(i.h) || 320;
2418
- if (!a) return E(o, c);
2931
+ if (!a) return A(o, c);
2419
2932
  var l = 14, u = 12, d = 14, f = c - l - u, p = a ? f / a : f, m = e[0] || 0, h = v(e) || 1, g = Math.round(o * .6), _ = g - d - 6, y = d + _ / 2, b = g + 10, x = s("svg", {
2420
2933
  viewBox: "0 0 " + o + " " + c,
2421
2934
  class: "tokui-chart__svg tokui-chart__svg--funnel",
@@ -2484,7 +2997,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
2484
2997
  S.add(O, T + ": " + i + " (" + n("chart.conversion", { pct: w }) + ")", y, C), x.appendChild(O);
2485
2998
  }), x.appendChild(S.layer), w(x), x;
2486
2999
  }
2487
- function q(e, t, r, i) {
3000
+ function se(e, t, r, i) {
2488
3001
  var a = parseInt(i.w) || 280, o = parseInt(i.h) || 200, c = a / 2, l = parseInt(i.range, 10);
2489
3002
  (isNaN(l) || l !== 180 && l !== 270 && l !== 360) && (l = 180);
2490
3003
  var u = l * Math.PI / 180, d = 1.5 * Math.PI, f = d - u / 2, p = d + u / 2, _ = l === 180 ? o - 34 : o / 2, v = _, y = Math.max(0, Math.sin(f)), x = l === 180 ? Math.max(40, Math.min(c - 34, _ - 24)) : Math.max(36, Math.min(c - 30, (o - 28) / (1 + y + .35))), S = parseFloat(i.min);
@@ -2522,86 +3035,86 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
2522
3035
  return N[0];
2523
3036
  }
2524
3037
  var I = M.length ? F(D) : A[i.status] || (g(i.c) ? i.c : null) || r[0] || A.primary;
2525
- function R(e, t) {
3038
+ function L(e, t) {
2526
3039
  return [c + t * Math.cos(e), v + t * Math.sin(e)];
2527
3040
  }
2528
- function z(e, t, n) {
2529
- var r = R(e, n), i = R(t, n), a = +(t - e > Math.PI);
3041
+ function R(e, t, n) {
3042
+ var r = L(e, n), i = L(t, n), a = +(t - e > Math.PI);
2530
3043
  return "M" + r[0] + "," + r[1] + " A" + n + "," + n + " 0 " + a + " 1 " + i[0] + "," + i[1];
2531
3044
  }
2532
- function B(e) {
3045
+ function z(e) {
2533
3046
  return f + b((e - S) / E, 0, 1) * (p - f);
2534
3047
  }
2535
- function V(e) {
3048
+ function B(e) {
2536
3049
  return k > 0 ? e.toFixed(k) : String(Math.round(e));
2537
3050
  }
2538
- var H = 14, U = s("svg", {
3051
+ var V = 14, H = s("svg", {
2539
3052
  viewBox: "0 0 " + a + " " + o,
2540
3053
  class: "tokui-chart__svg tokui-chart__svg--gauge",
2541
3054
  preserveAspectRatio: "xMidYMid meet"
2542
- }), W = C(a, o);
2543
- if (M.length) for (var G = 0; G < P.length - 1; G++) U.appendChild(s("path", {
2544
- d: z(B(P[G]), B(P[G + 1]), x),
3055
+ }), U = C(a, o);
3056
+ if (M.length) for (var W = 0; W < P.length - 1; W++) H.appendChild(s("path", {
3057
+ d: R(z(P[W]), z(P[W + 1]), x),
2545
3058
  fill: "none",
2546
- stroke: N[G % N.length],
2547
- "stroke-width": H,
3059
+ stroke: N[W % N.length],
3060
+ "stroke-width": V,
2548
3061
  "stroke-linecap": "butt",
2549
3062
  opacity: "0.28",
2550
3063
  class: "tokui-chart-gauge-track"
2551
3064
  }));
2552
- else U.appendChild(s("path", {
2553
- d: z(f, p, x),
3065
+ else H.appendChild(s("path", {
3066
+ d: R(f, p, x),
2554
3067
  fill: "none",
2555
3068
  stroke: "var(--tokui-chart-grid, #ececec)",
2556
- "stroke-width": H,
3069
+ "stroke-width": V,
2557
3070
  "stroke-linecap": "round",
2558
3071
  class: "tokui-chart-gauge-track"
2559
3072
  }));
2560
- var K = parseInt(i.ticks, 10);
2561
- isNaN(K) && (K = 6);
2562
- var q = {};
3073
+ var G = parseInt(i.ticks, 10);
3074
+ isNaN(G) && (G = 6);
3075
+ var K = {};
2563
3076
  [S, T].concat(M).forEach(function(e) {
2564
- q[Math.round(e * 100) / 100] = !0;
3077
+ K[Math.round(e * 100) / 100] = !0;
2565
3078
  });
2566
- for (var J = 0; J <= K; J++) {
2567
- var ee = f + J / K * (p - f), te = J === 0 || J === K, Y = R(ee, x - H / 2 - 1), ne = R(ee, x + H / 2 + 2);
2568
- U.appendChild(s("line", {
3079
+ for (var q = 0; q <= G; q++) {
3080
+ var J = f + q / G * (p - f), te = q === 0 || q === G, Y = L(J, x - V / 2 - 1), X = L(J, x + V / 2 + 2);
3081
+ H.appendChild(s("line", {
2569
3082
  x1: Y[0],
2570
3083
  y1: Y[1],
2571
- x2: ne[0],
2572
- y2: ne[1],
3084
+ x2: X[0],
3085
+ y2: X[1],
2573
3086
  stroke: "var(--tokui-chart-text, #bbb)",
2574
3087
  "stroke-width": te ? 1.2 : .6,
2575
3088
  opacity: te ? .8 : .35
2576
3089
  }));
2577
- var re = S + J / K * E, ie = Math.round(re * 100) / 100;
2578
- if (te || q[ie]) {
2579
- var ae = R(ee, x + H / 2 + 12), oe = s("text", {
2580
- x: ae[0],
2581
- y: ae[1],
3090
+ var ne = S + q / G * E, re = Math.round(ne * 100) / 100;
3091
+ if (te || K[re]) {
3092
+ var ie = L(J, x + V / 2 + 12), ae = s("text", {
3093
+ x: ie[0],
3094
+ y: ie[1],
2582
3095
  "text-anchor": "middle",
2583
3096
  "dominant-baseline": "central",
2584
3097
  fill: "var(--tokui-chart-text, #999)",
2585
3098
  "font-size": "8"
2586
3099
  });
2587
- oe.textContent = k > 0 ? re.toFixed(k) : Math.round(re), U.appendChild(oe);
3100
+ ae.textContent = k > 0 ? ne.toFixed(k) : Math.round(ne), H.appendChild(ae);
2588
3101
  }
2589
3102
  }
2590
- var X = s("g", { class: "tokui-chart-tip-group" }), Z = s("path", {
3103
+ var Z = s("g", { class: "tokui-chart-tip-group" }), oe = s("path", {
2591
3104
  fill: "none",
2592
3105
  stroke: I,
2593
- "stroke-width": H,
3106
+ "stroke-width": V,
2594
3107
  "stroke-linecap": "round",
2595
3108
  class: "tokui-chart-gauge-arc"
2596
3109
  });
2597
- X.appendChild(Z), W.add(X, (i.l || n("gauge.currentValue")) + ": " + V(D) + O + " (" + Math.round(b((D - S) / E, 0, 1) * 100) + "%)", c, v - x), U.appendChild(X);
2598
- var Q = s("line", {
3110
+ Z.appendChild(oe), U.add(Z, (i.l || n("gauge.currentValue")) + ": " + B(D) + O + " (" + Math.round(b((D - S) / E, 0, 1) * 100) + "%)", c, v - x), H.appendChild(Z);
3111
+ var se = s("line", {
2599
3112
  stroke: I,
2600
3113
  "stroke-width": 2.5,
2601
3114
  "stroke-linecap": "round",
2602
3115
  class: "tokui-chart-gauge-needle"
2603
3116
  });
2604
- U.appendChild(Q), U.appendChild(s("circle", {
3117
+ H.appendChild(se), H.appendChild(s("circle", {
2605
3118
  cx: c,
2606
3119
  cy: v,
2607
3120
  r: 5,
@@ -2610,9 +3123,9 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
2610
3123
  "stroke-width": 1.5,
2611
3124
  class: "tokui-chart-gauge-hub"
2612
3125
  }));
2613
- var se = v - x * (l === 180 ? .5 : l === 270 ? .2 : .12), ce = s("text", {
3126
+ var Q = v - x * (l === 180 ? .5 : l === 270 ? .2 : .12), ce = s("text", {
2614
3127
  x: c,
2615
- y: se,
3128
+ y: Q,
2616
3129
  "text-anchor": "middle",
2617
3130
  "dominant-baseline": "central",
2618
3131
  fill: "var(--tokui-text, #333)",
@@ -2620,8 +3133,8 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
2620
3133
  "font-weight": "700",
2621
3134
  class: "tokui-chart-gauge-value tokui-chart-gauge-label"
2622
3135
  });
2623
- U.appendChild(ce);
2624
- var le = se + 20;
3136
+ H.appendChild(ce);
3137
+ var le = Q + 20;
2625
3138
  if (i.l) {
2626
3139
  var ue = s("text", {
2627
3140
  x: c,
@@ -2632,7 +3145,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
2632
3145
  "font-size": "10",
2633
3146
  class: "tokui-chart-gauge-label"
2634
3147
  });
2635
- ue.textContent = i.l, U.appendChild(ue), le += 15;
3148
+ ue.textContent = i.l, H.appendChild(ue), le += 15;
2636
3149
  }
2637
3150
  if (i.status && j[i.status]) {
2638
3151
  var de = s("text", {
@@ -2645,7 +3158,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
2645
3158
  "font-weight": "600",
2646
3159
  class: "tokui-chart-gauge-label"
2647
3160
  });
2648
- de.textContent = j[i.status], U.appendChild(de);
3161
+ de.textContent = j[i.status], H.appendChild(de);
2649
3162
  }
2650
3163
  if (i.sub) {
2651
3164
  var fe = s("text", {
@@ -2657,22 +3170,22 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
2657
3170
  "font-size": "9",
2658
3171
  class: "tokui-chart-gauge-label"
2659
3172
  });
2660
- fe.textContent = i.sub, U.appendChild(fe);
3173
+ fe.textContent = i.sub, H.appendChild(fe);
2661
3174
  }
2662
- U.appendChild(W.layer);
3175
+ H.appendChild(U.layer);
2663
3176
  function pe(e) {
2664
- var t = B(e);
2665
- Z.setAttribute("d", z(f, t, x));
2666
- var n = R(t, x - H / 2 - 3);
2667
- Q.setAttribute("x1", c), Q.setAttribute("y1", v), Q.setAttribute("x2", n[0]), Q.setAttribute("y2", n[1]), ce.textContent = V(e) + O;
3177
+ var t = z(e);
3178
+ oe.setAttribute("d", R(f, t, x));
3179
+ var n = L(t, x - V / 2 - 3);
3180
+ se.setAttribute("x1", c), se.setAttribute("y1", v), se.setAttribute("x2", n[0]), se.setAttribute("y2", n[1]), ce.textContent = B(e) + O;
2668
3181
  }
2669
- return w(U), L(S, D, parseInt(i.anim, 10) || 0, pe), U;
3182
+ return w(H), ee(S, D, parseInt(i.anim, 10) || 0, pe), H;
2670
3183
  }
2671
- function J(e, t, r, i) {
3184
+ function Q(e, t, r, i) {
2672
3185
  var a = parseInt(i.w) || 240, c = parseInt(i.h) || 240, l = a / 2, u = c / 2, d = f(i.d);
2673
3186
  if (d.length || (d = [e]), d.every(function(e) {
2674
3187
  return !e.length;
2675
- })) return E(a, c);
3188
+ })) return A(a, c);
2676
3189
  var p = d.length > 1, m = c + (p ? o : 0), h = Math.min(l, u) - 30, g = Math.max(t.length, d[0].length, 3), _ = 0;
2677
3190
  d.forEach(function(e) {
2678
3191
  e.forEach(function(e) {
@@ -2684,9 +3197,9 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
2684
3197
  class: "tokui-chart__svg",
2685
3198
  preserveAspectRatio: "xMidYMid meet"
2686
3199
  }), y = C(a, m), b = 1; b <= 4; b++) {
2687
- for (var x = h * b / 4, S = [], D = 0; D < g; D++) {
2688
- var O = 2 * Math.PI * D / g - Math.PI / 2;
2689
- S.push(l + x * Math.cos(O) + "," + (u + x * Math.sin(O)));
3200
+ for (var x = h * b / 4, S = [], T = 0; T < g; T++) {
3201
+ var E = 2 * Math.PI * T / g - Math.PI / 2;
3202
+ S.push(l + x * Math.cos(E) + "," + (u + x * Math.sin(E)));
2690
3203
  }
2691
3204
  v.appendChild(s("polygon", {
2692
3205
  points: S.join(" "),
@@ -2695,23 +3208,23 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
2695
3208
  "stroke-width": 1
2696
3209
  }));
2697
3210
  }
2698
- for (var D = 0; D < g; D++) {
2699
- var O = 2 * Math.PI * D / g - Math.PI / 2;
3211
+ for (var T = 0; T < g; T++) {
3212
+ var E = 2 * Math.PI * T / g - Math.PI / 2;
2700
3213
  v.appendChild(s("line", {
2701
3214
  x1: l,
2702
3215
  y1: u,
2703
- x2: l + h * Math.cos(O),
2704
- y2: u + h * Math.sin(O),
3216
+ x2: l + h * Math.cos(E),
3217
+ y2: u + h * Math.sin(E),
2705
3218
  stroke: "var(--tokui-chart-grid, #e8e8e8)",
2706
3219
  "stroke-width": 1
2707
- })), t[D] && (v.appendChild(s("text", {
2708
- x: l + (h + 14) * Math.cos(O),
2709
- y: u + (h + 14) * Math.sin(O),
3220
+ })), t[T] && (v.appendChild(s("text", {
3221
+ x: l + (h + 14) * Math.cos(E),
3222
+ y: u + (h + 14) * Math.sin(E),
2710
3223
  "text-anchor": "middle",
2711
3224
  "dominant-baseline": "central",
2712
3225
  fill: "var(--tokui-chart-text, #999)",
2713
3226
  "font-size": "7"
2714
- })).textContent = t[D]);
3227
+ })).textContent = t[T]);
2715
3228
  }
2716
3229
  return d.forEach(function(e, i) {
2717
3230
  var a = r[i % r.length], o = [];
@@ -2745,47 +3258,47 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
2745
3258
  class: "tokui-chart-point"
2746
3259
  })), y.add(o, (t[r.idx] || n("chart.dimensionDefault", { n: r.idx + 1 })) + ": " + e[r.idx] + (d.length > 1 ? " (" + n("chart.seriesDefault", { n: i + 1 }) + ")" : ""), r.x, r.y), v.appendChild(o);
2747
3260
  });
2748
- }), p && T(v, d.map(function(e, t) {
3261
+ }), p && k(v, d.map(function(e, t) {
2749
3262
  return {
2750
3263
  color: r[t % r.length],
2751
3264
  text: n("chart.seriesDefault", { n: t + 1 })
2752
3265
  };
2753
3266
  }), a, c + 6), v.appendChild(y.layer), w(v), v;
2754
3267
  }
2755
- function ee(e, t, n, r) {
3268
+ function ce(e, t, n, r) {
2756
3269
  var i = p(r.d);
2757
- if (!i.length) return E(parseInt(r.w) || 400, parseInt(r.h) || 200);
2758
- for (var a = x(r, "w", i.length, 50, 22, 360, 2400), o = S(a, parseInt(r.h) || 200, 4, 560), c = o, l = 40, u = 30, d = 18, f = 10, m = a - l - f, h = o - d - u, g = r.xl || "X", _ = r.yl || "Y", b = P(r, "xmin", "_xMin", y(i.map(function(e) {
3270
+ if (!i.length) return A(parseInt(r.w) || 400, parseInt(r.h) || 200);
3271
+ for (var a = x(r, "w", i.length, 50, 22, 360, 2400), o = S(a, parseInt(r.h) || 200, 4, 560), c = o, l = 40, u = 30, d = 18, f = 10, m = a - l - f, h = o - d - u, g = r.xl || "X", _ = r.yl || "Y", b = V(r, "xmin", "_xMin", y(i.map(function(e) {
2759
3272
  return e.x;
2760
- }))), T = P(r, "xmax", "_xMax", v(i.map(function(e) {
3273
+ }))), T = V(r, "xmax", "_xMax", v(i.map(function(e) {
2761
3274
  return e.x;
2762
- }))), D = P(r, "ymin", "_yMin", y(i.map(function(e) {
3275
+ }))), E = V(r, "ymin", "_yMin", y(i.map(function(e) {
2763
3276
  return e.y;
2764
- }))), O = P(r, "ymax", "_yMax", v(i.map(function(e) {
3277
+ }))), D = V(r, "ymax", "_yMax", v(i.map(function(e) {
2765
3278
  return e.y;
2766
- }))), k = T - b || 1, A = O - D || 1, j = s("svg", {
3279
+ }))), O = T - b || 1, k = D - E || 1, j = s("svg", {
2767
3280
  viewBox: "0 0 " + a + " " + c,
2768
3281
  class: "tokui-chart__svg",
2769
3282
  preserveAspectRatio: "xMidYMid meet"
2770
3283
  }), M = C(a, c), N = 0; N <= 4; N++) {
2771
- var F = d + h * (1 - N / 4);
3284
+ var P = d + h * (1 - N / 4);
2772
3285
  j.appendChild(s("line", {
2773
3286
  x1: l,
2774
- y1: F,
3287
+ y1: P,
2775
3288
  x2: a - f,
2776
- y2: F,
3289
+ y2: P,
2777
3290
  stroke: "var(--tokui-chart-grid, #e8e8e8)",
2778
3291
  "stroke-width": 1
2779
3292
  })), j.appendChild(s("text", {
2780
3293
  x: l - 4,
2781
- y: F + 4,
3294
+ y: P + 4,
2782
3295
  "text-anchor": "end",
2783
3296
  fill: "var(--tokui-chart-text, #999)",
2784
3297
  "font-size": "9"
2785
- })).textContent = Math.round(D + A * N / 4);
3298
+ })).textContent = Math.round(E + k * N / 4);
2786
3299
  }
2787
3300
  return i.forEach(function(e, t) {
2788
- var r = l + (e.x - b) / k * m, i = d + h * (1 - (e.y - D) / A), a = s("g", { class: "tokui-chart-tip-group" });
3301
+ var r = l + (e.x - b) / O * m, i = d + h * (1 - (e.y - E) / k), a = s("g", { class: "tokui-chart-tip-group" });
2789
3302
  a.appendChild(s("circle", {
2790
3303
  cx: r,
2791
3304
  cy: i,
@@ -2809,10 +3322,10 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
2809
3322
  o.textContent = e.x + "," + e.y, j.appendChild(o);
2810
3323
  }), j.appendChild(M.layer), w(j), j;
2811
3324
  }
2812
- function te(e) {
3325
+ function le(e) {
2813
3326
  return /[-/]/.test(String(e));
2814
3327
  }
2815
- function Y(e, t) {
3328
+ function ue(e, t) {
2816
3329
  if (e === void 0 || e === "") return NaN;
2817
3330
  if (t === "dates") {
2818
3331
  var n = new Date(e);
@@ -2821,14 +3334,14 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
2821
3334
  var r = parseFloat(e);
2822
3335
  return isNaN(r) ? NaN : r;
2823
3336
  }
2824
- function ne(e) {
3337
+ function de(e) {
2825
3338
  return e ? String(e).split("|").map(function(e) {
2826
3339
  return e.split(",").map(function(e) {
2827
3340
  return e.trim();
2828
3341
  });
2829
3342
  }) : [];
2830
3343
  }
2831
- function re(e) {
3344
+ function fe(e) {
2832
3345
  return e ? String(e).split(",").map(function(e) {
2833
3346
  var t = e.trim().split("->");
2834
3347
  return [parseInt(t[0], 10), parseInt(t[1], 10)];
@@ -2836,31 +3349,31 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
2836
3349
  return !isNaN(e[0]) && !isNaN(e[1]);
2837
3350
  }) : [];
2838
3351
  }
2839
- function ie(e, t) {
3352
+ function pe(e, t) {
2840
3353
  return e ? String(e).split("|").map(function(e) {
2841
3354
  var n = e.split(",").map(function(e) {
2842
3355
  return e.trim();
2843
3356
  });
2844
3357
  return {
2845
3358
  name: n[0] || "",
2846
- time: Y(n[1], t),
3359
+ time: ue(n[1], t),
2847
3360
  group: parseInt(n[2], 10) || 0
2848
3361
  };
2849
3362
  }) : [];
2850
3363
  }
2851
- function ae(e) {
3364
+ function me(e) {
2852
3365
  return e ? String(e).split("|").map(function(e) {
2853
3366
  return e.trim();
2854
3367
  }).filter(function(e) {
2855
3368
  return e !== "";
2856
3369
  }) : [];
2857
3370
  }
2858
- function oe(e) {
2859
- var t = parseInt(e.w) || 1080, r = ne(e.tasks);
3371
+ function he(e) {
3372
+ var t = parseInt(e.w) || 1080, r = de(e.tasks);
2860
3373
  if (!r.length) return { empty: !0 };
2861
- var i = e.mode === "days" || e.mode === "dates" ? e.mode : te(r[0][1]) ? "dates" : "days", a = [], s = 0;
3374
+ var i = e.mode === "days" || e.mode === "dates" ? e.mode : le(r[0][1]) ? "dates" : "days", a = [], s = 0;
2862
3375
  if (r.forEach(function(e, t) {
2863
- var r = Y(e[1], i), o = Y(e[2], i);
3376
+ var r = ue(e[1], i), o = ue(e[2], i);
2864
3377
  if (isNaN(r) || isNaN(o)) {
2865
3378
  s++;
2866
3379
  return;
@@ -2885,10 +3398,10 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
2885
3398
  }))) : (c = 0, l = Math.ceil(Math.max.apply(null, a.map(function(e) {
2886
3399
  return e.end;
2887
3400
  })))), isFinite(l) || (l = 1);
2888
- var u = l - c || 1, d = ie(e.ms, i).filter(function(e) {
3401
+ var u = l - c || 1, d = pe(e.ms, i).filter(function(e) {
2889
3402
  return !isNaN(e.time);
2890
- }), f = ae(e.gnames), p = {}, m = {};
2891
- re(e.deps).forEach(function(e) {
3403
+ }), f = me(e.gnames), p = {}, m = {};
3404
+ fe(e.deps).forEach(function(e) {
2892
3405
  var t = e[0], n = e[1];
2893
3406
  t < 0 || t >= a.length || n < 0 || n >= a.length || ((m[t] = m[t] || []).push(n), (p[n] = p[n] || []).push(t));
2894
3407
  });
@@ -2933,14 +3446,14 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
2933
3446
  }
2934
3447
  };
2935
3448
  }
2936
- function X(e, t) {
3449
+ function ge(e, t) {
2937
3450
  if (t === "dates") {
2938
3451
  var n = new Date(e);
2939
3452
  return n.getMonth() + 1 + "/" + n.getDate();
2940
3453
  }
2941
3454
  return "D" + e;
2942
3455
  }
2943
- function Z(e) {
3456
+ function _e(e) {
2944
3457
  var t = [];
2945
3458
  if (e.mode === "days") for (var r = e.tMax <= 10 ? 1 : e.tMax <= 30 ? 5 : 10, i = 0; i <= e.tMax; i += r) t.push({
2946
3459
  label: "D" + i,
@@ -2963,9 +3476,9 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
2963
3476
  }
2964
3477
  return t;
2965
3478
  }
2966
- function Q(e, t) {
3479
+ function ve(e, t) {
2967
3480
  var n = t.totalH - (t.hasLeg ? o : 6);
2968
- Z(t).forEach(function(r) {
3481
+ _e(t).forEach(function(r) {
2969
3482
  var i = t.scale(r.t);
2970
3483
  e.appendChild(s("line", {
2971
3484
  x1: i,
@@ -2986,10 +3499,10 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
2986
3499
  a.textContent = r.label, e.appendChild(a);
2987
3500
  });
2988
3501
  }
2989
- function se(e, t, n) {
3502
+ function ye(e, t, n) {
2990
3503
  return e + "," + (t - n) + " " + (e + n) + "," + t + " " + e + "," + (t + n) + " " + (e - n) + "," + t;
2991
3504
  }
2992
- function ce(e, t, n, r) {
3505
+ function be(e, t, n, r) {
2993
3506
  var i = t.ms.map(function(e) {
2994
3507
  return {
2995
3508
  m: e,
@@ -3003,12 +3516,12 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3003
3516
  o = l - a < 32 ? !o : !1, a = l;
3004
3517
  var u = n[c.group % n.length], d = t.msY(), f = s("g", { class: "tokui-chart-tip-group" });
3005
3518
  f.appendChild(s("polygon", {
3006
- points: se(l, d, 6),
3519
+ points: ye(l, d, 6),
3007
3520
  fill: u,
3008
3521
  stroke: "var(--tokui-chart-slice-stroke, #fff)",
3009
3522
  "stroke-width": 1,
3010
3523
  class: "tokui-chart-task-ms"
3011
- })), r.add(f, c.name + " " + X(c.time, t.mode), l, d), e.appendChild(f);
3524
+ })), r.add(f, c.name + " " + ge(c.time, t.mode), l, d), e.appendChild(f);
3012
3525
  var p = s("text", {
3013
3526
  x: l,
3014
3527
  y: d + 11 + (o ? 9 : 0),
@@ -3019,7 +3532,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3019
3532
  p.textContent = c.name, e.appendChild(p);
3020
3533
  });
3021
3534
  }
3022
- function le(e, t, n, r, i) {
3535
+ function xe(e, t, n, r, i) {
3023
3536
  var a = 8;
3024
3537
  if (n - 3 > e + a) {
3025
3538
  var o = n - 3, s = (e + o) / 2;
@@ -3028,7 +3541,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3028
3541
  var c = r - i / 2;
3029
3542
  return "M" + e + "," + t + " L" + (e + a) + "," + t + " L" + (e + a) + "," + (c - 9) + " L" + n + "," + (c - 9) + " L" + n + "," + c;
3030
3543
  }
3031
- function ue(e, t) {
3544
+ function Se(e, t) {
3032
3545
  var n = s("defs"), r = s("marker", {
3033
3546
  id: "gantt-arrow",
3034
3547
  markerUnits: "userSpaceOnUse",
@@ -3046,7 +3559,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3046
3559
  t.next[n].forEach(function(n) {
3047
3560
  var o = t.scale(t.tasks[n].start), c = t.rowY(n);
3048
3561
  e.appendChild(s("path", {
3049
- d: le(i, a, o, c, t.BAR_H),
3562
+ d: xe(i, a, o, c, t.BAR_H),
3050
3563
  fill: "none",
3051
3564
  stroke: "var(--tokui-chart-task-dep, #bbb)",
3052
3565
  "stroke-width": "1",
@@ -3058,7 +3571,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3058
3571
  });
3059
3572
  });
3060
3573
  }
3061
- function de(e, t) {
3574
+ function Ce(e, t) {
3062
3575
  var r = Date.now();
3063
3576
  if (!(r < t.tMin || r > t.tMax)) {
3064
3577
  var i = t.scale(r), a = t.totalH - (t.hasLeg ? o : 6);
@@ -3082,7 +3595,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3082
3595
  c.textContent = n("time.today"), e.appendChild(c);
3083
3596
  }
3084
3597
  }
3085
- function fe(e, t) {
3598
+ function we(e, t) {
3086
3599
  var r = s("text", {
3087
3600
  x: t.w - 6,
3088
3601
  y: 12,
@@ -3092,7 +3605,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3092
3605
  });
3093
3606
  r.textContent = n("gantt.skipped", { n: t.skipped }), e.appendChild(r);
3094
3607
  }
3095
- function pe(e, t) {
3608
+ function Te(e, t) {
3096
3609
  function n(e, t) {
3097
3610
  for (var n = {}, r = [e], i = {}; r.length;) {
3098
3611
  var a = r.shift();
@@ -3137,7 +3650,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3137
3650
  });
3138
3651
  });
3139
3652
  }
3140
- function me(e, t, r, i) {
3653
+ function Ee(e, t, r, i) {
3141
3654
  t.tasks.forEach(function(a, o) {
3142
3655
  var c = r[a.group % r.length], l = t.scale(a.start), u = t.scale(a.end), d = Math.max(2, u - l), f = t.rowY(o) - t.BAR_H / 2, p = s("g", {
3143
3656
  class: "tokui-chart-tip-group tokui-chart-task-tip-group",
@@ -3160,7 +3673,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3160
3673
  rx: 3,
3161
3674
  fill: c,
3162
3675
  class: "tokui-chart-task-prog"
3163
- })), i.add(p, a.name + " " + X(a.start, t.mode) + "→" + X(a.end, t.mode) + " " + n("gantt.progress") + ":" + a.progress + "%", l + d / 2, f), e.appendChild(p);
3676
+ })), i.add(p, a.name + " " + ge(a.start, t.mode) + "→" + ge(a.end, t.mode) + " " + n("gantt.progress") + ":" + a.progress + "%", l + d / 2, f), e.appendChild(p);
3164
3677
  var m = s("text", {
3165
3678
  x: t.LABEL_W - 6,
3166
3679
  y: t.rowY(o) + 3,
@@ -3172,8 +3685,8 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3172
3685
  m.textContent = a.name, e.appendChild(m);
3173
3686
  });
3174
3687
  }
3175
- function he(e, t, r, i) {
3176
- var a = oe(i), c = a.w, l = s("svg", {
3688
+ function De(e, t, r, i) {
3689
+ var a = he(i), c = a.w, l = s("svg", {
3177
3690
  viewBox: "0 0 " + c + " " + a.totalH,
3178
3691
  class: "tokui-chart__svg",
3179
3692
  preserveAspectRatio: "xMidYMid meet"
@@ -3189,7 +3702,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3189
3702
  return u.textContent = n("gantt.noTasks"), l.appendChild(u), l;
3190
3703
  }
3191
3704
  var d = C(c, a.totalH);
3192
- if (Q(l, a), a.hasMs && ce(l, a, r, d), me(l, a, r, d), ue(l, a), a.mode === "dates" && de(l, a), a.skipped > 0 && fe(l, a), l.appendChild(d.layer), w(l), pe(l, a), a.hasLeg) {
3705
+ if (ve(l, a), a.hasMs && be(l, a, r, d), Ee(l, a, r, d), Se(l, a), a.mode === "dates" && Ce(l, a), a.skipped > 0 && we(l, a), l.appendChild(d.layer), w(l), Te(l, a), a.hasLeg) {
3193
3706
  var f = Object.keys(a.tasks.reduce(function(e, t) {
3194
3707
  return e[t.group] = 1, e;
3195
3708
  }, {})).map(function(e) {
@@ -3197,7 +3710,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3197
3710
  });
3198
3711
  f.sort(function(e, t) {
3199
3712
  return e - t;
3200
- }), T(l, f.map(function(e) {
3713
+ }), k(l, f.map(function(e) {
3201
3714
  return {
3202
3715
  color: r[e % r.length],
3203
3716
  text: a.gnames[e] || n("chart.groupDefault", { n: e + 1 })
@@ -3206,13 +3719,13 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3206
3719
  }
3207
3720
  return l;
3208
3721
  }
3209
- function ge(e, t, n, r) {
3722
+ function Oe(e, t, n, r) {
3210
3723
  var i = {};
3211
3724
  return Object.keys(r).forEach(function(e) {
3212
3725
  i[e] = r[e];
3213
- }), i.area = !0, H(e, t, n, i);
3726
+ }), i.area = !0, re(e, t, n, i);
3214
3727
  }
3215
- function _e(e, t, n, r) {
3728
+ function ke(e, t, n, r) {
3216
3729
  var i = parseInt(r.w) || 400, a = parseInt(r.h) || 80, o = parseFloat(r.max);
3217
3730
  isNaN(o) && (o = 100);
3218
3731
  var c = parseFloat(r.min);
@@ -3255,9 +3768,9 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3255
3768
  var t = b((e - c) / l, 0, 1);
3256
3769
  _.setAttribute("x", 2), _.setAttribute("width", Math.max(0, (i - 4) * t)), y.textContent = (v ? v + " " : "") + Math.round(t * 100) + d;
3257
3770
  }
3258
- return L(c, u, parseInt(r.anim, 10) || 0, x), p;
3771
+ return ee(c, u, parseInt(r.anim, 10) || 0, x), p;
3259
3772
  }
3260
- function ve(e) {
3773
+ function Ae(e) {
3261
3774
  return e ? String(e).split(";").map(function(e) {
3262
3775
  var t = e.split(",").map(function(e) {
3263
3776
  return parseFloat(e.trim()) || 0;
@@ -3269,42 +3782,42 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3269
3782
  };
3270
3783
  }) : [];
3271
3784
  }
3272
- function ye(e, t, n, r) {
3273
- var i = ve(r.d);
3274
- if (!i.length) return E(parseInt(r.w) || 400, parseInt(r.h) || 200);
3275
- for (var a = x(r, "w", i.length, 50, 22, 360, 2400), o = S(a, parseInt(r.h) || 200, 4, 560), c = 40, l = 30, u = 18, d = 10, f = a - c - d, p = o - u - l, m = P(r, "xmin", "_xMin", y(i.map(function(e) {
3785
+ function je(e, t, n, r) {
3786
+ var i = Ae(r.d);
3787
+ if (!i.length) return A(parseInt(r.w) || 400, parseInt(r.h) || 200);
3788
+ for (var a = x(r, "w", i.length, 50, 22, 360, 2400), o = S(a, parseInt(r.h) || 200, 4, 560), c = 40, l = 30, u = 18, d = 10, f = a - c - d, p = o - u - l, m = V(r, "xmin", "_xMin", y(i.map(function(e) {
3276
3789
  return e.x;
3277
- }))), h = P(r, "xmax", "_xMax", v(i.map(function(e) {
3790
+ }))), h = V(r, "xmax", "_xMax", v(i.map(function(e) {
3278
3791
  return e.x;
3279
- }))), g = P(r, "ymin", "_yMin", y(i.map(function(e) {
3792
+ }))), g = V(r, "ymin", "_yMin", y(i.map(function(e) {
3280
3793
  return e.y;
3281
- }))), _ = P(r, "ymax", "_yMax", v(i.map(function(e) {
3794
+ }))), _ = V(r, "ymax", "_yMax", v(i.map(function(e) {
3282
3795
  return e.y;
3283
3796
  }))), b = r._sMax === void 0 ? v(i.map(function(e) {
3284
3797
  return e.s;
3285
- })) || 1 : +r._sMax, T = h - m || 1, D = _ - g || 1, O = s("svg", {
3798
+ })) || 1 : +r._sMax, T = h - m || 1, E = _ - g || 1, D = s("svg", {
3286
3799
  viewBox: "0 0 " + a + " " + o,
3287
3800
  class: "tokui-chart__svg",
3288
3801
  preserveAspectRatio: "xMidYMid meet"
3289
- }), k = C(a, o), A = 0; A <= 4; A++) {
3290
- var j = u + p * (1 - A / 4);
3291
- O.appendChild(s("line", {
3802
+ }), O = C(a, o), k = 0; k <= 4; k++) {
3803
+ var j = u + p * (1 - k / 4);
3804
+ D.appendChild(s("line", {
3292
3805
  x1: c,
3293
3806
  y1: j,
3294
3807
  x2: a - d,
3295
3808
  y2: j,
3296
3809
  stroke: "var(--tokui-chart-grid, #e8e8e8)",
3297
3810
  "stroke-width": 1
3298
- })), O.appendChild(s("text", {
3811
+ })), D.appendChild(s("text", {
3299
3812
  x: c - 4,
3300
3813
  y: j + 4,
3301
3814
  "text-anchor": "end",
3302
3815
  fill: "var(--tokui-chart-text, #999)",
3303
3816
  "font-size": "9"
3304
- })).textContent = Math.round(g + D * A / 4);
3817
+ })).textContent = Math.round(g + E * k / 4);
3305
3818
  }
3306
3819
  return i.forEach(function(e, t) {
3307
- var i = c + (e.x - m) / T * f, a = u + p * (1 - (e.y - g) / D), o = 4 + e.s / b * 16, l = s("g", { class: "tokui-chart-tip-group" });
3820
+ var i = c + (e.x - m) / T * f, a = u + p * (1 - (e.y - g) / E), o = 4 + e.s / b * 16, l = s("g", { class: "tokui-chart-tip-group" });
3308
3821
  l.appendChild(s("circle", {
3309
3822
  cx: i,
3310
3823
  cy: a,
@@ -3319,10 +3832,10 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3319
3832
  stroke: n[t % n.length],
3320
3833
  "stroke-width": 1.5,
3321
3834
  class: "tokui-chart-point"
3322
- })), k.add(l, (r.xl || "X") + ": " + e.x + " " + (r.yl || "Y") + ": " + e.y + " " + (r.sl || "size") + ": " + e.s, i, a), O.appendChild(l);
3323
- }), O.appendChild(k.layer), w(O), O;
3835
+ })), O.add(l, (r.xl || "X") + ": " + e.x + " " + (r.yl || "Y") + ": " + e.y + " " + (r.sl || "size") + ": " + e.s, i, a), D.appendChild(l);
3836
+ }), D.appendChild(O.layer), w(D), D;
3324
3837
  }
3325
- function be(e) {
3838
+ function Me(e) {
3326
3839
  return e ? String(e).split("|").map(function(e) {
3327
3840
  return e.split(",").map(function(e) {
3328
3841
  return parseFloat(e.trim());
@@ -3331,7 +3844,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3331
3844
  });
3332
3845
  }) : [];
3333
3846
  }
3334
- function xe(e) {
3847
+ function Ne(e) {
3335
3848
  if (!e) return null;
3336
3849
  var t = String(e).split(","), n = Infinity, r = -Infinity, i = 0;
3337
3850
  return t.forEach(function(e) {
@@ -3346,10 +3859,10 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3346
3859
  bins: i
3347
3860
  };
3348
3861
  }
3349
- function Se(e, t) {
3350
- var n = xe(e.l), r = parseInt(e.bins, 10);
3862
+ function Pe(e, t) {
3863
+ var n = Ne(e.l), r = parseInt(e.bins, 10);
3351
3864
  isNaN(r) && (r = n ? n.bins : e._bins === void 0 ? Math.min(20, Math.max(5, Math.ceil(Math.sqrt(t.length)))) : +e._bins);
3352
- var i = P(e, "min", "_lo", n ? n.lo : y(t)), a = P(e, "max", "_hi", n ? n.hi : v(t));
3865
+ var i = V(e, "min", "_lo", n ? n.lo : y(t)), a = V(e, "max", "_hi", n ? n.hi : v(t));
3353
3866
  i === a && (--i, a += 1);
3354
3867
  for (var o = (a - i) / r, s = [], c = 0; c < r; c++) s.push(0);
3355
3868
  return t.forEach(function(e) {
@@ -3362,16 +3875,16 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3362
3875
  counts: s
3363
3876
  };
3364
3877
  }
3365
- function Ce(e, t, n, r) {
3366
- var i = be(r.rows || r.d), a = parseInt(r.w) || 400, o = parseInt(r.h) || 320, c = d(r.cols), l = t, u = Math.max(c.length, i[0] ? i[0].length : 0), f = Math.max(l.length, i.length);
3367
- if (!f || !u) return E(a, o);
3368
- var p = l.length ? 64 : 30, m = c.length ? 36 : 16, g = 16, _ = 16, b = a - p - g, x = o - m - _, S = b / u, T = x / f, D = [];
3878
+ function Fe(e, t, n, r) {
3879
+ var i = Me(r.rows || r.d), a = parseInt(r.w) || 400, o = parseInt(r.h) || 320, c = d(r.cols), l = t, u = Math.max(c.length, i[0] ? i[0].length : 0), f = Math.max(l.length, i.length);
3880
+ if (!f || !u) return A(a, o);
3881
+ var p = l.length ? 64 : 30, m = c.length ? 36 : 16, g = 16, _ = 16, b = a - p - g, x = o - m - _, S = b / u, T = x / f, E = [];
3369
3882
  i.forEach(function(e) {
3370
3883
  e.forEach(function(e) {
3371
- isNaN(e) || D.push(e);
3884
+ isNaN(e) || E.push(e);
3372
3885
  });
3373
3886
  });
3374
- for (var O = D.length > 0, k = O ? P(r, "vmin", "_vMin", y(D)) : 0, A = (O ? P(r, "vmax", "_vMax", v(D)) : 1) - k || 1, j = h(r.c).length ? h(r.c) : [
3887
+ for (var D = E.length > 0, O = D ? V(r, "vmin", "_vMin", y(E)) : 0, k = (D ? V(r, "vmax", "_vMax", v(E)) : 1) - O || 1, j = h(r.c).length ? h(r.c) : [
3375
3888
  "#bae0ff",
3376
3889
  "#1677ff",
3377
3890
  "#0958d9"
@@ -3379,18 +3892,18 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3379
3892
  viewBox: "0 0 " + a + " " + o,
3380
3893
  class: "tokui-chart__svg",
3381
3894
  preserveAspectRatio: "xMidYMid meet"
3382
- }), F = C(a, o), I = 0; I < f; I++) for (var L = 0; L < u; L++) {
3383
- var R = i[I] ? i[I][L] : void 0, z = R !== void 0 && !isNaN(R), V = z && O ? (R - k) / A : 0, H = z ? B(j, V) : M, U = p + L * S, W = m + I * T, G = s("g", { class: "tokui-chart-tip-group" });
3384
- G.appendChild(s("rect", {
3385
- x: U + 1,
3386
- y: W + 1,
3895
+ }), P = C(a, o), F = 0; F < f; F++) for (var I = 0; I < u; I++) {
3896
+ var L = i[F] ? i[F][I] : void 0, R = L !== void 0 && !isNaN(L), z = R && D ? (L - O) / k : 0, B = R ? X(j, z) : M, H = p + I * S, U = m + F * T, W = s("g", { class: "tokui-chart-tip-group" });
3897
+ W.appendChild(s("rect", {
3898
+ x: H + 1,
3899
+ y: U + 1,
3387
3900
  width: S - 2,
3388
3901
  height: T - 2,
3389
3902
  rx: 2,
3390
- fill: H,
3391
- opacity: z ? "1" : "0.5",
3392
- class: "tokui-chart-cell" + (z ? "" : " tokui-chart-cell--skeleton")
3393
- })), z && F.add(G, (l[I] || "R" + (I + 1)) + " / " + (c[L] || "C" + (L + 1)) + ": " + R, U + S / 2, W + T / 2), N.appendChild(G);
3903
+ fill: B,
3904
+ opacity: R ? "1" : "0.5",
3905
+ class: "tokui-chart-cell" + (R ? "" : " tokui-chart-cell--skeleton")
3906
+ })), R && P.add(W, (l[F] || "R" + (F + 1)) + " / " + (c[I] || "C" + (I + 1)) + ": " + L, H + S / 2, U + T / 2), N.appendChild(W);
3394
3907
  }
3395
3908
  return c.forEach(function(e, t) {
3396
3909
  N.appendChild(s("text", {
@@ -3408,11 +3921,11 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3408
3921
  fill: "var(--tokui-chart-text, #999)",
3409
3922
  "font-size": "9"
3410
3923
  })).textContent = e;
3411
- }), N.appendChild(F.layer), w(N), N;
3924
+ }), N.appendChild(P.layer), w(N), N;
3412
3925
  }
3413
- function we(e, t, r, i) {
3926
+ function Ie(e, t, r, i) {
3414
3927
  var a = parseInt(i.w) || 280, c = parseInt(i.h) || 280, l = c + o;
3415
- if (!e.length) return E(a, l);
3928
+ if (!e.length) return A(a, l);
3416
3929
  var u = a / 2, d = c / 2, f = Math.min(u, d) - 24, p = v(e) || 1, m = s("svg", {
3417
3930
  viewBox: "0 0 " + a + " " + l,
3418
3931
  class: "tokui-chart__svg",
@@ -3436,24 +3949,24 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3436
3949
  fill: "var(--tokui-chart-text, #999)",
3437
3950
  "font-size": "8"
3438
3951
  })).textContent = t[i] || "", g += _;
3439
- }), T(m, e.map(function(e, i) {
3952
+ }), k(m, e.map(function(e, i) {
3440
3953
  return {
3441
3954
  color: r[i % r.length],
3442
3955
  text: t[i] || n("chart.sliceDefault", { n: i + 1 })
3443
3956
  };
3444
3957
  }), a, c + 6), m.appendChild(h.layer), w(m), m;
3445
3958
  }
3446
- function Te(e, t, n, r) {
3959
+ function Le(e, t, n, r) {
3447
3960
  var i = parseInt(r.w) || 400, a = parseInt(r.h) || 200;
3448
- if (!e.length) return E(i, a);
3449
- for (var o = Se(r, e), s = [], c = 0; c < o.bins; c++) s.push((o.lo + c * o.width).toFixed(1));
3961
+ if (!e.length) return A(i, a);
3962
+ for (var o = Pe(r, e), s = [], c = 0; c < o.bins; c++) s.push((o.lo + c * o.width).toFixed(1));
3450
3963
  var l = {};
3451
3964
  return Object.keys(r).forEach(function(e) {
3452
3965
  l[e] = r[e];
3453
- }), l.d = o.counts.join(","), l.l = s.join(","), l.vals = "", delete l.bins, V(o.counts, s, n, l);
3966
+ }), l.d = o.counts.join(","), l.l = s.join(","), l.vals = "", delete l.bins, ne(o.counts, s, n, l);
3454
3967
  }
3455
- function Ee(e, t, r, i) {
3456
- if (!e.length) return E(parseInt(i.w) || 400, parseInt(i.h) || 200);
3968
+ function Re(e, t, r, i) {
3969
+ if (!e.length) return A(parseInt(i.w) || 400, parseInt(i.h) || 200);
3457
3970
  var a = x(i, "w", e.length, 56, 26, 360, 2400), o = S(a, parseInt(i.h) || 200, 4, 560), c = 0, l = [];
3458
3971
  e.forEach(function(e) {
3459
3972
  var t = c, n = c + e;
@@ -3470,45 +3983,45 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3470
3983
  return e.base;
3471
3984
  }));
3472
3985
  d > 0 && (d = 0);
3473
- var f = u - d || 1, p = 44, m = 30, h = 18, g = 12, _ = a - p - g, b = o - h - m, T = _ / e.length, D = Math.max(4, T * .6), O = r[0] || "#52c41a", k = r[1] || "#f5222d", A = s("svg", {
3986
+ var f = u - d || 1, p = 44, m = 18, h = 12, g = a - p - h, _ = g / e.length, b = Math.max(4, _ * .6), T = U(t.slice(0, e.length), _, 30, g, i.interval), E = T.padB, D = o - m - E, O = r[0] || "#52c41a", k = r[1] || "#f5222d", j = s("svg", {
3474
3987
  viewBox: "0 0 " + a + " " + o,
3475
3988
  class: "tokui-chart__svg",
3476
3989
  preserveAspectRatio: "xMidYMid meet"
3477
- }), j = C(a, o);
3478
- function M(e) {
3479
- return h + b * (1 - (e - d) / f);
3990
+ }), M = C(a, o);
3991
+ function N(e) {
3992
+ return m + D * (1 - (e - d) / f);
3480
3993
  }
3481
- for (var N = 0; N <= 4; N++) {
3482
- var P = M(d + f * N / 4);
3483
- A.appendChild(s("line", {
3994
+ for (var P = 0; P <= 4; P++) {
3995
+ var F = N(d + f * P / 4);
3996
+ j.appendChild(s("line", {
3484
3997
  x1: p,
3485
- y1: P,
3486
- x2: a - g,
3487
- y2: P,
3998
+ y1: F,
3999
+ x2: a - h,
4000
+ y2: F,
3488
4001
  stroke: "var(--tokui-chart-grid, #e8e8e8)",
3489
4002
  "stroke-width": 1
3490
- })), A.appendChild(s("text", {
4003
+ })), j.appendChild(s("text", {
3491
4004
  x: p - 4,
3492
- y: P + 4,
4005
+ y: F + 4,
3493
4006
  "text-anchor": "end",
3494
4007
  fill: "var(--tokui-chart-text, #999)",
3495
4008
  "font-size": "9"
3496
- })).textContent = Math.round(d + f * N / 4);
4009
+ })).textContent = Math.round(d + f * P / 4);
3497
4010
  }
3498
4011
  l.forEach(function(e, r) {
3499
- var i = p + r * T + T * .2, a = M(e.top), o = Math.max(0, (e.top - e.base) / f * b), c = e.isPos ? O : k, u = s("g", { class: "tokui-chart-tip-group" });
4012
+ var i = p + r * _ + _ * .2, a = N(e.top), o = Math.max(0, (e.top - e.base) / f * D), c = e.isPos ? O : k, u = s("g", { class: "tokui-chart-tip-group" });
3500
4013
  u.appendChild(s("rect", {
3501
4014
  x: i,
3502
4015
  y: a,
3503
- width: D - 1,
4016
+ width: b - 1,
3504
4017
  height: o,
3505
4018
  fill: c,
3506
4019
  rx: 2,
3507
4020
  class: "tokui-chart-bar"
3508
- })), j.add(u, (t[r] || n("chart.sliceDefault", { n: r + 1 })) + ": " + e.val + " (" + n("chart.cumulative", { n: Math.round(e.top) }) + ")", i + D / 2, a), A.appendChild(u), r < l.length - 1 && A.appendChild(s("line", {
3509
- x1: i + D - 1,
4021
+ })), M.add(u, (t[r] || n("chart.sliceDefault", { n: r + 1 })) + ": " + e.val + " (" + n("chart.cumulative", { n: Math.round(e.top) }) + ")", i + b / 2, a), j.appendChild(u), r < l.length - 1 && j.appendChild(s("line", {
4022
+ x1: i + b - 1,
3510
4023
  y1: a,
3511
- x2: i + T,
4024
+ x2: i + _,
3512
4025
  y2: a,
3513
4026
  stroke: c,
3514
4027
  "stroke-width": 1,
@@ -3516,10 +4029,10 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3516
4029
  opacity: "0.45"
3517
4030
  }));
3518
4031
  });
3519
- for (var I = [], L = 0; L < e.length; L++) I.push(p + L * T + T / 2);
3520
- return F(A, t.slice(0, e.length), I, o - 8, T), A.appendChild(j.layer), w(A), A;
4032
+ for (var I = [], L = 0; L < e.length; L++) I.push(p + L * _ + _ / 2);
4033
+ return q(j, t.slice(0, e.length), I, o - 8, _, T.rotate, T.interval), j.appendChild(M.layer), w(j), j;
3521
4034
  }
3522
- function De(e) {
4035
+ function ze(e) {
3523
4036
  return e ? String(e).split(";").map(function(e) {
3524
4037
  var t = e.split(",").map(function(e) {
3525
4038
  return parseFloat(e.trim()) || 0;
@@ -3533,78 +4046,81 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3533
4046
  };
3534
4047
  }) : [];
3535
4048
  }
3536
- function Oe(e, t, r, i) {
3537
- var a = De(i.d);
3538
- if (!a.length) return E(parseInt(i.w) || 400, parseInt(i.h) || 240);
4049
+ function Be(e, t, r, i) {
4050
+ var a = ze(i.d);
4051
+ if (!a.length) return A(parseInt(i.w) || 400, parseInt(i.h) || 240);
3539
4052
  var o = x(i, "w", a.length, 56, 44, 360, 2400), c = S(o, parseInt(i.h) || 240, 4, 560), l = [];
3540
4053
  a.forEach(function(e) {
3541
4054
  l.push(e.min, e.max);
3542
4055
  });
3543
4056
  var u = y(l), d = v(l);
3544
4057
  u === d && (--u, d += 1);
3545
- var f = d - u || 1, p = 44, m = 30, h = 18, g = 12, _ = o - p - g, b = c - h - m, T = _ / a.length, D = Math.max(20, T * .5), O = s("svg", {
3546
- viewBox: "0 0 " + o + " " + c,
4058
+ var f = d - u || 1, p = 44, m = 18, h = 12, g = o - p - h, _ = G(i, a.length), b = _ ? 28 : 0, T = g / a.length, E = Math.max(20, T * .5), D = U(t.slice(0, a.length), T, 30, g, i.interval), k = D.padB, j = c - m - k, M = s("svg", {
4059
+ viewBox: "0 0 " + o + " " + (c + b),
3547
4060
  class: "tokui-chart__svg",
3548
4061
  preserveAspectRatio: "xMidYMid meet"
3549
- }), k = C(o, c);
3550
- function A(e) {
3551
- return h + b * (1 - (e - u) / f);
4062
+ }), N = C(o, c + b);
4063
+ function P(e) {
4064
+ return m + j * (1 - (e - u) / f);
3552
4065
  }
3553
- for (var j = 0; j <= 4; j++) {
3554
- var M = A(u + f * j / 4);
3555
- O.appendChild(s("line", {
4066
+ for (var F = 0; F <= 4; F++) {
4067
+ var I = P(u + f * F / 4);
4068
+ M.appendChild(s("line", {
3556
4069
  x1: p,
3557
- y1: M,
3558
- x2: o - g,
3559
- y2: M,
4070
+ y1: I,
4071
+ x2: o - h,
4072
+ y2: I,
3560
4073
  stroke: "var(--tokui-chart-grid, #e8e8e8)",
3561
4074
  "stroke-width": 1
3562
- })), O.appendChild(s("text", {
4075
+ })), M.appendChild(s("text", {
3563
4076
  x: p - 4,
3564
- y: M + 4,
4077
+ y: I + 4,
3565
4078
  "text-anchor": "end",
3566
4079
  fill: "var(--tokui-chart-text, #999)",
3567
4080
  "font-size": "9"
3568
- })).textContent = Math.round(u + f * j / 4);
4081
+ })).textContent = Math.round(u + f * F / 4);
3569
4082
  }
3570
- a.forEach(function(e, i) {
4083
+ var L = _ ? s("g", { class: "tokui-chart-plot" }) : null;
4084
+ L && M.appendChild(L);
4085
+ var R = L || M, z = [];
4086
+ if (a.forEach(function(e, i) {
3571
4087
  var a = p + i * T + T / 2, o = r[i % r.length], c = s("g", { class: "tokui-chart-tip-group" });
3572
4088
  c.appendChild(s("line", {
3573
4089
  x1: a,
3574
- y1: A(e.max),
4090
+ y1: P(e.max),
3575
4091
  x2: a,
3576
- y2: A(e.q3),
4092
+ y2: P(e.q3),
3577
4093
  stroke: o,
3578
4094
  "stroke-width": 1.5,
3579
4095
  class: "tokui-chart-whisker"
3580
4096
  })), c.appendChild(s("line", {
3581
4097
  x1: a,
3582
- y1: A(e.q1),
4098
+ y1: P(e.q1),
3583
4099
  x2: a,
3584
- y2: A(e.min),
4100
+ y2: P(e.min),
3585
4101
  stroke: o,
3586
4102
  "stroke-width": 1.5,
3587
4103
  class: "tokui-chart-whisker"
3588
4104
  })), c.appendChild(s("line", {
3589
4105
  x1: a - 6,
3590
- y1: A(e.max),
4106
+ y1: P(e.max),
3591
4107
  x2: a + 6,
3592
- y2: A(e.max),
4108
+ y2: P(e.max),
3593
4109
  stroke: o,
3594
4110
  "stroke-width": 1.5
3595
4111
  })), c.appendChild(s("line", {
3596
4112
  x1: a - 6,
3597
- y1: A(e.min),
4113
+ y1: P(e.min),
3598
4114
  x2: a + 6,
3599
- y2: A(e.min),
4115
+ y2: P(e.min),
3600
4116
  stroke: o,
3601
4117
  "stroke-width": 1.5
3602
4118
  }));
3603
- var l = A(e.q3), u = Math.max(0, A(e.q1) - A(e.q3));
4119
+ var l = P(e.q3), u = Math.max(0, P(e.q1) - P(e.q3));
3604
4120
  c.appendChild(s("rect", {
3605
- x: a - D / 2,
4121
+ x: a - E / 2,
3606
4122
  y: l,
3607
- width: D,
4123
+ width: E,
3608
4124
  height: u,
3609
4125
  fill: o,
3610
4126
  opacity: "0.4",
@@ -3612,18 +4128,61 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3612
4128
  "stroke-width": 1.5,
3613
4129
  class: "tokui-chart-box"
3614
4130
  })), c.appendChild(s("line", {
3615
- x1: a - D / 2,
3616
- y1: A(e.med),
3617
- x2: a + D / 2,
3618
- y2: A(e.med),
4131
+ x1: a - E / 2,
4132
+ y1: P(e.med),
4133
+ x2: a + E / 2,
4134
+ y2: P(e.med),
3619
4135
  stroke: o,
3620
4136
  "stroke-width": 2
3621
- })), k.add(c, (t[i] || n("chart.groupDefault", { n: i + 1 })) + " min:" + e.min + " Q1:" + e.q1 + " " + n("chart.median") + ":" + e.med + " Q3:" + e.q3 + " max:" + e.max, a, A(e.med)), O.appendChild(c);
3622
- });
3623
- for (var N = [], P = 0; P < a.length; P++) N.push(p + P * T + T / 2);
3624
- return F(O, t.slice(0, a.length), N, c - 8, T), O.appendChild(k.layer), w(O), O;
4137
+ }));
4138
+ var d = (t[i] || n("chart.groupDefault", { n: i + 1 })) + " min:" + e.min + " Q1:" + e.q1 + " " + n("chart.median") + ":" + e.med + " Q3:" + e.q3 + " max:" + e.max;
4139
+ _ ? z.push({
4140
+ grp: c,
4141
+ cx: a,
4142
+ y: P(e.med),
4143
+ text: d
4144
+ }) : N.add(c, d, a, P(e.med)), R.appendChild(c);
4145
+ }), _) {
4146
+ var B = a.length, V = O(M, {
4147
+ plotG: L,
4148
+ tipLayer: N.layer,
4149
+ padL: p,
4150
+ cw: g,
4151
+ padT: m,
4152
+ ch: j,
4153
+ h: c,
4154
+ w: o,
4155
+ n: B,
4156
+ srcLeft: function(e) {
4157
+ return p + e * T;
4158
+ },
4159
+ srcRight: function(e) {
4160
+ return p + (e + 1) * T;
4161
+ },
4162
+ overview: a.map(function(e) {
4163
+ return e.q3;
4164
+ }),
4165
+ valMin: u,
4166
+ range: f,
4167
+ renderLabels: function(e, n, r) {
4168
+ for (var i = g / (r - n + 1), a = [], o = n; o <= r; o++) a.push(p + (o - n) * i + i / 2);
4169
+ q(e, t.slice(n, r + 1), a, c - 8, i, D.rotate, D.interval);
4170
+ }
4171
+ });
4172
+ z.forEach(function(e) {
4173
+ e.grp.addEventListener("mouseenter", function() {
4174
+ V.showTip(e.text, V.winState.sx * e.cx + V.winState.tx, e.y);
4175
+ }), e.grp.addEventListener("mouseleave", function() {
4176
+ V.sharedTip.style.opacity = "";
4177
+ });
4178
+ });
4179
+ } else {
4180
+ for (var H = [], W = 0; W < a.length; W++) H.push(p + W * T + T / 2);
4181
+ q(M, t.slice(0, a.length), H, c - 8, T, D.rotate, D.interval);
4182
+ }
4183
+ return M.appendChild(N.layer), _ || w(M), M;
3625
4184
  }
3626
- function ke(e) {
4185
+ function Ve(e) {
3627
4186
  return e ? String(e).split(",").map(function(e) {
3628
4187
  var t = e.split(":");
3629
4188
  return {
@@ -3634,9 +4193,9 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3634
4193
  return e.value > 0;
3635
4194
  }) : [];
3636
4195
  }
3637
- function Ae(e, t, n, r) {
3638
- var i = ke(r.d), a = parseInt(r.w) || 480, o = parseInt(r.h) || 320;
3639
- if (!i.length) return E(a, o);
4196
+ function He(e, t, n, r) {
4197
+ var i = Ve(r.d), a = parseInt(r.w) || 480, o = parseInt(r.h) || 320;
4198
+ if (!i.length) return A(a, o);
3640
4199
  i.sort(function(e, t) {
3641
4200
  return t.value - e.value;
3642
4201
  });
@@ -3694,7 +4253,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3694
4253
  }
3695
4254
  return m(i, 0, 0, a, o), l.appendChild(u.layer), w(l), l;
3696
4255
  }
3697
- function je(e, t, n, r) {
4256
+ function Ue(e, t, n, r) {
3698
4257
  var i = d(r.nodes), a = String(r.flows || "").split(",").map(function(e) {
3699
4258
  var t = e.split("->");
3700
4259
  if (t.length !== 2) return null;
@@ -3707,7 +4266,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3707
4266
  }).filter(function(e) {
3708
4267
  return e && e.value > 0;
3709
4268
  }), o = parseInt(r.w) || 480, c = parseInt(r.h) || 320;
3710
- if (!a.length) return E(o, c);
4269
+ if (!a.length) return A(o, c);
3711
4270
  var l = [], u = [];
3712
4271
  a.forEach(function(e) {
3713
4272
  l.indexOf(e.source) < 0 && l.push(e.source), u.indexOf(e.target) < 0 && u.push(e.target);
@@ -3766,7 +4325,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3766
4325
  })).textContent = e;
3767
4326
  }), S.appendChild(T.layer), w(S), S;
3768
4327
  }
3769
- function Me(e) {
4328
+ function We(e) {
3770
4329
  return e ? String(e).split(";").map(function(e) {
3771
4330
  var t = e.split(",").map(function(e) {
3772
4331
  return parseFloat(e.trim());
@@ -3781,9 +4340,9 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3781
4340
  };
3782
4341
  }).filter(Boolean) : [];
3783
4342
  }
3784
- function Ne(e, t, n, r) {
3785
- var i = Me(r.d);
3786
- if (!i.length) return E(parseInt(r.w) || 480, parseInt(r.h) || 280);
4343
+ function Ge(e, t, n, r) {
4344
+ var i = We(r.d);
4345
+ if (!i.length) return A(parseInt(r.w) || 480, parseInt(r.h) || 280);
3787
4346
  var a = parseInt(r.w) || 800, o = parseInt(r.h) || 320, c, l;
3788
4347
  if (r._yMin !== void 0 && r._yMax !== void 0 && isFinite(+r._yMin)) c = +r._yMin, l = +r._yMax;
3789
4348
  else {
@@ -3791,47 +4350,50 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3791
4350
  i.forEach(function(e) {
3792
4351
  u.push(e.h, e.l);
3793
4352
  }), c = y(u), l = v(u);
3794
- var d = N(c, l);
4353
+ var d = B(c, l);
3795
4354
  c = d[0], l = d[1];
3796
4355
  }
3797
4356
  c === l && (--c, l += 1);
3798
- var f = l - c || 1, p = 44, m = 30, g = 18, _ = 12, b = a - p - _, x = o - g - m, S = b / i.length, T = Math.max(3, S * .6), D = h(r.c), O = D[0] || "#f5222d", k = D[1] || "#52c41a", A = s("svg", {
3799
- viewBox: "0 0 " + a + " " + o,
4357
+ var f = l - c || 1, p = 44, m = 18, g = 12, _ = a - p - g, b = G(r, i.length), x = b ? 28 : 0, S = _ / i.length, T = Math.max(3, S * .6), E = U(t.slice(0, i.length), S, 30, _, r.interval), D = E.padB, k = o - m - D, j = h(r.c), M = j[0] || "#f5222d", N = j[1] || "#52c41a", P = s("svg", {
4358
+ viewBox: "0 0 " + a + " " + (o + x),
3800
4359
  class: "tokui-chart__svg",
3801
4360
  preserveAspectRatio: "xMidYMid meet"
3802
- }), j = C(a, o);
3803
- function M(e) {
3804
- return g + x * (1 - (e - c) / f);
4361
+ }), F = C(a, o + x);
4362
+ function I(e) {
4363
+ return m + k * (1 - (e - c) / f);
3805
4364
  }
3806
- for (var P = 0; P <= 4; P++) {
3807
- var I = M(c + f * P / 4);
3808
- A.appendChild(s("line", {
4365
+ for (var L = 0; L <= 4; L++) {
4366
+ var R = I(c + f * L / 4);
4367
+ P.appendChild(s("line", {
3809
4368
  x1: p,
3810
- y1: I,
3811
- x2: a - _,
3812
- y2: I,
4369
+ y1: R,
4370
+ x2: a - g,
4371
+ y2: R,
3813
4372
  stroke: "var(--tokui-chart-grid, #e8e8e8)",
3814
4373
  "stroke-width": 1
3815
- })), A.appendChild(s("text", {
4374
+ })), P.appendChild(s("text", {
3816
4375
  x: p - 4,
3817
- y: I + 4,
4376
+ y: R + 4,
3818
4377
  "text-anchor": "end",
3819
4378
  fill: "var(--tokui-chart-text, #999)",
3820
4379
  "font-size": "9"
3821
- })).textContent = Math.round(c + f * P / 4);
4380
+ })).textContent = Math.round(c + f * L / 4);
3822
4381
  }
3823
- i.forEach(function(e, n) {
3824
- var r = p + n * S + S / 2, i = e.c >= e.o, a = i ? O : k, o = s("g", { class: "tokui-chart-tip-group" });
4382
+ var z = b ? s("g", { class: "tokui-chart-plot" }) : null;
4383
+ z && P.appendChild(z);
4384
+ var V = z || P, H = [];
4385
+ if (i.forEach(function(e, n) {
4386
+ var r = p + n * S + S / 2, i = e.c >= e.o, a = i ? M : N, o = s("g", { class: "tokui-chart-tip-group" });
3825
4387
  o.appendChild(s("line", {
3826
4388
  x1: r,
3827
- y1: M(e.h),
4389
+ y1: I(e.h),
3828
4390
  x2: r,
3829
- y2: M(e.l),
4391
+ y2: I(e.l),
3830
4392
  stroke: a,
3831
4393
  "stroke-width": 1,
3832
4394
  class: "tokui-chart-wick"
3833
4395
  }));
3834
- var c = M(Math.max(e.o, e.c)), l = M(Math.min(e.o, e.c));
4396
+ var c = I(Math.max(e.o, e.c)), l = I(Math.min(e.o, e.c));
3835
4397
  o.appendChild(s("rect", {
3836
4398
  x: r - T / 2,
3837
4399
  y: c,
@@ -3839,16 +4401,59 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3839
4401
  height: Math.max(1, l - c),
3840
4402
  fill: a,
3841
4403
  class: "tokui-chart-candle"
3842
- })), j.add(o, (t[n] || "D" + (n + 1)) + " O:" + e.o + " H:" + e.h + " L:" + e.l + " C:" + e.c + (i ? " ↑" : " ↓"), r, c), A.appendChild(o);
3843
- });
3844
- for (var L = [], R = 0; R < i.length; R++) L.push(p + R * S + S / 2);
3845
- return F(A, t.slice(0, i.length), L, o - 8, S), A.appendChild(j.layer), w(A), A;
4404
+ }));
4405
+ var u = (t[n] || "D" + (n + 1)) + " O:" + e.o + " H:" + e.h + " L:" + e.l + " C:" + e.c + (i ? " ↑" : " ↓");
4406
+ b ? H.push({
4407
+ grp: o,
4408
+ cx: r,
4409
+ y: c,
4410
+ text: u
4411
+ }) : F.add(o, u, r, c), V.appendChild(o);
4412
+ }), b) {
4413
+ var W = i.length, K = O(P, {
4414
+ plotG: z,
4415
+ tipLayer: F.layer,
4416
+ padL: p,
4417
+ cw: _,
4418
+ padT: m,
4419
+ ch: k,
4420
+ h: o,
4421
+ w: a,
4422
+ n: W,
4423
+ srcLeft: function(e) {
4424
+ return p + e * S;
4425
+ },
4426
+ srcRight: function(e) {
4427
+ return p + (e + 1) * S;
4428
+ },
4429
+ overview: i.map(function(e) {
4430
+ return e.c;
4431
+ }),
4432
+ valMin: c,
4433
+ range: f,
4434
+ renderLabels: function(e, n, r) {
4435
+ for (var i = _ / (r - n + 1), a = [], s = n; s <= r; s++) a.push(p + (s - n) * i + i / 2);
4436
+ q(e, t.slice(n, r + 1), a, o - 8, i, E.rotate, E.interval);
4437
+ }
4438
+ });
4439
+ H.forEach(function(e) {
4440
+ e.grp.addEventListener("mouseenter", function() {
4441
+ K.showTip(e.text, K.winState.sx * e.cx + K.winState.tx, e.y);
4442
+ }), e.grp.addEventListener("mouseleave", function() {
4443
+ K.sharedTip.style.opacity = "";
4444
+ });
4445
+ });
4446
+ } else {
4447
+ for (var J = [], ee = 0; ee < i.length; ee++) J.push(p + ee * S + S / 2);
4448
+ q(P, t.slice(0, i.length), J, o - 8, S, E.rotate, E.interval);
4449
+ }
4450
+ return P.appendChild(F.layer), b || w(P), P;
3846
4451
  }
3847
4452
  function $(e, t) {
3848
4453
  r[e] = t;
3849
4454
  }
3850
- function Pe(e) {
3851
- $("bar", V), $("line", H), $("pie", W), $("donut", G), $("radar", J), $("scatter", ee), $("gantt", he), $("funnel", K), $("gauge", q), $("area", ge), $("progress", _e), $("bubble", ye), $("heatmap", Ce), $("rose", we), $("histogram", Te), $("waterfall", Ee), $("boxplot", Oe), $("treemap", Ae), $("sankey", je), $("candlestick", Ne);
4455
+ function Ke(e) {
4456
+ $("bar", ne), $("line", re), $("pie", ae), $("donut", Z), $("radar", Q), $("scatter", ce), $("gantt", De), $("funnel", oe), $("gauge", se), $("area", Oe), $("progress", ke), $("bubble", je), $("heatmap", Fe), $("rose", Ie), $("histogram", Le), $("waterfall", Re), $("boxplot", Be), $("treemap", He), $("sankey", Ue), $("candlestick", Ge);
3852
4457
  function t(e, t) {
3853
4458
  var n = e._chartState;
3854
4459
  if (!(!n || !t)) {
@@ -3900,7 +4505,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3900
4505
  var s = t.t || "bar", u = c(t.d), f = d(t.l), m = _(t), h = r[s];
3901
4506
  if (h) {
3902
4507
  if (s === "candlestick") {
3903
- var g = Me(t.d);
4508
+ var g = We(t.d);
3904
4509
  if (g.length) {
3905
4510
  var b = [];
3906
4511
  g.forEach(function(e) {
@@ -3908,7 +4513,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3908
4513
  });
3909
4514
  var x = y(b), S = v(b);
3910
4515
  if (isFinite(x) && isFinite(S) && x !== S) {
3911
- var C = N(e._yRange ? Math.min(e._yRange.lo, x) : x, e._yRange ? Math.max(e._yRange.hi, S) : S);
4516
+ var C = B(e._yRange ? Math.min(e._yRange.lo, x) : x, e._yRange ? Math.max(e._yRange.hi, S) : S);
3912
4517
  e._yRange = {
3913
4518
  lo: C[0],
3914
4519
  hi: C[1]
@@ -3918,7 +4523,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3918
4523
  e._yRange && (t._yMin = e._yRange.lo, t._yMax = e._yRange.hi);
3919
4524
  }
3920
4525
  if (s === "scatter" || s === "bubble") {
3921
- var w = s === "bubble" ? ve(t.d) : p(t.d);
4526
+ var w = s === "bubble" ? Ae(t.d) : p(t.d);
3922
4527
  if (w.length) {
3923
4528
  var T = w.map(function(e) {
3924
4529
  return e.x;
@@ -3926,62 +4531,62 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
3926
4531
  return e.y;
3927
4532
  }), D = y(T), O = v(T), k = y(E), A = v(E);
3928
4533
  if (isFinite(D) && isFinite(O) && D !== O) {
3929
- var j = N(e._xRange ? Math.min(e._xRange.lo, D) : D, e._xRange ? Math.max(e._xRange.hi, O) : O);
4534
+ var j = B(e._xRange ? Math.min(e._xRange.lo, D) : D, e._xRange ? Math.max(e._xRange.hi, O) : O);
3930
4535
  e._xRange = {
3931
4536
  lo: j[0],
3932
4537
  hi: j[1]
3933
4538
  };
3934
4539
  }
3935
4540
  if (isFinite(k) && isFinite(A) && k !== A) {
3936
- var M = N(e._yRange ? Math.min(e._yRange.lo, k) : k, e._yRange ? Math.max(e._yRange.hi, A) : A);
4541
+ var M = B(e._yRange ? Math.min(e._yRange.lo, k) : k, e._yRange ? Math.max(e._yRange.hi, A) : A);
3937
4542
  e._yRange = {
3938
4543
  lo: M[0],
3939
4544
  hi: M[1]
3940
4545
  };
3941
4546
  }
3942
4547
  if (s === "bubble") {
3943
- var P = v(w.map(function(e) {
4548
+ var N = v(w.map(function(e) {
3944
4549
  return e.s;
3945
4550
  }));
3946
- isFinite(P) && (e._sMax = e._sMax ? Math.max(e._sMax, P) : P);
4551
+ isFinite(N) && (e._sMax = e._sMax ? Math.max(e._sMax, N) : N);
3947
4552
  }
3948
4553
  }
3949
4554
  e._xRange && (t._xMin = e._xRange.lo, t._xMax = e._xRange.hi), e._yRange && (t._yMin = e._yRange.lo, t._yMax = e._yRange.hi), e._sMax && (t._sMax = e._sMax);
3950
4555
  }
3951
4556
  if (s === "heatmap") {
3952
- var F = be(t.rows || t.d);
3953
- if (F.length) {
3954
- var I = [];
3955
- if (F.forEach(function(e) {
4557
+ var P = Me(t.rows || t.d);
4558
+ if (P.length) {
4559
+ var F = [];
4560
+ if (P.forEach(function(e) {
3956
4561
  e.forEach(function(e) {
3957
- isNaN(e) || I.push(e);
4562
+ isNaN(e) || F.push(e);
3958
4563
  });
3959
- }), I.length) {
3960
- var L = y(I), R = v(I);
3961
- isFinite(L) && isFinite(R) && (e._vRange = {
3962
- lo: e._vRange ? Math.min(e._vRange.lo, L) : L,
3963
- hi: e._vRange ? Math.max(e._vRange.hi, R) : R
4564
+ }), F.length) {
4565
+ var I = y(F), L = v(F);
4566
+ isFinite(I) && isFinite(L) && (e._vRange = {
4567
+ lo: e._vRange ? Math.min(e._vRange.lo, I) : I,
4568
+ hi: e._vRange ? Math.max(e._vRange.hi, L) : L
3964
4569
  });
3965
4570
  }
3966
4571
  }
3967
4572
  e._vRange && (t._vMin = e._vRange.lo, t._vMax = e._vRange.hi);
3968
4573
  }
3969
4574
  if (s === "histogram") {
3970
- var z = c(t.d), B = xe(t.l);
3971
- if (B) e._hRange = {
3972
- lo: B.lo,
3973
- hi: B.hi
3974
- }, t.bins === void 0 && (e._hBins = B.bins);
3975
- else if (z.length) {
3976
- e._hBins === void 0 && t.bins === void 0 && (e._hBins = Math.min(20, Math.max(5, Math.ceil(Math.sqrt(z.length)))));
3977
- var V = y(z), H = v(z);
4575
+ var R = c(t.d), z = Ne(t.l);
4576
+ if (z) e._hRange = {
4577
+ lo: z.lo,
4578
+ hi: z.hi
4579
+ }, t.bins === void 0 && (e._hBins = z.bins);
4580
+ else if (R.length) {
4581
+ e._hBins === void 0 && t.bins === void 0 && (e._hBins = Math.min(20, Math.max(5, Math.ceil(Math.sqrt(R.length)))));
4582
+ var V = y(R), H = v(R);
3978
4583
  isFinite(V) && isFinite(H) && (e._hRange = {
3979
4584
  lo: e._hRange ? Math.min(e._hRange.lo, V) : V,
3980
4585
  hi: e._hRange ? Math.max(e._hRange.hi, H) : H
3981
4586
  });
3982
4587
  }
3983
- if (e._hBins !== void 0 && (t._bins = e._hBins), e._hRange && (t._lo = e._hRange.lo, t._hi = e._hRange.hi), z.length) {
3984
- var U = v(Se(t, z).counts) || 1;
4588
+ if (e._hBins !== void 0 && (t._bins = e._hBins), e._hRange && (t._lo = e._hRange.lo, t._hi = e._hRange.hi), R.length) {
4589
+ var U = v(Pe(t, R).counts) || 1;
3985
4590
  e._yMax = e._yMax ? Math.max(e._yMax, U) : U, t._yMax = e._yMax;
3986
4591
  }
3987
4592
  }
@@ -4046,36 +4651,36 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
4046
4651
  a = 0;
4047
4652
  }
4048
4653
  if (a > 0) {
4049
- if (t.getAttribute("data-chart-type") === "pie") {
4050
- var o = e._tokuiChartSpec;
4051
- if (!o || !o.data || !o.data.length || !o.labels || !o.labels.some(function(e) {
4654
+ var o = a / r, s = t.getAttribute("data-chart-type");
4655
+ if (L(t, o), s === "pie") {
4656
+ var c = e._tokuiChartSpec;
4657
+ if (!c || !c.data || !c.data.length || !c.labels || !c.labels.some(function(e) {
4052
4658
  return !!e;
4053
4659
  })) return;
4054
- var s = o.data.reduce(function(e, t) {
4660
+ var l = c.data.reduce(function(e, t) {
4055
4661
  return e + t;
4056
- }, 0) || 1, c = U(o.data, o.labels, o.attrs, 7, s), l = c.r + c.fs, u = j(a, l, c.fixedA, c.coefB, O), d = 14, f = Infinity;
4057
- if (c.coefB > 1) {
4058
- var p = a * l - 2 * d * (l + c.fixedA), m = a + 2 * d * (c.coefB - 1);
4059
- f = p > 0 && m > 0 ? p / m : 7;
4662
+ }, 0) || 1, u = ie(c.data, c.labels, c.attrs, 7, l), d = u.r + u.fs, f = R(a, d, u.fixedA, u.coefB, M), p = 14, m = Infinity;
4663
+ if (u.coefB > 1) {
4664
+ var h = a * d - 2 * p * (d + u.fixedA), g = a + 2 * p * (u.coefB - 1);
4665
+ m = h > 0 && g > 0 ? h / g : 7;
4060
4666
  }
4061
- var h = Math.min(u, f), g = e._tokuiFsApplied || 7;
4062
- h > 7.05 && h > g + .05 && (e._tokuiFsApplied = h, i(e, Object.assign({}, o.attrs, { _pieFs: h })));
4667
+ var _ = Math.min(f, m), v = e._tokuiFsApplied || 7;
4668
+ _ > 7.05 && _ > v + .05 && (e._tokuiFsApplied = _, i(e, Object.assign({}, c.attrs, { _pieFs: _ })));
4063
4669
  return;
4064
4670
  }
4065
- var _ = a / r;
4066
- if (_ > 0) for (var v = t.querySelectorAll("text[font-size]"), y = 0; y < v.length; y++) {
4067
- for (var b = v[y], x = b.parentNode; x && x !== t;) {
4068
- if ((x.getAttribute && x.getAttribute("class") || "").indexOf("tokui-chart-tips-layer") >= 0) {
4069
- b = null;
4671
+ if (o > 0) for (var y = t.querySelectorAll("text[font-size]"), b = 0; b < y.length; b++) {
4672
+ for (var x = y[b], S = x.parentNode; S && S !== t;) {
4673
+ if ((S.getAttribute && S.getAttribute("class") || "").indexOf("tokui-chart-tips-layer") >= 0) {
4674
+ x = null;
4070
4675
  break;
4071
4676
  }
4072
- x = x.parentNode;
4677
+ S = S.parentNode;
4073
4678
  }
4074
- if (b && !(b.classList.contains("tokui-chart-gauge-value") || b.classList.contains("tokui-chart-donut-value"))) {
4075
- var S = parseFloat(b.getAttribute("font-size"));
4076
- if (!(!(S > 0) || S >= 13)) {
4077
- var C = A(S, _, O);
4078
- C !== S && b.setAttribute("font-size", String(Math.round(C * 100) / 100));
4679
+ if (x && !(x.classList.contains("tokui-chart-gauge-value") || x.classList.contains("tokui-chart-donut-value"))) {
4680
+ var C = parseFloat(x.getAttribute("font-size"));
4681
+ if (!(!(C > 0) || C >= 13)) {
4682
+ var w = I(C, o, M, P);
4683
+ w !== C && x.setAttribute("font-size", String(Math.round(w * 100) / 100));
4079
4684
  }
4080
4685
  }
4081
4686
  }
@@ -4191,22 +4796,35 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
4191
4796
  var c = document.createElement("div");
4192
4797
  c.className = "tokui-chart__modal-body";
4193
4798
  var l = e.cloneNode(!0);
4194
- l.id && l.removeAttribute("id");
4195
- for (var u = l.querySelectorAll(".tokui-chart-tips-layer"), d = u.length - 1; d >= 0; d--) u[d].parentNode && u[d].parentNode.removeChild(u[d]);
4196
- c.appendChild(l), a.appendChild(c), a.appendChild(o), i.appendChild(a);
4197
- var f = document.body.style.overflow;
4799
+ l.id && l.removeAttribute("id"), w(l), c.appendChild(l), a.appendChild(c), a.appendChild(o), i.appendChild(a);
4800
+ var u = document.body.style.overflow;
4198
4801
  document.body.style.overflow = "hidden";
4199
- var p = function(e) {
4200
- e.key === "Escape" && h();
4201
- }, m = !1;
4202
- function h() {
4203
- m || (m = !0, i.classList.remove("tokui-chart__modal--open"), document.removeEventListener("keydown", p), document.body.style.overflow = f, setTimeout(function() {
4802
+ var d = function(e) {
4803
+ e.key === "Escape" && p();
4804
+ }, f = !1;
4805
+ function p() {
4806
+ f || (f = !0, i.classList.remove("tokui-chart__modal--open"), document.removeEventListener("keydown", d), document.body.style.overflow = u, setTimeout(function() {
4204
4807
  i.parentNode && i.remove();
4205
4808
  }, 180));
4206
4809
  }
4207
4810
  i.addEventListener("click", function(e) {
4208
- e.target === i && h();
4209
- }), o.addEventListener("click", h), document.addEventListener("keydown", p), document.body.appendChild(i), i.offsetWidth, i.classList.add("tokui-chart__modal--open");
4811
+ e.target === i && p();
4812
+ }), o.addEventListener("click", p), document.addEventListener("keydown", d), document.body.appendChild(i), i.offsetWidth, i.classList.add("tokui-chart__modal--open"), (typeof window < "u" && window.requestAnimationFrame ? function(e) {
4813
+ window.requestAnimationFrame(e);
4814
+ } : function(e) {
4815
+ e();
4816
+ })(function() {
4817
+ var e = 0;
4818
+ try {
4819
+ e = l.getBoundingClientRect().width;
4820
+ } catch {
4821
+ e = 0;
4822
+ }
4823
+ if (e > 0) {
4824
+ var t = l.viewBox && l.viewBox.baseVal, n = t && t.width || parseFloat((l.getAttribute("viewBox") || "").split(/\s+/)[2]);
4825
+ n > 0 && L(l, e / n);
4826
+ }
4827
+ });
4210
4828
  }
4211
4829
  function C(e) {
4212
4830
  var t = document.createElement("div");
@@ -4261,13 +4879,18 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
4261
4879
  }), a(s), s);
4262
4880
  });
4263
4881
  }
4264
- typeof window < "u" && (window.TokUI = window.TokUI || {}, window.TokUI._internal = window.TokUI._internal || {}, window.TokUI._internal.registerChartComponents = Pe, window.TokUI._internal.registerChartRenderer = $, window.TokUI._internal.bumpFsUnits = A, window.TokUI._internal.solvePieFs = j, window.TokUI._internal.pieSizing = U, window.TokUI._internal.MIN_CHART_PX = O), t !== void 0 && t.exports && (t.exports = {
4265
- registerChartComponents: Pe,
4882
+ typeof window < "u" && (window.TokUI = window.TokUI || {}, window.TokUI._internal = window.TokUI._internal || {}, window.TokUI._internal.registerChartComponents = Ke, window.TokUI._internal.registerChartRenderer = $, window.TokUI._internal.bumpFsUnits = I, window.TokUI._internal.applyTipScale = L, window.TokUI._internal.axisXLayout = U, window.TokUI._internal.zoomBounds = K, window.TokUI._internal.zoomEnabled = G, window.TokUI._internal.solvePieFs = R, window.TokUI._internal.pieSizing = ie, window.TokUI._internal.MIN_CHART_PX = M, window.TokUI._internal.MAX_CHART_PX = P), t !== void 0 && t.exports && (t.exports = {
4883
+ registerChartComponents: Ke,
4266
4884
  registerChartRenderer: $,
4267
- bumpFsUnits: A,
4268
- solvePieFs: j,
4269
- pieSizing: U,
4270
- MIN_CHART_PX: O
4885
+ bumpFsUnits: I,
4886
+ solvePieFs: R,
4887
+ pieSizing: ie,
4888
+ MIN_CHART_PX: M,
4889
+ MAX_CHART_PX: P,
4890
+ applyTipScale: L,
4891
+ axisXLayout: U,
4892
+ zoomBounds: K,
4893
+ zoomEnabled: G
4271
4894
  });
4272
4895
  })), v = /* @__PURE__ */ o(((e, t) => {
4273
4896
  var n = {
@@ -9403,29 +10026,11 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
9403
10026
  }
9404
10027
  };
9405
10028
  function s(e) {
9406
- var t = e.indexOf("/"), n = t > 0 ? e.slice(0, t) : e, r = t > 0 ? e.slice(t + 1) : "", i = "", a = "";
9407
- if (r) {
9408
- var o = r.split("/");
9409
- i = o[0].trim().toLowerCase(), a = o[1] ? o[1].trim().toLowerCase() : "";
9410
- }
9411
- var s = n.indexOf(":");
10029
+ var t = T(e), n = t.text, r = n.indexOf(":");
9412
10030
  return {
9413
- name: s > 0 ? n.slice(0, s) : n,
9414
- align: {
9415
- c: "center",
9416
- center: "center",
9417
- r: "right",
9418
- right: "right",
9419
- l: "left",
9420
- left: "left"
9421
- }[i] || "",
9422
- color: {
9423
- primary: "primary",
9424
- success: "success",
9425
- warning: "warning",
9426
- danger: "danger",
9427
- info: "info"
9428
- }[a] || ""
10031
+ name: r > 0 ? n.slice(0, r) : n,
10032
+ align: t.align,
10033
+ color: t.color
9429
10034
  };
9430
10035
  }
9431
10036
  let c = [], u = [], d = [], f = 0, p = null;
@@ -9593,55 +10198,83 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
9593
10198
  rowspan: a
9594
10199
  };
9595
10200
  }
9596
- function T(e, r, o) {
9597
- var s = o.colTypes, c = o.colAligns, l = o.seqNum, u = o.colspanVal, d = o.cellCols && o.cellCols[r] != null ? o.cellCols[r] : r, f = { class: "tokui-td" }, p = c[d];
9598
- p && (f.class += " tokui-col-" + p);
9599
- var m = o.colColors && o.colColors[d];
9600
- if (m && (f.class += " tokui-text--" + m), r === 0 && u >= 2 && (f.colspan = String(u)), r > 0 && r < u) return null;
9601
- var h = w(e), g = h.text.trim();
9602
- if (h.colspan >= 2 && (f.colspan = String(h.colspan)), h.rowspan >= 2 && (f.rowspan = String(h.rowspan)), s[d] === "chk") {
10201
+ function T(e) {
10202
+ for (var t = {
10203
+ c: "center",
10204
+ center: "center",
10205
+ r: "right",
10206
+ right: "right",
10207
+ l: "left",
10208
+ left: "left"
10209
+ }, n = {
10210
+ primary: "primary",
10211
+ success: "success",
10212
+ warning: "warning",
10213
+ danger: "danger",
10214
+ info: "info"
10215
+ }, r = "", i = "", a = 0; a < 2; a++) {
10216
+ var o = String(e).match(/\/([A-Za-z]+)$/);
10217
+ if (!o) break;
10218
+ var s = o[1].toLowerCase();
10219
+ if (t[s] && !r) r = t[s];
10220
+ else if (n[s] && !i) i = n[s];
10221
+ else break;
10222
+ e = String(e).slice(0, o.index);
10223
+ }
10224
+ return {
10225
+ text: e,
10226
+ align: r,
10227
+ color: i
10228
+ };
10229
+ }
10230
+ function E(e, r, o) {
10231
+ var s = o.colTypes, c = o.colAligns, l = o.seqNum, u = o.colspanVal, d = o.cellCols && o.cellCols[r] != null ? o.cellCols[r] : r, f = { class: "tokui-td" }, p = T(e), m = w(p.text), h = m.text.trim(), g = p.align || c[d];
10232
+ g && (f.class += " tokui-col-" + g);
10233
+ var _ = p.color || o.colColors && o.colColors[d];
10234
+ if (_ && (f.class += " tokui-text--" + _), r === 0 && u >= 2 && (f.colspan = String(u)), r > 0 && r < u) return null;
10235
+ if (m.colspan >= 2 && (f.colspan = String(m.colspan)), m.rowspan >= 2 && (f.rowspan = String(m.rowspan)), s[d] === "chk") {
9603
10236
  f.class += " tokui-col-chk";
9604
- var _ = t("td", f);
9605
- return _.appendChild(t("input", {
10237
+ var v = t("td", f);
10238
+ return v.appendChild(t("input", {
9606
10239
  type: "checkbox",
9607
10240
  class: "tokui-chk-row"
9608
- })), _;
10241
+ })), v;
9609
10242
  }
9610
10243
  if (s[d] === "#") return f.class += " tokui-col-seq", t("td", f, String(l));
9611
- var v = a(g);
9612
- if (v) {
10244
+ var y = a(h);
10245
+ if (y) {
9613
10246
  f.class += " tokui-td--inline";
9614
- var y = t("td", f);
9615
- return y.appendChild(v), y;
10247
+ var b = t("td", f);
10248
+ return b.appendChild(y), b;
9616
10249
  }
9617
- if (g.startsWith("btn:")) {
10250
+ if (h.startsWith("btn:")) {
9618
10251
  f.class += " tokui-col-action";
9619
- var b = t("td", f);
9620
- return b.appendChild(n(g, t, i)), b;
9621
- }
9622
- if (g.startsWith("tag:")) {
9623
- var x = t("td", f), S = g.split(/\s+/), C = "", T = { class: "tokui-tag" };
9624
- return S.forEach(function(e) {
9625
- e.startsWith("tag:") ? C = e.slice(4) : e.startsWith("t:") && (T.class += " tokui-tag--" + e.slice(2));
9626
- }), x.appendChild(t("span", T, C)), x;
9627
- }
9628
- if (g.startsWith("progress")) {
9629
- var E = t("td", f), D = g.split(/\s+/), O = 0, k = "span", A = "";
9630
- if (D.forEach(function(e) {
9631
- e.startsWith("v:") ? O = parseInt(e.slice(2)) || 0 : e.startsWith("t:") ? k = e.slice(2) : e.startsWith("status:") && (A = e.slice(7));
9632
- }), k === "span") {
9633
- var j = t("span", { class: "tokui-progress tokui-progress--span" }), M = t("span", { class: "tokui-progress__mini-bar" }), N = "tokui-progress__mini-fill";
9634
- A === "error" ? N += " tokui-progress--error" : O >= 80 && (N += " tokui-progress--success");
9635
- var P = t("span", { class: N });
9636
- P.style.width = O + "%", M.appendChild(P), j.appendChild(M);
9637
- var F = t("span", { class: "tokui-progress__span-text" });
9638
- F.textContent = O + "%", j.appendChild(F), E.appendChild(j);
9639
- }
9640
- return E;
9641
- }
9642
- return t("td", f, g);
9643
- }
9644
- function E(e, t) {
10252
+ var x = t("td", f);
10253
+ return x.appendChild(n(h, t, i)), x;
10254
+ }
10255
+ if (h.startsWith("tag:")) {
10256
+ var S = t("td", f), C = h.split(/\s+/), E = "", D = { class: "tokui-tag" };
10257
+ return C.forEach(function(e) {
10258
+ e.startsWith("tag:") ? E = e.slice(4) : e.startsWith("t:") && (D.class += " tokui-tag--" + e.slice(2));
10259
+ }), S.appendChild(t("span", D, E)), S;
10260
+ }
10261
+ if (h.startsWith("progress")) {
10262
+ var O = t("td", f), k = h.split(/\s+/), A = 0, j = "span", M = "";
10263
+ if (k.forEach(function(e) {
10264
+ e.startsWith("v:") ? A = parseInt(e.slice(2)) || 0 : e.startsWith("t:") ? j = e.slice(2) : e.startsWith("status:") && (M = e.slice(7));
10265
+ }), j === "span") {
10266
+ var N = t("span", { class: "tokui-progress tokui-progress--span" }), P = t("span", { class: "tokui-progress__mini-bar" }), F = "tokui-progress__mini-fill";
10267
+ M === "error" ? F += " tokui-progress--error" : A >= 80 && (F += " tokui-progress--success");
10268
+ var I = t("span", { class: F });
10269
+ I.style.width = A + "%", P.appendChild(I), N.appendChild(P);
10270
+ var L = t("span", { class: "tokui-progress__span-text" });
10271
+ L.textContent = A + "%", N.appendChild(L), O.appendChild(N);
10272
+ }
10273
+ return O;
10274
+ }
10275
+ return t("td", f, h);
10276
+ }
10277
+ function D(e, t) {
9645
10278
  e._tokuiCellText = [], e._tokuiCellTds = [];
9646
10279
  var n = "\0SKELETON\0";
9647
10280
  function r(t, n) {
@@ -9664,7 +10297,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
9664
10297
  if (e._tokuiCellText[l] !== g) {
9665
10298
  var _ = e._tokuiCellTds[l];
9666
10299
  _ && _.parentNode === e && e.removeChild(_);
9667
- var v = h ? x(l, t) : T(u, l, t);
10300
+ var v = h ? x(l, t) : E(u, l, t);
9668
10301
  r(v, l), e._tokuiCellTds[l] = v || null, e._tokuiCellText[l] = g;
9669
10302
  }
9670
10303
  }
@@ -9692,7 +10325,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
9692
10325
  colspanVal: r,
9693
10326
  tbodyEl: e._tbodyEl
9694
10327
  };
9695
- if (e._stream === "open") return E(n, a), n;
10328
+ if (e._stream === "open") return D(n, a), n;
9696
10329
  if (e.content) {
9697
10330
  var o = y(e.content);
9698
10331
  let t = b(o);
@@ -9703,7 +10336,7 @@ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescr
9703
10336
  return e !== t;
9704
10337
  }), p = o.indexOf("[tr") !== -1;
9705
10338
  !s && !l && i.length > 0 && t.length !== i.length && r < 2 && console.warn("TokUI Table: tr 单元格数 " + t.length + " != 列数 " + i.length + " → 列错位。" + (p ? "⚠️ 内容含 [tr 残留,疑似 tr 未正确闭合(引号未配对/含字面 [ ] 未引号包)→ parser 标签断裂、串行。" : t.length > i.length ? "疑似单元格内含逗号未用双引号包裹(如 12,800.00、\"a,b,c\")。" : "疑似列标题(thead cols)含逗号被切散、或该行缺格。") + "规则:tr 不要外层引号、含逗号单元格直引号包。tr 原文: " + o), t.forEach((e, t) => {
9706
- let r = T(e, t, a);
10339
+ let r = E(e, t, a);
9707
10340
  r && n.appendChild(r);
9708
10341
  });
9709
10342
  }