minerva-design 1.13.2 → 1.14.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 (202) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/custom-elements.json +194 -12
  3. package/dist/angular/fesm2022/minerva-angular.mjs +20 -0
  4. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  5. package/dist/angular/types/minerva-angular.d.ts +10 -1
  6. package/dist/charts/canvas.d.cts +1 -0
  7. package/dist/charts/canvas.d.ts +1 -0
  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 +152 -128
  11. package/dist/charts/engine/canvas.js.map +1 -1
  12. package/dist/charts/engine/chart.cjs +1 -1
  13. package/dist/charts/engine/chart.cjs.map +1 -1
  14. package/dist/charts/engine/chart.js +475 -405
  15. package/dist/charts/engine/chart.js.map +1 -1
  16. package/dist/charts/engine/controller.cjs +2 -2
  17. package/dist/charts/engine/controller.cjs.map +1 -1
  18. package/dist/charts/engine/controller.js +263 -248
  19. package/dist/charts/engine/controller.js.map +1 -1
  20. package/dist/charts/engine/dom.cjs +1 -1
  21. package/dist/charts/engine/dom.cjs.map +1 -1
  22. package/dist/charts/engine/dom.d.cts +34 -0
  23. package/dist/charts/engine/dom.d.ts +34 -0
  24. package/dist/charts/engine/dom.js +62 -51
  25. package/dist/charts/engine/dom.js.map +1 -1
  26. package/dist/charts/engine/graph/chart.cjs +1 -1
  27. package/dist/charts/engine/graph/chart.cjs.map +1 -1
  28. package/dist/charts/engine/graph/chart.js +835 -821
  29. package/dist/charts/engine/graph/chart.js.map +1 -1
  30. package/dist/charts/engine/graph/dom.cjs +1 -1
  31. package/dist/charts/engine/graph/dom.cjs.map +1 -1
  32. package/dist/charts/engine/graph/dom.js +44 -51
  33. package/dist/charts/engine/graph/dom.js.map +1 -1
  34. package/dist/charts/engine/hover-rect.cjs +2 -0
  35. package/dist/charts/engine/hover-rect.cjs.map +1 -0
  36. package/dist/charts/engine/hover-rect.d.cts +10 -0
  37. package/dist/charts/engine/hover-rect.d.ts +10 -0
  38. package/dist/charts/engine/hover-rect.js +47 -0
  39. package/dist/charts/engine/hover-rect.js.map +1 -0
  40. package/dist/charts/engine/items.cjs +1 -1
  41. package/dist/charts/engine/items.cjs.map +1 -1
  42. package/dist/charts/engine/items.js +8 -8
  43. package/dist/charts/engine/model.cjs +1 -1
  44. package/dist/charts/engine/model.cjs.map +1 -1
  45. package/dist/charts/engine/model.js +191 -191
  46. package/dist/charts/engine/model.js.map +1 -1
  47. package/dist/charts/engine/orderbook/depth.cjs +1 -1
  48. package/dist/charts/engine/orderbook/depth.cjs.map +1 -1
  49. package/dist/charts/engine/orderbook/depth.js +63 -63
  50. package/dist/charts/engine/orderbook/heatmap.cjs +1 -1
  51. package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -1
  52. package/dist/charts/engine/orderbook/heatmap.js +155 -155
  53. package/dist/charts/engine/orderbook/host.cjs +1 -1
  54. package/dist/charts/engine/orderbook/host.cjs.map +1 -1
  55. package/dist/charts/engine/orderbook/host.js +87 -75
  56. package/dist/charts/engine/orderbook/host.js.map +1 -1
  57. package/dist/charts/engine/orderbook/ladder.cjs +1 -1
  58. package/dist/charts/engine/orderbook/ladder.cjs.map +1 -1
  59. package/dist/charts/engine/orderbook/ladder.js +41 -41
  60. package/dist/charts/engine/orderbook/tape.cjs +1 -1
  61. package/dist/charts/engine/orderbook/tape.cjs.map +1 -1
  62. package/dist/charts/engine/orderbook/tape.js +31 -31
  63. package/dist/charts/engine/presets.cjs +2 -2
  64. package/dist/charts/engine/presets.cjs.map +1 -1
  65. package/dist/charts/engine/presets.js +15 -15
  66. package/dist/charts/engine/renderers/vector-gpu.cjs +24 -0
  67. package/dist/charts/engine/renderers/vector-gpu.cjs.map +1 -0
  68. package/dist/charts/engine/renderers/vector-gpu.d.cts +22 -0
  69. package/dist/charts/engine/renderers/vector-gpu.d.ts +22 -0
  70. package/dist/charts/engine/renderers/vector-gpu.js +301 -0
  71. package/dist/charts/engine/renderers/vector-gpu.js.map +1 -0
  72. package/dist/charts/engine/renderers/vector.cjs +2 -0
  73. package/dist/charts/engine/renderers/vector.cjs.map +1 -0
  74. package/dist/charts/engine/renderers/vector.d.cts +140 -0
  75. package/dist/charts/engine/renderers/vector.d.ts +140 -0
  76. package/dist/charts/engine/renderers/vector.js +568 -0
  77. package/dist/charts/engine/renderers/vector.js.map +1 -0
  78. package/dist/charts/engine/scene.cjs +1 -1
  79. package/dist/charts/engine/scene.cjs.map +1 -1
  80. package/dist/charts/engine/scene.d.cts +43 -3
  81. package/dist/charts/engine/scene.d.ts +43 -3
  82. package/dist/charts/engine/scene.js +411 -338
  83. package/dist/charts/engine/scene.js.map +1 -1
  84. package/dist/charts/engine/shapes/bullet.cjs +1 -1
  85. package/dist/charts/engine/shapes/bullet.cjs.map +1 -1
  86. package/dist/charts/engine/shapes/bullet.js +36 -36
  87. package/dist/charts/engine/shapes/calendar.cjs +1 -1
  88. package/dist/charts/engine/shapes/calendar.cjs.map +1 -1
  89. package/dist/charts/engine/shapes/calendar.js +53 -53
  90. package/dist/charts/engine/shapes/chart.cjs +1 -1
  91. package/dist/charts/engine/shapes/chart.cjs.map +1 -1
  92. package/dist/charts/engine/shapes/chart.d.cts +3 -2
  93. package/dist/charts/engine/shapes/chart.d.ts +3 -2
  94. package/dist/charts/engine/shapes/chart.js +192 -162
  95. package/dist/charts/engine/shapes/chart.js.map +1 -1
  96. package/dist/charts/engine/shapes/draw.cjs +1 -1
  97. package/dist/charts/engine/shapes/draw.cjs.map +1 -1
  98. package/dist/charts/engine/shapes/draw.js +87 -86
  99. package/dist/charts/engine/shapes/draw.js.map +1 -1
  100. package/dist/charts/engine/shapes/layout.cjs +2 -2
  101. package/dist/charts/engine/shapes/layout.cjs.map +1 -1
  102. package/dist/charts/engine/shapes/layout.d.cts +8 -7
  103. package/dist/charts/engine/shapes/layout.d.ts +8 -7
  104. package/dist/charts/engine/shapes/layout.js +262 -166
  105. package/dist/charts/engine/shapes/layout.js.map +1 -1
  106. package/dist/charts/engine/shapes/types.d.cts +13 -1
  107. package/dist/charts/engine/shapes/types.d.ts +13 -1
  108. package/dist/charts/engine/three-d/chart.cjs +1 -1
  109. package/dist/charts/engine/three-d/chart.cjs.map +1 -1
  110. package/dist/charts/engine/three-d/chart.js +266 -257
  111. package/dist/charts/engine/three-d/chart.js.map +1 -1
  112. package/dist/charts/engine/three-d/dom.cjs +1 -1
  113. package/dist/charts/engine/three-d/dom.cjs.map +1 -1
  114. package/dist/charts/engine/three-d/dom.js +28 -35
  115. package/dist/charts/engine/three-d/dom.js.map +1 -1
  116. package/dist/charts/engine/three-d/geometry.cjs +1 -1
  117. package/dist/charts/engine/three-d/geometry.cjs.map +1 -1
  118. package/dist/charts/engine/three-d/geometry.js +70 -70
  119. package/dist/charts/engine/three-d/overlay.cjs +1 -1
  120. package/dist/charts/engine/three-d/overlay.cjs.map +1 -1
  121. package/dist/charts/engine/three-d/overlay.js +15 -15
  122. package/dist/charts/engine/tooltip.cjs +2 -0
  123. package/dist/charts/engine/tooltip.cjs.map +1 -0
  124. package/dist/charts/engine/tooltip.d.cts +94 -0
  125. package/dist/charts/engine/tooltip.d.ts +94 -0
  126. package/dist/charts/engine/tooltip.js +242 -0
  127. package/dist/charts/engine/tooltip.js.map +1 -0
  128. package/dist/charts/engine/trading/chart.cjs +1 -1
  129. package/dist/charts/engine/trading/chart.cjs.map +1 -1
  130. package/dist/charts/engine/trading/chart.js +135 -135
  131. package/dist/charts/react/shapes.cjs +1 -1
  132. package/dist/charts/react/shapes.cjs.map +1 -1
  133. package/dist/charts/react/shapes.d.cts +10 -1
  134. package/dist/charts/react/shapes.d.ts +10 -1
  135. package/dist/charts/react/shapes.js +24 -19
  136. package/dist/charts/react/shapes.js.map +1 -1
  137. package/dist/core/contracts.cjs +1 -1
  138. package/dist/core/contracts.cjs.map +1 -1
  139. package/dist/core/contracts.js +1 -1
  140. package/dist/core/contracts.js.map +1 -1
  141. package/dist/native/charts/src/canvas.cjs +1 -1
  142. package/dist/native/charts/src/canvas.js +8 -7
  143. package/dist/native/charts/src/engine/canvas.cjs +1 -1
  144. package/dist/native/charts/src/engine/canvas.js +2 -0
  145. package/dist/native/charts/src/engine/controller.cjs +2 -2
  146. package/dist/native/charts/src/engine/controller.cjs.map +1 -1
  147. package/dist/native/charts/src/engine/controller.js +102 -87
  148. package/dist/native/charts/src/engine/controller.js.map +1 -1
  149. package/dist/native/charts/src/engine/hover-rect.cjs +2 -0
  150. package/dist/native/charts/src/engine/hover-rect.cjs.map +1 -0
  151. package/dist/native/charts/src/engine/hover-rect.js +47 -0
  152. package/dist/native/charts/src/engine/hover-rect.js.map +1 -0
  153. package/dist/native/charts/src/engine/scene.cjs +1 -1
  154. package/dist/native/charts/src/engine/scene.cjs.map +1 -1
  155. package/dist/native/charts/src/engine/scene.js +318 -245
  156. package/dist/native/charts/src/engine/scene.js.map +1 -1
  157. package/dist/native/charts/src/engine/shapes/draw.cjs +1 -1
  158. package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -1
  159. package/dist/native/charts/src/engine/shapes/draw.js +81 -80
  160. package/dist/native/charts/src/engine/shapes/draw.js.map +1 -1
  161. package/dist/native/charts/src/engine/shapes/layout.cjs +2 -2
  162. package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -1
  163. package/dist/native/charts/src/engine/shapes/layout.js +239 -143
  164. package/dist/native/charts/src/engine/shapes/layout.js.map +1 -1
  165. package/dist/native/charts/src/engine/tooltip.cjs +2 -0
  166. package/dist/native/charts/src/engine/tooltip.cjs.map +1 -0
  167. package/dist/native/charts/src/engine/tooltip.js +164 -0
  168. package/dist/native/charts/src/engine/tooltip.js.map +1 -0
  169. package/dist/native/components/Chart/scene.cjs +1 -1
  170. package/dist/native/components/Chart/scene.cjs.map +1 -1
  171. package/dist/native/components/Chart/scene.js +210 -187
  172. package/dist/native/components/Chart/scene.js.map +1 -1
  173. package/dist/native/source/components/Chart/scene.tsx +55 -2
  174. package/dist/taro/index.js +2026 -1626
  175. package/dist/uni/charts-canvas.js +1 -0
  176. package/dist/vue/components/Chart/BulletChart.vue.d.ts +2 -0
  177. package/dist/vue/components/Chart/CalendarHeatmap.vue.d.ts +2 -0
  178. package/dist/vue/components/Chart/ChordChart.vue.d.ts +2 -0
  179. package/dist/vue/components/Chart/DonutChart.vue.d.ts +2 -0
  180. package/dist/vue/components/Chart/FunnelChart.vue.d.ts +2 -0
  181. package/dist/vue/components/Chart/GaugeChart.vue.d.ts +2 -0
  182. package/dist/vue/components/Chart/PieChart.vue.d.ts +2 -0
  183. package/dist/vue/components/Chart/RadarChart.vue.d.ts +2 -0
  184. package/dist/vue/components/Chart/RadialBarChart.vue.d.ts +2 -0
  185. package/dist/vue/components/Chart/SankeyChart.vue.d.ts +2 -0
  186. package/dist/vue/components/Chart/SunburstChart.vue.d.ts +2 -0
  187. package/dist/vue/components/Chart/TreemapChart.vue.d.ts +2 -0
  188. package/dist/vue/components/Chart/props.d.ts +2 -0
  189. package/dist/vue/components/Chart/props.js +1 -0
  190. package/dist/vue/components/Chart/props.js.map +1 -1
  191. package/dist/vue/components/Chart/shape.d.ts +2 -1
  192. package/dist/vue/components/Chart/shape.js +2 -0
  193. package/dist/vue/components/Chart/shape.js.map +1 -1
  194. package/dist/vue/components/Chart/types.d.ts +2 -0
  195. package/dist/weapp/charts/canvas.js +2576 -1969
  196. package/dist/weapp/charts/core.js +1 -0
  197. package/dist/web-components/components/chart/shape-chart.d.ts +9 -7
  198. package/dist/web-components/components/chart/shape-chart.js +3 -0
  199. package/dist/web-components/components/chart/shape-chart.js.map +1 -1
  200. package/dist/web-components/components/chart/shapes-extended.d.ts +6 -6
  201. package/dist/web-components/components/chart/shapes-extended.js.map +1 -1
  202. package/package.json +1 -1
@@ -1,77 +1,79 @@
1
1
  import { lowerBound as e } from "./data.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
- import { createScales as s, toData as c, toScreen as l } from "./layout.js";
4
- import { buildItems as u, cellStyleKey as d } from "./items.js";
5
- import { watchLocale as f } from "./locale.js";
6
- import { chartAriaLabel as p } from "./labels.js";
7
- import { buildModel as m, fromPlotX as ee, fromPlotY as te, heatPosition as ne, toPlotX as re, toPlotY as ie, viewFromValues as ae, viewToValues as oe } from "./model.js";
8
- import { drawBackground as se, drawForeground as ce, font as le } from "./overlay.js";
9
- import { createRenderer as ue } from "./renderers/detect.js";
10
- import { followDefaultRenderer as de } from "./renderers/follow.js";
11
- import { collectPointLabels as fe, colorLegend as pe, connectorSegments as me, crosshairAt as he, dependencyArrows as ge, hitTest as _e, hoverItemOf as ve, hoverMarks as ye, layoutChart as be, legendShape as xe, legendShown as Se, pointOf as Ce, resolveAnnotations as we, resolveDependencies as Te, sameHover as Ee, tooltipContent as De } from "./scene.js";
12
- import { itemsSignature as Oe } from "./signature.js";
13
- import { readTheme as ke, themeColorsChanged as Ae, watchTheme as je } from "./theme.js";
14
- import { clampRange as h, panRange as Me, sameRange as g, wheelFactor as Ne, zoomRange as Pe } from "./viewport.js";
2
+ import { positionTooltip as t, prefersReducedMotion as n } from "./tooltip.js";
3
+ import { CELL_ACCENT as r, CELL_LIFT as i, PLOT_BACKGROUND as a, createBand as o, createChartDom as s, createDataCanvas as c, createMarker as l, liftShadow as u, playLift as d, styleElement as f, swatch as p } from "./dom.js";
4
+ import { watchLocale as m } from "./locale.js";
5
+ import { createScales as ee, toData as h, toScreen as g } from "./layout.js";
6
+ import { chartAriaLabel as te } from "./labels.js";
7
+ import { buildModel as ne, fromPlotX as re, fromPlotY as ie, heatPosition as ae, toPlotX as oe, toPlotY as se, viewFromValues as ce, viewToValues as le } from "./model.js";
8
+ import { drawBackground as ue, drawForeground as de, font as fe } from "./overlay.js";
9
+ import { collectPointLabels as pe, colorLegend as me, connectorSegments as he, crosshairAt as ge, dependencyArrows as _e, hitTest as ve, hoverItemOf as ye, hoverMarks as be, layoutChart as xe, legendShape as Se, legendShown as Ce, liftedBarRect as we, pointOf as Te, resolveAnnotations as Ee, resolveDependencies as De, sameHover as Oe, tooltipContent as ke } from "./scene.js";
10
+ import { hoverRect as Ae } from "./hover-rect.js";
11
+ import { buildItems as je, cellStyleKey as Me } from "./items.js";
12
+ import { createRenderer as Ne } from "./renderers/detect.js";
13
+ import { followDefaultRenderer as Pe } from "./renderers/follow.js";
14
+ import { itemsSignature as Fe } from "./signature.js";
15
+ import { readTheme as Ie, themeColorsChanged as Le, watchTheme as Re } from "./theme.js";
16
+ import { clampRange as ze, panRange as Be, sameRange as Ve, wheelFactor as He, zoomRange as Ue } from "./viewport.js";
15
17
  //#region src/engine/chart.ts
16
- var _ = (e) => (e[0] + e[1]) / 2, v = (e) => ({
18
+ var We = (e) => (e[0] + e[1]) / 2, _ = (e) => ({
17
19
  x: [e.x[0], e.x[1]],
18
20
  y: [e.y[0], e.y[1]]
19
- }), Fe = (Fe, Ie) => {
20
- let y = Fe.ownerDocument, b = y.defaultView, x = n(Fe), Le = /* @__PURE__ */ new Map(), S = /* @__PURE__ */ new Set(), C = {}, w = Ie, T = ke(x.root, w.palette), E, D = {
21
+ }), Ge = (Ge, Ke) => {
22
+ let v = Ge.ownerDocument, y = v.defaultView, b = s(Ge), qe = /* @__PURE__ */ new Map(), Je = /* @__PURE__ */ new Set(), x = {}, S = Ke, C = Ie(b.root, S.palette), w, T = {
21
23
  x: [0, 1],
22
24
  y: [0, 1]
23
- }, O = !1, k = {
25
+ }, E = !1, D = {
24
26
  x: 0,
25
27
  y: 0
26
- }, Re = [], A = !0, ze = 0, Be = [], Ve = [], j = null, M = null, N = null, He = null, P = null, Ue = 0, F = !1, I = 0, L = null, We = "", R = null, z = null, B = null, Ge = [], Ke = [], qe = [], Je = [], V = null, Ye = "", Xe = 0, Ze = "", Qe = "", H = null, U = null, $e = () => {}, et = new Promise((e) => {
27
- $e = e;
28
- }), W = (e, t) => {
29
- C[e]?.forEach((e) => e(t));
30
- }, tt = null, nt = null, G = () => {
31
- if (tt === w) return nt;
32
- tt = w;
33
- let e = w.interaction;
34
- if (e === !1) return nt = null;
28
+ }, Ye = [], O = !0, Xe = 0, Ze = [], Qe = [], k = null, $e = null, A = null, et = null, j = null, tt = 0, M = !1, N = 0, P = null, nt = "", F = null, I = null, L = null, rt = [], it = [], at = [], ot = [], st = [], R = null, z = null, B = null, ct = "", lt = 0, ut = "", dt = "", V = null, H = null, ft = () => {}, pt = new Promise((e) => {
29
+ ft = e;
30
+ }), U = (e, t) => {
31
+ x[e]?.forEach((e) => e(t));
32
+ }, mt = null, ht = null, W = () => {
33
+ if (mt === S) return ht;
34
+ mt = S;
35
+ let e = S.interaction;
36
+ if (e === !1) return ht = null;
35
37
  let t = typeof e == "object" ? e : {};
36
- return nt = {
38
+ return ht = {
37
39
  zoom: t.zoom ?? !0,
38
40
  wheel: t.wheel ?? "modifier",
39
41
  pan: t.pan ?? !0,
40
42
  keyboard: t.keyboard ?? !0,
41
43
  dragPoints: t.dragPoints ?? !1
42
44
  };
43
- }, rt = () => w.tooltip === !1 ? null : typeof w.tooltip == "object" ? w.tooltip : {}, K = () => {
44
- F || I || (I = b?.requestAnimationFrame ? b.requestAnimationFrame(lt) : setTimeout(lt, 16));
45
- }, q = () => {
46
- E = m(w, T, S, Le);
47
- let { base: e, zoom: t, minSpan: n } = E;
48
- O ? (D = {
49
- x: t.x ? h(D.x, e.x, n.x) : [...e.x],
50
- y: t.y ? h(D.y, e.y, n.y) : [...e.y]
51
- }, O = !g(D.x, e.x) || !g(D.y, e.y)) : D = v(e);
52
- let r = Oe(E, Xe, (e) => w.series[e]?.stack);
53
- r !== Ze && (Ze = r, k = {
54
- x: _(e.x),
55
- y: _(e.y)
56
- }, A = !0, L && !L.keyboard && (L = null)), Be = we(w.annotations, T, E.y.type === "log" ? Math.log10 : void 0, E.x.type === "log" ? Math.log10 : void 0), Ve = Te(w.dependencies, T), at(), ot(), K();
57
- }, it = () => {
45
+ }, gt = () => S.tooltip === !1 ? null : typeof S.tooltip == "object" ? S.tooltip : {}, G = () => {
46
+ M || N || (N = y?.requestAnimationFrame ? y.requestAnimationFrame(St) : setTimeout(St, 16));
47
+ }, K = () => {
48
+ w = ne(S, C, Je, qe);
49
+ let { base: e, zoom: t, minSpan: n } = w;
50
+ E ? (T = {
51
+ x: t.x ? ze(T.x, e.x, n.x) : [...e.x],
52
+ y: t.y ? ze(T.y, e.y, n.y) : [...e.y]
53
+ }, E = !Ve(T.x, e.x) || !Ve(T.y, e.y)) : T = _(e);
54
+ let r = Fe(w, lt, (e) => S.series[e]?.stack);
55
+ r !== ut && (ut = r, D = {
56
+ x: We(e.x),
57
+ y: We(e.y)
58
+ }, O = !0, P && !P.keyboard && (P = null)), Ze = Ee(S.annotations, C, w.y.type === "log" ? Math.log10 : void 0, w.x.type === "log" ? Math.log10 : void 0), Qe = De(S.dependencies, C), vt(), yt(), G();
59
+ }, _t = () => {
58
60
  let e = (e, t) => Math.max(Math.abs(e[0] - t), Math.abs(e[1] - t)) > (e[1] - e[0]) * 2e3;
59
- (e(D.x, k.x) || e(D.y, k.y)) && (k = {
60
- x: _(D.x),
61
- y: _(D.y)
62
- }, A = !0);
63
- }, at = () => {
64
- let e = w.legend, t = w.series.filter((e) => e.name).length, n = Se(e, E, t), r = typeof e == "object" ? e : {}, i = r.toggle ?? !0, s = r.position === "bottom", c = n ? pe(E) : null, l = `${n}|${s}|${i}`;
65
- if (c) l += `\n${c.stops.join(";")}|${c.labels.map((e) => e.text).join(";")}`;
66
- else if (n) for (let e of E.series) l += `\n${e.id}\u0001${e.name}\u0001${e.colorCss}\u0001${xe(e.type)}\u0001${e.hidden}`;
67
- if (l === Qe) return;
68
- Qe = l;
69
- let u = [...x.legend.children].indexOf(y.activeElement);
70
- if (x.legend.replaceChildren(), V = null, x.legend.style.display = n ? "flex" : "none", n) {
71
- if (x.legend.style.order = s ? "1" : "0", x.legend.style.padding = s ? "8px 4px 0" : "0 4px 8px", c) {
72
- x.legend.style.justifyContent = "flex-end";
73
- let e = y.createElement("div");
74
- a(e, {
61
+ (e(T.x, D.x) || e(T.y, D.y)) && (D = {
62
+ x: We(T.x),
63
+ y: We(T.y)
64
+ }, O = !0);
65
+ }, vt = () => {
66
+ let e = S.legend, t = S.series.filter((e) => e.name).length, n = Ce(e, w, t), r = typeof e == "object" ? e : {}, i = r.toggle ?? !0, a = r.position === "bottom", o = n ? me(w) : null, s = `${n}|${a}|${i}`;
67
+ if (o) s += `\n${o.stops.join(";")}|${o.labels.map((e) => e.text).join(";")}`;
68
+ else if (n) for (let e of w.series) s += `\n${e.id}\u0001${e.name}\u0001${e.colorCss}\u0001${Se(e.type)}\u0001${e.hidden}`;
69
+ if (s === dt) return;
70
+ dt = s;
71
+ let c = [...b.legend.children].indexOf(v.activeElement);
72
+ if (b.legend.replaceChildren(), B = null, b.legend.style.display = n ? "flex" : "none", n) {
73
+ if (b.legend.style.order = a ? "1" : "0", b.legend.style.padding = a ? "8px 4px 0" : "0 4px 8px", o) {
74
+ b.legend.style.justifyContent = "flex-end";
75
+ let e = v.createElement("div");
76
+ f(e, {
75
77
  display: "flex",
76
78
  alignItems: "center",
77
79
  gap: "8px",
@@ -79,17 +81,17 @@ var _ = (e) => (e[0] + e[1]) / 2, v = (e) => ({
79
81
  fontSize: "11px",
80
82
  fontVariantNumeric: "tabular-nums"
81
83
  });
82
- let t = c.labels[0], n = c.labels[c.labels.length - 1], r = y.createElement("div");
83
- if (a(r, {
84
+ let t = o.labels[0], n = o.labels[o.labels.length - 1], r = v.createElement("div");
85
+ if (f(r, {
84
86
  position: "relative",
85
87
  width: "160px",
86
88
  height: "8px",
87
89
  borderRadius: "4px",
88
- background: `linear-gradient(to right, ${c.stops.join(", ")})`,
90
+ background: `linear-gradient(to right, ${o.stops.join(", ")})`,
89
91
  boxShadow: "inset 0 0 0 1px color-mix(in srgb, var(--text-color, #1f2937) 8%, transparent)"
90
- }), c.labels.length > 2) {
91
- let e = y.createElement("div");
92
- a(e, {
92
+ }), o.labels.length > 2) {
93
+ let e = v.createElement("div");
94
+ f(e, {
93
95
  position: "absolute",
94
96
  left: "50%",
95
97
  top: "-2px",
@@ -98,7 +100,7 @@ var _ = (e) => (e[0] + e[1]) / 2, v = (e) => ({
98
100
  background: "color-mix(in srgb, var(--text-color, #1f2937) 35%, transparent)"
99
101
  }), r.appendChild(e);
100
102
  }
101
- V = y.createElement("div"), a(V, {
103
+ B = v.createElement("div"), f(B, {
102
104
  position: "absolute",
103
105
  top: "-3px",
104
106
  width: "4px",
@@ -108,20 +110,20 @@ var _ = (e) => (e[0] + e[1]) / 2, v = (e) => ({
108
110
  background: "var(--text-color, #1f2937)",
109
111
  boxShadow: "0 0 0 1.5px var(--surface-color, var(--background-color, #fff))",
110
112
  display: "none"
111
- }), r.appendChild(V);
113
+ }), r.appendChild(B);
112
114
  let i = (e) => {
113
- let t = y.createElement("span");
115
+ let t = v.createElement("span");
114
116
  return t.textContent = e, t;
115
117
  };
116
- e.append(i(t?.text ?? ""), r, i(n?.text ?? "")), x.legend.appendChild(e);
118
+ e.append(i(t?.text ?? ""), r, i(n?.text ?? "")), b.legend.appendChild(e);
117
119
  return;
118
120
  }
119
- x.legend.style.justifyContent = "";
120
- for (let e of E.series) {
121
- let t = y.createElement(i ? "button" : "span");
121
+ b.legend.style.justifyContent = "";
122
+ for (let e of w.series) {
123
+ let t = v.createElement(i ? "button" : "span");
122
124
  t instanceof HTMLButtonElement && (t.type = "button", t.setAttribute("aria-pressed", String(!e.hidden)), t.addEventListener("click", () => {
123
- S.has(e.id) ? S.delete(e.id) : S.add(e.id), q();
124
- })), a(t, {
125
+ Je.has(e.id) ? Je.delete(e.id) : Je.add(e.id), K();
126
+ })), f(t, {
125
127
  display: "inline-flex",
126
128
  alignItems: "center",
127
129
  gap: "6px",
@@ -135,123 +137,123 @@ var _ = (e) => (e[0] + e[1]) / 2, v = (e) => ({
135
137
  cursor: i ? "pointer" : "default",
136
138
  opacity: e.hidden ? "0.45" : "1",
137
139
  textDecoration: e.hidden ? "line-through" : "none"
138
- }), t.append(o(y, e.colorCss, xe(e.type)), y.createTextNode(e.name)), x.legend.appendChild(t);
140
+ }), t.append(p(v, e.colorCss, Se(e.type)), v.createTextNode(e.name)), b.legend.appendChild(t);
139
141
  }
140
- u >= 0 && x.legend.children[u]?.focus();
142
+ c >= 0 && b.legend.children[c]?.focus();
141
143
  }
142
- }, ot = () => {
143
- x.stage.setAttribute("aria-label", w.ariaLabel ?? p(E));
144
- let e = G()?.keyboard;
145
- x.stage.style.touchAction = G()?.dragPoints ? "none" : "pan-y", e ? x.stage.tabIndex = 0 : x.stage.removeAttribute("tabindex");
146
- }, st = (e, t, n, r) => {
144
+ }, yt = () => {
145
+ b.stage.setAttribute("aria-label", S.ariaLabel ?? te(w));
146
+ let e = W()?.keyboard;
147
+ b.stage.style.touchAction = W()?.dragPoints ? "none" : "pan-y", e ? b.stage.tabIndex = 0 : b.stage.removeAttribute("tabindex");
148
+ }, bt = (e, t, n, r) => {
147
149
  let i = Math.max(1, Math.round(t * r)), a = Math.max(1, Math.round(n * r));
148
150
  e.width !== i && (e.width = i), e.height !== a && (e.height = a), e.style.width = `${t}px`, e.style.height = `${n}px`;
149
- }, ct = (e, t, n) => {
151
+ }, xt = (e, t, n) => {
150
152
  let r = 2 / (e[1] - e[0]), i = (t - e[0]) * r - 1;
151
153
  return n ? [-r, -i] : [r, i];
152
154
  };
153
- function lt() {
154
- if (I = 0, F) return;
155
- let e = x.stage.clientWidth, t = x.stage.clientHeight;
155
+ function St() {
156
+ if (N = 0, M) return;
157
+ let e = b.stage.clientWidth, t = b.stage.clientHeight;
156
158
  if (e <= 0 || t <= 0) return;
157
- let n = b?.devicePixelRatio || 1;
158
- st(x.background, e, t, n), st(x.foreground, e, t, n);
159
- let r = x.background.getContext("2d"), i = x.foreground.getContext("2d");
160
- r && (r.setTransform(n, 0, 0, n, 0, 0), r.font = le(T));
161
- let o = be({
162
- model: E,
163
- view: D,
164
- theme: T,
159
+ let n = y?.devicePixelRatio || 1;
160
+ bt(b.background, e, t, n), bt(b.foreground, e, t, n);
161
+ let r = b.background.getContext("2d"), i = b.foreground.getContext("2d");
162
+ r && (r.setTransform(n, 0, 0, n, 0, 0), r.font = fe(C));
163
+ let a = xe({
164
+ model: w,
165
+ view: T,
166
+ theme: C,
165
167
  width: e,
166
168
  height: t,
167
- padding: w.padding,
168
- measure: r ? (e) => r.measureText(e).width : (e) => e.length * T.fontSize * .6
169
- }), { plot: s } = o;
170
- M = o.xTicks, N = o.yTicks, He = o.y2Ticks, j = o.scales;
171
- let c = ut();
172
- if (c && c.join() !== We && (We = c.join(), W("layout", {
173
- x: c[0],
174
- y: c[1],
175
- width: c[2],
176
- height: c[3]
177
- })), r && se(r, {
169
+ padding: S.padding,
170
+ measure: r ? (e) => r.measureText(e).width : (e) => e.length * C.fontSize * .6
171
+ }), { plot: o } = a;
172
+ $e = a.xTicks, A = a.yTicks, et = a.y2Ticks, k = a.scales;
173
+ let s = Ct();
174
+ if (s && s.join() !== nt && (nt = s.join(), U("layout", {
175
+ x: s[0],
176
+ y: s[1],
177
+ width: s[2],
178
+ height: s[3]
179
+ })), r && ue(r, {
178
180
  width: e,
179
181
  height: t,
180
- scales: j,
181
- x: E.x,
182
- y: E.y,
183
- xTicks: M,
184
- yTicks: N,
185
- y2: E.y2,
186
- y2Ticks: He,
187
- theme: T,
188
- annotations: Be
189
- }), i && (i.setTransform(n, 0, 0, n, 0, 0), ce(i, {
182
+ scales: k,
183
+ x: w.x,
184
+ y: w.y,
185
+ xTicks: $e,
186
+ yTicks: A,
187
+ y2: w.y2,
188
+ y2Ticks: et,
189
+ theme: C,
190
+ annotations: Ze
191
+ }), i && (i.setTransform(n, 0, 0, n, 0, 0), de(i, {
190
192
  width: e,
191
193
  height: t,
192
- scales: j,
193
- theme: T,
194
- annotations: Be,
195
- pointLabels: fe(E, D, j, N, T.background),
196
- connectors: me(E, j),
197
- arrows: ge(E, j, Ve)
198
- })), P) {
199
- let e = P.canvas, t = E.horizontal, r = t ? s.height : s.width, i = t ? s.width : s.height;
200
- a(e, {
201
- left: `${s.x}px`,
202
- top: `${s.y}px`,
194
+ scales: k,
195
+ theme: C,
196
+ annotations: Ze,
197
+ pointLabels: pe(w, T, k, A, C.background),
198
+ connectors: he(w, k),
199
+ arrows: _e(w, k, Qe)
200
+ })), j) {
201
+ let e = j.canvas, t = w.horizontal, r = t ? o.height : o.width, i = t ? o.width : o.height;
202
+ f(e, {
203
+ left: `${o.x}px`,
204
+ top: `${o.y}px`,
203
205
  width: `${r}px`,
204
206
  height: `${i}px`,
205
207
  transformOrigin: t ? "0 0" : "",
206
208
  transform: t ? "matrix(0, 1, 1, 0, 0, 0)" : ""
207
209
  });
208
- let o = Math.max(1, Math.round(r * n)), c = Math.max(1, Math.round(i * n));
209
- (e.width !== o || e.height !== c) && P.resize(o, c), it();
210
- let l = {
211
- x: 1 / Math.abs(j.xPerPx),
212
- y: 1 / Math.abs(j.yPerPx)
213
- }, f = d(E, l);
214
- f !== Ye && (Ye = f, A = !0), A && (ze++, Re = u(E, k, ze, l), A = !1);
215
- let [p, m] = ct(D.x, k.x, E.x.reverse), [ee, te] = ct(D.y, k.y, t ? !E.y.reverse : E.y.reverse);
216
- P.render(Re, {
210
+ let a = Math.max(1, Math.round(r * n)), s = Math.max(1, Math.round(i * n));
211
+ (e.width !== a || e.height !== s) && j.resize(a, s), _t();
212
+ let c = {
213
+ x: 1 / Math.abs(k.xPerPx),
214
+ y: 1 / Math.abs(k.yPerPx)
215
+ }, l = Me(w, c);
216
+ l !== ct && (ct = l, O = !0), O && (Xe++, Ye = je(w, D, Xe, c), O = !1);
217
+ let [u, d] = xt(T.x, D.x, w.x.reverse), [p, m] = xt(T.y, D.y, t ? !w.y.reverse : w.y.reverse);
218
+ j.render(Ye, {
217
219
  transform: {
218
- xScale: p,
219
- xOffset: m,
220
- yScale: ee,
221
- yOffset: te
220
+ xScale: u,
221
+ xOffset: d,
222
+ yScale: p,
223
+ yOffset: m
222
224
  },
223
- width: o,
224
- height: c,
225
+ width: a,
226
+ height: s,
225
227
  dpr: n
226
228
  });
227
229
  }
228
230
  X();
229
231
  }
230
- let J = (e, t) => j ? _e(E, j, M, e, t) : null, ut = () => {
231
- let e = j?.plot;
232
+ let q = (e, t) => k ? ve(w, k, $e, e, t) : null, Ct = () => {
233
+ let e = k?.plot;
232
234
  return e ? [
233
- e.x + x.stage.offsetLeft,
234
- e.y + x.stage.offsetTop,
235
+ e.x + b.stage.offsetLeft,
236
+ e.y + b.stage.offsetTop,
235
237
  e.width,
236
238
  e.height
237
239
  ] : null;
238
- }, dt = (e, t) => G()?.dragPoints ? J(e, t)?.items.find((e) => E.series[e.seriesIndex].type === "scatter") ?? null : null, Y = (e) => {
239
- let t = !Ee(L?.event ?? null, e?.event ?? null);
240
- L = e, X(), t && W("hover", e ? e.event : null);
241
- }, ft = (e) => {
242
- let t = rt()?.render;
240
+ }, wt = (e, t) => W()?.dragPoints ? q(e, t)?.items.find((e) => w.series[e.seriesIndex].type === "scatter") ?? null : null, J = (e) => {
241
+ let t = !Oe(P?.event ?? null, e?.event ?? null);
242
+ P = e, X(), t && U("hover", e ? e.event : null);
243
+ }, Tt = (e) => {
244
+ let t = gt()?.render;
243
245
  if (t) return t(e);
244
- let n = De(E, e, N, He), r = y.createDocumentFragment(), i = y.createElement("div");
245
- if (a(i, {
246
+ let n = ke(w, e, A, et), r = v.createDocumentFragment(), i = v.createElement("div");
247
+ if (f(i, {
246
248
  display: "flex",
247
249
  alignItems: "center",
248
250
  gap: "6px",
249
251
  fontWeight: "600",
250
252
  marginBottom: n.subtitle ? "0" : "4px",
251
253
  color: "var(--text-color, #1f2937)"
252
- }), n.titleColor && i.appendChild(o(y, n.titleColor, "dot")), i.appendChild(y.createTextNode(n.title)), r.append(i), n.subtitle) {
253
- let e = y.createElement("div");
254
- a(e, {
254
+ }), n.titleColor && i.appendChild(p(v, n.titleColor, "dot")), i.appendChild(v.createTextNode(n.title)), r.append(i), n.subtitle) {
255
+ let e = v.createElement("div");
256
+ f(e, {
255
257
  color: "var(--text-secondary-color, #6b7280)",
256
258
  fontSize: "11px",
257
259
  margin: "1px 0 6px",
@@ -259,198 +261,266 @@ var _ = (e) => (e[0] + e[1]) / 2, v = (e) => ({
259
261
  }), e.textContent = n.subtitle, r.append(e);
260
262
  }
261
263
  if (!n.rows.length) return r;
262
- let s = n.rows.some((e) => e.color), c = y.createElement("div");
263
- a(c, {
264
+ let a = n.rows.some((e) => e.color), o = v.createElement("div");
265
+ f(o, {
264
266
  display: "grid",
265
- gridTemplateColumns: s ? "auto minmax(0, 1fr) auto" : "minmax(0, 1fr) auto",
267
+ gridTemplateColumns: a ? "auto minmax(0, 1fr) auto" : "minmax(0, 1fr) auto",
266
268
  columnGap: "0",
267
269
  rowGap: "2px",
268
270
  alignItems: "center"
269
271
  });
270
272
  for (let e of n.rows) {
271
- if (s) {
272
- let t = y.createElement("span");
273
- a(t, {
273
+ if (a) {
274
+ let t = v.createElement("span");
275
+ f(t, {
274
276
  display: "inline-flex",
275
277
  width: "14px",
276
278
  justifyContent: "flex-start"
277
- }), e.color && t.appendChild(o(y, e.color, "dot")), c.appendChild(t);
279
+ }), e.color && t.appendChild(p(v, e.color, "dot")), o.appendChild(t);
278
280
  }
279
- let t = y.createElement("span");
280
- a(t, {
281
+ let t = v.createElement("span");
282
+ f(t, {
281
283
  color: "var(--text-secondary-color, #6b7280)",
282
284
  paddingRight: "16px",
283
285
  overflow: "hidden",
284
286
  textOverflow: "ellipsis"
285
287
  }), t.textContent = e.name;
286
- let n = y.createElement("span");
287
- a(n, {
288
+ let n = v.createElement("span");
289
+ f(n, {
288
290
  fontWeight: "600",
289
291
  fontVariantNumeric: "tabular-nums",
290
292
  textAlign: "right",
291
293
  color: "var(--text-color, #1f2937)"
292
- }), n.textContent = e.value, c.append(t, n);
294
+ }), n.textContent = e.value, o.append(t, n);
293
295
  }
294
- return r.append(c), r;
295
- }, pt = (e, t, n, r = x.hover) => (e[t] || (e[t] = n(), r.appendChild(e[t])), e[t].style.display = "block", e[t]);
296
+ return r.append(o), r;
297
+ }, Y = (e, t, n, r = b.hover) => (e[t] || (e[t] = n(), r.appendChild(e[t])), e[t].style.display = "block", e[t]);
296
298
  function X() {
297
- let e = j;
298
- L && e && H && H.scales === e && H.model === E && Ee(H.event, L.event) || mt(e);
299
- let t = x.tooltip;
300
- if (!L || !e || !rt() || B?.moved || R?.moved) {
301
- t.style.display = "none";
299
+ let e = k;
300
+ P && e && V && V.scales === e && V.model === w && Oe(V.event, P.event) || Et(e);
301
+ let n = b.tooltip;
302
+ if (!P || !e || !gt() || L?.moved || F?.moved) {
303
+ n.style.display = "none";
302
304
  return;
303
305
  }
304
- let n = rt()?.render, r, i;
305
- if (!n && U && U.model === E && U.yTicks === N && Ee(U.event, L.event) && t.style.display === "block") r = U.width, i = U.height;
306
+ let r = gt()?.render, i, a;
307
+ if (!r && H && H.model === w && H.yTicks === A && Oe(H.event, P.event) && n.style.display === "block") i = H.width, a = H.height;
306
308
  else {
307
- U = null;
308
- let e = ft(L.event);
309
+ H = null;
310
+ let e = Tt(P.event);
309
311
  if (e === null || e === "") {
310
- t.style.display = "none";
312
+ n.style.display = "none";
311
313
  return;
312
314
  }
313
- 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 || (U = {
314
- event: L.event,
315
- model: E,
316
- yTicks: N,
317
- width: r,
318
- height: i
315
+ typeof e == "string" ? (n.textContent = e, n.style.whiteSpace = "pre") : (n.replaceChildren(e), n.style.whiteSpace = "nowrap"), n.style.display = "block", i = n.offsetWidth, a = n.offsetHeight, r || (H = {
316
+ event: P.event,
317
+ model: w,
318
+ yTicks: A,
319
+ width: i,
320
+ height: a
319
321
  });
320
322
  }
321
- let a = x.stage.clientWidth, o = x.stage.clientHeight, s = L.anchorX + 16;
322
- s + r > a - 4 && (s = L.anchorX - 16 - r), s = Math.max(4, Math.min(s, a - r - 4));
323
- let c = Math.max(4, Math.min(L.anchorY - i / 2, o - i - 4));
324
- t.style.transform = `translate(${Math.round(s)}px, ${Math.round(c)}px)`;
323
+ t(n, b.stage, {
324
+ anchor: {
325
+ x: P.anchorX,
326
+ y: P.anchorY
327
+ },
328
+ avoid: Ae(w, e, P.event),
329
+ prefer: e.horizontal ? "vertical" : "side",
330
+ size: {
331
+ width: i,
332
+ height: a
333
+ },
334
+ animate: !0
335
+ });
325
336
  }
326
- function mt(e) {
327
- let n = 0, r = 0, o = 0, s = 0;
328
- if (ht(), H = null, x.crosshair.style.display = "none", L && e) {
329
- H = {
330
- event: L.event,
331
- model: E,
337
+ function Et(e) {
338
+ let t = 0, s = 0, c = 0, p = 0, m = 0, ee = !1;
339
+ if (Dt(), V = null, b.crosshair.style.display = "none", P && e) {
340
+ V = {
341
+ event: P.event,
342
+ model: w,
332
343
  scales: e
333
344
  };
334
- let { plot: c } = e;
335
- x.hover.style.width = `${x.stage.clientWidth}px`, x.hover.style.height = `${x.stage.clientHeight}px`;
336
- let l = he(E, e, L.event, w.crosshair);
337
- if (l !== null) {
345
+ let { plot: h } = e;
346
+ b.hover.style.width = `${b.stage.clientWidth}px`, b.hover.style.height = `${b.stage.clientHeight}px`;
347
+ let g = ge(w, e, P.event, S.crosshair);
348
+ if (g !== null) {
338
349
  let t = "1px dashed color-mix(in srgb, var(--text-secondary-color, #6b7280) 45%, transparent)";
339
- a(x.crosshair, e.horizontal ? {
350
+ f(b.crosshair, e.horizontal ? {
340
351
  display: "block",
341
- left: `${c.x}px`,
342
- top: `${Math.round(l)}px`,
343
- width: `${c.width}px`,
352
+ left: `${h.x}px`,
353
+ top: `${Math.round(g)}px`,
354
+ width: `${h.width}px`,
344
355
  height: "0",
345
356
  borderLeft: "0",
346
357
  borderTop: t
347
358
  } : {
348
359
  display: "block",
349
- left: `${Math.round(l)}px`,
350
- top: `${c.y}px`,
360
+ left: `${Math.round(g)}px`,
361
+ top: `${h.y}px`,
351
362
  width: "0",
352
- height: `${c.height}px`,
363
+ height: `${h.height}px`,
353
364
  borderLeft: t,
354
365
  borderTop: "0"
355
366
  });
356
367
  }
357
- for (let c of ye(E, e, L.event)) {
358
- if (c.kind === "band" || c.kind === "guide") {
359
- let e = c.kind === "band" ? pt(Ke, r++, () => t(y), x.underlay) : pt(Je, s++, () => a(t(y), {
368
+ let te = be(w, e, P.event), ne = te.some((e) => e.kind === "bar");
369
+ for (let e of te) {
370
+ if (e.kind === "band" || e.kind === "guide") {
371
+ let t = e.kind === "band" ? Y(it, s++, () => o(v), b.underlay) : Y(ot, p++, () => f(o(v), {
360
372
  borderRadius: "0",
361
373
  background: "color-mix(in srgb, var(--text-color, #1f2937) 6%, transparent)"
362
- }));
363
- a(e, {
364
- left: `${c.x}px`,
365
- top: `${c.y}px`,
366
- width: `${c.width}px`,
367
- height: `${c.height}px`
368
- });
374
+ }), b.lift);
375
+ f(t, {
376
+ left: `${e.x}px`,
377
+ top: `${e.y}px`,
378
+ width: `${e.width}px`,
379
+ height: `${e.height}px`
380
+ }), e.kind === "band" && (t.style.background = `color-mix(in srgb, var(--text-color, #1f2937) ${ne ? 4 : 6}%, transparent)`);
369
381
  continue;
370
382
  }
371
- if (c.kind === "cell") {
372
- let e = pt(qe, o++, () => a(t(y), {
373
- boxShadow: "0 8px 18px -6px rgba(15, 23, 42, 0.6), 0 0 0 1px rgba(15, 23, 42, 0.12)",
374
- outlineStyle: "solid",
375
- outlineWidth: "1.5px",
376
- outlineOffset: "-4px",
377
- transform: "scale(1.12)"
378
- }));
379
- a(e, {
380
- left: `${c.x}px`,
381
- top: `${c.y}px`,
383
+ if (e.kind === "bar") {
384
+ R || (R = f(v.createElement("div"), {
385
+ position: "absolute",
386
+ overflow: "hidden"
387
+ }), b.lift.appendChild(R)), ee || (ee = !0, z || (z = f(v.createElement("div"), {
388
+ position: "absolute",
389
+ background: `color-mix(in srgb, ${a} 42%, transparent)`,
390
+ opacity: "0"
391
+ }), b.lift.insertBefore(z, R)), f(z, {
392
+ left: `${h.x}px`,
393
+ top: `${h.y}px`,
394
+ width: `${h.width}px`,
395
+ height: `${h.height}px`,
396
+ transition: n(y) ? "none" : "opacity 140ms ease-out",
397
+ opacity: "1"
398
+ })), f(R, {
399
+ left: `${h.x}px`,
400
+ top: `${h.y}px`,
401
+ width: `${h.width}px`,
402
+ height: `${h.height}px`
403
+ });
404
+ let t = `${e.seriesIndex}:${e.index}`, r = st[m], i = !r || r.style.display !== "block" || r.dataset.key !== t, s = Y(st, m++, () => o(v), R);
405
+ s.dataset.key = t;
406
+ let c = we(e), l = e.base === "top" || e.base === "bottom", p = e.ring === null ? null : {
407
+ color: e.ring,
408
+ width: Math.min(e.backdrop ? 2 : 1.5, Math.max(0, (Math.min(c.width, c.height) - 2) / 4))
409
+ }, g = p ? u(p, 1.5, null) : "none";
410
+ if (f(s, {
411
+ left: `${c.x - h.x}px`,
412
+ top: `${c.y - h.y}px`,
382
413
  width: `${c.width}px`,
383
414
  height: `${c.height}px`,
384
- background: c.color,
385
- borderRadius: `${Math.max(c.radius, 2)}px`,
386
- outlineColor: c.ring
387
- });
415
+ borderRadius: `${e.radius}px`,
416
+ filter: "brightness(1.08) saturate(1.08)",
417
+ background: e.backdrop ? `linear-gradient(${e.color}, ${e.color}), ${a}` : e.color,
418
+ boxShadow: g
419
+ }), i) {
420
+ let t = l ? c.width : c.height, n = t > 0 ? (t - e.grow * 2) / t : 1;
421
+ d(s, {
422
+ transform: l ? `scaleX(${n})` : `scaleY(${n})`,
423
+ ...p ? { boxShadow: u(p, 1.5, null, !0) } : {}
424
+ }, {
425
+ transform: "none",
426
+ ...p ? { boxShadow: g } : {}
427
+ }, y);
428
+ }
388
429
  continue;
389
430
  }
390
- let e = pt(Ge, n++, () => i(y));
391
- a(e, {
392
- left: `${c.x}px`,
393
- top: `${c.y}px`,
394
- width: `${c.size}px`,
395
- height: `${c.size}px`,
396
- background: c.color,
397
- boxShadow: `0 0 0 4px ${c.halo}`
431
+ if (e.kind === "cell") {
432
+ let t = `${e.seriesIndex}:${e.index}`, n = at[c], a = !n || n.style.display !== "block" || n.dataset.key !== t, s = Y(at, c++, () => f(o(v), {
433
+ zIndex: "1",
434
+ transform: `scale(${i})`
435
+ }), b.lift);
436
+ s.dataset.key = t;
437
+ let l = {
438
+ color: e.ring,
439
+ width: Math.min(2, Math.min(e.width, e.height) / 5)
440
+ }, p = u(l, 2, r);
441
+ f(s, {
442
+ left: `${e.x}px`,
443
+ top: `${e.y}px`,
444
+ width: `${e.width}px`,
445
+ height: `${e.height}px`,
446
+ background: e.color,
447
+ borderRadius: `${Math.max(e.radius, 2)}px`,
448
+ boxShadow: p
449
+ }), a && d(s, {
450
+ transform: "scale(1)",
451
+ boxShadow: u(l, 2, r, !0)
452
+ }, {
453
+ transform: `scale(${i})`,
454
+ boxShadow: p
455
+ }, y);
456
+ continue;
457
+ }
458
+ let g = Y(rt, t++, () => l(v));
459
+ f(g, {
460
+ left: `${e.x}px`,
461
+ top: `${e.y}px`,
462
+ width: `${e.size}px`,
463
+ height: `${e.size}px`,
464
+ background: e.color,
465
+ boxShadow: `0 0 0 4px ${e.halo}`
398
466
  });
399
467
  }
400
468
  }
401
- for (let e = n; e < Ge.length; e++) Ge[e].style.display = "none";
402
- for (let e = r; e < Ke.length; e++) Ke[e].style.display = "none";
403
- for (let e = o; e < qe.length; e++) qe[e].style.display = "none";
404
- for (let e = s; e < Je.length; e++) Je[e].style.display = "none";
469
+ for (let e = t; e < rt.length; e++) rt[e].style.display = "none";
470
+ for (let e = s; e < it.length; e++) it[e].style.display = "none";
471
+ for (let e = c; e < at.length; e++) at[e].style.display = "none";
472
+ for (let e = p; e < ot.length; e++) ot[e].style.display = "none";
473
+ for (let e = m; e < st.length; e++) st[e].style.display = "none";
474
+ z && !ee && (z.style.opacity = "0");
405
475
  }
406
- function ht() {
407
- let e = V;
476
+ function Dt() {
477
+ let e = B;
408
478
  if (!e) return;
409
- let t = L?.event.items[0], n = t ? E.series[t.seriesIndex] : void 0;
479
+ let t = P?.event.items[0], n = t ? w.series[t.seriesIndex] : void 0;
410
480
  if (!t || !n || n.type !== "heatmap" || t.value === void 0) {
411
481
  e.style.display = "none";
412
482
  return;
413
483
  }
414
- e.style.display = "block", e.style.left = `${(ne(n, t.value) * 100).toFixed(2)}%`;
484
+ e.style.display = "block", e.style.left = `${(ae(n, t.value) * 100).toFixed(2)}%`;
415
485
  }
416
486
  let Z = (e, t) => {
417
- let { base: n, minSpan: r } = E;
418
- D = {
419
- x: h(e.x, n.x, r.x),
420
- y: h(e.y, n.y, r.y)
421
- }, O = !g(D.x, n.x) || !g(D.y, n.y);
422
- let i = G();
423
- x.stage.style.cursor = O && i?.pan ? "grab" : "", t && W("zoom", oe(E, D)), K();
424
- }, gt = (e, t, n) => {
425
- let r = j;
487
+ let { base: n, minSpan: r } = w;
488
+ T = {
489
+ x: ze(e.x, n.x, r.x),
490
+ y: ze(e.y, n.y, r.y)
491
+ }, E = !Ve(T.x, n.x) || !Ve(T.y, n.y);
492
+ let i = W();
493
+ b.stage.style.cursor = E && i?.pan ? "grab" : "", t && U("zoom", le(w, T)), G();
494
+ }, Ot = (e, t, n) => {
495
+ let r = k;
426
496
  if (!r) return;
427
- let i = v(D), a = c(r, e, t);
428
- E.zoom.x && (i.x = Pe(D.x, a.x, n)), E.zoom.y && (i.y = Pe(D.y, a.y, n)), Z(i, !0);
497
+ let i = _(T), a = h(r, e, t);
498
+ w.zoom.x && (i.x = Ue(T.x, a.x, n)), w.zoom.y && (i.y = Ue(T.y, a.y, n)), Z(i, !0);
429
499
  }, Q = (e) => {
430
- let t = x.stage.getBoundingClientRect();
500
+ let t = b.stage.getBoundingClientRect();
431
501
  return {
432
502
  x: e.clientX - t.left,
433
503
  y: e.clientY - t.top
434
504
  };
435
- }, _t = (e, t) => {
436
- let n = j?.plot;
505
+ }, kt = (e, t) => {
506
+ let n = k?.plot;
437
507
  return !!n && e >= n.x && e <= n.x + n.width && t >= n.y && t <= n.y + n.height;
438
- }, vt = (e, t) => {
439
- let n = j;
508
+ }, At = (e, t) => {
509
+ let n = k;
440
510
  if (!n) return null;
441
- 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)), o = c(n, i, a);
511
+ 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)), o = h(n, i, a);
442
512
  return {
443
- x: ee(E, o.x),
444
- y: te(E, o.y)
513
+ x: re(w, o.x),
514
+ y: ie(w, o.y)
445
515
  };
446
- }, yt = (e, t, n) => {
516
+ }, jt = (e, t, n) => {
447
517
  if (n === null) {
448
- z && (z.style.display = "none");
518
+ I && (I.style.display = "none");
449
519
  return;
450
520
  }
451
- z || (z = i(y), x.hover.appendChild(z));
452
- let r = (E.series.find((e) => e.type === "scatter")?.pointSize ?? 8) + 8;
453
- x.hover.style.width = `${x.stage.clientWidth}px`, x.hover.style.height = `${x.stage.clientHeight}px`, a(z, {
521
+ I || (I = l(v), b.hover.appendChild(I));
522
+ let r = (w.series.find((e) => e.type === "scatter")?.pointSize ?? 8) + 8;
523
+ b.hover.style.width = `${b.stage.clientWidth}px`, b.hover.style.height = `${b.stage.clientHeight}px`, f(I, {
454
524
  display: "block",
455
525
  left: `${e}px`,
456
526
  top: `${t}px`,
@@ -458,45 +528,45 @@ var _ = (e) => (e[0] + e[1]) / 2, v = (e) => ({
458
528
  height: `${r}px`,
459
529
  background: n
460
530
  });
461
- }, bt = (e) => {
531
+ }, Mt = (e) => {
462
532
  let { x: t, y: n } = Q(e);
463
- if (R && R.id === e.pointerId) {
464
- if (!R.moved && Math.hypot(t - R.x, n - R.y) > 3 && (R.moved = !0, x.stage.setPointerCapture?.(e.pointerId), x.stage.style.cursor = "grabbing"), R.moved) {
465
- let e = vt(t, n);
466
- e && (yt(t, n, R.item.color), X(), W("drag", {
467
- item: R.item,
533
+ if (F && F.id === e.pointerId) {
534
+ if (!F.moved && Math.hypot(t - F.x, n - F.y) > 3 && (F.moved = !0, b.stage.setPointerCapture?.(e.pointerId), b.stage.style.cursor = "grabbing"), F.moved) {
535
+ let e = At(t, n);
536
+ e && (jt(t, n, F.item.color), X(), U("drag", {
537
+ item: F.item,
468
538
  x: e.x,
469
539
  y: e.y
470
540
  }));
471
541
  }
472
542
  return;
473
543
  }
474
- if (B && B.id === e.pointerId) {
475
- let r = t - B.x, i = n - B.y;
476
- if (!B.moved && Math.hypot(r, i) > 3) {
477
- let t = G();
478
- O && t?.pan && (B.moved = !0, x.stage.setPointerCapture?.(e.pointerId), x.stage.style.cursor = "grabbing");
544
+ if (L && L.id === e.pointerId) {
545
+ let r = t - L.x, i = n - L.y;
546
+ if (!L.moved && Math.hypot(r, i) > 3) {
547
+ let t = W();
548
+ E && t?.pan && (L.moved = !0, b.stage.setPointerCapture?.(e.pointerId), b.stage.style.cursor = "grabbing");
479
549
  }
480
- if (B.moved && j) {
481
- let e = v(B.view), r = c(j, B.x, B.y), i = c(j, t, n);
482
- E.zoom.x && (e.x = Me(B.view.x, r.x - i.x)), E.zoom.y && (e.y = Me(B.view.y, r.y - i.y)), Z(e, !0);
550
+ if (L.moved && k) {
551
+ let e = _(L.view), r = h(k, L.x, L.y), i = h(k, t, n);
552
+ w.zoom.x && (e.x = Be(L.view.x, r.x - i.x)), w.zoom.y && (e.y = Be(L.view.y, r.y - i.y)), Z(e, !0);
483
553
  return;
484
554
  }
485
555
  }
486
- let r = J(t, n);
487
- Y(r ? {
556
+ let r = q(t, n);
557
+ J(r ? {
488
558
  event: r,
489
559
  anchorX: t,
490
560
  anchorY: n,
491
561
  keyboard: !1
492
- } : null), !B && G()?.dragPoints && (x.stage.style.cursor = dt(t, n) || O && G()?.pan ? "grab" : "");
493
- }, xt = (e) => {
562
+ } : null), !L && W()?.dragPoints && (b.stage.style.cursor = wt(t, n) || E && W()?.pan ? "grab" : "");
563
+ }, Nt = (e) => {
494
564
  if (e.button !== 0) return;
495
565
  let { x: t, y: n } = Q(e);
496
- if (!_t(t, n)) return;
497
- let r = dt(t, n);
566
+ if (!kt(t, n)) return;
567
+ let r = wt(t, n);
498
568
  if (r) {
499
- R = {
569
+ F = {
500
570
  id: e.pointerId,
501
571
  item: r,
502
572
  x: t,
@@ -505,178 +575,178 @@ var _ = (e) => (e[0] + e[1]) / 2, v = (e) => ({
505
575
  };
506
576
  return;
507
577
  }
508
- B = {
578
+ L = {
509
579
  id: e.pointerId,
510
580
  x: t,
511
581
  y: n,
512
- view: v(D),
582
+ view: _(T),
513
583
  moved: !1
514
584
  };
515
- }, St = (e) => {
516
- if (R && R.id === e.pointerId) {
517
- let { item: t, moved: n } = R;
518
- R = null, x.stage.hasPointerCapture?.(e.pointerId) && x.stage.releasePointerCapture(e.pointerId), yt(0, 0, null);
585
+ }, Pt = (e) => {
586
+ if (F && F.id === e.pointerId) {
587
+ let { item: t, moved: n } = F;
588
+ F = null, b.stage.hasPointerCapture?.(e.pointerId) && b.stage.releasePointerCapture(e.pointerId), jt(0, 0, null);
519
589
  let { x: r, y: i } = Q(e);
520
- if (x.stage.style.cursor = dt(r, i) ? "grab" : "", n) {
521
- let n = vt(r, i);
522
- n && e.type !== "pointercancel" && W("drop", {
590
+ if (b.stage.style.cursor = wt(r, i) ? "grab" : "", n) {
591
+ let n = At(r, i);
592
+ n && e.type !== "pointercancel" && U("drop", {
523
593
  item: t,
524
594
  x: n.x,
525
595
  y: n.y
526
596
  }), X();
527
597
  } else {
528
- let e = J(r, i);
529
- e && W("click", e);
598
+ let e = q(r, i);
599
+ e && U("click", e);
530
600
  }
531
601
  return;
532
602
  }
533
- if (!B || B.id !== e.pointerId) return;
534
- let t = B.moved;
535
- if (B = null, x.stage.hasPointerCapture?.(e.pointerId) && x.stage.releasePointerCapture(e.pointerId), x.stage.style.cursor = O && G()?.pan ? "grab" : "", t) X();
603
+ if (!L || L.id !== e.pointerId) return;
604
+ let t = L.moved;
605
+ if (L = null, b.stage.hasPointerCapture?.(e.pointerId) && b.stage.releasePointerCapture(e.pointerId), b.stage.style.cursor = E && W()?.pan ? "grab" : "", t) X();
536
606
  else {
537
- let { x: t, y: n } = Q(e), r = J(t, n);
538
- if (r) W("click", r);
539
- else if (e.type !== "pointercancel" && _t(t, n)) {
540
- let e = vt(t, n);
541
- e && W("plotClick", e);
607
+ let { x: t, y: n } = Q(e), r = q(t, n);
608
+ if (r) U("click", r);
609
+ else if (e.type !== "pointercancel" && kt(t, n)) {
610
+ let e = At(t, n);
611
+ e && U("plotClick", e);
542
612
  }
543
613
  }
544
- }, Ct = () => {
545
- !B?.moved && !R?.moved && Y(null);
546
- }, wt = (e) => {
547
- let t = G();
548
- if (!t || t.zoom === !1 || !E.zoom.x && !E.zoom.y) return;
614
+ }, Ft = () => {
615
+ !L?.moved && !F?.moved && J(null);
616
+ }, It = (e) => {
617
+ let t = W();
618
+ if (!t || t.zoom === !1 || !w.zoom.x && !w.zoom.y) return;
549
619
  let { x: n, y: r } = Q(e);
550
- if (!_t(n, r)) return;
620
+ if (!kt(n, r)) return;
551
621
  let i = e.ctrlKey || e.metaKey;
552
- if (t.wheel === "always" || i) e.preventDefault(), gt(n, r, Ne(e.deltaY, e.deltaMode, e.ctrlKey && !e.metaKey));
553
- else if (O && E.zoom.x && j && !j.horizontal && Math.abs(e.deltaX) > Math.abs(e.deltaY)) {
622
+ if (t.wheel === "always" || i) e.preventDefault(), Ot(n, r, He(e.deltaY, e.deltaMode, e.ctrlKey && !e.metaKey));
623
+ else if (E && w.zoom.x && k && !k.horizontal && Math.abs(e.deltaX) > Math.abs(e.deltaY)) {
554
624
  e.preventDefault();
555
- let t = v(D);
556
- t.x = Me(D.x, e.deltaX * j.xPerPx * (E.x.reverse ? -1 : 1)), Z(t, !0);
625
+ let t = _(T);
626
+ t.x = Be(T.x, e.deltaX * k.xPerPx * (w.x.reverse ? -1 : 1)), Z(t, !0);
557
627
  }
558
- }, Tt = (e) => {
628
+ }, Lt = (e) => {
559
629
  let { x: t, y: n } = Q(e);
560
- G() && O && _t(t, n) && Ft();
561
- }, Et = (t) => {
562
- let n = j;
630
+ W() && E && kt(t, n) && qt();
631
+ }, Rt = (t) => {
632
+ let n = k;
563
633
  if (!n) return;
564
- let r = L?.keyboard ? L.event.items[0] : null, i = (r && E.series[r.seriesIndex]) ?? E.series.find((e) => !e.hidden && e.cols.count > 0);
634
+ let r = P?.keyboard ? P.event.items[0] : null, i = (r && w.series[r.seriesIndex]) ?? w.series.find((e) => !e.hidden && e.cols.count > 0);
565
635
  if (!i) return;
566
- let { x: a, y: o, count: c } = i.cols, l;
567
- for (r ? l = r.index + t : (l = i.cols.sorted ? e(a, c, D.x[0]) : 0, t < 0 && (l = i.cols.sorted ? e(a, c, D.x[1]) - 1 : c - 1)); l >= 0 && l < c && !Number.isFinite(o[l]);) l += t || 1;
568
- if (l < 0 || l >= c) return;
569
- let u = n;
570
- if (E.zoom.x && (a[l] < D.x[0] || a[l] > D.x[1])) {
571
- let e = D.x[1] - D.x[0];
636
+ let { x: a, y: o, count: s } = i.cols, c;
637
+ for (r ? c = r.index + t : (c = i.cols.sorted ? e(a, s, T.x[0]) : 0, t < 0 && (c = i.cols.sorted ? e(a, s, T.x[1]) - 1 : s - 1)); c >= 0 && c < s && !Number.isFinite(o[c]);) c += t || 1;
638
+ if (c < 0 || c >= s) return;
639
+ let l = n;
640
+ if (w.zoom.x && (a[c] < T.x[0] || a[c] > T.x[1])) {
641
+ let e = T.x[1] - T.x[0];
572
642
  Z({
573
- x: [a[l] - e / 2, a[l] + e / 2],
574
- y: D.y
575
- }, !0), u = j = s(n.plot, D, E.x.reverse, E.y.reverse, E.horizontal);
643
+ x: [a[c] - e / 2, a[c] + e / 2],
644
+ y: T.y
645
+ }, !0), l = k = ee(n.plot, T, w.x.reverse, w.y.reverse, w.horizontal);
576
646
  }
577
- let d = Ce(i, l, u), f = ve(i, l), p = {
578
- items: [f, ...E.tooltipMode === "axis" && i.type !== "scatter" ? (J(d.px, d.py)?.items ?? []).filter((e) => e.seriesIndex !== i.index) : []],
579
- x: f.x,
580
- xLabel: M?.formatValue(f.x) ?? String(f.x)
647
+ let u = Te(i, c, l), d = ye(i, c), f = {
648
+ items: [d, ...w.tooltipMode === "axis" && i.type !== "scatter" ? (q(u.px, u.py)?.items ?? []).filter((e) => e.seriesIndex !== i.index) : []],
649
+ x: d.x,
650
+ xLabel: $e?.formatValue(d.x) ?? String(d.x)
581
651
  };
582
- Y({
583
- event: p,
584
- anchorX: d.px,
585
- anchorY: d.py,
652
+ J({
653
+ event: f,
654
+ anchorX: u.px,
655
+ anchorY: u.py,
586
656
  keyboard: !0
587
657
  });
588
- let m = f;
589
- x.live.textContent = `${m.seriesName}: ${p.xLabel}, ${N?.formatValue(m.y) ?? m.y}${m.label ? ` (${m.label})` : ""}`;
590
- }, Dt = (e) => {
591
- if (!G()?.keyboard) return;
658
+ let p = d;
659
+ b.live.textContent = `${p.seriesName}: ${f.xLabel}, ${A?.formatValue(p.y) ?? p.y}${p.label ? ` (${p.label})` : ""}`;
660
+ }, zt = (e) => {
661
+ if (!W()?.keyboard) return;
592
662
  let t = () => {
593
- let e = j?.plot;
663
+ let e = k?.plot;
594
664
  return e ? [e.x + e.width / 2, e.y + e.height / 2] : [0, 0];
595
665
  };
596
666
  switch (e.key) {
597
667
  case "ArrowRight":
598
668
  case "ArrowLeft":
599
- if (E.horizontal) return;
600
- e.preventDefault(), Et(e.key === "ArrowRight" === E.x.reverse ? -1 : 1);
669
+ if (w.horizontal) return;
670
+ e.preventDefault(), Rt(e.key === "ArrowRight" === w.x.reverse ? -1 : 1);
601
671
  break;
602
672
  case "ArrowDown":
603
673
  case "ArrowUp":
604
- if (!E.horizontal) return;
605
- e.preventDefault(), Et(e.key === "ArrowDown" === E.x.reverse ? -1 : 1);
674
+ if (!w.horizontal) return;
675
+ e.preventDefault(), Rt(e.key === "ArrowDown" === w.x.reverse ? -1 : 1);
606
676
  break;
607
677
  case "+":
608
678
  case "=": {
609
- if (!E.zoom.x && !E.zoom.y) return;
679
+ if (!w.zoom.x && !w.zoom.y) return;
610
680
  e.preventDefault();
611
681
  let [n, r] = t();
612
- gt(n, r, .8);
682
+ Ot(n, r, .8);
613
683
  break;
614
684
  }
615
685
  case "-":
616
686
  case "_": {
617
- if (!E.zoom.x && !E.zoom.y) return;
687
+ if (!w.zoom.x && !w.zoom.y) return;
618
688
  e.preventDefault();
619
689
  let [n, r] = t();
620
- gt(n, r, 1.25);
690
+ Ot(n, r, 1.25);
621
691
  break;
622
692
  }
623
693
  case "0":
624
- e.preventDefault(), Ft();
694
+ e.preventDefault(), qt();
625
695
  break;
626
- case "Escape": L && (e.preventDefault(), Y(null));
696
+ case "Escape": P && (e.preventDefault(), J(null));
627
697
  }
628
- }, Ot = () => {
698
+ }, Bt = () => {
629
699
  let e;
630
700
  try {
631
- e = x.stage.matches(":focus-visible");
701
+ e = b.stage.matches(":focus-visible");
632
702
  } catch {
633
703
  e = !0;
634
704
  }
635
- e && (x.stage.style.boxShadow = "0 0 0 2px var(--primary-color, #4f46e5)");
636
- }, kt = () => {
637
- x.stage.style.boxShadow = "", L?.keyboard && Y(null);
638
- }, $ = x.stage;
639
- $.addEventListener("pointermove", bt), $.addEventListener("pointerdown", xt), $.addEventListener("pointerup", St), $.addEventListener("pointercancel", St), $.addEventListener("pointerleave", Ct), $.addEventListener("wheel", wt, { passive: !1 }), $.addEventListener("dblclick", Tt), $.addEventListener("keydown", Dt), $.addEventListener("focus", Ot), $.addEventListener("blur", kt);
640
- let At = typeof ResizeObserver == "function" ? new ResizeObserver(() => K()) : null;
641
- At?.observe(x.stage);
642
- let jt = () => {
643
- if (F) return;
644
- let e = ke(x.root, w.palette);
645
- Ae(T, e) && Xe++, T = e, q();
646
- }, Mt = je(jt), Nt = f(() => {
647
- !F && !w.locale && q();
648
- }), Pt = async (e = /* @__PURE__ */ new Set()) => {
649
- let t = ++Ue, n = await ue(w.renderer ?? "auto", () => r(y), (t) => {
650
- F || P?.kind !== t || (P.destroy(), P.canvas.remove(), P = null, Pt(/* @__PURE__ */ new Set([...e, t])));
705
+ e && (b.stage.style.boxShadow = "0 0 0 2px var(--primary-color, #4f46e5)");
706
+ }, Vt = () => {
707
+ b.stage.style.boxShadow = "", P?.keyboard && J(null);
708
+ }, $ = b.stage;
709
+ $.addEventListener("pointermove", Mt), $.addEventListener("pointerdown", Nt), $.addEventListener("pointerup", Pt), $.addEventListener("pointercancel", Pt), $.addEventListener("pointerleave", Ft), $.addEventListener("wheel", It, { passive: !1 }), $.addEventListener("dblclick", Lt), $.addEventListener("keydown", zt), $.addEventListener("focus", Bt), $.addEventListener("blur", Vt);
710
+ let Ht = typeof ResizeObserver == "function" ? new ResizeObserver(() => G()) : null;
711
+ Ht?.observe(b.stage);
712
+ let Ut = () => {
713
+ if (M) return;
714
+ let e = Ie(b.root, S.palette);
715
+ Le(C, e) && lt++, C = e, K();
716
+ }, Wt = Re(Ut), Gt = m(() => {
717
+ !M && !S.locale && K();
718
+ }), Kt = async (e = /* @__PURE__ */ new Set()) => {
719
+ let t = ++tt, n = await Ne(S.renderer ?? "auto", () => c(v), (t) => {
720
+ M || j?.kind !== t || (j.destroy(), j.canvas.remove(), j = null, Kt(/* @__PURE__ */ new Set([...e, t])));
651
721
  }, e);
652
- if (F || t !== Ue) {
722
+ if (M || t !== tt) {
653
723
  n?.destroy();
654
724
  return;
655
725
  }
656
- P && (P.destroy(), P.canvas.remove()), P = n, n && (x.root.dataset.renderer = n.kind, x.stage.insertBefore(n.canvas, x.foreground), A = !0, W("renderer", n.kind)), $e(n?.kind ?? null), K();
726
+ j && (j.destroy(), j.canvas.remove()), j = n, n && (b.root.dataset.renderer = n.kind, b.stage.insertBefore(n.canvas, b.lift), O = !0, U("renderer", n.kind)), ft(n?.kind ?? null), G();
657
727
  };
658
- function Ft() {
659
- O && Z(v(E.base), !0);
728
+ function qt() {
729
+ E && Z(_(w.base), !0);
660
730
  }
661
- q(), Pt();
662
- let It = de(() => w.renderer, () => void Pt());
731
+ K(), Kt();
732
+ let Jt = Pe(() => S.renderer, () => void Kt());
663
733
  return {
664
734
  setOptions(e) {
665
- if (F) return;
666
- let t = w;
667
- w = e, (e.palette ?? []).join() !== (t.palette ?? []).join() && (T = ke(x.root, e.palette), Xe++), (e.renderer ?? "auto") !== (t.renderer ?? "auto") && Pt(), q();
735
+ if (M) return;
736
+ let t = S;
737
+ S = e, (e.palette ?? []).join() !== (t.palette ?? []).join() && (C = Ie(b.root, e.palette), lt++), (e.renderer ?? "auto") !== (t.renderer ?? "auto") && Kt(), K();
668
738
  },
669
739
  resize() {
670
- K();
740
+ G();
671
741
  },
672
- resetZoom: Ft,
673
- getView: () => oe(E, D),
742
+ resetZoom: qt,
743
+ getView: () => le(w, T),
674
744
  setView(e) {
675
- F || Z(ae(E, e, D), !1);
745
+ M || Z(ce(w, e, T), !1);
676
746
  },
677
- getRenderer: () => P?.kind ?? null,
747
+ getRenderer: () => j?.kind ?? null,
678
748
  getPlotRect() {
679
- let e = ut();
749
+ let e = Ct();
680
750
  return e ? {
681
751
  x: e[0],
682
752
  y: e[1],
@@ -685,38 +755,38 @@ var _ = (e) => (e[0] + e[1]) / 2, v = (e) => ({
685
755
  } : null;
686
756
  },
687
757
  toPixel(e, t) {
688
- if (!j) return null;
689
- let n = l(j, re(E, e), ie(E, t));
758
+ if (!k) return null;
759
+ let n = g(k, oe(w, e), se(w, t));
690
760
  return {
691
- x: n.x + x.stage.offsetLeft,
692
- y: n.y + x.stage.offsetTop
761
+ x: n.x + b.stage.offsetLeft,
762
+ y: n.y + b.stage.offsetTop
693
763
  };
694
764
  },
695
765
  fromPixel(e, t) {
696
- if (!j) return null;
697
- let n = c(j, e - x.stage.offsetLeft, t - x.stage.offsetTop);
766
+ if (!k) return null;
767
+ let n = h(k, e - b.stage.offsetLeft, t - b.stage.offsetTop);
698
768
  return {
699
- x: ee(E, n.x),
700
- y: te(E, n.y)
769
+ x: re(w, n.x),
770
+ y: ie(w, n.y)
701
771
  };
702
772
  },
703
- ready: et,
704
- refreshTheme: jt,
773
+ ready: pt,
774
+ refreshTheme: Ut,
705
775
  on(e, t) {
706
- let n = C[e];
707
- return n || (n = /* @__PURE__ */ new Set(), C[e] = n), n.add(t), () => {
776
+ let n = x[e];
777
+ return n || (n = /* @__PURE__ */ new Set(), x[e] = n), n.add(t), () => {
708
778
  n.delete(t);
709
779
  };
710
780
  },
711
781
  destroy() {
712
- if (!F) {
713
- F = !0, I && (b?.cancelAnimationFrame ? b.cancelAnimationFrame(I) : clearTimeout(I)), At?.disconnect(), It(), Mt(), Nt(), $.removeEventListener("wheel", wt), P?.destroy(), P = null, x.root.remove();
714
- for (let e of Object.keys(C)) delete C[e];
782
+ if (!M) {
783
+ M = !0, N && (y?.cancelAnimationFrame ? y.cancelAnimationFrame(N) : clearTimeout(N)), Ht?.disconnect(), Jt(), Wt(), Gt(), $.removeEventListener("wheel", It), j?.destroy(), j = null, b.root.remove();
784
+ for (let e of Object.keys(x)) delete x[e];
715
785
  }
716
786
  }
717
787
  };
718
788
  };
719
789
  //#endregion
720
- export { Fe as createChart };
790
+ export { Ge as createChart };
721
791
 
722
792
  //# sourceMappingURL=chart.js.map