minerva-design 1.2.0 → 1.3.0

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.
Files changed (256) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/charts/canvas.d.cts +4 -1
  3. package/dist/charts/canvas.d.ts +4 -1
  4. package/dist/charts/core.cjs +1 -1
  5. package/dist/charts/core.d.cts +5 -2
  6. package/dist/charts/core.d.ts +5 -2
  7. package/dist/charts/core.js +6 -4
  8. package/dist/charts/engine/canvas.cjs +1 -1
  9. package/dist/charts/engine/canvas.cjs.map +1 -1
  10. package/dist/charts/engine/canvas.js +65 -53
  11. package/dist/charts/engine/canvas.js.map +1 -1
  12. package/dist/charts/engine/chart.cjs +1 -2
  13. package/dist/charts/engine/chart.cjs.map +1 -1
  14. package/dist/charts/engine/chart.js +342 -323
  15. package/dist/charts/engine/chart.js.map +1 -1
  16. package/dist/charts/engine/color.cjs +1 -1
  17. package/dist/charts/engine/color.cjs.map +1 -1
  18. package/dist/charts/engine/color.d.cts +17 -0
  19. package/dist/charts/engine/color.d.ts +17 -0
  20. package/dist/charts/engine/color.js +27 -3
  21. package/dist/charts/engine/color.js.map +1 -1
  22. package/dist/charts/engine/controller.cjs +2 -2
  23. package/dist/charts/engine/controller.cjs.map +1 -1
  24. package/dist/charts/engine/controller.d.cts +6 -0
  25. package/dist/charts/engine/controller.d.ts +6 -0
  26. package/dist/charts/engine/controller.js +317 -253
  27. package/dist/charts/engine/controller.js.map +1 -1
  28. package/dist/charts/engine/curve.cjs +2 -0
  29. package/dist/charts/engine/curve.cjs.map +1 -0
  30. package/dist/charts/engine/curve.d.cts +15 -0
  31. package/dist/charts/engine/curve.d.ts +15 -0
  32. package/dist/charts/engine/curve.js +56 -0
  33. package/dist/charts/engine/curve.js.map +1 -0
  34. package/dist/charts/engine/data.cjs +1 -1
  35. package/dist/charts/engine/data.cjs.map +1 -1
  36. package/dist/charts/engine/data.d.cts +15 -2
  37. package/dist/charts/engine/data.d.ts +15 -2
  38. package/dist/charts/engine/data.js +98 -38
  39. package/dist/charts/engine/data.js.map +1 -1
  40. package/dist/charts/engine/dom.cjs +1 -1
  41. package/dist/charts/engine/dom.cjs.map +1 -1
  42. package/dist/charts/engine/dom.d.cts +5 -3
  43. package/dist/charts/engine/dom.d.ts +5 -3
  44. package/dist/charts/engine/dom.js +27 -22
  45. package/dist/charts/engine/dom.js.map +1 -1
  46. package/dist/charts/engine/items.cjs +1 -1
  47. package/dist/charts/engine/items.cjs.map +1 -1
  48. package/dist/charts/engine/items.js +132 -61
  49. package/dist/charts/engine/items.js.map +1 -1
  50. package/dist/charts/engine/model.cjs +1 -1
  51. package/dist/charts/engine/model.cjs.map +1 -1
  52. package/dist/charts/engine/model.d.cts +30 -3
  53. package/dist/charts/engine/model.d.ts +30 -3
  54. package/dist/charts/engine/model.js +225 -108
  55. package/dist/charts/engine/model.js.map +1 -1
  56. package/dist/charts/engine/overlay.cjs +1 -1
  57. package/dist/charts/engine/overlay.cjs.map +1 -1
  58. package/dist/charts/engine/overlay.d.cts +2 -0
  59. package/dist/charts/engine/overlay.d.ts +2 -0
  60. package/dist/charts/engine/overlay.js +16 -16
  61. package/dist/charts/engine/overlay.js.map +1 -1
  62. package/dist/charts/engine/presets.cjs +2 -2
  63. package/dist/charts/engine/presets.cjs.map +1 -1
  64. package/dist/charts/engine/presets.d.cts +71 -5
  65. package/dist/charts/engine/presets.d.ts +71 -5
  66. package/dist/charts/engine/presets.js +120 -33
  67. package/dist/charts/engine/presets.js.map +1 -1
  68. package/dist/charts/engine/renderers/canvas2d.cjs +1 -1
  69. package/dist/charts/engine/renderers/canvas2d.cjs.map +1 -1
  70. package/dist/charts/engine/renderers/canvas2d.js +149 -111
  71. package/dist/charts/engine/renderers/canvas2d.js.map +1 -1
  72. package/dist/charts/engine/renderers/range.cjs +1 -1
  73. package/dist/charts/engine/renderers/range.cjs.map +1 -1
  74. package/dist/charts/engine/renderers/range.js +4 -4
  75. package/dist/charts/engine/renderers/range.js.map +1 -1
  76. package/dist/charts/engine/renderers/shaders.cjs +37 -19
  77. package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
  78. package/dist/charts/engine/renderers/shaders.d.cts +2 -2
  79. package/dist/charts/engine/renderers/shaders.d.ts +2 -2
  80. package/dist/charts/engine/renderers/shaders.js +37 -19
  81. package/dist/charts/engine/renderers/shaders.js.map +1 -1
  82. package/dist/charts/engine/renderers/types.cjs.map +1 -1
  83. package/dist/charts/engine/renderers/types.d.cts +11 -4
  84. package/dist/charts/engine/renderers/types.d.ts +11 -4
  85. package/dist/charts/engine/renderers/types.js.map +1 -1
  86. package/dist/charts/engine/renderers/webgl2.cjs +1 -1
  87. package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
  88. package/dist/charts/engine/renderers/webgl2.js +33 -12
  89. package/dist/charts/engine/renderers/webgl2.js.map +1 -1
  90. package/dist/charts/engine/renderers/webgpu.cjs +1 -1
  91. package/dist/charts/engine/renderers/webgpu.cjs.map +1 -1
  92. package/dist/charts/engine/renderers/webgpu.js +18 -15
  93. package/dist/charts/engine/renderers/webgpu.js.map +1 -1
  94. package/dist/charts/engine/scene.cjs +1 -1
  95. package/dist/charts/engine/scene.cjs.map +1 -1
  96. package/dist/charts/engine/scene.d.cts +19 -6
  97. package/dist/charts/engine/scene.d.ts +19 -6
  98. package/dist/charts/engine/scene.js +201 -89
  99. package/dist/charts/engine/scene.js.map +1 -1
  100. package/dist/charts/engine/shapes/canvas.cjs +2 -0
  101. package/dist/charts/engine/shapes/canvas.cjs.map +1 -0
  102. package/dist/charts/engine/shapes/canvas.d.cts +58 -0
  103. package/dist/charts/engine/shapes/canvas.d.ts +58 -0
  104. package/dist/charts/engine/shapes/canvas.js +159 -0
  105. package/dist/charts/engine/shapes/canvas.js.map +1 -0
  106. package/dist/charts/engine/shapes/chart.cjs +2 -0
  107. package/dist/charts/engine/shapes/chart.cjs.map +1 -0
  108. package/dist/charts/engine/shapes/chart.d.cts +6 -0
  109. package/dist/charts/engine/shapes/chart.d.ts +6 -0
  110. package/dist/charts/engine/shapes/chart.js +273 -0
  111. package/dist/charts/engine/shapes/chart.js.map +1 -0
  112. package/dist/charts/engine/shapes/draw.cjs +2 -0
  113. package/dist/charts/engine/shapes/draw.cjs.map +1 -0
  114. package/dist/charts/engine/shapes/draw.d.cts +20 -0
  115. package/dist/charts/engine/shapes/draw.d.ts +20 -0
  116. package/dist/charts/engine/shapes/draw.js +152 -0
  117. package/dist/charts/engine/shapes/draw.js.map +1 -0
  118. package/dist/charts/engine/shapes/funnel.cjs +2 -0
  119. package/dist/charts/engine/shapes/funnel.cjs.map +1 -0
  120. package/dist/charts/engine/shapes/funnel.d.cts +6 -0
  121. package/dist/charts/engine/shapes/funnel.d.ts +6 -0
  122. package/dist/charts/engine/shapes/funnel.js +149 -0
  123. package/dist/charts/engine/shapes/funnel.js.map +1 -0
  124. package/dist/charts/engine/shapes/gauge.cjs +2 -0
  125. package/dist/charts/engine/shapes/gauge.cjs.map +1 -0
  126. package/dist/charts/engine/shapes/gauge.d.cts +7 -0
  127. package/dist/charts/engine/shapes/gauge.d.ts +7 -0
  128. package/dist/charts/engine/shapes/gauge.js +173 -0
  129. package/dist/charts/engine/shapes/gauge.js.map +1 -0
  130. package/dist/charts/engine/shapes/hit.cjs +2 -0
  131. package/dist/charts/engine/shapes/hit.cjs.map +1 -0
  132. package/dist/charts/engine/shapes/hit.d.cts +28 -0
  133. package/dist/charts/engine/shapes/hit.d.ts +28 -0
  134. package/dist/charts/engine/shapes/hit.js +124 -0
  135. package/dist/charts/engine/shapes/hit.js.map +1 -0
  136. package/dist/charts/engine/shapes/index.d.cts +9 -0
  137. package/dist/charts/engine/shapes/index.d.ts +9 -0
  138. package/dist/charts/engine/shapes/layout.cjs +3 -0
  139. package/dist/charts/engine/shapes/layout.cjs.map +1 -0
  140. package/dist/charts/engine/shapes/layout.d.cts +88 -0
  141. package/dist/charts/engine/shapes/layout.d.ts +88 -0
  142. package/dist/charts/engine/shapes/layout.js +266 -0
  143. package/dist/charts/engine/shapes/layout.js.map +1 -0
  144. package/dist/charts/engine/shapes/pie.cjs +2 -0
  145. package/dist/charts/engine/shapes/pie.cjs.map +1 -0
  146. package/dist/charts/engine/shapes/pie.d.cts +20 -0
  147. package/dist/charts/engine/shapes/pie.d.ts +20 -0
  148. package/dist/charts/engine/shapes/pie.js +302 -0
  149. package/dist/charts/engine/shapes/pie.js.map +1 -0
  150. package/dist/charts/engine/shapes/radar.cjs +2 -0
  151. package/dist/charts/engine/shapes/radar.cjs.map +1 -0
  152. package/dist/charts/engine/shapes/radar.d.cts +8 -0
  153. package/dist/charts/engine/shapes/radar.d.ts +8 -0
  154. package/dist/charts/engine/shapes/radar.js +197 -0
  155. package/dist/charts/engine/shapes/radar.js.map +1 -0
  156. package/dist/charts/engine/shapes/runtime.cjs +2 -0
  157. package/dist/charts/engine/shapes/runtime.cjs.map +1 -0
  158. package/dist/charts/engine/shapes/runtime.d.cts +29 -0
  159. package/dist/charts/engine/shapes/runtime.d.ts +29 -0
  160. package/dist/charts/engine/shapes/runtime.js +97 -0
  161. package/dist/charts/engine/shapes/runtime.js.map +1 -0
  162. package/dist/charts/engine/shapes/scene.cjs +2 -0
  163. package/dist/charts/engine/shapes/scene.cjs.map +1 -0
  164. package/dist/charts/engine/shapes/scene.d.cts +257 -0
  165. package/dist/charts/engine/shapes/scene.d.ts +257 -0
  166. package/dist/charts/engine/shapes/scene.js +123 -0
  167. package/dist/charts/engine/shapes/scene.js.map +1 -0
  168. package/dist/charts/engine/shapes/treemap.cjs +2 -0
  169. package/dist/charts/engine/shapes/treemap.cjs.map +1 -0
  170. package/dist/charts/engine/shapes/treemap.d.cts +14 -0
  171. package/dist/charts/engine/shapes/treemap.d.ts +14 -0
  172. package/dist/charts/engine/shapes/treemap.js +213 -0
  173. package/dist/charts/engine/shapes/treemap.js.map +1 -0
  174. package/dist/charts/engine/shapes/types.d.cts +292 -0
  175. package/dist/charts/engine/shapes/types.d.ts +292 -0
  176. package/dist/charts/engine/signature.cjs +2 -0
  177. package/dist/charts/engine/signature.cjs.map +1 -0
  178. package/dist/charts/engine/signature.d.cts +9 -0
  179. package/dist/charts/engine/signature.d.ts +9 -0
  180. package/dist/charts/engine/signature.js +13 -0
  181. package/dist/charts/engine/signature.js.map +1 -0
  182. package/dist/charts/engine/theme.cjs +1 -1
  183. package/dist/charts/engine/theme.cjs.map +1 -1
  184. package/dist/charts/engine/theme.d.cts +10 -1
  185. package/dist/charts/engine/theme.d.ts +10 -1
  186. package/dist/charts/engine/theme.js +40 -16
  187. package/dist/charts/engine/theme.js.map +1 -1
  188. package/dist/charts/engine/types.d.cts +70 -9
  189. package/dist/charts/engine/types.d.ts +70 -9
  190. package/dist/charts/index.cjs +1 -1
  191. package/dist/charts/index.d.cts +4 -2
  192. package/dist/charts/index.d.ts +4 -2
  193. package/dist/charts/index.js +8 -5
  194. package/dist/charts/react/Chart.cjs +1 -1
  195. package/dist/charts/react/Chart.cjs.map +1 -1
  196. package/dist/charts/react/Chart.d.cts +8 -1
  197. package/dist/charts/react/Chart.d.ts +8 -1
  198. package/dist/charts/react/Chart.js +66 -47
  199. package/dist/charts/react/Chart.js.map +1 -1
  200. package/dist/charts/react/charts.cjs +1 -1
  201. package/dist/charts/react/charts.cjs.map +1 -1
  202. package/dist/charts/react/charts.d.cts +10 -2
  203. package/dist/charts/react/charts.d.ts +10 -2
  204. package/dist/charts/react/charts.js +174 -51
  205. package/dist/charts/react/charts.js.map +1 -1
  206. package/dist/charts/react/shapes.cjs +2 -0
  207. package/dist/charts/react/shapes.cjs.map +1 -0
  208. package/dist/charts/react/shapes.d.cts +255 -0
  209. package/dist/charts/react/shapes.d.ts +255 -0
  210. package/dist/charts/react/shapes.js +242 -0
  211. package/dist/charts/react/shapes.js.map +1 -0
  212. package/dist/charts/react/types.d.cts +73 -4
  213. package/dist/charts/react/types.d.ts +73 -4
  214. package/dist/native/charts/src/engine/color.cjs +1 -1
  215. package/dist/native/charts/src/engine/color.cjs.map +1 -1
  216. package/dist/native/charts/src/engine/color.js +12 -3
  217. package/dist/native/charts/src/engine/color.js.map +1 -1
  218. package/dist/native/charts/src/engine/controller.cjs +2 -2
  219. package/dist/native/charts/src/engine/controller.cjs.map +1 -1
  220. package/dist/native/charts/src/engine/controller.js +334 -270
  221. package/dist/native/charts/src/engine/controller.js.map +1 -1
  222. package/dist/native/charts/src/engine/curve.cjs +2 -0
  223. package/dist/native/charts/src/engine/curve.cjs.map +1 -0
  224. package/dist/native/charts/src/engine/curve.js +56 -0
  225. package/dist/native/charts/src/engine/curve.js.map +1 -0
  226. package/dist/native/charts/src/engine/data.cjs +1 -1
  227. package/dist/native/charts/src/engine/data.cjs.map +1 -1
  228. package/dist/native/charts/src/engine/data.js +98 -38
  229. package/dist/native/charts/src/engine/data.js.map +1 -1
  230. package/dist/native/charts/src/engine/model.cjs +1 -1
  231. package/dist/native/charts/src/engine/model.cjs.map +1 -1
  232. package/dist/native/charts/src/engine/model.js +229 -112
  233. package/dist/native/charts/src/engine/model.js.map +1 -1
  234. package/dist/native/charts/src/engine/overlay.cjs +1 -1
  235. package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
  236. package/dist/native/charts/src/engine/overlay.js +16 -16
  237. package/dist/native/charts/src/engine/overlay.js.map +1 -1
  238. package/dist/native/charts/src/engine/presets.cjs +1 -1
  239. package/dist/native/charts/src/engine/presets.cjs.map +1 -1
  240. package/dist/native/charts/src/engine/presets.js +11 -4
  241. package/dist/native/charts/src/engine/presets.js.map +1 -1
  242. package/dist/native/charts/src/engine/scene.cjs +1 -1
  243. package/dist/native/charts/src/engine/scene.cjs.map +1 -1
  244. package/dist/native/charts/src/engine/scene.js +209 -97
  245. package/dist/native/charts/src/engine/scene.js.map +1 -1
  246. package/dist/native/charts/src/engine/theme.cjs.map +1 -1
  247. package/dist/native/charts/src/engine/theme.js.map +1 -1
  248. package/dist/native/components/Chart/scene.cjs +1 -1
  249. package/dist/native/components/Chart/scene.cjs.map +1 -1
  250. package/dist/native/components/Chart/scene.js +31 -19
  251. package/dist/native/components/Chart/scene.js.map +1 -1
  252. package/dist/native/source/components/Chart/scene.tsx +54 -20
  253. package/dist/taro/index.js +1059 -579
  254. package/dist/uni/charts-canvas.js +3 -1
  255. package/dist/weapp/controls.js +966 -225
  256. package/package.json +1 -1
@@ -1,138 +1,124 @@
1
1
  import { lowerBound as e } from "./data.js";
2
- import { createBarHighlight as t, createChartDom as n, createDataCanvas as r, createMarker as i, styleElement as a, swatch as o } from "./dom.js";
2
+ import { createBand as t, createChartDom as n, createDataCanvas as r, createMarker as i, styleElement as a, swatch as o } from "./dom.js";
3
3
  import { buildItems as s } from "./items.js";
4
4
  import { createScales as c } from "./layout.js";
5
5
  import { buildModel as l } from "./model.js";
6
6
  import { drawBackground as u, drawForeground as d, font as f } from "./overlay.js";
7
- import { createRenderer as p } from "./renderers/detect.js";
8
- import { collectPointLabels as m, hitTest as ee, hoverItemOf as te, hoverMarks as ne, layoutChart as re, pointOf as ie, resolveAnnotations as ae, sameHover as oe, showsCrosshair as se, tooltipContent as ce } from "./scene.js";
9
- import { readTheme as le, watchTheme as ue } from "./theme.js";
10
- import { clampRange as h, panRange as g, sameRange as _, wheelFactor as de, zoomRange as fe } from "./viewport.js";
7
+ import { createRenderer as ee } from "./renderers/detect.js";
8
+ import { collectPointLabels as p, hitTest as te, hoverItemOf as ne, hoverMarks as re, layoutChart as ie, legendShape as ae, pointOf as oe, resolveAnnotations as se, sameHover as ce, showsCrosshair as le, tooltipContent as ue } from "./scene.js";
9
+ import { itemsSignature as de } from "./signature.js";
10
+ import { readTheme as fe, themeColorsChanged as pe, watchTheme as me } from "./theme.js";
11
+ import { clampRange as m, panRange as he, sameRange as h, wheelFactor as ge, zoomRange as _e } from "./viewport.js";
11
12
  //#region src/engine/chart.ts
12
- var v = (e) => (e[0] + e[1]) / 2, y = (e) => ({
13
+ var g = (e) => (e[0] + e[1]) / 2, _ = (e) => ({
13
14
  x: [e.x[0], e.x[1]],
14
15
  y: [e.y[0], e.y[1]]
15
- }), pe = (pe, me) => {
16
- let b = pe.ownerDocument, x = b.defaultView, S = n(pe), he = /* @__PURE__ */ new Map(), C = /* @__PURE__ */ new Set(), w = {}, T = me, E = le(S.root, T.palette), D, O = {
16
+ }), ve = (ve, ye) => {
17
+ let v = ve.ownerDocument, y = v.defaultView, b = n(ve), be = /* @__PURE__ */ new Map(), x = /* @__PURE__ */ new Set(), S = {}, C = ye, w = fe(b.root, C.palette), T, E = {
17
18
  x: [0, 1],
18
19
  y: [0, 1]
19
- }, k = !1, A = {
20
+ }, D = !1, O = {
20
21
  x: 0,
21
22
  y: 0
22
- }, ge = [], j = !0, _e = 0, ve = [], M = null, N = null, P = null, F = null, ye = 0, I = !1, L = 0, R = null, be = "", z = null, B = null, V = null, xe = [], Se = [], Ce = 0, we = "", Te = /* @__PURE__ */ new WeakMap(), Ee = 0, De = (e) => {
23
- let t = Te.get(e);
24
- return t === void 0 && Te.set(e, t = ++Ee), t;
25
- }, Oe = () => {}, ke = new Promise((e) => {
26
- Oe = e;
27
- }), H = (e, t) => {
28
- w[e]?.forEach((e) => e(t));
29
- }, U = () => {
30
- let e = T.interaction;
31
- if (e === !1) return null;
23
+ }, xe = [], k = !0, Se = 0, Ce = [], A = null, j = null, M = null, N = null, we = 0, P = !1, F = 0, I = null, Te = "", L = null, R = null, z = null, Ee = [], B = [], De = [], Oe = 0, ke = "", Ae = "", V = null, H = null, je = () => {}, Me = new Promise((e) => {
24
+ je = e;
25
+ }), U = (e, t) => {
26
+ S[e]?.forEach((e) => e(t));
27
+ }, Ne = null, Pe = null, W = () => {
28
+ if (Ne === C) return Pe;
29
+ Ne = C;
30
+ let e = C.interaction;
31
+ if (e === !1) return Pe = null;
32
32
  let t = typeof e == "object" ? e : {};
33
- return {
33
+ return Pe = {
34
34
  zoom: t.zoom ?? !0,
35
35
  wheel: t.wheel ?? "modifier",
36
36
  pan: t.pan ?? !0,
37
37
  keyboard: t.keyboard ?? !0,
38
38
  dragPoints: t.dragPoints ?? !1
39
39
  };
40
- }, Ae = () => T.tooltip === !1 ? null : typeof T.tooltip == "object" ? T.tooltip : {}, W = () => {
41
- I || L || (L = x?.requestAnimationFrame ? x.requestAnimationFrame(Ie) : setTimeout(Ie, 16));
42
- }, G = () => {
43
- D = l(T, E, C, he);
44
- let { base: e, zoom: t, minSpan: n } = D;
45
- k ? (O = {
46
- x: t.x ? h(O.x, e.x, n.x) : [...e.x],
47
- y: t.y ? h(O.y, e.y, n.y) : [...e.y]
48
- }, k = !_(O.x, e.x) || !_(O.y, e.y)) : O = y(e);
49
- let r = [
50
- Ce,
51
- D.baseline,
52
- e.x.join(),
53
- e.y.join(),
54
- ...D.series.map((e) => [
55
- e.key,
56
- e.type,
57
- De(e.cols),
58
- e.colorCss,
59
- e.hidden,
60
- e.lineWidth,
61
- e.pointSize,
62
- e.opacity,
63
- e.barOffset,
64
- e.barHalfWidth,
65
- T.series[e.index].stack ?? ""
66
- ].join("|"))
67
- ].join("\n");
68
- r !== we && (we = r, A = {
69
- x: v(e.x),
70
- y: v(e.y)
71
- }, j = !0, R && !R.keyboard && (R = null)), ve = ae(T.annotations, E), Me(), Ne(), W();
72
- }, je = () => {
40
+ }, Fe = () => C.tooltip === !1 ? null : typeof C.tooltip == "object" ? C.tooltip : {}, G = () => {
41
+ P || F || (F = y?.requestAnimationFrame ? y.requestAnimationFrame(Ve) : setTimeout(Ve, 16));
42
+ }, K = () => {
43
+ T = l(C, w, x, be);
44
+ let { base: e, zoom: t, minSpan: n } = T;
45
+ D ? (E = {
46
+ x: t.x ? m(E.x, e.x, n.x) : [...e.x],
47
+ y: t.y ? m(E.y, e.y, n.y) : [...e.y]
48
+ }, D = !h(E.x, e.x) || !h(E.y, e.y)) : E = _(e);
49
+ let r = de(T, Oe, (e) => C.series[e]?.stack);
50
+ r !== ke && (ke = r, O = {
51
+ x: g(e.x),
52
+ y: g(e.y)
53
+ }, k = !0, I && !I.keyboard && (I = null)), Ce = se(C.annotations, w), Le(), Re(), G();
54
+ }, Ie = () => {
73
55
  let e = (e, t) => Math.max(Math.abs(e[0] - t), Math.abs(e[1] - t)) > (e[1] - e[0]) * 2e3;
74
- (e(O.x, A.x) || e(O.y, A.y)) && (A = {
75
- x: v(O.x),
76
- y: v(O.y)
77
- }, j = !0);
78
- }, Me = () => {
79
- let e = T.legend, t = T.series.filter((e) => e.name).length, n = e === void 0 ? t > 1 : !!e, r = typeof e == "object" ? e : {}, i = r.toggle ?? !0, s = [...S.legend.children].indexOf(b.activeElement);
80
- if (S.legend.replaceChildren(), S.legend.style.display = n ? "flex" : "none", !n) return;
81
- let c = r.position === "bottom";
82
- S.legend.style.order = c ? "1" : "0", S.legend.style.padding = c ? "8px 4px 0" : "0 4px 8px";
83
- for (let e of D.series) {
84
- let t = b.createElement(i ? "button" : "span");
85
- t instanceof HTMLButtonElement && (t.type = "button", t.setAttribute("aria-pressed", String(!e.hidden)), t.addEventListener("click", () => {
86
- C.has(e.id) ? C.delete(e.id) : C.add(e.id), G();
87
- })), a(t, {
88
- display: "inline-flex",
89
- alignItems: "center",
90
- gap: "6px",
91
- padding: "2px 4px",
92
- margin: "0",
93
- border: "0",
94
- borderRadius: "4px",
95
- background: "none",
96
- font: "inherit",
97
- color: "var(--text-secondary-color, #6b7280)",
98
- cursor: i ? "pointer" : "default",
99
- opacity: e.hidden ? "0.45" : "1",
100
- textDecoration: e.hidden ? "line-through" : "none"
101
- }), t.append(o(b, e.colorCss, e.type === "scatter" ? "dot" : e.type === "line" ? "line" : "square"), b.createTextNode(e.name)), S.legend.appendChild(t);
56
+ (e(E.x, O.x) || e(E.y, O.y)) && (O = {
57
+ x: g(E.x),
58
+ y: g(E.y)
59
+ }, k = !0);
60
+ }, Le = () => {
61
+ let e = C.legend, t = C.series.filter((e) => e.name).length, n = e === void 0 ? t > 1 : !!e, r = typeof e == "object" ? e : {}, i = r.toggle ?? !0, s = r.position === "bottom", c = `${n}|${s}|${i}`;
62
+ if (n) for (let e of T.series) c += `\n${e.id}\u0001${e.name}\u0001${e.colorCss}\u0001${ae(e.type)}\u0001${e.hidden}`;
63
+ if (c === Ae) return;
64
+ Ae = c;
65
+ let l = [...b.legend.children].indexOf(v.activeElement);
66
+ if (b.legend.replaceChildren(), b.legend.style.display = n ? "flex" : "none", n) {
67
+ b.legend.style.order = s ? "1" : "0", b.legend.style.padding = s ? "8px 4px 0" : "0 4px 8px";
68
+ for (let e of T.series) {
69
+ let t = v.createElement(i ? "button" : "span");
70
+ t instanceof HTMLButtonElement && (t.type = "button", t.setAttribute("aria-pressed", String(!e.hidden)), t.addEventListener("click", () => {
71
+ x.has(e.id) ? x.delete(e.id) : x.add(e.id), K();
72
+ })), a(t, {
73
+ display: "inline-flex",
74
+ alignItems: "center",
75
+ gap: "6px",
76
+ padding: "2px 4px",
77
+ margin: "0",
78
+ border: "0",
79
+ borderRadius: "4px",
80
+ background: "none",
81
+ font: "inherit",
82
+ color: "var(--text-secondary-color, #6b7280)",
83
+ cursor: i ? "pointer" : "default",
84
+ opacity: e.hidden ? "0.45" : "1",
85
+ textDecoration: e.hidden ? "line-through" : "none"
86
+ }), t.append(o(v, e.colorCss, ae(e.type)), v.createTextNode(e.name)), b.legend.appendChild(t);
87
+ }
88
+ l >= 0 && b.legend.children[l]?.focus();
102
89
  }
103
- s >= 0 && S.legend.children[s]?.focus();
104
- }, Ne = () => {
105
- let e = D.series.map((e) => e.name).join(", ");
106
- S.stage.setAttribute("aria-label", T.ariaLabel ?? (e ? `Chart: ${e}` : "Chart"));
107
- let t = U()?.keyboard;
108
- S.stage.style.touchAction = U()?.dragPoints ? "none" : "pan-y", t ? S.stage.tabIndex = 0 : S.stage.removeAttribute("tabindex");
109
- }, Pe = (e, t, n, r) => {
90
+ }, Re = () => {
91
+ let e = T.series.map((e) => e.name).join(", ");
92
+ b.stage.setAttribute("aria-label", C.ariaLabel ?? (e ? `Chart: ${e}` : "Chart"));
93
+ let t = W()?.keyboard;
94
+ b.stage.style.touchAction = W()?.dragPoints ? "none" : "pan-y", t ? b.stage.tabIndex = 0 : b.stage.removeAttribute("tabindex");
95
+ }, ze = (e, t, n, r) => {
110
96
  let i = Math.max(1, Math.round(t * r)), a = Math.max(1, Math.round(n * r));
111
97
  e.width !== i && (e.width = i), e.height !== a && (e.height = a), e.style.width = `${t}px`, e.style.height = `${n}px`;
112
- }, Fe = (e, t, n) => {
98
+ }, Be = (e, t, n) => {
113
99
  let r = 2 / (e[1] - e[0]), i = (t - e[0]) * r - 1;
114
100
  return n ? [-r, -i] : [r, i];
115
101
  };
116
- function Ie() {
117
- if (L = 0, I) return;
118
- let e = S.stage.clientWidth, t = S.stage.clientHeight;
102
+ function Ve() {
103
+ if (F = 0, P) return;
104
+ let e = b.stage.clientWidth, t = b.stage.clientHeight;
119
105
  if (e <= 0 || t <= 0) return;
120
- let n = x?.devicePixelRatio || 1;
121
- Pe(S.background, e, t, n), Pe(S.foreground, e, t, n);
122
- let r = S.background.getContext("2d"), i = S.foreground.getContext("2d");
123
- r && (r.setTransform(n, 0, 0, n, 0, 0), r.font = f(E));
124
- let o = re({
125
- model: D,
126
- view: O,
127
- theme: E,
106
+ let n = y?.devicePixelRatio || 1;
107
+ ze(b.background, e, t, n), ze(b.foreground, e, t, n);
108
+ let r = b.background.getContext("2d"), i = b.foreground.getContext("2d");
109
+ r && (r.setTransform(n, 0, 0, n, 0, 0), r.font = f(w));
110
+ let o = ie({
111
+ model: T,
112
+ view: E,
113
+ theme: w,
128
114
  width: e,
129
115
  height: t,
130
- padding: T.padding,
131
- measure: r ? (e) => r.measureText(e).width : (e) => e.length * E.fontSize * .6
116
+ padding: C.padding,
117
+ measure: r ? (e) => r.measureText(e).width : (e) => e.length * w.fontSize * .6
132
118
  }), { plot: c } = o;
133
- N = o.xTicks, P = o.yTicks, M = o.scales;
134
- let l = Le();
135
- if (l && l.join() !== be && (be = l.join(), H("layout", {
119
+ j = o.xTicks, M = o.yTicks, A = o.scales;
120
+ let l = He();
121
+ if (l && l.join() !== Te && (Te = l.join(), U("layout", {
136
122
  x: l[0],
137
123
  y: l[1],
138
124
  width: l[2],
@@ -140,22 +126,22 @@ var v = (e) => (e[0] + e[1]) / 2, y = (e) => ({
140
126
  })), r && u(r, {
141
127
  width: e,
142
128
  height: t,
143
- scales: M,
144
- x: D.x,
145
- y: D.y,
146
- xTicks: N,
147
- yTicks: P,
148
- theme: E,
149
- annotations: ve
129
+ scales: A,
130
+ x: T.x,
131
+ y: T.y,
132
+ xTicks: j,
133
+ yTicks: M,
134
+ theme: w,
135
+ annotations: Ce
150
136
  }), i && (i.setTransform(n, 0, 0, n, 0, 0), d(i, {
151
137
  width: e,
152
138
  height: t,
153
- scales: M,
154
- theme: E,
155
- annotations: ve,
156
- pointLabels: m(D, O, M)
157
- })), F) {
158
- let e = F.canvas;
139
+ scales: A,
140
+ theme: w,
141
+ annotations: Ce,
142
+ pointLabels: p(T, E, A, M)
143
+ })), N) {
144
+ let e = N.canvas;
159
145
  a(e, {
160
146
  left: `${c.x}px`,
161
147
  top: `${c.y}px`,
@@ -163,9 +149,9 @@ var v = (e) => (e[0] + e[1]) / 2, y = (e) => ({
163
149
  height: `${c.height}px`
164
150
  });
165
151
  let t = Math.max(1, Math.round(c.width * n)), r = Math.max(1, Math.round(c.height * n));
166
- (e.width !== t || e.height !== r) && F.resize(t, r), je(), j && (_e++, ge = s(D, A, _e), j = !1);
167
- let [i, o] = Fe(O.x, A.x, D.x.reverse), [l, u] = Fe(O.y, A.y, D.y.reverse);
168
- F.render(ge, {
152
+ (e.width !== t || e.height !== r) && N.resize(t, r), Ie(), k && (Se++, xe = s(T, O, Se), k = !1);
153
+ let [i, o] = Be(E.x, O.x, T.x.reverse), [l, u] = Be(E.y, O.y, T.y.reverse);
154
+ N.render(xe, {
169
155
  transform: {
170
156
  xScale: i,
171
157
  xOffset: o,
@@ -177,23 +163,23 @@ var v = (e) => (e[0] + e[1]) / 2, y = (e) => ({
177
163
  dpr: n
178
164
  });
179
165
  }
180
- J();
166
+ Y();
181
167
  }
182
- let K = (e, t) => M ? ee(D, M, N, e, t) : null, Le = () => {
183
- let e = M?.plot;
168
+ let q = (e, t) => A ? te(T, A, j, e, t) : null, He = () => {
169
+ let e = A?.plot;
184
170
  return e ? [
185
- e.x + S.stage.offsetLeft,
186
- e.y + S.stage.offsetTop,
171
+ e.x + b.stage.offsetLeft,
172
+ e.y + b.stage.offsetTop,
187
173
  e.width,
188
174
  e.height
189
175
  ] : null;
190
- }, Re = (e, t) => U()?.dragPoints ? K(e, t)?.items.find((e) => D.series[e.seriesIndex].type === "scatter") ?? null : null, q = (e) => {
191
- let t = !oe(R?.event ?? null, e?.event ?? null);
192
- R = e, J(), t && H("hover", e ? e.event : null);
193
- }, ze = (e) => {
194
- let t = Ae()?.render;
176
+ }, Ue = (e, t) => W()?.dragPoints ? q(e, t)?.items.find((e) => T.series[e.seriesIndex].type === "scatter") ?? null : null, J = (e) => {
177
+ let t = !ce(I?.event ?? null, e?.event ?? null);
178
+ I = e, Y(), t && U("hover", e ? e.event : null);
179
+ }, We = (e) => {
180
+ let t = Fe()?.render;
195
181
  if (t) return t(e);
196
- let n = ce(D, e, P), r = b.createDocumentFragment(), i = b.createElement("div");
182
+ let n = ue(T, e, M), r = v.createDocumentFragment(), i = v.createElement("div");
197
183
  a(i, {
198
184
  display: "flex",
199
185
  alignItems: "center",
@@ -201,20 +187,20 @@ var v = (e) => (e[0] + e[1]) / 2, y = (e) => ({
201
187
  fontWeight: "600",
202
188
  marginBottom: "4px",
203
189
  color: "var(--text-color, #1f2937)"
204
- }), n.titleColor && i.appendChild(o(b, n.titleColor, "dot")), i.appendChild(b.createTextNode(n.title)), r.append(i);
190
+ }), n.titleColor && i.appendChild(o(v, n.titleColor, "dot")), i.appendChild(v.createTextNode(n.title)), r.append(i);
205
191
  for (let e of n.rows) {
206
- let t = b.createElement("div");
192
+ let t = v.createElement("div");
207
193
  a(t, {
208
194
  display: "flex",
209
195
  alignItems: "center",
210
196
  gap: "8px"
211
- }), e.color && t.appendChild(o(b, e.color, "dot"));
212
- let n = b.createElement("span");
197
+ }), e.color && t.appendChild(o(v, e.color, "dot"));
198
+ let n = v.createElement("span");
213
199
  a(n, {
214
200
  flex: "1 1 auto",
215
201
  color: "var(--text-secondary-color, #6b7280)"
216
202
  }), n.textContent = e.name;
217
- let i = b.createElement("span");
203
+ let i = v.createElement("span");
218
204
  a(i, {
219
205
  fontWeight: "600",
220
206
  fontVariantNumeric: "tabular-nums",
@@ -222,92 +208,123 @@ var v = (e) => (e[0] + e[1]) / 2, y = (e) => ({
222
208
  }), i.textContent = e.value, t.append(n, i), r.append(t);
223
209
  }
224
210
  return r;
225
- }, Be = (e, t, n) => (e[t] || (e[t] = n(), S.hover.appendChild(e[t])), e[t].style.display = "block", e[t]);
226
- function J() {
227
- let e = M, n = 0, r = 0;
228
- if (S.crosshair.style.display = "none", R && e) {
229
- let { plot: o } = e;
230
- if (S.hover.style.width = `${S.stage.clientWidth}px`, S.hover.style.height = `${S.stage.clientHeight}px`, se(D, R.event, T.crosshair)) {
231
- let t = R.event.items[0], n = e.xToPx(t.x);
232
- n >= o.x && n <= o.x + o.width && a(S.crosshair, {
211
+ }, Ge = (e, t, n, r = b.hover) => (e[t] || (e[t] = n(), r.appendChild(e[t])), e[t].style.display = "block", e[t]);
212
+ function Y() {
213
+ let e = A;
214
+ I && e && V && V.scales === e && V.model === T && ce(V.event, I.event) || Ke(e);
215
+ let t = b.tooltip;
216
+ if (!I || !e || !Fe() || z?.moved || L?.moved) {
217
+ t.style.display = "none";
218
+ return;
219
+ }
220
+ let n = Fe()?.render, r, i;
221
+ if (!n && H && H.model === T && H.yTicks === M && ce(H.event, I.event) && t.style.display === "block") r = H.width, i = H.height;
222
+ else {
223
+ H = null;
224
+ let e = We(I.event);
225
+ if (e === null || e === "") {
226
+ t.style.display = "none";
227
+ return;
228
+ }
229
+ typeof e == "string" ? (t.textContent = e, t.style.whiteSpace = "pre") : (t.replaceChildren(e), t.style.whiteSpace = "nowrap"), t.style.display = "block", r = t.offsetWidth, i = t.offsetHeight, n || (H = {
230
+ event: I.event,
231
+ model: T,
232
+ yTicks: M,
233
+ width: r,
234
+ height: i
235
+ });
236
+ }
237
+ let a = b.stage.clientWidth, o = b.stage.clientHeight, s = I.anchorX + 16;
238
+ s + r > a - 4 && (s = I.anchorX - 16 - r), s = Math.max(4, Math.min(s, a - r - 4));
239
+ let c = Math.max(4, Math.min(I.anchorY - i / 2, o - i - 4));
240
+ t.style.transform = `translate(${Math.round(s)}px, ${Math.round(c)}px)`;
241
+ }
242
+ function Ke(e) {
243
+ let n = 0, r = 0, o = 0;
244
+ if (V = null, b.crosshair.style.display = "none", I && e) {
245
+ V = {
246
+ event: I.event,
247
+ model: T,
248
+ scales: e
249
+ };
250
+ let { plot: s } = e;
251
+ if (b.hover.style.width = `${b.stage.clientWidth}px`, b.hover.style.height = `${b.stage.clientHeight}px`, le(T, I.event, C.crosshair)) {
252
+ let t = I.event.items[0], n = e.xToPx(t.x);
253
+ n >= s.x && n <= s.x + s.width && a(b.crosshair, {
233
254
  display: "block",
234
255
  left: `${Math.round(n)}px`,
235
- top: `${o.y}px`,
236
- height: `${o.height}px`
256
+ top: `${s.y}px`,
257
+ height: `${s.height}px`
237
258
  });
238
259
  }
239
- for (let o of ne(D, e, R.event)) {
240
- if (o.kind === "bar") {
241
- let e = Be(Se, r++, () => t(b));
260
+ for (let s of re(T, e, I.event)) {
261
+ if (s.kind === "band" || s.kind === "cell") {
262
+ let e = s.kind === "band" ? Ge(B, r++, () => t(v), b.underlay) : Ge(De, o++, () => a(t(v), {
263
+ background: "transparent",
264
+ borderRadius: "3px",
265
+ boxShadow: "0 0 0 1.5px var(--surface-color, var(--background-color, #fff)), 0 0 0 3px color-mix(in srgb, var(--text-color, #1f2937) 55%, transparent)"
266
+ }));
242
267
  a(e, {
243
- left: `${o.x}px`,
244
- top: `${o.y}px`,
245
- width: `${o.width}px`,
246
- height: `${o.height}px`
268
+ left: `${s.x}px`,
269
+ top: `${s.y}px`,
270
+ width: `${s.width}px`,
271
+ height: `${s.height}px`
247
272
  });
248
273
  continue;
249
274
  }
250
- let e = Be(xe, n++, () => i(b));
275
+ let e = Ge(Ee, n++, () => i(v));
251
276
  a(e, {
252
- left: `${o.x}px`,
253
- top: `${o.y}px`,
254
- width: `${o.size}px`,
255
- height: `${o.size}px`,
256
- background: o.color
277
+ left: `${s.x}px`,
278
+ top: `${s.y}px`,
279
+ width: `${s.size}px`,
280
+ height: `${s.size}px`,
281
+ background: s.color,
282
+ boxShadow: `0 0 0 4px ${s.halo}`
257
283
  });
258
284
  }
259
285
  }
260
- for (let e = n; e < xe.length; e++) xe[e].style.display = "none";
261
- for (let e = r; e < Se.length; e++) Se[e].style.display = "none";
262
- let o = S.tooltip, s = R && e && Ae() && !V?.moved && !z?.moved ? ze(R.event) : null;
263
- if (!R || s === null || s === "") {
264
- o.style.display = "none";
265
- return;
266
- }
267
- typeof s == "string" ? (o.textContent = s, o.style.whiteSpace = "pre") : (o.replaceChildren(s), o.style.whiteSpace = "nowrap"), o.style.display = "block";
268
- let c = S.stage.clientWidth, l = S.stage.clientHeight, u = o.offsetWidth, d = o.offsetHeight, f = R.anchorX + 16;
269
- f + u > c - 4 && (f = R.anchorX - 16 - u), f = Math.max(4, Math.min(f, c - u - 4));
270
- let p = Math.max(4, Math.min(R.anchorY - d / 2, l - d - 4));
271
- o.style.transform = `translate(${Math.round(f)}px, ${Math.round(p)}px)`;
286
+ for (let e = n; e < Ee.length; e++) Ee[e].style.display = "none";
287
+ for (let e = r; e < B.length; e++) B[e].style.display = "none";
288
+ for (let e = o; e < De.length; e++) De[e].style.display = "none";
272
289
  }
273
- let Y = (e, t) => {
274
- let { base: n, minSpan: r } = D;
275
- O = {
276
- x: h(e.x, n.x, r.x),
277
- y: h(e.y, n.y, r.y)
278
- }, k = !_(O.x, n.x) || !_(O.y, n.y);
279
- let i = U();
280
- S.stage.style.cursor = k && i?.pan ? "grab" : "", t && H("zoom", y(O)), W();
281
- }, Ve = (e, t, n) => {
282
- let r = M;
290
+ let X = (e, t) => {
291
+ let { base: n, minSpan: r } = T;
292
+ E = {
293
+ x: m(e.x, n.x, r.x),
294
+ y: m(e.y, n.y, r.y)
295
+ }, D = !h(E.x, n.x) || !h(E.y, n.y);
296
+ let i = W();
297
+ b.stage.style.cursor = D && i?.pan ? "grab" : "", t && U("zoom", _(E)), G();
298
+ }, qe = (e, t, n) => {
299
+ let r = A;
283
300
  if (!r) return;
284
- let i = y(O);
285
- D.zoom.x && (i.x = fe(O.x, r.pxToX(e), n)), D.zoom.y && (i.y = fe(O.y, r.pxToY(t), n)), Y(i, !0);
286
- }, X = (e) => {
287
- let t = S.stage.getBoundingClientRect();
301
+ let i = _(E);
302
+ T.zoom.x && (i.x = _e(E.x, r.pxToX(e), n)), T.zoom.y && (i.y = _e(E.y, r.pxToY(t), n)), X(i, !0);
303
+ }, Z = (e) => {
304
+ let t = b.stage.getBoundingClientRect();
288
305
  return {
289
306
  x: e.clientX - t.left,
290
307
  y: e.clientY - t.top
291
308
  };
292
- }, Z = (e, t) => {
293
- let n = M?.plot;
294
- return !!n && e >= n.x && e <= n.x + n.width && t >= n.y && t <= n.y + n.height;
295
309
  }, Q = (e, t) => {
296
- let n = M;
310
+ let n = A?.plot;
311
+ return !!n && e >= n.x && e <= n.x + n.width && t >= n.y && t <= n.y + n.height;
312
+ }, Je = (e, t) => {
313
+ let n = A;
297
314
  if (!n) return null;
298
315
  let { plot: r } = n, i = Math.max(r.x, Math.min(r.x + r.width, e)), a = Math.max(r.y, Math.min(r.y + r.height, t));
299
316
  return {
300
317
  x: n.pxToX(i),
301
318
  y: n.pxToY(a)
302
319
  };
303
- }, He = (e, t, n) => {
320
+ }, Ye = (e, t, n) => {
304
321
  if (n === null) {
305
- B && (B.style.display = "none");
322
+ R && (R.style.display = "none");
306
323
  return;
307
324
  }
308
- B || (B = i(b), S.hover.appendChild(B));
309
- let r = (D.series.find((e) => e.type === "scatter")?.pointSize ?? 8) + 8;
310
- S.hover.style.width = `${S.stage.clientWidth}px`, S.hover.style.height = `${S.stage.clientHeight}px`, a(B, {
325
+ R || (R = i(v), b.hover.appendChild(R));
326
+ let r = (T.series.find((e) => e.type === "scatter")?.pointSize ?? 8) + 8;
327
+ b.hover.style.width = `${b.stage.clientWidth}px`, b.hover.style.height = `${b.stage.clientHeight}px`, a(R, {
311
328
  display: "block",
312
329
  left: `${e}px`,
313
330
  top: `${t}px`,
@@ -315,45 +332,45 @@ var v = (e) => (e[0] + e[1]) / 2, y = (e) => ({
315
332
  height: `${r}px`,
316
333
  background: n
317
334
  });
318
- }, Ue = (e) => {
319
- let { x: t, y: n } = X(e);
320
- if (z && z.id === e.pointerId) {
321
- if (!z.moved && Math.hypot(t - z.x, n - z.y) > 3 && (z.moved = !0, S.stage.setPointerCapture?.(e.pointerId), S.stage.style.cursor = "grabbing"), z.moved) {
322
- let e = Q(t, n);
323
- e && (He(t, n, z.item.color), J(), H("drag", {
324
- item: z.item,
335
+ }, Xe = (e) => {
336
+ let { x: t, y: n } = Z(e);
337
+ if (L && L.id === e.pointerId) {
338
+ if (!L.moved && Math.hypot(t - L.x, n - L.y) > 3 && (L.moved = !0, b.stage.setPointerCapture?.(e.pointerId), b.stage.style.cursor = "grabbing"), L.moved) {
339
+ let e = Je(t, n);
340
+ e && (Ye(t, n, L.item.color), Y(), U("drag", {
341
+ item: L.item,
325
342
  x: e.x,
326
343
  y: e.y
327
344
  }));
328
345
  }
329
346
  return;
330
347
  }
331
- if (V && V.id === e.pointerId) {
332
- let r = t - V.x, i = n - V.y;
333
- if (!V.moved && Math.hypot(r, i) > 3) {
334
- let t = U();
335
- k && t?.pan && (V.moved = !0, S.stage.setPointerCapture?.(e.pointerId), S.stage.style.cursor = "grabbing");
348
+ if (z && z.id === e.pointerId) {
349
+ let r = t - z.x, i = n - z.y;
350
+ if (!z.moved && Math.hypot(r, i) > 3) {
351
+ let t = W();
352
+ D && t?.pan && (z.moved = !0, b.stage.setPointerCapture?.(e.pointerId), b.stage.style.cursor = "grabbing");
336
353
  }
337
- if (V.moved && M) {
338
- let e = y(V.view);
339
- D.zoom.x && (e.x = g(V.view.x, -r * M.xPerPx * (D.x.reverse ? -1 : 1))), D.zoom.y && (e.y = g(V.view.y, i * M.yPerPx * (D.y.reverse ? -1 : 1))), Y(e, !0);
354
+ if (z.moved && A) {
355
+ let e = _(z.view);
356
+ T.zoom.x && (e.x = he(z.view.x, -r * A.xPerPx * (T.x.reverse ? -1 : 1))), T.zoom.y && (e.y = he(z.view.y, i * A.yPerPx * (T.y.reverse ? -1 : 1))), X(e, !0);
340
357
  return;
341
358
  }
342
359
  }
343
- let r = K(t, n);
344
- q(r ? {
360
+ let r = q(t, n);
361
+ J(r ? {
345
362
  event: r,
346
363
  anchorX: t,
347
364
  anchorY: n,
348
365
  keyboard: !1
349
- } : null), !V && U()?.dragPoints && (S.stage.style.cursor = Re(t, n) || k && U()?.pan ? "grab" : "");
350
- }, We = (e) => {
366
+ } : null), !z && W()?.dragPoints && (b.stage.style.cursor = Ue(t, n) || D && W()?.pan ? "grab" : "");
367
+ }, Ze = (e) => {
351
368
  if (e.button !== 0) return;
352
- let { x: t, y: n } = X(e);
353
- if (!Z(t, n)) return;
354
- let r = Re(t, n);
369
+ let { x: t, y: n } = Z(e);
370
+ if (!Q(t, n)) return;
371
+ let r = Ue(t, n);
355
372
  if (r) {
356
- z = {
373
+ L = {
357
374
  id: e.pointerId,
358
375
  item: r,
359
376
  x: t,
@@ -362,169 +379,171 @@ var v = (e) => (e[0] + e[1]) / 2, y = (e) => ({
362
379
  };
363
380
  return;
364
381
  }
365
- V = {
382
+ z = {
366
383
  id: e.pointerId,
367
384
  x: t,
368
385
  y: n,
369
- view: y(O),
386
+ view: _(E),
370
387
  moved: !1
371
388
  };
372
- }, Ge = (e) => {
373
- if (z && z.id === e.pointerId) {
374
- let { item: t, moved: n } = z;
375
- z = null, S.stage.hasPointerCapture?.(e.pointerId) && S.stage.releasePointerCapture(e.pointerId), He(0, 0, null);
376
- let { x: r, y: i } = X(e);
377
- if (S.stage.style.cursor = Re(r, i) ? "grab" : "", n) {
378
- let n = Q(r, i);
379
- n && e.type !== "pointercancel" && H("drop", {
389
+ }, Qe = (e) => {
390
+ if (L && L.id === e.pointerId) {
391
+ let { item: t, moved: n } = L;
392
+ L = null, b.stage.hasPointerCapture?.(e.pointerId) && b.stage.releasePointerCapture(e.pointerId), Ye(0, 0, null);
393
+ let { x: r, y: i } = Z(e);
394
+ if (b.stage.style.cursor = Ue(r, i) ? "grab" : "", n) {
395
+ let n = Je(r, i);
396
+ n && e.type !== "pointercancel" && U("drop", {
380
397
  item: t,
381
398
  x: n.x,
382
399
  y: n.y
383
- }), J();
400
+ }), Y();
384
401
  } else {
385
- let e = K(r, i);
386
- e && H("click", e);
402
+ let e = q(r, i);
403
+ e && U("click", e);
387
404
  }
388
405
  return;
389
406
  }
390
- if (!V || V.id !== e.pointerId) return;
391
- let t = V.moved;
392
- if (V = null, S.stage.hasPointerCapture?.(e.pointerId) && S.stage.releasePointerCapture(e.pointerId), S.stage.style.cursor = k && U()?.pan ? "grab" : "", t) J();
407
+ if (!z || z.id !== e.pointerId) return;
408
+ let t = z.moved;
409
+ if (z = null, b.stage.hasPointerCapture?.(e.pointerId) && b.stage.releasePointerCapture(e.pointerId), b.stage.style.cursor = D && W()?.pan ? "grab" : "", t) Y();
393
410
  else {
394
- let { x: t, y: n } = X(e), r = K(t, n);
395
- if (r) H("click", r);
396
- else if (e.type !== "pointercancel" && Z(t, n)) {
397
- let e = Q(t, n);
398
- e && H("plotClick", e);
411
+ let { x: t, y: n } = Z(e), r = q(t, n);
412
+ if (r) U("click", r);
413
+ else if (e.type !== "pointercancel" && Q(t, n)) {
414
+ let e = Je(t, n);
415
+ e && U("plotClick", e);
399
416
  }
400
417
  }
401
- }, Ke = () => {
402
- !V?.moved && !z?.moved && q(null);
403
- }, qe = (e) => {
404
- let t = U();
405
- if (!t || t.zoom === !1 || !D.zoom.x && !D.zoom.y) return;
406
- let { x: n, y: r } = X(e);
407
- if (!Z(n, r)) return;
418
+ }, $e = () => {
419
+ !z?.moved && !L?.moved && J(null);
420
+ }, et = (e) => {
421
+ let t = W();
422
+ if (!t || t.zoom === !1 || !T.zoom.x && !T.zoom.y) return;
423
+ let { x: n, y: r } = Z(e);
424
+ if (!Q(n, r)) return;
408
425
  let i = e.ctrlKey || e.metaKey;
409
- if (t.wheel === "always" || i) e.preventDefault(), Ve(n, r, de(e.deltaY, e.deltaMode, e.ctrlKey && !e.metaKey));
410
- else if (k && D.zoom.x && M && Math.abs(e.deltaX) > Math.abs(e.deltaY)) {
426
+ if (t.wheel === "always" || i) e.preventDefault(), qe(n, r, ge(e.deltaY, e.deltaMode, e.ctrlKey && !e.metaKey));
427
+ else if (D && T.zoom.x && A && Math.abs(e.deltaX) > Math.abs(e.deltaY)) {
411
428
  e.preventDefault();
412
- let t = y(O);
413
- t.x = g(O.x, e.deltaX * M.xPerPx * (D.x.reverse ? -1 : 1)), Y(t, !0);
429
+ let t = _(E);
430
+ t.x = he(E.x, e.deltaX * A.xPerPx * (T.x.reverse ? -1 : 1)), X(t, !0);
414
431
  }
415
- }, Je = (e) => {
416
- let { x: t, y: n } = X(e);
417
- U() && k && Z(t, n) && rt();
418
- }, Ye = (t) => {
419
- let n = M;
432
+ }, tt = (e) => {
433
+ let { x: t, y: n } = Z(e);
434
+ W() && D && Q(t, n) && ut();
435
+ }, nt = (t) => {
436
+ let n = A;
420
437
  if (!n) return;
421
- let r = R?.keyboard ? R.event.items[0] : null, i = (r && D.series[r.seriesIndex]) ?? D.series.find((e) => !e.hidden && e.cols.count > 0);
438
+ let r = I?.keyboard ? I.event.items[0] : null, i = (r && T.series[r.seriesIndex]) ?? T.series.find((e) => !e.hidden && e.cols.count > 0);
422
439
  if (!i) return;
423
440
  let { x: a, y: o, count: s } = i.cols, l;
424
- for (r ? l = r.index + t : (l = i.cols.sorted ? e(a, s, O.x[0]) : 0, t < 0 && (l = i.cols.sorted ? e(a, s, O.x[1]) - 1 : s - 1)); l >= 0 && l < s && !Number.isFinite(o[l]);) l += t || 1;
441
+ for (r ? l = r.index + t : (l = i.cols.sorted ? e(a, s, E.x[0]) : 0, t < 0 && (l = i.cols.sorted ? e(a, s, E.x[1]) - 1 : s - 1)); l >= 0 && l < s && !Number.isFinite(o[l]);) l += t || 1;
425
442
  if (l < 0 || l >= s) return;
426
443
  let u = n;
427
- if (D.zoom.x && (a[l] < O.x[0] || a[l] > O.x[1])) {
428
- let e = O.x[1] - O.x[0];
429
- Y({
444
+ if (T.zoom.x && (a[l] < E.x[0] || a[l] > E.x[1])) {
445
+ let e = E.x[1] - E.x[0];
446
+ X({
430
447
  x: [a[l] - e / 2, a[l] + e / 2],
431
- y: O.y
432
- }, !0), u = M = c(n.plot, O, D.x.reverse, D.y.reverse);
448
+ y: E.y
449
+ }, !0), u = A = c(n.plot, E, T.x.reverse, T.y.reverse);
433
450
  }
434
- let d = ie(i, l, u), f = te(i, l), p = {
435
- items: [f, ...D.tooltipMode === "axis" && i.type !== "scatter" ? (K(d.px, d.py)?.items ?? []).filter((e) => e.seriesIndex !== i.index) : []],
451
+ let d = oe(i, l, u), f = ne(i, l), ee = {
452
+ items: [f, ...T.tooltipMode === "axis" && i.type !== "scatter" ? (q(d.px, d.py)?.items ?? []).filter((e) => e.seriesIndex !== i.index) : []],
436
453
  x: f.x,
437
- xLabel: N?.formatValue(f.x) ?? String(f.x)
454
+ xLabel: j?.formatValue(f.x) ?? String(f.x)
438
455
  };
439
- q({
440
- event: p,
456
+ J({
457
+ event: ee,
441
458
  anchorX: d.px,
442
459
  anchorY: d.py,
443
460
  keyboard: !0
444
461
  });
445
- let m = f;
446
- S.live.textContent = `${m.seriesName}: ${p.xLabel}, ${P?.formatValue(m.y) ?? m.y}${m.label ? ` (${m.label})` : ""}`;
447
- }, Xe = (e) => {
448
- if (!U()?.keyboard) return;
462
+ let p = f;
463
+ b.live.textContent = `${p.seriesName}: ${ee.xLabel}, ${M?.formatValue(p.y) ?? p.y}${p.label ? ` (${p.label})` : ""}`;
464
+ }, rt = (e) => {
465
+ if (!W()?.keyboard) return;
449
466
  let t = () => {
450
- let e = M?.plot;
467
+ let e = A?.plot;
451
468
  return e ? [e.x + e.width / 2, e.y + e.height / 2] : [0, 0];
452
469
  };
453
470
  switch (e.key) {
454
471
  case "ArrowRight":
455
472
  case "ArrowLeft":
456
- e.preventDefault(), Ye(e.key === "ArrowRight" === D.x.reverse ? -1 : 1);
473
+ e.preventDefault(), nt(e.key === "ArrowRight" === T.x.reverse ? -1 : 1);
457
474
  break;
458
475
  case "+":
459
476
  case "=": {
460
- if (!D.zoom.x && !D.zoom.y) return;
477
+ if (!T.zoom.x && !T.zoom.y) return;
461
478
  e.preventDefault();
462
479
  let [n, r] = t();
463
- Ve(n, r, .8);
480
+ qe(n, r, .8);
464
481
  break;
465
482
  }
466
483
  case "-":
467
484
  case "_": {
468
- if (!D.zoom.x && !D.zoom.y) return;
485
+ if (!T.zoom.x && !T.zoom.y) return;
469
486
  e.preventDefault();
470
487
  let [n, r] = t();
471
- Ve(n, r, 1.25);
488
+ qe(n, r, 1.25);
472
489
  break;
473
490
  }
474
491
  case "0":
475
- e.preventDefault(), rt();
492
+ e.preventDefault(), ut();
476
493
  break;
477
- case "Escape": R && (e.preventDefault(), q(null));
494
+ case "Escape": I && (e.preventDefault(), J(null));
478
495
  }
479
- }, Ze = () => {
496
+ }, it = () => {
480
497
  let e;
481
498
  try {
482
- e = S.stage.matches(":focus-visible");
499
+ e = b.stage.matches(":focus-visible");
483
500
  } catch {
484
501
  e = !0;
485
502
  }
486
- e && (S.stage.style.boxShadow = "0 0 0 2px var(--primary-color, #4f46e5)");
487
- }, Qe = () => {
488
- S.stage.style.boxShadow = "", R?.keyboard && q(null);
489
- }, $ = S.stage;
490
- $.addEventListener("pointermove", Ue), $.addEventListener("pointerdown", We), $.addEventListener("pointerup", Ge), $.addEventListener("pointercancel", Ge), $.addEventListener("pointerleave", Ke), $.addEventListener("wheel", qe, { passive: !1 }), $.addEventListener("dblclick", Je), $.addEventListener("keydown", Xe), $.addEventListener("focus", Ze), $.addEventListener("blur", Qe);
491
- let $e = typeof ResizeObserver == "function" ? new ResizeObserver(() => W()) : null;
492
- $e?.observe(S.stage);
493
- let et = () => {
494
- I || (E = le(S.root, T.palette), Ce++, G());
495
- }, tt = ue(et), nt = async (e = /* @__PURE__ */ new Set()) => {
496
- let t = ++ye, n = await p(T.renderer ?? "auto", () => r(b), (t) => {
497
- I || F?.kind !== t || (F.destroy(), F.canvas.remove(), F = null, nt(/* @__PURE__ */ new Set([...e, t])));
503
+ e && (b.stage.style.boxShadow = "0 0 0 2px var(--primary-color, #4f46e5)");
504
+ }, at = () => {
505
+ b.stage.style.boxShadow = "", I?.keyboard && J(null);
506
+ }, $ = b.stage;
507
+ $.addEventListener("pointermove", Xe), $.addEventListener("pointerdown", Ze), $.addEventListener("pointerup", Qe), $.addEventListener("pointercancel", Qe), $.addEventListener("pointerleave", $e), $.addEventListener("wheel", et, { passive: !1 }), $.addEventListener("dblclick", tt), $.addEventListener("keydown", rt), $.addEventListener("focus", it), $.addEventListener("blur", at);
508
+ let ot = typeof ResizeObserver == "function" ? new ResizeObserver(() => G()) : null;
509
+ ot?.observe(b.stage);
510
+ let st = () => {
511
+ if (P) return;
512
+ let e = fe(b.root, C.palette);
513
+ pe(w, e) && Oe++, w = e, K();
514
+ }, ct = me(st), lt = async (e = /* @__PURE__ */ new Set()) => {
515
+ let t = ++we, n = await ee(C.renderer ?? "auto", () => r(v), (t) => {
516
+ P || N?.kind !== t || (N.destroy(), N.canvas.remove(), N = null, lt(/* @__PURE__ */ new Set([...e, t])));
498
517
  }, e);
499
- if (I || t !== ye) {
518
+ if (P || t !== we) {
500
519
  n?.destroy();
501
520
  return;
502
521
  }
503
- F && (F.destroy(), F.canvas.remove()), F = n, n && (S.root.dataset.renderer = n.kind, S.stage.insertBefore(n.canvas, S.foreground), j = !0, H("renderer", n.kind)), Oe(n?.kind ?? null), W();
522
+ N && (N.destroy(), N.canvas.remove()), N = n, n && (b.root.dataset.renderer = n.kind, b.stage.insertBefore(n.canvas, b.foreground), k = !0, U("renderer", n.kind)), je(n?.kind ?? null), G();
504
523
  };
505
- function rt() {
506
- k && Y(y(D.base), !0);
524
+ function ut() {
525
+ D && X(_(T.base), !0);
507
526
  }
508
- return G(), nt(), {
527
+ return K(), lt(), {
509
528
  setOptions(e) {
510
- if (I) return;
511
- let t = T;
512
- T = e, (e.palette ?? []).join() !== (t.palette ?? []).join() && (E = le(S.root, e.palette), Ce++), (e.renderer ?? "auto") !== (t.renderer ?? "auto") && nt(), G();
529
+ if (P) return;
530
+ let t = C;
531
+ C = e, (e.palette ?? []).join() !== (t.palette ?? []).join() && (w = fe(b.root, e.palette), Oe++), (e.renderer ?? "auto") !== (t.renderer ?? "auto") && lt(), K();
513
532
  },
514
533
  resize() {
515
- W();
534
+ G();
516
535
  },
517
- resetZoom: rt,
518
- getView: () => y(O),
536
+ resetZoom: ut,
537
+ getView: () => _(E),
519
538
  setView(e) {
520
- I || Y({
521
- x: e.x ?? O.x,
522
- y: e.y ?? O.y
539
+ P || X({
540
+ x: e.x ?? E.x,
541
+ y: e.y ?? E.y
523
542
  }, !1);
524
543
  },
525
- getRenderer: () => F?.kind ?? null,
544
+ getRenderer: () => N?.kind ?? null,
526
545
  getPlotRect() {
527
- let e = Le();
546
+ let e = He();
528
547
  return e ? {
529
548
  x: e[0],
530
549
  y: e[1],
@@ -533,34 +552,34 @@ var v = (e) => (e[0] + e[1]) / 2, y = (e) => ({
533
552
  } : null;
534
553
  },
535
554
  toPixel(e, t) {
536
- return M ? {
537
- x: M.xToPx(e) + S.stage.offsetLeft,
538
- y: M.yToPx(t) + S.stage.offsetTop
555
+ return A ? {
556
+ x: A.xToPx(e) + b.stage.offsetLeft,
557
+ y: A.yToPx(t) + b.stage.offsetTop
539
558
  } : null;
540
559
  },
541
560
  fromPixel(e, t) {
542
- return M ? {
543
- x: M.pxToX(e - S.stage.offsetLeft),
544
- y: M.pxToY(t - S.stage.offsetTop)
561
+ return A ? {
562
+ x: A.pxToX(e - b.stage.offsetLeft),
563
+ y: A.pxToY(t - b.stage.offsetTop)
545
564
  } : null;
546
565
  },
547
- ready: ke,
548
- refreshTheme: et,
566
+ ready: Me,
567
+ refreshTheme: st,
549
568
  on(e, t) {
550
- let n = w[e];
551
- return n || (n = /* @__PURE__ */ new Set(), w[e] = n), n.add(t), () => {
569
+ let n = S[e];
570
+ return n || (n = /* @__PURE__ */ new Set(), S[e] = n), n.add(t), () => {
552
571
  n.delete(t);
553
572
  };
554
573
  },
555
574
  destroy() {
556
- if (!I) {
557
- I = !0, L && (x?.cancelAnimationFrame ? x.cancelAnimationFrame(L) : clearTimeout(L)), $e?.disconnect(), tt(), $.removeEventListener("wheel", qe), F?.destroy(), F = null, S.root.remove();
558
- for (let e of Object.keys(w)) delete w[e];
575
+ if (!P) {
576
+ P = !0, F && (y?.cancelAnimationFrame ? y.cancelAnimationFrame(F) : clearTimeout(F)), ot?.disconnect(), ct(), $.removeEventListener("wheel", et), N?.destroy(), N = null, b.root.remove();
577
+ for (let e of Object.keys(S)) delete S[e];
559
578
  }
560
579
  }
561
580
  };
562
581
  };
563
582
  //#endregion
564
- export { pe as createChart };
583
+ export { ve as createChart };
565
584
 
566
585
  //# sourceMappingURL=chart.js.map